@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ========== フォントの読み込み ========== */
body {
  font-family:
    "Yu Mincho",
    "游明朝",
    "YuMincho",
        "Hiragino Mincho",
    "Hiragino Mincho ProN",
    "Noto Serif JP",
    serif;
}

/* 英字だけ Marcellus */
:lang(en),
.en,
.font-en {
  font-family: "Marcellus", serif;
}

/* ========== 共通パーツ ========== */
#site-title {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

/* .visually-hiddenの定義 */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* === 縦書き === */
.section_title_wrap {
    position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 4.2rem;
}
h2.section_title {
position: relative;
  writing-mode: vertical-lr;
  text-orientation: upright;
  z-index: 1;
      font-size: 4rem;
  font-weight: 500;
  letter-spacing: 0.3em !important;
  white-space: nowrap;
  z-index: 1;
}
.section_title .x {
font-size: 0.8em;
    letter-spacing: 0.1em;
}
h2.section_title::before {
  content: "" !important;
  position: absolute;
width: 160px;
  height: 160px;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);
    background: url("https://mitoki-bistro.com/wp-content/uploads/2025/12/Vector.svg") no-repeat center / contain;
  z-index: -1;
}
@media screen and (max-width: 599px) {
h2.section_title{
font-size: 32px;
}
h2.section_title::before{
width: 80px;
height: 80px;
}
}

/* === 横書き === */
h2.section_title2{
  font-size: 3.75rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em !important;
  color: #ffffff !important;
  margin-top: 10.8rem;
margin-bottom: 0;
}
p.section_sub_title2{
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #ffffff;
}
@media screen and (max-width: 599px) {
h2.section_title2{
font-size: 40px;
}
p.section_sub_title2{
font-size: 15px;
}
}

/* === ボタン === */
/* 中央寄せ用ラッパー */
.btn-wrap {
  display: flex;
  justify-content: center;
}

/* ボタン共通 */
.btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 3.1rem;
  padding: 0.5rem 4.2rem 0.5rem 0rem;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-decoration: none;
  color: #333333;
  border: 1.7px solid #333333;
  background: transparent;
  overflow: hidden;
  transition:
    color 0.2s ease,
    transform 0.15s ease;
}

/* 左の短い線 */
.btn__line {
  width: 2rem;
  height: 1px;
  background: #333333;
  z-index: 2;
}

/* テキスト */
.btn__text {
  white-space: nowrap;
  z-index: 2;
}

/* 左の赤い点 */
.btn::before {
  content: "";
  position: absolute;
  left: -0.2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0.5rem;
  height: 0.5rem;
  background-color: #ac2104;
  z-index: 3;
}

/* 流れる背景（outline / navy 用） */
.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    91.51deg,
    #B4B4B4 2.57%,
    #3D3D3D 99.74%
  );
  transition: left 0.3s ease;
  z-index: 1;
}
.btn:hover::after {
  left: 0;
}
.btn:hover {
  color: #ffffff;
}
.btn:hover .btn__line {
  background: #ffffff;
}

/* 背景白ボタン */
.btn--outline {
  background-color: transparent;
}

/* 背景紺ボタン */
.btn--navy {
  font-size: 1.313rem;
  gap: 3.5rem;
  padding: 0.6rem 4.2rem 0.5rem 0rem;
  background-color: #323b6d;
  color: #ffffff;
  border: 2.2px solid #ffffff;
}

/* 左の線を白に */
.btn--navy .btn__line {
  background-color: #ffffff;
}

/* 赤い点 */
.btn--navy::before {
  background-color: #ac2104;
  width: 0.625rem;
  height: 0.625rem;
  left: -0.3rem;
}

/* reservationボタン */
.btn--primary {
  background-color: #2A3DB5;
  box-shadow: 0px 4px 4px 0px #0000002E;
  border: none;
  font-size: 1.25rem;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #ffffff;
  padding: 1rem 5.5rem;

}

/* primaryは装飾を無効化 */
.btn--primary::before{
  display: none;
}

/* primary用の流れる背景 */
.btn--primary::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    91.51deg,
    #2A3DB5 0%,
    #000D62 100%
  );
  transition: left 0.3s ease;
  z-index: 1;
}
.btn--primary:hover::after {
  left: 0;
}
.btn--primary .btn__text {
  position: relative;
  z-index: 2;
}

/* SP調整共通 */
@media screen and (max-width: 599px) {
  .btn {
    font-size: 16px;
  }
  .btn--navy {
    font-size: 16px;
  }
}

/* === フェードインアニメーション === */
@keyframes customFadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.section_title_wrap,
.btn-wrap {
  opacity: 0;
  animation-name: customFadeIn;
  animation-duration: 1.2s;
  animation-delay: 200ms;
  animation-fill-mode: forwards;
  animation-timing-function: ease-out;
}

/* ========== ヘッダー ========== */
@media (min-width: 960px) {
    .-series-right .l-header__inner {
        padding: 0 1rem;
    }
.-series .l-header__logo {
        padding: 1.4rem 0;
    }
.-series-right .w-header {
        margin-bottom: 10px;
    }
}

.c-gnav>.menu-item>a .ttl {
  font-size: 0.813rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.05em;
}
span.c-smallNavTitle.desc{
  font-size: 1rem;
  line-height: normal;
  letter-spacing: 0.05em;
  opacity: 1;
}
.c-gnav>.menu-item>a {
    padding: 0 clamp(0.6rem, -1.68rem + 3.8vw, 1.74rem);
}
.l-header .c-gnav>li>a:after {
    top: 80%;
}

.header_tel_group {
    align-items: baseline;
margin-bottom: 0.2rem;
}
p.header_tel{
    font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.5;
    letter-spacing: 0.05em;
}
p.header_number{
font-size: clamp(1.375rem, 0.875rem + 0.833vw, 1.625rem);
  font-weight: 500;
  line-height: 1.5;

}
/* ヘッダーボタン */
.header_btn{
  font-size: 1.125rem;
  line-height: normal;
  letter-spacing: 0.05em;
  box-shadow: 0px 4px 4px 0px #181C3A2E;
  position: relative;
  overflow: hidden;
}
.header_btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    91.51deg,
    #2A3DB5 0%,
    #000D62 100%
  );
  transition: left 0.3s ease;
  z-index: 1;
}
.header_btn:hover::after {
  left: 0;
}
.header_btn span,
.header_btn .btn__text {
  position: relative;
  z-index: 2;
}

.header_btn a {
    padding: 0.5rem clamp(1rem, -1.6rem + 4.333vw, 2.3rem);
}
@media (min-width: 960px) {
    .-series-right .w-header {
        margin-left: clamp(1rem, -4rem + 8.333vw, 3.5rem);
    }
}

/* ========== FV ========== */
.p-blogParts.post_content {
  position: relative;
}
.fv_title_group {
  position: absolute;
  top: 50%;
  left: 8.4%;
  transform: translateY(-27%);
  z-index: 2;
  opacity: 0;
  animation: fvFloatUp 1.2s ease-out forwards;
}

.fv_title_group {
    transform: translateY(-50%);
}
    .instagram_icon {
width: 43px;
bottom: clamp(-275px, calc(-155px + (-275 - -155) * ((100vw - 375px) / (599 - 375))), -155px);
    }

p.fv_text1,
p.fv_text2{
  font-size: 2rem;
  line-height: normal;
  letter-spacing: 0.15em;
  color: #ffffff;
  margin-bottom: 0.4rem;
  transform: translateY(-3px);
}
p.fv_text2{
margin-bottom: 1rem;
}
p.fv_text3{
  font-size: 2.313rem;
  line-height: normal;
  letter-spacing: 0.15em;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 12px;
}
p.fv_text3::before {
  content: "";
  width: 76px;
  border-top: 1px solid #fff;
  display: block;
}


@keyframes fvFloatUp {
  0% {
    opacity: 0;
    transform: translateY(calc(-27% + 20px));
  }
  100% {
    opacity: 1;
    transform: translateY(-27%);
  }
}

@media screen and (min-width: 960px) {
.instagram_icon {
  position: absolute;
  top: clamp(14.625rem, -0.375rem + 25vw, 22.125rem);
left: clamp(0.938rem, 6.438rem + -9.167vw, -1.813rem);
  transform: translateY(-100%);
}
}

@media screen and (max-width: 959px) {
.p-mainVisual__textLayer{
top: -3%;
}

.fv_title_group{
left: 3.5%;
}
p.fv_text1, p.fv_text2{
font-size:2.6rem;
}
p.fv_text2{
margin-bottom: 0.5rem;
}
p.fv_text3{
font-size: clamp(1.625rem, 0.476rem + 3.064vw, 2.313rem);
}
.instagram_icon {
position: absolute;
bottom: clamp(-475px, calc(-250px + (-475 - -250) * ((100vw - 600px) / (959 - 600))), -250px);
            left: 2%;
        width: 60px;
}

}

@media screen and (max-width: 599px) {
    p.fv_text1, p.fv_text2 {
        font-size: 24px;
    }
p.fv_text3{
font-size: 20px;
}
p.fv_text3::before{
    width: 42px;
}
.instagram_icon {
bottom: clamp(-11.625rem, 0.408rem + -52.339vw, -18.813rem);
        width: 45px;
}

}

/* ========== aboutセクション =========== */
.top #content{
padding-top: 0;
}

.about_section {
    padding-bottom: 12rem !important;
}

.about_column {
    margin-bottom: 12.8rem;
}

.about_column .swell-block-columns__inner{
justify-content: flex-end;
}

.about_column2._spacer{
margin-bottom: 2rem;
}

h3.about_title{
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em !important;
  margin-bottom: 1.5rem;
}
p.about_text {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 1.5rem;
}

@media screen and (max-width: 1080px) {
.about_text_column{
--clmn-w--pc: 45% !important;
}
}

@media screen and (max-width: 959px) and (min-width: 600px) {
h3.about_title,
p.about_text {
text-align: center !important;
}
.about_img img{
max-width: 70%;
margin-left: auto;
margin-right: auto;
}
}

@media screen and (max-width: 960px) {
.about_text_column{
padding: 0 !important;
}
}


@media screen and (max-width: 959px) {
.about_column {
    padding: 0 1rem;
}
}

@media screen and (max-width: 599px) {
h3.about_title{
font-size: 19px;
}
p.about_text{
font-size: 15px;
}
}

.about_column2 .swell-block-columns__inner {
    gap: 7.3rem;
}
.about_column2 .section_title_wrap {
justify-content: flex-start;
    margin-bottom: 5.2rem;
}
.about_column2 .section_title_wrap::before {
    left: 18%;
}

.about_column2 .section_title {
  letter-spacing: 0.4rem !important;
  margin-left: 5rem;
}
.about_column2 .section_title .x{
letter-spacing: .3em;
display: inline-block;    
transform: translateY(0.75rem);
}
.about_column2 h2.section_title::before {
    top: 49%;
}


.about_column2 {
    margin-bottom: 10.2rem;
}

@media screen and (max-width: 1210px) {
.about_column2 .swell-block-columns__inner {
    gap: 2.3rem;
}
.about_column2 .about_text_column{
--clmn-w--pc: 63% !important;
}

}

@media screen and (max-width: 959px) {
.about_column2 {
    padding: 0 1rem;
    margin-bottom: 7rem;
}
.about_column2 .about_img_column {
    order: 2;
  }
  .about_column2 .about_text_column {
    order: 1;
  }

.about_column2 .section_title_wrap {
    justify-content: center;
}
.about_column2 .section_title {
    margin-left: 0;
}
.about_column2._spacer{
display: none;
}
}

/* ========== gallery ========== */

.gallery_column1 {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 11.5rem;
}
.gallery_column2 {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
}

@media screen and (max-width: 1205px) {
.gallery_column1 {
padding: 0 1rem;
}
}
@media screen and (max-width: 1045px) {
.gallery_column1_right {
    padding: 0 6rem !important;
}
}
@media screen and (max-width: 1000px) {
.gallery_column2 {
padding: 0 1rem;
}
}
@media screen and (max-width: 959px) {
.gallery_column1_left,
.gallery_column1_right,
.gallery_column2_left,
.gallery_column2_right {
padding: 0 !important;
}
}
@media screen and (max-width: 599px) {
.gallery_column1 .swell-block-columns__inner,
.gallery_column2 .swell-block-columns__inner{
gap: 5rem;
}
.gallery_column1{
margin-bottom: 5rem;
}
}

.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0rem;
}
.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}
.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 30s infinite linear;
}
.loop-slider .swell-block-column figure {
    position: relative;
}
.loop-slider .swell-block-column figure::before {
    padding-top: 65%; 
    display: block;
    content: "";
}
.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 400px;
    }
}
@media screen and (max-width: 599px) {
    .loop-slider .swell-block-column figure {
        width: 250px;
    }
}
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-100%);
    }
}

/* ========== menu ========== */

.food_column {
  max-width: 970px;
background: linear-gradient(102.51deg, #E5EEFF 0%, #F9FBFF 100.98%);
margin-top: 5.4rem;
}
h3.food_title{
  font-size: 2.5rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.1em !important;
  color: #ac2104 !important;
  margin-bottom: 0;
}
p.food_sub_title{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-bottom: 2.1rem;
}
p.food_text{
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 2.1rem;
}

@media screen and (max-width: 1000px) {
.food_column{
margin-right: 1rem;
}
}

@media screen and (max-width: 959px) and (min-width: 600px) {
.food_img img{
max-width: 70%;
margin-left: auto;
margin-right: auto;
}
p.food_text{
text-align: center;
}
}

@media screen and (max-width: 959px) {
.food_column{
margin: 0 1rem;
}
.food_column .food_img_column {
    order: 2;
    padding: 1rem 1.5rem 3rem !important;
  }
.food_column .food_text_column {
    order: 1;
  padding: 3rem 1.5rem 1rem;
  }

}

@media screen and (max-width: 599px) {
h3.food_title{
font-size: 35px;
}
p.food_sub_title{
font-size: 15px;
}
p.food_text{
font-size: 16px;
}
}

.drink_column {
  max-width: 975px;
margin-left: auto;
background: linear-gradient(102.51deg, #E5EEFF 0%, #F9FBFF 100.98%);
margin-top: 6.8rem;
margin-bottom: 6.3rem !important;
}
@media screen and (max-width: 1000px) {
.drink_column{
margin-left: 1rem;
}
}
@media screen and (max-width: 959px) {
.drink_column{
margin: 5rem 1rem;
}
.food_text_column{
padding: 3rem 1.5rem 1rem !important;
}
.food_img_column{
padding: 1rem 1.5rem 3rem !important;
}
}

.course_column{
max-width: 1205px;
background: linear-gradient(102.51deg, #E5EEFF 0%, #F9FBFF 100.98%);
margin-top: 8.7rem;
}

.course_title_group {
  align-items: center;
    gap: 4.5rem;
    margin-bottom: 1.3rem;
}
p.course_title{
  font-size: 1.5rem;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}
p.course_sub_title {
  font-size: 1.125rem;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}

.course_price_group {
    align-items: baseline;
}
p.course_price{
font-size: 1.5rem;
font-weight: 500;

  line-height: normal;
  letter-spacing: 0.05em;

}
p.course_tax{
font-size: 1.125rem;
font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;

}

p.course_text{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

hr.wp-block-separator.has-alpha-channel-opacity.course_border {
    max-width: 590px;
    margin-left: 0;
    margin-bottom: 1.8rem;
}

.course_group {
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
}
p.course_group_title{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 0;
}

.course_list {
    padding-left: 0.5rem;
}
li.course_list_item{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin: 0;
    list-style: none;
  position: relative;
  padding-left: 1em;
}
li.course_list_item::before {
    content: "・";
    position: absolute;
    left: 0;
    top: 0.2em;
    font-size: 1em;
    line-height: 1;
}

@media screen and (max-width: 1220px) {
.course_column{
margin-right: 1rem;
}
}

@media screen and (max-width: 959px) and (min-width: 600px) {
.course_title_group{
justify-content: center;
}
p.course_text{
text-align: center;
}
}

@media screen and (max-width: 959px) {
.course_column{
margin: 5rem 1rem;
}
.course_column .food_img_column {
    order: 2;
    padding: 1rem 1.5rem 3rem !important;
  }
.course_column .food_text_column {
    order: 1;
  padding: 3rem 1.5rem 1rem;
  }
.course_spacer{
display: none;
}
hr.wp-block-separator.has-alpha-channel-opacity.course_border{
max-width: 100%;
}
}

@media screen and (max-width: 599px) {
.course_title_group{
display: block !important;
}
.course_sub_title_group .wp-block-group {
    display: flex;
    align-items: baseline;
    gap: 1rem;
}
.course_price_group {
    gap: 0 !important;
}

p.course_title,
p.course_price{
font-size: 20px;
}
p.course_sub_title,
p.course_tax{
font-size: 15px;
}
p.course_text{
font-size: 16px;
}
p.course_group_title,
li.course_list_item{
font-size: 15px;
}
}

/* ========== reservationセクション ========== */
.reservation_section {
    padding-top: 5.7rem !important;
    padding-bottom: 3.6rem !important;
}

h2.reservation_title{
  font-size: 4rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.1em !important;
  color: #ffffff !important;
  margin-bottom: 0.8rem;
}
p.reservation_sub_title {
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin-bottom: 0.9rem;
}

.cta_group {
    justify-content: center;
    align-items: baseline;
    gap: 5.8rem;
margin-bottom: 1.8rem;
}
.tel_group {
    gap: 1rem;
}
p.tel {
  font-size: 2.25rem;
  font-family: "Optima";
  font-weight: 400;
  line-height: normal;
  text-align: left;
  color: #ffffff;
}
p.tel a:hover{
opacity: 0.7;
}

.cta_text_group {
    max-width: 705px;
    margin-left: auto;
    margin-right: auto;
}
p.reservation_text{
  font-size: 18px;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin-bottom: 0.6rem;
}
p.reservation_sub_text{
  font-size: 14px;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #ffffff;
}

@media screen and (max-width: 959px) {
.cta_group {
    display: block !important;
}
.tel_group {
    justify-content: center;
    margin-top: 2rem !important;
}
p.reservation_sub_title{
margin-bottom: 2rem;
}
.reservation_text_group {
    /* max-width: 230px; */
    max-width: 243px;
    margin-inline: auto;
}
p.reservation_text{
margin-bottom: 0;
}
}

@media screen and (max-width: 670px) {
p.reservation_sub_text{
text-align: start;
}
}

@media screen and (max-width: 599px) {
h2.reservation_title{
font-size: 35px;
}
p.reservation_sub_title{
font-size: 14px;
}
}

/* ========== floorセクション ========== */
.floor_section {
    padding-top: 3.5rem !important;
    padding-bottom: 9.5rem !important;
}

p.floor_text{
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.05em;
  margin: 3.2rem 0 2.9rem;
}
.floor_map {
    max-width: 920px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6.3rem;
}
.floor_column {
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 6.2rem;
}

/* ========== planセクション ========== */
.plan_column {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  background-image: url("https://mitoki-bistro.com/wp-content/uploads/2025/12/f35a83b6469f65904554608057dba949.jpg");
  background-repeat: no-repeat;
  background-position: right bottom; /* 右下に配置 */
  background-size: cover; /* 全体に敷きたい場合 */
}

h2.wp-block-heading.plan_title {
  font-size: 2.125rem;
  line-height: 1.5;
  letter-spacing: 0.1em !important;
  color: #ffffff !important;
  margin-bottom: 4.8rem;
}
h2.wp-block-heading.plan_title::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 240px;
  height: 42px;
  background: url("https://mitoki-bistro.com/wp-content/uploads/2025/12/Rectangle-824.svg")
    no-repeat center / contain;
  z-index: -1;
}


p.plan_text{
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin-bottom: 2.2rem;
}
p.plan_group_title,
li.plan_group_list_item{
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  margin: 0;
}

.plan_group {
    margin-bottom: 2.3rem;
}
li.plan_group_list_item {
  list-style: none;
  position: relative;
  padding-left: 1em;
}
li.plan_group_list_item::before {
  content: "・";
  position: absolute;
  left: 0;
top: 0.25em;
    font-size: 1em;
  line-height: 1;
}
ul.plan_group_list {
    padding-left: 0;
}

ul.plan_group_sub_list {
    padding-left: 0;
}
li.plan_group_sub_list_item{
  font-size: 0.875rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  list-style: none; 
  position: relative;
  padding-left: 1.2em; 
}
li.plan_group_sub_list_item::before {
  content: "※";
  position: absolute;
  left: 0;
top: 0.25em;
    font-size: 1em;
  line-height: 1;
}

@media screen and (max-width: 959px) {
.plan_column {
    background-image: url("https://mitoki-bistro.com/wp-content/uploads/2025/12/92d6d8db46b4b70ce9e92bf8442ad4ed.png");
  }
.plan_column_item {
        padding: 2.8rem 1.5rem 12rem !important;
    }
  }
@media screen and (max-width: 599px) {
    .plan_column_item {
        padding: 2.5rem 1rem 12rem 1rem !important;
    }
h2.wp-block-heading.plan_title{
font-size: 30px;
}
p.plan_text{
font-size: 16px;
}
p.plan_group_title, li.plan_group_list_item,
li.plan_group_sub_list_item{
font-size: 15px;
}
}

/* ========== access&informationセクション ========== */
.access_section {
    padding-top: 4.2rem !important;
    padding-bottom: 5.5rem !important;
}
h2.section_en {
    margin-bottom: 0;
}
.section_en-text {
  font-size: 3.75rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
    color: #49517d;
}
/* ＆だけ別指定 */
.section_en-amp {
  font-size: 3.125rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: 1.5;
letter-spacing: 0.3em;
  color: #49517d;
}

p.access_sub_title{
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: #49517d;
  margin-bottom: 3rem;
}

.access_column {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
}
.access_text_column {
    background-color: #ffffff;
}

/* --- 共通設定：両方の表に適用 --- */
.access_table,
.parking-table {
    margin-bottom: 2.75rem;
}

.access_table td:first-child,
.parking-table td:first-child {
  font-size: 1rem;
  line-height: 1.6;
  color: #49517d;
  width: 25% !important;
  padding-bottom: 0.3rem;
}

.access_table td:last-child,
.parking-table td:last-child {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #000000;
  padding-bottom: 0.3rem;
}
.parking-table td:first-child,
.parking-table td:last-child {
padding-bottom: 0.25rem;
}

.access_table:first-of-type tr:last-child td:last-child {
    font-size: 0.875rem;
}
.access_table:first-of-type tr:last-child td:last-child::first-line {
    font-size: 1rem;
}

.parking-table tr:nth-child(3) td:last-child {
    font-size: 0.875rem !important;
}
.parking-table tr:nth-child(3) td:last-child::first-line {
    font-size: 1rem !important;
}

.post_content td, 
.post_content th {
  border: none;
  border-bottom: 0.3px solid #9A9A9A;
}

.post_content tr:last-child td,
.post_content tr:last-child th {
  border-bottom: none;
}

.access_img {
  margin: 2.5rem 0;
}

.access_img img {
    transform: translateX(-9px);
}



@media screen and (max-width: 959px) {
.access_text_column {
    padding: 2.5rem 1.5rem !important;
}
.access_table td:first-child,
.parking-table td:first-child{
width: 100% !important;
border-bottom: none;
padding-bottom: 0;
}
.access_table td:last-child, .parking-table td:last-child {
    padding-top: 0.2rem;
    padding-bottom: 0.8rem;
}
}

@media screen and (max-width: 599px) {
.section_en-text{
font-size: 40px;
}
.section_en-amp{
font-size: 35px;
}
p.access_sub_title{
font-size: 15px;
}
.access_text_column{
padding: 2rem 1rem !important;
}
.access_table td:first-child, 
    .parking-table td:first-child,
    .access_table td:last-child, 
    .parking-table td:last-child,
    .access_table:first-of-type tr:last-child td:last-child::first-line,
    .parking-table tr:nth-child(3) td:last-child::first-line {
        font-size: 16px !important;
    }
    .access_table:first-of-type tr:last-child td:last-child,
    .parking-table tr:nth-child(3) td:last-child {
    font-size: 14px !important;
}
.access_table td:last-child{
padding-top: 0.25rem;
}
}


/* ========== faqセクション ========== */
.faq_section {
    padding-top: 3.8rem !important;
padding-bottom: 10.2rem !important;
}
.faq_column {
    background-color: #F7F7F7;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3rem;
}

.faq_section summary.swell-block-accordion__title {
    padding: 2rem 3rem;
}
.faq_section .swell-block-accordion__body {
    padding: 2em 2.5rem !important;
    position: relative;
    border-top: none !important;
}
.faq_section .swell-block-accordion__body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  height: 0.5px;
  background-color: #999999;
}

details.swell-block-accordion__item.faq_accordion_item{
border: none;
background-color: #ffffff;
border-radius: 10px;
margin-bottom: 1.5rem;
}
.faq_section h3.swell-block-accordion__label {
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.6;
  color: #444444;
  position: relative;
  padding-left: 2.5rem;
}
.faq_section h3.swell-block-accordion__label::before {
  content: "Q";
  position: absolute;
  left: 0;
  top: 33%;
  transform: translateY(-50%);
font-size: 1.125rem;
  font-family: "Optima";
  font-weight: 700;
  line-height: 1.45;
  color: #ac2104;
}

p.faq_accordion_text{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.6;
  color: #444444;
    position: relative;
  padding-left: 2.5rem;
}
p.faq_accordion_text::before {
  content: "A.";
  position: absolute;
  left: 0;
  top: 0;
font-size: 1.125rem;
  font-family: "Optima";
  font-weight: 700;
  line-height: 1.45;
  color: #ac2104;
}

.faq_section span.swell-block-accordion__icon.c-switchIconBtn{
color: #AC2104;
}

@media screen and (max-width: 959px) {
.faq_column_item{
padding: 4rem 1.5rem !important;
}
}

@media screen and (max-width: 599px) {
.faq_column_item{
padding: 3rem 1.5rem !important;
}
.faq_section summary.swell-block-accordion__title,
.faq_section .swell-block-accordion__body {
    padding: 1.5rem !important;
}
.faq_section .swell-block-accordion__body {
margin: 0 !important;
}
.faq_section h3.swell-block-accordion__label{
font-size: 16px;
}
p.faq_accordion_text{
font-size: 15px;
}
}

/* ========== instagramセクション ========== */
.instagram_section {
    padding-top: 4.5rem !important;
    padding-bottom: 3.5rem !important;
}

/* ========== shopセクション ========== */
.shop_section {
    padding-top: 5.5rem !important;
    padding-bottom: 8.9rem !important;
}

.shop_column{
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 3.4rem;
}

h3.shop_title{
  font-size: 2.688rem;
  line-height: 1.5;
  letter-spacing: 0.1em !important;
  color: #ffffff !important;
  text-shadow: 0 0.25rem 0.25rem rgba(44, 52, 113, 0.3499999940395355);
}
.shop_item1 {
  position: relative;
  background: url("https://mitoki-bistro.com/wp-content/uploads/2025/12/43e7ae9379c02ca0e6e85719d30bc522.jpg") no-repeat center / cover;
}
.shop_item2 {
  position: relative;
  background: url("https://mitoki-bistro.com/wp-content/uploads/2025/12/4fa23cc81a877a296fed90ff52450272.jpg") no-repeat center / cover;
}

@media screen and (max-width: 599px) {
h3.shop_title{
font-size: 25px;
}
}

/* ========== footerセクション ========== */
div#content{
margin-bottom: 0;
}
div#before_footer_widget{
margin-top: 0;
}

.footer_section {
    padding-top: 5rem !important;
    padding-bottom: 1.3rem !important;
}

.footer_logo {
    margin-bottom: 5.2rem;
}

ul.swell-block-linkList.footer_link {
    justify-content: center;
    gap: 3.8rem;
    margin-bottom: 5.6rem;
}
li.swell-block-linkList__item.footer_link_item{
  font-size: 1.438rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 0.05em;
  color: #ffffff;
}

ul.swell-block-linkList.is-style-default.-flex.footer_link2 {
    max-width: 370px;
    margin-left: auto;
    margin-right: auto;
    justify-content: space-between;
    margin-bottom: 0.8rem;
}
li.swell-block-linkList__item.footer_link2_item{
  font-size: 0.875rem;
  line-height: normal;
  letter-spacing: 0.05em;
  text-align: center;
  color: #ffffff;
}

.footer_section .swell-block-linkList.is-style-default.-flex .swell-block-linkList__link:hover{
text-decoration: none;
color: #ffffff;
opacity: 0.7;
}

p.copy{
  font-size: 0.75rem;
  line-height: 2.42;
  letter-spacing: 0.02em;
  color: #ffffff;
}

.l-footer__foot{
display: none;
}

@media screen and (max-width: 959px) {
ul.swell-block-linkList.footer_link {
    gap: 2.8rem;
    margin-bottom: 3.6rem;
}
}
@media screen and (max-width: 599px) {
.footer_logo {
    margin-bottom: 2.2rem;
}

    ul.swell-block-linkList.footer_link {
     gap: 1.8rem;
        margin-bottom: 1.6rem;
    }
li.swell-block-linkList__item.footer_link_item{
font-size: 15px;
}
li.swell-block-linkList__item.footer_link2_item,
p.copy{
font-size: 13px;
}
}

/* ====================
    下層ページ共通
  ===================== */
.page-id-21 h1.c-pageTitle,
.page-id-353 h1.c-pageTitle,
.page-id-355 h1.c-pageTitle,
.page-id-357 h1.c-pageTitle{
display: none;
}
.page-id-21 .post_content,
.page-id-353 .post_content,
.page-id-355 .post_content,
.page-id-357 .post_content{
margin-top: 0;
}
.page-id-21 div#content,
.page-id-353 div#content,
.page-id-355 div#content,
.page-id-357 div#content{
padding-top: 0;
}

.under_fv_section {
    padding-top: 7.5rem !important;
    padding-bottom: 3.5rem !important;
}
p.under_fv_title {
  font-size: 3.75rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
  margin-bottom: 0;
}
p.under_fv_sub_title{
  font-size: 1.125rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 959px) {
.under_fv_section {
    padding-top: 5.5rem !important;
}
}

@media screen and (max-width: 599px) {
p.under_fv_title {
font-size: 40px;
}
p.under_fv_sub_title{
font-size: 15px;
}
}

/* ==============================
    メニュー一覧ページ(.page-id-21)
  ============================== */

/* ========== ドロワーナビロゴ ========== */
.p-spMenu__body::before {
    content: "";
    display: block;
    width: 100px;
    height: 55px;
margin: 0 auto;
    background: url('https://mitoki-bistro.com/wp-content/uploads/2025/12/Group.svg') no-repeat center / contain;
    margin-bottom: 20px;
    position: relative;
    z-index: 10;  
}




/* ========== パン屑リスト ========== */
div#breadcrumb{
  background-color: #323b6d;

}
ol.p-breadcrumb__list.l-container {
    color: #fff;
}

/* ========== menu_listセクション(.page-id-21) ========== */
.menu_list_section {
    padding-top: 2.5rem !important;
padding-bottom: 5.2rem !important;
position: relative;
}

.food_title_img {
    margin-bottom: 0.8rem;
}

h2.food_title{
  font-size: 2.5rem;
  font-family: "Marcellus",serif;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.1em !important;
  color: #ac2104 !important;
  margin-top: 0;
  margin-bottom: 0;
}
.menu_list_section p.food_sub_title {
    margin-bottom: 5.2rem;
}
@media screen and (max-width: 599px) {
h2.food_title{
font-size: 35px;
}

.sp_img_column_left,
.sp_img_column_right{
padding: 0 1rem !important;
}
}

/* === ボタン === */
/* 横並び */
.btn-row {
  gap: 1.8rem;
  justify-content: center;
  margin-bottom: 3.1rem;
}
/* ボタン共通 */
.btn-category {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 18.125rem;
  height: 3.5rem;
  padding: 0.625rem 5.688rem;
  text-decoration: none;

  box-shadow: 0px 4px 4px 0px #0000002E;
  overflow: hidden;
}
/* 背景レイヤー共通 */
.btn-category__bg {
  position: absolute;
  inset: 0;
  transition:
    transform 0.6s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.6s ease;
}
/* 通常背景 */
.btn-category__bg--base {
  z-index: 1;
}
/* ホバー背景 */
.btn-category__bg--hover {
  z-index: 2;
  transform: translateX(-20%);
  opacity: 0;
}
/* hover時 */
.btn-category:hover .btn-category__bg--hover {
  transform: translateX(0);
  opacity: 1;
}
/* テキスト */
.btn-category__text {
  position: relative;
  z-index: 3;
  font-size: 1.875rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #ffffff;
  text-align: center;
}

/* 赤ボタン */
.btn-category--red .btn-category__bg {
background: linear-gradient(90deg, #AC2104 0%, #6E1300 100%);
}
.btn-category--red .btn-category__bg--hover {
  background: linear-gradient(
    90deg,
    #6E1300 0%,
    #AC2104 100%
  );
}

/* 青ボタン */
.btn-category--blue .btn-category__bg--base {
  background: linear-gradient(
    90deg,
    #223297 0%,
    #09176A 100%
  );
}
.btn-category--blue .btn-category__bg--hover {
  background: linear-gradient(
    90deg,
    #0A176B 0%,
    #6C78C3 100%
  );
}


@media screen and (max-width: 959px) {
.btn-row {
flex-direction: column;
    align-items: center;
    gap: 1rem;
margin-bottom: 1rem;
  }
}

.under_btn_group {
    margin-bottom: 2.3rem;
}

@media screen and (max-width: 599px) {
.btn-category__text{
font-size: 16px;
}
}

/* ========== drink ========== */
.under_drink_group {
    margin-bottom: 1.5rem;
}

div#drink {
    margin-bottom: 1rem;
}

p.menu_text{
  font-size: 1rem;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 3.2rem;
}
p.drink_sub_title{
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.1em;
  margin-bottom: 2.1rem;
}
@media screen and (max-width: 599px) {
p.drink_sub_title{
font-size: 15px;
}
}

h3.drink_title{
  font-size: 1.25rem;
  font-weight: 800;
  line-height: normal;
letter-spacing: 0 !important;
margin-top: 0rem;
margin-bottom: 0;
}


.beer_column_center h3.drink_title:first-of-type {
    margin-bottom: 1.45rem ;
}
figure.wp-block-table.beer_table:nth-of-type(2) {
margin-bottom: -0.5rem !important;
}





.page-id-21 .post_content td, .post_content th {
    border: none;
    border-bottom: 0.3px solid #9A9A9A;
    border-bottom: none;
}

figure.wp-block-table.beer_table td:first-child,
figure.wp-block-table.wine_table td:first-child,
figure.wp-block-table.sour_table td:first-child{
  font-size: 1.25rem;
  font-weight: 500;
  padding: 0;
}
figure.wp-block-table.beer_table td:last-child,
figure.wp-block-table.wine_table td:last-child,
figure.wp-block-table.sour_table td:last-child{
  font-size: 1.25rem;
  font-weight: 500;
  line-height: normal;
  padding: 0  ;
}


/* ビール・日本酒 */
figure.wp-block-table.beer_table {
    max-width: 63%;
    margin-bottom: 1.4rem;
}
figure.wp-block-table.beer_table td:first-child  {
  width: 63%;
}
figure.wp-block-table.beer_table td:last-child{
width: 20%;
}
@media screen and (max-width: 1187px) {
figure.wp-block-table.beer_table {
    max-width: 94%;
}
}
@media screen and (max-width: 1026px) {
.beer_column_center{
--clmn-w--pc: 55% !important;
}
}

@media screen and (max-width: 959px) {
.wp-block-spacer.drink_column_spacer{
height: 1.2rem !important;
}
.beer_column_center{
padding: 0 1rem !important;
}
    figure.wp-block-table.beer_table {
        max-width: 73%;
    }



figure.wp-block-table.beer_table {
    /* max-width: 80%; */
}
}
@media screen and (max-width: 599px) {
figure.wp-block-table.beer_table {
        max-width: 100%;
    }
figure.wp-block-table.beer_table td:first-child {
    width: 76%;
}
figure.wp-block-table.beer_table {
    /* max-width: 100%; */
}
figure.wp-block-table.beer_table td:first-child {
    /* width: 84%; */
}
}

/* ワイン */
.wine_column {
    margin-bottom: 1.5rem;
}
figure.wp-block-table.wine_table {
    max-width: 94%;
    margin-bottom: 1.4rem;
}
figure.wp-block-table.wine_table td:first-child{
  width: 88%;
}
@media screen and (max-width: 1430px) {
.wine_column_center{
--clmn-w--pc: clamp(60%, 80% - 0.0106 * 100vw, 70%);
}
}
@media screen and (max-width: 1150px) {
figure.wp-block-table.wine_table{
max-width: 100%;
}
}


@media screen and (max-width: 959px) {
.wine_column_left{
display: none;
}
.wine_column_center{
padding: 0 1rem !important;
width: 72% !important;
}
figure.wp-block-table.wine_table td:first-child {
    width: 82%;
}

figure.wp-block-table.wine_table{
    /* max-width: 100%; */
}
}
@media screen and (max-width: 599px) {
    .wine_column_center {
        width: 100% !important;
    }
    figure.wp-block-table.wine_table td:first-child {
        width: 81%;
    }
}

/* サワー */
figure.wp-block-table.sour_table {
    max-width: 74%;
}
figure.wp-block-table.sour_table td:first-child  {
  width: 70%;
}
figure.wp-block-table.sour_table td:last-child{
width: 20%;
}
.sour_column {
    margin-bottom: 1.5rem;
}

@media screen and (max-width: 1362px) {
.sour_column_right{
--clmn-w--pc: 28% !important;
}
}
@media screen and (max-width: 1362px) {
.sour_column_center{
--clmn-w--pc: clamp(44%, 93.2% - 0.05vw, 47%) !important;
}
figure.wp-block-table.sour_table {
    max-width: 100%;
}
}
@media screen and (max-width: 959px) {
.sour_column_left,
.sour_column_right{
display: none;
}
.sour_column_center{
padding: 0 1rem !important;
width: 72% !important;
}
}
@media screen and (max-width: 599px) {
    .sour_column_center {
    width: 100% !important;
}
}




.another_group {
max-width: 715px;
margin-left: clamp(14.1875rem, calc(22.0833vw + 0.9375rem), 20.8125rem);
margin-right: auto;
    margin-bottom: 0.8rem;
}
p.another_text{
  font-size: 1.25rem;
  font-weight: 500;
  line-height: normal;
  margin-bottom: 1.5rem;
}



@media screen and (max-width: 959px) {
figure.wp-block-table.beer_table td:first-child,
figure.wp-block-table.wine_table td:first-child,
figure.wp-block-table.sour_table td:first-child,
figure.wp-block-table.beer_table td:last-child,
figure.wp-block-table.wine_table td:last-child,
figure.wp-block-table.sour_table td:last-child,
p.another_text{
font-size: clamp(1.05rem, 0.717rem + 0.889vw, 1.25rem);
}
.another_group {
  max-width: 100%;
    padding: 0 1rem;
    margin: 0;
}
}

@media screen and (max-width: 599px){
p.menu_text,
p.another_text{
font-size: 15px;
}
h3.drink_title{
font-size: 16px;
}
figure.wp-block-table.beer_table td:first-child,
figure.wp-block-table.wine_table td:first-child,
figure.wp-block-table.sour_table td:first-child,
figure.wp-block-table.beer_table td:last-child,
figure.wp-block-table.wine_table td:last-child,
figure.wp-block-table.sour_table td:last-child{
font-size: 15px;
}
}

/* コース料理 */
.page-id-21 .course_column {
background: none;
margin-top: 0;
}

.page-id-21 p.under_course_sub_title{
margin-bottom: 1.8rem;
}

@media screen and (max-width: 599px){
.page-id-21 .food_text_column{
padding: 3rem 0 1rem!important;
}
.page-id-21 .course_column .food_img_column {
        padding: 1rem 0 3rem !important;
    }
}

/* ====================
        投稿ページ
  ====================*/
@media (min-width: 600px) {
.blog div#content,
.category div#content,
.single div#content {
margin-bottom: 6em;
    }
.single .l-topTitleArea {
        min-height: 298px;
    }
}

.single h1.c-postTitle__ttl{
  font-size: 3.75rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
}

.blog_menu_section {
    padding-top: 0 !important;
}

h2.blog_menu_column_title{
  font-size: 1.875rem;
  font-weight: 500;
  letter-spacing: 0.05em !important;
  margin-bottom: 1rem;
}

.wp-block-group.blog_menu_column_price_group {
    gap: 1.5rem;
    margin-bottom: 2rem;
}
p.blog_menu_column_sub_title{
  font-size: 1.5rem;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em;
}
p.blog_menu_column_price{
  font-size: 1.5rem;
  font-weight: 500;
  line-height: normal;
}
p.blog_menu_column_text{
  font-size: 1.125rem;
  font-weight: 500;
  line-height: normal;
    letter-spacing: 0.05em;

}

.blog_menu_column1 {
    margin-bottom: 6.5rem;
}

h2.blog_menu_column2_title{
  font-size: 2rem;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em !important;
  margin-bottom: 1.9rem;
}
p.blog_menu_column2_text{
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
}

h2.blog_menu_column3_title{
  font-size: 2rem;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.05em !important;
  margin-top: 3.5rem;
    margin-bottom: 1.8rem;
}
p.blog_menu_column3_text{
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
.blog_menu_column3 {
    margin-bottom: 3.5rem;
}

@media screen and (max-width: 959px) {
.blog_menu_text_column,
.blog_menu_text_column3{
padding: 0 !important;
}
h2.blog_menu_column_title{
text-align: center !important;
}
.wp-block-group.blog_menu_column_price_group{
justify-content: center;
}
}

@media screen and (max-width: 599px) {
.single h1.c-postTitle__ttl{
font-size: 30px;
}
h2.blog_menu_column_title,
h2.blog_menu_column2_title,
h2.blog_menu_column3_title{
font-size: 20px;
}
p.blog_menu_column_sub_title,
p.blog_menu_column_price{
font-size: 18px;
}
p.blog_menu_column_text,
p.blog_menu_column2_text,
p.blog_menu_column3_text{
font-size: 16px;
}
}

/* メニュー写真のアスペクト比変更 */
.c-postThumb__figure{
	aspect-ratio: 4/5;
}

.single .wp-block-image img{
	aspect-ratio: 4/5;
	width: initial !important;
}

.single .wp-block-image figcaption{
	display: none !important;
}

/* ==============================
    お問い合わせページ(.page-id-353)
=============================== */
.wp-block-contact-form-7-contact-form-selector {
    margin-top: 5rem;
}
form.wpcf7-form.init p{
margin-bottom: 2rem;
}

/* 必須ラベルを赤文字に */
.wpcf7 .required {
    color: #ff0000;
}

textarea.wpcf7-form-control.wpcf7-textarea{
    width: 100%;
}

/* プライバシー同意部分のスタイル */
.wpcf7 .privacy-agreement {
    margin-top: 30px;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 5px;
}
.wpcf7 .privacy-agreement p {
    margin-bottom: 10px;
    font-size: 14px;
}
.wpcf7 .privacy-agreement a {
    color: #0073aa;
    text-decoration: underline;
}
.wpcf7 .privacy-agreement {
    margin-top: 30px;
    padding: 20px;
    background: #f5f5f5;
    border-radius: 5px;
    text-align: center;
}
.wpcf7 .privacy-agreement p {
    margin-bottom: 10px;
    font-size: 1rem;
}
.wpcf7 .privacy-agreement a {
    color: #0073aa;
    text-decoration: underline;
}
.wpcf7 .privacy-agreement .wpcf7-list-item {
    margin: 0;
    display: inline-block;
}
.wpcf7 .privacy-agreement .wpcf7-acceptance {
    display: flex;
    justify-content: center;
    align-items: center;
}
@media screen and (max-width: 599px) {
    .wpcf7 .privacy-agreement {
        text-align: left;
    }
    .wpcf7 .privacy-agreement p {
    font-size: 16px;
    }
}


/* 送信ボタン */
.wpcf7 .wpcf7-submit.btn-submit {
    position: relative;
    display: block;
    margin: 30px auto 0;
    margin-top: 5rem;
    padding: 15px 39px;
    width: 324px;
    height: 60px;
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.18);
    font-size: 1.25rem;
    line-height: normal;
    letter-spacing: 0.05em;
    text-align: center;
    color: #ffffff;
    border: none;
    cursor: pointer;
    overflow: hidden;
    z-index: 1;
    background: linear-gradient(to right, 
        #2A3DB5 0%, 
        #000D62 50%, 
        #2a3db5 50%, 
        #2a3db5 100%
    );
    background-size: 200% 100%;
    background-position: right;
    transition: background-position 0.3s ease;
}

.wpcf7 .wpcf7-submit.btn-submit:hover {
    background-position: left;
}

.wpcf7-response-output {
    border-color: #2A3DB5 !important;
    text-align: center;
}

@media screen and (max-width: 599px) {
.wpcf7-response-output {
    text-align: start;
}
}

/* ===================================
  プライバシーポリシーページ(.page-id-355)
==================================== */
.page-id-355 .under_fv_section {
padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
}
@media screen and (max-width: 959px) {
.page-id-355 p.under_fv_title {
    font-size: 3rem;
}
}
@media screen and (max-width: 599px) {
.page-id-355 p.under_fv_title {
        font-size: 28px;
    }
}

/* ========================================
  特定商取引法に基づく表記ページ(.page-id-357)
========================================= */
.page-id-357 .under_fv_section {
padding-top: 6.5rem !important;
    padding-bottom: 6.5rem !important;
}
@media screen and (max-width: 959px) {
.page-id-357 p.under_fv_title {
        font-size: 2.6rem;
    }
}
@media screen and (max-width: 599px) {
.page-id-357 p.under_fv_title {
        font-size: 25px;
    }
}

.page-id-357 .post_content td, .post_content th,
.page-id-357 .post_content tr:last-child td, .post_content tr:last-child th{
border: 1px solid var(--color_border--table, #dcdcdc);
    padding: .5em;
}