@charset "UTF-8";
@import 'https://unpkg.com/@acab/reset.css';
/* =================================
Web Fonts
================================= */
/* =================================
Default CSS
================================= */
@view-transition {
  navigation: auto;
}
/*font-size*/
:root {
  font-size: 62.5%;
  --mypage-color-primary: #ffa83e;
  --mypage-color-link: #f27e00;
  --mypage-color-basic--team1: #ffa500;
  --mypage-color-basic--team2: #e2263a;
  --mypage-color-basic--team3: #652430;
}
html {
  color-scheme: light;
  scroll-behavior: smooth;
}
body {
  font-size: 1.6rem;
}
.page {
  font-family: ibm-plex-sans-jp, Hiragino Kaku Gothic W3 JIS2004, Hiragino Kaku Gothic ProN, Hiragino Sans, YuGothic, "Yu Gothic Medium", "Yu Gothic", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
  text-size-adjust: 100%;
  line-height: 1.5;
  letter-spacing: 0.08em;
}
/*link*/
a,
.link {
  text-decoration: none;
  color: inherit;
  opacity: 1;
  transition: 0.2s ease-in-out;
  cursor: pointer;
}
a img,
.link img {
  opacity: 1;
}
a:hover,
.link:hover {
  opacity: 0.8;
}
a:hover img,
.link:hover img {
  opacity: 1;
}
.no-link {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  opacity: 0.5;
}
.inlinelink {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  color: var(--mypage-color-link);
}
br.sp {
  display: contents;
}
@media screen and (max-width: 750px) {
  br.sp {
    display: inline;
  }
}
/* =================================
コンテンツ用CSS／オリジナル設定
================================= */
.page {
  position: relative;
  padding-top: 90px;
}
@media screen and (max-width: 750px) {
  .page {
    padding-top: 66px;
  }
}
/* 共通ヘッダー・フッター
-------------------------*/
.site-header .header .logo_2 {
  display: none;
}
.site-footer {
  background-color: #fff;
  padding-top: 1rem;
}
.site-footer .copyright {
  padding: 0 1em;
  font-size: 1.2rem;
}
.site-footer .btn_wrap {
  display: none;
  margin: 8rem auto 4rem;
}
.site-footer .oshitabi_btn {
  display: block;
  width: fit-content;
  margin: auto;
  padding: 0 2.3em;
  box-shadow: 0 0 0 3px #000 inset;
  border-radius: 1rem;
  text-align: center;
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 900;
  line-height: 3.5em;
}
.site-footer .oshitabi_btn:hover {
  background-color: #000;
  color: #fff;
}
.site-footer .oshi-tabi-common-footer-wrap,
.site-footer footer .tw_btn {
  display: none;
}
@media screen and (max-width: 750px) {
  .site-footer .btn_wrap {
    width: 90%;
  }
  .site-footer .oshitabi_btn {
    width: 74%;
  }
}
/* ローディング、共有物
-------------------------*/
#loading {
  display: none;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 10;
  inset: 0;
  pointer-events: none;
}
#loading .loader {
  width: clamp(4rem, 5vw, 8rem);
  height: auto;
  aspect-ratio: 1/1;
  border: 5px solid #ffa83e;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}
@-moz-keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-o-keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media screen and (max-width: 750px) {
  #loading .loader {
    border-width: 4px;
  }
}
figure:has(img[loading="lazy"]),
a:has(img[loading="lazy"]) {
  display: block;
  width: 100%;
  height: auto;
}
figure:has(img[loading="lazy"]) picture,
a:has(img[loading="lazy"]) picture {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
figure:has(img[loading="lazy"]) picture::before,
a:has(img[loading="lazy"]) picture::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  inset: 0;
  margin: auto;
  background-image: url("../img/lazyloading_gry.png");
  background-size: 600px 50px;
  width: 50px;
  height: 50px;
  animation: lazy 1s steps(12) infinite;
}
figure:has(img[loading="lazy"]) picture img,
a:has(img[loading="lazy"]) picture img {
  position: relative;
  z-index: 0;
  opacity: 0;
  transition: 0.2s linear;
}
figure:has(img[loading="lazy"]) picture img.loaded,
a:has(img[loading="lazy"]) picture img.loaded {
  opacity: 1;
}
@-moz-keyframes lazy {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -600px 0;
  }
}
@-webkit-keyframes lazy {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -600px 0;
  }
}
@-o-keyframes lazy {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -600px 0;
  }
}
@keyframes lazy {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -600px 0;
  }
}
.backhead {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  z-index: 1;
  right: 1em;
  bottom: 1em;
  width: 100px;
  height: auto;
  aspect-ratio: 1/1;
  background-image: url("../img/pagetop.svg");
  background-position: center;
  background-size: contain;
  transform: translate(100%, 0);
  pointer-events: none;
  cursor: pointer;
  transition: 0.2s linear;
  opacity: 0;
}
.backhead.on {
  transform: translate(0, 0);
  pointer-events: auto;
  opacity: 1;
}
.backhead:hover {
  opacity: 0.8;
}
@media screen and (max-width: 750px) {
  .backhead {
    width: 80px;
    right: 0.5em;
    bottom: 0.5em;
  }
}
/* トップ画面のヘッダー
-------------------------*/
#top .page-header .mv .hero {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 2000/1400;
  background-color: #ffe7c4;
  background-position: center;
  background-size: cover;
}
#top .page-header .mv .hero .logo {
  position: absolute;
  z-index: 1;
  top: 2rem;
  left: 4vw;
  width: 45vw;
  height: auto;
  aspect-ratio: 4677/1507;
}
#top .page-header .mv .hero .logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#top .page-header .mv .hero .photo {
  position: absolute;
  z-index: 0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: 0.2s linear;
}
#top .page-header .mv .hero .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#top .page-header .mv .thumbs {
  display: grid;
  grid-template: auto/repeat(3, minmax(auto, 340px));
  align-items: center;
  justify-content: center;
  gap: clamp(1rem, 1vw, 2rem);
  padding: clamp(1rem, 1vw, 2rem);
  background-color: #e77f0e;
  background-image: url("../img/pat1.png?0");
  background-repeat: repeat;
  background-position: center;
  background-size: 170px 60px;
}
#top .page-header .mv .thumbs .item {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 340/240;
  background-color: #ea8c30;
  background-size: cover;
  background-position: center;
  border-radius: clamp(1rem, 3vw, 3rem);
  overflow: hidden;
  cursor: pointer;
  transition: 0.5s ease-out;
  opacity: 1;
  transform: scale(0.95);
}
#top .page-header .mv .thumbs .item:hover {
  opacity: 0.8;
  transform: scale(1);
}
#top .page-header .mv .thumbs .item label {
  display: contents;
  width: 100%;
  height: 100%;
}
#top .page-header .mv .thumbs .item label input {
  display: none;
}
#top .page-header .mv .thumbs .item:has(input:checked) {
  transform: scale(1);
  box-shadow: 0 0 0 2px #fff;
  z-index: 1;
}
#top .page-header .mv .thumbs .item:nth-of-type(1) {
  background-image: url("../img/top/thumb1.jpg");
}
#top .page-header .mv .thumbs .item:nth-of-type(2) {
  background-image: url("../img/top/thumb2.jpg");
}
#top .page-header .mv .thumbs .item:nth-of-type(3) {
  background-image: url("../img/top/thumb3.jpg");
}
#top .page-header .mv:has(.item:nth-of-type(1) input:checked) .hero .photo:nth-of-type(1) {
  opacity: 1;
}
#top .page-header .mv:has(.item:nth-of-type(2) input:checked) .hero .photo:nth-of-type(2) {
  opacity: 1;
}
#top .page-header .mv:has(.item:nth-of-type(3) input:checked) .hero .photo:nth-of-type(3) {
  opacity: 1;
}
/* トップ画面のキャラボタン
-------------------------*/
#top .page-content {
  padding: 0;
}
#top .page-content .section {
  background-image: url("../img/pattern8.svg?0"), url("../img/pattern9.svg?0"), linear-gradient(-70deg, rgba(255,120,0,0.25), rgba(255,229,0,0.25) 50%, rgba(255,120,0,0.25)), url("../img/bg.png?0");
  background-size: 50%, 50%, 100%, 50%;
  background-repeat: no-repeat;
  background-position: left top, right bottom -0.5%, center, center;
  padding: 0 0 clamp(3rem, 5vw, 6rem);
}
#top .page-content .section .section-header {
  display: grid;
  align-content: center;
  justify-content: center;
  gap: clamp(1rem, 2vw, 2rem);
  padding: clamp(2rem, 4vw, 8rem) 2rem;
  background-color: rgba(255,239,191,0.5);
}
#top .page-content .section .section-header .date {
  width: 90vw;
  height: auto;
  aspect-ratio: 1933/78;
  max-width: 1800px;
}
#top .page-content .section .section-header .date img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#top .page-content .section .section-header .text {
  font-size: clamp(1.2rem, 2vw, 2rem);
  text-align: center;
  line-height: 1.5;
}
#top .page-content .section .section-content {
  display: grid;
  gap: clamp(2rem, 4vw, 6rem);
  padding: clamp(3rem, 5vw, 6rem) 0;
}
#top .page-content .section .section-content .guide {
  font-size: clamp(2rem, 4vw, 6.4rem);
  font-weight: 700;
  text-align: center;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  padding: 0 0.5em;
}
#top .page-content .section .section-content .nav {
  display: grid;
  gap: clamp(2rem, 4vw, 6rem);
}
#top .page-content .section .section-content .nav .item a {
  display: inline-block;
  width: 88vw;
  height: auto;
  aspect-ratio: 1720/616;
  overflow: hidden;
  background-color: #fed387;
  transition: 0.5s ease-out;
}
#top .page-content .section .section-content .nav .item a:hover {
  opacity: 0.6;
}
#top .page-content .section .section-content .nav .item:nth-of-type(1) a {
  background-color: #f19122;
}
#top .page-content .section .section-content .nav .item:nth-of-type(2) a {
  background-color: #29419e;
}
#top .page-content .section .section-content .nav .item:nth-of-type(3) a {
  background-color: #e5c342;
}
#top .page-content .section .section-content .nav .item:nth-of-type(4) a {
  background-color: #c01b1f;
}
#top .page-content .section .section-content .nav .item:nth-of-type(5) a {
  background-color: #692528;
}
#top .page-content .section .section-content .nav .item:nth-of-type(6) a {
  background-color: #3f823d;
}
#top .page-content .section .section-content .nav .item:nth-of-type(odd) {
  text-align: right;
}
#top .page-content .section .section-content .nav .item:nth-of-type(odd) a {
  border-radius: clamp(2rem, 5vw, 7.5rem) 0 0 clamp(2rem, 5vw, 7.5rem);
  box-shadow: clamp(1rem, 2.5vw, 2rem) clamp(1rem, 2.5vw, 2rem) 0 #000;
}
#top .page-content .section .section-content .nav .item:nth-of-type(even) {
  text-align: left;
}
#top .page-content .section .section-content .nav .item:nth-of-type(even) a {
  border-radius: 0 clamp(2rem, 5vw, 7.5rem) clamp(2rem, 5vw, 7.5rem) 0;
  box-shadow: clamp(-1rem, -2.5vw, -2rem) clamp(1rem, 2.5vw, 2rem) 0 #000;
}
#top .page-content .section .section-content .buttons {
  margin-top: 2em;
}
#top .page-content .section .section-content .buttons .button {
  display: grid;
  grid-template: auto/auto auto;
  align-items: center;
  gap: 1em;
  width: fit-content;
  margin: auto;
  padding: 0.8em 1.6em;
  background-color: #000;
  border-radius: 1em;
  color: #fff;
  font-size: clamp(1.6rem, 4vw, 3rem);
}
#top .page-content .section .section-content .buttons .button::before {
  content: '';
  display: block;
  width: 2em;
  height: auto;
  aspect-ratio: 1/1;
  mask-image: url("../img/sns_x.svg");
  mask-position: center;
  mask-size: cover;
  mask-repeat: no-repeat;
  background-color: currentColor;
}
#top .page-content .section .section-content .buttons .button .text {
  line-height: 1.3;
  font-weight: 700;
}
@media screen and (max-width: 750px) {
  #top .page-content .section .section-content .nav .item a {
    width: 95vw;
  }
}
/* 下層共通
-------------------------*/
.page-main {
  background-image: linear-gradient(-70deg, rgba(255,120,0,0.25), rgba(255,229,0,0.25) 50%, rgba(255,120,0,0.25)), url("../img/bg.png?0");
  background-size: 100%, 50%;
  opacity: 1;
  transition: 0.2s linear;
}
.page-main.init {
  opacity: 0;
}
.page-main.init + #loading {
  display: flex;
}
.page-main .page-header .title {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e77f0e;
  background-image: url("../img/pat1.png"), url("../img/pat2.png");
  background-size: 10%, 100% 100%;
  background-repeat: repeat, no-repeat;
  background-position: center;
  height: 200px;
  padding: 0 4vw;
  font-size: clamp(2rem, 5vw, 8rem);
  text-align: center;
}
.page-main .page-header .title .text {
  display: block;
  font-family: dela-gothic-one, sans-serif;
  font-weight: 400;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  transform: skew(-15deg, 0);
}
.page-main .page-header .gnav {
  background-color: rgba(255,247,181,0.25);
}
.page-main .page-header .gnav .list {
  display: flex;
  gap: 1.2vw 1vw;
  justify-content: center;
  padding: 3vw 0;
  text-align: center;
  flex-wrap: wrap;
  max-width: 960px;
  margin: auto;
}
.page-main .page-header .gnav .nav {
  display: block;
  width: fit-content;
  padding: 0 1.5em;
  background-color: #ffa83e;
  box-shadow: 0 0 0 2px #000 inset;
  border-radius: 2em;
  font-size: clamp(1.4rem, 2.5vw, 2.4rem);
  font-weight: 700;
  line-height: 2;
}
.page-main .page-content {
  padding: clamp(6rem, 10vw, 12rem) 0 clamp(6rem, 10vw, 12rem);
}
.page-main .page-content .section {
  --mypage-color-emphasis: #f27e00;
  opacity: 0;
  transition: 0.5s linear;
}
.page-main .page-content .section.on {
  opacity: 1;
}
.page-main .page-content .section + .section {
  padding-top: clamp(6rem, 8vw, 10rem);
}
.page-main .page-content .section.alignright .section-inner {
  position: relative;
  background-color: #f3f3f3;
  background-image: url("../img/pattern5.png"), url("../img/pattern4.svg"), url("../img/pattern1-mirror.svg"), url("../img/bg-w.png");
  background-size: 15%, 20%, 20%, 50%;
  background-position: left top, right top, right bottom, center;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  margin-left: 10vw;
  border-radius: clamp(2rem, 4vw, 6rem) 0 0 clamp(2rem, 4vw, 6rem);
}
.page-main .page-content .section.alignright .section-inner::after {
  content: '';
  display: block;
  position: absolute;
  right: 0;
  bottom: 1em;
  height: calc(100% - 7em);
  width: calc(100% + 1em);
  border: 2px solid #000;
  border-top-width: 0;
  border-right-width: 0;
  border-radius: 0 0 0 clamp(2rem, 4vw, 6rem);
  pointer-events: none;
}
.page-main .page-content .section.alignleft .section-inner {
  position: relative;
  background-color: #f3f3f3;
  background-image: url("../img/pattern5-mirror.png"), url("../img/pattern4.svg"), url("../img/pattern1.svg"), url("../img/bg-w.png");
  background-size: 15%, 20%, 20%, 50%;
  background-position: right top, left top, left bottom, center;
  background-repeat: no-repeat, no-repeat, no-repeat, repeat;
  margin-right: 10vw;
  border-radius: 0 clamp(2rem, 4vw, 6rem) clamp(2rem, 4vw, 6rem) 0;
}
.page-main .page-content .section.alignleft .section-inner::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 1em;
  height: calc(100% - 7em);
  width: calc(100% + 1em);
  border: 2px solid #000;
  border-top-width: 0;
  border-left-width: 0;
  border-radius: 0 0 clamp(2rem, 4vw, 6rem) 0;
  pointer-events: none;
}
.page-main .page-content .section.alignleft .section-inner .section-header.ball {
  margin-left: auto;
  margin-right: 0;
}
.page-main .page-content .section.alignleft .section-inner .section-header.ball::before {
  left: unset;
  right: 100%;
}
.page-main .page-content .section.alignleft .section-inner .section-header.ball .title {
  transform: translate(8%, -40%) rotate(4deg);
}
.page-main .page-content .section.aligncenter .section-inner {
  position: relative;
  background-color: #f3f3f3;
  background-image: url("../img/pattern7.svg"), url("../img/pattern7.svg"), url("../img/bg-w.png");
  background-size: 10%, 10%, 50%;
  background-position: right top, left bottom, center;
  background-repeat: no-repeat, no-repeat, repeat;
  border-radius: clamp(2rem, 4vw, 6rem);
  margin: 0 8vw;
  box-shadow: 0 0 0 2px #000;
}
.page-main .page-content .section.aligncenter .section-inner .section-header.ball {
  margin-left: auto;
  margin-right: 0;
}
.page-main .page-content .section.aligncenter .section-inner .section-header.ball::before {
  display: none;
}
.page-main .page-content .section.aligncenter .section-inner .section-header.ball .title {
  transform: translate(8%, -40%) rotate(4deg);
}
.page-main .page-content .section .section-header .title {
  font-size: clamp(1.8rem, 4vw, 4rem);
}
.page-main .page-content .section .section-header .title .text {
  display: block;
  font-family: dela-gothic-one, sans-serif;
  font-weight: 400;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  transform: skew(-15deg, 0);
}
.page-main .page-content .section .section-header .heading {
  font-size: clamp(2rem, 4vw, 4rem);
  text-align: center;
}
.page-main .page-content .section .section-header .heading .text {
  display: block;
  font-family: dela-gothic-one, sans-serif;
  font-weight: 400;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  transform: skew(-15deg, 0);
}
.page-main .page-content .section .section-header.ball {
  position: relative;
  width: fit-content;
}
.page-main .page-content .section .section-header.ball::before {
  content: '';
  display: block;
  position: absolute;
  top: -1em;
  left: 100%;
  right: unset;
  width: calc(100vw - 100% - 10vw);
  height: 2px;
  background-color: #e77f0e;
}
.page-main .page-content .section .section-header.ball .title {
  display: grid;
  grid-template: auto/auto;
  align-items: center;
  width: fit-content;
  box-shadow: 0 0 0 2px #000 inset;
  border-radius: 0.4em;
  background-color: #fff;
  height: 2.4em;
  padding: 0 0.5em;
  line-height: 1;
  transform: translate(-4%, -40%) rotate(-4deg);
}
.page-main .page-content .section .section-content {
  display: grid;
  gap: clamp(2rem, 4vw, 4rem);
  padding: 0 4vw clamp(4rem, 6vw, 8rem);
  font-size: clamp(1.4rem, 2.5vw, 1.8rem);
}
.page-main .page-content .section .guide {
  color: var(--mypage-color-emphasis);
  text-align: center;
  font-size: clamp(1.6rem, 2.5vw, 3.6rem);
  font-weight: 700;
  line-height: 1.3;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.page-main .page-content .section .guide small {
  display: block;
  font-size: 0.6em;
  margin-top: 0.5em;
}
.page-main .page-content .section .figure {
  display: block;
  max-width: 960px;
  margin: auto;
}
.page-main .page-content .section .steps {
  width: 80%;
  max-width: 640px;
  margin: auto;
}
.page-main .page-content .section .notes {
  max-width: 960px;
  margin: auto;
}
.page-main .page-content .section .notes .caption {
  font-weight: 700;
  line-height: 1.4;
}
.page-main .page-content .section .notes .caption + ul {
  margin-top: 0.5em;
}
.page-main .page-content .section .notes ul {
  display: grid;
  gap: 0.2em;
}
.page-main .page-content .section .notes ul li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.6;
}
.page-main .page-content .section .details summary {
  display: block;
  width: fit-content;
  margin: auto;
}
.page-main .page-content .section .details summary::-webkit-details-marker {
  display: none;
}
.page-main .page-content .section .details .button {
  display: flex;
  align-items: center;
  gap: 0.4em;
  box-shadow: 0 0 0 2px #000;
  padding: 0 1.5em;
  border-radius: 2em;
  font-size: clamp(1.4rem, 2vw, 2rem);
  height: 4em;
  text-align: center;
}
.page-main .page-content .section .details .button .text {
  font-weight: 700;
  line-height: 1.5;
  word-break: keep-all;
  word-wrap: anywhere;
}
.page-main .page-content .section .details .button::after {
  content: '';
  display: block;
  width: 1.2em;
  height: auto;
  aspect-ratio: 1/1;
  background-color: currentColor;
  mask-image: url("../img/arw.svg");
  mask-size: contain;
  mask-repeat: no-repeat;
  mask-position: center;
  transform: rotate(-180deg);
  transition: 0.2s ease-out;
}
.page-main .page-content .section .details .detail {
  margin-top: clamp(2rem, 4vw, 4rem);
}
.page-main .page-content .section .details:open .button::after {
  transform: rotate(0deg);
}
.page-main .page-content .section .terms {
  display: grid;
  gap: 2em;
  background-color: #f3edd7;
  background-image: url("../img/pat1.png");
  background-size: 10%;
  border-radius: 2em;
  max-width: 960px;
  margin: auto;
  padding: 2em 0 2em;
  border-radius: 2em;
}
.page-main .page-content .section .terms h3.heading {
  background-color: var(--mypage-color-emphasis);
  padding: 0.3em 0;
}
.page-main .page-content .section .terms h3.heading .text {
  display: block;
  padding: 0.4em 0.5em;
  border-top: 2px dashed rgba(255,255,255,0.5);
  border-bottom: 2px dashed rgba(255,255,255,0.5);
  color: #fff;
  font-size: clamp(1.8rem, 2.4vw, 3rem);
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  word-break: keep-all;
  word-wrap: anywhere;
}
.page-main .page-content .section .terms .guide {
  font-size: clamp(1.8rem, 2vw, 2.4rem);
  padding: 0 1em;
}
.page-main .page-content .section .terms .definition {
  display: grid;
  gap: 2em;
  padding: 0 clamp(1rem, 2vw, 3rem);
}
.page-main .page-content .section .terms .definition dt {
  color: var(--mypage-color-emphasis);
  font-weight: 700;
  border-left: 0.3em solid currentColor;
  padding-left: 0.5em;
  line-height: 1.2;
}
.page-main .page-content .section .terms .definition dt + dd {
  margin-top: 0.5em;
}
.page-main .page-content .section .terms .definition dd {
  line-height: 1.6;
}
.page-main .page-content .section .terms .definition dd small {
  display: block;
  margin-top: 0.5em;
  font-size: 0.8em;
}
.page-main .page-content .section .terms .notes {
  width: auto;
  max-width: unset;
}
.page-main .page-content .section em {
  font-style: normal;
  font-weight: 700;
  line-height: inherit;
}
.page-main .page-content .section small.indent {
  text-indent: -1em;
  padding-left: 1em;
}
@media screen and (max-width: 750px) {
  .page-main .page-header .title {
    height: 100px;
  }
  .page-main .page-content .section.alignright .section-inner {
    margin-left: 6vw;
  }
  .page-main .page-content .section.alignright .section-inner::after {
    bottom: 0.5em;
    height: calc(100% - 4em);
    width: calc(100% + 0.5em);
  }
  .page-main .page-content .section.alignleft .section-inner {
    margin-right: 6vw;
  }
  .page-main .page-content .section.alignleft .section-inner::after {
    bottom: 0.5em;
    height: calc(100% - 4em);
    width: calc(100% + 0.5em);
  }
  .page-main .page-content .section .section-header.ball::before {
    top: -0.5em;
    width: calc(100vw - 100% - 6vw);
  }
  .page-main .page-content .section .section-header.ball .title {
    transform: translate(-4%, -40%) rotate(-4deg);
  }
}
/* 下層固有
-------------------------*/
#voice .page-content {
  background-image: url("../img/lgk.svg"), url("../img/lgk.svg"), url("../img/pattern2.svg"), url("../img/pattern3.svg"), url("../img/pattern3.svg");
  background-position: left 0 top 0, right 0 bottom 0, left -15vw top 80vw, right -20vw top 55%, left -20vw bottom -9vw;
  background-size: 5vw, 5vw, 45vw, 45vw, 45vw;
  background-repeat: no-repeat;
}
#voice .page-content .section .section-header .subtitle {
  position: absolute;
  text-shadow: none;
  left: 0;
  bottom: 100%;
  width: fit-content;
  height: auto;
  background-color: #ffa83e;
  box-shadow: 0 0 0 2px #000;
  border-radius: 0.35em;
  transform: translate(-1.5em, -40%) rotate(-4deg);
}
#voice .page-content .section .section-header .subtitle .text {
  display: block;
  padding: 0.1em 0.6em;
  font-family: dela-gothic-one, sans-serif;
  font-weight: 400;
  transform: skew(-15deg, 0);
  font-size: clamp(2rem, 2.5vw, 3.4rem);
}
#voice .page-content .section#originalvoice {
  --mypage-color-emphasis: #f27e00;
}
#voice .page-content .section#originalvoice .member {
  display: grid;
  gap: 0.5em;
  width: fit-content;
  margin: auto;
}
#voice .page-content .section#originalvoice .member .row {
  display: grid;
  grid-template: auto/6em 1fr;
  align-items: center;
  gap: 0.5em;
  font-size: clamp(1.4rem, 3vw, 2.4rem);
  font-weight: 700;
}
#voice .page-content .section#originalvoice .member dt {
  color: #fff;
  text-align: center;
  line-height: 1.6;
}
#voice .page-content .section#originalvoice .member dt.team1 {
  background-color: var(--mypage-color-basic--team1);
}
#voice .page-content .section#originalvoice .member dt.team2 {
  background-color: var(--mypage-color-basic--team2);
}
#voice .page-content .section#originalvoice .member dt.team3 {
  background-color: var(--mypage-color-basic--team3);
}
#voice .page-content .section#originalvoice .member dd {
  text-align: left;
  line-height: 1.6;
}
#voice .page-content .section#originalvoice .qrcode {
  display: none;
  grid-template: auto/1fr auto;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4rem) clamp(2.5rem, 5vw, 6rem);
  max-width: fit-content;
  margin: auto;
  background-color: var(--mypage-color-primary);
  border-radius: 2em;
  box-shadow: 0 0 0 10px var(--mypage-color-primary) inset, 0 0 0 11px rgba(255,255,255,0.5) inset;
}
#voice .page-content .section#originalvoice .qrcode h4.heading {
  font-size: clamp(1.6rem, 2.5vw, 3.2rem);
  font-weight: 700;
}
#voice .page-content .section#originalvoice .qrcode .text {
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 600;
  line-height: 1.5;
}
#voice .page-content .section#originalvoice .qrcode .qr {
  display: block;
  width: 120px;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
}
#voice .page-content .section#originalvoice .buttons {
  display: none;
}
#voice .page-content .section#originalvoice .buttons .button {
  display: block;
  width: 90%;
  max-width: 640px;
  margin: auto;
  padding: 0.8em 2em;
  background-color: #ff9726;
  border-radius: 0.5em;
  box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #fff inset;
  text-align: center;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.4;
  font-weight: 700;
}
#voice .page-content .section#originalvoice .notyet button {
  display: block;
  appearance: none;
  outline: none;
  width: 80%;
  max-width: 560px;
  margin: auto;
  padding: 0;
  background-color: rgba(0,0,0,0.5);
  border-radius: 0.5em;
  box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #fff inset;
  color: #fff;
  text-align: center;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 3.5;
  font-weight: 700;
  opacity: 0.5;
}
#voice .page-content .section#originalvoice h3.heading {
  font-size: clamp(2.4rem, 4.8vw, 6rem);
  text-align: center;
  word-break: keep-all;
  word-wrap: anywhere;
}
#voice .page-content .section#originalvoice h3.heading .text {
  display: block;
  font-family: dela-gothic-one, sans-serif;
  font-weight: 400;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  transform: skew(-15deg, 0);
}
#voice .page-content .section#originalvoice h3.heading .text {
  line-height: 1.2;
}
#voice .page-content .section#boarding {
  --mypage-color-emphasis: #c62128;
}
#voice.pc .links .qrcode {
  display: grid !important;
}
#voice.pc .links .buttons {
  display: none !important;
}
#voice.smp .links .qrcode {
  display: none !important;
}
#voice.smp .links .buttons {
  display: block !important;
}
@media screen and (max-width: 750px) {
  #voice .page-content .section .section-header .subtitle {
    transform: translate(-0.7em, -40%) rotate(-4deg);
  }
  #voice .page-content .section#originalvoice .qrcode {
    grid-template: auto/auto;
  }
  #voice .page-content .section#originalvoice .qrcode .qr {
    margin: auto;
  }
}
#stamp .page-content {
  padding-top: clamp(2rem, 3vw, 4rem);
}
#stamp .page-content .section#howto .section-inner .section-header {
  position: relative;
  overflow: hidden;
}
#stamp .page-content .section#howto .section-inner .section-header::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 18%;
  width: 100%;
  height: 75%;
  background-color: rgba(241,241,241,0.52);
  clip-path: polygon(0 4vw, 100% 0, 100% calc(100% - 4vw), 0 100%);
}
#stamp .page-content .section#howto .section-inner .section-header::after {
  content: 'STAMP  \ARALLY';
  display: block;
  position: absolute;
  z-index: 0;
  right: 0;
  top: 50%;
  width: fit-content;
  color: rgba(255,161,47,0.4);
  font-family: 'Antonio', sans-serif;
  font-size: clamp(4rem, 13vw, 20rem);
  font-weight: 700;
  text-align: right;
  line-height: 0.86;
  white-space: pre-wrap;
  transform: translateY(-65%);
}
#stamp .page-content .section#howto .section-inner .section-header .inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 1em;
  background-image: url("../img/cloud1.png"), url("../img/cloud2.png");
  background-size: 25%;
  background-repeat: no-repeat;
  background-position: left top, right bottom;
  padding: 4vw 0 8vw;
}
#stamp .page-content .section#howto .section-inner .section-header .imgtitle {
  display: grid;
  grid-template: auto/2fr 1fr;
  align-items: end;
  gap: 3vw;
  width: 80vw;
  margin: auto;
  padding-right: 2vw;
}
#stamp .page-content .section#howto .section-inner .section-header .guide {
  width: 80vw;
  margin: auto;
  padding: 0 0 0 1.5em;
  font-size: clamp(1.6rem, 2.4vw, 3.6rem);
  line-height: 1.4;
  color: #000;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  text-align: left;
}
#stamp .page-content .section#howto .section-inner .section-content {
  width: 80vw;
  margin: 2vw auto 0;
  background-color: #f3f3f3;
  background-image: url("../img/pattern7.svg"), url("../img/pattern7.svg"), url("../img/bg-w.png");
  background-size: 10%, 10%, 50%;
  background-position: right top, left bottom, center;
  background-repeat: no-repeat, no-repeat, repeat;
  border-radius: clamp(1.5rem, 4vw, 6rem);
  box-shadow: 0 0 0 2px #000;
  padding: clamp(2rem, 2vw, 4rem) clamp(2rem, 2vw, 4rem) clamp(4rem, 5vw, 8rem);
}
#stamp .page-content .section#howto h3.heading {
  font-size: clamp(2rem, 4vw, 4.8rem);
}
#stamp .page-content .section#howto h3.heading .text {
  display: block;
  font-family: dela-gothic-one, sans-serif;
  font-weight: 400;
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
  transform: skew(-15deg, 0);
}
#stamp .page-content .section#howto h3.heading .text {
  text-align: center;
  word-break: keep-all;
  word-wrap: anywhere;
  line-height: 1.2;
}
#stamp .page-content .section#howto .notes.narrow {
  max-width: 640px;
}
#stamp .page-content .section#howto .qrcode {
  display: grid;
  grid-template: auto/1fr auto;
  gap: clamp(1rem, 3vw, 3rem);
  align-items: center;
  justify-content: center;
  padding: clamp(2rem, 4vw, 4rem) clamp(2.5rem, 5vw, 6rem);
  max-width: fit-content;
  margin: auto;
  background-color: var(--mypage-color-primary);
  border-radius: 2em;
  box-shadow: 0 0 0 10px var(--mypage-color-primary) inset, 0 0 0 11px rgba(255,255,255,0.5) inset;
}
#stamp .page-content .section#howto .qrcode h4.heading {
  font-size: clamp(1.6rem, 2.5vw, 3.2rem);
  font-weight: 700;
}
#stamp .page-content .section#howto .qrcode .text {
  font-size: clamp(1.4rem, 2vw, 2rem);
  font-weight: 600;
  line-height: 1.5;
}
#stamp .page-content .section#howto .qrcode .qr {
  display: block;
  width: 120px;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
}
#stamp .page-content .section#howto .buttons {
  display: none;
}
#stamp .page-content .section#howto .buttons .button {
  display: none;
  width: 90%;
  max-width: 640px;
  margin: auto;
  padding: 0.8em 2em;
  background-color: #ff9726;
  border-radius: 0.5em;
  box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #fff inset;
  text-align: center;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 1.4;
  font-weight: 700;
}
#stamp .page-content .section#howto .notyet button {
  display: block;
  appearance: none;
  outline: none;
  width: 80%;
  max-width: 560px;
  margin: auto;
  padding: 0;
  background-color: rgba(0,0,0,0.5);
  border-radius: 0.5em;
  box-shadow: 0 0 0 2px #000 inset, 0 0 0 4px #fff inset;
  color: #fff;
  text-align: center;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  line-height: 3.5;
  font-weight: 700;
  opacity: 0.5;
}
#stamp .page-content .section#course .section-inner::before {
  width: calc(100% - 41em);
}
#stamp .page-content .section#course .section-content {
  max-width: 1200px;
  margin: auto;
}
#stamp .page-content .section#course .tabarea {
  --mypage-color-activeteam: var(--mypage-color-basic--team1);
  display: grid;
}
#stamp .page-content .section#course .tabarea .tabs {
  display: grid;
  grid-template: auto/repeat(3, 1fr);
  gap: clamp(0.3em, 1vw, 1em);
}
#stamp .page-content .section#course .tabarea .tabs .tab {
  grid-row: 2;
}
#stamp .page-content .section#course .tabarea .tabs .tab label {
  display: block;
  text-align: center;
  border-radius: 0.5em 0.5em 0 0;
  border-bottom: none;
  transition: 0.2s linear;
  background-color: rgba(0,0,0,0.2);
}
#stamp .page-content .section#course .tabarea .tabs .tab label:hover {
  opacity: 0.7;
}
#stamp .page-content .section#course .tabarea .tabs .tab label input {
  display: none;
}
#stamp .page-content .section#course .tabarea .tabs .tab label .text {
  color: #fff;
  font-size: clamp(1.4rem, 2.8vw, 2.4vw);
  line-height: 2.5;
  font-weight: 700;
}
#stamp .page-content .section#course .tabarea .tabs .tab:has(input:checked) {
  opacity: 1;
}
#stamp .page-content .section#course .tabarea .tabs .tab:nth-of-type(1):has(input:checked) label {
  background-color: var(--mypage-color-basic--team1);
}
#stamp .page-content .section#course .tabarea .tabs .tab:nth-of-type(2):has(input:checked) label {
  background-color: var(--mypage-color-basic--team2);
}
#stamp .page-content .section#course .tabarea .tabs .tab:nth-of-type(3):has(input:checked) label {
  background-color: var(--mypage-color-basic--team3);
}
#stamp .page-content .section#course .tabarea .map {
  grid-row: 1;
  width: 90%;
  height: auto;
  aspect-ratio: 886/610;
  margin: auto;
  margin-bottom: 2em;
  background-image: url("../img/stamp/map_k.svg");
  background-position: left top;
  background-size: contain;
  background-repeat: no-repeat;
}
#stamp .page-content .section#course .tabarea .groups {
  grid-row: 3;
  border: 2px solid var(--mypage-color-activeteam);
  padding: clamp(2em, 2vw, 3em) clamp(1em, 1.5vw, 2em);
  border-radius: 0 0 clamp(1.5em, 2vw, 3em) clamp(1.5em, 2vw, 3em);
}
#stamp .page-content .section#course .tabarea .group {
  display: none;
}
#stamp .page-content .section#course .tabarea .group .spot {
  display: grid;
  grid-template: auto/auto 1fr;
  align-items: flex-start;
  gap: 0 1.5em;
}
#stamp .page-content .section#course .tabarea .group .spot + .spot::before {
  content: '';
  display: block;
  grid-column: span 2;
  width: clamp(4em, 8vw, 6em);
  height: auto;
  aspect-ratio: 1/1;
  margin: auto;
  padding: 1em;
  background-color: var(--mypage-color-activeteam);
  mask-image: url("../img/stamp/arw.svg?0");
  mask-size: 45%;
  mask-position: center;
  mask-repeat: no-repeat;
}
#stamp .page-content .section#course .tabarea .group .spot .photo {
  position: relative;
  width: 35vw;
  height: auto;
  aspect-ratio: 1200/800;
  max-width: 720px;
  background-color: rgba(0,0,0,0.05);
}
#stamp .page-content .section#course .tabarea .group .spot .meta .title {
  display: grid;
  grid-template: auto/auto auto;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5em;
}
#stamp .page-content .section#course .tabarea .group .spot .meta .title .text {
  font-size: 1.1em;
  font-weight: 700;
  line-height: 1.2;
}
#stamp .page-content .section#course .tabarea .group .spot .meta .title::after {
  content: '';
  display: block;
  width: auto;
  height: 1.4em;
  aspect-ratio: 507/102;
  background-image: url("../img/stamp/voice_k.svg?0");
  background-size: contain;
}
#stamp .page-content .section#course .tabarea .group .spot .meta .props {
  display: grid;
  gap: 0.8em;
  margin-top: 0.5em;
}
#stamp .page-content .section#course .tabarea .group .spot .meta .props dt {
  font-size: 0.8em;
  line-height: 1.5;
  font-weight: 700;
}
#stamp .page-content .section#course .tabarea .group .spot .meta .props dd {
  font-size: 0.8em;
  line-height: 1.5;
}
#stamp .page-content .section#course .tabarea .group .spot.special .photo::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  left: 0.2em;
  top: 0;
  width: auto;
  height: clamp(4em, 7vw, 8em);
  aspect-ratio: 1/1;
  transform: translate(0, -23%);
  background-image: url("../img/stamp/sp_k.svg?0");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}
#stamp .page-content .section#course .tabarea .group .spot:first-child .photo::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  left: 0.5em;
  top: 0;
  width: auto;
  height: 1.8em;
  aspect-ratio: 303/45;
  transform: translate(0, -60%);
  background-color: var(--mypage-color-activeteam);
  mask-image: url("../img/stamp/start.svg?0");
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
}
#stamp .page-content .section#course .tabarea .group .spot:last-child .photo::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  left: 0.5em;
  top: 0;
  width: auto;
  height: 1.8em;
  aspect-ratio: 237/45;
  transform: translate(0, -60%);
  background-color: var(--mypage-color-activeteam);
  mask-image: url("../img/stamp/goal.svg?0");
  mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
}
#stamp .page-content .section#course .tabarea .group:nth-of-type(1) .spot.special .photo::before {
  background-image: url("../img/stamp/sp_k.svg?0");
}
#stamp .page-content .section#course .tabarea .group:nth-of-type(2) .spot.special .photo::before {
  background-image: url("../img/stamp/sp_n.svg?0");
}
#stamp .page-content .section#course .tabarea .group:nth-of-type(3) .spot.special .photo::before {
  background-image: url("../img/stamp/sp_i.svg?0");
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(1) input:checked) {
  --mypage-color-activeteam: var(--mypage-color-basic--team1);
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(1) input:checked) .map {
  background-image: url("../img/stamp/map_k.svg");
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(1) input:checked) .group:nth-of-type(1) {
  display: grid;
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(1) input:checked) .group:nth-of-type(1) .meta .title::after {
  background-image: url("../img/stamp/voice_k.svg?0");
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(2) input:checked) {
  --mypage-color-activeteam: var(--mypage-color-basic--team2);
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(2) input:checked) .map {
  background-image: url("../img/stamp/map_n.svg");
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(2) input:checked) .group:nth-of-type(2) {
  display: grid;
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(2) input:checked) .group:nth-of-type(2) .meta .title::after {
  background-image: url("../img/stamp/voice_n.svg?0");
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(3) input:checked) {
  --mypage-color-activeteam: var(--mypage-color-basic--team3);
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(3) input:checked) .map {
  background-image: url("../img/stamp/map_i.svg");
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(3) input:checked) .group:nth-of-type(3) {
  display: grid;
}
#stamp .page-content .section#course .tabarea:has(.tab:nth-of-type(3) input:checked) .group:nth-of-type(3) .meta .title::after {
  background-image: url("../img/stamp/voice_i.svg?0");
}
#stamp .page-content .section#course .notes {
  width: 100%;
  max-width: unset;
}
#stamp .page-content .section#course .terms {
  max-width: unset;
}
#stamp .page-content .section#course .terms .bromide {
  width: 80%;
  aspect-ratio: 1114/794;
}
#stamp .page-content .section#course .terms .bromide picture::before {
  display: none;
}
#stamp .page-content .section#food {
  --mypage-color-emphasis: #c62128;
}
#stamp .page-content .section#food .section-inner::before {
  width: calc(100% - 32em);
}
#stamp .page-content .section#food .section-content {
  max-width: 1200px;
  margin: auto;
}
#stamp .page-content .section#food .list {
  display: grid;
  gap: clamp(3rem, 5vw, 8rem);
  padding: 0 2vw;
  margin: 1vw auto 0;
  width: 100%;
}
#stamp .page-content .section#food .list .card {
  position: relative;
  display: grid;
  width: 100%;
  gap: 1.5em;
  background-color: #fff;
  padding-bottom: 2em;
  container-type: inline-size;
}
#stamp .page-content .section#food .list .card .title {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  background-color: var(--mypage-color-emphasis);
  color: #fff;
  padding: 0.6em 1em;
  font-weight: 700;
  font-size: clamp(1.4rem, 2vw, 2.6rem);
  line-height: 1.2;
  transform: translate(-0.7em, -0.7em);
}
#stamp .page-content .section#food .list .card .title::before {
  content: '';
  display: block;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  left: 0;
  top: 0;
  border: 3px solid #ededed;
  border-top-width: 0;
  border-left-width: 0;
}
#stamp .page-content .section#food .list .card .title::after {
  content: '';
  display: block;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  right: 0;
  bottom: 0;
  border: 3px solid #ededed;
  border-right-width: 0;
  border-bottom-width: 0;
}
#stamp .page-content .section#food .list .card .photo {
  aspect-ratio: 1200/800;
  background-color: rgba(0,0,0,0.08);
}
#stamp .page-content .section#food .list .card .meta {
  padding: 0 clamp(1em, 2vw, 1.5em);
  display: grid;
  gap: 0.5em;
}
#stamp .page-content .section#food .list .card .meta div {
  display: grid;
  grid-template: auto/6em 1fr;
  gap: 0.5em;
}
#stamp .page-content .section#food .list .card .meta dt {
  line-height: 1.6;
}
#stamp .page-content .section#food .list .card .meta dd {
  line-height: 1.6;
}
#stamp .page-content .section#food .list .card .meta dd small {
  display: block;
  font-size: 0.8em;
  line-height: inherit;
  margin-top: 0.2em;
}
#stamp .page-content .section#food .list .card .meta dd .day {
  display: inline-block;
  width: 3.3em;
  text-align: justify;
  text-align-last: justify;
  margin-right: 0.5em;
  line-height: inherit;
}
#stamp .page-content .section#food .list .card .details {
  padding: 0 clamp(1em, 2vw, 1.5em);
}
#stamp .page-content .section#food .list .card .details .button {
  background-color: var(--mypage-color-emphasis);
  color: #fff;
  box-shadow: none;
  height: 3em;
}
#stamp .page-content .section#food .list .card .details .button .text {
  padding: 0 1em;
}
#stamp .page-content .section#food .list .card .details .button::after {
  width: 1em;
}
#stamp .page-content .section#food .list .card .details .detail {
  display: grid;
  gap: clamp(1.5em, 2vw, 2em);
}
#stamp .page-content .section#food .list .card .details .detail .item {
  display: grid;
  grid-template: auto/1fr 1fr;
  gap: 1em;
  align-items: start;
  align-content: flex-start;
}
#stamp .page-content .section#food .list .card .details .detail .item .figure {
  aspect-ratio: 1440/1080;
  background-color: rgba(0,0,0,0.08);
  margin: unset;
  box-shadow: 0 0 0 1px rgba(0,0,0,0.1);
}
#stamp .page-content .section#food .list .card .details .detail .item .notes {
  display: grid;
  gap: 0.5em;
  margin: unset;
}
#stamp .page-content .section#food .list .card .details .detail .item .notes p,
#stamp .page-content .section#food .list .card .details .detail .item .notes ul {
  line-height: 1.5;
}
#stamp .page-content .section#food .list .card .details .detail .item .notes ul {
  font-size: 0.8em;
}
#stamp .page-content .section#food .list .card .details .detail .item .notes .label {
  color: #000;
  font-weight: 700;
  border-left: 4px solid var(--mypage-color-emphasis);
  padding-left: 0.5em;
}
#stamp .page-content .section#food .list .card .details .detail .item .notes .price small {
  display: inline-block;
}
#stamp .page-content .section#food .list .card .details .detail .item .notes small {
  display: block;
}
#stamp .page-content .section#food .list .card .details .detail .item.panel figure {
  display: none;
}
#stamp .page-content .section#food .list .card .details .detail .item.panel .notes {
  grid-column: 2;
}
#stamp .page-content .section#food .list .card .details .detail .item.panel .notes ul li:first-child {
  display: none;
}
@container (max-width: 600px) {
  #stamp .page-content .section#food .list .card .details .detail .item {
    grid-template: auto/auto;
  }
  #stamp .page-content .section#food .list .card .details .detail .item.panel .notes {
    grid-column: 1;
  }
}
@container (max-width: 600px) {
  #stamp .page-content .section#food .list .card dl {
    gap: 1em;
  }
  #stamp .page-content .section#food .list .card dl div {
    grid-template: auto/auto;
    gap: 0;
  }
}
#stamp .page-content .section#photospot {
  --mypage-color-emphasis: #182a4a;
}
#stamp .page-content .section#photospot .section-inner::before {
  width: calc(100% - 30em);
}
#stamp .page-content .section#photospot .section-content {
  max-width: 1200px;
  margin: auto;
}
#stamp .page-content .section#photospot .figures {
  display: grid;
  grid-template: auto/1fr 1fr;
  gap: 4rem;
}
#stamp .page-content .section#photospot .figures figure {
  position: relative;
  background: var(--mypage-color-emphasis);
  padding: 4px;
  width: 100%;
}
#stamp .page-content .section#photospot .figures figure::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  width: 5em;
  height: auto;
  aspect-ratio: 1/1;
  background-size: contain;
  transform: translate(-20%, -30%);
}
#stamp .page-content .section#photospot .figures figure:nth-of-type(1)::before {
  background-image: url("../img/stamp/num1.png?0");
}
#stamp .page-content .section#photospot .figures figure:nth-of-type(2)::before {
  background-image: url("../img/stamp/num2.png?0");
}
#stamp .page-content .section#photospot .figures figure.illustrative::after {
  content: '※画像はイメージです。';
  display: block;
  position: absolute;
  top: 100%;
  right: 0;
  font-size: 0.8em;
  line-height: 1.2;
  margin-top: 1em;
}
#stamp .page-content .section#photospot .figures figure picture {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1000/820;
}
#stamp .page-content .section#photospot .figures figure figcaption {
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  background-color: var(--mypage-color-emphasis);
  color: #fff;
  padding: 0.6em 1em;
  font-weight: 700;
  font-size: 0.9em;
  line-height: 1.2;
  transform: translate(-0.5em, 0.5em);
  word-break: keep-all;
  word-wrap: anywhere;
}
#stamp .page-content .section#photospot .figures figure figcaption::before {
  content: '';
  display: block;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  left: 0;
  top: 0;
  border: 2px solid rgba(255,255,255,0.5);
  border-top-width: 0;
  border-left-width: 0;
}
#stamp .page-content .section#photospot .figures figure figcaption::after {
  content: '';
  display: block;
  width: 0.5em;
  height: 0.5em;
  position: absolute;
  right: 0;
  bottom: 0;
  border: 2px solid rgba(255,255,255,0.5);
  border-right-width: 0;
  border-bottom-width: 0;
}
#stamp .page-content .section#photospot .notes {
  width: 100%;
  max-width: unset;
}
#stamp .page-content .section#photospot .terms {
  background-color: transparent;
  padding: 0;
  width: 100%;
  max-width: unset;
}
#stamp .page-content .section#photospot .terms .definition {
  padding: 0;
}
#stamp .page-content .section#photospot .terms .notes {
  margin-top: 0.5em;
  font-size: 0.8em;
}
#stamp.pc .links .qrcode {
  display: grid !important;
}
#stamp.pc .links .buttons {
  display: none !important;
}
#stamp.smp .links .qrcode {
  display: none !important;
}
#stamp.smp .links .buttons {
  display: block !important;
}
@media screen and (max-width: 750px) {
  #stamp .page-content .section#howto .section-inner .section-content {
    width: 90vw;
  }
  #stamp .page-content .section#howto .section-inner .steps {
    width: 100%;
  }
  #stamp .page-content .section#course .tabarea .group .spot {
    grid-template: auto/auto;
    gap: 1em 0;
  }
  #stamp .page-content .section#course .tabarea .group .spot + .spot::before {
    grid-column: span 1;
    width: 4em;
  }
  #stamp .page-content .section#course .tabarea .group .spot .photo {
    width: 100%;
  }
  #stamp .page-content .section#food .list .card .meta {
    gap: 0.8em;
  }
  #stamp .page-content .section#food .list .card .meta div {
    grid-template: auto/auto;
    gap: 0;
  }
  #stamp .page-content .section#photospot .figures {
    display: grid;
    grid-template: auto/1fr;
    gap: 2em;
  }
  #stamp .page-content .section#photospot .figures figure::before {
    transform: translate(-10%, -10%);
  }
  #stamp .page-content .section#photospot .figures figure.illustrative::after {
    margin-top: 1em;
  }
}
#goods .page-content {
  padding-top: 0;
  background-image: url("../img/lgk.svg"), url("../img/lgk.svg"), url("../img/pattern2.svg"), url("../img/pattern3.svg"), url("../img/pattern3.svg");
  background-position: left 0 top 0, right 0 bottom 0, left -15vw top 80vw, right -20vw top 55%, left -20vw bottom -9vw;
  background-size: 5vw, 5vw, 45vw, 45vw, 45vw;
  background-repeat: no-repeat;
}
#goods .page-content .section#goodslineup .section-inner .section-header {
  position: relative;
  overflow: hidden;
}
#goods .page-content .section#goodslineup .section-inner .section-header::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  left: 0;
  top: 18%;
  width: 100%;
  height: 82%;
  background-color: rgba(241,241,241,0.52);
  clip-path: polygon(0 4vw, 100% 0, 100% calc(100% - 4vw), 0 100%);
}
#goods .page-content .section#goodslineup .section-inner .section-header::after {
  content: 'GOODS';
  display: block;
  position: absolute;
  z-index: 0;
  right: 0;
  top: 50%;
  width: fit-content;
  color: rgba(255,161,47,0.4);
  font-family: 'Antonio', sans-serif;
  font-size: clamp(4rem, 13vw, 20rem);
  font-weight: 700;
  text-align: right;
  line-height: 0.86;
  white-space: pre-wrap;
  transform: translateY(-65%);
}
#goods .page-content .section#goodslineup .section-inner .section-header .inner {
  position: relative;
  z-index: 1;
  margin: 0 8vw;
  padding: 4vw 0 6vw;
}
#goods .page-content .section#goodslineup .section-inner .section-header .title {
  display: grid;
  grid-template: auto/auto;
  align-items: center;
  width: fit-content;
  box-shadow: 0 0 0 2px #000 inset;
  border-radius: 0.4em;
  background-color: #fff;
  height: 2.4em;
  padding: 0 0.5em;
  line-height: 1;
  transform: rotate(-5deg);
}
#goods .page-content .section#goodslineup .section-inner .section-header .guide {
  display: grid;
  grid-template: auto/auto 1fr;
  align-items: end;
  gap: 3vw;
  margin-top: 0.2em;
}
#goods .page-content .section#goodslineup .section-inner .section-header .guide .text {
  position: relative;
  display: block;
  color: #000;
  padding: 0 1em;
  line-height: 1.4;
  transform: rotate(-3deg) translate(0, 0.5em);
  margin-left: 1em;
  font-size: clamp(1.3rem, 3vw, 3.2rem);
}
#goods .page-content .section#goodslineup .section-inner .section-header .guide .text::before,
#goods .page-content .section#goodslineup .section-inner .section-header .guide .text::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  width: 3px;
  height: 100%;
  background-color: currentColor;
}
#goods .page-content .section#goodslineup .section-inner .section-header .guide .text::before {
  left: 0;
  transform: rotate(-20deg);
}
#goods .page-content .section#goodslineup .section-inner .section-header .guide .text::after {
  right: 0;
  transform: rotate(20deg);
}
#goods .page-content .section#goodslineup .section-inner .section-header .guide img {
  width: auto;
  height: auto;
  max-height: 120px;
  aspect-ratio: 978/404;
}
#goods .page-content .section#goodslineup .section-inner .section-content {
  padding-left: 8vw;
  padding-right: 8vw;
  container-type: inline-size;
}
#goods .page-content .section#goodslineup .list {
  display: grid;
  grid-template: auto/repeat(3, 1fr);
  gap: 2em;
}
#goods .page-content .section#goodslineup .list .card {
  position: relative;
  background-color: #ffa83e;
}
#goods .page-content .section#goodslineup .list .card::before {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  left: -3px;
  top: -3px;
  width: calc(100% + 3px);
  height: calc(100% + 6px);
  border-top: 3px solid #e77f0e;
  border-left: 3px solid #e77f0e;
  pointer-events: none;
}
#goods .page-content .section#goodslineup .list .card::after {
  content: '';
  display: block;
  position: absolute;
  z-index: 0;
  right: -3px;
  bottom: -3px;
  width: calc(100% + 3px);
  height: calc(100% + 6px);
  border-right: 3px solid #000;
  border-bottom: 3px solid #000;
  pointer-events: none;
}
#goods .page-content .section#goodslineup .list .card .photo {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
  background-color: #fff;
}
#goods .page-content .section#goodslineup .list .card .photo picture {
  position: relative;
  z-index: 1;
}
#goods .page-content .section#goodslineup .list .card .meta {
  display: grid;
  gap: 0.5em;
  padding: 0.5em 1em;
}
#goods .page-content .section#goodslineup .list .card .title {
  font-weight: 600;
  line-height: 1.5;
}
#goods .page-content .section#goodslineup .list .card .title .text {
  display: inline-block;
  margin-right: 0.2em;
  line-height: inherit;
}
#goods .page-content .section#goodslineup .list .card .title .tba {
  display: inline-block;
  background-color: var(--mypage-color-basic--team2);
  line-height: 1.4;
  padding: 0 0.2em;
  color: #fff;
}
#goods .page-content .section#goodslineup .list .card .price {
  font-weight: 600;
  line-height: 1.5;
}
#goods .page-content .section#goodslineup .list .card .area {
  display: grid;
  grid-templat: auto/auto;
  position: absolute;
  z-index: 1;
  top: -1em;
  right: -3px;
  width: 5em;
  border-radius: 0 0.5em 0 0;
  overflow: hidden;
}
#goods .page-content .section#goodslineup .list .card .area span {
  color: #fff;
  text-align: center;
  font-weight: 900;
  font-size: 1em;
  line-height: 1.3;
}
#goods .page-content .section#goodslineup .list .card .area.kyoto span {
  background-color: var(--mypage-color-basic--team2);
}
#goods .page-content .section#goodslineup .list .card .area.venue {
  display: grid;
  grid-template: auto/1fr 1fr;
}
#goods .page-content .section#goodslineup .list .card .area.venue span:first-child {
  background-color: var(--mypage-color-basic--team2);
}
#goods .page-content .section#goodslineup .list .card .area.venue span:last-child {
  background-color: #f27e00;
}
@container (max-width: 800px) {
  #goods .page-content .section#goodslineup .list {
    grid-template: auto/1fr 1fr;
  }
}
@container (max-width: 600px) {
  #goods .page-content .section#goodslineup .list {
    grid-template: auto/1fr;
  }
}
#goods .page-content .section#goodslineup .notes {
  width: 100%;
  max-width: unset;
}
#goods .page-content .section#goodslineup .notes .caption {
  border-left: 4px solid var(--mypage-color-emphasis);
  padding-left: 0.5em;
}
#goods .page-content .section#goodslineup .notes .caption + p {
  margin-top: 0.5em;
}
#goods .page-content .section#goodslineup .notes p {
  line-height: 1.6;
}
#goods .page-content .section#goodslineup .notes p + p {
  margin-top: 0.5em;
}
#goods .page-content .section#goodslineup .notes p + ul {
  margin-top: 0.5em;
}
#goods .page-content .section#goodslineup .contact {
  font-weight: 700;
  line-height: 1.5;
}
#goods .page-content .section#goodslineup .contact small {
  display: block;
  margin-top: 0.5em;
  font-size: 0.8em;
}
#goods .page-content .section#goodslineup .section-content .guide {
  background-image: url("../img/pattern6.svg?0");
  background-repeat: repeat-x;
  background-size: 5%;
  background-position: center bottom;
  margin-left: -8vw;
  margin-right: -8vw;
  padding: clamp(2rem, 3vw, 4rem) 0.5em clamp(4rem, 8vw, 8rem);
  color: #000;
  font-size: clamp(2rem, 3vw, 4.8rem);
  text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
}
#goods .page-content .section#shopinfo {
  --mypage-color-emphasis: #f27e00;
}
#goods .page-content .section#shopinfo .section-content {
  margin-top: -3vw;
}
#goods .page-content .section#shopinfo .box {
  display: grid;
  gap: 2vw;
}
#goods .page-content .section#shopinfo .box:first-child {
  --mypage-color-emphasis: #c62128;
}
#goods .page-content .section#shopinfo .box + .box::before {
  content: '';
  display: block;
  height: 15px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
  background-size: 100% 1px;
  background-repeat: no-repeat;
  background-position: center;
  margin: 2vw 0;
}
#goods .page-content .section#shopinfo .box .box-header {
  display: grid;
  align-content: center;
  gap: 0.5em;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 14vw;
  padding-left: 16vw;
  min-height: 14vw;
}
#goods .page-content .section#shopinfo .box .box-header.kyoto {
  background-image: url("../img/goods/kyoto.svg");
}
#goods .page-content .section#shopinfo .box .box-header.tokyo {
  background-image: url("../img/goods/tokyo.svg");
}
#goods .page-content .section#shopinfo .box .box-header .title {
  font-size: 1.5em;
  font-weight: 700;
  line-height: 1.2;
  word-break: keep-all;
  word-wrap: anywhere;
}
#goods .page-content .section#shopinfo .box .box-header .dl {
  margin-top: 0;
}
#goods .page-content .section#shopinfo .box .box-header .dl div {
  grid-template: auto/4.5em 1fr;
}
#goods .page-content .section#shopinfo .box .box-header .dl div dt,
#goods .page-content .section#shopinfo .box .box-header .dl div dd {
  line-height: 1.5;
}
#goods .page-content .section#shopinfo .box .box-header .dl div small {
  display: block;
  font-size: 0.8em;
  padding-left: 1em;
  text-indent: -1em;
}
#goods .page-content .section#shopinfo .box .box-content {
  display: grid;
  gap: clamp(2rem, 3vw, 4rem);
}
#goods .page-content .section#shopinfo .photo {
  width: 100%;
  height: auto;
  aspect-ratio: 1800/1186;
  background-color: rgba(0,0,0,0.05);
}
#goods .page-content .section#shopinfo .terms {
  margin: auto;
  width: 100%;
}
#goods .page-content .section#shopinfo .terms .figure {
  width: 90%;
  margin: auto;
  aspect-ratio: 4/3;
}
#goods .page-content .section#shopinfo .terms .figure + .notes {
  width: 90%;
  margin: auto;
  font-size: 0.8em;
}
#goods .page-content .section#shopinfo .terms .meta {
  width: 90%;
  margin: auto;
}
#goods .page-content .section#shopinfo .terms h4.heading {
  width: fit-content;
  font-weight: 700;
  font-size: 1.2em;
  color: var(--mypage-color-emphasis);
  border-bottom: 4px double var(--mypage-color-emphasis);
}
#goods .page-content .section#shopinfo .dl {
  margin-top: 1vw;
}
#goods .page-content .section#shopinfo .dl div {
  display: grid;
  grid-template: auto/12.5em 1fr;
}
#goods .page-content .section#shopinfo .dl div dd {
  text-indent: -0.5em;
  padding-left: 0.5em;
}
#goods .page-content .section#shopinfo .dl div dd::before {
  content: '：';
  display: inline;
}
#goods .page-content .section#shopinfo .notes {
  width: 100%;
  max-width: unset;
}
#goods .page-content .section#shopinfo .notes h5 {
  border-left: 4px solid var(--mypage-color-emphasis);
  padding-left: 0.5em;
  font-weight: 700;
  line-height: 1.2;
  margin-top: 1em;
}
#goods .page-content .section#shopinfo .notes h5 + * {
  margin-top: 0.8em;
}
#goods .page-content .section#shopinfo .notes dl {
  margin-top: 0.8em;
}
#goods .page-content .section#shopinfo .notes dl div {
  display: grid;
  grid-template: auto/13em 1fr;
  padding: 0.5em 0;
  border-top: 1px solid rgba(0,0,0,0.2);
}
#goods .page-content .section#shopinfo .notes dl div:last-child {
  border-bottom: 1px solid rgba(0,0,0,0.2);
}
#goods .page-content .section#shopinfo .notes dl + * {
  margin-top: 0.8em;
}
#goods .page-content .section#shopinfo .notes p {
  line-height: 1.6;
}
#goods .page-content .section#shopinfo .notes p + p {
  margin-top: 0.5em;
}
#goods .page-content .section#shopinfo .notes p.note {
  text-indent: -1em;
  padding-left: 1em;
}
#goods .page-content .section#shopinfo .notes p.note + .note {
  margin-top: 0.2em;
}
#goods .page-content .section#shopinfo .notes ul {
  margin-top: 0.5em;
}
#goods .page-content .section#shopinfo .notes ul.noindent li {
  padding-left: 0;
  text-indent: 0;
}
#goods .page-content .section#shopinfo .figbox {
  display: none;
}
@media screen and (max-width: 750px) {
  #goods .page-content .section#goodslineup .section-inner .section-header .guide .text {
    padding: 0 0.5em;
  }
  #goods .page-content .section#goodslineup .section-inner .section-header .guide .text::before,
  #goods .page-content .section#goodslineup .section-inner .section-header .guide .text::after {
    width: 2px;
  }
  #goods .page-content .section#shopinfo .dl {
    display: grid;
    gap: 0.5em;
    margin-top: 0.5em;
  }
  #goods .page-content .section#shopinfo .dl div {
    grid-template: auto/auto !important;
  }
  #goods .page-content .section#shopinfo .dl div dt::after {
    content: '：';
    display: inline;
  }
  #goods .page-content .section#shopinfo .dl div dd {
    line-height: 1.5;
  }
  #goods .page-content .section#shopinfo .dl div dd::before {
    display: none;
  }
  #goods .page-content .section#shopinfo .notes dl div {
    grid-template: auto/auto;
  }
}
