@charset "UTF-8";
/* CSS Document */


.header-logo{
padding: 5px 10px;
}
.header-timer{
padding: 5px 10px;
text-align: right;
font-size: 90%;
}
.t-bg{
height: 45px;
}

@media screen and (max-width: 768px) {
.header-logo{
padding: 5px 10px;
text-align: center;
}
.header-timer{
padding: 0px 10px;
text-align: center;
font-size: 90%;
}
.t-bg{
height: 37px;
}
}


.profile{
background-image: url(../img/profile_02.png);
   height: auto;
   background-size: contain;
   letter-spacing: normal;
}
.profile-inner{
background-image: url(../img/profile_01.png);
background-repeat: no-repeat;
   background-size: contain;
   padding: 300px 45px 0px 45px;
   letter-spacing: normal;
}

@media screen and (max-width: 768px) {
.profile-inner{
background-image: none;
background-repeat: no-repeat;
   background-size: contain;
   padding: 15px 15px 0px 15px;
   letter-spacing: normal;
}
}

.spp-inner{
background-image: url("../img/spp2_02.png");
   background-size: contain;
   padding: 0px 15px 0px 15px;
   letter-spacing: normal;
}

@media screen and (max-width: 768px) {
.spp-inner{
   background-size: contain;
   padding: 0px 15px 0px 15px;
   letter-spacing: normal;
}
}


/*
---------------------------------------------------------------------------*/
.qaContainer dt {
padding: 10px 10px 10px 35px;
border-radius: 5px;
background: #cce6ff;
text-indent: -25px;
}
.qaContainer dt:before {
content: "Q.";
font-weight: bold;
margin-right: 7px;
}
.qaContainer dd {
margin: 20px 10px 40px 35px;
text-indent: -25px;
}
.qaContainer dd:before {
content: "A.";
color: #1771c6;
font-weight: bold;
margin-right: 7px;
}

/*
---------------------------------------------------------------------------*/
.qaContainer2 dt {
padding: 10px 10px 10px 35px;
border-radius: 5px;
background: var(--orange0);
text-indent: -25px;
font-weight: bold;
}
.qaContainer2 dt:before {
content: "Q.";
font-weight: bold;
margin-right: 7px;
}
.qaContainer2 dd {
margin: 20px 10px 40px 35px;
text-indent: -25px;
font-size: 95%;
}
.qaContainer2 dd:before {
content: "A.";
color: var(--orange5);
font-weight: bold;
margin-right: 7px;
}

/*申し込み
---------------------------------------------------------------------------*/
.mousikomi{
	overflow-y:scroll;
}
table.mousikomi {
  border-collapse: collapse;
  width: 100%;
  margin-bottom: 0px;
}
table.mousikomi th,
table.mousikomi td {
  padding: 15px 20px;
  border: 1px solid var(--white);
  text-align:left;
  background-color: var(--blue0);
  line-height: 140%;
}
table.mousikomi th {
  background-color: var(--base);
  text-align: left;
  color: var(--white);
  width: 25%;
  vertical-align: top;
}
.mousikomibox{
    padding:0px;
    width:100%;
}
@media screen and (max-width: 768px) {
.mousikomi{
}	
  table.mousikomi {
    border-top: 1px solid #999;
  }
  table.mousikomi td {
    display: block;
    text-align: left;
  }
  table.mousikomi th {
    display: block;
    border-top: none;
    border-bottom: none;
    width: 100%;
	text-align: center;
  }
}

#bg-wrap {background:url(../img/bg-sea.png) center/cover no-repeat fixed}
@media only screen and (max-width: 768px) {
#bg-wrap {background:none} /*PC用の背景はオフ*/
#bg-wrap::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background:url(../img/bg-sea.png) center/cover no-repeat; /*fixedをトル！*/
  -webkit-background-size:cover;/*Android4*/
  }
}

.line-bg{
height: 10px;
}
.bunkatu-inner1{
width: 80%;
text-align: center;
margin: 0 auto;
}
.bunkatu-inner2{
width: 80%;
text-align: right;
margin: 0 auto;
font-size: 80%;
}

table.bunkatu {
width: 80%;
margin: 0 auto;
border-collapse: separate;
border-spacing: 0px 15px;
}

table.bunkatu th,
table.bunkatu td {
padding:0px 10px;
text-align: right;
color: var(--red5);
}

table.bunkatu th {
background:  var(--red5);
vertical-align: middle;
text-align: left;
width: 25%;
overflow: visible;
position: relative;
color: #fff;
font-weight: bold;
font-size: 120%;
}

table.bunkatu th:after {
left: 100%;
top: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
border-color: rgba(136, 183, 213, 0);
border-left-color:  var(--red5);
border-width: 10px;
margin-top: -10px;
}
/* firefox */
@-moz-document url-prefix() {
table.bunkatu th::after {
float: right;
padding: 0;
left: 30px;
top: 10px;
content: " ";
height: 0;
width: 0;
position: relative;
pointer-events: none;
border: 10px solid transparent;
border-left: #295890 10px solid;
margin-top: -10px;
}
}

table.bunkatu td {
background: #f8f8f8;
width: 40%;
padding-left: 20px;
}






.op-inner{
   background-image: url(../img/bg-op_02.png);
   height: auto;
   background-size: contain;
   padding: 0px 30px;
}
 .del {
   color: #f00;
   text-decoration : line-through ;
 }
 .del span {
   color: #333;
 }
@media screen and (max-width: 768px) {
.op-inner{
   padding: 0px 20px 15px 20px;
}
.bunkatu-inner1{
width: 100%;
}
.bunkatu-inner2{
width: 100%;
text-align: center;
}
table.bunkatu {
width: 100%;

}
}
table {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  table-layout: fixed;
  letter-spacing: normal;
}
thead th{
  padding: 1em .8em;
  border-right: 5px solid　#fff;
}
table tr {
  background-color: #fff;
  padding: .35em;
  border-right: 5px solid　#fff;
}
table tr:nth-child(even){
  background-color: #f9f9f9;
  border-right: 5px solid　#fff;
}
table td {
  padding: .7em;
  text-align: center;
  border-right: 5px solid#fff;
}
table th {
  font-size: 1em;
  text-align: left;
  padding: 0px 15px;
  border-right: 5px solid#fff;

}
i{
  font-size:2em
}
.table-text{
font-size: 90%;
color: #333;
}
.plan1{
  background: #03A9F4;
}
.plan1_i{
  color:#03A9F4;
}
.plan4{
  background: #009688;
}
.plan4_i{
  color:#009688;
}
.plan3{
  background: #4caf50;
}
.plan3_i{
  color:#4caf50;
}
.plan2{
  background: #cddc39;
}
.plan2_i{
  color:#cddc39;
}
.price{
  color: #fff;
  font-size: 1.8em;
  margin-bottom:10px
}
.price span {
    font-size: .6em;
}

@media screen and (max-width: 600px) {
  .wrap{
     overflow-x: scroll;
  }
}


/*説明*/
.nagara-inner{
background-color: #fff;
border: 3px solid #eebd39;
margin: 0px 20px;
padding: 30px;
}
.nagara-img{
padding: 0px 20px;
}
.nagara-midasi{
background-color: var(--orange5);
color: #fff;
text-align: center;
padding: 20px 40px;
letter-spacing: normal;
}
@media screen and (max-width: 768px) {
.nagara-inner{
padding: 30px 15px;
margin: 0px 10px;
}
.nagara-img{
padding: 0px 10px;
}
.nagara-midasi{
padding: 15px 15px;
line-height: 100%;
}
}

/*サブヘッド*/

.subhead-c {           
    position:  relative;     
    display:  inline-block;
    background-color: #48aae2; 
    margin:0px 20px;      
    padding: 0px 10px;          
}
.subhead-c-wrap {
    position: relative;      
	margin-bottom:0px;
	text-align: center;
}
.subhead-c-wrap:before {
    content:  '';           
    background-color: #ffef5a;
    display:  block;        
    position:  absolute;   
    left:  0;              
    width:  100%;       
    height:  1px;     
    top: 0;            
    bottom:  0;           
    margin:  auto;
}
.sub-text-mini{
font-size: 120%;
color: #ffef5a;
}
.sub-text{
font-size: 180%;
font-weight: bold;
line-height: 150%;
}
.sub-text span{
color: #fffae2;
font-weight: bold;
font-size: 130%;
}
@media only screen and (max-width: 768px) {
.sub-text-mini{
font-size: 100%;
}
.sub-text{
font-size: 130%;
}
}

/*おすすめ*/
.osususu-inner{
padding: 0px 80px;
text-align: left;
}
@media only screen and (max-width: 768px) {
.osususu-inner{
padding: 0px 15px;
text-align: left;
}
}
.orange-line{
background-color: #eebd39;
height: 3px;
}

/*動画*/
.douga{
font-size: 250%;
font-weight: bold;
padding-top: 15px;
color: #fa8c06;
line-height: 140%;
letter-spacing: normal;
}
@media only screen and (max-width: 768px) {
.douga{
font-size: 140%;
}
}





/* テキストの後ろにarrow */
.my-btn a:after {
  content: '»';
  display: inline-block;
  color: #333333;
  padding-left: 10px;
  font-size: 120%;
}
/* 767px（iPad）以下 */
@media (max-width: 767px) {
  .my-btn a {
    width: 90%;
  }
}
@media only screen and (max-width: 768px) {
.my-btn {
  text-align: center;
	padding: 0px 30px;
}	
}	
	
.contents02{
	background-color: var( --base1);
	color: #ffffff;
}	
.pf{
	background-color: #F2F3F4;	

	padding: 30px;
}
@media only screen and (max-width: 768px) {
.pf{

	padding: 15px;

	}
	}



.pf-border{
	border: 1px solid  var( --base1);
	background-color: #fff;
}
.pf-inner{
	padding: 7px 20px 5px 20px;
	font-size: 110%;
	font-weight: bold;
}
@media only screen and (max-width: 768px) {
.pf-inner{
	font-size: 100%;	
}
}
.border2{
	border-bottom: double 4px #ffffff;
		padding: 50px 0px 50px 0px;

}

.kbc-inner3{
	padding:0px 0px;
	text-align:left;
}
.cts-inner{
	padding:10px 50px;
	text-align:left;
	background-image: url("../img/cts_03.png");
	background-size: contain;
}
@media only screen and (max-width: 768px) {
	.kbc-inner3{
	padding:0px 15px;
	text-align:left;
}
.cts-inner{
	padding:10px 15px;
	text-align:left;
	background-image: url("../img/cts_03.png");
	background-size: contain;
	
}
}

.t01{
font-size: 100%;
color: #DD3E61;
font-weight: bold;
}	
	
.t02{
font-size: 100%;
font-weight: bold;
}




.t03{
font-size: 100%;
color: #DD3E61;
font-weight: bold;
    display: inline-block;
    padding: 0;
    border-bottom: 10px solid #FCEE21 ;
    text-decoration: none;
    line-height: 0.3;
}	

.t04{
font-size: 110%;
font-weight: bold;
background:linear-gradient(transparent 75%, #FFD000 75%);
font-weight:bold; 
}


.wrapper.waku {
border: solid 10px #010631;
margin-bottom: 80px;
}

@media only screen and (max-width: 768px) {
.wrapper.waku {
border-width: 5px;
margin: 0 auto 50px auto;
width: 96%;
}
}

.line02 {
    height: 24px;
    background-repeat: no-repeat;
    background-position: center center;
    background-position: 50% 0%;
    text-align: center;
    background-image: url(../img/line02.png);
}
.bg-fix_05 {
    margin: 80px 0;
    height: auto;
    background-repeat: repeat;
    background-position: center center;
    background-position: 50% 0%;
    background-attachment: fixed;
    background-image: url(../img/bg5.png);
    text-align: center;
}
.bg-fix_05 .wrapper {
    padding: 80px 0;
}

.bg-fix_05 .wrapper .bg-rp-img10-30-0 {
    background-color: transparent;
}

@media only screen and (max-width: 768px) {
.bg-fix_05 {
    margin: 50px 0;
}
.bg-fix_05 .wrapper {
    padding: 50px 0;
}
}