@charset "UTF-8";
/*!
global > color
------------------------------
*/
:root {
  --color-font-base: #000;
  --color-font-white: #ffffe7;
  --color-font-sub-main: #590c00;
  --color-font-error: #0046ff;
  --color-font-brown: #9e6100;
  --color-bg-base: #ffffe7;
  --color-bg-black: #000;
  --color-bg-brown-dark: #1d0c00;
  --color-bg-brown: #724b48;
  --color-bg-price: #590c00;
  --color-bg-warning: #680000;
  --color-bg-gray: #e0e0e0;
  --color-bg-top-kv-content: rgba(255, 255, 255, 0.71);
  --color-border-orange: #d87600;
  --color-main: #480000;
  --color-yellow: #ffc900;
  --color-white: #ffffff;
  --color-black: #000;
  --color-title-gradient-yellow:
      linear-gradient(to bottom,
          #ffffe6 0%,
          #ffffe6 12%,
          #ffc800 100%);
  --color-bg-gradient-link-button:
      linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%,
          rgba(124, 0, 0, 0.5) 53%,
          transparent 50%,
          transparent 100%),
      linear-gradient(to right, #840f00 0%, #700d00 100%);
  --color-bg-gradient-light-yellow:
      linear-gradient(to bottom,
          #fff 0%,
          #ebce95 100%);
  --color-bg-gradient-brown:
      linear-gradient(to bottom,
          #360d00 0%,
          #260f00 100%);
  --color-bg-gradient-blue:
      linear-gradient(to bottom,
          rgba(255, 255, 255, 0.5) 0%,
          rgba(255, 255, 255, 0) 50%,
          transparent 50%,
          transparent 100%),
      linear-gradient(to right, #7aafff 0%, #6886d1 100%);
  --color-bg-gradient-yellow:
      linear-gradient(to bottom,
          rgba(255, 255, 255, 0.5) 0%,
          rgba(255, 255, 255, 0) 50%,
          transparent 50%,
          transparent 100%),
      linear-gradient(to right,
          #e88a00 0%,
          #ffc800 100%);
  --color-bg-gradient-pink:
      linear-gradient(to bottom,
          rgba(255, 255, 255, 0.5) 0%,
          rgba(255, 255, 255, 0) 50%,
          transparent 50%,
          transparent 100%),
      linear-gradient(to right,
          #e88ac2 0%,
          #ffb0d6 100%);
  --color-bg-gradient-gray:
      linear-gradient(to bottom,
          rgba(255, 255, 255, 0.5) 0%,
          rgba(255, 255, 255, 0) 50%,
          transparent 50%,
          transparent 100%),
      linear-gradient(to right, #e0e0e0 0%, #e0e0e0 100%);
}

/*!
global > content-width
------------------------------
*/
:root {
  --width-content-s: 960rem;
  --width-content: 1080rem;
  --width-content-l: 1300rem;
}

/*!
global > font
------------------------------
*/
:root {
  --font-family-hiragino-mincho: "hiragino-mincho-pron","Yu Mincho", sans-serif;
  --font-family-hiragino-kaku-gothic: "hiragino-kaku-gothic-pron","Yu Gothic", sans-serif;
  --font-family-kozuka: "kozuka-gothic-pr6n", sans-serif;
  --font-family-yu-mincho: "Yu Mincho", "hiragino-mincho-pron", sans-serif;
}

/*!
global > z-index
------------------------------
*/
:root {
  --z-index-modal: 100;
  --z-index-header-entry: 40;
  --z-index-header: 30;
  --z-index-menu: 10;
  --z-index-default: 5;
  --z-index-background: 1;
}

/*!
global > animation
------------------------------
*/
.js-fade-in {
  opacity: 0;
  -webkit-transform: translateY(25px);
          transform: translateY(25px);
  -webkit-transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, -webkit-transform 0.8s;
  transition: opacity 0.8s, transform 0.8s;
  transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
}
.js-fade-in.is-show {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

/*!
foundation > reset
------------------------------
*/
html {
  color: #000;
  background: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
code,
form,
fieldset,
legend,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}

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

fieldset,
img {
  border: 0;
}

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

ol,
ul {
  list-style: none;
}

caption,
th {
  text-align: left;
}

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

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

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

input,
textarea,
select,
button {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  font-size: 100%;
  border-radius: 0;
  border: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  background-color: inherit;
}

textarea {
  resize: vertical;
  display: block;
}

select {
  cursor: pointer;
}

button {
  padding: 0;
  cursor: pointer;
}

legend {
  color: inherit;
}

tbody {
  -webkit-text-size-adjust: 100%;
}

main {
  display: block;
}

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

img,
svg {
  width: 100%;
  height: auto;
  display: block;
}

dialog {
  max-width: 100%;
  max-height: 100%;
  padding: 0;
  color: inherit;
  border: none;
}

iframe {
  vertical-align: bottom;
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

/*!
foundation > base
------------------------------
*/
:root {
  --base-vw: 365;
}
@media screen and (min-width: 768px) {
  :root {
    --base-vw: 1440;
  }
}

html {
  font-size: calc(100vw / var(--base-vw));
}

body {
  font-size: 9rem;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-font-base);
  font-family: var(--font-family-hiragino-kaku-gothic);
  background-color: var(--color-bg-base);
  z-index: var(--z-index-default);
}

/*!
utility > utility
------------------------------
*/
.u-visually-hidden {
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  margin: -1px !important;
}

.u-pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-pc-only {
    display: block;
  }
}

.u-sp-only {
  display: block;
}
@media screen and (min-width: 768px) {
  .u-sp-only {
    display: none;
  }
}

/*!
component > arrow-icon
------------------------------
*/
.c-arrow-icon {
  width: 17.297rem;
  height: 17.297rem;
  display: block;
  margin: 14rem auto 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.c-arrow-icon--white {
  border-bottom: 1.3rem solid var(--color-font-white);
  border-right: 1.3rem solid var(--color-font-white);
}
.c-arrow-icon--main {
  border-bottom: 1.3rem solid var(--color-main);
  border-right: 1.3rem solid var(--color-main);
}

/*!
layout > container
------------------------------
*/
.l-container-s {
  width: min(85%, var(--width-content-s));
  margin-inline: auto;
}

.l-container {
  width: min(87%, var(--width-content));
  margin-inline: auto;
}

.l-container-l {
  width: min(93%, var(--width-content-l));
  margin-inline: auto;
}

/*!
page > top > top-kv
------------------------------
*/
.top-kv {
  background-image: url(../img/kv/kv-sp.jpg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 422rem;
  padding: 50rem 0 56rem 0;
}
@media screen and (min-width: 768px) {
  .top-kv {
    height: 800rem;
    padding: 100rem 0 100rem 0;
    background-image: url(../img/kv/kv-pc.png);
  }
}

.top-kv-head-container {
  text-align: center;
  width: 207rem;
}
@media screen and (min-width: 768px) {
  .top-kv-head-container {
    width: 500rem;
  }
}

.top-kv-title {
  font-family: var(--font-family-hiragino-mincho);
}

.top-kv-title-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}
.top-kv-title-main-svg {
  width: 144rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .top-kv-title-main-svg {
    width: 380rem;
  }
}

.top-kv-title-year {
  margin-top: 8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top-kv-title-year-svg {
  width: 64.78rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .top-kv-title-year-svg {
    width: 190rem;
  }
}
@media screen and (min-width: 768px) {
  .top-kv-title-year {
    margin-top: 20rem;
  }
}

.top-kv-title-en {
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top-kv-title-en-svg {
  width: 154.13rem;
  height: auto;
}
@media screen and (min-width: 768px) {
  .top-kv-title-en-svg {
    width: 435rem;
  }
}
@media screen and (min-width: 768px) {
  .top-kv-title-en {
    margin-top: 20rem;
  }
}

.top-kv-text {
  margin-top: 13rem;
  font-size: 16rem;
  line-height: 1.3;
  font-family: var(--font-family-hiragino-mincho);
  color: var(--color-font-sub-main);
  font-weight: 600;
  letter-spacing: 0.05em;
  -webkit-filter: drop-shadow(2rem 1rem 0 var(--color-white));
          filter: drop-shadow(2rem 1rem 0 var(--color-white));
}
@media screen and (min-width: 768px) {
  .top-kv-text {
    margin-top: 20rem;
    font-size: 32rem;
  }
}

.top-kv-text-en {
  margin-top: 8rem;
  font-size: 7.43rem;
  font-family: var(--font-family-hiragino-mincho);
  color: var(--color-font-sub-main);
  font-weight: 600;
  text-wrap: nowrap;
  -webkit-filter: drop-shadow(0 1rem 0 var(--color-white));
          filter: drop-shadow(0 1rem 0 var(--color-white));
}
@media screen and (min-width: 768px) {
  .top-kv-text-en {
    margin-top: 10rem;
    font-size: 18rem;
  }
}

.top-kv-content {
  margin-top: 30rem;
  background-color: var(--color-bg-top-kv-content);
  padding: 10rem 6rem 4rem 6rem;
  border-radius: 13.71rem;
}
@media screen and (min-width: 768px) {
  .top-kv-content {
    padding: 20rem 24rem 16rem;
  }
}

.top-kv-content-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4rem;
}
@media screen and (min-width: 768px) {
  .top-kv-content-head {
    gap: 10rem;
  }
}

.top-kv-content-time {
  font-weight: 600;
  color: var(--color-main);
  font-family: var(--font-family-hiragino-mincho);
}
.top-kv-content-time--number {
  font-size: 26rem;
}
@media screen and (min-width: 768px) {
  .top-kv-content-time--number {
    font-size: 48rem;
  }
}
.top-kv-content-time--ja {
  font-size: 16.5rem;
}
@media screen and (min-width: 768px) {
  .top-kv-content-time--ja {
    font-size: 24rem;
  }
}

.top-kv-content-head-text {
  font-size: 10rem;
  font-weight: 600;
  color: var(--color-main);
  font-family: var(--font-family-hiragino-mincho);
}
@media screen and (min-width: 768px) {
  .top-kv-content-head-text {
    font-size: 16rem;
  }
}

.top-kv-content-bottom {
  margin-top: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 6rem;
}
@media screen and (min-width: 768px) {
  .top-kv-content-bottom {
    gap: 16rem;
    margin-top: 16rem;
  }
}

.top-kv-content-bottom-image {
  width: 24rem;
  height: 33rem;
  -o-object-fit: cover;
     object-fit: cover;
  position: relative;
  top: -5rem;
}
.top-kv-content-bottom-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .top-kv-content-bottom-image {
    width: 50rem;
    height: 64rem;
  }
}

.top-kv-content-bottom-wrapper {
  text-align: left;
}

.top-kv-content-bottom-text-top {
  font-size: 10rem;
  font-weight: 600;
  color: var(--color-main);
  font-family: var(--font-family-hiragino-mincho);
  line-height: 1.1;
  text-wrap: nowrap;
}
@media screen and (min-width: 768px) {
  .top-kv-content-bottom-text-top {
    font-size: 16rem;
    line-height: 1.3;
  }
}

.top-kv-content-bottom-text-bottom {
  margin-top: 2.85rem;
  font-size: 8rem;
  font-weight: 600;
  color: var(--color-main);
  font-family: var(--font-family-hiragino-mincho);
  line-height: 1.125;
}
@media screen and (min-width: 768px) {
  .top-kv-content-bottom-text-bottom {
    font-size: 16rem;
    margin-top: 4rem;
  }
}

.top-kv-button {
  margin-top: 12rem;
}
@media screen and (min-width: 768px) {
  .top-kv-button {
    margin-top: 30rem;
  }
}

.top-kv-button-link {
  display: block;
  width: 100%;
  padding: 10rem 0;
  background: var(--color-bg-gradient-link-button);
  color: var(--color-yellow);
  border: 0.7rem solid var(--color-yellow);
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.05em;
  font-size: 14rem;
  text-align: center;
  border-radius: 100vw;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media (any-hover: hover) {
  .top-kv-button-link:hover {
    opacity: 0.8;
  }
}
@media screen and (min-width: 768px) {
  .top-kv-button-link {
    padding: 20rem 0;
    font-size: 22rem;
    width: 60vw;
    margin-inline: auto;
  }
}

/*!
page > top > strength
------------------------------
*/
.about {
  background-color: var(--color-bg-base);
  padding: 40rem 0 51rem 0;
  margin-top: -15rem;
  border-radius: 14.82rem 14.82rem 0 0;
}

.about-container {
  position: relative;
}
.about-container::after {
  content: "";
  display: block;
  width: 98rem;
  height: 98rem;
  background-image: url(../img/about/about-bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: -15rem;
  right: 25rem;
  z-index: var(--z-index-background);
}
@media screen and (min-width: 768px) {
  .about-container::after {
    width: 190rem;
    height: 190rem;
    right: 400rem;
  }
}

.about-title {
  color: var(--color-main);
  font-size: 19rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.15;
  text-align: center;
  position: relative;
  z-index: var(--z-index-default);
}
@media screen and (min-width: 768px) {
  .about-title {
    font-size: 24rem;
  }
}

.about-text {
  margin-top: 15rem;
  font-size: 9rem;
  line-height: 1.66;
  font-weight: 600;
  letter-spacing: 0.035em;
  text-align: center;
  position: relative;
  z-index: var(--z-index-default);
}
@media screen and (min-width: 768px) {
  .about-text {
    margin-top: 30rem;
    font-size: 14rem;
  }
}

.about-list-wrapper {
  margin-top: 26rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-list-wrapper {
    margin-top: 50rem;
  }
}

.about-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-width: 100%;
  -webkit-animation: scroll-left 20s linear infinite;
          animation: scroll-left 20s linear infinite;
}

@-webkit-keyframes scroll-left {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}

@keyframes scroll-left {
  0% {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  100% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.about-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 6rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-right: 20rem;
}
@media screen and (min-width: 768px) {
  .about-item {
    padding-right: 30rem;
  }
}

.about-item-image {
  width: 44rem;
  height: 44rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.about-item-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .about-item-image {
    width: 100rem;
    height: 100rem;
  }
}

.about-item-text {
  font-size: 9rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .about-item-text {
    font-size: 14rem;
  }
}

/*!
page > top > strength
------------------------------
*/
.strength {
  background-color: var(--color-bg-brown-dark);
  padding: 55rem 0 20rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
}

.strength-title {
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.3;
  text-align: center;
  background: var(--color-title-gradient-yellow);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px) {
  .strength-title {
    font-size: 24rem;
  }
}

.strength-content {
  margin-top: 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8rem;
}
@media screen and (min-width: 768px) {
  .strength-content {
    margin-top: 30rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.strength-item {
  padding: 12rem 8rem 14rem 11rem;
  border-radius: 12.36rem;
  border: 0.665rem solid transparent;
  background: var(--color-bg-gradient-brown) padding-box, var(--color-title-gradient-yellow) border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10rem;
}
@media screen and (min-width: 768px) {
  .strength-item {
    padding: 30rem 30rem 20rem 70rem;
    gap: 20rem;
  }
}

.strength-item-img {
  width: 63.195rem;
  height: 63.195rem;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.strength-item-img img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .strength-item-img {
    width: 100rem;
    height: 100rem;
  }
}

.strength-item-body-title {
  font-size: 16rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
.strength-item-body-title span {
  display: block;
  background: var(--color-title-gradient-yellow);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px) {
  .strength-item-body-title {
    font-size: 18rem;
  }
}

.strength-item-body-text {
  margin-top: 4rem;
  font-size: 9rem;
  line-height: 1.44;
  letter-spacing: 0.035em;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .strength-item-body-text {
    font-size: 14rem;
  }
}

/*!
page > top > reason
------------------------------
*/
.reason {
  background-color: var(--color-bg-brown-dark);
  padding: 40rem 0 60rem 0;
  margin-top: -15rem;
}

.reason-title {
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.025em;
  line-height: 1.3;
  text-align: center;
  background: var(--color-title-gradient-yellow);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media screen and (min-width: 768px) {
  .reason-title {
    font-size: 24rem;
  }
}

.reason-content {
  margin-top: 25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10rem;
}
@media screen and (min-width: 768px) {
  .reason-content {
    margin-top: 30rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.reason-item {
  padding: 14rem 12rem 7rem 12rem;
  border-radius: 12.36rem;
  background-image: var(--color-bg-gradient-light-yellow);
  border: 0.665rem solid var(--color-border-orange);
  text-align: center;
}

.reason-item-head {
  border-bottom: 0.665rem solid var(--color-main);
  padding-bottom: 7rem;
}

.reason-item-head-title {
  color: var(--color-main);
  font-size: 14rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.357;
}
@media screen and (min-width: 768px) {
  .reason-item-head-title {
    font-size: 18rem;
  }
}

.reason-item-head-text-en {
  color: var(--color-main);
  font-size: 11rem;
  font-family: var(--font-family-hiragino-mincho);
  letter-spacing: 0.025em;
  line-height: 1.72;
}
@media screen and (min-width: 768px) {
  .reason-item-head-text-en {
    font-size: 14rem;
  }
}

.reason-item-body {
  padding-top: 10rem;
}

.reason-item-body-text {
  font-size: 9rem;
  line-height: 1.444;
  letter-spacing: 0.035em;
}
@media screen and (min-width: 768px) {
  .reason-item-body-text {
    font-size: 14rem;
  }
}

/*!
page > top > branding
------------------------------
*/
.branding {
  background-color: var(--color-bg-black);
  padding: 30rem 0 52rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}

.branding-title {
  margin-inline: auto;
  width: 222rem;
  height: 42rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.branding-title img {
  width: 100%;
  height: 100%;
}

.branding-content {
  margin-top: 28rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 22rem;
}
@media screen and (min-width: 768px) {
  .branding-content {
    margin-top: 30rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.branding-item {
  padding: 15rem 14rem 19rem 14rem;
  border-radius: 12.36rem;
  background-image: var(--color-bg-gradient-light-yellow);
}

.branding-item-head {
  text-align: center;
}

.branding-item-head-text {
  color: var(--color-font-brown);
  font-size: 14rem;
  letter-spacing: 0.025em;
  font-family: var(--font-family-hiragino-mincho);
}
@media screen and (min-width: 768px) {
  .branding-item-head-text {
    font-size: 18rem;
  }
}

.branding-item-head-title {
  padding: 6rem 0;
  color: var(--color-font-sub-main);
  font-size: 14rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.05em;
  line-height: 1.3;
  border-bottom: 1.33rem solid var(--color-font-sub-main);
}
@media screen and (min-width: 768px) {
  .branding-item-head-title {
    font-size: 18rem;
  }
}

.branding-item-body {
  padding: 20rem 0 0 14rem;
}
@media screen and (min-width: 768px) {
  .branding-item-body {
    padding: 20rem 0 0 0;
  }
}

.branding-item-body-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.branding-item-body-list-item {
  font-size: 12rem;
  line-height: 1.9;
  font-weight: 600;
  letter-spacing: 0.035em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.branding-item-body-list-item::before {
  content: "◾️";
  display: block;
  margin-right: 5rem;
}
@media screen and (min-width: 768px) {
  .branding-item-body-list-item {
    font-size: 14rem;
    text-align: center;
    width: 330rem;
    margin-inline: auto;
  }
}

/*!
page > top > event
------------------------------
*/
.event {
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
  background-color: var(--color-bg-base);
}

.event-summary {
  padding: 40rem 0 30rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  list-style: none;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .event-summary {
    padding: 50rem 0 40rem 0;
  }
}

.event-summary::marker {
  display: none;
}

.event-title {
  color: var(--color-font-sub-main);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .event-title {
    font-size: 24rem;
  }
}

.event-container {
  padding-bottom: 50rem;
}
@media screen and (min-width: 768px) {
  .event-container {
    width: 1000rem;
    margin-inline: auto;
  }
}

.event-item-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 21rem;
}
@media screen and (min-width: 768px) {
  .event-item-wrapper {
    gap: 30rem;
  }
}

.event-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.event-item-image {
  width: 130rem;
  height: 130rem;
  aspect-ratio: 1/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.event-item-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .event-item-image {
    width: 200rem;
    height: 200rem;
    aspect-ratio: 1/1;
  }
}

.event-item-content {
  width: 100%;
  height: 130rem;
}
@media screen and (min-width: 768px) {
  .event-item-content {
    height: 200rem;
  }
}

.event-item-content-title {
  font-size: 14rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  line-height: 1.46;
  letter-spacing: 0.025em;
  color: var(--color-yellow);
  background-color: var(--color-font-sub-main);
  padding: 5rem 0 0 11rem;
  height: 28rem;
}
@media screen and (min-width: 768px) {
  .event-item-content-title {
    font-size: 22rem;
    height: 50rem;
    padding: 10rem 0 0 20rem;
  }
}

.event-item-content-body {
  background-color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .event-item-content-body {
    height: 150rem;
  }
}

.event-item-content-head {
  height: 70rem;
  padding: 10rem 0 0 10rem;
}
.event-item-content-head--02 {
  padding: 16rem 0 0 10rem;
}
@media screen and (min-width: 768px) {
  .event-item-content-head {
    height: 100rem;
    padding: 20rem 0 0 20rem;
  }
}

.event-item-content-list {
  font-size: 13rem;
  line-height: 1.46;
  font-weight: 600;
  color: var(--color-font-sub-main);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 10rem;
}
@media screen and (min-width: 768px) {
  .event-item-content-list {
    font-size: 16rem;
    gap: 0 20rem;
  }
}

.event-item-content-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.event-item-content-list-item::before {
  content: "･";
  display: block;
  color: var(--color-font-sub-main);
  margin-right: 5rem;
}
@media screen and (min-width: 768px) {
  .event-item-content-list-item::before {
    margin-right: 10rem;
  }
}
@media screen and (min-width: 768px) {
  .event-item-content-list-item {
    font-size: 18rem;
  }
}

.event-item-content-top-text {
  font-size: 12rem;
  line-height: 1.416;
  color: var(--color-font-sub-main);
}
.event-item-content-top-text--error {
  color: var(--color-font-error);
}
@media screen and (min-width: 768px) {
  .event-item-content-top-text {
    font-size: 18rem;
  }
}

.event-item-content-hr {
  border: none;
  border-top: 0.667rem solid var(--color-main);
  margin: 0 8rem 0 2rem;
}
@media screen and (min-width: 768px) {
  .event-item-content-hr {
    margin: 0 10rem 0 3rem;
  }
}

.event-item-content-bottom-text {
  font-size: 13rem;
  line-height: 1.58;
  font-weight: 600;
  padding: 7rem 0 6rem 23rem;
}
@media screen and (min-width: 768px) {
  .event-item-content-bottom-text {
    font-size: 16rem;
  }
}

.event-text {
  margin-top: 22rem;
  text-align: center;
  font-size: 13rem;
  line-height: 1.46;
  font-weight: 600;
  color: var(--color-font-sub-main);
}
@media screen and (min-width: 768px) {
  .event-text {
    margin-top: 30rem;
    font-size: 18rem;
  }
}

/*!
page > top > price
------------------------------
*/
.price {
  background-color: var(--color-bg-price);
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}

.price-summary {
  background-color: var(--color-bg-price);
  padding: 40rem 0 30rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  list-style: none;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .price-summary {
    padding: 50rem 0 40rem 0;
  }
}

.price-summary::marker {
  display: none;
}

.price-title {
  color: var(--color-font-white);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .price-title {
    font-size: 24rem;
  }
}

.price-container {
  padding-bottom: 50rem;
}

.price-content:first-child {
  margin-top: 13rem;
}
.price-content:not(:first-child) {
  margin-top: 21rem;
}
@media screen and (min-width: 768px) {
  .price-content {
    margin-top: 30rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.price-content-title {
  color: var(--color-main);
  font-size: 19rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  line-height: 1.375;
  text-align: center;
  letter-spacing: 0.05em;
  background-color: var(--color-yellow);
  padding: 10rem 0 8rem 0;
}
@media screen and (min-width: 768px) {
  .price-content-title {
    font-size: 24rem;
    padding: 20rem 0 15rem 0;
  }
}

.price-content-wrapper {
  background-color: var(--color-white);
  padding: 15rem 10rem 10rem 10rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .price-content-wrapper {
    padding: 30rem 30rem 20rem 30rem;
  }
}

.price-content-text-top {
  font-size: 16rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  color: var(--color-font-sub-main);
  padding-bottom: 10rem;
  border-bottom: 1.33rem solid var(--color-font-sub-main);
}
@media screen and (min-width: 768px) {
  .price-content-text-top {
    font-size: 22rem;
  }
}

.price-content-text-bottom {
  font-size: 16rem;
  color: var(--color-font-sub-main);
  line-height: 1.375;
  padding-top: 12rem;
}
.price-content-text-bottom--online {
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .price-content-text-bottom {
    font-size: 24rem;
  }
}

.price-table {
  margin-top: 12rem;
  border: 1.33rem solid var(--color-black);
}
@media screen and (min-width: 768px) {
  .price-table {
    margin-top: 20rem;
  }
}

.price-table-header {
  background-color: var(--color-bg-black);
  color: var(--color-font-white);
  font-family: var(--font-family-yu-mincho);
  font-size: 17rem;
  letter-spacing: 0.05em;
  padding: 7rem 0 6rem 0;
  text-align: center;
}
.price-table-header:not(:last-child) {
  border-right: 1.33rem solid var(--color-white);
}
@media screen and (min-width: 768px) {
  .price-table-header {
    font-size: 22rem;
  }
}

.price-table-data {
  color: var(--color-font-sub-main);
  font-family: var(--font-family-hiragino-mincho);
  letter-spacing: 0.05em;
  font-weight: 600;
  padding: 10rem 0 10rem 10rem;
}
.price-table-data:not(:last-child) {
  border-right: 1.33rem solid var(--color-black);
}
@media screen and (min-width: 768px) {
  .price-table-data {
    padding: 20rem 0 20rem 20rem;
  }
}

.price-table-data-number {
  font-size: 19rem;
}
@media screen and (min-width: 768px) {
  .price-table-data-number {
    font-size: 24rem;
  }
}

.price-table-data-unit {
  font-size: 12rem;
  margin-left: -4rem;
}
@media screen and (min-width: 768px) {
  .price-table-data-unit {
    font-size: 16rem;
  }
}

/*!
page > top > flow
------------------------------
*/
.flow {
  background-color: var(--color-bg-base);
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}

.flow-summary {
  background-color: var(--color-bg-base);
  padding: 40rem 0 30rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  list-style: none;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .flow-summary {
    padding: 50rem 0 40rem 0;
  }
}

.flow-summary::marker {
  display: none;
}

.flow-title {
  color: var(--color-main);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .flow-title {
    font-size: 24rem;
  }
}

.flow-container {
  margin-top: 13rem;
}

.flow-submission {
  padding-bottom: 38rem;
}
.flow-submission:first-child {
  border-bottom: 1.33rem solid var(--color-main);
  width: 85vw;
  margin: 0 auto;
}

.flow-submission-title {
  color: var(--color-main);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
}
.flow-submission-title--subhead {
  margin-top: 40rem;
}
@media screen and (min-width: 768px) {
  .flow-submission-title {
    font-size: 24rem;
  }
}

.flow-submission-list-content {
  margin: 30rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 19.51rem;
  width: 291rem;
}
@media screen and (min-width: 768px) {
  .flow-submission-list-content {
    width: 500rem;
  }
}

.flow-submission-list-content-item {
  background-color: var(--color-main);
  color: var(--color-font-white);
  padding: 10rem 20rem 10rem 15rem;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.flow-submission-list-content-item:not(:last-child)::after {
  position: absolute;
  content: "";
  display: block;
  width: 31rem;
  height: 16rem;
  background-color: var(--color-bg-black);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: -16.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.flow-submission-list-content-item:nth-child(2) {
  background-color: var(--color-bg-brown);
}
@media screen and (min-width: 768px) {
  .flow-submission-list-content-item {
    padding: 15rem 30rem 15rem 30rem;
  }
}

.flow-submission-list-content-item-number {
  font-size: 30rem;
  font-family: var(--font-family-hiragino-mincho);
}
@media screen and (min-width: 768px) {
  .flow-submission-list-content-item-number {
    font-size: 40rem;
  }
}

.flow-submission-list-content-item-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 10rem;
}
.flow-submission-list-content-item-text--top {
  font-size: 17rem;
  font-weight: 600;
  line-height: 1.46;
  font-family: var(--font-family-hiragino-mincho);
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .flow-submission-list-content-item-text--top {
    font-size: 18rem;
  }
}
.flow-submission-list-content-item-text--bottom {
  font-size: 13rem;
  line-height: 1.46;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .flow-submission-list-content-item-text--bottom {
    font-size: 16rem;
  }
}

.flow-submission-text {
  margin-top: 20rem;
  font-size: 13rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.46;
}
@media screen and (min-width: 768px) {
  .flow-submission-text {
    font-size: 16rem;
  }
}

.flow-schedule {
  padding-bottom: 57rem;
}

.flow-schedule-title {
  color: var(--color-main);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  .flow-schedule-title {
    font-size: 24rem;
  }
}

.flow-schedule-list {
  margin-top: 18rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 9rem;
}

.flow-schedule-list-item-image {
  width: 319rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.flow-schedule-list-item-image img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .flow-schedule-list-item-image {
    width: 500rem;
    height: auto;
    margin: 0 auto;
    margin-top: 10rem;
  }
}

/*!
page > top > schedule
------------------------------
*/
.schedule {
  background-color: var(--color-main);
  padding: 40rem 0 70rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}

.schedule-title {
  color: var(--color-yellow);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .schedule-title {
    font-size: 24rem;
  }
}

.schedule-content {
  margin-top: 30rem;
  background-color: var(--color-white);
  border-radius: 12.36rem;
  padding: 18rem 13rem 0 13rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .schedule-content {
    margin: 50rem auto 0;
    padding: 30rem 30rem 0 30rem;
    width: 800rem;
  }
}

.schedule-content-title {
  color: var(--color-main);
  font-size: 17rem;
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .schedule-content-title {
    font-size: 18rem;
  }
}

.schedule-list {
  margin-top: 12rem;
}

.schedule-list-item {
  border-top: 1.33rem solid var(--color-main);
  padding: 15rem 0;
  font-size: 15rem;
  font-weight: 600;
  line-height: 1.6;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}

.schedule-list-item-date {
  color: var(--color-main);
}

/*!
page > top > access
------------------------------
*/
.access {
  background-color: var(--color-bg-base);
  padding: 49rem 0 63rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}

.access-title {
  color: var(--color-main);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .access-title {
    font-size: 24rem;
  }
}

.access-address {
  margin-top: 36rem;
}
@media screen and (min-width: 768px) {
  .access-address {
    margin: 50rem auto 0;
    width: 800rem;
  }
}

.access-address-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 14rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12rem 0 5rem 9rem;
  border-top: 1.33rem solid var(--color-main);
}
.access-address-item:last-child {
  border-bottom: 1.33rem solid var(--color-main);
}
@media screen and (min-width: 768px) {
  .access-address-item {
    gap: 30rem;
    padding: 30rem 0 20rem 200rem;
  }
}

.access-address-item-name {
  color: var(--color-main);
  font-size: 15rem;
  font-weight: 600;
  text-wrap: nowrap;
}
@media screen and (min-width: 768px) {
  .access-address-item-name {
    font-size: 18rem;
  }
}

.access-address-item-value {
  font-size: 15rem;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .access-address-item-value {
    font-size: 16rem;
  }
}

.access-address-item-value--ja {
  font-size: 12rem;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .access-address-item-value--ja {
    font-size: 16rem;
  }
}

.access-time {
  margin-top: 25rem;
  background-color: var(--color-white);
  border-radius: 12.36rem;
  border: 1.33rem solid var(--color-main);
  padding: 17rem 12rem 8rem;
}
@media screen and (min-width: 768px) {
  .access-time {
    margin: 50rem auto 0;
    width: 800rem;
  }
}

.access-time-table-caption {
  font-size: 15rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 12rem;
  color: var(--color-main);
}
@media screen and (min-width: 768px) {
  .access-time-table-caption {
    font-size: 18rem;
    margin-bottom: 20rem;
  }
}

.access-time-table-head {
  margin-top: 10rem;
  border-top: 1.33rem solid var(--color-main);
}
@media screen and (min-width: 768px) {
  .access-time-table-head {
    margin-top: 20rem;
  }
}

.access-time-table-header {
  padding: 7rem 0 6rem 0;
  font-size: 15rem;
  text-align: center;
  color: var(--color-main);
}
@media screen and (min-width: 768px) {
  .access-time-table-header {
    font-size: 18rem;
    padding: 15rem 0;
  }
}

.access-time-table-body .access-time-table-row {
  height: 43rem;
}
.access-time-table-body .access-time-table-row:nth-child(odd) {
  background-color: var(--color-bg-gray);
}
@media screen and (min-width: 768px) {
  .access-time-table-body .access-time-table-row {
    height: 53rem;
  }
}

.access-time-table-data {
  font-size: 13rem;
  text-align: center;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .access-time-table-data {
    font-size: 16rem;
  }
}

.access-time-text {
  margin-top: 6rem;
  font-size: 13rem;
  text-align: center;
  line-height: 1.23;
}
@media screen and (min-width: 768px) {
  .access-time-text {
    font-size: 16rem;
    margin-top: 10rem;
  }
}

.access-guide {
  margin-top: 15rem;
  background-color: var(--color-main);
  border-radius: 12.36rem;
  padding: 11rem 13rem 9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 19rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .access-guide {
    gap: 30rem;
    padding: 30rem 30rem;
    margin-top: 30rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-inline: auto;
  }
}

.access-guide-image {
  width: 54rem;
  height: 39rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.access-guide-image img {
  width: 100%;
  height: 100%;
}

.access-guide-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .access-guide-text {
    gap: 8rem;
  }
}

.access-guide-text-title {
  font-size: 15rem;
  font-weight: 600;
  color: var(--color-yellow);
}
@media screen and (min-width: 768px) {
  .access-guide-text-title {
    font-size: 18rem;
  }
}

.access-guide-text-content {
  margin-top: 2rem;
  font-size: 13rem;
  line-height: 1.2;
  color: var(--color-white);
}
@media screen and (min-width: 768px) {
  .access-guide-text-content {
    font-size: 16rem;
  }
}

/*!
page > top > travel
------------------------------
*/
.travel {
  background-color: var(--color-bg-black);
  padding: 48rem 0 65rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}

.travel-title {
  margin: 0 auto;
  width: 170rem;
  height: 42rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.travel-title img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .travel-title {
    width: 222rem;
    height: auto;
  }
}

.travel-text {
  margin-top: 31rem;
  color: var(--color-white);
  font-size: 13rem;
  text-align: center;
  line-height: 1.46;
}
@media screen and (min-width: 768px) {
  .travel-text {
    font-size: 16rem;
  }
}

.travel-list-content {
  margin-top: 16rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 19.51rem;
}
@media screen and (min-width: 768px) {
  .travel-list-content {
    margin-top: 30rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.travel-list-content-item {
  background-color: var(--color-bg-brown);
  color: var(--color-font-white);
  height: 59.33rem;
  padding: 0 20rem 0 15rem;
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11rem;
  position: relative;
}
.travel-list-content-item:not(:last-child)::after {
  position: absolute;
  content: "";
  display: block;
  width: 31rem;
  height: 16rem;
  background-color: var(--color-white);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  bottom: -16.1rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (min-width: 768px) {
  .travel-list-content-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 30%;
    gap: 30rem;
    height: 79.33rem;
  }
}

.travel-list-content-item-number {
  font-size: 30rem;
  font-family: var(--font-family-hiragino-mincho);
}

.travel-list-content-item-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.travel-list-content-item-text--top {
  font-size: 17rem;
  font-weight: 600;
  line-height: 1.46;
  font-family: var(--font-family-hiragino-mincho);
}
.travel-list-content-item-text--bottom {
  font-size: 13rem;
  line-height: 1.46;
}

.travel-warning {
  margin-top: 19rem;
  border-radius: 11.61rem;
  padding: 10rem 10rem;
  background-color: var(--color-bg-warning);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3rem;
}
@media screen and (min-width: 768px) {
  .travel-warning {
    margin-top: 30rem;
    padding: 20rem 20rem;
    gap: 8rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.travel-warning-icon {
  width: 40rem;
  height: 36rem;
  -o-object-fit: cover;
     object-fit: cover;
}
.travel-warning-icon img {
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .travel-warning-icon {
    width: 60rem;
    height: 54rem;
  }
}

.travel-warning-text {
  font-size: 13rem;
  color: var(--color-font-white);
  line-height: 1.31;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .travel-warning-text {
    font-size: 16rem;
  }
}

/*!
page > top > cta
------------------------------
*/
.contact {
  background-color: var(--color-main);
  padding: 48rem 0 22rem 0;
  border-radius: 14.82rem 14.82rem 0 0;
  margin-top: -15rem;
}
@media screen and (min-width: 768px) {
  .contact {
    padding: 48rem 0 50rem 0;
  }
}

.contact-title {
  color: var(--color-yellow);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact-title {
    font-size: 24rem;
  }
}

.contact-list {
  margin-top: 27rem;
  border: 1.33rem solid var(--color-yellow);
  border-radius: 12.36rem;
  padding: 8rem 19rem 5rem;
  background-color: var(--color-bg-black);
}
@media screen and (min-width: 768px) {
  .contact-list {
    margin-top: 38rem;
    border: 2.33rem solid var(--color-yellow);
    padding: 18rem 29rem 15rem;
    width: 800rem;
    margin-inline: auto;
  }
}

.contact-list-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 14rem 0;
}
.contact-list-item:not(:last-child) {
  border-bottom: 1.33rem solid var(--color-yellow);
}
.contact-list-item--top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact-list-item--bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 7.6rem;
}

.contact-list-item-name {
  color: var(--color-yellow);
  font-size: 18rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact-list-item-name {
    font-size: 24rem;
  }
}
.contact-list-item-name--bottom {
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .contact-list-item-name--bottom {
    font-size: 24rem;
  }
}

.contact-list-item-number {
  color: var(--color-white);
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.1em;
  text-align: center;
}
.contact-list-item-number--top {
  font-size: 35.83rem;
}
.contact-list-item-number--bottom {
  font-size: 23rem;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .contact-list-item-number--bottom {
    font-size: 30rem;
  }
}

.contact-text-italic {
  margin-top: 38rem;
  color: var(--color-white);
  font-size: 27rem;
  font-family: var(--font-family-yu-mincho);
  font-weight: 500;
  text-align: center;
  font-style: italic;
  text-wrap: nowrap;
  -webkit-transform: scaleX(0.972);
          transform: scaleX(0.972);
}
@media screen and (min-width: 768px) {
  .contact-text-italic {
    font-size: 54rem;
    margin-top: 50rem;
  }
}

.contact-text {
  margin-top: 27rem;
  color: var(--color-white);
  font-size: 13rem;
  text-align: center;
  line-height: 1.46;
  letter-spacing: 0.1em;
}
@media screen and (min-width: 768px) {
  .contact-text {
    font-size: 18rem;
  }
}

.contact-image-wrapper {
  margin-top: 27.28rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 42.65rem;
}
@media screen and (min-width: 768px) {
  .contact-image-wrapper {
    gap: 60rem;
  }
}

.contact-image-gkba {
  width: 126rem;
  height: 91.76rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .contact-image-gkba {
    width: 180rem;
    height: 130rem;
  }
}
.contact-image-gkba img {
  width: 100%;
  height: 100%;
}

.contact-image-threebeauty {
  width: 96rem;
  height: 93rem;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .contact-image-threebeauty {
    width: 150rem;
    height: 140rem;
  }
}
.contact-image-threebeauty img {
  width: 100%;
  height: 100%;
}

/*!
page > top > cta
------------------------------
*/
.cta {
  padding: 35rem 0 44rem 0;
  background-color: var(--color-bg-black);
}

.cta-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 14.26rem;
}
@media screen and (min-width: 768px) {
  .cta-content {
    gap: 20rem;
  }
}

.cta-button {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 14rem;
  font-family: var(--font-family-hiragino-mincho);
  font-weight: 600;
  letter-spacing: 0.05em;
  text-align: center;
  border: 0.7rem solid var(--color-white);
  border-radius: 100vw;
  padding: 7rem 0;
  -webkit-transition: opacity 0.5s;
  transition: opacity 0.5s;
}
@media screen and (min-width: 768px) {
  .cta-button {
    font-size: 22rem;
    width: 800rem;
    margin-inline: auto;
    padding: 20rem 0;
  }
}
@media (any-hover: hover) {
  .cta-button:hover {
    opacity: 0.8;
  }
}
.cta-button--disabled {
  pointer-events: none;
  cursor: default;
}
.cta-button--blue {
  background-image: var(--color-bg-gradient-blue);
  background-position: center;
  background-repeat: no-repeat;
}
.cta-button--yellow {
  background-image: var(--color-bg-gradient-yellow);
}
.cta-button--pink {
  background-image: var(--color-bg-gradient-pink);
}

.cta-button--disabled-text-soon {
  opacity: 0.7;
}