@charset "UTF-8";

@import url("https://fonts.googleapis.com/css2?family=Italiana&display=swap");
@font-face {
  font-family: 'footer_bar';
  font-weight: normal;
  font-style: normal;
  font-display:swap;
  src: url('fonts/footer_bar.woff?v=1.2') format('woff');
}

body {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
  color: rgb(37, 38, 42);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

.jp-mincho {
  font-family: "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", serif;
}

.jp-kaku {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
}

.en-italiana {
  font-family: "Minion", serif;
}

.c-heading {
  font-family: "Minion", serif;
  font-weight: 400;
  font-size: 48px;
  line-height: 40px;
  letter-spacing: 0;
  color: rgb(206, 190, 149);
}
.clear { clear:both; }
.hide { display:none; }

/* table */
.post_content table { margin:0 0 24px 0; width:100% !important; }
.post_content td, .post_content th { border:1px solid #ccc; padding:10px 15px; line-height:2.2; background:#fff; }
.post_content th { background:#f2f2f2; font-weight:normal; }
/* table style */
.post_content table.table_no_border th, .post_content table.table_no_border td { border:none; padding-left:0; }
.post_content table.table_border_horizontal th, .post_content table.table_border_horizontal td { border-left:none; border-right:none; padding-left:0; }
body.light_color .post_content td, body.light_color .post_content th { border:1px solid #ccc; background:#fafafa; }
body.light_color .post_content th { background:#eee; }
#menu_list .title_area { background:rgba(52,30,9,0.5); }
#menu_list .title { font-size:28px; }
#menu_list .title span { font-size:16px; }
#menu_list .desc { font-size:16px; }
@media screen and (max-width:750px) {
  #page_header .headline { font-size:22px; }
  #page_header .sub_title { font-size:12px; }
  #catch_area .catch { font-size:20px; }
  #catch_area .desc { font-size:14px; }
  #menu_list .title { font-size:22px; }
  #menu_list .title span { font-size:12px; }
  #menu_list .desc { font-size:14px; }
}
.menu_content1.num0 .headline { font-size:38px; color:#593306; }
.menu_content1.num0 .headline span { font-size:18px; }
.menu_content1.num0 .post_content { font-size:16px; }
@media screen and (max-width:750px) {
  .menu_content1.num0 .headline { font-size:20px; }
  .menu_content1.num0 .headline span { font-size:15px; }
  .menu_content1.num0 .post_content { font-size:14px; }
}
.menu_content2.num1 .headline { font-size:38px; color:#593306; }
.menu_content2.num1 .headline span { font-size:18px; }
.menu_content2.num1 .post_content { font-size:14px; }
.menu_content2.num1 .menu_price_list1 .list_headline { font-size:22px; color:#ffffff; background:#58330d; }
.menu_content2.num1 .menu_price_list2 .list_headline { font-size:22px; color:#ffffff; background:#ad9981; }
.menu_content2.num1 .menu_price_list3 .list_headline { font-size:22px; color:#ffffff; background:#ad9981; }
@media screen and (max-width:750px) {
  .menu_content2.num1 .headline { font-size:20px; }
  .menu_content2.num1 .headline span { font-size:14px; }
  .menu_content2.num1 .post_content { font-size:12px; }
  .menu_content2.num1 .menu_price_list1 .list_headline { font-size:16px; }
  .menu_content2.num1 .menu_price_list2 .list_headline { font-size:16px; }
  .menu_content2.num1 .menu_price_list3 .list_headline { font-size:16px; }
}
.menu_content3.num2 .list_headline { font-size:22px; color:#ffffff; background:#58330d; }
@media screen and (max-width:750px) {
  .menu_content3.num2 .list_headline { font-size:16px; }
}
#single_menu_list .headline { font-size:38px; color:#593306; }
#single_menu_list .headline span { font-size:18px; }
#single_menu_list .menu_list .title_area { background:rgba(52,30,9,0.5); }
#single_menu_list .menu_list .title { font-size:26px; }
#single_menu_list .menu_list .title span { font-size:16px; }
@media screen and (max-width:750px) {
  #single_menu_list .headline { font-size:22px; }
  #single_menu_list .headline span { font-size:12px; }
  #single_menu_list .menu_list .title { font-size:16px; }
  #single_menu_list .menu_list .title span { font-size:10px; }
}

.author_profile a.avatar, .animate_image, .animate_background, .animate_background .image_wrap {
  background: #000000;
}
.animate_image img, .animate_background .image {
  -webkit-width:calc(100% + 30px) !important; width:calc(100% + 30px) !important; height:auto; max-width:inherit !important; position:relative;
    -webkit-transform: translate(-15px, 0px); -webkit-transition-property: opacity, translateX; -webkit-transition: 0.5s;
  transform: translate(-15px, 0px); transition-property: opacity, translateX; transition: 0.5s;
  }
.animate_image:hover img, .animate_background:hover .image {
  opacity:0.8;
    -webkit-transform: translate(0px, 0px);
  transform: translate(0px, 0px);
  }
.animate_image.square img {
  -webkit-width:calc(100% + 30px) !important; width:calc(100% + 30px) !important; height:auto; max-width:inherit !important; position:relative;
    -webkit-transform: translate(-15px, -15px); -webkit-transition-property: opacity, translateX; -webkit-transition: 0.5s;
  transform: translate(-15px, -15px); transition-property: opacity, translateX; transition: 0.5s;
  }
.animate_image.square:hover img {
  opacity:0.8;
    -webkit-transform: translate(0px, -15px);
  transform: translate(0px, -15px);
  }


a { color:#000; }

#header_logo a, #footer_logo a, #comment_headline, .tcd_category_list a:hover, .tcd_category_list .child_menu_button:hover, #post_title_area .post_meta a:hover, #news_list a:hover .date, .index_blog .blog_list .post_meta li a:hover,
  .cardlink_title a:hover, #related_post .item a:hover, .comment a:hover, .comment_form_wrapper a:hover, .author_profile a:hover, .author_profile .author_link li a:hover:before, #post_meta_bottom a:hover,
    #searchform .submit_button:hover:before, .styled_post_list1 a:hover .title_area, .styled_post_list1 a:hover .date, .p-dropdown__title:hover:after, .p-dropdown__list li a:hover, #menu_button:hover:before
  { color: #573312; }

#submit_comment:hover, #cancel_comment_reply a:hover, #wp-calendar #prev a:hover, #wp-calendar #next a:hover, #wp-calendar td a:hover, #p_readmore .button, .page_navi span.current, .page_navi a:hover, #post_pagination p, #post_pagination a:hover, .c-pw__btn:hover, #post_pagination a:hover, .q_styled_ol li:before, .widget_tag_cloud .tagcloud a:hover
  { background-color: #573312; }

#header, #comment_textarea textarea:focus, .c-pw__box-input:focus, .page_navi span.current, .page_navi a:hover, #post_pagination p, #post_pagination a:hover
  { border-color: #573312; }

a:hover, #header_logo a:hover, #footer_logo a:hover, #bread_crumb a:hover, #bread_crumb li.home a:hover:before, #next_prev_post a:hover, #next_prev_post a:hover:before, #schedule_list_headline_pc a:hover:before, #staff_single_header li a:hover:before, #header_social_link li a:hover:before, .blog_list .post_meta li a:hover
  { color: #997551; }
#p_readmore .button:hover
  { background-color: #997551; }
.post_content a, .custom-html-widget a { color:#662c00; }
.post_content a:hover, .custom-html-widget a:hover { color:#997551; }
body { background:; }
#site_loader_logo_inner p { font-size:16px; color:#000000; }
@media screen and (max-width:750px) {
  #site_loader_logo_inner p { font-size:14px; }
}

#index_box_content .item:last-child .desc{ border-right: none; }.styled_h2 {
  font-size:22px !important; text-align:left; color:#000000; background:#fafafa;  border-top:1px solid #222222;
  border-bottom:1px solid #222222;
  border-left:1px solid #222222;
  border-right:1px solid #222222;
  padding:30px 20px 30px 20px !important;
  margin:30px 0px 30px !important;
}
.styled_h3 {
  font-size:20px !important; text-align:left; color:#000000; background:#fafafa;  border-top:2px solid #222222;
  border-bottom:1px solid #dddddd;
  border-left:0px solid #dddddd;
  border-right:0px solid #dddddd;
  padding:30px 0px 30px 20px !important;
  margin:0px 0px 30px !important;
}
.styled_h4 {
  font-size:18px !important; text-align:left; color:#000000; background:#fafafa;  border-top:0px solid #dddddd;
  border-bottom:0px solid #dddddd;
  border-left:2px solid #222222;
  border-right:0px solid #dddddd;
  padding:10px 0px 10px 15px !important;
  margin:0px 0px 30px !important;
}
.styled_h5 {
  font-size:16px !important; text-align:left; color:#000000; background:#fafafa;  border-top:0px solid #dddddd;
  border-bottom:0px solid #dddddd;
  border-left:0px solid #dddddd;
  border-right:0px solid #dddddd;
  padding:15px 15px 15px 15px !important;
  margin:0px 0px 30px !important;
}
.q_custom_button1 { background: #ffffff; color: #58330c !important; border-color: #59340e !important; }
.q_custom_button1:hover, .q_custom_button1:focus { background: #472805; color: #ffffff !important; border-color: #472805 !important; }
.q_custom_button2 { background: #ffffff; color: #58330c !important; border-color: #59340e !important; }
.q_custom_button2:hover, .q_custom_button2:focus { background: #472805; color: #ffffff !important; border-color: #472805 !important; }
.q_custom_button3 { background: #ffffff; color: #58330c !important; border-color: #59340e !important; }
.q_custom_button3:hover, .q_custom_button3:focus { background: #472805; color: #ffffff !important; border-color: #472805 !important; }
.speech_balloon_left1 .speach_balloon_text { background-color: #ffdfdf; border-color: #ffdfdf; color: #000000 }
.speech_balloon_left1 .speach_balloon_text::before { border-right-color: #ffdfdf }
.speech_balloon_left1 .speach_balloon_text::after { border-right-color: #ffdfdf }
.speech_balloon_left2 .speach_balloon_text { background-color: #ffffff; border-color: #ff5353; color: #000000 }
.speech_balloon_left2 .speach_balloon_text::before { border-right-color: #ff5353 }
.speech_balloon_left2 .speach_balloon_text::after { border-right-color: #ffffff }
.speech_balloon_right1 .speach_balloon_text { background-color: #ccf4ff; border-color: #ccf4ff; color: #000000 }
.speech_balloon_right1 .speach_balloon_text::before { border-left-color: #ccf4ff }
.speech_balloon_right1 .speach_balloon_text::after { border-left-color: #ccf4ff }
.speech_balloon_right2 .speach_balloon_text { background-color: #ffffff; border-color: #0789b5; color: #000000 }
.speech_balloon_right2 .speach_balloon_text::before { border-left-color: #0789b5 }
.speech_balloon_right2 .speach_balloon_text::after { border-left-color: #ffffff }

/**********************
* utility
**********************/
:root {
  --vw: 1vw;
}

.u-wid100vw {
  width: calc(var(--vw) * 100);
}

.u-pc {
  display: none;
}

.u-dib {
  display: inline-block;
}

.u-db {
  display: block;
}

.u-center {
  text-align: center;
}

.u-right {
  text-align: right;
}

.u-serif {
  font-family: "Shippori Mincho B1", serif !important;
}

.u-wid__l {
  max-width: 1080px;
  width: 93%;
  margin-left: auto;
  margin-right: auto;
}
.u-wid__l .u-wid__s {
  width: 100%;
}
.u-wid__l .u-wid__m {
  width: 100%;
}

.u-wid__m {
    max-width: 900px;
    width: 93%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 51px;
}
.u-wid__m .u-wid__s {
  width: 100%;
}

.u-wid__s {
  max-width: 800px;
  width: 93%;
  margin-left: auto;
  margin-right: auto;
}

.u-mb__m {
  margin-bottom: 5rem;
}

.u-bold {
  font-weight: 700;
}

.u-black {
  font-weight: 900;
}

.u-attention {
  color: #B53D3D !important;
}

.u-underline {
  text-decoration: underline;
  text-underline-offset: 1px;
}

.u-txt {
  line-height: normal;
}
.u-txt.-mb {
  margin-bottom: 1.56rem !important;
}

.u-mb-48 {
  margin-bottom: 3rem;
}

.u-accent {
  color: rgb(206, 190, 149);
}

.u-accent--dark {
  color: #BFA45F;
}

.u-small{
  font-size: 80%;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/**********************
* 汎用パーツ
**********************/
.c-checkIcon {
  padding-left: 1.8rem;
  text-indent: -1.8rem;
  letter-spacing: -0.006em;
}
.c-checkIcon::before {
  content: url(../img/icon-check.svg);
  padding-right: 0.62rem;
}

.c-youtube {
  padding-top: 56.25%;
  position: relative;
  width: 100%;
}
.c-youtube iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.c-message__from {
  font-size: 1.125rem;
  line-height: 1;
  color: #525761;
}
.c-message__fromCo {
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}
a.btn_27 {
	display: block;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	width: 250px;
	margin-top: 25px;
	padding: 1rem 4rem;
	color: #fff;
	font-weight: bold;
	background: #27acd9;
	position: relative;
	transition: 0.3s ease-in-out;
}
a.btn_27:hover {
    background: #fff;
    color: #27acd9;
}
a.btn_27:before, a.btn_27:after {
  box-sizing: inherit;
  content: "";
  position: absolute;
  border: 2px solid transparent;
  width: 0;
  height: 0;
}
a.btn_27:before {
  top: 0;
  left: 0;
}
a.btn_27:after {
  bottom: 0;
  right: 0;
}
a.btn_27:hover:before, a.btn_27:hover:after {
  width: 100%;
  height: 100%;
}
a.btn_27:hover:before {
  border-top-color: #27acd9;
  border-right-color: #27acd9;
  transition: width 0.15s ease-out, height 0.15s ease-out 0.15s;
}
a.btn_27:hover:after {
  border-bottom-color: #27acd9;
  border-left-color: #27acd9;
  transition: border-color 0s ease-out 0.2s, width 0.15s ease-out 0.2s, height 0.15s ease-out 0.3s;
}

/**********************
* section
**********************/
.hero-visual {
  margin-bottom: 90px;
}

.abundance-message {
  overflow: hidden;
}
.abundance-message__intro {
  position: relative;
  text-align: center;
  margin-bottom: calc(20px + 2.5rem);
}
.abundance-message__intro::before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  content: "";
  background-image: url(../img/logo-bg.svg);
  background-size: cover;
  width: 160px;
  height: 220px;
}
.abundance-message__subtitle {
  font-size: 1.5rem;
  line-height: 2.9166666667;
}
.abundance-message__title {
  font-size: 34px;
  line-height: 1.8421052632;
}
.abundance-message__title span:not(.u-dib) {
  font-size: 38px;
}
.abundance-message__ask {
  font-size: 20px;
}
.abundance-message__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75em;
  line-height: 1.75;
}
.abundance-message__quote {
  font-size: 26px;
  line-height: 1.5;
}
.abundance-message__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 128px;
}
.abundance-message__block > * {
  width: 50%;
}
.abundance-message__image {
  position: relative;
}
.abundance-message__image img {
  position: absolute;
  top: 40px;
  left: -70px;
  width: calc(100% + 170px);
  max-width: calc(100% + 170px);
}
.abundance-message__subheading {
  font-size: 28px;
  line-height: 1;
}
.abundance-message__block2 {
  position: relative;
  padding-top: 128px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 3.5rem;
}
.abundance-message__block2 > * {
  width: 50%;
}
.abundance-message__text2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.75em;
  line-height: 1.75;
  padding-bottom: 100px;
}


.abundance-hero {
  text-align: center;
}
.abundance-hero__title {
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1);
  display: block;
  max-width: 910px;
  pointer-events: none;
}
.abundance-hero__intro {
  background-size: cover;
  background-position: top center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
  padding-bottom: 102px;
  padding-top: 42px;
}
.abundance-hero__description {
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.85;
  margin-bottom: -1.25rem;
}
.abundance-hero__description span:not(.u-dib) {
  font-size: 28px;
}
.abundance-hero__catchphrase {
  font-size: 2rem;
  margin-bottom: 4.5rem;
}
.abundance-hero__highlight {
  font-size: 2.5rem;
}

.checkin {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
}
.checkin .features-header {
  margin-bottom: 1.125rem;
}
.checkin__card-title {
  font-size: 13px;
  line-height: 1.3;
  padding-top: 50px;
  margin-bottom: 0.9rem;
  position: relative;
}

.checkin__card-title--highlight {
  color: #CCB98A;
  font-size: 2.3rem;
  line-height: 1.25;
}
.checkin__note {
  font-weight: 300;
  font-size: 1rem;
  color: #CCB98A;
  display: block;
  line-height: 1;
  margin-top: -2px;
}
.checkin__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  margin: 0 auto 1.5rem;
  gap: 1rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.checkin__card-content picture {
  -webkit-box-flex: 152;
      -ms-flex: 152;
          flex: 152;
  width: 100%;
}
.checkin__card-description {
  -webkit-box-flex: 205;
      -ms-flex: 205;
          flex: 205;
  font-size: 15px;
  line-height: 1.6428571429;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.checkin__card-area {
  max-width: 700px;
  margin: 0 auto 2.25rem;
  border: 1px solid #CEBE95;
}
.checkin__card-box {
  border: 1px solid rgba(206, 190, 149, 0.6);
  background-color: rgba(255, 255, 255, 0.6);
  margin: 4px;
}
.checkin__headline {
  font-size: 2rem;
  line-height: 1.375;
  margin-bottom: 1.25rem;
  margin-top: 1rem;
}
.checkin__headline--highlight .u-accent {
  font-size: 40px;
}
.checkin__message--bg {
  max-width: 814px;
  margin: auto;
  background-image: url(../img/checkin-message-bg.png);
  background-size: contain;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%;
}
.checkin__note-box {
  max-width: 527px;
  padding: 0.5rem;
  margin: auto;
  background: rgba(255, 255, 255, 0.4);
  border: 1px solid rgba(206, 190, 149, 0.4);
  font-size: 12px;
  line-height: 1.4;
}
.checkin__note-text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  position: relative;
  padding-left: 1.3em;
}
.checkin__note-text::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "※";
}

.floor-guide {
  position: relative;
  padding-bottom: 6rem;
  -webkit-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  background-color: #ffffff;
  overflow: hidden;
}

.floor-guide .features-header {
  padding-top: 74px;
  position: relative;
  margin: 0 auto 88px;
  max-width: 920px;
  width: 90%;
}
.floor-guide .features-header::after {
  position: absolute;
  left: -80px;
  bottom: -60px;
  content: "";
  width: calc(100% + 160px);
  height: 1px;
  background-color: rgb(206, 190, 149);
}
.floor-guide__section {
  position: relative;
  max-width: 920px;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  z-index: 1;
}
.floor-guide__section::before {
  position: absolute;
  left: -80px;
  bottom: 0;
  content: "";
  width: calc(100% + 160px);
  height: 1px;
  background-color: #ffffff;
}
.floor-guide__section::after {
  top: 0;
  left: -80px;
  position: absolute;
  content: "";
  background-size: cover;
  background-repeat: repeat;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  opacity: 0;
  width: calc(100% + 160px);
  height: 100%;
  display: block;
  z-index: -1;background-color: #ffffff;
}
.floor-guide__section:hover::after {
  opacity: 1;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.lounge__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  width: 100%;
  margin-bottom: 32px;
}
.lounge__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
}
.lounge__title, .lounge__text {
  aspect-ratio: auto;
  -webkit-box-flex: 58;
      -ms-flex: 58;
          flex: 58;
  min-width: 0;
}
.lounge__name, .lounge__image-wrapper {
  aspect-ratio: auto;
  -webkit-box-flex: 30;
      -ms-flex: 30;
          flex: 30;
  min-width: 0;
}
.lounge__name {
  font-size: 80px;
  font-weight: normal;
  background: url("../img/glitter.jpg") repeat center;
  background-size: contain;
  -webkit-background-clip: text;
  color: transparent;
  background-clip: text;
  display: block;
  font-size: 32px;
}
.lounge__number {
  font-size: 40px;
  display: block;
  letter-spacing: 0.01em;
  line-height: 0.75;
}
.lounge__catch {
  font-weight: 300;
  font-size: 20px;
  line-height: 2.4;
  color: #CCB98A;
}
.lounge__subtitle {
  font-weight: 300;
  font-size: 30px;
  line-height: 1.3333333333;
  color: #CCB98A;
}
.lounge__text {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5em;
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: 0;
}
.lounge__image-wrapper {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
  position: relative;
  min-height: 220px;
  width: 100%;
  aspect-ratio: 4/3; /* or 16 / 9, etc. お好みで */
  overflow: hidden;
}
.lounge__image {
  width: 100%;
  display: block;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
  position: absolute;
  top: 0;
  left: 0;
}
.lounge__image--default {
  opacity: 1;
  z-index: 1;
}
.lounge__image--hover {
  opacity: 0;
  z-index: 2;
}

/* ホバー時に切り替え */
.lounge:hover .lounge__image--default {
  opacity: 0;
}

.lounge:hover .lounge__image--hover {
  opacity: 1;
}

.lesson-schedule {
  margin-top: 1.7rem;
  border: 1px dashed rgb(206, 190, 149);
  padding: 1rem 1rem 0.75rem;
  background-color: rgba(255, 255, 255, 0.8);
}
.lesson-schedule__title {
  font-size: 30px;
  letter-spacing: 0.04em;
  text-align: center;
  color: rgb(204, 185, 138);
  margin-bottom: 1.25rem;
  line-height: 1.2;
}
.lesson-schedule__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  font-size: 14px;
}
.lesson-schedule__item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  margin-bottom: 13px;
}
.lesson-schedule__date {
  text-align: right;
  display: block;
  width: 40px;
}

.guest-experience {
  overflow: hidden;
  background-size: cover;
  background-position: bottom left;

  padding-bottom: 4rem;
  margin-bottom: 4rem;
}
.guest-experience .features-header {
  margin-bottom: 3rem;
}

.guest-card {
  position: relative;
  padding-right: 332px;
  min-height: 368px;
  background-color: #fff;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  margin-top: 2.25rem;
}
.guest-card__content {
  max-width: 510px;
  margin-left: 4rem;
  width: 100%;
}
.guest-card__category {
  position: relative;
  left: -6rem;
  z-index: 1;
  font-size: 25px;
  line-height: 1.1875;
  border-bottom: 1px solid rgb(206, 190, 149);
  margin-bottom: 1.5rem;
  padding-left: 0.5rem;
}
.guest-card__title {
  font-size: 28px;
  margin-bottom: 1.25rem;
  line-height: 1.4285714286;
}
.guest-card__button {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 24px;
  gap: 13px;
  width: 200px;
  height: 32px;
  border: 1px solid #CEBE95;
  border-radius: 16px;
  font-size: 14px;
  color: rgb(206, 190, 149);
}
.guest-card__description {
  font-size: 15px;
  line-height: 1.6666666667;
}
.guest-card__image {
  max-width: 262px;
}
.guest-card__image img {
  position: absolute;
  right: -3rem;
  top: 1rem;
  max-width: 262px;
}

.features {
  overflow: hidden;
}

.features-header {
  text-align: center;
  padding-top: 74px;
  position: relative;
  margin-bottom: 3rem;
}
.features-header::before {
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  content: "";
  background-image: url(../img/logo-ar.svg);
  background-size: cover;
  display: inline-block;
  width: 54px;
  height: 74px;
}
.features-header__subtitle {
  font-weight: 300;
  font-size: 14px;
  line-height: 2.8571428571;
}
.features-header__title {
  font-family: "Minion", serif;
  font-size: 32px;
  line-height: 1.25;
  margin-top: 4px;
}
.features-header__title span {
  font-size: 48px;
  line-height: 0;
  display: inline-block;
  color: rgb(206, 190, 149);
}

.features__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding: 40px 24px;
  line-height: 1.5;
}
.features__list-bg {
  position: relative;
}
.features__list-bg::before {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
  content: "";
  background-image: url(../img/features-bg.svg);
  background-repeat: repeat-x;
  width: 100%;
  height: 288px;
  display: block;
}
.features__list-wrapper {
  position: relative;
  background-color: rgba(255, 254, 251, 0.8); /* 塗り */
}
.features__list-wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  border: 8px solid transparent;
  -o-border-image: linear-gradient(to left, #C7B687, #E4DBC3, #CAB889);
     border-image: -webkit-gradient(linear, right top, left top, from(#C7B687), color-stop(#E4DBC3), to(#CAB889));
     border-image: linear-gradient(to left, #C7B687, #E4DBC3, #CAB889);
  border-image-slice: 1;
  pointer-events: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.features__list li {
  position: relative;
  padding-left: 2.5rem;
  margin-bottom: 1rem;
}
.features__list li:last-child {
  margin-bottom: 0;
}
.features__list li::before {
  position: absolute;
  left: 0;
  top: 2px;
  content: "";
  background-image: url(../img/features-list-icon.svg);
  background-size: contain;
  background-repeat: no-repeat;
  width: 24px;
  height: 24px;
}

.main-message {
  background-image: url(../img/message-bg.jpg);
  min-height: 480px;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: left top;
  width: 100%;
  padding-top: 140px;
  margin-bottom: 4rem;
}
.main-message__text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  padding-left: 8rem;
  -webkit-font-smoothing: antialiased;
}
.main-message__intro {
  font-size: 28px;
  line-height: 2.5714285714;
}
.main-message__heading {
  font-size: 38px;
  line-height: 1.7368421053;
}
.main-message__heading .u-accent--dark {
  font-size: 43px;
  line-height: 1.5348837209;
  position: relative;
}


.owner-message__title {
  font-size: 24px;
  color: rgb(191, 164, 95);
  font-family: "Minion", serif;
  font-weight: 400;
  line-height: 0.9;
  margin-bottom: 2rem;
}
.owner-message__title span {
  font-size: 72px;
}
.owner-message__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 3rem;
  color: rgb(37, 38, 42);
}
.owner-message__text {
  width: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.8em;
  font-size: 14px;
  line-height: 1.7142857143;
}
.owner-message__text .highlight {
  color: #A0843B;
  font-size: 18px;
  line-height: 1.8888888889;
}
.owner-message__text .highlight span {
  background-color: rgba(191, 164, 95, 0.16);
  padding: 0 0.125rem;
  display: inline-block;
  line-height: 1.3;
}

.p-faq {
  padding-top: 4rem;
  padding-bottom: 4rem;
  margin-bottom: 3rem;
  width: 100%;
  overflow: hidden;
}
.p-faq__display {
  position: relative;
}
.p-faq__display::before {
  content: "";
  background-image: url(../img/faq-display.svg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 355px;
  position: absolute;
  top: -0.5rem;
  right: -114px;
  height: 355px;
  aspect-ratio: 1/1;
  z-index: -1;
  opacity: 0.4;
}
.p-faq .c-accordion__item {
  position: relative;
  border: 1px solid rgba(206, 190, 149, 0.7);
  margin-bottom: 1rem;
  background-color: #fff;
}
.p-faq .c-accordion__item::before, .p-faq .c-accordion__item::after {
  content: "";
  position: absolute;
  background-color: rgba(206, 190, 149, 0.7);
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.p-faq .c-accordion__item::before {
  top: 33px;
  right: 1.5rem;
  width: 12px;
  height: 1px;
}
.p-faq .c-accordion__item::after {
  top: 33px;
  right: calc(1.5rem + 5.5px);
  width: 1px;
  height: 12px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-faq .c-accordion__item:has(.c-accordion__title.-open)::before {
  top: 3rem;
}
.p-faq .c-accordion__item:has(.c-accordion__title.-open)::after {
  top: 3rem;
  opacity: 0;
}
.p-faq .c-accordion__title {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  padding: 1.25rem 2.5rem 1.25rem 4.25rem;
  position: relative;
  line-height: 1.5;
  cursor: pointer;
}
.p-faq .c-accordion__title::before {
  position: absolute;
  top: 0.6em;
  left: 1.5rem;
  content: "Q";
  font-family: "Italiana", serif;
  font-size: 28px;
  line-height: 33px;
  color: #BFA45F;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.p-faq .c-accordion__title.-open {
  padding: 2.25rem 2.5rem 1.5rem 4.25rem;
}
.p-faq .c-accordion__title.-open::before {
  top: 1.1em;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.p-faq .c-accordion__contents {
  position: relative;
  padding-left: 4.25rem;
  padding-right: 2.5rem;
  padding-bottom: 2rem;
}
.p-faq .c-accordion__contents::before {
  position: absolute;
  top: -2px;
  left: 1.5rem;
  content: "A";
  font-family: "Italiana", serif;
  font-size: 28px;
  line-height: 33px;
  color: #BFA45F;
}

.overview {
  margin-bottom: 4rem;
}

.overview-conainer {
  margin-bottom: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.overview-conainer__item {
  width: 50%;
}
.overview-conainer__item > .overview-content:first-of-type {
  border-top: 1px solid rgba(206, 190, 149, 0.7);
}
.overview-conainer__item > .overview-content:last-of-type dt {
  border-bottom: 1px solid rgba(206, 190, 149, 0.7);
}

.overview-content {
  width: 100%;
  font-size: 13px;
  line-height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-right: 1px solid rgba(206, 190, 149, 0.7);
}
.overview-content dt {
  min-height: calc(56px - 1rem);
  height: auto;
  background-color: rgba(206, 190, 149, 0.7);
  width: 150px;
  padding: 0.5rem 1rem;
  font-weight: normal;
  border-right: 1px solid rgba(206, 190, 149, 0.7);
  border-bottom: 1px solid #fff;
  line-height: 40px;
}
.overview-content dd {
  padding: 0.5rem 1rem;
  width: calc(100% - 150px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px solid rgba(206, 190, 149, 0.7);
}
.overview-content.-payment figure {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  max-width: 320px;
}
.overview-content .list-item {
  position: relative;
  padding-left: 0.8rem;
  padding-right: 0.125rem;
  line-height: 1.35;
  margin-bottom: 0.5em;
}
.overview-content .list-item:last-child {
  margin-bottom: 0;
}
.overview-content .list-item::before {
  position: absolute;
  left: 0;
  top: 6px;
  content: "";
  width: 5px;
  height: 5px;
  background: rgba(206, 190, 149, 0.7);
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.terms {
  margin-bottom: 3rem;
  padding: 1rem;
  height: 200px;
  border: 1px solid rgba(206, 190, 149, 0.7);
  overflow: auto;
  font-size: 12px;
  line-height: 1.5;
  margin-bottom: 1.5rem;
}
.terms .terms_detail {
  max-width: 720px;
  margin: auto;
}
.terms .terms_detail h3 {
  font-size: 16px;
  margin-bottom: 1rem;
  text-align: center;
}
.terms .terms_detail h4 {
  margin-bottom: 0.25rem;
}
.terms .terms_detail h5 {
  margin-top: 0.5rem;
}
.terms .terms_detail ol {
  margin-bottom: 0.25rem;
  margin-top: 0.25rem;
}
.terms .wrap {
  margin-top: 1.25rem;
}
/* ボタン */
#footer_button { text-align:center; margin-top:29px; }
#footer_button a {
  font-size:16px; display:inline-block; min-width:250px; height:60px; line-height:60px; border:1px solid #ccc;
  -webkit-transition: all 0.2s ease; transition: all 0.2s ease;
}


/* SNSボタン */
#footer_social_link { margin:0; font-size:0; z-index:20; padding-bottom:20px; }
#footer_social_link li { display:inline-block; margin:0 10px; position:relative; }
#footer_social_link li a {
  display:block; overflow:hidden; width:30px; height:30px; line-height:20px; text-align:center; position:relative;
}
#footer_social_link li a span { display:none; }
#footer_social_link li a:before {
  font-family:'design_plus'; font-size:15px; display:block;
  position:absolute; top:1px; left:0; right:0;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
#footer_social_link li a:hover:before { color:#aaa; }
.cta_btn05 {
  font-weight: bold; /* 文字の太さ */
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1em 2em 1em calc(5em - 15px);
  transition: 0.3s;
  text-decoration: none;
  color: #fff; /* 文字色 */
  border-radius: 0.5rem;
  background: #45B173; /* 背景色 */
  box-shadow: 0 5px 0 #19934e;
  margin-left: 10px;
}

.cta_btn05 p {
  margin: 0;
}

.cta_btn05 .cta_btn05_copy {
  position: absolute;
  bottom: 0.5em;
  left: -10px;
  display: inline-block;
  width: 5em;
  height: 5em;
  line-height: 5em;
  text-align: center;
  color: #45B173;
  font-size: 80%;
  font-weight: bold;
  background: #fff;
  border: 3px solid #45B173;
  border-radius: 50%;
  box-sizing: border-box;
  transform: rotate(-10deg);
}

.cta_btn05 .cta_btn05_copy::before {
  position: absolute;
  content: "";
  bottom: -5px;
  right: -10px;
  border: 9px solid transparent;
  border-left: 15px solid #FFF;
  z-index: 0;
  transform: rotate(45deg);
}

/* マウスオーバーした際のデザイン */
.cta_btn05:hover {
  transform: translate(0, 3px);
  background: #45B173; /* 背景色 */
  box-shadow: 0 2px 0 #19934e;
}
.contact-btn {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0px 1rem;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  height: 2rem;
  border: 1px solid rgba(206, 190, 149, 0.7);
}

.cta .c-heading {
  margin-bottom: 2.25rem;
}
.cta small {
  font-size: 14px;
  display: block;
}

.cta--bg {
    padding: 4rem 1rem;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-color: #fafafa;
}

.cta-btn {
  max-width: 870px;
  width: 100%;
  display: block;
  margin: auto;
  margin-bottom: -9px;
}

.cta--hover {
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
@media screen and (min-width: 769px) {
    .cta--hover:hover {
        -webkit-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        opacity: 0.7;
    } 
}

.l-footer {
  padding: 1rem;
}
.l-footer__copyright {
  font-size: 1rem;
  line-height: 21px;
}

.fixed-cta {
  position: fixed;
  bottom: 40px;
  right: 40px;
  width: 120px;
  height: 120px;
  z-index: 9998;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1;
  pointer-events: auto;
}

.fixed-cta.hide {
  opacity: 0;
  pointer-events: none;
}

#loader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  height: 100vh;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
  -webkit-transition: opacity 1.5s ease-out 1.5s;
  transition: opacity 1.5s ease-out 1.5s;
}
#loader.fade-out {
  opacity: 0;
  pointer-events: none;
}
#loader .loader-text, #loader .loader-logo {
  position: relative;
  z-index: 999;
  -webkit-transition: opacity 1s ease-in;
  transition: opacity 1s ease-in;
}

.loader-bg {
  background-image: url(../img/hover-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 100dvh;
  height: 100vh;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
  gap: 1rem;
  top: 0;
  left: 0;
  position: absolute;
  z-index: 998;
  -webkit-mask-image: none;
  mask-image: none;
  -webkit-mask-image: linear-gradient(100deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 25%, rgb(0, 0, 0) 50%);
  mask-image: linear-gradient(100deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 25%, rgb(0, 0, 0) 50%);
  mask-position: 100% 0%;
  -webkit-mask-position: 100% 0%;
  transition: -webkit-mask-position 1.25s ease-in, mask-position 1.25s ease-in;
  -webkit-mask-size: 300% 100%;
  mask-size: 300% 100%;
}

#loader.fade-out .loader-bg {
  -webkit-mask-position: 0% 100%;
  mask-position: 0% 100%;
}
#loader.fade-out .loader-logo, #loader.fade-out .loader-text {
  opacity: 0;
}

/***************************************************
 * loading animation TEXT
 **************************************************/
@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-1 {
  -webkit-animation: animate-svg-fill-1 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s both;
  animation: animate-svg-fill-1 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s both;
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-2 {
  -webkit-animation: animate-svg-fill-2 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.25s both;
  animation: animate-svg-fill-2 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.25s both;
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-3 {
  -webkit-animation: animate-svg-fill-3 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.3s both;
  animation: animate-svg-fill-3 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.3s both;
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-4 {
  -webkit-animation: animate-svg-fill-4 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.35s both;
  animation: animate-svg-fill-4 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.35s both;
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-5 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.4s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.4s both;
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-6 {
  -webkit-animation: animate-svg-fill-6 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.45s both;
  animation: animate-svg-fill-6 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.45s both;
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-7 {
  -webkit-animation: animate-svg-fill-7 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.5s both;
  animation: animate-svg-fill-7 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.5s both;
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-8 {
  -webkit-animation: animate-svg-fill-8 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.55s both;
  animation: animate-svg-fill-8 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.55s both;
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-9 {
  -webkit-animation: animate-svg-fill-9 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.6s both;
  animation: animate-svg-fill-9 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.6s both;
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-10 {
  -webkit-animation: animate-svg-fill-10 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.65s both;
  animation: animate-svg-fill-10 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.65s both;
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-11 {
  -webkit-animation: animate-svg-fill-11 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7s both;
  animation: animate-svg-fill-11 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7s both;
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-12 {
  -webkit-animation: animate-svg-fill-12 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.75s both;
  animation: animate-svg-fill-12 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.75s both;
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(204, 185, 138);
  }
}
.laoding-text-svg-13 {
  -webkit-animation: animate-svg-fill-13 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.8s both;
  animation: animate-svg-fill-13 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.8s both;
}

/***************************************************
 * loading animation LOGO
 **************************************************/
@-webkit-keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-1 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-1 {
  -webkit-animation: animate-svg-fill-1 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s both;
  animation: animate-svg-fill-1 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.2s both;
}

@-webkit-keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-2 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-2 {
  -webkit-animation: animate-svg-fill-2 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.25s both;
  animation: animate-svg-fill-2 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.25s both;
}

@-webkit-keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-3 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-3 {
  -webkit-animation: animate-svg-fill-3 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.3s both;
  animation: animate-svg-fill-3 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.3s both;
}

@-webkit-keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-4 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-4 {
  -webkit-animation: animate-svg-fill-4 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.35s both;
  animation: animate-svg-fill-4 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.35s both;
}

@-webkit-keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-5 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-5 {
  -webkit-animation: animate-svg-fill-5 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.4s both;
  animation: animate-svg-fill-5 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.4s both;
}

@-webkit-keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-6 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-6 {
  -webkit-animation: animate-svg-fill-6 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.45s both;
  animation: animate-svg-fill-6 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.45s both;
}

@-webkit-keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-7 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-7 {
  -webkit-animation: animate-svg-fill-7 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.5s both;
  animation: animate-svg-fill-7 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.5s both;
}

@-webkit-keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-8 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-8 {
  -webkit-animation: animate-svg-fill-8 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.55s both;
  animation: animate-svg-fill-8 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.55s both;
}

@-webkit-keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-9 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-9 {
  -webkit-animation: animate-svg-fill-9 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.6s both;
  animation: animate-svg-fill-9 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.6s both;
}

@-webkit-keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-10 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-10 {
  -webkit-animation: animate-svg-fill-10 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.65s both;
  animation: animate-svg-fill-10 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.65s both;
}

@-webkit-keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-11 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-11 {
  -webkit-animation: animate-svg-fill-11 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7s both;
  animation: animate-svg-fill-11 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.7s both;
}

@-webkit-keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-12 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-12 {
  -webkit-animation: animate-svg-fill-12 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.75s both;
  animation: animate-svg-fill-12 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.75s both;
}

@-webkit-keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-13 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-13 {
  -webkit-animation: animate-svg-fill-13 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.8s both;
  animation: animate-svg-fill-13 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.8s both;
}

@-webkit-keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-14 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-14 {
  -webkit-animation: animate-svg-fill-14 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.85s both;
  animation: animate-svg-fill-14 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.85s both;
}

@-webkit-keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-15 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-15 {
  -webkit-animation: animate-svg-fill-15 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.9s both;
  animation: animate-svg-fill-15 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.9s both;
}

@-webkit-keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
@keyframes animate-svg-fill-16 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(206, 190, 149);
  }
}
.loader-logo-svg-16 {
  -webkit-animation: animate-svg-fill-16 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.95s both;
  animation: animate-svg-fill-16 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 0.95s both;
}

@-webkit-keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
@keyframes animate-svg-fill-17 {
  0% {
    fill: transparent;
  }
  100% {
    fill: rgb(255, 255, 255);
  }
}
.loader-logo-svg-17 {
  -webkit-animation: animate-svg-fill-17 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1s both;
  animation: animate-svg-fill-17 0.7s cubic-bezier(0.445, 0.05, 0.55, 0.95) 1s both;
}

/*****************************************
* ページごと
*****************************************/

@media screen and (max-width:1200px) {
  .abundance-message__block2 {
    padding-top: 3rem;
  }
  .abundance-message__image2 img, .abundance-message__image img {
    position: relative;
    width: 100%;
    left: 0;
    right: 0;
    top: 0;
    max-width: 400px;
    margin: auto;
    display: block;
  }
  .abundance-message__image2 {
    margin-right: 2.5rem;
  }
  .abundance-message__image3 {
    display: none;
  }
  .abundance-message__text2 {
    padding-bottom: 2.5rem;
  }
}

@media screen and (max-width:768px) {
  body {
    font-size: 1.125rem;
  }
  .c-heading {
    font-size: 36px;
  }
  .u-sp {
    display: none;
  }
  .u-pc {
    display: block;
  }
  .u-wid__l {
    max-width: 500px;
  }
  .u-wid__m {
    max-width: 500px;
  }
  .u-wid__s {
    max-width: 500px;
  }
  .u-txt {
    line-height: 1.6;
  }
  .c-message__fromCo {
    font-size: calc(14 / 16 * 1rem);
  }
  .hero-visual {
    margin-bottom: 3rem;
  }
  .abundance-message__intro {
    margin-bottom: 60px;
  }
  .abundance-message__intro::before {
    width: 120px;
    height: 164px;
  }
  .abundance-message__subtitle {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0.5rem;
  }
  .abundance-message__title {
    font-size: 22px;
    line-height: 1.8;
  }
  .abundance-message__title span:not(.u-dib) {
    font-size: 26px;
  }
  .abundance-message__block, .abundance-message__block2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
  .abundance-message__block > *, .abundance-message__block2 > * {
    width: 100%;
  }
  .abundance-message__block {
    margin-bottom: 2.5rem;
  }
  .abundance-message__block2 {
    padding-top: 0;
  }
  .abundance-message__ask {
    font-size: 1rem;
    line-height: 1.5;
  }
  .abundance-message__text {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  .abundance-message__text, .abundance-message__text2 {
    text-align: center;
    font-size: 14px;
    line-height: 1.5;
    margin-bottom: 2.5rem;
  }
  .abundance-message__text2 {
    padding-bottom: 0;
  }
  .abundance-message__quote {
    font-size: 20px;
    line-height: 1.5;
  }
  .abundance-message__subheading {
    font-size: 22px;
    line-height: 1.2727272727;
  }
  .abundance-message__image {
    right: 0;
  }
  .abundance-message__image2 {
    left: -3.5%;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .abundance-hero__intro {
    padding-top: 2rem;
    padding-bottom: 28px;
  }
  .abundance-hero__description {
    font-size: 18px;
    line-height: 1.5;
    margin-bottom: 0;
  }
  .abundance-hero__description span:not(.u-dib) {
    font-size: 18px;
    line-height: 1.5;
  }
  .abundance-hero__title {
    max-width: 352px;
    margin-bottom: -0.75rem;
    margin-top: -1.25rem;
  }
  .abundance-hero__catchphrase {
    font-size: 20px;
    line-height: 1.3333333333;
    margin-bottom: 4rem;
  }
  .abundance-hero__highlight {
    font-size: 30px;
  }
  .checkin {
    padding-top: 2.5rem;
    margin-bottom: 2.5rem;
  }
  .checkin__card-title {
    margin-bottom: 0;
    font-size: 15px;
    line-height: 1.8571428571;
    padding-top: 50px;
  }
  .checkin__card-title::before {
    top: 16px;
    width: 24px;
    height: 24px;
  }
  .checkin__card-title--highlight {
    font-size: 24px;
    line-height: 1.25;
  }
  .checkin__note {
    font-size: 14px;
    line-height: 1.4285714286;
  }
  .checkin__card-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    text-align: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .checkin__card-description {
    font-size: 14px;
    line-height: 1.5;
    margin-top: 5px;
	padding: 15px;
  }
  .checkin__question img {
    max-width: 168px;
  }
  .checkin__headline {
    margin-top: 12px;
    font-size: 24px;
  }
  .checkin__headline--highlight .u-accent {
    font-size: 28px;
  }
  .checkin__message--bg {
  }
  .checkin__note-box {
    font-size: 10px;
  }
  .checkin__card-image{
    max-width: 200px;
  }
  .floor-guide {
    padding-bottom: 3rem;
  }
  .floor-guide::before {
    width: 300px;
    height: 681px;
    right: -11px;
  }
  .floor-guide .features-header {
    margin-bottom: 1.5rem;
    padding-top: 55px;
  }
  .floor-guide .features-header::after {
    bottom: -1.5rem;
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    max-width: 500px;
  }
  .floor-guide__section {
    padding-top: 0;
    padding-bottom: 1rem;
  }
  .floor-guide__section::before, .floor-guide__section::after {
    width: 100%;
    left: 0;
  }
  .lounge__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2.5rem;
  }
  .lounge__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    font-size: 28px;
    line-height: 1.5;
    gap: 0.5rem;
  }
  .lounge__number {
    display: inline-block;
    line-height: 1;
    font-size: 72px;
    letter-spacing: -0.03em;
  }
  .lounge__header {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    width: 91%;
    margin: 0 auto 1.5rem;
  }
  .lounge__catch {
    font-size: 15px;
    line-height: 1.6;
  }
  .lounge__subtitle {
    font-size: 25px;
    line-height: 1.4;
  }
  .lounge__content {
    width: 91%;
    margin: 0 auto;
    gap: 0.75rem;
  }
  .lounge__image-wrapper {
    aspect-ratio: 33/22;
  }
  .lounge__text {
    font-size: 14px;
  }
  .lesson-schedule {
    padding-bottom: 10px;
    width: 91%;
    margin: 1.5rem auto 0;
  }
  .lesson-schedule__title {
    font-size: 24px;
  }
  .lesson-schedule__list {
    font-size: 11px;
    width: 100%;
  }
  .lesson-schedule__item {
    gap: 10px;
    margin-bottom: 1rem;
  }
  .lesson-schedule__date {
    text-align: right;
    display: block;
    width: 24px;
  }
  .lesson-schedule__text {
    width: calc(100% - 24px - 10px);
  }
  .guest-experience {
    padding-top: 2.5rem;
    padding-bottom: 5rem;
    margin-bottom: 2.5rem;
  }
  .guest-experience .features-header {
    margin-bottom: 1.5rem;
  }
  .guest-experience .features-header__title span {
    line-height: 1;
  }
  .guest-card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 1.5rem 20px 0.75rem;
    margin-top: 1.5rem;
  }
  .guest-card__category {
    width: calc(100% + 40px);
    left: calc(-20px - 0.5rem);
    font-size: 29px;
    line-height: 1.1875;
    padding-left: 1rem;
    margin-bottom: 10px;
  }
  .guest-card__title {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 0.75rem;
  }
  .guest-card__description {
    font-size: 14px;
    line-height: 1.5;
  }
  .guest-card__content {
    margin-left: 0;
  }
  .guest-card__image {
    max-width: 100%;
    width: 100%;
  }
  .guest-card__image img {
    max-width: 100%;
    width: 100%;
    position: relative;
    top: 0;
    right: 0;
    margin-top: 1.25rem;
  }
  .guest-card__button {
    width: 180px;
    font-size: 12px;
  }
  .features-header {
    padding-top: 55px;
    margin-bottom: 1.5rem;
  }
  .features-header::before {
    width: 40px;
    height: 55px;
  }
  .features-header__subtitle {
    font-size: 12px;
    line-height: 2;
  }
  .features-header__title span {
    font-size: 36px;
  }
  .features-header__title .-large {
    font-size: 42px;
  }
  .features__list {
    font-size: 14px;
  }
  .features__list-bg {
    background-image: none;
  }
  .features__list-wrapper::before {
    border-width: 6px;
  }
  .features__list li {
    padding-left: 1.5rem;
  }
  .features__list li::before {
    width: 16px;
    height: 16px;
  }
  .main-message {
    min-height: 360px;
    background-image: url(../img/message-bg_sp.jpg);
    background-position: left top;
    text-align: center;
    padding-top: 82px;
  }
  .main-message__text {
    padding-left: 0;
  }
  .main-message__heading {
    font-size: 24px;
  }
  .main-message__heading .u-accent--dark {
    font-size: 24px;
    left: 0;
  }
  .main-message__heading .-small_sp {
    font-size: 22px;
  }
  .main-message__intro {
    font-size: 18px;
  }
  .owner-message {
    padding-bottom: 0;
  }
  .owner-message__title {
    font-size: 16px;
    margin-bottom: 1.5rem;
  }
  .owner-message__title span {
    font-size: 48px;
  }
  .owner-message__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.5rem;
    margin-bottom: 2rem;
  }
  .owner-message__text {
    width: 100%;
    line-height: 1.5714285714;
  }
  .p-faq {
    padding-bottom: 0;
    margin-bottom: 3.5rem;
    padding-top: 3.5rem;
  }
  .p-faq__display::before {
    width: 200px;
    height: 200px;
    right: -48px;
  }
  .p-faq .c-heading {
    margin-bottom: 2rem;
  }
  .p-faq .c-accordion {
    font-size: 14px;
  }
  .p-faq .c-accordion__item {
    margin-bottom: 0.5rem;
  }
  .p-faq .c-accordion__item::before {
    top: 28px;
    width: 11px;
  }
  .p-faq .c-accordion__item::after {
    height: 11px;
    top: 28.5px;
    right: calc(1.5rem + 5px);
  }
  .p-faq .c-accordion__item:has(.c-accordion__title.-open)::before {
    top: 28px;
  }
  .p-faq .c-accordion__item:has(.c-accordion__title.-open)::after {
    top: 28px;
  }
  .p-faq .c-accordion__title {
    padding: 1.125rem;
    padding-left: 2.65rem;
    padding-right: 2.5rem;
  }
  .p-faq .c-accordion__title::before {
    font-size: 20px;
    left: 1rem;
  }
  .p-faq .c-accordion__title.-open {
    padding: 1rem;
    padding-left: 2.65rem;
    padding-right: 2.5rem;
  }
  .p-faq .c-accordion__title.-open::before {
    top: 0.5em;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
  }
  .p-faq .c-accordion__contents {
    margin-top: -6px;
    padding-bottom: 1rem;
    padding-left: 2.65rem;
    padding-right: 1rem;
    line-height: 1.5;
  }
  .p-faq .c-accordion__contents::before {
    font-size: 20px;
    left: 1rem;
  }
  .overview {
    margin-bottom: 3.5rem;
  }
  .overview .c-heading {
    margin-bottom: 1.5rem;
  }
  .overview-conainer {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    margin-bottom: 1.5rem;
  }
  .overview-conainer__item {
    width: 100%;
  }
  .overview-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    border-left: 1px solid rgba(206, 190, 149, 0.7);
  }
  .overview-content dt, .overview-content dd {
    width: 100%;
  }
  .overview-content dt {
    padding: 9px 0 6px;
    text-align: center;
    line-height: 1;
    min-height: 32px;
  }
  .overview-content dd {
    padding: 0.6rem 1rem;
  }
  .terms {
    margin-bottom: 0.5rem;
  }
  .terms-text {
    font-size: 12px;
  }
  .cta .c-heading {
    margin-bottom: 1.5rem;
  }
  .cta small {
    font-size: 10px;
    line-height: 15px;
  }
  .cta--bg {
    background-image: url(../img/cta-bg_sp.png);
    background-color: inherit;
  }
  /* .cta--hover:hover {
    opacity: 1;
  } */
  .l-footer {
    padding: 10px;
  }
  .l-footer__copyright {
    font-size: 14px;
    display: block;
  }
  .fixed-cta {
    /* display: none; */
    width: 92%;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
  }
  #loader .loader-text {
    text-align: center;
  }
  #loader .loader-text svg {
    width: 90%;
  }
  #loader .loader-logo {
    text-align: center;
  }
  #loader .loader-logo svg {
    max-width: 64px;
  }
}

@media screen and (max-width:481px) {
  .abundance-message__image, .abundance-message__image2 {
    width: calc(var(--vw) * 100);
    max-width: calc(var(--vw) * 100);
  }
  .abundance-message__image img, .abundance-message__image2 img {
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
  }
}
/*# sourceMappingURL=style.css.map */
