@charset "UTF-8";
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; word-wrap: break-word; }

html { font-size: 62.5%; }
@media screen and (max-width: 750px) { html { font-size: 2.375vw; } }

body { color: #1f1f1f; font-family: "Noto Sans JP", YuGothicM, YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif; font-size: 1.6rem; -webkit-text-size-adjust: 100%; }

li { list-style: none; }

img { max-width: 100%; vertical-align: bottom; }
img[usemap] { height: auto; }

video { max-width: 100%; }

a { color: #1f1f1f; }
a:hover { text-decoration: none; }

button { padding: 0; border: none; background: none; color: inherit; font-family: inherit; font-size: 1.6rem; cursor: pointer; }

input[type="text"], input[type="password"], input[type="tel"], input[type="email"], input[type="submit"], input[type="button"], textarea, select { font-family: inherit; font-size: 1.6rem; }

.only-pc { display: block; }
@media screen and (max-width: 750px) { .only-pc { display: none; } }

.only-sp { display: none; }
@media screen and (max-width: 750px) { .only-sp { display: block; } }

img.only-pc, span.only-pc { display: inline; }
@media screen and (max-width: 750px) { img.only-pc, span.only-pc { display: none; } }
img.only-sp, span.only-sp { display: none; }
@media screen and (max-width: 750px) { img.only-sp, span.only-sp { display: inline; } }

table.only-pc { display: table; }
@media screen and (max-width: 750px) { table.only-pc { display: none; } }
table.only-sp { display: none; }
@media screen and (max-width: 750px) { table.only-sp { display: table; } }

.js-tel { color: #000 !important; text-decoration: none; cursor: default; }

.pagetop { position: fixed; bottom: 25px; right: 25px; z-index: 9999; opacity: 0; transition: all .5s; transform: translateY(100px); width: 72px; }
@media screen and (max-width: 750px) { .pagetop { width: 9.6%; bottom: 4%; right: 4%; } }
.pagetop.is-show { opacity: 1; transform: translateY(0); }

.inner { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 20px; line-height: 1.6; }
@media screen and (max-width: 750px) { .inner { padding: 0 4%; } }

.contents { width: 100%; max-width: 1000px; margin: 0 auto; }

/* ------------------------------ ヘッダー
------------------------------ */
.header { position: relative; z-index: 99999; }
.header .header-logo { display: flex; align-items: center; }
.header .header-logo img { width: 420px; }
@media screen and (max-width: 1200px) { .header .header-logo img { width: 320px; } }
@media screen and (max-width: 980px) { .header .header-logo img { width: 420px; } }
.header .pro-top { display: flex; align-items: center; justify-content: center; }
.header .pro-top .pro-heading { font-size: 1.9rem; font-weight: 700; text-align: center; }
.header .pro-nav { display: flex; align-items: center; }
.header .pro-nav li { border-right: 1px solid #e30602; }
.header .pro-nav li:last-child { border-right: none; }
.header .pro-nav li a { display: block; text-decoration: none; padding-inline: 20px; font-size: 1.5rem; font-weight: 700; }
@media screen and (max-width: 1200px) { .header .pro-nav li a { padding-inline: 10px; } }
.header .header-main { z-index: 9; position: relative; display: grid; grid-template-columns: 420px 1fr; height: 70px; padding: 0 100px 0 50px; background-color: #fff; }
@media screen and (max-width: 1200px) { .header .header-main { grid-template-columns: 320px 1fr; padding-left: 30px; } }
@media screen and (max-width: 980px) { .header .header-main { grid-template-columns: 1fr 380px; height: 118px; padding-right: 0; border-bottom: 2px solid #e30602; } }
@media screen and (max-width: 750px) { .header .header-main { height: 70px; grid-template-columns: 1fr calc(8em + 70px); padding-left: 4%; } }
@media screen and (max-width: 500px) { .header .header-main { grid-template-columns: 1fr calc(7em + 70px); } }
.header .header-main .header-con { display: flex; align-items: center; justify-content: flex-end; /*
.header-search { display: none; width: 40px; margin-right: 20px; img { width: 100%; } @include tab { display: block; } @include sp { width: 25px; margin-right: 15px; } img { vertical-align: middle; }
}*/ }
@media screen and (max-width: 980px) { .header .header-main .header-con { padding-left: 20px; background: #fff url("../img/common/bg_sp.png") no-repeat left top; background-size: cover; } }
@media screen and (max-width: 750px) { .header .header-main .header-con { padding-left: 10px; } }
.header .header-main .header-con .header-spttl { font-size: 1.7rem; font-weight: 700; color: #fff; }
@media screen and (max-width: 750px) { .header .header-main .header-con .header-spttl { font-size: 1.2rem; } }
@media screen and (max-width: 500px) { .header .header-main .header-con .header-spttl { font-size: 1rem; } }
.header .header-main .header-con .header-nav { display: flex; align-items: center; justify-content: flex-end; margin-right: 10px; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-nav { display: none; } }
.header .header-main .header-con .header-nav li { border-right: 1px solid #e30602; }
.header .header-main .header-con .header-nav li:last-child { border-right: none; }
.header .header-main .header-con .header-nav li a { display: block; text-decoration: none; padding-inline: 20px; font-size: 1.4rem; font-weight: 700; color: #626262; }
@media screen and (max-width: 1200px) { .header .header-main .header-con .header-nav li a { padding-inline: 10px; } }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-company { display: none; } }
.header .header-main .header-con .header-company a { display: flex; align-items: center; column-gap: 7px; }
.header .header-main .header-con .header-company a .ico { width: 1.6rem; }
.header .header-main .header-con .header-company a span { font-size: 1.4rem; font-weight: 700; }
.header .header-main .header-con .header-language { display: flex; align-items: center; justify-content: center; width: 100%; max-width: 56px; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-language { width: 60px; max-width: 100%; margin-right: 30px; margin-left: 20px; padding-top: 10px; padding-bottom: 10px; padding-left: 20px; border-left: 1px solid #fff; } }
@media screen and (max-width: 750px) { .header .header-main .header-con .header-language { width: 35px; margin-right: 10px; margin-left: 10px; padding-left: 10px; } }
@media screen and (max-width: 500px) { .header .header-main .header-con .header-language { margin-right: 5px; margin-left: 5px; padding-top: 5px; padding-bottom: 5px; padding-left: 5px; } }
.header .header-main .header-con .header-language button { width: 16px; margin: 0 auto; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-language button { width: 40px; } }
@media screen and (max-width: 750px) { .header .header-main .header-con .header-language button { width: 25px; } }
.header .header-main .header-con .header-language button img { vertical-align: middle; }
.header .header-main .header-con .header-language button img.img_pc { display: block; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-language button img.img_pc { display: none; } }
.header .header-main .header-con .header-language button img.img_sp { display: none; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-language button img.img_sp { display: block; } }
.header .header-main .header-con .fixed-pro { display: none; }
.header .header-main .header-con .header-contact { position: absolute; top: 0; right: 0; width: 100px; height: 100px; background-color: #e30602; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-contact { display: none; } }
.header .header-main .header-con .header-contact a { display: flex; align-items: center; justify-content: center; text-decoration: none; height: 100%; }
.header .header-main .header-con .header-contact a .ico { display: block; width: 2rem; margin: 0 auto 10px; }
.header .header-main .header-con .header-contact a span { display: block; font-size: 1.5rem; font-weight: 700; color: #fff; }
.header .header-main .header-con .header-menu { display: none; }
@media screen and (max-width: 980px) { .header .header-main .header-con .header-menu { display: flex; align-items: center; justify-content: center; width: 120px; height: 100%; background-color: #e30602; cursor: pointer; } }
@media screen and (max-width: 980px) and (max-width: 750px) { .header .header-main .header-con .header-menu { width: 70px; } }

.header .header-main .header-con .header-menu button { position: relative; display: block; width: 57px; height: 33px; margin: 0 auto; }
@media screen and (max-width: 750px) { .header .header-main .header-con .header-menu button { width: 37px; height: 23px; } }
.header .header-main .header-con .header-menu span { position: absolute; right: 0; display: block; width: 100%; height: 4px; background-color: #fff; transition: all .4s; }
@media screen and (max-width: 750px) { .header .header-main .header-con .header-menu span { height: 2px; } }
.header .header-main .header-con .header-menu span:nth-of-type(1) { top: 0; }
.header .header-main .header-con .header-menu span:nth-of-type(2) { top: 50%; margin-top: -2px; }
@media screen and (max-width: 750px) { .header .header-main .header-con .header-menu span:nth-of-type(2) { margin-top: -1px; } }
.header .header-main .header-con .header-menu span:nth-of-type(3) { bottom: 0; }
.header .header-product { position: relative; display: grid; grid-template-columns: 220px 1fr; height: 60px; background-color: #150a0a; }
@media screen and (max-width: 1200px) { .header .header-product { grid-template-columns: 150px 1fr; } }
@media screen and (max-width: 980px) { .header .header-product { display: none !important; } }
.header .header-product .pro-top { background: linear-gradient(110deg, #e30602 0%, #e30602 90%, #150a0a 90%, #150a0a 100%); }
@media screen and (max-width: 1200px) { .header .header-product .pro-top { background: linear-gradient(110deg, #e30602 0%, #e30602 85%, #150a0a 85%, #150a0a 100%); } }
.header .header-product .pro-top .pro-heading { padding: 10px; color: #fff; }
.header .header-product .pro-main { display: flex; align-items: center; padding-left: 50px; }
@media screen and (max-width: 1200px) { .header .header-product .pro-main { padding-left: 0; } }
.header .header-product .pro-main .pro-nav li a { color: #fff; }
.header .header-product .pro-main .pro-search { width: 100%; max-width: 375px; }
@media screen and (max-width: 1200px) { .header .header-product .pro-main .pro-search { max-width: 330px; } }
.header .header-product .pro-main .pro-search .pro-search-form { display: flex; align-items: center; column-gap: 10px; padding: 5px 15px; border: 1px solid #f00; background-color: #fff; border: 1px solid #ced4e3; border-radius: 2em; }
.header .header-product .pro-main .pro-search input { flex: 1; width: 100%; border: none; font-size: 1.5rem; font-weight: 500; }
.header .header-product .pro-main .pro-search button { width: 18px; }
.header .header-product .pro-main .pro-search button img { vertical-align: middle; }

.js-fixed { position: sticky; top: 0; left: 0; z-index: 99999; width: 100%; height: 70px; }
.js-fixed .header-product { display: none; }
.js-fixed .header-main { padding-right: 0; border-bottom: 2px solid #e30602; }
.js-fixed .header-main .header-spttl { margin-left: 1em; color: #000 !important; }
@media screen and (max-width: 980px) { .js-fixed .header-main .header-spttl { margin-left: 0; color: #fff !important; } }
.js-fixed .header-main .header-nav, .js-fixed .header-main .header-company { display: none !important; }
.js-fixed .header-main .fixed-pro { flex: 1; display: flex !important; align-items: center; justify-content: flex-end; }
@media screen and (max-width: 980px) { .js-fixed .header-main .fixed-pro { display: none !important; } }
.js-fixed .header-main .fixed-pro .pro-top .pro-heading { font-size: 1.6rem; }
.js-fixed .header-main .fixed-pro .pro-nav li a { padding-inline: 15px; }
@media screen and (max-width: 1200px) { .js-fixed .header-main .fixed-pro .pro-nav li a { padding-inline: 10px; font-size: 1.2rem; } }
.js-fixed .header-main .header-search { display: block !important; width: 30px !important; margin-right: 10px; }
@media screen and (max-width: 980px) { .js-fixed .header-main .header-search { display: none !important; width: 40px !important; margin-right: 20px !important; } }
@media screen and (max-width: 750px) { .js-fixed .header-main .header-search { width: 25px !important; margin-right: 15px !important; } }
.js-fixed .header-main .header-language { width: 30px !important; margin-right: 10px !important; }
@media screen and (max-width: 980px) { .js-fixed .header-main .header-language { width: 40px !important; margin-right: 30px !important; } }
@media screen and (max-width: 750px) { .js-fixed .header-main .header-language { width: 25px !important; margin-right: 15px !important; } }
.js-fixed .header-main .header-language button { width: 30px !important; }
@media screen and (max-width: 980px) { .js-fixed .header-main .header-language button { width: 40px !important; } }
@media screen and (max-width: 750px) { .js-fixed .header-main .header-language button { width: 30px !important; } }
.js-fixed .header-main .header-contact { position: static !important; width: 70px !important; height: 100% !important; }
@media screen and (max-width: 980px) { .js-fixed .header-main .header-contact { display: none !important; } }
.js-fixed .header-main .header-contact a .ico { margin-bottom: 0 !important; }
.js-fixed .header-main .header-contact a span { display: none !important; }

.nav-menu { z-index: 99999; display: none; position: fixed; top: 118px; left: 0; width: 100%; height: calc(100% - 118px); background-color: #f3f5f8; }
@media screen and (max-width: 750px) { .nav-menu { top: 70px; height: calc(100% - 70px); } }
.nav-menu .nav-menu-content { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto; padding-top: 50px; padding-bottom: 80px; }
@media screen and (max-width: 750px) { .nav-menu .nav-menu-content { padding-top: 6.6666666667%; padding-bottom: 10.6666666667%; } }
.nav-menu .nav-heading { width: 100%; max-width: 500px; margin: 0 auto 30px; }
@media screen and (max-width: 750px) { .nav-menu .nav-heading { width: 85.3333333333%; margin-bottom: 4%; } }
.nav-menu .nav-heading span { position: relative; font-size: 3.2rem; font-weight: 700; line-height: 1; text-decoration: underline solid #e30602 8px; text-underline-offset: -0.1em; text-decoration-skip-ink: none; }
.nav-menu .nav-pro-list { width: 100%; max-width: 500px; margin: 0 auto 50px; }
@media screen and (max-width: 750px) { .nav-menu .nav-pro-list { width: 85.3333333333%; margin-bottom: 6.6666666667%; } }
.nav-menu .nav-pro-list li { margin-bottom: 15px; }
.nav-menu .nav-pro-list li:last-child { margin-bottom: 0; }
.nav-menu .nav-pro-list li a { display: block; text-decoration: none; padding: 20px 50px; background: #fff url("../img/common/ico_arrow02.svg") no-repeat right 35px center; background-size: 30px auto; border: 2px solid #6b7387; font-size: 2.6rem; font-weight: 700; border-radius: 2em; }
@media screen and (max-width: 750px) { .nav-menu .nav-pro-list li a { padding: 3.125% 7.8125%; background-size: 4.6875% auto; font-size: 1.8rem; } }
.nav-menu .nav-list { margin-bottom: 70px; }
@media screen and (max-width: 750px) { .nav-menu .nav-list { margin-bottom: 9.3333333333%; } }
.nav-menu .nav-list li { border-bottom: 1px solid #f3f5f8; }
.nav-menu .nav-list li a { display: block; text-decoration: none; padding: 30px 70px; background: #fff url("../img/common/ico_arrow.svg") no-repeat right 50px center; background-size: 13px auto; font-size: 2.2rem; font-weight: 700; }
@media screen and (max-width: 750px) { .nav-menu .nav-list li a { padding: 4% 9.3333333333%; background-position: right 6.6666666667% center; background-size: 1.7333333333% auto; font-size: 1.8rem; } }
.nav-menu .nav-logo { width: 100%; max-width: 587px; margin: 0 auto 80px; }
@media screen and (max-width: 750px) { .nav-menu .nav-logo { width: 78.2666666667%; max-width: 100%; margin-bottom: 10.6666666667%; } }

.js-menuopen { overflow: hidden; }
.js-menuopen .header-menu span:nth-child(1) { transform: translateY(14px) rotate(-25deg); }
@media screen and (max-width: 750px) { .js-menuopen .header-menu span:nth-child(1) { transform: translateY(11px) rotate(-25deg); } }
.js-menuopen .header-menu span:nth-child(2) { opacity: 0; }
.js-menuopen .header-menu span:nth-child(3) { transform: translateY(-14px) rotate(25deg); }
@media screen and (max-width: 750px) { .js-menuopen .header-menu span:nth-child(3) { transform: translateY(-11px) rotate(25deg); } }
.js-menuopen .nav-menu { display: block; }

/* ------------------------------ ぱんくず
------------------------------ */
.topicpath { position: relative; padding: 15px 150px; border-bottom: 1px solid #ced4e3; }
@media screen and (max-width: 1200px) { .topicpath { padding-inline: 0; } }
@media screen and (max-width: 750px) { .topicpath { padding: 2% 0; } }
.topicpath .topicpath-swiper { width: 100%; margin: 0 auto; padding: 0 4%; overflow: hidden; }
@media screen and (max-width: 1200px) { .topicpath .topicpath-swiper { padding: 0 20px; } }
@media screen and (max-width: 750px) { .topicpath .topicpath-swiper { padding: 0 4%; } }
.topicpath .topicpath-slider { display: flex; }
.topicpath .topicpath-slider li { font-size: 1.2rem; color: #6B7387; }
@media screen and (max-width: 750px) { .topicpath .topicpath-slider li { width: auto; font-size: 1.4933333333rem; white-space: nowrap; } }
.topicpath .topicpath-slider li:last-child::after { display: none; }
.topicpath .topicpath-slider li::after { content: '〉'; margin: 0 1em; }
.topicpath .topicpath-slider li a { text-decoration: none; color: #6B7387; }
.topicpath .topicpath-slider li a:hover { text-decoration: underline; }
.topicpath .slide-btn { display: none; position: absolute; top: 50%; z-index: 999; width: 4%; margin-top: -2%; cursor: pointer; }
@media screen and (max-width: 750px) { .topicpath .slide-btn { display: block; } }
.topicpath .slide-btn._next { right: 0; }

/* ------------------------------ お問い合わせ
------------------------------ */
.contact-sec { padding-block: 70px; background-color: #3d434b; }
@media screen and (max-width: 750px) { .contact-sec { padding-block: 50px; } }
.contact-sec .contact-main { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
@media screen and (max-width: 750px) { .contact-sec .contact-main { grid-template-columns: 1fr; } }
.contact-sec .contact-main .contact-box { padding: 40px 50px 30px; background-color: #fff; }
@media screen and (max-width: 750px) { .contact-sec .contact-main .contact-box { padding: 25px 4rem 30px; } }
.contact-sec .contact-main .contact-box .contact-heading { margin-bottom: 15px; font-size: 2.1rem; font-weight: 700; text-align: center; color: #f80000; line-height: 1.4; }
.contact-sec .contact-main .contact-box .contact-txt { margin-bottom: 40px; font-size: 1.4rem; text-align: center; }
@media screen and (max-width: 750px) { .contact-sec .contact-main .contact-box .contact-txt { margin-bottom: 25px; } }
.contact-sec .contact-main .contact-box ul { display: flex; }
@media screen and (max-width: 980px) { .contact-sec .contact-main .contact-box ul { display: block; } }
.contact-sec .contact-main .contact-box ul li { width: 50%; border: 1px solid #000; }
@media screen and (max-width: 980px) { .contact-sec .contact-main .contact-box ul li { width: 100%; } }
.contact-sec .contact-main .contact-box ul li:first-child { border-right: none; }
@media screen and (max-width: 980px) { .contact-sec .contact-main .contact-box ul li:first-child { border-right: 1px solid #000; border-bottom: none; } }
.contact-sec .contact-main .contact-box ul li a { display: flex; align-items: center; justify-content: center; text-decoration: none; padding: 20px; }
.contact-sec .contact-main .contact-box ul li a .ico-link { width: 1.8rem; margin-right: 12px; }
.contact-sec .contact-main .contact-box ul li a .ico-mail { width: 2rem; margin-right: 16px; }
.contact-sec .contact-main .contact-box ul li a .ico-phone { width: 2rem; margin-right: 12px; }
.contact-sec .contact-main .contact-box ul li a span { font-size: 1.5rem; font-weight: 700; }
.contact-sec .contact-main .contact-box dl { margin-top: 20px; }
.contact-sec .contact-main .contact-box dl dt { margin-bottom: 10px; }
.contact-sec .contact-main .contact-box dl dt a { display: flex; align-items: center; justify-content: center; text-decoration: none; }
.contact-sec .contact-main .contact-box dl dt .ico { width: 1.6em; margin-right: 0.2em; }
.contact-sec .contact-main .contact-box dl dt span { font-size: 1.5rem; font-weight: 700; }
.contact-sec .contact-main .contact-box dl dd { font-size: 1.4rem; text-align: center; }

/* ------------------------------ フッター
------------------------------ */
.footer { display: grid; grid-template-columns: 40.7142857143% 1fr; background-color: #1f1f1f; border-bottom: 10px solid #f80000; }
@media screen and (max-width: 980px) { .footer { grid-template-columns: 1fr; } }
.footer .footer-logo { background: #fff url("../img/common/bg_footer.png") no-repeat right top; padding: 110px 190px 20px 20px; }
@media screen and (max-width: 980px) { .footer .footer-logo { display: none; padding: 30px 20px; background-image: none; } }
.footer .footer-logo p { width: 295px; margin: 0 0 0 auto; }
@media screen and (max-width: 980px) { .footer .footer-logo p { margin: 0 auto; } }
.footer .footer-main { padding: 50px 25px 30px 70px; color: #fff; }
@media screen and (max-width: 980px) { .footer .footer-main { padding-inline: 20px; } }
@media screen and (max-width: 750px) { .footer .footer-main { padding-inline: 4%; } }
.footer .footer-main a { color: #fff; }
.footer .footer-main .footer-nav._nav01 { margin-bottom: 40px; }
.footer .footer-main .footer-nav._nav01 ul:first-child { margin-bottom: 30px; }
.footer .footer-main .footer-nav._nav02 { margin-bottom: 70px; }
.footer .footer-main .footer-nav ul { display: flex; flex-wrap: wrap; }
.footer .footer-main .footer-nav ul li { border-right: 1px solid #fff; }
.footer .footer-main .footer-nav ul li:first-child a { padding-left: 0; }
.footer .footer-main .footer-nav ul li:last-child { border-right: none; }
.footer .footer-main .footer-nav ul li a { display: block; text-decoration: none; padding-inline: 30px; font-weight: 700; }
@media screen and (max-width: 750px) { .footer .footer-main .footer-nav ul li a { padding-inline: 20px; font-size: 1.2rem; } }
.footer .footer-main .footer-nav ul li a:hover { text-decoration: underline; }
.footer .footer-main .footer-link { display: flex; width: 100%; max-width: 560px; column-gap: 20px; margin-bottom: 30px; }
.footer .footer-main .footer-link li { width: 100%; }
.footer .footer-main .footer-link li a { display: block; text-decoration: none; padding: 20px; background: #fff url("../img/common/ico_link.svg") no-repeat right 20px center; background-size: 16px auto; font-size: 1.5rem; color: #1f1f1f; font-weight: 500; text-align: center; }
.footer .footer-main .copy { font-size: 1.4rem; text-align: right; }
@media screen and (max-width: 980px) { .footer .footer-main .copy { text-align: center; } }
@media screen and (max-width: 750px) { .footer .footer-main .copy { font-size: 1rem; } }

/* ------------------------------ 検索窓
------------------------------ */
.js-modalsearchopen { overflow: hidden; }

.modal-search .modal-con { padding: 50px 0 70px; }
@media screen and (max-width: 750px) { .modal-search .modal-con { padding: 6.6666666667% 0 9.3333333333%; } }
.modal-search .search-main { width: 100%; max-width: 500px; margin: 0 auto 70px; }
@media screen and (max-width: 750px) { .modal-search .search-main { width: 92.7536231884%; max-width: 100%; margin-bottom: 10.1449275362%; } }
.modal-search .search-main .search-form { display: flex; align-items: center; column-gap: 10px; padding: 10px 40px; border: 2px solid #6b7387; background-color: #fff; border-radius: 2em; }
@media screen and (max-width: 750px) { .modal-search .search-main .search-form { padding-inline: 7.8125%; } }
.modal-search .search-main input { flex: 1; width: 100%; border: none; font-weight: 500; }
.modal-search .search-main button { width: 30px; }
@media screen and (max-width: 750px) { .modal-search .search-main button { width: 6.25% auto; } }
.modal-search .search-main button img { vertical-align: middle; }
.modal-search .search-list { width: 100%; max-width: 500px; margin: 0 auto 90px; }
@media screen and (max-width: 750px) { .modal-search .search-list { width: 92.7536231884%; max-width: 100%; margin-bottom: 13.0434782609%; } }
.modal-search .search-list li { margin-bottom: 15px; }
.modal-search .search-list li:last-child { margin-bottom: 0; }
.modal-search .search-list li a { display: block; text-decoration: none; padding: 10px 40px; background: #fff url("../img/common/ico_arrow02.svg") no-repeat right 35px center; background-size: 30px auto; border: 2px solid #6b7387; font-size: 2.6rem; font-weight: 700; border-radius: 2em; }
@media screen and (max-width: 750px) { .modal-search .search-list li a { padding-inline: 7.8125%; background-size: 4.6875% auto; font-size: 2rem; } }

/* ------------------------------ 言語
------------------------------ */
.modal-language { z-index: 1 !important; }
.modal-language .modal-con { padding: 100px 0 70px; }
@media screen and (max-width: 750px) { .modal-language .modal-con { padding: 13.3333333333% 0 9.3333333333%; } }
.modal-language .language-nav { display: flex; align-items: center; justify-content: center; margin-bottom: 80px; }
@media screen and (max-width: 750px) { .modal-language .language-nav { margin-bottom: 11.5942028986%; } }
.modal-language .language-nav li { border-right: 1px solid #1f1f1f; }
.modal-language .language-nav li:last-child { border-right: none; }
.modal-language .language-nav li a { position: relative; display: block; text-decoration: none; padding-inline: 40px; font-size: 2.6rem; font-weight: 700; }
@media screen and (max-width: 750px) { .modal-language .language-nav li a { font-size: 2rem; } }
.modal-language .language-nav li a:hover::after, .modal-language .language-nav li a.active::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 70%; height: 2px; margin-left: -35%; background-color: #e30602; }

.opacity { transition: all .6s; }
.opacity:hover { opacity: 0.7; }

.tab { display: none; }
.tab.active { display: block; }

.cmn-anchor { position: relative; }
.cmn-anchor a { position: absolute; top: -70px; }
@media screen and (max-width: 980px) { .cmn-anchor a { top: -118px; } }
@media screen and (max-width: 750px) { .cmn-anchor a { top: -70px; } }

.c-close { display: block; width: 100%; max-width: 300px; margin: 0 auto; padding: 20px; background-color: #1f1f1f; font-size: 2rem; font-weight: 700; text-align: center; color: #fff; border-radius: 2em; transition: all .6s; }
@media screen and (max-width: 750px) { .c-close { width: 57.9710144928%; max-width: 100%; padding: 10px; font-size: 1.6rem; } }
.c-close:hover { opacity: 0.7; }

.c-modal { display: none; position: fixed; top: 0; left: 0; z-index: 100000; width: 100%; height: 100%; }
.c-modal .modal-in { position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow-y: auto; margin-top: 70px; background-color: rgba(31, 31, 31, 0.8); }
@media screen and (max-width: 980px) { .c-modal .modal-in { margin-top: 118px; } }
@media screen and (max-width: 750px) { .c-modal .modal-in { margin-top: 70px; } }
.c-modal .modal-con { position: relative; width: 100%; background-color: #f3f5f8; }

.search-nav { position: relative; padding: 65px 0 130px; }
@media screen and (max-width: 750px) { .search-nav { padding: 20% 0 8.6666666667%; } }
.search-nav .search-list { display: flex; justify-content: center; width: 100%; max-width: 1000px; margin: 0 auto; padding: 15px 0; border: 1px solid #ced4e3; background-color: #fff; border-radius: 4em; box-shadow: 0px 0px 16px -6px rgba(0, 0, 0, 0.3); overflow: hidden; }
@media screen and (max-width: 750px) { .search-nav .search-list { flex-wrap: wrap; padding: 0; border-radius: 0.5em; } }
.search-nav .search-list li { border-right: 1px solid #e30602; }
@media screen and (max-width: 750px) { .search-nav .search-list li { width: 50%; border-bottom: 1px solid #e30602; }
  .search-nav .search-list li:nth-child(2n) { border-right: none; } }
.search-nav .search-list li:last-child { border-right: none; }
.search-nav .search-list li a { display: block; text-decoration: none; padding: 15px 50px; font-size: 1.8rem; text-align: center; }
@media screen and (max-width: 750px) { .search-nav .search-list li a { padding: 11.5942028986% 2.8985507246%; font-size: 1.4933333333rem; } }
@media screen and (max-width: 750px) { .search-nav .search-list li a .ico { display: none; } }
.search-nav .search-list li a:hover, .search-nav .search-list li a._active { position: relative; font-weight: 700; }
.search-nav .search-list li a:hover span, .search-nav .search-list li a._active span { border-bottom: 2px solid #e30602; }

.news-top { display: flex; align-items: center; column-gap: 2em; width: 18em; }
.news-top .news-date { font-size: 1.3rem; font-weight: 700; }
.news-top .news-cate { width: 11em; padding: 5px; border-width: 1px; border-style: solid; font-size: 1.4rem; text-align: center; }
.news-top .news-cate._cate01 { border-color: #e30602; }
.news-top .news-cate._cate02 { border-color: #1d2269; }

.c-sec { margin-bottom: 60px; }

.c-heading { position: relative; margin-bottom: 30px; padding-left: 15px; padding-bottom: 20px; border-bottom: 1px solid #6b7387; font-size: 2.8rem; font-weight: 700; }
@media screen and (max-width: 750px) { .c-heading { font-size: 2.0266666667rem; } }
.c-heading::before { content: ''; position: absolute; top: 50%; left: 0; width: 5px; height: 1em; margin-top: -1em; background-color: #e30602; }

.c-subheading { margin-bottom: 40px; padding-bottom: 15px; border-bottom: 1px solid #ced4e3; font-size: 2.2rem; font-weight: 700; color: #6a7387; }
@media screen and (max-width: 750px) { .c-subheading { font-size: 1.6rem; } }

.c-txtheading { margin-bottom: 40px; padding: 10px 20px; background-color: #e0e5eb; font-size: 1.8rem; font-weight: 700; }
@media screen and (max-width: 750px) { .c-txtheading { font-size: 1.4933333333rem; } }

.c-txt, .c-txtlist { font-weight: 500; }
.c-txt a, .c-txtlist a { color: #1f48de; }
.c-txt span, .c-txtlist span { color: #ff1f1f; }
.c-txt strong, .c-txtlist strong { font-weight: 700; }

.c-txtlist._order { counter-reset: listnum; list-style: none; }
.c-txtlist._order li { padding-left: 1.7em; text-indent: -1.7em; }
.c-txtlist._order li::before { content: ''; margin-right: 1em; counter-increment: listnum; content: counter(listnum); }
.c-txtlist li { margin-bottom: 0.5em; padding-left: 1.5em; text-indent: -1.5em; }
.c-txtlist li::before { content: '●'; margin-right: 0.5em; color: #e30602; }
.c-txtlist li:last-child { margin-bottom: 0; }

.c-caption { margin-top: 10px; font-size: 1.4rem; font-weight: 500; }

.c-txtfig { display: flex; justify-content: space-between; gap: 20px 5%; }
@media screen and (max-width: 750px) { .c-txtfig { flex-direction: column; } }
.c-txtfig._reverse { flex-direction: row-reverse; }
@media screen and (max-width: 750px) { .c-txtfig._reverse { flex-direction: column; } }
.c-txtfig._s .txtfig-fig { width: 31%; }
@media screen and (max-width: 750px) { .c-txtfig._s .txtfig-fig { width: 100%; } }
.c-txtfig .txtfig-fig { width: 47.5%; }
@media screen and (max-width: 750px) { .c-txtfig .txtfig-fig { width: 100%; } }
.c-txtfig .txtfig-txt { flex: 1; }

.c-fig01 li { margin-bottom: 30px; }
.c-fig01 li:last-child { margin-bottom: 0; }

.c-fig02 { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 3.125%; }

.c-fig03 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 20px 5%; }

.c-iframe { aspect-ratio: 16 / 9; }
.c-iframe iframe { width: 100%; height: 100%; }

.c-lnav { display: flex; flex-wrap: wrap; justify-content: center; padding: 10px; border: 2px solid #ced4e3; border-radius: 10px; }
.c-lnav li a { display: flex; align-items: center; text-decoration: none; column-gap: 10px; padding: 15px; }
.c-lnav li a span { font-size: 1.5rem; }

.c-introduction li { border-bottom: 1px solid #ced4e3; }
.c-introduction li a { display: flex; justify-content: space-between; text-decoration: none; gap: 20px 3.125%; padding-block: 30px; }
@media screen and (max-width: 750px) { .c-introduction li a { flex-direction: column; } }
.c-introduction li figure { width: 20%; }
@media screen and (max-width: 750px) { .c-introduction li figure { width: 100%; } }
.c-introduction li dl { flex: 1; }
.c-introduction li dl dt { margin-bottom: 20px; font-size: 2rem; font-weight: 700; }
.c-introduction li dl dd { font-weight: 500; }

@media screen and (max-width: 750px) { .c-scroll { padding-bottom: 20px; overflow-x: auto; white-space: nowrap; }
  .c-scroll::-webkit-scrollbar { height: 5px; }
  .c-scroll::-webkit-scrollbar-track { background-color: #ddd; }
  .c-scroll::-webkit-scrollbar-thumb { background-color: #e30602; } }

.c-table { width: 100%; }
.c-table._column { border-top: 1px solid #b5b9c3; }
.c-table._column tr { border-bottom: 1px solid #b5b9c3; }
.c-table._column tr th { width: 15em; padding-inline: 30px; border: none; text-align: left; }
@media screen and (max-width: 750px) { .c-table._column tr th { display: block; width: 100%; padding-inline: 15px; } }
.c-table._column tr td { padding-inline: 40px; border: none; }
@media screen and (max-width: 750px) { .c-table._column tr td { display: block; width: 100%; padding-inline: 15px; } }
.c-table._both tbody th { width: 15em; text-align: left; }
.c-table tr th { padding: 15px; background-color: #f2f5f8; border: 1px solid #b5b9c3; font-size: 1.4rem; font-weight: 700; vertical-align: middle; }
.c-table tr th:first-child { border-left: none; }
.c-table tr th:last-child { border-right: none; }
.c-table tr td { padding: 15px 20px; border: 1px solid #b5b9c3; }
.c-table tr td:first-child { border-left: none; }
.c-table tr td:last-child { border-right: none; }

.c-frame { padding: 30px; border: 1px solid #8da5b9; }
.c-frame._bg { border: 1px solid #f4f6f8; background-color: #f4f6f8; }

.c-linklist li { margin-bottom: 0.5em; padding-left: 25px; background: url("../img/common/ico_file_bk.svg") no-repeat left top 0.1em; background-size: 15px auto; }
.c-linklist li:last-child { margin-bottom: 0; }
.c-linklist li a { text-decoration: none; }
.c-linklist li a:hover { text-decoration: underline; }
.c-linklist li._pdf { background: url("../img/common/ico_pdf.svg") no-repeat left top 0.1em; background-size: 15px auto; }
.c-linklist li._external { background: url("../img/common/ico_link_bk.svg") no-repeat left top 0.3em; background-size: 16px auto; }

.c-btn { display: block; width: 100%; max-width: 300px; text-decoration: none; padding: 15px 30px; background: #3d434b url("../img/common/ico_arrow_w02.svg") no-repeat right 10px center; background-size: 15px auto; border-left: 8px solid #e30602; text-align: center; color: #fff; }
.c-btn._tac { margin: 0 auto; }
.c-btn._pdf { background-image: url("../img/common/ico_pdf.svg"); background-size: 15px auto; }
.c-btn._external { background-image: url("../img/common/ico_link_w.svg"); background-size: 16px auto; }

.c-back { display: flex; align-items: center; justify-content: center; column-gap: 20px; width: 100%; max-width: 194px; text-decoration: none; margin-top: 50px; padding: 15px 30px; background-color: #3d434b; color: #fff; line-height: 1; border-radius: 2em; }

.c-categorylink { display: flex; flex-wrap: wrap; gap: 15px; }
.c-categorylink li a { display: block; text-decoration: none; padding: 15px 40px; background-color: #f3f5f8; border: 1px solid #e30602; font-size: 1.5rem; text-align: center; border-radius: 2em; }

.c-more .more-box { position: relative; }
.c-more .more-box::before { content: ''; position: absolute; bottom: 0; left: 0; width: 100%; height: 178px; background: linear-gradient(to top, #fff, transparent); pointer-events: none; }
.c-more.is-open .more-box::before { display: none; }
.c-more.is-open .more-item { margin-bottom: 60px; height: auto; }
.c-more.is-open .more-btn { background-image: url("../img/common/ico_toggle_w_c.svg"); }
.c-more.is-open .more-btn::after { content: '閉じる'; }
.c-more .more-item { height: 300px; overflow: hidden; }
@media screen and (max-width: 750px) { .c-more .more-item { height: 300px; } }
.c-more .more-btn { display: block; text-decoration: none; width: 100%; max-width: 300px; margin: 0 auto; padding: 15px; background: #1f1f1f url("../img/common/ico_toggle_w_o.svg") no-repeat right 20px center; background-size: 17px auto; font-size: 1.8rem; font-weight: 700; text-align: center; color: #fff; cursor: pointer; line-height: 1; }
.c-more .more-btn::after { content: 'もっと見る'; }

.c-mokuji { padding: 30px; border: 1px solid #6a7387; border-radius: 10px; }
.c-mokuji .mokuji-ttl { margin-bottom: 15px; font-size: 2.2rem; font-weight: 700; }

.ico { display: inline-flex; justify-content: center; align-items: center; width: 1em; line-height: 0; }
.ico::before { width: 100% !important; }

.ico-arrow-nav::before { content: url("../img/common/ico_arrow_nav.svg"); }

.ico-arrow-nav-w::before { content: url("../img/common/ico_arrow_nav_w.svg"); }

.ico-arrow-l::before { content: url("../img/common/ico_arrow_w_l.svg"); }

.ico-link::before { content: url("../img/common/ico_link.svg"); }

.ico-mail::before { content: url("../img/common/ico_mail.svg"); }

.ico-mail-w::before { content: url("../img/common/ico_mail_w.svg"); }

.ico-phone::before { content: url("../img/common/ico_phone.svg"); }

.ico-phone02::before { content: url("../img/common/ico_phone02.svg"); }

.ico-close-w::before { content: url("../img/common/ico_close_w.svg"); }

.ico-side-01::before { content: url("../img/common/ico_side_01.svg"); }

.ico-side-02::before { content: url("../img/common/ico_side_02.svg"); }

.ico-side-03::before { content: url("../img/common/ico_side_03.svg"); }

.ico-side-04::before { content: url("../img/common/ico_side_04.svg"); }

.ico-side-05::before { content: url("../img/common/ico_side_05.svg"); }

.ico-side-06::before { content: url("../img/common/ico_side_06.svg"); }

.ico-side-07::before { content: url("../img/common/ico_side_07.svg"); }

.ico-side-08::before { content: url("../img/common/ico_side_08.svg"); }

.clearfix { zoom: 1; }
.clearfix::before { content: ""; display: table; }
.clearfix::after { content: ""; display: table; clear: both; }

.w100 { width: 100%; }

.mab40 { margin-bottom: 40px !important; }

.js-anime-fadein { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-fadein.js-anime-on { animation-name: fadeIn; }

@keyframes fadeIn { 0% { opacity: 0; }
  100% { opacity: 1; } }
.js-anime-slide { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slide.js-anime-on { animation-name: slide; }

@keyframes slide { 0% { opacity: 0; transform: translateY(100px); }
  100% { opacity: 1; transform: translateY(0); } }
.js-anime-slideleft { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideleft.js-anime-on { animation-name: slideLeft; }

@keyframes slideLeft { 0% { opacity: 0; transform: translateX(-100px); }
  100% { opacity: 1; transform: translateX(0); } }
.js-anime-slideright { opacity: 0; animation-duration: .5s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; }
.js-anime-slideright.js-anime-on { animation-name: slideRight; }

@keyframes slideRight { 0% { opacity: 0; transform: translateX(100px); }
  100% { opacity: 1; transform: translateX(0); } }
@media print { .js-anime-fadein, .js-anime-slide, .js-anime-slideleft, .js-anime-slideright { opacity: initial; } }

/*# sourceMappingURL=style.css.map */
