@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Libre+Caslon+Display&family=Shippori+Mincho+B1&family=Zen+Old+Mincho&display=swap");
/* ============================
    reset
============================*/
/* 
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated:2010-09-17
Author:Richard Clark - http://richclarkdesign.com 
Twitter:@rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video,
button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  font-style: normal;
  vertical-align: baseline;
  background: transparent;
}

html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, picture {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

a:active, a:hover {
  outline-width: 0;
}

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

img {
  max-width: 100%;
  height: auto;
  width: auto;
  border: 0;
  border-style: none;
  vertical-align: top;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: normal;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

ul, ol, ul li, ol li {
  list-style: none;
}

/* setting //////////////////////////////////////////////////*/
/*color*/
/*font-family*/
/*filler color*/
/*text-shadow*/
/*media query break point*/
/*mainBP*/
/*gHeader用*/
/*cubic-bezier*/
/*letter-spacing*/
/*// mixin //////////////////////////////////////////////////*/
/*grid settings*/
/* media query */
/* hover */
a {
  color: #231815;
  text-decoration: none;
}

html {
  font-size: 62.5%;
}
@media only screen and (max-width: 1080px) {
  html {
    font-size: 1.0869565217vw;
  }
}
@media only screen and (max-width: 767px) {
  html {
    font-size: 2.5vw;
  }
}

body {
  color: #231815;
  font-family: YakuHanMP, "A1明朝", "A1 Mincho", "Noto Serif", serif;
  letter-spacing: 0.15em;
  line-height: 1.8;
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}

button {
  font-family: YakuHanMP, "A1明朝", "A1 Mincho", "Noto Serif", serif;
}

.c-viewmore, .c-viewmore-back {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(44, 36, 30, 0.74);
  width: 100%;
  font-family: "Cinzel", "EB Garamond", serif;
  font-weight: 400;
  font-style: normal;
  font-weight: 700;
  color: #fff;
  padding: 5px;
}
.c-viewmore__inner {
  width: 100%;
  padding: 1rem;
  border-top: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  display: flex;
  justify-content: center;
  align-items: center;
}
.c-viewmore__arw {
  position: absolute;
  right: 2rem;
  width: 1.5rem;
  height: 1rem;
  background-image: url("../../images/common/icon-arw.png");
  background-repeat: no-repeat;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-viewmore:hover .c-viewmore, .c-viewmore-back:hover .c-viewmore, .c-viewmore:hover .c-viewmore-back, .c-viewmore-back:hover .c-viewmore-back {
    opacity: 0.8;
    transition: 0.3s;
  }
  .c-viewmore:hover .c-viewmore__arw, .c-viewmore-back:hover .c-viewmore__arw {
    transform: translateX(0.5em) scale(1.1);
  }
}
.c-viewmore-back .c-viewmore__arw {
  left: 2rem;
  right: unset;
  transform: scaleX(-100%);
}
@media (hover: hover) and (pointer: fine) {
  .c-viewmore-back:hover .c-viewmore__arw {
    transform: translateX(-0.5em) scaleX(-100%);
  }
}

/* ------------------------------------------------------------
    display
------------------------------------------------------------ */
.c-pc {
  display: block;
}
@media only screen and (max-width: 767px) {
  .c-pc {
    display: none;
  }
}

.c-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-sp {
    display: block;
  }
}

/* ------------------------------------------------------------
    flex layout
------------------------------------------------------------ */
.c-flex {
  width: 100%;
  display: flex;
}
.c-flex.flex-btw {
  justify-content: space-between;
}
.c-flex.flex-btw-basis {
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-flex.flex-btw-basis {
    flex-direction: column;
  }
}
.c-flex.flex-ard {
  justify-content: space-around;
}
.c-flex.flex-row {
  flex-direction: row;
}
.c-flex.flex-row-reverse {
  flex-direction: row-reverse;
}
.c-flex.flex-col {
  flex-direction: column;
}
.c-flex.flex-col-reverse {
  flex-direction: column-reverse;
}
.c-flex.flex-wrap {
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .c-flex.sm_flex-row {
    flex-direction: row;
  }
  .c-flex.sm_flex-row-reverse {
    flex-direction: row-reverse;
  }
  .c-flex.sm_flex-col {
    flex-direction: column;
  }
  .c-flex.sm_flex-col-reverse {
    flex-direction: column-reverse;
  }
  .c-flex.sm_flex-wrap {
    flex-wrap: wrap;
  }
}

/* ------------------------------------------------------------
    grid layout
------------------------------------------------------------ */
.c-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
}
.c-grid.gap5 {
  gap: 0.5rem;
}
.c-grid.gap10 {
  gap: 1rem;
}
.c-grid.gap15 {
  gap: 1.5rem;
}
.c-grid.gap20 {
  gap: 2rem;
}
.c-grid.gap25 {
  gap: 2.5rem;
}
.c-grid.gap30 {
  gap: 3rem;
}
.c-grid.gap35 {
  gap: 3.5rem;
}
.c-grid.gap40 {
  gap: 4rem;
}
.c-grid.gap45 {
  gap: 4.5rem;
}
.c-grid.gap50 {
  gap: 5rem;
}
.c-grid__col50 {
  grid-column: span 6;
}
.c-grid__col25 {
  grid-column: span 3;
}
.c-grid__col75 {
  grid-column: span 9;
}
.c-grid__col100 {
  grid-column: span 12;
}
.c-grid__c1 {
  grid-column: span 1;
}
.c-grid__c2 {
  grid-column: span 2;
}
.c-grid__c3 {
  grid-column: span 3;
}
.c-grid__c4 {
  grid-column: span 4;
}
.c-grid__c5 {
  grid-column: span 5;
}
.c-grid__c6 {
  grid-column: span 6;
}
.c-grid__c7 {
  grid-column: span 7;
}
.c-grid__c8 {
  grid-column: span 8;
}
.c-grid__c9 {
  grid-column: span 9;
}
.c-grid__c10 {
  grid-column: span 10;
}
.c-grid__c11 {
  grid-column: span 11;
}
.c-grid__c12 {
  grid-column: span 12;
}
@media only screen and (max-width: 1080px) {
  .c-grid.gap5--sp {
    gap: 0.5rem !important;
  }
  .c-grid.gap10--sp {
    gap: 1rem !important;
  }
  .c-grid.gap15--sp {
    gap: 1.5rem !important;
  }
  .c-grid.gap20--sp {
    gap: 2rem !important;
  }
  .c-grid.gap25--sp {
    gap: 2.5rem !important;
  }
  .c-grid.gap30--sp {
    gap: 3rem !important;
  }
  .c-grid.gap35--sp {
    gap: 3.5rem !important;
  }
  .c-grid.gap40--sp {
    gap: 4rem !important;
  }
  .c-grid.gap45--sp {
    gap: 4.5rem !important;
  }
  .c-grid.gap50--sp {
    gap: 5rem !important;
  }
  .c-grid__col50--md {
    grid-column: span 6;
  }
  .c-grid__col25--md {
    grid-column: span 3;
  }
  .c-grid__col75--md {
    grid-column: span 9;
  }
  .c-grid__col100--md {
    grid-column: span 12;
  }
  .c-grid__c1--md {
    grid-column: span 1;
  }
  .c-grid__c2--md {
    grid-column: span 2;
  }
  .c-grid__c3--md {
    grid-column: span 3;
  }
  .c-grid__c4--md {
    grid-column: span 4;
  }
  .c-grid__c5--md {
    grid-column: span 5;
  }
  .c-grid__c6--md {
    grid-column: span 6;
  }
  .c-grid__c7--md {
    grid-column: span 7;
  }
  .c-grid__c8--md {
    grid-column: span 8;
  }
  .c-grid__c9--md {
    grid-column: span 9;
  }
  .c-grid__c10--md {
    grid-column: span 10;
  }
  .c-grid__c11--md {
    grid-column: span 11;
  }
  .c-grid__c12--md {
    grid-column: span 12;
  }
}
@media only screen and (max-width: 767px) {
  .c-grid.gap5--sp {
    gap: 0.5rem !important;
  }
  .c-grid.gap10--sp {
    gap: 1rem !important;
  }
  .c-grid.gap15--sp {
    gap: 1.5rem !important;
  }
  .c-grid.gap20--sp {
    gap: 2rem !important;
  }
  .c-grid.gap25--sp {
    gap: 2.5rem !important;
  }
  .c-grid.gap30--sp {
    gap: 3rem !important;
  }
  .c-grid.gap35--sp {
    gap: 3.5rem !important;
  }
  .c-grid.gap40--sp {
    gap: 4rem !important;
  }
  .c-grid.gap45--sp {
    gap: 4.5rem !important;
  }
  .c-grid.gap50--sp {
    gap: 5rem !important;
  }
  .c-grid__col50--sp {
    grid-column: span 6;
  }
  .c-grid__col25--sp {
    grid-column: span 3;
  }
  .c-grid__col75--sp {
    grid-column: span 9;
  }
  .c-grid__col100--sp {
    grid-column: span 12;
  }
  .c-grid__c1--sp {
    grid-column: span 1;
  }
  .c-grid__c2--sp {
    grid-column: span 2;
  }
  .c-grid__c3--sp {
    grid-column: span 3;
  }
  .c-grid__c4--sp {
    grid-column: span 4;
  }
  .c-grid__c5--sp {
    grid-column: span 5;
  }
  .c-grid__c6--sp {
    grid-column: span 6;
  }
  .c-grid__c7--sp {
    grid-column: span 7;
  }
  .c-grid__c8--sp {
    grid-column: span 8;
  }
  .c-grid__c9--sp {
    grid-column: span 9;
  }
  .c-grid__c10--sp {
    grid-column: span 10;
  }
  .c-grid__c11--sp {
    grid-column: span 11;
  }
  .c-grid__c12--sp {
    grid-column: span 12;
  }
}

/* ------------------------------------------------------------
    txt
------------------------------------------------------------ */
.c-txtBr {
  display: inline-block;
}

.c-f_small {
  font-size: 80%;
}

.c-f_large {
  font-size: 160%;
}

.c-t_c {
  text-align: center !important;
}

.c-t_l {
  text-align: left !important;
}

.c-t_r {
  text-align: right !important;
}

@media only screen and (max-width: 767px) {
  .c-t_c-sp {
    text-align: center !important;
  }
  .c-t_l-sp {
    text-align: left !important;
  }
  .c-t_r-sp {
    text-align: right !important;
  }
}
/* ------------------------------------------------------------
    text size
------------------------------------------------------------ */
.c-cap {
  position: absolute;
  left: 5px;
  bottom: 5px;
  width: calc(100% - 10px);
  text-align: right;
  letter-spacing: 0;
  line-height: 1.4;
  letter-spacing: 0.05em;
  font-size: 11px;
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .c-cap {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-cap {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-cap {
    font-size: 10px;
    font-size: 1rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .c-cap {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .c-cap {
    font-size: 1.4rem;
  }
}

/* ------------------------------------------------------------
	image caption
------------------------------------------------------------ */
.c-imgBox {
  position: relative;
}
.c-imgBox img {
  width: 100%;
}
.c-imgBox--obfit img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-imgBox__cap, .c-imgBox__cap--under, .c-imgBox__cap--underR, .c-imgBox__cap--lg, .c-imgBox__cap__Rbk, .c-imgBox__cap__Lbk, .c-imgBox__cap--btm-spc, .c-imgBox__cap--R, .c-imgBox__cap--bk {
  position: absolute;
  left: 5px;
  bottom: 5px;
  font-size: 1.1rem;
  letter-spacing: 0;
  color: #fff;
  text-shadow: 0px 0px 3px #000, 0px 0px 3px #000, 0px 0px 5px #000, 0px 0px 10px #000;
  line-height: 1;
  padding: 2px 3px;
  z-index: 1;
  line-height: 1.4;
}
.c-imgBox__cap--bk {
  color: #000;
  text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 10px #fff;
}
.c-imgBox__cap--R {
  left: unset;
  right: 5px;
}
.c-imgBox__cap--btm-spc {
  right: unset;
  bottom: 2.5em;
  left: 5px;
}
.c-imgBox__cap__Lbk {
  right: unset;
  left: 5px;
  color: #000;
  text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 10px #fff;
}
.c-imgBox__cap__Rbk {
  left: unset;
  right: 5px;
  color: #000;
  text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 10px #fff;
}
.c-imgBox__cap--lg {
  font-size: 1.6rem;
}
.c-imgBox__cap--under, .c-imgBox__cap--underR {
  bottom: unset;
  top: calc(100% + 5px);
  color: #231815;
  text-shadow: none;
}
.c-imgBox__cap--underWh {
  color: #fff;
}
.c-imgBox__cap--underR {
  left: unset;
  right: 0;
}

.c_icon {
  position: relative;
}

.c_icon__in {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
}

@media only screen and (max-width: 767px) {
  .c_icon__in {
    display: block;
  }
}
/* ------------------------------------------------------------
    block
------------------------------------------------------------ */
.c-container {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.c-container_mx {
  width: 90%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.c-container_1 {
  width: 85%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

/* ------------------------------------------------------------
    btn
------------------------------------------------------------ */
.c-link_tel {
  cursor: default;
  pointer-events: none;
  padding: 0 1rem;
}
@media only screen and (max-width: 767px) {
  .c-link_tel {
    pointer-events: initial;
    cursor: pointer;
  }
}

.c-menu_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 100%;
  max-width: 416px;
  height: 60px;
  background: #84705e;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-menu_btn {
    height: 44px;
  }
}
.c-menu_btn:hover {
  color: #fff;
}

.c-spCta_btn, .c-spCta_btn-02, .c-spCta_btn-01 {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 100%;
  height: 70px;
  background: #6a6b6b;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .c-spCta_btn, .c-spCta_btn-02, .c-spCta_btn-01 {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .c-spCta_btn, .c-spCta_btn-02, .c-spCta_btn-01 {
    font-size: 1.8rem;
  }
}
.c-spCta_btn-01 {
  background: #b4995a;
}
.c-spCta_btn-02 {
  color: #fff;
  background: #84705e;
}

.c-pageMenu_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  background: #84705e;
  flex-basis: 50%;
  padding: 14px 0;
  font-size: 13px;
  font-size: 1.3rem;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-pageMenu_btn {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-pageMenu_btn {
    font-size: 1.4rem;
  }
}
.c-pageMenu_btn.-btnColor {
  background: none;
  color: #231815;
  border: solid 1px #aaa;
}
.c-pageMenu_btn.full {
  flex-basis: 100%;
}
.c-pageMenu_btn:hover {
  /*color: #fff;*/
}

.c-ft-contact {
  display: flex;
  flex-direction: column;
}
.c-ft-contact__txt {
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .c-ft-contact__txt {
    font-size: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .c-ft-contact__txt {
    font-size: 1rem;
  }
}
.c-ft-contact__btn, .c-ft-contact__btn-02, .c-ft-contact__btn-01 {
  display: block;
  margin: 1rem 0;
  text-align: center;
  background-color: #84705e;
  color: #fff;
  border-radius: 5em;
  padding: 1.5rem 5rem;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-ft-contact__btn:hover, .c-ft-contact__btn-02:hover, .c-ft-contact__btn-01:hover {
    opacity: 0.7;
  }
}
@media only screen and (max-width: 767px) {
  .c-ft-contact__btn, .c-ft-contact__btn-02, .c-ft-contact__btn-01 {
    margin: 1rem auto;
    width: 100%;
  }
}
.c-ft-contact__btn-01 {
  background: #b4995a;
}
.c-ft-contact__btn-02 {
  color: #fff;
  background: #84705e;
}

.c-bgBtn-wrap {
  display: flex;
  justify-content: center;
  gap: 5rem;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .c-bgBtn-wrap {
    gap: 1.5rem;
    flex-direction: column;
    margin-top: 2rem;
  }
}

.c-bgBtn, .c-bgBtn-limited, .c-bgBtn-entry {
  display: block;
  width: 100%;
  max-width: 45rem;
  height: 10rem;
  z-index: 1;
  padding: 1rem;
  font-size: 16px;
  font-size: 1.6rem;
  color: #fff;
  text-align: center;
  line-height: 1.75;
  background-position: center;
  background-size: cover;
  position: relative;
  transition: 0.3s;
  box-shadow: 0 2px 5px #231815;
}
@media only screen and (max-width: 767px) {
  .c-bgBtn, .c-bgBtn-limited, .c-bgBtn-entry {
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .c-bgBtn, .c-bgBtn-limited, .c-bgBtn-entry {
    font-size: 1.5rem;
  }
}
.c-bgBtn::before, .c-bgBtn-limited::before, .c-bgBtn-entry::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: 0.3;
}
.c-bgBtn::after, .c-bgBtn-limited::after, .c-bgBtn-entry::after {
  content: "";
  width: calc(100% - 0.8rem);
  height: calc(100% - 0.8rem);
  border: #fff solid 1px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  transition: 0.3;
}
.c-bgBtn__ttl {
  position: relative;
  font-size: 0.8em;
  z-index: 3;
}
.c-bgBtn__txt {
  position: relative;
  z-index: 3;
}
.c-bgBtn .u-arw-round, .c-bgBtn-limited .u-arw-round, .c-bgBtn-entry .u-arw-round {
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-bgBtn:hover, .c-bgBtn-limited:hover, .c-bgBtn-entry:hover {
    opacity: 0.8;
    transition: 0.3;
    box-shadow: 0 1px 1px #231815;
  }
  .c-bgBtn:hover .u-arw-round, .c-bgBtn-limited:hover .u-arw-round, .c-bgBtn-entry:hover .u-arw-round {
    margin-left: 1rem;
  }
}
.c-bgBtn-entry {
  background-image: url(../../images/common/btn_entry-bg.jpg);
}
.c-bgBtn-entry::before {
  background: rgba(158, 107, 88, 0.9);
}
.c-bgBtn-limited {
  background-image: url(../../images/common/btn_entry-bg.jpg);
}
.c-bgBtn-limited::before {
  background: rgba(46, 40, 38, 0.9);
}

.c-ft-entry {
  background-color: #252525;
  color: #fff;
  padding: 3rem 0;
}
.c-ft-entry__inner {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}
.c-ft-entry__ttl {
  font-size: 26px;
  font-size: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .c-ft-entry__ttl {
    font-size: 21px;
  }
}
@media only screen and (max-width: 767px) {
  .c-ft-entry__ttl {
    font-size: 2.1rem;
  }
}
.c-ft-entry__txt {
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .c-ft-entry__txt {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-ft-entry__txt {
    font-size: 1.4rem;
  }
}
.c-ft-entry__contents {
  margin-top: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-size: 1.8rem;
}
.c-ft-entry__contents__item {
  position: relative;
}
.c-ft-entry__contents__item i {
  position: absolute;
  top: 0;
  left: 0;
  transform: translateY(-80%);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: #8c0a0a;
  font-size: 1rem;
  line-height: 1.2;
  height: 1.5em;
  padding: 0 1rem;
}
.c-ft-entry__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  width: 100%;
  max-width: 70rem;
  margin-inline: auto;
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .c-ft-entry__btns {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.c-ft-entry__btn {
  background-color: 1;
  color: #fff;
  padding: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-ft-entry__btn:hover {
    background-color: #fff;
    color: #84705e;
  }
}

.c-pdf {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #61574d;
  color: #fff;
  text-align: center;
  width: 90%;
  border-radius: 4em;
  max-width: 400px;
  margin: 0 auto;
  padding: 1rem;
  overflow: hidden;
}
.c-pdf > span {
  z-index: 1;
}
.c-pdf i {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin-left: 1.5rem;
  background-image: url(../../images/common/icon_pdf.svg);
  background-size: cover;
  z-index: 1;
}
.c-pdf:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4em;
  transform: translateX(-100%);
  transition: 0.3s;
}
.c-pdf:hover {
  color: #fff;
}
.c-pdf:hover:after {
  transform: translateX(0);
}

.c-tab {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #61574d;
  color: #fff;
  text-align: center;
  width: 90%;
  border-radius: 4em;
  max-width: 400px;
  margin: 0 auto;
  padding: 1rem;
  overflow: hidden;
}
.c-tab > span {
  z-index: 1;
}
.c-tab i {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  margin-left: 1.5rem;
  background-image: url(../../images/common/icon_tab.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
}
.c-tab:after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4em;
  transform: translateX(-100%);
  transition: 0.3s;
}
.c-tab:hover {
  color: #fff;
}
.c-tab:hover:after {
  transform: translateX(0);
}

.c-brand-btn {
  display: flex;
  color: #fff;
  padding: 0.5rem 1.5rem;
  border: 1px solid #fff;
  transition: all 0.3s ease;
}
.c-brand-btn:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.c-brand-btn__wrap {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
.c-brand-btn__icon {
  position: relative;
  display: inline-block;
  width: 3rem;
  height: auto;
}
.c-brand-btn__icon::before {
  content: "";
  position: absolute;
  background-color: #fff;
  width: 2rem;
  height: 3px;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.3s ease;
}
.c-brand-btn:hover .c-brand-btn__icon::before {
  transform: translate(-0.5rem, -50%);
}

/* ------------------------------------------------------------
    new
------------------------------------------------------------ */
.c-new::after {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #C44E73;
}

/* ------------------------------------------------------------
    下層メインビジュアル
------------------------------------------------------------ */
.c-mv, .c-mv-limited {
  position: relative;
  width: 100%;
  height: 100vh;
  aspect-ratio: 16/9;
  overflow: hidden;
}
@media only screen and (max-width: 1080px) {
  .c-mv, .c-mv-limited {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv, .c-mv-limited {
    height: 120vw;
  }
}
.c-mv-limited {
  height: 50vh;
  aspect-ratio: unset;
}
.c-mv-limited .c-mv__img {
  -o-object-position: top 75% left 50%;
     object-position: top 75% left 50%;
}
.c-mv__img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 1080px) {
  .c-mv__img {
    height: auto;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__img {
    height: 100%;
  }
}
.c-mv__ttl, .c-mv__ttl-R {
  position: absolute;
  top: 50%;
  left: calc(100vw - 90%);
  transform: translate(0%, -50%);
  color: #fff;
  font-size: 50px;
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 0.2em;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-mv__ttl, .c-mv__ttl-R {
    font-size: 21px;
  }
}
@media only screen and (max-width: 767px) {
  .c-mv__ttl, .c-mv__ttl-R {
    font-size: 2.1rem;
  }
}
.c-mv__ttl-R {
  left: unset;
  right: calc(100vw - 90%);
}
.c-mv__ttl-en {
  font-family: "EB Garamond", serif;
}
.c-mv__ttl-en em {
  font-size: 1.8em;
  line-height: 0;
}
.c-mv__ttl-ja {
  font-family: "A1明朝", "A1 Mincho", "Noto Serif", serif;
  font-size: 0.7em;
  line-height: 2.5;
  letter-spacing: 0.4em;
}

/* ------------------------------------------------------------
    下層共通テキスト部分
------------------------------------------------------------ */
.c-txtTtl {
  font-size: 20px;
  font-size: 2rem;
  text-align: center;
  position: relative;
  color: #ac988e;
  font-family: "EB Garamond", serif;
  font-weight: 500;
  padding: 0.2em;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 767px) {
  .c-txtTtl {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txtTtl {
    font-size: 1.8rem;
  }
}
.c-txtTtl::after, .c-txtTtl::before {
  content: "";
  width: 100%;
  height: 1px;
  background: #ac988e;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.c-txtTtl::after {
  top: 0;
}
.c-txtTtl::before {
  bottom: 0;
}

.c-txtLead, .c-txtLead-gold {
  font-size: 22px;
  font-size: 2.2rem;
  text-align: center;
  color: #231815;
  font-family: "A1明朝", "A1 Mincho", "Noto Serif", serif;
  letter-spacing: 0.25em;
  margin-top: 3em;
}
@media only screen and (max-width: 767px) {
  .c-txtLead, .c-txtLead-gold {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txtLead, .c-txtLead-gold {
    font-size: 2rem;
  }
}
.c-txtLead-gold {
  color: #84705e;
}
.c-txtLead small, .c-txtLead-gold small {
  font-size: 0.8em;
}

.c-txt {
  font-size: 16px;
  font-size: 1.6rem;
  text-align: center;
  color: #231815;
  font-family: "A1明朝", "A1 Mincho", "Noto Serif", serif;
  letter-spacing: 0.25em;
  margin-top: 3em;
  line-height: 3;
}
@media only screen and (max-width: 767px) {
  .c-txt {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt {
    font-size: 1.4rem;
  }
}

/* ------------------------------------------------------------
    MAPなどのズーム機能
------------------------------------------------------------ */
@media only screen and (max-width: 767px) {
  .c-imgZoom {
    position: relative !important;
    overflow: hidden;
    display: inline-block !important;
    width: 100%;
    height: 100%;
  }
}
.c-imgZoom__img {
  cursor: unset;
}
@media only screen and (max-width: 767px) {
  .c-imgZoom__img {
    position: absolute; /* 画像を絶対配置にする */
    transition: transform 0.3s ease;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    cursor: grab !important;
  }
  .c-imgZoom__img img {
    width: 100%;
    height: 100%;
    display: block;
  }
}
.c-imgZoom__controls {
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-imgZoom__controls {
    position: absolute;
    top: 1rem;
    right: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    z-index: 1;
  }
  .c-imgZoom__controls__btn, .c-imgZoom__controls__btn--in {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4rem;
    height: 4rem;
    background-color: #84705e;
    cursor: pointer;
  }
  .c-imgZoom__controls__btn span, .c-imgZoom__controls__btn--in span {
    display: inline-block;
    vertical-align: middle;
    color: #fff;
    line-height: 1;
    width: 1.5em;
    height: 2px;
    background: currentColor;
    border-radius: 0.1em;
    position: relative;
  }
  .c-imgZoom__controls__btn--in span:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
  }
}

/* ------------------------------------------------------------
    背景の波紋
------------------------------------------------------------ */
.c-ripples {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  background: #f3f1ef;
}

/* ------------------------------------------------------------
    背景の桜
------------------------------------------------------------ */
.c-sakura, .c-sakura--R, .c-sakura--L {
  pointer-events: none;
  position: absolute;
  top: 0;
  width: 80%;
  height: 100vh;
  background-size: contain;
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
  filter: blur(3px);
  opacity: 0;
  transition: opacity 5s, filter 2.2s cubic-bezier(0.19, 1, 0.22, 1), transform 20s cubic-bezier(0.19, 1, 0.22, 1);
}
@media only screen and (max-width: 767px) {
  .c-sakura, .c-sakura--R, .c-sakura--L {
    width: 100%;
  }
}
.c-sakura--L {
  left: 0;
  transform: translate(0, -5em);
}
.c-sakura--L.active {
  opacity: 1;
  transform: translate(2em, 0);
}
.c-sakura--R {
  right: 0;
  transform: translate(0, -5em);
}
.c-sakura--R.active {
  opacity: 1;
  transform: translate(-2em, 0);
}

.c-decomovie {
  position: absolute;
  bottom: -20vh;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  filter: blur(5px);
  -webkit-mask-image: url("../../images/common/wave-mask.png");
          mask-image: url("../../images/common/wave-mask.png");
}
@media only screen and (max-width: 767px) {
  .c-decomovie {
    width: 100vw;
    height: 40vh;
  }
}
.c-decomovie video {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-fit: fill;
     object-fit: fill;
}
.c-decomovie.scalex-1, .c-decomovie.scalexy-1 {
  transform: scaleX(-1);
  bottom: 0;
  right: unset;
  left: 0;
}
.c-decomovie.scalexy-1 {
  transform: scaleX(-1) scaleY(-1);
}

.space {
  height: 100vh;
  width: 100%;
  background-color: beige;
}

.wrapper {
  background-color: #eee;
}

.inner {
  width: 100%;
  max-width: 800px;
  margin-inline: auto;
}

:root {
  --cubic: cubic-bezier(.55,.01,.32,.99) ;
}

/* アニメーション用 */
.anime {
  opacity: 0.01;
}
.anime.slide {
  transition: 1.5s var(--cubic);
}
.anime.slide.active {
  opacity: 1;
  transform: translateY(0);
}
.anime.slide-up {
  transform: translateY(10%);
  transition: 1.5s var(--cubic);
}
.anime.slide-up.active {
  opacity: 1;
  transform: translateY(0);
}
.anime.slide-L {
  transform: translateX(-10%);
  transition: 1.5s var(--cubic);
}
.anime.slide-L.active {
  opacity: 1;
  transform: translateX(0);
}
.anime.slide-R {
  transform: translateX(2.5%);
  transition: 1.5s var(--cubic);
}
.anime.slide-R.active {
  opacity: 1;
  transform: translateX(0);
}
.anime.clip-L {
  opacity: 0.01;
  clip-path: polygon(0% 0%, 40% 0%, 0% 100%, 0% 100%);
  transition: 1.5s var(--cubic);
}
.anime.clip-L.active {
  opacity: 1;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}
.anime.clip-R {
  clip-path: inset(0 0 0 100%);
  transition: 1.5s var(--cubic);
}
.anime.clip-R.active {
  opacity: 1;
  clip-path: inset(0 0 0 0);
}
.anime.zoom-in {
  transform: scale(1.2);
  transition: 3s var(--cubic);
}
.anime.zoom-in.active {
  opacity: 1;
  transform: scale(1);
}
.anime.img-zoom {
  overflow: hidden;
  transition: 1.5s var(--cubic);
}
.anime.img-zoom img {
  transform: scale(1.2);
  transition: 3s var(--cubic);
}
.anime.img-zoom.active {
  opacity: 1;
}
.anime.img-zoom.active img {
  transform: scale(1);
}
.anime.para {
  opacity: 1;
}
.anime .anime.text-char-fade {
  opacity: 1; /* 親要素は表示しておく */
}
.anime .anime.text-char-fade .char {
  display: inline-block;
  opacity: 0;
  transition: opacity 0.8s var(--cubic);
}
.anime .anime.text-char-fade.active .char {
  opacity: 1;
}

.u-blk {
  display: block;
}

.u-inblk {
  display: inline-block;
}

.u-inlin {
  display: inline;
}

/* ------------------------------------------------------------
    txt align
------------------------------------------------------------ */
.u-txt_center {
  text-align: center;
}

.u-txt_left {
  text-align: left;
}

.u-txt_right {
  text-align: right;
}

/* ------------------------------------------------------------
    txt letter-spacing
------------------------------------------------------------ */
.u-txt_space30 {
  letter-spacing: 0.3em;
}

.u-txt_space10 {
  letter-spacing: 0.1em;
}

.u-txt_space5 {
  letter-spacing: 0.05em;
}

.u-txt_space0 {
  letter-spacing: 0;
}

.u-txt_space-2 {
  letter-spacing: -0.02em;
}

.u-txt_space-5 {
  letter-spacing: -0.05em;
}

/* ------------------------------------------------------------
    text size
------------------------------------------------------------ */
.u-f20 {
  font-size: 20px;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-f20 {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f20 {
    font-size: 1.8rem;
  }
}

.u-f18 {
  font-size: 18px;
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .u-f18 {
    font-size: 16px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f18 {
    font-size: 1.6rem;
  }
}

.u-f16 {
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-f16 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f16 {
    font-size: 1.4rem;
  }
}

.u-f16 {
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .u-f16 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f16 {
    font-size: 1.4rem;
  }
}

.u-f14 {
  font-size: 14px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .u-f14 {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f14 {
    font-size: 1.2rem;
  }
}

.u-f12 {
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .u-f12 {
    font-size: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f12 {
    font-size: 1rem;
  }
}

.u-f11 {
  font-size: 11px;
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .u-f11 {
    font-size: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f11 {
    font-size: 1rem;
  }
}

.u-f10 {
  font-size: 10px;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-f10 {
    font-size: 10px;
  }
}
@media only screen and (max-width: 767px) {
  .u-f10 {
    font-size: 1rem;
  }
}

/* ------------------------------------------------------------
    font family
------------------------------------------------------------ */
.u-ft_ja {
  font-family: "A1明朝", "A1 Mincho", "Noto Serif", serif;
}

.u-ft_en {
  font-family: "EB Garamond", serif;
}

.u-ft_enTtl {
  font-family: "Cinzel", "EB Garamond", serif;
}

/* ------------------------------------------------------------
    margin top, margin bottom
------------------------------------------------------------ */
.u-mt-0 {
  margin-top: 0rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-0--sp {
    margin-top: 0rem !important;
  }
}

.u-mb-0 {
  margin-bottom: 0rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-0--sp {
    margin-bottom: 0rem !important;
  }
}

.u-ml-0 {
  margin-left: 0rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-0--sp {
    margin-left: 0rem !important;
  }
}

.u-mr-0 {
  margin-right: 0rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-0--sp {
    margin-right: 0rem !important;
  }
}

.u-pt-0 {
  padding-top: 0rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-0--sp {
    padding-top: 0rem !important;
  }
}

.u-pb-0 {
  padding-bottom: 0rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-0--sp {
    padding-bottom: 0rem !important;
  }
}

.u-mt-5 {
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-5--sp {
    margin-top: 0.5rem !important;
  }
}

.u-mb-5 {
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-5--sp {
    margin-bottom: 0.5rem !important;
  }
}

.u-ml-5 {
  margin-left: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-5--sp {
    margin-left: 0.5rem !important;
  }
}

.u-mr-5 {
  margin-right: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-5--sp {
    margin-right: 0.5rem !important;
  }
}

.u-pt-5 {
  padding-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-5--sp {
    padding-top: 0.5rem !important;
  }
}

.u-pb-5 {
  padding-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-5--sp {
    padding-bottom: 0.5rem !important;
  }
}

.u-mt-10 {
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-10--sp {
    margin-top: 1rem !important;
  }
}

.u-mb-10 {
  margin-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-10--sp {
    margin-bottom: 1rem !important;
  }
}

.u-ml-10 {
  margin-left: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-10--sp {
    margin-left: 1rem !important;
  }
}

.u-mr-10 {
  margin-right: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-10--sp {
    margin-right: 1rem !important;
  }
}

.u-pt-10 {
  padding-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-10--sp {
    padding-top: 1rem !important;
  }
}

.u-pb-10 {
  padding-bottom: 1rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-10--sp {
    padding-bottom: 1rem !important;
  }
}

.u-mt-15 {
  margin-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-15--sp {
    margin-top: 1.5rem !important;
  }
}

.u-mb-15 {
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-15--sp {
    margin-bottom: 1.5rem !important;
  }
}

.u-ml-15 {
  margin-left: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-15--sp {
    margin-left: 1.5rem !important;
  }
}

.u-mr-15 {
  margin-right: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-15--sp {
    margin-right: 1.5rem !important;
  }
}

.u-pt-15 {
  padding-top: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-15--sp {
    padding-top: 1.5rem !important;
  }
}

.u-pb-15 {
  padding-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-15--sp {
    padding-bottom: 1.5rem !important;
  }
}

.u-mt-20 {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-20--sp {
    margin-top: 2rem !important;
  }
}

.u-mb-20 {
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-20--sp {
    margin-bottom: 2rem !important;
  }
}

.u-ml-20 {
  margin-left: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-20--sp {
    margin-left: 2rem !important;
  }
}

.u-mr-20 {
  margin-right: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-20--sp {
    margin-right: 2rem !important;
  }
}

.u-pt-20 {
  padding-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-20--sp {
    padding-top: 2rem !important;
  }
}

.u-pb-20 {
  padding-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-20--sp {
    padding-bottom: 2rem !important;
  }
}

.u-mt-25 {
  margin-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-25--sp {
    margin-top: 2.5rem !important;
  }
}

.u-mb-25 {
  margin-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-25--sp {
    margin-bottom: 2.5rem !important;
  }
}

.u-ml-25 {
  margin-left: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-25--sp {
    margin-left: 2.5rem !important;
  }
}

.u-mr-25 {
  margin-right: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-25--sp {
    margin-right: 2.5rem !important;
  }
}

.u-pt-25 {
  padding-top: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-25--sp {
    padding-top: 2.5rem !important;
  }
}

.u-pb-25 {
  padding-bottom: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-25--sp {
    padding-bottom: 2.5rem !important;
  }
}

.u-mt-30 {
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-30--sp {
    margin-top: 3rem !important;
  }
}

.u-mb-30 {
  margin-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-30--sp {
    margin-bottom: 3rem !important;
  }
}

.u-ml-30 {
  margin-left: 3rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-30--sp {
    margin-left: 3rem !important;
  }
}

.u-mr-30 {
  margin-right: 3rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-30--sp {
    margin-right: 3rem !important;
  }
}

.u-pt-30 {
  padding-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-30--sp {
    padding-top: 3rem !important;
  }
}

.u-pb-30 {
  padding-bottom: 3rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-30--sp {
    padding-bottom: 3rem !important;
  }
}

.u-mt-35 {
  margin-top: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-35--sp {
    margin-top: 3.5rem !important;
  }
}

.u-mb-35 {
  margin-bottom: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-35--sp {
    margin-bottom: 3.5rem !important;
  }
}

.u-ml-35 {
  margin-left: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-35--sp {
    margin-left: 3.5rem !important;
  }
}

.u-mr-35 {
  margin-right: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-35--sp {
    margin-right: 3.5rem !important;
  }
}

.u-pt-35 {
  padding-top: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-35--sp {
    padding-top: 3.5rem !important;
  }
}

.u-pb-35 {
  padding-bottom: 3.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-35--sp {
    padding-bottom: 3.5rem !important;
  }
}

.u-mt-40 {
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-40--sp {
    margin-top: 4rem !important;
  }
}

.u-mb-40 {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-40--sp {
    margin-bottom: 4rem !important;
  }
}

.u-ml-40 {
  margin-left: 4rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-40--sp {
    margin-left: 4rem !important;
  }
}

.u-mr-40 {
  margin-right: 4rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-40--sp {
    margin-right: 4rem !important;
  }
}

.u-pt-40 {
  padding-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-40--sp {
    padding-top: 4rem !important;
  }
}

.u-pb-40 {
  padding-bottom: 4rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-40--sp {
    padding-bottom: 4rem !important;
  }
}

.u-mt-45 {
  margin-top: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-45--sp {
    margin-top: 4.5rem !important;
  }
}

.u-mb-45 {
  margin-bottom: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-45--sp {
    margin-bottom: 4.5rem !important;
  }
}

.u-ml-45 {
  margin-left: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-45--sp {
    margin-left: 4.5rem !important;
  }
}

.u-mr-45 {
  margin-right: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-45--sp {
    margin-right: 4.5rem !important;
  }
}

.u-pt-45 {
  padding-top: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-45--sp {
    padding-top: 4.5rem !important;
  }
}

.u-pb-45 {
  padding-bottom: 4.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-45--sp {
    padding-bottom: 4.5rem !important;
  }
}

.u-mt-50 {
  margin-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-50--sp {
    margin-top: 5rem !important;
  }
}

.u-mb-50 {
  margin-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-50--sp {
    margin-bottom: 5rem !important;
  }
}

.u-ml-50 {
  margin-left: 5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-50--sp {
    margin-left: 5rem !important;
  }
}

.u-mr-50 {
  margin-right: 5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-50--sp {
    margin-right: 5rem !important;
  }
}

.u-pt-50 {
  padding-top: 5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-50--sp {
    padding-top: 5rem !important;
  }
}

.u-pb-50 {
  padding-bottom: 5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-50--sp {
    padding-bottom: 5rem !important;
  }
}

.u-mt-55 {
  margin-top: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-55--sp {
    margin-top: 5.5rem !important;
  }
}

.u-mb-55 {
  margin-bottom: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-55--sp {
    margin-bottom: 5.5rem !important;
  }
}

.u-ml-55 {
  margin-left: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-55--sp {
    margin-left: 5.5rem !important;
  }
}

.u-mr-55 {
  margin-right: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-55--sp {
    margin-right: 5.5rem !important;
  }
}

.u-pt-55 {
  padding-top: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-55--sp {
    padding-top: 5.5rem !important;
  }
}

.u-pb-55 {
  padding-bottom: 5.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-55--sp {
    padding-bottom: 5.5rem !important;
  }
}

.u-mt-60 {
  margin-top: 6rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-60--sp {
    margin-top: 6rem !important;
  }
}

.u-mb-60 {
  margin-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-60--sp {
    margin-bottom: 6rem !important;
  }
}

.u-ml-60 {
  margin-left: 6rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-60--sp {
    margin-left: 6rem !important;
  }
}

.u-mr-60 {
  margin-right: 6rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-60--sp {
    margin-right: 6rem !important;
  }
}

.u-pt-60 {
  padding-top: 6rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-60--sp {
    padding-top: 6rem !important;
  }
}

.u-pb-60 {
  padding-bottom: 6rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-60--sp {
    padding-bottom: 6rem !important;
  }
}

.u-mt-65 {
  margin-top: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-65--sp {
    margin-top: 6.5rem !important;
  }
}

.u-mb-65 {
  margin-bottom: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-65--sp {
    margin-bottom: 6.5rem !important;
  }
}

.u-ml-65 {
  margin-left: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-65--sp {
    margin-left: 6.5rem !important;
  }
}

.u-mr-65 {
  margin-right: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-65--sp {
    margin-right: 6.5rem !important;
  }
}

.u-pt-65 {
  padding-top: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-65--sp {
    padding-top: 6.5rem !important;
  }
}

.u-pb-65 {
  padding-bottom: 6.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-65--sp {
    padding-bottom: 6.5rem !important;
  }
}

.u-mt-70 {
  margin-top: 7rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-70--sp {
    margin-top: 7rem !important;
  }
}

.u-mb-70 {
  margin-bottom: 7rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-70--sp {
    margin-bottom: 7rem !important;
  }
}

.u-ml-70 {
  margin-left: 7rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-70--sp {
    margin-left: 7rem !important;
  }
}

.u-mr-70 {
  margin-right: 7rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-70--sp {
    margin-right: 7rem !important;
  }
}

.u-pt-70 {
  padding-top: 7rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-70--sp {
    padding-top: 7rem !important;
  }
}

.u-pb-70 {
  padding-bottom: 7rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-70--sp {
    padding-bottom: 7rem !important;
  }
}

.u-mt-75 {
  margin-top: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-75--sp {
    margin-top: 7.5rem !important;
  }
}

.u-mb-75 {
  margin-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-75--sp {
    margin-bottom: 7.5rem !important;
  }
}

.u-ml-75 {
  margin-left: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-75--sp {
    margin-left: 7.5rem !important;
  }
}

.u-mr-75 {
  margin-right: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-75--sp {
    margin-right: 7.5rem !important;
  }
}

.u-pt-75 {
  padding-top: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-75--sp {
    padding-top: 7.5rem !important;
  }
}

.u-pb-75 {
  padding-bottom: 7.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-75--sp {
    padding-bottom: 7.5rem !important;
  }
}

.u-mt-80 {
  margin-top: 8rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-80--sp {
    margin-top: 8rem !important;
  }
}

.u-mb-80 {
  margin-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-80--sp {
    margin-bottom: 8rem !important;
  }
}

.u-ml-80 {
  margin-left: 8rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-80--sp {
    margin-left: 8rem !important;
  }
}

.u-mr-80 {
  margin-right: 8rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-80--sp {
    margin-right: 8rem !important;
  }
}

.u-pt-80 {
  padding-top: 8rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-80--sp {
    padding-top: 8rem !important;
  }
}

.u-pb-80 {
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-80--sp {
    padding-bottom: 8rem !important;
  }
}

.u-mt-85 {
  margin-top: 8.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-85--sp {
    margin-top: 8.5rem !important;
  }
}

.u-mb-85 {
  margin-bottom: 8.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-85--sp {
    margin-bottom: 8.5rem !important;
  }
}

.u-ml-85 {
  margin-left: 8.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-85--sp {
    margin-left: 8.5rem !important;
  }
}

.u-mr-85 {
  margin-right: 8.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-85--sp {
    margin-right: 8.5rem !important;
  }
}

.u-pt-85 {
  padding-top: 8.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-85--sp {
    padding-top: 8.5rem !important;
  }
}

.u-pb-85 {
  padding-bottom: 8.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-85--sp {
    padding-bottom: 8.5rem !important;
  }
}

.u-mt-90 {
  margin-top: 9rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-90--sp {
    margin-top: 9rem !important;
  }
}

.u-mb-90 {
  margin-bottom: 9rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-90--sp {
    margin-bottom: 9rem !important;
  }
}

.u-ml-90 {
  margin-left: 9rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-90--sp {
    margin-left: 9rem !important;
  }
}

.u-mr-90 {
  margin-right: 9rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-90--sp {
    margin-right: 9rem !important;
  }
}

.u-pt-90 {
  padding-top: 9rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-90--sp {
    padding-top: 9rem !important;
  }
}

.u-pb-90 {
  padding-bottom: 9rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-90--sp {
    padding-bottom: 9rem !important;
  }
}

.u-mt-95 {
  margin-top: 9.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-95--sp {
    margin-top: 9.5rem !important;
  }
}

.u-mb-95 {
  margin-bottom: 9.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-95--sp {
    margin-bottom: 9.5rem !important;
  }
}

.u-ml-95 {
  margin-left: 9.5rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-95--sp {
    margin-left: 9.5rem !important;
  }
}

.u-mr-95 {
  margin-right: 9.5rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-95--sp {
    margin-right: 9.5rem !important;
  }
}

.u-pt-95 {
  padding-top: 9.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-95--sp {
    padding-top: 9.5rem !important;
  }
}

.u-pb-95 {
  padding-bottom: 9.5rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-95--sp {
    padding-bottom: 9.5rem !important;
  }
}

.u-mt-100 {
  margin-top: 10rem;
}
@media only screen and (max-width: 767px) {
  .u-mt-100--sp {
    margin-top: 10rem !important;
  }
}

.u-mb-100 {
  margin-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  .u-mb-100--sp {
    margin-bottom: 10rem !important;
  }
}

.u-ml-100 {
  margin-left: 10rem;
}
@media only screen and (max-width: 767px) {
  .u-ml-100--sp {
    margin-left: 10rem !important;
  }
}

.u-mr-100 {
  margin-right: 10rem;
}
@media only screen and (max-width: 767px) {
  .u-mr-100--sp {
    margin-right: 10rem !important;
  }
}

.u-pt-100 {
  padding-top: 10rem;
}
@media only screen and (max-width: 767px) {
  .u-pt-100--sp {
    padding-top: 10rem !important;
  }
}

.u-pb-100 {
  padding-bottom: 10rem;
}
@media only screen and (max-width: 767px) {
  .u-pb-100--sp {
    padding-bottom: 10rem !important;
  }
}

.u-inner-90 {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.u-inner-85 {
  width: 85%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.u-inner-m800 {
  width: 90%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.u-inner-m600 {
  width: 90%;
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
}

.u-w100 {
  width: 100%;
}

/* ------------------------------------------------------------
    background
------------------------------------------------------------ */
.u-bg, .u-bg-L {
  background-image: url(../../images/common/bg-slash.jpg);
  background-repeat: repeat-y;
  background-size: 100% auto;
  padding-block: 1px;
}
@media only screen and (max-width: 767px) {
  .u-bg, .u-bg-L {
    background-image: url(../../images/common/bg-slash-sp.jpg);
  }
}
.u-bg-L {
  background-image: url(../../images/common/bg-slash-L.jpg) !important;
}
@media only screen and (max-width: 767px) {
  .u-bg-L {
    background-size: 100% auto;
    background-image: url(../../images/common/bg-slash-sp.jpg) !important;
  }
}

.u-bg-brown {
  background-image: url(../../images/common/bg-brown-pc.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .u-bg-brown {
    background-image: url(../../images/common/bg-brown-sp.jpg);
  }
}

/* ------------------------------------------------------------
    scroll animation
------------------------------------------------------------ */
.is-anime.scale,
.is-anime-instant.scale,
.is-anime-sequential.scale {
  transform: scale(0.5);
  opacity: 0;
  filter: blur(10px);
  transition: 1.5s cubic-bezier(0.75, 0, 0.44, 0.99);
}
.is-anime.scale.active,
.is-anime-instant.scale.active,
.is-anime-sequential.scale.active {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
}
.is-anime.mask,
.is-anime-instant.mask,
.is-anime-sequential.mask {
  clip-path: inset(0 40% 0 40%);
  transition: 1.5s ease-in-out;
  filter: grayscale(1);
}
.is-anime.mask.active,
.is-anime-instant.mask.active,
.is-anime-sequential.mask.active {
  clip-path: inset(0 0 0 0);
  filter: grayscale(0);
}
.is-anime.mask.slow,
.is-anime-instant.mask.slow,
.is-anime-sequential.mask.slow {
  transition: 1.5s ease-in-out;
}
.is-anime.fade,
.is-anime-instant.fade,
.is-anime-sequential.fade {
  filter: blur(30px);
  opacity: 0;
  transition: 1.5s ease-in-out;
}
.is-anime.fade.active,
.is-anime-instant.fade.active,
.is-anime-sequential.fade.active {
  opacity: 1;
  filter: blur(0);
}
.is-anime.scaleclip,
.is-anime-instant.scaleclip,
.is-anime-sequential.scaleclip {
  transform: scale(1.2);
  clip-path: inset(15%);
  transition: transform 1.5s ease, clip-path 1.5s ease, opacity 1.5s ease;
}
.is-anime.scaleclip.active,
.is-anime-instant.scaleclip.active,
.is-anime-sequential.scaleclip.active {
  transform: scale(1);
  clip-path: inset(0%);
}
.is-anime.slide-up,
.is-anime-instant.slide-up,
.is-anime-sequential.slide-up {
  transform: translateY(100%);
  transition: transform 1s ease, opacity 1s ease;
  opacity: 0;
}
.is-anime.slide-up.active,
.is-anime-instant.slide-up.active,
.is-anime-sequential.slide-up.active {
  transform: translateY(0);
  opacity: 1;
}
.is-anime.fade-up,
.is-anime-instant.fade-up,
.is-anime-sequential.fade-up {
  filter: blur(6px);
  opacity: 0;
  transform: translateY(1.1em);
  transition: opacity 2.2s, filter 2.2s cubic-bezier(0.19, 1, 0.22, 1), transform 2.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.is-anime.fade-up.active,
.is-anime-instant.fade-up.active,
.is-anime-sequential.fade-up.active {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
.is-anime.fade-down,
.is-anime-instant.fade-down,
.is-anime-sequential.fade-down {
  filter: blur(6px);
  opacity: 0;
  transform: translateY(-1.1em);
  transition: opacity 2.2s, filter 2.2s cubic-bezier(0.19, 1, 0.22, 1), transform 2.2s cubic-bezier(0.19, 1, 0.22, 1);
}
.is-anime.fade-down.active,
.is-anime-instant.fade-down.active,
.is-anime-sequential.fade-down.active {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
.is-anime.line,
.is-anime-instant.line,
.is-anime-sequential.line {
  display: block;
}

/* ==========================================================
 swipe icon
========================================================== */
.u-swipeIcon {
  display: none;
}
@media only screen and (max-width: 767px) {
  .u-swipeIcon {
    display: block;
    position: absolute;
    top: calc(50% - 5rem);
    left: calc(50vw - 5rem);
    width: 10rem;
    height: 10rem;
    background-size: cover;
    background-position: center;
    background-image: url("data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20400%20400%22%20style%3D%22enable-background%3Anew%200%200%20400%20400%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cstyle%20type%3D%22text%2Fcss%22%3E%20.st0%7Bfill%3A%23757474%3Bfill-opacity%3A0.8%3B%7D%20.st1%7Bfill%3A%23333333%3B%7D%20.st2%7Bfill%3Anone%3Bstroke%3A%23333333%3Bstroke-width%3A10.4097%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%7D%20.st3%7Bfill%3Anone%3Bstroke%3A%23333333%3Bstroke-width%3A10.2492%3Bstroke-linecap%3Around%3Bstroke-miterlimit%3A10%3B%7D%20.st4%7Bfill%3A%23FFFFFF%3B%7D%3C%2Fstyle%3E%3Cpath%20class%3D%22st0%22%20d%3D%22M356.6%2C368.6H43.4c-6.6%2C0-12-5.4-12-12V43.4c0-6.6%2C5.4-12%2C12-12h313.2c6.6%2C0%2C12%2C5.4%2C12%2C12v313.2%20C368.6%2C363.2%2C363.2%2C368.6%2C356.6%2C368.6z%22%2F%3E%3Cg%3E%20%3Cpath%20class%3D%22st1%22%20d%3D%22M180.4%2C204c0-23.7%2C0-46.6%2C0-69.7c0-10%2C5.5-17.5%2C14.3-19.8c12.7-3.4%2C24.7%2C5.8%2C25%2C19.3c0.2%2C7.1%2C0%2C14.2%2C0%2C21.4%20c0%2C1.4%2C0%2C2.8%2C0%2C4.4c10.1-2.6%2C18.1-0.3%2C23.9%2C7.9c13.3-5.8%2C26.2-0.7%2C29.9%2C14.6c3.1-0.3%2C6.1-1%2C9.1-0.8c11.3%2C1%2C18.4%2C8.9%2C18.4%2C20.6%20c0.1%2C16.2-0.9%2C32.5%2C0.3%2C48.6c1%2C14.6-2%2C27.2-12.2%2C37.7c-3.9%2C4.1-4.9%2C8.9-4.6%2C14.4c0.3%2C6.1%2C0.1%2C12.2%2C0.1%2C18.4c0%2C5-2.2%2C7.3-7.3%2C7.4%20c-26%2C0.1-52%2C0.1-78%2C0c-4.8%2C0-7-2.4-7.1-7.2c-0.1-7.7%2C0.1-15.4-0.1-23c-0.1-2.3-0.8-4.8-2-6.7c-13.6-21.4-27.2-42.5-41-63.7%20c-6.1-9.6-5.1-20.3%2C2.8-26.8c8.1-6.7%2C18.4-5.9%2C26.8%2C2.1C179.1%2C203.2%2C179.4%2C203.4%2C180.4%2C204z%20M272.2%2C315.7c0-7.2-0.3-14%2C0.1-20.8%20c0.2-2.6%2C1-5.6%2C2.5-7.9c3.9-6.1%2C8.4-11.9%2C12.5-17.9c0.9-1.2%2C1.5-2.8%2C1.5-4.2c0.1-21.2%2C0.1-42.4%2C0-63.5c0-5.1-3.2-8-7.9-7.9%20c-4.6%2C0.1-7.3%2C3-7.4%2C8c-0.1%2C4.7%2C0.1%2C9.4-0.1%2C14.1c-0.1%2C4.4-3.2%2C7.1-7.1%2C6.4c-3.9-0.8-5.1-3.6-5.1-7.2c0-9.4%2C0-18.8%2C0-28.1%20c0-6.2-2.6-9.4-7.4-9.3c-4.8%2C0.1-7.2%2C3.2-7.3%2C9.6c0%2C6.2%2C0.1%2C12.5%2C0%2C18.8c-0.1%2C4.6-2.6%2C7.6-6.3%2C7.4c-3.6-0.2-5.8-3-5.8-7.4%20c0-9%2C0-17.9%2C0-26.8c0-4.9-3.2-8.2-7.3-8.2c-4.4%2C0-7.2%2C3.2-7.2%2C8.2c-0.1%2C8.6%2C0%2C17.3%2C0%2C26c0%2C5.1-2.2%2C8.1-6.1%2C8.3%20c-3.9%2C0.2-6.4-3-6.5-8.3c0-12%2C0-24.2%2C0-36.2c0-11.5%2C0.1-23.1%2C0-34.5c0-5.4-3.3-8.5-8.3-7.9c-4.1%2C0.5-6.3%2C3.7-6.3%2C9.1%20c0%2C29.6%2C0%2C59.1%2C0%2C88.7c0%2C3.7-0.8%2C6.6-4.5%2C7.7c-3.7%2C1-5.8-1.2-7.6-4c-3.3-5.1-6.6-10.2-10.2-15.2c-1.1-1.5-3.3-3.4-5-3.3%20c-2.4%2C0.1-5.2%2C1.3-6.8%2C3.1c-2.1%2C2.4-1.2%2C5.5%2C0.6%2C8.2c14.3%2C22%2C28.6%2C44%2C42.7%2C66.2c1.5%2C2.5%2C2.4%2C5.7%2C2.6%2C8.6c0.3%2C6.7%2C0.1%2C13.5%2C0.1%2C20.3%20C227.2%2C315.7%2C249.3%2C315.7%2C272.2%2C315.7z%22%2F%3E%20%3Cg%3E%20%3Cline%20class%3D%22st2%22%20x1%3D%2291.7%22%20y1%3D%22133.3%22%20x2%3D%22138.9%22%20y2%3D%22133.3%22%2F%3E%20%3Cline%20class%3D%22st2%22%20x1%3D%2291.7%22%20y1%3D%22134.1%22%20x2%3D%22107.5%22%20y2%3D%22149.9%22%2F%3E%20%3Cline%20class%3D%22st2%22%20x1%3D%2292.3%22%20y1%3D%22132.4%22%20x2%3D%22108.1%22%20y2%3D%22116.6%22%2F%3E%20%3C%2Fg%3E%20%3Cg%3E%20%3Cline%20class%3D%22st2%22%20x1%3D%22308.3%22%20y1%3D%22133.3%22%20x2%3D%22261.1%22%20y2%3D%22133.3%22%2F%3E%20%3Cline%20class%3D%22st2%22%20x1%3D%22308.3%22%20y1%3D%22132.4%22%20x2%3D%22292.5%22%20y2%3D%22116.6%22%2F%3E%20%3Cline%20class%3D%22st2%22%20x1%3D%22307.7%22%20y1%3D%22134.1%22%20x2%3D%22291.9%22%20y2%3D%22149.9%22%2F%3E%20%3C%2Fg%3E%20%3Cpath%20class%3D%22st3%22%20d%3D%22M170.3%2C164.4c-7.6-7.6-12.3-18.1-12.3-29.7s4.7-22.1%2C12.3-29.7c7.6-7.6%2C18.1-12.3%2C29.7-12.3%20s22.1%2C4.7%2C29.7%2C12.3c7.6%2C7.6%2C12.3%2C18.1%2C12.3%2C29.7s-4.7%2C22.1-12.3%2C29.7%22%2F%3E%20%3Cpath%20class%3D%22st4%22%20d%3D%22M272.2%2C315.7c0-7.2-0.3-14%2C0.1-20.8c0.2-2.6%2C1-5.6%2C2.5-7.9c3.9-6.1%2C8.4-11.9%2C12.5-17.9%20c0.9-1.2%2C1.5-2.8%2C1.5-4.2c0.1-21.2%2C0.1-42.4%2C0-63.5c0-5.1-3.2-8-7.9-7.9c-4.6%2C0.1-7.3%2C3-7.4%2C8c-0.1%2C4.7%2C0.1%2C9.4-0.1%2C14.1%20c-0.1%2C4.4-3.2%2C7.1-7.1%2C6.4c-3.9-0.8-5.1-3.6-5.1-7.2c0-9.4%2C0-18.8%2C0-28.1c0-6.2-2.6-9.4-7.4-9.3c-4.8%2C0.1-7.2%2C3.2-7.3%2C9.6%20c0%2C6.2%2C0.1%2C12.5%2C0%2C18.8c-0.1%2C4.6-2.6%2C7.6-6.3%2C7.4c-3.6-0.2-5.8-3-5.8-7.4c0-9%2C0-17.9%2C0-26.8c0-4.9-3.2-8.2-7.3-8.2%20c-4.4%2C0-7.2%2C3.2-7.2%2C8.2c-0.1%2C8.6%2C0%2C17.3%2C0%2C26c0%2C5.1-2.2%2C8.1-6.1%2C8.3c-3.9%2C0.2-6.4-3-6.5-8.3c0-12%2C0-24.2%2C0-36.2%20c0-11.5%2C0.1-23.1%2C0-34.5c0-5.4-3.3-8.5-8.3-7.9c-4.1%2C0.5-6.3%2C3.7-6.3%2C9.1c0%2C29.6%2C0%2C59.1%2C0%2C88.7c0%2C3.7-0.8%2C6.6-4.5%2C7.7%20c-3.7%2C1-5.8-1.2-7.6-4c-3.3-5.1-6.6-10.2-10.2-15.2c-1.1-1.5-3.3-3.4-5-3.3c-2.4%2C0.1-5.2%2C1.3-6.8%2C3.1c-2.1%2C2.4-1.2%2C5.5%2C0.6%2C8.2%20c14.3%2C22%2C28.6%2C44%2C42.7%2C66.2c1.5%2C2.5%2C2.4%2C5.7%2C2.6%2C8.6c0.3%2C6.7%2C0.1%2C13.5%2C0.1%2C20.3C227.2%2C315.7%2C249.3%2C315.7%2C272.2%2C315.7z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");
    z-index: 1;
  }
}

.u-order-1-pc {
  order: 1;
}
@media only screen and (max-width: 767px) {
  .u-order-1-pc {
    order: unset;
  }
}
.u-order-2-pc {
  order: 2;
}
@media only screen and (max-width: 767px) {
  .u-order-2-pc {
    order: unset;
  }
}
.u-order-3-pc {
  order: 3;
}
@media only screen and (max-width: 767px) {
  .u-order-3-pc {
    order: unset;
  }
}

/* ==========================================================
 矢印
========================================================== */
.u-arw-round {
  width: 1em;
  height: 1em;
  position: relative;
  display: inline-block;
  vertical-align: middle;
  z-index: 5;
  transition: 0.3;
}
.u-arw-round::before, .u-arw-round::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
  transition: 0.3;
}
.u-arw-round::before {
  box-sizing: border-box;
  width: 1.5em;
  height: 1.5em;
  border: 1px solid currentColor;
  border-radius: 50%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3;
}
.u-arw-round::after {
  top: -1em;
  left: 0.2em;
  width: 0.5em;
  height: 0.5em;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  transform: rotate(45deg);
  transition: 0.3;
}

/* ==========================================================
 swipe icon
========================================================== */
.u-swipeIcon {
  display: none;
  position: absolute;
  top: calc(50% - 5rem);
  left: calc(50vw - 7.5rem);
  width: 15rem;
  height: 15rem;
  animation: floating-X 1.2s ease-in-out infinite alternate-reverse;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  background-image: url("../../images/common/i_scroll_beside.svg");
  z-index: 1;
}
@keyframes floating-X {
  0% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(10%);
  }
}
.u-swipeIcon--design {
  display: block;
  left: 50%;
}
@media only screen and (max-width: 767px) {
  .u-swipeIcon--design {
    left: calc(50vw - 4.5rem);
  }
}
@media only screen and (max-width: 767px) {
  .u-swipeIcon {
    display: block;
    background-image: url("../../images/common/i_scroll_beside.svg");
  }
}

.u-dummy {
  position: relative;
}
.u-dummy::after {
  border: #333 solid 1px;
  background: rgba(255, 255, 255, 0.8);
  font-size: 2rem;
  padding: 2rem;
  text-align: center;
  content: "この要素はダミーです。";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ------------------------------------------------------------
    display
------------------------------------------------------------ */
.u-pc {
  display: block !important;
}
@media only screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

.u-pc-md {
  display: block;
}
@media only screen and (max-width: 1080px) {
  .u-pc-md {
    display: none;
  }
}

.u-sp {
  display: none !important;
}
@media only screen and (max-width: 767px) {
  .u-sp {
    display: block !important;
  }
}

.u-md {
  display: none;
}
@media only screen and (max-width: 1080px) {
  .u-md {
    display: block;
  }
}

.u-pci {
  display: inline-block;
}
@media only screen and (max-width: 767px) {
  .u-pci {
    display: none;
  }
}

.u-spi {
  display: none;
}
@media only screen and (max-width: 767px) {
  .u-spi {
    display: inline-block;
  }
}

.header {
  position: relative;
  width: 100%;
  letter-spacing: 0em;
  z-index: 600;
}
.header .logo-bukkenLogo {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 160px;
}
@media only screen and (max-width: 767px) {
  .header .logo-bukkenLogo {
    top: 25px;
    left: 20px;
    width: 102px;
  }
}
.header .logo-bukkenLogo__txt, .header .logo-bukkenLogo__txt-bk {
  text-align: center;
  letter-spacing: 0.6em;
  color: #fff;
  margin-top: 0.85em;
  font-size: 14px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .header .logo-bukkenLogo__txt, .header .logo-bukkenLogo__txt-bk {
    font-size: 13px;
  }
}
@media only screen and (max-width: 767px) {
  .header .logo-bukkenLogo__txt, .header .logo-bukkenLogo__txt-bk {
    font-size: 1.3rem;
  }
}
.header .logo-bukkenLogo__txt-bk {
  color: #252525;
}
.header .logo .logo-bukkenLogo {
  position: fixed;
}
.header .mContent {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 300;
  visibility: hidden;
  pointer-events: none;
}
.header .mContent .menu__close,
.header .mContent .menu__inner {
  opacity: 0;
  visibility: hidden;
  transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
}
.header .mContent .menu__bg {
  position: absolute;
  left: 0;
  bottom: -100%;
  width: 100%;
  height: 100%;
  background: #F4F4F4;
  opacity: 0;
  transition: 0.6s;
  transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
}
.header .mContent.is-visible {
  visibility: visible;
  pointer-events: auto;
}
.header .mContent.is-visible .menu__close,
.header .mContent.is-visible .menu__inner {
  opacity: 1;
  visibility: visible;
  transition: 0.3s 0.24s;
}
.header .mContent.is-visible .menu__bg {
  opacity: 1;
  transform: translate(0, 0);
  transition: 0.2s;
  bottom: 0;
}
.header .mContent.contentMenu .menu__bg, .header .mContent.infoMenu .menu__bg {
  top: -100%;
  bottom: auto;
}
@media only screen and (max-width: 767px) {
  .header .mContent.contentMenu .menu__bg, .header .mContent.infoMenu .menu__bg {
    top: auto;
    bottom: -100%;
  }
}
.header .mContent.contentMenu.is-visible .menu__bg, .header .mContent.infoMenu.is-visible .menu__bg {
  top: 0;
  bottom: auto;
}
@media only screen and (max-width: 767px) {
  .header .mContent.contentMenu.is-visible .menu__bg, .header .mContent.infoMenu.is-visible .menu__bg {
    top: auto;
    bottom: 0;
  }
}
.header .menu__close {
  position: fixed;
  top: 35px;
  right: 35px;
  z-index: 500;
}
@media only screen and (max-width: 767px) {
  .header .menu__close {
    top: 25px;
    right: 20px;
  }
}
.header .menu__close .menu__close-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.header .menu__close .menu__close-btn .iconBox {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
}
@media only screen and (max-width: 767px) {
  .header .menu__close .menu__close-btn .iconBox {
    width: 32px;
    height: 32px;
  }
}
.header .menu__close .menu__close-btn .iconBox img {
  width: 12px;
  height: 12px;
}
.header .menu__inner {
  position: relative;
  overflow: scroll;
  width: 100%;
  height: 100%;
}
.header .menu-contentArea {
  color: #252525;
  padding: 150px 0 60px;
  min-height: 520px;
}
@media only screen and (max-width: 767px) {
  .header .menu-contentArea {
    padding: 130px 0 40px;
  }
}
.header .menu-contentArea a {
  transition: all 0.3s;
}
.header .menu-contentArea a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 767px) {
  .header .menu-contentArea a {
    transition: none;
  }
  .header .menu-contentArea a:hover {
    opacity: 1;
  }
}
.header .menu-btnArea {
  margin-top: 60px;
}
.header .menu-btnArea__item {
  flex-basis: 47.4%;
  margin: 4px;
}
.header .menu-btnArea__item.full {
  flex-basis: 100%;
}
.header .menu-btnArea__item p {
  margin-bottom: 20px;
}
.header .menu-ftInfoArea {
  background: #252525;
  color: #fff;
  padding: 50px 0 60px;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea {
    padding: 40px 0 50px;
    text-align: center;
  }
}
.header .menu-ftInfoArea .contact {
  line-height: 1.6;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact {
    flex-direction: column;
  }
}
.header .menu-ftInfoArea .name {
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .name {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .name {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .name {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .header .menu-ftInfoArea .name {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .header .menu-ftInfoArea .name {
    font-size: 1.4rem;
  }
}
.header .menu-ftInfoArea .contact_info {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-top: 20px;
}
.header .menu-ftInfoArea .contact_info .tel {
  flex-basis: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.header .menu-ftInfoArea .contact_info .tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", serif;
  color: #252525;
  background-color: #fff;
  height: 50px;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .tel a {
    font-size: 30px;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .tel a {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .tel a {
    width: -moz-fit-content;
    width: fit-content;
    height: auto;
    padding: 0.5rem 1rem;
  }
}
.header .menu-ftInfoArea .contact_info .tel a img {
  width: 40px;
  margin-right: 7px;
  margin-top: -4px;
  filter: invert(82%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(106%) contrast(101%);
  vertical-align: baseline;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .tel a img {
    height: 1.3em;
    width: 40px;
    margin-top: 1px;
  }
}
.header .menu-ftInfoArea .contact_info .time {
  flex-basis: 50%;
  font-size: 11px;
  font-size: 1.1rem;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    font-size: 10px;
    font-size: 1rem;
    margin-top: 16px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    font-size: 1.4rem;
  }
}
.header .menu-ftInfoArea .contact_info .time .notice {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 0 4px;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info {
    flex-direction: column;
  }
}

/* ------------------------------------------------------------
    headerMenuBtn
------------------------------------------------------------ */
.headerMenuBtn {
  position: fixed;
  width: 106px;
  top: 30px;
  right: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .headerMenuBtn {
    display: none;
  }
}
.headerMenuBtn a {
  position: relative;
  display: flex;
}
.headerMenuBtn a span {
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.headerMenuBtn__info span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.8);
}
.headerMenuBtn__menu {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  padding: 4px;
}
.headerMenuBtn__menu span {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(to right, #C74E95, #7F0274);
  font-size: 1.1rem;
  font-family: "EB Garamond", serif;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  color: #fff;
}
.headerMenuBtn .c-new::after {
  top: 7px;
  right: 7px;
}

/* ------------------------------------------------------------
    infoMenu
------------------------------------------------------------ */
.infoMenu .logo-bukkenLogo__link img, .infoMenu .header .logo-bukkenLogo__link-bk img, .header .infoMenu .logo-bukkenLogo__link-bk img {
  filter: brightness(0);
}
.infoMenu .logo-bukkenLogo__txt, .infoMenu .header .logo-bukkenLogo__txt-bk, .header .infoMenu .logo-bukkenLogo__txt-bk {
  color: #231815 !important;
}
.infoMenu .infoTitle {
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle {
    text-align: left;
    line-height: 1;
  }
}
.infoMenu .infoTitle .infoTitle__01 {
  position: relative;
  color: #B3B3B3;
  font-size: 20px;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle .infoTitle__01 {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle .infoTitle__01 {
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle .infoTitle__01 {
    display: block;
    color: #252525;
  }
}
.infoMenu .infoTitle .infoTitle__01::before {
  content: "";
  width: 1px;
  height: 54px;
  background: #B3B3B3;
  position: absolute;
  top: -54px;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle .infoTitle__01::before {
    display: none;
  }
}
.infoMenu .infoTitle .infoTitle__02 {
  color: #777;
  font-size: 10px;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle .infoTitle__02 {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoTitle .infoTitle__02 {
    font-size: 1.4rem;
  }
}
.infoMenu .infoInnerBox {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  font-size: 1.2rem;
}
.infoMenu .infoInnerBox__entry {
  padding: 3rem;
  border-radius: 5px;
  margin: 5rem auto;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry {
    margin: 0;
  }
}
.header .infoMenu .infoInnerBox__entry {
  width: 100%;
}
.header .infoMenu .infoInnerBox__entry__btns {
  grid-template-columns: 1fr;
  gap: 1rem;
}
.header .infoMenu .infoInnerBox__entry__movie__txt {
  font-family: 2rem;
}
@media only screen and (max-width: 1080px) {
  .header .infoMenu .infoInnerBox__entry__movie__txt {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .infoMenu .infoInnerBox__entry__movie__txt {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry {
    padding: 1.5rem;
  }
}
.infoMenu .infoInnerBox__entry__ttl {
  text-align: center;
  color: #61574d;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6;
  border-bottom: 1px solid #61574d;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__ttl {
    font-size: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__ttl {
    font-size: 2.8rem;
  }
}
.infoMenu .infoInnerBox__entry__lead {
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__lead {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__lead {
    font-size: 1.4rem;
  }
}
.infoMenu .infoInnerBox__entry__lead span {
  display: inline-block;
}
.infoMenu .infoInnerBox__entry__lmtContents {
  padding: 1rem;
  background-color: #fff;
  color: #61574d;
}
.infoMenu .infoInnerBox__entry__lmtContents h5 {
  line-height: 1.2;
  font-size: 1.8rem;
}
.infoMenu .infoInnerBox__entry__col2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__col2 {
    grid-template-columns: 1fr;
  }
}
.infoMenu .infoInnerBox__entry__movie {
  aspect-ratio: 7/5;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__movie {
    aspect-ratio: 4/3;
  }
}
.infoMenu .infoInnerBox__entry__movie img {
  filter: brightness(0.4);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.infoMenu .infoInnerBox__entry__movie__txt {
  position: absolute;
  top: 50%;
  text-align: center;
  width: 100%;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #fff;
  transform: translateY(-50%);
}
.infoMenu .infoInnerBox__entry__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__btns {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__btns {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 1080px) {
  .infoMenu .infoInnerBox__entry__btns {
    gap: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__entry__btns {
    grid-template-columns: 1fr;
  }
}
.infoMenu .infoInnerBox__reserve {
  width: 100%;
  padding: 3rem;
  border-radius: 5px;
  margin: 5rem auto;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__reserve {
    padding: 1.5rem;
    margin: 0;
  }
}
.infoMenu .infoInnerBox__reserve__ttl {
  text-align: center;
  color: #61574d;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6;
  border-bottom: 1px solid #61574d;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__reserve__ttl {
    font-size: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox__reserve__ttl {
    font-size: 2.8rem;
  }
}
.infoMenu .infoInnerBox__reserve__ttl span {
  display: inline-block;
}
.infoMenu .infoInnerBox .infoInner__ttl {
  margin: 30px auto;
  font-size: 25px;
  font-size: 2.5rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox .infoInner__ttl {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox .infoInner__ttl {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox .infoInner__ttl {
    margin: 0 auto 20px;
    font-size: 20px;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .infoMenu .infoInnerBox .infoInner__ttl {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .infoMenu .infoInnerBox .infoInner__ttl {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox .menu-btnArea {
    margin-top: 40px;
  }
}
.infoMenu .menu-bnrArea {
  background: #EBEBEB;
  padding: 50px 0;
}
@media only screen and (max-width: 767px) {
  .infoMenu .menu-bnrArea {
    padding: 40px 0;
  }
}
.infoMenu .menu-bnrArea a {
  flex-basis: 47.4%;
  max-width: 378px;
  text-align: center;
  margin: 4px auto;
}
.infoMenu .menu-bnrArea a.full {
  flex-basis: 100%;
}
.infoMenu .infoNews {
  margin-top: 60px;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews {
    margin-top: 0;
  }
}
.infoMenu .infoNews .newsDetail {
  background: #fff;
  margin-bottom: 4px;
  display: flex;
  align-items: center;
  padding: 10px 20px;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail {
    display: block;
  }
}
.infoMenu .infoNews .newsDetail .newsDetail__term {
  padding-right: 30px;
  font-family: "EB Garamond", serif;
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__term {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__term {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__term {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__term {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__term {
    font-size: 1.4rem;
  }
}
.infoMenu .infoNews .newsDetail .newsDetail__desc {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__desc {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__desc {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__desc {
    font-size: 12px;
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__desc {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .infoMenu .infoNews .newsDetail .newsDetail__desc {
    font-size: 1.4rem;
  }
}
.infoMenu .infoNews .newsDetail .newsDetail__desc a {
  text-decoration: underline;
  color: #252525;
}

/* ------------------------------------------------------------
    contentMenu
------------------------------------------------------------ */
.contentMenu .menu-contentArea {
  padding-bottom: 80px;
}
.contentMenu .contentMenu-pageMenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  line-height: 1;
  letter-spacing: 0.05em;
}
.contentMenu .contentMenu-pageMenu .pageMenubox {
  width: 33.33%;
  max-width: 398px;
  padding: 0 24px;
}
@media only screen and (max-width: 1080px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox {
    padding: 0 2vw;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox {
    width: 100%;
    max-width: 100%;
    padding: 0;
  }
}
.contentMenu .contentMenu-pageMenu .pageMenubox.-top {
  width: 100%;
  max-width: 1200px;
  padding: 0 24px;
}
@media only screen and (max-width: 1080px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox.-top {
    padding: 0 2vw;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox.-top {
    padding: 0;
  }
}
.contentMenu .contentMenu-pageMenu .pageMenubox.-top a {
  width: calc(33.33% - 32px);
  max-width: 350px;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox.-top a {
    width: 100%;
    max-width: 100%;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageLink,
.contentMenu .contentMenu-pageMenu .contentMenu-pageTitle {
  position: relative;
  display: block;
  padding: 18px 8px;
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageLink::after,
.contentMenu .contentMenu-pageMenu .contentMenu-pageTitle::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink::after,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle::after {
    background-image: url(../../images/common/i_arr.svg);
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageLink {
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle::after {
    transition: 0.3s;
    transform: translateY(-50%) rotate(90deg);
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle + .contentMenu-pageMenu__cont {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle.is-active::after {
    transform: translateY(-50%) rotate(-90deg);
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle.is-active + .contentMenu-pageMenu__cont {
    max-height: 300px;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
.contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
.contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
  position: relative;
  color: #252525;
  padding-right: 12px;
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 1080px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 13px;
    font-size: 1.3rem;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 14px;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__ttl,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__ttl {
    font-size: 1.4rem;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageLink__txt,
.contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__txt,
.contentMenu .contentMenu-pageMenu .contentMenu-subLink__txt {
  font-family: "EB Garamond", serif;
  display: block;
  color: #777;
  letter-spacing: 0;
  font-size: 10px;
  font-size: 1rem;
  margin-top: 6px;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__txt,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__txt,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__txt {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageLink__txt,
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle__txt,
  .contentMenu .contentMenu-pageMenu .contentMenu-subLink__txt {
    font-size: 1.4rem;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageList > li:nth-child(even) {
  margin-top: 24px;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageList > li:nth-child(even) {
    margin-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList {
    margin-bottom: 24px;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-subList__item {
  background: #fff;
  margin-bottom: 4px;
  margin-left: 30px;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item {
    margin-left: 10vw;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-subList__item:last-child {
  margin-bottom: 0;
}
.contentMenu .contentMenu-pageMenu .contentMenu-subList__item a {
  display: flex;
  align-items: end;
  background-color: #fff;
  padding: 12px 0px 12px 12px;
}
@media only screen and (max-width: 1080px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item a {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item a {
    display: flex;
    padding: 14px 0px 14px 12px;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-subList__item a .contentMenu-subLink__ttl {
  font-size: 13px;
  font-size: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item a .contentMenu-subLink__ttl {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item a .contentMenu-subLink__ttl {
    font-size: 1.4rem;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-subList__item a .contentMenu-subLink__txt {
  width: 100px;
}
@media only screen and (max-width: 1080px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item a .contentMenu-subLink__txt {
    width: 100%;
    margin-top: 0;
    margin-bottom: 4px;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-subList__item a .contentMenu-subLink__txt {
    width: 100px;
    margin-top: 2px;
    margin-bottom: 0;
    margin-right: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageList__item {
    border-bottom: solid 1px #aaa;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageList__item.member {
    border-bottom: none;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageList__item.member .contentMenu-pageLink {
  background-color: rgba(132, 112, 94, 0.1);
  border-top: solid 1px #aaa;
  border-bottom: solid 1px #aaa;
  box-sizing: border-box;
  margin: 24px 0;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageList__item.member .contentMenu-pageLink {
    margin: 70px 0 24px;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageList__item.member .contentMenu-pageLink::after {
  background-image: url(../../images/common/i_login.svg);
}
.contentMenu .contentMenu-pageMenu .menuContent-subMenu {
  display: flex;
  justify-content: space-between;
  gap: 10px 10px;
  margin-top: 28px;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .menuContent-subMenu {
    flex-direction: column;
  }
}
.contentMenu .c-new::after {
  width: 8px;
  height: 8px;
}

/* ------------------------------------------------------------
    fixCvBtn
------------------------------------------------------------ */
.fixCvBtn {
  position: fixed;
  bottom: 20px;
  right: 30px;
  z-index: 100;
}
@media only screen and (max-width: 767px) {
  .fixCvBtn {
    display: none !important;
  }
}
.fixCvBtn a {
  display: flex;
  align-items: center;
  justify-content: center;
  letter-spacing: 0.05em;
  font-size: 1.5rem;
  line-height: 1;
  background-color: #84705e;
  color: #fff;
  padding: 0 32px;
  min-width: 230px;
  height: 42px;
  border-radius: 21px;
  text-align: center;
}
.fixCvBtn a small {
  font-size: 75%;
}

/* ------------------------------------------------------------
    cvMenu
------------------------------------------------------------ */
@media only screen and (max-width: 767px) {
  .cvMenu {
    display: none;
  }
}

/* ------------------------------------------------------------
    spNavBar
------------------------------------------------------------ */
.spNavBar {
  position: fixed;
  bottom: -1px;
  left: 0;
  width: 100%;
  background-color: #fff;
  border-radius: 10px 10px 0 0;
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  display: none;
  justify-content: space-between;
  padding: 4px 0 22px 0;
  height: 70px;
  z-index: 200;
}
@media only screen and (max-width: 767px) {
  .spNavBar {
    display: flex;
  }
}
.spNavBar.vBlack {
  box-shadow: none;
  border: solid 1px #eee;
}
.spNavBar.vBlack .spNavBar__item.-menuBtn {
  box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
}
.spNavBar.vBlack .spNavBar__item .item-in p {
  color: #231815;
}
.spNavBar__item {
  width: 20%;
}
.spNavBar__item.-menuBtn {
  position: relative;
  top: -14px;
  width: 52px;
  min-width: 52px;
  height: 52px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  padding: 4px;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}
.spNavBar__item.-menuBtn .circle {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: linear-gradient(to right, #C74E95, #7F0274);
}
.spNavBar__item.-menuBtn .circle::before {
  position: absolute;
  font-size: 1rem;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  content: "MENU";
  display: block;
  z-index: 1;
}
.spNavBar__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
}
.spNavBar__item a .item-in {
  height: 46px;
}
.spNavBar__item a .item-in .icon {
  position: relative;
  width: 30px;
  height: 30px;
  margin: 0 auto 4px;
}
.spNavBar__item a .item-in p {
  font-size: 9px;
  letter-spacing: -0.02em;
  color: #777;
  white-space: nowrap;
  line-height: 1;
}
.spNavBar .c-new::after {
  top: 4px;
  right: -2px;
}

/* ------------------------------------------------------------
    spContent
------------------------------------------------------------ */
.spContent {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 600;
  opacity: 0;
  pointer-events: none;
  transition-duration: 0.6s;
}
.spContent.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.spContent.is-visible .spContentBtnBox {
  bottom: -1px;
}

.spContent__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
}

.spContentBtnBox {
  position: absolute;
  bottom: -100%;
  left: 0;
  width: 100%;
  background: #fff;
  padding: 8px 8px 42px 8px;
  border-radius: 8px 8px 0 0;
  letter-spacing: 0.05em;
  transition: bottom 0.3s;
}
.spContentBtnBox li {
  width: 100%;
  border-radius: 8px;
  margin-bottom: 6px;
  overflow: hidden;
}
.spContentBtnBox li:last-child {
  margin-bottom: 0;
}
.spContentBtnBox li .tel__tel {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin-bottom: 2px;
}
@media only screen and (max-width: 767px) {
  .spContentBtnBox li .tel__tel {
    margin-bottom: 0.1em;
  }
}
.spContentBtnBox li .tel__tel span {
  font-family: "EB Garamond", serif;
  font-size: 20px;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  .spContentBtnBox li .tel__tel span {
    font-size: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .spContentBtnBox li .tel__tel span {
    font-size: 2.8rem;
  }
}
.spContentBtnBox li .tel__tel__img {
  width: 3rem;
  height: 2rem;
}
.spContentBtnBox li .tel__tel__img img {
  height: 100%;
  width: 100%;
  margin-right: 4px;
}
.spContentBtnBox li .tel__time {
  letter-spacing: 0;
  font-size: 10px;
  font-size: 1rem;
}
@media only screen and (max-width: 767px) {
  .spContentBtnBox li .tel__time {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .spContentBtnBox li .tel__time {
    font-size: 1.4rem;
  }
}
.spContentBtnBox::before {
  content: "";
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 2px;
  border-radius: 1px;
  background: #fff;
}

.spTelBtn .spContentBtnBox {
  color: #252525;
  line-height: 1.6;
}
.spTelBtn .spContentBtnBox .name {
  font-size: 13px;
  font-size: 1.3rem;
  margin-top: 8px;
}
@media only screen and (max-width: 767px) {
  .spTelBtn .spContentBtnBox .name {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .spTelBtn .spContentBtnBox .name {
    font-size: 1.4rem;
  }
}
.spTelBtn .spContentBtnBox .tel {
  margin: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 8px;
  overflow: hidden;
}
.spTelBtn .spContentBtnBox .tel a {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "EB Garamond", serif;
  background: #252525;
  height: 54px;
}
@media only screen and (max-width: 767px) {
  .spTelBtn .spContentBtnBox .tel a {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .spTelBtn .spContentBtnBox .tel a {
    font-size: 1.4rem;
  }
}
.spTelBtn .spContentBtnBox .tel a span {
  margin-bottom: -3px;
}
.spTelBtn .spContentBtnBox .tel a img {
  width: 30px;
  margin-right: 7px;
  margin-top: -12px;
  vertical-align: baseline;
}
.spTelBtn .spContentBtnBox .time {
  font-size: 11px;
  font-size: 1.1rem;
  margin-top: 12px;
}
@media only screen and (max-width: 767px) {
  .spTelBtn .spContentBtnBox .time {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .spTelBtn .spContentBtnBox .time {
    font-size: 1.4rem;
  }
}
.spTelBtn .spContentBtnBox .notice {
  display: inline-block;
  margin-top: 8px;
  padding: 2px 0;
  border-top: 1px solid rgba(132, 112, 94, 0.6);
  border-bottom: 1px solid rgba(132, 112, 94, 0.6);
  color: #dcb863;
}

body.is-hidden,
html.is-hidden {
  overflow: hidden;
}

/* ------------------------------------------------------------
    sp alert
------------------------------------------------------------ */
.spAlert {
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  font-family: YakuHanMP, "A1明朝", "A1 Mincho", "Noto Serif", serif;
  height: 100vh;
  justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity 0.3s;
  visibility: hidden;
  width: 100vw;
  z-index: 99999;
}
.spAlert.landscape {
  display: flex;
  opacity: 1;
  visibility: visible;
}
.spAlert__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: none;
  position: relative;
  z-index: 2;
}

.spAlertMsg {
  color: #ffffff;
  font-size: 2.1vw;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-top: 6.5vh;
}

.spAlert .svgIcon {
  margin: 0 auto;
  width: 23%;
  min-width: 81.5px;
}
.spAlert .svgIcon__path {
  fill: none;
  stroke: #ffffff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-width: 17;
}

/* ------------------------------------------------------------
    link
------------------------------------------------------------ */
.noLink {
  pointer-events: none !important;
  opacity: 0.4;
}

/* ------------------------------------------------------------
    sp footer_float
------------------------------------------------------------ */
.spFloat {
  position: fixed;
  left: 2.5%;
  bottom: 80px;
  width: 95%;
  padding: 1rem 1.5rem;
  border-radius: 5px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  text-align: center;
  font-size: 2rem;
  z-index: 2;
  transition: 0.5s;
  display: none;
}
@media only screen and (max-width: 767px) {
  .spFloat {
    display: block;
  }
}
.spFloat small {
  font-size: 0.6em;
}
.spFloat__link {
  text-align: center;
  background-color: #61574d;
  color: #fff;
  margin-top: 1.5rem;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0.5rem 2rem;
  border-radius: 3rem;
}
.spFloat.is-hide {
  opacity: 0;
  pointer-events: none;
}

/* ------------------------------------------------------------
    footer Caption
------------------------------------------------------------ */
.ftCaption {
  background-color: #fff;
  color: #231815;
}
.ftCaption .c-ft_cap {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  font-size: 11px;
  font-size: 1.1rem;
  padding: 2rem 0;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .ftCaption .c-ft_cap {
    font-size: 11px;
  }
}
@media only screen and (max-width: 767px) {
  .ftCaption .c-ft_cap {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 767px) {
  .ftCaption .c-ft_cap {
    padding: 2rem 0;
  }
}

/* ------------------------------------------------------------
    footer
------------------------------------------------------------ */
/* contact
---------------------------------------- */
footer {
  letter-spacing: 0.06em;
  line-height: 1.5;
  overflow: hidden;
  background-color: #252525;
  color: #fff;
}

.p-geo-bnr {
  background-color: #F4F4F4;
  padding: 3rem 0;
}
.p-geo-bnr__inner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto 5rem;
}

.foot-cv {
  margin: 3rem auto 0;
  width: 90%;
  max-width: 1080px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .foot-cv {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.foot-cv__btn {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  padding: 1rem;
  letter-spacing: 0;
  font-size: 18px;
  font-size: 1.8rem;
  transition: 0.3s;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .foot-cv__btn {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .foot-cv__btn {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .foot-cv__btn {
    padding: 1rem;
    width: 100%;
  }
}
.foot-cv__btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #61574d;
  transition: 0.3s;
  z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .foot-cv__btn:hover {
    color: #fff;
  }
  .foot-cv__btn:hover::before {
    width: 100%;
  }
}

.foot_1 {
  padding: 70px 0 35px;
}
@media only screen and (max-width: 767px) {
  .foot_1 {
    padding: 50px 0 25px;
  }
}
.foot_1 .contact {
  display: flex;
  align-items: flex-end;
  width: calc(100% - 200px);
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact {
    width: 100%;
    justify-content: center;
  }
}
.foot_1 .contact_info {
  width: 90%;
  max-width: 480px;
  text-align: left;
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info {
    text-align: center;
    width: 100%;
    max-width: 100%;
  }
}
.foot_1 .contact_info .name {
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .name {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .name {
    font-size: 1.4rem;
  }
}
.foot_1 .contact_info .tel {
  margin: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
.foot_1 .contact_info .tel a {
  padding: 1rem;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1;
  font-family: "EB Garamond", serif;
  color: #231815;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .tel a {
    font-size: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .tel a {
    font-size: 4rem;
  }
}
.foot_1 .contact_info .tel a img {
  width: 40px;
  margin-right: 7px;
  margin-top: -4px;
  filter: invert(82%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(106%) contrast(101%);
  vertical-align: baseline;
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .tel a img {
    width: 30px;
    margin-top: 0;
  }
}
.foot_1 .contact_info .time {
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .time {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .time {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .time {
    margin-top: 12px;
  }
}
.foot_1 .contact_info .notice {
  display: inline-block;
  font-size: 1.3rem;
  margin-top: 10px;
  padding: 5px 0;
  width: 100%;
  border-top: 1px solid rgba(255, 255, 255, 0.6);
  border-bottom: 1px solid rgba(255, 255, 255, 0.6);
  color: #fff;
}
.foot_1 .contact_cal {
  width: 80%;
  max-width: 283px;
  margin: 0 0 0 50px;
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_cal {
    margin: 40px auto;
  }
}
.foot_1 .staff {
  width: 200px;
}
@media only screen and (max-width: 767px) {
  .foot_1 .staff {
    width: 50%;
    max-width: 200px;
    margin: 30px auto 0;
  }
}
.foot_1 .staff img {
  vertical-align: bottom;
}
.foot_1__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .foot_1__inner {
    display: block;
  }
}

.foot_2 {
  padding: 0 0 35px;
}
.foot_2 .bnr {
  max-width: 800px;
  margin: 0 auto 15px;
}
.foot_2 img {
  vertical-align: bottom;
}
@media only screen and (max-width: 767px) {
  .foot_2 {
    padding: 0 0 25px;
  }
  .foot_2 .bnr {
    margin-bottom: 10px;
  }
}

.foot_3 {
  color: #fff;
  padding: 0.5rem 0;
  text-align: center;
}
.foot_3 .link_geo li {
  display: inline-block;
  margin-right: 24px;
}
.foot_3 .link_geo li:last-child {
  margin-right: 0;
}
.foot_3 .link_geo li a {
  display: block;
  padding: 5px 5px 5px 0;
  font-size: 1.3rem;
  text-align: center;
  color: #fff;
}
.foot_3 .link_geo li a span {
  display: inline-block;
  background: url("../../images/common/ico_arr.svg") no-repeat left center;
  background-size: 6px;
  padding-left: 13px;
}
@media only screen and (max-width: 767px) {
  .foot_3 .link_geo li {
    display: block;
    border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  }
  .foot_3 .link_geo li a {
    padding: 15px 0;
    font-size: 1.1rem;
  }
  .foot_3 .link_geo li a span {
    background-size: 7px;
  }
}

.foot_4 {
  background-color: #fff;
  color: #231815;
}
.foot_4 small {
  font-family: "EB Garamond", serif;
  font-size: 1.2rem;
  display: block;
  padding: 20px 5%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .foot_4 small {
    font-size: 1rem;
    padding: 15px 5% 90px;
  }
}

.ft_bnrArea {
  margin: 60px auto;
}
@media only screen and (max-width: 767px) {
  .ft_bnrArea {
    margin: 40px auto;
  }
}
.ft_bnrArea .bnr {
  margin-bottom: 15px;
}
.ft_bnrArea img {
  vertical-align: top;
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}
.ft_bnrArea picture {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}
.ft_bnrArea picture img {
  width: 100%;
}

/* ------------------------------------------------------------
    page top
------------------------------------------------------------ */
.pageTop {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  background-color: #6a6b6b;
  height: 42px;
  font-family: "EB Garamond", serif;
  color: #fff;
  letter-spacing: 0;
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .pageTop {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .pageTop {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .pageTop {
    height: 38px;
    font-size: 11px;
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .pageTop {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .pageTop {
    font-size: 1.4rem;
  }
}
.pageTop__img {
  margin-right: 6px;
  width: 18px;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .pageTop__img {
    width: 14px;
  }
}
.pageTop:hover, .pageTop:focus {
  color: #fff;
}
/*# sourceMappingURL=../../map/common/common.css.map */