@charset "UTF-8";
/* ---------- ---------- ---------- ---------- ---------- */
.d_ib {
  display: inline-block !important;
}
.d_b {
  display: block !important;
}
.d_pc {
  display: block;
}
@media only screen and (max-width: 768px) {
  .d_pc {
    display: none;
  }
}
.d_sp {
  display: none !important;
}
@media only screen and (max-width: 768px) {
  .d_sp {
    display: block !important;
  }
}

/* ---------- ---------- ---------- ---------- ---------- */
.ta_r {
  text-align: right !important;
}
.ta_c {
  text-align: center !important;
}
.ta_l {
  text-align: left !important;
}

/* ---------- ---------- ---------- ---------- ---------- */
.f_en {
  font-family: "Noto Sans JP", sans-serif;
}

/* ---------- ---------- ---------- ---------- ---------- */
.fw_100 {
  font-weight: 100 !important;
}
.fw_200 {
  font-weight: 200 !important;
}
.fw_300 {
  font-weight: 300 !important;
}
.fw_400 {
  font-weight: 400 !important;
}
.fw_500 {
  font-weight: 500 !important;
}
.fw_600 {
  font-weight: 600 !important;
}
.fw_700 {
  font-weight: 700 !important;
}
.fw_800 {
  font-weight: 800 !important;
}
.fw_900 {
  font-weight: 900 !important;
}
.fw_n {
  font-weight: normal !important;
}
.fw_b {
  font-weight: bold !important;
}

/* ---------- ---------- ---------- ---------- ---------- */
.fz_10 {
  font-size: 10px;
}

.fz_11 {
  font-size: 11px;
}

.fz_12 {
  font-size: 12px;
}

.fz_13 {
  font-size: 13px;
}

.fz_14 {
  font-size: 14px;
}

.fz_15 {
  font-size: 15px;
}

.fz_16 {
  font-size: 16px;
}

.fz_17 {
  font-size: 17px;
}

.fz_18 {
  font-size: 18px;
}

.fz_19 {
  font-size: 19px;
}

.fz_20 {
  font-size: 20px;
}

.fz_22 {
  font-size: 22px;
}

.fz_24 {
  font-size: 24px;
}

.fz_26 {
  font-size: 26px;
}

.fz_28 {
  font-size: 28px;
}

.fz_30 {
  font-size: 30px;
}

.fz_32 {
  font-size: 32px;
}

.fz_34 {
  font-size: 34px;
}

.fz_36 {
  font-size: 36px;
}

.fz_38 {
  font-size: 38px;
}

.fz_40 {
  font-size: 40px;
}

.fz_42 {
  font-size: 42px;
}

.fz_44 {
  font-size: 44px;
}

.fz_46 {
  font-size: 46px;
}

.fz_48 {
  font-size: 48px;
}

.fz_50 {
  font-size: 50px;
}

/* ---------- ---------- ---------- ---------- ---------- */
.m_0 {
  margin: 0px !important;
}

.mt_0 {
  margin-top: 0px !important;
}

.mr_0 {
  margin-right: 0px !important;
}

.mb_0 {
  margin-bottom: 0px !important;
}

.ml_0 {
  margin-left: 0px !important;
}

.m_5 {
  margin: 5px !important;
}

.mt_5 {
  margin-top: 5px !important;
}

.mr_5 {
  margin-right: 5px !important;
}

.mb_5 {
  margin-bottom: 5px !important;
}

.ml_5 {
  margin-left: 5px !important;
}

.m_10 {
  margin: 10px !important;
}

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

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

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

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

.m_15 {
  margin: 15px !important;
}

.mt_15 {
  margin-top: 15px !important;
}

.mr_15 {
  margin-right: 15px !important;
}

.mb_15 {
  margin-bottom: 15px !important;
}

.ml_15 {
  margin-left: 15px !important;
}

.m_20 {
  margin: 20px !important;
}

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

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

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

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

.m_25 {
  margin: 25px !important;
}

.mt_25 {
  margin-top: 25px !important;
}

.mr_25 {
  margin-right: 25px !important;
}

.mb_25 {
  margin-bottom: 25px !important;
}

.ml_25 {
  margin-left: 25px !important;
}

.m_30 {
  margin: 30px !important;
}

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

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

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

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

.m_35 {
  margin: 35px !important;
}

.mt_35 {
  margin-top: 35px !important;
}

.mr_35 {
  margin-right: 35px !important;
}

.mb_35 {
  margin-bottom: 35px !important;
}

.ml_35 {
  margin-left: 35px !important;
}

.m_40 {
  margin: 40px !important;
}

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

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

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

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

.m_45 {
  margin: 45px !important;
}

.mt_45 {
  margin-top: 45px !important;
}

.mr_45 {
  margin-right: 45px !important;
}

.mb_45 {
  margin-bottom: 45px !important;
}

.ml_45 {
  margin-left: 45px !important;
}

.m_50 {
  margin: 50px !important;
}

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

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

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

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

.m_55 {
  margin: 55px !important;
}

.mt_55 {
  margin-top: 55px !important;
}

.mr_55 {
  margin-right: 55px !important;
}

.mb_55 {
  margin-bottom: 55px !important;
}

.ml_55 {
  margin-left: 55px !important;
}

.m_60 {
  margin: 60px !important;
}

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

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

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

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

.m_65 {
  margin: 65px !important;
}

.mt_65 {
  margin-top: 65px !important;
}

.mr_65 {
  margin-right: 65px !important;
}

.mb_65 {
  margin-bottom: 65px !important;
}

.ml_65 {
  margin-left: 65px !important;
}

.m_70 {
  margin: 70px !important;
}

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

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

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

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

.m_75 {
  margin: 75px !important;
}

.mt_75 {
  margin-top: 75px !important;
}

.mr_75 {
  margin-right: 75px !important;
}

.mb_75 {
  margin-bottom: 75px !important;
}

.ml_75 {
  margin-left: 75px !important;
}

.m_80 {
  margin: 80px !important;
}

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

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

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

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

.m_85 {
  margin: 85px !important;
}

.mt_85 {
  margin-top: 85px !important;
}

.mr_85 {
  margin-right: 85px !important;
}

.mb_85 {
  margin-bottom: 85px !important;
}

.ml_85 {
  margin-left: 85px !important;
}

.m_90 {
  margin: 90px !important;
}

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

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

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

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

.m_95 {
  margin: 95px !important;
}

.mt_95 {
  margin-top: 95px !important;
}

.mr_95 {
  margin-right: 95px !important;
}

.mb_95 {
  margin-bottom: 95px !important;
}

.ml_95 {
  margin-left: 95px !important;
}

.m_100 {
  margin: 100px !important;
}

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

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

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

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

.m0a {
  margin: 0 auto;
}

.mla {
  margin-right: 0;
  margin-left: auto;
}

.mra {
  margin-right: auto;
  margin-left: 0;
}

.m1rem {
  margin: 1rem 0;
}

/* ---------- ---------- ---------- ---------- ---------- */
.p_0 {
  padding: 0px !important;
}

.pt_0 {
  padding-top: 0px !important;
}

.pr_0 {
  padding-right: 0px !important;
}

.pb_0 {
  padding-bottom: 0px !important;
}

.pl_0 {
  padding-left: 0px !important;
}

.p_5 {
  padding: 5px !important;
}

.pt_5 {
  padding-top: 5px !important;
}

.pr_5 {
  padding-right: 5px !important;
}

.pb_5 {
  padding-bottom: 5px !important;
}

.pl_5 {
  padding-left: 5px !important;
}

.p_10 {
  padding: 10px !important;
}

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

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

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

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

.p_15 {
  padding: 15px !important;
}

.pt_15 {
  padding-top: 15px !important;
}

.pr_15 {
  padding-right: 15px !important;
}

.pb_15 {
  padding-bottom: 15px !important;
}

.pl_15 {
  padding-left: 15px !important;
}

.p_20 {
  padding: 20px !important;
}

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

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

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

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

.p_25 {
  padding: 25px !important;
}

.pt_25 {
  padding-top: 25px !important;
}

.pr_25 {
  padding-right: 25px !important;
}

.pb_25 {
  padding-bottom: 25px !important;
}

.pl_25 {
  padding-left: 25px !important;
}

.p_30 {
  padding: 30px !important;
}

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

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

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

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

.p_35 {
  padding: 35px !important;
}

.pt_35 {
  padding-top: 35px !important;
}

.pr_35 {
  padding-right: 35px !important;
}

.pb_35 {
  padding-bottom: 35px !important;
}

.pl_35 {
  padding-left: 35px !important;
}

.p_40 {
  padding: 40px !important;
}

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

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

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

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

.p_45 {
  padding: 45px !important;
}

.pt_45 {
  padding-top: 45px !important;
}

.pr_45 {
  padding-right: 45px !important;
}

.pb_45 {
  padding-bottom: 45px !important;
}

.pl_45 {
  padding-left: 45px !important;
}

.p_50 {
  padding: 50px !important;
}

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

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

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

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

.p_55 {
  padding: 55px !important;
}

.pt_55 {
  padding-top: 55px !important;
}

.pr_55 {
  padding-right: 55px !important;
}

.pb_55 {
  padding-bottom: 55px !important;
}

.pl_55 {
  padding-left: 55px !important;
}

.p_60 {
  padding: 60px !important;
}

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

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

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

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

.p_65 {
  padding: 65px !important;
}

.pt_65 {
  padding-top: 65px !important;
}

.pr_65 {
  padding-right: 65px !important;
}

.pb_65 {
  padding-bottom: 65px !important;
}

.pl_65 {
  padding-left: 65px !important;
}

.p_70 {
  padding: 70px !important;
}

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

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

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

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

.p_75 {
  padding: 75px !important;
}

.pt_75 {
  padding-top: 75px !important;
}

.pr_75 {
  padding-right: 75px !important;
}

.pb_75 {
  padding-bottom: 75px !important;
}

.pl_75 {
  padding-left: 75px !important;
}

.p_80 {
  padding: 80px !important;
}

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

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

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

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

.p_85 {
  padding: 85px !important;
}

.pt_85 {
  padding-top: 85px !important;
}

.pr_85 {
  padding-right: 85px !important;
}

.pb_85 {
  padding-bottom: 85px !important;
}

.pl_85 {
  padding-left: 85px !important;
}

.p_90 {
  padding: 90px !important;
}

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

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

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

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

.p_95 {
  padding: 95px !important;
}

.pt_95 {
  padding-top: 95px !important;
}

.pr_95 {
  padding-right: 95px !important;
}

.pb_95 {
  padding-bottom: 95px !important;
}

.pl_95 {
  padding-left: 95px !important;
}

.p_100 {
  padding: 100px !important;
}

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

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

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

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

/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  -ms-text-size-adjust: none;
      text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
  list-style: none;
}

/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
ol {
  counter-reset: revert;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::-webkit-input-placeholder {
  color: unset;
}
::-moz-placeholder {
  color: unset;
}
:-ms-input-placeholder {
  color: unset;
}
::-ms-input-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
 display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
- fix for the content editable attribute will work properly.
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}
html ::-moz-selection {
  color: #fff;
  background: rgba(57, 73, 109, 0.6);
}
html ::selection {
  color: #fff;
  background: rgba(57, 73, 109, 0.6);
}

body {
  position: relative;
  color: #333;
  font-family: "Lato", "Noto Sans JP", sans-serif;
  font-size: clamp(1rem, 0.955rem + 0.23vw, 1.125rem);
  font-weight: 400;
  line-height: 1.75;
}

img {
  max-width: 100%;
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

:focus {
  outline: 3px ridge #333;
  outline-offset: 8px;
}
:focus:not(:focus-visible) {
  outline: 0; /* キーボード操作"以外"でフォーカスされた際はoutlineを消す */
}

h1 {
  width: 300px;
}
h1 img{
    object-fit: contain;
}
@media (max-width: 768px) {
  h1 {
    width: auto;
    height: 55px;
    z-index: 9999;
  }
}

header {
  width: 100%;
  padding: 10px 20px 10px 10px;
  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;
  position: fixed;
  background: #FFF;
  z-index: 9999;
}
@media (max-width: 768px) {
  header {
    border-bottom: 1px solid #cfcfcf;
  }
}

.l-nav {
  display: none;
  gap: 3rem;
  opacity: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  background: #FFF;
}
.l-nav li {
  text-align: center;
}
.l-nav li span {
  display: block;
}
@media (max-width: 768px) {
  .l-nav {
    height: 100vh;
    gap: 0;
    position: fixed;
    top: 0;
    padding-top: 70px;
  }
  .l-nav li {
    border-bottom: 1px solid #cfcfcf;
  }
  .l-nav li:first-child {
    border-top: 1px solid #cfcfcf;
  }
  .l-nav li a {
    display: block;
    padding: 15px 0;
  }
}

.menu-toggle {
  display: block;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #cfcfcf;
  padding: 5px;
  border-radius: 5px;
  cursor: pointer;
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  top: 10px;
  z-index: 999;
}
.menu-toggle::before, .menu-toggle::after,
.menu-toggle .line {
  content: "";
  display: block;
  width: 30px;
  height: 4px;
  background-color: #333;
  position: absolute;
  left: 9px;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.menu-toggle::before {
  top: 10px;
}
.menu-toggle .line {
  top: 22px;
}
.menu-toggle::after {
  bottom: 10px;
}
.menu-toggle.active .line {
  opacity: 0;
}
.menu-toggle.active::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  top: 22px;
}
.menu-toggle.active::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  top: 22px;
}

.menu-toggle.active + .l-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  left: 0;
}

@media (min-width: 768px) {
  .menu-toggle {
    display: none;
  }
  .l-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    opacity: 1;
  }
}
img {
  vertical-align: bottom;
}

.open-cover {
  width: 100%;
  height: 100vh;
}
.open-cover img {
  -o-object-fit: cover;
     object-fit: cover;
}

.l-main {
  width: 100%;
  padding-top: 100px;
  position: relative;
}
.l-main .logo {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 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;
  padding-top: 100px;
  z-index: 1;
}
.l-main .logo img {
  width: 45vw;
  height: auto;
}
@media (max-width: 768px) {
  .l-main .logo img {
    width: 90vw;
  }
}
@media (max-width: 768px) {
  .l-main {
    padding-top: 70px;
    height: 100vh;
    overflow: hidden;
  }
  .l-main .swiper {
    height: 100%;
  }
  .l-main .swiper img {
    width: 100%;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.l-content {
  width: 90vw;
  max-width: 1200px;
  margin: auto;
  padding: 50px;
}
@media (max-width: 768px) {
  .l-content {
    width: 90vw;
    padding: 0;
  }
}
.l-text-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
.l-accordion-wrap {
  width: 90vw;
  max-width: 1200px;
  margin: auto;
}
@media (max-width: 768px) {
  .l-accordion-wrap {
    width: 90vw;
    padding: 0;
  }
}

footer {
  background: #814B37;
  color: #FFF;
  text-align: center;
  padding: 1.5rem;
  font-size: 0.88rem;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 1rem;
}
footer ul li {
  padding-inline: 1rem;
  border-right: 1px solid #FFF;
}
footer ul li:last-child {
  border: none;
}
@media (max-width: 768px) {
  footer ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  footer ul li {
    border: none;
  }
}
footer .copyright {
  font-size: 0.8rem;
}

.accordion-triger {
  padding: 5px 20px;
  color: #FFF;
  position: relative;
}
.accordion-triger hgroup {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
.accordion-triger hgroup h2 {
  font-weight: bold;
  font-size: 1.7rem;
}
.accordion-triger::before, .accordion-triger:after {
  content: "";
  display: block;
  width: 30px;
  border-top: 3px solid #FFF;
  position: absolute;
  right: 20px;
  top: 27px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.accordion-triger::before {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.accordion-triger.is-open::before {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}
.accordion-inner {
  padding: 3rem 3rem 80px;
  border: 1px solid #cfcfcf;
}
@media (max-width: 768px) {
  .accordion-inner {
    padding: 1rem;
  }
}

h3 {
  font-size: 1.7rem;
}

.ul-attention {
  border: 1px solid #D1A6A9;
  padding: 1rem;
}
.ul-attention li {
  position: relative;
  list-style: none;
  padding-left: 1.5rem;
  font-size: 0.88rem;
}
.ul-attention li:before {
  content: "※";
  position: absolute;
  left: 0;
}
.ul-option {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  border-top: 1px solid #D1A6A9;
  width: 48%;
}
.ul-option li {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #D1A6A9;
}
.ul-option li p {
  white-space: nowrap;
}
@media (max-width: 768px) {
  .ul-option {
    width: 100%;
  }
}

.btn-area {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 30px;
    padding-block: 2rem;
}
.btn-inquiry {
    display: block;
    width: 300px;
    background: #539286;
    padding: 10px;
    border-radius: 10px;
    color: #FFF;
}
.btn-sns img {
  width: auto;
  height: 50px;
}
.btn-sns img:first-child {
  margin-right: 0.5rem;
}
.btn-sns img:last-child {
  margin-left: 0.5rem;
}
.btn-top {
  display: block;
  width: 300px;
  margin: 0 auto;
  text-align: center;
  padding: 20px;
  background: #539286;
  color: #FFF;
  border-radius: 10px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.btn-top:hover {
  opacity: 0.7;
}

a {
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
a:hover {
  opacity: 0.6;
}

.js-accordion-content {
  display: none;
}
.js-accordion-content.is-open {
  display: block;
}

#l-anc-01 {
  background: url("../images/pho_05.jpg") no-repeat center bottom;
  background-size: cover;
}
#l-anc-01 .gradation {
  padding: 100px 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.9)), color-stop(24%, rgba(255, 255, 255, 0.8)), color-stop(60%, rgba(255, 255, 255, 0.7)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.8) 24%, rgba(255, 255, 255, 0.7) 60%, rgba(255, 255, 255, 0) 100%);
}
#l-anc-01 .l-content {
  padding-inline: 20px;
}
#l-anc-01 .l-text {
  font-size: 110%;
}
#l-anc-01 h2 {
  font-weight: bold;
  color: #3889B7;
  font-size: 1.7rem;
}
#l-anc-01 hgroup {
  margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
  #l-anc-01 {
    background: url("../images/ph_05_sp.jpg") no-repeat center bottom;
    background-size: cover;
    padding-bottom: 200px;
  }
  #l-anc-01 .gradation {
    padding: 20px 0;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.9)), color-stop(95%, rgba(255, 255, 255, 0.8)), color-stop(98%, rgba(255, 255, 255, 0.3)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.8) 95%, rgba(255, 255, 255, 0.3) 98%, rgba(255, 255, 255, 0) 100%);
  }
  #l-anc-01 .l-content {
    padding: 1rem;
  }
}
#l-anc-02 {
  margin-top: 5rem;
}
#l-anc-02 .accordion-triger {
  background: #539286;
}
#l-anc-02 .concept-copy {
  text-align: center;
  margin-bottom: 3rem;
  font-size: 2rem;
}
#l-anc-02 .concept-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 3rem;
  margin-bottom: 3rem;
}
#l-anc-02 .concept-unit.opp {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
#l-anc-02 .concept-unit.unit-01 {
  position: relative;
}
#l-anc-02 .concept-unit.unit-01:before {
  content: "";
  display: block;
  width: 7vw;
  height: 14vw;
  background: url("../images/bg_02.png") no-repeat;
  background-size: 100% auto;
  position: absolute;
  left: -1.5rem;
  top: -1rem;
  z-index: -1;
  opacity: 0.2;
}
#l-anc-02 .concept-unit.unit-02 {
  position: relative;
}
#l-anc-02 .concept-unit.unit-02:before {
  content: "";
  display: block;
  width: 10vw;
  height: 9vw;
  background: url("../images/bg_01.png") no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: -1.5rem;
  bottom: -1rem;
  z-index: -1;
  opacity: 0.2;
}
#l-anc-02 .concept-unit.unit-03 .concept-txt {
  position: relative;
}
#l-anc-02 .concept-unit.unit-03 .concept-txt::before {
  content: "";
  display: block;
  width: 10vw;
  height: 9vw;
  background: url("../images/bg_03.png") no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: -1.5rem;
  bottom: -1rem;
  z-index: -1;
  opacity: 0.2;
}
#l-anc-02 .concept-img {
  width: 30%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding-top: 70px;
}
@media (max-width: 768px) {
  #l-anc-02 .concept-img {
    padding-top: 0;
  }
}
#l-anc-02 h3 {
  color: #539286;
  margin-bottom: 1rem;
}
@media (max-width: 768px) {
  #l-anc-02 {
    margin-top: 2rem;
  }
  #l-anc-02 .concept-copy {
    text-align: left;
    font-size: 1.5rem;
    margin-bottom: 1.5rem;
  }
  #l-anc-02 .concept-unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1rem;
  }
  #l-anc-02 .concept-unit.opp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #l-anc-02 .concept-unit.unit-01:before, #l-anc-02 .concept-unit.unit-02:before {
    display: none;
  }
  #l-anc-02 .concept-unit.unit-03 .concept-txt:before {
    display: none;
  }
  #l-anc-02 .concept-img {
    width: 100%;
  }
}
#l-anc-03 .accordion-triger {
  background: #D1A6A9;
}
#l-anc-03 h3 {
  text-align: center;
  margin-bottom: 1rem;
}
#l-anc-03 .menu-description {
  background: rgba(209, 166, 169, 0.3);
  margin-bottom: 1rem;
  padding: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#l-anc-03 .menu-description dt {
  padding-right: 1rem;
  width: 15rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
#l-anc-03 .menu-description dd {
  padding-left: 1rem;
  border-left: 3px solid #D1A6A9;
}
@media (max-width: 768px) {
  #l-anc-03 .menu-description {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #l-anc-03 .menu-description dt {
    text-align: center;
    padding-bottom: 0.5rem;
  }
  #l-anc-03 .menu-description dd {
    border-left: none;
    padding-left: 0;
    border-top: 3px solid #D1A6A9;
  }
}
#l-anc-03 .menu-option-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3rem;
  margin-top: 3rem;
}
#l-anc-03 .menu-option-left {
  width: 60%;
}
#l-anc-03 .menu-option-left-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem;
}
#l-anc-03 .menu-option-right {
  width: 40%;
}
#l-anc-03 .menu-option-single {
  border-top: 1px solid #D1A6A9;
  border-bottom: 1px solid #D1A6A9;
  padding: 10px 0;
}
#l-anc-03 .menu-option-single-price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 1rem;
}
#l-anc-03 .menu-option-single-price dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 50%;
}
@media (max-width: 768px) {
  #l-anc-03 .menu-option-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #l-anc-03 .menu-option-left {
    width: 100%;
  }
  #l-anc-03 .menu-option-left-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #l-anc-03 .menu-option-right {
    width: 100%;
  }
}
#l-anc-03 .menu-ttl {
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 0.5rem;
}
#l-anc-03 .triming {
  margin-top: 3rem;
}
#l-anc-03 .triming-table {
  width: 100%;
  margin-bottom: 0.5rem;
}
#l-anc-03 .triming-table th, #l-anc-03 .triming-table td {
  border: 1px solid #cfcfcf;
  padding: 10px;
}
#l-anc-03 .triming-table td {
  width: 30%;
  text-align: right;
}
#l-anc-03 .triming-table thead th {
  text-align: center;
  background: rgba(209, 166, 169, 0.3);
  font-weight: bold;
}
#l-anc-03 .triming-table tr:nth-child(even) {
  background: rgba(209, 166, 169, 0.1);
}
#l-anc-04 .l-accordion-wrap {
  background: rgba(56, 137, 183, 0.05);
}
#l-anc-04 .accordion-triger {
  background: #3889B7;
}
@media (max-width: 768px) {
  #l-anc-04 .accordion-triger hgroup {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    line-height: 1.2;
  }
}
@media (max-width: 768px) {
  #l-anc-04 .accordion-inner {
    padding-inline: 1rem;
  }
}
#l-anc-04 h3 {
  text-align: center;
  margin-top: 3rem;
  margin-bottom: 1rem;
}
#l-anc-04 .info-unit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 3rem;
}
#l-anc-04 .info-unit .photo {
  width: 30%;
  max-width: 150px;
}
@media (max-width: 768px) {
  #l-anc-04 .info-unit {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #l-anc-04 .info-unit .photo {
    width: 100%;
    margin: 0 auto;
  }
}
#l-anc-04 table {
  width: 100%;
}
#l-anc-04 table th, #l-anc-04 table td {
  border: 1px solid #cfcfcf;
  padding: 10px;
}
#l-anc-04 table th {
  width: 250px;
  background: rgba(56, 137, 183, 0.1);
}
#l-anc-04 table td {
  background: #FFF;
}
@media (max-width: 768px) {
  #l-anc-04 table th, #l-anc-04 table td {
    display: block;
    width: 100%;
  }
}
#l-anc-04 .map {
  margin-top: 2rem;
  width: 100%;
  height: 350px;
}
#l-anc-04 .map iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 768px) {
  #l-anc-04 .map {
    height: 200px;
  }
}
#l-anc-05 {
  text-align: center;
}
#l-anc-05 h2 {
  color: #814B37;
  font-size: 2rem;
}
#l-anc-05 .logo {
  width: 50%;
  max-width: 400px;
}
#l-anc-05 .tel {
  margin-block: 1rem;
  font-size: 1.8rem;
  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;
  gap: 1rem;
}
#l-anc-05 .tel a {
  font-size: 3rem;
  font-weight: bold;
}
@media (max-width: 768px) {
  #l-anc-05 .l-content {
    padding-block: 1rem;
  }
  #l-anc-05 .logo {
    width: 80%;
  }
  #l-anc-05 .tel {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: 1.2rem;
    gap: 0;
  }
  #l-anc-05 .tel a {
    font-size: 2rem;
  }
}
#l-contact {
  padding: 80px 5vw 50px;
  min-height: calc(100vh - 100px);
}
#l-contact hgroup {
  margin-bottom: 3rem;
}
#l-contact h2 {
  font-size: 3rem;
}
#l-contact .form {
  margin: 3rem auto;
  padding: 3rem;
  background: rgba(209, 166, 169, 0.1);
  text-align: center;
}
#l-contact table {
  width: 100%;
}
#l-contact table th,
#l-contact table td {
  padding: 1rem;
  vertical-align: top;
  text-align: left;
}
#l-contact table th {
  width: 200px;
}
#l-contact table th span {
  color: #E50012;
  display: block;
  font-size: 0.8rem;
}
#l-contact input,
#l-contact textarea {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-radius: 5px;
  padding: 5px 10px;
  background: #FFF;
}
#l-contact textarea {
  height: 150px;
}
#l-contact input[type=submit] {
  width: 200px;
  margin: 0 auto;
  text-align: center;
  padding: 10px;
  background: #539286;
  color: #FFF;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#l-contact input[type=submit]:hover {
  opacity: 0.7;
}
#l-contact .btn-area {
  text-align: center;
}
#l-contact .btn-area a {
  margin: auto;
}
@media (max-width: 768px) {
  #l-contact {
    padding: 4rem 10px 2rem;
    min-height: calc(100vh - 250px);
  }
  #l-contact hgroup {
    margin-bottom: 1.5rem;
  }
  #l-contact .form {
    padding: 1rem;
    margin: 1.5rem auto;
  }
  #l-contact table th, #l-contact table td {
    display: block;
    padding: 0;
    width: 100%;
  }
  #l-contact table th span {
    display: inline;
    margin-left: 10px;
  }
  #l-contact table td {
    margin-bottom: 1rem;
  }
}
.float-btn{
    position: relative;
    position: fixed;
    right: 30px;
    bottom: 120px;
    z-index: 9999;
    text-align: center;
}
.float-btn-content{
    box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.10);
    overflow: hidden;
    border-radius: 10px;
}
.float-btn p{
    padding-block: 8px;
    color: #FFF;
    background: #539286;
}
.float-btn .img-wrap{
    background: #fff;
    padding: 20px 40px;
}
.float-btn .img-wrap img{
    max-width: 140px;
}
.float-btn-close {
    position: absolute;
    top: -10px;
    right: -10px;
    width: 24px;
    height: 24px;
    background: rgba(0,0,0,0.4);
    border-radius: 100vmax;
    color: #fff;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
}
.float-btn-close:hover {
    background: rgba(0,0,0,0.7);
}
@media (max-width: 768px) {
    .float-btn {
        right: 20px;
        bottom: 20px;
    }
    .float-btn p{
        padding-block: 5px;
    }
    .float-btn .img-wrap{
        padding: 10px 20px;
    }
    .float-btn .img-wrap img{
        max-width: 90px;
    }
}

.gototop {
    color: #fff;
  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;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: rgba(129, 75, 55, 0.8);
  border-radius: 50%;
  width: 50px;
  height: 50px;
  text-indent: -9999px;
}
.gototop:before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  background: url("../images/ico_arrow.png") no-repeat;
  background-size: contain;
}
@media (max-width: 768px) {
  .gototop {
    right: 20px;
    bottom: 20px;
  }
}

.policy h2 {
  font-size: 2rem;
  font-weight: bold;
  color: #814B37;
}
.policy dl {
  margin-top: 3rem;
}
.policy dl dt {
  font-weight: bold;
}

.c-red {
  color: #E50012;
}

.is-no_scroll {
  overflow: hidden;
}