@charset "utf-8";
html {
    font-size: 100%;
}

body {
    color: #3D2B15;
    background-color: #F2F3F3;
    font-family: "Yu Gothic";
}

@media screen and (min-width: 481px) {
    .kakko-title {
        max-width: 17.75rem;
        height: 17rem;
    }
}

.kakko-title-under {
    max-width: 17.75rem;
    height: 17rem;
}

h3 {
    font-size: 1.5rem;
    line-height: 1.875rem;
    margin-bottom: 2.125rem;
    text-align: center;
}

.sp-only {
    display: none;
}

.pc-only {
    display: block;
}

/* ------------------------------
            header
------------------------------ */

#header {
    display: flex;
}

.header-list { /*予約ボタン込み*/
    display: flex;
    position: fixed;
    font-size: 0.75rem;
    margin-top: 1.875rem;
    align-items: center;
    z-index: 100;

    background-color: rgba(242, 242, 242, 0.5);
    border-radius: 5px;
    padding: 0.5rem;
}


.header-list-item { /*予約ボタン以外*/
    padding-right: 2rem;
}

.header-list-item:hover {
    opacity: 0.7; /* 不透明度70%（透過する） */
}

.header-list-item:first-child {
    margin-left: 2.5rem;
}

.header-list-item:last-child {
    padding-right: 0;
}

#header #logo {
    display: block;
    max-width:9.5rem; /*いる？max-widthの意味が分からない。*/
    height: 4.875rem;
    margin:2.25rem auto 0.75rem;
}

#logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

#logo img:hover {
    opacity: 0.7; /* 不透明度70%（透過する） */
}


/*PCで画面が拡大されたとき、メニューとロゴが被らないように*/
@media screen and (max-width: 1180px) {
    .header-list {
        display: block; /* Flexboxを解除し、ブロック要素（縦積み）にする */
        /* もしくは display: list-item; */
        padding: 2rem; /* 必要に応じてパディングを調整 */
    }

    /* ついでに、縦並びになった時のアイテム間の余白も調整すると見やすいです */
    .header-list-item {
        margin: 0.5rem; 
        margin-bottom: 1rem;
        letter-spacing:1px;
    }

    .header-list-item:first-child {
    margin: 0.5rem; 
    margin-bottom: 1rem;

}
}


@media screen and (min-width:481px) {
#header #reserve-button {
    display: flex;
    width: 10rem;
    height: 2rem;
    background-color: rgba(138, 114, 85, 0.7);
    border-radius: 0.25rem;
    justify-content: center;
    align-items: center;

    color:#fff;
    font-size: 0.875rem;
    letter-spacing:1px;

    position: fixed;
    top: 1.875rem;
    right: 2.5rem;
    z-index: 100;
}

#header #reserve-button:hover {
    background-color: rgba(138, 114, 85, 0); 
    border: 1px solid #3D2B15;
    color:#3D2B15;
    letter-spacing: 1px;
    transition: background-color 0.3s ease, color 0.3s ease; 
}
}



/* 
 <!----------------------------
            main
 -----------------------------> */


 /*  キャッチコピー */

#mainvisual #copy-and-frame { /*「」＆キャッチコピー*/
    position: relative;
    max-width: 346px;
    margin: 77px auto 0px;
    z-index: 10;
}
#copy-and-frame #frame { /*「」のみ*/
    display: block;
    width: 100%;
}

#copy-and-frame #copy {
    position: absolute;
    top:50%;
    left:50%;
    transform: translate(-50%, -50%);
}

#catch-copy-main {
    position: relative;
    left: 0.4375rem;
    font-size: 2.5rem;
    font-weight: 700;
    white-space: nowrap; 
    /*↑親要素に収まるよう自動的に改行されてしまったので、
    　それを防ぐための、強制一行。*/
    line-height: 2;
    letter-spacing: 0.15rem;/*=15%*/

    @media (max-width: 480px) {
        font-size: 2rem;
    }
}

#catch-copy-sub{
    font-size: 1.5rem;
    white-space: nowrap;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.1%;
}


/* メイン画像＆NEWS */

#background-image-and-news {
    position: relative;
    width: 100%;
    height: auto;
}

#background-image {
    width: 100%;
    height: auto;
    object-fit: cover;
}

#news-all {
    position: absolute;
    top: 87.3%;
    left: 15%;
    letter-spacing: 0.1rem;
    display: flex;
}

#News {
    display: block;
    font-weight: bold;
    margin-right:1.25rem;
    color: rgba(61,43,21,0.7);
}

#news-all:hover {
    opacity: 0.7; /* 不透明度70%（透過する） */
}

/* 
 <!----------------------------
            about-us
 -----------------------------> */

 /* タイトル部分 */

#about-us {
    max-width: 58.75rem; 
    margin:14.625rem auto 0;
}

#aboutus-recommend {
    position: relative;
}

#about-img {
    position: absolute;
    right: 0px;
    z-index: 1;
}

#about-us h2 {
    position: absolute;
    top: 9.875rem;
    z-index: 4;
}

#about-us h2 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#recommend-back-div {
    max-width: 35.625rem;
    height: 10rem;
    position: absolute;
    z-index: 2;
    top: 23.375rem;
    right: 12.25rem;
}

#recommend-back {
    width: 100%;
    object-fit: contain;
}

/* こんな方におすすめです */

#recommend {
    position:absolute;
    z-index: 3;
    max-width: 58.75rem;
    top: 26.375rem;
    right: 0;
    left: 0;

    display: flex;
    flex-direction:column;
    align-items: center;
}

.recommend-list {
    display: flex;
    flex-direction: column;
}

.recommend-list li {
    display: flex;
    line-height: 2.5rem;
    align-items: center;
}

.rec-img {
    display: block;
    margin-right: 1rem;
    max-width:1.375rem;
    height: 1.25rem;
    /* width: 100%;
    height: 100%; */
}


/* 特徴部分 */
#feature { /*？なんで特徴部分だけでなく、aboutらへんまで該当になってるのか*/
    padding-top: 47rem;
    max-width: 47.25rem;
    margin: 0 auto 10.5rem;
}

.feature-top,.feature-bottom {
    display: flex;
    justify-content: center;
    gap: 5.5rem;
}

.feature-right img,.feature-left img {
    text-align: center;
}

.feature-top img,.feature-bottom img {
    width: 10rem;
    height: 10rem;
}

.feature-title {
    font-size: 1.75rem;
    font-weight: bold;
    color: #AAC7EA;
    line-height: 2rem;
    margin: 0 auto;
}

.feature-list li{
    display: flex;
    flex-direction: column;
    width: 100%;
    text-align: center;
}

.feature-list img {
    margin: 0 auto;
}


/*01 リーズナブル*/

#reasonable h4 {
    position: relative;
}

#reasonable .number {
    position: absolute;
    left: 5.5rem;
    top: -1.2rem;
}


/*02スマホロッカー*/

#sumafo h4 {
    position: relative;
}

#sumafo .number {
    position: absolute;
    left: 2.5rem;
    top: -1.2rem;
}

/*03完全防音個室*/

#soundproofing h4 {
    position: relative;
}

#soundproofing .number {
    position: absolute;
    left: 4rem;
    top: -1.2rem;
}

/*04無人受付*/

#unmanned h4 {
    position: relative;
}

#unmanned .number {
    position: absolute;
    left: 1rem;
    top: -1.2rem;
}

/*本文*/
.feature-explanation{
    line-height: 2rem;
}

#soundproofing .feature-explanation {
padding-left: 1.75rem;
}

/*border設定*/

  /*横線*/
.feature-bottom {
    border-top: 1px solid #8A7356; /* 上側にボーダーを追加 */
    padding-top: 3.25rem; /* ボーダーと上の要素の間に余白を追加 */
}

  /*縦線*/
.feature-left {
    position: relative; 
}

@media screen and (min-width: 480px){
/* 擬似要素でボーダーを作成 */
.feature-left::after {
    content: '';
    position: absolute;
    top: 0;
    right: -2.75rem; /* gap (5.5rem) の半分の値だけ外側（右）に配置 */
    height: 100%; /* 要素の高さ全体にボーダーを伸ばす */
    width: 1px; /* ボーダーの太さ */
    background-color: #8A7356; /* ボーダーの色 */
}
}

.feature-top {
    padding-bottom: 3.25rem;
}



 /* <!----------------------------
        　　plan-and-cost
    -----------------------------> */

/*見出し・注意*/

#plan-and-cost-pc {
    max-width: 69.625rem;
    margin:0 auto 10rem;
    height: auto;
}

#plan-and-cost-pc h2 {
    margin: 0 auto 2.5rem;

}

#plan-and-cost-pc h2 img{
    width :100%;
    height: 100%;
}

#caution {
    text-align: center;
}

#plan-and-cost-pc span {
    font-weight: bold;
}

/*30・60&90共通*/
.plan-title {
    display: flex;
    font-size: 1.5rem;
    color: #AAC7EA;
    font-weight: 900;
    letter-spacing: -0.16rem;
    align-items: center;
}

#plan-and-cost-pc .polygon{
    max-width: 1.125rem;
    max-height: 1.125rem;
    margin:0 0.625rem 0 1rem;
}

.plan-explanation {
    line-height: 1.625rem;
}

.plan-explanation h4,
.comment {
    font-weight: 550;
}

.plan-equipments {
    display: flex;
    margin: 0.625rem 0 1.5rem 0.625rem;
}

.plan-equipments::before { /*縦ライン*/
    content:"";
    display: inline-block;
    width: 3px;
    background-color: #D0CBC6;
    border-radius: 2px;
    margin-right: 1rem;
}

#plan-and-cost-pc .list {
    display:flex;
    flex-direction: column;
    padding-left: 1.375rem;
}

#plan-and-cost-pc .reservation {
    display: block;
    max-width: 11.5rem;
    line-height: 2.125rem;
    background-color: #AAC7EA;
    margin-top: 1.125rem;
    text-align: center;
    border-radius: 5px;

    color:#fff;
    font-weight: 700;
}

#plan-and-cost-pc .reservation:hover {
    opacity: 0.7;
    transition: all 0.3s;
}

.detail {
    font-size: 0.875rem;
    border-bottom: 1px solid #7B6243;
}
.detail:hover {
    opacity: 0.7;
}

/*30分*/

#plan-30min { /*写真・見出し・本文*/
    position: relative;
    height: 35.875rem;
}

#photo30 {
    display: block;
    margin-top: 4.125rem;
    max-width: 45.375rem;
    height: 29.5rem;
    object-fit: cover;

    position: absolute;
    top:0;
    left:0;
    z-index: 1;
}

#plan-30min .plan-title-and-explanation {
    background-color: #F2F3F3;
    max-width: 27.625rem;

@media screen and (min-width: 481px) {
    position: absolute;
    top:12.25rem;
    left: 39.875rem;
    z-index: 2;
}

    padding: 2.5rem 0 0 2.875rem; 
}

/*60分*/
#plan-60and90min {
    margin-top: 5.25rem;
}

    /*左ブロックと右ブロックを横並びに*/
#plan-title-explanation-photo {
    display: flex;
    gap: 2rem;
}


    /*写真（＝右ブロック）のレイアウト・大きさ設定*/

#photos-60and90 {
    max-width:41.625rem;
    height: 34.625rem;
}

#photos-60and90-div {
    width: 100%;
    height: 100%;
}

#photo60-1 {
    max-width: 41.625rem;
    max-height: 18.875rem;
}

#photo60-2 {
    max-width: 19.625rem;
    max-height: 13rem;
}

#photo60-3 {
    max-width: 21rem;
    max-height: 15rem;
}

    /*タイトル*/

/*親*/.plan-title-line {
    position: relative;
    width: 27.375rem;
    height: 5.5rem;
}


/*子１*/#plan-title-60min {
    max-width: 15.25rem;
    max-height: 1.875rem;
    position: absolute;
    top: 0.8125rem;
    left: 0.375rem;
}

/*子２*/#plan-line {
    max-width: 10rem;
    max-height: 5.5rem;
    position: absolute;
    top: 0;
    left: 10rem;
} 

/*子３*/#plan-title-90min {
    max-width: 20.25rem;
    max-height: 1.875rem;
    position: absolute;
    top: 3.75rem;
    left: 12.375rem;

}

#comment-supple-reserve {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

#amenity {
    display: inline-block;
    margin-top: 1.25rem;
}

 /* <!----------------------------
            footer
-----------------------------> */

footer {
    background-color: #FAE7DA;
    margin-top: 13.625rem;
}

#footer-almost {
    max-width: 100%;
    display: flex;
    justify-content: center;
    gap: 9.375rem;
    padding: 2.75rem 0 3.125rem;
}



/*フッター左側*/

#footer-left {
    display: flex;
    gap: 2.25rem;
    align-items: center;
}

#footer-left img {
    max-width: 9.75rem;
    max-height: 4.25rem;
}

#footer-left img:hover {
    opacity: 0.7;
}

#footer-left p {
    letter-spacing: 0.1rem;
    line-height: 1.625rem; /*文字サイズ16px + 行間10px =26px*/
    font-weight: lighter;
}

/*フッター右側*/

#footer-right {
    display: flex;
    flex-direction: column;
}

#footer-reserve {
    display: flex;
    line-height: 2.625rem;

    border: 1px solid #3D2B15;
    border-radius: 5px;

    justify-content: center;
    align-items: center;

    font-size: 0.875rem;
    font-weight: 700;

@media screen and (min-width: 481px) {
    max-width: 12.375rem;
}
}

@media screen and  (min-width: 481px) {
#footer-reserve:hover {
    background-color:#AAC7EA;
    border: 1px solid #3D2B15;
    transition: all 0.3s;
    letter-spacing: 1px;
}
}

#footer-right ul {
    display: flex;
    gap: 1.75rem;
    padding-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.75rem;
}

#footer-right li:hover {
    opacity: 0.7;
}

#contact {
    font-size: 0.875rem;
    line-height: 1.75rem;
}

#footer-right #contact:hover {
    opacity: 0.7;
}

small {
    display: flex;
    justify-content: flex-end;
    margin-right: 2.5rem;
    color: #8A7356;
    font-weight: lighter;
}


 /* <!----------------------------
         他ページ共通
-----------------------------> */

.kakko-title-under {
    width: 100%;
    height: auto;
    margin: 4.625rem auto 10.75rem;
}

.h3title-under {
    font-size: 2rem;
    text-align: center;
}


 /* <!----------------------------
         お知らせページ
-----------------------------> */

#info img {
    width: 100%;
    height: 100%;
}

#info p {
    display: block;
    max-width: 32rem;
    line-height: 2rem;
    margin:0 auto 9.875rem;
}

 /* <!----------------------------
        店舗・営業時間ページ
-----------------------------> */

#img-shops-hours {
    width: 100%;
    height: 100%;
}

#tokyo,#osaka,#fukuoka {
    display: flex;
    justify-content: center;
    margin-bottom: 8.375rem;
    gap:3.625rem;
}

.map-tokyo-fukuoka,
.map-osaka {
    max-width: 24rem;
    max-height: 14.625rem;
}

.text-tokyo-fukuoka,
.text-osaka {
    line-height: 2.5rem;
}

.h3title-shops {
    font-size: 2rem;
}

.hours {
    display: inline-block;
    margin-bottom: 2rem;
}


 /* <!----------------------------
    　　ご利用の流れページ
-----------------------------> */

#img-howto {
    width: 100%;
    height: 100%;
}

.title-in {
    color: #AAC7EA;
    font-size: 1.75rem;
    font-weight: bold;
    margin-bottom: 1.875rem;
}

.title-in span {
    color: #8A7356;
    font-size: 1.75rem;
    font-weight: 400;
    display: inline-block;
    margin-right: 1.25rem;
}

#how-to-use .contents {
    display: flex;
    justify-content: center;
    align-items:flex-start;
    max-width: 50rem;
    margin: 0 auto;
    padding-top: 4rem;
}

.howto-icon {
    max-width: 11.625rem;
    max-height: 11.625rem;
    margin-right: auto;
    margin-left: auto;
}

.howto {
    margin-bottom :4.625rem;
}

#howto-h3 {
    margin-top: 10.5rem;
    margin-bottom: 4.375rem;
}

.howto-text {
    line-height: 2rem;
}

#howto-03-pc .alarm-time-03 {
    background: linear-gradient(transparent 60%, #d4dfec 60%);
}

#howto-3 .alarm-time-03 {
    display: inline;
    border-bottom: 1px dashed #AAC7EA;
}

#howto-03-caution-flexbox {
    line-height: 2rem;
    display: flex;
    justify-content: center;
    margin-top:3.75rem;
}

.howto-in-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;

    width: 30rem;
}

#howto-out-caution {
    display: inline-block;
    margin-top: 1rem;
}

.howto-icon-out {
    max-width: 11.625rem;
    max-height: 11.625rem;
}

.to-top {
/*ボタンそのもののデザイン*/
    /* 位置の固定 */
    position: fixed;
    bottom: 3rem;     /* 下からの距離 */
    right: 3rem;      /* 右からの距離 */
    width: 3.125rem;
    height: 3.125rem;
    z-index: 70;     /* 他の要素より前面に表示 */

    background-color: #8A7356; /* お好みの色に */
    color: #fff;
    text-decoration: none;
    border-radius: 10%; /* 丸くする */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    z-index: 70;

    /*最初は透明にして隠しておく*/
    opacity: 0;
    visibility: hidden;    /* クリックもできない状態 */
    transform: translateY(20px); /* 20px下に下げておく */
    transition: all 0.4s ease;   /* フワッとするアニメーション */
}

.to-top.is-show {
    opacity: 1;            /* 不透明に */
    visibility: visible;   /* 表示する */
    transform: translateY(0);    /* 元の位置に戻る */
}


/*中のアイコン*/
.to-top-arrow {
    width: 1rem;       /* 矢印のサイズ */
    height: 1rem;      /* 矢印のサイズ */
    border-top: 3px solid #fff;  /* 矢印の太さと色 */
    border-right: 3px solid #fff; /* 矢印の太さと色 */
    border-radius: 10%;
    transform: rotate(-45deg);    /* 45度回転させて「上向き」にする */
    margin-top: 0.5rem;             /* 中心にくるように微調整 */
}

/* ホバー時：少し透過して上に浮く */
.to-top:hover {
    opacity: 0.7;
    transform: translateY(-5px);
    transition: all 0.3s;
}

/* クリック時：少し沈む（「押した感」を出す） */
.to-top:active {
    transform: translateY(0);
}

/* スムーズにスクロールさせる設定（重要！） */
html {
    scroll-behavior: smooth;
}


 /* <!----------------------------




    　　　　mobile対応


    

-----------------------------> */
@media (max-width: 480px) {

/*全体*/
body {
    width: 100%;
    box-sizing: border-box;
}

.pc-only {
    display: none !important;
}

.sp-only {
    display: block;
}

.kakko-title-under {
    max-width: 17.5rem;
    max-height: 9.375rem;
}


h3 {
    font-size: 1.5rem;
    line-height: 1.875rem;
    margin: 0 auto 2.875rem;
}

/*header*/

#header #logo {
    max-width: 7.875rem;
    max-height: 3.125em;
    margin: 0;
    padding-top:0.5rem;
    background-color: rgba(242, 242, 242, 0.5);
    border-radius: 10%;

    position: fixed;
    top: 1rem;
    left: 0.6rem;
    z-index: 100;
}

#header #logo:active
{
    background-color: rgb(138, 115, 86, 0.2);
}

/*hamburgerここから*/

/*三本線*/
.menu-btn {
    position: fixed;
    top: 0.625rem;
    right: 0.625rem;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #3D2B15;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

/*ばつ*/


#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
    /*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
    background-color: #AAC7EA;
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
    background-color: #AAC7EA;
}

/*チェックボックス隠す*/
#menu-btn-check {
    display: none;
}

/*メニューのデザイン*/

.menu-content ul {
    margin: 8.125rem 3.375rem 5.125rem;
}
.menu-content ul li {
    list-style: none;
    display: flex;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.menu-content ul li a:active {
    color: #AAC7EA;
}

.menu-content .polygon {
    max-width: 1rem;
    max-height: 1rem;
}
.menu-content ul li a {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    box-sizing: border-box;
    color:#ffffff;
    text-decoration: none;
    padding: 0;
}

.out-hamburger {
    display: flex;
    flex-direction: column;
}

#reserve-hamburger,#contact-hamburger {
    width: 11.875rem;
    background-color: #AAC7EA;
    display: flex;
    justify-content: center;
    border-radius: 30px;
}

#reserve-hamburger a,#contact-hamburger a {
    font-size: 1rem;
    line-height: 3.375rem;
    color: #7B6243;
    font-weight: bold;
}

#reserve-hamburger:active {
    background-color: #5e80aa;
}    
#contact-hamburger:active {
    background-color: #5e80aa;
}



#reserve-hamburger {
    margin-bottom: 0.5rem;
}

.menu-content  .arrow {
    max-width: 0.625rem;
    max-height: 0.625rem;
    margin-top: 1rem;
    margin-left: 1rem;
}

/*メニューが出っぱなしなので、基本は画面の外へ*/

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: rgba(62, 48, 30, 0.85);
    transition: all 0.5s;/*アニメーション設定*/
}

/*ボタンを押したときだけメニューが出るように*/
#menu-btn-check:checked ~ .menu-content {
    left: 0;/*メニューを画面内へ*/
}

.a {
    display: flex;
    justify-content: center;
}

/*hamburgerここまで*/

/*mainvisual*/

#mainvisual {
    width: 100%;
    height: 30rem;
    margin: 0 auto;
}

#copy-and-frame {
    padding: 0 1.25rem;
    width: 100%;
}

#copy-and-frame { /*「」＆キャッチコピー*/
    position: relative;
    max-width: 346px;
    top: 3.75rem;
    z-index: 90;
}

#mainimg-reserve { /*親*/
    position: relative;
    width: 100%;
    height: 19rem;

    display: flex;/*★*/
    justify-content: center; /* 水平方向の中央揃え */
    align-items: center;     /* 垂直方向の中央揃え */
    margin: 0 auto;
}

#background-image-sp { /*子１　画像*/
    position: absolute;
    z-index: 1;
    width :100%;
}

#sp-reserve { /*子２　予約ボタン*/
    display: inline-block;
    font-size: 1.5rem;

    line-height: 4.375rem;
    border: 1px solid #3D2B15;
    border-radius: 5px;
    text-align: center;
    letter-spacing: 0.125rem;

    position: absolute;
    z-index: 2;
    top: 34rem;
    left: 50%;
    transform: translate(-50%, -50%);

    margin: 0 auto; /* 左右の余白は margin で維持する */
    width: 80%;
    
}

#sp-reserve:active {
    background-color: rgba(242, 243, 243, 0.7);
}

#news-all-sp {
    padding: 0 2rem;
    position: static;
    margin-top: 24rem;
    z-index: 50;
}

#news-all-sp:active {
    background-color: rgba(123, 98, 67, 0.1);
}

/*about-us見出し*/

#about-us {
    max-width: 90%; 
    margin:0 auto ;
    margin-top: 25rem;
}

#about-us .kakko-title {
    position: static;
    padding-left: 1.25rem;
    box-sizing: border-box;
}

#aboutus-recommend.sp-only
.kakko-title {
    position: static;
    width: 100%;
}




/*こんな方におすすめ*/


#recommend-sp.sp-only {
    position: static;
}


#recommend-sp h3{
    border-top: 1.3px dashed #ad977b;
    border-bottom: 1.3px dashed #ad977b;
    padding: 10px 0;
    width: 80%;
    margin: 0 auto;
    margin-top:4rem;
    margin-bottom: 3rem;
}

.recommend-list-sp li {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    margin-bottom: 2rem;
}

.recommend-list-sp li p {
    width: 15rem;
    display: inline-block;
    letter-spacing: -0.5px;
    line-height: 1.5rem;
}

.recommend-list-sp li:last-child {
    margin-bottom: 0;
}

.recommend-list-sp .rec-img {
    width: 22px;
    height: 20px;
    display: block;
    margin-top:0.3rem;
}


/*nap nowの特徴　01-04*/

#feature { 
    width: 100%;
    margin: 0;
    padding-top: 4rem;
    box-sizing: border-box;

}

#feature h3 {
    border-top: 1.3px dashed #ad977b;
    border-bottom: 1.3px dashed #ad977b;
    padding: 0.625rem;
    width: 80%;
    margin-bottom:4rem;
}

.feature-list h4 .number {
    font-size: 3rem;
}


/*SP版の４タイトルは絶対配置解除*/
#reasonable h4 { /*01*/
    position: static;
}
#sumafo h4 { /*02*/
    position: static;
}
#soundproofing h4 { /*03*/
    position: static;
}
#unmanned h4 { /*04*/
    position: static;
}

.feature-title {
    margin-top: 2rem;
}

#feature .number {
    color:#e9e4e4;
    font-weight: 900;
    font-size: 2rem;
    margin-top:1rem;
}

.feature-explanation{
    line-height: 1.5rem;
    margin-bottom: 1rem;
}


/*SP版の数字は絶対配置解除*/
#reasonable .number { /*01*/
    position: static;
}
#sumafo .number { /*02*/
    position: static;
}
#soundproofing .number { /*03*/
    position: static;
}
#unmanned .number { /*04*/
    position: static;
}

.feature-explanation{
    line-height: 1.5rem;
}


.feature-top,.feature-bottom {
    display: flex;
    flex-direction: column;
    border: none;
    justify-content: center;
}


.feature-top {
    padding-bottom: 0;
    box-sizing: border-box;
    gap: 0;
}

.feature-bottom {
    box-sizing: border-box;
    gap: 0;
    padding-top: 0;
    margin-top: 3rem;
}

.feature-left .feature-right {
    position: block;
    margin: 0 0;
    padding: 0 0;
    box-sizing: border-box;
}

.feature-list li {
    width: 100%;
    box-sizing: border-box;
    margin-bottom: 3rem;
    background-color: #fbf9f7;
    border-radius: 10%;
}

.feature-list li:last-child {
    margin-bottom: 0;
}

.feature-list .number {
    height: 1rem;
}

.feature-list img {
    margin: 0 auto;
}


/*plan & cost*/
#plan-and-cost-sp {
    margin-top: 7rem;
    margin-bottom: 0;
    height: 115rem; 
    /*？なんでここを固定にしないと広がるのか
    PC版はautoに変えているので関係ない。*/
}

#plan-and-cost-sp .kakko-title {
    max-width: 17.75rem;
    max-height: 9.375rem;
}

#plan-cost-title{
    display: block;
    margin: 0 auto;
}

#plan-cost-title img {
    max-width: 17.5rem;
    max-height: 9.375rem;
}

#plan-and-cost-sp #caution {
    padding: 2rem 1.25rem 0;
}

/*30分*/

#plan-30min,
#photo30,
#plan-30min .plan-title-and-explanation {
    position: static;
    top:0;
    left:0;
}

.plan-title {
    display: flex;
    margin: 1.875rem auto 1rem;
    justify-content: center;

    font-size: 1.5rem;
    font-weight: 900;
    letter-spacing: -0.16rem;
}

#plan-30min .plan-title {
    border-top: 1.3px dashed #AAC7EA;
    border-bottom: 1.3px dashed #AAC7EA;
    padding: 10px 0;
    width: 80%;
    margin: 0 auto;
    margin-top:4rem;
    margin-bottom: 3rem;
}

#plan-30min .plan-title{
    margin-top: 3rem;
}

#photo30 {
    width:100%;
    height: auto;
    object-fit: cover;
    display: block;
    margin-bottom: 1rem;
    margin-top: 0;
}

.plan-explanation {
    width: calc(100%-(1.25rem*2));
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    box-sizing: border-box;
}

.alarm-sp {
    display: flex;
}

.to-howto-sp {
    font-size: 0.75rem;

}

.to-howto-sp:active {
    background-color: rgba(123, 98, 67, 0.1);

}

/*60分*/

#plan-60and90min {
    margin-top: 10rem;
}

 /*60・90タイトル*/

 .plan-title-line {
    position: relative;
    width: 100%;
    margin: 0 auto;

    border-top: 1.3px dashed #AAC7EA;
    border-bottom: 1.3px dashed #AAC7EA;
    padding: 0.625rem 0;
    width: 80%;
    margin: 0 auto;
    margin-bottom: 3rem;

}

 #plan-title-60min {
    position: static;
    padding: 0.625rem 0;
 }

 #plan-title-90min {
    position: static;
    margin: 0;
    margin-top: 0.2rem;
    padding: 0.625rem 0;
 }

#plan-and-cost-sp .polygon {
    max-width: 1.125rem;
    max-height: 1.125rem;
    margin:0 0.625rem 0 1rem; 
 }



 /*60・90写真の設定*/
#plan-title-explanation-photo {
    position:static;
}

#photos-60and90-div {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#photo6090-under {
    display: flex;
}

#photo60-2 {
    margin-top: 1.25rem;
}

#photo60-3 {
    margin-top: 0.5rem;
}

#plan-title-60min {
    margin: 0;
}

#photos-60and90 {
    max-width:41.625rem;
    height: auto;
}

#photos-60and90-div {
    padding: 0;
    margin-bottom:1rem;
}

#comment-supple-reserve {
    padding:0 1.25rem 4rem; 
}

#supplement {
    display: inline-block;
    font-size: 0.75rem;
    line-height: 1.25rem;
    margin-top: 0.625rem;
}

#plan-and-cost-sp .reservation {
    display: block;
    max-width: 11.5rem;
    line-height: 2.125rem;
    background-color: #AAC7EA;
    margin-top: 1.125rem;
    text-align: center;
    border-radius: 5px;

    color:#fff;
    font-weight: 700;
}

#plan-and-cost-sp .reservation:active {
    background-color: #5e80aa;
}


/*footer*/

footer {
    position: static;
    height: 100%;
}

#footer-almost {
    display: block;
    width: 100%;
    padding-bottom: 0;
}


#footer-reserve {
    display: flex;
    font-size: 1rem;
    line-height: 2.625rem;
    width: 70%;
    max-height: 2.5rem;
    justify-content: center;
    margin: 0 auto;
}

#footer-reserve:active {
    transform: translateY(0);
}


.footer-r-l {
    display: flex;
    margin-top: 2rem;
    justify-content: center;
    gap: 1.5rem;
}

.footer-r-l img {
    max-width: 9.875rem;
    max-height: 4.375rem;
    object-fit: contain;
}

.footer-r-l img:hover {
    background-color: rgba(123, 98, 67, 0.1);
    border-radius: 10px;
}

#footer-right{
    line-height: 1.2rem;
    font-size: 0.75rem;
}

small {
    display: flex;
    justify-content: flex-end;
    margin-top: 1rem;
    margin-right :1.25rem;
    font-size: 0.75rem;
}



 /* <!----------------------------
        店舗・営業時間ページ
-----------------------------> */

#img-shops-hours {
    width: 100%;
    height: 100%;
}

#tokyo,#osaka,#fukuoka {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 8.375rem;
    gap:3.625rem;
}

.map-tokyo-fukuoka,
.map-osaka {
    max-width: 24rem;
    max-height: 14.625rem;
}

.text-tokyo-fukuoka,
.text-osaka {
    line-height: 2.5rem;
    margin: 0 auto;
    text-align: center;
}

.h3title-shops {
    font-size: 2rem;
}

.hours {
    display: inline-block;
    margin-bottom: 2rem;
}

 /* <!----------------------------
        お知らせページ
-----------------------------> */
#info p {
    padding: 0 1.25rem 0;
    box-sizing: border-box;
    text-align: center;
}


 /* <!----------------------------
    　　ご利用の流れページ
-----------------------------> */
#how-to-use {
    /*両脇のパディング*/
    padding: 0 1.25rem 0;
    box-sizing: border-box;
}

#img-howto {
    /*ｈ１*/
    width: 100%;
    height: 100%;
}

.title-in {
    /*入室１から３のタイトル。そのまま使う。*/
    color: #AAC7EA;
    font-size: 1.75rem;
    font-weight: bold;
    margin: 0 auto 0.5rem;
    position: relative;
}

.title-in span {
    /*入室タイトル１から３の数字部分*/
    color: #8A7356;
    font-size: 1rem;
    font-weight: 400;
    display: inline-block;
    margin: 0;

    /*０１－０３をタイトルの左上に*/
    position: absolute;
    top:-1rem;
    left: -1rem;
}

#howto-title-03 {
    text-align: center;
}

#how-to-use .contents {
/*縦並びに変更し、中心に揃え、余白はリセット*/
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 0 auto;
    gap: 0;
}


.howto-icon {
    /*アイコンも中央に*/
    max-width: 11.625rem;
    max-height: 11.625rem;
    margin-right: auto;
    margin-left: auto;
}

.howto {
    /*01と02のコンテンツ下の余白*/
    margin-bottom :5rem;
}

#howto-3 {
    /*03のコンテンツ下余白は０
    （その後03の注意書きが続くから）*/
    margin-bottom: 0;
}


.howto:last-child {
    /*ご退出部分のコンテンツ下も余白０*/
    margin-bottom: 0;
}

#howto-h3 {
    /*01-03見出しの上下の余白*/

    margin-top: 10.5rem;
    margin-bottom: 4.375rem;
}


.howto-text {
    /*０１－０３の説明分を中央に。行間も整えた。*/
    line-height: 2rem;
    display: inline-block;
    text-align: center;
    margin: 2rem auto;

}

#imasugu {
    /*03のテキストだけhowto-textでスタイリングできなかったので
    　個別にスタイリング。*/
    line-height: 2rem;
    display: inline-block;
    text-align: center;
    margin: 0 auto 2.25rem;
}

.howto-text #point {
    /*ポイント部分をまとめて中央寄せ*/
    display: flex;
    flex-direction: column;
    justify-content: center;
}

#point img {
    /*茶色ポリゴン×２を小さく*/
    width: 0.75rem;
    height: 0.75rem;
    display: block;
    margin: 0.375rem 0.375rem 0 0;
}

#polygon-p1,#polygon-p2 {
    /*茶ポリゴンとテキストを横並び*/
    display: flex;
}

#p1,#p2 {
    /*ポリゴン横テキストをスタイリング*/
    font-size: 0.75rem;
    line-height: 1.6rem;
}

#polygon-p1 {
    /*ポリゴン横テキスト１と２の間の余白*/
    margin-bottom: 1.5rem;
}

#polygon-p2 {
    /*ポリゴンテキスト２個目と、※の間の余白*/
    margin-bottom: 2rem;
}

#howto-03-caution {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    justify-content: center;
    margin: 0 auto;
}

#howto-03-caution-1,#howto-03-caution-2 {
    display: flex;
    font-size: 0.75rem;
    font-weight: lighter;
    line-height: 1.25rem;
    margin: 0;
    padding-left: 1rem;
}

.howto-icon-out {
    max-width: 11.625rem;
    max-height: 11.625rem;
    margin: 0 auto;
}

#howto-out-caution {
    font-size: 0.75rem;
}


/*TOPへボタン*/

.to-top {
    /* 位置の固定 */
    position: fixed;
    bottom: 1rem;     /* 下からの距離 */
    right: 0.7rem;      /* 右からの距離 */
    z-index: 70;     /* 他の要素より前面に表示 */
}
}