@charset "UTF-8";

/*@import url(https://fonts.googleapis.com/earlyaccess/notosansjapanese.css);*/

html  {
  font-family: "Noto Sans Japanese", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", serif;
  font-size: 16px;
  margin:0;
  padding:0;
  line-height:1.8em;
  background: #fff;
  color: #08131a;
	letter-spacing:0.05em;
}
body {
  margin: 0;
  font-size:16px;
	line-height:1.8em;
		letter-spacing:0.05em;
}
/*ボックスサイズ*/
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

/* === style base === */
p{
  margin:0;
  padding:0;
}



figure.center{
  margin: 0 auto;
  text-align: center;
}

img{
  line-height: 1;
  font-size: 0;
  margin:0;
  padding:0;
}
ul,ol,li{
  list-style-type: none;
  margin:0;
  padding: 0;
}
a{
  text-decoration: none;
  color:#404040;
}
a:hover{
  text-decoration: underline;
}


/* === extra === */
.inner_1120{
  max-width: 1120px;
  margin:auto;
}
.inner_1220{
  max-width: 1220px;
  margin:auto;
}
.inner1360{
  max-width: 1360px;
  margin:auto;
}
.inner_1400{
  max-width: 1400px;
  margin:auto;
}
.left{
  float: left;
}
.right{
  float: right;
}
.sp-none{
  display: block;
}
.pc-none{
  display: none;
}
.sp-none.inline{
  display: inline;
}
.s_bnr{
  text-align: center;
}


/* === clearfix === */
.clearfix:after{
  content:" ";
  clear:both;
  display:block;
}

/* === btn === */
.btn01{
  background-color: #4385f5;
  border: 2px solid #fff;
  color: #fff;
  border-radius: 10px;
  text-align: center;
  position: relative;
}
.btn02{
  background-color: #fff;
  color: #4385f5;
  border: 2px solid #fff;
  border-radius: 10px;
  text-align: center;
  position: relative;
}
.btn01 a{
  color: #fff !important;
}
.btn02 a{
  color: #4385f5;
}
.btn01 a, .btn02 a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}
.btn01 a:hover, .btn02 a:hover{
  text-decoration: none;
  opacity: .7;
}
.btn01 a:after, .btn02 a:after{
  display: none;
}
.btn{
  height: 76px;
  font-weight: bold;
  /*border: 2px solid #fff;*/
  border-radius: 10px;
  text-align: center;
  position: relative;
}
.btn.btn01 a, .btn.btn02 a {
  padding: 8px 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  border-collapse: initial;
}
.btn.btn02 a.yoyaku_tel_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  width: 388px;
}
.btn.btn02 a.yoyaku_tel_btn .sub_txt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 16px;
}
.btn.btn02 a.yoyaku_tel_btn .main_txt{
  width: auto;
}
.btn .sub_txt {
  height: 60px;
  width: 100px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 10px;
  font-size: 18px;
  text-align: center;
  line-height: 1.5;
  vertical-align: middle;
}
.btn .main_txt {
  width: 297px;
  font-size: 24px;
  line-height: 1.2;
  display: table-cell;
  vertical-align: middle;
}
.btn .main_txt span.sf{
  font-size: 16px;
  font-weight: normal;
}
.btn01 .sub_txt {
    display: table-cell;
}
.btn01 .sub_txt {
  background: #fff;
  color: #4385f5;
}

.btn01 .sub_txt span {
  font-size: 15px;
  line-height: 20px;
}
.btn02 .sub_txt{
  background: #4385f5;
  color: #fff;
  font-size: 2rem;
  line-height: 55px;
}
.btn01 .sub_txt i {
  background: #fff;
  color: #4385f5;
  font-size: 36px;
  line-height: 52px;
}
.btn.btn01 a:after, .btn.btn02 a:after {
  display: none;
}
.btn .pc{
  display: inline;
}


/* === flex === */
.mode-flex{
  display: flex;
  justify-content: space-between;
}
.mode-flex_left{
  display: flex;
  justify-content: left;
}
.wrap{
  flex-wrap: wrap;
}


/* === header === */
header{
  padding: 0;
}
header .logo{

}
header .hd_contact{
  width: 412px;
  display: flex;
  justify-content: space-between;
  margin-top: 5px;
  font-size: 1.6rem;
}
header .hd_contact > div{
  width: 200px;
  height: 60px;
  vertical-align: middle;
  font-weight: bold;
  line-height: 1.4;
  padding-top: 6px;
}
header .hd_contact .btn01{
  border: 2px solid #4385f5;
}
header .hd_contact .btn02{
  border: 2px solid #4385f5;
  cursor: pointer;
}
header .hd_contact .btn02 i{
  font-size: 1.8rem;
  margin-right: 2px;
}
header .hd_contact .btn02 > span{
  font-size: 1.4rem;
  font-weight: normal;
}
header .hCvArea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  height: 45px;
  margin: 16px 0 4px 46px;
}

header .hCvArea .tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
          align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  width: 77px;
  border: 2px solid #0088F3;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  color: #0088F3;
}

header .hCvArea .tel:not(.keyword):before {
  content: '';
  display: block;
  width: 12px;
  height: 18px;
  background: url(../../img/common/icon-tel.png) 50%/12px no-repeat;
}

header .hCvArea .net {
  width: 165px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
          align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
          justify-content: center;
  background: #0088F3;
  font-size: 16px;
  font-weight: 600;
  color: #fff;
}

header .hCvArea .net:not(.keyword):before {
  content: '';
  display: block;
  width: 37px;
  height: 37px;
  margin: 0 8px 0 0;
  background: url(../../img/common/icon-24h.png) 50%/37px no-repeat;
}

header .hCvArea .net:not(.keyword):after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  margin: 0 0 0 12px;
  border-style: solid;
  border-width: 5.5px 0 5.5px 9px;
  border-color: transparent transparent transparent #fff;
}
header .btn01 a:after,
header .btn02:after{
  font-size: 2.2rem;
  font-weight: bold;
  top: 16px;
}
header  .nav-btn{
  display: none;
}
.modal{
  display: none;
}
.yoyaku h4 {
  display: none;
}


/* === nav === */
.gnav{
  width: 1120px;
  margin: auto;
}
.gnav ul{
  display: flex;
  justify-content: space-between;
  margin: 0;
}
.gnav ul li{
  width: 100%;
  text-align: center;
  position: relative;
}
.gnav ul li a{
  display: block;
  position: relative;
  padding: 2rem 0;
  transition: .5s;
  font-size: 1.8rem;
}
.gnav ul li a i{
  margin-right: 10px;
}
.gnav ul li a:hover{
  color: #a89a39;
  text-decoration: none;
}
.gnav ul li a:after{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 6px 8px 6px;
  border-color: transparent transparent #fff transparent;
  content:"";
  position: absolute;
  bottom: 0;
  left: 50%;
  margin-left: -6px;
  transition: .5s;
}
.gnav ul li a:hover:after{
  border-color: transparent transparent #3a4a6f transparent;
}
.gnav ul.sub-menu{
  display: none;
  background-color: #fff;
  border: 4px solid #3a4a6f;
  position: absolute;
  top: 58px;
  z-index: 1;
}
.gnav ul.sub-menu li{
  text-align: left;
  border-top: 1px solid #ccc;
  padding: 0px 5px 0 28px;
  line-height: 1.3;
}
.gnav ul.sub-menu li:first-child{
  border: none
}
.gnav ul.sub-menu li:before{
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  left: 5%;
  font-weight: 900;
  top: 50%;
  margin-top: -0.5em;
}
.gnav ul.sub-menu li:last-child:before{
  content: "\f072";
  font-family: "Font Awesome 5 Free";
  font-size: .7em;
}
.gnav ul.sub-menu li a{
  font-size: 1.4rem;
}
.gnav ul.sub-menu li a:after{
  display: none;
}

/* === pankuzu === */

.breadcrumbs{
  width: 1120px;
  margin: auto;
   padding: 20px 0;
  font-size: 1.2rem;
}

.breadcrumbs_body{
  border-top: 2px solid #3a4a6f;
  width: 100%;
  background-color: #f1f1f1;
}

/* === cotact === */
.str_contact{
  border: 4px solid #ffe530;
  position: relative;
  text-align: center;
  padding: 0 0 20px;
  max-width: 1080px;
}
.str_contact h3{
  background: #3a4a6f;
  display: inline-block;
  font-weight: bold;
  font-size: 2.4rem;
  color: #ff4e67;
  position: relative;
  margin: 0 auto;
  padding: 0 2rem;
  top: -34px;
  line-height: 1.5;
}
/*.str_contact h3:before{
  content:"";
  display: inline-block;
  border: 2px solid #fff;
  height: 28px;
  transform: rotate(-45deg);
  margin-right: 18px;
  position: relative;
  top: 3px;
}
.str_contact h3:after{
  content:"";
  display: inline-block;
  border: 2px solid #fff;
  height: 28px;
  transform: rotate(45deg);
  margin-left: 15px;
  position: relative;
  top: 3px;
}*/
.str_contact h3 span{
  color: #ffe530;
}
.contact{
  padding-bottom: 30px;
}
.contact div.inner_1120{
  display: flex;
  justify-content: space-between;
  flex-direction :row-reverse;
  padding: 0;
  width: 880px;
}
.contact div.inner_1120.col3{
  width: auto;
}
.store_container .contact div.inner_1120{
  width: 85%;
}
.store_container .contact div.inner_1120 .btn .main_txt{
  width: 350px;
} 
.contact h3.strong{
  background-color: #fff;
  border-radius: 40px;
  border: 4px solid #3a4a6f;
  font-size: 2rem;
  font-weight: bold;
  letter-spacing: 0.1rem;
  color: #ff4e67;
  padding: 1rem;
  width: 800px;
  position: relative;
  z-index: 5;
  margin: 0 auto 0;
  top: -30px;
  text-align: center;
}
.contact h3.normal,
#content .contact h3.normal{
  color: #fff;
  text-align: center;
  padding: 30px 0;
  font-size: 2rem;
  font-weight: bold;
}
#content .contact h3.normal:before{
  display: none;
}
#content .contact h3.normal span{
  color: #ffe530;
}

.yoyaku{
  display: none;
  position: fixed;
  background-color: rgba(0,0,0,0.8);
  width: 100%;
  height: 100%;
  top: 0;
  padding: 5vmin 0;
  z-index: 200;
}
.yoyaku h3{
  text-align: center;
  color: #fff;
  font-size: 4vmin;
  margin: auto auto 3vmin;
}
.yoyaku .inner {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  margin: auto;
  width: 1020px;
}

.yoyaku .inner .btn {
  width: 480px;
  height: auto;
  margin: 0 40px 40px 0;
}

.yoyaku .inner .btn:nth-child(2n) {
  margin: 0 0 40px;
}

.yoyaku .inner > div {
  margin: 0 auto 4vmin;
}

.yoyaku .inner > div span.sf {
  font-size: 2vmin;
}

.yoyaku .inner > div .main_txt {
  width: 80%;
}

.yoyaku_btn .main_txt {
  font-size: 24px;
  line-height: 1.5;
}

.yoyaku_btn .main_txt .color {
  color: #ffe530;
}

.yoyaku .close_btn {
  color: #fff;
  margin-left: -30px;
  cursor: pointer;
}

.yoyaku .close_btn span {
  position: relative;
  left: 50%;
  padding-left: 20px;
  line-height: 30px;
}

.yoyaku .close_btn span:before {
  display: block;
  content: "";
  position: absolute;
  top: -5px;
  left: -2px;
  padding: 0;
  width: 4px;
  height: 30px;
  background: #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.yoyaku .close_btn span:after {
  display: block;
  content: "";
  position: absolute;
  top: 8px;
  left: -15px;
  width: 30px;
  height: 4px;
  background: #fff;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
.fixed{
  position: fixed;
  width: 100%;
}


/* === mv === */
.mv{
  background-image: url(../images/common/bg05.png);
  background-repeat: repeat;
  border-top: 4px solid #3a4a6f;
}
.mv img{
  margin: auto;
}
.mv_content{
  background: #3a4a6f;
  padding-bottom: 4rem;
}
.mv_content h2{
  background-color: #fff;
  border-radius: 40px;
  border: 4px solid #3a4a6f;
  font-size: 2.4rem;
  font-weight: 800;
  letter-spacing: 0.1rem;
  color: #3a4a6f;
  padding: 1rem;
  width: 560px;
  position: relative;
  z-index: 5;
  margin: 0 auto 0;
  top: -30px;
  text-align: center;
}
.mv_content h2 span{
  color: #ff1d3d;
}
.mv_content h2 span.fl{
  font-size: 34px;
}
.mv_content ul{
  display: flex;
  justify-content: center;
}
.mv_content ul li{
  margin: 0 10px;
  width: 22%;
  max-width: 300px;
}
.mv_content ul li img{
  width: 100%;
  height: auto;
}
.mv_contact{
  margin: 6rem auto 0;
}
.mv_contact > div{
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-top: -20px;
  max-width: 880px;
}
/*.mv_contact > div >div{
  width: 540px;
}*/

.mv_content + .store.a_link{
  padding: 30px 0;
}
.mv_content + .store.a_link h2{
  text-align: center;
  color: #2db6b8;
  font-size: 2.4rem;
  margin-bottom: 30px;
}

/* === sec === */
section{

}
section h2{
  text-align: center;
}
section h2.bars{
  background-color: #fff;
  width: 100%;
  border-bottom: 5px solid #3a4a6f;
  padding: 15px 0;
  position: relative;
  color: #3a4a6f;
  font-size: 2.4rem;
  line-height: 1.5;
}
section h2.bars strong{
  font-size: 2.8rem;
}
section h2.bars.bg{
  background-image:url(../images/common/bg.png);
  background-repeat: repeat;
}
section h2.bars:after{
  content:"";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 13px 0 13px;
  border-color: #3a4a6f transparent transparent transparent;
  position: absolute;
  bottom: -13px;
  left: calc(50% - 13px);
}
p.att{
  color: #666;
  font-size: 1.2rem;
  text-align: right;
}
.cnt_txt{
  padding: 4rem 0;
}
.cnt_txt.center{
  text-align: center;
}
.cnt_txt p{
  margin-bottom: 2.4rem;
  line-height: 1.6;
}


/* === sec01 === */
.sec01{
  background-image: url(/wp-content/uploads/2019/09/sec01_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding: 60px 0 30px;
}
.sec01 h2 img.sp-none{
  display: inline;
}
.sec01 em{
  font-weight: bold;
  font-style: normal;
}
.sec01 strong{
  font-size: 1.6rem;
  color: #ff4e67;
}
.sec01 h2{
  color: #3a4a6f;
  font-size: 2.4rem;
}


/* === sec02 === */
.sec02{
  background-image: url(../images/common/bg.png);
  background-repeat: repeat;
  min-height: 530px;
  position: relative;
}
.sec02 .mode-flex{
  width: 1080px;
}
.sec02_point{
  background-image: url(../images/pc/sec02_point.png);
  background-repeat: no-repeat;
  background-size: 350px;
  height: 360px;
  width: 360px;
  position: relative;
  margin: 40px 0 0;
}
.sec02_point:nth-child(1){
  background-image: url(../images/pc/sec02_point_01.png);
}
.sec02_point:nth-child(2){
  background-image: url(../images/pc/sec02_point_02.png);
}
.sec02_point:nth-child(3){
  background-image: url(../images/pc/sec02_point_03.png);
}
.sec02_point > span{
  position: relative;
  left: calc(50% - 20px);
}
.sec02_point > span img{
  width: 40px;
  height: auto;
}
.sec02_point h3{
  font-size: 1.6rem;
  color: #333;
  text-align: center;
  margin-top: 70px;
  line-height: 1.4;
  height: 85px;
}
.sec02_point h3 span{
  font-size: 2.2rem;
  color: #ea2222;
}
.sec02_point h3 span.lf{
  font-size: 2.4rem;
}
.sec02_point h3 span.llf{
  font-size: 3rem;
  line-height: 1.2;
}
.sec02_point p{
  text-align: center;
  line-height: 1.5;
  width: 270px;
  margin: 0px auto 0;
  font-size: 1.4rem;
  color: #fff;
}
.sec02_point p span{
  font-weight: bold;
  color: #ffe530;
}
.sec02_point p.att{
  color: #ccc;
  font-size: 1.2rem;
  text-align: right;
  width: 240px;
  margin-top: 10px;
}
.sec02_point:nth-child(2){
  margin: 80px 0 30px;
}



/* === sec03 === */
/*.sec03 h2.bars {
  padding: 0;
}*/
.sec03 h2 img.sp-none{
  display: inline;
}
.sec03{
  background-image: url(../images/common/bg02.png);
  background-repeat: repeat;
  padding: 0 0 32px;
}
.sec03_trouble{
  display: flex;
  justify-content: space-between;
  margin: 24px auto;
}
.sec03_trouble:first-child{
  margin-top: 32px;
}
.sec03_trouble:last-child{
  margin-bottom: 0;
}
.question{
  background-color: #2db6b8;
  border: 2px solid #3a4a6f;
  border-radius: 10px;
  font-size: 1.8rem;
  width: 540px;
  color: #fff;
  padding: 40px;
  position: relative;
  display: flex;
  align-items: center;
}
.question h3{
  line-height: 1.6;
  font-size: 2rem;
}
.question:after{
  display: block;
  content:"";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 0 24px 16px;
  border-color: transparent transparent transparent #3a4a6f;
  position: absolute;
  top: calc(50% - 24px);
  right: -30px;
}
.answer{
  background-color: #3a4a6f;
  border-radius: 10px;
  width: 540px;
  padding: 0 40px 40px;
  font-size: 1.6rem;
  line-height: 1.5;
  color: #fff;
}
.answer h3{
  text-align: center;
  margin-top: 20px;
  color: #ffe530;
  font-size: 2rem;
}
.answer p{
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 1.6;
}


/* === sec04 === */
.sec04_ba{
  display: flex;
  justify-content: space-between;
  margin: 60px auto 40px;
  /*width: 70%;*/
}
.ba_img{
  width: 400px;
  margin-left: 80px;
}
.ba_img h4{
  text-align: center;
  margin: 10px 0 36px;
}
.ba_img p.att{
  text-align: center;
  margin: 16px auto 0;
}
#container1 img, #container2 img{
  height: 532px;
}
.ba_cnt{
  width: 50%;
}
.ba_cnt h3{
  font-size: 1.8rem;
  color: #fff;
  display: inline-block;
  border-radius: 40px;
  padding: 7px 18px;
}
.ba_cnt h3.wmen{
  background: #ff4e67;
}
.ba_cnt h3.men{
  background: #2db6b8;
}
.ba_cnt h4{
  margin: 20px 0 40px;
  font-size: 1.6rem;
}
.ba_txt{
  border: 4px solid #3a4a6f;
  position: relative;
  padding: 30px 0px 10px;
  margin: 30px auto 0;
}
.ba_txt .sec04_sub01{
  position: absolute;
  top: -20px;
  left: 10px;
  width: 100px;
  height: auto;
}
.ba_txt .sec04_sub01 img{
  width: 100%;
  height: auto;
}
.ba_txt dl{
  margin: 0 0 20px 130px;
  border-left: 4px solid #ccc;
  padding: 4px 0 4px 10px;
}
.ba_txt dl.wmen{
  border-color: #ff4e67;
}
.ba_txt dl.men{
  border-color: #2db6b8;
}
.ba_txt dt{
  font-size: 1.6rem;
  font-weight: bold;
  padding-bottom: 1.2rem;
}
.ba_txt dd{
  font-size: 1.4rem;
  line-height: 1.4;
  padding-right: 30px;
}
.sec04_step .mode-flex{
  width: 86%;
  margin: auto;
}
.sec04_step:last-child{
  margin-bottom: 80px;
}
.sec04_step .step{
  width: 23%;
  position: relative;
}
.sec04_step .step img{
  width: 100%;
  height: auto;
}
.sec04_step .step:after{
  display: block;
  content:"";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #3a4a6f;
  top: calc(50% - 98px);
  right: -13px;
  position: absolute;
}
.sec04_step .step:last-child:after{
  display: none;
}
.sec04_step h5{
  font-size: 1.5rem;
  text-align: center;
  margin: 10px 0;
}
.sec04_step p{
  font-size: 1.2rem;
  text-align: left;
}

/* === sec05 === */
.sec05 h2 .coupon.sp-none{
  margin: 30px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 700px;
}
.sec05 h2 .coupon.sp-none img{
  width: 30%;
  height: auto;
}
.sec05_course{
  position: relative;
  margin: 40px auto 0;
}
.sec05_course img{
  display: block;
  position: relative;
  margin: auto;
}
.sec05 p.att{
  color: #a5a5a5;
  font-size: 1rem;
  width: 70%;
  margin: 20px auto;
}
.sec05_opp {
  margin: 40px auto;
  text-align: center;
}
.sec05_opp h3{
  font-size: 2rem;
  color: #2db6b8;
}
.sec05_opp h3 span{
  color: #ff3a5a;
}
.sec05_opp h3 span.lf{
  font-size: 1.2em;
}
.sec05_opp h4{
  color: #333;
  font-size: 2rem;
  margin: 16px 0;
  position: relative;
  border-bottom: 4px solid #333;
  padding-bottom: 5px;
  display: inline-block;
}
.sec05_opp h4 span{
  color: #ff3a5a;
}
.sec05_opp .mode-flex{
  margin: 20px auto 0;
  width: 70%;
}
.opp_set{
  border-radius: 10px;
  border: 2px solid #3a4a6f;
  width: 32%;  
}
.opp_set h5{
  background-color: #3a4a6f;
  color: #fff;
  text-align: center;
  padding: 10px;
  font-size: 1.6rem;
  line-height: 1.5;
  font-weight: normal;
}
.opp_set h5 span{
  font-size: 1.4rem;
}
.opp_set p{
  font-size: 1.6rem;
  text-align: center;
  font-weight: bold;
  padding: 10px 0;
}
.opp_set p span{
  font-size: 1.2rem;
}
.sec05_opp p.att{
  text-align: right;
  margin: 20px 0 0;
  width: 85%;
}
.sec05_coupon{
  border: 2px solid #ff4e67;
  width: 70%;
  margin: 0 auto 60px;
}
.sec05_coupon h3{
  background-color: #ff4e67;
  color: #fff;
  text-align: center;
  padding: 10px 0;
  font-size: 2rem;
}
.sec05_coupon .coupon.sp-none{
  width: 90%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: 20px auto 20px;
}
.sec05_coupon .coupon.sp-none img{
  width: 32%;
  height: auto;
}


/* === sec06 === */
.sec06 .mode-flex{
  flex-wrap: wrap;
  margin: 40px auto 20px;
  /*width: 70%;*/
}
.sec06_voice{
  width: 49%;
  border-radius: 10px;
  border: 2px solid #2db6b8;
  margin-bottom: 20px;
  position: relative;
}
.sec06_voice h3{
  background-color: #2db6b8;
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  padding: 10px 0;
  line-height: 1.6;
  min-height: 7rem;
}
.sec06_voice h3 span{
  color: #ffe530;
}
.sec06_voice p{
  padding: 20px;
  /*font-size: 1.2rem;*/
  line-height: 1.8;
  margin-bottom: 4rem;
}
.sec06_voice p.name{
  padding: 0 20px 20px;
  color: #666;
  text-align: right;
  position: absolute;
  bottom: 0;
  right: 0;
  margin:0;
}


/* === sec07 === */
.sec07 .mode-flex{
  margin: 40px 0 30px;
}
.sec07 .mode-flex dl{
  border-radius: 10px;
  border: 4px solid #3a4a6f;
  position: relative;
  width: 178px;
  font-size: 1.2rem;
}
.sec07 .mode-flex dl:after{
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 13px;
  border-color: transparent transparent transparent #3a4a6f;
  display: block;
  content:"";
  position: absolute;
  top: 20px;
  right: -15px;
}
.sec07 .mode-flex dl:last-child:after{
  display: none;
}
.sec07 .mode-flex dl dt{
  background-color: #3a4a6f;
  color: #fff;
  text-align: center;
  padding: 20px 0;
  font-weight: bold;
  font-size: 1.6rem;
}
.sec07 .mode-flex dl dd{
  padding: 20px 10px;
}
.sec07 .mode-flex dl dd ol {
  margin-left: 1.8rem;
}
.sec07 .mode-flex dl dd ol li{
  list-style-type: decimal;
  margin-bottom: 8px;
  line-height: 1.4;
}
.sec07_cnt{
  text-align: center;
  padding-bottom: 40px;
}
.sec07_cnt img.sp-none{
  display: inline;
}
.sec07_cnt p.ttl{
  font-size: 2rem;
  font-weight: bold;
  color: #2db6b8;
  margin-bottom: 20px;
}
.sec07_cnt p.ttl span{
  color: #ff4e67;
  font-size: 2.2rem;
}



/* === sec08 === */
.sec08 h2{
  color: #3a4a6f;
  font-size: 3rem;
  line-height: 1.5;
}
.sec08{
  background-image: url(../images/common/bg.png);
  background-repeat: repeat;
  padding: 20px 0 40px;
}
.sec08 .inner_1120{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.sec08_cnt{
  width: 48%;
  margin: 20px auto 0;
  background-color: #fff;
  padding: 16px 24px 0;
}
.sec08_cnt.acc{
  margin: 20px auto 0;
  background-color: #f1f1f1;
  width: 100%;
  text-align: center;
}
.sec08_cnt h3{
  margin-bottom: 10px;
}
.sec08_cnt p{
  font-size: 1.6rem;
  line-height: 1.4;
  color: #333;
  margin-bottom: 20px;
}
.sec08_cnt .traffic{
  text-align: center;
}
.sec08_cnt .traffic p{
  color: #2db6b8;
  font-size: 1.8rem;
}
.sec08_cnt .traffic ul,
.traffic ul.tr{
  width: 100%;
  display: flex;
  justify-content: center;
  margin: 30px auto 20px;
  flex-wrap: wrap;
}
.traffic ul.tr{
  justify-content: center;
}
.sec08_cnt .traffic li,
.traffic ul.tr li{
  width: 45%;
  text-align: center;
  color: #fff;
  margin: 0 1% 20px;
}
.traffic ul.tr li{
  width: 23%;
}
.sec08_cnt .traffic li span,
.traffic ul.tr li span{
  border-radius: 30px;
  margin-bottom: 10px;
  display: block;
  padding: 5px 0;
  font-size: 1.2rem;
}
.traffic .s01 li:nth-child(1) span{
  background: #b6550b;
}
.traffic .s01 li:nth-child(2) span{
  background: #fa0000;
}
.traffic .s01 li:nth-child(3) span{
  background: #00971c;
}

.traffic .s02 li:nth-child(1) span{
  background: #10a473;
}
.traffic .s02 li:nth-child(2) span{
  background: #19add0;
}
.traffic .s02 li:nth-child(3) span{
  background: #00aa8d;
}
.traffic .s02 li:nth-child(4) span{
  background: #da0042;
}
.traffic .s02 li:nth-child(5) span{
  background: #da0042;
}

.traffic .s03 li:nth-child(1) span{
  background: #10a473;
}
.traffic .s03 li:nth-child(2) span{
  background: #da0042;
}
.traffic .s03 li:nth-child(3) span{
  background: #0663b1;
}
.traffic .s03 li:nth-child(4) span{
  background: #0663b1;
}
.traffic .s03 li:nth-child(5) span{
  background: #0663b1;
}
.traffic .s03 li:nth-child(6) span{
  background: #19add0;
}

.traffic .s04 li:nth-child(1) span{
  background: #10a473;
}
.traffic .s04 li:nth-child(2) span{
  background: #b6550b;
}
.traffic .s04 li:nth-child(3) span{
  background: #F19A38;
}
.traffic .s04 li:nth-child(4) span{
  background: #8f76d6;
}
.traffic .s04 li:nth-child(5) span{
  background: #10a473;
}
.traffic .s04 li:nth-child(6) span{
  background: #da0042;
}
.traffic .s04 li:nth-child(7) span{
  background: #0663b1;
}

.traffic .s05 li:nth-child(1) span{
  background: #ed5d1b;
}
.traffic .s05 li:nth-child(2) span{
  background: #1aadd1;
}
.traffic .s05 li:nth-child(3) span{
  background: #b0cb36;
}
.traffic .s05 li:nth-child(4) span{
  background: #f08428;
}
.traffic .s05 li:nth-child(5) span{
  background: #d32a38;
}
.traffic .s05 li:nth-child(6) span{
  background: #f2d01c;
}
.traffic .s05 li:nth-child(7) span{
  background: #fa0000;
}
.traffic .s05 li:nth-child(8) span{
  background: #f19a38;
}
/* ikebukuro */
.traffic .s06 li:nth-child(1) span{
  background: #10a473;
}
.traffic .s06 li:nth-child(2) span{
  background: #fa0000;
}
.traffic .s06 li:nth-child(3) span{
  background: #b6550b;
}




.sec08_cnt .traffic p.plus{
  font-size: 1.6rem;
  color: #333;
}
.store.a_link ul{
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.store.a_link li{
  width: 100%;
  margin: 1rem;
}
.store.a_link li a{
  display: block;
  width: 100%;
  border-radius: 5px;
  background-color: #4385f5 !important;
  text-align: center;
  line-height: 3;
  transition: .5s;
  color: #fff !important;
}
.store.a_link li a:hover{
  text-decoration: none;
  color: #fff;
  opacity: .8;
}



/* === sec09 === */
.sec09 h2{
  color: #3a4a6f;
  font-size: 3rem;
  line-height: 1.5;
}
.sec09{
  background-image: url(../images/pc/sec09_bg.png);
  background-repeat: no-repeat;
  background-position: right;
  padding: 60px 0 20px;
}
.sec09 h2 img.sp-none{
  display: inline;
}
.sec09 em{
  color: #ff4e67;
  font-weight: bold;
  font-style: normal;
  font-size: 1.6rem;
}
.sec09 strong{
  color: #e51818;
  font-weight: bold;
  font-style: normal;
  text-decoration: underline;
  font-size: 1.8rem;
}


/* === sec10 === */
.sec10{
  background-image: url(../images/common/bg03.png);
  background-repeat: repeat;
  padding: 0px 0 20px;
}
.sec10 .inner_1400{
  border-radius: 10px;
  padding: 60px 0;
  margin: 0px auto;
}
.sec10_cnt{
  width: 1120px;
  margin: 0 auto;
  border-radius: 10px;
  border: 4px solid #ff4e67;
  background-color: #fff;
}
.sec10_cnt .ttl{
  background-color: #ff4e67;
  font-size: 2rem;
  text-align: center;
  padding: 24px 0;
  color: #fff;
  font-weight: bold;
}
.sec10_cnt .ttl span{
  color: #ffe530;
}
.sec10_cnt .ttl ul{
  width: 70%;
  display: table;
  margin: 20px auto;
}
.sec10_cnt .ttl ul li{
  text-align: center;
  background-color: #fff;
  border-radius: 50px;
  display: table-cell;
  vertical-align: middle;
  width: 24%;
  border: 4px solid #ff4e67;
  padding: 10px 0;
}
.sec10_cnt .ttl ul li span{
  display: none;
}
.sec10_cnt .ttl ul li img{
  width: 80%;
  height: auto;
}
.sec10_cnt .ttl ul li:nth-child(3) img{
  width: 55%;
}
.sec10_cnt .price{
  display: flex;
  justify-content: space-between;
  width: 70%;
  margin: 24px auto;
}
.sec10_cnt .price img{
  width: 30%;
  height: 100%;
}
.sec10_cnt .bottom{
  background-color: #ff4e67;
  padding: 24px 24px 8px;
  text-align: center;
}
.sec10_cnt .bottom img{
  width: 50%;
  height: 100%;
}
.sec10_cnt .bottom img.sp-none{
  display: inline;
}
.sec10_cnt .bottom p.att{
  color: #ddd;
  margin-top: 20px;
}


/* === sec11 === */
.sec11{
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  z-index: 10;
  padding: 10px 0;
  background-color: #2db6b8;
}
.sec11 .main_txt .sp-none{
  display: inline;
}
.sec11 .btn{
  height: auto;
  width: 48%;
}
.sec11 .btn a{
  width: 100%;
}
.sec11 .btn .main_txt{
  font-size: 16px;
}
.sec11 .btn .main_txt{
  width: auto;
}
.sec11 .btn a{
  padding: 15px;
}
.sec11 .btn02 a.yoyaku_tel_btn{
  margin-right: 0;
  width: auto;
}
.sec11 .btn.btn01 a:after,
.sec11 .btn.btn02 a:after{
  font-size: 2rem;
  font-weight: bold;
  top: 15px;
}


/* === footer ===*/
footer{
  padding: 40px 0 20px;
}
footer .inner_1120{
  display: flex;
  justify-content: left;
}
footer .inner_1120 ul{
  display: flex;
  justify-content: left;
  margin: 30px 0 0 2rem;
  font-size: 1.2rem;
}
footer .inner_1120 li{
  margin-right: 3rem;
}
footer .copyright{
  text-align: center;
  margin-top: 40px;
}


/* === content ===*/
#content a{
  color: #4385f5;
}
#content{
  /*border-top: 2px solid #3a4a6f;*/
  padding: 0px 0 20px;
}
#content .lead{
  margin: 5rem  auto 3rem;
  line-height: 1.5;
}
#content h1.bars{
  background-color: #fff;
  width: 100%;
  border-bottom: 10px solid #3a4a6f;
  padding: 20px 0;
  position: relative;
  font-size :2.4rem;
  color: #3a4a6f;
  margin-bottom: 3rem;
  text-align: center;
}
#content h1.bars.bg{
  background-image:url(../images/common/bg.png);
  background-repeat: repeat;
}
#content h1.bars:after{
  content:"";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 9px 13px 0 13px;
  border-color: #3a4a6f transparent transparent transparent;
  position: absolute;
  bottom: -19px;
  left: calc(50% - 13px);
}
#content h2{
  color: #2db6b8;
  font-size: 2.4rem;
  margin-bottom: 24px;
  text-align: left;
}
#content h2.main_ttl{
  font-size: 3rem;
  margin: 2.4rem auto 2.4rem;
  text-align: center;
}
#content h2.obi_ttl{
  font-size: 2.8rem;
  margin: 2rem auto;
  text-align: center;
  background-color: #f1f1f1;
  padding: 1rem 1.5rem;
  border-radius: 5px;
}

#content p{
  margin-bottom: 2rem;
}
#content .top_link{
  text-align: center;
  margin: 40px auto 20px;
}
#content .top_link a{
  display: inline-block;
  margin: auto;
  padding: 10px 20px;
  border-radius: 5px;
  border: 1px solid #ccc;
  transition: .3s;
}
#content .top_link a:hover{
  background-color: #ccc;
  text-decoration: none;
}

#content .acc_sec + .a_link{
  margin-top: 20px;
}
#content .contact + .a_link{
  margin-top: -40px;
}
#content .a_link{
  background-color: #f1f1f1;
  padding: 2rem;
}
#content .inner_1120 > .a_link:first-child{
  background-color: unset;
}
#content .a_link ul{
  margin: auto;
  display: flex;
  justify-content: space-between;
}
#content .a_link li{
  width: 100%;
  margin: 1rem;
}
#content .a_link li a{
  display: block;
  width: 100%;
  border-radius: 5px;
  border: 1px solid #ccc;
  background-color: #fff;
  text-align: center;
  line-height: 3;
  transition: .5s;
}
#content .a_link li a:hover{
  text-decoration: none;
  color: #333;
}


/* mode-flex */
#content .mode-flex img{
  width: 100%;
  height: auto;
}
#content .mode-flex.col4{
  flex-wrap: wrap;
}
#content .mode-flex.col4 img{
  width: 100%;
  height: auto;
}
#content .mode-flex.col4 > *{
  width: 24%;
}
#content .mode-flex.col2 > *{
  width: 49%;
}
#content .mode-flex.col4 li p{
  font-size: 1.2rem;
  margin: 1rem auto 2rem;
}
#content .fig_sec{
  margin: 4rem auto 0;
}
#content .fig_sec .col2 .mode-flex-img{
  width: 35%;
}
#content .fig_sec .col2 .mode-flex-txt{
  width: 60%;
  line-height: 1.6;
}
#content .fig_sec .col2 .mode-flex-txt p{
  margin-bottom: 8px;
  line-height: 1.6;
}
#content .fig_sec .col2 .mode-flex-txt ul{
  margin: 0 0 1rem 1.4rem;
}
#content .fig_sec .col2 .mode-flex-txt li{
  list-style-type: none;
}
#content .fig_sec .col2 .mode-flex-txt dl{
  margin: 0 0 10px;
}
#content .fig_sec .col2 .mode-flex-txt dd{
  margin: 0 0 10px;
}
#content .fig_sec .col2 .mode-flex-txt h3{
  color: #ff4e67;
  font-size: 1.8rem;
  margin: 0 0 16px;
}
#content .fig_sec .col2 .mode-flex-txt p + h3,
#content .fig_sec .col2 .mode-flex-txt ul + h3{
  margin-top: 24px;
}
#content .fig_sec .col2 .mode-flex-txt h3:before{
  content:"";
  width: 10px;
  height: 1.6rem;
  background-color: #ff4e67;
  margin-right: 5px;
  position: relative;
  top: 2px;
  display: inline-block;
}
#content .fig_sec .inner_1120{
  display: flex;
  justify-content: space-between;
  margin: 40px auto;
  width: 880px;
}
#content .fig_sec .inner_1120 .btn{
  border: 2px solid #4385f5;
}

/* sibuya */
#content .mode-flex_left.col4{
  flex-wrap: wrap;
}
#content .mode-flex_left.col4 li{
  margin-right: 14px;
}
#content .mode-flex_left.col4 li:nth-child(4n){
  margin: 0;
}
#content .mode-flex_left.col4 img{
  width: 100%;
  height: auto;
}
#content .mode-flex_left.col4 > *{
  width: 24%;
}
#content .mode-flex_left.col2 > *{
  width: 49%;
}
#content .mode-flex_left.col4 li p{
  font-size: 1.2rem;
  margin: 1rem auto 2rem;
}

/* store_container */
.store_container .contact{
  background-color: transparent;
}
.store_container .contact h3.normal{
  color: #4385f5 !important;
  padding: 0 !important;
}
.store_container .contact .btn {
  border: 2px solid #4385f5;
}
.store_container .contact .btn .main_txt{
  font-size: 1.8rem;
  line-height: 1.5;
}

.store_container h3{
  text-align: center;
  color: #2db6b8;
  font-size: 2rem;
  margin: 0 auto 2.4rem;
  line-height: 1.8;
}

/* store_detail */
.tab {
  margin: 4.8rem 0 3.2rem;
}
.tab ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border-bottom: 2px solid #eee;
}
.tab ul li{
  width: 19%;
  cursor: pointer;
  padding: 8px 0;
  text-align: center;
  background-color: #eee;
  border-top-left-radius: 5px;
  border-top-right-radius: 5px;
  font-size: 1.6rem;
  line-height: 1.4;
}
.tab ul li.on{
  background-color: #4385f5;
  color: #fff;
}
.store_container{
  display: none;
}
#s01.store_container{
  display: block;
}
.store_on.store_container{
  display: block;
}

.store_detail{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 0 20px;
}
.store_detail .map{
  width: 45%;
}
.store_detail .map iframe{
  width: 100%;
  height: 400px;
}
.store_detail .txt{
  width: 52%;
}
.store_detail .txt table{
  width: 100%;
}
.store_detail .txt table tr{
  border-bottom: 1px solid #eee;
}
.store_detail .txt table th,
.store_detail .txt table td{
  padding: 1rem;
  text-align: left;
  line-height: 1.8;
}


/* contact */
#content section.contact{
  margin: 2.4rem auto;
}
#content section.contact .col3 .main_txt{
  font-size: 16px;
  width: 290px;
  line-height: 1.5;
}
#content section.contact .col3 .main_txt.single{
  line-height: 55px;
}
#content section.contact.store .btn .main_txt {
  font-size: 22px;
  line-height: 1.3;
}

/* FAQ */
#content .qa{
  border-bottom: 1px solid #ccc;
}
#content section .qa.bt{
  border-top: 1px solid #ccc;
}
#content .qa dt{
  padding: 1.8rem;
  font-size: 1.8rem;
  position: relative;
  cursor: pointer;
}
#content .qa dt:after{
  content:"\f107";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  right: 2%;
  font-weight: 900;
}
#content .qa dt.active:after{
  content:"\f106";
  font-family: "Font Awesome 5 Free";
  position: absolute;
  right: 2%;
  font-weight: 900;
}
#content .qa dd{
  display: none;
  padding: 1.8rem;
  background-color: #f1f1f1;
  line-height: 1.8;
}


/* 当日の流れ */
#content #step_sec01{
  margin: 6rem auto;
}
#content #step_sec01 .mode-flex{
  margin-bottom: 4rem
}
#content #step_sec01 .mode-flex-txt{
  line-height: 1.8;
}
#content #step_sec01 .mode-flex-img img{
  width: 100%;
  height: auto;
}
#content .steps{
  display: none;
}
#content .steps.on{
  display: block;
}
.steps_tab{
  background-color: #fff;
  border-radius: 10px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto 30px;
  width: 50%;
}
.steps_tab > div{
  cursor: pointer;
  text-align: center;
  padding: .8em;
  font-size: 16px;
  width: 50%;
}

.steps_tab > div.wmen{
  border-top-left-radius: 10px;
  border-bottom-left-radius: 10px;
  border:1px solid #ff4e67;
  border-right: none;
  color: #ff4e67;
}
.steps_tab > div.men{
  border-top-right-radius: 10px;
  border-bottom-right-radius: 10px;
  border:1px solid #002f9c;
  border-left: none;
  color: #002f9c;
}
.steps_tab > div.on{
  color: #fff;
}
.steps_tab > div.wmen.on{
  background-color: #ff4e67;
}
.steps_tab > div.men.on{
  background-color: #002f9c;
}


/* 料金 */
#content .opp_set p{
  margin: 0;
}
#content .mini_tbl{
  width: 80%;
  background-image: url(../images/common/bg05.png);
  background-repeat: repeat;
  padding: 2rem;
  margin: auto;
}
#content .mini_tbl table{
  border: none;
  border-collapse: separate;
  border-spacing: 3px;
}
#content .mini_tbl table tr{
  margin-bottom: .3rem;
}
#content .mini_tbl table th{
  background-color: #fff;
  padding: 1rem;
  width: 24%;
  color: #333;
}
#content .mini_tbl table td{
  padding: 1rem;
  line-height: 1.6;
}


/* 写真 */
#content .photo{
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
}
#content .photo section{
  width: 25%;
  margin-bottom: 3rem;
}
#content .photo section .img{
  width: 100%;
  text-align: center;
}
#content .photo section .img img{
  width: 95%;
  height: auto;
}
#content .photo p{
  text-align: center;
  margin: 1rem auto;
}

.modal-overlay {
    z-index:40;
    display:none;
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:120%;
    background-color:rgba(0,0,0,0.75);
}
.modalw{
  position:fixed;
  display:none;
  z-index:41;
  width:50%;
  margin:0;
  padding:2rem;
  background:#fff;
}
.modal-box{
  display: flex;
  justify-content: space-between;
}
.modal-box .img{
  position: relative;  
  width: 46%;
}
.modal-box .img img{
  width: 100%;
  height: auto;
}
.modal-box .img:nth-child(1):after{
  display: block;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 22px;
  border-color: transparent transparent transparent #3a4a6f;
  top: calc(50% - 32px);
  right: -40px;
  position: absolute;
}

/* 191203 */
.yoyaku{
  overflow: scroll;
}
/* osaka */
.traffic .s06 li:nth-child(1) span{
  background: #10a473;
}
.traffic .s06 li:nth-child(2) span{
  background: #c80e47;
}
.tab ul{
  border-bottom: none;
  justify-content: flex-start;
}
.tab ul li{
  border-radius: 5px;
  margin: 0 1.3% 8px 0;
  width: 24%;
}
.tab ul li:nth-child(4n){
  margin-right: 0;
}
.breadcrumb{
  padding: 8px 0px;
  margin: 16px 0px;
  list-style: none;
  background-color: #ffffff;
  border-radius: 0px;
  font-size: 12px;
}
