@charset "UTF-8";
@font-face {
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/LINESeedJP_OTF_Rg.woff2") format("woff2");
  font-family: "LINESeedJP";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/LINESeedJP_OTF_Bd.woff2") format("woff2");
  font-family: "LINESeedJP";
  font-display: swap;
}
@font-face {
  font-style: normal;
  font-weight: 800;
  src: url("../fonts/LINESeedJP_OTF_Eb.woff2") format("woff2");
  font-family: "LINESeedJP";
  font-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 {
  -webkit-text-size-adjust: 100%; /* 2 */
  line-height: 1.15; /* 1 */
}

/* 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 {
  margin: 0.67em 0;
  font-size: 2em;
}

/* 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-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/* 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-size: 1em; /* 2 */
  font-family: monospace, monospace; /* 1 */
}

/**
 * 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 {
  position: relative;
  font-size: 75%;
  line-height: 0;
  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 {
  margin: 0; /* 2 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  font-family: inherit; /* 1 */
}

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

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

/**
 * 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 {
  padding: 0;
  border-style: none;
}

/**
 * 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 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  color: inherit; /* 2 */
  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;
}

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

/* フォントサイズの拡大を防ぐ */
html {
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
          text-size-adjust: none;
  scroll-behavior: smooth;
}

/* デフォルトのマージンを削除、作成するCSSの制御を改善するため */
html,
body,
h1,
h2,
h3,
h4,
p,
figure,
ul,
ol,
dl,
dd {
  margin: 0;
  padding: 0;
}

/* bodyのデフォルトを設定 */
body {
  min-height: 100vh;
  overflow-x: hidden;
  color: #3B3B3B;
}

/* リストのスタイルを削除 */
ul[role=list],
ol[role=list] {
  list-style: none;
}

th {
  font-weight: normal;
}

a {
  text-decoration: none;
}

/* classを持たないa要素はデフォルトのスタイルを継承 */
a:not([class]) {
  color: currentColor;
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* 画像の扱いを簡単にする */
img,
picture {
  max-width: 100%;
  height: auto;
}

/* 一部ブラウザで表示される▼を消す */
summary {
  display: block;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

/* 電話番号リンクPC無効 */
a[href*="tel:"] {
  text-decoration: none;
  pointer-events: none;
}

/* アンカーされている要素には余分なスクロールマージンが必要 */
:target {
  scroll-margin-block: 5ex;
}

::-moz-selection {
  background-color: rgba(0, 0, 128, 0.3);
}

::selection {
  background-color: rgba(0, 0, 128, 0.3);
}

::-moz-placeholder {
  color: #ccc;
}

::placeholder {
  color: #ccc;
}

.sp-block {
  display: none;
}

.tb-block {
  display: none;
}

.pc-block {
  display: none;
}

.f-bold {
  font-weight: 700;
}

.f-ebold {
  font-weight: 800;
}

.fade {
  opacity: 0;
  transition: opacity 2s, transform 1s;
}
.fade.is-active {
  opacity: 1;
}

.fadeup {
  transform: translateY(30px);
}
.fadeup.is-active {
  transform: translateY(0);
}

.is-hide {
  display: none !important;
}

/* Margin */
.mx-auto {
  margin-right: auto;
  margin-left: auto;
}

.ml-auto {
  margin-left: auto;
}

.mr-auto {
  margin-right: auto;
}

.mt-0 {
  margin-top: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.mt-50 {
  margin-top: 50px !important;
}

.mr-50 {
  margin-right: 50px !important;
}

.mb-50 {
  margin-bottom: 50px !important;
}

.ml-50 {
  margin-left: 50px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.mt-70 {
  margin-top: 70px !important;
}

.mr-70 {
  margin-right: 70px !important;
}

.mb-70 {
  margin-bottom: 70px !important;
}

.ml-70 {
  margin-left: 70px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.mt-90 {
  margin-top: 90px !important;
}

.mr-90 {
  margin-right: 90px !important;
}

.mb-90 {
  margin-bottom: 90px !important;
}

.ml-90 {
  margin-left: 90px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}
/* Padding */
.pt-0 {
  padding-top: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.p-0 {
  padding: 0px !important;
}

.px-0 {
  padding-right: 0px !important;
  padding-left: 0px !important;
}

.py-0 {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.p-10 {
  padding: 10px !important;
}

.px-10 {
  padding-right: 10px !important;
  padding-left: 10px !important;
}

.py-10 {
  padding-top: 10px !important;
  padding-bottom: 10px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.p-20 {
  padding: 20px !important;
}

.px-20 {
  padding-right: 20px !important;
  padding-left: 20px !important;
}

.py-20 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.p-30 {
  padding: 30px !important;
}

.px-30 {
  padding-right: 30px !important;
  padding-left: 30px !important;
}

.py-30 {
  padding-top: 30px !important;
  padding-bottom: 30px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.p-40 {
  padding: 40px !important;
}

.px-40 {
  padding-right: 40px !important;
  padding-left: 40px !important;
}

.py-40 {
  padding-top: 40px !important;
  padding-bottom: 40px !important;
}

.pt-50 {
  padding-top: 50px !important;
}

.pr-50 {
  padding-right: 50px !important;
}

.pb-50 {
  padding-bottom: 50px !important;
}

.pl-50 {
  padding-left: 50px !important;
}

.p-50 {
  padding: 50px !important;
}

.px-50 {
  padding-right: 50px !important;
  padding-left: 50px !important;
}

.py-50 {
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.p-60 {
  padding: 60px !important;
}

.px-60 {
  padding-right: 60px !important;
  padding-left: 60px !important;
}

.py-60 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

.pt-70 {
  padding-top: 70px !important;
}

.pr-70 {
  padding-right: 70px !important;
}

.pb-70 {
  padding-bottom: 70px !important;
}

.pl-70 {
  padding-left: 70px !important;
}

.p-70 {
  padding: 70px !important;
}

.px-70 {
  padding-right: 70px !important;
  padding-left: 70px !important;
}

.py-70 {
  padding-top: 70px !important;
  padding-bottom: 70px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.p-80 {
  padding: 80px !important;
}

.px-80 {
  padding-right: 80px !important;
  padding-left: 80px !important;
}

.py-80 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

.pt-90 {
  padding-top: 90px !important;
}

.pr-90 {
  padding-right: 90px !important;
}

.pb-90 {
  padding-bottom: 90px !important;
}

.pl-90 {
  padding-left: 90px !important;
}

.p-90 {
  padding: 90px !important;
}

.px-90 {
  padding-right: 90px !important;
  padding-left: 90px !important;
}

.py-90 {
  padding-top: 90px !important;
  padding-bottom: 90px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.p-100 {
  padding: 100px !important;
}

.px-100 {
  padding-right: 100px !important;
  padding-left: 100px !important;
}

.py-100 {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
body {
  font-size: 16px;
  font-family: "LINESeedJP", sans-serif;
}

/*------------------------
btn
-------------------------*/
.btn {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  width: 100%;
  border-radius: 25px;
  background: #02b1e3;
  color: white;
  font-weight: 800;
  font-size: 14px;
  line-height: 50px;
  transition: all 0.2s;
}
.btn > .arrow {
  position: absolute;
  right: 1.5em;
  transition: transform 0.3s ease-in-out;
}

/*------------------------
共通
-------------------------*/
.heading1 {
  position: relative;
  color: #000000;
  font-weight: 700;
  font-size: 24px;
}
.heading1 .deco {
  position: absolute;
  top: -0.9em;
}

.heading2 {
  width: -moz-fit-content;
  width: fit-content;
  margin-block-end: 16px;
  padding: 10px 6px;
  background: #02b1e3;
  color: white;
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
}
.heading_kekka {
  padding: 10px 6px;
  background: #02b1e3;
  color: white;
  font-weight: 700;
  font-size: 24px;
  line-height: 1;
  text-align: center;
}

.heading3 {
  font-weight: 700;
  font-size: 19px;
}

.heading4 {
  color: #02b1e3;
  font-size: 36px;
  line-height: 1;
  letter-spacing: 0.208em;
  text-align: center;
}

.note {
  padding-inline-start: 1em;
  font-size: 12px;
  text-indent: -1em;
}

.indent {
  padding-inline-start: 1em;
  text-indent: -1em;
}

.list {
  list-style-position: inside;
  list-style-type: "・";
}
.list > li {
  padding-inline-start: 1em;
  text-indent: -1em;
}
.list.list-prize {
  list-style-type: "●";
}
.list.list-prize > li + li {
  margin-top: 5px;
}

.list-episode {
  list-style-type: none;
}
.list-episode > li {
  width: -moz-fit-content;
  width: fit-content;
  margin-block-start: 16px;
  padding: 10px 15px 10px 15px;
  border-radius: 0 20px 0 0;
  background: #F8F7FC;
  font-size: 14px;
}

.pagetop {
  display: flex;
  z-index: 10;
  position: fixed;
  right: 20px;
  bottom: 40px;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  transform: translateY(80px);
  border-radius: 50%;
  background: #02b1e3;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
  opacity: 0;
}
.pagetop.upMove {
  animation: UpAnime 0.5s forwards;
}
.pagetop.downMove {
  animation: DownAnime 0.5s forwards;
}

body.is-active .pagetop {
  display: none;
}

@keyframes UpAnime {
  from {
    transform: translateY(80px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes DownAnime {
  from {
    transform: translateY(0);
    opacity: 1;
  }
  to {
    transform: translateY(60px);
    opacity: 0;
  }
}
/*------------------------
レイアウト
-------------------------*/

/*------------------------
header
-------------------------*/
.header {
  display: none;
  width: 100%;
}
.header.is-active {
  display: block;
}
.header--logo {
  padding-block: 18px;
  text-align: center;
}
.header .hamburger--wrap {
  display: inline-flex;
  z-index: 10;
  position: fixed;
  right: 0;
  -moz-column-gap: 15px;
       column-gap: 15px;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 60px;
  margin-left: auto;
}
.header .hamburger--wrap .btn--wrap {
  display: inline-block;
  width: 150px;
}
.header .hamburger--wrap .btn--wrap .btn-entry-sp {
  position: relative;
  padding-right: 8px;
  line-height: 32px;
}
.header .hamburger--wrap .btn--wrap .btn-entry-sp:after {
  position: absolute;
  right: 0.8em;
  width: 10px;
  height: 12px;
  background-image: url(../img/nav_arrow_sp_entry_w.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  text-align: center;
  vertical-align: middle;
}
.header .hamburger--wrap .btn--wrap:has(+ .hamburger.is-active) .btn-entry-sp {
  background-color: #fff;
  color: #02b1e3;
}
.header .hamburger--wrap .btn--wrap:has(+ .hamburger.is-active) .btn-entry-sp:after {
  background-image: url(../img/nav_arrow_sp_entry_p.svg);
}
.header .hamburger {
  width: 45px;
  height: 45px;
  border: none;
  background-color: transparent;
}
.header .hamburger.is-active .hamburger--line {
  background-color: transparent;
}
.header .hamburger.is-active .hamburger--line:before, .header .hamburger.is-active .hamburger--line:after {
  left: -15%;
  width: 39px;
  background-color: #fff;
}
.header .hamburger.is-active .hamburger--line:before {
  top: 0;
  transform: rotate(45deg);
}
.header .hamburger.is-active .hamburger--line:after {
  top: 0;
  transform: rotate(-45deg);
}
.header .hamburger--line {
  display: block;
  position: absolute;
  right: 0;
  width: 30px;
  height: 2px;
  transform: translateX(-50%);
  background-color: #02b1e3;
  transition: 0.4s;
}
.header .hamburger--line:before, .header .hamburger--line:after {
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #02b1e3;
  content: "";
  transition: inherit;
}
.header .hamburger--line:before {
  top: -12px;
}
.header .hamburger--line:after {
  top: 12px;
}
.header .hamburger--text {
  position: absolute;
  bottom: 8px;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
}
.header .gnav {
  width: max(211px, 100% - 100px);
  margin-inline: auto;
}
.header .gnav--list > li {
  padding-bottom: 22px;
  list-style-type: none;
}
.header .gnav--link {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 29px;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  cursor: pointer;
  transition: color 0.4s;
}
.header .gnav--link.is-current:after {
  background-image: url(../img/nav_arrow_pc_current.svg);
}
.header .gnav--link:after {
  position: absolute;
  right: 0;
  width: 29px;
  height: 29px;
  background-image: url(../img/nav_arrow_sp.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  text-align: center;
  vertical-align: middle;
}
.header .gnav--link.-accordion {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  background: none;
}
.header .gnav--link.is-active::after {
  background-image: url(../img/nav_arrow_sp_open.svg);
  transition-duration: 500ms;
}
.header .accordion {
  visibility: hidden;
  height: 0;
  overflow: hidden;
  transition: 0.4s;
}
.header .accordion.is-active {
  visibility: visible;
  height: auto;
  padding-top: 24px;
}
.header .accordion-list li {
  font-size: 0.75rem;
}
.header .accordion--list li + li {
  padding-top: 14px;
}
.header .accordion--link {
  display: inline-block;
  position: relative;
  width: 100%;
  color: #fff;
  font-weight: 700;
  font-size: 12px;
}
.header .accordion--link.is-current:after {
  background-image: url(../img/nav_arrow_child_pc_current.svg);
}
.header .accordion--link:after {
  position: absolute;
  right: 0.5em;
  width: 12px;
  height: 14px;
  background-image: url(../img/nav_arrow_child_sp.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  text-align: center;
  vertical-align: middle;
}
.header .sns {
  padding-block-start: clamp(0.625rem, 0.057rem + 2.424vw, 1.875rem);
  padding-block-end: clamp(0.625rem, 0.057rem + 2.424vw, 1.875rem);
}
.header .sns--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  list-style-type: none;
}
.header .sns--list + .sns--list {
  padding-block-start: 20px;
}
.header .sns--list li {
  width: min(14%, 50px);
}

/*------------------------
footer
-------------------------*/
.footer {
  padding-block: 40px;
  border-top: 2px solid #02b1e3;
}
.footer--inner {
  margin-inline: auto;
}
.footer--nav {
  display: flex;
  list-style-type: none;
}
.footer--nav.footer--nav-primary {
  row-gap: 7px;
  flex-direction: column;
  flex-wrap: wrap;
  color: #02b1e3;
  font-weight: 700;
}
.footer--nav.footer--nav-second {
  display: flex;
  -moz-column-gap: 18px;
       column-gap: 18px;
  justify-content: center;
  color: #02b1e3;
  font-weight: 700;
  font-size: clamp(0.938rem, 0.909rem + 0.121vw, 1rem);
}
.footer--nav.footer--nav-second > li + li {
  padding-inline-start: 18px;
  border-left: 2px solid;
}
.footer--copy {
  padding-block-start: 30px;
  font-size: clamp(0.625rem, 0.568rem + 0.242vw, 0.75rem);
  text-align: center;
}

/*------------------------
main
-------------------------*/
.main {
  width: 100%;
}

.layout1 {
  display: flex;
}
.layout1 .left {
  width: 100%;
}

.layout2 {
  display: flex;
  flex-direction: column;
}
.layout2 .left {
  width: 100%;
}
.layout2 .right {
  margin-inline: clamp(1.25rem, 0.966rem + 1.212vw, 1.875rem);
  line-height: 1.75;
  letter-spacing: 0.0008em;
}

.hero {
  width: 100%;
  text-align: center;
}
.hero img {
  vertical-align: top;
}
.hero video {
  width: 100%;
}
.hero--date {
  padding-inline: 20px;
  padding-block: 30px;
}

.hero2 {
  height: 100svh;
  background-image: url(../img/hero_sp.webp);
  background-position: top;
  background-size: cover;
  background-repeat: no-repeat;
  text-align: center;
}
.hero2--pc {
  z-index: 1;
  position: relative;
  padding-block-start: 2em;
}

.gakuhama--img {
  display: block;
  width: 100%;
}
.gakuhama--cotents {
  margin-inline: 20px;
  padding-block-start: clamp(3.125rem, 2.273rem + 3.636vw, 5rem);
  padding-block-end: clamp(5rem, 4.432rem + 2.424vw, 6.25rem);
}
.gakuhama--title {
  padding-block-end: 20px;
  color: #02b1e3;
  font-weight: 700;
  font-size: 30px;
}
.gakuhama--text {
  line-height: 1.75;
}
.gakuhama--text + .gakuhama--title {
  padding-block-start: 50px;
}
.gakuhama .card {
  position: relative;
  width: 33.3333333333%;
  width: 267px;
  height: 377px;
  border-radius: 0 40px;
  background: #D8E6F3;
  background-image: url(../img/gakuhama_bg.png);
  background-position: top;
  background-size: contain;
  background-repeat: no-repeat;
}
.gakuhama .card--wrapper {
  display: flex;
  row-gap: 30px;
  flex-direction: column;
  align-items: center;
}
.gakuhama .card--title {
  position: absolute;
  top: 2.143em;
  margin-left: -2em;
}
.gakuhama .card--title span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  padding-inline: 6px;
  background: #02b1e3;
  color: #fff;
  font-weight: 700;
  font-size: 20px;
  line-height: 36px;
}
.gakuhama .card--title span + span {
  margin-block-start: 6px;
}
.gakuhama .card--title span.gray {
  background: #3B3B3B;
}
.gakuhama .card--text {
  position: absolute;
  right: -2em;
  bottom: 2.143em;
  padding-left: 2em;
  font-size: 14px;
  line-height: 1.7857142857;
  letter-spacing: 0.0007em;
}

.outline--heading,
.prize--heading,
.image--heading,
.submit--heading,
.schedule--heading,
.apply--heading,
.choose--heading,
.recommend--heading {
  background: rgb(255, 197, 147);
  background: linear-gradient(90deg, rgb(118, 220, 2249) 0%, rgb(118, 249, 223) 100%);
}
.outline--body {
  padding-block: 50px 80px;
}
.prize--body {
  padding-block-start: 50px;
  padding-block-end: 80px;
}
.prize .prize--list {
  grid-area: prize--list;
}
.prize .prize--note {
  grid-area: prize--note;
}
.prize .prize--img {
  grid-area: prize--img;
}
.prize .member {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
}
.prize .member--img {
  position: relative;
  width: 100%;
  max-width: 50%;
  cursor: pointer;
}
.prize .member--img img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.prize .member--mask {
  display: flex; /* テキストの中央揃え */
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  align-items: flex-end;
  justify-content: center; /* テキストの中央揃え */
  width: 100%;
  height: auto;
  padding-block-end: 2em;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5); /* マスクの色(黒の50%) */
  font-size: 15px;
  opacity: 0; /* 最初は透明(非表示) */
  transition: opacity 0.6s ease; /* ゆっくりopacityのみへ変化させる */
}
.prize .member--mask:hover {
  opacity: 1; /* hoverしたら透過しない(表示させる) */
}
.prize .member--mask p {
  width: 80%; /* テキストを横幅いっぱいにならないようにする */
  text-align: center;
}
.prize .member--mask p span {
  font-weight: 700;
}
.prize .ambassador {
  display: flex;
  flex-direction: column;
  max-width: 710px;
  padding: clamp(1.25rem, 0.966rem + 1.212vw, 1.875rem);
  gap: 15px 30px;
  background-color: #F8F7FC;
}
.prize .ambassador--img {
  text-align: center;
}
.prize .ambassador--text {
  font-size: clamp(0.875rem, 0.818rem + 0.242vw, 1rem);
}
.prize .ambassador--position {
  margin-block-start: 5px;
  font-size: clamp(0.75rem, 0.636rem + 0.485vw, 1rem);
}
.prize .ambassador--name {
  font-weight: 700;
  font-size: clamp(1rem, 0.943rem + 0.242vw, 1.125rem);
}
.image--body {
  padding-block-start: 50px;
  padding-block-end: 80px;
}
.image .youtube {
  display: flex;
  flex-direction: column;
  gap: 30px 20px;
  list-style-type: none;
}
.image .youtube > li {
  aspect-ratio: 9/16;
  width: 100%;
}
.image .youtube > li > iframe {
  width: 100%;
  height: 100%;
}
.image .episode + h4 {
  padding-inline-end: 16px;
}
.submit--body {
  padding-block-start: 50px;
  padding-block-end: 80px;
}
.schedule--body {
  padding-block-start: 50px;
  padding-block-end: 80px;
}
.schedule--img {
  text-align: center;
}
.schedule--url {
  color: #3B3B3B;
  word-break: break-all;
  cursor: pointer;
}
.apply--body {
  padding-block-start: 50px;
  padding-block-end: 64px;
}
.apply--list {
  counter-reset: section;
}
.apply--list details {
  transition: 0.6s;
}
.apply--list details[open] {
  height: auto;
  word-break: break-all;
}
.apply--list details[open] summary::after {
  transform: rotate(225deg);
}
.apply--list details p:last-child {
  padding-block-end: 16px;
}
.apply--list summary {
  display: flex;
  align-items: center;
  padding-block-end: 16px;
  font-weight: 700;
  font-size: 19px;
  cursor: pointer;
}
.apply--list summary::before {
  margin-inline-end: 10px;
  content: counter(section) "";
  font-size: 20px;
  counter-increment: section;
}
.apply--list summary::after {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-top: 3px;
  margin-left: 20px;
  transform: translateY(-25%) rotate(45deg);
  border-right: 2px solid;
  border-bottom: 2px solid;
  content: "";
  transition: transform 0.3s;
}
.apply--list p {
  padding-inline-start: 1em;
  text-indent: -1em;
}
.apply--list p::before {
  margin-inline-end: 5px;
  content: "・";
}
.apply--list p + p {
  padding-block-start: 4px;
}
.apply--list span {
  display: block;
  padding-inline-start: 1em;
  text-indent: -1em;
}
.apply--list span::before {
  content: "・";
}
.choose--body {
  padding-block-start: 50px;
  padding-block-end: 80px;
}
.choose .heading3::before {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-inline-end: 12px;
  border: solid 3px;
  border-radius: 50%;
  content: "";
}
.recommend--body {
  padding-block-start: 50px;
  padding-block-end: 80px;
}
.recommend--img {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.recommend .layout2--text {
  font-weight: 700;
}


/*------------------------
2025.4.23　追加（村田）
-------------------------*/

.entry-button{
    height: 80px;
    width:300px;
    background: linear-gradient(180deg, rgb(2, 177, 277) 30%, rgb(50, 232, 248) 100%);
    border-radius: 10px;
    margin:20px;
    padding:10px;
    box-shadow:3px 3px 10px rgba(0,0,0,0.2);
    font-size: 1.5em;
    align-content: center;
    font-weight: 600;
    color:#fff;
}

.entry-button:hover{
    opacity: 70%;
}

.fadein {
  opacity : 0;
  transform: translateY(30px);
  transition: all 1s;
}


.name-container{
    justify-content: center; 
    text-align: center;
    }
    
.theme{
    font-weight: 600;
    font-size: 2.5em;
    }

.name{
    font-weight: 400;
    font-size: 1.5em;
    }    

.suffix{
    font-size: 1.5em;
    }
    
.honsen_box{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    width: 100%;
    height: auto;
    margin: 0 auto;
    padding: 0;
    }
    
.honsendouga{
    width: 800;
    height: 450;
    }

.honsendouga2{
    display: none;
    }

.space{
    height: 60px;
    width: 100%;
    background-color: #fff;
    }

.jusyou{
    margin-inline: 20px;
    padding-block-start: clamp(3.125rem,2.273rem + 3.636vw,5rem);
    padding-block-end: clamp(5rem,4.432rem + 2.424vw,6.25rem)
}

.grandprix{
    display: block;
    margin: 80px auto 0px auto;
    padding: 0 20px;
    width: 100%;
    max-width: 600px;
    }

@media screen and (min-width: 500px) {    
.honsendouga{
    width: 400px;
    height: 225px;
    margin:20px;
    }
.honsendouga2{
    display: block;
    width: 400px;
    height: 225px;
    margin:20px;
    }
    }
@media screen and (min-width: 768px) {
    .entry-movie-box-title{
        font-size: 26px;
    }
}
@media screen and (max-width: 780px) {
   .entry-movie-text{
        display: none;
    }
	 .play-btn{
	font-size: 300%;
}
}


/*------------------------
 mediaクエリ
-------------------------*/
@media screen and (max-width: 1200px) {
  .pc-none {
    display: none;
  }
  .pc-block {
    display: block;
  }
}
@media screen and (max-width: 992px) {
  .tb-none {
    display: none;
  }
  .tb-block {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  a[href*="tel:"] {
    pointer-events: initial;
  }
  .sp-none {
    display: none;
  }
  .sp-block {
    display: block;
  }
  .mt-sp-0 {
    margin-top: 0px !important;
  }
  .mr-sp-0 {
    margin-right: 0px !important;
  }
  .mb-sp-0 {
    margin-bottom: 0px !important;
  }
  .ml-sp-0 {
    margin-left: 0px !important;
  }
  .mt-sp-5 {
    margin-top: 5px !important;
  }
  .mr-sp-5 {
    margin-right: 5px !important;
  }
  .mb-sp-5 {
    margin-bottom: 5px !important;
  }
  .ml-sp-5 {
    margin-left: 5px !important;
  }
  .mt-sp-10 {
    margin-top: 10px !important;
  }
  .mr-sp-10 {
    margin-right: 10px !important;
  }
  .mb-sp-10 {
    margin-bottom: 10px !important;
  }
  .ml-sp-10 {
    margin-left: 10px !important;
  }
  .mt-sp-15 {
    margin-top: 15px !important;
  }
  .mr-sp-15 {
    margin-right: 15px !important;
  }
  .mb-sp-15 {
    margin-bottom: 15px !important;
  }
  .ml-sp-15 {
    margin-left: 15px !important;
  }
  .mt-sp-20 {
    margin-top: 20px !important;
  }
  .mr-sp-20 {
    margin-right: 20px !important;
  }
  .mb-sp-20 {
    margin-bottom: 20px !important;
  }
  .ml-sp-20 {
    margin-left: 20px !important;
  }
  .mt-sp-25 {
    margin-top: 25px !important;
  }
  .mr-sp-25 {
    margin-right: 25px !important;
  }
  .mb-sp-25 {
    margin-bottom: 25px !important;
  }
  .ml-sp-25 {
    margin-left: 25px !important;
  }
  .mt-sp-30 {
    margin-top: 30px !important;
  }
  .mr-sp-30 {
    margin-right: 30px !important;
  }
  .mb-sp-30 {
    margin-bottom: 30px !important;
  }
  .ml-sp-30 {
    margin-left: 30px !important;
  }
  .mt-sp-35 {
    margin-top: 35px !important;
  }
  .mr-sp-35 {
    margin-right: 35px !important;
  }
  .mb-sp-35 {
    margin-bottom: 35px !important;
  }
  .ml-sp-35 {
    margin-left: 35px !important;
  }
  .mt-sp-40 {
    margin-top: 40px !important;
  }
  .mr-sp-40 {
    margin-right: 40px !important;
  }
  .mb-sp-40 {
    margin-bottom: 40px !important;
  }
  .ml-sp-40 {
    margin-left: 40px !important;
  }
  .mt-sp-45 {
    margin-top: 45px !important;
  }
  .mr-sp-45 {
    margin-right: 45px !important;
  }
  .mb-sp-45 {
    margin-bottom: 45px !important;
  }
  .ml-sp-45 {
    margin-left: 45px !important;
  }
  .mt-sp-50 {
    margin-top: 50px !important;
  }
  .mr-sp-50 {
    margin-right: 50px !important;
  }
  .mb-sp-50 {
    margin-bottom: 50px !important;
  }
  .ml-sp-50 {
    margin-left: 50px !important;
  }
  .pt-sp-0 {
    padding-top: 0px !important;
  }
  .pr-sp-0 {
    padding-right: 0px !important;
  }
  .pb-sp-0 {
    padding-bottom: 0px !important;
  }
  .pl-sp-0 {
    padding-left: 0px !important;
  }
  .p-sp-0 {
    padding: 0px !important;
  }
  .px-sp-0 {
    padding-right: 0px !important;
    padding-left: 0px !important;
  }
  .py-sp-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
  }
  .pt-sp-10 {
    padding-top: 10px !important;
  }
  .pr-sp-10 {
    padding-right: 10px !important;
  }
  .pb-sp-10 {
    padding-bottom: 10px !important;
  }
  .pl-sp-10 {
    padding-left: 10px !important;
  }
  .p-sp-10 {
    padding: 10px !important;
  }
  .px-sp-10 {
    padding-right: 10px !important;
    padding-left: 10px !important;
  }
  .py-sp-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
  .pt-sp-20 {
    padding-top: 20px !important;
  }
  .pr-sp-20 {
    padding-right: 20px !important;
  }
  .pb-sp-20 {
    padding-bottom: 20px !important;
  }
  .pl-sp-20 {
    padding-left: 20px !important;
  }
  .p-sp-20 {
    padding: 20px !important;
  }
  .px-sp-20 {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
  .py-sp-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
  .pt-sp-30 {
    padding-top: 30px !important;
  }
  .pr-sp-30 {
    padding-right: 30px !important;
  }
  .pb-sp-30 {
    padding-bottom: 30px !important;
  }
  .pl-sp-30 {
    padding-left: 30px !important;
  }
  .p-sp-30 {
    padding: 30px !important;
  }
  .px-sp-30 {
    padding-right: 30px !important;
    padding-left: 30px !important;
  }
  .py-sp-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
  }
  .pt-sp-40 {
    padding-top: 40px !important;
  }
  .pr-sp-40 {
    padding-right: 40px !important;
  }
  .pb-sp-40 {
    padding-bottom: 40px !important;
  }
  .pl-sp-40 {
    padding-left: 40px !important;
  }
  .p-sp-40 {
    padding: 40px !important;
  }
  .px-sp-40 {
    padding-right: 40px !important;
    padding-left: 40px !important;
  }
  .py-sp-40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  .pt-sp-50 {
    padding-top: 50px !important;
  }
  .pr-sp-50 {
    padding-right: 50px !important;
  }
  .pb-sp-50 {
    padding-bottom: 50px !important;
  }
  .pl-sp-50 {
    padding-left: 50px !important;
  }
  .p-sp-50 {
    padding: 50px !important;
  }
  .px-sp-50 {
    padding-right: 50px !important;
    padding-left: 50px !important;
  }
  .py-sp-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  .pt-sp-60 {
    padding-top: 60px !important;
  }
  .pr-sp-60 {
    padding-right: 60px !important;
  }
  .pb-sp-60 {
    padding-bottom: 60px !important;
  }
  .pl-sp-60 {
    padding-left: 60px !important;
  }
  .p-sp-60 {
    padding: 60px !important;
  }
  .px-sp-60 {
    padding-right: 60px !important;
    padding-left: 60px !important;
  }
  .py-sp-60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  .pt-sp-70 {
    padding-top: 70px !important;
  }
  .pr-sp-70 {
    padding-right: 70px !important;
  }
  .pb-sp-70 {
    padding-bottom: 70px !important;
  }
  .pl-sp-70 {
    padding-left: 70px !important;
  }
  .p-sp-70 {
    padding: 70px !important;
  }
  .px-sp-70 {
    padding-right: 70px !important;
    padding-left: 70px !important;
  }
  .py-sp-70 {
    padding-top: 70px !important;
    padding-bottom: 70px !important;
  }
  .pt-sp-80 {
    padding-top: 80px !important;
  }
  .pr-sp-80 {
    padding-right: 80px !important;
  }
  .pb-sp-80 {
    padding-bottom: 80px !important;
  }
  .pl-sp-80 {
    padding-left: 80px !important;
  }
  .p-sp-80 {
    padding: 80px !important;
  }
  .px-sp-80 {
    padding-right: 80px !important;
    padding-left: 80px !important;
  }
  .py-sp-80 {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
  .header--logo {
    display: none;
  }
  .header .header--nav {
    display: none;
    visibility: visible;
    z-index: 9;
    position: fixed;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100vh;
    padding-top: 60px;
    background-color: #02b1e3;
    transition: 0.4s;
  }
  .header .header--nav.is-active {
    display: block;
    left: 0;
  }
  .header .gnav {
    padding-block-start: 25px;
  }
  .header .btn-entry {
    display: none;
  }
  .header .sns--list + .sns--list {
    padding-block-start: 10px;
  }
  .footer--logo {
    text-align: center;
  }
  .layout2 .left {
    padding: 33px 20px;
  }
  .recommend--img > img {
    width: 100%;
  }
}
@media not all and (max-width: 768px) {
  .btn {
    max-width: 252px;
  }
  .heading1 {
    font-size: 19px;
    font-size: clamp(0.938rem, 0.493rem + 0.926vw, 1.188rem);
  }
  .heading1 .border {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    white-space: nowrap;
  }
  .heading1 .border:before {
    display: inline-block;
    width: 7em;
    margin-inline-end: 7px;
    padding-bottom: 4px;
    border-top: 1px solid;
    content: "";
    vertical-align: middle;
  }
  .heading1 .deco {
    top: -1.8em;
    right: -1em;
    left: auto;
  }
  .heading2 {
    padding: 8px 6px;
    font-size: 19px;
  }
  .heading4 {
    text-align: left;
  }
  .harucole {
    display: flex;
  }
  .header {
    display: block;
    z-index: 1;
    position: sticky;
    top: 0;
    left: 0;
    width: min(35%, 312px); /* 任意の幅 */
    height: 100vh; /* 全画面の高さ */
    overflow: auto;
    border-right: 2px solid #02b1e3;
    background: #fff;
  }
  .header .hamburger--wrap {
    display: none;
  }
  .header .gnav--link {
    color: #02b1e3;
  }
  .header .gnav--link.is-current {
    color: #3B3B3B;
  }
  .header .gnav--link:after {
    background-image: url(../img/nav_arrow_pc.svg);
  }
  .header .gnav--link.is-active::after {
    background-image: url(../img/nav_arrow_pc_open.svg);
  }
  .header .accordion--link {
    color: #02b1e3;
  }
  .header .accordion--link.is-current {
    color: #3B3B3B;
  }
  .header .accordion--link:after {
    background-image: url(../img/nav_arrow_child_pc.svg);
  }
  .footer--nav.footer--nav-primary {
    flex-direction: row;
  }
  .footer--nav.footer--nav-primary > li {
    width: 50%;
  }
  .footer--copy {
    padding-block-start: 20px;
  }
  .main {
    width: calc(100% - min(35%, 312px));
  }
  .layout1 .left {
    width: calc(100% - max(10%, 75px));
  }
  .layout1 .right {
    width: max(10%, 75px);
    border-radius: 0 0 0 80px;
    background: rgb(255, 0, 104);
    background: linear-gradient(150deg, rgb(2, 177, 277) 30%, rgb(50, 232, 248) 100%);
  }
  .layout2 {
    flex-direction: row;
  }
  .layout2 .left {
    width: 260px;
    width: min(40%, 260px);
    padding-inline-end: 30px;
  }
  .layout2 .right {
    width: calc(100% - min(25%, 260px));
    max-width: 1000px;
  }
  .layout2--text {
    margin-inline-start: min(8%, 70px);
  }
  .hero--date {
    padding-block: 20px;
  }
  .hero2 {
    width: 100%;
    height: 590px;
    height: clamp(18.125rem, -15.208rem + 69.444vw, 36.875rem);
    background-image: url(../img/hero_bg.webp);
  }
  .gakuhama--cotents {
    max-width: 900px;
    margin-inline-start: auto;
    margin-inline-end: clamp(0.625rem, -27.5rem + 28.125vw, 6.25rem);
  }
  .gakuhama--title {
    font-size: 26px;
  }
  .gakuhama--text {
    margin-inline-start: 38px;
  }
  .gakuhama .card {
    width: 210px;
    height: 297px;
  }
  .gakuhama .card--wrapper {
    -moz-column-gap: clamp(2.5rem, 0.162rem + 3.667vw, 4.563rem);
         column-gap: clamp(2.5rem, 0.162rem + 3.667vw, 4.563rem);
    flex-direction: row;
    flex-wrap: wrap;
    padding-inline-start: clamp(2.188rem, -0.292rem + 3.889vw, 4.375rem);
  }
  .gakuhama .card--title span {
    top: 1.95em;
    font-size: 16px;
    line-height: 29px;
  }
  .gakuhama .card--title span + span {
    margin-block-start: 4px;
  }
  .gakuhama .card--text {
    bottom: 1.95em;
    font-size: 12px;
    line-height: 1.9166666667;
  }
  .outline--heading {
    padding-block-start: 150px;
    border-radius: 0 80px 0 0;
    background: rgb(255, 197, 149);
    background: linear-gradient(180deg, rgb(50, 232, 248) 0%, rgb(50, 248, 218) 100%);
  }
  .outline--body {
    padding-block: 150px 80px;
  }
  .prize--heading {
    background: rgb(255, 202, 171);
    background: linear-gradient(180deg, rgb(50, 248, 218) 0%, rgb(50, 248, 190) 100%);
  }
  .prize--body {
    padding-block-start: 0;
  }
  .prize .member {
    max-width: 890px;
  }
  .image--heading {
    background: rgb(255, 210, 221);
    background: linear-gradient(180deg, rgb(50, 248, 190) 0%, rgb(50, 248, 157) 100%);
  }
  .image--body {
    padding-block-start: 0;
  }
  .submit--heading {
    background: rgb(254, 213, 243);
    background: linear-gradient(180deg, rgb(50, 248, 157) 0%, rgb(50, 248, 134) 100%);
  }
  .submit--body {
    padding-block-start: 0;
  }
  .schedule--heading {
    background: rgb(255, 215, 252);
    background: linear-gradient(180deg, rgb(50, 248, 134) 0%, rgb(50, 248, 83) 100%);
  }
  .schedule--body {
    padding-block-start: 0;
  }
  .schedule--img {
    text-align: left;
  }
  .apply--heading {
    background: rgb(251, 215, 253);
    background: linear-gradient(180deg, rgb(50, 248, 134) 0%, rgb(162, 248, 50) 100%);
  }
  .apply--body {
    padding-block-start: 0;
  }
  .choose--heading {
    background: rgb(228, 216, 254);
    background: linear-gradient(180deg, rgb(162, 248, 50) 0%, rgb(204, 248, 50) 100%);
  }
  .choose--body {
    padding-block-start: 0;
  }
  .recommend--heading {
    background: rgb(223, 217, 255);
    background: linear-gradient(180deg, rgb(204, 248, 50) 0%, rgb(204, 248, 50) 100%);
  }
  .recommend--body {
    padding-block-start: 0;
  }
}
@media not all and (max-width: 1200px) {
  .prize .prize--img {
    margin-block-start: -6%;
  }
  .prize .ambassador {
    flex-direction: row;
    align-items: center;
  }
  .prize .ambassador--text {
    width: 59%;
  }
  .image .youtube {
    flex-direction: row;
    gap: 30px 60px;
  }
  .image .youtube > li {
    max-width: 186px;
  }
}
@media not all and (max-width: 992px) {
  .prize .member--img {
    width: 33.3333333333%;
    max-width: 236px;
  }
  .image .youtube > li {
    max-width: 340px;
  }
}
@media (hover: hover) {
  .btn {
    transition: 0.8s opacity;
  }
  .btn:hover {
    cursor: pointer;
    opacity: 0.8;
  }
  .btn:hover > .arrow {
    transform: translateX(5px);
  }
  .header .sns--link {
    transition: 0.8s opacity;
  }
  .header .sns--link:hover {
    cursor: pointer;
    opacity: 0.8;
  }
  .prize .member--img a {
    transition: 0.8s opacity;
  }
  .prize .member--img a:hover {
    cursor: pointer;
    opacity: 0.8;
  }
}