@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/



/* 共通 */
body{
  font-family: "Zen Kaku Gothic New", sans-serif;
}
body .l-article .post_content,
body .l-article .post_content p,
body .l-article .post_content li {
  font-size: 14px;
  font-weight: 400;
}
@media screen and (min-width: 959px){
  body .l-article .post_content,
  body .l-article .post_content p,
  body .l-article .post_content li {
    font-size: 16px;
  }
}

.l-mainContent__inner>.post_content {
  margin: 4em 0;
}
.p-articleThumb__img {
  border-radius: var(--swl-radius--8, 0);
  display: block;
  width: 100%;
}
.l-article {
  max-width: 100% !important;
}
/* ===== Margin Top（SPはPCの50%）===== */
.mt-8 { margin-top: 4px !important;
}
.mt-16 { margin-top: 8px !important;
}
.mt-24 { margin-top: 12px !important;
}
.mt-32 { margin-top: 16px !important;
}
.mt-40 { margin-top: 20px !important;
}
.mt-48 { margin-top: 24px !important;
}
.mt-64 { margin-top: 32px !important;
}
.mt-80 { margin-top: 40px !important;
}
.mt-100 { margin-top: 50px !important;
}
.mt-120 { margin-top: 60px !important;
}

/* ===== Margin Bottom（SPはPCの50%）===== */
.mb-8 { margin-bottom: 4px !important;
}
.mb-16 { margin-bottom: 8px !important;
}
.mb-24 { margin-bottom: 12px !important;
}
.mb-32 { margin-bottom: 16px !important;
}
.mb-40 { margin-bottom: 20px !important;
}
.mb-48 { margin-bottom: 24px !important;
}
.mb-64 { margin-bottom: 32px !important;
}
.mb-80 { margin-bottom: 40px !important;
}
.mb-100 { margin-bottom: 50px !important;
}
.mb-120 { margin-bottom: 60px !important;
}


/* ===== PC（960px〜）で本来の値に上書き ===== */
@media (min-width: 960px) {

  .mt-8 { margin-top: 8px !important;
  }
  .mt-16 { margin-top: 16px !important;
  }
  .mt-24 { margin-top: 24px !important;
  }
  .mt-32 { margin-top: 32px !important;
  }
  .mt-40 { margin-top: 40px !important;
  }
  .mt-48 { margin-top: 48px !important;
  }
  .mt-64 { margin-top: 64px !important;
  }
  .mt-80 { margin-top: 80px !important;
  }
  .mt-100 { margin-top: 100px !important;
  }
  .mt-120 { margin-top: 120px !important;
  }

  .mb-8 { margin-bottom: 8px !important;
  }
  .mb-16 { margin-bottom: 16px !important;
  }
  .mb-24 { margin-bottom: 24px !important;
  }
  .mb-32 { margin-bottom: 32px !important;
  }
  .mb-40 { margin-bottom: 40px !important;
  }
  .mb-48 { margin-bottom: 48px !important;
  }
  .mb-64 { margin-bottom: 64px !important;
  }
  .mb-80 { margin-bottom: 80px !important;
  }
  .mb-100 { margin-bottom: 100px !important;
  }
  .mb-120 { margin-bottom: 120px !important;
  }
}
.pr-40{
  padding-right: 20px !important;
}
@media screen and (min-width: 959px){
  .pr-40 {
    padding-right: 40px !important;
  }
}
.center{
  margin: 0 auto !important;
}
.sp{
  display: block !important;
}
@media screen and (min-width: 959px){
  .sp {
   display: none !important;
  }
}

/* .l-content{
  margin: 0 auto !important;
}
.l-container {
  margin-left: auto;
  margin-right: auto;
  max-width: none !important;
} */
.l-content {
  margin: 0 auto  !important;
  /* padding-top: 8em !important; */
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 960px){
  .l-content {
    padding-top: 6em !important;
  }
}
.l-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: calc(var(--container_size, 0px) + var(--swl-pad_container, 0px) * 2);
  padding-left: var(--swl-pad_container, 0);
  padding-right: var(--swl-pad_container, 0);
}
.c-postTitle {
  padding-top: 60px;
}
.c-pageTitle{
  padding-top: 60px;
}
.font--en{
  font-family: "Aboreto", system-ui;
}
.txt--white{
  color: #fff;
}
.txt--bk{
  color: #333333;
}

p{
  line-height: 2 !important;
}

/* 余白設定 */
/* #content {
  padding-top: 0 !important;
} */

/* section余白 */
/* .swell-block-fullWide{
  padding: 50px 0 !important;
  margin: 0 !important;
}
@media screen and (min-width: 960px){
  .swell-block-fullWide {
    padding: 100px 0 !important;
}
} */
.top #content {
  padding-top: 0 !important;
}
.c-sec-inner{
  max-width: 1440px !important;
  padding: 60px 20px !important;
  margin: 0 auto;
}
@media screen and (min-width: 959px){
  .c-sec-inner {
    padding: 100px 40px 100px !important;
  }
}
.c-sec-inner_qa{
  max-width: 900px !important;
  padding: 80px 20px !important;
  margin: 0 auto;
}
@media screen and (min-width: 959px){
  .c-sec-inner_qa {
    padding: 120px 40px !important;
  }
}
.c-sec-inner__privacy{
  max-width: 1440px !important;
  padding: 0 20px 80px !important;
  margin: 0 auto;
}
@media screen and (min-width: 959px){
  .c-sec-inner__privacy {
    padding: 0 40px 100px !important;
  }
}
.c-sec__ttl01{
  position: relative;
  width: 100%;
  max-width: 1140px;
  margin: 0 auto;
  padding: 30px 0;         /* 高さの確保 */
  overflow: visible;
  color: #D97A7A !important;

}
@media screen and (min-width: 959px){
  .c-sec__ttl01 {
    padding: 80px 0;
  }
}

/* SVG背景：タイトルの中央に揃える */
.c-sec__ttl01::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;                           
  transform: translate(-50%, -50%);   
  width: min(90vw, 800px);
  height: min(90vw, 800px);
  /* background-image: url("https://www.daisy.ms-design.site/wp-content/uploads/2025/11/img_parts.svg"); */
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1 !important;              
  z-index: -1;
  pointer-events: none;
}

.c-sec__ttl01-en {
  position: absolute;
  top: 50%;
  left: 50%;                            
  transform: translate(-50%, -50%) rotate(-16deg);
  display: block;
  font-family: "Oooh Baby", cursive;
  font-size: clamp(60px, 20vw, 160px);
  color: #96CCD0;
  opacity: 0.2;                          
  line-height: 0.9;
  margin: 0;
  text-align: center;                    
  z-index: -1;
}

.c-sec__ttl01-jp {
  position: absolute;
  top: 50%;
  left: 50%;                             
  transform: translate(-50%, -50%);
  display: block;
  font-size: clamp(24px, 6vw, 38px);
  font-weight: 600;
  color: #554C46;
  line-height: 1.4;
  margin: 0;
  text-align: center;
  z-index: 3;
  white-space: nowrap;
  font-family: "Shippori Mincho", serif;
}

/* スライダー消去 */
#post_slider .swiper {
  padding: 0 !important;
  margin: 0 !important;
}
.p-postSlider{
  padding: 0 !important;
  margin: 0 !important;
}

 /* header */
 /* .l-header__logo h1{
  font-family: "Hina Mincho", serif;
 } */

 .l-fixHeader__logo {
  font-family: "Hina Mincho", serif;
 }
 /* =========================
   header
   ========================= */
 .l-header{
  vertical-align: middle;
  display: flex;
  padding: 15px;
  font-family: "Hina Mincho", serif;
  color: #fff !important;
}
@media screen and (min-width: 959px){
  .l-header {
    padding: 0 40px;
    box-shadow: none !important;
  }
}
.l-header .l-header__inner{
  padding: 0;
  max-width: 1920px;
}
.l-fixHeader{
  padding: 15px 40px;
  background-color: transparent !important;
  backdrop-filter: none !important;
  box-shadow: none !important;
  font-family: "Aboreto", system-ui;
  margin: 0 !important;
}
.l-fixHeader__inner{
  padding: 0;
  color: #fff;
  max-width: 1920px;
}
.l-fixHeader:before {
  background: #08376a;
  display: block;
}
.wp-block-columns.header-btn {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px !important; 
}
.wp-block-columns.header-btn > .wp-block-column {
  margin: 0 !important;
  padding: 0 !important;
  flex: 0 1 auto;
}
.wp-block-columns.header-btn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
/* =========================
   SPヘッダー用
   最初：透明
   スクロール後：白0.7
   ========================= */
@media (max-width: 959px){
  body:not(.is-spHeader-bg) .l-header {
    background: transparent !important;
    box-shadow: none !important;
    /* position: fixed !important; */
  }
  body.is-spHeader-bg .l-header {
    background: rgba(255, 255, 255, 0.7) !important;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
  }
}
@media (max-width: 959px) {
  body:not(.is-spHeader-bg) .l-header {
    background: rgb(203 194 194 / 15%) !important;
  }
}

/* ================================
   header-btn01
   ================================ */

.header-btn01 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 48px;
  border-radius: 9999px;
  color: #fff !important;
  text-decoration: none;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1.2;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0,0,0,0.04);
  text-align: center;
  width: 220px;
  height: 50px;
  background: linear-gradient(
    135deg,
    #237993 0%,
    #96CCD0 100%
  );
  
  border: 1px solid #fff;
}

/* 擬似要素で右にアイコン配置 */
/* .header-btn01::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5%; 
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  background-image: url("https://www.daisy.ms-design.site/wp-content/uploads/2025/11/ico_open_in_new.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  transition: filter 0.3s ease;
} */
.header-btn01__text{
  color: #fff !important;
}
.header-btn01:hover {
  transform: translateY(-2px);
}
@media (min-width: 768px) {
  .header-btn01 {
    padding: 10px 56px;
    font-size: 1rem;
  }
  .header-btn01::after {
    right: 28px;
    width: 12px;
    height: 12px;
  }
}
@media (min-width: 1024px) {
  .header-btn01 {
    padding: 12px 64px;
  }
  .header-btn01::after {
    right: 5%;
  }
}

.c-gnav > li:nth-child(3) > a {
  cursor: pointer;
  text-decoration: none;
}
.c-gnav>.menu-item>a .ttl {
  display: block;
  font-size: 1vw;
  font-family: "Shippori Mincho", serif;
}
.c-gnav > .menu-item:nth-child(8) > a .ttl {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; 
  /* padding: 14px 56px 14px 28px;  */
  border: solid 1px #fff !important;
  font-size: 16px;
  border-radius: 100px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
  width: 220px;
  height: 50px;
  background: linear-gradient(
    135deg,
    #237993 0%,
    #96CCD0 100%
  );
  border: 1px solid #fff;
  color: #fff;
  &::after {
    content: "";
    position: absolute;
    right: 16px;
    width: 22px;
    height: 18px;
    border-radius: 50%;
    background-image: url("http://www.paypay.hopppeblog.com/wp-content/uploads/2026/01/ico_btn_arrow01.svg");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
  }
  &:hover {
    background-color: #9BB99A;
    transform: translateY(-2px);

    &::after {
      transform: translateX(3px); 
    }
  }
}
/* .l-header .c-gnav > .menu-item:nth-child(6) > a::after,
.l-header .c-gnav > .menu-item:nth-child(7) > a::after {
  content: none !important;
} */
.l-header .c-gnav > .menu-item > a {
  position: relative;
  text-decoration: none;
  transition: color 0.3s ease;
  color: #fff !important;
}
.l-header .c-gnav > .menu-item > a::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: #237993;
  transition: all 0.4s ease;
  transform: translateX(-50%);
  opacity: 0;
  top: 80% !important;
}
.c-gnav > .menu-item:nth-child(8) > a::after{
  display: none;
}
.l-header .c-gnav > .menu-item > a:hover::after {
  width: 100%;
  opacity: 1;
}
.c-gnav>.menu-item>a:after {
  top: 80% !important;
}


/* ===================
ハンバーガーメニュー
====================== */
/* メニューアイコン（デフォルト時） */
.-menuBtn {
  position: relative;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
  background-color: #237993;

  &:hover {
    transform: scale(1.05);
  }

  .c-iconBtn__icon {
    position: relative;
    width: 24px;
    height: 2px;
    background-color: #fff;
    display: grid;
    place-items: center;
    border-radius: 10px;
    transition: transform 0.3s ease, background-color 0.3s ease;

    &::before,
    &::after {
      content: '';
      position: absolute;
      width: 24px;
      height: 2px;
      background-color: #fff;
      border-radius: 10px;
      transition: transform 0.3s ease, background-color 0.3s ease;
    }

    &::before {
      transform: translateY(-8px);
    }

    &::after {
      transform: translateY(8px);
    }
  }
}

/* メニューアイコン（オープン時） */
[data-spmenu=opened] {
	
	.-menuBtn .c-iconBtn__icon::before {
			transform: rotate(45deg);
	}
	
	.-menuBtn .c-iconBtn__icon {
		background-color: transparent;
	}
	
	.-menuBtn .c-iconBtn__icon::after {
		transform: rotate(-45deg);
	}
}
/* ボタンラベル */
.p-spMenu__closeBtn button{
  position: absolute;
  top: 15px;
  right: 15px;
}
/* メニュー */
.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0)!important;
  opacity: 0;
  transition: opacity .5s ease-out!important;
}
/* メニュー（オープン時） */
[data-spmenu="opened"] .p-spMenu__inner {
  opacity: 1;
}
/* 既存のメニューを削除 */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display:none;
}
/* =======================================
   SPメニュー全体（SWELL既存メニューを差し替え）
   ======================================= */
.p-spMenu__inner {
  width: 100%;
  height: 100%;
  transform: translateX(0) !important;
  opacity: 0;
  transition: opacity .5s ease-out !important;
}

/* メニュー（オープン時） */
[data-spmenu="opened"] .p-spMenu__inner {
  opacity: 1;
}

/* SWELL既存のSPメニューを非表示にする */
.c-widget__title.-spmenu,
.p-spMenu__nav {
  display: none;
}

/* =======================================
   スマホナビ（p-spnav）
   ======================================= */
.p-spnav {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 20px 40px;
  overflow-y: auto;
}
.p-spnav__list {
  list-style: none;
  padding: 0 !important;
  margin: 0;
  width: 100%;
  max-width: 300px;
}
.p-spnav__list > li {
  border-bottom: 1px solid #CEE9F0;
  text-align: center;
  padding: 24px 0;
  display: flex;
  justify-content: center;
}
.p-spnav__list > li:last-child{
  border-bottom: none !important;
}
.p-spnav__list a {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  transition: color 0.3s;
}
.p-spnav__list a:hover {
  color: #96CCD0;
}
.p-spnav__list .en {
  font-family: "Oooh Baby", cursive;
  font-style: italic;
  font-size: 1.1rem;
  color: #96CCD0;
}

.p-spnav__list .jp {
  font-size: 1.2rem;
  font-family: "Shippori Mincho", serif;
}
.p-spnav__btns {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
}


/* =======================================
   下部ボタン（文字サイズ調整）
   ======================================= */
.p-spnav__btns .header-btn01 {
  font-size: 0.9rem;
  padding: 10px 18px;
  line-height: 1.3;
}
.p-spnav__btns .header-btn02 {
  padding: 10px 14px;
  line-height: 1.3;
}
.p-spnav__btns .header-btn02__main {
  font-size: 0.95rem;
}
.p-spnav__btns .header-btn02__sub {
  font-size: 0.75rem;
}
.p-spnav__btns .header-btn02__icon img {
  width: 16px;
  height: 16px;
}


/* =========================
   下層ぱんくず
   ========================= */
.p-breadcrumb{
  padding: 8px 20px;
}
@media screen and (min-width: 959px){
  .p-breadcrumb{
   padding: 8px 40px;
 }
}
/* .-body-solid .p-breadcrumb.-bg-on{
  display: none !important;
} */

/* ================================
   下層ページ共通見出し p-pageTtl01
   ================================ */

.p-pageTtl01 {
  position: relative;
  text-align: center;
  margin: 80px auto 60px;
  padding: 0 0 60px;
  overflow: visible; /* 背景が切れないように */
}
/* h2 本体 */
.p-pageTtl01__inner {
  margin: 0;
  padding: 0;
  border: none;
  background: none !important;
  font-weight: normal;
  line-height: 1.3;
  color: #6f5a53;
  position: relative;
  z-index: 2; /* テキストが背景の上 */
}
.c-pageTitle{
  font-family: "Shippori Mincho", serif;
}
.c-postTitle__ttl{
  font-family: "Shippori Mincho", serif;
}
.p-postList__title{
  font-family: "Shippori Mincho", serif;
}

/* ================================
   下層ページ共通（トップ .home 以外）
   ヘッダーをMVの上にかぶせる
================================ */

/* ヘッダーを絶対配置＋背景透明 */
body:not(.home) #header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 100;
}
@media (max-width: 959px) {
  body:not(.home) #header {
    background: rgba(8, 55, 106, 0.2) !important;
  }
}
/* コンテンツ側の「ヘッダーぶんの押し下げ」をゼロに */
/* body:not(.home) #contents,
body:not(.home) .l-contents,
body:not(.home) .l-main {
  margin-top: 0 !important;
  padding-top: 0 !important;
} */

/* MV（#top_title_area）を画面最上部からスタートさせる＋
   ヘッダー高さぶんだけ中身を下げて、文字が隠れないようにする */
/* body:not(.home) #top_title_area {
  margin-top: 0 !important;
  padding-top: 110px; 
} */

/* MV */
.mv_logo{
  width: 50%;
  position: absolute;
}
.mv_logo img{
  position: absolute !important;
  top: 6% !important;
  z-index: 2 !important;
  left: -16% !important;
  width: 100% !important;
  max-width: 800px !important;
}
.p-mainVisual__slide{
  padding: 0 20px;
}
/*mvタイトルのCSSクラス*/
.p-mainVisual__slideTitle {
  font-family: "Hina Mincho", serif;
  font-size: 1.8rem;
  line-height: 1.6;
} 
@media screen and (min-width: 960px){
  .p-mainVisual__slideTitle {
    font-size: 4rem;
  }
}
.p-mainVisual__slideTitle  span{
  font-size: 1.5rem;
} 
@media screen and (min-width: 960px){
  .p-mainVisual__slideTitle  span {
    font-size: 3rem;
}
}
.p-mainVisual__textLayer {
  justify-content: flex-end !important;
  text-align: left;
  padding: 0 0 40px 20px;
}
@media screen and (min-width: 960px){
  .p-mainVisual__textLayer {
    padding: 0 0 60px 20px;
  }
}

/* .p-mainVisual__inner img{
  max-width: 90vw !important;
  object-position: 100% 50% !important;
  position: relative;
  z-index: 0;
  margin-left: auto;
} */

/* h2見出し */
/* .post_content h2{
  font-size: 3.0rem !important;
  margin-bottom: 20px 0 !important;
  font-family: "Hina Mincho", serif;
  margin-top: 50px;
  margin-bottom: 20px !important;
}
@media screen and (min-width: 960px){
  .post_content h2 {
    margin-bottom: 30px !important;
    margin-top: 100px;
}
} */


/* h3見出し */
.post_content h3{
  margin: 0 !important;
  font-family: "Shippori Mincho", serif;
}
/* @media screen and (min-width: 960px){
  .post_content h3 {
    margin: 10px 0 5px 0 !important;
  }
} */
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{
  background: none !important;
}

.post_content .wp-block-heading{
  background: none;
}
/* 見出し */
/* h2見出し */
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  background: none !important;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before {
  position: absolute;
  display: block;
  pointer-events: none;
  content: "";
  top: -4px;
  left: 0;
  width: 100%;
  height: calc(100% + 4px);
  box-sizing: content-box;
  border-top: none;
  border-bottom: none;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  color: #42342B;
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  padding: 0 0 1.25em 0;
}
/* コンテナ余白（インライン style は消してOK） */
/* #post_list_tab_1 {
  margin: 80px 0;
} */
/* .post_content h2{
  font-size: 36px;
  margin: 0 auto !important;
  letter-spacing: 0.18em;
  font-family: "Shippori Mincho", serif;
  color: #237993 !important;
}
@media screen and (min-width: 959px){
  .post_content h2 {
    font-size: 64px !important;
  }
} */
/* h3 */
/* .post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  padding: 0 .5em 0.5em 0;
} */
/* .post_content h3 {
  margin: 3em 0 1em;
} */
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
  padding: 0;
}
/* h4 */
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  border-left: none !important;
  padding: 0;
  font-size: 20px;
  font-family: "Shippori Mincho", serif;
}
@media screen and (min-width: 959px){
  .post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)) {
     font-size: 24px;
  }
}
.post_content h4 {
  margin: 0 !important;
}

/* 記事大見出し横幅 */
.post_content>h2 {
  margin-right: -2px;
  margin-left: -2px;
}

/* fontcolor */
.wf{
  color: #ffffff;
}

/* お知らせ */
/* .p-postList__body .p-postList__title{
  font-size: 1.4rem !important;
}
@media screen and (min-width: 960px){
  .p-postList__body .p-postList__title {
    font-size: 1.8rem  !important;
  }
} */

/* .p-postListWrap ul li a{
  border: 1px #96CCD0 solid !important;
  padding: 15px;
  border-radius: 20px;
}
@media screen and (min-width: 960px){
  .p-postListWrap ul li a {
    padding: 30px;
  }
}
.p-postListWrap ul li a .p-postList__thumb{
  border-radius: 10px !important;
}
.p-postListWrap ul li a .p-postList__thumb span{
  display: none;
} */

/* blog */
/* .blog .p-postList__body .p-postList__title {
  font-size: 1.4rem !important;
}
@media screen and (min-width: 960px){
  .blog .p-postList__body .p-postList__title {
    font-size: 1.6rem  !important;
  }
}

.blog ul li a{
  border: 1px #96CCD0 solid !important;
  padding: 10px;
  border-radius: 10px;
}
@media screen and (min-width: 960px){
  .blog ul li a {
    padding: 15px;
  }
} */

/* ボタン */
.swell-block-button__link {
  background: linear-gradient(45deg, #368598, #8CD0DC) !important;
  box-shadow: none !important;
  width: -moz-fit-content !important;
  width: 300px !important;
  padding: 15px !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-weight: bold ;
  transition: all 0.3s;
  margin: 0 auto;
}
.swell-block-button__link::after {
  right: 1.3em;
}
.swell-block-button__link:hover {
  background: #fff !important;
  border: solid 1px #96CCD0 !important;
  color: #96CCD0 !important;
}
.c-sec__btn01 a{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; 
  /* padding: 14px 56px 14px 28px;  */
  border: solid 1px #fff !important;
  font-size: 16px;
  border-radius: 100px;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.3s ease;
  width: 220px;
  height: 50px;
  background: linear-gradient(
    135deg,
    #237993 0%,
    #96CCD0 100%
  );
  border: 1px solid #fff;
  color: #fff;
  &::after {
    content: "";
    position: absolute;
    right: 16px;
    width: 22px;
    height: 18px;
    border-radius: 50%;
    background-image: url("http://www.paypay.hopppeblog.com/wp-content/uploads/2026/01/ico_btn_arrow01.svg");
    background-repeat: no-repeat;
    background-position: center;
    transition: transform 0.3s ease;
  }
  &:hover {
    background-color: #9BB99A;
    transform: translateY(-2px);

    &::after {
      transform: translateX(3px); 
    }
  }
}
.c-sec__btn02 {
  border-bottom: 1px solid #368598;
  display: block;
  width: fit-content;
  margin-bottom: 0 !important;
}
.c-sec__btn02 a{
  color: #368598;
  font-family: "Shippori Mincho B1", serif;
}
.c-sec__btn02--right{
  margin-left: auto;
}
.c-sec__btn02--center{
  margin: auto;
}

/* ==========================
  HOME / ABOUT
  SWELL 追加CSS 用（完全版CSS）
========================== */

/* ベース */
.p-home-about{
  --pba-bg1:#f4f7ff;
  --pba-bg2:#eef2fb;

  --pba-ink:#2a2f3a;
  --pba-muted:#5b6575;

  --pba-accent:#7c8fbe;
  --pba-line:rgba(124,143,190,.35);

  --pba-glass:rgba(255,255,255,.55);
  --pba-border:rgba(255,255,255,.55);
  --pba-shadow:0 12px 36px rgba(10,20,40,.06);

  --pba-radius:24px;
  --pba-gap:24px;
  --pba-blur:8px;

  color:var(--pba-ink);
}

/* 念のため（SWELL差分吸収） */
.p-home-about *{ box-sizing:border-box; }
.p-home-about img{ max-width:100%; height:auto; display:block; }

/* コンテナ / セクション */
.p-home-about__container{
  width:min(1100px, calc(100% - 32px));
  margin-inline:auto;
}
.p-home-about__section{ margin-top:28px; }

/* ガラス */
.p-home-about__glass{
  position:relative;
  background: var(--pba-glass);
  border:1px solid var(--pba-border);
  border-radius: var(--pba-radius);
  padding: clamp(14px, 3vw, 28px);
  box-shadow: var(--pba-shadow);
  backdrop-filter: blur(var(--pba-blur));
  -webkit-backdrop-filter: blur(var(--pba-blur));
  overflow:hidden;
}
.p-home-about__glass::before{
  content:"";
  position:absolute;
  inset:-40px -40px auto -40px;
  height:120px;
  background: linear-gradient(90deg, rgba(255,255,255,.55), transparent);
  opacity:.55;
  pointer-events:none;
}

/* 見出し */
.p-home-about__head{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  margin: 2px 0 16px;
}
.p-home-about__title{
  margin:0 !important;
  font-size: 28px !important;
  letter-spacing:.06em;
  text-align:center;
}
@media (max-width: 900px){
  .p-home-about__title{
    font-size: 20px !important;
  }
}
.p-home-about__orn{
  width:40px;
  height:1px;
  background: linear-gradient(90deg, transparent, var(--pba-line), transparent);
  position:relative;
}
.p-home-about__orn::after{
  content:"✦";
  position:absolute;
  top:-10px;
  left:50%;
  transform:translateX(-50%);
  font-size:12px;
  color:rgba(124,143,190,.55);
}

/* 2カラム */
.p-home-about__grid{
  display:grid;
  grid-template-columns: 1.1fr .9fr;
  gap: var(--pba-gap);
  align-items:center;
}

/* テキスト */
.p-home-about__text p{
  margin:0 0 12px;
  line-height:1.95;
  color:var(--pba-muted);
  font-size:15px;
}
.p-home-about__muted{
  margin:0 0 18px;
  line-height:1.95;
  color:var(--pba-muted);
  font-size:15px;
}

/* 引用 */
.p-home-about__quote{
  margin:0 0 14px;
  border-radius:16px;
  background: rgba(255,255,255,.42);
  border: 1px solid rgba(255,255,255,.6);
  color:var(--pba-ink);
  font-weight:800;
  letter-spacing:.02em;
  font-size: 20px !important;
  line-height:1.7;
}
@media (max-width: 900px){
  .p-home-about__quote{
    font-size: 16px !important;
  }
}

/* イラスト */
.p-home-about__illus{ position:relative; }
.p-home-about__illusImg{
  width:100%;
  max-width:420px;
  margin-left:auto;
  filter: drop-shadow(0 18px 40px rgba(10,20,40,.10));
}
.p-home-about__illus--over .p-home-about__illusImg{
  transform: translateY(10px);
}

/* 活動カード */
.p-home-about__cards{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-top: 12px;
}
.p-home-about__card{
  background: rgba(255,255,255,.60);
  border:1px solid rgba(255,255,255,.75);
  border-radius:18px;
  padding:14px;
  display:flex;
  gap:12px;
  align-items:center;
  box-shadow: 0 10px 24px rgba(10,20,40,.05);
}
.p-home-about__cardIcon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  background: radial-gradient(60px 60px at 30% 30%, rgba(124,143,190,.20), rgba(255,255,255,.55));
  border:1px solid rgba(124,143,190,.20);
  flex:0 0 auto;
}
.p-home-about__cardIcon img{
  width:26px;
  height:26px;
  object-fit:contain;
}
.p-home-about__cardTitle{
  margin:0 0 2px;
  font-size:15px;
  letter-spacing:.06em;
}
.p-home-about__cardText{
  margin:0;
  font-size:13px;
  color:var(--pba-muted);
  line-height:1.7;
}

/* GOAL */
.p-home-about__glass--goal{
  padding-bottom: clamp(18px, 4vw, 34px);
}

/* ==========================
  TEAM
========================== */
.p-home-about__teamWrap{ margin-top: 0; }

.p-home-about__team{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin-top: 18px;
}

.p-home-about__teamCard{
  background: rgba(255,255,255,0.55);
  border: 1px solid rgba(255,255,255,0.75);
  border-radius: 22px;
  padding: 12px;
  box-shadow: 0 12px 28px rgba(10,20,40,.06);
}

/* 写真（スクショ風） */
.p-home-about__teamPhotoWrap{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: rgba(8,55,106,0.06);
  display:flex;
  justify-content:center;
  align-items:center;
}
.p-home-about__teamPhoto{
  width:100%;
  height:100%;
  object-fit: cover;
}

/* Xアイコン（写真右下） */
.p-home-about__teamX{
  position:absolute;
  right:10px;
  bottom:10px;
  width:34px;
  height:34px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(0,0,0,0.08);
  text-decoration:none;
}
.p-home-about__teamX:hover{ transform: translateY(-1px); }

/* SWELLアイコン（span.swl-inline-icon）を中央寄せ */
.p-home-about__teamX .swl-inline-icon{
  display:block;
  width:16px;
  height:16px;
}

/* テキスト */
.p-home-about__teamName{
  margin: 14px 0 4px;
  font-size: 20px;
  font-weight: 800;
  line-height: 1.3;
  padding: 8px 0 !important;
}
.p-home-about__teamLabel{
  margin: 0 0 12px;
  font-size: 13px;
  font-weight: 700;
  color: #08376a;
  display:inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(8,55,106,0.2);
}
.p-home-about__teamBio{
  margin: 0;
  font-size: 14px;
  line-height: 1.9;
  color: #333;
}

/* ==========================
  Responsive
========================== */
@media (max-width: 900px){
  .p-home-about__grid{ grid-template-columns: 1fr; }
  .p-home-about__illusImg{
    margin-inline:auto;
    max-width: 480px;
  }
}

@media (max-width: 768px){
  .p-home-about__team{
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .p-home-about__teamName{ font-size: 18px; }
}

@media (max-width: 640px){
  .p-home-about__cards{ grid-template-columns: 1fr; }
}



/* ==========================
  HOME / FLOW
  SWELL 追加CSS 用（完全版CSS）
========================== */
.p-home-flow{
  /* もし p-home-about とトーン合わせたいなら、ここは共通変数に寄せてもOK */
  --ink: #2a2f3a;
  --muted:#5b6575;
  --accent:#7c8fbe;
  --line:rgba(124,143,190,.35);

  --glass:rgba(255,255,255,.55);
  --border:rgba(255,255,255,.55);
  --shadow:0 12px 36px rgba(10,20,40,.06);
  --radius:24px;
  --blur:8px;

  margin: 28px 0;
  color: var(--ink);
}
.p-home-flow *{ box-sizing:border-box; }

/* ガラス枠 */
.p-home-flow__glass{
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: clamp(18px, 3vw, 28px);
  box-shadow: var(--shadow);
  backdrop-filter: blur(var(--blur));
  -webkit-backdrop-filter: blur(var(--blur));
  position:relative;
  overflow:hidden;
}
.p-home-flow__glass::before{
  content:"";
  position:absolute;
  inset:-60px -60px auto -60px;
  height:140px;
  background: linear-gradient(90deg, rgba(255,255,255,.62), transparent);
  opacity:.55;
  pointer-events:none;
}

/* STEPS */
.p-home-flow__steps{
  margin:0;
  padding:0;
  display:grid;
  gap: 14px;
}

/* 1つのSTEP */
.p-home-flow__step{
  display:grid;
  grid-template-columns: 96px 1fr;
  gap: 14px;
  align-items:start;
  padding: 14px;
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.76);
  box-shadow: 0 10px 24px rgba(10,20,40,.05);
  position:relative;
}

/* STEP番号 */
.p-home-flow__num{
  width: 96px;
  height: 40px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  font-weight:800;
  letter-spacing:.06em;
  font-size: 16px;
  color: var(--ink);
  background: radial-gradient(60px 60px at 30% 30%, rgba(124,143,190,.18), rgba(255,255,255,.55));
  border: 1px solid rgba(124,143,190,.22);

  /* あなたの元CSSを尊重 */
  font-family: "Oooh Baby", cursive !important;
}

/* タイトル */
.p-home-flow__stepTitle{
  margin:2px 0 6px;
  font-size: 16px;
  letter-spacing:.04em;
}

/* 本文 */
.p-home-flow__text{
  margin: 20px 0 0;
  color: var(--muted);
  line-height:1.9;
}
.p-home-flow__note{
  font-size: 13px;
  color: rgba(90,106,134,.95);
}

/* CTA */
.p-home-flow__cta{ margin-top: 12px; }

.p-home-flow__btn{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap: 4px;

  padding: 10px 16px;
  border-radius: 999px;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.04em;

  background: linear-gradient(135deg, #237993 0%, #96CCD0 100%);
  border: 1px solid #fff;
  color: #fff;

  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  max-width: 500px;
}
.p-home-flow__btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 60px rgba(10,20,40,.10);
}

/* リスト */
.p-home-flow__list{
  margin: 20px 0 10px;
  padding-left: 1.2em;
  color: var(--muted);
}
.p-home-flow__list b{ color: var(--ink); }

/* 注意ボックス（淡い） */
.p-home-flow__noteBox{
  margin: 0 0 10px;
  padding: 10px 12px;
  border-radius: 14px;
  color: var(--muted);
  font-size: 14px;
}

/* 主催リンク */
.p-home-flow__links{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.p-home-flow__link{
  display:inline-flex;
  align-items:center;
  padding: 8px 10px;
  border-radius: 999px;
  text-decoration:none;
  color: rgba(31,42,68,.80);
}
.p-home-flow__link:hover{ background: rgba(255,255,255,.62); }

/* 外部リンクアイコン */
.p-home-flow__extIcon{
  width: 8px;
  height: 14px;
  vertical-align: middle;
  opacity: 0.75;
}
.p-home-flow__link:hover .p-home-flow__extIcon{ opacity: 1; }

/* SP */
@media (max-width: 640px){
  .p-home-flow__step{
    grid-template-columns: 1fr;
  }
  .p-home-flow__num{
    width: 110px;
  }
}

/* ===============================
   p-home-voice
   =============================== */

/* 見える枠 */
.p-home-voice__list {
  overflow: hidden;
  width: 100%;
  padding: 20px 0;
}

/* 横に長い帯（2周分入ってる） */
.p-home-voice__track {
  display: inline-flex;
  gap: 24px;
  animation: voiceScrollLeft 30s linear infinite;
  will-change: transform;
}

/* カードデザイン */
.p-home-voice__item {
  width: 280px; /* ← max-width から width に変更 */
  border: 1px solid #237993;
  border-radius: 14px;
  padding: 24px;
  background: #ffffff;
  /* color: #6f5a53; */
  font-family: "Zen Maru Gothic","Hiragino Sans",sans-serif;
  flex-shrink: 0;
}
@media screen and (min-width: 959px){
  .p-home-voice__item {
    width: 360px; /* ← PCの幅 */
  }
}
.p-home-voice__name {
  font-size: 16px;
  color: #237993;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #237993;
}

.p-home-voice__text {
  font-size: 14px;
  line-height: 1.9;
}

/* 左方向に流れるアニメーション */
@keyframes voiceScrollLeft {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

.l-mainContent__inner .js-voice-slider {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  overflow: hidden !important;
}

/* PCでもフル幅キープ */
@media (min-width: 960px) {
  .l-mainContent__inner .js-voice-slider {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===============================
   p-home-qa
   =============================== */
.p-home-qa__wrap {
  display: grid;
  gap: 16px;
  margin: auto;
}

.p-home-qa {
  display: block;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
}

/* パネル（高さはJSで制御） */
.p-home-qa__panel {
  overflow: hidden;
  min-height: 0;
  height: 0;
}

/* 質問 */
.p-home-qa__q {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  cursor: pointer;
  padding: 14px 40px 14px 56px;
  color: #6f5a53;
  font-size: 15px;
  line-height: 1.8;
  border-bottom: 1px solid rgba(111, 90, 83, .25);
  list-style: none;
  background: transparent;
}

.p-home-qa__q::-webkit-details-marker {
  display: none;
}

/* 左のQ */
.p-home-qa__q::before {
  content: "Q";
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-54%);
  font-family: "Oooh Baby", cursive !important;
  font-style: italic;
  font-size: 30px;
  color: #6f5a53;
  opacity: .9;
}

/* 右の三角（clip-pathで滑らか回転） */
.p-home-qa__q::after {
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  width: 12px;
  height: 10px;
  transform: translateY(-50%) rotate(0deg);
  transform-origin: 50% 50%;
  transition: transform .35s cubic-bezier(.25, .8, .25, 1);
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background: #6f5a53;
  clip-path: polygon(50% 100%, 0 0, 100% 0); /* ▼ */
}

/* ▲：.is-open だけで回転（[open]には依存しない） */
.p-home-qa.is-open .p-home-qa__q::after {
  transform: translateY(-50%) rotate(180deg);
}

/* 回答（背景なし） */
.p-home-qa__a {
  position: relative;
  padding: 16px 20px 20px 56px;
  background: transparent;
  color: rgba(111, 90, 83, .85);
  font-size: 14px;
  line-height: 1.9;
}

.p-home-qa__a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: rgba(111, 90, 83, .2);
}

.p-home-qa__a::after {
  content: "A";
  position: absolute;
  left: 20px;
  top: 14px;
  font-family: "Oooh Baby", cursive;
  font-style: italic;
  font-size: 30px;
  color: #6f5a53;
  opacity: .6;
}

@media (min-width: 1024px) {
  .p-home-qa__wrap {
    gap: 24px;
  }

  .p-home-qa__q {
    font-size: 17px;
    padding: 18px 50px 18px 64px;
  }

  .p-home-qa__q::before {
    left: 24px;
  }

  .p-home-qa__q::after {
    right: 20px;
  }

  .p-home-qa__a {
    font-size: 16px;
    padding: 18px 24px 22px 64px;
  }
}
/* ======================================================
   Q&Aデザイン（p-home-qa）左揃えスタイル
   ====================================================== */

.p-home-qa {
  max-width: 900px;
  margin: 0 auto;
}

/* 各項目 */
.p-home-qa .swell-block-accordion__item {
  border: none;
  margin: 0 0 22px;
  padding: 0;
}

/* ---------------------------------------
   質問タイトル行（Q とテキスト）
--------------------------------------- */
.p-home-qa .swell-block-accordion__title {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  gap: 14px;
  padding: 14px 0;
  cursor: pointer;
  background: transparent;
  border: none;
  justify-content: flex-start; /* ★ 左揃え */
  font-family: "Shippori Mincho", serif;
}

/* Qマーク */
.p-home-qa .swell-block-accordion__title::before {
  content: "Q";
  font-family: "Oooh Baby", cursive;
  font-size: 36px;
  flex-shrink: 0;
  margin-left: 0;
  color: #237993;
}

/* 下線 */
.p-home-qa .swell-block-accordion__title::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background-color: #CEE9F0;
}

/* 質問文 */
.p-home-qa .swell-block-accordion__label {
  font-size: 16px;
  text-align: left;   /* 左寄せ */
  flex: 1;
}

/* 矢印を右端へ */
.p-home-qa .swell-block-accordion__icon {
  margin-left: auto;   /* ★ 右に寄せる */
  margin-right: 0;
  color: #237993;
  font-size: 14px;
}

/* 開閉状態による矢印切り替え */
.p-home-qa .swell-block-accordion__item[open] .__icon--closed {
  display: none;
}
.p-home-qa .swell-block-accordion__item:not([open]) .__icon--opened {
  display: none;
}

/* ---------------------------------------
   答え部分（A とテキスト）
--------------------------------------- */
.p-home-qa .swell-block-accordion__body {
  padding: 18px 0 16px 0; /* 左に寄せる */
}

/* A と本文を横並び風に */
.p-home-qa .swell-block-accordion__body p {
  position: relative;
  margin: 0;
  padding-left: 42px; /* A の位置 */
  text-align: left;
  font-size: 15px;
  line-height: 1.8;
}

/* Aマーク */
.p-home-qa .swell-block-accordion__body p::before {
  content: "A";
  position: absolute;
  left: 0;
  top: 2px;
  font-family: "Oooh Baby", cursive;
  font-size: 32px;
  color: #96CCD0;
}

/* SP調整 */
@media (max-width: 768px) {
  .p-home-qa {
    padding: 0 16px;
  }
}
/* 矢印の右に余白をつける */
.p-home-qa .swell-block-accordion__icon {
  margin-right: 8px; /* ← お好みで 8〜16px くらいが綺麗 */
}


/* 開いた時の枠線を消す（SWELLデフォの強制枠） */
.p-home-qa .swell-block-accordion__item[open] {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* summary（タイトル部分）のクリック時フォーカス線も消す */
.p-home-qa .swell-block-accordion__title:focus,
.p-home-qa .swell-block-accordion__title:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* アコーディオン内部のフォーカスも全部消す */
.p-home-qa summary:focus,
.p-home-qa summary:focus-visible {
  outline: none !important;
}


/* p-privacypolicy */
/* ============================================
   プライバシーポリシー（p-privacypolicy-list）
   ============================================ */

/* ================================
   Privacy Policy（Mashiro Design）
================================ */

.p-privacy{
  margin: 0 auto;
  line-height: 1.9;
  font-size: 16px !important;
}

/* 見出し */
.p-privacy h2{
  margin: 56px 0 16px;
  padding-bottom: 8px;
  font-size: 20px !important;
  border-bottom: 1px solid rgba(0,0,0,.08);
  position: relative;
  font-family: "Zen Old Mincho", serif;
}

/* テキスト */
.p-privacy p{
  margin: 16px 0 32px 0;
  color: #555;
}

/* リスト */
.p-privacy ul{
  margin: 16px 0 32px 0;
}
.p-privacy li{
  margin: 8px 0;
  color: #555;
}

/* 日付 */
.p-privacy__date{
  margin-top: 48px;
  font-size: 13px;
  opacity: .7;
}

/* SP微調整 */
@media (max-width: 768px){
  .p-privacy{
    font-size: 14px;
  }
  .p-privacy h2{
    font-size: 18px;
  }
}




/* =========================
   footer 基本
   ========================= */

.l-footer {
  background: linear-gradient(
      135deg,
      #237993 0%,
      #96CCD0 100%
    );
  text-align: center;
}

.l-footer__custom {
  padding: 10px 16px 10px;
  max-width: 960px;
  margin: 0 auto;
}
.l-footer__custom-logo {
  margin-bottom: 32px;
}
.l-footer__custom-logo img {
  max-width: 160px;
  height: auto;
  width: 100%;
}
.l-footer__custom-navList {
  list-style: none;
  padding: 0 !important;
  margin: 0;
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px 32px;
  font-size: 14px;
}

.l-footer__custom-navItem a,
.l-footer__custom-label {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}

.l-footer__custom-navItem--hasChild {
  position: relative;
}

.l-footer__custom-toggle {
  display: none;
}

/* ラベル + ▼三角 */
.l-footer__custom-label {
  position: relative;
  padding-right: 14px;
}
.l-footer__custom-label::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 6px solid #6f5a53;
  transform: translateY(-50%);
  transition: transform .3s ease;
}

/* =========================
   SP（〜959px）：アコーディオン
   ========================= */

@media screen and (max-width: 958px) {
  /* サブメニュー：縦に出るシンプルなリスト */
  .l-footer__custom-subList {
    list-style: none;
    font-size: 13px;
    margin: 8px 0 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    display: block;
    transition: max-height .3s ease, opacity .3s ease;
    position: static;
    background: transparent;
  }
  .l-footer__custom-subList li {
    white-space: nowrap;
  }
  .l-footer__custom-subList li a {
    position: relative;
    display: block;
    padding: 6px 0 6px 1.8em;
    color: #6f5a53;
    text-decoration: none;
    text-align: left;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
  }
  .l-footer__custom-subList li a::before {
    content: "";
    position: absolute;
    left: 0.4em;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #6f5a53;
    border-bottom: 1.5px solid #6f5a53;
    transform: translateY(-50%) rotate(-45deg);
    border-radius: 2px;
  }
  /* タップで開閉 */
  .l-footer__custom-toggle:checked ~ .l-footer__custom-subList {
    max-height: 200px;
    opacity: 1;
  }
  .l-footer__custom-toggle:checked + .l-footer__custom-label::after {
    transform: translateY(-50%) rotate(180deg);
  }
}

/* =========================
   PC（959px〜）：ホバーでポップアップ
   ========================= */

@media screen and (min-width: 959px) {

  .l-footer__custom {
    padding: 30px 20px 0px;
  }

  /* PCではサブメニューをポップアップ表示 */
  .l-footer__custom-subList {
    list-style: none;
    font-size: 12px;
    margin: 0;
    padding: 8px 0;
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    white-space: nowrap;
    background: transparent;
    max-height: none;
    overflow: visible;
    opacity: 0;
    display: none;
  }
  .l-footer__custom-subList li + li {
    margin-top: 4px;
  }
  /* カード風リンク */
  .l-footer__custom-subList li a {
    position: relative;
    display: block;
    padding: 6px 16px 6px 2.2em;
    background: #ffffff;
    border-radius: 4px;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.06);
    color: #6f5a53;
    text-decoration: none;
    text-align: right;
    transition: transform .2s ease, color .2s ease, background-color .2s ease;
  }
  /* 左の矢印（PC） */
  .l-footer__custom-subList li a::before {
    content: "";
    position: absolute;
    left: 0.8em;
    top: 50%;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #6f5a53;
    border-bottom: 1.5px solid #6f5a53;
    transform: translateY(-50%) rotate(-45deg);
    border-radius: 2px;
  }
  /* 親liにホバーしている間は表示 */
  .l-footer__custom-navItem--hasChild:hover .l-footer__custom-subList {
    display: block;
    opacity: 1;
  }
  /* ホバー中：文字だけ少し右＋色を濃く */
  .l-footer__custom-subList li a:hover {
    transform: translateX(3px);
    color: #5a4337;
    background-color: #fdfaf6;
  }
  /* PC時：三角もホバー中だけ回転 */
  .l-footer__custom-navItem--hasChild:hover .l-footer__custom-label::after {
    transform: translateY(-50%) rotate(180deg);
  }
}
/* コピーライト */
.copyright {
  font-size: 0.8rem;
  opacity: 0.9;
  margin: 24px 0 0;
  color: #fff !important;
}

