@charset "UTF-8";
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

@-webkit-keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(80px);
    transform: translateY(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(80px);
    transform: translateY(80px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
/**
 * ----------------------------------------
 * animation scale-up-center
 * ----------------------------------------
 */
@-webkit-keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes scale-up-center {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0;
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
/* ----------------------------------------------
 * Generated by Animista on 2025-10-24 15:36:10
 * Licensed under FreeBSD License.
 * See http://animista.net/license for more info. 
 * w: http://animista.net, t: @cssanimista
 * ---------------------------------------------- */
/**
 * ----------------------------------------
 * animation fade-out
 * ----------------------------------------
 */
@-webkit-keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
#about.site-section-content {
  padding: 260px 0px;
}
#about.site-section-content .site-section-inner {
  padding: 64px 32px 0px;
  margin: 0 auto;
}
#about.site-section-content .site-section-inner .content-holder {
  text-align: center;
  position: relative;
  height: 600px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #17233D;
}
@media screen and (max-width:650px) {
  #about.site-section-content .site-section-inner .content-holder {
    height: 300px;
  }
}
#about.site-section-content .site-section-inner .content-holder .heading-h1 {
  margin-bottom: 16px;
  font-size: 32px;
  line-height: 64px;
}
@media screen and (max-width:650px) {
  #about.site-section-content .site-section-inner .content-holder .heading-h1 {
    font-size: 24px;
    line-height: 56px;
  }
}
@media screen and (max-width:450px) {
  #about.site-section-content .site-section-inner .content-holder .heading-h1 {
    font-size: 18px;
    line-height: 48px;
  }
}

header {
  width: 100%;
  margin: auto;
  max-width: 1920px;
  position: relative;
  min-height: 739px;
  background: url("../img/sozai/header-pc.webp");
  background-position: top;
  background-size: contain;
  background-repeat: no-repeat;
  height: min(73.8541666667vw, 1418px);
}
@media screen and (max-width:650px) {
  header {
    min-height: unset;
    background: url("../img/sozai/header-sp.webp");
    background-size: contain;
    height: min(258.9230769231vw, 1683px);
  }
}
header h1 {
  display: none;
}
header .chara {
  z-index: 1;
  opacity: 0;
}
header .kimetsu-logo {
  background: url("../img/logo/logo-kimetsu.webp") no-repeat center/contain;
  width: 120px;
  height: 120px;
  position: absolute;
  opacity: 1;
  top: 14px;
  left: 0px;
  margin: auto;
  width: min(7.8125vw, 150px);
  height: min(7.8125vw, 150px);
}
@media screen and (max-width:1000px) {
  header .kimetsu-logo {
    width: 80px;
    height: 80px;
    width: min(8vw, 80px);
    height: min(8vw, 80px);
  }
}
@media screen and (max-width:650px) {
  header .kimetsu-logo {
    top: 0px;
    left: 0px;
    width: min(0.1538461538 * (100vw - 24px), 100px);
    height: min(0.1538461538 * (100vw - 24px), 100px);
  }
}
header .event-logo {
  background: url("../img/logo/event-logo.png") no-repeat center/contain;
  position: absolute;
  height: 220px;
  top: 20px;
  right: 0;
  left: 0px;
  margin: auto;
  opacity: 0;
  height: min(11.4583333333vw, 220px);
}
header .event-logo.animated {
  -webkit-animation: scale-up-center 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: scale-up-center 0.5s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation-delay: 1s;
}
@media screen and (max-width:1000px) {
  header .event-logo {
    height: 120px;
  }
}
@media screen and (max-width:650px) {
  header .event-logo {
    left: 0;
    top: 38%;
    width: 500px;
    width: min(76.9230769231vw, 500px);
    height: min(32.3076923077vw, 210px);
  }
}
header .header-tanjiro {
  background: url("../img/sozai/header-tanjiro.webp") no-repeat center/contain;
  width: 350px;
  height: 790px;
  top: 240px;
  left: 951px;
  width: min(18.2291666667vw, 350px);
  height: min(41.1458333333vw, 790px);
  top: min(12.5vw, 240px);
  left: min(49.53125vw, 951px);
  position: absolute;
  animation-delay: 0.1s;
}
@media screen and (max-width:1000px) {
  header .header-tanjiro {
    width: 182px;
    height: 411px;
    left: 495px;
    top: 133px;
  }
}
@media screen and (max-width:650px) {
  header .header-tanjiro {
    width: 218px;
    height: 558px;
    top: 90px;
    left: 9px;
    width: min(33.5384615385vw, 218px);
    height: min(85.8461538462vw, 558px);
    top: min(13.8461538462vw, 90px);
    left: min(1.3846153846vw, 9px);
  }
}
header .header-shinobu {
  background: url("../img/sozai/header-shinobu.webp") no-repeat center/contain;
  position: absolute;
  width: 400px;
  height: 790px;
  top: 249px;
  left: -22px;
  width: min(20.8333333333vw, 400px);
  height: min(41.1458333333vw, 790px);
  animation-delay: 0.3s;
  top: min(12.96875vw, 249px);
  left: min(-1.1458333333vw, -22px);
}
@media screen and (max-width:1000px) {
  header .header-shinobu {
    width: 208px;
    height: 411px;
    top: 133px;
    left: -19px;
  }
}
@media screen and (max-width:650px) {
  header .header-shinobu {
    width: 234px;
    height: 548px;
    left: 0px;
    top: 880px;
    width: min(36vw, 234px);
    height: min(84.3076923077vw, 548px);
    top: min(135.3846153846vw, 880px);
    left: min(0vw, 0px);
    animation-delay: 0.3s;
  }
}
header .header-zenitsu {
  background: url("../img/sozai/header-zenitsu.webp") no-repeat center/contain;
  position: absolute;
  width: 450px;
  height: 820px;
  left: 560px;
  top: 240px;
  width: min(23.4375vw, 450px);
  height: min(42.7083333333vw, 820px);
  left: min(29.1666666667vw, 560px);
  top: min(12.5vw, 240px);
  animation-delay: 0.1s;
}
@media screen and (max-width:1000px) {
  header .header-zenitsu {
    width: 234px;
    height: 427px;
    top: 133px;
    left: 291px;
  }
}
@media screen and (max-width:650px) {
  header .header-zenitsu {
    width: 297px;
    height: 509px;
    top: 113px;
    left: 160px;
    width: min(45.6923076923vw, 297px);
    height: min(78.3076923077vw, 509px);
    top: min(17.3846153846vw, 113px);
    left: min(24.6153846154vw, 160px);
    animation-delay: 0.2s;
  }
}
header .header-giyu {
  background: url("../img/sozai/header-giyu.webp") no-repeat center/contain;
  position: absolute;
  top: 130px;
  width: 320px;
  height: 920px;
  left: 320px;
  width: min(16.6666666667vw, 320px);
  height: min(47.9166666667vw, 920px);
  animation-delay: 0.3s;
  top: min(6.7708333333vw, 130px);
  left: min(16.6666666667vw, 320px);
  z-index: 1;
}
@media screen and (max-width:1000px) {
  header .header-giyu {
    width: 167px;
    height: 479px;
    top: 73px;
    left: 167px;
  }
}
@media screen and (max-width:650px) {
  header .header-giyu {
    width: 231px;
    height: 600px;
    left: unset;
    right: -10px;
    top: 70px;
    width: min(35.5384615385vw, 231px);
    height: min(92.3076923077vw, 600px);
    top: min(10.7692307692vw, 70px);
    right: min(-1.5384615385vw, -10px);
    animation-delay: 0.3s;
  }
}
header .header-hakuji {
  background: url("../img/sozai/header-hakuji.webp") no-repeat center/contain;
  position: absolute;
  width: 400px;
  height: 901px;
  top: 150px;
  right: 240px;
  width: min(20.8333333333vw, 400px);
  height: min(46.9270833333vw, 901px);
  animation-delay: 0.2s;
  top: min(7.8125vw, 150px);
  right: min(13.28125vw, 255px);
}
@media screen and (max-width:1000px) {
  header .header-hakuji {
    width: 208px;
    height: 469px;
    top: 83px;
    right: 151px;
  }
}
@media screen and (max-width:650px) {
  header .header-hakuji {
    width: 268px;
    height: 605px;
    top: 836px;
    right: unset;
    left: 212px;
    width: min(41.2307692308vw, 268px);
    height: min(93.0769230769vw, 605px);
    top: min(128.6153846154vw, 836px);
    left: min(32.6153846154vw, 212px);
    animation-delay: 0.2s;
  }
}
header .header-koyuki {
  background: url("../img/sozai/header-koyuki.webp") no-repeat center/contain;
  position: absolute;
  width: 400px;
  height: 800px;
  top: 240px;
  right: -40px;
  width: min(20.8333333333vw, 400px);
  height: min(41.6666666667vw, 800px);
  animation-delay: 0.3s;
  top: min(12.5vw, 240px);
  right: min(-2.0833333333vw, -40px);
}
@media screen and (max-width:1000px) {
  header .header-koyuki {
    width: 200px;
    height: 416px;
    top: 133px;
    right: -19px;
  }
}
@media screen and (max-width:650px) {
  header .header-koyuki {
    width: 190px;
    right: 11px;
    height: 545px;
    top: 886px;
    width: min(29.2307692308vw, 190px);
    height: min(83.8461538462vw, 545px);
    top: min(136.3076923077vw, 886px);
    right: min(1.6923076923vw, 11px);
    animation-delay: 0.1s;
  }
}
header .animated {
  -webkit-animation: fade-in-bottom 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;
  animation: fade-in-bottom 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;
}

.site-footer-wrap {
  min-width: 1000px;
}
@media screen and (max-width:650px) {
  .site-footer-wrap {
    min-width: unset;
    width: 100%;
  }
}

#goods.site-section-content {
  padding: 0;
  width: 100%;
  background: url("../img/sozai/bg-knit.png"), #17233D;
  background-size: 1600px;
  position: relative;
  /* カルーセルコンテナ */
  /* 画像群のコンテナ */
  /* 個々の画像 */
  /* activeクラスが付いた画像のみ表示 */
  /* スライドボタン */
}
#goods.site-section-content .content-deco-btm {
  position: absolute;
  bottom: -49px;
  left: 0;
  height: 50px;
  width: 100%;
  padding-bottom: 5px;
  background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 50px;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 40px;
    bottom: -39px;
  }
}
@media screen and (max-width:450px) {
  #goods.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 30px;
    bottom: -29px;
  }
}
#goods.site-section-content .site-section-inner {
  padding: 60px 0px;
  margin: 0 24px;
  position: relative;
}
#goods.site-section-content .site-section-inner .heading-h1 {
  background: url("../img/sozai/title-bg.webp") no-repeat center/contain;
  height: 130px;
  margin: 0 auto 80px;
  line-height: 110px;
  font-size: 40px;
  text-align: center;
  color: #e7dfe2;
  position: relative;
  text-shadow: 0px 0px 6px rgba(83, 74, 66, 0.431372549);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  color: #e7dfe2;
  background: url("../img/sozai/title-goods.png") no-repeat center/contain;
  width: 100%;
  height: 120px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #goods.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 16px;
  }
}
#goods.site-section-content .site-section-inner .content-bg {
  padding: 0px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  background: none;
  box-shadow: none;
  /* 個別の商品アイテムの単位 */
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg {
    padding: 0px;
  }
}
#goods.site-section-content .site-section-inner .content-bg .goods-card-wrapper {
  display: flex;
  justify-content: center;
  gap: 24px;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card-wrapper {
    flex-direction: column;
    gap: 0px;
  }
}
#goods.site-section-content .site-section-inner .content-bg .goods-card-wrapper.single {
  margin: 0 auto;
  justify-content: center;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card-wrapper.single {
    width: 100%;
  }
}
#goods.site-section-content .site-section-inner .content-bg .product-item-unit {
  width: calc(50% - 10px);
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .product-item-unit {
    width: 100%; /* スマホでは全幅を使う */
  }
}
#goods.site-section-content .site-section-inner .content-bg .goods-card {
  position: relative;
  padding: 24px;
  margin-bottom: 24px;
  border: solid 4px #8583AD;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card {
    width: 100%;
    margin-bottom: 16px;
    padding: 24px 16px;
  }
}
#goods.site-section-content .site-section-inner .content-bg .goods-card .goods-name {
  font-size: 24px;
  margin: 12px 0;
  padding-bottom: 12px;
  border-bottom: 2px solid #8583AD;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card .goods-name {
    font-size: 20px;
    padding-bottom: 8px;
    margin: 8px 0;
  }
}
#goods.site-section-content .site-section-inner .content-bg .goods-card .goods-price {
  font-size: 24px;
  margin-bottom: 12px;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card .goods-price {
    margin: 16px;
    font-size: 20px;
  }
}
@media screen and (max-width:450px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card .goods-price {
    margin: 12px;
  }
}
#goods.site-section-content .site-section-inner .content-bg .goods-card .goods-date {
  margin-bottom: 12px;
  font-size: 18px;
}
#goods.site-section-content .site-section-inner .content-bg .goods-card .goods-detail {
  margin-bottom: 24px;
  padding: 0 80px;
  font-size: 18px;
}
@media screen and (max-width:650px) {
  #goods.site-section-content .site-section-inner .content-bg .goods-card .goods-detail {
    padding: 0px;
  }
}
#goods.site-section-content .site-section-inner .content-bg .webshop-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 64px;
  text-align: center;
  background: #555C88;
  padding: 10px 15px;
  margin: 0 4px 8px;
  flex-grow: 1;
  color: #f8f8f8;
  font-size: 20px;
  border-radius: 50px;
  transition: 0.5s ease;
  position: relative;
}
#goods.site-section-content .site-section-inner .content-bg .webshop-btn a:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
#goods.site-section-content .site-section-inner .content-bg .webshop-btn a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
#goods.site-section-content .site-section-inner .content-bg .webshop-btn a:hover {
  background: #DDAFAB;
  color: #555C88;
}
#goods.site-section-content .site-section-inner .content-bg .webshop-btn a:hover:before, #goods.site-section-content .site-section-inner .content-bg .webshop-btn a:hover:after {
  display: block;
}
#goods.site-section-content .carousel-container {
  position: relative; /* ボタンの位置決めのため */
  width: 100%;
  overflow: hidden; /* はみ出した画像を隠す */
  margin-bottom: 10px;
  background-color: #f0f0f0; /* 画像がない時の背景 */
}
#goods.site-section-content .carousel-images {
  display: flex; /* 画像を横並びにする */
  width: 100%;
  /* transition: transform 0.5s ease-in-out; */ /* スムーズなスライドアニメーション (JavaScriptでtransformを制御する場合) */
}
#goods.site-section-content .product-image {
  width: 100%; /* コンテナに合わせて幅を調整 */
  height: auto;
  object-fit: cover; /* 縦横比を保ちつつコンテナに収める */
  display: none; /* デフォルトでは非表示 */
}
#goods.site-section-content .product-image.active {
  display: block; /* 表示 */
}
#goods.site-section-content .carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(76, 72, 119, 0.5);
  color: white;
  border: none;
  cursor: pointer;
  z-index: 10;
  padding: 10px;
  font-size: 24px;
  /* 🚀 余白解消のための追加調整 🚀 */
  display: flex; /* コンテンツをFlexboxで管理 */
  align-items: center; /* 縦方向の中央寄せを確実に */
  justify-content: center; /* 横方向の中央寄せ */
  line-height: 1; /* 行の高さを文字の高さに合わせる */
}
#goods.site-section-content .carousel-btn.next {
  right: 0;
  border-radius: 5px 0 0 5px;
}

#info {
  width: 100%;
  overflow: hidden;
  height: 100%;
}
#info.site-section-content {
  width: 100%;
  position: relative;
}
#info.site-section-content .site-section-inner {
  padding: 120px 0px 120px;
  margin: 0 24px;
  position: relative;
}
#info.site-section-content .content-deco {
  position: absolute;
  bottom: -3px;
  left: 0;
  height: 50px;
  width: 100%;
  padding-bottom: 5px;
  background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 50px;
}
@media screen and (max-width:650px) {
  #info.site-section-content .content-deco {
    background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 40px;
  }
}
@media screen and (max-width:450px) {
  #info.site-section-content .content-deco {
    background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 30px;
  }
}
#info .content-bg {
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  position: relative;
  text-align: center;
}
@media screen and (max-width:650px) {
  #info .content-bg {
    width: 100%;
    padding: 0;
  }
}
#info .content-bg .webshop-btn a {
  display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 64px;
  text-align: center;
  background: #555C88;
  padding: 10px 15px;
  margin: 0 4px 8px;
  flex-grow: 1;
  color: #f8f8f8;
  font-size: 20px;
  border-radius: 50px;
  align-items: center;
  justify-content: center;
  line-height: 24px;
  max-width: 500px;
  height: 80px;
  transition: 0.5s ease;
  position: relative;
  margin: 0 auto;
}
@media screen and (max-width:650px) {
  #info .content-bg .webshop-btn a {
    font-size: 18px;
  }
}
@media screen and (max-width:450px) {
  #info .content-bg .webshop-btn a {
    font-size: 16px;
  }
}
#info .content-bg .webshop-btn a:before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
@media screen and (max-width:650px) {
  #info .content-bg .webshop-btn a:before {
    margin-right: 8px;
  }
}
#info .content-bg .webshop-btn a:after {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-left: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
@media screen and (max-width:650px) {
  #info .content-bg .webshop-btn a:after {
    margin-left: 8px;
  }
}
#info .content-bg .webshop-btn a:hover {
  background: #DDAFAB;
  color: #555C88;
}
#info .content-bg .webshop-btn a:hover:before, #info .content-bg .webshop-btn a:hover:after {
  display: block;
}
#info .heading-h1 {
  background: url("../img/sozai/title-bg.webp") no-repeat center/contain;
  height: 130px;
  margin: 0 auto 80px;
  line-height: 110px;
  font-size: 40px;
  text-align: center;
  color: #e7dfe2;
  position: relative;
  text-shadow: 0px 0px 6px rgba(83, 74, 66, 0.431372549);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  color: #e7dfe2;
  background: url("../img/sozai/title-about.png") no-repeat center/contain;
  width: 100%;
  height: 120px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #info .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #info .heading-h1 {
    margin-bottom: 16px;
  }
}
#info table {
  width: 100%;
  width: calc(100% - 0px);
  font-size: 18px;
  text-align: left;
  font-weight: normal;
  border-collapse: separate;
  border-radius: 8px;
  color: #17233D;
}
@media screen and (max-width:650px) {
  #info table {
    width: calc(100% - 0px);
    margin-bottom: 40px;
  }
}
#info tr:last-child th {
  border-bottom: none;
}
#info tr:last-child td {
  border-bottom: none;
}
#info th {
  width: 30%;
  padding-left: 32px;
  color: #17233D;
  border-bottom: 2px dotted #17233D;
  vertical-align: middle;
}
@media screen and (max-width:650px) {
  #info th {
    display: block;
    width: 100%;
    padding: 16px 16px 0px 0;
    border: 0;
  }
}
#info th:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 16px;
  background-image: url("../img/sozai/square.png");
  background-position: center;
  background-size: contain;
}
#info td {
  border-bottom: 2px dotted #17233D;
  padding: 32px;
}
@media screen and (max-width:650px) {
  #info td {
    display: block;
    padding: 16px 16px 16px 0;
  }
}
#info td a {
  border-bottom: 1px dashed #17233D;
  color: #17233D;
  transition: 0.3s;
}
#info td a:hover {
  opacity: 0.7;
}

.hamburger {
  position: fixed;
  top: 8px;
  right: 15px;
  z-index: 101;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
}

.hamburger__line {
  position: absolute;
  left: 3px;
  width: 42px;
  height: 4px;
  border-radius: 21px;
  background-color: #555C88;
  transition: all 0.4s;
}

.hamburger__line:nth-of-type(1) {
  top: 14px;
}

.hamburger__line:nth-of-type(2) {
  top: 23px;
}

.hamburger__line:nth-of-type(3) {
  top: 32px;
}

/* メニューオープン時 */
.hamburger.active .hamburger__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}

.hamburger.active .hamburger__line:nth-of-type(2) {
  opacity: 0;
}

.hamburger.active .hamburger__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav {
  position: fixed;
  top: 0;
  right: 0;
  width: 300px;
  height: 100vh;
  background: url("../img/sozai/washi.webp"), #DDAFAB;
  background-size: 800px;
  background-repeat: repeat;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
  transform: translateX(100%);
  transition: transform 0.4s;
  z-index: 100;
  text-align: center;
}
@media screen and (max-width:650px) {
  .nav {
    width: 100%;
  }
}

.nav.active {
  transform: translateX(0);
}

.nav__list {
  margin: 0;
  padding: 100px 0 0;
  list-style: none;
  font-size: 18px;
}

.nav__item {
  padding: 0 40px;
}

.nav__link {
  display: block;
  padding: 15px 0;
  color: #555C88;
  text-decoration: none;
  transition: 0.5s ease;
  position: relative;
  border-bottom: 1px solid #8583AD;
  transition: 0.7s cubic-bezier(0.4, 0.4, 0, 1);
}
@media (hover: hover) and (pointer: fine) {
  .nav__link:hover {
    opacity: 0.7;
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .nav__link:hover {
    opacity: 0.7;
  }
}

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

img,
video,
object {
  display: block;
  width: 100%;
  height: auto;
  border: 0;
  pointer-events: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-touch-callout: none;
  -moz-user-select: none;
  user-select: none;
  backface-visibility: hidden;
}

a {
  text-decoration: none;
  cursor: pointer;
}

ul,
li {
  margin: 0;
  padding: 0;
  text-decoration: none;
}

html {
  -webkit-overflow-scrolling: touch;
  height: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizelegibility;
  scroll-behavior: smooth;
  touch-action: manipulation;
}

body {
  -webkit-overflow-scrolling: touch;
  color: #17233D;
  font-family: "Kaisei HarunoUmi", serif;
  font-size: 16px;
  line-height: 1.5;
}

.site-content-wrapper {
  overflow-y: hidden;
  overflow-x: hidden;
  min-width: 1000px;
  background: url("../img/sozai/washi.webp"), linear-gradient(#8583AD, #DDAFAB, #E7DFE2);
  background-repeat: repeat;
  background-attachment: fixed;
  background-size: 400px;
  background-repeat: repeat;
  position: relative;
}
@media screen and (max-width:650px) {
  .site-content-wrapper {
    min-width: initial;
  }
}

.bg-decoration {
  width: 25vw;
  height: 100vh;
  position: fixed;
  top: 0;
  height: 4000px; /* ★ この値をサイトの総コンテンツに合わせて大きくする ★ */
  /* 背景画像の設定 */
  background-repeat: repeat-y; /* 垂直方向に繰り返す */
  background-size: auto; /* または適切なサイズ */
  will-change: background-position;
}
.bg-decoration.bg-decoration-right {
  background: url("../img/sozai/bg-decoration-r.png") 0 0/100% repeat-y;
  right: -30px;
}
.bg-decoration.bg-decoration-left {
  background: url("../img/sozai/bg-decoration-l.png") 0 0/100% repeat-y;
  left: -30px;
}

.is-open {
  opacity: 1;
  display: block;
}

.is-closed {
  display: none;
  opacity: 0;
}

.red-bold {
  color: rgb(180, 37, 37);
  font-weight: bold;
}
.red-bold.small {
  font-size: 18px;
}

.serif {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 700;
}

body::-webkit-scrollbar {
  width: 24px;
}
@media screen and (max-width:650px) {
  body::-webkit-scrollbar {
    width: 0px;
  }
}

body::-webkit-scrollbar-track {
  background-color: #555C88;
}

body::-webkit-scrollbar-thumb {
  background-color: #e7dfe2;
  border-radius: 12px;
  height: 80px;
}

.z-index {
  z-index: 10;
}

#loading {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  height: 100%;
  background: linear-gradient(#8583AD, #DDAFAB, #E7DFE2);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #e7dfe2;
}
#loading .loadingText {
  background: url("../img/sozai/loading.png") no-repeat center/contain;
  height: 80px;
  width: 100%;
}

.fade-out {
  -webkit-animation: fade-out 1s ease-out both;
  animation: fade-out 1s ease-out both;
  animation-delay: 2s;
}

#caution.site-section-content {
  padding: 0;
  width: 100%;
  height: 100%;
  background-size: 1600px;
  position: relative;
}
#caution.site-section-content .content-deco {
  position: absolute;
  bottom: -3px;
  left: 0;
  height: 50px;
  width: 100%;
  padding-bottom: 5px;
  background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 50px;
}
@media screen and (max-width:650px) {
  #caution.site-section-content .content-deco {
    background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 40px;
  }
}
@media screen and (max-width:450px) {
  #caution.site-section-content .content-deco {
    background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 30px;
  }
}
#caution.site-section-content .site-section-inner {
  padding: 120px 0 80px;
  margin: 0 24px;
  position: relative;
}
@media screen and (max-width:650px) {
  #caution.site-section-content .site-section-inner {
    padding: 60px 0 80px;
  }
}
#caution.site-section-content .site-section-inner .heading-h1 {
  background: url("../img/sozai/title-bg.webp") no-repeat center/contain;
  height: 130px;
  margin: 0 auto 80px;
  line-height: 110px;
  font-size: 40px;
  text-align: center;
  color: #e7dfe2;
  position: relative;
  text-shadow: 0px 0px 6px rgba(83, 74, 66, 0.431372549);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  color: #e7dfe2;
  font-size: 32px;
  background: url("../img/sozai/title-caution.png") no-repeat center/contain;
  width: 100%;
  height: 120px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #caution.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #caution.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 16px;
  }
}
#caution.site-section-content .site-section-inner .content-bg {
  padding: 60px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  height: auto;
  color: #17233D;
  margin: 0 auto 24px;
  text-align: center;
  font-size: 24px;
  background: rgba(231, 223, 226, 0.3215686275);
  box-shadow: none;
}
@media screen and (max-width:650px) {
  #caution.site-section-content .site-section-inner .content-bg {
    width: 100%;
    padding: 32px 24px;
  }
}
#caution.site-section-content .site-section-inner .content-bg .heading-h2 {
  position: relative;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#caution.site-section-content .site-section-inner .content-bg .caution-item-wrapper {
  height: 100%;
  list-style: none;
  text-align: left;
  margin: 24px 0 50px;
}
#caution.site-section-content .site-section-inner .content-bg .caution-item-wrapper .caution-item {
  font-size: 16px;
  margin-bottom: 16px;
}
#caution.site-section-content .site-section-inner .content-bg .caution-item-wrapper .caution-item:before {
  content: "・";
}
#caution.site-section-content .site-section-inner .content-bg .webshop-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 64px;
  text-align: center;
  background: #555C88;
  padding: 10px 15px;
  margin: 0 4px 8px;
  flex-grow: 1;
  color: #f8f8f8;
  font-size: 20px;
  border-radius: 50px;
  transition: 0.5s ease;
  position: relative;
  max-width: 500px;
  margin: 24px auto;
}
#caution.site-section-content .site-section-inner .content-bg .webshop-btn a:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
#caution.site-section-content .site-section-inner .content-bg .webshop-btn a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
#caution.site-section-content .site-section-inner .content-bg .webshop-btn a:hover {
  background: #DDAFAB;
  color: #555C88;
}
#caution.site-section-content .site-section-inner .content-bg .webshop-btn a:hover:before, #caution.site-section-content .site-section-inner .content-bg .webshop-btn a:hover:after {
  display: block;
}

#official.site-section-content {
  padding: 0;
  width: 100%;
  overflow: hidden;
  color: #17233D;
  position: relative;
}
#official.site-section-content .heading-wrap {
  text-align: center;
}
@media screen and (max-width:650px) {
  #official.site-section-content .heading-wrap {
    width: 100%;
  }
}
#official.site-section-content .heading-h2 {
  margin: 24px 0;
  font-size: 24px;
  color: #17233D;
  font-weight: normal;
}
@media screen and (max-width:450px) {
  #official.site-section-content .heading-h2 {
    font-size: 16px;
  }
}
#official.site-section-content .site-section-inner {
  padding: 120px 0px;
  margin: 0 24px;
  position: relative;
}
#official.site-section-content .site-section-inner .back-to-top {
  background: url("../img/sozai/top.png") no-repeat center/contain;
  width: 100px;
  height: 100px;
  position: absolute;
  transition: 0.7s cubic-bezier(0.4, 0.4, 0, 1);
  bottom: 30px;
  right: 1rem;
  display: table;
}
#official.site-section-content .site-section-inner .back-to-top:hover {
  transform: scale(1.1);
}
@media screen and (max-width:650px) {
  #official.site-section-content .site-section-inner .back-to-top {
    width: 80px;
    height: 80px;
    right: 0rem;
  }
}
#official.site-section-content .site-section-inner .heading-h1 {
  background: url("../img/sozai/title-bg.webp") no-repeat center/contain;
  height: 130px;
  margin: 0 auto 80px;
  line-height: 110px;
  font-size: 40px;
  text-align: center;
  color: #e7dfe2;
  position: relative;
  text-shadow: 0px 0px 6px rgba(83, 74, 66, 0.431372549);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  color: #e7dfe2;
  background: url("../img/sozai/title-official.png") no-repeat bottom/contain;
  width: 100%;
  height: 120px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #official.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #official.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 16px;
  }
}
#official.site-section-content .site-section-inner .content-bg {
  padding: 60px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  height: auto;
  background: #e7dfe2;
  margin: 0 auto 40px;
  text-align: center;
  font-size: 24px;
}
@media screen and (max-width:650px) {
  #official.site-section-content .site-section-inner .content-bg {
    width: 100%;
    padding: 32px 24px;
  }
}
#official.site-section-content .site-section-inner .social-account-wrap {
  display: flex;
  flex-direction: row;
  justify-content: center;
  height: 100px;
}
#official.site-section-content .site-section-inner .social-account-wrap .social-account {
  width: 100%;
  height: 100%;
  list-style: none;
  justify-content: center;
}
@media screen and (max-width:650px) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account {
    margin: 0 4px;
  }
}
#official.site-section-content .site-section-inner .social-account-wrap .social-account a {
  display: inline-block;
  transition: 0.7s;
}
#official.site-section-content .site-section-inner .social-account-wrap .social-account.x {
  background: url("../img/logo/anchor-x.webp") no-repeat center/contain;
  transition: 0.7s cubic-bezier(0.4, 0.4, 0, 1);
}
@media (hover: hover) and (pointer: fine) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.x:hover {
    transform: scale(1.1);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.x:hover {
    transform: scale(1.1);
  }
}
#official.site-section-content .site-section-inner .social-account-wrap .social-account.facebook {
  background: url("../img/logo/anchor-facebook.webp") no-repeat center/contain;
  transition: 0.7s cubic-bezier(0.4, 0.4, 0, 1);
}
@media (hover: hover) and (pointer: fine) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.facebook:hover {
    transform: scale(1.1);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.facebook:hover {
    transform: scale(1.1);
  }
}
#official.site-section-content .site-section-inner .social-account-wrap .social-account.instagram {
  background: url("../img/logo/anchor-instagram.webp") no-repeat center/contain;
  transition: 0.7s cubic-bezier(0.4, 0.4, 0, 1);
}
@media (hover: hover) and (pointer: fine) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.instagram:hover {
    transform: scale(1.1);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.instagram:hover {
    transform: scale(1.1);
  }
}
#official.site-section-content .site-section-inner .social-account-wrap .social-account.youtube {
  background: url("../img/logo/anchor-youtube.webp") no-repeat center/contain;
  transition: 0.7s cubic-bezier(0.4, 0.4, 0, 1);
}
@media (hover: hover) and (pointer: fine) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.youtube:hover {
    transform: scale(1.1);
  }
}
@media (-ms-high-contrast: none), (-ms-high-contrast: active) {
  #official.site-section-content .site-section-inner .social-account-wrap .social-account.youtube:hover {
    transform: scale(1.1);
  }
}

#novelty.site-section-content {
  padding: 0;
  width: 100%;
  overflow: hidden;
  color: #f8f8f8;
  position: relative;
}
#novelty.site-section-content .content-deco-btm {
  position: absolute;
  bottom: -3px;
  left: 0;
  height: 50px;
  width: 100%;
  padding-bottom: 5px;
  background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 50px;
}
@media screen and (max-width:650px) {
  #novelty.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 40px;
  }
}
@media screen and (max-width:450px) {
  #novelty.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco.png) repeat-x bottom left/auto 30px;
  }
}
#novelty.site-section-content .heading-wrap {
  text-align: center;
}
@media screen and (max-width:650px) {
  #novelty.site-section-content .heading-wrap {
    width: 100%;
  }
}
#novelty.site-section-content .heading-h2 {
  font-weight: 500;
  margin: 24px 0;
  font-size: 24px;
}
@media screen and (max-width:400px) {
  #novelty.site-section-content .heading-h2 {
    font-size: 16px;
  }
}
#novelty.site-section-content .site-section-inner {
  padding: 120px 0px;
  margin: 0 24px;
  position: relative;
}
@media screen and (max-width:650px) {
  #novelty.site-section-content .site-section-inner {
    padding: 80px 0px;
  }
}
#novelty.site-section-content .site-section-inner .heading-h1 {
  background: url("../img/sozai/title-bg.webp") no-repeat center/contain;
  height: 130px;
  margin: 0 auto 80px;
  line-height: 110px;
  font-size: 40px;
  text-align: center;
  color: #e7dfe2;
  position: relative;
  text-shadow: 0px 0px 6px rgba(83, 74, 66, 0.431372549);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  color: #e7dfe2;
  background: url("../img/sozai/title-giveaway.png") no-repeat center/contain;
  width: 100%;
  height: 120px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #novelty.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #novelty.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 16px;
  }
}
#novelty.site-section-content .site-section-inner .content-bg {
  padding: 60px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  height: auto;
  background: rgba(231, 223, 226, 0.3215686275);
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
}
@media screen and (max-width:650px) {
  #novelty.site-section-content .site-section-inner .content-bg {
    width: 100%;
    padding: 32px 16px 72px;
  }
}
#novelty.site-section-content .site-section-inner .novelty-note {
  font-size: 18px;
  margin-top: 24px;
}

#menu.site-section-content {
  padding: 0px;
  width: 100%;
  height: 100%;
  position: relative;
  background: url("../img/sozai/bg-knit.png"), #17233D;
  background-size: 1600px;
}
#menu.site-section-content .content-deco-btm {
  position: absolute;
  bottom: -49px;
  left: 0;
  height: 50px;
  width: 100%;
  padding-bottom: 5px;
  background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 50px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 40px;
    bottom: -39px;
  }
}
@media screen and (max-width:450px) {
  #menu.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 30px;
    bottom: -29px;
  }
}
#menu.site-section-content .togo-detail {
  padding: 44px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  max-width: 800px;
  list-style: none;
  margin-bottom: 24px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .togo-detail {
    font-size: 18px;
    padding: 32px 16px;
  }
}
#menu.site-section-content .togo-detail .togo-detail-text {
  margin-bottom: 16px;
}
#menu.site-section-content .togo-detail .togo-caution {
  font-size: 14px;
}
#menu.site-section-content .site-section-inner {
  padding: 120px 0px 60px;
  margin: 0 24px;
  position: relative;
}
#menu.site-section-content .site-section-inner .heading-h1 {
  background: url("../img/sozai/title-menu.png") no-repeat center/contain;
  width: 100%;
  height: 160px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #menu.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 16px;
  }
}
@media screen and (max-width:450px) {
  #menu.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 0;
  }
}
#menu.site-section-content .site-section-inner .content-bg {
  padding: 60px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  height: auto;
  margin: 0 auto 40px;
  text-align: center;
  font-size: 24px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .content-bg {
    width: 100%;
    padding: 32px 16px 72px;
  }
}
#menu.site-section-content .site-section-inner .content-bg.agf2023 {
  background-color: #DDAFAB;
}
#menu.site-section-content .site-section-inner .content-bg.agf2024 {
  background-color: #f8f8f8;
}
#menu.site-section-content .site-section-inner .content-bg .heading-h2,
#menu.site-section-content .site-section-inner .content-bg .heading-h3 {
  padding: 0 48px 24px;
  border-bottom: 2px solid #17233D;
  position: relative;
  font-size: 32px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .content-bg .heading-h2,
  #menu.site-section-content .site-section-inner .content-bg .heading-h3 {
    font-size: 24px;
    padding: 16px 8px 24px;
  }
}
@media screen and (max-width:550px) {
  #menu.site-section-content .site-section-inner .content-bg .heading-h2,
  #menu.site-section-content .site-section-inner .content-bg .heading-h3 {
    padding: 0px 0px 16px;
  }
}
@media screen and (max-width:450px) {
  #menu.site-section-content .site-section-inner .content-bg .heading-h2,
  #menu.site-section-content .site-section-inner .content-bg .heading-h3 {
    font-size: 22px;
    padding: 0px 0px 16px;
  }
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .content-bg .heading-h3 {
    font-size: 20px;
  }
}
#menu.site-section-content .site-section-inner .content-bg .menu-price {
  font-size: 32px;
  margin-bottom: 24px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .content-bg .menu-price {
    font-size: 24px;
    margin: 16px 0;
  }
}
#menu.site-section-content .site-section-inner .content-bg .menu-detail {
  font-size: 24px;
  background-color: #e7dfe2;
  padding: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .content-bg .menu-detail {
    font-size: 16px;
  }
}
#menu.site-section-content .site-section-inner .content-bg .novelty-detail {
  font-size: 20px;
  line-height: unset;
  background-color: #e7dfe2;
  margin-top: 24px;
  padding: 8px;
}
@media screen and (max-width:650px) {
  #menu.site-section-content .site-section-inner .content-bg .novelty-detail {
    font-size: 16px;
  }
}
#menu.site-section-content .site-section-inner .content-bg .note_1 {
  font-size: 14px;
  margin: 8px 0;
}
#photospot.site-section-content {
  padding: 0;
  width: 100%;
  height: 100%;
  background: url("../img/sozai/bg-knit.png"), #17233D;
  background-size: 1600px;
  position: relative;
}
#photospot.site-section-content .content-deco-btm {
  position: absolute;
  bottom: -49px;
  left: 0;
  height: 50px;
  width: 100%;
  padding-bottom: 5px;
  background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 50px;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 40px;
    bottom: -39px;
  }
}
@media screen and (max-width:450px) {
  #photospot.site-section-content .content-deco-btm {
    background: url(../img/sozai/content-deco-btm.png) repeat-x bottom left/auto 30px;
    bottom: -29px;
  }
}
#photospot.site-section-content .site-section-inner {
  padding: 120px 0 0;
  margin: 0 24px;
  position: relative;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner {
    padding: 60px 0 0;
  }
}
#photospot.site-section-content .site-section-inner .heading-h1 {
  background: url("../img/sozai/title-bg.webp") no-repeat center/contain;
  height: 130px;
  margin: 0 auto 80px;
  line-height: 110px;
  font-size: 40px;
  text-align: center;
  color: #e7dfe2;
  position: relative;
  text-shadow: 0px 0px 6px rgba(83, 74, 66, 0.431372549);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 40px;
  color: #e7dfe2;
  font-size: 32px;
  background: url("../img/sozai/title-photo.png") no-repeat center/contain;
  width: 100%;
  height: 120px;
  margin-bottom: 40px;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 24px;
  }
}
@media screen and (max-width:500px) {
  #photospot.site-section-content .site-section-inner .heading-h1 {
    margin-bottom: 16px;
  }
}
#photospot.site-section-content .site-section-inner .content-bg {
  padding: 0 60px 60px;
  max-width: 800px;
  height: auto;
  margin: 0 auto;
  text-align: center;
  font-size: 24px;
  position: relative;
  color: #17233D;
  background-color: #e7dfe2;
  border-radius: 24px;
  box-shadow: 0px 5px 15px 0px rgba(60, 60, 85, 0.247);
  height: auto;
  color: #e7dfe2;
  margin: 0 auto 24px;
  text-align: center;
  font-size: 24px;
  background: none;
  box-shadow: none;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner .content-bg {
    width: 100%;
    padding: 32px 0px;
  }
}
#photospot.site-section-content .site-section-inner .content-bg .booth-detail {
  position: relative;
  font-size: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 24px;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner .content-bg .booth-detail {
    font-size: 16px;
  }
}
#photospot.site-section-content .site-section-inner .content-bg .booth-image {
  margin-bottom: 32px;
}
#photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper {
  height: 100%;
  overflow: auto;
  text-align: left;
  margin: 24px 0 50px;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper {
    height: 240px;
  }
  #photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper::-webkit-scrollbar {
    width: 4px;
  }
  #photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper::-webkit-scrollbar-track {
    background-color: #555C88;
  }
  #photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper::-webkit-scrollbar-thumb {
    background-color: #DDAFAB;
    border-radius: 12px;
    height: 60px;
  }
}
#photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper .caution-item {
  font-size: 16px;
  margin-bottom: 16px;
}
#photospot.site-section-content .site-section-inner .content-bg .caution-item-wrapper .caution-item:before {
  content: "・";
}
#photospot.site-section-content .site-section-inner .content-bg .webshop-btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 64px;
  text-align: center;
  background: #555C88;
  padding: 10px 15px;
  margin: 0 4px 8px;
  flex-grow: 1;
  color: #f8f8f8;
  font-size: 20px;
  border-radius: 50px;
  transition: 0.5s ease;
  position: relative;
  max-width: 500px;
  margin: 24px auto;
}
#photospot.site-section-content .site-section-inner .content-bg .webshop-btn a:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
#photospot.site-section-content .site-section-inner .content-bg .webshop-btn a:after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-left: 24px;
  background-image: url("../img/sozai/deco-5.png");
  background-position: center;
  background-size: contain;
}
#photospot.site-section-content .site-section-inner .content-bg .webshop-btn a:hover {
  background: #DDAFAB;
  color: #555C88;
}
#photospot.site-section-content .site-section-inner .content-bg .webshop-btn a:hover:before, #photospot.site-section-content .site-section-inner .content-bg .webshop-btn a:hover:after {
  display: block;
}
#photospot.site-section-content .site-section-inner table {
  width: 100%;
  width: calc(100% - 0px);
  font-size: 18px;
  text-align: left;
  font-weight: normal;
  border-collapse: separate;
  border-radius: 8px;
  color: #e7dfe2;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner table {
    width: calc(100% - 0px);
  }
}
#photospot.site-section-content .site-section-inner tr:last-child th {
  border-bottom: none;
}
#photospot.site-section-content .site-section-inner tr:last-child td {
  border-bottom: none;
}
#photospot.site-section-content .site-section-inner th {
  width: 30%;
  padding-left: 32px;
  border-bottom: 2px dotted #e7dfe2;
  vertical-align: middle;
  font-weight: normal;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner th {
    display: block;
    width: 100%;
    padding: 16px 16px 0px 0;
    border: 0;
  }
}
#photospot.site-section-content .site-section-inner th:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 16px;
  background-image: url("../img/sozai/square.png");
  background-position: center;
  background-size: contain;
}
#photospot.site-section-content .site-section-inner td {
  border-bottom: 2px dotted #e7dfe2;
  padding: 16px;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner td {
    display: block;
    padding: 8px 8px 8px 0;
    text-align: center;
  }
}
#photospot.site-section-content .site-section-inner td a {
  border-bottom: 1px dashed #e7dfe2;
  color: #e7dfe2;
  transition: 0.3s;
}
#photospot.site-section-content .site-section-inner td a:hover {
  opacity: 0.7;
}
#photospot.site-section-content .site-section-inner .chara-schedule {
  background-color: #e7dfe2;
  color: #17233D;
  width: 100%;
  height: 100%;
  padding: 8px;
}
@media screen and (max-width:650px) {
  #photospot.site-section-content .site-section-inner .chara-schedule {
    font-size: 16px;
  }
}/*# sourceMappingURL=style.css.map */