body{
    font-family:
        "Montserrat",
        "Noto Sans JP",
        "Hiragino Kaku Gothic ProN",
        "Yu Gothic",
        "Meiryo",
        sans-serif;
	color: #333333;
}

.fc-gray{color:gray;}
.fc-red{color:red;}
.fs-10{font-size: 10px!important;}
.fs-12{font-size: 12px!important;}
.fs-14{font-size: 14px!important;}
.fs-16{font-size: 16px!important;}
.fs-18{font-size: 18px!important;}
.fs-20{font-size: 20px!important;}
.fs-22{font-size: 22px!important;}
.fs-24{font-size: 24px!important;}
.fs-26{font-size: 26px!important;}
.fs-28{font-size: 28px!important;}
.fs-30{font-size: 30px!important;}
.pl-5per{padding-left:5%}

.b-perple{
	border: 2px solid #9A04F1
}

.img-center_box{  display: flex;
  justify-content: center;
  align-items: center;}

.imgw-max80{max-width: 80px;}
.imgw-max100{max-width: 100px;}
.imgw-max150{max-width: 150px;}
.imgw-max200{max-width: 200px;}
.imgw-max250{max-width: 250px;}


.right-block{
	display: block;margin-right: auto;
}
.left-block{
	display: block;margin-left: auto;
}
.center-block{
	display: block;margin-right: auto;margin-left: auto;
}
.box-shadow{background-color: #2b0742; box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.4);}
.text-shadow{text-shadow: 1px 2px 3px #808080;font-size: 20px;}

/*
common
*/
.w-1{width:1%;}.w-2{width:2%;}.w-3{width:3%;}.w-4{width:4%;}.w-5{width:5%;}.w-6{width:6%;}.w-7{width:7%;}.w-8{width:8%;}.w-9{width:9%;}.w-10{width:10%;}.w-11{width:11%;}.w-12{width:12%;}.w-13{width:13%;}.w-14{width:14%;}.w-15{width:15%;}.w-16{width:16%;}.w-17{width:17%;}.w-18{width:18%;}.w-19{width:19%;}.w-20{width:20%;}.w-21{width:21%;}.w-22{width:22%;}.w-23{width:23%;}.w-24{width:24%;}.w-25{width:25%;}.w-26{width:26%;}.w-27{width:27%;}.w-28{width:28%;}.w-29{width:29%;}.w-30{width:30%;}.w-31{width:31%;}.w-32{width:32%;}.w-33{width:33%;}.w-34{width:34%;}.w-35{width:35%;}.w-36{width:36%;}.w-37{width:37%;}.w-38{width:38%;}.w-39{width:39%;}.w-40{width:40%;}.w-41{width:41%;}.w-42{width:42%;}.w-43{width:43%;}.w-44{width:44%;}.w-45{width:45%;}.w-46{width:46%;}.w-47{width:47%;}.w-48{width:48%;}.w-49{width:49%;}.w-50{width:50%;}.w-51{width:51%;}.w-52{width:52%;}.w-53{width:53%;}.w-54{width:54%;}.w-55{width:55%;}.w-56{width:56%;}.w-57{width:57%;}.w-58{width:58%;}.w-59{width:59%;}.w-60{width:60%;}.w-61{width:61%;}.w-62{width:62%;}.w-63{width:63%;}.w-64{width:64%;}.w-65{width:65%;}.w-66{width:66%;}.w-67{width:67%;}.w-68{width:68%;}.w-69{width:69%;}.w-70{width:70%;}.w-71{width:71%;}.w-72{width:72%;}.w-73{width:73%;}.w-74{width:74%;}.w-75{width:75%;}.w-76{width:76%;}.w-77{width:77%;}.w-78{width:78%;}.w-79{width:79%;}.w-80{width:80%;}.w-81{width:81%;}.w-82{width:82%;}.w-83{width:83%;}.w-84{width:84%;}.w-85{width:85%;}.w-86{width:86%;}.w-87{width:87%;}.w-88{width:88%;}.w-89{width:89%;}.w-90{width:90%;}.w-91{width:91%;}.w-92{width:92%;}.w-93{width:93%;}.w-94{width:94%;}.w-95{width:95%;}.w-96{width:96%;}.w-97{width:97%;}.w-98{width:98%;}.w-99{width:99%;}.w-100{width:100%;}
.mb-6{margin-bottom:6rem !important;}.mb-7{margin-bottom:7rem !important;}.mb-8{margin-bottom:8rem !important;}.mb-9{margin-bottom:9rem !important;}.mb-10{margin-bottom:10rem !important;}




/*ナビ*/
   /* PCナビの英語表記 */
    .nav-link .en {
        color: #555;
        font-size: 0.8rem;
        letter-spacing: 0.05em;
    }



    .overlay-nav {
        list-style: none;
        padding: 0;
    }

    .overlay-nav li {
        margin: 4px 0;
    }

    .overlay-nav a {
        font-size: 1.5rem;
        color: #333;
        text-decoration: none;
    }

    .overlay-nav a:hover {
        color: #00a0e9;
    }




/* ▼ フルスクリーンメニュー ▼ */
#overlayMenu {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100%;
    background: rgba(255, 255, 255, 0.96);
    z-index: 9999;
    display: none;              /* 初期は非表示 */
    opacity: 0;                 /* フェード用 */
    transition: opacity 0.5s;   /* ← ゆっくり表示 */
    align-items: center;
    justify-content: center;
    flex-direction: column;
}

/* 表示状態 */
#overlayMenu.show {
    display: flex;
    opacity: 1;
}

/* 閉じるボタン */
.closeBtn {
    position: absolute;
    top: 30px;
    right: 40px;
    font-size: 3rem;
    background: none;
    border: none;
    color: #333;
}



/* ▼ 人気のサービス セクション背景 */
.popular-service {
    background: #4a4a4a; /* ダークグレー */
}


	
.sec3-font-y{
	color:yellow
}
	

/* ▼ 人気のサービス セクション背景 */
.bg-main{
	background-color:#29abe2;
}

.text-main{
	color:#29abe2;
}


/* 上部の小さなリード文 */
.intro-lead-top {
	font-size: 0.95rem;
	margin-bottom: 0.5rem;
}

/* 大きいキャッチコピー */
.intro-title {
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1.4;
	margin-bottom: 0.5rem;
}

/* 「IT」部分だけ色を変える */
.intro-it {
	color: #29abe2;   /* お好みでブランドカラーに変更OK */
}

/* キャッチコピー下の短い一文 */
.intro-lead-bottom {
	font-size: 0.95rem;
}

/* 説明文 */
.intro-text p {
	font-size: 0.95rem;
	line-height: 1.9;
	margin-bottom: 0;
}

/* 余白感を少し広めに */
.intro-section {
	padding-top: 4rem;
	padding-bottom: 4rem;
}



/* スライダー　見た目をちょい整える（任意） */
.mySwiper { padding-bottom: 35px; } /* 粒粒の分だけ下に余白 */

.mySwiper .swiper-slide {
  text-align: center;
}

/* 粒粒の位置調整（任意） */
.mySwiper .swiper-pagination {
  bottom: 0;
}

/* 粒粒サイズ調整（任意） */
.mySwiper .swiper-pagination-bullet {
	border-radius: 0px;
  width: 10px;
  height: 10px;
  opacity: .35;
}
.mySwiper .swiper-pagination-bullet-active {
  opacity: 1;
}
	
.mySwiper .swiper-pagination-bullet {
  width: 15px;
  height: 15px;
  margin: -14px 10px !important;
  background: white;
}

.mySwiper .swiper-pagination-bullet-active {
  background-color:#29abe2;
}	





.nav-tabs.nav-justified>li>a {
    border-bottom: 0px solid rgba(221, 221, 221, 0);
    border-radius: 0;
	color:#000;
}

.nav-rakutekun{
	display:none;
	width:50px;
}

.nav>li>a {
    position: relative;
    display: block;
    padding: 10px 40px 10px 15px !important;
}
.nav>li.no-space>a {
    position: relative;
    display: block;
    padding: 10px 10px 10px 15px !important;
}
@media (max-width: 1280px) {
.nav>li>a {
    position: relative;
    display: block;
    padding: 10px 20px 10px 5px !important;
}
}
@media (max-width: 1191px) {
.nav>li>a {
    position: relative;
    display: block;
    padding: 10px 5px 10px 5px !important;
}
.nav>li.no-space>a {
    position: relative;
    display: block;
    padding: 10px 0px 10px 0px !important;
}

}


.navbar-default {
    background-color: rgba(248, 248, 248, 0);
    border-color: rgba(231, 231, 231, 0);
}

.nav-rakutekun_this{
    position: absolute;
    z-index: 3;
    display: inline;
}

.nav-tabs {
    border-bottom: 1px solid rgba(221, 221, 221, 0);
}

.nav:hover img.nav-rakutekun_this{
	display:none;
}

.nav>li>a:hover img.nav-rakutekun{
	display: inline;
}

.nav-rakutekun_this{
	display: inline;
	width:50px;
}
.nav>li>a:hover img.nav-rakutekun{
	display: inline;
}

.nav-rakutekun-non{
	display:inline;
	width:50px;
}

.rakutekun-size{
	display:none;
	right:50px;
}

.nav>li>a:hover img.nav-rakutekun-non{
	display: none;
}



.nav>li>a:focus, .nav>li>a:hover {
    text-decoration: none;
    background-color: rgba(238, 238, 238, 0);
}


.nav-tabs>li>a {
    margin-right: 2px;
    line-height: 1.42857143;
    border: 0px solid transparent;
    border-radius: 4px 4px 0 0;
	text-decoration:none;
	color:#000000;
}

.content_box_nav{
}
.load {
    -webkit-animation: spin 3.5s linear infinite;
    -moz-animation: spin 3.5s linear infinite;
    -ms-animation: spin 3.5s linear infinite;
    -o-animation: spin 3.5s linear infinite;
    animation: spin 3.5s linear infinite;
}

@-webkit-keyframes spin {
	0% {-webkit-transform: rotate(0deg);}
	100% {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes spin {
	0% {-moz-transform: rotate(0deg);}
	100% {-moz-transform: rotate(360deg);}
}
@-ms-keyframes spin {
	0% {-ms-transform: rotate(0deg);}
	100% {-ms-transform: rotate(360deg);}
}
@-o-keyframes spin {
	0% {-o-transform: rotate(0deg);}
	100% {-o-transform: rotate(360deg);}
}
@keyframes spin {
	0% {transform: rotate(0deg);}
	100% {transform: rotate(360deg);}
}

/* Bob */
@-webkit-keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }

  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@keyframes hvr-bob {
  0% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }

  50% {
    -webkit-transform: translateY(-4px);
    transform: translateY(-4px);
  }

  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@-webkit-keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

@keyframes hvr-bob-float {
  100% {
    -webkit-transform: translateY(-8px);
    transform: translateY(-8px);
  }
}

.hvr-bob {
  display: none;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
}
.hvr-bob:hover, .hvr-bob:focus, .hvr-bob:active {
display:inline;
  -webkit-animation-name: hvr-bob-float, hvr-bob;
  animation-name: hvr-bob-float, hvr-bob;
  -webkit-animation-duration: .3s, 1.5s;
  animation-duration: .3s, 1.5s;
  -webkit-animation-delay: 0s, .3s;
  animation-delay: 0s, .3s;
  -webkit-animation-timing-function: ease-out, ease-in-out;
  animation-timing-function: ease-out, ease-in-out;
  -webkit-animation-iteration-count: 1, infinite;
  animation-iteration-count: 1, infinite;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  -webkit-animation-direction: normal, alternate;
  animation-direction: normal, alternate;
}


.page-fixed{
    display: none;
    right: 10px;
    position: fixed;
    z-index: 1000;
    bottom: 10px;
}

.pointer-cursor{
	cursor:pointer;
}

/* Float Shadow */
.hvr-float-shadow {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  box-shadow: 0 0 1px rgba(0, 0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform;
  transition-property: transform;
}
.hvr-float-shadow:before {
  pointer-events: none;
  position: absolute;
  z-index: -1;
  content: '';
  top: 100%;
  left: 5%;
  height: 10px;
  width: 90%;
  opacity: 0;
  background: -webkit-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 80%);
  /* W3C */
  -webkit-transition-duration: 0.3s;
  transition-duration: 0.3s;
  -webkit-transition-property: transform, opacity;
  transition-property: transform, opacity;
}
.hvr-float-shadow:hover, .hvr-float-shadow:focus, .hvr-float-shadow:active {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
  /* move the element up by 5px */
}
.hvr-float-shadow:hover:before, .hvr-float-shadow:focus:before, .hvr-float-shadow:active:before {
  opacity: 1;
  -webkit-transform: translateY(5px);
  transform: translateY(5px);
  /* move the element down by 5px (it will stay in place because it's attached to the element that also moves up 5px) */
}

.dropdown-menu {
	width:100%;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 160px;
    padding: 5px 0;
    margin: 0px 0 0;
    font-size: 14px;
    text-align: left;
    list-style: none;
    background-color: #fff;
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
    border: 0px solid #ccc;
    border: 0px solid rgba(0,0,0,.15);
    border-radius: 0px;
    -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
    box-shadow: 0 6px 12px rgba(0,0,0,.175);
}

.dropdown-menu>li>a {
    display: block;
    padding: 10px 20px;
    clear: both;
    font-weight: 400;
    line-height: 1.42857143;
    color: #333;
    border-top: 1px solid #ccc;
    white-space: nowrap;
}



.rakutekun-jump{
	width:100px;
}

.center-block{
	display:block;
	margin-left:auto;
	margin-right:auto;
}

.smaho-img{
	width:250px;
}

.smaho-navi-img{
	width:35px;
	position:absolute;
	top:5%;
	right:10px;
}

.btn-danger {
    color: #fff;
    background-color: #EC8682;
    border-color: #FF6C65;
}

@media (max-width: 450px) {
.rakutekun-jump{
	width:80px;
}
.rakutekun-size{
	display:none;
	right:20px;
}
.smaho-img{
	width:170px;
}

}

.rakutekun{
	max-width: 150px;
}


	
.business-links {
  display: flex;
  gap: 40px;
  justify-content: center;
  margin: 40px 0;
}

.business-card {
  width: 100%;
  max-width: 1280px;
  min-width: 350px;
  border: 2px solid #3aa9e3;
  border-radius: 14px;
  text-align: center;
  padding: 30px 20px;
  background: #fff;
}

.business-icon {
  max-width: 320px;
  height: auto;
  margin-bottom: 20px;
}

.business-title {
  font-size: 20px;
  color: #3aa9e3;
  margin-bottom: 20px;
}

.business-button {
  display: inline-block;
  padding: 12px 48px;
  background: #2aa7df;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.25em;
  text-decoration: none;
  border-radius: 999px;
  transition: opacity 0.2s;
}

.business-button:hover {
  opacity: 0.85;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
  .business-links {
    flex-direction: column;
    align-items: center;
  }
}
















