@charset "utf-8";



body {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "A-OTF 新ゴ Pro",A-OTF Shin Go Pro,Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	
	font-family: Avenir, "Open Sans", "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, 游ゴシック, "Yu Gothic", 游ゴシック体, YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-family: 'Roboto', Helvetica, Arial, Verdana, '游ゴシック', "Yu Gothic", '游ゴシック体', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", 'メイリオ', Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size:125%;/* 20px */
	line-height:1.8;
	background:url("../images/bg.png") fixed;
	color: #000;
  font-feature-settings: "palt";
  text-align: justify;
}
header {
  background: url(../images/bg_header.jpg) center top no-repeat fixed;
	overflow: hidden;
}
h1 {
	padding: 2em 0 1.25em;
	
  text-indent: -9999px;
	}
h2 {
	margin:1.5em auto;
  padding: 1.2em 0;
/*	box-shadow: 0 0 5px rgba(0,0,0,0.3);*/
  background: url("../images/bg_subhead.jpg") center center;
	background-size: cover;
  color: #fff;
	font-size:2em;
  text-align: center;
	line-height: 1.3;
	}
h2 .red {
	color: #ffff33;
}
section.video h2 {
	margin-top: 0;
}

img {
	display:block;
	margin:0 auto;
	max-width: 100%;
}

.large {
	font-size:120%;
	}

.xlarge {
	font-size:144%;
	}

.xxlarge {
	font-size:172.8%;
	}
.small {
	font-size:82.5%;
	}
.xsmall {
	font-size:62.5%;
	}
.xxsmall {
	font-size:56.25%;
	}	
.u {
	text-decoration:underline;
}
.red {
	color:#cc2200;
	color:#e50039;
}
.blue {
	color: #1476c7;
}
.bg_blue {padding: 0.2em; background-color: #00c5e1;color: #fff;}
.highlight {
	background-color:#ffe566;
}
.redhigh {
	color:#cc2200;
	color:#e50039;
	background-color:#ffe566;
	}
.pic_right{
	float: right;
	margin: 10px 0 10px 10px;
	max-width: 300px;
	box-shadow: 0 0 5px rgba(0,0,0,0.2);
}
.pconly{display: inline-block;}
.sponly{display: none;}

.bull01::before {
	content: "\f14a";
	margin-right: 0.5em;
	color:#e50039;
	font-family: FontAwesome;
}
.bull02::before {
	content: "\f138";
	margin-right: 0.5em;
	color:#00c5e1;
	font-family: FontAwesome;
}
.indent {
	display: inline-block;
	padding-left: 1.5em;
	text-indent: -1.5em;
}
.ishiki {
	width: 640px;
	max-width: 96%;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
strong {
	font-weight:bold;
	color: #222;
	}
#wrapper {
	margin:0 auto;
	background: url("../images/shadow.png") center center repeat-y;
}
main {
}
.container{
}
footer {
	margin:0 auto;
	padding:20px 0;
	background: #000;
	color: #fff;
	text-align:center;
	font-size: smaller;
}
footer a {
	color:#fff;
	text-decoration:underline;
}

footer a:hover {
}
address {
	font-style:normal;
}

.copys {
	display: flex;
	justify-content: space-between;
	margin: 20px auto 0;
	width: 900px;
	max-width: 100%;
}



/*
 *		common
 */

section {
}

section div.container {
	margin: 0 auto;
	width: 980px;
	max-width: 96%;
}


/*
 *		video
 */

section.video {
}

section.video h2 {
	margin-bottom: 1.5em;
}

section.video div.container {
	width: 960px;
	max-width: 100%;
}

.wrap_video {
  position: relative;
  padding-top: 56.25%;
  width: 100%;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}
.wrap_video iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.wrap_video:first-of-type {
	margin-bottom: 3em;
}


/*
 *		lead
 */

.lead {
	padding-bottom: 2em;
	background: url("../images/bg_subhead02.png") fixed;
	font-size: 1.2em;
}

.lead h2 {
	margin-top: 0;
}

.lead + section {
	padding-top: 2em;
}


/*
 *		test
 */

.test h2:first-of-type {
	margin-bottom: 0;
}

.test h2 + h2 {
	margin-top: 0;
	padding: 1.5em 0;
	background: url("../images/bg_subhead02.png") fixed;
	color: #1476c7;
	font-size: 2em;
}


/*
 *		program
 */

.program .container {
  margin: 0 auto;
  padding: 3em;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background: #fff;
}

.program h3 {
	margin: 2em auto 0;
	font-size:1.2em; 
}

.program h3 span {
	display: inline-block;
	margin-right: 0.5em;
	padding: 0 1em;
	border-radius: 0.2em 0.2em 0 0;
	background: #00c5e1;
	color: #fff;
}

.program h3 + p {
	position: relative;
	padding: 2em;
	border-top: 3px solid #4077a1;
	background: #f8f8f8;
	color: #222;
}

.program h3 + p::after {
	content: '';
	position: absolute;
	top:0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: 3px;
	border: 1px solid #fff;
	z-index: 10;
}



.program h3 + p + p {
	margin-top: 2em;
}


/*
 *		schedule
 */

.schedule {
}

.schedule h3 {
	margin: 0 auto 1em;
	padding: 0.5em 0 0.4em;
	background: #e50039;
	color: #fff;
	font-size: 1.2em;
	line-height: 1.2;
	text-align: center;
}

.schedule dl {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	width: 900px;
	max-width: 100%;
}

.schedule dt {
	margin-right: 1em;
	margin-bottom: 0.3em;
	padding: 0 0.5em;
	width: 4em;
	background: #00c5e1;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

.schedule dt:nth-of-type(even) {
	margin-bottom: 1em;
}

.schedule dd{
	width: calc( 100% - 5.5em );
	color: #444;
	font-weight: bold;
}

.schedule .container {
  margin: 0 auto;
  padding: 3em;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background: #fff;
}

/*.schedule .container::before {
    content: "";
    position: absolute;
    margin: 3px;
    border: 1px solid #00cb33;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
}*/


.att {
  background: #fff;
  border:2px solid #f2fff7;
  font-size: 75%;
}


/*
 *		how
 */

.how .container {
  margin: 0 auto;
  padding: 3em;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background: #fff;
	
	counter-reset: whose 0;
}

.how .container .who {
	color: #444;
	font-weight: bold;
}

.how .container h3 {
	display: flex;
	margin: 0.5em auto;
	background: #f8f8f8;
	font-size: 1.2em;
}

.how .container h3::before {
	display: flex;
	justify-content: center;
	align-items: center;
	counter-increment: whose 1;
	content: counter(whose);
	
	margin-right: 0.5em;
	padding: 0 0.6em;
	background: #00c5e1;
	color: #fff;
}

.how .container h4 {
	font-size: 1.2em;
}

.how .container h4 + p {
	margin: 1em auto 2em;
	padding-bottom: 1.5em;
	border-bottom: 1px solid #D8D8D8;
}


/*
 *		bonus
 */

.bonus .con_video {
	margin: 0 auto 2.5em;
	width: 960px;
	max-width: 100%;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.bonus .con_video h3 {
	
	padding: 0.5em 0;
	background: #00c5e1;
	color: #fff;
	text-align: center;
}

.bonus .container {
  margin: 0 auto;
  padding: 3em;
  box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background: #fff;
}

.bonus .container h3 {
	margin-bottom: 1em;
	padding: 0.5em 0;
	background: #e50039;
	color: #fff;
	text-align: center;
	font-size: 1.5em;
}

.bonus h4 {
	margin-bottom: 1em;
	color: #00c5e1;
	text-align: center;
	font-size: 1.5em;
	line-height: 1.3;
}


.bonus ul {
	position: relative;
	margin: 2em auto;
	padding: 2em;
	background: #f8f8f8;
	list-style: none;
	font-weight: bold;
}

.bonus ul::after {
	content: '';
	position: absolute;
	top:0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	margin: 3px;
	border: 1px solid #fff;
	z-index: 10;
}


.bonus ul li {
	margin-bottom: 0.5em;
}

.bonus ul li:last-of-type {
	margin-bottom: 0;
}

.bonus ul span {
	display: inline-block;
	margin-right: 0.75em;
	padding: 0 1em;
	width: 5em;
	background: #00c5e1;
	color: #fff;
	text-align: center;
}

.bonus .when {
	margin: 1em auto 3em;
	padding: 1em;
	background: #f8f8f8;
	font-size: 87.5%;
}

/*
 *		bonus03
 */


.bonus.bonus03 .when {
	margin: 1em auto;
}


/*
 *		pfl
 */


section.text.pfl  {
  background: #fff0f3;
}


section.text.pfl .container p {
	padding: 80px 40px;
}

.pfl h2 {
	background: url("../images/bg_hdpfl.jpg") center center no-repeat;
}

.img_what {
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}

/*
 *		text
 */

section.text h2 {
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
  line-height: 1.2;
}

section.text .container p {
  margin: 0 auto;
  padding: 50px 40px;
  width: 980px;
}


/*
 *		point02
 */	

dl.point02 {
	position: relative;
	margin: 0 auto;
	padding: 2em;
	width: 960px;
  background: #fff0f3;
	counter-reset: number 0;
}

dl.point02::before {
    content: "";
    position: absolute;
    margin: 3px;
    border: 1px solid #000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
}

dl.point02 dt {
	margin-top: 1.5em;
	padding: 0.5em 1em;
	background: #00b32d;
	color: #fff;
	font-size: 1.25em;
	font-weight: bold;
}

dl.point02 dt::before {
	 counter-increment: number 1;
	content:counter(number) ", ";
}

dl.point02 dt:first-of-type {
	margin-top: 0;
}


dl.point02 dd {
	padding: 1em;
	padding-left: 3em;
	background: #fff;
	font-size: 1em;
	font-weight: bold;
}


.sign {
	text-align: right;
	font-family: serif;
	font-size: 2.4em;
}



/*
 *		お申込み
 */	

.apply {
  padding-bottom: 50px;
  background: #fff0f3;
}

.apply h2{
  position: relative;
  box-shadow: 0 0 10px rgba(0,0,0,0.4);
}

.price {
margin-top: 12px;
}



/*
 *		フォーム前
 */	

.to_form {
	background: url(../images/bg_header.jpg) center center no-repeat fixed;
	background-size: cover;
}

.to_form h2 {
	margin-bottom: 0;
	padding-top: 1.8em;
	background: none;
}

.to_form .red {
	color: #ffff33;
}

.to_form .container p {
	padding-bottom: 3em;
/*	color: #1476c7;
	color: #00076e;
	text-shadow: 0 0 10px #00076e;*/
	color: #fff;
	text-align: center;
	font-size: 1.75em;
	font-weight: bold;
}


/*
 *		プロフィール
 */	

.profile h2 {
	margin-top: 0;
}

.profile .container {
  margin: 50px auto;
  padding: 2.5em;
  width: 840px;
  background: #fff;
  box-shadow: 0 0 20px rgba(0,0,0,0.1);
}

.profile .con_hdprof {
  display: flex;
  justify-content: space-between;
	align-items: flex-start;
}

.profile h3 {
  padding-left: 0.5em;
  border-left: 6px solid #00c5e1;
  line-height: 1.4;
  font-size:180%;
}

.profile h3 .ruby {
  font-size: 50%;
}

.profile .titles {
  margin-top: 1em;
  font-weight: bold;
  list-style: inside;
}

.profile .pic_hdprof {
  display: inline;
  margin: 0;
  width: 150px;
  box-shadow: 0 0 5px rgba(0,0,0,0.3);
}

.profile .container p {
  margin: 1em auto 2em;
}


.profile h4 {
  display: flex;
  align-items: center;
  margin-bottom: 0.5em;
  font-size: 150%;
  line-height: 1;
}

.profile h4:after {
  margin-left: 1em;
  border-top: 3px solid #00c5e1;
  content: "";
  flex-grow: 1;
}

.profile .con_book {
  display: flex;
  justify-content: flex-start;
}

.profile .con_book img {
  margin: 0;
  margin-right: 1em;
  width: 180px;
  box-shadow: 0 0 5px rgba(0,0,0,0.2);
}


.dw {
  position: relative;
  display: inline-block;
  margin: 2em auto 0;
  font-family: serif;
  font-size: 1.25em;
  font-weight: bold;
}

.img_dw {
  position: absolute;
  left: 450px;
  width: 150px;
}


.dwn {
  display: inline-block;
  margin-top: 1em;
}


.att01{
	margin: 0 auto 20px;
	padding: 10px;
	width: 840px;
	max-width: 100%;
	background: #fff;
	font-size: 75%;
}

.att01 h3{margin: 0 auto; padding: 0!important; background: none!important; text-align: center; font-size: larger;}

.att01 p{
	 margin: 0 auto!important;
    padding: 10px;
    background: #fff;
	line-height: 1.5;
	font-weight: normal;
	box-shadow: none;
}


/*
 *		フォーム
 */

.form {
  padding: 0 0 4em;
}

/*.form h2 {
  padding: 0;
  background: none;
}*/

.wrap_form {
}

/*.video + section.form .submit {
	margin-top: 3em;
}*/

.submit {
	margin: 2.5em auto;
	padding: 3em 0;
	width: 960px;
	max-width: 100%;
	background: #fff;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.submit .btn {
	display:block;
	margin:25px auto 0;
	width:840px;
	max-width: 100%;
	border-radius: 16px;
	box-shadow: 0 0 5px rgba(0,0,0,0.5);
}
.deco {/* フォームの入力欄装飾用 */
	display:block;
	margin: 0 auto;
	margin-bottom: 20px;
	padding:10px 6px 4px;
	width: 840px;
	max-width: 100%;
	height:108px;
	border: 4px solid #00c5e1;
	background:#fff;
	color:#00c5e1;
	text-align:center;
	font-size: 1.5em;
	font-weight: bold;
}

.btn {
 	animation-name:btn-animation-f;
	animation-iteration-count: infinite;
	animation-duration:2s;
}

/*.btn {
  display: block;
  margin: 30px auto 20px;
  width: 840px;
  height: 150px;
  background: url("../images/button.png") center top no-repeat;
  text-indent: -9999px;
  }
  
.btn:hover {
  background-position: center bottom;
}*/

.caution {
  margin: 0 auto;
padding: 1em;
  width: 840px;
	max-width: 100%;
	background: #fff;
	color: #333;
  font-size: 75%;
	font-weight: bold;
	text-align: center;
}

.caution + p {
	text-decoration: underline;
	text-align: center;
}

@keyframes btn-animation-f {
    0% {
        transform: scale(1, 1)
    }
    20% {
        transform: scale(1.02, 1.02)
    }
    40% {
        transform: scale(1, 1)
    }
    60% {
        transform: scale(1.02, 1.02)
    }
    80% {
        transform: scale(1, 1)
    }
    85% {
        transform: skewX(10deg)
    }
    90% {
        transform: skewX(-10deg)
    }
    95% {
        transform: skewX(10deg)
    }
    100% {
        transform: skewX(-10deg)
    }
}


/*
 *		フォームここまで
 */





/*
 *		特商法
 */	

/* Tokutei Table
------------------------------------------------------*/
.tb01{
	width:720px;
	margin:30px auto 30px;
	background:#ccc;
}
.tb01 .title{
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #FFFFFF;
	background-color:#EBEBEB;
	padding:6px;
	width:25%;
}
.tb01 td{
	font-size: 12px;
	vertical-align: top;
	background-color:#FFFFFF;
	padding:6px;
}

	
@media screen and (max-width: 1023px) {
	
	h2 {font-size: 1em;	}
	.pconly{display: none;}
	.sponly{display: inline-block;}
	.xlarge {font-size: 125%;}
	.xxlarge{font-size: 150%;}
	
	.pic_right{
		float: none;
		margin: 0 auto 1em;
		max-width: 96%;
		box-shadow: 0 0 5px rgba(0,0,0,0.2);
	}
	
	header {
    background: url(../images/bg_header.jpg) center top no-repeat;
    overflow: hidden;
	}
	
	footer {
		font-size: 50%;
	}
	
	section.video h2 {margin-bottom: 0;}

	.lead {font-size: 1em;}
	.lead h2{margin-top: 0;}
	
.schedule table caption {
  width: calc(100% - 4px);
  line-height: 1.2;
}

.schedule table th,
.schedule table td {
  display: block;
}

.date {text-align: center;}

	.test h2 {font-size: 87.5%;}
	.test h2 + h2{font-size: 1em;}
	
	.program .container{
		padding: 4vw;
	}
	
	.program h3 + p {padding: 4vw;}
	
	.program h3 {
		margin-top: 0.5em;
		padding-bottom: 0.5em;
		font-size: 1em;
		line-height: 1.3;
	}
	.program h3 span {
		display: block;
		margin-bottom: 0.5em;
		padding: 0.5em 0;
		width: 100%;
		text-align: center;
	}
	
	.schedule .container {
		padding: 2vw;
	}
	.schedule h3 {padding: 4vw 1vw;}
	
	.schedule dl {display: block;}
	.schedule dt,
	.schedule dd {
		width: 100%;
	}
	
	.schedule dt:nth-of-type(even) {margin-bottom: 0;}
		.schedule dd {
			margin-bottom: 0.2em;
			line-height: 1.4;
	}

	.how .container {
		padding: 4vw;
	}
	.how .container h3 {
		display: block;
		padding: 0.25em 0;
	}

	
	.how .container h3::before {
		width:100%;
	}

	.bonus .container {
		padding: 4vw;
	}
	
	
	.bonus ul {padding: 0;}
	.bonus ul:after {content:none;}
	
	.bonus ul span {display: block;width: 100%;}
	
	.bonus .when {padding: 4vw;}
	
	.bonus.bonus03 h2 .large {font-size: 1em;}
	.bonus.bonus03 h4 {font-size: 1em;}
	.bonus.bonus03 li {text-align: center;}
	
	.to_form {
    background: url(../images/bg_header.jpg) center center no-repeat;
    background-size: cover;
	}
	.to_form .container p {font-size: 1em;}
	
	.form{padding-bottom: 0.5em;}
	
	.form h2 {margin: 0 auto;}
	
	.submit {margin-top: 0;padding: 2vw;}
	.deco {margin-bottom: 0.2em; height: 3em;border-width: 2px; font-size: 1em;}
	.submit .btn {margin-top: 0.5em;}
	
	
.profile .container {
  padding: 2vw;
  width: 96vw;
}

	.ruby {display: block;}
	
.con_hdprof {
  flex-direction: column;
}


.profile .pic_hdprof {
  display: block;
  margin: 1em auto 0;
  width: 540px;
  }
	
	.profile .con_book {
		flex-direction: column;
	}
	
	.profile .con_book img {
		margin: 0 auto 1em;
	}
	

  .img_dw {
    position: static;
    margin-bottom: 1em;
    width: 360px;
  }
  
	dl.point02 {padding: 0.5em;}
  
	dl.point02 dt {
		margin-top: 0.5em;
	}
	
	.day + td {background: #fff;color: #222;}
}