@charset "UTF-8";
/*
Theme Name:   oosakaya
Description: oosakaya
Version: 1.0
*/

/* ------------------------------------------------------------------------------
Font
-------------------------------------------------------------------------------*/
@font-face {
  font-family: 'ofl-sorts-mill-goudy';
  src: url(../../font/ofl-sorts-mill-goudy.regular.otf);
}

@font-face {
  font-family: 'ofl-sorts-mill-goudy-italic';
  src: url(../../font/ofl-sorts-mill-goudy.italic.otf);
}

:root {
  /* フォント */
  --font-main: 'YuMincho', 'Yu Mincho', serif;
  --font-mincho: 'YuMincho', 'Yu Mincho', serif;

  --black: #000;
  --white: #fff;
  --gray: #636363;

  --bg-gray: #f0f0f0;
  --bg-gray2: #dbdbdb;

  --bg-black: #231815;

  --btn-bg-dark: #2b1c1c;
  --highlight-pink: #fde2e2;

  --btn-border-color: #4d4d4d;
  --btn-border-color2: #b7b7b7;

  --main-color: #767267;
  --base-color: #fafafa;
  --accent-color: #ab1a1a;

  --text-color: #000;
  --text-color2: #8d622a;
  --text-color3: #fff;
  --text-color4: #555;
  --text-color5: #e6dfd1;

  --bg-color: #fff2da;
  --bg-color2: #ebebeb;
  --bg-color3: #dfaf7b;
  --bg-color4: #e6dfd1;
  --bg-color5: #fff;
  --bg-color6: #434343;
  --bg-color7: #8d622a;
  --bg-color8: #e3874e;
  --bg-color9: #f5ede2;
  --bg-color10: #faecde;
  --bg-color11: #f7f7f7;
  --footer-bg: #222222;

  --btn-color: #7f0000;

  /* 柔軟なrem変換システム */
  --base-font-size: 16;
  /* ベースフォントサイズ（px） */

  /* 変換係数（1px = 0.0625rem） */
  --px-ratio: calc(1 / var(--base-font-size) * 1rem);

  /* よく使われるサイズの変数（必要に応じて追加・変更可能） */
  --size-xs: calc(4 * var(--px-ratio));
  /* 4px */
  --size-sm: calc(8 * var(--px-ratio));
  /* 8px */
  --size-md: calc(16 * var(--px-ratio));
  /* 16px */
  --size-lg: calc(24 * var(--px-ratio));
  /* 24px */
  --size-xl: calc(32 * var(--px-ratio));
  /* 32px */
  --size-2xl: calc(48 * var(--px-ratio));
  /* 48px */
  --size-3xl: calc(64 * var(--px-ratio));
  /* 64px */

  /* より短い記述用のヘルパー関数 */
  --px: var(--px-ratio);
  /* px値をremに変換する短縮記法 */

  /* ------------------------------------------------
     4. 計算用係数・ロジック
     ------------------------------------------------ */
  --base-fs: 16;
  --vp-min: 375;
  --vp-max: 1440;

  /* rem変換係数 (1px = 0.0625rem) */
  --r: calc(1rem / var(--base-fs));

  /* vw変換係数 (従来の使い方用) */
  --v: calc(100vw / var(--vp-max));

  /* 進捗率 (Fluid Rate): 0 〜 1 で推移する係数 */
  --fluid-rate: calc((100vw - (var(--vp-min) * 1px)) / (var(--vp-max) - var(--vp-min)));
}

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

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

html {
  font-size: 100%;
}

html:focus-within {
  scroll-behavior: smooth;
}

body {
  line-height: 1.5;
  min-height: 100vh;
  text-rendering: optimizeSpeed;
}

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

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: '';
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

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

a:not([class]) {
  text-decoration-skip-ink: auto;
}

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

object {
  pointer-events: none;
}

input,
button,
textarea,
select {
  font: inherit;
}

button,
input[type='submit'],
input[type='button'] {
  border-radius: 0;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  cursor: pointer;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

input[type='submit']::-webkit-search-decoration,
input[type='button']::-webkit-search-decoration {
  display: none;
}

input[type='submit']::focus,
input[type='button']::focus {
  outline-offset: -2px;
}

select {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 0;
  margin: 0;
  padding: 0;
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  box-sizing: content-box;
}

/* ------------------------------------------------------------------------------
Typography
-------------------------------------------------------------------------------*/
html {
  overflow-x: hidden;
}

p {
  font-size: 12px;
  line-height: 2.75;
}

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

h1 {}

h2 {
  color: #767267;
  font-size: 24px;
}

h3 {
  font-size: 16px;
  font-weight: bold;
}

h4 {
  font-size: 18px;
  font-weight: bold;
}

h5 {
  font-size: 14px;
  color: #2d3033;
  text-transform: uppercase;
  font-weight: 700;
}

@media (min-width: 769px) {
  p {
    font-size: 16px;
  }

  h2 {
    font-size: 32px;
  }

  h3 {
    font-size: 24px;
  }
}

/* ------------------------------------------------------------------------------
General Style
-------------------------------------------------------------------------------*/
body * {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

body {
  overflow-x: hidden !important;
}

a {
  font-size: 12px;
  color: var(--text-color);
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

a:hover {
  cursor: pointer;
  opacity: 0.8;
  filter: alpha(opacity=80);
  -moz-opacity: 0.8;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

body {
  font-family: var(--font-main);
  font-weight: 400;
  color: var(--black);
  letter-spacing: 0.1em;
}

ul,
ol {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

.txt_center {
  text-align: center;
}

.content_wrap {
  max-width: calc(1240 * var(--r));
  padding: 0 4%;
  margin: 0 auto;
}

.pad,
.pc {
  display: none !important;
}

@media (min-width: 768px) {
  .pad {
    display: block !important;
  }

  .sp_only {
    display: none !important;
  }
}

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

  a {
    font-size: 16px;
  }

  .pc {
    display: block !important;
  }

  .sp {
    display: none !important;
  }
}

/* ------------------------------------------------------------------------------
共通
-------------------------------------------------------------------------------*/
h2,
h3,
h4 {
  font-family: 'ofl-sorts-mill-goudy', 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  line-height: 1.3;
}

.tit_01 {
  background-image: url(../../img/bg_tit.png);
  background-size: contain;
  background-position: bottom left;
  font-weight: normal;
  padding-bottom: 15px;
  width: 170px;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .tit_01 {
    padding-bottom: 20px;
    margin-bottom: 30px;
    width: 225px;
  }
}

.tit_02 {
  background-image: url(../../img/line_gray.png);
  background-size: 165px 1px;
  background-position: bottom center;
  font-weight: normal;
  padding-bottom: 15px;
  text-align: center;
  margin-bottom: 40px;
  color: #ccbd9f;
}

@media (min-width: 768px) {
  .tit_02 {
    background-size: 200px 1px;
    padding-bottom: 20px;
    margin-bottom: 50px;
  }
}

.tit_03 {
  width: 100%;
  height: 44vw;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  color: #fff;
  line-height: 0.5em;
  font-size: 30px;
  font-weight: normal;
}

@media (min-width: 769px) {
  .tit_03 {
    height: 352px;
    font-size: 80px;
  }
}

.more_link {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px;
  width: 240px;
  margin: 0 auto;
  position: relative;
  text-align: center;
  border: 1px solid #767267;
  margin-bottom: 30px;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

.more_link:hover {
  background-color: #767267;
  color: #fff;
}

.more_link img {
  position: absolute;
  right: -15px;
  top: calc(50% - 7px);
  width: 32px;
}

.more_link_white {
  background-color: #fff;
  box-shadow: 0px 3px 10px #ddd;
}

@media (min-width: 768px) {
  .more_link_white {
    width: 540px;
    height: 44px;
  }
}

/* ------------------------------------------------------------------------------
header & navigation
-------------------------------------------------------------------------------*/
.header_menu_pc_wrap {
  display: none;
}

.top_main_img {
  display: block;
  width: 100%;
}

.top_main_img_sp {
  display: block;
  padding-top: 0;
}

.nav_wrap .logo a {
  display: block;
  width: 100px;
  margin-bottom: 25px;
}

.header_menu_wrap {
  background-color: #fff;
  position: fixed;
  z-index: 99;
  width: 100%;
  height: 52px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 52px 0 30px;
  box-shadow: 0 0 20px #eee;
}

.logo-sp object {
  padding-top: 10px;
  width: 80px;
}

.header_fair_link {
  position: fixed;
  right: 52px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #fff;
  background-color: #c0b9a5;
  height: 100%;
  width: 52px;
  height: 52px;
  line-height: 1.3;
  font-size: 10px;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  z-index: 999;
}

.menu-trigger_wrap {
  background-color: #fff;
  position: fixed;
  right: 0px;
  z-index: 9999;
  width: 52px;
  height: 52px;
}

.menu-trigger {
  position: absolute;
  left: 14px;
  top: 16px;
  display: inline-block;
  width: 25px;
  height: 19px;
  vertical-align: middle;
  cursor: pointer;
}

.menu-trigger span {
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #c0b9a5;
}

.menu-trigger.active span {}

.menu-trigger span:nth-of-type(1) {
  top: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}

.menu-trigger span:nth-of-type(2) {
  top: 9px;
}

.menu-trigger.active span:nth-of-type(2) {
  opacity: 0;
}

.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.menu-trigger_nav {
  background-color: #fff;
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 99;
  padding-bottom: 20px;
}

.menu-trigger_nav .logo {
  display: block;
  width: 100px;
  margin-bottom: 25px;
  padding-top: 20px;
}

.global-nav nav {
  width: 100%;
  padding: 50px 20px;
  background-color: #fff;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-size: 13px;
  box-shadow: 0 0 20px #eee;
}

.nav_wrap {
  max-width: 340px;
  margin: 0 auto 35px;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

.nav_list li {
  margin-bottom: 25px;
  display: flex;
  align-items: center;
}

.nav_list li span {
  display: block;
  width: 8px;
  height: 1px;
  background-color: #767267;
  margin-right: 10px;
}

.info_link {
  display: block;
  padding: 5px;
  background-color: #c0b9a5;
  width: 48%;
}

.reserve_link {
  background-color: #a40a56;
  width: 100%;
  max-width: 340px;
  margin: 0 auto 15px;
}

.info_link p {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border: 1px solid #fff;
  background-image: url(../../img/ico_book_white.png);
  background-position: left 24px center;
  background-size: 23px;
  padding-left: 30px;
  height: 60px;
  font-size: 13px;
}

.contact_link p {
  background-image: url(../../img/ico_mail_white.png);
  background-position: left 11px center;
}

.reserve_link p {
  background-image: url(../../img/ico_note_white.png);
  background-position: left 90px center;
  margin: 0 auto;
  padding-left: 30px;
  font-size: 16px;
}

.menu_info_flex_wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 340px;
  margin: 0 auto 35px;
}

.menu_contact_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  max-width: 340px;
  margin: 0 auto;
}

.menu_sns_wrap {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
}

.menu_sns_wrap a {
  width: 35px;
  display: block;
}

.menu_sns_wrap a:first-of-type {
  margin-right: 12px;
}

.menu_contact_wrap>div>p {
  line-height: 1;
  letter-spacing: 0.05em;
}

#header .tel_link {
  display: block;
  width: 140px;
  margin-bottom: 10px;
}

#header .hours_txt {
  font-family: 'Yu Gothic Medium', 'Yu Gothic', 'ＭＳ ゴシック', sans-serif;
}

.nav_list li a:hover {
  opacity: 0.5 !important;
}

@media (min-width: 768px) {
  .top_main_img_sp {
    display: none;
  }

  .header_menu_pc_wrap {
    display: block;
  }
}

@media (max-width: 1200px) {
  .header_menu_pc_wrap #js-global-nav {
    display: none;
  }
}

.menu-trigger_nav {
  display: none;
}

@media (min-width: 1200px) {

  .header_fair_link,
  .menu-trigger_wrap,
  .header_menu_wrap,
  .menu-trigger_nav {
    display: none !important;
  }

  #header nav,
  .nav_wrap {
    display: block;
    position: static;
    padding: 0;
    font-size: 14px;
  }

  .nav_wrap .logo a,
  .nav_wrap .logo object {
    display: block;
    width: 120px;
    margin-bottom: 0;
  }

  .nav_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: none;
    margin: 0 auto;
  }

  .nav_list {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    margin-right: 10px;
  }

  .nav_list li {
    display: flex !important;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
  }

  .nav_list li:not(:last-of-type) {
    margin-right: 20px;
  }

  .nav_list li:last-of-type {
    background-color: #c0b9a5;
    padding: 22px 60px;
    margin-left: 10px;
  }

  .nav_list li:last-of-type a {
    color: #fff;
    font-size: 18px;
  }

  .nav_list li a {
    font-size: 13px;
  }

  .nav_wrap .logo {
    margin-left: 10px;
    margin-top: 5px;
  }
}

@media (min-width: 1280px) {
  .nav_list li a {
    font-size: 14.5px;
  }
}

@media (min-width: 1300px) {
  .nav_wrap .logo {
    margin-left: 50px;
  }
}

#js-clone-nav {
  display: none !important;
}

@media (min-width: 1200px) {
  #js-clone-nav {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .global-nav.clone-nav {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
    transition: all 1s;
    background-color: #fff;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.2);
    width: 100% !important;
    opacity: 0;
  }
}

/* ------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------*/
footer {
  background-color: #c0b9a5;
}

#footer {
  padding: 50px 0;
  max-width: 1240px;
  margin: 0 auto;
}

.footer_logo {
  width: 150px;
  margin: 0 auto 20px;
}

.footer_logo a {
  display: flex;
}

.footer_left,
.footer_right {
  max-width: 400px;
  margin: 0 auto;
}

.footer_menu {
  display: flex;
  justify-content: space-around;
  align-items: center;
  margin-bottom: 28px;
}

.footer_menu * {
  color: #fff;
  letter-spacing: 0;
}

.footer_menu li a {
  display: inline-block;
  border-right: 1px solid #fff;
  padding: 0 10px;
  font-size: 10px;
}

.footer_menu li:last-child a {
  border: none;
}

.footer_flex_wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 28px;
}

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

.footer_sns_wrap a {
  display: block;
  width: 28px;
  margin-right: 15px;
}

.footer_logo_02 {
  width: 210px;
  margin-left: 10px;
}

.copyright {
  font-size: 10px;
  font-family: 'Sorts Mill Goudy', serif !important;
  text-align: center;
  color: #fff;
}

.footer_company {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}

.footer_company img {
  display: block;
  width: 60px;
  margin: 0 5px;
}

.footer_company p {
  font-family: 'ofl-sorts-mill-goudy';
  font-size: 10px;
  line-height: 1;
  margin-right: 5px;
}

.footer_company p:last-of-type {
  margin-right: 5px;
  margin-left: auto;
}

.footer_company img:last-of-type {
  margin-left: 5px;
}

@media (min-width: 769px) {
  #footer {
    padding: 50px 40px 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
  }

  .footer_left,
  .footer_right {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
  }

  .footer_left {
    max-width: 660px;
    height: 90px;
    align-items: flex-start;
  }

  .footer_right {
    max-width: 500px;
    width: 42%;
    height: 80px;
    margin-top: 5px;
    align-items: flex-end;
  }

  .footer_content_wrap {
    margin-bottom: 20px;
  }

  .footer_logo {
    width: 25%;
    width: 195px;
    margin: 0 20px 20px 0;
  }

  .footer_logo_02 {
    width: 350px;
  }

  .footer_menu {
    max-width: none;
    margin: 0 20px 0 0;
  }

  .footer_menu li a {
    font-size: 14px;
  }

  .footer_flex_wrap {
    max-width: none;
    justify-content: flex-end;
    flex-direction: row-reverse;
    margin-bottom: 0;
  }

  .copyright {
    text-align: right;
  }

  .footer_logo_02 {
    margin-left: 0;
    margin-right: 40px;
  }

  .footer_company {
    margin-bottom: 20px;
  }

  .footer_company img {
    width: 100px;
  }

  .footer_company p:last-of-type {
    margin-left: 20px;
  }
}

@media (min-width: 1160px) {
  #footer {
    height: auto;
  }

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

  .footer_logo {
    margin: 0 20px 0 0;
  }
}

.c-page-top {
  position: fixed;
  bottom: 10px;
  right: 15px;
  z-index: 20;

  @media (max-width: 767px) {
    bottom: 64px;
  }
}

.c-page-top__btn {
  display: block;
  width: calc(62 * var(--r));
  height: calc(62 * var(--r));
  padding: 0;
  border: none;
  background: var(--black);
  border-radius: 50%;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  position: relative;

  @media (max-width: 767px) {
    width: 60px;
  }
}

.c-page-top__btn::before {
  content: '';
  position: absolute;
  z-index: 2;
  inset: 0;
  margin: auto;
  width: calc(8 * var(--r));
  height: calc(8 * var(--r));
  border-top: 2px solid var(--white);
  border-right: 2px solid var(--white);
  rotate: -45deg;
}

.c-page-top__btn:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 2px;
}

.c-page-top__btn img {
  display: block;
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------------------------
top-concept & facility
-------------------------------------------------------------------------------*/
#top_concept {
  padding-top: 60px;
}

.top_concept_img,
.top_facility_img {
  width: 100%;
  height: 56vw;
  max-height: 466px;
  max-width: 683px;
  background-image: url(../../img/img_top_01.jpg);
  background-size: cover;
  background-position: top -20px center;
  margin-bottom: 50px;
}

.top_concept_txt,
.top_facility_txt {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  margin-bottom: 20px;
}

#top_facility {
  padding-bottom: 20px;
}

.top_facility_img {
  height: 73vw;
  background-image: url(../../img/img_top_02_sp.png);
  background-position: center right;
}

.facility_more_link {
  margin-bottom: 50px;
}

.facility_more_link_02 {
  margin: 20px auto 35px;
}

@media (min-width: 768px) {
  #top_concept {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    padding-top: 120px;
  }

  .top_concept_img {
    width: 50%;
    height: 34vw;
    background-position: top center;
    margin-bottom: 0;
  }

  .concept_more_link {
    margin: 0 60px 0 auto;
  }

  .top_concept_txt_wrap {
    width: 50%;
    margin: 0 0 0 60px;
    max-width: 620px;
    padding-bottom: 20px;
  }

  #top_facility {
    padding-bottom: 80px;
  }

  .top_facility_txt_wrap {
    padding: 160px 0 160px 40px;
    background-image: url(../../img/img_top_02.png);
    background-size: 870px;
    background-position: center right;
    max-width: 1340px;
  }

  .top_facility_txt {
    font-size: 20px;
    line-height: 2;
    margin-bottom: 40px;
  }

  .top_concept_txt {
    margin-bottom: 75px;
  }

  .facility_more_link {
    margin: 0 auto 0 0;
  }

  .facility_more_link_02 {
    width: 220px;
    margin-top: 50px;
  }

  .facility_flex_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 10px;
  }

  .facility_flex_wrap>div {
    width: 32%;
  }
}

@media (min-width: 1000px) {
  .top_facility_txt_wrap {
    padding: 260px 0 200px 80px;
    background-size: 1300px;
    background-position: center right;
  }

  .facility_flex_wrap {
    padding: 0;
  }

  .facility_more_link_02 {
    width: 240px;
  }
}

/* ------------------------------------------------------------------------------
top-fair
-------------------------------------------------------------------------------*/
#top_fair {
  padding: 60px 0;
  /*margin-bottom: 10px;*/
  background-color: #f0f0f0;
}

@media (min-width: 798px) {
  #top_fair {
    padding: 80px 0 25px;
  }
}

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

.tab li {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 49.7%;
  height: 40px;
  background-color: #c9c9c9;
  color: #fff;
  font-family: 'Yu Gothic Bold', 'Yu Gothic', serif;
  font-weight: bold;
  font-size: 12px;
}

.tab li:hover {
  opacity: 0.8;
  cursor: pointer;
}

.tab li.active {
  background-color: #c0b9a5;
  background-image: url(../../img/bg_diagonal.png);
  background-repeat: repeat-x;
  background-size: 100% 100%;
  background-position: center center;
}

.area .tab_content {
  border: 2px solid #c0b9a5;
  padding: 12px 12px 24px 12px;
  background-color: #fff;
}

@media (min-width: 798px) {
  .area .tab_content {
    padding: 30px;
    min-height: 360px;
  }
}

.area .tab_content.show {
  display: block;
}

.fair_thumbnail {
  width: 100%;
  height: 59vw;
  background-image: url(../../img/thumbnail_fair_01_sp.png);
  background-size: cover;
  background-position: center center;
  display: block;
  margin-bottom: 18px;
}

@media (min-width: 798px) {
  .fair_thumbnail {
    margin-bottom: 0;
  }
}

.fair_date {
  font-family: 'Tenor Sans', serif;
  display: flex;
  align-items: center;
  /* background-image: url(../../img/line_dot.png); */
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: contain;
  padding-bottom: 10px;
  margin-bottom: 15px;
}

.post-type-archive-fair .fair_date {
  display: flex;
}

.post-type-archive-fair .fair_date span {
  margin-bottom: 5px;
}

.post-type-archive-fair .fair_date_time_wrap,
.post-type-archive-fair .fair_date_wrap {
  width: auto;
}

.fair_date_time_wrap {
  padding-left: 20px;
  position: relative;
}

.fair_date_time_wrap::before {
  background: url(./img/ico_clock_pink.png) no-repeat left center / contain;
  content: '';
  display: block;
  height: 15px;
  left: 0;
  margin: -7.5px 0 0 0;
  position: absolute;
  top: 50%;
  width: 15px;
}

.fair_date p {
  font-size: 20px;
  line-height: 1;
  color: #636363;
}

.fair_date img {
  display: inline-block;
  height: auto;
  width: 15px !important;
  margin: 0 7px;
  vertical-align: middle;
}

.fair_date span {
  display: block;
  padding: 4px 4px 4px 10px;
  background-color: #998e77;
  color: #fff;
  font-size: 14px;
  font-family: 'Tenor Sans', sans-serif;
  width: auto;
}

.fair_date span:not(:last-of-type) {
  margin-right: 5px;
}

.fair_date_wrap strong {
  font-size: 70%;
  font-weight: normal;
}

.fair_tit {
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.6;
  margin-bottom: 10px;
}

.fair_tag {
  display: inline-block;
  border-bottom: 1px solid #767267;
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: bold;
  font-size: 12px;
  margin-bottom: 14px;
}

@media (max-width: 360px) {
  .reccomend .fair_date p {
    width: 70%;
  }
}

@media (min-width: 361px) and (max-width: 560px) {
  .reccomend .fair_date p {
    width: 50%;
  }
}

@media (min-width: 768px) {
  .fair_tag {
    font-size: 14px;
    margin-bottom: 10px;
  }
}

.fair_tag:not(:last-of-type) {
  margin-right: 10px;
}

.fair_txt {
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  line-height: 1.8;
  margin-bottom: 20px;
}

.fair_txt p {
  line-height: 1.8;
  margin-bottom: 20px;
}

.fair_detail_link {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', serif;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 200px;
  height: 50px;
  color: #fff;
  border: 1px solid #c0b9a5;
  background-color: #c0b9a5;
  margin: 0 auto;
}

.fair_detail_link:hover {
  background-color: #fff;
  color: #767267;
  opacity: 1;
}

.single-fair_info-wrap {
  border: 1px solid #c0b9a5;
  padding: 10px;
}

.single-fair_item {
  display: flex;
  align-items: center;
}

.single-fair_item:nth-child(n + 2) {
  margin-top: 8px;
}

.single-fair_tit {
  font-size: 14px;
  line-height: 1.2;
  background-color: #c9bb9e;
  min-width: 80px;
  padding: 2px 4px;
  border-radius: 20px;
  text-align: center;
  color: white;
}

.single-fair_txt {
  font-size: 14px;
  line-height: 1.2;
  margin-left: 10px;
}

.single-fair_time {
  position: relative;
  padding-left: 20px;
}

.single-fair_time::before {
  background: url(./img/ico_clock_pink.png) no-repeat left center / contain;
  content: '';
  display: block;
  height: 15px;
  left: 0;
  margin: -7.5px 0 0 0;
  position: absolute;
  top: 50%;
  width: 15px;
}

.single-fair_time span {
  display: inline-block;
  background-color: #ccbd9f;
  padding: 2px 4px;
  border-radius: 3px;
  color: white;
}

.single-fair_time span:nth-child(n + 2) {
  margin-left: 10px;
}

.single-fair_tag:nth-child(n + 2) {
  margin-left: 10px;
}

.single-fair_content-wrap {
  margin-top: 20px;
}

@media (min-width: 768px) {
  .fair_detail_link {
    font-size: 16px;
    height: 45px;
    margin: 0 0 0 auto;
  }
}

#top_fair .area {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  #top_fair .area {
    margin-bottom: 55px;
  }
}

.fair_note {
  font-weight: bold;
  margin-bottom: 35px;
}

@media (min-width: 768px) {
  #top_fair .fair_content_wrap {
    max-width: 900px;
  }

  .tab_content {
    justify-content: space-between;
    align-items: center;
    padding: 30px;
  }

  .tab_content.show {
    display: flex !important;
    align-items: flex-start;
  }

  .fair_thumbnail {
    width: 328px;
    height: 328px;
  }

  .fair_txt_wrap {
    width: calc(100% - 368px);
  }
}

@media (min-width: 769px) {
  .tab li {
    font-size: 20px;
    height: 64px;
  }

  .fair_date {
    padding-bottom: 13px;
    margin-bottom: 20px;
  }

  .fair_date p {
    display: flex;
    align-items: center;
    font-size: 32px;
  }

  .fair_date img {
    width: 24px;
    margin-right: 10px;
  }

  .fair_date span {
    font-size: 17px;
  }

  .fair_tit {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .fair_tag,
  p.fair_txt {
    font-size: 14px;
    margin-bottom: 25px;
  }
}

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

.fair_tag_title {
  font-size: 14px;
  margin-right: 10px;
}

/* ------------------------------------------------------------------------------
top-plan
-------------------------------------------------------------------------------*/
#top_plan {
  padding: 60px 40px;
  /* background-color: #f2f1ed; */
}

#top_plan h3 {
  font-size: 18px;
  font-weight: bold;
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  #top_plan h3 {
    font-size: 22px;
    letter-spacing: 3px;
  }
}

.plan_flex_item {
  display: block;
  max-width: 350px;
  margin: 0 auto 40px;
}

.plan_img_box {
  background-image: url(../../img/bg_border.png);
  background-position: right top 10px;
  position: relative;
  margin-bottom: 20px;
  padding: 0 10px 10px 0;
}

@media (min-width: 768px) {
  .plan_img_box {
    margin-bottom: 30px;
  }
}

.plan_img_box_img {
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 295px;
}

@media (min-width: 768px) {
  .plan_img_box_img {
    height: 337px;
  }
}

.weekday_icon {
  width: 60px;
  position: absolute;
  bottom: -20px;
  left: -20px;
}

@media (min-width: 768px) {
  .weekday_icon {
    width: 80px;
    bottom: -35px;
    left: -40px;
  }
}

.plan_txt {
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  line-height: 2;
  position: relative;
}

.plan_arrow {
  position: absolute;
  width: 30px;
  top: calc(50% - 6px);
  right: -20px;
}

@media (min-width: 768px) {
  #top_plan {
    padding: 85px 30px 30px;
  }

  .plan_flex_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    max-width: 1080px;
    margin: 0 auto 10px;
  }

  .plan_flex_item {
    width: 337px;
    margin: 0 auto 40px;
  }
}

/* ------------------------------------------------------------------------------
top-report
-------------------------------------------------------------------------------*/
#top_report {
  padding: 50px 0 30px;
}

@media (min-width: 768px) {
  #top_report {
    padding: 80px 0 60px;
  }
}

#top_report .slider {
  margin-bottom: 50px;
}

#top_report ul li a {
  display: flex;
  flex-flow: column;
  align-items: center;
  width: 85%;
  margin: 0 auto;
}

#top_report .slider li.slick-slide {
  width: 200px;
}

#top_report .report_thumbnail {
  width: 100%;
  height: 200px;
  margin-bottom: 20px;
  background-size: cover;
  background-position: center;
}

#top_report .slick-prev,
#top_report .slick-next {
  top: 100px;
  width: 10px;
}

#top_report .slick-prev {
  left: 0;
}

#top_report .slick-next {
  right: 0;
}

#top_report .report_date {
  font-family: 'Tenor Sans', serif;
  margin-bottom: 10px;
  line-height: 1;
}

#top_report .report_tit {
  font-family: 'Tenor Sans', serif;
  font-size: 16px;
  color: #a40a56;
  margin-bottom: 15px;
  line-height: 1;
}

#top_report .report_txt {
  margin-bottom: 25px;
  line-height: 1.625;
}

.slick-dots li.slick-active button::before {
  color: #a40a56;
}

.tit_report {
  background-size: 110px 1px;
}

@media (min-width: 768px) {
  .tit_report {
    background-size: 200px 1px;
  }

  #top_report .report_thumbnail {
    width: 300px;
    height: 300px;
  }

  #top_report .report_flex_wrap {
    display: flex !important;
    justify-content: space-around;
    align-items: flex-start;
    flex-wrap: wrap;
    max-width: 1080px;
    margin: 0 auto;
  }

  #top_report .report_flex_wrap li {
    margin-bottom: 40px;
    width: 300px;
  }

  #top_report .report_date {
    font-size: 14px;
  }

  #top_report .report_tit {
    font-size: 21px;
    margin-bottom: 20px;
  }
}

/* ------------------------------------------------------------------------------
#instagram
-------------------------------------------------------------------------------*/
#instagram {
  padding: 50px 0 5px;
  background-color: #f3edf1;
}

.insta_icon {
  display: block;
  width: 37px;
  margin: 0 auto 15px;
}

.insta_id {
  font-family: 'ofl-sorts-mill-goudy';
  text-align: center;
  margin-bottom: 25px;
}

@media (min-width: 769px) {
  .insta_id {
    margin-bottom: 40px;
    line-height: 1.5;
  }
}

.insta_more_link {
  background-image: url(../../img/ico_link.png);
  background-size: 12px;
  background-position: right 45px center;
}

.insta_img_pc_wrap {
  display: none;
}

.insta_img_sp_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 30px;
}

.insta_img_sp_wrap img:not(:nth-of-type(3n)) {
  margin-right: 4px;
}

.insta_img_sp_wrap img {
  display: block;
  width: calc((100% - 8px) / 3);
  margin-bottom: 4px;
  max-width: 190px;
}

.insta_img_flex_wrap img {
  height: auto;
}

.insta_tit {
  background-size: 110px 1px;
}

@media (min-width: 1000px) {
  .insta_tit {
    background-size: 200px 1px;
    padding-bottom: 25px;
    margin-bottom: 35px;
  }
}

@media (min-width: 1000px) {
  #instagram {
    padding: 0;
  }

  .insta_tit {
    font-size: 28px;
  }

  .insta_flex_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .insta_txt_wrap {
    width: 30%;
    max-width: 400px;
    padding: 80px 10px 15px;
  }

  .insta_img_wrap {
    width: 70%;
  }

  .insta_more_link {
    width: 230px;
    background-position: right 31px top 17px;
    letter-spacing: 0.05em;
  }

  .insta_img_pc_wrap {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 70%;
  }

  .insta_img_pc_wrap img {
    margin: 0;
    display: block;
  }

  .insta_img_flex_wrap {
    width: 40%;
    display: flex;
    flex-wrap: wrap;
    margin-right: 4px;
  }

  .insta_large_img {
    width: 40%;
    margin-right: 4px !important;
  }

  .insta_img_flex_wrap div {
    width: 49.5%;
  }

  .insta_img_flex_wrap div:nth-of-type(2n-1) {
    margin-right: 1%;
  }

  .insta_img_column_wrap {
    width: 20%;
  }

  .insta_img_column_wrap img {
    width: 100%;
  }

  .insta_img_flex_wrap div:first-of-type,
  .insta_img_flex_wrap div:nth-of-type(2),
  .insta_img_column_wrap img:first-of-type {
    margin-bottom: 4px;
  }

  .insta_img_sp_wrap {
    display: none;
  }
}

@media (min-width: 1380px) {
  .insta_flex_wrap {
    max-width: 2000px;
    margin: 0 auto;
  }
}

/* ------------------------------------------------------------------------------
#snservice(Social Networking Service)
-------------------------------------------------------------------------------*/
#snservice {
  padding: 60px 30px;
  background-color: #eceae4;
}

.snservice_txt {
  margin-bottom: 20px;
  text-align: center;
}

.snservice_flex_wrap>div {
  margin: 20px 0;
  text-align: center;
}

.snservice_flex_wrap img {
  border: 1px solid #000000;
}

@media (min-width: 769px) {
  .snservice_txt {
    margin-bottom: 30px;
  }

  #snservice {
    padding: 80px 20px;
  }

  .snservice_flex_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  .snservice_flex_wrap {
    display: flex;
    align-items: flex-start;
    padding: 0 10px;
  }

  .snservice_flex_wrap>div {
    margin: 0 20px;
    width: 40%;
    max-width: 500px;
  }
}

@media (min-width: 1000px) {
  .snservice_flex_wrap {
    padding: 0;
  }
}

/* ------------------------------------------------------------------------------
#planinfo(Social Networking Service)
-------------------------------------------------------------------------------*/
#planinfo {
  padding: 60px 30px;
  background-color: #f2f1ed;
}

.planinfo_txt {
  margin-bottom: 20px;
  text-align: center;
}

.planinfo_flex_wrap>div {
  margin: 20px 0;
  text-align: center;
}

.planinfo_flex_wrap img {
  margin-bottom: 1.5rem;
}

@media (min-width: 769px) {
  .planinfo_txt {
    margin-bottom: 30px;
  }

  #snservice {
    padding: 80px 20px;
  }

  .planinfo_flex_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  .planinfo_flex_wrap {
    display: flex;
    align-items: flex-start;
    padding: 0 10px;
  }

  .planinfo_flex_wrap>div {
    margin: 0 20px;
    width: 40%;
    max-width: 500px;
  }
}

@media (min-width: 1000px) {
  .planinfo_flex_wrap {
    padding: 0;
  }
}

/* ------------------------------------------------------------------------------
#planinfo(Social Networking Service)
-------------------------------------------------------------------------------*/
#planinfo {
  padding: 60px 30px;
  background-color: #f2f1ed;
}

.planinfo_txt {
  margin-bottom: 20px;
  text-align: center;
}

.planinfo_flex_wrap>div {
  margin: 20px 0;
  text-align: center;
}

.planinfo_flex_wrap img {
  margin-bottom: 1.5rem;
}

@media (min-width: 769px) {
  .planinfo_txt {
    margin-bottom: 30px;
  }

  #snservice {
    padding: 80px 20px;
  }

  .planinfo_flex_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  .planinfo_flex_wrap {
    display: flex;
    align-items: flex-start;
    padding: 0 10px;
  }

  .planinfo_flex_wrap>div {
    margin: 0 20px;
    width: 40%;
    max-width: 500px;
  }
}

@media (min-width: 1000px) {
  .planinfo_flex_wrap {
    padding: 0;
  }
}

/* ------------------------------------------------------------------------------
#contact
-------------------------------------------------------------------------------*/
#contact {
  padding: 60px 30px;
}

.contact_txt {
  margin-bottom: 20px;
  text-align: center;
}

@media (min-width: 769px) {
  .contact_txt {
    margin-bottom: 30px;
  }
}

.contact_flex_wrap {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

@media (min-width: 769px) {
  .contact_flex_wrap {
    margin-bottom: 10px;
  }
}

#contact .tel_link {
  display: block;
  width: 185px;
  margin: 0 auto 15px;
}

@media (min-width: 769px) {
  #contact .tel_link {
    margin-bottom: 20px;
  }
}

#contact .hours_txt {
  font-size: 10px;
  transform: translateX(4px);
}

#contact .menu_contact_wrap {
  display: block;
  max-width: 100%;
}

#contact .menu_contact_wrap>div {
  text-align: center;
}

@media (min-width: 769px) {
  #contact {
    padding: 80px 20px;
  }

  .tit_contact {
    background-size: 220px 1px;
    margin-bottom: 30px;
  }

  .contact_flex_wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  #contact .menu_info_flex_wrap {
    margin: 0;
    max-width: none;
  }

  #contact .document_link {}

  #contact .menu_info_flex_wrap .info_link {
    width: 280px;
    margin: 0 10px 40px 10px;
  }

  #contact .info_link.reserve_link {
    max-width: 440px;
    margin: 0 10px 40px 10px;
  }

  #contact .info_link p {
    height: 120px;
    font-size: 24px;
    background-size: 38px;
  }

  #contact .info_link.reserve_link p {
    font-size: 28px;
  }

  #contact .document_link p {
    background-position: left 50px center;
    padding-left: 50px;
  }

  #contact .contact_link p {
    background-position: left 30px center;
    padding-left: 50px;
  }

  #contact .tel_link {
    width: 270px;
  }

  #contact .hours_txt {
    font-size: 16px;
    transform: translateX(7px);
  }
}

/* ------------------------------------------------------------------------------
#access
-------------------------------------------------------------------------------*/
#access {
  padding: 60px 0;
  background-color: #eceae4;
}

.access_adress {
  font-size: 20px;
  line-height: 1.7;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  margin-bottom: 10px;
}

@media (min-width: 768px) {
  .access_adress {
    margin-bottom: 30px;
  }
}

.access_txt_wrap {
  margin-bottom: 30px;
}

.access_img_wrap iframe {
  width: 100%;
  height: 300px;
}

@media (min-width: 768px) {
  .access_img_wrap iframe {
    height: 385px;
  }
}

.access_txt {
  line-height: 2;
  margin-bottom: 20px;
  font-size: 13px;
}

@media (min-width: 768px) {
  .access_txt {
    font-size: 16px;
    margin-bottom: 10px;
  }
}

.access_more_link {
  margin: 0 10px 0 auto;
  width: 180px;
}

@media (min-width: 768px) {
  #access {
    padding: 60px 20px;
  }

  .access_flex_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: row-reverse;
  }

  .access_txt_wrap {
    margin: 0 0 0 50px;
    width: 30%;
    max-width: 540px;
  }

  .access_img_wrap {
    width: 65%;
    max-width: 683px;
  }

  .access_txt {
    margin-bottom: 30px;
  }

  .access_more_link {
    margin: 0 10px 0 auto;
    width: 224px;
  }
}

@media (min-width: 769px) {
  .access_adress {
    font-size: 22px;
  }
}

/* ------------------------------------------------------------------------------
下層共通
-------------------------------------------------------------------------------*/
.low {
  padding-top: 0;
}

@media (min-width: 769px) {
  .low {
    padding-top: 0;
  }
}

/* ------------------------------------------------------------------------------
conceptページ
-------------------------------------------------------------------------------*/
.concept_tit_wrap {
  background-image: url(../../img/img_concept_01.webp);
  background-size: 100%;
  background-position: top center;
  background-size: cover;
  padding-top: 110px;
  padding-bottom: 70px;

  @media (min-width: 768px) {
    padding-top: 70px;
    background-size: contain;
  }
}

.concept_tit_txt_wrap {
  background-color: color-mix(in srgb, var(--bg-black) 50%, transparent);
  padding: 60px 20px;
  box-shadow: 0 0 10px #9b9585;
}

.concept_tit_wrap * {
  color: #fff;
  text-align: center;
}

.concept_tit_wrap p {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

.concept_tit_wrap p:first-of-type {
  font-size: 18px;
  line-height: 1.6;
  margin-bottom: 20px;
}

.concept_tit_wrap p:nth-of-type(2) {
  line-height: 2.375;
}

#concept h2.concept_tit {
  background-image: url(../../img/line_white.png);
  background-size: 105px 1px;
  margin-bottom: 30px;
}

.concept_content_list_item:not(:last-of-type) {
  margin-bottom: 15px;
}

.concept_img_wrap {
  position: relative;
  z-index: 2;
}

.concept_img_wrap img {
  display: block;
}

.concept_txt_img {
  position: absolute;
  width: 110px;
  right: 5px;
  bottom: -20px;
}

.concept_txt_wrap {
  background-color: #eceae4;
  padding-top: 70px;
  padding-bottom: 25px;
  transform: translateY(-35px);
  z-index: 1;
}

.concept_sub_tit {
  font-size: 20px;
  margin-bottom: 15px;
}

.concept_sub_tit span {
  font-family: 'ofl-sorts-mill-goudy-italic';
  font-size: 18px;
  margin-right: 5px;
  letter-spacing: 0.08em;
}

.concept_txt {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  line-height: 2;
  letter-spacing: 0.05em;
}

#concept #contact {
  padding: 20px 30px 60px;
}

@media (min-width: 769px) {
  .concept_tit_wrap {
    width: 100%;
    max-width: none;
    background-size: cover;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 140px;
  }

  .concept_tit_txt_wrap {
    width: 90%;
    max-width: 800px;
  }

  #concept h2.concept_tit {
    font-size: 20px;
    margin-bottom: 40px;
  }

  .concept_tit_wrap p:first-of-type {
    font-size: 32px;
    margin-bottom: 40px;
  }

  .concept_content_list_item {
    margin-bottom: 30px;
  }

  .concept_txt_img {
    width: 220px;
    bottom: -40px;
    right: auto;
    left: 20px;
  }

  .concept_img_wrap {
    width: 90%;
  }

  .concept_txt_wrap {
    width: 100%;
    max-width: none;
    padding: 160px 5% 80px;
    transform: translateY(-100px);
  }

  .concept_txt_content_wrap {
    max-width: 1240px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .concept_sub_tit {
    font-size: 30px;
    margin-bottom: 0;
    margin-right: 30px;
    width: 250px;
  }

  .concept_sub_tit span {
    font-size: 26px;
    margin-right: 8px;
  }

  .concept_txt {
    width: calc(95% - 280px);
  }

  #concept #contact {
    padding: 0 20px 80px;
  }
}

/* ------------------------------------------------------------------------------
#report
-------------------------------------------------------------------------------*/
#report .tit_03 {
  background-image: url(../../img/bg_report_01.jpg);
  background-position: top 0px left -75px;
}

#report h3.tit_02 {
  font-size: 18px;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-weight: bold;
  line-height: 1;
  padding-bottom: 10px;
  text-align: center;
  background-image: url(../../img/line_gray.png);
  background-position: bottom center;
  background-size: 75px 1px;
  margin: 30px 0;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  #report h3.tit_02 {
    font-size: 30px;
    margin: 0 0 100px;
    padding-bottom: 15px;
  }
}

#report .report_content_wrap {
  padding-top: 35px;
  padding-bottom: 80px;
  background-color: #f0f0f0;
}

#report .report_content_wrap .c-title {
  text-align: center;
}

#report .report_txt {
  font-weight: bold;
  line-height: 2;
  text-align: center;
  margin-bottom: 30px;
}

#report .report_list {
  display: flex;
  justify-content: left;
  align-items: flex-start;
  flex-wrap: wrap;
}

#report .report_list li {
  width: calc(50% - 7.5px);
  margin: 0 3px 40px;
  box-sizing: border-box;
  padding: 10px 6px;
  background-color: #fff;
}

#report .report_thumbnail {
  position: relative;
  width: 100%;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  #report .report_thumbnail {
    margin-bottom: 30px;
  }
}

#report .report_thumbnail img {
  display: block;
  box-shadow: 0 0 5px #aaa;
  width: 100%;
  max-height: 249px;
}

#report .report_thumbnail a.more {
  display: block;
  position: absolute;
  bottom: 3px;
  right: -5px;
  color: #fff;
  font-family: 'ofl-sorts-mill-goudy';
  font-size: 10px;
  line-height: 1;
  text-shadow: 0 0 3px #000;
}

@media (min-width: 768px) {
  #report .report_thumbnail a.more {
    bottom: 10px;
    right: -10px;
  }
}

#report .report_thumbnail a span {
  letter-spacing: -0.05em;
}

.report_name {
  line-height: 1;
  color: #998e77;
  text-align: center;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-size: 15px;
  margin-bottom: 12px;
}

.report_season {
  font-size: 10px;
  letter-spacing: 0.05em;
  text-align: center;
  line-height: 1;
}

#report .report_season span {
  font-family: 'ofl-sorts-mill-goudy';
  text-transform: uppercase;
}

.pager_wrap .wp-pagenavi {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 700px;
  margin: 0 auto;
}

.wp-pagenavi a,
.wp-pagenavi span {
  margin: 2px 2px 10px 2px !important;
}

.pager_wrap span,
.pager_wrap a.page {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-size: 12px;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: none;
}

.pager_wrap .current {
  color: #998e77;
  border: 1px solid #998e77 !important;
}

.pager_wrap .previouspostslink,
.pager_wrap .nextpostslink {
  font-family: 'ofl-sorts-mill-goudy';
  letter-spacing: 0.1em;
  font-size: 10px;
  border: none;
}

.pager_wrap .previouspostslink {
  background-image: url(../../img/arrow_02.png);
  background-size: 20px;
  background-position: top 3px left;
  padding-left: 30px;
}

@media (min-width: 769px) {
  .pager_wrap .previouspostslink {
    background-size: 35px;
    background-position: top 0 left;
    padding-left: 55px;
  }
}

.pager_wrap .nextpostslink {
  background-image: url(../../img/arrow.png);
  background-size: 20px;
  background-position: top 3px right;
  padding-right: 30px;
}

@media (min-width: 769px) {
  .pager_wrap .nextpostslink {
    background-size: 35px;
    background-position: top 0 right;
    padding-right: 55px;
  }
}

.pager_wrap .extend {
  border: none;
  background-image: url(../../img/line_gray.png);
  background-size: 165px 1px;
  background-position: center;
  font-weight: normal;
  padding-bottom: 15px;
}

@media (min-width: 769px) {
  #report .tit_03 {
    background-position: top left;
  }

  #report .report_list li {
    width: calc(100% / 3 - 40px / 3);
    margin-bottom: 60px;
    margin-right: 4px;
    margin-left: 4px;
    padding-bottom: 24px;
    padding-top: 24px;
  }

  #report .report_content_wrap {
    padding-top: 50px;
  }

  #report h3.tit_02,
  #report .report_txt {
    margin-bottom: 65px;
  }

  #report .report_list {
    width: 90%;
  }

  .report_name {
    font-size: 18px;
    letter-spacing: 0.15em;
  }

  .pager_wrap .wp-pagenavi {
    justify-content: center;
  }

  .pager_wrap span,
  .pager_wrap a.page {
    width: 33px;
    height: 33px;
    border-radius: 16.5px;
    font-size: 18px;
    margin: 0 10px !important;
    padding: 3px 4px 0px 5px !important;
  }

  .pager_wrap a.page {
    margin: 0 10px !important;
  }

  .pager_wrap .previouspostslink,
  .pager_wrap .nextpostslink {
    font-size: 12px;
  }

  .pager_wrap .previouspostslink {
    margin: 5px auto 0 0 !important;
  }

  .pager_wrap .nextpostslink {
    margin: 5px 0 0 auto !important;
  }

  .wp-pagenavi span:nth-child(1) {
    margin: 0 15px 0 auto !important;
  }

  .wp-pagenavi span:last-child {
    margin: 0 auto 0 15px !important;
  }
}

/* ------------------------------------------------------------------------------
#detail (report下層)
-------------------------------------------------------------------------------*/
#detail #contact {
  background-color: #eceae4;
}

.detail_slider_wrap {
  width: 100%;
  height: 182px;
  background-color: #f3edf1;
  position: relative;
  margin-bottom: 65px;
}

.detail_slider_container {
  position: absolute;
  bottom: -40px;
  left: 5%;
}

#detail .detail_slider {
  width: 260px;
}

#detail .detail_slider_container {
  background-image: url(../../img/bg_detail_slider.png);
  background-size: 250px;
  background-position: bottom right;
}

.slick-dotted.slick-slider {
  margin-bottom: 0;
}

#detail .slick-vertical .slick-slide {
  width: 260px !important;
  height: 176px;
}

#detail .slick-vertical .slick-slide img {
  width: 250px;
  display: block;
}

#detail .slick-dots {
  transform: rotate(90deg);
  bottom: 118px;
  right: 125px;
  text-align: right;
}

@media (min-width: 768px) {
  #detail .slick-dots {
    bottom: 118px;
  }
}

@media (min-width: 1200px) {
  #detail .slick-dots {
    right: 455px;
  }
}

.detail_data_tit {
  font-size: 20px;
  color: #ccbd9f;
  font-family: 'ofl-sorts-mill-goudy';
  width: 75%;
  margin-left: auto;
  background-image: url(../../img/line_dot.png);
  background-position: bottom left;
  background-size: contain;
  margin-bottom: 5px;
  letter-spacing: 0.15em;
}

.detail_data_wrap {
  margin-bottom: 30px;
}

.detail_data_wrap table {
  width: 75%;
  margin-left: auto;
}

.detail_data_wrap th img {
  width: auto;
  display: block;
}

.detail_data_wrap .name_img {
  height: 25px;
  transform: translateY(12px);
}

.detail_data_wrap .date_img,
.detail_data_wrap .season_img {
  height: 16px;
  transform: translateY(4px);
}

.detail_data_wrap td p {
  font-size: 12px;
  padding-left: 5px;
}

.detail_data_wrap .name_txt {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

.detail_data_wrap .date_txt {
  font-family: 'Tenor Sans', serif;
}

.detail_data_wrap .season_txt {
  font-family: 'ofl-sorts-mill-goudy';
}

@media (min-width: 768px) {
  .detail_flex_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: -30px;
    left: 10%;
    width: 80%;
    max-width: 1060px;
  }

  .detail_slider_container,
  .detail_slider_wrap {
    position: static;
    width: auto;
    margin: 0;
    background-color: inherit;
  }

  .detail_content_wrap {
    position: relative;
    background-color: #f0f0f0;
    width: 100%;
    height: 35vw;
    max-height: 450px;
    margin-bottom: 100px;
  }

  .detail_data_tit,
  .detail_data_wrap table {
    width: 100%;
  }

  .detail_data_wrap {
    width: calc(100% - 280px);
    transform: translateY(-30px);
    margin: 0;
  }
}

@media (min-width: 769px) {
  .detail_data_tit {
    font-size: 26px;
  }

  .detail_data_wrap th {
    width: 200px;
  }

  .detail_data_wrap td p {
    font-size: 14px;
  }

  .detail_data_wrap .name_img {
    height: 35px;
    transform: translateY(17px);
  }

  .detail_data_wrap .date_img,
  .detail_data_wrap .season_img {
    height: 23px;
    transform: translateY(7px);
  }
}

@media (min-width: 1200px) {
  .detail_content_wrap {
    height: 450px;
    margin-bottom: 160px;
  }

  .detail_data_wrap {
    width: calc(100% - 610px);
  }

  .detail_flex_wrap {
    bottom: -130px;
  }

  #detail .detail_slider_wrap {
    height: 456px;
  }

  #detail .detail_slider {
    width: 580px;
  }

  #detail .slick-vertical .slick-slide {
    width: 580px !important;
    height: 394px;
  }

  #detail .detail_slider_container {
    background-size: 560px;
  }

  #detail .slick-vertical .slick-slide img {
    width: 560px;
  }
}

.detail_txt_wrap {
  max-width: 1100px;
}

.detail_txt {
  padding-top: 40px;
  border-top: 1px solid #767267;
}

.detail_txt p {
  line-height: 1.92;
  margin-bottom: 25px;
  letter-spacing: 0.1em;
  font-size: 13px;
}

.detail_img_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 5px 0 30px;
}

.detail_img_wrap img {
  display: block;
  width: 48%;
  max-width: 490px;
}

@media (min-width: 769px) {
  .detail_txt_wrap {
    width: 90%;
    border-top: 1px solid #767267;
  }

  .detail_txt {
    border: none;
    padding: 70px 50px;
  }

  .detail_txt p {
    font-size: 15px;
  }
}

.datail_message_wrap {
  background-color: #f5f4f1;
  position: relative;
  padding: 5px 15px 30px 25px;
  background-image: url(../../img/bg_diagonal_02.png);
  background-size: 12px 100%;
  background-position: top left;
  margin-bottom: 35px;
}

.datail_message_icon {
  position: absolute;
  top: -2px;
  left: 30px;
  width: 23px;
}

.detail_message_txt_img {
  position: absolute;
  bottom: 30px;
  right: -10px;
  width: 120px;
}

.datail_message_tit {
  color: #a40a56;
  font-size: 10px;
  display: flex;
  align-items: center;
  letter-spacing: 0.05em;
  padding-left: 50px;
  margin-bottom: 20px;
}

.datail_message_tit span {
  font-family: 'ofl-sorts-mill-goudy';
  font-size: 15px;
  margin-right: 10px;
  margin-bottom: -3px;
  letter-spacing: 0.1em;
}

.datail_message_txt {
  line-height: 1.875;
  margin-bottom: 20px;
}

@media (min-width: 769px) {
  .datail_message_txt {
    font-size: 14px;
  }
}

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

.datail_message_planner img {
  display: block;
  width: 80px;
  height: auto;
  margin-right: 15px;
}

.datail_message_planner p {
  font-weight: bold;
}

@media (min-width: 769px) {
  .detail_message_content_wrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
  }

  .datail_message_container {
    max-width: none;
  }

  .datail_message_wrap {
    width: 95%;
    max-width: calc(50% + 500px);
    margin-left: auto;
    padding-left: 100px;
    padding-top: 22px;
    padding-bottom: 60px;
    margin-bottom: 65px;
    min-height: 470px;
  }

  .datail_message_icon {
    width: 40px;
    left: 50px;
  }

  .detail_message_txt_img {
    width: 210px;
    left: -20px;
    bottom: 50px;
  }

  .datail_message_tit {
    padding-left: 10px;
    font-size: 12px;
  }

  .datail_message_tit span {
    font-size: 22px;
    margin-right: 15px;
  }

  .datail_message_txt {
    width: 70%;
    max-width: 650px;
  }

  .datail_message_planner {
    display: block;
    margin-right: 30px;
  }

  .datail_message_planner img {
    width: 160px;
    margin-right: 0;
    margin-bottom: 10px;
  }

  .datail_message_planner p {
    text-align: center;
  }
}

.detail_pager_wrap {
  border-top: 1px solid #767267;
  width: 92%;
  display: block;
  margin: 0 auto;
}

.detail_pager {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px 0;
}

.detail_pager a.detail_link {
  font-size: 10px;
  padding-left: 15px;
  background-image: url(../../img/ico_archive.png);
  background-size: 10px;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  background-position: center left;
}

.detail_pager a:not(.detail_link) {
  font-family: 'ofl-sorts-mill-goudy';
  letter-spacing: 0.1em;
  font-size: 10px;
  border: none;
}

.detail_pager .next a {
  background-image: url(../../img/arrow.png);
  background-size: 20px;
  background-position: top 2px right;
  padding-right: 30px;
}

.detail_pager .prev a {
  background-image: url(../../img/arrow_02.png);
  background-size: 20px;
  background-position: top 2px left;
  padding-left: 30px;
}

@media (min-width: 769px) {
  .detail_pager_wrap {
    max-width: 1100px;
    padding: 0 50px;
  }

  .detail_pager {
    padding: 50px 0;
  }

  .detail_pager a {
    font-size: 14px !important;
  }

  .detail_pager a.detail_link {
    padding-left: 20px;
  }
}

#recommended {
  background-color: #f0f0f0;
  padding: 50px 0 10px;
}

.recommended_tit {
  text-align: center;
  font-family: 'ofl-sorts-mill-goudy';
  font-size: 20px;
  letter-spacing: 0.18em;
  color: #ccbd9f;
}

.recommended_txt {
  line-height: 1;
  text-align: center;
  margin-bottom: 40px;
  font-size: 10px;
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: normal;
  color: #ccbd9f;
}

#recommended .report_list li:last-of-type {
  display: none;
}

@media (min-width: 769px) {
  #recommended .report_list li:last-of-type {
    display: block;
  }

  #recommended .report_list {
    max-width: 1000px;
  }

  #recommended {
    padding: 100px 0 35px;
  }

  .recommended_tit {
    font-size: 28px;
    line-height: 2;
  }

  .recommended_txt {
    font-size: 12px;
  }
}

/* ------------------------------------------------------------------------------
#fair
-------------------------------------------------------------------------------*/
#fair h2.tit_03 {
  background-image: url(../../img/bg_fair_pc.jpg);
}

#fair h3.fair_tit {
  font-size: 18px;
  line-height: 1;
  padding-bottom: 10px;
  text-align: center;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  background-image: url(../../img/line_gray.png);
  background-position: bottom center;
  background-size: 65px 1px;
  margin: 30px 0;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  #fair h3.fair_tit {
    font-size: 30px;
    margin: 50px 0 100px;
    padding-bottom: 15px;
  }
}

#fair .reccomend {
  padding: 20px 0;
  background-color: #f3edf1;
}

@media (min-width: 768px) {
  #fair .reccomend {
    padding: 40px 0 80px;
  }
}

.fair_recommend_tit {
  display: flex;
  flex-flow: column;
  align-items: center;
  line-height: 1;
  font-size: 18px;
  color: #c0b9a5;
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  font-weight: bold;
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .fair_recommend_tit {
    font-size: 30px;
    margin-bottom: 30px;
  }
}

.fair_recommend_tit span {
  font-size: 10px;
  font-family: 'ofl-sorts-mill-goudy';
  display: block;
  margin-top: 10px;
  letter-spacing: 0.09em;
}

@media (min-width: 768px) {
  .fair_recommend_tit span {
    font-size: 18px;
    margin-top: 20px;
  }
}

#fair .area {
  padding: 0 20px;
  max-width: 1000px;
  margin: 0 auto;
}

#fair .area .flex_wrap {
  display: flex;
  justify-content: space-between;
  max-width: 620px;
  margin: 0 auto;
}

#fair .area .flex_wrap .fair_detail_link {
  width: calc(50% - 5px);
  font-size: 12px;
  letter-spacing: 1px;
}

#fair .area .flex_wrap .fair_reserve_link {
  background-color: #767267;
  border: 1px solid #767267;
  letter-spacing: 1px;
}

#fair .area .flex_wrap .fair_reserve_link:hover {
  background-color: #fff;
  color: #767267;
  opacity: 1;
}

#fair .fair_thumbnail {
  height: 72vw;
  max-width: 500px;
  max-height: 500px;
  margin: 0 auto 18px;
}

#fair .slick-prev {
  left: -19px;
}

#fair .slick-prev:before {
  background-image: url(../../img/arrow_prev_pink.png);
  width: 10px;
}

#fair .slick-next {
  right: -27px;
}

#fair .slick-next:before {
  background-image: url(../../img/arrow_next_pink.png);
  width: 10px;
}

#fair .choose {
  padding-top: 35px;
}

#fair h3.choose_tit {
  text-align: center;
  font-family: 'Yu Gothic Bold', 游ゴシック, 'ＭＳ ゴシック', sans-serif;
  color: #c0b9a5;
  padding: 10px 0;
  border-top: 1px solid #c0b9a5;
  border-bottom: 1px solid #c0b9a5;
  margin-bottom: 15px;
  font-size: 14px;
}

#fair .calendar_wrap {
  padding-bottom: 20px;
  border-bottom: 1px solid #c0b9a5;
  margin-bottom: 25px;
}

#fair .choose_txt {
  color: #636363;
  font-family: 'Yu Gothic Bold', 游ゴシック, 'ＭＳ ゴシック', sans-serif;
  font-weight: bold;
  text-align: center;
  line-height: 1.58;
  letter-spacing: 0.05em;
  margin-bottom: 25px;
}

#fair .fair_list li {
  margin-bottom: 20px;
}

#fair .fair_list_wrap {
  padding-bottom: 20px;
}

#fair #contact {
  background-color: #eceae4;
}

#fair .reccomend {
  background-color: inherit;
}

@media (min-width: 480px) {
  #fair .area {
    padding: 0 4%;
  }
}

@media (min-width: 768px) {
  #fair .area .tab_content .tab_content_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px;
  }

  #fair .area .flex_wrap .fair_detail_link:nth-child(2) {
    margin-left: 20px;
  }

  #fair .fair_thumbnail {
    max-width: 270px;
    max-height: 270px;
    margin: 0;
  }

  #fair .fair_txt_wrap {
    width: calc(100% - 305px);
  }
}

@media (min-width: 769px) {
  #fair h2.tit_03 {
    background-image: url(../../img/bg_fair_pc.jpg);
    background-size: cover;
    background-position: bottom center;
  }

  #fair .slick-prev {
    left: -24px;
  }

  #fair .slick-next {
    right: -32px;
  }

  #fair .slick-prev:before,
  #fair .slick-next:before {
    width: 15px;
  }

  #fair .area .flex_wrap .fair_detail_link {
    font-size: 16px;
  }

  #fair h3.choose_tit {
    font-size: 22px;
    padding: 15px 0;
    margin-bottom: 30px;
  }

  #fair .calendar_wrap {
    padding-bottom: 40px;
    margin-bottom: 55px;
  }

  #fair .choose_txt {
    margin-bottom: 55px;
  }

  #fair .fair_list li {
    margin-bottom: 40px;
  }

  #fair .fair_list_wrap {
    padding-bottom: 60px;
  }
}

/* ------------------------------------------------------------------------------
#post (fair下層)
-------------------------------------------------------------------------------*/
.post_content {
  padding: 35px 0 0;
  margin-bottom: 30px;
}

#post .area {
  /* padding: 0 30px; */
  max-width: 1000px;
  margin: 0 auto;
}

#post .tab_content {
  display: block;
  padding: 0;
  border: none;
  border-bottom: 1px solid #c0b9a5;
  padding-bottom: 20px;
}

#post .fair_tit {
  padding-bottom: 10px;
  margin-bottom: 15px;
  line-height: 1.58;
  font-family: YuMincho, 'Yu Mincho', serif;
}

#post .fair_date {
  display: flex;
  flex-wrap: wrap;
  background: none;
  margin-bottom: 10px;
  font-size: 12px;
  color: #a40a56;
  font-family: 'Yu Gothic Bold', 游ゴシック, 'ＭＳ ゴシック', sans-serif;
  font-weight: bold;
  padding-bottom: 0;
}

.fair_date .title strong {
  padding-right: 25px;
  position: relative;
  width: auto;
}

.fair_date .title strong::before {
  background: url(./img/ico_clock_pink.png) no-repeat left center / contain;
  content: '';
  display: block;
  height: 15px;
  right: 5px;
  margin: -7.5px 0 0 0;
  position: absolute;
  top: 50%;
  width: 15px;
}

.fair_date .event_time {
  display: flex;
  flex-wrap: wrap;
  width: auto;
}

#post .fair_date span {
  font-family: 'Tenor Sans', serif;
  font-weight: normal;
  margin: 3px 5px 3px 0;
}

#post .post_content .fair_reserve_link {
  border: 1px solid #767267;
  background-color: #767267;
  width: 100%;
}

#post .post_content .fair_reserve_link:hover {
  background-color: #fff;
  cursor: #767267;
  opacity: 1;
}

#post .fair_thumbnail {
  width: 400px;
  height: 315px;
  max-width: 100%;
  background-size: cover;
  margin: 0 auto 18px;
}

@media (max-width: 360px) {
  .fair_date .title {
    width: 40%;
  }

  .fair_date .event_time {
    width: 60%;
  }
}

@media (min-width: 361px) and (max-width: 380px) {
  .fair_date .title {
    width: 30%;
  }

  .fair_date .event_time {
    width: 70%;
  }
}

@media (min-width: 381px) and (max-width: 480px) {
  .fair_date .title {
    width: 30%;
  }

  .fair_date .event_time {
    width: 70%;
  }
}

@media (min-width: 480px) {
  #post .fair_thumbnail {
    width: 400px;
    height: 400px;
  }
}

@media (min-width: 480px) {
  #post .area {
    /* padding: 0 4%; */
  }
}

@media (min-width: 768px) {
  #post .tab_content {
    display: flex !important;
    justify-content: space-between;
    align-items: flex-start;
  }

  #post .fair_thumbnail {
    max-width: 300px;
    max-height: 300px;
    margin: 0;
  }

  #post .fair_txt_wrap {
    width: calc(100% - 330px);
  }
}

.single-fair .fair_date .title strong {
  margin-right: 8px;
}

@media (max-width: 768px) {
  .single-fair .fair_date .title strong {
    padding-right: 30px;
  }
}

@media (min-width: 769px) {
  .post_content {
    padding: 120px 0 90px;
  }

  #post .tab_content {
    border-bottom: none;
  }

  #post .fair_tit {
    font-size: 24px;
    padding-bottom: 0;
  }

  #post .fair_date {
    font-size: 14px;
    margin-bottom: 10px;
  }

  .fair_date .title,
  .fair_date .event_time {
    width: auto;
  }

  .single-fair .fair_date .title strong {
    padding-right: 35px;
  }
}

@media (min-width: 768px) and (max-width: 891px) {
  .fair_date .title {
    width: 30%;
  }

  .fair_date .event_time {
    width: 70%;
  }
}

@media (min-width: 890px) and (max-width: 1024px) {
  .fair_date .title {
    width: 20%;
  }

  .fair_date .event_time {
    width: 80%;
  }
}

@media (min-width: 1200px) {
  #post .area {
    /* padding: 0; */
  }

  #post .fair_thumbnail {
    max-width: 400px;
    max-height: 400px;
  }

  #post .fair_txt_wrap {
    width: calc(100% - 430px);
  }

  .single-fair .fair_date .title strong {
    padding-right: 38px;
  }
}

.benefits {
  padding: 35px 0;
  background-color: #e6dfd1;
}

.benefits_tit {
  color: #998e77;
  font-size: 18px;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-align: center;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 20px;
}

.benefits_list li {
  padding: 16px 15px 20px;
  background-color: #fff;
  border: 1px solid #ccbd9f;
}

.benefits_list li:not(:last-of-type) {
  margin-bottom: 20px;
}

.benefits_sub_tit_wrap {
  text-align: center;
}

.benefits_sub_tit {
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 500;
  line-height: calc(28 / 16);
  letter-spacing: 0.05em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: white;
  display: inline-block;
  min-width: 217px;
  margin-right: auto;
  margin-left: auto;
  padding: 6px;
  background-color: #998e77;
  position: relative;
}

.benefits_sub_tit::before,
.benefits_sub_tit::after {
  content: '';
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
  border-color: #998e77 transparent;
  border-style: solid;
  z-index: 1;
}

.benefits_sub_tit::before {
  left: -15px;
  border-width: 20.5px 0 20.6px 16px;
}

.benefits_sub_tit::after {
  right: -15px;
  border-width: 20.5px 16px 20.6px 0;
}

.benefits_under_tit {
  color: #998e77;
  letter-spacing: 0.05em;
  font-weight: bold;
  padding-left: 15px;
  background-image: url(../../img/ico_medal.png);
  background-size: 10px;
  background-position: center left;
  line-height: 1;
  margin-bottom: 10px;
}

.benefits_txt {
  line-height: 2;
  font-size: 10px;
}

.benefits_txt:not(:last-of-type) {
  margin-bottom: 15px;
}

@media (min-width: 769px) {
  .benefits {
    padding: 70px 0 80px;
  }

  .benefits_tit {
    font-size: 30px;
    margin-bottom: 30px;
  }

  .benefits_list li {
    padding: 30px 60px 40px;
  }

  .benefits_list li:not(:last-of-type) {
    margin-bottom: 30px;
  }

  .benefits_sub_tit {
    font-size: 24px;
    min-width: 307px;
  }

  .benefits_sub_tit::before {
    border-width: 27px 0 27px 16px;
  }

  .benefits_sub_tit::after {
    border-width: 27px 16px 27px 0;
  }

  .benefits_under_tit {
    font-size: 20px;
    background-size: 23px;
    line-height: 1.5;
    padding-left: 30px;
    margin-bottom: 5px;
  }

  .benefits_txt {
    font-size: 14px;
    padding-left: 30px;
  }

  .benefits_txt:not(:last-of-type) {
    margin-bottom: 20px;
  }
}

.flow {
  padding: 45px 0 15px;
}

.flow_tit {
  font-size: 18px;
  font-weight: bold;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-align: center;
  line-height: 1;
  margin-bottom: 35px;
}

.flow_flex_item {
  position: relative;
  margin-bottom: 30px;
  padding: 10px;
  border: 2px solid #c9bb9e;
}

.flow_flex_item img {
  display: block;
}

.flow_num {
  display: block;
  width: 60px;
  height: 60px;
  position: absolute;
  top: -25px;
  left: -25px;
  background-size: contain;
}

.flow_flex_item:nth-of-type(1) .flow_num {
  background-image: url(../../img/ico_flow_01.png);
}

.flow_flex_item:nth-of-type(2) .flow_num {
  background-image: url(../../img/ico_flow_02.png);
}

.flow_flex_item:nth-of-type(3) .flow_num {
  background-image: url(../../img/ico_flow_03.png);
}

.flow_flex_item:nth-of-type(4) .flow_num {
  background-image: url(../../img/ico_flow_04.png);
}

.flow_flex_item:nth-of-type(5) .flow_num {
  background-image: url(../../img/ico_flow_05.png);
}

.flow_flex_item:nth-of-type(6) .flow_num {
  background-image: url(../../img/ico_flow_06.png);
}

.flow_arrow {
  width: 4px;
  position: absolute;
  top: 50%;
  right: -10px;
}

.flow_flex_item:last-of-type .flow_arrow {
  display: none;
}

.flow_sub_tit {
  text-align: center;
  font-weight: bold;
  line-height: 1.58;
  margin: 15px 0;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.flow_txt {
  line-height: 2;
  font-size: 11px;
  padding: 0 10px 10px;
}

@media (min-width: 500px) {
  .flow_flex_wrap {
    /* display: flex; */
    /* flex-wrap: wrap; */
    /* justify-content: space-between; */
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(248px, 1fr));
    gap: 50px;
  }

  .flow_flex_item {
    /* width: calc(50% - 8px); */
  }
}

@media (min-width: 769px) {
  .flow_flex_item {
    /* width: calc(50% - 16px); */
  }

  .flow_arrow {
    width: 10px;
    right: -20px;
  }
}

@media (min-width: 769px) {
  #post .flow {
    padding: 90px 0 20px;
  }

  .flow_tit {
    font-size: 30px;
    margin-bottom: 80px;
  }

  .flow_flex_item {
    /* margin-bottom: 90px; */
  }

  .flow_sub_tit {
    font-size: 16px;
    margin: 10px 0;
  }

  .flow_txt {
    font-size: 12px;
    padding: 0 0 30px;
  }
}

@media (min-width: 1200px) {
  .flow_flex_item {
    width: calc((100% - 100px) / 3);
    max-width: 320px;
    width: 100%;
  }

  .flow_arrow {
    right: -27px;
  }

  .flow_num {
    width: 80px;
    height: 80px;
    position: absolute;
  }
}

.reserve_form {
  padding: 0 30px 50px;
  background-color: #eceae4;

  & .form_tit {
    padding-top: 70px;
  }

  & .form_flex_wrap .form_answer .preferred-time.wpcf7-form-control-wrap {
    width: 100%;
    position: relative;
    display: inline-block;
    background-color: #fff;

    &::after {
      content: '';
      width: 6px;
      height: 6px;
      border: 0px;
      border-bottom: solid 2px #767267;
      border-right: solid 2px #767267;
      -ms-transform: rotate(45deg);
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      position: absolute;
      top: 50%;
      right: 20px;
      margin-top: -4px;
    }
  }
}

.form_tit {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  text-align: center;
  margin-bottom: 20px;
}

.reserve_form .form_flex_wrap .form_answer .preferred-time select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  position: relative;
  z-index: 1;
}

.reserve_form .form_flex_wrap .form_answer .preferred-time select::-ms-expand {
  display: none;
}

.form_answer input::placeholder {
  color: #bab8b3;
}

.form_answer .textarea {
  border: none;
  height: 110px;
  width: 100%;
}

.agree .wpcf7-list-item {
  display: flex;
  align-items: center;
  margin: 0;
}

.agree .wpcf7-list-item input {
  width: 15px;
  border: none;
  margin: 0 5px 0 0;
}

.form_agree_wrap .form_agree_txt,
.form_agree_wrap .form_agree_txt a {
  font-size: 10px;
  line-height: 1;
}

.form_agree_wrap .form_agree_txt a {
  text-decoration: underline;
}

.submit_button {
  width: 100%;
  height: 50px;
  border: none;
  border: 1px solid #767267;
  background-color: var(--bg-black) !important;
  color: #fff;
  max-width: 450px;
  margin: 10px auto;
  display: block;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.submit_button:hover {
  background-color: #fff;
  color: #767267;
  cursor: pointer;
  opacity: 1;
}

a {
  font-size: 12px;
  color: #767267;
  text-decoration: none;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition: 0.3s ease-in-out;
  -o-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

@media (min-width: 768px) {
  .form_flex_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto 20px;
    max-width: 870px;
    width: 80%;
  }

  .form_agree_wrap {
    align-items: flex-start;
    margin-bottom: 40px;
  }

  .form_request_wrap {
    align-items: flex-start;
  }

  .form_item {
    margin-bottom: 0;
    width: 120px;
  }

  .form_item p {
    line-height: 1.8;
  }

  .form_item span {
    display: block;
    margin-left: 0;
    font-size: 10px;
  }

  .form_answer {
    width: calc(100% - 150px);
  }

  .form_answer .textarea {
    height: 170px;
    border: none;
    width: 100%;
  }

  .form_request_wrap {
    margin-bottom: 55px;
  }

  .agree {
    margin-bottom: 60px;
  }
}

@media (min-width: 769px) {
  .reserve_form {
    padding: 0 4% 100px;
  }

  .reserve_form .form_tit {
    padding-top: 120px;
  }

  .form_tit {
    font-size: 30px;
    margin-bottom: 60px;
  }

  .form_item {
    font-size: 16px;
    width: 160px;
  }

  .form_answer {
    width: calc(100% - 180px);
  }

  .form_answer input,
  .form_answer textarea,
  .form_answer select,
  .form_title_answer {
    font-size: 16px;
  }

  .form_answer select,
  .form_answer input,
  .form_answer textarea {
    padding: 0 20px;
    width: 100%;
    border: none;
  }

  .form_agree_wrap .form_agree_txt,
  .form_agree_wrap .form_agree_txt a {
    font-size: 13px;
  }

  .submit_button {
    font-size: 16px;
    height: 60px;
  }
}

@media (min-width: 1200px) {
  .reserve_form {
    padding: 0 0 100px;
  }

  .reserve_form .form_tit {
    padding-top: 120px;
  }
}

span.wpcf7-not-valid-tip {
  font-size: 13px;
  margin-top: 10px;
}

.wpcf7-list-item-label {
  font-weight: bold;
}

/* ------------------------------------------------------------------------------
.fair_list_flex
-------------------------------------------------------------------------------*/
@media (min-width: 769px) {
  .fair_list_flex_wrap {
    padding: 0 !important;
  }
}

@media (min-width: 769px) {
  .fair_list_flex {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 30px 50px !important;
  }
}

@media (min-width: 769px) {
  .fair_list_flex .fair_thumbnail {
    max-width: 320px !important;
    max-height: 320px !important;
  }
}

@media (min-width: 769px) {
  .fair_list_flex .fair_txt_wrap {
    width: calc(100% - 365px) !important;
  }
}

.fair_list_flex_tit {
  /* background-image: url(../../img/line_dot.png); */
  background-repeat: repeat-x;
  background-position: bottom left;
  background-size: 350px;
  padding-bottom: 15px;
  margin-bottom: 20px;
  color: #767267;
  font-weight: bold;
  font-size: 16px;
  line-height: 1.6;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 769px) {
  .fair_list_flex_tit {
    background-size: contain;
    font-size: 24px;
    padding-bottom: 20px;
    margin-top: -8px;
    margin-bottom: 25px;
  }
}

.fair_list_flex .fair_date {
  background: none;
  padding-bottom: 0;
}

.single-fair .fair_date span {
  font-size: 14px;
}

@media (min-width: 769px) {
  .fair_list_flex .fair_date span {
    font-size: 15px;
  }
}

.fair_list_flex .fair_date strong {
  color: #998e77;
  display: inline-block;
  font-size: 12px;
  font-weight: bold;
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  margin-bottom: 5px;
}

@media (min-width: 769px) {
  .fair_list_flex .fair_date strong {
    font-size: 14px;
  }
}

.ftMap {
  background: url(../../img/ft_map.jpg) center center no-repeat;
  height: 396px;
  background-size: cover;
  margin-top: 100px;
}

@media (min-width: 769px) {
  .ftMap {
    margin-top: 100px;
  }
}

#page-218 .ftMap {
  margin-top: 0;
}

.ftMap .facility {
  padding: 96px 0 46px 45%;
  text-align: center;
}

.ftMap .facility h3 {
  color: #333;
  font-size: 40px;
  letter-spacing: 6px;
  font-family: 'Prata', serif;
  margin-bottom: 23px;
}

.ftMap .facility p {
  color: #391a02;
  line-height: 2;
}

.ftMap .facility .ftLink {
  margin-top: 45px;
}

.ftMap .facility .ftLink li {
  float: left;
  border: 1px solid #ab9e8c;
  margin-right: 5px;
  margin-bottom: 10px;
}

.ftMap .facility .ftLink li a {
  background-color: #fff;
  color: #391a02;
  display: block;
  padding: 14px 34px 14px 24px;
}

.ftMap .facility .ftLink li a:before {
  content: '';
  background: url(../../img/arrow02.png) left center no-repeat;
  width: 11px;
  height: 5px;
  display: inline-block;
  padding-right: 8px;
}

.linkArea {
  max-width: initial;
  width: 100%;
  margin: 0 auto;
}

@media (min-width: 769px) {
  .linkArea ul {
    display: flex;
    justify-content: space-between;
  }
}

.linkArea ul li {
  overflow: hidden;
  position: relative;
  width: 33.3333%;
  line-height: 0 !important;
}

.linkArea a {
  display: block;
  width: 100%;
}

.linkArea a:hover {
  opacity: 0.9;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}

.linkArea a img {
  transform: scale(1);
  transition: all 0.3s ease-in-out 0s;
}

.linkArea a:hover img {
  transform: scale(1.1);
  transition: all 0.3s ease-in-out 0s;
}

.linkArea dl {
  box-sizing: border-box;
  color: #fff;
  border: 1px solid #fff;
  position: absolute;
  top: 50%;
  margin-top: -102px;
  margin-left: -102px;
  left: 50%;
  width: 205px;
  height: 205px;
  text-align: center;
}

.linkArea dl dt {
  font-size: 20px;
  margin-bottom: 20px;
  margin-top: 100px;
}

.linkArea dl dd {
  font-size: 12px;
}

@media (max-width: 768px) {
  div.ftInr {
    margin: 0 5%;
    width: auto;
  }

  .ftMap {
    height: 450px;
    background-size: cover;
  }

  #page-218 .ftMap {
    margin-top: 0;
  }

  .ftMap .facility {
    padding: 10% 0;
  }

  .ftMap .facility .ftLink li {
    width: 100%;
    margin-bottom: 2%;
  }

  .linkArea ul li {
    width: 100%;
  }

  .linkArea dl {
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    border: none;
    padding-top: 30%;
    margin: 0;
  }

  .linkArea dl dt {
    margin-top: 0;
  }
}

/*新規カレンダー*/
#calendar-event {
  padding-top: 2rem;
  position: relative;
}

.calendar_col #calendar-event .xo-months {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.calendar_col #calendar-event .xo-month-wrap {
  margin: 0 3%;
  width: 44%;
}

#calendar-event .xo-month-wrap {
  margin: 0 3%;
  width: 100%;
}

#calendar-event table.xo-month button {
  color: #767267 !important;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-size: 20px;
  float: inherit;
  height: auto;
  position: absolute;
  top: 0;
  width: auto !important;
  background-color: transparent;
  border: none;
  outline: none;
  padding: 0;
  appearance: none;
}

.month-prev {
  left: 0;
}

.month-next {
  right: 0;
}

#calendar-event table.xo-month,
.mycalendar table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1em;
}

#calendar-event table.xo-month {
  border: 0;
  position: inherit;
}

#calendar-event table.xo-month>thead th {
  background-color: #ccbd9f;
  border-right: #fff solid 1px;
  color: #ffffff;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  padding: 12px;
  font-weight: 100;
  width: 100%;
  float: none;
  margin: 0 auto 20px;
}

#calendar-event table td {
  border-top: 0;
  border-left: 0;
  border-right: 0;
}

#calendar-event table td.on {
  cursor: pointer;
}

#calendar-event table.xo-month .month-header>span.calendar-caption {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

#calendar-event table tr.dayname td>div {
  background-color: transparent;
  border-bottom: #dddddd solid 1px;
  color: #767267;
  padding: 12px;
  text-align: center;
}

#calendar-event td div.today {
  background-color: transparent;
  color: #767267;
  font-weight: normal;
}

#calendar-event table tr.dayname td>div.holiday-holiday,
#calendar-event table tr.dayname td>div.holiday-sunday {
  color: #e9aaaf;
}

#calendar-event table tr.dayname td>div.holiday-saturday {
  color: #6693c3;
}

#calendar-event table tr.dayname td>div.other-month {
  background-color: #f2f2f2 !important;
  color: transparent;
  opacity: 1;
}

#calendar-event .month-event-space,
.month-dayname-space,
.holiday-titles {
  display: none;
}

#calendar-event table.xo-month .month-dayname {
  position: relative !important;
  top: inherit !important;
  left: inherit !important;
  richness: inherit !important;
}

#calendar-event table.xo-month .month-dayname td div {
  height: auto !important;
}

#calendar-event table tr td.on:hover {
  cursor: pointer;
  background-color: #edcedd;
}

#calendar-event table tr.dayname td.off {
  background-color: #f2f2f2;
}

@media (max-width: 768px) {
  .calendar_col #calendar-event .xo-month-wrap {
    width: 100%;
    margin: 0 auto 20px;
  }

  #calendar-event .xo-month-wrap {
    width: 100%;
    margin: 0 auto 20px;
  }
}

/*旧カレンダー*/
#form1 {
  text-align: center;
}

.calendar_tablebox {
  margin: 0 3%;
  width: 44%;
  float: left;
}

.mycalendar table {
  width: 100%;
  border-collapse: collapse;
  line-height: 1em;
}

@media (max-width: 768px) {
  .mycalendar table {}

  .calendar_tablebox {
    width: 100%;
    float: none;
    margin: 0 auto 20px;
  }
}

.mycalendar table tr:first-child {
  font-family: 'ofl-sorts-mill-goudy', 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  background: #fff;
  color: #767267;
}

.mycalendar table th {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  border-right: #fff solid 1px;
  background-color: #a40956;
  padding: 12px;
  color: #ffffff;
  font-weight: 100;
}

.mycalendar table th.table-month {
  background-color: #fff;
  color: #767267;
  font-size: 2em;
  padding: 10px;
}

.mycalendar table th.table-month span {
  font-size: 0.6em;
}

.mycalendar table td {
  border-bottom: #dddddd solid 1px;
  padding: 12px;
  text-align: center;
  /* cursor: pointer; */
}

.mycalendar table td:hover {
  cursor: pointer;
  background-color: #edcedd;
}

.mycalendar table td:nth-child(6) {
  color: #6693c3;
}

.mycalendar table td:nth-child(7) {
  color: #e9aaaf;
}

#form1 input {
  background: #ccbd9f;
  border: none;
  color: #fff;
  font-weight: 100;
  padding: 10px 100px !important;
  cursor: pointer;
}

.mycalendar table td.holiday {
  color: #a40956;
}

.mycalendar .calendar_nav {
  display: contents;
  justify-content: space-between;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.calendar_nav .next,
.calendar_nav .prev {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-size: 20px;
  font-weight: 100;
  color: #767267;
  cursor: pointer;
  width: 50%;
  float: left;
  text-align: left;
}

.calendar_nav .next {
  text-align: right;
}

.que {
  color: #a40a56;
  font-weight: bold;
}

.report_content_wrap .slick-dots {
  width: 100%;
  text-align: center;
  bottom: -185px;
}

.wpcf7c-conf {
  background: #fff !important;
}

.wpcf7c-elm-step2 {
  justify-content: center;
}

.concept_img_pc {
  display: none !important;
}

@media (min-width: 769px) {
  .concept_img_pc {
    display: block !important;
  }
}

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

@media (min-width: 769px) {
  .concept_img_sp {
    display: none;
  }
}

.concept_img_sp div:nth-child(1),
.concept_img_sp div:nth-child(2) {
  background-size: cover;
  background-position: center;
  height: 130px;
}

.concept_img_sp div:nth-child(1) {
  width: 53%;
}

.concept_img_sp div:nth-child(2) {
  width: 45%;
}

.concept_img_sp_reverse div:nth-child(1) {
  width: 45%;
}

.concept_img_sp_reverse div:nth-child(2) {
  width: 53%;
}

div.wpcf7-response-output {
  margin: 2em !important;
  padding: 1em !important;
  color: #398f14 !important;
  max-width: 720px;
  margin: 0 auto !important;
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  line-height: 1.5;
  font-weight: bold;
}

.agree .wpcf7-acceptance .wpcf7-list-item label {
  display: flex;
  align-items: center;
}

.wpcf7-list-item input[type='checkbox'] {
  min-height: auto;
}

@media (min-width: 769px) {
  .txt_center_pc {
    text-align: center;
  }
}

.btn_home {
  background-color: var(--black);
  color: #fff;
  display: block;
  max-width: 300px;
  margin: 40px auto 0;
  padding: 10px 40px;
  font-size: 14px;
  font-family: 'ofl-sorts-mill-goudy', 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  text-align: center;
}

@media (min-width: 769px) {
  .btn_home {
    font-size: 16px;
    padding: 15px 40px;
  }
}

.announcement__wrap {
  max-width: 900px;
  margin: 20px auto 0;
  padding: 0 15px 0;
}

@media (min-width: 769px) {
  .announcement__wrap {
    margin: 60px auto 0;
    padding: 0 15px 0;
  }
}

.announcement__link {
  display: block;
  margin-bottom: 10px;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

@media (min-width: 769px) {
  .announcement__link {
    font-size: 14px;
    margin-bottom: 15px;
  }
}

.announcement__list:first-child {
  padding-top: 30px;
}

@media (min-width: 769px) {
  .announcement__list:first-child {
    border-top: 1px solid #c0b9a5;
  }
}

.announcement__list:last-child {
  padding-bottom: 15px;
}

@media (min-width: 769px) {
  .announcement__list:last-child {
    border-bottom: 1px solid #c0b9a5;
  }
}

.announcement__date {
  display: block;
  margin-right: 10px;
  margin-bottom: 5px;
}

@media (min-width: 769px) {
  .announcement__date {
    display: inline-block;
    margin-bottom: 0;
  }
}

#top_concept {
  padding-top: 10px;
}

@media (min-width: 769px) {
  #top_concept {
    padding-top: 60px;
  }
}

/* ------------------------------------------------------------------------------
20200827追記
-------------------------------------------------------------------------------*/
.insta_more_link {
  background-image: none !important;
}

.insta_tit {
  margin-bottom: 50px;
  letter-spacing: 3px;
}

.main-slider {
  position: relative;
  width: 100%;
  min-height: 8vw;
  margin-bottom: 50px;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  transition: all 1.2s ease;
}

.main-not-slider img {
  width: 100%;
  height: 100%;
}

.main-slider.slick-initialized {
  opacity: 1;
  visibility: visible;
}

.slick-slide {
  position: relative;
  height: 100%;
}

.slick-slide video {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  width: auto;
  height: auto;
  transform: translate(-50%, -50%);
}

.slick-slide .slide-image {
  opacity: 0;
  height: 100%;
  background-size: cover;
  background-position: center;
  transition: all 0.8s ease;
}

.slick-slide .slide-image.show {
  opacity: 1;
}

.slick-slide .image-entity {
  width: 100%;
  opacity: 0;
  visibility: hidden;
}

.slick-slide .loading {
  position: absolute;
  top: 44%;
  left: 0;
  width: 100%;
}

.slick-slide.slick-active {
  z-index: 1;
}

.main-slider .slick-dots {
  width: 100%;
  text-align: center;
  padding-top: 15px;
  height: auto;
  bottom: 10px;
}

.main-slider .slick-dots li {
  display: inline-block;
  vertical-align: top;
  margin: 0 8px;
}

.main-slider .slick-dots li button {
  width: 16px;
  height: 16px;
  border: none;
  cursor: pointer;
  border-radius: 50%;
  border: 2px solid #c0b9a5;
  box-shadow: 0 0 0 0 transparent;
  vertical-align: middle;
  color: #fff;
  background-color: #c0b9a5;
  transition: all 0.3s ease;
  opacity: 0.6;
}

.main-slider .slick-dots li.slick-active button {
  border: 2px solid #c0b9a5;
  background-color: #c0b9a5;
  box-shadow: 0 0 0 0 transparent;
}

.main-slider .slick-dots li button::before {
  content: none;
}

.slick-dots li button:focus {
  outline: none;
}

.slick-dots li button:hover {
  opacity: 1;
}

.slick-dots li.slick-active button {
  border-color: #2d3042;
  box-shadow: 0 0 0 2px #fff;
  opacity: 1;
}

@-webkit-keyframes slideIn {
  from {
    filter: blur(15px);
  }

  to {
    filter: blur(0);
  }
}

@keyframes slideIn {
  from {
    filter: blur(15px);
  }

  to {
    filter: blur(0);
  }
}

@-webkit-keyframes slideOut {
  from {
    filter: blur(0);
  }

  to {
    filter: blur(15px);
  }
}

@keyframes slideOut {
  from {
    filter: blur(0);
  }

  to {
    filter: blur(15px);
  }
}

.video-background {
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 56.25%;
}

.video-foreground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.video-background iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

/*@media (min-aspect-ratio: 16/9) {
.video-foreground { height: 300%; top: -100%; }
}
@media (max-aspect-ratio: 16/9) {
.video-foreground { width: 300%; left: -100%; }
}*/
.grecaptcha-badge {
  visibility: hidden;
}

.page-id-2332 .grecaptcha-badge,
.postid-95 .grecaptcha-badge,
.page-id-2328 .grecaptcha-badge,
.page-id-2330 .grecaptcha-badge {
  visibility: initial;
}

ul.list-cate-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-bottom: 30px;
}

ul.list-cate-gallery li {
  border: 1px solid #ab9e8c;
  margin-right: 5px;
  margin-bottom: 10px;
}

ul.list-cate-gallery li a {
  font-size: 16px;
  background-color: #fff;
  color: #391a02;
  display: block;
  padding: 14px 34px 14px 34px;
}

.masonry_1__item {
  width: calc(100% / 3 - 1%);
  margin: 0.5%;
}

ul.list-cate-gallery li.active a {
  color: #fff;
  background-color: #ada79b;
}

.menu-header-pc-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 60px;
}

.menu-header-pc-top .right {
  margin-right: 50px;
}

.button_hamburgerMenu {
  cursor: pointer;
  width: 50px;
  height: 50px;
  border: 1px solid #876a33;
  border-radius: 999px;
  margin-top: 10px;
  margin-bottom: 10px;
  margin-right: 50px;
  display: block;
}

.menu-header-pc-top span.button-text {
  color: #fff;
  margin-top: 10px;
  display: block;
  font-size: 13px;
  margin-left: 2px;
}

.button_hamburgerMenu__lines {
  display: block;
  width: 30px;
  height: 14px;
  position: relative;
  margin: auto;
}

.button_hamburgerMenu__lines::before,
.button_hamburgerMenu__lines::after {
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  background-color: #876a33;
  margin: auto;
  -webkit-transition:
    top 150ms 120ms,
    bottom 150ms 120ms,
    -webkit-transform 150ms;
  transition:
    top 150ms 120ms,
    bottom 150ms 120ms,
    -webkit-transform 150ms;
  transition:
    transform 150ms,
    top 150ms 120ms,
    bottom 150ms 120ms;
  transition:
    transform 150ms,
    top 150ms 120ms,
    bottom 150ms 120ms,
    -webkit-transform 150ms;
}

.button_hamburgerMenu__lines::before {
  top: 0;
}

.button_hamburgerMenu__lines::after {
  bottom: 0;
}

body.menu-open .button_hamburgerMenu__lines::before {
  top: 6px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transition:
    top 150ms,
    bottom 150ms,
    -webkit-transform 150ms 120ms;
  transition:
    top 150ms,
    bottom 150ms,
    -webkit-transform 150ms 120ms;
  transition:
    transform 150ms 120ms,
    top 150ms,
    bottom 150ms;
  transition:
    transform 150ms 120ms,
    top 150ms,
    bottom 150ms,
    -webkit-transform 150ms 120ms;
}

body.menu-open .button_hamburgerMenu__lines::after {
  bottom: 6px;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transition:
    top 150ms,
    bottom 150ms,
    -webkit-transform 150ms 120ms;
  transition:
    top 150ms,
    bottom 150ms,
    -webkit-transform 150ms 120ms;
  transition:
    transform 150ms 120ms,
    top 150ms,
    bottom 150ms;
  transition:
    transform 150ms 120ms,
    top 150ms,
    bottom 150ms,
    -webkit-transform 150ms 120ms;
}

body.menu-open .button_hamburgerMenu {
  margin-right: 0px;
}

.button_hamburgerMenu__text {
  display: block;
  color: #876a33;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.12em;
  margin-top: 5px;
}

.header_nav-pc.clonehtml {
  position: fixed;
  left: 0;
  top: -100%;
  visibility: hidden;
  opacity: 0;
  z-index: 9999;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 100%;
  height: auto;
  background-color: #b9b09d;
  padding-top: 15px;
  padding-bottom: 80px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.clonehtml_nav {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  max-width: 700px;
  margin: 0 auto;
}

.clonehtml_nav ul {
  width: 42%;
}

.clonehtml_nav ul.third {
  width: 16%;
}

.clonehtml_nav ul li {
  text-align: left;
  margin-bottom: 10px;
}

.clonehtml_nav ul.list-galerry-cate {
  margin-left: 10px;
  width: 100%;
}

.clonehtml_nav ul.list-galerry-cate li a {
  text-transform: uppercase;
}

/*.clonehtml_nav ul.third li {
text-align: right;
}*/
.clonehtml_nav ul li a {
  font-size: 16px;
  line-height: 2;
  color: #fff;
  margin-bottom: 20px;
}

.clonehtml_nav ul li a.active {
  color: #6b675d;
}

ul.list-pc-menu-red {
  margin: 45px auto;
  display: flex;
  justify-content: space-between !important;
  justify-content: center;
  width: 100%;
  max-width: 900px;
}

ul.list-pc-menu-red li {
  width: 25%;
  margin-right: 20px;
}

ul.list-pc-menu-red li:last-child {
  margin-right: 0px;
}

ul.list-pc-menu-red li a {
  display: block;
  width: 100%;
  background-color: #b3336c;
  color: #fff;
  font-size: 16px;
  padding: 15px 30px;
  text-align: center;
}

.contact-div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.contact-div-wrap {
  padding: 10px 30px;
  font-size: 16px;
  text-align: center;
}

.contact-div-wrap p,
.contact-div-wrap a {
  font-size: 16px;
  color: #736f66;
  line-height: initial;
  display: block;
  margin-bottom: 10px;
}

.contact-div-wrap p.hours_txt {
  font-size: 9px;
}

.row {
  width: 100%;
}

.main-slider .slick-track {
  display: flex;
}

.main-slider .slick-slide {
  height: inherit;
}

@media (max-width: 768px) {
  /*.main-slider {
    height: 220px;
}*/
}

@media (min-width: 769px) {
  .menu-open .header_nav-pc {
    left: 0;
    top: 0px;
    visibility: visible;
    opacity: 1;
  }

  .main-slider {
    height: 100%;
  }

  .main-slider .slick-dots {
    bottom: 25px;
  }
}

/* ------------------------------------------------------------------------------
#plan
-------------------------------------------------------------------------------*/
.popular_plan_wrap {
  padding: 0px 40px 20px;
}

.plan_list.plan_list2 {
  /* border: 1px solid #ad1a38; */
  /* margin-top: -5.125rem; */
  /* padding: 2.3125rem 0.9375rem 1.125rem; */
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-radius: 0.5em;
  /* -webkit-box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2); */
  /* box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2); */
  /* position: relative; */
  /* z-index: 1; */
}

.popular_plan_wrap h3 {
  font-size: 18px;
  font-weight: bold;
  font-family:
    '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro',
    'Hiragino Kaku Gothic Pro', sans-serif;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .popular_plan_wrap h3 {
    font-size: 22px;
    letter-spacing: 3px;
  }
}

#plan .plan_list li {
  padding: 20px;
  background-color: #f0f0f0;
  margin-bottom: 30px;
  position: relative;
}

@media (min-width: 768px) {
  #plan .plan_list li {
    margin-bottom: 40px;
    padding: 2.5rem 2rem;
  }
}

#plan .plan_list li.single-plan_wrap {
  background-color: transparent;
}

.plan_list_icon {
  position: absolute;
  z-index: 99999;
  max-width: 56px;
  top: -8px;
  left: 10px;
  z-index: 1;
}

@media (min-width: 768px) {
  .plan_list_icon {
    max-width: 113px;
    top: -14px;
    left: 16px;
  }
}

.plan_list_block {
  border: 1px solid #ccbd9f;
  padding: 20px;
  position: relative;
}

.plan_list_flex_wrap {}

@media (min-width: 768px) {
  .plan_list_flex_wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}

.plan_list_tit {
  font-size: 16px;
  font-weight: bold;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  line-height: 1.6;
  margin-top: 20px;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .plan_list_tit {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 25px;
  }
}

#plan .tit_03 {
  background-position: center;
  background-size: cover;
  background-image: url(../../img/bg_plan.jpg);
}

#plan .c-title {
  text-align: center;
  margin-top: 20px;
}

#plan .plan_tit {
  font-size: 18px;
  line-height: 1;
  padding-bottom: 10px;
  text-align: center;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  background-image: url(../../img/line_gray.png);
  background-position: bottom center;
  background-size: 65px 1px;
  margin: 30px 0;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  #plan .plan_tit {
    font-size: 30px;
    margin: 50px 0 70px;
    padding-bottom: 15px;
  }
}

.plan_sub_txt {
  text-align: center;
  font-size: 12px;
  margin-bottom: 30px;
}

@media (min-width: 768px) {
  .plan_sub_txt {
    font-size: 14px;
    margin-bottom: 50px;
    line-height: 2;
  }
}

#plan .plan_list_wrap {
  padding: 0 15px;
}

@media (min-width: 768px) {
  #plan .plan_list_wrap {
    max-width: 1200px;
    margin: 0 auto;
  }
}

#plan .plan_list_wrap .tit_02 {
  background-image: none;
  color: #636363;
  font-size: 18px;
  letter-spacing: 1px;
  margin-top: 40px;
  margin-bottom: 0;
}

@media (min-width: 768px) {
  #plan .plan_list_wrap .tit_02 {
    font-size: 28px;
    margin-top: 100px;
  }
}

.plan_thumbnail {
  background-position: center;
  background-size: cover;
  width: 500px;
  max-width: 100%;
  height: 200px;
  margin: 0 auto;
}

@media (min-width: 768px) {
  .plan_thumbnail {
    width: 30%;
    height: 270px;
    flex-shrink: 0;
  }

  .plan_thumbnail.single-plan_img {
    width: 40%;
    height: 340px;
  }
}

.plan_txt_wrap {}

@media (min-width: 768px) {
  .plan_txt_wrap {
    flex-grow: 1;
    margin-left: 40px;
  }
}

.plan_price {
  display: flex;
  line-height: 1;
  align-items: center;
  justify-content: center;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  font-size: 14px;
  margin-bottom: 20px;
  flex-wrap: wrap;
  flex-direction: row;
}

@media (min-width: 768px) {
  .plan_price {
    font-size: 28px;
    font-weight: bold;
    flex-direction: row;
  }
}

.plan_price_box-wrap {
  display: flex;
}

.plan_price span.plan_price_normal {
  display: inline-flex;
  align-items: center;
  border: none;
  padding: 0;
  margin-right: 0;
  margin-left: 10px;
  font-size: 20px;
  position: relative;
}

.plan_price::before {
  content: attr(data-price);
  font-size: 12px;
  text-transform: capitalize;
  color: white;
  width: 50px;
  height: 50px;
  background-color: #ccbd9f;
  border-radius: 50%;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .plan_price::before {
    margin-right: 10px;
  }
}

.plan_price.single-plan_price {
  font-size: 20px;
}

@media (min-width: 768px) {
  .plan_price.single-plan_price {
    font-size: 32px;
  }
}

.plan_price.single-plan_price::before {
  content: '';
  width: 0;
  height: 0;
}

.single-plan_people {
  font-size: 12px;
  background-color: #ccbd9f;
  padding: 4px 8px;
  margin-top: 4px;
  margin-right: 10px;
}

.single-plan_currency {
  font-size: 12px;
  border: none;
  margin-left: 10px;
  padding-top: 10px;
}

.plan_price span.plan_price_normal::before {
  content: '通常価格';
  position: absolute;
  top: -4px;
  left: 0;
  font-size: 12px;
}

.plan_price span.plan_currency {
  font-size: 12px;
  border: none;
  padding: 0;
  padding-top: 40px;
}

@media (min-width: 768px) {
  .plan_price span.plan_currency {
    padding-top: 25px;
  }
}

.plan_price_sale {
  margin-top: 20px;
  font-size: 32px;
}

@media (min-width: 768px) {
  .plan_price_sale {
    margin-top: 0;
  }
}

.plan_content {
  padding: 2.8%;
  text-align: left;
  margin-bottom: 20px;
  font-size: 14px;
  position: relative;
}

@media (min-width: 768px) {
  .plan_content {
    margin-bottom: 25px;
  }
}

.plan_content p {
  font-size: 14px;
  line-height: 1.5;
}

.plan_content .plan_content_point {
  position: absolute;
  top: -35px;
  right: 0;
}

.plan_list .flex_wrap {
  display: flex;
  margin-top: 20px;
}

.plan_list .fair_detail_link {
  width: calc(50% - 5px);
  font-size: 10px;
}

@media (min-width: 768px) {
  .plan_list .fair_detail_link {
    font-size: 16px;
  }

  .plan_list .fair_detail_link:nth-child(2) {
    margin-left: 20px;
  }
}

.plan_list .plan_contact_link {
  background-color: #767267;
}

.plan_list .plan_contact_link:hover {
  background-color: #fff;
  border-color: #767267;
  color: #767267;
}

table.plan_info {
  width: 100%;
  line-height: 1.5;
  font-size: 14px;
  border: 1px solid #ccbd9f;
}

@media (min-width: 768px) {
  table.plan_info {
    display: block;
    padding: 20px;
  }
}

.plan_info tr {
  display: block;
  display: table;
}

@media (min-width: 768px) {
  .plan_info tr {
    display: table;
  }
}

.plan_info tr+tr {
  margin-top: 10px;
}

.plan_info th {
  color: #ad1a38;
  padding: 4px 10px;
  text-align: center;
  padding: 2px 20px;
  border-radius: 20px;
  background-color: #ccbd9f;
  color: white;
  display: block;
  margin: 0 10px;
  max-width: 110px;
}

@media (min-width: 768px) {
  .plan_info th {
    padding: 4px 20px;
    max-width: initial;
    min-width: 110px;
    margin-top: 0;
  }
}

.plan_info td {
  padding: 0 10px;
}

@media (min-width: 768px) {
  .plan_info td {
    padding: 0 10px 0px 20px;
  }
}

@media (max-width: 767px) {

  .plan_info th,
  .plan_info td {
    /* display: block; */
  }

  .plan_info tr:first-of-type th {
    margin-top: 10px;
  }

  .plan_info tr:last-of-type th {
    margin-bottom: 10px;
  }
}

.plan_item_wrap {
  background-color: #f0f0f0;
  margin-top: 40px;
  padding: 30px 15px;
}

@media (min-width: 768px) {
  .plan_item_wrap {
    margin-top: 80px;
    padding: 40px;
  }
}

.plan_item_tit {
  font-size: 14px;
  margin-bottom: 30px;
  text-align: center;
}

@media (min-width: 768px) {
  .plan_item_tit {
    font-size: 20px;
    margin-bottom: 60px;
  }
}

.plan_item_flex {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  text-align: center;
}

.plan_item_flex>div {
  background-position: top center;
  width: 50%;
  margin-bottom: 25px;
  padding-top: 80px;
  background-size: auto 50px;
}

@media (min-width: 768px) {
  .plan_item_flex>div {
    width: 25%;
    margin-bottom: 45px;
  }
}

.plan_item_sub_tit,
.plan_item_txt {
  width: 95%;
  margin: 0 auto;
  font-size: 12px;
  line-height: 1.4;
}

@media (min-width: 768px) {

  .plan_item_sub_tit,
  .plan_item_txt {
    width: 85%;
  }
}

.plan_item_sub_tit {
  margin-bottom: 10px;
  font-weight: bold;
}

.plan_list_block_a {
  margin-top: 60px;
}

.plan_list .plan_list_block_link {
  width: 100%;
  margin-left: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  border: none;
  text-transform: uppercase;
}


/* 外枠のスタイル */
.plan-item {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 30px;
  /* max-width: 1000px; */
}

/* 横並びの設定 */
.plan-flex-container {
  display: flex;
  gap: 30px;
  /* 画像とテキストの間隔 */
  align-items: flex-start;
}

/* 画像の幅設定（40%程度） */
.plan-image {
  flex: 0 0 40%;
}

.plan-image img {
  width: 100%;
  height: auto;
  display: block;
}

/* テキスト側の幅設定（60%程度） */
.plan-info {
  flex: 1;
}

.plan-title {
  font-size: 1.5rem;
  margin-bottom: 15px;
}

/* スマホ対応（画面が狭いときは縦に並べる） */
@media (max-width: 768px) {
  .plan-flex-container {
    flex-direction: column;
  }

  .plan-image {
    flex: 0 0 100%;
  }
}






#挙式 {
  background-image: url(../../img/plan/pIcon01.png);
}

#料理飲物 {
  background-image: url(../../img/plan/pIcon02.png);
}

#衣装 {
  background-image: url(../../img/plan/pIcon03.png);
}

#控室料 {
  background-image: url(../../img/plan/pIcon04.png);
}

#席料 {
  background-image: url(../../img/plan/pIcon05.png);
}

#美容着付 {
  background-image: url(../../img/plan/pIcon06.png);
}

#音響証明 {
  background-image: url(../../img/plan/pIcon07.png);
}

#音響照明 {
  background-image: url(../../img/plan/pIcon07.png);
}

#介添料 {
  background-image: url(../../img/plan/pIcon08.png);
}

#ケーキ {
  background-image: url(../../img/plan/pIcon09.png);
}

#装花 {
  background-image: url(../../img/plan/pIcon10.png);
}

#写真 {
  background-image: url(../../img/plan/pIcon11.png);
}

#印刷物 {
  background-image: url(../../img/plan/pIcon12.png);
}

#サービス料 {
  background-image: url(../../img/plan/pIcon13.png);
}

#引出物 {
  background-image: url(../../img/plan/pIcon15.png);
}

#司会料 {
  background-image: url(../../img/plan/pIcon16.png);
}

#テーブルコーディネート {
  background-image: url(../../img/plan/pIcon17.png);
}

#その他含まれるもの {
  background-image: url(../../img/plan/pIcon14.png);
}

/* ------------------------------------------------------------------------------
#blog
-------------------------------------------------------------------------------*/
#blog .tit_03 {
  background-image: url(../../img/bg_blog.jpg);
}

.two_clumn_wrap {
  padding: 0 8%;
}

@media (min-width: 768px) {
  .two_clumn_wrap {
    display: flex;
    justify-content: space-between;
    flex-direction: row-reverse;
    padding: 0 20px;
    margin-bottom: 40px;
  }
}

.blog_list_wrap {
  margin-bottom: 40px;
}

@media (min-width: 768px) {
  .blog_list_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
  }
}

.blog_list_img_wrap {
  border: 1px solid #ddd;
  padding: 5px;
}

@media (min-width: 768px) {
  .blog_list_img_wrap {
    width: 35%;
  }
}

.blog_list_img {
  background-position: center;
  background-size: cover;
  display: block;
  width: 100%;
  height: 158px;
}

@media (min-width: 768px) {
  .blog_list_txt {
    width: 62%;
  }
}

.blog_list_txt a {
  font-size: 16px;
  line-height: 1.5;
}

.blog_list_txt .right_clumn_time {
  text-decoration: underline;
}

.blog_link {
  margin-top: 80px;
}

@media (min-width: 768px) {
  .left_clumn {
    width: 20%;
  }
}

.right_clumn {
  margin-bottom: 60px;
}

@media (min-width: 768px) {
  .right_clumn {
    width: 75%;
    margin-bottom: 0;
  }
}

.left_clum_tit {
  background: url(../../img/img_snav.png) 30px center no-repeat var(--black);
  color: #fff;
  padding: 11px 30px 11px 40px;
  line-height: 1.2;
  margin-bottom: 20px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
}

@media (min-width: 460px) {
  .left_clum_tit {
    background: url(../../img/img_snav.png) 10px center no-repeat var(--black);
    padding: 11px 10px 11px 30px;
  }
}

@media (min-width: 980px) {
  .left_clum_tit {
    background: url(../../img/img_snav.png) 30px center no-repeat var(--black);
    padding: 11px 30px 11px 40px;
  }
}

.left_clum_year_tit {
  padding: 10px 15px;
  border-top: 1px dotted #ccc;
  background: url(../../img/arrow05.png) left center no-repeat;
  font-size: 14px;
  font-weight: bold;
}

.left_clumn_border {
  border-bottom: 1px dotted #ccc;
}

.left_clumn_border div:last-child {
  display: none;
}

.left_clum_month_list {
  padding: 10px 20px;
}

.left_clum_month_list li {
  margin-bottom: 5px;
}

.right_clumn p {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 10px;
}

.right_clumn_tit {
  font-weight: bold;
  line-height: 1.5;
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
  margin-bottom: 20px;
}

.right_clumn_time {
  display: block;
  font-size: 14px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.archive_pager_wrap {
  margin-top: 40px;
  margin-bottom: 40px;
}

/* ------------------------------------------------------------------------------
ドロップダウン
-------------------------------------------------------------------------------*/
.acd-check {
  display: none;
}

.acd-label {
  display: block;
  position: relative;
}

.acd-content {
  display: none;
  height: 0;
  opacity: 0;
  visibility: hidden;
}

.acd-check:checked+.acd-label+.acd-content {
  height: auto;
  opacity: 1;
  visibility: visible;
  display: block;
  padding: 10px 0 10px 10px;
}

.acd-label::after {
  content: '+';
  display: block;
  position: absolute;
  right: 10px;
  bottom: 8px;
  font-size: 18px;
}

.acd-check:checked+.acd-label::after {
  content: '';
  width: 10px;
  height: 1px;
  right: 13px;
  bottom: 16px;
  background-color: #767267;
}

/* ------------------------------------------------------------------------------
facility
-------------------------------------------------------------------------------*/
#page-201 .ftMap {
  display: none;
}

/* ------------------------------------------------------------------------------
gallery
-------------------------------------------------------------------------------*/
.gallery .tit_03 {
  background-position: center;
  background-size: cover;
  background-image: url(../../img/mv_gallery.jpg);
}

.gallery h3.tit_02 {
  font-size: 18px;
  line-height: 1;
  padding-bottom: 10px;
  text-align: center;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  background-image: url(../../img/line_gray.png);
  background-position: bottom center;
  background-size: 65px 1px;
  margin: 30px 0 0;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  .gallery h3.tit_02 {
    font-size: 30px;
    margin: 50px 0 0;
    padding-bottom: 15px;
  }
}

/* ------------------------------------------------------------------------------
cuisine
-------------------------------------------------------------------------------*/
.cuisine .tit_03 {
  background-position: center;
  background-size: cover;
  background-image: url(../../img/cuisine/mv_cuisine.jpg);
}

/* ------------------------------------------------------------------------------
recruit
-------------------------------------------------------------------------------*/
.recruit_wrap {
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .recruit_wrap {
    display: flex;
    justify-content: space-between;
  }
}

.recruit_wrap li {
  text-align: center;
  display: block;
  font-size: 14px;
  font-weight: bold;
  border: 2px solid #ad1a38;
  padding: 10px 12px;
  margin: 0 0 10px;
}

@media (min-width: 768px) {
  .recruit_wrap li {
    padding: 20px 10px;
    width: 24%;
  }
}

/* ------------------------------------------------------------------------------
privacy
-------------------------------------------------------------------------------*/
.dl_list {
  margin-bottom: 30px;
  line-height: 1.7;
}

.dl_list dt {
  font-weight: bold;
  font-size: 16px;
  margin-bottom: 10px;
}

.btm30 {
  font-size: 14px;
  margin-bottom: 30px;
}

/* ------------------------------------------------------------------------------
sitemap
-------------------------------------------------------------------------------*/
.sitemapL {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 14px;
  line-height: 1.7;
}

@media (min-width: 768px) {
  .sitemapL {
    font-size: 16px;
  }
}

.sitemapL li {
  width: 49%;
  margin-bottom: 25px;
}

@media (min-width: 768px) {
  .sitemapL li {
    width: 32%;
  }
}

.sitemapL dl dt {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
  border-bottom: 1px solid #ccc;
}

@media (min-width: 768px) {
  .sitemapL dl dt {
    font-size: 18px;
  }
}

.sitemapL dl dt a {
  display: block;
  padding: 2%;
}

.sitemapL dl dd {
  padding-left: 4%;
}

.sitemapL dl dd a:before {
  content: '▶︎';
  font-size: 10px;
  padding-right: 2px;
}

/* ------------------------------------------------------------------------------
フォーム
-------------------------------------------------------------------------------*/
.wpcf7-form {
  background-color: #eceae4;
}

.page_inner .wpcf7-form {
  margin: 0;
  padding-top: 40px;
  line-height: 1.5;
}

@media (min-width: 768px) {
  .page_inner .wpcf7-form {
    padding: 60px 0 20px;
    margin: 0;
  }
}

@media (max-width: 767px) {
  .page_inner .form_flex_wrap {
    margin: 0 20px 20px;
  }
}

@media (min-width: 768px) {
  .page_inner .form_flex_wrap {
    width: 85%;
  }
}

@media (min-width: 768px) {
  .page_inner .form_item {
    font-size: 14px;
    width: 300px;
  }
}

@media (max-width: 767px) {
  .page_inner .submit_button {
    width: 80%;
  }
}

.page_inner .form_flex_wrap input[type='checkbox'] {
  display: inline-block;
  padding: 4px;
  width: auto;
}

.page_inner .form_flex_wrap span.wpcf7-list-item {
  margin: 0 10px 0 0;
}

strong.red {
  color: #e23435;
}

@media (max-width: 767px) {
  .page_inner h2 {
    font-size: 18px;
  }
}

/* ------------------------------------------------------------------------------
固定ページ
-------------------------------------------------------------------------------*/
.page_inner {
  max-width: 900px;
  margin: 40px auto;
  padding: 0 4%;
  font-size: 14px;
}

@media (min-width: 768px) {
  .page_inner {
    padding: 0;
    margin: 60px auto 150px;
  }
}

.page_inner p {
  font-size: 1rem;
  font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', sans-serif;
  font-weight: 400;
  line-height: 1.8;
}

.page_en_tit {
  color: #000;
  font-family: 'Prata', serif;
  font-size: 30px;
  text-align: center;
  margin-bottom: 20px;
}

@media (min-width: 768px) {
  .page_en_tit {
    font-size: 80px;
    margin-bottom: 30px;
  }
}

.page_tit {
  content: attr(data-jp);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  display: block;
  margin-top: -0.5rem;
  color: #998e77;
}

.page_sub_tit {
  font-size: 16px;
  font-weight: normal;
  padding: 0 0 10px 2%;
  border-bottom: 4px solid #ad1a38;
  margin-top: 40px;
  margin-bottom: 30px;

  @media (min-width: 768px) {
    margin-top: 60px;
    font-size: 22px;
  }
}

.txt_center {
  text-align: center;
}

table.table_default {
  border-collapse: collapse;
  border-left: 1px solid #ececec;
  border-top: 1px solid #ececec;
  width: 100%;
  margin-bottom: 40px;

  @media (min-width: 768px) {
    margin-bottom: 80px;
  }
}

table.table_default th,
table.table_default td {
  background-color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  border-right: 1px solid #ececec;
  border-bottom: 1px solid #ececec;
  line-height: 1.4;
  padding: 20px 20px 17px;
  text-align: left;

  @media (max-width: 767px) {
    display: block;
    padding: 10px 3%;
    width: 100% !important;
  }
}

table.table_default th {
  background-color: #f3f3f3;
  width: 35%;
  vertical-align: middle;
}

/* ------------------------------------------------------------------------------
下層共通
-------------------------------------------------------------------------------*/
h3.low_tit {
  font-size: 18px;
  line-height: 1;
  padding-bottom: 10px;
  text-align: center;
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
  background-image: url(../../img/line_gray.png);
  background-position: bottom center;
  background-size: 65px 1px;
  margin: 30px 0;
  letter-spacing: 0;
}

@media (min-width: 768px) {
  h3.low_tit {
    font-size: 30px;
    margin: 50px 0 100px;
    padding-bottom: 15px;
  }
}

.font_Sorts {
  font-family: 'Sorts Mill Goudy', serif !important;
}

.font_Mincho {
  font-family: 'Yu Mincho Medium', 'Yu Mincho', 'ＭＳ 明朝', serif;
}

@media (min-width: 768px) {
  .post-type-archive-fair p.fair_txt {
    margin-bottom: 0;
  }

  .post-type-archive-fair .fair_list_flex p.fair_txt {
    margin-bottom: 20px;
  }
}

/* ------------------------------------------------------------------------------
ブログ
-------------------------------------------------------------------------------*/
.p-news-detail_txt {
  margin-bottom: 37px;
  color: #221815;
  line-height: 2;
  letter-spacing: 1.7px;
  word-break: break-all;

  @media (max-width: 767px) {
    line-height: 2.5rem;
    letter-spacing: 0;
    margin-bottom: 17px;
  }

  & img {
    margin-top: 5%;
  }

  & h1 {
    font-size: 22px;
    line-height: 1.5;
    border-top: 1px solid #c0b9a5;
    border-bottom: 1px solid #c0b9a5;
    padding: 16px 14px 14px;
    color: #c0b9a5;
    letter-spacing: 2px;
    margin-bottom: 10px;

    @media (max-width: 767px) {
      font-size: 20px;
      padding: 7px 3px 8px;
      letter-spacing: 1px;
      margin-bottom: 6px;
    }
  }

  & h2 {
    font-size: 20px;
    line-height: 1.5;
    border-left: 6px solid #c0b9a5;
    padding-top: 5px;
    padding-left: 10px;
    letter-spacing: 1.6px;
    margin: 30px 0 20px;

    @media (max-width: 767px) {
      font-size: 18px;
      border-left: 3px solid #c0b9a5;
      padding-left: 5px;
      letter-spacing: 1px;
      margin-bottom: 15px;
    }
  }

  & h3 {
    font-size: 18px;
    color: #221815;
    margin: 30px 0 20px;

    @media (max-width: 767px) {
      font-size: 16px;
      margin-bottom: 10px;
    }
  }

  & h4 {
    font-size: 16px;
    margin: 30px 0 20px;

    @media (max-width: 767px) {
      font-size: 14px;
      margin-bottom: 10px;
    }
  }

  & p {
    font-size: 15px;
    line-height: 2;
    color: #221815;
    letter-spacing: 1.7px;
    margin-bottom: 15px;

    @media (max-width: 767px) {
      font-size: 10px;
      line-height: 2.5;
      letter-spacing: 0;
      margin-bottom: 10px;
    }
  }

  & blockquote {
    font-style: italic;
    background: #f9fafc;
    padding: 1em 2em;
    margin: 1.5em 0;

    @media (max-width: 767px) {
      padding: 1em;
    }

    & p {
      margin-bottom: 0;
    }
  }

  & ul,
  & ol {
    margin: 20px 0;
    padding-left: 20px;

    @media (max-width: 767px) {
      margin: 15px 0;
      font-size: 12px;
      line-height: 2.5;
    }
  }

  & ul,
  & ul li {
    list-style: inherit;
  }

  & ol,
  & ol li {
    list-style: decimal;
  }

  /* ワードプレス固有のCSSクラスの復元 */
  & .aligncenter {
    display: block;
    margin: 0 auto;
  }

  & .alignright {
    float: right;
    margin: 0 0 10px 20px;
  }

  & .alignleft {
    float: left;
    margin: 0 20px 10px 0;
  }

  & .wp-caption {
    border: 1px solid #ddd;
    text-align: left;
    background-color: #f3f3f3;
    padding: 5px;
    border-radius: 3px;
    max-width: 100%;

    & img {
      margin: 0;
      padding: 0;
      border: 0 none;
    }

    & p.wp-caption-text {
      font-size: 14px;
      line-height: 1.5;
      margin: 0;
      padding: 0;
    }
  }
}

.clearfix:after {
  content: '';
  display: block;
  clear: both;
}

.clearfix {
  overflow: hidden;
  zoom: 1;
}

#fair_2020-8-10,
#fair_2020-9-21,
#fair_2020-9-22 {
  color: #e9aaaf;
}

html {
  font-size: 100%;
}

@media (max-width: 400px) {
  html {
    font-size: 4vw;
  }
}

@media (min-width: 768px) {
  html {
    font-size: 1.5238095238vw;
  }
}

@media (min-width: 1050px) {
  html {
    font-size: 100%;
  }
}

@media (min-width: 768px) {

  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }

  a:hover,
  button:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.l-about {
  margin-top: 3.75rem;
}

@media (min-width: 768px) {
  .l-about {
    margin-top: 6.625rem;
  }
}

.l-banquet-party {
  margin-top: 1.875rem;
}

.l-ceremony {
  margin-top: 3.875rem;
}

.l-chapel-style {
  margin-top: 3rem;
}

.l-chapel {
  margin-top: 10rem;
}

.l-dress {
  margin-top: 3.625rem;
}

.l-garden-party {
  margin-top: 3.75rem;
}

.l-header {
  height: calc(58 * var(--px));
}

@media (min-width: 768px) {
  .l-header {
    height: auto;
  }
}

.l-hospitality {
  margin-top: 3.8125rem;
}

@media (min-width: 768px) {
  .l-hospitality {
    margin-top: 9.125rem;
  }
}

.l-inner-lg {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;

  @media (min-width: 768px) {
    max-width: 78.125rem;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.l-inner {
  width: 100%;
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  margin-right: auto;
  margin-left: auto;

  @media (min-width: 768px) {
    max-width: 1250px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.l-night-party {
  margin-top: 3.75rem;
}

.l-party {
  margin-top: 3.625rem;
}

.l-photo {
  margin-bottom: 4.875rem;
}

.l-sweets {
  margin-top: 6.25rem;
}

.c-beside-title {
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.075em;
  font-family: nyt-cheltenham, georgia, 'times new roman', times, serif;
  color: #d5d5d5;
  text-transform: capitalize;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: absolute;
  left: 1.25rem;
  bottom: 0;
}

@media (min-width: 768px) {
  .c-beside-title {
    bottom: 0;
  }
}

.c-beside-title::after {
  content: '';
  width: 10.5625rem;
  height: 0.0625rem;
  background-color: #d5d5d5;
  margin-left: 0.375rem;
}

.c-bridal-btn {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #fff;
  min-width: 5rem;
  height: 100%;
  align-self: stretch;
  padding: 0 0.625rem;
  background-color: var(--btn-color);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.c-btn {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  color: var(--black);
  min-width: 10.625rem;
  padding: 0.6875rem 1.075rem 0.6875rem 0.6875rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border: 1px solid var(--btn-border-color);
  box-shadow: 0.125rem 0.125rem 0 var(--bg-gray2);

  @media (min-width: 768px) {
    min-width: 14.6875rem;
  }
}

.c-btn.c-btn--colorDifference {
  color: var(--text-color3);
  border-color: currentColor;
  background-color: var(--black);
  box-shadow: 0.125rem 0.125rem 0 var(--bg-gray2);
}

.c-btn.c-btn--colorDifference::after {
  filter: brightness(0) invert(1);
}

.c-btn.c-btn--noArrow {
  justify-content: center;
  width: calc(300 * var(--r));
  position: relative;
}

.c-btn.c-btn--noArrow::after {
  display: none;
}

.c-btn.c-btn--sm {
  font-size: calc(12 * var(--r));
  min-width: calc(150 * var(--r));
  padding-block: calc(6 * var(--r));
  color: var(--text-color3);
  border-color: currentColor;
  background-color: var(--black);
  box-shadow: 0.125rem 0.125rem 0 var(--bg-gray2);
}

.c-btn.c-btn--sm::after {
  filter: brightness(0) invert(1);
}

.c-btn::after {
  content: '';
  width: 1.5rem;
  height: 0.3125rem;
  background: url(../images/icon_arrow.svg) no-repeat center/contain;
  filter: brightness(0);
  transform: translateX(0);
  transition: transform 0.3s ease;
}

.c-btn:hover::after {
  transform: translateX(0.5rem);
}

.c-btn.c-btn--sm:hover::after {
  transform: translateX(0.2rem);
}

.c-card__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.c-card__img img {
  aspect-ratio: 289/216;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-card__body {
  margin-top: -1.5rem;
  padding: 0 0.75rem 1.4375rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.c-card__title {
  text-align: center;
}

.c-card__title h2 {
  font-size: 1.8125rem;
  line-height: 1.7586206897;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .c-card__title h2 {
    font-size: 2rem;
  }
}

.c-card__sub-title {
  margin-top: 0;
}

.c-card__sub-title h3 {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0.1em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .c-card__sub-title h3 {
    font-size: 1.125rem;
  }
}

.c-card__text {
  margin-top: 0.6875rem;
}

.c-card__text p {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
}

@media (min-width: 768px) {
  .c-card__text p {
    font-size: 0.8125rem;
  }
}

.c-card2__img img {
  aspect-ratio: 326/245;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-card2__title {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7222222222;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
  margin-top: 0.875rem;
  text-align: center;
}

.c-card2__text {
  margin-top: 0.625rem;
}

.c-card2__text p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.c-card3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
}

.c-card3__title {
  font-size: 1.5rem;
  margin-top: 1.125rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.c-card3__img img {
  aspect-ratio: 1523/1074;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-card3__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.25rem;
  text-align: justify;
}

.c-card4__img img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-card4__body {
  margin-top: 1rem;
}

@media (min-width: 768px) {
  .c-card4__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.c-card4__title {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.4;
  font-family: 'orpheuspro', serif;
  color: var(--text-color4);
  text-transform: uppercase;
  -ms-flex-negative: 0;
  flex-shrink: 0;

  &::after {
    content: attr(data-jp);
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.7142857143;
    letter-spacing: 0.01em;
    display: block;
    margin-top: -0.5rem;
    color: var(--text-color);
  }
}

@media (min-width: 768px) {
  .c-card4__text {
    margin-left: 0.875rem;
  }
}

.c-card4__text p {
  font-size: 16px;
  line-height: 1.6;
}

.c-cta__tel {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-cta__line {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-transform: uppercase;
}

/* .c-cta__tel::before,
.c-cta__line::before {
  content: "";
  width: 0.875rem;
  height: 0.875rem;
  margin-right: 0.4375rem;
}

.c-cta__tel::before {
  background: url(../images/icon_tel.svg) no-repeat center/contain;
}

.c-cta__line::before {
  background: url(../images/icon_line.svg) no-repeat center/contain;
} */

.c-cta__fair {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.2352941176;
  letter-spacing: 0.05em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #fff;
  min-width: 9.5625rem;
  padding: 0.7rem 1.125rem;
  background-color: #98d0b3;
  border-radius: 0.25rem;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-shadow: 0.125rem 0.125rem 0.1875rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.1875rem rgba(0, 0, 0, 0.2);
}

/* .c-cta__fair::before {
  content: "";
  width: 1.5rem;
  height: 1.3125rem;
  background: url(../images/icon_fair.svg) no-repeat center/contain;
  margin-right: 0.4375rem;
} */

.c-footer-btn {
  font-size: 1.0625rem;
  font-weight: 600;
  line-height: 1.7058823529;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: var(--text-color3);
  display: inline-block;
  min-width: 19.875rem;
  padding: 1.1875rem 0.9375rem;
  background-color: var(--btn-color);
  border: 1px solid #fff;
  border-color: currentColor;
  position: relative;
  text-align: center;

  @media (min-width: 768px) {
    min-width: 12.8125rem;
  }

  &::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0.9375rem;
    width: 0.625rem;
    height: 0.625rem;
    border-right: 1px solid #998e77;
    border-bottom: 1px solid #998e77;
    border-right-color: currentColor;
    border-bottom-color: currentColor;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
  }

  &:nth-child(n + 2) {
    margin-top: 0.625rem;

    @media (min-width: 768px) {
      margin-top: 0;
    }
  }
}

.c-footer-slider__card {
  width: 34.5481049563%;
  background-color: #fff;
  padding: 0.75rem;
}

.c-footer-slider__card:nth-child(n + 2) {
  margin-left: 0.4375rem;
}

.c-footer-slider__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-footer-slider__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  border-bottom: 1px solid #c1af8b;
}

.c-footer-slider__category {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.01em;
  color: #998e77;
  text-transform: capitalize;
}

.c-footer-slider__date {
  font-size: 1.25rem;
  line-height: 1.8;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.c-footer-slider__date span {
  font-size: 0.6875rem;
}

.c-footer-slider__title {
  margin-top: 0.75rem;
}

.c-footer-slider__title h2 {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7857142857;
  letter-spacing: 0.01em;
}

.c-footer-slider .slick-prev,
.c-footer-slider .slick-next {
  z-index: 1;
  background-color: #fff;
  width: 2.5rem;
  height: 2.5rem;
  -webkit-box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.4);
}

.c-footer-slider .slick-prev {
  left: -1.75rem;
}

.c-footer-slider .slick-next {
  right: -1.4375rem;
}

.c-footer-slider .slick-prev:before,
.c-footer-slider .slick-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-position: center;
}

.c-footer-slider .slick-prev:hover,
.c-footer-slider .slick-prev:focus,
.c-footer-slider .slick-next:hover,
.c-footer-slider .slick-next:focus {
  background-color: #fff;
}

.c-gallery__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  position: relative;
  margin-top: 1.875rem;
}

@media (min-width: 768px) {
  .c-gallery__list {
    grid-template: 'item1 item2 item3 item4' 'item5 item6 item7 item8' /1fr 1fr 33.3333333333% 1fr;
  }
}

.c-gallery__item img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 768px) {
  .c-gallery__item img {
    height: auto;
    aspect-ratio: initial;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(1) {
    grid-area: item1;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(2) {
    grid-area: item2;
    position: absolute;
    top: 0;
    height: 69.3%;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(2) img {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(3) {
    grid-area: item3;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(4) {
    grid-area: item4;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(5) {
    grid-area: item5;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(6) {
    grid-area: item6;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    width: 158%;
    height: 168%;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(6) img {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(7) {
    grid-area: item7;
    position: absolute;
    bottom: 0;
    right: 0;
    width: 63%;
    height: 168%;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(7) img {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .c-gallery__item:nth-child(8) {
    grid-area: item8;
  }
}

.c-gallery2__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  position: relative;
}

@media (min-width: 768px) {
  .c-gallery2__list {
    grid-template: 'item1 item2 item3 item4' 'item5 item6 item7 item8' /1fr 1fr 1fr 33.3333333333%;
  }
}

.c-gallery2__item img {
  aspect-ratio: 4/3;
  -o-object-fit: cover;
  object-fit: cover;
}

@media (min-width: 768px) {
  .c-gallery2__item img {
    height: auto;
    aspect-ratio: initial;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(1) {
    grid-area: item1;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(2) {
    grid-area: item2;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(3) {
    grid-area: item3;
    position: absolute;
    top: 0;
    height: 69.6%;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(3) img {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(4) {
    grid-area: item4;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(5) {
    grid-area: item5;
    position: absolute;
    bottom: 0;
    height: 225%;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(6) {
    grid-area: item6;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(7) {
    grid-area: item7;
    position: absolute;
    bottom: 0;
    width: 156%;
    height: 169%;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(7) img {
    height: 100%;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(8) {
    grid-area: item8;
    position: absolute;
    bottom: 0;
    width: 64%;
    height: 156%;
    height: 169%;
    right: 0;
  }
}

@media (min-width: 768px) {
  .c-gallery2__item:nth-child(8) img {
    height: 100%;
  }
}

.c-hamburger {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-hamburger span {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #808080;
  width: calc(30 * var(--px));
  height: 2px;
  -webkit-transition: 0.4s;
  transition: 0.4s;
}

.c-hamburger span:nth-child(1) {
  top: 0.625rem;
}

.c-hamburger span:nth-child(2) {
  top: 1.125rem;
}

.c-hamburger span:nth-child(3) {
  top: 1.625rem;
}

.c-hamburger.is-open span:nth-child(1) {
  top: 1.125rem;
  -webkit-transform: translateX(-50%) rotate(45deg);
  transform: translateX(-50%) rotate(45deg);
}

.c-hamburger.is-open span:nth-child(2) {
  display: none;
}

.c-hamburger.is-open span:nth-child(3) {
  top: 1.125rem;
  -webkit-transform: translateX(-50%) rotate(-45deg);
  transform: translateX(-50%) rotate(-45deg);
}

.c-header-btn {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.7058823529;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #998e77;
  display: inline-block;
  width: 100%;
  padding: 1.1875rem 0.625rem;
  background-color: #e6dfd1;
  border: 1px solid #fff;
  position: relative;
  text-align: center;
}

.c-header-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.9375rem;
  width: 0.625rem;
  height: 0.625rem;
  border-right: 1px solid #998e77;
  border-bottom: 1px solid #998e77;
  -webkit-transform: translateY(-50%) rotate(-45deg);
  transform: translateY(-50%) rotate(-45deg);
}

.c-info__wrap {
  padding: 0.625rem 0.875rem 0.875rem;
  border: 0.125rem solid #e6dfd1;
}

.c-info__title {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.01em;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-transform: capitalize;
  color: #998e77;
}

.c-info__item {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  display: inline-block;
}

.c-info__item span {
  color: #fff;
  background-color: #c1af8b;
  padding: 0 0.3125rem;
  border-radius: 1.25rem;
  min-width: 7.1875rem;
  display: block;
  text-align: center;
  margin-right: 0.625rem;
}

@media (min-width: 768px) {
  .c-info__item span {
    display: inline-block;
  }
}

.c-info__item:nth-child(n + 2) {
  margin-top: 0.625rem;
}

.c-item__col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.c-item__img {
  width: 24.0963855422%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .c-item__img {
    width: 8.5625rem;
  }
}

.c-item__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-item__text {
  margin-left: 1.375rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

.c-item__text p {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3125;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.c-large-btn {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
  font-family: var(--font-main);
  color: #fff;
  min-width: 22.0625rem;
  display: inline-block;
  padding: 0.625rem 1.25rem;
  position: relative;
  text-align: center;
  -webkit-box-shadow: 0.1875rem 0.1875rem 0 var(--btn-border-color2);
  box-shadow: 0.1875rem 0.1875rem 0 var(--btn-border-color2);
  background-color: var(--black);

  @media (min-width: 768px) {
    min-width: 29.875rem;
  }
}

.c-large-btn.c-large-btn--rev {
  color: var(--text-color3);
  border-color: currentColor;
  background-color: var(--btn-color);
  box-shadow: 0.125rem 0.125rem 0 var(--btn-color);
}

.c-large-btn__wrap {
  margin-top: 3.75rem;
  text-align: center;
}

.c-large-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  right: 0.25rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 3rem;
  height: 0.3125rem;
  background: url(../images/icon_arrow_brown.svg) no-repeat center/contain;
  filter: brightness(0) invert(1);
  transform: translateX(0);
  transition: transform 0.3s ease;
}

.c-large-btn:hover::after {
  transform: translateX(0.5rem);
}

.c-large-btn.c-large-btn--rev {
  border: 1px solid #ccbd9f;
  background-color: #fff;
  color: #998e77;
}

.c-link-btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 15.5rem;
  padding: 0.5rem;
  border: 1px solid #1566a5;
  position: relative;
}

.c-link-btn::after {
  content: '';
  position: absolute;
  right: 0.125rem;
  bottom: 0.125rem;
  background: url(../images/icon_link.svg) no-repeat center/contain;
  width: 0.5rem;
  height: 0.5rem;
}

.c-link-btn img {
  aspect-ratio: 102/35;
  -o-object-fit: contain;
  object-fit: contain;
  width: 6.375rem;
}

.c-link__title {
  text-align: center;
}

.c-link__title h2 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #e6dfd1;
  text-transform: uppercase;
}

.c-link__img-wrap {
  margin-top: 0.5rem;
}

@media (min-width: 768px) {
  .c-link__img-wrap {
    margin-top: 0;
    margin-left: 3.125rem;
  }
}

.c-link__img {
  max-width: 10.625rem;
  margin: auto;
}

.c-link__img img {
  aspect-ratio: 170/49;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
}

.c-link__text {
  font-size: 0.6875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #fff;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.c-link__col2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
}

.p-footer-link__register {
  margin-top: 1.5625rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-footer-link__register {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.p-footer-link__register p {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.01em;
  color: #fff;
}

.p-footer-link__register img {
  aspect-ratio: 356/25;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
}

@media (min-width: 768px) {
  .p-footer-link__register img {
    width: 22.25rem;
  }
}

@media (min-width: 768px) {
  .c-media__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

@media (min-width: 768px) {
  .c-media--rev .c-media__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
  }
}

@media (min-width: 768px) {
  .c-media__img {
    width: 60%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.c-media__img img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 768px) {
  .c-media__body {
    margin-left: 1rem;
  }
}

@media (min-width: 768px) {
  .c-media--rev .c-media__body {
    margin-right: 1rem;
    margin-left: 0;
  }
}

.c-media__title {
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.4;
  font-family: 'orpheuspro', serif;
  color: #998e77;
  text-transform: uppercase;
}

.c-media__title::after {
  content: attr(data-jp);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  display: block;
  margin-top: -0.5rem;
}

.c-media__text {
  margin-top: 0.625rem;
}

.c-media__text p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

.c-media__btn {
  margin-top: 1.875rem;
}

.c-page-header {
  margin-top: 3.6rem;
  padding-right: 1%;
  padding-bottom: 1%;
  padding-left: 1%;
}

@media (min-width: 768px) {
  .c-page-header {
    margin-top: 0;
    padding-right: 1%;
    padding-bottom: 1%;
    padding-left: 1%;
  }
}

.c-page-header__img {
  width: 100%;
}

.c-page-header__img img {
  /*  aspect-ratio: 2732/655;*/
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 400px;
}

.c-person-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-column-gap: 0.4375rem;
  -moz-column-gap: 0.4375rem;
  column-gap: 0.4375rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media (min-width: 768px) {
  .c-person-list {
    -webkit-column-gap: 0;
    -moz-column-gap: 0;
    column-gap: 0;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
  }
}

.c-person-list__item {
  width: 31.6923076923%;
}

.c-person-list__item:nth-child(4),
.c-person-list__item:nth-child(5) {
  margin-top: -3.125rem;
}

@media (min-width: 768px) {

  .c-person-list__item:nth-child(4),
  .c-person-list__item:nth-child(5) {
    margin-top: 0;
  }
}

.c-person-list__item img {
  aspect-ratio: 103/171;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.c-section-title {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.78125;
  letter-spacing: 0.05em;
  font-family: 'orpheuspro', serif;
  text-transform: uppercase;
  color: #998e77;
  padding-bottom: 0;
  position: relative;
  display: inline-block;
}

.c-section-title::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  width: 4.5625rem;
  height: 0.0625rem;
  background-color: #998e77;
}

.c-slider .slick-prev,
.c-slider .slick-next {
  z-index: 1;
  background-color: #fff;
  width: 1.875rem;
  height: 3.75rem;
  -webkit-box-shadow: 0 0 0.1875rem rgba(0, 0, 0, 0.4);
  box-shadow: 0 0 0.1875rem rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {

  .c-slider .slick-prev,
  .c-slider .slick-next {
    width: 3.75rem;
    height: 3.75rem;
  }
}

.c-slider .slick-prev {
  left: -1.25rem;
}

@media (min-width: 768px) {
  .c-slider .slick-prev {
    left: 1.5625rem;
  }
}

.c-slider .slick-next {
  right: -1.25rem;
}

@media (min-width: 768px) {
  .c-slider .slick-next {
    right: 1.5625rem;
  }
}

.c-slider .slick-prev:before,
.c-slider .slick-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background-position: center;
}

.c-slider .slick-prev:hover,
.c-slider .slick-prev:focus,
.c-slider .slick-next:hover,
.c-slider .slick-next:focus {
  background-color: #fff;
}

.c-slider__img {
  position: relative;
}

.c-slider__img img {
  aspect-ratio: 3/4;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 768px) {
  .c-slider__img img {
    aspect-ratio: 1200/700;
  }
}

.c-slider__catch {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #fff;
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), to(#000));
  background: linear-gradient(180deg, transparent 0%, #000 100%);
  padding-top: 2.1875rem;
  padding-bottom: 0.75rem;
  padding-left: 1.75rem;
}

.c-tell__number {
  font-size: 2.625rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media (min-width: 768px) {
  .c-tell__number {
    font-size: 2.875rem;
  }
}

.c-tell__number::before {
  content: '';
  width: 2.3125rem;
  height: 2.3125rem;
  background: url(../images/icon_tel.svg) no-repeat center/contain;
  margin-right: 1rem;
}

.c-tell__text {
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.7333333333;
  letter-spacing: 0.01em;
  color: #fff;
  text-align: center;
}

.c-title {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.78125;
  font-family: 'orpheuspro', serif;
  color: #998e77;
  text-transform: uppercase;
}

.c-title.c-title--lg {
  letter-spacing: 0.05em;
}

@media (min-width: 768px) {
  .c-title.c-title--lg {
    font-size: 3.1875rem;
    line-height: 1.7450980392;
  }
}

.c-title::after {
  content: attr(data-jp);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  display: block;
  margin-top: -0.5rem;
}

.c-vertical-title {
  font-size: 0.75rem;
  font-weight: 300;
  line-height: 1.75;
  letter-spacing: 0.075em;
  font-family: nyt-cheltenham, georgia, 'times new roman', times, serif;
  color: #d5d5d5;
  text-transform: capitalize;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  position: absolute;
  right: -1.875rem;
  bottom: 2.5rem;

  @media (min-width: 768px) {
    bottom: calc(55 * var(--px));
    right: calc(-30 * var(--px));
  }
}

.c-vertical-title::before {
  content: '';
  width: 2.9375rem;
  height: 0.0625rem;
  background-color: #d5d5d5;
  margin-right: 0.375rem;

  @media (min-width: 768px) {
    width: calc(100 * var(--px));
  }
}

.p-about__title {
  text-align: center;
}

.p-about__title h2 {
  font-size: 1.5625rem;
  line-height: 1.72;
  letter-spacing: 0.2em;
}

@media (min-width: 768px) {
  .p-about__title h2 {
    font-size: 2.5rem;
  }
}

.p-about__sub-text {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  color: #d5d5d5;
}

.p-about__img-wrap {
  margin-top: 1.0625rem;
  position: relative;
}

@media (min-width: 768px) {
  .p-about__img-wrap {
    margin-top: 2.3125rem;
  }
}

@media (min-width: 768px) {
  .p-about__img {
    margin-right: auto;
    margin-left: auto;
    position: relative;
    max-width: 62.5rem;
  }
}

@media (min-width: 768px) {
  .p-about__img-wrap::before {
    content: '';
    position: absolute;
    bottom: -1.375rem;
    left: 0;
    z-index: -1;
    background-color: #f0f0f0;
    width: 91.3553113553%;
    height: 19.75rem;
  }
}

.p-about__img img {
  aspect-ratio: 400/322;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 768px) {
  .p-about__img img {
    aspect-ratio: 999/573;
  }
}

.p-about__text {
  margin-top: 4.375rem;
  text-align: center;
  position: relative;
}

@media (min-width: 768px) {
  .p-about__text {
    margin-top: 4.875rem;
  }
}

.p-about__text-intro {
  font-size: 20px;

  line-height: 2;
  letter-spacing: 0.2em;
}

@media (min-width: 768px) {
  .p-about__text-intro {
    font-size: 22px;
  }
}

.p-about__text-desc {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-top: 1.875rem;
}

.p-access {
  padding-top: 3.75rem;
  padding-bottom: 5rem;
}

.p-access__title {
  text-align: center;
}

.p-access__title p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
  margin-top: 1.25rem;
}

.p-access__content {
  margin-top: 1.875rem;
}

@media (min-width: 768px) {
  .p-access__content {
    margin-top: 3.75rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-access__map {
  aspect-ratio: 16/9;
}

@media (min-width: 768px) {
  .p-access__map {
    width: 40%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.p-access__map iframe {
  width: 100%;
  height: 100%;
}

.p-access__info {
  margin-left: 1.25rem;
}

.p-access__list {
  font-size: 0.875rem;
  display: grid;
  grid-template-columns: 5rem 1fr;
}

.p-access__list dt {
  font-weight: 600;
}

.p-access__list dt:not(:first-of-type),
.p-access__list dd:not(:first-of-type) {
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .p-access__content.p-access__content--rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: 0;
  }
}

.p-access__map-lg {
  aspect-ratio: 4/3;
}

@media (min-width: 768px) {
  .p-access__map-lg {
    width: 60%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.p-access__map-lg iframe {
  width: 100%;
  height: 100%;
}

.p-access__content--rev .p-access__info {
  margin-left: 0;
}

.p-access__traffic p,
.p-access__traffic ul li {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
}

.p-access__traffic p {
  font-weight: 600;
}

.p-access__traffic:nth-child(n + 2) {
  margin-top: 1.875rem;
}

.p-announce {
  margin-top: 1.875rem;
}

.p-announce__box {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
}

@media (min-width: 768px) {
  .p-announce__box {
    padding-right: 0;
    padding-left: 0;
  }
}

.p-announce__box a {
  display: block;
}

.p-announce__box a:nth-child(n + 2) {
  margin-top: 0.875rem;
}

@media (min-width: 768px) {
  .p-announce__box a:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-announce__box .slick-next {
  right: 0.75rem;
}

.p-announce__box .slick-next,
.p-announce__box .slick-prev {
  width: 2.0625rem;
  height: 2.0625rem;
  background-color: #fff;
  -webkit-box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
}

.p-announce__box .slick-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 0.625rem;
  height: 0.625rem;
}

.p-announce__box .slick-prev {
  left: 0.75rem;
  z-index: 10;
}

.p-announce__box .slick-prev:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 0.625rem;
  height: 0.625rem;
}

.p-announce__box .slick-dots {
  width: auto;
  height: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-announce__box .slick-dots li button:before {
  opacity: 0.15;
}

.p-announce__box .slick-dots li.slick-active button::before {
  color: #ccbd9f;
  opacity: 0.95;
}

.p-announce__box .slick-list,
.p-announce__box .slick-track {
  height: 100%;
}

.p-announce__box .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-announce__box .slick-slide {
  height: auto !important;
}

@media (min-width: 768px) {
  .p-announce__box a:nth-child(n + 2) {
    margin-left: 0.625rem;
  }
}

.p-announce__wrap {
  border: 1px solid #eceae4;
  padding: 0.5rem 0.5rem 0.25rem;
}

@media (min-width: 768px) {
  .p-announce__wrap {
    padding-bottom: 0.5rem;
    height: 100%;
  }
}

.p-announce__wrap:nth-of-type(n + 2) {
  margin-top: 0.875rem;
}

@media (min-width: 768px) {
  .p-announce__wrap:nth-of-type(n + 2) {
    margin-top: 0;
  }
}

.p-announce__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@media (min-width: 768px) {
  .p-announce__content {
    display: block;
    height: 100%;
  }
}

.p-announce__img {
  width: 9.25rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .p-announce__img {
    width: 12.375rem;
    width: 100%;
  }
}

.p-announce__img img {
  aspect-ratio: 148/106;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .p-announce__img img {
    aspect-ratio: 1/1;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-announce__body {
  margin-left: 0.5rem;
}

@media (min-width: 768px) {
  .p-announce__body {
    margin-top: 0.75rem;
    margin-left: 0;
  }
}

.p-announce__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid #ccbd9f;
}

.p-announce__category {
  font-size: 1rem;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-transform: capitalize;
}

.p-announce__date {
  font-size: 1.25rem;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.p-announce__date span {
  font-size: 0.6875rem;
}

.p-announce__title {
  margin-top: 0.5rem;
}

@media (min-width: 768px) {
  .p-announce__title {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
  }
}

.p-announce__title h2 {
  font-size: 0.875rem;
}

.p-announce__btn {
  margin-top: 1rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-announce__btn {
    margin-top: 0;
  }
}

.p-announce__btn a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #ccbd9f;
  border: 1px solid #ccbd9f;
  display: inline-block;
  min-width: 15.75rem;
  padding: 0.5rem;
}

@media (min-width: 768px) {
  .p-banquet-party__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

@media (min-width: 768px) {
  .p-banquet-party__title {
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.p-banquet-party__text {
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .p-banquet-party__text {
    margin-top: 0;
    margin-left: 6.25rem;
  }
}

.p-banquet-party__text p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
}

.p-banquet-party__media {
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .p-banquet-party__media {
    margin-top: 2.5rem;
    padding: 0 2rem;
  }
}

.p-blog-item__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.p-blog-item__img {
  width: 39.7222222222%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-blog-item__img img {
  aspect-ratio: 148/98;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  -webkit-box-shadow: 0.1875rem 0.1875rem 0 #fff;
  box-shadow: 0.1875rem 0.1875rem 0 #fff;
}

.p-blog-item__body {
  margin-left: 1.5rem;
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
}

@media (min-width: 768px) {
  .p-blog-item__body {
    margin-left: 0.875rem;
  }
}

.p-blog-item__meta {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-blog-item__meta {
    font-size: 1rem;
  }
}

.p-blog-item__category {
  color: #998e77;
}

.p-blog-item__title {
  margin-top: 1.0625rem;
}

@media (min-width: 768px) {
  .p-blog-item__title {
    margin-top: 1.4375rem;
  }
}

.p-blog-item__title h3 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.01em;
  font-family: '游ゴシック体', YuGothic, '游ゴシック', 'Yu Gothic', sans-serif;
}

@media (min-width: 768px) {
  .p-blog-item__title h3 {
    font-size: 1rem;
  }
}

.p-blog {
  padding-top: 3.375rem;
  padding-bottom: 1.875rem;
  background-color: #e6dfd1;
}

@media (min-width: 768px) {
  .p-blog {
    padding-top: 5.6875rem;
    padding-bottom: 7.3125rem;
  }
}

.p-blog__title {
  text-align: center;
}

.p-blog__desc {
  margin-top: 1.0625rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.02em;
}

.p-blog__list {
  margin-top: 1.875rem;
}

@media (min-width: 768px) {
  .p-blog__list {
    margin-top: 2.0625rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    -webkit-column-gap: 1.375rem;
    -moz-column-gap: 1.375rem;
    column-gap: 1.375rem;
    row-gap: 2.0625rem;
  }
}

.p-blog__item:nth-child(n + 2) {
  margin-top: 0.875rem;
}

@media (min-width: 768px) {
  .p-blog__item:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-blog__btn {
  margin-top: 2.3125rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-blog__btn {
    margin-top: 3.3125rem;
  }
}

.p-blog2 {
  padding-top: 3.375rem;
  padding-bottom: 1.875rem;
}

@media (min-width: 768px) {
  .p-blog2 {
    padding-top: 5.6875rem;
    padding-bottom: 7.3125rem;
  }
}

.p-blog2.p-blog2--pd {
  padding-top: 0.625rem;
  padding-bottom: 1.875rem;
}

@media (min-width: 768px) {
  .p-blog2.p-blog2--pd {
    padding-bottom: 3.125rem;
  }
}

.p-blog2__title {
  text-align: center;
}

.p-bridal {
  padding-top: 3.4375rem;
  padding-bottom: 3.125rem;
  background-color: #e6dfd1;
}

@media (min-width: 768px) {
  .p-bridal {
    padding-top: 5.625rem;
    padding-bottom: 6.3125rem;
  }
}

.p-bridal__title {
  text-align: center;
}

.p-bridal__title p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  margin-top: 1.4375rem;
}

@media (min-width: 768px) {
  .p-bridal__title p {
    margin-top: 2.375rem;
  }
}

.p-bridal__content {
  margin-top: 2.875rem;
}

@media (min-width: 768px) {
  .p-bridal__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4375rem;
  }
}

.p-bridal__items {
  margin-top: 2.375rem;
  background-color: #fff;
  border: 1px solid #ccbd9f;
  padding: 0 1rem 0.8125rem;
}

@media (min-width: 768px) {
  .p-bridal__items {
    padding: 0 1.875rem 1.875rem;
    margin-top: 4.25rem;
  }
}

.p-items__item:nth-child(n + 2) {
  margin-top: 0.375rem;
}

@media (min-width: 768px) {
  .p-items__item:nth-child(n + 2) {
    margin-top: 0;
  }
}

@media (min-width: 768px) {
  .p-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.8125rem;
  }
}

.p-cards__card {
  background-color: #fff;
  max-width: 31.25rem;
  margin: auto;
  height: 100%;
}

@media (min-width: 768px) {
  .p-cards__card {
    max-width: 100%;
  }
}

.p-cards__card:nth-child(n + 2) {
  margin-top: 1.875rem;
}

@media (min-width: 768px) {
  .p-cards__card:nth-child(n + 2) {
    margin-top: 0;
  }
}

.p-ceremony__title {
  text-align: center;
}

.p-ceremony__wrap {
  margin-top: 2.5rem;
  padding-top: 3.75rem;
  position: relative;
}

.p-ceremony__wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 21.4375rem;
  background-color: #f0f0f0;
}

.p-ceremony__text {
  text-align: center;
}

.p-ceremony__text p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-ceremony__text p {
    font-size: 1.125rem;
  }
}

.p-ceremony__content {
  margin-top: 2.75rem;
  display: grid;
  gap: 0.75rem;
}

@media (min-width: 768px) {
  .p-ceremony__content {
    grid-template-columns: 1fr 1fr;
  }
}

.p-ceremony__links {
  display: block;
  background-color: #fff;
  -webkit-box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2);
  text-align: center;
}

.p-ceremony__link-title {
  padding-top: 0.625rem;
  padding-bottom: 1.25rem;
}

.p-ceremony__sub-title {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.78125;
  letter-spacing: 0.05em;
  font-family: 'orpheuspro', serif;
  color: #c1af8b;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .p-ceremony__sub-title {
    font-size: 2rem;
  }
}

.p-ceremony__sub-text {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  position: relative;
}

@media (min-width: 768px) {
  .p-ceremony__sub-text {
    font-size: 0.875rem;
  }
}

.p-ceremony__sub-text::after {
  content: '▼';
  display: block;
  margin-top: 0.625rem;
}

.p-chapel-gallery {
  padding-top: 4.5rem;
  padding-bottom: 8.75rem;
}

.p-chapel-gallery__title {
  text-align: center;
}

.p-chapel-gallery__imgs {
  margin-top: 2.1875rem;
}

.p-chapel-style__wrap {
  padding-top: 2.6875rem;
  padding-bottom: 2.0625rem;
  background-color: #f5f2ed;
}

.p-chapel-style__title {
  text-align: center;
}

.p-chapel-style__cards {
  display: grid;
  gap: 0.625rem;
  margin-top: 1.75rem;
}

@media (min-width: 768px) {
  .p-chapel-style__cards {
    grid-template-columns: repeat(3, 1fr);
    max-width: 62.5rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-chapel-style__card {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

@media (min-width: 768px) {
  .p-chapel-style__card {
    padding-right: 0;
    padding-left: 0;
  }
}

.p-chapel__title {
  max-width: 62.5rem;
  margin-right: auto;
  margin-left: auto;
}

.p-chapel__slider {
  margin-top: 1.25rem;
}

.p-chapel__media {
  margin-top: 4.125rem;
}

.p-chef {
  background-color: #636363;
  color: #fff;
  padding-top: 3.375rem;
  padding-bottom: 2.75rem;
}

.p-chef__content {
  display: grid;
  gap: 2.5rem;
}

@media (min-width: 768px) {
  .p-chef__content {
    grid-template-columns: repeat(2, 1fr);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-chef__img img {
  aspect-ratio: 478/434;
  width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-chef__title-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.p-chef__name p {
  font-size: 1.9375rem;
  font-weight: 600;
  line-height: 1.7741935484;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-chef__name p {
    font-size: 1.9375rem;
  }
}

.p-chef__sub-title {
  margin-top: 1.5rem;
}

.p-chef__sub-title h3 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7222222222;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.p-chef__intro {
  margin-top: 0.9375rem;
}

.p-chef__intro p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-chef__history {
  margin-top: 1.25rem;
  border: 1px solid #fff;
  padding: 0.875rem 1.375rem;
}

.p-chef__history-title {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 1em;
  display: inline-block;
  min-width: 7.1875rem;
  padding: 0 0.625rem 0 1.375rem;
  text-align: justify;
  background-color: #c1af8b;
  border-radius: 0.75rem;
}

.p-chef__history-list {
  margin-top: 0.9375rem;
}

.p-chef__history-list li {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-chef__history-list li::before {
  content: attr(data-year);
  margin-right: 1rem;
}

.p-cta {
  position: fixed;
  bottom: 0.7rem;
  /* bottom: 0.3125rem; */
  left: 0;
  z-index: 20;
}

.p-cta__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  padding-right: 0.25rem;
  padding-left: 0.25rem;
}

.p-cta__contact {
  background-color: #ccbd9f;
  border-radius: 1.25rem;
  padding: 0.625rem 0.75rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 14.3125rem;
  -webkit-box-shadow: 0.125rem 0.125rem 0.1875rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.1875rem rgba(0, 0, 0, 0.2);
  position: relative;
  justify-content: space-around;
}

.p-cta__contact::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 0.125rem;
  height: 2rem;
  background-color: #fff;
}

.p-cta__reserve {
  margin-left: 0.25rem;
}

.p-cuisine {
  padding-top: 2.9375rem;
  padding-bottom: 4.25rem;
}

.p-cuisine__title {
  text-align: center;
}

.p-cuisine__title.c-page-title {
  text-align: left;
  margin-bottom: calc(30 * var(--r));
}

.p-cuisine__lead.p-rooms__inner.l-inner {
  margin-inline: auto;
  box-sizing: border-box;
  max-width: 100%;
}

.p-cuisine .c-page-title .c-page-title__en,
.p-cuisine .c-page-title .c-page-title__jp {
  min-width: 0;
}

.p-cuisine__head {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  margin-top: calc(20 * var(--r));
}

.p-cuisine__head-text {
  flex: 1;
  min-width: 0;
  margin-top: 0;
  text-align: left;
}

.p-cuisine__head-detail {
  flex: 0 0 min(42%, 400px);
  margin: 0;
}

.p-cuisine__head-detail .c-detail-box__box:first-child {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  .p-cuisine__head {
    flex-direction: column;
    gap: 1.5rem;
  }

  .p-cuisine__head-detail {
    flex: none;
    width: 100%;
  }
}

.p-cuisine__head-text p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-cuisine__head-text p {
    font-size: 1.125rem;
  }
}

.p-cuisine__slider {
  margin-top: 3.75rem;
}

.p-cuisine__media {
  margin-top: 8.375rem;
}

@media (min-width: 768px) {
  .p-dress-logo__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-dress-logo__name {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.p-dress-logo__name h3 {
  font-size: 1.2rem;
  font-weight: 400;
  color: #ccbd9f;
  font-family: 'orpheuspro', serif;
  text-transform: uppercase;
}

.p-dress-logo__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .p-dress-logo__list {
    margin-top: 0;
    margin-left: 1.25rem;
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
  }
}

.p-dress-logo__list li img {
  aspect-ratio: 308/107;
  -o-object-fit: contain;
  object-fit: contain;
}

.p-dress-slide__title {
  text-align: center;
}

.p-dress-slide__title h2 {
  font-size: 1.625rem;
  font-weight: 400;
  font-family: 'orpheuspro', serif;
  text-transform: uppercase;
  color: #ccbd9f;
}

@media (min-width: 768px) {
  .p-dress-slide__title h2 {
    font-size: 2rem;
  }
}

.p-dress-slide__title p {
  margin-top: 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
}

@media (min-width: 768px) {
  .p-dress-slide__title p {
    font-size: 1rem;
    line-height: 2;
  }
}

.p-dress-slide__list {
  margin-top: 1.875rem;
}

.p-dress-slide__item:not(.slick-active).is-overlay::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
}

.p-dress-slide__item img {
  aspect-ratio: 5/8;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.p-dress-slide__logo-list {
  margin-top: 1.875rem;
}

.p-dress__text {
  margin-top: 3.75rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-dress__text {
    margin-top: 7.1875rem;
  }
}

.p-dress__text p {
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3125;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-dress__text p {
    font-size: 1.125rem;
  }
}

.p-dress__full {
  margin-top: 1.6875rem;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  position: relative;
}

@media (min-width: 768px) {
  .p-dress__full {
    margin-top: 3.75rem;
  }
}

.p-dress__full img {
  aspect-ratio: 400/415;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 25.9375rem;
  position: relative;
}

.p-dress__img {
  position: relative;
}

.p-dress__img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  background: rgba(255, 255, 255, 0.3);
  width: 100%;
  height: 100%;
}

.p-dress__full-text {
  position: absolute;
  bottom: 1.875rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 2;
  text-align: center;
  width: 100%;
}

.p-dress__full-text p {
  font-size: 1.3125rem;
  font-weight: 400;
  line-height: 1.7142857143;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #000;
}

.p-facility {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.p-facility__title {
  text-align: center;
}

.p-facility__img {
  position: relative;
}

.p-facility__img-text {
  position: absolute;
  bottom: -6.25rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.8;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-align: center;
  width: 100%;
}

@media (min-width: 768px) {
  .p-facility__img-text {
    bottom: 0;
    font-size: 1rem;
  }
}

.p-facility__cards {
  display: grid;
  gap: 1.875rem;
  margin-top: 7.5rem;
}

@media (min-width: 768px) {
  .p-facility__cards {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 3.75rem;
  }
}

.p-facility__cards:nth-child(n + 2) {
  margin-top: 2.5rem;
}

@media (min-width: 768px) {
  .p-facility__cards:nth-child(n + 2) {
    margin-top: 3.75rem;
  }
}

.p-facility__media {
  margin-top: 3.75rem;
}

.p-footer-card__img {
  position: relative;
  border: 1px solid #e6dfd1;
}

.p-footer-card__img::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(62, 45, 24, 0.5);
}

.p-footer-card__img img {
  aspect-ratio: 182/74;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.p-footer-card__img-title {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-family: 'orpheuspro', serif;
  text-transform: uppercase;
  color: #fff;
  text-align: center;
  width: 100%;
}

@media (min-width: 768px) {
  .p-footer-card__img-title {
    font-size: 1.2rem;
  }
}

.p-footer-card__img-title::after {
  content: attr(data-sub);
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.6923076923;
  letter-spacing: 0.01em;
  color: #fff;
}

.p-footer-fair {
  padding: 3.75rem 0;
  background-color: #e6dfd1;
}

@media (min-width: 768px) {
  .p-footer-fair__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-footer-text {
  margin-top: 1.25rem;
}

.p-footer-text p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7222222222;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-footer-text p {
    font-size: 1.125rem;
  }
}

.p-footer-fair__btn {
  margin-top: 1.25rem;
  text-align: center;
}

@media (min-width: 768px) {
  .p-footer-fair__btn {
    text-align: left;
  }
}

.p-footer-fair__btn a {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 16.25rem;
  border: 1px solid #ccbd9f;
  background-color: #fff;
  color: #998e77;
  padding: 0.75rem 1.125rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0 #e0d7c5;
  box-shadow: 0.25rem 0.25rem 0 #e0d7c5;
}

@media (min-width: 768px) {
  .p-footer-fair__btn a {
    font-size: 1.125rem;
  }
}

.p-footer-fair__btn a::after {
  content: '';
  background: url(../images/icon_arrow_brown.svg) no-repeat center/contain;
  width: 1.625rem;
  height: 0.25rem;
}

.p-footer-fair__slider {
  margin-top: 1.875rem;
}

@media (min-width: 768px) {
  .p-footer-fair__slider {
    width: 68.6%;
    margin-top: 0;
    margin-left: 3.125rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }
}

.p-footer {
  padding-top: 4.375rem;
  padding-bottom: 3.75rem;
  background-color: var(--footer-bg);
  color: #ffffff;
  font-family: var(--font-main, sans-serif);

  @media (min-width: 768px) {
    padding-top: 6.25rem;
    padding-bottom: 5rem;
  }
}

.p-footer__container {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;

  @media (min-width: 768px) {
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0;
  }
}

/* 左ブロック */
.p-footer__left {
  width: 100%;

  @media (min-width: 768px) {
    width: 33%;
  }
}

.p-footer__logo-text {
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
}

.p-footer__address p {
  font-size: calc(16 * var(--px));
  line-height: 1.5;
}

.p-footer__tel {
  & a {
    display: inline-flex;
    align-items: center;
    gap: 0.625rem;
    color: inherit;
    font-size: 1.25rem;
    font-weight: 500;
    text-decoration: none;
  }

  & img {
    width: 1.25rem;
    height: auto;
  }
}

.p-footer__sub-links {
  margin-top: 3.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.625rem;
  font-size: 0.75rem;

  & a {
    color: inherit;
    text-decoration: none;
    opacity: 0.8;
  }
}

.p-footer__separator {
  opacity: 0.5;
}

/* 中央ブロック */
.p-footer__center {
  width: 100%;

  @media (min-width: 768px) {
    width: 35%;
    display: flex;
    justify-content: center;
  }
}

.p-footer-nav {
  display: flex;
  gap: 2.5rem;
}

.p-footer-nav__list {
  display: flex;
  flex-direction: column;
  gap: calc(6 * var(--px));
}

.p-footer-nav__item {
  & a {
    color: inherit;
    text-decoration: none;
    font-size: 0.875rem;
    position: relative;
  }
}

/* 右ブロック */
.p-footer__right {
  width: 100%;

  @media (min-width: 768px) {
    width: 25%;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
  }
}

.p-footer__reserve {
  width: 100%;
  margin-bottom: 1.25rem;

  @media (min-width: 768px) {
    width: auto;
  }
}

.c-reserve-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.875rem 1.25rem;
  border: 1px solid #ffffff;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.875rem;
  letter-spacing: 0.1em;
  width: 100%;
  box-sizing: border-box;

  @media (min-width: 768px) {
    width: 15rem;
  }

  & img {
    width: 1.5625rem;
    filter: brightness(0) invert(1);
    transform: translateX(0);
    transition: transform 0.3s ease;
  }

  &:hover img {
    transform: translateX(0.5rem);
  }
}

.p-footer__sns {
  display: flex;
  gap: 0.625rem;
  margin-bottom: 3.75rem;
  width: 100%;

  @media (min-width: 768px) {
    width: auto;
  }
}

.c-sns-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border: 1px solid #ffffff;
  color: #ffffff;
  text-decoration: none;
  font-size: 0.75rem;
  flex: 1;

  @media (min-width: 768px) {
    flex: none;
    width: 7.25rem;
  }

  & img {
    width: 1rem;
    height: 1rem;
  }
}

.p-footer__copyright {
  font-size: 0.75rem;
  opacity: 0.8;
}

.p-garden-gallery {
  padding-top: 4.5rem;
  padding-bottom: 8.75rem;
}

.p-garden-gallery__title {
  text-align: center;
}

.p-garden-gallery__imgs {
  margin-top: 2.1875rem;
}

.p-garden-party {
  padding-bottom: 12.5rem;
}

.p-garden-party__content {
  position: relative;
}

.p-garden-party__content::before {
  content: '';
  position: absolute;
  left: -1.25rem;
  z-index: -1;
  width: calc(100% + 2.5rem);
  height: 140%;
  background-color: #f0f0f0;
}

@media (min-width: 768px) {
  .p-garden-party__content::before {
    top: 2.5rem;
    left: -2.5rem;
    width: 100%;
    height: 28.75rem;
  }
}

.p-garden__title {
  max-width: 62.5rem;
  margin-right: auto;
  margin-left: auto;
}

.p-garden__slider {
  margin-top: 1.25rem;
}

.p-garden__media {
  margin-top: 4.125rem;
}

.p-header-pc {
  height: 5.4375rem;
  -webkit-transition: 0.5s;
  transition: 0.5s;

  &.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: 6rem;
    padding-bottom: 0.5rem;
    background-color: #fff;

    & .p-header-pc__logo {
      width: min(calc(280 / 1440 * 100vw), 280px);
      margin-top: 0;
    }
  }
}

.p-header-pc__inner {
  padding-left: 3%;
  padding-left: 1%;
  height: 100%;
  position: relative;
}

.p-header-pc__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: inherit;
}

.p-header-pc__logo {
  margin-top: 0px;
  -webkit-transition:
    width 0.3s ease,
    margin-top 0.3s ease;
  transition:
    width 0.3s ease,
    margin-top 0.3s ease;

  @media (min-width: 768px) {
    width: min(calc(250 / 1440 * 100vw), 280px);
  }

  & a {
    display: block;
  }

  & img {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
  }
}

.p-header-pc__body {
  height: inherit;
}

/* SP Header */
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  background-color: #fff;
  width: 100%;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.p-header__inner {
  height: inherit;
}

.p-header__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: inherit;
}

.p-header__logo {
  width: calc(165 * var(--px));

  @media (min-width: 768px) {
    width: calc(60 * var(--px));
  }

  & img {
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%;
  }
}

.p-header__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.5rem;
  height: inherit;
}

.p-header__menu {
  width: 2.75rem;
  height: calc(36 * var(--px));
}

.p-header__nav {
  margin-top: calc(58 * var(--px));
  padding-bottom: 6.25rem;
}

.p-hospitality {
  padding-top: 4.0625rem;
  padding-bottom: 4.25rem;
  background-color: #e6dfd1;
}

@media (min-width: 768px) {
  .p-hospitality {
    padding-top: 6.125rem;
    padding-bottom: 5.375rem;
  }
}

.p-hospitality__title {
  text-align: center;
}

.p-hospitality__sub-title {
  text-align: center;
  margin-top: 1.4375rem;
}

.p-hospitality__sub-title h3 {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-hospitality__sub-title h3 {
    font-size: 20px;
  }
}

.p-hospitality__text {
  margin-top: 1.25rem;
  text-align: center;
}

.p-hospitality__text p {
  font-size: 16px;
  font-weight: 500;
  line-height: 1.8461538462;
  letter-spacing: 0;
}

.p-hospitality__list {
  margin-top: 1.75rem;
}

@media (min-width: 768px) {
  .p-hospitality__list {
    margin-top: 3.25rem;
  }
}

.p-hospitality__cards {
  margin-top: 2.3125rem;
  padding-right: 1.875rem;
  padding-left: 1.875rem;
}

@media (min-width: 768px) {
  .p-hospitality__cards {
    margin-top: 4.625rem;
    padding-right: 0;
    padding-left: 0;
    max-width: 62.5rem;
    margin-right: auto;
    margin-left: auto;
  }
}

.p-items__title {
  -webkit-transform: translateY(-1.25rem);
  transform: translateY(-1.25rem);
  text-align: center;
}

@media (min-width: 768px) {
  .p-items__title {
    -webkit-transform: translateY(-1.6875rem);
    transform: translateY(-1.6875rem);
  }
}

.p-items__title h3 {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #fff;
  display: inline-block;
  min-width: 13.5625rem;
  padding: 0.375rem;
  background-color: #998e77;
  position: relative;
}

@media (min-width: 768px) {
  .p-items__title h3 {
    font-size: 1.5rem;
    min-width: 19.1875rem;
  }
}

.p-items__title h3::before,
.p-items__title h3::after {
  content: '';
  position: absolute;
  top: 0;
  width: 0;
  height: 0;
  border-color: #998e77 transparent;
  border-style: solid;
  z-index: 1;
}

.p-items__title h3::before {
  left: -0.9375rem;
  border-width: 1.28125rem 0 1.2875rem 1rem;
}

@media (min-width: 768px) {
  .p-items__title h3::before {
    border-width: 1.6875rem 0 1.6875rem 1rem;
  }
}

.p-items__title h3::after {
  right: -0.9375rem;
  border-width: 1.28125rem 1rem 1.2875rem 0;
}

@media (min-width: 768px) {
  .p-items__title h3::after {
    border-width: 1.6875rem 1rem 1.6875rem 0;
  }
}

.p-items__text {
  text-align: center;
}

.p-items__text p {
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
}

@media (min-width: 768px) {
  .p-items__text p {
    font-size: 0.875rem;
  }
}

.p-items__list {
  margin-top: 0.625rem;
}

@media (min-width: 768px) {
  .p-items__list {
    margin-top: 1.375rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
}

.p-list__wrap {
  padding: 0.8125rem 1.5rem 0.9375rem;
  background-color: #fff;
  border: 1px solid #ccbd9f;
}

.p-list__link {
  display: block;
}

.p-list__link:nth-child(n + 2) {
  margin-top: 1.25rem;
}

.p-list__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-list__img {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 31.0699588477%;
}

.p-list__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.p-list__body {
  -webkit-box-flex: 1;
  -ms-flex-positive: 1;
  flex-grow: 1;
  margin-left: 1.125rem;
}

.p-list__date {
  font-size: 1.125rem;
  width: 1.724137931;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-list__date {
    font-size: 1.8125rem;
  }
}

.p-list__title h2 {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.7222222222;
}

@media (min-width: 768px) {
  .p-list__title h2 {
    font-size: 1.125rem;
  }
}

.p-list__time span {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  background-color: #e6dfd1;
  display: inline-block;
  padding: 0.125rem 0.25rem;
}

.p-list__calendar {
  margin-top: 1.25rem;
  padding: 0.8125rem 1.5rem 0.9375rem;
  background-color: #fff;
  border: 1px solid #ccbd9f;
}

@media (min-width: 768px) {
  .p-list__calendar {
    margin-top: 0;
  }
}

.p-mariage {
  padding-top: 3.75rem;
  padding-bottom: 3.75rem;
  background-color: #f0f0f0;
}

.p-mariage__head {
  text-align: center;
}

.p-mariage__title {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.78125;
  font-family: 'orpheuspro', serif;
  color: #998e77;
  text-transform: uppercase;
}

.p-mariage__title span {
  font-size: 1.5rem;
  text-transform: capitalize;
}

.p-mariage__text {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 1.875rem;
}

@media (min-width: 768px) {
  .p-mariage__text {
    font-size: 1rem;
  }
}

.p-mariage__cards {
  display: grid;
  gap: 1rem;
  margin-top: 3.75rem;
}

@media (min-width: 768px) {
  .p-mariage__cards {
    grid-template-columns: repeat(3, 1fr);
  }
}

.p-mariage__company {
  margin-top: 3.75rem;
  display: grid;
  gap: 2.5rem;
  background-color: #fff;
  padding: 1.875rem;
}

@media (min-width: 768px) {
  .p-mariage__company {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-mariage__company-img img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.p-mariage__company-text p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.8;
}

@media (min-width: 768px) {
  .p-mariage__company-text p {
    font-size: 1rem;
  }
}

.p-mariage__company-btn {
  margin-top: 1.875rem;
}

.p-mariage__company-btn a {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.8333333333;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #fff;
  min-width: 18.75rem;
  display: inline-block;
  padding: 0.625rem 1.25rem;
  background-color: #998e77;
  position: relative;
  text-align: center;
  -webkit-box-shadow: 0.1875rem 0.1875rem 0 #e0d7c5;
  box-shadow: 0.1875rem 0.1875rem 0 #e0d7c5;
}

@media (min-width: 768px) {
  .p-mariage__company-btn a {
    font-size: 1.125rem;
    min-width: 29.875rem;
  }
}

.p-media:nth-child(n + 2) {
  margin-top: 4rem;
}

@media (min-width: 768px) {
  .p-media:nth-child(n + 2) {
    margin-top: 8.3125rem;
  }
}

.p-media__img-wrap {
  position: relative;
}

.p-media__img-wrap::before {
  content: '';
  position: absolute;
  top: 2.1875rem;
  right: 0;
  z-index: -1;
  width: 91.75%;
  height: 23.875rem;
  background-color: var(--bg-gray);

  @media (min-width: 768px) {
    top: auto;
    top: initial;
    bottom: -9.875rem;
    height: 19.8125rem;
  }
}

.p-media--rev .p-media__img-wrap::before {
  left: 0;
}

.p-media__img-wrap.p-media__img-wrap--none::before {
  display: none;
}

.p-media__img {
  width: 91.75%;
}

.p-media--rev .p-media__img {
  margin-left: auto;
}

.p-media--full .p-media__img {
  width: 100%;
}

.p-media__img img {
  aspect-ratio: 367/382;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

@media (min-width: 768px) {
  .p-media__img img {
    aspect-ratio: 1366/450;
  }
}

.p-media__wrap {
  margin-top: -5.125rem;
  padding: 2.3125rem 0.9375rem 1.125rem;
  background-color: #fff;
  -webkit-box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2);
  position: relative;
  z-index: 1;
}

@media (min-width: 768px) {
  .p-media__wrap {
    padding: 1.875rem 3.75rem;
  }
}

.p-media__wrap.p-media__wrap--mt0 {
  margin-top: 0;
}

.p-media--full .p-media__wrap {
  margin-top: -1.5625rem;
}

@media (min-width: 768px) {
  .p-media--full .p-media__wrap {
    margin-top: -7.1875rem;
  }
}

@media (min-width: 768px) {
  .p-media__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-media__intro {
  margin-top: 1.25rem;
}

.p-media__intro p {
  font-size: 19px;
  font-weight: 600;
  line-height: 1.75;
  letter-spacing: 0;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.p-media__text {
  margin-top: 1.0625rem;
}

.p-media__text p {
  font-size: 0.875rem;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-media__btn {
  text-align: right;
  margin-top: 0.8125rem;
}

.p-media__btn2 {
  text-align: center;
  margin-top: 0.8125rem;
}

.p-media__sub-img {
  margin-top: 0.9375rem;
  position: relative;
}

@media (min-width: 768px) {
  .p-media__sub-img {
    margin-top: 0;
    margin-left: 2.5rem;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 48.9678899083%;
  }
}

.p-media__sub-img img {
  aspect-ratio: 327/309;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
}

.p-media__img2 {
  margin-top: 1.125rem;
}

@media (min-width: 768px) {
  .p-media__img2 {
    margin-top: 0;
    margin-left: 1.875rem;
  }
}

.p-media__img2 img {
  aspect-ratio: 324/230;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.p-media2__content {
  display: grid;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-column-gap: 2.5rem;
  -moz-column-gap: 2.5rem;
  column-gap: 2.5rem;
  row-gap: 0.625rem;
}

@media (min-width: 768px) {
  .p-media2__content {
    grid-template-columns: repeat(2, 1fr);
  }
}

.p-media2__title h2 {
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.6;
  font-family: YuMincho, 'Yu Mincho', serif;
}

@media (min-width: 768px) {
  .p-media2__title h2 {
    font-size: 1.375rem;
  }
}

@media (min-width: 768px) {
  .p-media2__text {
    margin-top: 2.125rem;
  }
}

.p-media2__text p,
.p-media2__text2 p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
}

.p-media2__img img {
  aspect-ratio: 479/294;
  -o-object-fit: contain;
  object-fit: contain;
  width: 100%;
}

.p-media2__info {
  margin-top: 1rem;
}

.p-media3 {
  position: relative;

  &__point {
    position: absolute;
    top: calc(30 * var(--px));
    left: calc(-12 * var(--px));
    font-size: calc(48 * var(--px));
    font-weight: 700;
    line-height: 1.5;
    color: var(--text-color5);

    @media (min-width: 768px) {
      left: calc(-60 * var(--px));
    }
  }

  &.p-media3--rev &__point {
    top: calc(10 * var(--px));
    left: calc(-10 * var(--px));

    @media (min-width: 768px) {
      top: calc(30 * var(--px));
      left: unset;
      right: calc(-60 * var(--px));
    }
  }

  &__content {
    width: 100%;
    position: relative;

    @media (min-width: 768px) {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
    }

    &::before,
    &::after {
      content: '';
      position: absolute;
      top: calc(20 * var(--px));
      left: calc(-10 * var(--px));
      width: 100%;
      height: 110%;
      border: 1px solid var(--bg-color4);

      @media (min-width: 768px) {
        left: calc(-60 * var(--px));
        height: 110%;
      }
    }

    &::after {
      top: calc(30 * var(--px));
      left: calc(-20 * var(--px));

      @media (min-width: 768px) {
        left: calc(-70 * var(--px));
      }
    }
  }

  &__title {
    padding-left: calc(50 * var(--px));
    position: relative;

    @media (min-width: 768px) {
      padding-left: 0;
    }
  }

  &.p-media3--rev &__title {
    @media (min-width: 768px) {
      text-align: right;
      translate: calc(-120 * var(--px)) calc(10 * var(--px));
    }
  }

  &__body {
    position: relative;
    z-index: 2;

    @media (min-width: 768px) {
      width: 50%;
      -ms-flex-negative: 0;
      flex-shrink: 0;
    }
  }

  &.p-media3--rev &__body {
    @media (min-width: 768px) {
      width: calc(50% - 1.875rem);
      margin-left: 1.875rem;
    }
  }

  &__text {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.8;
    margin-top: 1.25rem;
    padding: 0.625rem;
    text-shadow: 0 0 0.25rem #fff;

    /* Override from 13579 */
    @media (min-width: 768px) {
      font-size: 16px;
    }
  }

  &__img {
    position: relative;
    z-index: 2;
    margin-top: var(--size-lg);

    @media (min-width: 768px) {
      margin-top: 0;
      width: calc(50% - 1.875rem);
      -ms-flex-negative: 0;
      flex-shrink: 0;
      margin-left: 1.875rem;
    }

    & img {
      aspect-ratio: 4/3;
      -o-object-fit: cover;
      object-fit: cover;
      width: 100%;
    }
  }

  &.p-media3--rev &__img {
    @media (min-width: 768px) {
      width: 50%;
      margin-left: 0;
    }
  }

  &__sub-img {
    position: absolute;
    z-index: 1;
    width: 18.75rem;

    @media (min-width: 768px) {
      bottom: -16.25rem;
      left: -5rem;
      width: 31.25rem;
    }

    & img {
      aspect-ratio: 16/9;
      -o-object-fit: contain;
      object-fit: contain;
      width: 100%;
    }
  }

  &.p-media3--rev &__sub-img {
    right: 0;

    @media (min-width: 768px) {
      left: auto;
      left: initial;
      right: -5rem;
    }
  }

  &__btn {
    text-align: right;
  }
}

@media (min-width: 768px) {
  .p-mv__inner {
    padding-right: 0;
    padding-left: 0;
  }
}

.p-mv__item {
  max-height: 80vh;
  position: relative;
}

.p-mv__item img {
  aspect-ratio: 768/900;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

@media (min-width: 768px) {
  .p-mv__item img {
    aspect-ratio: 1286/600;
  }
}

.p-mv__item-text {
  position: absolute;
  bottom: 1.125rem;
  left: 2.125rem;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.8181818182;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: white;
  text-shadow: 0 0 0.25rem rgba(0, 0, 0, 0.4);
}

@media (min-width: 768px) {
  .p-mv__item-text {
    font-size: 1.375rem;
    bottom: 1.9375rem;
    left: 11.375rem;
  }
}

.p-nav {
  position: absolute;
  top: 0;
  left: 0;
  background-color: var(--bg-black);
  width: 100%;
  height: 100vh;
  -webkit-transition: 0.3s linear;
  transition: 0.3s linear;
  -webkit-transform: translateX(101%);
  transform: translateX(101%);
  overflow-y: scroll;
}

.p-nav.is-open {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.p-nav__list {
  padding: 0 0.5rem;
}

.p-nav__item {
  font-size: 1rem;
  line-height: 1.8;
  padding: 0.625rem 1.25rem;
  border-bottom: 1px solid var(--white);
}

.p-nav__item a {
  display: block;
  color: var(--white);
}

.p-nav__contact {
  margin-top: 1.875rem;
  text-align: center;
}

.p-nav__tel {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  font-family: YuMincho, 'Yu Mincho', serif;
  color: #fff;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.p-nav__tel::before {
  content: '';
  width: 1.5rem;
  height: 1.5rem;
  background: url(../images/icon_tel.svg) no-repeat center/contain;
  margin-right: 0.6875rem;
}

.p-nav__info {
  color: #fff;
}

.p-nav__btns {
  margin-top: 1.875rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.625rem;
  padding: 0 1.5rem;
}

.p-night-party {
  padding-bottom: 12.5rem;
}

.p-night-party__content {
  position: relative;
}

.p-night-party__content::before {
  content: '';
  position: absolute;
  right: -1.25rem;
  z-index: -1;
  width: calc(100% + 2.5rem);
  height: 135%;
  background-color: #f0f0f0;
}

@media (min-width: 768px) {
  .p-night-party__content::before {
    top: 2.5rem;
    right: -2.5rem;
    width: 100%;
    height: 28.75rem;
  }
}

.p-page-dress {
  padding-top: 2.9375rem;
  padding-bottom: 4.25rem;
}

.p-page-dress__title {
  text-align: center;
}

.p-page-dress__title p {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.2em;
  font-family: YuMincho, 'Yu Mincho', serif;
  margin-top: 1.25rem;
}

@media (min-width: 768px) {
  .p-page-dress__title p {
    font-size: 1.125rem;
    line-height: 2;
    margin-top: 3.4375rem;
  }
}

.p-page-dress__content {
  margin-top: 2.5rem;
  background-color: #e6dfd1;
  padding: 1.25rem;
}

@media (min-width: 768px) {
  .p-page-dress__content {
    margin-top: 5rem;
    padding: 3.75rem;
  }
}

.p-party-gallery {
  padding-top: 1.25rem;
  padding-bottom: 5rem;
}

.p-party-gallery__title {
  text-align: center;
  margin-top: 2.5rem;
}

.p-party__title {
  text-align: center;
}

.p-party__title p {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  margin-top: 5rem;
}

.p-party__slider {
  margin-top: 3.75rem;
}

.p-pc-nav__upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  min-height: 3.125rem;
}

.p-pc-nav__lower {
  position: absolute;
  right: 0;
  bottom: 0.5rem;
}

.p-pc-nav__tel-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  height: 100%;
  /* margin-top: 20px; */
}

.p-pc-nav__tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  margin: 0;
}

.p-pc-nav__tel a {
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  color: var(--black);
  font-family: YuMincho, 'Yu Mincho', serif;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;

  @media (min-width: 768px) {
    font-size: 1.75rem;
  }

  @media (min-width: 1130px) {
    font-size: 1.8rem;
    /* From 12837, originally 2rem in 11427 */
  }

  &::before {
    content: '';
    width: 30px;
    /* From 12842, originally 1.5rem */
    height: 25px;
    /* From 12843, originally 1.5rem */
    background: url(../images/icon_tel_gray.svg) no-repeat center/contain;
    margin-right: 0.6875rem;
  }
}

.p-pc-nav__hours {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.1;
  /* From 12846, originally 1.75 */
  letter-spacing: 0.01em;

  @media (min-width: 768px) {
    font-size: 0.625rem;
  }

  @media (min-width: 1130px) {
    font-size: 0.75rem;
  }
}

.p-pc-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-left: 0.75rem;
}

.p-pc-nav__list2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;

  & li {
    display: inline-block;

    & :not(:first-child) {
      border-left: 1px solid #636363;
    }

    & a {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1;
      letter-spacing: 0.01em;
      color: var(--black);
      display: inline-block;
      padding: 0.3rem 1.3rem;
      /* From 12825, originally padding-right: 1.5625rem etc */
      background-color: transparent;
      /* From 13243, originally #fff in 12824 */
      position: relative;

      &::after {
        content: '';
        position: absolute;
        left: 1.3rem;
        right: 1.3rem;
        bottom: 0;
        width: auto;
        height: calc(2 * var(--r));
        background-color: #767267;
        transform: scaleX(0);
        transform-origin: left center;
        transition: transform 0.5s ease;
        pointer-events: none;
      }

      &:hover {
        opacity: 1;

        &::after {
          transform: scaleX(1);
        }
      }
    }
  }
}

.p-pc-nav__item {
  & a {
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.3;
    /* From 12833, originally 1.7142857143 */
    font-family: YuMincho, 'Yu Mincho', serif;
    letter-spacing: 0.01em;
    display: inline-block;
    text-align: center;
    min-width: calc(160 * var(--px));
    padding-block: calc(16 * var(--px));
    padding-inline: 0.5rem;
    background-color: var(--bg-black);
    color: var(--white);
  }

  &:nth-child(n + 2) {
    margin-left: 0.25rem;
  }
}

.p-pc-nav__fair {
  text-align: center;
  margin-left: 0.75rem;

  & a {
    font-size: 1.0625rem;
    font-weight: 400;
    line-height: 1.7058823529;
    letter-spacing: 0.2em;
    font-family: YuMincho, 'Yu Mincho', serif;
    color: #fff;
    display: inline-block;
    min-width: 8.5rem;
    padding: 0.75rem 1rem;
    background: var(--btn-color);
    /* From 13239, originally #ccbd9f */

    @media (min-width: 768px) {
      min-width: 7.5rem;
      padding: 0.625rem;
    }

    @media (min-width: 1130px) {
      min-width: 8.5rem;
      padding: 0.75rem 1rem;
    }
  }
}

.p-pc-nav__item._contact a,
.p-pc-nav__fair a {
  width: calc(120 * var(--px));
  min-width: calc(120 * var(--px));
  padding-block: calc(12 * var(--px));
  padding-inline: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
  box-sizing: border-box;
  text-align: center;
}

@media (min-width: 768px) {

  .p-pc-nav__item._contact a,
  .p-pc-nav__fair a {
    width: calc(120 * var(--px));
    min-width: calc(120 * var(--px));
    padding-block: calc(12 * var(--px));
    padding-inline: 0.5rem;
  }
}

@media (min-width: 1130px) {

  .p-pc-nav__item._contact a,
  .p-pc-nav__fair a {
    width: calc(120 * var(--px));
    min-width: calc(120 * var(--px));
    padding-block: calc(12 * var(--px));
    padding-inline: 0.5rem;
  }
}

.p-photo__inner {
  background-color: #f5f2ed;
}

.p-photo__wrap {
  padding-top: 3.9375rem;
  padding-bottom: 4.875rem;
}

.p-photo__title {
  text-align: center;
}

.p-photo__gallery {
  margin-top: 3.75rem;
}

/**********
** c-slider-section
***********************************/

.c-section-header__catch-box {
  width: min(100%, calc(980 * var(--px)));
  margin-inline: auto;
  padding-block: var(--size-md);
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  text-align: center;
}

.c-section-header__catch {
  font-size: calc(32 * var(--px));
  font-weight: 400;
  line-height: 1.5;

  @media (min-width: 768px) {
    font-size: calc(38 * var(--px));
  }

  span {
    font-size: calc(40 * var(--px));

    @media (min-width: 768px) {
      font-size: calc(48 * var(--px));
    }
  }
}

.c-section-header__title {
  margin-top: var(--size-2xl);
  text-align: center;
}

/**********
** c-slider-section
***********************************/

/* Container & Section */
.c-slider-section {
  padding-top: 3.8125rem;
  padding-bottom: 3.1875rem;

  @media (min-width: 768px) {
    padding-top: 6rem;
    padding-bottom: 7.875rem;
  }
}

.c-slider-section__text {
  font-size: calc(24 * var(--px));
  letter-spacing: 0.2em;
  text-align: center;

  @media (min-width: 768px) {
    font-size: calc(36 * var(--px));
  }
}

.c-slider-section__inner {
  @media (min-width: 768px) {
    padding-right: 4.3125rem;
    padding-left: 4.3125rem;
  }
}

.c-slider-section__tabs {
  margin-top: 3.75rem;
}

.c-slider-section__btn {
  text-align: center;
  margin-top: 5.625rem;

  @media (min-width: 768px) {
    margin-top: 6.4375rem;
  }
}

/* Card Component */

.c-slider-card__content {
  display: contents;
}

.c-slider-card__img img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-slider-card__body {
  display: contents;
}

.c-slider-card__title {
  margin-top: 1.0625rem;
  flex-grow: 1;

  @media (min-width: 768px) {
    margin-top: 0;
  }
}

.c-slider-card__title p {
  font-size: clamp(calc(12 * var(--r)),
      calc(12 * var(--r)) + ((14 - 12) * var(--fluid-rate)),
      calc(14 * var(--r)));
  font-weight: 600;
  line-height: 1.3125;
  letter-spacing: 0.15em;
  font-family: YuMincho, 'Yu Mincho', serif;
}

.c-slider-card__category-wrap {
  position: absolute;
  top: -2.3125rem;
  left: 0.625rem;

  @media (min-width: 768px) {
    top: calc(-4 * var(--r));
  }
}

.c-slider-card__category {
  width: clamp(calc(40 * var(--r)),
      calc(40 * var(--r)) + ((56 - 40) * var(--fluid-rate)),
      calc(56 * var(--r)));
}

.c-slider-card__category .c-slider-card__icon {
  top: 0rem;
  left: 0;
}

.c-slider-card__price-wrap {
  margin-top: 1.0625rem;
}

.c-slider-card__label {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.8333333333;
  letter-spacing: 0.01em;
  display: inline-block;
  padding: 0 0.625rem;
  background-color: #ccbd9f;
}

.c-slider-card__price {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-family: YuMincho, 'Yu Mincho', serif;
  vertical-align: middle;

  @media (min-width: 768px) {
    font-size: 1.75rem;
  }
}

.c-slider-card__note {
  font-size: 0.625rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  font-family: YuMincho, 'Yu Mincho', serif;
  vertical-align: middle;
  padding-top: 10px;
  display: inline-block;
}

.c-slider-card__text {
  & p {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.01em;
  }
}

.c-slider-card__link {
  display: flex;
  flex-direction: column;
  gap: calc(20 * var(--px));
  background-color: #fff;
  border: calc(1 * var(--px)) solid #ddd;
  padding: calc(20 * var(--px));
  height: 100%;
  transition: transform 0.3s;
  position: relative;
  color: inherit;
  text-decoration: none;

  &:hover {
    opacity: 1;
    transform: translateY(calc(-5 * var(--px)));
  }
}

.c-slider-card__btn {
  margin-top: 1.25rem;
  text-align: right;
}

/* Generic List (Likely part of the same component family) */
.c-generic-list__content {
  @media (min-width: 768px) {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.c-generic-list__title {
  font-size: 0.875rem;
  line-height: 1.8;
  min-width: 9.375rem;
  text-align: center;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  background-color: #e6dfd1;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.c-generic-list__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.5rem 0.625rem;

  & p {
    font-size: 0.875rem;
    line-height: 1.8;

    &:first-child {
      font-size: 1.25rem;
    }

    &+p {
      margin-left: 0.625rem;
    }
  }
}

.p-report-item__img {
  width: 75%;
  margin: auto;
  position: relative;
}

@media (min-width: 768px) {
  .p-report-item__img {
    width: 100%;
  }
}

.p-report-item__img img {
  aspect-ratio: 1/1;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  -webkit-box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.25rem 0.25rem 0.3125rem rgba(0, 0, 0, 0.2);
}

.p-report-item__img-more {
  position: absolute;
  right: 0;
  bottom: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  font-family: YuMincho, 'Yu Mincho', serif;
  text-transform: uppercase;
  color: #fff;
}

.p-report-item__img-more::after {
  content: '';
  width: 2.1875rem;
  height: 0.0625rem;
  background-color: #fff;
  margin-left: 1.25rem;
}

.p-report-item__img-season {
  position: absolute;
  top: 0;
  right: 0;
  font-size: 2.125rem;
  font-weight: 400;
  line-height: 1.7647058824;
  font-family: 'shelby', sans-serif;
  -webkit-transform: rotate(15deg);
  transform: rotate(15deg);
  text-shadow: 0 0 0.1875rem rgba(0, 0, 0, 0.4);
  text-transform: uppercase;
}

.p-report-item__img-season.p-report-item__img-season-SPRING {
  color: #f9c5dc;
}

.p-report-item__img-season.p-report-item__img-season-SUMMER {
  color: #f7f054;
}

.p-report-item__img-season.p-report-item__img-season-AUTUMN {
  color: #f9b586;
}

.p-report-item__img-season.p-report-item__img-season-WINTER {
  color: #cff1ff;
}

.p-report-item__title {
  text-align: center;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.7222222222;
  letter-spacing: 0.1em;
  font-family: YuMincho, 'Yu Mincho', serif;
  margin-top: 1.5625rem;
}

.p-report-item__text {
  margin-top: 1.25rem;
  margin-right: auto;
  margin-left: auto;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
  width: 75%;
}

@media (min-width: 768px) {
  .p-report-item__text {
    width: 100%;
  }
}

.p-report {
  padding-top: 3.1875rem;
  padding-bottom: 2.5625rem;
}

@media (min-width: 768px) {
  .p-report {
    padding-top: 8.1875rem;
    padding-bottom: 6.75rem;
  }
}

.p-report__title {
  text-align: center;
}

.p-report__desc {
  margin-top: 1.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.01em;
}

.p-report__wrap {
  margin-top: 2.3125rem;
}

@media (min-width: 768px) {
  .p-report__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.125rem;
  }
}

.p-report__list .slick-next {
  right: 0.75rem;
}

.p-report__list .slick-next,
.p-report__list .slick-prev {
  width: 2.0625rem;
  height: 2.0625rem;
  background-color: #fff;
  -webkit-box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.25rem rgba(0, 0, 0, 0.2);
}

.p-report__list .slick-next:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 0.625rem;
  height: 0.625rem;
}

.p-report__list .slick-prev {
  left: 0.75rem;
}

.p-report__list .slick-prev:before {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 0.625rem;
  height: 0.625rem;
}

.p-report__list .slick-dots {
  width: auto;
  height: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-report__list .slick-dots li button:before {
  opacity: 0.15;
}

.p-report__list .slick-dots li.slick-active button::before {
  color: #ccbd9f;
  opacity: 0.95;
}

@media (min-width: 768px) {
  .p-report__item:nth-child(odd) {
    margin-top: 3rem;
  }
}

.p-report__btn {
  margin-top: 4.0625rem;
  text-align: center;
}

.p-single-plan__wrap {
  background-color: #f7f7f7;
  padding: 1.25rem;
}

@media (min-width: 768px) {
  .p-single-plan__wrap {
    /* width: 150px; */
  }
}

.p-single-plan__title {
  text-align: center;
  margin-bottom: 2rem;
}

.p-single-plan__title h2 {
  font-size: 1.125rem;
}

@media (min-width: 768px) {
  .p-single-plan__title h2 {
    font-size: 1.25rem;
  }
}

.p-single-plan__list {
  margin-top: 1.875rem;
  background-color: #fff;
  display: grid;
  border-bottom: 1px solid #ccbd9f;
}

@media (min-width: 768px) {
  .p-single-plan__list {
    margin-top: 3.75rem;
    grid-template-columns: repeat(2, 1fr);
  }
}

li.p-single-plan__item {
  background-color: transparent !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  height: 100%;
  border-bottom: 1px solid #ccbd9f;
}

li.p-single-plan__item:last-child {
  border-bottom: none;
}

.p-sweets-gallery {
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}

.p-sweets-gallery__title {
  text-align: center;
}

.p-sweets-gallery__gallery {
  margin-top: 3.125rem;
}

.p-sweets__wrap {
  padding-top: 3.9375rem;
  padding-bottom: 4.875rem;
  background-color: #f5f2ed;
}

.p-sweets__title {
  text-align: center;
}

.p-sweets__title p {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  margin-top: 2.8125rem;
}

.p-sweets__media {
  margin-top: 2.5rem;
}

.p-sweets__gallery {
  margin-top: 3rem;
}

.p-tab__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.625rem;
  text-align: center;
  width: 100%;
}

.p-tab__item {
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.2;
  color: #998e77;
  display: block;
  padding: 0.5rem 0.25rem;
  border: 1px solid #ccbd9f;
  cursor: pointer;
}

@media (min-width: 768px) {
  .p-tab__item {
    font-size: 0.875rem;
    line-height: 1.7142857143;
    padding: 1rem 0.5rem;
  }
}

.p-tab__item.is-active {
  background-color: #ccbd9f;
  color: #fff;
}

.p-tab__content {
  display: none;
}

.p-tab__content.is-show {
  display: block;
  margin-top: 3.75rem;
}

.p-tab__content .slick-list {
  padding: 0.625rem 1.25rem !important;
  overflow: visible;
  overflow: initial;
}

.p-tab__item2 {
  padding: 1.6875rem 1.25rem;
  background-color: #fff;
  -webkit-box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2);
  box-shadow: 0.125rem 0.125rem 0.6875rem rgba(0, 0, 0, 0.2);
  margin: 0 0.625rem;
}

@media (min-width: 768px) {
  .p-tab__item2 {
    margin: 0 1.875rem;
    padding: 3.3125rem 2.625rem;
  }
}

.u-desktop {
  display: none;
}

@media (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

.c-title.c-title--bottomLine::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--bg-color4);
}

@media (min-width: 768px) {
  .u-mobile {
    display: none;
  }

  .if-pc {
    display: none;
  }
}

@media (max-width: 768px) {
  .if-sp {
    display: none;
  }

  .p-about__text-desc {
    padding: 0 15px;
    text-align: left;
  }

  .p-hospitality__text {
    /* margin-top: 1.25rem; */
    text-align: left;
  }

  .p-hospitality__sub-title h3 {
    font-size: 18px;
    font-weight: bold;
  }

  .p-party__title p {
    font-size: 1rem;
    margin-top: 2rem;
    text-align: left;
  }

  .p-media3__content::before,
  .p-media3__content::after {
    display: none;
  }

  .p-media3__title {
    padding-left: calc(60 * var(--px)) !important;
    position: relative;
  }

  .p-media3__point {
    position: absolute;
    top: calc(15 * var(--px)) !important;
  }

  .p-concept {
    padding-block: calc(60 * var(--px)) !important;
  }

  .p-concept__media {
    margin-top: calc(24 * var(--px)) !important;
  }

  .p-concept__media {
    margin-top: calc(24 * var(--px)) !important;
  }

  .p-media-box2__img {
    margin-top: 20px;
  }

  .p-ceremony__text p {
    font-size: 16px;
  }

  .p-ceremony__text {
    text-align: left;
    padding: 0 15px;
  }

  .l-chapel {
    margin-top: 5rem;
  }

  .p-media2__title h2 {
    font-size: 20px;
  }

  .p-title-box__text {
    font-size: 16px;
    padding: 0 15px;
    text-align: left;
  }

  .l-garden-party {
    margin-top: 90px !important;
  }

  .p-garden-party__content {
    margin-top: 30px !important;
  }

  .plan_sub_txt {
    text-align: left;
    font-size: 16px;
    margin-bottom: 30px;
    line-height: 2;
    padding: 0 15px;
  }

  .plan_list .plan_list_block_link {
    font-size: 16px;
  }

  .plan_price_sale {
    margin-left: 15px;
  }

  .p-cuisine__head-text p {
    text-align: left;
    font-size: 16px;
    /* margin-bottom: 30px; */
    /* line-height: 2; */
    padding: 0 15px;
  }

  .p-cuisine__media {
    margin-top: 50px;
  }
}

/**********
** p-top-about
***********************************/

.p-top-about__contents {
  display: grid;
  gap: calc(20 * var(--px));

  @media (min-width: 768px) {
    grid-template-columns: calc(548 * var(--px)) 1fr;
    gap: calc(60 * var(--px));
  }
}

.p-top-about__img img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.p-top-about__content {
  display: grid;
  gap: calc(20 * var(--px));
  place-items: center;

  @media (min-width: 768px) {
    place-items: unset;
  }
}

.p-top-about__logo-box {
  display: grid;
  grid-template-columns: calc(80 * var(--px)) 1fr;
  align-items: center;
  gap: calc(16 * var(--px));

  @media (min-width: 768px) {
    grid-template-columns: calc(150 * var(--px)) 1fr;
  }
}

.p-top-about__logo img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.p-top-about__logo-text {
  font-size: calc(32 * var(--px));
  line-height: 1.5;

  @media (min-width: 768px) {
    font-size: calc(42 * var(--px));
  }
}

.p-top-about__catch {
  font-size: calc(20 * var(--px));
  line-height: 2;
  color: var(--black);
  text-align: center;

  span {
    font-size: calc(28 * var(--px));
  }
}

.p-top-about__text-box {
  text-align: center;
}

.p-top-about__text {
  font-size: calc(14 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-main);
}

.p-top-about__text+.p-top-about__text {
  margin-top: 1.5em;
}

* {}

h2 {
  color: #998e77;
  font-size: 24px;
}

.p-about__text-desc,
.p-media__text p,
.p-media2__text p,
.p-media2__text2 p {
  font-size: 16px;
  line-height: 2.1;
  letter-spacing: 0.05em;
}

.p-dress__text p,
.p-dress__full-text p {
  line-height: 3rem;
}

@media (min-width: 1130px) {
  .p-pc-nav__fair a {
    width: calc(120 * var(--px));
    min-width: calc(120 * var(--px));
    padding-block: calc(12 * var(--px));
    padding-inline: 0.5rem;
  }
}

.p-nav__item {
  font-size: 1.5rem;
  line-height: 2;
}

.p-nav__item a {
  font-size: 1rem;
}

.c-page-header .headerline {
  height: 5px;
  width: 100%;
  background-color: #ece3d2;
}

#top .p-report .p-report-item__title h2 {
  font-size: 1.3rem;
  color: #998e77;
}

@media (min-width: 768px) {
  .p-bridal__content {
    display: block;
  }
}

#top .p-bridal .area {
  padding: 0 20px;
  max-width: 1000px;
  margin: 0 auto;
}

@media (min-width: 480px) {
  #top .p-bridal .area {
    padding: 0 4%;
  }
}

@media (min-width: 768px) {
  #top .p-bridal .tab_content .tab_content_wrap {
    /* display: flex; */
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 30px;
  }

  #top .p-bridal .area .flex_wrap .fair_detail_link:nth-child(2) {
    margin-left: 20px;
  }

  #top .p-bridal .fair_thumbnail {
    /* max-width: 270px; */
    /* max-height: 270px; */
    /* margin: 0; */
    width: 100%;
    height: 100%;
  }

  #top .p-bridal .fair_txt_wrap {
    width: calc(100% - 305px);
    width: 100%;
  }
}

#top .p-bridal .flex_wrap {
  display: flex;
  justify-content: space-between;
  max-width: 620px;
  margin: 0 auto;
}

#top .p-bridal .flex_wrap .fair_reserve_link {
  background-color: #767267;
  border: 1px solid #767267;
  letter-spacing: 1px;
}

#top .fair_slider .slick-prev,
#top .fair_slider .slick-next {
  z-index: 1;
  padding: 2rem;
}

#top .fair_slider .slick-prev {
  left: -4rem;
}

#top .fair_slider .slick-next {
  right: -3rem;
}

.slick-dots li.slick-active button {
  box-shadow: none;
}

.p-bridal__btn {
  text-align: center;
  margin-top: 5.625rem;
}

@media (min-width: 768px) {
  .p-bridal__btn {
    margin: 4rem 0 6.4375rem;
  }
}

.p-report-item__img-season {
  text-transform: lowercase;
  /* text-transform: capitalize; */
}

#top .fair_slider .fair_date {
  display: block;
}

#top .fair_slider .fair_date_time_wrap {
  flex-wrap: wrap;
}

#top .fair_slider .fair_date_time_wrap span {
  margin-top: 0.5rem;
}

@media (min-width: 769px) {
  #top .fair_slider .tab_content_wrap {
    margin-top: 1.5rem;
  }

  #top .fair_slider .fair_date_time_wrap {
    flex-wrap: wrap;
  }

  #top .fair_slider .fair_tit {
    font-size: 16px;
  }

  #top p.fair_tit,
  #top p.fair_txt {
    margin-bottom: 1rem;
  }
}

#top .tab_content_wrap {
  margin-bottom: 1.5rem;
}

/*Ã£Æ’â€“Ã£Æ’Â©Ã£â€šÂ¤Ã£Æ’â‚¬Ã£Æ’Â«Ã£Æ’â€¢Ã£â€šÂ§Ã£â€šÂ¢*/

.slick-dots li.slick-active button::before {
  color: #998e77;
}

.fair-date-main:before {
  width: 61px;
  height: 77px;
  top: -13px;
  left: 2px;
}

@media (min-width: 769px) {
  .fair-date-main:before {
    background-size: cover;
    width: 100px;
    height: 124px;
    top: -30px;
    left: 21px;
  }
}

@media (max-width: 768px) {
  #fair .reccomend {
    background-color: inherit;
  }
}

ul.tab.clearfix_2 {
  margin: -13px -27px 10px -24px !important;
  justify-content: initial;
}

.fair_date_time_wrap span,
.event_time span {
  display: inline-block;
  background-color: #ccbd9f;
  padding: 2px 4px;
  border-radius: 3px;
  color: white;
}

/*Ã£Æ’â€”Ã£Æ’Â©Ã£Æ’Â³*/

.plan_list_icon {
  max-width: 76px;
  top: -8px;
  left: 8px;
}

@media (min-width: 768px) {
  .plan_list_icon {
    max-width: 94px;
    top: -10px;
    left: 11px;
  }
}

/*Ã£Æ’â€°Ã£Æ’Â¬Ã£â€šÂ¹*/
.p-dress-slide__item:not(.slick-active).is-overlay::before {
  background: #fff;
  opacity: 0.7;
}

.p-page-dress__content {
  margin-top: 2.5rem;
  background-color: #f0f0f0;
}

.p-mariage {
  background-color: #edf0f2;
}

/*Ã£Æ’â€˜Ã£Æ’Â¼Ã£Æ’â€ Ã£â€šÂ£Ã£Æ’Â¼Ã£Æ’Â¬Ã£Æ’ÂÃ£Æ’Â¼Ã£Æ’Ë†*/
#report .report_content_wrap {
  background-color: #fff;
}

#report p.report_txt {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.8;
  margin: 5rem auto;
}

.detail_slider_wrap {
  background-color: #f0f0f0;
}

#detail .detail_slider_container {
  background-image: none;
}

.detail_data_tit {
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.78125;
  font-family: 'orpheuspro', serif;
  color: #998e77;
  text-transform: uppercase;
  padding-left: 0.5rem;
  text-align: center;
}

@media (max-width: 768px) {
  .detail_data_tit {
    background-image: url(../../img/line_dot-sp.png);
  }
}

@media (min-width: 768px) {
  #detail .slick-dots {
    bottom: 142px;
  }
}

.detail_data_wrap th,
.detail_data_wrap td {
  text-align: center;
}

.detail_slider_wrap {
  height: 221px;
}

@media (min-width: 768px) {

  .detail_slider_container,
  .detail_slider_wrap {
    background-color: inherit;
  }
}

.datail_message_wrap {
  background-color: #f0f0f0;
}

.datail_message_tit {
  color: #998e77;
}

.datail_message_icon {
  top: -22px;
  left: 20px;
  width: 52px;
}

@media (min-width: 769px) {
  .datail_message_icon {
    width: 80px;
    left: 36px;
  }
}

#recommended {
  background-color: inherit;
}

@media (max-width: 769px) {
  .p-media2__content div:nth-of-type(1) {
    order: 1;
  }

  .p-media2__content div:nth-of-type(2) {
    order: 2;
  }

  .p-media2__content div:nth-of-type(3) {
    order: 4;
  }

  .p-media2__content div:nth-of-type(4) {
    order: 3;
  }

  .p-media2__content div:nth-of-type(5) {
    order: 5;
  }

  .p-media2__content div:nth-of-type(6) {
    order: 6;
  }

  .p-media2__content div:nth-of-type(7) {
    order: 8;
  }

  .p-media2__content div:nth-of-type(8) {
    order: 7;
  }

  .p-media2__content div:nth-of-type(9) {
    order: 9;
  }

  .p-media2__content div:nth-of-type(10) {
    order: 10;
  }

  .p-media2__content {
    row-gap: 2.14rem;
  }

  .p-media2__text {
    margin: 10px 0;
  }
}

/*Ã¥â€¦Â¨Ã¤Â½â€œ*/
.flex {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  flex-wrap: wrap;
  margin: 0 1%;
  width: 100%;
}

/*flexÃ£ÂÂ®Ã¦â„¢â€šÃ¥Â·Â¦Ã¥ÂÂ³Ã£ÂÂ®Ã©Â â€ Ã§â€¢Âª*/
.flex.x {
  flex-direction: row-reverse;
}

/*flexÃ£ÂÂªÃ£Ââ€”*/
.flex.non {
  display: block;
}

.flex .cnt {
  padding: 1%;
  width: calc(100% / 2);
}

.flex .cnt.left {
  width: 30%;
}

.flex .cnt.right {
  width: 70%;
}

.flex .spflex .cnt {
  width: 100%;
}

.cnt img {
  width: 100%;
}

/*3Ã£â€šÂ«Ã£Æ’Â©Ã£Æ’Â */
.flex.clm3 .cnt {
  padding: 10px;
  width: calc(98% / 3);
}

@media (max-width: 600px) {
  .flex .cnt {
    width: 98%;
  }

  .flex.clm3 .cnt {
    width: 98%;
  }

  /* spÃ£ÂÂ®Ã¥Â Â´Ã¥ÂË†flex */
  .flex .spflex {
    width: 98%;
  }

  .flex .spflex .cnt {
    padding: 1%;
    width: calc(98% / 2);
  }
}

@media (min-width: 768px) {
  .c-slider .slick-next {
    right: -1.5rem;
  }
}

@media (min-width: 768px) {
  .c-slider .slick-prev {
    left: -1.5rem;
  }
}

/*
_:lang(x)+_:-webkit-full-screen-document, .c-gallery__item img {
aspect-ratio: 4 / 3;
object-fit: cover;
@include mq(md) {
height: auto;
aspect-ratio: initial;
}
}
*/
@media (max-width: 768px) {
  .c-gallery__item img {
    width: 100%;
    height: 120px;
  }
}

.p-arrangement {
  background-image: url('../images/p-arrangement-bg.jpg');
  background-repeat: repeat;
  /* background-size: 100% auto; */
  padding: 2rem 0;
  position: relative;
}

.p-arrangement .p-gallery__gallery-sp {
  margin-top: 1rem;
}

.p-media4 p {
  display: inline-block;
  padding: 0px 0.5rem;
}

.p-media4 p.en {
  color: #98d0b3;
  line-height: 1rem;
  font-family: 'orpheuspro';
  font-size: 1.6rem;
}

.p-bridal__inner .flex {
  display: flex;
  justify-content: center;
  background: #fff;
  border: 1px solid #ccbd9f;
  margin: 0;
}

.cnt_70 {
  width: 70%;
  padding: 40px 20px;
  text-align: center;
}

.cnt_70 iframe,
.p-footer-fair__slider iframe {
  /* min-width: 565px; */
  height: 260px;
  width: 100%;
}

.cnt_30 {
  width: 30%;
  padding: 40px 20px;
  text-align: center;
  max-width: 225px;
}

.cnt_30 iframe {
  min-width: 225px;
  height: 245px;
}

@media (max-width: 768px) {
  .p-bridal__inner .flex {
    display: flex;
    flex-direction: column;
  }

  .cnt_70 {
    width: 100%;
    padding: 20px;
    padding-bottom: 0;
  }

  .cnt_70 iframe {
    min-width: 100%;
    height: 410px;
  }

  .cnt_30 {
    width: 100%;
    margin: auto;
    padding: 20px;
  }

  .cnt_30 iframe {
    min-width: 225px;
    height: 245px;
  }

  .p-footer-fair__slider {
    text-align: center;
  }

  .p-footer-fair__slider iframe {
    min-width: 340px;
    height: 450px;
  }
}

.sp {
  display: none;
}

@media (max-width: 600px) {
  .sp {
    display: block;
  }

  .pc {
    display: none;
  }
}

.p-gallery__gallery-sp {
  margin-top: 2rem;
}

.p-gallery__gallery-sp button.slick-next,
.p-gallery__gallery-sp button.slick-prev {
  background-color: #fff;
  z-index: 99;
  width: 30px;
  height: 30px;
  border-radius: 1rem;
  position: absolute;
  right: -10px;
  opacity: 0.8;
}

.p-gallery__gallery-sp button.slick-prev {
  left: -10px;
}

.p-gallery__gallery-sp .slick-dots {
  height: 0;
  width: 100%;
  bottom: 0;
}

.p-gallery__gallery-sp .slick-next:before {
  position: relative;
  right: -10px;
}

.p-gallery__gallery-sp .slick-prev:before {
  position: relative;
  right: -10px;
}

.p-gallery__gallery-sp .slick-dots li button {
  width: 20px;
  height: 20px;
}

.p-gallery__gallery-sp .slick-dots li button:before {
  width: 20px;
  height: 20px;
}

.top_original-w {
  max-width: 1000px;
  margin: 3.75rem auto 0;

  & .c-media__content {
    position: relative;

    @media (min-width: 768px) {
      position: static;
      display: flex;
      flex-direction: column-reverse;
    }
  }

  & .c-media__body {
    width: 100%;
    position: static;
    margin: 0;
    margin-bottom: 1.7rem;

    @media (min-width: 768px) {
      width: 35%;
    }
  }
}

h2 {
  color: var(--black);
}

/* c-title */
.c-title {
  font-size: calc(32 * var(--px));
  color: var(--black);

  &.c-title--colorDifference {
    color: var(--text-color4);
  }

  &::after {
    color: var(--text-color);
  }

  &.c-title--bottomLine {
    position: relative;

    &::before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 1px;
      background-color: var(--bg-color4);
    }
  }
}

/* c-line-title */
.c-line-title {
  font-size: calc(24 * var(--px));
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--size-lg);

  @media (min-width: 768px) {
    font-size: calc(32 * var(--px));
  }

  &::before,
  &::after {
    content: '';
    width: min(calc(40 * var(--px)), 40px);
    height: 1px;
    background-color: var(--text-color);
  }
}

/* c-card4 */
.c-card4__detail {
  display: grid;
  grid-template-columns: calc(150 * var(--px)) 1fr;
  border: 1px solid var(--bg-color4);
  margin-top: var(--size-lg);
}

.c-card4__detailTitle {
  font-size: calc(14 * var(--px));
  padding-block: var(--size-sm);
  padding-inline: var(--size-sm);
  background-color: var(--bg-color2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-card4__detailText {
  font-size: calc(14 * var(--px));
  padding-block: var(--size-sm);
  padding-inline: var(--size-md);
}

/* c-media */
.c-media__title {
  color: var(--text-color4);

  &::after {
    color: var(--text-color);
  }
}

.c-media__body {
  margin-top: 2rem;

  @media (min-width: 768px) {
    margin-top: 0;
    margin-left: 3rem;
  }
}

.c-media--rev {
  & .c-media__body {
    @media (min-width: 768px) {
      margin-left: 0;
      /* Reset previous margin */
      margin-right: 3rem;
    }
  }
}

.c-media__text p+p {
  margin-top: var(--size-lg);
}

/* c-col-title */

/* c-col-title */

.c-col-title {
  text-align: center;
  color: var(--text-color);
  position: relative;
}

.c-col-title::before {
  content: '';
  position: absolute;
  top: calc(-17 * var(--px));
  left: calc(50% - min(50vw, calc(-50 * var(--px))));
  width: calc(200 * var(--px));
  height: calc(60 * var(--px));
  background: url(../images/icon_title_treat.webp) no-repeat center/contain;
}

.c-col-title__en {
  font-size: calc(14 * var(--px));
  font-weight: 400;
  text-transform: capitalize;
  display: block;
}

.c-col-title__jp {
  font-size: calc(22 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  border-top: 1px solid var(--text-color);
  display: inline-block;
  padding-top: var(--size-md);
  margin-top: var(--size-md);
}

/* c-treat-title */

.c-treat-title {
  font-size: calc(20 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  position: relative;
  padding-block: calc(30 * var(--px));
  position: relative;
}

.c-treat-title::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: calc(100 * var(--px));
  height: calc(100 * var(--px));
  background: url(../images/icon_treat01.webp) no-repeat center/contain;
}

/* c-info */

.c-info__wrap {
  border-color: var(--bg-color8);
}

.c-info__item span {
  background-color: var(--bg-color8);
}

/* c-detail-box */

.c-detail-box__box {
  display: grid;
  grid-template-columns: calc(150 * var(--px)) 1fr;
  border: 1px solid var(--bg-color4);
  margin-top: var(--size-lg);
}

.c-detail-box__box+.c-detail-box__box {
  border-top: none;
  margin-top: 0;
}

.c-detail-box__detailTitle {
  font-size: calc(14 * var(--px));
  padding-block: var(--size-sm);
  padding-inline: var(--size-sm);
  background-color: var(--bg-color2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-detail-box__detailText {
  font-size: calc(14 * var(--px));
  padding-block: var(--size-sm);
  padding-inline: var(--size-md);
}

/* p-facility */

.p-facility {
  overflow-x: clip;
}

.p-facility__bg {
  background-color: var(--bg-color);
  margin-top: var(--size-3xl);
  margin-inline: calc(50% - 50vw);
  padding-block: var(--size-3xl);
}

.p-facility__cards.p-facility__cards--col {
  margin-top: 0;

  @media (min-width: 768px) {
    grid-template-columns: 1fr;
  }
}

/* p-pc-nav */

/* p-about */

.p-about__title h2 {
  font-size: calc(32 * var(--px));
  color: var(--text-color4);
}

.p-about__img-wrap::before {
  background-color: var(--bg-color);
}

.p-about__sub-text {
  color: var(--text-color);
}

/* p-media */

.p-media.p-media--cuisine {
  margin-top: 5rem;
  padding-block: 6.25rem;
  background-color: var(--bg-color);
}

.p-media.p-media--full.p-media--cuisine .p-media__wrap {
  margin-top: 0;
}

.p-media__text p+p {
  margin-top: var(--size-lg);
}

/* blog-section */

.p-blog {
  background-color: var(--bg-color);
}

.p-blog-item__img {
  width: 148px;
}

.p-blog-item__img img {
  height: 100%;
}

/* footer-section */

.p-footer-link__textBox {
  text-align: center;
}

.p-footer-link__text {
  font-size: 0.875rem;
  line-height: 1.5;
  color: white;
}

/* p-hospitality */

.p-hospitality {
  background-color: #f7f7f7;
}

.p-hospitality__text p+p {
  margin-top: var(--size-lg);
}

/* p-common-access */

.p-common-access {
  overflow-x: clip;
}

.p-common-access.p-common-access--mt {
  margin-top: var(--size-3xl);
}

.p-common-access__bg {
  background-color: var(--bg-color2);
  padding-block: var(--size-3xl);
}

.p-common-access__media+.p-common-access__media {
  margin-top: var(--size-2xl);
}

/* p-access-media */

.p-access-media {
  display: grid;
}

@media (min-width: 768px) {
  .p-access-media {
    grid-template-columns: calc(550 * var(--px)) 1fr;
    align-items: center;
    gap: var(--size-lg);
  }

  .p-access-media.p-access-media--rev {
    grid-template-columns: 1fr 1fr;

    .p-access-media__content {
      order: 2;
    }

    .p-access-media__map {
      margin-right: 0;
    }
  }
}

.p-access-media__subTitle {
  font-size: calc(18 * var(--px));
  font-weight: 500;
  line-height: 1.5;
  margin-top: var(--size-lg);
}

.p-access-media__listText {
  display: flex;
  align-items: center;
  gap: var(--size-sm);
}

.p-access-media__listText::before {
  content: '';
  width: calc(10 * var(--px));
  height: calc(10 * var(--px));
  background-color: var(--bg-color3);
  border-radius: 50%;
}

.p-access-media__text {
  margin-top: var(--size-lg);
  font-size: clamp(calc(14 * var(--r)),
      calc(14 * var(--r)) + ((16 - 14) * var(--fluid-rate)),
      calc(16 * var(--r)));
  line-height: 1.5;

  @media (min-width: 768px) {
    line-height: 2.75;
  }

  span {
    color: var(--accent-color);
  }
}

.p-access-media__btn {
  margin-top: var(--size-lg);
  text-align: right;
}

.p-access-media__mapBox {
  margin-top: var(--size-lg);
  position: relative;

  @media (min-width: 768px) {
    margin-top: 0;
  }
}

.p-access-media__map {
  height: min(100%, calc(550 * var(--px)));
}

.p-access-media__map iframe {
  aspect-ratio: 1 / 1;
  object-fit: cover;
  width: 100%;
  height: 100%;

  @media (min-width: 768px) {
    aspect-ratio: 1020 / 450;
  }
}

.p-access-media__mapLink {
  position: absolute;
  right: calc(20 * var(--px));
  bottom: calc(20 * var(--px));
  display: flex;
  align-items: center;
  gap: var(--size-sm);
  font-size: calc(12 * var(--px));
  letter-spacing: 0.01em;
  background-color: var(--black);
  border-radius: calc(infinity * 1px);
  color: var(--white);
  padding: var(--size-sm) var(--size-md);
}

.p-access-media__mapLink img {
  width: calc(13 * var(--r));
  height: calc(17 * var(--r));
}

.p-access-media__map img {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.p-access-media__tel {
  font-size: calc(18 * var(--px));
  font-weight: 600;
  line-height: 1.5;

  @media (min-width: 768px) {
    font-size: calc(24 * var(--px));
  }
}

/* p-greeting */

.p-greeting__box {
  margin-top: var(--size-3xl);
}

/* p-party */

.p-party__content {
  position: relative;
}

.p-party__content::before {
  content: '';
  position: absolute;
  top: calc(150 * var(--px));
  left: 50%;
  translate: -50% 0;
  width: calc(250 * var(--px));
  height: calc(250 * var(--px));
  background: url(../images/icon_treat03.webp) no-repeat center/contain;
}

.p-party__greeting {
  margin-top: var(--size-3xl);
}

.p-party__title {
  position: relative;
  z-index: 1;
}

.p-party__title p+p {
  margin-top: var(--size-lg);
}

/* p-title-box */

.p-title-box {
  text-align: center;
  padding-block: var(--size-lg);
}

.p-title-box__text {
  font-size: calc(18 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  margin-top: var(--size-lg);
}

/* p-media-box */

.p-media-box__wrap {
  background-color: var(--bg-color5);
  border: 1px solid var(--bg-color2);
  border-top-right-radius: var(--size-3xl);
  border-bottom-left-radius: var(--size-3xl);
  padding: var(--size-3xl) var(--size-lg) var(--size-lg);
  position: relative;
}

.p-media-box__check {
  position: absolute;
  top: calc(-20 * var(--px));
  right: calc(60 * var(--px));
  z-index: 1;
  font-size: calc(16 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  min-width: calc(240 * var(--px));
  text-align: center;
  background-color: var(--bg-color5);
  padding-block: var(--size-sm);
  border-top: 1px solid var(--bg-color2);
  border-left: 1px solid var(--bg-color2);
  border-right: 1px solid var(--bg-color2);
}

.p-media-box__title {
  font-size: 18px;
  font-weight: 400;
  line-height: 1.5;
  padding-bottom: var(--size-sm);
  border-bottom: 1px solid var(--bg-color6);
}

.p-media-box__contents {
  display: grid;
  margin-top: var(--size-lg);

  @media (min-width: 768px) {
    grid-template-columns: 1fr calc(460 * var(--px));
    gap: var(--size-lg);
  }
}

.p-media-box__text {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
}

.p-media-box__text+.p-media-box__text {
  margin-top: var(--size-lg);
}

.p-media-box__img img {
  aspect-ratio: 460 / 360;
  object-fit: cover;
  width: 100%;
}

.p-media-box__owner {
  margin-top: var(--size-2xl);
  text-align: right;
}

/* p-garden-party */

.p-garden-party {
  padding-bottom: calc(100 * var(--px));

  @media (min-width: 768px) {
    padding-bottom: 8rem;
  }
}

.p-garden-party__content {
  margin-top: var(--size-3xl);
}

.p-garden-party__content::before {
  background-color: var(--bg-color5);
  height: 110%;

  @media (min-width: 768px) {
    height: 100%;
  }
}

/* p-night-party */

.p-night-party {
  padding-bottom: calc(100 * var(--px));

  @media (min-width: 768px) {
    padding-bottom: 6rem;
  }
}

.p-night-party__content::before {
  right: calc(-20 * var(--px));
  background-color: var(--bg-color5);
  height: 110%;

  @media (min-width: 768px) {
    height: 100%;
  }
}

/* p-concept */

.p-concept {
  padding-block: calc(100 * var(--px));
}

.p-concept__media {
  margin-top: calc(84 * var(--px));
}

.p-concept__media+.p-concept__media {
  margin-top: var(--size-3xl);
}

/* p-media-box2 */

.p-media-box2 {
  display: grid;

  @media (min-width: 768px) {
    grid-template-columns: 1fr calc(460 * var(--px));
    gap: var(--size-lg);
  }
}

.p-media-box2.p-media-box2--rev {
  @media (min-width: 768px) {
    grid-template-columns: calc(460 * var(--px)) 1fr;
  }
}

.p-media-box2.p-media-box2--rev .p-media-box2__content {
  @media (min-width: 768px) {
    order: 2;
  }
}

.p-media-box2__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;

  &+.p-media-box2__text {
    margin-top: var(--size-lg);
  }
}

.p-media-box2__btn {
  margin-top: var(--size-lg);
  text-align: center;
}

/* p-charm */

.p-charm__items {
  margin-top: var(--size-3xl);
}

/* p-media-box3 */

.p-media-box3 {
  position: relative;
}

.p-media-box3::before {
  content: '';
  position: absolute;
  top: calc(10 * var(--px));
  left: calc(-15 * var(--px));
  z-index: 1;
  width: calc(2 * var(--px));
  height: 100%;
  background-color: var(--bg-color4);
}

.p-media-box3:last-child::before {
  height: calc(100% - calc(10 * var(--px)));
}

.p-media-box3::after {
  content: '';
  position: absolute;
  top: calc(-20 * var(--px));
  left: calc(-30 * var(--px));
  width: calc(150 * var(--px));
  height: calc(150 * var(--px));
  background: url(../images/icon_treat02.webp) no-repeat center/contain;
}

.p-media-box3:last-child::after {
  height: calc(100% - calc(10 * var(--px)));
}

.p-media-box3__title {
  font-size: calc(20 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  color: var(--text-color8);
  position: relative;
  z-index: 1;
}

.p-media-box3__title::before {
  content: '';
  position: absolute;
  top: calc(6 * var(--px));
  left: calc(-22 * var(--px));
  width: var(--size-md);
  height: var(--size-md);
  background-color: var(--bg-color8);
  border-radius: 50%;
}

.p-media-box3__contents {
  display: grid;
  position: relative;
  z-index: 1;

  @media (min-width: 768px) {
    grid-template-columns: 1fr calc(460 * var(--px));
    gap: var(--size-lg);
    padding-bottom: var(--size-3xl);
  }
}

.p-media-box3:last-child .p-media-box3__contents {
  padding-bottom: 0;
}

.p-media-box3__subTitle {
  font-size: calc(18 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  padding-left: var(--size-sm);
  position: relative;
}

.p-media-box3__subTitle::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: var(--bg-color8);
}

.p-media-box3__text {
  font-size: calc(14 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  margin-top: var(--size-sm);
}

.p-media-box3__detail {
  display: grid;
  grid-template-columns: calc(150 * var(--px)) 1fr;
  border: 1px solid var(--bg-color4);
  margin-top: var(--size-lg);
}

.p-media-box3__detailTitle {
  font-size: calc(14 * var(--px));
  padding-block: var(--size-sm);
  padding-inline: var(--size-sm);
  background-color: var(--bg-color2);
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-media-box3__detailText {
  font-size: calc(14 * var(--px));
  padding-block: var(--size-sm);
  padding-inline: var(--size-md);
}

.p-media-box3__btn {
  margin-top: var(--size-lg);
  text-align: center;
}

.p-media-box3__img img {
  aspect-ratio: 460 / 240;
  object-fit: cover;
  width: 100%;
}

/* l-inner */

.l-inner {
  &.l-inner--lg {
    @media (min-width: 768px) {
      max-width: calc(1350 * var(--px));
    }
  }
}

.l-garden-party {
  margin-top: calc(100 * var(--px));
}

/* plan */

.plan_list_tit {
  color: var(--text-color);
}

.plan_price::before {
  background-color: var(--bg-color8);
}

.plan_list_block {
  border-color: var(--bg-color8);
  background-color: var(--bg-color5);
}

#plan .plan_list li {
  background-color: color-mix(in srgb, var(--bg-color8) 10%, transparent);
}

/* fair */

.fair_detail_link {
  background-color: var(--bg-color8);
}

/* single-plan */

.p-single-plan__items {
  display: grid;
  gap: var(--size-lg);

  @media (min-width: 768px) {
    grid-template-columns: repeat(2, 1fr);
  }
}

li.p-single-plan__item {
  border-bottom: none;
}

.plan_list li.p-single-plan__item img {
  aspect-ratio: 300 / 200;
  object-fit: cover;
  width: 100%;
}

.p-single-plan__title h2 {
  color: var(--text-color4);
}

/* p-ceremony */

.p-ceremony__sub-title {
  color: var(--text-color4);
  position: relative;
}

.p-ceremony__sub-title::after {
  content: '▼';
  display: block;
  font-size: calc(14 * var(--px));
  color: var(--main-color);
}

/* p-media2 */

.p-media2__content {
  row-gap: var(--size-2xl);
}

.p-media2__title h2 {
  color: var(--text-color4);
}

/* p-chapel */

.p-chapel+.p-chapel {
  padding-bottom: calc(100 * var(--px));
}

/* p-contact */

.p-contact {
  font-family: var(--font-mincho);
}

.p-contact input,
.p-contact textarea,
.p-contact select,
.p-contact button {
  font-family: var(--font-mincho);
}

.p-contact__title {
  margin-top: calc(60 * var(--px));
  text-align: center;
}

.p-contact__subTitle {
  margin-top: var(--size-lg);
  color: var(--black);
  text-align: center;
}

.p-contact__textBox {
  margin-top: var(--size-lg);
}

.p-contact__text {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
}

.p-contact__form {
  padding-block: var(--size-3xl);
}

/* 観光情報ページと同様、リード文〜フォーム間の余白 */
.p-contact .p-sightseeing__inner .p-contact__form {
  margin-top: calc(40 * var(--r));
}

.p-contact__tel {
  font-size: calc(18 * var(--r));
}

.p-contact__connect {
  padding-block: var(--size-lg) var(--size-2xl);
  font-size: calc(14 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
}

/* p-booking */

.p-booking {
  margin-top: var(--size-lg);

  @media (min-width: 768px) {
    margin-top: var(--size-3xl);
  }
}

.p-booking__title {
  text-align: center;
}

.p-booking__lists {
  display: grid;
  gap: var(--size-md);
  margin-top: var(--size-lg);

  @media (min-width: 768px) {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--size-lg);
    margin-top: var(--size-2xl);
  }
}

.p-booking__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  background-color: var(--bg-color);
}

.p-booking__img img {
  aspect-ratio: 600 / 358;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.p-booking__body {
  padding: var(--size-md);
}

.p-booking__title {
  font-size: calc(24 * var(--px));
  font-weight: 500;
}

.p-booking__text {
  font-size: calc(16 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  margin-top: var(--size-sm);
}

.p-booking__btn {
  text-align: center;
  margin-top: var(--size-lg);

  @media (min-width: 768px) {
    margin-top: var(--size-2xl);
  }
}

/* archive booking-plan */

#report .report_list li {
  width: calc(100% - 7.5px);

  @media (min-width: 768px) {
    width: calc(100% / 2 - 40px / 2);
  }
}

.content_wrap {
  @media (min-width: 768px) {
    margin-top: var(--size-2xl);
    max-width: calc(1240 * var(--r));
  }
}

/* form */

.form_item {
  @media (min-width: 768px) {
    width: calc(300 * var(--px));
    flex-shrink: 0;
  }
}

.wpcf7-form {
  padding-top: 4em;
  background-color: var(--bg-color11);
}

.submit_button {
  background-color: var(--bg-color8);
}

/* プランスライダー：1件・2件表示時のスタイル */
.c-card-slider__container[data-post-count='1'] .slick-list,
.c-card-slider__container[data-post-count='2'] .slick-list {
  padding: 0 !important;
  overflow: visible !important;
}

.c-card-slider__container[data-post-count='1'] .slick-track,
.c-card-slider__container[data-post-count='2'] .slick-track {
  display: flex !important;
  align-items: stretch;
  justify-content: center;
}

.c-card-slider__container[data-post-count='1'] .slick-slide,
.c-card-slider__container[data-post-count='2'] .slick-slide {
  float: none !important;
  display: block !important;
  height: auto !important;
}

.c-card-slider__container[data-post-count='1'] .slick-slide {
  width: 100% !important;
  margin: 0 auto;
}

.c-card-slider__container[data-post-count='2'] .slick-slide {
  width: calc(50% - 0.3125rem) !important;
  margin-right: 0.3125rem;
  margin-left: 0;
}

.c-card-slider__container[data-post-count='2'] .slick-slide:last-child {
  margin-right: 0;
}

.c-card-slider__container[data-post-count='2'] .slick-track {
  gap: var(--size-sm);
}

.c-card-slider__container .slick-track {
  display: flex;
}

/* スマホ表示時の調整 */
@media (max-width: 767px) {
  .c-card-slider__container[data-post-count='2'] .slick-slide {
    width: 100% !important;
    margin-right: 0;
    margin-bottom: 1.25rem;
  }

  .c-card-slider__container[data-post-count='2'] .slick-slide:last-child {
    margin-bottom: 0;
  }
}

/* Slick arrows custom for Plan */
.c-card-slider__container .slick-list {
  padding-top: calc(20 * var(--px)) !important;
  padding-bottom: calc(20 * var(--px)) !important;
  overflow: hidden;
}

.c-card-slider__container .slick-slide {
  margin: 0 calc(10 * var(--px));
  height: auto;
  opacity: 0.5;
  transition: opacity 0.3s;
}

.c-card-slider__container .slick-slide.slick-active {
  opacity: 1;
}

.c-card-slider__container .slick-prev,
.c-card-slider__container .slick-next {
  width: calc(40 * var(--px));
  height: calc(40 * var(--px));
  background-color: #fff;
  border: calc(1 * var(--px)) solid #ddd;
  z-index: 10;
  transition: background-color 0.3s;
}

.c-card-slider__container .slick-prev:hover,
.c-card-slider__container .slick-next:hover {
  background-color: #f0f0f0;
}

.c-card-slider__container .slick-prev {
  left: calc(-40 * var(--px));
}

.c-card-slider__container .slick-next {
  right: calc(-40 * var(--px));
}

.c-card-slider__container .slick-prev:before,
.c-card-slider__container .slick-next:before {
  content: '';
  display: block;
  width: calc(10 * var(--px));
  height: calc(10 * var(--px));
  border-top: 2px solid #998e77;
  border-right: 2px solid #998e77;
  position: absolute;
  top: 50%;
  left: 50%;
  background-image: none;
}

.c-card-slider__container .slick-prev:before {
  transform: translate(-30%, -50%) rotate(-135deg);
}

.c-card-slider__container .slick-next:before {
  transform: translate(-70%, -50%) rotate(45deg);
}

@media (max-width: 767px) {

  .c-card-slider__container .slick-prev,
  .c-card-slider__container .slick-next {
    width: calc(30 * var(--px));
    height: calc(30 * var(--px));
  }

  .c-card-slider__container .slick-prev {
    left: calc(-10 * var(--px));
  }

  .c-card-slider__container .slick-next {
    right: calc(-10 * var(--px));
  }
}

/**********
** TOURIST INFORMATION & COMMON CARD
***********************************/

.p-common-section {
  padding: var(--size-3xl) 0;
  background-color: var(--base-color);
}

@media (min-width: 769px) {
  .p-common-section {
    padding: var(--size-3xl) 0 var(--size-3xl);
  }
}

.p-common-section__header {
  margin-bottom: var(--size-lg);
  text-align: center;
}

.p-common-section__desc {
  text-align: center;
  margin-bottom: var(--size-2xl);
}

.p-common-section__desc-title {
  font-size: 1.25rem;
  margin-bottom: var(--size-sm);
  color: #555;
  font-family: var(--font-mincho);
}

.p-common-section__desc-text {
  font-size: 0.875rem;
  line-height: 1.8;
  color: #767267;
}

/* Card Grid */
.c-card-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-lg);
}

.p-common-section__grid {
  margin-bottom: var(--size-2xl);
}

/* Card Item (Common) */
.c-card-item {
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  width: 100%;
}

@media (min-width: 769px) {
  .c-card-grid>* {
    width: calc((100% - (var(--size-lg) * 2)) / 3);
  }
}

.c-card-item__img {
  width: 100%;
  aspect-ratio: 374 / 250;
  overflow: hidden;
}

.c-card-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.c-card-item:hover .c-card-item__img img {
  transform: scale(1.05);
}

.c-card-item__body {
  padding: var(--size-md) var(--size-md) var(--size-lg);
  flex-grow: 1;
  display: flex;
  flex-direction: column;
}

.c-card-item__title {
  font-size: 1.125rem;
  font-weight: bold;
  margin-bottom: var(--size-md);
  color: var(--accent-color);
  font-family: var(--font-mincho);
}

.c-card-item__text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: #666;
}

/* Button Container */
.p-common-section__btn {
  display: flex;
  justify-content: center;
}

/**********
** UTILITY
***********************************/

.u-display-none {
  display: none;
}

/* ------------------------------------------------------------------------------
p-common-contact
-------------------------------------------------------------------------------*/

.p-common-contact {
  padding-block: var(--size-3xl);
}

.p-common-contact__wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(40 * var(--r));
  border: 1px solid var(--gray);
  padding-block: var(--size-lg);

  @media (min-width: 768px) {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0;
  }
}

.p-common-contact__column {
  width: 100%;
  text-align: center;

  @media (min-width: 768px) {
    width: 45%;
  }
}

.p-common-contact__label {
  font-size: clamp(calc(14 * var(--r)),
      calc(14 * var(--r)) + ((16 - 14) * var(--fluid-rate)),
      calc(16 * var(--r)));
  font-family: var(--font-mincho);
}

.p-common-contact__btn-wrap {
  display: flex;
  justify-content: center;
}

.p-common-contact__border {
  display: none;

  @media (min-width: 768px) {
    display: block;
    width: calc(1 * var(--r));
    height: calc(150 * var(--r));
    background-color: var(--gray);
  }
}

.p-common-contact__tel-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
}

.p-common-contact__tel {
  display: flex;
  align-items: center;
  gap: calc(15 * var(--r));
  font-size: clamp(calc(32 * var(--r)),
      calc(32 * var(--r)) + ((48 - 32) * var(--fluid-rate)),
      calc(48 * var(--r)));
  font-family: var(--font-main);
  font-weight: 500;
  color: var(--black);

  @media (min-width: 768px) {
    pointer-events: none;
  }
}

.p-common-contact__tel img {
  width: calc(32 * var(--r));
  height: auto;
  filter: brightness(0);
}

/* ------------------------------------------------------------------------------
TOP - News
-------------------------------------------------------------------------------*/
.p-top-news {
  margin-top: calc(60 * var(--px));
  padding: calc(80 * var(--px)) 0;
  background-color: #f7f7f7;
}

.p-top-news__header {
  margin-bottom: calc(50 * var(--px));
}

.p-top-news .c-card-slider {
  margin: 0 calc(-15 * var(--px));
  overflow-x: clip;

  @media (min-width: 768px) {
    padding-inline: calc(70 * var(--px));
  }
}

/* centerMode用の調整 */
.p-top-news .c-card-slider .slick-list {
  padding-top: calc(20 * var(--px)) !important;
  padding-bottom: calc(20 * var(--px)) !important;
  overflow: visible;
}

.p-top-news .c-card-slider .slick-track {
  display: flex !important;
}

.p-top-news .c-slider-card {
  height: auto;
  padding-inline: calc(10 * var(--px));
}

.p-top-news .c-slider-card.slick-active {
  opacity: 1;
}

.p-top-news .c-slider-card__title {
  font-size: calc(16 * var(--px));
  font-weight: bold;
  margin-bottom: calc(10 * var(--px));
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  border-bottom: 1px solid var(--gray);
  padding-bottom: calc(10 * var(--px));
  margin-top: 0;
}

.p-top-news .c-slider-card__text p {
  font-size: calc(14 * var(--px));
  line-height: 1.6;
  color: #666;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

/* Slick arrows custom for News */
.p-top-news .js-top-news-slider .slick-prev,
.p-top-news .js-top-news-slider .slick-next {
  width: calc(40 * var(--px));
  height: calc(40 * var(--px));
  background-color: #fff;
  border: calc(1 * var(--px)) solid #ddd;
  z-index: 10;
  transition: background-color 0.3s;
}

.p-top-news .js-top-news-slider .slick-prev:hover,
.p-top-news .js-top-news-slider .slick-next:hover {
  background-color: #f0f0f0;
}

.p-top-news .js-top-news-slider .slick-prev {
  left: calc(50 * var(--px));
}

.p-top-news .js-top-news-slider .slick-next {
  right: calc(50 * var(--px));
}

.p-top-news .js-top-news-slider .slick-prev:before,
.p-top-news .js-top-news-slider .slick-next:before {
  content: '';
  display: block;
  width: calc(10 * var(--px));
  height: calc(10 * var(--px));
  border-top: calc(2 * var(--px)) solid #333;
  border-right: calc(2 * var(--px)) solid #333;
  position: absolute;
  top: 50%;
  left: 50%;
}

.p-top-news .js-top-news-slider .slick-prev:before {
  transform: translate(-30%, -50%) rotate(-135deg);
}

.p-top-news .js-top-news-slider .slick-next:before {
  transform: translate(-70%, -50%) rotate(45deg);
}

@media (max-width: 768px) {
  .p-top-news {
    padding: calc(50 * var(--px)) 0;
  }

  .p-top-news__header {
    margin-bottom: calc(30 * var(--px));
  }
}

/**********
** fixed cta
***********************************/

.c-fixed-cta {
  position: fixed;
  top: calc(500 * var(--px));
  right: 0;
  width: fit-content;
  height: fit-content;
  background-color: var(--black);
  border-radius: 0.5em 0 0 0.5em;
  z-index: 100;
  transform: translateX(100%);
  pointer-events: none;
  transition: transform 0.4s ease;
}

.c-fixed-cta.is-show {
  transform: translateX(0);
  pointer-events: auto;
}

.c-fixed-cta__link {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: calc(8 * var(--px));
  padding: calc(16 * var(--px)) calc(10 * var(--px));
}

.c-fixed-cta__icon {
  width: calc(20 * var(--px));
  height: calc(22 * var(--px));
}

.c-fixed-cta__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.c-fixed-cta__text {
  font-size: clamp(calc(16 * var(--px)),
      calc(16 * var(--px)) + ((20 - 16) * var(--fluid-rate)),
      calc(20 * var(--px)));
  font-weight: 500;
  line-height: 1;
  color: var(--white);
  writing-mode: vertical-lr;
}

/**********
** p-sightseeing
***********************************/

.p-sightseeing__wrap {
  padding-block: calc(100 * var(--px));
  padding-bottom: 30px;
}

.p-sightseeing__text {
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  margin-top: calc(40 * var(--r));
  text-align: left;
}

.p-sightseeing__cards {
  margin-top: calc(40 * var(--r));
}

/* 観光・プラン一覧：客室ページと同様、見出しの横はみ出し防止 */
.p-sightseeing__inner.l-inner .c-page-title .c-page-title__en,
.p-sightseeing__inner.l-inner .c-page-title .c-page-title__jp {
  min-width: 0;
}

.p-sightseeing__inner.l-inner .c-page-title {
  max-width: 100%;
}

/**********
** c-pagetitle
***********************************/

.c-page-title {
  display: flex;
  align-items: baseline;
  gap: calc(10 * var(--px));
}

.c-page-title::after {
  content: '';
  display: block;
  width: min(calc(380 / 1440 * 100vw), calc(380 * var(--r)));
  height: 1px;
  background-color: var(--black);
  margin-left: calc(6 * var(--px));
}

.c-page-title__en {
  font-size: calc(50 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-mincho);
  text-transform: capitalize;
}

.c-page-title__jp {
  font-size: calc(24 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-mincho);
}

/**********
** p-col-cards
***********************************/

.p-col-cards {
  display: grid;
  gap: var(--size-lg);

  &._col3 {
    @media (min-width: 768px) {
      grid-template-columns: repeat(3, 1fr);
      gap: calc(80 * var(--r)) var(--size-lg);
    }
  }
}

@media (max-width: 767px) {
  .p-col-cards._col3 {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: calc(24 * var(--r));
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: calc(8 * var(--r));
  }

  .p-col-cards._col3>li {
    flex: 0 0 min(82vw, calc(340 * var(--r)));
    scroll-snap-align: start;
    min-width: 0;
  }
}

/**********
** c-archive-card
***********************************/

.c-archive-card {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: calc(16 * var(--r));
}

.c-archive-card__img {
  border-radius: calc(10 * var(--r));
  overflow: hidden;
}

.c-archive-card__img img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.c-archive-card__title {
  font-size: calc(16 * var(--px));
  font-weight: 600;
  line-height: 1.5;
  color: var(--black);
  font-family: var(--font-mincho);
}

.c-archive-card__access {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--black);
  border-radius: calc(infinity * 1px);
  padding-inline: calc(10 * var(--r));
}

.c-archive-card__access-text {
  font-size: calc(12 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  padding-block: calc(6 * var(--r));
  padding-inline: calc(4 * var(--r));
}

.c-archive-card__access-lists {
  display: flex;
  align-items: center;
  gap: calc(4 * var(--r));
  position: relative;
  padding-left: calc(20 * var(--r));
}

.c-archive-card__access-lists::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: var(--black);
}

.c-archive-card__access-list {
  font-size: calc(12 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  padding-block: calc(6 * var(--r));
  padding-inline: calc(20 * var(--r)) calc(8 * var(--r));
  position: relative;
}

.c-archive-card__access-list::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
}

.c-archive-card__access-list._car::before {
  width: calc(14 * var(--r));
  height: calc(18 * var(--r));
  background: url(../images/icon_car.webp) no-repeat center/contain;
}

.c-archive-card__access-list._walk::before {
  width: calc(7 * var(--r));
  height: calc(18 * var(--r));
  background: url(../images/icon_human.webp) no-repeat center/contain;
}

.c-archive-card__access-list._plan-price {
  padding-inline: calc(10 * var(--r)) calc(8 * var(--r));
}

.c-archive-card__access-list._plan-price::before {
  display: none;
}

.c-archive-card__text {
  flex-grow: 1;
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 1.5;
}

.c-archive-card__links {
  display: flex;
  gap: calc(10 * var(--r));
}

/**********
** c-web-btn
***********************************/

.c-web-btn {
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  min-width: calc(150 * var(--r));
  padding-block: calc(8 * var(--r));
  padding-inline: calc(10 * var(--r));
  background-color: var(--black);
  color: var(--white);
  position: relative;
}

.c-web-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  right: calc(4 * var(--r));
  translate: 0 -50%;
  width: calc(34 * var(--r));
  height: calc(8 * var(--r));
  background: url(../images/icon_arrow_right_white.webp) no-repeat center/contain;
}


/**********
** c-map-btn
***********************************/

.c-map-btn {
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  padding-block: calc(8 * var(--r));
  padding-inline: calc(16 * var(--r));
  background-color: var(--black);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: calc(6 * var(--r));
}

.c-map-btn::before {
  content: '';
  width: calc(15 * var(--r));
  height: calc(21 * var(--r));
  background: url(../images/icon_map.webp) no-repeat center/contain;
}

/**********
** p-rooms (客室一覧)
***********************************/

.p-rooms {
  padding-block: calc(60 * var(--r)) calc(100 * var(--r));
}

.p-rooms__title {
  margin-bottom: calc(30 * var(--r));
}

/* 施設ページ：旧 p-sightseeing__wrap と同等の上下余白 */
.p-facility-lead {
  padding-block: calc(100 * var(--px));
  padding-bottom: 50px;
}

/* アクセス・施設など p-rooms__inner 内タイトル：横はみ出し防止（ヘッダーロゴとの見え方を他ページに揃える） */
.p-rooms__inner.l-inner .c-page-title .c-page-title__en,
.p-rooms__inner.l-inner .c-page-title .c-page-title__jp {
  min-width: 0;
}

.p-rooms__inner.l-inner .c-page-title {
  max-width: 100%;
}

@media (max-width: 767px) {

  .p-rooms__title .c-page-title__en,
  .p-sightseeing__title .c-page-title__en,
  .p-cuisine__title .c-page-title__en {
    font-size: calc(26 * var(--px));
    line-height: 1.2;
    letter-spacing: 0;
  }

  .p-rooms__title.c-page-title,
  .p-sightseeing__title.c-page-title,
  .p-cuisine__title.c-page-title {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-areas:
      "en en"
      "jp line";
    align-items: center;
    column-gap: 0.75rem;
    row-gap: 0.5rem;
  }

  .p-rooms__title .c-page-title__en,
  .p-sightseeing__title .c-page-title__en,
  .p-cuisine__title .c-page-title__en {
    grid-area: en;
  }

  .p-rooms__title .c-page-title__jp,
  .p-sightseeing__title .c-page-title__jp,
  .p-cuisine__title .c-page-title__jp {
    grid-area: jp;
  }

  .p-rooms__title.c-page-title::after,
  .p-sightseeing__title.c-page-title::after,
  .p-cuisine__title.c-page-title::after {
    grid-area: line;
    position: static;
    translate: none;
    width: 100%;
  }
}

.p-rooms__text {
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 2;
  font-family: var(--font-mincho);
  margin-bottom: calc(50 * var(--r));
}

.p-rooms__text-bold {
  font-weight: 700;
}

/* 客室グリッド */
.p-rooms__grid-wrap {
  padding: calc(30 * var(--r)) 0;
}

.p-rooms__grid {
  display: grid;
  gap: calc(30 * var(--r));

  @media (min-width: 768px) {
    grid-template-columns: repeat(3, 1fr);
    gap: calc(30 * var(--r));
  }
}

/* カード */
.p-rooms__card-link {
  display: grid;
  grid-template-columns: calc(180 * var(--r)) 1fr;
  gap: calc(16 * var(--r));
  text-decoration: none;
  color: inherit;
  align-items: start;
  padding: calc(16 * var(--r));
  border: 1px solid #ddd;

  @media (max-width: 767px) {
    grid-template-columns: calc(120 * var(--r)) 1fr;
    gap: calc(12 * var(--r));
    padding: calc(12 * var(--r));
  }
}

.p-rooms__card-img img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease;
}

.p-rooms__card-body {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.p-rooms__card-link:hover .p-rooms__card-img img {
  transform: scale(1.05);
}

.p-rooms__card-type-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: calc(8 * var(--r));
}

.p-rooms__card-type {
  font-size: calc(11 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: var(--gray);
  font-family: var(--font-mincho);
}

.p-rooms__card-pet-icon {
  width: calc(30 * var(--r));
  height: auto;
}

.p-rooms__card-name {
  font-size: calc(16 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-mincho);
  color: var(--black);
  margin-top: calc(4 * var(--r));
}

.p-rooms__card-count {
  margin-top: auto;
  display: flex;
  align-items: baseline;
  gap: calc(4 * var(--r));
}

.p-rooms__card-count-num {
  font-size: calc(28 * var(--r));
  font-weight: 400;
  line-height: 1.2;
  font-family: var(--font-mincho);
}

.p-rooms__card-count-unit {
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-mincho);
}

.p-rooms__card-line {
  display: block;
  width: calc(40 * var(--r));
  height: 1px;
  background-color: var(--black);
  margin-top: calc(12 * var(--r));
  margin-left: auto;
  position: relative;
}

.p-rooms__card-line::before {
  content: '';
  position: absolute;
  top: -4px;
  right: -1px;
  width: calc(10 * var(--r));
  height: 1px;
  background-color: var(--black);
  rotate: 45deg;
}

/* ペット客室セクション */
.p-rooms__pet {
  margin-top: calc(80 * var(--r));
}

.p-rooms__pet-heading {
  display: flex;
  align-items: center;
  gap: calc(10 * var(--r));
}

.p-rooms__pet-icon {
  width: calc(30 * var(--r));
  height: auto;
}

.p-rooms__pet-title {
  font-size: calc(24 * var(--px));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-mincho);
}

.p-rooms__pet-text {
  font-size: calc(14 * var(--r));
  font-weight: 400;
  line-height: 2;
  font-family: var(--font-mincho);
  margin-top: calc(16 * var(--r));
  margin-bottom: calc(30 * var(--r));
}

/* ペットカードのグリッド（枠線なし） */
.p-rooms__pet .p-rooms__grid {
  @media (min-width: 768px) {
    grid-template-columns: repeat(3, 1fr);
  }
}

/**********
** concept
***********************************/

.concept_content_lead {
  font-size: calc(18 * var(--r));
  font-weight: 400;
  line-height: 1.5;
  font-family: var(--font-mincho);
  width: min(100%, 600px);
  margin-inline: auto;
  margin-bottom: calc(80 * var(--r));
  margin-top: calc(40 * var(--r));
  padding-inline: 4%;

  @media (min-width: 768px) {
    margin-top: 0;
    padding-inline: 0;
  }
}

span.concept_sub_tit_for {
  font-size: calc(26 * var(--r));
  margin-right: 8px;
}

span.concept_sub_tit_ja {
  font-size: calc(14 * var(--r));
}

n.concept_sub_tit_ja {
  font-size: calc(14 * var(--r));
}

e: calc(14 * var(--r));
}

/* page-info: hotel guide cards */
.hotel-guide {
  padding: 32px 0 12px;
  background: #e9e7e5;
}

.hotel-guide__inner {
  max-width: 1250px;
  margin: 0 auto 50px;
  padding: 0 20px;
}

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

.hotel-guide__item {
  border: 2px solid #555;
  border-radius: 5px;
  background: #ffffff;
  overflow: hidden;
}

.hotel-guide__item--wide {
  grid-column: 1 / -1;
}

.hotel-guide__item--two-thirds {
  grid-column: span 2;
}

.hotel-guide__head {
  display: flex;
  align-items: center;
  background: #555;
  color: #ffffff;
  padding: 8px 18px;
  gap: 12px;
}

.hotel-guide__icon {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  border: 2px solid #ffffff;
  border-radius: 6px;
  position: relative;
}

.hotel-guide__icon::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 14px;
  height: 14px;
  border: 2px solid #ffffff;
  border-radius: 3px;
  transform: translate(-50%, -50%);
}

.hotel-guide__icon--wifi {
  border-radius: 50%;
}

.hotel-guide__icon--wifi::after {
  width: 16px;
  height: 10px;
  border: 0;
  border-top: 2px solid #ffffff;
  border-radius: 999px 999px 0 0;
  transform: translate(-50%, -20%);
}

.hotel-guide__icon--housekeeping::after {
  width: 14px;
  height: 10px;
  border-radius: 0;
  border-width: 2px;
}

.hotel-guide__title-wrap {
  display: flex;
  align-items: baseline;
  gap: 8px;
  line-height: 1.2;
}

.hotel-guide__title-ja {
  margin: 0;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
  font-family: var(--font-mincho);
}

.hotel-guide__title-en {
  margin: 0;
  font-size: 1rem;
  color: #ffffff;
  font-family: var(--font-mincho);
}

.hotel-guide__body {
  padding: 14px 18px 16px;
}

.hotel-guide__detail {
  margin: 0 0 10px;
  padding: 0;
  border-top: 1px solid #9ca8b1;
  border-bottom: 1px solid #9ca8b1;
}

.hotel-guide__detail-row {
  display: grid;
  grid-template-columns: 66px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
}

.hotel-guide__detail-row+.hotel-guide__detail-row {
  border-top: 1px solid #d0d6db;
}

.hotel-guide__label {
  display: inline-block;
  background: #555;
  color: #ffffff;
  text-align: center;
  font-size: 1.0rem;
  padding: 4px 6px;
  line-height: 1.2;
  border-radius: 10em;
}

.hotel-guide__label span {
  display: block;
  font-size: 0.6rem;
  opacity: 0.9;
}

.hotel-guide__value {
  margin: 0;
  color: #1e1e1e;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.03em;
}

.hotel-guide__value small {
  font-size: 1rem;
}

.hotel-guide__text-ja,
.hotel-guide__text-en {
  margin: 0;
  color: #1e1e1e;
  line-height: 1.6;
  text-align: left;
}

.hotel-guide__text-ja {
  font-size: 1.0rem;
  font-weight: 500;
}

.hotel-guide__text-en {
  margin-top: 6px;
  font-size: 1.0rem;
}

.hotel-guide__eco {
  margin-top: 12px;
  padding: 10px;
  border: 2px solid #99c470;
  background: #f2fae8;
  text-align: center;
  font-size: 1.2rem;
  color: #2c6e2e;
}

.hotel-guide__housekeeping-layout {
  display: grid;
  grid-template-columns: 1fr minmax(220px, 280px);
  gap: 16px;
  align-items: start;
}

.hotel-guide__housekeeping-text .hotel-guide__text-ja {
  margin-top: 0;
}

.hotel-guide__housekeeping-image {
  margin: 0;
}

.hotel-guide__housekeeping-image img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid #9bcf72;
}

@media screen and (max-width: 767px) {
  .hotel-guide {
    padding: 24px 0 8px;
  }

  .hotel-guide__inner {
    padding: 0 14px;
  }

  .hotel-guide__list {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .hotel-guide__item--two-thirds {
    grid-column: auto;
  }

  .hotel-guide__housekeeping-layout {
    grid-template-columns: 1fr;
  }

  .hotel-guide__head {
    padding: 10px 14px;
  }

  .hotel-guide__title-ja {
    font-size: 1.4rem;
  }

  .hotel-guide__title-en {
    font-size: 1.15rem;
  }

  .hotel-guide__body {
    padding: 12px 14px;
  }

  .hotel-guide__detail-row {
    grid-template-columns: 72px 1fr;
    gap: 8px;
  }

  .hotel-guide__value {
    font-size: 1.2rem;
  }

  .hotel-guide__text-ja {
    font-size: 1.2rem;
  }
}

/* hotel-guide-info */
.hotel-guide-info {
  padding: 40px 0 48px;
  background: #ffffff;
}

.hotel-guide-info__inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 20px;
}

.hotel-guide-info__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(8, auto);
  grid-auto-flow: column;
  column-gap: 48px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hotel-guide-info__item {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 18px 0;
  border-bottom: 1px dashed #ccc;
}

.hotel-guide-info__item:nth-last-child(-n+2) {
  border-bottom: none;
}

.hotel-guide-info__icon {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  margin: 0;
}

.hotel-guide-info__icon img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  display: block;
}

.hotel-guide-info__body {
  flex: 1;
  min-width: 0;
}

.hotel-guide-info__title {
  margin: 0 0 8px;
  font-family: var(--font-mincho);
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #222;
  letter-spacing: 0.02em;
}

.hotel-guide-info__text {
  position: relative;
  margin: 0 0 6px;
  padding-left: 1.1em;
  padding-left: 0.5em;
  font-size: 1.1rem;
  line-height: 1.7;
  color: #222;
  letter-spacing: 0.02em;
}

.hotel-guide-info__text:last-child {
  margin-bottom: 0;
}

.hotel-guide-info__text::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 10px;
  font-size: 0.4em;
  line-height: 1.7;
}

@media screen and (max-width: 767px) {
  .hotel-guide-info {
    padding: 28px 0 36px;
  }

  .hotel-guide-info__inner {
    padding: 0 14px;
  }

  .hotel-guide-info__list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    column-gap: 0;
  }

  .hotel-guide-info__item {
    gap: 12px;
    padding: 16px 0;
  }

  .hotel-guide-info__item:nth-last-child(-n+2) {
    border-bottom: 1px dashed #ccc;
  }

  .hotel-guide-info__item:last-child {
    border-bottom: none;
  }

  .hotel-guide-info__title {
    font-size: 1.2rem;
  }

  .hotel-guide-info__text {
    font-size: 1.1rem;
    padding-left: 1em;
  }
}

/* page-facility */
_:lang(x)+_:-webkit-full-screen-document,
.method .display-flex img {
  width: 216px !important;
  height: 133px !important;
  object-fit: cover !important;
}

.facility-intro {
  padding: 2.5rem 0 2.5rem;
  background: #e9e7e5;
  /* margin-bottom: 100px; */
}

.facility-intro__inner {
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 20px;
}

.facility-intro__item {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-bottom: 3.5rem;
}

.facility-intro__item:last-child {
  margin-bottom: 0;
}

.facility-intro__image {
  flex: 0 0 320px;
  margin: 0;
}

.facility-intro__image img {
  width: 100%;
  border-radius: 8px;
  display: block;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.facility-intro__content {
  flex: 1;
  background: #f7f7f7;
  padding: 1.9rem 2.2rem;
  border-radius: 2px;
}

.facility-intro__title {
  margin: 0;
  padding-bottom: 0.7rem;
  border-bottom: 1px solid #c9c9c9;
  font-size: 1.75rem;
  letter-spacing: 0.08em;
  line-height: 1.4;
  color: #222;
}

.facility-intro__text {
  margin: 1.1rem 0 0;
  color: #222;
  line-height: 2;
  letter-spacing: 0.04em;
}

@media screen and (max-width: 767px) {
  .facility-intro {
    padding: 2rem 0;
  }

  .facility-intro__inner {
    padding: 0 16px;
  }

  .facility-intro__item {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
    margin-bottom: 2rem;
  }

  .facility-intro__image {
    flex-basis: auto;
  }

  .facility-intro__content {
    padding: 1.2rem 1rem 1.4rem;
  }

  .facility-intro__title {
    font-size: 1.25rem;
  }
}

/* 施設紹介：源平の間ブロック（イメージ左・リード＋白カード右） */
.facility-highlight {
  margin-top: 3.5rem;
  margin-bottom: 0;
}

.facility-highlight__grid {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: clamp(1.25rem, 3vw, 2.75rem);
}

.facility-highlight__figure {
  flex: 0 1 26%;
  max-width: 560px;
  margin: 0;
}

.facility-highlight__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06);
}

.facility-highlight__main {
  flex: 1 1 0;
  min-width: 0;
}

.facility-highlight__lead {
  margin: 0 0 1.25rem;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #333;
}

.facility-highlight__card {
  background: #fff;
  border-radius: 4px;
  padding: 1.75rem 1.85rem 1.65rem;
  border: 1px solid rgba(0, 0, 0, 0.06);
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.05);
}

.facility-highlight__title {
  margin: 0;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #d8d4ce;
  font-family: var(--font-mincho);
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0.12em;
  color: #222;
}

.facility-highlight__meta {
  margin: 1rem 0 0;
}

.facility-highlight__meta-row {
  display: flex;
  flex-direction: row;
  align-items: baseline;
  justify-content: flex-start;
  gap: 1rem;
}

.facility-highlight__meta-label {
  margin: 0;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  color: #444;
}

.facility-highlight__meta-value {
  margin: 0;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #222;
  text-align: right;
}

.facility-highlight__uses {
  margin: 1.15rem 0 0;
  padding-top: 1.1rem;
  border-top: 1px solid #ece8e2;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0.04em;
  color: #555;
}

@media screen and (max-width: 767px) {
  .facility-highlight {
    margin-top: 2rem;
  }

  .facility-highlight__grid {
    flex-direction: column;
    align-items: stretch;
    gap: 1rem;
  }

  .facility-highlight__figure {
    flex-basis: auto;
    max-width: none;
  }

  .facility-highlight__img {
    border-radius: 14px;
    aspect-ratio: 16 / 10;
  }

  .facility-highlight__lead {
    font-size: 0.875rem;
    margin-bottom: 1rem;
  }

  .facility-highlight__card {
    padding: 1.35rem 1.1rem 1.25rem;
  }

  .facility-highlight__title {
    font-size: 1.35rem;
    padding-bottom: 0.65rem;
  }

}

/* 施設紹介：3カラム（画像＋キャプション） */
.facility-trio {
  margin-top: 3.5rem;
}

.facility-trio__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(1.25rem, 4vw, 2.75rem);
  align-items: start;
}

.facility-trio__item {
  margin: 0;
}

.facility-trio__figure {
  margin: 0;
}

.facility-trio__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 5px;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

.facility-trio__caption {
  margin: 0.75rem 0 0;
  text-align: center;
  font-family: '游ゴシック体', 'Yu Gothic', YuGothic, 'メイリオ', Meiryo, sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.06em;
  color: #333;
}

@media screen and (max-width: 767px) {
  .facility-trio {
    margin-top: 2.25rem;
  }

  .facility-trio__list {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .facility-trio__img {
    border-radius: 12px;
    aspect-ratio: 16 / 10;
  }

  .facility-trio__caption {
    font-size: 0.875rem;
    margin-top: 0.6rem;
  }
}

/* 客室詳細：部屋名を左、定員を右で同一行 */
.plan_txt_wrap .plan_txt_head {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 15px;
}

@media (min-width: 768px) {
  .plan_txt_wrap .plan_txt_head {
    margin-top: 0;
    margin-bottom: 25px;
  }
}

.plan_txt_wrap .plan_txt_head .plan_list_tit {
  margin-top: 0;
  margin-bottom: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.plan_txt_wrap .plan_txt_head .plan_price.single-plan_price.plan_price--head {
  margin-top: 0;
  margin-bottom: 0;
  justify-content: flex-end;
  flex-shrink: 0;
  align-self: center;
}

@media (max-width: 767px) {
  .plan_txt_wrap .plan_txt_head .plan_price.single-plan_price.plan_price--head {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  .plan_txt_wrap .plan_txt_head .plan_price.single-plan_price.plan_price--head {
    font-size: 22px;
  }
}

/* アクセスページ：所在地リスト＋マップ（page-feature-style 非読込でも崩れないよう theme-all に統合） */
.access-point .photo-wedding__point-inner {
  max-width: 1250px;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  box-sizing: border-box;
}

.access-point .point__container.--point02 {
  display: block;
}

.access-point .point__title-container.--point02 {
  margin-top: 0;
  display: none;
}

.access-point .point__lists,
.access-point .access-point__lists {
  width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 0;
  padding: 0;
  border: 1px solid #e7e0d3;
  border-radius: 8px;
  background-color: #fffdfa;
  overflow: hidden;
}

.access-point .point__listBox {
  display: grid;
  grid-template-columns: minmax(140px, 220px) 1fr;
  gap: 1rem;
  align-items: start;
  padding: 1rem 1.25rem;
}

.access-point .point__listBox+.point__listBox {
  border-top: 1px solid #e7e0d3;
}

.access-point .point__listTitle {
  font-size: calc(18 * var(--px));
  line-height: 1.5;
}

.access-point .point__listText {
  font-size: calc(15 * var(--px));
  line-height: 1.9;
  margin: 0;
}

.access-point .point__img-container.--point02 {
  display: none;
}

.access-point__map {
  margin-top: 2rem;
}

.access-point__map iframe {
  width: 100%;
  border: 0;
  border-radius: 8px;
}

@media screen and (max-width: 767px) {

  .access-point .point__lists,
  .access-point .access-point__lists {
    margin-top: 1rem;
  }

  .access-point .point__listBox {
    grid-template-columns: 1fr;
    gap: 0.375rem;
    padding: 0.875rem 1rem;
  }

  .access-point .point__listTitle {
    font-size: calc(17 * var(--px));
  }

  .access-point .point__listText {
    font-size: calc(14 * var(--px));
    line-height: 1.8;
  }

  .access-point__map {
    margin-top: 1.25rem;
  }

  .access-point__map iframe {
    height: 320px;
  }
}

/* 施設詳細パーツ（parts/facility-detail.php）等：情報テーブル — page-feature-style 非読込でも崩れない */
.photo__schedule {
  padding-bottom: 5rem;
}

@media screen and (max-width: 767px) {
  .photo__schedule {
    padding-bottom: 5.335rem;
  }
}

.photo__schedule-section-inner {
  padding-inline: 3.125rem;
}

@media screen and (max-width: 767px) {
  .photo__schedule-section-inner {
    padding-inline: 1.33375rem;
  }
}

.photo__schedule-inner {
  max-width: 1250px;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-inline: 1rem;
  margin-inline: auto;
  /* background: var(--bg-color4); */
  background: #eceae4;
}

@media screen and (max-width: 767px) {
  .photo__schedule-inner {
    padding-top: 0.5335rem;
    padding-bottom: 0.5335rem;
    padding-inline: 0.5335rem;
  }
}

.photo__schedule-nallow-inner {
  border: 1px solid var(--bg-color6);
  padding-top: 3.1875rem;
  padding-bottom: 5.4375rem;
  padding-inline: 3.9375rem;
}

@media screen and (max-width: 767px) {
  .photo__schedule-nallow-inner {
    padding-top: 2.67rem;
    padding-bottom: 3.201rem;
    padding-inline: 1.33375rem;
  }
}

.schedule__table {
  margin-top: 3rem;
  padding-inline: 4rem;
  margin-inline: auto;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .schedule__table {
    margin-top: 2.000625rem;
    padding-inline: 1.33375rem;
  }
}

.schedule__table-body {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

@media screen and (max-width: 767px) {
  .schedule__table-body {
    gap: 1.6005rem;
  }
}

.schedule__flow-row {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  column-gap: 4.5rem;
}

@media screen and (max-width: 767px) {
  .schedule__flow-row {
    column-gap: 0.5335rem;
    flex-direction: column;
  }
}

.schedule__flow-row:not(:last-of-type) {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid var(--bg-color6);
}

@media screen and (max-width: 767px) {
  .schedule__flow-row:not(:last-of-type) {
    padding-bottom: 1.6005rem;
  }
}

.schedule__flow {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.5rem;
  text-align: left;
  width: 23.3333333333%;
  min-width: 150px;
}

@media screen and (max-width: 767px) {
  .schedule__flow {
    width: 100%;
    min-width: 0;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 0.5335rem;
  }
}

.schedule__flow-text {
  color: var(--text-color4);
  font-feature-settings: "palt" on;
  font-family: "Yu Mincho", YuMincho, serif;
  font-size: max(1.125rem, 14.4px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.15em;
}

@media screen and (max-width: 767px) {
  .schedule__flow-text {
    font-size: max(1rem, 12.8px);
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.08em;
  }
}

.schedule__flow-description {
  color: #636363;
  text-align: justify;
  font-feature-settings: "pcap" on, "palt" on;
  font-family: "Yu Gothic", YuGothic, sans-serif;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.1230769231em;
  font-size: max(0.8125rem, 10px);
  width: 63.3333333333%;
}

@media screen and (max-width: 767px) {
  .schedule__flow-description {
    margin-top: 0.5335rem;
    font-size: max(0.8125rem, 10.4px);
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: inherit;
    width: 100%;
  }
}

.schedule__flow-flex {
  display: flex;
  align-items: end;
  gap: var(--size-md);
}

@media screen and (max-width: 767px) {
  .schedule__flow-flex {
    flex-direction: column;
    align-items: start;
  }
}

.schedule__flow-flex p {
  font-size: max(0.8125rem, 10.4px);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: inherit;
}

.schedule__payment-images {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 1rem;
}

.schedule__payment-image {
  flex: 1 1 calc(50% - 8px);
  min-width: 0;
  margin: 0;
}

.schedule__payment-image img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .schedule__payment-images {
    flex-direction: column;
    gap: 12px;
    margin-top: 0.8rem;
  }

  .schedule__payment-image {
    flex: none;
    width: 100%;
  }
}

/* ============================================
   宴会場料金表 - スコープ化されたスタイル
   親テーマと干渉しないよう .bq- プレフィックスで統一
   ============================================ */
.bq-pricing {
  --bq-bg: #faf7f2;
  --bq-card: #ffffff;
  --bq-ink: #1f1a17;
  --bq-ink-soft: #6b5d52;
  --bq-gold: #a8884b;
  --bq-gold-soft: #c9b07d;
  --bq-line: #e8e0d3;
  --bq-weekday: #f5f1e8;
  --bq-weekend: #f9eae0;
  --bq-radius: 4px;

  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;
  background: var(--bq-bg);
  color: var(--bq-ink);
  padding: clamp(40px, 6vw, 72px) clamp(16px, 4vw, 32px);
  line-height: 1.7;
}
.bq-pricing *,
.bq-pricing *::before,
.bq-pricing *::after { box-sizing: border-box; }

.bq-pricing__inner { max-width: 1100px; margin: 0 auto; }

/* ---- ヘッダー ---- */
.bq-pricing__header { text-align: center; margin-bottom: 48px; }

.bq-pricing__title {
  font-family: 'Shippori Mincho', 'Hiragino Mincho ProN', serif;
  font-size: clamp(26px, 4.5vw, 40px);
  font-weight: 600;
  letter-spacing: 0.12em;
  margin: 0 0 10px;
  color: var(--bq-ink);
}
.bq-pricing__title::before,
.bq-pricing__title::after {
  content: '';
  display: inline-block;
  width: clamp(20px, 4vw, 40px);
  height: 1px;
  background: var(--bq-gold);
  vertical-align: middle;
  margin: 0 14px;
}
.bq-pricing__subtitle {
  color: var(--bq-ink-soft);
  font-size: 12px;
  letter-spacing: 0.25em;
  margin: 0 0 28px;
}

/* ---- 料金トグル ---- */
.bq-toggle {
  display: inline-flex;
  background: var(--bq-card);
  border: 1px solid var(--bq-line);
  border-radius: 999px;
  padding: 4px;
  box-shadow: 0 1px 2px rgba(31,26,23,0.04);
}
.bq-toggle__btn {
  background: transparent;
  border: none;
  padding: 10px 22px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--bq-ink-soft);
  cursor: pointer;
  border-radius: 999px;
  transition: all 0.25s ease;
  white-space: nowrap;
}
.bq-toggle__btn:hover { color: var(--bq-ink); }
.bq-toggle__btn.is-active {
  background: var(--bq-ink);
  color: #fff;
  box-shadow: 0 2px 6px rgba(31,26,23,0.18);
}

/* ---- 部屋カード ---- */
.bq-room {
  background: var(--bq-card);
  margin-bottom: 28px;
  border: 1px solid var(--bq-line);
  border-radius: var(--bq-radius);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(31,26,23,0.03);
}

.bq-room__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px 28px;
  padding: 24px 28px;
  border-bottom: 1px solid var(--bq-line);
  background: linear-gradient(to right, #fbf8f2, #ffffff 70%);
}

.bq-room__name {
  font-family: 'Shippori Mincho', 'Hiragino Mincho ProN', serif;
  font-size: clamp(20px, 3vw, 24px);
  font-weight: 600;
  margin: 0;
  letter-spacing: 0.08em;
  display: flex;
  align-items: center;
  gap: 12px;
}
.bq-room__name::before {
  content: '';
  display: inline-block;
  width: 4px;
  height: 22px;
  background: var(--bq-gold);
}

.bq-room__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 22px;
  font-size: 13px;
  color: var(--bq-ink-soft);
}
.bq-spec { display: flex; align-items: baseline; gap: 6px; }
.bq-spec__label {
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--bq-gold);
  font-weight: 500;
}
.bq-spec__value {
  color: var(--bq-ink);
  font-weight: 500;
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.bq-spec__value--none { color: var(--bq-ink-soft); }

/* ---- PCテーブル ---- */
.bq-table-wrap { overflow-x: auto; }
.bq-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  min-width: 720px;
}
.bq-table th,
.bq-table td {
  padding: 14px 8px;
  text-align: center;
  border-bottom: 1px solid var(--bq-line);
  border-right: 1px solid var(--bq-line);
}
.bq-table th:last-child,
.bq-table td:last-child { border-right: none; }
.bq-table tbody tr:last-child td,
.bq-table tbody tr:last-child th { border-bottom: none; }

.bq-table thead th {
  background: #f7f1e6;
  font-weight: 500;
  font-size: 12px;
  color: var(--bq-ink-soft);
  letter-spacing: 0.06em;
  padding: 12px 8px;
}
.bq-table__time {
  font-size: 11px;
  color: var(--bq-ink-soft);
  display: block;
  margin-top: 3px;
  font-weight: 400;
  letter-spacing: 0;
  font-variant-numeric: tabular-nums;
}
.bq-day {
  font-weight: 600;
  width: 90px;
  font-family: 'Shippori Mincho', serif;
  letter-spacing: 0.05em;
  font-size: 15px;
}
.bq-day--weekday { background: var(--bq-weekday); }
.bq-day--weekend { background: var(--bq-weekend); }

.bq-price {
  font-weight: 500;
  font-variant-numeric: tabular-nums;
  font-size: 15px;
  letter-spacing: 0.02em;
}
.bq-price--incl {
  display: block;
  color: var(--bq-ink);
  font-weight: 600;
}
.bq-price__sub {
  display: block;
  margin-top: 4px;
  font-size: 11px;
  color: var(--bq-ink-soft);
  font-variant-numeric: tabular-nums;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.bq-price__yen {
  font-size: 11px;
  color: var(--bq-ink-soft);
  margin-right: 1px;
}
.bq-price--none {
  color: var(--bq-ink-soft);
  font-size: 18px;
}

/* ---- スマホ用カードレイアウト ---- */
.bq-mobile { display: none; }

@media (max-width: 768px) {
  .bq-table-wrap { display: none; }
  .bq-mobile { display: block; padding: 4px 16px 20px; }

  .bq-mobile__day {
    margin-top: 20px;
  }
  .bq-mobile__day:first-child { margin-top: 12px; }

  .bq-mobile__day-label {
    font-family: 'Shippori Mincho', serif;
    font-size: 15px;
    font-weight: 600;
    padding: 10px 14px;
    border-left: 3px solid var(--bq-gold);
    margin-bottom: 4px;
    letter-spacing: 0.05em;
  }
  .bq-mobile__day-label--weekday { background: var(--bq-weekday); }
  .bq-mobile__day-label--weekend { background: var(--bq-weekend); }

  .bq-mobile__row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
    padding: 13px 6px;
    border-bottom: 1px solid var(--bq-line);
  }
  .bq-mobile__row:last-child { border-bottom: none; }

  .bq-mobile__row-label {
    font-size: 14px;
    color: var(--bq-ink);
    font-weight: 500;
  }
  .bq-mobile__row-time {
    font-size: 11px;
    color: var(--bq-ink-soft);
    display: block;
    margin-top: 2px;
    font-variant-numeric: tabular-nums;
    font-weight: 400;
  }
  .bq-mobile__row-price {
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    font-size: 16px;
    text-align: right;
  }

  .bq-room__header { padding: 20px; }
  .bq-room__name { font-size: 19px; }
}

/* ---- 部屋カード（画像付きレイアウト） ---- */
.bq-room-row {
  display: flex;
  gap: 24px;
  margin-bottom: 28px;
  align-items: stretch;
}
.bq-room-row .bq-room {
  flex: 1 1 0;
  min-width: 0;
  margin-bottom: 0;
}
.bq-room-row__image {
  flex: 0 0 240px;
  margin: 0;
  border-radius: var(--bq-radius);
  overflow: hidden;
  line-height: 0;
  background: var(--bq-line);
  align-self: stretch;
}
.bq-room-row__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 200px;
  object-fit: cover;
}
.bq-room-row--noimg .bq-room { flex: 1 1 100%; }

@media (max-width: 900px) {
  .bq-room-row { flex-direction: column; gap: 0; }
  .bq-room-row__image {
    flex: none;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: var(--bq-radius) var(--bq-radius) 0 0;
  }
  .bq-room-row__image img { min-height: 0; aspect-ratio: 16 / 9; }
}

/* ---- 注釈 ---- */
.bq-notes {
  margin-top: 28px;
  padding: 18px 20px;
  background: var(--bq-card);
  border: 1px solid var(--bq-line);
  border-left: 3px solid var(--bq-gold);
  border-radius: var(--bq-radius);
  font-size: 12.5px;
  color: var(--bq-ink-soft);
  line-height: 1.9;
}
.bq-notes p { margin: 0; }
.bq-notes p + p { margin-top: 4px; }
.bq-notes strong { color: var(--bq-ink); font-weight: 500; }