/* http://meyerweb.com/eric/tools/css/reset/ 
     v2.0 | 20110126
    License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video{margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display: block;}
body{line-height: 1;}
ol, ul{list-style: none;}
blockquote, q{quotes: none;}
blockquote:before, blockquote:after,q:before, q:after{content: '';content: none;}
ul li{list-style: none;}
*, *:before, *:after{-webkit-box-sizing: border-box;box-sizing: border-box;}
a{text-decoration: none;-webkit-transition: all 0.3s ease 0s;transition: all 0.3s ease 0s;}
a:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
}
table{border-collapse:collapse}
/*▲▲▲ reset ▲▲▲*/
html {
	font-size: 62.5%;
}
body {
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight:400;
	color:#373234;
	overflow-x: hidden;
	line-height:1.6;
	background:#fff;
	font-size: 2rem;
}
#wrapper {
    overflow: hidden;
}
a {color:#333;}
.link {
	color:#2d5d7c;
	text-decoration: underline;
	text-underline-offset:0.2em;
}
.app a {color:#d84339;text-decoration:underline;text-underline-offset:0.2em}
.bg_green {background:#f7f7e1}
.bg_white {background:#fff}
.bg_gray {background:#f4f2f0}
.bg_yellow {background:#ffc939}
.bg_red {background:#d84339;padding: 0.5%;color:#fff}
.bg_blue {background:#272343}
.bg_black {background:#252c35}
.bold {font-weight:700}
.fw400{font-weight:400!important}
.alc {text-align: center}
.col_white {color:#fff}
.col_red {color:#d84339}
.col_black{color:#ffc939}
.col_green {color:#c8d7d2}
.col_blue {color:#272343}
.mb0 {margin-bottom:0!important}
.mb10 {margin-bottom:10px!important}
.mb20 {margin-bottom:20px!important}
.mb30 {margin-bottom:30px!important}
.mb40 {margin-bottom:40px!important}
.mb60 {margin-bottom:60px!important}
.font_italic{font-style: italic}
.auto{margin: 0 auto}
.flex_space{display:flex;justify-content:space-between}
.flex_start{display:flex;justify-content:flex-start}
#page-top img {position:fixed}
.blank_link,.under_line{text-decoration: underline;text-underline-offset: 0.2em;}
.check_circle{
	font-size: 2.4rem;
    vertical-align: -2px;
    margin-right: 5px;
	color: #87d5bb}
.pc_block,.block{
	display: block;
}
/*header*/
header {
	width:100%;
	background: url(../images/mv_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	/*background: #bfbaba;*/
}
header h1 {
	padding:0;
	margin-bottom:0;
}
header h1 img {
	width:1216px;
	margin:0 auto;
}
/*footer*/
footer {
	width:100%;
	background:#f4f2f0;
	padding:2%;
}
footer ul {
	margin-bottom:0;
	padding-top: 1%;
}
#page-top img {
    right: 28px;
    width: 70px;
    bottom: 49px;
    height: auto;
}
footer li {
    display: inline;
}
footer li a {	
	background-size: 15px;
    background-position: 26px center;
    font-size:1.6rem;
	margin-right: 20px;
}
.logo {
	width: 20%;
}
/*section*/
.sec_wrap {
	width:100%;
}
section {
	width:980px;
	margin:0 auto;
	padding: 100px 0;
}
header h1:after,
.word_01 h1:after,
.last h1:after,
.hayawari h1:after,
.hyoutei h1:after{
	display:none;
}
h1 {
	text-align: center;
	position: relative;
	line-height: 1.2;
	font-weight:700;
	font-size:4.3rem;
	padding: 12px 0;
	width:100%;
	margin-bottom:80px;
}

.word_01 h1 {
	font-size: 3.2rem;
    line-height: 1.6;
    margin-bottom: 0;
}
.word_01 .font_big{
	font-size:3.6rem;
}
.word_01 .wavy{
	text-decoration:underline wavy #d84339;
	text-underline-offset: 0.2em;
}
h1 .en{
	font-family: 'Nunito Sans', sans-serif;
	display: block;
	font-size: 2.4rem;
    letter-spacing: 0.2em;
}
.check_box{
	margin-right: 5px;
}
.last_img{
	width: 100%;
}
.fa-external-link-alt {
	padding-right:1%;
}
.dvd_contents .dvd_contents_inner {
    line-height: 1.2;
}
.dvd_contents_box h2{
	font-size: 2.8rem;
	font-weight: 700;
    text-align: left;
	/*background-image: url(../images/arrow.png);
	background-repeat: no-repeat;
	background-size: 4%;
    padding-left: 13%;*/
    margin-bottom: 40px;
}

.dvd_contents_box2 h2{
	font-size: 2.8rem;
	font-weight: 700;
    text-align: center;
	/*background-image: url(../images/arrow.png);
	background-repeat: no-repeat;
	background-size: 4%;
    padding-left: 13%;*/
    margin-bottom: 40px;
}

.sec_wrap.hayawari_wrap{
	margin-bottom: 0;
}
.contents_list {
	margin-bottom:0;
}
.border_btm {
	border-bottom:3px solid #f4f2f0;
}
.app{
	padding-bottom: 0;
}
.app h2 {
	text-align: center;
	position: relative;
	font-size:2.8rem;
	margin-bottom: 30px;
}
.app .txt{
	font-size: 2.4rem;
}
.att {
	text-align: center;
}
.att .p_01 {
    margin-bottom: 0;
}
.fa-exclamation-circle{
	padding: 0 2%;
}
.btn_area {
	padding-top: 4%;
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
}
.btn.general,
.btn.member {
	width:48%;
}
.btn{
	border-radius: 100px;
    position: relative;
    display: block;
    overflow: hidden;
    -moz-background: linear-gradient(to top, #e79b41, #ffb863);
    -webkit-background: linear-gradient(to top, #e79b41, #ffb863);
    background: linear-gradient(to top, #e79b41, #ffb863);
    transition: all 0.3s ease-in-out;
    margin: 0 auto 30px;
    width: 100%;
    height: 100px;
    line-height: 100px;
    font-size:3.2rem;
}
.btn:after {
    font-family: "Font Awesome 5 Free";
    content: '\f138';
    transition: all 0.3s ease-in-out;
    position: absolute;
    color: #fff;
    text-shadow: 0 -1px 0 #ccc;
    font-size: 3.2rem;
    right: 65px;
    bottom: 0;
}
.btn-text {
    font-weight: bold;
    display: block;
    color:#fff;
    text-align: center;
}
.btn:hover{
    transform: scale(1.05);
    transition: all 0.3s ease-in-out;
}
.btn.live {
	border:1px solid #000;
	background:#000;
}
.btn.live:hover,
.btn.member:hover,
.btn.general:hover{
	background:#fff;
}
.btn.live .btn-text:hover {
	color:#000;
	display: block;
}
.btn.member {
	border:1px solid #b7010e;
	background:#b7010e;
}
.btn.general {
	border:1px solid #000077;
	background: #000077;
}
.btn.member .btn-text:hover {
	color:#b7010e;
	display: block;
}
.btn.general .btn-text:hover {
	color:#000077;
	display: block;
}
.contents_list li:last-child, .dvd_contents li:last-child {
	margin-bottom:0;
}
.check_inner_list li:before{
	content: '・';
	position: relative;
}
.check_inner_list .content_none:before{
	content: '';
}
.check_inner_list li{
	line-height: 1.2;
	margin-bottom: 20px;
}
.fa-caret-square-right,
.fa-caret-down {
	padding-right:10px;
	color: #d84339;
	font-size: 18px;
    vertical-align: 3px;
}
.arrow_right:hover{
	color: #d84339;
}
.details_tbl {
	margin-bottom:20px;
}
.video{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	margin-bottom: 50px;
}
.video iframe{
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	/*
	width: 100%;
	height: 100%;*/
}
.video_area_wrap{
	background: #fff;
}
.video_area h1{
	background: url(../images/border_arrow.png) no-repeat;
    background-size: 43%;
    background-position: center 99%;
    padding-bottom: 4%;
    margin-bottom: 60px;
}
.youtube{
	width: 100%;
    aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
.massage_img {
	border: 1px solid #eee;
    width: 100%;
    padding: 2%;
}
.annotation {
	font-size:1.4rem;
	line-height:1.2;
}
.check li{
    background: url(../images/check.png) no-repeat;
    background-position: left 5px;
    background-size: 2%;
    padding-left: 3%;
    padding-bottom: 1%;
}
.word_02 ul li {
	margin-bottom: 10px;
	border-bottom: 1px dotted #ccc;
	text-indent: -1em;
    padding-left: 2em;
}
.check{
	font-size: 2.8rem;
    margin-bottom: 20px;
    line-height: 1.2;
}
.circle {
    padding: 2%;
}
.circle li::before {
    content: "●";
    color: rgb(227, 121, 59);
    padding-right: 1%;
}
.sample{
	border: 1px solid #ccc;
}
.word_02 h2{
	color: #2d5d7c;
	border: 1px solid #2d5d7c;
	width: 6em;
	margin: 0 auto;
	font-size: 2.4rem;
}

.sec02{
    position: relative;
}
.sec02 .box{
    background: #f5f5f5;
    padding: 4%;
}
.medal{
    position: absolute;
    top: 0;
    left: 16px;
    width: 12%;
}
.sec02 .en{
    color: #efa05e;
}
.sec02 h2{
    font-size: 2.7rem;
    margin-bottom: 40px;
}

.benefits_img{
    border: 1px solid #eee;
    width: 60%;
    filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.2));
}

.benefits_img2{
    border: 1px solid #eee;
    width: 39%;
    filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.2));
}

.dvd_contents_box{
	margin-bottom: 40px;
}

.book{
	width: 60%;
	display: block;
}
.book1{
	width: 100%;
	display: block;
}
.message{
	border: 1px solid #eee;
	margin-top: 20px;
}
.last_wrap{
	background: #272343;
}
.last{
	padding: 1% 0;
}
.last02{
	background: url(../images/last_arrow.png) no-repeat;
	background-position: top center;
	padding-top: 90px;
}
.last_box{
	background: #c8d7d2;
	padding: 4%;
	margin-bottom: 10px;
}
.last_box h2{
	line-height: 1.2;
}
.last_box ul li{
	background: url(../images/check_yellow.png) no-repeat;
	background-position: left;
	line-height: 1.2;
	margin-bottom: 10px;
}
.last_box ul li:last-of-type{
	margin-bottom: 0;
}
.last02 .annotation{
	text-align: left;
	font-size: 1.6rem;
	margin-bottom: 40px;
}
.profile table td{
	padding-bottom: 2%;
}
.word_01{
	font-size: 2.8rem;
    line-height: 2.2;
}
.word_01 li{
	text-indent: -0.6em;
    padding-left: 0.6em;
}
.verified{
	color: #2d5d7c;
	margin-right: 7px
}
.hyouka_img {
    display: block;
    margin: 0 auto;
    width: 80%;
}
.word_02 p {
	font-size: 2.4rem;
	line-height: 1.8;
}
.done_outline{
	color: #2990d3;
	margin-right: 4px;
}
.contents_list {		
	font-size:28px;
	width:775px;
}
.contents_list li {
    padding-left: 54px;
    background-size: 47px;
    margin-bottom:20px;
}
.check{
    background-size: 43px;
}
.check_inner_list {
	font-size: 2.4rem;
    margin-bottom: 30px;
}
.check_inner_list li{
	margin-bottom: 10px;
}
.profile .top {
	margin-bottom: 20px;
    padding-bottom: 27px;
}
.profile .person {
	width: 18%;
    height: 100%;
}
.profile .right .name.col_blue.bold {
	font-size:35px;
	margin-bottom:9px;
}
.profile .right {
	padding:20px;
	width: 100%;
}
.profile .right p {
	margin-bottom:0;
}
.explanation {
	margin-bottom:50px;
}
.details_tbl {
	width:100%;
}
.details_tbl th {
    vertical-align: middle;
    text-align: left;
    width: 14em;
    padding-left: 8%;
}
.details_tbl,
.details_tbl tr {
	border-bottom:2px solid #bababa;
}
.details_tbl .bd_none {
	border-bottom:none;
}
.details_tbl td {
	padding: 20px 0 20px 0;
}
.details_tbl a{
	color: #d84339;
}
.details_tbl a:hover{
	text-decoration: underline;
}
.att {
	padding:3%;
}
.att h2 {
	font-size: 2.4rem;
    padding: 10px;
    width: 100%;
    display: block;
    margin: 0 auto 30px;
}
.att .p_01 {
	font-size:2.4rem;
}
.footer_inner {
	width:980px;
	margin:0 auto;
}

.regular_price {
	padding-left:60px;
}
.discount_price {
	padding-left: 65px;
}
.message{
	width: 100%;
}
.bg_check{
	background-size: 3%;
	padding-left: 2%;
}
.circle {
    width: 75%;
}
.word_02 p, .word_02 ul {
    margin-bottom: 20px;
    font-size: 2.4rem;
}
.word_02 p { 
    line-height: 1.8;
}
.sample {
    border: 1px solid #ccc;
    width: 44%;
    margin: 0 auto;
    display: block;
}
.dvd_contents h3{
	font-size: 2.4rem;
	border-bottom: 2px dotted #272343;
	margin-bottom: 20px;
    padding-bottom: 1%;
}
.top_box{
	margin-bottom:50px;
}
.last_box h2{
	font-size: 3.6rem;
}
.last_box h3{
	font-size: 2.4rem;
	margin-bottom: 60px!important;
}
.last_box ul li{
	background-size: 2.4%;
    background-position: left 5px;
    padding-left: 3%;
    font-size: 2.4rem;
    margin-bottom: 25px;
}
.last02 .fee img{
	width: 48%;
	display: block;
	margin-bottom: 40px;
}
.last02 .btn-text {
    line-height: 1.1;
    padding-top: 3%;
    font-size: 2.6rem!important;
}
.profile table th{
	text-align: left;
	padding-right: 2%;
    width: 26%;
}
.last02{
	background-size: 13%;
}
.app .font_big{
	font-size: 3.2rem;
}
.last02 .sp_block{
	display: block;
}
.last02 h2{
	font-size: 4.5rem;
	line-height: 1.2;
}
.plan_img{
	width: 100%;
    margin: 0 0 60px 134px;
}
.plan h2{
	font-size: 2.4rem;
}
.profile h3{
	font-size: 3rem;
	text-align:center;
}
.plan h2 .font_big{
	font-size: 3rem;
}
.plan .att{
	padding: 0;
	margin-bottom: 40px;
}
.more{
	width: 80%;
}



.faq_wrap{
	background: #f4f2f0;
}
.faq h1:after{
	display: none;
}
.faq dt{
	font-weight: 700;
	color: #2d5d7c;
	font-size: 2.6rem;
    margin-bottom: 20px;
    text-indent: -1.9em;
    padding-left: 1.9em;
}
.faq dt::before{
	content: 'Q.';
    font-size: 3.6rem;
    font-weight: 400;
    margin-right: 12px;
}
.faq dd{
	padding-bottom: 2%;
    padding-left: 2%;
    border-bottom: 1px solid #c7e1d8;
    margin-bottom: 20px;
    line-height: 1.6;
}
.blank_link{
	color: #d84339;
	text-decoration: none;
}
.blank_link:hover{
	text-decoration: underline;
}
.in_page_links{
	text-decoration: underline;
	text-underline-offset: 0.2em;
	color: #d84339;
}
@media screen and (max-width: 768px) {
.plan_img {
    width: 100%;
    margin: 0;
    margin-bottom: 60px;
}
}
/*------------------------
1024pxまで
------------------------*/
@media screen and (max-width: 1024px) {
header h1 img{
	width: 98%;
	margin: 0 auto;
}
section {
    width: 94%;
}
#page-top img{
	display: none;
}
.dvd_contents .check {
    background-size: 4%;
    padding-left: 6%;
}
.plan_img {
    width: 100%;
    margin: 0;
    margin-bottom: 60px;
}
}
@media screen and (min-width: 600px) {
.pcnone {
	display:none;
}
.spnone {
	display:block;
}
}
/*
@media screen and (max-width: 766px) {
.pcnone {
	display:block;
}
.spnone {
	display:none;
}
}
*/
/*----------------------
600~912
----------------------*/
@media screen and (min-width: 600px) and (max-width: 912px) {
html{
	font-size: 45%;
}
header h1 img{
	width: 98%;
	margin: 0 auto;
}
.word_01 h1 {
    font-size: 3.2rem;
}
.last02 .btn-text {
    padding-top: 4%;
}
.dvd_contents .check{
	background-size: 4%;
    padding-left: 6%;
}
}

/*----------------------
　　　スマホ320~599px
----------------------*/
@media screen and (min-width: 320px) and (max-width: 599px) {
html{
	font-size: 45%;
}
body {
	width:100%;
	line-height:1.6;
}
.spnone {
	display:none;
}
.pcnone {
	display:block;
}
.sp_noflex{
	display: block;
}
img {
	width:100%;
}
section {
    width: 90%;
    margin: 0 auto;
    padding: 11% 0;
}
ul {
	margin-bottom:20px;
}
#page-top img {
    display: none;
}
.footer_inner {
    width: 100%;
    padding: 4%;
}
footer ul {
	font-size:1.6rem;
}
footer li{
	display: block;
}
.logo {
	width: 43%;
    display: block;
    margin-bottom:30px;
}
header{
	background: url(../images/sp_mv_bg.jpg) no-repeat;
	background-size: cover;
	width: 100%;
	padding: 0!important;
}
header h1 img{
	width: 100%!important;
}
.bg_green {
	padding-bottom:1px;
}
section.hayawari, section.hyoutei {
	width: 100%;
	padding:0;
}
.check{
	font-size: 2rem!important;
	padding-left: 0;
}
.contents_list li{
	background-size: 32px;
    background-position: top left;
    margin-bottom: 21px;
    line-height: 1.2;
}
.dvd_contents li span {
	text-indent: 0;
    padding-left: 10%!important;
	margin-bottom:20px;
	font-size: 1.3em;
	background-size: 30px;
    padding-left: 38px;
    display: block;
    background-position: left 4px;
}
.dvd_contents .check{
	padding-left: 0;
	margin-bottom: 3px;
	font-size: 2.4rem!important;
	background-size: 7%;
}
.dvd_contents_box h2 {
    text-indent: 0;
}
.dvd_contents h3 {
    font-size: 2rem;
}
.dvd_contents_inner {
	padding-left:20px;
}
.contents_list {
    padding: 20px;
	margin-bottom: 20px;
}
.contents_list ul, .dvd_contents ul {
	margin-bottom:0;
}
.word_01 ul{
	margin-bottom: 0;
}
h1 {
	width:100%;
    font-size: 3rem;
    margin-bottom: 42px;
    padding: 1.2%;
}
h1:after {
    border: 13px solid transparent;
    bottom: -26px;
    left: 45%;
	border-top-color: #272343;
}
.word_01 h1 {
	font-size: 2.4rem!important;
    line-height: 1.6;
}
.border_btm {
	margin-bottom:20px;
}
.profile img {
	width:80%;
	margin:0 auto 20px;
	display:block;
}
.profile .name {
	font-size:2.4rem!important;
}
.profile .right {
	padding:4%;
}
.profile .border_btm {
    margin-bottom: 20px;
    padding-bottom: 20px;
}
.profile .book {
	width:100%;
}
.profile .book1 {
	width:100%;
}
.details_tbl {
    width: 100%;
    margin-botom: 20px;
}
.details_tbl th,
.details_tbl td {
	display:block;
}
.details_tbl th {
	font-weight:700;
	margin-bottom: 20px;
    padding-top: 10px;
	font-size: 2rem;
	text-align: center;
	width: 100%;
	padding-left: 0;
}
.details_tbl, .details_tbl tr {
    border-bottom: 2px solid #bababa;
}
.details_tbl td {
	padding-bottom: 10px;
	font-size: 1.6rem;
}
.att{
	margin-bottom:0;
	padding:20px;
}
.app h2 {
    margin-bottom: 20px;
}
.att .p_01 {
    margin-bottom: 0;
    line-height: 1.2;
}
.btn {
	width: 100%;
	height: 74px;
	line-height:74px;
}
.btn:after {
    display: none;
}
.btn-text {
	font-size: 1.8rem;
}
.fa-caret-square-right, .fa-caret-down {
	vertical-align: -1px;
}
.chosho{
	width: 100%!important;
}
.profile .person {
    width: 60%;
}
.profile .box01{
	margin-bottom: 100px;
}
.profile table th,.profile table td{
	display: block;
}
.profile table th{
	text-align: left;
	font-weight: 700;
}
.bg_check li {
    background-size: 4%;
    background-position: left 8px;
    line-height: 1.4;
    margin-bottom: 20px;
}
.check{
	background-size: 7%;
	margin-bottom: 20px!important;
}
.check_inner_list{
	margin-bottom: 30px!important;
}
.top_box{
	margin-bottom: 50px;
}
.voice .message{
	width: 100%;
}
.app{
	margin-bottom: 30px;
}
.last h1 {
    padding-top: 6%;
}
.last_box ul li{
	background-size: 4%;
    background-position: left 3px;
    padding-left: 6%;
}
.last02 .fee img{
	margin-bottom: 20px;
	width: 100%;
}
.last02 .btn-text {
    font-size: 1.8rem!important;
    line-height: 1.2;
    padding-top: 6%!important;
}
.last_box h2 {
    font-size: 2.2rem;
}
.last02 {
    background-size: 15%;
    padding-top: 13%;
    padding-bottom: 0;
}
.last02 h1{
	font-size: 2.4rem;
}
.hyouka_img{
	width: 100%;
}
.hyoutei_wrap, .hayawari_wrap{
	margin-bottom: 0;
}
.verified{
	vertical-align: -4px;
}
.word_01 .font_big {
    font-size: 3.4rem;
}
.material-symbols-outlined.done_outline{
	font-size: 1em;
}
.dvd_contents_box{
	margin-bottom: 0;
}
.last02 h2 {
    font-size: 2.5rem;
    line-height: 1.2;
}
.plan_img{
	padding-left: 0;
}
.plan h2 {
    font-size: 2.4rem;
    margin-bottom: 30px;
}
.profile h3 {
    font-size: 2.4rem;
    margin-bottom: 30px;
}
.plan .att{
	padding: 0;
}
.faq dt {
    font-size: 2.4rem;
}
.faq dd {
    padding-bottom: 6%;
}
.faq dd:last-of-type{
	margin-bottom: 0;
}
.more{
	width: 100%;
}
.sp_flex_space{
    display:flex;justify-content:space-between
}
}
/*------------------------
小型スマホのみ
------------------------*/
@media screen and (max-width: 320px) {
body {
    font-size:30%;
}
p {
    line-height: 1.4;
}
.last02 .btn-text {
    padding-top: 7%!important;
}
.word_01 {
    font-size: 2rem;
}
.word_01 .font_big {
    font-size: 2.4rem;
}



}