@charset "utf-8";
/*
Theme Name: sophia template
Theme #
Description

/* スライドショー
--------------------------- */
@import url('https://fonts.googleapis.com/css2?family=Hina+Mincho&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');
body {color: #595757;font-family:'Noto Sans JP', sans-serif;background-repeat: repeat;font-weight: 400;background-color: #f0efe8;}
#wrapper{width:100%;overflow-x: hidden !important;}
#top {height: 100vh;height: calc(var(--vh, 1vh) * 100);}
.circle-icon {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0px 8px;
  background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);
  box-shadow: 0 4px 8px rgba(227, 0, 127, .55);
  
  /* スムーズに動かすための設定 */
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}

.circle-icon img {
  width: 20px;
  height: 20px; 
  object-fit: contain;
}

/* マウスオーバー時のスタイル */
.circle-icon:hover {
  transform: translateY(-5px); /* 5px上に上がる */
  background: #000000; /* 背景色を黒にする */
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.3); /* 影も黒ベースに変更して自然に */
}
.ab_t{position: absolute;top: 45%;transform: translateY(-50%);z-index: 1;left: 10%;}
.ab_t p {
    font-family: "Montserrat", sans-serif;
    font-style: normal;
    font-weight: 300;
    font-size: clamp(13px, 1.04vw, 20px);
    letter-spacing: .1em;
    color: #fff;
    margin: 0 0 14px;
    line-height:1.2
}
.ab_t h2 {
    font-size: clamp(32px, 3vw, 60px);
    letter-spacing: .06em;
    line-height: 1.2;
    color: #fff;
    margin: 0;
}
.ab_t2 {
    width: 100%;
  position: absolute;
  left: 0;
    top: calc(var(--vh, 1vh) * 100);
    transform: translateY(-100%);
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.3);
    z-index: 2;
    display: flex;
  justify-content: space-between;
  align-items: flex-end;
  flex-flow: wrap;
  padding: 60px 5%;
}
.ab_t2 h3 {
    font-size: clamp(16px, 1.4vw, 24px);
    line-height: 1.7em;
    color: #fff;
    letter-spacing:.06em;
}
.ab_t2 h4{
    font-family: "Montserrat", sans-serif;
    letter-spacing: 0.08em;
    font-size: clamp(16px, 1.4vw, 26px);
    color:#fff;
    display: inline-block;
}
.ab_t2 p{color:#fff;font-size:clamp(14px, 1vw, 18px);display: inline-block;padding: 0 8px;}
.ab_t2 h5 {
  color: #fff;
  font-size: clamp(14px, 1.08vw, 20.8px);
  display: inline-block;
  position: relative;
  
  /* テキストに線が重ならないよう、ホバー時の線の長さ（100px）＋ゆとり分の余白を確保 */
  padding-right:96px;
}

/* 矢印の「棒」（最初は長さ15px、太さ2px） */
.ab_t2 h5::after {
  content: '';
  position: absolute;
  /* 文字の右端から常に5px離した位置をスタート地点に固定 */
  left: calc(55% + 5px); 
  top: 55%;
  transform: translateY(-50%);
  width: 40px; /* 通常時の線の長さ */
  height: 1px; /* 線の太さ */
  background-color: #fff;
  transition: width .4s cubic-bezier(0.45, 0, 0.55, 1);
}

.ab_t2 h5:hover::after {
  width: 80px; 
}
.ab_t2 h5:hover::before {
  transform: scaleX(1); /* アンダーラインを中央から横いっぱいに広げる */
}

.rel_t1{width: 100%;position: relative;padding-bottom: clamp(300px, 26.041vw, 500px);}
.ab_box1{width: 35%;position:absolute;top:0;right:0;z-index: 11;}
.ab_box2{width: 40%;position:absolute;top:300px;top: clamp(300px, 20.833vw, 400px);right:10%;z-index: -1;}
.parallax-box {
  clip-path: inset(0px round 0px);
  width: 100%;
    height: 320px;
  height: clamp(320px, 21.875vw, 420px); 
  box-sizing: border-box;
  color: #fff;
  position: relative;overflow: hidden; 
}

.parallax-box2 {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
    top: 0; 
  z-index: -10;
  width: 120%;
  height: 120%;
  background-image: url("img/haikei2.jpg");
  background-size: cover;
  background-position: center;
transform-origin: center center; 
}
.parallax-box1 {
  clip-path: inset(0px round 0px);
  width: 100%;
    height: 420px;
  height: clamp(420px, 28.125vw, 540px); 
  box-sizing: border-box;
  color: #fff;
  position: relative;overflow: hidden; 
}

.parallax-box3 {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
    top: 0; 
  z-index: -10;
  width: 120%;
  height: 120%;
  background-image: url("img/haikei3.jpg");
  background-size: cover;
  background-position: center;
transform-origin: center center; 
}

.parallax-box4 {
  clip-path: inset(0px round 0px);
  width: 100%;
  height: 680px;
  box-sizing: border-box;
  color: #fff;
  position: relative;overflow: hidden; 
}

.parallax-box5 {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
    top: 0; 
  z-index: -10;
  width: 120%;
  height: 120%;
  background-image: url("img/haikei4.jpg");
  background-size: cover;
  background-position: center;
transform-origin: center center; 
}
.parallax-box6 {
  clip-path: inset(0px round 0px);
  width: 100%;
  height: 680px;
  box-sizing: border-box;
  color: #fff;
  position: relative;overflow: hidden; 
}

.parallax-box7 {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
    top: 0; 
  z-index: -10;
  width: 120%;
  height: 120%;
  background-image: url("img/haikei5.jpg");
  background-size: cover;
  background-position: center;
transform-origin: center center; 
}

.parallax-box8 {
  clip-path: inset(0px round 0px);
  width: 100%;
  height: 1200px;
  box-sizing: border-box;
  color: #fff;
  position: relative;overflow: hidden; 
}

.parallax-box9 {
  position: absolute;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
    top: 0; 
  z-index: -10;
  width: 120%;
  height: 120%;
  background-image: url("img/event/ev03.jpg");
  background-size: cover;
  background-position: center;
transform-origin: center center; 
}
.n_t{position: absolute;top: 50%;transform: translateY(-50%);z-index: 1;left: 0;}

.news_cat{padding: 4px 8px 6px 8px;border: 1px solid #fff;border-radius: 40px;width: 100%;font-size: 1.1rem;letter-spacing: 0.08em;line-height: 1.6em}
.news_cat2{padding: 4px 8px 6px 8px;border: 1px solid #fff;border-radius: 40px;width: 100%;font-size: 1.2rem;letter-spacing: 0.08em;line-height: 1.6em;background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);font-weight: 500;}

.news_cat3{padding: 4px 16px 7px 16px;border: 1px solid #fff;color: #fff;min-width: 144px; border-radius: 40px;font-size: 1.2rem;letter-spacing: 0.08em;line-height: 1.6em;background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);font-weight: 500;}

.news_cat4{padding: 6px 24px 8px 24px;border: 1px solid #595757;color: #595757;min-width: 96px; border-radius: 40px;font-size: 1.2rem;letter-spacing: 0.06em;line-height: 1.6em;font-weight: 500;}
.news_i{width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 12px;
    transition: all .3s;
    flex-shrink:0;
    box-shadow:0 4px 14px rgba(227, 0, 127, .55);
}
.f_cat{padding: 24px;border: 1px solid #fff;border-radius: 40px;background: #fff;margin-top: 8px;}

.f_cat {
  position: relative;
  top: 0;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: transform .4s cubic-bezier(0.45, 0, 0.55, 1), box-shadow .4s cubic-bezier(0.45, 0, 0.55, 1);
}

.f_cat:hover {
    transform: translateY(-8px);
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
}

.title-excerpt-box {
  display: flex;
  flex-direction: column;
  min-height: calc((18px * 1.8 * 2) + 4px + (14px * 1.8 * 3)); 
}

.title-excerpt-box .title1 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 8px;
  padding-bottom: 0 !important;
}


.title-excerpt-box .post-excerpt {
  flex-grow: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
    font-size: 14px;
  line-height: 1.8;
}
/*====================================================================
.accordion_one
====================================================================*/
.accordion_one a{color: #c0272d;text-decoration: underline;text-underline-offset: 4px;}
.accordion_one {margin: 0px auto 32px;}
.accordion_one .accordion_header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-radius: 8px;
  padding: 20px 60px 22px 24px;
  background: #fff;
  position: relative;
  cursor: pointer;
  transition-duration: 0.2s;
  font-size: 20px;
    letter-spacing: 0.08em;line-height: 1.8em;
  text-align: justify;
  color: #595757;
  width: 100%;
  box-sizing: border-box;
}

/* 「Q.」の文字の自動挿入 */
.accordion_one .accordion_header::before {
  content: 'Q.';
  font-weight: 400;
  color: #5f1985;
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  background: none;
  font-family: "Montserrat", sans-serif;
}

/* 回答エリア（インナー）の設定 */
.accordion_one .accordion_inner {
  box-sizing: border-box;
  background: #fff;
  border-radius: 0px 0px 8px 8px;
  padding: 0 24px 24px 24px;
  margin-top: -8px;
  font-size: 16px;
    letter-spacing: 0.08em;line-height: 1.8em;
  text-align: justify;
  color: #595757;
  display: none; 
}

/* 「A.」の文字の自動挿入（縦一列に揃える設定） */
.accordion_one .accordion_inner {
  padding-left: 60px; 
  position: relative;
}
.accordion_one .accordion_inner::before {
  content: 'A.';
  font-weight: 400;
  color: #5f1985;
  font-family: "Montserrat", sans-serif;
  position: absolute;
  left: 26px;
  top: 0px;
}


.accordion_one .accordion_header::after {
  content: '';
  position: absolute;
  top: 45%;
  right: 28px;
  
  width: 10px;
  height: 10px;
  border-bottom: 2px solid #595757;
  border-right: 2px solid #fff;
  border-right: 2px solid #595757;
  

  transform: translateY(-50%) rotate(45deg);

  transition: transform 0.3s cubic-bezier(0.45, 0, 0.55, 1);
  transform-origin: center center;
}
.accordion_one .accordion_header.open::after {
  transform: translateY(-50%) rotate(225deg);
}



.ind1{text-indent: -1em;padding-left: 1em;}

.boximg {position: relative;width: 100%;}
.boximg::before {content: "";display: block;padding-top: 66.66%; /* 比率を指定 */}
.box__content {position: absolute;top: 0;right: 0;bottom: 0;left: 0;}
.box__content img {width: 100%;height: 100%; vertical-align: bottom;object-fit: cover;border-radius:8px;}

.box__content1 {position: absolute;top: 0;right: 0;bottom: 0;left: 0;}
.box__content1 img {width: 100%;height: 100%; vertical-align: bottom;object-fit: cover;border-radius:8px;}

.boximg2 {position: relative;width: 100%;}
.boximg2::before {content: "";display: block;padding-top: 100%; /* 比率を指定 */}
.box__content2 {position: absolute;top: 0;right: 0;bottom: 0;left: 0;}
.box__content2 img {width: 100%;height: 100%; vertical-align: bottom;object-fit: cover;;border-radius:0px;}

.flex_box{display: flex;flex-flow: wrap;justify-content: flex-start;align-items: flex-start;}
.flex_box2{display: flex;flex-flow: wrap;justify-content: center;align-items: center;}
.flex_box3{display: flex;flex-flow: wrap;justify-content:space-between;align-items:flex-start;}
.flex_box4{display: flex;flex-flow: wrap;justify-content: center;align-items:flex-start;}
.flex_box5 {display: flex;flex-flow: wrap;justify-content: center;align-items: stretch;}
.flex_box5 > .col_3 {display: flex;flex-direction: column;}
.flex_box5 > .col_175 {width: 20.5%; display: flex;flex-direction: column;}
.flex_box5 > .col_88 {width: 6%; display: flex;flex-direction: column;justify-content: center;align-items: center;}
.flex_box5 .bg5 {width: 100%;height: 100%;display: flex;flex-direction: column;}
.flex_box5 .bg7 {width: 100%;height: 100%;display: flex;flex-direction: column;justify-content: center;}
.flex_box5 .m_btn {margin-top: auto;width: 100%;}
.flex_box5 .mgb1{margin-top: -72px;}

.flex2 {flex-flow: row-reverse;}

/* タブ */
.tab-list {display: flex;justify-content: center;flex-wrap: wrap;}
.tab-item {width: 24%;font-size: 1.3rem;padding: 16px 0;margin: 0 0.5% 24px; border-radius: 24px;letter-spacing: 0.1em;line-height: 1.6em;background: rgba(137,185,41,0);font-weight: 800;color: #89b929;text-align: center;cursor: pointer;transition: .4s ease-in-out;border: 1px solid #89b929;}
.tab-item:first-child {background: rgba(137,185,41,0);}
/* タブをクリックした時 ホバーした時 */
.tab-item:hover, .tab-item.is-active {color: #fff;background: rgba(137,185,41,1);}
/* パネル */
.panel-list {background-color: #fff;}
.panel-item {display: none;padding-top: 16px;width: 100%;background-color: #fff;}
.panel-item.is-active {display: block;animation: panel-show .9s ease-in-out forwards;}

/* パネル切り替えのアニメーション */
@keyframes panel-show {from {opacity: 0;}to {opacity: 1;}}

/*=============
top
=============*/
.table-scroll{overflow: auto; /*スクロールさせる*/white-space: nowrap; /*文字の折り返しを禁止*/width:100%; /*今回の設置を分かりやすくするためワザと狭い幅を指定。本来は不必要な指定です。*/}
/* 以下、スクロールバーを追加 */
.table-scroll::-webkit-scrollbar{height: 8px;margin-bottom: 16px;}
.table-scroll::-webkit-scrollbar-track{background: #333;}
.table-scroll::-webkit-scrollbar-thumb {background: #999;}

.accordion {position: relative;width: 100%;text-align: left;}
.accordion-title {color: #fff;cursor: pointer;}
.accordion-content {display: none;box-sizing: border-box;width: 100%;}
.accordion-content p {}
.accordion-title {position: relative;}
.accordion-title::after {border-right: solid 1px #fff;order-top: solid 1px #fff;content: "";display: block;height: 8px;position: absolute;right: 4px;top: 38%;transform: rotate(135deg);transition: transform .3s ease-in-out, top .3s ease-in-out;width: 8px;}
.accordion-title.open::after {top: 45%;transform: rotate(-45deg);}
.accordion-title {position: relative;}
.accordion-title::after {border-right: solid 1px #fff;border-top: solid 1px #fff;content: "";display: block;height: 8px;position: absolute;right: 4px;top: 38%;transform: rotate(135deg);transition: transform .3s ease-in-out, top .3s ease-in-out;width: 8px;}
.accordion-title.open::after {top: 45%;transform: rotate(-45deg);}

.dw_s{letter-spacing: 0.1em;font-size: 1.8rem;line-height:54px;}

.f_news1{display: flex;flex-wrap: wrap;}
.f_news2{display: flex;flex-direction: column;}
.f_under{margin-top: auto;}
.sh1{box-shadow: 0px 4px 8px #c9caca;background-color: rgba(255,255,255,1);border-radius: 8px; }
.sh2{border-radius: 8px 8px 0px 0px;}

.about-link {
  display: inline-block;
  text-decoration: none;
  transform: translateX(0);
  opacity: 1;
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1), opacity .4s cubic-bezier(0.45, 0, 0.55, 1);
}

.about-link:hover {transform: translateX(16px);opacity: 0.7; }

.plan1 { display: inline-block;font-size: clamp(13px, 1.2vw, 18px);color: #fff;
    background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);
    padding: 12px 42px 15px 42px;border-radius: 100px;letter-spacing: 0.08em;line-height: 1.8em;}
/* テキスト
--------------------------- */

.font_s {font-size: 1.1rem;letter-spacing: 0.08em;line-height: 1.9em;}
.font_s1 {font-size: 1.3rem;letter-spacing: 0.08em;line-height: 1.9em;}
.font_s2 {font-size: 1.4rem;letter-spacing: 0.08em;line-height: 1.8em;}
.font_s3 {font-size: 1.5rem;letter-spacing: 0.08em;line-height: 1.8em;}
.font_s3x {font-size: 1.8rem;letter-spacing: 0.08em;line-height: 2em;}
.font_s4 {font-size: 1.6rem;letter-spacing: 0.08em;line-height: 2.2em;}
.font_s4x,.font_s4xx {font-size: 1.8rem;letter-spacing: 0.06em;line-height: 2em;}
.font_s5 {font-size: 4rem;letter-spacing: 0.08em;line-height: 1.9em;}
.font_s6,.font_s6xx {font-size: 4rem;letter-spacing: 0.06em;line-height: 1.4em;font-weight: 300;}
.font_s6x {font-size: 2.8rem;letter-spacing: 0.06em;line-height: 1.4em;font-weight: 400;}
.font_s7 {font-size: 2.6rem;letter-spacing: 0.08em;line-height: 1.8em;}
.font_s7x {font-size: 2.2rem;letter-spacing: 0.08em;line-height: 1.8em;}
.font_s7xx {font-size: 2.8rem;letter-spacing: 0.08em;line-height: 1.8em;}
.font_s8 {font-size: 5.4rem;letter-spacing: 0.06em;line-height: 1.8em;font-weight: 400;}
.font_s8x {font-size: 6rem;letter-spacing: 0.06em;line-height: 1.8em;font-weight: 400;}

.f_b {font-weight: 900;}
.f_b2 {font-weight: 800;}
.f_b3 {font-weight: 600;}
.f_b4 {font-weight: 400;}

/* テキストカラー
--------------------------- */
.map-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9の比率を維持 (9 ÷ 16 = 0.5625) */
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.f_c1 {color: #5f1985;}
.f_c2 {color: #ffffff;}
.f_c3 {color: #000;}
.f_c4 {color: #445aa0;}
.f_c5 {color: #00417a;}
.op05{opacity: 0.2;}
.top_f1 {font-size: 2.0rem;line-height: 1.5em;letter-spacing: 0.1em;border-left: 4px solid #5f1985;padding-left: 16px;padding-bottom: 1px;}
.top_f2 {font-size: 2rem;line-height: 1.6em;letter-spacing: 0.1em;padding-left: 16px;padding: 2px 0px  3px 44px;background-position: left center;background-repeat: no-repeat;background-size:32px 32px;background-image:url("img/icon1.svg");color: #00a99d;font-weight: 800;}

#blog p {font-size: 1.4rem;letter-spacing: 0.08em;line-height: 1.8em; clear: both; padding-bottom: 16px;}
#blog2 p {font-size: 1.4rem;letter-spacing: 0.08em;line-height: 1.8em; clear: both; padding-bottom: 16px;}
#blog h6 {
  position: relative;
  margin: 8px auto 16px;
  display: flex;
  align-items: center;
  color: #5f1985;
  font-size: 2rem;letter-spacing: 0.1em;line-height: 1.8em;font-weight: 600;
  text-transform: uppercase;
}
#blog h6::before {
  content: '';
  display: inline-block;
  margin-right: 16px;
  width: 24px;
  height: 1px;
  background-color: #5f1985;
}
#blog h5 {
  position: relative;
  margin: 8px auto 16px;
  display: flex;
  align-items: center;
  color: #5f1985;
  font-size: 2rem;letter-spacing: 0.1em;line-height: 1.8em;font-weight: 600;
  text-transform: uppercase;
}
#blog h5::before {
  content: '';
  display: inline-block;
 margin-right: 16px;
  width: 24px;
  height: 1px;
  background-color:#5f1985;
}
#blog h4 {
  position: relative;
  margin: 8px auto 16px;
  display: flex;
  align-items: center;
  color:#5f1985;
  font-size: 2rem;letter-spacing: 0.1em;line-height: 1.8em;font-weight: 600;
  text-transform: uppercase;
}
#blog h4::before {
  content: '';
  display: inline-block;
  margin-right: 16px;
  width: 24px;
  height: 1px;
  background-color:#5f1985;
}
#blog h3 {
  position: relative;
  margin: 8px auto 16px;
  display: flex;
  align-items: center;
  color:#5f1985;
  font-size: 2rem;letter-spacing: 0.1em;line-height: 1.8em;font-weight: 600;
  text-transform: uppercase;
}
#blog h3::before {
  content: '';
  display: inline-block;
  margin-right: 16px;
  width: 24px;
  height: 1px;
  background-color:#5f1985;
}
#blog h2 {
  position: relative;
  margin: 8px auto 16px;
  display: flex;
  align-items: center;
  color:#5f1985;
  font-size: 2rem;letter-spacing: 0.1em;line-height: 1.8em;font-weight: 600;
  text-transform: uppercase;
}
#blog h2::before {
  content: '';
  display: inline-block;
  margin-right: 16px;
  width: 24px;
  height: 1px;
  background-color:#5f1985;
}
#blog h1 {
  position: relative;
  margin: 8px auto 16px;
  display: flex;
  align-items: center;
  color:#5f1985;
  font-size: 2rem;letter-spacing: 0.1em;line-height: 1.8em;font-weight: 600;
  text-transform: uppercase;
}
#blog h1::before {
  content: '';
  display: inline-block;
  margin-right: 16px;
  width: 24px;
  height: 1px;
  background-color:#5f1985;
}

#blog img{padding-top: 8px;padding-bottom: 8px;width: 100%;}
#blog strong,#blog p strong {font-weight: bold!important;}
#blog ul {list-style-type: disc; padding-bottom: 16px; clear: both;padding-left:1.5em;}
#blog ul li { padding-bottom: 8px;font-size: 1.6rem;letter-spacing: 0.1em;line-height: 2em;}
#blog ol {list-style-type: decimal; padding-left:2.5em;padding-bottom: 16px; clear: both;}
#blog ol li { padding-bottom: 8px;font-size: 1.6rem;letter-spacing: 0.1em;line-height: 2em;}
#blog ul.phot {width: 100%;letter-spacing: -0.4em;clear: both;}
#blog ul.phot li.in_b {  display: -moz-inline-box; /*for Firefox 2*/display: inline-block; /*for modern*/vertical-align: top;letter-spacing: normal; /* 文字間を通常に戻す */}
#blog blockquote{ padding: 16px 24px;;font-size: 1.6rem;letter-spacing: 0.1em;line-height: 1.8em; clear: both;background-color: rgba(239,239,239,0.5);margin-bottom: 16px;}
#blog blockquote p{ padding-bottom: 0px;}
#blog a, #blog a:link, #blog a:visited  {color: #C40D23;text-decoration: none;text-decoration:underline;font-weight: 600;} 
#blog table {border: none;}
#blog table {width:100%;table-layout: inherit;white-space: inherit;-webkit-overflow-scrolling: touch;margin-bottom: 24px;}
#blog table th {background-color: #eeeeee;}
#blog table td {background-color: #ffffff;}
#blog table th, #blog table td {padding: 8px; border: 1px solid #ddd;}
#blog em {font-style: italic;}

#cat li:first-child {padding-top: 8px;}
#cat li {font-size: 1.5rem;line-height: 56px;letter-spacing: 0.05em;border-bottom: 1px dashed #5f1985;font-weight: 700;}
#cat li:last-child {border-bottom: none;padding-bottom: 0px;}

.author-box {
    border-radius: 8px; /* 全体の角丸 */
    overflow: hidden;
    margin: 40px 0 0 0;
    border: 1px solid #595757;
}
.author-box-title {background-color: #2b2b2a;color: #ffffff; font-weight: bold;padding: 14px 24px 18px;}
/* テキストフォント
--------------------------- */
.f_f1 {font-family: "Hina Mincho", serif;font-weight: 400;font-style: normal;}
.f_f2 {font-family: "Montserrat", sans-serif;font-optical-sizing: auto;font-style: normal;}
embed,iframe,object{max-width: 100%;}
br.sp { display: inline; }
br.pc { display: none; }

/* リンクカラー
--------------------------- */
a, a:link, a:visited  {color: #5f1985;text-decoration: none;} 
.w a, .w a:link, .w a:visited  {color: #ffffff;text-decoration: none;} 
.b a, .b a:link, .b a:visited  {color: #595757;text-decoration: none;} 
.me a, .me a:link, .me a:visited  {color: #fff;text-decoration: underline;text-underline-offset: 1px;} 
.l a, .l a:link, .l a:visited  {color: #475fab;ext-decoration: underline;text-underline-offset: 1px;} 
.op a:hover, .op a:hover img, .op a:hover em, .op a:hover p {opacity: 0.6;filter: alpha(opacity=60);-webkit-transition: 0.4s ease-in-out;-moz-transition: 0.4s ease-in-out;-o-transition: 0.4s ease-in-out;transition: 0.4s ease-in-out;}
a:hover, a:hover img, a:hover em, a:hover p {opacity: 0.95;filter: alpha(opacity=95);-webkit-transition: 0.4s ease-in-out;-moz-transition: 0.4s ease-in-out;-o-transition: 0.4s ease-in-out;transition: 0.4s ease-in-out;}
.os a:hover img {opacity: 0.2;filter: alpha(opacity=20);}

.outer{display: table;width: 100%;height: 100%;text-align: center;}
.inner{display: table-cell;vertical-align: middle;text-align:center;}
.inner_t{display: table-cell;vertical-align: top;text-align:center;}

.googlemaps iframe,
.googlemaps object,
.googlemaps embed {
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

.tb01 table {border-collapse: collapse;margin: 0 auto;padding: 0;width: 100%;table-layout: fixed;}
.tb01 table tr { background-color: #fff;padding: .35em;border: 1px solid #3e3a39;}
.bkg{background-color: #f0f8f1;}
.tb01 table th{padding:24px; border-right: 1px solid #3e3a39;vertical-align:middle;}
.tb01 table td {padding:24px;border-right: 1px solid #3e3a39;text-align: justify;vertical-align:middle;}
.tb01 table th {}
.tb01 table thead tr{color:#3e3a39;}
.tb01 table tbody th {border-right: 1px solid #3e3a39;}
.tb01 .btn:hover{
  background: #fff;
  border: 2px solid #e81010;
  color: #e81010;
  transition: .2s;
}
.tb01 table .btnarea td {
  padding: .2em .5em;
  border-right:none
}
@media screen and (max-width: 1000px) {
.tb01 table {width:880px;}
.tb01{overflow-x: scroll;}
}
/* スライドショー
--------------------------- */
html, body { width: 100%;height: 100%;margin: 0px;padding: 0px;}
body > .tophaikei {height: auto;background-position: left bottom;background-size: cover;background-repeat: no-repeat;}
.tophaikei {width: 100%;height: 100%;}
.h_haikei {width: 100%;height: 100%;background-position: center center ;background-size: cover;background-repeat: no-repeat;}

.d_no {display: none;}
.d_no_m {display: block;}
.d_no_h{display: block;}

.fix_h {position: fixed;z-index: 8000;top:0;background-color: rgba(240,239,232,1);}
.fix_h1 {position: fixed;z-index: 8000;top:0;transition: .3s;background-color: rgba(240,239,232,0);}
.fix_f {display: none;}

.is-show{background-color: rgba(240,239,232,1);}


/* アコーディオン
--------------------------- */
.acd-check{display: none;}
.acd-label{background: #EA6188;color: #fff;display: block;padding: 8px 24px;position: relative;}
.acd-label:after{box-sizing: border-box;content: '▼';display: block;height: auto;padding: 8px 0px;position: absolute;right: 24px;top: 0px;}
.acd-content{display: block;height: 0;opacity: 0;padding: 0 16px;transition: .5s;visibility: hidden;background-color: rgba(164,139,120,0.1);margin-bottom: 24px;}
.acd-check:checked + .acd-label:after{content: '▲';}
.acd-check:checked + .acd-label + .acd-content{height: auto;opacity: 1;padding: 6px 24px 16px;visibility: visible;}


/* ライン
--------------------------- */
.line_b1 {border-bottom: 1px dashed #fff;}
.line_b2 {border-bottom: 1px solid #5f1985;}
.line_b3 {border-bottom: 1px solid #595757;}
.line_b4 {border-bottom: 2px dotted #595757;}
.line_b5 {
    display: block;
    width: 60px;
    height: 2px;
    margin: 16px auto 16px;
    background:linear-gradient(90deg, #e3007f 0%, #5f1985 100%)
}
.line_b6 {border-bottom: 1px solid #999999;}
.line {position: relative;}
.line::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: clamp(160px, 18vw, 320px);
    height: 2px;
    background: #e3007f;
    background-image:none;
}

.line_t1 {border-top: 1px dashed #3e3a39;}
.line_o1 {border: 1px solid #ffffff;}
.line_o2 {border: 1px solid #b5b5b6;}
.line_o3 {border: 1px solid #b5b5b6;padding: 8px 32px 10px 32px;}
.line_o4 {border: 1px solid #b5b5b6;padding: 48px 64px;border-radius: 16px;margin-bottom: 24px;}
.line_tb1 {border-bottom: 1px solid #595757;border-top: 1px solid #595757;}
.under_l a {position: relative; /*アンダーラインの位置を決めるための基準 */}
.h_ab{position: absolute;z-index: 100;top:0;}
.under_l a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #fff;
bottom: -1px;               /*アンダーラインがaタグの下端から現れる*/
transform: scale(0, 1);     /*アンダーラインの縮尺比率。ホバー前はx方向に0*/
transform-origin: left top; /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の左端*/
transition: transform 0.3s; /*変形の時間*/
}

.under_l a:hover::after {transform: scale(1, 1);}


/* ナビメニュー
--------------------------- */
.menu { position: relative;width: 100%;max-width: 1200px; margin: 0 auto;}
.menu > li {display: inline-block;font-weight: 500;font-size: 1.3rem;letter-spacing: 0.1em;}
.menu > li:last-child {}
.menu > li a {display: block;color: #212222;}
.menu > li a.wh {display: block;color: #322b29;}
.menu > li a:hover {}
ul.menu__second-level {visibility: hidden;opacity: 0;z-index: 1;}
ul.menu__third-level {visibility: hidden;opacity: 0;}
ul.menu__fourth-level {visibility: hidden;opacity: 0;}
.menu > li:hover {-webkit-transition: all .5s;transition: all .5s;}
.menu__second-level li {background-color: rgba(245,245,245,0.95);float: left;border-top: 3px solid #fff;font-size: 1.2rem;color: #212222;width: 100%;line-height: 48px;letter-spacing: 0.08em;box-sizing: border-box;padding: 0px 16px;text-align: center;}
.menu__second-level li:first-child {border-top: 0px solid #3E3A39;}
.menu__second-level li a {color: #212222;font-weight: 700;}
.menu__third-level li {border-top: 1px solid #000;}
.menu__second-level li a:hover {color: #727171;}
.menu__third-level li a:hover {background: #fff;}
.menu__fourth-level li a:hover {background: #fff;}

li.menu__single ul.menu__second-level {position: absolute;top: 40px;width: 200px;-webkit-transition: all .2s ease;transition: all .2s ease;}
li.menu__single:hover ul.menu__second-level {top: 40px;visibility: visible;opacity: 1;}
li.menu__mega ul.menu__second-level {left:90px;position: absolute;top: 40px;box-sizing: border-box;width: 94%;padding: 16px 3%;background-color: rgba(239,239,239,0.95);-webkit-transition: all .2s ease;transition: all .2s ease;}
li.menu__mega:hover ul.menu__second-level {top: 40px;visibility: visible;opacity: 1;}
li.menu__mega ul.menu__second-level > li {float: left;width: 25%;border: none;text-align: center;padding-bottom: 16px;}

/* 背景
--------------------------- */

.s_bg{height: 440px;width: 100%;}
.s_bg1{background-position: center center;background-repeat: no-repeat;background-size:cover;background-image:url("img/haikei1.jpg");}

.bg1 {position: relative;z-index: 1;}
.bg1::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
    background-image: url("img/haikei1.png");
  background-repeat: no-repeat;
  
  /* 【先ほどの位置指定を合体】右から+100px、上から-100pxに配置 */
  background-position: calc(100% + 100px) -100px;
  background-size: 25%;
  /* ★ここで透過度を指定（0.5 = 50%の透明度。好みに合わせて0.1〜0.9で調整） */
  opacity: 0.5; 
}

.bg2 {background-color: rgba(255,255,255,1);}
.bg3 {position: relative;z-index: 1;}
.bg3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
    background-image: url("img/haikei1.png");
  background-repeat: no-repeat;
  background-position: calc(100% + 100px) 0px;
  background-size: 20%;
  /* ★ここで透過度を指定（0.5 = 50%の透明度。好みに合わせて0.1〜0.9で調整） */
  opacity: 0.8; 
}

.bg3_2 {position: relative;z-index: 1;}
.bg3_2::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0; /* 基準をleftに変更 */
  z-index: -1;
  width: 100%;
  height: 100%;
  background-image: url("img/haikei1.png");
  background-repeat: no-repeat;
  background-position: calc(0% - 100px) 0px;
    background-size: 20%;
  opacity: 0.8; 
}
.bg3_3 {position: relative;z-index: 1;}
.bg3_3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
    background-image: url("img/haikei1.png");
  background-repeat: no-repeat;
  background-position: calc(100% + 100px) 0px;
  background-size: 30%;
  /* ★ここで透過度を指定（0.5 = 50%の透明度。好みに合わせて0.1〜0.9で調整） */
  opacity: 1; 
}
.bg4 {background-color: rgba(240,239,232,1);border-radius: 24px;padding: 64px;box-sizing: border-box;box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);}
.pd_lr4h{
    padding-left:32px;
    padding-left: clamp(8px, 2.143vw - 9.143px, 32px);
    padding-right:32px;
    padding-right: clamp(8px, 2.143vw - 9.143px, 32px);
    padding-bottom: clamp(16px, 4.286vw - 18.286px, 64px);
}
@media screen and (max-width: 1400px) {
    .bg4 {padding: 48px;}
}
@media screen and (max-width: 1100px) {
    .bg4 {padding: 32px;}
}
.bg5 {background-color: rgba(255,255,255,1);border-radius: 16px;padding: 40px;box-sizing: border-box;box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);}
.bg5_2 {background-color: rgba(255,255,255,1);border-radius: 16px;padding: 64px;box-sizing: border-box;box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);}
.bg6 {background: #5e2590;color: #fff; padding: 22px 16px 24px;box-sizing: border-box;border-radius: 8px;}
.bg6_2 {background: #e3007f;color: #fff; padding: 22px 16px 24px;box-sizing: border-box;border-radius: 8px;}

.bg7 {background-color: rgba(240,239,232,1);border-radius: 8px;padding: 32px;box-sizing: border-box;}
.bg8 {background-color: rgba(137,185,41,0.1);}


.wp-pagenavi {clear: both;text-align:center;}
.wp-pagenavi a, .wp-pagenavi span {
	color: #5f1985;
	background-color: #FFF;
	border: solid 1px #5f1985!important;
	padding: 5px 10px 8px 10px!important;
	margin: 0 4px;
	white-space: nowrap;
	-moz-border-radius: 8px;
	-webkit-border-radius: 8px;
	border-radius: 8px;
	text-align: center;
	text-decoration:none;
}
.wp-pagenavi a:hover{
    color:#FFF; 
    background-color:#5f1985; 
    border-color:#5f1985!important;
    }
.wp-pagenavi span.current{
	color: #FFF;
	background-color: #5f1985;
	border-color: #5f1985;
	font-weight: bold;
    }

/* ロールオーバー
--------------------------- */
.c-btn{float: left;padding-right: 32px;}
.c-btn a{background:linear-gradient(90deg, #e3007f 0%, #5f1985 100%);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius: 0px;padding: 12px 16px 16px 16px;letter-spacing: 0.06em;line-height: 2em;font-size: 1.8rem;margin: 0 auto;display:block;width: 240px;border: 1px solid #fff;box-shadow: 0 4px 16px rgba(227, 0, 127, .18);}
.c-btn a::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%; /* ボタン全体を確実に覆うために大きめのサイズに設定 */
  padding-top: 150%; /* 正方形を作る */
  background-color: #000000;
  border-radius: 50%; /* 綺麗な円にする */
  
  /* 【重要】真ん中に配置しつつ、最初はサイズを「0（見えない状態）」にする */
  transform: translate(-50%, -50%) scale(0);
  
  /* ご提示いただいたイージングで0.6秒かけて変化 */
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.c-btn a:hover {cursor: pointer;}
.c-btn a:hover::after { transform: translate(-50%, -50%) scale(1);box-shadow: 0 8px 24px rgba(227, 0, 127, .32);}

.c-btn2{float: left;}
.c-btn2 a{background:hsla(0, 0%, 100%, .2);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius: 0px;padding: 12px 16px 16px 16px;letter-spacing: 0.06em;line-height: 2em;font-size: 1.8rem;margin: 0 auto;display:block;width: 240px;border: 1px solid #fff;box-shadow: 0 4px 16px rgba(227, 0, 127, .18);}
.c-btn2 a::after {
 content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%; /* ボタン全体を確実に覆うために大きめのサイズに設定 */
  padding-top: 150%; /* 正方形を作る */
  background-color: #000000;
  border-radius: 50%; /* 綺麗な円にする */
  
  /* 【重要】真ん中に配置しつつ、最初はサイズを「0（見えない状態）」にする */
  transform: translate(-50%, -50%) scale(0);
  
  /* ご提示いただいたイージングで0.6秒かけて変化 */
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.c-btn2 a:hover {cursor: pointer;}
.c-btn2 a:hover::after {transform: translate(-50%, -50%) scale(1);box-shadow: 0 8px 24px rgba(227, 0, 127, .32);}

.c-btn3{float: left;}
.c-btn3 a{background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius: 100px;padding: 8px 16px 11px 16px;letter-spacing: 0.06em;line-height: 2em;font-size: 1.8rem;margin: 0 auto;display:block;width: 240px;border: 1px solid #fff; font-weight: 300;box-shadow: 0 4px 16px rgba(227, 0, 127, .18);}
.c-btn3 a::after {
 content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%; /* ボタン全体を確実に覆うために大きめのサイズに設定 */
  padding-top: 150%; /* 正方形を作る */
  background-color: #000000;
  border-radius: 50%; /* 綺麗な円にする */
  
  /* 【重要】真ん中に配置しつつ、最初はサイズを「0（見えない状態）」にする */
  transform: translate(-50%, -50%) scale(0);
  
  /* ご提示いただいたイージングで0.6秒かけて変化 */
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.c-btn3 a:hover {cursor: pointer;}
.c-btn3 a:hover::after {transform: translate(-50%, -50%) scale(1);box-shadow: 0 8px 24px rgba(227, 0, 127, .32);}

.c-btn4{margin: 0 auto;}
.c-btn4 a{background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius: 100px;padding: 6px 16px 8px 16px;letter-spacing: 0.06em;line-height: 2em;font-size: 1.4rem;margin: 0 auto;display:block;width: 160px;border: 1px solid #fff; font-weight: 300;box-shadow: 0 4px 16px rgba(227, 0, 127, .18);}
.c-btn4 a::after {
 content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%; /* ボタン全体を確実に覆うために大きめのサイズに設定 */
  padding-top: 150%; /* 正方形を作る */
  background-color: #000000;
  border-radius: 50%; /* 綺麗な円にする */
  
  /* 【重要】真ん中に配置しつつ、最初はサイズを「0（見えない状態）」にする */
  transform: translate(-50%, -50%) scale(0);
  
  /* ご提示いただいたイージングで0.6秒かけて変化 */
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.c-btn4 a:hover {cursor: pointer;}
.c-btn4 a:hover::after {transform: translate(-50%, -50%) scale(1);box-shadow: 0 8px 24px rgba(227, 0, 127, .32);}

.c-btn5{margin: 0 auto;}
.c-btn5 a{background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);color: #fff;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius: 100px;padding: 10px 16px 12px 16px;letter-spacing: 0.06em;line-height: 2em;font-size: 1.6rem;margin: 0 auto;display:block;width: 280px;border: 1px solid #fff; font-weight: 500;box-shadow: 0 4px 16px rgba(227, 0, 127, .18);}
.c-btn5 a::after {
 content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%; /* ボタン全体を確実に覆うために大きめのサイズに設定 */
  padding-top: 150%; /* 正方形を作る */
  background-color: #000000;
  border-radius: 50%; /* 綺麗な円にする */
  
  /* 【重要】真ん中に配置しつつ、最初はサイズを「0（見えない状態）」にする */
  transform: translate(-50%, -50%) scale(0);
  
  /* ご提示いただいたイージングで0.6秒かけて変化 */
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.c-btn5 a:hover {cursor: pointer;}
.c-btn5 a:hover::after {transform: translate(-50%, -50%) scale(1);box-shadow: 0 8px 24px rgba(227, 0, 127, .32);}

.fbtn{margin: 0 8px;display: inline-block;}
.fbtn a{background-color: #fff;color: #595757;text-align: center;overflow: hidden;position: relative;z-index: 1;border-radius: 100px;padding: 8px 16px 10px 16px;letter-spacing: 0.06em;line-height: 2em;font-size: 1.4rem;margin: 0 auto;display:block;width: 100%;border: 0px solid #595757; font-weight: 500;}
.fbtn a::after {
 content: '';
  position: absolute;
    color: #fff;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 150%; /* ボタン全体を確実に覆うために大きめのサイズに設定 */
  padding-top: 150%; /* 正方形を作る */
  background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);
  border-radius: 50%; /* 綺麗な円にする */
  
  /* 【重要】真ん中に配置しつつ、最初はサイズを「0（見えない状態）」にする */
  transform: translate(-50%, -50%) scale(0);
  
  /* ご提示いただいたイージングで0.6秒かけて変化 */
  transition: transform .3s cubic-bezier(0.45, 0, 0.55, 1);
}
.fbtn a:hover {cursor: pointer;color: #fff;}
.fbtn a:hover::after {transform: translate(-50%, -50%) scale(1);}

.fbtn.is-active1 a{background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);color: #fff;border: 0px solid #fff;}
@media screen and (max-width: 800px) {
    .pd_lr4h{padding-left:8px;padding-right:8px;}
.accordion_one .accordion_header {font-size: 16px;letter-spacing: 0.06em;line-height: 1.6em;}
.accordion_one .accordion_inner {font-size: 14px;letter-spacing: 0.06em;line-height: 1.6em;}   
.ab_t{position: absolute;top: 35%;left: 50%;transform: translate(-50%, -50%);z-index: 1;width: 100%;}
.ab_t p {margin: 0 0 8px;}
.ab_t h2 {font-size: 32px;}
.ab_t2 {padding:32px 5%;}
.ab_t2 h3 {font-size: clamp(14px, 0.9375vw, 16px);}

.ab_box1{width: 70%;position:absolute;top:0;right:0;z-index: 11;}
.ab_box2{width: 80%;position:absolute;top:140px;right:20%;}
.rel_t1{padding-bottom: 40px;padding-top: 380px;}
.parallax-box {height: 160px;}
.parallax-box1 {height: 200px;}
.parallax-box4 {height: 420px;}
.parallax-box6 {height: 420px;}
.parallax-box8 {height: 600px;}
.line::after {left: 50%;transform: translateX(-50%);width: 120px;}
.line_o4 {border: 1px solid #b5b5b6;padding: 24px 24px;border-radius: 16px;margin-bottom: 24px;}
    
.bg1::before {background-position: calc(100% + 32px) -32px;background-size: 45%;opacity: 0.5;}   
.bg4 {padding: 32px;}
.bg5 {padding: 24px;}
.bg5_2 {padding: 32px;}   
.font_s6 {font-size: 3.2rem;}
.font_s6xx {font-size: 2.4rem;line-height: 1.8em;}
.font_s3x {font-size: 1.6rem;letter-spacing: 0.06em;line-height: 2em;}
.font_s4 {font-size: 1.4rem;letter-spacing: 0.06em;line-height: 2em;}
.font_s4x {font-size: 1.6rem;line-height: 1.8em;}
.font_s4xx {font-size: 1.4rem;line-height: 1.8em;}
.font_s5 {font-size: 3rem;letter-spacing: 0.06em;line-height: 1.7em;}
.font_s7 {font-size: 2rem;letter-spacing: 0.06em;line-height: 1.8em;}
.font_s7x {font-size: 1.6rem;letter-spacing: 0.06em;line-height: 1.8em;}
.font_s3 {font-size: 1.4rem;}
.font_s6x {font-size: 2.2rem;letter-spacing: 0.06em;}
.font_s8 {font-size: 3rem;letter-spacing: 0.04em;line-height: 1.6em;}

    
.flex_box5 > .col_175 {width: 100%; display: flex;flex-direction: column;}
.flex_box5 > .col_88 {width: 100%; display: flex;flex-direction: column;justify-content: center;align-items: center;}
.rotate-90 {transform: rotate(90deg);}   
.c-btn{float: left;width: 50%;box-sizing: border-box;padding-right: 16px;padding-bottom: 32px;}
.c-btn a{padding: 10px 16px 14px 16px;font-size: 1.3rem;width: 100%;margin: 0 5%;}
.c-btn2{width: 50%;box-sizing: border-box;padding-left: 16px;padding-bottom: 32px;}
.c-btn2 a{padding: 10px 16px 14px 16px;;font-size: 1.3rem;display:block;width: 100%;}
.c-btn5 a{font-size: 1.5rem;width: 240px;}
.tab-list {flex-wrap: wrap;}
.tab-item { width: 48%;font-size: 1.2rem;padding: 12px 0;margin-bottom: 16px;}
.panel-item {display: none;padding-top: 16px;}
    
.d_no {display: block;}
.d_no_m {display: none;}
.d_no_h{display: none;}   
br.sp { display: none; }
br.pc { display: inline; }

}
@media screen and (max-width: 600px) {
    .fix_f {display: block; position: fixed;z-index: 880;bottom:-100px;right: 0px; width: 100%;transition: bottom 0.3s ease;background: linear-gradient(90deg, #e3007f 0%, #5f1985 100%);}
    .flex-container {display: flex;width: 100%;gap: 24px;align-items: center;}
    .flex-item {flex: 1;}
    .flex-item-last {flex: 3;}
    .is-show2 {bottom: 0;}
}
@media screen and (max-width: 340px) {}
