@charset "utf-8";
/* CSS Document */

/*--------------------------------------------------------------
FV
--------------------------------------------------------------*/
.fv-bg {
display: flex;
justify-content: center;
align-items: center;

width: 100%;
min-height: 750px;
min-height: 100svh;
padding: 120px 1.5em;
overflow: clip;
z-index: -1;
}
.fv-bg::before {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 1px;
left: 0;
background: var(--gradation-fv);
z-index: -1;
}
.fv-bg::after {
content: '';
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 1px;
left: 0;
background: url('../img/fv-bg.png') top /cover no-repeat;
mix-blend-mode: multiply;
opacity: 0.6;
background-size: 130% 130%;
z-index: -1;
}

.fv__logo__wrap{
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
padding: 0 1em;
position: absolute;
top: 0;
bottom: 5em;
right: 0;
left: 0;
margin: auto;
}

.fv__copy__layout{
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
gap: 3em;
width: 100%;
height: 100%;
margin-bottom: 5em;
padding: 0 10em;
}

.fv__logo img {width: 350px;}
.fv__copy{
display: flex;
flex-direction: column;
justify-content: space-between;
width: 100%;
max-width: 560px;
margin-bottom: 0;
font-family:"Yu Mincho Medium", "游明朝 Medium", YuMincho, "游明朝", "ヒラギノ明朝 Pro W3", "メイリオ", serif;
font-size: 1rem;
font-size: clamp(0.8125rem, 0.6625rem + 0.5vw, 1rem);
font-weight: 700;
letter-spacing: 0.3em;
color: var(--white);
writing-mode: vertical-rl;
}

/*アニメーション用*/
.fv__logo{display: none; opacity: 0;}
.fv__copy{display: flex; opacity: 0;}
.fv__copy--paragraph{margin-left: 2em;}

@media screen and (min-width: 1260px) {
.fv-bg {padding: 150px 1.5em;}
.fv__logo {margin-bottom: 5em;}
.fv__logo img {width: 400px;}
.fv__copy{
max-width: 560px;
font-size: 1.1rem;
}
}
@media screen and (max-width: 767px) {
.fv-bg::before {background-size: 100% 120%;}
.fv__logo img {width: 300px;}
.fv__copy__layout{padding: 0 4em;}
.fv__copy{max-width: 450px;}
}
@media screen and (max-width: 480px) {
.fv-bg {
min-height: 670px;
padding: 70px 1em;
}
.fv__copy__layout{padding: 0 3.5em;}
.fv__logo img {width: 230px;}
.fv__copy{line-height: 2;}
.fv__copy--paragraph{margin-left: 1em;}
}

/*--------------------------------------------------------------
コンセプト
--------------------------------------------------------------*/
.concept__wrap{margin: 2em 0;}
.concept__text__layout{
display: flex;
justify-content: center;
align-items: center;
}
.concept__text__wrap{/*変更*/
writing-mode: inherit;
display: table;
width: auto;
text-align: left;
margin-left: auto;
margin-right: auto;
margin-bottom: 2em;
}

.concept__title{
/*margin-left: 1rem;*/
font-size: 1.875rem;
font-size: clamp(1.375rem, 0.875rem + 1.6667vw, 2rem);
font-weight: 700;
letter-spacing: 0.4em;
margin-bottom: 1.5em;
line-height: 2.3;
text-align: center;
}

.concept__text{
font-size: 0.9375rem;
font-size: clamp(0.875rem, 0.775rem + 0.3333vw, 1rem);
font-weight: 500;
line-height: 3;
letter-spacing: 0.4em;
text-align: center;
}

.concept__logo{
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
gap: 2em 4em;
max-width: 400px;
margin: 3em auto 4em;
}
.concept__logo > div{width: calc((100% - 4em) / 2);}
.concept__logo > div:first-child{width: 65%;}

.concept__movie video{
width: 100%;
vertical-align: bottom;
}

.concept__gallery{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 1em;
}

@media screen and (min-width: 1081px) {
.concept__text{font-size: 17px;}
}
@media screen and (max-width: 1080px) {
.concept__title{line-height: 2;}
}
@media screen and (max-width: 767px) {
.concept__text__wrap{
writing-mode: inherit;
display: table;
width: auto;
text-align: left;
margin-left: auto;
margin-right: auto;
margin-bottom: 2em;
}
.concept__title{
margin-left: 0;
margin-bottom: 1.5em;
}
.concept__text{
margin-bottom: 1.5em;
line-height: 2.6;
}
.concept__logo{max-width: 300px;}
.concept__gallery{grid-template-columns: 1fr 1fr;}
}
@media screen and (max-width: 480px) {
.concept__text{
margin-bottom: 1.5em;
line-height: 2.2;
}
.concept__logo{
gap: 1.5em 3em;
margin: 1.8em auto 2em;
}
.concept__logo > div:first-child{width: 60%;}
.concept__gallery{gap: 0.5em;}
}

/*--------------------------------------------------------------
About
--------------------------------------------------------------*/
.about__text{
font-size: 1rem;
font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
font-weight: 700;
line-height: 3.3;
letter-spacing: 0.4em;
text-align: center;
}
.about__img{
max-width: 300px;
margin: 2em auto 2em;
}
@media screen and (max-width: 1080px) {
.about__text{line-height: 3;}
}
@media screen and (max-width: 480px) {
.about__text{
margin-bottom: 1.2em;
line-height: 2.8;
}
}

/*--------------------------------------------------------------
Hotel
--------------------------------------------------------------*/
.hotel__layout{
display: flex;
gap:2.5em;
margin-bottom: 2em;
}
.hotel__layout > div{width: 100%;}
.hotel__layout__img img{
aspect-ratio: 493/367;
object-fit: cover;
}
.hotel__layout__text p{
flex-shrink: 1;
line-height: 2;
letter-spacing: 0.1em;
text-align: left;
}
p.hotel__layout__text--hotel{
margin-bottom: 1em;
font-size: clamp(1.0625rem, 0.9125rem + 0.5vw, 1.25rem);
font-weight: 700;
line-height: 1.5;
}
p.hotel__layout__text--hotel span{
font-size: 0.7em;
font-weight: 500;
}
p.hotel__layout__text--lead{
margin-bottom: 0.5em;
font-size: 0.9375rem;
font-weight: 700;
}

.hotel__gallery{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 1.3em;
}

@media screen and (max-width: 767px) {
.hotel__layout{
flex-direction: column;
gap: 1em;
margin-bottom: 1em;
}
.hotel__gallery{
grid-template-columns: 1fr 1fr;
gap: 0.8em;
}
}
@media screen and (max-width: 480px) {
.hotel__gallery{gap: 0.5em;}
}

/*--------------------------------------------------------------
Feature
--------------------------------------------------------------*/
@media screen and (max-width:640px) {
/* レイアウト */
#feature.layout {padding: 3em 1rem;}
}
@media screen and (max-width:480px) {
#feature.layout {padding: 2em 1rem;}
}

.feature__wrap{padding: 0 1.5rem;}
.feature__inner{background-image: var(--gradation-features);}

.feature__layout-wrap{
display: flex;
flex-direction: column;
}
.feature__layout{
display: flex;
margin-bottom: 5em;
}
.feature__layout > div{width: 100%;}

/* 画像 */
.feature__layout__img{
flex-basis: 63%;
margin-left: -1em;
margin-left: -4em;
}
.feature__layout__img img{
aspect-ratio: 370/455;
object-fit: cover;
}
/* 画像二つ並び */
.feature__layout__img--row{
flex-basis: 63%;
display: flex;
flex-direction: column;
gap: 1em;
margin-left: -1em;
margin-left: -4em;
}
.feature__layout__img--row img{
aspect-ratio: 370/217;
object-fit: cover;
}

/* テキスト */
.feature__layout__text-wrap{
flex-grow: 1;
padding-inline: 3em 5em;
padding-inline: 3em 3em;
}
.feature__layout__title{
font-size: 1.6875rem;
font-size: clamp(1.0625rem, 0.5625rem + 1.6667vw, 1.6875rem);
font-weight: 700;
line-height: 1.6;
letter-spacing: 0.3em;
color: var(--white);
margin-bottom: 0.5em;
}

.line-slide{
content: "";
display: block;
width: 100%;
height: 1px;
margin-bottom: 1.5em;
background-color: #fff;
}

p.feature__layout__lead{
color: var(--white);
font-size: clamp(0.875rem, 0.675rem + 0.6667vw, 1.125rem);
font-weight: 600;
letter-spacing: 0.2em;
line-height: 1.8;
margin: 0;
}
p.feature__layout__text{
margin-top: 0.7em;
color: var(--white);
font-size: 0.75rem;
font-size: clamp(0.75rem, 0.675rem + 0.25vw, 0.84375rem);
font-weight: 400;
letter-spacing: 0.1em;
line-height: 1.8;
}
p.feature__layout__text span{margin-bottom: 0.7em;}

/* 反転 */
.feature__layout--reverse{flex-direction: row-reverse;}
.feature__layout--reverse .feature__layout__img{
margin-right: -1em;
margin-right: -4em;
margin-left: 0;
}
.feature__layout--reverse .feature__layout__text-wrap{
padding-inline: 5em 3em;
padding-inline: 3em 3em;
}

@media screen and (max-width:1080px) {
.feature__layout__text-wrap{
padding-inline: 2em 4em;
padding-inline: 2em 1em;
}
.feature__layout--reverse .feature__layout__text-wrap{
padding-inline: 4em 2em;
padding-inline: 1em 2em;
}
}
@media screen and (max-width: 640px) {
.feature__wrap{padding: 0 0.5rem;}
.feature__layout{margin-bottom: 4em;}
.feature__layout{
flex-direction: column;
gap: 1.2em;
}
.feature__layout__img img{
aspect-ratio: 3/2;
object-fit: cover;
}
.feature__layout__img--row img{
aspect-ratio: 3/1.2;
object-fit: cover;
}
.feature__layout__img, .feature__layout__img--row {max-width: 95%; margin-left: -3em;}
.feature__layout--reverse .feature__layout__img{margin-left: auto; margin-right: -3em;}
.feature__layout__text-wrap{padding-inline: 2em 0; padding-inline: 0;}
.feature__layout--reverse .feature__layout__text-wrap{padding-inline: 0 2em; padding-inline: 0;}
.feature__layout__title{margin-bottom: 0.8em;}
}
@media screen and (max-width: 480px) {
.feature__wrap{padding: 0;}
.feature__layout{margin-bottom: 2.5em;}
.feature__layout{gap: 1em;}
.feature__layout__img, .feature__layout__img--row {max-width: 90%; margin-left: -2em;}
.feature__layout--reverse .feature__layout__img{max-width: 90%; margin-left: auto; margin-right: -2em;}
}

/*--------------------------------------------------------------
プラン
--------------------------------------------------------------*/
#menu .layout {padding: 2em 3.5em;}
#menu .plan__menu-wrap .layout {padding: 4em 3.5em 3em;}
@media screen and (max-width:980px) {
#menu .layout {padding: 2em 2em;}
#menu .plan__menu-wrap .layout {padding: 4em 2em 3em;}
}

@media screen and (max-width:640px) {
/* レイアウト */
#plan.layout {padding: 3em 1rem;}
#menu .layout {padding: 1.8em 1.2em;}
}
@media screen and (max-width:450px) {
#plan.layout {padding: 2em 1rem;}
#menu .layout {padding: 1.5em 1em;}
#menu .plan__menu-wrap .layout {padding: 3em 1.2em 2em;}
}

#plan section{padding: 0 4em;}
#plan section#menu{padding: 0 1em;}
#plan section#privilege {padding: 0 1em;}
#plan section#option{padding: 0 3em;}


.plan__menu-inner{
background-image: url("../img/plan-bg-1000.svg");
background-repeat: no-repeat;
background-position:50% 50%;
background-size:100% 100%;
}

.plan__outline-text__wrap{
display: table;
text-align: center;
margin: 0 auto;
margin-bottom: 1.5em;
}
.plan__outline-text__wrap--price{margin-bottom: 2em;}
.plan__outline-text{
margin-bottom: 4em;
padding-bottom: 5px;
text-align: center;
font-size: 1.5625rem;
font-size: clamp(1rem, 0.6rem + 1.3333vw, 1.5rem);
font-weight: 700;
line-height: 2.4;
letter-spacing: 0.4em;

display: inline !important;
background: var(--gradation);
background-repeat: no-repeat;
background-size: 100% 2px;
background-position: bottom;
position: relative;
}
.plan__outline-text span {
display: inline !important;
padding-bottom: 5px;
background-image : linear-gradient(to right, var(--white) 5px, transparent 5px);
background-size: 8px 8px;
background-repeat: repeat-x;
background-position: bottom;
}
.plan__outline-text__wrap--price .plan__outline-text span {
background-image : linear-gradient(to right, var(--l-gray) 5px, transparent 5px);
}

.plan__price{
margin-bottom: 1em;
text-align: center;
font-size: clamp(1.125rem, 0.625rem + 1.6667vw, 1.75rem);
font-weight: 700;
line-height: 1.6;
letter-spacing: 0.3em;
}

/* メニュー */
.plan__item__wrap{
display: flex;
flex-direction: column;
justify-content: center;
gap: 0.7em;
width: 100%;
}
.plan__item{
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1em 2.5em;
}
.plan__item li{
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
height: calc( 1rem + 1.6em + 2.4em);
margin: 0 auto;
padding: 1.2em;
font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
font-weight: 700;
text-align: center;
line-height: 1.6;
position: relative;
}
.plan__item li span{
margin-top: 0.2em;
font-size: 0.8em;
font-weight: 400;
line-height: 1.4;
letter-spacing: 0.1em;
}
.plan__item li::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -2;
border-radius: 50px;
background: var(--gradation);
}
.plan__item li::after {
content: "";
position: absolute;
width: calc(100% - 4px);
height: calc(100% - 4px);
top: 2px;
left: 2px;
z-index: -1;
border-radius: 48px;
background: white;
}

.plan__item.plan__item--large{
display: grid;
grid-template-columns: 1fr;
}
.plan__item.plan__item--large li{
height: calc( 1.5625rem + 1.6em + 2em);
padding: 1em;
font-size: clamp(1rem, 0.55rem + 1.5vw, 1.5625rem);
}
.plan__item.plan__item--large li::before {border-radius: 55px;}
.plan__item.plan__item--large li::after {border-radius: 53px;}

.plan__item__plus{margin: 0 auto;}
.plan__item__plus i{
font-size: clamp(2rem, 1.2rem + 2.6667vw, 3rem);
vertical-align: middle;
}

.plan__present__wrap{background-color: var(--l-gray)}

.plan__present{
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 2em;
}
.plan__present__img{margin-bottom: 1em;}
.plan__present__img img{
aspect-ratio: 1/1;
object-fit: cover;
}
.plan__present__text{
margin: 0;
font-size: clamp(0.75rem, 0.45rem + 1vw, 1.125rem);
font-weight: 700;
letter-spacing: 0.2em;
line-height: 1.6;
text-align: center;
}
p.plan__present__text span{
display: inline-block;
margin-top: 0.3em;
font-size: 0.65em;
font-weight: 400;
letter-spacing: 0.1em;
line-height: 1.6;
}

.plan__attention{
/*text-align: right;*/
display: table;
margin: 0 auto;
margin-top: 1em;
}
.plan__attention p{
display: block;
line-height: 1.6;
}

@media screen and (max-width: 980px) {
.plan__item{gap: 1em 1.5em;}
}
@media screen and (max-width: 767px) {
.plan__outline-text{margin-bottom: 2em;}
.plan__item{grid-template-columns: 1fr;}
.plan__present{gap: 1em;}
.plan__menu-inner{background-image: url("../img/plan-bg-767.svg");}
}
@media screen and (max-width: 640px) {
#plan section{padding: 0 2em;}

.plan__item li{
height: calc( 1rem + 1.6em + 2em);
padding: 1em;
}
.plan__item.plan__item--large li::before {border-radius: 50px;}
.plan__item.plan__item--large li::after {border-radius: 48px;}
.plan__present__text span{font-size: 0.9em;}
.plan__present{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.plan__present li{width: calc((100% - 1em) / 2);}
}
@media screen and (max-width: 480px) {
#plan section{padding: 0;}
#plan section#menu{padding: 0;}
.plan__menu-inner{background-image: url("../img/plan-bg-480.svg");}
.plan__present{gap: 0.7em;}
.plan__present li{
width: calc((100% - 0.7em) / 2);
}
}

/* 割引特典 */
.plan__privilege{
display: flex;
gap: 1em;
margin-top: 4em;
}
.plan__privilege li{
width: 100%;
padding: 1em 1.2em;
text-align: center;
background-color: var(--l-gray);
border: 2px solid;
border-image: var(--gradation-line);
}
.plan__privilege__title{
margin: 0 0 0.5em;
font-size: clamp(1rem, 0.8rem + 0.6667vw, 1.25rem);
font-size: clamp(1.0625rem, 0.9125rem + 0.5vw, 1.25rem);
font-weight: 700;
text-align: center;
letter-spacing: 0.2em;
line-height: 1.6;
}
.plan__privilege__text{
margin: 0 0 0.2em;
font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
font-weight: 500;
text-align: center;
letter-spacing: 0.2em;
line-height: 1.8;
}
.plan__privilege__item {
display: block;
width: 100%;
margin: 0 auto 0.5em;
padding: 0.7em;
font-size: clamp(1.125rem, 1.0096rem + 0.3846vw, 1.25rem);.
font-size: clamp(1.0625rem, 0.5625rem + 1.6667vw, 1.6875rem);
font-weight: 700;
text-align: center;
line-height: 1.6;
background: var(--gradation-vertical);
color: var(--white);
border-radius: 8px;
}
.plan__privilege__item span{
margin-bottom: 0.2em;
font-size: 0.8em;
font-weight: 400;
line-height: 1.4;
letter-spacing: 0.1em;
}
.plan__privilege .plan__option__text2{font-size: 0.75rem;}

@media screen and (max-width: 640px) {
.plan__privilege{flex-direction: column;}
.plan__privilege__item {padding: 0.5em;}
}

/* オプション */
.plan__option{
display: grid;
grid-template-columns: 1fr 1fr 1fr;
gap: 0.5em;
}
.plan__option li{
padding: 0.4em;
background-color: var(--l-gray);
}
.plan__option__img{margin-bottom: 0.6em;}
.plan__option__img img{
aspect-ratio: 14/7;
object-fit: cover;
}
.plan__option__text{
margin: 0;
margin-bottom: 0.5em;
font-size: 0.8rem;
font-size: clamp(0.625rem, 0.4688rem + 0.5556vw, 0.84375rem);
font-size: clamp(0.75rem, 0.6346rem + 0.3846vw, 0.875rem);
font-weight: 700;
letter-spacing: 0.1em;
line-height: 1.8;
}
.plan__option__text > span{
display: block;
text-align: left;
font-size: 0.6rem;
font-weight: 400;
line-height: 1.6;
letter-spacing: 0.25em;
}
.plan__option__text > span > span{white-space: nowrap;}
.plan__option__text2{
margin: 0;
font-size: 0.844rem;
font-size: clamp(0.625rem, 0.4688rem + 0.5556vw, 0.75rem);
font-size: clamp(0.75rem, 0.6923rem + 0.1923vw, 0.8125rem);
/*font-size: clamp(0.6875rem, 0.5721rem + 0.3846vw, 0.8125rem);*/
font-weight: 400;
letter-spacing: 0.1em;
line-height: 1.8;
text-align: left;
}
.plan__option__text2 span{
display: block;
word-break: break-all;
line-height: 1.6;
letter-spacing: 0.05em;
}

/* もっと見る */
.plan__option li.more--hidden {
display: none;
opacity: 0;
}
.plan__option li.more--show {
animation: optionFadeIn 1s ease; /* フェードイン用のスタイル */
}
@keyframes optionFadeIn {
0% {
transform: translateY(20px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}

/* ボタン変更 */
#option .btn{
max-width: 220px;
margin: 2em auto 0;
}
#option .btn a {
min-height: inherit;
padding: 1em;
font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
font-weight: 400;
}

/* ニューボーンフォト */
.plan__photo{
display: flex;
gap: 1.5em;
margin-top: 2em;
padding: 1em 1em 1em 2em;
background-color: var(--l-gray);
}
.plan__photo--r{min-width: 280px;}    

.plan__photo .contents-title{
margin-top: 0.7em;
margin-bottom: 0.2em;
line-height: 1.6;
}
.plan__photo__studio{
margin: 0;
text-align: center;
font-size: clamp(0.625rem, 0.4688rem + 0.5556vw, 0.75rem);
font-size: 0.75rem;
font-weight: 500;
letter-spacing: 0.1em;
line-height: 1.8;
}
.plan__photo__lead{
margin-top: 1.5em;
margin-bottom: 1em;
padding: 0.5em;
font-size: clamp(1rem, 0.8rem + 0.6667vw, 1.25rem);
font-size: clamp(1.0625rem, 0.9125rem + 0.5vw, 1.25rem);
font-weight: 700;
line-height: 1.5;
letter-spacing: 0.2em;
color: var(--blue);
text-align: center;
border-top: 2px solid;
border-bottom: 2px solid;
border-image: var(--gradation-line);
}

.plan__photo__detail {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: wrap;
gap: 0 1em;
margin-bottom: 1em;
}
.plan__photo__detail > dt {
width: 16rem;
padding: 0.5em 0.2em;
font-size: clamp(0.75rem, 0.45rem + 1vw, 1.125rem);
font-size: clamp(0.8125rem, 0.524rem + 0.9615vw, 1.125rem);
font-weight: 700;
line-height: 1.8;
letter-spacing: 0.1em;
}
.plan__photo__detail > dd {
width: 13rem;
padding: 0.5em 0.2em;
}
#option .plan__photo__detail .btn {
max-width: 200px;
margin: 0;
}
#option .plan__photo__detail .btn a {padding: 0.8em 1em;}

.plan__photo__notice{
margin: 0 0 0.2em;
padding: 1em 0.5em;
text-align: center;
font-size: clamp(0.75rem, 0.65rem + 0.3333vw, 0.875rem);
font-size: clamp(0.625rem, 0.4688rem + 0.5556vw, 0.75rem);
font-size: 0.75rem;
line-height: 1.8;
letter-spacing: 0.05em;
background-color: var(--black);
color: var(--white);
}
.plan__photo .list-mark{
font-size: clamp(0.625rem, 0.4688rem + 0.5556vw, 0.75rem);
font-size: 0.75rem;
line-height: 1.6;
letter-spacing: 0.05em;
}
    
.plan__photo__img__wrap{
display: flex;
flex-direction: column;
gap: 1em;
height: 100%;
}
.plan__photo__img{height: 100%;}
.plan__photo__img figure{height: 100%;}
.plan__photo__img img{
width: 300px;
height: 100%;
/*aspect-ratio: 10/6;*/
object-fit: cover;
}

@media screen and (max-width: 1080px) {
.plan__photo__detail > dd {width: 12rem;}
}
@media screen and (max-width: 980px) {
.plan__photo{
flex-direction: column;
padding: 1em;
}
.plan__photo .contents-title{margin-bottom: 0.5em;}
.plan__photo__detail > dt {width: 17rem;}
.plan__photo__detail > dd {width: 14rem;}
.plan__photo__img__wrap{flex-direction: row;}
.plan__photo__img{height: auto;}
.plan__photo__img img{
width: 100%;
aspect-ratio: 10/6;
}
}
@media screen and (max-width: 767px) {
.plan__photo__detail > dt {width: 14rem;}
.plan__photo__detail > dd {width: 13rem;}
}
@media screen and (max-width: 640px) {
.plan__photo__detail > dt {width: 13rem;}
.plan__photo__detail > dd {width: 12rem;}
#option .plan__photo__detail .btn {padding: 0;}
.plan__photo__notice {margin-bottom: 1em;}
}
@media screen and (max-width: 560px) {
.plan__photo__detail > dt {width: 12.5rem;}
.plan__photo__detail > dd {width: 11rem;}
}
@media screen and (max-width: 480px) {
.plan__photo{gap: 1em; padding: 0.7em;}
.plan__photo__detail > dt {gap: 0.5em}
.plan__photo__detail > dt {width: 11.5rem;}
.plan__photo__detail > dd {width: 7.5rem;}
#option .plan__photo__detail .btn a {
font-size: 0.75rem;
letter-spacing: 0.05em;
}
.plan__photo__img__wrap{gap: 0.5em;}
}


/* アメニティ */
.plan__amenity {
display: flex;
flex-wrap: wrap;
margin-top: 3em;
font-size: 0.875rem;
line-height: 2.6;
letter-spacing: 0.1em;
}
.contents-subtitle + .plan__amenity {margin-top: 4em;}
.plan__amenity > dt {
width: 12rem;
padding: 0.7em 0.2em;
font-weight: 700;
border-bottom: 0.5px solid var(--line-black);
}
.plan__amenity > dd {
width: calc(100% - 12rem);
padding: 0.7em 0.2em;
font-weight: 400;
border-bottom: 0.5px solid var(--line-black);
}
.plan__amenity dt:first-of-type, .plan__amenity dd:first-of-type {
border-top: 1px solid;
}
.plan__amenity dt:last-of-type, .plan__amenity dd:last-of-type {
border-bottom: 1px solid;
}
.plan__amenity__list li{
padding: 0.3em 0;
line-height: 2;
}

.plan__amenity li.list-mark{
margin-top: 0.5em;
line-height: 1.6;
}

@media screen and (max-width: 767px) {
.plan__option{
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.plan__option li{width: calc((100% - 0.5em) / 2);}
.plan__amenity {flex-direction: column;}
.plan__amenity > dt {
width: 100%;
padding: 0.7em 0.2em 0;
border-bottom: none;
}
.plan__amenity > dd {
width: 100%;
padding: 0 0.2em 0.7em;
}
.plan__amenity dd:first-of-type {border-top: none;}
.plan__amenity dt:last-of-type {border-bottom: none;}
}
@media screen and (max-width: 640px) {
#plan section#option{padding: 0 1em;}
}
@media screen and (max-width: 480px) {
#plan section#option{padding: 0;}
.plan__option{gap: 0.3em;}
.plan__option li{
width: calc((100% - 0.3em) / 2);
}
/*.plan__option li:nth-child(3){
width: 70%;
}*/
.plan__option__text > span{letter-spacing: 0.15em;}
}

/*--------------------------------------------------------------
ルーム
--------------------------------------------------------------*/
.room__plantitle{
margin-bottom:0.5em;
font-size: 1.25rem;
font-size: clamp(1rem, 0.8214rem + 0.6349vw, 1.25rem);
font-weight: 700;
text-align: right;
line-height: 1.8;
letter-spacing: 0.1em;
}
.room__layout{
display: flex;
gap:2em;
margin-bottom: 3em;
}
.room__layout > div{width: 100%;}
.room__layout__img {
max-width: 440px;
margin-top: calc(clamp(1rem, 0.8214rem + 0.6349vw, 1.25rem) + 1.8em + 0.5em);
margin-top: calc(1.25rem * 1.8 + 0.5em);
margin: 0 auto;
}
.room__layout__img img {
aspect-ratio: 493 / 367;
object-fit: cover;
}
.room__layout__detail {
display: flex;
flex-wrap: wrap;
font-size: 0.875rem;
line-height: 2.6;
letter-spacing: 0.1em;
}
.room__layout__detail > dt {
width: 10rem;
padding: 0.7em 0.2em;
font-weight: 700;
border-bottom: 0.5px solid var(--line-black);
}
.room__layout__detail > dd {
width: calc(100% - 10rem);
padding: 0.7em 0.2em;
font-weight: 400;
border-bottom: 0.5px solid var(--line-black);
}
.room__layout__detail > dd span{
line-height: 1.8;
margin-top: 0.3em;
}

.room__layout__detail dt:first-of-type, .room__layout__detail dd:first-of-type {
border-top: 1px solid;
}
.room__layout__detail dt:last-of-type, .room__layout__detail dd:last-of-type {
border-bottom: 1px solid;
}
.room__gallery{
display: grid;
grid-template-columns: 1fr 1fr 1fr 1fr;
gap: 1.5em;
}

@media screen and (max-width: 1080px) {
.room__layout{
gap:1.5em;
margin-bottom: 2em;
}
.room__layout__detail > dt {width: 7rem;}
.room__layout__detail > dd {width: calc(100% - 7rem);}
.room__gallery{gap: 1em;}
}
@media screen and (max-width: 767px) {
.room__plantitle{text-align: left;}
.room__layout{flex-direction: column;}
.room__layout__detail {line-height: 2.2;}
.room__layout__img {margin-top: 0;}
.room__gallery{grid-template-columns: 1fr 1fr;}
}
@media screen and (max-width: 480px) {
.room__layout__detail {line-height: 2;}
.room__layout__detail > dt {
width: 100%;
padding: 0.7em 0.2em 0;
border-bottom: none;
}
.room__layout__detail > dd {
width: 100%;
padding: 0 0.2em 0.7em;
}
.room__layout__detail > dd span{line-height: 1.6;}
.room__layout__detail dd:first-of-type {border-top: none;}
.room__layout__detail dt:last-of-type {border-bottom: none;}
.room__gallery{gap: 0.5em;}
}

/*--------------------------------------------------------------
service
--------------------------------------------------------------*/
.service__item{
display: grid;
grid-template-columns: 1fr;
gap: 0.5em;
}
.service__item li{
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
width: 100%;
height: 4em;
margin: 0 auto;
padding: 0.5em 1em;

font-size: 1.313em;
font-size: clamp(1.0625rem, 0.8625rem + 0.6667vw, 1.3125rem);
font-weight: 700;
letter-spacing: 0.5em;
position: relative;
}
.service__item li > span{
font-size: 0.7em;
font-weight: 400;
line-height: 1.4;
letter-spacing: 0.1em;
text-align: center;
}

.service__item li::before {
content: "";
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -2;
border-radius: 50px;
background: var(--gradation);
}
.service__item li::after {
content: "";
position: absolute;
width: calc(100% - 4px);
height: calc(100% - 4px);
width: calc(100% - 2px);
height: calc(100% - 2px);
top: 2px;
left: 2px;
top: 1px;
left: 1px;
z-index: -1;
border-radius: 48px;
background: white;
}

/* 三角 */
.service__item--triangl-wrap{
display: flex;
align-items: center;
justify-content: center;
height: 100%;
}
.service__item--triangle {
display: inline-block;
position: relative;
width: 38px;
height: 26px;
background: var(--gradation);
clip-path: polygon(0 0, 100% 0%, 50% 100%);
}
.service__item--triangle::before {
content: "";
display: block;
position: absolute;
top: 1px;
left: 50%;
width: 34.1px;
height: 23.3px;
background: var(--white);
clip-path: polygon(0 0, 100% 0%, 50% 100%);
transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
.service__item--triangle {
width: 33px;
height: 21px;
}
.service__item--triangle::before {
width: 28.9px;
height: 18.4px;
}
}
@media screen and (max-width: 640px) {
.service__item li > span{font-size: 0.6em;}
}
@media screen and (max-width: 480px) {
.service__item li > span{font-size: 0.6em;}
.service__item--triangle {
width: 28px;
height: 16px;
}
.service__item--triangle::before {
width: 23.6px;
height: 13.5px;
}
}

/*--------------------------------------------------------------
dayflow
--------------------------------------------------------------*/
.dayflow__wrap{padding-inline: 0.5em;}

.dayflow__item__wrap{
display: flex;
flex-direction: column;
margin-bottom: 2em;
}
.dayflow__item{
display: flex;
flex-direction: column;
}

.dayflow__item__top{
display: flex;
align-items: flex-start;
position: relative;
}
.dayflow__taitle{margin: 0;}
.dayflow__item__symbol{
width: 50px;
text-align: center;
}
.dayflow__item__symbol img{
max-width: 30px;
padding-bottom: 2px;
background-color: #fff;
}

.dayflow__item__date, .dayflow__item__date--text{
min-width: 90px;
font-size: 21px;
font-size: clamp(0.9375rem, 0.6375rem + 1vw, 1.3125rem);
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.2em;
white-space: nowrap;
padding-top: 10px;
flex-shrink: 10;
}
.dayflow__item__date--text{margin-right: 1em;}
p.dayflow__item__title{
margin: 0;
margin-bottom: 0.3em;
font-size: 21px;
font-size: clamp(0.9375rem, 0.6375rem + 1vw, 1.3125rem);
font-weight: 700;
line-height: 1.4;
letter-spacing: 0.2em;
padding-top: 10px;
}

.dayflow__item__bottom{
display: flex;
align-items: center;
position: relative;
max-width: 840px;
padding-bottom: 3em;
}

.dayflow__item__line__wrap{width: 140px;}
.dayflow__item__line{
content: ""; 
position: absolute; 
left: 15px;
top: 0; 
width: 1px;
height: 100%;
margin: auto;
background-color: var(--black);
z-index: -1;
}
.dayflow__item__symbol .dayflow__item__line{
top: inherit;
bottom: 0;
}

.dayflow__item__detail{width: calc(100% - 140px);}
p.dayflow__item__caption{
margin-bottom: 0.2em;
font-size: 1.1rem;
font-size: clamp(0.875rem, 0.675rem + 0.6667vw, 1.125rem);
font-weight: 500;
line-height: 1.4;
}
p.dayflow__item__caption span{
font-size: 0.8em;
font-weight: 400;
line-height: 1.4;
}
p.dayflow__item__text{
margin-bottom: 0.7em;
font-size: 14px;
font-size: clamp(0.75rem, 0.65rem + 0.3333vw, 0.875rem);
font-weight: 400;
line-height: 1.6;
}

.dayflow__item__img__wrap{
display: grid;
grid-template-columns: 1fr 1fr;
gap: 2em 1.5em;
margin-top: 2em;
}
.dayflow__item__text + .dayflow__item__img__wrap{margin-top: 0;}
.dayflow__item__img__wrap li{
display: flex;
flex-direction: column;
}
.dayflow__item__img__wrap img{
aspect-ratio: 500 / 320;
object-fit: cover;
}
.dayflow__item__img__wrap figure{margin-top: auto;}


.dayflow__title__wrap{
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 2em;
border-bottom: 1px dashed;
}
.dayflow__title__wrap h3{
padding: 0 0.5em;
font-size: 21px;
font-size: clamp(1rem, 0.75rem + 0.8333vw, 1.3125rem);
font-weight: 700;
}
.dayflow__title__wrap p{
font-size: 21px;
font-size: clamp(0.9375rem, 0.6375rem + 1vw, 1.3125rem);
font-weight: 700;
margin: 0;
}

.dayflow__other__text {
max-width: 840px;
margin-left: 135px;
}
.dayflow__other__text p{margin: 0;}

@media screen and (max-width: 767px) {
.dayflow__item__symbol{width: 35px;}
.dayflow__item__symbol img{max-width: 25px;}
.dayflow__item__date, .dayflow__item__date--text{min-width: 70px;}
.dayflow__item__line__wrap{width: 105px;}
.dayflow__item__line{left: 10px;}
.dayflow__item__detail{width: calc(100% - 105px)}
.dayflow__item__img__wrap{
gap: 1.2em 1em;
margin-top: 1.5em;
}
.dayflow__other__text {
max-width: inherit;
margin-left: 0;
}
}
@media screen and (max-width: 640px) {
.dayflow__item__line__wrap{width: 35px;}
.dayflow__item__detail{width: calc(100% - 35px)}
}
@media screen and (max-width: 480px) {
.dayflow__wrap{padding-inline: 0; }
.dayflow__item__top{flex-wrap: wrap;}
.dayflow__item__symbol{width: 25px;}
.dayflow__item__symbol img{max-width: 20px;}
.dayflow__item__date, .dayflow__item__date--text{min-width: 55px;}
p.dayflow__item__title--02{margin-left: 25px;}
.dayflow__item__date--text {margin-right: 0;}
.dayflow__item__line__wrap{width: 25px;}
.dayflow__item__line{left: 8px;}
.dayflow__item__bottom{
padding-bottom: 2em;
}
.dayflow__item__detail{width: calc(100% - 25px)}
.dayflow__item__img__wrap{
gap: 1em 0.7em;
margin-top: 1em;
}
p.dayflow__item__text{margin-bottom: 0.8em;}
}


/*--------------------------------------------------------------
message
--------------------------------------------------------------*/
.message__layout{
display: flex;
gap:3em;
margin-bottom: 2em;
}
.message__layout > div{width: 100%;}
.message__layout__img{
max-width: 300px;
margin: 0 auto;
}
.message__layout__img img{
/*aspect-ratio: 15/14;*/
object-fit: cover;
height: 100%;
object-position: center top;
}
.message__layout__img figure{
height: 100%;
}

/*反転*/
.message__layout--reverse{flex-direction: row-reverse;}

.message__layout__subtitle {
margin-bottom: 0em;
font-family: Futura, 'Century Gothic', "Zen Kaku Gothic New", YuGothic, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
font-size: 0.75rem;
font-weight: 400;
text-align: left;
line-height: 1.8;
letter-spacing: 0.2em;
}
.message__layout__title{
margin-bottom: 1em;
font-size: 1.25rem;
font-size: clamp(1rem, 0.8rem + 0.6667vw, 1.25rem);
font-weight: 700;
text-align: left;
line-height: 1.8;
letter-spacing: 0.1em;
}
.message__layout__name{
font-size: clamp(0.875rem, 0.775rem + 0.3333vw, 1rem);
font-weight: 700;
line-height: 2;
margin-bottom: 1.2em;
}

.message__layout p:not(.message__layout__name, .contents-subtitle){
line-height: 2;
margin-bottom: 0;
letter-spacing: 0.05em;
}

.midwife__wrap{
padding: 1em 2em;
padding: 1em 2em 4em;
background-color: var(--l-gray);
}
.midwife__wrap .message__layout{margin-bottom: 0;}

/* 助産師 */
#midwife .contents-subtitle{margin-bottom: 5em;}
#midwife .message__layout__img{max-width: 350px;}
#midwife .message__layout__img img{
aspect-ratio: 443/391;
aspect-ratio: none;
/*height: 100%;
max-height: inherit;
object-position: center top;*/
}
#midwife p:not(.message__layout__name, .contents-subtitle){margin-bottom: 0;}

@media screen and (max-width: 1080px) {
.message__layout{gap:2em;}
}
@media screen and (max-width: 767px) {
.message__layout{flex-direction: column;}
#doctor .message__layout{
max-width: 420px;
margin: auto;
}
.message__layout__img img{aspect-ratio: 15/14;}
.message__layout__name{line-height: 2;}
}
@media screen and (max-width: 480px) {
.midwife__wrap{padding: 1em;}
.message__layout {gap: 1.5em;}
}

/*--------------------------------------------------------------
topics
--------------------------------------------------------------*/
/* ボタン変更 */
#topics .btn{
max-width: 220px;
margin: 2em 0 0 auto;
}
#topics .btn a {
padding: 1em;
font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
font-weight: 400;
min-height: inherit;
}

.topics__list li{
margin-bottom: 1em;
padding: 1em 0;
border-bottom: 1px dashed var(--line-black);
}

.topics__date, .topics__cat{
display: inline-flex;
margin: 0;
font-family: Futura, 'Century Gothic', "Zen Kaku Gothic New", YuGothic, 'Hiragino Kaku Gothic ProN', 'Yu Gothic', Meiryo, sans-serif;
font-size: 0.8125rem;
font-size: clamp(0.75rem, 0.7054rem + 0.1587vw, 0.8125rem);
letter-spacing: 0.2em;
}
.topics__cat::before{
content: "/";
margin-right: 0.5em;
}

.topics__text{
margin: 0;
font-size: clamp(0.875rem, 0.7857rem + 0.3175vw, 1rem);
font-weight: 400;
letter-spacing: 0.1em;
line-height: 2.4;
}
.topics__text + .topics__text{
margin-top: 1em;
}
@media screen and (max-width: 640px) {
#topics .btn{padding: 0;}
}

/* もっと見る */
.topics__list li.more--hidden {
display: none;
opacity: 0;
}
.topics__list li.more--show {animation: fadeIn 1s ease; /* フェードイン用のスタイル */}
@keyframes fadeIn {
0% {
transform: translateY(20px);
opacity: 0;
}
100% {
transform: translateY(0);
opacity: 1;
}
}



/*--------------------------------------------------------------
アクセス
--------------------------------------------------------------*/
.access__layout{
display: flex;
gap: 2em;
}
.access__layout > div{width: 100%;}

.access__map{width: 100%;}
.access__map iframe{max-width: 100%;}

.access__icon{font-size: 1.3em;}

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

/*--------------------------------------------------------------
コンタクト
--------------------------------------------------------------*/
.contact__title{
text-align: center;
font-size: clamp(1rem, 0.8214rem + 0.6349vw, 1.25rem);
font-weight: 700;
line-height: 2;
letter-spacing: 0.2em;
}
.contact__text{
text-align: center;
font-size: clamp(0.75rem, 0.6607rem + 0.3175vw, 0.875rem);
font-weight: 400;
line-height: 2.9;
letter-spacing: 0.1em;
}


/*--------------------------------------------------------------
利用規約
--------------------------------------------------------------*/
#terms h2, #cancelpolicy h2{
font-size: 1.1rem;
margin: 1.5em 0 0.5em;
}

#terms p, #terms ol, #terms ul, #terms li{
font-size: 1rem;
line-height: 1.8;
letter-spacing: 0em;
margin: 0;
word-break: inherit;
overflow-wrap: inherit;
text-align: justify;
}
#terms li{
list-style-type: decimal;
list-style-position: inside;
padding-left: 0.5rem;
margin-bottom: 0.5em;
padding-left:0.875rem;
text-indent: -0.875rem;
}
#terms li ol {margin-top: 0.5em;}

#terms li ol li {
list-style-type: none;
margin-bottom: 0.3em;  
padding-left:2.45rem;
text-indent: -2.45rem;
}
@media screen and (max-width:767px) {
#terms h3{
font-size: 1rem;
margin: 1.2em 0 0.5em;
}
#terms p, #terms ol, #terms ul, #terms li{font-size: 0.875rem;}
}

/*--------------------------------------------------------------
特商法
--------------------------------------------------------------*/
.tokushoho dt,.tokushoho dd{
font-size: 1rem;
padding-inline: 0.3em;
word-break: inherit;
overflow-wrap: inherit;
text-align: justify;
}
.tokushoho dt{
font-weight: 500;
margin-bottom: 0.2em;
}
.tokushoho dd{
margin-bottom: 1em;
border-bottom: 1px dashed;
padding-bottom: 1em;
}
.tokushoho dd:last-child{margin-bottom: 0;}

.tokushoho dd a{
text-decoration: underline;
text-underline-offset:0.3em;
color: inherit;
}
.tokushoho dd a:hover {
	text-decoration: none;
    text-underline-offset: 0.3em;
	backface-visibility: hidden;
    opacity: 0.7;
}

@media screen and (max-width:767px) {
.tokushoho dt,.tokushoho dd{font-size: 0.875rem;}
}

/*--------------------------------------------------------------
キャンセルポリシー
--------------------------------------------------------------*/
#cancelpolicy p{
line-height: 1.6;
}

.cancel__table, .cancel__table--sp{
width: 100%;
margin-top: 1.2em;
margin-bottom: 0.5em;
border-collapse: collapse;
border: 1px solid var(--line-black);
}
.cancel__table th, .cancel__table td, .cancel__table--sp th, .cancel__table--sp td{
width: 50%;
padding: 0.5em;
border-right: 1px solid var(--line-black);
border-bottom: 1px solid var(--line-black);
font-size: 0.875rem;
line-height: 1.6;
text-align: left;
}
.cancel__table th:last-child, .cancel__table td:last-child, .cancel__table--sp th:last-child, .cancel__table--sp td:last-child{
border-right: none;
}
.cancel__table tr:last-child td, .cancel__table--sp tr:last-child td{
border-bottom: none;
}
.cancel__table th, .cancel__table--sp th{
color: var(--white);
background: var(--brown);
}
.cancel__table--sp th{
border: none;
}
.cancel__table td:first-child {
min-width: 80px;
font-weight: 500;
/*color: var(--white);*/
background: var(--brown-alpha);
}
/*.cancel__table--sp td:first-child{
background: #fff;
}*/

.cancel__table--sp td:first-child{
width: 100%;
min-width: 125px;
font-weight: 500;
/*color: var(--white);
background: var(--brown-alpha);*/
}
.cancel__table--sp tr:nth-child(3n) td{
border-bottom: none;
}

/*@media screen and (min-width:768px) {
.cancel__table{display: block;}
.cancel__table--sp{display: none;}
}
@media screen and (max-width:767px) {
.cancel__table{display: none;}
.cancel__table--sp{display: block;}
}*/


