@charset "utf-8";

:root {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --easeInQuad:cubic-bezier(.55, .085, .68, .53);
  --easeOutQuad:cubic-bezier(.25, .46, .45, .94);
  --color-white: #FFFFFF;
  --color-black: #000000;
  --color-base: #443E35;
  --color-base-light: #605b53;
  --color-base-dark: #443E35;
  --color-beige1: #FBF8F4;
  --color-beige2: #F3EFE9;
  --color-l-grey: #CAC7C3;
  --color-l-grey2: #e6e3df;
  --color-m-grey: #777472;
  --color-fegia1: #EEEDE6;
  --color-fegia2: #DDDED7;
  --color-dull-purple: #BE99AE;
  --color-dull-purple2: #e5d6df;
  --color-dull-orange: #E0B68A;
  --color-pink-orenge : #fc8b71;
  --color-gold : #8a6a28;
  --color-button : #8a6a28;
  --color-header: #66615b;
  --color-header-fix: #66615b;
  --color-form-placeholder: #afaba6;
  --color-form-input-outline: #CAC7C3;
  --color-form-input: #443E35;
  --color-form-required: #e67046;
  --font-Serif: 'Noto Serif JP', serif;
  --font-Aboreto: "Aboreto", system-ui, sans-serif;
  --font-Oooh: "Oooh Baby", cursive;
  --font-Garamond: "Cormorant Garamond", serif;

  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff,.2);
}

/* Google recaptcha v3 アイコンの非表示設定
  ================================================ */
.grecaptcha-badge {visibility: hidden !important;}

/* Utility
  ================================================ */
b, strong {font-weight: 500;}
.u-marker {background: linear-gradient(transparent 73%, #ffd5c6 0) !important;}
.br-sm,.br-sm.br-md{display: block;}
.br-md{display: none;}
.br-lg{display: none;}
.br-8{border-radius: 8px;}
.txt-center{text-align: center;}
.txt-left{text-align: left;}
.fs-10{font-size: 10px;}
.fs-11{font-size: 11px;}
.fs-12{font-size: 12px;}
.fs-13{font-size: 13px;}
.fs-14{font-size: 14px;}
.fs-15{font-size: 15px;}
.fs-16{font-size: 16px;}
.fs-17{font-size: 17px;}
.fs-18{font-size: 18px;}
.fs-19{font-size: 19px;}
.fs-20{font-size: 20px;}
.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}
.mt-4{margin-top: 4px}
.mt-8{margin-top: 8px}
.mt-12{margin-top: 12px}
.mt-16{margin-top: 16px}
.mt-20{margin-top: 20px}
.mt-24{margin-top: 24px}
.mt-28{margin-top: 28px}
.mt-32{margin-top: 32px}
.mt-36{margin-top: 36px}
.mt-40{margin-top: 40px}
.mt-44{margin-top: 40px}
.mt-48{margin-top: 40px}
.mt-52{margin-top: 40px}
.mt-56{margin-top: 40px}
.mt-60{margin-top: 60px}
.mt-80{margin-top: 80px}
.mt-100{margin-top: 100px}
.mt-120{margin-top: 120px}
.mt-140{margin-top: 140px}
.mt-160{margin-top: 160px}
.mb-4{margin-bottom: 4px}
.mb-8{margin-bottom: 8px}
.mb-12{margin-bottom: 12px}
.mb-16{margin-bottom: 16px}
.mb-20{margin-bottom: 20px}
.mb-24{margin-bottom: 24px}
.mb-28{margin-bottom: 28px}
.mb-32{margin-bottom: 32px}
.mb-36{margin-bottom: 36px}
.mb-40{margin-bottom: 40px}
.mb-44{margin-bottom: 40px}
.mb-48{margin-bottom: 40px}
.mb-52{margin-bottom: 40px}
.mb-56{margin-bottom: 40px}
.mb-60{margin-bottom: 60px}
.mb-80{margin-bottom: 80px}
.mb-100{margin-bottom: 100px}
.mb-120{margin-bottom: 120px}
.mb-140{margin-bottom: 140px}
.mb-160{margin-bottom: 160px}
.pt-0{padding-top: 0 !important}
.pb-0{padding-bottom: 0 !important}

@media (min-width: 768px) {
  .br-sm{display: none;}
  .br-md{display: block;}
  .txt-md-center{text-align: center;}
  .txt-md-left{text-align: left;}
  .fs-md-10{font-size: 10px;}
  .fs-md-11{font-size: 11px;}
  .fs-md-12{font-size: 12px;}
  .fs-md-13{font-size: 13px;}
  .fs-md-14{font-size: 14px;}
  .fs-md-15{font-size: 15px;}
  .fs-md-16{font-size: 16px;}
  .fs-md-17{font-size: 17px;}
  .fs-md-18{font-size: 18px;}
  .fs-md-19{font-size: 19px;}
  .fs-md-20{font-size: 20px;}
  .mt-md-4{margin-top: 4px}
  .mt-md-8{margin-top: 8px}
  .mt-md-12{margin-top: 12px}
  .mt-md-16{margin-top: 16px}
  .mt-md-20{margin-top: 20px}
  .mt-md-24{margin-top: 24px}
  .mt-md-28{margin-top: 28px}
  .mt-md-32{margin-top: 32px}
  .mt-md-36{margin-top: 36px}
  .mt-md-40{margin-top: 40px}
  .mt-md-44{margin-top: 40px}
  .mt-md-48{margin-top: 40px}
  .mt-md-52{margin-top: 40px}
  .mt-md-56{margin-top: 40px}
  .mt-md-60{margin-top: 60px}
  .mt-md-80{margin-top: 80px}
  .mt-md-100{margin-top: 100px}
  .mt-md-120{margin-top: 120px}
  .mt-md-140{margin-top: 140px}
  .mt-md-160{margin-top: 160px}
  .mb-md-4{margin-bottom: 4px}
  .mb-md-8{margin-bottom: 8px}
  .mb-md-12{margin-bottom: 12px}
  .mb-md-16{margin-bottom: 16px}
  .mb-md-20{margin-bottom: 20px}
  .mb-md-24{margin-bottom: 24px}
  .mb-md-28{margin-bottom: 28px}
  .mb-md-32{margin-bottom: 32px}
  .mb-md-36{margin-bottom: 36px}
  .mb-md-40{margin-bottom: 40px}
  .mb-md-44{margin-bottom: 40px}
  .mb-md-48{margin-bottom: 40px}
  .mb-md-52{margin-bottom: 40px}
  .mb-md-56{margin-bottom: 40px}
  .mb-md-60{margin-bottom: 60px}
  .mb-md-80{margin-bottom: 80px}
  .mb-md-100{margin-bottom: 100px}
  .mb-md-120{margin-bottom: 120px}
  .mb-md-140{margin-bottom: 140px}
  .mb-md-160{margin-bottom: 160px}
}

@media (min-width: 992px) {
  .br-sm,.br-sm.br-md{display: none;}
  .br-md{display: none;}
  .br-lg{display: block;}
  .fs-lg-10{font-size: 10px;}
  .fs-lg-11{font-size: 11px;}
  .fs-lg-12{font-size: 12px;}
  .fs-lg-13{font-size: 13px;}
  .fs-lg-14{font-size: 14px;}
  .fs-lg-15{font-size: 15px;}
  .fs-lg-16{font-size: 16px;}
  .fs-lg-17{font-size: 17px;}
  .fs-lg-18{font-size: 18px;}
  .fs-lg-19{font-size: 19px;}
  .fs-lg-20{font-size: 20px;}
  .mt-lg-4{margin-top: 4px}
  .mt-lg-8{margin-top: 8px}
  .mt-lg-12{margin-top: 12px}
  .mt-lg-16{margin-top: 16px}
  .mt-lg-20{margin-top: 20px}
  .mt-lg-24{margin-top: 24px}
  .mt-lg-28{margin-top: 28px}
  .mt-lg-32{margin-top: 32px}
  .mt-lg-36{margin-top: 36px}
  .mt-lg-40{margin-top: 40px}
  .mt-lg-44{margin-top: 40px}
  .mt-lg-48{margin-top: 40px}
  .mt-lg-52{margin-top: 40px}
  .mt-lg-56{margin-top: 40px}
  .mt-lg-60{margin-top: 60px}
  .mt-lg-80{margin-top: 80px}
  .mt-lg-100{margin-top: 100px}
  .mt-lg-120{margin-top: 120px}
  .mt-lg-140{margin-top: 140px}
  .mt-lg-160{margin-top: 160px}
  .mb-lg-4{margin-bottom: 4px}
  .mb-lg-8{margin-bottom: 8px}
  .mb-lg-12{margin-bottom: 12px}
  .mb-lg-16{margin-bottom: 16px}
  .mb-lg-20{margin-bottom: 20px}
  .mb-lg-24{margin-bottom: 24px}
  .mb-lg-28{margin-bottom: 28px}
  .mb-lg-32{margin-bottom: 32px}
  .mb-lg-36{margin-bottom: 36px}
  .mb-lg-40{margin-bottom: 40px}
  .mb-lg-44{margin-bottom: 40px}
  .mb-lg-48{margin-bottom: 40px}
  .mb-lg-52{margin-bottom: 40px}
  .mb-lg-56{margin-bottom: 40px}
  .mb-lg-60{margin-bottom: 60px}
  .mb-lg-80{margin-bottom: 80px}
  .mb-lg-100{margin-bottom: 100px}
  .mb-lg-120{margin-bottom: 120px}
  .mb-lg-140{margin-bottom: 140px}
  .mb-lg-160{margin-bottom: 160px}
  }


/* Swiper
================================================ */
/* slider */
[class*=swiper]:focus {outline: none;}
  
.swipers{margin: auto;}
.swiper-list{margin: 0;padding: 0;list-style: none;transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1) !important;}
.swiper-list a{text-decoration: none;}
/* Swiperが動いている間（インラインにdurationが指定された時）は、最初の1枚目だろうと何だろうとCSS側で一律1000ms（1秒）に固定する */
.swiper-wrapper[style*="transition-duration"][style*="ms"] {transition-duration: 800ms !important;}
/* マウスや指でドラッグしている時（durationが0ms）は、操作の邪魔をしないようにCSSを無効化 */
.swiper-wrapper[style*="transition-duration: 0ms"],
.swiper-wrapper[style*="transition-duration:0ms"] {transition-duration: 0ms !important;}

/* 矢印ボタンエリア */
.swiper-container.swiper-card-02 .swiper-pagination{width:calc(100% - 150px);height:1px;background:#dddbd9;mix-blend-mode:multiply;position:relative;display:flex;flex-wrap:wrap;gap:0;justify-content:flex-start;margin:0 auto 0 0;bottom:auto!important}
.swiper-container.swiper-card-02 .swiper-pagination .swiper-pagination-progressbar-fill{width:100%;height:100%;position:absolute;top:0;left:0;background:var(--color-header);-webkit-transform-origin:left center;transform-origin:left center;-webkit-transition:-webkit-transform .3s ease;transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease}
.swiper-controller{width:100%;margin-top:28px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
.swiper-controller .swiper-button-prev,.swiper-controller .swiper-button-next{width:46px;height:46px;margin-top:0;background-image:none;position:relative;left:auto;top:auto;border:1px solid var(--color-header);border-radius:100%;-webkit-transition:all .4s cubic-bezier(.215,.61,.355,1) 0s;transition:all .4s cubic-bezier(.215,.61,.355,1) 0s}
.swiper-controller .swiper-button-prev::after,.swiper-controller .swiper-button-next::after{content:none}
.swiper-controller .swiper-button-prev:hover,.swiper-controller .swiper-button-next:hover{border-color:var(--color-header);background-color:var(--color-header)}
.swiper-controller .swiper-button-prev:hover::before,.swiper-controller .swiper-button-next:hover::before{border-color:#fff}
.swiper-controller .swiper-button-prev::before,.swiper-controller .swiper-button-next::before{content:"";display:block;width:8px;height:8px;border-top:1px solid var(--color-header);border-right:1px solid var(--color-header);position:absolute;left:19px;top:18px;-webkit-transition:all .4s cubic-bezier(.215,.61,.355,1) 0s;transition:all .4s cubic-bezier(.215,.61,.355,1) 0s}
.swiper-controller .swiper-button-prev::before{left:19px;top:18px;-webkit-transform:rotate(-135deg);transform:rotate(-135deg)}.swiper-controller .swiper-button-next{margin-left:10px}
.swiper-controller .swiper-button-next::before{left:auto;right:18px;top:18px;-webkit-transform:rotate(45deg);transform:rotate(45deg)}
.swiper-controller .swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}
@media (min-width: 768px) {
  .swiper-controller {margin-top: 40px;}
}
@media (min-width: 992px) {
  .swiper-controller {margin-top: 40px;}
}

  
  /* Flex
  ================================================ */
  .flex-card{display:flex;flex-flow:column;justify-content: center;gap:40px;margin: 0;padding: 0;}
  .flex-card__item{list-style: none;}
  .flex-card__inner{border: 2px solid #fb8e00;border-radius: 16px;background: #fff;padding: 32px 24px;filter: drop-shadow(0px 2px 4px rgba(0, 0, 0, 0.3));}
  .flex-card__icon{text-align:center}
  .flex-card__icon img{width:80%}
  .flex-card__ttl{font-size:18px;margin-top:28px;line-height: 1.6;}
  .flex-card__txt{font-size:14px}
  .flex-card__btn-wrap{}
  .flex-card__btn{}
  .flex{display:flex}
  .flex-col{flex-flow:column}
  @media (min-width: 768px) {
  .flex-card{flex-flow:wrap}
  .flex-card__item{width:calc((100% / 2) - 20px)}
  .flex-card__item3{width: calc((100% / 2) - 20px);}
  .flex-card__icon{}
  .flex-card__icon img{}
  .flex-card__ttl{}
  .flex-card__txt{}
  .flex-card__btn-wrap{}
  .flex-card__btn{}
  .flex-md-wrap{flex-flow:wrap}
  .flex-md-reverse{flex-flow:row-reverse!important}
  }
  @media (min-width: 992px) {
  .flex-card{}
  .flex-card__item{}
  .flex-card__item3{width:calc((100% / 3) - 26.66666px);}
  .flex-card__inner{padding:40px 32px;height: 100%;}
  .flex-card__icon{}
  .flex-card__icon img{width:181px}
  .flex-card__ttl{}
  .flex-card__txt{}
  .flex-card__btn-wrap{}
  .flex-card__btn{}
  .flex-lg-wrap{flex-flow:wrap}
  }
  
  /* ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚ÂªÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â¹ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¹Ã¢â‚¬Â ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€šÃ‚ÂªÃƒÆ’Ã‚Â£ÃƒÂ¢Ã¢â€šÂ¬Ã…Â¡Ãƒâ€šÃ‚Â»ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€ Ã¢â‚¬â„¢ÃƒÆ’Ã‚Â£Ãƒâ€ Ã¢â‚¬â„¢Ãƒâ€¹Ã¢â‚¬Â 
  ================================================ */
  ul.unstyled,ol.unstyled{margin:0;padding:0}
  ul.unstyled li,ol.unstyled li{list-style-type:none}
  /* ul.c-accordion__contents{margin:0;padding:0 0 0 6px;list-style:none}
  li.c-accordion__contents__item{margin:0;padding:0;position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;counter-increment:sec_block_num}
  li.c-accordion__contents__item::before{content:counter(sec_block_num) ".";word-break:normal;margin-right:4px} */
  .att-list{list-style:none;margin:12px 0 0;padding:0}
  .att-list:first-child{margin-top: 0;}
  .att-list__item{margin-left:1em;font-size:13px;font-weight:500;}
  .att-list__item:before{content:"ÃƒÂ¢Ã¢â€šÂ¬Ã‚Â»";display:inline-block;margin-left:-1em}
  @media (min-width: 768px) {
  .att-list{}
  .att-list__item{}
  .att-list__item:before{}
  }
  @media (min-width: 992px) {
  .att-list{}
  .att-list__item{font-size:14px}
  .att-list__item:before{}
  }
  
  /* Button
  ================================================ */
  @media (hover: hover) {
  [type=button]:hover, [type=reset]:hover, [type=submit]:hover {
    opacity: 1 !important;
  }
  }
  button{background: transparent;margin: 0;padding: 0;}
  .btn{max-width: 320px;}
  .btn__link{position: relative;overflow: hidden;text-decoration: none;display: flex;align-items: center;justify-content: center;background-color: #fb8d00;border: 2px solid #fb8d00;border: 0;border-radius: 40px;width: 100%;height: 52px;text-align: center;outline: none;transition: ease .2s;/* filter: drop-shadow(0px 2px 4px rgba(0,0,0,0.3)); */transform: translateZ(0);}
  .btn__link:before{content:'';position:absolute;top:0;left:0;background:#8dc21f;width:100%;height:100%;transition:transform .3s cubic-bezier(0.8,0,0.2,1) 0;transform:scale(0,1);transform-origin:right top;z-index:1}
  .btn-link__name{position:relative;color: #fff;font-size: 14px;font-weight: 600;-webkit-transition:color 1s ease;transition:color 1s ease;width:100%;z-index:5}
  .btn-link__name::after{content:'';width:12px;height:12px;border:0;border-top: solid 2px #fff;border-right: solid 2px #fff;transform:rotate(45deg);position:absolute;top:0;right:20px;bottom:0;margin:auto;transition:right .2s;}
  .btn-link__name.color-pink::after{border-top: solid 2px #fb6d5d;border-right: solid 2px #fb6d5d;}
  .btn-link__name.-blank::after{background: url(images/link-blank-w.svg) center / 16px 16px no-repeat;width: 16px;height: 16px;border:0;transform: none;top: -2px;right: 20px;}
  .btn-link__name.tel::after,.btn-link__name.line::after{width: 22px;height: 22px;border:0;transform: none;top: 0px;right: auto;left: 28px;}
  .btn__link.line{background-color: #06c755;}
  .btn-link__name.line::after{background: url(images/icon-line.svg) center / 28px auto no-repeat;width: 28px;height: 28px;left: 26px;}
  .btn-link__name.tel::after{background: url(images/link-tel.svg) center / 22px auto no-repeat;}
  .btn:hover{transform: translateY(2px);}
  .btn__link:hover{/* border: 2px solid #252525; *//* background-color: #fbc826; */opacity: .7;filter: none;}
  .btn__link:hover .btn-link__name{color: #fff;}
  /* .btn__link:hover .btn-link__name::after{right: 18px;} */
  .btn-wrap{margin-top: 32px;align-items:center;justify-content: flex-start;gap:16px}
  .btn-wrap .btn{width: 260px;}
  .btn-wrap.btn-wrap-2{flex-flow:column}
  .btn-wrap.btn-wrap-2 .btn{}
  .btn-wrap.btn-wrap-3{}
  .btn-wrap.btn-wrap-3 .btn{}
  .btn-id-wrap{justify-content:center}
  .btn-id-wrap.btn-id-2{gap:20px}
  .btn-id-wrap.btn-id-3{}
  .btn-id{background-color:transparent;max-width:230px;margin:0;padding:0}
  article a{text-decoration:underline}
  article a:hover{text-decoration:none}
  .footer-nav a:hover{color: inherit;text-decoration:none;opacity: 1;}
  a.link-tel{color:inherit;text-decoration: none !important;}
  .btn-view{display:flex;align-items:center;font-size:15px;font-weight:600;gap:8px;margin-top:20px;text-decoration:none;color:#373725}
  .btn-view__arrow{width:21px}
  .link-view{font-size:1.2rem;font-weight:700;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}
  .link-view::after{content:"";display:block;width:16px;height:16px;mask-image:url(images/circle-arrow.svg);mask-repeat:no-repeat;mask-position:center;mask-size:14px;margin-left:8px;-webkit-transition:.3scubic-bezier(.165,.84,.44,1);transition:.3scubic-bezier(.165,.84,.44,1);background-color: #252525;}
  .link-icon{display:inline-flex;align-items:center;gap:4px;margin-right:4px}
  .link-icon__icon{width:16px;height:16px;display:inline-block;vertical-align:middle}
  .link-blank-icon-svg{display:inline-block;height:14px;vertical-align:baseline;margin:0 4px -2px}
  .icon-link-blank{display:inline-block;height:14px;vertical-align:baseline;margin:0 4px -2px}
  a:hover{opacity:.7}
  .footer__bottom a{color: #111;}
  
  @media (min-width: 768px) {
  .btn__link{height: 52px;}
  .btn-link__name{}
  .btn-wrap{margin-top: 40px;gap:20px}
  .btn-wrap .btn{}
  .btn-wrap.btn-wrap-2{flex-flow:wrap}
  .btn-wrap.btn-wrap-2 .btn{}
  .btn-wrap.btn-wrap-3{}
  .btn-wrap.btn-wrap-3 .btn{}
  .c-menu__top-nav a:hover{color: #0f913a;opacity: 1;}
  .c-menu .footer-nav__list .menu-item a:hover{color: #0f913a;opacity: 1;}
  }
  @media (min-width: 992px) {
  .btn__link{}
  .btn-link__name{}
  .btn-wrap{margin-top: 40px;}
  .btn-wrap .btn{
  width: 280px;
  }
  .btn-wrap.btn-wrap-2{flex-flow:wrap;gap:20px}
  .btn-wrap.btn-wrap-3{}
  .btn-wrap.btn-wrap-3 .btn{}
  .btn-id-wrap{}
  .btn-id-wrap.btn-id-2{}
  .btn-id-wrap.btn-id-3{}
  .btn-id{background-color:transparent;width:230px;margin:0;padding:0}
  .btn-view{font-size:16px}
  .btn-view__arrow{width:24px}
  .link-view::after{mask-size:16px;margin-left:8px}
  }
  /* マウスやスマホのタップ（クリック）時だけ、青い枠線を消す */
  .c-accordion-button:focus-visible {
    outline: none;
  }
  /* （補足）マウスでクリックした時だけ枠線を消し、キーボード操作時は枠線を残す最新の指定 */
  .c-accordion-button:focus:not(:focus-visible) {
    outline: none;
  }

/* Link
================================================ */
.btn-underline-arrow a{}
.btn-underline-arrow a{background:transparent;border-radius: 0;position:relative;display:flex;justify-content:flex-start;align-items:center;margin:auto;width:280px;height: 26px;text-align:left;text-decoration:none;color: var(--color-base);color: var(--color-button);font-size:16px;font-weight: 500;line-height:1;/* transition:.5s ease-in-out; */}
.btn-underline-arrow a:before{position:absolute;content:"";bottom:-2px;left:0;width:100%;height:1px;background: var(--color-base);background: var(--color-button);-webkit-transform:scaleX(1);transform:scaleX(1);-webkit-transform-origin:left;transform-origin:left;transition:transform .8s cubic-bezier(.22,1,.36,1);}

.btn-underline-arrow .btn-ttl{font-size: 14px;}
.btn-underline-arrow .btn-ttl span{font-size: 16px;font-weight: 600;margin-right: 8px;}
.btn-underline-arrow a .btn-arrow{content:"";position:absolute;top:0;bottom: 0;right: 16px;margin: 13px 0;transition: right .6s cubic-bezier(.22,1,.36,1) 0s;background: var(--color-button);}
.btn-arrow{position:relative;display:inline-block;width: 24px;height:2px;margin:7px 0;border-radius:0;background: var(--color-base);z-index: 5;}
.btn-arrow::before,.btn-arrow::after{content:"";position:absolute;top:calc(50% - 1px);right:-1px;width: 8px;height: 2px;border-radius:0;background: var(--color-base);background: var(--color-button);transform-origin:calc(100% - 1px) 50%;z-index: 5;}
.btn-arrow::before{transform:rotate(45deg)}
.btn-arrow::after{transform:rotate(-45deg)}
.btn-underline-arrow.white a{color: #fff;}
.btn-underline-arrow.white .btn-arrow{background-color: #fff;}
.btn-underline-arrow.white .btn-arrow::before,.btn-underline-arrow.white .btn-arrow::after{background-color: #fff;}
.btn-box-slide-left a{position:relative;overflow:hidden;border-radius:0;text-decoration:none;display:flex;align-items:center;justify-content:space-between;max-width:280px;width:280px;background:#fff;border:1px solid #fff;margin:auto;padding:0 32px;text-align:center;line-height:52px;text-decoration:none;outline:none;transition:ease .2s}
.btn-box-slide-left .btn-ttl{position:relative;z-index:3;color:#111;font-size:16px}
.btn-box-slide-left .btn-arrow {background:#111;content:"";position:absolute;/* top:0; *//* bottom:0; */right: 40px;transition:right .8s}
.btn-box-slide-left .btn-arrow::before,.btn-box-slide-left .btn-arrow::after{background:#111;}
.btn-box-slide-left a:before {content: '';position: absolute;top: 0;left: 0;z-index: 2;background: #111;width: 100%;height: 100%;transform: scale(0, 1);transform-origin: right top;transition: transform .6s cubic-bezier(.22,1,.36,1) 0s;}
.btn-box-slide-left a:hover span{color:#fff;}
.btn-box-slide-left a:hover:before{transform-origin:left top;transform:scale(1, 1);}
.btn-box-slide-left a:hover .btn-arrow{background: #fff;}
.btn-box-slide-left a:hover .btn-arrow::before,.btn-box-slide-left a:hover .btn-arrow::after{background:#fff;}



.u-arrow{position:relative;display:inline-block;width: 16px;height:2px;margin:7px 0;border-radius:0;background: var(--color-base);z-index: 5;}
.u-arrow::before,.u-arrow::after{content:"";position:absolute;top:calc(50% - 1px);right:-1px;width: 8px;height:2px;border-radius:0;background: var(--color-base);transform-origin:calc(100% - 1px) 50%;z-index: 5;}
.u-arrow::before{transform:rotate(45deg)}
.u-arrow::after{transform:rotate(-45deg)}


/* Nav-header, Nav-footer */
.menu-item a{position: relative;display: inline-block;}

@media (hover: hover) and (pointer: fine) {
  a:hover{opacity: 1;}
  .btn-underline-arrow .btn-ttl{}
  .btn-underline-arrow a:hover{color: #222;color: var(--color-button);opacity: .7;}
  .btn-underline-arrow.white a:hover{color: #fff;}
  .btn-underline-arrow a:hover .btn-arrow{right:0}
  .btn-underline-arrow a:hover:before{-webkit-transform-origin:right;transform-origin:right;-webkit-transform:scaleX(0);transform:scaleX(0);transform:translate(0,1)}

  /* Nav-header, Nav-footer */
  .menu-item a:before{
    position:absolute;
    content:"";
    bottom:.05em;
    left:0;
    width:100%;
    height:1px;
    background: var(--color-beige1);
    -webkit-transform-origin:right;
    transform-origin:right;
    -webkit-transform:scaleX(0);
    transform:scaleX(0);
    -webkit-transition: -webkit-transform .6s cubic-bezier(.22,1,.36,1) 0s;
    transition: transform .6s cubic-bezier(.22,1,.36,1) 0s;
  }
  .header-fix .menu-item a:before{background: var(--color-base);}
  .menu-item a:hover:before {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transform-origin: left;
            transform-origin: left
  }
}


  
/* ==========================================================================
   2026｜超スムーズ・アコーディオンCSS（Gridアニメーション）
   ========================================================================== */
  .c-accordion  {margin: 0;padding: 0;list-style-type: none;}
  .c-accordion__item {border-top: 1px solid var(--color-black);padding: 0;}
  .c-accordion__item:last-child {border-bottom: 1px solid var(--color-black);}
  .c-accordion-button {padding: 16px 0;width: 100%;text-align: left;}
  .c-accordion-button__ttl{position: relative;display: flex;align-items: center;color: var(--color-base);}
  /* 1. 開閉対象のコンテナ（ul.c-accordion__contents）初期状態 */
  .c-accordion-button + .c-accordion__contents {
  display: grid;
  grid-template-rows: 0fr; /* 最初は高さを完全に0にする */
  visibility: hidden;
  opacity: 0;
  /* イージングを統一して滑らかに transition */
  transition: grid-template-rows 0.4s cubic-bezier(0.22, 1, 0.36, 1),opacity 0.25s ease,visibility 0.4s;
  margin: 0;padding: 0;
  }
  /* 2. 親のliに .active がついた時の展開状態 */
  .c-accordion .c-accordion__item.active {}
  .c-accordion .c-accordion__item.active > .c-accordion__contents {grid-template-rows: 1fr; /* 内側のコンテンツの高さまで自動で100%広がる */visibility: visible;opacity: 1;padding-bottom: 16px;}
  /* 3. 【重要】最後の一瞬のカクつきを防止するインナー設定 */
  .c-accordion .c-accordion__contents > .c-accordion__contents__item {overflow: hidden;}
  /* 開閉アイコン制御 */
  .c-accordion-button{position:relative;border:none;width:100%;background-color:inherit;color: var(--color-base);cursor:pointer;text-align:left;padding: 20px 4px;font-size: inherit;font-weight: 500;}
  .c-accordion-button::before,.c-accordion-button::after{content:"";position:absolute;background:#fff;transition:.5s}
  .c-accordion-button:hover{}
  /* 開閉（+ -） */
  .c-accordion-button.plus-minus::before,.c-accordion-button.plus-minus::after{right: 8px;top:0;bottom:0;margin:auto 0;background: var(--color-base);width: 16px;height: 1px;transition:all .3s}
  .c-accordion-button.plus-minus::after{transform:rotate(90deg)}
  .c-accordion__item.active .c-accordion-button.plus-minus::before{transform:rotate(180deg)}
  .c-accordion__item.active .c-accordion-button.plus-minus::after{transform:rotate(180deg);opacity:0}
  /* 開閉（< >）アイコン */
  .c-accordion-button.down-up::before,button.c-accordion-button.down-up::after{top: 50%;margin-top: -4px;width:1.5px;height: 10px;background: var(--color-base);transition:all .3s}
  .c-accordion-button.down-up::before{transform:rotate(-45deg);right: 19px;}
  .c-accordion-button.down-up::after{transform:rotate(45deg);right: 12px;}
  .c-accordion__item.active button.c-accordion-button.down-up::before{transform:rotate(-135deg);transition:.5s}
  .c-accordion__item.active button.c-accordion-button.down-up::after{transform:rotate(135deg);transition:.5s}
  @media (min-width: 768px) {
    .c-accordion  {}
    .c-accordion-button {
    }
    .c-accordion .c-accordion__item {
    }
    .c-accordion .c-accordion__item.active {
    }
    .c-accordion-button + .c-accordion__contents {
    }
    .c-accordion .c-accordion__item.active > .c-accordion__contents {
    }
    .c-accordion .c-accordion__contents > .c-accordion__contents__item {
    }
  }
  @media (min-width: 992px) {
    .c-accordion  {}
    .c-accordion-button {padding: 28px 8px;
    }
    .c-accordion .c-accordion__item {
    /* padding: 0 8px; */
    }
    .c-accordion .c-accordion__item.active {
    }
    .c-accordion-button + .c-accordion__contents {
    }
    .c-accordion .c-accordion__item.active > .c-accordion__contents {padding-bottom: 28px;
    }
    .c-accordion .c-accordion__contents > .c-accordion__contents__item {
    }
  }