@charset "UTF-8";
html {
  scroll-behavior: smooth;
  scroll-padding-top: 50px;
}
@media (min-width: 992px) {
  html {
    scroll-padding-top: 65px;
  }
}

[x-cloak] {
  display: none !important;
}

body {
  background-color: #FFFDF6;
  color: #5C3F2F;
  font-family: "Role Soft Display Pro Regular", sans-serif;
}

.techo-items {
  font: 10px/1.75 "-apple-system", "Helvetica Neue", "Hiragino Kaku Gothic ProN", meiryo, "M+ 1p", sans-serif;
}

br {
  display: none;
}
@media (min-width: 992px) {
  br {
    display: block;
  }
}

[data-sal=slide-up] {
  transform: translateY(30px);
}

.lineup__list__item .techo-items {
  width: 240px;
  margin-right: auto;
  margin-left: auto;
}
.lineup__list__item .techo-items > li {
  width: 100% !important;
  background-color: #fff;
  border: 10px solid #fff;
}
@media (min-width: 992px) {
  .lineup__list__item .techo-items > li {
    width: 240px !important;
  }
}

#page {
  padding-top: initial;
}

.btn-gotop {
  display: none !important;
}

main img {
  max-width: 100%;
  width: initial;
  display: initial;
}

h2 {
  font-family: "Role Soft Display Pro Medium";
  margin-bottom: 20px;
  font-size: 20px;
  line-height: 30px;
  letter-spacing: 0.5px;
}

h3:not(.bubble) {
  color: #fff;
  font-family: "Role Slab Text Pro Bold";
  font-feature-settings: "palt";
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: 50% 50%;
  height: 70px;
  font-size: 20px;
  line-height: 30px;
}
@media (min-width: 992px) {
  h3:not(.bubble) {
    height: 100px;
    font-size: 26px;
    letter-spacing: 3px;
  }
}
.enjoy h3:not(.bubble) {
  background-image: url(../img/bg_ttl_enjoy.webp);
}
.basic h3:not(.bubble) {
  background-image: url(../img/bg_ttl_basic.webp);
}
.format h3:not(.bubble) {
  background-image: url(../img/bg_ttl_format.webp);
}
.lineup h3:not(.bubble) {
  background-image: url(../img/bg_ttl_lineup.webp);
}
.gift h3:not(.bubble) {
  background-image: url(../img/bg_ttl_gift.webp);
}
.happy h3:not(.bubble) {
  background-image: url(../img/bg_ttl_happy.webp);
}

.bubble {
  font-size: 17px;
  letter-spacing: 0.85px;
  line-height: 32px;
  color: #fff;
  background-color: #705142;
  border-radius: 2em;
  padding: 0.1em 1em 0em;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .bubble {
    font-size: 23px;
    letter-spacing: 1.15px;
    margin-bottom: 58px;
  }
}
.bubble::after {
  content: "";
  position: absolute;
  bottom: -11px;
  height: 12px;
  width: 12px;
  background-image: url(../img/bubble_tail.svg);
  background-size: contain;
}
@media (min-width: 992px) {
  .bubble::after {
    bottom: -19px;
    height: 20px;
    width: 20px;
  }
}
.bubble.bubble_right::after {
  transform: scale(-1, 1);
}

.splash {
  height: 100vh;
  width: 100vw;
  position: fixed;
  z-index: 1000;
  animation: fadeOutDiv 0.9s ease-in-out calc(7 * 0.4s) forwards;
}
.splash div {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  animation: BgColorChange 1s forwards;
}
@keyframes BgColorChange {
  0% {
    background-color: #fff;
  }
  100% {
    background-color: rgba(255, 238, 226, 0.98);
  }
}
.splash img {
  width: 25vw;
  max-width: 120px;
  position: relative;
  top: 0.5em;
  opacity: 0;
  transition: opacity 0.9s;
}
.splash img:nth-child(1) {
  animation: fadeInImage 0.9s ease-in-out 0.4s forwards;
}
.splash img:nth-child(2) {
  animation: fadeInImage 0.9s ease-in-out calc(2 * 0.4s) forwards;
}
.splash img:nth-child(3) {
  animation: fadeInImage 0.9s ease-in-out calc(3 * 0.4s) forwards;
}
.splash img:nth-child(4) {
  animation: fadeInImage 0.9s ease-in-out calc(4 * 0.4s) forwards;
}
.splash img:nth-child(5) {
  animation: fadeInImage 0.9s ease-in-out calc(5 * 0.4s) forwards;
}
@keyframes fadeInImage {
  to {
    opacity: 1;
    top: 0;
  }
}
@keyframes fadeOutDiv {
  to {
    opacity: 0;
    pointer-events: none;
  }
}

header {
  font-family: "Role Soft Display Pro Medium";
  position: fixed;
  z-index: 100;
  width: 100%;
  top: -1px;
  color: #705142;
}

.menu-sp {
  background: rgba(0, 0, 0, 0.6);
  height: 100vh;
  width: 100vw;
  z-index: 1000;
  position: fixed;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.6s;
}
.menu-sp.view {
  opacity: 1;
  pointer-events: all;
}
.menu-sp.view nav {
  transform: translateY(0);
}
.menu-sp nav {
  background: rgba(255, 238, 226, 0.95);
  height: 100%;
  width: calc(100% - 60px);
  transform: translateX(-100%);
  transition: transform 0.6s;
  font-size: 14px;
  line-height: 32px;
  padding-left: 40px;
  padding-bottom: 34px;
  padding-top: 4px;
  display: flex;
  flex-direction: column;
}
.menu-sp button {
  padding: 1em;
  display: inline-flex;
  margin-left: auto;
  margin-bottom: 50px;
}
.menu-sp .lang li + li::before {
  top: 16px;
}
.menu-sp__list {
  margin-bottom: 8px;
}
.menu-sp__list li {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}
.menu-sp__logo {
  margin-top: auto;
  width: 110px;
}
.menu-sp__logo svg {
  fill: #705142;
  width: 100%;
  min-height: -moz-max-content;
  min-height: max-content;
  height: 1em;
}

.menu-pc {
  box-shadow: 0px 2px 20px 0px rgba(0, 0, 0, 0.2);
  font-size: 14px;
  position: relative;
}
.menu-pc::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 238, 226, 0.95);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
}
.menu-pc ul {
  display: none;
}
@media (min-width: 1200px) {
  .menu-pc ul {
    display: flex;
  }
}
.menu-pc__list {
  gap: 33px;
}
.menu-pc .container {
  position: relative;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 50px;
  padding-right: 22px;
  padding-left: 22px;
}
@media (min-width: 600px) {
  .menu-pc .container {
    height: 65px;
  }
}
.menu-pc svg {
  width: 146px;
}
@media (min-width: 992px) {
  .menu-pc svg {
    width: 225px;
  }
}
.menu-pc button {
  height: 100%;
  display: flex;
  align-items: center;
}
@media (min-width: 1200px) {
  .menu-pc button {
    display: none;
  }
}

.scroll_top {
  width: 60px;
  position: fixed;
  right: 26px;
  bottom: 26px;
  z-index: 10;
  transition: all 0.4s;
}
.scroll_top:hover {
  opacity: 0.5;
}
@media (min-width: 992px) {
  .scroll_top {
    bottom: 35px;
    right: 40px;
  }
}

.lang {
  color: #fff;
  display: flex;
  gap: 22px;
}
.lang a {
  color: #705142;
}
.lang li + li {
  position: relative;
}
.lang li + li::before {
  content: "";
  position: absolute;
  border-top: 1px solid #705142;
  transform: rotate(124deg);
  width: 25px;
  height: 1px;
  top: 11px;
  left: -24px;
}

.txt_marker {
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.txt_marker::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 5px;
  bottom: 2px;
  z-index: -1;
  background: #FFDA7A;
}

.txt_number {
  color: #fff;
  margin-right: 4px;
  line-height: 28px;
  width: 28px;
  aspect-ratio: 1/1;
  display: inline-block;
  text-align: center;
  position: relative;
}
.txt_number::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: -2px;
  background-color: #6CDEDF;
  border-radius: 2em;
  z-index: -1;
}
@media (min-width: 992px) {
  .txt_number {
    font-size: 16px;
    margin-right: 4px;
  }
}

.prev,
.next {
  flex-shrink: 0;
}

.prev {
  order: -1;
}

.next img {
  transform: rotate(180deg);
}

.swiper-container {
  flex-grow: 1;
  --swiper-pagination-bullet-horizontal-gap:6px;
  --swiper-pagination-bullet-size: 10px;
  --swiper-theme-color: #705142;
  --swiper-pagination-bullet-inactive-color:#fff;
  --swiper-pagination-bullet-inactive-opacity:1;
}
.swiper-container .swiper-pagination-bullet {
  border: 1px solid #705142;
}

.swiper-button-disabled {
  opacity: 0.1;
}

.main-visual {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.main-visual__title {
  width: calc(100% - 4em);
  max-width: 617px;
  filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.2));
  position: absolute;
  z-index: 10;
}
.main-visual__title img {
  width: 100%;
}
.main-visual__img {
  width: 100%;
  height: 100%;
}
.main-visual__img .swiper-wrapper {
  overflow: hidden;
}
.main-visual__img img {
  max-width: initial;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.main-visual__scroll {
  position: absolute;
  bottom: 24px;
  left: 0;
  z-index: 10;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.main-visual__scroll img {
  transform-origin: center bottom;
  animation: bound-anim 0.8s ease-in alternate infinite;
}
@keyframes bound-anim {
  0% {
    transform: translateY(-20%);
    opacity: 0.2;
  }
  100% {
    transform: translateY(0%);
    opacity: 1;
  }
}

.yodogawa {
  min-height: 100vh;
  background-image: url(../img/bg_yodogawa.webp);
  background-position: 50% 50%;
  background-size: cover;
  display: flex;
  align-items: center;
  justify-content: center;
}
.yodogawa p + p {
  margin-top: 1em;
}
.yodogawa .container {
  font-family: "Role Soft Display Pro Medium";
  font-size: 15px;
  line-height: 28px;
  padding-top: 50px;
  padding-bottom: 50px;
  padding-right: 50px;
  padding-left: 50px;
}
@media (min-width: 992px) {
  .yodogawa .container {
    width: 310px;
    font-size: 16px;
    line-height: 30px;
    padding-top: 80px;
    padding-right: initial;
    padding-left: initial;
    padding-bottom: 100px;
  }
}

.enjoy {
  display: flex;
  flex-direction: column;
  gap: 38px;
}
@media (min-width: 992px) {
  .enjoy {
    gap: 64px;
  }
}
.enjoy__yodogawa {
  font-family: "Role Soft Display Pro Medium";
  font-size: 15px;
  line-height: 25px;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 5px;
}
.enjoy__yodogawa br {
  display: block;
}
@media (min-width: 992px) {
  .enjoy__yodogawa {
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 12px;
  }
}
.enjoy__howto {
  padding-right: 12px;
  padding-left: 12px;
  width: 100%;
  max-width: 1250px;
  margin-bottom: 70px;
}
@media (min-width: 992px) {
  .enjoy__howto {
    padding-right: 70px;
    padding-left: 70px;
    margin-right: auto;
    margin-left: auto;
  }
}
.enjoy__howto .txt_marker {
  font-feature-settings: "palt";
}
.enjoy__howto .container {
  position: relative;
  border-radius: 10px;
  background: rgba(255, 238, 226, 0.6);
  padding-top: 30px;
  padding-bottom: 36px;
}
@media (min-width: 992px) {
  .enjoy__howto .container {
    border-radius: 30px;
    width: 100%;
    padding-top: 52px;
    padding-bottom: 64px;
  }
}
.enjoy__howto picture {
  flex-grow: 1;
  max-width: 780px;
}
.enjoy__howto picture img {
  width: 100%;
}
.enjoy__howto .swiper-container {
  overflow: hidden;
  max-width: 800px;
}
@media (min-width: 600px) {
  .enjoy__howto .swiper-container.swiper_enjoy_howto_text {
    max-width: 480px;
  }
  .enjoy__howto .swiper-container.swiper_enjoy_howto_text div {
    font-size: 12px;
    line-height: 22px;
    letter-spacing: 0.6px;
  }
}
.enjoy__howto__img, .enjoy__howto__text {
  display: flex;
  justify-content: center;
  align-items: center;
}
.enjoy__howto__img button img, .enjoy__howto__text button img {
  width: 10px;
}
.enjoy__howto__text {
  max-width: 100%;
  gap: 14px;
  padding-right: 14px;
  padding-left: 14px;
  padding-bottom: 20px;
}
@media (min-width: 600px) {
  .enjoy__howto__text button {
    display: none;
  }
}
.enjoy__howto__text .swiper-wrapper {
  align-items: center;
}
.enjoy__howto__text__item {
  background-color: #fff;
  border-radius: 15px;
  border: 2px dashed #705142;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-right: 20px;
  padding-left: 20px;
  padding-top: 12px;
  padding-bottom: 18px;
}
@media (min-width: 992px) {
  .enjoy__howto__text__item_01 {
    padding-top: 14px;
  }
}
.enjoy__howto__text__item_01 .enjoy__howto__text__ttl {
  gap: 5px;
  margin-right: 10px;
}
@media (min-width: 992px) {
  .enjoy__howto__text__item_01 .enjoy__howto__text__ttl {
    margin-right: 20px;
  }
}
.enjoy__howto__text__item_03 .enjoy__howto__text__ttl {
  gap: 5px;
}
.enjoy__howto__text__item .enjoy__howto__text__ttl {
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.enjoy__howto__text__item .enjoy__howto__text__ttl span {
  font-family: "Role Soft Display Pro bold";
  font-size: 14px;
  line-height: 16px;
}
@media (min-width: 992px) {
  .enjoy__howto__text__item .enjoy__howto__text__ttl span {
    font-size: 18px;
    line-height: 20px;
    display: flex;
  }
}
.enjoy__howto__text__item .enjoy__howto__text__ttl small {
  font-family: "Role Soft Display Pro Medium";
  font-size: 10px;
}
@media (min-width: 992px) {
  .enjoy__howto__text__item .enjoy__howto__text__ttl small {
    font-size: 12px;
    line-height: 20px;
  }
}
.enjoy__howto__text__item .enjoy__howto__text__ttl h5 {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: baseline;
}
.enjoy__howto__text__item img {
  max-width: 40px;
  height: auto;
}
.enjoy__howto__text__item div {
  font-size: 10px;
  line-height: 18px;
  letter-spacing: 0.4px;
}
.enjoy__howto__img {
  --swiper-pagination-bottom:-38px;
  gap: 60px;
  width: 100%;
}
.enjoy__howto__img button {
  display: none;
}
@media (min-width: 600px) {
  .enjoy__howto__img {
    padding-right: 60px;
    padding-left: 60px;
  }
  .enjoy__howto__img button {
    display: block;
  }
}
.enjoy__example {
  margin-bottom: 70px;
}
.enjoy__example .txt_marker::before {
  bottom: 5px;
}
.enjoy__example .container {
  display: grid;
  gap: 24px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 992px) {
  .enjoy__example .container {
    gap: 52px 44px;
    grid-template-columns: 1fr 1fr;
    width: -moz-max-content;
    width: max-content;
  }
}
.enjoy__example .container div {
  font-size: 14px;
}
.enjoy__example dl {
  text-align: center;
  line-height: 28px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.enjoy__example dt {
  font-family: "Role Soft Display Pro bold";
  font-size: 16px;
  line-height: 31px;
  letter-spacing: 0.6px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
.enjoy__example dt::before {
  content: "●";
  color: #6CDEDF;
  font-size: 12px;
}
@media (min-width: 992px) {
  .enjoy__example dt {
    font-size: 17px;
  }
}
.enjoy__example div {
  font-size: 13px;
  line-height: 31px;
  letter-spacing: 0.5px;
}
.enjoy__example img {
  width: 80%;
  max-width: 420px;
  box-shadow: 1px 4px 7px 0px rgba(0, 0, 0, 0.06);
}
@media (min-width: 992px) {
  .enjoy__example img {
    width: 100%;
  }
}
.enjoy__everyone {
  margin-bottom: 50px;
}
.enjoy__everyone .container {
  max-width: 1230px;
  margin-right: auto;
  margin-left: auto;
}
.enjoy__everyone .swiper-wrapper {
  left: 12vw;
}
@media (min-width: 992px) {
  .enjoy__everyone .swiper-wrapper {
    left: initial;
  }
}
.enjoy__everyone .swiper-container {
  overflow: hidden;
}
.enjoy__everyone .enjoy__everyone__img {
  display: flex;
  gap: 21px;
}
.enjoy__everyone .enjoy__everyone__img img {
  width: 100%;
}
@media (min-width: 992px) {
  .enjoy__everyone .enjoy__everyone__img {
    margin-right: 20px;
    margin-left: 20px;
  }
}
@media (min-width: 992px) {
  .enjoy__everyone .enjoy__everyone__text {
    margin-right: 83px;
    margin-left: 83px;
  }
}
.enjoy__everyone ul div {
  border-top: 2px solid #5c3f2f;
  font-size: 14px;
  line-height: 23.5px;
  padding-top: 6px;
}
@media (min-width: 992px) {
  .enjoy__everyone ul div {
    font-size: 15px;
  }
}
.enjoy__everyone button {
  display: none;
}
@media (min-width: 992px) {
  .enjoy__everyone button {
    display: block;
    width: 42px;
  }
}
.enjoy__everyone picture {
  position: relative;
  box-shadow: 2px 5px 10px 0px rgba(0, 0, 0, 0.28);
  display: block;
  margin-bottom: 28px;
  overflow: hidden;
}
.enjoy__everyone picture::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  bottom: 10px;
  right: 12px;
  background-image: url(../img/ico_enjoy_plus.svg);
  background-size: cover;
}
.enjoy__everyone picture:hover img {
  transform: scale(1.05);
}
.enjoy__everyone picture img {
  transition: all 0.4s;
}
.enjoy__comment {
  --swiper-pagination-bottom: -40px;
  background-image: url(../img/bg_enjoy_comment.webp);
  background-size: cover;
  padding-top: 100px;
  padding-bottom: 100px;
}
@media (min-width: 992px) {
  .enjoy__comment {
    padding-top: 170px;
    padding-bottom: 200px;
  }
}
.enjoy__comment > div {
  overflow: hidden;
  padding-bottom: 40px;
  max-width: 1064px;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 992px) {
  .enjoy__comment .swiper-wrapper {
    display: flex;
    gap: 24px;
    justify-content: center;
  }
}
.enjoy__comment .swiper-pagination {
  position: relative;
}
.enjoy__comment ul {
  height: 350px;
}
@media (min-width: 992px) {
  .enjoy__comment .swiper-slide {
    width: -moz-max-content;
    width: max-content;
  }
}
.enjoy__comment__item {
  border-radius: 22px;
  background-color: #FFFDF6;
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  font-size: 13px;
  line-height: 23px;
  letter-spacing: 0.5px;
  padding: 20px 30px;
  position: relative;
  overflow: hidden;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.enjoy__comment__item small {
  font-size: 14px;
  font-family: "Role Soft Display Pro bold";
  line-height: 32px;
}
@media (min-width: 992px) {
  .enjoy__comment__item p:first-child {
    margin-bottom: 20px;
  }
  .enjoy__comment__item p:first-child small {
    font-size: 18px;
  }
}
.enjoy__comment__item p:last-child {
  margin-top: 10px;
}
.enjoy__comment__item p:last-child small {
  font-size: 13px;
  letter-spacing: 0.5px;
  width: -moz-max-content;
  width: max-content;
  display: block;
  margin-left: auto;
}
@media (min-width: 992px) {
  .enjoy__comment__item {
    width: 164px;
    transition: all 0.4s;
  }
  .enjoy__comment__item > div {
    min-width: 360px;
  }
}
.enjoy__comment__item::after {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  background-size: cover;
  opacity: 1;
  transition: opacity 0.4s;
}
@media (min-width: 992px) {
  .enjoy__comment__item::after {
    width: 166px;
  }
}
.enjoy__comment__item.item_01::after {
  background-image: url(../img/enjoy_comment_01.webp);
}
.enjoy__comment__item.item_02::after {
  background-image: url(../img/enjoy_comment_02.webp);
}
.enjoy__comment__item.item_03::after {
  background-image: url(../img/enjoy_comment_03.webp);
}
.enjoy__comment__item.item_04::after {
  background-image: url(../img/enjoy_comment_04.webp);
}
@media (min-width: 992px) {
  .enjoy__comment__item:not(.open)::before {
    position: absolute;
    content: "click!";
    font-size: 22px;
    letter-spacing: 1px;
    color: #fff;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
  }
  .enjoy__comment__item.open {
    width: 420px;
    cursor: default;
  }
  .enjoy__comment__item.open::after {
    opacity: 0;
  }
}
.swiper-slide-active .enjoy__comment__item::before {
  content: "";
}
.swiper-slide-active .enjoy__comment__item::after {
  opacity: 0;
}

.basic__base {
  border-bottom: 2px solid #D9D9D9;
  padding-top: 70px;
  padding-bottom: 30px;
}
.basic__base .txt_marker {
  display: inline;
}
.basic__base .container {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.basic__base picture {
  filter: drop-shadow(2px 4px 16px rgba(112, 81, 66, 0.12));
  margin-right: auto;
  margin-left: auto;
  display: block;
}
@media (min-width: 992px) {
  .basic__base picture {
    width: 90%;
  }
}
.basic__base ol {
  margin-top: 60px;
  margin-right: 28px;
  margin-left: 28px;
}
@media (min-width: 992px) {
  .basic__base ol {
    display: grid;
    grid-template-columns: 1fr 1fr;
    -moz-column-gap: 30px;
         column-gap: 30px;
  }
}
.basic__base dt {
  font-size: 19px;
  margin-bottom: 15px;
}
.basic__base dd {
  font-size: 13px;
  line-height: 19px;
  margin-bottom: 50px;
}
.basic__other {
  --swiper-scrollbar-bg-color: #ECECEC;
  --swiper-scrollbar-drag-bg-color: #FFDA7A;
  background-color: #fff;
  padding-top: 68px;
  padding-bottom: 90px;
}
@media (min-width: 992px) {
  .basic__other {
    padding-top: 112px;
    padding-bottom: 124px;
  }
}
.basic__other .container {
  padding-right: 20px;
  padding-left: 20px;
}
.basic__other__yodogawa {
  font-family: "Role Soft Display Pro Medium";
  font-size: 14px;
  line-height: 25px;
  margin-top: 40px;
  margin-bottom: 40px;
  margin-right: 30px;
  margin-left: 30px;
}
@media (min-width: 992px) {
  .basic__other__yodogawa {
    width: 410px;
    font-size: 16px;
    margin-right: auto;
    margin-left: auto;
  }
}
.basic__other__item {
  text-align: center;
  position: relative;
  font-size: 14px;
  letter-spacing: -0.2px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  line-height: 23px;
  margin-right: 24px;
  margin-left: 24px;
  margin-bottom: 58px;
}
.basic__other__item .sub {
  font-size: 12px;
  color: #b8b8b8;
}
.basic__other__item h5 {
  font-size: 19px;
  font-family: "Role Soft Display Pro Bold";
  width: -moz-max-content;
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .basic__other__item h5 {
    font-size: 20px;
  }
}
.basic__other__item h5 small {
  font-size: 15px;
  margin-left: 0.5em;
}
@media (min-width: 992px) {
  .basic__other__item {
    font-size: 15px;
    letter-spacing: initial;
    margin-right: auto;
    margin-left: auto;
  }
}
.basic__other .swiper-container {
  overflow: hidden;
}
.basic__other__img {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 18px;
  max-width: 1280px;
  margin-right: auto;
  margin-left: auto;
}
.basic__other__img button {
  margin-bottom: 30px;
}
.basic__other__img picture {
  display: block;
  position: relative;
}
.basic__other__img .basic__other__item,
.basic__other__img .swiper-scrollbar {
  display: none;
}
@media (min-width: 992px) {
  .basic__other__img .basic__other__item {
    display: flex;
    margin-top: 30px;
    margin-bottom: 40px;
    height: 8em;
  }
  .basic__other__img .swiper-scrollbar {
    display: block;
    position: relative;
    max-width: 900px;
    margin-right: auto;
    margin-left: auto;
  }
}
.basic__other__img .swiper-wrapper {
  margin-bottom: 28px;
}
@media (min-width: 992px) {
  .basic__other__img {
    margin-bottom: 113px;
  }
  .basic__other__img .swiper-wrapper {
    margin-bottom: initial;
  }
  .basic__other__img button {
    z-index: 10;
    position: absolute;
    top: 26%;
  }
  .basic__other__img button.next {
    right: 27.5%;
  }
  .basic__other__img button.prev {
    left: 27.5%;
  }
  .basic__other__img ul picture {
    filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
  }
  .basic__other__img li {
    transition: all 0.4s;
  }
  .basic__other__img li:not(.swiper-slide-active) img {
    filter: blur(2px);
  }
  .basic__other__img li:not(.swiper-slide-active) picture {
    overflow: hidden;
  }
  .basic__other__img li:not(.swiper-slide-active) picture::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.2);
  }
  .basic__other__img li:not(.swiper-slide-active) .basic__other__item {
    opacity: 0;
    display: none;
  }
}
.basic__other__text {
  position: relative;
  margin-bottom: 60px;
}
@media (min-width: 992px) {
  .basic__other__text {
    display: none;
  }
}
.basic__other__link {
  margin-right: 20px;
  margin-left: 20px;
}
.basic__other__link img {
  border-radius: 6px;
}
@media (min-width: 992px) {
  .basic__other__link {
    margin-right: auto;
    margin-left: auto;
    max-width: 620px;
    filter: drop-shadow(4px 7px 13px rgba(0, 0, 0, 0.16));
  }
  .basic__other__link img {
    border-radius: 16px;
  }
}

.format {
  background-image: url(../img/bg_format.png);
  background-size: 30px;
}
.format__yodogawa {
  font-family: "Role Soft Display Pro Medium";
  font-size: 15px;
  line-height: 25px;
  width: -moz-max-content;
  width: max-content;
  margin-top: 38px;
  margin-bottom: 60px;
  margin-right: auto;
  margin-left: auto;
}
.format__yodogawa br {
  display: block;
}
@media (min-width: 992px) {
  .format__yodogawa {
    font-size: 16px;
    line-height: 30px;
    margin-top: 65px;
    margin-bottom: 100px;
  }
}
.format__base {
  font-feature-settings: "palt";
  max-width: 900px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.format__base .txt_marker {
  font-family: "Role Soft Display Pro Bold";
  display: inline-block;
  margin-bottom: 20px;
  font-size: 19px;
  line-height: 27px;
  letter-spacing: 0.2px;
}
@media (min-width: 992px) {
  .format__base .txt_marker {
    font-size: 20px;
  }
}
@media (min-width: 992px) {
  .format__base figure {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 50px;
  }
}
.format__base figcaption {
  margin-top: 14px;
}
@media (min-width: 992px) {
  .format__base figcaption {
    margin-top: initial;
  }
}
@media (min-width: 992px) {
  .format__base ul {
    margin-bottom: 190px;
  }
}
.format__base li {
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .format__base li:nth-child(even) figcaption {
    grid-column-start: 1;
    grid-row-start: 1;
  }
  .format__base li:nth-child(even) img {
    grid-column-start: 2;
  }
}
.format__base div {
  font-size: 14px;
  line-height: 26px;
}
@media (min-width: 992px) {
  .format__base div {
    font-size: 15px;
  }
}

.lineup__list .txt_cc {
  margin-bottom: 4px;
}
.lineup__list > li {
  padding-right: 50px;
  padding-left: 50px;
  padding-top: 56px;
  padding-bottom: 110px;
  border-top: 1px solid #D6D6D6;
  background-size: cover;
}
.lineup__list > li:nth-child(1) {
  background-image: url(../img/bg_lineup_list_01.webp);
  background-position: 28% 0%;
}
.lineup__list > li:nth-child(1) .txt_marker::before {
  background: #FFECDE;
}
.lineup__list > li:nth-child(2) {
  background-image: url(../img/bg_lineup_list_02.webp);
  background-position: 50% 0%;
}
.lineup__list > li:nth-child(2) .txt_marker::before {
  background: #DEFAFA;
}
.lineup__list > li:nth-child(3) {
  background-image: url(../img/bg_lineup_list_03.webp);
  background-position: 75% 100%;
}
.lineup__list > li:nth-child(3) .txt_marker::before {
  background: #FEEAB8;
}
@media (min-width: 600px) {
  .lineup__list > li {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
@media (min-width: 992px) {
  .lineup__list > li {
    border-top: none;
  }
}
.lineup__list__yodogawa {
  margin-bottom: 40px;
}
.lineup__list__yodogawa dt {
  font-size: 22px;
  letter-spacing: 0.8px;
  margin-bottom: 8px;
}
.lineup__list__yodogawa dd {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.5px;
}
.lineup__list__yodogawa .txt_marker {
  white-space: initial;
}
.lineup__list__yodogawa h4 br {
  display: block;
}
@media (min-width: 992px) {
  .lineup__list__yodogawa {
    width: 328px;
  }
}
.lineup__list picture {
  display: block;
  margin-bottom: 50px;
  max-width: 250px;
  margin-right: auto;
  margin-left: auto;
}
.lineup__list picture img {
  width: 100%;
}
@media (min-width: 992px) {
  .lineup__list > li > div {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 80px;
  }
  .lineup__list .lineup__list__item {
    order: -1;
  }
  .lineup__list picture,
  .lineup__list .lineup__list__yodogawa,
  .lineup__list .lineup__list__item {
    margin: initial;
  }
  .lineup__list picture {
    max-width: 270px;
  }
}
.lineup__cover {
  background-color: #fff;
  padding-top: 80px;
  padding-bottom: 70px;
  padding-right: 20px;
  padding-left: 20px;
}
.lineup__cover h4 {
  margin-bottom: initial;
}
.lineup__cover .container {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
  height: 580px;
  overflow: hidden;
  transition: all 0.4s;
}
.lineup__cover .container.view {
  height: initial;
}
@media (min-width: 992px) {
  .lineup__cover .container {
    height: initial;
  }
}
.lineup__cover button {
  display: block;
  width: 100%;
  text-align: center;
  padding: 10px;
  transition: all 0.4s;
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 992px) {
  .lineup__cover button {
    display: none;
  }
}
.lineup__cover button img {
  width: 20px;
  height: auto;
}
.lineup__cover .view + button img {
  transform: rotate(180deg);
}
.lineup__cover .techo-items {
  margin: initial;
}

.gift {
  background-color: #fcfcfc;
  background-image: url(../img/bg_gift.webp);
  background-repeat: no-repeat;
  background-size: 360%;
  background-position: 60% 100%;
}
@media (min-width: 992px) {
  .gift {
    background-size: cover;
  }
}
.gift__yodogawa {
  font-family: "Role Soft Display Pro Medium";
  font-size: 14px;
  line-height: 23px;
  width: -moz-max-content;
  width: max-content;
  margin-top: 36px;
  margin-bottom: 30px;
  margin-right: auto;
  margin-left: auto;
}
.gift__yodogawa br {
  display: block;
}
@media (min-width: 992px) {
  .gift__yodogawa {
    font-size: 16px;
    line-height: 30px;
    margin-top: 65px;
    margin-bottom: 42px;
  }
}
.gift__idea ol {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 50px);
  margin-right: auto;
  margin-left: auto;
  justify-content: center;
  margin-bottom: 60px;
}
.gift__idea li {
  width: 33.3333333333%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
@media (min-width: 992px) {
  .gift__idea li {
    width: initial;
  }
}
.gift__idea img {
  width: 70px;
}
@media (min-width: 992px) {
  .gift__idea img {
    width: 90px;
  }
}
.gift__idea br {
  display: block;
}
.gift__idea span:first-of-type {
  font-size: 20px;
  line-height: 32px;
}
.gift__idea span:last-of-type {
  font-size: 12px;
  line-height: 16px;
  letter-spacing: -0.3px;
}
@media (min-width: 992px) {
  .gift__idea span:first-of-type {
    font-size: 24px;
  }
  .gift__idea span:last-of-type {
    font-size: 12px;
    line-height: 16.5px;
  }
}
@media (min-width: 992px) {
  .gift__idea ol {
    justify-content: center;
    margin-bottom: 60px;
    gap: 50px;
  }
}
.gift__set dt {
  text-align: center;
}
.gift__set dd {
  font-size: 15px;
  line-height: 25px;
  margin: 14px 30px;
}
.gift__set dd br {
  display: none;
}
.gift__set img {
  width: calc(100% - 80px);
  margin-bottom: 14px;
}
.gift__set h4 {
  display: inline-block;
  font-size: 18px;
  line-height: 25px;
}
.gift__set li {
  margin-bottom: 40px;
}
@media (min-width: 992px) {
  .gift__set ul {
    display: flex;
    justify-content: center;
    gap: 66px;
  }
  .gift__set li {
    text-align: center;
    width: 390px;
  }
  .gift__set img {
    width: 100%;
    margin-bottom: 28px;
  }
  .gift__set h4 {
    font-size: 20px;
  }
  .gift__set dd {
    font-size: 15px;
  }
  .gift__set dd br {
    display: block;
  }
}
.gift__link {
  font-size: 12px;
  font-family: "Role Soft Display Pro Bold";
  padding-bottom: 80px;
}
.gift__link ul {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: -moz-max-content;
  min-width: max-content;
  max-width: 280px;
  margin-right: auto;
  margin-left: auto;
}
.gift__link a {
  background-color: #fff;
  border: 1px solid #705142;
  border-radius: 2em;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 2px 10px 0;
}
.gift__link img {
  height: 1em;
  position: relative;
  top: -2px;
  transform: rotate(180deg);
}

.happy {
  background-color: #fff;
}
.happy__omake {
  padding-top: 80px;
}
.happy__omake .container {
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
}
.happy__omake dt {
  text-align: center;
  line-height: 28px;
}
.happy__omake dd {
  font-size: 14px;
  line-height: 25px;
  margin: 14px 30px;
  letter-spacing: 0.5px;
}
.happy__omake dd br {
  display: none;
}
.happy__omake img {
  width: calc(100% - 80px);
  display: block;
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 14px;
}
.happy__omake h4 br {
  display: block;
}
.happy__omake .txt_marker {
  display: inline-block;
  font-size: 16px;
  bottom: 6px;
}
.happy__omake .txt_marker small {
  font-size: 14px;
}
.happy__omake li {
  margin-bottom: 50px;
}
@media (min-width: 992px) {
  .happy__omake li {
    display: flex;
    gap: 74px 80px;
    align-items: center;
    justify-content: center;
    margin-bottom: 100px;
  }
  .happy__omake img {
    width: 345px;
    margin: initial;
  }
  .happy__omake dl {
    flex: 1 1 0%;
  }
  .happy__omake dt {
    display: flex;
    flex-direction: column;
  }
  .happy__omake dt * {
    width: -moz-max-content;
    width: max-content;
  }
  .happy__omake dd {
    line-height: 23px;
    font-size: 15px;
    margin-right: initial;
    margin-left: initial;
  }
  .happy__omake dd br {
    display: block;
  }
  .happy__omake dd span {
    font-size: 12px;
  }
  .happy__omake .txt_marker {
    font-size: 20px;
  }
  .happy__omake .txt_marker small {
    font-size: 15px;
  }
}
.happy__tool {
  padding-bottom: 100px;
}
.happy__tool .container {
  max-width: 960px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 20px;
  padding-left: 20px;
}
.happy__tool .techo-items {
  margin: initial;
}

.techo-contents {
  background-image: url(../img/bg_techo-contents.webp);
  background-size: cover;
  background-position: 0% 0%;
}
.techo-contents__list {
  padding-top: 36px;
  padding-bottom: 10px;
}
.techo-contents__list img {
  width: 100%;
  box-shadow: 1px 4px 15px 0px rgba(0, 0, 0, 0.25);
  max-width: 390px;
}
.techo-contents__list ul {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  margin-right: 60px;
  margin-left: 60px;
  margin-bottom: 60px;
}
.techo-contents__list iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}
@media (min-width: 992px) {
  .techo-contents__list {
    padding-top: 86px;
    padding-bottom: 43px;
  }
  .techo-contents__list .bubble {
    margin-bottom: 60px;
    font-size: 18px;
  }
  .techo-contents__list ul {
    gap: 40px 35px;
    width: -moz-max-content;
    width: max-content;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 125px;
  }
}
.techo-contents__list__movie {
  text-align: center;
  margin-right: 25px;
  margin-left: 25px;
  margin-bottom: 35px;
}
@media (min-width: 992px) {
  .techo-contents__list__movie {
    margin-bottom: 30px;
  }
}
.techo-contents__list__movie > div {
  max-width: 743px;
  margin-right: auto;
  margin-left: auto;
}
.techo-contents__list__date {
  color: #927262;
  text-align: center;
  font-size: 10px;
  line-height: 22px;
  letter-spacing: 0.6px;
}
@media (min-width: 992px) {
  .techo-contents__list__date {
    font-size: 11px;
  }
}/*# sourceMappingURL=index.css.map */