@charset "UTF-8";

/* -------------------- resetCSS -------------------- */
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body {
  line-height: 1;
}

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

ul,
li {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* -------------------- restCSS end -------------------- */

@import url("https://fonts.googleapis.com/css2?family=GFS+Didot&display=swap");

body {
  color: #191919;
  font-family: "Noto Serif JP", serif;
  font-size: 14px;
  font-weight: 400;
  background-color: #ffffff;
}

img {
  width: 100%;
  height: auto;
}

a {
  color: inherit;
  text-decoration: none;
}

.tab-down-only {
  display: none;
}
@media screen and (max-width: 959px) {
  .tab-down-only {
    display: block;
  }
}

.tab-up-only {
  display: block;
}
.tab-up-only.shop {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .tab-up-only {
    display: none;
  }
  .tab-up-only.shop {
    display: none;
  }
}

.pc-only {
  display: block;
}
@media screen and (max-width: 959px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.delay01 {
  -webkit-animation-delay: 0.1s;
  animation-delay: 0.1s;
}

.delay02 {
  -webkit-animation-delay: 0.2s;
  animation-delay: 0.2s;
}

.delay03 {
  -webkit-animation-delay: 0.3s;
  animation-delay: 0.3s;
}

.delay04 {
  -webkit-animation-delay: 0.4s;
  animation-delay: 0.4s;
}

.delay05 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}

.delay06 {
  -webkit-animation-delay: 0.6s;
  animation-delay: 0.6s;
}

.delay07 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.delay08 {
  -webkit-animation-delay: 0.8s;
  animation-delay: 0.8s;
}

.delay09 {
  -webkit-animation-delay: 0.9s;
  animation-delay: 0.9s;
}

.delay10 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.delay12 {
  -webkit-animation-delay: 1.2s;
  animation-delay: 1.2s;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInUp-half {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp-half {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 10%, 0);
    transform: translate3d(0, 10%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUp-half {
  -webkit-animation-name: fadeInUp-half;
  animation-name: fadeInUp-half;
}

@-webkit-keyframes fadeInLeft-half {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft-half {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-20%, 0, 0);
    transform: translate3d(-20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeft-half {
  -webkit-animation-name: fadeInLeft-half;
  animation-name: fadeInLeft-half;
}

@-webkit-keyframes fadeInRight-half {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight-half {
  from {
    opacity: 0;
    -webkit-transform: translate3d(20%, 0, 0);
    transform: translate3d(20%, 0, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRight-half {
  -webkit-animation-name: fadeInRight-half;
  animation-name: fadeInRight-half;
}

.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}

.fadeIn__long {
  -webkit-animation-duration: 3s !important;
  animation-duration: 3s !important;
}

.fadeInLeft__long {
  -webkit-animation-duration: 3s !important;
  animation-duration: 3s !important;
}

.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
  -webkit-animation-duration: 1.2s !important;
  animation-duration: 1.2s !important;
}

@-webkit-keyframes slideInUp {
  0% {
    -webkit-transform: translateY(70px);
    transform: translateY(70px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes slideInUp {
  0% {
    -webkit-transform: translateY(70px);
    transform: translateY(70px);
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
.not-link {
  opacity: 0.7 !important;
  pointer-events: none !important;
}

.not-link--2 {
  pointer-events: none !important;
}

.l-mv {
  padding-top: 109px;
}
@media screen and (max-width: 959px) {
  .l-mv {
    padding-top: 60px;
  }
}

.l-info {
  padding-top: 58px;
  padding-bottom: 80px;
}

@media screen and (max-width: 767px) {
  .l-info {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

.l-inner {
  margin: 0 auto;
  max-width: 1200px;
  padding: 0 100px;
}
@media screen and (max-width: 959px) {
  .l-inner {
    padding: 0 20px;
  }
}

.l-top-location {
  padding-bottom: 90px;
}
@media screen and (max-width: 959px) {
  .l-top-location {
    padding-bottom: 60px;
  }
}

.l-top-plan {
  padding-top: 40px;
  padding-bottom: 200px;
}
@media screen and (max-width: 959px) {
  .l-top-plan {
    padding-bottom: 80px;
  }
}

.l-top-contact {
  padding-bottom: 100px;
}
@media screen and (max-width: 959px) {
  .l-top-contact {
    padding-bottom: 60px;
  }
}
/* 
.l-cta {
  margin-top: 70px;
  margin-bottom: 40px;
}
.l-cta.page {
  margin-top: 160px;
}
@media screen and (max-width: 959px) {
  .l-cta {
    margin-top: 40px;
  }
  .l-cta.page {
    margin-top: 80px;
  }
} */

.l-about {
  margin-top: 109px;
  margin-bottom: 260px;
  padding-top: 69px;
}
@media screen and (max-width: 959px) {
  .l-about {
    margin-bottom: 120px;
  }
}

.l-page {
  margin-top: 109px;
  overflow-x: hidden;
}
.l-page.plan {
  overflow-x: auto;
}

.l-page:last-child {
  padding-bottom: 120px;
}
@media screen and (max-width: 959px) {
  .l-page {
    margin-top: 55px;
  }
}

@media screen and (max-width: 767px) {
  .l-page:last-child {
    padding-bottom: 60px;
  }
}

.l-page.design,
.l-page.kurashi,
.l-page.formPage {
  padding-bottom: 0;
}

.l-select {
  margin-top: 50px;
}
@media screen and (max-width: 959px) {
  .l-select {
    margin-top: 30px;
  }
}

.l-select-top {
  margin-bottom: 76px;
}
@media screen and (max-width: 959px) {
  .l-select-top {
    margin-bottom: 40px;
  }
}

.l-select-section {
  margin-bottom: 150px;
}
@media screen and (max-width: 959px) {
  .l-select-section {
    margin-bottom: 100px;
  }
}

.l-swiper {
  width: 100%;
  overflow: hidden;
}
.l-swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear;
  transition-timing-function: linear;
}
.l-swiper .swiper {
  overflow: visible;
}
.l-swiper .swiper-slide {
  width: 340px;
  height: 197px;
}
@media screen and (max-width: 959px) {
  .l-swiper .swiper-slide {
    width: 250px;
    height: 140px;
  }
}
.l-swiper .swiper-slide .achievement-slide {
  width: 100%;
  height: 100%;
}
.l-swiper .swiper-slide .achievement-slide .achievement-slide__img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.l-achievement {
  margin-top: 82px;
}
@media screen and (max-width: 959px) {
  .l-achievement {
    margin-top: 62px;
  }
}

.l-change {
  margin-top: 70px;
}
@media screen and (max-width: 959px) {
  .l-change {
    margin-top: 30px;
  }
}

.l-change-smart {
  margin-top: 78px;
}
@media screen and (max-width: 959px) {
  .l-change-smart {
    margin-top: 95px;
  }
}

.l-change-bigbang {
  margin-top: 130px;
}
@media screen and (max-width: 959px) {
  .l-change-bigbang {
    margin-top: 94px;
  }
}

.l-change-hakata {
  margin-top: 130px;
}
@media screen and (max-width: 959px) {
  .l-change-hakata {
    margin-top: 94px;
  }
}

.l-facility {
  margin-top: 46px;
}
@media screen and (max-width: 959px) {
  .l-facility {
    margin-top: 20px;
  }
}

.l-top-banner {
  margin: 0 auto;
  max-width: 1300px;
  padding: 0 50px 40px;
}
@media screen and (max-width: 959px) {
  .l-top-banner {
    padding: 0 30px 40px;
  }
}

.l-concept-urban {
  padding-top: 57px;
  padding-bottom: 78px;
}

@media screen and (max-width: 767px) {
  .l-concept-urban {
    padding-bottom: 20px;
  }
}

.l-plan-top {
  padding-top: 71px;
}

.l-plan-bottom {
  padding-top: 88px;
}

.l-plan-type {
  padding-top: 80px;
  padding-bottom: 108px;
}

.l-investment-middle {
  padding-top: 100px;
  padding-bottom: 77px;
}

.l-location-top {
  margin-top: 74px;
}

.l-location-middle {
  margin-top: 88px;
}

.l-location-bottom {
  margin-top: 88px;
}

.c-btn {
  width: 100%;
  max-width: 358px;
  height: 69px;
}

@media screen and (max-width: 767px) {
  .c-btn {
    width: 100%;
    max-width: 292px;
    height: 58px;
  }
}

.c-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background: #77adbe;
  color: #ffffff;
  font-size: 20px;
  /* border-radius: 61px; */
  position: relative;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 767px) {
  .c-btn a {
    font-size: 15px;
  }
}
.c-btn a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 39px;
  height: 16px;
  background-image: url("../img/parts/btn-icon.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.c-btn a.print-btn::before {
  width: 30px;
  height: 30px;
  background-image: url(../img/parts/btn-print-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
  left: 26px;
}

.c-btn.c-btn--color01 a {
  background: #fff;
  color: #77adbe;
}
.c-btn.c-btn--color01 a::before {
  top: 50%;
  right: auto;
  left: 20px;
  background-image: url("../img/parts/btn-icon-color01.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-btn a:hover {
  opacity: 0.7;
}
.c-btn a span {
  /* margin-left: 43px; */
}

.c-section__title {
  font-family: "optima-lt-pro", sans-serif;
  font-size: 20px;
  color: #4f4f4f;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .c-section__title {
    font-size: 18px;
  }
}

.p-header {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #fff;
  z-index: 100;
  width: 100%;
  /* height: 67px; */
  height: 109px;
}
@media screen and (max-width: 959px) {
  .p-header {
    height: 60px;
  }
}

.p-header__bg-img {
  /* position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3; */
}
.p-header__bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.p-header__inner {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
/* .p-header__inner::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(106, 75, 42)), color-stop(47.2905993462%, rgb(254, 255, 228)), to(rgb(232, 194, 99)));
  background: linear-gradient(90deg, rgb(106, 75, 42) 0%, rgb(254, 255, 228) 47.2905993462%, rgb(232, 194, 99) 100%);
} */
@media screen and (max-width: 959px) {
  .p-header__inner {
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    padding-left: 15px;
  }
}
.p-header__inner h1 {
  width: 22%;
  max-width: 228px;
  margin-left: 22px;
}

.p-header__inner h1 a {
  display: block;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-header__inner h1 a:hover {
  opacity: 0.7;
}
.p-header__inner h1 a img {
  width: 100%;
  height: auto;
}
@media screen and (max-width: 959px) {
  .p-header__inner h1 {
    width: 100%;
    width: 120px;
    max-width: none;
    margin-left: 0;
  }
}

@media screen and (max-width: 389px) {
  .p-header__inner h1 {
    width: 100%;
    width: 100px;
    max-width: none;
    margin-left: 0;
  }
}
.p-header__inner nav {
  color: #4f4f4f;
  margin-right: 30px;
  margin-left: 30px;
  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;
  gap: 15px;
}

.p-header__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-header__box {
    display: none;
  }
}

.p-header__nav-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  font-size: 15px;
  font-weight: 500;
  text-decoration: underline;
}
.p-header__nav-top li {
  position: relative;
}
.p-header__nav-top li::before {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  left: -7px;
  width: 4px;
  height: 8px;
  background-image: url(../img/parts/link-icon--right.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.p-header__nav-top li:not(:first-child) {
  margin-left: 19px;
}
.p-header__nav-top li a {
  display: block;
}

.p-header__nav-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: right;
  -ms-flex-pack: right;
  justify-content: right;
  flex-wrap: wrap;
  gap: 10px 0;
  font-size: 15px;
  font-weight: 500;
  /* margin-top: 9px; */
}
.p-header__nav-bottom li:not(:first-child) {
  margin-left: 20px;
}
.p-header__nav-bottom li a {
  position: relative;
  text-decoration: none;
  display: inline-block;
  padding-bottom: 4px;
}
.p-header__nav-bottom li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px; /* 線の太さ */
  background: white; /* 線の色 */
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left;
  transform-origin: left;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.p-header__nav-bottom li a:hover::after {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}

.p-header__cta-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* width: 20vw; */
  height: 59px;
  /* max-width: 240px; */
  margin-right: 23px;
}

@media screen and (max-width: 959px) {
  .p-header__cta-list {
    height: 37px;
    margin-right: 0;
  }
}

.p-header__cta-list li {
  width: 164px;
  height: 100%;
}

@media screen and (max-width: 959px) {
  .p-header__cta-list li {
    width: 85px;
    height: 100%;
    height: 37px;
  }
}

@media screen and (max-width: 389px) {
  .p-header__cta-list li {
    width: 65px;
    height: 100%;
    height: 37px;
  }
}
.p-header__cta-list li:nth-child(2) {
  margin-left: 10px;
}
.p-header__cta-list li:nth-child(2) a {
  background: #e8d5d5;
  color: #7c1317;
  /* border-left: 1px solid #FFFFFF; */
}
.p-header__cta-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: flex-start;
  -ms-flex-align: flex-start;
  align-items: flex-start;
  -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;
  width: 100%;
  height: 100%;
  /* background: linear-gradient(141.3729609568deg, rgb(180, 4, 41) 0%, rgb(78, 26, 37) 100%); */
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  background: #cbe1e8;
  position: relative;
}

.p-header__cta-list li a::before {
  transform: translateY(-50%);
  top: 50%;
  right: 20px;
  background-image: url(../img/header/cta-btn-icon01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  position: absolute;
  width: 31px;
  height: 13px;
}

@media screen and (max-width: 959px) {
  .p-header__cta-list li a::before {
    content: none;
  }
}

.p-header__cta-list li:nth-child(2) a::before {
  background-image: url(../img/header/cta-btn-icon02.png);
}

.p-header__cta-list li a:hover {
  opacity: 0.7;
}
.p-header__cta-list li a p {
  /* font-size: 12px;
  color: #FFFFFF;
  font-weight: bold; */
  /* text-align: center; */

  color: #042f60;
  text-align: center;
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-left: 27px;
}

.p-header__cta-list li:nth-child(2) a p {
  color: #7c1317;
}

@media screen and (max-width: 959px) {
  .p-header__cta-list li a p {
    font-size: 11px;
    margin-left: 0;
    width: 100%;
  }
}
.p-header__cta-list li a span {
  text-align: center;
  display: block;
  font-size: 10px;
  font-weight: bold;
  padding: 2px 4px;
  font-size: 10px;
  color: #bd5e4d;
  background-color: #ffffff;
  margin-top: 5px;
  border-radius: 7px;
}

.p-header__request-btn {
  position: fixed;
  top: 11px;
  right: 54px;
  /* width: 60px; */
  width: 178px;
  height: 37px;
  /* padding: 8px 5px 5px 5px; */
}

@media screen and (max-width: 389px) {
  .p-header__request-btn {
    width: 140px;
    height: 37px;
  }
}
.p-header__request-btn a {
  display: block;
}
.p-header__request-btn a p {
  font-size: 10px;
  color: #ffffff;
  margin-top: 2px;
  text-align: center;
}

.p-header__request-icon {
  width: 32px;
  margin: 0 auto;
}

.p-drawer-icon {
  cursor: pointer;
  position: fixed;
  top: 9px;
  right: 4px;
  z-index: 100;
  width: 45px;
  height: 45px;
  display: none;
  padding: 10px;
}
@media screen and (max-width: 959px) {
  .p-drawer-icon {
    display: block;
  }
}
.p-drawer-icon.drawer-opened {
  background-image: none;
}
.p-drawer-icon.drawer-opened .p-drawer-icon__bar1 {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: 6px;
  width: 28px;
}
.p-drawer-icon.drawer-opened .p-drawer-icon__bar2 {
  opacity: 0;
}
.p-drawer-icon.drawer-opened .p-drawer-icon__bar3 {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 6px;
  width: 28px;
}

.p-drawer-icon__bar-wrapper {
  width: 23px;
  height: 18px;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.p-drawer-icon__bars {
  width: 100%;
  height: 100%;
  position: relative;
}

.p-drawer-icon__bar1,
.p-drawer-icon__bar2,
.p-drawer-icon__bar3 {
  position: absolute;
  width: 23px;
  left: 0;
  height: 2px;
  background-color: #000000;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  border-radius: 10px;
}

.p-drawer-icon__bar1 {
  top: 0px;
}

.p-drawer-icon__bar2 {
  top: 8px;
}

.p-drawer-icon__bar3 {
  top: 16px;
}

.p-drawer-icon__text--opened {
  position: absolute;
  width: 100%;
  text-align: center;
  color: #ffffff;
  font-size: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 3px;
  font-family: "optima-lt-pro", sans-serif;
  display: none;
}
.p-drawer-icon__text--opened.close {
  display: block;
}

.p-drawer-icon__text--closed {
  position: absolute;
  width: 100%;
  text-align: center;
  color: #ffffff;
  font-size: 10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 3px;
  font-family: "optima-lt-pro", sans-serif;
}
.p-drawer-icon__text--closed.open {
  display: none;
}

/*=======================================================================
# drawer-content
=======================================================================*/
.p-drawer-content {
  width: 100%;
  height: 100%;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 99;
  -webkit-transform: translateX(105%);
  transform: translateX(105%);
  -webkit-transition: -webkit-transform 0.7s ease 0s;
  transition: -webkit-transform 0.7s ease 0s;
  transition: transform 0.7s ease 0s;
  transition: transform 0.7s ease 0s, -webkit-transform 0.7s ease 0s;
  /* background-color: #03035D; */
  background: linear-gradient(145deg, #9db1b6 0%, #77adbe 100%);
  overflow-y: auto;
}
.p-drawer-content.drawer-opened {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.p-drawer-content__inner {
  padding: 80px 35px 0;
  width: 100%;
  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;
}
.p-drawer-content__inner .p-header__logo-link {
  height: auto;
}
.p-drawer-content__inner .p-header__nav-list {
  margin-top: 35px;
  border-top: 1px solid #89a9de;
}
.p-drawer-content__inner .p-header__nav-list .p-header__nav-item {
  padding: 19px 0;
  border-bottom: 1px solid #89a9de;
}
.p-drawer-content__list {
  max-width: 316px;
  width: 100%;
  margin: 0 auto;
}
.p-drawer-content__list li {
  width: 100%;
  position: relative;
}
.p-drawer-content__list li::before {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 0;
  width: 14px;
  height: 14px;
  background-image: url(../img/header/p-drawer__icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.p-drawer-content__list li a {
  display: block;
  text-align: left;
  font-size: 16px;
  padding: 10px 0;
  font-weight: bold;
  color: #ffffff;
  border-bottom: 1px solid #fff;
}

.p-drawer-content__cta-list {
  max-width: 316px;
  width: 100%;
  margin: 20px auto 0;
}
.p-drawer-content__cta-list li {
  width: 100%;
  height: 66px;
}
.p-drawer-content__cta-list li:nth-child(2) {
  margin-top: 10px;
}
.p-drawer-content__cta-list li:nth-child(2) a {
  background: linear-gradient(
    120.4987488172deg,
    rgb(205, 195, 166) 0%,
    rgb(106, 75, 41) 100%
  );
}
.p-drawer-content__cta-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -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;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    141.3729609568deg,
    rgb(180, 4, 41) 0%,
    rgb(78, 26, 37) 100%
  );
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-drawer-content__cta-list li a:hover {
  opacity: 0.7;
}
.p-drawer-content__cta-list li a p {
  font-size: 18px;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
}
.p-drawer-content__cta-list li a span {
  text-align: center;
  display: block;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 18px;
  font-size: 10px;
  color: #bd5e4d;
  background-color: #ffffff;
  margin-top: 5px;
  border-radius: 7px;
}

.p-mv {
  overflow: hidden;
  position: relative;
}
/* 
.p-mv__swiper-container {
  width: 100%;
  height: calc(100vh - 109px);
  opacity: 0;
  -webkit-transition: opacity 2s ease 0s;
  transition: opacity 2s ease 0s;
}
@media screen and (max-width: 959px) {
  .p-mv__swiper-container {
    height: calc(100vh - 45px);
  }
}

.p-mv__swiper {
  width: 100%;
  height: calc(100vh - 109px);
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-mv__swiper {
    height: calc(100vh - 45px);
  }
}
.p-mv__swiper .swiper-slide {
  width: 100%;
  height: calc(100vh - 109px);
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-mv__swiper .swiper-slide {
    height: calc(100vh - 111px);
  }
}
.p-mv__swiper .swiper-slide .p-mv__bg-img {
  display: block;
  width: 72.75%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .p-mv__swiper .swiper-slide .p-mv__bg-img {
    width: 100%;
    height: 57.94%;
  }
}
.p-mv__swiper .swiper-slide .p-mv__bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.p-mv__swiper .swiper-wrapper {
  position: relative;
}

.p-mv__swiper-slide__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .p-mv__swiper-slide__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
} */

.p-mv__box-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 27.25%;
  height: 100%;
}
@media screen and (max-width: 959px) {
  .p-mv__box-wrapper {
    width: 100%;
    height: 38.36%;
  }
}

.p-mv__box {
  width: 100%;
  height: 100%;
  position: relative;
  background-color: #070e90;
}

.p-mv__box-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
}
.p-mv__box-bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-mv__content {
  width: 68%;
  max-width: 532px;
  position: absolute;
  top: 29%;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
@media screen and (max-width: 959px) {
  .p-mv__content {
    width: 55.38%;
    max-width: 216px;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
}

.p-mv__content-copy {
  width: 100%;
}

.p-mv__content-logo {
  width: 85%;
  margin: 22px auto 0;
}

.p-mv__bg-text {
  width: 2695px;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  bottom: 107px;
  left: 0;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .p-mv__bg-text {
    display: none;
    width: 2195px;
    bottom: 34px;
    bottom: 84px;
  }
}
.p-mv__bg-text div {
  padding-left: 15px;
}
.p-mv__bg-text div:first-child {
  -webkit-animation: text1 100s -50s linear infinite;
  animation: text1 100s -50s linear infinite;
}
.p-mv__bg-text div:not(:first-child) {
  -webkit-animation: text2 100s linear infinite;
  animation: text2 100s linear infinite;
}
@-webkit-keyframes text1 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@keyframes text1 {
  0% {
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
  to {
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
  }
}
@-webkit-keyframes text2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}
@keyframes text2 {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
  }
}

.p-mv__movie {
  height: calc(100vh - 109px);
  height: calc(100svh - 109px);
}

@media screen and (max-width: 959px) {
  .p-mv__movie {
    height: calc(100vh - 60px);
    height: calc(100svh - 60px);
  }
}

.p-mv__movie img,
.p-mv__movie video {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-mv__bottom {
  padding: 0 10px;
  width: 100%;
  height: 103px;
  background-color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
}
/* .p-mv__bottom::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(106, 75, 42)), color-stop(47.2905993462%, rgb(254, 255, 228)), to(rgb(232, 194, 99)));
  background: linear-gradient(90deg, rgb(106, 75, 42) 0%, rgb(254, 255, 228) 47.2905993462%, rgb(232, 194, 99) 100%);
} */
/* .p-mv__bottom::after {
  position: absolute;
  content: "";
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(106, 75, 42)), color-stop(47.2905993462%, rgb(254, 255, 228)), to(rgb(232, 194, 99)));
  background: linear-gradient(90deg, rgb(106, 75, 42) 0%, rgb(254, 255, 228) 47.2905993462%, rgb(232, 194, 99) 100%);
} */
@media screen and (max-width: 767px) {
  .p-mv__bottom {
    height: 164px;
    padding: 0 10px;
  }
}
.p-mv__bottom p {
  text-align: center;
  font-size: clamp(19px, calc(25vw / 14.4), 25px);
  font-weight: 400;
  color: #4f4f4f;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-mv__bottom p {
    line-height: 1.5;
    position: relative;
  }
  .p-mv__bottom p::before {
    content: "";
    display: block;
    width: 51px;
    height: 1px;
    background-color: #4f4f4f;
    position: absolute;
    transform: translateX(-50%);
    top: 65px;
    left: 50%;
  }
}
.p-mv__bottom p span {
  font-size: clamp(34px, calc(55vw / 14.4), 55px);
  font-weight: 400;
}

.p-mv__bottom p span.jr {
  font-size: clamp(16px, calc(25vw / 14.4), 25px);
  font-weight: 400;
  position: relative;
  top: -7px;
}
.p-mv__bottom p span.slash {
  font-size: clamp(32px, calc(55vw / 14.4), 55px);
  font-weight: 400;
  margin-left: 10px;
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .p-mv__bottom p span.slash {
    display: none;
    margin-left: 6px;
    margin-right: 6px;
  }
}

.p-mv__bottom p span.station {
  font-size: clamp(34px, calc(55vw / 14.4), 55px);
  font-weight: 400;
  margin-left: -12px;
  margin-right: -12px;
}

@media screen and (max-width: 767px) {
  .p-mv__bottom p span.station {
    margin-left: -8px;
    margin-right: -8px;
  }
}

.p-mv__bottom p span.num {
  margin-left: 8px;
  margin-right: 8px;
  color: #de5555;
  font-size: clamp(40px, calc(65vw / 14.4), 65px);
  font-weight: 400;
}

@media screen and (max-width: 767px) {
  .p-mv__bottom p span.num {
    margin-left: 4px;
    margin-right: 4px;
  }
}
.p-mv__bottom p.tab-down-only {
  line-height: 1.2;
  font-size: 18px;
  text-align: left;
}
.p-mv__bottom p.tab-down-only span {
  font-size: 35px;
}

.p-mv__bottom-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.3;
}
.p-mv__bottom-bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
}

.p-mv__detail {
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #77adbe;
  padding: 30px 0;
}

@media screen and (max-width: 767px) {
  .p-mv__detail {
    padding: 23px 0;
    flex-direction: column;
  }
}

.p-mv__detail p {
  font-size: clamp(19px, 2vw, 31px);

  color: #fff;
  /* font-family: "Zen Old Mincho"; */
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 31px */
  letter-spacing: 1.55px;
  padding: 9px 37px;
  position: relative;
}

.p-mv__detail p:not(:last-child) {
  border-right: 1px solid #fff;
}

@media screen and (max-width: 767px) {
  .p-mv__detail p {
    font-size: clamp(19px, 2vw, 31px);

    color: #fff;
    /* font-family: "Zen Old Mincho"; */
    font-style: normal;
    font-weight: 400;
    line-height: 100%; /* 31px */
    letter-spacing: 1.55px;
    padding: 12px 37px;
    position: relative;
  }

  .p-mv__detail p:not(:last-child) {
    border-right: none;
  }

  .p-mv__detail p:not(:last-child)::before {
    content: "";
    display: block;
    width: 51px;
    height: 1px;
    background-color: #fff;
    position: absolute;
    transform: translateX(-50%);
    bottom: 0;
    left: 50%;
  }
}

.p-mv__cta-list {
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 66px;
  display: none;
  z-index: 1;
}
@media screen and (max-width: 959px) {
  .p-mv__cta-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
.p-mv__cta-list li {
  width: 50%;
  height: 100%;
}
.p-mv__cta-list li:nth-child(2) a {
  background: linear-gradient(
    120.4987488172deg,
    rgb(205, 195, 166) 0%,
    rgb(106, 75, 41) 100%
  );
  border-left: 1px solid #ffffff;
  position: relative;
}
.p-mv__cta-list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -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;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    141.3729609568deg,
    rgb(180, 4, 41) 0%,
    rgb(78, 26, 37) 100%
  );
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-mv__cta-list li a:hover {
  opacity: 0.7;
}
.p-mv__cta-list li a p {
  font-size: 18px;
  color: #ffffff;
  font-weight: bold;
  text-align: center;
}
.p-mv__cta-list li a span {
  text-align: center;
  display: block;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 18px;
  font-size: 10px;
  color: #bd5e4d;
  background-color: #ffffff;
  margin-top: 5px;
  border-radius: 7px;
}

.p-about__note {
  margin-top: 12px;
}
.p-about__note p {
  margin-top: 4px;
  font-size: 10px;
  color: #4f4f4f;
  line-height: 1.4;
  text-indent: -1em;
  padding-left: 1em;
}

.p-info__inner {
  display: flex;
  gap: 0 50px;
  max-width: 1200px;
}

@media screen and (max-width: 767px) {
  .p-info__inner {
    flex-direction: column;
    gap: 3px 0;
  }
}
.p-info__title {
  padding-top: 22px;
  color: #042f60;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.03em;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  .p-info__title {
    padding-top: 0;
  }
}

.p-info__list {
  /* margin-top: 7px; */
  height: 210px;
  overflow-y: scroll;

  width: 780px;
}
@media screen and (max-width: 767px) {
  .p-info__list {
    width: 100%;
    height: 300px;
  }
}
.p-info__list li {
  border-bottom: 1px dotted #222788;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.p-info__list li:hover {
  opacity: 0.7;
}
.p-info__list li.info-not-link:hover {
  opacity: 1;
}
.p-info__list li.info-not-link a {
  pointer-events: none;
}
.p-info__list li.info-not-link p {
  text-decoration: none;
}
.p-info__list li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 16px;
  color: #4f4f4f;
  line-height: 1.4;
  padding: 18px 0;
}
@media screen and (max-width: 767px) {
  .p-info__list li a {
    display: block;
  }
}
.p-info__list li a time {
  font-size: 16px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .p-info__list li a time {
    font-size: 14px;
  }
}
.p-info__list li a p {
  font-size: 14px;
  margin-left: 14px;
  text-decoration: underline;
}
@media screen and (max-width: 767px) {
  .p-info__list li a p {
    margin-left: 0;
    margin-top: 5px;
  }
}

.p-top-concept {
  padding-top: 40px;
  padding-bottom: 84px;
  background-color: #070e90;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-top-concept {
    padding-bottom: 60px;
  }
}

.p-top-concept__bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.35;
}
.p-top-concept__bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top-concept__inner {
  position: relative;
}

.p-top-concept__title {
  width: 574px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .p-top-concept__title {
    width: 80%;
    max-width: 450px;
  }
}

.p-top-concept__sub-title {
  margin-top: 26px;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  line-height: 1.9;
  color: #ffffff;
}
@media screen and (max-width: 959px) {
  .p-top-concept__sub-title {
    font-size: clamp(12px, 3vw, 18px);
    line-height: 1.6;
  }
}

.p-top-concept__img {
  margin: 30px auto 0;
  width: 100%;
  max-width: 868px;
}
@media screen and (max-width: 959px) {
  .p-top-concept__img {
    max-width: 700px;
  }
}

.p-top-concept__text {
  font-size: 16px;
  margin-top: 18px;
  line-height: 2;
  color: #ffffff;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .p-top-concept__text {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-concept__text {
    text-align: left;
  }
}

.p-top-concept__btn {
  margin: 22px auto 120px;
}

.p-top-location {
  overflow: hidden;
}

.p-top-location__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  .p-top-location__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-top-location_left {
  padding-top: 60px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  position: relative;
}
.p-top-location_left::before {
  content: "";
  position: absolute;
  top: 0;
  right: -20%;
  width: 100vw;
  height: 120%;
  background-color: #f1f2f3;
  z-index: -1;
}
@media screen and (max-width: 959px) {
  .p-top-location_left::before {
    right: 10%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-location_left::before {
    right: 35%;
  }
}

.p-top-location__sub-title {
  margin-top: 30px;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.8;
  color: #4f4f4f;
}
@media screen and (max-width: 767px) {
  .p-top-location__sub-title {
    font-size: 20px;
  }
}

.p-top-location__text {
  margin-top: 27px;
  font-size: 14px;
  color: #4f4f4f;
  line-height: 2.4;
}
@media screen and (max-width: 767px) {
  .p-top-location__text {
    font-size: 14px;
  }
}

.p-top-location__right {
  width: 100%;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-top-location__right {
    margin-top: 20px;
    height: 200px;
  }
}

.p-top-location__img-1 {
  position: absolute;
  top: 22%;
  left: 6%;
  aspect-ratio: 179/180;
  width: 28%;
}
@media screen and (max-width: 959px) {
  .p-top-location__img-1 {
    top: 24%;
    left: 7%;
    width: 26%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-location__img-1 {
    top: 12%;
  }
}

.p-top-location__img-2 {
  position: absolute;
  top: 8%;
  right: -11%;
  aspect-ratio: 458/291;
  width: 72%;
}
@media screen and (max-width: 959px) {
  .p-top-location__img-2 {
    top: 0;
    right: 0;
    width: 62%;
  }
}

.p-top-location__img-3 {
  position: absolute;
  top: 20%;
  -webkit-transform: translateY(130%);
  transform: translateY(130%);
  right: 4%;
  aspect-ratio: 417/210;
  width: 65%;
}
@media screen and (max-width: 959px) {
  .p-top-location__img-3 {
    -webkit-transform: translateY(129%);
    transform: translateY(129%);
    right: 12%;
    width: 58%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-location__img-3 {
    -webkit-transform: translateY(122%);
    transform: translateY(122%);
  }
}

.p-top-location__area {
  padding-top: 25%;
  width: 535px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .p-top-location__area {
    width: 100%;
    max-width: 535px;
    padding-top: 55%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-location__area {
    padding-top: 46%;
  }
}

.p-top-location__map {
  padding-top: 25%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .p-top-location__map {
    display: block;
    max-width: 700px;
    margin: 20px auto 0;
    padding-top: 55%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-location__map {
    padding-top: 46%;
  }
}
.p-top-location__map li {
  width: 50%;
}
.p-top-location__map li:first-child {
  padding-right: 27px;
}
@media screen and (max-width: 959px) {
  .p-top-location__map li {
    width: 100%;
  }
  .p-top-location__map li:first-child {
    padding-right: 0;
    margin-bottom: 40px;
  }
}
.p-top-location__map li div {
  margin-top: 15px;
}
.p-top-location__map li div:not(:first-child) {
  margin-top: 40px;
}

.p-top-design {
  max-width: 1200px;
  margin: 0 auto;
}

.p-top-design__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  .p-top-design__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.p-top-design__content {
  width: 44%;
  padding-left: 100px;
  position: relative;
  background-color: #000;
  padding-top: 80px;
  padding-bottom: 120px;
}
@media screen and (max-width: 959px) {
  .p-top-design__content {
    width: 100%;
    padding-left: 30px;
    padding-right: 30px;
    text-align: center;
    padding-bottom: 60px;
  }
}

.p-top-design__bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0.9;
}
.p-top-design__bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-top-design__title {
  color: #ffffff;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-top-design__title {
    text-align: left;
  }
}

.p-top-design__sub-title {
  color: #ffffff;
  margin-top: 38px;
  font-size: 18px;
  line-height: 2;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-top-design__sub-title {
    text-align: left;
  }
}

.p-top-design__text {
  font-size: 14px;
  color: #ffffff;
  margin-top: 36px;
  line-height: 2.2;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-top-design__text {
    text-align: left;
  }
}

.p-top-design__btn {
  margin-top: 50px;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-top-design__btn {
    margin: 50px auto 0;
  }
}

.p-top-design__img {
  width: 56%;
}
.p-top-design__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 959px) {
  .p-top-design__img {
    width: 100%;
    aspect-ratio: 390/288;
  }
}

.p-top-plan {
  overflow: hidden;
}

.p-top-plan__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .p-top-plan__row {
    display: block;
  }
}

.p-top-plan__content {
  padding-top: 50px;
  width: 55.7%;
}
@media screen and (max-width: 959px) {
  .p-top-plan__content {
    width: 100%;
    padding-top: 20px;
  }
}

.p-top-plan__section-title {
  text-align: left;
}

.p-top-plan__title {
  font-size: 16px;
  color: #4f4f4f;
  line-height: 2;
  font-weight: 500;
  margin-top: 30px;
}

.p-top-plan__sub-title {
  margin-top: 34px;
  padding-top: 18px;
  border-top: 1px solid #dedede;
  line-height: 1.8;
  color: #4f4f4f;
  font-size: 16px;
}
.p-top-plan__sub-title span {
  font-family: "optima-lt-pro", sans-serif;
}

.p-top-plan__text {
  color: #4f4f4f;
  margin-top: 11px;
  font-size: 12px;
  line-height: 1.6;
  padding-bottom: 26px;
  border-bottom: 1px solid #dedede;
}

.p-top-plan__btn {
  margin-top: 30px;
}
@media screen and (max-width: 959px) {
  .p-top-plan__btn {
    margin: 30px auto 0;
  }
}

.p-top-plan__img-box {
  width: calc(44.3% - 20px);
}
@media screen and (max-width: 959px) {
  .p-top-plan__img-box {
    width: 100%;
    margin: 30px auto 0;
    max-width: 700px;
  }
}

@media screen and (max-width: 959px) {
  .p-top-plan__img-1 {
    margin-top: 30px;
  }
}

.p-top-plan__img-2 {
  margin-top: 30px;
}

.p-top-plan__note {
  margin-top: 20px;
  font-size: 10px;
  color: #535252;
  text-align: right;
  line-height: 1.4;
}

.p-top-contact {
  width: 100%;
  height: 98px;
}
.p-top-contact a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  border-radius: 60px;
  background: linear-gradient(
    179.9913000083deg,
    rgb(6, 8, 54) 0%,
    rgb(74, 91, 119) 48.7684994936%,
    rgb(18, 21, 100) 49.7536987066%,
    rgb(51, 54, 99) 100%
  );
  position: relative;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
@media screen and (max-width: 767px) {
  .p-top-contact a {
    border-radius: 50px;
  }
}
.p-top-contact a:hover {
  opacity: 0.7;
}
.p-top-contact a::before {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  background-image: url(../img/parts/btn-icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 27px;
}
@media screen and (max-width: 767px) {
  .p-top-contact a::before {
    right: 10px;
  }
}
.p-top-contact a span {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  line-height: 1.4;
}
@media screen and (max-width: 959px) {
  .p-top-contact a span {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .p-top-contact a span {
    font-size: 16px;
  }
}

.p-menu {
  /* max-width: 1200px; */
  width: 100%;
  margin: 0 auto;
}

.p-menu__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-menu__list li {
  width: 25%;
  aspect-ratio: 360/360;
}
@media screen and (max-width: 767px) {
  .p-menu__list li {
    width: 50%;
  }
}
.p-menu__list li a {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-menu__list li a:hover {
  opacity: 0.7;
}
.p-menu__list li a span {
  position: absolute;
  color: #ffffff;
  font-family: "optima-lt-pro", sans-serif;
  font-size: 10px;
  display: block;
  top: 8px;
  left: 11px;
  z-index: 2;
}

.p-menu__list li a span.p-menu__item-accent {
  color: #dfeff4;
  /* font-family: "optima-lt-pro", sans-serif; */
  font-family: "GFS Didot", serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 32px */
  letter-spacing: 0.03em;
  z-index: 1;
  display: block;

  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  margin-top: 25px;
  opacity: 0.5;
  text-align: center;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-menu__list li a span.p-menu__item-accent {
    margin-top: 15px;
    font-size: 17px;
  }
}

/* 

.p-menu__list li a p {
  position: absolute;
  color: #FFFFFF;
  font-size: 14px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 2;
} */

.p-menu__list li a p {
  position: absolute;
  color: #ffffff;
  font-size: 33px;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;

  text-align: center;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .p-menu__list li a p {
    font-size: 18px;
  }
}

.p-menu__list li a::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #666666;
  z-index: 1;

  mix-blend-mode: multiply;
}
.p-menu__list li a::after {
  position: absolute;
  content: "";
  width: 61px;
  height: 25px;
  bottom: 30px;
  right: 30px;
  background-image: url(../img/parts/btn-icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .p-menu__list li a::after {
    width: 33px;
    height: 13px;
    bottom: 16px;
    right: 16px;
  }
}

.p-menu__item-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.p-menu__item-img img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
/* 
.p-cta {
  overflow: hidden;
  padding-bottom: 40px;
}

.p-cta__company {
  margin-top: 25px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .p-cta__company {
    margin-top: 10px;
    padding-bottom: 40px;
  }
}
.p-cta__company a {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
  aspect-ratio: 1000/334;
}
.p-cta__company a:hover {
  opacity: 0.7;
}
.p-cta__company a span {
  display: block;
  position: absolute;
  top: 60%;
  left: 50%;
  -webkit-transform: translate(-50%, 20%);
          transform: translate(-50%, 20%);
  font-size: 17px;
  color: #FFFFFF;
}
@media screen and (max-width: 959px) {
  .p-cta__company a span {
    font-size: 14px;
    -webkit-transform: translate(-50%, 60%);
            transform: translate(-50%, 60%);
  }
}

.p-cta__company-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.p-cta__company-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 251px;
  aspect-ratio: 251/55;
}
@media screen and (max-width: 959px) {
  .p-cta__company-logo {
    width: 180px;
  }
}

.p-cta__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-cta__row.page {
  padding: 35px 0;
  position: relative;
}
.p-cta__row.page::before {
  content: "";
  position: absolute;
  width: 120vw;
  top: 0;
  left: -25%;
  height: 1px;
  background-color: #dedede;
}

.p-cta__request {
  width: calc((100% - 25px) / 2);
  margin-right: 25px;
  height: 120px;
}
@media screen and (max-width: 767px) {
  .p-cta__request {
    margin-right: 10px;
    width: calc((100% - 10px) / 2);
  }
}
.p-cta__request a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -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;
  width: 100%;
  height: 100%;
  background: linear-gradient(141.3729609568deg, rgb(180, 4, 41) 0%, rgb(78, 26, 37) 100%);
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
}
.p-cta__request a:hover {
  opacity: 0.7;
}
.p-cta__request a p {
  font-size: 24px;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-cta__request a p {
    font-size: 18px;
  }
}
.p-cta__request a span {
  text-align: center;
  display: block;
  font-size: 12px;
  font-weight: bold;
  padding: 3px 18px;
  color: #BD5E4D;
  background-color: #FFFFFF;
  margin-top: 8px;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .p-cta__request a span {
    padding: 3px 10px;
    margin-top: 5px;
  }
}

.p-cta__reservation {
  width: calc((100% - 25px) / 2);
  height: 120px;
}
@media screen and (max-width: 767px) {
  .p-cta__reservation {
    width: calc((100% - 10px) / 2);
  }
}
.p-cta__reservation a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -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;
  width: 100%;
  height: 100%;
  background: linear-gradient(120.4987488172deg, rgb(205, 195, 166) 0%, rgb(106, 75, 41) 100%);
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  position: relative;
}
.p-cta__reservation a:hover {
  opacity: 0.7;
}
.p-cta__reservation a p {
  font-size: 24px;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-cta__reservation a p {
    font-size: 18px;
  }
}

.p-cta__note {
  padding-top: 30px;
  position: relative;
  line-height: 1.8;
  font-size: 10px;
  color: #1F4158;
}
.p-cta__note::before {
  content: "";
  position: absolute;
  width: 120vw;
  top: 0;
  left: -25%;
  height: 1px;
  background-color: #DEDEDE;
} */

/* 
.p-footer {
  background-color: #000;
  padding-top: 46px;
  padding-bottom: 70px;
  color: #FFFFFF;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-footer {
    padding-top: 30px;
    padding-bottom: 40px;
  }
}

.p-footer__bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-footer__bg-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-footer__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-footer__wrapper {
    display: block;
  }
}

.p-footer__logo {
  width: 187px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 959px) {
  .p-footer__logo {
    margin: 0 auto;
  }
}

.p-footer__row {
  width: calc(100% - 187px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: clamp(10px, 4vw, 70px);
}
@media screen and (max-width: 959px) {
  .p-footer__row {
    display: block;
    width: 100%;
    margin-left: 0;
  }
}

.p-footer__info {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 20px auto 0;
}
@media screen and (max-width: 959px) {
  .p-footer__info {
    margin: 48px auto 0;
    width: 255px;
    -moz-text-align-last: left;
         text-align-last: left;
  }
}

.p-footer__info-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-footer__info-tel a {
  display: block;
  font-size: 34px;
  font-family: "optima-lt-pro", sans-serif;
}
@media screen and (max-width: 959px) {
  .p-footer__info-tel {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-footer__tel-icon {
  width: 33px;
  margin-right: 6px;
}

.p-footer__info-time {
  font-size: 10px;
  line-height: 1.4;
  margin-top: 4px;
}

.p-footer__info-note {
  font-size: 10px;
  line-height: 1.4;
  margin-top: 16px;
}

.p-footer__info-mail {
  margin-top: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 959px) {
  .p-footer__info-mail {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: left;
  }
}
.p-footer__info-mail a {
  display: block;
  font-size: 10px;
}

.p-footer__mail-icon {
  width: 17px;
  margin-right: 3px;
}

.p-footer__nav {
  margin-left: 25px;
}
@media screen and (max-width: 959px) {
  .p-footer__nav {
    margin-left: 0;
    margin-top: 40px;
  }
}

.p-footer__nav-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-top {
    display: block;
  }
}
.p-footer__nav-top li {
  margin-top: 10px;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-top li {
    margin-top: 20px;
  }
}
.p-footer__nav-top li:not(:last-child) {
  margin-right: 20px;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-top li:not(:last-child) {
    margin-right: 0;
  }
}
.p-footer__nav-top li a {
  display: block;
  font-size: 12px;
  text-decoration: underline;
}

.p-footer__nav-middle {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-middle {
    display: block;
  }
}
.p-footer__nav-middle li {
  margin-right: 20px;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-middle li {
    margin-right: 0;
    margin-top: 20px;
  }
}
.p-footer__nav-middle li a {
  display: block;
  font-size: 12px;
  text-decoration: underline;
}

.p-footer__nav-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #454871;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-bottom {
    display: block;
  }
}
.p-footer__nav-bottom li {
  margin-right: 20px;
}
@media screen and (max-width: 959px) {
  .p-footer__nav-bottom li {
    margin-right: 0;
    margin-top: 20px;
  }
}
.p-footer__nav-bottom li a {
  display: block;
  font-size: 12px;
  text-decoration: underline;
}

.p-footer__copyright {
  font-size: 10px;
  text-align: right;
  margin-top: 20px;
  position: relative;
}
@media screen and (max-width: 959px) {
  .p-footer__copyright {
    text-align: center;
  }
} */

.p-footer {
  background-color: #f4f4f4;
}

.p-footer__inner {
  padding-top: 52px;
  padding-bottom: 60px;
  padding-left: 60px;
  padding-right: 60px;
  max-width: inherit;
}

@media screen and (max-width: 959px) {
  .p-footer__inner {
    padding-top: 37px;
    padding-bottom: 47px;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-footer__wrapper {
}

.p-footer__upper {
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .p-footer__upper {
    flex-direction: column;
    justify-content: center;
  }
}

.p-footer__logo {
  /* max-width: 409px;
  width: 100%; */
  margin-right: 30px;
}

.p-footer__logo {
  font-size: clamp(20px, calc(28vw / 14.4), 35px);
  flex-shrink: 0;
  align-self: center;
}

.p-footer__logo--sp {
  display: none;
}

@media screen and (max-width: 959px) {
  .p-footer__logo {
    font-size: 25px;
    flex-shrink: 0;
    align-self: center;
  }

  .p-footer__logo--sp {
    display: block;
  }

  .p-footer__logo--pc {
    display: none;
  }
}

@media screen and (max-width: 959px) {
  .p-footer__logo {
    /* max-width: 209px; */
    max-width: 280px;
    text-align: center;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-footer__nav {
  flex-shrink: 0;
}

@media screen and (max-width: 1100px) {
  .p-footer__nav {
    max-width: 430px;
  }
}

@media screen and (max-width: 959px) {
  .p-footer__nav {
    max-width: initial;
  }
}

.p-footer__nav a {
  color: #4f4f4f;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

.p-footer__nav-top {
  margin-top: 12px;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 20px 25px;

  padding-bottom: 20px;
  border-bottom: 1px solid #fff;
}

.p-footer__nav-bottom {
  margin-top: 20px;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 20px 25px;
}

@media screen and (max-width: 959px) {
  .p-footer__nav-top {
    justify-content: center;
    gap: 8px 20px;

    padding-bottom: 20px;
    max-width: 280px;
    /* margin: 34px auto 0; */
    margin: 0 auto;
  }

  .p-footer__nav-bottom {
    margin-top: 20px;
    justify-content: center;
    gap: 8px 25px;
  }
}

.p-footer__lower {
  margin-top: 24px;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 959px) {
  .p-footer__lower {
    margin-top: 28px;
    flex-direction: column;
    justify-content: center;
  }
}

.p-footer__access {
  margin-right: 30px;
}

@media screen and (max-width: 959px) {
  .p-footer__access {
    margin-top: 35px;
    margin-right: 0;
    order: 2;
  }
}

.p-footer__tel {
}

.p-footer__tel-link {
  display: flex;
  align-items: flex-end;
}

@media screen and (max-width: 959px) {
  .p-footer__tel {
    margin-top: 28px;
  }
  .p-footer__tel-link {
    justify-content: center;
  }
}

.p-footer__tel-text {
  color: #042f60;
  font-family: "GFS Didot", serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 17.436px */
  letter-spacing: 0.01em;
  margin-right: 6px;
  margin-bottom: 4px;
}

.p-footer__tel-num {
  color: #042f60;
  font-family: "GFS Didot", serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 30.513px */
  letter-spacing: 0.03em;
}

.p-footer__access-text {
  margin-top: 12px;
  color: #4f4f4f;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.8; /* 25.2px */
  letter-spacing: 0.09em;
}

@media screen and (max-width: 959px) {
  .p-footer__access-text {
    margin-top: 15px;
    font-size: 13px;
    letter-spacing: 0.06em;
  }
}

.p-footer__access-notice {
  margin-top: 7px;
  color: #4f4f4f;
  font-size: 10px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.8; /* 25.2px */
  letter-spacing: 0.09em;
}

@media screen and (max-width: 959px) {
  .p-footer__access-notice {
    margin-top: 7px;
    font-size: 10px;
    letter-spacing: 0.06em;
  }
}

.p-footer__cta {
}

@media screen and (max-width: 959px) {
  .p-footer__cta {
    order: 1;
  }
}

.p-footer__cta-list {
  display: flex;
  gap: 0 10px;
}

@media screen and (max-width: 959px) {
  .p-footer__cta-list {
    justify-content: center;
  }
}

.p-footer__cta-list li {
  width: 164px;
  height: 59px;
}

.p-footer__cta-list li a {
  display: flex;
  flex-direction: column;
  justify-content: center;

  width: 100%;
  height: 100%;
  background: #afcdd7;
  position: relative;
}

.p-footer__cta-list li:nth-child(2) a {
  background: #e8d5d5;
}

.p-footer__cta-list li a::before {
  transform: translateY(-50%);
  top: 50%;
  right: 20px;
  background-image: url(../img/header/cta-btn-icon01.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  content: "";
  position: absolute;
  width: 31px;
  height: 13px;
}

@media screen and (max-width: 389px) {
  .p-footer__cta-list li a::before {
    right: 14px;
  }
}

.p-footer__cta-list li:nth-child(2) a::before {
  background-image: url(../img/header/cta-btn-icon02.png);
}

.p-footer__cta-list li a p {
  color: #042f60;
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  margin-left: 27px;
}

@media screen and (max-width: 389px) {
  .p-footer__cta-list li a p {
    margin-left: 14px;
  }
}

.p-footer__cta-list li:nth-child(2) a p {
  color: #7c1317;
}

.p-footer__copyright {
  margin-top: -6px;
  color: #4f4f4f;
  text-align: right;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

@media screen and (max-width: 959px) {
  .p-footer__copyright {
    margin-top: 35px;
    text-align: center;
  }
}

.p-about__inner {
  color: #4f4f4f;
  padding: 0 150px;
}
@media screen and (max-width: 959px) {
  .p-about__inner {
    padding: 0 30px;
  }
}
.p-about__inner ul:first-of-type {
  margin-top: 50px;
}
.p-about__inner ul:nth-of-type(2) {
  margin-top: 24px;
}
.p-about__inner ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #dedede;
}
@media screen and (max-width: 767px) {
  .p-about__inner ul li {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
  }
}
.p-about__inner ul li p {
  font-size: 16px;
  font-weight: 500;
  width: 172px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-about__inner ul li p {
    font-size: 12px;
    width: 100px;
  }
}
.p-about__inner ul li .p-about__item-box {
  width: calc(100% - 172px);
  margin-left: 118px;
}
.p-about__inner ul li .p-about__item-box p span {
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .p-about__inner ul li .p-about__item-box p span {
    margin-left: -8px;
  }
}
.p-about__inner ul li .p-about__item-box p .second {
  margin-left: -8px;
}
@media screen and (max-width: 767px) {
  .p-about__inner ul li .p-about__item-box {
    width: calc(100% - 100px);
    margin-left: 15px;
  }
}
.p-about__inner ul li .p-about__item-box p {
  width: 100%;
  -ms-flex-negative: 1;
  flex-shrink: 1;
}
.p-about__inner ul li.another-item {
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}

.p-about__item-box p span {
  display: block;
  margin-left: -3px;
}

.p-about__sub-title {
  text-align: center;
  font-size: 14px;
  font-family: "optima-lt-pro", sans-serif;
  display: block;
}

.p-about__title {
  text-align: center;
  font-size: 28px;
  margin-top: 10px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-about__title {
    font-size: 24px;
  }
}

.p-about__list-title {
  font-size: 28px;
  margin-top: 120px;
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__list-title {
    font-size: 24px;
  }
}

.p-page-top {
  /* background-color: #070E90; */
  background: linear-gradient(145deg, #9db1b6 0%, #77adbe 100%);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 215px;
  position: relative;
}
/* .p-page-top::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/parts/p-page-top__bg-img.webp");
  opacity: 0.4;
} */
@media screen and (max-width: 959px) {
  .p-page-top {
    height: 200px;
  }
}

.p-page-top__box {
  text-align: center;
  color: #ffffff;
  position: relative;
}
.p-page-top__box p {
  color: #fff;
  text-align: center;
  font-family: "GFS Didot", serif;
  font-size: 65px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 959px) {
  .p-page-top__box p {
    font-size: 40px;
  }
}
.p-page-top__box h1 {
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 100%; /* 18px */
  letter-spacing: 0.9px;
  margin-top: 13px;
}

@media screen and (max-width: 959px) {
  .p-page-top__box h1 {
    margin-top: 7px;
    font-size: 14px;
  }
}

.p-select__btn {
  margin: 0 auto;
}
.p-select__btn a {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.p-select__btn a::before {
  left: 16px;
  right: auto;
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}
.p-select__btn a span {
  margin-left: 0;
}

.p-select-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 959px) {
  .p-select-top {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.p-select-top__text {
  margin-right: 20px;
  width: calc(70.6% - 20px);
}
.p-select-top__text h2 {
  font-size: 20px;
  line-height: 1.6;
  font-weight: bold;
}
.p-select-top__text p {
  font-size: 16px;
  margin-top: 28px;
  line-height: 2;
}
@media screen and (max-width: 959px) {
  .p-select-top__text {
    margin-right: 0;
    margin-top: 30px;
    width: 100%;
  }
  .p-select-top__text h2 {
    font-size: 18px;
  }
  .p-select-top__text p {
    font-size: 14px;
  }
}

.p-select-top__img {
  width: 29.4%;
  max-width: 294px;
  aspect-ratio: 294/190;
}
.p-select-top__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 959px) {
  .p-select-top__img {
    width: 100%;
    margin: 0 auto;
  }
}

.p-select-section ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 60px;
}
.p-select-section ul li {
  width: calc((100% - 49px - 49px) / 3);
  margin-right: 49px;
}
.p-select-section ul li:nth-child(3n) {
  margin-right: 0;
}
.p-select-section ul li:nth-child(n + 4) {
  margin-top: 64px;
}
.p-select-section ul li:nth-child(4) h3 {
  font-size: 16px;
}
.p-select-section ul li h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.2;
}
.p-select-section ul li p {
  display: block;
  font-size: 14px;
  margin-top: 8px;
}
@media screen and (max-width: 959px) {
  .p-select-section ul {
    margin-top: 40px;
  }
  .p-select-section ul li {
    width: calc((100% - 15px) / 2);
    margin-right: 15px;
  }
  .p-select-section ul li:nth-child(3n) {
    margin-right: 15px;
  }
  .p-select-section ul li:nth-child(2n) {
    margin-right: 0;
  }
  .p-select-section ul li:nth-child(n + 4) {
    margin-top: 30px;
  }
  .p-select-section ul li:nth-child(n + 3) {
    margin-top: 30px;
  }
  .p-select-section ul li:nth-child(3) h3 {
    padding-top: 14px;
  }
  .p-select-section ul li:nth-child(4) h3 {
    font-size: 14px;
  }
  .p-select-section ul li h3 {
    font-size: 16px;
    font-weight: 500;
  }
  .p-select-section ul li p {
    display: block;
    font-size: 12px;
    margin-top: 8px;
  }
  .p-select-section ul li span {
    display: none;
  }
}

.p-select-section__title-box {
  background-color: #77adbe;
  height: 57px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
  border-radius: 0 0 10px 0;
}
@media screen and (max-width: 959px) {
  .p-select-section__title-box {
    -webkit-box-pack: left;
    -ms-flex-pack: left;
    justify-content: left;
    padding-left: 10px;
    height: 65px;
  }
}

.p-select-section__title-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  color: #ffffff;
}
.p-select-section__title-text h2 {
  font-size: 20px;
  font-family: "optima-lt-pro", sans-serif;
  font-weight: 400;
}
.p-select-section__title-text span {
  display: block;
  font-size: 11px;
  margin-left: 13px;
}
@media screen and (max-width: 959px) {
  .p-select-section__title-text {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
  .p-select-section__title-text h2 {
    font-size: 16px;
  }
  .p-select-section__title-text span {
    margin-left: 0;
    margin-top: 10px;
  }
}

.p-select-section__title-sub {
  color: #ffffff;
  font-size: 20px;
  font-family: 500;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 10px;
}
@media screen and (max-width: 959px) {
  .p-select-section__title-sub {
    font-size: 16px;
  }
}

.p-select-section__text {
  font-size: 16px;
  margin-top: 30px;
  line-height: 1.6;
}
@media screen and (max-width: 959px) {
  .p-select-section__text {
    font-size: 14px;
  }
}

.p-select-section__item-img {
  margin-top: 10px;
}

.p-achievement ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-achievement ul li {
  width: calc((100% - 28px - 28px - 28px) / 4);
  margin-right: 28px;
  padding-bottom: 25px;
  border-bottom: 1px solid #5f5e5e;
  padding-top: 18px;
  padding-right: 5px;
}
.p-achievement ul li:nth-child(4n) {
  margin-right: 0;
}
@media screen and (max-width: 959px) {
  .p-achievement ul li {
    width: calc((100% - 28px - 28px) / 2);
  }
  .p-achievement ul li:nth-child(4n) {
    margin-right: 28px;
  }
  .p-achievement ul li:nth-child(2n) {
    margin-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-achievement ul li {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .p-achievement ul li:nth-child(4n) {
    margin-right: auto;
  }
  .p-achievement ul li:nth-child(2n) {
    margin-right: auto;
  }
}

.p-achievement__item-title {
  font-size: 11px;
  text-align: center;
}

.p-achievement__item-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin-top: 12px;
}

.p-achievement__item-img {
  width: 36%;
  margin-right: 10px;
  aspect-ratio: 83/115;
}

.p-achievement__item-box {
  width: calc(100% - 10px - 36%);
  line-height: 1.2;
  position: relative;
}

.p-achievement__item-cat {
  color: #77adbe;
  font-size: 8px;
  font-weight: 500;
  margin-top: 8px;
}
.p-achievement__item-cat:nth-of-type(1) {
  margin-top: 0;
}

.p-achievement__item-content {
  margin-top: 3px;
  font-size: 8px;
}

.p-achievement__item-num {
  margin-top: 5px;
  font-size: 31px;
  color: #a6a7a7;
  text-align: right;
  display: block;
  font-family: "optima-lt-pro", sans-serif;
}
@media screen and (max-width: 959px) {
  .p-achievement__item-num {
    position: absolute;
    right: 5px;
    bottom: 0;
  }
}

.p-achievement__btn {
  margin: 78px auto;
}
.p-achievement__btn a {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.p-achievement__btn a::before {
  left: 16px;
  right: auto;
  -webkit-transform: translateY(-50%) rotate(180deg);
  transform: translateY(-50%) rotate(180deg);
}
.p-achievement__btn a span {
  margin-left: 0;
}

.p-change-top {
  overflow: hidden;
}
.p-change-top h2 {
  width: 45.8%;
}
@media screen and (max-width: 959px) {
  .p-change-top h2 {
    width: 100%;
  }
}
.p-change-top h3 {
  width: 45.8%;
  margin-top: 42px;
  line-height: 1.41;
  font-size: 24px;
}
@media screen and (max-width: 959px) {
  .p-change-top h3 {
    width: 100%;
    font-size: 18px;
  }
}

.p-change-top__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 27px;
}
.p-change-top__row p {
  line-height: 2;
  width: 45.8%;
}
@media screen and (max-width: 959px) {
  .p-change-top__row {
    margin-top: 17px;
    display: block;
  }
  .p-change-top__row p {
    width: 100%;
  }
}

.p-change-top__img {
  width: calc(100% - 53px - 45.8%);
  margin-left: 53px;
}
@media screen and (max-width: 959px) {
  .p-change-top__img {
    width: 100%;
    overflow: scroll;
    margin: 96px auto 0;
    text-align: center;
  }
  .p-change-top__img img {
    width: 518px;
  }
}

.p-change-smart h2.pc-only {
  margin: 83px auto 0;
  width: 259px;
}
.p-change-smart h2.tab-down-only {
  margin: 0 auto;
  width: 162px;
}

.p-change-smart__bg-img {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  aspect-ratio: 1200/542;
}
@media screen and (max-width: 959px) {
  .p-change-smart__bg-img {
    aspect-ratio: 390/200;
    margin-top: 17px;
  }
}

.p-change-smart__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 52px;
}
@media screen and (max-width: 959px) {
  .p-change-smart__row {
    display: block;
    margin-top: 37px;
  }
}

.p-change-smart__box {
  width: calc((100% - 52px) / 2);
}
.p-change-smart__box:nth-of-type(2) {
  margin-left: 52px;
}
.p-change-smart__box h3 {
  color: #270202;
  font-size: 20px;
  line-height: 1.4;
  font-weight: 700;
}
.p-change-smart__box p {
  margin-top: 25px;
  line-height: 1.85;
}
@media screen and (max-width: 959px) {
  .p-change-smart__box {
    width: 100%;
  }
  .p-change-smart__box:nth-of-type(2) {
    margin-left: 0;
    margin-top: 107px;
  }
  .p-change-smart__box h3 {
    font-size: 18px;
  }
}

.p-change-bigbang h2 {
  width: 285px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .p-change-bigbang h2 {
    width: 204px;
  }
}

.p-change-bigbang__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 69px;
}
@media screen and (max-width: 959px) {
  .p-change-bigbang__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
    margin-top: 30px;
  }
}

.p-change-bigbang__box {
  width: 54.8%;
}
@media screen and (max-width: 959px) {
  .p-change-bigbang__box {
    width: 100%;
    margin-top: 37px;
  }
}

.p-change-bigbang__section:nth-of-type(n + 2) {
  margin-top: 48px;
}
.p-change-bigbang__section h3 {
  font-size: 20px;
  font-weight: 700;
  color: #270202;
  line-height: 1.4;
}
.p-change-bigbang__section p {
  line-height: 1.85;
  margin-top: 17px;
}
@media screen and (max-width: 959px) {
  .p-change-bigbang__section h3 {
    font-size: 18px;
  }
  .p-change-bigbang__section p {
    margin-top: 11px;
  }
}

.p-change-bigbang__img-box {
  width: calc(100% - 53px - 54.8%);
  margin-left: 53px;
}
.p-change-bigbang__img-box .p-change-bigbang__img-2 {
  margin-top: 43px;
}
@media screen and (max-width: 959px) {
  .p-change-bigbang__img-box {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    aspect-ratio: 390/200;
  }
}

.p-change-bigbang__img-2.tab-down-only {
  margin-top: 58px;
}

.p-change-hakata__title-img {
  width: 205px;
  margin: 0 auto;
}
@media screen and (max-width: 959px) {
  .p-change-hakata__title-img {
    width: 163px;
  }
}

.p-change-hakata__box {
  margin-top: 46px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (max-width: 959px) {
  .p-change-hakata__box {
    margin-top: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}

.p-change-hakata__box-text h2 {
  font-size: 28px;
  font-weight: 700;
  color: #270202;
  line-height: 1.4;
  text-align: center;
}
.p-change-hakata__box-text p {
  margin-top: 24px;
  font-size: 16px;
  line-height: 1.62;
  text-align: center;
}
@media screen and (max-width: 959px) {
  .p-change-hakata__box-text {
    margin-top: 37px;
  }
  .p-change-hakata__box-text h2 {
    font-size: 24px;
  }
  .p-change-hakata__box-text p {
    margin-top: 17px;
    text-align: left;
  }
}

.p-change-hakata__img {
  margin-top: 46px;
}
@media screen and (max-width: 959px) {
  .p-change-hakata__img {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
}

.p-change-hakata__row {
  margin-top: 84px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 959px) {
  .p-change-hakata__row {
    display: block;
  }
}

.p-change-hakata__container {
  width: calc((100% - 53px) / 2);
}
.p-change-hakata__container h3 {
  font-size: 20px;
  font-weight: 700;
  color: #270202;
  line-height: 1.4;
}
.p-change-hakata__container p {
  line-height: 1.8;
  margin-top: 17px;
}
@media screen and (max-width: 959px) {
  .p-change-hakata__container {
    width: 100%;
  }
  .p-change-hakata__container:nth-of-type(2) {
    margin-top: 84px;
  }
  .p-change-hakata__container h3 {
    font-size: 18px;
  }
}

.p-facility {
  overflow: hidden;
}

.p-facility__tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 959px) {
  .p-facility__tabs {
    display: none;
  }
}

.p-facility__tab {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  text-align: center;
  padding-bottom: 17px;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  cursor: pointer;
  border-bottom: 1px solid #aaaaaa;
}
.p-facility__tab p {
  color: #aaaaaa;
  font-family: "optima-lt-pro", sans-serif;
  font-size: 20px;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-facility__tab span {
  color: #aaaaaa;
  display: block;
  margin-top: 8px;
  font-size: 14px;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-facility__tab.active {
  border-bottom: 1px solid #191919;
}
.p-facility__tab.active p {
  color: #28607d;
}
.p-facility__tab.active span {
  color: #191919;
}

.p-facility__content {
  margin-top: 53px;
  display: none;
}
.p-facility__content.active {
  display: block;
}
.p-facility__content .p-facility__content-title {
  font-size: 18px;
  font-weight: 600;
  line-height: 1.88;
  margin-top: 22px;
  text-align: center;
}

.p-facility__content-section {
  margin-top: 110px;
}
.p-facility__content-section h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.8;
  margin-top: 37px;
  text-align: center;
}
.p-facility__content-section:first-of-type {
  margin-top: 60px;
}

.p-facility__title-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  position: relative;
}
.p-facility__title-box::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #dedede;
}
.p-facility__title-box p {
  font-size: 24px;
  font-family: "optima-lt-pro", sans-serif;
  background-color: #ffffff;
  position: relative;
}
.p-facility__title-box h2 {
  font-weight: 400;
  font-size: 14px;
  padding-left: 19px;
  padding-top: 3px;
  padding-right: 30px;
  background-color: #ffffff;
  position: relative;
}

.p-facility__top-row {
  margin-top: 47px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-facility__main-img {
  width: 64.9%;
  aspect-ratio: 565/547;
}
.p-facility__main-img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-facility__item-box {
  width: 30.1%;
}
.p-facility__item-box .p-facility__item:nth-of-type(2) {
  margin-top: 42px;
}

.p-facility__item-img {
  aspect-ratio: 262/164;
}
.p-facility__item-img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-facility__item-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  margin-top: 13px;
}

.p-facility__item-text {
  font-size: 12px;
  line-height: 1.5;
  margin-top: 8px;
}

.p-facility__bottom-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 42px;
}
.p-facility__bottom-row .p-facility__item {
  width: calc((100% - 42px - 42px) / 3);
}
.p-facility__bottom-row .p-facility__item:not(:nth-child(3n + 1)) {
  margin-left: 42px;
}
.p-facility__bottom-row .p-facility__item:nth-child(n + 4) {
  margin-top: 42px;
}
.p-facility__bottom-row.mt {
  margin-top: 47px;
}

.p-facility__sp-contents {
  width: 100%;
  margin: 0 auto;
}

.p-facility__sp-section {
  position: relative;
}
.p-facility__sp-section::before {
  position: absolute;
  content: "";
  right: 0;
  top: 36px;
  height: 2px;
  width: 20px;
  background-color: #28607d;
}
.p-facility__sp-section.active .p-facility__sp-tab::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
  transform: translateY(-50%) rotate(90deg);
}
.p-facility__sp-section.active .p-facility__sp-container {
  max-height: 8000px;
}
.p-facility__sp-section.active .p-facility__sp-main-img {
  display: block;
}

.p-facility__sp-tab {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-top: 28px;
  padding-bottom: 28px;
  position: relative;
}
.p-facility__sp-tab::before {
  position: absolute;
  content: "";
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 100vw;
  height: 1px;
  background-color: #aaaaaa;
}
.p-facility__sp-tab:after {
  position: absolute;
  content: "";
  right: 9px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  height: 20px;
  width: 2px;
  background-color: #28607d;
  border-radius: 5px;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-facility__sp-tab p {
  font-size: 20px;
  font-family: "optima-lt-pro", sans-serif;
  color: #28607d;
  font-weight: 700;
}
.p-facility__sp-tab span {
  margin-left: 10px;
  font-size: 14px;
  font-weight: 500;
}

.p-facility__sp-container {
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease;
  transition: max-height 0.3s ease;
  background: #fff;
}
.p-facility__sp-container h2 {
  font-size: 18px;
  line-height: 1.88;
  font-weight: 600;
  margin-top: 22px;
}

.p-facility__sp-content-section {
  margin-top: 26px;
}
.p-facility__sp-content-section:not(:first-of-type) {
  margin-top: 80px;
}

.p-facility__sp-title-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-facility__sp-title-box p {
  font-size: 24px;
  font-family: "optima-lt-pro", sans-serif;
}
.p-facility__sp-title-box h3 {
  margin-left: 19px;
  font-size: 14px;
  font-weight: 600;
}

.p-facility__sp-main-img {
  width: 100%;
  height: 200px;
  margin-top: 8px;
}
.p-facility__sp-main-img img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.p-facility__sp-bottom-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.p-facility__sp-item {
  width: calc((100% - 20px) / 2);
  margin-top: 32px;
}
.p-facility__sp-item:nth-child(2n) {
  margin-left: 20px;
}

.p-facility__sp-item-title {
  font-size: 14px;
  font-weight: 600;
  line-height: 1.8;
  margin-top: 12px;
}

.p-facility__sp-item-text {
  margin-top: 5px;
  font-size: 12px;
  line-height: 1.5;
}

.p-facility__btn {
  margin: 80px auto 0;
}
.p-facility__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-facility__btn a span {
  margin: 0 auto;
  display: block;
}

.p-top-banner a {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-top-banner a:hover {
  opacity: 0.7;
}

.p-concept-top {
  position: relative;
  background: linear-gradient(145deg, #9db1b6 0%, #77adbe 100%);
  padding: 140px 0 120px;
}

@media screen and (max-width: 959px) {
  .p-concept-top {
    padding: 60px 0;
  }
}
/* .p-concept-top::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/concept/p-concept-top__bg-img.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  content: "";
  opacity: 0.4;
} */
.p-concept-top h2 {
  /* position: relative;
  margin-top: 26px;
  text-align: center;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.9; */
  margin-top: 50px;
  color: #fff;
  text-align: center;
  font-size: 26px;
  font-style: normal;
  font-weight: 600;
  line-height: 190%; /* 49.4px */
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .p-concept-top h2 {
    margin-top: 27px;
    font-size: 20px;
  }
}

.p-concept-top__box {
  padding: 0 0 72px;
}

@media screen and (max-width: 767px) {
  .p-concept-top__box {
    padding: 0 0 40px;
  }
}

.p-concept-top__title-img {
  position: relative;
  margin: 0 auto;
  /* width: 574px; */
  width: 734px;
}
@media screen and (max-width: 767px) {
  .p-concept-top__title-img {
    width: calc(100% - 20px);
    max-width: 574px;
  }
}

.p-concept-top__img {
  position: relative;
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-concept-top__img {
    margin-top: 28px;
  }
}

.p-concept-top__text {
  position: relative;
  margin-top: 80px;
  font-size: 16px;
  text-align: center;
  line-height: 2;
  font-weight: medium;
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  .p-concept-top__text {
    margin-top: 30px;
    font-size: 14px;
  }
}

.p-concept-top__btn {
  margin: 44px auto 0;
}
.p-concept-top__btn a::before {
  -webkit-transform: translateY(-50%) scale(-1, 1);
  transform: translateY(-50%) scale(-1, 1);
  right: auto;
  left: 16px;
}
.p-concept-top__btn a span {
  margin: 0 auto;
  display: block;
}

.p-concept-urban__title-img {
  margin: 0 auto;
  width: 539px;
}
@media screen and (max-width: 767px) {
  .p-concept-urban__title-img {
    width: calc(100% - 50px);
    max-width: 406px;
  }
}

.p-concept-urban__text {
  margin-top: 40px;
  text-align: center;

  color: #4f4f4f;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 2.2; /* 35.2px */
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-concept-urban__text {
    margin-top: 30px;
    font-size: 14px;
  }
}

.p-concept-urban__img {
  margin-top: 54px;
}

@media screen and (max-width: 767px) {
  .p-concept-urban__img {
    margin-top: 29px;
  }
}

.p-concept-urban__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  max-width: 1160px;
  margin: 63px auto 0;
}
@media screen and (max-width: 767px) {
  .p-concept-urban__row {
    margin-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-concept-urban__content {
  /* width: 38.3%; */
  width: 60%;
  padding-top: 90px;
  padding-left: 90px;
}

@media screen and (max-width: 1160px) {
  .p-concept-urban__content {
    /* width: 38.3%; */
    width: 70%;
    padding-top: 40px;
    padding-left: 40px;
  }
}
@media screen and (max-width: 767px) {
  .p-concept-urban__content {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    padding-top: 40px;
    padding-left: 30px;
  }
}
.p-concept-urban__content h3 {
  /* margin-top: 42px;
  font-family: "optima-lt-pro", sans-serif;
  font-size: 32px;
  font-weight: 400;
  color: #4F4F4F; */
  color: #77adbe;
  font-family: "GFS Didot", serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.05em;
}
.p-concept-urban__content h3 span {
  color: #77adbe;
  font-family: "GFS Didot", serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.01em;
  display: block;
  margin-bottom: 7px;
}

.p-concept-urban__copy {
  /* color: #4F4F4F;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.77;
  margin-top: 21px; */
  margin-top: 20px;
  color: #4f4f4f;
  font-size: 29px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 46.4px */
  letter-spacing: 0.03em;
}

.p-concept-urban_text {
  /* color: #4F4F4F;
  margin-top: 32px;
  line-height: 2.28; */
  margin-top: 16px;
  color: #4f4f4f;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 2; /* 31.2px */
  letter-spacing: 0.08em;
}

@media screen and (max-width: 1160px) {
  .p-concept-urban__content h3 {
    font-size: calc(48vw / 11.6);
  }
  .p-concept-urban__content h3 span {
    font-size: calc(18vw / 11.6);
  }

  .p-concept-urban__copy {
    font-size: calc(29vw / 11.6);
  }

  .p-concept-urban_text {
    font-size: calc(16vw / 11.6);
  }
}

@media screen and (max-width: 767px) {
  .p-concept-urban__content h3 {
    font-size: 30px;
  }
  .p-concept-urban__content h3 span {
    font-size: 12px;
  }

  .p-concept-urban__copy {
    font-size: 18px;
    margin-top: 26px;
  }

  .p-concept-urban_text {
    margin-top: 26px;
    font-size: 14px;
    max-width: 230px;
  }
}

@media screen and (max-width: 389px) {
  .p-concept-urban__content h3 {
    font-size: 26px;
  }
  .p-concept-urban__content h3 span {
    font-size: 12px;
  }

  .p-concept-urban__copy {
    font-size: 16px;
    margin-top: 14px;
  }

  .p-concept-urban_text {
    margin-top: 14px;
    font-size: 12px;
    max-width: 230px;
  }
}

.p-concept-urban__img-bottom {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .p-concept-urban__img-bottom {
    width: 100%;
    position: relative;
    margin-top: 0;
  }
}

.p-concept-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* max-width: 1200px; */
  max-width: 1160px;
  margin: 0 auto;

  border: 1px solid #77adbe;
}
@media screen and (max-width: 767px) {
  .p-concept-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.p-concept-gallery__main-img {
  /* width: 46.6%; */
  width: 40%;
  aspect-ratio: 560/541;
}
@media screen and (max-width: 767px) {
  .p-concept-gallery__main-img {
    width: 100%;
    height: 300px;
  }
}
.p-concept-gallery__main-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  .p-concept-gallery__main-img img {
    -o-object-position: 50% 90%;
    object-position: 50% 90%;
  }
}

.p-concept-gallery__content {
  /* width: 30.9%; */
  width: 40%;
  background-color: #dbedf3;
  color: #ffffff;
  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;
  padding-right: 10px;
}
@media screen and (max-width: 767px) {
  .p-concept-gallery__content {
    width: 100%;
  }
}
.p-concept-gallery__content p {
  /* font-size: 18px;
  line-height: 1.77;
  font-weight: 600; */
  margin-left: 13%;
  color: #4f4f4f;
  font-size: 29px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 46.4px */
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .p-concept-gallery__content p {
    font-size: 16px;
    padding: 40px 0 0 30px;
    margin-left: 0;
  }
}
.p-concept-gallery__content span {
  display: block;
  /* margin-top: 26px;
  font-size: 12px;
  line-height: 2; */
  margin-left: 13%;
  margin-top: 37px;
  color: #4f4f4f;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.8; /* 28.32px */
  letter-spacing: 0.8px;
}

@media screen and (max-width: 1160px) {
  .p-concept-gallery__content p {
    font-size: calc(29vw / 11.6);
  }
  .p-concept-gallery__content span {
    font-size: calc(16vw / 11.6);
  }
}

@media screen and (max-width: 767px) {
  .p-concept-gallery__content p {
    font-size: 20px;
  }
  .p-concept-gallery__content span {
    padding: 0 0 32px 30px;
    margin-top: 15px;
    font-size: 12px;
    margin-left: 0;
  }
}

.p-concept-gallery__img-box {
  /* width: 22.5%; */
  width: 20%;
}
@media screen and (max-width: 767px) {
  .p-concept-gallery__img-box {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-concept-bottom {
  position: relative;
  /* background-image: url(../img/concept/p-concept-bottom__bg-img.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat; */
  background-color: rgba(217, 217, 217, 0.3);
  padding: 48px 0;
  overflow-x: hidden;

  max-width: 1160px;
  margin: 30px auto 0;

  border: 1px solid #77adbe;
}

@media screen and (max-width: 767px) {
  .p-concept-bottom {
    margin-top: 20px;
    margin-left: 20px;
    margin-right: 20px;
  }
}

.p-concept-bottom__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 0 85px;
}
@media screen and (max-width: 767px) {
  .p-concept-bottom__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-concept-bottom__content {
  width: 60%;
  padding-top: 15px;
}
@media screen and (max-width: 767px) {
  .p-concept-bottom__content {
    width: 100%;
    padding-top: 0;
  }
}
.p-concept-bottom__content h3 {
  /* font-size: 18px;
  font-weight: bold;
  color: #4F4F4F;
  line-height: 1.77; */
  color: #4f4f4f;
  font-size: 29px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 46.4px */
  letter-spacing: 0.03em;
}
.p-concept-bottom__content p {
  margin-top: 20px;
  color: #4f4f4f;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 2; /* 27.3px */
  letter-spacing: 0.07em;

  max-width: 70%;
}

@media screen and (max-width: 1160px) {
  .p-concept-bottom__inner {
    padding: 0 60px;
  }

  .p-concept-bottom__content h3 {
    font-size: calc(29vw / 11.6);
  }
  .p-concept-bottom__content p {
    font-size: calc(14vw / 11.6);
  }
}

@media screen and (max-width: 767px) {
  .p-concept-bottom {
    padding: 30px 0;
  }
  .p-concept-bottom__inner {
    padding: 0 25px;
  }

  .p-concept-bottom__content h3 {
    font-size: 18px;
  }
  .p-concept-bottom__content p {
    margin-top: 11px;
    font-size: 14px;
    max-width: initial;
  }
}

@media screen and (max-width: 389px) {
  .p-concept-bottom__content h3 {
    font-size: 16px;
  }
  .p-concept-bottom__content p {
    margin-top: 11px;
    font-size: 13px;
    max-width: initial;
  }
}

.p-concept-bottom__btn {
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .p-concept-bottom__btn {
    margin: 23px auto 0;
  }
}
.p-concept-bottom__btn a {
  background: #8f7894;
}
.p-concept-bottom__btn a span {
  display: block;
  margin: 0 auto;
}

.p-concept-bottom__img-box {
  width: 52.1%;
  margin-right: -37px;
  aspect-ratio: 521/381;
  height: 100%;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-concept-bottom__img-box {
    padding: 0 30px;
    width: 90%;
    margin: 40px auto 0;
  }
}

.p-concept-bottom__img--1 {
  position: absolute;
  top: 0;
  right: 0;
  width: 63.3%;
}

.p-concept-bottom__img--2 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 63.3%;
}

.p-concept__btn {
  margin: 40px auto 60px;
}

@media screen and (max-width: 767px) {
  .p-concept__btn {
    margin: 85px auto 120px;
  }
}
.p-concept__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-concept__btn a span {
  margin: 0 auto;
  display: block;
}

.p-design-top {
  /* position: relative;
  background-color: #070E90;
  padding: 75px 0 0; */
  position: relative;
  background: linear-gradient(145deg, #9db1b6 0%, #77adbe 100%);
  padding: 140px 0 120px;
}

@media screen and (max-width: 767px) {
  .p-design-top {
    padding: 60px 0;
  }
}
/* .p-design-top::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/concept/p-concept-top__bg-img.webp");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  content: "";
  opacity: 0.4;
} */
/* .p-design-top h2 {
  position: relative;
  color: #FFFFFF;
  margin-top: 51px;
  font-size: 24px;
  line-height: 1.75;
  text-align: center;
} */

.p-design-top h2 {
  /* position: relative;
  margin-top: 26px;
  text-align: center;
  color: #FFFFFF;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.9; */
  margin-top: 40px;
  color: #fff;
  text-align: center;
  font-size: 26px;
  font-style: normal;
  font-weight: 600;
  line-height: 190%; /* 49.4px */
  letter-spacing: 1.3px;
}
@media screen and (max-width: 767px) {
  .p-design-top h2 {
    margin-top: 30px;
    font-size: 20px;
  }
}

.p-design-top__text {
  position: relative;
  color: #ffffff;
  margin-top: 60px;
  font-size: 16px;
  line-height: 2.25;
  font-weight: 600;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-design-top__text {
    margin-top: 30px;
    font-size: 14px;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-design-top__img {
  position: relative;
  margin-top: 50px;
}

@media screen and (max-width: 767px) {
  .p-design-top__img {
    margin-top: 30px;
  }
}

.p-design-middle {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;

  padding: 100px 0;
}

@media screen and (max-width: 767px) {
  .p-design-middle {
    padding: 50px 20px;
  }
}

.p-design-middle__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 767px) {
  .p-design-middle__row {
    flex-direction: column;
    gap: 10px 0;
  }

  .p-design-middle__row + .p-design-middle__row {
    margin-top: 30px;
  }

  .p-design-middle__row.reverse {
    flex-direction: column-reverse;
  }
}

.p-design-middle__img {
  width: 50%;
  aspect-ratio: 600/409;
}

@media screen and (max-width: 767px) {
  .p-design-middle__img {
    width: 100%;
    aspect-ratio: 600/409;
  }
}

.p-design-middle__content {
  width: 50%;
  background-color: #ffffff;
  color: #4f4f4f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  /* padding: 10px; */
}

@media screen and (max-width: 767px) {
  .p-design-middle__content {
    width: 100%;
  }
}
.p-design-middle__content span {
  display: block;

  color: #dfeff4;
  font-family: "GFS Didot", serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.04em;

  margin-bottom: 48px;
  position: relative;

  margin-left: -50px;

  padding-left: 10px;
}

.p-design-middle__content span::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #77adbe;
  position: absolute;
  bottom: 0;
  left: 0;
}
@media screen and (max-width: 767px) {
  .p-design-middle__content span {
    font-size: 28px;
    margin-bottom: 21px;
    margin-left: -20px;
  }
}
.p-design-middle__content h3 {
  width: 100%;
  font-weight: 500;
  /* text-align: center; */
  /* font-size: 20px;
  line-height: 1.8; */
  color: #4f4f4f;
  font-size: 28px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 44.8px */
  letter-spacing: 0.03em;
  padding-left: 50px;
}
@media screen and (max-width: 767px) {
  .p-design-middle__content h3 {
    font-size: 18px;
    padding-left: 20px;
  }
}

.p-design-bottom {
  background: linear-gradient(
    158.8336531947deg,
    rgb(140, 167, 184) 0%,
    rgb(96, 129, 147) 100%
  );
  padding: 100px 0 140px;
  overflow-x: hidden;
}

@media screen and (max-width: 767px) {
  .p-design-bottom {
    padding: 50px 0 60px;
  }
}

.p-design-bottom__container {
  color: #ffffff;
}

.p-design-bottom__head {
  border-bottom: 1px solid #fff;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}

.p-design-bottom__head-title {
  color: #fff;
  font-family: "GFS Didot", serif;
  font-size: 112px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 112px */
  letter-spacing: 0.1em;
  display: block;
  padding-bottom: 10px;
}

.p-design-bottom__head-text {
  color: #fff;
  font-size: 26px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4; /* 36.4px */
  letter-spacing: 0.08em;
  display: block;
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .p-design-bottom__head-inner {
    padding-left: 30px;
    padding-right: 30px;
  }
  .p-design-bottom__head-title {
    font-size: 42px;
    padding-bottom: 5px;
    letter-spacing: 0.01em;
  }

  .p-design-bottom__head-text {
    font-size: 13px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 389px) {
  .p-design-bottom__head-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

.p-design-bottom__container h3 {
  /* font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  margin-top: 41px; */

  margin-top: 60px;
  color: #fff;
  font-size: 29px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 46.4px */
  letter-spacing: 0.03em;

  padding-left: 80px;
}
@media screen and (max-width: 767px) {
  .p-design-bottom__container h3 {
    font-size: 22px;
    margin-top: 35px;
    padding-left: 0;
  }
}
.p-design-bottom__container p {
  /* margin-top: 24px;
  font-size: 16px;
  line-height: 2.25;
  font-weight: 500; */

  margin-top: 30px;
  color: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.95; /* 31.2px */
  letter-spacing: 0.08em;
  padding-left: 80px;
}
@media screen and (max-width: 767px) {
  .p-design-bottom__container p {
    font-size: 15px;
    margin-top: 22px;
    padding-left: 0;
  }
}
.p-design-bottom__container.top {
  /* margin-right: 140px; */
}
@media screen and (max-width: 767px) {
  .p-design-bottom__container.top {
    margin-right: 0;
  }
}
.p-design-bottom__container.top .p-design-bottom__img {
  /* margin-left: -100px; */
}
.p-design-bottom__container.bottom {
  /* margin-top: 80px;
  margin-left: 140px; */
  margin-top: 140px;
}

@media screen and (max-width: 767px) {
  .p-design-bottom__container.bottom {
    margin-top: 55px;
  }
}

.p-design-bottom__img {
  aspect-ratio: 960/654;
  /* max-width: 960px;
  width: 90vw; */
  margin-top: 59px;
}

@media screen and (max-width: 767px) {
  .p-design-bottom__img {
    margin-top: 22px;
  }
}

.p-design-bottom__btn {
  margin: 80px auto 0;
}
@media screen and (max-width: 767px) {
  .p-design-bottom__btn {
    margin: 40px auto 0;
  }
}
.p-design-bottom__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-design-bottom__btn a span {
  margin: 0 auto;
  display: block;
}

.p-plan-top {
  padding-bottom: 88px;
  border-bottom: 1px solid #dedede;
}

.p-plan-top__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-bottom: 86px;
  border-bottom: 1px solid #dedede;
}
@media screen and (max-width: 767px) {
  .p-plan-top__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-plan-top__row h2 {
  font-family: "optima-lt-pro", sans-serif;
  font-weight: 400;
  font-size: 24px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-plan-top__row h2 {
    text-align: center;
    font-size: 22px;
  }
}
.p-plan-top__row p {
  font-size: 16px;
  line-height: 2.25;
  font-weight: 500;
  margin-left: 65px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-plan-top__row p {
    font-size: 14px;
    margin: 30px auto 0;
    text-align: center;
  }
}

.p-plan-top__text {
  font-size: 16px;
  line-height: 2.25;
  font-weight: 500;
  width: 90%;
  margin: 61px auto 0;
}
@media screen and (max-width: 767px) {
  .p-plan-top__text {
    width: 100%;
    font-size: 14px;
  }
}

.p-plan-top__img--1 {
  margin-top: 35px;
}

.p-plan-top__img--2 {
  margin-top: 63.4px;
}
@media screen and (max-width: 767px) {
  .p-plan-top__img--2 {
    width: calc(100vw - 30px);
    overflow-x: scroll;
  }
  .p-plan-top__img--2 img {
    width: 800px;
  }
}

.p-plan-bottom ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-plan-bottom ul li {
  width: 33.3333333333%;
}
@media screen and (max-width: 767px) {
  .p-plan-bottom ul li {
    width: 100%;
  }
  .p-plan-bottom ul li:nth-child(n + 2) {
    margin-top: -2px;
  }
}
.p-plan-bottom ul li:nth-child(n + 4) {
  margin-top: -2px;
}
.p-plan-bottom ul li a {
  display: block;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
}
.p-plan-bottom ul li a:hover {
  opacity: 0.7;
}

.p-plan-bottom__btn {
  margin: 44px auto 0;
}
.p-plan-bottom__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-plan-bottom__btn a span {
  margin: 0 auto;
  display: block;
}

.p-plan-type {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.p-plan-type.plan-c--3 {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-plan-type {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-plan-type__content {
  width: 25.8%;
}
@media screen and (max-width: 767px) {
  .p-plan-type__content {
    width: 100%;
  }
}
.p-plan-type__content p {
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
}
.p-plan-type__content.plan-c--3 {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-plan-type__content.plan-c--3 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-plan-type__content.plan-c--3 .p-plan-type__title-img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .p-plan-type__content.plan-c--3 .p-plan-type__title-img {
    width: 100%;
  }
}
.p-plan-type__content.plan-c--3 .p-plan-type__floor {
  width: 25.8%;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p-plan-type__content.plan-c--3 .p-plan-type__floor {
    width: 100%;
    margin-top: 30px;
  }
}

.p-plan-type__floor {
  margin-top: 53px;
}

.p-plan-type__interior {
  margin-top: 48px;
}

.p-plan-type__plan-img {
  width: 68.7%;
}
@media screen and (max-width: 767px) {
  .p-plan-type__plan-img {
    width: 100%;
    margin-top: 40px;
  }
}
.p-plan-type__plan-img.plan-c--3 {
  width: 100%;
  margin-top: 40px;
}

.p-plan-type__btn {
  margin: 85px auto 0;

  display: flex;
  gap: 0 20px;
  max-width: 600px;
}

@media screen and (max-width: 767px) {
  .p-plan-type__btn {
    max-width: 292px;
    height: calc(58px * 2 + 10px);
    flex-direction: column;
    gap: 10px 0;
  }
}

.p-plan-type__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-plan-type__btn a span {
  margin: 0 auto;
  display: block;
}

/* @media screen and (max-width: 767px) {
.p-plan-type__btn a.print-btn {
  display: none;
}
} */

.p-investment-top__container {
  background-image: url(../img/investment_live/p-investment-top__bg-img.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 83px;
  padding-bottom: 90px;
  margin-top: -2px;
}
.p-investment-top__container h2 {
  font-size: 32px;
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .p-investment-top__container h2 {
    font-size: 22px;
  }
}
.p-investment-top__container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-top: 96px;
}
@media screen and (max-width: 767px) {
  .p-investment-top__container ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 70px;
  }
}
.p-investment-top__container ul li {
  width: calc((100% - 26px - 26px) / 3);
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-investment-top__container ul li {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
  }
  .p-investment-top__container ul li:not(:first-child) {
    margin-top: 70px;
  }
}
.p-investment-top__container ul li h3 {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.55;
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .p-investment-top__container ul li h3 {
    font-size: 16px;
  }
}
.p-investment-top__container ul li p {
  margin-top: 12px;
  font-size: 12px;
  line-height: 1.66;
}

.p-investment-top__item-icon {
  position: absolute;
  top: -57px;
  left: -20px;
  width: 32%;
}
@media screen and (max-width: 767px) {
  .p-investment-top__item-icon {
    top: -40px;
    left: -10px;
  }
}

.p-investment-middle p {
  font-size: 15px;
  line-height: 2;
  font-weight: 500;
  text-align: center;
  margin-top: 65px;
}
@media screen and (max-width: 767px) {
  .p-investment-middle p {
    font-size: 12px;
  }
}

.p-investment-middle__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-investment-middle__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-investment-middle__row h2 {
  width: 58.7%;
  font-size: clamp(32px, 3.5vw, 42px);
  line-height: 1.66;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .p-investment-middle__row h2 {
    width: 280px;
    margin: 0 auto;
    font-size: 24px;
  }
}

.p-investment-middle__top-img {
  width: 41.3%;
}
@media screen and (max-width: 767px) {
  .p-investment-middle__top-img {
    width: 80%;
    max-width: 300px;
    margin: 30px auto 0;
  }
}

.p-investment-middle__bottom-img {
  margin-top: 46px;
}

.p-investment-bottom {
  padding-top: 70px;
  padding-bottom: 92px;
  background-image: url(../img/investment_live/p-investment-bottom__bg-img.webp);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.p-investment-bottom h2 {
  font-size: 28px;
  text-align: center;
}
.p-investment-bottom ul {
  margin-top: 50px;
}
.p-investment-bottom ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-investment-bottom ul li {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}
.p-investment-bottom ul li:not(:first-child) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-investment-bottom ul li:not(:first-child) {
    margin-top: 50px;
  }
}

.p-investment-bottom__item-icon {
  width: 102px;
  height: 102px;
  background-color: #eef2f5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-investment-bottom__item-icon {
    margin: 0 auto;
  }
}
.p-investment-bottom__item-icon span {
  display: block;
  font-size: 20px;
}
.p-investment-bottom__item-icon p {
  font-size: 50px;
  font-weight: 600;
}

.p-investment-bottom__item-content {
  margin-left: 21px;
  width: calc(100% - 102px - 21px);
}
@media screen and (max-width: 767px) {
  .p-investment-bottom__item-content {
    margin-left: 0;
    width: 100%;
    margin-top: 20px;
  }
}
.p-investment-bottom__item-content h3 {
  font-size: 20px;
  font-weight: 600;
  margin-top: 5px;
}
@media screen and (max-width: 767px) {
  .p-investment-bottom__item-content h3 {
    margin-top: 10px;
    text-align: center;
  }
}
.p-investment-bottom__item-content p {
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.42;
}
@media screen and (max-width: 767px) {
  .p-investment-bottom__item-content p {
    margin-top: 10px;
  }
}

.p-investment__btn {
  margin: 44px auto 120px;
}

@media screen and (max-width: 767px) {
  .p-investment__btn {
    margin: 44px auto 60px;
  }
}
.p-investment__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-investment__btn a span {
  margin: 0 auto;
  display: block;
}

.location-section h2 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .location-section h2 {
    font-size: 20px;
  }
}
.location-section p {
  font-size: 14px;
  line-height: 2;
  margin-top: 23px;
}
@media screen and (max-width: 767px) {
  .location-section p {
    font-size: 12px;
  }
}

.p-location-top ul {
  margin-top: 60px;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .p-location-top ul {
    margin-top: 40px;
  }
}
.p-location-top ul li {
  width: calc((100% - 20px - 20px - 20px) / 4);
}
.p-location-top ul li:not(:first-child) {
  margin-left: 20px;
}
.p-location-top ul li span {
  display: block;
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-location-top ul li {
    width: calc((100% - 20px) / 2);
  }
  .p-location-top ul li:not(:first-child) {
    margin-left: 0px;
  }
  .p-location-top ul li:nth-child(2n) {
    margin-left: 20px;
  }
  .p-location-top ul li:nth-child(n + 3) {
    margin-top: 20px;
  }
}

.p-location-top__img-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .p-location-top__img-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-location-top__img-1 {
  width: 56.6%;
}
@media screen and (max-width: 767px) {
  .p-location-top__img-1 {
    width: 100%;
  }
}

.p-location-top__img-box {
  width: calc(100% - 10px - 56.6%);
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .p-location-top__img-box {
    width: 100%;
    margin-left: 0;
    margin-top: 10px;
  }
}
.p-location-top__img-box span {
  display: block;
  text-align: right;
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-location-top__img-box span {
    text-align: left;
  }
}

.p-location-top__access {
  margin-top: 110px;
}
@media screen and (max-width: 767px) {
  .p-location-top__access {
    margin-top: 80px;
    overflow-x: scroll;
    width: 100vw;
  }
}
@media screen and (max-width: 767px) {
  .p-location-top__access img {
    width: 800px;
  }
}

.p-location-top__access-note {
  display: block;
  margin-top: 10px;
  font-size: 12px;
  text-align: right;
}

.p-location-middle__img-row {
  margin-top: 38px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-location-middle__img-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-location-middle__img-1 {
  width: calc((100% - 10px) / 2);
}
@media screen and (max-width: 767px) {
  .p-location-middle__img-1 {
    width: 100%;
  }
}

.p-location-middle__img-2 {
  width: calc((100% - 10px) / 2);
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .p-location-middle__img-2 {
    width: 100%;
    margin-top: 10px;
    margin-left: 0;
  }
}

.p-location-middle__box {
  margin-top: 62px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-location-middle__box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 40px;
  }
}

.p-location-middle__box-content {
  width: 38.8%;
}
@media screen and (max-width: 767px) {
  .p-location-middle__box-content {
    width: 100%;
  }
}

.p-location-middle__box-img {
  width: 57.2%;
}
@media screen and (max-width: 767px) {
  .p-location-middle__box-img {
    width: 100%;
    margin-top: 20px;
  }
}

.p-location-bottom {
  padding: 82px 0 129px;
  background-color: #f6f8f7;
}
@media screen and (max-width: 767px) {
  .p-location-bottom {
    padding: 60px 0 80px;
  }
}
.p-location-bottom .p-location-bottom__inner h2 {
  text-align: center;
}
.p-location-bottom .p-location-bottom__inner .p-location-bottom__text {
  text-align: center;
}

.p-location-bottom__map-img {
  margin-top: 40px;
}

.p-location-bottom__container {
  margin-top: 60px;
}
.p-location-bottom__container.other .p-location-bottom__title-box {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.p-location-bottom__container.other .p-location-bottom__title-box h3 {
  text-align: left;
}
.p-location-bottom__container.other .p-location-bottom__title-box span {
  text-align: left;
  margin-left: 7px;
  margin-top: 0;
}
.p-location-bottom__container.other ul {
  margin-top: 12px;
}
.p-location-bottom__container ul {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.p-location-bottom__container ul li {
  width: calc((100% - 20px - 20px - 20px) / 4);
}
.p-location-bottom__container ul li:not(:nth-child(4n + 1)) {
  margin-left: 20px;
}
.p-location-bottom__container ul li:nth-child(n + 5) {
  margin-top: 20px;
}
.p-location-bottom__container ul li span {
  display: block;
  margin-top: 7px;
  font-size: 10px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .p-location-bottom__container ul li {
    width: calc((100% - 20px) / 2);
  }
  .p-location-bottom__container ul li:not(:nth-child(4n + 1)) {
    margin-left: 0px;
  }
  .p-location-bottom__container ul li:nth-child(n + 5) {
    margin-top: 0px;
  }
  .p-location-bottom__container ul li:nth-child(2n) {
    margin-left: 20px;
  }
  .p-location-bottom__container ul li:nth-child(n + 3) {
    margin-top: 20px;
  }
}

.p-location-bottom__row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-location-bottom__row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-location-bottom__title-box {
  width: 25.5%;
}
.p-location-bottom__title-box h3 {
  font-size: 24px;
  font-family: "optima-lt-pro", sans-serif;
  text-align: center;
}
.p-location-bottom__title-box span {
  display: block;
  text-align: center;
  margin-top: 12px;
  font-size: 12px;
}

@media screen and (max-width: 767px) {
  .p-location-bottom__content-box {
    margin-top: 20px;
  }
}
.p-location-bottom__content-box p {
  line-height: 2;
}
.p-location-bottom__content-box .p-location-bottom__content-title {
  font-size: 18px;
  font-weight: 500;
  margin-top: 0;
}
.p-location-bottom__content-box .p-location-bottom__content-text {
  font-size: 14px;
  margin-top: 16px;
}

.p-location-bottom__info {
  margin-top: 96px;
}
.p-location-bottom__info h3 {
  font-family: "optima-lt-pro", sans-serif;
  font-size: 24px;
  text-align: center;
}

.p-location-bottom__info-row {
  margin-top: 42px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .p-location-bottom__info-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.p-location-bottom__info-box {
  width: calc((100% - 60px) / 2);
}
@media screen and (max-width: 767px) {
  .p-location-bottom__info-box {
    width: 100%;
  }
}
.p-location-bottom__info-box ul {
  margin-top: 16px;
}
.p-location-bottom__info-box ul li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.p-location-bottom__info-box ul li:not(:first-of-type) {
  margin-top: 10px;
}
.p-location-bottom__info-box ul li span {
  display: block;
  font-size: clamp(10px, 2vw, 14px);
  font-weight: 500;
}

.p-location-bottom__info-title {
  font-size: 18px;
  font-weight: 500;
  padding-bottom: 10px;
  border-bottom: 1px solid #707070;
}

.p-location-bottom__btn {
  margin: 80px auto 0;
}
.p-location-bottom__btn a::before {
  -webkit-transform: translateY(-50%) rotate(-180deg);
  transform: translateY(-50%) rotate(-180deg);
  right: auto;
  left: 16px;
}
.p-location-bottom__btn a span {
  margin: 0 auto;
  display: block;
}

.l-bg-main {
  background-image: url(../img/top/l-bg-main.webp);
  background-size: cover;
}

.l-price {
}

.p-price {
}

.p-price__inner {
  padding-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-price__inner {
    padding-top: 40px;
  }
}

.l-inner {
}

.p-price__title {
  color: #de5555;
  text-align: center;
  font-size: 55px;
  font-style: normal;
  font-weight: 500;
  line-height: 1; /* 55px */
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .p-price__title {
    font-size: 28px;
  }
}

.p-price__contents {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 30px;

  margin-top: 30px;
}

.p-price__notice {
  max-width: 800px;
  margin: 20px auto 0;
  font-size: 12px;
  line-height: 1.6;
}

@media screen and (max-width: 767px) {
  .p-price__contents {
    gap: 0 12px;

    margin-top: 20px;
  }
}

@media screen and (max-width: 374px) {
  .p-price__contents {
    gap: 0 8px;
    margin-right: -10px;
  }
}

.p-price__contents-title {
  color: #4f4f4f;
  font-size: 25px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 25px */
  letter-spacing: 1.5px;

  border: 2px solid #fff;
  position: relative;

  width: 173px;
  height: 133px;
  z-index: 10;

  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-price__contents-title {
    font-size: 13px;

    width: 90px;
    height: 70px;
    flex-shrink: 0;
  }
}

@media screen and (max-width: 374px) {
  .p-price__contents-title {
    font-size: 12px;

    width: 70px;
    height: 70px;
    flex-shrink: 0;
  }
}

.p-price__contents-title::before {
  content: "";
  display: block;
  position: absolute;
  background-color: #fff;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  top: 7px;
  left: 7px;
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-price__contents-title::before {
    content: "";
    display: block;
    position: absolute;
    background-color: #fff;
    width: calc(100% - 6px);
    height: calc(100% - 6px);
    top: 3px;
    left: 3px;
    z-index: -1;
  }
}

.p-price__contents-title span {
  margin-top: 13px;
  display: block;
  color: #4f4f4f;
  font-size: 19px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 19px */
  letter-spacing: 1.14px;
}

@media screen and (max-width: 767px) {
  .p-price__contents-title span {
    margin-top: 6px;
    font-size: 10px;
  }
}

.p-price__contents-detail {
}

.p-price__contents-detail-upper {
  color: #4f4f4f;
  font-size: 45px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 45px */
  letter-spacing: 0.01em;
}

.p-price__contents-detail-upper--large {
  color: #4f4f4f;
  font-size: 65px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 65px */
  margin-left: 10px;
}

.p-price__contents-detail-upper--small {
  color: #4f4f4f;
  font-size: 30px;
  font-style: normal;
  font-weight: 500;
  line-height: 1; /* 30px */
  letter-spacing: 0.09em;
  margin-left: 8px;
}

.p-price__contents-detail-lower {
  margin-top: 10px;
  color: #4f4f4f;
  font-size: 30px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 30px */
  letter-spacing: 0.09em;
}

.p-price__contents-detail-lower--large {
  color: #4f4f4f;
  font-size: 48px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 48px */
  margin-left: 10px;
}

.p-price__contents-detail-lower--small {
  color: #4f4f4f;
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: 1; /* 24px */
  letter-spacing: 0.07em;
  margin-left: 4px;
}

.p-price__contents-detail-lower a {
  color: #4f4f4f;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 16px */
  letter-spacing: 0.05em;
  position: relative;
  padding-bottom: 3px;
  margin-left: 15px;
  margin-bottom: 4px;
}

.p-price__contents-detail-lower a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .p-price__contents-detail-upper {
    font-size: 23px;
  }

  .p-price__contents-detail-upper--large {
    font-size: 33px;
    margin-left: 4px;
  }

  .p-price__contents-detail-upper--small {
    font-size: 15px;
    margin-left: 2px;
  }

  .p-price__contents-detail-lower {
    margin-top: 5px;
    font-size: 15px;
  }

  .p-price__contents-detail-lower--large {
    font-size: 25px;
    margin-left: 2px;
  }

  .p-price__contents-detail-lower--small {
    font-size: 12px;
    margin-left: 2px;
  }

  .p-price__contents-detail-lower a {
    color: #4f4f4f;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 1; /* 16px */
    letter-spacing: 0.05em;
    position: relative;
    padding-bottom: 3px;
    margin-left: 2px;
    margin-bottom: 4px;
  }

  .p-price__contents-detail-lower a::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #4f4f4f;
  }
}

@media screen and (max-width: 374px) {
  .p-price__contents-detail-upper {
    font-size: 19px;
  }

  .p-price__contents-detail-upper--large {
    font-size: 28px;
    margin-left: 4px;
  }

  .p-price__contents-detail-upper--small {
    font-size: 12px;
  }

  .p-price__contents-detail-lower {
    font-size: 12px;
  }

  .p-price__contents-detail-lower--large {
    font-size: 19px;
    margin-left: 2px;
  }

  .p-price__contents-detail-lower--small {
    font-size: 10px;
  }
}

.p-price__banner {
  max-width: 800px;
  margin: 60px auto 0;
}

@media screen and (max-width: 767px) {
  .p-price__banner {
    margin: 20px auto 0;
  }
}

.l-access {
  padding-top: 60px;
}

.p-access {
}

.p-access__inner {
}

.p-access__title {
  color: #4f4f4f;
  text-align: center;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 28px */
  letter-spacing: 0.03em;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 34px;
}

.p-access__title::before,
.p-access__title::after {
  content: "";
  display: block;
  width: 95px;
  height: 1px;
  background-color: #4f4f4f;
}

@media screen and (max-width: 767px) {
  .p-access__title {
    color: #4f4f4f;
    text-align: center;
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.5; /* 28px */
    letter-spacing: 0.03em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 20px;
  }

  .p-access__title::before,
  .p-access__title::after {
    content: "";
    display: block;
    width: 55px;
    height: 1px;
    background-color: #4f4f4f;
  }
}

.p-access__column {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  gap: 10px 20px;
}

@media screen and (max-width: 767px) {
  .p-access__column {
    flex-direction: column;
  }
}

.p-access__photo {
  width: 492px;
}

.p-access__map {
  width: 492px;
  /* height: 415px; */
}

.p-access__map iframe {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .p-access__photo {
    width: 100%;
  }
  .p-access__map {
    width: 100%;
    height: 265px;
  }

  .p-access__map iframe {
    object-fit: cover;
    width: 100%;
    height: 100%;
  }
}

.p-access__info {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  gap: 0 20px;
}

.p-access__info-title {
  margin-top: 15px;
  color: #4f4f4f;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.6; /* 28.8px */
  letter-spacing: 0.01em;
}

.p-access__info-text {
  color: #4f4f4f;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.6; /* 28.8px */
  letter-spacing: 0.01em;
}

.p-access__info-text span {
  display: block;
  margin-top: 6px;
  color: #4f4f4f;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.6; /* 20.8px */
  letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {
  .p-access__info {
    flex-direction: column;
  }

  .p-access__info-title {
    margin-top: 0;
    font-size: 14px;
    text-align: center;
  }

  .p-access__info-text {
    margin-top: 10px;
    font-size: 13px;
  }

  .p-access__info-text span {
    font-size: 10px;
  }
}

.p-access__main-banner {
  margin: 50px auto 0;
  max-width: 1000px;
}

@media screen and (max-width: 767px) {
  .p-access__main-banner {
    margin-top: 35px;
  }
}

.p-access__banners {
  margin: 60px auto 0;
  display: flex;
  justify-content: center;
  gap: 0 20px;

  max-width: 1000px;
}

@media screen and (max-width: 767px) {
  .p-access__banners {
    margin-top: 40px;
    flex-direction: column;
    gap: 15px 0;
  }
}

@media screen and (max-width: 767px) {
  .p-access__banners a {
    width: 100%;
  }
}

.l-info {
}

.p-info {
}

.p-info__inner {
}

.p-info__title {
}

.c-section__title {
}

.p-info__list {
}

.info-not-link {
}

.l-appeal {
}

.p-appeal {
  background-image: url(../img/top/l-appeal-bg01.webp);
  background-size: cover;
  overflow: hidden;
}

.p-appeal:nth-child(2) {
  background-image: url(../img/top/l-appeal-bg02.webp);
  background-size: cover;
}

.p-appeal:nth-child(2) .p-appeal__column {
  flex-direction: row-reverse;
}

@media screen and (max-width: 767px) {
  .p-appeal:nth-child(2) .p-appeal__column {
    flex-direction: column;
    gap: 15px;
  }
}

.p-appeal:nth-child(2) .p-appeal__photo-accent {
  color: #fff;
  font-family: "GFS Didot", serif;
  font-size: clamp(100px, calc(170vw / 14.4), 200px);
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;

  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;

  white-space: nowrap;

  position: absolute;
  right: calc(-5vw / 14.4);
  left: auto;
  top: calc(340vw / 14.4);
}

@media screen and (max-width: 767px) {
  .p-appeal:nth-child(2) .p-appeal__photo-accent {
    font-size: 120px;
    right: -37px;
    top: 0;
  }
}

.p-appeal:nth-child(2) .p-appeal__inner {
  padding: calc(40vw / 14.4) calc(27vw / 14.4) calc(80vw / 14.4) 0;
}

.p-appeal__inner {
  padding: calc(40vw / 14.4) 0 calc(80vw / 14.4) calc(27vw / 14.4);
}

@media screen and (max-width: 767px) {
  .p-appeal:nth-child(2) .p-appeal__inner,
  .p-appeal__inner {
    padding: 25px 20px 60px;
  }
}

.p-appeal__column {
  display: flex;
  gap: 0 calc(23vw / 14.4);
}

@media screen and (max-width: 767px) {
  .p-appeal__column {
    flex-direction: column;
    gap: calc(15vw / 3.9);
  }
}

.p-appeal__photo-main {
  width: calc(683vw / 14.4);
  position: relative;
}

@media screen and (max-width: 767px) {
  .p-appeal__photo-main {
    width: 100%;
  }
}

.p-appeal__photo-accent {
  color: #fff;
  font-family: "GFS Didot", serif;
  font-size: clamp(100px, calc(170vw / 14.4), 200px);
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.02em;

  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;

  white-space: nowrap;

  position: absolute;
  left: calc(-50vw / 14.4);
  top: calc(-13vw / 14.4);
}

@media screen and (max-width: 767px) {
  .p-appeal__photo-accent {
    font-size: 120px;
    left: -37px;
    top: 0;
  }
}

.p-appeal__detail {
}

.p-appeal__detail-column {
  display: flex;
  gap: 0 calc(23vw / 14.4);
}

@media screen and (max-width: 767px) {
  .p-appeal__detail-column {
    gap: 0 calc(12vw / 3.9);
  }
}

.p-appeal__detail-photo {
  width: calc(328vw / 14.4);
}

@media screen and (max-width: 767px) {
  .p-appeal__detail-photo {
    width: calc(170vw / 3.9);
  }
}

.p-appeal__detail-content {
}

.p-appeal__detail-title {
  color: #fff;
  font-size: clamp(24px, calc(55vw / 14.4), 55px);
  font-style: normal;
  font-weight: 600;
  line-height: 1.3; /* 71.987px */

  margin-top: 47px;
  margin-left: 42px;
}

@media screen and (max-width: 767px) {
  .p-appeal__detail-title {
    font-size: 32px;
    margin-top: 45px;
    /* margin-left: 20px; */
    margin-left: 15px;
  }
}

.p-appeal__detail-text {
  color: #fff;
  font-size: clamp(14px, calc(19vw / 14.4), 19px);
  font-style: normal;
  font-weight: 700;
  line-height: 2; /* 38px */
  max-width: 568px;
  margin: 36px auto 0;
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  .p-appeal__detail-text {
    margin-top: 27px;
    font-size: 14px;
    padding: 0;
    /* margin-left: 47px; */
    margin-left: 37px;
  }
}

.l-services {
  padding-bottom: 120px;
}

@media screen and (max-width: 767px) {
  .l-services {
    padding-bottom: 50px;
  }
}

.p-services {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .p-services {
    margin-top: 40px;
  }
}

.p-services:nth-child(even) .p-services__accent {
  left: auto;
  right: 0;
}

.p-services + .p-services {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-services + .p-services {
    margin-top: 30px;
  }
}

.p-services__head {
  border-bottom: 3px solid #77adbe;
  position: relative;
  height: 165px;
}

@media screen and (max-width: 767px) {
  .p-services__head {
    height: auto;
  }
}

.p-services__head-inner {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100%;
  z-index: 10;
  position: relative;

  padding-bottom: 40px;
}

@media screen and (max-width: 767px) {
  .p-services__head-inner {
    padding-top: 60px;
    padding-bottom: 25px;
  }
}

.l-inner {
}

.p-services__accent {
  color: #dfeff4;
  font-family: "GFS Didot", serif;
  font-size: clamp(100px, calc(200vw / 14.4), 200px);
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 200px */
  letter-spacing: 0.02em;

  position: absolute;
  left: 0;
  bottom: clamp(-35px, calc(-35vw / 14.4), -20px);
  z-index: -1;
}

@media screen and (max-width: 767px) {
  .p-services__accent {
    font-size: 80px;
    left: 0;
    bottom: auto;
    top: 0;
  }
}

.p-services__head-text {
  color: #4f4f4f;
  font-size: 26px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4; /* 36.4px */
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-services__head-text {
    font-size: 16px;
  }
}

.p-services__inner {
}

.p-services__column {
  display: flex;
  gap: 0 16px;
  margin-top: 55px;
}

@media screen and (max-width: 767px) {
  .p-services__column {
    flex-wrap: wrap;
    gap: 9px 4%;
    margin-top: 25px;
  }
}

.p-services__column.p-services__column--plan {
  gap: 0;
  margin-top: 31px;
  align-items: center;
  justify-content: space-between;
}

.p-services__column.p-services__column--plan .p-services__photo:nth-child(1) {
  width: 532px;
  margin-right: -20px;
  position: relative;
  z-index: 1;
}

.p-services__column.p-services__column--plan .p-services__photo:nth-child(2) {
  width: 692px;
  position: relative;
  z-index: 10;
}

@media screen and (max-width: 767px) {
  .p-services__column.p-services__column--plan {
    margin-top: 15px;
    align-items: center;
    justify-content: center;
  }
  .p-services__column.p-services__column--plan .p-services__photo:nth-child(1) {
    width: 100%;
    margin-right: -10px;
    margin-left: -10px;
  }

  .p-services__column.p-services__column--plan .p-services__photo:nth-child(2) {
    width: 100%;
  }
}

.p-services__photo {
}

.p-services__photo:nth-child(1) {
  width: 560px;
}

.p-services__photo:nth-child(2) {
  width: 300px;
}

.p-services__photo:nth-child(3) {
  width: 300px;
}
@media screen and (max-width: 767px) {
  .p-services__photo:nth-child(1) {
    width: 100%;
  }
  .p-services__photo:nth-child(2) {
    width: 48%;
  }

  .p-services__photo:nth-child(3) {
    width: 48%;
  }
}

.p-services__btn {
  margin: 20px auto 0;
}

@media screen and (max-width: 767px) {
  .p-services__btn {
    margin: 30px auto 0;
  }
}

.c-btn {
}

.wow {
}

.animate__animated {
}

.animate__fadeIn {
}

.l-cta {
}

.p-cta {
  background-image: url(../img/cta/l-cta-bg01.webp);
  background-size: cover;
  overflow: hidden;
}

.p-cta__inner {
  padding: 90px 50px 85px;
}

@media screen and (max-width: 767px) {
  .p-cta__inner {
    padding: 65px 20px 50px;
  }
}

.l-inner {
}

.p-cta__title {
  color: #042f60;
  text-align: center;
  font-family: "GFS Didot", serif;
  font-size: 80px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 80px */
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-cta__title {
    font-size: 40px;
  }
}

.p-cta__text {
  margin-top: 16px;
  color: #4f4f4f;
  text-align: center;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1; /* 20px */
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .p-cta__text {
    margin-top: 11px;
    font-size: 15px;
    line-height: 1.5;
  }
}

.p-cta__banners {
  margin-top: 40px;
  display: flex;
  gap: 0 20px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-cta__banners {
    margin-top: 25px;
    flex-direction: column;
    gap: 15px 0;
  }
}

.p-cta__banners a {
  display: block;
  width: 492px;
}

@media screen and (max-width: 767px) {
  .p-cta__banners a {
    display: block;
    width: 100%;
  }
}

.p-cta__buttons {
  margin-top: 30px;
  display: flex;
  gap: 0 15px;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .p-cta__buttons {
    margin-top: 25px;
    gap: 10px 0;
    flex-direction: column;
    align-items: center;
  }
}

.p-cta__buttons a {
  width: 287px;
  height: 45px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  color: #4f4f4f;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 100%; /* 16px */
  letter-spacing: 0.09em;
}

@media screen and (max-width: 767px) {
  .p-cta__buttons a {
    font-size: 14px;
  }
}

.p-cta__tel {
  margin-top: 42px;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: 0 15px;
}

@media screen and (max-width: 959px) {
  .p-cta__tel {
    margin-top: 37px;
    gap: 0 9px;
    flex-wrap: wrap;
  }
}

.p-cta__tel-text {
  color: #042f60;
  font-family: "GFS Didot", serif;
  font-size: 40px;
  font-style: normal;
  font-weight: 400;
  line-height: 100%; /* 40px */
  letter-spacing: 0.4px;
}

@media screen and (max-width: 959px) {
  .p-cta__tel-text {
    font-size: 25px;
  }
}

@media screen and (max-width: 374px) {
  .p-cta__tel-text {
    font-size: 21px;
  }
}

.p-cta__tel-num {
  color: #042f60;
  font-family: "GFS Didot", serif;
  font-size: 70px;
  font-style: normal;
  font-weight: 400;
  line-height: 1; /* 70px */
  letter-spacing: 0.07em;

  margin-bottom: -5px;
}

@media screen and (max-width: 959px) {
  .p-cta__tel-num {
    font-size: 40px;
  }
}

@media screen and (max-width: 374px) {
  .p-cta__tel-num {
    font-size: 32px;
  }
}

.p-cta__tel-notice {
  color: #4f4f4f;
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.5; /* 24px */
  letter-spacing: 0.1em;

  margin-bottom: 8px;
}

@media screen and (max-width: 959px) {
  .p-cta__tel-notice {
    margin-top: 18px;
    font-size: 14px;
    width: 100%;
    text-align: center;
  }
}

.p-cta-note {
}
/* .p-cta-note::before {
  content: "";
  position: absolute;
  width: 120vw;
  top: 0;
  left: -25%;
  height: 1px;
  background-color: #DEDEDE;
} */

.p-cta-note__inner {
  padding-top: 60px;
  padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .p-cta-note__inner {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.p-cta-note__text {
  color: #4f4f4f;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.8; /* 25.2px */
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-cta-note__text {
    font-size: 12px;
  }
}

.l-kurashi-top {
}

.p-kurashi-top {
  background: linear-gradient(145deg, #9db1b6 0%, #77adbe 100%);
}

.p-kurashi-top__inner {
  padding-top: 110px;
  padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .p-kurashi-top__inner {
    padding-top: 60px;
    padding-bottom: 70px;
  }
}
.p-kurashi-top__title-box {
}

.p-kurashi-top__title-box p {
  color: #fff;
  text-align: center;
  font-size: 45px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
  .p-kurashi-top__title-box p {
    font-size: 30px;
  }
}

.p-kurashi-top__title-box h1 {
  margin-top: 15px;
  color: #fff;
  text-align: center;
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 1; /* 18px */
  letter-spacing: 0.09em;
}

@media screen and (max-width: 767px) {
  .p-kurashi-top__title-box h1 {
    font-size: 14px;
  }
}

.p-kurashi-top h2 {
  margin-top: 65px;
  color: #fff;
  text-align: center;
  font-size: 26px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.9; /* 49.4px */
  letter-spacing: 0.01em;
}

@media screen and (max-width: 767px) {
  .p-kurashi-top h2 {
    margin-top: 40px;
    font-size: 20px;
  }
}

.p-kurashi-top__text {
  margin-top: 35px;
  color: #fff;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 2.2; /* 35.2px */
  letter-spacing: 0.08em;
}

@media screen and (max-width: 767px) {
  .p-kurashi-top__text {
    margin-top: 20px;
    font-size: 14px;
  }
}

.l-kurashi-detail {
}

.p-kurashi-detail {
}

.p-kurashi-detail__inner {
  padding-top: 100px;
  padding-bottom: 100px;
}

@media screen and (max-width: 767px) {
  .p-kurashi-detail__inner {
    padding-top: 30px;
    padding-bottom: 60px;
  }
}

.p-kurashi-detail__blk {
}

.p-kurashi-detail__blk + .p-kurashi-detail__blk {
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  .p-kurashi-detail__blk + .p-kurashi-detail__blk {
    margin-top: 20px;
  }
}

.p-kurashi-detail__title {
  padding-bottom: 35px;
  border-bottom: 2px solid #77adbe;
  position: relative;
}

.p-kurashi-detail__title-large {
  color: #4f4f4f;
  text-align: center;
  font-size: 36px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4; /* 50.4px */
  letter-spacing: 0.1em;

  display: block;
}

.p-kurashi-detail__title-small {
  margin-top: 7px;
  color: #4f4f4f;
  text-align: center;
  font-size: 19px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4; /* 26.6px */
  letter-spacing: 0.06em;

  display: block;
}

@media screen and (max-width: 767px) {
  .p-kurashi-detail__title {
    padding-bottom: 0;
    height: 110px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .p-kurashi-detail__title-large {
    font-size: 22px;
    text-align: left;
  }

  .p-kurashi-detail__title-small {
    margin-top: 5px;

    font-size: 13px;
    text-align: left;
  }
}

.p-kurashi-detail__title-icon {
  position: absolute;
}

.p-kurashi-detail__title-icon.top {
  right: 76px;
  bottom: -72px;
  width: 145px;
}

.p-kurashi-detail__title-icon.middle {
  right: 27px;
  bottom: -14px;
  width: 244px;
}
.p-kurashi-detail__title-icon.bottom {
  right: 30px;
  bottom: 0;
  width: 240px;
}

@media screen and (max-width: 959px) {
  .p-kurashi-detail__title-icon.top {
    right: 21px;
    bottom: 0;
    width: 70px;
  }

  .p-kurashi-detail__title-icon.middle {
    right: 10px;
    bottom: -14px;
    width: 110px;
  }
  .p-kurashi-detail__title-icon.bottom {
    right: 16px;
    bottom: 0;
    width: 93px;
  }
}

.p-kurashi-detail__column {
  margin-top: 40px;
  display: flex;
  gap: 0 30px;
}

@media screen and (max-width: 959px) {
  .p-kurashi-detail__column {
    margin-top: 30px;
    flex-direction: column;
    gap: 20px 0;
  }
}

.p-kurashi-detail__img {
  width: 500px;
  flex-shrink: 0;
}

@media screen and (max-width: 959px) {
  .p-kurashi-detail__img {
    width: 100%;
    flex-shrink: 0;
  }
}

.p-kurashi-detail__text {
  margin-top: 36px;
  color: #4f4f4f;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.95; /* 31.2px */
  letter-spacing: 0.08em;

  max-width: 490px;
}

@media screen and (max-width: 959px) {
  .p-kurashi-detail__text {
    margin-top: 0;
    font-size: 14px;
  }
}

@media screen and (max-width: 959px) {
  .p-kurashi-detail__text {
    max-width: 100%;
  }
}

.page-title {
}

.request,
.reservation {
  background-image: url(../img/form/l-form-bg01.png);
  background-size: cover;
  overflow: hidden;
}

.request--inner,
.reservation--inner {
  max-width: 1050px;
  margin: 0 auto;
  padding-top: 77px;
  padding-bottom: 100px;
}

.request_thanks,
.reservation_thanks {
  background-color: #fff;
  padding: 50px;
}

@media screen and (max-width: 767px) {
  .request_thanks,
  .reservation_thanks {
    padding: 50px 30px;
  }
}

.request_thanks_text,
.reservation_thanks_text {
  color: #4f4f4f;
  text-align: center;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.8; /* 50.4px */
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767px) {
  .request--inner {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}

.reservation__back-btn,
.request__back-btn {
  margin: 40px auto 0;
}

@media screen and (max-width: 389px) {
  .reservation__back-btn.c-btn a,
  .request__back-btn.c-btn a {
    justify-content: flex-start;
    padding-left: 20px;
    box-sizing: border-box;
  }
}

.form-container {
}

.form-progress-input {
}

.form-progress-conf {
}

.active {
}

.form-progress-done {
}

.form-list-container {
}

.form-list-container + .form-list-container {
  margin-top: 40px;
}

.form-list-container_confirm .form-item_inputbox {
  margin-top: 20px;
}

@media screen and (max-width: 767px) {
  .form-list-container_confirm .form-item_inputbox {
    margin-top: 10px;
  }
}

.form-list_title {
  color: #4f4f4f;
  font-size: 19px;
  font-style: normal;
  font-weight: 600;
  line-height: 1.4; /* 26.6px */
  letter-spacing: 0.06em;

  padding-bottom: 10px;
  border-bottom: 2px solid #77adbe;
}

@media screen and (max-width: 767px) {
  .form-list_title {
    font-size: 16px;
  }
}

.form-list {
  margin-top: 25px;
}

@media screen and (max-width: 767px) {
  .form-list {
    margin-top: 20px;
  }
}

.form-item {
  display: flex;
  align-items: flex-start;
}

@media screen and (max-width: 767px) {
  .form-item {
    flex-direction: column;
    gap: 10px 0;
  }
}

.form-item + .form-item {
  margin-top: 18px;
}

@media screen and (max-width: 767px) {
  .form-item + .form-item {
    margin-top: 10px;
  }
}

.form-item_heading {
  width: 190px;
  flex-shrink: 0;

  color: #333;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  display: flex;
  align-items: center;
  margin-top: 20px;
}

.mandatory {
  color: #fff;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;

  background-color: #d74f4f;
  margin-left: 12px;
  padding: 2px 6px;
  border-radius: 4px;
}

.form-item_inputbox {
  flex-grow: 1;
}

@media screen and (max-width: 767px) {
  .form-item_inputbox {
    width: 100%;
  }
}

.form-item_inputbox-postal {
  display: flex;
  align-items: center;
  color: #333;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;

  gap: 10px;
}

@media screen and (max-width: 389px) {
  .form-item_inputbox-postal {
    flex-wrap: wrap;
  }
}

.form-visitors_box {
  display: flex;
  align-items: center;
  gap: 0 20px;
}

.form-item_inputbox input,
.form-item_inputbox textarea {
  box-sizing: border-box;
}

.form-item_inputbox textarea {
  resize: vertical;
}

.form-item_inputbox input[type="text"],
.form-item_inputbox textarea,
.form-item_inputbox input[type="date"] {
  border-radius: 8px;
  border: 1px solid #bcbcbc;
  background: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;

  padding: 18px 22px;

  width: 100%;
}

@media screen and (max-width: 767px) {
  .form-item_inputbox input[type="text"],
  .form-item_inputbox textarea,
  .form-item_inputbox input[type="date"] {
    padding: 18px 10px;
  }
}

.form-item_inputbox-postal input[name="postal_code_1"] {
  width: 85px;
}

.form-item_inputbox-postal input[name="postal_code_2"] {
  width: 133px;
}

@media screen and (max-width: 767px) {
  .form-item_inputbox-postal input[name="postal_code_1"] {
    width: 71px;
  }

  .form-item_inputbox-postal input[name="postal_code_2"] {
    width: 112px;
  }
}

@media screen and (max-width: 389px) {
  .form-item_inputbox-postal input[name="postal_code_1"] {
    width: 61px;
  }

  .form-item_inputbox-postal input[name="postal_code_2"] {
    width: 102px;
  }
}

.form-item_inputbox-postal button[type="button"] {
  display: flex;
  width: 98px;
  height: 38px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  text-align: center;

  background: #77adbe;
  color: #fff;
  font-size: 14px;

  border: none;
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .form-item_inputbox-postal button[type="button"] {
    border: none;
    margin-left: 2px;
  }
}

.form-item_inputbox input[name="age"],
.form-item_inputbox input[name="job"],
.form-item_inputbox input[type="date"] {
  max-width: 300px;
  width: 100%;
}

.form-visitors_box input[name="visitors"] {
  max-width: 180px;
  width: 100%;
}

.form-item_inputbox input::placeholder {
  color: #b8b8b8;
}

.form-item_inputbox select {
  border-radius: 8px;
  border: 1px solid #bcbcbc;
  background: #fff;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;

  padding: 18px 22px;

  max-width: 300px;
  width: 100%;
}

.desired_time-box {
  padding: 0;
  padding-top: 20px;
  padding-bottom: 20px;

  list-style: none;
  display: flex;
  gap: 0 30px;
}

.desired_time-box li {
  position: relative;
}

/* inputは非表示 */
.desired_time-box input[type="radio"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* ラベル全体をクリック可能に */
.desired_time-box label.radio {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  font-size: 16px;
  color: #333;
  user-select: none;
}

/* 外枠の円 */
.desired_time-box label.radio::before {
  content: "";
  position: absolute;
  left: 0;
  top: 2px;
  width: 20px;
  height: 20px;
  border: 1px solid #bcbcbc;
  border-radius: 50%;
  background: #fff;
  transition: border-color 0.2s ease;
}

/* 内側の丸（選択時に表示） */
.desired_time-box input[type="radio"]:checked + label.radio::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 6px;
  width: 14px;
  height: 14px;
  background: #333;
  border-radius: 50%;
  transition: all 0.2s ease;
}

/* チェック時の枠色 */
.desired_time-box input[type="radio"]:checked + label.radio::before {
  border-color: #333;
}

.form-family {
}

.form-family_box {
}

.questionnaire-list {
}

.questionnaire-item {
}

.questionnaire-item_heading {
}

.questionnaire-item_inputbox {
}

.questionnaire-checkbox-container {
}

.questionnaire-checkbox-container_heading {
}

.questionnaire-checkbox-container_details {
}

.done-body {
}

.prefecture-box {
}

.address {
}

.contact-note {
}

.questionnaire-selectbox {
}

.checkbox {
}

.pp-container {
}

.pp-container_inner {
}

.pp-container_heading {
}

.pp-container_details {
}

.pp-check {
}

.pp-check {
  margin-top: 40px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
}

/* input自体は非表示にする */
.pp-check input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;

  color: #333;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
}

/* カスタムチェックボックス */
.pp-check label.checkbox {
  position: relative;
  padding-left: 34px;
  cursor: pointer;
  user-select: none;
}

.pp-check label.checkbox a {
  text-decoration: underline;
}

.pp-check label.checkbox a:hover {
  text-decoration: none;
}

/* 枠線ボックス */
.pp-check label.checkbox::before {
  content: "";
  position: absolute;
  left: 0;
  top: -3px;
  width: 22px;
  height: 22px;
  border: 1px solid #bcbcbc;
  background-color: #fff;
  transition: all 0.2s ease;
}

/* チェックマーク */
.pp-check input[type="checkbox"]:checked + label.checkbox::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 0px;
  width: 6px;
  height: 12px;
  border-right: 2px solid #333;
  border-bottom: 2px solid #333;
  transform: rotate(45deg);
}

/* チェック時の枠色変化 */

.submit {
  margin: 50px auto 0;
  display: block;
  width: 358px;
  height: 69px;
  flex-shrink: 0;

  color: #fff;
  text-align: center;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 1; /* 15px */
  letter-spacing: 0.05em;

  background-color: #77adbe;
  border: none;
}

@media screen and (max-width: 767px) {
  .submit {
    margin: 31px auto 0;
    width: 100%;
    max-width: 313px;
    height: 62px;
  }
}

.submit-container {
  margin: 50px auto 0;
  display: flex;
  justify-content: center;
  gap: 0 20px;
}

.submit-container input[name="btn_submit"],
.submit-container input[name="btn_back"] {
  display: block;
  width: 320px;
  height: 69px;
  flex-shrink: 0;

  color: #fff;
  text-align: center;
  font-size: 15px;
  font-style: normal;
  font-weight: 600;
  line-height: 1; /* 15px */
  letter-spacing: 0.05em;

  background-color: #77adbe;
  border: none;
}

@media screen and (max-width: 767px) {
  .submit-container {
    margin: 40px auto 0;
    gap: 0 10px;
  }

  .submit-container input[name="btn_submit"],
  .submit-container input[name="btn_back"] {
    width: calc(50% - 5px);
    height: 62px;
  }
}

.submit-container input[name="btn_back"] {
  background-color: #f4f4f4;
  color: #333;
}

.disabled-btn {
}

.disabled {
}

.contact-note {
  margin-top: 9px;
  display: block;

  color: #333;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.6; /* 22.4px */
}

/* 印刷用CSS */
@media print {
  body {
    height: 90vh;
  }
  header,
  footer,
  .p-page-top,
  .l-cta,
  .p-cta-note,
  .p-cta-note__inner,
  .p-plan-type__btn {
    display: none;
  }

  .p-drawer-content,
  .p-plan-type__interior,
  .p-plan-type__content p {
    display: none;
  }

  .l-page {
    margin-top: 0;
  }

  .l-page:last-child {
    padding-bottom: 0;
  }

  .l-plan-type {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .p-plan-type {
    flex-direction: column;
    align-items: center;
    gap: 20px;
  }

  .p-plan-type__content p {
    font-size: 10px;
  }

  .p-plan-type__content {
    /* width: 42%; */
    width: 100%;
    display: flex;
    justify-content: space-between;
  }
  .p-plan-type__title-img {
    width: 50%;
  }
  .p-plan-type__plan-img {
    width: 100%;
  }
  .p-plan-type__content.plan-c--3 {
    justify-content: center;
  }
  .p-plan-type__content.plan-c--3 .p-plan-type__title-img {
    /* width: 70%; */
  }
  .p-plan-type__plan-img.plan-c--3 {
    width: 100%;
    margin: 100px auto 0;
  }
  .p-plan-type__floor {
    width: 220px;
    margin-top: 0;
  }
}

@media print and (max-width: 767px) {
  .p-drawer-content,
  .p-plan-type__interior,
  .p-plan-type__content p {
    display: none;
  }

  /* .p-plan-type__interior.tab-up-only,
  .p-plan-type__floor.tab-up-only,
  .p-plan-type__content p.tab-up-only {
    display: block;
  } */
}
