@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200..900&display=swap");
/**************************************************/
/* base (リセットCSS) */
/**************************************************/
*, *::before, *::after { -webkit-box-sizing: border-box; box-sizing: border-box; }

html, body, h1, h2, h3, h4, h5, h6, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td, small, button, time, figure { border: 0; font: inherit; font-size: 100%; margin: 0; padding: 0; vertical-align: baseline; }

html { line-height: 1; scroll-behavior: smooth; }

html { font-size: 62.5%; }

body { color: #000000; font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif; font-size: 1.6rem; font-weight: 400; line-height: 1.75; background-color: #fff; -webkit-box-sizing: border-box; box-sizing: border-box; }

img { max-width: 100%; height: auto; border: none; vertical-align: bottom; }

a { text-decoration: none; color: inherit; cursor: pointer; }

em { font-style: normal; }

ol, ul { list-style: none; }

li, dd { list-style-type: none; }

header, footer, nav, section, article, aside, figure, figcaption { display: block; }

/**************************************************/
/* basic */
/**************************************************/
.c-list > li { position: relative; padding-left: 14px; }

.c-list > li + li { margin-top: 6px; }

.c-list > li::after { content: ""; position: absolute; width: 8px; height: 8px; border-radius: 8px; background-color: #B7A445; left: 0; top: calc(0.9em - 4px); }

.c-list > li.-black::after { background-color: black; }

@media screen and (max-width: 767px) { .c-list > li { font-size: 1.5rem; } }

.c-sublist li { padding-left: 14px; position: relative; margin-top: 8px; font-size: 1.5rem; }

@media screen and (max-width: 767px) { .c-sublist li { font-size: 1.4rem; } }

.c-sublist li::after { position: absolute; content: ""; width: 8px; height: 2px; border-radius: 50px; background-color: #B7A445; left: 0; top: calc(0.9em - 1px); }

.c-button { display: inline-block; background-color: #FA5902; color: #fff; width: 380px; max-width: 100%; font-size: 2rem; font-weight: bold; border-radius: 100px; position: relative; padding: 16px 36px; text-align: center; -webkit-transition: 0.3s; transition: 0.3s; }

.c-button:hover { opacity: 0.7; }

.c-button::before { position: absolute; content: ""; width: 8px; height: 15px; background: url(../../assets/img/icon-arrow-white.png) center center no-repeat; background-size: contain; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); right: 26px; }

.c-button.-black { background-color: black; }

@media screen and (max-width: 767px) { .c-button { font-size: 1.6rem; width: 320px; } }

.c-button-b { display: inline-block; background-color: #0A2A82; color: #fff; max-width: 100%; font-size: 2rem; font-weight: bold; border-radius: 100px; position: relative; padding: 15px 55px 15px 45px; line-height: 1.5; text-align: center; -webkit-transition: 0.3s; transition: 0.3s; }

.c-button-b:hover { opacity: 0.7; }

.c-button-b::before { position: absolute; content: ""; width: 8px; height: 15px; background: url(../../assets/img/icon-arrow-white.png) center center no-repeat; background-size: contain; top: 50%; -webkit-transform: translateY(-50%) rotate(90deg); -ms-transform: translateY(-50%) rotate(90deg); transform: translateY(-50%) rotate(90deg); right: 26px; }

@media screen and (max-width: 767px) { .c-button-b { font-size: 1.6rem; } }

.c-indent1 > li { padding-left: 1em; text-indent: -1em; margin-top: 6px; }

.inner { max-width: 986px; width: 100%; margin-left: auto; margin-right: auto; padding: 0 20px; }

@media screen and (max-width: 767px) { .inner { padding: 0 16px; } }

.header-logo, .footer-logo { height: 80px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.header-logo img, .footer-logo img { width: 672px; max-width: 100%; display: inline-block; }

@media screen and (max-width: 767px) { .header-logo, .footer-logo { height: 60px; }
  .header-logo img, .footer-logo img { width: 350px; } }

.mainbg { background: url(../img/bg-body.png) repeat-y top center/100% auto; }

.mv { width: 100%; background: linear-gradient(to bottom, #ED2E3B 0%, #ED2E3B calc(100% - 200px), transparent calc(100% - 200px)); position: relative; }

.mv::before { content: ""; position: absolute; top: 0; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); width: 100%; height: calc(100% - 200px); background: url(../img/deco-mv.png) no-repeat top center/1592px auto, url(../img/bg-mv02.png) repeat top left/93px 161px; }

.mv::after { content: ""; position: absolute; width: 100%; height: 462px; max-height: 37%; bottom: 30px; left: 50%; -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); transform: translateX(-50%); background: url(../img/bg-mv.png) repeat center bottom/198px 97px; clip-path: polygon(0 25%, 100% 0, 100% calc(100% - 25%), 0 100%); }

.mv__inner { max-width: 1176px; margin: 0 auto; padding: 40px 0 110px; z-index: 2; position: relative; }

.mv__inner img { width: 100%; }

@media screen and (max-width: 1023px) { .mv::before { background: url(../img/deco-mv.png) no-repeat top center/135% auto, url(../img/bg-mv02.png) repeat top left/93px 161px; } }

@media screen and (max-width: 767px) { .mv { background: transparent; }
  .mv::before { display: none; }
  .mv::after { display: none; }
  .mv__inner { padding: 0; margin-bottom: 16px; } }

.campaign { background: url(../img/bg-body03.png) repeat-y top center/100% auto, url(../img/bg-body02.png) repeat-y top center/100% auto; overflow: hidden; position: relative; padding: 6px 0 64px; }

.campaign__heading { color: #0A2A82; position: relative; text-align: center; margin: 0 auto; z-index: 2; font-size: 4.2rem; font-weight: 900; font-family: "Noto Serif JP", serif; padding-bottom: 18px; background: url(../img/deco-title-campaign.png) no-repeat bottom center/auto 10px; line-height: 1.5; }

.campaign__box { margin-top: 64px; padding: 64px 45px 70px; position: relative; -webkit-box-sizing: border-box; box-sizing: border-box; background: url(../img/deco-cp-top.png) no-repeat top center/100% 40px, url(../img/deco-cp-bottom.png) no-repeat bottom center/100% 40px, white; }

.campaign__box.-first { margin-top: 0; }

.campaign__box.-box1 { background: url(../img/deco-cp-top.png) no-repeat top center/100% 40px, url(../img/deco-cp-bottom.png) no-repeat bottom center/100% 40px, url(../img/deco-cp03.png) no-repeat right bottom/100px auto, white; }

.campaign__box.-box3 { background: url(../img/deco-cp-top.png) no-repeat top center/100% 40px, url(../img/deco-cp-bottom.png) no-repeat bottom center/100% 40px, url(../img/deco-cp04.png) no-repeat left bottom/180px auto, white; }

.campaign__box.-box1::before, .campaign__box.-box3::before { position: absolute; content: ""; width: 291px; max-width: 31%; height: 83px; background: url(../img/deco-cp01.png) no-repeat right top/contain; top: 64px; right: -50px; }

.campaign__box.-box2::before, .campaign__box.-box4::before { position: absolute; content: ""; width: 281px; max-width: 30%; height: 83px; background: url(../img/deco-cp02.png) no-repeat left bottom/contain; bottom: 64px; left: -100px; }

.campaign__text { text-align: center; font-size: 2.2rem; line-height: 1.72727; font-weight: bold; position: relative; margin-top: 24px; }

.campaign__text2 { font-size: 1.8rem; line-height: 1.5; font-weight: 500; text-align: center; margin-top: 30px; }

.campaign__list { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; margin-top: 4px; }

.campaign__rireki { margin-top: 24px; text-align: center; }

.campaign__rireki > a { display: inline-block; -webkit-box-sizing: border-box; box-sizing: border-box; color: #EB5505; font-weight: 900; font-size: 2.2rem; line-height: 1.5; padding-bottom: 3px; border-bottom: dotted 2px #EB5505; }

.campaign__poster { margin-top: 24px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; position: relative; z-index: 2; }

.campaign__poster img { width: 100%; max-width: 532px; }

@media screen and (max-width: 767px) { .campaign { padding: 6px 0 60px; }
  .campaign__heading { font-size: 2.6rem; background: url(../img/deco-title-campaign.png) no-repeat bottom center/auto 7px; padding-bottom: 15px; }
  .campaign__box { margin-top: 40px; padding: 50px 20px; background: url(../img/deco-cp-top.png) no-repeat top center/auto 40px, url(../img/deco-cp-bottom.png) no-repeat bottom center/auto 40px, white; }
  .campaign__box.-box1 { background: url(../img/deco-cp-top.png) no-repeat top center/auto 40px, url(../img/deco-cp-bottom.png) no-repeat bottom center/auto 40px, url(../img/deco-cp03.png) no-repeat right bottom 10px/50px auto, white; }
  .campaign__box.-box3 { background: url(../img/deco-cp-top.png) no-repeat top center/auto 40px, url(../img/deco-cp-bottom.png) no-repeat bottom center/auto 40px, url(../img/deco-cp04.png) no-repeat left bottom/80px auto, white; }
  .campaign__box.-box1::before, .campaign__box.-box3::before { right: -40px; top: 40px; width: 150px; }
  .campaign__box.-box2::before, .campaign__box.-box4::before { left: -50px; bottom: 40px; width: 145px; }
  .campaign__text { font-size: 1.7rem; line-height: 1.6; }
  .campaign__text2 { font-size: 1.5rem; }
  .campaign__rireki > a { font-size: 1.8rem; } }

.attention { margin-top: 64px; position: relative; padding: 0 50px; background: url(../img/bg-attention.png) repeat-y center center/100% auto; }

.attention__box { background: white; padding: 40px 50px 30px; position: relative; }

.attention__box::after { content: ""; position: absolute; width: 188px; max-width: 23%; height: 177px; background: url(../img/deco-attention.png) no-repeat top right/contain; top: 43px; right: 40px; }

.attention__title { z-index: 2; position: relative; color: #B7A445; text-align: center; margin: 0 auto; font-size: 4.2rem; font-weight: 900; font-family: "Noto Serif JP", serif; padding-bottom: 18px; background: url(../img/deco-title-attention.png) no-repeat bottom center/auto 10px; line-height: 1.5; }

.attention__list { margin-top: 32px; }

.attention__notes { padding-left: 1em; text-indent: -1em; margin-top: 4px; }

@media screen and (max-width: 767px) { .attention { margin-top: 40px; padding: 0 15px; }
  .attention__box { padding: 30px 20px; }
  .attention__box::after { right: 7px; width: 90px; top: 50px; }
  .attention__title { font-size: 2.6rem; margin-left: -18px; margin-right: -18px; padding-bottom: 15px; background: url(../img/deco-title-attention.png) no-repeat bottom center/auto 7px; }
  .attention__notes { font-size: 1.5rem; } }

.conditions { position: relative; padding: 100px 0; background: url(../img/bg-conditions01.png) no-repeat top left/min(36%, 500px) auto, url(../img/bg-conditions02.png) no-repeat bottom right/min(36%, 500px) auto, url(../img/bg-conditions.png) no-repeat center/cover; }

.conditions__title { text-align: center; }

.conditions__title img { width: 410px; max-width: 90%; }

.conditions__box { margin-top: 32px; text-align: center; }

.conditions__text { width: 634px; max-width: 100%; display: inline-block; }

.conditions__model { margin-top: 32px; font-weight: bold; font-size: 1.7rem; }

.conditions__button { margin-top: 32px; text-align: center; }

@media screen and (max-width: 767px) { .conditions { padding: 50px 0 60px; }
  .conditions__title img { width: 280px; }
  .conditions__box { margin-top: 24px; }
  .conditions__model { font-size: 1.4rem; text-align: left; line-height: 1.6; margin-top: 24px; } }

.important-point { margin: 32px auto 0; max-width: 840px; -webkit-box-sizing: border-box; box-sizing: border-box; border: solid 8px #E2E2E2; padding: 24px; border-radius: 20px; background-color: #fff; }

.important-point__title { font-weight: bold; font-size: 1.9rem; padding-left: 31px; position: relative; letter-spacing: 0.05em; }

.important-point__title::before { position: absolute; content: ""; background: url(../../assets/img/icon-exclamation.png) center center no-repeat; background-size: contain; width: 26px; height: 23px; left: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.important-point__notes { margin-top: 8px; padding-bottom: 18px; position: relative; }

.important-point__notes::before { position: absolute; content: ""; width: 100%; height: 2px; left: 0; bottom: 0; background-color: #ffffff; background-image: radial-gradient(circle, #333333 1px, transparent 1px); background-position: center; background-size: 7px 7px; }

.important-point__note { padding-left: 21px; position: relative; }

.important-point__note::before { position: absolute; content: "※"; color: #E8380D; left: 0; top: 0; }

.important-point__note + .important-point__note { margin-top: 4px; }

.important-point__list { margin-top: 16px; }

.important-point__list > li { font-size: 1.5rem; }

.important-point__list > li::after { background-color: #F57000; }

.important-point__list > li + li { margin-top: 4px; }

@media screen and (max-width: 767px) { .important-point { margin-top: 24px; padding: 16px; border-width: 5px; border-radius: 16px; }
  .important-point__title { font-size: 1.7rem; }
  .important-point__note { font-size: 1.5rem; }
  .important-point__list { font-size: 1.4rem; } }

.contact { background-color: #000000; padding: 52px 0 60px; text-align: center; }

.contact__title { text-align: center; color: white; font-weight: bold; font-size: 3rem; line-height: 1.5; }

.contact__lead { color: #fff; font-weight: 400; margin-top: 20px; }

@media screen and (max-width: 767px) { .contact { padding: 40px 0; }
  .contact__title { font-size: 2rem; }
  .contact__lead { font-size: 1.3rem; } }

.contact-button { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; margin-top: 40px; -webkit-column-gap: 68px; -moz-column-gap: 68px; column-gap: 68px; }

.contact-button__item { width: 380px; max-width: calc(50% - 34px); display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }

.contact-button__text { margin-top: 23px; line-height: 2; font-weight: 400; color: #fff; font-size: 1.5rem; text-align: left; }

@media screen and (max-width: 767px) { .contact-button { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; row-gap: 30px; margin-top: 30px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .contact-button__item { width: 100%; max-width: none; }
  .contact-button__text { font-size: 1.3rem; text-align: center; margin-top: 16px; line-height: 1.7; } }

.banner-head { padding: 30px 20px 20px; }

.banner-head img { display: block; max-width: 746px; margin: 0 auto; width: 100%; }

@media screen and (max-width: 767px) { .banner-head { padding: 20px 10px 12px; } }

.banner { display: block; background: url(../../assets/img/banner-bg.png) repeat-x top center, #FFF055; background-size: 1054px auto; text-align: center; -webkit-transition: 0.3s; transition: 0.3s; }

.banner__main { text-align: center; padding: 40px 20px 30px; }

.banner__main img { max-width: 964px; width: 100%; margin: 0 auto; display: block; }

.banner__more { background: white; padding: 27px 20px 23px; }

.banner__more img { max-width: 926px; width: 100%; display: block; margin: 0 auto; }

.banner:hover { opacity: 0.7; }

@media screen and (max-width: 767px) { .banner { background-size: cover; }
  .banner__main { padding: 20px 0; }
  .banner__more { padding: 16px 12px 16px; } }

.magazine { background: #DF5510; }

.magazine__btn { display: block; margin: 0 auto; max-width: 1366px; -webkit-transition: .3s; transition: .3s; }

.magazine__btn:hover { opacity: 0.7; }

.footer-menu { text-align: center; padding: 30px 0; background: #F5F5F5; }

.footer-menu__link { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-column-gap: 70px; -moz-column-gap: 70px; column-gap: 70px; }

.footer-menu__link > a { color: #000b36; display: inline-block; padding-right: 14px; position: relative; -webkit-transition: 0.3s; transition: 0.3s; font-size: 1.5rem; }

.footer-menu__link > a::before { position: absolute; content: ""; background: url(../../assets/img/icon-arrow-black.png) center center no-repeat; background-size: contain; width: 6px; height: 11px; right: 0; top: 50%; -webkit-transform: translateY(-50%); -ms-transform: translateY(-50%); transform: translateY(-50%); }

.footer-menu__link > a:hover { opacity: 0.7; }

.footer-menu__copyright { font-size: 1.2rem; margin-top: 30px; font-weight: normal; }

@media screen and (max-width: 767px) { .footer-menu__link { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; row-gap: 14px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; }
  .footer-menu__link > a { font-size: 1.2rem; }
  .footer-menu__copyright { font-size: 1rem; } }

.footer-app { background: #FFF8D3; padding: 38px 0 36px; }

.footer-app__title { text-align: center; }

.footer-app__title > span { line-height: 1.58; text-align: center; display: inline-block; font-size: 2.4rem; font-weight: bold; text-align: center; color: #333; padding: 0 30px; position: relative; }

.footer-app__title > span::before, .footer-app__title > span::after { content: ""; position: absolute; height: 34px; width: 20px; bottom: 4px; }

.footer-app__title > span::before { left: 0; background: url(../img/app-deco-left.svg) center bottom no-repeat; background-size: contain; }

.footer-app__title > span::after { right: 0; background: url(../img/app-deco-right.svg) center bottom no-repeat; background-size: contain; }

.footer-app__link { margin-top: 24px; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; -webkit-column-gap: 40px; -moz-column-gap: 40px; column-gap: 40px; }

.footer-app__link > a { display: inline-block; -webkit-transition: 0.3s; transition: 0.3s; }

.footer-app__link > a:hover { opacity: 0.7; }

.footer-app__link > a > img { height: 83px; width: auto; }

@media screen and (max-width: 767px) { .footer-app__title > span { font-size: 1.6rem; padding: 0 22px; }
  .footer-app__title > span::before, .footer-app__title > span::after { width: 16px; height: 26px; bottom: 0px; }
  .footer-app__link { -webkit-box-orient: vertical; -webkit-box-direction: normal; -ms-flex-direction: column; flex-direction: column; row-gap: 24px; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } }

._color { color: #0A2A82; }

@media screen and (min-width: 1024px) { .hidden__pc { display: none !important; } }

@media screen and (max-width: 767px) { .hidden__sp { display: none !important; } }

@media screen and (min-width: 768px) { .hidden__sp-up { display: none !important; } }

@media screen and (max-width: 1023px) { .hidden__tab-down { display: none !important; } }
