@charset "UTF-8";
/* フォント定設
-----------------------------------------------------------------*/
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: 'MyYuGothicM';
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* 游ゴシックMediumが存在しないWindows8.1用 */ }

@font-face {
  font-family: 'MyYuGothicM';
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic Bold");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */ }

/* 共通スタイル定設
-----------------------------------------------------------------*/
html, body {
  font-weight: 500;
  font-size: 14px;
  line-height: 2;
  font-family: MyYuGothicM, "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  color: #030303; }
  html.scrollLock, body.scrollLock {
    overflow: hidden;
    -ms-scroll-chaining: none;
    overscroll-behavior: none; }

html:has(body.scrollLock) {
  -ms-scroll-chaining: none;
  overscroll-behavior: none; }

body {
  width: 100%; }
  @media print, screen and (max-width: 767px) {
    body {
      content: "sp"; } }
  @media print, screen and (min-width: 768px) {
    body {
      content: "tab_pc"; } }
  body.is-norenMove {
    position: fixed;
    overflow: hidden; }

.ht {
  display: none; }

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

button,
input[type="button"] {
  cursor: pointer; }

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.defs {
  height: 0;
  width: 0;
  overflow: hidden;
  display: none; }

@media print, screen and (max-width: 767px) {
  .dn-sp {
    display: none !important; } }

@media print, screen and (min-width: 768px) {
  .dn-tab_pc {
    display: none !important; } }

/* フォント定設
-----------------------------------------------------------------*/
/* フォント定設
-----------------------------------------------------------------*/
@font-face {
  font-family: 'MyYuGothicM';
  font-weight: normal;
  src: local("YuGothic-Medium"), local("Yu Gothic Medium"), local("YuGothic-Regular");
  /* 游ゴシックMediumが存在しないWindows8.1用 */ }

@font-face {
  font-family: 'MyYuGothicM';
  font-weight: bold;
  src: local("YuGothic-Bold"), local("Yu Gothic Bold");
  /* PostScript Nameを認識できないChrome用にFull Nameを指定 */ }

/*
c-title
------------------------------------*/
/*
c-button
------------------------------------*/
.c-title {
  position: relative;
  color: #030303;
  font-weight: bold;
  letter-spacing: 0.15em;
  margin: 0; }
  @media print, screen and (max-width: 767px) {
    .c-title {
      font-size: 34px;
      line-height: 1.5;
      padding-top: 51px; } }
  @media print, screen and (min-width: 768px) {
    .c-title {
      font-size: 28px;
      line-height: 1.8;
      padding-top: 33px; } }
  .c-title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #CC5956; }
    @media print, screen and (max-width: 767px) {
      .c-title::before {
        width: 51px;
        height: 5.1px; } }
    @media print, screen and (min-width: 768px) {
      .c-title::before {
        width: 30px;
        height: 3px; } }

.c-titleCaption {
  color: #030303;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 30px; }
  @media print, screen and (max-width: 767px) {
    .c-titleCaption {
      font-size: 23.8px; } }
  @media print, screen and (min-width: 768px) {
    .c-titleCaption {
      font-size: 16px; } }

.c-button {
  background-color: #CC5956;
  position: relative;
  cursor: pointer;
  -webkit-transition: background-color 0.3s ease, border-color 0.3s ease;
  transition: background-color 0.3s ease, border-color 0.3s ease;
  border: #CC5956 1px solid;
  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; }
  @media print, screen and (max-width: 767px) {
    .c-button {
      width: 510px;
      height: 102px; } }
  @media print, screen and (min-width: 768px) {
    .c-button {
      width: 300px;
      height: 60px; } }
  .c-button::before {
    content: '';
    position: absolute;
    top: 50%;
    translate: 0 -50%;
    border-color: #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: border-color 0.3s ease;
    transition: border-color 0.3s ease; }
    @media print, screen and (max-width: 767px) {
      .c-button::before {
        right: 17px;
        width: 11.9px;
        height: 11.9px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff; } }
    @media print, screen and (min-width: 768px) {
      .c-button::before {
        right: 10px;
        width: 7px;
        height: 7px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; } }
  @media (hover: hover) {
    .c-button:hover {
      text-decoration: none;
      background-color: #524942;
      border-color: #524942; } }
  .c-button.c-button-white {
    background-color: #fff; }
    .c-button.c-button-white::before {
      border-color: #CC5956; }
    @media (hover: hover) {
      .c-button.c-button-white:hover {
        text-decoration: none;
        background-color: #AA1500;
        border-color: #AA1500; }
        .c-button.c-button-white:hover::before {
          border-color: #fff; }
        .c-button.c-button-white:hover .c-buttonText {
          color: #fff; } }
  .c-button.c-button-transparent {
    background-color: transparent;
    border: 1px solid #fff; }
    .c-button.c-button-transparent::before {
      border-color: #fff; }
    @media (hover: hover) {
      .c-button.c-button-transparent:hover {
        text-decoration: none;
        background-color: #fff;
        border-color: #CC5956; }
        .c-button.c-button-transparent:hover .c-buttonText {
          color: #CC5956; }
        .c-button.c-button-transparent:hover::before {
          border-color: #CC5956; } }

.c-buttonText {
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-align: center; }
  @media print, screen and (max-width: 767px) {
    .c-buttonText {
      font-size: 27.2px; } }
  @media print, screen and (min-width: 768px) {
    .c-buttonText {
      font-size: 16px; } }
  .c-button-white .c-buttonText {
    color: #CC5956; }

/*=============================================

MV

==============================================*/
.mvSection {
  position: relative;
  width: 100%;
  background-color: #fff;
  overflow: hidden; }

.mvImage {
  width: 100%;
  position: relative;
  z-index: 5;
  position: relative; }
  @media print, screen and (max-width: 767px) {
    .mvImage {
      aspect-ratio: 1.1194; }
      .mvImage img, .mvImage video, .mvImage iframe {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center; } }
  @media print, screen and (min-width: 768px) {
    .mvImage {
      aspect-ratio: 1.99067; }
      .mvImage img, .mvImage video, .mvImage iframe {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center; }
      .mvImage::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.1);
        z-index: 1; } }

.mvText {
  text-align: center;
  position: relative;
  z-index: 10; }
  @media print, screen and (max-width: 767px) {
    .mvText {
      margin: 61.2px 0 0 0; } }
  @media print, screen and (min-width: 768px) {
    .mvText {
      position: absolute;
      left: 30px;
      top: 30px;
      z-index: 10;
      margin: 0;
      text-align: left; } }

@media print, screen and (max-width: 767px) {
  .mvLogo {
    fill: #000;
    width: 445.4px;
    height: 156.4px; } }

@media print, screen and (min-width: 768px) {
  .mvLogo {
    fill: #fff;
    width: 312px;
    height: 110px; } }

.mvText_catch {
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.1em;
  display: block; }
  @media print, screen and (max-width: 767px) {
    .mvText_catch {
      font-size: 30.6px;
      margin: 0 auto 34px;
      padding: 5.1px 27.2px;
      border-radius: 34px 0;
      border: 5.1px solid #A48B78;
      width: -webkit-fit-content;
      width: -moz-fit-content;
      width: fit-content; } }
  @media print, screen and (min-width: 768px) {
    .mvText_catch {
      font-size: 25px;
      margin: 0 0 18px 0;
      padding: 5px 32px 5px 24px;
      background-color: #fff;
      border-radius: 20px 0;
      border: 3px solid #A48B78; } }

/*=============================================

Intro

==============================================*/
@media print, screen and (max-width: 767px) {
  .introSection {
    margin: 102px auto 0; } }

@media print, screen and (min-width: 768px) {
  .introSection {
    margin: 76px auto 0;
    max-width: 1280px;
    padding: 0 80px; } }

.introLead {
  margin-bottom: 105px;
  text-align: center; }
  @media print, screen and (max-width: 767px) {
    .introLead {
      margin-bottom: 119px; } }
  @media print, screen and (min-width: 768px) {
    .introLead {
      margin-bottom: 105px; } }

.introLead_text {
  color: #030303;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.04em; }
  @media print, screen and (max-width: 767px) {
    .introLead_text {
      font-size: 27.2px; } }
  @media print, screen and (min-width: 768px) {
    .introLead_text {
      font-size: 16px; } }

.introContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media print, screen and (max-width: 767px) {
    .introContent {
      gap: 85px; } }
  @media print, screen and (min-width: 768px) {
    .introContent {
      gap: 80px; } }

.introContent_item,
.introContent_item-reverse {
  position: relative;
  width: 100%; }
  @media print, screen and (max-width: 767px) {
    .introContent_item,
    .introContent_item-reverse {
      padding-bottom: 340px; } }
  @media print, screen and (min-width: 768px) {
    .introContent_item,
    .introContent_item-reverse {
      aspect-ratio: 1120/550; } }

@media print, screen and (max-width: 767px) {
  .introContent_itemImg {
    aspect-ratio: 1.42045;
    width: 100%; }
    .introContent_itemImg img, .introContent_itemImg video, .introContent_itemImg iframe {
      width: 100%;
      height: 100%;
      -o-object-fit: cover;
      object-fit: cover;
      -o-object-position: center;
      object-position: center; } }

@media print, screen and (min-width: 768px) {
  .introContent_itemImg {
    position: absolute;
    width: calc(780 / 1280 * 100vw);
    min-width: 600px;
    max-width: 780px; } }

.introContent_itemImg img {
  width: 100%;
  height: auto; }

@media print, screen and (min-width: 768px) {
  .introContent_item .introContent_itemImg {
    top: 50%;
    translate: 0 -50%;
    left: 0; } }

@media print, screen and (min-width: 768px) {
  .introContent_item .introContent_itemCircle {
    right: 0;
    top: 50%;
    translate: 0 -50%; } }

@media print, screen and (min-width: 768px) {
  .introContent_item-reverse .introContent_itemImg {
    top: 50%;
    translate: 0 -50%;
    right: 0; } }

@media print, screen and (min-width: 768px) {
  .introContent_item-reverse .introContent_itemCircle {
    left: 0;
    top: 50%;
    translate: 0 -50%; } }

.introContent_itemCircle {
  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;
  position: absolute; }
  .introContent_itemCircle::before {
    background-color: #ffe388;
    border-radius: 50%;
    -webkit-box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.03);
    box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.03);
    -webkit-filter: blur(11px);
    filter: blur(11px);
    position: absolute;
    content: '';
    top: 0;
    z-index: 1; }
    @media print, screen and (max-width: 767px) {
      .introContent_itemCircle::before {
        width: 510px;
        height: 510px; } }
    @media print, screen and (min-width: 768px) {
      .introContent_itemCircle::before {
        width: 400px;
        height: 400px; } }
  @media print, screen and (max-width: 767px) {
    .introContent_itemCircle {
      width: 510px;
      height: 510px;
      left: 50%;
      translate: -50% 0;
      bottom: 17px; } }
  @media print, screen and (min-width: 768px) {
    .introContent_itemCircle {
      width: 400px;
      height: 400px; } }

.introContent_itemCircleInner {
  text-align: center;
  position: relative;
  z-index: 10;
  margin: 0 10px; }
  @media print, screen and (min-width: 768px) {
    .introContent_itemCircleInner {
      margin: 0 33px; } }

.introContent_itemTitle {
  color: #030303;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.15em; }
  @media print, screen and (max-width: 767px) {
    .introContent_itemTitle {
      font-size: 30.6px;
      margin-bottom: 23.8px; } }
  @media print, screen and (min-width: 768px) {
    .introContent_itemTitle {
      font-size: 20px;
      margin-bottom: 26px; } }

.introContent_itemText {
  color: #030303;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em; }
  @media print, screen and (max-width: 767px) {
    .introContent_itemText {
      font-size: 23.8px;
      max-width: 442px;
      margin: 0 auto; } }
  @media print, screen and (min-width: 768px) {
    .introContent_itemText {
      -moz-text-align-last: left;
      text-align-last: left;
      font-size: 16px; } }

/*=============================================

For Souvenir

==============================================*/
@media print, screen and (max-width: 767px) {
  .souvenirSection {
    padding: 0 calc(20 / 375 * 100vw);
    margin: 136px 0 289px; } }

@media print, screen and (min-width: 768px) {
  .souvenirSection {
    padding-top: 160px;
    max-width: 1120px;
    margin: 0 auto 227px; } }

.souvenirHeader {
  text-align: center; }
  @media print, screen and (max-width: 767px) {
    .souvenirHeader {
      margin-bottom: 68px; } }
  @media print, screen and (min-width: 768px) {
    .souvenirHeader {
      margin-bottom: 80px; } }

.souvenirList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column; }
  @media print, screen and (max-width: 767px) {
    .souvenirList {
      gap: 85px; } }
  @media print, screen and (min-width: 768px) {
    .souvenirList {
      gap: 40px; } }
  .souvenirList .souvenirList_item:nth-child(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; }

@media print, screen and (min-width: 768px) {
  .souvenirList_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 80px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }

.souvenirList_itemImg {
  aspect-ratio: 1.73333; }
  .souvenirList_itemImg img, .souvenirList_itemImg video, .souvenirList_itemImg iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center; }
  @media print, screen and (max-width: 767px) {
    .souvenirList_itemImg {
      margin-bottom: 34px; } }
  @media print, screen and (min-width: 768px) {
    .souvenirList_itemImg {
      width: calc(520 / 1280 * 100vw);
      max-width: 520px; } }
  .souvenirList_itemImg img {
    width: 100%;
    height: auto; }

@media print, screen and (min-width: 768px) {
  .souvenirList_itemContent {
    width: calc(520 / 1280 * 100vw);
    max-width: 520px; } }

.souvenirList_itemTitle {
  color: #030303;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.4;
  margin: 0; }
  @media print, screen and (max-width: 767px) {
    .souvenirList_itemTitle {
      margin-bottom: 17px;
      font-size: 34px; } }
  @media print, screen and (min-width: 768px) {
    .souvenirList_itemTitle {
      margin-bottom: 16px;
      font-size: 20px; } }

.souvenirList_itemText {
  color: #030303;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em; }
  @media print, screen and (max-width: 767px) {
    .souvenirList_itemText {
      font-size: 27.2px; } }
  @media print, screen and (min-width: 768px) {
    .souvenirList_itemText {
      font-size: 16px; } }

.souvenirList_itemLink {
  display: inline-block;
  color: #CC5956 !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  position: relative;
  font-weight: bold;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  @media print, screen and (max-width: 767px) {
    .souvenirList_itemLink {
      margin-top: 34px;
      font-size: 23.8px;
      padding-right: 30.6px; } }
  @media print, screen and (min-width: 768px) {
    .souvenirList_itemLink {
      margin-top: 24px;
      padding-right: 18px; } }
  .souvenirList_itemLink::after {
    content: '';
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
    border-color: #AA1500;
    right: 0; }
    @media print, screen and (max-width: 767px) {
      .souvenirList_itemLink::after {
        width: 10.2px;
        height: 10.2px;
        border-top: 2px solid;
        border-right: 2px solid; } }
    @media print, screen and (min-width: 768px) {
      .souvenirList_itemLink::after {
        width: 6px;
        height: 6px;
        border-top: 1px solid;
        border-right: 1px solid; } }
  @media (hover: hover) {
    .souvenirList_itemLink:hover {
      opacity: 0.5; } }

/*=============================================

Voice

==============================================*/
.voiceSection {
  background-color: #FFFCF4;
  position: relative;
  overflow-x: clip; }
  .voiceSection::after {
    content: "";
    position: absolute;
    top: -100px;
    left: 50%;
    translate: -50% 0;
    background-color: #FFFCF4;
    border-radius: 50%;
    z-index: -1; }
    @media print, screen and (max-width: 767px) {
      .voiceSection::after {
        width: 1195.1px;
        height: 941.8px; } }
    @media print, screen and (min-width: 768px) {
      .voiceSection::after {
        width: calc(1610 / 1280 * 100vw);
        height: 506px; } }
  .voiceSection::before {
    content: "";
    position: absolute;
    bottom: -100px;
    left: 50%;
    translate: -50% 0;
    background-color: #FFFCF4;
    border-radius: 50%;
    z-index: -1; }
    @media print, screen and (max-width: 767px) {
      .voiceSection::before {
        width: 1195.1px;
        height: 941.8px; } }
    @media print, screen and (min-width: 768px) {
      .voiceSection::before {
        width: calc(1610 / 1280 * 100vw);
        height: 506px; } }
  @media print, screen and (min-width: 768px) {
    .voiceSection::before {
      bottom: -120px; } }

.voiceInner {
  max-width: 1120px;
  margin: 0 auto; }

.voiceHeader {
  margin-bottom: 60px;
  text-align: center; }

.voiceHeaderTitle {
  position: relative;
  padding-top: 33px;
  color: #030303;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.15em; }
  .voiceHeaderTitle::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 30px;
    height: 3px;
    background-color: #CC5956; }

@media print, screen and (max-width: 767px) {
  .voiceList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 17px;
    scrollbar-width: none;
    padding-bottom: 51px;
    padding-right: 25.5px; }
    .voiceList::-webkit-scrollbar {
      display: none; }
    .voiceList .voiceList_item:first-child {
      margin-left: 45.9px; }
    .voiceList .voiceList_item:last-child {
      margin-right: 45.9px; } }

@media print, screen and (min-width: 768px) {
  .voiceList {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 40px 20px;
    margin-bottom: 60px;
    padding: 0 20px; } }

.voiceList_item {
  background-color: #fff;
  border: 1px solid #030303;
  border-radius: 10px;
  -webkit-box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.06);
  box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.06);
  overflow: visible; }
  @media print, screen and (max-width: 767px) {
    .voiceList_item {
      width: 544px;
      -ms-flex-negative: 0;
      flex-shrink: 0;
      padding: 51px 34px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_item {
      padding: 30px 20px;
      min-height: 473px; } }

.voiceList_itemTop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media print, screen and (max-width: 767px) {
    .voiceList_itemTop {
      margin-bottom: 42.5px;
      gap: 34px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_itemTop {
      margin-bottom: 20px;
      gap: 17px; } }

.voiceList_itemAvatar {
  -ms-flex-negative: 0;
  flex-shrink: 0; }

.voiceList_itemAvatar_image {
  aspect-ratio: 1; }
  .voiceList_itemAvatar_image img, .voiceList_itemAvatar_image video, .voiceList_itemAvatar_image iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center; }
  @media print, screen and (max-width: 767px) {
    .voiceList_itemAvatar_image {
      width: 102px;
      margin-bottom: 18.7px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_itemAvatar_image {
      width: 80px;
      margin-bottom: 11px; } }

.voiceList_itemTitle {
  color: #030303;
  font-weight: bold;
  letter-spacing: 0.15em;
  margin: 0;
  line-height: 1.5; }
  @media print, screen and (max-width: 767px) {
    .voiceList_itemTitle {
      font-size: 25.5px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_itemTitle {
      font-size: 18px; } }

.voiceList_itemAge {
  font-weight: bold;
  letter-spacing: 0.15em;
  text-align: center;
  line-height: 1; }
  @media print, screen and (max-width: 767px) {
    .voiceList_itemAge {
      font-size: 17px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_itemAge {
      font-size: 12px; } }

.voiceList_itemDivider {
  width: 100%;
  height: 1px;
  border-top: 1px dashed #030303; }
  @media print, screen and (max-width: 767px) {
    .voiceList_itemDivider {
      margin-bottom: 27.2px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_itemDivider {
      margin-bottom: 16px; } }

.voiceList_itemText {
  color: #030303;
  font-weight: 500;
  line-height: 1.8;
  text-align: left;
  display: block; }
  @media print, screen and (max-width: 767px) {
    .voiceList_itemText {
      font-size: 22.1px; } }
  @media print, screen and (min-width: 768px) {
    .voiceList_itemText {
      font-size: 14px;
      letter-spacing: 0.1em; } }

.voiceButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media print, screen and (max-width: 767px) {
    .voiceButton.dn-sp {
      display: none !important; } }

/*=============================================

step

==============================================*/
.stepSection {
  position: relative;
  width: 100%; }
  @media print, screen and (max-width: 767px) {
    .stepSection {
      padding: 170px calc(20 / 375 * 100vw) 0; } }
  @media print, screen and (min-width: 768px) {
    .stepSection {
      padding-top: 100px; } }

.stepInner {
  position: relative;
  margin: 0 auto;
  z-index: 1; }
  @media print, screen and (max-width: 767px) {
    .stepInner {
      padding: 85px 0 85px; } }
  @media print, screen and (min-width: 768px) {
    .stepInner {
      max-width: 1020px;
      padding: 80px 0 109px; } }

.stepHeader {
  text-align: center; }
  @media print, screen and (max-width: 767px) {
    .stepHeader {
      margin-bottom: 68px; } }
  @media print, screen and (min-width: 768px) {
    .stepHeader {
      margin-bottom: 81px; } }

@media print, screen and (max-width: 767px) {
  .stepList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    gap: 25.5px;
    margin: 0 -34px 68px;
    padding-right: 25.5px;
    overflow-x: auto;
    scrollbar-width: none; }
    .stepList::-webkit-scrollbar {
      display: none; }
    .stepList .stepList_item:first-child {
      margin-left: 34px; }
    .stepList .stepList_item:last-child {
      margin-right: 34px; } }

@media print, screen and (min-width: 768px) {
  .stepList {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 60px; } }

.stepList_item {
  background-color: #fff;
  border: 1px solid;
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 3px; }
  @media print, screen and (max-width: 767px) {
    .stepList_item {
      width: 374px;
      -ms-flex-negative: 0;
      flex-shrink: 0; } }
  .stepList_item:nth-child(1) {
    border-color: #dd9a99; }
  .stepList_item:nth-child(2) {
    border-color: #cc6866; }
  .stepList_item:nth-child(3) {
    border-color: #bb3633; }
  .stepList_item:nth-child(4) {
    border-color: #aa1500; }

.stepList_itemHeader {
  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;
  height: 62px;
  background-color: #cc5956; }
  @media print, screen and (max-width: 767px) {
    .stepList_itemHeader {
      height: 105.4px; } }
  @media print, screen and (min-width: 768px) {
    .stepList_itemHeader {
      height: 62px; } }
  .stepList_item:nth-child(1) .stepList_itemHeader {
    opacity: 0.4; }
  .stepList_item:nth-child(2) .stepList_itemHeader {
    opacity: 0.6; }
  .stepList_item:nth-child(3) .stepList_itemHeader {
    opacity: 0.8; }
  .stepList_item:nth-child(4) .stepList_itemHeader {
    opacity: 1; }

.stepList_itemNumber {
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.15em; }
  @media print, screen and (max-width: 767px) {
    .stepList_itemNumber {
      font-size: 34px; } }
  @media print, screen and (min-width: 768px) {
    .stepList_itemNumber {
      font-size: 20px; } }

@media print, screen and (max-width: 767px) {
  .stepList_itemContent {
    padding: 54.4px 34px 68px; } }

@media print, screen and (min-width: 768px) {
  .stepList_itemContent {
    padding: 28px 20px 40px; } }

.stepList_itemTitle {
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.15em; }
  @media print, screen and (max-width: 767px) {
    .stepList_itemTitle {
      font-size: 27.2px;
      margin: 0 0 17px 0; } }
  @media print, screen and (min-width: 768px) {
    .stepList_itemTitle {
      font-size: 18px;
      margin: 0 0 12px 0; } }

.stepList_itemText {
  color: #030303;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em; }
  @media print, screen and (max-width: 767px) {
    .stepList_itemText {
      font-size: 23.8px;
      margin-bottom: 44.2px; } }
  @media print, screen and (min-width: 768px) {
    .stepList_itemText {
      font-size: 14px;
      margin-bottom: 16px; } }

.stepList_itemImage {
  aspect-ratio: 1;
  width: 100%; }
  .stepList_itemImage img, .stepList_itemImage video, .stepList_itemImage iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center; }

.stepButtons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media print, screen and (max-width: 767px) {
    .stepButtons {
      -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;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      gap: 34px; } }
  @media print, screen and (min-width: 768px) {
    .stepButtons {
      gap: 20px; } }

/*=============================================

For Gift

==============================================*/
.giftSection {
  margin: 0 auto; }
  @media print, screen and (max-width: 767px) {
    .giftSection {
      padding-top: 85px;
      margin-bottom: 255px; } }
  @media print, screen and (min-width: 768px) {
    .giftSection {
      padding-top: 100px;
      margin-bottom: 207px;
      max-width: 880px; } }

.giftHeader {
  text-align: center; }
  @media print, screen and (max-width: 767px) {
    .giftHeader {
      margin-bottom: 61.2px; } }
  @media print, screen and (min-width: 768px) {
    .giftHeader {
      margin-bottom: 60px; } }

.giftHeader_title {
  position: relative;
  margin-bottom: 40px;
  padding-top: 33px;
  color: #030303;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.15em; }
  .giftHeader_title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 30px;
    height: 3px;
    background-color: #cc5956; }

.giftHeader_text {
  color: #030303;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em; }

@media print, screen and (max-width: 767px) {
  .giftList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 68px;
    margin-bottom: 68px;
    scrollbar-width: none;
    padding-right: 25.5px; }
    .giftList::-webkit-scrollbar {
      display: none; }
    .giftList .giftList_item:first-child {
      margin-left: 34px; }
    .giftList .giftList_item:last-child {
      margin-right: 34px; } }

@media print, screen and (min-width: 768px) {
  .giftList {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: 80px;
    margin-bottom: 60px; } }

@media print, screen and (max-width: 767px) {
  .giftList_itemImg {
    margin-bottom: 27.2px;
    width: 408px; } }

@media print, screen and (min-width: 768px) {
  .giftList_itemImg {
    margin-bottom: 16px;
    width: 240px; } }

.giftList_itemImg img {
  width: 100%;
  height: auto; }

.giftList_itemName {
  color: #030303;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.15em;
  text-align: center;
  margin: 0; }
  @media print, screen and (max-width: 767px) {
    .giftList_itemName {
      font-size: 23.8px; } }
  @media print, screen and (min-width: 768px) {
    .giftList_itemName {
      font-size: 18px; } }

.giftButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }

.giftButton_link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 300px;
  height: 60px;
  color: #fff;
  background-color: #cc5956;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.04em;
  text-decoration: none;
  position: relative; }
  .giftButton_link::after {
    content: '';
    position: absolute;
    right: 35px;
    top: 50%;
    width: 5px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg); }

/*=============================================

Lineup

==============================================*/
.lineupSection {
  position: relative;
  background-color: #FFFCF4;
  overflow-x: clip; }
  @media print, screen and (max-width: 767px) {
    .lineupSection {
      padding-bottom: 102px; } }
  .lineupSection::after {
    content: "";
    position: absolute;
    top: -100px;
    left: 50%;
    translate: -50% 0;
    background-color: #FFFCF4;
    border-radius: 50%;
    z-index: -1; }
    @media print, screen and (max-width: 767px) {
      .lineupSection::after {
        width: 1195.1px;
        height: 941.8px; } }
    @media print, screen and (min-width: 768px) {
      .lineupSection::after {
        width: calc(1610 / 1280 * 100vw);
        height: 506px; } }
  .lineupSection::before {
    content: "";
    position: absolute;
    bottom: -100px;
    left: 50%;
    translate: -50% 0;
    background-color: #FFFCF4;
    border-radius: 50%;
    z-index: -1; }
    @media print, screen and (max-width: 767px) {
      .lineupSection::before {
        width: 1195.1px;
        height: 941.8px; } }
    @media print, screen and (min-width: 768px) {
      .lineupSection::before {
        width: calc(1610 / 1280 * 100vw);
        height: 506px; } }
  .lineupSection::before {
    z-index: 1; }

.lineupInner {
  position: relative;
  z-index: 1; }
  @media print, screen and (max-width: 767px) {
    .lineupInner {
      padding-top: 34px; } }
  @media print, screen and (min-width: 768px) {
    .lineupInner {
      max-width: 1120px;
      margin: 0 auto;
      padding: 20px 0 50px; } }

.lineupHeader {
  text-align: center; }
  @media print, screen and (max-width: 767px) {
    .lineupHeader {
      margin-bottom: 61.2px; } }
  @media print, screen and (min-width: 768px) {
    .lineupHeader {
      margin-bottom: 101px; } }

.lineupHeader_title {
  position: relative;
  margin-bottom: 35px;
  padding-top: 33px;
  color: #030303;
  font-size: 28px;
  font-weight: bold;
  letter-spacing: 0.15em; }
  .lineupHeader_title::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 30px;
    height: 3px;
    background-color: #cc5956; }

.lineupHeader_text {
  color: #030303;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em; }

.lineupHero {
  position: relative; }
  @media print, screen and (max-width: 767px) {
    .lineupHero {
      margin-bottom: 68px; } }
  @media print, screen and (min-width: 768px) {
    .lineupHero {
      margin-bottom: 80px; } }

.lineupHero_img {
  position: relative; }
  @media print, screen and (max-width: 767px) {
    .lineupHero_img {
      aspect-ratio: 1.32979;
      width: 100%; }
      .lineupHero_img img, .lineupHero_img video, .lineupHero_img iframe {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center; } }
  @media print, screen and (min-width: 768px) {
    .lineupHero_img {
      aspect-ratio: 1120/609;
      margin: 0 auto;
      width: calc(1120 / 1280 * 100vw);
      max-width: 1120px; } }

.lineupHero_imgItem {
  position: absolute; }
  .lineupHero_imgItem:nth-child(1) {
    top: 0;
    left: 0; }
    @media print, screen and (max-width: 767px) {
      .lineupHero_imgItem:nth-child(1) {
        aspect-ratio: 1.78947;
        width: 578px; }
        .lineupHero_imgItem:nth-child(1) img, .lineupHero_imgItem:nth-child(1) video, .lineupHero_imgItem:nth-child(1) iframe {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          -o-object-position: center;
          object-position: center; } }
    @media print, screen and (min-width: 768px) {
      .lineupHero_imgItem:nth-child(1) {
        aspect-ratio: 1.77083;
        width: calc(850 / 1280 * 100vw);
        max-width: 850px; }
        .lineupHero_imgItem:nth-child(1) img, .lineupHero_imgItem:nth-child(1) video, .lineupHero_imgItem:nth-child(1) iframe {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          -o-object-position: center;
          object-position: center; } }
  .lineupHero_imgItem:nth-child(2) {
    bottom: 0;
    right: 0; }
    @media print, screen and (max-width: 767px) {
      .lineupHero_imgItem:nth-child(2) {
        aspect-ratio: 1.69231;
        width: 374px; }
        .lineupHero_imgItem:nth-child(2) img, .lineupHero_imgItem:nth-child(2) video, .lineupHero_imgItem:nth-child(2) iframe {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          -o-object-position: center;
          object-position: center; } }
    @media print, screen and (min-width: 768px) {
      .lineupHero_imgItem:nth-child(2) {
        aspect-ratio: 1.73418;
        width: calc(548 / 1280 * 100vw);
        max-width: 548px; }
        .lineupHero_imgItem:nth-child(2) img, .lineupHero_imgItem:nth-child(2) video, .lineupHero_imgItem:nth-child(2) iframe {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover;
          -o-object-position: center;
          object-position: center; } }

.lineupHero_box {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 646px;
  padding: 40px;
  background-color: #fffcf4;
  border-radius: 10px 0 0 0; }

.lineupHero_title {
  margin-bottom: 32px;
  color: #030303;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.15em; }

.lineupHero_text {
  color: #030303;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.04em; }

.lineupProducts_header {
  margin-bottom: 80px;
  text-align: center; }

.lineupChart {
  margin: 0 auto;
  position: relative; }
  .lineupChart::after, .lineupChart::before {
    content: "";
    position: absolute;
    background-color: #FFE388;
    top: 50%;
    left: 50%;
    translate: -50% -50%; }
  .lineupChart::after {
    height: 100%; }
    @media print, screen and (max-width: 767px) {
      .lineupChart::after {
        width: 3.4px; } }
    @media print, screen and (min-width: 768px) {
      .lineupChart::after {
        width: 2px; } }
  .lineupChart::before {
    width: 100%; }
    @media print, screen and (max-width: 767px) {
      .lineupChart::before {
        height: 3.4px; } }
    @media print, screen and (min-width: 768px) {
      .lineupChart::before {
        height: 2px; } }
  @media print, screen and (max-width: 767px) {
    .lineupChart {
      margin: 0 calc(10 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .lineupChart {
      max-width: clamp(800px, calc(1009 / 1280 * 100vw), 1009px); } }

.lineupChart_guide {
  position: absolute;
  letter-spacing: 0.04em;
  font-weight: bold;
  background-color: #FFE388;
  border-radius: 50px; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_guide {
      font-size: 20.4px;
      line-height: 1.4;
      padding: 17px 34px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_guide {
      font-size: 16px;
      line-height: 1.8;
      padding: 6px 20px; } }
  .lineupChart_guide[data-chart="top"] {
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  .lineupChart_guide[data-chart="right"] {
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
  .lineupChart_guide[data-chart="bottom"] {
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
  .lineupChart_guide[data-chart="left"] {
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }

.lineupChart_wrap {
  position: relative; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_wrap[data-chart-content="top"] {
      padding-top: 136px;
      padding-bottom: 130.9px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_wrap[data-chart-content="top"] {
      padding-top: 66px;
      padding-bottom: 70px; } }
  @media print, screen and (max-width: 767px) {
    .lineupChart_wrap[data-chart-content="bottom"] {
      padding-top: 130.9px;
      padding-bottom: 136px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_wrap[data-chart-content="bottom"] {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
      flex-direction: column-reverse;
      padding-top: 70px;
      padding-bottom: 30px; } }

.lineupChart_title {
  display: inline-block;
  padding: 10px 20px;
  border: 1px solid #707070;
  color: #000;
  font-weight: bold;
  letter-spacing: 0.04em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_title {
      font-size: 20.4px;
      padding: 17px 34px;
      translate: 0 -34px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_title {
      font-size: 12px;
      padding: 10px 20px;
      margin: 0 0 18px; } }

.lineupChart_list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  max-width: 505px;
  margin: 0 auto; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_list {
      gap: 153px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_list {
      gap: clamp(100px, calc(200 / 1280 * 100vw), 200px); } }

.lineupChart_item {
  position: relative;
  display: block;
  cursor: pointer;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease; }
  [data-chart-content="top"] .lineupChart_item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column; }
  [data-chart-content="bottom"] .lineupChart_item {
    gap: 10px; }
    @media print, screen and (max-width: 767px) {
      [data-chart-content="bottom"] .lineupChart_item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column; } }
    @media print, screen and (min-width: 768px) {
      [data-chart-content="bottom"] .lineupChart_item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; } }
  @media (hover: hover) {
    .lineupChart_item:hover {
      opacity: 0.5;
      text-decoration: none; } }

.lineupChart_itemBadge {
  position: absolute;
  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;
  background-color: #cc5956;
  border-radius: 50%;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.04em;
  z-index: 1; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_itemBadge {
      width: 85px;
      height: 85px;
      font-size: 17px;
      top: -40.8px;
      right: -8.5px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_itemBadge {
      width: 75px;
      height: 75px;
      font-size: 14px;
      top: -32px;
      right: -28px; } }

.lineupChart_itemImage {
  margin-bottom: 8px;
  aspect-ratio: 1; }
  .lineupChart_itemImage img, .lineupChart_itemImage video, .lineupChart_itemImage iframe {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_itemImage {
      width: calc(90 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_itemImage {
      width: 150px; } }
  .lineupChart_itemImage img {
    width: 100%;
    height: auto; }

.lineupChart_itemInfo {
  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; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_itemInfo {
      gap: 6.8px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_itemInfo {
      gap: 8px; } }

.lineupChart_itemInfo_wrap {
  text-align: center; }

.lineupChart_itemType {
  color: #030303;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_itemType {
      font-size: 18.7px;
      margin-bottom: 6.8px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_itemType {
      font-size: 13px;
      margin-bottom: 5px; } }

.lineupChart_itemPrice {
  color: #030303;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_itemPrice {
      font-size: 17px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_itemPrice {
      font-size: 11px; } }

.lineupChart_itemIcon {
  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;
  background-color: #CC5956;
  border-radius: 50%;
  position: relative;
  -ms-flex-negative: 0;
  flex-shrink: 0; }
  @media print, screen and (max-width: 767px) {
    .lineupChart_itemIcon {
      width: 25.5px;
      height: 25.5px; } }
  @media print, screen and (min-width: 768px) {
    .lineupChart_itemIcon {
      width: 21px;
      height: 21px; } }
  .lineupChart_itemIcon::after {
    content: '';
    position: absolute;
    width: 6px;
    height: 6px;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg); }
    @media print, screen and (max-width: 767px) {
      .lineupChart_itemIcon::after {
        width: 8.5px;
        height: 8.5px;
        left: 6.8px;
        top: 8.5px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff; } }
    @media print, screen and (min-width: 768px) {
      .lineupChart_itemIcon::after {
        width: 6px;
        height: 6px;
        left: 6px;
        border-top: 1px solid #fff;
        border-right: 1px solid #fff; } }

.lineupNote {
  letter-spacing: 0.04em;
  font-weight: 500;
  line-height: 1.4;
  position: absolute;
  white-space: nowrap; }
  @media print, screen and (max-width: 767px) {
    .lineupNote {
      font-size: 20.4px;
      bottom: -85px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); } }
  @media print, screen and (min-width: 768px) {
    .lineupNote {
      font-size: 12px;
      bottom: 0;
      right: 0; } }

/*=============================================

CTA

==============================================*/
.ctaSection {
  position: relative;
  margin: 0 auto;
  overflow: hidden; }

.ctaBackground {
  position: relative;
  width: 100%; }

.ctaBackground_img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center; }

.ctaBackground_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.22); }

.ctaContent {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  gap: 30px;
  z-index: 2; }
  @media print, screen and (max-width: 767px) {
    .ctaContent {
      top: 58%; } }
  @media print, screen and (min-width: 768px) {
    .ctaContent {
      top: 62%;
      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; } }

.ctaContent_title {
  color: #fff;
  font-weight: bold;
  text-align: center;
  margin: 0; }
  @media print, screen and (max-width: 767px) {
    .ctaContent_title {
      font-size: 42.5px;
      letter-spacing: 0.1em;
      line-height: 1.4;
      white-space: nowrap;
      margin: 0 0 68px 0; } }
  @media print, screen and (min-width: 768px) {
    .ctaContent_title {
      font-size: 30px;
      letter-spacing: 0.15em;
      line-height: 2; } }

.ctaButtons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media print, screen and (max-width: 767px) {
    .ctaButtons {
      -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: 34px; } }
  @media print, screen and (min-width: 768px) {
    .ctaButtons {
      gap: 20px; } }
