@charset "utf-8";

/*-----------------------------------------------------------
base
----------------------------------------------------------- */
html {
  /*scroll-behavior: smooth;*/
  /*font-size: 62.5%;10px基準*/
	}

/* スマートフォン 767px以下 */

/*@media screen and  (max-width:767px){
  :target {
    scroll-margin-top: 70px;
  }
}
@media screen and (min-width:768px){
  :target {
    scroll-margin-top: 123px;
  }
}*/

header,footer{
	font-size: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
	font-family: "A1明朝", "A1 Mincho", "游明朝", YuMincho,"HGS明朝B", "ＭＳ Ｐ明朝","MS PMincho", "ＭＳ 明朝", serif;
	/*font-weight: normal;*/
	/*color:#383c3c;*/
  color: #202124;
	letter-spacing: 0.05em;
	line-height: 1.8;
}




/*リンク 
*/
a:link{
	color:#383c3c;
	}
a:visited{
	color:#383c3c;
	}

a:active/*,
a:hover*/{
	color:#383c3c;
	}
.hover{
	transition: .3s;
}
.hover:hover{
	opacity: 0.6;
	}
.disabled{
	cursor:default;
}

img {
	border:0;
	vertical-align:top;
	max-width: 100%;
	height: auto;
}
.img100{
	width:100%;
}

.relative{
	position:relative;
	}
.static{
	position:static !important;
	}
.hide{
	display:none;
	}

/*font*/
.fGo{
	font-family: -apple-system, blinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",  sans-serif;
  font-weight: 500;
	}
.fGo.bold{
	font-family: -apple-system, blinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic",  sans-serif;
  font-weight: 700;
	}
.normal{
	font-family: "A1 Mincho", "游明朝", YuMincho,"HGS明朝B", "ＭＳ Ｐ明朝","MS PMincho", "ＭＳ 明朝", serif;
	font-weight: normal;
	font-weight: 400;
	}
.fEn{
	/*font-family: 'Poppins', sans-serif;*/
  /*font-family: 'Cormorant Infant', serif;*/
  /*font-family: 'Barlow Condensed', sans-serif;
  font-weight: 300;*/
  /*font-family: "Fraunces", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings:
    "SOFT" 0,
    "WONK" 0;*/
  font-family: "EB Garamond", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
	}

/*main*/
main{
	text-align: center;
}
main *:before, main *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.pj02 main{
  background-color: #ebf1f5;
}
.pj02 main .conBody{
  background-color: transparent;
}
/* 合同ではない場合*/
.pj02.access main,
.pj02.quality main,
.pj02.map main,
.pj02.reason main{
  background-color: transparent;
}

/*
font
*/

/*
font-size
*/

.taL{text-align:left !important;}
.taC{text-align:center !important;}
.taR{text-align:right !important;}

.txt10{font-size:10px !important;}
.txt12{font-size:12px !important;}
.txt14{font-size:14px !important;}

/*左寄せ文字*/
.txtsl{font-size:10px;line-height:1.6;text-align:left;}
.txtml{font-size:12px;line-height:1.6;text-align:left;}
.txtll{font-size:14px;line-height:1.6;text-align:left;}
.txtlll{font-size:16px;line-height:1.6;text-align:left;}

/*右寄せ文字*/
.txtsr{font-size:10px;line-height:1.6;text-align:right;}
.txtmr{font-size:12px;line-height:1.6;text-align:right;}
.txtlr{font-size:14px;line-height:1.6;text-align:right;}
.txtllr{font-size:16px;line-height:1.6;text-align:right;}

/*中央寄せ文字*/
.txtsc{font-size:10px;line-height:1.6;text-align:center;}
.txtmc{font-size:12px;line-height:1.6;text-align:center;}
.txtlc{font-size:14px;line-height:1.6;text-align:center;}
.txtllc{font-size:16px;line-height:1.6;text-align:center;}

/*行間高め*/
/*左寄せ文字*/
.txtslLH{font-size:77%;line-height:2;text-align:left;}
.txtmlLH{font-size:93%;line-height:2;text-align:left;}
.txtllLH{font-size:108%;line-height:2;text-align:left;}
.txtlllLH{font-size:124%;line-height:2;text-align:left;}

/*右寄せ文字*/
.txtsrLH{font-size:77%;line-height:2;text-align:right;}
.txtmrLH{font-size:93%;line-height:2;text-align:right;}
.txtlrLH{font-size:108%;line-height:2;text-align:right;}
.txtllrLH{font-size:124%;line-height:2;text-align:right;}

/*中央寄せ文字*/
.txtscLH{font-size:77%;line-height:2;text-align:center;}
.txtmcLH{font-size:93%;line-height:2;text-align:center;}
.txtlcLH{font-size:108%;line-height:2;text-align:center;}
.txtllcLH{font-size:124%;line-height:2;text-align:center;}



/*画像関係 [
----------------------------------------------------------- */
.vaT{
	vertical-align:top;
	}
.vaM{
	vertical-align:middle;
	}
.vaBL{
	vertical-align:baseline;
	}
.vaB{
	vertical-align:bottom;
	}
/*マージン関係 [
----------------------------------------------------------- */
.marT00{/*上マージン0px*/
	margin-top:0px  !important;
	}
.marT03{/*上マージン3px*/
	margin-top:3px  !important;
	}
.marT05{/*上マージン5px*/
	margin-top:5px  !important;
	}
.marT10{/*上マージン10px*/
	margin-top:10px  !important;
	}
.marT15{/*上マージン15px*/
	margin-top:15px  !important;
	}
.marT20{/*上マージン20px*/
	margin-top:20px  !important;
	}
.marT25{/*上マージン5px*/
	margin-top:25px  !important;
	}
.marT30{/*上マージン30px*/
	margin-top:30px  !important;
	}
.marT35{/*上マージン35px*/
	margin-top:35px  !important;
	}
.marT40{/*上マージン40px*/
	margin-top:40px  !important;
	}
.marT45{/*上マージン45px*/
	margin-top:45px  !important;
	}
.marT50{/*上マージン50px*/
	margin-top:50px  !important;
	}
.marT60{/*上マージン60px*/
	margin-top:60px  !important;
	}
.marT70{/*上マージン70px*/
	margin-top:70px  !important;
	}
.marT100{/*上マージン100px*/
	margin-top:100px  !important;
	}

.marB00{/*下マージン0px*/
	margin-bottom:0px  !important;
	}
.marB03{/*下マージン3px*/
	margin-bottom:3px  !important;
	}
.marB05{/*下マージン5px*/
	margin-bottom:5px  !important;
	}
.marB10{/*下マージン10px*/
	margin-bottom:10px  !important;
	}
.marB15{/*下マージン15px*/
	margin-bottom:15px  !important;
	}
.marB20{/*下マージン20px*/
	margin-bottom:20px  !important;
	}
.marB25{/*下マージン5px*/
	margin-bottom:25px  !important;
	}
.marB30{/*下マージン30px*/
	margin-bottom:30px  !important;
	}
.marB35{/*下マージン35px*/
	margin-bottom:35px  !important;
	}
.marB40{/*下マージン40px*/
	margin-bottom:40px  !important;
	}
.marB45{/*下マージン45px*/
	margin-bottom:45px  !important;
	}
.marB50{/*下マージン50px*/
	margin-bottom:50px  !important;
	}
.marB60{/*下マージン60px*/
	margin-bottom:60px  !important;
	}
.marB70{/*下マージン70px*/
	margin-bottom:70px  !important;
	}
.marB100{/*下マージン100px*/
	margin-bottom:100px  !important;
	}

.marL00{/*左マージン0px*/
	margin-left:0px  !important;
	}
.marL03{/*左マージン3px*/
	margin-left:3px  !important;
	}
.marL05{/*左マージン5px*/
	margin-left:5px  !important;
	}
.marL10{/*左マージン10px*/
	margin-left:10px  !important;
	}
.marL15{/*左マージン15px*/
	margin-left:15px  !important;
	}
.marL20{/*左マージン20px*/
	margin-left:20px  !important;
	}
.marL25{/*左マージン5px*/
	margin-left:25px  !important;
	}
.marL30{/*左マージン30px*/
	margin-left:30px  !important;
	}
.marL35{/*左マージン35px*/
	margin-left:35px  !important;
	}
.marL40{/*左マージン40px*/
	margin-left:40px  !important;
	}
.marL45{/*左マージン45px*/
	margin-left:45px  !important;
	}
.marL50{/*左マージン50px*/
	margin-left:50px  !important;
	}
.marL60{/*左マージン60px*/
	margin-left:60px  !important;
	}
.marL70{/*左マージン70px*/
	margin-left:70px  !important;
	}
.marL100{/*左マージン100px*/
	margin-left:100px  !important;
	}

.marR00{/*右マージン0px*/
	margin-right:0px  !important;
	}
.marR03{/*右マージン3px*/
	margin-right:3px  !important;
	}
.marR05{/*右マージン5px*/
	margin-right:5px  !important;
	}
.marR10{/*右マージン10px*/
	margin-right:10px  !important;
	}
.marR15{/*右マージン15px*/
	margin-right:15px  !important;
	}
.marR20{/*右マージン20px*/
	margin-right:20px  !important;
	}
.marR25{/*右マージン5px*/
	margin-right:25px  !important;
	}
.marR30{/*右マージン30px*/
	margin-right:30px  !important;
	}
.marR35{/*右マージン35px*/
	margin-right:35px  !important;
	}
.marR40{/*右マージン40px*/
	margin-right:40px  !important;
	}
.marR45{/*右マージン45px*/
	margin-right:45px  !important;
	}
.marR50{/*右マージン50px*/
	margin-right:50px  !important;
	}
.marR60{/*右マージン60px*/
	margin-right:60px  !important;
	}
.marR70{/*右マージン70px*/
	margin-right:70px  !important;
	}
.marR100{/*右マージン100px*/
	margin-right:100px  !important;
	}
	
/*パディング関係 [
----------------------------------------------------------- */
.padT00{/*上パディング0px*/
	padding-top:0px  !important;
	}
.padT03{/*上パディング3px*/
	padding-top:3px  !important;
	}
.padT05{/*上パディング5px*/
	padding-top:5px  !important;
	}
.padT10{/*上パディング10px*/
	padding-top:10px  !important;
	}
.padT15{/*上パディング15px*/
	padding-top:15px  !important;
	}
.padT20{/*上パディング20px*/
	padding-top:20px  !important;
	}
.padT25{/*上パディング5px*/
	padding-top:25px  !important;
	}
.padT30{/*上パディング30px*/
	padding-top:30px  !important;
	}
.padT35{/*上パディング35px*/
	padding-top:35px  !important;
	}
.padT40{/*上パディング40px*/
	padding-top:40px  !important;
	}
.padT45{/*上パディング45px*/
	padding-top:45px  !important;
	}
.padT50{/*上パディング50px*/
	padding-top:50px  !important;
	}
.padT60{/*上パディング60px*/
	padding-top:60px  !important;
	}
.padT70{/*上パディング70px*/
	padding-top:70px  !important;
	}
.padT100{/*上パディング100px*/
	padding-top:100px  !important;
	}

.padB00{/*下パディング0px*/
	padding-bottom:0px  !important;
	}
.padB03{/*下パディング3px*/
	padding-bottom:3px  !important;
	}
.padB05{/*下パディング5px*/
	padding-bottom:5px  !important;
	}
.padB10{/*下パディング10px*/
	padding-bottom:10px  !important;
	}
.padB15{/*下パディング15px*/
	padding-bottom:15px  !important;
	}
.padB20{/*下パディング20px*/
	padding-bottom:20px  !important;
	}
.padB25{/*下パディング5px*/
	padding-bottom:25px  !important;
	}
.padB30{/*下パディング30px*/
	padding-bottom:30px  !important;
	}
.padB35{/*下パディング35px*/
	padding-bottom:35px  !important;
	}
.padB40{/*下パディング40px*/
	padding-bottom:40px  !important;
	}
.padB45{/*下パディング45px*/
	padding-bottom:45px  !important;
	}
.padB50{/*下パディング50px*/
	padding-bottom:50px  !important;
	}
.padB60{/*下パディング60px*/
	padding-bottom:60px  !important;
	}
.padB70{/*下パディング70px*/
	padding-bottom:70px  !important;
	}
.padB100{/*下パディング100px*/
	padding-bottom:100px  !important;
	}

.padL00{/*左パディング0px*/
	padding-left:0px  !important;
	}
.padL03{/*左パディング3px*/
	padding-left:3px  !important;
	}
.padL05{/*左パディング5px*/
	padding-left:5px  !important;
	}
.padL10{/*左パディング10px*/
	padding-left:10px  !important;
	}
.padL15{/*左パディング15px*/
	padding-left:15px  !important;
	}
.padL20{/*左パディング20px*/
	padding-left:20px  !important;
	}
.padL25{/*左パディング5px*/
	padding-left:25px  !important;
	}
.padL30{/*左パディング30px*/
	padding-left:30px  !important;
	}
.padL35{/*左パディング35px*/
	padding-left:35px  !important;
	}
.padL40{/*左パディング40px*/
	padding-left:40px  !important;
	}
.padL45{/*左パディング45px*/
	padding-left:45px  !important;
	}
.padL50{/*左パディング50px*/
	padding-left:50px  !important;
	}
.padL60{/*左パディング60px*/
	padding-left:60px  !important;
	}
.padL70{/*左パディング70px*/
	padding-left:70px  !important;
	}
.padL100{/*左パディング100px*/
	padding-left:100px  !important;
	}

.padR00{/*右パディング0px*/
	padding-right:0px  !important;
	}
.padR03{/*右パディング3px*/
	padding-right:3px  !important;
	}
.padR05{/*右パディング5px*/
	padding-right:5px  !important;
	}
.padR10{/*右パディング10px*/
	padding-right:10px  !important;
	}
.padR15{/*右パディング15px*/
	padding-right:15px  !important;
	}
.padR20{/*右パディング20px*/
	padding-right:20px  !important;
	}
.padR25{/*右パディング5px*/
	padding-right:25px  !important;
	}
.padR30{/*右パディング30px*/
	padding-right:30px  !important;
	}
.padR35{/*右パディング35px*/
	padding-right:35px  !important;
	}
.padR40{/*右パディング40px*/
	padding-right:40px  !important;
	}
.padR45{/*右パディング45px*/
	padding-right:45px  !important;
	}
.padR50{/*右パディング50px*/
	padding-right:50px  !important;
	}
.padR60{/*右パディング60px*/
	padding-right:60px  !important;
	}
.padR70{/*右パディング70px*/
	padding-right:70px  !important;
	}
.padR100{/*右パディング100px*/
	padding-right:100px  !important;
	}


.clearfix::after{
	content: "";
	display: block;
	clear: both;
}
.clrb{
	clear: both;
}



.navOverlay{
  position: fixed;
  left: 0;
  top: 100px;
  width: 100%;
  height: 100vh;
  background: rgba(0,0,0,0.5);
  z-index: 100;
}

@media screen and (max-width: 1023px) {
  .navOverlay{
    display: none !important;
  }
}

/*------------------------------------------------------------------------------
コンテンツcommon
------------------------------------------------------------------------------*/
main{
  display: block;
}
main .conPC,
aside .conPC,
.pjInfoWrap .conPC{
	max-width:1100px;/*1080px*/
	width: auto !important;
	width: 1100px;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}
main .conPCS,
aside .conPCS,
.pjInfoWrap .conPCS{
	max-width:740px;/*720px*/
	width: auto !important;
	width: 720px;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}
main .conPCSS,
aside .conPCSS,
.pjInfoWrap .conPCSS{
	max-width:660px;/*640px*/
	width: auto !important;
	width: 640px;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}

@media screen and (max-width: 767px) {
	main .conPC,
  aside .conPC,
  .pjInfoWrap .conPC{
		max-width:initial;
		padding-left:0;
		padding-right:0;
	}
	main .conSP,
  aside .conSP,
  .pjInfoWrap .conSP{
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
	main .conPCS,
  aside .conPCS,
  .pjInfoWrap .conPCS{
		/*margin-left: 20px !important;
		margin-right: 20px !important;*/
		padding-left: 0;
		padding-right: 0;
	}
  
  main .conPCSS,
  aside .conPCSS,
  .pjInfoWrap .conPCSS{
    padding-left: 0;
		padding-right: 0;
  }
	main .conSP .conPCS,
  aside .conSP .conPCS,
  .pjInfoWrap .conSP .conPCS{
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

main .pcOnly{
	display: block;
}
main .spOnly{
	display: none;
}

@media screen and (max-width: 767px) {
	main .pcOnly{
	display: none !important;
	}
	main .spOnly{
		display: block;
	}

}


/*color*/
.tCol00{
  color: #202124 !important;
}
.tCol99{
  color: #fff !important;
}
.tCol01{
  color: #64afc3 !important;
}
.tCol02{
  color: #006948 !important;
}
.tCol03{
  color: #2f4f4f !important;
}


/*bg*/
.bg01{
  background: #fefef3;
}
.bg02{
  /*background: #465244;*/
  background: #cdc8be;
}
.bg03{
  background: #edeee8;
}
.bg04{
  background: #f6f4ee;
}



/*pjContents*/
.pjContents{
  position: relative;
}
/*.pjContents::before{
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 400px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}*/
.conBody{
  position: relative;
  /*padding: 70px 0 0 0;*/
  background: #fff;
  z-index: 10;
}


/*セクション*/
.sec01{
	clear: both;
	margin-bottom: 80px !important;
}
.sec02{
	margin-bottom: 50px !important;
}
.sec03{
	margin-bottom: 150px !important;
}

.br{
  display: inline-block;
}


/*キャプション*/
.caption{
	clear: both;
	padding: 25px 0;
  background: #fff;
}
.cap{
	font-size: 10px;
	line-height: 1.6;
	letter-spacing: normal;
}
.cap.type01{
  position: absolute !important;
  right: 5px;
  bottom: 2px;
}
.cap.type02{
  position: absolute !important;
  right: 10px;
  bottom: 2px;
}
.cap.type03{
  position: absolute !important;
  left: 5px;
  bottom: 2px;
}

.mvCap.shadow,
.cap.shadow{
	text-shadow: 1px 1px 0 rgba(255,255,255,1), -1px -1px 0 rgba(255,255,255,1), 1px -1px 0 rgba(255,255,255,1), -1px 1px 0 rgba(255,255,255,1);
}
.mvCap.tCol99.shadow,
.cap.tCol99.shadow{
	text-shadow: 1px 1px 0 rgba(0,0,0,1), -1px -1px 0 rgba(0,0,0,1), 1px -1px 0 rgba(0,0,0,1), -1px 1px 0 rgba(20,0,0,1);
}


.hensai{
	margin: 0 0 20px 0;
	padding: 2em;
	border: 1px solid #ccc;
}
.hensai p{
	margin-bottom: 10px;
	font-size: 11px;
	text-align: left;
	letter-spacing: normal;
	line-height: 1.6;
}

/*-------------------
    SP
*/
@media screen and (max-width: 767px) {
	/*pjContents*/
	.pjContents{}
  /*.pjContents::before{
    height: 200px;
  }*/
  .conBody{
    /*padding: 40px 0 0 0;*/
  }

	
	
	/*セクション*/
	.sec01{
    margin-bottom: 60px !important;
  }
	.sec02{
		margin-bottom: 40px !important;
	}
  .sec03{
    margin-bottom: 100px !important;
  }

	
	/*キャプション*/
	.caption{
		padding: 15px 0;
	}
	.cap{}
  
  .cap.type01{
    right: 2px
  }
  .cap.type02{
    right: 4px;
  }
	.hensai{
		padding: 1em;
	}
	.hensai p{}
	
}


/*タイトル・テキスト関連*/
.pageH{
  position: relative;
}

.pageTtl{
  display: flex;
  flex-direction: column-reverse;
  /*padding: 20px 0 70px 0;合同の時*/
  padding: 50px 0 70px 0;
  text-align: center;
  line-height: 1.0;
  font-weight: 400;
}
.pageTtl .fEn{
  padding-left: 0.1em;
  font-size: clamp(calc(45px * 0.7), calc(45vw / 11.00), 45px);/*45 / 35*/
  letter-spacing: 0.1em;
}

.pageTtl .fJa{
  margin: 10px 0 0 0;
  padding-left: 0.05em;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);/*18 / 16*/
  letter-spacing: 0.05em;
}
.pageH > div{
  position: relative;
}
/*.pageH > div .cap{
  position: absolute;
  right: 15px;
  bottom: 2px;
}*/



.ttlEn{
  text-align: left;
  margin: 0 0 30px 0;
  font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*30 / 26*/
  letter-spacing: 0.05em;
  line-height: 1.2;
}
.ttlEn.type02{
  margin: 0 0 50px 0;
  font-size: clamp(calc(55px * 0.7), calc(55vw / 11.00), 55px);
}

.ttlEn02{
  position: relative;
  text-align: center;
  margin: 0 0 40px 0;
  padding: 0 0 40px 0;
  font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*30 / 26*/
  letter-spacing: 0.05em;
  line-height: 1.0;
}
.ttlEn02::before,
.ttlEn02::after{
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  display: block;
  width: 80px;
  height: 5px;
  -webkit-transform: translate(-50%,0);
  transform: translate(-50%,0);
}
.ttlEn02::after{
  background-color: #09c5bf;
  background: -moz-linear-gradient(left, #7de17d, #09c5bf); 
  background: -webkit-linear-gradient(left, #7de17d, #09c5bf); 
  background: linear-gradient(to right, #7de17d, #09c5bf);
}
.ttlEn02::before{
  background-image: linear-gradient(to right, transparent, transparent 1px, #edeee8 1px, #edeee8 3px);
  background-size: 4px 5px;
  z-index: 1;
}

.ttlEn02.type02{}
.ttlEn02.type02::before,
.ttlEn02.type02::after{
  content: none;
}

/*コピー文章*/
.copy01{
	margin: 0 0 100px 0;
	font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*30 / 22*/
	font-weight: normal;
	font-weight: 400;
	text-align: center;
	line-height: 1.6;
  letter-spacing: 0.1em;
  padding-left: 0.1em;
  font-feature-settings: "palt";
}
.copy02{
	margin: 0 0 35px 0;
	font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);/*18 / 16*/
	font-weight: normal;
	font-weight: 400;
	text-align: center;
	line-height: 1.8;
  font-feature-settings: "palt";
}
.copy03{
	margin: 0 0 70px 0;
	font-size: clamp(calc(28px * 0.7), calc(28vw / 11.00), 28px);/*28 / 18*/
	font-weight: normal;
	font-weight: 400;
	line-height: 1.6;
  font-feature-settings: "palt";
}
.copy04{
  margin: 0 0 30px 0;
  font-size: clamp(calc(23px * 0.7), calc(23vw / 11.00), 23px);/*23 / 18*/
  font-weight: normal;
  text-align: center;
	line-height: 1.6;
  font-feature-settings: "palt";
}


/*ページの一番右のコピー枠*/
.mainCopy{
  position: relative;
  /*height: 200px;
  margin: 0 0 20px 0;*/
  padding: 100px 0;
  text-align: center;
}
/*.mainCopy > *{
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  margin: 0;
  -webkit-ttransform: translate(0,-50%);
  transform: translate(0,-50%);
  text-align: center;
}*/
.mainCopy > *{
  margin-bottom: 0;
}

/*リード文章*/
.lead01{
	font-size: clamp(calc(15px * 0.7), calc(15vw / 11.00), 15px);/*15 / 14*/
}
.lead02{
	font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);/*16 / 15*/
}
.lead03{
	font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);/*18 / 16*/
}
.lead04{
	font-size: clamp(calc(14px * 0.7), calc(14vw / 11.00), 14px);/*14 / 13*/
}
.lead05{
	font-size: clamp(calc(13px * 0.7), calc(13vw / 11.00), 13px);/*13 / 12*/
}

/*コピーの下のリード文章は下マージンあり main lead*/
.lead01.ml,
.lead02.ml,
.lead03.ml,
.lead04.ml{
	margin-bottom: 2em;
}






/*-------------------
    SP
*/
@media screen and (max-width: 767px) {
  
  
  .pageH{
    /*margin: 0 0 40px 0;*/
  }
	.pageTtl{
    /*padding: 15px 0 50px 0;合同の時*/
    padding: 50px 0 50px 0;
  }
  .pageTtl .fEn{
    font-size: clamp(calc(35px * 0.7), calc(35vw / 3.75), 35px);/*45 / 35*/
  }
  .pageTtl .fJa{
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*18 / 16*/
  }
  .pageH > div{}
	
  .ttlEn{
    margin: 0 0 20px 0;
    font-size: clamp(calc(26px * 0.7), calc(26vw / 3.75), 26px);/*30 / 26*/
  }
  .ttlEn.type02{
    margin: 0 0 25px 0;
    font-size: clamp(calc(40px * 0.7), calc(40vw / 3.75), 40px);
  }
  
  .ttlEn02{
    margin: 0 0 20px 0;
    padding: 0 0 20px 0;
    font-size: clamp(calc(26px * 0.7), calc(26vw / 3.75), 26px);/*30 / 26*/
  }
  .ttlEn02::before,
  .ttlEn02::after{
    width: 60px;
  }
  .ttlEn02::after{}
  .ttlEn02::before{}
  
	
	/*コピー文章*/
	.copy01{
	  margin: 0 0 50px 0;
		font-size: clamp(calc(22px * 0.7), calc(22vw / 3.75), 22px);/*30 / 22*/
	}
  .copy02{
	  margin: 0 0 20px 0;
		font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*18 / 16*/
	}
	.copy03{
    margin: 0 0 20px 0;
		font-size: clamp(calc(22px * 0.7), calc(22vw / 3.75), 22px);/*28 / 22*/
	}
  .copy04{
    margin: 0 0 20px 0;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*23 / 18*/
  }
  
  /*ページの一番右のコピー枠*/
  .mainCopy{
    /*height: 100px;*/
    padding: 50px 0;
  }
  .mainCopy > *{
    margin-bottom: 0;
  }
  

	/*リード文章*/
	.lead01{
    font-size: clamp(calc(14px * 0.7), calc(14vw / 3.75), 14px);/*15 / 14*/
  }
  .lead02{
    font-size: clamp(calc(15px * 0.7), calc(15vw / 3.75), 15px);/*16 / 15*/
  }
  .lead03{
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*18 / 16*/
  }
  .lead04{
    font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*14 / 13*/
  }
  .lead05{
    font-size: clamp(calc(12px * 0.7), calc(12vw / 3.75), 12px);/*13 / 12*/
  }
}


/*pankuzu*/
.pankuzu{}
.pankuzu ul{
  max-width: 1280px;
  padding: 0 10px;
  margin: 0 auto;
  text-align: right;
}
.pankuzu ul li{
  padding: 10px 0 0 0;
  display: inline-block;
  font-size: 12px;
  text-align: right;
  line-height: 1.2;
}
.pankuzu ul li + li::before{
  content: ">";
  display: inline-block;
  vertical-align: middle;
  margin: 0 5px;
}

/*for sp*/
@media screen and (max-width: 767px) {
  .pankuzu{}
  .pankuzu ul li{
    padding: 5px 0;
    font-size: 10px;
  }
}

/*→*/

/*icoArr*/
.icoArr,
a.icoArr,
.gNav .nav a{
	position: relative;
	display: block;
  height: 50px;
  line-height: 50px;
	padding-left: 0.1em;
	letter-spacing: 0.1em;
	color: #fff;
	transition: .3s;
}
.icoArr::before,
.icoArr::after,
.gNav .nav a::before,
.gNav .nav a::after{
	content: "";
	position: absolute;
	display: block;
}
.icoArr::before,
.gNav .nav a::before{
	top: 49%;
  width: 25px;
	height: 1px;
	background: #fff;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.icoArr::after,
.gNav .nav a::after{
	top: calc(50% - 4px);
	width: 7px;
	height: 7px;
	border-width: 1px;
	border-style: solid;
	border-color: #fff;
	border-left: none;
	border-bottom: none;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.icoArr.arrR::before,
.icoArr.arrR::after{
	right: 10px;
}
.gNav .nav a::before,
.gNav .nav a::after{
	right: 15px;
}

a.icoArr:hover,
a:hover .icoArr,
.gNav .nav a:hover{
	background: #fff !important;
	color: #383c3c !important;
	opacity: 1 !important;
}
a.icoArr:hover::before,
a:hover .icoArr::before,
.gNav .nav a:hover::before{
	background: #383c3c;
}
a.icoArr:hover::after,
a:hover .icoArr::after,
.gNav .nav a:hover::after{
	border-color: #383c3c;
}

/* for PC*/
@media print, screen and (max-width:767px) {	
	.icoArr,
	a.icoArr,
	.gNav .nav a{
		height: auto;
		line-height: normal;
	}
	.icoArr::before,
	.icoArr::after{}
	.icoArr::before,
	.gNav .nav a::before{
    width: 20px;
	}
	.icoArr::after{}
	.icoArr.arrR::before,
	.icoArr.arrR::after,
	.gNav .nav a::before,
	.gNav .nav a::after{
		right: 30px;
	}
	
}


/*btnMore*/
.btnMore{
  width: 165px;
  height: 40px;
  line-height: 38px;
  background: #383c3c;
  border: 1px solid #383c3c;
  border-radius: 200px;
  color: #fff;
  font-size: clamp(calc(14px * 0.7), calc(14vw / 11.00), 14px);/*14 / 14*/
  text-align: center;
}
.btnMore a{
  display: block;
  height: 100%;
  border-radius: inherit;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.btnMore a:hover{
  background: #fff;
  color: #383c3c;
  transition: .5s;
}


/*印刷ボタン*/
.btnPrint{
  width: 400px;
  margin: 0 auto;
  border: 1px solid #777;
  font-size: clamp(calc(22px * 0.7), calc(22vw / 11.00), 22px);/*2.2 / 16*/
  text-align: center;
}
.btnPrint a{
  display: block;
  height: 80px;
  line-height: 80px;
  background: #777;
  color: #fff;
  text-decoration: none;
}
.btnPrint a.icoArr::before,
.btnPrint a.icoArr::after{
  right: 30px
}
.btnPrint a.icoArr:hover{
  color: #777 !important;
}
.btnPrint a.icoArr:hover::before{
  background: #777;
}
.btnPrint a.icoArr:hover::after{
  border-color: #777;
}

/* for PC*/
@media print, screen and (max-width:767px) {
	.btnPrint{
    width: 100%;
    font-size: clamp(calc(22px * 0.7), calc(22vw / 11.00), 22px);/*2.2 / 18*/
  }
  .btnPrint a{
    height: 50px;
    line-height: 50px;
  }
  .btnPrint a.icoArr::before,
  .btnPrint a.icoArr::after{
    right: 20px
  }

  .btnPrint a.icoArr:hover{}
  .btnPrint a.icoArr:hover::before{}
  .btnPrint a.icoArr:hover::after{}
}





/*special
--------------------------------- */
.special{
  max-width: 805px;
  margin-left: auto;
  margin-right: auto;
}
/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 834px) and (orientation:portrait) {
/*縦向きのみの記述 --- iPad Pro12.9はPC表示*/
  .special{
    max-width: 710px;
  }
}
.special > div:not(.btnRsv){
  padding: 60px 10px 40px 10px;
  background: #7e716b;
  color: #fff;
  text-align: center;
  font-feature-settings: "palt";
}
.special .ttlEn02 img{
  max-width: 100px;
}
.special .ttlEn02::before{
    background-image: linear-gradient(to right, transparent, transparent 1px, #7e716b 1px, #7e716b 3px);
}
.special .ttlEn02::after{
  background-image: unset;
  background: #fff;
}

.special .t01{
  margin: 0 0 20px 0;
  font-size: clamp(calc(38px * 0.7), calc(38vw / 11.00), 38px);/*38 / 22*/
  line-height: 1.0;
}
.special .t02{
  margin: 0 0 40px 0;
  padding-left: 0.05em;
  font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*30 / 18*/
  line-height: 1.0;
  letter-spacing: 0.05em;
}

.special .btnSpe{
  width: 350px;
  margin: 40px auto 0 auto;
  border: 1px solid #383c3c;
  font-size: clamp(calc(20px * 0.7), calc(20vw / 11.00), 20px);/*20 / 16*/
  text-align: center;
}
.special .btnSpe a{
  display: block;
  height: 70px;
  line-height: 68px;
  background: #383c3c;
  color: #fff;
  text-decoration: none;
}
.special .btnSpe a.icoArr::before,
.special .btnSpe a.icoArr::after{
  right: 30px
}
.special .btnSpe a.icoArr:hover{
  color: #383c3c !important;
}
.special .btnSpe a.icoArr:hover::before{
  background: #383c3c;
}
.special .btnSpe a.icoArr:hover::after{
  border-color: #383c3c;
}

.special ul{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
  margin: 5px 0 0 0;
}
.special ul li{
  width: calc((265 / 805) * 100%);
}

.special .btnRsv{
  max-width: 500px;
  height: 100px;
  line-height: 100px;
  margin: 30px auto 0 auto;
  border-radius: 200px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
  font-size: clamp(calc(28px * 0.7), calc(28vw / 11.00), 28px);/*28 / 20*/
  text-align: center;
}
.special .btnRsv a{
  display: block;
  height: 100%;
  line-height: inherit;
  background-color: #f66e00;
  background: -moz-linear-gradient(left, #f0508c, #f66e00); 
  background: -webkit-linear-gradient(left, #f0508c, #f66e00); 
  background: linear-gradient(to right, #f0508c, #f66e00);
  border-radius: inherit;
  color: #fff;
  text-decoration: none;
}
.special .btnRsv a.icoArr::before,
.special .btnRsv a.icoArr::after{
  right: 30px
}
.special .btnRsv a.icoArr::before{
  background-color: #fff;
}
.special .btnRsv a.icoArr::after{
  border-color: #fff;
}


/*収納*/
.special.storage > div:not(.btnRsv){
  background: #d29a96;
}
.special.storage .ttlEn02::before{
    background-image: linear-gradient(to right, transparent, transparent 1px, #d29a96 1px, #d29a96 3px);
}
.special.storage .btnSpe{
  border-color: #a0595a;
}
.special.storage .btnSpe a{
  background: #a0595a;
}


/* for sp */
@media screen and (max-width: 767px) {
  .special{}
  .special > div:not(.btnRsv){
    padding: 40px 10px;
  }
  .special .ttlEn02 img{}
  .special .ttlEn02::before{}
  .special .ttlEn02::after{}

  .special .t01{
    margin: 0 0 20px 0;
    font-size: clamp(calc(22px * 0.7), calc(22vw / 3.75), 22px);/*38 / 22*/
  }
  .special .t02{
    margin: 0 0 30px 0;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*30 / 18*/
  }
  /*.special .t02 + .lead02*/
  .special .lead02{
    text-align: left;
  }

  .special .btnSpe{
    width: 80%;
    margin-top: 30px;
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*20 / 16*/
  }
  .special .btnSpe a{
    height: 60px;
    line-height: 58px;
  }
  .special .btnSpe a.icoArr::before,
  .special .btnSpe a.icoArr::after{
    right: 20px
  }
  .special .btnSpe a.icoArr:hover{}
  .special .btnSpe a.icoArr:hover::before{}
  .special .btnSpe a.icoArr:hover::after{}

  .special ul{}
  .special ul li{}
  
  .special .btnRsv{
    width: 80%;
    max-width: 500px;
    height: 70px;
    line-height: 70px;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*28 / 18*/
  }
}







/*btnCV02 [
----------------------------------------------------------- */
.btnCV02{}
.btnCV02 .btn{
  height: 300px;
}
.btnCV02 .btn a{
  position: relative;
  display: block;
  height: 100%;
  color: #fff;
}

.btnCV02 .btn a > div{
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}
.btnCV02 .btn a > div p{
  display: inline-block;
  vertical-align: middle;
  font-size: clamp(calc(25px * 0.7), calc(25vw / 11.00), 25px);/*25 / 20*/
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.05em;
}
.btnCV02 .btn a > div p .fEn{
  font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*30 / 24*/
  letter-spacing: 0.1em;
}
.btnCV02 .btn a > div > span{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 50px;
  width: 88px;
  height: 88px;
  border: 1px solid #fff;
  border-radius: 50%;
  transition: .6s;
}
.btnCV02 .btn a > div > span i{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 12px;
  -webikit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
}

.btnCV02 .btn a > div > span i::before,
.btnCV02 .btn a > div > span i::after{
  content: "";
  position: absolute;
  display: block;
  right: 0;
}

.btnCV02 .btn a > div > span i::before{
	top: 50%;
  width: 100%;
	height: 1px;
	background: #fff;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.btnCV02 .btn a > div > span i::after{
	top: calc(50% - 3.5px);
	width: 7px;
	height: 7px;
	border-width: 1px;
	border-style: solid;
	border-color: #fff;
	border-left: none;
	border-bottom: none;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


.btnCV02 .btn a:hover{
  color: #fff !important;
}
.btnCV02 .btn a:hover > div > span{
  margin-left: 60px;
}


.btnCV02 .btn.btnRsv a {
  background: #64afc3;
  border-color: #64afc3;
}



/* for sp*/
@media print, screen and (max-width:767px) {
  .btnCV02{}
  .btnCV02 .btn{
    height: 150px;
  }
  .btnCV02 .btn a{}

  .btnCV02 .btn a > div{}
  .btnCV02 .btn a > div p{
    font-size: clamp(calc(20px * 0.7), calc(20vw / 3.75), 20px);/*25 / 20*/
  }
  .btnCV02 .btn a > div p .fEn{
    font-size: clamp(calc(24px * 0.7), calc(24vw / 3.75), 24px);/*30 / 24*/
  }
  .btnCV02 .btn a > div > span{
    margin: 0 0 0 25px;
    width: 44px;
    height: 44px;
  }
  .btnCV02 .btn a > div > span i{
    width: 12px;
    height: 6px;
  }

  .btnCV02 .btn a > div > span i::before,
  .btnCV02 .btn a > div > span i::after{}

  .btnCV02 .btn a > div > span i::before{}
  .btnCV02 .btn a > div > span i::after{
    top: calc(50% - 2.5px);
    width: 5px;
    height: 5px;
  }
  .btnCV02 .btn a:hover{}
  .btnCV02 .btn a:hover > div > span{
    margin-left: 35px;
  }
  .btnCV02 .txt{}
}


/*reqModal [
----------------------------------------------------------- */
body.is-modal-open{
  overflow: hidden;
}

.reqModal{
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding: 0 20px;
  overflow: auto;
  /*opacity: 0;
  visibility: hidden;*/
  transition: .1s;
  box-sizing: border-box;
  z-index: 10000;
}
.reqModal:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.2em;
}
/*.reqModal.is-active{
  opacity: 1;
  visibility: visible;
}*/

.reqModal .conBody{
	max-width:1100px;/*1080px*/
	width: auto !important;
	width: 1100px;
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}


.reqModalContainer{
  position: absolute;
  left: 50%;
  top: 50%;
  max-width: 1280px;
  width: 90%;
  max-height: 95vh;
  background: #fff;
  transform: translate(-50%,-50%);
  animation: reqmodalshow 0.3s linear 0s;
}
@keyframes reqmodalshow{
  from{
      opacity: 0;
  }
  to{
      opacity: 1;
  }
}

.reqModalClose{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -20px;
  right: -20px;
  width: 40px;
  height: 40px;
  color: #fff;
  background: #000;
  border-radius: 50%;
  cursor: pointer;
}
.reqModalContent{
  background: #fff;
  text-align: left;
  line-height: 1.8;
  padding: 40px 0;
}



.reqModal .pageTtl{
  flex-direction: column;
  padding-top: 0;
  padding-bottom: 30px;
}

.reqModal .pageTtl .fEn{
  margin: 10px 0 0 0;
  font-size: clamp(calc(20px * 0.7), calc(20vw / 11.00), 20px);/*20 / 18*/
}

.reqModal .pageTtl .fJa{
  margin: 0 0 0 0;
  padding-left: 0.2em;
  font-size: clamp(calc(28px * 0.7), calc(28vw / 11.00), 28px);/*28 / 24*/
  letter-spacing: 0.2em;
}

/*pjList
--------------------------------- */
.reqModal .pjList{
  display: flex;
  justify-content: space-between;
}
.reqModal .pjList li{
  width: calc((520 / 1080) * 100%);
  font-feature-settings: "palt";
}
.reqModal .pjList li a{
  display: block;
  padding: 60px 0 0 0;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
.reqModal .pjList li a *{
  transition: .3s;
}

.reqModal .pjList li a .t01{
  padding-left: 0.2em;
  font-size: clamp(calc(35px * 0.7), calc(35vw / 11.00), 35px);/*35 / 28*/
  line-height: 1.0;
  letter-spacing: 0.2em;
}
.reqModal .pjList li a .t02{
  margin: 50px 0 0 0;
  font-size: clamp(calc(25px * 0.7), calc(25vw / 11.00), 25px);/*25 / 20*/
  line-height: 1.0;
}
.reqModal .pjList li a figure{
  margin: 30px 6.5% 0 6.5%;
  overflow: hidden;
}
.reqModal .pjList li a dl{
  display: inline-flex;
  flex-direction: column;
  justify-content: flex-start;
  margin: 25px 0 0 0;
  text-align: left;
}
.reqModal .pjList li a dl dt{
  font-size: clamp(calc(15px * 0.7), calc(15vw / 11.00), 15px);/*15 / 13*/
  line-height: 1.0;
}
.reqModal .pjList li a dl dt br{
  display: none;
}
.reqModal .pjList li a dl dd{
  margin: 10px 0 0 0;
  padding-left: 0.1em;
  font-size: clamp(calc(28px * 0.7), calc(28vw / 11.00), 28px);/*28 / 22*/
  letter-spacing: 0.1em;
  line-height: 1.0;
}
.reqModal .pjList li a .t03{
  max-width: 350px;
  margin: 30px auto 0 auto;
  padding: 25px 0 20px 0.1em;
  border-top: 1px solid #fff;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);/*18 / 16*/
  line-height: 1.0;
  letter-spacing: 0.1em;
}
.reqModal .pjList li a .t03 span{
  font-size: calc((16 / 18) * 100%);
}
.reqModal .pjList li a .btn{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 90px;
  padding-left: 0.2em;
  background: rgba(51,51,51,0.6);
  font-size: clamp(calc(20px * 0.7), calc(20vw / 11.00), 20px);/*20 / 18*/
  line-height: 1.0;
  letter-spacing: 0.2em;
}
.reqModal .pjList li a .btn::after{
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  display: block;
  width: 10px;
  height: 10px;
  border-style: solid;
  border-color: #fff;
  border-width: 1px 1px 0 0;
  transform: rotate(45deg) translate(0,-50%);
  transition: .3s;
}


.reqModal .pjList li a:hover figure img{
  transform: scale(1.05);
}
.reqModal .pjList li a:hover .btn{
  background: rgba(51,51,51,1.0);
}
.reqModal .pjList li a:hover .btn::after{
  right: calc(30px - 5px);
}



.reqModal .pjList li.btnPj01 a{
  background: #c8a57d;
}
.reqModal .pjList li.btnPj02 a{
  background: #9cb8cd;
}
/* for sp*/
@media screen and (max-width: 767px) {
  
  .reqModal{
    padding: 0;
  }
  .reqModal:before{}
  .reqModal.is-active{}

  .reqModal .conBody{
    max-width:initial;
		padding-left:0;
		padding-right:0;
    margin-left: 20px !important;
		margin-right: 20px !important;
  }

  .reqModalContainer{
    width: 90vw;
  }
  .reqModalClose{
    top: -10px;
    right: -10px;
    width: 30px;
    height: 30px;
  }
  .reqModalContent{
    padding: 20px 0;
  }

  .reqModal .pageTtl{
    padding-bottom: 20px;
  }

  
  

  
  
  .reqModal .pjList{
    flex-direction: column-reverse;
  }
  .reqModal .pjList li{
    width: 100%;
  }
  .reqModal .pjList li + li{
    margin: 0 0 20px 0;
  }
  .reqModal .pjList li a{
    padding: 20px 0 0 0;
  }
  .reqModal .pjList li a *{}

  .reqModal .pjList li a .t01{
    font-size: clamp(calc(22px * 0.7), calc(20vw / 3.75), 22px);/*35 / 22*/
  }
  .reqModal .pjList li a .t02{
    margin: 15px 0 0 0;
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*25 / 16*/
  }
  .reqModal .pjList li a figure{
    height: 70px;
    margin: 10px 20px 0 20px;
  }
  .reqModal .pjList li a figure img{
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .reqModal .pjList li.btnPj02 a figure img{
    object-position: center bottom;
  }
  .reqModal .pjList li a dl{
    flex-direction: row;
    align-items: center;
    margin: 10px 0 0 0;
  }
  .reqModal .pjList li a dl dt{
    font-size: clamp(calc(12px * 0.7), calc(12vw / 3.75), 12px);/*15 / 12*/
  }
  .reqModal .pjList li a dl dt br{
    display: block;
  }
  .reqModal .pjList li a dl dd{
    margin-top: 0;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*28 / 18*/
  }
  .reqModal .pjList li a .t03{
    width: 80%;
    margin: 10px auto 0 auto;
    padding: 10px 0 10px 0.1em;
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*18 / 16*/
  }
  .reqModal .pjList li a .t03 span{}
  .reqModal .pjList li a .btn{
    height: 40px;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*20 / 18*/
  }
  .reqModal .pjList li a .btn::after{}


  .reqModal .pjList li a:hover figure img{}
  .reqModal .pjList li a:hover .btn{}
  .reqModal .pjList li a:hover .btn::after{}



  .reqModal .pjList li.btnPj01 a{
    background: #c8a57d;
  }
  .reqModal .pjList li.btnPj02 a{
    background: #9cb8cd;
  }
  
}





/* for SP landscape*/
@media screen and (max-width:767px) and (orientation: landscape) {}



.holiday{
  margin: 20px 0 0 0;
  font-size: 12px;
  line-height: 1.4;
  font-feature-settings: "palt";
  text-align: center;
  color: #fff;
  }

.holiday br{
display: block;
}
	@media screen and (min-width:768px) {
	.holiday{
		font-size: 13px;
		}
  .holiday br{
    display: none;
  }
}










/*set aos
--------------------------------- */
/*custom animation*/
* [data-aos="ca-slideup"] {
	transform: translateY(60px);
}
* [data-aos="ca-slideup"].aos-animate {
	transform: translateY(0);
}

* [data-aos="ca-fade"] {
  opacity: 0;
}
* [data-aos="ca-fade"].aos-animate {
  opacity: 1;
}

* [data-aos="ca-fadeup"] {
	transform: translateY(60px);
  opacity: 0;
}
* [data-aos="ca-fadeup"].aos-animate {
	transform: translateY(0);
  opacity: 1;
}

/*ca-fadeup02*/
* [data-aos="ca-fadeup02"] {
	transform: translateY(60px);
}
* [data-aos="ca-fadeup02"].aos-animate {
	transform: translateY(0);
}
* [data-aos="ca-fadeup02"] img {
	 opacity: 0;
  transition-duration: .6s;
}
* [data-aos="ca-fadeup02"].aos-animate img {
	opacity: 1;
}



/* for sp*/
@media screen and (max-width: 767px) {
	/*custom animation*/
	* [data-aos="ca-slideup"] {
		transform: translateY(30px);
	}
  * [data-aos="ca-fadeup"] {
    transform: translateY(30px);
  }
  * [data-aos="ca-fadeup02"] {
    transform: translateY(30px);
  }

}


/*光るボタン*/
@keyframes shiny {
    0% { left: -20%; }
    10% { left: 120%; }
    100% { left: 120%; }
}

.shiny {
    position: relative;
    display: block;
    width: 100%;
    /*height: 40px;
    line-height: 40px;*/
    text-align: center;
    text-decoration: none;
    color: #ffffff;
    background-color: #384878;
    overflow: hidden;
}

.shiny::after {
    content: '';
    position: absolute;
    top: -10%;
    left: -20%;
    width: 40px;
    height: 100%;
    transform: scale(2) rotate(20deg);
    background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, .5) 100%, rgba(255, 255, 255, 0) 0%);
    
    /* アニメーション */
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}


.yokokuBox{
  border: 1px solid #777;
}
.yokokuBox dt{
  padding: 10px 10px 10px calc(10px + 0.2em);
  border-bottom: 1px solid #777;
  text-align: center;
  font-size: 16pt;
  line-height: 1.2;
  letter-spacing: 0.2em;
}
.yokokuBox dd{
  padding: 10px;
  text-align: left;
  font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);
    line-height: 1.6;
}

/* for PC*/
@media print, screen and (min-width:768px) {
  .yokokuBox{
    position: relative;
  }
  .yokokuBox::before{
    content: "";
    position: absolute;
    left: 160px;
    top: 0;
    display: block;
    width: 1px;
    height: 100%;
    background: #777;    
  }
  .yokokuBox dt{
    position: absolute;
    left: 0;
    top: 50%;
    width: 160px;
    padding: 0;
    border-bottom: none;
    -webkit-transform: translate(0,-50%);
    transform: translate(0,-50%);
  }
  .yokokuBox dd{
    padding: 15px 15px 15px 200px;
    font-size: clamp(calc(14px * 0.7), calc(14vw / 11.00), 14px);
  }
}




/*plaList
--------------------------------- */
.plaList{}
.plaList ul{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.plaList ul > li{
  width: calc((520/1080)*100%);
  margin: 0 0 40px 0;
  background: #fff;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.4);
}
.plaList ul > li a{
  position: relative;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  width: 100%;
  text-decoration: none;
}
.plaList ul > li a .plaNo{
  position: relative;
  width: 160px;
  text-align: center;
  line-height: 1.0;
}
.plaList ul > li a .plaNo span{
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: clamp(calc(110px * 0.7), calc(110vw / 11.00), 110px);/*110 / 80*/
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  transition: .3s;
}
.plaList ul > li a .plaNo span::before{
  content: "stage";
  display: block;
  padding-left: 0.4em;
  font-size: 22.7%;
  letter-spacing: 0.4em;
}
.plaList ul > li a .data{
  position: relative;
  width: calc(100% - 160px);
  padding: 25px 0 0 0;
}
.plaList ul > li a .data .area{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
  padding: 0 0 15px 0;
  border-bottom: 1px solid #383c3c;
  text-align: left;
  line-height: 1.0;
}
.plaList ul > li a .data .area dt{
  margin: 0 1em 0 0;
  font-size: clamp(calc(15px * 0.7), calc(15vw / 11.00), 15px);/*15 / 13*/
}
.plaList ul > li a .data .area dd{
  font-size: clamp(calc(30px * 0.7), calc(30vw / 11.00), 30px);/*30 / 26*/
}
.plaList ul > li a .data .tag{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  /*width: 80%;*/
  padding: 25px 0 20px 0;
  text-align: left;
}
.plaList ul > li a .data .tag li{
  margin: 0 1em 10px 0;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);/*16 / 14*/
  line-height: 1.0;
}
.plaList ul > li a .data .tag li::before{
  content: "#";
  margin: 0 5px 0 0;
}

.plaList ul > li a .btnDtl{
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 0 0 0 1em;
  background-color: #09c5bf;
  background: -moz-linear-gradient(left, #7de17d, #09c5bf); 
  background: -webkit-linear-gradient(left, #7de17d, #09c5bf); 
  background: linear-gradient(to right, #7de17d, #09c5bf);
  border-top-left-radius: 15px;
  color: #fff;
  font-size: clamp(calc(15px * 0.7), calc(15vw / 11.00), 15px);/*15 / 13*/
  text-align: left;
}
.plaList ul > li a:hover .btnDtl{
  background-color: #09c5bf !important;
  background: -moz-linear-gradient(left, #7de17d, #09c5bf) !important;
  background: -webkit-linear-gradient(left, #7de17d, #09c5bf) !important;
  background: linear-gradient(to right, #7de17d, #09c5bf) !important;
  color: #fff !important;
}
.plaList ul > li a .btnDtl.icoArr.arrR::before,
.plaList ul > li a .btnDtl.icoArr.arrR::after{
  right: 20px;
  transition: .3s;
}

/*hover*/
.plaList ul > li a:hover .plaNo span{
  color: #09c5bf;
  background: -moz-linear-gradient(left, #7de17d, #09c5bf); 
  background: -webkit-linear-gradient(left, #7de17d, #09c5bf); 
  background: linear-gradient(to right, #7de17d, #09c5bf);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.plaList ul > li a:hover .btnDtl.icoArr.arrR::before,
.plaList ul > li a:hover .btnDtl.icoArr.arrR::after{
  right: calc(20px - 5px);
}
.plaList ul > li a:hover .btnDtl.icoArr.arrR::before{
  background: #fff !important;
}
.plaList ul > li a:hover .btnDtl.icoArr.arrR::after{
  border-color: #fff !important;
}


.btnPlaList{
  width: 300px;
  margin: 0 auto;
  border: 1px solid #2f4f4f;
  border-radius: 200px;
  text-align: center;
  overflow: hidden;
}
.btnPlaList a{
  display: block;
  height: 50px;
  line-height: 48px;
  color: #2f4f4f;
  font-size: clamp(calc(13px * 0.7), calc(13vw / 11.00), 13px);/*13 / 13*/
  text-decoration: none;
}
.btnPlaList .icoArr.arrR::before{
  background: #2f4f4f;
}
.btnPlaList .icoArr.arrR::after{
  border-color: #2f4f4f;
}
.btnPlaList a:hover{
  background: #2f4f4f !important;
  color: #fff !important;
}
.btnPlaList .icoArr.arrR:hover::before{
  background: #fff;
}
.btnPlaList .icoArr.arrR:hover::after{
  border-color: #fff;
}


/*NEW*/
/*25,26,27,28*/
/*.plaList ul li.plan25::after,
.plaList ul li.plan26::after,
.plaList ul li.plan27::after,
.plaList ul li.plan28::after{
  content: "NEW";
  position: absolute;
  right: 0;
  top: 0;
  padding: 5px;
  background: #c00;
  color: #fff;
  font-size: clamp(calc(12px * 0.7), calc(12vw / 11.00), 12px);
  line-height: 1.0;
}*/


/* for sp */
@media screen and (max-width: 767px) {
  .plaList{}
  .plaList ul{
    display:block;
  }
  .plaList ul > li{
    width: 100%;
    margin: 0 0 20px 0;
  }
  .plaList ul > li a{}
  .plaList ul > li a .plaNo{
    width: 120px;
  }
  .plaList ul > li a .plaNo span{
    font-size: clamp(calc(80px * 0.7), calc(80vw / 3.75), 80px);/*110 / 80*/
  }
  .plaList ul > li a .plaNo span::before{}
  .plaList ul > li a .data{
    width: calc(100% - 120px);
    padding: 15px 0 0 0;
  }
  .plaList ul > li a .data .area{
    padding: 0 0 15px 0;
  }
  .plaList ul > li a .data .area dt{
    margin: 0 1em 0 0;
    font-size: clamp(calc(13px * 0.7), calc(13vw / 3.75), 13px);/*15 / 13*/
  }
  .plaList ul > li a .data .area dd{
    font-size: clamp(calc(26px * 0.7), calc(26vw / 3.75), 26px);/*30 / 26*/
  }
  .plaList ul > li a .data .tag{
    padding: 15px 0 10px 0;
  }
  .plaList ul > li a .data .tag li{
    font-size: clamp(calc(14px * 0.7), calc(14vw / 3.75), 14px);/*16 / 14*/
  }
  .plaList ul > li a .data .tag li::before{}

  .plaList ul > li a .btnDtl{
    height: 40px;
    line-height: 40px;
    font-size: clamp(calc(14px * 0.7), calc(14vw / 3.75), 14px);/*15 / 14*/
  }
  .plaList ul > li a:hover .btnDtl{}
  .plaList ul > li a .btnDtl.icoArr.arrR::before,
  .plaList ul > li a .btnDtl.icoArr.arrR::after{
    right: 15px;
  }

  /*hover*/
  .plaList ul > li a:hover .plaNo span{}

  .plaList ul > li a:hover .btnDtl.icoArr.arrR::before,
  .plaList ul > li a:hover .btnDtl.icoArr.arrR::after{
    right: calc(15px - 5px);
  }
  .plaList ul > li a:hover .btnDtl.icoArr.arrR::before{}
  .plaList ul > li a:hover .btnDtl.icoArr.arrR::after{}


  .btnPlaList{
    width: 80%;
    max-width: 300px;
    margin-top: 30px;
  }
  .btnPlaList a{
    height: 40px;
    line-height: 38px;
  }
  .btnPlaList .icoArr.arrR::before{}
  .btnPlaList .icoArr.arrR::after{}
  .btnPlaList a:hover{}
  .btnPlaList .icoArr.arrR:hover::before{}
  .btnPlaList .icoArr.arrR:hover::after{}
  
  
  /*NEW*/

  /*25,26,27,28*/
  .plaList ul li.plan25::after,
  .plaList ul li.plan26::after,
  .plaList ul li.plan27::after,
  .plaList ul li.plan28::after{
    font-size: clamp(calc(10px * 0.7), calc(10vw / 3.75), 10px);
  }

}

/*写真のアール*/
.pR.type01 img{
  border-radius: 30px;
}
.pR.type02 img{
  border-radius: 15px;
}


/*bnrCamp [
----------------------------------------------------------- */
.bnrCamp{
	padding: 50px 0;
}
/* for PC*/
@media screen and (max-width:767px) {
	.bnrCamp{
		padding: 20px 0;
	}
}

/*bnrQuality*/
.bnrQuality{
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
}
.bnrQuality a{
  display: block;
}




/*lp
--------------------------------- */
.lp{}
.lp figure{
  position: relative;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
.lp figure figcaption{
  /*position: absolute;
  left: 0;
  bottom: 0;*/
}
.lp figure a{
  position: absolute;
  display: block;
  transition: .3s;
  /*background: rgba(0,0,0,0.8);*/
}
.lp figure a:hover{
  background: rgba(255,255,255,0.2);
}

.lp figure a.p06{
  left: 4.5%;
  top: 65%;
  width: 6.5%;
  height: 13%;
}
.lp figure a.p07{
  left: 11%;
  top: 65%;
  width: 6.5%;
  height: 13%;
}
.lp figure a.p13{
  left: calc((190 / 960) * 100%);
  top: calc((55 / 470) * 100%);
  width: calc((75 / 960) * 100%);
  height: calc((55 / 470) * 100%);
  clip-path: polygon(0 0,100% 25%,100% 100%,0 100%);
}
.lp figure a.p16{
  left: 26.6%;
  top: 12%;
  width: 8.9%;
  height: 33%;
  clip-path: polygon(0 0,100% 10%,100% 35%,20% 35%,20% 100%,0 100%);
}
.lp figure a.p17{
  left: 28.4%;
  top: 23.7%;
  width: 7.2%;
  height: 21.5%;
  clip-path: polygon(0 0,100% 0,100% 42%,20% 42%,20% 100%,0 100%);
}
.lp figure a.p18{
  left: 19.7%;
  top: 45.5%;
  width: 7.6%;
  height: 21.5%;
}
.lp figure a.p19{
  left: 35.7%;
  top: 30%;
  width: 5.2%;
  height: 15%;
}
.lp figure a.p20{
  left: 35.6%;
  top: 16%;
  width: 6.9%;
  height: 29%;
  clip-path: polygon(0% 0%,100% 10%,100% 100%,75% 100%,75% 50%,0% 50%);
}
.lp figure a.p21{
  left: calc((412 / 960) * 100%);
  top: calc((93 / 470) * 100%);
  width: calc((70 / 960) * 100%);
  height: calc((116 / 470) * 100%);
  clip-path: polygon(0% 0%,50% 8%,100% 32%,100% 50%,20% 50%,20% 100%,0% 100%);
}
.lp figure a.p22{
  left: calc((430 / 960) * 100%);
  top: calc((150 / 470) * 100%);
  width: calc((54 / 960) * 100%);
  height: calc((58 / 470) * 100%);
}
.lp figure a.p23{
  left: 50%;
  top: 27%;
  width: 8.2%;
  height: 32%;
  clip-path: polygon(0% 0%, 53.65% 22%, 80.94% 15.28%, 82.21% 55.63%, 1.27% 54.35%);
}
.lp figure a.p24{
  left: calc((540 / 960) * 100%);
  top: calc((131 / 470) * 100%);
  width: calc((53 / 960) * 100%);
  height: calc((79 / 470) * 100%);
  clip-path: polygon(0% 30%,100% 0%,100% 100%,0% 100%);
}


.lp figure a.p25{
  left: 61.5%;
  top: 47.8%;
  width: 7.0%;
  height: 22.0%;
  clip-path: polygon(0% 0%,100% 0%,100% 100%,0 88%);
}
.lp figure a.p26{
  left: 61.5%;
  top: 21.5%;
  width: 7.3%;
  height: 24.0%;
  clip-path: polygon(2px 22.7%, 101.79% 4px, 100.21% 98.74%, 80.1% 98.12%, 82.95% 51.75%, 4px 53.9%);
}
.lp figure a.p27{
  left: 68.9%;
  top: 18.5%;
  width: 5.6%;
  height: 28.5%;
  clip-path: polygon(0 10%,100% 0,100% 47.5%,28% 47.5%,28% 100%,0 100%);
}


.lp figure a.p28{
  left: 72.7%;
  top: 38.50%;
  width: 5.3%;
  height: 26.5%;
  clip-path: polygon(0 0,100% 0,100% 100%,0 94%);
}

.lp figure a.p29{
  left: 74.5%;
  top: 37.8%;
  width: 5.3%;
  height: 11%;
  clip-path: polygon(0 0,100% 0,100% 100%,0 94%);
}
.lp figure a.p30{
  left: calc((714 / 960) * 100%);
  top: calc((132 / 470) * 100%);
  width: calc((52 / 960) * 100%);
  height: calc((46 / 470) * 100%);
}

.lp figure a.p31{
  left: 74.4%;
  top: 18.0%;
  width: 7.3%;
  height: 16.0%;
  clip-path: polygon(1px 8.55%, 101.79% 4px, 100.21% 98.74%, 75.82% 98.12%, 71.54% 63.32%, 1px 62.91%);
}
.lp figure a.p32{
  left: 81.5%;
  top: 20.0%;
  width: 7.7%;
  height: 17.2%;
  clip-path: polygon(1px 8.55%, 76.09% 43px, 100.21% 98.74%, 24.41% 100.51%, 22.84% 80.07%, 2px 82.05%);
}
.lp figure a.p33{
  left: 83.4%;
  top: 37.0%;
  width: 7.0%;
  height: 8.0%;
}

.lp .leg{
  max-width: 960px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.lp .leg p{
  position: relative;
  display: inline-block;
  margin: 0 10px 0 0;
  padding: 0 0 0 36px;
  text-align: left;
  font-size: 10px;
}
.lp .leg p::before{
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  display: block;
  width: 30px;
  height: 10px;
  -webkit-transform: translate(0,-50%);
  transform: translate(0,-50%);
  background: #789c6f;
}
.lp .leg p:nth-of-type(1)::before{
  /*background: #91cf84;*/
  background: #997c71;
}
.lp .leg p:nth-of-type(2)::before{
  /*background: #d5e3d4;*/
  background: #ede3d4;
}
.lp .leg p:nth-of-type(3){
  padding-left: 16px;
}
.lp .leg p:nth-of-type(3)::before{
  width: 10px;
  height: 10px;
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 50%;
  box-shadow: 2px 2px 4px rgba(255,242,81,1),-2px -2px 4px rgba(255,242,81,1),-2px 2px 4px rgba(255,242,81,1),2px -2px 4px rgba(255,242,81,1);
}

.lp .leg span{
  display: block;
  margin: 5px 0 0 0;
  text-align: left;
  font-size: 10px;
}




/* for sp*/
@media screen and (max-width: 767px) {
  .lp{}
  .lp figure{
    max-width: initial;
    max-width: auto;
    padding: 0 0 5px 0;
  }
  .lp figure a.p32{
    clip-path: initial;
  }
  
  .lp .leg{
    margin-top: 0;
  }
}

/*movie関連 [
----------------------------------------------------------- */
.bnrMovie{
  position: relative;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
  background: #fff;
}
.bnrMovie figure{
  position: relative;
}
.bnrMovie figure figcaption{
  position: absolute;
  right: 4px;
  bottom: 4px;
  color: #fff;
  font-size: 10px;
  text-align: right;
  line-height: 1.0;
}

/* モーダルを開くボタン */
body.open{
  overflow-y:hidden;
}


/* モーダル */

/* モーダルと背景の指定 */
      
      /* スクロール禁止 */
body.top.is-active,
body.planDtl.is-active{
  overflow: hidden;
}
body.top.is-active main,
body.planDtl.is-active main{
  position: relative;
  z-index: 30000;
}

      
.movieModal{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  text-align: center;
  background: rgba(0,0,0,50%);
  padding: 20px 0;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  box-sizing: border-box;
  z-index: 30000;
}

/* モーダルの擬似要素の指定 */
.movieModal:before{
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  margin-left: -0.2em;
}

/* クラスが追加された時の指定 */
.movieModal.is-active{
  opacity: 1;
  visibility: visible;
}

/* モーダル内側の指定 */
.movieModal-container{
  position: relative;
  display: inline-block;
  vertical-align: middle;
  max-width: 1200px;
  width: 95%;
}

/* モーダルを閉じるボタンの指定 */
.movieModal-close{
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  top: -50px;
  right: 0;
  width: 40px;
  height: 40px;
  color: #fff;
  background: #000;
  border-radius: 50%;
  cursor: pointer;
  z-index: 40000;
}

/* モーダルのコンテンツ部分の指定 */
.movieModal-content{
  background: #fff;
  text-align: left;
  line-height: 1.8;
  padding: 2px;
}




/*planBtns
--------------------------------- */
/*baseに移動*/
.planBtns{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.planBtns .btn{
  position: relative;
  width: calc((520 / 1080) * 100%);
  margin-bottom: 40px;
  box-shadow: 1px 1px 2px rgba(0,0,0,0.4);
}
.planBtns .btn > div{
  position: relative;
}
.planBtns .btn a{
  display: block;
  text-decoration: none;
  border-radius: inherit;
  overflow: auto;
}
.planBtns .btn > div .unitH{
  padding: 60px 0 0 0;
  background: #9cb8cd;
  color: #fff;
  transition: .3s;
}

.planBtns .btn .plaNo{
  position: relative;
  text-align: center;
  padding-left: 0.1em;
  letter-spacing: 0.1em;
  line-height: 1.0;
}
.planBtns .btn .plaNo span{
  font-size: clamp(calc(40px * 0.7), calc(40vw / 11.00), 40px);/*40 / 40*/
}
.planBtns .btn .plaNo span::before{
  content: "No.";
  margin-bottom: 0;
  margin-right: 2px;
  padding-left: 0;
  font-size: calc((30 / 40)* 100%);
  letter-spacing: 0.1em;
}

.planBtns .btn .plaTxt{
  margin: 0 0 25px 0;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);/*18 / 18*/
  line-height: 1.0;
}

.planBtns .btn .data{
  padding: 35px 0 60px 0;
  border-radius: inherit;
  text-align: center;
  line-height: 1.0;
}
.planBtns .btn .data .layout{
  margin: 0 0 20px 0;
  font-size: clamp(calc(36px * 0.7), calc(36vw / 11.00), 36px);/*36 / 24*/
}
.planBtns .btn .data .layout span{
  margin: 0 0 0 5px;
  font-size: 42%;
}

.planBtns .btn .data .area{
  display: flex;
  justify-content: center;
  text-align: center;
}
.planBtns .btn .data .area li{
  position: relative;
  display:flex;
	align-items: flex-end;
  justify-content: center;
  text-align: center;
  line-height: 1.0;
  margin: 0 3%;
  padding: 2px 0;
  font-size: clamp(calc(13px * 0.7), calc(13vw / 11.00), 13px);/*13 / 12*/
  letter-spacing: 0.05em;
}
.planBtns .btn .data .area li strong{
  margin: 0 0 0 5px;
  font-size: clamp(calc(24px * 0.7), calc(24vw / 11.00), 24px);/*24 / 20*/
  font-weight: normal;
  line-height: 0.8;
}

.planBtns .btn .data .area li + li::before{
  content: "";
  position: absolute;
  left: -13%;
  top: 50%;
  display: block;
  width: 1px;
  height: 150%;
  background: rgba(255,255,255,0.4);
  transform: translate(0,-50%);
}

.planBtns .btn .more{
  position: relative;
  width: 72%;
  height: 60px;
  line-height: 58px;
  margin: -30px auto -30px auto;
  background: #333;
  color: #fff;
  font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);/*16 / 16*/
  text-align: center;
  letter-spacing: 0.1em;
  transition: .3s;
  z-index: 21;
}
.planBtns .btn .more .icoArr{
  position: absolute;
  right: 20px;
  top: 50%;
  width: 15px;
  height: 15px;
  transform: translate(0,-50%);
  transition: .3s;
  z-index: 2;
}
.planBtns .btn .more .icoArr::before,
.planBtns .btn .more .icoArr::after{
  right: 0;
}

.planBtns .btn .more .icoArr::before{
  width: 100%;
}

.planBtns .btn a:hover .more{
  background: #9cb8cd;
}
.planBtns .btn a:hover .more .icoArr{
  right: 15px;
}



/*.planBtns .btn a:hover .more::before{
  opacity: 1;
}*/

.planBtns .btn > div a:hover .unitH{
  background: #333;
}
.planBtns .btn > div a:hover .more{}


.planBtns .btn a:hover .more .icoArr{
  background: transparent !important;
}
.planBtns .btn a:hover .more .icoArr::before{
  background: #fff;
}
.planBtns .btn a:hover .more .icoArr::after{
  border-color: #fff;
}
.planBtns .btn .more + figure{
  padding: 65px 0 40px 0;
  background: #fff;
  text-align: center;
}
.planBtns .btn .more + figure img{
  width: calc((370 / 520) * 100%);
}


/*kagu*/
.planBtns .btn.kagu .more + figure{
  position: relative;
}
.planBtns .btn.kagu .more + figure::before{
  content: "家具付き分譲住戸";
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: block;
  width: 12em;
  height: 70px;
  line-height: 70px;
  padding: 0 0 0 0.2em;
  background: rgba(0,0,0,0.6);
  color: #fff;
  font-size: clamp(calc(18px * 0.7), calc(18vw / 11.00), 18px);
  letter-spacing: 0.2em;
  text-align: center;
  z-index: 20;
}


/*NEW*/
/*23,26,31,32,33*/
/*.planBtns .btn23::after,
.planBtns .btn26::after,
.planBtns .btn31::after,
.planBtns .btn32::after,
.planBtns .btn33::after{
  content: "NEW";
  position: absolute;
  right: 0;
  top: 0;
  padding: 5px;
  background: #d75035;
  color: #fff;
  font-size: clamp(calc(12px * 0.7), calc(12vw / 11.00), 12px);
  line-height: 1.0;
}*/



/* for sp*/
@media screen and (max-width: 767px) {
  .planBtns{
    display: block;
  }
  .planBtns .btn{
    width: 100%;
    margin-top: 40px;
    margin-bottom: 0;
  }
  .planBtns .btn > div{}
  .planBtns .btn a{}

  .planBtns .btn > div .unitH{
    padding-top: 30px;
  }

  .planBtns .btn .plaNo{}
  .planBtns .btn .plaNo span{
    font-size: clamp(calc(40px * 0.7), calc(40vw / 3.75), 40px);/*40 / 40*/
  }
  .planBtns .btn .plaNo span::before{}
  .planBtns .btn .plaTxt{
    margin: 0 0 20px 0;
    font-size: clamp(calc(18px * 0.7), calc(18vw / 3.75), 18px);/*18 / 18*/
  }
  .planBtns .btn .data{
    padding: 25px 0 50px 0;
  }
  .planBtns .btn .data .layout{
    margin: 0 0 20px 0;
    font-size: clamp(calc(30px * 0.7), calc(30vw / 3.75), 30px);/*36 / 30*/
  }
  .planBtns .btn .data .layout span{}

  .planBtns .btn .data .area{}
  .planBtns .btn .data .area li{}
  .planBtns .btn .data .area li{
    margin: 0 2%;
    font-size: clamp(calc(12px * 0.7), calc(12vw / 3.75), 12px);/*15 / 12*/
    letter-spacing: 0.05em;
  }
  .planBtns .btn .data .area li:last-of-type{}
  .planBtns .btn .data .area li strong{
    font-size: clamp(calc(24px * 0.7), calc(24vw / 3.75), 24px);/*30 / 24*/
  }
  .planBtns .btn .data .area li + li::before{
    /*content: none;*/
    left: -5%;
  }

  .planBtns .btn .more{
    height: 50px;
    line-height: 50px;
    margin: -25px auto -25px auto;
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);/*16 / 16*/
  }
  .planBtns .btn .more::before{}
  .planBtns .btn .more .fEn{}
  .planBtns .btn .more .icoArr{
    right: 20px;
    width: 15px;
    height: 15px;
  }
  .planBtns .btn .more .icoArr::before,
  .planBtns .btn .more .icoArr::after{}


  .planBtns .btn a:hover .more::before{}

  .planBtns .btn a:hover .more .icoArr{
    right: 10px;
  }
  .planBtns .btn a:hover .more .icoArr::before{}
  .planBtns .btn a:hover .more .icoArr::after{}
  
  .planBtns .btn .more + figure{
    padding: 45px 0 20px 0;
  }
  .planBtns .btn .more + figure img{
    width: 80%;
  }
  
  
  /*kagu*/
  .planBtns .btn.kagu .more + figure{}
  .planBtns .btn.kagu .more + figure::before{
    right: 10px;
    bottom: 10px;
    height: 50px;
    line-height: 50px;
    font-size: clamp(calc(16px * 0.7), calc(16vw / 3.75), 16px);
  }
  
  
  /*NEW*/
  /*26,31,32,33*/
  /*.planBtns .btn26::after,
  .planBtns .btn31::after,
  .planBtns .btn32::after,
  .planBtns .btn33::after{
    font-size: 10px;
  }*/


}
