@charset "utf-8";

/*-----------------------------------------------------------
var
----------------------------------------------------------- */
:root {
  --font-family: "A1明朝", "A1 Mincho", "游明朝", YuMincho,"HGS明朝B", "ＭＳ Ｐ明朝","MS PMincho", "ＭＳ 明朝", serif;
  --font-family-go: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  --font-family-en: "EB Garamond", serif;
  --font-markup: 0.7;/*clampの縮小率*/
  --color-key01: #2e9648; /* グリーン */
  --color-key01-rgb: 46,150,72; /* グリーンRGB */
  --color-white: #ffffff; /*白 */
  --color-white-rgb: 255,255,255; /* 白RGB */
  --color-def01: #585858; /* スミ */
  --color-def02: #414141; /* スミ濃い */
  --color-def03: #202124; /* スミとても濃い */
  --color-def04: #f4f3ef; /* とっても薄いベージュ */
  --line-height-narrow: 1.4;/*narrow*/
  --line-height: 1.8;
  --line-height-wide01: 2.4;/*wide*/
  --line-height-wide02: 3.0;/*very heigh*/
  --bp: 767px;/*break point*/
  --bp-sp: 375px;
  --bp-sp-narrow: 320px;
  --bp-sp-wide: 414px;
  --vw-pc: 10.80;
  --vw-sp: 3.75;
  --cont-width-pc: 1100px;/*1080*/
  --cont-width01-pc: 1020px;/*1000*/
  --cont-width-pc-narrow01: 920px;/*900*/
  --cont-width-pc-narrow02: 650px;/*630*/  
  --cont-width-nv-pc: 1080;/*数値のみ numerical value*/
  --cont-width01-nv-pc: 1000;/*数値のみ numerical value*/
  --cont-width-nv-pc-narrow01: 900;/*数値のみ numerical value*/
  --cont-width-nv-pc-narrow02: 630;/*数値のみ numerical value*/
  --cont-width-sp: 375px;
  --cont-width-nv-sp: 375;/*数値のみ numerical value*/
  --transition-duration01: .3s;
  --transition-duration02: .6s;
  --opacity01: 0.7;
}



/*-----------------------------------------------------------
base
----------------------------------------------------------- */
html{
	/*font-size: 62.5%;10px基準*/
}
header,footer{
	font-size: 100%;
}
body {
	-webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color:rgba(0,0,0,0);
  background: var(--color-def04);
	font-family: var(--font-family);
	/*font-weight: normal;*/
	color: var(--color-def01);
	letter-spacing: 0.05em;
	line-height: var(--line-height);
}
/*IE11*/
_:-ms-input-placeholder body, :root body {
	letter-spacing: 0.1em;
}
@media screen and (max-width: 769px){
	body {
		/*初期化*/
		/*min-width: initial;*/
	}
}
@media screen and (max-width:320px) {
	html{
		font-size: 50%;/*8px基準*/
	}
}
/* for tablet*/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation:portrait) {
/*縦向きのみの記述*/
	/*body,html{
		min-width:1023px;
	}*/
}


h1,h2,h3,h4,h5,h6{
  font-weight: normal;
}

/*リンク 
*/
a:link{
	color: var(--color-def01);
	}
a:visited{
	color: var(--color-def01);
	}

a:active/*,
a:hover*/{
	color: var(--color-def01);
	}
a{
	transition: var(--transition-duration01);
}
a:hover{
	opacity: var(--opacity01);
	}
.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: var(--font-family-go);
  font-weight: 500;
	}
.fGo.bold{
	font-family: var(--font-family-go);
  font-weight: 700;
	}
.normal{
	font-family: var(--font-family);
	font-weight: normal;
	font-weight: 400;
	}
.fEn{
	font-family: var(--font-family-en) !important;
  font-optical-sizing: auto;
  font-weight: 400;
	}

/*main*/
main{
	/*font:13px/1.231; default */
	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;
}*/


/*
font
*/

/*
font-size
*/

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

.txt10{font-size:1.0rem !important;}
.txt12{font-size:1.2rem !important;}
.txt14{font-size:1.4rem !important;}

/*左寄せ文字*/
.txtsl{font-size:1.0rem;line-height:1.6;text-align:left;}
.txtml{font-size:1.2rem;line-height:1.6;text-align:left;}
.txtll{font-size:1.4rem;line-height:1.6;text-align:left;}
.txtlll{font-size:1.6rem;line-height:1.6;text-align:left;}

/*右寄せ文字*/
.txtsr{font-size:1.0rem;line-height:1.6;text-align:right;}
.txtmr{font-size:1.2rem;line-height:1.6;text-align:right;}
.txtlr{font-size:1.4rem;line-height:1.6;text-align:right;}
.txtllr{font-size:1.6rem;line-height:1.6;text-align:right;}

/*中央寄せ文字*/
.txtsc{font-size:1.0rem;line-height:1.6;text-align:center;}
.txtmc{font-size:1.2rem;line-height:1.6;text-align:center;}
.txtlc{font-size:1.4rem;line-height:1.6;text-align:center;}
.txtllc{font-size:1.6rem;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;
}



/*------------------------------------------------------------------------------
コンテンツcommon
------------------------------------------------------------------------------*/
main{
  display: block;
}
main .conPC,
aside .conPC{
	max-width:var(--cont-width-pc);/*1080px*/
	width: auto !important;
	width: var(--cont-width-pc);
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}
main .conPCS,
aside .conPCS{
	max-width:var(--cont-width-pc-narrow01);/*900px*/
	width: auto !important;
	width: var(--cont-width-pc-narrow01);
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}
main .conPCSS,
aside .conPCSS{
	max-width:var(--cont-width-pc-narrow02);/*630px*/
	width: auto !important;
	width: var(--cont-width-pc-narrow02);
	margin-left:auto !important;
	margin-right:auto !important;
	padding-left:10px;
	padding-right:10px;
}
@media screen and (max-width: 767px) {
	main .conPC,
  aside .conPC{
		max-width:initial;
		padding-left:0;
		padding-right:0;
	}
	main .conSP,
  aside .conSP{
		margin-left: 20px !important;
		margin-right: 20px !important;
	}
	main .conPCS,
  aside .conPCS,
	main .conPCSS,
  aside .conPCSS{
		padding-left: 0;
		padding-right: 0;
	}
	main .conSP .conPCS,
  aside .conSP .conPCS,
  main .conSP .conPCSS,
  aside .conSP .conPCSS{
		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;
	}

}


/*pjContents*/
.pjContents{
  position: relative;
}
.conBody{
  position: relative;
  z-index: 10;
}


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

.br{
  display: inline-block;
}


/*キャプション*/
.caption{
	padding: 60px 0;
}
.cap{
	font-size: 10px;
	line-height: 1.6;
	letter-spacing: normal;
}
.cap02{
	font-size: 12px;
	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;
}


.hensai{
	margin: 0 0 20px 0;
	padding: 2em;
	border: 1px solid #ccc;
}
.hensai p{
	margin-bottom: 10px;
	font-size: 1.1rem;
	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;
	}

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


/*タイトル・テキスト関連*/
.pageH{
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 0 80px 0;
  padding: 70px 0 0 0;
}
.pageH::before{
  content: "";
  display: block;
  width: 120px;
  height: 26px;
  background-image: url("../img/cmn/con_txt_col01.svg");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.pageH::after{
  content: "";
  display: block;
  width: 200px;
  height: 24px;
  background-color: transparent;  
  background-image: radial-gradient(circle, var(--color-key01) 1.5px, transparent 1.5px), radial-gradient(circle, var(--color-key01) 1.5px, transparent 1.5px);
  background-position: 0 3px, 4.5px 9px;
  background-size: 9px 12px;
}
.pageTtl{
  padding: 20px 0 30px 0.1em;
  text-align: center;
  font-size: clamp(calc(60px * var(--font-markup)), calc(60vw / var(--vw-pc)), 60px);/*60 / 42*/
  letter-spacing: 0.1em;
  line-height: 1.0;
  font-weight: 400;
}
.ttlEn{
  padding: 0 0 0 0.1em;
  font-size: clamp(calc(50px * var(--font-markup)), calc(50vw / var(--vw-pc)), 50px);/*50 / 36*/
  letter-spacing: 0.1em;
  line-height: 1.2;
}

.ttlEn.-type01{
  margin: 0 0 70px 0;
}
.ttlEn.-type02{
  margin: 0 0 50px 0;
}



.ttlEn02{
  padding: 0 0 0 0.1em;
  font-size: clamp(calc(60px * var(--font-markup)), calc(60vw / var(--vw-pc)), 60px);/*60 / 42*/
  letter-spacing: 0.1em;
  line-height: 1.0;
  text-align: center;
}
.ttlEn02 .fJa{
  display: block;
  padding: 10px 0 0 0.15em;
  font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-pc)), 16px);/*16 / 14*/
  letter-spacing: 0.15em;
  line-height: 1.0;
  text-align: center;
}


/*コピー文章*/
.copy01{
	margin: 0 0 40px 0;
	font-size: clamp(calc(28px * var(--font-markup)), calc(28vw / var(--vw-pc)), 28px);/*28 / 20*/
	font-weight: normal;
	font-weight: 400;
	text-align: center;
  letter-spacing: 0.15em;
  padding-left: 0.15em;
  font-feature-settings: "palt";
}
.copy02{
	margin: 0 0 40px 0;
	font-size: clamp(calc(23px * var(--font-markup)), calc(23vw / var(--vw-pc)), 23px);/*23 / 18*/
	font-weight: normal;
	font-weight: 400;
	text-align: center;
  letter-spacing: 0.15em;
  padding-left: 0.15em;
	line-height: 1.8;
  font-feature-settings: "palt";
}
.copy03{
	font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-pc)), 18px);/*18 / 16*/
  letter-spacing: 0.15em;
  padding-left: 0.15em;
  font-feature-settings: "palt";
}

/*リード文章*/
.lead01{
  font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-pc)), 16px);/*16 / 15*/
}
.lead02{
	font-size: clamp(calc(15px * var(--font-markup)), calc(15vw / var(--vw-pc)), 15px);/*15 / 14*/
}
.lead03{
  font-size: clamp(calc(14px * var(--font-markup)), calc(14vw / var(--vw-pc)), 14px);/*14 / 13*/
}
.lead04{
	font-size: clamp(calc(13px * var(--font-markup)), calc(13vw / var(--vw-pc)), 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;
    padding: 30px 0 0 0;
  }
  .pageH::before{
    width: 96px;
    height: 21px;
  }
  .pageH::after{
    width: 160px;
    height: 20px;
  }
  .pageTtl{
    padding: 15px 0 20px 0.1em;
    text-align: center;
    font-size: clamp(calc(42px * var(--font-markup)), calc(42vw / var(--vw-sp)), 42px);/*60 / 42*/
  }
	
  .ttlEn{
    font-size: clamp(calc(36px * var(--font-markup)), calc(36vw / var(--vw-sp)), 36px);/*50 / 36*/
  }
  .ttlEn.-type01{
    margin: 0 0 40px 0;
  }
  .ttlEn.-type02{
    margin: 0 0 20px 0;
  }
  
  
  .ttlEn02{
    font-size: clamp(calc(42px * var(--font-markup)), calc(42vw / var(--vw-sp)), 42px);/*60 / 42*/
  }
  .ttlEn02 .fJa{
    font-size: clamp(calc(14px * var(--font-markup)), calc(14vw / var(--vw-sp)), 14px);/*16 / 14*/
  }
  
	
	/*コピー文章*/
	.copy01{
	  margin: 0 0 30px 0;
		font-size: clamp(calc(20px * var(--font-markup)), calc(20vw / var(--vw-sp)), 20px);/*28 / 20*/
	}
  .copy02{
	  margin: 0 0 30px 0;
		font-size: clamp(calc(18px * var(--font-markup)), calc(18vw / var(--vw-sp)), 18px);/*23 / 18*/
	}
	.copy03{
    font-size: clamp(calc(16px * var(--font-markup)), calc(16vw / var(--vw-sp)), 16px);/*18 / 16*/
	}
  

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


/*pankuzu*/
.pankuzu{}
.pankuzu ul{
  /*max-width: 1080px;*/
  max-width: 1200px;
  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;
  }
}

/*→*/

/*btn*/


.btnList{
  display: flex;
  justify-content: center;
	/*margin: 100px 0 0 0;*/
}
.btnList .btn{
  /*width: calc((340 / 700) * 100%);
	font-size: clamp(calc(16px * 0.7), calc(16vw / 11.00), 16px);*/
  line-height: 1.0;
	text-align: center;
	vertical-align: top;
}
.btnList .btn > *{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  /*height: 70px;
  background: #cdc8be;
  color: #fff;*/
  text-decoration: none;
  cursor: pointer;
}
.btnList .btn > *::after{
  content: "";
  position: absolute;
  right: 30px;
  top: 50%;
  display: block;
  width: 30px;
  height: 7px;
  background: url("../img/cmn/ico_arrow_wh.svg") no-repeat right center;
  background-size: cover;
  transform: translate(0,-50%);
  transition: var(--transition-duration01);
}
.btnList .btn > *:hover{
  /*background: var(--color-def01);*/
}
.btnList .btn > *:hover::after{
  transform: translate(5px,-50%);
}


/* for PC*/
@media print, screen and (max-width:767px) {	
  .btnList{
    display: block;
    /*width: 80%;
    margin: 40px auto 0 auto;*/
    margin-left: auto;
    margin-right: auto;
  }
  .btnList .btn{
    width:100%;
  }
  .btnList .btn + .btn{
    margin-top: 10px;
  }
  .btnList .btn > *{
    height: 50px;
    cursor: default;
  }
  .btnList .btn > *::after{
    right: 10px;
    width: 24px;
    height: 6px;
  }
  .btnList .btn > *:hover{}
  .btnList .btn > *:hover::after{}
}




/*btnCV [
----------------------------------------------------------- */
.btnCV{}

.btnReq{}


/* for sp*/
@media screen and (max-width:767px) {
  .btnCV{}
  
}






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



.holiday{
  margin: 20px 0 0 0;
  font-size: 1.2rem;
  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: 1.3rem;
		}
  .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-slideleft"] {
	transform: translateX(30px);
}
* [data-aos="ca-slideleft"].aos-animate {
	transform: translateY(0);
}

* [data-aos="ca-slideright"] {
	transform: translateX(-30px);
}
* [data-aos="ca-slideright"].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;
}

* [data-aos="ca-faderight"] {
	transform: translateX(-30px);
  opacity: 0;
}
* [data-aos="ca-faderight"].aos-animate {
	transform: translateX(0);
  opacity: 1;
}

* [data-aos="ca-fadeleft"] {
	transform: translateX(30px);
  opacity: 0;
}
* [data-aos="ca-fadeleft"].aos-animate {
	transform: translateX(0);
  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);
  }
  * [data-aos="ca-slideleft"] {
    transform: translateX(60px);
  }

  * [data-aos="ca-slideright"] {
    transform: translateX(-60px);
  }
  
  
  * [data-aos="ca-fadeleft"] {
    transform: translateX(60px);
  }
  * [data-aos="ca-faderight"] {
    transform: translateX(-60px);
  }


}


/*光るボタン*/
@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;
}




/*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: 1.0rem;
  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;
}