@charset "utf-8";
/* ===================================================================
CSS information

  file name  :page.css
  style info :各ページ
=================================================================== */

/* -----------------------------------------------------------
  TOP
----------------------------------------------------------- */
#top .main .mv_box .main_resp .main_img {
  display: none;
}

#top .main .mv_box {
  background-image: url(../img/top/main_img01.jpg);
  background-position: top right;
  background-repeat: no-repeat;
  background-size: contain;
  display: flex;
  align-items: center;
  height: calc(95vh - 90px);
  position: relative;
  z-index: 1;
}

#top .main .mv_box .catchphrase {
  background-color: #ffffff;
  padding: 50px 65px 50px 10vw;
  position: relative;
  z-index: 1;
  width: 46vw;
}

#top .main .mv_box .catchphrase .main_ttl {
  font-size: 4.2rem;
  line-height: 1.2;
}

#top .main .mv_box .catchphrase .sub_ttl {
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 20px;
}

#top .main .mv_box .catchphrase .catch_lead {
  margin-top: 20px;
}

#top .main .mv_box .catch_en {
  position: absolute;
  bottom: 5vw;
  right: 10vw;
}

#top .main .mv_box .catch_en .catch_img {
  line-height: 0;
  width: 25vw;
}

#top .main .sv_box {
  display: flex;
  padding: 0 10vw 7.5vw;
  position: relative;
  z-index: 2;
}

#top .main .sv_box .pic_box {
  flex: 0 1 30vw;
  margin-top: -5vw;
}

#top .main .sv_box .txt_box {
  flex: 1 1;
  margin-left: 10vw;
  margin-top: 7.5vw;
}

#top .main .sv_box .txt_box .sv_lead_box .sv_lead:not(:first-of-type) {
  margin-top: 100px;
}

#top .main .sv_box .txt_box .sv_lead_box .sv_lead .ttl {
  font-size: 2.4rem;
}

#top .main .sv_box .txt_box .sv_lead_box .sv_lead .lead {
  margin-top: 15px;
}

#top .container #concept_sec {
  padding: 7.5vw 0;
}

#top .container #concept_sec .ttl_en .ttl {
  width: 44vw;
}

#top .container #concept_sec .contents .concept_box > section:not(:first-of-type) {
  margin-top: 50px;
}

#top .container #concept_sec .contents .concept_box > section .concept_main {
  display: flex;
  position: relative;
  z-index: 0;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .pic_box {
  flex: 0 1 50vw;
  position: relative;
  z-index: 1;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .pic_box picture {
  position: relative;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .pic_box picture span {
  color: #ffffff;
  position: absolute;
  top: 10px;
  left: 10px;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box {
  background-color: #ffffff;
  flex: 1 1;
  height: calc(90vh - 100px);
  margin-left: -100px;
  margin-top: 100px;
  padding: 100px 10vw 100px calc(100px + 100px);
  position: relative;
  z-index: 0;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box .concept_txt span {
  display: block;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box .concept_txt .concept_num {
  line-height: 0;
  width: 150px;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box .concept_txt .booth_name {
  line-height: 0;
  margin-top: 30px;
  width: 300px;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box .concept_txt .concept_ttl {
  margin-top: 30px;
}

#top .container #concept_sec .contents .concept_box > section .txt_box .concept_ttl {
  border-bottom: 1px solid #000000;
  font-size: 3.2rem;
  line-height: 1.3;
  padding-bottom: 20px;
}

#top .container #concept_sec .contents .concept_box > section .txt_box .concept_lead {
  line-height: 1.8;
  margin-top: 20px;
}

#top .container #concept_sec .contents .concept_box > section .concept_sub {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  padding: 0 10vw;
  position: relative;
  z-index: 1;
}

#top .container #concept_sec .contents .concept_box > section .concept_sub .txt_box {
  flex: 0 1 33vw;
  margin-right: 50px;
}

#top .container #concept_sec .contents .concept_box > section .concept_sub .pic_box {
  flex: 0 1 20vw;
  margin-top: -12vw;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box .catch_en {
  position: absolute;
  top: -50px;
  right: 5vw;
}

#top .container #concept_sec .contents .concept_box > section .concept_main .txt_box .catch_en .catch_img {
  line-height: 0;
  width: 18vw;
}

#top .container #services_sec {
  background-image: url(../img/common/geometric_bg.png);
  background-position: bottom left;
  background-repeat: repeat-x;
  background-size: 80%;
  padding: 7.5vw 10vw;
}

#top .container #services_sec .ttl_en .ttl {
  width: calc(100% - 2vw);
}

#top .container #services_sec .contents .facility_box {
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  width: calc(100% + 50px);
}

#top .container #services_sec .contents .facility_box .facility {
  display: flex;
  flex-direction: column;
  width: calc(100% / 3 - 50px);
}

#top .container #services_sec .contents .facility_box .facility .txt_box {
  background-color: #000000;
  color: #ffffff;
  flex: 1 1;
  padding: 40px;
}

#top .container #services_sec .contents .facility_box .facility .txt_box .head_box {
  border-bottom: 1px solid #ffffff;
  padding-bottom: 0.5em;
}

#top .container #services_sec .contents .facility_box .facility .txt_box .head_box .facility_ttl_en {
  font-size: 1.4rem;
}

#top .container #services_sec .contents .facility_box .facility .txt_box .head_box .facility_ttl {
  font-size: 2.4rem;
}

#top .container #services_sec .contents .facility_box .facility .txt_box .lead_box {
  margin-top: 15px;
}

#top .container #services_sec .contents .facility_box .facility .txt_box .lead_box > p:not(:first-of-type) {
  line-height: 1.4;
  margin-top: 0.5em;
}

#top .container #services_sec .contents .facility_box .facility .txt_box .lead_box .note {
  font-size: 1.5rem;
}

#top .container #floormap_sec {
  background-color: #ffffff;
  padding: 7.5vw 10vw;
}

#top .container #floormap_sec .contents .floormap {
  position: relative;
}

#top .container #floormap_sec .contents .floormap .phrase {
  position: absolute;
  bottom: -3vw;
  right: -3vw;
  width: 20vw;
}

#top .container #access_sec {
  padding-top: 7.5vw;
}

#top .container #access_sec .ttl_en .ttl {
  width: 38vw;
}

#top .container #access_sec .contents .access {
  display: flex;
  justify-content: space-between;
  margin-left: 10vw;
}

#top .container #access_sec .contents .access .txt_box {
  flex: 0 1 34vw;
  xmargin-right: 75px;
}

#top .container #access_sec .contents .access .txt_box .store_name .tagline {
  font-size: 1.4rem;
}

#top .container #access_sec .contents .access .txt_box .store_name .store_logo {
  display: flex;
  align-items: baseline;
  margin-top: 20px;
}

#top .container #access_sec .contents .access .txt_box .store_name .store_logo .logo {
  line-height: 0;
  width: 210px;
}

#top .container #access_sec .contents .access .txt_box .store_name .store_logo .jp {
  margin-left: 20px;
}

#top .container #access_sec .contents .access .txt_box .access_txt {
  font-size: 1.8rem;
  margin-top: 50px;
}

#top .container #access_sec .contents .access .txt_box .access_txt > ul > li {
  border-bottom: 1px solid #cecece;
  padding: 15px 0;
}

#top .container #access_sec .contents .access .txt_box .access_txt > ul > li:first-of-type {
  border-top: 1px solid #cecece;
}

#top .container #access_sec .contents .access .txt_box .access_txt > ul > li > dl {
  display: flex;
}

#top .container #access_sec .contents .access .txt_box .access_txt > ul > li > dl > dt {
  flex: 0 1 7em;
}

#top .container #access_sec .contents .access .txt_box .access_txt > ul > li > dl > dd {
  flex: 1 1;
}

#top .container #access_sec .contents .access .txt_box .access_txt > ul > li > dl > dd span:first-of-type {
  margin-right: 0.5em;
}

#top .container #access_sec .contents .access .pic_box {
  flex: 0 1 49vw;
}

#top .container #access_sec .contents .access .pic_box picture img {
  height: 70vh;
  object-fit: cover;
}

#top .container #access_sec .contents .map iframe {
  height: 450px;
}

/* -----------------------------------------------------------
  よくあるご質問 - 運営会社
----------------------------------------------------------- */
.faq .main {
  background-image: url(../img/faq/faq_main.jpg);
}

.faq .container #faq_sec {
  padding: 7.5vw 10vw;
}

.faq .container #faq_sec .ttl_en .ttl {
  width: 54vw;
}

.faq .container #faq_sec .contents .faq_box {
  background-color: #ffffff;
  padding: 50px;
}

.faq .container #faq_sec .contents .faq_box > dl {
}

.faq .container #faq_sec .contents .faq_box > dl:not(:first-of-type) {
  margin-top: 20px;
}

.faq .container #faq_sec .contents .faq_box > dl > dt {
  border: 1px solid #cecece;
  cursor: pointer;
  font-weight: 700;
  padding: 20px 60px 20px 20px;
  position: relative;
}

.accordion-title:before {
  position: absolute;
  content: "";
  top: 50%;
  right: 25px;
  height: 2px;
  width: 15px;
  background: #000000;
  transform: rotate(90deg);
  transition: transform .3s ease-in-out;
}

.accordion-title:after {
  position: absolute;
  content: "";
  top: 50%;
  right: 25px;
  height: 2px;
  width: 15px;
  background: #000000;
  transition: atransformll .3s ease-in-out;
}

.accordion-title.open:before {
  transform: rotate(180deg);
}

.accordion-title.open:after {
  opacity: 0;
}

.accordion-text {
  display: none;
  padding: 20px;
}

.faq .container #faq_sec .contents .faq_box > dl > dt > div,
.faq .container #faq_sec .contents .faq_box > dl > dd > div {
  display: flex;
  align-items: baseline;
}

.faq .container #faq_sec .contents .faq_box > dl > dt > div:before,
.faq .container #faq_sec .contents .faq_box > dl > dd > div:before {
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1;
  height: 40px;
  width: 40px;
  margin-right: 1.25em;
}

.faq .container #faq_sec .contents .faq_box > dl > dt > div:before {
  background-color: #000000;
  content: "Q";
}

.faq .container #faq_sec .contents .faq_box > dl > dd > div:before {
  background-color: #43849f;
  content: "A";
}

.faq .container #faq_sec .contents .faq_box > dl > dt > div > span,
.faq .container #faq_sec .contents .faq_box > dl > dd > div > span {
  flex: 1 1;
}

.faq .container #profile_sec {
  background-color: #ffffff;
  padding: 7.5vw 10vw;
}

.faq .container #profile_sec .ttl_en .ttl {
  width: 40vw;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li {
  border-bottom: 1px solid #cecece;
  padding: 30px 0;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li:first-of-type {
  border-top: 1px solid #cecece;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl {
  display: flex;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dt {
  flex: 0 1 12em;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd {
  flex: 1 1;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl {
  display: flex;
  margin-top: 20px;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl:first-of-type {
  margin-top: 0;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl.g_code > dt span {
  display: block;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl.g_code > dt .tagline {
  font-size: 1.0rem;
  letter-spacing: 0.05em;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl.g_code > dt .logo {
  line-height: 0;
  margin-bottom: 8px;
  margin-top: 8px;
  width: 100px;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl.g_code > dt .jp {
  font-size: 1.0rem;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl > dt {
  flex: 0 1 12em;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl > dd {
  flex: 1 1;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl > dd .add span:nth-of-type(1) {
  margin-right: 0.5em;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl > dd .tel {
  margin-top: 5px;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl > dd .tel span:nth-of-type(1):after {
  content: "：";
  margin: 0 0.15em;
}

.profile .container #profile_sec .contents .profile_box .profile_list > li > dl > dd > dl > dd .map {
  margin-top: 20px;
}

/* -----------------------------------------------------------
  会員料金 - ご利用方法
----------------------------------------------------------- */
.price .main {
  background-image: url(../img/price/price_main.jpg);
}

.price .container #price_sec {
  padding: 7.5vw 10vw;
}

.price .container #price_sec .ttl_en .ttl {
  width: 65vw;
}

.price .container #price_sec .contents .price_box {
  background-color: #ffffff;
  padding: 75px;
}

.price .container #price_sec .contents .price_box .plan_box {
  display: flex;
  gap: 30px;
}

.price .container #price_sec .contents .price_box .plan_box .plan {
  display: flex;
  flex-direction: column;
  width: calc(100% / 4);
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_head {
  color: #ffffff;
  padding: 15px;
  text-align: center;
}

.price .container #price_sec .contents .price_box .plan_box .plan.weekday .plan_head {
  background-color: #16656d;
}

.price .container #price_sec .contents .price_box .plan_box .plan.standard .plan_head {
  background-color: #2f6d87;
}

.price .container #price_sec .contents .price_box .plan_box .plan.gold .plan_head {
  background-color: #5b5e03;
}

.price .container #price_sec .contents .price_box .plan_box .plan.corporate .plan_head {
  background-color: #000000;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_head .plan_ttl_en {
  font-size: 1.2rem;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_head .plan_ttl_jp {
  font-size: 2.0rem;
  margin-top: 5px;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body {
  background-color: #ffffff;
  border-bottom: 1px solid #cecece;
  border-left: 1px solid #cecece;
  border-right: 1px solid #cecece;
  flex: 1 1;
  padding: 25px;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul {
  font-size: 1.5rem;
  line-height: 1.3;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li {
  border-bottom: 1px dashed #cecece;
  padding-bottom: 20px;
  padding-top: 20px;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li:first-of-type {
  padding-top: 0;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li > dl {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li > dl > dt {
  color: #8b8b8b;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li > dl.monthly dd {
  display: flex;
  align-items: baseline;
}

.price .container #price_sec .contents .price_box .plan_box .plan .plan_body > ul > li > dl.monthly dd .fee {
  font-size: 2.4rem;
}

.price .container #price_sec .contents .price_box .option_box {
  border: 1px solid #cecece;
  font-size: 1.8rem;
  margin-top: 30px;
  padding: 30px;
}

.price .container #price_sec .contents .price_box .option_box ul {
  line-height: 1.4;
}

.price .container #price_sec .contents .price_box .option_box ul li {
  display: flex;
  margin-top: 10px;
}

.price .container #price_sec .contents .price_box .option_box ul li:first-of-type {
  margin-top: 0;
}

.price .container #price_sec .contents .price_box .option_box ul li .option_main:before {
  content: "■";
  margin-right: 0.25em;
}

.price .container #price_sec .contents .price_box .option_box ul li .option_sub {
  margin-left: 50px;
}

.price .container #price_sec .contents .price_box .note_box {
  font-size: 1.4rem;
  margin-top: 20px;
}

.price .container #price_sec .contents .price_box .note_box ul {
  line-height: 1.4;
}

.price .container #price_sec .contents .price_box .note_box ul li {
  display: flex;
  margin-top: 0.15em;
}

.price .container #price_sec .contents .price_box .note_box ul li:first-of-type {
  margin-top: 0;
}

.price .container #price_sec .contents .price_box .note_box ul li:before {
  content: "※";
  margin-right: 0.1em;
}

.price .container #price_sec .contents .btn_box {
  margin-top: 100px;
}

.price .container #price_sec .contents .btn_box ul {
  display: flex;
  gap: 50px;
}

.price .container #price_sec .contents .btn_box ul li {
  flex: 1 1;
}

.price .container #price_sec .contents .btn_box ul li a {
  flex-direction: column;
}

.price .container #price_sec .contents .btn_box ul li .btn_ttl {
  font-size: 2.4rem;
}

.price .container #price_sec .contents .btn_box ul li .notice {
  font-size: 1.2rem;
}

.price .container #system_sec {
  background-color: #ffffff;
  padding: 7.5vw 10vw;
}

.price .container #system_sec .ttl_en .ttl {
  width: 38vw;
}

.price .container #system_sec .contents .flow_box > ol {
  counter-reset: number;
  position: relative;
  z-index: 0;
}

.price .container #system_sec .contents .flow_box > ol:before {
  border-right: 2px dotted #cecece;
  content: "";
  height: 100%;
  width: 1px;
  position: absolute;
  top: 0;
  left: 125px;
  z-index: -1;
}

.price .container #system_sec .contents .flow_box > ol > li:not(:first-of-type) {
  margin-top: 30px;
}

.price .container #system_sec .contents .flow_box > ol > li > dl {
  display: flex;
  align-items: baseline;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dt {
  background-color: #ffffff;
  border: 1px solid #cecece;
  display: flex;
  align-items: center;
  height: 70px;
  width: 220px;
  padding: 20px;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dt:before {
  background-color: #000000;
  content: counter(number, decimal-leading-zero);
  counter-increment: number;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1;
  height: 50px;
  width: 50px;
  margin-left: calc(-25px + -20px);
  margin-right: 1.25em;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd {
  flex: 1 1;
  margin-left: 30px;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd > ul {
  margin-top: 15px;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd > ul > li {
  margin-top: 15px;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd > ul > li:first-of-type {
  margin-top: 0;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd > ul > li > dl {
  display: flex;
  align-items: baseline;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd > ul > li > dl > dt {
  background-color: #000000;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  width: 140px;
}

.price .container #system_sec .contents .flow_box > ol > li > dl > dd > ul > li > dl > dd {
  flex: 1 1;
  margin-left: 20px;
}

.price .container #sns_sec {
  padding: 7.5vw 10vw;
}

.price .container #sns_sec .social_box ul li {
  border-bottom: 1px solid #cecece;
  padding: 50px 7.5vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.price .container #sns_sec .social_box ul li:first-of-type {
  border-top: 1px solid #cecece;
}

.price .container #sns_sec .social_box ul li .sns_name {
  display: flex;
  align-items: center;
  flex: 1 1;
}

.price .container #sns_sec .social_box ul li .sns_name .name {
  font-size: 4.0rem;
}

.price .container #sns_sec .social_box ul li .sns_name .desc {
  font-size: 1.7rem;
  margin-left: 50px;
}

.price .container #sns_sec .social_box ul li .qr_code {
  margin-left: 30px;
  width: 200px;
}