@charset "UTF-8";
/* ------------------------------------------------------------
   Variables
   変数
------------------------------------------------------------ */
/* ------------------------------------------------------------
   Mixin
   ミックスイン
------------------------------------------------------------ */
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* Reset
================================================== */
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*, ::before, ::after {
  border-width: 0;
  border-style: solid;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-weight: inherit;
  font-size: inherit;
}

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

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  clear: both;
  height: 0;
  margin: 0;
  overflow: visible;
  border-top-width: 1px;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  color: inherit;
}

pre {
  font-size: inherit;
  font-family: monospace, monospace;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  color: inherit;
  cursor: pointer;
  text-decoration: none;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-size: inherit;
  font-family: monospace, monospace;
}

small {
  font-size: 80%;
}

sub, sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg, img, embed, object, iframe {
  vertical-align: bottom;
}

button, input, optgroup, textarea {
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: inherit;
  text-transform: inherit;
  vertical-align: middle;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

button, [type=button], [type=reset], [type=submit] {
  cursor: pointer;
}

button:disabled, [type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
}

caption {
  text-align: left;
}

td, th {
  padding: 0;
  vertical-align: top;
}

th {
  font-weight: 700;
  text-align: left;
}

/* ------------------------------------------------------------
   Base
   サイト全体を通して使う基本スタイル
------------------------------------------------------------ */
html {
  width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 62.5%;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
}

*,
*::before,
*::after {
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
}

body {
  font-size: 16px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #fcfaf9;
  width: 100%;
  line-height: 1.8;
  letter-spacing: 1px;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}
body.is-active {
  position: fixed;
  width: 100%;
  height: 100%;
}

img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}

a:-moz-any-link {
  cursor: pointer;
}

a:any-link {
  cursor: pointer;
}

a:-moz-any-link img, a:-moz-any-link svg {
  cursor: pointer;
}

a:any-link img,
a:any-link svg {
  cursor: pointer;
}

#wrapper a:-moz-any-link {
  cursor: pointer;
}

#wrapper a:any-link {
  cursor: pointer;
}

#wrapper a:-moz-any-link img, #wrapper a:-moz-any-link svg {
  cursor: pointer;
}

#wrapper a:any-link img,
#wrapper a:any-link svg {
  cursor: pointer;
}

a img {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

small {
  font-size: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dt,
dd,
ul,
li,
table,
th,
td,
button,
input,
div {
  color: #311303;
  line-height: 1.8;
}

/* ------------------------------------------------------------
   Layout
   サイト全体を通して使うレイアウト
------------------------------------------------------------ */
#wrapper {
  position: relative;
  width: 100%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #wrapper {
    margin-top: 60px;
  }
}

.contents {
  position: relative;
}
.contents__wrap {
  position: relative;
  max-width: 980px;
  margin: 0 auto;
  width: 90%;
}
@media screen and (max-width: 767px) {
  .contents__wrap {
    width: 94%;
  }
}
.contents__wrap02 {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
  width: calc(100% - 240px);
}
@media screen and (max-width: 1199px) {
  .contents__wrap02 {
    width: calc(100% - 120px);
  }
}
@media screen and (max-width: 767px) {
  .contents__wrap02 {
    width: 94%;
  }
}

.l_cont {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .l_cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.c_pageMain {
  margin: 0 auto;
  padding-top: 160px;
  margin-bottom: 152px;
  width: calc(100% - 120px - 30%);
  margin-left: 120px;
}
@media screen and (max-width: 980px) {
  .c_pageMain {
    width: calc(100% - 64px - 30%);
    margin-left: 64px;
  }
}
@media screen and (max-width: 767px) {
  .c_pageMain {
    width: 100%;
    padding-top: 40px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 0;
  }
}
.c_pageMain__inner {
  width: auto;
  margin-right: 80px;
}
@media screen and (max-width: 980px) {
  .c_pageMain__inner {
    margin-right: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c_pageMain__inner {
    margin: 0 20px;
  }
}

.l_twoColumn {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 64px;
}
@media screen and (max-width: 980px) {
  .l_twoColumn {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.l_twoColumn--box01 {
  width: 36%;
}
.l_twoColumn--box01 img {
  width: 100%;
}
@media screen and (max-width: 980px) {
  .l_twoColumn--box01 {
    width: 100%;
  }
}
.l_twoColumn--box02 {
  width: 64%;
}
.l_twoColumn--box02 img {
  width: 100%;
}
@media screen and (max-width: 980px) {
  .l_twoColumn--box02 {
    width: 100%;
  }
}

.l_grid {
  display: -ms-grid;
  display: grid;
  gap: 30px;
}
.l_grid--col2 {
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  .l_grid--col2 {
    -ms-grid-columns: 1fr;
    grid-template-columns: repeat(1, 1fr);
    gap: 48px;
  }
}
.l_grid--col3 {
  -ms-grid-columns: 1fr 12px 1fr 12px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
@media screen and (max-width: 980px) {
  .l_grid--col3 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.l_grid--col4 {
  -ms-grid-columns: (1fr)[4];
  grid-template-columns: repeat(4, 1fr);
}
@media screen and (max-width: 767px) {
  .l_grid--col4 {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.l_grid__item img {
  width: 100%;
}

/* ------------------------------------------------------------
   Header
   ヘッダーのレイアウト
------------------------------------------------------------ */
.header {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#FCFAF9), color-stop(77%, rgba(252, 250, 249, 0.5607843137)), to(rgba(252, 250, 249, 0)));
  background: linear-gradient(to bottom, #FCFAF9 0%, rgba(252, 250, 249, 0.5607843137) 77%, rgba(252, 250, 249, 0) 100%);
  -webkit-box-shadow: 10px 0 30px rgba(125, 150, 87, 0.04);
          box-shadow: 10px 0 30px rgba(125, 150, 87, 0.04);
  padding-bottom: 35px;
}
@media screen and (max-width: 980px) {
  .header {
    height: 60px;
    padding-bottom: 36px;
    background-color: #fcfaf9;
  }
}
@media screen and (max-width: 767px) {
  .header {
    padding-bottom: 0px;
  }
}
.header__wrap {
  width: 96%;
  margin: 0 auto;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 980px) {
  .header__wrap {
    padding: 16px 72px 16px 12px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .header__wrap {
    padding: 8px 20px 8px 20px;
  }
}
.header__logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 260px;
}
@media screen and (max-width: 980px) {
  .header__logo {
    max-width: 172px;
    margin-bottom: 0;
  }
}
.header__logo img {
  width: 100%;
}
.header__submenu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  margin-bottom: 20px;
  padding-top: 16px;
}
@media screen and (max-width: 980px) {
  .header__submenu {
    display: none;
  }
}
.header__submenu .web a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.header__submenu .web a::before {
  display: inline-block;
  content: " ";
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/ico_memo.svg);
          mask-image: url(../img/ico_memo.svg);
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #965d57;
}
.header__submenu .web a:hover {
  opacity: 0.75;
}
.header__submenu .reservation a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.header__submenu .reservation a::before {
  display: inline-block;
  content: " ";
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/ico_web.svg);
          mask-image: url(../img/ico_web.svg);
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #965d57;
}
.header__submenu .reservation a:hover {
  opacity: 0.75;
}
.header__submenu .tel a {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.header__submenu .tel a::before {
  display: inline-block;
  content: " ";
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/ico_tel.svg);
          mask-image: url(../img/ico_tel.svg);
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #965d57;
}
.header__submenu .tel a:hover {
  opacity: 0.75;
}
.header__submenu .tel img {
  width: 18px;
  height: 18px;
}
.header__submenu .access a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.header__submenu .access a::before {
  display: inline-block;
  content: " ";
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/ico_access.svg);
          mask-image: url(../img/ico_access.svg);
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  background-color: #965d57;
}
.header__submenu .access a:hover {
  opacity: 0.75;
}
.header__submenu .access img {
  width: 18px;
  height: 18px;
}
.header__submenu .header__submenu-search {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header__submenu .header__searchForm {
  display: block;
  margin: 0;
}
.header__submenu .header__searchPill {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent;
  border: 1px solid #965d57;
  border-radius: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  padding: 5px 20px;
}
.header__submenu .header__searchLabel {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.header__submenu .header__searchIcon {
  background-color: #965d57;
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 18px;
  mask-image: url(../img/ico_search.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: 18px;
  -webkit-mask-image: url(../img/ico_search.svg);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.header__submenu .header__searchInput {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  background: transparent;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #864e4a;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 0;
  width: 6em;
}
.header__submenu .header__searchInput::-webkit-input-placeholder {
  color: #965d57;
  opacity: 1;
}
.header__submenu .header__searchInput::-moz-placeholder {
  color: #965d57;
  opacity: 1;
}
.header__submenu .header__searchInput:-ms-input-placeholder {
  color: #965d57;
  opacity: 1;
}
.header__submenu .header__searchInput::-ms-input-placeholder {
  color: #965d57;
  opacity: 1;
}
.header__submenu .header__searchInput::placeholder {
  color: #965d57;
  opacity: 1;
}
.header__submenu .header__searchInput:focus {
  outline: none;
}
.header__submenu-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 32px;
}
@media screen and (max-width: 980px) {
  .header__nav {
    display: none;
  }
}
.header__nav__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
.header__nav__menu > li {
  position: relative;
  padding-bottom: 20px;
}
.header__nav__menu > li + li::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 20%;
  -webkit-transform: translateY(-20%);
          transform: translateY(-20%);
  width: 1px;
  height: 1.4em;
  background-color: #E2DDDB;
  pointer-events: none;
}
.header__nav__menu > li a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
  text-decoration: none;
}
.header__nav__menu > li .header__nav__sub {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%, 10px);
          transform: translate(-50%, 10px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background-color: #fefefd;
  padding: 20px;
  border-radius: 3px;
  z-index: 9999;
  min-width: 200px;
  -webkit-box-shadow: 10px 0 30px rgba(125, 150, 87, 0.07);
          box-shadow: 10px 0 30px rgba(125, 150, 87, 0.07);
  -webkit-transition: opacity 0.35s ease-out, visibility 0.35s ease-out, -webkit-transform 0.35s ease-out;
  transition: opacity 0.35s ease-out, visibility 0.35s ease-out, -webkit-transform 0.35s ease-out;
  transition: opacity 0.35s ease-out, transform 0.35s ease-out, visibility 0.35s ease-out;
  transition: opacity 0.35s ease-out, transform 0.35s ease-out, visibility 0.35s ease-out, -webkit-transform 0.35s ease-out;
}
.header__nav__menu > li .header__nav__sub li {
  margin-bottom: 10px;
}
.header__nav__menu > li .header__nav__sub li:last-child {
  margin-bottom: 0;
}
.header__nav__menu > li .header__nav__sub li a {
  font-size: 1.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  text-decoration: none;
}
.header__nav__menu > li .header__nav__sub li a::before {
  content: "-";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 0.35em;
}
.header__nav__menu > li .header__nav__sub li a:hover {
  color: #864e4a;
}
.header__nav__menu > li:hover > a {
  opacity: 0.75;
}
.header__nav__menu > li:visited, .header__nav__menu > li:focus, .header__nav__menu > li:active {
  color: #965d57;
  text-decoration: none;
}
.header__nav .has-sub:hover > .header__nav__sub {
  opacity: 1;
  visibility: visible;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
  pointer-events: auto;
}
.header__nav__btn {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  text-decoration: none;
  background-color: #965d57;
  color: #fefefd;
  padding: 8px 20px;
  border-radius: 40px;
}

/* ------------------------------------------------------------
   Footer
   フッターのレイアウト
------------------------------------------------------------ */
.c_ft {
  margin-top: 120px;
}
.c_ft__bottom {
  background: -webkit-gradient(linear, left top, left bottom, from(#f6efed), to(#cea69e));
  background: linear-gradient(180deg, #f6efed, #cea69e);
  padding: 88px 0;
}
@media screen and (max-width: 767px) {
  .c_ft__bottom {
    padding: 64px 0 152px;
  }
}
.c_ft__bottom .l_twoColumn {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
}
.c_ft__bottom .l_twoColumn--box01 {
  width: 50%;
  max-width: 300px;
}
@media screen and (max-width: 980px) {
  .c_ft__bottom .l_twoColumn--box01 {
    width: 100%;
    margin: 0 auto;
  }
}
.c_ft__bottom .l_twoColumn--box02 {
  width: 50%;
  max-width: 300px;
}
@media screen and (max-width: 980px) {
  .c_ft__bottom .l_twoColumn--box02 {
    width: 100%;
    margin: 0 auto;
  }
}
.c_ft__logoBlack {
  max-width: 310px;
  margin: 0 auto 56px;
}
@media screen and (max-width: 767px) {
  .c_ft__logoBlack {
    max-width: 260px;
  }
}
.c_ft__navList {
  display: -ms-grid;
  display: grid;
  gap: 16px 24px;
  -ms-grid-columns: 1fr 24px 1fr 24px 1fr 24px 1fr 24px 1fr;
  grid-template-columns: repeat(5, 1fr);
  margin-bottom: 56px;
}
@media screen and (max-width: 767px) {
  .c_ft__navList {
    gap: 40px 24px;
    -ms-grid-columns: 1fr 24px 1fr;
    grid-template-columns: repeat(2, 1fr);
    margin-bottom: 40px;
  }
}
.c_ft__subList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.c_ft__subListLink {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #311303;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 12px;
  max-width: 100%;
  padding-bottom: 8px;
  text-decoration: none;
  width: 100%;
  -webkit-transition: opacity 0.35s ease-out;
  transition: opacity 0.35s ease-out;
}
@media screen and (max-width: 767px) {
  .c_ft__subListLink {
    font-size: 16px;
  }
}
.c_ft__subListLink::after {
  display: inline-block;
  background-image: url(../img/ico_arrow01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 8px;
  width: 24px;
}
.c_ft__subListLink:hover {
  opacity: 0.75;
}
.c_ft__subListLink.sub {
  font-size: 14px;
}
.c_ft__subList + .c_ft__subListLink.sub {
  margin-top: 136px;
}
@media screen and (max-width: 767px) {
  .c_ft__subList + .c_ft__subListLink.sub {
    margin-top: 40px;
  }
}
.c_ft__subListItem > a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  padding-bottom: 4px;
  -webkit-transition: color 0.35s ease-out;
  transition: color 0.35s ease-out;
}
.c_ft__subListItem > a:hover {
  color: #864e4a;
}
.c_ft__subListItem--sub > a {
  font-size: 14px;
  padding-bottom: 4px;
  -webkit-transition: color 0.35s ease-out;
  transition: color 0.35s ease-out;
}
.c_ft__subListItem--sub > a:hover {
  color: #864e4a;
}
.c_ft__navLink {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: rgba(254, 254, 253, 0.45);
  border-radius: 8px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  line-height: 1.2;
  padding: 12px 20px;
  text-decoration: none;
  margin-bottom: 48px;
  width: 100%;
  -webkit-transition: opacity 0.35s ease-out;
  transition: opacity 0.35s ease-out;
}
@media screen and (max-width: 980px) {
  .c_ft__navLink {
    padding: 12px 16px;
    max-width: 300px;
    margin: 0 auto;
  }
}
.c_ft__navLink::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 44px;
  width: 48px;
}
.c_ft__navLink:hover {
  opacity: 0.75;
}
.c_ft__navLink.--tsumugi::before {
  background-image: url("../img/ico_tsumugi.svg");
}
.c_ft__navLink.--kawaguchi::before {
  background-image: url("../img/ico_kawaguchi.svg");
}
.c_ft__navLink::after {
  display: inline-block;
  background-image: url(../img/ico_link.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  background-position: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 12px;
  width: 12px;
}
.c_ft__navLink > span {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.c_ft__copyright {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 980px) {
  .c_ft__copyright {
    margin-top: 40px;
  }
}

/* ------------------------------------------------------------
   Layout GNAV
   グローバルナビゲーションのレイアウト
------------------------------------------------------------ */
.c_menuBtn {
  display: none;
  position: fixed;
  top: 5px;
  right: 10px;
  width: 34px;
  height: 34px;
  cursor: pointer;
  text-align: center;
  z-index: 101;
}
@media screen and (max-width: 980px) {
  .c_menuBtn {
    display: block;
  }
}
.c_menuBtn__line {
  font-size: 0;
  position: absolute;
  top: 18px;
  left: 50%;
  width: 24px;
  height: 12px;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c_menuBtn__line::before, .c_menuBtn__line::after {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #311303;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.c_menuBtn__line::before {
  top: 0;
}
.c_menuBtn__line::after {
  top: 6px;
}
.c_menuBtn__label {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  display: inline-block;
  -webkit-margin-before: 20px;
          margin-block-start: 20px;
}
.c_menuBtn__label::after {
  display: inline-block;
  content: "menu";
}

#js-sideMenuBtn.is-active .c_menuBtn__line::before {
  -webkit-transform: translateY(3px) rotate(-25deg);
          transform: translateY(3px) rotate(-25deg);
  background: #311303;
}
#js-sideMenuBtn.is-active .c_menuBtn__line::after {
  -webkit-transform: translateY(-3px) rotate(25deg);
          transform: translateY(-3px) rotate(25deg);
  background: #311303;
}
#js-sideMenuBtn.is-active .c_menuBtn__label::after {
  content: "close";
}

.c_overlay {
  position: fixed;
  top: 0;
  display: none;
  width: 100%;
  height: 100%;
  background-color: #F5F0EC;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 100;
}
.c_overlay__header {
  padding: 80px 20px 0 20px;
  text-align: center;
}
.c_overlay__header .c_overlay__web {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.4rem;
  text-align: center;
  padding: 12px 0;
  background-color: #965d57;
  border-radius: 50px;
  color: #fefefd;
  margin-bottom: 15px;
}
.c_overlay__header .c_overlay__web::before {
  display: inline-block;
  background-image: url(../img/ico_web.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 22px;
  height: 17px;
  margin-right: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c_overlay__header .c_overlay__tel {
  display: inline-block;
  font-size: 2.4rem;
  margin-bottom: 20px;
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #965d57;
  letter-spacing: 0.08em;
  text-align: center;
  border-bottom: solid 1px #965d57;
}
.c_overlay__header .c_overlay__tel span {
  font-size: 1.6rem;
}
.c_overlay__content {
  padding: 80px 20px 0 20px;
}
.c_overlay__list {
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
}
.c_overlay__list__item {
  border-bottom: 1px solid #311303;
}
.c_overlay__list__item .c_overlay__parent {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 12px 0;
  position: relative;
}
.c_overlay__list__item .c_overlay__parentLink {
  font-size: 16px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  text-decoration: none;
}
.c_overlay__list__item .c_overlay__accordionBtn {
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 32px;
  margin-left: 16px;
  position: relative;
  width: 32px;
}
.c_overlay__list__item.js-accordionItem .js-accordionTrigger::after {
  content: "";
  display: inline-block;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  display: inline-block;
  background-image: url(../img/ico_plus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 19px;
  height: 19px;
}
.c_overlay__list__item.js-accordionItem.is-open .js-accordionTrigger::after {
  content: "";
  display: inline-block;
  background-image: url(../img/ico_minus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 19px;
  height: 19px;
}
.c_overlay__list__item .c_overlay__list__item-submenu {
  display: none;
  padding: 0 16px;
  margin-bottom: 20px;
}
.c_overlay__list__item .c_overlay__list__item-submenu li {
  margin-bottom: 4px;
}
.c_overlay__list__item .c_overlay__list__item-submenu li:last-child {
  margin-bottom: 0;
}
.c_overlay__list__item .c_overlay__list__item-submenu li a {
  font-size: 16px;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.c_overlay__listSub {
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  margin-left: auto;
  margin-top: 20px;
  width: 50%;
}
.c_overlay__listSub__item {
  border-bottom: 1px solid #311303;
}
.c_overlay__listSub__item a {
  font-size: 14px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
  padding: 0 0 12px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.c_overlay__listSub__item a::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 50%;
  right: 16px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  display: inline-block;
  background-image: url(../img/ico_arrow01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 16px;
  height: 8px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c_overlay__bottom {
  padding: 0 20px;
  margin-top: 32px;
}
.c_overlay__btn {
  display: -ms-grid;
  display: grid;
  gap: 12px;
  -ms-grid-columns: 1fr 12px 1fr;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 12px;
}
.c_overlay__btn .c_overlay__tel {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #864e4a;
  border-radius: 4px;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 4px 8px;
  position: relative;
  text-align: center;
}
.c_overlay__btn .c_overlay__tel::before {
  display: inline-block;
  background-image: url(../img/ico_tel.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 18px;
  width: 18px;
}
.c_overlay__btn .c_overlay__cta {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 13px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #965d57;
  border-radius: 4px;
  color: #fefefd;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  padding: 4px;
  position: relative;
  text-align: center;
}
.c_overlay__btn .c_overlay__cta::after {
  display: inline-block;
  content: " ";
  -webkit-mask-position: center center;
          mask-position: center center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-image: url(../img/ico_link.svg);
          mask-image: url(../img/ico_link.svg);
  background-color: #fefefd;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 14px;
  width: 14px;
}
.c_overlay__search {
  margin-top: 12px;
  width: 100%;
}
.c_overlay__search__form {
  display: block;
  margin: 0;
  width: 100%;
}
.c_overlay__search__label {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
.c_overlay__search__pill {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: transparent;
  border: 1px solid #965d57;
  border-radius: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
  padding: 5px 20px;
  width: 100%;
}
.c_overlay__search__icon {
  background-color: #965d57;
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 18px;
  mask-image: url(../img/ico_search.svg);
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  width: 18px;
  -webkit-mask-image: url(../img/ico_search.svg);
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}
.c_overlay__search__input {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  background: transparent;
  border: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #864e4a;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  padding: 0;
  width: 100%;
}
.c_overlay__search__input::-webkit-input-placeholder {
  color: #965d57;
  opacity: 1;
}
.c_overlay__search__input::-moz-placeholder {
  color: #965d57;
  opacity: 1;
}
.c_overlay__search__input:-ms-input-placeholder {
  color: #965d57;
  opacity: 1;
}
.c_overlay__search__input::-ms-input-placeholder {
  color: #965d57;
  opacity: 1;
}
.c_overlay__search__input::placeholder {
  color: #965d57;
  opacity: 1;
}
.c_overlay__search__input:focus {
  outline: none;
}
.c_overlay__link {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 12px 0;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.c_overlay__icons {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 12px 1fr 12px 1fr;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}
.c_overlay__ico {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -o-object-fit: contain;
     object-fit: contain;
  width: 16%;
}
.c_overlay__ico img {
  width: 100%;
  max-width: 30px;
}

/* ------------------------------------------------------------
   Fixed
   ヘッダー以外のfix固定ボタン
------------------------------------------------------------ */
.c_spToc {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 50;
  padding-bottom: env(safe-area-inset-bottom, 0);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .c_spToc {
    display: block;
  }
}
.c_spToc__head {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}
.c_spToc__line {
  background-color: #965d57;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  height: 1px;
  margin-bottom: 0;
  min-width: 0;
}
.c_spToc__tab {
  background-color: #965d57;
  border-radius: 8px 8px 0 0;
  color: #fefefd;
  cursor: pointer;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
  padding: 8px 16px;
}
.c_spToc__title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
  font-size: 14px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #fefefd;
  line-height: 1.3;
  margin: 0;
}
.c_spToc__title::before {
  display: inline-block;
  background-image: url(../img/ico_list.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  background-position: center;
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 14px;
  width: 14px;
}
.c_spToc__body {
  background-color: rgba(254, 254, 253, 0.92);
  border-top: none;
  display: none;
  padding: 12px 20px 8px 20px;
}
.c_spToc__grid {
  display: -ms-grid;
  display: grid;
  gap: 4px 24px;
  -ms-grid-columns: 1fr 24px 1fr;
  grid-template-columns: 1fr 1fr;
  list-style: none;
  margin: 0;
  padding: 0;
}
.c_spToc__item {
  margin: 0;
}
.c_spToc__link {
  color: #311303;
  display: block;
  font-size: 14px;
  line-height: 1.8;
  text-decoration: none;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}
.c_spToc__link:hover {
  text-decoration: underline;
}

/* ------------------------------------------------------------
   Pageheader
   ページヘッダーのレイアウト
------------------------------------------------------------ */
.c_pageHeader--01 {
  background-image: url(../img/page_header01.webp);
}
.c_pageHeader--02 {
  background-image: url(../img/page_header02.webp);
}
.c_pageHeader--03 {
  background-image: url(../img/page_header03.webp);
}

.c_pageHeader {
  -ms-flex-item-align: start;
      align-self: flex-start;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 0 0 40px 0;
  overflow: hidden;
  width: 30%;
  position: sticky;
  top: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  min-height: 560px;
}
@media screen and (max-width: 980px) {
  .c_pageHeader {
    width: 30%;
    min-height: 480px;
  }
}
@media screen and (max-width: 767px) {
  .c_pageHeader {
    margin-left: 0;
    min-height: 240px;
    position: relative;
    top: 0;
    width: 100%;
  }
}
.c_pageHeader__inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  max-width: 100%;
  min-height: 100%;
  padding: 160px 40px 80px;
  position: relative;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 980px) {
  .c_pageHeader__inner {
    padding: 80px 32px;
  }
}
@media screen and (max-width: 767px) {
  .c_pageHeader__inner {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    padding: 24px 24px 48px 24px;
  }
}
.c_pageHeader__ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #fefefd;
  display: inline-block;
  line-height: 1.8;
  max-width: 100%;
  padding-top: 72px;
  padding-left: 72px;
  position: relative;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media screen and (max-width: 767px) {
  .c_pageHeader__ttl {
    font-size: 22px;
    padding-top: 56px;
    padding-left: 64px;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    -webkit-transform: none;
            transform: none;
  }
}
.c_pageHeader__ttl::before {
  content: "";
  position: absolute;
  width: 150px;
  height: 160px;
  left: 0;
  top: 0;
  background-image: url(../img/headline_white.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .c_pageHeader__ttl::before {
    height: 130px;
    width: 120px;
  }
}
.c_pageHeader__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 8px;
  list-style: none;
  margin-top: 96px;
  text-align: right;
}
@media screen and (max-width: 980px) {
  .c_pageHeader__list {
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .c_pageHeader__list {
    margin-top: 24px;
    width: 100%;
  }
}
.c_pageHeader__list a {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  color: #fefefd;
  text-decoration: none;
  padding-right: 12px;
}
@media screen and (max-width: 980px) {
  .c_pageHeader__list a {
    font-size: 16px;
  }
}
@media screen and (max-width: 767px) {
  .c_pageHeader__list a {
    font-size: 14px;
  }
}
.c_pageHeader__list a.is-current {
  color: #fefefd;
  display: inline-block;
  padding-right: 12px;
  position: relative;
  text-decoration: none;
}
.c_pageHeader__list a.is-current::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: calc(100% - 12px);
  height: 1px;
  background-color: #fefefd;
}
.c_pageHeader__list a.is-current::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px;
  height: 8px;
  border: 1px solid #fefefd;
  border-radius: 50%;
  margin-left: 8px;
}
@media screen and (max-width: 767px) {
  .c_pageHeader__list a.is-current {
    display: inline;
    position: static;
    padding-right: 12px;
  }
  .c_pageHeader__list a.is-current::before, .c_pageHeader__list a.is-current::after {
    content: none;
    display: none;
  }
}

/* ------------------------------------------------------------
   Utility
   ユーティリティクラス
------------------------------------------------------------ */
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 1199px) {
  .flex.is-responsive-tb {
    display: block !important;
  }
  .flex.is-responsive-tb > * {
    width: 100% !important;
    margin-right: 0 !important;
  }
  .flex.is-responsive-tb > * + * {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 980px) {
  .flex.is-responsive-tb-sm {
    display: block !important;
  }
  .flex.is-responsive-tb-sm > * {
    width: 100% !important;
    margin-right: 0 !important;
  }
  .flex.is-responsive-tb-sm > * + * {
    margin-top: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .flex.is-responsive {
    display: block !important;
  }
  .flex.is-responsive > * {
    width: 100% !important;
    margin-right: 0 !important;
  }
  .flex.is-responsive > * + * {
    margin-top: 4rem;
  }
}

/* ------------------------------------------------------------
other
------------------------------------------------------------ */
@media screen and (max-width: 767px) {
  .pc,
  .u_pcOnly {
    display: none !important;
  }
}

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

.tb,
.tb-hide {
  display: block !important;
}
@media screen and (max-width: 1199px) {
  .tb,
  .tb-hide {
    display: none !important;
  }
}

.tb-show {
  display: none !important;
}
@media screen and (max-width: 1199px) {
  .tb-show {
    display: block !important;
  }
}

.tb-sm,
.tb-sm-show {
  display: none !important;
}
@media screen and (max-width: 980px) {
  .tb-sm,
  .tb-sm-show {
    display: block !important;
  }
}

@media screen and (max-width: 980px) {
  .tb-sm-hide {
    display: none !important;
  }
}

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

/* ------------------------------------------------------------
text
------------------------------------------------------------ */
strong,
.u_bold {
  font-weight: bold;
  font-weight: 700;
}

.u_txtCheck {
  color: #ff6347;
}

.u_txtRed {
  color: #ff6347;
}

.u_txtSmall {
  font-size: 1.2rem;
  line-height: 1.5;
}

.u_txtLarge {
  font-size: 1.8rem;
}

.u_underline {
  padding-bottom: 2px;
  border-bottom: 1px solid;
}

.u_lsNone {
  letter-spacing: 0 !important;
}

.u_brText br:not(.u_brTextPc) {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u_brText br:not(.u_brTextPc) {
    display: block !important;
  }
}

.u_brTextPc {
  display: block !important;
}

.u_txtLeft {
  text-align: left !important;
}

.u_txtRight {
  text-align: right !important;
}

.u_txtCenter {
  text-align: center !important;
}

.u_txtCenterToLeft {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  .u_txtCenterToLeft {
    text-align: left !important;
  }
}

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

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

.u_oneBlockImg {
  width: 75% !important;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  .u_oneBlockImg {
    width: 100% !important;
  }
}

.u_center {
  margin: 0 auto !important;
}

/* ------------------------------------------------------------
width
------------------------------------------------------------ */
.u_wid0 {
  width: 0 !important;
}

.u_wid10 {
  width: 10% !important;
}

.u_wid20 {
  width: 20% !important;
}

.u_wid30 {
  width: 30% !important;
}

.u_wid40 {
  width: 40% !important;
}

.u_wid50 {
  width: 50% !important;
}

.u_wid60 {
  width: 60% !important;
}

.u_wid70 {
  width: 70% !important;
}

.u_wid75 {
  width: 75% !important;
}

.u_wid80 {
  width: 80% !important;
}

.u_wid90 {
  width: 90% !important;
}

.u_wid100 {
  width: 100% !important;
}

@media screen and (max-width: 767px) {
  .u_spWid0 {
    width: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid10 {
    width: 10% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid20 {
    width: 20% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid30 {
    width: 30% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid40 {
    width: 40% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid50 {
    width: 50% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid60 {
    width: 60% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid70 {
    width: 70% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid75 {
    width: 75% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid80 {
    width: 80% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid90 {
    width: 90% !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spWid100 {
    width: 100% !important;
  }
}

/* ------------------------------------------------------------
margin
------------------------------------------------------------ */
.u_mt0 {
  margin-top: 0 !important;
}

.u_mt10 {
  margin-top: 10px !important;
}

.u_mt20 {
  margin-top: 20px !important;
}

.u_mt30 {
  margin-top: 30px !important;
}

.u_mt40 {
  margin-top: 40px !important;
}

.u_mt50 {
  margin-top: 50px !important;
}

.u_mt60 {
  margin-top: 60px !important;
}

.u_mt70 {
  margin-top: 70px !important;
}

.u_mt80 {
  margin-top: 80px !important;
}

.u_mt90 {
  margin-top: 90px !important;
}

.u_mt100 {
  margin-top: 100px !important;
}

@media screen and (max-width: 767px) {
  .u_spMt0 {
    margin-top: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt10 {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt20 {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt30 {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt40 {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt50 {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt60 {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt70 {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt80 {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt90 {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMt100 {
    margin-top: 100px !important;
  }
}

.u_mr0 {
  margin-right: 0 !important;
}

.u_mr10 {
  margin-right: 10px !important;
}

.u_mr20 {
  margin-right: 20px !important;
}

.u_mr30 {
  margin-right: 30px !important;
}

.u_mr40 {
  margin-right: 40px !important;
}

.u_mr50 {
  margin-right: 50px !important;
}

.u_mr60 {
  margin-right: 60px !important;
}

.u_mr70 {
  margin-right: 70px !important;
}

.u_mr80 {
  margin-right: 80px !important;
}

.u_mr90 {
  margin-right: 90px !important;
}

.u_mr100 {
  margin-right: 100px !important;
}

@media screen and (max-width: 767px) {
  .u_spMr0 {
    margin-right: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr10 {
    margin-right: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr20 {
    margin-right: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr30 {
    margin-right: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr40 {
    margin-right: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr50 {
    margin-right: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr60 {
    margin-right: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr70 {
    margin-right: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr80 {
    margin-right: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr90 {
    margin-right: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMr100 {
    margin-right: 100px !important;
  }
}

.u_mb0 {
  margin-bottom: 0 !important;
}

.u_mb10 {
  margin-bottom: 10px !important;
}

.u_mb20 {
  margin-bottom: 20px !important;
}

.u_mb30 {
  margin-bottom: 30px !important;
}

.u_mb40 {
  margin-bottom: 40px !important;
}

.u_mb50 {
  margin-bottom: 50px !important;
}

.u_mb60 {
  margin-bottom: 60px !important;
}

.u_mb70 {
  margin-bottom: 70px !important;
}

.u_mb80 {
  margin-bottom: 80px !important;
}

.u_mb90 {
  margin-bottom: 90px !important;
}

.u_mb100 {
  margin-bottom: 100px !important;
}

@media screen and (max-width: 767px) {
  .u_spMb0 {
    margin-bottom: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMb100 {
    margin-bottom: 100px !important;
  }
}

.u_ml0 {
  margin-left: 0 !important;
}

.u_ml10 {
  margin-left: 10px !important;
}

.u_ml20 {
  margin-left: 20px !important;
}

.u_ml30 {
  margin-left: 30px !important;
}

.u_ml40 {
  margin-left: 40px !important;
}

.u_ml50 {
  margin-left: 50px !important;
}

.u_ml60 {
  margin-left: 60px !important;
}

.u_ml70 {
  margin-left: 70px !important;
}

.u_ml80 {
  margin-left: 80px !important;
}

.u_ml90 {
  margin-left: 90px !important;
}

.u_ml100 {
  margin-left: 100px !important;
}

@media screen and (max-width: 767px) {
  .u_spMl0 {
    margin-left: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl10 {
    margin-left: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl20 {
    margin-left: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl30 {
    margin-left: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl40 {
    margin-left: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl50 {
    margin-left: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl60 {
    margin-left: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl70 {
    margin-left: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl80 {
    margin-left: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl90 {
    margin-left: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u_spMl100 {
    margin-left: 100px !important;
  }
}

.u_mc {
  margin: 0 auto !important;
}

/* ------------------------------------------------------------
padding
------------------------------------------------------------ */
.u_pt0 {
  padding-top: 0 !important;
}

.u_pt10 {
  padding-top: 10px !important;
}

.u_pt20 {
  padding-top: 20px !important;
}

.u_pt30 {
  padding-top: 30px !important;
}

.u_pt40 {
  padding-top: 40px !important;
}

.u_pt50 {
  padding-top: 50px !important;
}

.u_pt60 {
  padding-top: 60px !important;
}

.u_pt70 {
  padding-top: 70px !important;
}

.u_pt80 {
  padding-top: 80px !important;
}

.u_pt90 {
  padding-top: 90px !important;
}

.u_pt100 {
  padding-top: 100px !important;
}

.u_pr0 {
  padding-right: 0 !important;
}

.u_pr10 {
  padding-right: 10px !important;
}

.u_pr20 {
  padding-right: 20px !important;
}

.u_pr30 {
  padding-right: 30px !important;
}

.u_pr40 {
  padding-right: 40px !important;
}

.u_pr50 {
  padding-right: 50px !important;
}

.u_pr60 {
  padding-right: 60px !important;
}

.u_pr70 {
  padding-right: 70px !important;
}

.u_pr80 {
  padding-right: 80px !important;
}

.u_pr90 {
  padding-right: 90px !important;
}

.u_pr100 {
  padding-right: 100px !important;
}

.u_pb0 {
  padding-bottom: 0 !important;
}

.u_pb10 {
  padding-bottom: 10px !important;
}

.u_pb20 {
  padding-bottom: 20px !important;
}

.u_pb30 {
  padding-bottom: 30px !important;
}

.u_pb40 {
  padding-bottom: 40px !important;
}

.u_pb50 {
  padding-bottom: 50px !important;
}

.u_pb60 {
  padding-bottom: 60px !important;
}

.u_pb70 {
  padding-bottom: 70px !important;
}

.u_pb80 {
  padding-bottom: 80px !important;
}

.u_pb90 {
  padding-bottom: 90px !important;
}

.u_pb100 {
  padding-bottom: 100px !important;
}

.u_pl0 {
  padding-left: 0 !important;
}

.u_pl10 {
  padding-left: 10px !important;
}

.u_pl20 {
  padding-left: 20px !important;
}

.u_pl30 {
  padding-left: 30px !important;
}

.u_pl40 {
  padding-left: 40px !important;
}

.u_pl50 {
  padding-left: 50px !important;
}

.u_pl60 {
  padding-left: 60px !important;
}

.u_pl70 {
  padding-left: 70px !important;
}

.u_pl80 {
  padding-left: 80px !important;
}

.u_pl90 {
  padding-left: 90px !important;
}

.u_pl100 {
  padding-left: 100px !important;
}

/* ------------------------------------------------------------
   Common
   共通パーツ
------------------------------------------------------------ */
.c_headline02 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 25px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  display: block;
  line-height: 1.8;
  max-width: 100%;
  padding-top: 72px;
  padding-left: 80px;
  position: relative;
  margin-top: 120px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .c_headline02 {
    font-size: 18px;
    padding-top: 48px;
    padding-left: 56px;
    margin-top: 80px;
    margin-bottom: 64px;
  }
}
.c_headline02::before {
  content: "";
  position: absolute;
  width: 150px;
  height: 160px;
  left: 0;
  top: 0;
  background-image: url(../img/headline.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .c_headline02::before {
    height: 110px;
    width: 100px;
  }
}
.c_headline02.--top {
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .c_headline02.--top {
    font-size: 18px;
  }
}
.c_headline02.--vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  max-width: 100%;
  padding-top: 80px;
  padding-left: 72px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c_headline02.--vertical {
    font-size: 18px;
    -webkit-writing-mode: horizontal-tb;
        -ms-writing-mode: lr-tb;
            writing-mode: horizontal-tb;
    -webkit-transform: none;
            transform: none;
    padding-top: 56px;
    padding-left: 64px;
  }
}
.c_headline02.--normal {
  padding-left: 0;
  padding-top: 16px;
}
.c_headline02.--normal::before {
  content: none;
  display: none;
}

.c_headline02-heart {
  text-align: center;
  margin-top: 120px;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .c_headline02-heart {
    margin-top: 80px;
    margin-bottom: 48px;
  }
}
.c_headline02-heart span {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 28px;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  display: inline-block;
  line-height: 1.8;
  max-width: 100%;
  padding-top: 64px;
  padding-left: 80px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c_headline02-heart span {
    font-size: 18px;
    padding-top: 48px;
    padding-left: 48px;
  }
}
.c_headline02-heart span::before {
  content: "";
  position: absolute;
  width: 120px;
  height: 120px;
  left: 0;
  top: 0;
  background-image: url(../img/headline-heart.svg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .c_headline02-heart span::before {
    width: 90px;
    height: 100px;
  }
}

.c_headline03 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  margin-top: 104px;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .c_headline03 {
    font-size: 20px;
    margin-top: 64px;
    margin-bottom: 40px;
  }
}
.c_headline03.--top {
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 64px;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c_headline03.--top {
    font-size: 20px;
  }
}
.c_headline03.--center {
  text-align: center;
  margin-top: 64px;
  margin-bottom: 40px;
}
.c_headline03.--gothic {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
}
@media screen and (max-width: 767px) {
  .c_headline03.--gothic {
    font-size: 20px;
  }
}

.c_headline04 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  line-height: 1.8;
  max-width: 100%;
  margin-top: 64px;
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .c_headline04 {
    font-size: 16px;
    margin-top: 48px;
    margin-bottom: 32px;
  }
}
.c_headline04::before {
  -ms-flex-item-align: stretch;
      -ms-grid-row-align: stretch;
      align-self: stretch;
  background-color: #864e4a;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 2px;
}

.c_headline05 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  margin-top: 40px;
  margin-bottom: 20px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #311303;
}
@media screen and (max-width: 767px) {
  .c_headline05 {
    font-size: 16px;
    margin-top: 32px;
    margin-bottom: 24px;
  }
}

.c_headline06 {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  background-color: #eee0dd;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: block;
  color: #864e4a;
  line-height: 1.8;
  max-width: 100%;
  padding: 8px 8px;
  text-align: center;
  margin-bottom: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c_headline06 {
    font-size: 14px;
  }
}
.c_headline06.--main2 {
  background-color: #efe8d2;
  color: #311303;
}
.c_headline06.--sub2 {
  background-color: #d0dabc;
  color: #311303;
}

.c_headline__badge {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  border: 1px solid #311303;
  border-radius: 40px;
  padding: 8px 16px;
  margin-left: 40px;
}
@media screen and (max-width: 480px) {
  .c_headline__badge {
    font-size: 14px;
    margin-left: 12px;
    padding: 4px 8px;
  }
}

.c_headlineSingle {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 25px;
  line-height: 1.4;
  margin-top: 0;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #E2DDDB;
}
@media screen and (max-width: 767px) {
  .c_headlineSingle {
    font-size: 22px;
    margin-bottom: 16px;
    padding-bottom: 12px;
  }
}
.c_headlineSingle__date {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  line-height: 1.2;
  margin-top: 0;
  margin-bottom: 64px;
}
@media screen and (max-width: 767px) {
  .c_headlineSingle__date {
    margin-bottom: 40px;
  }
}

.c_step {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F5F0EC;
  border-radius: 4px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  max-width: 100%;
  padding: 16px 20px;
  margin-top: 40px;
  margin-bottom: 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .c_step {
    font-size: 14px;
  }
}
.c_step__number {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 24px;
  color: #864e4a;
  line-height: 1;
  padding-right: 16px;
  border-right: 1px solid #965d57;
}

.c_btn, .c_btn--link, .c_btn--pdf {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .c_btn, .c_btn--link, .c_btn--pdf {
    margin-top: 20px;
  }
}
.c_btn + .c_btn, .c_btn + .c_btn--link, .c_btn + .c_btn--pdf, .c_btn--link + .c_btn, .c_btn--link + .c_btn--link, .c_btn--link + .c_btn--pdf, .c_btn--pdf + .c_btn, .c_btn--pdf + .c_btn--link, .c_btn--pdf + .c_btn--pdf {
  margin-top: 16px;
}
.c_btn a, .c_btn--link a, .c_btn--pdf a {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #311303;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 12px;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  max-width: 100%;
  padding-bottom: 8px;
  text-align: right;
  text-decoration: none;
  -webkit-transition: opacity 0.35s ease-out;
  transition: opacity 0.35s ease-out;
}
@media screen and (max-width: 767px) {
  .c_btn a, .c_btn--link a, .c_btn--pdf a {
    font-size: 14px;
  }
}
.c_btn a::after, .c_btn--link a::after, .c_btn--pdf a::after {
  display: inline-block;
  background-image: url(../img/ico_arrow01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 8px;
  width: 24px;
}
.c_btn a:hover, .c_btn--link a:hover, .c_btn--pdf a:hover {
  opacity: 0.75;
}

.c_btn--link a::after {
  display: inline-block;
  background-image: url(../img/ico_link.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 18px;
  width: 18px;
}

.c_btn--pdf a::after {
  display: inline-block;
  background-image: url(../img/ico_pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 22px;
  width: 22px;
}

.c_btn--fill {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 280px;
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .c_btn--fill {
    margin-top: 32px;
    max-width: 100%;
  }
}
.c_btn--fill a {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #efe8d2;
  border: 1px solid #E2DDDB;
  border-radius: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  cursor: pointer;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 0 16px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 100%;
  width: 100%;
  padding: 20px;
  text-decoration: none;
  -webkit-transition: opacity 0.35s ease-out;
  transition: opacity 0.35s ease-out;
}
@media screen and (max-width: 767px) {
  .c_btn--fill a {
    font-size: 14px;
    width: 100%;
    padding: 12px 16px;
  }
}
.c_btn--fill a::after {
  display: inline-block;
  background-image: url(../img/ico_link.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 18px;
  height: 18px;
}
@media screen and (max-width: 767px) {
  .c_btn--fill a::after {
    width: 18px;
    height: 18px;
    margin-left: 12px;
  }
}
.c_btn--fill a:hover {
  opacity: 0.75;
}

.c_anchorLink {
  font-size: 14px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 40px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 40px;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .c_anchorLink {
    gap: 20px;
    margin-top: 48px;
  }
}
.c_anchorLink.--top {
  margin-top: 0;
  margin-bottom: 120px;
}
.c_anchorLink.--3column {
  -ms-grid-columns: (1fr)[3];
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (max-width: 767px) {
  .c_anchorLink.--3column {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.c_anchorLink__item a {
  font-size: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 8px;
  height: 100%;
  padding-bottom: 12px;
  border-bottom: 1px solid #311303;
}
@media screen and (max-width: 767px) {
  .c_anchorLink__item a {
    font-size: 14px;
    padding-bottom: 10px;
  }
}
.c_anchorLink__item a::after {
  display: inline-block;
  background-image: url(../img/ico_arrow02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 24px;
  height: 24px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}

.border {
  border-top: 1px solid #E2DDDB;
  padding-top: 20px;
}

.c_table {
  overflow-x: auto;
  border-collapse: collapse;
  min-width: 100%;
  width: 100%;
  border-left: none;
  border-right: none;
}
.c_table th,
.c_table td {
  border-top: 1px solid #E2DDDB;
  border-bottom: 1px solid #E2DDDB;
  border-left: none;
  border-right: none;
  padding: 16px;
  vertical-align: middle;
}
@media screen and (max-width: 767px) {
  .c_table th,
  .c_table td {
    padding: 12px 8px;
  }
}
.c_table th {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  background-color: #F5F0EC;
  text-align: center;
  width: 25%;
}
.c_table td {
  background-color: #fefefd;
}
@media screen and (max-width: 767px) {
  .c_table td {
    font-size: 14px;
  }
}

.c_box {
  border: 1px dotted #965d57;
  position: relative;
  margin: 0 auto 32px;
  padding: 40px;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .c_box {
    padding: 24px;
  }
}

.is-style ul:not([class]), .is-style-list01 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 40px;
  padding-left: 0;
  line-height: 1.5;
  list-style: none;
}
.is-style ul:not([class]) li, .is-style-list01 li {
  position: relative;
  padding-left: 20px;
}
.is-style ul:not([class]) li::before, .is-style-list01 li::before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 6px;
  height: 6px;
  background: #c9a965;
}
.is-style ul:not([class]) li + li, .is-style-list01 li + li {
  margin-top: 5px;
}
.is-style ul:not([class]) li ul, .is-style-list01 li ul {
  margin-top: 4px;
  margin-left: 5px;
  list-style: none;
}
.is-style ul:not([class]) li ul li, .is-style-list01 li ul li {
  padding-left: 15px;
}
.is-style ul:not([class]) li ul li::before, .is-style-list01 li ul li::before {
  top: 0.5em;
  left: 0;
  width: 8px;
  height: 8px;
  background: #311303;
  border-radius: 100%;
}
.is-style ol:not([class]), .is-style-list02 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 40px;
  padding-left: 0;
  counter-reset: counter-name;
  line-height: 1.5;
  list-style: none;
  list-style-type: none;
}
.is-style ol:not([class]) li, .is-style-list02 li {
  position: relative;
  display: block;
  padding-left: 24px;
}
.is-style ol:not([class]) li::before, .is-style-list02 li::before {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 18px;
  color: #864e4a;
  counter-increment: counter-name;
  content: counter(counter-name) ".";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: absolute;
  left: -0.1em;
  top: -0.2em;
  text-align: left;
}
.is-style ol:not([class]) li + li, .is-style-list02 li + li {
  margin-top: 8px;
}
.is-style ol:not([class]) .ttl, .is-style-list02 .ttl {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  display: block;
  color: #864e4a;
}
.is-style-list03 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-bottom: 40px;
  padding-left: 0;
  line-height: 1.5;
  list-style: none;
}
.is-style-list03 li {
  position: relative;
  padding-left: 28px;
}
.is-style-list03 li::before {
  font-size: 17px;
  font-weight: bold;
  content: "※";
  display: inline-block;
  position: absolute;
  top: -0.05em;
  left: 0;
  color: #965d57;
}
@media screen and (max-width: 767px) {
  .is-style-list03 li::before {
    top: -2px;
  }
}
.is-style-list03 li + li {
  margin-top: 8px;
}

.c_accordion {
  display: block;
  position: relative;
  border-bottom: 1px solid #311303;
  margin-top: 56px;
}
.c_accordion.is_open .c_accordion__headline::before {
  display: inline-block;
  background-image: url(../img/ico_minus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.c_accordion__headline {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.8;
  padding: 16px 32px 16px 0;
  position: relative;
}
.c_accordion__headline::before {
  display: inline-block;
  background-image: url(../img/ico_plus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 18px;
  height: 18px;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 30px;
}
@media screen and (max-width: 767px) {
  .c_accordion__headline::before {
    right: 8px;
  }
}
@media screen and (max-width: 767px) {
  .c_accordion__headline {
    font-size: 16px;
  }
}
.c_accordion__headline::-webkit-details-marker {
  display: none;
}
.c_accordion__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  padding-left: 0;
  position: relative;
}
.c_accordion__content p {
  display: block;
  word-break: break-all;
}
.c_accordion__txt {
  padding: 20px 0;
}
.c_accordion__txt > *:not(ul) + * {
  margin-top: 20px;
}
.c_accordion + .c_accordion {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .c_accordion + .c_accordion {
    margin-top: 24px;
  }
}

.c_tabs {
  margin-top: 80px;
}
.c_tabs__nav {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 20px 1fr;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 20px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c_tabs__nav {
    gap: 0 12px;
  }
}
.c_tabs__btn {
  font-size: 18px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  width: 100%;
  padding: 12px;
  background: #fefefd;
  border: 1px solid #E2DDDB;
  border-radius: 12px 12px 0 0;
  cursor: pointer;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c_tabs__btn {
    font-size: 14px;
    padding: 10px;
  }
}
.c_tabs__btn.is-active {
  background: #efe8d2;
}
.c_tabs__panels {
  padding: 80px 40px;
  background: #fefefd;
  border-radius: 0 0 20px 20px;
}
@media screen and (max-width: 767px) {
  .c_tabs__panels {
    padding: 48px 16px;
  }
}
.c_tabs__panel {
  display: none;
  max-width: 1200px;
  margin: 0 auto;
}
.c_tabs__panel.is-active {
  display: block;
}
.c_tabs__title {
  font-size: 18px;
  font-weight: bold;
  display: block;
  width: 100%;
  margin-block: 28px 20px;
  -webkit-padding-start: 12px;
          padding-inline-start: 12px;
  border-left: 3px solid #E2DDDB;
  letter-spacing: 1px;
  line-height: 1.5;
}
.c_tabs__image {
  border-radius: 20px;
  overflow: hidden;
}

/* ------------------------------------------------------------
   blocks
   ブロック用スタイル
------------------------------------------------------------ */
.c_schedule {
  overflow-x: auto;
  width: 100%;
}
.c_schedule__tableWrap {
  overflow-x: auto;
  width: 100%;
}
.c_schedule__table {
  border-collapse: collapse;
  color: #965d57;
  min-width: 100%;
  width: 100%;
}
.c_schedule__table th,
.c_schedule__table td {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 8px 12px;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c_schedule__table th,
  .c_schedule__table td {
    padding: 4px 8px;
  }
}
.c_schedule__table thead th {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  background-color: #F8F4F1;
  border-top: 1px solid #E2DDDB;
  font-weight: 400;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c_schedule__table thead th {
    font-size: 14px;
  }
}
.c_schedule__table tbody {
  border-bottom: 1px solid #E2DDDB;
}
.c_schedule__table tbody th {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  background-color: #fefefd;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c_schedule__table tbody th {
    font-size: 14px;
    padding: 4px;
  }
}
.c_schedule__table tbody td {
  font-size: 16px;
  background-color: #fefefd;
  color: #b9837a;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c_schedule__table tbody td {
    font-size: 14px;
  }
}
.c_schedule__timeSub {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 12px;
  display: block;
  margin-top: 4px;
  white-space: nowrap;
}
.c_schedule__notes {
  margin-top: 16px;
  overflow-x: auto;
  text-align: right;
}
.c_schedule__note {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .c_schedule__note {
    font-size: 13px;
  }
}
.c_schedule__note + .c_schedule__note {
  margin-top: 4px;
}
.c_schedule__noteSym {
  color: #b9837a;
  display: inline-block;
  margin-right: 4px;
  text-align: center;
}

.c_guide {
  background-color: #F8F4F1;
  border-top: 1px solid #E2DDDB;
  border-left: 1px solid #E2DDDB;
  border-bottom: 1px solid #E2DDDB;
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  margin-left: auto;
  padding: 104px 80px 104px 40px;
}
@media screen and (max-width: 980px) {
  .c_guide {
    padding: 40px 16px;
  }
}
@media screen and (max-width: 767px) {
  .c_guide {
    width: 95%;
    padding: 40px 8px;
  }
}
.c_guide__ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid #E2DDDB;
}
@media screen and (max-width: 767px) {
  .c_guide__ttl {
    font-size: 16px;
  }
}
.c_guide__icons {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px;
}
.c_guide__icons img {
  width: 100%;
  max-width: 40px;
}
@media screen and (max-width: 767px) {
  .c_guide__icons img {
    max-width: 26px;
  }
}
.c_guide__ttlText {
  display: block;
}

/* ------------------------------------------------------------
   breadcrumbs
   パンくずリスト
------------------------------------------------------------ */
.breadcrumbs {
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: 1.4rem;
  overflow-x: auto;
  margin-left: -40px;
  margin-bottom: 104px;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .breadcrumbs {
    margin: 0 20px 40px;
  }
}
.breadcrumbs ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1200px;
}
.breadcrumbs ul li {
  position: relative;
}
.breadcrumbs ul li:not(:last-child)::after {
  display: inline-block;
  margin-left: 8px;
  content: "/";
  vertical-align: -3px;
}
.breadcrumbs ul li + li {
  margin-left: 8px;
}
.breadcrumbs ul li a {
  border-bottom: 1px solid #311303;
}
.breadcrumbs ul li a:hover {
  border-bottom: 1px solid #311303;
}
.breadcrumbs ul li span {
  overflow: hidden;
  white-space: nowrap;
  max-width: 200px;
  display: inline-block;
  text-overflow: ellipsis;
  vertical-align: middle;
}

/* ------------------------------------------------------------
   Pager
   ページャーのスタイル
------------------------------------------------------------ */
.nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-top: 40px;
  padding-bottom: 30px;
}
.nav-links span,
.nav-links a.page-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.nav-links .current,
.nav-links .page-numbers {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4rem;
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 5px;
  text-decoration: none;
  background: #fefefd;
  border: 1px solid #E2DDDB;
  border-radius: 4px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
@media screen and (max-width: 767px) {
  .nav-links .current,
  .nav-links .page-numbers {
    font-size: 16px;
    width: 33px;
    height: 33px;
  }
}
.nav-links .current:hover,
.nav-links .page-numbers:hover {
  color: #fefefd;
  background: #CEA69E;
}
.nav-links .current {
  background: #efe8d2;
}
.nav-links .prev,
.nav-links .next {
  width: 40px;
  height: 40px;
  background: #fefefd;
  border: 1px solid #E2DDDB;
  border-radius: 4px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .nav-links .prev,
  .nav-links .next {
    width: 33px;
    height: 33px;
  }
}
.nav-links .prev:hover,
.nav-links .next:hover {
  background: #efe8d2;
}
.nav-links .prev:hover:before,
.nav-links .next:hover:before {
  -webkit-filter: brightness(0) invert(1);
          filter: brightness(0) invert(1);
}
.nav-links .prev:before,
.nav-links .next:before {
  display: inline-block;
  background-image: url(../img/ico_arrow02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.nav-links .prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.pager-detail .nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 64px auto 0;
  position: relative;
  min-height: 50px;
  padding-bottom: 32px;
}
@media screen and (max-width: 767px) {
  .pager-detail .nav-links {
    gap: 12px;
    margin-top: 40px;
  }
}
.pager-detail .nav-links span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #311303;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .pager-detail .nav-links span {
    font-size: 12px;
    position: relative;
    top: initial;
    left: initial;
    right: initial;
    translate: 0;
  }
}
.pager-detail .nav-links span:first-child {
  left: 0;
}
.pager-detail .nav-links span:last-child {
  right: 0;
}
.pager-detail .nav-links span a.page-numbers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 30px;
  height: 30px;
  border: none;
  background: transparent;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  .pager-detail .nav-links span a.page-numbers {
    margin-right: 0px;
  }
}
.pager-detail .nav-links span a.page-numbers:hover {
  opacity: 0.75;
}
.pager-detail .nav-links span .prev {
  margin-right: 12px;
}
.pager-detail .nav-links span .next {
  margin-left: 12px;
}
.pager-detail .nav-links span .next::before {
  display: none;
}
.pager-detail .nav-links span .next::after {
  display: inline-block;
  background-image: url(../img/ico_arrow02.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 24px;
  height: 24px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .pager-detail .nav-links span .next::after {
    right: 13px;
  }
}
.pager-detail .nav-links .page-txt {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 12px;
  color: #311303;
  text-decoration: none;
  border-bottom: 1px solid #311303;
  padding-bottom: 8px;
  -webkit-transition: opacity 0.35s ease-out;
  transition: opacity 0.35s ease-out;
}
@media screen and (max-width: 767px) {
  .pager-detail .nav-links .page-txt {
    font-size: 12px;
  }
}
.pager-detail .nav-links .page-txt::after {
  display: inline-block;
  background-image: url(../img/ico_arrow01.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 8px;
  width: 24px;
}
@media screen and (max-width: 767px) {
  .pager-detail .nav-links .page-txt::after {
    width: 16px;
    height: 4px;
  }
}
.pager-detail .nav-links .page-txt:hover {
  opacity: 0.75;
}

/* ------------------------------------------------------------
  Text
  テキストのスタイル
------------------------------------------------------------ */
strong,
.u_bold {
  font-weight: bold;
}

.u_medium {
  font-weight: 500;
}

em,
.u_txtColor {
  color: #311303;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, #efe8d2));
  background: linear-gradient(transparent 60%, #efe8d2 60%);
  padding: 0 2px;
}

em {
  font-style: normal;
}

.u_txtCheck {
  color: #ff6347;
}

.u_txtRed {
  color: #ff6347;
}

.u_txtSmall {
  font-size: 14px;
  line-height: 1.5;
}

.u_txtLarge {
  font-size: 1.8rem;
}

.c_pageMain p a,
.contents__wrap p a,
.contents__wrap ol a,
.wp-block-paragraph a,
.wp-editor p:not([class]) > a {
  position: relative;
  color: #864e4a;
  display: inline-block;
  -webkit-text-decoration: underline solid #864e4a;
          text-decoration: underline solid #864e4a;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
  -webkit-transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out;
  transition: background 0.35s ease-out, border 0.35s ease-out, color 0.35s ease-out, box-shadow 0.35s ease-out, transform 0.35s ease-out, opacity 0.35s ease-out, scale 0.35s ease-out, margin 0.35s ease-out, top 0.35s ease-out, right 0.35s ease-out, bottom 0.35s ease-out, left 0.35s ease-out, flex 0.35s ease-out, visibility 0.35s ease-out, -webkit-box-shadow 0.35s ease-out, -webkit-transform 0.35s ease-out, -webkit-box-flex 0.35s ease-out, -ms-flex 0.35s ease-out;
}
.c_pageMain p a:hover,
.contents__wrap p a:hover,
.contents__wrap ol a:hover,
.wp-block-paragraph a:hover,
.wp-editor p:not([class]) > a:hover {
  opacity: 0.75;
  -webkit-text-decoration: underline solid #311303;
          text-decoration: underline solid #311303;
}
.c_pageMain p a[target=_blank]::after,
.contents__wrap p a[target=_blank]::after,
.contents__wrap ol a[target=_blank]::after,
.wp-block-paragraph a[target=_blank]::after,
.wp-editor p:not([class]) > a[target=_blank]::after {
  display: inline-block;
  content: "";
  width: 15px;
  height: 15px;
  margin: 0 4px;
  display: inline-block;
  background-image: url(../img/ico_link.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  vertical-align: -3px;
}
.c_pageMain p a[href$=".pdf"]::after,
.contents__wrap p a[href$=".pdf"]::after,
.contents__wrap ol a[href$=".pdf"]::after,
.wp-block-paragraph a[href$=".pdf"]::after,
.wp-editor p:not([class]) > a[href$=".pdf"]::after {
  width: 17px;
  height: 22px;
  right: 25px;
  display: inline-block;
  background-image: url(../img/ico_pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  vertical-align: -5px;
}
.c_pageMain p a[href$=".doc"]::after,
.contents__wrap p a[href$=".doc"]::after,
.contents__wrap ol a[href$=".doc"]::after,
.wp-block-paragraph a[href$=".doc"]::after,
.wp-editor p:not([class]) > a[href$=".doc"]::after {
  width: 17px;
  height: 22px;
  right: 25px;
  display: inline-block;
  background-image: url(../img/ico_word.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  vertical-align: -5px;
}
.c_pageMain p a[href$=".xls"]::after,
.contents__wrap p a[href$=".xls"]::after,
.contents__wrap ol a[href$=".xls"]::after,
.wp-block-paragraph a[href$=".xls"]::after,
.wp-editor p:not([class]) > a[href$=".xls"]::after {
  width: 17px;
  height: 22px;
  right: 25px;
  display: inline-block;
  background-image: url(../img/ico_excel.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  vertical-align: -5px;
}

.wp-block-post-title {
  font-size: 36px;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .wp-block-post-title {
    font-size: 2.4rem;
  }
}

/* ------------------------------------------------------------
   Splide
   Splide用スタイル
------------------------------------------------------------ */
#slider1 .splide__pagination {
  position: relative;
  top: initial;
  right: initial;
  bottom: initial;
  left: initial;
  gap: 0 8px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 auto;
  padding: 0;
  z-index: 2;
}
#slider1 .splide__pagination__page {
  display: inline-block;
  position: relative;
  width: 12px;
  height: 12px;
  margin: 0;
  padding: 0;
  background: #F5F0EC;
  border: 1px solid #F5F0EC;
  opacity: 1;
}
#slider1 .splide__pagination__page.is-active {
  background: #965d57;
  -webkit-transform: scale(1);
          transform: scale(1);
}
#slider1 .splide__arrows {
  position: absolute;
  top: 50%;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0 20px;
  width: 88%;
  translate: -50% -50%;
  z-index: 1;
}
@media screen and (max-width: 1199px) {
  #slider1 .splide__arrows {
    width: 97%;
  }
}
#slider1 .splide__arrow {
  background: #fefefd;
  border: 1px solid #311303;
  position: relative;
  top: initial;
  -webkit-transform: translateY(0%);
          transform: translateY(0%);
  width: 48px;
  height: 48px;
  border-radius: 100%;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  opacity: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #slider1 .splide__arrow {
    width: 36px;
    height: 36px;
  }
}
#slider1 .splide__arrow::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 24px;
  background: url(../img/ico_arrow02.svg) no-repeat center/contain;
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  #slider1 .splide__arrow::after {
    width: 36px;
    height: 36px;
  }
}
#slider1 .splide__arrow:hover:not(:disabled) {
  opacity: 1;
}
#slider1 .splide__arrow svg {
  display: none;
}
#slider1 .splide__arrow--prev {
  left: initial;
  scale: -1;
}
#slider1 .splide__arrow--next {
  right: initial;
}
#slider1 .splide img {
  width: 100%;
}

#thumbnail .splide__track--nav > .splide__list > .splide__slide, #thumbnail2 .splide__track--nav > .splide__list > .splide__slide {
  border: none;
}
#thumbnail .splide__track--nav > .splide__list > .splide__slide.is-active, #thumbnail2 .splide__track--nav > .splide__list > .splide__slide.is-active {
  border: none;
}
#thumbnail .splide__arrow, #thumbnail2 .splide__arrow {
  background: #fefefd;
}
#thumbnail .splide__arrow svg, #thumbnail2 .splide__arrow svg {
  fill: #311303;
  height: 0.8em;
  width: 0.8em;
}

/* ------------------------------------------------------------
   Animation
   アニメーション用スタイル
------------------------------------------------------------ */
.fade-in {
  opacity: 0;
  -webkit-transform: translateY(40px);
          transform: translateY(40px);
  -webkit-transition: opacity 0.9s ease-out, -webkit-transform 0.9s ease-out;
  transition: opacity 0.9s ease-out, -webkit-transform 0.9s ease-out;
  transition: opacity 0.9s ease-out, transform 0.9s ease-out;
  transition: opacity 0.9s ease-out, transform 0.9s ease-out, -webkit-transform 0.9s ease-out;
  will-change: opacity, transform;
}
.fade-in.is-inview {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}

/* ------------------------------------------------------------
  about
  当院についてページのパーツ
------------------------------------------------------------ */
.p_about .l_twoColumn {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p_aboutProfile__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.p_aboutProfile__item {
  border-bottom: 1px solid #E2DDDB;
  padding: 48px 0;
}
.p_aboutProfile__img {
  height: 100%;
  width: 100%;
}
.p_aboutProfile__img img {
  border-radius: 20px;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
}
.p_aboutProfile__head {
  margin-bottom: 20px;
}
.p_aboutProfile__org {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  margin-bottom: 4px;
}
.p_aboutProfile__name {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  margin-bottom: 4px;
}
.p_aboutProfile__name span {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  padding-left: 16px;
}
.p_aboutProfile__ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F5F0EC;
  color: #864e4a;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 8px;
  padding: 12px 16px;
  border-radius: 8px;
  margin: 20px 0;
}
.p_aboutProfile__ttl::before {
  display: inline-block;
  background-image: url(../img/ico_message.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.p_aboutProfile__ttl.message::before {
  display: inline-block;
  background-image: url(../img/ico_message.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.p_aboutProfile__ttl.staff::before {
  display: inline-block;
  background-image: url(../img/ico_staff.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 20px;
  height: 20px;
}
.p_aboutProfile__ttl:first-of-type {
  margin-top: 0;
}
.p_aboutProfile__txt {
  padding: 32px 56px;
  position: relative;
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .p_aboutProfile__txt {
    line-height: 2;
    padding: 24px 32px;
    margin-top: 24px;
  }
}
.p_aboutProfile__txt::before, .p_aboutProfile__txt::after {
  border-color: #E2DDDB;
  border-style: solid;
  border-width: 0;
  content: "";
  height: 28px;
  pointer-events: none;
  position: absolute;
  width: 28px;
}
.p_aboutProfile__txt::before {
  border-top-width: 2px;
  border-left-width: 2px;
  left: 0;
  top: 0;
}
.p_aboutProfile__txt::after {
  border-bottom-width: 2px;
  border-right-width: 2px;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p_aboutProfile__txt::before, .p_aboutProfile__txt::after {
    height: 22px;
    width: 22px;
  }
}

.p_aboutLogo {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fefefd;
  border-radius: 8px;
  border: 1px solid #E2DDDB;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 70px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 0;
  padding: 16px 20px;
}
.p_aboutLogo img {
  display: block;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: auto;
}

.p_aboutPhilosophy {
  padding: 48px 40px;
  background-color: #efe8d2;
  background-image: url("../img/about/about%20_logo.png");
  background-repeat: no-repeat;
  background-position: left -20px top -20px;
  background-size: 300px auto;
  border-radius: 20px;
}
@media screen and (max-width: 980px) {
  .p_aboutPhilosophy {
    background-size: 200px auto;
    padding: 40px 20px;
  }
}
@media screen and (max-width: 767px) {
  .p_aboutPhilosophy {
    background-size: 150px auto;
    padding: 20px 16px;
  }
}

.p_aboutAccordion {
  display: block;
}
.p_aboutAccordion.is_open .p_aboutAccordion__headline::after {
  border-bottom: 1px solid #E2DDDB;
  bottom: 0;
  content: "";
  display: block;
  height: 1px;
  left: 20px;
  position: absolute;
  width: calc(100% - 20px * 2);
}
.p_aboutAccordion.is_open .p_aboutAccordion__headline::before {
  display: inline-block;
  background-image: url(../img/ico_minus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
}
.p_aboutAccordion__headline {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  background-color: #fefefd;
  border: 1px solid #E2DDDB;
  border-radius: 12px;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  line-height: 1.8;
  padding: 16px 48px 16px 20px;
  position: relative;
}
@media screen and (max-width: 980px) {
  .p_aboutAccordion__headline {
    font-size: 16px;
    padding: 12px 40px 12px 16px;
  }
}
@media screen and (max-width: 767px) {
  .p_aboutAccordion__headline {
    font-size: 14px;
    padding: 8px 32px 8px 12px;
  }
}
.p_aboutAccordion__headline::before {
  display: inline-block;
  background-image: url(../img/ico_plus.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  height: 22px;
  position: absolute;
  right: 30px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 22px;
}
@media screen and (max-width: 980px) {
  .p_aboutAccordion__headline::before {
    height: 18px;
    right: 16px;
    width: 18px;
  }
}
@media screen and (max-width: 767px) {
  .p_aboutAccordion__headline::before {
    height: 14px;
    right: 16px;
    width: 14px;
  }
}
.p_aboutAccordion__headline::-webkit-details-marker {
  display: none;
}
.p_aboutAccordion__headline span {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 34px;
  color: #E2DDDB;
  display: block;
  line-height: 1.2;
}
@media screen and (max-width: 980px) {
  .p_aboutAccordion__headline span {
    font-size: 22px;
    margin-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p_aboutAccordion__headline span {
    font-size: 16px;
  }
}
.p_aboutAccordion__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  padding-left: 20px;
  position: relative;
}
.p_aboutAccordion__content p {
  display: block;
  word-break: break-all;
}
.p_aboutAccordion__txt {
  padding: 20px 20px 20px 0;
}
.p_aboutAccordion__txt > *:not(ul) + * {
  margin-top: 20px;
}
.p_aboutAccordion + .p_aboutAccordion {
  margin-top: 12px;
}

.p_aboutRelated {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
.p_aboutRelated__item {
  padding: 80px 40px;
  background-color: rgba(254, 254, 253, 0.35);
  border: 1px solid #E2DDDB;
  border-radius: 20px;
}
@media screen and (max-width: 767px) {
  .p_aboutRelated__item {
    padding: 40px 16px;
  }
}
.p_aboutRelated__logo {
  margin-bottom: 20px;
  margin-left: auto;
  max-width: 35px;
}
.p_aboutRelated__logo img {
  width: 100%;
}
.p_aboutRelated__link {
  margin-bottom: 20px;
  margin-left: auto;
  max-width: 20px;
  display: block;
}
@media screen and (max-width: 767px) {
  .p_aboutRelated__link {
    max-width: 18px;
  }
}
.p_aboutRelated__link img {
  width: 100%;
}
.p_aboutRelated__ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 20px;
  margin-bottom: 12px;
  text-align: right;
}
.p_aboutRelated__txt {
  margin-bottom: 8px;
  text-align: right;
}
.p_aboutRelated__tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 20px;
}
.p_aboutRelated__tags span {
  background-color: #F5F0EC;
  border-radius: 20px;
  border: 1px solid #E2DDDB;
  padding: 4px 12px;
}
.p_aboutRelated #mainslide .splide__slide img,
.p_aboutRelated #thumbnail .splide__slide img {
  display: block;
  height: auto;
  width: 100%;
}
.p_aboutRelated .mainslide-text {
  margin-top: 12px;
}
.p_aboutRelated .splide__track--nav > .splide__list > .splide__slide.is-active {
  border: 2px solid #311303;
}

/* ------------------------------------------------------------
  gynecology
  婦人科ページのパーツ
------------------------------------------------------------ */
.p_gynecology {
  background-color: #f2f5ee;
  border-radius: 20px;
  padding: 104px 40px;
  margin-top: 96px;
  margin-bottom: 96px;
}
@media screen and (max-width: 980px) {
  .p_gynecology {
    padding: 64px 16px;
  }
}
.p_gynecology .l_twoColumn {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.p_gynecologyTtl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 22px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-top: 104px;
  margin-bottom: 64px;
}
.p_gynecologyTtl__icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 70px;
  height: 70px;
  -o-object-fit: contain;
     object-fit: contain;
}
.p_gynecologyTtl__txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p_gynecologyTtl {
    font-size: 20px;
    margin-top: 64px;
    margin-bottom: 40px;
  }
}

/* ------------------------------------------------------------
  obstetrics
  産科・健診ページのパーツ
------------------------------------------------------------ */
.p_obReturning {
  background-color: #fefefd;
  border: 1px solid #E2DDDB;
  border-radius: 20px;
  padding: 104px 40px;
  margin-top: 96px;
  margin-bottom: 96px;
}
@media screen and (max-width: 767px) {
  .p_obReturning {
    padding: 64px 16px;
  }
}

.p_obSchedule {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
  margin-top: 40px;
}
.p_obSchedule__card {
  background-color: #fefefd;
  border-radius: 20px;
  padding: 72px 32px 32px;
  position: relative;
  border: 1px solid #965d57;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__card {
    padding: 64px 12px 20px;
  }
}
.p_obSchedule__card.--rose {
  border-color: #b9837a;
}
.p_obSchedule__card.--rose .p_obSchedule__label {
  background-color: #CEA69E;
}
.p_obSchedule__card.--gold {
  border-color: #e1d1aa;
}
.p_obSchedule__card.--gold .p_obSchedule__label {
  background-color: #e1d1aa;
}
.p_obSchedule__label {
  font-size: 18px;
  position: absolute;
  top: -1px;
  left: -1px;
  margin: 0;
  padding: 12px 20px;
  border-radius: 20px 0 20px 0;
  color: #311303;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__label {
    font-size: 14px;
    padding: 8px 16px;
  }
}
.p_obSchedule__timing {
  font-size: 14px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #F5F0EC;
  padding: 8px 12px;
  border-radius: 8px;
  margin-bottom: 20px;
  gap: 4px;
}
.p_obSchedule__timing span {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #864e4a;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-right: 12px;
  border-right: 1px solid #864e4a;
  padding-right: 12px;
}
.p_obSchedule__timing span:before {
  display: inline-block;
  background-image: url(../img/ico_time.svg);
  background-size: contain;
  background-repeat: no-repeat;
  content: "";
  width: 18px;
  height: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 4px;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__timing {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p_obSchedule__timing span {
    margin-right: 0;
    padding-right: 0;
    border-right: 0;
  }
}
.p_obSchedule__grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 12px 1fr 12px 1fr 12px 1fr;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 0;
  list-style: none;
}
.p_obSchedule__grid li {
  font-size: 14px;
  border: 1px solid #E2DDDB;
  background: #fefefd;
  padding: 12px 8px;
  text-align: center;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__grid li {
    padding: 8px;
  }
}
.p_obSchedule__grid .sub {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  background-color: #f2f5ee;
  border-color: #7d9657;
}
.p_obSchedule__grid .plain {
  background-color: transparent;
  border-color: transparent;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 0;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__grid {
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.p_obSchedule__grid + .p_obSchedule__row {
  margin-top: 20px;
}
.p_obSchedule__row {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
}
.p_obSchedule__row .p_obSchedule__grid {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc((100% - 12px * 3) / 4);
          flex: 0 0 calc((100% - 12px * 3) / 4);
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__row {
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
  }
  .p_obSchedule__row .p_obSchedule__grid {
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
  }
}
.p_obSchedule__noteList {
  margin-top: 16px;
}
.p_obSchedule__noteList li {
  font-size: 14px;
  margin-top: 4px;
}
.p_obSchedule__noteList .sub {
  color: #7d9657;
}
.p_obSchedule__noteList.--beside {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .p_obSchedule__4Dimg {
    width: 60%;
    margin: 0 auto;
  }
}

.p_obIndex {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 1;
  margin-top: 40px;
  margin-bottom: 40px;
  padding-bottom: 16px;
  border-bottom: 1px solid #311303;
}
@media screen and (max-width: 767px) {
  .p_obIndex {
    font-size: 14px;
    margin-top: 24px;
    margin-bottom: 24px;
    padding-bottom: 12px;
  }
}

/* ------------------------------------------------------------
  blog
  ブログページのパーツ
------------------------------------------------------------ */
.p_blog__date {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  margin-top: 20px;
  margin-bottom: 4px;
}
@media screen and (max-width: 767px) {
  .p_blog__date {
    font-size: 12px;
  }
}
.p_blog__ttl {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .p_blog__ttl {
    font-size: 14px;
  }
}
.p_blog img {
  aspect-ratio: 16/9;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

/* ------------------------------------------------------------
  news
  お知らせページのパーツ
------------------------------------------------------------ */
.p_news__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p_news__item {
  border-bottom: 1px dotted rgba(49, 19, 3, 0.15);
  margin: 0;
  padding-bottom: 24px;
}
.p_news__item:not(:last-child) {
  margin-bottom: 24px;
}
.p_news__link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 16px;
  min-width: 0;
  padding-right: 24px;
  position: relative;
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  .p_news__link {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    row-gap: 8px;
  }
}
.p_news__link::after {
  border-right: 1px solid #965d57;
  border-top: 1px solid #965d57;
  content: "";
  height: 8px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
  width: 8px;
}
.p_news__date {
  font-family: "Avenir Next", Arial, "Helvetica Neue", Helvetica, sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 14px;
  color: #311303;
}
.p_news__txt {
  color: #311303;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.c_newsCat {
  font-size: 14px;
  border-radius: 100vh;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #311303;
  display: inline-block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  line-height: 1.8;
  min-width: 120px;
  padding: 4px 12px;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .c_newsCat {
    font-size: 12px;
    padding: 4px 8px;
  }
}
.c_newsCat.c_newsCat--1 {
  background-color: #e0c7c1;
}
.c_newsCat.c_newsCat--2 {
  background-color: #C1C4E0;
}
.c_newsCat.c_newsCat--3 {
  background-color: #d0dabc;
}
.c_newsCat.c_newsCat--4 {
  background-color: #e1d1aa;
}

.c_tabs-news {
  margin-top: 48px;
}
@media screen and (max-width: 767px) {
  .c_tabs-news {
    margin-top: 32px;
  }
}
.c_tabs-news .c_tabs__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 12px 12px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0;
  max-width: none;
  -ms-grid-columns: none;
  grid-template-columns: none;
}
.c_tabs-news .c_tabs__btn {
  font-size: 14px;
  width: auto;
  min-width: 0;
  padding: 8px 20px;
  margin: 0;
  background-color: transparent;
  border: 1px solid #E2DDDB;
  border-radius: 100vh;
  color: #311303;
  cursor: pointer;
  text-align: center;
  font-family: "Zen Kaku Gothic New", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.8;
  -webkit-transition: border-color 0.2s ease, background-color 0.2s ease;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}
@media screen and (max-width: 767px) {
  .c_tabs-news .c_tabs__btn {
    font-size: 13px;
    padding: 8px 16px;
  }
}
.c_tabs-news .c_tabs__btn.is-active {
  background-color: #fefefd;
  border-color: #311303;
}
.c_tabs-news .c_tabs__btn:hover:not(.is-active) {
  border-color: #9D8579;
}
.c_tabs-news .c_tabs__panels {
  background-color: transparent;
  margin-top: 40px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .c_tabs-news .c_tabs__panels {
    margin-top: 32px;
  }
}
.c_tabs-news .c_tabs__panel {
  margin: 0;
}

/* ------------------------------------------------------------
  faq
  よくある質問
------------------------------------------------------------ */
.p_faqList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
  padding-bottom: 120px;
  position: relative;
}
.p_faqList::after {
  background-image: url("../img/bg_blur02.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  bottom: -100px;
  content: "";
  height: min(480px, 55vw);
  max-height: 520px;
  pointer-events: none;
  position: absolute;
  right: -250px;
  width: min(560px, 92vw);
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .p_faqList {
    padding-bottom: 64px;
  }
  .p_faqList::after {
    height: min(360px, 65vw);
    max-height: 400px;
    right: -12px;
    width: min(420px, 96vw);
  }
}
.p_faqList__item {
  background-color: #fefefd;
  border: 1px solid #E2DDDB;
  border-radius: 20px;
  padding: 32px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p_faqList__item {
    padding: 20px;
  }
}
.p_faqList__q {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
  font-size: 16px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  border-bottom: 1px solid #E2DDDB;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
  padding-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .p_faqList__q {
    font-size: 15px;
  }
}
.p_faqList__q::before {
  font-size: 18px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #eee0dd;
  border-radius: 50%;
  color: #864e4a;
  content: "Q";
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 36px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-bottom: 4px;
  width: 36px;
}
@media screen and (max-width: 767px) {
  .p_faqList__q::before {
    font-size: 16px;
    height: 30px;
    width: 30px;
  }
}
.p_faqList__a {
  padding-top: 20px;
}