@charset "UTF-8";
/* setting
================================================ */
main p, main li, main dt, main dd, main th, main td, main figcaption { letter-spacing: 0.035em; }

#container.sub main #mv h1 { letter-spacing: 0.056em; }

/* base
================================================ */
/* component
================================================ */
/*	.anchor
================================================ */
.anchor { padding-right: 2px; }

.anchor li { font-size: 1.4rem; line-height: 1.5; }

.anchor li a { padding-right: 0; }

@media print, screen and (min-width: 768px) { .anchor li { min-width: 33%; }
  .anchor li a { height: 100%; display: -webkit-box; display: -ms-flexbox; display: flex; padding-top: 10px; padding-bottom: 10px; }
  .anchor li a svg { position: relative; top: 5px; } }

@media all and (max-width: 767px) { .anchor li a { padding-top: 8px; padding-bottom: 8px; } }

/*  btn
================================================== */
@media all and (max-width: 767px) { .btn a, .btn > span { width: 200px; height: 40px; padding: 8px 0; font-size: 1.3rem; }
  .btn a svg, .btn > span svg { width: 44px; height: 6px; top: 14px; }
  .btn.large a { width: 230px; } }

.btnStyle01 a { height: 100%; }

@media all and (max-width: 767px) { .btnStyle01 { font-size: 1.4rem; }
  .btnStyle01.download a:after { right: 15px; } }

.news.detail #contents .btn a { width: 260px; }

@media print, screen and (min-width: 768px) { .news.detail #contents .btn a { width: 300px; } }

/* .g-recaptcha
================================================ */
.g-recaptcha { margin-bottom: 30px; }

.g-recaptcha div { margin: auto; }

/*	.relatedLink
================================================ */
@media print, screen and (min-width: 768px) { #container.sub main .relatedLink { padding-left: 185px; } }

#container.sub main .roundLink .inner { width: 1050px; padding: 0 25px; }

#container.sub main .roundLink p { font-size: 2.2rem; line-height: 1.5; }

#container.sub main .roundLink p span { padding-bottom: 3px; display: inline; border-bottom: 2px solid #313198; line-height: 1.7; }

#container.sub main .roundLink p span::after { content: none; }

#container.sub main .roundLink ul li a { height: 100%; min-height: 80px; padding: 0 35px 0 20px; font-size: 1.3rem; }

#container.sub main .roundLink ul li.download a { background: url(../img/icon_download.svg) right 20px center no-repeat #fff; background-size: 12px 14px; }

@media all and (max-width: 767px) { #container.sub main .roundLink .inner { width: 100%; padding: 0 20px; }
  #container.sub main .roundLink p { font-size: 2rem; }
  #container.sub main .roundLink p span { padding-bottom: 1px; }
  #container.sub main .roundLink ul li a { min-height: 70px; } }

/*	.list01
================================================ */
.list01 .noLink { text-indent: 0; position: relative; }

.list01 .noLink:before { position: absolute; top: 9px; left: 0; content: ""; display: block; width: 3px; height: 3px; border-radius: 50%; background: #251E86; }

@media all and (max-width: 767px) { .list01 .noLink:before { top: 10px; } }

/*	.listBtn
================================================ */
.listBtn li a { padding-left: 10px; padding-right: 10px; }

.listBtn li a.download:after { width: 10px; height: 12px; background-image: url(../../../ja/assets/images/icon_download.svg); background-size: 100%; }

@media all and (max-width: 767px) { .listBtn li a { font-size: 1.6rem; } }

/*	.listImg
================================================ */
.listImg li.noLink figure img { width: 100%; }

.listImg li.noLink figure figcaption { min-height: 64px; font-size: 1.6rem; font-weight: normal; padding: 14px 15px 22px; display: -webkit-box; display: -ms-flexbox; display: flex; line-height: 1.5; position: relative; letter-spacing: 0.028em; }

.listImg li.noLink figure + p { margin-top: -15px; line-height: 1.5; font-size: 1.3rem; padding: 0 15px 20px; position: relative; }

.listImg li.noLink:hover figure img, .listImg li.noLink:hover figure figcaption span { opacity: 1; }

.listImg li.noLink:hover:after { height: 2px; background: #a2a29f; }

@media all and (max-width: 767px) { .listImg li figure figcaption { font-size: 1.4rem !important; }
  .listImg.txt li.noLink figure { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: reverse; -ms-flex-direction: row-reverse; flex-direction: row-reverse; -webkit-box-align: center; -ms-flex-align: center; align-items: center; width: 100%; }
  .listImg.txt li.noLink figure figcaption { display: block; height: auto; min-height: 80px; font-size: 1.4rem; padding: 15px 15px 20px; }
  .listImg.txt li.noLink figure + p { font-size: 1.4rem; line-height: 1.7; margin-top: 0; } }

@media screen and (max-width: 480px) { .listImg.txt li figure { display: block !important; }
  .listImg.txt li figure span { width: 100%; }
  .listImg.txt li figure figcaption { width: 100%; padding: 15px 35px 15px 15px; background-position: right 15px top 20px; } }

/* .scroll
================================================ */
@media all and (max-width: 767px) { main .scroll { margin-bottom: 15px; }
  main .scroll:before { content: "※Scroll horizontally for more data"; letter-spacing: 0.035em; } }

/*	table
================================================ */
@media all and (max-width: 767px) { #container.sub table th { font-size: 1.4rem; }
  #container.sub table td { font-size: 1.2rem; }
  #container.sub table tbody th { font-size: 1.3rem; } }

/*  ttl
================================================== */
.ttl h2:after { bottom: -38px; }

.ttl h2:before { width: 100px; height: 100px; bottom: -28px; }

@media all and (max-width: 767px) { .ttl { padding-left: 32px; }
  .ttl h2 span b { font-size: 2.6rem; line-height: 1.29; }
  .ttl h2:before { width: 75px; height: 75px; bottom: -22px; }
  .ttl h2:after { bottom: -28px; height: 14px; } }

@media all and (max-width: 767px) { .moving h2:after { width: 104px; } }

/*	.ttlImg
================================================ */
.ttlImg > div .ttl a > span svg, .ttlImg > div .ttl > span > span svg { width: 12px; height: 12px; }

/*	.ttlStyle
================================================ */
.ttlStyle01 { font-size: 3rem; letter-spacing: .042em; }

@media screen and (max-width: 767px) { .ttlStyle01 { font-size: 2rem; } }

.ttlStyle02 { font-size: 2.2rem; letter-spacing: 0.042em; }

@media screen and (max-width: 767px) { .ttlStyle02 { font-size: 1.9rem; } }

.ttlStyle03 { letter-spacing: 0.035em; }

.ttlStyle04 { font-size: 2.2rem; }

.ttlStyle04 span { font-size: 1.3rem; }

.ttlStyle04.is-w320 { width: 320px; }

@media screen and (max-width: 767px) { .ttlStyle04 { font-size: 2rem; }
  .ttlStyle04 span { font-size: 1.1rem; }
  .ttlStyle04.is-w320 { width: auto; } }

.ttlStyle05 { font-size: 2.2rem; letter-spacing: .042em; }

.ttlStyle05 .ttlStyle05__small { font-size: 1.7rem; }

@media screen and (max-width: 767px) { .ttlStyle05 { font-size: 1.9rem; }
  .ttlStyle05 .ttlStyle05__small { font-size: 1.4rem; } }

.ttlStyle06 { font-size: 1.8rem; }

.ttlStyle08 { letter-spacing: .028em; }

@media screen and (max-width: 767px) { .ttlStyle08 { font-size: 1.6rem; } }

.ttlImg > div .ttl a > span, .ttlImg > div .ttl > span > span { font-size: 2.2rem; }

@media print, screen and (min-width: 768px) { .ttlImg > div .ttl a > span.large, .ttlImg > div .ttl > span > span.large { width: 390px; } }

@media screen and (max-width: 767px) { .ttlImg > div .ttl a > span, .ttlImg > div .ttl > span > span { font-size: 2rem; padding: 13px 35px 16px 23px; }
  .ttlImg > div .ttl a > span svg, .ttlImg > div .ttl > span > span svg { top: 27px; } }

/* common
================================================ */
/*  footer
================================================== */
footer { padding-bottom: 28px; }

footer .sns dl { padding: 19px 23px 19px 0; }

footer .inner { padding: 43px 0 30px; }

footer .inner p:first-child img { position: relative; left: 5px; width: 255px; }

footer .inner .info { top: 144px !important; left: 13px; letter-spacing: 0.056em; line-height: 1.98; }

footer .inner .link { display: block; width: 335px; margin: 22px 0 0 3px; }

footer .inner .link li { width: auto; padding: 8px 6px; }

footer .inner .link li a { letter-spacing: 0.056em; }

footer .inner .link li:nth-child(1) { padding: 17px ​10px 19px; }

footer .inner .link li:nth-child(2) { padding: 8px 6px; margin-bottom: 0; border-bottom: 0; }

footer .inner .btn { margin: 23px 6px 0 0; }

footer .inner .btn li a { padding: 8px 14px 8px 0; letter-spacing: 0.056em; }

footer small { padding-left: 9px; }

@media screen and (max-width: 767px) { footer { padding-bottom: 22px; }
  footer .inner { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 36px 0 22px; }
  footer .inner p:first-child img { left: 10px; width: 208px; }
  footer .sns dl { padding: 15px 10px 19px; }
  footer .sns dl dt { padding: 0 0 20px; font-size: 1.4rem; }
  footer .sns dl dd { margin: 0 18px; }
  footer .sns dl dd a img { -webkit-transform: scale(1); transform: scale(1); }
  footer .inner .link { -webkit-box-sizing: border-box; box-sizing: border-box; padding: 0 20px; border: 0; width: 100%; max-width: 100%; margin: 33px 0 0 0; }
  footer .inner .link li:first-child { border-top: 1px solid #5a5aad; border-bottom: 1px solid #5a5aad; }
  footer .inner .link li:nth-child(1) { padding: 18px 0 20px; }
  footer .inner .link li:nth-child(2) { padding: 22px 0 9px; }
  footer .inner .link li { padding: 8px 0; font-size: 1.3rem; }
  footer .inner .btn { margin: 20px 15px 0; }
  footer .inner .btn li a { height: 40px; letter-spacing: 0.105em; }
  footer .inner .info { font-size: 1.3rem; line-height: 1.73; }
  footer small { font-size: 1.2rem; } }

footer.enFooter { display: block; }

/*  header
================================================== */
header .enNav { display: block; }

header .jaNav { display: none; }

header h1 a, header p a { width: 235px; padding-top: 13px; }

header h1 img, header p img { width: 176px; }

header h1 img, header p img { width: 201px; height: 48px; }

header #menuBtn b { left: 20px; }

@media all and (max-width: 767px) { header h1 img, header p img { width: 117px; }
  header h1 a, header p a { padding-top: 10px; height: 57px; }
  header h1 img, header p img { width: 159px; height: 38px; }
  header #menuBtn { width: 57px; }
  header #menuBtn b { left: 13px; }
  header #menuBtn b { left: 15px; bottom: 7px; font-size: 1rem; }
  header #menuBtn span { width: 18px; left: 18px; width: 22px; left: 19px; }
  header .navBox > div { padding-top: 58px; }
  header #menuBtn.active span:nth-of-type(1) { left: 18px; }
  header #menuBtn.active span:nth-of-type(3) { left: 18px; } }

@media screen and (max-width: 767px) { #container > div .mvBg { padding-top: 50px; border-width: 0; }
  #container > div .mvBg li { padding-top: 50px; font-size: 0; line-height: 1; }
  #container > div .mvBg li img { display: block; }
  #container.sub main #mv.high02 h1 { height: 115px; } }

#container.sub main #mv h1 { line-height: 1.5; padding-left: 10px !important; padding-right: 10px !important; }

#container.sub main #mv h1::after { display: block; width: 40px; height: 4px; margin: 15px auto 0; background: #d2d2d2; content: ""; }

#container.sub main #mv h1 span.is-large { font-size: 1.9rem; }

@media all and (max-width: 767px) { #container.sub main #mv h1 { font-size: 2rem !important; }
  #container.sub main #mv h1::after { width: 30px; height: 3px; margin-top: 10px; }
  #container.sub main #mv h1 span.is-large { font-size: 1.3rem; } }

/*  nav
================================================== */
header #menu .sub li a { height: 40px; font-size: 1.2rem; }

header #menu .sub > ul > li ul svg { top: 14px; }

header #menu .menuInner > ul:nth-child(1) > li > a { font-size: 1.5rem; }

header #menu .menuInner > ul:nth-child(2) > li:first-child a { height: 65px; }

header #menu .menuInner > ul:nth-child(2) > li > a { font-size: 1.5rem; height: 65px; padding-right: 25px; }

header #menu .menuInner > ul:nth-child(3) > li > a { height: 50px; }

header #menu .menuInner > ul:nth-child(3) > li:nth-child(n+2) { border-bottom: 0; }

header #menu .menuInner > ul:nth-child(3) > li > span { height: 50px; }

header #menu .menuInner > ul:nth-child(3) > li:nth-child(2), header #menu .menuInner > ul:nth-child(3) > li:nth-child(3) { width: 100%; }

header #menu .menuInner > ul:nth-child(3) > li:nth-child(2) { border-bottom: 1px solid #83837f; }

@media all and (max-width: 767px) { header #menu .sub li a { height: 42px; font-size: 1.3rem; padding: 0 40px 0 35px; }
  header #menu .sub li a.is-sp-row2 { height: 50px; }
  header #menu .sub > ul > li > a { height: 42px; font-size: 1.3rem; }
  header #menu .sub > ul > li ul svg { top: 20px; }
  header #menu .menuInner > ul:nth-child(1) > li > a { font-size: 1.5rem; }
  header #menu .menuInner > ul:nth-child(2) > li > a { padding-right: 25px; font-size: 1.4rem; }
  header #menu .menuInner > ul:nth-child(2) > li > a { height: 60px; } }

.mv h1 .is-small { font-size: 2.5rem !important; }

@media print, screen and (min-width: 768px) { header #menu.open .sub, header #access.open .sub, header #lang.open .sub { max-height: 100vh; } }

header #menu .sub li a span, header #access .sub li a span, header #lang .sub li a span { font-size: 1rem; position: relative; }

@media all and (max-width: 767px) { header #menu .sub li a span, header #access .sub li a span, header #lang .sub li a span { top: 1px; } }

/* utility
================================================ */
@media print, screen and (min-width: 768px) { .u-view-sp { display: none; } }

@media all and (max-width: 767px) { .u-view-upper-tb { display: none; } }

#container.sub main #mv.style01 > p span, #container.sub main #mv.style02 > p span { letter-spacing: 0.07em; }

#container.sub main #mv.style01 > p span b, #container.sub main #mv.style02 > p span b { letter-spacing: 0.056em; }

header nav ul li { letter-spacing: 0.035em; }

header .btn.sp li { letter-spacing: 0.056em; }

header #menu, header #access, header #lang { letter-spacing: 0.056em; }

header #search { letter-spacing: 0.056em; }

footer { letter-spacing: 0.056em; }

footer .sns dl dt { letter-spacing: 0.049em; }

@media screen and (max-width: 767px) { footer .inner .info { letter-spacing: 0.07em !important; } }

footer .inner .link { letter-spacing: 0.042em; }

footer small { letter-spacing: 0.07em; }

@media screen and (max-width: 767px) { .ttlStyle06 { letter-spacing: 0.028em; } }

.ttlStyle07 { letter-spacing: 0.056em; }

.ttlStyle09 { letter-spacing: 0.056em; }

.ttlImg > div .ttl { letter-spacing: 0.07em; }

@media screen and (max-width: 767px) { .ttlImg > div .ttl { letter-spacing: 0.035em; } }

.listImg li a figure figcaption { letter-spacing: 0.028em; }

.list01 li .date, .list01 li .place { letter-spacing: 0.035em; }

.pickupList .date, .pickupList .place { letter-spacing: 0.035em; }

.pickupList.slick-slider .txt { letter-spacing: 0.035em; }

.pickupList .txt { letter-spacing: 0.028em; }

.pickupList .attention, #contents .pickupList .attention { letter-spacing: 0.035em; }

header #lang .is-language { display: none; }
