@charset "UTF-8";
/************************************
 * WP
 ***********************************/
/************************************
 * Font
 ***********************************/
@font-face {
  font-family: "Zen Old Mincho";
  font-style: normal;
  font-weight: 400;
  src: url("./fonts/ZenOldMincho-Regular.ttf") url("./fonts/ZenOldMincho-Regular.woff") format("woff");
}
@font-face {
  font-family: "Zen Old Mincho";
  font-style: normal;
  font-weight: 500;
  src: url("./fonts/ZenOldMincho-Medium.ttf") url("./fonts/ZenOldMincho-Medium.woff") format("woff");
}
@font-face {
  font-family: "Zen Old Mincho";
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/ZenOldMincho-SemiBold.ttf") url("./fonts/ZenOldMincho-SemiBold.woff") format("woff");
}
@font-face {
  font-family: "Zen Old Mincho";
  font-style: normal;
  font-weight: 700;
  src: url("./fonts/ZenOldMincho-Bold.ttf") url("./fonts/ZenOldMincho-Bold.woff") format("woff");
}
@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 700;
  src: url("/assets/fonts/EBGaramond-Bold.ttf");
}
@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 500;
  src: url("/assets/fonts/EBGaramond-Medium.ttf");
}
@font-face {
  font-family: "EBGaramond";
  font-style: normal;
  font-weight: 400;
  src: url("/assets/fonts/EBGaramond-Regular.ttf");
}
/************************************
 * Contents 領域・余白
 ***********************************/
/************************************
 * tag の基本設定
 *  C: color, P : parts
 ***********************************/
/************************************
 * assetsパス
 ***********************************/
/************************************
 * flex-col　余白
 ***********************************/
/************************************
 * Icon font
 ***********************************/
/************************************
 * Using plugin
 ***********************************/
/************************************
* 画像アレンジレイアウト
***********************************/
/*********************************************************************
 * MIXIN
 ********************************************************************/
/*** font family ****************************************************/
/*** font size *****************************************************/
/*** icon font *****************************************************/
@font-face {
  font-family: "icon";
  src: url("../fonts/icomoon.eot");
  src: url("../fonts/icomoon.eot#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf") format("truetype"), url("../fonts/icomoon.wof") format("woff"), url("../fonts/icomoon.svg#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}
/************************************
 * Reset
 ***********************************/
/*********************************
 * A Modern CSS Reset 
 * Web : https://piccalil.li/blog/a-modern-css-reset
 * Git : https://github.com/hankchizljaw/modern-css-reset
 ********************************/
*, *::before, *::after {
  box-sizing: border-box;
}

body, h1, h2, h3, h4, p, figure, blockquote, dl, dd {
  margin: 0;
}

ul[role=list], ol[role=list] {
  list-style: none;
}

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

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

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

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

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

@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/************************************
 * 追加 Reset Code
 ***********************************/
table {
  border-collapse: collapse;
}

/************************************
 * CSS変数の出力
 ***********************************/
:root {
  --spacing--0: calc( 0 / 2) ;
  --spacing--default: calc( 1rem / 2) ;
  --spacing--m: calc( 2rem / 2) ;
  --spacing--l: calc( 3rem / 2) ;
  --spacing--xl: calc( 4rem / 2) ;
  --font-size--s: 0.8rem;
  --font-size--m: 1rem;
  --font-size--l: 1.25rem;
  --font-size--xl: 1.5rem;
  --font-size--xxl: 2rem;
  --color--main: #c2a067;
  --color--sub: #c2a067;
  --color--black: #000;
  --color--white: #FFF;
  --color--none: transparent;
  --color--red: #ff0000;
  --color--orange: #ff8000;
  --color--yellow: #ffff00;
  --color--green: #00ff00;
  --color--blue: #0000ff;
  --color--gray: #989898;
  --color--lightgray: #CCC;
  --color--bg: #e1f4ff;
  --color--text: #333333;
  --color--error: #900;
  --color--link: #333333;
  --color--hover: #333333;
  --color--btn_bg: #111;
  --color--btn_txt: #FFF;
  --color--border: #111;
  --color--hamburger: #111;
  --gallery-block--gutter-size: var(--spacing-default);
}

/************************************
 * global
 ***********************************/
.has-s-font-size {
  font-size: var(--font-size--s) !important;
}

.has-m-font-size {
  font-size: var(--font-size--m) !important;
}

.has-l-font-size {
  font-size: var(--font-size--l) !important;
}

.has-xl-font-size {
  font-size: var(--font-size--xl) !important;
}

.has-xxl-font-size {
  font-size: var(--font-size--xxl) !important;
}

.has-main {
  color: var(--color--main) !important;
}

.has-sub {
  color: var(--color--sub) !important;
}

.has-black {
  color: var(--color--black) !important;
}

.has-white {
  color: var(--color--white) !important;
}

.has-none {
  color: var(--color--none) !important;
}

.has-red {
  color: var(--color--red) !important;
}

.has-orange {
  color: var(--color--orange) !important;
}

.has-yellow {
  color: var(--color--yellow) !important;
}

.has-green {
  color: var(--color--green) !important;
}

.has-blue {
  color: var(--color--blue) !important;
}

.has-gray {
  color: var(--color--gray) !important;
}

.has-lightgray {
  color: var(--color--lightgray) !important;
}

.has-bg {
  color: var(--color--bg) !important;
}

.has-main-background-color {
  background-color: var(--color--main) !important;
}

.has-sub-background-color {
  background-color: var(--color--sub) !important;
}

.has-black-background-color {
  background-color: var(--color--black) !important;
}

.has-white-background-color {
  background-color: var(--color--white) !important;
}

.has-none-background-color {
  background-color: var(--color--none) !important;
}

.has-red-background-color {
  background-color: var(--color--red) !important;
}

.has-orange-background-color {
  background-color: var(--color--orange) !important;
}

.has-yellow-background-color {
  background-color: var(--color--yellow) !important;
}

.has-green-background-color {
  background-color: var(--color--green) !important;
}

.has-blue-background-color {
  background-color: var(--color--blue) !important;
}

.has-gray-background-color {
  background-color: var(--color--gray) !important;
}

.has-lightgray-background-color {
  background-color: var(--color--lightgray) !important;
}

.has-bg-background-color {
  background-color: var(--color--bg) !important;
}

/************************************
 * clear
 ***********************************/
.cf::after {
  content: "";
  display: block;
  clear: both;
}

.clr {
  clear: both;
}

/************************************
 * List
 ***********************************/
ul, ol {
  list-style: decimal;
  padding-left: 0;
  margin-left: 1.5em;
}
ul > li, ol > li {
  padding-left: 0;
  text-indent: 0;
  list-style-position: inside;
}
ul > a, ul > span, ol > a, ol > span {
  text-indent: 0;
}

ul {
  margin-left: 1.75em;
}
ul > li::marker {
  content: "・";
}

ol {
  margin-left: 1.75em;
  list-style: decimal;
}

.ul_reset {
  list-style: none;
  padding: 0;
  margin: 0;
}
.ul_reset li {
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.ul_reset li::marker {
  content: none;
}

/************************************
 * table
 ***********************************/
table:not(.acf-table) tr {
  height: auto !important;
}
table:not(.acf-table) tr th, table:not(.acf-table) tr td {
  padding: 0.75em 1em;
  border: 1px solid var(--color--border);
}
table:not(.acf-table) tr th {
  background: var(--color--bg);
}
table:not(.acf-table) tr td {
  background: var(--color--white);
}

/************************************
 * Image
 ***********************************/
img {
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
  height: auto;
  display: inline-block;
  max-width: 100%;
  width: auto;
  height: auto;
  vertical-align: top;
}

/************************************
 * String   
 * b,i はHTML5での役割が微妙なので設定してない
 * Italic はmeiryoでは効かないので設定してない
 ***********************************/
strong, em {
  font-weight: bold;
}

p, th, td, li, address, small {
  line-height: 1.8;
}

/************************************
 * a
 ***********************************/
a:focus,
*:focus {
  outline: none;
}

a {
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  color: var(--color--link);
  transition: 0.3s ease-in-out;
}
a:hover {
  opacity: 0.6;
  color: var(--color--hover);
}

a img,
a:before,
a:after,
a.hover:hover,
a span,
button {
  transition: 0.3s ease-in-out;
}

.btn, form input[type=button], form input[type=submit], form button, .btn-ol {
  display: inline-block;
  max-width: 100%;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  border-radius: 0;
  padding: 0.4em 0.75em;
  text-align: center;
  color: var(--color--white);
  cursor: pointer;
}
.btn:hover, form input[type=button]:hover, form input[type=submit]:hover, form button:hover, .btn-ol:hover {
  background-color: var(--color--white);
  border-color: var(--color--main);
  color: var(--color--main);
}
.btn.has-background.has-main-background-color, form input.has-background.has-main-background-color[type=button], form input.has-background.has-main-background-color[type=submit], form button.has-background.has-main-background-color, .has-background.has-main-background-color.btn-ol {
  background-color: var(--color--main) !important;
  border-color: var(--color--main) !important;
}
.btn.has-background.has-main-background-color:hover, form input.has-background.has-main-background-color[type=button]:hover, form input.has-background.has-main-background-color[type=submit]:hover, form button.has-background.has-main-background-color:hover, .has-background.has-main-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--main) !important;
}
.btn.has-background.has-sub-background-color, form input.has-background.has-sub-background-color[type=button], form input.has-background.has-sub-background-color[type=submit], form button.has-background.has-sub-background-color, .has-background.has-sub-background-color.btn-ol {
  background-color: var(--color--sub) !important;
  border-color: var(--color--sub) !important;
}
.btn.has-background.has-sub-background-color:hover, form input.has-background.has-sub-background-color[type=button]:hover, form input.has-background.has-sub-background-color[type=submit]:hover, form button.has-background.has-sub-background-color:hover, .has-background.has-sub-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--sub) !important;
}
.btn.has-background.has-black-background-color, form input.has-background.has-black-background-color[type=button], form input.has-background.has-black-background-color[type=submit], form button.has-background.has-black-background-color, .has-background.has-black-background-color.btn-ol {
  background-color: var(--color--black) !important;
  border-color: var(--color--black) !important;
}
.btn.has-background.has-black-background-color:hover, form input.has-background.has-black-background-color[type=button]:hover, form input.has-background.has-black-background-color[type=submit]:hover, form button.has-background.has-black-background-color:hover, .has-background.has-black-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--black) !important;
}
.btn.has-background.has-white-background-color, form input.has-background.has-white-background-color[type=button], form input.has-background.has-white-background-color[type=submit], form button.has-background.has-white-background-color, .has-background.has-white-background-color.btn-ol {
  background-color: var(--color--white) !important;
  border-color: var(--color--white) !important;
}
.btn.has-background.has-white-background-color:hover, form input.has-background.has-white-background-color[type=button]:hover, form input.has-background.has-white-background-color[type=submit]:hover, form button.has-background.has-white-background-color:hover, .has-background.has-white-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--white) !important;
}
.btn.has-background.has-none-background-color, form input.has-background.has-none-background-color[type=button], form input.has-background.has-none-background-color[type=submit], form button.has-background.has-none-background-color, .has-background.has-none-background-color.btn-ol {
  background-color: var(--color--none) !important;
  border-color: var(--color--none) !important;
}
.btn.has-background.has-none-background-color:hover, form input.has-background.has-none-background-color[type=button]:hover, form input.has-background.has-none-background-color[type=submit]:hover, form button.has-background.has-none-background-color:hover, .has-background.has-none-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--none) !important;
}
.btn.has-background.has-red-background-color, form input.has-background.has-red-background-color[type=button], form input.has-background.has-red-background-color[type=submit], form button.has-background.has-red-background-color, .has-background.has-red-background-color.btn-ol {
  background-color: var(--color--red) !important;
  border-color: var(--color--red) !important;
}
.btn.has-background.has-red-background-color:hover, form input.has-background.has-red-background-color[type=button]:hover, form input.has-background.has-red-background-color[type=submit]:hover, form button.has-background.has-red-background-color:hover, .has-background.has-red-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--red) !important;
}
.btn.has-background.has-orange-background-color, form input.has-background.has-orange-background-color[type=button], form input.has-background.has-orange-background-color[type=submit], form button.has-background.has-orange-background-color, .has-background.has-orange-background-color.btn-ol {
  background-color: var(--color--orange) !important;
  border-color: var(--color--orange) !important;
}
.btn.has-background.has-orange-background-color:hover, form input.has-background.has-orange-background-color[type=button]:hover, form input.has-background.has-orange-background-color[type=submit]:hover, form button.has-background.has-orange-background-color:hover, .has-background.has-orange-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--orange) !important;
}
.btn.has-background.has-yellow-background-color, form input.has-background.has-yellow-background-color[type=button], form input.has-background.has-yellow-background-color[type=submit], form button.has-background.has-yellow-background-color, .has-background.has-yellow-background-color.btn-ol {
  background-color: var(--color--yellow) !important;
  border-color: var(--color--yellow) !important;
}
.btn.has-background.has-yellow-background-color:hover, form input.has-background.has-yellow-background-color[type=button]:hover, form input.has-background.has-yellow-background-color[type=submit]:hover, form button.has-background.has-yellow-background-color:hover, .has-background.has-yellow-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--yellow) !important;
}
.btn.has-background.has-green-background-color, form input.has-background.has-green-background-color[type=button], form input.has-background.has-green-background-color[type=submit], form button.has-background.has-green-background-color, .has-background.has-green-background-color.btn-ol {
  background-color: var(--color--green) !important;
  border-color: var(--color--green) !important;
}
.btn.has-background.has-green-background-color:hover, form input.has-background.has-green-background-color[type=button]:hover, form input.has-background.has-green-background-color[type=submit]:hover, form button.has-background.has-green-background-color:hover, .has-background.has-green-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--green) !important;
}
.btn.has-background.has-blue-background-color, form input.has-background.has-blue-background-color[type=button], form input.has-background.has-blue-background-color[type=submit], form button.has-background.has-blue-background-color, .has-background.has-blue-background-color.btn-ol {
  background-color: var(--color--blue) !important;
  border-color: var(--color--blue) !important;
}
.btn.has-background.has-blue-background-color:hover, form input.has-background.has-blue-background-color[type=button]:hover, form input.has-background.has-blue-background-color[type=submit]:hover, form button.has-background.has-blue-background-color:hover, .has-background.has-blue-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--blue) !important;
}
.btn.has-background.has-gray-background-color, form input.has-background.has-gray-background-color[type=button], form input.has-background.has-gray-background-color[type=submit], form button.has-background.has-gray-background-color, .has-background.has-gray-background-color.btn-ol {
  background-color: var(--color--gray) !important;
  border-color: var(--color--gray) !important;
}
.btn.has-background.has-gray-background-color:hover, form input.has-background.has-gray-background-color[type=button]:hover, form input.has-background.has-gray-background-color[type=submit]:hover, form button.has-background.has-gray-background-color:hover, .has-background.has-gray-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--gray) !important;
}
.btn.has-background.has-lightgray-background-color, form input.has-background.has-lightgray-background-color[type=button], form input.has-background.has-lightgray-background-color[type=submit], form button.has-background.has-lightgray-background-color, .has-background.has-lightgray-background-color.btn-ol {
  background-color: var(--color--lightgray) !important;
  border-color: var(--color--lightgray) !important;
}
.btn.has-background.has-lightgray-background-color:hover, form input.has-background.has-lightgray-background-color[type=button]:hover, form input.has-background.has-lightgray-background-color[type=submit]:hover, form button.has-background.has-lightgray-background-color:hover, .has-background.has-lightgray-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--lightgray) !important;
}
.btn.has-background.has-bg-background-color, form input.has-background.has-bg-background-color[type=button], form input.has-background.has-bg-background-color[type=submit], form button.has-background.has-bg-background-color, .has-background.has-bg-background-color.btn-ol {
  background-color: var(--color--bg) !important;
  border-color: var(--color--bg) !important;
}
.btn.has-background.has-bg-background-color:hover, form input.has-background.has-bg-background-color[type=button]:hover, form input.has-background.has-bg-background-color[type=submit]:hover, form button.has-background.has-bg-background-color:hover, .has-background.has-bg-background-color.btn-ol:hover {
  background-color: var(--color--white) !important;
  color: var(--color--bg) !important;
}

.btn-ol {
  background: #FFF;
  color: var(--color--main);
}
.btn-ol.hover:hover {
  background: var(--color--main);
  color: var(--color--white);
}

form {
  display: inline-block;
  margin-left: 0.5em;
  margin-right: 0.5em;
}

form {
  /************************************
   * Button
   ***********************************/
  /************************************
    * Form
    ***********************************/
}
form [type=reset] {
  display: inline-block;
  max-width: 100%;
  background: var(--color--main);
  border: 2px solid var(--color--main);
  padding: 0.4em 0.75em;
  text-align: center;
  color: var(--color--white);
  cursor: pointer;
}
form [type=reset].hover:hover {
  background: var(--color--white);
  color: var(--color--main);
}
form textarea,
form input,
form select {
  line-height: 1.5;
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 1rem;
  outline: none;
  border: none;
  padding: 5px 1em;
  border-radius: 0;
  border: 1px solid #CCC;
}
@media only screen and (max-width: 960px) {
  form textarea,
  form input,
  form select {
    font-size: 0.8125rem;
  }
}
@media only screen and (max-width: 640px) {
  form textarea,
  form input,
  form select {
    font-size: 0.75rem;
  }
}
form ::placeholder {
  font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
form input[type=radio], form input[type=checkbox] {
  border: none;
}
form input[type=radio] {
  border-radius: 100%;
  appearance: radio;
}
form input[type=text], form input[type=email], form input[type=url] {
  width: 100%;
}
form input[type=tel] {
  width: 100%;
}
form input[type=date] {
  width: 50%;
}
form input[type=number] {
  width: 8em;
}
form textarea {
  width: 100%;
  height: 200px;
}
form select {
  position: relative;
  width: 100%;
  padding: 5px 2.5em 5px 1em;
  cursor: pointer;
  -webkit-appearance: button;
  -moz-appearance: none;
  appearance: button;
  text-indent: 0.01px;
  text-overflow: "";
  border-radius: 0;
}
form select:focus {
  color: #000;
}
form selectafter {
  content: "";
}
form .select-wrap .wpcf7-form-control-wrap {
  position: relative;
}
form .select-wrap .wpcf7-form-control-wrap::after {
  content: "";
  position: absolute;
  right: 0.5em;
  top: 50%;
  margin-top: -3px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  border-color: #CCC transparent transparent transparent;
  pointer-events: none;
}
form .non-select {
  color: #666666;
}
form label {
  display: inline-block;
  margin-right: 1em;
}
form .btn_area {
  text-align: center;
  margin-top: 1.5em;
}
form button {
  display: inline-block;
  width: 180px;
  max-width: calc(100% - 1em);
  margin: 0 0.5em;
  border-color: var(--color--main);
  background: var(--color--main);
  color: var(--color--white);
}
form button.hover:hover {
  background: var(--color--white);
  color: var(--color--main);
}
form button.rtn-btn {
  width: 120px;
  border-color: var(--color--lightgray);
  background: var(--color--lightgray);
  color: var(--color--gray);
}
form button.rtn-btn.hover:hover {
  background: var(--color--white);
  color: var(--color--gray);
}

.error {
  margin-top: 0.5em !important;
  color: var(--color--error);
  font-size: 0.8125rem;
}

@media print {
  body {
    print-color-adjust: exact;
    min-width: 1150px;
    zoom: 86.9565217391/100;
  }
  #go-top {
    display: none;
  }
}
.pc-view {
  display: inherit !important;
}

.sp-view {
  display: none !important;
}

@media only screen and (max-width: 640px) {
  .pc-view {
    display: none !important;
  }
  .sp-view {
    display: inherit !important;
  }
}
.clear {
  clear: both;
}

.link-arw a,
a.link-arw {
  color: var(--color--link);
  position: relative;
  line-height: 1.4;
  display: inline-block;
  text-decoration: none;
  padding-left: 12px;
  margin-top: 0.5em;
  margin-right: 1.25em;
}
.link-arw a::before,
a.link-arw::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.link-arw a::before,
a.link-arw::before {
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 4px;
  border-color: transparent transparent transparent var(--color--link);
  transition: left 0.3s;
}
.link-arw a.hover:hover,
a.link-arw.hover:hover {
  color: var(--color--hover);
  opacity: 1;
}
.link-arw a.hover:hover::before,
a.link-arw.hover:hover::before {
  left: 3px !important;
}

.link-btn a,
a.link-btn {
  display: inline-block;
  color: var(--color--white);
  border: 2px solid var(--color--main);
  background: var(--color--main);
  padding: 0.5em 0.8em;
  margin: 0.5em 0;
  position: relative;
  line-height: 1.3;
  text-decoration: none;
}
.link-btn a.hover:hover,
a.link-btn.hover:hover {
  opacity: 1;
  background: #fff;
  color: var(--color--main);
}

.has-text-align-center {
  text-align: center;
}

.has-text-align-left {
  text-align: left;
}

.has-text-align-right {
  text-align: right;
}

.alignright,
.alignleft,
.aligncenter,
.alignwide,
.alignfull {
  display: flex;
  flex-wrap: wrap;
}
.alignright img,
.alignleft img,
.aligncenter img,
.alignwide img,
.alignfull img {
  display: block;
  width: auto;
  height: auto;
  line-height: 0;
}

.alignright {
  justify-content: flex-end;
}

.alignleft {
  justify-content: flex-start;
}

.aligncenter,
.alignwide,
.alignfull {
  justify-content: center;
}

.alignwide img,
.alignfull img {
  width: 100%;
}

.alignnone {
  display: block;
  width: auto;
  height: auto;
  margin: 1.5em 0;
}

.alignwide {
  margin: 1.5em 0;
  width: 100%;
}
.alignwide img {
  width: 100%;
}

.alignfull {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  left: 50%;
  margin: 1.5em 0;
  margin-left: -50vw;
}

a.alignright + h2, a.alignright + h3, a.alignright + h4, a.alignright + h5, a.alignright + h6, a.alignright + div a.alignright + p, a.alignleft + h2, a.alignleft + h3, a.alignleft + h4, a.alignleft + h5, a.alignleft + h6, a.alignright + div a.alignleft + p,
img.alignright + h2,
img.alignright + h3,
img.alignright + h4,
img.alignright + h5,
img.alignright + h6,
a.alignright + div img.alignright + p,
img.alignleft + h2,
img.alignleft + h3,
img.alignleft + h4,
img.alignleft + h5,
img.alignleft + h6,
a.alignright + div img.alignleft + p, a.alignleft + div a.alignright + p, a.alignleft + div a.alignleft + p,
a.alignleft + div img.alignright + p,
a.alignleft + div img.alignleft + p,
img.alignright + div a.alignright + p,
img.alignright + div a.alignleft + p,
img.alignright + div img.alignright + p,
img.alignright + div img.alignleft + p,
img.alignleft + div a.alignright + p,
img.alignleft + div a.alignleft + p,
img.alignleft + div img.alignright + p,
img.alignleft + div img.alignleft + p {
  display: inline-block;
}

.floatright,
img.alignright {
  width: 48% !important;
  max-width: 48% !important;
  height: auto;
  clear: both;
  float: right;
  margin: 0 0 2.5em 2.5em;
}
@media screen and (max-width: 480px) {
  .floatright,
  img.alignright {
    width: 100% !important;
    max-width: 100% !important;
  }
}
.floatright + *,
img.alignright + * {
  margin-top: 0;
}
@media only screen and (max-width: 960px) {
  .floatright,
  img.alignright {
    margin: 0 0 2.6em 2.8em;
  }
}
@media only screen and (max-width: 640px) {
  .floatright,
  img.alignright {
    margin: 0 0 1.6em 2em;
  }
}

.floatleft,
img.alignleft {
  width: 48% !important;
  max-width: 48% !important;
  height: auto;
  clear: both;
  float: left;
  margin: 0 2.5em 2.5em 0;
}
@media screen and (max-width: 480px) {
  .floatleft,
  img.alignleft {
    width: 100% !important;
    max-width: 100% !important;
  }
}
@media only screen and (max-width: 960px) {
  .floatleft,
  img.alignleft {
    margin: 0 2.8em 2.6em 0;
  }
}
@media only screen and (max-width: 640px) {
  .floatleft,
  img.alignleft {
    margin: 0 2em 1.6em 0;
  }
}

img.aligncenter {
  max-width: 640px;
  margin-inline: auto;
}

img.alignwide {
  margin-inline: auto;
  width: 100%;
}

figcaption {
  position: relative;
  margin-top: 0.5em !important;
  padding: 0 0.5em;
  margin-bottom: 0 !important;
  font-size: 0.75rem;
  text-align: center;
}
@media only screen and (max-width: 640px) {
  figcaption {
    margin-top: 0.25em !important;
    padding: 0 0.25em;
  }
}

.image-arrange-section {
  position: relative;
}
.image-arrange-section .image-arrange-inner {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.image-arrange-section .image-arrange-img {
  position: absolute;
  top: 0;
  width: 70%;
  height: 100%;
  background: no-repeat center center/cover;
}
@media only screen and (max-width: 640px) {
  .image-arrange-section .image-arrange-img {
    position: static;
    width: 100%;
    padding-top: 70%;
    border-radius: 0;
  }
}
.image-arrange-section .image-arrange-content {
  position: relative;
  width: 40%;
}
@media only screen and (max-width: 640px) {
  .image-arrange-section .image-arrange-content {
    width: 100%;
  }
}
.image-arrange-section .image-arrange-content::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 100%;
  background: rgba(255, 255, 255, 0.8);
}
.image-arrange-section .image-arrange-content .image-arrange-text {
  font-size: 1rem;
  position: relative;
  padding: 2.5em;
  width: 100%;
}

.img_common, .img_r, .img_l {
  opacity: 1;
  left: 0;
}

.img_l .image-arrange-img {
  left: 0;
}
.img_l .image-arrange-content {
  left: calc(100% - 40% + 2.5em);
}
@media only screen and (max-width: 640px) {
  .img_l .image-arrange-content {
    left: 0;
  }
}
.img_l .image-arrange-content::before {
  left: 0;
}

.img_r .image-arrange-img {
  right: 0;
}
.img_r .image-arrange-content {
  left: -2.5em;
}
@media only screen and (max-width: 640px) {
  .img_r .image-arrange-content {
    left: 0;
  }
}
.img_r .image-arrange-content::before {
  right: 0;
}

/*画像マスク*/
.image-cutout {
  width: 500px;
  height: 500px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  display: block;
  margin: 0 auto;
}
.image-cutout img {
  max-width: 9999%;
  max-height: 9999%;
  width: auto;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.ib {
  display: inline-block;
}

.flex-col.col2 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none !important;
  margin-top: calc(1.5em - 1rem);
}
.flex-col.col2 > * {
  margin: 0;
  margin-top: "1rem";
  padding-left: 0 !important;
  list-style: none !important;
}
.flex-col.col2 > *::before {
  content: none !important;
}
.flex-col.col2 > * > *:first-child {
  margin-top: 0;
}
.flex-col.col2 > * {
  width: calc((100% - 1rem * 1) / 2);
}
@media only screen and (max-width: 960px) {
  .flex-col.col2 > * {
    width: calc((100% - 1rem * 1) / 2);
  }
}
@media only screen and (max-width: 640px) {
  .flex-col.col2 > * {
    width: 100%;
  }
}
.flex-col.col3 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none !important;
  margin-top: calc(1.5em - 1rem);
}
.flex-col.col3 > * {
  margin: 0;
  margin-top: "1rem";
  padding-left: 0 !important;
  list-style: none !important;
}
.flex-col.col3 > *::before {
  content: none !important;
}
.flex-col.col3 > * > *:first-child {
  margin-top: 0;
}
.flex-col.col3 > * {
  width: calc((100% - 1rem * 2) / 3);
}
.flex-col.col3::after {
  content: "";
  display: block;
  width: calc((100% - 1rem * 2) / 3);
}
@media only screen and (max-width: 960px) {
  .flex-col.col3 > * {
    width: calc((100% - 1rem * 2) / 3);
  }
}
@media only screen and (max-width: 640px) {
  .flex-col.col3 > * {
    width: calc((100% - 1rem * 2) / 2);
  }
  .flex-col.col3::after {
    content: none;
  }
}
.flex-col.col4 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none !important;
  margin-top: calc(1.5em - 1rem);
}
.flex-col.col4 > * {
  margin: 0;
  margin-top: "1rem";
  padding-left: 0 !important;
  list-style: none !important;
}
.flex-col.col4 > *::before {
  content: none !important;
}
.flex-col.col4 > * > *:first-child {
  margin-top: 0;
}
.flex-col.col4 > * {
  width: calc((100% - 1rem * 3) / 4);
}
.flex-col.col4::after, .flex-col.col4::before {
  content: "";
  display: block;
  width: calc((100% - 1rem * 3) / 4);
}
.flex-col.col4::before {
  order: 1;
}
@media only screen and (max-width: 960px) {
  .flex-col.col4 > * {
    width: calc((100% - 1rem * 3) / 2);
  }
  .flex-col.col4::before {
    content: none;
  }
}
@media only screen and (max-width: 640px) {
  .flex-col.col4 > * {
    width: calc((100% - 1rem * 3) / 2);
  }
  .flex-col.col4::after {
    content: none;
  }
}
@media only screen and (max-width: 640px) {
  .flex-col.sp-section > div {
    padding-top: 2em;
    margin-top: 2em;
    border-top: 1px dotted #CCC;
  }
  .flex-col.sp-section > div > *:first-child {
    margin-top: 1em;
  }
  .flex-col.sp-section > div:first-child {
    padding-top: 0px;
    margin-top: 0px;
    border-top: none;
  }
}

.box-row {
  display: block;
}
.box-row .image {
  position: relative;
  width: 100%;
  padding-top: 50%;
}
.box-row .image > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center center;
  background-size: cover;
}
.box-row .text {
  padding: 10px 0;
}
.box-row .text p {
  text-align: left;
  line-height: 1.5;
}

.flex-cross {
  margin-top: 1.5em;
  list-style: none !important;
}
.flex-cross > * {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 0;
  padding-left: 0 !important;
  list-style: none !important;
}
.flex-cross > * > div {
  width: 50%;
}
@media only screen and (max-width: 640px) {
  .flex-cross > * > div {
    width: 100%;
  }
}
.flex-cross > *::before {
  content: none !important;
}
.flex-cross > *:nth-child(even) {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 640px) {
  .flex-cross > *:nth-child(even) {
    flex-direction: row;
  }
}

.box-col {
  display: flex;
  justify-content: space-between;
}
.box-col .image, .box-col .text {
  width: 48%;
}
.box-col .image {
  position: relative;
  padding-top: 50%;
}
.box-col .image > div {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: no-repeat center center;
  background-size: cover;
}
.box-col .image.gallery {
  padding-top: 75%;
}
.box-col .text p {
  text-align: left;
  line-height: 1.5;
}

.notes, .is-style-notes {
  margin-top: 15px;
  font-size: 0.75rem;
}

ul.notes {
  list-style: none;
  padding: 0;
  margin: 0;
}
ul.notes li {
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
ul.notes li::marker {
  content: none;
}
ul.notes li {
  padding-left: 0 !important;
  text-indent: 0;
}
ul.notes li::marker {
  content: none !important;
}

.box-area strong, .notes strong {
  font-size: 1.25rem;
  font-weight: bold;
}
.box-area > *:first-child, .notes > *:first-child {
  margin-top: 0 !important;
}
.box-area > *:last-child, .notes > *:last-child {
  margin-bottom: 0 !important;
}

.box-area {
  background: #F3F3F3;
  padding: 1.5em;
}

.scroll-table {
  position: relative;
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

.swipe-img {
  display: none;
  position: relative;
  top: -35px;
  left: 5px;
  width: 30px;
  height: 30px;
  background: url(../img/com/sw_mov.gif) no-repeat center center/contain;
}
@media only screen and (max-width: 960px) {
  .swipe-img {
    display: block;
  }
}

.fee_box .fee-list {
  width: 100%;
}
.fee_box .fee-list tr th {
  text-align: center;
  font-weight: bold;
}
.fee_box .fee-list tr.f_price td {
  text-align: center;
}
.fee_box .fee-list tr.f_price td span {
  font-size: 2.625rem;
  font-weight: bold;
  display: block;
}
.fee_box .fee-list tr.f_link td {
  text-align: center;
}
.fee_box .fee-list tr.f_link td a {
  display: block;
  opacity: 0.75;
}
.fee_box.fee_recommend .fee-list {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.25);
}
.fee_box.fee_recommend .fee-list tr.f_link td a {
  opacity: 1;
}

.movie-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.movie-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.gmap iframe {
  width: 100%;
  height: 400px;
}
@media only screen and (max-width: 640px) {
  .gmap iframe {
    height: 300px;
  }
}

.pagination {
  margin-top: 20px;
  margin-bottom: 20px;
}
.pagination ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-indent: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.pagination ul li {
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.pagination ul li::marker {
  content: none;
}
.pagination ul li {
  padding-left: 0 !important;
}
.pagination ul li::before {
  content: none !important;
}
.pagination ul li a,
.pagination ul li span {
  position: relative;
  display: block;
  padding: 0em 0.5em;
  margin: 0 0.25em;
}
.pagination ul li a::after,
.pagination ul li span::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  height: 2px;
  width: calc(100% - 0.5em);
  background: transparent;
  transform: translateX(-50%);
}
.pagination ul li span::after {
  background: var(--color--main);
}
.pagination ul li a .hover:hover {
  color: var(--color--sub);
}
.pagination ul li a .hover:hover::after {
  background: var(--color--sub);
}

html {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  word-wrap: break-word;
  line-height: 1;
  scroll-behavior: auto !important;
  scrollbar-gutter: stable;
}
html.fixed {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
}

body {
  font-family: "Zen Old Mincho", "YuMincho", "游明朝", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro W3", "HGS明朝E", "ＭＳ Ｐ明朝", "Noto Serif Japanese", "serif, Century";
  font-size: 16px;
  color: var(--color--text);
  width: 100%;
  position: relative;
  line-height: 1;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  body.active {
    position: fixed;
    height: 100%;
    overflow-y: scroll;
  }
}

header, header div, header span, header applet, header object, header iframe,
header h1, header h2, header h3, header h4, header h5, header h6, header p, header blockquote, header pre,
header a, header abbr, header acronym, header address, header big, header cite, header code,
header del, header dfn, header em, header img, header ins, header kbd, header q, header s, header samp,
header small, header strike, header strong, header sub, header sup, header tt, header var,
header b, header u, header i, header center,
header dl, header dt, header dd, header ol, header ul, header li,
header fieldset, header form, header label, header legend,
header table, header caption, header tbody, header tfoot, header thead, header tr, header th, header td,
header article, header aside, header canvas, header details, header embed,
header figure, header figcaption, header footer, header header, header hgroup,
header menu, header nav, header output, header ruby, header section, header summary,
header time, header mark, header audio, header video, nav, nav div, nav span, nav applet, nav object, nav iframe,
nav h1, nav h2, nav h3, nav h4, nav h5, nav h6, nav p, nav blockquote, nav pre,
nav a, nav abbr, nav acronym, nav address, nav big, nav cite, nav code,
nav del, nav dfn, nav em, nav img, nav ins, nav kbd, nav q, nav s, nav samp,
nav small, nav strike, nav strong, nav sub, nav sup, nav tt, nav var,
nav b, nav u, nav i, nav center,
nav dl, nav dt, nav dd, nav ol, nav ul, nav li,
nav fieldset, nav form, nav label, nav legend,
nav table, nav caption, nav tbody, nav tfoot, nav thead, nav tr, nav th, nav td,
nav article, nav aside, nav canvas, nav details, nav embed,
nav figure, nav figcaption, nav footer, nav header, nav hgroup,
nav menu, nav nav, nav output, nav ruby, nav section, nav summary,
nav time, nav mark, nav audio, nav video, footer, footer div, footer span, footer applet, footer object, footer iframe,
footer h1, footer h2, footer h3, footer h4, footer h5, footer h6, footer p, footer blockquote, footer pre,
footer a, footer abbr, footer acronym, footer address, footer big, footer cite, footer code,
footer del, footer dfn, footer em, footer img, footer ins, footer kbd, footer q, footer s, footer samp,
footer small, footer strike, footer strong, footer sub, footer sup, footer tt, footer var,
footer b, footer u, footer i, footer center,
footer dl, footer dt, footer dd, footer ol, footer ul, footer li,
footer fieldset, footer form, footer label, footer legend,
footer table, footer caption, footer tbody, footer tfoot, footer thead, footer tr, footer th, footer td,
footer article, footer aside, footer canvas, footer details, footer embed,
footer figure, footer figcaption, footer footer, footer header, footer hgroup,
footer menu, footer nav, footer output, footer ruby, footer section, footer summary,
footer time, footer mark, footer audio, footer video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
  box-sizing: border-box;
  word-wrap: break-word;
}
header ol, header ul, nav ol, nav ul, footer ol, footer ul {
  list-style: none;
}
header table, nav table, footer table {
  border-collapse: collapse;
  border-spacing: 0;
}
header caption, header th, header td, nav caption, nav th, nav td, footer caption, footer th, footer td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
header q, header blockquote, nav q, nav blockquote, footer q, footer blockquote {
  quotes: none;
}
header q:before, header q:after, header blockquote:before, header blockquote:after, nav q:before, nav q:after, nav blockquote:before, nav blockquote:after, footer q:before, footer q:after, footer blockquote:before, footer blockquote:after {
  content: "";
  content: none;
}
header a img, nav a img, footer a img {
  border: none;
}
header article, header aside, header details, header figcaption, header figure, header footer, header header, header hgroup, header menu, header nav, header section, header summary, nav article, nav aside, nav details, nav figcaption, nav figure, nav footer, nav header, nav hgroup, nav menu, nav nav, nav section, nav summary, footer article, footer aside, footer details, footer figcaption, footer figure, footer footer, footer header, footer hgroup, footer menu, footer nav, footer section, footer summary {
  display: block;
}
header, header *, nav, nav *, footer, footer * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  word-wrap: break-word;
}
header::before, header::after, header *::before, header *::after, nav::before, nav::after, nav *::before, nav *::after, footer::before, footer::after, footer *::before, footer *::after {
  box-sizing: border-box;
}
header ul, nav ul, footer ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
header ul li, nav ul li, footer ul li {
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
header ul li::marker, nav ul li::marker, footer ul li::marker {
  content: none;
}

#noscript {
  width: 100%;
  padding: 10px 20px;
  background: #C00;
  color: #fff;
  text-align: center;
  z-index: 100;
  line-height: 1.2;
}

#loader {
  position: fixed;
  z-index: 15000;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #FFF;
}
#loader > div {
  content: "";
  position: fixed;
  opacity: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../img/com/loader.svg) no-repeat center center #FFF;
}

.loader-fix {
  position: fixed;
}

/* コンテンツエリアの設定 **************************/
.common-inner {
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 50px;
  padding-right: 50px;
}
@media only screen and (max-width: 960px) {
  .common-inner {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width: 640px) {
  .common-inner {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* SP時 common-inner内でフル画面表示する例外対応 */
@media only screen and (max-width: 960px) {
  .sp-full {
    margin-left: -30px;
    margin-right: -30px;
    padding-left: 60px;
    padding-right: 60px;
  }
}
@media only screen and (max-width: 640px) {
  .sp-full {
    margin-left: -20px;
    margin-right: -20px;
    padding-left: 40px;
    padding-right: 40px;
  }
}

section {
  padding-top: 35px;
  padding-bottom: 35px;
}
@media only screen and (max-width: 960px) {
  section {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
@media only screen and (max-width: 640px) {
  section {
    padding-top: 15px;
    padding-bottom: 15px;
  }
}
section:first-child {
  padding-top: 0;
}

.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 3.625em 2.0625em 3.125em 2.5em;
  z-index: 1000;
  transition: all 0.3s ease-in;
}
@media only screen and (max-width: 960px) {
  .header {
    padding: 1.875em 1.25em 1.875em 1.25em;
  }
}
.header.is-scroll {
  background-color: rgba(194, 160, 103, 0.7);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 960px) {
  .header-inner {
    align-items: center;
  }
}

.header-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}
@media only screen and (max-width: 960px) {
  .header-logo {
    width: 9.375em;
  }
}

.header-button {
  margin-top: 0.1875em;
}
@media only screen and (max-width: 960px) {
  .header-button {
    margin-top: 0;
  }
}
.header-button a {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 12.5em;
  height: 2.5em;
  border: 1px solid var(--color--white);
  color: var(--color--white);
  font-family: "EBGaramond", "serif, Century";
  border-radius: 20px;
  font-size: 1rem;
  padding-left: 2.1875em;
  letter-spacing: 0.08em;
  gap: 0.5em 1em;
}
@media only screen and (max-width: 960px) {
  .header-button a {
    display: none;
    width: 11.25em;
    padding-left: 1.25em;
    font-size: 0.875rem;
  }
}

.header-button-item-icon {
  margin-top: 0.3125em;
}
@media only screen and (max-width: 960px) {
  .header-button-item-icon {
    width: 1.25em;
    height: 1.25em;
  }
}

.header-menu {
  display: none;
}
@media only screen and (max-width: 960px) {
  .header-menu {
    display: flex;
    width: 2.5em;
    height: 2.5em;
    position: fixed;
    top: 0.9375em;
    right: 1.875em;
    padding: 0;
    z-index: 1000;
    background-color: transparent;
    cursor: pointer;
    pointer-events: all;
  }
}
.header-menu[aria-expanded=true] .header-menu-button-line {
  margin: 0;
}
.header-menu[aria-expanded=true] .header-menu-button-line:nth-of-type(1) {
  transform-origin: top;
  transform: rotate(-45deg);
}
.header-menu[aria-expanded=true] .header-menu-button-line:nth-of-type(2) {
  opacity: 0;
}
.header-menu[aria-expanded=true] .header-menu-button-line:nth-of-type(3) {
  transform: rotate(45deg) translateY(-2px) translateX(-2px);
  transform-origin: bottom;
}

.header-menu-button {
  background-color: transparent;
  border: none;
  width: 100%;
  height: 100%;
  padding: 0;
  box-sizing: border-box;
  cursor: pointer;
  pointer-events: all;
  transition: opacity 0.3s ease-in;
}
.header-menu-button:hover {
  opacity: 0.7;
}

.header-menu-button-line {
  display: block;
  width: 2.5em;
  height: 0.125em;
  background-color: var(--color--white);
}
.header-menu-button-line + .header-menu-button-line {
  margin-top: 0.5625em;
}

.header-nav {
  display: none;
}
@media only screen and (max-width: 960px) {
  .header-nav {
    display: block;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding-top: 6.25em;
    background-color: rgb(194, 160, 103);
    transition: opacity 0.3s ease-in;
    pointer-events: none;
    opacity: 0;
  }
  .header-nav.active {
    opacity: 1;
    pointer-events: all;
  }
}

.header-nav-list {
  display: flex;
  flex-direction: column;
}

.header-nav-item {
  text-align: center;
}
.header-nav-item a {
  display: inline-block;
  color: var(--color--white);
  font-family: "EBGaramond", "serif, Century";
  padding: 1.875em 1.875em;
}
@media only screen and (max-width: 960px) {
  .header-nav-item a {
    font-size: 1.375rem;
  }
}

.header-nav-button {
  display: none;
}
@media only screen and (max-width: 960px) {
  .header-nav-button {
    display: block;
    margin-top: 1.875em;
  }
}
.header-nav-button a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15em;
  height: 2.8125em;
  border: 1px solid var(--color--white);
  color: var(--color--white);
  font-family: "EBGaramond", "serif, Century";
  border-radius: 20px;
  margin-right: auto;
  margin-left: auto;
  gap: 0.5em 1em;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

main {
  display: block;
}

#noice {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100vw;
  height: 100vh;
  pointer-events: none;
  opacity: 0.3;
}
#noice img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.on-sp {
  display: none;
}
@media only screen and (max-width: 960px) {
  .on-sp {
    display: initial;
  }
}

.footer {
  border-top: 1px solid #bfbfbf;
}

.footer-inner {
  padding-top: 2.375em;
  padding-left: 2.5em;
  padding-right: 2.1875em;
  padding-bottom: 6.5625em;
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 960px) {
  .footer-inner {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding-bottom: 3.125em;
  }
}

.footer-others {
  display: flex;
  align-items: center;
  gap: 0.5em 1.3em;
}
@media only screen and (max-width: 960px) {
  .footer-others {
    margin-top: 1.875em;
  }
}

.footer-copyright {
  font-size: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
  font-feature-settings: "palt";
}

.contents-body {
  /* ※※ 公開側では [$txtclass]下で展開されます ※※ */
}
.contents-body > *:first-child {
  margin-top: 0 !important;
}
.contents-body h2 {
  margin-top: 3em;
  margin-bottom: 2.5em;
}
@media only screen and (max-width: 640px) {
  .contents-body h2 {
    margin-bottom: 1.5em;
  }
}
.contents-body h3 {
  margin-top: 3em;
  margin-bottom: 2.5em;
}
@media only screen and (max-width: 640px) {
  .contents-body h3 {
    margin-bottom: 1.5em;
  }
}
.contents-body h4 {
  margin-top: 3em;
  margin-bottom: 2em;
}
.contents-body p, .contents-body table, .contents-body ul, .contents-body ol, .contents-body img {
  margin-top: 1.5em;
}
.contents-body p img:first-child {
  margin-top: 0;
}
.contents-body > *.alignleft:first-child + h1, .contents-body > *.alignleft:first-child + h2, .contents-body > *.alignleft:first-child + h3, .contents-body > *.alignleft:first-child + h4, .contents-body > *.alignleft:first-child + h5, .contents-body > *.alignleft:first-child + h6, .contents-body > *.alignleft:first-child + div, .contents-body > *.alignleft:first-child + p {
  margin-top: 0;
}
.contents-body > *.alignlight:first-child + h1, .contents-body > *.alignlight:first-child + h2, .contents-body > *.alignlight:first-child + h3, .contents-body > *.alignlight:first-child + h4, .contents-body > *.alignlight:first-child + h5, .contents-body > *.alignlight:first-child + h6, .contents-body > *.alignlight:first-child + div, .contents-body > *.alignlight:first-child + p {
  margin-top: 0;
}
.contents-body div > *.alignleft:first-child + h1, .contents-body div > *.alignleft:first-child + h2, .contents-body div > *.alignleft:first-child + h3, .contents-body div > *.alignleft:first-child + h4, .contents-body div > *.alignleft:first-child + h5, .contents-body div > *.alignleft:first-child + h6, .contents-body div > *.alignleft:first-child + div, .contents-body div > *.alignleft:first-child + p, .contents-body section > *.alignleft:first-child + h1, .contents-body section > *.alignleft:first-child + h2, .contents-body section > *.alignleft:first-child + h3, .contents-body section > *.alignleft:first-child + h4, .contents-body section > *.alignleft:first-child + h5, .contents-body section > *.alignleft:first-child + h6, .contents-body section > *.alignleft:first-child + div, .contents-body section > *.alignleft:first-child + p, .contents-body article > *.alignleft:first-child + h1, .contents-body article > *.alignleft:first-child + h2, .contents-body article > *.alignleft:first-child + h3, .contents-body article > *.alignleft:first-child + h4, .contents-body article > *.alignleft:first-child + h5, .contents-body article > *.alignleft:first-child + h6, .contents-body article > *.alignleft:first-child + div, .contents-body article > *.alignleft:first-child + p {
  margin-top: 0;
}
.contents-body div > *.alignlight:first-child + h1, .contents-body div > *.alignlight:first-child + h2, .contents-body div > *.alignlight:first-child + h3, .contents-body div > *.alignlight:first-child + h4, .contents-body div > *.alignlight:first-child + h5, .contents-body div > *.alignlight:first-child + h6, .contents-body div > *.alignlight:first-child + div, .contents-body div > *.alignlight:first-child + p, .contents-body section > *.alignlight:first-child + h1, .contents-body section > *.alignlight:first-child + h2, .contents-body section > *.alignlight:first-child + h3, .contents-body section > *.alignlight:first-child + h4, .contents-body section > *.alignlight:first-child + h5, .contents-body section > *.alignlight:first-child + h6, .contents-body section > *.alignlight:first-child + div, .contents-body section > *.alignlight:first-child + p, .contents-body article > *.alignlight:first-child + h1, .contents-body article > *.alignlight:first-child + h2, .contents-body article > *.alignlight:first-child + h3, .contents-body article > *.alignlight:first-child + h4, .contents-body article > *.alignlight:first-child + h5, .contents-body article > *.alignlight:first-child + h6, .contents-body article > *.alignlight:first-child + div, .contents-body article > *.alignlight:first-child + p {
  margin-top: 0;
}
.contents-body h2 {
  font-size: 2rem;
}
.contents-body h3 {
  font-size: 1.5rem;
}
.contents-body h4 {
  font-size: 1.25rem;
}
.contents-body div, .contents-body p, .contents-body table, .contents-body ul, .contents-body ol {
  line-height: 1.8;
}
.contents-body div.has-background, .contents-body p.has-background, .contents-body ul.has-background, .contents-body ol.has-background {
  padding: 0.5em 1em;
}
.contents-body ul ul, .contents-body ul ol, .contents-body ol ul, .contents-body ol ol {
  margin-block: 0;
}
.contents-body table tr {
  height: auto !important;
}
.contents-body table tr th {
  width: 25%;
}
.contents-body table.w100 {
  width: 100%;
}
@media only screen and (max-width: 640px) {
  .contents-body table.w100 tr, .contents-body table.w100 th, .contents-body table.w100 td {
    display: block;
    float: none;
    width: 100%;
    border: none;
  }
  .contents-body table.w100 th, .contents-body table.w100 td {
    padding-top: 0.25em;
    padding-bottom: 0.25em;
  }
  .contents-body table.w100 th {
    font-weight: bold;
    border-bottom: 1px solid var(--color--border);
  }
  .contents-body table.w100 td {
    padding-bottom: 1.5em;
  }
}
.contents-body figure {
  position: relative;
}

.fv {
  width: 100%;
  height: 55.7833089312vw;
}
@media only screen and (max-width: 960px) {
  .fv {
    height: 120.3125vw;
  }
}

.fv-inner {
  position: relative;
  width: 100%;
  height: 100%;
}
.fv-inner::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  background-color: rgba(var(--color--main), 0.4);
}

.fv-slider {
  position: relative;
  width: 100%;
  height: 100%;
}

.fv-slider-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.fv-slider-item {
  width: 100%;
  height: 100%;
  position: relative;
}
.fv-slider-item img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.fv-nav {
  position: absolute;
  bottom: 28px;
  left: 28px;
  z-index: 2;
}
@media only screen and (max-width: 960px) {
  .fv-nav {
    display: none;
  }
}

.fv-nav-item a {
  display: block;
  padding: 0.8em 0.75em;
  font-family: "EBGaramond", "serif, Century";
  color: #fff;
  letter-spacing: 0;
  font-size: clamp(0.875rem, 0.851rem + 0.101vw, 0.938rem);
}

.index-about {
  padding-top: 9.375em;
}
@media only screen and (max-width: 960px) {
  .index-about {
    padding-top: 3.75em;
  }
}

.index-about-inner {
  width: 81.25em;
  max-width: 100%;
  padding-right: 6.25em;
  padding-left: 7.0625em;
  margin-right: auto;
  margin-left: auto;
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 960px) {
  .index-about-inner {
    width: 100%;
    padding-right: 1.25em;
    padding-left: 1.25em;
    flex-direction: column-reverse;
    max-width: 40em;
  }
}

.index-about-visuals {
  width: 46.5%;
  height: 37.6281112738vw;
  max-height: 32.4375em;
}
@media only screen and (max-width: 960px) {
  .index-about-visuals {
    width: 100%;
    max-width: 100%;
    height: 96vw;
    max-height: 40em;
  }
}

.index-about-visuals_wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.index-about-visuals_main {
  position: absolute;
  top: 0;
  left: 0;
  width: 70.2%;
  z-index: 2;
}

.index-about-visuals_main_wrapper {
  position: relative;
  height: 0;
  padding-top: 100%;
}
.index-about-visuals_main_wrapper > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.index-about-visuals_sub {
  position: absolute;
  bottom: 0px;
  right: 5px;
  width: 56.2%;
  z-index: 1;
}

.index-about-visuals_sub_wrapper {
  position: relative;
  height: 0;
  padding-top: 77.3234200743%;
}
.index-about-visuals_sub_wrapper > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.index-about-texts {
  width: 64%;
  padding-top: 3.125em;
  margin-left: -3.125em;
}
@media only screen and (max-width: 960px) {
  .index-about-texts {
    width: 100%;
    margin-left: 0;
    padding-top: 0;
    margin-top: 0em;
    margin-bottom: 1.25em;
  }
}

.index-about-title {
  font-size: clamp(1.125rem, 1.03rem + 0.404vw, 1.375rem);
  line-height: 2;
  letter-spacing: 0.1em;
}

.index-about-text {
  line-height: 2.75;
  padding-top: 2.375em;
  padding-left: 21.5%;
  font-size: clamp(0.875rem, 0.828rem + 0.202vw, 1rem);
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-about-text {
    padding-left: 0;
    padding-top: 1.25em;
  }
}

.index-intro {
  width: 100%;
  position: relative;
  margin-top: 8.875em;
  padding-top: 0;
  padding-bottom: 0;
}
.index-intro::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  opacity: 0.3;
  background-color: var(--color--main);
}

.index-intro-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-start;
  padding-right: 11.5625em;
  padding-left: 12.0625em;
  padding-top: 3.75em;
  padding-bottom: 3.375em;
  max-width: 85.375em;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1200px) {
  .index-intro-inner {
    padding-right: 10%;
    padding-left: 10%;
  }
}
@media only screen and (max-width: 960px) {
  .index-intro-inner {
    flex-direction: column-reverse;
    padding-right: 1.875em;
    padding-left: 1.875em;
    padding-top: 3.75em;
    padding-bottom: 3.75em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
  }
}

.index-intro-treat {
  display: block;
  color: #c2a067;
  width: 9em;
  position: absolute;
  top: -20px;
  left: 6%;
  letter-spacing: 0.04em;
  transform: rotate(90deg);
}
@media screen and (max-width: 1200px) {
  .index-intro-treat {
    left: -2%;
  }
}
@media only screen and (max-width: 960px) {
  .index-intro-treat {
    top: 0;
    left: -57px;
  }
}

.index-intro-texts {
  width: 63%;
}
@media only screen and (max-width: 960px) {
  .index-intro-texts {
    width: 100%;
    margin-top: 2.5em;
  }
}

.index-intro-title {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.index-intro-title-main {
  font-size: clamp(1.125rem, 1.007rem + 0.505vw, 1.438rem);
  letter-spacing: 0.1em;
  margin-right: 1.125em;
}

.index-intro-title-sub {
  font-size: clamp(0.75rem, 0.726rem + 0.101vw, 0.813rem);
  letter-spacing: 0.06em;
  font-feature-settings: "palt";
  font-family: "EBGaramond", "serif, Century";
}

.index-intro-text {
  font-size: clamp(0.875rem, 0.827rem + 0.204vw, 1rem);
  line-height: 2.25;
  padding-top: 1.625em;
  padding-right: 3.125em;
  letter-spacing: 0.03em;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-intro-text {
    padding-right: 0;
  }
}

.index-intro-visuals {
  width: 37%;
  margin-top: -5.625em;
}
@media only screen and (max-width: 960px) {
  .index-intro-visuals {
    width: 100%;
    margin-top: -5.625em;
  }
}

.index-intro-visuals_wrapper {
  width: 100%;
  height: 0;
  padding-top: 77%;
  position: relative;
}
.index-intro-visuals_wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.index-baked {
  margin-top: 7.5625em;
  padding-bottom: 0;
}
@media only screen and (max-width: 960px) {
  .index-baked {
    margin-top: 3.75em;
  }
}

.index-baked-inner {
  display: flex;
  align-items: flex-start;
  padding-right: 6.25em;
}
@media screen and (min-width: 1367px) {
  .index-baked-inner {
    max-width: 85.375em;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (max-width: 960px) {
  .index-baked-inner {
    padding-right: 0;
    flex-direction: column;
    padding-right: 1.25em;
    padding-left: 1.25em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
  }
}

.index-baked-visuals {
  width: 59%;
}
@media only screen and (max-width: 960px) {
  .index-baked-visuals {
    width: 100%;
  }
}

.index-baked-visuals_wrapper {
  position: relative;
  height: 0;
  padding-top: 78.7634408602%;
}
.index-baked-visuals_wrapper > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.index-baked-texts {
  width: 41%;
  padding-left: 5.8%;
  padding-right: 2.6%;
}
@media only screen and (max-width: 960px) {
  .index-baked-texts {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-top: 1.25em;
  }
}

.index-baked-sub-title {
  font-size: clamp(0.875rem, 0.78rem + 0.404vw, 1.125rem);
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  font-family: "EBGaramond", "serif, Century";
  color: #989898;
}

.index-baked-main-title {
  font-size: clamp(1.125rem, 0.983rem + 0.605vw, 1.5rem);
  letter-spacing: 0.1em;
  padding-left: 0.1875em;
  margin-top: 4.25em;
}
@media only screen and (max-width: 960px) {
  .index-baked-main-title {
    padding-left: 0;
    margin-top: 1.25em;
  }
}

.index-baked-text {
  font-size: clamp(0.875rem, 0.828rem + 0.202vw, 1rem);
  padding-left: 0.1875em;
  padding-top: 2.5em;
  letter-spacing: 0.02em;
  line-height: 2.4;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-baked-text {
    padding-left: 0;
    padding-top: 1.25em;
  }
}

.index-baked-more {
  font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);
  letter-spacing: 0.1em;
  font-family: "EBGaramond", "serif, Century";
  padding-left: 0.3125em;
  margin-top: 7em;
}
@media only screen and (max-width: 960px) {
  .index-baked-more {
    padding-left: 0;
    margin-top: 2.5em;
  }
}

.index-baked-more-link {
  display: flex;
  flex-direction: column;
}

.index-baked-more-arrow {
  display: block;
  margin-top: 0.125em;
}

.index-ice {
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 9em;
}
@media only screen and (max-width: 960px) {
  .index-ice {
    margin-top: 3.75em;
  }
}

.index-ice-inner {
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
}
@media screen and (min-width: 1367px) {
  .index-ice-inner {
    max-width: 85.375em;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (max-width: 960px) {
  .index-ice-inner {
    flex-direction: column;
    padding-right: 1.25em;
    padding-left: 1.25em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
  }
}

.index-ice-visuals {
  width: 55%;
}
@media only screen and (max-width: 960px) {
  .index-ice-visuals {
    width: 100%;
  }
}

.index-ice-texts {
  width: 45%;
  padding-left: 9.5%;
  padding-right: 5.1%;
}
@media only screen and (max-width: 960px) {
  .index-ice-texts {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
    margin-top: 1.25em;
  }
}

.index-ice-sub-title {
  font-size: clamp(0.875rem, 0.78rem + 0.404vw, 1.125rem);
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  font-family: "EBGaramond", "serif, Century";
  color: #989898;
}

.index-ice-main-title {
  font-size: clamp(1.125rem, 0.983rem + 0.605vw, 1.5rem);
  letter-spacing: 0.1em;
  margin-top: 4.6875em;
}
@media only screen and (max-width: 960px) {
  .index-ice-main-title {
    margin-top: 1.25em;
  }
}

.index-ice-text {
  font-size: clamp(0.875rem, 0.828rem + 0.202vw, 1rem);
  letter-spacing: 0.03em;
  line-height: 2.45;
  margin-top: 2.5em;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-ice-text {
    margin-top: 1.25em;
  }
}

.index-ice-intro {
  font-size: clamp(0.688rem, 0.664rem + 0.101vw, 0.75rem);
  margin-top: 2.625em;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-ice-intro {
    margin-top: 0.625em;
  }
}

.index-instagram {
  display: block;
  margin-top: 5.1875em;
  padding-top: 8.125em;
  padding-bottom: 7.5625em;
  position: relative;
}
@media only screen and (max-width: 960px) {
  .index-instagram {
    padding-top: 3.75em;
    padding-bottom: 3.75em;
  }
}
.index-instagram::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  pointer-events: none;
  background-color: var(--color--main);
  opacity: 0.3;
}

.index-instagram-title {
  font-size: clamp(1.125rem, 1.125rem + 0vw, 1.125rem);
  font-family: "EBGaramond", "serif, Century";
  font-feature-settings: "palt";
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--color--main);
  font-weight: 400;
}

.index-instagram-inner {
  position: relative;
  z-index: 2;
  padding-right: 15.6%;
  padding-left: 15.6%;
  margin-top: 2.3125em;
}
@media only screen and (max-width: 960px) {
  .index-instagram-inner {
    padding-right: 1.25em;
    padding-left: 1.25em;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
  }
}

.index-instagram-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none !important;
  margin-top: calc(1.5em - 10px);
  gap: 10px;
}
.index-instagram-list li {
  padding-left: 0;
  text-indent: 0;
  list-style: none;
}
.index-instagram-list li::marker {
  content: none;
}
.index-instagram-list > * {
  margin: 0;
  margin-top: 10px;
  padding-left: 0 !important;
  list-style: none !important;
}
.index-instagram-list > *::before {
  content: none !important;
}
.index-instagram-list > * > *:first-child {
  margin-top: 0;
}
@media screen and (min-width: 1367px) {
  .index-instagram-list {
    max-width: 81.25em;
    margin-right: auto;
    margin-left: auto;
  }
}
@media only screen and (max-width: 960px) {
  .index-instagram-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    list-style: none !important;
    margin-top: calc(1.5em - 10px);
  }
  .index-instagram-list > * {
    margin: 0;
    margin-top: 10px;
    padding-left: 0 !important;
    list-style: none !important;
  }
  .index-instagram-list > *::before {
    content: none !important;
  }
  .index-instagram-list > * > *:first-child {
    margin-top: 0;
  }
  .index-instagram-list > * {
    width: calc((100% - 10px * 1) / 2);
  }
}
@media only screen and (max-width: 960px) and (max-width: 960px) {
  .index-instagram-list > * {
    width: calc((100% - 10px * 1) / 2);
  }
}
@media only screen and (max-width: 960px) and (max-width: 640px) {
  .index-instagram-list > * {
    width: 100%;
  }
}

.index-instagram-item {
  width: calc(20% - 10px);
}
@media only screen and (max-width: 960px) {
  .index-instagram-item {
    width: calc(50% - 10px);
  }
}

.index-instagram-item_wrapper {
  position: relative;
  height: 0;
  padding-top: 100%;
}
.index-instagram-item_wrapper > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.index-instagram-intro {
  font-size: clamp(0.875rem, 0.828rem + 0.202vw, 1rem);
  text-align: center;
  line-height: 2.25;
  margin-top: 1.5625em;
  padding-left: 1.25em;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-instagram-intro {
    margin-top: 2.1875em;
  }
}

.index-instagram-more {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  margin-top: 3em;
}

.index-instagram-more-link {
  display: inline-flex;
  flex-direction: column;
  text-align: left;
  font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);
  letter-spacing: 0.1em;
  font-family: "EBGaramond", "serif, Century";
  padding-left: 0.3125em;
  font-weight: 500;
}

.index-access {
  margin-top: 5.0625em;
  margin-bottom: 8.6875em;
}
@media only screen and (max-width: 960px) {
  .index-access {
    margin-top: 3.75em;
    margin-bottom: 6.25em;
  }
}

.index-access-inner {
  width: 81.25em;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-right: 6.25em;
  padding-left: 7.1875em;
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 960px) {
  .index-access-inner {
    padding-right: 1.25em;
    padding-left: 1.25em;
    width: 100%;
    flex-direction: column;
    max-width: 40em;
    margin-left: auto;
    margin-right: auto;
  }
}

.index-access-visuals {
  width: 49.5%;
  margin-top: 0.4375em;
}
@media only screen and (max-width: 960px) {
  .index-access-visuals {
    width: 100%;
    margin-top: 0;
  }
}

.index-access-visuals_wrapper {
  position: relative;
  height: 0;
  padding-top: 77.9439252336%;
}
.index-access-visuals_wrapper > img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.index-access-texts {
  width: 50%;
  padding-left: 6.4%;
}
@media only screen and (max-width: 960px) {
  .index-access-texts {
    width: 100%;
    padding-left: 0;
    margin-top: 1.25em;
  }
}

.index-access-sub-title {
  font-size: clamp(0.875rem, 0.78rem + 0.404vw, 1.125rem);
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  font-family: "EBGaramond", "serif, Century";
  color: #989898;
}

.index-access-address {
  display: flex;
  flex-wrap: wrap;
  margin-top: 7.875em;
}
@media only screen and (max-width: 960px) {
  .index-access-address {
    display: block;
    margin-top: 1.875em;
  }
}

.index-access-address-title {
  font-size: clamp(0.875rem, 0.828rem + 0.202vw, 1rem);
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  width: 6.875em;
  margin-bottom: 1.75em;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-access-address-title {
    margin-bottom: 0.9375em;
  }
}

.index-access-address-text {
  width: calc(100% - 6.875em);
  font-size: clamp(0.875rem, 0.828rem + 0.202vw, 1rem);
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
  margin-bottom: 1.75em;
  font-weight: 500;
}
@media only screen and (max-width: 960px) {
  .index-access-address-text {
    width: 100%;
    border-bottom: #989898 1px solid;
    padding-bottom: 1.25em;
  }
}

.index-access-address-more-link {
  display: inline-flex;
  flex-direction: column;
  text-align: left;
  font-size: clamp(0.875rem, 0.875rem + 0vw, 0.875rem);
  letter-spacing: 0.1em;
  font-family: "EBGaramond", "serif, Century";
  margin-top: 1.25em;
  padding-left: 0.3125em;
}
@media only screen and (max-width: 960px) {
  .index-access-address-more-link {
    margin-top: 0.9375em;
    padding-left: 0;
  }
}

.index-access-address-more-arrow {
  display: block;
  margin-top: 0.125em;
}

.add-swiper-bullet {
  padding-bottom: 40px;
}

.swiper-slide {
  text-align: center;
}
.swiper-slide img {
  margin: auto;
}
.swiper-slide p {
  line-height: 1.8;
}

.swiper-pagination {
  bottom: 0;
}

.swiper-pagination-bullet {
  border-radius: 0;
  margin: 0 8px;
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 8px;
}

.swiper-pagination-bullet-active {
  background: #000;
}

.featherlight .featherlight-content {
  padding: 30px;
  margin: 0;
  max-height: 100%;
  border-bottom: none;
  background: transparent;
}
.featherlight .featherlight-image {
  max-width: 100%;
  max-height: 100%;
}
.featherlight .featherlight-close-icon {
  width: 30px;
  height: 30px;
  text-align: center;
  font-size: 20px;
  line-height: 30px;
  color: #FFF;
  font-weight: bold;
  border-radius: 0;
  top: 0;
  right: 30px;
  background: transparent;
}

@keyframes fade {
  0% {
    opacity: 0;
    z-index: -1;
  }
  100% {
    opacity: 1;
    z-index: 1;
  }
}
@keyframes slideLtoR {
  0% {
    left: -100%;
  }
  100% {
    left: 0;
  }
}
@keyframes slideRtoL {
  0% {
    right: -100%;
  }
  100% {
    right: 0;
  }
}
@keyframes resizeWidth {
  0% {
    transform: scale(0, 1);
  }
  100% {
    transform: scale(1, 1);
  }
}

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