@charset "UTF-8";
/*
フォント定義
*/
@font-face {
 src: url("../../fonts/Zen_Kaku_Gothic_New/ZenKakuGothicNew-Bold.ttf") format("ttf");
 font-family: "Zen Kaku Gothic New", sans-serif;
 font-weight: 900;
}
@font-face {
 src: url("../../fonts/Jost/Jost-VariableFont_wght.ttf") format("ttf");
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
/*
base style
*/ :root {
 --primarycolor: #46c4c4;
 --secondcolor: #95FF4B;
}
html {
 font-family: "Zen Kaku Gothic New", sans-serif;
 font-style: normal;
 -webkit-text-size-adjust: 100%;
 -moz-text-size-adjust: 100%;
 -ms-text-size-adjust: 100%;
 text-size-adjust: 100%;
 font-size: calc(16 / 1440 * 100vw);
 overflow-x: hidden;
 width: 100%;
}
@media screen and (max-width: 768px) {
 html {
  font-size: calc(16 / 375 * 100vw);
 }
}
body {
 font-family: "Zen Kaku Gothic New", sans-serif;
 font-weight: 900;
 overflow-x: hidden;
 width: 100%;
}
@media screen and (max-width:768px) {
 .body {
  position: relative;
 }
}
.main-section {
 width: 95%;
}
@media screen and (max-width:768px) {
 .main-section {
  width: 100%;
 }
}
.nav-section {
 width: 5%;
 max-width: 5%;
 position: fixed;
 right: 0%;
 bottom: 0;
}
main {
 display: flex;
 flex-direction: row;
}
@media screen and (max-width:768px) {
 main {
  flex-direction: column;
 }
 .nav-section {
  display: none;
 }
}
header {
 position: fixed;
 z-index: 99999;
 top: 2%;
 left: 2%;
}
header img {
 width: 100%;
 max-width: 6vw;
 object-fit: cover;
}
@media screen and (max-width:768px) {
 .header {
  display: none;
  position: absolute;
  top: 5%;
  left: 5%;
  z-index: 99999;
 }
 header img {
  width: 17.5vw;
  object-fit: cover;
  height: auto;
 }
}
/*
top
*/
.top {
 aspect-ratio: 9 / 5.3;
 color: #ffffff;
 position: relative;
 display: block;
 z-index: 100000;
 width: 95vw;
 height: 100vh;
}
.top::before {
 content: "";
 background-image: url(../../images/top_zero02.webp);
 background-repeat: no-repeat;
 background-position: center;
 background-size: cover;
 z-index: -1;
 position: absolute;
 width: 100%;
 height: 100%;
 display: block;
 top: 0;
 left: 0;
}
@media screen and (max-width:768px) {
 .top {
  aspect-ratio: 5 / 9;
  z-index: 100;
  display: flex;
  flex-direction: row-reverse;
  height: 100vh;
  width: 100vw;
 }
 .top::before {
  content: "";
  background-position: 10% center;
  width: calc(100% - 3.5em);
 }
}
.top-logo {
 position: absolute;
 top: 5%;
 left: 5%;
 width: 100％;
 max-width: 4vw;
 z-index: 10;
}
@media screen and (max-width:768px) {
 .top-logo {
  position: absolute;
  top: 5%;
  left: 5%;
  z-index: 10;
  max-width: 14vw;
 }
}
.top-wrapper {
 position: absolute;
 bottom: 7.5%;
 left: 5%;
}
@media screen and (max-width:768px) {
 .top-wrapper {
  bottom: 12%;
  left: 0;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  width: 87%;
 }
}
.top-wrap-2 {
 display: none;
 width: 3.5rem;
 max-width: 3.5rem;
 min-width: 3.5rem;
}
@media screen and (max-width:768px) {
 .top-wrap-2 {
  display: flex;
  height: 100vh;
  background-color: #f5f5f5;
  color: #1f1e1e;
  align-items: center;
  width: 3.5rem;
  max-width: 3.5rem;
  min-width: 3.5rem;
  position: relative;
 }
 .top-cnt2 {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  height: 100%;
  width: 100%;
 }
 .top-social {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 2rem;
  gap: 1rem;
 }
 .top-wrap-2 p {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 1.5rem;
  font-size: 0.6rem;
  letter-spacing: 0.05em;
 }
 .top-wrap-2 nav {
  display: block;
  width: 100%;
 }
 .top-wrap-2 ul {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  margin-bottom: 0.5rem;
 }
 .top-wrap-2 .line-logo-sp {
  width: 2.5rem;
  height: 2.5rem;
  filter: brightness(0) saturate(100%) invert(58%) sepia(89%) saturate(3158%) hue-rotate(95deg) brightness(95%) contrast(101%);
 }
 .top-nav-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
 }
 .top-wrap-2 .nav-box {
  background-color: #1f1e1e;
  text-align: center;
  width: 100%;
  margin: 0;
 }
 .top-wrap-2 .nav-box a {
  color: #ffffff;
  writing-mode: vertical-rl;
  text-orientation: sideways;
  line-height: 3vw;
  padding: 20% 0;
  display: block;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.65rem;
  margin-block: auto;
 }
 .top-wrap-2 .hotpepper-box {
  background-color: #E5004F;
  /* background-color: #D95F9F; */
 }
 .top-wrap-2 .hotpepper-box a {
  font-weight: 700;
 }
 .nav-bottom-text-sp {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  line-height: 5vw;
  font-size: 0.5rem;
  padding-top: 0.4rem;
  padding-bottom: 0.4rem;
 }
}
.top h1 {
 font-weight: 900;
 font-size: 3.3em;
 position: relative;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .top h1 {
  font-weight: 900;
  font-size: 1.5rem;
  position: relative;
  line-height: 1.3;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
 .top .top-h1 .top-h1-line1 {
  font-size: 1.6rem;
  line-height: 1.1;
  letter-spacing: 0.05em;
  display: block;
 }
 .top .top-h1 .top-h1-jp {
  font-size: 0.6rem;
  font-weight: 400;
  letter-spacing: 0.3em;
  margin: 0.4rem 0 0.2rem 0;
  display: block;
 }
 .top .top-h1 .top-h1-line2 {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.05em;
  display: block;
 }
}
.top h1::after {
 content: "ユナイツゼロ";
 color: #ffffff;
 position: absolute;
 right: 8%;
 bottom: 80%;
 font-size: 0.4em;
 letter-spacing: 0.8em;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .top h1::after {
  right: 45%;
  bottom: auto;
  top: 0;
 }
}
.top-cnt1 p {
 font-size: 1.4375rem;
}
@media screen and (max-width:768px) {
 .top-cnt1 p {
  font-size: 0.8rem;
  line-height: 1.7;
  font-weight: 400;
 }
 .top-subtitle {
  /* margin-top: 0.8rem; */
 }
}
/*
concept
*/
.concept {
 text-align: center;
 display: grid;
 place-content: center;
 background-repeat: no-repeat;
 background-size: cover;
 position: relative;
 padding-bottom: 7.2em;
}
.concept h2 {
 padding-top: 13rem;
 /* padding-bottom: 9rem; */
 font-size: 1.8em;
 text-align: center;
 position: relative;
}
.concept h2::after {
 content: "CONCEPT";
 position: absolute;
 top: 71%;
 left: 50%;
 transform: translate(-50%, -50%);
 font-size: 5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
.concept h2.ft2em, .ft2em {
 font-size: 2em;
}
.concept h2.ft2em big {
 font-size: 1.36em;
}
.concept-wrap {
 padding-top: 0rem;
}
.concept p {
 padding-top: 2.5em;
 font-size: 0.9em;
 line-height: 2.5rem;
}
.concept span {
 border-bottom: solid var(--primarycolor) 1px;
 padding-bottom: 0.125rem;
}
.concept h3 {
 font-size: 1.25em;
 line-height: 2.5rem;
 border: 1px solid #FFF;
 display: table;
 margin: 2.5em auto 1em auto;
 padding: .25em 2em;
}
.btn_white, .btn_black {
 display: flex;
 justify-content: center;
 max-width: 680px;
 margin: auto auto 2.5em auto;
}
.btn_black {
 margin-bottom: 0;
}
.btn_white a {
 display: table;
 border-radius: 99px;
 -webkit-border-radius: 99px;
 -moz-border-radius: 99px;
 color: #000;
 font-size: 1em;
 background: #FFF;
 padding: .5em 1.5rem;
 margin: auto .5em;
}
.btn_white a:hover {
 background: #FFFFFF90;
}
.btn_black a {
 display: table;
 border-radius: 99px;
 -webkit-border-radius: 99px;
 -moz-border-radius: 99px;
 color: #000;
 font-size: 1em;
 background: #FFF;
 padding: .5em 3rem;
 margin: auto .5em;
 border: 1.5px solid #000;
}
.btn_black a:hover {
 background: #00000010;
}
@media screen and (max-width:768px) {
 .concept {
  padding-top: 0rem;
  padding-bottom: 0rem;
 }
 .concept-wrap {
  padding-top: 1rem;
  padding-bottom: 6rem;
 }
 .concept h2 {
  padding-top: 5rem;
  font-size: 1rem;
 }
 .concept h2::after {
  top: auto;
  bottom: -.875em;
  font-size: 2.5em;
 }
 .concept h2.ft2em {
  font-size: 1.5em;
 }
 .concept p {
  padding-top: 1.8rem;
  font-size: 0.81rem;
  line-height: 3em;
 }
 .btn_white {
  flex-direction: column;
 }
 .btn_white a {
  margin-bottom: 20px;
 }
}
.strengths h2 {
 padding-top: 13rem;
 /* padding-bottom: 9rem; */
 font-size: 1.8em;
 text-align: center;
 position: relative;
}
@media screen and (max-width:768px) {
 .strengths h2 {
  padding-top: 6rem;
  font-size: 1rem;
 }
}
.strengths h2::before {
 position: absolute;
 content: "STRENGTHS";
 top: 71%;
 left: 50%;
 transform: translate(-50%, -50%);
 font-size: 5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .strengths h2::before {
  top: 65%;
  font-size: 2.5em;
 }
}
.strengths h3 {
 font-size: 1.4em;
 line-height: 1.5rem;
}
@media screen and (max-width:768px) {
 .strengths h3 {
  font-size: 1.06rem;
  line-height: 1.5rem;
 }
}
.strengths ul {
 padding-top: 1.5rem;
 padding-left: 1rem;
}
@media screen and (max-width:768px) {
 .strengths ul {
  padding-left: 1.3rem;
  line-height: 1.5rem;
 }
}
.strengths li {
 padding-top: 1rem;
 position: relative;
}
.strengths li::marker {
 content: none;
}
.strengths li::before {
 display: block;
 content: "";
 width: 0.9375rem;
 height: 0.9375rem;
 background-color: var(--primarycolor);
 border-radius: 10px;
 position: absolute;
 left: -1.5rem;
 top: 1.3em;
}
@media screen and (max-width:768px) {
 .strengths li::before {
  display: block;
  content: "";
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--primarycolor);
  border-radius: 0.625rem;
  position: absolute;
  left: -1rem;
  top: 1rem;
 }
}
@media screen and (max-width:768px) {
 .strengths li {
  padding-top: 0.5rem;
  font-size: 0.81rem;
  position: relative;
 }
}
.question-1 {
 display: flex;
 padding-top: 9rem;
 justify-content: space-between;
 gap: 1rem;
}
@media screen and (max-width:768px) {
 .question-1 {
  display: flex;
  flex-direction: column;
  padding-top: 4rem;
  justify-content: space-between;
 }
}
.question-2 {
 display: flex;
 padding-top: 13.5rem;
 justify-content: space-between;
 gap: 1rem;
}
@media screen and (max-width:768px) {
 .question-2 {
  display: flex;
  flex-direction: column-reverse;
  padding-top: 4rem;
  justify-content: space-between;
 }
}
.qs1-txt {
 padding-bottom: 4rem;
 width: 50%;
}
.qs2-txt {
 padding-top: 2.7rem;
 padding-bottom: 4rem;
 width: 47%;
}
@media screen and (max-width:768px) {
 .qs1-txt {
  padding-bottom: 1.9rem;
  width: 100%;
 }
 .qs2-txt {
  padding-top: 0rem;
  padding-bottom: 1.9rem;
  width: 100%;
 }
}
.num-span {
 display: inline-block;
 color: var(--primarycolor);
 font-size: 2.7em;
 line-height: auto;
 padding-bottom: 2rem;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
.qs1-txt-span {
 position: relative;
}
/* .qs1-txt-span::before{
  position: absolute;
  content: "からだ";
  font-size: 0.625rem;
  top: -1rem;
  left: 15%;
} */
@media screen and (max-width:768px) {
 .num-span span {
  display: inline-block;
  color: var(--primarycolor);
  font-size: 2.5em;
  line-height: auto;
  padding-bottom: 5.4rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
 .qs1-txt-span {
  position: relative;
 }
 /* .qs1-txt-span::before{
    position: absolute;
    content: "からだ";
    font-size: 0.5rem;
    top: -1rem;
    left: 15%;
  } */
}
.qs-lp-img {
 width: 33.125rem;
 object-fit: cover;
}
.qs-sp-img {
 width: 22.5625rem;
 object-fit: cover;
}
/*
コンタクトバナー
*/
.banner {
 background-image: url(../../images/cta_bg.webp);
 background-repeat: no-repeat;
 background-size: cover;
 background-position: center;
 aspect-ratio: 4.5/1;
 color: #ffffff;
 font-weight: normal;
 text-align: center;
 margin-top: 13rem;
}
@media screen and (max-width:768px) {
 .banner {
  aspect-ratio: 4.5/3.5;
  margin-top: 6rem;
  padding-bottom: 4rem;
 }
}
.banner h2 {
 font-size: 1.7em;
 padding-top: 3.6rem;
 font-family: Helvetica;
}
@media screen and (max-width:768px) {
 .banner h2 {
  font-size: 1.25rem;
  padding-top: 3.6rem;
  font-family: Helvetica;
 }
}
.banner p {
 font-size: 0.8em;
 line-height: 2rem;
}
@media screen and (max-width:768px) {
 .banner p {
  font-size: 0.75rem;
  line-height: 1rem;
  padding-top: 0.5rem;
 }
}
.contact-btn {
 font-size: 1.5em;
 text-align: center;
}
@media screen and (max-width:768px) {
 .contact-btn {
  font-weight: bolder;
  font-size: 1.2em;
  padding-top: 2.3rem;
  padding-bottom: 2.3rem;
  padding-left: 0.9rem;
 }
}
.banner-txt {}
.botun-1 {
 color: #ffffff;
 border: #ffffff solid 1px;
 padding: 0.5em 3em;
}
@media screen and (max-width:768px) {
 .botun-1 {
  color: #ffffff;
  border: #ffffff solid 1px;
  padding: 0.6em 3.8em;
 }
}
@media screen and (max-width:768px) {
 .btn2-wrap a {
  border: solid 1px #ffffff;
  background-color: #ffffff;
  padding: 0.6em 3.61em;
 }
}
@media screen and (max-width:768px) {
 .contact-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2%;
 }
}
.btn-1-span {
 position: relative;
}
@media screen and (max-width:768px) {
 .btn-1-span {
  position: relative;
  font-size: 1rem;
 }
}
.btn-1-span::after {
 content: "";
 position: absolute;
 top: 0.4em;
 right: -3rem;
 border: 6px solid transparent;
 border-top: 7px solid #ffffff;
 transform: rotate(-90deg);
}
.btn-2-span {
 position: relative;
}
@media screen and (max-width:768px) {
 .btn-2-span {
  position: relative;
  font-size: 1rem;
 }
}
.btn-2-span::after {
 content: "";
 position: absolute;
 top: 0.4em;
 right: -3rem;
 border: 6px solid transparent;
 border-top: 7px solid black;
 transform: rotate(-90deg);
}
.botun-2 {
 border: solid 1px #ffffff;
 background-color: #ffffff;
 padding: 0.5em 3em;
}
@media screen and (max-width:768px) {
 .btn2-wrap {
  padding-top: 2rem;
 }
 .botun-2 {
  border: solid 1px #ffffff;
  background-color: #ffffff;
  padding: 0.6em 3.61em;
 }
}
/*
facility
*/
.facility {
 color: #1f1e1e;
 text-align: center;
 padding-top: 12.25rem;
}
@media screen and (max-width:768px) {
 .facility {
  color: #1f1e1e;
  text-align: center;
  padding-top: 6rem;
 }
}
.facility h2 {
 font-size: 1.5em;
 line-height: 2rem;
 padding-bottom: 6.03rem;
 position: relative;
}
@media screen and (max-width:768px) {
 .facility h2 {
  font-size: 1rem;
  line-height: 2rem;
  padding-bottom: 3.6rem;
 }
}
.facility h2::before {
 position: absolute;
 content: "FACILITY";
 left: 50%;
 top: -3%;
 transform: translate(-50%, -50%);
 font-size: 5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .facility h2::before {
  position: absolute;
  content: "FACILITY";
  top: 5%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 3.5em;
  white-space: nowrap;
  z-index: -1;
  color: #f5f5f5;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
}
.facility-img {
 display: flex;
 justify-content: flex-start;
 flex-wrap: wrap;
 max-width: calc(100% - 10rem);
 margin: auto;
 object-fit: cover;
}
@media screen and (max-width:768px) {
 .facility-img {
  max-width: 100%;
  width: 100%;
 }
}
.facility-img img {
 width: calc(100% / 3);
}
.fac-img-4 {
 width: 21.625rem;
 height: 23vw;
 object-fit: cover;
}
.fac-img-5 {
 width: 21.625rem;
 height: 23vw;
 object-fit: cover;
}
.fac-img-6 {
 width: 21.625rem;
 height: 23vw;
 object-fit: cover;
}
/*
staff
*/
.staff {
 color: #1f1e1e;
 padding-top: 13.5rem;
}
@media screen and (max-width:768px) {
 .staff {
  color: #1f1e1e;
  padding-top: 6rem;
  padding-bottom: 1.5rem;
 }
}
.staff h2 {
 font-size: 1.6em;
 padding-bottom: 5.94rem;
 text-align: center;
 position: relative;
}
@media screen and (max-width:768px) {
 .staff h2 {
  font-size: 1.06rem;
  padding-bottom: 3rem;
  text-align: center;
  position: relative;
 }
}
.staff h2::before {
 position: absolute;
 content: "UNITES STAFF";
 top: -5%;
 left: 50%;
 transform: translate(-50%, -50%);
 font-size: 5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .staff h2::before {
  position: absolute;
  content: "UNITES STAFF";
  top: 0%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.5em;
  white-space: nowrap;
  z-index: -1;
  color: #f5f5f5;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
}
.st-h3-1 {
 font-size: min(1.6vw, 24px);
 border-bottom: #1f1e1e solid 1px;
 width: 27%;
 padding-bottom: 0.8rem;
}
.st-h3-2 {
 font-size: min(1.6vw, 24px);
 border-bottom: #1f1e1e solid 1px;
 width: 38%;
 padding-bottom: 0.8rem;
}
.st-h3-3 {
 font-size: min(1.6vw, 24px);
 border-bottom: #1f1e1e solid 1px;
 width: 31%;
 padding-bottom: 0.8rem;
}
@media screen and (max-width:768px) {
 .st-h3-1 {
  font-size: 1.13rem;
  border-bottom: #1f1e1e solid 1px;
  width: 48%;
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
 }
 .st-h3-2 {
  font-size: 1.13rem;
  border-bottom: #1f1e1e solid 1px;
  width: 57%;
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
 }
 .st-h3-3 {
  font-size: 1.13rem;
  border-bottom: #1f1e1e solid 1px;
  width: 47%;
  padding-top: 1.5rem;
  padding-bottom: 0.5rem;
 }
}
.staff p {
 font-size: 0.9em;
 line-height: 2rem;
 padding-top: 1rem;
}
@media screen and (max-width:768px) {
 .staff p {
  font-size: 0.67rem;
  line-height: 1.8;
 }
}
.staff span {
 color: var(--primarycolor);
 font-size: 0.9em;
 letter-spacing: 0.1em;
 font-family: Helvetica;
}
@media screen and (max-width:768px) {
 .staff span {
  color: var(--primarycolor);
  font-size: 1.1em;
  padding-top: 1rem;
  font-family: Helvetica;
 }
}
.br-sp {
 display: none;
}
@media screen and (max-width:768px) {
 .br-sp {
  display: block;
 }
}
.br-pc {
 display: block;
}
@media screen and (max-width:768px) {
 .br-pc {
  display: none;
 }
}
.staff-txt {
 width: 60%;
 align-items: left;
}
@media screen and (max-width:768px) {
 .staff-txt {
  width: 100%;
  align-items: center;
 }
}
.staff-txt h3 span {
 color: #1f1e1e;
 font-size: 0.58em;
}
.staff-1 {
 display: flex;
 justify-content: space-between;
 padding-left: 10.8rem;
 padding-right: 6.3rem;
 padding-bottom: 6.3rem;
 /* max-width: 1440px; */
 max-width: calc(100% - 3rem);
 margin: auto;
 gap: 1.25rem;
}
.st-img-lp {
 width: 21.25rem;
 height: 18.75rem;
 object-fit: cover;
}
.st-img-sp {
 display: none;
 /* width: 22.5625rem;
height: 18.3125rem;
object-fit: cover; */
}
.st-img-lp-mame {
 object-fit: contain;
}
@media screen and (max-width:768px) {
 .staff-1 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 14%;
  max-width: 100%;
  width: 100%;
 }
}
@media screen and (max-width:768px) {
 .st-img-lp {
  display: none;
 }
 .st-img-sp {
  display: block;
  width: 22.5625rem;
  height: 18.3125rem;
  object-fit: cover;
 }
 .st-img-lp-mame {
  object-fit: contain;
 }
}
.staff-list {
 padding-top: 2%;
}
.staff-list ul {
 padding-top: 1%;
 padding-left: 3%;
}
@media screen and (max-width:768px) {
 .staff-list ul {
  padding-top: 0;
  padding-left: 2rem;
  font-size: 0.8rem;
  font-weight: bolder;
 }
 .staff-list li {
  padding-top: 0.5rem;
  line-height: 1.5rem;
 }
}
.li-span {
 color: var(--primarycolor);
 font-size: 1em;
}
.staff-list li::marker {
 color: var(--primarycolor);
}
.staff-career {
 width: 18rem;
 display: flex;
 font-size: 1.1em;
 text-align: center;
}
@media screen and (max-width:768px) {
 .staff-career {
  width: 100%;
  display: flex;
  font-size: 1.1em;
  ;
  text-align: center;
  align-items: flex-end;
 }
}
.staff-logo {
 height: 3.1rem;
 padding-top: 8%;
}
@media screen and (max-width:768px) {
 .staff-logo {
  width: 1.75rem;
  object-fit: cover;
  padding-top: 3%;
 }
}
.staff-career-2 {
 width: 10rem;
 display: flex;
 font-size: 1.1em;
 text-align: center;
}
@media screen and (max-width:768px) {
 .staff-career-2 {
  width: 100%;
  display: flex;
  font-size: 1.1em;
  ;
  text-align: center;
  padding-top: 6%;
  align-items: flex-end;
 }
}
.staff-logo-2 {
 height: 2.3rem;
}
.staff-career p {
 padding-top: 5%;
 font-size: 0.8em;
}
.staff-career-2 p {
 padding-top: 2%;
 font-size: 0.8em;
}
@media screen and (max-width:768px) {
 .staff-career p {
  /* padding-top: 5%; */
  font-size: 0.8rem;
 }
 .staff-career-2 p {
  padding-top: 1.8rem;
  font-size: 0.8rem;
 }
}
.staff-career p span {
 color: #1f1e1e;
 font-size: 1.8em;
 padding: 10% 0.3em 0;
}
.staff-career-2 p span {
 color: #1f1e1e;
 font-size: 1.8em;
 padding: 0 0.3em;
}
@media screen and (max-width:768px) {
 .staff-career-2 p span {
  color: #1f1e1e;
  font-size: 2.2em;
  padding: 0 0.3em;
 }
 .staff-career p span {
  color: #1f1e1e;
  font-size: 2.2em;
  padding: 10% 0.3em 0;
 }
}
/*
our service
*/
.service {
 padding-top: 7.2rem;
 padding-bottom: 9rem;
}
.service li {
 position: relative;
}
.service li::marker {
 content: none;
}
.service li::before {
 content: "";
 display: block;
 width: 0.9375rem;
 height: 0.9375rem;
 background-color: var(--primarycolor);
 border-radius: 10px;
 position: absolute;
 left: -6%;
 top: 0.1rem;
}
@media screen and (max-width:768px) {
 .service li {
  position: relative;
 }
 .service li::marker {
  content: none;
 }
 .service li::before {
  content: "";
  display: block;
  width: 0.625rem;
  height: 0.625rem;
  background-color: var(--primarycolor);
  border-radius: 10px;
  position: absolute;
  left: -3%;
  top: 0.4rem;
 }
}
.service-wrapper {
 padding-left: 9rem;
 padding-right: 4.5rem;
}
@media screen and (max-width:768px) {
 .service li::marker {
  color: var(--primarycolor);
  font-size: 1.25rem;
 }
 .service-wrapper {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  width: 100%;
 }
 .service {
  padding-top: 8rem;
  padding-bottom: 6rem;
 }
}
.service h2 {
 text-align: center;
 font-size: 3em;
 color: var(--primarycolor);
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .service h2 {
  text-align: center;
  font-size: 2.05rem;
  color: var(--primarycolor);
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
}
.service-title-p {
 font-size: 1em;
}
@media screen and (max-width:768px) {
 .service-title-p {
  font-size: 0.88rem;
 }
}
.service-1 ul {
 padding-left: 3%;
}
.service-title {
 text-align: center;
}
.service-1 {
 display: flex;
 justify-content: space-between;
 padding-top: 7%;
 /* /* max-width: 1200px; */
 max-width: calc(100% - 10rem);
 margin: 0 auto;
}
@media screen and (max-width:768px) {
 .service-1 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 17%;
  max-width: 1200px;
  margin: 0 auto;
 }
}
.service-2 {
 padding-top: 9rem;
 display: flex;
 justify-content: space-between;
 /* max-width: 1200px; */
 max-width: calc(100% - 10rem);
 margin: 0 auto;
}
@media screen and (max-width:768px) {
 .service-2 {
  display: flex;
  flex-direction: column;
  flex-direction: column-reverse;
  justify-content: space-between;
  padding-top: 17%;
  max-width: 1200px;
  margin: 0 auto;
 }
}
.service-3 {
 display: flex;
 justify-content: space-between;
 padding-top: 9rem;
 /* max-width: 1440px; */
 max-width: calc(100% - 10rem);
 margin: 0 auto;
}
@media screen and (max-width:768px) {
 .service-3 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding-top: 17%;
  max-width: 1200px;
  margin: 0 auto;
 }
}
.service-cnt {
 margin-top: 3%;
 padding-top: 5%;
 margin-bottom: 3%;
 padding-right: 8%;
 padding-left: 10%;
 width: 50%;
}
@media screen and (max-width:768px) {
 .service-cnt {
  padding-top: 1%;
  margin-top: 18rem;
  margin-bottom: 3%;
  padding-left: 0;
  width: 100%;
  display: contents;
 }
}
.service-cnt-1 {
 margin-top: 3%;
 padding-top: 5%;
 margin-bottom: 3%;
 padding-left: 8%;
 width: 50%;
}
@media screen and (max-width:768px) {
 .service-cnt-1 {
  padding-top: 1%;
  margin-top: 18rem;
  margin-bottom: 3%;
  padding-left: 0;
  width: 100%;
  display: contents;
 }
}
.service-cnt-1 ul {
 padding-top: 3em;
}
.service-cnt ul {
 padding-top: 3em;
}
@media screen and (max-width:768px) {
 .service-cnt-1 ul {
  padding-top: 1.5rem;
  font-size: 1em;
  padding-left: 1.5rem;
  line-height: 1.5rem;
 }
 .service-cnt ul {
  font-size: 1em;
  padding-top: 1.5rem;
  padding-left: 1.5rem;
 }
}
.service-cnt-1 li {
 font-size: 0.9em;
 line-height: 1.5rem;
}
.service-cnt li {
 font-size: 0.9em;
 line-height: 1.5rem;
}
@media screen and (max-width:768px) {
 .service-cnt-1 li {
  padding-top: 0;
  padding-left: 0.5rem;
  font-size: 0.83rem;
 }
 .service-cnt li {
  padding-top: 0;
  padding-left: 0.5rem;
  font-size: 0.83rem;
 }
}
.service-cnt h3 {
 font-size: 1.5rem;
 position: relative;
}
.service-cnt-1 h3 {
 font-size: 1.5rem;
 position: relative;
}
@media screen and (max-width:768px) {
 .service-cnt h3 {
  font-size: 1.13rem;
  order: 1;
 }
 .service-cnt-1 h3 {
  font-size: 1.13rem;
  order: -1;
 }
 .service img {
  padding-top: 5%;
 }
 .service img {
  padding-top: 5%;
 }
}
.service-cnt-2 {
 margin: 5%;
}
.sr-bg-1::before {
 position: absolute;
 content: "TRAINING";
 left: 25%;
 transform: translate(-50%, -50%);
 font-size: 2em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
.sr-bg-1 {
 position: relative;
}
@media screen and (max-width:768px) {
 .sr-bg-1::before {
  left: 22%;
  font-size: 1.5em;
 }
}
.sr-bg-2 {
 position: relative;
}
.sr-bg-2::before {
 position: absolute;
 content: "PILATES";
 left: 28%;
 transform: translate(-50%, -50%);
 font-size: 2em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .sr-bg-2::before {
  left: 22%;
  font-size: 1.5em;
 }
}
.sr-bg-3 {
 position: relative;
}
.sr-bg-3::before {
 position: absolute;
 content: "MEAL GUIDANCE";
 left: 42%;
 transform: translate(-50%, -50%);
 font-size: 2em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .sr-bg-3::before {
  left: 36%;
  font-size: 1.5em;
 }
}
.sr-bg-4 {
 position: relative;
}
.sr-bg-4::before {
 position: absolute;
 content: "STRETCH";
 left: 28%;
 transform: translate(-50%, -50%);
 font-size: 2.5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .sr-bg-4::before {
  left: 18%;
  font-size: 1.5em;
 }
}
.sr-bg-5 {
 position: relative;
}
.sr-bg-5::before {
 position: absolute;
 content: "OPTION";
 left: 28%;
 transform: translate(-50%, -50%);
 font-size: 2.5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .sr-bg-5::before {
  left: 18%;
  font-size: 1.5em;
 }
}
.service-cnt p {
 padding-top: 3em;
}
.service-cnt-1 p {
 padding-top: 3em;
}
.srv-img-1, .svc-cnt-2, .svc-cnt-3, .svc-cnt-4, .svc-cnt-5 {
 width: 30.9375rem;
 height: 21.3125rem;
 object-fit: cover;
}
/*
strength
*/
.our-strength {
 padding-left: 9rem;
 padding-right: 4.5rem;
 /* max-width: 1440px; */
 max-width: calc(100% - 3rem);
 margin: auto;
}
.our-strength::before {
 content: "";
 display: block;
 border-bottom: 1px solid #1f1e1e;
}
.our-strength::after {
 content: "";
 display: block;
 border-bottom: 1px solid #1f1e1e;
}
@media screen and (max-width:768px) {
 .our-strength {
  padding-top: 9.5%;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  width: 100%;
 }
}
.strength-title {
 text-align: center;
}
.strength-title h2 {
 color: var(--primarycolor);
 font-size: 3em;
 padding-top: 9%;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .strength-title h2 {
  color: var(--primarycolor);
  font-size: 2.05rem;
  padding-top: 7rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
}
.strength-title p {
 font-size: 1.2em;
}
@media screen and (max-width:768px) {
 .strength-title p {
  font-size: 0.88rem;
 }
}
.strength-wrapper {
 display: flex;
 justify-content: space-between;
 padding-bottom: 11%;
}
@media screen and (max-width:768px) {
 .strength-wrapper {
  display: flex;
  flex-direction: column;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  justify-content: space-between;
  padding-top: 2rem;
  padding-bottom: 5rem;
  width: 100%;
 }
}
.st-txt ul {
 font-size: 0.9em;
 padding-left: 4%;
}
.st-txt li {
 position: relative;
}
.st-txt li::marker {
 content: none;
}
.st-txt li::before {
 width: 0.625rem;
 height: 0.625rem;
 background-color: var(--primarycolor);
 content: "";
 display: block;
 position: absolute;
 left: -3%;
 top: 0.2vw;
 border-radius: 10px;
}
@media screen and (max-width:768px) {
 .st-txt li {
  position: relative;
 }
 .st-txt li::marker {
  content: none;
 }
 .st-txt li::before {
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--primarycolor);
  content: "";
  display: block;
  position: absolute;
  left: -3%;
  top: 3.2vw;
  border-radius: 10px;
  line-height: 2rem;
 }
}
@media screen and (max-width:768px) {
 .st-txt ul {
  font-size: 0.85rem;
  padding-top: 0.5rem;
  padding-bottom: 3rem;
  line-height: 2rem
 }
 .st-txt p {
  font-size: 0.88rem;
  line-height: 2rem
 }
}
.st-img-wrap {
 position: relative;
}
@media screen and (max-width:768px) {
 .st-img-wrap img {
  width: 100%;
  object-fit: cover;
 }
}
.img_override-1 {
 background-color: #ffffff;
 border-radius: 15px;
 font-size: 26px;
 position: absolute;
 bottom: 5%;
 left: 50%;
 transform: translateX(-50%);
 padding: 5px 0;
 width: 80%;
 max-width: 25rem;
 text-align: center;
}
@media screen and (max-width:768px) {
 .img_override-1 {
  background-color: #ffffff;
  border-radius: 0.94rem;
  font-size: 0.95rem;
  position: absolute;
  bottom: 5%;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.31rem 0;
  width: 80%;
 }
}
.img_override-1.gr_2 {
 background-color: var(--primarycolor);
}
.st_wrap_cnt {
 width: 48%;
 margin-top: 3%;
}
@media screen and (max-width:768px) {
 .st_wrap_cnt {
  width: 100%;
  margin-top: 7%;
 }
}
.st-img-wrap span {
 background-color: var(--primarycolor);
}
.st-txt {
 padding-top: 5%;
 width: 100%;
}
.st-txt span {
 background-color: var(--primarycolor);
}
@media screen and (max-width:768px) {
 .st-txt span {
  background-color: var(--primarycolor);
 }
}
/*
pricerist
*/
.price-list {
 background-color: #1f1e1e;
 color: #ffffff;
 padding-top: 9%;
 padding-bottom: 9rem;
}
.price-wrapper {
 display: flex;
 justify-content: space-between;
 gap: 3%;
 padding-top: 4.5%;
 padding-bottom: 3rem;
 width: 75%;
 /* max-width: 1440px; */
 max-width: calc(100% - 3rem);
 margin: 0 auto;
}
@media screen and (max-width:768px) {
 .price-wrapper {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0;
  padding-top: 5%;
  padding-bottom: 3.4rem;
  max-width: 100%;
  width: 100%;
  margin: 0 auto;
 }
 .price-list {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  width: 100%;
  padding-bottom: 2.5em;
 }
}
.price-title h2 {
 font-size: 3em;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
.price-title p {
 font-size: 1.2em;
}
.contact-btn {
 display: flex;
 justify-content: center;
 gap: 2%;
 text-align: center;
}
.btn1-wrap {
 height: 2rem;
}
.price-content {
 width: 30%;
 flex-shrink: 0;
 position: relative;
}
/* 定額制プラン - 枠線とバッジのみ */
.subscription-plan {
 position: relative;
 /* transform: scale(1.05); */
 z-index: 1;
}
/* 浮かせる緑の枠線 - ::before疑似要素で実装 */
.subscription-plan::before {
 content: "";
 position: absolute;
 top: 50%;
 left: 50%;
 transform: translate(-50%, -50%);
 width: 108%;
 height: 108%;
 border: 3px solid var(--primarycolor);
 border-radius: 12px;
 box-shadow: 0 10px 30px rgba(75, 238, 255, 0.3);
 background: linear-gradient(135deg, rgba(60, 255, 243, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%);
 z-index: -1;
 pointer-events: none;
}
.subscription-badge {
 position: absolute;
 top: -2.5rem;
 left: 50%;
 transform: translateX(-50%);
 background: var(--primarycolor);
 color: #1f1e1e;
 padding: 0.5rem 1.25rem;
 border-radius: 20px;
 font-weight: bold;
 font-size: 0.85em;
 box-shadow: 0 4px 10px #46c4c440;
 z-index: 2;
 white-space: nowrap;
}
/* 定額制プランの説明文 - 枠の外に配置 */
.subscription-description {
 color: var(--primarycolor);
 font-size: 0.95em;
 font-weight: bold;
 text-align: center;
 margin-bottom: 0.9375rem;
 letter-spacing: 0.0625rem;
 z-index: 2;
 position: relative;
}
/* 中身のスタイルは他のプランと同じにする */
@media screen and (max-width:768px) {
 .price-content {
  width: 100%;
 }
 .price-content:nth-child(2) {
  margin-top: 10%;
 }
 .price-content:nth-child(3) {
  margin-top: 10%;
 }
 .price-content:nth-child(4) {
  margin-top: 10%;
 }
 .subscription-plan {
  transform: scale(1);
  margin-top: 15% !important;
  margin-bottom: 11%;
 }
 .subscription-badge {
  top: -1.625rem;
  left: 50%;
  transform: translateX(-50%);
  padding: 0.375rem 0.75rem;
  font-size: 0.8em;
  white-space: normal;
  text-align: center;
  max-width: 90%;
  width: 75%;
 }
 .subscription-description {
  font-size: 0.85em;
  margin-bottom: 0.625rem;
 }
 .pr-btn .botun-1 {
  margin-bottom: 0.5rem;
 }
}
.price-content ul {
 margin-top: 4.5rem;
}
.first-box {
 background-color: #ffffff;
 border-radius: 2px;
 color: #1f1e1e;
 margin-bottom: 0.8rem;
 border-radius: 5px;
}
.first-box p {
 font-size: 1.2em;
 line-height: 4.0625rem;
}
.second-box {
 border: #ffffff solid 1px;
 border-radius: 2px;
 display: grid;
 place-content: center;
 margin-bottom: 5%;
}
.second-txt {
 text-align: center;
 padding: 2.5rem 0;
}
.second-txt p {
 font-family: ヒラギノ角ゴ ProN;
}
.price-title {
 text-align: center;
}
@media screen and (max-width:768px) {
 .price-title {
  text-align: center;
  padding-bottom: 3rem;
  padding-top: 3rem;
 }
 .price-title h2 {
  font-size: 2.05rem;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
 .price-title p {
  font-size: 0.88rem;
 }
}
@media screen and (max-width:768px) {
 .price-list p {
  text-align: center;
 }
 .first-box p {
  font-size: 1em;
  line-height: 2.5rem;
 }
 .second-txt {
  text-align: center;
  padding: 1rem 0;
 }
 .price-txt-1 {
  display: none;
 }
 .second-txt p {
  font-size: 0.9em;
 }
 .second-box span {
  font-size: 2em;
 }
}
.second-txt span {
 font-size: 3em;
}
.price-list dl {
 display: flex;
 flex-wrap: wrap;
 padding: 5% 3% 0 3%;
}
@media screen and (max-width:768px) {
 .price-list dl {
  display: flex;
  flex-wrap: wrap;
  padding: 3%;
  align-items: center;
 }
}
/* プランとプランの間に点線（重複を避ける） */
/* シルバープラン、定額制プラン、ゴールドプランの右側にのみ線を引く */
.price-content:nth-child(1)::after, .price-content:nth-child(2)::after {
 content: "";
 position: absolute;
 height: 100%;
 width: 1px;
 background: transparent;
 border-right: 1px dashed #fff;
 right: -6.5%;
 transform: translateX(50%);
 top: 0;
}
.price-content:nth-child(2)::after {
 right: -10%;
}
@media screen and (max-width:768px) {
 .price-content:nth-child(1)::after, .price-content:nth-child(2)::after, {
  display: none;
 }
}
@media screen and (max-width:768px) {
 .pr-li-1 {
  padding-bottom: 13.5rem;
 }
}
.pr-li-1 dt {
 width: 24%;
 padding-bottom: 1em;
 text-align: right;
 font-size: 0.8em;
 padding-right: 1em;
}
.pr-li-1 dd {
 width: 39%;
 padding-bottom: 1em;
 text-align: right;
}
.price-column {
 width: 35% !important;
 font-size: .6rem;
 display: flex;
 align-items: center;
 justify-content: center;
}
@media screen and (max-width:768px) {
 .pr-li-1 dt {
  width: 25%;
  padding-bottom: 1em;
  text-align: right;
  font-size: 0.9rem;
  padding-right: 0.3em;
 }
 .pr-li-1 dd {
  width: 45%;
  padding-bottom: 1em;
  font-size: 1.1rem;
  text-align: right;
 }
 .pr-li-1 .price-column {
  font-size: .6rem !important;
  width: 30% !important;
 }
}
.pr-li-2 dt {
 width: 50%;
 padding-bottom: 1em;
 text-align: center;
 font-size: 0.8em;
 padding-right: 1em;
}
.pr-li-2 dd {
 width: 50%;
 padding-bottom: 1em;
 text-align: center;
}
@media screen and (max-width:768px) {
 .pr-li-2 dt {
  width: 50%;
  padding-bottom: 1em;
  text-align: center;
  font-size: 1rem;
  padding-right: 1em;
 }
 .pr-li-2 dd {
  width: 50%;
  padding-bottom: 1em;
  font-size: 1.25rem;
  text-align: right;
 }
}
.price-list dd span {
 font-size: 0.7em;
 padding-left: 0.5em;
 min-width: 35%;
}
@media screen and (max-width:768px) {
 .price-list dd span {
  font-size: 0.78rem;
  padding-left: 0.5em;
 }
}
.price-list p {
 text-align: center;
}
.price-txt-1 {
 font-size: 0.75rem;
 font-weight: normal;
 padding-bottom: 3%;
}
.price-txt-2 {
 padding-bottom: 2.5%;
 padding-top: 0.7em;
 font-size: 0.8rem;
 text-align: center;
}
.price-txt-tax {
 font-size: 0.75rem !important;
 font-weight: normal;
 padding-bottom: 3%;
}
.pr-span {
 color: #f5f5f5;
 background-color: #1f1e1e;
 padding: 0.2em;
 font-size: min(1.1vw, 16px);
}
.price-txt-g {
 color: var(--primarycolor);
 padding-top: 2.7rem;
}
@media screen and (max-width:768px) {
 .pr-under {
  /* padding-bottom: 20% */
 }
 .price-txt-g {
  color: var(--primarycolor);
  font-size: 0.65rem;
  padding-top: 1%;
 }
 .price-txt-1 p {
  font-size: 0.5em;
  font-weight: normal;
  padding-bottom: 3%;
 }
 .price-txt-2 {
  padding-bottom: 5%;
  padding-top: 1rem;
  font-size: 0.83rem;
 }
 .pr-span {
  padding-bottom: 36rem;
  padding-top: 1.2rem;
  font-size: 0.5em;
 }
 .price-txt-2 span {
  margin-bottom: 5%;
  font-size: 0.9rem;
  padding: 0.2em 0.2em;
 }
}
.price_disc {
 max-width: 880px;
 margin: auto;
 text-align: left !important;
 font-size: .9em;
}
.span-sp {
 display: inline-block;
 background-color: #1f1e1e;
}
@media screen and (max-width:768px) {
 .span-sp {
  display: none;
 }
}
.pr-pay {
 width: 45%;
 max-width: 1200px;
 margin: 3% auto;
 color: #1f1e1e;
}
@media screen and (max-width:768px) {
 .pr-pay {
  width: 100%;
  max-width: 1200px;
  margin: 10% auto;
  color: #1f1e1e;
 }
}
.pr-pay p {
 padding-bottom: 3%;
 font-size: 16px;
}
@media screen and (max-width:768px) {
 .pr-pay p {
  padding-bottom: 5%;
  font-size: 0.88rem;
 }
}
.price-contact-btn {
 width: 46%;
 margin: 3rem auto;
 position: relative;
 text-align: center;
}
.price-reservation-btn {
 display: block;
 width: 100%;
 height: 4rem;
 background: #1f1e1e;
 color: #ffffff;
 border: 1px solid #ffffff;
 text-decoration: none;
 font-size: 1.5rem;
 text-align: center;
 line-height: 4rem;
 position: relative;
}
.price-contact-btn::after {
 content: "";
 position: absolute;
 right: 3rem;
 top: 50%;
 border: 6px solid transparent;
 border-top: 7px solid #ffffff;
 transform: rotate(-90deg) translateY(-50%);
}
.price-disclaimer {
 text-align: center;
 color: var(--primarycolor);
 font-size: 1rem;
 padding-top: 1rem;
 padding-bottom: 2rem;
}
@media screen and (max-width:768px) {
 .price-contact-btn {
  width: 80%;
  margin: 2rem auto;
  font-size: 1.2rem;
 }
 .price-reservation-btn {
  height: 3rem;
  font-size: 1.2rem;
  line-height: 3rem;
 }
 .price-contact-btn::after {
  right: 0.8rem;
  top: 42%;
  transform: rotate(-90deg) translateY(-50%);
 }
 .price-disclaimer {
  font-size: 0.7rem;
  padding-top: 0.8rem;
  padding-bottom: 1.5rem;
 }
}
.pr-pay-wrap {
 padding-top: 2.7rem;
 padding-bottom: 3%;
 background-color: #fff;
 padding-left: 16%;
 padding-right: 16%;
}
@media screen and (max-width:768px) {
 .pr-pay-wrap {
  padding-top: 2rem;
  padding-bottom: 3rem;
  padding-left: 1rem;
  padding-right: 1rem;
  background-color: #fff;
 }
}
.credit-lp {
 display: flex;
 justify-content: center;
 padding-bottom: 3%;
}
.credit-sp {
 display: none;
}
.credit-lp img {
 padding: 0.3rem;
}
@media screen and (max-width:768px) {
 .credit-lp {
  display: none;
 }
 .credit-sp {
  display: flex;
  justify-content: center;
  padding-bottom: 5%;
 }
 .credit-sp img {
  padding: 0.3rem;
 }
}
.elect-1-lp {
 display: flex;
 justify-content: center;
}
.elect-1-sp {
 display: none;
}
@media screen and (max-width:768px) {
 .elect-1-lp {
  display: none;
 }
 .elect-1-sp {
  display: flex;
  justify-content: center;
 }
 .elect-1-sp img {
  padding: 0.3rem;
 }
}
.elect-1-lp img {
 padding: 0.3rem;
}
.elect-2-lp {
 display: flex;
 justify-content: center;
}
.elect-2-sp {
 display: none;
}
.elect-2-lp img {
 padding: 0.3rem;
}
@media screen and (max-width:768px) {
 .elect-2-lp {
  display: none;
 }
 .elect-2-sp {
  display: flex;
  justify-content: center;
 }
 .elect-2-sp img {
  padding: 0.3rem;
 }
}
.cr-img-1 {
 width: 3.875rem;
 height: 2.5rem;
 object-fit: cover;
}
.cr-img-2 {
 width: 3.875rem;
 height: 2.5rem;
 object-fit: cover;
}
.cr-img-3 {
 width: 3.875rem;
 height: 2.5rem;
 object-fit: cover;
}
.cr-img-4 {
 width: 3.875rem;
 height: 2.5rem;
 object-fit: cover;
}
.cr-img-5 {
 width: 3.8125rem;
 height: 2.6875rem;
 object-fit: cover;
}
.cr-img-6 {
 width: 3.875rem;
 height: 2.5rem;
 object-fit: cover;
}
.電子マネー1 {
 width: 11.875rem;
 height: 3.125rem;
 object-fit: cover;
 object-position: top 0px left 0px;
}
.電子マネー2 {
 width: 11.875rem;
 height: 3.125rem;
 object-fit: cover;
 object-position: top -2.75px left 0px;
}
.電子マネー3 {
 width: 11.875rem;
 height: 2.5rem;
 object-fit: cover;
 /* object-position: top -75px left 0px; */
}
.電子マネー4 {
 width: 3.4375rem;
 height: 2.8125rem;
 object-fit: cover;
}
.電子マネー5 {
 width: 3.4375rem;
 height: 2.8125rem;
 object-fit: cover;
}
.電子マネー1-p {
 width: 11.875rem;
 height: 2.8125rem;
 object-fit: cover;
 object-position: top 0px left 0px;
}
@media screen and (max-width:768px) {
 .電子マネー1-p {
  object-position: top 0.18rem left 0px;
 }
}
.電子マネー2-p {
 width: 11.875rem;
 height: 2.8125rem;
 object-fit: cover;
 object-position: top -36px left 0px;
}
@media screen and (max-width:768px) {
 .電子マネー2-p {
  object-position: top -1.9rem left 0px;
 }
}
.電子マネー3-p {
 width: 11.875rem;
 height: 2.5rem;
 object-fit: cover;
 object-position: top -4.8rem left 0px;
}
.電子マネー4-p {
 width: 3.4375rem;
 height: 2.8125rem;
 object-fit: cover;
}
.電子マネー5-p {
 width: 3.4375rem;
 height: 2.8125rem;
 object-fit: cover;
}
/*
FAQ
*/
.faq {
    padding-top: 12rem;
    margin-bottom: 6rem;
}
@media screen and (max-width:768px) {
 .faq {
  padding-top: 12%;
  padding-bottom: 0;
  position: relative;
	margin-bottom: 4rem;
 }
}
.faq h2 {
 text-align: center;
 position: relative;
 padding-bottom: 5%;
}
@media screen and (max-width:768px) {
 .faq h2 {
  text-align: center;
  padding-bottom: 2.5rem;
  font-size: 1.13rem;
 }
}
.faq h2::before {
 position: absolute;
 content: "FAQ";
 top: -30%;
 left: 50%;
 transform: translate(-50%, -50%);
 font-size: 5em;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .faq h2::before {
  position: absolute;
  content: "FAQ";
  top: -3%;
  left: 53%;
  transform: translate(-50%, -50%);
  font-size: 2.5em;
  white-space: nowrap;
  z-index: -1;
  color: #f5f5f5;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
}
.qa-1 {
 margin: 3% auto;
 position: relative;
 width: 60vw;
}
.qa-span::after {
 content: "";
 position: absolute;
 display: block;
 top: 1.5em;
 right: 3%;
 border: 10px solid transparent;
 border-top: 12px solid #ffffff;
}
.faq-wrapper {
 margin: auto;
}
@media screen and (max-width:768px) {
 .faq-wrapper {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  width: 100%;
 }
}
.faq-wrapper summary {
 color: #fff;
 text-align: center;
 padding: 1em 0;
 background-color: #000;
 border-radius: 5px 5px 0 0;
 display: block;
}
@media screen and (max-width:768px) {
 .faq-wrapper summary {
  color: #fff;
  text-align: center;
  padding: 1rem 0;
  background-color: #000;
  border-radius: 5px 5px 0 0;
  display: block;
  font-size: 0.88rem;
 }
}
.faq-wrapper summary::-webkit-details-marker {
 display: none;
}
.faq-wrapper .qa-1 p {
 border: 1px solid #000;
 border-radius: 0 0 10px 10px;
 padding: 2em .5em;
 text-align: center;
 margin-bottom: 6%;
}
@media screen and (max-width:768px) {
 .faq-wrapper .qa-1 p {
  border: 1px solid #000;
  border-radius: 0 0 10px 10px;
  padding: 2em 1em;
  text-align: center;
  margin-bottom: 6%;
  font-size: 0.66rem;
 }
}
/*
access
*/
.access {
 padding-top: 12rem;
 padding-bottom: 6rem;
 position: relative;
}
@media screen and (max-width:768px) {
 .access {
  padding-top: 27%;
  padding-bottom: 27%;
 }
}
.access h2 {
 text-align: center;
 font-size: 1.625rem;
 padding-left: 13.5rem;
 padding-right: 9rem;
 position: relative;
}
@media screen and (max-width:768px) {
 .access h2 {
  text-align: center;
  font-size: 1.14rem;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  position: relative;
  width: 100%;
 }
}
.access h3 {
 font-size: 1.1rem;
}
@media screen and (max-width:768px) {
 .access h3 {
  font-size: 1.08rem;
 }
}
.access h2::before {
 position: absolute;
 content: "ACCESS";
 top: -80%;
 left: 51%;
 transform: translate(-50%, -50%);
 font-size: 7.5rem;
 white-space: nowrap;
 z-index: -1;
 color: #f5f5f5;
 font-family: "Jost", sans-serif;
 font-optical-sizing: auto;
 font-weight: 700;
 font-style: normal;
}
@media screen and (max-width:768px) {
 .access h2::before {
  position: absolute;
  content: "ACCESS";
  top: 8%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 2.5rem;
  white-space: nowrap;
  z-index: -1;
  color: #f5f5f5;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
 }
}
.access-wrapper {
 display: flex;
 padding-left: 13.5rem;
 padding-right: 9rem;
 justify-content: space-between;
 padding-top: 9rem;
 /* max-width: 1440px; */
 max-width: calc(100% - 3rem);
 margin: auto;
}
@media screen and (max-width:768px) {
 .access-wrapper {
  display: flex;
  flex-direction: column;
  padding-left: 0rem;
  padding-right: 0rem;
  justify-content: space-between;
  padding-top: 2.2rem;
  width: 100%;
 }
}
.access-txt {
 padding-left: 4.5rem;
}
@media screen and (max-width:768px) {
 .access-txt {
  padding-top: 3rem;
  padding-left: 0%;
 }
}
.access-txt dt {
 padding: 2rem 0 1rem 0;
 font-size: 0.85rem;
}
@media screen and (max-width:768px) {
 .access-txt dd {
  font-size: 0.9rem;
 }
 .access-txt dt {
  padding: 2em 0 0.5em 0;
  font-size: 0.65rem;
 }
}
.access-txt p {
 font-size: 0.8rem;
}
@media screen and (max-width:768px) {
 .access-txt p {
  font-size: 0.65rem;
  padding-top: 2.3%;
 }
}
.access dl {
 font-size: 0.9rem;
}
.access-map {
 width: 100%;
 max-width: 34.625rem;
 aspect-ratio: 5.5 / 3.5;
 border: 0;
}
@media screen and (max-width:768px) {
 .access-map {
  width: 100%;
  max-width: 100%;
  max-height: 20vh;
 }
}
/*
contact
*/
.contact {
 margin-top: 14%;
 color: #ffffff;
 background-color: #1f1e1e;
 padding-top: 2.7rem;
}
@media screen and (max-width:768px) {
 .contact {
  margin-top: 0;
  padding-top: 0;
 }
}
input[type="text"], input[type="email"], input[type="tel"], input[type="date"], .contact-form input, .contact input, form input[type="text"], form input[type="email"], form input[type="tel"], form input[type="date"] {
 width: 100%;
 padding: 0.6% 0;
 color: #1f1e1e !important;
 background-color: #ffffff !important;
}
input[type="text"]::placeholder, input[type="email"]::placeholder, input[type="tel"]::placeholder, input[type="date"]::placeholder, .contact-form input::placeholder, .contact input::placeholder {
 color: #999999;
}
input[type="radio"] {
 width: 5%;
 height: 20%;
}
label {
 font-size: 0.9em;
}
@media screen and (max-width:768px) {
 label {
  font-size: 0.89rem;
  /* margin-bottom: 0.5rem; */
 }
}
.contact h2 {
 font-size: 3.1em;
 text-align: center;
}
@media screen and (max-width:768px) {
 .contact h2 {
  font-size: 2.05rem;
  text-align: center;
  padding-top: 2rem;
  margin-top: 0;
 }
}
.contact h3 {
 text-align: center;
 font-size: 1.2em;
}
@media screen and (max-width:768px) {
 .contact h3 {
  text-align: center;
  font-size: 0.88rem;
 }
}
.rd-cnt-txt-1 {
 width: 8%;
}
.radio-cnt-2 {
 padding-top: 1.3em;
 width: 100%;
 margin-right: auto;
}
.rd-cnt-txt-2 {
 width: 15%;
 padding-bottom: 0.2em;
}
@media screen and (max-width:768px) {
 .rd-cnt-txt-2 {
  width: 25%;
  padding-bottom: 0.2em;
  font-size: 0.89rem;
 }
 .rd-cnt-txt-1 {
  text-align: left;
  width: 15%;
  font-size: 0.89rem;
 }
}
.rd-txt-box {
 display: inline-block;
 color: #1f1e1e;
 background-color: #fff;
 padding: 0.5% 4%;
 text-align: center;
}
@media screen and (max-width:768px) {
 .rd-txt-box {
  display: inline-block;
  color: #1f1e1e;
  background-color: #fff;
  padding: 0.5% 3%;
  margin-top: 10px;
  margin-bottom: 10px;
  text-align: center;
 }
 .rd-txt-box p {
  font-size: 1rem;
 }
}
.contact a {}
.contact-form {
 padding-left: 30%;
 padding-right: 25%;
 padding-bottom: 7%;
}
@media screen and (max-width:768px) {
 .contact-form {
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  padding-bottom: 7.5rem;
  width: 100%;
 }
}
.contact h2 {
 padding-top: 6rem;
 text-align: center;
}
form {
 padding-top: 1rem;
 padding-bottom: 1em;
}
@media screen and (max-width:768px) {
 form {
  padding-top: 0rem;
  padding-bottom: 1em;
 }
}
.contact-content {
 padding-top: 1.3em;
}
.contact-content-2 {
 padding-bottom: 9.5%;
 padding-top: 1.3em;
}
@media screen and (max-width:768px) {
 .contact-content-2 {
  padding-bottom: 17%;
  padding-top: 1.3em;
 }
}
.rd-cnt-m {
 display: flex;
}
.contact-form textarea, .contact textarea, form textarea, .row textarea {
 color: #1f1e1e !important;
 background-color: #ffffff !important;
}
.contact-form textarea::placeholder, .contact textarea::placeholder, form textarea::placeholder, .row textarea::placeholder {
 color: #999999;
}
@media screen and (max-width:768px) {
 .contact-form textarea {
  width: 100%;
  height: 8.2em;
 }
}
.radio-cnt-1 {
 display: block;
 padding-top: 1.3em;
 text-align: left;
}
.submit-btn {
 padding: 1.55% 25.8%;
 align-items: center;
 font-size: 1.5em;
}
@media screen and (max-width:768px) {
 .submit-btn {
  padding: 2% 42%;
  align-items: center;
  font-size: 1em;
 }
}
.submit-content {
 text-align: center;
 position: relative;
}
.submit-content::after {
 content: "";
 position: absolute;
 border: 8px solid transparent;
 border-top: 9px solid #1f1e1e;
 transform: rotate(-90deg);
 left: 75%;
 top: 30%;
}
@media screen and (max-width:768px) {
 .submit-content {
  text-align: center;
 }
}
/*
nav
*/
.nav-section p {
 writing-mode: vertical-rl;
 text-orientation: mixed;
 line-height: 5vw;
 font-size: 0.5rem;
}
.nav-section img {
 padding-top: 1em;
 padding-bottom: 1em;
}
.nav-section ul {
 display: flex;
 justify-content: center;
 list-style: none;
}
.nav-wrapper {
 display: flex;
 flex-direction: column;
}
.nav-box {
 background-color: #1f1e1e;
 text-align: center;
}
.nav-box a {
 color: #ffffff;
 writing-mode: vertical-rl;
 text-orientation: sideways;
 line-height: 5vw;
 padding: 25% 0;
}
/* ホットペッパーボタン */
.hotpepper-box {
 background-color: #E5004F;
 /* background-color: #D95F9F; */
}
.hotpepper-box a {
 color: #ffffff;
 font-weight: 700;
}
.line-logo {
 width: 1.875rem;
 object-fit: cover;
 filter: brightness(0) saturate(100%) invert(58%) sepia(89%) saturate(3158%) hue-rotate(95deg) brightness(95%) contrast(101%);
}
.line-logo-sp {
 width: 1.875rem;
 object-fit: cover;
 filter: brightness(0) saturate(100%) invert(58%) sepia(89%) saturate(3158%) hue-rotate(95deg) brightness(95%) contrast(101%);
}
/* PC版追従バナー下部テキスト */
.nav-bottom-text {
 writing-mode: vertical-rl;
 text-orientation: mixed;
 line-height: 5vw;
 font-size: 0.6em;
 padding-top: 0.4rem;
 padding-bottom: 0.4rem;
}
/* スマホ版のトップナビは既にtop-wrap-2内で定義済み */
/*
footer
*/
.footer {
 color: #1f1e1e;
}
.footer img {
 width: 1.9375rem;
 object-fit: cover;
}
@media screen and (max-width:768px) {
 .footer img {
  width: 14.1vw;
  object-fit: cover;
 }
}
.footer ul {
 list-style: none;
}
.footer-wrapper {
 padding-left: 4.5rem;
 padding-right: 4.5rem;
 padding-top: 0.8rem;
 padding-bottom: 0.8rem;
 display: flex;
 justify-content: space-between;
}
@media screen and (max-width:768px) {
 .footer-wrapper {
  padding-left: 1.25rem;
  padding-top: 2.5rem;
  padding-right: 1.25rem;
  padding-bottom: 4.5rem;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: center;
  text-align: center;
  width: 100%;
 }
}
.footer-left {
 display: flex;
}
.footer-left p {
 line-height: 3.2em;
 padding-left: 1em;
 font-size: 0.8em;
}
@media screen and (max-width:768px) {
 .footer-left p {
  display: none;
 }
}
.footer-list {
 display: flex;
 font-size: 0.8em;
}
@media screen and (max-width:768px) {
 .footer-list {
  display: flex;
  font-size: 0.8rem;
  justify-content: space-between;
 }
}
.footer-list li {
 line-height: 3em;
 padding-right: 2em;
}
.sp {
 display: none;
}
@media screen and (max-width:768px) {
 .footer-list li {
  padding-top: 1rem;
  padding-right: 2em;
 }
}
.footer-sp {
 display: none;
}
@media screen and (max-width:768px) {
 .footer-sp {
  display: block;
  position: fixed;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 10;
  background-color: #f5f5f5;
 }
 .footer-sp-wrapper {
  display: flex;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  padding-bottom: 0.5rem;
  padding-top: 0.5rem;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 3.3rem;
  box-sizing: border-box;
 }
 .ft-sp-img {
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
 }
 .footer-sp-right {
  width: 75%;
  line-height: normal;
 }
 .footer-sp-left {
  width: 15%;
  display: flex;
  align-items: center;
 }
 .footer-sp-left .ft-sp-img {
  width: 1.6rem;
  height: auto;
 }
 .footer-sp-right ul {
  display: flex;
  list-style: none;
  justify-content: space-between;
  align-items: center;
  gap: 0.25rem;
  width: 100%;
 }
 .footer-sp-right li {
  margin: 0;
 }
 .ft-sp-btn {
  flex: 1;
  text-align: center;
 }
 .ft-sp-line {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
 }
 .footer-sp-right li p {
  font-size: 0.8em;
 }
 .ft-sp-txt {
  background-color: #1f1e1e;
  border-radius: 0.5rem;
  padding: 0.45rem 0.3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.5rem;
 }
 .ft-sp-txt a {
  color: #f5f5f5;
  font-size: 0.7rem;
  white-space: nowrap;
  font-weight: bold;
 }
 .ft-sp-hotpepper {
  background-color: #E5004F;
  /* background-color: #D95F9F; */
 }
 .ft-sp-img.line-logo-sp {
  filter: brightness(0) saturate(100%) invert(58%) sepia(89%) saturate(3158%) hue-rotate(95deg) brightness(95%) contrast(101%);
  width: 2rem;
  height: 2rem;
 }
 .pc {
  display: none;
 }
 .sp {
  display: inherit;
 }
}
.contact-banner {
 /* バナーのスタイル */
}
.contact-banner-text h2, .contact-banner-text p {
 /* テキストスタイル */
}
.contact-buttons {
 /* ボタンのラップスタイル */
 margin: 2rem;
}
.button {
 /* 共通のボタンスタイル */
 display: inline-block;
 margin: 10px;
 padding: 0.625rem 20px;
 text-decoration: none;
 color: #fff; /* 例: ボタンテキストの色 */
 background-color: transparent; /* 例: ボタンの背景色 */
 border: 1px solid #fff;
 font-size: 1.5rem;
}
.button-reserve {
 /* 体験予約ボタンの特別なスタイル */
 position: relative;
 width: 30vw;
}
.button-line {
 /* LINE追加ボタンの特別なスタイル */
 width: 30vw;
 background-color: #fff;
 color: #000;
 position: relative;
}
.button-line::after {
 content: "";
 position: absolute;
 border: 6px solid transparent;
 border-top: 7px solid black;
 transform: rotate(-90deg);
 top: 35%;
 right: 2rem;
}
.button-reserve::after {
 content: "";
 position: absolute;
 border: 6px solid transparent;
 border-top: 7px solid #fff;
 transform: rotate(-90deg);
 top: 35%;
 right: 2rem;
}
/* contact追加 */
/* ラジオボタンを含むすべてのdivを横並びにする */
.main-contact {
 margin: auto;
 width: 60vw;
}
.row > form > div {
 display: flex;
 flex-direction: column;
 align-items: flex-start; /* ラベルとラSジオボタンを中央揃えにする */
 gap: 10px; /* ラジオボタンとラベルの間隔を設定 */
 justify-content: space-around;
}
.row > form > div > label {
 margin-top: 2rem;
}
.row input {
 width: 100%;
 height: 2.5rem;
 color: #1f1e1e !important;
 background-color: #ffffff !important;
}
.row input::placeholder {
 color: #999999;
}
.row textarea {
 width: 100%;
 height: 20rem;
 color: #1f1e1e !important;
 background-color: #ffffff !important;
}
.row textarea::placeholder {
 color: #999999;
}
@media screen and (max-width:768px) {
 .row textarea {
  height: 10rem;
 }
}
.contact-side {
 display: flex !important;
 flex-direction: row !important;
 align-items: center;
 list-style: none !important;
}
.contact-side .field-error {
 display: block !important;
 width: 100%;
 margin-top: 0.5rem;
 margin-bottom: 0;
 flex-basis: 100%;
 order: 999;
}
.radio-button {
 display: flex !important;
 flex-direction: row !important;
}
.radio-button label {
 width: 5rem;
}
.radio-button input {
 width: 0.9375rem;
 height: 0.9375rem;
}
.radio-button .date {
 width: 100%;
 height: 100%;
 margin-right: 2rem;
}
/* ラベルが自動的にクリック可能範囲を持つように */
label {
 cursor: pointer;
}
.send {
 width: 50%;
 margin: 3rem auto;
 position: relative;
 font-size: 1.5rem;
}
.send input {
 height: 4rem;
 background: #fff;
 color: #000;
}
.send::after {
 content: "";
 position: absolute;
 right: 3rem;
 border: 6px solid transparent;
 border-top: 7px solid #111;
 transform: rotate(-90deg);
}
@media screen and (max-width:765px) {
 .send {
  font-size: 1.2rem;
 }
 .send input {
  height: 3rem;
 }
 .send::after {
  right: 1rem;
 }
}
/* ベースのラジオボタンを隠す */
input[type="radio"] {
 display: none;
}
/* カスタムラジオボタンのスタイル */
input[type="radio"] + label:before {
 content: '';
 display: inline-block;
 width: 0.9375rem;
 height: 0.9375rem;
 margin-right: 10px;
 border: 2px solid #fff;
 border-radius: 50%;
 background-color: #000;
 vertical-align: middle;
}
/* チェックされたときのスタイル */
input[type="radio"]:checked + label:before {
 width: 0.75rem;
 height: 0.75rem;
 background-color: #fff; /* 選択色を緑に */
}
/* ラベルのカーソルポインターを指に */
label {
 cursor: pointer;
}
.contact h3 {
 margin-bottom: 2rem;
}
.contact p {
 text-align: center;
}
.calender {
 margin-right: 2rem;
}
@media screen and (max-width:728px) {
 .contact-side {
  flex-direction: column !important;
  align-items: flex-start;
  list-style: none !important;
 }
 .contact-side .field-error {
  display: block !important;
  width: 100%;
  margin-top: 0.5rem;
  margin-bottom: 0;
  flex-basis: 100%;
  order: 999;
 }
 .calender {
  margin-bottom: 0.8rem;
  width: 80vw;
 }
 .main-contact {
  width: 80vw;
 }
 .qa-1 {
  width: 80vw;
 }
 .date {
  width: 100%;
 }
}
/*
フォーム関連スタイル（index.phpから移動）
*/
/* フォームエラーメッセージ（各フィールドの横） */
.field-error {
 display: block;
 color: #ff6666 !important;
 font-size: 14px;
 /* margin-top: 8px; */
 font-weight: 500;
 list-style: none !important;
 margin-left: 0 !important;
 padding-left: 0 !important;
}
.error-highlight {
 /* 枠線も背景色も変更しない */
}
/* ラジオボタングループのエラー */
.contact-side.error-highlight {
 /* 枠線は表示しない */
 /* padding: 15px; */
 /* border-radius: 4px; */
 /* background-color: #ffffff; */
}
.contact-side .field-error {
 display: block;
 width: 100%;
 margin-top: 0.5rem;
 margin-bottom: 0;
}
/* テキストエリアの文字色は黒に */
.contact-form textarea, .row textarea, #message {
 color: #1f1e1e !important;
}
/* プレースホルダーの色も調整 */
.contact-form textarea::placeholder, .row textarea::placeholder, #message::placeholder {
 color: #999999;
}
/* 入力フィールドの文字色は黒に */
.contact-form input, .contact-form input[type="text"], .contact-form input[type="email"], .contact-form input[type="tel"], .contact-form input[type="date"], .row input, .row input[type="text"], .row input[type="email"], .row input[type="tel"], .row input[type="date"], #name, #email, #tel, #date {
 color: #1f1e1e !important;
}
/* 入力フィールドのプレースホルダー */
.contact-form input::placeholder, .row input::placeholder {
 color: #999999;
}
@media screen and (max-width: 768px) {
 .field-error {
  color: #ff6666 !important;
  font-size: 13px;
  /* margin-top: 5px; */
  list-style: none !important;
  margin-left: 0 !important;
  padding-left: 0 !important;
 }
 .contact-side .field-error {
  display: block;
  width: 100%;
  margin-top: 0.5rem;
  margin-bottom: 0;
 }
}
.price-txt-small {
 font-size: 0.6rem;
 text-align: left !important;
 margin-top: 1rem;
 font-weight: 600;
}
@media screen and (max-width:768px) {
 .price-txt-small {
  font-size: 0.5rem;
  text-align: left !important;
  margin-top: 0.5rem;
 }
}
.ttx_pr {
 color: var(--primarycolor);
}
.ttx_sub {
 color: var(--secondcolor);
}
.question img {
 object-fit: cover;
}
.qs-lp-img {
 object-fit: cover;
 aspect-ratio: 3 / 2;
}
.qs-sp-img {
 display: none;
}
.strengths {
 margin-bottom: 9rem;
}
@media screen and (max-width:768px) {
 .strengths {
  margin-bottom: 3rem;
 }
 .qs-lp-img {
  display: none;
 }
 .qs-sp-img {
  display: block;
  transform: translateX(9.5%);
  object-fit: cover;
  aspect-ratio: 3 / 2;
 }
}
.question-wrapper {
 padding-right: 4.5rem;
 padding-left: 9rem;
 justify-content: space-between;
 /* max-width: 1440px; */
 max-width: calc(100% - 3rem);
 margin: auto;
}
@media screen and (max-width:768px) {
 .question-wrapper {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  padding-bottom: 1.8rem;
  justify-content: space-between;
  width: 100%;
  max-width: 100%;
  margin: auto;
 }
}
.btn_cl4 {
 display: grid;
 width: 100%;
 gap: 20px;
 grid-template-columns: 1fr 1fr 1fr 1fr;
 max-width: 980px;
 justify-content: center;
 margin: 80px auto auto auto;
}
.btn_cl4 li a {
 display: block;
 border: 1px solid #000;
 text-align: center;
 padding: 0.5rem;
 box-sizing: border-box;
 border-radius: 99px;
 -webkit-border-radius: 99px;
 -moz-border-radius: 99px;
}
.btn_cl4 li a::after {
 content: "";
 transform: rotate(45deg);
 display: block;
 margin: auto;
 width: 10px;
 height: 10px;
 border-bottom: 2px solid #333;
 border-right: 2px solid #333;
}
.btn_cl4 li a:hover {
 background: #E8E8E8;
}
@media screen and (max-width:768px) {
 .btn_cl4 {
  grid-template-columns: 1fr 1fr;
  max-width: 520px;
 }
 .btn_cl4 li a {
  font-size: 19px;
 }
}
.option_wrap {
 margin: auto;
 display: grid;
 grid-template-columns: 13em 28em;
 gap: 15px;
 justify-content: center;
}
.option_wrap .first-box {
 margin-bottom: 0;
 margin-right: 1em;
 padding: 1em;
 display: flex;
 align-items: center;
 justify-content: center;
}
.option_wrap .second-box {
 border: none;
 grid-template-columns: 1fr;
}
.option_wrap .second-box .ttl {
 padding: 1em;
 border: #ffffff solid 1px;
 border-radius: 2px;
 display: grid;
 place-content: left;
 margin-bottom: 0.5em;
 font-size: 1em;
}
.option_wrap .second-box .ttl p {
 text-align: center;
 padding: 0;
}
.option_wrap .second-box big {
 font-size: 1.18em;
}
.option_wrap .second-box p {
 text-align: left;
 padding: .5em .5em 0 .5em;
}
ul.list {
 padding: .5em;
 box-sizing: border-box;
}
ul.list li {
 font-size: 0.8em;
 line-height: 130%;
 margin-bottom: .3em;
}
ul.list li::before {
 content: "・";
}
@media screen and (max-width:768px) {
 .option_wrap {
  grid-template-columns: 1fr;
  gap: 15px;
 }
 .option_wrap .first-box {
  margin-right: 0;
 }
 .option_wrap .first-box p {
  font-size: 1em;
  line-height: 1rem;
 }
 .option_wrap .second-box {
  font-size: initial;
 }
 .option_wrap .second-box big {
  font-size: 1.2em;
 }
 .option_wrap .second-box .ttl p {
  text-align: center;
 }
 .option_wrap .second-box p.ttl_naiyo {
  max-width: 15em;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  letter-spacing: 0.15em;
  text-align: center;
 }
 ul.list {
  max-width: 20em;
  margin: auto;
  padding: .5em 0 .5em .5em;
 }
 ul.list li {
  font-size: 0.9em;
 }
}
.worries {
 color: #ffffff;
 background-image: url(../../images/concept_bg_2.webp);
 text-align: center;
 background-repeat: no-repeat;
 background-size: cover;
 background-position: right top;
 position: relative;
 padding: 6em 1em;
}
.worries h2 {
 font-size: 1.8em;
 text-align: center;
 position: relative;
 margin-bottom: 1.5em;
}
.worries h2::before {
 content: "";
}
.icon_5_worries {
 max-width: 980px;
 width: 100%;
 margin: auto;
 display: flex;
 flex-direction: row;
 align-items: flex-start;
 justify-content: center;
 flex-wrap: wrap;
}
.icon_5_worries li {
 width: 20%;
 padding: 0 15px;
 box-sizing: border-box;
 text-align: center;
}
@media screen and (max-width:768px) {
 .worries h2 {
  font-size: 1.8em;
 }
 .icon_5_worries {
  font-size: 1em;
 }
 .icon_5_worries li {
  width: 50%;
  padding-bottom: 30px;
 }
}
/*
コンタクトバナー
*/
.contact-banner_wrap {
 background-image: url(../../images/cta_bg.webp);
 background-repeat: no-repeat;
 background-size: cover;
 background-position: center;
 color: #ffffff;
 font-weight: normal;
 text-align: center;
 padding: 5em 1em;
}
.contact-banner_wrap.mokuteki {
 margin-top: 13rem;
}
.contact-banner_wrap h2 {
 font-size: 1.7em;
 font-family: Helvetica;
}
.contact-banner_wrap.mokuteki h2 {
 margin-bottom: 1.5em;
}
.contact-banner_wrap p {
 font-size: 0.8em;
 line-height: 2rem;
 margin-bottom: 2em;
}
.cl2_con_box {
 display: grid;
 gap: 2em;
 grid-template-columns: minmax(0, 18em) minmax(0, 18em);
 justify-content: center;
}
.cl1_con_box {
 display: grid;
 gap: 2em;
 grid-template-columns: minmax(0, 18em);
 justify-content: center;
}
.contact-banner_wrap .cl2_con_box p, .contact-banner_wrap .cl1_con_box p {
 font-size: 1.2em;
 line-height: 200%;
 font-weight: bold;
 margin-bottom: 0;
}
.cl2_con_box p.ttx_small, .cl1_con_box p.ttx_small {
 font-size: 1.1em;
}
.cl2_con_box p.ttx_small::after, .cl1_con_box p.ttx_small::after {
 content: "↓";
 display: block;
 text-align: center;
 font-size: 1.2em;
}
.cl2_con_box p.ttx_small.after_ttx_pr::after, .cl1_con_box p.ttx_small.after_ttx_pr::after {
 color: var(--primarycolor);
}
.cl2_con_box p.ttx_small.after_ttx_sub::after, .cl1_con_box p.ttx_small.after_ttx_sub::after {
 color: var(--secondcolor);
}
.cl2_con_box a, .cl1_con_box a {
 position: relative;
 max-width: 13em;
 width: 100%;
 display: inline-block;
 margin: 10px;
 padding: 0.625rem 20px;
 text-decoration: none;
 color: #fff;
 background-color: transparent;
 border: 1px solid #fff;
 font-size: 1.05em;
}
.cl2_con_box a::after, .cl1_con_box a::after {
 content: "";
 position: absolute;
 height: 12px;
 border: 6px solid transparent;
 border-top: 7px solid #fff;
 transform: rotate(-90deg);
 top: 0;
 bottom: 0;
 margin: auto;
 right: 10px;
}
@media screen and (max-width:768px) {
 .contact-banner_wrap {
  aspect-ratio: 4.5/3.5;
  margin-top: 6rem;
  padding-bottom: 4rem;
 }
 .contact-banner_wrap.mokuteki {
  margin-top: 3rem;
 }
 .contact-banner_wrap h2 {
  font-size: 1.25rem;
  font-family: Helvetica;
 }
 .contact-banner_wrap p {
  font-size: 0.75rem;
  line-height: 1rem;
  padding-top: 0.5rem;
 }
 .cl2_con_box {
  grid-template-columns: minmax(0, 18em);
 }
}