@charset "UTF-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjp.css');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Prata');

html{
	font-size: 62.5%;
}
body{
	font-family: "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 2rem;
	line-height: 2.8rem;
	color: #414450;
	letter-spacing: 0.1rem;
	font-feature-settings: "palt" 1;
}
img{
	height: auto;
	max-width: 100%;
	max-height: 100%;
}
p{
	margin: 0;
}
a,
a > *{
	color: #000;
	transition: all 0.2s ease;
}
a:focus,
*:focus {
	outline:none;
}
a:hover{
	text-decoration: none;
	color: inherit;
}
ol, ul, dl, dt, dd{
	margin: 0;
	list-style: none;
	padding: 0;
}
h1, h2, h3, h4, h5, h6{
	margin: 0;
	counter-reset: number 0;
}
h3{
	font-size: 3.5rem;
	line-height: 5rem;
	font-weight: normal;
}
.h3--bold{
	font-weight: bold;
	display: block;
	color: #212327;
	position: inherit;
	z-index: 50;
}

.pcbr{
	display: inline-block;
}
.spbr{
	display: none;
}

.contents{
	width: 94%;
	max-width: 1290px;
	margin: 0 auto;
}
.contents--small{
	width: 94%;
	max-width: 980px;
	margin: 0 auto;
}
.contents--middle{
	width: 94%;
	max-width: 1000px;
	margin: 0 auto;
}
.contents--big{
	width: 94%;
	max-width: 1100px;
	margin: 0 auto;
}

.default__btn{
	font-size: 1.5rem;
	color: #fff;
	display: inline-block;
	padding: 12px 60px;
	text-align: center;
	background: #cc111a;
	border: #cc111a solid 1px;
	position: relative;
}
.default__btn::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -3px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 7px;
	height: 7px;
}
.default__btn:hover{
	color: #cc111a;
	background: #fff;
	font-weight: 700;
}
.default__btn:hover::after{
	border-top: 2px solid #cc111a;
	border-right: 2px solid #cc111a;
}

.default__btn02{
	font-size: 1.5rem;
	color: #cc111a;
	font-weight: 700;
	display: inline-block;
	padding: 12px 60px;
	text-align: center;
	background: #fff;
	border: #cc111a solid 1px;
	position: relative;
}
.default__btn02::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 15px;
	margin-top: -3px;
	border-top: 2px solid #cc111a;
	border-right: 2px solid #cc111a;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 7px;
	height: 7px;
}
.default__btn02:hover{
	color: #fff;
	background: #cc111a;
	font-weight: 400;
}
.default__btn02:hover::after{
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}


.common__h2{
	font-family: 'Noto Serif JP', serif;
	font-size: 4.5rem;
	line-height: 5.4rem;
	color: #222;
	font-weight: 400;
	margin: 0 0 3rem;
}


/* ==================== HEADER ==================== */
.header__contents{
	padding: 2rem 0 2.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.logo {
	transition: all 0.2s ease;
	width: 260px;
}

.logo2nd {
	transition: all 0.2s ease;
	width: 260px;
}
.logo2nd:hover{
	opacity: 0.5;
}
.header__link__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 36px 0 0;
}
.header__link__item{
	margin: 0 20px;
}
.header__link{
	font-family: 'Prata', serif;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
}
.header__link:hover{
	border-bottom: #000 solid 1px;
}
.header__right{
	text-align: right;
}
.header__right__txt{
	font-size: 1.5rem;
	color: #505050;
	margin: 0 0 0.6rem;
}

.spmenu__toggle,
.spmenu{
	display: none;
}

/* ==================== CONTENTS ==================== */
/*------------------------------ TOP ------------------------------ */
.mv{
	background-image: url(../img/mv.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 32rem 0;
	color: #fff;
	text-align: center;
}
.mv__txt{
	font-family: 'Noto Serif JP', serif;
	font-size: 10.8rem;
	line-height: 10.8rem;
	letter-spacing: -0.1em;
	margin: 0 0 3rem;
	display: flex;
	justify-content: center;
}
.mv__txt__left{
	letter-spacing: -0.35em;
	margin: 0 0 0 1.5rem;
}
.mv__txt__middle{
	margin: 0 -3.2rem 0 2.5rem;
}
.mv__txt__right{
	margin: 0 2.5rem 0 -2.5rem;
	letter-spacing: 0.1rem;
}
.mv__txt--min{
	font-size: 1.95rem;
}

.top__intro{
	color: #222;
}
.top__intro__contents{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 13rem 0;
}
.top__intro__txt{
	font-family: 'Noto Serif JP', serif;
	font-size: 4.5rem;
	font-weight: 500;
	margin: 0 0 1rem;
	padding: 0 2% 0 7%;
}
.top__intro__txt--item{
	line-height: 4rem;
	margin: 0 0 4rem;
	letter-spacing: 0.1em;
	position: relative;
	display: table;
}
.top__intro__txt--item:last-of-type{
	margin: 0 0 4rem;
}
.top__intro__txt--min{
	font-size: 1.5rem;
	color: #414450;
	display: block;
}
.top__intro__txt--pos{
    position: absolute;
    top: -20px;
    right: 35px;
    font-size: 1.1rem;
	color: #000;
}
.top__intro02{
	text-align: center;
}
.top__intro02__list__wrap{
	background:linear-gradient(180deg,#fff 0%,#fff 40%,#cc111a 40%,#cc111a 100%);
	padding: 5rem 0 7rem;
}
.top__intro02__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
}
.top__intro02__item{
	background: #fff;
	width: 23.95%;
	margin: 0 1.4% 0 0;
	padding: 4rem 2%;
	text-align: center;
	box-shadow: 0px 0px 20px 0px rgba(0, 0, 0, 0.1);
	border-radius: 5%;
}
.top__intro02__item:last-child{
	margin: 0;
}
.top__intro02__num{
	font-family: 'Prata', serif;
	font-size: 1.8rem;
	color: #cc111a;
	margin: 2rem 0 1rem;
	display: block;
}
.top__intro02__tit--eng{
	font-family: 'Prata', serif;
	font-size: 2.8rem;
	color: #cc111a;
	margin: 0 0 1rem;
	display: block;
}
.top__intro02__tit--jp{
	font-size: 2rem;
	font-weight: 600;
	color: #222;
	margin: 0 0 2rem;
}
.top__intro02__txt{}
.top__links{
	padding: 10rem 0 0;
}
.top__links__item{
	position: relative;
}
.top__link--box{
	position: absolute;
	bottom: 20rem;
	right: 0;
	z-index: -1;
	width: 60%;
	height: 30rem;
	background: #eff1f6;
}
.top__links__item:nth-child(even) .top__link--box{
	right: auto;
	left: 0;
}
.top__links__inner{
	padding: 0 0 28rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.top__links__item--cont{
	width: 50%;
}
.top__links__tit{
	margin: 0 0 3rem;
}
.top__links__tit--jp{
	font-family: 'Noto Serif JP', serif;
	font-size: 3.4rem;
	line-height: 4.2rem;
	color: #222;
	margin: 0 0 3rem;
}
.top__links--txt{
	margin: 0 0 3rem;
}
.top__links__img{
	max-width: 45%;
}
.top__links__img--sp{
	display: none;
}
.about__corner{
	padding: 0 0 10rem;
	text-align: center;
}
.about__corner__tit{
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	line-height: 4.2rem;
	color: #222;
	margin: 0 0 3rem;
}
.about__corner__SPlist{
	display: none;
}
.about__corner__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 3rem 0 0;
}
.about__corner__item{
	width: 21%;
	height: 12em;
	margin: 0 0.3% 0 0;
	border: #c2c6cf solid 1px;
}
.about__corner__item:last-child{
	/*margin: 0;*/
}
.about__corner__dotw{
	font-family: 'Prata', serif;
	font-size: 1.8rem;
	color: #fff;
	background: #414450;
	padding: 1.4rem;
}
.about__corner__dotw--sun{
	background: #cc111a;
}
.about__corner__detail__list{
	text-align: left;
	padding: 1rem 0 3rem 1rem;
	font-size: 1.8rem;
	letter-spacing: 0;
	line-height: 4rem;
}
.about__corner__detail__list__img{
	    height: 28px;
}
.about__corner__detail__item::before{
	content: '●';
}
.top__faq{
	display: flex;
	justify-content: center;
}
.top__faq__wrap{
	display: flex;
	align-items: center;
	font-size: 2.3rem;
	letter-spacing: 0.1em;	
}
.top__faq__wrap__description{
	position: relative;
	font-weight: 800;
    line-height: 1.5em;
    background-color: #e1e1e1e1;
    padding: 3rem 10rem;	
}
.top__faq__wrap__description__br{
	display: block;
}
.top__faq__wrap__description__underline{
	text-decoration: underline;
	color: #cc111a;
}
.top__faq__wrap__balloon{
	position: relative;
	display: inline-flex;
	align-items: center;
    justify-content: center;
	margin: 1.5em 0 1.5em 15px;
	padding: 0 5px;
	width: 150px;
	height: 150px;
	vertical-align: middle;
	text-align: center;
	color: #FFF;
	font-size: 1em;
	font-weight: bold;
	background: #cc111a;
	border-radius: 50%;
	box-sizing: border-box;
	
}

.top__faq__wrap__balloon:before{
	content: "";
	position: absolute;
	top: 50%;
	left: -25px;
	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #cc111a;
	z-index: 0;
}
/*------------------------------ LOWER_COMMON ------------------------------ */
.lower__mv{
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 12.5rem 0;
}

/*------------------------------ ABOUT ------------------------------ */
.about__mv{
	background-image: url(../img/about_mv.jpg);
}
.about__intro{
	text-align: center;
	overflow: hidden;
	padding: 10rem 0 0;
}
.about__intro__tit--jp{
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	line-height: 5.4rem;
	margin: 5rem 0 2rem;
}
.about__intro__img{
	margin: 6rem 0 -18rem;
	max-width: 600px;
}
.about__price__wrap{
	background: #eff1f6;
	padding: 8rem 0 8rem;
	text-align: center;
}
.about__price__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.about__price__item{
	width: 30%;
}
.about__price__tit{
	font-weight: 600;
	color: #222;
	margin: 2rem 0 0;
}
.about__price{
	margin-top: 1rem;
}
.about__price--red{
	color: #cc111a;
}
.about__price--min{
	font-size: 2rem;
}
.about__price--num{
	font-family: 'Prata', serif;
	font-size: 2.8rem;
}
.about__price--ast{
	font-size: 1rem;
	padding: 0 0 0.7rem;
}
.about__price--term{
	font-size: 1.7rem;
}
.about__price__notes{
	font-size: 1.3rem;
	margin: 3rem 0 0;
}
.about__detail,
.learn__detail{
	padding: 10rem 0 0;
}
.about__detail__item,
.learn__detail__item{
	padding: 0 0 18rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.about__detail__item--cont,
.learn__detail__item--cont{
	width: 35%;
}
.about__detail__num,
.learn__detail__num{
	font-family: 'Prata', serif;
	font-size: 7rem;
	line-height: 7rem;
	color: #cc111a;
	margin: 0 0 2rem;
	position: relative;
}
.about__detail__num::before,
.learn__detail__num::before{
	content: '';
	position: absolute;
	top: -25px;
	left: 0;
	width: 30px;
	height: 0;
	border-top: #cc111a solid 1px;
}
.about__detail__tit--jp,
.learn__detail__tit--jp{
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	line-height: 4.2rem;
	color: #222;
	margin: 0 0 3rem;
}
.about__detail--txt,
.learn__detail--txt{
	margin: 0 0 3rem;
}
.about__detail__img,
.learn__detail__img{
	max-width: 60%;
}
.learn__detail__img--sp,
.about__detail__img--sp{
	display: none;
}
.about__jpn{
	position: relative;
	margin: 0 0 16rem;
}
.about__jpn--box{
	position: absolute;
	bottom: -6rem;
	left: 0;
	z-index: -1;
	width: 60%;
	height: 30rem;
	background: #cc111a;
}
.about__jpn__inner{
	background: url(../img/about_jpn_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 24rem 0;
	color: #fff;
	text-align: center;
}
.about__jpn__tit{
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	margin: 0 0 3rem;
}

/*------------------------------ LEARN ------------------------------ */
.learn__mv{
	background-image: url(../img/learn_mv.jpg);
}
.learn__intro{
	text-align: center;
	overflow: hidden;
	padding: 10rem 0 0;
	position: relative;
}
.learn__intro::after{
	content: '';
	position: absolute;
	bottom: 8rem;
	left: 0;
	z-index: -1;
	width: 100%;
	height: 23rem;
	background: #cc111a;
}
.learn__intro__tit--jp{
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	line-height: 5.4rem;
	margin: 5rem 0 2rem;
}
.learn__top__img{
	margin: 6rem 0 0;
}
.learn__faq__wrap{
	background: #eff1f6;
	padding: 9rem 7%;
	margin: 0 auto 10rem;
	text-align: center;
}
.learn__faq__tit{
	font-family: 'Prata', serif;
	font-size: 8rem;
	line-height: 8rem;
	font-style: italic;
	color: #222;
	margin: 0 0 5rem;
}
.learn__faq__list{
	text-align: left;
}
.learn__faq__item{
	margin: 0 0 3rem;
}
.learn__faq__que{
	font-size: 1.8rem;
	font-weight: 700;
	color: #fff;
	background: #414450;
	padding: 2rem 3%;
	position: relative;
	transition: all 0.2s ease;
	cursor: pointer;
}
.learn__faq__que::after{
	content: '';
	position: absolute;
	top: 50%;
	right: 3%;
	bottom: 0;
	margin: -10px 0 0;
	vertical-align: middle;
	width: 15px;
	height: 15px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(135deg);
	transition: inherit;
}
.learn__faq__que.learn__faq__que--active::after {
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	margin: -3px 0 0;
}
.learn__faq__ans{
	display: none;
	margin: 2rem 0 0;
}

/*------------------------------ SPECIAL ------------------------------ */
.special__mv{
	background-image: url(../img/special_mv.jpg);
}
.special__intro{
	text-align: center;
	overflow: hidden;
	padding: 10rem 0 0;
	position: relative;
}
.special__intro__tit--jp{
	font-family: 'Noto Serif JP', serif;
	font-size: 3rem;
	line-height: 5.4rem;
	margin: 5rem 0 2rem;
}
.special__list{
	margin: 7rem auto 4rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.special__item{
	width: 50%;
	padding: 0 2% 0 0;
	margin: 0 0 6rem;
}
.special__item:nth-child(even){
	padding: 0 2%;
}
.special__item__tag{
	font-size: 1.6rem;
	color: #fff;
	font-weight: 700;
	background: #000;
	padding: 0.1rem 15px 0.3rem;
	display: table;
	position: relative;
}
.special__item__num{
	font-family: 'Prata', serif;
	font-size: 7rem;
	color: #cc111a;
	position: absolute;
	z-index: 100;
	top: 5px;
	left: 50px;
}
.special__item__img{
	display: block;
	margin: 1rem auto 2rem;
}
.special__item__img2{
	width: 16%;
    position: relative;
	top: 2rem;
}
.special__item__img3{
	width: 20%;
    position: relative;
    top: 32rem;
    left: -8rem;
}
}
.special__item__tit{
	font-weight: 700;
	color: #222;
	margin: 0 0 1rem;
}
.special__item__txt{
	font-size: 1.6rem;
}

.special__bn{
	background: #eff1f6;
	text-align: center;
	padding: 7rem 0;
	margin: 0 auto 10rem;
}
.special__bn__tit{
	font-family: 'Noto Serif JP', serif;
	font-size: 3.5rem;
	margin: 0 0 2rem;
}
.special__bn__inner{
	background: #414450;
	font-size: 1.8rem;
	color: #fff;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	padding: 2.5rem 100px;
	width: 70%;
	margin: 2rem auto 0;
}
.special__bn__name::after{
	content: '｜';
	margin: 0 20px;
}
.special__bn__notes{
	font-size: 1.5rem;
	margin: 3rem 0 0;
}
/* ==================== FOOTER ==================== */
.footer__top{
	background: url(../img/footer_bg.jpg) no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 19rem 0;
	text-align: center;
}
.footer__top__txt{
	font-family: 'Noto Serif JP', serif;
	font-size: 3.5rem;
	line-height: 4.6rem;
	color: #fff;
	margin: 0 0 3rem;
}
.footer__top__btn{
	padding: 20px 150px;
	font-size: 1.8rem;
}
.footer__contents{
	padding: 4rem 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 1.4rem;
	color: #222;
}
.footer__link__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}
.footer__link__item{
	position: relative;
	padding: 0 20px;
}
.footer__link__item:not(:last-child)::after{
	content: '｜';
	position: absolute;
	top: 0;
	right: -4px;
}
.footer__link:hover{
	border-bottom: #222 solid 1px;
}
.footer__left{
	display: none;
}
.footer__center{
	text-align: center;
	font-size: 1.4rem;
	width: 390px;
	margin: -4rem auto 0;
}
.footer__center__ttl{
	background: #000;
	color: #FFF;
}

.footer__center__tel{
	display: inline-flex;
    align-items: center;
    margin: 5px 0 0;
}
.footer__center__tel__number{
	font-size: 32px;
    margin: 0 0.4rem 0px;
}
.footer__center__tel__day{
	text-align: left;
    line-height: 1.6rem;
    font-size: 1.5rem;
}

.footer__right{
	text-align: right;
}
.copyright{
	display: block;
}
.yomiuri__logo{
	width: 100px;
	transition: all 0.2s ease;
}
.yomiuri__logo:hover{
	opacity: 0.7;
}


