@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400..900&family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  -webkit-font-smoothing: antialiased;
  --base-size: 62.5%;
  --clr-text: #3e3a2a;
  --color-text: #3e3a2a;
  --clr-lighttext: #999;
  --clr-placeholder: #a7a7a7;
  --clr-line: #ccc;
  --color-bg: #e1dfd7;
  --color-green: #00ae83;
  --color-brown: #ad9574;
  --color-gray: #a09d92;
  --color-red: #e6001b;
  --ff-noto: "Noto Sans JP", sans-serif;
  --ff-sans: YuGothic, "Yu Gothic", sans-serif;
  --ff-cinzel: "Cinzel", serif;
  --ff-roboto: "Roboto", YuGothic, "Yu Gothic", sans-serif;
  --ff-garamond: "Cormorant Garamond", serif;
  --fz: 1.6rem;
  --ls: normal;
  --lh: 2;
  --ani: 250ms ease-out;
  --ani-fast: 200ms ease-out;
  --ani-slow: 300ms ease-out;
  --speed: 250ms;
  --spSize: 375;
  --delay: 0;
}

.green {
  color: var(--color-green);
}

.yellow {
  color: #ffff00;
}

.red {
  color: #f00;
}

.orange {
  color: #ff6d00;
}

.blue {
  color: #45b8ff;
}

.ubu {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
}

@supports (-webkit-touch-callout: none) {
  body {
    /* The hack for Safari */
    height: -webkit-fill-available;
  }
}
.ui-widget,
body {
  font: inherit;
  font-family: var(--ff-sans);
  font-weight: normal;
  -webkit-text-size-adjust: 100%;
  letter-spacing: var(--ls);
  font-feature-settings: "pkna" 1;
}

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
}

ol,
ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q,
blockquote {
  quotes: none;
}

q:before, q:after {
  content: "";
  content: none;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

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

button {
  font-size: var(--fz);
  font-family: var(--ff-sans);
  padding: 0;
  margin: 0;
  border: none;
  background: none;
}
button:focus {
  outline: 0;
}
@media (768px <= width) {
  button {
    cursor: pointer;
  }
}

b,
strong,
.bold {
  font-weight: 700;
}

sup {
  vertical-align: super;
  font-size: 1rem;
}

sub {
  vertical-align: baseline;
  font-size: 1rem;
}

img {
  vertical-align: middle;
  font-size: 0;
  line-height: 0;
  max-width: 100%;
  height: auto;
  image-rendering: auto;
}

html {
  line-height: 1;
  font-size: 62.5%;
  font-size: var(--base-size);
}

body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
#stage {
  position: relative;
  width: 100%;
  min-height: 100vh;
  min-width: 320px;
  font-size: var(--fz);
  font-family: var(--ff-sans);
  font-weight: 500;
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 1.6em;
  color: var(--clr-text);
}
@media (width < 768px) {
  .pc {
    display: none;
  }
  .pc.important {
    display: none !important;
  }
}
@media (768px <= width) {
  .sp {
    display: none;
  }
  .sp.important {
    display: none !important;
  }
}
ul.dot li {
  position: relative;
  display: grid;
  grid-template-columns: 0.5rem auto;
  align-items: first baseline;
  gap: 1rem;
}
ul.dot li::before {
  content: "";
  width: 0.5rem;
  aspect-ratio: 1;
  background: currentColor;
  border-radius: 100px;
  transform: translateY(-0.25em);
}
ul.dot.gray li::before {
  background-color: var(--clr-lightYellow4);
}

ol.number > li {
  padding-left: 1.7em;
  position: relative;
  counter-increment: number;
}
ol.number > li::before {
  content: counter(number);
  position: absolute;
  left: 0.3em;
}

ol.numberdot > li {
  padding-left: 2em;
  position: relative;
  counter-increment: numberdot;
}
ol.numberdot > li::before {
  content: counter(numberdot) ". ";
  position: absolute;
  left: 0.3em;
  color: var(--clr-main);
  font-weight: 700;
}
@media (768px <= width) {
  ol.numberdot > li {
    padding-left: 3rem;
  }
}

em {
  font-style: italic;
}

a,
.btn {
  color: var(--clr-text);
  text-decoration: none;
}

@media (hover: hover) and (width >= 768px) {
  a[href^="tel:"]:hover {
    opacity: 1;
    cursor: context-menu;
  }
}
svg {
  -webkit-backface-visibility: hidden;
}

p + p {
  margin-top: 1.5em;
}

.entry-is-isolated {
  /* 2026年モダンブラウザ必須プロパティ */
  contain: layout style;
  /* レイアウトの土台を安定させる */
  display: block;
  width: 100%;
  clear: both;
  /* 念のため、中身がはみ出しても外に影響させない */
  overflow: clip; /* hiddenより高速 */
}

.header__inner {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background-color: #fff;
  padding-left: 15px;
  padding-right: 60px;
  z-index: 100;
  height: 6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (768px <= width) {
  .header__inner {
    height: 10.5rem;
    padding-left: 24px;
    padding-right: 140px;
    justify-content: flex-start;
    gap: 2.6vw;
  }
}
.header__logo img {
  max-width: 70px;
  margin-right: 5px;
}
@media (768px <= width) {
  .header__logo img {
    max-width: 9.6vw;
  }
}
.header__copy {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: -0.1em;
}
@media (768px <= width) {
  .header__copy {
    font-size: 1.5vw;
  }
}
.header__muryo {
  font-size: 2.7vw;
  font-weight: 600;
  line-height: 1.2;
  border: solid 2px #b90000;
  border-radius: 10px;
  color: #b90000;
  padding: 0 0.75em;
  text-align: center;
}
@media (768px <= width) {
  .header__muryo {
    font-size: min(1.5vw, 2.3rem);
    padding: 0 1.5em;
  }
}
.header__item {
  display: none;
}
@media (768px <= width) {
  .header__item {
    display: block;
    margin-left: auto;
    text-align: right;
  }
  .header__item-tel {
    font-size: 0.8vw;
    font-weight: 700;
    letter-spacing: 0.05em;
  }
  .header__item-tel span {
    font-size: 1.4vw;
  }
  .header__item-text {
    font-size: 1vw;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
}
.header__button {
  position: fixed;
  top: 18px;
  right: 15px;
  display: block;
  width: 30px;
  height: 22px;
  cursor: pointer;
  z-index: 999;
}
@media (768px <= width) {
  .header__button {
    top: 42px;
    right: 38px;
  }
}
.header__button span {
  display: block;
  position: absolute;
  width: 30px;
  height: 3px;
  left: 0;
  background: #454545;
  transition: 0.3s;
}
.header__button span:nth-child(1) {
  top: 0;
}
body.is-menu .header__button span:nth-child(1) {
  top: 9px;
  transform: rotate(-45deg);
}
.header__button span:nth-child(2) {
  top: 9.5px;
}
body.is-menu .header__button span:nth-child(2) {
  display: none;
}
.header__button span:nth-child(3) {
  bottom: 0;
}
body.is-menu .header__button span:nth-child(3) {
  top: 9px;
  transform: rotate(45deg);
}
.header__navigation {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  color: #454545;
  z-index: 101;
  transform: translateY(-100%);
  transition: 0.3s;
}
body.is-menu .header__navigation {
  transform: translateY(0);
}
.header-navigation__logo {
  display: flex;
  align-items: center;
  width: 100%;
  background: #ffffff;
  min-height: 60px;
  padding: 0 20px;
}
.header-navigation__logo img {
  max-width: 139px;
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (768px <= width) {
  .header-navigation__logo img {
    max-width: 9.6vw;
  }
}
.header-navigation__lists {
  text-align: center;
}
.header-navigation__lists a {
  display: inline-block;
  width: 100%;
  background-color: rgba(69, 184, 255, 0.8);
  color: #ffffff;
  border-bottom: 1px solid #ffffff;
  font-size: 14px;
  font-weight: 700;
  transition: 0.3s;
  padding-top: 20px;
  padding-bottom: 20px;
}
@media (768px <= width) {
  .header-navigation__lists a {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
}

[class^=icon] {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}

.icon-mail {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 2.52539C19.5 1.84884 18.9519 1.30078 18.2754 1.30078H2.52539C1.84884 1.30078 1.30078 1.84884 1.30078 2.52539V13.7754C1.30078 14.4519 1.84884 15 2.52539 15H18.2754C18.9519 15 19.5 14.4519 19.5 13.7754V2.52539ZM20.8008 13.7754C20.8008 15.1699 19.6699 16.3008 18.2754 16.3008H2.52539C1.13087 16.3008 0 15.1699 0 13.7754V2.52539C0 1.13087 1.13087 0 2.52539 0H18.2754C19.6699 0 20.8008 1.13087 20.8008 2.52539V13.7754Z" fill="white"/><path d="M16.7512 3.13708C17.0344 2.91679 17.4429 2.96735 17.6633 3.25036C17.8836 3.53359 17.833 3.942 17.55 4.16247L10.8 9.41247C10.5653 9.59503 10.2359 9.59503 10.0012 9.41247L3.25121 4.16247C2.9682 3.942 2.91764 3.53359 3.13793 3.25036C3.3584 2.96735 3.76681 2.91679 4.05004 3.13708L10.4006 8.07555L16.7512 3.13708Z" fill="white"/></svg>');
  aspect-ratio: 20.8/16.3;
  background-repeat: no-repeat;
  background-size: contain;
}
.icon-mail.green {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="21" height="17" viewBox="0 0 21 17" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M19.5 2.52539C19.5 1.84884 18.9519 1.30078 18.2754 1.30078H2.52539C1.84884 1.30078 1.30078 1.84884 1.30078 2.52539V13.7754C1.30078 14.4519 1.84884 15 2.52539 15H18.2754C18.9519 15 19.5 14.4519 19.5 13.7754V2.52539ZM20.8008 13.7754C20.8008 15.1699 19.6699 16.3008 18.2754 16.3008H2.52539C1.13087 16.3008 0 15.1699 0 13.7754V2.52539C0 1.13087 1.13087 0 2.52539 0H18.2754C19.6699 0 20.8008 1.13087 20.8008 2.52539V13.7754Z" fill="%2300AE83"/><path d="M16.7512 3.13708C17.0344 2.91679 17.4429 2.96735 17.6633 3.25036C17.8836 3.53359 17.833 3.942 17.55 4.16247L10.8 9.41247C10.5653 9.59503 10.2359 9.59503 10.0012 9.41247L3.25121 4.16247C2.9682 3.942 2.91764 3.53359 3.13793 3.25036C3.3584 2.96735 3.76681 2.91679 4.05004 3.13708L10.4006 8.07555L16.7512 3.13708Z" fill="%2300AE83"/></svg>');
}

.icon-service {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.6503 8.45578C15.6503 8.10978 15.6503 7.93677 15.7023 7.78277C15.8533 7.33477 16.2523 7.16176 16.6523 6.97976C17.1003 6.77476 17.3243 6.67276 17.5473 6.65476C17.7993 6.63476 18.0523 6.68876 18.2683 6.80976C18.5543 6.96976 18.7543 7.27577 18.9583 7.52377C19.9013 8.66979 20.3733 9.24279 20.5453 9.8738C20.6853 10.3838 20.6853 10.9178 20.5453 11.4268C20.2943 12.3488 19.4993 13.1208 18.9103 13.8369C18.6093 14.2019 18.4583 14.3849 18.2683 14.4919C18.0486 14.6137 17.7977 14.6677 17.5473 14.6469C17.3243 14.6289 17.1003 14.5269 16.6513 14.3219C16.2513 14.1399 15.8533 13.9669 15.7023 13.5189C15.6503 13.3649 15.6503 13.1918 15.6503 12.8458V8.45578ZM5.6503 8.45578C5.6503 8.01978 5.6383 7.62877 5.2863 7.32277C5.1583 7.21176 4.9883 7.13476 4.6493 6.97976C4.2003 6.77576 3.9763 6.67276 3.7533 6.65476C3.0863 6.60076 2.7273 7.05676 2.3433 7.52477C1.3993 8.66978 0.927299 9.24279 0.754299 9.8748C0.615104 10.3831 0.615104 10.9195 0.754299 11.4278C1.0063 12.3488 1.8023 13.1218 2.3903 13.8369C2.7613 14.2869 3.1163 14.6979 3.7533 14.6469C3.9763 14.6289 4.2003 14.5269 4.6493 14.3219C4.9893 14.1679 5.1583 14.0899 5.2863 13.9789C5.6383 13.6729 5.6503 13.2819 5.6503 12.8468V8.45578Z" stroke="white" stroke-width="1.3"/><path d="M3.65039 6.65048C3.65039 3.33643 6.78439 0.650391 10.6504 0.650391C14.5164 0.650391 17.6504 3.33643 17.6504 6.65048" stroke="white" stroke-width="1.3" stroke-linecap="square" stroke-linejoin="round"/><path d="M17.6501 14.6504V15.4504C17.6501 17.2174 15.8601 18.6504 13.6501 18.6504H11.6501" stroke="white" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  aspect-ratio: 22/20;
  background-repeat: no-repeat;
  background-size: contain;
}
.icon-service.brown {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="22" height="20" viewBox="0 0 22 20" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.6503 8.45578C15.6503 8.10978 15.6503 7.93677 15.7023 7.78277C15.8533 7.33477 16.2523 7.16176 16.6523 6.97976C17.1003 6.77476 17.3243 6.67276 17.5473 6.65476C17.7993 6.63476 18.0523 6.68876 18.2683 6.80976C18.5543 6.96976 18.7543 7.27577 18.9583 7.52377C19.9013 8.66979 20.3733 9.24279 20.5453 9.8738C20.6853 10.3838 20.6853 10.9178 20.5453 11.4268C20.2943 12.3488 19.4993 13.1208 18.9103 13.8369C18.6093 14.2019 18.4583 14.3849 18.2683 14.4919C18.0486 14.6137 17.7977 14.6677 17.5473 14.6469C17.3243 14.6289 17.1003 14.5269 16.6513 14.3219C16.2513 14.1399 15.8533 13.9669 15.7023 13.5189C15.6503 13.3649 15.6503 13.1918 15.6503 12.8458V8.45578ZM5.6503 8.45578C5.6503 8.01978 5.6383 7.62877 5.2863 7.32277C5.1583 7.21176 4.9883 7.13476 4.6493 6.97976C4.2003 6.77576 3.9763 6.67276 3.7533 6.65476C3.0863 6.60076 2.7273 7.05676 2.3433 7.52477C1.3993 8.66978 0.927299 9.24279 0.754299 9.8748C0.615104 10.3831 0.615104 10.9195 0.754299 11.4278C1.0063 12.3488 1.8023 13.1218 2.3903 13.8369C2.7613 14.2869 3.1163 14.6979 3.7533 14.6469C3.9763 14.6289 4.2003 14.5269 4.6493 14.3219C4.9893 14.1679 5.1583 14.0899 5.2863 13.9789C5.6383 13.6729 5.6503 13.2819 5.6503 12.8468V8.45578Z" stroke="%23AD9574" stroke-width="1.3"/><path d="M3.65039 6.65048C3.65039 3.33643 6.78439 0.650391 10.6504 0.650391C14.5164 0.650391 17.6504 3.33643 17.6504 6.65048" stroke="%23AD9574" stroke-width="1.3" stroke-linecap="square" stroke-linejoin="round"/><path d="M17.6501 14.6504V15.4504C17.6501 17.2174 15.8601 18.6504 13.6501 18.6504H11.6501" stroke="%23AD9574" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"/></svg>');
}

.icon-instagram {
  background: url(../images/common/logo_instagram.webp) center/contain no-repeat;
  background-image: -webkit-image-set(url(../images/common/logo_instagram.webp) 1x, url(../images/common/logo_instagram@2x.webp) 2x);
  background-image: image-set(url(../images/common/logo_instagram.webp) 1x, url(../images/common/logo_instagram@2x.webp) 2x);
  width: 3rem;
  height: 3rem;
  display: inline-block;
}

.icon-model-house {
  background-image: url('data:image/svg+xml;charset=utf8, <svg width="33" height="28" viewBox="0 0 33 28" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.64697 10.1765L15.9423 3.65353C17.9244 1.884 18.9139 1 20.1176 1C21.3212 1 22.3123 1.884 24.2929 3.65353L31.5881 10.1765M10.9411 8.64706V27M29.294 27V8.64706" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/><path d="M3.29386 17.822C4.56072 17.822 5.58772 16.4527 5.58772 14.7636C5.58772 13.0744 4.56072 11.7051 3.29386 11.7051C2.027 11.7051 1 13.0744 1 14.7636C1 16.4527 2.027 17.822 3.29386 17.822Z" stroke="%233E3A2A" stroke-width="2"/><path d="M3.29419 17.8232V26.9997" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round"/><path d="M1 26.9994H31.5882M16.2941 26.9994V20.8818C16.2941 19.4395 16.2941 18.7192 16.7422 18.2711C17.1903 17.823 17.9107 17.823 19.3529 17.823H20.8823C22.3246 17.823 23.0449 17.823 23.4931 18.2711C23.9412 18.7192 23.9412 19.4395 23.9412 20.8818V26.9994M18.5882 13.2347H21.6471M18.5882 8.64648H21.6471" stroke="%233E3A2A" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  aspect-ratio: 22/20;
  background-repeat: no-repeat;
  background-size: contain;
}

.icon-new {
  background: url('data:image/svg+xml;charset=utf8, <svg width="50" height="50" viewBox="0 0 50 50" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="25" cy="25" r="25" fill="%2300AE83"/><path d="M32.2009 26.3811C32.0322 27.0264 31.8489 27.6571 31.6509 28.2731C31.4602 28.8817 31.2696 29.4574 31.0789 30.0001H29.9899C29.8432 29.6627 29.6892 29.2777 29.5279 28.8451C29.3666 28.4124 29.2052 27.9504 29.0439 27.4591C28.8826 26.9677 28.7212 26.4507 28.5599 25.9081C28.3986 25.3654 28.2409 24.8117 28.0869 24.2471H29.4949C29.5609 24.5551 29.6379 24.8887 29.7259 25.2481C29.8139 25.6001 29.9056 25.9631 30.0009 26.3371C30.0962 26.7037 30.1952 27.0631 30.2979 27.4151C30.4006 27.7671 30.5032 28.0897 30.6059 28.3831C30.7159 28.0457 30.8222 27.6974 30.9249 27.3381C31.0349 26.9787 31.1376 26.6194 31.2329 26.2601C31.3282 25.9007 31.4162 25.5524 31.4969 25.2151C31.5849 24.8704 31.6619 24.5477 31.7279 24.2471H32.7509C32.8169 24.5477 32.8902 24.8704 32.9709 25.2151C33.0516 25.5524 33.1359 25.9007 33.2239 26.2601C33.3192 26.6194 33.4182 26.9787 33.5209 27.3381C33.6309 27.6974 33.7409 28.0457 33.8509 28.3831C33.9462 28.0897 34.0452 27.7671 34.1479 27.4151C34.2506 27.0631 34.3496 26.7037 34.4449 26.3371C34.5476 25.9631 34.6429 25.6001 34.7309 25.2481C34.8189 24.8887 34.8959 24.5551 34.9619 24.2471H36.3369C36.1829 24.8117 36.0252 25.3654 35.8639 25.9081C35.7026 26.4507 35.5412 26.9677 35.3799 27.4591C35.2186 27.9504 35.0572 28.4124 34.8959 28.8451C34.7346 29.2777 34.5769 29.6627 34.4229 30.0001H33.3449C33.1542 29.4574 32.9562 28.8817 32.7509 28.2731C32.5529 27.6571 32.3696 27.0264 32.2009 26.3811Z" fill="white"/><path d="M22.1658 27.151C22.1658 26.645 22.2391 26.2013 22.3858 25.82C22.5398 25.4387 22.7414 25.1233 22.9908 24.874C23.2401 24.6173 23.5261 24.4267 23.8488 24.302C24.1714 24.17 24.5014 24.104 24.8388 24.104C25.6308 24.104 26.2468 24.3497 26.6868 24.841C27.1341 25.3323 27.3578 26.0657 27.3578 27.041C27.3578 27.1143 27.3541 27.1987 27.3468 27.294C27.3468 27.382 27.3431 27.4627 27.3358 27.536H23.5408C23.5774 27.998 23.7388 28.3573 24.0248 28.614C24.3181 28.8633 24.7398 28.988 25.2898 28.988C25.6124 28.988 25.9058 28.9587 26.1698 28.9C26.4411 28.8413 26.6538 28.779 26.8078 28.713L26.9838 29.802C26.9104 29.8387 26.8078 29.879 26.6758 29.923C26.5511 29.9597 26.4044 29.9927 26.2358 30.022C26.0744 30.0587 25.8984 30.088 25.7078 30.11C25.5171 30.132 25.3228 30.143 25.1248 30.143C24.6188 30.143 24.1788 30.0697 23.8048 29.923C23.4308 29.769 23.1228 29.56 22.8808 29.296C22.6388 29.0247 22.4591 28.7093 22.3418 28.35C22.2244 27.9833 22.1658 27.5837 22.1658 27.151ZM26.0268 26.557C26.0268 26.3737 26.0011 26.2013 25.9498 26.04C25.8984 25.8713 25.8214 25.7283 25.7188 25.611C25.6234 25.4863 25.5024 25.391 25.3558 25.325C25.2164 25.2517 25.0478 25.215 24.8498 25.215C24.6444 25.215 24.4648 25.2553 24.3108 25.336C24.1568 25.4093 24.0248 25.5083 23.9148 25.633C23.8121 25.7577 23.7314 25.9007 23.6728 26.062C23.6141 26.2233 23.5738 26.3883 23.5518 26.557H26.0268Z" fill="white"/><path d="M19.5452 30C19.2959 29.582 19.0172 29.1346 18.7092 28.658C18.4012 28.174 18.0822 27.69 17.7522 27.206C17.4222 26.7146 17.0849 26.2416 16.7402 25.787C16.4029 25.325 16.0802 24.9106 15.7722 24.544V30H14.4082V22.377H15.5412C15.8345 22.685 16.1499 23.0516 16.4872 23.477C16.8245 23.895 17.1619 24.3313 17.4992 24.786C17.8439 25.2406 18.1739 25.699 18.4892 26.161C18.8119 26.6156 19.0979 27.041 19.3472 27.437V22.377H20.7222V30H19.5452Z" fill="white"/></svg>') center/contain no-repeat;
  aspect-ratio: 1;
}

.icon__address {
  background: url('data:image/svg+xml;charset=utf8, <svg width="13" height="16" viewBox="0 0 13 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.5001 6.50007C12.5001 10.2449 8.34585 14.1449 6.95083 15.3494C6.82087 15.4472 6.66268 15.5 6.50007 15.5C6.33747 15.5 6.17928 15.4472 6.04932 15.3494C4.6543 14.1449 0.5 10.2449 0.5 6.50007C0.5 4.90876 1.13215 3.38261 2.25738 2.25738C3.38261 1.13215 4.90876 0.5 6.50007 0.5C8.09139 0.5 9.61754 1.13215 10.7428 2.25738C11.868 3.38261 12.5001 4.90876 12.5001 6.50007Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/><path d="M6.50003 8.75006C7.74268 8.75006 8.75006 7.74268 8.75006 6.50003C8.75006 5.25737 7.74268 4.25 6.50003 4.25C5.25737 4.25 4.25 5.25737 4.25 6.50003C4.25 7.74268 5.25737 8.75006 6.50003 8.75006Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.2rem;
}
.icon__tel {
  background: url('data:image/svg+xml;charset=utf8, <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M5.91833 1.5475C5.79465 1.23839 5.58121 0.973402 5.30554 0.786702C5.02988 0.600002 4.70461 0.500144 4.37167 0.5H2.07917C1.66035 0.5 1.25868 0.666376 0.962527 0.962527C0.666376 1.25868 0.5 1.66035 0.5 2.07917C0.5 9.49083 6.50833 15.5 13.9217 15.5C14.3403 15.4998 14.7418 15.3333 15.0378 15.0372C15.3337 14.7411 15.5 14.3395 15.5 13.9208V11.6283C15.5 11.2952 15.4002 10.9698 15.2135 10.694C15.0268 10.4181 14.7617 10.2046 14.4525 10.0808L12.2558 9.2025C11.9769 9.09087 11.673 9.05672 11.3762 9.10366C11.0794 9.1506 10.8009 9.27689 10.57 9.46917L10.0033 9.9425C9.68377 10.2091 9.27602 10.3465 8.86027 10.3277C8.44451 10.3089 8.05084 10.1352 7.75667 9.84083L6.16 8.24167C5.86595 7.94768 5.69241 7.55441 5.67345 7.13904C5.65448 6.72367 5.79146 6.31622 6.0575 5.99667L6.53 5.43C6.72271 5.19921 6.84939 4.92058 6.89663 4.62365C6.94387 4.32672 6.9099 4.02253 6.79833 3.74333L5.91833 1.5475Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.5rem;
}
.icon__hours {
  background: url('data:image/svg+xml;charset=utf8, <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15.5 8C15.5 9.98912 14.7098 11.8968 13.3033 13.3033C11.8968 14.7098 9.98912 15.5 8 15.5C6.01088 15.5 4.10322 14.7098 2.6967 13.3033C1.29018 11.8968 0.5 9.98912 0.5 8C0.5 6.01088 1.29018 4.10322 2.6967 2.6967C4.10322 1.29018 6.01088 0.5 8 0.5C9.98912 0.5 11.8968 1.29018 13.3033 2.6967C14.7098 4.10322 15.5 6.01088 15.5 8Z" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/><path d="M7.39062 3.74329V8.60815H10.6339" stroke="%233E3A2A" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.5rem;
}
.icon__closed {
  background: url('data:image/svg+xml;charset=utf8, <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M0.5 2.77274C0.5 2.53163 0.595779 2.3004 0.766267 2.12991C0.936754 1.95943 1.16799 1.86365 1.40909 1.86365H14.1364C14.3775 1.86365 14.6087 1.95943 14.7792 2.12991C14.9497 2.3004 15.0455 2.53163 15.0455 2.77274V6.4091H0.5V2.77274Z" stroke="%233E3A2A" stroke-linejoin="round"/><path d="M4.13672 3.22727V0.5M11.4094 3.22727V0.5" stroke="%233E3A2A" stroke-linecap="round"/><path d="M0.5 6.40906H15.0455V14.5909C15.0455 14.832 14.9497 15.0632 14.7792 15.2337C14.6087 15.4042 14.3775 15.5 14.1364 15.5H1.40909C1.16799 15.5 0.936754 15.4042 0.766267 15.2337C0.595779 15.0632 0.5 14.832 0.5 14.5909V6.40906Z" stroke="%233E3A2A" stroke-linejoin="round"/></svg>') center/contain no-repeat;
  width: 1.455rem;
}

.footer {
  background-color: #666666;
  transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;
  padding: 3.5% 0% 2.2% 0%;
  text-align: center;
}
@media (width < 768px) {
  .footer {
    padding: 10% 0% 34% 0%;
  }
}
.footer__nav li + li {
  margin-top: 2rem;
}
.footer__nav a {
  font-family: "Roboto", Sans-serif;
  font-size: 1vw;
  font-weight: 500;
  color: #ffffff;
}
@media (width < 768px) {
  .footer__nav a {
    font-size: 13px;
  }
}
.footer .copyright {
  display: block;
  margin-top: 2rem;
  padding: 3.1% 0% 0% 0%;
  font-family: "Roboto", Sans-serif;
  font-size: 1vw;
  font-weight: 600;
  -webkit-text-stroke-color: #000;
  stroke: #000;
  color: #ffffff;
}
@media (width < 768px) {
  .footer .copyright {
    font-size: 11px;
  }
}

.floating {
  background-color: #fff;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
}
@media (768px <= width) {
  .floating {
    display: none;
  }
}
.floating__text {
  text-align: center;
  color: #333;
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0;
  padding: 10px;
}
.floating__btns {
  display: flex;
}
.floating__btns-item {
  flex: 1;
}

@media (768px <= width) {
  .w_1000 {
    margin-left: max(50% - 50rem, 6rem);
    margin-right: max(50% - 50rem, 6rem);
    max-width: 100rem;
  }
}

@media (768px <= width) {
  .w_1100 {
    margin-left: max(50% - 55rem, 6rem);
    margin-right: max(50% - 55rem, 6rem);
    max-width: 110rem;
  }
}

@media (768px <= width) {
  .w_1200 {
    margin-left: max(50% - 60rem, 6rem);
    margin-right: max(50% - 60rem, 6rem);
    max-width: 120rem;
  }
}

@media (768px <= width) {
  .w_1300 {
    margin-left: max(50% - 65rem, 6rem);
    margin-right: max(50% - 65rem, 6rem);
    max-width: 130rem;
  }
}

@media (768px <= width) {
  .w_1400 {
    margin-left: max(50% - 70rem, 6rem);
    margin-right: max(50% - 70rem, 6rem);
    max-width: 140rem;
  }
}

@media (768px <= width) {
  .w_1500 {
    margin-left: max(50% - 75rem, 6rem);
    margin-right: max(50% - 75rem, 6rem);
    max-width: 150rem;
  }
}

@media (768px <= width) {
  .w_1600 {
    margin-left: max(50% - 80rem, 6rem);
    margin-right: max(50% - 80rem, 6rem);
    max-width: 160rem;
  }
}

@media (768px <= width) {
  .w_1700 {
    margin-left: max(50% - 85rem, 6rem);
    margin-right: max(50% - 85rem, 6rem);
    max-width: 170rem;
  }
}

.weight100 {
  font-weight: 100;
}

.weight200 {
  font-weight: 200;
}

.weight300 {
  font-weight: 300;
}

.weight400 {
  font-weight: 400;
}

.weight500 {
  font-weight: 500;
}

.weight600 {
  font-weight: 600;
}

.weight700 {
  font-weight: 700;
}

.weight800 {
  font-weight: 800;
}

.weight900 {
  font-weight: 900;
}

.main {
  margin-top: 6rem;
}
@media (768px <= width) {
  .main {
    margin-top: 10.5rem;
  }
}

.underline {
  background-image: linear-gradient(180deg, transparent 50%, #ffff00 50%);
  padding: 0.3rem 0;
}

.kv {
  position: relative;
}
.kv__copy {
  position: absolute;
  top: 55vw;
  left: 1rem;
  right: 1rem;
  color: #fff;
}
@media (768px <= width) {
  .kv__copy {
    top: 4.5vw;
    width: 82.5%;
    left: 50%;
    transform: translateX(-50%);
  }
}
.kv__copy .labels {
  display: flex;
  gap: 0.7rem;
  margin-left: 3rem;
  margin-right: 3rem;
}
@media (768px <= width) {
  .kv__copy .labels {
    gap: 1.6rem;
  }
}
.kv__copy .labels > span {
  display: inline-block;
  position: relative;
}
.kv__copy .labels > span::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(90deg, #48b5ff, #5dc594);
  transform: skewX(-10deg);
}
.kv__copy .labels > span span {
  position: relative;
  display: inline-block;
  z-index: 2;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  padding: 0.3rem 1.1rem 0.3rem 1.6rem;
}
@media (768px <= width) {
  .kv__copy .labels > span span {
    font-size: 2vw;
    line-height: 1;
    padding: 0.3em 0.5em 0.3em 0.8em;
  }
}
.kv__copy .maincopy {
  margin-left: 2rem;
  margin-right: 2rem;
}
@media (768px <= width) {
  .kv__copy .maincopy {
    margin-top: 1.3vw;
  }
}
.kv__copy .maincopy .xl {
  font-size: 6.2rem;
  line-height: 1;
  margin-top: 1.1rem;
  margin-left: 0.3rem;
  letter-spacing: 0em;
}
@media (768px <= width) {
  .kv__copy .maincopy .xl {
    font-size: 6.6vw;
    line-height: 1;
    margin-left: -0.3rem;
  }
}
.kv__copy .maincopy .bold {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1;
  margin-left: 0.6rem;
  margin-top: 1.4rem;
}
@media (768px <= width) {
  .kv__copy .maincopy .bold {
    margin-top: 1.5vw;
    font-size: 4.1vw;
    line-height: 1;
    margin-left: 1.5rem;
  }
}
.kv__copy .pricebox {
  margin-top: 1.95rem;
  padding-top: 0.9rem;
  padding-left: 0.3rem;
  position: relative;
  display: grid;
  grid-template-columns: 2.4rem auto;
}
@media (768px <= width) {
  .kv__copy .pricebox {
    margin-top: 1.8vw;
    padding-top: 0.7vw;
    padding-left: 0.7rem;
    grid-template-columns: 2.5vw auto;
  }
}
.kv__copy .pricebox::before {
  content: "";
  width: calc(100% - 1.6rem);
  height: 1px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
@media (768px <= width) {
  .kv__copy .pricebox::before {
    width: 39vw;
    height: 2px;
    transform: none;
    left: 0;
  }
}
.kv__copy .pricebox__month {
  border: 1px solid #fff;
  writing-mode: vertical-rl;
  display: grid;
  place-items: center;
  padding: 2.8rem 0;
  align-self: center;
  margin-top: -1.6rem;
}
@media (768px <= width) {
  .kv__copy .pricebox__month {
    margin-top: 1.2vw;
    font-size: 1.8vw;
    padding: 2.8vw 0;
  }
}
.kv__copy .pricebox__price {
  position: relative;
}
.kv__copy .pricebox__price .num {
  font-size: 9.5rem;
  font-weight: 700;
  font-family: serif;
  font-style: italic;
  line-height: 1;
  letter-spacing: -0.1em;
  padding-right: 0.3em;
  background: linear-gradient(180deg, #f7f274 0%, #f8b13d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
@media (768px <= width) {
  .kv__copy .pricebox__price .num {
    font-size: 9.5vw;
    padding-right: 0.5em;
  }
}
.kv__copy .pricebox__price .unit {
  font-size: 4.8rem;
  font-weight: 700;
  font-style: italic;
  margin-left: -0.5em;
}
@media (768px <= width) {
  .kv__copy .pricebox__price .unit {
    font-size: 4.8vw;
    margin-left: -0.5em;
  }
}
.kv__copy .pricebox__price .tax {
  position: absolute;
  right: 1.2rem;
  top: 2.2rem;
  font-size: 1rem;
}
@media (768px <= width) {
  .kv__copy .pricebox__price .tax {
    font-size: 1vw;
    top: 2.2vw;
    left: 30.6vw;
  }
}
.kv__copy .pricebox .note {
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-left: 0.5rem;
}
@media (768px <= width) {
  .kv__copy .pricebox .note {
    font-size: 1.6vw;
    margin-top: 0.6vw;
    padding-left: 1.5vw;
  }
}
.kv__copy .medals {
  margin-top: 1.8rem;
  display: none;
}
.kv__copy .medals__wrap {
  display: flex;
  justify-content: center;
  gap: 1rem;
  width: 47%;
}
.kv__copy .medals__item {
  flex: 1;
  background-color: rgba(255, 255, 255, 0.5);
  padding: 2rem 1rem 0;
  aspect-ratio: 351/348;
}
@media (768px <= width) {
  .kv__copy .medals__item {
    padding: 3.1vw 1vw 0;
  }
}
.kv__copy .medals__item:nth-child(1) {
  padding-top: 2.8rem;
}
@media (768px <= width) {
  .kv__copy .medals__item:nth-child(1) {
    padding-top: 3.7vw;
  }
}
.kv__copy .medals__item:nth-child(2) .line {
  line-height: 1;
}
@media (768px <= width) {
  .kv__copy .medals__item:nth-child(3) {
    padding-top: 3.7vw;
  }
}
.kv__copy .medals .text {
  font-size: 2rem;
  font-family: serif;
  font-weight: 700;
  line-height: 1;
  color: #61461b;
  text-align: center;
}
@media (768px <= width) {
  .kv__copy .medals .text {
    font-size: 1.5vw;
  }
}
.kv__copy .medals .text .xl {
  font-size: 3rem;
}
@media (768px <= width) {
  .kv__copy .medals .text .xl {
    font-size: 2.5vw;
  }
}
.kv__copy .medals .line {
  font-size: 1rem;
  text-align: center;
  margin-top: 0.4rem;
}
@media (768px <= width) {
  .kv__copy .medals .line {
    font-size: 0.9vw;
  }
}
.kv__bnr {
  margin-top: 42vw;
  padding: 1rem;
}
@media (768px <= width) {
  .kv__bnr {
    margin-top: 0;
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    width: 38.25%;
    padding: 0;
  }
}

.about {
  background-color: #edf9fa;
  margin-top: 8rem;
  padding-top: 15rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 3rem;
}
@media (768px <= width) {
  .about {
    margin-top: 0;
    padding-top: 5rem;
  }
}
.about__title {
  background-image: linear-gradient(90deg, #48b5ff, #5dc594);
  text-align: center;
  padding: 1rem 1.5rem;
  border-radius: 0.5rem;
  font-size: 3rem;
  font-weight: 700;
  color: #fff;
}
@media (768px <= width) {
  .about__title {
    width: 65rem;
    margin-left: auto;
    margin-right: auto;
  }
  .about__title br {
    display: none;
  }
}
.about__title .label {
  background-color: #fff;
  display: inline-flex;
  align-items: baseline;
  border-radius: 100rem;
  padding: 0.4rem 3rem 0.2rem;
  font-size: 1.8rem;
  line-height: 1;
  color: #5dc594;
  margin-bottom: 1rem;
}
@media (768px <= width) {
  .about__title .label {
    color: #fff;
    background: none;
    font-size: 3rem;
    padding: 0;
    margin: 0;
  }
}
.about__title .label img {
  width: 10rem;
}
.about__contents {
  margin-top: 1rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}
@media (768px <= width) {
  .about__contents {
    max-width: 108rem;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 300fr 460fr 300fr;
  }
}
.about__item {
  position: relative;
}
@media (width < 768px) {
  .about__item.wide {
    grid-column: span 2;
    order: 3;
  }
}
.about__item .note {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.6;
  color: #67696a;
  position: absolute;
  bottom: 0;
  padding: 0.4rem;
}
@media (768px <= width) {
  .about__item .note {
    white-space-collapse: preserve;
    font-size: 16px;
    text-align: center;
    width: 100%;
    bottom: 1rem;
  }
}

.bnrarea {
  padding: 3rem 1rem;
  display: grid;
  gap: 2rem;
  text-align: center;
}
.bnrarea__item.radius img {
  border-radius: 1rem;
}

.entry__wrap {
  background-color: transparent;
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  padding: 2.5rem 2rem;
}
@media (768px <= width) {
  .entry__wrap {
    padding: 3rem;
  }
}
.entry__label {
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-weight: bold;
  margin-block-end: 10px;
}
@media (768px <= width) {
  .entry__header {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0 10rem;
  }
}
.entry__newopen .logo {
  color: #fff;
}
.entry__newopen {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #ead700;
}
@media (768px <= width) {
  .entry__newopen {
    font-size: 2.5rem;
  }
}
@media (768px <= width) {
  .entry__btns {
    display: flex;
    width: 60rem;
  }
}
.entry__btns-item:not(:first-child) {
  margin-top: -2vw;
}
@media (768px <= width) {
  .entry__btns-item:not(:first-child) {
    margin-top: 0;
  }
}
.entry__tokuten {
  margin-top: 1rem;
}
@media (768px <= width) {
  .entry__tokuten {
    margin-top: 3rem;
  }
}
.entry__tokuten-title {
  text-align: center;
  max-width: 94rem;
  margin-left: auto;
  margin-right: auto;
}
.entry__tokuten-title img {
  width: 45%;
}
.entry__tokuten-container {
  margin-top: 1rem;
  display: grid;
  gap: 0.7rem;
}
@media (768px <= width) {
  .entry__tokuten-container {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 2rem;
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.entry__tokuten-container img {
  width: 95%;
  border-radius: 1rem;
}
@media (768px <= width) {
  .entry__tokuten-container img {
    width: 85%;
  }
}
@media (768px <= width) {
  .entry__tokuten-item:nth-child(1) {
    text-align: right;
  }
}
.entry__tokuten-contents {
  background-color: #edf9fa;
  padding: 7rem 3rem;
}
.entry__tokuten-contents-label {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 900;
  color: #4face2;
  line-height: 1.7;
  font-family: var(--ff-noto);
}
@media (768px <= width) {
  .entry__tokuten-contents-label {
    font-size: 4rem;
    line-height: 1.8;
  }
}
.entry__tokuten-contents-label img {
  width: 13rem;
  margin-top: -0.3rem;
  margin-right: 0.5rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-label img {
    width: 20rem;
    margin-right: 1rem;
  }
}
.entry__tokuten-contents-wrap {
  margin-top: 4rem;
  display: grid;
  gap: 5rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-wrap {
    display: flex;
    gap: 0 1rem;
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.entry__tokuten-contents-item {
  background-color: #fff;
  border-radius: 1.5rem;
  margin-left: 2rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item {
    flex: 1;
    display: grid;
    grid-template-rows: 7vw auto;
  }
}
.entry__tokuten-contents-item-header {
  background-color: #45b8ff;
  position: relative;
  border-radius: 1.5rem 1.5rem 0 0;
  height: 10rem;
  text-align: center;
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3;
  display: grid;
  place-content: center;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-header {
    font-size: min(2.4vw, 2.4rem);
    padding-left: 3rem;
    height: auto;
  }
}
.entry__tokuten-contents-item-label {
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  border: 3px solid #fff;
  border-radius: 100rem;
  color: #fff;
  font-family: serif;
  width: 9rem;
  height: 9rem;
  display: grid;
  place-content: center;
  position: absolute;
  left: -2rem;
  top: -2rem;
  box-shadow: 0.3rem 0.3rem 0.6rem rgba(0, 0, 0, 0.2);
}
@media (768px <= width) {
  .entry__tokuten-contents-item-label {
    width: 40%;
    height: auto;
    aspect-ratio: 1;
  }
}
.entry__tokuten-contents-item-label .unit {
  font-size: 2rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-label .unit {
    font-size: min(1.6vw, 1.6rem);
  }
}
.entry__tokuten-contents-item-label .num {
  font-size: 3rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-label .num {
    font-size: min(3vw, 3rem);
  }
}
.entry__tokuten-contents-item-body {
  padding: 3rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-body {
    padding: 10% 5% 10%;
    display: grid;
    place-content: center;
  }
}
.entry__tokuten-contents-item-price {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-price {
    display: block;
    text-align: center;
  }
}
.entry__tokuten-contents-item-price.twoline {
  display: block;
  text-align: center;
}
.entry__tokuten-contents-item-price.twoline .arrow {
  vertical-align: middle;
  display: inline-block;
  transform: translateY(0.2em);
}
.entry__tokuten-contents-item-price.twoline strong {
  display: inline-block;
  margin-top: 2rem;
  vertical-align: middle;
}
.entry__tokuten-contents-item-price.twoline strong .num {
  font-size: 6rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-price.twoline strong {
    font-size: min(2vw, 2rem);
  }
  .entry__tokuten-contents-item-price.twoline strong .num {
    font-size: min(4vw, 4rem);
    letter-spacing: -0.05em;
    margin-right: 0.1em;
  }
}
.entry__tokuten-contents-item-price .del {
  position: relative;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-price .del {
    width: 100%;
    text-align: center;
  }
}
.entry__tokuten-contents-item-price .del::before, .entry__tokuten-contents-item-price .del::after {
  content: "";
  width: 100%;
  height: 2px;
  background-color: #bf0000;
  position: absolute;
  left: 0;
}
.entry__tokuten-contents-item-price .del::before {
  top: 33%;
}
.entry__tokuten-contents-item-price .del::after {
  top: 66%;
}
.entry__tokuten-contents-item-price .del .num {
  font-size: 2.3rem;
  font-weight: 700;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-price .del .num {
    font-size: min(3vw, 3rem);
  }
}
.entry__tokuten-contents-item-price .arrow {
  color: #45b8ff;
  font-size: 4rem;
}
.entry__tokuten-contents-item-price strong {
  color: #bf0000;
  font-size: 5rem;
  font-weight: 700;
}
.entry__tokuten-contents-item-price strong .num {
  font-size: 7rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-price strong {
    font-size: min(4vw, 4rem);
    line-height: 1;
  }
}
.entry__tokuten-contents-item-list {
  margin-top: 3rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-list {
    margin-top: 1vw;
  }
}
.entry__tokuten-contents-item-list li {
  color: #454545;
  padding-left: 1.5em;
  position: relative;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-list li {
    font-size: min(1.2vw, 1.4rem);
    padding-left: 1em;
  }
}
.entry__tokuten-contents-item-list li::before {
  content: "";
  width: 1em;
  height: 1em;
  background-color: #454545;
  border-radius: 100rem;
  display: block;
  position: absolute;
  left: 0;
  top: 0.3em;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-list li::before {
    width: 0.7em;
    height: 0.7em;
    top: 0.5em;
  }
}
.entry__tokuten-contents-item-text {
  text-align: center;
  color: #454545;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-text {
    font-size: min(1.2vw, 1.4rem);
  }
}
.entry__tokuten-contents-item-text.bold {
  margin-top: 3rem;
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-text.bold {
    font-size: min(1.4vw, 1.6rem);
  }
}
.entry__tokuten-contents-item-text.strong {
  margin-top: 1rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.3;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-text.strong {
    font-size: min(2.2vw, 2.6rem);
    line-height: 150%;
  }
}
.entry__tokuten-contents-item-text.strong .red {
  color: #bf0000;
}
.entry__tokuten-contents-item-text.strong .red .num {
  font-size: 4rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-text.strong .red .num {
    font-size: min(3vw, 3.6rem);
  }
}
.entry__tokuten-contents-item-text.strong .xl {
  font-size: 3.7rem;
}
@media (768px <= width) {
  .entry__tokuten-contents-item-text.strong .xl {
    font-size: min(2.4vw, 3rem);
  }
}
.entry__tokuten-contents-item strong.underline {
  font-size: 2rem;
  line-height: 1.5;
}
@media (768px <= width) {
  .entry__tokuten-contents-item strong.underline {
    font-size: min(1.4vw, 1.6rem);
  }
}
.entry__tokuten-caution {
  margin-top: 4rem;
  border: 5px solid #45b8ff;
  color: #45b8ff;
  font-size: 1rem;
  font-weight: 700;
  font-family: var(--ff-noto);
  line-height: 1.5;
  border-radius: 2rem;
  padding: 2rem;
  position: relative;
}
@media (768px <= width) {
  .entry__tokuten-caution {
    max-width: 70rem;
    margin-left: auto;
    margin-right: auto;
    font-size: 2rem;
  }
}
.entry__tokuten-caution-label {
  font-size: 1.2rem;
  background-color: #edf9fa;
  position: absolute;
  left: 50%;
  top: -2.5px;
  transform: translate(-50%, -50%);
  padding: 0 2rem;
  width: -moz-max-content;
  width: max-content;
}
@media (768px <= width) {
  .entry__tokuten-caution-label {
    font-size: min(3vw, 2.5rem);
    font-weight: 900;
  }
}
.entry__tokuten-caution-list li {
  position: relative;
  padding-left: 1.5em;
}
@media (768px <= width) {
  .entry__tokuten-caution-list li {
    padding-left: 0.7em;
  }
}
.entry__tokuten-caution-list li::before {
  content: "";
  width: 1em;
  height: 1em;
  background-color: currentColor;
  border-radius: 100rem;
  display: block;
  position: absolute;
  left: 0;
  top: 0.3em;
}
@media (768px <= width) {
  .entry__tokuten-caution-list li::before {
    width: 0.3em;
    height: 0.3em;
    top: 0.6em;
  }
}
.entry__tokuten-caution-list li .small {
  font-size: 0.9em;
}
@media (768px <= width) {
  .entry__tokuten-caution-list li .small {
    font-size: 0.7em;
  }
}

.streamgallery {
  padding-top: 6rem;
  padding-bottom: 6rem;
}
.streamgallery__title {
  font-size: 2.8rem;
  font-family: var(--ff-roboto);
  font-weight: bold;
  letter-spacing: 2px;
  color: #454545;
  text-align: center;
}
@media (768px <= width) {
  .streamgallery__title {
    font-size: 4.5rem;
    font-size: 45px;
    font-weight: bold;
    letter-spacing: 2px;
    color: #454545;
  }
}
.streamgallery__lead {
  margin-top: 2rem;
  font-size: 13px;
  font-family: var(--ffroboto);
  font-weight: 600;
  color: #238081;
  line-height: 1.25em;
  text-align: center;
}
@media (768px <= width) {
  .streamgallery__lead {
    font-size: 20px;
    letter-spacing: 1.3px;
  }
}
.streamgallery__photos {
  margin-top: 2rem;
  position: relative;
  padding-bottom: 4rem;
}
.streamgallery .swiper {
  width: calc(100% - 60px);
}
.streamgallery .swiper img {
  border-radius: 1rem;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
}
.streamgallery .swiper-pagination {
  bottom: 0;
}
.streamgallery .swiper-pagination-bullet-active {
  background: #000;
}
.streamgallery .swiper-button-prev, .streamgallery .swiper-button-next {
  font-size: 2rem;
  color: var(--clr-text);
  width: 2.5rem;
  height: 2.5rem;
  margin-top: -1.25rem;
}
.streamgallery .swiper-button-prev::after, .streamgallery .swiper-button-next::after {
  content: none;
}
.streamgallery .swiper-button-prev {
  left: 5px;
}
.streamgallery .swiper-button-next {
  right: 5px;
}

.consultation__wrap {
  background: url(../images/intro_bg_s.webp) center/cover no-repeat;
  color: #fff;
  font-weight: 700;
  padding: 3rem 0 4rem;
  text-align: center;
}
@media (768px <= width) {
  .consultation__wrap {
    background: url(../images/intro_bg_p.webp) center/cover no-repeat;
    padding: 8% 0% 6% 0%;
  }
}
.consultation__label {
  font-size: 1.8rem;
  line-height: 1.375;
  letter-spacing: 0.05em;
}
@media (768px <= width) {
  .consultation__label {
    font-size: 2.1vw;
    line-height: 1.67em;
  }
}
.consultation__label .xl {
  font-size: 2.7rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  padding-left: 1em;
}
@media (768px <= width) {
  .consultation__label .xl {
    padding-left: 0;
    font-size: 3.1vw;
  }
}
.consultation__label .text-dot {
  margin-top: 0.5rem;
  display: inline-block;
  padding-top: 0.2em;
  background-position: top left -2px;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  background-image: radial-gradient(0.15em 0.15em at center center, #46aec4, #46aec4 100%, transparent);
}
.consultation__list {
  margin-top: 4rem;
  margin: 4rem 2rem 0;
  padding-top: 5rem;
  position: relative;
  display: flex;
  align-items: center;
  flex-direction: column;
}
.consultation__list::before {
  content: "";
  width: 85%;
  height: 1px;
  background-color: #fff;
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
}
.consultation__list li + li {
  margin-top: 3rem;
}
.consultation__list li {
  position: relative;
  padding-left: 3rem;
  width: -moz-max-content;
  width: max-content;
}
@media (768px <= width) {
  .consultation__list li {
    font-family: "Roboto", Sans-serif;
    font-size: 1.5vw;
    font-weight: 700;
  }
}
.consultation__list li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.3rem;
  height: 2.3rem;
  background-image: url(https://personalgym-stream.com/wp-content/uploads/2022/12/intro_icon.png);
  background-repeat: no-repeat;
  background-size: contain;
}
@media (768px <= width) {
  .consultation__list li::before {
    width: 2.6vw;
    height: 2.5vw;
  }
}
.consultation__lead {
  margin-top: 2rem;
  text-align: center;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  margin-bottom: 0;
}
@media (768px <= width) {
  .consultation__lead {
    font-size: 24px;
  }
}
.consultation .entry__btns {
  margin-top: 2rem;
}
@media (768px <= width) {
  .consultation .entry__btns {
    display: flex;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (width < 768px) {
  .consultation .entry__btns img {
    width: 85%;
  }
}
.consultation .trainer {
  text-align: center;
  background-color: #edf9fa;
  padding: 4rem 1rem;
}
.consultation .trainer__label {
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  color: #fff;
  font-weight: 700;
  padding: 0.3rem 4rem;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border-radius: 0.3rem;
  position: relative;
}
@media (768px <= width) {
  .consultation .trainer__label {
    font-size: 2rem;
    padding: 0.3rem 2rem;
  }
}
.consultation .trainer__label::after {
  content: "";
  width: 0.5rem;
  height: 1rem;
  background-color: #5ec0cb;
  position: absolute;
  bottom: -1rem;
  left: calc(50% - 0.25rem);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}
.consultation .trainer__text {
  margin-top: 2rem;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (768px <= width) {
  .consultation .trainer__text {
    font-size: 2.4vw;
  }
}
.consultation .trainer__text .icon-kusya {
  background: url(../images/icon_kusya.webp) center/contain no-repeat;
  width: 1em;
  height: 1em;
  margin-top: -0.1em;
}
@media (768px <= width) {
  .consultation .trainer__img {
    max-width: 58rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.consultation .trainer__message {
  margin-top: 1rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media (768px <= width) {
  .consultation .trainer__message {
    margin-top: 2rem;
    font-size: 2.4rem;
  }
}
.consultation .trainer__message img {
  width: 8rem;
  vertical-align: baseline;
  display: inline-block;
  margin-right: 0.5rem;
}
@media (768px <= width) {
  .consultation .trainer__message img {
    width: 14rem;
  }
}

.method {
  background-color: #dae7ff;
  padding: 5rem 4rem;
}
.method__title {
  text-align: center;
  font-weight: 700;
  color: #454545;
}
@media (768px <= width) {
  .method__title {
    font-size: 3rem;
    line-height: 150%;
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.method__title .xl {
  font-size: 1.5em;
}
.method__title .star {
  color: #e7731c;
}
.method__title .name {
  font-size: 1.25em;
}
.method__title img {
  width: 20rem;
  margin-top: -1.5rem;
  margin-left: -6rem;
  margin-right: 0.5rem;
  vertical-align: bottom;
}
@media (768px <= width) {
  .method__title img {
    width: 35rem;
  }
}
.method__title .band {
  margin-top: 1rem;
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  color: #fff;
}
@media (768px <= width) {
  .method__title .band {
    margin-top: 3rem;
  }
}
.method__service, .method__training {
  margin-top: 4rem;
}
@media (768px <= width) {
  .method__service, .method__training {
    margin-top: 15%;
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.method__service-title, .method__training-title {
  color: #fff;
  line-height: 1;
}
@media (768px <= width) {
  .method__service-title, .method__training-title {
    display: flex;
    align-items: center;
  }
}
.method__service-title .en, .method__training-title .en {
  font-size: 5rem;
  font-weight: 700;
  font-family: var(--ff-cinzel);
}
@media (768px <= width) {
  .method__service-title .en, .method__training-title .en {
    font-size: 8rem;
  }
}
.method__service-title .ja, .method__training-title .ja {
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .method__service-title .ja, .method__training-title .ja {
    font-size: 4rem;
  }
}
.method__service-container, .method__training-container {
  display: grid;
  gap: 1rem;
  margin-top: 2rem;
}
@media (768px <= width) {
  .method__service-container, .method__training-container {
    margin-top: 3%;
    gap: 4rem;
    max-width: 120rem;
  }
}
.method__service-item, .method__training-item {
  padding: 2rem;
  background-color: #fff;
  border-radius: 2rem;
}
@media (768px <= width) {
  .method__service-item, .method__training-item {
    padding: 4% 7% 4% 7%;
    display: grid;
    grid-template-columns: 56% 44%;
  }
}
.method__service-item-title, .method__training-item-title {
  font-size: 18px;
  line-height: 1.1em;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #45b8ff;
  position: relative;
  padding-left: 2.5em;
}
@media (768px <= width) {
  .method__service-item-title, .method__training-item-title {
    font-size: 2.8vw;
  }
}
.method__service-item-title .num, .method__training-item-title .num {
  font-size: 1.223em;
  font-family: "Roboto", Sans-serif;
  display: inline-block;
  margin-right: 0.5em;
  position: absolute;
  left: 0;
}
.method__service-item-text, .method__training-item-text {
  margin-top: 1rem;
  font-size: 1.2rem;
  font-weight: 500;
  font-family: "Roboto", Sans-serif;
  line-height: 1.5;
}
@media (768px <= width) {
  .method__service-item-text, .method__training-item-text {
    margin-top: 2%;
    font-size: 1.1vw;
    line-height: 1.5625em;
    letter-spacing: 0.05em;
    padding: 0% 7% 0% 0%;
  }
}
.method__service-item-text .orange, .method__training-item-text .orange {
  color: #ff6600;
  font-weight: 700;
}
.method__service-item-text .red, .method__training-item-text .red {
  color: #ff0000;
  font-weight: 700;
  text-decoration: underline;
}
.method__service-item-image, .method__training-item-image {
  margin-top: 1rem;
}
.method__service-item-image img, .method__training-item-image img {
  border-radius: 1rem;
}
@media (768px <= width) {
  .method__service {
    margin-top: 5%;
  }
}
.method__training-item-support {
  margin-top: 1.5rem;
}
@media (768px <= width) {
  .method__training-item-support {
    margin-top: 3rem;
    grid-column: span 2;
  }
}
.method__training-item-support-title {
  background-image: linear-gradient(90deg, #fff 0, #45b8ff 5%, #5dc297 95%, #fff 100%);
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  text-align: center;
  padding: 0.1rem;
}
@media (768px <= width) {
  .method__training-item-support-title {
    font-size: 2.4vw;
    line-height: 1.5;
    padding: 0 5%;
  }
}
.method__training-item-support-container {
  display: flex;
  flex-direction: column-reverse;
  margin: 1rem;
}
@media (768px <= width) {
  .method__training-item-support-container {
    flex-direction: row;
  }
}
.method__training-item-support-list {
  margin-top: 1rem;
}
@media (768px <= width) {
  .method__training-item-support-list {
    font-size: 1.8vw;
    width: 70%;
  }
}
.method__training-item-support-list li + li {
  margin-top: 2rem;
}
@media (768px <= width) {
  .method__training-item-support-list li:nth-child(n+3) {
    padding-right: 3rem;
  }
}
.method__training-item-support-list .label {
  color: #45b8ff;
  font-weight: 700;
  position: relative;
}
.method__training-item-support-list .label::before {
  content: "";
  display: inline-block;
  background: url(../images/icon_check.webp) center/contain no-repeat;
  aspect-ratio: 1;
  width: 1em;
}
.method__training-item-support-list p {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.35;
}
@media (768px <= width) {
  .method__training-item-support-list p {
    margin-top: 1rem;
    font-size: 1vw;
  }
}
@media (768px <= width) {
  .method__training-item-support-image {
    width: 45%;
    margin-left: -2rem;
  }
}

.therapist {
  background-color: #dae7ff;
  padding-bottom: 7rem;
}
.therapist__container {
  margin: 0 3.5rem;
  margin-top: -4rem;
  position: relative;
  background-color: #fff;
  padding: 3rem;
  border-radius: 3rem;
}
@media (768px <= width) {
  .therapist__container {
    max-width: 100rem;
    padding: 5% 7% 5% 7%;
    margin-left: auto;
    margin-right: auto;
  }
}
.therapist__item + .therapist__item {
  margin-top: 3rem;
}
@media (768px <= width) {
  .therapist__item + .therapist__item {
    margin-top: 7%;
  }
}
.therapist__item-copy {
  text-align: center;
  font-weight: 700;
}
@media (768px <= width) {
  .therapist__item-copy {
    font-size: 1.7vw;
  }
}
@media (768px <= width) {
  .therapist__item-wrap {
    display: grid;
    grid-template-columns: 4fr 6fr;
    gap: 4rem;
    align-items: center;
    margin-top: 3%;
  }
}
.therapist__item-image {
  margin-top: 3rem;
}
@media (768px <= width) {
  .therapist__item-image {
    margin-top: 0;
  }
}
.therapist__item-image img {
  border-radius: 2rem;
}
.therapist__item-period {
  margin-top: 1rem;
  font-size: 3rem;
  font-weight: 700;
  font-style: italic;
  line-height: 1;
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  width: -moz-max-content;
  width: max-content;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
@media (768px <= width) {
  .therapist__item-period {
    font-size: 3.5vw;
  }
}
.therapist__item-period .num {
  font-size: 1.333em;
}
.therapist__item-table {
  margin-top: 1rem;
}
.therapist__item-table li {
  font-weight: 700;
  line-height: 1.3;
  display: grid;
  grid-template-columns: 1fr 1fr auto 1fr;
  align-items: baseline;
  border-bottom: 1px solid #d4e1ff;
  padding: 0.4rem 0;
}
@media (768px <= width) {
  .therapist__item-table li {
    font-size: 1.6vw;
  }
}
.therapist__item-table .before {
  text-align: right;
  font-size: 1.2em;
}
.therapist__item-table .arrow {
  padding: 0 2rem;
  color: #45b8ff;
  transform: translateY(-0.2em);
}
.therapist__item-table .after {
  text-align: right;
  font-size: 1.2em;
  color: #ff0089;
}
.therapist__item-table .after .em {
  font-size: 1.3em;
}
.therapist__item-caution {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.35;
}

.comparison__header,
.shop__header,
.faq__header,
.contact__header {
  text-align: center;
  line-height: 1;
}
.comparison__header .ja,
.shop__header .ja,
.faq__header .ja,
.contact__header .ja {
  font-size: 2.5rem;
  font-weight: 700;
}
@media (768px <= width) {
  .comparison__header .ja,
  .shop__header .ja,
  .faq__header .ja,
  .contact__header .ja {
    font-size: 3vw;
  }
}
.comparison__header .en,
.shop__header .en,
.faq__header .en,
.contact__header .en {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  font-family: var(--ff-cinzel);
}
@media (768px <= width) {
  .comparison__header .en,
  .shop__header .en,
  .faq__header .en,
  .contact__header .en {
    margin-top: 3rem;
    font-size: 1.5vw;
  }
}

.comparison {
  padding: 4rem 0 1rem;
}
@media (768px <= width) {
  .comparison {
    padding-bottom: 4rem;
  }
}
.comparison__contents {
  margin-top: 4rem;
  padding: 0 1rem;
}
@media (768px <= width) {
  .comparison__contents {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.comparison__table {
  display: grid;
  grid-template-columns: auto 1.2fr 1fr 1fr 1fr;
}
.comparison__table .line {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: span 5;
}
.comparison__table .name {
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0.4rem 0;
}
@media (768px <= width) {
  .comparison__table .name {
    font-size: 1.4vw;
  }
}
.comparison__table .name:not(.stream) {
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  border-right: 1px solid currentColor;
}
.comparison__table .name.stream {
  color: #fff;
  font-size: 1.8rem;
  position: relative;
  text-align: center;
}
@media (768px <= width) {
  .comparison__table .name.stream {
    font-size: 1.8vw;
    letter-spacing: -0.05em;
  }
}
.comparison__table .name.stream::before {
  content: "";
  background-color: #45b8ff;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 6rem;
  border-radius: 2rem 2rem 0 0;
}
.comparison__table .name.stream span {
  position: relative;
  transform: translateY(-0.5em);
  display: inline-block;
}
.comparison__table .none {
  border-bottom: 1px solid currentColor;
}
.comparison__table .item {
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  background-color: #dae7ff;
  display: grid;
  place-items: center;
  border-bottom: 1px solid currentColor;
  border-left: 1px solid currentColor;
  padding: 1rem 0.1rem;
}
@media (width < 768px) {
  .comparison__table .item {
    writing-mode: vertical-rl;
  }
}
@media (768px <= width) {
  .comparison__table .item {
    font-size: 1.8rem;
    padding: 1rem;
  }
}
.comparison__table .val {
  text-align: center;
  border-bottom: 1px solid currentColor;
  padding: 3rem 0.5rem;
  font-weight: 700;
  font-size: 1.2rem;
  line-height: 1.35;
  letter-spacing: -0.05em;
}
@media (768px <= width) {
  .comparison__table .val {
    font-size: 1vw;
    padding: 2rem 0.5rem;
  }
}
.comparison__table .val.center {
  place-content: center;
}
.comparison__table .val.price {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -0.05em;
}
.comparison__table .val.price .unit {
  font-size: 1.4rem;
}
@media (768px <= width) {
  .comparison__table .val.price {
    font-size: 2.4vw;
  }
  .comparison__table .val.price .unit {
    font-size: 1.4vw;
  }
}
.comparison__table .val:not(.stream) {
  border-right: 1px solid currentColor;
}
.comparison__table .val.stream {
  background-color: #eff4ff;
  position: relative;
  padding: 3rem 1rem;
}
@media (768px <= width) {
  .comparison__table .val.stream {
    padding: 2rem 1rem;
  }
}
.comparison__table .val.stream::before, .comparison__table .val.stream::after {
  content: "";
  width: 5px;
  height: calc(100% + 1px);
  position: absolute;
  bottom: 0;
  background-color: #45b8ff;
}
@media (768px <= width) {
  .comparison__table .val.stream::before, .comparison__table .val.stream::after {
    width: 10px;
  }
}
.comparison__table .val.stream::before {
  left: 0;
}
.comparison__table .val.stream::after {
  right: 0;
}
.comparison__table .val.stream.last::before {
  width: 100%;
  height: calc(100% + 5px);
  bottom: -3px;
  border-radius: 0 0 1rem 1rem;
  background: none;
  border-left: 5px solid #45b8ff;
  border-right: 5px solid #45b8ff;
  border-bottom: 5px solid #45b8ff;
}
@media (768px <= width) {
  .comparison__table .val.stream.last::before {
    border-left: 10px solid #45b8ff;
    border-right: 10px solid #45b8ff;
    border-bottom: 10px solid #45b8ff;
  }
}
.comparison__table .val.stream.last::after {
  content: none;
}
@media (768px <= width) {
  .comparison__table .val.stream .red {
    font-size: 1.2em;
  }
  .comparison__table .val.stream .red span.num {
    font-size: 1.8em;
  }
}
.comparison__table .val.stream .orange {
  font-size: 1.4em;
}
.comparison__table .val .blue {
  letter-spacing: -0.07em;
}
@media (768px <= width) {
  .comparison__table .val .blue {
    display: block;
    font-size: 1.1em;
  }
  .comparison__table .val .blue .num {
    font-size: 1.4em;
  }
}
.comparison__table .val.unclear {
  font-size: 2rem;
  display: grid;
  place-content: center;
}
@media (768px <= width) {
  .comparison__table .val.unclear {
    font-size: 1.8vw;
  }
}
.comparison__table .val .maru,
.comparison__table .val .sankaku,
.comparison__table .val .nijumaru,
.comparison__table .val .batsu {
  width: 3.5rem;
  display: block;
  margin: 0 auto 0.5rem;
}
.comparison__table .val .maru {
  border: 3px solid #ff6d00;
  border-radius: 100rem;
  aspect-ratio: 1;
}
@media (768px <= width) {
  .comparison__table .val .maru {
    border-width: 4px;
  }
}
.comparison__table .val .nijumaru {
  border: 3px solid #ff0000;
  border-radius: 100rem;
  aspect-ratio: 1;
  position: relative;
}
.comparison__table .val .nijumaru::after {
  content: "";
  width: 60%;
  aspect-ratio: 1;
  border: 3px solid #ff0000;
  border-radius: 100rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (768px <= width) {
  .comparison__table .val .nijumaru {
    border-width: 4px;
  }
  .comparison__table .val .nijumaru::after {
    border-width: 4px;
  }
}
.comparison__table .val .sankaku {
  background: #45b8ff;
  aspect-ratio: 1/0.9;
  --x: 7px;
  clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% var(--x), 6px calc(100% - 3px), calc(100% - 6px) calc(100% - 3px), 50% var(--x));
}
@media (768px <= width) {
  .comparison__table .val .sankaku {
    --x: 8px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%, 50% 0, 50% var(--x), 7px calc(100% - 4px), calc(100% - 7px) calc(100% - 4px), 50% var(--x));
  }
}
.comparison__table .val .batsu {
  position: relative;
  aspect-ratio: 1;
}
.comparison__table .val .batsu::before, .comparison__table .val .batsu::after {
  content: "";
  width: 100%;
  height: 3px;
  background-color: #b7b7b7;
  position: absolute;
  left: 50%;
  top: 50%;
}
.comparison__table .val .batsu::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.comparison__table .val .batsu::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.comparison__table .inarrow > span {
  display: grid;
}
@media (768px <= width) {
  .comparison__table .inarrow > span {
    display: inline;
  }
}
.comparison__table .inarrow .del {
  font-size: 0.7em;
}
.comparison__table .inarrow .arrow {
  color: #45b8ff;
}
@media (width < 768px) {
  .comparison__table .inarrow .arrow i {
    transform: rotate(90deg);
  }
}
@media (768px <= width) {
  .comparison__table .inarrow .arrow i {
    font-size: 1.6rem;
  }
}
.comparison__table .inarrow .xl {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.3;
}
.comparison__table .inarrow .xl .unit {
  font-size: 2.4rem;
}
.comparison__table .del {
  position: relative;
}
.comparison__table .del::before, .comparison__table .del::after {
  content: "";
  width: 100%;
  height: 1px;
  background-color: #bf0000;
  position: absolute;
  left: 0;
}
.comparison__table .del::before {
  top: 33%;
}
.comparison__table .del::after {
  top: 66%;
}
.comparison__table .del .num {
  font-size: 2.3rem;
  font-weight: 700;
}
.comparison__kanaeru {
  padding: 5rem 0;
}
@media (768px <= width) {
  .comparison__kanaeru {
    background: linear-gradient(#ffffff 0%, #ffffff 10%, #dae7ff 10%, #dae7ff 90%, #ffffff 90%, #ffffff 100%);
  }
}
.comparison__kanaeru-label {
  width: -moz-max-content;
  width: max-content;
  font-size: 2rem;
  font-weight: 900;
  font-family: var(--ff-noto);
  color: #45b8ff;
  text-align: center;
  margin: 0 auto;
  position: relative;
}
@media (768px <= width) {
  .comparison__kanaeru-label {
    font-size: 3rem;
    line-height: 150%;
  }
}
.comparison__kanaeru-label span {
  color: #5dc297;
}
.comparison__kanaeru-label::before, .comparison__kanaeru-label::after {
  content: "";
  width: 3px;
  height: 1em;
  background: currentColor;
  display: block;
  position: absolute;
  bottom: 0.1em;
}
.comparison__kanaeru-label::before {
  left: -1em;
  transform: rotate(-30deg);
}
.comparison__kanaeru-label::after {
  right: -1em;
  transform: rotate(30deg);
}
.comparison__kanaeru-image {
  margin-top: 3rem;
  text-align: center;
}
@media (768px <= width) {
  .comparison__kanaeru-image img {
    width: 75%;
  }
}
.comparison__hosyou {
  padding: 2rem 1rem 0;
  text-align: center;
}
@media (768px <= width) {
  .comparison__hosyou img {
    width: 40%;
  }
}

.shop {
  background-color: #dae7ff;
  padding: 3rem 3rem 7rem;
}
.shop__map {
  margin-top: 3rem;
  aspect-ratio: 4/3;
}
@media (768px <= width) {
  .shop__map {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 800/296;
  }
}
.shop__info {
  margin-top: 1rem;
}
@media (768px <= width) {
  .shop__info {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.shop__info .name {
  font-weight: 700;
}
@media (768px <= width) {
  .shop__info .name {
    font-size: 1.6vw;
    font-weight: 700;
  }
}
.shop__info .data {
  margin-top: 1rem;
  font-size: 1.4rem;
}
@media (768px <= width) {
  .shop__info .data {
    font-size: 1.6rem;
    line-height: 150%;
  }
}
.shop__search {
  margin-top: 2rem;
}
@media (768px <= width) {
  .shop__search {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.shop__search-title {
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.35;
  position: relative;
  padding-top: 4.5rem;
  width: -moz-max-content;
  width: max-content;
  margin: 0 auto;
  font-family: var(--ff-noto);
}
@media (768px <= width) {
  .shop__search-title {
    font-size: 2.4vw;
  }
}
.shop__search-title div {
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}
.shop__search-title span {
  background: #45b8ff;
  color: #ffe4a1;
  padding: 1rem 1rem;
  font-size: 1.5rem;
  font-weight: 900;
  border-radius: 100%;
  font-family: var(--ff-roboto);
  position: absolute;
  top: 0;
  right: 0;
  transform: rotate(20deg);
}
@media (768px <= width) {
  .shop__search-title span {
    font-size: 1.5vw;
  }
}
.shop__search-lists {
  margin-top: 4rem;
  display: grid;
  gap: 3.4rem 0;
}
.shop__search-item {
  border: 2px solid #45b8ff;
  background-color: #fff;
  border-radius: 1.5rem;
  font-size: 1.8rem;
  font-family: var(--ff-noto);
  font-weight: 700;
  overflow: hidden;
}
.shop__search-area {
  background: #45b8ff;
  color: #fff;
  text-align: center;
  padding: 1rem;
}
.shop__search-links {
  padding: 3rem 3.5rem;
  display: grid;
  gap: 3rem;
}
@media (768px <= width) {
  .shop__search-links {
    grid-template-columns: repeat(3, 1fr);
  }
}
.shop__search-links a {
  background-image: linear-gradient(90deg, #45b8ff 15%, #5dc297 100%);
  color: #fff;
  display: block;
  padding: 1rem;
  text-align: center;
  border-radius: 0.7rem;
}

.faq {
  padding: 4rem 4rem 7rem;
}
.faq__contents {
  margin-top: 4rem;
}
@media (768px <= width) {
  .faq__contents {
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
  }
}
.faq__lists {
  border-top: 1px dashed currentColor;
}
.faq__item {
  padding: 2rem 0;
  border-bottom: 1px dashed currentColor;
}
@media (768px <= width) {
  .faq__item {
    padding: 3.5% 0;
  }
}
.faq__item .q,
.faq__item .a {
  position: relative;
  padding-left: 4rem;
  padding-right: 3rem;
}
.faq__item .q::before,
.faq__item .a::before {
  content: "";
  position: absolute;
  left: 0;
  font-size: 2rem;
  font-family: var(--ff-cinzel);
  font-weight: 700;
  color: #45b8ff;
}
.faq__item .q {
  font-weight: 700;
}
@media (768px <= width) {
  .faq__item .q {
    font-size: 1.4vw;
  }
}
.faq__item .q::before {
  content: "Q .";
}
.faq__item .q::after {
  content: "";
  width: 1.8rem;
  aspect-ratio: 1;
  background: url(../images/faq_icon.webp) center/contain no-repeat;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}
.faq__item:not(.view) .q::after {
  transform: translateY(-50%) scale(1, -1);
}
.faq__item .a {
  display: none;
  padding-top: 2%;
}
.faq__item .a::before {
  content: "A .";
}

.campaign {
  margin-top: 10rem;
}
@media (768px <= width) {
  .campaign {
    padding-bottom: 5rem;
  }
}
.campaign__text {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
}
@media (768px <= width) {
  .campaign__text {
    font-size: 2vw;
  }
}
.campaign__banner {
  margin-top: 1rem;
}
@media (768px <= width) {
  .campaign__banner {
    text-align: center;
  }
  .campaign__banner img {
    width: 38%;
  }
}

.contact {
  background-color: #dae7ff;
  padding: 4rem 1rem 2rem;
}
@media (768px <= width) {
  .contact {
    padding: 5% 1%;
  }
}
.contact-title {
  background-color: transparent;
  background-image: linear-gradient(90deg, #45b8ff 20%, #5dc297 100%);
  margin: 10% 0% 0% 0%;
  padding: 5% 0% 5% 0%;
  border-radius: 15px 15px 15px 15px;
  text-align: center;
  font-family: "Roboto", Sans-serif;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #ffffff;
  font-size: 18px;
  line-height: 1;
}
@media (768px <= width) {
  .contact-title {
    margin: 2% 15% 0% 15%;
    padding: 1% 0% 1% 0%;
    border-radius: 33px 33px 33px 33px;
    font-size: 1.8vw;
  }
}
.contact__tel-text {
  margin-top: 5rem;
  margin-bottom: 8rem;
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (768px <= width) {
  .contact__tel-text {
    margin: 2% 15% 0% 15%;
  }
}
.contact__tel-text .tel {
  margin-top: 2rem;
  line-height: 1;
}
.contact__tel-text .tel .number {
  font-size: 3.3rem;
}
.contact__tel-text .uketuke {
  margin-top: 2rem;
  font-size: 1.4rem;
}
.contact__tel-text .note {
  margin-top: 3rem;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
}
@media (768px <= width) {
  .contact__form-contents {
    margin: 2% 15% 0% 15%;
  }
}
.contact__form-contents .le_radioBox02 {
  background-color: #fff;
  border: solid 2px #1a75ff;
  border-radius: 5px;
  width: 100%;
}
.contact__form-contents .le_radioBox02 .wpcf7-list-item {
  width: 100%;
  margin: 0;
  background: #ffffff;
  padding: 15px 10px 15px 40px;
  text-indent: -26px;
}
@media (768px <= width) {
  .contact__form-contents .le_radioBox02 .wpcf7-list-item {
    padding: 1.5vw 1.5vw 0.4vw 1.5vw;
    text-indent: 0;
  }
}
.contact__form-contents .le_radioBox02_text {
  position: relative;
  top: -4px;
  left: 0;
  display: inline-block;
  width: 100%;
  color: #ff0000;
  font-weight: 700;
  background: #ffffff;
  display: none;
  font-size: 13px;
  padding: 0px 5px 15px 20px;
}
@media (768px <= width) {
  .contact__form-contents .le_radioBox02_text {
    display: block;
    font-size: 1.3vw;
    padding: 0 1.5vw 1.5vw 1.5vw;
  }
}
.contact__form-contents .le_radioBox02_text_sp {
  position: relative;
  top: -6px;
  left: 0;
  display: block;
  width: 100%;
  color: #ff0000;
  font-size: 1.3vw;
  font-weight: 700;
  background: #ffffff;
  font-size: 13px;
  padding: 5px 0 0 40px;
  margin-top: 0;
}
@media (768px <= width) {
  .contact__form-contents .le_radioBox02_text_sp {
    display: none;
  }
}
.contact__form-contents .le_radioBox02_text_sp02 {
  position: relative;
  top: -8px;
  left: 0;
  display: block;
  width: 100%;
  color: #ff0000;
  font-size: 1.3vw;
  font-weight: 700;
  background: #ffffff;
  font-size: 13px;
  padding: 0 0 13px 40px;
}
@media (768px <= width) {
  .contact__form-contents .le_radioBox02_text_sp02 {
    display: none;
  }
}
.contact__form-contents .wpcf7 form > div,
.contact__form-contents .wpcf7 form > p {
  margin-bottom: 1.2em;
}
.contact__form-contents .wpcf7 input:not([type=submit]),
.contact__form-contents .wpcf7 select,
.contact__form-contents .wpcf7 textarea {
  width: 100%;
  padding: 0.75em;
}
.contact__form-contents .wpcf7 .wpcf7-form-control-wrap {
  width: 100%;
  display: block;
}
.contact__form-contents .wpcf7 .wpcf7-form-control {
  font-size: 13px;
}
.contact__form-contents .wpcf7 input:not([type=submit]),
.contact__form-contents .wpcf7 select,
.contact__form-contents .wpcf7 textarea {
  border: solid 2px #1a75ff;
  border-radius: 5px;
}
.contact__form-contents .wpcf7 select,
.contact__form-contents .wpcf7 textarea {
  border: solid 2px #1a75ff;
  background-color: #fff;
  border-radius: 5px;
}
.contact__form-contents .wpcf7 input[type=radio] {
  display: inline-block;
  background: #fff;
  color: #555;
  clear: none;
  cursor: pointer;
  line-height: 0;
  border: 1px solid currentColor;
  margin: -3px 4px 0 0;
  outline: 0;
  padding: 0;
  border-radius: 100rem;
  text-align: center;
  vertical-align: middle;
  width: 1.4em;
  min-width: 1.4em;
  aspect-ratio: 1;
  transition: all 0.2s linear;
  position: relative;
}
.contact__form-contents .wpcf7 input[type=radio]::after {
  content: "";
  width: 60%;
  height: 60%;
  border-radius: 100rem;
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  background: #1a75ff;
  opacity: 0;
}
.contact__form-contents .wpcf7 input[type=radio]:checked {
  border-color: #1a75ff;
}
.contact__form-contents .wpcf7 input[type=radio]:checked::after {
  opacity: 1;
}
.contact__form-contents .wpcf7 input[type=checkbox],
.contact__form-contents .wpcf7 input[type=radio] {
  display: inline-block;
  background: #e9eef2;
  color: #555;
  clear: none;
  cursor: pointer;
  line-height: 0;
  height: 1.2em;
  margin: -3px 4px 0 0;
  outline: 0;
  padding: 0;
  border-radius: 0.2em;
  text-align: center;
  vertical-align: middle;
  width: 1.4em;
  min-width: 1.4em;
  transition: all 0.2s linear;
}
@media (width < 768px) {
  .contact__form-contents .wpcf7 input[type=checkbox],
  .contact__form-contents .wpcf7 input[type=radio] {
    border: solid 2px #1a75ff;
    border-radius: 5px;
  }
}
@media (768px <= width) {
  .contact__form .le_content-store02 {
    display: grid;
    grid-template-columns: 26% 74%;
  }
}
.contact__form .le_content {
  margin-bottom: 25px !important;
}
@media (768px <= width) {
  .contact__form .le_content {
    align-items: center;
    margin-bottom: 1.7vw !important;
    display: grid;
    grid-template-columns: 26% 74%;
  }
}
.contact__form .le_contact__name {
  color: #454545;
  font-weight: 700;
  width: 100%;
  font-size: 1.4rem;
  margin-top: 0;
  margin-bottom: 10px !important;
  text-align: left;
}
@media (768px <= width) {
  .contact__form .le_contact__name {
    width: auto;
    font-size: 1.1vw;
  }
}
.contact__form .le_contact__required {
  color: #ffffff;
  font-family: "Noto Sans JP", Sans-serif;
  font-weight: 700;
  background-color: #ff0000;
  white-space: nowrap;
  font-size: 13px;
  margin-left: 5px;
  padding: 2px 5px;
}
@media (768px <= width) {
  .contact__form .le_contact__required {
    font-size: 1.1vw;
    margin-left: 0.8vw;
    padding: 0.5vw;
  }
}
@media (768px <= width) {
  .contact__form .le_inputBox {
    width: 100%;
  }
}
.contact__form .le_inputBox_inner {
  width: 100%;
  display: block;
  margin-bottom: 10px;
}
@media (768px <= width) {
  .contact__form .le_inputBox_inner {
    display: flex;
    margin-bottom: 1vw;
    align-items: center;
    gap: 1vw;
  }
}
.contact__form .le_day__text {
  white-space: nowrap;
  font-weight: 700;
}
.contact__form .le_inputBox_in {
  width: 100%;
  display: flex;
  align-items: flex-start;
  gap: 1vw;
  margin-bottom: 1vw;
}
.contact__form .le_inputBox_in:last-child {
  margin-bottom: 0;
}
.contact__form .le_day {
  width: 50%;
}
.contact__form .le_time {
  width: 50%;
  min-width: 115px;
}
.contact__form .le_inputBox textarea {
  background-color: #ffffff;
  height: 140px;
  margin-bottom: 20px;
}
@media (768px <= width) {
  .contact__form .le_inputBox textarea {
    height: 184px;
    margin-bottom: 0;
  }
}
.contact__form .le_privacy {
  width: 100%;
  height: 140px;
  overflow-y: scroll;
  color: #454545;
  padding: 1vw 1.5vw;
  font-size: 1.1vw;
  line-height: 1.5;
  background-color: #ffffff;
  margin-bottom: 0 !important;
}
@media (width < 768px) {
  .contact__form .le_privacy {
    height: 105px;
    padding: 15px;
    font-size: 12px;
  }
}
.contact__form .le_content_btn {
  font-size: 1.1vw;
  margin-top: 2.4vw;
  margin-right: 1vw;
  margin-bottom: 2.4vw !important;
  text-align: center;
}
@media (width < 768px) {
  .contact__form .le_content_btn {
    margin-top: 20px;
    margin-right: 18px;
    margin-bottom: 20px !important;
    text-align: center;
  }
}
@media (768px <= width) {
  .contact__form .le_content_btn .wpcf7-list-item-label {
    font-size: 1.4vw;
  }
}
.contact__form .le_content_btn span {
  font-weight: 700;
}
.contact__form .wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}
.contact__form .le_submit_btn {
  text-align: center;
}
.contact__form .le_submit_btn p {
  display: contents;
}
.contact__form .le_submit_btn [type=submit] {
  width: 30vw;
  color: #ffffff;
  font-family: "Noto Sans JP", Sans-serif;
  font-size: 1.8vw;
  font-weight: 700;
  background: linear-gradient(to right, #45b8ff 20%, #5dc297);
  border-radius: 50px;
  transition: 0.3s;
  padding: 1.5vw 1vw;
  border: none;
}
@media (width < 768px) {
  .contact__form .le_submit_btn [type=submit] {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding: 15px;
    font-size: 14px;
  }
}
@media (hover: hover) and (width >= 768px) {
  .contact__form .le_submit_btn [type=submit] {
    transition: all var(--speed) ease-in-out;
  }
  .contact__form .le_submit_btn [type=submit]:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}