/* ========================================
サブページ全体
======================================== */

/* 本文強制 */
.sub-main,
.sub-main * {
  font-size: 16px !important;
  line-height: 1.8 !important;
}

/* サイド＋メイン */
.sub-wrap {
  max-width: 1180px;
  margin: 0 auto;

  display: flex;
  gap: 30px;

  padding: 40px 20px;
}

/* サイド */
.sub-side {
  width: 27%;
}

/* メイン */
.sub-main {
  width: 73%;
}


/* ========================================
スマホ
======================================== */
@media (max-width: 768px) {

  .sub-wrap {
    flex-direction: column-reverse;
    padding: 25px 15px;
    gap: 25px;
  }

  .sub-side,
  .sub-main {
    width: 100%;
  }

  .sub-main,
  .sub-main * {
    font-size: 15px !important;
    line-height: 1.9 !important;
  }

}

/**************************************
 * 在校生の声
 * ************************************/
/* ===== 全体 ===== */
.voice-box {
  border: 2px solid #ccc;
  padding: 20px 15px;
  margin-bottom: 40px;
  background: #fff;
}

/* ===== 画像（400×300固定） ===== */
.voice-img {
  text-align: center;
  margin-bottom: 20px;
}

.voice-img img {
  width: 240px;
  height: auto;
  object-fit: cover;
}

/* ===== 名前 ===== */
.voice-name {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

/* ===== タイトル ===== */
.voice-title {
  text-align: center;
  margin-bottom: 20px;
  font-weight : 600;
  font-size : 20px!important;
  line-height : 30px!important;
  color : #cc0000
}

/* ===== 質問ボックス（ここがポイント） ===== */
.voice-q {
  border: 2px solid #333;
  background : #ecfafb;
  padding: 12px 15px;
  margin-top: 25px;
  margin-bottom: 10px;
  font-weight: bold;
}

/* ===== 回答 ===== */
.voice-a {
  padding-left: 5px;
  margin-bottom: 10px;
  line-height: 1.8;
}

/* ===== 動画 ===== */
.voice-movie {
  display: flex;
  gap: 30px;
}

.voice-movie-left {
  width: 50%;
}

.voice-movie-left iframe {
  width: 100%;
  height: 280px;
}

.voice-movie-right {
  width: 50%;
}

/* ===== スマホ ===== */
@media (max-width: 768px) {

  .voice-img img {
    width: 60%;
    height: auto;
  }

  .voice-movie {
    flex-direction: column;
  }

  .voice-movie-left,
  .voice-movie-right {
    width: 100%;
  }
}

/******************************
 * スクールについて
 * ****************************/
.about-school-intro{
    margin: 0px auto;
}

.about-school-intro-inner{
    max-width: 1080px;
    margin: 0 auto;
    padding: 0px;
    border: 3px solid #7ed0ef;
    background: #f3f9fc;

    display: flex;
    align-items: center;
    gap: 25px;
}

.about-school-intro-img img{
    width: 120px;
    display: block;
}

.about-school-intro-title{
    font-size: 34px!important;
    font-weight: bold;
    color: #3cb5eb;
    line-height: 1.2;
    margin-bottom: 0px;
}

.about-school-intro-sub{
    font-size: 22px!important;
    font-weight: bold;
    color: #222;
    line-height: 1.5;
    margin-bottom : 0
}
@media screen and (max-width: 899px){
.about-school-intro-img img{
    width: 150px;
    display: block;
}

.about-school-intro-title{
    font-size: 24px!important;
    font-weight: bold;
    color: #3cb5eb;
    line-height: 1.2;
    margin-bottom: 0px;
}

.about-school-intro-sub{
    font-size: 17px!important;
    font-weight: bold;
    color: #222;
    line-height: 1.5!important;
    margin-bottom : 0
}
}

/* ========================================
POINT見出し PC
======================================== */
.about-school-point-heading{
  max-width:1080px;
  margin:0px auto 30px;
}

.about-school-point-ribbon{
  position:relative;
  background : #e0fcfb;
  min-height:70px;
  display:flex;
  align-items:center;
  padding:0 25px 0 145px;
}

.about-school-point-label{
  position:absolute;
  left:0;
  top:0;
  width:120px;
  height:70px;
  background:#27b7e8;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}

.about-school-point-label::after{
  content:"";
  position:absolute;
  top:0;
  right:-24px;
  width:0;
  height:0;
  border-top:35px solid transparent;
  border-bottom:35px solid transparent;
  border-left:25px solid #27b7e8;
}

.about-school-point-label strong{
  color:#fff;
  font-size:20px!important;
  font-weight:bold;
  line-height:1;
}

.about-school-point-title{
  margin:0;
  padding:0;
  font-size:24px!important;
  font-weight:bold;
  line-height:1.4;
  color:#222;
  padding-left : 5px;
}

/* ========================================
スマホ
======================================== */
@media screen and (max-width:899px){
  .about-school-point-heading{
    margin:0px auto 25px;
  }


  .about-school-point-ribbon{
    display:block;
    text-align:center;
    background:#e0fcfb;
    padding:18px 15px;
    min-height:auto;
  }

  .about-school-point-label{
    position:static;
    width:auto;
    height:auto;
    display:inline-block;
    padding:0px 14px;
    margin:0 auto;
    border-radius : 30px;
  }

  .about-school-point-label::after{
    display:none;
  }

  .about-school-point-label strong{
    font-size:13px!important;
    line-height:1.4;
  }

  .about-school-point-title{
    font-size:22px!important;
    line-height:1.5;
    text-align:center;
  }
}
/* ========================================
講師紹介
======================================== */
.about-school-teacher{
    margin: 20px auto;
}

.about-school-teacher-inner{
    max-width:1080px;
    margin:0 auto;

    display:flex;
    align-items:flex-start;
    gap:40px;
}

.about-school-teacher-text{
    flex:1;
}

.about-school-teacher-img{
    flex:none;
}

.about-school-teacher-img img{
    width:auto;
    max-width:100%;
    display:block;
}

@media (max-width: 899px){

    .about-school-teacher-inner{
        display:block;
    }

    .about-school-teacher-img{
        margin-bottom:20px;
        text-align:center;
    }

    .about-school-teacher-img img{
        width:100%;
        max-width:100%;
        height:auto;
    }

}

/* ========================================
具体的なポイント
======================================== */
.about-school-detail{
    max-width:1080px;
    margin:40px auto;
}

.about-school-check-list{
    list-style:none;
    margin:0;
    padding:0;
}

.about-school-check-list li{
    position:relative;
    padding:20px 0 5px 35px;
    border-bottom:1px dashed #cfcfcf;
    font-size:18px!important;
    line-height:1.7!important;
    color:#222;
}

.about-school-check-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:32px;

    width:18px;
    height:10px;

    border-left:5px solid #3cb5eb;
    border-bottom:5px solid #3cb5eb;

    transform:rotate(-45deg);
}
/* ========================================
卒業後のフォロー
======================================== */
.folow-section-heading{
  max-width:1080px;
  margin:0px auto 30px;
}
.follow-section{
    margin: 20px auto;
}

.follow-section-inner{
    max-width:1080px;
    margin:0 auto;
padding : 10px;
    display:flex;
    align-items:flex-start;
    gap:40px;
	border : 3px double #27b7e8;
  margin-bottom : 15px;
}


.follow-section-text{
    flex:1;
}

.follow-name{
  font-size : 20px!important;
  font-weight : 600;
  color : #27b7e8;
  margin-bottom : 10px;
}

.follow-section-img{
    flex:none;
}

.follow-section-img img{
    width:auto;
    max-width:100%;
    display:block;
}

@media (max-width: 899px){

    .follow-section-inner{
        display:block;
    }

    .follow-section-img{
        margin-bottom:20px;
        text-align:center;
    }

    .follow-section-img img{
        width:100%;
        max-width:100%;
        height:auto;
    }
.about-school-detail-title{
    font-size:22px!important;
    color:#3cb5eb;
    font-weight:bold;
    border-bottom:1px solid #7ed0ef;
    padding-bottom:0px;
    margin-bottom:20px;
}
.about-school-check-list li{
    position:relative;
    padding:20px 0 5px 35px;
    border-bottom:1px dashed #cfcfcf;
    font-size:16px!important;
    line-height:1.5!important;
    color:#222;
}
}

/* ========================================
スマホ
======================================== */
@media screen and (max-width: 899px){
.about-school-intro-img img{
    width: 150px;
    display: block;
}

.about-school-intro-title{
    font-size: 24px!important;
    font-weight: bold;
    color: #3cb5eb;
    line-height: 1.2;
    margin-bottom: 0px;
}

.about-school-intro-sub{
    font-size: 17px!important;
    font-weight: bold;
    color: #222;
    line-height: 1.5!important;
    margin-bottom : 0
}
}

/**********************
 * 入校までの流れ
 * ********************/
.flow_design {
  max-width: 820px !important;
  width: 100%;
  margin: 0 auto;
}

.flow {
  padding-left: 0;
}

.flow > li {
  list-style-type: none;
  border: 2px solid #4D9BC1;
  padding: 20px;
  border-radius: 20px;
}

.flow > li:not(:last-child) {
  margin-bottom: 40px;
  position: relative;
}

.flow > li:not(:last-child)::after {
  content: '';
  position: absolute;
  border: 20px solid transparent;
  width: 0;
  height: 0;
  bottom: -53px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-top-color: #4D9BC1;
}

.flow > li dl dt {
  font-size: 1.3em!important;
  font-weight: bold;
  border-bottom: 2pt dashed #ccc;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}

.flow > li .icon10 {
  color: #4D9BC1;
  margin-right: 0.5em;
}

.flow > li dl dd {
  margin: 0;
}

/* ========================================
同業者からの推薦
======================================== */
.suisen-teacher{
    margin: 0px auto;
}

.suisen-teacher-inner{
    max-width:1080px;
    margin:0 auto;

    display:flex;
    align-items:flex-start;
    gap:40px;
	border : 2px solid #f4f4f4;
	padding : 15px;
	margin-bottom : 15px;
}

.suisen-name{
	font-size : 18px!important;
	font-weight : 600;
}
.suisen-in-name{
	font-size : 16px;
	font-weight : 600;
	margin : 10px 0px;
}

.suisen-teacher-text{
    flex:1;
}

.suisen-teacher-img{
    flex:none;
}

.suisen-teacher-img img{
    width:auto;
    max-width:100%;
    display:block;
}

@media (max-width: 899px){

.suisen-teacher-inner{
        display:block;
    }

.suisen-teacher-img{
        margin-bottom:20px;
        text-align:center;
    }

.suisen-teacher-img img{
        width:100%;
        max-width:100%;
        height:auto;
    }

}

/*************************
 * よくある質問
 * ***********************/
.faq-box{
    border:1px solid #ddd;
    border-radius:10px;
    margin-bottom:20px;
    overflow:hidden;
}

.faq-q{
    background:#2bb7f2;
    color:#fff;
    padding:15px 20px;
    font-weight:bold;
}

.faq-a{
    padding:20px;
    background:#fff;
}

/*****************
 * アクセス*
 * ***************/
.access-intro-title{
    font-size: 22px!important;
    font-weight: bold;
    color: #fff;
	background : #3cb5eb;
    line-height: 1.2;
    margin-bottom: 0px;
	padding : 5px 10px;
}
.access-inner{
	width : auto;
	margin : 10px auto;
}

.access{
    margin: 20px auto;
}

.access-box-inner{
    max-width:1080px;
    margin:0 auto;

    display:flex;
    align-items:flex-start;
    gap:40px;
}
.access-name{
	font-size : 18px!important;
	font-weight : 600;
}
.access-box-text{
    flex:1;
}

.access-box-img{
    flex:none;
}

.access-box-img img{
    width:auto;
    max-width:100%;
    display:block;
}
.access-root {
  width: 100%;
  padding: 0px;
}

.access-root .access-inner {
  max-width: 1080px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.access-root .access-box {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 12px;
  overflow: hidden;
  padding: 16px;
}

.access-root .access-box img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  margin-bottom: 12px;
}

.access-root .access-box p {
  margin: 0;
  font-size: 15px;
  line-height: 1.8;
  color: #333;
}

@media (max-width: 899px){

.access-box-inner{
        display:block;
    }

.access-box-img{
        margin-bottom:20px;
        text-align:center;
    }

.access-box-img img{
        width:100%;
        max-width:100%;
        height:auto;
    }
  .access-root {
    padding: 0px;
  }

  .access-root .access-inner {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .access-root .access-box {
    padding: 14px;
  }
.access-root .access-box img {
  width: 70%;
  height: auto;
  display: block;
  border-radius: 8px;
  margin: 0 auto 12px;;
}

  .access-root .access-box p {
    font-size: 14px;
  }

}

/****　講師甲地直矢について *****/
.profile-text-area {
    margin-top: 20px;
}

.profile-text {
	padding-bottom : 10px;
    margin-bottom: 20px;
    border-bottom: 1px dashed #bdbdbd;
    line-height: 2;
}

/*** 甲地直矢からのメッセージ　***/
p.kouchi-message-title,
p.kouchi-message-title strong{
    font-size:20px !important;
    color:#3cb5eb !important;
    font-weight:bold !important;
    line-height:1.4 !important;
	margin-bottom : 10px!important;
}

/*************************************
 * 甲地直矢の指圧揉みほぐしセミナーページ
 * ***********************************/
/* 対象者 */
.seminar-section{
    margin-bottom:40px !important;
}
.seminar-heading{
	font-size:26px!important;
	line-height : 28px!important;
    color:#3cb5eb;
    font-weight:900;
    border-bottom:3px solid #3cb5eb;
    padding-bottom:3px;
    margin-bottom:20px;
}

/* 画像並び */
.target-grid{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:14px !important;
}

.target-box{
    overflow:hidden !important;
}

.target-box img{
    width:100% !important;
    height:auto !important;
    display:block !important;
}
.seminar-tokutyou-text{
    margin:0 !important;
    padding:0 !important;
}

/* ← ここから class名変更 */
.seminar-list{
    margin:0 !important;
    padding:0 !important;

    list-style:none !important;
}

.seminar-list li{
    position:relative !important;

    padding-left:18px !important;

    margin-bottom:8px !important;

    font-size:16px !important;
    line-height:1.9 !important;
    color:#333 !important;
}

.seminar-list li::before{
    content:"" !important;
    width:6px !important;
    height:6px !important;
    background:#555151 !important;
    border-radius:50% !important;
    position:absolute !important;
    left:0 !important;
    top:12px !important;
}

/* スマホ */
@media screen and (max-width:640px){

    .seminar-heading{
        font-size:20px !important;
        margin-bottom:16px !important;
    }

    .target-grid{
        grid-template-columns:repeat(2,1fr) !important;
        gap:10px !important;
    }

}

/* 回数と金額 */
.course-wrap{
    display:flex !important;
    gap:20px !important;
}

.course-box{
    width:50% !important;

    border:1px solid #d8edf6 !important;

    padding:22px 20px !important;

    box-sizing:border-box !important;

    background:#fff !important;
}

.course-top{
    font-size:20px !important;
    line-height:1.7 !important;
    color:#555 !important;
    font-weight:600 !important;
    margin-bottom:16px !important;
}

.course-bottom{
    display:flex !important;
    align-items:flex-end !important;

    gap:8px !important;
}

.course-value{
    font-size:24px !important;
    font-weight:bold !important;
    color:#23a6dd !important;
    line-height:1.4 !important;
}

.course-price{
    font-size:24px !important;
    font-weight:bold !important;
    color:#222 !important;
    line-height:1.4 !important;
}

/* スマホ */
@media screen and (max-width:640px){

    .course-wrap{
        display:block !important;
    }

    .course-box{
        width:100% !important;
        margin-bottom:12px !important;
    }

    .course-box:last-child{
        margin-bottom:0 !important;
    }

}

/*******店舗・治療院出張セミナー****/
/* 画像並び */
.houmon-grid{
    display:grid !important;
    grid-template-columns:repeat(2,1fr) !important;
    gap:14px !important;
}

.houmon-box{
    overflow:hidden !important;
}

.houmon-box img{
    width:100% !important;
    height:auto !important;
    display:block !important;
}

/* スマホ */
@media screen and (max-width:640px){

    .houmon-grid{
        grid-template-columns:repeat(1,1fr) !important;
        gap:10px !important;
    }

}

/***参加するまでの流れ**/
.houmon-flow{
    margin:0 10px 30px 10px;
}

.houmon-flow-item{
    display:flex;
    gap:20px;
    padding:22px 0;
    border-bottom:1px solid #dcdcdc;
}

.houmon-flow-num{
    min-width:70px;
    font-size:30px!important;
    font-weight:bold;
    color:#3cb5eb;
    line-height:1;
}

.houmon-flow-text{
    flex:1;
    font-size:16px;
    line-height:1.9;
    color:#333;
}

.houmon-flow-text a{
    color:#3cb5eb;
    text-decoration:none;
    font-weight:bold;
}

.houmon-flow-btn{
    display:inline-block;
    margin-top:12px;
    background:#3cb5eb;
    color:#fff !important;
    text-decoration:none;
    padding:12px 24px;
    border-radius:8px;
    font-weight:bold;
    font-size:15px;
    transition:0.3s;
}

.houmon-flow-btn:hover{
    opacity:0.8;
}

/* スマホ */
@media screen and (max-width:640px){

    .houmon-flow-item{
        gap:14px;
        padding:18px 0;
    }

    .houmon-flow-num{
        min-width:36px;
        font-size:24px;
    }

    .houmon-flow-text{
        font-size:16px!important;
        line-height:1.8;
    }

}

/**********************************
お試し体験ページ　募集日時
**********************************/

.taiken-date-wrap{
    margin:20px 0;
}

.course-point{
    font-size:22px!important;
    line-height:1.8;
    font-weight:900;
    color:#333;
	margin-bottom : 20px;
}

@media screen and (max-width:640px){

    .course-point{
        font-size:20px;
        line-height:1.7;
    }

}

/**********************************
PC
**********************************/

.taiken-date-pc{
    background:#109db7;

    color:#fff;
    font-size:28px!important;
    line-height:1.7;
    font-weight:900;
    text-align:center;
    padding:10px 20px;
    border-radius:10px;
    text-shadow:
    0 0 1px #333,
    0 0 1px #333;
}

/**********************************
スマホ
**********************************/

.taiken-date-sp{
    background:#109db7;
    color:#fff;
    font-size:22px!important;
    line-height:1.4!important;
    font-weight:900;
    text-align:center;
    padding:10px;
    border-radius:10px;
    text-shadow:
    0 0 1px #333,
    0 0 1px #333;
}

.taiken-sp{
    display:none !important;
}

@media screen and (max-width:640px){

    .taiken-pc{
        display:none !important;
    }

    .taiken-sp{
        display:block !important;
    }

}

/**** 体験講座内容 ***/
.taiken-info-wrap{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin:30px 0;
}

.taiken-info-box{
    width:calc((100% - 60px) / 4);

    background:#fff;

    border:2px solid #dfe8ec;

    border-radius:15px;

    padding:25px 15px;

    box-sizing:border-box;

    text-align:center;
}

.taiken-info-icon{
    font-size:30px!important;
    line-height:1;
    margin-bottom:10px;
    color:#333;
}

.taiken-info-icon i{
    font-size:30px!important;
    display:block;
    line-height:1;
}

.taiken-info-title{
    font-size:20px!important;
    font-weight:900;
    color:#333;
    line-height:1.2!important;
    margin-bottom:4px;
}

.taiken-info-text{
    font-size:18px!important;
    font-weight:900;
    line-height:1.4!important;
    color:#333;
}

/**********************************
スマホ
**********************************/
@media screen and (max-width:640px){

    .taiken-info-wrap{
        gap:10px;
    }

    .taiken-info-box{
        width:calc((100% - 10px) / 2);

        padding:20px 10px;
    }

.taiken-info-icon{
    font-size:24px!important;
    line-height:1;
    margin-bottom:10px;
    color:#333;
}

.taiken-info-icon i{
    font-size:24px!important;
    display:block;
    line-height:1;
}

    .taiken-info-title{
        font-size:15px;
        line-height:1.3;
        margin-bottom:3px;
    }

    .taiken-info-text{
        font-size:18px;
        line-height:1.3;
    }

}

/***** 体験会の流れ *****/
.taiken-flow {
  display: flex;
  justify-content: center;
  align-items: center;
}

.taiken-flow-list {
    width:100% !important;
    padding-left:0 !important;
    margin-left:0 !important;
    margin-block-start:0;
    margin-block-end:0;
    padding-inline-start:0;
}

.taiken-flow-list > li {
  list-style-type: none;
  border: 1px solid #333;
  padding: 20px;
  border-radius: 20px;
}

.taiken-flow-list > li:not(:last-child) {
  margin-bottom: 40px;
  position: relative;
}

.taiken-flow-list > li:not(:last-child)::after {
  content: '';
  position: absolute;
  border: 20px solid transparent;
  width: 0;
  height: 0;
  bottom: -53px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  border-top-color: #4D9BC1;
}
.taiken-flow-list > li dl dt {
  font-size: 1.2em!important;
  font-weight: bold;
  border-bottom: 2pt dashed #ccc;
  padding-bottom: 0.5em;
  margin-bottom: 0.5em;
}

.taiken-flow-list > li .icon10 {
  color: #333;
  margin-right: 0.5em;
	font-size : 1em!important
}

.taiken-flow-list > li dl dd {
  margin: 0;
}

/**********************************
体験会流れ 画像
**********************************/

.taiken-flow-img{
    float:right;

    width:320px;

    margin:0 0 15px 20px;
}

.taiken-flow-img img{
    width:100%;
    height:auto;

    display:block;

    border-radius:10px;
}
.taiken-flow-list dd::after{
    content:"";
    display:block;
    clear:both;
}

/**********************************
スマホ
**********************************/
@media screen and (max-width:640px){

    .taiken-flow-img{
        float:none;

        width:100%;

        margin:0 0 15px 0;
    }

}

/**********************************
お試しメリット
**********************************/

.otameshi-merit{
    margin-bottom:40px;
}
.merit-no{
	background : #ef683e;
	color : #fff;
	font-size : 13px;
	width : 80px;
	padding : 0px 10px;
	font-weight : 600;
	border-radius : 10px;
	margin-bottom : 5px;
}
.otameshi-merit-title{
    font-size:22px!important;
    line-height:1.5;
    font-weight:900!important;
    color:#ef683e;
    margin-bottom:15px;
}

.otameshi-merit-text{
    line-height:2;
    color:#333;
}

.otameshi-merit-img{
    float:right;

    width:240px;

    margin:0 0 15px 20px;
}

.otameshi-merit-img img{
    width:100%;
    height:auto;

    display:block;

    border-radius:10px;
}

/* 回り込み解除 */
.otameshi-merit::after{
    content:"";
    display:block;
    clear:both;
}

/**********************************
スマホ
**********************************/
@media screen and (max-width:640px){

    .otameshi-merit-title{
        font-size:17px!important;
        line-height:1.6!important;
        margin-bottom:15px;
    }

    .otameshi-merit-text{
        line-height:1.8;
    }

    .otameshi-merit-img{
        float:none;
        width:240px;
        margin:20px auto 20px;
    }

}

