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

.pc {
	display: none !important;
}

body {
-webkit-text-size-adjust: 100%;
}

p, li, dt, dd {
	/*Androidブラウザフォントバグ対策*/
	 max-height: 999999px;
}

/*commonスタイル*/

img{
    width: 100%;
    height: auto;
}

.flexBet{
	display: flex;
	justify-content: space-between;
}
.flexStart{
	display: flex;
	justify-content: flex-start;
}

.shadow1{
	box-shadow: 0 0 4px rgba(0,0,0,0.25);
}
.shadow2{
	box-shadow: 0 4px 4px rgba(0,0,0,0.25);
}
.shadow3{
	box-shadow: 3px 3px 0px #3BC2A7;
}
.shadow4{
	box-shadow: 0 25px 50px rgba(52,54,63,0.18);
}


/*MV*/
main{
	padding-top: 80px;
}
#mvWrap{ 
	position: relative;
}
.topMvWrap{
	width: 95%;
	margin: 0 auto;
}
#mv{
	position: relative;
}
.topMv{
	height: 519px;
	border-radius: 0 0 16px 16px;
	overflow: hidden;
}
.mvBgVideo {
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: brightness(0.5);
}
.mvCopy1{
	position: absolute;
	top: 332px;
	left: 10px;
	display: block;
	width: 328px;
}

.mvTxtEn {
	position: absolute;
	bottom: 0px;
  display: flex;
  width: max-content;
  animation: loopText 40s linear infinite;
}

.mvTxtEn img {
  display: block;
  width: auto;
  max-width: none;
  flex-shrink: 0;
	margin-right: 30px;
	height: 50px;
}

@keyframes loopText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

/*TOP*/

#topRenew{
	position: relative;
}
.topRenewW{
	position: relative;
	padding: 60px 0 0;
}
.topReW{
	border-radius: 8px;
	overflow: hidden;
	background: #3BC2A7;
	color: #fff;
	padding: 20px;
	box-sizing: border-box;
}
.topReTtl{
	margin-bottom: 20px;
	text-align: center;
}
.topReTxt{
	text-align: center;
}
.topReTxt span{
	color: #111B2A;
}

#topSec01{
	position: relative;
}
#topSec01:before{
	content: "";
	background: url("../img/top01_asset1.png") no-repeat;
	background-size: contain;
	width: 139px;
	height: 139px;
	display: block;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-214px);
	z-index: -1;
}
#topSec01:after{
	content: "";
	background: url("../img/top01_asset_2.png") no-repeat;
	background-size: contain;
	width: 519px;
	height: 521px;
	display: block;
	position: absolute;
	top: -129px;
	left: 50%;
	transform: translateX(-123px);
	z-index: -1;
}
.topSec01W{
	padding: 110px 0 197px;
	position: relative;
	box-sizing: border-box;
}
.topSec01W:after{
	content: "";
	background: url("../img/sp/top01_asset3.png") no-repeat;
	background-size: contain;
	width: 340px;
	height: 453px;
	display: block;
	position: absolute;
	bottom: -110px;
	right: -110px;
	z-index: -1;
}
.top01TtlW{
	position: relative;
	z-index: 1;
}

.top01Ttl{
	position: absolute;
	writing-mode: vertical-rl;
	left: 10px;
	top: 107px;
	font-size: 2rem;
	font-weight: bold;
	letter-spacing: 0.12em;
}

.top01Ttl .bgGreen{
	background: #3BC2A7;
	padding: 10px 0;
	white-space: nowrap;
	color: #fff;
	line-height: 4rem;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.under{
	position: relative;
	top: 35px;
}

.top01ImgW{
	position: relative;
}

.top01Img1{
	position: relative;
	width: 170px;
	left: 0;
}
.top01Img2{
	position: absolute;
	width: 142px;
	display: block;
	top: 36px;
	right: 0;
}
.top01Img3{
	position: absolute;
	width: 99px;
	display: block;
	top: 152px;
	right: 97px;
}
.top01Img4{
	position: absolute;
	width: 82px;
	display: block;
	top: 210px;
	right: 0;
}
#topSec02{
	position: relative;
}
#topSec02:before{
	content: "";
	background: url("../img/top01_asset3.png") no-repeat;
	background-size: contain;
	width: 60px;
	height: 60px;
	display: block;
	position: absolute;
	top: 0px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
#topSec02:after{
	content: "";
	background: url("../img/top02_asset2.png") no-repeat;
	background-size: contain;
	width: 897px;
	height: 897px;
	display: block;
	position: absolute;
	top: -135px;
	left: 50%;
	transform: translateX(217px);
	z-index: -1;
}
.topSec02W{
	padding: 60px 0 56px;
	position: relative;
	box-sizing: border-box;
}
.top02TtlW{
	margin-bottom: 25px;
}

.top02Ttl{

}

.top02TtlS{

}

.top02Txt{
	margin-bottom: 30px;
}

.top02Name{
	font-size: 1.8rem;
	font-weight: bold;
}
.top02Img{
	width: 100%;
	border-radius: 8px;
	overflow: hidden;
	margin-top: 40px;
}

#topSec03{
	position: relative;
}
.topSec03W{
	padding: 60px 0 80px;
	position: relative;
	box-sizing: border-box;
}
.top03W{
	display: block;
}

.top03Item{
	box-sizing: border-box;
	padding: 8px;
	border-radius: 8px;
	background: #fff;
	border: 1px solid #DADADA;
	position: relative;
	margin-bottom: 40px;
}
.top03Item:last-child{
	margin-bottom: 0px;
}

.top03No{
	position: absolute;
	display: inline-block;
	width: 71px;
	height: 62px;
	background: url("../img/no_label.svg") no-repeat;
	background-size: contain;
	top: -7px;
	left: 18px;
	text-align: center;
	color: #fff;
	font-size: 4rem;
	font-weight: 700;
	box-sizing: border-box;
	padding-top: 5px;
}

.top03Img{
	margin-bottom: 35px;
}

.top03TxtW{
	text-align: center;
	padding-bottom: 24px;
}
.top03Ttl2{

}

.icon1:before{
	background: url("../img/icon_val_01.svg") no-repeat;
	background-size: contain;
}
.icon2:before{
	background: url("../img/icon_val_02.svg") no-repeat;
	background-size: contain;
}
.icon3:before{
	background: url("../img/icon_val_03.svg") no-repeat;
	background-size: contain;
}


.top03Txt{

}
#topSec04{
	position: relative;
}
#topSec04:before{
	content: "";
	background: url("../img/sp/top04_bg.jpg") no-repeat;
	background-size: cover;
	width: 100%;
	height: 690px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
}
.topSec04W{
	padding: 83px 0 80px;
	position: relative;
	box-sizing: border-box;
}
.top04TtlW{
	writing-mode: vertical-rl;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 138px;
}
.top04Ttl1{
	font-size: 2rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.12em;
	line-height: 1.7em;
}

.bgBlack{
	background: #111B2A;
	padding: 10px 0;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.top04Ttl1S{
	position: relative;
	top: 20px;
	margin-right: 10px;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2.3em;
	letter-spacing: 0.12em;
}

.bgWhite{
	background: #fff;
	padding: 10px 5px;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
}

.top04Ttl2En{
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	margin-bottom: 332px;
	color: #fff;
}
.top04Copy{
	color: #fff;
	text-align: center;
	margin-bottom: 40px;
	text-shadow: 2px 2px 2px rgba(0,0,0,0.5);
}

.top04W{
	display: block;
	margin-bottom: 20px;
}

.top04Item{
	width: 100%;
	display: inline-block;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	margin-bottom: 20px;
}

.top04Img{
	position: relative;
	height: 161px;
}
.top04Img img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top04Reason{
	position: absolute;
	font-size: 4.4rem;
	color: #fff;
	transform: rotate(-16deg);
	top: 30px;
	left: 25px;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}

.top04Ttl3{
}

.top04Txt{
	box-sizing: border-box;
	padding: 20px;
}

.top04BtnW{

}
#topSec05{
	background: #fff;
	position: relative;
}
.topSec05W{
	padding: 86px 0 140px;
	position: relative;
	box-sizing: border-box;
}

.top05Ttl1W .commonTtl03En:before{
	color: #F0F0F0;
}

.top05Txt{
	text-align: center;
	margin-bottom: 40px;
}

.top05Items{
	display: block;
	margin-bottom: 20px;
}

.top05Item{
	border-radius: 8px;
	overflow: hidden;
	position: relative;
	background: #fff;
	margin-bottom: 20px;
}

.top05Img{
}

.top05TxtW{
	position: absolute;
	background: rgba(255,255,255,0.7);
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1;
	box-sizing: border-box;
	padding: 15px 25px;
}

.top05Ttl2{
	font-size: 2.2rem;
	font-weight: bold;
	color: #3BC2A7;
	margin-bottom: 15px;
}

.top05Txt2{

}

.top05ScrollEn {
  overflow: hidden;
  width: 100%;
	position: absolute;
	bottom: -8px;
}

.top05ScrollEn__track {
  display: flex;
  width: max-content;
  animation: loopText 40s linear infinite;
}

.top05ScrollEn__track img {
  display: block;
  width: auto;
  max-width: none;
  flex-shrink: 0;
	height: 60px;
}

@keyframes loopText {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}

#topSec06{
	position: relative;
}
.topSec06W{
	padding: 86px 0 86px;
	position: relative;
	box-sizing: border-box;
}
.top06Ttl1W{

}

.top06Txt1{
	text-align: center;
	margin-bottom: 40px;
}

.top06SlideW{
	position: relative;
	margin-bottom: 70px;
}
.top06SlideW .slick-list {
    padding-bottom: 20px;
}
.top06Slide{
	width: 100%;
	margin: 0 5px;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}
.top06Bar {
	width: 100%;
	height: 5px;
	background: #d9d9d9;
	margin: 30px auto 0;
	position: absolute;
	overflow: hidden;
	left: 0;
	bottom: 225px;
}
.top06Bar__thumb {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  background: #3BC2A7;
  transition: left .4s ease;
}
.top06Img{

}

.top06TxtW{
	padding: 16px 20px 40px;
	box-sizing: border-box;
}

.top06Label{
	display: inline-block;
	background: #F8F8F8;
	border: 1px solid #E4E4E4;
	margin-bottom: 16px;
	font-size: 1.2rem;
	font-weight: 500;
	padding: 5px 10px;
}

.top06Ttl2{
	margin-bottom: 16px;
}

.top06Txt2{

}

.top06BtnW{

}

.top06Btn{

}
#topSec07{
	position: relative;
	background: rgba(59,194,167,0.1);
}
.topSec07W{
	position: relative;
	box-sizing: border-box;
}
.top07W1{
	display: block;
	position: relative;
	padding: 82px 0 40px;
	z-index: 3;
}

.top07TxtW1{
	box-sizing: border-box;
}

.top07Ttl{
	margin-bottom: 10px;
}

.top07Copy{
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 2.2em;
	margin-bottom: 10px;
}
.top07Copy .bgGreen{
	color: #fff;
	background: #3BC2A7;
	display: inline;
	box-decoration-break: clone;
	-webkit-box-decoration-break: clone;
	padding: 0px 15px 1px;
	border-radius: 4px;
}

.top07Txt1{
	margin-bottom: 25px;
}

.top07Tags{
	width: 280px;
	margin: 0 auto 40px;
	column-gap: 8px;
	grid-row-gap: 12px;
	flex-wrap: wrap;
}

.top07Tag{
	width: 134px;
	text-align: center;
	display: inline-block;
	line-height: 3.4rem;
	background: #fff;
	border: 1px solid #DADADA;
	font-size: 1.2rem;
	font-weight: 500;
}

.top07ImgW{
	position: relative;
	height: 349px;
	margin-bottom: 44px;
}

.top07Img1{
	width: 183px;
	position: absolute;
	left: 0;
	top: 0px;
}

.top07Img2{
	width: 183px;
	position: absolute;
	right: 0px;
	top: 50px;
}

.top07Asset{
	font-size: 3.2rem;
	transform: rotate(-12deg);
	color: #3BC2A7;
	position: absolute;
	top: 280px;
    left: 20px;
}

.top07W2{
	position: relative;
	z-index: 2;
	padding: 100px 0 110px;
}
.top07W2:before{
	content: "";
	background: url("../img/sp/top07_bg.jpg") no-repeat;
	background-size: cover;
	background-position: bottom center;
	width: 100vw;
	height: 100%;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
}


.top07Btn1W{
	position: relative;
}

.top07Btn1{
	width: 280px;
}

.top07Items{
	display: block;
	position: relative;
}

.top07Item{
	border-radius: 8px;
	overflow: hidden;
	background: rgba(255,255,255,0.75);
	position: relative;
	margin-bottom: 30px;
}

.top07Label{
	position: absolute;
	background: #111B2A;
	color: #fff;
	font-weight: bold;
	font-size: 1.2rem;
	padding: 3px 10px;
	top: 0;
	left: 0;
	z-index: 1;
}

.top07Img3{
	position: relative;
}

.top07ImgTxt1{
	position: absolute;
	color: #fff;
	font-size: 1.6rem;
	font-weight: bold;
	left: 11px;
	bottom: 20px;
}

.top07ImgTxt2{
	position: absolute;
	color: #fff;
	font-size: 1.6rem;
	font-weight: normal;
	right: 15px;
	bottom: 50px;
	transform: rotate(-11deg);
}

.top07TxtW{
	padding: 30px 35px;
}

.top07Txt2{
	margin-bottom: 20px;

}
.top07Btn2W{
	position: relative;
	text-align: center;
}

.top07Btn2{
	width: 210px;
}

#topSec08{
	position: relative;
}
.topSec08W{
	padding: 80px 0 80px;
	position: relative;
	box-sizing: border-box;
	z-index: 1;
}

.top08W{
	display: block;
	border-radius: 8px;
	overflow: hidden;
	background: #3BC2A7;
	color: #fff;
	box-sizing: border-box;
	padding: 25px;
}

.top08TxtW{
	padding: 40px 0 0;
}

.top08TtlEn{
	margin-bottom: 20px;
}

.top08Ttl{
	margin-bottom: 20px;
}

.top08Txt{
	margin-bottom: 32px;
}

.top08BtnW{

}

.top08Btn{
	background: #fff;
	border: 1px solid #fff;
	width: 280px;
}
.top08Btn span{
	color: #3BC2A7 !important;
}
.top08Btn:before{
	background: #3BC2A7;
}
.top08Btn:hover span{
	color: #fff !important;
}

.top08Img{
}
#topSec09{
	position: relative;
	background: #fff;
}
.topSec09W{
	padding: 80px 0;
	position: relative;
	box-sizing: border-box;
}
.top09W{
	display: block;
	position: relative;
}

.top09TxtW{
	box-sizing: border-box;
	margin-bottom: 80px;
}

.top09TtlEn{
	margin-bottom: 25px;
}

.top09TtlS{
}

.top09Info1{
	border-bottom: 1px solid #DADADA;
	margin-bottom: 20px;
	padding-bottom: 20px;
}

.top09Name{
	font-size: 1.6rem;
	font-weight: bold;
	margin-bottom: 15px;
}

.top09Add{
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.8;
}

.top09MapW{
	border-radius: 28px;
	overflow: hidden;
	height: 193px;
}
.top09MapW iframe{
	width: 100%;
	height: 100%;
	vertical-align: bottom;
}


#topSecNews{
	position: relative;
}
.topSecNewsW{
	padding: 40px 0 80px;
	position: relative;
	box-sizing: border-box;
}
.topNewsTtlW{
	margin-bottom: 20px;
}
.topNewsItems{
	margin-bottom: 48px;
	position: relative;
	flex-wrap: wrap;
}
.topNewsItems:before{
	content: "";
	background: url("../img/sec11_asset@2x.png") no-repeat;
	background-size: contain;
	width: 47px;
	height: 62px;
	display: block;
	position: absolute;
	left: 0px;
	top: -62px;
}
.topNewsItem{
	width: 48%;
	border-radius: 10px;
	overflow: hidden;
	box-shadow: 8px 16px 16px rgba(18,173,173,0.16);
	position: relative;
	margin-bottom: 20px;
}
.topNewsItem:after{
	content: "";
	background: url("../img/arrow_r_3.svg") no-repeat;
	background-size: contain;
	width: 18px;
	height: 18px;
	display: block;
	position: absolute;
	right: 20px;
	bottom: 20px;
}
.topNewsItem a{
	display: block;
}
.topNewsItem a:hover{
	filter: brightness(1.1);
}
.topNewsImg{
	
}
.topNewsTxtW{
	padding: 20px 20px 40px;
}
.topNewsCat{
	border-radius: 4px;
	display: inline-block;
	line-height: 2rem;
	padding: 0 8px;
	border: 1px solid #43b9d1;
	color: #43b9d1;
	margin-bottom: 12px;
}
.topNewsTxt{
	
}

#topSecInq{
	position: relative;
}
.topSecInqW{
	padding: 60px 0 60px;
	position: relative;
	box-sizing: border-box;
}
.topInqTtlW{
}
.secInqBn{
	margin-bottom: 33px;
}
.secInqItems{
	margin: 0 auto 33px;
}
.secInqItem{
	background: #fff;
	border-radius: 20px;
	width: 240px;
	padding: 23px 23px 27px;
	box-sizing: border-box;
	text-align: center;
	box-shadow: 16px 16px 16px rgba(18,173,173,0.16);
}
.secInqIcon{
	width: 46px;
	display: inline-block;
	margin-bottom: 10px;
}
.secInqTtl{
	margin-bottom: 12px;
}
.secInqTxt{
	text-align: left;
}
.secInqW{
	background: #3BC2A7;
	border-radius: 20px;
	box-sizing: border-box;
	padding: 30px 20px;
	color: #fff;
}
.secInqTtl2{
	text-align: center;
	margin-bottom: 30px;
}
.inputW{
	margin-bottom: 30px;
}
.inqTxt{
	font-size: 1.6rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
    .inqTxt span {
        font-size: 1.2rem;
        background: #F0F0F0;
        border-radius: 3px;
        display: inline-block;
        padding: 0 5px;
        box-sizing: border-box;
		color: #111B2A;
    }
.input1{
	width: 100%;
	border: none;
	padding: 12px 15px;
	box-sizing: border-box;
	border-radius: 8px;
	font-size: 1.6rem;
}
.input2 {
	width: 100%;
	height: 200px;
	border: none;
	padding: 12px 15px;
	box-sizing: border-box;
	border-radius: 8px;
	font-size: 1.6rem;
}
.inputRadio {
        line-height: 3rem;
    }
    .inputRadio label {
		display: inline-block;
        font-size: 1.6rem;
        font-weight: 500;
		margin-right: 20px;
    }
.priCheckW{
	text-align: center;
}
.inputCheck{
}
.submitW{
	text-align: center;
}
.submitBtn{
		min-width: 227px;
		display: inline-block;
		line-height: 46px;
		border-radius: 23px;
		box-sizing: border-box;
		position: relative;
		transition: 0.3s;
		overflow: hidden;
		text-align: center;
		font-size: 1.6rem;
		padding-left: 10px;
		border: 1px solid #3BC2A7;
		padding: 0 20px 0 20px;
		font-weight: 500;
		background: #fff;
	color: #3BC2A7;
}

/*中面共通*/

.inMv{
	height: 218px;
	position: relative;
}
.inMvContent{
	z-index: 1;
	position: relative;
	width: 90%;
	height: 100%;
	margin: 0 auto;
	box-sizing: border-box;
	padding-left: 20px;
	padding-top: 35px;
}

.inMvCopy1{
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 3.2rem;
	margin-bottom: 20px;
	color: #43b9d1;
}
.inMvCopy2{
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 2.2rem;
}
.breadW{
	padding-top: 5px;
	font-size: 1rem;
}
.breadHome{
	display: inline-block;
	position: relative;
	margin-right: 10px;
	padding-left: 15px;
	color: #00aeeb !important;
}
.breadHome:before{
	content: "";
	background: url("../img/bread_home.svg") no-repeat;
	background-size: contain;
	width: 10px;
	height: 12px;
	display: inline-block;
	position: absolute;
	left: 0;
	top: 5px;
}
.breadHome:after{
	content: ">";
	display: inline-block;
	position: relative;
	margin-left: 10px;
	font-size: 1.2rem;
	color: #2a2a2a !important;
}
.breadPage{
	display: inline-block;
}


#inSecInq{
	position: relative;
	background: #e8f3f4;
}
.inSecInqW{
	padding: 40px 0 80px;
	position: relative;
	box-sizing: border-box;
}

/* ===== NEWS ===== */
.newsSec01W{
	padding: 40px 0 80px;
	box-sizing: border-box;
}

.topNewsItems{
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 3.7vw;
	row-gap: 18px;
}

.topNewsItem{
	width: 48%;
	background: #fff;
	border-radius: 10px;
	overflow: hidden;
}

.topNewsImg{
	aspect-ratio: 16 / 9;
	overflow: hidden;
}
.topNewsImg img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.topNewsTxtW{
	padding: 14px 14px 14px;
	box-sizing: border-box;
}

.topNewsDate{
	font-size: 1.0rem;
	color: #587c7b;
	font-weight: bold;
}

/* pager */
.newsPagerW{
	text-align: center;
	margin-top: 30px;
}
.newsPager{
	display: inline-block;
	width: 34px;
	line-height: 34px;
	border-radius: 17px;
	border: 1px solid #43b9d1;
	color: #43b9d1 !important;
	margin: 0 4px;
	font-weight: bold;
}
.newsPager.is-current{
	background: #43b9d1;
	color: #fff !important;
}

