@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
/*------------------------------------------*/
/* 共通：基本・レイアウト指定 */ :root {
  --ju-clr: #feedcd;
  --yl-clr: #ffe1a3;
  --bw-clr: #b77e4a;
  --gr-clr: #465b2b;
  --wh-clr: #fff;
  --bk-clr: #000;
}
* {
  box-sizing: border-box;
}
html {
  color: var(--ju-clr);
  font-size: 62.5%;
}
#wrap {
  overflow: hidden;
  width: 600px;
  max-width: 100%;
  margin: 0 auto;
  position: relative;
  background-attachment: fixed;
  box-shadow: 0px 10px 10px var(--bw-clr);
  z-index: 2;
}
body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-size: 1.6rem;
  background: var(--ju-clr);
  color: var(--gr-clr);
}
.base {
  position: relative;
}
.inner {
  margin: 0 auto;
}
.flex-cont {
  display: flex;
  justify-content: space-between;
  align-items: center;
  align-content: center;
}
a {
  color: inherit;
  text-decoration: none;
  transition: opacity .3s;
}
a:hover {
  opacity: .8;
}
img {
  width: 100%;
}
.sp {
  display: none !important;
}
.pc_bg {
  background: url("../img/bg_img.svg") center / 40px repeat;
  width: 100vw;
  height: 100vh;
  height: 100svh;
  z-index: -1;
  position: fixed;
  top: 0;
  left: 0;
  mix-blend-mode: multiply;
}
.pc_bg::before {
  content: "";
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}
.deco {
  position: absolute;
}
.deco-1 {
  max-width: clamp(12.6rem, 3.914rem + 43.43vw, 20.2rem);
  width: 100%;
  top: 0;
  left: 0;
}
.deco-2 {
  width: 100%;
  z-index: 1;
  bottom: -31rem;
}
.deco-3 {
  max-width: clamp(26.4rem, 8.343rem + 90.29vw, 42.2rem);
  width: 100%;
  top: -4rem;
  right: -5%;
  z-index: 4;
}
.deco-4 {
  max-width: clamp(12.4rem, 3.943rem + 42.29vw, 19.8rem);
  width: 100%;
  bottom: -2.5rem;
  right: 5%;
  z-index: 5;
}
.deco-5 {
  max-width: clamp(10.3rem, 3.1rem + 36vw, 16.6rem);
  width: 100%;
  right: 0;
  top: 0;
  z-index: 1;
}
.deco-6 {
  max-width: clamp(23.8rem, 7.343rem + 82.29vw, 38.2rem);
  width: 100%;
  left: 0;
  bottom: 0;
  z-index: -2;
}
.deco-7 {
  max-width: clamp(15.8rem, 4.943rem + 54.29vw, 25.3rem);
  width: 100%;
  right: -7%;
  top: -20rem;
}
.deco-8 {
  max-width: clamp(23.9rem, 7.557rem + 81.71vw, 38.2rem);
  width: 100%;
  z-index: -1;
  right: -10%;
  bottom: -7rem;
  margin: auto 0;
}
.deco-9 {
  max-width: clamp(11.5rem, 3.5rem + 40vw, 18.5rem);
  width: 100%;
  right: 0;
  bottom: -16rem;
  margin: auto 0;
}
.deco-10 {
  max-width: clamp(19.5rem, 6.129rem + 66.86vw, 31.2rem);
  width: 100%;
  left: -8%;
  z-index: 5;
  transform: scale(-1, 1);
  bottom: -22rem;
}
.deco-11 {
  max-width: clamp(27.8rem, 8.714rem + 95.43vw, 44.5rem);
  width: 100%;
  top: -8%;
  right: -5%;
  z-index: -1;
}
.deco-12 {
  width: 100%;
  z-index: -1;
  bottom: -33.1rem;
}
.deco-13 {
  max-width: clamp(45rem, 14.029rem + 154.86vw, 72.1rem);
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  z-index: 2;
}
/*------------------------------------------*/
/* fontface */
/* NotoSansJP <weight>: Use a value from 100 to 900 */
.noto-sans-jp {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
.font-weight-bold {
  font-weight: bold;
}
/*------------------------------------------*/
/* ローディング */
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: var(--bw-clr);
  text-align: center;
  transition: 1s;
}
.loaded {
  opacity: 0;
  visibility: hidden;
}
.loader {
  width: 40px;
  height: 40px;
  margin: 100px auto;
  background: var(--ju-clr);
  border-radius: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: auto;
  -webkit-animation: sk-scaleout 1s infinite ease-in-out;
  animation: sk-scaleout 1s infinite ease-in-out;
}
@-webkit-keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0)
  }
  100% {
    -webkit-transform: scale(1);
    opacity: 0;
  }
}
@keyframes sk-scaleout {
  0% {
    -webkit-transform: scale(0);
    transform: scale(0);
  }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 0;
  }
}
/*------------------------------------------*/
/* アニメーション */
/* フェードイン */
.FadeIn {
  opacity: 0;
  transition-duration: .8s;
}
.FadeIn.show {
  opacity: 1;
}
/* 上へ */
.InUp {
  opacity: 0;
  transform: translate(0, 60px);
  -webkit-transform: translate(0, 60px);
  transition: 1s;
}
.InUp.show {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
/* 左へ */
.InLft {
  opacity: 0;
  transform: translate(60px, 0);
  -webkit-transform: translate(60px, 0);
  transition: 1s;
}
.InLft.show {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
/* 右へ */
.InRgt {
  opacity: 0;
  transform: translate(-60px, 0);
  -webkit-transform: translate(-60px, 0);
  transition: 1s;
}
.InRgt.show {
  opacity: 1;
  transform: translate(0, 0);
  -webkit-transform: translate(0, 0);
}
/* シール横 */
.StickerX.lft {
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
  transition: .8s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
}
.StickerX.rgt {
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
  transition: .8s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
}
.StickerX.show {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}
/* シール縦 */
.StickerY {
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  transition: 1s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: clip-path;
}
.StickerY.show {
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}
/* 表示までの時間 */
.in01 {
  animation-delay: 2.2s !important;
  transition-delay: 2.2s !important;
}
.in02 {
  animation-delay: 1s !important;
  transition-delay: 1s !important;
}
.in03 {
  animation-delay: 1.1s !important;
  transition-delay: 1.1s !important;
}
.in04 {
  animation-delay: 1.2s !important;
  transition-delay: 1.2s !important;
}
.in05 {
  animation-delay: 1.3s !important;
  transition-delay: 1.3s !important;
}
.in06 {
  animation-delay: 1.4s !important;
  transition-delay: 1.4s !important;
}
/*------------------------------------------*/
/* hero */
.hero {
  background: url("../img/hero_img_01.jpg")center / cover no-repeat;
  height: 100vh;
  height: 100svh;
  min-height: clamp(61.7rem, 19.414rem + 211.43vw, 98.7rem);
  width: 100%;
  color: var(--wh-clr);
  z-index: 3;
  padding-bottom: 3rem;
}
.hero .inner {
  width: 90%;
  height: 100%;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 2;
}
.hero_ttlbox {
  width: -webkit-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: max-content;
  position: absolute;
  top: -10%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}
.hero_ttl {
  max-width: clamp(15rem, 4.714rem + 51.43vw, 24rem);
  height: -webkit-max-content;
  height: max-content;
  margin: 0 auto clamp(3.5rem, 1.214rem + 11.43vw, 5.5rem);
}
.hero_subttl {
  font-size: clamp(2rem, 0.629rem + 6.86vw, 3.2rem);
  line-height: clamp(3.2rem, 1.029rem + 10.86vw, 5.1rem);
  text-align: center;
}
.hero_subttl .bdr {
  display: inline-block;
  position: relative;
  z-index: 2;
}
.hero_subttl .bdr::before {
  content: "";
  z-index: -1;
  width: 100%;
  height: clamp(0.9rem, 0.329rem + 2.86vw, 1.4rem);
  background: var(--bw-clr);
  position: absolute;
  bottom: 0.5rem;
  left: 0;
}
.info {
  position: relative;
  margin: auto 0 0;
}
.info_datebox {}
.info_date {
  max-width: clamp(20.6rem, 6.314rem + 71.43vw, 33.1rem);
}
.info_other {
  font-size: clamp(1.8rem, 0.543rem + 6.29vw, 2.9rem);
  line-height: clamp(2.4rem, 0.343rem + 10.29vw, 4.2rem);
  margin-top: clamp(0.5rem, -0.071rem + 2.86vw, 1rem);
}
.info_fuki {
  max-width: clamp(13.6rem, 4.229rem + 46.86vw, 21.8rem);
  position: absolute;
  top: -19rem;
  right: -10rem;
}
/*------------------------------------------*/
/* intro */
.intro {
  background: var(--ju-clr);
  padding: clamp(12.7rem, 4.357rem + 41.71vw, 20rem) 0 clamp(5.2rem, 1.657rem + 17.71vw, 8.3rem);
}
.intro .inner {
  width: 90%;
  position: relative;
  z-index: 4;
}
.intro_ttlbox {
  max-width: clamp(32.6rem, 10.2rem + 112vw, 52.2rem);
  width: 100%;
  margin: 0 auto;
}
.intro_ttl {
  max-width: clamp(8.6rem, 2.771rem + 29.14vw, 13.7rem);
  width: 30%;
}
.intro_img {
  max-width: clamp(22.6rem, 7.057rem + 77.71vw, 36.2rem);
  width: 70%;
  object-fit: contain;
}
.intro_txtbox {
  background: var(--gr-clr);
  color: var(--wh-clr);
  padding: clamp(1.4rem, 0.6rem + 4vw, 2.1rem) 5%;
  text-align: justify;
  border-radius: 11px;
  margin-top: clamp(1.5rem, 0.929rem + 2.86vw, 2rem);
  width: 100%;
}
.intro_att_txt {
  font-size: clamp(1.2rem, 0.4rem + 4vw, 1.9rem);
  line-height: clamp(2rem, 0.629rem + 6.86vw, 3.2rem);
}
/*------------------------------------------*/
/* check */
.check {
  background: var(--ju-clr);
  color: var(--gr-clr);
}
.check_ttlbox {
  background: var(--gr-clr);
  padding: clamp(0.9rem, -0.129rem + 5.14vw, 1.8rem) clamp(3rem, 1.286rem + 8.57vw, 4.5rem);
  display: inline-block;
  border-radius: 0 100px 100px 0;
}
.check_ttl {
  max-width: clamp(13rem, 3.857rem + 45.71vw, 21rem);
}
.check_list {}
.check_item {
  padding: clamp(2.4rem, 1.371rem + 5.14vw, 3.3rem) 0;
}
.check_item .inner {
  max-width: clamp(31.5rem, 9.9rem + 108vw, 50.4rem);
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
.check_item.two .inner {
  max-width: 100%;
}
.check_item_ttl {
  justify-content: flex-start;
  margin-bottom: clamp(2rem, 0.857rem + 5.71vw, 3rem);
}
.check_item_ttl .num {
  margin-right: clamp(1.5rem, 0.014rem + 7.43vw, 2.8rem);
}
.check_item.one .check_item_ttl .num {
  max-width: clamp(3.8rem, 1.057rem + 13.71vw, 6.2rem);
}
.check_item.two .check_item_ttl .num {
  max-width: clamp(4.4rem, 1.429rem + 14.86vw, 7rem);
}
.check_item.three .check_item_ttl .num {
  max-width: clamp(4.4rem, 1.429rem + 14.86vw, 7rem);
}
.check_item.four .check_item_ttl .num {
  max-width: clamp(4.6rem, 1.4rem + 16vw, 7.4rem);
}
.check_item_ttl .jp {
  font-size: clamp(1.6rem, 0.571rem + 5.14vw, 2.5rem);
  line-height: clamp(2.3rem, 0.7rem + 8vw, 3.7rem);
}
.check_item_txtbox {
  text-align: justify;
}
.check_item.two .check_item_ttlbox, .check_item.two .check_item_txtbox {
  max-width: clamp(31.5rem, 9.9rem + 108vw, 50.4rem);
  width: 100%;
  margin: 0 auto;
}
.check_item.two .check_item_txtbox {
  padding-bottom: clamp(3rem, 1.857rem + 5.71vw, 4rem);
}
.check_item_txtbox p {
  font-size: clamp(1.3rem, 0.386rem + 4.57vw, 2.1rem);
  line-height: clamp(2.5rem, 0.786rem + 8.57vw, 4rem);
}
.check_item_txtbox h3 {
  font-size: clamp(1.4rem, 0.486rem + 4.57vw, 2.2rem);
  background: var(--gr-clr);
  color: var(--ju-clr);
  padding: clamp(0.6rem, 0.029rem + 2.86vw, 1.1rem) clamp(0.8rem, 4vw, 1.5rem);
  display: inline-block;
}
.check_item_txtbox .bdr {
  border-bottom: 1px solid var(--gr-clr);
}
.check_item_imgbox {
  position: relative;
  width: 100%;
}
.check_item.one .check_item_imgbox {
  margin-top: clamp(3rem, 1.286rem + 8.57vw, 4.5rem);
}
.check_item.four .check_item_imgbox {
  margin-top: clamp(2.7rem, -0.271rem + 14.86vw, 5.3rem);
  width: 115%;
}
.check_item_imgbox .ph_img {
  position: relative;
  max-width: clamp(35.6rem, 11.143rem + 122.29vw, 57rem);
  width: 100%;
}
.check_item_imgbox .txt_img {
  position: absolute;
  top: -2rem;
  left: 0;
  z-index: 4;
  max-width: clamp(16rem, 5.714rem + 51.43vw, 25rem);
  width: 100%;
}
.check_item.two .check_topbox {
  position: relative;
  width: 100%;
  margin: 0;
}
.check_item.two .check_topbox::before {
  content: "";
  display: inline-block;
  width: 105%;
  height: 100%;
  -webkit-mask-image: url("../img/mask_img_01.svg");
  mask-image: url("../img/mask_img_01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: var(--bw-clr);
  position: absolute;
  z-index: -1;
  bottom: -1px;
  left: -2.5%;
}
.check_item.two .check_btmbox {
  position: relative;
  background: var(--bw-clr);
  color: var(--wh-clr);
  padding: clamp(2.7rem, 0.757rem + 9.71vw, 4.4rem) 0;
  width: 100%;
  margin: 0;
}
.check_item.two .check_btmbox::before {
  content: "";
  display: inline-block;
  width: 105%;
  height: 100%;
  -webkit-mask-image: url("../img/mask_img_01.svg");
  mask-image: url("../img/mask_img_01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: var(--ju-clr);
  position: absolute;
  z-index: 1;
  bottom: -1px;
  left: -2.5%;
}
.check_item.four {
  position: relative;
  width: 100%;
  margin: 0;
  padding: clamp(2.4rem, 1.371rem + 5.14vw, 3.3rem) 0 0;
}
.check_item.four::before {
  content: "";
  display: inline-block;
  width: 105%;
  height: 100%;
  -webkit-mask-image: url("../img/mask_img_01.svg");
  mask-image: url("../img/mask_img_01.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 0 100%;
  mask-position: 0 100%;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: var(--yl-clr);
  position: absolute;
  z-index: 1;
  bottom: -1px;
  left: -2.5%;
  transform: scale(-1, 1);
}
.check_message_list {
  max-width: clamp(29rem, 9rem + 100vw, 46.5rem);
  margin: 0 auto;
}
.check_message_ttlbox {
  max-width: clamp(8.6rem, 2.657rem + 29.71vw, 13.8rem);
  margin: 0 auto clamp(2rem, 1.314rem + 3.43vw, 2.6rem);
}
.check_message_item {
  margin-bottom: clamp(3.5rem, 0.986rem + 12.57vw, 5.7rem);
}
.check_message_item_ttlbox {}
.check_message_item_ttl {
  margin: 0 auto clamp(2rem, 1.314rem + 3.43vw, 2.6rem);
}
.check_message_item:first-of-type .check_message_item_ttl {
  max-width: clamp(10.6rem, 3.286rem + 36.57vw, 17rem);
}
.check_message_item:last-of-type .check_message_item_ttl {
  max-width: clamp(5.5rem, 1.729rem + 18.86vw, 8.8rem);
}
.check_message_item_txtbox {
  max-width: clamp(29rem, 9rem + 100vw, 46.5rem);
  margin: 0 auto;
}
.check_message_item_txtbox p {
  font-size: clamp(1.3rem, 0.5rem + 4vw, 2rem);
  line-height: clamp(2.3rem, 0.7rem + 8vw, 3.7rem);
  text-align: justify;
}
.check_message_txtbox {
  position: relative;
  max-width: clamp(29rem, 9rem + 100vw, 46.5rem);
  margin: 0 auto;
}
.check_att_txt {
  font-size: clamp(1.1rem, 0.414rem + 3.43vw, 1.7rem);
  line-height: clamp(1.6rem, 0.571rem + 5.14vw, 2.5rem);
}
.check_message_txtbox .ph_img {
  max-width: clamp(18rem, 5.543rem + 62.29vw, 28.9rem);
  margin: clamp(1rem, -0.486rem + 7.43vw, 2.3rem) auto 0;
}
.check_message_txtbox .deco_img {
  max-width: clamp(2rem, 0.857rem + 5.71vw, 3rem);
  position: absolute;
  top: 0;
}
.check_message_txtbox .deco_img .lft {
  left: 0;
}
.check_message_txtbox .deco_img .rgt {
  right: 0;
  transform: scale(-1, 1);
}
.check_message_img {
  position: relative;
  max-width: clamp(18rem, 5.429rem + 62.86vw, 29rem);
  width: 100%;
  margin: clamp(1.7rem, 1.129rem + 2.86vw, 2.2rem) auto -8rem;
  z-index: 5;
}
.check_message_img .ph_img {
  width: 100%;
}
.check_message_img .deco_img {
  width: clamp(1.9rem, 0.643rem + 6.29vw, 3rem);
  top: clamp(2rem, 0.857rem + 5.71vw, 3rem);
}
.check_message_img .deco_img.lft {
  /*left: clamp(1rem, 0.429rem + 2.86vw, 1.5rem);*/
  left: -1.5rem;
}
.check_message_img .deco_img.rgt {
  right: -1.5rem;
  transform: scale(-1, 1);
}
.check_item_craft {}
.check_item_craft_ttlbox {}
.check_item_craft .check_item_craft_img {
  width: 100%;
  margin: clamp(1.2rem, 0.057rem + 5.71vw, 2.2rem) auto 0;
}
.check_item_craft.castanet {
  position: relative;
  margin: clamp(8rem, 2.629rem + 26.86vw, 12.7rem) auto clamp(1.8rem, -0.257rem + 10.29vw, 3.6rem);
}
.check_item_craft.castanet .check_item_craft_ttlbox {
  width: 50%;
  position: relative;
}
.check_item_craft.castanet .check_item_craft_ttlbox .label {
  width: clamp(5.1rem, 1.557rem + 17.71vw, 8.2rem);
  height: clamp(5.1rem, 1.557rem + 17.71vw, 8.2rem);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -4.5rem;
  right: -3rem;
  background: var(--gr-clr);
  color: var(--wh-clr);
  border-radius: 100px;
  font-size: clamp(1.4rem, 0.44rem + 4.8vw, 2.24rem);
}
.check_item_craft.castanet .check_item_craft_img {
  max-width: clamp(14.5rem, 4.443rem + 50.29vw, 23.3rem);
  width: 50%;
  margin: 0 auto;
}
.check_item_craft_ttlbox h4 {
  position: relative;
  padding-left: clamp(2.5rem, 0.786rem + 8.57vw, 4rem);
  font-size: clamp(1.5rem, 0.471rem + 5.14vw, 2.4rem);
  margin-bottom: clamp(1.2rem, -0.057rem + 6.29vw, 2.3rem);
}
.check_item_craft_ttlbox h4::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(1.8rem, 0.429rem + 6.86vw, 3rem);
  height: clamp(1.6rem, 0.457rem + 5.71vw, 2.6rem);
  background: url("../img/check_icon.svg")center / 100% no-repeat;
}
.check_item_craft_ttlbox p {
  font-size: clamp(1.3rem, 0.5rem + 4vw, 2rem);
  line-height: clamp(2.5rem, 0.786rem + 8.57vw, 4rem);
}
.check_item_craft_plan {
  margin-top: clamp(3.5rem, 0.643rem + 14.29vw, 6rem);
}
.check_item_craft_plan_ttl {
  text-align: center;
  max-width: -webkit-max-content;
  max-width: max-content;
  margin: 0 auto clamp(2.5rem, 1.357rem + 5.71vw, 3.5rem);
  position: relative;
}
.check_item_craft_plan_ttl h5 {
  display: inline-block;
  font-size: clamp(1.4rem, 0.486rem + 4.57vw, 2.2rem);
  color: var(--ju-clr);
  background: var(--gr-clr);
  padding: clamp(0.6rem, 0.029rem + 2.86vw, 1.1rem) clamp(1.7rem, 0.443rem + 6.29vw, 2.8rem);
}
.check_item_craft_plan_ttl p {
  font-size: clamp(1.4rem, 0.486rem + 4.57vw, 2.2rem);
  margin-top: clamp(0.5rem, -0.071rem + 2.86vw, 1rem);
}
.check_item_craft_plan_ttl .label {
  width: clamp(8.9rem, 2.729rem + 30.86vw, 14.3rem);
  height: clamp(8.9rem, 2.729rem + 30.86vw, 14.3rem);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: -6.3rem;
  right: -10rem;
  z-index: -1;
  background: var(--yl-clr);
  border-radius: 100px;
  font-size: clamp(1.4rem, 0.486rem + 4.57vw, 2.2rem);
  line-height: clamp(1.7rem, 0.557rem + 5.71vw, 2.7rem);
}
.check_item_craft_list {}
.check_item_craft_item {
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.check_item_craft_item:not(:last-of-type) {
  margin-bottom: clamp(2.9rem, 0.843rem + 10.29vw, 4.7rem);
}
.check_item_craft_item_ttlbox {
  max-width: clamp(13.5rem, 4.243rem + 46.29vw, 21.6rem);
  width: 45%;
  margin-left: 5%;
}
.check_item_craft_item:nth-child(1) .check_item_craft_item_ttlbox, .check_item_craft_item:nth-child(4) .check_item_craft_item_ttlbox {
  max-width: clamp(12rem, 3.886rem + 40.57vw, 19.1rem);
}
.check_item_craft_item:nth-child(3) .check_item_craft_item_ttlbox {
  max-width: clamp(12.1rem, 3.757rem + 41.71vw, 19.4rem);
}
.check_item_craft_item_ttl {
  width: 100%;
}
.check_item_craft_item_imgbox {
  max-width: clamp(15.6rem, 4.971rem + 53.14vw, 24.9rem);
  width: 50%;
}
/*------------------------------------------*/
/* map */
.map {
  background: var(--yl-clr);
  padding: clamp(6.5rem, 2.957rem + 17.71vw, 9.6rem) 0 clamp(11rem, 3.571rem + 37.14vw, 17.5rem);
  z-index: 3;
}
.map .inner {
  width: 87%;
  margin: 0 auto;
}
.map_ttlbox {
  text-align: center;
  margin: 0 auto clamp(3rem, 1.286rem + 8.57vw, 4.5rem);
}
.map_ttl img {
  max-width: clamp(3.9rem, 1.271rem + 13.14vw, 6.2rem);
}
.map_ttl span {
  display: block;
}
.map_ttl .small {
  font-size: clamp(1.6rem, 0.571rem + 5.14vw, 2.5rem);
  margin: clamp(2rem, 0.629rem + 6.86vw, 3.2rem) auto clamp(1.2rem, 0.286rem + 4.57vw, 2rem);
}
.map_ttl .large {
  font-size: clamp(2.4rem, 0.8rem + 8vw, 3.8rem);
}
.map_imgbox {
  position: relative;
  margin-bottom: clamp(8.8rem, 3.086rem + 28.57vw, 13.8rem);
}
.map_index {
  max-width: clamp(14.6rem, 4.657rem + 49.71vw, 23.3rem);
  position: absolute;
  left: -13%;
  width: 100%;
}
.map_imgbox .map_index {
  top: -7%;
}
.map_accessbox .map_index {
  top: -14%;
}
.map_img {
  width: 100%;
}
.map_accessbox {
  position: relative;
}
.map_access {}
.map iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 8 / 7;
}
.map p {
  font-size: clamp(1.4rem, 0.486rem + 4.57vw, 2.2rem);
  line-height: clamp(2.5rem, 0.786rem + 8.57vw, 4rem);
  margin-top: clamp(2.2rem, 0.486rem + 8.57vw, 3.7rem);
}
.map p .large {
  font-size: clamp(1.6rem, 0.457rem + 5.71vw, 2.6rem);
  display: block;
  margin-bottom: clamp(0.8rem, -0.114rem + 4.57vw, 1.6rem);
}
.map_link {
  display: block;
  max-width: -webkit-max-content;
  max-width: max-content;
  width: 100%;
  margin: clamp(3.2rem, 1.6rem + 8vw, 4.6rem) 0 0 auto;
  border-bottom: 1px solid var(--bw-clr);
  font-size: clamp(1.4rem, 0.486rem + 4.57vw, 2.2rem);
  line-height: normal;
}
/*------------------------------------------*/
/* info sub */
.event {
  background: var(--ju-clr);
  color: var(--wh-clr);
  padding: clamp(10rem, 2.914rem + 35.43vw, 16.2rem) 0 0;
  position: relative;
  width: 100%;
  margin: 0;
  z-index: 2;
}
.event::before {
  content: "";
  display: inline-block;
  width: 105%;
  height: 100%;
  -webkit-mask-image: url("../img/mask_img_02.svg");
  mask-image: url("../img/mask_img_02.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: 100% 0;
  mask-position: 100% 0;
  -webkit-mask-size: 100%;
  mask-size: 100%;
  background-color: var(--yl-clr);
  position: absolute;
  z-index: 3;
  bottom: 1px;
  left: -2.5%;
}
.event .inner {
  position: relative;
  z-index: 2;
}
.event_ttlbox {
  width: -webkit-max-content;
  width: max-content;
  height: -webkit-max-content;
  height: max-content;
  margin: 0 auto;
}
.event_ttl {
  max-width: clamp(15rem, 4.714rem + 51.43vw, 24rem);
  height: -webkit-max-content;
  height: max-content;
  margin: 0 auto clamp(3.5rem, 1.214rem + 11.43vw, 5.5rem);
}
.event_subttl {
  font-size: clamp(2rem, 0.629rem + 6.86vw, 3.2rem);
  line-height: clamp(3.2rem, 1.029rem + 10.86vw, 5.1rem);
  text-align: center;
  color: var(--gr-clr);
}
.event_subttl .bdr {
  display: inline-block;
  position: relative;
  z-index: 2;
}
.event_subttl .bdr::before {
  content: "";
  z-index: -1;
  width: 100%;
  height: clamp(0.9rem, 0.329rem + 2.86vw, 1.4rem);
  background: var(--yl-clr);
  position: absolute;
  bottom: 0.5rem;
  left: 0;
}
.event .info {
  max-width: -webkit-max-content;
  max-width: max-content;
  width: 90%;
  /*margin: clamp(15.8rem, 4.371rem + 57.14vw, 25.8rem) 0 0 5%;*/
  margin: 0 0 0 5%;
  position: relative;
}
.info_img_top {
  max-width: clamp(15.5rem, 4.871rem + 53.14vw, 24.8rem);
  position: absolute;
  bottom: -8%;
  right: 5%;
}
.info_img_btm {
  max-width: clamp(15.6rem, 4.743rem + 54.29vw, 25.1rem);
  margin: 0 0 clamp(2.5rem, 0.786rem + 8.57vw, 4rem) 0;
}
/*------------------------------------------*/
/* end */
.end {
  background: url("../img/end_img_01.jpg")center bottom / cover no-repeat;
  padding: clamp(17.6rem, 5.029rem + 62.86vw, 28.6rem) 0 clamp(40rem, 12.457rem + 137.71vw, 64.1rem);
}
.end .inner {}
.end_ttlbox {}
.end_ttl {
  max-width: clamp(5.8rem, 1.914rem + 19.43vw, 9.2rem);
  margin: 0 auto;
}
/*------------------------------------------*/
/* footer */
footer {
  background: #000;
  padding: 30px 0 20px;
  color: #fff;
}
footer .inner {
  max-width: 989px;
  width: 90%;
  margin: 0 auto;
  font-size: 8px;
}
footer h5 {
  max-width: 179px;
}
footer h6 {
  font-size: 13px;
  margin: 20px 0 10px;
}
footer p {
  font-size: 13px;
  line-height: 21px;
  margin: 10px 0 40px;
}
footer small {
  font-size: 13px;
}
@media only screen and (max-width: 425px) {
  /*------------------------------------------*/
  /* 共通：基本・レイアウト指定 */
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  #wrap {
    background-attachment: initial;
  }
  body {
    background: #fff;
  }
  .deco-1 {
    max-width: 12.6rem;
  }
  .deco-2 {
    bottom: -18rem;
  }
  .deco-3 {
    max-width: 26.4rem;
  }
  .deco-4 {
    max-width: 12.4rem;
    bottom: -4rem;
  }
  .deco-5 {
    max-width: 10.3rem;
  }
  .deco-6 {
    max-width: 23.8rem;
    bottom: -4rem;
  }
  .deco-7 {
    max-width: 15.8rem;
    top: -13rem;
  }
  .deco-8 {
    max-width: 23.9rem;
  }
  .deco-9 {
    max-width: 11.5rem;
    bottom: -12rem;
  }
  .deco-10 {
    max-width: 16.5rem;
    bottom: -13rem;
  }
  .deco-11 {
    max-width: 27.8rem;
    top: -4%;
    right: -8%;
  }
  .deco-12 {
    bottom: -19rem;
  }
  .deco-13 {
    max-width: 45rem;
    width: 110%;
    left: -5%;
  }
  /*------------------------------------------*/
  /* ローディング */
  .loader {
    left: 45%;
    top: 46%;
  }
  /*------------------------------------------*/
  /* アニメーション */
  /*------------------------------------------*/
  /* hero */
  .hero {
    min-height: 620px;
    padding-bottom: 2rem;
  }
  .hero_ttl {
    max-width: 150px;
    margin-bottom: 3.5rem;
  }
  .hero_subttl {
    font-size: 2rem;
    line-height: 3.2rem;
  }
  .hero_subttl .bdr::before {
    bottom: 0;
  }
  .info {
    width: 100%;
  }
  .info_fuki {
    max-width: 13.6rem;
    top: -11rem;
    right: 0;
    width: 40%;
  }
  .info_date {
    max-width: 20.6rem;
  }
  .info_other {
    font-size: 1.8rem;
    line-height: 2.4rem;
    margin-top: 0.5rem;
  }
  /*------------------------------------------*/
  /* intro */
  .intro {
    padding: 11rem 0 5.2rem;
  }
  .intro_img {
    max-width: 22.6rem;
    width: 65%;
  }
  .intro_txtbox {
    padding: 1.4rem 5%;
    margin-top: 1.5rem;
  }
  .intro_att_txt {
    font-size: 1.2rem;
    line-height: 2rem;
  }
  /*------------------------------------------*/
  /* check */
  .check_item .inner {
    max-width: 85%;
  }
  .check_ttlbox {
    padding: 0.9rem 3rem;
  }
  .check_ttl {
    max-width: 13rem;
  }
  .check_item_ttl {
    margin-bottom: 2rem;
  }
  .check_item_ttl .num {
    margin-right: 1.5rem;
  }
  .check_item.one .check_item_ttl .num {
    max-width: 3.8rem;
  }
  .check_item.two .check_item_ttl .num {
    max-width: 4.4rem;
  }
  .check_item.three .check_item_ttl .num {
    max-width: 4.4rem;
  }
  .check_item.four .check_item_ttl .num {
    max-width: 4.6rem;
  }
  .check_item_ttl .jp {
    font-size: 1.6rem;
    line-height: 2.3rem;
  }
  .check_item_txtbox p {
    font-size: 1.3rem;
    line-height: 2.5rem;
  }
  .check_item.one .check_item_imgbox {
    margin-top: 3rem;
  }
  .check_item.two .check_item_ttlbox, .check_item.two .check_item_txtbox {
    max-width: 80%;
  }
  .check_message_item {
    margin-bottom: 3.5rem;
  }
  .check_message_item_ttl {
    margin: 0 auto 2rem;
  }
  .check_message_item:first-of-type .check_message_item_ttl {
    max-width: 10.6rem;
  }
  .check_message_item:last-of-type .check_message_item_ttl {
    max-width: 5.5rem;
  }
  .check_message_item_txtbox {
    max-width: 80%;
  }
  .check_message_item_txtbox p {
    font-size: 1.3rem;
    line-height: 2.3rem;
  }
  .check_message_txtbox {
    max-width: 80%;
  }
  .check_att_txt {
    font-size: 1.1rem;
    line-height: 1.6rem;
  }
  .check_item {
    padding: 2.4rem 0;
  }
  .check_item.two .check_item_txtbox {
    padding-bottom: 1.5rem;
  }
  .check_item_txtbox h3 {
    font-size: 1.4rem;
    padding: 0.6rem 0.8rem;
  }
  .check_item.two .check_btmbox {
    padding: 2.7rem 0 6rem;
  }
  .check_message_ttlbox {
    max-width: 8.6rem;
    margin: 0 auto 2rem;
  }
  .check_message_img {
    max-width: 18rem;
    margin: 1.7rem auto -8rem;
  }
  .check_message_img .deco_img {
    width: 1.9rem;
    top: 2rem;
  }
  .check_item_craft_ttlbox h4 {
    padding-left: 2.5rem;
    font-size: 1.5rem;
    margin-bottom: 1.2rem;
  }
  .check_item_craft_ttlbox h4::before {
    width: 1.8rem;
    height: 1.6rem;
  }
  .check_item_craft_ttlbox p {
    font-size: 1.3rem;
    line-height: 2.5rem;
  }
  .check_item_craft .check_item_craft_img {
    margin: 1.2rem auto 0;
  }
  .check_item_craft_plan {
    margin-top: 3.5rem;
  }
  .check_item_craft_plan_ttl h5 {
    font-size: 1.4rem;
    padding: 0.6rem 1.7rem;
  }
  .check_item_craft_plan_ttl p {
    font-size: 1.4rem;
    margin-top: 0.5rem;
  }
  .check_item_craft_plan_ttl .label {
    width: 8.9rem;
    height: 8.9rem;
    font-size: 1.4rem;
    line-height: 1.7rem;
    top: -4rem;
    right: -6rem;
  }
  .check_item_craft_item {
    justify-content: center;
  }
  .check_item_craft_item_imgbox {
    max-width: 15.6rem;
  }
  .check_item_craft_item_ttlbox {
    max-width: 13.5rem;
  }
  .check_item_craft_item:nth-child(1) .check_item_craft_item_ttlbox, .check_item_craft_item:nth-child(4) .check_item_craft_item_ttlbox {
    max-width: 12rem;
  }
  .check_item_craft_item:nth-child(3) .check_item_craft_item_ttlbox {
    max-width: 12.1rem;
  }
  .check_item_craft.castanet {
    margin: 8rem auto 1.8rem;
  }
  .check_item_craft.castanet .check_item_craft_ttlbox .label {
    width: 5.1rem;
    height: 5.1rem;
    top: -2.5rem;
    right: -2rem;
    font-size: 1.4rem;
  }
  .check_item_imgbox .ph_img {
    max-width: 35.6rem;
  }
  .check_item_imgbox .txt_img {
    max-width: 16rem;
  }
  /*------------------------------------------*/
  /* map */
  .map {
    padding: 6.5rem 0 11rem;
  }
  .map_ttl img {
    max-width: 3.9rem;
  }
  .map_ttl .small {
    font-size: 1.6rem;
    margin: 2rem auto 1.2rem;
  }
  .map_ttl .large {
    font-size: 2.4rem;
  }
  .map_index {
    max-width: 14.6rem;
  }
  .map_imgbox {
    margin-bottom: 8.8rem;
  }
  .map_imgbox .map_index {
    top: -2rem;
  }
  .map_accessbox .map_index {
    top: -5.5rem;
  }
  .map p {
    font-size: 1.4rem;
    line-height: 2.5rem;
    margin-top: 2.2rem;
  }
  .map p .large {
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
  }
  .map_link {
    margin: 3.2rem 0 0 auto;
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
  /*------------------------------------------*/
  /* event */
  .info_img_top {
    max-width: 15.5rem;
  }
  .event {
    padding: 10rem 0 0;
  }
  .event_ttl {
    max-width: 15rem;
    margin: 0 auto 3.5rem;
  }
  .event_subttl {
    font-size: 2rem;
    line-height: 3.2rem;
  }
  .event_subttl .bdr::before {
    bottom: 0;
  }
  .event .info {
    max-width: 100%;
    margin: 0 auto;
  }
  .info_img_btm {
    max-width: 15.6rem;
    margin: 1.5rem 0 2.5rem 5%;
  }
  .info_fuki {
    max-width: 14.8rem;
    width: 43%;
    right: -5%;
  }
  /*------------------------------------------*/
  /* end */
  .end {
    padding: 17.6rem 0 40rem;
  }
  .end_ttl {
    max-width: 5.8rem;
  }
}
@media only screen and (max-width: 320px) {
  /*------------------------------------------*/
  /* 共通：基本・レイアウト指定 */
  .deco-2 {
    bottom: -13.5rem;
  }
  .deco-3 {
    right: -13%;
  }
  .deco-10 {
    max-width: 13.5rem;
    bottom: -10rem;
  }
  .deco-12 {
    bottom: -14rem;
  }
  /*------------------------------------------*/
  /* check */
  .check_item_craft.castanet .check_item_craft_ttlbox .label {
    right: -4.5rem;
  }
  .check_item_imgbox .txt_img {
    max-width: 14rem;
    left: -0.5rem;
  }
  .map_imgbox .map_index {
    top: -2.5rem;
  }
  .map_accessbox .map_index {
    top: -5.5rem;
  }
}