/* CSS Document */

/* @import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap'); */
/* @import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Zen+Kaku+Gothic+New&display=swap'); */
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

/*
@import "svg.css";
*/

:root{
/* color */
--color-K:#000;
--color-R   :#dc3c50;
--color-R-L1:#f8d8dc;
--color-R-L2:#fbebed;
--color-O   :#ff8c46;
--color-O-L1:#ffcbac;
--color-O-L2:#ffdcc7;
--color-Y    :#ff8c46;
--color-Y-L1 :#ffe8da;
--color-Y-L1b:#ffd7be;
--color-Y-L2 :#fff3ec;
--color-Y-L2b:#ffe8da;
--color-YY    :#ffcc46;
--color-YY-L1 :#ffe590;/* frame-1100 */
--color-YY-L1b:#ffeaa5;/* frame-full/page-title */
--color-YY-L2 :#ffeeb9;/* frame-1100 */
--color-YY-L2b:#fff6d3;/* frame-full */
--color-YY-L2c:#fff7d8;/* page-title */
--color-G   :#008c8c;
--color-G-L1:#cce8e8;
--color-G-L2:#e5f3f3;
--color-C   :#00a8be;
--color-C-L1:#d2ebf3;
--color-C-L2:#ebf6fa;
--color-B   :#0078be;
--color-B-L1:#cce4f2;
--color-B-L2:#e5f1f8;
--color-gray-B:#b4b4b4;
--color-gray-C:#c8c8c8;
--color-gray-D:#dcdcdc;
--color-gray-F:#f0f2f2;
/* --color-clear:rgba(0,0,0,0.25); */
/* size */
--size-header-H:90px;
--size-inner-mgn:20px;
--size-inner-maxW:calc(100% - var(--size-inner-mgn) * 2);
--size-inner-960 :min( 960px,var(--size-inner-maxW));
--size-inner-1100:min(1100px,var(--size-inner-maxW));
--size-inner-1100-fit:min(1100px,100%);
--size-radius:20px;
--size-radius-res:calc(20 * var(--responsive-50per));
/* font */
--font-jp    :"Noto Sans JP", sans-serif;
/* --font-jp    :"Zen Kaku Gothic New", sans-serif; */
--font-outfit:"Outfit", sans-serif;
/* responsive */
--responsive-max  :max(1px,calc(1vw / 3.75));
--responsive-50per:min(1px,calc(0.5 * var(--responsive-max)));
--responsive-80per:min(1px,calc(0.8 * var(--responsive-max)));
--font-cmntext    :min(16px,calc(14 * var(--responsive-max)));
/* transition */
--transition-fast:0.3s;
--transition-middle:0.5s;
/* textborder */
--text-border-1:
    -1px -1px 1px #fff, -1px 0 1px #fff, -1px 1px 1px #fff,
    0 -1px 1px #fff, 0 0 1px #fff, 0 1px 1px #fff,
    1px -1px 1px #fff, 1px 0 1px #fff, 1px 1px 1px #fff;
--text-border-2:
    -2px -2px 1px #fff, -2px -1px 1px #fff, -2px 0 1px #fff, -2px 1px 1px #fff, -2px 2px 1px #fff,
    -1px -2px 1px #fff, -1px -1px 1px #fff, -1px 0 1px #fff, -1px 1px 1px #fff, -1px 2px 1px #fff,
    0 -2px 1px #fff, 0 -1px 1px #fff, 0 0 1px #fff, 0 1px 1px #fff, 0 2px 1px #fff,
    1px -2px 1px #fff, 1px -1px 1px #fff, 1px 0 1px #fff, 1px 1px 1px #fff, 1px 2px 1px #fff,
    2px -2px 1px #fff, 2px -1px 1px #fff, 2px 0 1px #fff, 2px 1px 1px #fff, 2px 2px 1px #fff;
--text-border-3:
    -3px -3px 1px #fff, -3px -2px 1px #fff, -3px -1px 1px #fff, -3px 0 1px #fff, -3px 1px 1px #fff, -3px 2px 1px #fff, -3px 3px 1px #fff,
    -2px -3px 1px #fff, -2px -2px 1px #fff, -2px -1px 1px #fff, -2px 0 1px #fff, -2px 1px 1px #fff, -2px 2px 1px #fff, -2px 3px 1px #fff,
    -1px -3px 1px #fff, -1px -2px 1px #fff, -1px -1px 1px #fff, -1px 0 1px #fff, -1px 1px 1px #fff, -1px 2px 1px #fff, -1px 3px 1px #fff,
    0 -3px 1px #fff, 0 -2px 1px #fff, 0 -1px 1px #fff, 0 0 1px #fff, 0 1px 1px #fff, 0 2px 1px #fff, 0 3px 1px #fff,
    1px -3px 1px #fff, 1px -2px 1px #fff, 1px -1px 1px #fff, 1px 0 1px #fff, 1px 1px 1px #fff, 1px 2px 1px #fff, 1px 3px 1px #fff,
    2px -3px 1px #fff, 2px -2px 1px #fff, 2px -1px 1px #fff, 2px 0 1px #fff, 2px 1px 1px #fff, 2px 2px 1px #fff, 2px 3px 1px #fff,
    3px -3px 1px #fff, 3px -2px 1px #fff, 3px -1px 1px #fff, 3px 0 1px #fff, 3px 1px 1px #fff, 3px 2px 1px #fff, 3px 3px 1px #fff;
}
@media screen and (max-width: 999px) {
	:root{
		--size-header-H:60px;
	}
}

*{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
html,.font_sizebase{font-size:16px;}
html *{
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	word-break: break-all;
	text-box-trim: trim-both;
}
body{
	margin: 0px; padding: 0px;
	font-size: 1rem; font-weight: 400; font-family: var(--font-jp);
	/* font-family: "Noto Sans JP",'游ゴシック', YuGothic, 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, sans-serif; */
	/* font-family: 'Zen Maru Gothic', sans-serif; */
}
body,body *{line-height: normal;}
body,.col_base{color:var(--color-K);}
h1,h2,h3,h4,h5,h6,p,form,hr,
dl,dt,dd,ul,li,figure{margin:0; padding:0;}
ul,li{list-style-type: none;}
/* ul::after{clear:both;} */
span{display:inline-block;}
a{color:inherit;text-decoration:none;}
/* a:hover{text-decoration: underline;} */
a.ov_white{transition: opacity 0.3s ease;}
a.ov_white:hover{opacity:0.8;}
a img{border:none;}
hr{
	/* border-top:solid 1px rgba(0,0,0,0.25); */
	border:none; border-top:solid 1px var(--color-gray-C);
}
hr.W{border-color:#FFF;}
figure,img,svg{max-width:100%;display:block;}
picture{display: flex; justify-content: center; align-items: center;}
picture source{display: none;}
picture img,
figure img{width:100%; height:auto;}
img{min-width:1rem; object-fit:cover;}
img[src*=".svg"],svg{width:100%; object-fit:contain;}
time{font-size: 18px; font-weight: 600; font-family: var(--font-outfit);}

/* ----- */

.anchor{position: relative;}
.anchor[mgn]{margin-top: calc(attr(mgn number) * var(--responsive-80per));}
.anchor[mgn="90"]{margin-top: calc(90 * var(--responsive-80per));}
.anchor[mgn="100"]{margin-top: calc(100 * var(--responsive-80per));}
.anchor[mgn="120"]{margin-top: calc(120 * var(--responsive-80per));}
.anchor a{position:absolute;top:calc(var(--size-header-H) * -1);left:0;}

*[bg="B"],*[bg="GN"],*[cate*="GN"] *[bg],*[cate*="新卒"] *[bg]{background-color:var(--color-B); color:#FFF;}
*[bg="G"],*[bg="GC"],*[cate*="GC"] *[bg],*[cate*="キャ"] *[bg]{background-color:var(--color-G); color:#FFF;}
*[bg="R"],*[bg="CS"],*[cate*="CS"] *[bg],*[cate*="CS職"] *[bg]{background-color:var(--color-R); color:#FFF;}
*[bg="Y"],*[cate*="アル"] *[bg]{background-color:var(--color-Y); color:#FFF;}

*[ls]{text-indent: attr(ls em); letter-spacing: attr(ls em);}
*[ls="1/8"],time,
.cmn_ovalbtn span{text-indent: 0.125em; letter-spacing: 0.125em;}
*[ls="1/4"],
.cmn_morebtn{text-indent: 0.25em; letter-spacing: 0.25em;}

.cmn_ovalbtn,
.cmn_ovalbtn span{display: flex; justify-content: center; align-items: center;}
.cmn_ovalbtn{
	font-size:1rem; font-weight: 700; height:1em;	border-radius:1em;
	background-color:var(--color-B); color:#FFF;
	position: relative;
}
.cmn_ovalbtn.G{background-color:var(--color-G);}
.cmn_ovalbtn.R{background-color:var(--color-R);}
.cmn_ovalbtn.Y{background-color:var(--color-Y);}
.cmn_ovalbtn span{gap:0.5em;}
.cmn_ovalbtn[icon] span::after{content:''; display: block; width:1em; height:1em;
background-position: center center; background-repeat: no-repeat; background-size: contain;}
.cmn_ovalbtn[icon="outside"] span::after{background-image: url("../img/common/icon-outside.svg");}
.cmn_ovalbtn[icon="arrow"] span::after{background-image: url("../img/common/arrow-more.svg"); font-size: 0.75em;}
.cmn_ovalbtn[icon="outside"].type_enefle{font-size:40px; width:calc(1em * 260 / 40);}
.cmn_ovalbtn[icon="outside"].type_enefle span{font-size:14px;}

:root{
--morebtn-border-W:3px;
--morebtn-typeA-arrow-W:30px;
}
.cmn_morebtn{
	font-size:1rem; font-weight: 600; font-family: var(--font-outfit);
	display: inline-flex; justify-content: center; align-items: center;
}
.cmn_morebtn.typeB{
	min-width: min(200px, 100%); min-height:50px; border-radius: 0.5em;
	position: relative;
	border: solid var(--morebtn-border-W) var(--color-B);
	background-color: var(--color-B); color:#FFF;
}
.cmn_morebtn.typeB.white{background-color: #FFF; color: var(--color-B);}
.cmn_morebtn.typeB svg{position: absolute; right:calc(1em - var(--morebtn-border-W));}
.cmn_morebtn.typeB.white svg *{stroke: var(--color-B);}
.cmn_morebtn.typeB.white img{max-width: 140px; object-fit: contain; margin-right: 20px;}
.cmn_morebtn.typeB.G{background-color:var(--color-G); border-color:var(--color-G);}
.cmn_morebtn.typeB.R{background-color:var(--color-R); border-color:var(--color-R);}
.cmn_morebtn.typeB.Y{background-color:var(--color-Y); border-color:var(--color-Y);}
.cmn_morebtn.typeA{color:var(--color-B); gap:1em;}
.cmn_morebtn.typeA span{width:var(--morebtn-typeA-arrow-W); height:var(--morebtn-typeA-arrow-W); border-radius: 100%; background-color:var(--color-B);
display: flex; justify-content: center; align-items: center;}
.cmn_morebtn.typeA svg{padding-left: calc(0.75em * (10 - 8.53) / 12);}
.cmn_morebtn.typeN{gap:0.5em;}
.cmn_morebtn.typeN svg *{stroke:var(--color-K);}
@media screen and (max-width: 999px) {
	:root{
		--morebtn-border-W:2px;
		--morebtn-typeA-arrow-W:20px;
	}
	.cmn_morebtn{font-size:12px; text-indent: 0.125em; letter-spacing: 0.125em;}
	.cmn_morebtn.typeB{min-width: min(130px, 100%); min-height: 40px;}
	.cmn_morebtn.typeB svg{right:0.5em;}
	.cmn_morebtn.typeB.white img{max-width: 94px; margin-right: 10px;}
	.cmn_morebtn.typeA span{font-size: 0.75em;}
}

:root{
--rmenu-W:55px;
--slide-arrow-W:calc(40 * var(--responsive-80per));
--slide-arrow-mgn:calc(15 * var(--responsive-80per));
--slide-list-maxW:calc(100% - (var(--rmenu-W) + var(--size-inner-mgn)) * 2);
}
.slide{display: flex!important; flex-wrap: wrap; justify-content: center; align-items: center;}
.slide *{position: relative; z-index: 2;}
.slide .slick-list{width: min(960px, var(--slide-list-maxW)); z-index: 1;}
.slide .slick-list .slick-slide{}
.slide .slick-arrow{
width:var(--slide-arrow-W); height:var(--slide-arrow-W); border-radius: 100%; overflow: hidden;
background-color: var(--color-B);cursor: pointer;
display: flex;}
.slide .slick-arrow::before{
	content: ''; display: block; width:100%; height:100%; 
	background-image: url("../img/common/arrow-slide.svg");
}
.slide .slick-prev{margin-left: auto; margin-right: var(--slide-arrow-mgn);}
.slide .slick-next{margin-right: auto; margin-left: var(--slide-arrow-mgn);}
.slide .slick-next::before{transform: scaleX(-1);}
.slide .slick-dots{margin-top: min(20px,calc(1vw * 12 / 3.75)); width: 100%;
gap:14px; display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.slide .slick-dots li{width:10px; height:10px; cursor: pointer;
background-color:var(--color-B-L2); border-radius: 100%;}
.slide .slick-dots li.slick-active{background-color:var(--color-B);}
.slide .slick-dots li button{display:none;}
@media screen and (max-width: 999px) {
	:root{
	--slide-list-maxW:calc(100% - 135px);
	}
}

*[class*="cmn_subt"]{font-size: 40px; font-weight: 700; text-align: left; margin-bottom: 0.75em;}
*[class*="cmn_subt"].C{text-align: center;}
.cmn_subt1 > div{font-size: 0.5em;}
.cmn_subt1 h3{font-size: 1em;}
.cmn_subt2 h3{font-size: 0.5em; margin-bottom: 0.45em;}
.cmn_subt2 .en{font-size: min(70px,calc(50 * var(--responsive-max)) ); font-family: var(--font-outfit);
text-box-trim: none; line-height: 1em; height: 1em;}
@media screen and (max-width: 999px) {
	.cmn_subt1{font-size: 32px;}
	.cmn_subt1.L h3{padding-right: 140px;}
}

:root{
--deco-mgn:min(0px,calc((100vw - 1100px) / 2));
}
.cmn_deco{width:var(--size-inner-1100-fit); position: relative; z-index: 2;}
.cmn_deco:last-child{margin-top: auto;}
.cmn_deco[pad]{min-height: attr(pad px);}
.cmn_deco[pad*="150/"]{min-height:150px;}
.cmn_deco[pad*="180/"]{min-height:180px;}
.cmn_deco > *{position: absolute;}
.cmn_deco > picture[n*="6-1"]{bottom:10px; right: var(--deco-mgn);}
.cmn_deco > picture img{width:auto;}
@media screen and (max-width: 999px) {
	.cmn_deco[pad*="/110"]{min-height:110px;}
	.cmn_deco > picture[n*="6-1"]{width:110px; right: 0;}
}

:root{
--icon-list-div :9.2;
--icon-list-W   :280;
--icon-list-maxW:var(--icon-list-div) * 100;
--icon-list-pad :calc((var(--icon-list-maxW) - var(--icon-list-W) * 3) / 2);
}
.cmn_icon_list{width:calc(var(--icon-list-maxW) * 1px); max-width: 100%; margin: 0 auto;
gap:min(40px,4vw) calc(1% * var(--icon-list-pad) / var(--icon-list-div));
display: flex; flex-wrap: wrap; justify-content: center;}
.cmn_icon_list dd{width:calc(1% * var(--icon-list-W) / var(--icon-list-div));
gap:1em; display: flex; flex-direction: column; align-items: center;}
.cmn_icon_list dd img{background-color: #FFF; width:100%; border-radius: 100%; aspect-ratio: 1 / 1;}
@media screen and (max-width: 999px) {
	:root{
		--icon-list-div :2.95;
		--icon-list-W   :140;
		--icon-list-pad :calc((var(--icon-list-maxW) - var(--icon-list-W) * 2));
	}
	.cmn_icon_list{gap:min(30px,4vw) calc(1% * var(--icon-list-pad) / var(--icon-list-div));}
}

*[prewrap]{white-space: pre-wrap;}
*[class*="cmn_font"]{line-height: calc(1em * 5 / 3); white-space: pre-wrap;}
.cmn_font30{font-size: calc(30 * var(--responsive-80per));}
.cmn_font24{font-size: calc(24 * var(--responsive-80per));}
.cmn_text{font-size:var(--font-cmntext); text-align: justify; line-height: 2em; white-space: pre-wrap;}
*[class*="cmn_font"] + .cmn_text{margin-top:1em;}
.cmn_more{margin-top:50px; display: flex; justify-content: center;}
.textC{text-align: center;}
.indent_caution{text-indent:-1em; padding-left:1em;}
.indent_caution *{text-indent:0;}

font[color="R"]{color:var(--color-R);}
font[color="Y"]{color:var(--color-Y);}
font[color="G"]{color:var(--color-G);}
font[color="B"]{color:var(--color-B);}

:root{
--header-logo-W:170px;
--header-btn-W:min(80px,var(--size-header-H));
--header-btn-line-H:2px;
}
header{
	width:100%;
	background-color: #FFF;
	position: fixed; top:0; left:0;
	z-index: 1000;
}
header .inner{
	width:100%; height:var(--size-header-H); position: relative;
	display: flex; justify-content: space-between;
}
header .inner > *{z-index: 2;}
header .inner .logo *,
footer .inner .logo *{font-weight: 700;}
header .inner .logo, header .inner .logo a, header .inner .logo h1,
footer .inner .logo, footer .inner .logo a{display: flex; align-items: center;}
header .inner .logo a,
footer .inner .logo a{gap:1em;}
header .inner .logo{padding-left: var(--size-inner-mgn);}
header .inner .logo a{font-size: 15px;}
header .inner .logo img{width:var(--header-logo-W); margin-top: calc(var(--header-logo-W) / -17);}
header .inner .hmenu{margin-left: auto;
gap:10px; display: flex; align-items: center;}
header .inner .cmn_ovalbtn{font-size:34px; width:calc(1em * 140 / 34);}
header .inner .cmn_ovalbtn span{font-size:13px; gap:2px;}
header .inner button{
	border:none;
	background-color: transparent;
	cursor: pointer;
	width: var(--header-btn-W);	min-width: var(--header-btn-W);
	margin: 0; padding: 0;
	display: flex; justify-content: center; align-items: center;
}
header .inner button > div{
	width:20px; height:calc(10px + var(--header-btn-line-H) * 3);
	display: flex; flex-direction: column; justify-content: space-between; align-items: center;
	transition: transform var(--transition-fast)
						, height var(--transition-fast);
}
header .inner button hr{margin: 0 -100%; width: 100%; height:var(--header-btn-line-H);
background-color: var(--color-K); border:none; border-radius:var(--header-btn-line-H);
	transition: transform var(--transition-fast)
						, opacity var(--transition-fast)
						, width var(--transition-fast);
}
header .inner button hr:first-of-type{margin-bottom: -100%;}
header .inner button hr:last-of-type{margin-top: -100%;}
header.active .inner button > div{transform:rotate(360deg); height:var(--header-btn-line-H);}
header.active .inner button hr:first-of-type,
header.active .inner button hr:last-of-type{width: 110%;}
header.active .inner button hr:first-of-type{transform: rotate(30deg);}
header.active .inner button hr:nth-of-type(2){opacity:0;}
header.active .inner button hr:last-of-type{transform: rotate(-30deg);}
@media screen and (max-width: 999px) {
	:root{
	--header-logo-W:136px;
	}
	header .inner .logo a{font-size: 12px;}
	header .inner .hmenu{display: none;}
}
header .inner .smenu{
	position: absolute;	top:0; left:0; width:100%; height:0; z-index: -1;
	opacity: 0;	overflow: hidden;
	/*
	background-color: rgba(255, 255, 255, .4);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	*/
	transition-property: opacity , height;
	transition-duration: var(--transition-fast), 0s;
	transition-delay: 0s, var(--transition-fast);
}
header .inner .smenu *{line-height: 1em;}
header.active .inner .smenu{
	height: 100vh;
	height: 100dvh; opacity: 1;
	transition-delay: 0s, 0s;
}
header .inner .smenu .flex{position: absolute; inset:0;
	display: flex; flex-direction: column;
}
/*
header .inner .smenu .flex{position: absolute; inset:calc(var(--size-header-H) + 2em) 1em 1em;
transition: inset var(--transition-fast);
display: flex; flex-direction: column;}
header.active .inner .smenu .flex{inset:calc(var(--size-header-H) + 1em) 1em 1em;}
header .inner .smenu .flex > *{
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);}
*/
header .inner .smenu .frame{background-color: rgba(255, 255, 255, .95); padding-top: var(--size-header-H);}
header .inner .smenu .frame > div{
	padding: 1em 25px var(--size-header-H); overflow: auto;
	max-height: calc(100vh - var(--size-header-H));
	max-height: calc(100dvh - var(--size-header-H));
	transition: padding var(--transition-fast);
	gap:40px; display: flex; flex-wrap: wrap; justify-content: center;}
header.active .inner .smenu .frame > div{padding-top: 50px;}
header .inner .smenu .frame dl,
header .inner .smenu .frame dd{display: flex; flex-direction: column;}
header .inner .smenu .frame dl{align-content: flex-start;}
header .inner .smenu .frame dl > *{font-weight: 700;}
header .inner .smenu .frame dt,
header .inner .smenu .frame dt *{line-height: 1em;}
header .inner .smenu .frame dt{font-size: 20px; margin-bottom: 1.5em;
	border-left:solid 3px var(--color-K); padding-left: 7px;
}
header .inner .smenu .frame dt[col="B"]{color:var(--color-B); border-color:var(--color-B);}
header .inner .smenu .frame dt[col="G"]{color:var(--color-G); border-color:var(--color-G);}
header .inner .smenu .frame dt[col="R"]{color:var(--color-R); border-color:var(--color-R);}
header .inner .smenu .frame dt[col="Y"]{color:var(--color-Y); border-color:var(--color-Y);}
header .inner .smenu .frame dt a{gap:0.5em; display: inline-flex;}
header .inner .smenu .frame dt[col="Y"] svg *{stroke:var(--color-Y);}
header .inner .smenu .frame dd{padding-left: 10px; font-size: 12px;}
header .inner .smenu .frame dd:last-of-type{flex-grow: 1;}
header .inner .smenu .frame dd + dd,
header .inner .smenu .frame dd > * + *{margin-top: 1em;}
header .inner .smenu .frame dd a{display: block;}
header .inner .smenu .frame dd ul{font-weight: 500;}
header .inner .smenu .frame dd li{gap:0.5em; display: flex; align-items: center;}
header .inner .smenu .frame dd li::before{content:'-';}
header .inner .smenu .frame dd li + li{margin-top: 0.75em;}
header .inner .smenu .frame dd hr{margin-top: auto; border-color: rgba(150,150,150,0.8);}
header .inner .smenu .dark{background-color: rgba(0,0,0,.4); flex-grow: 1;}
@media screen and (max-width: 999px) {
	header .inner .smenu .frame{flex-grow: 1;}
	header .inner .smenu .frame > div{gap:40px 0;}
	header.active .inner .smenu .frame > div{padding-top: 40px;}
	header .inner .smenu .frame dl{flex-grow: 1; width:50%;}
	header .inner .smenu .frame dl[sp_wide],
	header .inner .smenu .frame dt{width:100%; font-size: 1em;}
	header .inner .smenu .frame dl[sp_wide]{flex-direction: row; flex-wrap: wrap;}
	header .inner .smenu .frame dd{flex-grow: 1;}
	header .inner .smenu .frame dd + dd,
	header .inner .smenu .frame dd hr{margin-top: 0;}
	header .inner .smenu .dark{display: none;}
}

:root{
--rmenu-sp-H:100px;
}
section.rmenu{
	position: fixed; right: 0; z-index: 900;
	gap:10px; display: flex; flex-direction: column;
}
section.rmenu a span{line-height: calc(1em + 4px);}
@media screen and (min-width: 1000px) {
	section.rmenu{top: calc(var(--size-header-H) * 2);}
	section.rmenu a{border-radius: 10px 0 0 10px; min-width: var(--rmenu-W); height: auto; min-height: 110px;}
	section.rmenu a span{font-size: 13px; text-indent: 0; letter-spacing: 0;
	writing-mode: vertical-rl; text-orientation: upright;
	}
	section.rmenu a span::after{content:none!important;}
}
@media screen and (max-width: 999px) {
	section.rmenu{bottom:calc(var(--rmenu-sp-H) * -1); width:100%;
	transition: bottom var(--transition-fast);
	gap:0; flex-direction: row; flex-wrap: wrap;}
	section.rmenu.active{bottom:0;}
	section.rmenu a{border-radius: 0; width:50%; flex-grow: 1; height:calc(var(--rmenu-sp-H) / 2); font-size: 14px;}
	section.rmenu a span{text-align: center;}
	section.rmenu a span::after{position: absolute; right:0.75em; font-size: 0.75rem;}
}

main{padding-top:var(--size-header-H); overflow-x: hidden;
min-height:100vh;
min-height:100dvh;
display:flex; flex-direction:column; align-items: center;}
main + *{margin-top: auto;}

section.pagetop{position: sticky; bottom: 0; z-index: 100;}
section.pagetop a{position: absolute; bottom: 1em; right: 1em;
visibility: hidden; opacity: 0; transition: var(--transition-fast);
width: 60px; height:60px; border-radius: 100%;
background-color: var(--color-B);
}
section.pagetop.active a{visibility: visible; opacity: 1;}

footer{
padding: 36px 0 30px;
border-top: solid 1px var(--color-gray-C);}
footer .inner{margin: 0 auto; width:var(--size-inner-960);}
footer .inner .flex{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end;}
footer .inner .logo a{font-size:18px;}
footer .inner .logo img{font-size:20px; width:10em; margin-top: -0.6em;}
footer .inner .link{
font-size: 12px; font-weight: 700;
gap:1em; display: flex;}
footer .inner .link,
footer .inner .link *{line-height: 1em;}
footer .inner .link dd{}
footer .inner .link dd + dd{border-left:solid 1px var(--color-K); padding-left: 1em;}
footer .inner .copy{font-size: 10.9px;}
@media screen and (min-width: 1000px) {
	footer .inner .logo,
	footer .inner .btn{order:1;}
	footer .inner .flex::after{content: ''; display: block; width:100%; height:1em; order:2;}
	footer .inner .link,
	footer .inner .copy{order:3;}
}
@media screen and (max-width: 999px) {
	footer{padding: 26px 0 calc(30px + var(--rmenu-sp-H));}
	footer .inner .flex{gap:1em; flex-direction: column; align-items: center;}
	footer .inner .logo img{font-size: 16px;}
	footer .inner .logo span{display: none;}
	footer .inner .btn{margin-top: 0.25em;}
	footer .inner .btn a{font-size:32px;}
	footer .inner .btn a span{font-size:12px;}
	footer .inner .copy{font-size: 10px;}
}

/* 横幅下限 */
body > div[align="center"],
header,footer{min-width:375px;}
body > div[align="center"]{overflow-x: hidden;}

/* ----- */

.pc_vanish{}
.sp_vanish{}
.im_vanish{display:none!important;}
.pc_br_del{}
.sp_br_del{}
.vanish_branch{}
.vanish_branch_onoff{}
@media screen and (min-width: 1000px) {
	.pc_vanish,
	.pc_br_del br,
	.pc_div_del div,
	.vanish_branch img[src*="-sp."],
	.vanish_branch_onoff img[src*="-sp."]{display:none!important;}
}
@media screen and (max-width: 999px) {
	.sp_vanish,
	.sp_br_del br,
	.sp_div_del div,
	.vanish_branch img[src*="-pc."],
	.vanish_branch_onoff img:not([src*="-sp."]){display:none!important;}
}

.W100per{width:100%;}
.Wbase{
	width:100%;
	max-width:1000px;
	margin: 0 auto;
}
.Wbase.W1600{max-width:1600px;}
.Wbase[w]{max-width:attr(w px);}
@media screen and (max-width: 999px) {
}

/* 印刷用CSS */
/*
@media print{
  印刷用CSSの定義を指定する
}
※印刷時は
「@media screen and (min-width: 1000px)」
「@media screen and (max-width: 999px)」内のスタイルは効かなくなる
*/
@media print{
	.pc_vanish{display:none!important;}
	header{position:relative;}
	main{padding-top: 0;}
}