@charset "UTF-8";
/*
 * Sass    : Dart sass
 * 命名規則 : BEM ベース
 *   [接頭辞]
 *   .-****  : Variant
 *   ._****  : Helpers
 *   .c-**** : 汎用コンポーネント
 *   .l-**** : レイアウト
 *   .f-**** : フォーム系コンポーネント
 */
@import url("https://use.fontawesome.com/releases/v5.15.1/css/all.css");
@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");
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**************************************************/
/* helpers */
/**************************************************/
._disp-ib {
  display: inline-block !important;
}

@media (max-width: 1107px) {
  ._view-cw-high {
    display: none !important;
  }
}
@media (min-width: 1108px) {
  ._view-cw-low {
    display: none !important;
  }
}
@media (max-width: 1279px) {
  ._view-xl-high {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  ._view-xl-low {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  ._view-lg-high {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  ._view-lg-low {
    display: none !important;
  }
}
@media (max-width: 767px) {
  ._view-md-high {
    display: none !important;
  }
}
@media (min-width: 768px) {
  ._view-md-low {
    display: none !important;
  }
}
@media (max-width: 479px) {
  ._view-sm-high {
    display: none !important;
  }
}
@media (min-width: 480px) {
  ._view-sm-low {
    display: none !important;
  }
}
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._center {
  text-align: center !important;
}

._left {
  text-align: left !important;
}

._right {
  text-align: right !important;
}

._float-l {
  float: left !important;
}

._float-r {
  float: right !important;
}

._clear {
  clear: both !important;
}

._hidden {
  display: none !important;
}

._disp-ib {
  display: inline-block !important;
}

._margin0 {
  margin: 0 !important;
}

._padding0 {
  padding: 0 !important;
}

._border0 {
  border: none !important;
}

._fixed {
  position: fixed !important;
}

._absolute {
  position: absolute !important;
}

._static {
  position: static !important;
}

._xsmall {
  font-size: 75% !important;
}

._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._xlarge {
  font-size: 133% !important;
}

._nowrap {
  white-space: nowrap !important;
}

._nobg {
  background: none !important;
}

._full {
  width: 100% !important;
}

/**************************************************/
/* base */
/**************************************************/
:root {
  font-size: min(16px, 1.5640273705vw);
}
@media (max-width: 767px) {
  :root {
    font-size: 4.2666666667vw;
  }
}

*,
*::before,
*::after {
  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;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  padding: 0;
  color: black;
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

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

a {
  color: inherit;
  cursor: pointer;
  text-decoration: none;
  transition: opacity 0.15s ease-out;
}
a:hover {
  opacity: 0.7;
}

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;
}

a.-telink,
a.js-telink {
  cursor: default;
  opacity: 1 !important;
}

body._ios a:hover {
  opacity: 1;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* contents */
/**************************************************/
.l-page-container {
  position: relative;
}

.l-page-contents {
  max-width: 1010px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 2.5rem;
}
.l-page-contents > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .l-page-contents {
    padding: 0 1.25rem;
  }
}

.header {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: auto;
  padding: 0.9375rem 0 3.125rem;
  background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.98) 70%, rgba(255, 255, 255, 0.85) 80%, rgba(255, 255, 255, 0) 100%);
}
@media (max-width: 767px) {
  .header {
    padding: 0.3125rem 0 1.5625rem;
  }
}

.footer-logo {
  height: 5rem;
}
@media (max-width: 767px) {
  .footer-logo {
    height: 3.75rem;
  }
  .footer-logo__img {
    max-width: 18.9375rem;
  }
}

.header-logo, .footer-logo {
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-logo__img, .footer-logo__img {
  max-width: 37.875rem;
}
.header-logo__img img, .footer-logo__img img {
  display: block;
}
@media (max-width: 767px) {
  .header-logo__img, .footer-logo__img {
    max-width: 18.9375rem;
  }
}

.footer-menu {
  text-align: center;
  padding: 1.875rem 0;
  background: rgba(0, 11, 54, 0.1);
}
.footer-menu__links {
  display: flex;
  justify-content: center;
  -moz-column-gap: 4.375rem;
       column-gap: 4.375rem;
}
.footer-menu__link {
  color: #000b36;
  display: inline-block;
  padding-right: 0.875rem;
  position: relative;
  font-size: 0.9375rem;
}
.footer-menu__link::before {
  position: absolute;
  display: inline-block;
  box-sizing: border-box;
  width: 0.5625rem;
  height: 1rem;
  background: currentColor;
  content: "";
  -webkit-mask-image: url("../img/icon-arrow.svg");
          mask-image: url("../img/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50%;
          mask-position: 50%;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 0.375rem;
  height: 0.6875rem;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.footer-menu__copyright {
  font-size: 0.75rem;
  margin-top: 1.875rem;
  font-weight: 400;
  display: block;
}
@media (max-width: 767px) {
  .footer-menu__links {
    flex-direction: column;
    row-gap: 0.875rem;
    align-items: center;
  }
  .footer-menu__link {
    font-size: 0.8125rem;
  }
  .footer-menu__copyright {
    font-size: 0.6875rem;
  }
}

.footer-app {
  background: url(../../images/bg-logo-fotter.png) repeat-y center top/100% auto;
  position: relative;
  padding: 2.375rem 0;
}
.footer-app::before {
  position: absolute;
  content: "";
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 69.6875rem;
  width: 90%;
  height: 100%;
  background: url(../../images/bg-campaign-center.png) repeat-y center top/100% auto;
}
.footer-app__title {
  text-align: center;
  line-height: 1.58;
  font-size: 1.5rem;
  font-weight: bold;
}
.footer-app__title > span {
  display: inline-block;
  text-align: center;
  color: #fff;
  padding: 0 2.5rem;
  position: relative;
}
.footer-app__title > span::before, .footer-app__title > span::after {
  content: "";
  position: absolute;
  width: 1.375rem;
  height: 2.125rem;
  bottom: 0.25rem;
}
.footer-app__title > span::before {
  left: 0;
  background: url(../img/deco-app.svg) center bottom no-repeat;
  background-size: contain;
  transform: scale(-1, 1);
}
.footer-app__title > span::after {
  right: 0;
  background: url(../img/deco-app.svg) center bottom no-repeat;
  background-size: contain;
}
.footer-app__links {
  margin-top: 1.5rem;
  display: flex;
  justify-content: center;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
.footer-app__link {
  display: inline-block;
}
.footer-app__link > img {
  height: 5.1875rem;
  width: auto;
}
@media (max-width: 767px) {
  .footer-app__title {
    font-size: 1.0625rem;
    margin-left: -0.375rem;
    margin-right: -0.375rem;
  }
  .footer-app__title > span {
    padding: 0 1.375rem;
  }
  .footer-app__title > span::before, .footer-app__title > span::after {
    width: 0.9375rem;
    height: 1.5rem;
  }
  .footer-app__links {
    flex-direction: column;
    row-gap: 1.5rem;
    align-items: center;
  }
}

/**************************************************/
/* components */
/**************************************************/
/**************************************************/
/* components - basic */
/**************************************************/
.c-list {
  font-weight: normal;
}
.c-list > li {
  position: relative;
  padding-left: 0.875rem;
  line-height: 1.7;
}
.c-list > li > em {
  color: #fff;
  font-weight: bold;
}
.c-list > li + li {
  margin-top: 0.5rem;
}
.c-list > li::before {
  content: "";
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 0.5rem;
  background: #C48B2D;
  left: 0;
  top: calc(0.85em - 0.25rem);
}
@media (max-width: 767px) {
  .c-list > li {
    font-size: 0.9375rem;
  }
}
.c-list.-sm > li {
  font-size: 0.9375rem;
}
.c-list.-sm > li + li {
  margin-top: 0.25rem;
}
@media (max-width: 767px) {
  .c-list.-sm > li {
    font-size: 0.875rem;
  }
}
.c-list.-mt15 {
  margin-top: 0.9375rem;
}
.c-list.-au > li::before {
  background: #FA5902;
}
.c-list.-attention > li::before {
  background: #fff;
}
.c-list.-attention > li > span {
  color: #FFF500;
  font-weight: bold;
}
.c-list.-subBox {
  margin-top: 0.75rem;
}
.c-list.-subBox li {
  padding-left: 0;
}
.c-list.-subBox li::before {
  display: none;
}
.c-list.-subBox li + li {
  margin-top: 0.5rem;
}
.c-list.-subBox li .span-award {
  font-weight: 500;
  color: #fff;
  background-color: #C48B2D;
  padding: 0.125rem 0.375rem;
  border-radius: 0.125rem;
  margin-right: 0.4375rem;
}
.c-list.-subBoxNotes {
  margin-top: 0.9375rem;
}
.c-list.-subBoxNotes > li {
  padding-left: 1em;
  text-indent: -1em;
}
.c-list.-subBoxNotes > li::before {
  display: none;
}

.c-sublist > li {
  padding-left: 0.875rem;
  position: relative;
  margin-top: 0.5rem;
  font-size: 0.9375rem;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .c-sublist > li {
    font-size: 0.875rem;
  }
}
.c-sublist > li::before {
  position: absolute;
  content: "";
  width: 0.5rem;
  height: 0.125rem;
  border-radius: 3.125rem;
  background: #fff;
  left: 0;
  top: calc(0.85em - 0.0625rem);
}

.c-button {
  display: inline-block;
  background: #FA5902;
  color: #fff;
  width: 23.75rem;
  max-width: 100%;
  font-size: 1.25rem;
  font-weight: bold;
  border-radius: 6.25rem;
  position: relative;
  padding: 1rem 2.25rem;
  text-align: center;
}
.c-button::before {
  position: absolute;
  display: inline-block;
  box-sizing: border-box;
  width: 0.5625rem;
  height: 1rem;
  background: currentColor;
  content: "";
  -webkit-mask-image: url("../img/icon-arrow.svg");
          mask-image: url("../img/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50%;
          mask-position: 50%;
  -webkit-mask-size: contain;
          mask-size: contain;
  top: 50%;
  transform: translateY(-50%);
  right: 1.625rem;
}
.c-button.-black {
  background: black;
}
@media (max-width: 767px) {
  .c-button {
    font-size: 1rem;
    width: 20rem;
  }
}

.c-button-b {
  display: inline-block;
  background: #270100;
  color: #fff;
  max-width: 100%;
  font-size: 1.25rem;
  font-weight: bold;
  border-radius: 6.25rem;
  position: relative;
  padding: 0.9375rem 3.4375rem 0.9375rem 2.8125rem;
  line-height: 1.5;
  text-align: center;
}
.c-button-b::before {
  position: absolute;
  display: inline-block;
  box-sizing: border-box;
  width: 0.5625rem;
  height: 1rem;
  background: currentColor;
  content: "";
  -webkit-mask-image: url("../img/icon-arrow.svg");
          mask-image: url("../img/icon-arrow.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: 50%;
          mask-position: 50%;
  -webkit-mask-size: contain;
          mask-size: contain;
  width: 0.5rem;
  height: 0.9375rem;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  right: 1.625rem;
}
@media (max-width: 767px) {
  .c-button-b {
    font-size: 1rem;
  }
}

.c-indent1 {
  line-height: 1.7;
}
.c-indent1 > li {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0.375rem;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* pages */
/**************************************************/
.mv {
  width: 100%;
  background: url(../../images/bg-mv.png) no-repeat center bottom/100% auto;
  padding-top: 4.6875rem;
  position: relative;
}
.mv span {
  display: block;
}
.mv__inner {
  display: block;
  position: relative;
  z-index: 50;
  max-width: 58.25rem;
  margin: 0 auto;
  padding: 0 0.9375rem 1.25rem;
}
.mv__inner picture {
  display: block;
  width: 100%;
}
.mv__deco {
  position: absolute;
  content: "";
  z-index: 200;
}
.mv__deco.-left {
  top: 10rem;
  left: 2.8125rem;
}
.mv__deco.-left .mv__decoImg {
  width: 7.9375rem;
  height: 36.8125rem;
}
.mv__deco.-right {
  top: 10rem;
  right: 1.75rem;
}
.mv__deco.-right .mv__decoImg {
  width: 6.875rem;
  height: 35.1875rem;
}
@media (max-width: 767px) {
  .mv {
    padding-top: 1.75rem;
  }
  .mv__inner {
    padding: 0 0 0.625rem;
  }
  .mv__deco.-left {
    top: 6.875rem;
    left: 0.25rem;
  }
  .mv__deco.-left .mv__decoImg {
    width: 2.5rem;
    height: 13.9375rem;
  }
  .mv__deco.-right {
    top: 6.875rem;
    right: 0.375rem;
  }
  .mv__deco.-right .mv__decoImg {
    width: 2.375rem;
    height: 14.0625rem;
  }
}

.mv-footer {
  border-top: solid #fff 0.3125rem;
  background: #009944 url(../../images/bg-mv-date.png) repeat center/100% auto;
  padding: 1.125rem 1.25rem;
  box-sizing: border-box;
}
.mv-footer__date {
  max-width: 48.75rem;
  margin: 0 auto;
}
.mv-footer__date img {
  display: block;
}
@media (max-width: 767px) {
  .mv-footer {
    border-top: solid #fff 0.25rem;
    padding: 0.75rem;
  }
}

.campaign {
  overflow: hidden;
  position: relative;
  background: url(../../images/bg-campaign.png) repeat-y center top/100% auto;
  padding: 2.8125rem 0 7.5rem;
}
.campaign::before {
  position: absolute;
  content: "";
  z-index: 20;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  max-width: 69.6875rem;
  width: 90%;
  height: 100%;
  background: url(../../images/bg-campaign-center.png) repeat-y center top/100% auto;
}
.campaign__heading {
  position: relative;
  text-align: center;
  margin: 0 auto;
  z-index: 100;
  box-sizing: border-box;
  max-width: 31.875rem;
}
.campaign__block {
  position: relative;
}
.campaign__block:not(.-first) {
  margin-top: 3.4375rem;
}
.campaign__box {
  position: relative;
  background: white;
  border: solid 0.5rem #009944;
  border-radius: 0.25rem;
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.16);
  margin-top: -5.3125rem;
  padding: 5.3125rem 2.5rem 2.1875rem;
  z-index: 90;
}
.campaign__text {
  text-align: center;
  font-size: 1.375rem;
  line-height: 1.6363636364;
  font-weight: bold;
  position: relative;
}
.campaign__subBox {
  margin: 1.875rem auto 0;
  padding: 1.875rem 2.1875rem 2.1875rem;
  background: #F0F0F0;
  border-radius: 0.25rem;
  font-size: 0.9375rem;
  line-height: 1.7333333333;
  font-weight: bold;
}
.campaign__subBoxBorder {
  display: block;
  margin: 1.25rem 0;
  background: url(../../images/border-subBox.png) repeat-x top left/contain;
  width: 100%;
  height: 0.125rem;
}
.campaign__anchor {
  text-align: center;
  margin-top: 1.875rem;
}
.campaign__poster {
  margin: 1.875rem auto 0;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 1.5625rem;
       column-gap: 1.5625rem;
}
.campaign__poster01 {
  max-width: 13.125rem;
  margin-right: 0.625rem;
}
.campaign__poster02 {
  max-width: 10.75rem;
}
.campaign__poster > picture {
  max-width: 20rem;
}
.campaign__deco {
  position: absolute;
  content: "";
  width: 3rem;
  height: 3rem;
}
.campaign__deco.-first {
  top: -0.3125rem;
  left: -0.3125rem;
}
.campaign__deco.-second {
  top: -0.3125rem;
  right: -0.3125rem;
}
.campaign__deco.-third {
  bottom: -0.3125rem;
  right: -0.3125rem;
}
.campaign__deco.-fourth {
  bottom: -0.3125rem;
  left: -0.3125rem;
}
.campaign__Bgdeco01 {
  position: absolute;
  content: "";
  z-index: 10;
}
.campaign__Bgdeco01 img {
  height: 100%;
}
.campaign__Bgdeco01.-left {
  top: 40.125rem;
  left: 2.0625rem;
}
.campaign__Bgdeco01.-left img {
  width: 9.0625rem;
}
.campaign__Bgdeco01.-right {
  top: 3.5625rem;
  right: 1.9375rem;
}
.campaign__Bgdeco01.-right img {
  width: 9.5rem;
}
@media (max-width: 767px) {
  .campaign {
    padding: 1.875rem 0 3.75rem;
  }
  .campaign__heading {
    max-width: 17.5rem;
  }
  .campaign__block {
    position: relative;
  }
  .campaign__block:not(.-first) {
    margin-top: 1.875rem;
  }
  .campaign__box {
    border: solid 0.3125rem #009944;
    margin-top: -2.8125rem;
    padding: 2.8125rem 0.9375rem 1.5625rem;
  }
  .campaign__text {
    font-size: 1rem;
    line-height: 1.6;
    text-align: left;
  }
  .campaign__subBox {
    margin: 1.25rem auto 0;
    padding: 1.25rem 0.9375rem;
  }
  .campaign__anchor {
    margin-top: 1.25rem;
  }
  .campaign__poster {
    margin: 1.25rem auto 0;
    flex-direction: column;
    row-gap: 0.9375rem;
  }
  .campaign__poster01 {
    margin-right: 0;
  }
  .campaign__poster > picture {
    max-width: 13.125rem;
  }
  .campaign__deco {
    width: 1.5rem;
    height: 1.5rem;
  }
  .campaign__deco.-first {
    top: -0.25rem;
    left: -0.25rem;
  }
  .campaign__deco.-second {
    top: -0.25rem;
    right: -0.25rem;
  }
  .campaign__deco.-third {
    bottom: -0.25rem;
    right: -0.25rem;
  }
  .campaign__deco.-fourth {
    bottom: -0.25rem;
    left: -0.25rem;
  }
  .campaign__Bgdeco01.-left {
    top: 20.0625rem;
    left: -0.625rem;
  }
  .campaign__Bgdeco01.-left img {
    width: 4.53125rem;
  }
  .campaign__Bgdeco01.-left.-second {
    top: 120.375rem;
  }
  .campaign__Bgdeco01.-right {
    top: 1.78125rem;
    right: -0.625rem;
  }
  .campaign__Bgdeco01.-right img {
    width: 4.75rem;
  }
  .campaign__Bgdeco01.-right.-second {
    top: 120.375rem;
  }
}

.attention {
  margin-top: 5rem;
  position: relative;
  z-index: 90;
}
.attention__box {
  box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.16);
  background: linear-gradient(to bottom, #001A43 0%, #002E76 65%, #002E76 100%);
  padding: 4.375rem 3.75rem;
  position: relative;
  border-radius: 1.25rem;
  border: solid #fff 0.125rem;
  color: #fff;
}
.attention__deco {
  position: absolute;
  content: "";
  top: 0;
}
.attention__deco img {
  height: 100%;
  width: 7.3125rem;
}
.attention__deco.-left {
  left: 4.375rem;
}
.attention__deco.-right {
  right: 4.375rem;
}
.attention__title {
  max-width: 29.875rem;
  margin: 0 auto;
  position: relative;
}
.attention__title img {
  display: block;
}
.attention__body {
  padding: 2.8125rem 0 0;
}
.attention__notes {
  padding-left: 1em;
  text-indent: -1em;
  margin-top: 0.5rem;
}
@media (max-width: 767px) {
  .attention {
    margin-top: 2.8125rem;
  }
  .attention__box {
    padding: 3.125rem 0.9375rem 1.875rem;
  }
  .attention__deco img {
    width: 3.65625rem;
  }
  .attention__deco.-left {
    left: 0.625rem;
  }
  .attention__deco.-right {
    right: 0.625rem;
  }
  .attention__title {
    width: 90%;
    margin-top: 1.25rem;
  }
  .attention__body {
    padding: 1.25rem 0 0;
  }
  .attention__notes {
    font-size: 0.9375rem;
  }
}

.conditions {
  position: relative;
  padding: 7.5rem 0;
  background: url(../../images/bg-conditions01.png) no-repeat top left/42.5rem 20rem, url(../../images/bg-conditions02.png) no-repeat top right/31.75rem 11.625rem, url(../../images/bg-conditions03.png) no-repeat bottom right/45.8125rem 25.625rem, url(../../images/bg-conditions04.png) no-repeat bottom left/29.8125rem 25.4375rem;
}
.conditions__title {
  margin: 0 auto;
  max-width: 25.625rem;
  width: 90%;
}
.conditions__title img {
  display: block;
}
.conditions__text {
  margin: 3.125rem auto 0;
  width: 39.625rem;
  max-width: 100%;
  display: block;
}
.conditions__model {
  margin-top: 1.5rem;
  font-weight: bold;
  text-align: center;
}
.conditions__button {
  margin-top: 3.125rem;
  text-align: center;
}
@media (max-width: 1279px) {
  .conditions {
    background: url(../../images/bg-conditions01.png) no-repeat top left/21.25rem 10rem, url(../../images/bg-conditions02.png) no-repeat top right/15.875rem 5.8125rem, url(../../images/bg-conditions03.png) no-repeat bottom right/22.90625rem 12.8125rem, url(../../images/bg-conditions04.png) no-repeat bottom left/14.90625rem 12.71875rem;
  }
}
@media (max-width: 767px) {
  .conditions {
    padding: 3.75rem 0;
    background: url(../../images/bg-conditions01.png) no-repeat top left/10.625rem 5rem, url(../../images/bg-conditions02.png) no-repeat top right/7.9375rem 2.90625rem, url(../../images/bg-conditions03.png) no-repeat bottom right/11.453125rem 6.40625rem, url(../../images/bg-conditions04.png) no-repeat bottom left/7.453125rem 6.359375rem;
  }
  .conditions__title {
    max-width: 17.5rem;
  }
  .conditions__title img {
    width: 85%;
    display: block;
    margin: 0 auto;
  }
  .conditions__text {
    margin-top: 1.25rem;
  }
  .conditions__model {
    font-size: 0.875rem;
    text-align: left;
    line-height: 1.6;
  }
  .conditions__button {
    margin-top: 1.875rem;
  }
}

.conditionsNotesBox {
  margin: 1.875rem auto 0;
  max-width: 52.5rem;
  box-sizing: border-box;
  border: solid 0.5rem #EBEBEB;
  padding: 1.5rem 2.5rem;
  border-radius: 1.25rem;
  background: white;
}
.conditionsNotesBox__title {
  font-weight: bold;
  font-size: 1.1875rem;
  padding-left: 1.9375rem;
  position: relative;
  letter-spacing: 0.05em;
}
.conditionsNotesBox__title::before {
  position: absolute;
  content: "";
  background: url(../img/icon-exclamation.svg) center center no-repeat;
  background-size: contain;
  width: 1.625rem;
  height: 1.4375rem;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.conditionsNotesBox__notes {
  margin-top: 0.5rem;
  padding-bottom: 1.5rem;
  margin-bottom: 1.25rem;
  position: relative;
}
.conditionsNotesBox__notes::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.125rem;
  left: 0;
  bottom: 0;
  background-color: #ffffff;
  background-image: radial-gradient(circle, #333333 0.0625rem, transparent 0.0625rem);
  background-position: center;
  background-size: 0.4375rem 0.4375rem;
}
.conditionsNotesBox__note {
  padding-left: 1.25rem;
  position: relative;
}
.conditionsNotesBox__note::before {
  position: absolute;
  content: "※";
  color: #E8380D;
  left: 0;
  top: 0;
}
.conditionsNotesBox__note + .conditionsNotesBox__note {
  margin-top: 0.25rem;
}
@media (max-width: 767px) {
  .conditionsNotesBox {
    padding: 1.25rem;
    border-width: 0.375rem;
    border-radius: 1rem;
  }
  .conditionsNotesBox__title {
    font-size: 1.0625rem;
  }
  .conditionsNotesBox__note {
    font-size: 0.9375rem;
  }
}

.contact {
  background: black;
  padding: 2.8125rem 0 3.125rem;
  text-align: center;
}
.contact__title {
  text-align: center;
  color: white;
  font-weight: bold;
  font-size: 1.875rem;
}
.contact__lead {
  color: #fff;
  font-weight: 400;
  margin-top: 1.25rem;
}
.contact__wrap {
  display: flex;
  justify-content: center;
  margin-top: 2.5rem;
  -moz-column-gap: 4.25rem;
       column-gap: 4.25rem;
}
.contact__item {
  width: 23.75rem;
  max-width: calc(50% - 2.125rem);
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contact__text {
  margin-top: 1.5rem;
  line-height: 2;
  font-weight: 400;
  color: #fff;
  font-size: 0.9375rem;
  text-align: left;
}
@media (max-width: 767px) {
  .contact {
    padding: 2.5rem 0;
  }
  .contact__title {
    font-size: 1.25rem;
  }
  .contact__lead {
    font-size: 0.8125rem;
  }
  .contact__wrap {
    flex-direction: column;
    row-gap: 1.875rem;
    margin-top: 1.875rem;
    align-items: center;
  }
  .contact__item {
    width: 100%;
    max-width: none;
  }
  .contact__text {
    font-size: 0.8125rem;
    text-align: center;
    margin-top: 1rem;
    line-height: 1.7;
  }
}

.banner-head {
  padding: 1.625rem 1.25rem 1.5rem;
}
.banner-head__text {
  max-width: 46.625rem;
  margin: 0 auto;
}
.banner-head__text img {
  display: block;
}
@media (max-width: 767px) {
  .banner-head {
    padding: 1rem 0.5rem 0.875rem;
  }
}

.banner {
  display: block;
  background: url(../img/bg-banner.png) repeat-x top center, #FFF055;
  background-size: 65.875rem auto;
  text-align: center;
  transition: 0.3s;
}
.banner__main {
  padding: 2.5rem 1.25rem 1.875rem;
  max-width: 62.75rem;
  margin: 0 auto;
}
.banner__main img {
  display: block;
}
.banner__more {
  background: white;
  padding: 1.625rem 1.25rem 1.5rem;
}
.banner__moreText {
  max-width: 57.9375rem;
  margin: 0 auto;
}
.banner__moreText img {
  display: block;
}
@media (max-width: 767px) {
  .banner {
    background-size: cover;
  }
  .banner__main {
    padding: 1.25rem 0;
  }
  .banner__more {
    padding: 1rem 0.75rem;
  }
}

.magazine {
  background: #DF5510;
}
.magazine__btn {
  display: block;
  margin: 0 auto;
  max-width: 85.375rem;
}

.swiper {
  margin-top: 0 !important;
  overflow: visible !important;
}
.swiper-wrapper {
  background-color: #fff;
}
.swiper-button-prev, .swiper-button-next {
  width: 3rem;
  height: 3rem;
  margin: 0;
  top: 50%;
  transform: translateY(-50%);
}
.swiper-button-prev::after, .swiper-button-next::after {
  top: 0;
  left: 0;
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../../images/slide-arrow02.svg) no-repeat center center/contain;
  opacity: 0.5;
}
@media (max-width: 767px) {
  .swiper-button-prev, .swiper-button-next {
    width: 1.5rem;
    height: 1.5rem;
    top: 60%;
    transform: translateY(-60%);
  }
}
.swiper-button-prev::after {
  transform: scale(-1, 1);
}

.flowBox {
  height: 100%;
  background: #fff;
  display: grid;
  grid-template-areas: "heading img" "text img";
  grid-template-rows: auto 1fr;
  padding: 0 16.1290322581%;
  gap: 2.5rem;
}
.flowBox__heading {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: heading;
  padding-top: 1.25rem;
}
.flowBox__heading img {
  max-width: 7.5rem;
}
.flowBox__text {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: text;
  font-weight: bold;
  font-size: 1.375rem;
  line-height: 1.5454545455;
}
.flowBox__img {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  margin: auto 0 auto auto;
  grid-area: img;
  padding-bottom: 1.875rem;
}
.flowBox__img img {
  display: inline-block;
  max-height: 23.875rem;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .flowBox {
    display: flex;
    flex-direction: column;
    padding: 0 1.25rem;
    gap: 0.9375rem;
  }
  .flowBox__heading {
    padding-top: 0;
  }
  .flowBox__heading img {
    max-width: 4.375rem;
  }
  .flowBox__text {
    margin-top: 0;
    font-size: 0.9375rem;
  }
  .flowBox__img {
    margin: auto auto 0;
    text-align: center;
  }
  .flowBox__img img {
    max-width: 75%;
  }
}

.swiperFlow .swiper-slide {
  height: auto;
}
.swiperFlow .swiper-button-prev::after,
.swiperFlow .swiper-button-next::after {
  background: url(../../images/slide-arrow03.svg) no-repeat center/contain;
  filter: none;
  opacity: 1;
}
.swiperFlow .swiper-button-disabled {
  opacity: 1;
}
.swiperFlow .swiper-button-disabled::after {
  background: url(../../images/slide-arrow02.svg) no-repeat center/contain;
}
.swiperFlow .swiper-button-prev {
  left: 0.625rem;
}
.swiperFlow .swiper-button-next {
  right: 0.625rem;
}
.swiperFlow .swiper-pagination {
  display: inline-block;
  width: auto;
  left: 16.1290322581%;
  bottom: 21.8631178707%;
}
@media (max-width: 767px) {
  .swiperFlow .swiper-pagination {
    left: 0;
    bottom: 0;
    width: 100%;
    display: block;
  }
}
.swiperFlow .swiper-pagination-bullet {
  width: 0.5rem;
  height: 0.5rem;
  margin: 0;
  opacity: 1;
  background: #999999;
}
@media (max-width: 767px) {
  .swiperFlow .swiper-pagination-bullet {
    width: 0.375rem;
    height: 0.375rem;
  }
}
.swiperFlow .swiper-pagination-bullet-active {
  background: #C48B2D;
}

.banner-section {
  border-bottom: 0.3125rem #B4191F solid;
  padding: 5.3125rem 0 5.625rem;
  background: linear-gradient(to bottom, #FFF8D9 0%, #FFF8D9 50%, #fff 65%, #fff 100%);
  position: relative;
}
.banner-section__block {
  text-align: center;
}
.banner-section__heading {
  margin: 0 auto;
  max-width: 43.875rem;
}
.banner-section__box {
  margin-top: 2.1875rem;
  display: inline-block;
}
.banner-section__box img {
  position: relative;
  z-index: 100;
  display: flex;
  justify-content: center;
  max-width: 51.625rem;
  width: 100%;
  height: auto;
  box-shadow: 0 0.1875rem 1.25rem 0.1875rem rgba(0, 0, 0, 0.16);
}
.banner-section__text {
  margin: 3.4375rem auto 0;
  display: flex;
  justify-content: center;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
.banner-section__text a {
  display: block;
  width: 5rem;
  height: 5rem;
}
@media (max-width: 767px) {
  .banner-section {
    padding: 2.1875rem 0 4.375rem;
    background: linear-gradient(to bottom, #FFF8D9 0%, #fff 80%, #fff 100%);
  }
  .banner-section__box {
    margin-top: 1.5625rem;
  }
  .banner-section__box img {
    box-shadow: 0 0.125rem 0.5rem 0.125rem rgba(0, 0, 0, 0.16);
  }
  .banner-section__text {
    margin: 1.875rem auto 0;
    -moz-column-gap: 1.875rem;
         column-gap: 1.875rem;
  }
  .banner-section__text a {
    display: block;
    width: 3.125rem;
    height: 3.125rem;
  }
}
.banner-section__deco {
  position: absolute;
  content: "";
}
.banner-section__deco.-present {
  width: 10.4375rem;
  height: auto;
  bottom: 0;
  left: 13.5625rem;
}
.banner-section__deco.-left {
  width: 7rem;
  height: auto;
  top: 6.25rem;
  left: 2.6875rem;
}
.banner-section__deco.-right {
  width: 7.5rem;
  height: auto;
  bottom: 6.25rem;
  right: 2.6875rem;
}
@media (max-width: 1240px) {
  .banner-section__deco.-present {
    left: 4.8125rem;
  }
}
@media (max-width: 767px) {
  .banner-section__deco.-present {
    width: 3.5625rem;
    left: 1.6875rem;
  }
  .banner-section__deco.-left {
    width: 3.5rem;
    top: 5rem;
    left: -0.625rem;
  }
  .banner-section__deco.-right {
    width: 3.75rem;
    bottom: 6.875rem;
    right: 0;
  }
}