@charset "utf-8";
/* ================== 
comon
====================*/
:root {
    --white: #FFF;
    --italygreen:#009246;
    --creamcolor:#FDF7F1;
    --red:#CE2B37;
    --black:#333333;
    --contentWidth: 91.4%;
}

html {
    font-size: 62.5%;
}

body {
    font-family:
       'Noto Sans CJK JP',
        'Noto Sans JP',
        'Fira Sans',
        sans-serif;
    font-style: normal;
    font-weight: 400;
    color: var(--black, #333333);
    background-color: var(--white, #FFF);
    line-height: 1.5;
    margin: 0;
}

* {
    margin: 0;
    padding: 0;
  }

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

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

  @media screen and (max-width: 768px) {
    .forPC{display: none!important;}
  }
  @media screen and (min-width:769px) {
    .forSP{display: none!important;}
}

.btndiv {
    text-align: center;
} 

/* common PC */

/* @media screen and (min-width:769px) {
    .btndiv {
        margin-left: 155px;
    }
} */



 /* ====================
header
======================= */
.header {
    background-color: var(--white);
    /* padding: 0 0 0 4.2%; */
    height: 76px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header__logo {
    max-width: 76px;
    height: 76px;
}

.header__topic a,
.nav__topic a {
    display: flex;
    align-items: center;
}

.header__topic span,
.nav__topic span {
    font-size: 0.8rem;
    letter-spacing: 1.6px;
    margin: 0 17px 0 18px;
}

.nav {
    background:var(--creamcolor);
    width: 100%;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    transform: translateX(-100%);
    transition: transform 0.4s;
}

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

.nav__logo {
    width: 76px;
    height: 76px;
}

.nav__btn {
    /* display: block; */
    width: 84px;
    height: 78px;
}

.nav__list {
    margin:0 auto;
}

.contactaddress {
   margin-top: 30px;
   margin-bottom: 30px;
   padding: 0 calc((100% - 186px)/2);
}


.instawaku__nav {
    width: 196px;
    height: 53px;
    display: flex;
    align-items: center;
    /* padding: 16px 22px; */
    margin-top: 20px;
}

.header__instalogo {
    width: 30px; 
    height: 30px;
}

.instagram__click__f {
    color: var(--black);
    font-family: "Fira Sans";
    font-size: 2.3rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.1;
    margin-left: 20px;
}

.phone__txt__f {
    font-family: "Fira Sans";
    font-size: 2.3rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.1;
    white-space: nowrap;
}

.header__phone__logo {
    width: 30px;
    height: 30px;
}


.nav__item {
    color: var(--black);
    font-family: "Fira Sans";
    text-align: center;
    font-size: 2.4rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.1;
    margin-top: 11px;
}

.header__btn {
    display: block;
    width: 84px;
    height: 84px;
    position: fixed;
    top: 0%;
    right: -13px;
}

.nav.active {
    transform: translateX(0);
} 


/* header pc */
@media screen and (min-width:769px) {
    .header {
        width: auto;
        height: 104px;
        /* margin: 0 auto; */
    }


    .header__topic {
        width: 104px;
        height: auto;
        margin-left: 17px;

    }

    .nav {
        background-color: var(--white);
        width: auto;
        height: auto;
        padding: 0;
        position: static;
        transform: translateX(0);
        display: flex;
        flex: 1;
    }


    .nav__btn {
        display: none;
    }

    .header__btn {
        display: none;
    }

    /* .nav__header {
        display: none;
    } */

    .nav__logo {
        display: none;
    }
 

    .nav__list {
        display: flex;
        align-items: center;
        gap: 63px;
        margin: 0 auto;
        list-style: none;
    }

    .nav__item {
        text-align: center;
        font-size: 1.7rem;
        font-style: italic;
        font-weight: 600;
        line-height: 2.5;
        letter-spacing: 0.51px;
        /* border-bottom: #ff0000 solid; */
    }

    .nav__item:hover {
         border-bottom:var(--red) solid;
    }
    
    /* .nav__item:nth-child(even){
        /* border-bottom: var(--italygreen) solid; */
    

    .nav__item:nth-child(even):hover {
         border-bottom: green solid;
    }

    .contactaddress {
        margin-left: 0;
        margin-bottom: 0;
        margin-top: 0;
        padding: 0;
        width: 186px;
    }

    
    .t {
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .instawaku__nav {
        margin-top: 0;
    }

    .header__instalogo {
        width: 20px; 
        height: 20px;
        /* margin-left: 30px;
    } */}


    /* .instagram__img {
        min-width: 49px;
    } */

    .instagram__click__f {
        font-size: 1.8rem;
        font-style: italic;
        font-weight: 600;
        line-height: 1.75;
        letter-spacing: 0.48px;
        margin-left: 0;
    }

    .header__phone__logo{
        width: 20px;
        height: 20px;
    }

    .phone__txt__f {
        font-size: 1.8rem;
        font-style: italic;
        font-weight: 600;
        line-height: 1.75;
        letter-spacing: 0.64px;
        margin-left: 15px;
    }
}

/* ====================
css記述　ジェンみさん
======================= */

.main {
    padding-bottom:0; /* フッターとの間隔 */
}

.article {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 600px; /* スマートフォンでの見やすさを考慮した最大幅 */
    margin: 0 auto;
    padding: 60px 7.4vw;
    /* box-sizing: border-box;
    border-radius: 8px; 角丸 */
}

.info__coner {
    background-color: var(--creamcolor);
    text-align: center;
    padding: 30px 0;
}

.coner__logo {
    display: none;
}

.kasoutitle {
    font-family: 'Fira Sans', sans-serif;
    font-size: 2.4rem;
    font-style: italic;
    font-weight: 500;
    color: var(--black);
    line-height: 50.40px;
}

/* .coner__topic .coner__logo {
    height: 50px; /* 中央ロゴの高さ */
    /* border-radius: 8px; 角丸 */

.info__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 30px;
}

.info__li {
    display: flex;
    flex-direction: column;
    /* gap: 30px; */
    padding: 0 0 20px 0;
    border-bottom: 2px solid #D9D9D9; /* 各項目の区切り線 */
}

.info__li__bikou {
    display: flex;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    /* padding: 0 0 20px 0; */
    border-bottom: 2px solid #D9D9D9; /* 各項目の区切り線 */
}

.info__list li:last-child {
    border-bottom: none; /* 最後の項目は線をなくす */
}

.list__midashi,
.list__midashi__ei {
    display: flex;
    align-items: center;
    gap: 15px; /* アイコンとタイトルの間隔 */
}

.info__aicon {
    width:20px; /* アイコンのサイズ */
    height: 20px;
}

.info__aicon__dm {
    width: 21px;
    height: 22px;
}



.list__midashi__ei .info__aicon {
    width: 20px;
    height: 21px;

}

.info__aicon__close {
    width: 22px;
    height: 23px;
}

.info__aicon__visa {
    width: 24px;
    height: 11px;
}

.info__li__bikou .info__aicon {
    width: 20px;
    height: 19px;
}

.info__title {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 29.40px;
} 

.info__text__detial {
    margin-top: 15px;
    font-size: 1.4rem;
    color: var(--black);
}

.info__text__detial__a {
    margin-top: 15px;
    font-size: 1.4rem;
    color: var(--black);
}

.info__text__detial__b {
    margin-top: 15px;
    font-size: 1.4rem;
    color: var(--black);
}

.info__text__detial__c {
    margin-top: 15px;
    font-size: 1.4rem;
    color: var(--black);
}

.info__text__detial__d {
    margin-top: 15px;
    font-size: 1.4rem;
    color: var(--black);
} 







.text__gedan {
    font-size: 1.4rem;
    color:var(--black);
    font-weight: 400;
}

.text__gedanb {
    font-size: 1.4rem;
    color:var(--black);
    font-weight: 400;
    margin-top: 10px;
}

/* Googleマップへの誘導 */
.junzyo__map {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-top: 10px;
}

.junzyo img {
    width: 16px;
    height: 16px;
    border-radius: 8px; /* 角丸 */
}

/* 営業時間 */
.detial__set ,
.detial__set__last {
    margin-top: 15px;
    display: flex;
    flex-direction: column; /* 縦並び */
    gap: 15px; /* 各セット間のスペース */
}


.times {
    display: flex;
    /* align-items: baseline;  */
    /* gap: 25px;  */
    flex-direction: column;
    gap:7px;
}

.times .timefull {
  display: flex;
  gap: 12px;
}


.cash {
    font-size: 1.4rem;
    color: var(--black);
    font-weight: 500;
}

.set__title {
    font-size: 1.4rem;
    color: var(--black);
    font-weight: 500;
}

.koyuumeishi {
    font-family: Fira Sans;
    /* font-style: italic; */
    font-size: 1.6rem;
    line-height: 24.22px;
    color: var(--black);
}

/* 決済方法 */
.kesaia, .kesaib, .kesaicash{
    display: flex;
    /* margin-bottom: 15px; */
     position: relative;
  
}

.kesaia::after,
.kesaib::after {
    content: "";
    display: block;
    position: absolute;
    top: 97%;
    left: -2px;
    width: 100%;
    height: 2px;
    background-image: url(../images-infomation/line2.png);
}

.kesaicash::after {
    content: "";
    display: block;
    position: absolute;
    top: 121%;
    left: -2px;
    width: 100%;
    height: 2px;
    background-image: url(../images-infomation/line2.png);
}





.kesaic {
    display: flex;
}



.matome {
    display: flex;
    flex-direction: column;
    margin-left: 20px;
    margin-bottom: 20px;
    gap: 10px;
}

.matomeb {
    display: flex;
    flex-direction: column;
    gap: 10px; /* 列間のスペース */
    margin-left: 61px;
    margin-bottom: 20px;
}

.matomec {
    display: flex;
    flex-direction: column;
    gap: 10px; /* 列間のスペース */
    margin-left: 38px;
}

/* .yumei {
    margin-left: 20px;
} */

.yumei, .mumei {
    display: flex;
    flex-wrap: wrap;
    gap: 17px; /* 行と列のスペース */
    /* margin-left: 20px; ここではインデントなし */
}

/* 備考 */
.ichiran {
    display: flex;
    flex-direction: column;
    gap: 25px; /* 各備考項目間のスペース */
}

.ichiran__set {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.waku {
    /* background-image: url(../images-infomation/line.png);
    background-position: 50% 40%;
    background-size: 319%; */
    display: flex;
    justify-content: space-between; /* 左右に配置 */
    align-items: center;
    padding-bottom: 8px; /* 下線との間隔 */
    /* border-bottom: 1px dashed #D9D9D9;  */
    position: relative;
}

.waku::after {
    content: "";
    display: block;
    position: absolute;
    top: 36px;
    left: -1px;
    width: 100%;
    height: 2px;
    background-image: url(../images-infomation/line2.png);
    /* background-position: 50% 40%;
    background-size: 319%; */
}


.waku:last-child {
    border-bottom: none; /* 最後の項目は線をなくす */
}

.corner__title {
    font-size: 1.4rem;
    color: var(--black);
    font-weight: 500;
    min-width: 90px; /* タイトルの最小幅 */
}

.answer {
    font-weight: 400;
    font-size: 1.4rem;
    color:var(--black);
    text-align: justify;
    flex-grow: 0; /* 残りのスペースを埋める */
    margin-left: 30px;
    width: 175px;
}

.answer__reserve {
    font-weight: 400;
    font-size: 1.4rem;
    color:var(--black);
    text-align: justify;
    flex-grow: 0; /* 残りのスペースを埋める */
    margin-left: 30px;
    width: 175px;
}






/* ================== 
main 
====================*/
/* pc ver */
@media screen and (min-width:769px) {
    .article {
        max-width: 960px; /* PC版の最大幅を設定 */
        padding: 0; /* PC版のパディング調整 */
        margin: 0 auto;
    }

    /* .bbb {
        padding: 0 16.6vw;
        
    } */

    /* .info__coner {
        padding: 37px 20.5vw;
    } */

    .kasoutitle {
        font-size: 4rem;
        font-weight: 500;
        line-height: 84px;
        letter-spacing: 2.80px;
        position: relative;
    }

    .coner__logo {
        display: block;
    }

    .coner__topic {
        position: absolute;
        top: 135px;
        left: 60%;
    }

    .coner__logo {
        height: 86px;
    }

    .info__list {
        padding: 85px 0;
        gap: 30px;
    }

    .info__li {
        flex-direction: row;
    }

    .list__midashi {
        gap: 25px;
        /* width: 83px; */
    }

    .list__midashi__ei {
        gap: 13px;
    }

    .info__li__bikou  .list__midashi {
        width: 83px;
    }

    .info__aicon {
        max-width: 24px;
        height: 24px;
    }

    .info__title {
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 35.70px;
    }

    .txtseta{
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-left: 158px;
    }

    .junzyo__map {
        margin-top: 0;
    }

    .info__text__detial {
        font-size: 1.7rem;
        line-height: 29.41px;
        margin-top: 0;
    }


    /* TELのa */
    .info__text__detial__a {
        font-size: 1.7rem;
        line-height: 29.41px;
        margin-top: 0;
        margin-left: 124px;
    }

    /* 問い合わせのp */
    .info__text__detial__b {
        font-size: 1.7rem;
        line-height: 29.41px;
        margin-top: 0;
        margin-left: 103px;
    }

    /* 定休日のp */
    .info__text__detial__c {
        font-size: 1.7rem;
        line-height: 29.41px;
        margin-top: 0;
        margin-left: 133px;
    }


     /* 駐車場のP */
    .info__text__detial__d {
        font-size: 1.7rem;
        line-height: 29.41px;
        margin-top: 0;
        margin-left: 95px;
    }



    .junzyo img {
        width: 20px;
        height: 20px;
    }

    .text__gedan {
        font-size: 1.7rem;
        line-height: 29.41px;
    }

    .txtsetb {
        display: flex;
        flex-direction: column;
        gap: 10px;
        margin-left: 125px;
    }

    .text__gedanb {
        font-size: 1.6rem;
        line-height: 27.68px;
        margin-top: 0;
    }



    .detial__set {
        margin-top: 0;
        margin-left: 62px;
    }

    .detial__set__last {
        margin-left: 112px;
        margin-top: 0;
        gap: 30px;
    }


    .times ,
    .last__times{
        gap: 7px;
    }


    .cash {
        font-size: 1.7rem;
        line-height: 29.41px;
        font-weight: 500;
    }

    .set__title {
        font-size: 1.7rem;
        line-height: 29.41px;
    }

    .koyuumeishi {
        font-family: Fira Sans;
        /* font-style: italic; */
        font-size: 2rem;
        line-height: 29.41px;
    }

    .info__aicon__close {
        max-width: 34.61px;
        height: 31px;
    }

    /* 決済方法コーナー */
    .info__aicon__visa {
        max-width: 34px;
        height:11px;
    }

    .kesaia,
    .kesaib,
    .kesaicash {
        width: 731px;
    }


    .matome {
        display: flex;
        flex-direction: column;
        margin-bottom: 20px;
        gap: 10px;
        margin-left: 35px;
    }

    .matomeb {
        margin-left: 82px;
    }

    .matomec {
        margin-left: 55px;
    }

    .yumei,
    .mumei {
        gap: 30px;
    }

    /* 備考欄 */
    .info__li__bikou {
        flex-direction: row;
        gap: 154px;
    }

    .corner__title {
        font-size: 1.7rem;
        font-weight: 500;
        line-height: 35.70px;
    }

    .answer {
        font-size: 1.7rem;
        line-height: 29.41px;
        /* margin-left: 42px; */
        width: 135px;
    }

    .answer__reserve {
        width: 204px;
        font-size: 1.7rem;
    }

    .ichiran {
        display: grid;
        grid-template-columns: repeat(2,1fr); /* 左右2列 */
        gap: 90px;
        align-items: center;
    }

   .ichiran__set {
        display: flex;
        flex-direction: column; /* 項目を縦に並べる */
        gap: 30px;
    }

    .waku::after {
        top: 56px;
        left: -8px;

    }
   

    

    

   
    
  
}


    
    








/* ================== 
フッター
====================*/
.footer {
    padding: 40px 0;
    background-color: var(--creamcolor);
    text-align: center;
}

.footer__group {
    text-align: center;
}

.footer__logo {
    max-width: 135px;
    height: 135px;
}

.menu__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.menu__item {
    color: var(--black);
    text-align: center;
    font-family: "Fira Sans";
    font-size: 2.4rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.1;
}

.contactaddress__last {
    display: flex;
    flex-direction: column;
    margin-top: 30px;
    margin-bottom: 30px;
   padding: 0 calc((100% - 186px)/2);
}

.instawaku__footer {
    width: 196px;
    height: 53px;
    display: flex;
    align-items: center;
    margin-top: 20px;
    margin-left: -15px;
}

.instagram {
    display: flex;
    align-items: center;
}

.instagram__img {
    min-width: 60px;
    margin: 0;
}

.instagram a {
    display: block;
    text-align: left;
    flex: 1;
}

.instagram__logo {
    width: 30px;
    height: 30px;
}

.instagram__txt {
    width: 100%;
    text-align: left;
    color: var(--black);
    font-family: "Fira Sans";
    font-size: 2.3rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.1;
}

.phone {
    display: flex;
    align-items: center;
    margin-top: 10px;
}

.phone__img a {
    display: block;
    width: 60px;
    text-align: left;
}

.phone__logo {
    width: 30px;
    height: 30px;
}

.phone__txt {
    color: var(--black);
    font-family: "Fira Sans";
    font-size: 2.3rem;
    font-style: italic;
    font-weight: 600;
    line-height: 2.1;
    white-space: nowrap;
}

.copy {
    text-align: center;
    font-size: 1.4rem;
    line-height: 2;
    margin-top: 29px;
}

.copy__small {
    font-size: 80%;
}

@media screen and (min-width:769px) {
    .footer {
        padding: 0;
    }

    .footer__group {
        display: flex;
        justify-content: center;
    }

    .top__footerbox {
        display: flex;
    }


    .footer__topic {
        padding: 17px;
    }

    .footer__logo {
        max-width: 104px;
        height: 104px;
    }

    .menu {
        display: flex;
        align-items: center;
    }

    .menu__list {
        display: flex;
        flex-direction: row;
        gap: 76px;
    }

    .menu__item {
        text-align: center;
        font-size: 1.7rem;
        font-style: italic;
        font-weight: 600;
        line-height: 1.75;
        letter-spacing: 0.51px;
        border-bottom: #ff0000 solid;
    }

    .menu__item:nth-child(even){
        border-bottom: green solid;
    }
    

    .contactaddress__last {
        margin-top: 0;
        margin-bottom: 30px;
        padding-right: 50px;
        width: 292px;
    }

    .instawaku__footer {
        width: 0;
    }

    .instagram__logo {
        width: 20px;
        height: 20px;
    }

    .phone {
        margin-top: 6px;
    }

    .phone__logo {
        width: 20px;
        height: 20px;
    }

    .phone__img {
        margin-right: -23px;
    }

    .phone__txt {
        font-size: 1.8rem;
        font-style: italic;
        font-weight: 600;
        line-height: 1.75;
        letter-spacing: 0.6px;
        width: auto;
    }

    .contactaddress__last,
    .copylight {
      text-align: center;   /* 中央寄せにしたい場合 */
    }


    .contactaddress__last {
       margin-bottom: 15px;  /* インスタ・電話とコピーライトの間に余白 */
    }

}








/* ===========================
   中間サイズtablet 769px〜1297px 共通
=========================== */
@media screen and (min-width: 769px) and (max-width: 1297px) {
     .header__logo {
        /* max-width: 100px; */
        height: auto;
    }

    .header__logo {
    height: 60px;            /* ロゴを大きく */
  }

  .header__list {
    gap: 24px;               /* ナビの間隔調整 */
  }

  .header__list a {
    font-size: 16px;         /* フォントサイズ調整 */
  }

    .nav {
      display: flex;
      justify-content: center;
      gap: 24px;
      background: transparent;
    }

    .nav__list {
        display: flex;
        /* flex-wrap: wrap;  */
        gap: 18px;
        margin: 0 auto;
        padding: 0;
        list-style: none;
        justify-content: center;
        padding-top: 13px;
    }

    .nav__item {
        font-size: 1.5rem;
        margin-top: 0;
    }

    /* .header__btn {
        left: 90%;
    } */

    .contactaddress {
        max-width: 90%;          /* 横幅を少し広めに */
        /* margin: 0 auto;  */
        display: flex;           /* 横並びにしたい場合 */
        flex-wrap: wrap;         /* はみ出したら折り返し */
        justify-content: center; /* 中央配置 */
        /* gap: 24px;  */
        font-size: 16px; 
    }

    .instawaku__nav {
        display: flex;             /* 横並びに */
        justify-content: center;   /* 中央寄せ */
        gap: 20px;              
        /* margin-top: 20px; */
        flex-wrap: wrap;           /* 幅が狭くなったら折り返す */
    } 

    .header .instagram__img {
        min-width: 0;
    }

  .phone {
      display: flex;
      /* justify-content: center; */
      /* gap: 20px; */
      flex-wrap: wrap;
  }
    
    .instagram__click__f {
        font-size: 1.5rem;
    }

    .header__btn {
        display: none;
    }


/* ===== main ===== */
     .article {
        max-width: 800px;
        padding: 0 5vw;
    }

    .info__corner {
    padding: 40px 10vw;
  }

  .kesaia::after, .kesaib::after, .kesaicash::after {
    width: 73%;
  }

  .ichiran {
    grid-template-columns: 1fr; 
    gap: 60px;
  }

  .coner__logo {
    display: block;
    height: 86px;
    margin-left: 78px;
  }





 /* ===== footer ===== */
    .footer {
        /* display: flex; */
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        gap: 20px;
        padding: 0 30px;
        flex-wrap: wrap;
        /* padding: 40px 7.4vw; */
        background-color: var(--creamcolor);
        text-align: center;
  }



  .footer__group {
        display: flex;
        /* gap: 20px; */
        justify-content:center;
        flex-wrap: wrap;

  }

  .footer__logo {
    width: 150px;
    height: auto;
  }
  
    .menu__list {
        display: flex;
        flex-wrap: wrap;
        gap: 30px;
        list-style: none;
        padding: 0;
        justify-content:space-around;

    }

    .footerflex {
        align-items: flex-start;       /* 上揃え */
        gap: 20px;                     /* 要素間の隙間 */
    }

    .contactaddress__last {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .instawaku__footer,
    .phone__footer {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 1.5rem;
    }

    .footer__instalogo,
    .footer__phone__logo {
        width: 18px;
        height: 18px;
    }

    .instagram__click__f,
    .phone__txt__f {
        font-size: 1.5rem;
        margin-left: 0;
    }

    .footer .instagram__click__f {
        font-size: 1.8rem;
    }

    .footer__copy {
        font-size: 1.4rem;
        text-align: right;
        width: 100%;
        margin-top: 10px;
    }
}














   
