@import url(destyle.css);

/* 全体 */
html,body{
  font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
}

*, *:before, *:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body{
  color: #444;
  font-size: 17px;
  padding-top: 92px;
  margin:0px;
  max-width: 100%;
}

@media (max-width: 640px){
  body{
    width: 100%;
    padding-top: 70px;
    font-size: 16px;
  }
}

/* ヘッダー */
header {
  width: 100%; 
  height: 92px;
  background: #fff;
  box-shadow: 0 4px 15px rgb(0 0 0 / 15%);
  padding: 10px 20px;
  box-sizing: border-box;
  position: fixed; 
  top: 0;
  left: 0; 
  z-index: 9999;
}


.pc-container{
  display: flex;
  justify-content:space-around;
}

@media (max-width: 640px){
  .pc-container {
    display: none;
  }
}

.pc-container ul{
  display: flex;
  justify-content: center;
  padding: 18px 0 28px 0;
}

.pc-container li{
  padding: 10px 15px;
  margin: 0 10px;
  font-weight: bold;
}

.pc-menu li:hover{
  border-bottom: 3px solid #38c4c4 ;
}

.h_hover a{
  padding: 10px 0;
}

/* ヘッダー内サブメニュー */
.sub_m{
  position: relative;
}

.sub_m ul{
  position: absolute;
  top: 43px;
  left: 0;
  background-color: #ffffffe8;
  display: none;
  width: 230px;
  padding-left: 10px;
  padding-top: 35px;
}
.sub_m ul li{
  display: inline-block;
  font-size: 14px;
}

.sub_m ul li:hover{
  border-bottom: 3px solid #9b9b9b ;
}

.sub_m ul li,.sub_m ul li a{
  margin-bottom: 8px;
}
.pc-menu ul li:hover ul{
  display: block;
}

.pc-menu ul li ul:hover{
  display: block;
}

/* スマホメニュー */
@media (max-width: 640px){
  header{
    width: 100%;
    height: 70px;
    padding: 10px;
  }
  h1{
    width: 85%;
  } 
  h1 img{
    width: 100%;
  }
}

.sp-container{
  display: none;
}

@media (max-width: 640px){
  .sp-container{
    display: block;
    width: 100%;
  }
}


.sp-menu {
  display: none;
  position: relative;
  box-sizing: border-box;
}

@media (max-width: 640px){
  .sp-menu{
    display: block;
  }
}
  
.menu-btn {
    width: 40px;
    height: 40px;
    border: 1px solid #595959;
    position: absolute;
    right: 5px;
    top: -45px;
    z-index: 9999;
}
  
.sp-menu span {
    width: 25px;
    height: 2px;
    background-color: #595959;
    position: absolute;
    right: 13px;
    transition: .3s;
    z-index: 100;
}
  
.span1 {
    top: -35px;
}
  
.span2 {
    top: -26px;
}
  
.span3 {
    top: -17px;
}
  
#check:checked ~ .span2 {
    display: none;
}
  
#check:checked ~ .span1 {
    width: 27px;
    transform: rotate(45deg);
    top: -25px;
    right: 12px;
}
  
#check:checked ~ .span3 {
    width: 27px;
    transform: rotate(-45deg);
    top: -25px;
    right: 12px;
}
  
 #check {
    display: none;
}
  
.sp-menu-list {
    width: 70%;
    background-color: #fff;
    margin: 0;
    position: absolute;
    top: 11px;
    right: -74%;
    transition: 1s;
    z-index: 10;
    border-top: 1px solid #fff;
}
  
.sp-menu-list li {
    padding: 20px;
    border-bottom: 1px solid #ececec;
    border-left: 1px solid #ececec;
}
  
#check:checked ~ .sp-menu-list {
  right: -20px;
}

/* トップ画像 */
.top-img{
  text-align: center;
}

@media (max-width: 640px){
  .top-img img{
    width: 100%;
  }
}

/* セクション */
section{
  padding: 30px 0 60px 0;
  line-height: 2em;
}

@media (max-width: 640px){
  section {
    padding-bottom: 10px;
  }
}

#introduction{
  margin: 0 auto;
}

@media (max-width: 640px){
  #introduction {
    padding-top: 10px;
   }
 }

/* 共通 */
h2{
  color: #444;
  font-size: 25px;
  font-weight: bold;
  text-align: center;
  padding-top: 50px;
  padding-bottom: 50px;
}

@media (max-width: 640px){
  h2{
    font-size: 18px;
    padding: 10px 0 20px 0;
  }
}

.sub{
  color: #444;
  font-size: 12px;
  text-align: center;
  padding-bottom: 30px;
  letter-spacing: 0.1em;
}

@media (max-width: 640px){
  .sub{
    padding-bottom: 0px;
  }
}

.bold{
  font-weight: bold;
}

.border-line{
  background: linear-gradient(transparent 70%, #fff000 70%);
  font-weight: bold;
}

.img{
  text-align: center;
}

.img-pic{
  text-align: center;
  padding-bottom: 50px;
}

@media (max-width: 640px){
  .img-pic{
    padding-bottom: 30px;
  }
}

@media (max-width: 640px){
  .img-pic img{
    width: 90%;
  }
}

.container01{
  width: 750px;
  margin: 20px auto;
}

@media (max-width: 640px){
  .container01{
    width: 100%;
  }
}

.text01{
  padding-bottom: 30px;
}

@media (max-width: 640px){
  .text01{
    padding-bottom: 15px;
  }
}

@media (max-width: 640px){
  p{
    padding-right: 15px;
    padding-left: 15px;
  }
}

.btn01{
  margin: 10px auto;
  width: 45%;
  text-align: center;
  font-weight: bold;
  background-color: #38c4c4;
  color: #fff;
}

.btn01 a{
  display: block;
  padding: 15px;
}

.btn01:hover{
  opacity: .6;
}

@media (max-width: 640px){
  .btn01{
    margin: 20px auto;
    width: 80%;
  }
}

.link01{
  color: #03f;
  text-decoration: none;
}

.adjust-head{
  padding-top: 92px;
  margin-top: -92px;
}

.list{
list-style-type: disc;
padding: 0 20px;
}

@media (max-width: 640px){
  .list{
    padding-left: 30px;
  }
}

.frame{
  padding: 10px 30px 30px 30px;
  border: 2px solid #ececec;
  border-radius: 5px;
  margin: 0 10px 30px 10px;
}

@media (max-width: 640px){
  .frame{
    padding: 0px 0px 20px 0px;
  }
}

.frame2{
  padding: 20px 30px 0px 30px;
  border: 2px solid #ececec;
  border-radius: 5px;
  margin: 0 10px 30px 10px;
}

@media (max-width: 640px){
  .frame2{
    padding: 15px 0px 10px 0px;
  }
}

.ol-mokuji{
  padding-left: 2em;
  margin:0;
  text-indent: -1.8em;
}

@media (max-width: 640px){
  .ol-mokuji{
    padding-right: 1em;
  }
}

.ol-mokuji li{
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
}

.ol-mokuji li::before{
  display: marker;
  content: "(" counter(cnt) ") ";
}

@media (max-width: 640px){
  .ol-mokuji li::before{
    padding-left: 10px;
  }
}

.ol-mokuji a{
  color: #03f;
  text-decoration: none;
}

.ol-mokuji a:hover{
  text-decoration: underline;
}

.title-mokuji {
  position: relative;
  padding: 15px 0 15px 30px;
  font-weight: bold;
}

@media (max-width: 640px){
  .title-mokuji{
    padding-left: 40px;
  }
}

.title-mokuji::before {
  position: absolute;
  top: 18px;
  left: 0px;
}

@media (max-width: 640px){
  .title-mokuji::before{
    position: absolute;
    left: 10px;
  }
}

.list01::before{
  content: url(../img/list01.png)
}

.list-title{
  font-weight: bold;
  padding: 10px 0;
}

@media (max-width: 640px){
  .list-title{
    padding: 10px 15px;
  }
}

.ul-list02{
  padding: 25px;
  border: 2px solid #ececec;
  border-radius: 5px;
  margin: 30px 10px;
}

@media (max-width: 640px){
  .ul-list02{
    padding: 15px;
  }
}

.list02::before{
  content: "■";
}

.list02{
  font-weight: bold;
  padding-left: 1em;
  margin: 0;
  text-indent: -1em;
}

.ul-list03{
  padding: 25px 45px 45px 45px;
  border: 2px solid #ececec;
  border-radius: 5px;
  margin: 10px 20px 50px 20px;
}

@media (max-width: 640px){
  .ul-list03{
    padding: 10px 15px 30px 15px;
    margin: 10px 10px 40px 10px;
  }
}

.list03::before{
  content: "■";
}

.list03{
  font-weight: bold;
  padding-left: 1em;
  margin: 0;
  text-indent: -1em;
}

hr{
  color: #ececec;
}

table{
  margin: 20px auto 40px auto;
  font-size: 14px;
  border-collapse: collapse;
  table-layout: fixed;
  width: 100%;
}

@media (max-width: 640px){
  table{
    line-height: 1.6em;
    width: 95%;
  }
}

table td{
  padding: 15px;
  border: 1px solid #444;
  line-height: 2em;
}

.top-td{
  font-weight: bold;
  background-color: #ececec;
}

/* flex共通 */
.flex-features, .container-reason_t, .container-reason_t_, .flex-benefit,.flex-course, .flex-flow{
  display: flex;
  margin: 0 auto;
}

.flex-features, .flex-benefit, .flex-flow{
  width: 1240px;
}

@media (max-width: 640px){
  .flex-features, .flex-benefit, .flex-flow{
    width: 100%;
  }
}

.flex-features, .flex-benefit, .flex-flow{
  justify-content:space-evenly;
}

@media (max-width: 640px){
  .flex-features, .container-reason_t, .container-reason_t_, .flex-benefit, .flex-course,.flex-flow{
    /* flex-direction: column; */
    align-items: stretch;
  }
}

/* title共通 */
.title-features,.title-reason_t,.title-benefit,.title-course,.title-flow{
  font-weight: bold;
}

.title-features,.title-reason,.title-benefit,.title-course, .title-flow{
  color: #444;
}


.title-features,.title-flow{
  font-size: 16px;
}

.title-benefit,.title-course{
  font-size: 16px;
}

.title-features,.title-reason_t,.title-benefit{
  text-align: left;
}

/* ヒプノセラピーで、もっとラクに、豊かで楽しい人生を */
.btn-l{
  width: 350px;
  margin-bottom: 60px;
}

/* ヒプノセラピーのいいところ */
.flex-features{
  align-items: center;
  padding-bottom: 70px;
}

.item-features{
  width: 340px;
  height: 340px;
  padding: 55px;
  text-align: center;
  background-color: #fff;
  border-radius: 50%;
}

@media (max-width: 640px){
  .item-features{
    margin-bottom: 20px;
  }
}

.title-features{
  padding: 10px;
}

/* EnWiseヒプノセラピースクールが選ばれる理由 */
.container-reason_t, .container-reason_t_{
  max-width: 1240px;
  align-items: center;
  padding: 60px 20px;
}

@media (max-width: 640px){
  .container-reason_t, .container-reason_t_{
    width: 100%;
    padding: 30px 20px;
  }
}

.container-reason_t img, .container-reason_t_ img{
  flex-basis: 45%;
}

.container-reason_t_{
  flex-direction: row-reverse;
}

.flex-reason_t:nth-child(odd){
  background-color: #edf4f2;
}

.item-reason_t{
  padding: 0 0 0 60px;
  flex-basis: 55%;
}

@media (max-width: 640px){
  .item-reason_t{
    padding-left: 0px;
  }
}

.img-box{
  margin: 0 auto;
}

@media (max-width: 640px){
  .img-box{
    display: none;
  }
}

.img-box_sp{
  display: none;
}

@media (max-width: 640px){
  .img-box_sp{
    display: block;
    padding-bottom: 30px;
  }
  .img-box_sp img{
    width: 100%;
  }
}


.title-reason_t {
  position: relative;
  padding: 20px 0;
  margin-bottom: 10px;
  font-size: 22px;
  line-height: 1.4em;
}

@media (max-width: 640px){
  .title-reason_t {
    display: none;
  }
}

.title-reason_t::before {
  position: absolute;
  top: -20px;
  left: -100px;
}

.number1::before {
  content: url(../img/number1.png)
}

.number2::before {
  content: url(../img/number2.png)
}

.number3::before {
  content: url(../img/number3.png)
}

.number4::before {
  content: url(../img/number4.png)
}

.number5::before {
  content: url(../img/number5.png)
}

.title-reason_t_sp {
  display: none;
}

@media (max-width: 640px){
  .title-reason_t_sp {
    display: block;
    padding: 20px 0;
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.4em;
  }
}

.text-reason_t{
  padding-bottom: 20px;
}

/* EnWiseヒプノセラピースクールだから叶う3つのこと */
.flex-benefit{
  margin-bottom: 30px;
}

.item-benefit{
  width: 380px;
  padding: 0 20px;
  text-align: center;
}

@media (max-width: 640px){
  .item-benefit{
    width: 100%;
  }
}

.sp-benefit{
  display: none;
}

@media (max-width: 640px){
  .sp-benefit{
    display: block;
  }
  .pc-benefit{
    display: none;
  }
}

.title-benefit{
  padding: 30px 0 20px 0;
}

.text-benefit, .text-flow{
  text-align: left;
}

@media (max-width: 640px){
  .text-benefit{
   padding-top: 20px;
  }
}

/* 講座案内 */
.flex-course{
  flex-direction: row;
  width: 1000px;
  flex-wrap: wrap;
  justify-content:flex-start;
}

@media (max-width: 640px){
  .flex-course{
    width: 96%;
    padding-bottom: 30px;
  }
}

.item-course{
  position: relative;
  display: flex;
  flex-direction: column;
  width: 30%;
  margin: 20px 5% 20px 0;
  padding-bottom: 10px;
  border: 2px solid #ececec;
  border-radius: 5px;
  background-color: #fff;
  font-size: 14px;
  line-height: 1.5em;
}

@media (max-width: 640px){
  .item-course{
    width: 49%;
    margin: 10px 2% 10px 0;
  }
}

.item-course:nth-child(3n) {
  margin-right: 0;
}

@media (max-width: 640px){
  .item-course:nth-child(2n){
    margin-right: 0;
  }
}

.tag{
  position: absolute;
  top: 10px;
  left: 10px;
  background: #38c4c4;
  color: #fff;
  padding: 3px 12px 2px 12px;
  border-radius: 25px;
  font-size: 15px;
}


@media (max-width: 640px){
  .tag{
    top: 6px;
    left: 6px;
    font-size: 14px;
    padding: 2px 12px;
  }
}

.card::after{
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
  pointer-events: auto;
  content: "";
  background-color: transparent;
}

.item-course:hover{
  opacity: 0.6;
}

.list04{
  font-size: 16px;
  font-weight: bold;
  padding: 15px 15px 0 15px;
}
@media (max-width: 640px){
  .list04{
    padding: 15px 10px 0 10px;
  }
}

.img-course img{
  width: 100%;
  border-radius: 4px 4px 0 0;
}

.text-course{
  padding: 15px;
}

@media (max-width: 640px){
  .text-course{
    padding: 10px;
  }
}

.fee{
  font-weight: bold;
  padding: 10px 0;
}

/* 流れ */
.flex-flow{
  padding-bottom: 40px;
}

.item-flow{
  width: 280px;
  padding: 20px 30px 40px 30px;
  text-align: center;
  border: 2px solid #ececec;
  border-radius: 5px;
  background-color: #fff;
}

@media (max-width: 640px){
  .item-flow{
    width: 95%;
    margin: 20px auto;
    padding: 20px 20px 35px 20px;
  }
}

.title-flow{
  padding: 20px 0;
}

.arrow{
  display: flex;
  align-items: center;
}

@media (max-width: 640px){
  .arrow{
    display: none;
  }
}

/* 講師からのメッセージ */
.message01{
    padding: 30px;
    line-height: 2em;
    margin-left: 250px;
    width: 700px;
    background-color: #ffffff3b;
}

@media (max-width: 640px){
  .message01{
    padding: 20px;
    width: 100%;
    margin-left: 0px;
  }
}

.instructor_sp img{
  display: none;
}

@media (max-width: 640px){
  .instructor_sp img{
    display: block;
    width: 100%;
  }
}

/* よくある質問 */
.qa {
  width: 750px;
  margin: 50px auto;
}

@media (max-width: 640px){
  .qa{
    width: 80%;
    margin: 45px;
  }
}

.question {
  border-bottom: 1px solid #ececec;
  margin-bottom: 30px;
  font-weight: bold;
}

.answer{
  margin-bottom: 50px;
}

.question, .answer{
  position: relative;
  font-size: 16px;
  padding-bottom: 5px;
}

@media (max-width: 640px){
  .question, .answer{
    font-size: 14px;
  }
}

.question::before, .answer::before {
  position: absolute;
  left: -30px;
  font-weight: bold;
  font-size: 20px;
}

.question::before{
  content: 'Q.';
  color: #38c4c4;
}

.answer::before{
  content: 'A.';
  color: #9b9b9b;
}

/* フッター */
footer{
  background-color: #595959; 
  height: 100px;
  color: #fff;
  width: 100%;
  font-size: 14px;
}

.f-ul{
  display: flex;
  justify-content: center;
  padding: 28px 0;
}

@media (max-width: 640px){
  .f-ul{
  padding: 20px 0;
  }
}

footer li{
padding: 0 10px;
}

footer li:before {
  content:"|";
  margin-right: 20px;
}

footer li:last-child:after {
  content :"|";
  margin-left: 20px;
}

.f-menu{
  width: 800px;
  margin: 0 auto;
}

@media (max-width: 640px){
  .f-menu{
    width: 100%;
  }
}

.f-title{
  text-align: center;
}

/* トップに戻るボタン */
#page-top {
  position: fixed;
  bottom: 40px;
  right: 20px;
  font-size: 15px;
  line-height: 1.5em;
  z-index: 99;
}

@media (max-width: 640px){
  #page-top{
  bottom: 30px;
  right: 15px;
  }
}

#page-top a {
  background: #38c4c4;
  text-decoration: none;
  color: #fff;
  width: 80px;
  padding: 20px;
  text-align: center;
  border-radius: 50%;
}

#page-top a:hover {
  text-decoration: none;
  opacity: .6;
}