/*
  Theme Name: 和のやすらぎ枝
  Author: Shion.S
  Author URI: https://wanoyasuragi-eda.jp/
  Description: 和のやすらぎ枝のテーマです。
  Version: 2.0.0
  Text Domain: 
*/


/* common
-------------------------------------------------- */
.half_box > * {
  width: 50%;
}
.try_box > * {
  width: 33%;
}

.box_inner {
  margin: 0 auto;
  padding: 5rem 2rem;
  max-width: 1280px;
}

[id*="anker"] {
  margin-top: -10rem !important;
  padding-top: 10rem !important;
}



/* element
-------------------------------------------------- */
html {
  /* font-family: YakuHanJP, 'Noto Sans JP', "Hiragino Sans W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; */
  font-family: YakuHanMP, 'Noto Serif JP', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-size: 62.5%;
	-webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
	color: #333;
	font-size: 1.6rem;
  font-weight: 600;
  /* background: url( './assets/imgs/common/bg.png' ) fixed; */
}

a { transition: .6s; }
a:hover { opacity: .5; }
a, a:hover { text-decoration: none; }

ul { list-style: none; }
img {
	max-width: 100%;
	vertical-align: bottom;
}


/* flex-box
-------------------------------------------------- */
.dp_f {
  display: flex;
  display: -ms-flexbox;
  display: -webkit-flex;
  flex-wrap: wrap;
}


/* モーダルウィンドウ - modal
-------------------------------------------------- */
dialog {
  margin: auto;
  opacity: 0;
  transform: scale(0.9);
  transition: 
    opacity 0.3s ease-out, 
    transform 0.3s ease-out, 
    display 0.3s ease-out allow-discrete,
    overlay 0.3s ease-out allow-discrete;
  
  padding: 0;
  overflow: hidden;
  max-height: 90vh;
  border: none;
  border-radius: 12px;

  position: fixed;
  inset: 0;
}

dialog[open] {
  opacity: 1;
  transform: scale(1);

  @starting-style {
    opacity: 0;
    transform: scale(0.9);
  }
}

dialog::backdrop {
  background-color: rgba(0, 0, 0, 0);
  transition: 
    display 0.3s allow-discrete, 
    overlay 0.3s allow-discrete, 
    background-color 0.3s;
}

dialog[open]::backdrop {
  background-color: rgba(0, 0, 0, 0.6);

  @starting-style {
    background-color: rgba(0, 0, 0, 0);
  }
}

.modal-content {
  position: relative;
  padding: 5rem;
  width: 1080px;
  max-width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-sizing: border-box;
}


.modal-content h2.ttl_main {
  margin-bottom: 3rem;
}
.modal-content h2.ttl_main > p {
  font-size: 2.1rem;
}
.modal-content h2.ttl_main span {
  font-size: 1.8rem;
}

.modal-content > .modal-body > p:not([class]) {
  line-height: 2;
}

.close-icon {
  position: absolute;
  top: 15px;
  right: 15px;
  
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #666;
  cursor: pointer;
  padding: 5px;
  line-height: 1;
  transition: color 0.2s;
}

.close-icon:hover {
  color: var( --sub-color );
}


/* タイトル - title
-------------------------------------------------- */
.ttl_main {
  display: flex;
  align-items: center;
  gap: 20px;
}
.ttl_main > p {
  margin-right: -0.15em;
  font-family: var( --font-main );
  font-size: 2.6rem;
  font-weight: 900;
  flex-shrink: 0;
  letter-spacing: 0.15em;
}
.ttl_main span {
  display: block;
  font-size: 1.8rem;
  font-family: var( --font-sub );
  color: var( --main-color );
  line-height: 1.25;
}
.ttl_main img {
  flex: 1;
  min-width: 0;
  height: auto;
}
.ttl_main::after {
  content: '';
  flex: 1;
  min-width: 0;
  height: 40px;
  background-image: url( './assets/imgs/svg/leaf.svg' );
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left center;
}

.ttl_flower::after {
  background-image: url( './assets/imgs/svg/flower.svg' );
}



/* .ttl_reverse {
  flex-direction: row-reverse;
}
.ttl_reverse > p {
  text-align: right;
}
.ttl_reverse::after {
  transform: scaleX(-1);
} */

.ttl_sub {
  margin-bottom: 3rem;
  text-align: center;
  font-family: var( --font-main );
  font-size: 3rem;
  letter-spacing: 0.15em;
}
.ttl_sub > p {
  color: var( --main-color );
  font-family: var( --font-sub );
  font-size: 3rem;
  letter-spacing: 0.15em;
}
.ttl_sub > p::first-letter {
  text-transform: uppercase;
}

.ttl_person {
  text-align: center;
  font-family: var( --font-sub );
  font-size: 3.6rem;
  line-height: 1;
}
.ttl_person::first-letter {
  /* color: var( --main-color ); */
  text-transform: uppercase; 
}


/* ボタン
-------------------------------------------------- */
.btn_df a {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 1rem 5rem;
  max-width: 330px;
  /* color: #fff; */
  color: #fff;
  text-align: center;
  font-family: var( --font-main );
  font-weight: bold;
  /* border: 2px solid rgba( 138, 138, 138, 1 ); */
  background-color: var( --strong-color );
  letter-spacing: .1em;
  border-radius: 50vh;
}
.btn_df a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY( -50% );
  content: '\f061';
  font-family: var( --fa-font );
  transition: all ease .6s;
}
.btn_df a:hover {
  /* opacity: 1;
  background-color: var( --sub-color ); */
}
.btn_df a:hover::after {
  right: 15px;
}

.btn_calendar a {
  /* background-color: var( --sub-color ); */
}

.news_btns {
  margin-top: 5rem;
  gap: 4%;
}
.news_btns > div.btn_df {
  width: 48%;
}
.news_btns > div.btn_df a:hover {
  /* background-color: var( --step-color ); */
}

.news_btns a {
  max-width: initial;
  width: 100%;
}
.news_btns a:hover {
  /* opacity: 1; */
}

.btn_lectures {
  margin-top: 3rem;
}

/* .btn_blogs a { background-color: var( --sub-color ); }
.btn_after a { background-color: var( --after-color ); } */


/* nav
-------------------------------------------------- */
nav .nav_fixed {
  position: fixed;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-start;
  width: 100%;
  background-image: linear-gradient( rgba( 0, 0, 0, 1 ), rgba( 0, 0, 0, 0 ) );
  z-index: 999;
}
body.logged-in.admin-bar nav .nav_fixed {
  top: 32px;
}

.main_logo {
  padding: 1rem
}
.main_logo a {
  display: block;
}
.main_logo img {
  height: 80px;
}

.nav_inner {
  margin-left: auto;
}
.nav_inner ul.nav_list_sub {
  padding: 0 2rem;
  height: 50px;
  align-items: center;
  justify-content: flex-end;
}
.nav_inner ul.nav_list_sub > li:nth-child(1) a,
.nav_inner ul.nav_list_sub > li:nth-child(2) a {
  padding: .25rem 2.5rem;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  background-color: var( --strong-color );
  border-radius: 50vh;
  letter-spacing: .15em;
}
.nav_inner ul.nav_list_sub > li:nth-child(2) a {
  background-color: var( --strong-color );
}
.nav_inner ul.nav_list_sub > li:not(:last-child) {
  margin-right: 1rem;
}
.nav_inner ul.nav_list_sub > li:nth-child(1) a::before,
.nav_inner ul.nav_list_sub > li:nth-child(2) a::before {
  content: '\f0e0';
  margin-right: .5rem;
  font-weight: 900;
  font-family: var( --fa-font );
}
.nav_inner ul.nav_list_sub > li:nth-child(2) a::before {
  content: '\f073';
}

.nav_inner ul.nav_list_sub > li:nth-child(3) a i,
.nav_inner ul.nav_list_sub > li:nth-child(4) a i {
  font-size: 2.6rem;
  color: rgba( 255, 0, 0, 1 );
}
.nav_inner ul.nav_list_sub > li:nth-child(4) a i {
  color: rgba( 129, 183, 26, 1 );
}

.nav_inner ul.nav_list {
  padding: 1.5rem 2rem 0;
  border-top: 1px solid #fff;
}

.nav_inner ul.nav_list > li a {
  display: block;
  width: 175px;
  text-align: center;
  font-family: var( --font-main );
  font-weight: 600;
  color: #fff;
  letter-spacing: .15em;
}

/* AC_MENU */
.btn_area {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  border-left: 1px solid #fff;
}

#ac_menu {
  position: relative;
  width: 40px;
  height: 40px;
  cursor: pointer;
  display: block;
}

#ac_menu span {
  display: block;
  position: absolute;
  width: 40px;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  transition: all 0.3s ease-in-out;
}

#ac_menu span:nth-child(1) { top: 7px; }
#ac_menu span:nth-child(2) { top: 21px; }
#ac_menu span:nth-child(3) { top: 36px; }

#ac_menu:hover span:nth-child(1) { top: 21px; }
#ac_menu:hover span:nth-child(3) { top: 21px; }

#ac_menu.is_active span:nth-child(1) {
  top: 21px;
  transform: rotate(-45deg);
}
#ac_menu.is_active span:nth-child(2) {
  opacity: 0;
}
#ac_menu.is_active span:nth-child(3) {
  top: 21px;
  transform: rotate(45deg);
}

#js_target_panel.is_active {
  opacity: 1 !important;
  font-weight: bold;
}

.nav_panel {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  right: -120%;
  padding: 2rem;
  width: 100%;
  height: 100%;
  background-color: #f8f8f8;
  /* background-color: rgba( 219, 208, 230, 1 ); */
  transition: all ease-in-out .6s;
  z-index: 80;
}
.nav_panel.is_active {
  right: 0;
}

.nav_panel_inner {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 2%;
  width: 980px;
  overflow-y: scroll;
}
.nav_panel_inner::-webkit-scrollbar {
  display: none;
}

.nav_panel_main {
  margin-bottom: 5rem;
  width: 100%;
  text-align: center;
}

.nav_list_sns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4%;
  margin: 2rem auto;
  max-width: 200px;
}
.nav_list_sns > li {
  width: 32%;
}
.nav_list_sns > li a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  font-size: 2.4rem;
  border-radius: 50%;
  color: #fff;
  background-color: #333;
}
.nav_list_sns > li:nth-child(2) a {
  background-color: rgba( 255, 0, 0, 1 );
}
.nav_list_sns > li:nth-child(3) a {
  background-color: rgba( 129, 183, 26, 1 );
}

.nav_panel_main .btn_df a::after {
  display: none;
}
.nav_panel_main .btn_df a i {
  margin-right: 1rem;
}



.nav_panel .nav_list_panel_menu {
  width: 32%;
}
.nav_panel .nav_list_panel_menu > li {
  border-bottom: 1px solid #777;
}
.nav_panel .nav_list_panel_menu > li:first-of-type {
  padding: 0 1rem;
  font-family: var( --font-sub );
  font-weight: 900;
  font-size: 3.6rem;
}
.nav_panel .nav_list_panel_menu > li:first-of-type::first-letter {
  color: var( --sub-color );
}
.nav_panel .nav_list_panel_menu > li:not(:first-of-type) a {
  display: block;
  padding: 1rem;
  color: #333;
  font-family: var( --font-main );
  font-weight: 700;
  font-size: 1.8rem;
}
.nav_panel .nav_list_panel_menu > li:not(:first-of-type) a::before {
  content: '\f192';
  margin-right: 1rem;
  font-weight: 900;
  font-family: var( --fa-font );
  color: var( --strong-color );
  transition: all ease .6s;
}
.nav_panel .nav_list_panel_menu > li:not(:first-of-type) a:hover {
  /* opacity: 1; */
  /* color: var( --main-color ); */
}
.nav_panel .nav_list_panel_menu > li:not(:first-of-type) a:hover:before {
  /* color: var( --sub-color ); */
}


/* header
-------------------------------------------------- */
.mv_box {
  position: relative;
}
.mv_box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url( './assets/imgs/stripe.png' );
  opacity: .3;
  z-index: 2;
}

.mv_box iframe {
  margin-bottom: -5px;
  width: 100%;
  height: 640px;
}

.swiper_fade {
  position: relative;
  width: 100%;
  height: 640px;
  overflow: hidden;
  z-index: 1;
}
.swiper_fade img {
  width: 100%;
  height: 640px;
  object-fit: cover;
}

.catch_copy {
  position: absolute;
  left: 5rem;
  bottom: 4rem;
  font-family: var( --font-main );
  font-size: 3rem;
  color: #fff;
  letter-spacing: 0.15em;
  z-index: 3;
}

/* subvisual
-------------------------------------------------- */
.sub_visual {
  margin-bottom: 5rem;
  width: 100%;
  min-height: 400px;
  background-image: url( './assets/imgs/page/cover_basic.jpg' );
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

body.about .sub_visual { background-image: url( './assets/imgs/page/cover_about.jpg' ); }
body.therapist .sub_visual { background-image: url( './assets/imgs/page/cover_therapist.jpg' ); }
body.session .sub_visual { background-image: url( './assets/imgs/page/cover_session.jpg' ); }
body.lectures .sub_visual { background-image: url( './assets/imgs/page/cover_lectures.jpg' ); }
body.faq .sub_visual { background-image: url( './assets/imgs/page/cover_faq.jpg' ); }


/* breadcrumb - パンくず
-------------------------------------------------- */
.breadcrumb_list {
  margin: 0 auto 5rem;
  padding: 0 2rem;
  max-width: 1280px;
}

.breadcrumb_list > li,
.breadcrumb_list > li a {
  color: #333;
}

.breadcrumb_list > li:not(:last-child)::after {
  margin: 0 2rem;
  content: '\f178';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
}
.breadcrumb_list > li::before {
  margin-right: .5rem;
  content: '\e3af';
  font-family: 'Font Awesome 7 Free';
  font-weight: 900;
}

.breadcrumb_list > li:first-child::before { content: '\e3af'; }
.breadcrumb_list > li:nth-child(2)::before { content: '\f02d'; }
.breadcrumb_list > li:nth-child(3)::before { content: '\f5ad'; }

.breadcrumb_page_list > li:nth-child(3)::before { content: '\f004'; }
.breadcrumb_contact_list > li:nth-child(3)::before { content: '\f658'; }
.breadcrumb_lectures_list > li:nth-child(3)::before { content: '\f550'; }


/* ページネーション
-------------------------------------------------- */
.pagination {
  margin: 40px 0;
  text-align: center;
}

.screen-reader-text {
  display: none;
}

.nav-links .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  margin: 0 4px;
  padding: 0 10px;
  border: 1px solid #ddd;
  border-radius: 4px;
  background: #fff;
  color: #333;
  text-decoration: none;
  font-size: 14px;
  transition: all 0.3s ease;
}

.nav-links a.page-numbers:hover {
  background: #f0f0f0;
  border-color: #bbb;
  color: #000;
}

.nav-links .page-numbers.current {
  background: #333;
  border-color: #333;
  color: #fff;
  font-weight: bold;
  cursor: default;
}

.nav-links .prev, .nav-links .next {
  font-weight: bold;
}

/* main
-------------------------------------------------- */
.news_box {
  margin-bottom: 5rem;
  padding-bottom: 5rem;
  border-bottom: 1px solid rgba( 138, 138, 138, .3 );
}

.news_box img {
  margin-top: 5rem;
}

/* ==================================================
    1. 共通設定（どちらのリストにも効く基本）
   ================================================== */
.event_list {
  margin-top: 3rem;
}

.event_list > li {
  position: relative;
  border-bottom: 1.5px solid rgba( 138, 138, 138, .5 );
}

.event_list > li a {
  display: block;
  width: 100%;
}

/* 共通パーツ */
.event_detail {
  position: relative;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  padding: 1rem 5rem 1rem 0;
  color: #333;
  font-weight: 700;
  transition: all ease .6s;
}

.event_detail::after {
  content: '\f061';
  font-family: var( --fa-font );
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY( -50% );
  color: rgba( 138, 138, 138, 1 );
  transition: all ease .6s;
}

.event_detail > span:not(:last-of-type) {
  margin-right: 2rem;
}

.event_date {
  min-width: 215px;
  letter-spacing: .1em;
  transition: all ease .6s;
}
.event_date::before {
  content: '\f111';
  font-family: var( --fa-font );
  font-weight: 400;
  margin: 0 1rem;
  color: var( --main-color );
}

.event_label {
  min-width: 160px;
  padding: .1rem 2rem;
  color: rgba( 138, 138, 138, 1 );
  font-family: var( --font-main );
  text-align: center;
  border: 2px solid rgba( 204, 204, 204, 1 );
  border-radius: 50vh;
  transition: all ease .6s;
}

.event_ttl {
  flex: 1;
  display: inline-block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: .1em;
  transition: all ease .6s;
}

/* 下線アニメーションのベース */
.event_list > li::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1.5px;
  transition: all ease .6s;
  z-index: 1;
}

/* ==================================================
    2. 通常イベント用（aタグあり）
   ================================================== */
.normal_event_list > li a {
  display: block;
  text-decoration: none;
}
.normal_event_list > li a:hover {
  opacity: 1;
}

.normal_event_list > li::before {
  background-color: var( --main-color );
}

.normal_event_list > li:hover::before {
  width: 100%;
}

.normal_event_list > li:hover .event_detail::after {
  color: var( --strong-color );
  right: 1rem;
}

.normal_event_list > li:hover .event_date,
.normal_event_list > li:hover .event_ttl {
  color: var( --strong-color );
}
.normal_event_list > li:hover .event_date::before {
  font-weight: 900;
}

.normal_event_list > li:hover .event_label {
  color: var( --strong-color );
  border-color: var( --strong-color );
}

/* ==================================================
    3. アフター勉強会用（aタグなし / after_event_list）
   ================================================== */
.after_event_list > li {
  cursor: default;
}
.after_event_list > li:not(:last-of-type) {
  margin-bottom: 1rem;
}

.after_event_list > li::before {
  background-color: var( --main-color );
}
.after_event_list > li .event_date::before {
  /* color: var( --after-color ); */
}

/* アイコンを最初から下向きに */
.after_event_list .event_detail::after {
  content: '\f063';
}

/* ホバー演出（liを起点にする） */
.after_event_list > li:hover::before {
  width: 100%;
}

.after_event_list > li:hover .event_detail::after {
  color: var( --main-color );
  top: 55%;
}

.after_event_list > li:hover .event_date,
.after_event_list > li:hover .event_ttl {
  /* color: var( --after-color ); */
}

.after_event_list > li:hover .event_date::before {
  /* color: var( --after-color ); */
  font-weight: 900;
}

.after_event_list > li:hover .event_label {
  /* color: var( --after-color );
  border-color: var( --after-color ); */
}

.js_ac_trigger {
  cursor: pointer;
}

/* アフター詳細エリア */
.event_after_detail {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease, padding 0.3s ease;
  visibility: hidden;
  overflow: hidden;
  border-top: 1px dashed rgba(138, 138, 138, 1);
}

.event_after_inner {
  min-height: 0;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}

.is-open + .event_after_detail {
  grid-template-rows: 1fr;
  visibility: visible;
  padding: 1rem 0;
}
.event_after_detail .event_time,
.event_after_detail .event_zoom {
  width: 200px;
  margin-left: 1rem;
  padding: 0 1rem;
  text-align: center;
  border-radius: 50vh;
  background-color: rgba( 204, 204, 204, 1 );
  color: #333;
}

.event_after_detail .event_time {
  background-color: var( --sub-color );
  color: #fff;
}

.event_after_detail .event_zoom {
  margin-top: 1rem;
}

.event_after_detail .event_zoom_on {
  background-color: rgba( 0, 110, 84, 1 );
  color: #fff;
}
.event_after_detail .event_zoom_only {
  background-color: rgba( 22, 74, 132, 1 );
  color: #fff;
}

.event_after_detail .event_content {
  flex: 1;
  padding-left: 2rem;
  color: #333;
}

.event_after_contact {
  margin: 3rem auto 0;
  padding: 1rem 2rem;
  width: fit-content;
  border-bottom: 1px dashed #333;
  letter-spacing: .05em;
  text-align: center;
}

.event_list_none, .error_txt {
  margin-top: 3rem;
  padding: 1rem 2rem;
  font-family: var( --font-main );
  font-weight: bold;
  text-align: center;
  line-height: 2;
  border-radius: 10px;
  background-color: rgba( 204, 204, 204, .5 );
}
.error_txt {
  margin: 0 auto 5rem;
  max-width: 1280px;
}



/* .news_tab_group {
  margin-top: 3rem;
}
.news_tab_group button {
  cursor: pointer;
  padding: .5rem 2rem;
  min-width: 160px;
  font-family: var( --font-main );
  font-weight: 900;
  color:rgba( 138, 138, 138, 1 );
  border: none;
  border: 2px solid var( --main-color );
  background-color: transparent;
  border-radius: 50vh;
  transition: all ease .6s;
}

.news_tab_group button.is-active {
  color: #fff;
  background-color: var( --main-color );
}

.news_tab_group button:not(:last-of-type) {
  margin-right: 1rem;
}
.news_tab_contents .tab_item {
  display: none;
}
.news_tab_contents .tab_item.is-show {
  display: block;
  animation: fadeIn .5s;
}
.news_tab_contents .tab_btn.is-active {
  border-bottom: 2px solid #000;
  font-weight: bold;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
 */

section#about {
  background-color: rgba( 192, 162, 199, .1 );
}
.txt_sub {
  margin-bottom: 3rem;
  text-align: center;
  font-family: var( --font-main );
  font-weight: 700;
  font-size: 2.1rem;
  line-height: 1.75;
}

.about_box {
  margin: 5rem 0;
}
.about_box .about_img {
  width: 40%;
}
.about_box .about_txt {
  padding-left: 5rem;
  width: 60%;
}
.about_box .about_txt p {
  margin-bottom: 3rem;
  line-height: 2;
}

section#person {
  background-color: rgba( 192, 162, 199, .1 );
}


.support_list {
  margin-top: 5rem;
}
.support_list > li {
  display: flex;
  flex-wrap: wrap;
  height: auto;
  gap: 3rem;
}
.support_img {
  width: 125px;
  flex-shrink: 0;
}
.support_img img {
  width: 125px;
  height: 125px;
  border-radius: 50%;
}
.supporter_detail {
  flex: 1; 
  display: flex;
  flex-direction: column;
  padding: 0 3rem;
  /* background-color: rgba( 255, 255, 255, .1 ); */
  flex: 1;
  /* border-radius: 2rem; */
}

.support_name {
  margin-bottom: 1rem;
  padding: 0 1rem 1rem 1rem;
  font-family: var( --font-main );
  font-size: 2.4rem;
  border-bottom: 1px solid var( --main-color );
  letter-spacing: .05em;
}
.support_name::first-letter {
  /* font-size: 3rem; */
  /* color: var( --main-color ); */
}

.support_job {
  margin-bottom: 1rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: rgba( 158, 161, 163, 1);
  letter-spacing: .05em;
}
.support_message {
  padding: 0 1rem;
  flex-grow: 1;
}
.support_message p {
  line-height: 1.75 !important;
}
.support_message p:not([class]) {
  font-family: var( --font-main );
}

.support_ttl {
  display: flex;
  align-items: flex-start;
  margin: 2rem 0;
  font-size: 2.1rem;
  font-family: var( --font-main );
  font-weight: 700;
  color: var( --main-color );
  letter-spacing: .05em;
}
.support_ttl::before {
  content: '\f4ad';
  font-family: var( --fa-font );
  font-weight: 900;
}


.supporter_detail .wp-block-columns.is-layout-flex {
  padding: 0;
  max-width: initial;
}


.support_slider_wrapper {
  position: relative;
}

/* ボタンの共通スタイル */
.swiper-button-prev.support_prev,
.swiper-button-next.support_next {
  width: 50px;
  height: 50px;
  background-color: var( --main-color ); /* 背景色 */
  border-radius: 50%;
  color: #fff;
  z-index: 9;
}

/* Swiperのデフォルト矢印サイズを調整 */
.swiper-button-prev.support_prev::after,
.swiper-button-next.support_next::after {
  content: '\f104';
  font-family: var( --fa-font );
  font-size: 2.1rem;
  font-weight: 900;
}
.swiper-button-next.support_next::after { content: '\f105'; }
.swiper-button-next.support_next {
  right: -3rem;
}
.swiper-button-prev.support_prev {
  left: -3rem;
}

/* 1枚しか無い時にボタンを消す場合（JSのwatchOverflowと連動） */
.swiper-button-lock {
  display: none;
}


/* section#branch {
  background-color: #fff;
}

.branch_txt {
  margin-top: 3rem;
  text-align: center;
  font-family: var( --font-main );
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.75;
}
.branch_txt span {
  display: block;
  margin: 2rem auto;
  padding: .25rem 5rem;
  width: fit-content;
  color: #fff;
  background-color: var( --sub-color );
  border-radius: 50vh;
} */

/* .list_therapists {
  display: flex;
  margin: 5rem auto 0;
  gap: 4%;
}
.list_therapists > li {
  margin-bottom: 3rem;
  width: 22%;
}
.list_therapists > li .therapist_img {
  position: relative;
  margin-bottom: 2rem;
  text-align: center;
}
.list_therapists > li .therapist_img img {
  width: 230px;
  height: 230px;
  object-fit: cover;
  border-radius: 50%;
  transition: all ease .6s;
}
.list_therapists > li a:hover {
  opacity: 1;
}
.list_therapists > li a:hover .therapist_img img {
  transform: scale( 1.1 );
}

.list_therapists > li a {
  color: #333;
}
.list_therapists > li .therapist_name,
.list_therapists > li .therapist_company {
  font-family: var( --font-main );
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
}
.list_therapists > li .therapist_company {
  margin-bottom: 1rem;
  padding: 0 2rem;
  color: var( --main-color );
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.list_therapists > li .therapist_name {
  font-size: 2rem;
} */

.list_therapists {
  margin: 5rem 0;
}
.list_therapists > li a {
  position: relative;
  display: flex;
  align-items: center;
  padding: 1.5rem 5rem 1.5rem 1.5rem;
  border-bottom: 1.5px solid rgba( 138, 138, 138, .5 );
}
.list_therapists > li a::before {
  content: '';
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 40px;
  height: 1.5px;
  background-color: var( --therapist-color );
  transition: all ease .6s;
  z-index: 1;
}
.list_therapists > li:hover a::before {
  width: 100%;
}

.list_therapists > li a::after {
  content: '\f061';
  font-family: var( --fa-font );
  position: absolute;
  top: 50%;
  right: 2rem;
  transform: translateY( -50% );
  color: rgba( 138, 138, 138, 1 );
  transition: all ease .6s;
}
.list_therapists > li:hover a::after {
  right: 1rem;
  color: var( --therapist-color );
}

.list_therapists > li a {
  color: #333;
}
.list_therapists > li a:hover {
  opacity: 1;
}
.therapist_img {
  margin: 0 1rem;
  flex-shrink: 0;
}
.therapist_img img {
  max-width: 90px;
  height: 90px;
  object-fit: cover;
  border-radius: 50%;
}
.therapist_name {
  margin: 0 2rem;
  padding: .25rem 2rem;
  min-width: 180px;
  font-family: var( --font-main );
  font-weight: 700;
  color: rgba( 138, 138, 138, 1 );
  border-radius: 50vh;
  text-align: center;
  border: 2px solid rgba( 138, 138, 138, 1 );
  transition: all ease .6s;
}
.therapist_company {
  flex: 1;
  transition: all ease .6s;
}
.therapist_company p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-family: var( --font-main );
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.75 !important;
}
.therapist_company p:first-of-type {
  margin-bottom: 0 !important;
  font-size: 1.6rem;
  color: var( --step-color );
}

.list_therapists > li a:hover .therapist_name {
  color: #fff;
  border-color: var( --therapist-color );
  background-color: var( --therapist-color );
}
.list_therapists > li a:hover .therapist_company {
  color: var( --therapist-color );
}


.swiper_loop .swiper-slide {
  margin-right: 0 !important;
}
.swiper_loop .swiper-wrapper {
  transition-timing-function: linear;
}
.swiper_loop .swiper-slide img {
  height: 300px;
  width: 100%;
  object-fit: cover;
}


section#company {
  background-color: rgba( 192, 162, 199, .1 );
}
.logo_ttl {
  padding-bottom: 3rem;
  border-bottom: 1px solid #333;
}

.company_box {
  padding: 3rem 0;
}

.company_info {
  padding-right: 5rem;
  width: 45%;
}
.company_info address {
  font-style: normal;
}
.company_info address p {
  font-size: 1.8rem;
  line-height: 1.75;
}
.company_info address span {
  font-size: 1.4rem;
  line-height: 1.75;
}

.company_info address .phone {
  margin-top: 1rem;
  font-size: 3rem;
}
.company_info address .phone::before {
  content: '\f2a0';
  margin-right: 1rem;
  font-size: 2.1rem;
  font-weight: 900;
  font-family: var( --fa-font );
}
.company_info address .phone a {
  color: #333;
}

.company_info .company_img {
  margin-top: 5rem;
}
.company_info .company_img img {
  border-radius: 10px;
}


.access_info {
  display: flex;
  flex-wrap: wrap;
  width: 55%;
}
.access_info dt {
  display: flex;
  width: 45%;
  letter-spacing: .15em;
}
.access_info dt img {
  flex-shrink: 0;
  margin-right: 1rem;
  width: 30px;
  height: 30px;
  fill: #fff;
}
.access_info dt span {
  display: block;
  font-size: 1.4rem;
}
.access_info dt:not(:last-of-type),
.access_info dd:not(:last-of-type) {
  border-bottom: 1px solid #333;
}
.access_info dt:not(:first-of-type),
.access_info dd:not(:first-of-type) {
  padding-top: 3rem;
}

.access_info dd {
  width: 55%;
  font-size: 1.4rem;
  color: #333;
}


section#googlemap iframe {
  margin-bottom: -.5rem;
  width: 100%;
  height: 400px;
}

/* footer
-------------------------------------------------- */
footer {
  background-color: var( --main-color );
}
.f_inner {
  display: flex;
  align-items: center;
  margin: 0 auto;
  padding: 2rem;
  max-width: 1280px;
}

.footer_link {
  display: flex;
  align-items: center;
}
.footer_link > li a {
  padding: 0 3rem;
  font-family: var( --font-main );
  color: #fff;
}
.footer_link > li:not(:last-child) a {
  border-right: 1px solid #fff;
}
.footer_link > li:first-child a {
  padding-left: 0;
}

.f_inner .copy {
  margin-left: auto;
}
.f_inner .copy a {
  font-family: var( --font-main );
  font-size: 1.4rem;
  color: #fff;
}

/* リンク集 - link
-------------------------------------------------- */
.list_externallink > li:not(:last-child) {
  padding-bottom: 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px dashed #333;
}
.list_externallink > li a {
  display: inline-block;
  margin-bottom: 1rem;
  padding-left: 2rem;
  font-size: 1.8rem;
  font-weight: bold;
  color: var( --strong-color )
}
.list_externallink > li a::before {
  margin-right: 1rem;
  content: '\f08e';
  font-family: var( --fa-font );
  font-weight: var( --fa-font-weight );
}

.list_externallink > li span {
  display: flex;
  padding-left: 5rem;
  line-height: 2;
}


/* キャンセルポリシー
-------------------------------------------------- */
.ttl_question {
  margin: 2rem 0;
  font-size: 2.1rem;
  font-family: var( --font-main );
  letter-spacing: .1em;
}
.ttl_question::before {
  content: '\f059';
  margin-right: 1rem;
  font-size: 2.1rem;
  font-weight: 900;
  font-family: var( --fa-font );
  color: var( --sub-color );
}

#modal-cancel p {
  line-height: 1.75;
}

.cancel_txt {
  padding: 2rem;
  background-color: rgba( 231, 231, 231, 1 );
  border-radius: 10px;
}