/* CSS Document */

@charset "UTF-8";

/*
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
*/
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&family=Jost:ital,wght@0,100..900;1,100..900&display=swap');

/*
Light   300
Regular 400
Medium  500
Bold    700
Black   900
*/

:root{
/* color */
--color-K:#5a5a5a;
--color-R:#D00;
--color-C:#00aaf0;
--color-B:#005aaa;
/* --color-B-L:#e6f5ff; */
--color-B-L:#e5f4ff;
--color-gray-C:#c8c8c8;
--color-gray-F:#f0f0f0;
/* size */
--size-header-H:90px;
--size-sp:max(1px,calc(1vw / 3.75));
--size-inner-mgn:min(25px,calc(20 * var(--size-sp)));
--size-inner-maxW:calc(100% - var(--size-inner-mgn) * 2);
--size-inner-960 :min( 960px,var(--size-inner-maxW));
--size-inner-1000:min(1000px,var(--size-inner-maxW));
--size-inner-1100:min(1100px,var(--size-inner-maxW));
--size-mgnT:min(100px,calc(50 * var(--size-sp)));
--size-radius:15px;
/* font */
/* --font-jp: "Noto Sans JP", sans-serif; */
--font-jp: "Zen Kaku Gothic New", sans-serif;
/* --font-en: "Roboto", "Zen Kaku Gothic New", sans-serif; */
--font-en: "Jost", "Zen Kaku Gothic New", sans-serif;
/* transition */
--transition-fast:0.3s;
}
@media screen and (max-width: 999px) {
	:root{
		--size-header-H:80px;
	}
}

*{
	-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: 500;
	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; */
	line-height:normal;
}
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-K);
}
figure,img,svg{max-width:100%;display:block;}
picture{max-width:100%; 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;}
img.noimg{background-color: rgba(128,128,128,0.5);}
@media screen and (min-width: 1000px) {
	a[href*="tel:"]{pointer-events:none;}
}
iframe[src*="map"]{display: block; width:100%; height:300px; border-radius: var(--size-radius);}

/* ----- */

.en{font-family: var(--font-en);}

.cmn_logo{max-width: 100%; display: flex;}
footer .cmn_logo{gap:20px; width:190px; flex-direction: column; justify-content: center; align-items: center;}
footer .cmn_logo img[src*="logo."]{width:152px;}

.cmn_subt1{display: flex; flex-direction: column; align-items: center;}
.cmn_subt1[type="L"]{align-items: flex-start;}
.cmn_subt1 .en{color: var(--color-B); font-size: 14px; font-weight: 700;}
/*
.cmn_subt1:not([class*="col_"]) .en{
	background: var(--grad-BK);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
*/
.cmn_subt1 h3{font-size: 37px; font-weight: 500; margin-bottom: -0.25em;}
.cmn_subt1[type="L"] h3{min-width: 2.5em; text-align: justify; text-align-last: justify;}
.cmn_subt1[type="C"] h3{text-align: center;}

.cmn_text{font-size: 1rem; font-weight: 500; line-height: 1.75em; text-align: justify; white-space: pre-wrap;}
.cmn_subt1 + .cmn_text{margin-top: 1.75em;}
.cmn_text.textC{text-align: center;}
.cmn_text.textR{text-align: right;}
@media screen and (max-width: 999px) {
	.cmn_text.text_spL{text-align: justify;}
}

*[prewrap]{white-space: pre-wrap;}

span[tume*="L"]{margin-left: -0.75em;}
span[tume*="R"]{margin-right: -0.75em;}
span[tume="LR"]{margin: 0 -0.375em;}

.btn_oval{color: #FFF; background-color: var(--color-B); position: relative;
	overflow: hidden; font-size: 40px; font-weight: 700; width: 250px; max-width: 100%; height: 1em; border-radius: 1em;
	display: flex; justify-content: center; align-items: center;
}
.btn_oval:hover{background-color: var(--color-C);}
.btn_oval[svg*="arrow-"]{font-size: 41px;}
.btn_oval > *{font-size: 14px; text-align: center; position: relative; z-index: 2;}
.btn_oval svg[fn*="arrow-"]{position: absolute; right: 10px; height: 21px;}
.btn_oval svg[fn*="icon-"]{position: absolute; right:14px;}
.btn_oval.typeH{font-size: 54px; width: min(160px,max(140px,calc(160px + (1vw - 12px) * 10 )));}
.btn_oval.typeH > *{text-align: left;}
.btn_oval.typeH .text{margin-right: 21px;}
.btn_oval.typeH svg[fn*="arrow-"]{right:16px;}
/*
.btn_oval:not(.no_ov)::before{content:''; display: block; background: var(--grad-BX);
 	position: absolute; top:0; right:100%; width:100%; height:100%;
	transition: right var(--transition-fast);
}
.btn_oval.bg_W{transition: background-color var(--transition-fast)
													,color var(--transition-fast);}
.btn_oval.bg_W{background-color: #FFF; color:var(--color-K);}
.btn_oval svg[fn*="arrow"]{position: absolute; right:25px; width: auto; height: 30px;}
.btn_oval svg[fn*="arrow"] *{stroke:#FFF; transition: stroke var(--transition-fast);}
.btn_oval.typeH svg[fn*="arrow"]{right:1em; height:1em;}
.btn_oval.typeH svg[fn*="arrow"] *{stroke-width: 3px;}
.btn_oval.bg_W:not(:hover) svg[fn*="arrow"] *{stroke:#000;}
@media screen and (min-width: 1000px) {
	.btn_oval:hover::before{right:0;}
	.btn_oval.bg_W:not(.no_ov):hover{color: #FFF; background-color: #000;}
	.btn_oval.type_contact{font-size: 120px; width: 600px;}
	.btn_oval.type_contact > *{font-size: 23px;}
}
@media screen and (max-width: 999px) {
	.btn_oval:not(.bg_W)::before{right:0;}
	.btn_oval.bg_W svg[fn*="arrow"] *{stroke:#000;}
}
*/

.btn_more{font-weight: 500; gap: 0.5em; display: flex; align-items: center;}
.btn_more:hover{text-decoration: underline;}
.btn_more svg[fn*="arrow-"]{height:27px;}

*[class*='cmn_flex_col']{gap:30px calc(1% * 30 / 9.6); display: flex; flex-wrap: wrap;}
*[class*='cmn_flex_col'] > *{display: block; width:100%;}
*[class*='cmn_flex_col'] > * dl{width:100%;}
@media screen and (min-width: 1000px) {
	.cmn_flex_col2{justify-content: space-between;}
	.cmn_flex_col2 > *{max-width:calc(1% * 465 / 9.6);}
	.cmn_flex_col3 > *{max-width:calc(1% * 300 / 9.6);}
}
@media screen and (min-width: 750px) and (max-width: 999px) {
	*[class*='cmn_flex_col']{justify-content: space-between;}
	*[class*='cmn_flex_col'] > *{max-width:calc(1% * 465 / 9.6);}
}
@media screen and (max-width: 749px) {
	*[class*='cmn_flex_col']{flex-direction: column;}
}

.anchor{position: relative;}
.anchor a{position:absolute;top:calc(var(--size-header-H) * -1);left:0;}

/* ----- */

body > *{min-width:375px;}
header,main,body .inner{display: flex; align-items: center;}
main{flex-direction: column; align-items: stretch;}
body .inner{width:100%; max-width:var(--size-inner-960); margin: 0 auto;}
body .inner.no_flex{display: block;}
body .inner.col{flex-direction: column; justify-content: center;}

header{
	position: fixed; top:0; left:0; width: 100%; z-index: 1000; background-color: #FFF;
}
/*
header::before{
	content: ''; position: absolute; inset:0; z-index: -1; display: block; background-color: rgba(255,255,255,0);
	transition: background-color var(--transition-fast);
}
*/
header.bg_W::before{background-color: rgba(255,255,255,0.5);}
header .inner{max-width:var(--size-inner-1100);	min-height: var(--size-header-H);
justify-content: space-between;}
header .cmn_logo h1{gap:5px; display: flex;}
header .cmn_logo h1 img{width:auto; height:45px;}
header .cmn_logo h1 img[src*="logo."]{}
header .hmenu{
	min-height: var(--size-header-H); flex-grow: 1;
	margin-left: min(calc(6% / 1.1), calc(20px + (1vw - 10px) * 10 ));
	margin-right: min(calc(3% / 1.1), calc(20px + (1vw - 10px) * 10 ));
	display: flex; justify-content: space-between;
}
header .hmenu > *,
header .hmenu a{position: relative;
display: flex; justify-content: center; align-items: center;}
header .hmenu > * > a{font-size: 1rem; width:100%; height:100%; flex-direction: column;}
header .hmenu a .m{position: relative; display: flex; flex-direction: column; align-items: center;}
header .hmenu a .m::after{content: ''; display: block; width:0; border-bottom: solid 2px var(--color-B);
transition: width var(--transition-fast); position: absolute; bottom: -0.75em;}
header .hmenu a.current > .m::after,
header .hmenu a:hover > .m::after{width: 25px;}
header .hmenu a .m .jp{font-weight: 700;}
header .hmenu a .m .en{font-size: 0.75em; margin-top: 0.25em;}
:root{
--hmenu-pop-pad:20px;
--hmenu-pop-LH:20px;
--hmenu-pop-mgnT:15px;
--hmenu-pop-pad-min:calc(var(--hmenu-pop-pad) * 2);
--hmenu-pop-LH-min:calc(var(--hmenu-pop-LH) * -1);
--hmenu-pop-mgnT-min:calc(var(--hmenu-pop-mgnT) * -1);
}
header .hmenu .s{position: absolute; top: 100%; margin: 0 -250%; overflow: hidden; font-size: 14px;}
header .hmenu .s > *{margin-top: -200px; transition: margin-top var(--transition-fast); background-color: var(--color-B); color:#FFF;
padding: var(--hmenu-pop-pad);}
header .hmenu .s > *[cnt]{margin-top: calc(attr(cnt number) * var(--hmenu-pop-LH-min) + (attr(cnt number) - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="1"]{margin-top: calc(1 * var(--hmenu-pop-LH-min) + (1 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="2"]{margin-top: calc(2 * var(--hmenu-pop-LH-min) + (2 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="3"]{margin-top: calc(3 * var(--hmenu-pop-LH-min) + (3 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="4"]{margin-top: calc(4 * var(--hmenu-pop-LH-min) + (4 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="5"]{margin-top: calc(5 * var(--hmenu-pop-LH-min) + (5 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="6"]{margin-top: calc(6 * var(--hmenu-pop-LH-min) + (6 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="7"]{margin-top: calc(7 * var(--hmenu-pop-LH-min) + (7 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="8"]{margin-top: calc(8 * var(--hmenu-pop-LH-min) + (8 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="9"]{margin-top: calc(9 * var(--hmenu-pop-LH-min) + (9 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > *[cnt="10"]{margin-top: calc(10 * var(--hmenu-pop-LH-min) + (10 - 1) * var(--hmenu-pop-mgnT-min) - var(--hmenu-pop-pad-min));}
header .hmenu .s > * > *{line-height: 20px; gap: 4px; justify-content: flex-start;}
header .hmenu .s > * > *:nth-of-type(n+2){margin-top: 15px;}
header .hmenu .s > * > *:not(:hover){opacity:0.8;}
header .hmenu .s > * > *::before{content:'-';}
header .hmenu > *:hover .s > *{margin-top: 0;}
header .btn{}
:root{
--header-btn-line-H:2px;
}
header .inner button{
	border:none;
	background-color: transparent;
	cursor: pointer;
	font-size: 46px; width: 1em;	min-width: 1em; height:1em;
	margin: 0; padding: 0; background-color: var(--color-B);
	display: flex; justify-content: center; align-items: center;
}
header .inner button > div{
	width:18px; height:calc(8px + 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: #FFF; border:none;
	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: 125%;}
header.active .inner button hr:first-of-type{transform: rotate(45deg);}
header.active .inner button hr:nth-of-type(2){opacity:0;}
header.active .inner button hr:last-of-type{transform: rotate(-45deg);}
header .inner .smenu{
	position: absolute;	top:var(--size-header-H); left:0; width:100%; height:0; z-index: -1;
	opacity: 0;	overflow: hidden;
	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: calc(100vh - var(--size-header-H));
	height: calc(100dvh - var(--size-header-H)); opacity: 1;
	transition-delay: 0s, 0s;
	overflow: hidden;
}
header .inner .smenu .flex{position: absolute; inset:0;
	display: flex; flex-direction: column;
}
header .inner .smenu .frame{
	background-color: var(--color-B); color:#FFF;
	/* padding-top: var(--size-header-H); */
	transition: margin-top var(--transition-fast);
}
header:not(.active) .inner .smenu .frame{
	margin-top: max(-10vh,calc(var(--size-header-H) * -1));
	margin-top: max(-10dvh,calc(var(--size-header-H) * -1));
}
header .inner .smenu .frame .scr{
	max-height:calc(100vh - var(--size-header-H));
	max-height:calc(100dvh - var(--size-header-H));
	overflow: auto; /* padding-top: calc(10px + var(--size-header-H)); */
	padding-top: calc(var(--size-header-H) / 2); padding-bottom: var(--size-header-H);
	display: flex; flex-direction: column; align-items: center;}
header .inner .smenu .frame .m{}
header .inner .smenu .frame .m dl{font-size: 28px;}
header .inner .smenu .frame .m dl + dl{margin-top: 1em;}
header .inner .smenu .frame .m dt{font-weight: 700;
display: flex; justify-content: space-between; align-items: center;}
header .inner .smenu .frame .m dt.onoff{}
header .inner .smenu .frame .m dt.onoff > div{width: 1em; height: 1em; position: relative; cursor: pointer;
display: flex; justify-content: center; align-items: center;}
header .inner .smenu .frame .m dt.onoff > div::before,
header .inner .smenu .frame .m dt.onoff > div::after{
	content:''; display: block; width:2px; height:2px; background-color: #FFF; position: absolute;
}
header .inner .smenu .frame .m dt.onoff.active > div::after{display: none;}
header .inner .smenu .frame .m dt.onoff > div::before{width:100%;}
header .inner .smenu .frame .m dt.onoff > div::after{height:100%;}
header .inner .smenu .frame .m dd{font-size: 20px; overflow: hidden;
	display: flex; flex-direction: column;}
header .inner .smenu .frame .m dt.onoff + dd{height:0;}
header .inner .smenu .frame .m dt.onoff.active + dd{height: auto;}
header .inner .smenu .frame .m dd a{margin-top: 1em; gap: 4px; display: flex; align-items: flex-start;}
header .inner .smenu .frame .m dd a::before{content: '-';}
header .inner .smenu .frame .b{width:237px; max-width: 100%; margin-top: 50px;}
header .inner .smenu .dark{background-color: rgba(0,0,0,0.4); flex-grow: 1;}
@media screen and (min-width: 1000px) {
	header .inner button,
	header .inner .smenu{display: none;}
}
@media screen and (max-width: 999px) {
	header .hmenu,
	header .btn{display: none;}
}

main{padding-top: var(--size-header-H);}
main > section:last-of-type{padding-bottom: var(--size-mgnT);}

section.bg_WB{background-color: var(--color-B-L);}

:root{
--bnr_page-arrow-mgn:15px;
--bnr_page-arrow-W:41px;
}
section.bnr_page{padding-top: var(--size-mgnT);}
section.bnr_page .inner a{
	height:150px; border-radius: 10px; position: relative; z-index: 2;
	background-color: var(--color-B-L);
	display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
}
section.bnr_page .inner a:first-of-type:last-of-type{margin: 0 auto;}
section.bnr_page .inner a div{padding-left: calc(1% * 40 / 4.65);}
section.bnr_page .inner a .en{color: var(--color-B); font-size: 14px; font-weight: 700;}
section.bnr_page .inner a .jp{font-size: 28px; letter-spacing: 0.1em;}
section.bnr_page .inner a img{position: absolute; bottom: 0; right:calc(var(--bnr_page-arrow-W) + var(--bnr_page-arrow-mgn));
width: auto; height: calc(1% * 125 / 1.5); z-index: -1; opacity: 0.2;}
section.bnr_page .inner a svg{position: absolute; bottom: var(--bnr_page-arrow-mgn); right: var(--bnr_page-arrow-mgn); font-size: var(--bnr_page-arrow-W);}
section.bnr_page a:hover svg[fn*="arrow-"] circle{fill:var(--color-C);}

:root{
--cmn_contact-btn-W:min(90px,calc(69 * var(--size-sp)));
--cmn_contact-bnr-border:2px;
}
section.cmn_contact{padding-top: var(--size-mgnT);}
/*
section:not(.cmn_recruit) + .cmn_contact{padding-top: min(100px,calc(100 * var(--size-sp)));}
*/
section.cmn_contact .inner,
.cmn_tel{display: flex; flex-direction: column; align-items: center;}
section.cmn_contact .cmn_subt2{margin-bottom: 1em;}
section.cmn_contact .btn_oval,
.cmn_tel{max-width: 100%;}
section.cmn_contact .btn_oval + .cmn_tel{margin-top: min(25px,calc(25 * var(--size-sp)));}
section.cmn_contact .btn_oval{font-size: var(--cmn_contact-btn-W); width: 5em;}
section.cmn_contact .btn_oval > * {font-size: 20px; font-weight: 500;}
.cmn_tel{gap:1rem;}
.cmn_tel > *{margin: -0.2em 0; font-weight: 700;}
.cmn_tel > a{font-size: min(38px,calc(30 * var(--size-sp))); letter-spacing: 0.1em; margin: -0.4em 0 -0.3em;}
.cmn_tel > a font{vertical-align: 0.1em;}
section.cmn_contact .cmn_tel + .bnr{margin-top: 60px;}
section.cmn_contact .bnr a{position: relative; z-index: 2; border:solid var(--cmn_contact-bnr-border) var(--color-gray-C);
font-size: var(--cmn_contact-btn-W); width:5em; max-width: 100%; height:1em; border-radius: 1em; overflow: hidden;
display: flex; justify-content: center; align-items: center;}
section.cmn_contact .bnr a img{position: absolute; inset: 0;
width:calc(100% + var(--cmn_contact-bnr-border) * 2); max-width: none;
height:calc(100% + var(--cmn_contact-bnr-border) * 2);
margin: calc(var(--cmn_contact-bnr-border) * -1);}
section.cmn_contact .bnr a:hover{opacity:0.7;}
@media screen and (max-width: 999px) {
}

:root{
--pagetop-W:min(60px,calc(50 * var(--size-sp)));
}
section.pagetop{
	position: -webkit-sticky; /* Safari用 */
	position: sticky; bottom:calc(var(--size-inner-mgn) + var(--pagetop-W) / 2); z-index: 900; overflow: visible;
	transition: bottom var(--transition-fast);
}
section.pagetop:not(.active){bottom:calc(var(--pagetop-W) / -2);}
section.pagetop > div{position: relative;
display: flex; justify-content: flex-end;}
section.pagetop a{width:var(--pagetop-W); height:var(--pagetop-W); position: absolute; bottom: calc(var(--pagetop-W) / -2);
background-color: var(--color-B); border-radius: 100%; overflow: hidden;
/* transition: background-color var(--transition-fast); */
display: flex; justify-content: center; align-items: center;
}
section.pagetop a:hover{background-color: var(--color-C);}
/*
section.pagetop a::before{content:''; display: block; background: var(--grad-BX);
 	position: absolute; top:0; left:0; width:100%; height:100%;
}
*/
section.pagetop a svg{position: relative; z-index: 2;
width: calc(100% * 5 / 6); height:auto; transform: rotate(-90deg);}

footer{
	/*
	background-color: #000; color:#FFF;
	padding: min(80px,calc(50 * var(--size-sp))) 0 min(70px,calc(35 * var(--size-sp)));
	*/
}
footer section{width:100%; display: flex; align-items: center;}
footer section:first-of-type{background-color: var(--color-B-L);}
footer .inner{
	width:100%;
	flex-wrap: wrap; align-items: flex-start;
}
footer section:first-of-type .inner{padding: 40px 0 45px;}
footer section:last-of-type .inner{padding: 7px 0; align-items: flex-end;}
footer .info{gap:32px 0; display: flex; flex-direction: column; align-items: center;}
footer .fmenu{display: flex; flex-direction: column; justify-content: flex-start;}
footer .fmenu dl{font-size: 1rem;}
footer .fmenu dl + dl{margin-top: 1.5em;}
footer .fmenu dt{font-weight: 700;}
footer .fmenu dd{font-size: 13px; font-weight: 400; margin-top: 4px;
gap: 2px; display: flex; align-items: flex-start;}
footer .fmenu dd::before{content: '-';}
footer .fmenu a{gap: 4px; display: flex; align-items: baseline;}
footer .fmenu a:hover{text-decoration: underline;}
footer .fmenu a[href*='http']::after{content: ''; display: block; font-size: 11px; width: 1em; height: 1em;
background-image: url("../img/common/icon-outside.svg");
background-position: center center;
background-repeat: no-repeat;
background-size: contain;}
footer .fmenu > a{font-size: 11px; font-weight: 500;}
footer .copy{font-size: 9px; margin-left: auto;}
@media screen and (min-width: 1000px) {
	footer .info{margin-top: auto; margin-right: auto;}
	footer .fmenu + .fmenu{margin-left: min(80px,calc((1vw - 9px) * 40));}
}
@media screen and (max-width: 999px) {
	footer section:last-of-type .inner{align-items: center;}
	footer .inner{flex-direction: column;}
	footer section:first-of-type .fmenu{order:1;}
	footer .info{order:2; width: 100%; margin-top: 50px;}
	footer .copy{margin-left: 0; margin-top: 1em;}
	footer .fmenu + .fmenu{margin-top: 2em;}
}

/* ----- */

.im_vanish{display:none!important;}
.pc_br_del{}
.sp_br_del{}
.vanish_branch{}
.vanish_branch_onoff{}
@media screen and (min-width: 1000px) {
	*[vanish="pc"],
	.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) {
	*[vanish="sp"],
	.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.W1100{max-width:1100px;}
.Wbase.W1400{max-width:1400px;}
.Wbase[w]{max-width:attr(w px);}
*/
@media screen and (max-width: 999px) {
}

/* CSSだけで多角形を作る */
/*
.clippath{width:100%; height:90px;
background-color: #F00;
clip-path: polygon(0 100%, 100% 0, 90% 100%, 0 100%);
}
*/

/* 印刷用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;}
}