@charset "UTF-8";
/*
function,breakpoint,英文などの特殊フォントの関数
*/
/*英語フォント*/
.p-menu-contents__title, .p-profile-sec__dl-name .en {
  font-family: var(--en-font);
  font-weight: normal;
  font-style: normal;
  font-display: optional;
  letter-spacing: 0;
  -webkit-font-smoothing: antialiased;
}

/*
mixinの設定
フォントサイズや、レスポンシブデザインの設定を行う
*/
.p-about {
  margin-bottom: 21.3333333333vw;
}
@media print, screen and (min-width:768px) {
  .p-about {
    margin-bottom: 170px;
  }
}
.p-about__img {
  margin: 0 auto 12vw;
  max-width: 640px;
}
@media print, screen and (min-width:768px) {
  .p-about__img {
    margin-bottom: min(65px, 6vw);
  }
}
.p-about__heading {
  margin-bottom: 1.7em;
  font-size: min(5.0666666667vw, 2.28rem);
  line-height: 1.8421052632;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width:768px) {
  .p-about__heading {
    margin-bottom: 1.5em;
    font-size: min(23px, 2.3vw);
    letter-spacing: 0.14em;
  }
}
.p-about__heading strong {
  font-weight: inherit;
}
@media only screen and (max-width:767px) {
  .p-about__text {
    font-size: min(4vw, 1.8rem);
    line-height: 2.2666666667;
    letter-spacing: 0.01em;
    text-align: justify;
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
@media print, screen and (min-width:768px) {
  .p-about__text {
    max-width: 733px;
    margin: 0 auto;
    font-size: min(15px, 1.5vw);
    line-height: 2.4666666667;
    letter-spacing: 0.07em;
  }
}

.p-profile {
  margin-bottom: 24vw;
}
@media print, screen and (min-width:768px) {
  .p-profile {
    margin-bottom: 170px;
  }
}
.p-profile-sec {
  max-width: 816px;
  margin-left: auto;
  margin-right: auto;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.p-profile-sec__img {
  width: 62.9333333333vw;
  margin: 0 auto 12.8vw;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__img {
    width: 38.7254901961%;
    margin: 0;
  }
}
.p-profile-sec__img img {
  width: 100%;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__textarea {
    width: 51.4705882353%;
  }
}
.p-profile-sec__text {
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  font-size: min(4vw, 1.8rem);
  line-height: 2.2666666667;
  letter-spacing: 0.01em;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__text {
    font-size: min(15px, 1.5vw);
    line-height: 2.4666666667;
    letter-spacing: 0.07em;
  }
}
.p-profile-sec__dl {
  margin-top: 7.4666666667vw;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__dl {
    margin-top: min(70px, 7vw);
    text-align: left;
  }
}
.p-profile-sec__dl-name {
  margin-bottom: 2.2em;
}
.p-profile-sec__dl-name .jp {
  display: block;
  font-size: min(4.8vw, 2.16rem);
  font-weight: 300;
  line-height: 1.8333333333;
  letter-spacing: 0.14em;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__dl-name .jp {
    font-size: min(23px, 2.3vw);
    line-height: 1.652173913;
    letter-spacing: 0.14em;
  }
}
.p-profile-sec__dl-name .en {
  display: block;
  color: var(--color-main);
  font-size: min(3.4666666667vw, 1.56rem);
  line-height: 1;
  letter-spacing: 0.1em;
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__dl-name .en {
    font-size: min(16px, 1.6vw);
  }
}
.p-profile-sec__dl-text {
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
  font-size: min(3.2vw, 1.44rem);
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-family: var(--font-honbun);
}
@media print, screen and (min-width:768px) {
  .p-profile-sec__dl-text {
    font-size: min(14px, 1.4vw);
  }
}
@media only screen and (max-width:767px) {
  .p-profile-sec__dl-text table {
    margin: 0 auto;
  }
}
.p-profile-sec__dl-text table th {
  padding-right: 2em;
}

/*変数は、要素の外に設定！！！*/
.p-company {
  position: relative;
  max-width: 800px;
  margin-bottom: 21.3333333333vw;
}
@media print, screen and (min-width:768px) {
  .p-company {
    margin-bottom: 170px;
  }
}
@media only screen and (max-width:767px) {
  .p-company__title {
    margin-bottom: 7.4666666667vw;
  }
}
@media print, screen and (min-width:768px) {
  .p-company__title {
    margin-bottom: 50px;
  }
}
.p-company__link {
  margin-top: 6.9333333333vw;
}
@media print, screen and (min-width:768px) {
  .p-company__link {
    margin-top: 80px;
  }
}

.p-company-table {
  width: 100%;
  border-collapse: collapse;
}
.p-company-table tr {
  display: table-row;
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
.p-company-table th,
.p-company-table td {
  font-family: var(--font-honbun);
  font-size: min(3.7333333333vw, 1.68rem);
  font-weight: 300;
  line-height: 1.7142857143;
  letter-spacing: 0em;
  padding: 1.4em 0;
  vertical-align: top;
  line-height: 1.7142857143;
}
@media print, screen and (min-width:768px) {
  .p-company-table th,
  .p-company-table td {
    padding: 1.75em 0;
    font-size: clamp(10px, 16px, 1.6vw);
  }
}
.p-company-table th {
  text-align: justify;
  color: var(--color-main);
}
.p-company-table th > span {
  display: inline-block;
  width: 100%;
  height: 1.7142857143em;
  vertical-align: bottom;
  overflow: hidden;
}
.p-company-table th > span::after {
  content: "";
  display: inline-block;
  width: 100%;
}
@media only screen and (max-width:767px) {
  .p-company-table th {
    /*スマホのみ*/
    width: 14.9333333333vw;
  }
}
@media print, screen and (min-width:768px) {
  .p-company-table th {
    /*PCのみ*/
    width: 9.067357513%;
    min-width: 60px;
  }
}
@media only screen and (max-width:767px) {
  .p-company-table td {
    /*スマホのみ*/
    width: calc(100% - 14.9333333333vw);
    padding-left: 12.8289473684%;
  }
}
@media print, screen and (min-width:768px) {
  .p-company-table td {
    /*PCのみ*/
    width: 90.932642487%;
    padding-left: 7.5%;
    letter-spacing: 0.15em;
  }
}

/*
*
店舗情報（下層ページのスタイル）
*
*/
/*変数は、要素の外に設定！！！*/
.p-shop__link {
  margin-top: 6.9333333333vw;
}
@media print, screen and (min-width:768px) {
  .p-shop__link {
    margin-top: 80px;
  }
}

.p-shop-sec {
  position: relative;
  max-width: 772px;
}
.p-shop-sec + .p-shop-sec {
  margin-top: 18.6666666667vw;
}
@media print, screen and (min-width:768px) {
  .p-shop-sec + .p-shop-sec {
    margin-top: 110px;
  }
}
.p-shop-sec__map {
  width: 100%;
  position: relative;
  padding-top: 67.8899082569%;
  margin-bottom: 11.2vw;
}
@media print, screen and (min-width:768px) {
  .p-shop-sec__map {
    padding-top: 47.9274611399%;
    margin-bottom: 70px;
  }
}
.p-shop-sec__map iframe {
  width: 100% !important;
  height: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
}
.p-shop-sec__textarea {
  text-align: justify;
  -moz-text-align-last: left;
       text-align-last: left;
}
.p-shop-sec__title {
  margin-bottom: 1em;
  font-size: min(4.8vw, 2.16rem);
  font-weight: 300;
  line-height: 1.7222222222;
  letter-spacing: 0.14em;
}
@media print, screen and (min-width:768px) {
  .p-shop-sec__title {
    margin-bottom: 0.7em;
    font-size: min(21px, 2.1vw);
    letter-spacing: 0.14em;
  }
}
.p-shop-sec table {
  width: 100%;
  border-collapse: collapse;
}
.p-shop-sec tr {
  display: table-row;
  border-bottom: 1px solid rgba(112, 112, 112, 0.2);
}
.p-shop-sec th,
.p-shop-sec td {
  font-family: var(--font-honbun);
  font-size: min(3.7333333333vw, 1.68rem);
  font-weight: 300;
  line-height: 1.7142857143;
  letter-spacing: 0em;
  padding: 1.4em 0;
  vertical-align: top;
  line-height: 1.7142857143;
}
@media print, screen and (min-width:768px) {
  .p-shop-sec th,
  .p-shop-sec td {
    padding: 1.75em 0;
    font-size: clamp(10px, 16px, 1.6vw);
  }
}
.p-shop-sec th {
  text-align: justify;
}
.p-shop-sec th > span {
  display: inline-block;
  width: 100%;
  height: 1.7142857143em;
  vertical-align: bottom;
  overflow: hidden;
}
.p-shop-sec th > span::after {
  content: "";
  display: inline-block;
  width: 100%;
}
@media only screen and (max-width:767px) {
  .p-shop-sec th {
    /*スマホのみ*/
    width: 14.9333333333vw;
  }
}
@media print, screen and (min-width:768px) {
  .p-shop-sec th {
    /*PCのみ*/
    width: 9.067357513%;
    min-width: 60px;
  }
}
@media only screen and (max-width:767px) {
  .p-shop-sec td {
    /*スマホのみ*/
    width: calc(100% - 14.9333333333vw);
    padding-left: 12.8289473684%;
  }
}
@media print, screen and (min-width:768px) {
  .p-shop-sec td {
    /*PCのみ*/
    width: 90.932642487%;
    padding-left: 7.5%;
    letter-spacing: 0.15em;
  }
}

.p-menu-contents {
  position: relative;
}
@media print, screen and (min-width:768px) {
  .p-menu-contents {
    max-width: 652px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.p-menu-contents + .p-menu-contents {
  border-top: 1px solid #dedede;
  margin-top: 10.6666666667vw;
  padding-top: 10.6666666667vw;
}
@media print, screen and (min-width:768px) {
  .p-menu-contents + .p-menu-contents {
    margin-top: 45px;
    padding-top: 48px;
  }
}
.p-menu-contents__title {
  margin-bottom: 1em;
  text-align: left;
  color: var(--color-main);
  font-size: min(6.6666666667vw, 3rem);
  line-height: 1;
}
@media print, screen and (min-width:768px) {
  .p-menu-contents__title {
    width: 37.1165644172%;
    font-size: min(29px, 2.9vw);
  }
}

.p-menu-list {
  font-family: var(--font-honbun);
  font-size: min(3.7333333333vw, 1.68rem);
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
}
@media print, screen and (min-width:768px) {
  .p-menu-list {
    width: 62.8834355828%;
    font-size: min(15px, 1.5vw);
  }
}
.p-menu-list__item {
  margin-top: 0.8em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media print, screen and (min-width:768px) {
  .p-menu-list__item {
    margin-top: 0.95em;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}
.p-menu-list__item:first-child {
  margin-top: 0;
}
.p-menu-list__item-title {
  text-align: left;
}
.p-menu-list__item-text {
  text-align: right;
  letter-spacing: normal;
}

.p-menu-card {
  margin: 14.9333333333vw auto 11.2vw;
}
@media print, screen and (min-width:768px) {
  .p-menu-card {
    margin: 7.5rem auto 11.5rem;
  }
}
.p-menu-card__text-area {
  width: 98%;
  margin: auto;
  display: block;
  -webkit-box-shadow: 3px 6px 13px rgba(0, 0, 0, 0.24);
          box-shadow: 3px 6px 13px rgba(0, 0, 0, 0.24);
}
@media print, screen and (min-width:768px) {
  .p-menu-card__text-area {
    padding: 3.8em 1em 4.5em;
  }
}
.p-menu-card__sub-title {
  margin-bottom: 0.4em;
  font-size: max(10px, 3.7333333333vw);
}
@media print, screen and (min-width:768px) {
  .p-menu-card__sub-title {
    margin-bottom: 0.6em;
    font-size: 1.7rem;
  }
}
.p-menu-card__text {
  font-family: var(--font-mincho);
  font-size: 2.9333333333vw;
  font-weight: 300;
  line-height: 1.8181818182;
  letter-spacing: -0.076em;
}
@media print, screen and (min-width:768px) {
  .p-menu-card__text {
    font-size: min(13px, 1.3vw);
    letter-spacing: 0.08em;
  }
}
.p-menu-card__text strong {
  display: block;
  font-size: 136.3636363636%;
  font-weight: 300;
}
.p-menu-card__list {
  margin: 1.2em auto 0;
  width: 67.3076923077%;
}
@media print, screen and (min-width:768px) {
  .p-menu-card__list {
    margin-top: 2em;
    width: 67.3796791444%;
  }
}
@media only screen and (max-width:767px) {
  .p-menu-card__list .a span {
    font-size: max(10px, 2.9333333333vw);
    min-height: 28px;
    padding: 0.4em 1.5em;
  }
  .p-menu-card__list .a span::after {
    width: 1.4666666667vw;
    height: 1.4666666667vw;
  }
}
@media print, screen and (min-width:768px) {
  .p-menu-card__list .a span {
    min-height: 28px;
  }
  .p-menu-card__list .a span::after {
    right: 4.8%;
  }
}

@media print, screen and (min-width:768px) {
  .p-menu-photo01 {
    margin-bottom: 14rem;
  }
}