* { margin: 0px; padding: 0px; }
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { border: 0px; outline: 0px; vertical-align: baseline; background: transparent; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
input, select { vertical-align: middle; }
html { font-size: 62.5%; }
body { line-height: 1; margin: 0px; padding: 0px; font-size: 1.6rem; color: rgb(0, 0, 0); font-family: -apple-system, BlinkMacSystemFont, Roboto, 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Noto Sans CJK", "Hiragino Sans", "Segoe UI", sans-serif; background-color: rgb(255, 255, 255); letter-spacing: 0.03em; }
a { outline: none; vertical-align: baseline; background: transparent; }
a:link, a:visited { color: rgb(0, 0, 0); text-decoration: none; transition: 0.2s; }
a.txtlink:link, a.txtlink:visited { color: rgb(0, 146, 121); text-decoration: underline; }
a.txtlink2:link, a.txtlink2:visited { color: rgb(95, 128, 191); text-decoration: underline; }
a[target="_blank"].txtlink2 { background-image: url("../fonts/blank_blue.svg"); background-repeat: no-repeat; background-position: right top 5px; background-size: 15px 11px; padding-right: 2rem; }
a[target="_blank"].txtlink2.noicon { background-image: none; padding-right: 0px; }
.def-jpfont { font-family: 游ゴシック体, YuGothic, "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック, "Yu Gothic", "Noto Sans CJK", "Hiragino Sans", sans-serif; }
img { max-width: 100%; }
.bold { font-weight: bold; }
header { border-top: 4px solid rgb(0, 158, 138); padding: 2rem 2.4rem 0px 4.8rem; transition: 0.5s; box-sizing: border-box; position: fixed; left: 0px; top: 0px; z-index: 200; width: 100%; background-color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.1) 0px 3px 6px; }
header.is-hide { transform: translateY(-100%); }
.h-logo { margin-top: 1rem; }
.h-logo a { vertical-align: bottom; display: block; }
.h-logo img { width: 160px; vertical-align: bottom; }
header::before, footer::before { content: ""; display: block; position: absolute; right: 0px; top: -4px; width: 17.14%; height: 4px; background-color: rgb(238, 138, 170); }
.headerWrap { display: flex; justify-content: space-between; }
header nav ul li { list-style: none; }
header nav ul { display: flex; justify-content: flex-end; align-items: center; }
header nav ul.subnav { font-size: 1.4rem; margin-bottom: 1.6rem; margin-left: -3rem; }
header nav ul.subnav li { margin-left: 3rem; }
header nav ul.subnav a:link, header nav ul.subnav a:visited { color: rgb(0, 158, 138); font-weight: bold; }
header nav ul.subnav li.langChange { color: rgb(0, 158, 138); font-weight: bold; }
header nav ul.subnav li.langChange span { cursor: pointer; }
header nav ul.subnav li.langChange .selected { border-bottom: 2px solid rgb(0, 158, 138); }
header .onlineshop a:link, header .onlineshop a:visited, .h-inq-btn a:link, .h-inq-btn a:visited { background-color: rgb(238, 138, 170); color: rgb(255, 255, 255); padding: 1.2rem 3.4rem 1.2rem 1rem; display: inline-block; border-radius: 6px; position: relative; transition: 0.2s; font-weight: bold; }
header ul.subnav .onlineshop a:link, header ul.subnav .onlineshop a:visited { color: rgb(255, 255, 255); }
header .onlineshop a::after { content: ""; background-image: url("../fonts/blank_w.svg"); background-repeat: no-repeat; background-size: 15px 11px; background-position: center center; position: absolute; right: 1.3rem; top: 50%; margin-top: -5.5px; display: block; width: 15px; height: 11px; }
.h-inq-btn { margin-top: -2.5rem; }
.h-inq-btn a:link, .h-inq-btn a:visited { padding: 1.2rem 0.73rem; font-size: 1.4rem; background-color: rgb(0, 158, 138); }
header nav ul.mainnav { font-size: 1.8rem; margin-left: -5rem; }
header nav ul.mainnav li { margin-left: 2rem; }
header nav ul.mainnav > li:not(.h-inq-btn) > a:link, header nav ul.mainnav > li:not(.h-inq-btn) > a:visited { font-weight: bold; position: relative; padding: 0px 1.5rem 3rem; display: block; }
#en_translate_msg { padding: 0.5rem; font-size: 1.1rem; background-color: rgb(238, 238, 238); text-align: right; position: absolute; width: 100%; left: 0px; top: 0px; z-index: 201; box-sizing: border-box; }
#en_translate_msg a { display: inline-block; width: 170px; padding-top: 18px; height: 0px; background-image: url("../fonts/0d06d360b9664704b7a8b9108ab5b84a.svg"); background-repeat: no-repeat; background-position: center top; overflow: hidden; line-height: 2; }
ul#gmenu li div.child { position: absolute; left: 0px; z-index: 1000; overflow: hidden; display: none; width: 100%; background-color: rgb(255, 255, 255); border: 1px solid rgb(232, 232, 232); box-sizing: border-box; }
.childInnder { max-width: 1100px; margin: 0px auto; padding: 40px 0px 40px 40px; box-sizing: border-box; display: flex; justify-content: left; }
.childInnder p.index { font-size: 30px; padding-top: 30px; width: 25%; padding-left: 25px; box-sizing: border-box; text-align: center; }
.childInnder p.index b { font-weight: bold; display: block; margin-bottom: 0.5em; line-height: 1; }
ul#gmenu li div.child ul { padding: 20px 0px 15px 40px; width: 24.54%; box-sizing: border-box; margin: 0px; display: block; }
ul#gmenu li div.child ul.nowrapul { width: 40%; }
ul#gmenu li div.child ul li { margin: 0px 0px 1rem; line-height: 1.5; text-align: left; }
.childInnder p.index a, ul#gmenu li div.child li a { display: inline-block; font-size: 1.6rem; background-image: url("../fonts/arw.svg"); background-size: 14px auto; background-repeat: no-repeat; background-position: right center; padding-right: 1em; color: rgb(0, 146, 121); }
ul#gmenu li div.child li a[target="_blank"] { background-image: url("../fonts/blank_b.svg"); background-repeat: no-repeat; background-position: right center; background-size: 15px 11px; padding-right: 2rem; }
.childInnder p.index a { font-size: 1.4rem; padding-right: 1.5em; }
ul#gmenu li div.child li a { color: rgb(0, 0, 0); font-size: 1.4rem; background-image: none; padding-right: 0px; }
header nav ul.mainnav > li.open > a { color: rgb(0, 146, 121); }
ul#gmenu li div.child ul li i { font-style: normal; }
.pageTop { text-align: center; padding-bottom: 6.5rem; }
.pageTop a:link, .pageTop a:visited { background-image: url("../fonts/256083e16b9a4be38c032203a56cbe5d.svg"); background-repeat: no-repeat; background-position: center top; width: 60px; padding-top: 51px; height: 0px; overflow: hidden; display: inline-block; }
footer { position: relative; border-top: 4px solid rgb(0, 158, 138); background-color: rgb(227, 228, 237); }
#footerContent { max-width: 1140px; margin: 0px auto; padding: 7.4rem 0px; }
.footerbn { display: flex; justify-content: space-between; border-bottom: 1px solid rgb(191, 191, 191); padding-bottom: 5.8rem; margin-bottom: 5rem; }
footer li { list-style: none; }
.footerbn li img { vertical-align: bottom; }
#footerMenu { display: grid; grid-template-columns: 20.52% 20.52% 20.61% 24.56% 1fr; grid-template-rows: auto auto auto; font-size: 1.4rem; padding-bottom: 4rem; border-bottom: 1px solid rgb(191, 191, 191); margin-bottom: 5rem; }
.fm1 { grid-area: 1 / 1 / auto / 2; margin-bottom: 3rem; }
.fm2 { grid-area: 2 / 1 / 4 / 2; }
.fm3 { grid-area: 1 / 2 / 3 / 3; margin-bottom: 3rem; }
.fm4 { grid-area: 3 / 2 / 4 / 3; }
.fm5 { grid-area: 1 / 3 / 4 / 4; }
.fm6 { grid-area: 1 / 4 / 4 / 5; }
.fm7 { grid-area: 1 / 5 / 4 / 6; }
#footerMenu dt { margin-bottom: 1em; }
#footerMenu dt a:link, #footerMenu dt a:visited { color: rgb(0, 158, 138); font-weight: bold; }
#footerMenu dd { line-height: 1.42; }
#footerMenu dd p + p { margin-top: 1rem; }
.relatettl { font-weight: bold; font-size: 1.4rem; margin-bottom: 0.5rem; }
.relateBn { display: flex; justify-content: space-between; margin: 0px -6px 5rem; font-size: 1.4rem; }
.relateBn li img { max-width: 100%; display: block; }
.relateBn li span { display: inline-block; margin-left: 0.7rem; margin-top: 0.5rem; background-image: url("../fonts/blank_b.svg"); background-repeat: no-repeat; background-position: right center; background-size: 15px 11px; padding-right: 2em; }
#footerContent .relateBn { flex-wrap: wrap; }
#footerContent .relateBn li { width: 32.63%; }
#footerContent .relateBn li:nth-child(n+4) { margin-top: 1em; }
.sns { font-size: 1.3rem; padding-left: 1rem; display: flex; margin-bottom: 5rem; }
.sns a:link, .sns a:visited { font-weight: bold; padding-left: 3rem; background-image: url("../images/sns_x.png"); background-repeat: no-repeat; background-size: 24px auto; background-position: left center; line-height: 2; display: inline-block; }
.sns li.fb a:link, .sns li.fb a:visited { background-image: url("../images/sns_fb.png"); }
.sns li.yt a:link, .sns li.yt a:visited { background-image: url("../images/sns_yt.png"); }
.sns li { padding-right: 3rem; margin-right: 3rem; position: relative; }
.sns li::after, #footerBottom dt span::before { content: ""; position: absolute; right: 0px; top: 50%; background-color: rgb(191, 191, 191); width: 1px; height: 2.4rem; margin-top: -1.2rem; }
.sns li:last-child::after { display: none; }
.policylink { display: flex; font-size: 1.4rem; }
.policylink li { margin-right: 4rem; }
#footerBottom { background-color: rgb(255, 255, 255); }
#footerBottom dl { max-width: 1140px; margin: 0px auto; padding: 5rem 0px; background-image: url("../images/sustain.svg"); background-size: 400px auto; background-position: right center; background-repeat: no-repeat; }
#footerBottom dt { display: flex; align-items: center; margin-bottom: 3rem; }
#footerBottom dt img { width: 168px; height: auto; }
#footerBottom dt span { display: inline-block; font-weight: bold; position: relative; padding-left: 4rem; margin-left: 4rem; }
#footerBottom dt span::before { right: inherit; left: 0px; height: 6.5rem; margin-top: -3.25rem; }
#footerBottom dd { font-size: 1.2rem; }
#cookieOuter { overflow: hidden; }
#cookieConsentWrap { position: fixed; left: 0px; bottom: 0px; width: 100%; color: rgb(51, 51, 51); background-color: rgba(255, 255, 255, 0.95); padding: 1.6rem 2.8rem; box-shadow: rgba(0, 0, 0, 0.3) 0px -4px 10px; z-index: 600; line-height: 1.8; display: none; }
#cookieConsentWrap > div { display: flex; justify-content: space-between; align-items: center; }
#cookieConsentWrap p { line-height: 1.8; }
#cookieConsentWrap p a:link, #cookieConsentWrap p a:visited { text-decoration: underline; }
#cookieConsentWrap #CookieAllowBtn { display: block; background-color: rgb(0, 146, 121); color: rgb(255, 255, 255); padding: 1rem 3rem; margin: 0px 4.8rem 0px 0px; cursor: pointer; transition: 500ms cubic-bezier(0.19, 1, 0.22, 1); }
.sp-only, .sp-mbtn { display: none; }
.pc-only { display: block; }
.notice { color: red; }
html[lang="ja"] .hide_if_ja { display: none; }
html[lang="en"] .hide_if_en { display: none; }
dl.e20th_wrap { max-width: 538px; margin: 4em auto; text-align: center; }
dl.e20th_wrap.siteTop { margin: -7.8rem auto 7.8rem; }
.irTop dl.e20th_wrap, .recruitTop dl.e20th_wrap { margin-bottom: 0px; }
dl.e20th_wrap dt { font-weight: bold; margin-bottom: 1em; line-height: 1.5; }
dl.e20th_wrap figcaption { font-size: 2rem; font-weight: bold; color: rgb(0, 158, 138); display: block; margin-bottom: 0.5em; }
dl.e20th_wrap figure img { box-shadow: rgba(0, 0, 0, 0.1) 1px 3px 6px 0px; border-radius: 10px; overflow: hidden; box-sizing: border-box; }
@media screen and (max-width: 1400px) {
  dl.e20th_wrap.siteTop { margin-top: -3rem; }
}
@media screen and (max-width: 767px) {
  dl.e20th_wrap { width: 90%; margin: 4rem auto 4.5rem; }
  dl.e20th_wrap.siteTop { margin: 3rem auto 4.5rem; }
  .irTop dl.e20th_wrap, .recruitTop dl.e20th_wrap { margin-bottom: -3.5rem; }
}
@media (hover: hover) {
  a:hover { color: rgb(0, 158, 138); transition: 0.2s; }
  a.txtlink:hover, a.txtlink2:hover { text-decoration: none; }
  header .onlineshop a:hover, dl.e20th_wrap a:hover { opacity: 0.7; transition: 0.2s; }
  .hoverimg:hover { opacity: 0.7; transition: 0.2s; }
  header nav ul.mainnav a:hover, ul#gmenu li div.child a:hover { color: rgb(0, 158, 138); transition: 0.2s; }
  header nav ul.mainnav > li:not(.h-inq-btn) > a::after { content: ""; position: absolute; left: 1.5rem; bottom: 1.8rem; width: calc(100% - 3rem); height: 0px; padding-top: 3px; background: rgb(0, 158, 138); transform: scale(0, 1); transform-origin: left top; transition: transform 0.2s; }
  header nav ul.mainnav > li:not(.h-inq-btn) > a:hover::after, header nav ul.mainnav > li.open > a::after { transform: scale(1, 1); }
  header nav ul.subnav a:hover, header nav ul.subnav li.langChange span:hover { color: rgb(238, 138, 170); }
  #footerMenu dt a:hover { color: rgb(238, 138, 170); }
  #cookieConsentWrap #CookieAllowBtn:hover { opacity: 0.5; }
  .pageTop a:hover { opacity: 0.7; transition: 2s; }
  .relateBn li a:hover img { opacity: 0.7; transition: 0.2s; }
  .relateBn li a:hover span { background-image: url("../fonts/blank_g.svg"); transition: 0.2s; }
  ul#gmenu li div.child li a[target="_blank"]:hover { background-image: url("../fonts/blank_g.svg"); }
  header nav ul.mainnav .h-inq-btn a:hover { color: rgb(255, 255, 255); opacity: 0.7; }
}
@media screen and (max-width: 1400px) {
  #footerContent, #footerBottom dl { width: 81.42%; max-width: inherit; }
}
@media screen and (max-width: 899px) {
  header { padding-left: 2.4rem; }
  .h-inq-btn { position: absolute; right: 1rem; top: 4.5rem; font-size: 1.55vw; }
  header nav ul.subnav { padding-right: 9rem; }
  .h-inq-btn a:link, .h-inq-btn a:visited, header nav ul.subnav a { font-size: 1.55vw; }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #footerBottom dl { background-size: 199px auto; background-position: right top 40%; }
}
@media screen and (max-width: 767px) {
  .sp-only { display: block; }
  .pc-only { display: none; }
  header::before, footer::before { display: none; }
  header { border-top-width: medium; border-top-style: none; border-top-color: currentcolor; padding: 0px; }
  .headerWrap { align-items: center; }
  .headerWrap nav { }
  .h-logo { margin: 1rem 0px 1rem 2rem; }
  .h-logo img { width: 29.33vw; }
  .sp-mbtn { display: block; background-color: rgb(0, 158, 138); width: 7rem; height: 17.5vw; background-image: url("../images/sp_menubtn_bg.png"); background-position: right bottom; background-repeat: no-repeat; background-size: cover; color: rgb(255, 255, 255); cursor: pointer; }
  @media screen and (max-width: 390px) {
  .sp-mbtn { height: 7.1rem; }
}
  .sp-mbtn span { height: 100%; display: flex; justify-content: center; align-items: end; align-self: flex-start; font-size: 1rem; font-weight: bold; padding: 1.5rem 2rem; box-sizing: border-box; position: relative; }
  .sp-mbtn span::before, .sp-mbtn span::after, .sp-mbtn span i::before { content: ""; background-color: rgb(255, 255, 255); width: calc(100% - 4rem); height: 2px; position: absolute; left: 2rem; top: 1.5rem; }
  .sp-mbtn span::after { top: inherit; bottom: 3rem; }
  .sp-mbtn span i::before { top: calc(1px + 2.5rem); }
  .sp-mbtn span i { font-style: normal; margin-bottom: -0.5rem; display: block; padding-top: 3.5rem; }
  .sp-mbtn.open span i::before { display: none; }
  .sp-mbtn.open span::before, .sp-mbtn.open span::after { top: 50%; left: 50%; margin-top: -0.5rem; }
  .sp-mbtn.open span::before { transform: translate(-50%, -50%) rotate(45deg); }
  .sp-mbtn.open span::after { transform: translate(-50%, -50%) rotate(-45deg); }
  header p.onlineshop { font-size: 1.2rem; margin-right: -12%; }
  :lang(en) header p.onlineshop { margin-right: 0px; }
  header p.onlineshop a:link, header p.onlineshop a:visited { border-radius: 7px; padding-right: 2.6rem; }
  header p.onlineshop a::after { right: 0.9rem; background-size: 11px 9px; width: 11px; height: 9px; margin-top: -4.5px; }
  header nav { position: fixed; overflow-y: auto; left: 0px; width: 100%; height: 100%; box-sizing: border-box; padding: 1.8rem; top: 7rem; background-color: rgb(245, 246, 250); flex-wrap: wrap; display: none; align-content: flex-start; }
  header nav ul.subnav, header nav ul.mainnav { width: 100%; display: block; margin-left: inherit; }
  header nav ul.subnav { order: 2; margin-top: 2rem; }
  header nav ul.mainnav { order: 1; }
  header nav ul li, #footerMenu dt { border-bottom: 1px solid rgb(191, 191, 191); }
  header nav ul.mainnav li, header nav ul.subnav li { margin-left: 0px; }
  header nav ul.subnav li.langChange { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; padding: 0.8em 0px; color: rgb(0, 158, 138); }
  header nav li a:link, header nav li a:visited, #footerMenu dl:not(.fm7) dt a:link, #footerMenu dl:not(.fm7) dt a:visited { color: rgb(0, 158, 138); display: block; padding: 0.8em 0px; background-image: url("../fonts/plus.svg"); background-repeat: no-repeat; background-position: right center; background-size: 1.4rem auto; font-size: 1.6rem; line-height: 1.4; }
  header ul#gmenu { width: 100%; }
  header ul#gmenu li.parent > a { }
  header ul#gmenu > li { width: 100%; }
  header ul#gmenu li { margin: 0px; text-align: left; }
  header ul#gmenu > li > a { }
  header .childInnder p.index a span { display: none; }
  header ul#gmenu li.parent > a, header .childInnder p.index a, header ul#gmenu li div.child li a, header ul#gmenu li.parent.o-child > a, header nav ul.subnav li a:link, header nav ul.subnav li a:visited { font-size: 1.6rem; background-image: url("../fonts/arw.svg"); background-size: 14px auto; background-repeat: no-repeat; background-position: right center; }
  header ul#gmenu li div.child { position: inherit; left: inherit; top: inherit; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; margin: 0px; display: none; background: transparent; }
  header .childInnder { max-width: 100%; margin: 0px auto; display: block; padding: 0px 0px 1em; box-sizing: border-box; }
  header .childInnder p.index, header ul#gmenu li div.child ul, header ul#gmenu li div.child ul.rline { width: 100%; box-sizing: border-box; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
  header .childInnder p.index b { display: none; }
  header .childInnder p.index a, header ul#gmenu li div.child li a { font-size: 13px; }
  header ul#gmenu li div.child ul, header ul#gmenu li div.child ul.rline, ul#gmenu li div.child ul.nowrapul { padding: 0px; margin: 0px 0px 0px 1em; width: auto; }
  header ul#gmenu li div.child ul + ul { border-top: 1px solid rgb(191, 191, 191); }
  header .childInnder p.index { padding: 0px; border-bottom: 1px solid rgb(191, 191, 191); text-align: left; }
  header .childInnder p.index a { padding-bottom: 8px; display: block; }
  header ul#gmenu li div.child li a { padding: 1.5rem 0px; display: block; box-sizing: border-box; }
  header .childInnder p.index a { background-position: right 1em; }
  header ul#gmenu li div.child ul li { margin-bottom: 0px; }
  header ul#gmenu li div.child ul li:last-child { border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; }
  header ul#gmenu li.parent > a { background-position: right center; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; padding: 0.8em 0px; }
  header ul#gmenu li.parent.c-child > a { background-image: url("../fonts/plus.svg"); background-size: 14px auto; }
  header ul#gmenu li.parent.o-child > a.open { background-image: url("../fonts/minus.svg"); background-size: 14px auto; }
  header ul#gmenu li.parent.blank > a { background-image: url("../fonts/blank_b.svg"); background-size: 15px 11px; }
  header nav ul.subnav { padding-bottom: 5rem; }
  .h-link-btn { margin-right: -6rem; }
  header p.onlineshop a:link, header p.onlineshop a:visited, .h-inq-btn a:link, .h-inq-btn a:visited { padding: 0.8rem 3rem 0.8rem 0.8rem; }
  .h-inq-btn { position: inherit; top: inherit; right: inherit; margin-top: 0.5rem; }
  .h-inq-btn a:link, .h-inq-btn a:visited { font-size: 1.2rem; padding-right: 0.5rem; }
  .pageTop { text-align: center; padding-bottom: 0px; }
  .pageTop a:link, .pageTop a:visited { display: block; background-image: none; height: inherit; width: 100%; background-color: rgb(112, 112, 112); color: rgb(255, 255, 255); line-height: 1.13; padding: 1.1rem 0px; }
  footer { overflow-x: hidden; border-top-width: medium; border-top-style: none; border-top-color: currentcolor; }
  footer::before { display: none; }
  .footerbn { display: block; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; padding-bottom: 4rem; margin-bottom: 0px; }
  .footerbn li { margin: 0px -1rem; }
  #footerContent { padding: 2rem 0px 4.8rem; width: 90.66%; }
  #footerMenu { display: flex; flex-wrap: wrap; margin-bottom: 4rem; }
  #footerMenu dl { width: 100%; margin-bottom: 0px; }
  #footerMenu dt { margin-bottom: 0px; }
  #footerMenu dd { display: none; }
  #footerMenu dl.fm7 { display: flex; flex-wrap: wrap; margin-top: 4rem; }
  #footerMenu dl.fm7 dt { font-size: 1.4rem; border-bottom-width: medium; border-bottom-style: none; border-bottom-color: currentcolor; width: 50%; }
  #footerMenu dl.fm7 dt a:link, #footerMenu dl.fm7 dt a:visited { color: rgb(0, 0, 0); font-weight: normal; }
  #footerMenu dl.fm7 dt:nth-child(n+3) { margin-top: 2rem; }
  .relatettl { margin-bottom: 2rem; }
  .relateBn { display: block; margin-bottom: 4.2rem; }
  .relateBn li { margin: 0px -0.5rem 1.8rem; }
  #footerContent .relateBn li { width: 100%; }
  #footerContent .relateBn li:nth-child(n+4) { margin-top: 0px; }
  .sns { flex-wrap: wrap; width: 82.35%; padding: 0px; margin: 0px auto 4.6rem; justify-content: space-between; }
  .sns li { width: 40%; box-sizing: border-box; margin-right: 0px; }
  .sns li::after { background-color: rgb(0, 0, 0); height: 2rem; right: -20%; }
  .sns li::after { margin-top: -1rem; }
  .sns li.fb::after { display: none; }
  .policylink { display: block; }
  .policylink li + li { margin-top: 2rem; }
  #en_translate_msg { padding: 0px 0.5rem; font-size: 1rem; line-height: 1.8; }
  #footerBottom dl { padding: 3rem 0px; width: 100%; background-size: 268px auto; background-position: center 12rem; }
  #footerBottom dt { width: 79%; margin: 0px auto; padding-bottom: 10.36rem; }
  #footerBottom dt img { width: 120px; }
  #footerBottom dt span { font-size: 1.4rem; padding-left: 2rem; margin-left: 2rem; }
  #footerBottom dt span::before { height: 5.6rem; margin-top: -2.8rem; }
  #footerBottom dd { text-align: center; }
  #cookieConsentWrap { box-sizing: border-box; }
  #cookieConsentWrap p { font-size: 1.2rem; }
  #cookieConsentWrap > div { display: block; }
  #cookieConsentWrap #CookieAllowBtn { margin: 1rem 0px 0px; display: inline-block; }
}

/* JLSS live: restore desktop header dropdown and footer columns */
@media screen and (min-width: 900px) {
  .headerWrap { align-items: flex-start; gap: 2rem; }
  .headerWrap nav { flex: 1 1 auto; min-width: 0; }
  header nav { display: flex; flex-direction: column; align-items: flex-end; }
  header nav ul.mainnav { width: 100%; margin-left: 0; font-size: 1.5rem; flex-wrap: nowrap; }
  header nav ul.mainnav > li { position: relative; height: auto; margin-left: 1rem; }
  header nav ul.mainnav > li > a { padding-bottom: 2rem; }
  header nav ul.mainnav > li > .child { display: none; position: absolute; top: 100%; right: 0; z-index: 250; width: max-content; min-width: 24rem; max-width: min(90vw, 82rem); box-sizing: border-box; padding: 2rem; background: #fff; box-shadow: 0 0.4rem 1.2rem rgba(0,0,0,.14); }
  header nav ul.mainnav > li:hover > .child, header nav ul.mainnav > li:focus-within > .child { display: block; }
  header .childInnder { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 2rem; max-width: 100%; margin: 0; }
  header .childInnder ul { display: block; min-width: 16rem; }
  header .childInnder ul li { margin: 0; padding: .5rem 0; }
  #footerContent { width: min(1140px, 90%); max-width: 100%; margin: 0 auto; }
  #footerMenu { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1.6rem; align-items: start; }
  #footerMenu dl { width: auto; min-width: 0; margin: 0; }
  #footerMenu dd { display: block; margin-top: .8rem; }
  #footerMenu dl.fm7 { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 2rem; }
  .footerbn { display: flex; flex-wrap: wrap; gap: 1.5rem; list-style: none; padding: 0; }
  .footerbn li { flex: 1 1 30rem; margin: 0; }
  .relateBn { display: flex; flex-wrap: wrap; gap: 1.5rem; list-style: none; padding: 0; }
  #footerContent .relateBn li { width: 32%; margin: 0; }
  #footerContent .relateBn li:nth-child(n+4) { margin-top: 0; }
  #footerBottom dl { width: min(1140px, 90%); margin: 0 auto; }
}
