@charset "UTF-8";
@import url(https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;500;700;900&display=swap);
@import url(https://use.typekit.net/glv0sbx.css);
html {
  height: 100%;
  overflow-y: scroll;
  width: 100%;
}

body {
  height: 100%;
  margin: 0;
  overflow: visible;
  padding: 0;
  vertical-align: top;
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
  margin: 0;
}

p {
  margin: 0;
}

a img, img {
  border: 0;
  vertical-align: middle;
}

strong {
  font-style: normal;
  font-weight: bold;
}

small {
  font-size: 100%;
}

dd, dl, dt, li, ol, ul {
  margin: 0;
  padding: 0;
}

hr {
  background-color: #CCCCCC;
  border: 0;
  color: #CCCCCC;
  height: 1px;
  margin: 0;
  padding: 0;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
}

th {
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-align: left;
}

td {
  margin: 0;
  padding: 0;
}

blockquote, div, span {
  margin: 0;
  padding: 0;
}

pre {
  font-family: monospace;
  line-height: 1;
  margin: 0;
  padding: 0;
}

button {
  background: 0;
  border: 0;
  cursor: pointer;
  padding: 0;
  vertical-align: middle;
}

button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0;
  vertical-align: middle;
}

label {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

* html textarea {
  margin-top: -2px;
}

*:first-child + html textarea {
  margin-top: -2px;
}

abbr, acronym {
  border: 0;
}

address, caption, cite, code, dfn, em, var {
  font-style: normal;
  font-weight: normal;
}

caption {
  text-align: left;
}

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 1;
}

* + html code, * + html kbd, * + html pre, * + html samp, * + html tt {
  font-size: 108%;
}

q:after, q:before {
  content: "";
}

article, aside, audio, canvas, projects, figcaption, figure, footer, header, hgroup, mark, menu, nav, section, summary, time, video {
  background: transparent;
  border: 0;
  font-size: 100%;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

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

@media screen and (max-width: 1272px) { /**/ }
@media screen and (max-width: 767px) { /**/ }
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  background-color: #fff;
  color: #000;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 400;
  line-height: 1.5;
  word-break: break-all;
}
body * {
  box-sizing: border-box;
}

/* a */
a {
  color: #448aca;
  text-decoration: underline;
}
a:hover {
  color: #448aca;
  text-decoration: none;
}

/* img */
img {
  max-width: 100%;
}

.l-layout {
  background-color: #26282b;
  position: relative;
  width: 100%;
}

.l-header {
  background-color: #26282b;
  height: 75px;
  left: 0;
  position: fixed;
  top: 0;
  transform: translate(0%, -100%);
  transition: 0.3s;
  width: 100%;
  z-index: 49;
}
@media screen and (max-width: 767px) {
  .l-header {
    height: 10.9722222222vw;
  }
}
.l-header.-is-fixed {
  transform: translate(0%, 0%);
}
.l-header > div {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  height: 100%;
  padding-left: 61px;
}
@media screen and (max-width: 767px) {
  .l-header > div {
    justify-content: flex-start;
    padding-left: 0.5555555556vw;
  }
}
.l-header__logo img {
  height: 49px;
}
@media screen and (max-width: 767px) {
  .l-header__logo img {
    height: 9.4444444444vw;
  }
}
.l-header__btn-apply {
  display: none;
}
@media screen and (max-width: 767px) {
  .l-header__btn-apply {
    display: block;
    margin-right: 10.9722222222vw;
    margin-left: auto;
  }
  .l-header__btn-apply img {
    height: 10.9722222222vw;
  }
}

.l-btn-menu {
  background-color: #76583c;
  cursor: pointer;
  height: 75px;
  position: absolute;
  right: 24px;
  top: 30px;
  width: 75px;
  z-index: 49;
}
@media screen and (max-width: 767px) {
  .l-btn-menu {
    display: block;
    height: 10.9722222222vw;
    right: 0;
    top: 0;
    width: 10.9722222222vw;
  }
}
.l-btn-menu span {
  background-color: #fff;
  height: 6.6666666667%;
  left: 50%;
  position: absolute;
  transform: translate(-50%, -50%);
  width: 53.3333333333%;
}
.l-btn-menu span:nth-child(1) {
  top: 32%;
}
.l-btn-menu span:nth-child(2) {
  top: 50%;
}
.l-btn-menu span:nth-child(3) {
  top: 68%;
}
.l-btn-menu.-is-fixed {
  position: fixed;
  top: 0;
}

.l-btn-float {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translate(0%, -50%);
  z-index: 50;
}
@media screen and (max-width: 767px) {
  .l-btn-float {
    display: none;
  }
}

.l-nav {
  background-color: rgba(39, 39, 39, 0.9);
  display: none;
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 51;
}
.l-nav__inner {
  background-color: #fff;
  height: 100%;
  margin-left: auto;
  padding-top: 102px;
  width: 600px;
}
@media screen and (max-width: 767px) {
  .l-nav__inner {
    padding-top: 13.8888888889vw;
    width: 89.1666666667vw;
  }
}
.l-nav ul {
  box-shadow: 0 -1px 0 0 #d1d1d1;
  list-style: none;
  padding: 0;
}
.l-nav ul a {
  color: #444;
  display: block;
  font-size: 2.2rem;
  font-weight: 600;
  line-height: 1.2;
  padding-bottom: 18px;
  padding-top: 18px;
  padding-left: 73px;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .l-nav ul a {
    font-size: 4.1666666667vw;
    padding: 2.7777777778vw 0 2.7777777778vw 15.2777777778vw;
  }
}
.l-nav ul li {
  box-shadow: 0 1px 0 0 #d1d1d1;
}
.l-nav__btn-close {
  cursor: pointer;
  height: 75px;
  position: fixed;
  right: 32px;
  top: 0;
  width: 75px;
}
@media screen and (max-width: 767px) {
  .l-nav__btn-close {
    height: 10.9722222222vw;
    right: 0;
    width: 10.9722222222vw;
  }
}
.l-nav__btn-close::after {
  clip-path: polygon(23.39% 14.52%, 50% 41.13%, 76.6% 14.52%, 85.47% 23.39%, 58.86% 50%, 85.47% 76.61%, 76.6% 85.48%, 50% 58.87%, 23.39% 85.48%, 14.52% 76.61%, 41.13% 50%, 14.52% 23.39%);
  background-color: #383838;
  content: "";
  cursor: pointer;
  display: block;
  height: 75%;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 75%;
}

.u-display--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-display--sp {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .u-display--pc {
    display: none;
  }
}
.u-display--show {
  display: block !important;
}
.u-display--block {
  display: block !important;
}
.u-display--inline {
  display: inline !important;
}
.u-display--inline-block {
  display: inline-block !important;
}
.u-display--flex {
  display: flex !important;
}
.u-display--hide {
  display: none !important;
}

.p-information {
  background: url(../img/bg.jpg) 50% 50% no-repeat;
  background-size: cover;
  color: #fff;
  padding-inline: 24px;
  padding-bottom: 80px;
  padding-top: 48px;
}
@media screen and (max-width: 767px) {
  .p-information {
    padding-inline: 6.9444444444vw;
    padding-bottom: 9.7222222222vw;
    padding-top: 7.7777777778vw;
  }
}
.p-information__contents-inner {
  margin-inline: auto;
  width: min(100%, 830px);
}
.p-information__contents__date {
  align-items: baseline;
  display: flex;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .p-information__contents__date {
    justify-content: center;
  }
}
.p-information__contents__date > * {
  line-height: 10rem;
}
@media screen and (max-width: 767px) {
  .p-information__contents__date > * {
    line-height: 10.4166666667vw;
  }
}
.p-information__contents__date .num {
  font-family: "trajan-pro-3";
  font-size: min(9.3959731544vw, 8.4rem);
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-information__contents__date .num {
    font-size: 8.75vw;
  }
}
.p-information__contents__date .ls {
  letter-spacing: 0.2em;
  margin-left: 0.15em;
  margin-right: -0.15em;
}
.p-information__contents__date .txt {
  font-size: min(7.6062639821vw, 6.8rem);
  font-weight: 600;
  transform: translate(0%, -0.05em);
}
@media screen and (max-width: 767px) {
  .p-information__contents__date .txt {
    font-size: 7.0833333333vw;
  }
}
.p-information__contents__date .week {
  font-size: min(5.5928411633vw, 5rem);
  font-weight: 600;
  margin-inline: 0.2em;
  position: relative;
  text-align: center;
  transform: translate(0%, -0.1em);
  width: 1.34em;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-information__contents__date .week {
    font-size: 5.2083333333vw;
  }
}
.p-information__contents__date .week::after {
  aspect-ratio: 1/1;
  background-color: #cb0006;
  border-radius: 50%;
  content: "";
  display: block;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate(0%, -50%);
  width: 100%;
  z-index: -1;
}
.p-information__contents__date .week span {
  line-height: 1;
  position: relative;
  top: -0.1em;
}
.p-information__contents__deadline {
  align-items: baseline;
  background-color: #e8cb64;
  border-radius: 8px;
  color: #000000;
  display: flex;
  font-size: min(5.5928411633vw, 5rem);
  justify-content: center;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-information__contents__deadline {
    border-radius: 1.2222222222vw;
    font-size: 7.6388888889vw;
  }
}
.p-information__contents__deadline > * {
  line-height: 5rem;
}
@media screen and (max-width: 767px) {
  .p-information__contents__deadline > * {
    line-height: 7.6388888889vw;
  }
}
.p-information__contents__deadline .num {
  font-family: "trajan-pro-3";
  font-size: min(3.5794183445vw, 3.2rem);
}
@media screen and (max-width: 767px) {
  .p-information__contents__deadline .num {
    font-size: 4.8888888889vw;
  }
}
.p-information__contents__deadline .txt {
  font-size: min(3.0201342282vw, 2.7rem);
  transform: translate(0%, -0.05em);
}
@media screen and (max-width: 767px) {
  .p-information__contents__deadline .txt {
    font-size: 4.125vw;
  }
}
.p-information__contents__deadline .week {
  margin-left: -0.5em;
}
.p-information__contents__detail {
  font-size: min(2.6845637584vw, 2.4rem);
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .p-information__contents__detail {
    font-size: 3.6666666667vw;
  }
}
.p-information__contents__detail dl {
  display: flex;
}
.p-information__contents__detail dl dt {
  color: #e8cb64;
  font-weight: 600;
  line-height: 1.5em;
  width: 5em;
}
@media screen and (max-width: 767px) {
  .p-information__contents__detail dl dt span {
    margin-left: 1em;
  }
}
.p-information__contents__detail dl dd {
  color: #fff;
  line-height: 1.5em;
}
@media screen and (max-width: 767px) {
  .p-information__contents__detail dl:nth-child(2) {
    flex-direction: column;
  }
  .p-information__contents__detail dl:nth-child(2) dt {
    width: 100%;
  }
  .p-information__contents__detail dl:nth-child(2) dt br {
    display: none;
  }
  .p-information__contents__detail dl:nth-child(2) dd {
    font-size: 3.3333333333vw;
  }
}
.p-information__contents__detail dl + dl {
  margin-top: 0.6666666667em;
}
.p-information__contents__detail .num {
  font-family: "trajan-pro-3";
}
.p-information__contents__detail .txt {
  color: #e8cb64;
}
.p-information__contents__detail .small {
  font-size: min(2.0134228188vw, 1.8rem);
}
@media screen and (max-width: 767px) {
  .p-information__contents__detail .small {
    font-size: 2.75vw;
  }
}
.p-information__contents__btns {
  display: flex;
  gap: 30px;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-information__contents__btns {
    flex-direction: column;
    gap: 4.4444444444vw;
    margin-top: 5.5555555556vw;
  }
}
.p-information__contents__btns > * {
  align-items: flex-start;
  border-radius: 16px;
  color: #fff;
  display: flex;
  font-size: min(3.355704698vw, 3rem);
  justify-content: center;
  height: 4.6666666667em;
  flex-direction: column;
  padding-left: 4.3em;
  position: relative;
  text-decoration: none;
  transition: 0.3s;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-information__contents__btns > * {
    border-radius: 2vw;
    font-size: 5vw;
    height: 19.4444444444vw;
    padding-left: 19.3055555556vw;
  }
}
.p-information__contents__btns > *:hover {
  color: #fff;
  opacity: 0.5;
}
.p-information__contents__btns > *::after {
  aspect-ratio: 1/1;
  background-position: 0% 0%;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
}
.p-information__contents__btns > *:nth-child(1) {
  background: #eb6503;
}
.p-information__contents__btns > *:nth-child(1)::after {
  background-image: url(../img/img-information-btn-01.png);
}
.p-information__contents__btns > *:nth-child(2) {
  background: #004ccb;
}
.p-information__contents__btns > *:nth-child(2)::after {
  background-image: url(../img/img-information-btn-02.png);
}
.p-information__contents__btns > * > span {
  font-weight: 600;
}
.p-information__contents__btns > * > span:nth-child(2) {
  font-size: min(2.6845637584vw, 2.4rem);
}
@media screen and (max-width: 767px) {
  .p-information__contents__btns > * > span:nth-child(2) {
    font-size: 3.75vw;
  }
}

.p-about {
  background: linear-gradient(to top, #e2bf00 0%, #ffea00 100%);
  margin-top: 20px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about {
    margin-top: 3.3333333333vw;
  }
}
.p-about__item {
  height: min(45.9183673469vw, 540px);
  overflow: hidden;
  padding-inline: min(8.1632653061vw + 59px, 155px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-about__item {
    height: 86.1111111111vw;
    padding-left: 11.9444444444vw;
    padding-right: 10.2777777778vw;
  }
}
.p-about__item-inner {
  margin-inline: auto;
  position: relative;
  width: min(100%, 850px);
  z-index: 3;
}
.p-about__item--first {
  padding-top: min(3.4013605442vw, 40px);
}
.p-about__item--first::before {
  aspect-ratio: 494/467;
  background: url(../img/bg-slider-first-01.png);
  background-size: 100% 100%;
  content: "";
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(38.59375vw, 494px);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about__item--first::before {
    top: 45%;
    width: 68.6111111111vw;
  }
}
.p-about__item--first::after {
  aspect-ratio: 504/451;
  background: url(../img/bg-slider-first-02.png);
  background-size: 100% 100%;
  bottom: 17px;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: min(39.375vw, 504px);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-about__item--first::after {
    bottom: -5.5555555556vw;
    right: -8.3333333333vw;
    width: 62.9166666667vw;
  }
}
.p-about__item--first .txt-01 {
  color: #76583c;
  font-size: min(3.5714285714vw, 4.2rem);
  font-weight: 700;
  line-height: 1.4285714286em;
}
@media screen and (max-width: 767px) {
  .p-about__item--first .txt-01 {
    font-size: 5.8333333333vw;
    white-space: nowrap;
  }
}
.p-about__item--first .txt-02 {
  color: #000;
  font-size: min(2.5510204082vw, 3rem);
  font-weight: 700;
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .p-about__item--first .txt-02 {
    font-size: 4.1666666667vw;
    margin-top: 3.3333333333vw;
  }
}
.p-about__item--first .txt-03 {
  color: #000;
  font-size: min(1.5306122449vw, 1.8rem);
  line-height: 1.7777777778em;
  margin-top: 0.8888888889em;
}
@media screen and (max-width: 767px) {
  .p-about__item--first .txt-03 {
    font-size: 3.0555555556vw;
    margin-top: 2.2222222222vw;
  }
}
.p-about__item--example {
  padding-top: min(5.4421768707vw, 64px);
}
@media screen and (max-width: 767px) {
  .p-about__item--example {
    padding-top: 3.3333333333vw;
  }
}
.p-about__item--example::before {
  aspect-ratio: 534/505;
  background: url(../img/bg-slider-example-01.png);
  background-size: 100% 100%;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  right: 0;
  width: min(41.71875vw, 534px);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about__item--example::before {
    right: -5vw;
    width: 55.5555555556vw;
  }
}
.p-about__item--example .txt-01 {
  color: #000;
  font-size: min(2.5510204082vw, 3rem);
  font-weight: 700;
  margin-bottom: 1.6em;
}
@media screen and (max-width: 767px) {
  .p-about__item--example .txt-01 {
    font-size: 4.1666666667vw;
    margin-bottom: 3.3333333333vw;
    text-align: center;
  }
}
.p-about__item--example .txt-02 {
  color: #000;
  font-size: min(1.7006802721vw, 2rem);
  font-weight: 700;
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .p-about__item--example .txt-02 {
    font-size: 3.3333333333vw;
    margin-top: 4.4444444444vw;
  }
}
.p-about__item--example .txt-03 {
  color: #000;
  font-size: min(1.5306122449vw, 1.8rem);
  line-height: 1.7777777778em;
  margin-top: 0.2222222222em;
}
@media screen and (max-width: 767px) {
  .p-about__item--example .txt-03 {
    font-size: 3.0555555556vw;
    margin-top: 0.5555555556vw;
  }
}
.p-about__item--challenge {
  padding-top: min(2.0408163265vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-about__item--challenge {
    padding-top: 4.4444444444vw;
  }
}
.p-about__item--challenge .txt-01 {
  color: #000;
  font-size: min(2.5510204082vw, 3rem);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__item--challenge .txt-01 {
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 767px) {
  .p-about__item--challenge-02 .p-about-challenge {
    margin-top: 16.6666666667vw !important;
  }
}
.p-about__item--last {
  padding-top: min(2.0408163265vw, 24px);
}
@media screen and (max-width: 767px) {
  .p-about__item--last {
    padding-top: 4.4444444444vw;
  }
}
.p-about__item--last .txt-01 {
  color: #000;
  font-size: min(2.5510204082vw, 3rem);
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__item--last .txt-01 {
    font-size: 4.1666666667vw;
  }
}
.p-about__item--last .txt-02 {
  color: #000;
  font-size: min(1.5306122449vw, 1.8rem);
  line-height: 1.7777777778em;
  margin-top: 7.2222222222em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__item--last .txt-02 {
    font-size: 3.0555555556vw;
    margin-top: 2.2222222222vw;
  }
}
.p-about__item--last .btn {
  cursor: pointer;
  font-size: min(1.8707482993vw, 2.2rem);
  line-height: 2.7272727273em;
  margin-top: 1.8181818182em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__item--last .btn {
    font-size: 3.3333333333vw;
    line-height: 8.3333333333vw;
    margin-top: 2.2222222222vw;
  }
}
.p-about__item--last .btn a {
  background-color: #004ccb;
  border-radius: 100vh;
  color: #fff;
  display: inline-block;
  text-align: center;
  transition: 0.3s;
  padding-inline: 1.8181818182em;
  text-decoration: none;
}
.p-about__item--last .btn a:hover {
  color: #fff;
  opacity: 0.5;
}
.p-about .slick-btn-prev,
.p-about .slick-btn-next {
  cursor: pointer;
  height: min(8.1632653061vw, 96px);
  position: absolute;
  top: 50%;
  transition: 0.3s;
  width: min(8.1632653061vw, 96px);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-about .slick-btn-prev,
  .p-about .slick-btn-next {
    height: 11.1111111111vw;
    width: 11.1111111111vw;
  }
}
.p-about .slick-btn-prev::after,
.p-about .slick-btn-next::after {
  clip-path: polygon(40.47% 14.53%, 75.95% 50%, 40.47% 85.47%, 31.61% 76.61%, 58.4% 50%, 31.61% 23.39%);
  background-color: #76583c;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.p-about .slick-btn-prev.slick-disabled,
.p-about .slick-btn-next.slick-disabled {
  opacity: 0;
}
.p-about .slick-btn-prev {
  left: 59px;
  transform: translate(0%, -50%) scale(-1, 1);
}
@media screen and (max-width: 767px) {
  .p-about .slick-btn-prev {
    left: 0;
  }
}
.p-about .slick-btn-next {
  right: 59px;
  transform: translate(0%, -50%);
}
@media screen and (max-width: 767px) {
  .p-about .slick-btn-next {
    right: 0;
  }
}

.p-about-challenge {
  margin-top: 0.4em;
}
@media screen and (max-width: 767px) {
  .p-about-challenge {
    margin-top: 3.3333333333vw;
  }
}
.p-about-challenge__txt-01 {
  color: #000;
  font-size: min(1.7006802721vw, 2rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-about-challenge__txt-01 {
    font-size: 3.3333333333vw;
  }
}
.p-about-challenge__txt-02 {
  color: #000;
  font-size: min(1.5306122449vw, 1.8rem);
  line-height: 1.7777777778em;
  margin-top: 0.2222222222em;
}
@media screen and (max-width: 767px) {
  .p-about-challenge__txt-02 {
    font-size: 3.0555555556vw;
    margin-top: 0.5555555556vw;
  }
}
.p-about-challenge__btn {
  background-color: #76583c;
  color: #fff;
  cursor: pointer;
  font-size: min(1.5306122449vw, 1.8rem);
  line-height: 2.7777777778em;
  margin-top: 0.8888888889em;
  text-align: center;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .p-about-challenge__btn {
    font-size: 3.0555555556vw;
    line-height: 6.9444444444vw;
    margin-top: 2.2222222222vw;
  }
}
.p-about-challenge__btn:hover {
  color: #fff;
  opacity: 0.5;
}
.p-about-challenge__btn.is-opened {
  background-color: #fff;
  color: #000;
}
.p-about-challenge__btn.is-opened span {
  color: #76583c;
}
.p-about-challenge__btn.is-opened:hover {
  opacity: 1;
}

.p-about-challenge + .p-about-challenge {
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  .p-about-challenge + .p-about-challenge {
    margin-top: 5.5555555556vw;
  }
}

.p-benefits {
  background: linear-gradient(to top, #ede3d0 0%, #fff 100%);
  margin-top: 20px;
  overflow: hidden;
  padding-inline: 24px;
  padding-bottom: 20px;
  padding-top: 30px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-benefits {
    margin-top: 3.3333333333vw;
    padding-inline: 3.3333333333vw;
    padding-bottom: 2.7777777778vw;
    padding-top: 4.1666666667vw;
  }
}
.p-benefits::after {
  aspect-ratio: 641/522;
  background: url(../img/bg-benefits-01.png);
  background-size: 100% 100%;
  bottom: 0;
  content: "";
  display: block;
  position: absolute;
  right: min(2.1875vw, 28px);
  width: min(50.078125vw, 641px);
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-benefits::after {
    right: -2.7777777778vw;
    width: 89.0277777778vw;
  }
}
.p-benefits-inner {
  margin-inline: auto;
  position: relative;
  width: min(100%, 850px);
  z-index: 2;
}
.p-benefits__hd-01 {
  color: #76583c;
  font-size: 4.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-benefits__hd-01 {
    font-size: 5.8333333333vw;
  }
}
.p-benefits__hd-02 {
  color: #001fba;
  font-size: 3rem;
  font-weight: 700;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  .p-benefits__hd-02 {
    font-size: 4.1666666667vw;
    text-align: center;
  }
}
.p-benefits p {
  font-size: 1.8rem;
  margin-top: 0.4444444444em;
}
@media screen and (max-width: 767px) {
  .p-benefits p {
    font-size: 3.0555555556vw;
    text-align: center;
  }
}
.p-benefits figure {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
}
@media screen and (max-width: 767px) {
  .p-benefits figure {
    flex-direction: column;
    margin-top: 2.2222222222vw;
  }
}
.p-benefits figure > figure {
  align-items: center;
  flex-direction: column;
  justify-content: flex-start;
  width: 47.0588235294%;
}
@media screen and (max-width: 767px) {
  .p-benefits figure > figure {
    margin-top: 5.5555555556vw;
    width: 100%;
  }
  .p-benefits figure > figure:first-child {
    margin-top: 2.2222222222vw;
  }
}
.p-benefits figure > figure img {
  box-shadow: 2px 2px 8px rgba(118, 88, 60, 0.25);
}
@media screen and (max-width: 767px) {
  .p-benefits figure > figure img {
    width: 68.3333333333vw;
  }
}
.p-benefits figure > figure figcaption {
  font-size: 1.5rem;
  margin-top: 1.0666666667em;
}
@media screen and (max-width: 767px) {
  .p-benefits figure > figure figcaption {
    font-size: 2.7777777778vw;
  }
}
.p-benefits__txt-01 {
  font-size: 1.6rem;
  line-height: 2em;
  margin-top: 1.5em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-benefits__txt-01 {
    font-size: 2.5vw;
  }
}
.p-benefits__txt-01 span {
  color: #cb0000;
  font-weight: 600;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-benefits__txt-01 span {
    font-size: 3.3333333333vw;
  }
}

.p-venue {
  background: url(../img/bg-venue-01.jpg) 50% 50% no-repeat;
  background-size: cover;
  margin-top: 20px;
  padding-inline: 24px;
  padding-bottom: 40px;
  padding-top: 90px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-venue {
    background-image: url(../img/bg-venue-01@sp.jpg);
    margin-top: 3.3333333333vw;
    padding-left: 11.9444444444vw;
    padding-right: 0;
    padding-bottom: 5.1388888889vw;
    padding-top: 5.5555555556vw;
  }
}
.p-venue-inner {
  margin-inline: auto;
  position: relative;
  width: min(100%, 850px);
  z-index: 2;
}
.p-venue__hd-01 {
  color: #fff;
  font-size: 4.2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-venue__hd-01 {
    font-size: 5.8333333333vw;
  }
}
.p-venue__txt-01 {
  background-color: #ffee00;
  margin-top: 1.25em;
  padding: 0.5em;
  width: min(100%, 468px);
}
@media screen and (max-width: 767px) {
  .p-venue__txt-01 {
    margin-top: 3.3333333333vw;
    padding: 2.2222222222vw;
    white-space: nowrap;
    width: 48.6111111111vw;
  }
}
.p-venue__txt-01 p {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .p-venue__txt-01 p {
    font-size: 3.3333333333vw;
  }
}
.p-venue__txt-01__note {
  font-size: 1.6rem;
  line-height: 1.875em;
  padding-left: 1em;
  text-indent: -1em;
}
@media screen and (max-width: 767px) {
  .p-venue__txt-01__note {
    font-size: 2.5vw;
  }
}
.p-venue__txt-02 {
  background-color: #cc0000;
  color: #fff;
  font-size: 1.8rem;
  line-height: 1.5555555556em;
  margin-top: min(15.0984682713vw, 138px);
  padding: 0.4444444444em;
  width: min(100%, 468px);
}
@media screen and (max-width: 767px) {
  .p-venue__txt-02 {
    font-size: 3.0555555556vw;
    margin-top: 16.3888888889vw;
    padding: 2.2222222222vw;
    width: 67.7777777778vw;
  }
}
.p-venue__txt-02 span {
  color: #ffee00;
  font-size: 2rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-venue__txt-02 span {
    font-size: 3.3333333333vw;
  }
}

.p-message {
  background: linear-gradient(to top, #cdd4e0 0%, #fff 100%);
  margin-top: 20px;
  padding-top: 48px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-message {
    margin-top: 3.3333333333vw;
    padding-top: 4.1666666667vw;
  }
}
.p-message-inner {
  display: flex;
  justify-content: space-between;
  margin-inline: auto;
  position: relative;
  width: min(100%, 1152px);
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .p-message-inner {
    padding-bottom: 24.5833333333vw;
    flex-direction: column-reverse;
  }
}
.p-message-inner > figure {
  flex-shrink: 0;
  width: 38.9756944444%;
}
@media screen and (max-width: 767px) {
  .p-message-inner > figure {
    bottom: 0;
    left: 0;
    position: absolute;
    width: 42.5vw;
  }
}
.p-message-inner > figure img {
  width: 100%;
}
.p-message__contents {
  padding-right: 13.28125%;
  width: 59.0277777778%;
}
@media screen and (max-width: 767px) {
  .p-message__contents {
    padding-left: 11.6666666667vw;
    padding-right: 10.5555555556vw;
    width: 100%;
  }
}
.p-message__hd-01 {
  color: #76583c;
  font-size: min(3.595890411vw, 4.2rem);
  font-weight: 700;
  font-weight: 700;
  margin-bottom: 0.380952381em;
}
@media screen and (max-width: 767px) {
  .p-message__hd-01 {
    font-size: 5.8333333333vw;
    text-align: center;
  }
}
.p-message p {
  font-size: min(1.5410958904vw, 1.8rem);
  line-height: 1.7777777778em;
}
@media screen and (max-width: 767px) {
  .p-message p {
    font-size: 3.0555555556vw;
  }
}
.p-message__sign {
  margin-top: min(1.7123287671vw, 2rem);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-message__sign {
    margin-top: 13.8888888889vw;
  }
}
.p-message__sign p {
  display: inline-block;
  font-size: min(1.5410958904vw, 1.8rem);
  line-height: 1.6666666667em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-message__sign p {
    font-size: 3.0555555556vw;
  }
}
.p-message__sign p span {
  font-size: min(1.8835616438vw, 2.2rem);
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .p-message__sign p span {
    font-size: 3.75vw;
  }
}

.p-textbook {
  background: linear-gradient(to top, #e8cb64 0%, #fff4ce 100%);
  margin-top: 20px;
  padding-inline: 24px;
  padding-bottom: min(6.1269146608vw, 56px);
  padding-top: min(5.2516411379vw, 48px);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-textbook {
    margin-top: 3.3333333333vw;
    padding-bottom: 6.3888888889vw;
    padding-top: 4.1666666667vw;
    padding-inline: 10.1388888889vw;
  }
}
.p-textbook-inner {
  margin-inline: auto;
  position: relative;
  width: min(100%, 850px);
}
.p-textbook__hd-01 {
  color: #76583c;
  font-size: min(4.5951859956vw, 4.2rem);
  font-weight: 700;
  margin-bottom: 0.9523809524em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-textbook__hd-01 {
    font-size: 5.8333333333vw;
  }
}
.p-textbook__items .p-textbook-item {
  display: flex;
  justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item {
    gap: 5.4166666667vw;
    padding-bottom: 15vw;
  }
}
.p-textbook__items .p-textbook-item figure {
  flex-shrink: 0;
  width: 36.3529411765%;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item figure {
    width: 40.2777777778vw;
  }
}
.p-textbook__items .p-textbook-item figure img {
  box-shadow: 3px 3px 7px rgba(118, 88, 60, 0.35);
}
.p-textbook__items .p-textbook-item__contents {
  padding-top: 30px;
  width: 57.7647058824%;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item__contents {
    padding-top: 0;
    width: 100%;
  }
}
.p-textbook__items .p-textbook-item__title {
  font-size: min(3.9387308534vw, 3.6rem);
  font-weight: 600;
  line-height: 1.3888888889em;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item__title {
    font-size: 5.2777777778vw;
    line-height: 1.3684210526em;
  }
}
.p-textbook__items .p-textbook-item__txt-01 {
  font-size: min(2.6258205689vw, 2.4rem);
  font-weight: 500;
  margin-top: 0.6666666667em;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item__txt-01 {
    font-size: 3.1944444444vw;
  }
}
.p-textbook__items .p-textbook-item__txt-01 .price {
  font-size: min(3.0634573304vw, 2.8rem);
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item__txt-01 .price {
    font-size: 3.8888888889vw;
  }
}
.p-textbook__items .p-textbook-item__txt-01 .tax {
  font-size: min(2.4070021882vw, 2.2rem);
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item__txt-01 .tax {
    font-size: 2.9166666667vw;
    letter-spacing: -0.1em;
  }
}
.p-textbook__items .p-textbook-item p {
  font-size: min(1.9693654267vw, 1.8rem);
  line-height: 1.6666666667em;
  margin-top: 1.3333333333em;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item p {
    font-size: 3.0555555556vw;
  }
}
.p-textbook__items .p-textbook-item__txt-02 {
  margin-top: 3.2em;
}
.p-textbook__items .p-textbook-item__txt-02 a {
  background-color: #b70005;
  border-radius: 100vh;
  color: #fff;
  display: block;
  font-size: min(2.1881838074vw, 2rem);
  font-weight: 500;
  line-height: 2em;
  text-align: center;
  text-decoration: none;
  transition: 0.3s;
  width: 19em;
}
@media screen and (max-width: 767px) {
  .p-textbook__items .p-textbook-item__txt-02 a {
    bottom: 0;
    font-size: 3.3333333333vw;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 0%);
    width: 17.5em;
  }
}
.p-textbook__items .p-textbook-item__txt-02 a:hover {
  color: #fff;
  opacity: 0.5;
}

.p-faq {
  padding-bottom: 64px;
  padding-top: 40px;
  padding-inline: 24px;
}
@media screen and (max-width: 767px) {
  .p-faq {
    padding-bottom: 8.8888888889vw;
    padding-top: 5.5555555556vw;
    padding-inline: 3.3333333333vw;
  }
}
.p-faq__hd-01 {
  color: #e8cb64;
  font-size: 4.2rem;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-faq__hd-01 {
    font-size: 5.8333333333vw;
  }
}
.p-faq-inner {
  margin-inline: auto;
  width: min(100%, 1200px);
}
.p-faq__items {
  counter-reset: number;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p-faq__items {
    margin-top: 5.5555555556vw;
  }
}
.p-faq__items__item {
  background-color: #fff;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-faq__items__item {
    margin-top: 2.7777777778vw;
  }
}
.p-faq__items__item:first-child {
  margin-top: 0;
}
.p-faq__items__item dl dt {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  font-weight: 700;
  gap: 1.0416666667em;
  padding: 0.4166666667em 2.6666666667em 0.4166666667em 0.4166666667em;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-faq__items__item dl dt {
    font-size: 3.8888888889vw;
  }
}
.p-faq__items__item dl dt::before {
  align-items: center;
  aspect-ratio: 1/1;
  background: #e8cb64;
  content: "Q" counter(number);
  counter-increment: number;
  display: flex;
  flex-shrink: 0;
  font-weight: 700;
  justify-content: center;
  width: 2.5em;
}
.p-faq__items__item dl dt .icon {
  aspect-ratio: 1/1;
  display: block;
  position: absolute;
  right: 0.9166666667em;
  top: 0.9583333333em;
  width: 1.375em;
}
.p-faq__items__item dl dd {
  font-size: 1.8rem;
  line-height: 1.6666666667em;
}
@media screen and (max-width: 767px) {
  .p-faq__items__item dl dd {
    font-size: 3.3333333333vw;
  }
}
.p-faq__items__item dl dd > div {
  align-items: flex-start;
  display: flex;
  gap: 1.2777777778em;
  padding: 0.5555555556em 1.3333333333em 1.7777777778em 0.5555555556em;
}
.p-faq__items__item dl dd > div::before {
  color: #004ccb;
  content: "A";
  display: block;
  flex-shrink: 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4583333333em;
  text-align: center;
  width: 2.5em;
}
@media screen and (max-width: 767px) {
  .p-faq__items__item dl dd > div::before {
    font-size: 4.4444444444vw;
    width: 1.875em;
  }
}

.p-news {
  background-color: #fff;
  padding: 40px 24px 92px;
}
@media screen and (max-width: 767px) {
  .p-news {
    padding: 5.5555555556vw 3.3333333333vw;
  }
}
.p-news-inner {
  margin-inline: auto;
  width: min(100%, 1200px);
}
.p-news__hd-01 {
  border-bottom: 2px solid #383838;
  color: #383838;
  font-family: "trajan-pro-3";
  font-size: 2.7rem;
  font-weight: 600;
  line-height: 1;
  padding-bottom: 0.3703703704em;
}
@media screen and (max-width: 767px) {
  .p-news__hd-01 {
    font-size: 4.4444444444vw;
  }
}
.p-news dl {
  border-bottom: 1px solid #383838;
  display: flex;
  font-size: 1.8rem;
  gap: 1.3333333333em;
  padding-bottom: 0.8888888889em;
  padding-top: 0.8888888889em;
}
@media screen and (max-width: 767px) {
  .p-news dl {
    flex-direction: column;
    font-size: 3.3333333333vw;
    gap: 0;
  }
}
.p-news dl dt {
  font-size: 1.6rem;
  line-height: 1.6875em;
}
@media screen and (max-width: 767px) {
  .p-news dl dt {
    font-size: 3.3333333333vw;
  }
}
.p-news dl dd {
  line-height: 1.5em;
}
.p-news dl dd span {
  background-color: #cc0000;
  color: #fff;
  display: inline-block;
  font-size: 1.6rem;
  font-family: "trajan-pro-3";
  line-height: 1.25em;
  margin-left: 0.5em;
  text-align: center;
  width: 3.375em;
}
@media screen and (max-width: 767px) {
  .p-news dl dd span {
    font-size: 2.7777777778vw;
  }
}

.p-bnrs {
  margin-top: 70px;
  padding-inline: 24px;
}
@media screen and (max-width: 767px) {
  .p-bnrs {
    margin-top: 6.25vw;
    padding-inline: 6.25vw;
  }
}
.p-bnrs ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 17px;
  list-style: none;
}
@media screen and (max-width: 767px) {
  .p-bnrs ul {
    display: grid;
    gap: 2.5vw;
    grid-template-columns: 1fr 1fr;
  }
}
.p-bnrs ul img {
  width: 286px;
}

.p-organization {
  -moz-column-gap: 2em;
       column-gap: 2em;
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
  justify-content: center;
  padding-bottom: 56px;
  padding-top: 40px;
  row-gap: 0.75em;
}
@media screen and (max-width: 767px) {
  .p-organization {
    padding-bottom: 7.7777777778vw;
    padding-top: 12.5vw;
  }
}
.p-organization dl {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-organization dl {
    font-size: 3.0555555556vw;
  }
}
.p-organization dl dt {
  color: #e8cb64;
  font-size: 1.6rem;
  margin-right: 1em;
  line-height: 1.6875em;
}
@media screen and (max-width: 767px) {
  .p-organization dl dt {
    font-size: 2.7777777778vw;
  }
}
.p-organization dl dd {
  color: #fff;
  line-height: 1.5em;
}
/*# sourceMappingURL=style.css.map */