@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
:root {
  --sans-serif: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  --serif: "Noto Serif JP", serif;
  --en-sans: "", sans-serif;
  --en-serif: "", serif;
  --base-width: 920;
  --base: #fff;
  --main: #000;
  --accent: #d81b60;
  --sp-base-fs: 4vw;
  --sp-pad: 6vw;
}

/*========================================
  ブラウザごとのデフォルトスタイルの初期化
========================================*/
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ol,
ul,
figure {
  all: unset;
  display: revert;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

img {
  vertical-align: middle;
}

/*========================================
	要素の基本的なスタイル
========================================*/
html {
  font-size: 10px;
  height: 100%;
  scroll-behavior: smooth;
}

body {
  text-size-adjust: 100%;
  font-family: var(--sans-serif);
  font-size: 1.6rem;
  line-height: 1.8;
  min-width: 320px;
  color: var(--main);
  background: var(--base);
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  body {
    font-size: 1.3265306122vw;
  }
  body img {
    font-size: 0.9795918367vw;
  }
}
@media screen and (max-width: 767px) {
  body {
    font-size: var(--sp-base-fs);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

:focus-visible {
  outline: 2px solid blue;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.5;
}

img,
svg,
iframe,
video,
picture {
  max-width: 100%;
}

img,
svg {
  vertical-align: top;
}

img {
  letter-spacing: 0;
  font-size: 12px;
  height: auto;
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  img {
    font-size: 1.2244897959vw;
  }
}

a {
  word-break: break-all;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    display: inline-block;
    pointer-events: none;
  }
}

small {
  font-size: 80%;
}

button,
input[type=button],
input[type=submit] {
  cursor: pointer;
  font: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
  color: inherit;
}

label {
  cursor: pointer;
  display: inline-block;
}

/*========================================
  サイト共通のフッター
========================================*/
.l-footer {
  background: #010f1d;
  padding: 2.5em 0;
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding: 13.3333333333vw 6vw 6vw 6vw;
  }
}
.l-footer__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  font-size: 81.25%;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer__inner {
    font-size: 2.5333333333vw;
  }
}
.l-footer__copyright {
  font-size: 100%;
}

/*========================================
  サイト共通のヘッダー
========================================*/
.l-header {
  background: #010f1d;
  padding: 0.9375em 2.5em;
}
@media screen and (max-width: 767px) {
  .l-header {
    padding: 2.4vw;
  }
}
.l-header__inner {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.l-header__logo {
  width: 17.1875em;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    display: flex;
    align-items: center;
    width: 43.2vw;
  }
}
/*========================================
  main
========================================*/
.l-main {
  overflow: hidden;
}

/*========================================
  ボタン
========================================*/
.c-btn {
  cursor: pointer;
  position: relative;
  display: inline-block;
  line-height: 1.1;
  text-decoration: none;
  user-select: none;
  border: 0;
}
.c-btn:hover {
  text-decoration: none;
}

/*========================================
  container
========================================*/
.c-container {
  width: calc(var(--base-width) * 1px);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  .c-container {
    width: calc(var(--base-width) / 1200 * 100%);
  }
}

.c-container-2 {
  width: calc((var(--base-width) + 50) * 1px);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  .c-container-2 {
    width: calc((var(--base-width) + 50) / 1200 * 100%);
  }
}

.c-container-3 {
  width: 1000px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  .c-container-3 {
    width: calc((var(--base-width) + 50) / 1200 * 100%);
  }
}

/*========================================
  アイコン
========================================*/
.c-icon {
  position: relative;
  display: inline-block;
  background: 50% 50% no-repeat;
  background-size: contain;
  vertical-align: top;
  line-height: 1;
  font-style: normal;
}

/*========================================
  tran
========================================*/
.p-tran {
  transition-property: filter, opacity, margin, transform;
  transition-duration: 0.2s;
}

/*========================================
  ボタン
========================================*/
.p-btn-a {
  background: #ff0000;
  color: #fff;
  font-weight: bold;
  width: 13.125em;
  height: 2.8125em;
  border-top: 1px solid #ff4b4b;
  border-left: 1px solid #ff4b4b;
  border-radius: 100em;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  transition: transform 0.25s;
}
@media (hover: hover) {
  .p-btn-a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-a {
    font-size: 2.4vw;
    width: 29.6vw;
    height: 8vw;
    line-height: 1;
  }
}

.p-btn-b {
  width: 15.5625em;
  transition: filter 0.25s;
}
@media screen and (max-width: 767px) {
  .p-btn-b {
    width: 70.9333333333vw;
  }
}
@media (hover: hover) {
  .p-btn-b:hover {
    filter: brightness(130%);
  }
}

.p-btn-c {
  background: #ff0000;
  padding: 0.9375em 2.5em 0.9375em 1.875em;
  color: #fff;
  transition: background 0.25s;
  font-size: 93.75%;
  border-radius: 100em;
}
@media screen and (max-width: 767px) {
  .p-btn-c {
    padding: 4.5333333333vw 8vw;
  }
}
.p-btn-c .c-icon {
  font-size: 106.6666666667%;
  margin-left: 0.9375em;
  position: absolute;
  right: 1.125em;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .p-btn-c .c-icon {
    right: 4vw;
  }
}
@media (hover: hover) {
  .p-btn-c:hover {
    background-color: #07752c;
  }
}

@media screen and (min-width: 768px) {
  .p-btn-closing {
    width: 26.8125em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing {
    width: 85.0666666667vw;
    padding-top: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-btn-closing.is-large {
    width: 33.8125em;
    margin-top: 1.375em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing.is-large {
    width: 100%;
    margin-top: 0vw;
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing.is-large .p-btn-closing__kabegami {
    top: -3.5833333333em;
  }
}
@media screen and (min-width: 768px) {
  .p-btn-closing.is-large .p-btn-closing__click {
    left: 27.1666666667em;
    top: 5em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing.is-large .p-btn-closing__click {
    top: 11.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-btn-closing.is-large .p-btn-closing__kick {
    top: 0.3333333333em;
    left: 30.8333333333em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing.is-large .p-btn-closing__kick {
    right: -11.4666666667vw;
  }
}
.p-btn-closing__click, .p-btn-closing__kick {
  position: absolute;
}
.p-btn-closing__img {
  transition: 0.4s filter;
}
.p-btn-closing__click {
  z-index: 2;
  transition: 0.4s rotate;
}
@media screen and (min-width: 768px) {
  .p-btn-closing__click {
    width: 4.8333333333em;
    left: 21.6666666667em;
    top: 3.9166666667em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing__click {
    width: 12vw;
    top: 10vw;
    left: 53.3333333333vw;
  }
}
.p-btn-closing__kick {
  transition: 0.2s transform;
}
@media screen and (min-width: 768px) {
  .p-btn-closing__kick {
    width: 15.3333333333em;
    left: 25em;
    top: -0.8333333333em;
  }
}
@media screen and (max-width: 767px) {
  .p-btn-closing__kick {
    width: 33.3333333333vw;
    top: 2.9333333333vw;
    right: -8vw;
  }
}
.p-btn-closing__kabegami {
  position: absolute;
  pointer-events: none;
  width: 25em;
  left: 50%;
  top: -3.4166666667em;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .p-btn-closing__kabegami {
    top: -8vw;
    width: 82.6666666667vw;
  }
}
@media (hover: hover) {
  .p-btn-closing:hover .p-btn-closing__img {
    filter: hue-rotate(-200deg);
  }
  .p-btn-closing:hover .p-btn-closing__kick {
    transform: translateX(-10px);
  }
  .p-btn-closing:hover .p-btn-closing__click {
    rotate: 360deg;
  }
}

.p-btn-totop {
  height: 0;
  position: sticky;
  text-align: right;
  bottom: 0;
  padding-right: 1.25em;
  z-index: 100;
}
@media screen and (max-width: 767px) {
  .p-btn-totop {
    padding-right: 1.3333333333vw;
  }
}
.p-btn-totop a {
  margin-bottom: -10.625em;
  top: -10.625em;
  width: 7.0625em;
  transform: translateY(200%);
  transition: 0.25s transform;
}
@media screen and (max-width: 767px) {
  .p-btn-totop a {
    margin-bottom: -28vw;
    top: -28vw;
    width: 18.6666666667vw;
  }
}
.p-btn-totop.is-scrolled a {
  transform: translateY(0%);
}

/*========================================
  hdr
========================================*/
/*========================================
  アイコン
========================================*/
.p-icon-arrow-btm {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.5em 0.3125em 0 0.3125em;
  border-color: #ffffff transparent transparent transparent;
}

/*========================================
  copy
========================================*/
.p-copy {
  font-size: 62.5%;
}
@media screen and (max-width: 767px) {
  .p-copy {
    font-size: 1.8666666667vw;
  }
}

/*========================================
  fv
========================================*/
.p-fv {
  position: relative;
  z-index: 2;
  background: url("../img/fv_bg.jpg") 50% 50%/cover;
  height: 28.125em;
}
@media screen and (max-width: 767px) {
  .p-fv {
    background: url("../img/fv_bg_sp.jpg") 50% 50%/cover;
    height: 122.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__inner {
    --base-width: 1005;
  }
}
.p-fv__ttl {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-fv__ttl {
    width: 30.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__ttl {
    padding: 2.6666666667vw 0;
    margin: 0 auto;
    width: 100%;
    height: 112vw;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__ttl img {
    position: relative;
    top: -7.4666666667vw;
    aspect-ratio: 728/493;
    width: 97.0666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__riders::before {
    pointer-events: none;
    z-index: 20;
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: -8vw;
    width: 100%;
    height: 40vw;
    background: linear-gradient(to top, #295d89 30%, rgba(41, 93, 137, 0.8) 60%, rgba(41, 93, 137, 0) 100%);
  }
}
.p-fv__rider {
  position: absolute;
  filter: brightness(6000%);
  opacity: 0;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-fv__rider {
    left: 50%;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__rider.is-1 {
    top: 3.75em;
    width: 24.1875em;
    transform: translateX(-8.4375em);
    margin-left: -10em;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__rider.is-1 {
    top: 48vw;
    left: 0vw;
    width: 61.7333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__rider.is-2 {
    top: -0.625em;
    width: 20em;
    transform: translateX(14.0625em);
    margin-left: 10em;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__rider.is-2 {
    top: 40vw;
    right: 0;
    width: 54vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__rider.is-3 {
    top: -0.625em;
    width: 13.625em;
    transform: translateX(2.5em);
    margin-top: 10em;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__rider.is-3 {
    left: 50%;
    top: 40vw;
    transform: translateX(-68%);
    width: 40vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__rider.is-4 {
    top: 3.125em;
    width: 19.25em;
    transform: translateX(9.6875em);
    margin-top: 10em;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__rider.is-4 {
    left: 50%;
    top: 50.6666666667vw;
    transform: translateX(-22%);
    width: 56vw;
  }
}
.p-fv__shocker {
  position: absolute;
  margin-top: 6em;
  opacity: 0;
}
@media screen and (min-width: 768px) {
  .p-fv__shocker {
    left: 50%;
  }
}
@media screen and (max-width: 767px) {
  .p-fv__shocker {
    z-index: 31;
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__shocker.is-1 {
    top: 17.5em;
    width: 12.375em;
    transform: translateX(-37.1875em);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__shocker.is-1 {
    top: 101.3333333333vw;
    left: 2.1333333333vw;
    width: 17.6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__shocker.is-2 {
    top: 0.5em;
    width: 12.3125em;
    transform: translateX(-27.8125em);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__shocker.is-2 {
    top: 106.6666666667vw;
    left: 18.2666666667vw;
    width: 12.8vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__shocker.is-3 {
    top: 18.4375em;
    width: 11.125em;
    transform: translateX(-16.875em);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__shocker.is-3 {
    top: 105.8666666667vw;
    left: 28vw;
    width: 17.8666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-fv__shocker.is-4 {
    top: 5.625em;
    width: 11.375em;
    transform: translateX(-37.5em);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__shocker.is-4 {
    top: 106.6666666667vw;
    left: 44vw;
    width: 10.1333333333vw;
  }
}
.p-fv__medal {
  filter: brightness(6000%);
  opacity: 0;
  margin-top: 2em;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .p-fv__medal {
    z-index: 3;
    top: 16.25em;
    left: 50%;
    width: 14.5em;
    transform: translateX(18.75em);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__medal {
    z-index: 36;
    right: 1.3333333333vw;
    top: 82.6666666667vw;
    width: 42.1333333333vw;
  }
}
.p-fv__wbtn {
  position: relative;
  z-index: 2;
  background: url("../img/fv_obi.png") 50% 0%/auto 100% no-repeat;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-fv__wbtn {
    height: 19.0625em;
    padding-top: 5.625em;
    transform: translateY(-5em);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__wbtn {
    z-index: 32;
    background: url("../img/fv_obi_sp.png") 50% 0%/cover no-repeat;
    height: 54.9333333333vw;
    padding-top: 13.3333333333vw;
  }
}
.p-fv__copy {
  position: absolute;
  z-index: 10;
  left: 50%;
  top: 16.5em;
  transform: translateX(51em);
}
@media screen and (max-width: 1200px) {
  .p-fv__copy {
    right: 0.8em;
    left: inherit;
    transform: translateX(0);
  }
}
@media screen and (max-width: 767px) {
  .p-fv__copy {
    right: 0;
    left: inherit;
    padding-right: 2.1333333333vw;
    top: inherit;
    bottom: 8vw;
  }
}

/*========================================
  sec
========================================*/
.p-sec-a {
  background: url("../img/sec_a_bg.jpg") 50% 0%/cover;
  padding-top: 10.625em;
}
@media screen and (max-width: 767px) {
  .p-sec-a {
    padding-top: 57.3333333333vw;
    background-image: url("../img/sec_a_bg_sp.jpg");
  }
}
.p-sec-a__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sec-a__ttl {
    width: 38.75em;
    margin-bottom: 0.625em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__ttl {
    margin: 0 -1.3333333333vw 4vw;
  }
}
.p-sec-a__rider {
  filter: blur(20px);
  opacity: 0;
  margin-top: 2em;
  position: absolute;
}
.p-sec-a__rider.is-fire {
  filter: blur(0);
  opacity: 1;
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .p-sec-a__rider {
    right: -5em;
    top: -2.1875em;
    width: 27.75em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__rider {
    top: 0;
    padding-top: 84vw;
    left: 0vw;
  }
  .p-sec-a__rider img {
    width: 100vw;
    max-width: none;
  }
}
.p-sec-a__shocker {
  position: absolute;
}
.p-sec-a__shocker img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-sec-a__shocker.is-1 {
    transform: translateX(200px);
    opacity: 0;
    width: 13.875em;
    left: -8.625em;
    bottom: -1.5em;
  }
  .p-sec-a__shocker.is-1.is-fire {
    transform: translateX(0);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__shocker.is-1 {
    width: 65.3333333333vw;
    bottom: -49.3333333333vw;
    left: 2.6666666667vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-a__shocker.is-2 {
    transform: translateX(-200px);
    opacity: 0;
    width: 10.5625em;
    right: -7.8125em;
    bottom: -2.125em;
  }
  .p-sec-a__shocker.is-2.is-fire {
    transform: translateX(0);
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__shocker.is-2 {
    width: 48.8vw;
    bottom: -56vw;
    right: 2.6666666667vw;
  }
}
.p-sec-a__body {
  position: relative;
}
.p-sec-a__txt {
  text-align: justify;
  font-size: 93.75%;
  font-weight: 500;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-sec-a__txt {
    width: 36.25em;
    margin-bottom: 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__txt {
    margin-bottom: 76vw;
    font-size: 3.7333333333vw;
    line-height: 1.9;
  }
}
.p-sec-a__list {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .p-sec-a__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: calc(25 / var(--base-width) * 100%);
  }
  .p-sec-a__list > li {
    width: calc(290 / var(--base-width) * 100%);
  }
}
.p-sec-a__list > li {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-sec-a__list > li {
    padding-bottom: 5.3333333333vw;
  }
}
.p-sec-a__list > li .bg {
  box-shadow: 0.5px 0.866px 12px 0px rgba(135, 135, 135, 0.3);
  z-index: 442;
}
@media screen and (max-width: 767px) {
  .p-sec-a__list > li + li {
    margin-top: 10.6666666667vw;
  }
}
.p-sec-a__shdr {
  margin-top: -0.9375em;
}
@media screen and (max-width: 767px) {
  .p-sec-a__shdr {
    transform: translateY(-6.6666666667vw);
    margin-bottom: -6.6666666667vw;
  }
}
.p-sec-a__sttl {
  --w: 241;
  width: calc(var(--w) / 16 * 1em);
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .p-sec-a__sttl {
    width: calc(var(--sp-w) / 750 * 100vw);
  }
  .p-sec-a__sttl img {
    width: 100%;
  }
}
.p-sec-a__sbody {
  padding-left: 1.625em;
  padding-right: 1.625em;
  padding-bottom: 0.625em;
}
@media screen and (max-width: 767px) {
  .p-sec-a__sbody {
    padding-left: 9.3333333333vw;
    padding-right: 9.3333333333vw;
    padding-bottom: 0;
  }
}
.p-sec-a__swicon {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-sec-a__swicon {
    height: 5.625em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__swicon {
    margin-top: 4.6666666667vw;
    margin-bottom: 3.4666666667vw;
  }
}
.p-sec-a__swicon img {
  --w: 57;
  width: calc(var(--w) / 12 * 1em);
}
@media screen and (max-width: 767px) {
  .p-sec-a__swicon img {
    width: calc(var(--sp-w) / 750 * 100vw);
  }
}
.p-sec-a__stxt {
  font-size: 87.5%;
  font-weight: 500;
  text-align: justify;
  line-height: 1.85;
}
@media screen and (max-width: 1200px) and (min-width: 767px) {
  .p-sec-a__stxt {
    font-size: 81.25%;
    margin: 0 0.9375em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-a__stxt {
    font-size: 3.4666666667vw;
    margin-bottom: 2.6666666667vw;
  }
}
.p-sec-a__swbtn {
  text-align: center;
}
.p-sec-a__copy {
  text-align: right;
  color: #fff;
  padding: 3.4375em 0.625em 0.625em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-a__copy {
    padding: 24.6666666667vw 1.3333333333vw 0.6666666667vw 0;
  }
}

/*========================================
  sec
========================================*/
.p-sec-b {
  background: url("../img/sec_b_bg.jpg") 50% 0%/cover;
}
@media screen and (max-width: 767px) {
  .p-sec-b {
    padding-top: 1.3333333333vw;
    background-image: url("../img/sec_b_bg_sp.jpg");
  }
}
.p-sec-b__inner {
  position: relative;
  padding-top: 5.9375em;
}
@media screen and (max-width: 767px) {
  .p-sec-b__inner {
    padding-top: 24vw;
  }
}
.p-sec-b__inner::before {
  position: absolute;
  z-index: 1;
  top: 1.25em;
  left: -2.625em;
  content: "";
  display: block;
  width: 41.75em;
  height: 19.625em;
  background: url("../img/sec_b_symbol.svg") 0% 0%/cover no-repeat;
}
@media screen and (max-width: 767px) {
  .p-sec-b__inner::before {
    top: 0;
    left: 1.3333333333vw;
    background-size: contain;
    aspect-ratio: 100/47;
    width: auto;
    height: 51.3333333333vw;
  }
}
.p-sec-b__inner > * {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-sec-b__ttl {
    width: 31.25em;
    margin-bottom: 1.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__ttl {
    width: 84vw;
    margin-bottom: 4vw;
  }
}
.p-sec-b__rider {
  filter: brightness(6000%);
  opacity: 0;
  transform: translateX(12.5em);
  transition-duration: 0.4s;
  position: absolute;
  z-index: 2;
}
.p-sec-b__rider.is-fire {
  filter: brightness(100%);
  opacity: 1;
  transform: translateX(5.3125em);
}
@media screen and (max-width: 767px) {
  .p-sec-b__rider.is-fire {
    transform: translateX(0);
  }
}
@media screen and (min-width: 768px) {
  .p-sec-b__rider {
    left: 50%;
    bottom: 0;
    width: 29.1875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__rider {
    padding-top: 94.6666666667vw;
    top: 0;
    left: 0vw;
    width: 100vw;
  }
}
.p-sec-b__body {
  position: relative;
}
.p-sec-b__txt {
  text-align: justify;
  line-height: 2;
  font-size: 93.75%;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-sec-b__txt {
    width: 33.75em;
    margin-bottom: 1.5625em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__txt {
    font-size: 3.7333333333vw;
    line-height: 1.9;
    margin-bottom: 87.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-b__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: calc(22 / var(--base-width) * 100%);
  }
}
.p-sec-b__list > li {
  position: relative;
  background: #fff url("../img/sec_b_line.png") bottom/100% 13.25em no-repeat;
  padding: 0 1.25em 1.625em;
}
@media screen and (min-width: 768px) {
  .p-sec-b__list > li {
    width: calc(292 / var(--base-width) * 100%);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__list > li {
    background-position: center bottom 5.3333333333vw;
    background-size: 100% 63.4666666667vw;
    padding: 0 5.3333333333vw 5.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__list > li + li {
    margin-top: 2.6666666667vw;
  }
}
.p-sec-b__srider {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-sec-b__srider {
    height: 13.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__srider {
    height: 62.2666666667vw;
  }
}
.p-sec-b__srider img {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sec-b__srider.is-1 img {
    top: 0.3125em;
    width: 15em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__srider.is-1 img {
    width: 52.4vw;
  }
}
.p-sec-b__srider.is-2 {
  margin: 0 -1.875em;
}
@media screen and (max-width: 767px) {
  .p-sec-b__srider.is-2 {
    margin: 0 -5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-b__srider.is-2 img {
    top: -0.1875em;
    left: 0.5625em;
    width: 24.375em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__srider.is-2 img {
    top: -2.6666666667vw;
    left: 1.3333333333vw;
    width: 86.1333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-b__srider.is-3 {
    margin: 0 -1.25em;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-b__srider.is-3 img {
    top: -0.8125em;
    left: 0.4375em;
    width: 20.625em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__srider.is-3 img {
    top: -4.8vw;
    left: 1.0666666667vw;
    width: 73.2vw;
  }
}
.p-sec-b__point {
  display: inline-block;
  background-image: linear-gradient(-80deg, transparent 0.375em, #000 0.375em, #000 calc(100% - 0.375em), transparent calc(100% - 0.375em));
  margin-bottom: 0.3125em;
  padding: 0 0.9375em;
  font-size: 125%;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #f6ff00;
}
@media screen and (max-width: 767px) {
  .p-sec-b__point {
    background-image: linear-gradient(-80deg, transparent 2vw, #000 2vw, #000 calc(100% - 2vw), transparent calc(100% - 2vw));
    padding: 0 4.5333333333vw;
    font-size: 5.6vw;
    line-height: 1.6;
  }
}
.p-sec-b__stxt {
  font-size: 87.5%;
  font-weight: 700;
  line-height: 1.85;
}
@media screen and (min-width: 768px) {
  .p-sec-b__stxt {
    padding: 0 1.25em 0 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-b__stxt {
    font-size: 3.4666666667vw;
    line-height: 1.9;
  }
}
.p-sec-b__copy {
  text-align: right;
  padding: 2.1875em 0.625em 0.625em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-b__copy {
    padding: 6.6666666667vw 1.3333333333vw 0.6666666667vw 0;
  }
}

/*========================================
  sec
========================================*/
.p-sec-c {
  background: url("../img/sec_c_bg.jpg") 50% 0%/cover;
}
@media screen and (max-width: 767px) {
  .p-sec-c {
    background-image: url("../img/sec_c_bg_sp.jpg");
  }
}
.p-sec-c__inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sec-c__inner {
    overflow: hidden;
    padding-top: 20.6666666667vw;
  }
}
.p-sec-c__inner::before {
  position: absolute;
  z-index: 1;
  content: "";
  display: block;
  width: 41.875em;
  height: 19.625em;
  background: url("../img/sec_c_symbol.svg") 0% 0%/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-sec-c__inner::before {
    top: 0.5625em;
    left: 20.4375em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__inner::before {
    width: 101.0666666667vw;
    height: 47.3333333333vw;
    left: 1.3333333333vw;
    top: 0;
  }
}
.p-sec-c__inner > * {
  position: relative;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-sec-c__head {
    width: 35.625em;
    margin-left: auto;
  }
}
.p-sec-c__hdr {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sec-c__hdr {
    padding-top: 4.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__hdr {
    margin-bottom: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-c__ttl {
    width: 35.3125em;
    margin-left: auto;
    margin-bottom: 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__ttl {
    text-align: center;
  }
  .p-sec-c__ttl img {
    width: 87.7333333333vw;
  }
}
.p-sec-c__rider {
  position: absolute;
  left: 50%;
  width: 36.5625em;
  filter: brightness(6000%);
  opacity: 0;
  margin-top: 2em;
  transform: translateX(-50em);
  transition-duration: 0.4s;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-sec-c__rider {
    transform: translateX(-62.5em);
    bottom: 0em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__rider {
    transform: translateX(-100vw);
    top: 0;
    left: 0;
    padding-top: 73.3333333333vw;
    width: 100vw;
  }
}
.p-sec-c__rider.is-fire {
  filter: brightness(100%);
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .p-sec-c__rider.is-fire {
    transform: translateX(-35.625em);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__rider.is-fire {
    transform: translateX(0);
  }
}
.p-sec-c__body {
  position: relative;
}
.p-sec-c__txt {
  text-align: justify;
  line-height: 2;
  font-size: 93.75%;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-sec-c__txt {
    margin-bottom: 0.9375em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__txt {
    margin-bottom: 78.6666666667vw;
    font-size: 3.7333333333vw;
    line-height: 1.9;
  }
}
.p-sec-c__box {
  display: grid;
  grid-template: "txt txt txt" "... ... ..." 1.875em "fig ... list" 1fr/15em 1.5625em 1fr;
}
@media screen and (max-width: 767px) {
  .p-sec-c__box {
    grid-template: "txt" "..." 4vw "fig" "..." 10.6666666667vw "list";
  }
}
.p-sec-c__box .p-sec-c__box-wtxt {
  grid-area: txt;
}
.p-sec-c__box .p-sec-c__box-wfig {
  grid-area: fig;
  align-self: start;
}
.p-sec-c__box .p-sec-c__box-wlist {
  grid-area: list;
}
.p-sec-c__stxt {
  font-size: 87.5%;
  font-weight: 500;
  line-height: 1.85;
}
.p-sec-c__scaption {
  margin-top: 0.3125em;
  font-size: 75%;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-sec-c__scaption {
    margin-top: 1.3333333333vw;
    font-size: 2.9333333333vw;
  }
}
.p-sec-c__scaption::before {
  content: "※";
}
.p-sec-c__slist1 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(10.625em, 1fr));
  gap: 1.5625em;
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1 {
    gap: 5.3333333333vw;
  }
}
.p-sec-c__slist1 > li {
  display: grid;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .p-sec-c__slist1 > li {
    --h-pc: 62;
    grid-template-rows: calc(var(--h-pc) / 16 * 1em) 1fr;
    gap: 0.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1 > li {
    gap: 4vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-c__slist1.p-sec-c__slist1--adjust-pc {
    gap: 2em;
    padding: 0 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1.p-sec-c__slist1--sp-col {
    grid-template-columns: 1fr;
    gap: 9.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1.p-sec-c__slist1--sp-col > li {
    grid-template-columns: 15.4666666667vw 1fr;
    gap: 4vw;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1.p-sec-c__slist1--sp-col > li .p-sec-c__swicon {
    place-items: start;
    padding-top: 1.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1.p-sec-c__slist1--sp-col > li .p-sec-c__sdl {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist1.p-sec-c__slist1--sp-col > li .p-sec-c__sdl dt {
    text-align: left;
  }
}
.p-sec-c__slist2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.25em 1.875em;
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist2 {
    grid-template-columns: 1fr;
    gap: 6.6666666667vw;
  }
}
.p-sec-c__slist2 > li {
  display: grid;
  grid-template-columns: 3.125em 1fr;
  gap: 0.625em;
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist2 > li {
    grid-template-columns: 11.3333333333vw 1fr;
    gap: 2.6666666667vw;
  }
}
.p-sec-c__slist2 > li .p-sec-c__swicon {
  place-items: start end;
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist2 > li .p-sec-c__swicon {
    place-items: start center;
  }
}
.p-sec-c__slist2 > li .p-sec-c__sdl dt {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist2 > li .p-sec-c__sdl dt {
    margin-right: -2em;
  }
}
.p-sec-c__slist2 > li .p-sec-c__sdl dd {
  margin-top: 0.3125em;
}
@media screen and (max-width: 767px) {
  .p-sec-c__slist2 > li .p-sec-c__sdl dd {
    margin-top: 1.3333333333vw;
  }
}
.p-sec-c__sfig img {
  width: 100%;
}
.p-sec-c__swicon {
  display: grid;
  place-items: center;
}
.p-sec-c__swicon img {
  --w: 99;
  width: calc(var(--w) / 12 * 1em);
}
@media screen and (max-width: 767px) {
  .p-sec-c__swicon img {
    width: calc(var(--sp-w) / 750 * 100vw);
  }
}
@media screen and (min-width: 768px) {
  .p-sec-c__swicon.p-sec-c__swicon--adjust-pc {
    padding-top: 0.625em;
  }
}
.p-sec-c__sdl {
  max-width: 17.5em;
  height: 100%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .p-sec-c__sdl {
    max-width: 57.3333333333vw;
  }
}
.p-sec-c__sdl dt {
  display: grid;
  align-items: center;
  text-align: center;
  font-size: 93.75%;
  font-weight: 900;
  line-height: 1.2;
  color: #2293d3;
}
@media screen and (min-width: 768px) {
  .p-sec-c__sdl dt {
    --dth-pc: 1;
    height: calc(var(--dth-pc) * 1.2em);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-c__sdl dt {
    font-size: 3.4666666667vw;
    font-feature-settings: "palt";
  }
}
.p-sec-c__sdl dd {
  margin-top: 0.875em;
  font-size: 75%;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-sec-c__sdl dd {
    margin-top: 2.6666666667vw;
    font-size: 2.9333333333vw;
    line-height: 1.6;
  }
}
.p-sec-c__copy {
  text-align: right;
  padding: 0.625em 0.625em 0.25em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-c__copy {
    padding: 6vw 1.3333333333vw 1.3333333333vw 0;
  }
}

/*========================================
  sec
========================================*/
.p-sec-d {
  background: url("../img/sec_d_bg.jpg") 50% 0%/cover;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-sec-d {
    background-image: url("../img/sec_d_bg_sp.jpg");
  }
}
.p-sec-d__inner {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sec-d__inner {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__inner {
    overflow: hidden;
    padding-top: 26.6666666667vw;
  }
}
.p-sec-d__inner::before {
  position: absolute;
  z-index: 1;
  content: "";
  display: block;
  width: 42.5em;
  height: 19.5625em;
  background: url("../img/sec_d_symbol.svg") 0% 0%/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-sec-d__inner::before {
    top: 0;
    left: -2.8125em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__inner::before {
    width: 100.2666666667vw;
    height: 48.2666666667vw;
    top: -1.3333333333vw;
    left: 2.6666666667vw;
  }
}
.p-sec-d__inner > * {
  position: relative;
  z-index: 2;
}
.p-sec-d__hdr {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sec-d__hdr {
    padding-top: 6.25em;
    padding-left: 0.625em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__hdr {
    margin-bottom: 6vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-d__ttl {
    width: 32.5em;
    margin-bottom: 1.5625em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__ttl {
    text-align: center;
  }
  .p-sec-d__ttl img {
    width: 84.9333333333vw;
  }
}
.p-sec-d__rider {
  position: absolute;
  left: 50%;
  width: 29.75em;
  filter: brightness(6000%);
  opacity: 0;
  margin-top: 2em;
  transition-duration: 0.4s;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .p-sec-d__rider {
    transform: translateX(65em);
    bottom: 0em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__rider {
    transform: translateX(-100vw);
    top: 0;
    left: 0;
    padding-top: 72vw;
    width: 100vw;
  }
}
.p-sec-d__rider.is-fire {
  filter: brightness(100%);
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .p-sec-d__rider.is-fire {
    transform: translateX(5.3125em);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__rider.is-fire {
    transform: translateX(0);
  }
}
.p-sec-d__body {
  position: relative;
}
.p-sec-d__txt {
  text-align: justify;
  line-height: 2;
  font-size: 93.75%;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-sec-d__txt {
    margin-bottom: 2.6666666667em;
    width: 32.6666666667em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__txt {
    padding-left: var(--sp-pad);
    padding-right: var(--sp-pad);
    margin-bottom: 93.3333333333vw;
    font-size: 3.7333333333vw;
    line-height: 1.95;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-d__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .p-sec-d__list > li {
    width: calc(444 / var(--base-width) * 100%);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__list {
    margin-left: var(--sp-pad);
    margin-right: var(--sp-pad);
  }
}
.p-sec-d__list > li {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .p-sec-d__list > li + li {
    margin-top: 9.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-d__shdr {
    margin-bottom: -0.625em;
  }
}
.p-sec-d__sttl {
  background: linear-gradient(102deg, #ff4808, #ff4808 calc(100% - 0.625em), transparent calc(100% - 0.625em), transparent 100%);
  width: 80%;
  font-size: 125%;
  font-weight: 900;
  transform: translate(-0.4375em, -1.25em);
  padding: 0.5em 0 0.5em 2.1875em;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .p-sec-d__sttl {
    display: grid;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-d__sttl {
    transform: translate(-1.0666666667vw, -4.8vw);
    width: 88%;
    padding: 4vw 0 4vw 5.3333333333vw;
    font-size: 4.5333333333vw;
  }
}
.p-sec-d__sbody {
  padding: 0em 3.125em 1.875em 3.125em;
}
@media screen and (max-width: 767px) {
  .p-sec-d__sbody {
    margin-top: -1.3333333333vw;
    padding: 8vw;
    padding-top: 0;
  }
}
.p-sec-d__stxt {
  font-size: 87.5%;
  font-weight: 500;
  text-align: justify;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-sec-d__stxt {
    line-height: 1.9;
  }
}
.p-sec-d__simg {
  margin-top: 0.9375em;
}
@media screen and (max-width: 767px) {
  .p-sec-d__simg {
    margin-top: 2vw;
  }
}
.p-sec-d__copy {
  text-align: right;
  padding: 2.8125em 0.625em 0.3125em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-d__copy {
    padding: 6.6666666667vw 1.3333333333vw 0.6666666667vw 0;
  }
}

/*========================================
  sec
========================================*/
.p-sec-e {
  position: relative;
  background: #b9cada;
  overflow: hidden;
}
.p-sec-e:before {
  content: "";
  display: block;
  position: absolute;
  top: -15em;
  right: 0;
  left: 0;
  background: url("../img/sec_e_bg_circle.png") no-repeat;
  width: 45.1875em;
  height: 45.25em;
  margin: auto;
  opacity: 0.77;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-sec-e:before {
    top: -32vw;
    background-size: contain;
    width: 96.6666666667vw;
    height: 96.6666666667vw;
  }
}
.p-sec-e__inner {
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-sec-e__inner {
    padding: 14.6666666667vw var(--sp-pad) 0 var(--sp-pad);
  }
}
.p-sec-e__hdr {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-sec-e__hdr {
    padding-top: 7.1875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-e__hdr {
    margin: 0 -5.3333333333vw 5.3333333333vw;
  }
}
.p-sec-e__ttl {
  position: relative;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .p-sec-e__ttl {
    width: 57.5em;
    margin-bottom: 1.875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-e__ttl {
    left: 1.3333333333vw;
    width: 96.4vw;
  }
}
.p-sec-e__rider {
  --w: 224;
  position: absolute;
  z-index: 4;
  filter: brightness(6000%);
  opacity: 0;
  transform: translateY(12.5em);
}
.p-sec-e__rider.is-fire {
  filter: brightness(100%);
  opacity: 1;
  transform: translateY(0);
}
@media screen and (min-width: 768px) {
  .p-sec-e__rider {
    width: calc(var(--w) / 16 * 1em);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-e__rider {
    width: calc(var(--spw) / 750 * 100vw);
  }
}
.p-sec-e__rider.is-1 {
  top: 3.125em;
  left: 2.125em;
}
@media screen and (max-width: 767px) {
  .p-sec-e__rider.is-1 {
    top: 20vw;
    left: 0;
  }
}
.p-sec-e__rider.is-2 {
  z-index: 2;
  top: 1.25em;
  left: 23.25em;
}
@media screen and (max-width: 767px) {
  .p-sec-e__rider.is-2 {
    top: -2vw;
    left: 29.3333333333vw;
  }
}
.p-sec-e__rider.is-3 {
  top: 2.9375em;
  right: 0.3125em;
}
@media screen and (max-width: 767px) {
  .p-sec-e__rider.is-3 {
    top: 18.6666666667vw;
    right: 0;
  }
}
.p-sec-e__body {
  position: relative;
  margin-top: 1.875em;
  z-index: 4;
}
@media screen and (max-width: 767px) {
  .p-sec-e__body {
    margin-top: 5.3333333333vw;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-e__list {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.3125em 1.4375em;
  }
  .p-sec-e__list > li {
    width: calc((100% - 2.875em) / 3);
  }
}
@media screen and (max-width: 767px) {
  .p-sec-e__list {
    display: grid;
    gap: 4.5333333333vw;
  }
}
.p-sec-e__list > li {
  border-radius: 0.75em;
  box-shadow: 1px 1px 12px 0 rgba(135, 135, 135, 0.3);
  background-color: #f5f5f5;
  padding-bottom: 1em;
}
@media screen and (max-width: 767px) {
  .p-sec-e__list > li {
    border-radius: 1.6vw;
    padding-bottom: 4.8vw;
  }
}
.p-sec-e__sttl {
  padding: 0.4375em 0;
  text-align: center;
  font-size: 100%;
  font-weight: 900;
  color: #2293d3;
}
@media screen and (max-width: 767px) {
  .p-sec-e__sttl {
    padding: 2.1333333333vw 0;
    font-size: 4.8vw;
  }
}
.p-sec-e__slogo {
  display: grid;
  place-items: center;
  background-color: #fff;
  height: 7.6875em;
}
@media screen and (max-width: 767px) {
  .p-sec-e__slogo {
    height: 36.9333333333vw;
  }
}
.p-sec-e__slogo img {
  --w: 199;
  width: calc(var(--w) / 12 * 1em);
}
@media screen and (max-width: 767px) {
  .p-sec-e__slogo img {
    width: calc(var(--sp-w) / 750 * 100vw);
  }
}
.p-sec-e__sname {
  padding: 0.75em 0;
  text-align: center;
  font-size: 93.75%;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-sec-e__sname {
    padding: 3.2vw 0;
    font-size: 4.5333333333vw;
  }
}
.p-sec-e__swbtn {
  text-align: center;
}
.p-sec-e__sbtn {
  display: inline-grid;
  place-items: center;
  position: relative;
  border-radius: 100vmax;
  border: 1px solid #2293d3;
  background-color: #f5f5f5;
  width: 11.3333333333em;
  height: 2.5em;
  font-size: 75%;
  font-weight: 700;
  text-decoration: none;
  color: #2293d3;
  transition: 0.3s;
  transition-property: background-color, color;
}
@media screen and (max-width: 767px) {
  .p-sec-e__sbtn {
    border-radius: 2vw;
    width: 41.6vw;
    height: 9.0666666667vw;
    font-size: 3.6vw;
  }
}
.p-sec-e__sbtn:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0.9375em;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.25em 0 0.25em 0.4375em;
  border-color: transparent transparent transparent #2292d3;
  margin: auto;
  transition: border-color 0.3s;
}
@media screen and (max-width: 767px) {
  .p-sec-e__sbtn:after {
    right: 3.3333333333vw;
    border-width: 1.2vw 0 1.2vw 1.6vw;
  }
}
@media (hover: hover) {
  .p-sec-e__sbtn:hover {
    background-color: #2292d3;
    color: #fff;
  }
  .p-sec-e__sbtn:hover:after {
    border-color: transparent transparent transparent #fff;
  }
}
.p-sec-e__btm {
  position: relative;
  background: url("../img/sec_e_bg_2.png") 50% 0%/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .p-sec-e__btm {
    margin-top: -7.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-e__btm {
    background: url("../img/sec_e_bg_2_sp.png") 50% bottom/100% 77.8666666667vw no-repeat;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-e__btm:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    background: linear-gradient(to bottom, #b9cada, transparent);
    width: 100%;
    height: 15em;
  }
}
.p-sec-e__btm-wttl {
  position: relative;
  background: url("../img/sec_e_ttl_2_bg.png") 50% 0/75em auto no-repeat;
  padding-top: 14.6875em;
  padding-bottom: 18.125em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-sec-e__btm-wttl {
    background: url("../img/sec_e_ttl_2_bg_sp.png") 0 -4vw/100% auto no-repeat;
    padding-top: 26.6666666667vw;
    padding-bottom: 65.3333333333vw;
  }
}
.p-sec-e__btm-ttl img {
  width: 58.6666666667em;
}
@media screen and (max-width: 767px) {
  .p-sec-e__btm-ttl img {
    width: 81.8666666667vw;
  }
}
.p-sec-e__btm-riders {
  position: absolute;
  right: 1.5625em;
  bottom: 0;
  left: 0;
  width: 36.875em;
  margin: auto;
  filter: brightness(6000%);
  opacity: 0;
  transform: translateY(12.5em);
  transition-property: filter, opacity, margin, transform;
  transition-duration: 0.2s;
}
@media screen and (max-width: 767px) {
  .p-sec-e__btm-riders {
    right: 0;
    bottom: -52vw;
    width: 90.4vw;
  }
}
.p-sec-e__btm-riders.is-fire {
  filter: brightness(100%);
  opacity: 1;
  transform: translateY(0);
}
.p-sec-e__copy {
  position: relative;
  z-index: 2;
  text-align: right;
  padding: 1.25em 0.625em 0.625em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-e__copy {
    padding: 2.6666666667vw 1.3333333333vw 1.3333333333vw 0;
    font-size: 1.6vw;
  }
}

/*========================================
  sec
========================================*/
.p-sec-f__inner {
  position: relative;
}
.p-sec-f__hdr {
  text-align: center;
  margin-top: 5.3125em;
  margin-bottom: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-sec-f__hdr {
    margin-top: 16.6666666667vw;
    margin-bottom: 5.3333333333vw;
  }
}
.p-sec-f__ttl img {
  width: 24.75em;
}
@media screen and (max-width: 767px) {
  .p-sec-f__ttl img {
    width: 52.5333333333vw;
  }
}
.p-sec-f__sec {
  background: #fff;
  box-shadow: 0.5px 0.866px 12px 0px rgba(135, 135, 135, 0.3);
  border-radius: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec {
    margin: 0 6vw;
    border-radius: 5.3333333333vw;
  }
}
.p-sec-f__sec-hdr {
  background-color: #ff7e00;
  color: #fff;
  text-align: center;
  padding: 2.1875em;
  border-radius: 2.5em 2.5em 0 0;
  line-height: 1.85;
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-hdr {
    border-radius: 5.3333333333vw 5.3333333333vw 0 0;
    padding: 5.3333333333vw 1.3333333333vw 6vw 1.3333333333vw;
  }
}
.p-sec-f__sec-ttl {
  font-weight: bold;
  display: inline;
  font-size: 175%;
  border-bottom: 5px solid rgba(255, 240, 0, 0.9);
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-ttl {
    font-size: 3.6vw;
    border-bottom-width: 3px;
  }
}
.p-sec-f__sec-body {
  padding: 2em 2.5em 2.5em 2.5em;
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-body {
    padding: 2.6666666667vw 4.6666666667vw 5.3333333333vw 4.6666666667vw;
  }
}
.p-sec-f__sec-row {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-row {
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-f__sec-maru {
    width: 10.25em;
    margin-right: 1.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-maru {
    width: 23.2vw;
  }
}
.p-sec-f__sec-txt {
  font-weight: bold;
  font-size: 112.5%;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-txt {
    width: calc(100% - 25.3333333333vw);
    font-size: 2.8vw;
    line-height: 1.8;
  }
}
@media screen and (min-width: 768px) {
  .p-sec-f__sec-fig {
    position: absolute;
    width: 24.5em;
    right: -5em;
    top: -4.6875em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-f__sec-fig {
    position: relative;
    left: 1.3333333333vw;
    width: 100%;
  }
  .p-sec-f__sec-fig img {
    display: block;
    width: 87.8666666667vw;
    max-width: none;
  }
}
.p-sec-f__wbtn {
  margin-top: 1.25em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-sec-f__wbtn {
    margin-top: 0;
  }
}
.p-sec-f__copy {
  text-align: right;
  padding: 6.5625em 0.625em 0.625em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-f__copy {
    padding: 10vw 1.3333333333vw 1.3333333333vw 0;
    font-size: 1.6vw;
  }
}

@keyframes shiny {
  0% {
    left: -20%;
  }
  10% {
    left: 120%;
  }
  100% {
    left: 120%;
  }
}
/*========================================
  sec
========================================*/
.p-sec-h {
  background: #d7e1e2 url("../img/sec_h_bg.jpg") 50% 0%/cover;
  padding: 6.875em 0 0 0;
}
@media screen and (max-width: 767px) {
  .p-sec-h {
    background-image: url("../img/sec_h_bg_sp.jpg");
    padding: 16vw 0 0vw 0;
  }
}
.p-sec-h__movie {
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 560/315;
}
@media screen and (min-width: 768px) {
  .p-sec-h__movie {
    width: 40em;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-h__movie {
    margin: 0 12.6666666667vw;
  }
}
.p-sec-h__movie iframe {
  object-fit: contain;
  width: 100%;
  height: 100%;
}
.p-sec-h__wbtn {
  text-align: center;
  margin-top: 3.75em;
}
@media screen and (max-width: 767px) {
  .p-sec-h__wbtn {
    margin-top: 5.3333333333vw;
  }
}
.p-sec-h__btn {
  overflow: hidden;
  box-shadow: 2.5px 4.33px 10px 0px rgba(91, 91, 91, 0.54);
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .p-sec-h__btn {
    border-radius: 1.3333333333vw;
  }
}
@media screen and (max-width: 767px) {
  .p-sec-h__btn img {
    width: 53.3333333333vw;
  }
}
.p-sec-h__btn::after {
  pointer-events: none;
  content: "";
  position: absolute;
  top: -10%;
  left: -20%;
  width: 40px;
  height: 100%;
  transform: scale(2) rotate(20deg);
  background-image: linear-gradient(100deg, rgba(255, 255, 255, 0) 10%, rgba(255, 255, 255, 0.5) 100%, rgba(255, 255, 255, 0) 0%);
}
@media (hover: hover) {
  .p-sec-h__btn:hover::after {
    animation-name: shiny;
    animation-duration: 3s;
    animation-timing-function: ease-in-out;
    animation-iteration-count: 1;
  }
}
.p-sec-h__copy {
  text-align: right;
  padding: 1.875em 0.625em 0.625em 0;
}
@media screen and (max-width: 767px) {
  .p-sec-h__copy {
    padding: 2.6666666667vw 1.3333333333vw 1.3333333333vw 0;
  }
}

/*========================================
  sec
========================================*/
.p-sec {
  position: relative;
}

/*========================================
tab__list
========================================*/
.p-tab__list {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.p-tab__btn {
  --w: 202;
  position: relative;
  width: 13.875em;
  background: url("../img/sec_c_tab_btn_bg.png") 0 100%/100% auto no-repeat;
  border: 0;
  height: 4.875em;
  text-align: center;
  box-shadow: 2.5px 4.33px 10px 0px rgba(91, 91, 91, 0.54);
  transition: filter 0.25s;
  border-radius: 0.625em 0.625em 0 0;
}
@media screen and (max-width: 767px) {
  .p-tab__btn {
    width: 21.4666666667vw;
    height: 24vw;
    border-radius: 1.3333333333vw 1.3333333333vw 0 0;
    background-image: url("../img/sec_c_tab_btn_bg_sp.png");
    background-size: 100% auto;
  }
}
.p-tab__btn::before {
  content: "";
  position: absolute;
  z-index: 6;
  display: block;
  width: 2em;
  height: 1em;
  left: 50%;
  bottom: 0em;
  transform: translateX(-50%);
  background: url("../img/sec_c_tab_btn_arrow.png") 0 0/contain no-repeat;
  transition: bottom 0.1s;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-tab__btn::before {
    width: 4vw;
    height: 2.6666666667vw;
  }
}
@media (hover: hover) {
  .p-tab__btn:not([aria-selected=true]):hover {
    background-image: url("../img/sec_c_tab_btn_bg_on.png");
    height: 5.5em;
  }
}
@media screen and (hover: hover) and (max-width: 767px) {
  .p-tab__btn:not([aria-selected=true]):hover {
    background-image: url("../img/sec_c_tab_btn_bg_on_sp.png");
    height: 26.6666666667vw;
  }
}
.p-tab__btn[aria-selected=true] {
  background-image: url("../img/sec_c_tab_btn_bg_on.png");
  height: 5.5em;
}
@media screen and (max-width: 767px) {
  .p-tab__btn[aria-selected=true] {
    background-image: url("../img/sec_c_tab_btn_bg_on_sp.png");
    height: 26.6666666667vw;
  }
}
.p-tab__btn[aria-selected=true]::before {
  opacity: 1;
  bottom: -0.9375em;
}
@media screen and (max-width: 767px) {
  .p-tab__btn[aria-selected=true]::before {
    bottom: -2.6666666667vw;
  }
}
.p-tab__btn img {
  width: calc(var(--w) / 12 * 1em);
}
@media screen and (max-width: 767px) {
  .p-tab__btn img {
    width: calc(var(--spw) / 750 * 100vw);
  }
}
.p-tab__panel {
  position: relative;
  z-index: 2;
  background: #fff;
  box-shadow: 1px 0px 12px 0px rgba(135, 135, 135, 0.3);
  opacity: 1;
  height: auto;
}
.p-tab__content {
  padding: 2.8125em 2.5em;
}
@media screen and (min-width: 768px) {
  .p-tab__content {
    min-height: 23.25em;
  }
}
@media screen and (max-width: 767px) {
  .p-tab__content {
    padding: 6.6666666667vw;
  }
}
.p-tab__panel[hidden] {
  display: block;
  opacity: 0;
  height: 0;
  overflow: hidden;
}

/*========================================
 * hidden
 *
 * クラス : u-hidden-{MQ}
========================================*/
@media screen and (max-width: 767px) {
  .u-hidden-ltSP {
    display: none;
  }
}
@media screen and (max-width: 991px) {
  .u-hidden-ltTAB {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .u-hidden-gtTAB {
    display: none;
  }
}
@media screen and (min-width: 992px) {
  .u-hidden-gtPC {
    display: none;
  }
}

/*========================================
 * padding
========================================*/
@media screen and (max-width: 1200px) and (min-width: 767px) {
  .u-PC-pad {
    padding-right: 4%;
    padding-left: 4%;
  }
}
@media screen and (max-width: 767px) {
  .u-SP-pad {
    padding-right: var(--sp-pad);
    padding-left: var(--sp-pad);
  }
}
/*========================================
 * スクリーンリーダーテキスト
========================================*/
.screen-reader-text,
.u-screen-reader {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

/*========================================
 * text-align
========================================*/
.u-ta-left {
  text-align: left;
}
.u-ta-center {
  text-align: center;
}
.u-ta-right {
  text-align: right;
}

@media screen and (max-width: 767px) {
  .u-SP-ta-left {
    text-align: left;
  }
  .u-SP-ta-center {
    text-align: center;
  }
  .u-SP-ta-right {
    text-align: right;
  }
}