@charset "UTF-8";
/* base
------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
/*! destyle.css v3.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*, ::before, ::after { box-sizing: border-box; border-style: solid; border-width: 0; }

html { line-height: 1.15; -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }

body { margin: 0; }

main { display: block; }

p, table, blockquote, address, pre, iframe, form, figure, dl { margin: 0; }

h1, h2, h3, h4, h5, h6 { font-size: inherit; font-weight: inherit; margin: 0; }

ul, ol { margin: 0; padding: 0; list-style: none; }

dt { font-weight: 700; }

dd { margin-left: 0; }

hr { box-sizing: content-box; height: 0; overflow: visible; border-top-width: 1px; margin: 0; clear: both; color: inherit; }

pre { font-family: monospace,monospace; font-size: inherit; }

address { font-style: inherit; }

a { background-color: transparent; text-decoration: none; color: inherit; }

abbr[title] { text-decoration: underline dotted; }

b, strong { font-weight: bolder; }

code, kbd, samp { font-family: monospace,monospace; font-size: inherit; }

small { font-size: 80%; }

sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }

sub { bottom: -.25em; }

sup { top: -.5em; }

svg, img, embed, object, iframe { vertical-align: bottom; }

button, input, optgroup, select, textarea { -webkit-appearance: none; appearance: none; vertical-align: middle; color: inherit; font: inherit; background: transparent; padding: 0; margin: 0; border-radius: 0; text-align: inherit; text-transform: inherit; }

[type="checkbox"] { -webkit-appearance: checkbox; appearance: checkbox; }

[type="radio"] { -webkit-appearance: radio; appearance: radio; }

button, [type="button"], [type="reset"], [type="submit"] { cursor: pointer; }

button:disabled, [type="button"]:disabled, [type="reset"]:disabled, [type="submit"]:disabled { cursor: default; }

:-moz-focusring { outline: auto; }

select:disabled { opacity: inherit; }

option { padding: 0; }

fieldset { margin: 0; padding: 0; min-width: 0; }

legend { padding: 0; }

progress { vertical-align: baseline; }

textarea { overflow: auto; }

[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }

[type="search"] { outline-offset: -2px; }

[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }

::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }

label[for] { cursor: pointer; }

details { display: block; }

summary { display: list-item; }

[contenteditable]:focus { outline: auto; }

table { border-color: inherit; }

caption { text-align: left; }

td, th { vertical-align: top; padding: 0; }

th { text-align: left; font-weight: 700; }

/*  common setting
------------------------------------------------------------------------------------------*/
p { line-height: 1.9; }

h2 { line-height: 1.4; }

h3 { line-height: 1.4; }

h4 { line-height: 1.4; }

h5 { line-height: 1.4; }

.text-green-50 { color: #9ec93b !important; }

.text-blue { color: #019e97 !important; }

.text-orange { color: #ee7820 !important; }

.text-orange-50 { color: #f5ab00 !important; }

.text-blue-50 { color: #2bb7b4 !important; }

.text-green { color: #529c4f !important; }

.text-red { color: #e33739 !important; }

html { -webkit-text-size-adjust: 100%; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }

body { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "BIZ UDPGothic", "Yu Gothic", "Meiryo", sans-serif; color: #222222; font-size: 100%; font-weight: 500; overflow-x: hidden; }

/*section[id]::before{ content: ''; display: block; padding-top: 110px; margin-top: -110px; background: $white; @include mq(sp){ padding-top: 75px; margin-top: -75px; }
}*/
#page__title { max-width: 1190px; padding: 2rem 7rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #page__title { padding: 3rem; } }
@media screen and (max-width: 767px) { #page__title { padding: 2rem 1.5rem 1rem; } }
#page__title .title { display: flex; justify-content: flex-start; align-items: flex-end; }
@media screen and (max-width: 767px) { #page__title .title { flex-direction: column; align-items: baseline; } }
#page__title .title img { max-height: 43px; margin-right: 1rem; }
@media screen and (max-width: 767px) { #page__title .title img { max-height: 30px; margin-bottom: 1rem; } }
#page__title .title small { font-size: 1rem; font-weight: 900; letter-spacing: .2rem; }
#page__title .title small.text { margin-left: 1rem; }
@media screen and (max-width: 767px) { #page__title .title small.text { margin-left: 0; margin-top: .5rem; } }
#page__title .title.global--en { font-family: urw-din-condensed, sans-serif; font-weight: 700; font-style: normal; color: #208740; font-size: 3.65rem; align-items: baseline; }
@media screen and (max-width: 767px) { #page__title .title.global--en { font-size: 2.65rem; } }
#page__title .title.global--en small { font-size: 1.4rem; letter-spacing: normal; margin-left: 1rem; color: #222222; }
@media screen and (max-width: 767px) { #page__title .title.global--en small { margin-left: 0; } }

#nav__breadcrumnbs { max-width: 1190px; padding: 1.5rem 7rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #nav__breadcrumnbs { padding: 1.5rem 3rem; } }
@media screen and (max-width: 767px) { #nav__breadcrumnbs { display: none; } }
#nav__breadcrumnbs ul { display: flex; column-gap: .5rem; }
#nav__breadcrumnbs ul li { font-size: .75rem; }
#nav__breadcrumnbs ul li a:hover { color: #fee100; }

.article, .btn { transition-duration: 0.3s; }
.article:hover, .btn:hover { filter: brightness(90%); transition-duration: 0.3s; }

a.anchor { display: block; padding-top: 105px; margin-top: -105px; }
@media screen and (max-width: 767px) { a.anchor { padding-top: 75px; margin-top: -75px; } }

.list--inline { margin-bottom: 0; }
.list--inline .list--inline--item { display: inline-block; }

.text--center { text-align: center !important; }

.sp { display: none !important; }
@media screen and (max-width: 767px) { .sp { display: block !important; } }

.tb { display: none !important; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .tb { display: block !important; } }

.pc { display: block !important; }
@media screen and (max-width: 767px) { .pc { display: none !important; } }

.display--none { display: none !important; }

.mt-0 { margin-top: 0px !important; }

.mb-0 { margin-bottom: 0px !important; }

.ml-0 { margin-left: 0px !important; }

.mr-0 { margin-right: 0px !important; }

.m-0 { margin: 0px !important; }

.mt-1 { margin-top: 8px !important; }

.mb-1 { margin-bottom: 8px !important; }

.ml-1 { margin-left: 8px !important; }

.mr-1 { margin-right: 8px !important; }

.m-1 { margin: 8px !important; }

.mt-2 { margin-top: 16px !important; }

.mb-2 { margin-bottom: 16px !important; }

.ml-2 { margin-left: 16px !important; }

.mr-2 { margin-right: 16px !important; }

.m-2 { margin: 16px !important; }

.mt-3 { margin-top: 24px !important; }

.mb-3 { margin-bottom: 24px !important; }

.ml-3 { margin-left: 24px !important; }

.mr-3 { margin-right: 24px !important; }

.m-3 { margin: 24px !important; }

.mt-4 { margin-top: 32px !important; }

.mb-4 { margin-bottom: 32px !important; }

.ml-4 { margin-left: 32px !important; }

.mr-4 { margin-right: 32px !important; }

.m-4 { margin: 32px !important; }

.mt-5 { margin-top: 40px !important; }

.mb-5 { margin-bottom: 40px !important; }

.ml-5 { margin-left: 40px !important; }

.mr-5 { margin-right: 40px !important; }

.m-5 { margin: 40px !important; }

/*  header setting
------------------------------------------------------------------------------------------*/
header { position: fixed; display: flex; align-items: center; width: 100%; height: 110px; background-color: #fff; z-index: 10; /* メニューオープン時 */ }
@media screen and (max-width: 767px) { header { height: 75px; } }
header .container { display: flex; align-items: center; justify-content: center; width: 1300px; margin: 0 auto; padding: 0 0 0 1rem; }
@media screen and (max-width: 767px) { header .container { width: 100%; } }
header .logo { display: inline-block; width: 70px; }
@media screen and (max-width: 767px) { header .logo { width: 50px; } }
header .global { display: flex; margin: 0 0 0 auto; }
header .global ul { display: flex; }
@media screen and (min-width: 768px) and (max-width: 1024px) { header .global ul { column-gap: 0; } }
header .global ul:first-child { margin-right: 1rem; }
header .global ul li a { display: flex; padding: 0 1rem; height: 110px; align-items: center; font-size: clamp(0.8rem, 1.5vw, 1rem); font-weight: 700; }
header .global ul li a:hover { color: #208740 !important; }
@media screen and (min-width: 768px) and (max-width: 1024px) { header .global ul li a { padding: 0 .5rem; } }
@media screen and (max-width: 767px) { header .global ul li a { display: none; } }
header .global ul li.lang { display: flex; align-items: center; justify-content: center; padding: 0 1.5rem 0 0; }
@media screen and (min-width: 768px) and (max-width: 1024px) { header .global ul li.lang { padding: 0 .8rem 0 0; } }
@media screen and (max-width: 767px) { header .global ul li.lang { padding: 0; } }
header .global ul li.lang form { width: 10rem; position: relative; }
@media screen and (min-width: 768px) and (max-width: 1024px) { header .global ul li.lang form { width: 6.5rem; } }
header .global ul li.lang .select { width: 100%; height: 2.1rem; cursor: pointer; color: #208740; background-color: #fff; box-sizing: content-box; }
header .global ul li.lang .select input[type=radio].hide-checkbox { display: none; }
header .global ul li.lang .select_options { display: block !important; }
header .global ul li.lang .select_expand { width: 0; height: 2.1rem; position: absolute; top: 0; right: 0; }
header .global ul li.lang .select_expandLabel { display: block; width: 100%; height: 2.1rem; position: absolute; top: 0; left: 0; cursor: pointer; }
header .global ul li.lang .select_expandLabel::after { font-family: "Font Awesome 5 Free"; content: '\f0da'; position: absolute; top: 50%; right: 10px; transform: translate(-50%, -50%) rotate(90deg) scaleY(1); color: #222222; font-size: 1rem; font-weight: 800; pointer-events: none; z-index: 2; transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1); }
header .global ul li.lang .select_expandLabel:hover::after { opacity: 1; }
header .global ul li.lang .select_close { display: none; }
header .global ul li.lang .select_closeLabel { width: 100%; height: 2.1rem; position: absolute; top: 0; left: 0; display: none; border-bottom: 1px dotted #ddd; }
header .global ul li.lang .select_closeLabel::after { font-family: "Font Awesome 5 Free"; content: '\f0da'; position: absolute; top: 50%; right: 10px; transform: translate(-50%, -50%) rotate(90deg) scaleY(1); color: #222222; font-size: 1rem; font-weight: 800; pointer-events: none; z-index: 2; transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1); }
header .global ul li.lang .select_closeLabel:hover::after { opacity: 1; }
header .global ul li.lang .select_items { width: 100%; position: absolute; top: 0; left: 0; border: 2px solid #529c4f; border-radius: 2px; padding-top: 2.1rem; }
header .global ul li.lang .select_input { display: none; }
header .global ul li.lang .select_label { transition: all 250ms cubic-bezier(0.4, 0.25, 0.3, 1); display: block; height: 0; font-size: 1rem; line-height: 2.1rem; font-weight: 700; overflow: hidden; color: #222222; background-color: #fff; cursor: pointer; padding-left: 20px; }
@media screen and (min-width: 768px) and (max-width: 1024px) { header .global ul li.lang .select_label { font-size: .8rem; padding-left: .5rem; } }
header .global ul li.lang .select_label-placeholder { height: 2.1rem; vertical-align: middle; position: absolute; top: 2px; left: 0; background-color: transparent; }
header .global ul li.lang .select_expand:checked + .select_closeLabel { display: block; }
header .global ul li.lang .select_expand:checked + .select_closeLabel::after { transform: translate(-50%, -50%) rotate(90deg) scaleX(-1) scaleY(1); }
header .global ul li.lang .select_expand:checked + .select_closeLabel + .select_options .select_label { height: 2.1rem; }
header .global ul li.lang .select_expand:checked + .select_closeLabel + .select_options .select_label:hover { color: #208740; background-color: #eaf4eb; }
header .global ul li.lang .select_expand:checked + .select_closeLabel + .select_options + .select_expandLabel { display: none; }
header .global ul li.lang .select_input:checked + .select_label { height: 2.1rem; margin-top: -2rem; }
header .hg__menu { display: flex; height: 110px; min-width: 110px; background: #208740; align-items: center; justify-content: center; z-index: 200; }
@media screen and (max-width: 767px) { header .hg__menu { min-width: 75px; height: 75px; background: #fff; z-index: 201; } }
header .hg__menu .list { position: relative; }
header .hg__menu .list span { display: block; transition: all 0.4s; box-sizing: border-box; position: absolute; top: 10%; transform: translateY(50%); left: 50%; transform: translateX(-50%); width: 40px; height: 3px; background: #fff; border-radius: 2px; }
@media screen and (max-width: 767px) { header .hg__menu .list span { top: 30%; background: #208740; } }
header .hg__menu .list span:nth-child(1) { margin-top: -10px; }
header .hg__menu .list span:nth-child(3) { margin-top: 10px; }
header .hg__menu .list.active { background-color: #008a2c; }
header .hg__menu .list.active span:nth-child(1) { -webkit-transform: translateY(12px) rotate(-45deg); transform: translateY(12px) rotate(-45deg); left: 0; background: #fff; }
header .hg__menu .list.active span:nth-child(2) { opacity: 0; }
header .hg__menu .list.active span:nth-child(3) { -webkit-transform: translateY(-8px) rotate(45deg); transform: translateY(-8px) rotate(45deg); left: 0; background: #fff; }
header .hg__menu .list.active p { color: #208740; opacity: 0.95; }
header .hg__menu .list p { margin-top: 20px; font-size: .75rem; font-weight: 700; color: #fff; }
@media screen and (max-width: 767px) { header .hg__menu .list p { color: #208740; margin-top: 40px; } }
header .nav-wrapper { width: 100vw; height: 100vh; position: fixed; top: 0; left: 0; transition: all .5s; z-index: 2; }
header .header-nav { width: 100%; height: 100%; background-color: #1B1310; z-index: 2; }
header .nav-list { display: block; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; }
header .nav-item { margin-right: 0; margin-bottom: 40px; }
header .nav-wrapper.fade { visibility: visible; opacity: 1; }

.hg__menu-bg { position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; z-index: 0; background: transparent; opacity: 0; visibility: hidden; transition: all 0.6s; }

.hg__menubox { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 1024px; margin: 0 auto; padding: 2em; opacity: 0; visibility: hidden; z-index: 0; overflow-y: auto; }
@media screen and (max-width: 767px) { .hg__menubox { width: 100%; height: 100%; top: 21px; left: 0; transform: none; padding: 0; } }
.hg__menubox .hg__menubox__title { display: flex; justify-content: center; margin-bottom: 1.5rem; }
.hg__menubox .hg__menubox__title p { width: calc(100vw / 5); max-width: 105px; height: auto; }
.hg__menubox .hg__menubox__inner { display: flex; padding: 3rem 2rem 2rem; column-gap: 2rem; justify-content: space-between; border-top: 5px solid #fff; border-bottom: 5px solid #fff; }
@media screen and (max-width: 767px) { .hg__menubox .hg__menubox__inner { display: inline-block; width: 100%; padding: 0; } }
.hg__menubox .hg__menubox__inner--item { width: 100%; color: #fff; letter-spacing: .1rem; }
.hg__menubox .hg__menubox__inner--item .mainlink { margin-bottom: 1rem; }
@media screen and (max-width: 767px) { .hg__menubox .hg__menubox__inner--item .mainlink { margin-bottom: 0; } }
.hg__menubox .hg__menubox__inner--item .mainlink a { display: block; font-weight: 700; }
@media screen and (max-width: 767px) { .hg__menubox .hg__menubox__inner--item .mainlink a { padding: .8rem 1rem; margin-bottom: 0; border-bottom: 1px solid #fff; }
  .hg__menubox .hg__menubox__inner--item .mainlink a::after { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f105"; color: #fee100; display: inline-block; float: right; } }
.hg__menubox .hg__menubox__inner--item .mainlink a:hover { color: #fee100; }
.hg__menubox .hg__menubox__inner--item .mainlink.second { margin-left: 1rem; }
@media screen and (max-width: 767px) { .hg__menubox .hg__menubox__inner--item .mainlink.second { margin-left: 0; } }
.hg__menubox .hg__menubox__inner--item .mainlink.second span { color: #f6ab00; margin-right: .5rem; }
@media screen and (max-width: 767px) { .hg__menubox .hg__menubox__inner--item .mainlink.second span { display: none; } }
.hg__menubox .hg__menubox__inner--item .list--inline { margin-left: 2rem; margin-bottom: 1rem; }
@media screen and (max-width: 767px) { .hg__menubox .hg__menubox__inner--item .list--inline { display: none; } }
.hg__menubox .hg__menubox__inner--item .list--inline--item { font-size: .9rem; margin-bottom: 1rem; margin-left: 1rem; }
.hg__menubox .hg__menubox__inner--item .list--inline--item span { margin-right: .5rem; }
.hg__menubox .hg__menubox__inner--item .list--inline a:hover { color: #fee100; }
.hg__menubox .sub--link { display: flex; justify-content: center; padding: 2rem 0; }
@media screen and (max-width: 767px) { .hg__menubox .sub--link { display: none; } }
.hg__menubox .sub--link li { border-right: 1px solid #fff; }
.hg__menubox .sub--link li:last-child { border-right: none; }
.hg__menubox .sub--link li a { display: block; padding: 0 .5rem; font-size: .75rem; color: #fff; }
.hg__menubox .sub--link li a:hover { color: #fee100; }

.nav-open .hg__menubox { opacity: 1; z-index: 200; visibility: visible; transition: all 0.6s; }

.nav-open .hg__menu-bg { opacity: 0.95; z-index: 100; visibility: visible; background: #208740; }

@media screen and (max-width: 767px) { .nav-open .hg__menu { background: #208740; } }

/*  footer setting
------------------------------------------------------------------------------------------*/
footer { position: relative; width: 100%; height: auto; background: #fff; }
footer .footer__container { max-width: 1300px; margin: 0 auto; position: relative; }
@media screen and (max-width: 767px) { footer .footer__container { width: 100%; } }
footer .footer__container .footer__pagetop { height: 110px; width: 110px; }
@media screen and (max-width: 767px) { footer .footer__container .footer__pagetop { height: 50px; width: 50px; background: #208740; border: 1px solid #fff; box-sizing: border-box; } }
footer .footer__container .footer__pagetop a { display: block; background-image: url("../images/common/img-pagetop.svg"); background-size: 60%; background-position: center; background-repeat: no-repeat; height: 100%; width: auto; }
@media screen and (max-width: 767px) { footer .footer__container .footer__pagetop a { background-image: url("../images/common/img-pagetop-sp.svg"); } }
footer .footer__container .footer__pagetop.scroll--move { position: fixed; right: calc((100% - 1300px) / 2); bottom: 20px !important; }
@media screen and (min-width: 768px) and (max-width: 1024px) { footer .footer__container .footer__pagetop.scroll--move { right: 0; bottom: 20px !important; } }
@media screen and (max-width: 767px) { footer .footer__container .footer__pagetop.scroll--move { right: 1.5rem; bottom: 20px !important; } }
footer .footer__container .footer__pagetop.isHome { /*floating banner利用時*/ }
@media screen and (max-width: 767px) { footer .footer__container .footer__pagetop.isHome.scroll--move { bottom: 120px !important; } }
footer .footer__container .footer__pagetop.scroll--end { position: absolute; right: 0; }
@media screen and (max-width: 767px) { footer .footer__container .footer__pagetop.scroll--end { right: 1.5rem; } }
footer .footer__box__inner { width: 100%; margin: 0 auto; padding: 4rem 2rem 2rem; background: #208740; }
@media screen and (max-width: 767px) { footer .footer__box__inner { padding: 4rem 1rem 2rem; background: #fff; } }
footer .footer__box__inner a { display: block; color: #fff; }
@media screen and (max-width: 767px) { footer .footer__box__inner a { color: #208740; } }
footer .footer__box__inner a:hover { color: #fee100 !important; }
footer .footer__box__inner .sub--link { display: block; text-align: center; }
footer .footer__box__inner .sub--link span { display: block; }
footer .footer__box__inner .sub--link #show_policy_link_group { margin-top: 1rem; }
@media screen and (max-width: 767px) { footer .footer__box__inner .sub--link #show_policy_link_group { border: none; } }
footer .footer__box__inner .footer__banerbox { display: flex; flex-direction: column; flex-wrap: wrap; justify-content: center; align-items: center; grid-row-gap: 1rem; margin-block-end: 2rem; }
footer .footer__box__inner .footer__banerbox .banerbox__box--2 { display: flex; justify-content: space-around; grid-column-gap: 1rem; align-items: baseline; }
footer .footer__box__inner .footer__banerbox .banerbox__box--2 img { height: 60px; width: auto; }
@media screen and (min-width: 768px) and (max-width: 1024px) { footer .footer__box__inner .footer__banerbox .banerbox__box--2 img { height: auto; max-width: 465px; } }
@media screen and (max-width: 767px) { footer .footer__box__inner .footer__banerbox .banerbox__box--2 img { height: auto; width: 100%; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { footer .footer__box__inner .footer__banerbox .banerbox__box--2 { flex-direction: column; align-items: center; grid-row-gap: 1rem; } }
@media screen and (max-width: 767px) { footer .footer__box__inner .footer__banerbox .banerbox__box--2 { flex-direction: column; align-items: center; grid-row-gap: 1rem; } }
footer .footer__box__inner .footer__banerbox .baner__box--1 { text-align: center; }
footer .footer__box__inner .sub--link li { padding: 0 .5rem; font-size: clamp(0.8rem, calc(100vw/60), 0.9rem); font-weight: 700; margin-bottom: .5rem; }
@media screen and (max-width: 767px) { footer .footer__box__inner .sub--link li { border-right: 1px solid #208740; }
  footer .footer__box__inner .sub--link li:last-child { border-right: none; } }
footer .footer__box__inner .sub--link li + li { border-left: 1px solid #fff; }
@media screen and (max-width: 767px) { footer .footer__box__inner .sub--link li + li { border-left: none; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { footer .footer__box__inner .sub--link li { padding: 0 .7rem; } }
@media screen and (max-width: 767px) { footer .footer__box__inner .sub--link li { margin-bottom: 1rem; padding: 0 1rem 0 1rem; text-align: center; } }
footer .footer__box__inner .sub--link li#show_policy_link { margin-top: 1rem; border: none; }
footer .footer__menubox__inner { display: flex; justify-content: center; column-gap: 7rem; margin-bottom: 5rem; font-size: .9rem; font-weight: 700; }
@media screen and (max-width: 767px) { footer .footer__menubox__inner { display: none; } }
footer .footer__menubox__inner--item p { margin-bottom: 1.5rem; color: #fff; }
footer .footer__menubox__inner--item ul { padding-left: 1rem; border-left: 1px solid #fff; }
footer .footer__menubox__inner--item ul li { margin-bottom: 1rem; }
footer .footer__menubox__inner--item ul li:last-child { margin-bottom: 0; }
@media screen and (min-width: 768px) and (max-width: 1024px) { footer .footer__menubox__inner.global--en { column-gap: 5rem; } }
footer .footer__box__outer { padding: 2rem; text-align: center; font-size: 0.8rem; font-weight: 800; }
footer copyright { font-weight: 500; }

.main--color { color: #208740; }

.main--color--lighten { color: #2ab054; background: #72de93; }

#main__container { display: grid; width: auto; max-width: 1300px; margin: 0 auto; padding-top: 110px; grid-template-columns: minmax(427px, 790px) minmax(320px, 400px) 110px; grid-template-rows: minmax(min-content, max-content); }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container { grid-template-columns: minmax(360px, 1fr) minmax(300px, 1fr) 110px; } }
@media screen and (max-width: 767px) { #main__container { width: 100%; padding-top: 75px; grid-template-columns: 1fr; grid-template-rows: max-content max-content 1fr auto; } }
#main__container #main__carousel { grid-column: 1 /2; grid-row: 1/2; background: #208740; }
@media screen and (max-width: 767px) { #main__container #main__carousel { grid-column: 1 /1; grid-row: 1/2; } }
#main__container #main__carousel.global--en { background: #fff; grid-row: 1/2; grid-column: 1/3; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container #main__carousel.global--en { grid-column: 1/3; grid-row: 1/2; } }
#main__container #main__news { grid-column: 1/2; grid-row: 2/3; background: #9ec93b; display: flex; flex-direction: column; justify-content: space-between; }
@media screen and (max-width: 767px) { #main__container #main__news { grid-column: 1/1; grid-row: 2/3; } }
#main__container #main__news.global--en { grid-column: 1/3; grid-row: 2/3; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container #main__news.global--en { grid-row: 2/3; } }
#main__container #main__product { grid-column: 2/3; grid-row: 1/3; background: #019e97;  /*&.global--en{ ２カラムの場合 grid-row: 1/2; @include mq(tb){ grid-column: 1/3; grid-row: 2/3; } @include mq(sp){ grid-row: auto; }
}*/ }
@media screen and (max-width: 767px) { #main__container #main__product { grid-column: 1/1; grid-row: 3/4; } }
#main__container #main__product.global--en { grid-column: 1/3; grid-row: 3/4; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container #main__product.global--en { grid-column: 1/3; grid-row: 3/4; } }
@media screen and (max-width: 767px) { #main__container #main__product.global--en { grid-row: auto; } }
#main__container #main__movie { grid-column: 1/2; grid-row: 3/4; background: #ee7820; }
@media screen and (max-width: 767px) { #main__container #main__movie { grid-column: 1/1; grid-row: 4/5; } }
#main__container #main__movie.global--en { grid-column: 1/3; grid-row: auto; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container #main__movie.global--en { grid-row: 4/5; } }
#main__container #main__socialmedia { grid-column: 2/3; grid-row: 3/4; background: #f5ab00; display: flex; flex-direction: column; justify-content: space-between; }
@media screen and (max-width: 767px) { #main__container #main__socialmedia { grid-column: 1/1; grid-row: 5/6; } }
#main__container #main__character { grid-column: 1/3; grid-row: 4/5; background: #2bb7b4; }
@media screen and (max-width: 767px) { #main__container #main__character { grid-column: 1/1; grid-row: 6/7; } }
#main__container #main__company { grid-column: 1/3; grid-row: 5/6; background: #529c4f; }
@media screen and (max-width: 767px) { #main__container #main__company { grid-column: 1/1; grid-row: 7/8; padding-bottom: 3rem; } }
#main__container #main__company.global--en { grid-row: auto; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container #main__company.global--en { grid-row: 5/6; } }
#main__container #side { grid-column: 3/4; grid-row: 1/6; background: #208740; }
@media screen and (max-width: 767px) { #main__container #side { display: none; } }
#main__container #side.global--en { grid-row: 1/6; }
@media screen and (min-width: 768px) and (max-width: 1024px) { #main__container #side.global--en { grid-row: 1/6; } }

/*mainCarousel*/
.carousel__box { height: auto; }
@media screen and (max-width: 767px) { .carousel__box { height: 100%; } }
.carousel__box .carousel__box--item img { max-width: 100%; }

.swiper { width: 100%; max-height: 510px; width: 100%; position: relative; }
@media screen and (max-width: 767px) { .swiper { width: 100vw; height: auto; } }
.swiper img { width: 100%; height: auto; aspect-ratio: auto 640 / 360; }
.swiper.global--en { max-height: inherit; }
.swiper .swiper-wrapper.global--en { margin-bottom: 40px; }

.slider-thumbnail { background: #fff; }
.slider-thumbnail .swiper-wrapper { flex-wrap: wrap; }
@media screen and (max-width: 767px) { .slider-thumbnail .swiper-wrapper { flex-wrap: wrap; justify-content: center; }
  .slider-thumbnail .swiper-wrapper .swiper-slide { width: calc(100%/3) !important; } }
.slider-thumbnail.global--en { display: none; }
.slider-thumbnail .swiper-slide { filter: brightness(1); transition: opacity .5s; width: calc(100%/6); cursor: pointer; border: solid #fff; border-width: .175rem; }
@media screen and (max-width: 767px) { .slider-thumbnail .swiper-slide { border-width: .175rem; } }
.slider-thumbnail .swiper-slide.swiper-slide-thumb-active img { filter: brightness(0.5); transition: all .3s; }
.slider-thumbnail .swiper-slide.swiper-slide-thumb-active img:hover { transition: all .3s; filter: brightness(0.5); }
.slider-thumbnail .swiper-slide img:hover { transition: all .3s; filter: brightness(1.2); }

.swiper-button-prev, .swiper-rtl .swiper-button-next { left: 0; border-radius: 0 1rem 1rem 0; padding: 3.5rem 1.5rem 3.5rem 1rem; color: #fff; top: 45%; }
.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after { font-size: 1.5rem; font-weight: 900; filter: drop-shadow(0px 4px 6px black); }
@media screen and (min-width: 768px) and (max-width: 1024px) { .swiper-button-prev, .swiper-rtl .swiper-button-next { padding: 2.5rem 1rem 2.5rem .5rem; top: 48%; } }
@media screen and (max-width: 767px) { .swiper-button-prev, .swiper-rtl .swiper-button-next { padding: 2rem 1rem 2rem .5rem; top: 50%; } }

.swiper-button-next, .swiper-rtl .swiper-button-prev { right: 0; border-radius: 1rem 0 0 1rem; padding: 3.5rem 1rem 3.5rem 1.5rem; color: #fff; top: 45%; }
.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after { font-size: 1.5rem; font-weight: 900; filter: drop-shadow(0px 4px 6px black); }
@media screen and (min-width: 768px) and (max-width: 1024px) { .swiper-button-next, .swiper-rtl .swiper-button-prev { padding: 2.5rem .5rem 2.5rem 1rem; top: 48%; } }
@media screen and (max-width: 767px) { .swiper-button-next, .swiper-rtl .swiper-button-prev { padding: 2rem .5rem 2rem 1rem; top: 50%; } }

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after { font-size: 1.5rem; font-weight: 900; }

.swiper-slide.swiper-slide-active a { display: block; }

.swiper-pagination { bottom: 0 !important; background: #fff; height: 40px; display: flex; justify-content: center; align-items: center; }

.swiper-pagination-bullet { background: #ccc !important; width: clamp(30px, 30%, 50px); height: 6px; border-radius: 6px; transition: all .5s  ease-out; opacity: .7; }

.swiper-pagination-bullet-active { background: #208740 !important; }

/*NewsBox*/
.news__box { background-position: right 2rem top 2rem; background-repeat: no-repeat; background-size: auto 35px; padding: 4.5rem 1.5rem 2rem; padding: 4.5rem 1.5rem 0.5rem !important; background-image: url("../images/top/img-title-news.svg"); }
@media screen and (max-width: 767px) { .news__box { background-size: auto 25px; padding: 4rem 1.5rem 2rem; } }
.news__box.global { background-image: none; padding-top: 2.5rem !important; }
.news__box.global > h3 { font-family: urw-din-condensed, sans-serif; font-weight: 700; font-style: normal; font-size: 2.2rem; line-height: 1.2; letter-spacing: normal; /*margin-bottom: 2rem;*/ }
.news__box h3 { font-size: 1.5rem; font-weight: 900; letter-spacing: .1rem; color: #fff; margin-bottom: 20px; font-size: 1.5rem; }
@media screen and (max-width: 767px) { .news__box h3 { font-size: clamp(20px, calc(100vw/30), 26px); /*border-bottom: 1px solid $white;*/ /*padding-bottom: .5rem;*/ filter: drop-shadow(0 0 0 transparent); } }
.news__box dl { display: flex; flex-direction: row; font-size: .8rem; position: relative; width: 100%; margin-bottom: 1rem; color: #fff; align-items: baseline; }
@media screen and (max-width: 767px) { .news__box dl { flex-direction: column; font-size: clamp(14px, calc(100vw/50), 18px); align-items: flex-start; }
  .news__box dl:nth-of-type(2) { /*margin-bottom: 1.5rem;*/ } }
.news__box dl dt { width: 120px; }
@media screen and (max-width: 767px) { .news__box dl dt { width: auto; margin-bottom: .2rem; } }
.news__box dl dd { padding-right: 1.5rem; font-weight: 700; width: 100%; line-height: 1.5rem; }
@media screen and (max-width: 767px) { .news__box dl dd { width: calc(100vw - 3rem); white-space: nowrap; text-overflow: ellipsis; position: relative; } }
.news__box dl dd::after { content: ""; position: absolute; display: block; right: 0; top: 0.3rem; margin: auto 0; border-top: solid 0.35rem #fee100; border-right: solid 0.35rem #fee100; height: .8rem; width: .8rem; transform: rotate(45deg); }
.news__box dl dd a { display: block; }
.news__box dl dd a span { background: #de3232; color: #fff; padding: .25rem .5rem; margin-right: .5rem; }
.news__box dl dd a:hover { color: #fee100; }
@media screen and (max-width: 767px) { .news__box dl dd a { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .news__box dl dd a span { float: left; padding: .15rem .3rem; } }
@media screen and (max-width: 767px) { .news__box dl.hidden__ms { display: none; } }
.news__box #information a { padding-left: 3rem; }
.news__box #information a :is(span) { margin-left: -3rem; }
@media screen and (max-width: 767px) { .news__box #information a :is(span) { margin-right: -.5rem; } }
.news__box hr { height: 1px; border-top: 1px dashed #fff; margin: 2rem 0 3rem; }
@media screen and (max-width: 767px) { .news__box hr { display: none; } }

/*ProductBox*/
.product__box { background-position: right 2rem top 2rem; background-repeat: no-repeat; background-size: auto 35px; padding: 4.5rem 1.5rem 2rem; display: flex; flex-direction: column; row-gap: 5px; background-image: url("../images/top/img-title-product.svg"); /*&.global{ 2カラムの場合 .product__box--item{ @include mq(tb){ display: flex; flex-direction: row; grid-column-gap:1rem; .item__box{ flex-direction: column; width: calc(100%/3); .card--image{ width: 100%; } .card--title{ width: 100%; } } } .card--title{ p{ line-height: 1.2; } small{ display: block; word-wrap: break-word; padding-right: 1rem; } } }
}*/ }
@media screen and (max-width: 767px) { .product__box { background-size: auto 25px; padding: 4rem 1.5rem 2rem; } }
.product__box.global { background-image: none; padding-top: 2.5rem; }
.product__box h3 { font-size: 1.5rem; font-weight: 900; letter-spacing: .1rem; color: #fff; margin-bottom: 20px; }
@media screen and (max-width: 767px) { .product__box h3 { font-size: clamp(20px, calc(100vw/30), 26px); } }
.product__box.global h3 { font-family: urw-din-condensed, sans-serif; font-weight: 700; font-style: normal; font-size: 2.2rem; line-height: 1.2; letter-spacing: normal; }
.product__box--item { display: flex; flex-direction: column; grid-row-gap: .5rem; }
.product__box--item .item__box { display: flex; flex-direction: row; align-items: center; background: #fff; transition-duration: 0.3s; }
.product__box--item .item__box .card--image { width: 45%; }
.product__box--item .item__box .card--image img { width: 100%; height: auto; aspect-ratio: auto 4 / 3; }
.product__box--item .item__box .card--title { width: 55%; padding: 1rem; }
.product__box--item .item__box .card--title p { display: flex; justify-content: space-between; align-items: center; font-weight: 700; font-size: .9rem; color: #019e97; }
@media screen and (max-width: 767px) { .product__box--item .item__box .card--title p { font-size: clamp(12px, calc(100vw/30), 20px); } }
.product__box--item .item__box .card--title p::after { content: ""; display: block; right: 0; top: 0; margin: auto 0; border-top: solid 0.35rem #fee100; border-right: solid 0.35rem #fee100; height: .8rem; width: .8rem; transform: rotate(45deg); }
.product__box--item .item__box:hover { filter: brightness(90%); transition-duration: 0.3s; }
.product__box.global .product__box--item { display: flex; flex-direction: row; flex-wrap: wrap; grid-column-gap: .75rem; grid-row-gap: .75rem; }
.product__box.global .product__box--item .item__box { flex-direction: column; width: calc(100%/4 - .57rem); justify-content: stretch; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .product__box.global .product__box--item { display: flex; flex-direction: row; grid-column-gap: .75rem; grid-row-gap: .75rem; }
  .product__box.global .product__box--item .item__box { flex-direction: column; width: calc(100%/3 - .5rem); }
  .product__box.global .product__box--item .item__box .card--image { width: 100%; }
  .product__box.global .product__box--item .item__box .card--title { width: 100%; } }
@media screen and (max-width: 767px) { .product__box.global .product__box--item { display: flex; flex-direction: column; grid-row-gap: .5rem; }
  .product__box.global .product__box--item .item__box { flex-direction: row; width: 100%; }
  .product__box.global .product__box--item .item__box .card--image { width: 45%; }
  .product__box.global .product__box--item .item__box .card--title { width: 55%; } }
.product__box.global .product__box--item .card--image { width: 100%; }
.product__box.global .product__box--item .card--title { width: 100%; }
.product__box.global .product__box--item .card--title p { line-height: 1.2; }
.product__box.global .product__box--item .card--title small { display: block; word-wrap: break-word; padding-right: 1rem; }

/*MovieBox*/
.movie__box { background-position: right 2rem top 2rem; background-repeat: no-repeat; background-size: auto 35px; padding: 4.5rem 1.5rem 2rem; background-image: url("../images/top/img-title-movie.svg"); }
@media screen and (max-width: 767px) { .movie__box { background-size: auto 25px; padding: 4rem 1.5rem 2rem; } }
.movie__box.global { background-image: none; padding-top: 2.5rem; }
.movie__box.global > h3 { font-family: urw-din-condensed, sans-serif; font-weight: 700; font-style: normal; font-size: 2.2rem; line-height: 1.2; letter-spacing: normal; }
.movie__box h3 { font-size: 1.5rem; font-weight: 900; letter-spacing: .1rem; color: #fff; margin-bottom: 20px; }
@media screen and (max-width: 767px) { .movie__box h3 { font-size: clamp(20px, calc(100vw/30), 26px); }
  .movie__box h3 span { display: inherit; } }
.movie__box--item { display: flex; column-gap: 10px; grid-row-gap: 2rem; }
@media screen and (max-width: 767px) { .movie__box--item { flex-direction: column; } }
.movie__box--item a { width: 50%; transition-duration: 0.3s; }
@media screen and (max-width: 767px) { .movie__box--item a { width: 100%; } }
.movie__box--item a .movie--image { position: relative; padding-bottom: 56.25%; overflow: hidden; height: 0; }
.movie__box--item a .movie--image::after { content: ''; background: url("../images/common/img_playIcon.svg") center 50% no-repeat; background-size: 80px; width: 100%; height: 100%; position: absolute; left: 0; top: 0; }
.movie__box--item a .movie--title { display: flex; justify-content: center; padding: .5rem 1rem; }
.movie__box--item a .movie--title p { color: #fff; font-size: clamp(12px, calc(100vw/30), 14px); font-weight: 800; }
.movie__box--item a img { position: absolute; top: -17%; left: 0; width: 100%; }
.movie__box--item a:hover { filter: brightness(90%); transition-duration: 0.3s; }
.movie__box--item .item--box { width: 50%; }
@media screen and (max-width: 767px) { .movie__box--item .item--box { width: 100%; } }
.movie__box--item .item--box .js-modal-btn { width: 100%; }
.movie__box--item .item--box .more__info a { max-width: 100%; margin-right: 0; }
.movie__box.global .movie--title { padding: .5rem 1rem 1rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .movie__box.global .movie--title { min-height: 60px; } }
.movie__box.global .movie--title p { line-height: normal; }
.movie__box.global .item--box { width: 50%; display: flex; flex-direction: column; }
@media screen and (max-width: 767px) { .movie__box.global .item--box { width: 100%; } }
.movie__box.global .item--box .js-modal-btn { width: 100%; }
.movie__box.global .item--box .more__info a { min-width: 330px; margin: 0 .5rem .5rem auto; padding: .5rem 2rem .5rem 1.2rem; }
@media screen and (max-width: 767px) { .movie__box.global .item--box .more__info a { min-width: 100%; } }
@media screen and (min-width: 768px) and (max-width: 1024px) { .movie__box.global .item--box .more__info a { width: 100%; } }

/*SocialmediaBox*/
.socialmedia__box { background-position: right 2rem top 2rem; background-repeat: no-repeat; background-size: auto 35px; padding: 4.5rem 1.5rem 2rem; background-image: url("../images/top/img-title-sns.svg"); }
@media screen and (max-width: 767px) { .socialmedia__box { background-size: auto 25px; padding: 4rem 1.5rem 2rem; } }
.socialmedia__box h3 { font-size: 1.5rem; font-weight: 900; letter-spacing: .1rem; color: #fff; margin-bottom: 20px; }
@media screen and (max-width: 767px) { .socialmedia__box h3 { font-size: clamp(20px, calc(100vw/30), 26px); } }
.socialmedia__box--item { display: flex; column-gap: 10px; }
.socialmedia__box--item a { width: 50%; transition-duration: 0.3s; }
@media screen and (max-width: 767px) { .socialmedia__box--item a { width: 100%; } }
.socialmedia__box--item a .sns__title { display: flex; justify-content: center; padding: .5rem 0; }
.socialmedia__box--item a .sns__title p { color: #fff; font-size: .8rem; font-weight: 800; }
@media screen and (max-width: 767px) { .socialmedia__box--item a .sns__title p { font-size: clamp(12px, calc(100vw/30), 20px); } }
.socialmedia__box--item a .sns__title p::after { content: ""; display: inline-block; right: 0; top: 0; margin: auto 0; border-top: solid 0.3rem #fee100; border-right: solid 0.3rem #fee100; height: .7rem; width: .7rem; transform: rotate(45deg); }
.socialmedia__box--item a .sns__image img { width: 100%; height: auto; aspect-ratio: auto 111 / 106; }
.socialmedia__box--item a:hover { filter: brightness(90%); transition-duration: 0.3s; }

/*CharacterBox & CompanyBox*/
.character__box { background-position: right 2rem top 2rem; background-repeat: no-repeat; background-size: auto 35px; padding: 4.5rem 1.5rem 2rem; background-image: url("../images/top/img-title-character.svg"); }
@media screen and (max-width: 767px) { .character__box { background-size: auto 25px; padding: 4rem 1.5rem 2rem; } }
.character__box h3 { font-size: 1.5rem; font-weight: 900; letter-spacing: .1rem; color: #fff; margin-bottom: 20px; }
@media screen and (max-width: 767px) { .character__box h3 { font-size: clamp(20px, calc(100vw/30), 26px); } }

.company__box { background-position: right 2rem top 2rem; background-repeat: no-repeat; background-size: auto 35px; padding: 4.5rem 1.5rem 2rem; background-image: url("../images/top/img-title-company.svg"); }
@media screen and (max-width: 767px) { .company__box { background-size: auto 25px; padding: 4rem 1.5rem 2rem; } }
.company__box.global { background-image: none; padding-top: 2.5rem; }
.company__box.global > h3 { font-family: urw-din-condensed, sans-serif; font-weight: 700; font-style: normal; font-size: 2.2rem; line-height: 1.2; letter-spacing: normal; }
.company__box h3 { font-size: 1.5rem; font-weight: 900; letter-spacing: .1rem; color: #fff; margin-bottom: 20px; }
@media screen and (max-width: 767px) { .company__box h3 { font-size: clamp(20px, calc(100vw/30), 26px); } }
.company__box.global .more__info a { min-width: 330px; width: fit-content; margin: 0 .5rem 0 auto; padding: .5rem 2rem .5rem 1.2rem; }
@media screen and (min-width: 768px) and (max-width: 1024px) { .company__box.global .more__info a { max-width: 50%; width: 100%; } }
@media screen and (max-width: 767px) { .company__box.global .more__info a { margin: 1rem .5rem 0 auto; min-width: 100%; } }

.article__wrap { display: grid; margin: 0 auto; grid-template-columns: repeat(12, 1fr); grid-template-rows: auto 1fr; grid-gap: 1rem .5vw; }
@media screen and (max-width: 767px) { .article__wrap { grid-gap: .5rem 2vw; } }

#main__character .article, #main__company .article { display: flex; flex-direction: column; grid-column: span 3; }
@media screen and (max-width: 767px) { #main__character .article, #main__company .article { grid-column: span 6; } }

#main__character .article__title { flex-grow: 1; background: transparent; padding: 1rem 1.5rem 1rem 1rem; font-size: clamp(12px, calc(100vw/30), 14px); font-weight: 700; color: #fff; display: flex; justify-content: center; align-items: center; }
@media screen and (max-width: 767px) { #main__character .article__title { padding: .5rem 0; } }
#main__character .article__title::after { content: ""; display: block; border-top: solid 0.3rem #fee100; border-right: solid 0.3rem #fee100; height: .7rem; width: .7rem; transform: rotate(45deg); margin-left: .5rem; }
#main__character .article__thumb img { width: 100%; height: auto; aspect-ratio: auto 600 / 450; }

#main__company .article__title { flex-grow: 1; background: #fff; padding: 1rem 1.5rem 1rem 1rem; font-size: clamp(12px, calc(100vw/30), 14px); font-weight: 700; color: #019e97; display: flex; align-items: center; justify-content: space-between; }
@media screen and (max-width: 767px) { #main__company .article__title { padding: .5rem; } }
#main__company .article__title::after { content: ""; display: block; border-top: solid 0.3rem #fee100; border-right: solid 0.3rem #fee100; height: .7rem; width: .7rem; transform: rotate(45deg); }
#main__company .article__thumb img { width: 100%; height: auto; aspect-ratio: auto 334 / 340; }

.more__info a { position: relative; display: flex; align-items: center; width: clamp(210px, calc(100vw/3), 260px); padding: .5rem 1rem .5rem 1.2rem; font-weight: 700; margin: 0 1.5rem 1.5rem auto; background: #fff; transition-duration: 0.3s; }
.more__info a:hover { filter: brightness(90%); transition-duration: 0.3s; }
@media screen and (max-width: 767px) { .more__info a { font-size: .8rem; } }
.more__info a::after { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f0da"; color: #ee7820; position: absolute; display: block; right: 1rem; font-size: .7rem; }

.news__box .mor__-info a { margin: 2.5rem 0 .5rem auto; }

/*floating banner*/
.floating-banner { position: fixed; bottom: 10px; z-index: 10; width: 100vw; text-align: center; filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5)); }
@media screen and (max-width: 767px) { .floating-banner { /*bottom: 90px;*/ bottom: 20px; filter: none; } }
.floating-banner img { max-width: 100%; }
@media screen and (max-width: 767px) { .floating-banner img { max-width: 90%; } }
