@charset "utf-8";
/* CSS Document */

/*-----------------------------------------------------------------------------
	PC SP 共通
-----------------------------------------------------------------------------*/
body{
	background-color: #F4FBFE;
}
header{
	background: #fff;
	border-radius: 10px; 
	position: fixed;
	z-index: 1000;
	top: 0;
	display: flex;
	align-items: center;
}
header span img{
	width: 90%;
}
.fv{
	position: relative;
}
.fv .fv_ck{
	position: absolute;
	bottom: 2%;
	left: 5%;
	width: 90%;
	z-index: 999
}
.fadein {
    opacity: 0;
    transform: translate(0,0);
    transition: all 1.5s;
}
.fadein-right{
      transform: translate(30px,0);
  }
.scrollin{
    opacity: 1 !important;
    transform: translate(0, 0) !important;
  }
.staff{
      background: #5C8CC9;
}
.benefits{
      color: #525D64;
}
/*-----------------------------------------------------------------------------
	PC
-----------------------------------------------------------------------------*/


@media screen and (min-width:768px){
	a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
}
	#wrap{
		overflow: hidden;
		z-index: 1001;
		max-width: 1920px;
		width: 100%;
		margin: 0 auto;
	}
	.pc{
		display: block;
	}
	.sp{
		display: none;
	}
	a:hover{
		opacity: 0.5;
	}
	header{
		max-width: 1865px;
		width: 95%;
		left: 0;
		right: 0;
		margin: 20px auto 0;
		justify-content: space-between;
		padding: 1% 0;

	}
	header span{
		padding-left: 3%;
    }
	header span img{
		width: 160px;
	}
    header a{
		padding-right: 3%;
		width: 160px;
	}
	.swiper2{
		width: 100%;
        overflow: hidden;
	}
	.fv{
		position: relative;
		background: #000;
		z-index: 1;
	}
    .fv::before,
    .fv::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      pointer-events: none;
    }

    .fv::before {
      top: 0;
      width: 100%;
      height: auto;
      aspect-ratio: 1920/500;
      background: url(../img/fv_bg_pc01.webp) no-repeat top center;
      background-size: cover; /* or cover */
    }

    .fv::after {
      bottom: 0;
      width: 100%;
      height: auto;
      aspect-ratio: 1920/570;
      background: url(../img/fv_bg_pc02.webp) no-repeat bottom center;
      background-size: cover;
    }
	.about{
		background: linear-gradient(to bottom,#5c8cc9 80%,#F4FBFE 100%);
		position: relative;
		color: #fff;
		padding: 150px 0;
		z-index: 999;
	}
	.about .bg_logo{
		position: absolute;
		width: 260px;
		left: -5%;
		top: -23rem;
		z-index: -1;
	}
	.about .contents{
		position: relative;
	}
	.about h2{
		border-bottom: 1px solid #fff;
		padding-bottom: 20px;
	}
	.about h2 span{
		max-width: 1200px;
		display: block;
		margin: 0 auto;
		width: 90%;
	}
	.about h2 img{
		width: 25%;
	}
	.about .adout-right{
		width: 45%;
		position: absolute;
		right: 0;
		bottom: -5%;
	}
	.about ul{
		position: relative;
		margin: 0 auto;
	}
	.about  p{
		color: #fff;
		font-size: 22px;
		line-height: 1.4;
		width: 50%;
		margin-top: 20px;
		font-family: "VentiCF-Medium";
	}
	.contents{
		max-width: 1200px;
		width: 90%;
		margin: 0 auto;
	}
	.signature .contents,.staff .contents{
		position: relative;
	}
	.signature,.staff,.benefits,.follow, .access{
		position: relative;
		z-index: 999;
	}
	.follow .bg_logo{
		position: absolute;
		left: 32%;
		top: 15%;
		z-index: -1;
		width: 260px;
	}
	.signature .bg_logo{
		position: absolute;
		left: 24%;
		top: -24rem;
		z-index: -1;
		width: 260px;
	}
	.staff .bg_logo{
		position: absolute;
		left: 22%;
		top: -27rem;
		z-index: -1;
		width: 260px;
	}
	.benefits .bg_logo{
		position: absolute;
		left: 22%;
		top: 9rem;
		z-index: -1;
		width: 260px;
	}
	.access .bg_logo{
		position: absolute;
		left: 35%;
		top: 6%;
		z-index: -1;
		width: 260px;
	}
	.signature{
		margin-bottom: 110px;
	}
	.signature h2{
		margin-bottom: 60px;
	}
	.signature ul{
		display: flex;
		justify-content:space-between;
		flex-wrap: wrap;
		grid-row-gap: 30px;
	}
	.signature li{
		width: 49%;
	}
	.staff{
		color: #fff;
		text-align: center;
		font-size: 25px;
		padding: 130px 0 60px;
		
	}
	.staff ul{
		display: flex;
		justify-content:space-between;
		column-gap: 30px;
	}
	.staff p{
		margin: 30px 0;
		font-family: "VentiCF-Medium";
	}
	.staff .swiper{
		display: none;
	}
	.benefits{
		padding: 210px 0 110px;
		text-align: center;
		line-height: 2;
		font-size: 24px;
	}
	.benefits h3{
		font-style: italic;
		margin-top: 40px;
	}

	.benefits p{
        font-family: "VentiCF-Medium";
		margin-bottom: 60px;
		line-height: 1.8;
	}
	.benefits p .underline{
		font-family: "VentiCF-bold";
		font-style: italic;
	}
	.underline{
		text-decoration: underline;
	}
	.howto{
		position: relative;
	}
    .howto a{
        position: absolute;
        bottom: 12%;
        left: 0;
        right: 0;
        width: 25%;
        margin: auto;
    }
	.follow{
		padding: 210px 0 0;
	}
	.follow h2{
		margin-bottom: 80px;
		position: relative;
	}
	.follow h2 a{
		position: absolute;
		right: 5%;
		top: -20px;
		width: 50px;
	}
	.access{
		padding: 180px 0 110px;
		font-size: 24px;
	}
	.access h2{
		margin-bottom: 80px;
	}
	.access .map{
		margin: 0 auto;
	}
	.access iframe{
		width: 100%;
	}
	.address_box{
		display: flex;
		justify-content:space-between;
		column-gap: 200px;
		font-size: 25px;
		margin-top: 40px;
	}
	.address h3{
		color: #5C8CC9;
		font-size: 48px;
		line-height: 0.8;
		margin-bottom: 65px;
	}
	.address span{
		font-size: 24px;
	}
	
	.address p{
		color: #85959F;
		line-height: 1.5;
		margin: 0 auto 5%;
		font-family: "VentiCF-Medium";
	}
	.address img{
		width: 250px!important;
	}
	.information{
		color: #85959F;
	}
    .phone h3, .mail h3, .hours h3{
		color: #4874B2;
		font-size: 22px;
		display: block;
        position: relative;
	}
	.phone h3{
		padding: 0 16px 10px 20%;
	}
	.mail h3{
		padding: 0 16px 10px 17%;
	}
	.hours h3{
		padding: 0 16px 10px 13%;
	}
	.phone h3::before{
		background-image: url("../img/icon02.webp");
	}
	.mail h3::before{
		background-image: url("../img/icon03.webp");
	}
	.hours h3::before{
		background-image: url("../img/icon04.webp");
	}
	.phone h3::before,.mail h3::before, .hours h3::before{
		content: "";
		display: block;
		transform: translateY(-50%);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
		width: 20px;
		height: 20px;
		position: absolute;
        left: 0;
		top: 30%;
	}
	.phone p{
		font-size: 30px;
		margin: 0 auto 5%;
		font-family: "VentiCF-Medium";
	}
	.phone a,.mail a{
		color: #85959F;
	}
	.mail p{
		margin: 0 auto 5%;
		font-family: "VentiCF-Medium";
	}
	.hours p{
		margin: 0 auto;
		font-family: "VentiCF-Medium";
	}
	.information{
		display: flex;
		justify-content:space-between;
		flex-wrap:wrap;
	}
	footer{
		background: #5C8CC9;
		color: #fff;
		font-size: 22px;
		font-family: "VentiCF-Medium";
		padding: 50px 0 20px;
	}
	footer div{
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
	}
	footer a{
		color: #fff;
	}
	footer ul{
		line-height: 2.4;
		margin-bottom: 20px;
	}
	footer img{
		width: 440px;
	}
	footer p{
		text-align: right;
		font-size: 16px;
	}
	footer div{
		max-width: 1200px;
		width: 90%;
	}
}
	@media screen and (min-width:1200px){
    .about .bg_logo{
		left: -10%;
    }
    .about .adout-right{
		bottom: -10rem;
	}
	.about h2 img{
		width: 360px;
	}	
    .staff .bg_logo{
		left: 27%;
		top: -29rem;
	}
    .benefits .bg_logo{
		left: 27%;
    }
    .signature .bg_logo{
		left: 26%;
    }
    .follow h2 a{
		right: 5%;
		top: -15px;
		width: 67px;
	}
    .follow .bg_logo{
        left: 35%;
    }
    .access .bg_logo{
        left: 37%;
    }
    .howto a{
        position: absolute;
        bottom: 15%;
        left: 0;
        right: 0;
        width: 375px;
        margin: auto;
    }
}
/*-----------------------------------------------------------------------------
	SP
-----------------------------------------------------------------------------*/
@media screen and (max-width:767px){
	body{
		font-weight: 300;
	}

	#wrap{
		width: 100%;
		overflow: hidden;
	}
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	
	header{
		margin: 2% 5% 0;
		padding: 2% 5%;
	}
	.access iframe{
		max-width: 90%;
		height: 30rem;
	}
	.access .map{
		text-align: center;
	}
	.about{
		background: linear-gradient(to bottom,#5c8cc9 70%,#F4FBFE 100%);
		background-repeat: no-repeat;
		background-position: bottom;
		position: relative;
		padding-bottom: 85vw;
		font-size: 5vw;
		font-family: "VentiCF-Medium";
		z-index: 999;
	}
	.about .bg_logo{
		position: absolute;
		right: 0;
		top: 30%;
		z-index: -1;
	}
	.fv span {
	position: absolute;
	top: 0;
}
  .fv .fv_ck{
      position: absolute;
      bottom: 2%;
      left: 5%;
      width: 90%;
  }
	.fv video{
		width: 100%;
	}
	.about h2{
		padding: 65px 0 30px;
	}
	.about p{
		color: #fff;
		text-align: center;
		padding: 0 5%;
		margin-bottom: 30px;
	}
	.about li:first-child{
		width: 40%;
		position: absolute;
		left: 10%;
		bottom: 10%;
	}
	.about li:nth-child(2){
		width: 30%;
		position: absolute;
		right: 10%;
		bottom: 4%;
	}
	.signature{
		position: relative;
		padding: 15% 0 5%;
		z-index: 999;
	}
	.signature .bg_logo, .staff .bg_logo, .benefits .bg_logo, .follow .bg_logo, .access .bg_logo{
		position: absolute;
		left: 0;
		top: 0;
		z-index: -1;
	}
	.signature h2{
		margin-bottom: 5%;
	}
	.signature li{
		width: 90%;
		margin: 0 auto 5%;
	}
	.staff{
		position: relative;
		padding: 30% 0 15%;
		z-index: 999;
		color: #fff;
		font-size: 5vw;
		font-family: "VentiCF-Medium";
		text-align: center;
	}
	.staff p{
		padding: 5% 0;
	}
	.swiper{
		width: 90%;
		margin: 0 auto;
	}
	/* 幅・高さを指定 */
    .swiper-button-prev,
    .swiper-button-next {
      height: 17vw!important;
      width: 20vw!important;
    }

    /* 矢印を消す、画像に変更 */
    .swiper-button-prev:after,
    .swiper-button-next:after {
      content: "";
      background-repeat: no-repeat;
      background-size: contain;
      height: 45px;
      width: 45px;
      margin: auto;
    }
	.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after,.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after{
		content: ""!important;
	}
    /* 前に戻る画像パス */
    .swiper-button-prev:after {
      background-image: url("../img/icon06.webp");
    }
    /* 次に進む画像パス */
    .swiper-button-next:after {
      background-image: url("../img/icon05.webp");
    }
	.swiper-pagination-bullet {
		background: #fff!important;
        height: 10px!important;
        width: 10px!important;
      }
	.swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction{
		bottom: 2%!important;
	}
	.swiper2{
		width: 100%;
        overflow: hidden;
	}
	.benefits{
		background-repeat: no-repeat;
		background-position: top;
		position: relative;
		font-size: 5vw;
		padding: 15% 0 15%;
		z-index: 999;
	}
	.benefits h3{
		padding: 15% 0 5%;
		font-style: italic;
	}
	.benefits h3,.benefits p{
		width: 90%;
		margin: 0 auto;
	}
	.benefits p{
        font-family: "VentiCF-Medium";
		margin-bottom: 8%;
	}
	.benefits p .underline{
		font-family: "VentiCF-bold";
		font-style: italic;
	}
	.benefits div{
		width: 90%;
		margin: 0 auto;
	}
	.underline{
		text-decoration: underline;
	}
	.howto{
		position: relative;
	}
	.howto a{
		position: absolute;
		bottom: 20vw;
		left: 0;
		right: 0;
		width: 80%;
		margin: auto;
	}
	.follow{
		position: relative;
		padding: 20% 0 0;
	}
	.follow h2{
		margin-bottom: 5%;
	}
	.follow h2 a{
		position: absolute;
		right: 5%;
		top: 27%;
		width: 13%;
	}
	.follow .swiper-slide{
		margin-right: 3%;
	}
	.access{
		position: relative;
		z-index: 999;
		padding: 20% 0 0;
		color: #85959F;
		font-size: 5vw;
	}
	.access h2{
		margin-bottom: 5%;
		
	}
	.address,.phone,.mail{
		border-bottom: 1px solid #5C8CC9;
		
	}
	.address h3{
		color: #5C8CC9;
		font-size: 10vw;
		line-height: 0.8;
		margin: 10% auto;
		width: 90%;
	}
	.address span{
		font-size: 5vw;
	}
	.address p{
		color: #85959F;
		line-height: 1.5;
		width: 90%;
		margin: 0 auto 5%;
		font-family: "VentiCF-Medium";
	}
	.address img{
		width: 60%;
		margin-left: 5%;
		margin-bottom: 5%;
	}
	.phone h3, .mail h3, .phone h3, .hours h3{
		color: #4874B2;
		font-size: 5vw;
		display: block;
        padding: 16px 16px 16px 12%;
        position: relative;
	}
	.phone h3::before{
		background-image: url("../img/icon02.webp");
	}
	.mail h3::before{
		background-image: url("../img/icon03.webp");
	}
	.hours h3::before{
		background-image: url("../img/icon04.webp");
	}
	.phone h3::before,.mail h3::before, .hours h3::before{
		content: "";
		display: block;
		transform: translateY(-50%);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
		width: 4vw;
		height: 4vw;
		position: absolute;
        left: 5%;
		top: 45%;
	}
	.phone p{
		font-size: 10vw;
		width: 90%;
		margin: 0 auto 5%;
		font-family: "VentiCF-Medium";
	}
	.phone a,.mail a{
		color: #85959F;
	}
	.mail p{
		font-size: 5vw;
		width: 90%;
		margin: 0 auto 5%;
		font-family: "VentiCF-Medium";
	}
	.hours p{
		width: 90%;
		margin: 0 auto 10%;
		font-family: "VentiCF-Medium";
	}
	footer{
		background: #5C8CC9;
		color: #fff;
		padding-top: 5%;
		margin: 0 auto;
		
	}
	footer div{
		width: 90%;
		margin: 0 auto;
	}
	footer a{
		color: #fff;
		font-family: "VentiCF-Medium";
		line-height: 3;
	}
	footer p{
		text-align: right;
		padding: 5% 0 2%;
	}
/*-------------------------
セクションタイトル
-------------------------*/

.section_heading .eng{
	color: #5c8cc9;
	text-align: center;
	font-weight: bold;
	font-size: 5.33vw;


}
.section_heading .jp{
	font-weight: bold;
	text-align: center;
	font-size: 6.6666667vw;
	margin-top: 3.6vw;
	letter-spacing: -.05em;

}

.section_heading .eng span{
	font-weight: bold;
}

.section_heading .jp span{
	font-weight: bold;
}
}


/*-----------------------------------------------------------------------------
	SP
-----------------------------------------------------------------------------*/
@media screen and (max-width:1080px) and (min-width:768px) {
    .section_heading .jp {
        font-size: 3.8rem;
        margin-top: 1.0624vw;
    }

    .section_heading .eng {
        font-size: 3.5rem;
}
}




















