@charset "utf-8";


/*--------------------------------------------------------------

reset & root set

--------------------------------------------------------------*/

/* reset
--------------------------------------------------------------*/

*,*::before,*::after { box-sizing: border-box; }
ul,ol { margin: 0; padding: 0; list-style: none; }
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd { margin: 0; font-weight: normal; }
li { list-style-type:none;}
img { max-width: 100%; height: auto; display: block; }
header,footer,main,aside,picture { display: block; }

/* form parts reset */
textarea { font: inherit; appearance: none; }
/*input,button,select { font: inherit; appearance: none; }*/
select { border: none; outline: none; /*background: transparent;*/ }
button,input[type="submit"],input[type="button"] { border-radius: 0; appearance: button; border: none; outline: none; cursor: pointer; }
input[type="submit"]:focus,input[type="button"]:focus { outline-offset: -2px;}
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none;}

/* iOS Safari tap reset */
body {-webkit-tap-highlight-color: transparent;}

/* @print */
@media print {
body { width:1400px; transform: scale(0.8); transform-origin: 0 0; }
}




/* root set
--------------------------------------------------------------*/

/* color */
:root {
--cl-key: #005B97;
--cl-bggr: #F5F7F8;
--cl-gr: #dddddd;
--cl-txt: #40485F;
--cl-bk: #000000;
--cl-wh: #ffffff;
--cl-error: #be272d;
}




/*--------------------------------------------------------------

base set

--------------------------------------------------------------*/
html { font-size:calc(100vw / 37.5); scroll-behavior: smooth; scroll-padding-top: 10rem; }
body {  min-height: 100vh; text-rendering: optimizeSpeed; line-height: 1.6; -webkit-text-size-adjust:100%; text-size-adjust: 100%; color: var(--cl-txt); font-size: 1.3rem; font-family: YakuHanJPs, 'Noto Sans JP', sans-serif; font-weight: 400; overflow-wrap: anywhere; overflow-x: hidden; background-color: var(--cl-wh); letter-spacing: 0.04em; }
a { color: var(--cl-txt); outline:none; text-decoration:none; }

@media print, screen and (min-width: 640px) {
html { font-size: calc(100vw / 128);  }
body { font-size: 1.5rem; line-height: 1.86; }
}
@media print, screen and (min-width: 1280px) {
html { font-size: 62.5%; scroll-padding-top: 12rem; }
a { transition: 0.5s; }
a:hover { opacity: 0.7; }
button:hover { opacity: 0.7; }
}


/* form set */
input:not([type=radio],[type=checkbox]),
select,
textarea { padding:0 0.75rem; color: var(--cl-txt); background-color:var(--cl-wh); border-radius: 1rem; border:var(--cl-gr) 1px solid; width:100%; font-size: 1.6rem; height: 4rem; font-family: inherit; appearance: none; }
textarea { padding:1.0rem 1.25rem; min-height:20rem; }
button { cursor: pointer; padding: 0; background: none; color: var(--cl-txt); width: 100%; font-size: inherit; }
input::placeholder,
textarea::placeholder { font-size: 0.8em; }
label { display: inline-block; width: fit-content; }
label:hover { cursor: pointer; }

@media print, screen and (min-width: 640px) {
input:not([type=radio],[type=checkbox]),
select,
textarea { height: 5rem; padding: 1rem 1.25rem; }
select:hover { cursor: pointer; }
}



/* by language */
body:lang(en) { line-height: 1.5; font-family: 'Noto Sans', sans-serif; font-weight: 300; letter-spacing: 0;}
html:not(:lang(ja)) .only-lang-ja { display: none !important; }
html:not(:lang(en)) .only-lang-en { display: none !important; }



/*--------------------------------------------------------------

utility

--------------------------------------------------------------*/

/* utility */
.u-inner { width: 100%; max-width: 124rem; margin: 0 auto; padding: 0 2rem; }
.u-inner._min { max-width: 104rem; }
.u-inner._over { max-width: 138rem; }
.u-ff01 { font-family: 'Lato', sans-serif; font-weight: 300; letter-spacing: 0.1rem; }
.u-ff01-b { font-family: 'Lato', sans-serif; font-weight: 400; }
.u-only-tab	{ display: none; }
.u-only-pc	{ display: none; }
.u-txt-indent { text-indent: -1em; margin-left: 1em; display: inline-block;}
.u-ico-blank { display: inline-flex; align-items: center;}
.u-ico-blank::after {content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_blank_bl.svg) no-repeat center / contain;}
.u-tac { text-align: center;}
.u-tar { text-align: right;}
.u-cl-key { color: var(--cl-key);}
.u-fw-b { font-weight: bold;}

@media print, screen and (min-width: 640px) {
.u-inner { padding: 0 4rem; }
.u-tac-pc { text-align: center;}
.u-only-sp	{ display: none ; }
.u-only-tab	{ display: none; }
.u-only-pc	{ display: block !important; }
}





/* utility - linkbtn */
a.u-link-blank { display: inline-flex; align-items: center; color: var(--cl-key); text-decoration: underline; }
a.u-link-blank::after { content: ""; display: block; width: 1.5em; height: 1.5em; background: url(/assets/images/common/ico_blank_bl.svg) no-repeat center / contain; }

.u-btn { }
.u-btn a { width: 100%; position: relative; display: inline-block; padding: 1rem 4.5rem 1rem 1.5rem; font-size: 1.3rem; color: var(--cl-key); border: var(--cl-key) 1px solid; border-radius: 5px; transition: 0.3s; }
.u-btn a::before { position: absolute; top: 50%; right: 1rem; transform: translate(0,-50%); content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center / contain; }
.u-btn a.u-btn-blank::before { background-image: url(/assets/images/common/ico_blank_bl.svg) ;  }

@media print, screen and (min-width: 640px) {
.u-btn a { font-size: 1.4rem; width: auto; min-width: 20rem; }
.u-btn a:hover { opacity: 1; color: var(--cl-wh); background-color: var(--cl-key); }
.u-btn a:hover::before { background-image: url(/assets/images/common/ico_ar_wh.svg) ;  }
.u-btn a:hover.u-btn-blank::before { background-image: url(/assets/images/common/ico_blank_wh.svg) ;  }
}


.u-nolinkbtn { width: 100%; position: relative; display: inline-block; padding: 1rem 4.5rem 1rem 1.5rem; font-size: 1.3rem; color: var(--cl-key); border: var(--cl-key) 1px solid; border-radius: 5px; transition: 0.3s; }
.u-nolinkbtn span::before { position: absolute; top: 50%; right: 0; transform: translate(0,-50%); content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center / contain; }



/* utility - title */
.u-title-l { margin-bottom: 2rem; font-size: 2.2rem; font-weight: 400;}
.u-title-m { margin-bottom: 2rem; font-size: 1.8rem; font-weight: 400;}
.u-title-line { display: flex; gap: 1rem; align-items: center; }
.u-title-line::before { content: ""; display: block; width: 1.2rem; height: 1px; background-color: var(--cl-key);}
.u-title-s { margin-bottom: 2rem; font-size: 1.6rem; font-weight: 400;}
.u-titleEn {}
.u-titleEn._flex { display: flex; gap: 1rem; flex-wrap: wrap;}
.u-titleEn-main { font-size: 2.2rem; color: var(--cl-key);}
.u-titleEn-sub { font-size: 1.4rem;}
.u-titleJp { margin-bottom: 2rem; font-size: 1.8rem;}
.u-titleJp span { display: block; color: var(--cl-key); font-size: 1.2rem;}

/* by language */
.u-title-l:lang(en) { line-height: 1.3; }
.u-title-m:lang(en) { line-height: 1.3; }
.u-title-s:lang(en) { line-height: 1.6; }


@media print, screen and (min-width: 640px) {
.u-title-l { font-size: 3.5rem;}
.u-title-m { font-size: 2.5rem;}
.u-title-s { font-size: 2rem;}
.u-titleEn-main { font-size: 3.5rem; }
.u-titleJp { margin-bottom: 4rem; font-size: 2.5rem;}
.u-titleJp span { font-size: 1.5rem;}

}


/* utility - margin */
.u-mt10-10 { margin-top: 1rem; }
.u-mt10-20 { margin-top: 1rem; }
.u-mt20-20 { margin-top: 2rem; }
.u-mt20-40 { margin-top: 2rem; }
.u-mt30-30 { margin-top: 3rem; }
.u-mt30-60 { margin-top: 3rem; }

@media print, screen and (min-width: 1024px) {
.u-mt10-20 { margin-top: 2rem; }
.u-mt20-40 { margin-top: 4rem; }
.u-mt30-60 { margin-top: 6rem; }
}


.u-img-radius { border-radius: 0.5rem; overflow: hidden;}
.u-img-line { border: var(--cl-gr) 1px solid;}


.u-youtube { position: relative; height: 0; padding-bottom: 50%;}
.u-youtube iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}


/*--------------------------------------------------------------

component

--------------------------------------------------------------*/

/* page component
--------------------------------------------------------------*/
/* pageTitle */
.c-pageTitle { position: relative; padding-top: 5rem; }
.c-pageTitle::after { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 50%; height: 1px; background: var(--cl-gr); z-index: -1; }
.c-pageTitle-inner { max-width: 138rem; margin: 0 auto; padding: 0 2rem; }
.c-pageTitle-box { }
.c-pageTitle-sub { color: var(--cl-key); }
.c-pageTitle-main { display: flex; align-items: center; font-size: 1.4rem; font-weight: 400;}
.c-pageTitle-main::before { content: ""; display: block; width: 1.2rem; height: 1px; margin-right: 1rem; background-color: var(--cl-key);}

.c-pageTitle-l {}
.c-pageTitle-l .c-pageTitle-inner { border-bottom: none; }
.c-pageTitle-l .c-pageTitle-sub { font-size: 3rem; line-height: 1.6; }
.c-pageTitle-pic { position: relative; height: 0;  margin-left: calc(((100vw - 100%) / 2) * -1); padding-bottom: 50%; border-radius: 0 5px 5px 0; overflow: hidden; box-shadow: 0px 0px 30px 0px #d5d5d5; }
.c-pageTitle-pic img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.c-pageTitle-m {}
.c-pageTitle-m .c-pageTitle-box { display: flex; flex-wrap: wrap; }
.c-pageTitle-m .c-pageTitle-sub { margin-right: 1rem; font-size: 2.4rem; color: var(--cl-key); line-height: 1.2;}
.c-pageTitle-m .c-pageTitle-main { line-height: 1.2; margin-top: 0.5rem;}
.c-pageTitle-s {}
.c-pageTitle-s .c-pageTitle-main { font-size: 1.8rem; }
.c-pageTitle-s .c-pageTitle-main::before { display: none; margin: 0; }

@media print, screen and (min-width: 640px) {
.c-pageTitle-inner { padding: 0 4rem; }
.c-pageTitle-l .c-pageTitle-sub { font-size: 6rem; }
.c-pageTitle-l .c-pageTitle-main { font-size: 1.8rem; }
.c-pageTitle-pic { padding-bottom: 40rem; }
.c-pageTitle-m .c-pageTitle-sub { font-size: 3.5rem; }
.c-pageTitle-m .c-pageTitle-main { margin-top: 0; }
.c-pageTitle-s .c-pageTitle-main { font-size: 3.5rem; }
}



/* pan */
.c-pan { display: flex; flex-wrap: wrap; justify-content: flex-end; padding: 2rem 0 1rem; border-bottom: var(--cl-gr) 1px solid;}
.c-pan-item { max-width: 16rem; font-size: 1rem; color: #333; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.c-pan-item::after { content: ">"; padding: 0 0.5rem;}
.c-pan-item:last-child::after { display: none;}
.c-pan-link { display: inline-block; }
.c-pageTitle-l .c-pan { border: none;}


@media print, screen and (min-width: 640px) {
.c-pan { padding: 4rem 0 3rem;}
.c-pan-item { max-width: 32rem; font-size: 1.2rem; }
}



/* セクション */
.c-content { /*display: grid; gap: 4rem 0;*/ margin-top: 4rem; }
.c-content > .c-secwrap { margin: 4rem auto; }
.c-content._high > .c-secwrap { margin: 6rem auto; }
.c-content > .c-secwrap:last-child { margin-bottom: 0; }
.c-secwrap {  }
.c-wrapLine { padding-top: 4rem; border-top: var(--cl-gr) 1px solid;  }
.c-boxwrap { padding-bottom: 4rem; }
.c-boxwrap + .c-boxwrap.c-wrapLine { padding-top: 4rem; }
.c-boxwrap:not(.c-wrapBg):last-of-type { padding-bottom: 0; }
.c-wrapBg { padding: 2rem; background: var(--cl-bggr); border-radius: 0.5rem;  }
.c-wrapBg + .c-boxwrap { padding-top: 4rem;   }

@media print, screen and (min-width: 640px) {
.c-content { /*gap: 8rem 0;*/ margin-top: 10rem;  }
.c-content > .c-secwrap { margin: 8rem auto; }
.c-content._high > .c-secwrap { margin: 12rem auto; }
.c-content > .c-secwrap:last-child { margin-bottom: 0; }
.c-secwrap {}
.c-wrapLine { padding-top: 8rem; }
.c-boxwrap { padding-bottom: 8rem; }
.c-boxwrap._min { padding-bottom: 4rem; }
.c-boxwrap._min:not(.c-wrapBg):last-of-type { padding-bottom: 0; }
.c-boxwrap + .c-boxwrap.c-wrapLine { padding-top: 8rem; }
.c-boxwrap + .c-boxwrap._min.c-wrapLine { padding-top: 4rem; }
.c-wrapBg { padding: 4rem; }
.c-wrapBg + .c-boxwrap { padding-top: 8rem;   }
}


/* カラムボックス */
.clbox { display: grid; gap: 2rem; }
.clbox-2 { }
.clbox-2.clbox-sp { grid-template-columns: repeat(2, 1fr); }
.clbox-3.clbox-sp { grid-template-columns: repeat(3, 1fr); }
.clbox-4.clbox-sp { grid-template-columns: repeat(4, 1fr); }

@media print, screen and (min-width: 640px) {
.clbox { display: grid; gap: 4rem;  }
.clbox-2 { grid-template-columns: repeat(2, 1fr); }
.clbox-2._rev {  }
.clbox-2._rev > *:nth-child(1) { order: 2;  }
.clbox-2._rev > *:nth-child(2) { order: 1;  }
.clbox-1-13 { grid-template-columns: 1.3fr 1fr;}
.clbox-1-13._rev > *:nth-child(1) { order: 2;  }
.clbox-1-13._rev > *:nth-child(2) { order: 1;  }
.clbox-1-2 { grid-template-columns: 2fr 1fr;}
.clbox-1-2._rev > *:nth-child(1) { order: 2;  }
.clbox-1-2._rev > *:nth-child(2) { order: 1;  }

.clbox-3 { grid-template-columns: repeat(3, 1fr);}
.clbox-4 { grid-template-columns: repeat(4, 1fr);}
}


/* アコーディオン */
.js-aco-child { display: none;}


/* カテゴリ・タグ */
.cat-list { display: flex; flex-wrap: wrap; }
.cat-item { margin: 0 1rem 1rem 0; }
.cat-item a { display: block; padding: 1rem 1.5rem; background-color: var(--cl-bggr); font-size: 1.3rem; border-radius: 5px; }
.cat-item span::before { display: inline-block; content: "-"; margin-right: 0.5rem;}
.cat-item.is-active a { background-color: var(--cl-key); color: var(--cl-wh);}
.tag-list { margin-top: 2rem; max-width: 54rem; display: flex; flex-wrap: wrap; gap: 0.5rem 1rem; }
.tag-item { line-height: 1; }
.tag-item a { position: relative; display: inline-flex; align-items: center; font-size: 1.3rem; }
.tag-item a::before { content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_tag.svg) no-repeat center / contain; }
.tag-item.is-active a::after { position: absolute; top: 50%; left: 0.5em; transform: translate(0,-50%); content: ""; display: block; width: 0.6rem; height: 0.6rem; border-radius: 50%; background-color: var(--cl-key);  }
.select-year { position: relative; max-width: 20rem;}
.select-year::after { position: absolute; top: 50%; right: 1rem; content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center / contain; transform: translate(0,-50%) rotate(90deg); pointer-events: none;}
.select-year select { width: 100%; padding: 1rem 1.5rem 0.8rem; font-size: 1.3rem; cursor: pointer;  border: var(--cl-gr) 1px solid; border-radius: 5px; background-color: var(--cl-wh); }

@media print, screen and (min-width: 640px) {
.cat-item a { padding: 1.2rem 2rem; font-size: 1.5rem; }
.tag-list { margin-top: 3rem; gap: 1rem 1.5rem;}
.tag-item a { font-size: 1.5rem; }

}


/* アンカーリンクリスト */
.c-ankerlink {  }
.c-ankerlink ul { display: flex; gap: 1rem; flex-wrap: wrap;}
.c-ankerlink ul li a { display: inline-block; padding: 0.5rem 1rem; background-color: var(--cl-bggr); border-radius: 0.2rem;}
.c-ankerlink ul li span { display: inline-flex; align-items: center;  }
.c-ankerlink ul li span::after { content: ""; display: block; width: 1.5em; height: 1.5em; margin-left: 0.5rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center / contain; transform: rotate(90deg);}

@media print, screen and (min-width: 640px) {
.c-ankerlink {  padding-bottom: 2rem; border-bottom: var(--cl-gr) 1px solid; }
.c-ankerlink ul { gap: 0; }
.c-ankerlink ul + ul { margin-top: 1.5rem; }
.c-ankerlink ul li a { display: grid; align-items: center; grid-template-columns: auto auto; margin: 0 3rem 1.5rem 0; padding: 0; background-color: transparent; font-size: 1.4rem;  }
.c-ankerlink ul li a::after { content: ""; display: block; width: 1px; height: 2rem; background-color: var(--cl-gr); }
.c-ankerlink ul li:last-child a::after { display: none;}
.c-ankerlink ul li span { padding-inline: 0 3rem;}
.c-ankerlink ul li:nth-child(1) span { padding-left: 0;}
.c-ankerlink ul li:last-child { padding-right: 0;}

}



/*--------------------------------------------------------------

base layout

--------------------------------------------------------------*/


/* layout
--------------------------------------------------------------*/

.main { overflow: hidden; min-height: 10rem; margin-top: 7rem; }
input:not([type=radio],[type=checkbox]),
textarea { padding:1.0rem 1.25rem; color: var(--cl-txt); background-color: #efefef; border: none; width:100%; height: 5rem; font-size: 1.6rem; border-radius: 0.6rem;}
textarea { min-height:20rem; }
button { cursor: pointer; padding: 0; background: none; color: var(--cl-wh); width: 100%; }
input::placeholder,
textarea::placeholder { color:var(--cl-gr); font-size: 1.6rem; }
label { display: inline-block; }
label:hover { cursor: pointer; }
/*input:-webkit-autofill { box-shadow: 0 0 0 1000px var(--cl-bggr) inset;}*/
input:not([type=radio]:focus,[type=checkbox]):focus,
textarea:focus { outline: none; }

@media print, screen and (min-width: 640px) {
.main { margin-top: 13rem; }
input:not([type=radio],[type=checkbox]),
textarea { height: 6rem; padding: 1rem 1.5rem; }
body._fixed { padding-right: 1.5rem; }
._fixed .header { padding-right: 5.5rem; }
}




/* header
--------------------------------------------------------------*/

.header { position: fixed; top: 0; width: 100%; height: 7rem; display: flex; align-items: center; z-index: 100; background-color: var(--cl-wh);}
.header-logo { max-width: 21.7rem; margin-left: 2rem; transition: 0.3s; }
.header-logo-link { display: block;}
.header-nav { display: none;}
@media print, screen and (min-width: 640px) {
.header { height: 13rem; }
.header-logo { max-width: 40rem; margin-left: 3rem; }

}

@media print, screen and (min-width: 1024px) {
.header { height: 13rem; justify-content: flex-end; padding-right: 4rem; transition: 0.3s; }
.header-logo { position: absolute; top: 50%; left: 0; transform: translate(0,-50%); }
.header-nav {display: flex; align-items: center; justify-content: flex-end;}
.gnav-item { }
.gnav-item-link { position: relative; display: flex; align-items: center; height: 13rem; padding: 0 1rem; font-size: 1.4rem;  }
.gnav-item-link::before { position: absolute; bottom: 0; left: auto; right: auto; margin: 0 auto; content: ""; display: block; width: calc(100% - 2rem); height: 0; background-color: var(--cl-key); transition: 0.3s; }
.gnav-item-link.is-active::before { height: 2px; }
.gnav-item._reserve { position: absolute; top: 0; right: 0; width: 10rem; height: 10rem; z-index: 130; background-color: var(--cl-key); margin-left: 1.5rem; transition: 0.3s;}
.gnav-item._reserve .gnav-item-link { display: flex; flex-direction: column; display: flex; align-items: center; justify-content: center; color: var(--cl-wh); text-align: center; line-height: 1; }
.gnav-item._reserve .gnav-item-link .fa-calendar-check { display: block; margin-bottom: 0.5rem; font-size: 1.4em;}
.gnav-item._reserve:hover { background-color: var(--cl-base); }
.gnav-item._reserve:hover .gnav-item-link { opacity: 1; }
}
@media print, screen and (min-width: 1240px) {
.header-logo { max-width: 33.6rem; }
.gnav-item-link { padding: 0 1.5rem; }
.gnav-item-link::before { width: calc(100% - 3rem); }
}

/* languageList */
.header .c-languageList { display: none;}
@media print, screen and (min-width: 1024px) {
.header .c-languageList { display: flex; width: 14.4rem; margin-left: 2rem; }
.header .c-languageList-item { position: relative; width: 100%; max-width: 7.2rem; text-align: center;}
.header .c-languageList-item a { display: block; padding: 0.8rem; font-size: 1.2rem; border: var(--cl-gr) 1px solid;}
.header .c-languageList-active a { background-color: var(--cl-gr); }
.header .c-languageList-active::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: transparent; z-index: 10; }
}

/* megamenu */
@media print, screen and (min-width: 1024px) {
.subMenu { display: none; position: absolute; top: 13rem; left: 0; width: 100%; background-color: var(--cl-bggr);  }
.subMenu-inner { max-width: calc(116rem + 8vw); margin: 0 auto; padding: 6vh 4vw; }
.subMenu-list { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 3rem; margin-top: 4rem;}
.subMenu-item { }
.subMenu-item a { display: block; font-size: 1.4rem;}
.subMenu-item-pic { border-radius: 5px; overflow: hidden;}
.subMenu-item-title { margin-top: 0.5vh; font-size: 1.5rem;}
.subMenu-list-small { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 1.5vh 3vw; margin-top: 4vh; }
.subMenu-list-small .subMenu-item { background-color: var(--cl-wh); border-radius: 5px; }
.subMenu-list-small .subMenu-item a { padding: 1.6vh 1.6vw 1.2vh;}
.subMenu-list-small .subMenu-item span { display: inline-flex; align-items: center;}
.subMenu-list-small .subMenu-item span::before { content: ""; display: block; width: 2rem; height: 2rem; margin-right: 0.5rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center;}

/* news menu */
.subMenu-news { display: flex; margin-top: 4vh;}
.subMenu-news-left { width: 100%; max-width: 69rem; }
.subMenu-news-right { width: 100%; max-width: 20rem; }
.subMenu-news .cat-item a { background-color: var(--cl-wh); }
.subMenu .bottomMenu-wrap { gap: 3vh 2vw; margin-top: 4vh; }
.subMenu  .bottomMenu-Swrap .bottomMenu-wrap-item a { padding: 1.5vh 1vw; }
/* recruit menu */
.subMenu-recruit { display: grid; grid-template-columns: 1fr 1fr 1fr 1fr; gap: 3vw 3vh;  margin-top: 4rem;}
.subMenu-recruit-item { }
}



/* scroll */
@media print, screen and (min-width: 1024px) {
.header.small { height: 8rem; }
.header.small .subMenu { top: 8rem; }
.header.small .gnav-item-link { height: 8rem; }
}


.header-logo:lang(ja) { max-width: 12.6rem;  }
@media print, screen and (min-width: 640px) {
.header-logo:lang(ja) { max-width: 21rem; }
}
@media print, screen and (min-width: 1024px) {
.header.small:lang(ja) .header-logo:lang(ja) { max-width: 14rem; }
}




/* spitem
--------------------------------------------------------------*/

/* SPメニューの開閉時に背景スクロールを禁止する */
@media print, screen and  (max-width: 1023px) {
body.is-open { height: 100%; overflow: hidden; }
}

.spitem  { }
@media print, screen and (min-width: 1024px) {
.spitem { display: none;}
.spnav-btn { display: none;}
}

/* spnav-btn */
.spnav-btn { position: fixed; top: 0; right: 0; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background-color:var(--cl-base); cursor: pointer; width: 7rem; height: 7rem; border-radius: 0.3rem; outline: none; transition:0.5s; z-index: 130; cursor: pointer;}
.spnav-btn::before,
.spnav-btn::after { content: ""; position: absolute; left: 50%; width: 3rem; height: 1px; background-color: var(--cl-txt); transform: translateX(-50%); transition:0.3s; }
.spnav-btn::before { top: 2.7rem; }
.spnav-btn::after  { bottom: 2.8rem; }
.spnav-btn-line { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 3rem; height: 1px; background-color: var(--cl-txt); transition: 0.3s; overflow: hidden; }
.spnav-btn.close { }
.spnav-btn.close::before,
.spnav-btn.close::after { content: ""; position: absolute; left: 50%; background-color:var(--cl-txt); transform: translateX(-50%); transition:0.3s; }
.spnav-btn.close::before { top: 50%; transform: translate(-50%,-50%) rotate(45deg) ; left: 50%; }
.spnav-btn.close::after  { bottom: auto; top: 50%; transform: translate(-50%,-50%) rotate(-45deg); left: 50%;}
.spnav-btn.close .spnav-btn-line { display: none; }

@media print, screen and (min-width: 640px) {
.spnav-btn { width: 13rem; height: 13rem; }
.spnav-btn::before,
.spnav-btn::after { width: 5rem; }
.spnav-btn::before { top: 5em; }
.spnav-btn::after  { bottom: 5em; }
.spnav-btn-line { width: 5rem;  }
}


/* spnav */
.spnav { opacity: 0; visibility: hidden; transform: scale(0,0,0); position: fixed; top: 7rem; right: 0; width: 100%; z-index: 100; transition: 0.3s; }
.spnav.is-open { opacity: 1; visibility: visible; transform: scale(1,1,1); }
.spnav-inner { width: 100%; height: calc(100vh - 7rem); padding: 2rem 2rem 0; overflow-y: scroll; background-color: var(--cl-wh);}
.spnavMenu {  }
.spnavMenu-list { border-top: var(--cl-gr) 1px solid; }
.spnavMenu-list:last-child { border-bottom: var(--cl-gr) 1px solid; }
.spnavMenu-title { position: relative; padding: 1.6rem 0; font-size: 1.3rem; }
.spnavMenu-title::before { position: absolute; top: 50%; right: 1rem; content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center; transform: translate(0,-50%) rotate(90deg); transition: 0.3s;  }
.spnavMenu-title.is-open::before { transform: translate(0,-50%) rotate(270deg);  }
.spnavMenu-child ul li + li { margin-top: 0.1rem;  }
.spnavMenu-child ul li a { position: relative; display: block; padding: 1.2rem 1.5rem; font-size: 1.3rem; color: #333333; background-color: var(--cl-bggr); }
.spnavMenu-child ul li a[target="_blank"] { display: flex; align-items: center; }
.spnavMenu-child ul li a[target="_blank"]:after { content: ""; display: block; width: 0.8em; height: 0.8em; background: url(/assets/images/common/ico_blank_bl.svg) no-repeat center; margin-left: 0.5rem;}

.spnavMenu-news .spnavMenu-child ul { display: flex; flex-wrap: wrap; }
.spnavMenu-news .spnavMenu-child ul li { width: calc(50% - 0.1rem); }
.spnavMenu-news .spnavMenu-child ul li:nth-child(odd) { margin: 0.1rem 0 0 0.1rem; }
.spnavMenu-news .spnavMenu-child ul li:first-child { width: calc(100% - 0.1rem); }

@media print, screen and (min-width: 640px) {
.spnav { width: 50%; top: 13rem; }
.spnav-inner { height: calc(100vh - 13rem); padding: 4rem 4rem 0; }
.spnavMenu-title { font-size: 2rem; }

}


/* c-languageList */
.spitem .c-languageList { display: flex; margin-top: 3rem;}
.spitem .c-languageList-item { width: 50%; text-align: center;}
.spitem .c-languageList-item a { display: block; padding: 1.2rem; font-size: 1.2rem; border: var(--cl-gr) 1px solid;}
.spitem .c-languageList-active a { background-color: var(--cl-gr); }



/* footer
--------------------------------------------------------------*/

.bottomMenu + .footer { margin-top: 0; }
.footer { margin-top: 6rem; padding: 3rem 0; background-color: #333333; overflow: hidden; }
.footerManu {}
.footerManu-list { border-top: #575757 1px solid; }
.footerManu-list:last-child { border-bottom: #575757 1px solid; }
.footerManu-title { position: relative; padding: 1.6rem 0; font-size: 1.3rem; color: var(--cl-wh);  }
.footerManu-title::before { position: absolute; top: 50%; right: 1rem; content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_ar_wh.svg) no-repeat center; transform: translate(0,-50%) rotate(90deg); transition: 0.3s;  }
.footerManu-title.is-open::before { transform: translate(0,-50%) rotate(270deg);  }
.footerManu-child li + li { margin-top: 0.1rem;  }
.footerManu-child li a { position: relative; display: block; padding: 1.2rem 1.5rem; font-size: 1.3rem; color: #B5B5B5; background-color: #434343; }
.footerManu-child li a[target="_blank"] { display: flex; align-items: center; }
.footerManu-child li a[target="_blank"]:after { content: ""; display: block; width: 1.4em; height: 1.4em; background: url(/assets/images/common/ico_blank_wh.svg) no-repeat center / contain; }
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; margin: 2rem 0 0 0; }
.footer-bottom-item { display: inline-block; margin-bottom: 0.5rem;}
.footer-bottom-item a { display: block; padding: 0 1rem; font-size: 1.2rem; color: #B5B5B5;}
.footer-bottom-item:first-child a { padding-left: 0;}
.footer-copy { width: 100%; padding: 2rem 0 0; font-size: 1rem; color: #B5B5B5;}

@media print, screen and (min-width: 640px) {
.footer { margin-top: 20rem; padding: 6rem 0 3rem; }
.footer-box + .footer-box { margin-top: 5rem; border-top: #575757 1px solid;}
.footerManu { display: flex; }
.footerManu-list { margin-right: 2rem; border-top: none;  flex: 1;  }
.footerManu-list:last-child { margin-right: 0; border-bottom: none; }
.footerManu-title { padding:0; font-size: 1.3rem; }
.footerManu-title a { color: var(--cl-wh); }
.footerManu-title::before { display: none; }
.footerManu-child { display: block; }
.footerManu-child li a { padding: 0; font-size: 1.3rem; color: #B5B5B5; background-color: transparent; }
.footerManu-title { font-size: 1.5rem; }
.footerManu-child li + li { margin-top: 0.8rem;  }
.footer-bottom { margin: 3rem 0 0 0; }
.footer-bottom-item { display: inline-flex; align-items: center; margin-bottom: 0.5rem;}
.footer-bottom-item::after { content: "|"; color: #737373;}
.footer-bottom-item:last-child:after { display: none;}
.footer-copy { margin-top: -2.8rem; padding: 0; text-align: right; font-size: 1.2rem;}
}



/* bottomMenu */
.underMenu + .bottomMenu { margin-top: 0; }
.bottomMenu { margin-top: 6rem; padding: 4rem 0; background-color: var(--cl-bggr);}
.bottomMenu-titleWrap { display: grid; grid-template-columns: 1.5fr 1fr; }
.bottomMenu-titleWrap .u-btn { margin: 1rem 0 0 auto; }
.bottomMenu-titleWrap .u-btn a { min-width: inherit; }
.bottomMenu-wrap {  margin-top: 2rem;}
.bottomMenu-wrap-item a { display: block; font-size: 1.4rem;}
.bottomMenu-Lwrap { display: grid; gap: 2rem; grid-template-columns: repeat(2, 1fr); }
.bottomMenu-Lwrap .bottomMenu-wrap-title { margin-top: 0.5rem;}
.bottomMenu-Swrap .bottomMenu-wrap-item a { padding: 1rem; background-color: var(--cl-wh); font-size: 1.3rem; border-radius: 0.3rem;}
.bottomMenu-Swrap { display: grid; gap: 1rem; }
.bottomMenu-Swrap .bottomMenu-wrap-title { display: flex; align-items: center; }
.bottomMenu-Swrap .bottomMenu-wrap-title::before { content: ""; display: inline-block; width: 2rem; height: 2rem; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center / contain; }
.bottomMenu-wrap-pic { overflow: hidden; border-radius: 0.5rem;}

@media print, screen and (min-width: 640px) {
.bottomMenu { margin-top: 14rem; padding: 8rem 0 10rem;}
.bottomMenu-wrap { gap: 3rem; grid-template-columns: repeat(4, 1fr); margin-top: 4rem; }
.bottomMenu-titleWrap .u-btn { margin: 1.5rem 0 0 auto; }
.bottomMenu-titleWrap .u-btn a { min-width: 16rem; }
.bottomMenu-Lwrap .bottomMenu-wrap-title { margin-top: 1rem;}
.bottomMenu-Swrap .bottomMenu-wrap-item a { padding: 1.5rem; }
}





/*--------------------------------------------------------------

page layout

--------------------------------------------------------------*/



.wovn-lang-selector { display: none !important;}


/* 下層ページ＞下層のメニュー
--------------------------------------------------------------*/

.underMenu { margin-top: 6rem; padding: 4rem 0;}
.underMenu-list { display: flex; flex-wrap: wrap; gap: 1rem; }
.underMenu-item {}
.underMenu-item a { min-width: initial; font-size: 1.1rem;}

@media print, screen and (min-width: 640px) {
.underMenu { margin-top: 14rem; padding: 8rem 0;}
.underMenu-wrap { display: grid; grid-template-columns: 1fr 3fr;}
.underMenu-list { display: grid; gap: 2rem 4rem; grid-template-columns: repeat(3,1fr);}
.underMenu-item a { width: 100%; min-width: initial; font-size: 1.3rem;}

}



/* リードテキスト+kv
--------------------------------------------------------------*/

.info-title {}
.info-txt {  margin-bottom: 2rem;}
.info-pic { overflow: hidden; border-radius: 0.5rem;}

@media print, screen and (min-width: 640px) {
.info-txt { margin: 5rem 0 6rem;}
}




/* contents-index-news
--------------------------------------------------------------*/
/* news pic */
.index-news { position: relative;}
.index-news-titleEn { font-size: 3rem; line-height: 1; color: var(--cl-key);}
.index-news-titleJa { margin-top: 1.5rem; font-size: 1.4rem; }
.index-news .newsList { margin-top: 2rem; gap: 1.5rem;}
.index-news .newsList-item-link { display: grid; grid-template-columns: 12rem 1fr; }
.index-news-btn { margin-top: 3rem;  }
.index-news-btn a { }

@media print, screen and (min-width: 640px) {
.index-news-titleEn { font-size: 6rem; }
.index-news-titleJa { font-size: 2.2rem; }
.index-news .newsList { gap: 5rem; grid-template-columns: repeat(4,1fr); margin-top: 3rem; }
.index-news .newsList-item-link { display: grid; gap: 1.5rem; grid-template-columns: initial; }
.index-news .newsDetail { }
.index-news .newsDetail .newsTitle { margin-top: 0.3rem; }
.index-news-btn { margin-top: 0;  }
.index-news-btn a { min-width: 20rem; }
}

/* news txt only */
.index-news .newsList._min { gap: 0;}
.index-news .newsList._min .newsList-item { border-top: var(--cl-gr) 1px solid;}
.index-news .newsList._min .newsList-item:first-of-type { border-top: none;}
.index-news .newsList._min .newsList-item-link { padding: 2rem 0; grid-template-columns: initial; }
.index-news .newsList._min .newsDetail { }
.index-news .newsList._min .newsDetail > div { display: flex; align-items: baseline; gap: 1rem;  }
.index-news .newsList._min .newsTitle { margin-top: 0.5rem;  }

@media print, screen and (min-width: 640px) {
.index-news-grid { margin-top: 3rem; display: grid; grid-template-columns: 18rem 1fr; align-items: flex-start; }
.index-news-grid .index-news-titleJa { margin-top: 0; }
.index-news .newsList._min { margin-top: 0; gap: 0; grid-template-columns: initial; }
.index-news .newsList._min .newsList-item { border-top: var(--cl-gr) 1px solid;}
.index-news .newsList._min .newsList-item-link { padding: 3.5rem 0 3.5rem 3rem; }
.index-news .newsList._min .newsDetail > div { display: grid; gap: 0.5rem; border-right: var(--cl-gr) 1px solid;  }
.index-news .newsList._min .newsList-item .newsDetail { display: grid; grid-template-columns: 12rem 1fr; }
.index-news .newsList._min .newsTitle { margin-top: 0; padding-left: 3rem; font-size: 1.4rem;  }
.index-news .newsList._min .newsDate { font-size: 1.4rem;  }
.index-news .newsList._min .newsCat { font-size: 1.2rem;  }

}


/* menu */
.index-menu { display: grid; gap: 4rem; }
.index-menu-pic { overflow: hidden; border-radius: 0.5rem;}
.index-menu-title { margin-top: 1.5rem; text-align: center; font-size: 1.5rem;}
.index-menu-txt { margin-top: 0.5rem; font-size: 1.4rem; line-height: 1.6; }
.index-menu .clbox-item { transition: 0.3s;  }
.index-menu .clbox-item:hover { opacity: 0.7;  }
.index-menu .clbox-2 {  }
.index-menu .clbox-4 { gap: 2rem; }
.index-menu .clbox-4 .clbox-item { display: grid; gap: 1rem; grid-template-columns: repeat(2,1fr);  }
.index-menu .clbox-4 .index-menu-pic { }
.index-menu .clbox-4 .index-menu-title { font-size: 1.3rem; margin-top: 0; text-align: left;  }
.index-menu .clbox-4 .index-menu-txt { font-size: 1.2rem; }

/* by language */
.index-menu-txt:lang(en) { line-height: 1.4;}

@media print, screen and (min-width: 640px) {
.index-menu { gap: 6rem; }
.index-menu-title { margin-top: 2rem; font-size: 1.8rem;}
.index-menu .clbox-4 { gap: 4rem; }
.index-menu .clbox-4 .clbox-item { display: block; grid-template-columns: initial;  }
.index-menu .clbox-4 .index-menu-txt { font-size: 1.4rem; }
.index-menu .clbox-4 .index-menu-title { font-size: 1.5rem; margin-top: 1.5rem; text-align: center;  }
.index-news-btn { position: absolute; top: 0; right: 0; }
}

/* pickup */
.index-pickup { padding: 4rem 4rem 4rem 3rem; background-color: var(--cl-bggr); margin-right: calc(((100vw - 100%) / 2) * -1); border-radius: 0.5rem 0 0 0.5rem;}

@media print, screen and (min-width: 640px) {
.index-pickup { padding: 8rem;  }

}






/* news
--------------------------------------------------------------*/

.page-news .u-inner { max-width: 138rem;}
.page-news .footer { margin-top: 0;}
@media print, screen and (min-width: 640px) {
.page-news .c-content { margin: 0; }
}


/* index */
.page-news-index {}
.newsWrap { display: grid; gap: 4rem; }
.newsWrap-left { display: grid; gap: 2rem;}
.newsCat-list { display: flex; gap: 2rem; flex-direction: column-reverse;}
.newsList { display: grid; gap: 3rem; margin-top: 4rem; }
.newsList-item-link { display: grid; gap: 1.5rem; }
.newsPic { position: relative; overflow: hidden; height: auto; padding-bottom: 51.5%; border-radius: 0.3rem; border: var(--cl-gr) 1px solid; background-color: #fff;}
.newsPic img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain;}
.newsDetail {}
.newsDate { font-size: 1.2rem; line-height: 1.2; }
.newsTitle { margin-top: 0.3rem; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 1.3rem; line-height: 1.6; }
.newsBox { margin-top: 0.3rem; word-wrap: normal;  overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 1; line-height: 1.2;}
.newsCat { font-size: 1.1rem; }
.newsCat + .newsTag::before { content: "/"; margin-right: 0.3rem;}
.newsCat::before { content: "-"; margin-right: 0.3rem; }
.newsTag { display: inline-block; font-size: 1.1rem; }
.newsTag + .newsTag::before { content: ","; }

@media print, screen and (min-width: 640px) {
.newsWrap { display: flex; gap: 4rem; justify-content: space-between; }
.newsWrap-left { width: calc(100% /3 * 2); margin: 10rem 0 20rem; gap: 4rem;}
.newsCat-list { display: grid; grid-template-columns: 1fr 20rem;  }
.newsList { display: grid; gap: 4rem; margin-top: 6rem; grid-template-columns: 1fr; /*grid-template-columns: repeat(2, 1fr);*/ }
.newsList-item-link { gap: 3rem; grid-template-columns: 1fr 2fr; /*grid-template-columns: repeat(2, 1fr);*/ }
.newsPic { padding-bottom: 51.5%; border-radius: 0.5rem;}
.newsDetail { margin-top: 1rem; }
.newsTitle { -webkit-line-clamp: 3; margin-top: 1rem; font-size: 1.5rem; }
.newsBox { margin-top: 0.5rem; }
.newsTag { font-size: 1.2rem; }
.newsTag + .newsTag::before { margin-inline: 0.3rem; }
.newsCat + .newsTag::before { margin-inline: 0.3rem;}
.newsPicup { width: calc(100% / 3); max-width: 37rem; padding: 10rem 2rem 0; background-color: var(--cl-bggr);}
.newsPicup .newsDetail { margin-top: 0; }


}






/* picup+関連 */
.newsPicup { margin: 0 -2rem; padding: 4rem 2rem 6rem; background-color: var(--cl-bggr);}
.newsPicup-title { margin-bottom: 2rem;}

@media print, screen and (min-width: 640px) {
.newsPicup {  margin: 0; padding: 10rem 3rem;}
.newsPicup .newsList { width: 100%; margin: 0; grid-template-columns: initial;}
.newsPicup .newsList-item-link { gap: 1rem; grid-template-columns: initial; }
}


/* ページネーション */
.screen-reader-text { display: none;}
.nav-links { display: flex; justify-content: center; margin-top: 4rem;}
.nav-links > * { padding: 0 2rem; border-right: var(--cl-txt) 1px solid; line-height: 1; font-size: 1.4rem; }
.nav-links > *.current { vertical-align: var(--cl-key); }
.nav-links > *:first-child { border-left: var(--cl-txt) 1px solid; }
.nav-links > .current { color: var(--cl-key); font-weight: bold; }
@media print, screen and (min-width: 640px) {
.nav-links { margin-top: 5rem;}
}



/* detail */
.page-news-detail {}
.page-news-detail .newsWrap { gap: 6rem;}
.page-news-detail .newsTitle-detail { overflow: initial; display: block; -webkit-box-orient: initial; -webkit-line-clamp: initial; margin: 0.5rem 0 1rem; font-size: 1.8rem;}
.page-news-detail .articleBox { margin-top: 3rem; padding-top: 3rem; border-top: var(--cl-gr) 1px solid;}
.page-news-detail .articleBox > * { }
.page-news-detail .articleBox img { margin-top: 2rem; }
.page-news-detail .articleBox figure { border-radius: 0.5rem; overflow: hidden; }
.page-news-detail .articleBox a { display: inline-block; color: var(--cl-key); text-decoration: underline; text-underline-offset: 0.2em;}
.page-news-detail .newsWrap-back { margin-top: 3rem; padding-top: 3rem; border-top: var(--cl-gr) 1px solid; text-align: center; }
.page-news-detail .newsWrap-back a { display: inline-block; }
@media print, screen and (min-width: 640px) {
.page-news-detail .newsDate { font-size: 1.4rem;}
.page-news-detail .newsTag { font-size: 1.3rem;}
.page-news-detail .newsCat { font-size: 1.3rem;}
.page-news-detail .newsTitle-detail { margin: 1rem 0 2rem; font-size: 3rem; line-height: 1.6;}
.page-news-detail .articleBox { gap: 3rem; margin-top: 5rem; padding-top: 5rem; }
.page-news-detail .newsWrap-back { margin-top: 5rem; padding-top: 5rem; }
}


/* by language */
.newsTitle:lang(en)  { line-height: 1.5; }


/* outline
--------------------------------------------------------------*/

.outlineWrap {}
.outlineWrap-item { padding: 0 0 2rem;}
.outlineWrap-item + .outlineWrap-item { padding: 2rem 0; border-top: var(--cl-gr) 1px solid;}
.outlineWrap-item dd p + p { margin-top: 1rem;  }

@media print, screen and (min-width: 640px) {
.outlineWrap-item { display: grid; gap: 2rem; grid-template-columns: 20rem 1fr; padding: 0 0 3rem;}
.outlineWrap-item + .outlineWrap-item { padding: 3rem 0; }
.outlineWrap-item dd p + p { margin-top: 2rem;  }
.outlineWrap-item dd span { display: block; }

}

/* sitemap
--------------------------------------------------------------*/

.sitemapWrap {  }
.sitemapWrap-item { padding: 2.5rem 0 2rem; border-bottom: var(--cl-gr) 1px solid;}
.sitemapWrap-item-title {}
.sitemapWrap-item-title a { display: inline-block;}
.sitemapWrap-item-en { font-size: 2rem; color: var(--cl-key); line-height: 1;}
.sitemapWrap-item-sub { margin-top: 0.5rem; font-weight: 400; font-size: 1.2rem;}
.sitemapWrap-item-menu { margin-top: 2rem;}
.sitemapWrap-item-menu ul { display: grid; gap: 1rem; grid-template-columns: repeat(2,1fr) ;  }
.sitemapWrap-item-menu ul li {}
.sitemapWrap-item-menu ul li a { display: inline-flex; align-items: center; font-size: 1.3rem;}
.sitemapWrap-item-menu ul li a::before { content: ""; display: inline-block; width: 1.5em; height: 1.5em; background: url(/assets/images/common/ico_ar_bl.svg) no-repeat center / contain;}

.sitemapWrap-item-menu ul li a[target="_blank"] { display: inline-flex; align-items: center;}
.sitemapWrap-item-menu ul li a[target="_blank"]::after { content: ""; display: inline-block; align-items: center; width: 1.5em; height: 1.5em; background: url(/assets/images/common/ico_blank_bl.svg) no-repeat center / contain; margin-right: 0.5rem;}


.sitemapWrap .bottom-menu { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem 0; margin-top: 1.5rem; }
.sitemapWrap .bottom-menu li {  }
.sitemapWrap .bottom-menu li::after { content: "|"; padding: 0 1.5rem; font-size: 1.2rem; }
.sitemapWrap .bottom-menu li:last-child:after { display: none;}
.sitemapWrap .bottom-menu li a { display: inline-block; font-size: 1.2rem;  }

/* by language */
.sitemapWrap-item-menu ul:lang(en) { grid-template-columns: 1fr;}


@media print, screen and (min-width: 640px) {
.sitemapWrap-item { padding: 4.5rem 0 4rem; }
.sitemapWrap-item { display: grid; grid-template-columns: 1fr 2.5fr; }
.sitemapWrap-item-menu { margin-top: 0;}
.sitemapWrap .bottom-menu { margin-top: 4rem; }
/* by language */
.sitemapWrap-item-menu ul:lang(en) { grid-template-columns: repeat(2,1fr);}

}
@media print, screen and (min-width: 1024px) {
.sitemapWrap-item-en { font-size: 2.6rem; }
.sitemapWrap-item-sub { margin-top: 1rem; font-size: 1.4rem;}
.sitemapWrap-item-menu ul { gap: 1rem; grid-template-columns: repeat(3,1fr) ;  }
.sitemapWrap-item-menu ul li a { font-size: 1.4rem;}


}




/* notfound
--------------------------------------------------------------*/

.page-notfound {}
.notfoundBox { padding-bottom: 4rem; border-bottom: var(--cl-gr) 1px solid;}

@media print, screen and (min-width: 640px) {
.notfoundBox { padding-bottom: 5rem; }
}




/* privacy
--------------------------------------------------------------*/

.privacyWrap {}
.privacyBox { padding-bottom: 2rem; border-bottom: var(--cl-gr) 1px solid; display: grid; gap: 2rem;}
.privacyBox + .privacyBox { padding: 2rem 0;}
.privacyBox p a { display: inline-block; color: var(--cl-key); text-decoration: underline;}
.privacyBox-title { font-size: 1.4rem;}

@media print, screen and (min-width: 640px) {
.privacyBox { padding-bottom: 4rem; gap: 2rem;}
.privacyBox + .privacyBox { padding: 4rem 0;}

}
@media print, screen and (min-width: 1024px) {
.privacyBox-title { font-size: 1.8rem;}

}



/* contact form
--------------------------------------------------------------*/
.page-contact .c-languageList { display: none;}
.page-recruit .c-languageList { display: none;}
.page-career .c-languageList { display: none;}
.page-contact .spitem .c-languageList { display: none;}
.page-recruit .spitem .c-languageList { display: none;}
.page-career .spitem .c-languageList { display: none;}

.formWrap {}
.formBox {}
.formWrap-item { padding: 3rem 0; border-top: var(--cl-gr) 1px solid;}
.formWrap-item:last-of-type { border-bottom: var(--cl-gr) 1px solid;}
.formWrap-title { display: flex; align-items: center; gap: 0.5rem;}
.formWrap-title p { font-size: 1.5rem;}
.formWrap-title._required::after { content: "必須"; padding: 0 0.8rem; font-size: 1rem; background-color: var(--cl-key); color: var(--cl-wh);}
.formWrap-input { margin-top: 1rem;}
.formWrap-input input,
.formWrap-input textarea { background-color: var(--cl-bggr);}
.formWrap-input label { display: block;}
.formWrap-input input::placeholder { color: #909093;}
.formWrap-input label + label { margin-top: 0.5rem;}
.formWrap-input span { display: block; margin-top: 0.5rem; font-size: 1.2rem;}
.formWrap-input-box._zip { display: grid; grid-template-columns: 2rem 1fr; align-items: center; }
.formWrap-input-box._zip input { max-width: 20rem; }
.formWrap-input-box._zip .error-message { grid-column-start: 1; grid-column-end: 3; }
.formWrap-input-box + .formWrap-input-box { margin-top: 1.5rem;}

.error-message { margin-bottom: 2rem; padding: 2rem; text-align: center; color: var(--cl-error); background-color: #F8E7E7;}
.formBox .error-message { margin: 1rem 0 0; padding: 0; text-align: left; background-color: transparent; font-size: 1.2rem; }
.contact-btn { margin: 3rem auto 0;}
.contact-btn a { min-width: inherit; width: 100%;}

@media print, screen and (min-width: 1024px) {
.formWrap-item { display: grid; grid-template-columns: 25rem 1fr; align-items: flex-start; }
.formWrap-title { gap: 1rem;}
.formWrap-input { margin-top: 0;}
.formWrap-input { margin-top: 0;}
.formWrap-input span { font-size: 1.4rem;}
.error-message { margin-bottom: 4rem; padding: 3rem; }
.formBox .error-message { font-size: 1.4rem; }
.contact-btn { max-width: 26rem; margin: 6rem auto 0;}

}

/* confirm */
.page-contact-confirm .formWrap-input span { display: none; }
.formWrap-input-box._zip { display: block; }

/* result */
.result-box > p + p { margin-top: 2rem;}
.result-title span { display: block; color: var(--cl-key); font-size: 1.6rem;}
.result-btn { margin-top: 4rem;}

@media print, screen and (min-width: 1024px) {
.result-btn { margin-top: 6rem;}

}