@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,300;0,400;0,700;1,300;1,400&display=swap');
/* -----------------------------------------------
Table of Contents (common css)
--------------------------------------------------
[1. Foundation]
		1-1. Reset
		1-2. Config
[2. Object]
		2-1. Utility
				 2-1-1. clearfix [ModernType]
				 2-1-2. margin,padding [mb10,pt20]
				 2-1-3. Object-Oriented CSS [OOCSS]
				 2-1-4. Grid System [grid-***]
				 2-1-5. CSS Animation [act-***]
		2-2. WebFont 
		2-3. State [is-***]
		2-4. Component a.k.a Module
				 2-4-1. Wrapper     [wrp-***]
				 2-4-2. Headings [hdg-lv*]
				 2-4-3. Text     [txt-***]
				 2-4-4. Button   [btn-***]
				 2-4-5. Anchor   [acr-***]
				 2-4-6. Icon     [icn-***]
				 2-4-7. Label    [lbl-***]
				 2-4-8. List     [lst-***]
				 2-4-9. Table    [tbl-***]
				 2-4-10. Nav      [nav-***]
				 2-4-11. Box      [box-***]
				 2-4-12. Form     [frm-***]
				 2-4-13. Error    [err-***]
[3. Layout]
		3-1. #l-document
		3-2. #l-header
		3-3. #l-container
				 3-3-1. #l-main
				 3-3-2. #l-sub
		3-4. #l-footer
		3-5. OverLayerConfig [z-index]
		3-6. Project
[4. Print Style]


-------------------------------------------------- */

/* -----------------------------------------------
*> [1. Foundation]
-------------------------------------------------- */

/*>> 1-1. Reset
-------------------------------------------------- */
:root{
	--easingLink: cubic-bezier(0.25, 1, 0.5, 1);
}
html{
	font-family: sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;

	
}
body{
	margin: 0;
	padding: 0;
}
a{
	background-color: transparent;
}
a:focus{
	outline: thin dotted;
}
a:active,
a:hover{
	outline-width: 0;
}
html,div,span,object,iframe,
h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,code,del,em,img,strong,
dl,dt,dd,ol,ul,li,
fieldset,form,label,
table,caption,tbody,tfoot,thead,tr,th,td{
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
pre{
	font-family: monospace, monospace;
	font-size: 1em;
}
code,
kbd,
samp{
	font-family: monospace, monospace;
	font-size: 1em;
}
article,aside,footer,header,small,nav,section,figure,figcaption,main{
	margin: 0;
	padding: 0;
	display: block;
	list-style: none;
	background-color: transparent;
	outline: none;
}
small{
	font-size: 80%;
}
audio,canvas,progress,video{
	display: inline-block;
}
audio:not([controls]){
	display: none;
	height: 0;
}
progress{
	vertical-align: baseline;
}
template,
[hidden]{
	display: none;
}
ul,ol{
	list-style-type: none;
}
table{
	border: none;
	border-collapse: collapse;
	border-spacing: 0;
}
img{
	line-height: 1;
	vertical-align: baseline;
	outline: none;
	border-style: none;
}
a img{
	border: none;
	outline: none;
}
sub,sup{
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sub{
	bottom: -0.25em;
}
sup{
	top: -0.5em;
}
hr{
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}
abbr[title]{
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}
dt,dd,li,
th,td,
input,textarea{
	text-align: left;
	vertical-align: top;
}
button{
	border: none;
}
input,textarea,button{
	margin: 0;
	padding: 0;
}
input{
	border: 0.1rem solid #dad7d3;
	height: auto;
	padding: 0.2rem 0.5rem;
}
textarea{
	border: 0.1rem solid #dad7d3;
	height: 7.8rem;
	resize: none;
	overflow: auto;
}
button,label{
	background-color: transparent;
	cursor: pointer;
}
button,select{
	text-transform: none;
}
[type="checkbox"],
[type="radio"]{
	box-sizing: border-box;
	padding: 0;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button{
	height: auto;
}
[type="search"]{
	-webkit-appearance: textfield;
	outline-offset: -0.2rem;
}
[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}
::-webkit-file-upload-button{
	-webkit-appearance: button;
	font: inherit;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"]{
	-webkit-appearance: button;
	cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner{
	border-style: none;
	padding: 0;
}
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring{
	outline: 0.1rem dotted ButtonText;
}
button[disabled],
input[disabled]{
	cursor: default;
}
input[type="checkbox"],
input[type="radio"]{
	box-sizing: content-box;
	padding: 0;
}
input[type="search"]{
	-webkit-appearance: textfield;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration{
	-webkit-appearance: none;
}
button::-moz-focus-inner,
input::-moz-focus-inner{
	padding: 0;
	border: 0;
}
textarea{
	overflow: auto;
	vertical-align: top;
}
:focus{
	outline: none;
}
fieldset{
	padding: 0.35em 0.75em 0.625em;
}
legend{
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}
details{
	display: block;
}
summary{
	display: list-item;
}
audio,
canvas,
iframe,
img,
svg,
video{
	vertical-align: middle;
}
main{
	display: block;
}
h1,h2,h3,h4,h5,h6{
	font-size: 100%;
	font-weight: bold;
}
table{
	width: 100%;
}
button,
input,
optgroup,
select,
textarea{
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input{
	overflow: visible;
}
button,
select{
	text-transform: none;
}
b,
strong,
em{
	font-weight: bolder;
}
hr{
	display: block;
	height: 0.1rem;
	border: 0;
	border-top: 0.1rem solid #ccc;
	margin: 1em 0;
	padding: 0;
}


/*>> 1-2. Config
-------------------------------------------------- */
html{
	overflow-x: hidden;
	overflow-y: scroll;
	font-size: 10px;
	height: 100%;
}
body{
	font-size: 1.4rem;
	color: #333;
	background-color: #F8F8F8;
	line-height: 1.35;
	letter-spacing: 0;
	font-family: "游ゴシック", "YuGothic", "HiraKakuProN-W3", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "helvetica", "arial", sans-serif;
	font-feature-settings : "palt";
	height: 100%;
	-webkit-overflow-scrolling: touch;
}
a{
	color: #336699;
	text-decoration: none;
}
a:focus{
	outline: none;
}
.no-touchevents a:not(.btn):hover{
	text-decoration: underline;
}
a[href="tel"]{
	color: #a4002c;
}
::-moz-selection{
	background: #b3d4fc;
	text-shadow: none;
}
::selection{
	background: #b3d4fc;
	text-shadow: none;
}
h1,h2,h3,h4,h5,h6{
	line-height: 1.35;
}
p{
	line-height: 1.35;
}
dt,dd,li,
th,td,
input,
textarea,
button{
	line-height: 1.6;
}
input{
	font-size: 1.6rem;
	box-sizing: border-box;
}
select{
	display: block;
}
textarea{
	width: 100%;
	display: block;
	font-size: 1.6rem;
	box-sizing: border-box;
}



/* -----------------------------------------------
*> [2. Object]
-------------------------------------------------- */

/*>> 2-1. Utility
-------------------------------------------------- */
/*>>> 2-1-1. clearfix [ModernType]*/
#l-header:after, #l-container:after, #l-main:after, #l-sub:after, #l-footer:after, .grid-row:after,
.clearfix:after{
	display: block;
	clear: both;
	content: "";
}


/*>>> 2-1-2. margin,padding [mb10,pt20]*/
/* margin  */.m0{margin:0!important;}.m5{margin: 0.5rem!important;}.m10{margin: 1rem!important;}.m15{margin: 1.5rem!important;}.m20{margin: 2rem!important;}.m25{margin: 2.5rem!important;}.m30{margin: 3rem!important;}.m35{margin: 3.5rem!important;}.m40{margin: 4rem!important;}.m45{margin: 4.5rem!important;}.m50{margin: 5rem!important;}.m55{margin: 5.5rem!important;}.m60{margin: 6rem!important;}.m65{margin: 6.5rem!important;}.m70{margin: 7rem!important;}.m75{margin: 7.5rem!important;}.m80{margin: 8rem!important;}.m85{margin: 8.5rem!important;}.m90{margin: 9rem!important;}.m95{margin: 9.5rem!important;}.m100{margin: 10rem!important;}/* margin-top */.mt0{margin-top:0!important;}.mt5{margin-top: 0.5rem!important;}.mt10{margin-top: 1rem!important;}.mt15{margin-top: 1.5rem!important;}.mt20{margin-top: 2rem!important;}.mt25{margin-top: 2.5rem!important;}.mt30{margin-top: 3rem!important;}.mt35{margin-top: 3.5rem!important;}.mt40{margin-top: 4rem!important;}.mt45{margin-top: 4.5rem!important;}.mt50{margin-top: 5rem!important;}.mt55{margin-top: 5.5rem!important;}.mt60{margin-top: 6rem!important;}.mt65{margin-top: 6.5rem!important;}.mt70{margin-top: 7rem!important;}.mt75{margin-top: 7.5rem!important;}.mt80{margin-top: 8rem!important;}.mt85{margin-top: 8.5rem!important;}.mt90{margin-top: 9rem!important;}.mt95{margin-top: 9.5rem!important;}.mt100{margin-top: 10rem!important;}/* margin-right */.mr0{margin-right:0!important;}.mr5{margin-right: 0.5rem!important;}.mr10{margin-right: 1rem!important;}.mr15{margin-right: 1.5rem!important;}.mr20{margin-right: 2rem!important;}.mr25{margin-right: 2.5rem!important;}.mr30{margin-right: 3rem!important;}.mr35{margin-right: 3.5rem!important;}.mr40{margin-right: 4rem!important;}.mr45{margin-right: 4.5rem!important;}.mr50{margin-right: 5rem!important;}.mr55{margin-right: 5.5rem!important;}.mr60{margin-right: 6rem!important;}.mr65{margin-right: 6.5rem!important;}.mr70{margin-right: 7rem!important;}.mr75{margin-right: 7.5rem!important;}.mr80{margin-right: 8rem!important;}.mr85{margin-right: 8.5rem!important;}.mr90{margin-right: 9rem!important;}.mr95{margin-right: 9.5rem!important;}.mr100{margin-right: 10rem!important;}/* margin-bottom */.mb0{margin-bottom:0!important;}.mb5{margin-bottom: 0.5rem!important;}.mb10{margin-bottom: 1rem!important;}.mb15{margin-bottom: 1.5rem!important;}.mb20{margin-bottom: 2rem!important;}.mb25{margin-bottom: 2.5rem!important;}.mb30{margin-bottom: 3rem!important;}.mb35{margin-bottom: 3.5rem!important;}.mb40{margin-bottom: 4rem!important;}.mb45{margin-bottom: 4.5rem!important;}.mb50{margin-bottom: 5rem!important;}.mb55{margin-bottom: 5.5rem!important;}.mb60{margin-bottom: 6rem!important;}.mb65{margin-bottom: 6.5rem!important;}.mb70{margin-bottom: 7rem!important;}.mb75{margin-bottom: 7.5rem!important;}.mb80{margin-bottom: 8rem!important;}.mb85{margin-bottom: 8.5rem!important;}.mb90{margin-bottom: 9rem!important;}.mb95{margin-bottom: 9.5rem!important;}.mb100{margin-bottom: 10rem!important;}/* margin-left */.ml0{margin-left:0!important;}.ml5{margin-left: 0.5rem!important;}.ml10{margin-left: 1rem!important;}.ml15{margin-left: 1.5rem!important;}.ml20{margin-left: 2rem!important;}.ml25{margin-left: 2.5rem!important;}.ml30{margin-left: 3rem!important;}.ml35{margin-left: 3.5rem!important;}.ml40{margin-left: 4rem!important;}.ml45{margin-left: 4.5rem!important;}.ml50{margin-left: 5rem!important;}.ml55{margin-left: 5.5rem!important;}.ml60{margin-left: 6rem!important;}.ml65{margin-left: 6.5rem!important;}.ml70{margin-left: 7rem!important;}.ml75{margin-left: 7.5rem!important;}.ml80{margin-left: 8rem!important;}.ml85{margin-left: 8.5rem!important;}.ml90{margin-left: 9rem!important;}.ml95{margin-left: 9.5rem!important;}.ml100{margin-left: 10rem!important;}.mb200{margin-bottom: 20rem!important;}
/* padding */.p0{padding:0!important;}.p5{padding: 0.5rem!important;}.p10{padding: 1rem!important;}.p15{padding: 1.5rem!important;}.p20{padding: 2rem!important;}.p25{padding: 2.5rem!important;}.p30{padding: 3rem!important;}.p35{padding: 3.5rem!important;}.p40{padding: 4rem!important;}.p45{padding: 4.5rem!important;}.p50{padding: 5rem!important;}.p55{padding: 5.5rem!important;}.p60{padding: 6rem!important;}.p65{padding: 6.5rem!important;}.p70{padding: 7rem!important;}.p75{padding: 7.5rem!important;}.p80{padding: 8rem!important;}.p85{padding: 8.5rem!important;}.p90{padding: 9rem!important;}.p95{padding: 9.5rem!important;}.p100{padding: 10rem!important;}/* padding-top */.pt0{padding-top:0!important;}.pt5{padding-top: 0.5rem!important;}.pt10{padding-top: 1rem!important;}.pt15{padding-top: 1.5rem!important;}.pt20{padding-top: 2rem!important;}.pt25{padding-top: 2.5rem!important;}.pt30{padding-top: 3rem!important;}.pt35{padding-top: 3.5rem!important;}.pt40{padding-top: 4rem!important;}.pt45{padding-top: 4.5rem!important;}.pt50{padding-top: 5rem!important;}.pt55{padding-top: 5.5rem!important;}.pt60{padding-top: 6rem!important;}.pt65{padding-top: 6.5rem!important;}.pt70{padding-top: 7rem!important;}.pt75{padding-top: 7.5rem!important;}.pt80{padding-top: 8rem!important;}.pt85{padding-top: 8.5rem!important;}.pt90{padding-top: 9rem!important;}.pt95{padding-top: 9.5rem!important;}.pt100{padding-top: 10rem!important;}/* padding-right */.pr0{padding-right:0!important;}.pr5{padding-right: 0.5rem!important;}.pr10{padding-right: 1rem!important;}.pr15{padding-right: 1.5rem!important;}.pr20{padding-right: 2rem!important;}.pr25{padding-right: 2.5rem!important;}.pr30{padding-right: 3rem!important;}.pr35{padding-right: 3.5rem!important;}.pr40{padding-right: 4rem!important;}.pr45{padding-right: 4.5rem!important;}.pr50{padding-right: 5rem!important;}.pr55{padding-right: 5.5rem!important;}.pr60{padding-right: 6rem!important;}.pr65{padding-right: 6.5rem!important;}.pr70{padding-right: 7rem!important;}.pr75{padding-right: 7.5rem!important;}.pr80{padding-right: 8rem!important;}.pr85{padding-right: 8.5rem!important;}.pr90{padding-right: 9rem!important;}.pr95{padding-right: 9.5rem!important;}.pr100{padding-right: 10rem!important;}/* padding-bottom */.pb0{padding-bottom:0!important;}.pb5{padding-bottom: 0.5rem!important;}.pb10{padding-bottom: 1rem!important;}.pb15{padding-bottom: 1.5rem!important;}.pb20{padding-bottom: 2rem!important;}.pb25{padding-bottom: 2.5rem!important;}.pb30{padding-bottom: 3rem!important;}.pb35{padding-bottom: 3.5rem!important;}.pb40{padding-bottom: 4rem!important;}.pb45{padding-bottom: 4.5rem!important;}.pb50{padding-bottom: 5rem!important;}.pb55{padding-bottom: 5.5rem!important;}.pb60{padding-bottom: 6rem!important;}.pb65{padding-bottom: 6.5rem!important;}.pb70{padding-bottom: 7rem!important;}.pb75{padding-bottom: 7.5rem!important;}.pb80{padding-bottom: 8rem!important;}.pb85{padding-bottom: 8.5rem!important;}.pb90{padding-bottom: 9rem!important;}.pb95{padding-bottom: 9.5rem!important;}.pb100{padding-bottom: 10rem!important;}/* padding-left */.pl0{padding-left:0!important;}.pl5{padding-left: 0.5rem!important;}.pl10{padding-left: 1rem!important;}.pl15{padding-left: 1.5rem!important;}.pl20{padding-left: 2rem!important;}.pl25{padding-left: 2.5rem!important;}.pl30{padding-left: 3rem!important;}.pl35{padding-left: 3.5rem!important;}.pl40{padding-left: 4rem!important;}.pl45{padding-left: 4.5rem!important;}.pl50{padding-left: 5rem!important;}.pl55{padding-left: 5.5rem!important;}.pl60{padding-left: 6rem!important;}.pl65{padding-left: 6.5rem!important;}.pl70{padding-left: 7rem!important;}.pl75{padding-left: 7.5rem!important;}.pl80{padding-left: 8rem!important;}.pl85{padding-left: 8.5rem!important;}.pl90{padding-left: 9rem!important;}.pl95{padding-left: 9.5rem!important;}.pl100{padding-left: 10rem!important;}


/*>>> 2-1-3. Object-Oriented CSS [OOCSS]*/
.no-display{
	display: none;
}
.no-br{
	white-space: nowrap;
}
.no-line-height{
	line-height: 1!important;
}
.pull-left{
	float: left!important;
}
.pull-right{
	float: right!important;
}
.right{
	text-align: right!important;
}
.center{
	text-align: center!important;
}
.left{
	text-align: left!important;
}
.top{
	vertical-align: top!important;
}
.middle{
	vertical-align: middle!important;
}
.bottom{
	vertical-align: bottom!important;
}
.block{
	display: inline-block;
}
/* for RWD */
.fluid-image{
	max-width: 100%;
	height: auto;
}
.full-image{
	width: 100%;
	height: auto;
}

/* width */
.w1per{ width:1% !important;}.w2per{ width:2% !important;}.w3per{ width:3% !important;}.w4per{ width:4% !important;}.w5per{ width:5% !important;}.w6per{ width:6% !important;}.w7per{ width:7% !important;}.w8per{ width:8% !important;}.w9per{ width:9% !important;}.w10per{ width: 10% !important;}.w11per{ width: 11% !important;}.w12per{ width: 12% !important;}.w13per{ width: 13% !important;}.w14per{ width: 14% !important;}.w15per{ width: 15% !important;}.w16per{ width: 16% !important;}.w17per{ width: 17% !important;}.w18per{ width: 18% !important;}.w19per{ width: 19% !important;}.w20per{ width: 20% !important;}.w21per{ width: 21% !important;}.w22per{ width: 22% !important;}.w23per{ width: 23% !important;}.w24per{ width: 24% !important;}.w25per{ width: 25% !important;}.w26per{ width: 26% !important;}.w27per{ width: 27% !important;}.w28per{ width: 28% !important;}.w29per{ width: 29% !important;}.w30per{ width: 30% !important;}.w31per{ width: 31% !important;}.w32per{ width: 32% !important;}.w33per{ width: 33% !important;}.w34per{ width: 34% !important;}.w35per{ width: 35% !important;}.w36per{ width: 36% !important;}.w37per{ width: 37% !important;}.w38per{ width: 38% !important;}.w39per{ width: 39% !important;}.w40per{ width: 40% !important;}.w41per{ width: 41% !important;}.w42per{ width: 42% !important;}.w43per{ width: 43% !important;}.w44per{ width: 44% !important;}.w45per{ width: 45% !important;}.w46per{ width: 46% !important;}.w47per{ width: 47% !important;}.w48per{ width: 48% !important;}.w49per{ width: 49% !important;}.w50per{ width: 50% !important;}.w51per{ width: 51% !important;}.w52per{ width: 52% !important;}.w53per{ width: 53% !important;}.w54per{ width: 54% !important;}.w55per{ width: 55% !important;}.w56per{ width: 56% !important;}.w57per{ width: 57% !important;}.w58per{ width: 58% !important;}.w59per{ width: 59% !important;}.w60per{ width: 60% !important;}.w61per{ width: 61% !important;}.w62per{ width: 62% !important;}.w63per{ width: 63% !important;}.w64per{ width: 64% !important;}.w65per{ width: 65% !important;}.w66per{ width: 66% !important;}.w67per{ width: 67% !important;}.w68per{ width: 68% !important;}.w69per{ width: 69% !important;}.w70per{ width: 70% !important;}.w71per{ width: 71% !important;}.w72per{ width: 72% !important;}.w73per{ width: 73% !important;}.w74per{ width: 74% !important;}.w75per{ width: 75% !important;}.w76per{ width: 76% !important;}.w77per{ width: 77% !important;}.w78per{ width: 78% !important;}.w79per{ width: 79% !important;}.w80per{ width: 80% !important;}.w81per{ width: 81% !important;}.w82per{ width: 82% !important;}.w83per{ width: 83% !important;}.w84per{ width: 84% !important;}.w85per{ width: 85% !important;}.w86per{ width: 86% !important;}.w87per{ width: 87% !important;}.w88per{ width: 88% !important;}.w89per{ width: 89% !important;}.w90per{ width: 90% !important;}.w91per{ width: 91% !important;}.w92per{ width: 92% !important;}.w93per{ width: 93% !important;}.w94per{ width: 94% !important;}.w95per{ width: 95% !important;}.w96per{ width: 96% !important;}.w97per{ width: 97% !important;}.w98per{ width: 98% !important;}.w99per{ width: 99% !important;}.w100per{ width: 100% !important;}.wauto { width: auto !important; }
@media only screen and (max-width: 959px){ /* SP */
	.w1per-sp{width:1% !important;}.w2per-sp{width:2% !important;}.w3per-sp{width:3% !important;}.w4per-sp{width:4% !important;}.w5per-sp{width:5% !important;}.w6per-sp{width:6% !important;}.w7per-sp{width:7% !important;}.w8per-sp{width:8% !important;}.w9per-sp{width:9% !important;}.w10per-sp{ width: 10% !important;}.w11per-sp{ width: 11% !important;}.w12per-sp{ width: 12% !important;}.w13per-sp{ width: 13% !important;}.w14per-sp{ width: 14% !important;}.w15per-sp{ width: 15% !important;}.w16per-sp{ width: 16% !important;}.w17per-sp{ width: 17% !important;}.w18per-sp{ width: 18% !important;}.w19per-sp{ width: 19% !important;}.w20per-sp{ width: 20% !important;}.w21per-sp{ width: 21% !important;}.w22per-sp{ width: 22% !important;}.w23per-sp{ width: 23% !important;}.w24per-sp{ width: 24% !important;}.w25per-sp{ width: 25% !important;}.w26per-sp{ width: 26% !important;}.w27per-sp{ width: 27% !important;}.w28per-sp{ width: 28% !important;}.w29per-sp{ width: 29% !important;}.w30per-sp{ width: 30% !important;}.w31per-sp{ width: 31% !important;}.w32per-sp{ width: 32% !important;}.w33per-sp{ width: 33% !important;}.w34per-sp{ width: 34% !important;}.w35per-sp{ width: 35% !important;}.w36per-sp{ width: 36% !important;}.w37per-sp{ width: 37% !important;}.w38per-sp{ width: 38% !important;}.w39per-sp{ width: 39% !important;}.w40per-sp{ width: 40% !important;}.w41per-sp{ width: 41% !important;}.w42per-sp{ width: 42% !important;}.w43per-sp{ width: 43% !important;}.w44per-sp{ width: 44% !important;}.w45per-sp{ width: 45% !important;}.w46per-sp{ width: 46% !important;}.w47per-sp{ width: 47% !important;}.w48per-sp{ width: 48% !important;}.w49per-sp{ width: 49% !important;}.w50per-sp{ width: 50% !important;}.w51per-sp{ width: 51% !important;}.w52per-sp{ width: 52% !important;}.w53per-sp{ width: 53% !important;}.w54per-sp{ width: 54% !important;}.w55per-sp{ width: 55% !important;}.w56per-sp{ width: 56% !important;}.w57per-sp{ width: 57% !important;}.w58per-sp{ width: 58% !important;}.w59per-sp{ width: 59% !important;}.w60per-sp{ width: 60% !important;}.w61per-sp{ width: 61% !important;}.w62per-sp{ width: 62% !important;}.w63per-sp{ width: 63% !important;}.w64per-sp{ width: 64% !important;}.w65per-sp{ width: 65% !important;}.w66per-sp{ width: 66% !important;}.w67per-sp{ width: 67% !important;}.w68per-sp{ width: 68% !important;}.w69per-sp{ width: 69% !important;}.w70per-sp{ width: 70% !important;}.w71per-sp{ width: 71% !important;}.w72per-sp{ width: 72% !important;}.w73per-sp{ width: 73% !important;}.w74per-sp{ width: 74% !important;}.w75per-sp{ width: 75% !important;}.w76per-sp{ width: 76% !important;}.w77per-sp{ width: 77% !important;}.w78per-sp{ width: 78% !important;}.w79per-sp{ width: 79% !important;}.w80per-sp{ width: 80% !important;}.w81per-sp{ width: 81% !important;}.w82per-sp{ width: 82% !important;}.w83per-sp{ width: 83% !important;}.w84per-sp{ width: 84% !important;}.w85per-sp{ width: 85% !important;}.w86per-sp{ width: 86% !important;}.w87per-sp{ width: 87% !important;}.w88per-sp{ width: 88% !important;}.w89per-sp{ width: 89% !important;}.w90per-sp{ width: 90% !important;}.w91per-sp{ width: 91% !important;}.w92per-sp{ width: 92% !important;}.w93per-sp{ width: 93% !important;}.w94per-sp{ width: 94% !important;}.w95per-sp{ width: 95% !important;}.w96per-sp{ width: 96% !important;}.w97per-sp{ width: 97% !important;}.w98per-sp{ width: 98% !important;}.w99per-sp{ width: 99% !important;}.w100per-sp{ width: 100% !important;}.wauto-sp{width: auto !important;}
}


/*>>> 2-1-4. Grid System [grid-***] */
.grid-row{
	margin-right: -1rem;
	margin-left: -1rem;
	display: flex;
	flex-wrap: wrap;
}
.grid-col,
.grid-col--1,
.grid-col--2,
.grid-col--3,
.grid-col--4,
.grid-col--5,
.grid-col--6,
.grid-col--7,
.grid-col--8,
.grid-col--9,
.grid-col--10,
.grid-col--11,
.grid-col--12{
	position: relative;
	min-height: 0.1rem;
	padding-right: 1rem;
	padding-left: 1rem;
	box-sizing: border-box;
}
.grid-col--1{width: 8.33333333333%}
.grid-col--2{width: 16.6666666667%;}
.grid-col--3{width: 25%;}
.grid-col--4{width: 33.3333333333%;}
.grid-col--5{width: 41.6666666667%;}
.grid-col--6{width: 50%;}
.grid-col--7{width: 58.3333333333%;}
.grid-col--8{width: 66.6666666667%;}
.grid-col--9{width: 75%;}
.grid-col--10{width: 83.3333333333%;}
.grid-col--11{width: 91.6666666667%;}
.grid-col--12{width: 100%;}

@media only screen and (max-width:767px){
	.grid-row{
		margin-left: -0.5rem;
		margin-right: -0.5rem;
	}
	.grid-col--1, .grid-col--2, .grid-col--3, .grid-col--4, .grid-col--5, .grid-col--6, .grid-col--7, .grid-col--8, .grid-col--9, .grid-col--10, .grid-col--11, .grid-col--12{
		width: 100%;
		padding-right: 0.5rem;
		padding-left: 0.5rem;
	}
	.grid-col--3.__isSP,
	.grid-col--4.__isSP,
	.grid-col--6.__isSP{
		width: 50%;
	}
}/* endMedia */


@media only screen and (min-width:768px) and (max-width:959px){
	.grid-row{
		margin-left: -1rem;
		margin-right: -1rem;
	}
	.grid-col--1, .grid-col--2, .grid-col--3, .grid-col--4, .grid-col--5, .grid-col--6, .grid-col--7, .grid-col--8, .grid-col--9, .grid-col--10, .grid-col--11, .grid-col--12{
		width: 100%;
		padding-right: 1rem;
		padding-left: 1rem;
	}
	.grid-col--3.__isTablet,
	.grid-col--4.__isTablet,
	.grid-col--6.__isTablet{
		width: 50%;
	}
}/* endMedia */



/*>>> 2-1-5. CSS Animation [act-***] */


/*>> 2-2. WebFont [is-***]
-------------------------------------------------- */


/*>> 2-3. State [is-***]
-------------------------------------------------- */
.is-error{
	background-color: #f9eceb;
}
.is-disabled{
	opacity: 0.3;
	pointer-events: none;
	cursor: default;
}
.is-inline-block span{
	margin-bottom: 1rem;
	display: inline-block;
}
.is-visiblePc {
    display: block!important
}

.is-visibleSp {
    display: none!important
}

@media (max-width: 559px) {
    .is-visiblePc {
        display:none!important
    }

    .is-visibleSp {
        display: block!important
    }
}

.is-visiblePc--tablet {
    display: block!important
}

.is-visibleFlexPc--tablet {
    display: inline-flex!important
}

.is-visibleSp--tablet {
    display: none!important
}

@media (max-width: 959px) {
    .is-visiblePc--tablet {
        display:none!important
    }

    .is-visibleFlexPc--tablet {
        display: none!important
    }

    .is-visibleSp--tablet {
        display: block!important
    }
}

.is-visiblePc--tablet-sm {
    display: block!important
}

.is-visibleSp--tablet-sm {
    display: none!important
}

@media (max-width: 767px) {
    .is-visiblePc--tablet-sm {
        display:none!important
    }

    .is-visibleSp--tablet-sm {
        display: block!important
    }
}

.is-onlyTablet {
    display: none!important
}

@media (min-width: 767px) and (max-width:960px) {
    .is-onlyTablet {
        display:block!important
    }
}




/*>> 2-4. Component a.k.a Module
-------------------------------------------------- */
/*>>> 2-4-1.  Wrapper     [wrp-***]*/
.wrp-container{
	margin: 0 auto;
	padding: 0 3rem;
	max-width: 134rem;
	box-sizing: border-box;
}
.wrp-container--lg{
	margin: 0 auto;
	padding: 0 3rem;
	max-width: 166rem;
	box-sizing: border-box;
}
.wrp-banner{
	margin-top: 8rem;
}
@media only screen and (max-width: 959px){
	.wrp-banner{
		margin-top: 4rem;
	}
}
.wrp-btn{
	margin-top: 4.8rem;
	display: flex;
	justify-content: center;
}
@media only screen and (max-width: 959px){
	.wrp-btn{
		margin-top: 2.4rem;
	}
}

/*>>> 2-4-2.  Headings [hdg-lv*] */
.hdg-lv2{
	font-size: 4.8rem;
	font-size: clamp(3.2rem, 3vw, 4.8rem);
	color: #333333;
	font-weight: bold;
	letter-spacing: 0.08em;
}
.hdg-lv2--sub{
	display: block;
	margin-bottom: 2.4rem;
	font-size: 2rem;
	color: #999999;
	font-weight: normal;
	letter-spacing: 0.08em;
}
.hdg-lv2 + .txt-base{
	margin-top: 4rem;
}
@media only screen and (max-width: 959px){
	.hdg-lv2{
		font-size: 2.4rem;
	}
	.hdg-lv2--sub{
		margin-bottom: .8rem;
		font-size: 1rem;
	}
	.hdg-lv2 + .txt-base{
		margin-top: 2.4rem;
	}
}
.hdg-lv3{
	font-size: 3.2rem;
	color: #333333;
	font-weight: bold;
	letter-spacing: 0.08em;
	line-height: 1.75;
}
@media only screen and (max-width: 959px){
	.hdg-lv3{
		font-size: 1.8rem;
		line-height: 1.35;
	}
}
.hdg-lv3 + .txt-base{
	margin-top: 3.2rem;
}
@media only screen and (max-width: 959px){
	.hdg-lv3 + .txt-base{
		margin-top: 1.6rem;
	}
}


/*>>> 2-4-3.  Text     [txt-***]*/
.txt-en{
	font-family: "Lato", serif;
	font-weight: 400;
	font-style: normal;
}
.txt-head{
	margin-bottom: 15.4rem;
	font-size: 3.2rem;
	letter-spacing: 0.3em;
	color: #999999;
	text-align: center;
	transform: translate(.4rem, .3rem);
}
@media only screen and (max-width: 959px){
	.txt-head{
		margin-bottom: 4.8rem;
		font-size: 1.6rem;
		transform: translate(.3rem, .2rem);
	}
}
.txt-head + .lst-info{
	margin-top: 4.8rem;
}
@media only screen and (max-width: 559px){
	.txt-head + .lst-info{
		margin-top: 3.8rem;
	}
}
.txt-base--xs{
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.08em;;
}
.txt-base--sm{
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.08em;;
}
@media only screen and (max-width: 959px){
	.txt-base--sm{
		font-size: 1.2rem;
	}
}
.txt-base{
	font-size: 1.8rem;
	line-height: 2;
	letter-spacing: 0.08em;
}
@media only screen and (max-width: 959px){
	.txt-base{
		font-size: 1.4rem;
	}
}
.txt-base + .txt-base{
	margin-top: 3.5rem;
}
@media only screen and (max-width: 959px){
	.txt-base + .txt-base{
		margin-top: 2.6rem;
	}
}
.txt-base + .box-img, .txt-base + .txt-base--lg, .txt-base + .hdg-lv3{
	margin-top: 10rem;
}
@media only screen and (max-width: 959px){
	.txt-base + .box-img, .txt-base + .txt-base--lg, .txt-base + .hdg-lv3{
		margin-top: 4rem;
	}
}
.txt-base--lg{
	font-size: 2rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}
@media only screen and (max-width: 959px){
	.txt-base--lg{
		font-size: 1.6rem;
		line-height: 1.35;
	}
}

.txt-note{
	font-size: 1.2rem;
	text-indent: -1em;
	padding-left: 1em;
	margin-top: 0.5rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}
.txt-note:before{
	content: "※";
}

/*>>> 2-4-4.  Button   [btn-***]*/
.btn-more{
	margin-top: 4rem;
	position: relative;
	display: inline-block;
	padding: 2.4rem 5.4rem 2.5rem 0;
	font-size: 1.4rem;
	letter-spacing: 0.08em;
	color: #999999;
}
@media only screen and (max-width: 959px){
	.btn-more{
		margin-top: 2.4rem;
		padding: 1.7rem 5.6rem 2rem 0;
		font-size: 1.2rem;
	}
}
.btn-more::before{
	content: '';
	display: block;
	position: absolute;
	top: 3.1rem;
	right: 0;
	width: 4.3rem;
	height: .7rem;
	background: url(/20th/assets/images/common/icon-arrow-right-gray.svg) no-repeat;
	background-size: cover;
	transition: all .4s var(--easingLink, ease-out);
}
@media only screen and (max-width: 959px){
	.btn-more::before{
		top: 2.4rem;
		right: 0;
		width: 4rem;
	}
}
.no-touchevents .btn-more:hover::before{
	transform: translateX(.8rem);
}
.btn-more .circle{
	display: block;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 70%, 50% 50%, 0 30%);
	position: absolute;
	top: .1rem;
	right: 1.8rem;
	width: 7.2rem;
	height: 7.2rem;
}
@media only screen and (max-width: 959px){
	.btn-more .circle{
		top: 0;
		right: .6rem;
		-webkit-transform: rotate(10deg);
		transform: rotate(10deg);
	}
}
.btn-more .circle svg{
	width: 7.2rem;
	height: 7.2rem;
	-webkit-transform: rotate(-180deg);
	transform: rotate(-180deg);
}
@media only screen and (max-width: 959px){
	.btn-more .circle svg{
		width: 6rem;
		height: 6rem;
		-webkit-transform: rotate(-170deg);
		transform: rotate(-170deg);
	}
}
.btn-more .circle svg {
	stroke: #0F228B;
	stroke-width: 1.5;
	fill: none;
	stroke-dasharray: 314;
	stroke-dashoffset: 314;
}
.btn-more .circle .path{
	stroke: #DDDDDD;
	stroke-dashoffset: 0;
}
.btn-more .circle .path2{
	stroke-dashoffset: 314;
}
.no-touchevents .btn-more.-in .circle .path2 {
	animation: dashIn 1s var(--easingLink, ease-out) forwards;
}
.no-touchevents .btn-more.-out .circle .path2 {
	animation: dashOut 1s var(--easingLink, ease-out) forwards;
}
@keyframes dashIn {
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes dashOut {
	from {
		stroke-dashoffset: 0;
	}
	to {
		stroke-dashoffset: -314;
	}
}
.btn-more__txt{
	display: inline-block;
	padding: .5rem 0;
	background: #F8F8F8;
}

/* btn-primary */
.btn-primary{
	padding: 2.4rem 9.2rem;
	display: inline-block;
	border-radius: 4rem;
	background: #0F228B;
}
.btn-primary__txt{
	position: relative;
	display: inline-block;
	padding-right: 1.8rem;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1.35;
	letter-spacing: 0.08em;
	font-weight: bold;
}
.btn-primary__txt::before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 1rem;
	height: .8rem;
	background: url(/20th/assets/images/common/icon-blank-white.svg);
	background-size: cover;
}
@media only screen and (max-width: 959px){
	.btn-primary{
		padding: 1.9rem;
		width: 100%;
		max-width: 26.1rem;
		text-align: center;
	}
	.btn-primary__txt{
		font-size: 1.6rem;
	}
}

/* bnr */
.bnr{
	display: block;
}
.bnr-link > figure{
	position: relative;
}
.bnr-link[target="_blank"] figure::before,  .bnr-link[target="_blank"] figure::after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(153, 153, 153, 0.6);
	opacity: 0;
	transition: all .4s var(--easingLink, ease-out);
}
.lst-info__link.bnr-link[target="_blank"] > figure::before{
	top: 8%;
	left: 4.1%;
	width: 91.2%;
	height: 84%;
}
.bnr-link[target="_blank"] > figure::after{
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 7.2rem;
	height: 7.2rem;
	border-radius: 50%;
	background-image: url(/20th/assets/images/common/icon-blank.svg);
  	background-color: #fff; 
	background-repeat: no-repeat;
	background-size: 1.4rem 1.1rem;
	background-position: center center;
}
.no-touchevents .bnr-link[target="_blank"]:hover > figure::before, .no-touchevents .bnr-link[target="_blank"]:hover > figure::after{
	opacity: 1;
}
.no-touchevents a.bnr-link[target="_blank"]:hover{
	text-decoration: none;
}

/*>>> 2-4-5.  Anchor   [acr-***]*/
.arc-primary{
	font-weight: bold;
	color: #f44336;
}
.link{
	position: relative;
	display: inline-block;
	padding-left: 2.7rem;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	line-height: 1.75;
	color: #333;
	-webkit-transition: all .3s var(--easingLink, ease-out);
	transition: all .3s var(--easingLink, ease-out);
}
@media only screen and (max-width: 959px){
	.link{
		padding-left: 2rem;
		font-size: 1.4rem;
	}
}
.link::before{
	content: "";
	position: absolute;
	top: .6rem;
	left: 0;
	width: 1.9rem;
	height: 1.9rem;
	background: url(/20th/assets/images/common/icon-arrow-right.svg) no-repeat;
	background-size: cover;
	background-position: top center;
	-webkit-transition: all .3s var(--easingLink, ease-out);
	transition: all .3s var(--easingLink, ease-out);
}
@media only screen and (max-width: 959px){
	.link::before{
		top: .3rem;
		width: 1.6rem;
		height: 1.6rem;
	}
}
.no-touchevents a.link:hover{
	color: #0F228B;
	text-decoration: none;
}
.no-touchevents .link:hover::before{
	background: url(/20th/assets/images/common/icon-arrow-right-blue.svg) no-repeat;
	background-size: cover;
	background-position: top center;
}
.link[target=_blank]{
	padding-right: 1.8rem;
}
.link[target=_blank]::after{
	content: "";
	display: inline-block;
	width: 1.2rem;
	height: 1rem;
	-webkit-transform: translate(.8rem, -.1rem);
	transform: translate(.8rem, -.1rem);
	background: url(/20th/assets/images/common/icon-blank.svg) no-repeat;
	background-size: cover;
	background-position: top center;
}
@media only screen and (max-width: 959px){
	.link[target=_blank]::after{
		-webkit-transform: translate(.5rem, -.1rem);
		transform: translate(.5rem, -.1rem);
		width: 1rem;
		height: .8rem;
	}
}
.link.--no-arr{
	padding-left: 0;
}
.link.--no-arr::before{
	display: none;
}
.link-base{
	color: #333333;
}
.link-primary{
	color: #0F228B;
	text-decoration: underline;
}


/*>>> 2-4-6. Icon     [icn-***]*/

/*>>> 2-4-7. Label    [lbl-***]*/

/*>>> 2-4-8. List     [lst-***]*/
/* lst-link */
.lst-link{
	margin-top: 1.5rem;
}
@media only screen and (max-width:959px){
	.lst-link{
		margin-top: .9rem;
	}
}
.lst-link__item{
	margin-top: .8rem;
}
@media only screen and (max-width:959px){
	.lst-link__item{
		margin-top: .5rem;
	}
}
.lst-link__item:first-of-type{
	margin-top: 0;
}


.lst-img{
	margin-top: 4rem;
	margin-right: -2rem;
    margin-left: -2rem;
}
.lst-img__item{
	padding-right: 2rem;
    padding-left: 2rem;
}
@media only screen and (max-width:767px){
	.lst-img__item{
		margin-top: 4rem;
	}
	.lst-img__item:first-of-type{
		margin-top: 0;
	}
}
.lst-img + .txt-base{
	margin-top: 4rem;
}

/* lst-info */
.lst-info{
	margin-top: 8rem;
	margin-left: -3.2rem;
	margin-right: -3.2rem;
}
@media only screen and (max-width:959px){
	.lst-info{
		margin-top: 2rem;
		margin-left: -2rem;
		margin-right: -2rem;
	}
}
@media only screen and (max-width:559px){
	.lst-info{
		margin-top: 1rem;
	}
}
.lst-info__item{
	padding: 0 3.2rem;
}
@media only screen and (max-width:959px){
	.lst-info__item{
		margin-top: 2.4rem;
		padding: 0 2rem;
		width: 33.33%;
	}
}
@media only screen and (max-width:559px){
	.lst-info__item{
		width: 100%;
	}
	.lst-info__item + .lst-info__item{
		margin-top: 2.4rem;
	}
}
.lst-info__link{
	font-weight: bold;
	color: #333333;
	text-align: center;
}
@media only screen and (max-width:959px){
	.lst-info__link{
		text-align: left;
	}
}
.lst-info__txt{
	margin-top: 1.6rem;
	display: block;
}
@media only screen and (max-width:959px){
	.lst-info__txt{
		font-size: 1.4rem;
		text-align: center;
		margin-top: 0.8rem;
	}
}

/* lst-dot */
.lst-dot > li{
	position: relative;
	margin-top: .5rem;
	padding-left: 2.4rem;
}
.lst-dot > li:first-of-type{
	margin-top: 0;
}
.lst-dot > li::before{
	content: '';
	display: block;
	position: absolute;
	top: 1rem;
	left: 1rem;
	width: .3rem;
	height: .3rem;
	border-radius: 50%;
	background: #333333;
}
@media only screen and (max-width:959px){
	.lst-dot > li{
		padding-left: 2rem;
	}
	.lst-dot > li::before{
		top: .7rem;
		left: .8rem;
	}
}

/* lst-plane */
.lst-plane{
	width: 37.4rem;
}
@media only screen and (max-width:959px){
	.lst-plane{
		display: none;
	}
}
.lst-plane > li  a{
	display: block;
	font-size: 1.8rem;
	letter-spacing: 0.08em;
	line-height: 1.35;
	border-bottom: .1rem dashed #DDDDDD;
	cursor: pointer;
	color: #333333;
	position: relative;
}
.lst-plane > li {
	position: relative;
}
.lst-plane > li.is-active a{
	z-index: 1000;
}
.lst-plane > li a:hover{
	text-decoration: none!important;
}
.lst-plane > li a .inner{
	padding: 3.6rem 2.4rem 3.6rem 4rem;
	display: block;
}
.lst-plane > li a.is-active .inner{
	background: #fff;
}
.lst-plane > li a .lst-plane__txt{
	display: block;
	transform: translateX(-4rem);
	transition: transform .3s;
}
.lst-plane > li a.is-active .lst-plane__txt{
	transform: translateX(0);
}
@media only screen and (max-width:959px){
	.lst-plane > li  a{
		display: flex;
		padding: 0;
		width: 100%;
		font-size: 1.4rem;
		
	}
	.lst-plane > li  a.is-active{
		padding: 0;
		background: none;
	}
	.lst-plane__txt{
		padding: 2.7rem 3rem 2.7rem 2.4rem;
		width: calc(100%  - 11rem);
		box-sizing: border-box;
	}
}
.lst-plane__num{
	display: block;
	margin-bottom: .5rem;
	font-size: 1.6rem;
	font-weight: 500;
	color: #999999;
	letter-spacing: 0.08em;
}
@media only screen and (max-width:959px){
	.lst-plane__num{
		font-size: 1rem;
	}
}
.lst-plane__thumb{
	display: none;
}
@media only screen and (max-width:959px){
	.lst-plane__thumb{
		display: block;
		width: 11rem;
		min-height: 11rem;

	}
}


/*>>> 2-4-9. Table    [tbl-***]*/
.tbl-base{
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
	margin-top: 4.6rem;
}
.tbl-base tr{
	border-top: .1rem dashed #333333;
}
.tbl-base th, .tbl-base td{
	font-size: 1.6rem;
	line-height: 1.75;
	letter-spacing: 0.08em;
}
.tbl-base th{
	width: 26.4rem;
	padding: 2.4rem 2.4rem 2.4rem 0;
	box-sizing: border-box;
}
.tbl-base td{
	padding: 2.2rem 0 2.4rem;
	box-sizing: border-box;
	color: #464749;
}
@media only screen and (max-width:959px){
	.tbl-base{
		margin-top: 2.4rem;
	}
	.tbl-base th, .tbl-base td{
		display: block;
		font-size: 1.2rem;
	}
	.tbl-base th{
		width: 100%;
		padding: 1.6rem 0 .8rem;
	}
	.tbl-base td{
		padding: 0 0 1.6rem;
	}
}

/*>>> 2-4-10. Nav      [nav-***]*/

/*Menu button*/
.nav-global-menu {
	position: fixed;
	padding-top: 3.5rem;
	width: 6rem;
	height: 6rem;
	right: 0;
	top: 0;
	text-align: center;
	display: none;
	box-sizing: border-box;
	text-decoration: none!important;
}
.nav-global-menu__txt {
    font-size: 1rem;
    letter-spacing: .24rem;
    color: #AAAAAA;
	-webkit-transform: translateY(.1rem);
	transform: translateY(.1rem);
}
.nav-global-menu__txt::before{
	content: 'MENU';
}
.nav-global-menu__line {
    position: absolute;
	left: 0;
	bottom: 0;
    width: 6rem;
    height: .3rem
}
.nav-global-menu__line span{
	display: block;
    width: 6rem;
    height: .1rem;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background: #AAAAAA;
    transition: all .3s
}
.nav-global-menu__line span.b1 {
    top: 0
}

.nav-global-menu__line span.b2 {
    top: .3rem
}
.nav-global-menu.is-active{
	position: fixed;
}
.nav-global-menu.is-active span.b1 {
	
    -webkit-transform: translate(-50%,0%) rotate(16deg);
    transform: translate(-50%,0%) rotate(16deg)
}
.nav-global-menu.is-active span.b2 {
	top: 0;
    -webkit-transform: translate(-50%,0%) rotate(-16deg);
    transform: translate(-50%,0%) rotate(-16deg)
}
.nav-global-menu.is-active .nav-global-menu__txt::before{
	content: 'CLOSE';
}
@media only screen and (max-width:959px){
	.nav-global-menu {
		display: block;
	}
}

/*Menu button*/
.l-header__gnavi {
	display: flex;
}
.l-header__gnavi > li {
	padding: 0 1.2rem;
}
.l-header__gnavi > li > a {
	position: relative;
	font-size: 1.4rem;
	font-weight: bold;
	display: flex;
	height: 3.3rem;
	align-items: end;
	color: #fff;
}
.l-header__gnavi > li:last-child {
	padding-right: 0;
}
.l-header__gnavi > li > a::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: .4rem;
	height: .4rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, .2);
}
.l-header__gnavi > li > a:after {
	content: "";
	position: absolute;
	bottom: -.8rem;
	left: 50%;
	width: 0;
	border-bottom: 0.1rem solid #fff;
	visibility: hidden;
	transition: all 0.3s var(--easingLink, ease-out);
	transform: translateX(-50%);
	-webkit-transition: all 0.3s var(--easingLink, ease-out);
	-webkit-transform: translateX(-50%);
}
.no-touchevents .l-header__gnavi > li a,
.no-touchevents .l-header__gnavi > li > a:hover {
	opacity: 1;
	text-decoration: none;
}
.no-touchevents .l-header__gnavi > li:hover > a::after,
.no-touchevents .l-header__gnavi > li.is-hover > a::after{
	width: 100%;
	visibility: visible;
}
.l-header__gnavi > li.is-current > a::before {
	background: rgb(255, 255, 255);
}

@media only screen and (max-width:959px){
	.is-opened-menu {
		overflow: hidden;
	}
	.l-header__content {
		visibility: hidden;
		left: 100%;
		position: fixed;
		width: 100%;
		top: 0;
		height: 100vh;
		height: calc(var(--vh, 1vh) * 100);
		overflow-y: auto;
		
		transition: all 0.3s var(--easingLink, ease-out);
		background-color: #fff;
		-webkit-transition: all 0.3s var(--easingLink, ease-out);
	}
	.l-header__content.is-active {
		left: 0;
		display: block;
		visibility: visible;
	}
	.l-header__content__inner{
		overflow: auto;
	}
	.l-header__gnavi {
		display: block;
		padding: 3rem 0 0 3rem;
	}
	.l-header__gnavi > li {
		padding: 0;
	}
	.l-header__gnavi > li > a { 
		display: block;
		padding: 2.2rem 5.4rem 2rem 2.4rem;
		height: auto;
		font-size: 1.6rem;
		line-height: 1.75;
		font-weight: normal;
		color: #333333;
		letter-spacing: 0.08em;
		border-bottom: 0.1rem solid #DDDDDD;
	}
	.l-header__gnavi > li > a::before{
		top: 51%;
		left: .6rem;
		transform: translate(0%, -50%);
		background: #DDDDDD;
	}
	.l-header__gnavi > li > a:after {
		bottom: 50%;
		left: inherit;
		right: 3rem;
		width: 1.6rem;
		height: 1.6rem;
		border-bottom: none;
		visibility: visible;
		transform: translate(0%, 50%);
		background: url(/20th/assets/images/common/icon-arrow-right.svg) no-repeat;
		background-size: cover;
	}
}/* endMedia */
.l-header__mark{
	visibility: hidden;
	height: 0;
	overflow: hidden;
}
.l-header__mark__txt{
	margin-top: 1.6rem;
	font-size: 1.3rem;
	line-height: 1.7;
	color: #999999;
	letter-spacing: 0.4rem;
	-webkit-transform: translateX(.3rem);
	transform: translateX(.3rem);
}
.l-header__mark.is-active{
	display: block;
    visibility: visible;
}
@media only screen and (max-width:959px){
	.l-header__mark{
		padding-top: 2.4rem;
		height: auto;
		text-align: center;
		transition: all 0.3s  var(--easingLink, ease-out);
		-webkit-transition: all 0.3s  var(--easingLink, ease-out);
	}
}
.l-header__copyR{
	visibility: hidden;
	position: absolute;
	left: 0;
	bottom: 3rem;
	height: 0;
	width: 0;
	font-size: 1rem;
	line-height: 1.5;
	overflow: hidden;
	text-align: center;
}
@media only screen and (max-width:959px){
	.l-header__copyR{
		visibility: visible;
		height: auto;
		width: 100%;
	}
	.l-header__copyR.static{
		position: static;
		margin: 8.9rem 0 3rem;
	}
	
}

/*Footer navi*/

/*Back to Top*/
.nav-backtotop{
	position: fixed;
	right: 1rem;
	bottom: 0;
}

/*>>> 2-4-11. Box      [box-***]*/
.box-noscript{
	border: 0.2rem solid red;
	padding: 2rem;
	margin: 1rem;
}

/* box-img */
.box-cover{
	margin-top: 30rem;
}
.box-cover .box-full-cover{
	margin-top: 0;
}
@media only screen and (max-width: 959px){
	.box-cover{
		margin-top: 15rem;
	}
	.box-cover .box-full-cover{
		margin-top: 0;
	}
}
.box-img + .hdg-lv3, .box-img + .txt-base{
	margin-top: 10rem;
}
@media only screen and (max-width: 959px){
	.box-img + .hdg-lv3, .box-img + .txt-base{
		margin-top: 4rem;
	}
}
.box-img--02.js-fullbg, .box-cover__img{
	padding-bottom: 72rem;
}
@media only screen and (max-width: 559px){
	.box-img--02.js-fullbg, .box-cover__img{
		padding-bottom: 56rem;
	}
}


/* box-lead */
.box-lead{
	padding: 0 3rem;
	padding-top: 15rem;
	text-align: center;
}
.box-lead--02{
	padding-top: 30rem;
}
@media only screen and (max-width: 959px){
	.box-lead{
		padding-top: 8rem;
	}
	.box-lead .hdg-lv2--sub{
		font-size: 1.4rem;
	}
}
.box-lead.--down{
	padding: 30rem 3rem 15rem;
}
@media only screen and (max-width: 959px){
	.box-lead.--down{
		padding: 15rem 3rem 2rem;
	}
	.box-lead.--down .hdg-lv2{
		font-size: 2rem;
	}
}

/* box-media */
.box-media{
	display: flex;
	justify-content: space-between;
	margin-top: 10rem;
}
@media only screen and (max-width: 959px){
	.box-media{
		margin-top: 4rem;
		flex-direction: column;
	}
	.box-media.box-space{
		padding-top: 4rem;
	}
}
.box-media__image{
	margin-left: calc(-1 * ((100vw - 1280px) / 2));
	box-sizing: border-box;
	flex: 1;
	height: 56rem;
	display: flex;
}
.box-media__image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (max-width: 1340px){
	.box-media__image{
		margin-left: -3rem;
		width: 53.75%;
	}
}
@media only screen and (max-width: 959px){
	.box-media__image{
		margin-left: auto;
		width: 100%;
		height: auto;
	}
}
.box-media__content{
	width: calc(100% - 62rem);
	padding-left: 8rem;
	box-sizing: border-box;
}
@media only screen and (max-width: 1340px){
	.box-media__content{
		width: calc(46.25% + 3rem);
	}
}
@media only screen and (max-width: 959px){
	.box-media__content{
		margin-top: 4rem;
		padding: 0;
		width: 100%;
	}
}
.box-media.box-media--reverse{
	flex-direction: row-reverse;
}
@media only screen and (max-width: 959px){
	.box-media.box-media--reverse{
		flex-direction: column;
	}
}
.box-media--reverse .box-media__image{
	margin-left: 0;
	margin-right: calc(-1*((100vw - 1280px) / 2)); 
}
@media only screen and (max-width: 1340px){
	.box-media--reverse .box-media__image{
		margin-right: -3rem; 
	}
}
@media only screen and (max-width: 959px){
	.box-media--reverse .box-media__image{
		margin-right: auto;
	}
}
.box-media--reverse .box-media__content{
	padding-left: 0;
	padding-right: 8rem;
}
@media only screen and (max-width: 959px){
	.box-media--reverse .box-media__content{
		padding: 0;
	}
}
.box-media + .txt-base{
	margin-top: 10rem;
}
@media only screen and (max-width: 959px){
	.box-media + .txt-base{
		margin-top: 4rem;
	}
	.hdg-lv2 + .box-media{
		margin-top: 2.4rem;
	}
}

/* box-story */
.box-story{
	margin-top: 30rem;
	display: flex;
	justify-content: space-between;
}
@media only screen and (max-width: 959px){
	.box-story{
		margin-top: 10rem;
		flex-direction: column;
	}
}
.box-story__image{
	margin-left: calc(-1 *(( 100vw - 1280px) / 2));
	box-sizing: border-box;
	flex: 1;
	overflow: hidden;
	position: relative;
	height: 50rem;
}
.box-story.box-media--reverse {
	align-items: center;
}
.box-media--reverse .box-story__image{
	height: 64rem;
}
.box-story__image__item{
	position: absolute;
	height: 120%;
	top: -20%;
	width: 100%;
	left: 0;
}
.box-story__image__item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (max-width: 1340px){
	.box-story__image{
		margin-left: -3rem;
		width: 60%;
	}
}
@media only screen and (max-width: 959px){
	.box-media--reverse .box-story__image,
	.box-story__image{
		width: calc(100% + 3rem);
		flex: none;
		height: 58.6vw;
	}
	.box-story__image > img {
		width: 100%;
	}
}
.box-story__content{
	width: calc(100% - 67.9rem);
	padding: 0 0 0 9rem;
	box-sizing: border-box;
}
@media only screen and (max-width: 1340px){
	.box-story__content{
		width: calc(40% + 3rem);
		padding: 0 0 0 6rem;
	}
}
@media only screen and (max-width: 959px){
	.box-story__content{
		margin-top: 4rem;
		width: 100%;
	}
	.box-story__title{
		font-size: 2.8rem;
	}
	.box-story__content{
		padding: 0;
	}
}
.box-story.box-media--reverse{
	flex-direction: row-reverse;
}
.box-story.box-media--reverse .box-story__image{
	margin-left: auto;
	margin-right: calc(-1 *(( 100vw - 1280px) / 2));
}
.box-story.box-media--reverse .box-story__content{
	padding: 0 9rem 0 0;
}
@media only screen and (max-width: 1340px){
	.box-story.box-media--reverse .box-story__image{
		margin-right: -3rem;
	}
}
@media only screen and (max-width: 959px){
	.box-story.box-media--reverse{
		flex-direction: column;
	}
	.box-story.box-media--reverse .box-story__image{
		width: calc(100% + 3rem);
	}
	.box-story.box-media--reverse .box-story__content{
		padding: 0;
	}
}

/* box-article */
.box-article{
	margin-left: -2rem;
	margin-right: -2rem;
}
.box-article__item{
	padding: 0 2rem;
}
.box-article__link{
	color: #333333;
}
.no-touchevents a.box-article__link:hover{
	text-decoration: none;
}
.box-article__img{
	overflow: hidden;
}
.box-article__img > img{
	-webkit-transition: all 1.2s var(--easingLink, ease-out);
	transition: all 1.2s var(--easingLink, ease-out);
}
.no-touchevents  .box-article__link:hover .box-article__img > img {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
@media only screen and (min-width: 768px){
	.box-article__item{
		width: 33.3333333333%;
	}
}
@media only screen and (max-width: 767px){
	.box-article__link{
		display: flex;
		align-items: center;
		border-bottom: .1rem solid #DDDDDD;
	}
	.box-article__item:last-of-type .box-article__link{
		border-bottom: none;
	}
	.box-article__img{
		width: 30rem;
	}
	.box-story__article .box-article__link{
		padding: 1rem 0;
		flex-direction: row-reverse;
	}
}
@media only screen and (max-width: 559px){
	.box-article__img{
		display: block;
		width: 11rem;
	}
	.box-article__img > img{
		width: 100%;
		height: 14rem;
		object-fit: cover;
	}
}
.box-article__cont{
	position: relative;
	margin-top: 2.4rem;
	padding-top: 2.4rem;
	border-top: .1rem solid #DDDDDD;
}
.box-article__cont::before{
	content: '';
	display: block;
	position: absolute;
	top: -.1rem;
	right: 0;
	width: 0;
	border-top: .1rem solid #0E228B;
	-webkit-transition: all .4s var(--easingLink, ease-out);
	transition: all .4s var(--easingLink, ease-out);
}
.no-touchevents .box-article__link:hover .box-article__cont::before{
	left: 0;
	right: inherit;
	width: 100%;
}
@media only screen and (max-width: 767px){
	.box-article__cont{
		margin-top: 0;
		padding: 0 3rem 0 2.4rem;
		width: calc(100% - 30rem);
		border-top: none;
		box-sizing: border-box;
	}
	.box-story__article .box-article__cont{
		padding: 0 1.6rem 0 0;
	}
}
@media only screen and (max-width: 559px){
	.box-article__cont{
		width: calc(100% - 11rem);
	}
}
.box-article__title{
	font-size: 2.4rem;
	font-weight: bold;
}
.box-article__title--sub{
	display: block;
	margin-bottom: 1.6rem;
	font-size: 1.6rem;
	color: #999999;
	letter-spacing: 0.08em;
	font-weight: normal;
}
@media only screen and (max-width: 959px){
	.box-article__title{
		font-size: 1.4rem;
	}
	.box-article__title--sub{
		margin-bottom: .4rem;
		font-size: 1rem;
	}
}
.box-article__des{
	margin-top: 3.2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 959px){
	.box-article__des{
		margin-top: .8rem;
	}
	.box-article__des .txt-base{
		font-size: 1.2rem;
	}
	.box-article__des .txt-base--sm{
		font-size: 1.0rem;
	}
}



/* box-fv */
.box-fv{
	position: relative;
	height: 100vh;
}
.box-fv__title{
	display: block;
	position: absolute;
	top: 46%;
	left: 0;
	width: 100%;
	font-size: 10rem;
	font-weight: 400;
	text-align: center;
	color: #fff;
	-webkit-transform: translateY(-43.5%);
	transform: translateY(-43.5%);
	z-index: 1;
}
.box-fv__title--sub{
	display: block;
	font-size: 4rem;
	font-weight: 300;
	letter-spacing: 1.18em;
	-webkit-transform: translate(2.8rem, -3rem);
	transform: translate(2.8rem, -3rem);
}
.box-fv__img{
	width: 100%;
	height: 100vh;
}
.page-top .box-fv{
	overflow: hidden;
}
.page-top .box-fv[data-status="show"] .box-fv__img img{
	filter: blur(0) brightness(100%) saturate(1);
	transform: scale(1);
}
.page-top .box-fv .box-fv__img img{
	filter: blur(20px) brightness(180%) saturate(0.7);
	transform: scale(1.2);
	transition: filter 1.5s ease, transform 2s ease;
}
.box-fv__img__item{
	position: absolute;
	top: -20%;
	left: 0;
	width: 100%;
	height: 120%;
}
.box-fv__img__item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.box-fv__scroll{
	position: absolute;
	right: .8rem;
	bottom: .8rem;
	width: 8rem;
	height: 8rem;
	border: .1rem solid rgba(255, 255, 255, .6);
	box-sizing: border-box;
	border-radius: 0.4rem;
	overflow: hidden;
	isolation: isolate;
}
.box-fv__scroll img{
	width: 4.4rem;
	height: auto;
}
.box-fv__scroll span{
	position: absolute;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	animation: scrollDown 2s infinite linear;
}
.box-fv__scroll span:nth-child(1){
	top: -100%;
}
@keyframes scrollDown {
	0% {
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	100% {
		-webkit-transform: translate(0, 100%);
		transform: translate(0, 100%);
	}
}
@media only screen and (max-width: 959px){
	.box-fv__title{
		font-size: 10.666vw;
		top: 41%;
		-webkit-transform: translateY(0%);
		transform: translateY(0%);
	}
	.box-fv__title--sub{
		margin-top: 0;
		padding-left: 0;
		font-size: 4.2666vw;
		-webkit-transform: translate(1rem, -1.3rem);
		transform: translate(1rem, -1.3rem);
	}
	.box-fv__scroll{
		right: .4rem;
		bottom: .4rem;
		width: 6rem;
		height: 6rem;
	}
	.box-fv__scroll img {
		width: 3.3rem;
	}
}

/* box-mainvisual */
.box-mainvisual{
	position: relative;
	top: 0;
	width: 100%;
	clip-path: border-box;
}
.box-mainvisual__inner{
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	text-align: center;
}
.box-mainvisual__heading{
	font-size: 11.6rem;
	color: #fff;
	-webkit-transform: translate(0, -1rem);
	transform: translate(0, -1rem);
}
@media only screen and (max-width: 959px){
	.box-mainvisual__heading{
		font-size: 14.93vw;
	}
}
.box-mainvisual__title--sub01{
	font-size: 2rem;
	letter-spacing: 0.4em;
	color: #fff;
	-webkit-transform: translate(0.5rem, 1.4rem);
	transform: translate(0.5rem, 1.4rem);
}
@media only screen and (max-width: 959px){
	.box-mainvisual__title--sub01{
		font-size: 3.2vw;
		letter-spacing: 0.24em;
		-webkit-transform: translate(0.2rem, 0.2rem);
		transform: translate(0.2rem, 0.2rem);
	}
}
.box-mainvisual__title--sub02{
	font-size: 3.2rem;
	letter-spacing: 0.4em;
	font-weight: bold;
	color: #fff;
	-webkit-transform: translate(0.5rem, -2.3rem);
	transform: translate(0.5rem, -2.3rem);
}
@media only screen and (max-width: 959px){
	.box-mainvisual__title--sub02{
		font-size: 4.8vw;
		-webkit-transform: translate(0.2rem, -0.2rem);
		transform: translate(0.2rem, -0.2rem);
	}
}
.box-mainvisual__img{
	padding-bottom: 74rem;
	position: relative;
	overflow: hidden;
}
.box-mainvisual__img__item {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 120%;
}
.box-mainvisual__img__item img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media only screen and (max-width: 959px){
	.box-mainvisual__img{
		padding-bottom: 138.6vw;
	}
}
@media only screen and (max-width: 959px) and (orientation: landscape){
	.box-mainvisual__img{
		padding-bottom: 100vh;
	}
}
.box-mainvisual--second .box-mainvisual__inner{
	top: 38.5%;
	z-index: 1;
}
@media only screen and (max-width: 959px) and (orientation: landscape){
	.box-mainvisual--second .box-mainvisual__inner{
		top: 50%;
	}
}
.box-mainvisual--second .box-mainvisual__img{
	padding-bottom: 100vh;
	padding-bottom: 100dvh;
}
/* box-base */
.box-base{
	padding-top: 30rem;
}
@media only screen and (max-width: 959px){
	.box-base{
		padding-top: 10rem;
	}
}


.box-base--second{
	padding-top: 15rem;
}

.box-space{
	padding-top: 25rem;
}
@media only screen and (max-width: 959px){
	.box-space{
		padding-top: 8rem;
	}
}
.box-space--second{
	padding-top: 10rem;
}
@media only screen and (max-width: 959px){
	.box-space--second{
		padding-top: 4.8rem;
	}
}

.box-media.box-space{
	margin-top: 0;
}

/* box-pro */
.box-pro{
	position: relative;
	padding-top: 1px;
	z-index: 2;
}
.box-pro__inner{
	margin-top: -8rem;
	padding: 7.5rem 6.4rem 8rem;
	box-sizing: border-box;
	background: #FFFFFF;
}
@media only screen and (max-width: 959px){
	.box-pro__inner{
		margin-top: -4rem;
		padding: 3.2rem 2.4rem;
	}
}
.box-pro__head{
	padding-bottom: 2.4rem;
	margin-bottom: 2.4rem;
	display: flex;
	align-items: center;
	border-bottom: .1rem solid #DDDDDD;
}
@media only screen and (max-width: 959px){
	.box-pro__head{
		padding-bottom: 2.2rem;
		margin-bottom: 2.2rem;
		flex-direction: column;
	}
}
@media only screen and (max-width: 559px){
	.box-pro__head{
		align-items: flex-start;
	}
}
.box-pro__title{
	font-size: 4rem;
	letter-spacing: 0.08em;
}
@media only screen and (max-width: 959px){
	.box-pro__title{
		font-size: 2rem;
	}
}
.box-pro__title--sub{
	display: inline-block;
	width: 2.4rem;
	font-size: 1.8rem;
	letter-spacing: 0.4em;
	writing-mode: tb-rl;
	-webkit-transform: translate(.1rem, -.5rem) rotate(-180deg);
	transform: translate(.1rem, -.5rem) rotate(-180deg);
	color: #999999;
	text-align: center;
}
@media only screen and (max-width: 959px){
	.box-pro__title--sub{
		width: auto;
		font-size: 1.4rem;
		letter-spacing: 0.4em;
		writing-mode: horizontal-tb;
		-webkit-transform: translate(0, .2rem) rotate(0);
		transform: translate(0, .2rem) rotate(0);
	}
}
.box-pro__title--lv3{
	display: inline-block;
}
.box-pro__title--lv3 + .txt-base--xs{
	margin-top: 1.6rem;
}
.box-pro__item{
	display: flex;
	padding-left: 4rem;
	width: calc(100% - 2.4rem);
}
@media only screen and (max-width: 959px){
	.box-pro__item{
		margin-top: .8rem;
		padding-left: 0;
		flex-direction: column;
		align-items: center;
		width: 100%;
	}
}
.box-pro__img{
	width: 14.5rem;
}
@media only screen and (max-width: 559px){
	.box-pro__img{
		width: 10rem;
	}
}
.box-pro__img > img{
	border-radius: 50%;
}
.box-pro__cont{
	padding-left: 2.4rem;
	width: calc(100% - 14.5rem);
}
@media only screen and (max-width: 959px){
	.box-pro__cont{
		padding-left: 0;
		width: 100%;
	}
}
.box-pro__des{
	display: flex;
	align-items: center;
}
@media only screen and (max-width: 959px){
	.box-pro__des{
		flex-direction: column;
	}
}
@media only screen and (max-width: 559px){
	.box-pro__des{
		align-items: flex-start;
	}
}
.box-pro__name{
	margin: 0 0 1.6rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
@media only screen and (max-width: 959px){
	.box-pro__name{
		margin: 1.2rem 0;
	}
	.box-pro__pos{
		font-size: 1rem;
	}
	.box-pro__txt{
		font-size: 1rem;
	}
}
.box-pro__txt + .link{
	margin-top: 1.6rem;
}
.box-pro--second{
	margin-top: 15rem;
}
@media only screen and (max-width: 959px){
	.box-pro--second{
		margin-top: 8rem;
	}
}
.box-pro--second .box-pro__inner{
	margin-top: 0;
	padding-top: 8rem;
}
@media only screen and (max-width: 959px){
	.box-pro--second .box-pro__inner{
		padding-top: 3.2rem;
	}
}
.box-pro--second .box-pro__title{
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.75;
}
@media only screen and (max-width: 959px){
	.box-pro--second .box-pro__title{
		font-size: 1.6rem;
		line-height: 1.35;
	}
}
.box-pro--second .box-pro__title--sub{
	-webkit-transform: translate(.1rem, .5rem) rotate(-180deg);
	transform: translate(.1rem, .5rem) rotate(-180deg);
}
@media only screen and (max-width: 959px){
	.box-pro--second .box-pro__title--sub{
		-webkit-transform: translate(0, .2rem) rotate(0deg);
		transform: translate(0, .2rem) rotate(0deg);
	}
}

/* box-timeline */
.box-timeline{
	position: relative;
	margin-top: 10.3rem;
}
@media only screen and (max-width: 959px){
	.box-timeline{
		margin-top: 15rem;
	}
}
.box-timeline__head{
	position: relative;
	margin: 3.2rem 0;
	text-align: center;
}

.box-timeline__head--main{
	font-size: 10rem;
	color: #0E228B;
}
.box-timeline__head--sub{
	display: block;
	margin-top: -2.5rem;
	font-size: 1.6rem;
}
@media only screen and (max-width: 959px){
	.box-timeline__head--main{
		font-size: 4.8rem;
	}
	.box-timeline__head--sub{
		margin-top: -.2rem;
		font-size: 1.2rem;
	}
}
.box-timeline__cont{
	position: relative;
	
}
.box-timeline__cont::before{
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: .1rem;
	height: 0;
	background: #DDDDDD;
	z-index: -1;
}
@keyframes drawLine {
	0% {
		height: 0;
	}
	100% {
		height: 100%;
	}
}

.box-timeline__head.-show + .box-timeline__cont::before{
	animation: drawLine 1.5s  var(--easingLink, ease-out)  0.5s forwards;
}
.box-timeline__head.-show + .box-timeline__cont [data-fadein02]{
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.3s;
}


@media only screen and (max-width: 959px){
	.box-timeline__cont::before{
		background: #DDDDDD;
	}
}
.box-timeline__inner{
	position: relative;
	padding: 12rem 0 11.5rem;
}
.box-timeline__inner::before, .box-timeline__inner::after{
	content: "";
	position: absolute;
	top: 0;
	left: calc(50% - .4rem);
	width: .8rem;
	height: .8rem;
	background: #DDDDDD;
	border-radius: 50%;
	opacity: 0;
}
@keyframes drawCircle {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
.box-timeline__head.-show + .box-timeline__cont .box-timeline__inner::before{
	animation: drawCircle 1s  var(--easingLink, ease-out) 0.3s forwards;
}
.box-timeline__head.-show + .box-timeline__cont .box-timeline__inner::after{
	animation: drawCircle 1s  var(--easingLink, ease-out) 1s forwards;
}
@media only screen and (max-width: 959px){
	.box-timeline__inner::before, .box-timeline__inner::after{
		background: #DDDDDD;
	}
}
.box-timeline__inner::after{
	top: inherit;
	bottom: 0;
}
.box-timeline__item:last-of-type .box-timeline__inner::after{
	display: none;
}
@media only screen and (max-width: 959px){
	.box-timeline__inner{
		padding: 6.5rem 0;
	}
}
.box-timeline__row{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.box-timeline__row + .box-timeline__row{
	margin-top: 15rem;
}
@media only screen and (max-width: 959px){
	.box-timeline__row{
		flex-direction: column;
		justify-content: center;
	}
	.box-timeline__row + .box-timeline__row{
		margin-top: 6.4rem;
	}
}
.box-timeline__img{
	margin-left: -9rem;
	width: 73rem;
	padding-right: 9rem;
	box-sizing: border-box;
}
@media only screen and (max-width: 1400px){
	.box-timeline__img{
		margin-left: -3rem;
		width: calc(50% + 3rem);
		padding-right: 4rem;
	}
}
@media only screen and (max-width: 959px){
	.box-timeline__img{
		margin: 0 auto;
		max-width: 64rem;
		width: 100%;
		padding-right: 0;
	}
}
.box-timeline__des{
	padding-left: 9rem;
	width: 50%;
	box-sizing: border-box;
	margin-left: 0;
}
@media only screen and (max-width: 1400px){
	.box-timeline__des{
		padding-left: 4rem;
	}
}
@media only screen and (max-width: 959px){
	.box-timeline__des{
		margin-top: 1.6rem;
		padding-left: 0;
		width: 100%;
		text-align: center;
	}
}
@media only screen and (max-width: 559px){
	.box-timeline__des{
		text-align: left;
	}
}
.box-timeline__title--sm{
	position: relative;
	display: inline-block;
	padding: .4rem 1.6rem;
	height: 4rem;
	font-size: 2.4rem;
	letter-spacing: 0.08em;
	font-weight: bold;
	box-sizing: border-box;
}
@media only screen and (max-width: 959px){
	.box-timeline__title--sm{
		padding: .2rem .8rem;
		height: 2.3rem;
		font-size: 1.4rem;
	}
}
.box-timeline__title--sm::before, .box-timeline__title__txt--lg::before{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -1;
}
.box-timeline__title--lg{
	display: block;
	margin-top: .8rem;
	font-size: 4rem;
	font-size: clamp(2rem, 2.5vw, 4rem);
	letter-spacing: 0.08em;
	font-weight: bold;
	/* min-height: 7rem; */
}
.box-timeline__title__txt--lg{
	position: relative;
	padding: .8rem 1.6rem;
	display: inline-block;
	/* min-height: 7rem; */
	box-sizing: border-box;
}
@media only screen and (max-width: 959px){
	.box-timeline__title--lg{
		margin-top: .4rem;
		font-size: 2rem;
		min-height: 3.5rem;
	}
	.box-timeline__title__txt--lg{
		padding: .4rem .8rem;
		min-height: 3.5rem;
	}
}
.box-timeline__title + .txt-base--sm{
	margin-top: 4rem;
	position: relative;
	z-index: 1;
}
@media only screen and (max-width: 959px){
	.box-timeline__title + .txt-base--sm{
		margin-top: 1.6rem;
	}
}
.box-timeline__row--reverse{
	flex-direction: row-reverse;
}
.box-timeline__row--reverse .box-timeline__des{
	padding-right: 9rem;
	padding-left: 0;
}
@media only screen and (max-width: 1400px){
	.box-timeline__row--reverse .box-timeline__des{
		padding-right: 4rem;
	}
}
@media only screen and (max-width: 959px){
	.box-timeline__row--reverse .box-timeline__des{
		padding-right: 0;
	}
}
.box-timeline__row--reverse .box-timeline__img{
	margin-right: -9rem;
	padding-right: 0;
	padding-left: 9rem;
}
@media only screen and (max-width: 1400px){
	.box-timeline__row--reverse .box-timeline__img{
		margin-right: -3rem;
		padding-left: 4rem;
	}
}
@media only screen and (max-width: 959px){
	.box-timeline__row--reverse .box-timeline__img{
		margin: 0 auto;
		padding-left: 0;
	}
}
.box-timeline__row--reverse .box-timeline__title{
	margin-right: -9rem;
}
@media only screen and (max-width: 1400px){
	.box-timeline__row--reverse .box-timeline__title{
		margin-right: -3.9rem;
	}
}
@media only screen and (max-width: 959px){
	.box-timeline__row--reverse .box-timeline__title{
		margin-right: 0;
	}
}
.box-timeline__main{
	text-align: center;
}
.box-timeline__img--mid{
	padding: 3.2rem 0 6.4rem;
}
@media only screen and (max-width: 959px){
	.box-timeline__img--mid{
		padding: 3.2rem 0 0;
	}
	.box-timeline__img--mid > img{
		width: 15rem;
	}
}

.related-article{
	margin-top: 15rem;
	padding-top: 15rem;
}
.related-article__inner {
	padding-bottom: 15rem;
}
.related-article .txt-head{
	margin-bottom: 10rem;
}
@media only screen and (max-width: 959px){
	.related-article{
		margin-top: 4.8rem;
		padding: 10rem 0 0;
	}
	.related-article__inner {
		padding-bottom: 10rem;
	}
}
@media only screen and (max-width: 767px){
	.related-article .box-article{
		margin-left: -3rem;
		margin-right: -3rem;
	}
	.related-article .box-article__item{
		padding: 0;
	}
}
@media only screen and (max-width: 559px){
	.related-article .txt-head{
		margin-bottom: 4.8rem;
		font-size: 1.4rem;
		letter-spacing: 0.32em;
	}
	.related-article__inner {
		padding-bottom: 0;
	}
}

/* box-message */
.box-message{
	padding: 30rem 0 25rem;
	background: #F8F8F8;
}
@media only screen and (max-width: 959px){
	.box-message{
		padding: 10rem 0 0;
	}
}
.box-message-wrp{
	margin: 0 auto;
	width: 100%;
	max-width: 160rem;
}
.box-message__inner{
	position: relative;
	margin-top: 30rem;
	display: flex;
	justify-content: flex-end;
}
@media only screen and (max-width: 959px){
	.box-message__inner{
		margin-top: 4.8rem;
		display: block;
	}
}
.box-message__img{
	position: absolute;
	left: calc(-1 * ((100vw - 1280px) / 2));
	right: 0;
	top: -15rem;
	width: calc(43.75% + ((100vw - 1280px) / 2) + 8rem);
}

.box-message__img img{
	width: 100%;
	aspect-ratio: 800 / 580;
}
@media only screen and (max-width: 1340px){
	.box-message__img{
		width: 53.75%;
		left: -3rem;
	}
}
@media only screen and (max-width: 959px){
	.box-message__img{
		position: static;
		width: 100%;
		max-width: 86rem;
		margin: 0 auto 4rem;
	}
}
.box-message__cont{
	position: relative;
	width: 56.25%;
	z-index: 2;
}
@media only screen and (max-width: 959px){
	.box-message__cont{
		width: 100%;
	}
}
.box-message__sign{
	margin-top: 8rem;
	text-align: right;
}
@media only screen and (max-width: 959px){
	.box-message__sign{
		margin-top: 4rem;
	}
}

/* box-intro */
.box-intro{
	position: relative;
	display: flex; 
	align-items: center;
	justify-content: center;
	width: 100%;
	padding: 116rem 0 48rem;
	text-align: center;
	clip-path: border-box;
}
.box-intro__inner{
	padding: 0 3rem;
	position: relative;
	z-index: 1;
}
.box-intro__bg{
	content: '';
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(/20th/assets/images/top/top-bg-intro.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	z-index: -1;
}
#grateful-intro .box-intro__bg{
	background: url(/20th/assets/images/grateful/grateful-bg-intro.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
}
.box-intro__logo-back {
	content: '';
	display: block;
	width: 30rem;
	width: clamp(24rem, 18.75vw, 30rem);
	position: fixed;
	top: 44%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
}
.box-intro__logo-back svg {
	width: 100%;
	height: auto;
}
[data-scroll-fixed] {
	position: fixed;
	top: min(30vh, 27rem);
	left: 50%;
	transform: translate(-50%, 0);
	z-index: 1;
}
[data-scroll-fixed].-clone{
	opacity: 0;
	z-index: 1;
}
@media only screen and (max-width: 559px){
	.box-intro__logo-back {
		width: 14rem;
	}

	[data-scroll-fixed] {
		top: 20.4rem;
		left: 50%;
	}
}
.page-grateful .box-intro__logo-back{
	width: 72rem;
}
@media only screen and (max-width: 559px){
	.page-grateful .box-intro__logo-back{
		width: 33.5rem;
	}
}
.box-intro__cont{
	margin: 6.4rem 0;
}
@media only screen and (max-width: 959px){
	.box-intro{
		padding: 66.7rem 0 32rem;
	}
	.box-intro::after {
		width: 15rem;
		height: 17.45rem;
		top: 24.625rem;
	}
	.box-intro__cont{
		margin: 3.2rem 0;
	}
}
.box-intro__head{
	font-size: 4rem;
	letter-spacing: 0.07em;
	font-weight: bold;
	color: #fff;
}
@media only screen and (max-width: 959px){
	.box-intro__head{
		font-size: 2.4rem;
	}
}
.box-intro__txt{
	letter-spacing: 0.07em;
	color: #fff;
	font-size: 2rem;
}
.box-intro__txt--second{
	margin-top: 6.3rem;
	font-size: 3.6rem;
	letter-spacing: 0.07em;
	font-weight: bold;
	color: #fff;
	line-height: 1.75;
}
.box-intro__txt--second:first-of-type{
	margin-top: 0;
}
@media only screen and (max-width: 959px){
	.box-intro__txt--second{
		font-size: 2.8rem;
	}
}
@media only screen and (max-width: 559px){
	.box-intro__txt--second{
		margin-top: 3rem;
		font-size: 1.7rem;
		letter-spacing: 0.08em;
	}
	.box-intro__txt{
		font-size: 1.4rem;
	}
}
.box-intro__txt--third{
	margin-top: 6.3rem;
	font-size: 2.4rem;
	letter-spacing: 0.07em;
	color: #fff;
	line-height: 1.75;
}
@media only screen and (max-width: 959px){
	.box-intro__txt--third{
		margin-top: 2.5rem;
		font-size: 1.4rem;
		letter-spacing: 0.08em;
	}
}
.box-intro__logo > img{
	width: 24rem;
}
@media only screen and (max-width: 959px){
	.box-intro__logo > img{
		width: 14rem;
	}
}

.box-full-cover{
	height: 80rem;
	position: relative;
	overflow: hidden;
}
.box-full-cover.-top {
	margin-top: 48rem;
	height: 96rem;
	height: min(96rem, 100dvh);
}
.box-full-cover__item{
	height: 120%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: -20%;
	width: 100%;
}
.box-full-cover__item img{
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.box-full-cover__item picture{
	height: 100%;
	display: block;
}
@media only screen and (max-width: 959px){
	.box-full-cover{
		margin-top: 15rem;
	}
	.box-full-cover.-top {
		margin-top: 15rem;
	}
}
@media only screen and (max-width: 559px){
	.box-full-cover{
		height: 56rem;
	}
}

#info{
	padding-top: 20rem;
	padding-bottom: 31rem;;
}
@media only screen and (max-width: 959px){
	#info{
		padding-top: 10rem;
		padding-bottom: 15rem;
	}
}

/* box-pas */
.box-pas{
	padding-top: 25rem;
}
.box-pas__inner{
	display: flex;
	align-items: flex-start;
	position: relative;
}
.box-pas.-reverse .box-pas__inner{
	flex-direction: row-reverse;
}
@media only screen and (max-width: 959px){
	.box-pas{
		padding-top: 8rem;
		display: block;
	}
	.box-pas__inner{
		display: block;
	}
}
.box-pas + .box-pas{
	padding-top: 30rem;
}
@media only screen and (max-width: 959px){
	.box-pas + .box-pas{
		padding-top: 15rem;
	}
}
.box-pas__content{
	width: 82.6rem;
	padding-right: 8rem;
}
.box-pas.-reverse .box-pas__content{
	padding-right: 0;
	padding-left: 8rem;
}
@media only screen and (max-width: 1340px){
	.box-pas__content{
		width: 55%;
		padding-right: 6rem;
	}
	.box-pas.-reverse .box-pas__content{
		padding-right: 0;
		padding-left: 6rem;
	}
}
@media only screen and (max-width: 959px){
	.box-pas__content{
		width: 100%;
		padding: 0;
	}
	.box-pas.-reverse .box-pas__content{
		padding-right: 0;
		padding-left: 0;
	}
	.box-pas__content .box-img > img {
		width: 100%;
	}
}
.box-pas__image{
	right: calc(-1 *(( 100vw - 1280px) / 2));
	width: calc(100% - 82.6rem  - 8rem + ((100vw - 1280px) / 2) );
	flex: 1;
	overflow: hidden;
	isolation: isolate;
	clip-path: border-box;
	position: absolute;
}
.box-pas.-reverse .box-pas__image{
	right: 0;
	left: calc(-1 *(( 100vw - 1280px) / 2));
}
.box-pas__image img{
	width: 100%;
	height: 100vh;
	height: 100dvh;
	object-fit: cover;
}
@media only screen and (max-width: 1340px){
	.box-pas__image{
		right: -3rem;
		width: calc(45% - 2rem);
	}
	.box-pas.-reverse .box-pas__image{
		right: 0;
		left: -3rem;
	}
}
@media only screen and (max-width: 959px){
	.box-pas__image{
		margin-top: 6.4rem;
		margin-left: -3rem;
		width: calc(100% + 6rem);
		position: static;
	}
	.box-pas__image img{
		width: 100%;
		position: static;
		height: auto;
	}
}


/* box-campaign */
.box-campaign{
	position: relative;
	margin-left: auto;
	margin-right: auto;
	background: #F8F8F8;
	margin-top: 15rem;
}
@media only screen and (max-width: 959px){
	.box-campaign{
		margin-top: 8rem;
	}
}
.box-campaign::before, .box-campaign::after{
	content: '';
	display: block;
	position: absolute;
	top: .6rem;
	left: 3.6rem;
	width: 6.6rem;
	height: 6.6rem;
	background: url(/20th/assets/images/lovers/lovers-pattern-left.png) no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 959px){
	.box-campaign::before, .box-campaign::after{
		top: .5rem;
		left: 3.5rem;
	}
}
.box-campaign::after{
	left: inherit;
	right: 3.6rem;
	background: url(/20th/assets/images/lovers/lovers-pattern-right.png) no-repeat;
	background-size: cover;
}
@media only screen and (max-width: 959px){
	.box-campaign::before, .box-campaign::after{
		right: 3.5rem;
	}
}
.box-campaign__inner{
	position: relative;
	padding: 6.8rem 6.8rem 14rem;
	box-sizing: border-box;
	border: .1rem solid #333333;
	overflow: hidden;
}
.box-campaign__inner::before{
	content: '';
	display: block;
	position: absolute;
	top: .5rem;
	left: .5rem;
	width: calc(100% - 1.2rem);
	height: calc(100% - 1.2rem);
	border: .1rem solid #333333;
}
.box-campaign__inner::after{
	content: '';
	display: block;
	position: absolute;
	bottom: .6rem;
	left: .6rem;
	width: calc(100% - 1.2rem);
	height: 7.1rem;
	background: url(/20th/assets/images/lovers/lovers-bg-line-02.png) no-repeat;
	background-size: cover;
}
@media only screen and (max-width:959px){
	.box-campaign__inner{
		padding: 4.3rem 2.6rem 7.5rem;
	}
	.box-campaign__inner::before{
		top: .3rem;
		left: .3rem;
		width: calc(100% - .8rem);
		height: calc(100% - .8rem);
	}
	.box-campaign__inner::after{
		bottom: .4rem;
		left: .4rem;
		width: calc(100% - .8rem);
		height: 3.2rem;
	}
}
.box-campaign__head{
	position: relative;
	text-align: center;
}
.box-campaign__head::before, .box-campaign__head::after{
	content: '';
	display: block;
	position: absolute;
	top: -3rem;
    left: -9.8rem;
    width: 15rem;
	height: .1rem;
	background: #333333;
	transform: rotate(-45deg);
}
@media only screen and (max-width:959px){
	.box-campaign__head::before, .box-campaign__head::after{
		top: 2rem;
		left: -10.1rem;
		width: 18rem;
	}
}
.box-campaign__head::after{
	left: inherit;
    right: -9.8rem;
	transform: rotate(45deg);
}
@media only screen and (max-width:959px){
	.box-campaign__head::after{
		right: -10.1rem;
	}
}
.box-campaign__title{
	position: relative;
	display: inline-block;
	padding: 9.4rem 0 0;
	font-size: 6.4rem;
	font-weight: bold;
	letter-spacing: 0.08em;
	text-align: center;
}
@media only screen and (max-width:959px){
	.box-campaign__title{
		padding: 5.6rem 0 0;
		font-size: 2.4rem;
	}
}
.box-campaign__logo{
	position: absolute;
	top: 6rem;
    right: -17.8rem;
	z-index: -1;
}
@media only screen and (max-width:959px){
	.box-campaign__logo{
		display: none;
	}
}
.box-campaign__title--vector{
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
@media only screen and (max-width:959px){
	.box-campaign__title--vector{
		width: 10.3rem;
	}
}
.box-campaign__des{
	position: relative;
	margin-top: 2.4rem;
	padding-top: 2.4rem;
	border-top: .1rem solid #333333;
}
.box-campaign__des::before{
	content: '';
	display: block;
	position: absolute;
	top: .5rem;
	left: 0;
	width: 100%;
	border-top: .1rem solid #333333;
}
@media only screen and (max-width:959px){
	.box-campaign__des::before{
		top: .3rem;
	}
}
.box-campaign__txt{
	font-size: 2.2rem;
	line-height: 1.75;
	font-weight: bold;
	letter-spacing: 0.08em;
}
@media only screen and (max-width:959px){
	.box-campaign__txt{
		font-size: 1.4rem;
	}
}
.box-campaign__img{
	display: block;
	margin-top: 6.4rem;
}
@media only screen and (max-width:959px){
	.box-campaign__img{
		margin-top: 2.7rem;
		margin-right: -.6rem;
	}
}
.box-campaign__content{
	margin-top: 7rem;
}
@media only screen and (max-width:959px){
	.box-campaign__content{
		margin-top: 2.6rem;
	}
}
.box-campaign__title--second{
	position: relative;
	display: block;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 2.7rem;
	letter-spacing: 0.08em;
	height: 2.7rem;
	text-align: center;
}
@media only screen and (max-width:959px){
	.box-campaign__title--second{
		font-size: 1.6rem;
		line-height: 1.8rem;
		height: 1.8rem;
	}
}
.box-campaign__title--second::before, .box-campaign__title--second::after{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 38.88%;
	height: 100%;
	background: url(/20th/assets/images/lovers/lovers-bg-line-01.png) no-repeat;
	background-size: cover;
}
.box-campaign__title--second::after{
	left: inherit;
	right: 0;
}
.box-campaign__title__txt{
	position: relative;
	display: inline-block;
	padding: 0 2.4rem;
	background: #F8F8F8;
	z-index: 1;
}
@media only screen and (max-width:959px){
	.box-campaign__title__txt{
		padding: 0 2rem;
	}
}
.box-campaign__title--second + .txt-base{
	margin-top: 2.4rem;
}
@media only screen and (max-width:959px){
	.box-campaign__title--second + .txt-base{
		margin-top: 1.8rem;
	}
}

/* box-plane */
.box-gallery{
	padding-bottom: 30rem;
}
.box-gallery + .box-cover{
	margin-top: 0;
}
.box-plane{
	margin-top: 15rem;
}
.box-plane__inner{
	display: flex;
}
@media only screen and (max-width:959px){
	.box-gallery{
		padding-bottom: 15rem;
	}
	.box-plane{
		margin-top: 15rem;
	}
	.box-plane__inner{
		flex-direction: column;
	}
}
.box-plane__cont{
	position: relative;
	padding: 0 0 0 16rem;
	padding: 0 0 0 10vw;
	width: calc(100% - 37.4rem);
	box-sizing: border-box;
	background: #fff;
	position: relative;
}
.box-plane__cont::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 100%;
	width: 200%;
	height: 100%;
	background: #fff;
}
@media only screen and (max-width:959px){
	.box-plane__cont{
		margin-left: -3rem;
		margin-right: -3rem;
		padding: 0;
		width: calc(100% + 6rem);
		box-sizing: border-box;
		background: none;
	}
}
.box-plane__img{
	position: relative;
	height: 100vh;
	height: 100dvh;
	width: 100%;
}
.box-plane__img .popup-link{
	position: relative;
}
.box-plane__img::before{
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10.7rem;
	height: 10.7rem;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	background: url(/20th/assets/images/common/icn-zoom.svg) no-repeat;
	background-size: cover;
	background-position: center center;
	z-index: 1;
	transition: 0.5s var(--easingLink, ease-out);
	transform-origin: left top;
	pointer-events: none;
	mix-blend-mode: screen;
	opacity: 0;
	transform: scale(0.9) translate(-50%, -50%);
}
@media only screen and (max-width:959px){
	.box-plane__img::before{
		display: none;
	}
}
.no-touchevents .box-plane__img.is-hover::before{
	transform: scale(1) translate(-50%, -50%);
	opacity: 1;
}
@media only screen and (max-width:959px){
	.box-plane__img .popup-link{
		display: flex;
		align-items: center;
		min-height: 11rem;
		border-bottom: .1rem dashed #DDDDDD;
	}
	.box-plane__img .box-tab:first-child .popup-link{
		border-top: .1rem dashed #DDDDDD;
	}
	.box-plane__img .popup-link::before{
		display: none;
	}
	.box-plane__img{
		height: auto;
	}
}
.box-plane__thumb{
	display: block;
}
@media only screen and (max-width:959px){
	.box-plane__thumb{
		width: 11rem;
	}
	.box-plane__thumb > img {
		width: 100%;
		height: 11rem;
		object-fit: cover;
	}
}

.box-plane__txt {
	display: none;
}
@media only screen and (max-width:959px){
	.box-plane__txt {
		display: block;
		padding: 0 3rem 0 2.4rem;
		width: calc(100% - 11rem);
		font-size: 1.4rem;
		line-height: 1.35;
		color: #333333;
		box-sizing: border-box;
	}
}
.box-plane__num {
	display: none;
}
@media only screen and (max-width:959px){
	.box-plane__num {
		display: block;
		margin-bottom: .5rem;
		font-size: 1rem;
		font-weight: 500;
		color: #999999;
		letter-spacing: 0.08em;
	}
}

/* box-tab */
.box-tab{
	display: none;
	position: absolute;
	left: 0;
	top: 50%;
	width: 100%;
	transform: translateY(-50%);
}
@media only screen and (max-width:959px){
	.box-tab{
		display: block;
		position: static;
		transform: none;
	}
}
#boxtab1{
	display: block;
}

/* plane-popup */
.mfp-container{
	padding: 0;
}
.plane-popup{
	width: 100%;
	margin: 0 auto;
}
.plane-popup__inner{
	display: flex;
	align-items: stretch;
	width: 100%;
	height: 100vh;
	height: 100dvh;
	background: #222222;
}
@media only screen and (max-width:959px){
	.plane-popup__inner{
		flex-direction: column;
		height: auto;
	}
}
.plane-popup__item--left{
	position: relative;
	display: flex;
	align-items: center;
	width: calc(100% - 53.4rem);
	box-sizing: border-box;
	overflow: hidden;
}
@media only screen and (max-width:959px){
	.plane-popup__item--left{
		width: 100%;
	}
}
.plane-popup__img{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 130%;
	padding-bottom: 130%;
	transform: translate(-50%, -50%);
	filter: blur(12px);
	opacity: 0.5;
	z-index: 201;
}
.plane__img{
	position: relative;
	padding: 0 8rem;
	z-index: 202;
}
@media only screen and (max-width:959px){
	.plane__img{
		padding: 6.4rem 3rem;
	}
}
.plane-popup__item--right{
	position: relative;
	width: 53.4rem;
	background: #333333;
	box-sizing: border-box;
	overflow: hidden;
}
@media only screen and (max-width:959px){
	.plane-popup__item--right{
		width: 100%;
	}
}
.plane-popup__content{
	padding: 15rem 8rem;
	padding: min(10vw, 15rem) 8rem;
	box-sizing: border-box;
	height: 100%;
}
.plane-popup__content__inner{
	height: 100%;
	overflow-y: auto;
	box-sizing: border-box;
}
.scrollbar {
	--scroll-size: 5px;
	--scroll-radius: 10px;
	--scroll-track: rgb(255 255 255 / 10%);
	--scroll-thumb-color: #fff;
}
@supports not (selector(::-webkit-scrollbar-thumb)) {
	.scrollbar {
		scrollbar-color: var(--scroll-thumb-color, grey) var(--scroll-track, transparent);
		scrollbar-width: thin;
	}
}
.scrollbar::-webkit-scrollbar {
	width: var(--scroll-size, 10px);
	height: var(--scroll-size, 10px);
}
.scrollbar::-webkit-scrollbar-track {
	background-color: var(--scroll-track, transparent);
	border-radius: var(--scroll-track-radius, var(--scroll-radius));
}
.scrollbar::-webkit-scrollbar-thumb {
	background-color: var(--scroll-thumb-color, grey);
	background-image: var(--scroll-thumb, none);
	border-radius: var(--scroll-thumb-radius, var(--scroll-radius));
}
@media only screen and (max-width:959px){
	.plane-popup__content{
		padding: 6.4rem 3rem 10rem;
	}
}
.plane__name{
	font-size: 2.4rem;
	color: #fff;
	letter-spacing: 0.08em;
}
@media only screen and (max-width:959px){
	.plane__name{
		font-size: 1.6rem;
	}
}
.plane__num{
	display: block;
	margin-bottom: 1rem;
	font-size: 2rem;
	font-weight: 500;
	color: #999999;
	letter-spacing: 0.08em;
}
@media only screen and (max-width:959px){
	.plane__num{
		margin-bottom: .4rem;
		font-size: 1rem;
	}
}
.plane__txt{
	margin-top: 4rem;
	color: #fff;
}
.plane__txt.txt-base--sm + .plane__txt.txt-base--sm{
	margin-top: 1rem;
}
@media only screen and (max-width:959px){
	.plane__txt{
		margin-top: 2.4rem;
	}
	.plane__txt.txt-base--sm + .plane__txt.txt-base--sm{
		margin-top: .5rem;
	}
}
.plane-popup-btn{
	width: 10.7rem;
	height: 10.7rem;
	width: min(10.7rem, 6vw);
	height: min(10.7rem, 6vw);
	background: #222222;
	transition: background 0.3s var(--easingLink, ease-out);
}
.no-touchevents .plane-popup-btn:hover{
	background: #555;
}
.plane-popup-btn img{
	width: 6rem;
	width: min(6rem, 3.75vw);
}
@media only screen and (max-width:959px){
	.plane-popup-btn{
		width: 6.4rem;
		height: 6.4rem;
	}
	.plane-popup-btn > img{
		width: 3.5rem;
	}
}
.plane-popup__close{
	position: absolute;
	top: 0;
	right: 0;
	z-index: 202;
}
@media only screen and (max-width:959px){
	.plane-popup__close{
		top: inherit;
		bottom: 0;
		position: fixed;
	}
	.plane-popup__close > img{
		width: 3.1rem;
	}
}
.plane-popup-wrp-btn{
	display: flex;
	justify-content: space-between;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 201;
}
@media only screen and (max-width:959px){
	.plane-popup-wrp-btn{
		justify-content: flex-start;
		background: #222222;
		position: fixed;
	}
}
.popup-link{
	display: block;
}
.popup-link:hover{
	text-decoration: none!important;
}
/*>>> 2-4-12. Form     [frm-***]*/

/*>>> 2-4-13. Error    [err-***]*/


/* -----------------------------------------------
*> [3. Layout]
-------------------------------------------------- */

/*>> 3-1. #l-document
-------------------------------------------------- */
#l-document{
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
	clip-path: border-box;
}
.page-top #l-document{
	background: #F8F8F8;
	z-index: 1;
}
.overflow-hidden {
	overflow: hidden;
}
.-hasLine{
	position: relative;
}
.-hasLine::before{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	width: 53.3rem;
	height: 100%;
	border-left: .1rem solid #E6E6E6;
	border-right: .1rem solid #E6E6E6;
	z-index: 0;
}
@media only screen and (max-width:559px){
	.-hasLine::before{
		width: .1rem;
		border-right: none;
	}
	.-hideLineSp::before {
		display: none;
	}
}

/*>> 3-2. #l-header
-------------------------------------------------- */
#l-header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.l-header__wrapper{
	padding: 4rem 0;
	margin: 0 3.75vw;
	display: flex;
	justify-content: space-between;
	align-items: end;
}
@media only screen and (max-width:959px){
	.l-header__wrapper{
		padding: 2.4rem 0 0;
		margin: 0;
		display: flex;
		justify-content: center;
	}
}
.l-header__logo > a > img{
	width: 16rem;
}
@media only screen and (max-width:959px){
	.l-header__logo > a > img{
		width: 14rem;
	}
}

/*>> 3-3. #l-container
-------------------------------------------------- */
#l-container{

}

/*>>> 3-3-1. #l-main
-------------------------------------------------- */
#l-main{
	
}

/*>>> 3-3-2. #l-sub
-------------------------------------------------- */


/*>> 3-4. #l-footer
-------------------------------------------------- */

.has-related-article .footer.-hasLine::before{
	display: none;
}
.footer{
	padding: 5rem 0 8rem;
	display: flex;
	justify-content: center;
	z-index: 2;
	position: relative;
	background: #F8F8F8;
}
.footer__inner{
	text-align: center;
}
.footer__copyright{
	margin-top: 1.8rem;
	font-size: 1.2rem;
	color: #162E75;
	line-height: 1.5;
}
@media only screen and (max-width:959px){
	.footer{
		padding: 10rem 0 14rem;
	}
	.footer__logo > a > img{
		width: 14rem;
	}
	.footer__copyright{
		margin-top: 1.5rem;
		font-size: 1rem;
	}
	
}
@media only screen and (max-width:559px){
	.page-journey .footer.-hasLine::before{
		display: none;
	}
}
.footer--second-wrap {
	height: 100vh;
	height: 100dvh;
	min-height: 70rem;
}
.footer--second{
	padding: 8rem 0;
	background: url(/20th/assets/images/top/top-bg-footer.jpg) no-repeat;
	background-size: cover;
	background-position: bottom center;
	box-sizing: border-box;
	position: fixed;
	height: 100vh;
	height: 100dvh;
	min-height: 70rem;
	z-index: 0;
	width: 100%;
	left: 0;
	bottom: 0;
	box-sizing: border-box;
}

.footer--second .footer__logo{
}
.footer--second .footer__inner{
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.footer--second .footer__copyright{
	color: #fff;
}
.footer__logo--second{
	position: absolute;
	left: 50%;
	top: 44%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 30rem;
	width: clamp(24rem, 18.75vw, 30rem);
}
.footer__logo--second img{
	width: 100%;
}
@media only screen and (max-width:559px){
	.footer__logo--second{
		width: 14rem;
		margin: 0 auto;
	}
}
@media only screen and (max-width:959px) and (orientation: landscape){
	.footer--second{
		min-height: 0;
		padding: 2rem 0;
	}
}
@media only screen and (max-width:559px){
	.footer--second{
		background: url(/20th/assets/images/top/top-bg-footer-sp.jpg) no-repeat;
		background-size: cover;
		background-position: bottom center;
		padding-bottom: 12rem;
	}
}

/*>> 3-5. OverLayerConfig [z-index]
-------------------------------------------------- */
.nav-global-menu {
	z-index: 100;
}
.nav-global{
	z-index: 100;
}
#l-header{
	z-index: 100;
}
/*>> 3-6. Project
-------------------------------------------------- */
.js-fullbg img{
	display: none;
}

.bg-primary{
	background: #F8F8F8;
}

.bg-primary > *:not(.-clone){
	position: relative;
	z-index: 1;
}
.-clip-path {
	clip-path: border-box;
	margin-top: 0.5px;
}

.layer1{
	position: relative;
	z-index: 2;
}

[data-fadein],
[data-fadein02] {
	opacity: 0;
	transform: translateY(2rem);
	transition: 0.5s ease-out 0.1s;
}

[data-fadein].-show {
	opacity: 1;
	transform: translateY(0);
}
[data-fadein].delay0-2s {
	transition-delay: 0.2s;
}
[data-fadein].delay0-3s {
	transition-delay: 0.3s;
}


.is-opened-menu #datasign_cmp__host,
.is-opened-popup #datasign_cmp__host{
	display: none;
}

@media only screen and (max-width:959px){
	.sp-ratio-17-10 {
		aspect-ratio: 17 / 10;
		object-fit: cover;
	}
}