@charset "UTF-8";

/*!
global > color
------------------------------
*/
:root {
  --color-primary: #505050;
  --color-black: #231815;
  --color-brown: #411113;
  --color-beige: #EDE9E4;
  --color-white: #FFFFFF;
}

/*!
global > content-width
------------------------------
*/
:root {
  --width-content-s: 715px;
  --width-content: 960px;
}

/*!
foundation > base
------------------------------
*/
html {
  /* 計算 10px / 375px * 100 */
  /* 幅375pxの時1remが10px（幅に応じて可変する） */
  font-size: 2.666vw;
  height: -webkit-fill-available;
}

@media print, screen and (min-width: 768px) {
  html {
    /* 計算 10px / 960px * 100 */
    /* 幅960pxの時1remが10px（幅に応じて可変する） */
    font-size: 1.04166vw;
  }
}
@media print, screen and (min-width: 960px) {
  html {
    /* 幅960px以上の時1remが10px（可変しない） */
    font-size: 62.5%;
  }
}
body {
  width: 100%;
  min-width: 320px;
  min-height: 100vh;
  min-height: -webkit-fill-available;
  font-size: 1.3rem;
  line-height: 1.6;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  color: var(--color-primary);
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  background-color: #fff;
  position: relative;
  overflow-x: hidden;
}

@media print, screen and (min-width: 768px) {
  body {
    font-size: 1.6rem;
  }
}
body.is-fixed {
  position: fixed;
  height: 100vh;
  left: 0;
  overflow-y: scroll;
}

img {
  /* width: 100%; */
  width: auto;
  height: auto;
}

img[src$=".svg"] {
  width: 100%;
  height: auto;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.3;
}

p, th, td {
  word-break: break-all;
}

sup {
	font-size: 70%;
	vertical-align: top;
	position: relative;
}
sub {
	font-size: 70%;
	vertical-align: bottom;
	position: relative;
}

a {
  text-decoration: none;
  transition: all 0.2s;
}

a:hover {
  opacity: 0.7;
}

.l-wrapper {
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.main {
  padding-top: 7rem;
  flex: 1;
}

@media print, screen and (min-width: 768px) {
  .main {
    padding-top: 9rem;
  }
}

/* loading */
#loading {
  transition: all 0.5s;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  z-index: 1000;
}
.loaded {
  opacity: 0;
  visibility: hidden;
}

/* slider */
.slider-wrap {
  width: 88%;
  margin: 0 auto;
}
.slick-prev,
.slick-next {
  width: 12px;
  height: 24px;
  top: 30%;
}
.slick-prev:before,
.slick-next:before {
  font-size: 0;
}
.slick-prev:before,
.slick-next:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
}
.slick-next:before {
  border-width: 12px 0 12px 12px;
  border-color: transparent transparent transparent #320D10;
}
.slick-prev:before {
  border-width: 12px 12px 12px 0;
  border-color: transparent #320D10 transparent transparent;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0;
}
.slick-dots li {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  overflow: hidden;
  vertical-align: middle;
}
.slick-dots li.slick-active {
  width: 8px;
  height: 8px;
}
.slick-dots li button {
  width: 6px;
  height: 6px;
  padding: 0;
}
.slick-dots li.slick-active button {
  width: 8px;
  height: 8px;
}
.slick-dots li button:before {
  width: 6px;
  height: 6px;
  content: "";
  opacity: 1;
  background-color: rgba(65, 16, 19, 0.4);
}
.slick-dots li.slick-active button::before {
  width: 8px;
  height: 8px;
  background-color: var(--color-brown);
}

.ac-btn {
  cursor: pointer;
}
.ac-btn::after {
  transition: 0.5s;
}
.ac-cont {
  display: none;
}

/*!
utility > utility
------------------------------
*/
.sp { display: block !important; }
.pc { display: none !important; }
br.sp { font-size: 0; }
@media print, screen and (min-width: 768px) {
  .sp { display: none !important; }
  .pc { display: block !important; }
  br.pc { font-size: 0; }
}

.font-en { font-family: "Inter", sans-serif; }

.bold { font-weight: bold !important; }
.bold-black { font-weight: 900 !important; }

.align-c { text-align: center !important; }
.align-l { text-align: left !important; }
.align-r { text-align: right !important; }

.c-green { color: #55C396 !important; }
.c-green2 { color: #00B269 !important; }

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

.ib { display: inline-block !important; }

.visually-hidden {
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  border: 0 !important;
  padding: 0 !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  margin: -1px !important;
}

.link-off { pointer-events: none; }

.indent-1 { padding-left: 1em; text-indent: -1em; }
.indent-2 { padding-left: 2em; text-indent: -2em; }
.indent-3 { padding-left: 3em; text-indent: -3em; }
.indent-4 { padding-left: 4em; text-indent: -4em; }
.indent-5 { padding-left: 5em; text-indent: -5em; }
.indent-6 { padding-left: 6em; text-indent: -6em; }

/* margin */
.mauto {	margin: auto!important;}

.mt0 {	margin-top:0!important;}
.mt5 {	margin-top:5px!important;}
.mt10 {	margin-top:10px!important;}
.mt15 {	margin-top:15px!important;}
.mt20 {	margin-top:20px!important;}
.mt25 {	margin-top:25px!important;}
.mt30 {	margin-top:30px!important;}
.mt35 {	margin-top:35px!important;}
.mt40 {	margin-top:40px!important;}
.mt45 {	margin-top:45px!important;}
.mt50 {	margin-top:50px!important;}
.mt60 {	margin-top:60px!important;}
.mt70 {	margin-top:70px!important;}
.mt80 {	margin-top:80px!important;}
.mt90 {	margin-top:90px!important;}
.mt100 {	margin-top:100px!important;}

.mb0 {	margin-bottom:0!important;}
.mb5 {	margin-bottom:5px!important;}
.mb10 {	margin-bottom:10px!important;}
.mb15 {	margin-bottom:15px!important;}
.mb20 {	margin-bottom:20px!important;}
.mb25 {	margin-bottom:25px!important;}
.mb30 {	margin-bottom:30px!important;}
.mb35 {	margin-bottom:35px!important;}
.mb40 {	margin-bottom:40px!important;}
.mb45 {	margin-bottom:45px!important;}
.mb50 {	margin-bottom:50px!important;}
.mb60 {	margin-bottom:60px!important;}
.mb70 {	margin-bottom:70px!important;}
.mb80 {	margin-bottom:80px!important;}
.mb90 {	margin-bottom:90px!important;}
.mb100 {	margin-bottom:100px!important;}

.ml0 {	margin-left:0!important;}
.ml5 {	margin-left:5px!important;}
.ml10 {	margin-left:10px!important;}
.ml15 {	margin-left:15px!important;}
.ml20 {	margin-left:20px!important;}
.ml25 {	margin-left:25px!important;}
.ml30 {	margin-left:30px!important;}
.ml35 {	margin-left:35px!important;}
.ml40 {	margin-left:40px!important;}
.ml45 {	margin-left:45px!important;}
.ml50 {	margin-left:50px!important;}
.ml60 {	margin-left:60px!important;}
.ml70 {	margin-left:70px!important;}
.ml80 {	margin-left:80px!important;}
.ml90 {	margin-left:90px!important;}
.ml100 {	margin-left:100px!important;}

.mr0 {	margin-right:0!important;}
.mr5 {	margin-right:5px!important;}
.mr10 {	margin-right:10px!important;}
.mr15 {	margin-right:15px!important;}
.mr20 {	margin-right:20px!important;}
.mr25 {	margin-right:25px!important;}
.mr30 {	margin-right:30px!important;}
.mr35 {	margin-right:35px!important;}
.mr40 {	margin-right:40px!important;}
.mr45 {	margin-right:45px!important;}
.mr50 {	margin-right:50px!important;}
.mr60 {	margin-right:60px!important;}
.mr70 {	margin-right:70px!important;}
.mr80 {	margin-right:80px!important;}
.mr90 {	margin-right:90px!important;}
.mr100 {	margin-right:100px!important;}

/* padding */
.pt0 {	padding-top:0!important;}
.pt5 {	padding-top:5px!important;}
.pt10 {	padding-top:10px!important;}
.pt15 {	padding-top:15px!important;}
.pt20 {	padding-top:20px!important;}
.pt25 {	padding-top:25px!important;}
.pt30 {	padding-top:30px!important;}
.pt35 {	padding-top:35px!important;}
.pt40 {	padding-top:40px!important;}
.pt45 {	padding-top:45px!important;}
.pt50 {	padding-top:50px!important;}
.pt60 {	padding-top:60px!important;}
.pt70 {	padding-top:70px!important;}
.pt80 {	padding-top:80px!important;}
.pt90 {	padding-top:90px!important;}
.pt100 {	padding-top:100px!important;}

.pb0 {	padding-bottom:0!important;}
.pb5 {	padding-bottom:5px!important;}
.pb10 {	padding-bottom:10px!important;}
.pb15 {	padding-bottom:15px!important;}
.pb20 {	padding-bottom:20px!important;}
.pb25 {	padding-bottom:25px!important;}
.pb30 {	padding-bottom:30px!important;}
.pb35 {	padding-bottom:35px!important;}
.pb40 {	padding-bottom:40px!important;}
.pb45 {	padding-bottom:45px!important;}
.pb50 {	padding-bottom:50px!important;}
.pb60 {	padding-bottom:60px!important;}
.pb70 {	padding-bottom:70px!important;}
.pb80 {	padding-bottom:80px!important;}
.pb90 {	padding-bottom:90px!important;}
.pb100 {	padding-bottom:100px!important;}

.pl0 {	padding-left:0!important;}
.pl5 {	padding-left:5px!important;}
.pl10 {	padding-left:10px!important;}
.pl15 {	padding-left:15px!important;}
.pl20 {	padding-left:20px!important;}
.pl25 {	padding-left:25px!important;}
.pl30 {	padding-left:30px!important;}
.pl35 {	padding-left:35px!important;}
.pl40 {	padding-left:40px!important;}
.pl45 {	padding-left:45px!important;}
.pl50 {	padding-left:50px!important;}
.pl60 {	padding-left:60px!important;}
.pl70 {	padding-left:70px!important;}
.pl80 {	padding-left:80px!important;}
.pl90 {	padding-left:90px!important;}
.pl100 {	padding-left:100px!important;}

.pr0 {	padding-right:0!important;}
.pr5 {	padding-right:5px!important;}
.pr10 {	padding-right:10px!important;}
.pr15 {	padding-right:15px!important;}
.pr20 {	padding-right:20px!important;}
.pr25 {	padding-right:25px!important;}
.pr30 {	padding-right:30px!important;}
.pr35 {	padding-right:35px!important;}
.pr40 {	padding-right:40px!important;}
.pr45 {	padding-right:45px!important;}
.pr50 {	padding-right:50px!important;}
.pr60 {	padding-right:60px!important;}
.pr70 {	padding-right:70px!important;}
.pr80 {	padding-right:80px!important;}
.pr90 {	padding-right:90px!important;}
.pr100 {	padding-right:100px!important;}

/* width */
.w100 {	width:100%!important;}
.w95 {		width:95%!important;}
.w90 {		width:90%!important;}
.w85 {		width:85%!important;}
.w80 {		width:80%!important;}
.w75 {		width:75%!important;}
.w70 {		width:70%!important;}
.w65 {		width:65%!important;}
.w60 {		width:60%!important;}
.w55 {		width:55%!important;}
.w50 {		width:50%!important;}
.w45 {		width:45%!important;}
.w40 {		width:40%!important;}
.w35 {		width:35%!important;}
.w30 {		width:30%!important;}
.w25 {		width:25%!important;}
.w20 {		width:20%!important;}
.w15 {		width:15%!important;}
.w10 {		width:10%!important;}
.w5 {		width:5%!important;}

/* fonts */
.fs10 { font-size:   1rem !important; }
.fs11 { font-size: 1.1rem !important; }
.fs12 { font-size: 1.2rem !important; }
.fs13 { font-size: 1.3rem !important; }
.fs14 { font-size: 1.4rem !important; }
.fs15 { font-size: 1.5rem !important; }
.fs16 { font-size: 1.6rem !important; }
.fs17 { font-size: 1.7rem !important; }
.fs18 { font-size: 1.8rem !important; }
.fs19 { font-size: 1.9rem !important; }
.fs20 { font-size:   2rem !important; }
.fs21 { font-size: 2.1rem !important; }
.fs22 { font-size: 2.2rem !important; }

/*!
component > button
------------------------------
*/
.c-button-center {
  text-align: center;
}

.c-button {
  color: #fff;
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: 0.1em;
  display: inline-block;
  background-color: #320D10;
  padding: 0.6em 1.5em;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.16);
  border-radius: 100vh;
  position: relative;
}
.c-button::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 7px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 50%;
  right: 0.7rem;
  transform: translateY(-50%);
}

.c-button.c-button-s {
  font-size: 1rem;
  padding: 0.6em 2em;
  box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.16);
}

@media print, screen and (min-width: 768px) {
  .c-button {
    font-size: 1.5rem;
    padding: 0.8em 2.2em;
  }
  .c-button::after {
    border-width: 8px 0 8px 12px;
    right: 1.2rem;
  }

  .c-button.c-button-s {
    font-size: 1.2rem;
  }
  .c-button.c-button-s::after {
    border-width: 6px 0 6px 8px;
    right: 0.8rem;
  }
}
/*!
component > title
------------------------------
*/
.c-title-double-line {
  position: relative;
}
.c-title-double-line {
  color: #320D10;
  font-size: 1.9rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  padding: 1em 0;
  position: relative;
  border-top: 6px double currentColor;
  border-bottom: 6px double currentColor;
  margin-bottom: 1.5rem;
}
@media print, screen and (min-width: 768px) {
  .c-title-double-line {
    border-top: 8px double currentColor;
    border-bottom: 8px double currentColor;
  }
}

.c-title-bottom-line {
  color: #320D10;
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  padding-bottom: 0.5em;
  border-bottom: 6px double currentColor;
  margin-bottom: 2rem;
}
@media print, screen and (min-width: 768px) {
  .c-title-bottom-line {
    font-size: 2.5rem;
    border-bottom: 8px double currentColor;
  }
}

.c-title {
  color: var(--color-brown);
  font-size: 1.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  margin-bottom: 1em;
}
@media print, screen and (min-width: 768px) {
  .c-title {
    font-size: 2.2rem;
    margin-bottom: 3rem;
  }
}

.c-lower-title {
  color: var(--color-brown);
  font-size: 3.4rem;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.1em;
  text-align: center;
  margin-bottom: 2.5rem;
}
@media print, screen and (min-width: 768px) {
  .c-lower-title {
    font-size: 5.4rem;
    margin-bottom: 5rem;
  }
}

.c-lower-title2 {
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--color-brown);
  margin-bottom: 4rem;
}
@media print, screen and (min-width: 768px) {
  .c-lower-title2 {
    font-size: 2.8rem;
    margin-bottom: 4rem;
  }
}

.c-lower-title-num {
  text-align: center;
  margin-bottom: 5px;
  line-height: 1;
}
.c-lower-title-num.num1 img {
  width: 5.5rem;
  height: auto;
}
.c-lower-title-num.num2 img {
  width: 7.2rem;
  height: auto;
}
.c-lower-title-num.num3 img {
  width: 7.4rem;
  height: auto;
}
.c-lower-title-num.num4 img {
  width: 7.4rem;
  height: auto;
}

.c-lower-title-num > span {
  display: inline-block;
  position: relative;
}
.c-lower-title-num1-deco {
  content: '';
  width: 3.3rem;
  height: 3.3rem;
  background: url("../img/title-num-deco1.png") no-repeat center center / contain;
  display: block;
  position: absolute;
  top: -3.1rem;
  right: -1.5rem;
}
.c-lower-title-num2-deco {
  content: '';
  width: 3.1rem;
  height: 3.8rem;
  background: url("../img/title-num-deco2.png") no-repeat center center / contain;
  display: block;
  position: absolute;
  top: -1.4rem;
  right: -4.4rem;
}
.c-lower-title-num3-deco {
  content: '';
  width: 3rem;
  height: 3.3rem;
  background: url("../img/title-num-deco3.png") no-repeat center center / contain;
  display: block;
  position: absolute;
  top: -2rem;
  left: -3.3rem;
}
.c-lower-title-num4-deco {
  content: '';
  width: 3rem;
  height: 3.3rem;
  background: url("../img/title-num-deco3.png") no-repeat center center / contain;
  display: block;
  position: absolute;
  top: -2rem;
  left: -3.3rem;
}
@media print, screen and (min-width: 768px) {
  .c-lower-title-num {
    margin-bottom: 1rem;
  }
  .c-lower-title-num.num1 img {
    width: 8.2rem;
  }
  .c-lower-title-num.num2 img {
    width: 10.5rem;
  }
  .c-lower-title-num.num3 img {
    width: 10.8rem;
  }
  .c-lower-title-num.num4 img {
    width: 10.8rem;
  }
  .c-lower-title-num1-deco {
    width: 5.2rem;
    height: 5.2rem;
    top: -4.6rem;
    right: -1.6rem;
  }
  .c-lower-title-num2-deco {
    width: 5.7rem;
    height: 6.3rem;
    top: auto;
    bottom: -1.2rem;
    right: -25.3rem;
  }
  .c-lower-title-num3-deco {
    width: 5.6rem;
    height: 6rem;
    top: -1.7rem;
    left: -25.7rem;
  }
  .c-lower-title-num4-deco {
    width: 5.6rem;
    height: 6rem;
    top: -1.7rem;
    left: -25.7rem;
  }
}


/*!
layout > container
------------------------------
*/
.l-container, .l-container-s {
  width: 90%;
  margin: 0 auto;
}

.l-container-s {
  max-width: var(--width-content-s);
}

.l-container {
  max-width: var(--width-content);
}

.l-container-wide {
  display: block;
  justify-content: center;
  margin: 0 auto;
}

/*!
layout > header
------------------------------
*/
.header {
  width: 100%;
  height: 7rem;
  position: fixed;
  top: 0;
  left: 0;
  background-color: #320D10;
  z-index: 999;
}
.header-menu {
  height: 100%;
}
.header-inner {
  width: 100%;
  height: 100%;
  padding: 0 20px 0 15px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header-logo {
  width: 110px;
  max-width: 100%;
}
.header-logo > a,
.header-logo > img {
  display: block;
}
.header-nav-wrap {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 70px;
  left: 0;
}
.header-nav-bg {
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  position: absolute;
  top: 0;
  left: 0;
}
.header-nav {
  width: 70%;
  height: 100vh;
  background-color: #320D10;
  position: relative;
  z-index: 10;
  margin-left: auto;
}
.header-nav-list {
  width: 100%;
  height: 100vh;
  padding: 20px 20px 0;
  overflow-y: scroll;
  display: block;
}
.header-nav-list > li {
  color: #fff;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.025em;
  width: 100%;
  height: auto;
  border-bottom: 1px solid #fff;
}
.header-nav-list > li > a {
  padding: 0.8em 0.2em;
  display: block;
}
.header-nav-list .icon {
  padding-left: 1.5em;
  display: inline-block;
  position: relative;
}
.header-nav-list .icon-mail::before {
  content: "";
  width: 16px;
  height: 13px;
  background: url("../img/icon-mail-white.svg") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
}

/* ハンバーガー */
.header-toggle {
  width: 28px;
  height: 25px;
  background: #320D10;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.header-toggle div {
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: all 0.3s;
  position: relative;
}
.header-toggle div span:first-child {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  top: -11px;
  right: 0;
  margin: auto;
  transition: all 0.3s;
}
.header-toggle div span:last-child {
  display: block;
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  bottom: -11px;
  right: 0;
  margin: auto;
  transition: all 0.3s;
}
.header-toggle.is-open div {
  background: #320D10;
}
.header-toggle.is-open div span:first-child {
  top: 0;
  transform: rotate(-135deg);
}
.header-toggle.is-open div span:last-child {
  bottom: 0;
  transform: rotate(135deg);
}

@media print, screen and (min-width: 768px) {
  .header-toggle {
    display: none;
  }
  .header {
    height: 9rem;
  }
  .header-inner {
    padding: 0 30px 0 20px;
  }
  .header-logo {
    width: 142px;
  }
  .header-menu {
    display: block;
  }
  .header-toggle {
    display: none;
  }
  .header-nav-wrap {
    display: block;
    position: relative;
    top: auto;
    left: auto;
    height: auto;
  }
  .header-nav-bg {
    display: none;
  }
  .header-nav {
    width: 100%;
    height: auto;
    margin-left: 0;
  }
  .header-nav-list {
    padding: 0;
    height: auto;
    display: flex;
    overflow: auto;
    justify-content: flex-end;
    gap: 10px;
  }
  .header-nav-list > li {
    width: auto;
    border: 1px solid #fff;
    border-radius: 3px;
  }
  .header-nav-list > li > a {
    padding: 0.5em 1em;
  }
}
/*!
layout > footer
------------------------------
*/
.footer {
  color: #411113;
  background: var(--color-beige) url("../img/footer-bg-sp.png") no-repeat top center/100% auto;
  padding: 7.5rem 0 2rem;
  position: relative;
}

.footer2 {
  color: #411113;
  background: var(--color-white) url("../img/footer-bg-sp.png") no-repeat top center/100% auto;
  padding: 7.5rem 0 2rem;
  position: relative;
}

.footer-deco1 {
  position: relative;
}
.footer-deco1::after {
  content: "";
  width: 10.8rem;
  height: 5.4rem;
  background: url("../img/footer-deco.png") no-repeat center center/100% auto;
  position: absolute;
  top: 0;
  right: 1.3rem;
}
.footer-deco2 {
  position: relative;
}
.footer-deco2::before {
  content: "";
  width: 4.8rem;
  height: 5.4rem;
  background: url("../img/footer-deco2-sp.png") no-repeat center center/100% auto;
  position: absolute;
  top: -10rem;
  left: 1rem;
}
.footer-deco2::after {
  content: "";
  width: 11.5rem;
  height: 4.3rem;
  background: url("../img/footer-deco2-2.png") no-repeat center center/100% auto;
  position: absolute;
  top: -6.5rem;
  right: 1.8rem;
}

.footer-deco3 {
  position: relative;
}
.footer-deco3::after {
  content: "";
  width: 10.8rem;
  height: 100%;
  background: url("../img/footer-deco3.png") no-repeat center center/100% auto;
  position: absolute;
  top: -27rem;
  right: 1.3em;
  pointer-events: none;
}

.footer-inner {
  width: 90%;
  margin: 0 auto;
}
.footer-menu {
  margin-bottom: 2rem;
}
.footer-menu-list > li {
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.075em;
  display: inline-block;
}
.footer-menu-list > li.sp-block {
  width: 100%;
}
.footer-menu-list > li a > span {
  display: inline-block;
  padding-right: 1em;
  border-right: 1px solid currentColor;
  line-height: 1;
}
.footer-logo {
  width: 12rem;
  max-width: 100%;
  margin-bottom: 1.5rem;
}
.footer-logo a,
.footer-logo img {
  display: block;
}
.footer-info-title {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-bottom: 0.5em;
}
.footer-info-text {
  font-size: 1.3rem;
  line-height: 1.6;
  margin-bottom: 0.8em;
}
.footer-info-text > span {
  display: block;
}
.footer-sub-menu {
  display: flex;
  gap: 1rem;
  line-height: 1;
  margin-bottom: 2.5rem;
}
.footer-sub-menu > li {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  border-radius: 3px;
  border: 1px solid currentColor;
}
.footer-sub-menu > li a {
  display: inline-block;
  padding: 0.5em 0.8em;
}
.footer-sub-menu .icon {
  line-height: 1;
  padding-left: 1.5em;
  display: inline-block;
  position: relative;
}
.footer-sub-menu .icon-mail::before {
  content: "";
  width: 1.6rem;
  height: 1.3rem;
  background: url("../img/icon-mail-brown.svg") no-repeat center center/contain;
  position: absolute;
  top: 0.05em;
  left: 0;
}
.copyright {
  line-height: 1;
  text-align: center;
}
.copyright small {
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  line-height: 1.25;
}
@media print, screen and (min-width: 768px) {
  .footer-deco2::before {
    background: url("../img/footer-deco2.png") no-repeat center center/100% auto;
    width: 7.6rem;
    height: 9rem;
    top: -15rem;
    left: 2rem;
  }
  .footer-deco2::after {
    width: 21.3rem;
    height: 8rem;
    top: -12rem;
    right: 0;
  }

  .footer-deco3::after {
    width: 18rem;
    height: 100%;
    top: -17rem;
    right: 0;
  }


}
@media print, screen and (min-width: 960px) {
  .footer-deco2::before {
    top: -16rem;
  }
}
@media print, screen and (min-width: 1400px) {
  .footer-deco2::before {
    top: -14rem;
  }
  .footer-deco2::after {
    top: -9rem;
    right: -10.5rem;
  }
}

/* トップに戻るボタン */
.page-top {
  font-size: 1rem;
  font-weight: bold;
  color: #320D10;
  width: 7rem;
  height: 7rem;
  background-color: #fff;
  border-radius: 50%;
  z-index: 998;
  cursor: pointer;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: fixed;
  bottom: 6rem;
  right: 2rem;
}
.page-top > span {
  display: inline-block;
  position: relative;
  line-height: 1;
  margin-top: 5px;
}
.page-top > span::after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 9px 5px;
  border-color: transparent transparent #320D10 transparent;
  position: absolute;
  position: absolute;
  top: -12px;
  left: 50%;
  transform: translateX(-50%);
}

@media print, screen and (min-width: 768px) {
  .footer {
    padding: 12rem 0 3rem;
    background: var(--color-beige) url("../img/footer-bg.png") no-repeat top center/cover;
  }
  .footer2 {
    padding: 12rem 0 3rem;
    background: var(--color-white) url("../img/footer-bg.png") no-repeat top center/cover;
  }
  .footer-deco1::after {
    content: none;
  }
  .footer-deco1 .footer-inner::after {
    content: "";
    width: 18rem;
    height: 9rem;
    background: url("../img/footer-deco.png") no-repeat center center/100% auto;
    position: absolute;
    top: -10rem;
    right: 0;
  }
  .footer-inner {
    max-width: 1060px;
    position: relative;
  }
  .footer-top {
    display: flex;
    flex-direction: row-reverse;
    gap: 11rem;
  }
  .footer-logo {
    width: 18.6rem;
    margin-bottom: 0;
  }
  .footer-menu {
    flex: 1;
  }
  .footer-menu-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.8rem 0;
  }
  .footer-menu-list > li.sp-block {
    width: auto;
  }
  .footer-menu-list > li a > span {
    padding: 0 1em;
  }
  .footer-bottom {
    margin-bottom: 4rem;
  }
  .footer-address {
    display: flex;
    gap: 7rem;
    align-items: flex-start;
  }
  .footer-info-text {
    font-size: 1.2rem;
    display: flex;
    gap: 7rem;
    margin-bottom: 0;
  }
  .footer-sub-menu > li {
    font-style: 1.2rem;
  }
  .footer-sub-menu {
    margin-bottom: 0;
  }
  .footer-sub-menu > li a {
    padding: 0.6em 0.8em;
  }
  .copyright small {
    font-size: 1.3rem;
  }
}
/*!
animation > animation
------------------------------
*/
.animate {
  opacity: 0;
}

.animate-swing.animated {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-iteration-count: 2;
}

@keyframes swing {
  50% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

.animate-swing2.animated {
  -webkit-transform-origin: center center;
  transform-origin: top center;
  -webkit-animation-name: swing2;
  animation-name: swing2;
  animation-duration: 2s;
  animation-timing-function: ease;
  animation-iteration-count: 2;
}

@keyframes swing2 {
  50% {
    transform: rotate(15deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
/*!
page > common
------------------------------
*/
/* パンくずリスト */
.bread-crumb-area {
  width: 100%;
  position: fixed;
  top: 8.5rem;
  left: 0;
  z-index: 998;
}
/*.bread-crumb {
  margin-bottom: 2rem;
}*/
.bread-crumb ul {
  font-size: 1rem;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.bread-crumb ul li:not(:last-child) {
  margin-right: 2em;
  position: relative;
}
.bread-crumb ul li:not(:last-child)::before {
  content: "〉";
  position: absolute;
  top: 0;
  right: -1.7em;
}
.bread-crumb ul li a {
  position: relative;
}
.bread-crumb ul li a::after {
  position: absolute;
  left: 0;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #000;
  bottom: -1px;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}
.bread-crumb ul li a:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}

@media print, screen and (min-width: 768px) {
  .bread-crumb-area {
    width: 100%;
    position: fixed;
    top: 11rem;
    left: 0;
  }
/*  .bread-crumb {
    margin-bottom: 17rem;
  }*/
  .bread-crumb ul {
    font-size: 1.2rem;
  }
}
/*@media print, screen and (min-width: 1230px) {
  .bread-crumb {
    margin-bottom: 12.6rem;
  }
}*/

/* リスト */
.list-note > li {
  position: relative;
  line-height: 1.4;
  padding-left: 1.2em;
  margin-bottom: 0.5em;
}
.list-note > li:last-child {
  margin-bottom: 0;
}
.list-note > li::before {
  content: "※";
  position: absolute;
  top: 0;
  left: 0;
}

.list > li {
  position: relative;
  padding-left: 1em;
  margin-bottom: 0.3em;
}
.list > li:last-child {
  margin-bottom: 0;
}
.list > li::before {
  content: "・";
  width: 1em;
  height: 1em;
  position: absolute;
  top: 0;
  left: 0;
}

/* 再生ボタン */
.play-button {
  color: #348061;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.25;
  width: 15.7rem;
  height: 4.4rem;
  border-radius: 100vh;
  background-color: #fff;
  border: 1px solid #91CAB3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  cursor: pointer;
}
.play-button > span {
  display: block;
  padding: 0 4rem;
  position: relative;
}
.play-button > span::before {
  content: "";
  width: 2.5rem;
  height: 2.5rem;
  display: block;
  background: url("../img/icon-audio.svg") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  left: 1.2rem;
  transform: translateY(-50%);
}
.play-button > span::after {
  content: "";
  width: 2rem;
  height: 2.8rem;
  display: block;
  background: url("../img/top/img-bird.png") no-repeat center center/contain;
  position: absolute;
  top: 50%;
  right: 1.8rem;
  transform: translateY(-50%);
}

.lower-head .play-button {
  margin-bottom: 3rem;
  margin-left: auto;
}

@media print, screen and (min-width: 768px) {
  .play-button {
    font-size: 1.4rem;
    width: 18.4rem;
    height: 7rem;
    border-width: 2px;
    position: relative;
  }
  .play-button > span::before {
    width: 3.2rem;
    height: 3.2rem;
    left: 1.8rem;
  }
  .play-button > span {
    padding: 0 2rem 0 5.6rem;
  }
  .play-button > span::after {
    content: none;
  }
  .play-button::before,
  .play-button:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1em;
    border-top: 1em solid #91CAB3;
    border-right: 1rem solid transparent;
    border-left: 1rem solid transparent;
  }
  .play-button:after {
    bottom: calc(4px - 1em);
    border-top: solid 1em #fff;
  }
  .lower-head .play-button {
    position: absolute;
    top: 3.3rem;
    right: 4rem;
  }
  .lower-head .play-button > span::after {
    content: "";
    width: 7.8rem;
    height: 8.5rem;
    background: url("../img/lower-play-bird.png") no-repeat center center/contain;
    position: absolute;
    top: auto;
    transform: none;
    bottom: -12rem;
    right: 7.3rem;
  }
}
@media print, screen and (min-width: 960px) {
  .play-button {
    font-size: 1.138vw;
    width: 14.95vw;
    height: 5.69vw;
    border-width: 2px;
    position: relative;
  }
  .play-button > span::before {
    width: 2.6vw;
    height: 2.6vw;
    left: 1.46vw;
  }
  .play-button > span {
    padding: 0 1.62vw 0 4.55vw;
  }
  .play-button:after {
    bottom: calc(0.325vw - 1em);
  }
}
@media print, screen and (min-width: 1230px) {
  .play-button {
    font-size: 1.4rem;
    width: 18.4rem;
    height: 7rem;
    border-width: 2px;
    position: relative;
  }
  .play-button > span::before {
    width: 3.2rem;
    height: 3.2rem;
    left: 1.8rem;
  }
  .play-button > span {
    padding: 0 2.5rem 0 5.6rem;
  }
  .play-button > span::after {
    content: none;
  }
  .play-button::before,
  .play-button:after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -1em;
    border-top: 1em solid #91CAB3;
    border-right: 1rem solid transparent;
    border-left: 1rem solid transparent;
  }
  .play-button:after {
    bottom: calc(4px - 1em);
    border-top: solid 1em #fff;
  }
}
/* 下層ページ 上部共通 */
.lower-head {
  padding: 5.1rem 0 8rem;
  background: url("../img/lower-head-bg-sp.png") no-repeat center center/cover;
}
.lower-head-inner {
  width: 90%;
  margin: 0 auto;
}
.lower-head-text {
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  margin-bottom: 5.5rem;
}
.lower-head-list {
  width: 90%;
  margin: 0 auto;
}
.lower-head-list > li {
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.3;
  letter-spacing: 0.1em;
  text-align: center;
  background-color: #320D10;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.16);
  border-radius: 100vh;
  position: relative;
  margin-bottom: 2rem;
  position: relative;
}
.lower-head-list > li:last-child {
  margin-bottom: 0;
}
.lower-head-list > li a {
  display: block;
  padding: 1.2em 2.5em 1.2em 2.5em;
}
.lower-head-list > li a::after {
  content: '';
  width: 1.2rem;
  height: 1rem;
  background: url("../img/arrow-down-white.svg") no-repeat center center / contain;
  position: absolute;
  top: 50%;
  right: 1.2rem;
  transform: translateY(-50%);
}

@media print, screen and (min-width: 768px) {
  .lower-head {
    position: relative;
    padding: 21rem 0 7.5rem;
    background: url("../img/lower-head-bg.png") no-repeat center center/cover;
  }
  .lower-head-text {
    max-width: 715px;
    margin: 0 auto 6rem;
    font-size: 1.6rem;
    line-height: 2.4;
  }
  .lower-head-list {
    width: auto;
    display: flex;
    /* flex-wrap: wrap; */
    justify-content: center;
    gap: 15px;
  }
  .lower-head-list > li {
    width: 200px;
    max-width: 100%;
    font-size: 1.4rem;
    line-height: 1.4;
    border-radius: 2rem;
    margin-bottom: 0;
  }
  .lower-head-list > li a {
    padding: 1em 1em 2em;
  }
  .lower-head-list > li a::after {
    right: auto;
    top: auto;
    bottom: 0.6rem;
    left: 50%;
  }
}

/* 会話部分 */
.convo {
  margin-bottom: 5rem;
}
.convo-item {
  display: flex;
  align-items: flex-start;
  gap: 3px;
  margin-bottom: 3rem;
}
.convo-item.right {
  flex-direction: row-reverse;
}
.convo-item.center {
  align-items: center;
}
.convo-chara {
  flex-shrink: 0;
}
.convo-chara img {
  width: 6.75rem;
  height: auto;
}
.convo-comment {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.07em;
  line-height: 1.4;
  background-color: #fff;
  padding: 1em 1em 1em 1.6rem;
  border: 2px solid #7B5E5F;
  border-radius: 4.5rem;
  position: relative;
  max-width: calc(100% - 1.5em);
  margin-top: -0.2rem;
}

.left .convo-comment {
  padding: 1em 1em 1em 1.6em;
  border: 2px solid #7B5E5F;
  margin-left: 1em;
}
.left .convo-comment::before,
.left .convo-comment:after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -1em;
  border-top: 0.6rem solid transparent;
  border-bottom: 0.6rem solid transparent;
  border-right: 1em solid #7B5E5F;
}
.left .convo-comment:after	{
  left: calc(4px - 1em);
  border-right: solid 1em #fff;
}

.right .convo-comment {
  padding: 1em 1em 1em 1.6em;
  border: 2px solid #91CAB3;
  margin-right: 1em;
}
.right .convo-comment::before,
.right .convo-comment:after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: -1em;
  border-top: 0.6rem solid transparent;
  border-bottom: 0.6rem solid transparent;
  border-left: 1em solid #91CAB3;
}
.right .convo-comment:after	{
  right: calc(4px - 1em);
  border-left: solid 1em #fff;
}

.convo-comment.baloon-position-top::before,
.convo-comment.baloon-position-top::after {
  top: 3.8rem;
  transform: none;
}

.white-box {
  background-color: #fff;
  padding: 2.5rem 1.5rem;
}

.sec {
  padding: 5rem 0;
}

.note-text {
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin-top: 1rem;
}

@media print, screen and (min-width: 768px) {
  .convo {
    max-width: 780px;
    margin: 0 auto 2.5rem;
  }
  .convo-item {
    gap: 0.8rem;
  }
  .convo-comment {
    font-weight: bold;
    border-radius: 5.8rem;
  }
  .left .convo-comment {
    padding: 1.3em 2em 1.3em 1.6em;
  }
  .right .convo-comment {
    padding: 1.3em 1.5em 1.3em 2em;
  }
  .convo-comment.baloon-position-top::before,
  .convo-comment.baloon-position-top::after {
    top: 5rem;
  }
  .convo-chara img {
    width: 10rem;
  }
  .convo-comment {
    max-width: 71%;
    font-size: 1.5rem;
    line-height: 1.8;
  }
  .white-box {
    padding: 4rem;
  }
  .note-text {
    font-size: 1.2rem;
  }
}
@media print, screen and (min-width: 890px) {
  .convo-comment {
    max-width: 69%;
  }
}

/* ページ内検索ボタン */
@media screen and (max-width: 767px) {
  .search-form-001 {
  color: #231815;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  border: 2px solid #320D10;
  border-radius: 7px;
  background-color: white;
  width: 500px;
  height: 45px;
  }

  .search-form-001 input {
  width: 250px;
  max-width: 220px;
  height: 45px;
  padding: 5px 15px;
  border: none;
  box-sizing: border-box;
  font-size: 1em;
  outline: none;
  }

  .search-form-001 input::placeholder{
  color: #505050;
  }

  .search-form-001 button {
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 60px;
  width: 100px;
  height: 45px;
  border: none;
  background-color: #320D10;
  cursor: pointer;
  }
}
@media print, screen and (min-width: 767px) {
  .search-form-001 {
  color: #231815;
  display: flex;
  justify-content: space-between;
  align-items: center;
  overflow: hidden;
  border: 2px solid #320D10;
  border-radius: 3px;
  background-color: white;
  width: 500px;
  height: 45px;
  }

  .search-form-001 input {
  width: 396px;
  max-width: 396px;
  height: 45px;
  padding: 5px 15px;
  border: none;
  box-sizing: border-box;
  font-size: 1em;
  outline: none;
  }

  .search-form-001 input::placeholder{
  color: #505050;
  }

  .search-form-001 button {
  color: white;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100px;
  height: 45px;
  border: none;
  background-color: #320D10;
  cursor: pointer;
  }
}

.bottom-banner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.bottom-banner-list >li {
  border: 1px solid #cccccc;
}
.bottom-banner-list >li a {
  display: block;
}

/*!
プリント設定
------------------------------
*/
@media print {
  * {
      text-shadow: none !important;
      box-shadow: none !important;
  }
  html,body{
      width: 1100px;
      -webkit-print-color-adjust: exact;
      transform: scale(0.95);
      transform-origin: center top;
      size: A4 landscape;
      /* page-break-before: always; */
  }
  header{
      position: relative !important;
  }
  .main{
      padding-top: 0 !important;
  }
  .animate-swing {
    opacity: 1 !important;
  }
}