@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%;
  -webkit-font-feature-settings: "palt";
          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 */
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
*::before, *::after {
  -webkit-box-sizing: border-box;
  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;
  -webkit-box-sizing: border-box;
          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用*/
/*// mixin //////////////////////////////////////////////////*/
/* media query */
/* hover */
a {
  color: #262626;
  text-decoration: none;
}
a:hover, a:focus {
  color: #262626;
}

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: #262626;
  font-family: YakuHanMP, "Shippori Mincho B1", serif;
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
}
@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, "Shippori Mincho B1", serif;
}

/* ------------------------------------------------------------
    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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.c-flex.flex-btw {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-flex.flex-btw-basis {
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .c-flex.flex-btw-basis {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-flex.flex-ard {
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          justify-content: space-around;
}
.c-flex.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
}
.c-flex.flex-row-reverse {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.c-flex.flex-col {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
}
.c-flex.flex-col-reverse {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: column-reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
.c-flex.flex-wrap {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .c-flex.sm_flex-row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .c-flex.sm_flex-row-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: row-reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .c-flex.sm_flex-col {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .c-flex.sm_flex-col-reverse {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
    -webkit-flex-direction: column-reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .c-flex.sm_flex-wrap {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: 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-txt_en {
  font-family: "Libre Caslon Display", serif;
  font-size: 160%;
  line-height: 1;
}

.c-txt_en_eq {
  font-family: "Libre Caslon Display", serif;
  font-size: 115%;
  line-height: 1;
}

.c-txt_en-gra {
  font-family: "EB Garamond", serif;
  line-height: 1;
}

.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-f20 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .c-f20 {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .c-f20 {
    font-size: 1.8rem;
  }
}

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

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

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

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

.c-cap {
  position: absolute;
  left: 5px;
  bottom: 5px;
  width: calc(100% - 10px);
  text-align: right;
  font-size: 11px;
  font-size: 1.1rem;
  letter-spacing: 0;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
@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, .c-imgBox--bdr {
  position: relative;
}
.c-imgBox img, .c-imgBox--bdr img {
  width: 100%;
}
.c-imgBox--bdr {
  border: 1px solid #d4d4d4;
}
.c-imgBox__cap, .c-imgBox__cap__Lbk, .c-imgBox__cap--btm-spc, .c-imgBox__cap--L, .c-imgBox__cap--bk {
  position: absolute;
  right: 5px;
  bottom: 5px;
  font-size: 11px !important;
  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;
}
.c-imgBox__cap--bk {
  color: #000;
  text-shadow: 0px 0px 3px #fff, 0px 0px 3px #fff, 0px 0px 10px #fff;
}
.c-imgBox__cap--L {
  right: unset;
  left: 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_icon {
  position: relative;
}

.c_icon__in {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -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;
}
@media only screen and (max-width: 767px) {
  .c-link_tel {
    pointer-events: initial;
    cursor: pointer;
  }
}

.c-menu_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  width: 100%;
  max-width: 416px;
  height: 60px;
  background: #044931;
  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 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  width: 100%;
  height: 54px;
  background: #00996a;
  color: #fff;
  font-size: 15px;
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .c-spCta_btn {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-spCta_btn {
    font-size: 1.4rem;
  }
}

.c-pageMenu_btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  line-height: 1;
  background: #00996a;
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          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: #333;
  border: solid 1px #aaa;
}
.c-pageMenu_btn.full {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
}
.c-pageMenu_btn:hover {
  /*color: #fff;*/
}

.c-more__btn {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 1;
  background-color: #262626;
  border: 1px solid #262626;
  padding: 1rem 4rem 1rem 5.5rem;
  margin: 0 auto;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "Libre Caslon Display", serif;
  color: #fff;
  overflow: hidden;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media only screen and (max-width: 767px) {
  .c-more__btn {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-more__btn {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 1080px) {
  .c-more__btn {
    font-size: 16px;
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .c-more__btn {
    font-size: 14px;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .c-more__btn {
    font-size: 1.4rem;
  }
}
.c-more__btn__txt {
  z-index: 1;
}
.c-more__btn::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #262626;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-more__btn:after {
  content: "";
  display: inline-block;
  width: 3rem;
  height: 0.5rem;
  background-image: url(../../images/common/icon_arr-02.svg);
  background-size: cover;
  background-position: center;
  margin-left: 1rem;
  z-index: 1;
}
.c-more__btn:hover {
  background-color: #fff;
  color: #262626;
}
.c-more__btn:hover::before {
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}
.c-more__btn:hover:after {
  -webkit-filter: brightness(0);
          filter: brightness(0);
}

.c-btn-view__wrap {
  padding: 0 3rem;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.c-btn-view__en {
  font-size: 1.4em;
  line-height: 1.2;
  font-family: "Libre Caslon Display", serif;
}
.c-btn-view__arrow {
  position: relative;
  height: 1px;
  background-color: #00996a;
  width: 10em;
  margin: 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-btn-view__arrow:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  height: 0.7em;
  width: 1px;
  background-color: #00996a;
  -webkit-transform: translate(-0.5em, -99%) skew(50deg);
      -ms-transform: translate(-0.5em, -99%) skew(50deg);
          transform: translate(-0.5em, -99%) skew(50deg);
}
.c-btn-view:hover .c-btn-view__arrow {
  width: 12em;
}

.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 {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 1rem 0;
  background-color: #00996a;
  border: 1px solid #00996a;
  color: #fff;
  border-radius: 5em;
  padding: 1.5rem 5rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .c-ft-contact__btn:hover {
    background-color: #fff;
    color: #00996a !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-ft-contact__btn {
    margin: 1rem auto;
    width: 100%;
  }
}
.c-ft-contact__btn:active, .c-ft-contact__btn:visited {
  color: #fff;
}

.c-pdf {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #00996a;
  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;
  background-color: #006d4c;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-pdf:hover {
  color: #fff;
}
.c-pdf:hover:after {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}

.c-tab {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #00996a;
  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;
  background-color: #006d4c;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.c-tab:hover {
  color: #fff;
}
.c-tab:hover:after {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
}

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

/* ------------------------------------------------------------
	icon
------------------------------------------------------------ */
.c-icon {
  position: relative;
}
.c-icon__in {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: none;
}
@media only screen and (max-width: 767px) {
  .c-icon__in {
    display: block;
  }
}

/* ------------------------------------------------------------
	txt-box
------------------------------------------------------------ */
.c-txt-box {
  text-align: center;
}
.c-txt-box__headding2 {
  font-size: 87px;
  font-size: 8.7rem;
  font-family: "Libre Caslon Display", serif;
  line-height: 1;
  color: #00996a;
}
@media only screen and (max-width: 767px) {
  .c-txt-box__headding2 {
    font-size: 50px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt-box__headding2 {
    font-size: 5rem;
  }
}
.c-txt-box__headding2 span {
  display: inline-block;
}
.c-txt-box__headding2 small {
  display: block;
  font-size: 0.4em;
}
.c-txt-box__sub-ttl {
  font-size: 26px;
  font-size: 2.6rem;
}
@media only screen and (max-width: 767px) {
  .c-txt-box__sub-ttl {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt-box__sub-ttl {
    font-size: 2rem;
  }
}
.c-txt-box__sub-ttl span {
  display: inline-block;
}
.c-txt-box__headding3 {
  font-size: 26px;
  font-size: 2.6rem;
  font-family: "Libre Caslon Display", serif;
  line-height: 1.4;
  color: #00996a;
}
@media only screen and (max-width: 767px) {
  .c-txt-box__headding3 {
    font-size: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt-box__headding3 {
    font-size: 2.4rem;
  }
}
.c-txt-box__headding3 span {
  display: inline-block;
}
.c-txt-box__lead {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .c-txt-box__lead {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-txt-box__lead {
    font-size: 1.4rem;
  }
}
.c-txt-box__lead span {
  display: inline-block;
}
.c-txt-box.--white {
  color: #fff;
}
.c-txt-box.--white h2, .c-txt-box.--white h3 {
  color: #fff;
}

/* ------------------------------------------------------------
	content-summary
------------------------------------------------------------ */
.c-content-summary {
  position: relative;
}
.c-content-summary__list {
  overflow-x: hidden;
}
.c-content-summary__list li:not(:first-child) {
  margin-top: 20rem;
}
@media only screen and (max-width: 767px) {
  .c-content-summary__list li:not(:first-child) {
    margin-top: 10rem !important;
  }
}
@media only screen and (max-width: 767px) {
  .c-content-summary__image {
    height: 50vw;
  }
}
.c-content-summary__image img {
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .c-content-summary__image img {
    height: 50vw;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.c-content-summary__txt {
  position: relative;
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .c-content-summary__txt {
    width: 90%;
  }
}
.c-content-summary__txt sup {
  font-size: 1rem;
  vertical-align: text-top;
}

/* ------------------------------------------------------------
	c-required-time
------------------------------------------------------------ */
.c-required-time {
  margin-top: 5rem;
}
.c-required-time__ttl {
  font-size: 21px;
  font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
  .c-required-time__ttl {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .c-required-time__ttl {
    font-size: 1.8rem;
  }
}
.c-required-time__list {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 4rem;
}
@media only screen and (max-width: 1080px) {
  .c-required-time__list {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-required-time__list {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
.c-required-time__detail {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  border-bottom: 1px solid #00996a;
  margin-bottom: 0.5rem;
  padding-bottom: 0.5rem;
}
.c-required-time__detail .station {
  font-size: min(1.8vw, 2rem);
  line-height: 1;
}
@media only screen and (max-width: 1080px) {
  .c-required-time__detail .station {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .c-required-time__detail .station {
    font-size: 22px;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .c-required-time__detail .station {
    font-size: 2.2rem;
  }
}
.c-required-time__detail .station em {
  font-size: 1.4em;
}
.c-required-time__detail .time {
  font-size: min(1.8vw, 2rem);
  line-height: 1;
  color: #00996a;
}
@media only screen and (max-width: 1080px) {
  .c-required-time__detail .time {
    font-size: 24px;
    font-size: 2.4rem;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .c-required-time__detail .time {
    font-size: 22px;
  }
}
@media only screen and (max-width: 1080px) and (max-width: 767px) {
  .c-required-time__detail .time {
    font-size: 2.2rem;
  }
}
.c-required-time__detail .time em {
  font-size: 1.4em;
}
.c-required-time__detail .time .ex {
  color: initial;
  font-size: 0.7em;
}
.c-required-time__note {
  font-size: 11px;
  line-height: 1.2;
}

/* ==========================================================
    ローディングアニメーション
========================================================== */
.p-loader {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  background-color: #00996a;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-loader__anime {
  font-size: 10px;
  margin: 50px auto;
  text-indent: -9999em;
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
  background: #ffffff;
  background: -webkit-gradient(linear, left top, right top, color-stop(10%, #ffffff), color-stop(42%, #00996a));
  background: -webkit-linear-gradient(left, #ffffff 10%, #00996a 42%);
  background: linear-gradient(to right, #ffffff 10%, #00996a 42%);
  position: relative;
  -webkit-animation: load3 1.4s infinite linear;
          animation: load3 1.4s infinite linear;
  -webkit-transform: translateZ(0);
          transform: translateZ(0);
}
.p-loader__anime:before {
  width: 50%;
  height: 50%;
  background: #ffffff;
  border-radius: 100% 0 0 0;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
}
.p-loader__anime:after {
  background-color: #00996a;
  width: 85%;
  height: 85%;
  border-radius: 50%;
  content: "";
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}

@-webkit-keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes load3 {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.c-lifestyle-bnr {
  display: block;
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  margin: 5rem auto;
  background-color: #00996a;
  padding: 3rem;
}
@media only screen and (max-width: 767px) {
  .c-lifestyle-bnr {
    padding: 2rem;
  }
}
.c-lifestyle-bnr__wrap {
  border: 1px solid rgba(255, 255, 255, 0.5);
  background-color: #00996a;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-lifestyle-bnr__wrap h3 {
  font-size: min(1.8vw, 1.8rem);
  line-height: 1.4;
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-lifestyle-bnr__wrap h3 {
    font-size: 1.4rem;
  }
}
.c-lifestyle-bnr__wrap h3 em {
  font-size: 3.5em;
  line-height: 1;
}
.c-lifestyle-bnr__wrap .lead {
  font-size: min(1.6vw, 1.6rem);
  text-align: center;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .c-lifestyle-bnr__wrap .lead {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-lifestyle-bnr__wrap {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 2rem;
    padding: 2rem 2rem 0;
  }
  .c-lifestyle-bnr__wrap > div {
    text-align: center;
  }
  .c-lifestyle-bnr__wrap > div:nth-child(1) {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: calc(50% - 1rem);
  }
  .c-lifestyle-bnr__wrap > div:nth-child(2) {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%;
  }
  .c-lifestyle-bnr__wrap > div:nth-child(3) {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    width: calc(50% - 1rem);
  }
}

.c-entry-info {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  background-color: #dfeae2;
  padding: 3rem;
  border-radius: 5px;
  margin: 5rem auto;
}
.header .c-entry-info {
  width: 100%;
}
.header .c-entry-info__btns {
  grid-template-columns: 1fr;
  gap: 1rem;
}
.header .c-entry-info__movie__txt {
  font-size: 20px;
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .header .c-entry-info__movie__txt {
    font-size: 118px;
  }
}
@media only screen and (max-width: 767px) {
  .header .c-entry-info__movie__txt {
    font-size: 11.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-info {
    padding: 1.5rem;
  }
}
.c-entry-info__ttl {
  text-align: center;
  color: #00996a;
  font-size: 30px;
  font-size: 3rem;
  border-bottom: 1px solid #00996a;
}
@media only screen and (max-width: 767px) {
  .c-entry-info__ttl {
    font-size: 28px;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-info__ttl {
    font-size: 2.8rem;
  }
}
.c-entry-info__lead {
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .c-entry-info__lead {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-info__lead {
    font-size: 1.4rem;
  }
}
.c-entry-info__lead span {
  display: inline-block;
}
.c-entry-info__contents {
  padding: 2rem;
  background-color: #fff;
}
.c-entry-info__contents__heading {
  text-align: center;
  color: #00996a;
  font-size: 3rem;
  line-height: 1.1;
}
.c-entry-info__contents__heading small {
  font-size: 0.6em;
}
.c-entry-info__contents__wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .c-entry-info__contents__wrap {
    grid-template-columns: 1fr;
  }
}
.c-entry-info__movie {
  aspect-ratio: 4/3;
}
.c-entry-info__movie img {
  -webkit-filter: brightness(0.4);
          filter: brightness(0.4);
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-entry-info__movie__txt {
  position: absolute;
  top: 50%;
  text-align: center;
  width: 100%;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1.4;
  color: #fff;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 767px) {
  .c-entry-info__movie__txt {
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-info__movie__txt {
    font-size: 1.8rem;
  }
}
.c-entry-info__btns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  font-size: 12px;
  font-size: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .c-entry-info__btns {
    font-size: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-info__btns {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 1080px) {
  .c-entry-info__btns {
    gap: 1rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-entry-info__btns {
    grid-template-columns: 1fr;
  }
}
html:lang(en) .c-entry-info__btns {
  grid-template-columns: 1fr;
  gap: 0;
}

.c-cv-btn {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #fff;
  padding: 1rem;
  letter-spacing: 0;
  font-size: 1.2em;
  width: 100%;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .c-cv-btn {
    padding: 1rem;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-cv-btn em {
  color: #00996a;
  font-size: 1.4em;
  margin-right: 1rem;
}
.c-cv-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  background-color: #00996a;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: -1;
}
@media (hover: hover) and (pointer: fine) {
  .c-cv-btn:hover {
    color: #fff;
  }
  .c-cv-btn:hover em {
    color: #fff;
  }
  .c-cv-btn:hover::before {
    width: 100%;
  }
}
.c-cv-btn--grn {
  background-color: #00996a;
  color: #fff;
}
.c-cv-btn--grn em {
  color: #fff;
}
.c-cv-btn--grn::before {
  background-color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  .c-cv-btn--grn:hover {
    color: #262626;
  }
  .c-cv-btn--grn:hover em {
    color: #00996a;
  }
  .c-cv-btn--grn:hover::before {
    width: 100%;
  }
}

.c-login {
  margin-top: 3rem;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 5rem;
  border-radius: 5px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .c-login {
    padding: 1.5rem;
  }
}
.c-login__lead {
  text-align: center;
}
.c-login__inputArea {
  margin-top: 2rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
@media only screen and (max-width: 767px) {
  .c-login__inputArea {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.c-login__inputArea__pass {
  width: 30%;
  max-width: 400px;
  font-size: 18px;
  font-size: 1.8rem;
  padding: 0 1rem;
}
@media only screen and (max-width: 767px) {
  .c-login__inputArea__pass {
    font-size: 20px;
  }
}
@media only screen and (max-width: 767px) {
  .c-login__inputArea__pass {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .c-login__inputArea__pass {
    width: 100%;
    padding: 1rem;
    text-align: center;
  }
}
.c-login__inputArea__btn {
  background-color: #777777;
  color: #fff;
  padding: 1rem;
  border-radius: 3px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1rem;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .c-login__inputArea__btn {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.c-login__inputArea__btn i {
  position: relative;
  width: 1em;
  height: 1em;
  border-radius: 1em;
  background-color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-login__inputArea__btn i:after {
  content: "";
  display: inline-block;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 48%);
          clip-path: polygon(0 0, 0% 100%, 100% 48%);
  width: 0.35em;
  height: 0.5em;
  background-color: #00996a;
}
.c-login__inputArea__btn.active {
  background-color: #00996a;
  pointer-events: all;
}
.c-login__inputArea__btn:hover {
  background-color: #fff;
}

.u-blk {
  display: block;
}

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

.u-inlin {
  display: inline;
}

/* ------------------------------------------------------------
    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;
}

/* ------------------------------------------------------------
    txt color
------------------------------------------------------------ */
.u-txt_grn {
  color: #00996a;
}

.u-txt_wht {
  color: #fff !important;
}

/* ------------------------------------------------------------
    font family other
------------------------------------------------------------ */
.u-font_libre {
  font-family: "Libre Caslon Display", serif;
}

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

.u-font_zen {
  font-family: "Zen Old Mincho", serif;
}

.u-letspc {
  letter-spacing: 0;
}
.u-letspc-2 {
  letter-spacing: -0.2em;
}

/* ------------------------------------------------------------
    margin top, margin bottom
------------------------------------------------------------ */
.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-m80 {
  width: 90%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.u-w100 {
  width: 100%;
}

.is-anime.mask {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 1s ease-in-out;
  transition: 1s ease-in-out;
}
.is-anime.mask.active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.is-anime.mask.slow {
  -webkit-transition: 1.5s ease-in-out;
  transition: 1.5s ease-in-out;
}
.is-anime.fade {
  -webkit-filter: blur(20px);
          filter: blur(20px);
  opacity: 0;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.is-anime.fade.active {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

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

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

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

.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;
  }
}

html:lang(en) .u-pc--en {
  display: block;
}
@media only screen and (max-width: 767px) {
  html:lang(en) .u-pc--en {
    display: none;
  }
}
html:lang(en) .u-sp--en {
  display: none;
}
@media only screen and (max-width: 767px) {
  html:lang(en) .u-sp--en {
    display: block;
  }
}

.header {
  position: relative;
  width: 100%;
  letter-spacing: 0em;
  z-index: 600;
}
.header .logo-bukkenLogo {
  position: absolute;
  top: 30px;
  left: 30px;
  width: 120px;
}
@media only screen and (max-width: 767px) {
  .header .logo-bukkenLogo {
    top: 25px;
    left: 20px;
    width: 102px;
  }
}
.header .logo-bukkenLogo img {
  -webkit-filter: invert(82%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(106%) contrast(101%);
          filter: invert(82%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(106%) contrast(101%);
}
.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;
  -webkit-transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
          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;
  -webkit-transition: 0.6s;
  transition: 0.6s;
  -webkit-transition-timing-function: cubic-bezier(0.46, 0.1, 0.29, 1) !important;
          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;
  -webkit-transition: 0.3s 0.24s;
  transition: 0.3s 0.24s;
}
.header .mContent.is-visible .menu__bg {
  opacity: 1;
  -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition: 0.2s;
  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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
}
.header .menu__close .menu__close-btn .iconBox {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: 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: #333;
  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 {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.header .menu-contentArea a:hover {
  opacity: 0.6;
}
@media only screen and (max-width: 767px) {
  .header .menu-contentArea a {
    -webkit-transition: none;
    transition: none;
  }
  .header .menu-contentArea a:hover {
    opacity: 1;
  }
}
.header .menu-btnArea {
  margin-top: 60px;
}
.header .menu-btnArea__item {
  -webkit-flex-basis: 47.4%;
      -ms-flex-preferred-size: 47.4%;
          flex-basis: 47.4%;
  margin: 4px;
}
.header .menu-btnArea__item.full {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
}
.header .menu-btnArea__item p {
  margin-bottom: 20px;
}
.header .menu-ftInfoArea {
  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;
}
.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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 20px;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info {
    margin-top: 0;
  }
}
.header .menu-ftInfoArea .contact_info .tel {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.header .menu-ftInfoArea .contact_info .tel a {
  display: block;
  width: 100%;
  font-size: 30px;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.1em;
  font-family: "Libre Caslon Display", serif;
  color: #333;
  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 {
    height: auto;
  }
}
.header .menu-ftInfoArea .contact_info .tel a img {
  width: 40px;
  margin-right: 7px;
  margin-top: -4px;
  -webkit-filter: invert(82%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(106%) contrast(101%);
          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: auto;
    margin-top: 0;
  }
}
.header .menu-ftInfoArea .contact_info .time {
  -webkit-flex-basis: 50%;
      -ms-flex-preferred-size: 50%;
          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: 12px;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    font-size: 1.2rem;
  }
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info .time {
    margin-top: 16px;
  }
}
.header .menu-ftInfoArea .contact_info .time .notice {
  display: inline-block;
  margin-top: 4px;
  padding: 3px 0 4px;
  border-top: 1px solid rgba(158, 131, 63, 0.6);
  border-bottom: 1px solid rgba(158, 131, 63, 0.6);
  color: #9e833f;
}
@media only screen and (max-width: 767px) {
  .header .menu-ftInfoArea .contact_info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

/* ------------------------------------------------------------
    headerMenuBtn
------------------------------------------------------------ */
.headerMenuBtn {
  position: fixed;
  width: 106px;
  top: 30px;
  right: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .headerMenuBtn {
    display: none;
  }
}
.headerMenuBtn a {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
.headerMenuBtn a span {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: 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: -webkit-gradient(linear, left top, right top, from(#C74E95), to(#7F0274));
  background: -webkit-linear-gradient(left, #C74E95, #7F0274);
  background: linear-gradient(to right, #C74E95, #7F0274);
  font-size: 1.1rem;
  font-family: "EB Garamond", serif;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
  color: #fff;
}
.headerMenuBtn .c-new::after {
  top: 7px;
  right: 7px;
}

/* ------------------------------------------------------------
    infoMenu
------------------------------------------------------------ */
.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: #333;
  }
}
.infoMenu .infoTitle .infoTitle__01::before {
  content: "";
  width: 1px;
  height: 54px;
  background: #B3B3B3;
  position: absolute;
  top: -54px;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-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 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
  text-align: center;
  font-size: 1.2rem;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 767px) {
  .infoMenu .infoInnerBox {
    grid-template-columns: 1fr;
  }
}
.infoMenu .infoInnerBox__entry {
  background-color: #dfeae2;
  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: #00996a;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6;
  border-bottom: 1px solid #00996a;
}
@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: #00996a;
}
.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 {
  -webkit-filter: brightness(0.4);
          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;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          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%;
  background-color: #dfeae2;
  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: #00996a;
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.6;
  border-bottom: 1px solid #00996a;
}
@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 {
  -webkit-flex-basis: 47.4%;
      -ms-flex-preferred-size: 47.4%;
          flex-basis: 47.4%;
  max-width: 378px;
  text-align: center;
  margin: 4px auto;
}
.infoMenu .menu-bnrArea a.full {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          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: "Libre Caslon Display", 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: #333;
}

/* ------------------------------------------------------------
    contentMenu
------------------------------------------------------------ */
.contentMenu .menu-contentArea {
  padding-bottom: 80px;
}
.contentMenu .contentMenu-pageMenu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-justify-content: space-around;
      -ms-flex-pack: distribute;
          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: 1260px;
}
@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: 398px;
  -webkit-transition: none;
  transition: none;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox.-top a {
    width: 100%;
    max-width: 100%;
  }
}
.contentMenu .contentMenu-pageMenu .pageMenubox.-top a::after {
  left: 60px;
  background-image: url(../../images/common/i_arr.svg);
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .pageMenubox.-top a::after {
    left: auto;
    right: 8px;
  }
}
.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;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          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 {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle::after {
    -webkit-transition: 0.3s;
    transition: 0.3s;
    -webkit-transform: translateY(-50%) rotate(90deg);
        -ms-transform: translateY(-50%) rotate(90deg);
            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;
    -webkit-transition: max-height 0.3s;
    transition: max-height 0.3s;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageTitle.is-active::after {
    -webkit-transform: translateY(-50%) rotate(-90deg);
        -ms-transform: translateY(-50%) rotate(-90deg);
            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: #333;
  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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: end;
      -ms-flex-align: end;
          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: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    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;
  }
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .contentMenu-pageList__item {
    border-bottom: solid 1px #aaa;
  }
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageList__item.mod--arr {
  border-bottom: solid 1px #aaa;
}
.contentMenu .contentMenu-pageMenu .contentMenu-pageList__item.mod--arr .contentMenu-pageLink::after {
  background-image: url(../../images/common/i_arr.svg);
}
@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(158, 131, 63, 0.1);
  border-top: solid 1px #aaa;
  border-bottom: solid 1px #aaa;
  -webkit-box-sizing: border-box;
          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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 10px 10px;
  margin-top: 28px;
}
@media only screen and (max-width: 767px) {
  .contentMenu .contentMenu-pageMenu .menuContent-subMenu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  letter-spacing: 0.05em;
  font-size: 1.5rem;
  line-height: 1;
  background: #333;
  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;
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.15);
  display: none;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 4px 0 22px 0;
  height: 70px;
  z-index: 200;
}
@media only screen and (max-width: 767px) {
  .spNavBar {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
  }
}
.spNavBar.vBlack {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: solid 1px #eee;
}
.spNavBar.vBlack .spNavBar__item.-menuBtn {
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.4);
}
.spNavBar.vBlack .spNavBar__item .item-in p {
  color: #262626;
}
.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;
  -webkit-box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
          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: -webkit-gradient(linear, left top, right top, from(#C74E95), to(#7F0274));
  background: -webkit-linear-gradient(left, #C74E95, #7F0274);
  background: linear-gradient(to right, #C74E95, #7F0274);
}
.spNavBar__item.-menuBtn .circle::before {
  position: absolute;
  font-size: 1rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  color: #fff;
  content: "MENU";
  display: block;
  z-index: 1;
}
.spNavBar__item a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: 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;
  -webkit-transition-duration: 0.6s;
          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;
  -webkit-transition: bottom 0.3s;
  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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  margin-bottom: 2px;
}
.spContentBtnBox li .tel__tel span {
  font-family: "Libre Caslon Display", 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: 24px;
  }
}
@media only screen and (max-width: 767px) {
  .spContentBtnBox li .tel__tel span {
    font-size: 2.4rem;
  }
}
.spContentBtnBox li .tel__tel img {
  width: 26px;
  margin-top: -16px;
  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%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 60px;
  height: 2px;
  border-radius: 1px;
  background: #fff;
}

.spTelBtn .spContentBtnBox {
  color: #333;
  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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  border-radius: 8px;
  overflow: hidden;
}
.spTelBtn .spContentBtnBox .tel a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: 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: "Libre Caslon Display", serif;
  background: #333;
  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(158, 131, 63, 0.6);
  border-bottom: 1px solid rgba(158, 131, 63, 0.6);
  color: #dcb863;
}

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

/* ------------------------------------------------------------
    sp alert
------------------------------------------------------------ */
.spAlert {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  font-family: YakuHanMP, "Shippori Mincho B1", serif;
  height: 100vh;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  visibility: hidden;
  width: 100vw;
  z-index: 99999;
}
.spAlert.landscape {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  visibility: visible;
}
.spAlert__inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          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;
  background-color: #dfeae2;
  border-radius: 5px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  text-align: center;
  font-size: 2rem;
  z-index: 2;
  -webkit-transition: 0.5s;
  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: #00996a;
  color: #fff;
  margin-top: 1.5rem;
  font-size: 1.8rem;
  line-height: 1;
  padding: 0.5rem 2rem;
  border-radius: 3rem;
}
@media only screen and (max-width: 767px) {
  html:lang(en) .spFloat__link {
    font-size: 1.6rem;
  }
}
.spFloat.is-hide {
  opacity: 0;
  pointer-events: none;
}

/* ------------------------------------------------------------
    footer Caption
------------------------------------------------------------ */
.ftCaption .c-ft_cap {
  width: 90%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  font-size: 11px;
  font-size: 1.1rem;
  letter-spacing: 0;
  line-height: 1.4;
  letter-spacing: 0.05em;
  padding: 60px 0;
  line-height: 1.6;
  color: #777777;
}
@media only screen and (max-width: 767px) {
  .ftCaption .c-ft_cap {
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) {
  .ftCaption .c-ft_cap {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 767px) {
  .ftCaption .c-ft_cap {
    padding: 40px 0;
  }
}

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

.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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  background-color: #006d4c;
  color: #fff;
  padding: 1rem;
  letter-spacing: 0;
  font-size: 18px;
  font-size: 1.8rem;
  -webkit-transition: 0.3s;
  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: #00996a;
  -webkit-transition: 0.3s;
  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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: calc(100% - 200px);
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact {
    width: 100%;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            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: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.foot_1 .contact_info .tel a {
  display: block;
  width: 100%;
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1;
  font-family: "Libre Caslon Display", serif;
  color: #333;
  background: #fff;
  height: 50px;
}
@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;
  }
}
@media only screen and (max-width: 767px) {
  .foot_1 .contact_info .tel a {
    height: 40px;
  }
}
.foot_1 .contact_info .tel a img {
  width: 40px;
  margin-right: 7px;
  margin-top: -4px;
  -webkit-filter: invert(82%) sepia(0%) saturate(2%) hue-rotate(233deg) brightness(106%) contrast(101%);
          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;
  margin-top: 10px;
  padding: 5px 0;
  border-top: 1px solid rgba(158, 131, 63, 0.6);
  border-bottom: 1px solid rgba(158, 131, 63, 0.6);
  color: #9e833f;
}
.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 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .foot_1 .staff {
    grid-template-columns: 1fr;
    margin-top: 3rem;
  }
}
.foot_1 .staff a {
  text-align: center;
}
.foot_1 .staff a img {
  vertical-align: bottom;
  height: 5rem;
  width: auto;
  max-width: unset;
}
.foot_1 .c-container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  .foot_1 .c-container {
    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 {
  background-color: #ededed;
  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;
}
.foot_3 .link_geo li a span {
  display: inline-block;
  background: url("../../images/common/ico_arr_gry.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 {
  color: #000;
}
.foot_4 small {
  font-family: "Libre Caslon Display", 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;
}

/* ------------------------------------------------------------
    page top
------------------------------------------------------------ */
.pageTop {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  background-color: #333;
  height: 42px;
  font-family: "Libre Caslon Display", 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;
}

#contents {
  width: 100%;
}

.fixCvBtn a em {
  font-style: normal;
  font-family: "EB Garamond", serif;
  font-size: 1.2em;
  margin-right: 0.5rem;
}
/*# sourceMappingURL=../../map/common/common.css.map */