@charset "UTF-8";
html {
  scroll-behavior: smooth;
  font-size: 10px;
}

:root {
  --text-dark: #31190f;
  --text-muted: #6b7280;
  --color-green: #195d2d;
  --color-green-hover: #25a44b;
  --color-red: #b51f2e;
  --color-red-hover: #ed2f42;
  --color-shibuyan-bg: #fff2c5;
  --color-shibuyan-hover: #ffe384;
  --color-red-deep: #a51516;
  --bg-base: #fbf9f5;
  --bg-light: #f8f6f1;
  --border-color: #ddd9d1;
  --white: #ffffff;
  --black: #17212b;
}

body {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  -webkit-font-smoothing: antialiased;
  line-height: 1.5;
  color: var(--text-dark);
  background-color: var(--bg-base);
  position: relative;
  margin: 0;
  padding: 0;
}

main {
  width: 100%;
  overflow: hidden;
}

*, *::before, *::after {
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: inherit;
  transition: opacity 0.25s ease, background-color 0.25s ease;
}
a:hover {
  opacity: 0.85;
}

ul, ol {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

p {
  font-weight: inherit;
}

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

.wrap_primary {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (max-width: 765px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
.section_title_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: 40px;
}
.section_title_block .en_title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  color: #333432;
  margin: 0 0 6px;
  text-transform: uppercase;
}
.section_title_block .ja_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--text-dark);
  margin: 0;
}
.section_title_block .tri_color_bar {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
}
.section_title_block .tri_color_bar span {
  display: inline-block;
  width: 20px;
  height: 5px;
}
.section_title_block .tri_color_bar .bar_green {
  background-color: var(--color-green);
}
.section_title_block .tri_color_bar .bar_white {
  background-color: #f8f6f1;
}
.section_title_block .tri_color_bar .bar_red {
  background-color: var(--color-red);
}
.section_title_block .section_sub_text {
  font-size: 1.6rem;
  color: var(--black);
  margin: 16px 0 0;
}

.btn_more_border {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 24px;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: #333432;
  font-size: 1.5rem;
  font-weight: 500;
  transition: all 0.25s ease;
}
.btn_more_border .arrow_right {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.btn_more_border:hover {
  background-color: var(--text-dark);
  color: var(--white);
}
.btn_more_border:hover .arrow_right {
  transform: translateX(3px) rotate(45deg);
}

.benefit_value {
  position: relative;
  display: inline-block;
}
.benefit_value .highlight_line {
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--color-red) 0%, rgba(74, 8, 15, 0) 100%);
  z-index: 1;
}
.benefit_value .val_strong {
  position: relative;
  z-index: 2;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--text-dark);
  white-space: nowrap;
}

.btn_cta_shibuyan {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 61px;
  padding: 5px 25px;
  background-color: #fff2c5;
  border: 1px solid var(--text-dark);
  border-radius: 2px;
  box-sizing: border-box;
  text-decoration: none;
  color: var(--text-dark);
  transition: all 0.25s ease;
}
.btn_cta_shibuyan .shibuyan_icon {
  position: relative;
  display: inline-block;
  width: 50px;
  height: 51px;
  flex-shrink: 0;
}
.btn_cta_shibuyan .shibuyan_icon::before {
  content: "";
  position: absolute;
  top: -11px;
  left: -57px;
  width: 120px;
  height: 25px;
  background: url("../images/common/aichat-btn-deco.png") no-repeat center/contain;
  pointer-events: none;
}
.btn_cta_shibuyan .shibuyan_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.btn_cta_shibuyan .btn_text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-dark);
}
@media screen and (max-width: 765px) {
  .btn_cta_shibuyan .btn_text {
    font-size: 1.4rem;
  }
}
.btn_cta_shibuyan .btn_text .highlight_orange {
  color: #ec5f1b;
  font-weight: 700;
}
.btn_cta_shibuyan::after {
  content: "";
  display: inline-block;
  width: 7.7px;
  height: 7.7px;
  border-top: 1.5px solid var(--text-dark);
  border-right: 1.5px solid var(--text-dark);
  transform: rotate(45deg);
  margin-left: 2px;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.btn_cta_shibuyan .arrow_right {
  display: none;
}
.btn_cta_shibuyan:not(:has(.shibuyan_icon))::before {
  content: "";
  position: relative;
  display: inline-block;
  width: 50px;
  height: 51px;
  flex-shrink: 0;
  background: url("../images/common/shibuyan-icon.png") no-repeat center/contain;
}
.btn_cta_shibuyan:hover {
  background-color: var(--color-shibuyan-hover);
  opacity: 1;
}
.btn_cta_shibuyan:hover::after {
  transform: translateX(3px) rotate(45deg);
}

.btn_cta_contact {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 61px;
  padding: 16px 25px;
  background-color: var(--color-red);
  color: var(--white);
  border-radius: 2px;
  box-sizing: border-box;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  transition: all 0.25s ease;
}
.btn_cta_contact .btn_text {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--white);
}
.btn_cta_contact::after {
  content: "";
  display: inline-block;
  width: 7.7px;
  height: 7.7px;
  border-top: 1.5px solid var(--white);
  border-right: 1.5px solid var(--white);
  transform: rotate(45deg);
  margin-left: 2px;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.btn_cta_contact .arrow_right {
  display: none;
}
.btn_cta_contact:hover {
  background-color: var(--color-red-hover);
  opacity: 1;
}
.btn_cta_contact:hover::after {
  transform: translateX(3px) rotate(45deg);
}

.lightbox_modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.lightbox_modal.is-active {
  opacity: 1;
  visibility: visible;
}
.lightbox_modal.is-active .lightbox_content {
  transform: scale(1);
  opacity: 1;
}
.lightbox_modal .lightbox_overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.85);
  cursor: pointer;
}
.lightbox_modal .lightbox_content {
  position: relative;
  z-index: 2;
  max-width: 90vw;
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: scale(0.95);
  opacity: 0;
  transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
}
.lightbox_modal .lightbox_image_wrap {
  max-width: 100%;
  max-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
}
.lightbox_modal .lightbox_image_wrap img {
  max-width: 100%;
  max-height: 85vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  background-color: #ffffff;
}
.lightbox_modal .lightbox_close_btn {
  position: absolute;
  top: -46px;
  right: 0;
  width: 36px;
  height: 36px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 50%;
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.lightbox_modal .lightbox_close_btn:hover {
  background-color: rgba(255, 255, 255, 0.4);
  transform: scale(1.1);
}
@media screen and (max-width: 768px) {
  .lightbox_modal .lightbox_close_btn {
    top: -40px;
    right: 0;
    width: 32px;
    height: 32px;
  }
}

.header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 80px;
  background-color: var(--white);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  z-index: 1000;
}
@media screen and (max-width: 1300px) {
  .header {
    height: 60px;
  }
}
.header .header_inner {
  max-width: 1920px;
  height: 100%;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1300px) {
  .header .header_inner {
    padding: 0 20px;
  }
}
.header .header_logo_area {
  flex-shrink: 0;
}
.header .header_logo_area .header_logo {
  margin: 0;
  line-height: 1;
}
.header .header_logo_area .header_logo a {
  display: block;
}
.header .header_logo_area .header_logo img {
  height: 42px;
  width: auto;
  object-fit: contain;
}
@media screen and (max-width: 1300px) {
  .header .header_logo_area .header_logo img {
    height: 34px;
  }
}
@media screen and (max-width: 765px) {
  .header .header_logo_area .header_logo img {
    height: 31px;
  }
}
.header .header_nav_wrap {
  display: flex;
  align-items: center;
  gap: 32px;
}
@media screen and (max-width: 1300px) {
  .header .header_nav_wrap {
    position: fixed;
    top: 60px;
    left: 0;
    width: 100%;
    height: calc(100vh - 60px);
    background-color: var(--white);
    flex-direction: column;
    padding: 32px 24px 100px;
    gap: 28px;
    overflow-y: auto;
    transform: translateX(100%);
    transition: transform 0.3s ease;
  }
  .header .header_nav_wrap.is-active {
    transform: translateX(0);
  }
}
.header .header_nav .header_nav_list {
  display: flex;
  align-items: center;
  gap: 28px;
}
@media screen and (max-width: 1300px) {
  .header .header_nav .header_nav_list {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 16px;
  }
}
@media screen and (max-width: 1300px) {
  .header .header_nav .header_nav_list .nav_item {
    width: 100%;
  }
}
.header .header_nav .header_nav_list .nav_item a {
  font-size: 1.4rem;
  font-weight: 700;
  color: #333432;
  white-space: nowrap;
  padding: 8px 0;
  display: block;
}
.header .header_nav .header_nav_list .nav_item a:hover {
  color: var(--color-green);
}
@media screen and (max-width: 1300px) {
  .header .header_nav .header_nav_list .nav_item a {
    font-size: 1.6rem;
    width: 100%;
    padding: 12px 0;
  }
}
.header .header_btn_group {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-shrink: 0;
}
@media screen and (max-width: 1300px) {
  .header .header_btn_group {
    flex-direction: column;
    width: 100%;
    gap: 12px;
    margin-top: 10px;
  }
}
.header .header_btn_group .btn_web_order {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 20px;
  background-color: var(--color-green);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 2px;
  white-space: nowrap;
}
.header .header_btn_group .btn_web_order:hover {
  background-color: var(--color-green-hover);
  opacity: 1;
}
@media screen and (max-width: 1300px) {
  .header .header_btn_group .btn_web_order {
    width: 100%;
    height: 46px;
  }
}
.header .header_btn_group .btn_contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 42px;
  padding: 0 24px;
  background-color: var(--color-red);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 500;
  border-radius: 2px;
  white-space: nowrap;
}
.header .header_btn_group .btn_contact:hover {
  background-color: var(--color-red-hover);
  opacity: 1;
}
@media screen and (max-width: 1300px) {
  .header .header_btn_group .btn_contact {
    width: 100%;
    height: 46px;
  }
}
.header .menu-btn_area {
  display: none;
}
@media screen and (max-width: 1300px) {
  .header .menu-btn_area {
    display: flex;
    align-items: center;
    padding-left: 16px;
    height: 36px;
  }
}
.header .menu-btn_area .menu-btn {
  background: none;
  border: none;
  cursor: pointer;
  width: 36px;
  height: 36px;
  position: relative;
  padding: 0;
}
.header .menu-btn_area .menu-btn .line,
.header .menu-btn_area .menu-btn .line::before,
.header .menu-btn_area .menu-btn .line::after {
  content: "";
  display: block;
  width: 24px;
  height: 2px;
  background-color: #5a5a5a;
  position: absolute;
  left: 6px;
  transition: all 0.3s ease;
}
.header .menu-btn_area .menu-btn .line {
  top: 17px;
}
.header .menu-btn_area .menu-btn .line::before {
  top: -7px;
  left: 0;
}
.header .menu-btn_area .menu-btn .line::after {
  top: 7px;
  left: 0;
}
.header .menu-btn_area.is-active .menu-btn .line {
  background-color: transparent;
}
.header .menu-btn_area.is-active .menu-btn .line::before {
  transform: translateY(7px) rotate(45deg);
}
.header .menu-btn_area.is-active .menu-btn .line::after {
  transform: translateY(-7px) rotate(-45deg);
}

.frontpage {
  background-color: var(--bg-base);
}

.fv_section {
  position: relative;
  width: 100%;
  min-height: 600px;
  background-color: var(--white);
  overflow: hidden;
  --sp-kv-top: 200px;
  --sp-kv-height: 420px;
  --sp-kv-pos-x: 75%;
  --sp-kv-pos-y: 15%;
  --sp-grad-height: 180px;
}
@media screen and (max-width: 765px) {
  .fv_section {
    min-height: calc(var(--sp-kv-top) + var(--sp-kv-height));
    padding-bottom: 0;
    display: block;
  }
}
.fv_section .fv_bg_image {
  position: absolute;
  top: 0;
  right: 0;
  width: 72%;
  height: 600px;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .fv_section .fv_bg_image {
    width: 76%;
  }
}
@media screen and (max-width: 765px) {
  .fv_section .fv_bg_image {
    position: absolute;
    top: var(--sp-kv-top);
    left: 0;
    width: 100%;
    height: var(--sp-kv-height);
    z-index: 1;
  }
}
.fv_section .fv_bg_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
}
@media screen and (max-width: 765px) {
  .fv_section .fv_bg_image img {
    object-position: var(--sp-kv-pos-x) var(--sp-kv-pos-y);
  }
}
.fv_section .fv_gradient_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 600px;
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 32%, rgba(255, 255, 255, 0.85) 53%, rgba(255, 255, 255, 0) 80%);
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 765px) {
  .fv_section .fv_gradient_overlay {
    display: block;
    top: var(--sp-kv-top);
    left: 0;
    width: 100%;
    height: var(--sp-grad-height);
    background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 35%, rgba(255, 255, 255, 0.7) 65%, rgba(255, 255, 255, 0) 100%);
  }
}
.fv_section .fv_inner {
  position: relative;
  height: 600px;
  display: flex;
  align-items: center;
  z-index: 3;
}
@media screen and (max-width: 765px) {
  .fv_section .fv_inner {
    height: auto;
    padding: 40px 20px 0;
    width: 100%;
    display: block;
  }
}
.fv_section .fv_watermark {
  position: absolute;
  top: 40%;
  left: -8vw;
  transform: translateY(-50%);
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: min(7.5vw, 11rem);
  line-height: 1.15;
  letter-spacing: 0.05em;
  color: rgba(227, 226, 224, 0.5);
  pointer-events: none;
  z-index: -1;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1100px) {
  .fv_section .fv_watermark {
    font-size: 7rem;
  }
}
@media screen and (max-width: 765px) {
  .fv_section .fv_watermark {
    font-size: 7.5rem;
    left: 0;
    top: 40%;
    line-height: 1.1;
    opacity: 0.7;
  }
}
.fv_section .fv_content {
  max-width: 560px;
  padding-left: 20px;
}
@media screen and (max-width: 765px) {
  .fv_section .fv_content {
    padding-left: 0;
    max-width: 100%;
    width: 100%;
  }
}
.fv_section .fv_content .fv_main_copy {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.08em;
  margin: 0 0 20px;
}
@media screen and (max-width: 765px) {
  .fv_section .fv_content .fv_main_copy {
    font-size: 3.2rem;
    letter-spacing: 0.06em;
    line-height: 1.4;
    margin-bottom: 16px;
  }
}
.fv_section .fv_content .fv_main_copy span {
  display: inline-block;
}
.fv_section .fv_content .fv_main_copy .copy_line_1,
.fv_section .fv_content .fv_main_copy .copy_line_2,
.fv_section .fv_content .fv_main_copy .copy_line_3 {
  display: block;
}
.fv_section .fv_content .fv_main_copy .text_green {
  color: var(--color-green);
}
.fv_section .fv_content .fv_main_copy .text_red {
  color: var(--color-red-deep);
}
.fv_section .fv_content .fv_main_copy .text_dark {
  color: var(--text-dark);
}
.fv_section .fv_content .fv_lead_copy {
  font-size: 1.6rem;
  font-weight: 500;
  color: var(--text-dark);
  line-height: 1.7;
  margin-bottom: 16px;
}
@media screen and (max-width: 765px) {
  .fv_section .fv_content .fv_lead_copy {
    font-size: 1.3rem;
    line-height: 1.6;
    margin-bottom: 12px;
  }
}
.fv_section .fv_content .fv_lead_copy p {
  margin: 0 0 4px;
}
.fv_section .fv_content .fv_since {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: var(--text-dark);
}
@media screen and (max-width: 765px) {
  .fv_section .fv_content .fv_since {
    text-align: left;
    font-size: 1.8rem;
    margin-top: 8px;
  }
}
.fv_section .fv_content .fv_since p {
  margin: 0;
}

.section_shibuyan {
  position: relative;
  z-index: 10;
  margin-top: -80px;
  margin-bottom: 20px;
  scroll-margin-top: 100px;
}
@media screen and (max-width: 765px) {
  .section_shibuyan {
    margin-top: 24px;
    margin-bottom: 10px;
    scroll-margin-top: 80px;
  }
}
.section_shibuyan .shibuyan_chat_box {
  width: 100%;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box {
    padding: 0 16px;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_header {
  background-color: #f1f0ef;
  border: 1px solid var(--white);
  border-radius: 20px 20px 0 0;
  padding: 6px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_header {
    padding: 8px 16px;
    gap: 12px;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_header .shibuyan_avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_header .shibuyan_avatar {
    width: 48px;
    height: 48px;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_header .shibuyan_avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section_shibuyan .shibuyan_chat_box .shibuyan_header .shibuyan_title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_header .shibuyan_title {
    font-size: 1.6rem;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body {
  background-color: var(--white);
  border: 1px solid var(--white);
  border-top: none;
  border-radius: 0 0 20px 20px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_body {
    padding: 16px;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap {
  width: 100%;
  display: flex;
  gap: 12px;
  align-items: center;
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_input {
  flex: 1;
  height: 44px;
  border: 1px solid #c5c5c5;
  border-radius: 6px;
  padding: 0 16px;
  font-size: 1.4rem;
  color: var(--text-dark);
  outline: none;
  transition: border-color 0.25s ease;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_input {
    height: 40px;
    font-size: 1.3rem;
    padding: 0 12px;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_input:focus {
  border-color: var(--color-green);
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_input::placeholder {
  color: #b6b6b6;
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_submit_btn {
  width: 44px;
  height: 44px;
  background-color: #b3b3b3;
  border: none;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--white);
  cursor: pointer;
  flex-shrink: 0;
  transition: background-color 0.25s ease;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_submit_btn {
    width: 40px;
    height: 40px;
  }
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_input_wrap .shibuyan_submit_btn:hover {
  background-color: var(--color-green);
}
.section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_note {
  font-size: 1.2rem;
  color: #797979;
  margin: 0;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .section_shibuyan .shibuyan_chat_box .shibuyan_body .shibuyan_note {
    font-size: 1.1rem;
  }
}

.section_value {
  padding: 80px 0;
}
@media screen and (max-width: 765px) {
  .section_value {
    padding: 40px 0;
  }
}
.section_value .value_content_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}
@media screen and (max-width: 900px) {
  .section_value .value_content_grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
.section_value .value_text_col .value_catch {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin: 0 0 24px;
}
@media screen and (max-width: 765px) {
  .section_value .value_text_col .value_catch {
    font-size: 1.9rem;
    margin-bottom: 16px;
  }
}
.section_value .value_text_col .value_desc {
  font-size: 1.5rem;
  color: var(--black);
  line-height: 1.8;
  margin-bottom: 32px;
}
@media screen and (max-width: 765px) {
  .section_value .value_text_col .value_desc {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 24px;
  }
}
.section_value .value_text_col .value_desc p {
  margin: 0;
}
@media screen and (max-width: 765px) {
  .section_value .value_text_col .btn_more_border {
    width: 100%;
    justify-content: center;
  }
}
.section_value .value_img_col img {
  width: 100%;
  height: 380px;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 765px) {
  .section_value .value_img_col img {
    height: 220px;
  }
}

.section_delivery {
  position: relative;
  padding: 60px 0 80px;
  background-color: var(--bg-light);
  overflow: hidden;
}
@media screen and (max-width: 765px) {
  .section_delivery {
    padding: 40px 0 50px;
  }
}
.section_delivery .delivery_bg_image {
  position: absolute;
  inset: 0;
  opacity: 1;
  z-index: 1;
}
.section_delivery .delivery_bg_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section_delivery .delivery_inner {
  position: relative;
  z-index: 2;
}
.section_delivery .delivery_cards_grid {
  display: grid;
  grid-template-columns: 1fr 310px;
  gap: 20px;
  align-items: stretch;
}
@media screen and (max-width: 920px) {
  .section_delivery .delivery_cards_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.section_delivery .area_card {
  background-color: var(--white);
  padding: 32px 24px;
  display: flex;
  gap: 24px;
  align-items: center;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
@media screen and (max-width: 765px) {
  .section_delivery .area_card {
    flex-direction: column;
    padding: 24px 16px;
    gap: 20px;
  }
}
.section_delivery .area_card .area_map_img {
  flex: 1;
  max-width: 320px;
}
@media screen and (max-width: 765px) {
  .section_delivery .area_card .area_map_img {
    max-width: 100%;
    width: 100%;
  }
}
.section_delivery .area_card .area_map_img img {
  width: 100%;
  height: auto;
  border-radius: 4px;
}
.section_delivery .area_card .area_info {
  flex: 1.2;
}
@media screen and (max-width: 765px) {
  .section_delivery .area_card .area_info {
    width: 100%;
  }
}
.section_delivery .area_card .area_info .card_heading {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding-bottom: 8px;
  margin: 0 0 16px;
}
@media screen and (max-width: 765px) {
  .section_delivery .area_card .area_info .card_heading {
    font-size: 1.8rem;
  }
}
.section_delivery .area_card .area_info .area_check_list {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 16px;
}
.section_delivery .area_card .area_info .area_check_list li {
  background-color: var(--white);
  border: 1px solid #b1b1b1;
  border-radius: 8px;
  padding: 10px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.section_delivery .area_card .area_info .area_check_list li .check_icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
}
.section_delivery .area_card .area_info .area_check_list li .check_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.section_delivery .area_card .area_info .area_check_list li .list_text .main_area {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.section_delivery .area_card .area_info .area_check_list li .list_text .sub_area {
  font-size: 1.2rem;
  color: var(--text-dark);
  margin: 2px 0 0;
}
.section_delivery .area_card .area_info .area_note_box {
  border: 1px dashed #9ca3af;
  padding: 10px 12px;
  border-radius: 4px;
}
.section_delivery .area_card .area_info .area_note_box p {
  font-size: 1.2rem;
  color: var(--text-dark);
  line-height: 1.5;
  margin: 0;
}
.section_delivery .condition_card {
  background-color: var(--bg-base);
  border: 1px solid #e5e0d8;
  border-radius: 4px;
  padding: 28px 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04);
}
@media screen and (max-width: 765px) {
  .section_delivery .condition_card {
    padding: 24px 16px;
  }
}
.section_delivery .condition_card .condition_inner .card_heading {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding-bottom: 8px;
  margin: 0 0 20px;
}
@media screen and (max-width: 765px) {
  .section_delivery .condition_card .condition_inner .card_heading {
    font-size: 1.8rem;
    margin-bottom: 16px;
  }
}
.section_delivery .condition_card .condition_inner .condition_items {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 24px;
}
@media screen and (max-width: 765px) {
  .section_delivery .condition_card .condition_inner .condition_items {
    gap: 16px;
    margin-bottom: 20px;
  }
}
.section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0 0 10px;
}
@media screen and (max-width: 765px) {
  .section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_title {
    font-size: 1.5rem;
    margin-bottom: 8px;
  }
}
.section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_val {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}
.section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_val .check_icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}
.section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_val .check_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_val .val_text {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.section_delivery .condition_card .condition_inner .condition_items .condition_group .cond_val .val_text .badge_recommend {
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color-green);
  margin-left: 4px;
}
.section_delivery .condition_card .btn_condition_action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  background-color: var(--color-red);
  color: var(--white);
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 2px;
  text-align: center;
  transition: background-color 0.25s ease;
}
.section_delivery .condition_card .btn_condition_action .arrow_right {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--white);
  border-right: 1px solid var(--white);
  transform: rotate(45deg);
}
.section_delivery .condition_card .btn_condition_action:hover {
  background-color: var(--color-red-hover);
  opacity: 1;
}

.section_order_news {
  padding: 80px 0;
}
@media screen and (max-width: 765px) {
  .section_order_news {
    padding: 40px 0;
  }
}
.section_order_news .order_news_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
}
@media screen and (max-width: 900px) {
  .section_order_news .order_news_grid {
    grid-template-columns: 1fr;
    gap: 36px;
  }
}
.section_order_news .web_order_box {
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  padding: 36px 32px;
  border-radius: 2px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
@media screen and (max-width: 765px) {
  .section_order_news .web_order_box {
    padding: 24px 16px;
  }
}
.section_order_news .web_order_box .box_en_tag {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.2rem;
  letter-spacing: 0.1em;
  color: var(--text-dark);
  margin: 0 0 12px;
}
.section_order_news .web_order_box .order_title_group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  width: 100%;
  margin-bottom: 24px;
}
.section_order_news .web_order_box .order_title_group .order_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--text-dark);
  margin: 0 0 16px;
  text-align: left;
  width: 100%;
}
@media screen and (max-width: 765px) {
  .section_order_news .web_order_box .order_title_group .order_title {
    font-size: 2rem;
  }
}
.section_order_news .web_order_box .order_title_group .order_banner_wrap {
  width: 220px;
  align-self: center;
  margin: 0 auto;
}
@media screen and (max-width: 765px) {
  .section_order_news .web_order_box .order_title_group .order_banner_wrap {
    width: 180px;
  }
}
.section_order_news .web_order_box .order_title_group .order_banner_wrap img {
  width: 100%;
  height: auto;
  object-fit: contain;
}
.section_order_news .web_order_box .benefit_row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 8px;
}
.section_order_news .web_order_box .benefit_row .benefit_tag {
  border: 1px solid var(--text-dark);
  padding: 4px 10px;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-dark);
}
.section_order_news .web_order_box .benefit_row .benefit_value {
  position: relative;
}
.section_order_news .web_order_box .benefit_row .benefit_value .highlight_line {
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 100%;
  height: 6px;
  background: linear-gradient(90deg, var(--color-red) 0%, rgba(74, 8, 15, 0) 100%);
  z-index: 1;
}
.section_order_news .web_order_box .benefit_row .benefit_value .val_strong {
  position: relative;
  z-index: 2;
  font-size: 2.2rem;
  font-weight: 700;
  color: var(--text-dark);
}
.section_order_news .web_order_box .benefit_note {
  font-size: 1.3rem;
  color: var(--text-dark);
  margin: 0 0 20px;
}
.section_order_news .web_order_box .order_features {
  padding-top: 12px;
  border-top: 1px solid var(--border-color);
  margin-bottom: 24px;
}
.section_order_news .web_order_box .order_features p {
  font-size: 1.4rem;
  color: var(--black);
  margin: 0 0 6px;
}
.section_order_news .web_order_box .order_features .sub_note {
  font-size: 1.2rem;
  color: var(--text-muted);
}
.section_order_news .web_order_box .btn_order_login {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px;
  background-color: var(--color-green);
  color: var(--white);
  font-size: 1.5rem;
  font-weight: 700;
  border-radius: 2px;
  transition: background-color 0.25s ease;
}
.section_order_news .web_order_box .btn_order_login .arrow_right {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--white);
  border-right: 1px solid var(--white);
  transform: rotate(45deg);
}
.section_order_news .web_order_box .btn_order_login:hover {
  background-color: var(--color-green-hover);
  opacity: 1;
}
.section_order_news .calendar_news_box {
  display: flex;
  flex-direction: column;
  gap: 36px;
}
.section_order_news .calendar_news_box .block_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid var(--text-dark);
  padding-bottom: 10px;
  margin-bottom: 16px;
}
.section_order_news .calendar_news_box .block_header .block_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2rem;
  font-weight: 600;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .section_order_news .calendar_news_box .block_header .block_title {
    font-size: 1.8rem;
  }
}
.section_order_news .calendar_news_box .block_header .btn_download_link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--text-dark);
}
.section_order_news .calendar_news_box .block_header .btn_download_link:hover {
  color: var(--color-green);
}
.section_order_news .calendar_news_box .block_header .btn_news_all {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 16px;
  background-color: var(--white);
  border: 1px solid #9ca3af;
  border-radius: 2px;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-dark);
}
.section_order_news .calendar_news_box .block_header .btn_news_all .arrow_right {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid var(--text-dark);
  border-right: 1px solid var(--text-dark);
  transform: rotate(45deg);
}
.section_order_news .calendar_news_box .block_header .btn_news_all:hover {
  background-color: var(--text-dark);
  color: var(--white);
}
.section_order_news .calendar_news_box .block_header .btn_news_all:hover .arrow_right {
  border-color: var(--white);
}
.section_order_news .calendar_news_box .calendar_thumb_wrap {
  display: block;
  position: relative;
  width: 100%;
  height: 160px;
  background-color: var(--white);
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
@media screen and (max-width: 765px) {
  .section_order_news .calendar_news_box .calendar_thumb_wrap {
    height: 140px;
  }
}
.section_order_news .calendar_news_box .calendar_thumb_wrap::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0.1) 40%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
  z-index: 1;
  transition: background 0.25s ease;
}
.section_order_news .calendar_news_box .calendar_thumb_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
  transition: transform 0.3s ease;
}
.section_order_news .calendar_news_box .calendar_thumb_wrap .zoom_icon {
  position: absolute;
  right: 10px;
  bottom: 10px;
  width: 28px;
  height: 28px;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-dark);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  z-index: 2;
  transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}
.section_order_news .calendar_news_box .calendar_thumb_wrap:hover {
  opacity: 1;
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.25);
}
.section_order_news .calendar_news_box .calendar_thumb_wrap:hover::before {
  background: linear-gradient(to top, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, rgba(255, 255, 255, 0) 100%);
}
.section_order_news .calendar_news_box .calendar_thumb_wrap:hover img {
  transform: scale(1.02);
}
.section_order_news .calendar_news_box .calendar_thumb_wrap:hover .zoom_icon {
  background-color: var(--color-green);
  color: var(--white);
  transform: scale(1.08);
}
.section_order_news .calendar_news_box .news_list {
  display: flex;
  flex-direction: column;
}
.section_order_news .calendar_news_box .news_list .news_item {
  border-bottom: 1px solid #ddd9d1;
}
.section_order_news .calendar_news_box .news_list .news_item a {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
}
.section_order_news .calendar_news_box .news_list .news_item a .news_thumb {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
  border-radius: 2px;
  overflow: hidden;
}
.section_order_news .calendar_news_box .news_list .news_item a .news_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section_order_news .calendar_news_box .news_list .news_item a .news_meta {
  flex: 1;
}
.section_order_news .calendar_news_box .news_list .news_item a .news_meta .news_date {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.3rem;
  letter-spacing: 0.08em;
  color: var(--text-dark);
  display: block;
  margin-bottom: 4px;
}
.section_order_news .calendar_news_box .news_list .news_item a .news_meta .news_title {
  font-size: 1.4rem;
  color: var(--text-dark);
  line-height: 1.5;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.section_order_news .calendar_news_box .news_list .news_item a:hover .news_title {
  text-decoration: underline;
  color: var(--color-green);
}

.section_faq {
  background-color: var(--white);
  padding: 60px 0 80px;
}
@media screen and (max-width: 765px) {
  .section_faq {
    padding: 40px 0 50px;
  }
}
.section_faq .faq_list_wrap {
  max-width: 800px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.section_faq .faq_item {
  border: 1px solid var(--border-color);
  border-radius: 4px;
  overflow: hidden;
  transition: border-color 0.25s ease;
}
.section_faq .faq_item.is-open {
  border-color: var(--text-dark);
}
.section_faq .faq_item.is-open .faq_toggle_icon {
  transform: rotate(45deg);
}
.section_faq .faq_item .faq_question {
  width: 100%;
  background-color: var(--white);
  border: none;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  cursor: pointer;
  text-align: left;
  border-bottom: 1px solid transparent;
}
@media screen and (max-width: 765px) {
  .section_faq .faq_item .faq_question {
    padding: 12px 14px;
    gap: 10px;
  }
}
.section_faq .faq_item .faq_question .q_mark {
  font-family: "Open Sans", sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color-red);
}
.section_faq .faq_item .faq_question .q_text {
  flex: 1;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
}
@media screen and (max-width: 765px) {
  .section_faq .faq_item .faq_question .q_text {
    font-size: 1.4rem;
    line-height: 1.4;
  }
}
.section_faq .faq_item .faq_question .faq_toggle_icon {
  width: 14px;
  height: 14px;
  position: relative;
  flex-shrink: 0;
  transition: transform 0.25s ease;
}
.section_faq .faq_item .faq_question .faq_toggle_icon::before, .section_faq .faq_item .faq_question .faq_toggle_icon::after {
  content: "";
  position: absolute;
  background-color: var(--color-green);
}
.section_faq .faq_item .faq_question .faq_toggle_icon::before {
  top: 6px;
  left: 0;
  width: 14px;
  height: 2px;
}
.section_faq .faq_item .faq_question .faq_toggle_icon::after {
  top: 0;
  left: 6px;
  width: 2px;
  height: 14px;
}
.section_faq .faq_item .faq_answer {
  display: none;
  padding: 16px 20px 20px;
  background-color: var(--white);
  border-top: 1px solid var(--border-color);
}
@media screen and (max-width: 765px) {
  .section_faq .faq_item .faq_answer {
    padding: 14px 16px 16px;
  }
}
.section_faq .faq_item .faq_answer p {
  font-size: 1.5rem;
  color: #453c39;
  line-height: 1.7;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .section_faq .faq_item .faq_answer p {
    font-size: 1.3rem;
    line-height: 1.6;
  }
}

.section_instagram {
  padding: 70px 0 80px;
}
@media screen and (max-width: 765px) {
  .section_instagram {
    padding: 40px 0 50px;
  }
}
.section_instagram .instagram_container {
  max-width: 1000px;
  margin: 0 auto;
  min-height: 20px;
}
.section_instagram .instagram_title_block {
  text-align: center;
  margin-bottom: 28px;
}
.section_instagram .instagram_title_block .instagram_en_title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.4rem;
  letter-spacing: 0.12em;
  color: var(--color-green);
  margin: 0 0 6px;
  font-weight: 600;
  text-transform: uppercase;
}
.section_instagram .instagram_title_block .instagram_ja_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .section_instagram .instagram_title_block {
    margin-bottom: 20px;
  }
  .section_instagram .instagram_title_block .instagram_en_title {
    font-size: 1.2rem;
  }
  .section_instagram .instagram_title_block .instagram_ja_title {
    font-size: 1.5rem;
  }
}
.section_instagram #sb_instagram .sb_instagram_header {
  text-align: center;
  margin-bottom: 24px;
}
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_link {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-decoration: none;
}
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_text,
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio {
  display: inline-flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 14px;
  margin: 0 auto !important;
  text-align: center !important;
  float: none !important;
}
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_text .sbi_feedtheme_header_text,
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio .sbi_feedtheme_header_text {
  flex: initial !important;
  align-items: center !important;
  text-align: center !important;
}
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_text .sbi_feedtheme_header_text h3,
.section_instagram #sb_instagram .sb_instagram_header .sbi_header_text.sbi_no_bio .sbi_feedtheme_header_text h3 {
  margin: 0 !important;
  text-align: center !important;
}

.page_main {
  background-color: var(--bg-base);
  min-height: 50vh;
  position: relative;
}

.page_header {
  position: relative;
  width: 100%;
  height: 143px;
  background-color: var(--white);
  overflow: hidden;
}
@media screen and (max-width: 765px) {
  .page_header {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: auto;
    padding-bottom: 0;
  }
}
.page_header .page_header_bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 143px;
  overflow: hidden;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
  .page_header .page_header_bg {
    width: 55%;
  }
}
@media screen and (max-width: 765px) {
  .page_header .page_header_bg {
    position: relative;
    top: auto;
    right: auto;
    order: 2;
    width: 100%;
    height: 100px;
    opacity: 1;
  }
  .page_header .page_header_bg::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.7) 20%, rgba(255, 255, 255, 0.3) 45%, rgba(255, 255, 255, 0) 65%);
    pointer-events: none;
  }
}
.page_header .page_header_bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center right;
}
@media screen and (max-width: 765px) {
  .page_header .page_header_bg img {
    object-position: center center;
  }
}
.page_header .page_header_overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 143px;
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.4) 50%, rgba(255, 255, 255, 0) 100%);
  z-index: 2;
  pointer-events: none;
}
@media screen and (max-width: 1024px) {
  .page_header .page_header_overlay {
    width: 55%;
  }
}
@media screen and (max-width: 765px) {
  .page_header .page_header_overlay {
    display: none;
  }
}
.page_header .page_header_inner {
  position: relative;
  max-width: 1000px;
  margin: 0 auto;
  padding: 20px 20px 0;
  height: 143px;
  box-sizing: border-box;
  z-index: 3;
}
@media screen and (max-width: 765px) {
  .page_header .page_header_inner {
    order: 1;
    width: 100%;
    height: auto;
    padding: 24px 20px 18px;
  }
}
.page_header .page_header_titles {
  display: flex;
  flex-direction: column;
  gap: 5px;
  margin-bottom: 9px;
}
@media screen and (max-width: 765px) {
  .page_header .page_header_titles {
    gap: 4px;
    margin-bottom: 8px;
  }
}
.page_header .page_header_titles .page_header_en {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.8rem;
  font-weight: 400;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.2;
}
@media screen and (max-width: 765px) {
  .page_header .page_header_titles .page_header_en {
    font-size: 1.5rem;
  }
}
.page_header .page_header_titles .page_header_ja {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 2.6px;
  line-height: 36px;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .page_header .page_header_titles .page_header_ja {
    font-size: 2.2rem;
    line-height: 1.35;
    letter-spacing: 1.5px;
  }
}
.page_header .page_breadcrumbs {
  padding: 5px 0;
}
.page_header .page_breadcrumbs .breadcrumb_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 1.4rem;
  color: #4e4d4f;
  line-height: 1;
}
@media screen and (max-width: 765px) {
  .page_header .page_breadcrumbs .breadcrumb_list {
    font-size: 1.2rem;
  }
}
.page_header .page_breadcrumbs .breadcrumb_list li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.page_header .page_breadcrumbs .breadcrumb_list li a {
  color: #4e4d4f;
  font-weight: 400;
  transition: color 0.2s ease;
}
.page_header .page_breadcrumbs .breadcrumb_list li a:hover {
  color: var(--color-green);
  text-decoration: underline;
}
.page_header .page_breadcrumbs .breadcrumb_list li .separator {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1px solid #4e4d4f;
  border-right: 1px solid #4e4d4f;
  transform: rotate(45deg);
}
.page_header .page_breadcrumbs .breadcrumb_list li[aria-current=page] {
  color: #4e4d4f;
  font-weight: 500;
}

.page_body_wrap {
  padding-top: 48px;
  padding-bottom: 80px;
}
@media screen and (max-width: 765px) {
  .page_body_wrap {
    padding-top: 32px;
    padding-bottom: 48px;
  }
}

.page_section {
  padding: 56px 0;
}
@media screen and (max-width: 765px) {
  .page_section {
    padding: 36px 0;
  }
}

.section_heading_h2 {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding-bottom: 14px;
  margin: 0 0 32px;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .section_heading_h2 {
    font-size: 1.8rem;
    padding-bottom: 10px;
    margin-bottom: 24px;
    letter-spacing: 0.05em;
  }
}

.intro_block,
.guide_intro_block {
  display: grid;
  grid-template-columns: 1fr 45%;
  gap: 60px;
  align-items: flex-start;
}
@media screen and (max-width: 960px) {
  .intro_block,
  .guide_intro_block {
    grid-template-columns: 1fr 360px;
    gap: 32px;
  }
}
@media screen and (max-width: 765px) {
  .intro_block,
  .guide_intro_block {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.intro_block .intro_text_wrap,
.guide_intro_block .intro_text_wrap {
  font-size: 1.6rem;
  line-height: 1.75;
  color: var(--text-dark);
}
.intro_block .intro_text_wrap p,
.guide_intro_block .intro_text_wrap p {
  margin: 0 0 16px;
}
.intro_block .intro_text_wrap p:last-child,
.guide_intro_block .intro_text_wrap p:last-child {
  margin-bottom: 0;
}
.intro_block .intro_text_wrap p strong,
.guide_intro_block .intro_text_wrap p strong {
  font-weight: 700;
}
.intro_block .intro_photo_wrap,
.guide_intro_block .intro_photo_wrap {
  width: 100%;
  max-width: 474px;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.intro_block .intro_photo_wrap img,
.guide_intro_block .intro_photo_wrap img {
  width: 100%;
  height: 267px;
  object-fit: cover;
  border-radius: 5px;
}
@media screen and (max-width: 765px) {
  .intro_block .intro_photo_wrap img,
  .guide_intro_block .intro_photo_wrap img {
    height: auto;
    aspect-ratio: 474/267;
  }
}
.intro_block .intro_photo_wrap[href], a .intro_block .intro_photo_wrap,
.guide_intro_block .intro_photo_wrap[href],
a .guide_intro_block .intro_photo_wrap {
  transition: opacity 0.25s ease;
  cursor: pointer;
}
.intro_block .intro_photo_wrap[href]:hover, a .intro_block .intro_photo_wrap:hover,
.guide_intro_block .intro_photo_wrap[href]:hover,
a .guide_intro_block .intro_photo_wrap:hover {
  opacity: 0.85;
}

.step_flow_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  position: relative;
}
@media screen and (max-width: 960px) {
  .step_flow_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media screen and (max-width: 765px) {
  .step_flow_grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.step_flow_grid .flow_step_card {
  position: relative;
  background-color: var(--white);
  padding: 40px 38px 24px 24px;
  border-radius: 2px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
  gap: 7px;
}
@media screen and (max-width: 765px) {
  .step_flow_grid .flow_step_card {
    padding: 30px 24px 34px 20px;
  }
}
.step_flow_grid .flow_step_card .step_num {
  position: absolute;
  top: 8px;
  right: 16px;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 3.7rem;
  font-weight: 700;
  color: #e3e2e0;
  line-height: 1;
  pointer-events: none;
}
.step_flow_grid .flow_step_card .step_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.5;
}
.step_flow_grid .flow_step_card .step_desc {
  font-size: 1.2rem;
  line-height: 1.65;
  color: var(--text-dark);
  margin: 0;
}
.step_flow_grid .flow_step_card .step_arrow {
  position: absolute;
  right: 14px;
  top: 55%;
  width: 9px;
  height: 9px;
  border-top: 1px solid var(--text-dark);
  border-right: 1px solid var(--text-dark);
  transform: translateY(-50%) rotate(45deg);
  pointer-events: none;
}
@media screen and (max-width: 765px) {
  .step_flow_grid .flow_step_card .step_arrow {
    top: auto;
    right: auto;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%) rotate(135deg);
  }
}
.step_flow_grid .flow_step_card:last-child .step_arrow {
  display: none !important;
}

.delivery_condition_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: stretch;
}
@media screen and (max-width: 765px) {
  .delivery_condition_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.delivery_condition_grid .delivery_condition_card {
  background-color: var(--white);
  border: 1px solid #f1f0ef;
  border-radius: 2px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.delivery_condition_grid .delivery_condition_card .card_head {
  background-color: #31190f;
  border-bottom: 1px solid #f1f0ef;
  color: var(--white);
  padding: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.delivery_condition_grid .delivery_condition_card .card_head .head_icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.delivery_condition_grid .delivery_condition_card .card_head .head_icon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.delivery_condition_grid .delivery_condition_card .card_head .head_title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 24px;
  color: var(--white);
  margin: 0;
}
.delivery_condition_grid .delivery_condition_card .card_body {
  background-color: var(--white);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1;
}
@media screen and (max-width: 765px) {
  .delivery_condition_grid .delivery_condition_card .card_body {
    padding: 20px 16px;
    gap: 20px;
  }
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .group_title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 24px;
  color: var(--text-dark);
  margin: 0;
  padding-bottom: 5px;
  border-bottom: 1px solid #d1d5db;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .condition_plain_text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 20px;
  color: var(--text-dark);
  margin: 0;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .bullet_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .bullet_list li {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 1.4rem;
  line-height: 20px;
  color: var(--text-dark);
  margin: 0;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .bullet_list li::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background-color: var(--text-dark);
  flex-shrink: 0;
  position: relative;
  top: -2px;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .bullet_list li span {
  flex: 1;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .bullet_list li .strong_underline {
  font-weight: 700;
  text-decoration: underline;
  text-underline-position: under;
}
.delivery_condition_grid .delivery_condition_card .card_body .condition_group .notice_box_gray {
  background-color: #f3f4f6;
  border: 1px solid #f1f0ef;
  padding: 9px;
  margin-top: 4px;
  border-radius: 2px;
  font-size: 1.2rem;
  line-height: 16px;
  font-weight: 500;
  color: var(--text-dark);
}

.order_intro_text {
  font-size: 1.5rem;
  color: var(--text-dark);
  margin: 0 0 24px;
  line-height: 1.6;
}

.web_order_card {
  background-color: var(--white);
  border: 1px solid var(--border-color);
  border-radius: 2px;
  padding: 32px;
}
@media screen and (max-width: 765px) {
  .web_order_card {
    padding: 24px 16px;
  }
}
.web_order_card .card_main_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0 0 28px;
  line-height: 1.35;
}
@media screen and (max-width: 765px) {
  .web_order_card .card_main_title {
    font-size: 2rem;
    margin-bottom: 20px;
  }
}
.web_order_card .order_card_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 36px;
  align-items: start;
}
@media screen and (max-width: 900px) {
  .web_order_card .order_card_grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.web_order_card .order_col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.web_order_card .order_col .col_badge_wrap {
  display: flex;
  align-items: center;
  height: 36px;
}
.web_order_card .order_col .col_badge_wrap .col_badge {
  display: inline-block;
  padding: 5px 13px;
  background-color: var(--white);
  border: 1px solid #31190f;
  font-size: 1.4rem;
  font-weight: 700;
  color: #31190f;
  line-height: 20px;
}
.web_order_card .order_benefit_col .benefit_highlight_box {
  background-color: var(--white);
  border: 1px solid #9ca3af;
  padding: 17px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.web_order_card .order_benefit_col .benefit_highlight_box .benefit_title_row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.web_order_card .order_benefit_col .benefit_highlight_box .benefit_title_row .benefit_main_label {
  font-size: 2rem;
  font-weight: 700;
  color: #111827;
  line-height: 28px;
}
.web_order_card .order_benefit_col .benefit_highlight_box .benefit_title_row .benefit_value {
  margin: 0;
}
.web_order_card .order_benefit_col .benefit_highlight_box .benefit_title_row .benefit_value .val_strong {
  font-size: 2.1rem;
}
.web_order_card .order_benefit_col .benefit_highlight_box .benefit_notes {
  font-size: 1.2rem;
  color: #4b5563;
  line-height: 19.5px;
  margin: 4px 0 0;
}
.web_order_card .order_benefit_col .order_bullet_list {
  margin: 4px 0 8px;
}
.web_order_card .order_benefit_col .btn_order_action {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 16px 25px;
  background-color: var(--color-green);
  color: var(--white);
  border-radius: 2px;
  text-align: center;
  transition: background-color 0.25s ease;
}
.web_order_card .order_benefit_col .btn_order_action .btn_text {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
}
.web_order_card .order_benefit_col .btn_order_action .arrow_right {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid var(--white);
  border-right: 1px solid var(--white);
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.web_order_card .order_benefit_col .btn_order_action:hover {
  background-color: var(--color-green-hover);
  opacity: 1;
}
.web_order_card .order_benefit_col .btn_order_action:hover .arrow_right {
  transform: translateX(3px) rotate(45deg);
}
.web_order_card .order_guide_col .cibo_banner_wrap {
  width: 225px;
  max-width: 100%;
  margin-bottom: 4px;
  border-radius: 2px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.web_order_card .order_guide_col .cibo_banner_wrap img {
  width: 100%;
  height: auto;
  display: block;
}
.web_order_card .order_guide_col .step_ordered_list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.web_order_card .order_guide_col .step_ordered_list li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.web_order_card .order_guide_col .step_ordered_list li .num_circle {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 20px;
  width: 20px;
  flex-shrink: 0;
  color: var(--text-dark);
}
.web_order_card .order_guide_col .step_ordered_list li .step_text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 20px;
  color: var(--text-dark);
}

.section_common_cta {
  position: relative;
  background: url("../images/front-page/section-bg.jpg") center/cover no-repeat;
  padding: 60px 0 70px;
}
@media screen and (max-width: 765px) {
  .section_common_cta {
    padding: 44px 0 50px;
  }
}
.section_common_cta .cta_container {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section_common_cta .cta_title_group {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 28px;
  text-align: center;
}
.section_common_cta .cta_title_group .cta_en_title {
  font-family: "Cormorant Garamond", "Times New Roman", serif;
  font-size: 1.6rem;
  letter-spacing: 1.6px;
  color: #333432;
  margin: 0 0 6px;
  text-transform: uppercase;
  line-height: 1.5;
}
.section_common_cta .cta_title_group .cta_ja_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 2.4px;
  color: #333432;
  margin: 0;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .section_common_cta .cta_title_group .cta_ja_title {
    font-size: 2rem;
    letter-spacing: 1.5px;
  }
}
.section_common_cta .cta_title_group .tri_color_bar {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 10px 0 0;
}
.section_common_cta .cta_title_group .tri_color_bar span {
  display: inline-block;
  width: 20px;
  height: 5px;
}
.section_common_cta .cta_title_group .tri_color_bar .bar_green {
  background-color: var(--color-green, #195d2d);
}
.section_common_cta .cta_title_group .tri_color_bar .bar_white {
  background-color: #f8f6f1;
}
.section_common_cta .cta_title_group .tri_color_bar .bar_red {
  background-color: var(--color-red, #b51f2e);
}
.section_common_cta .cta_grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  width: 100%;
  align-items: stretch;
}
@media screen and (max-width: 765px) {
  .section_common_cta .cta_grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}
.section_common_cta .cta_card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-start;
  text-align: left;
  height: 100%;
}
.section_common_cta .cta_card .cta_card_heading {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .section_common_cta .cta_card .cta_card_heading {
    min-height: auto;
    font-size: 1.5rem;
  }
}
.section_common_cta .cta_card .cta_card_heading--shibuyan {
  color: var(--color-red, #b51f2e);
}
.section_common_cta .cta_card .cta_card_heading--contact {
  color: #17212b;
}
.section_common_cta .cta_card .cta_card_desc {
  font-size: 1.4rem;
  font-weight: 400;
  color: #17212b;
  line-height: 1.6;
  margin: 0;
  flex: 1;
}
@media screen and (max-width: 765px) {
  .section_common_cta .cta_card .cta_card_desc {
    font-size: 1.35rem;
  }
}
.section_common_cta .cta_card .cta_card_btn_wrap {
  width: 100%;
  margin-top: auto;
  padding-top: 4px;
}
.section_common_cta .cta_card .cta_card_btn_wrap .btn_cta_shibuyan,
.section_common_cta .cta_card .cta_card_btn_wrap .btn_cta_contact {
  width: 100%;
  display: flex;
  box-sizing: border-box;
}

.page_about .section_about_intro .about_intro_block {
  display: grid;
  grid-template-columns: 1fr 380px;
  grid-template-areas: "top photo" "bottom bottom";
  gap: 28px 56px;
  align-items: center;
}
@media screen and (max-width: 1024px) {
  .page_about .section_about_intro .about_intro_block {
    grid-template-columns: 1fr 330px;
    gap: 24px 36px;
  }
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .about_intro_block {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}
.page_about .section_about_intro .intro_text_top {
  grid-area: top;
  order: 1;
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .intro_text_top {
    margin-bottom: 16px;
  }
}
.page_about .section_about_intro .intro_photo_wrap {
  grid-area: photo;
  order: 3;
  width: 100%;
  max-width: 380px;
  margin: 0 auto;
}
@media screen and (max-width: 1024px) {
  .page_about .section_about_intro .intro_photo_wrap {
    max-width: 330px;
  }
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .intro_photo_wrap {
    max-width: 100%;
    margin-top: 24px;
  }
}
.page_about .section_about_intro .intro_photo_wrap img {
  width: 100%;
  height: auto;
  aspect-ratio: 4/3;
  object-fit: cover;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .intro_photo_wrap img {
    aspect-ratio: 16/10;
  }
}
.page_about .section_about_intro .intro_text_bottom {
  grid-area: bottom;
  order: 2;
}
.page_about .section_about_intro .intro_text_top,
.page_about .section_about_intro .intro_text_bottom {
  font-size: 1.6rem;
  color: var(--text-dark);
}
.page_about .section_about_intro .intro_text_top p,
.page_about .section_about_intro .intro_text_bottom p {
  line-height: 1.85;
  margin-bottom: 18px;
}
.page_about .section_about_intro .intro_text_top p:last-child,
.page_about .section_about_intro .intro_text_bottom p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .intro_text_top p,
  .page_about .section_about_intro .intro_text_bottom p {
    line-height: 1.75;
    margin-bottom: 16px;
  }
}
.page_about .section_about_intro .intro_lead_highlight {
  color: var(--color-red);
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.6;
  margin: 20px 0;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .intro_lead_highlight {
    font-size: 1.7rem;
    margin: 16px 0;
  }
}
.page_about .section_about_intro .intro_signature {
  text-align: right;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin-top: 28px;
  margin-bottom: 0;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 765px) {
  .page_about .section_about_intro .intro_signature {
    margin-top: 20px;
    font-size: 1.5rem;
  }
}
.page_about .company_overview_table_wrap {
  width: 100%;
  border-top: 1px solid #d1d5db;
}
.page_about .company_overview_table_wrap .company_overview_list {
  margin: 0;
  padding: 0;
}
.page_about .company_overview_table_wrap .overview_row {
  display: flex;
  border-bottom: 1px solid #d1d5db;
  min-height: 53px;
}
@media screen and (max-width: 765px) {
  .page_about .company_overview_table_wrap .overview_row {
    flex-direction: column;
    min-height: auto;
  }
}
.page_about .company_overview_table_wrap .overview_row dt {
  width: 200px;
  flex-shrink: 0;
  background-color: #f1f0ef;
  padding: 16px;
  box-sizing: border-box;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .page_about .company_overview_table_wrap .overview_row dt {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    padding: 10px 16px;
  }
}
.page_about .company_overview_table_wrap .overview_row dd {
  flex: 1;
  background-color: var(--white);
  padding: 16px;
  box-sizing: border-box;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #1f2937;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page_about .company_overview_table_wrap .overview_row dd p {
  margin: 0 0 4px;
  line-height: 1.6;
}
.page_about .company_overview_table_wrap .overview_row dd p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 765px) {
  .page_about .company_overview_table_wrap .overview_row dd {
    padding: 12px 16px;
  }
}
.page_about .section_related_companies .related_companies_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media screen and (max-width: 960px) {
  .page_about .section_related_companies .related_companies_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media screen and (max-width: 765px) {
  .page_about .section_related_companies .related_companies_grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
.page_about .section_related_companies .related_company_item {
  display: flex;
}
.page_about .section_related_companies .related_company_btn {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 76px;
  padding: 14px 32px 14px 18px;
  background-color: var(--white);
  border: 1px solid #d1d5db;
  border-radius: 8px;
  box-sizing: border-box;
  text-decoration: none;
  color: var(--text-dark);
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
.page_about .section_related_companies .related_company_btn:not(.is_nolink)::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--text-dark);
  border-right: 1.5px solid var(--text-dark);
  transform: translateY(-50%) rotate(45deg);
  transition: transform 0.25s ease;
  pointer-events: none;
}
.page_about .section_related_companies .related_company_btn:not(.is_nolink):hover {
  background-color: #f7f4ed;
  border-color: var(--text-dark);
  opacity: 1;
}
.page_about .section_related_companies .related_company_btn:not(.is_nolink):hover::after {
  transform: translate(3px, -50%) rotate(45deg);
}
.page_about .section_related_companies .related_company_btn.is_nolink {
  justify-content: center;
  padding: 14px 18px;
  cursor: default;
}
.page_about .section_related_companies .related_company_btn .related_logo_wrap {
  width: 68px;
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.page_about .section_related_companies .related_company_btn .related_logo_wrap img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}
.page_about .section_related_companies .related_company_btn .related_logo_wrap.is_comazono {
  width: 84px;
}
.page_about .section_related_companies .related_company_btn .related_logo_wrap.is_arikura {
  width: 76px;
}
.page_about .section_related_companies .related_company_btn .related_company_name {
  flex: 1;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.45;
  color: var(--text-dark);
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.page_about .section_related_companies .related_company_btn.is_nolink .related_company_name {
  flex: 0 1 auto;
  text-align: center;
}
.page_about .history_timeline_wrap {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
}
.page_about .history_timeline_wrap .history_timeline_list {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 16px 0;
}
.page_about .history_timeline_wrap .history_timeline_list::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background-color: #e5e7eb;
  transform: translateX(-50%);
}
@media screen and (max-width: 765px) {
  .page_about .history_timeline_wrap .history_timeline_list::before {
    left: 20px;
  }
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item {
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 24px;
  width: 100%;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item:last-child {
  margin-bottom: 0;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item.is_right {
  justify-content: flex-end;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item.is_right .timeline_card {
  padding-left: 40px;
  padding-right: 16px;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item.is_left {
  justify-content: flex-start;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item.is_left .timeline_card {
  padding-left: 16px;
  padding-right: 40px;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_card {
  width: calc(50% - 30px);
  box-sizing: border-box;
  background-color: var(--white);
  padding: 16px;
  border-radius: 2px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_card .timeline_year {
  display: block;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: #111827;
  margin-bottom: 4px;
  line-height: 1.4;
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_card .timeline_text {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #1f2937;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_card {
    width: calc(100% - 50px);
    margin-left: auto;
    padding: 14px 16px !important;
  }
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_node {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: var(--text-dark);
  border: 1.5px solid var(--white);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}
.page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_node .checkmark_icon {
  display: inline-block;
  width: 16px;
  height: 16px;
  background: url("../images/common/checkmark-white.png") no-repeat center/contain;
}
@media screen and (max-width: 765px) {
  .page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_node {
    left: 20px;
    top: 24px;
    transform: translateX(-50%);
    width: 32px;
    height: 32px;
  }
  .page_about .history_timeline_wrap .history_timeline_list .timeline_item .timeline_node .checkmark_icon {
    width: 13px;
    height: 13px;
  }
}
.page_about.section_access_map,
.page_about .section_access_map,
.page_about #access {
  scroll-margin-top: 100px;
}
@media screen and (max-width: 765px) {
  .page_about.section_access_map,
  .page_about .section_access_map,
  .page_about #access {
    scroll-margin-top: 70px;
  }
}
.page_about .access_map_grid {
  display: grid;
  grid-template-columns: 600px 1fr;
  gap: 32px;
  align-items: flex-start;
  padding: 10px 0 20px;
}
@media screen and (max-width: 1024px) {
  .page_about .access_map_grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.page_about .access_map_grid .access_map_embed {
  width: 100%;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
}
.page_about .access_map_grid .access_map_embed iframe {
  width: 100%;
  height: 338px;
  display: block;
  border: 0;
}
@media screen and (max-width: 765px) {
  .page_about .access_map_grid .access_map_embed iframe {
    height: 260px;
  }
}
.page_about .access_map_grid .access_info_wrap {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.page_about .access_map_grid .access_info_wrap .access_base_title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 8px;
  line-height: 1.4;
}
.page_about .access_map_grid .access_info_wrap .access_base_address {
  font-size: 1.4rem;
  line-height: 1.6;
  color: #1f2937;
  margin: 0 0 20px;
}
.page_about .access_map_grid .access_info_wrap .access_directions_group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.page_about .access_map_grid .access_info_wrap .access_directions_group .direction_block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.page_about .access_map_grid .access_info_wrap .access_directions_group .direction_block .direction_badge {
  display: inline-block;
  border: 1px solid var(--text-dark);
  padding: 4px 12px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  border-radius: 2px;
  line-height: 1.4;
}
.page_about .access_map_grid .access_info_wrap .access_directions_group .direction_block .direction_text {
  font-size: 1.2rem;
  line-height: 1.65;
  color: #1f2937;
  margin: 0;
}

/* ==========================================================================
   取扱商品ページ（page_works）
   ========================================================================== */
.page_works {
  background-color: #fbf9f5;
  /* 自社直輸入イタリアンブランド */
  /* 取扱い主要商品カテゴリー */
}
.page_works .section_works_intro .works_intro_text {
  margin-top: 24px;
}
.page_works .section_works_intro .works_intro_text p {
  font-size: 1.6rem;
  line-height: 1.85;
  color: var(--text-dark, #31190f);
  margin: 0 0 18px;
}
.page_works .section_works_intro .works_intro_text p:last-child {
  margin-bottom: 0;
}
.page_works .section_works_intro .works_feature_list {
  display: flex;
  gap: 20px;
  margin-top: 32px;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_intro .works_feature_list {
    flex-direction: column;
    gap: 16px;
    margin-top: 24px;
  }
}
.page_works .section_works_intro .works_feature_list .works_feature_item {
  flex: 1;
  border-left: 4px solid #b51f2e;
  padding-left: 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.page_works .section_works_intro .works_feature_list .works_feature_item .works_feature_title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark, #31190f);
  margin: 0 0 4px;
  line-height: 1.4;
}
.page_works .section_works_intro .works_feature_list .works_feature_item .works_feature_desc {
  font-size: 1.35rem;
  color: var(--text-dark, #31190f);
  line-height: 1.5;
  margin: 0;
}
.page_works .section_works_import .import_brand_list {
  display: flex;
  flex-direction: column;
  gap: 32px;
  margin-top: 36px;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_import .import_brand_list {
    gap: 24px;
    margin-top: 24px;
  }
}
.page_works .section_works_import .import_brand_list .import_brand_card {
  border: 2px solid #1f2937;
  background-color: #fff;
  box-sizing: border-box;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_header {
  background-color: var(--text-dark, #31190f);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_import .import_brand_list .import_brand_card .import_brand_header {
    flex-wrap: wrap;
    gap: 10px;
    padding: 12px 16px;
  }
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_header .import_brand_name {
  color: #fff;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  margin: 0;
  line-height: 1.3;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_import .import_brand_list .import_brand_card .import_brand_header .import_brand_name {
    font-size: 1.6rem;
  }
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_header .import_brand_badge {
  display: inline-block;
  border: 1px solid #fff;
  color: #fff;
  font-family: "Helvetica Neue", Arial, sans-serif;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 3px 10px;
  line-height: 1.4;
  white-space: nowrap;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body {
  padding: 24px;
  display: flex;
  gap: 32px;
  align-items: flex-start;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body {
    flex-direction: column;
    gap: 20px;
    padding: 16px;
  }
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col {
  width: 295px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col {
    width: 100%;
  }
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_img {
  width: 100%;
  height: 166px;
  overflow: hidden;
  background-color: #f3f4f6;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_btn_wrap {
  width: 100%;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_btn_wrap .btn_view_more {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #31190f;
  background-color: #fff;
  color: #31190f;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, color 0.25s ease;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_btn_wrap .btn_view_more .btn_icon_file {
  display: inline-block;
  width: 13px;
  height: 15px;
  border: 1.5px solid currentColor;
  border-radius: 1px;
  position: relative;
  flex-shrink: 0;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_btn_wrap .btn_view_more .btn_icon_file::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 2px;
  right: 2px;
  height: 1.5px;
  background-color: currentColor;
  box-shadow: 0 3px 0 0 currentColor, 0 6px 0 0 currentColor;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_img_col .import_brand_btn_wrap .btn_view_more:hover {
  background-color: #31190f;
  color: #fff;
  opacity: 1 !important;
  box-shadow: none !important;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_content .import_brand_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark, #31190f);
  margin: 0;
  line-height: 1.4;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_content .import_brand_desc {
  font-size: 1.5rem;
  line-height: 1.85;
  color: var(--text-dark, #31190f);
  margin: 0;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_content .import_brand_products {
  border: 1px solid var(--text-dark, #31190f);
  padding: 10px 14px;
  background-color: #fff;
  box-sizing: border-box;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_content .import_brand_products p {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--text-dark, #31190f);
  margin: 0;
}
.page_works .section_works_import .import_brand_list .import_brand_card .import_brand_body .import_brand_content .import_brand_notice {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #ec3043;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 4px 0 0;
}
.page_works .section_works_categories .category_list {
  display: flex;
  flex-direction: column;
  gap: 36px;
  margin-top: 36px;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_categories .category_list {
    gap: 28px;
    margin-top: 24px;
  }
}
.page_works .section_works_categories .category_list .category_card {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 28px;
  border-bottom: 1px dashed #d1d5db;
}
.page_works .section_works_categories .category_list .category_card:last-child {
  border-bottom: none;
  padding-bottom: 0;
}
.page_works .section_works_categories .category_list .category_card .category_card_title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark, #31190f);
  margin: 0;
  line-height: 1.4;
  display: flex;
  align-items: center;
  gap: 12px;
}
.page_works .section_works_categories .category_list .category_card .category_card_title::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 1.25em;
  background-color: #b51f2e;
  flex-shrink: 0;
}
.page_works .section_works_categories .category_list .category_card .category_card_desc {
  font-size: 1.5rem;
  line-height: 1.75;
  color: var(--text-dark, #31190f);
  margin: 0;
}
.page_works .section_works_categories .category_list .category_card .category_detail_box {
  background-color: #f9fafb;
  border: 1px solid #111827;
  padding: 16px 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_categories .category_list .category_card .category_detail_box {
    padding: 14px 16px;
  }
}
.page_works .section_works_categories .category_list .category_card .category_detail_box .category_detail_title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.3rem;
  font-weight: 700;
  color: #31190f;
  margin: 0;
  line-height: 1.4;
}
.page_works .section_works_categories .category_list .category_card .category_detail_box .category_detail_title .mark_green {
  color: #195d2d;
  margin-right: 4px;
}
.page_works .section_works_categories .category_list .category_card .category_detail_box .category_detail_text {
  font-size: 1.25rem;
  line-height: 1.65;
  color: var(--text-dark, #31190f);
  margin: 0;
}
.page_works .section_works_categories .category_list .category_card .category_card_btn_wrap {
  display: flex;
  justify-content: flex-end;
  margin-top: 4px;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_categories .category_list .category_card .category_card_btn_wrap {
    justify-content: stretch;
  }
}
.page_works .section_works_categories .category_list .category_card .category_card_btn_wrap .btn_category_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: var(--text-dark, #31190f);
  border: 1px solid #31190f;
  color: #fff;
  padding: 13px 28px;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  text-decoration: none;
  box-sizing: border-box;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}
@media screen and (max-width: 765px) {
  .page_works .section_works_categories .category_list .category_card .category_card_btn_wrap .btn_category_link {
    width: 100%;
  }
}
.page_works .section_works_categories .category_list .category_card .category_card_btn_wrap .btn_category_link .btn_arrow {
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  display: inline-block;
  margin-left: 2px;
}
.page_works .section_works_categories .category_list .category_card .category_card_btn_wrap .btn_category_link:hover {
  background-color: #170b05;
  border-color: #170b05;
  opacity: 1 !important;
  box-shadow: none !important;
}

.page_recruit {
  padding-bottom: 80px;
}
@media screen and (max-width: 765px) {
  .page_recruit {
    padding-bottom: 40px;
  }
}
.page_recruit .recruit_section {
  padding: 50px 0 30px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_section {
    padding: 35px 0 20px;
  }
}
.page_recruit .recruit_section:first-of-type {
  padding-top: 40px;
}
.page_recruit .recruit_video_container {
  max-width: 800px;
  width: 100%;
  margin: 0 auto 50px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_video_container {
    margin-bottom: 35px;
  }
}
.page_recruit .recruit_video_frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  background-color: #000;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
.page_recruit .recruit_video_frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.page_recruit .recruit_story_list {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_list {
    gap: 36px;
  }
}
.page_recruit .recruit_story_item {
  display: flex;
  align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_item {
    flex-direction: column;
    gap: 20px;
    align-items: stretch;
  }
}
.page_recruit .recruit_story_item.is-reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_item.is-reverse {
    flex-direction: column;
  }
}
.page_recruit .recruit_story_item.is-align-top {
  align-items: flex-start;
}
.page_recruit .recruit_story_content {
  flex: 1;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_content {
    order: 2;
  }
}
.page_recruit .recruit_story_title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--text-dark);
  margin: 0 0 16px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_title {
    font-size: 1.7rem;
    margin-bottom: 12px;
  }
}
.page_recruit .recruit_story_desc {
  font-size: 1.6rem;
  line-height: 1.87;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_desc {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.page_recruit .recruit_story_photo {
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_photo {
    order: 1;
    display: flex;
    justify-content: center;
  }
}
.page_recruit .recruit_story_photo img {
  display: block;
  border-radius: 2px;
  object-fit: cover;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_photo img {
    width: 100%;
    max-width: 360px;
    height: auto;
  }
}
.page_recruit .recruit_story_photo.is-size-square {
  width: 300px;
}
.page_recruit .recruit_story_photo.is-size-square img {
  width: 300px;
  height: 300px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_photo.is-size-square {
    width: 100%;
  }
  .page_recruit .recruit_story_photo.is-size-square img {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
}
.page_recruit .recruit_story_photo.is-size-wide {
  width: 300px;
}
.page_recruit .recruit_story_photo.is-size-wide img {
  width: 300px;
  height: 225px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_photo.is-size-wide {
    width: 100%;
  }
  .page_recruit .recruit_story_photo.is-size-wide img {
    width: 100%;
    height: auto;
    aspect-ratio: 4/3;
  }
}
.page_recruit .recruit_story_photo.is-size-tall {
  width: 225px;
}
.page_recruit .recruit_story_photo.is-size-tall img {
  width: 225px;
  height: 300px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_story_photo.is-size-tall {
    width: 100%;
  }
  .page_recruit .recruit_story_photo.is-size-tall img {
    width: 100%;
    max-width: 280px;
    height: auto;
    aspect-ratio: 3/4;
  }
}
.page_recruit .recruit_schedule_box {
  background-color: var(--white);
  border-radius: 4px;
  padding: 16px 20px;
  margin-top: 20px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_schedule_box {
    padding: 14px 16px;
    margin-top: 16px;
  }
}
.page_recruit .recruit_schedule_header {
  border-bottom: 1px solid var(--text-dark);
  padding-bottom: 10px;
  margin-bottom: 14px;
}
.page_recruit .recruit_schedule_header .schedule_title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.page_recruit .recruit_schedule_list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 0;
  padding: 0;
}
.page_recruit .recruit_schedule_list .schedule_item {
  display: flex;
  align-items: baseline;
  gap: 16px;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_schedule_list .schedule_item {
    font-size: 1.35rem;
    gap: 12px;
  }
}
.page_recruit .recruit_schedule_list .schedule_item dt {
  width: 112px;
  flex-shrink: 0;
  font-weight: 700;
  color: var(--text-dark);
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_schedule_list .schedule_item dt {
    width: 96px;
  }
}
.page_recruit .recruit_schedule_list .schedule_item dd {
  flex: 1;
  margin: 0;
  color: var(--text-dark);
}
.page_recruit .recruit_closing_message .recruit_closing_text {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_closing_message .recruit_closing_text {
    font-size: 1.5rem;
    line-height: 1.85;
  }
}
.page_recruit .recruit_table_wrap {
  width: 100%;
  border-top: 1px solid #d1d5db;
}
.page_recruit .recruit_table_wrap .recruit_table_list {
  margin: 0;
  padding: 0;
}
.page_recruit .recruit_table_wrap .recruit_table_row {
  display: flex;
  border-bottom: 1px solid #d1d5db;
  min-height: 53px;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_table_wrap .recruit_table_row {
    flex-direction: column;
    min-height: auto;
  }
}
.page_recruit .recruit_table_wrap .recruit_table_row dt {
  width: 200px;
  flex-shrink: 0;
  background-color: #f1f0ef;
  padding: 16px;
  box-sizing: border-box;
  font-size: 1.4rem;
  font-weight: 700;
  color: #111827;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_table_wrap .recruit_table_row dt {
    width: 100%;
    justify-content: flex-start;
    text-align: left;
    padding: 10px 16px;
  }
}
.page_recruit .recruit_table_wrap .recruit_table_row dd {
  flex: 1;
  background-color: var(--white);
  padding: 16px 20px;
  box-sizing: border-box;
  font-size: 1.4rem;
  color: #1f2937;
  line-height: 1.8;
  margin: 0;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_table_wrap .recruit_table_row dd {
    padding: 12px 16px;
  }
}
.page_recruit .recruit_table_wrap .recruit_table_row dd p {
  margin: 0 0 0.5em;
}
.page_recruit .recruit_table_wrap .recruit_table_row dd p:last-child {
  margin-bottom: 0;
}
.page_recruit .recruit_table_wrap .recruit_table_row dd .recruit_note_sub {
  display: block;
  margin-top: 4px;
  font-weight: 400;
}
.page_recruit .recruit_table_wrap .recruit_table_row dd strong {
  font-weight: 700;
}
.page_recruit .recruit_table_wrap .recruit_table_row dd a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.page_recruit .recruit_table_wrap .recruit_table_row dd a:hover {
  color: var(--color-green);
  opacity: 1;
}
.page_recruit .recruit_contact_wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.page_recruit .recruit_contact_wrap p {
  font-weight: inherit;
}
.page_recruit .recruit_contact_wrap .recruit_contact_text {
  font-size: 1.6rem;
  line-height: 1.87;
  color: var(--text-dark);
  margin: 0;
  font-weight: 500;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_contact_wrap .recruit_contact_text {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.page_recruit .recruit_contact_wrap .recruit_contact_text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.page_recruit .recruit_contact_wrap .recruit_contact_text a:hover {
  color: var(--color-green);
  opacity: 1;
}
.page_recruit .recruit_contact_wrap .recruit_notice_red {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.87;
  color: var(--color-red);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_contact_wrap .recruit_notice_red {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.page_recruit .recruit_contact_wrap .recruit_privacy_note {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.87;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .page_recruit .recruit_contact_wrap .recruit_privacy_note {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}

/* ==========================================================================
   404 エラーページ
   ========================================================================== */
.error_404_section {
  padding: 80px 0 100px;
  text-align: center;
}

@media (max-width: 768px) {
  .error_404_section {
    padding: 50px 0 70px;
  }
}
.error_404_card {
  max-width: 800px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid #e9e4d8;
  border-radius: 16px;
  padding: 60px 40px;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.04);
}

@media (max-width: 768px) {
  .error_404_card {
    padding: 40px 20px;
  }
}
.error_404_number {
  font-family: "Cormorant Garamond", serif;
  font-size: 80px;
  font-weight: 700;
  color: #195d2d;
  line-height: 1;
  margin-bottom: 16px;
  letter-spacing: 0.05em;
}

@media (max-width: 768px) {
  .error_404_number {
    font-size: 64px;
  }
}
.error_404_heading {
  font-size: 24px;
  font-weight: 700;
  color: #333432;
  margin: 0 0 20px;
  letter-spacing: 0.04em;
}

@media (max-width: 768px) {
  .error_404_heading {
    font-size: 19px;
  }
}
.error_404_text {
  font-size: 15px;
  line-height: 1.85;
  color: #555;
  margin: 0 auto 36px;
  max-width: 600px;
}

@media (max-width: 768px) {
  .error_404_text {
    font-size: 14px;
    margin-bottom: 28px;
  }
}
.error_404_btn_wrap {
  margin-bottom: 48px;
}

.btn_primary_green {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  background-color: var(--color-green, #195d2d);
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  padding: 16px 40px;
  border-radius: 50px;
  text-decoration: none;
  box-shadow: none;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.btn_primary_green:hover {
  background-color: var(--color-green-hover, #25a44b);
  color: #fff;
  transform: none;
  box-shadow: none;
  opacity: 0.95;
}

.btn_primary_green .btn_arrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}

.error_404_links {
  border-top: 1px dashed #dfd8cb;
  padding-top: 36px;
  text-align: left;
}

.error_404_links_title {
  font-size: 14px;
  font-weight: 700;
  color: #777;
  text-align: center;
  margin: 0 0 20px;
  letter-spacing: 0.05em;
}

.error_404_nav_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

@media (max-width: 768px) {
  .error_404_nav_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}
.error_404_nav_grid li a {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  background: #fdfbf7;
  border: 1px solid #e8e3d8;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  color: #333432;
  text-decoration: none;
  transition: all 0.2s ease;
  text-align: center;
}

.error_404_nav_grid li a:hover {
  background-color: var(--color-green, #195d2d);
  color: #fff;
  border-color: #195d2d;
}

/* 404 シンプル構成 */
.error_404_simple {
  padding: 90px 20px 110px;
  text-align: center;
}

@media (max-width: 768px) {
  .error_404_simple {
    padding: 60px 16px 80px;
  }
}
.error_404_simple_text {
  font-size: 16px;
  line-height: 2.1;
  color: #333432;
  letter-spacing: 0.04em;
  margin: 0 auto 44px;
  max-width: 720px;
}

@media (max-width: 768px) {
  .error_404_simple_text {
    font-size: 14px;
    line-height: 1.9;
    margin-bottom: 32px;
  }
}
.error_404_simple_btn_wrap {
  text-align: center;
}

/* 404 余白最適化（ボタン下の余白をコンパクトに調整） */
.error_404_simple {
  padding: 60px 20px 44px !important;
  text-align: center;
}

@media (max-width: 768px) {
  .error_404_simple {
    padding: 36px 16px 28px !important;
  }
}
.error_404_simple_text {
  margin: 0 auto 32px !important;
}

@media (max-width: 768px) {
  .error_404_simple_text {
    margin-bottom: 24px !important;
  }
}
.page_detail {
  background-color: var(--bg-base);
  min-height: 80vh;
}

.detail_breadcrumbs {
  padding: 24px 10px 20px;
}
@media screen and (max-width: 765px) {
  .detail_breadcrumbs {
    padding: 16px 10px 16px;
  }
}
.detail_breadcrumbs .breadcrumb_list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 1.4rem;
  color: #4e4d4f;
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .detail_breadcrumbs .breadcrumb_list {
    font-size: 1.2rem;
    gap: 6px;
  }
}
.detail_breadcrumbs .breadcrumb_list li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 765px) {
  .detail_breadcrumbs .breadcrumb_list li {
    gap: 6px;
  }
}
.detail_breadcrumbs .breadcrumb_list li a {
  color: #4e4d4f;
  font-weight: 400;
  transition: color 0.2s ease;
}
.detail_breadcrumbs .breadcrumb_list li a:hover {
  color: var(--color-green);
  text-decoration: underline;
}
.detail_breadcrumbs .breadcrumb_list li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 1.5px solid #4e4d4f;
  border-right: 1.5px solid #4e4d4f;
  transform: rotate(45deg);
  margin-left: 2px;
  flex-shrink: 0;
}
.detail_breadcrumbs .breadcrumb_list li[aria-current=page] {
  color: #4e4d4f;
  font-weight: 500;
  max-width: 550px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media screen and (max-width: 765px) {
  .detail_breadcrumbs .breadcrumb_list li[aria-current=page] {
    max-width: 220px;
  }
}

.detail_article {
  max-width: 1000px;
  margin: 0 auto;
}

.detail_header {
  margin-bottom: 40px;
}
@media screen and (max-width: 765px) {
  .detail_header {
    margin-bottom: 24px;
  }
}
.detail_header .detail_meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 16px;
}
.detail_header .detail_tags {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
}
.detail_header .detail_tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-dark);
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  padding: 4px 11px;
  line-height: 1.3;
  white-space: nowrap;
}
.detail_header .detail_tag--primary {
  background-color: var(--text-dark);
  color: var(--white);
  border-color: var(--text-dark);
}
.detail_header .detail_date {
  font-size: 1.6rem;
  color: var(--text-dark);
  font-weight: 400;
  margin-left: auto;
}
@media screen and (max-width: 765px) {
  .detail_header .detail_date {
    font-size: 1.4rem;
  }
}
.detail_header .detail_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.35;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding-bottom: 20px;
  margin: 0 0 16px;
}
@media screen and (max-width: 765px) {
  .detail_header .detail_title {
    font-size: 2.1rem;
    padding-bottom: 14px;
    line-height: 1.4;
  }
}
.detail_header .detail_lead {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .detail_header .detail_lead {
    font-size: 1.35rem;
  }
}

.detail_eyecatch {
  max-width: 600px;
  margin: 0 auto 40px;
}
@media screen and (max-width: 765px) {
  .detail_eyecatch {
    max-width: 100%;
    margin-bottom: 30px;
  }
}
.detail_eyecatch .detail_figure {
  margin: 0;
}
.detail_eyecatch .detail_figure img {
  width: 100%;
  aspect-ratio: 600/338;
  object-fit: cover;
  display: block;
}
.detail_eyecatch .detail_figure .detail_caption {
  margin-top: 10px;
  font-size: 1.2rem;
  color: #4e4d4f;
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 765px) {
  .detail_eyecatch .detail_figure .detail_caption {
    font-size: 1.1rem;
  }
}

.detail_profile_card {
  max-width: 800px;
  margin: 0 auto 48px;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  padding: 25px;
  display: grid;
  grid-template-columns: 310px 1fr;
  gap: 24px;
  align-items: center;
}
@media screen and (max-width: 900px) {
  .detail_profile_card {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 20px;
  }
}
.detail_profile_card--single {
  grid-template-columns: 1fr;
  max-width: 600px;
  padding: 24px 30px;
}
.detail_profile_card--single .detail_profile_info {
  border-right: none;
  padding-right: 0;
  justify-content: flex-start;
}
.detail_profile_card .detail_profile_info {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-right: 16px;
  border-right: 1px solid #eee;
}
@media screen and (max-width: 900px) {
  .detail_profile_card .detail_profile_info {
    border-right: none;
    border-bottom: 1px solid #eee;
    padding-right: 0;
    padding-bottom: 18px;
  }
}
@media screen and (max-width: 480px) {
  .detail_profile_card .detail_profile_info {
    align-items: flex-start;
  }
}
.detail_profile_card .detail_profile_thumb {
  width: 80px;
  height: 80px;
  flex-shrink: 0;
  overflow: hidden;
}
.detail_profile_card .detail_profile_thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detail_profile_card .detail_profile_meta {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-grow: 1;
}
.detail_profile_card .detail_profile_meta .detail_profile_en {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-dark);
  letter-spacing: 0.5px;
  margin: 0;
  line-height: 1.2;
}
.detail_profile_card .detail_profile_meta .detail_profile_name {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.4;
}
.detail_profile_card .detail_profile_meta .detail_profile_chef {
  font-size: 1.2rem;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.4;
}
.detail_profile_card .detail_profile_meta .detail_profile_data {
  font-size: 1.1rem;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.4;
}
.detail_profile_card .detail_profile_meta .detail_profile_links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 14px;
  margin-top: 6px;
}
.detail_profile_card .detail_profile_meta .detail_profile_link {
  display: inline-block;
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text-dark);
  text-decoration: underline;
  margin-top: 2px;
  line-height: 1.4;
  transition: color 0.2s ease;
}
.detail_profile_card .detail_profile_meta .detail_profile_link:hover {
  color: var(--color-green);
}
.detail_profile_card .detail_profile_message {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.detail_profile_card .detail_profile_message .detail_profile_msg_title {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.3;
}
.detail_profile_card .detail_profile_message .detail_profile_msg_title .msg_icon {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  fill: var(--text-dark);
}
.detail_profile_card .detail_profile_message .detail_profile_msg_body {
  background-color: var(--white);
  border: 1px solid #aaa;
  padding: 13px 15px;
}
.detail_profile_card .detail_profile_message .detail_profile_msg_body p {
  font-size: 1.4rem;
  line-height: 1.65;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .detail_profile_card .detail_profile_message .detail_profile_msg_body p {
    font-size: 1.3rem;
    line-height: 1.6;
  }
}

.detail_interview {
  max-width: 800px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 765px) {
  .detail_interview {
    margin-bottom: 40px;
  }
}
.detail_interview .detail_section_heading {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: 2.2px;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding: 16px 0;
  margin: 0 0 24px;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_section_heading {
    font-size: 1.9rem;
    letter-spacing: 1.5px;
    padding: 12px 0;
    margin-bottom: 18px;
  }
}
.detail_interview .detail_interview_list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.detail_interview .detail_qa_item {
  background-color: var(--white);
  border-radius: 0;
  overflow: hidden;
}
.detail_interview .detail_qa_item .detail_qa_question {
  background-color: #f3f4f6;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_question {
    padding: 10px 12px;
    gap: 8px;
  }
}
.detail_interview .detail_qa_item .detail_qa_badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #195d2d;
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 700;
  padding: 2px 8px;
  line-height: 1.3;
  flex-shrink: 0;
}
.detail_interview .detail_qa_item .detail_qa_title {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_title {
    font-size: 1.4rem;
  }
}
.detail_interview .detail_qa_item .detail_qa_body {
  padding: 18px 20px 22px;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_body {
    padding: 14px 16px 18px;
  }
}
.detail_interview .detail_qa_item .detail_qa_body.has_image {
  display: flex;
  gap: 24px;
  align-items: flex-start;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_body.has_image {
    flex-direction: column-reverse;
    gap: 16px;
  }
}
.detail_interview .detail_qa_item .detail_qa_body.has_image .detail_qa_content {
  flex: 1;
  min-width: 0;
}
.detail_interview .detail_qa_item .detail_qa_body.has_image .detail_qa_image {
  flex: 0 0 260px;
  max-width: 38%;
  margin: 0;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_body.has_image .detail_qa_image {
    flex: none;
    max-width: 100%;
    width: 100%;
  }
}
.detail_interview .detail_qa_item .detail_qa_body.has_image .detail_qa_image img {
  width: 100%;
  height: auto;
  border-radius: 4px;
  object-fit: cover;
  display: block;
}
.detail_interview .detail_qa_item .detail_qa_subheading {
  font-size: 1.55rem;
  font-weight: 700 !important;
  color: #195d2d;
  margin: 0 0 10px;
  line-height: 1.55;
}
.detail_interview .detail_qa_item .detail_qa_subheading strong, .detail_interview .detail_qa_item .detail_qa_subheading b {
  font-weight: 700 !important;
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_subheading {
    font-size: 1.4rem;
    margin-bottom: 8px;
  }
}
.detail_interview .detail_qa_item .detail_qa_answer {
  font-size: 1.6rem;
  line-height: 1.87;
  color: var(--text-dark);
}
@media screen and (max-width: 765px) {
  .detail_interview .detail_qa_item .detail_qa_answer {
    font-size: 1.4rem;
    line-height: 1.75;
  }
}
.detail_interview .detail_qa_item .detail_qa_answer p {
  margin: 0 0 1em;
}
.detail_interview .detail_qa_item .detail_qa_answer p:last-child {
  margin-bottom: 0;
}
.detail_interview .detail_qa_item .detail_qa_answer b, .detail_interview .detail_qa_item .detail_qa_answer strong {
  font-weight: 700;
  color: var(--text-dark);
}
.detail_interview .detail_qa_item .detail_qa_answer i, .detail_interview .detail_qa_item .detail_qa_answer em {
  font-style: italic;
}
.detail_interview .detail_qa_item .detail_qa_answer a {
  color: var(--color-green);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease;
}
.detail_interview .detail_qa_item .detail_qa_answer a:hover {
  color: var(--color-green-hover);
  text-decoration: underline;
}
.detail_interview .detail_qa_item .detail_qa_answer blockquote {
  margin: 1.4em 0;
  padding: 12px 18px;
  background-color: #f8f6f1;
  border-left: 4px solid var(--color-green);
  color: #4e4d4f;
  font-style: italic;
}
.detail_interview .detail_qa_item .detail_qa_answer blockquote p {
  margin-bottom: 0.5em;
}
.detail_interview .detail_qa_item .detail_qa_answer blockquote p:last-child {
  margin-bottom: 0;
}
.detail_interview .detail_qa_item .detail_qa_answer del, .detail_interview .detail_qa_item .detail_qa_answer s, .detail_interview .detail_qa_item .detail_qa_answer strike {
  text-decoration: line-through;
  color: #888;
}
.detail_interview .detail_qa_item .detail_qa_answer ins {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.detail_interview .detail_qa_item .detail_qa_answer img {
  max-width: 100%;
  height: auto;
  margin: 1.2em auto;
  display: block;
  border-radius: 2px;
}
.detail_interview .detail_qa_item .detail_qa_answer ul {
  margin: 1em 0;
  padding-left: 24px;
  list-style: disc;
}
.detail_interview .detail_qa_item .detail_qa_answer ul li {
  list-style: disc;
  margin-bottom: 0.4em;
  line-height: 1.7;
}
.detail_interview .detail_qa_item .detail_qa_answer ol {
  margin: 1em 0;
  padding-left: 24px;
  list-style: decimal;
}
.detail_interview .detail_qa_item .detail_qa_answer ol li {
  list-style: decimal;
  margin-bottom: 0.4em;
  line-height: 1.7;
}
.detail_interview .detail_qa_item .detail_qa_answer code {
  font-family: Consolas, Monaco, "Courier New", monospace;
  background-color: #f3f4f6;
  border: 1px solid #e5e7eb;
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 0.9em;
  color: #b51f2e;
}

.detail_related {
  max-width: 1000px;
  margin: 60px auto 0;
  border-top: 1px solid #aaa;
  padding-top: 41px;
}
@media screen and (max-width: 765px) {
  .detail_related {
    margin-top: 40px;
    padding-top: 30px;
  }
}
.detail_related .detail_related_heading {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0 0 24px;
}
@media screen and (max-width: 765px) {
  .detail_related .detail_related_heading {
    font-size: 1.6rem;
    margin-bottom: 18px;
  }
}

.detail_related_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media screen and (max-width: 900px) {
  .detail_related_grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}

.detail_card {
  background-color: var(--white);
  border: 1px solid #aaa;
  padding: 17px;
  display: flex;
  flex-direction: column;
  position: relative;
  cursor: pointer;
  transition: background-color 0.25s ease;
}
.detail_card:hover {
  background-color: #f7f4ed;
}
.detail_card .detail_card_thumb_wrap {
  position: relative;
  width: 100%;
  height: 144px;
  overflow: hidden;
  background-color: #eee;
}
.detail_card .detail_card_thumb_wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}
.detail_card:hover .detail_card_thumb_wrap img {
  transform: scale(1.06);
}
.detail_card .detail_card_area {
  position: absolute;
  top: 9px;
  left: 9px;
  background-color: var(--text-dark);
  border: 1px solid #aaa;
  color: var(--white);
  font-size: 1rem;
  font-weight: 700;
  padding: 2px 8px;
  line-height: 1.4;
  z-index: 2;
}
.detail_card .detail_card_body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding-top: 10px;
}
.detail_card .detail_card_tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}
.detail_card .detail_card_tag {
  display: inline-block;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  font-size: 1rem;
  font-weight: 700;
  padding: 3px 8px;
  line-height: 1.2;
  white-space: nowrap;
}
.detail_card .detail_card_title {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-dark);
  margin: 0 0 8px;
}
.detail_card .detail_card_excerpt {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text-dark);
  height: 36px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  margin: 0 0 16px;
}
.detail_card .detail_card_btn_wrap {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
}
.detail_card .detail_card_link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 1.2rem;
  font-weight: 900;
  color: var(--text-dark);
  transition: color 0.2s ease;
}
.detail_card .detail_card_link span {
  font-weight: bold;
}
.detail_card .detail_card_link::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  cursor: pointer;
}
.detail_card .detail_card_link:hover {
  opacity: 1;
}
.detail_card .detail_card_arrow {
  display: inline-block;
  width: 6px;
  height: 6px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.2s ease;
}

.detail_back_wrap {
  max-width: 1000px;
  margin: 40px auto 110px auto;
  border-top: 1px solid #aaa;
  padding-top: 33px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 765px) {
  .detail_back_wrap {
    margin: 30px auto 60px auto;
    padding-top: 24px;
  }
}

.btn_back_list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background-color: var(--white);
  border: 1px solid #31190f;
  color: #333432;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 15px 30px;
  transition: all 0.25s ease;
}
@media screen and (max-width: 765px) {
  .btn_back_list {
    width: 100%;
    max-width: 320px;
    padding: 13px 20px;
    font-size: 1.4rem;
  }
}
.btn_back_list .btn_back_arrow {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}
.btn_back_list:hover {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
  opacity: 1;
}
.btn_back_list:hover .btn_back_arrow {
  transform: translateX(3px) rotate(45deg);
}

.column_lead_wrap {
  max-width: 800px;
  width: 100%;
  margin: 0 auto 40px;
}
@media screen and (max-width: 765px) {
  .column_lead_wrap {
    margin-bottom: 28px;
  }
}
.column_lead_wrap .detail_lead,
.column_lead_wrap .detail_lead p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.87;
  color: var(--text-dark);
  margin: 0;
}
@media screen and (max-width: 765px) {
  .column_lead_wrap .detail_lead,
  .column_lead_wrap .detail_lead p {
    font-size: 1.5rem;
    line-height: 1.7;
  }
}
.column_lead_wrap .detail_lead p + p {
  margin-top: 1em;
}

.page_column_detail .detail_header .detail_title {
  margin-bottom: 0;
}

.detail_column_body {
  max-width: 800px;
  margin: 0 auto 60px;
}
@media screen and (max-width: 765px) {
  .detail_column_body {
    margin-bottom: 40px;
  }
}
.detail_column_body h2,
.detail_column_body .column_h2 {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding: 16px 0;
  margin: 40px 0 24px;
}
.detail_column_body h2:first-child,
.detail_column_body .column_h2:first-child {
  margin-top: 0;
}
@media screen and (max-width: 765px) {
  .detail_column_body h2,
  .detail_column_body .column_h2 {
    font-size: 1.9rem;
    padding: 12px 0;
    letter-spacing: 0.05em;
    margin: 30px 0 18px;
  }
}
.detail_column_body h3 {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-dark);
  margin: 32px 0 16px;
}
@media screen and (max-width: 765px) {
  .detail_column_body h3 {
    font-size: 1.6rem;
    margin: 24px 0 14px;
  }
}
.detail_column_body p,
.detail_column_body .column_text {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.75;
  color: var(--text-dark);
  margin: 0 0 24px;
}
.detail_column_body p:last-child,
.detail_column_body .column_text:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 765px) {
  .detail_column_body p,
  .detail_column_body .column_text {
    font-size: 1.4rem;
    line-height: 1.7;
    margin-bottom: 18px;
  }
}
.detail_column_body img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 24px auto;
}
.detail_column_body .column_section_item {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding-bottom: 40px;
  border-bottom: none;
}
.detail_column_body .column_section_item + .column_section_item {
  padding-top: 0;
}

.column_cta_inline_wrap {
  padding-top: 30px;
}

.column_cta_inline_box {
  background-color: var(--white);
  padding: 30px 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
}
@media screen and (max-width: 765px) {
  .column_cta_inline_box {
    padding: 24px 20px;
    gap: 16px;
  }
}
.column_cta_inline_box .column_cta_inline_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  text-align: center;
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .column_cta_inline_box .column_cta_inline_title {
    font-size: 1.6rem;
  }
}
.column_cta_inline_box .column_cta_inline_lead {
  font-size: 1.4rem;
  color: var(--text-dark);
  margin: 0;
  line-height: 1.65;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .column_cta_inline_box .column_cta_inline_lead {
    font-size: 1.3rem;
    text-align: left;
  }
}
.column_cta_inline_box .column_cta_inline_btns {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 20px;
  width: 100%;
}
@media screen and (max-width: 765px) {
  .column_cta_inline_box .column_cta_inline_btns {
    flex-direction: column;
    gap: 14px;
  }
}
.column_cta_inline_box .column_cta_inline_btns .btn_cta_shibuyan,
.column_cta_inline_box .column_cta_inline_btns .btn_cta_contact {
  flex: 1;
  max-width: 360px;
}
@media screen and (max-width: 765px) {
  .column_cta_inline_box .column_cta_inline_btns .btn_cta_shibuyan,
  .column_cta_inline_box .column_cta_inline_btns .btn_cta_contact {
    max-width: 100%;
  }
  .column_cta_inline_box .column_cta_inline_btns .btn_cta_shibuyan .btn_text,
  .column_cta_inline_box .column_cta_inline_btns .btn_cta_contact .btn_text {
    font-size: 1.4rem;
  }
}
.column_cta_inline_box .column_cta_inline_btns .btn_cta_shibuyan img,
.column_cta_inline_box .column_cta_inline_btns .btn_cta_contact img {
  margin: 0;
}

.detail_related_header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 8px;
  margin-bottom: 24px;
}
@media screen and (max-width: 765px) {
  .detail_related_header {
    margin-bottom: 18px;
  }
}

.info_detail_content_wrap {
  max-width: 800px;
  margin: 40px auto 60px;
  width: 100%;
}
@media screen and (max-width: 765px) {
  .info_detail_content_wrap {
    margin: 28px auto 40px;
  }
}

.post_navigation {
  border-top: 1px solid #aaa;
  padding: 40px 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  margin-top: 40px;
}
@media screen and (max-width: 765px) {
  .post_navigation {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
    padding: 30px 0 0;
    margin-top: 30px;
  }
}
.post_navigation .post_nav_item {
  flex: 1;
  max-width: 480px;
}
@media screen and (max-width: 765px) {
  .post_navigation .post_nav_item {
    max-width: 100%;
  }
}
.post_navigation .post_nav_item--prev {
  text-align: left;
}
.post_navigation .post_nav_item--next {
  text-align: right;
  margin-left: auto;
}
.post_navigation .post_nav_link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 1.6rem;
  font-weight: 400;
  color: var(--text-dark);
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.2s ease;
}
.post_navigation .post_nav_link:hover {
  color: var(--color-green);
  opacity: 1;
}
.post_navigation .post_nav_link:hover .post_nav_arrow {
  border-color: var(--color-green);
}
@media screen and (max-width: 765px) {
  .post_navigation .post_nav_link {
    font-size: 1.4rem;
    width: 100%;
  }
}
.post_navigation .post_nav_link--prev {
  justify-content: flex-start;
}
.post_navigation .post_nav_link--next {
  justify-content: flex-end;
}
.post_navigation .post_nav_title {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  word-break: break-word;
}
.post_navigation .post_nav_arrow {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid currentColor;
  border-right: 1.5px solid currentColor;
  flex-shrink: 0;
  transition: border-color 0.2s ease;
}
.post_navigation .post_nav_arrow--prev {
  transform: rotate(-135deg);
}
.post_navigation .post_nav_arrow--next {
  transform: rotate(45deg);
}

/* ==========================================================================
   導入事例：画像スライドショー & シブヤからのコメント
   ========================================================================== */
/* スライドショー */
.detail_slider_section {
  margin: 56px auto 0;
  max-width: 800px;
  width: 100%;
}
@media (max-width: 768px) {
  .detail_slider_section {
    margin-top: 40px;
  }
}

.detail_slider_wrap {
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  background-color: #f7f4ed;
  /* 前後ナビ矢印 */
  /* ドットインジケーター */
}
.detail_slider_wrap .slick-list {
  border-radius: 4px;
}
.detail_slider_wrap .detail_slider_item {
  outline: none;
}
.detail_slider_wrap .detail_slider_img_wrap {
  width: 100%;
  aspect-ratio: 16/10;
  overflow: hidden;
  background-color: #e9e5dc;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 768px) {
  .detail_slider_wrap .detail_slider_img_wrap {
    aspect-ratio: 4/3;
  }
}
.detail_slider_wrap .detail_slider_img_wrap img,
.detail_slider_wrap .detail_slider_img_wrap .detail_slider_img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.detail_slider_wrap .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  color: #195d2d;
  display: flex !important;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.25s ease;
  padding: 0;
}
.detail_slider_wrap .slick-arrow:hover {
  background: #195d2d;
  color: #fff;
  box-shadow: 0 6px 16px rgba(25, 93, 45, 0.35);
  transform: translateY(-50%) scale(1.06);
}
@media (max-width: 768px) {
  .detail_slider_wrap .slick-arrow {
    width: 36px;
    height: 36px;
  }
}
.detail_slider_wrap .slick-prev {
  left: 16px;
}
@media (max-width: 768px) {
  .detail_slider_wrap .slick-prev {
    left: 8px;
  }
}
.detail_slider_wrap .slick-next {
  right: 16px;
}
@media (max-width: 768px) {
  .detail_slider_wrap .slick-next {
    right: 8px;
  }
}
.detail_slider_wrap .slick-dots {
  position: absolute;
  bottom: 14px;
  left: 0;
  right: 0;
  display: flex !important;
  justify-content: center;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 5;
}
.detail_slider_wrap .slick-dots li {
  margin: 0;
  padding: 0;
}
.detail_slider_wrap .slick-dots li button {
  display: block;
  width: 10px;
  height: 10px;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  text-indent: -9999px;
  cursor: pointer;
  transition: all 0.25s ease;
}
.detail_slider_wrap .slick-dots li button:hover {
  background: rgba(255, 255, 255, 0.95);
}
.detail_slider_wrap .slick-dots li.slick-active button {
  background: #195d2d;
  width: 24px;
  border-radius: 5px;
}

/* シブヤからのコメント（プロフィールカードに揃えた白地×シンプルデザイン） */
.detail_shibuya_comment_section {
  margin: 48px auto 0;
  max-width: 800px;
  width: 100%;
}
@media (max-width: 768px) {
  .detail_shibuya_comment_section {
    margin-top: 36px;
  }
}

.shibuya_comment_card {
  position: relative;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  border-radius: 0;
  padding: 24px 28px;
  box-shadow: none;
}
@media (max-width: 768px) {
  .shibuya_comment_card {
    padding: 20px;
  }
}

.shibuya_comment_header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin-bottom: 14px;
}

.shibuya_comment_title {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
  letter-spacing: 0.02em;
}
@media (max-width: 768px) {
  .shibuya_comment_title {
    font-size: 1.4rem;
  }
}

.shibuya_comment_staff {
  font-size: 1.3rem;
  font-weight: 500;
  color: #666;
  margin-left: auto;
}
@media (max-width: 768px) {
  .shibuya_comment_staff {
    font-size: 1.2rem;
  }
}

.shibuya_comment_body {
  font-size: 1.4rem;
  line-height: 1.85;
  color: var(--text-dark);
}
.shibuya_comment_body p {
  margin: 0 0 1em;
}
.shibuya_comment_body p:last-child {
  margin-bottom: 0;
}
@media (max-width: 768px) {
  .shibuya_comment_body {
    font-size: 1.35rem;
    line-height: 1.75;
  }
}

.page_casestudy_archive {
  background-color: var(--bg-base);
  min-height: 100vh;
  padding-bottom: 100px;
}
.page_casestudy_archive .wrap_primary {
  padding-top: 40px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .wrap_primary {
    padding-top: 30px;
  }
}
.page_casestudy_archive .casestudy_filter {
  background-color: var(--white);
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 40px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter {
    border-radius: 12px;
    margin-bottom: 30px;
  }
}
.page_casestudy_archive .casestudy_filter_head {
  background-color: #f1f0ef;
  padding: 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter_head {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
  }
}
.page_casestudy_archive .casestudy_filter_title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0;
}
.page_casestudy_archive .casestudy_filter_title span {
  font-weight: inherit;
}
.page_casestudy_archive .casestudy_filter_title .filter_icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter_title {
    font-size: 1.3rem;
    width: 100%;
  }
}
.page_casestudy_archive .casestudy_filter_reset {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  border: 1px solid #aaa;
  color: #4e4d4f;
  font-size: 1.2rem;
  font-weight: 700;
  width: 130px;
  height: 26px;
  box-sizing: border-box;
  text-decoration: none;
  line-height: 1;
  white-space: nowrap;
  transition: all 0.2s ease;
}
.page_casestudy_archive .casestudy_filter_reset:hover {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter_reset {
    align-self: flex-end;
  }
}
.page_casestudy_archive .casestudy_filter_body {
  padding: 16px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter_body {
    padding: 16px;
    gap: 12px;
  }
}
.page_casestudy_archive .casestudy_filter_row {
  display: flex;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter_row {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
  }
}
.page_casestudy_archive .casestudy_filter_label {
  width: 96px;
  flex-shrink: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 16px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_filter_label {
    width: auto;
  }
}
.page_casestudy_archive .casestudy_filter_tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  flex-grow: 1;
}
.page_casestudy_archive .filter_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 26px;
  box-sizing: border-box;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 16px;
  padding: 0 13px;
  white-space: nowrap;
  text-decoration: none;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  transition: all 0.2s ease;
}
.page_casestudy_archive .filter_btn:hover {
  background-color: #f7f4ed;
}
.page_casestudy_archive .filter_btn.is-active {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
  pointer-events: default;
}
.page_casestudy_archive .filter_btn--all {
  padding: 0 12px;
  border: none;
}
.page_casestudy_archive .filter_btn--all:not(.is-active) {
  border: 1px solid var(--text-dark);
}
.page_casestudy_archive .casestudy_empty {
  background-color: var(--white);
  border: 1px solid #ddd;
  padding: 60px 20px;
  text-align: center;
  margin-bottom: 60px;
}
.page_casestudy_archive .casestudy_empty p {
  font-size: 1.6rem;
  color: var(--text-dark);
  margin: 0 0 20px;
}
.page_casestudy_archive .casestudy_empty .btn_reset_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--text-dark);
  color: var(--white);
  padding: 10px 24px;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.page_casestudy_archive .casestudy_empty .btn_reset_link:hover {
  opacity: 0.85;
}
.page_casestudy_archive .casestudy_pagination {
  margin-top: 40px;
}
.page_casestudy_archive .casestudy_pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_pagination .nav-links {
    gap: 8px;
  }
}
.page_casestudy_archive .casestudy_pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  transition: all 0.2s ease;
}
@media screen and (max-width: 765px) {
  .page_casestudy_archive .casestudy_pagination .page-numbers {
    width: 42px;
    height: 42px;
    font-size: 1.4rem;
  }
}
.page_casestudy_archive .casestudy_pagination .page-numbers:hover {
  background-color: #f7f4ed;
}
.page_casestudy_archive .casestudy_pagination .page-numbers.current {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
}
.page_casestudy_archive .casestudy_pagination .page-numbers.dots {
  border: none;
  background: transparent;
  width: auto;
  padding: 0 4px;
  color: var(--text-dark);
  cursor: default;
}
.page_casestudy_archive .casestudy_pagination .page-numbers.prev, .page_casestudy_archive .casestudy_pagination .page-numbers.next {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
  position: relative;
}
.page_casestudy_archive .casestudy_pagination .page-numbers.prev:hover, .page_casestudy_archive .casestudy_pagination .page-numbers.next:hover {
  background-color: #4a2718;
}
.page_casestudy_archive .casestudy_pagination .page-numbers.prev::before, .page_casestudy_archive .casestudy_pagination .page-numbers.next::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--white);
  border-right: 1.5px solid var(--white);
}
.page_casestudy_archive .casestudy_pagination .page-numbers.prev::before {
  transform: rotate(-135deg);
  margin-left: 2px;
}
.page_casestudy_archive .casestudy_pagination .page-numbers.next::before {
  transform: rotate(45deg);
  margin-right: 2px;
}

.page_column_archive {
  background-color: var(--bg-base);
  min-height: 100vh;
  padding-bottom: 100px;
}
.page_column_archive .wrap_primary {
  padding-top: 40px;
}
@media screen and (max-width: 765px) {
  .page_column_archive .wrap_primary {
    padding-top: 30px;
  }
}
.page_column_archive .column_filter {
  border-bottom: 1px solid #aaa;
  padding-bottom: 17px;
  margin-bottom: 40px;
}
@media screen and (max-width: 765px) {
  .page_column_archive .column_filter {
    padding-bottom: 14px;
    margin-bottom: 30px;
  }
}
.page_column_archive .column_filter_tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 765px) {
  .page_column_archive .column_filter_tabs {
    gap: 6px;
  }
}
.page_column_archive .column_filter_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 9.5px 17px 10px;
  box-sizing: border-box;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.page_column_archive .column_filter_btn:hover {
  background-color: #f7f4ed;
  opacity: 1;
}
.page_column_archive .column_filter_btn.is-active {
  background-color: var(--text-dark);
  border: 2px solid var(--text-dark);
  color: var(--white);
  padding: 8.5px 16px 9px;
  pointer-events: default;
}
.page_column_archive .column_filter_btn.is-active:hover {
  background-color: var(--text-dark);
  color: var(--white);
  opacity: 1;
}
@media screen and (max-width: 765px) {
  .page_column_archive .column_filter_btn {
    font-size: 1.1rem;
    padding: 7.5px 12px 8px;
  }
  .page_column_archive .column_filter_btn.is-active {
    padding: 6.5px 11px 7px;
  }
}
.page_column_archive .column_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px 40px;
}
@media screen and (max-width: 900px) {
  .page_column_archive .column_grid {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.page_column_archive .column_pagination {
  margin-top: 40px;
}
.page_column_archive .column_pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 765px) {
  .page_column_archive .column_pagination .nav-links {
    gap: 8px;
  }
}
.page_column_archive .column_pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  transition: all 0.2s ease;
}
@media screen and (max-width: 765px) {
  .page_column_archive .column_pagination .page-numbers {
    width: 42px;
    height: 42px;
    font-size: 1.4rem;
  }
}
.page_column_archive .column_pagination .page-numbers:hover {
  background-color: #f7f4ed;
  opacity: 1;
}
.page_column_archive .column_pagination .page-numbers.current {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
}
.page_column_archive .column_pagination .page-numbers.dots {
  border: none;
  background: transparent;
  width: auto;
  padding: 0 4px;
  color: var(--text-dark);
  cursor: default;
}
.page_column_archive .column_pagination .page-numbers.prev, .page_column_archive .column_pagination .page-numbers.next {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
  position: relative;
}
.page_column_archive .column_pagination .page-numbers.prev:hover, .page_column_archive .column_pagination .page-numbers.next:hover {
  background-color: #4a2718;
  opacity: 1;
}
.page_column_archive .column_pagination .page-numbers.prev::before, .page_column_archive .column_pagination .page-numbers.next::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--white);
  border-right: 1.5px solid var(--white);
}
.page_column_archive .column_pagination .page-numbers.prev::before {
  transform: rotate(-135deg);
  margin-left: 2px;
}
.page_column_archive .column_pagination .page-numbers.next::before {
  transform: rotate(45deg);
  margin-right: 2px;
}
.page_column_archive .column_empty {
  background-color: var(--white);
  border: 1px solid #ddd;
  padding: 60px 20px;
  text-align: center;
  margin-bottom: 60px;
}
.page_column_archive .column_empty p {
  font-size: 1.6rem;
  color: var(--text-dark);
  margin: 0 0 20px;
}
.page_column_archive .column_empty .btn_reset_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--text-dark);
  color: var(--white);
  padding: 10px 24px;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.page_column_archive .column_empty .btn_reset_link:hover {
  opacity: 0.85;
}

.page_info_archive {
  background-color: var(--bg-base);
  min-height: 100vh;
  padding-bottom: 100px;
}
.page_info_archive .wrap_primary {
  padding-top: 40px;
}
@media screen and (max-width: 765px) {
  .page_info_archive .wrap_primary {
    padding-top: 30px;
  }
}
.page_info_archive .info_filter {
  border-bottom: 1px solid #aaa;
  padding-bottom: 17px;
  margin-bottom: 40px;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_filter {
    padding-bottom: 14px;
    margin-bottom: 30px;
  }
}
.page_info_archive .info_filter_tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_filter_tabs {
    gap: 6px;
  }
}
.page_info_archive .info_filter_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  font-size: 1.1rem;
  font-weight: 700;
  line-height: 1.5;
  padding: 9.5px 17px 10px;
  box-sizing: border-box;
  white-space: nowrap;
  text-decoration: none;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
.page_info_archive .info_filter_btn:hover {
  background-color: #f7f4ed;
  opacity: 1;
}
.page_info_archive .info_filter_btn.is-active {
  background-color: var(--text-dark);
  border: 2px solid var(--text-dark);
  color: var(--white);
  padding: 8.5px 16px 9px;
  pointer-events: default;
}
.page_info_archive .info_filter_btn.is-active:hover {
  background-color: var(--text-dark);
  color: var(--white);
  opacity: 1;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_filter_btn {
    font-size: 1.1rem;
    padding: 7.5px 12px 8px;
  }
  .page_info_archive .info_filter_btn.is-active {
    padding: 6.5px 11px 7px;
  }
}
.page_info_archive .info_list {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-bottom: 40px;
  background-color: transparent;
}
.page_info_archive .info_item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px 16px 17px;
  border-bottom: 1px solid #aaa;
  text-decoration: none;
  transition: background-color 0.2s ease;
  box-sizing: border-box;
  width: 100%;
}
.page_info_archive .info_item:hover {
  background-color: #f7f4ed;
  opacity: 1;
}
.page_info_archive .info_item:hover .info_item_title {
  color: var(--color-green);
}
.page_info_archive .info_item:hover .info_item_arrow {
  transform: translateX(3px) rotate(45deg);
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_item {
    flex-wrap: wrap;
    gap: 8px 12px;
    padding: 14px 12px;
  }
}
.page_info_archive .info_item_meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_item_meta {
    width: 100%;
  }
}
.page_info_archive .info_item_date {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.2rem;
  color: #4e4d4f;
  line-height: 1;
  white-space: nowrap;
}
.page_info_archive .info_item_tags {
  display: flex;
  align-items: center;
  gap: 6px;
}
.page_info_archive .info_item_tag {
  display: inline-flex;
  align-items: center;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  font-size: 1rem;
  font-weight: 700;
  padding: 2px 8px;
  line-height: 1.5;
  white-space: nowrap;
}
.page_info_archive .info_item_title {
  flex: 1;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  line-height: 1.45;
  margin: 0;
  transition: color 0.2s ease;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_item_title {
    width: calc(100% - 24px);
    flex: none;
    font-size: 1.35rem;
  }
}
.page_info_archive .info_item_arrow {
  flex-shrink: 0;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--text-dark);
  border-right: 1.5px solid var(--text-dark);
  transform: rotate(45deg);
  transition: transform 0.2s ease;
  margin-left: auto;
}
.page_info_archive .info_pagination {
  margin-top: 40px;
}
.page_info_archive .info_pagination .nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_pagination .nav-links {
    gap: 8px;
  }
}
.page_info_archive .info_pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  text-decoration: none;
  background-color: var(--white);
  border: 1px solid var(--text-dark);
  color: var(--text-dark);
  transition: all 0.2s ease;
}
@media screen and (max-width: 765px) {
  .page_info_archive .info_pagination .page-numbers {
    width: 42px;
    height: 42px;
    font-size: 1.4rem;
  }
}
.page_info_archive .info_pagination .page-numbers:hover {
  background-color: #f7f4ed;
  opacity: 1;
}
.page_info_archive .info_pagination .page-numbers.current {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
}
.page_info_archive .info_pagination .page-numbers.dots {
  border: none;
  background: transparent;
  width: auto;
  padding: 0 4px;
  color: var(--text-dark);
  cursor: default;
}
.page_info_archive .info_pagination .page-numbers.prev, .page_info_archive .info_pagination .page-numbers.next {
  background-color: var(--text-dark);
  border-color: var(--text-dark);
  color: var(--white);
  position: relative;
}
.page_info_archive .info_pagination .page-numbers.prev:hover, .page_info_archive .info_pagination .page-numbers.next:hover {
  background-color: #4a2718;
  opacity: 1;
}
.page_info_archive .info_pagination .page-numbers.prev::before, .page_info_archive .info_pagination .page-numbers.next::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  border-top: 1.5px solid var(--white);
  border-right: 1.5px solid var(--white);
}
.page_info_archive .info_pagination .page-numbers.prev::before {
  transform: rotate(-135deg);
  margin-left: 2px;
}
.page_info_archive .info_pagination .page-numbers.next::before {
  transform: rotate(45deg);
  margin-right: 2px;
}
.page_info_archive .info_empty {
  background-color: var(--white);
  border: 1px solid #ddd;
  padding: 60px 20px;
  text-align: center;
  margin-bottom: 60px;
}
.page_info_archive .info_empty p {
  font-size: 1.6rem;
  color: var(--text-dark);
  margin: 0 0 20px;
}
.page_info_archive .info_empty .btn_reset_link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: var(--text-dark);
  color: var(--white);
  padding: 10px 24px;
  font-size: 1.4rem;
  font-weight: 700;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.page_info_archive .info_empty .btn_reset_link:hover {
  opacity: 0.85;
}

.footer {
  background-color: var(--white);
  padding-top: 64px;
  position: relative;
}
@media screen and (max-width: 765px) {
  .footer {
    padding-top: 40px;
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px));
  }
}
.footer .footer_inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px 48px;
}
@media screen and (max-width: 765px) {
  .footer .footer_inner {
    padding-bottom: 32px;
  }
}
.footer .footer_grid {
  display: grid;
  grid-template-columns: 280px 1fr 240px;
  gap: 32px;
  align-items: start;
}
@media screen and (max-width: 960px) {
  .footer .footer_grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }
}
@media screen and (max-width: 765px) {
  .footer .footer_grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}
.footer .footer_company_col {
  padding-right: 20px;
}
@media screen and (max-width: 960px) {
  .footer .footer_company_col {
    padding-right: 0;
  }
}
.footer .footer_company_col .footer_logo {
  margin-bottom: 12px;
}
.footer .footer_company_col .footer_logo img {
  height: 38px;
  width: auto;
  object-fit: contain;
}
@media screen and (max-width: 765px) {
  .footer .footer_company_col .footer_logo img {
    height: 32px;
  }
}
.footer .footer_company_col .company_tag {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--text-dark);
  margin: 0 0 10px;
}
.footer .footer_company_col .company_address {
  font-size: 1.4rem;
  color: var(--black);
  line-height: 1.6;
}
.footer .footer_company_col .company_address p {
  margin: 0;
}
.footer .footer_nav_col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
}
@media screen and (max-width: 765px) {
  .footer .footer_nav_col {
    display: flex;
    flex-direction: column;
    gap: 12px;
  }
}
.footer .footer_nav_col .footer_nav_list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.footer .footer_nav_col .footer_nav_list li a {
  font-size: 1.4rem;
  color: #374151;
  transition: color 0.25s ease;
}
.footer .footer_nav_col .footer_nav_list li a:hover {
  color: var(--color-green);
}
.footer .footer_contact_card {
  background-color: var(--white);
  border: 1px solid #9ca3af;
  border-radius: 4px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
@media screen and (max-width: 765px) {
  .footer .footer_contact_card {
    padding: 20px 16px;
  }
}
.footer .footer_contact_card .card_title {
  font-size: 1.6rem;
  font-weight: 700;
  color: #333333;
  margin: 0;
}
.footer .footer_contact_card .card_desc {
  font-size: 1.2rem;
  color: #4b5563;
  line-height: 1.4;
  margin: 0;
}
.footer .footer_contact_card .card_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  background-color: var(--color-red);
  color: var(--white);
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 2px;
  text-align: center;
  transition: background-color 0.25s ease;
}
.footer .footer_contact_card .card_btn:hover {
  background-color: var(--color-red-hover);
  opacity: 1;
}
.footer .copyright_bar {
  background-color: var(--text-dark);
  padding: 20px 0;
  text-align: center;
}
.footer .copyright_bar .copyright_inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.footer .copyright_bar .copyright_inner p {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--white);
  letter-spacing: 0.05em;
}
.footer .btn_to_top {
  position: fixed;
  right: 24px;
  bottom: 30px;
  width: 44px;
  height: 44px;
  background-color: var(--text-dark);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
  z-index: 99;
  opacity: 0.85;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.footer .btn_to_top::after {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid var(--white);
  border-left: 2px solid var(--white);
  transform: translateY(2px) rotate(45deg);
}
.footer .btn_to_top:hover {
  opacity: 1;
  transform: translateY(-3px);
}
@media screen and (max-width: 765px) {
  .footer .btn_to_top {
    right: 16px;
    bottom: calc(76px + env(safe-area-inset-bottom, 0px));
    width: 40px;
    height: 40px;
  }
}
.footer .sp_fixed_bottom_bar {
  display: none;
}
@media screen and (max-width: 765px) {
  .footer .sp_fixed_bottom_bar {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: var(--white);
    padding: 10px 16px;
    padding-bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -3px 10px rgba(0, 0, 0, 0.08);
    z-index: 999;
  }
  .footer .sp_fixed_bottom_bar .fixed_bar_inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    max-width: 420px;
    margin: 0 auto;
  }
  .footer .sp_fixed_bottom_bar .fixed_bar_inner .btn_web_order,
  .footer .sp_fixed_bottom_bar .fixed_bar_inner .btn_contact {
    flex: 1;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    font-size: 1.4rem;
    font-weight: 500;
    border-radius: 2px;
    text-align: center;
    white-space: nowrap;
    text-decoration: none;
  }
  .footer .sp_fixed_bottom_bar .fixed_bar_inner .btn_web_order {
    background-color: var(--color-green);
  }
  .footer .sp_fixed_bottom_bar .fixed_bar_inner .btn_web_order:hover {
    background-color: var(--color-green-hover);
    opacity: 1;
  }
  .footer .sp_fixed_bottom_bar .fixed_bar_inner .btn_contact {
    background-color: var(--color-red);
  }
  .footer .sp_fixed_bottom_bar .fixed_bar_inner .btn_contact:hover {
    background-color: var(--color-red-hover);
    opacity: 1;
  }
}

.entry_content,
.entry_body,
.post_content,
.detail_column_body,
.editor-styles-wrapper {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  color: var(--text-dark);
  word-break: break-word;
}
@media screen and (max-width: 765px) {
  .entry_content,
  .entry_body,
  .post_content,
  .detail_column_body,
  .editor-styles-wrapper {
    font-size: 1.45rem;
    line-height: 1.75;
  }
}
.entry_content .has-text-align-center,
.entry_body .has-text-align-center,
.post_content .has-text-align-center,
.detail_column_body .has-text-align-center,
.editor-styles-wrapper .has-text-align-center {
  text-align: center;
}
.entry_content .has-text-align-right,
.entry_body .has-text-align-right,
.post_content .has-text-align-right,
.detail_column_body .has-text-align-right,
.editor-styles-wrapper .has-text-align-right {
  text-align: right;
}
.entry_content .has-text-align-left,
.entry_body .has-text-align-left,
.post_content .has-text-align-left,
.detail_column_body .has-text-align-left,
.editor-styles-wrapper .has-text-align-left {
  text-align: left;
}
.entry_content p,
.entry_body p,
.post_content p,
.detail_column_body p,
.editor-styles-wrapper p {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.8;
  color: var(--text-dark);
  margin: 0 0 24px;
}
.entry_content p:last-child,
.entry_body p:last-child,
.post_content p:last-child,
.detail_column_body p:last-child,
.editor-styles-wrapper p:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 765px) {
  .entry_content p,
  .entry_body p,
  .post_content p,
  .detail_column_body p,
  .editor-styles-wrapper p {
    font-size: 1.45rem;
    line-height: 1.75;
    margin-bottom: 20px;
  }
}
.entry_content h2,
.entry_content .column_h2,
.entry_body h2,
.entry_body .column_h2,
.post_content h2,
.post_content .column_h2,
.detail_column_body h2,
.detail_column_body .column_h2,
.editor-styles-wrapper h2,
.editor-styles-wrapper .column_h2 {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--text-dark);
  border-bottom: 1px solid var(--text-dark);
  padding: 16px 0;
  margin: 48px 0 24px;
}
.entry_content h2:first-child,
.entry_content .column_h2:first-child,
.entry_body h2:first-child,
.entry_body .column_h2:first-child,
.post_content h2:first-child,
.post_content .column_h2:first-child,
.detail_column_body h2:first-child,
.detail_column_body .column_h2:first-child,
.editor-styles-wrapper h2:first-child,
.editor-styles-wrapper .column_h2:first-child {
  margin-top: 0;
}
@media screen and (max-width: 765px) {
  .entry_content h2,
  .entry_content .column_h2,
  .entry_body h2,
  .entry_body .column_h2,
  .post_content h2,
  .post_content .column_h2,
  .detail_column_body h2,
  .detail_column_body .column_h2,
  .editor-styles-wrapper h2,
  .editor-styles-wrapper .column_h2 {
    font-size: 1.9rem;
    padding: 12px 0;
    letter-spacing: 0.05em;
    margin: 36px 0 20px;
  }
}
.entry_content h3,
.entry_body h3,
.post_content h3,
.detail_column_body h3,
.editor-styles-wrapper h3 {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 1.9rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--text-dark);
  position: relative;
  padding-left: 14px;
  margin: 40px 0 20px;
}
.entry_content h3::before,
.entry_body h3::before,
.post_content h3::before,
.detail_column_body h3::before,
.editor-styles-wrapper h3::before {
  content: "";
  position: absolute;
  top: 0.2em;
  bottom: 0.2em;
  left: 0;
  width: 4px;
  background-color: var(--color-green);
  border-radius: 2px;
}
@media screen and (max-width: 765px) {
  .entry_content h3,
  .entry_body h3,
  .post_content h3,
  .detail_column_body h3,
  .editor-styles-wrapper h3 {
    font-size: 1.7rem;
    padding-left: 12px;
    margin: 32px 0 16px;
  }
}
.entry_content h4,
.entry_body h4,
.post_content h4,
.detail_column_body h4,
.editor-styles-wrapper h4 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-dark);
  margin: 32px 0 16px;
}
@media screen and (max-width: 765px) {
  .entry_content h4,
  .entry_body h4,
  .post_content h4,
  .detail_column_body h4,
  .editor-styles-wrapper h4 {
    font-size: 1.55rem;
    margin: 24px 0 14px;
  }
}
.entry_content h5,
.entry_content h6,
.entry_body h5,
.entry_body h6,
.post_content h5,
.post_content h6,
.detail_column_body h5,
.detail_column_body h6,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.5;
  color: var(--text-dark);
  margin: 24px 0 12px;
}
.entry_content strong,
.entry_content b,
.entry_body strong,
.entry_body b,
.post_content strong,
.post_content b,
.detail_column_body strong,
.detail_column_body b,
.editor-styles-wrapper strong,
.editor-styles-wrapper b {
  font-weight: 700;
  color: var(--text-dark);
}
.entry_content em,
.entry_content i,
.entry_body em,
.entry_body i,
.post_content em,
.post_content i,
.detail_column_body em,
.detail_column_body i,
.editor-styles-wrapper em,
.editor-styles-wrapper i {
  font-style: italic;
}
.entry_content mark,
.entry_body mark,
.post_content mark,
.detail_column_body mark,
.editor-styles-wrapper mark {
  background-color: #fff2c5;
  color: var(--text-dark);
  padding: 1px 4px;
  border-radius: 2px;
}
.entry_content small,
.entry_body small,
.post_content small,
.detail_column_body small,
.editor-styles-wrapper small {
  font-size: 0.875em;
  color: var(--text-muted);
}
.entry_content a:not([class]),
.entry_body a:not([class]),
.post_content a:not([class]),
.detail_column_body a:not([class]),
.editor-styles-wrapper a:not([class]) {
  color: var(--color-green);
  text-decoration: underline;
  text-underline-offset: 3px;
  transition: color 0.2s ease, opacity 0.2s ease;
}
.entry_content a:not([class]):hover,
.entry_body a:not([class]):hover,
.post_content a:not([class]):hover,
.detail_column_body a:not([class]):hover,
.editor-styles-wrapper a:not([class]):hover {
  color: var(--color-green-hover);
  opacity: 0.85;
}
.entry_content ul:not([class]),
.entry_content ol:not([class]),
.entry_content .wp-block-list,
.entry_body ul:not([class]),
.entry_body ol:not([class]),
.entry_body .wp-block-list,
.post_content ul:not([class]),
.post_content ol:not([class]),
.post_content .wp-block-list,
.detail_column_body ul:not([class]),
.detail_column_body ol:not([class]),
.detail_column_body .wp-block-list,
.editor-styles-wrapper ul:not([class]),
.editor-styles-wrapper ol:not([class]),
.editor-styles-wrapper .wp-block-list {
  margin: 0 0 24px;
  padding-left: 24px;
}
.entry_content ul:not([class]) li,
.entry_content ol:not([class]) li,
.entry_content .wp-block-list li,
.entry_body ul:not([class]) li,
.entry_body ol:not([class]) li,
.entry_body .wp-block-list li,
.post_content ul:not([class]) li,
.post_content ol:not([class]) li,
.post_content .wp-block-list li,
.detail_column_body ul:not([class]) li,
.detail_column_body ol:not([class]) li,
.detail_column_body .wp-block-list li,
.editor-styles-wrapper ul:not([class]) li,
.editor-styles-wrapper ol:not([class]) li,
.editor-styles-wrapper .wp-block-list li {
  margin-bottom: 8px;
  line-height: 1.7;
}
.entry_content ul:not([class]) li:last-child,
.entry_content ol:not([class]) li:last-child,
.entry_content .wp-block-list li:last-child,
.entry_body ul:not([class]) li:last-child,
.entry_body ol:not([class]) li:last-child,
.entry_body .wp-block-list li:last-child,
.post_content ul:not([class]) li:last-child,
.post_content ol:not([class]) li:last-child,
.post_content .wp-block-list li:last-child,
.detail_column_body ul:not([class]) li:last-child,
.detail_column_body ol:not([class]) li:last-child,
.detail_column_body .wp-block-list li:last-child,
.editor-styles-wrapper ul:not([class]) li:last-child,
.editor-styles-wrapper ol:not([class]) li:last-child,
.editor-styles-wrapper .wp-block-list li:last-child {
  margin-bottom: 0;
}
.entry_content ul:not([class]) li ul, .entry_content ul:not([class]) li ol,
.entry_content ol:not([class]) li ul,
.entry_content ol:not([class]) li ol,
.entry_content .wp-block-list li ul,
.entry_content .wp-block-list li ol,
.entry_body ul:not([class]) li ul,
.entry_body ul:not([class]) li ol,
.entry_body ol:not([class]) li ul,
.entry_body ol:not([class]) li ol,
.entry_body .wp-block-list li ul,
.entry_body .wp-block-list li ol,
.post_content ul:not([class]) li ul,
.post_content ul:not([class]) li ol,
.post_content ol:not([class]) li ul,
.post_content ol:not([class]) li ol,
.post_content .wp-block-list li ul,
.post_content .wp-block-list li ol,
.detail_column_body ul:not([class]) li ul,
.detail_column_body ul:not([class]) li ol,
.detail_column_body ol:not([class]) li ul,
.detail_column_body ol:not([class]) li ol,
.detail_column_body .wp-block-list li ul,
.detail_column_body .wp-block-list li ol,
.editor-styles-wrapper ul:not([class]) li ul,
.editor-styles-wrapper ul:not([class]) li ol,
.editor-styles-wrapper ol:not([class]) li ul,
.editor-styles-wrapper ol:not([class]) li ol,
.editor-styles-wrapper .wp-block-list li ul,
.editor-styles-wrapper .wp-block-list li ol {
  margin: 8px 0 8px 16px;
}
.entry_content ul:not([class]),
.entry_content ul.wp-block-list,
.entry_body ul:not([class]),
.entry_body ul.wp-block-list,
.post_content ul:not([class]),
.post_content ul.wp-block-list,
.detail_column_body ul:not([class]),
.detail_column_body ul.wp-block-list,
.editor-styles-wrapper ul:not([class]),
.editor-styles-wrapper ul.wp-block-list {
  list-style: disc;
}
.entry_content ul:not([class]) ul,
.entry_content ul.wp-block-list ul,
.entry_body ul:not([class]) ul,
.entry_body ul.wp-block-list ul,
.post_content ul:not([class]) ul,
.post_content ul.wp-block-list ul,
.detail_column_body ul:not([class]) ul,
.detail_column_body ul.wp-block-list ul,
.editor-styles-wrapper ul:not([class]) ul,
.editor-styles-wrapper ul.wp-block-list ul {
  list-style: circle;
}
.entry_content ol:not([class]),
.entry_content ol.wp-block-list,
.entry_body ol:not([class]),
.entry_body ol.wp-block-list,
.post_content ol:not([class]),
.post_content ol.wp-block-list,
.detail_column_body ol:not([class]),
.detail_column_body ol.wp-block-list,
.editor-styles-wrapper ol:not([class]),
.editor-styles-wrapper ol.wp-block-list {
  list-style: decimal;
}
.entry_content ol:not([class]) ol,
.entry_content ol.wp-block-list ol,
.entry_body ol:not([class]) ol,
.entry_body ol.wp-block-list ol,
.post_content ol:not([class]) ol,
.post_content ol.wp-block-list ol,
.detail_column_body ol:not([class]) ol,
.detail_column_body ol.wp-block-list ol,
.editor-styles-wrapper ol:not([class]) ol,
.editor-styles-wrapper ol.wp-block-list ol {
  list-style: lower-latin;
}
.entry_content blockquote,
.entry_content .wp-block-quote,
.entry_body blockquote,
.entry_body .wp-block-quote,
.post_content blockquote,
.post_content .wp-block-quote,
.detail_column_body blockquote,
.detail_column_body .wp-block-quote,
.editor-styles-wrapper blockquote,
.editor-styles-wrapper .wp-block-quote {
  position: relative;
  margin: 32px 0;
  padding: 20px 24px 20px 28px;
  background-color: #f8f6f1;
  border-left: 4px solid var(--color-green);
  border-radius: 0 4px 4px 0;
  box-sizing: border-box;
}
.entry_content blockquote p,
.entry_content .wp-block-quote p,
.entry_body blockquote p,
.entry_body .wp-block-quote p,
.post_content blockquote p,
.post_content .wp-block-quote p,
.detail_column_body blockquote p,
.detail_column_body .wp-block-quote p,
.editor-styles-wrapper blockquote p,
.editor-styles-wrapper .wp-block-quote p {
  font-size: 1.55rem;
  line-height: 1.75;
  color: #4e4d4f;
  margin-bottom: 12px;
}
.entry_content blockquote p:last-of-type,
.entry_content .wp-block-quote p:last-of-type,
.entry_body blockquote p:last-of-type,
.entry_body .wp-block-quote p:last-of-type,
.post_content blockquote p:last-of-type,
.post_content .wp-block-quote p:last-of-type,
.detail_column_body blockquote p:last-of-type,
.detail_column_body .wp-block-quote p:last-of-type,
.editor-styles-wrapper blockquote p:last-of-type,
.editor-styles-wrapper .wp-block-quote p:last-of-type {
  margin-bottom: 0;
}
@media screen and (max-width: 765px) {
  .entry_content blockquote p,
  .entry_content .wp-block-quote p,
  .entry_body blockquote p,
  .entry_body .wp-block-quote p,
  .post_content blockquote p,
  .post_content .wp-block-quote p,
  .detail_column_body blockquote p,
  .detail_column_body .wp-block-quote p,
  .editor-styles-wrapper blockquote p,
  .editor-styles-wrapper .wp-block-quote p {
    font-size: 1.4rem;
  }
}
.entry_content blockquote cite,
.entry_content .wp-block-quote cite,
.entry_body blockquote cite,
.entry_body .wp-block-quote cite,
.post_content blockquote cite,
.post_content .wp-block-quote cite,
.detail_column_body blockquote cite,
.detail_column_body .wp-block-quote cite,
.editor-styles-wrapper blockquote cite,
.editor-styles-wrapper .wp-block-quote cite {
  display: block;
  font-size: 1.3rem;
  font-style: normal;
  color: var(--text-muted);
  margin-top: 12px;
  text-align: right;
}
.entry_content blockquote cite::before,
.entry_content .wp-block-quote cite::before,
.entry_body blockquote cite::before,
.entry_body .wp-block-quote cite::before,
.post_content blockquote cite::before,
.post_content .wp-block-quote cite::before,
.detail_column_body blockquote cite::before,
.detail_column_body .wp-block-quote cite::before,
.editor-styles-wrapper blockquote cite::before,
.editor-styles-wrapper .wp-block-quote cite::before {
  content: "— ";
}
@media screen and (max-width: 765px) {
  .entry_content blockquote,
  .entry_content .wp-block-quote,
  .entry_body blockquote,
  .entry_body .wp-block-quote,
  .post_content blockquote,
  .post_content .wp-block-quote,
  .detail_column_body blockquote,
  .detail_column_body .wp-block-quote,
  .editor-styles-wrapper blockquote,
  .editor-styles-wrapper .wp-block-quote {
    padding: 16px 18px 16px 20px;
    margin: 24px 0;
  }
}
.entry_content .wp-block-table,
.entry_body .wp-block-table,
.post_content .wp-block-table,
.detail_column_body .wp-block-table,
.editor-styles-wrapper .wp-block-table {
  width: 100%;
  margin: 32px 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.entry_content .wp-block-table table,
.entry_body .wp-block-table table,
.post_content .wp-block-table table,
.detail_column_body .wp-block-table table,
.editor-styles-wrapper .wp-block-table table {
  margin: 0;
}
.entry_content table,
.entry_body table,
.post_content table,
.detail_column_body table,
.editor-styles-wrapper table {
  width: 100%;
  border-collapse: collapse;
  margin: 32px 0;
  font-size: 1.5rem;
  line-height: 1.6;
}
@media screen and (max-width: 765px) {
  .entry_content table,
  .entry_body table,
  .post_content table,
  .detail_column_body table,
  .editor-styles-wrapper table {
    font-size: 1.35rem;
  }
}
.entry_content table th,
.entry_content table td,
.entry_body table th,
.entry_body table td,
.post_content table th,
.post_content table td,
.detail_column_body table th,
.detail_column_body table td,
.editor-styles-wrapper table th,
.editor-styles-wrapper table td {
  padding: 14px 18px;
  border: 1px solid var(--border-color);
  text-align: left;
  vertical-align: middle;
}
@media screen and (max-width: 765px) {
  .entry_content table th,
  .entry_content table td,
  .entry_body table th,
  .entry_body table td,
  .post_content table th,
  .post_content table td,
  .detail_column_body table th,
  .detail_column_body table td,
  .editor-styles-wrapper table th,
  .editor-styles-wrapper table td {
    padding: 10px 12px;
  }
}
.entry_content table th,
.entry_body table th,
.post_content table th,
.detail_column_body table th,
.editor-styles-wrapper table th {
  background-color: #f1ede4;
  font-weight: 700;
  color: var(--text-dark);
  white-space: nowrap;
}
.entry_content table td,
.entry_body table td,
.post_content table td,
.detail_column_body table td,
.editor-styles-wrapper table td {
  background-color: var(--white);
  color: var(--text-dark);
}
.entry_content table.is-style-stripes tbody tr:nth-child(odd) td,
.entry_body table.is-style-stripes tbody tr:nth-child(odd) td,
.post_content table.is-style-stripes tbody tr:nth-child(odd) td,
.detail_column_body table.is-style-stripes tbody tr:nth-child(odd) td,
.editor-styles-wrapper table.is-style-stripes tbody tr:nth-child(odd) td {
  background-color: #faf9f6;
}
.entry_content figure,
.entry_content .wp-block-image,
.entry_body figure,
.entry_body .wp-block-image,
.post_content figure,
.post_content .wp-block-image,
.detail_column_body figure,
.detail_column_body .wp-block-image,
.editor-styles-wrapper figure,
.editor-styles-wrapper .wp-block-image {
  margin: 32px 0;
}
.entry_content figure img,
.entry_content .wp-block-image img,
.entry_body figure img,
.entry_body .wp-block-image img,
.post_content figure img,
.post_content .wp-block-image img,
.detail_column_body figure img,
.detail_column_body .wp-block-image img,
.editor-styles-wrapper figure img,
.editor-styles-wrapper .wp-block-image img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 2px;
}
.entry_content figure figcaption,
.entry_content .wp-block-image figcaption,
.entry_body figure figcaption,
.entry_body .wp-block-image figcaption,
.post_content figure figcaption,
.post_content .wp-block-image figcaption,
.detail_column_body figure figcaption,
.detail_column_body .wp-block-image figcaption,
.editor-styles-wrapper figure figcaption,
.editor-styles-wrapper .wp-block-image figcaption {
  font-size: 1.3rem;
  color: var(--text-muted);
  text-align: center;
  margin-top: 8px;
  line-height: 1.5;
}
@media screen and (max-width: 765px) {
  .entry_content figure figcaption,
  .entry_content .wp-block-image figcaption,
  .entry_body figure figcaption,
  .entry_body .wp-block-image figcaption,
  .post_content figure figcaption,
  .post_content .wp-block-image figcaption,
  .detail_column_body figure figcaption,
  .detail_column_body .wp-block-image figcaption,
  .editor-styles-wrapper figure figcaption,
  .editor-styles-wrapper .wp-block-image figcaption {
    font-size: 1.2rem;
  }
}
.entry_content figure.aligncenter,
.entry_content .wp-block-image.aligncenter,
.entry_body figure.aligncenter,
.entry_body .wp-block-image.aligncenter,
.post_content figure.aligncenter,
.post_content .wp-block-image.aligncenter,
.detail_column_body figure.aligncenter,
.detail_column_body .wp-block-image.aligncenter,
.editor-styles-wrapper figure.aligncenter,
.editor-styles-wrapper .wp-block-image.aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.entry_content figure.alignwide,
.entry_content .wp-block-image.alignwide,
.entry_body figure.alignwide,
.entry_body .wp-block-image.alignwide,
.post_content figure.alignwide,
.post_content .wp-block-image.alignwide,
.detail_column_body figure.alignwide,
.detail_column_body .wp-block-image.alignwide,
.editor-styles-wrapper figure.alignwide,
.editor-styles-wrapper .wp-block-image.alignwide {
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.entry_content code,
.entry_body code,
.post_content code,
.detail_column_body code,
.editor-styles-wrapper code {
  font-family: Consolas, Monaco, "Andale Mono", monospace;
  font-size: 0.9em;
  background-color: #f1ede4;
  color: var(--text-dark);
  padding: 2px 6px;
  border-radius: 3px;
}
.entry_content pre,
.entry_body pre,
.post_content pre,
.detail_column_body pre,
.editor-styles-wrapper pre {
  background-color: #2e2825;
  color: #ffffff;
  padding: 18px 20px;
  border-radius: 4px;
  overflow-x: auto;
  margin: 28px 0;
  line-height: 1.6;
}
.entry_content pre code,
.entry_body pre code,
.post_content pre code,
.detail_column_body pre code,
.editor-styles-wrapper pre code {
  background-color: transparent;
  color: inherit;
  padding: 0;
  font-size: 1.4rem;
}
.entry_content hr,
.entry_content .wp-block-separator,
.entry_body hr,
.entry_body .wp-block-separator,
.post_content hr,
.post_content .wp-block-separator,
.detail_column_body hr,
.detail_column_body .wp-block-separator,
.editor-styles-wrapper hr,
.editor-styles-wrapper .wp-block-separator {
  border: none;
  border-top: 1px solid var(--border-color);
  margin: 48px auto;
  width: 100%;
}
.entry_content hr.is-style-dots,
.entry_content .wp-block-separator.is-style-dots,
.entry_body hr.is-style-dots,
.entry_body .wp-block-separator.is-style-dots,
.post_content hr.is-style-dots,
.post_content .wp-block-separator.is-style-dots,
.detail_column_body hr.is-style-dots,
.detail_column_body .wp-block-separator.is-style-dots,
.editor-styles-wrapper hr.is-style-dots,
.editor-styles-wrapper .wp-block-separator.is-style-dots {
  border: none;
  text-align: center;
  line-height: 1;
}
.entry_content hr.is-style-dots::before,
.entry_content .wp-block-separator.is-style-dots::before,
.entry_body hr.is-style-dots::before,
.entry_body .wp-block-separator.is-style-dots::before,
.post_content hr.is-style-dots::before,
.post_content .wp-block-separator.is-style-dots::before,
.detail_column_body hr.is-style-dots::before,
.detail_column_body .wp-block-separator.is-style-dots::before,
.editor-styles-wrapper hr.is-style-dots::before,
.editor-styles-wrapper .wp-block-separator.is-style-dots::before {
  content: "···";
  color: var(--text-muted);
  font-size: 2.4rem;
  letter-spacing: 1em;
  padding-left: 1em;
}
@media screen and (max-width: 765px) {
  .entry_content hr,
  .entry_content .wp-block-separator,
  .entry_body hr,
  .entry_body .wp-block-separator,
  .post_content hr,
  .post_content .wp-block-separator,
  .detail_column_body hr,
  .detail_column_body .wp-block-separator,
  .editor-styles-wrapper hr,
  .editor-styles-wrapper .wp-block-separator {
    margin: 36px auto;
  }
}
.entry_content .wp-block-buttons,
.entry_body .wp-block-buttons,
.post_content .wp-block-buttons,
.detail_column_body .wp-block-buttons,
.editor-styles-wrapper .wp-block-buttons {
  margin: 32px 0;
  gap: 16px;
}
.entry_content .wp-block-button__link,
.entry_body .wp-block-button__link,
.post_content .wp-block-button__link,
.detail_column_body .wp-block-button__link,
.editor-styles-wrapper .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 28px;
  background-color: var(--color-green);
  color: var(--white);
  font-weight: 700;
  font-size: 1.5rem;
  border-radius: 2px;
  text-decoration: none;
  transition: background-color 0.25s ease, opacity 0.25s ease;
}
.entry_content .wp-block-button__link:hover,
.entry_body .wp-block-button__link:hover,
.post_content .wp-block-button__link:hover,
.detail_column_body .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button__link:hover {
  background-color: var(--color-green-hover);
  opacity: 0.9;
  text-decoration: none;
}
.entry_content .wp-block-button.is-style-outline .wp-block-button__link,
.entry_body .wp-block-button.is-style-outline .wp-block-button__link,
.post_content .wp-block-button.is-style-outline .wp-block-button__link,
.detail_column_body .wp-block-button.is-style-outline .wp-block-button__link,
.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border: 1px solid var(--color-green);
  color: var(--color-green);
}
.entry_content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.entry_body .wp-block-button.is-style-outline .wp-block-button__link:hover,
.post_content .wp-block-button.is-style-outline .wp-block-button__link:hover,
.detail_column_body .wp-block-button.is-style-outline .wp-block-button__link:hover,
.editor-styles-wrapper .wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: var(--color-green);
  color: var(--white);
}
.entry_content .wp-block-columns,
.entry_body .wp-block-columns,
.post_content .wp-block-columns,
.detail_column_body .wp-block-columns,
.editor-styles-wrapper .wp-block-columns {
  margin: 32px 0;
  gap: 24px;
}
@media screen and (max-width: 765px) {
  .entry_content .wp-block-columns,
  .entry_body .wp-block-columns,
  .post_content .wp-block-columns,
  .detail_column_body .wp-block-columns,
  .editor-styles-wrapper .wp-block-columns {
    flex-direction: column;
    gap: 18px;
  }
}
.entry_content .wp-block-group,
.entry_body .wp-block-group,
.post_content .wp-block-group,
.detail_column_body .wp-block-group,
.editor-styles-wrapper .wp-block-group {
  margin: 32px 0;
}

.mailform_container,
.entry_content .mailform_container {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  box-sizing: border-box;
}
.mailform_container p,
.entry_content .mailform_container p {
  margin: 0;
}
.mailform_container .mailform_fields,
.entry_content .mailform_container .mailform_fields {
  width: 100%;
}
.mailform_container .mailform_row,
.entry_content .mailform_container .mailform_row {
  display: flex;
  align-items: center;
  gap: 24px;
  padding: 16px 0 17px;
  border-bottom: 1px solid #aaaaaa;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_row,
  .entry_content .mailform_container .mailform_row {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 14px 0 15px;
  }
}
.mailform_container .mailform_row.is-align-top,
.entry_content .mailform_container .mailform_row.is-align-top {
  align-items: flex-start;
}
.mailform_container .mailform_label_col,
.entry_content .mailform_container .mailform_label_col {
  width: 248px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  box-sizing: border-box;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_label_col,
  .entry_content .mailform_container .mailform_label_col {
    width: 100%;
  }
}
.mailform_container .mailform_label_col > p,
.entry_content .mailform_container .mailform_label_col > p {
  margin: 0 !important;
  display: contents !important;
}
.mailform_container .mailform_label_col br,
.entry_content .mailform_container .mailform_label_col br {
  display: none !important;
}
.mailform_container .mailform_label_col .mailform_label_text,
.entry_content .mailform_container .mailform_label_col .mailform_label_text {
  font-size: 1.4rem;
  font-weight: 700;
  color: #111827;
  line-height: 20px;
  margin: 0;
}
.mailform_container .mailform_label_col.is-required::after, .mailform_container .mailform_label_col.is-optional::after,
.entry_content .mailform_container .mailform_label_col.is-required::after,
.entry_content .mailform_container .mailform_label_col.is-optional::after {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 3px 8px;
  box-sizing: border-box;
  display: inline-block;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}
.mailform_container .mailform_label_col.is-required::after,
.entry_content .mailform_container .mailform_label_col.is-required::after {
  content: "必須";
  background-color: var(--text-dark, #31190f);
  color: #ffffff;
  border: 1px solid var(--text-dark, #31190f);
}
.mailform_container .mailform_label_col.is-optional::after,
.entry_content .mailform_container .mailform_label_col.is-optional::after {
  content: "任意";
  background-color: #ffffff;
  color: #4e4d4f;
  border: 1px solid #4e4d4f;
}
.mailform_container .mailform_badge,
.entry_content .mailform_container .mailform_badge {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  padding: 3px 8px;
  box-sizing: border-box;
  display: inline-block;
  letter-spacing: 0.05em;
}
.mailform_container .mailform_badge.is-required,
.entry_content .mailform_container .mailform_badge.is-required {
  background-color: var(--text-dark, #31190f);
  color: #ffffff;
  border: 1px solid var(--text-dark, #31190f);
}
.mailform_container .mailform_badge.is-optional,
.entry_content .mailform_container .mailform_badge.is-optional {
  background-color: #ffffff;
  color: #4e4d4f;
  border: 1px solid #4e4d4f;
}
.mailform_container .mailform_input_col,
.entry_content .mailform_container .mailform_input_col {
  flex: 1;
  width: 100%;
  box-sizing: border-box;
}
.mailform_container .mailform_input_col .wpcf7-form-control-wrap,
.entry_content .mailform_container .mailform_input_col .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.mailform_container .mailform_input_col .mailform_input,
.mailform_container .mailform_input_col input[type=text],
.mailform_container .mailform_input_col input[type=email],
.mailform_container .mailform_input_col input[type=tel],
.entry_content .mailform_container .mailform_input_col .mailform_input,
.entry_content .mailform_container .mailform_input_col input[type=text],
.entry_content .mailform_container .mailform_input_col input[type=email],
.entry_content .mailform_container .mailform_input_col input[type=tel] {
  width: 100%;
  background-color: #f9fafb;
  border: 1px solid #4e4d4f;
  border-radius: 0;
  padding: 12px 11px;
  font-size: 1.4rem;
  color: #31190f;
  font-family: inherit;
  box-sizing: border-box;
  outline: none;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_input_col .mailform_input,
  .mailform_container .mailform_input_col input[type=text],
  .mailform_container .mailform_input_col input[type=email],
  .mailform_container .mailform_input_col input[type=tel],
  .entry_content .mailform_container .mailform_input_col .mailform_input,
  .entry_content .mailform_container .mailform_input_col input[type=text],
  .entry_content .mailform_container .mailform_input_col input[type=email],
  .entry_content .mailform_container .mailform_input_col input[type=tel] {
    font-size: 1.6rem;
  }
}
.mailform_container .mailform_input_col .mailform_input::placeholder,
.mailform_container .mailform_input_col input[type=text]::placeholder,
.mailform_container .mailform_input_col input[type=email]::placeholder,
.mailform_container .mailform_input_col input[type=tel]::placeholder,
.entry_content .mailform_container .mailform_input_col .mailform_input::placeholder,
.entry_content .mailform_container .mailform_input_col input[type=text]::placeholder,
.entry_content .mailform_container .mailform_input_col input[type=email]::placeholder,
.entry_content .mailform_container .mailform_input_col input[type=tel]::placeholder {
  color: #4e4d4f;
  opacity: 0.75;
}
.mailform_container .mailform_input_col .mailform_input:focus,
.mailform_container .mailform_input_col input[type=text]:focus,
.mailform_container .mailform_input_col input[type=email]:focus,
.mailform_container .mailform_input_col input[type=tel]:focus,
.entry_content .mailform_container .mailform_input_col .mailform_input:focus,
.entry_content .mailform_container .mailform_input_col input[type=text]:focus,
.entry_content .mailform_container .mailform_input_col input[type=email]:focus,
.entry_content .mailform_container .mailform_input_col input[type=tel]:focus {
  border-color: #111827;
  background-color: #ffffff;
}
.mailform_container .mailform_input_col .mailform_textarea,
.mailform_container .mailform_input_col textarea,
.entry_content .mailform_container .mailform_input_col .mailform_textarea,
.entry_content .mailform_container .mailform_input_col textarea {
  width: 100%;
  height: 160px;
  min-height: 140px;
  background-color: #f9fafb;
  border: 1px solid #4e4d4f;
  border-radius: 0;
  padding: 12px 13px;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #31190f;
  font-family: inherit;
  box-sizing: border-box;
  outline: none;
  resize: vertical;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_input_col .mailform_textarea,
  .mailform_container .mailform_input_col textarea,
  .entry_content .mailform_container .mailform_input_col .mailform_textarea,
  .entry_content .mailform_container .mailform_input_col textarea {
    font-size: 1.6rem;
  }
}
.mailform_container .mailform_input_col .mailform_textarea::placeholder,
.mailform_container .mailform_input_col textarea::placeholder,
.entry_content .mailform_container .mailform_input_col .mailform_textarea::placeholder,
.entry_content .mailform_container .mailform_input_col textarea::placeholder {
  color: #4e4d4f;
  opacity: 0.75;
}
.mailform_container .mailform_input_col .mailform_textarea:focus,
.mailform_container .mailform_input_col textarea:focus,
.entry_content .mailform_container .mailform_input_col .mailform_textarea:focus,
.entry_content .mailform_container .mailform_input_col textarea:focus {
  border-color: #111827;
  background-color: #ffffff;
}
.mailform_container .mailform_input_col .wpcf7-radio,
.mailform_container .mailform_input_col .mailform_radio_group,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_input_col .wpcf7-radio,
  .mailform_container .mailform_input_col .mailform_radio_group,
  .entry_content .mailform_container .mailform_input_col .wpcf7-radio,
  .entry_content .mailform_container .mailform_input_col .mailform_radio_group {
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
  }
}
.mailform_container .mailform_input_col .wpcf7-radio .wpcf7-list-item,
.mailform_container .mailform_input_col .mailform_radio_group .wpcf7-list-item,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio .wpcf7-list-item,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group .wpcf7-list-item {
  margin: 0;
  display: inline-flex;
  align-items: center;
}
.mailform_container .mailform_input_col .wpcf7-radio label,
.mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label,
.mailform_container .mailform_input_col .mailform_radio_group label,
.mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio label,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group label,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--text-dark, #31190f);
  cursor: pointer;
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_input_col .wpcf7-radio label,
  .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label,
  .mailform_container .mailform_input_col .mailform_radio_group label,
  .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label,
  .entry_content .mailform_container .mailform_input_col .wpcf7-radio label,
  .entry_content .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label,
  .entry_content .mailform_container .mailform_input_col .mailform_radio_group label,
  .entry_content .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label {
    font-size: 1.35rem;
  }
}
.mailform_container .mailform_input_col .wpcf7-radio label input[type=radio],
.mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio],
.mailform_container .mailform_input_col .mailform_radio_group label input[type=radio],
.mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio],
.entry_content .mailform_container .mailform_input_col .wpcf7-radio label input[type=radio],
.entry_content .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio],
.entry_content .mailform_container .mailform_input_col .mailform_radio_group label input[type=radio],
.entry_content .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio] {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 1px solid #aaaaaa;
  border-radius: 50%;
  background-color: #ffffff;
  margin: 0;
  cursor: pointer;
  position: relative;
  display: grid;
  place-content: center;
  transition: border-color 0.2s ease;
}
.mailform_container .mailform_input_col .wpcf7-radio label input[type=radio]::before,
.mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio]::before,
.mailform_container .mailform_input_col .mailform_radio_group label input[type=radio]::before,
.mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio]::before,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio label input[type=radio]::before,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio]::before,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group label input[type=radio]::before,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio]::before {
  content: "";
  width: 9.6px;
  height: 9.6px;
  border-radius: 50%;
  background-color: var(--text-dark, #31190f);
  transform: scale(0);
  transition: transform 0.15s ease-in-out;
}
.mailform_container .mailform_input_col .wpcf7-radio label input[type=radio]:checked,
.mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio]:checked,
.mailform_container .mailform_input_col .mailform_radio_group label input[type=radio]:checked,
.mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio]:checked,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio label input[type=radio]:checked,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio]:checked,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group label input[type=radio]:checked,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio]:checked {
  border-color: var(--text-dark, #31190f);
}
.mailform_container .mailform_input_col .wpcf7-radio label input[type=radio]:checked::before,
.mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio]:checked::before,
.mailform_container .mailform_input_col .mailform_radio_group label input[type=radio]:checked::before,
.mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio]:checked::before,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio label input[type=radio]:checked::before,
.entry_content .mailform_container .mailform_input_col .wpcf7-radio .mailform_radio_label input[type=radio]:checked::before,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group label input[type=radio]:checked::before,
.entry_content .mailform_container .mailform_input_col .mailform_radio_group .mailform_radio_label input[type=radio]:checked::before {
  transform: scale(1);
}
.mailform_container .mailform_confirm_lead,
.entry_content .mailform_container .mailform_confirm_lead {
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--text-dark, #31190f);
  margin-bottom: 24px !important;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_confirm_lead,
  .entry_content .mailform_container .mailform_confirm_lead {
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 18px !important;
  }
}
.mailform_container .mailform_confirm_col,
.entry_content .mailform_container .mailform_confirm_col {
  font-size: 1.4rem;
  line-height: 1.6;
  color: var(--text-dark, #31190f);
  word-break: break-all;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_confirm_col,
  .entry_content .mailform_container .mailform_confirm_col {
    font-size: 1.4rem;
  }
}
.mailform_container .mailform_thanks_message_box,
.entry_content .mailform_container .mailform_thanks_message_box {
  text-align: center;
  padding: 36px 20px;
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  margin-bottom: 20px;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_thanks_message_box,
  .entry_content .mailform_container .mailform_thanks_message_box {
    padding: 24px 16px;
    text-align: left;
  }
}
.mailform_container .mailform_thanks_message_box .mailform_thanks_title,
.entry_content .mailform_container .mailform_thanks_message_box .mailform_thanks_title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text-dark, #31190f);
  margin-bottom: 16px !important;
  line-height: 1.4;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_thanks_message_box .mailform_thanks_title,
  .entry_content .mailform_container .mailform_thanks_message_box .mailform_thanks_title {
    font-size: 1.8rem;
  }
}
.mailform_container .mailform_thanks_message_box .mailform_thanks_lead,
.entry_content .mailform_container .mailform_thanks_message_box .mailform_thanks_lead {
  font-size: 1.4rem;
  line-height: 1.8;
  color: var(--text-dark, #31190f);
  margin-bottom: 16px !important;
}
.mailform_container .mailform_thanks_message_box .mailform_thanks_note,
.entry_content .mailform_container .mailform_thanks_message_box .mailform_thanks_note {
  font-size: 1.2rem;
  line-height: 1.6;
  color: #6b7280;
  margin: 0 !important;
}
.mailform_container .mailform_submit_wrap,
.entry_content .mailform_container .mailform_submit_wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 32px;
  gap: 24px;
}
.mailform_container .mailform_submit_wrap .mailform_btn_group,
.entry_content .mailform_container .mailform_submit_wrap .mailform_btn_group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
}
.mailform_container .mailform_submit_wrap .mailform_btn_group > p,
.entry_content .mailform_container .mailform_submit_wrap .mailform_btn_group > p {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_submit_wrap .mailform_btn_group > p,
  .entry_content .mailform_container .mailform_submit_wrap .mailform_btn_group > p {
    flex-direction: column-reverse;
    gap: 12px;
  }
}
.mailform_container .mailform_submit_wrap .mailform_btn_group br,
.entry_content .mailform_container .mailform_submit_wrap .mailform_btn_group br {
  display: none !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_submit_wrap .mailform_btn_group,
  .entry_content .mailform_container .mailform_submit_wrap .mailform_btn_group {
    flex-direction: column-reverse;
    gap: 12px;
  }
}
.mailform_container .mailform_submit_wrap .mailform_back_btn,
.mailform_container .mailform_submit_wrap .wpcf7-previous,
.mailform_container .mailform_submit_wrap input.wpcf7-previous,
.mailform_container .mailform_submit_wrap button.wpcf7-previous,
.mailform_container .mailform_submit_wrap input[type=button].wpcf7-previous,
.mailform_container .mailform_submit_wrap input[type=button].mailform_back_btn,
.mailform_container .mailform_submit_wrap input[type=button],
.entry_content .mailform_container .mailform_submit_wrap .mailform_back_btn,
.entry_content .mailform_container .mailform_submit_wrap .wpcf7-previous,
.entry_content .mailform_container .mailform_submit_wrap input.wpcf7-previous,
.entry_content .mailform_container .mailform_submit_wrap button.wpcf7-previous,
.entry_content .mailform_container .mailform_submit_wrap input[type=button].wpcf7-previous,
.entry_content .mailform_container .mailform_submit_wrap input[type=button].mailform_back_btn,
.entry_content .mailform_container .mailform_submit_wrap input[type=button] {
  background-color: #71717a !important;
  color: #ffffff !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  padding: 16px 40px !important;
  border: none !important;
  border-radius: 2px !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 180px !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: background-color 0.25s ease !important;
}
.mailform_container .mailform_submit_wrap .mailform_back_btn:hover,
.mailform_container .mailform_submit_wrap .wpcf7-previous:hover,
.mailform_container .mailform_submit_wrap input.wpcf7-previous:hover,
.mailform_container .mailform_submit_wrap button.wpcf7-previous:hover,
.mailform_container .mailform_submit_wrap input[type=button].wpcf7-previous:hover,
.mailform_container .mailform_submit_wrap input[type=button].mailform_back_btn:hover,
.mailform_container .mailform_submit_wrap input[type=button]:hover,
.entry_content .mailform_container .mailform_submit_wrap .mailform_back_btn:hover,
.entry_content .mailform_container .mailform_submit_wrap .wpcf7-previous:hover,
.entry_content .mailform_container .mailform_submit_wrap input.wpcf7-previous:hover,
.entry_content .mailform_container .mailform_submit_wrap button.wpcf7-previous:hover,
.entry_content .mailform_container .mailform_submit_wrap input[type=button].wpcf7-previous:hover,
.entry_content .mailform_container .mailform_submit_wrap input[type=button].mailform_back_btn:hover,
.entry_content .mailform_container .mailform_submit_wrap input[type=button]:hover {
  background-color: #52525b !important;
  opacity: 1 !important;
  box-shadow: none !important;
  color: #ffffff !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_submit_wrap .mailform_back_btn,
  .mailform_container .mailform_submit_wrap .wpcf7-previous,
  .mailform_container .mailform_submit_wrap input.wpcf7-previous,
  .mailform_container .mailform_submit_wrap button.wpcf7-previous,
  .mailform_container .mailform_submit_wrap input[type=button].wpcf7-previous,
  .mailform_container .mailform_submit_wrap input[type=button].mailform_back_btn,
  .mailform_container .mailform_submit_wrap input[type=button],
  .entry_content .mailform_container .mailform_submit_wrap .mailform_back_btn,
  .entry_content .mailform_container .mailform_submit_wrap .wpcf7-previous,
  .entry_content .mailform_container .mailform_submit_wrap input.wpcf7-previous,
  .entry_content .mailform_container .mailform_submit_wrap button.wpcf7-previous,
  .entry_content .mailform_container .mailform_submit_wrap input[type=button].wpcf7-previous,
  .entry_content .mailform_container .mailform_submit_wrap input[type=button].mailform_back_btn,
  .entry_content .mailform_container .mailform_submit_wrap input[type=button] {
    width: 100% !important;
    max-width: 320px !important;
    padding: 14px 24px !important;
  }
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_submit_wrap,
  .entry_content .mailform_container .mailform_submit_wrap {
    padding-top: 24px;
    gap: 20px;
  }
}
.mailform_container .mailform_submit_wrap .mailform_submit_btn,
.mailform_container .mailform_submit_wrap input[type=submit],
.entry_content .mailform_container .mailform_submit_wrap .mailform_submit_btn,
.entry_content .mailform_container .mailform_submit_wrap input[type=submit] {
  background-color: var(--color-red, #b51f2e);
  color: #ffffff;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding: 16px 48px;
  border: none;
  border-radius: 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
  transition: background-color 0.25s ease;
}
.mailform_container .mailform_submit_wrap .mailform_submit_btn:hover,
.mailform_container .mailform_submit_wrap input[type=submit]:hover,
.entry_content .mailform_container .mailform_submit_wrap .mailform_submit_btn:hover,
.entry_content .mailform_container .mailform_submit_wrap input[type=submit]:hover {
  background-color: var(--color-red-hover, #ed2f42);
  opacity: 1 !important;
  box-shadow: none !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_submit_wrap .mailform_submit_btn,
  .mailform_container .mailform_submit_wrap input[type=submit],
  .entry_content .mailform_container .mailform_submit_wrap .mailform_submit_btn,
  .entry_content .mailform_container .mailform_submit_wrap input[type=submit] {
    width: 100%;
    max-width: 320px;
    padding: 14px 24px;
  }
}
.mailform_container .mailform_privacy_box,
.entry_content .mailform_container .mailform_privacy_box {
  width: 100%;
  border: 1px solid #aaaaaa;
  padding: 16px 17px;
  box-sizing: border-box;
  text-align: center;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_privacy_box,
  .entry_content .mailform_container .mailform_privacy_box {
    padding: 14px;
    text-align: left;
  }
}
.mailform_container .mailform_privacy_box p,
.entry_content .mailform_container .mailform_privacy_box p {
  margin: 0;
  font-size: 1.2rem;
  line-height: 1.6;
  color: #4e4d4f;
}
.mailform_container .mailform_privacy_box .mailform_privacy_text,
.entry_content .mailform_container .mailform_privacy_box .mailform_privacy_text {
  font-size: 1.2rem;
  margin-bottom: 4px;
}
.mailform_container .mailform_privacy_box .mailform_privacy_text a,
.mailform_container .mailform_privacy_box .mailform_privacy_text .mailform_privacy_link,
.entry_content .mailform_container .mailform_privacy_box .mailform_privacy_text a,
.entry_content .mailform_container .mailform_privacy_box .mailform_privacy_text .mailform_privacy_link {
  font-weight: 700;
  color: #4e4d4f;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 0.2s ease;
}
.mailform_container .mailform_privacy_box .mailform_privacy_text a:hover,
.mailform_container .mailform_privacy_box .mailform_privacy_text .mailform_privacy_link:hover,
.entry_content .mailform_container .mailform_privacy_box .mailform_privacy_text a:hover,
.entry_content .mailform_container .mailform_privacy_box .mailform_privacy_text .mailform_privacy_link:hover {
  color: var(--color-green, #195d2d);
  opacity: 1;
}
.mailform_container .mailform_privacy_box .mailform_ssl_text,
.entry_content .mailform_container .mailform_privacy_box .mailform_ssl_text {
  font-size: 1.1rem;
  color: #4e4d4f;
}
.mailform_container .mailform_phone_card,
.entry_content .mailform_container .mailform_phone_card {
  width: 100%;
  max-width: 800px;
  background-color: #ffffff;
  border: 1px solid var(--text-dark, #31190f);
  padding: 33px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin: 100px auto 0;
  text-align: center;
}
.mailform_container .mailform_phone_card p,
.entry_content .mailform_container .mailform_phone_card p {
  margin: 0 !important;
}
.mailform_container .mailform_phone_card br,
.entry_content .mailform_container .mailform_phone_card br {
  display: none !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_phone_card,
  .entry_content .mailform_container .mailform_phone_card {
    padding: 24px 16px;
    gap: 16px;
    margin-top: 32px;
  }
}
.mailform_container .mailform_phone_card .mailform_phone_header,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_en,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_en {
  font-family: "Cormorant Garamond", "Times New Roman", serif, "Cormorant Garamond", serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  color: var(--text-dark, #31190f) !important;
  margin: 0 !important;
  text-align: center !important;
  line-height: 1.4 !important;
}
.mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_title,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_title {
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif, "Noto Serif JP", serif !important;
  font-size: 2.1rem !important;
  font-weight: 700 !important;
  color: var(--text-dark, #31190f) !important;
  margin: 0 !important;
  padding: 0 !important;
  border-left: none !important;
  text-align: center !important;
  position: static !important;
  line-height: 1.4 !important;
}
.mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_title::before,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_title::before {
  content: none !important;
  display: none !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_title,
  .entry_content .mailform_container .mailform_phone_card .mailform_phone_header .mailform_phone_title {
    font-size: 1.8rem !important;
    padding: 0 !important;
  }
}
.mailform_container .mailform_phone_card .mailform_phone_btn,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  background-color: var(--color-red, #b51f2e) !important;
  border-radius: 10px !important;
  padding: 10px 24px !important;
  text-decoration: none !important;
  color: #ffffff !important;
  box-sizing: border-box !important;
  transition: background-color 0.25s ease !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_phone_card .mailform_phone_btn,
  .entry_content .mailform_container .mailform_phone_card .mailform_phone_btn {
    width: 100% !important;
    max-width: 320px !important;
    padding: 12px 20px !important;
  }
}
.mailform_container .mailform_phone_card .mailform_phone_btn:hover,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_btn:hover {
  background-color: var(--color-red-hover, #ed2f42) !important;
  opacity: 1 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}
.mailform_container .mailform_phone_card .mailform_phone_btn .phone_icon,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_btn .phone_icon {
  width: 20px !important;
  height: 20px !important;
  fill: #ffffff !important;
  color: #ffffff !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 !important;
}
.mailform_container .mailform_phone_card .mailform_phone_btn .phone_number,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_btn .phone_number {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif, sans-serif !important;
  font-size: 2.4rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  letter-spacing: 1.5px !important;
  line-height: 1.5 !important;
  text-decoration: none !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_phone_card .mailform_phone_btn .phone_number,
  .entry_content .mailform_container .mailform_phone_card .mailform_phone_btn .phone_number {
    font-size: 2rem !important;
  }
}
.mailform_container .mailform_phone_card .mailform_phone_hours,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_hours {
  font-size: 1.2rem !important;
  color: var(--text-dark, #31190f) !important;
  margin: 0 !important;
  line-height: 1.6 !important;
  text-align: center !important;
}
.mailform_container .mailform_phone_card .mailform_phone_hours strong,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_hours strong {
  font-weight: 700 !important;
}
.mailform_container .mailform_phone_card .mailform_phone_hours span,
.entry_content .mailform_container .mailform_phone_card .mailform_phone_hours span {
  font-weight: 400 !important;
}
@media screen and (max-width: 765px) {
  .mailform_container .mailform_phone_card .mailform_phone_hours,
  .entry_content .mailform_container .mailform_phone_card .mailform_phone_hours {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }
}
.mailform_container .wpcf7-not-valid-tip,
.entry_content .mailform_container .wpcf7-not-valid-tip {
  font-size: 1.2rem;
  color: var(--color-red, #b51f2e);
  margin-top: 4px;
  display: block;
}
.mailform_container .wpcf7-not-valid,
.entry_content .mailform_container .wpcf7-not-valid {
  border-color: var(--color-red, #b51f2e) !important;
  background-color: #fff8f8 !important;
}
.mailform_container .wpcf7-response-output,
.entry_content .mailform_container .wpcf7-response-output {
  width: 100%;
  margin: 20px 0 0 !important;
  padding: 14px 18px !important;
  box-sizing: border-box;
  font-size: 1.4rem;
  line-height: 1.6;
  border-radius: 4px;
  text-align: center;
}
.mailform_container .wpcf7-response-output.wpcf7-validation-errors,
.entry_content .mailform_container .wpcf7-response-output.wpcf7-validation-errors {
  border: 1px solid var(--color-red, #b51f2e) !important;
  background-color: #fff5f5 !important;
  color: var(--color-red, #b51f2e) !important;
}
.mailform_container .wpcf7-response-output.wpcf7-mail-sent-ok,
.entry_content .mailform_container .wpcf7-response-output.wpcf7-mail-sent-ok {
  border: 1px solid var(--color-green, #195d2d) !important;
  background-color: #f4faf6 !important;
  color: var(--color-green, #195d2d) !important;
}
.mailform_container .wpcf7-spinner,
.entry_content .mailform_container .wpcf7-spinner {
  margin: 0 0 0 10px;
}

/*# sourceMappingURL=common.css.map */

/* AIチャット公開前: シブヤン関連の入力欄とCTAを一時非表示 */
.section_shibuyan,
.section_common_cta .cta_card_shibuyan,
.column_cta_inline_box .btn_cta_shibuyan {
  display: none !important;
}

/* シブヤンCTA非表示中: お取引に関するお問い合わせCTAを中央配置 */
.section_common_cta .cta_grid {
  grid-template-columns: minmax(0, 500px);
  justify-content: center;
}
.section_common_cta .cta_card_contact {
  align-items: center;
  text-align: center;
}
