@charset "UTF-8";

/* =BreakPoint
--------------------------------------------------------------
PC and TABLET ( and SP landscape )
@media ( min-width: 601px ){

PC ( and TABLET landscape )
@media ( min-width: 961px ){

TABLET ( and SP landscape )
@media ( min-width: 601px ) and ( max-width: 960px ){

TABLET and SP ( not TABLET landscape )
@media ( max-width: 960px ){

SP ( only portrait )
@media ( max-width: 600px ){

over
@media ( min-width: 1101px ){

under
@media ( max-width: 1100px ){
--------------------------------------------------------------
*/

/* =Reset
-------------------------------------------------------------- */
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;word-wrap:break-word;overflow-wrap:break-word;}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {display: block;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:inherit;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:super;}
sub{vertical-align:text-bottom;}
input,textarea,select,button{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select,button{*font-size:100%;}
legend{color:#000;}
img {vertical-align:top;}
input[type="radio"],input[type="checkbox"] {vertical-align: -2px;}
label {cursor: pointer;}


/* =Common
-------------------------------------------------------------- */
body {
	text-align: center;
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
input[type="submit"], input[type="reset"] {
	appearance: none;
	cursor: pointer;
}

/* clearfix */
.cf:before, .cf:after {content:"";display:table;}
.cf:after {clear:both;}
.clr {clear: both;}


/* =Styles 
-------------------------------------------------------------- */
body {
	/* win：游ゴシック、mac：游ゴシック、iPhone：San Francisco、ヒラギノ（-1px） */
	font-family: 'Zen Maru Gothic', sans-serif;
	font-weight: bold;
	color: #26466d;
	background: #fff;
}
a {
	text-decoration: none;
	color: #000;
}
a:focus {
	outline: none;
}
.mb1 {margin-bottom: 1rem;}
.mb2 {margin-bottom: 2rem;}
.mb3 {margin-bottom: 3rem;}
.mt1 {margin-top: 1rem;}
.mt2 {margin-top: 2rem;}
.mt3 {margin-top: 3rem;}
.mtb1 {margin-top: 1rem;margin-bottom: 1rem;}
.mtb2 {margin-top: 2rem;margin-bottom: 2rem;}
.mtb3 {margin-top: 3rem;margin-bottom: 3rem;}

@media ( min-width: 601px ){
	body {
		font-size: 20px;
/*		zoom: 0.8;*/
	}
	.sp {
		display: none !important;
	}
	.inner {
		margin: 0 auto;
	}
	.inner.pat1 {
		max-width: 1000px;
	}
	.inner.pat2 {
		max-width: 1320px;
	}
}
@media ( min-width: 961px ){
	.sptab {
		display: none !important;
	}
	.inner {
		padding: 0 90px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.inner {
		padding: 0 20px;
	}
}
@media ( max-width: 960px ){
	.pc {
		display: none !important;
	}
}
@media ( max-width: 600px ){
	body {
		font-size: 4vw;
	}
	.pctab {
		display: none !important;
	}
	.inner {
		padding: 0 4vw;
	}
}

/* IE11のみハック */
_:-ms-lang(x)::-ms-backdrop, .selector {

}

/*===============================
head
===============================*/
#head .layout_block {
	display: flex;
	justify-content: space-between;
}
#head .layout_block ul {
	display: flex;
}
#head .layout_block li a {
	color: #26466d;
	display: block;
	font-weight: bold;
}
#head .layout_block li .img,
#head .layout_block li .text {
	display: block;
}
@media ( min-width: 601px ){
	#head {
		border-top: #e370a6 3px solid;
		padding: 22px 0;
	}
	#head .layout_block .gnavi li a {
		transition: color .3s;
	}
	#head .layout_block .gnavi li a:hover {
		color: #0086cd;
	}
}
@media ( min-width: 961px ) {
	#head .layout_block .gnavi li .img {
		margin: 0 0 8px;
	}
}
@media ( min-width: 1101px ) {
	#head .layout_block .gnavi li:not(:last-child) {
		margin: 0 40px;
	}
	#head .layout_block .gnavi li:last-child {
		margin: 0 0 0 40px;
	}
}
@media ( min-width: 961px ) and ( max-width: 1100px ) {
	#head .layout_block .gnavi li:not(:last-child) {
		margin: 0 20px;
	}
	#head .layout_block .gnavi li:last-child {
		margin: 0 0 0 20px;
	}
	#head .layout_block .gnavi li a {
		font-size: 18px;
	}
}
@media ( max-width: 960px ) {
	#head .layout_block .logo {
		width: 29.4667vw;
	}
	#head .layout_block .gnavi li .img {
		width: 6vw;
		margin: 0 auto 1.4667vw;
	}
	#head .layout_block .gnavi li:not(:last-child) {
		margin: 0 1.3333vw;
	}
	#head .layout_block .gnavi li:last-child {
		margin: 0 0 0 1.3333vw;
	}
	#head .layout_block .gnavi li a {
		font-size: 2vw;
		white-space: nowrap;
	}
}
@media ( max-width: 600px ) {
	#head .head_wrap {
		border-top: #e370a6 0.8vw solid;
		padding: 4vw 0 4.8vw;
	}
	#head.js_fix {
		padding: 17.3333vw 0 0;
	}
}
/*===============================
kv
===============================*/
#kv {
	position: relative;
}
#kv .layout_block {
	position: relative;
	display: flex;
}
#kv .kv_slide_wrap {
	position: relative;
}
#kv .kv_slide_wrap .price,
#kv .kv_slide_wrap .term {
	position: absolute;
}
#kv .deco3,
#kv .deco4 {
	position: absolute;
	z-index: 20;
}
#kv .title {
	position: relative;
	z-index: 30;
}
#kv .kv_slide_wrap .swiper-slide {
	background-repeat: no-repeat;
	background-size: cover;
}
@media ( min-width: 601px ) {
	#kv {
		padding: 0 0 37px;
	}
	#kv .wave {
		width: 100%;
		background-image: url('img/kv_wave.png');
		background-repeat: no-repeat;
		background-size: cover;
		position: absolute;
		bottom: 0;
		left: 0;
	}
	#kv .wave::before {
		content: '';
		display: block;
		width: 100%;
		padding-bottom: calc(100%*198/1500);
	}
	#kv .deco1,
	#kv .deco2 {
		position: absolute;
	}
	#kv .deco1 {
		width: 10.93%;
		max-width: 164px;
		top: 10.79%;
		left: 0;
	}
	#kv .deco2 {
		width: 3.33%;
		max-width: 50px;
		top: 50.49%;
		left: 2%;
	}
	#kv .layout_block {
		position: relative;
		display: flex;
	}
	#kv .title {
		width: 29.54%;
	}
	#kv .kv_slide_wrap {
		width: calc(100% - 29.54%);
	}
	#kv .kv_slide_wrap .swiper-slide::before {
		content: '';
		display: block;
		width: 100%;
		padding-bottom: calc(100%*670/930);
	}
	#kv .kv_slide_wrap .price {
		width: 26.72%;
		z-index: 25;
	}
	#kv .kv_slide_wrap .term {
		width: 27.95%;
		z-index: 25;
		bottom: 6px;
		left: 5.37%;
	}
	#kv .deco3 {
		width: 45.05%;
		max-width: 419px;
	}
	#kv .deco4 {
		width: 29.56%;
		max-width: 275px;
		top: 33.73%;
		right: 0;
	}
}
@media ( min-width: 961px ) {
	#kv .kv_slide_wrap .swiper-slide {
		border-radius: 50px;
	}
	#kv .kv_slide_wrap .price {
		top: 42px;
		right: -69px;
	}
	#kv .deco3 {
		top: -0.89%;
		left: -12.9%;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#kv .kv_slide_wrap .swiper-slide {
		border-radius: 30px;
	}
	#kv .kv_slide_wrap .price {
		top: 20px;
		right: -15px;
	}
	#kv .deco3 {
		bottom: 12%;
		left: -8%;
	}
}
@media ( max-width: 600px ) {
	#kv .title {
		margin: 0 -4vw;
	}
	#kv .kv_slide_wrap .swiper-container {
		height: 68vw;
	}
	#kv .layout_block {
		flex-direction: column-reverse;
	}
	#kv .kv_slide_wrap .swiper-slide {
		border-radius: 6.6667vw;
	}
	#kv .deco3 {
		width: 49.7333vw;
		top: 0;
		left: 0;
	}
	#kv .deco4 {
		width: 33.7333vw;
		top: 0;
		right: 0;
	}
	#kv .kv_slide_wrap .price {
		width: 37.6vw;
        top:-16px;
/*		top: 56vw;
*/		right: 3.6vw;
		z-index: 30;
	}
	#kv .kv_slide_wrap .term {
		width: 34.5333vw;
		z-index: 25;
		bottom: 0;
		left: 0;
	}
	#kv .kv_slide_wrap .kv_text {
		position: absolute;
/*		width: 51.3333vw;
*/      width: 110px;  
/*		top: 5.6vw;
*/		top:5px;
        left: 5px;
/*        left: 0;*/
		z-index: 30;
	}
}
/*===============================
camp_bnr
===============================*/
/*#camp_bnr {
	background: #fff4c0;
}
*/@media ( min-width: 601px ) {
	#camp_bnr {
		padding: 30px 0 100px;
/*    	background: #fff4c0;
*/	}
}
@media ( max-width: 600px ) {
	#camp_bnr {
		padding: 8vw 0;
	}
}
.camp_bnr{
	margin-top: 2.5em;
}
/*===============================
youtube
===============================*/
.youtube_ttl {
    margin:3rem 0 1rem;
    font-size: 2vw;
}
.youtube_area {
  margin: auto;
  text-align: center;
}

.youtube {
  display: inline-block;
}

.youtube iframe {
  width: 800px;
  height: 450px;
}
@media ( max-width: 1024px ) {
.youtube {
  position: relative;
  width: 90%;
  padding-top: 56.25%;
  text-align: center;
}

.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.youtube_ttl {
    font-size: 4vw;
    }
}

/*===============================
recommend
===============================*/
#recommend {
	position: relative;
	background-color: #fff4c0;
}
#recommend::after {
	content: '';
	display: block;
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #fff4c0 transparent transparent transparent;
	left: 0;
	right: 0;
	margin: 0 auto;
}
#recommend .layout_block {
	position: relative;
	display: flex;
	z-index: 10;
}
#recommend .img_block {
	position: relative;
}
#recommend .summary {
	position: relative;
}
#recommend .text {
	line-height: 1.33;
}
#recommend .text .emphasis {
	position: relative;
	color: #e370a6;
	display: inline-block;
}
#recommend .text .emphasis::after {
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #e370a6;
	position: absolute;
	bottom: 0;
	left: 0;
}
@media ( min-width: 601px ){
	#recommend {
		padding: 36px 0 58px;
		margin: 0 0 77px;
		background-repeat: no-repeat;
		background-position: bottom right;
		background-image: url('img/recommend_bg.png');
	}
	#recommend::after {
		border-width: 77px 98px 0 98px;
		bottom: -76px;
	}
	#recommend .img_block .line1,
	#recommend .img_block .line2 {
		position: relative;
		display: flex;
	}
	#recommend .img_block .line2 {
		margin: -70px 0 0;
	}
	#recommend .img_block .img1 {
		width: 36.03%;
		margin: 0 2.6% 0 -34px;
	}
	#recommend .img_block .img2 {
		width: 36.21%;
	}
	#recommend .img_block .img3 {
		width: 28.3%;
		margin: 0 0 0 auto;
	}
	#recommend .img_block .img4 {
		width: 39.75%;
		margin: 0 3.8% 0 -24px;
	}
	#recommend .img_block .img5 {
		width: 36.77%;
	}
	#recommend .text .emphasis {
		padding: 0 0 6px;
	}
}
@media ( min-width: 961px ) {
	#recommend .title {
		margin: 0 0 0 -24px;
	}
	#recommend .img_block .img1 {
		padding: 87px 0 0;
	}
	#recommend .img_block .img3 {
		padding: 169px 0 0;
	}
	#recommend .img_block .img4 {
		padding: 89px 0 0 0;
	}
	#recommend .text {
		font-size: 40px;
	}
	#recommend .text .small {
		font-size: 30px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#recommend .title {
		margin: 0 0 0 -20px;
	}
	#recommend .img_block .img1 {
		padding: 57px 0 0;
	}
	#recommend .img_block .img3 {
		padding: 129px 0 0;
	}
	#recommend .img_block .img4 {
		padding: 59px 0 0 0;
	}
	#recommend .text {
		font-size: 32px;
	}
	#recommend .text .small {
		font-size: 22px;
	}
}
@media ( max-width: 600px ) {
	#recommend {
		position: relative;
		padding: 6.6667vw 0 8vw;
		margin: 0 0 12.5333vw;
	}
	#recommend::after {
		border-width: 9.8667vw 12.4vw 0 12.4vw;
		bottom: -9.8667vw;
	}
	#recommend .sp_bg {
		width: 52.5333vw;
		position: absolute;
		right: 0;
		bottom: 25.2vw;
	}
	#recommend .title {
		width: 33.8667vw;
		margin: 0 0 0 -4vw;
	}
	#recommend .img_block {
		text-align: left;
		width: calc(100% - 29.8667vw);
		margin: 0 0 4.4vw;
	}
	#recommend .img_block .img1 {
		width: 51.6vw;
		margin: 0 auto 0 -4vw;
	}
	#recommend .img_block .img2 {
		width: 51.8667vw;
		margin: -3.7333vw 0 0 auto;
	}
	#recommend .img_block .img3 {
		width: 40.5333vw;
		margin: -14.4vw 0 0 -29.8667vw;
	}
	#recommend .img_block .img4 {
		width: 57.8667vw;
		margin: -21.7333vw 0 0 auto;
	}
	#recommend .img_block .img5 {
		width: 52.6667vw;
		margin: -2.9333vw 0 0 -29.3333vw;
	}
	#recommend .text {
		font-size: 5.3333vw;
	}
	#recommend .text .small {
		font-size: 4vw;
	}
	#recommend .text .emphasis {
		padding: 0 0 0.8vw;
	}
}
@media ( min-width: 1341px ) {
	#recommend {
		background-size: 47.6%;
	}
	#recommend .title {
		width: 270px;
	}
	#recommend .img_block {
		width: calc(100% - 270px + 24px);
	}
}
@media ( min-width: 1201px ) and ( max-width: 1340px ) {
	#recommend {
		background-size: 53.6%;
	}
	#recommend .title {
		width: 250px;
	}
	#recommend .img_block {
		width: calc(100% - 250px + 24px);
	}
}
@media ( min-width: 1101px ) and ( max-width: 1200px ) {
	#recommend {
		background-size: 66.6%;
	}
	#recommend .title {
		width: 230px;
	}
	#recommend .img_block {
		width: calc(100% - 230px + 24px);
	}
}
@media ( min-width: 961px ) and ( max-width: 1100px ) {
	#recommend .title {
		width: 210px;
	}
	#recommend .img_block {
		width: calc(100% - 210px + 24px);
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#recommend .title {
		width: 170px;
	}
	#recommend .img_block {
		width: calc(100% - 170px + 20px);
	}
}
/*===============================
introduce
===============================*/
#introduce .category .title {
	color: #fff;
	text-align: left;
}
#introduce .introduce_slide {
	position: relative;
    line-height: 1.4;
}
#introduce .introduce_slide img {
    width: 90%;
}

#introduce .category .title {
	position: relative;
	display: flex;
	align-items: center;
	letter-spacing: 0.1em;
}
#introduce .category.momochan .group .title {
	background: #e370a6;
}
#introduce .category.kiidori .group .title {
	background: #fa8d00;
}
#introduce .category.akadori .group .title {
	background: #e60012;
}
#introduce .category.aodori .group .title {
	background: #0086cd;
}
#introduce .category .title .icon {
	flex: 0 0 auto;
}
#introduce .category .title .text {
	flex: 1 1 auto;
	white-space: nowrap;
}
#introduce .category .title .btn {
	cursor: pointer;
	position: absolute;
	top: 0;
}
#introduce .category .title .btn .inn {
	display: inline-block;
	position: relative;
	border-radius: 100%;
}
#introduce .category.momochan .title .btn .inn {
	background: #eb9bc1;
}
#introduce .category.kiidori .title .btn .inn {
	background: #fcaf4d;
}
#introduce .category.akadori .title .btn .inn {
	background: #ee4d5a;
}
#introduce .category.aodori .title .btn .inn {
	background: #4dabdc;
}
#introduce .category .title .btn .inn::before {
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-color: #ffffff transparent transparent transparent;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
#introduce .category .title.on .btn .inn::before {
	border-color: transparent transparent #ffffff transparent;
}
#introduce .category .group .content {
	height: 0;
	overflow-y: hidden;
}
#introduce .category .group .content.on {
	display: block;
	height: 100%;
}
#introduce .swiper-container-horizontal>.swiper-pagination-bullets,
#introduce .swiper-pagination-custom,
#introduce .swiper-pagination-fraction {
	bottom: 0;
}
#introduce .swiper-pagination-bullet {
	background: #d6d6d6;
	opacity: 1;
}
#introduce .momochan .swiper-pagination-bullet-active {
	background: #e370a6;
}
#introduce .kiidori .swiper-pagination-bullet-active {
	background: #fa8d00;
}
#introduce .akadori .swiper-pagination-bullet-active {
	background: #e60012;
}
#introduce .aodori .swiper-pagination-bullet-active {
	background: #0086cd;
}
#introduce .swiper-button-next,
#introduce .swiper-button-prev {
	top: 50%;
	z-index: 10;
	background-size: cover;
	outline: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor:pointer;
}
#introduce .introduce_slide .swiper-button-prev {
	background-image: url('img/introduce_slide_pre.png');
	left: 0;
}
#introduce .introduce_slide .swiper-button-next {
	background-image: url('img/introduce_slide_next.png');
	right: 0;
}
.slidettl{ 
    margin-top: 1rem;
    font-size: 24px;
    }
.slidetxt{ 
    padding: 10px;
    }
@media ( min-width: 601px ) {
	#introduce {
		padding: 18px 0 58px;
	}
	#introduce .category:not(:last-child) .group {
		margin: 0 0 40px;
	}
	#introduce .category .title {
		height: 95px;
		border-radius: 30px;
		letter-spacing: 0.1em;
		padding: 0 24px 0 0;
	}
	#introduce .category .title.on {
		border-radius: 30px 30px 0 0;
	}
	#introduce .category .title .btn {
		bottom: 0;
		right: 23px;
		margin: auto 0;
		width: 55px;
		height: 55px;
	}
	#introduce .category .title .btn .inn {
		width: 100%;
		height: 100%;
	}
	#introduce .category .title .btn .inn::before {
		border-width: 12px 11px 0 11px;
	}
	#introduce .category .title.on .btn .inn::before {
		border-width: 0 11px 12px 11px;
	}
	#introduce .category .group .content.on {
		border-radius: 0 0 30px 30px;
		padding: 0 0 24px;
	}
	#introduce .category.momochan .group .content.on {
		border: 3px solid #e370a6;
	}
	#introduce .category.kiidori .group .content.on {
		border: 3px solid #fa8d00;
	}
	#introduce .category.akadori .group .content.on {
		border: 3px solid #e60012;
	}
	#introduce .category.aodori .group .content.on {
		border: 3px solid #0086cd;
	}
	#introduce .swiper-pagination-bullet {
		width: 14px;
		height: 14px;
		margin: 0 8px;
	}
	#introduce .swiper-button-next,
	#introduce .swiper-button-prev {
		width: 44px;
		height: 95px;
	}
	.camp_slide{
		max-width: 1100px;
		margin: 0 auto;
		position: relative;
	}
}
@media ( min-width: 961px ) {
	#introduce .category .title {
		font-size: 35px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#introduce .category .title {
		font-size: 30px;
	}
	.camp_slide{
		padding: 0 20px;
	}
}
@media ( max-width: 960px ) {
	#introduce .category .title .text {
		line-height: 1.13;
	}
}
@media ( max-width: 600px ) {
	#introduce {
		padding: 2.8vw 0 8vw;
	}
	#introduce .category:not(:last-child) .group {
		margin: 0 0 7.2vw;
	}
	#introduce .category .title {
		height: 18vw;
		border-radius: 4vw;
		padding: 0 4.2667vw 0 0;
	}
	#introduce .category .title .icon {
		width: 27.3333vw;
	}
	#introduce .category .title.on {
		border-radius: 4vw 4vw 0 0;
	}
	#introduce .category .title .btn {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		box-sizing: border-box;
		width: 100%;
		height: 100%;
		left: 0;
		padding: 0 4.2667vw 0 0;
	}
	#introduce .category .title .btn .inn {
		width: 9.7333vw;
		height: 9.7333vw;
	}
	#introduce .category .title .btn .inn::before {
		border-width: 2.1333vw 2vw 0 2vw
	}
	#introduce .category .title.on .btn .inn::before {
		border-width: 0 2vw 2.1333vw 2vw;
	}
	#introduce .category .group .content.on {
		border-radius: 0 0 4vw 4vw;
		padding: 0 0 4.5333vw;
	}
	#introduce .category.momochan .group .content.on {
		border: 0.4vw solid #e370a6;
	}
	#introduce .category.kiidori .group .content.on {
		border: 0.4vw solid #fa8d00;
	}
	#introduce .category.akadori .group .content.on {
		border: 0.4vw solid #e60012;
	}
	#introduce .category.aodori .group .content.on {
		border: 0.4vw solid #0086cd;
	}
	#introduce .swiper-slide a {
		width: 28vw;
		height: 5.3333vw;
	}
	#introduce .swiper-pagination-bullet {
		width: 1.7333vw;
		height: 1.7333vw;
		margin: 0 1.0667vw;
	}
	#introduce .swiper-button-next,
	#introduce .swiper-button-prev {
		width: 5.8667vw;
		height: 12.6667vw;
	}
	.camp_slide{
		padding: 0 7vw;	
}
#introduce .price_tbl .tbl_wrap {
	border: 2px solid #26466d;
}
#introduce .price_tbl table {
	width: 100%;
}
#introduce .price_tbl {
	text-align: center;
}
#introduce .price_tbl th {
	line-height: 1.25;
	color: #fff;
	text-align: center;
}
#introduce .price_tbl th.momochan {
	background: #eb9bc1;
}
#introduce .price_tbl th.kiidori {
	background: #fcaf4d;
}
#introduce .price_tbl th.akadori {
	background: #ee4d5a;
}
#introduce .price_tbl th.aodori {
	background: #4dabdc;
}
#introduce .price_tbl td .num {
	display: inline-block;
}
.kaihitxt {
    line-height: 1.6;
    margin-top: 0.5rem;
    text-align: left;
    padding-left:1em;
	text-indent:-1em;
}
.kaihitxt a {
    text-decoration: underline;
    color: #e370a6;
}
.txt {
    line-height: 1.6;
    margin-top: 0.5rem;
    text-align: left;
}
.txt a {
    text-decoration: underline;
    color: #e370a6;
}
.slidetxt{ 
    text-align: left;
    }
}
@media ( min-width: 601px ) {
	#introduce .price_tbl .tbl_wrap {
		border-radius: 30px;
	}
	#introduce .price_tbl .caption {
		font-size: 32px;
		margin: 0 0 20px;
	}
	#introduce .price_tbl th {
		padding: 20px 10px 24px;
	}
	#introduce .price_tbl td {
		padding: 30px 10px 34px;
	}
	#introduce .price_tbl td .num {
		font-size: 32px;
	}
}
@media ( min-width: 961px ) {
	#introduce .price_tbl th:not(:last-child),
	#introduce .price_tbl td:not(:last-child) {
		border-right: 1px solid #26466d;
	}
	#introduce .price_tbl th:first-child {
		border-radius: 30px 0 0 0;
	}
	#introduce .price_tbl th:last-child {
		border-radius: 0 30px 0 0;
	}
	#introduce .price_tbl td:last-child {
		border-radius: 0 0 30px 0;
	}
	#introduce .price_tbl td:first-child {
		border-radius: 0 0 0 30px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#introduce .price_tbl tr:first-child th {
		border-radius: 30px 0 0 0;
	}
	#introduce .price_tbl tr:first-child td {
		border-radius: 0 30px 0 0;
	}
	#introduce .price_tbl tr:last-child td {
		border-radius: 0 0 30px 0;
	}
	#introduce .price_tbl tr:last-child th {
		border-radius: 0 0 0 30px;
	}
}
@media ( max-width: 960px ) {
	#introduce .price_tbl tr:not(:last-child) th,
	#introduce .price_tbl tr:not(:last-child) td {
		border-bottom: 1px solid #26466d;
	}
}
@media ( max-width: 600px ) {
	#introduce .price_tbl .tbl_wrap {
		border-radius: 4vw;
	}
	#introduce .price_tbl .caption {
		font-size: 4.8vw;
		margin: 0 0 2vw;
	}
	#introduce .price_tbl th,
	#introduce .price_tbl td {
		padding: 4vw 2vw;
	}
	#introduce .price_tbl td .num {
		font-size: 6.4vw;
	}
	#introduce .price_tbl tr:first-child th {
		border-radius: 4vw 0 0 0;
	}
	#introduce .price_tbl tr:first-child td {
		border-radius: 0 4vw 0 0;
	}
	#introduce .price_tbl tr:last-child td {
		border-radius: 0 0 4vw 0;
	}
	#introduce .price_tbl tr:last-child th {
		border-radius: 0 0 0 4vw;
	}
}
/*===============================
first_grader
===============================*/
#first_grader {
	background: #ffe8f3;
}
#first_grader .layout_block {
	position: relative;
}
#first_grader .more {
	position: absolute;
}
#first_grader .more a {
	display: block;
	position: relative;
	color: #ff3838;
}
#first_grader .more a::before {
	content: '';
	display: block;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('img/icon_s_r_arrow.png');
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
}
@media ( min-width: 601px ) {
/*	#first_grader {
		margin: 0 0 62px;
	}
*/	#first_grader .more a {
		font-size: 16px;
		padding: 9px 51px 9px 0;
	}
	#first_grader .more a::before {
		width: 34px;
		height: 34px;
	}
}
@media ( min-width: 961px ) {
	#first_grader {
		padding: 21px 0 30px;
	}
	#first_grader .more {
		bottom: -18px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#first_grader {
		padding: 21px 0 40px;
	}
	#first_grader .more {
		bottom: -30px;
	}
}
@media ( max-width: 600px ) {
	#first_grader {
		padding: 4.4vw 0 1.4667vw;
/*		margin: 0 0 8.4vw;*/
	}
	#first_grader .title {
		margin: 0 -4vw;
	}
	#first_grader .more {
		right: 0;
		bottom: 5.0667vw;
	}
	#first_grader .more a {
		font-size: 3.7333vw;
		padding: 2.4vw 13.0667vw 2.2667vw 0;
	}
	#first_grader .more a::before {
		width: 8.2667vw;
		height: 8.2667vw;
	}
}
@media ( min-width: 1101px ) {
	#first_grader .more {
		right: 28px;
	}
}
@media ( min-width: 601px ) and ( max-width: 1100px ) {
	#first_grader .more {
		right: 0;
	}
}
/*===============================
reason
===============================*/
#reason {
	position: relative;
	background: #d8effc;
}
#reason .layout_block .content_wrap .reason_block .text_block .text .emphasis {
	color: #e370a6;
	text-decoration: underline;
}
@media ( min-width: 601px ) {
	#reason {
		padding: 95px 0 102px;
	}
	#reason .layout_block {
		display: flex;
	}
	#reason .layout_block .title_wrap {
		margin: -25px 0 0 -24px;
	}
}
@media ( min-width: 961px ) {
	#reason .layout_block .content_wrap .reason_block {
		position: relative;
		display: flex;
	}
	#reason .layout_block .content_wrap .reason_block:nth-of-type(2) {
		flex-direction: row-reverse;
	}
	#reason .layout_block .content_wrap .reason_block .text_block {
		position: relative;
		box-sizing: border-box;
		text-align: left;
		flex : 0 2 58.3%;
		max-width: 58.3%;
		min-width: 400px;
		z-index: 10;
	}
	#reason .layout_block .content_wrap .reason_block:not(:nth-of-type(2)) .text_block {
		padding: 0 2% 0 0;
	}
	#reason .layout_block .content_wrap .reason_block:nth-of-type(2) .text_block {
		padding: 0 0 0 4.6%;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .sub_title {
		padding: 8px 0 0;
	}
	#reason .layout_block .content_wrap .reason_block:not(:first-of-type) .text_block .sub_title {
		margin: 0 0 30px;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .text {
		line-height: 1.82;
	}
	#reason .layout_block .content_wrap .reason_block:first-of-type .text_block .text {
		max-width: 485px;
		margin: -10px 0 0;
	}
	#reason .layout_block .content_wrap .reason_block .img_block {
		position: relative;
		z-index: 10;
		flex : 0 1 41.7%;
		max-width: 41.7%;
	}
	#reason .deco1 {
		width: 23.53%;
		max-width: 353px;
		position: absolute;
		top: 284px;
		right: 0;
	}
	#reason .deco2 {
		width: 26.78%;
		max-width: 289px;
		position: absolute;
		bottom: -86px;
		right: 46.52%;
	}
	#reason .deco3 {
		width: 25.39%;
		max-width: 274px;
		position: absolute;
		top: 234px;
		left: -20.11%;
	}
	#reason .deco4 {
		width: 26.22%;
		max-width: 283px;
		position: absolute;
		bottom: -108px;
		right: 33%;
	}
	#reason .deco5 {
		width: 26.22%;
		max-width: 254px;
		position: absolute;
		bottom: 0;
		left: 42.2%;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#reason .layout_block .content_wrap .reason_block .text_block .sub_title {
		margin: 0 0 20px;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .text {
		margin: 0 0 30px;
	}
	#reason .deco3 {
		right: -20px;
	}
}
@media ( max-width: 960px ) {
	#reason .title_wrap {
		width: 33.7333vw;
		position: absolute;
		top: 9.3333vw;
		left: 0;
	}
	#reason .layout_block .content_wrap .reason_block {
		position: relative;
	}
	#reason .layout_block .content_wrap .reason_block:not(:nth-of-type(2)) {
		padding: 0 0 0 31.7333vw;
	}
	#reason .layout_block .content_wrap .reason_block:nth-of-type(2) {
		padding: 0 31.7333vw 0 0;
		margin: -6.9333vw 0 0;
	}
	#reason .layout_block .content_wrap .reason_block:last-of-type {
		margin: -7.6vw 0 0;
	}
	#reason .layout_block .content_wrap .reason_block .text_block,
	#reason .layout_block .content_wrap .reason_block .img_block {
		position: relative;
		z-index: 10;
	}
	#reason .layout_block .content_wrap .reason_block .text_block {
		position: relative;
		z-index: 10;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .sub_title {
		text-align: left;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .text {
		text-align: left;
		line-height: 1.36;
	}
	#reason .deco1 {
		width: 40.1333vw;
		position: absolute;
		top: 46.5333vw;
		right: 0;
	}
	#reason .deco2 {
		width: 36.5333vw;
		position: absolute;
		bottom: -18.2667vw;
		left: 7.6vw;
	}
	#reason .deco3 {
		width: 44.2667vw;
		position: absolute;
		top: 16.6667vw;
	}
	#reason .deco4 {
		width: 37.7333vw;
		position: absolute;
		bottom: -21.6vw;
		left: -0.4vw;
	}
	#reason .deco5 {
		width: 33.8667vw;
		position: absolute;
		bottom: 26.2667vw;
		left: 12.5333vw;
	}
}
@media ( max-width: 600px ) {
	#reason {
		padding: 6.6667vw 0;
	}
	#reason .layout_block .content_wrap .reason_block .text_block,
	#reason .layout_block .content_wrap .reason_block .img_block {
		position: relative;
		z-index: 10;
	}
	#reason .layout_block .content_wrap .reason_block:first-of-type .sub_title {
		margin: 0 0 5.7333vw;
	}
	#reason .layout_block .content_wrap .reason_block:nth-of-type(2) .sub_title {
		margin: 0 0 4vw;
	}
	#reason .layout_block .content_wrap .reason_block:last-of-type .sub_title {
		margin: 0 0 4.6667vw;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .text {
		font-size: 3.7333vw;
		margin: 0 0 4vw;
	}
}
@media ( min-width: 1501px ) {
	#reason .layout_block .title_wrap {
		flex-basis: 241px;
		max-width: 241px;
	}
	#reason .layout_block .content_wrap {
		flex-basis: calc(100% - 241px);
		max-width: calc(100% - 241px);
	}
	#reason .layout_block .content_wrap .reason_block:not(:last-child) {
		margin: 0 0 125px;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .text {
		font-size: 22px;
	}
	#reason .deco3 {
		right: -4vw;
	}
}
@media ( min-width: 1201px ) and ( max-width: 1500px ) {
	#reason .layout_block .title_wrap {
		flex-basis: 221px;
		max-width: 221px;
	}
	#reason .layout_block .content_wrap {
		flex-basis: calc(100% - 221px);
		max-width: calc(100% - 221px);
	}
	#reason .layout_block .content_wrap .reason_block:not(:last-child) {
		margin: 0 0 95px;
	}
}
@media ( min-width: 961px ) and ( max-width: 1200px ) {
	#reason .layout_block .title_wrap {
		flex-basis: 201px;
		max-width: 201px;
	}
	#reason .layout_block .content_wrap {
		flex-basis: calc(100% - 201px);
		max-width: calc(100% - 201px);
	}
	#reason .layout_block .content_wrap .reason_block:not(:last-child) {
		margin: 0 0 65px;
	}
	#reason .layout_block .content_wrap .reason_block .text_block .text {
		font-size: 18px;
	}
}
/*===============================
manga
===============================*/
#manga {
	position: relative;
}
#manga .title .img_box {
	display: block;
}
#manga .title .author {
	display: inline-flex;
	margin: 0 auto;
	align-items: center;
}
#manga .title .author .content {
	text-align: left;
}
#manga .title .author .name {
	position: relative;
}
#manga .title .author .name::before {
	content: '';
	display: block;
	width: 100%;
	background: #fde67c;
	position: absolute;
	left: 0;
	bottom: 0;
	z-index: -1;
}
#manga .title .author .content .sns {
	color: #26466d;
	text-decoration: underline;
}
#manga .manga_slide_wrap .manga_title {
	color: #e370a6;
}
#manga .swiper-pagination {
	bottom: 0;
}
#manga .manga_slide_wrap {
	position: relative;
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
}
#manga .swiper-pagination-bullet {
	background: #d6d6d6;
	opacity: 1;
}
#manga .swiper-pagination-bullet-active {
	opacity: 1;
	background: #e370a6;
}
#manga .swiper-button-next,
#manga .swiper-button-prev {
	position: absolute;
	top: 50%;
	background-size: cover;
	background-repeat: no-repeat;
	outline: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	cursor:pointer;
}
#manga .swiper-button-prev {
	background-image: url('img/manga_slide_pre.png');
	left: 0;
}
#manga .swiper-button-next {
	background-image: url('img/manga_slide_next.png');
	right: 0;
}
@media ( min-width: 601px ) {
	#manga {
		padding: 73px 0 65px;
	}
	#manga .title {
		margin: 0 0 30px;
	}
	#manga .title .author .avatar {
		margin: 0 22px 0 0;
	}
	#manga .title .author .name {
		font-size: 45px;
		padding: 0 0 7px;
		margin: 0 0 12px;
	}
	#manga .title .author .name::before {
		height: 20px;
		border-radius: 10px;
	}
	#manga .title .author .content .sns {
		font-size: 18px;
	}
	#manga .subtitle {
		margin: 0 0 22px;
	}
	#manga .manga_slide_wrap {
		max-width: 645px;
	}
	#manga .manga_slide_wrap:first-of-type {
		margin-bottom: 46px;
	}
	#manga .manga_slide_wrap .manga_title {
		margin: 0 0 15px;
	}
	#manga .swiper-container {
		width: 100%;
		padding: 0 0 36px;
	}
	#manga .swiper-pagination-bullet {
		width: 13px;
		height: 13px;
		margin: 0 8px;
	}
	#manga .swiper-button-next,
	#manga .swiper-button-prev {
		width: 59px;
		height: 59px;
	}
}
@media ( min-width: 961px ) {
	#manga .deco1 {
		position: absolute;
		width: 24.4%;
		top: 294px;
		left: 0;
	}
	#manga .deco2 {
		position: absolute;
		width: 22.66%;
		top: 34px;
		right: 0;
	}
	#manga .subtitle {
		font-size: 30px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#manga .subtitle {
		font-size: 27px;
		padding: 0 60px;
	}
	#manga .subtitle::before,
	#manga .subtitle::after {
		width: 51px;
		height: 84px;
	}
}
@media ( max-width: 960px ) {
	#manga .subtitle {
		position: relative;
		display: inline-block;
		line-height: 1.83;
	}
	#manga .subtitle::before,
	#manga .subtitle::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto 0;
		background-repeat: no-repeat;
		background-size: cover;
	}
	#manga .subtitle::before {
		background-image: url('img/manga_subtitle_before.png');
		left: 0;
	}
	#manga .subtitle::after {
		background-image: url('img/manga_subtitle_after.png');
		right: 0;
	}
}
@media ( max-width: 600px ) {
	#manga {
		padding: 7.33vw 0 8vw;
	}
	#manga .title {
		margin: 0 0 4.67vw;
	}
	#manga .title .author .avatar {
		width: 17.73vw;
		margin: 0 3.73vw 0 0;
	}
	#manga .title .author .name {
		font-size: 6.67vw;
		padding: 0 0 1.07vw;
		margin: 0 0 1.87vw;
	}
	#manga .title .author .name::before {
		height: 3.73vw;
		border-radius: 1.33vw;
	}
	#manga .title .author .content .sns {
		font-size: 3.2vw;
	}
	#manga .subtitle {
		font-size: 4.8vw;
		padding: 0 8vw;
		margin: 0 0 6.67vw;
	}
	#manga .subtitle::before,
	#manga .subtitle::after {
		width: 6.8vw;
		height: 11.2vw;
	}
	#manga .manga_slide_wrap:first-of-type {
		margin-bottom: 8.4vw;
	}
	#manga .manga_slide_wrap .manga_title {
		font-size: 3.7333vw;
		margin: 0 0 5.33vw;
	}
	#manga .swiper-container {
		box-sizing: border-box;
		width: 100%;
		padding: 0 6vw 4.93vw;
	}
	#manga .swiper-container::before,
	#manga .swiper-container::after {
		content: '';
		width: 6vw;
		height: 100%;
		background: #fff;
		position: absolute;
		top: 0;
		z-index: 5;
	}
	#manga .swiper-container::before {
		left: 0;
	}
	#manga .swiper-container::after {
		right: 0;
	}
	#manga .swiper-pagination-bullet {
		width: 1.7333vw;
		height: 1.7333vw;
		margin: 0 1.0667vw;
	}
	#manga .swiper-button-next,
	#manga .swiper-button-prev {
		width: 10.6667vw;
		height: 10.6667vw;
	}
}
/*===============================
voice
===============================*/
#voice {
	background: #fff4c0;
}
#voice .layout_block ul {
	display: flex;
	flex-wrap: wrap;
}
#voice .layout_block li a {
	display: block;
}
@media ( min-width: 601px ) {
	#voice {
		padding: 22px 0 35px;
	}
	#voice .title {
		margin: 0 0 36px;
	}
}
@media ( min-width: 961px ) {
	#voice .layout_block ul {
		margin: 0 0 0 -3.6%;
	}
	#voice .layout_block li {
		width: calc((100% / 4) - 3.6%);
		margin: 0 0 50px 3.6%;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#voice .layout_block li {
		margin: 0 0 22px 2.6%;
	}
}
@media ( max-width: 960px ) {
	#voice .layout_block ul {
		margin: 0 0 0 -2.6%;
	}
	#voice .layout_block li {
		width: calc((100% / 3) - 2.6%);
	}
}
@media ( max-width: 600px ) {
	#voice {
		padding: 6.1333vw 0 5.6vw;
	}
	#voice .title {
		margin: 0 auto 4vw;
	}
	#voice .layout_block li {
		margin: 0 0 2.4vw 2.6%;
	}
}
/*===============================
line
===============================*/
#line .content_block {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
#line .content_block .line_add {
	margin: 0 auto;
}
#line .content_block .line_add a {
	display: block;
}
@media ( min-width: 601px ) {

	#line .content_block {
		padding: 0 28px;
	}
	#line .content_block .title {
		margin: 0 0 40px;
	}
	#line .content_block .line_add {
		max-width: 400px;
		width: 100%;
	}
	#line .content_block .line_add a {
		transition: opacity .3s;
	}
	#line .content_block .line_add a:hover {
		opacity: 0.7;
	}
}
@media ( min-width: 961px ) {
	#line {
		padding: 35px 0 42px;
	}
	#line .layout_block {
		display: flex;
	}
	#line .layout_block .img_block1,
	#line .layout_block .img_block2,
	#line .layout_block .content_block {
		flex: 1 1 0%;
	}
	#line .layout_block .img_block1,
	#line .layout_block .img_block2 {
/*		width: 32.87%;*/
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#line {
		padding: 60px 0 0;
	}
	#line .content_block {
		margin: 0 0 40px;
	}
	#line .img_block2 {
		margin: 0 -20px;
	}
}
@media ( max-width: 600px ) {
	#line {
		padding: 9.6vw 0 0;
	}
	#line .content_block {
		margin: 0 0 8.6667vw;
	}
	#line .content_block .title {
		margin: 0 0 6.6667vw;
	}
	#line .img_block2 {
		margin: 0 -4vw;
	}
}
/*===============================
about_popy
===============================*/
#about_popy {
	color: #fff;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top center;
}
#about_popy .popy_site a {
	color: #fff;
	position: relative;
	display: inline-block;
}
#about_popy .popy_site a::before {
	content: '';
	display: block;
	position: absolute;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url('img/icon_s_arrow.png');
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto 0;
}
@media ( min-width: 601px ) {
	#about_popy {
		padding: 68px 0 46px;
		background-image: url('img/about_popy_bg.jpg');
		margin: 0 0 65px;
	}
	#about_popy .title {
		margin: 0 0 47px;
	}
	#about_popy .text {
		font-size: 16px;
		line-height: 2.19;
		margin: 0 0 40px;
	}
	#about_popy .popy_site a {
		padding: 0 40px 0 0;
		height: 25px;
		line-height: 25px;
	}
	#about_popy .popy_site a::before {
		width: 25px;
		height: 25px;
	}
}
@media ( min-width: 961px ) {
	#about_popy .title {
		font-size: 40px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#about_popy .title {
		font-size: 35px;
	}
}
@media ( max-width: 960px ) {
	#about_popy .title {
		line-height: 1.33;
	}
}
@media ( max-width: 600px ) {
	#about_popy {
		padding: 10.93vw 0 6.27vw;
		background-image: url('img/about_popy_bg_sp.jpg');
		background-size: cover;
		margin: 0 0 8vw;
	}
	#about_popy .title {
		font-size: 6vw;
		margin: 0 0 8vw;
	}
	#about_popy .text {
		font-size: 3.33vw;
		line-height: 1.8;
		margin: 0 0 4.67vw;
	}
	#about_popy .popy_site a {
		padding: 0 12.53vw 0 0;
		height: 8.27vw;
		line-height: 8.27vw;
	}
	#about_popy .popy_site a::before {
		width: 8.27vw;
		height: 8.27vw;
	}
}
/*===============================
fix_bar_pc,
fix_bar_sp
===============================*/
#fix_bar_pc,
#fix_bar_sp {
	width: 100%;
	background: #b9bec2;
	position: fixed;
	left: 0;
	z-index: 999;
}
#fix_bar_pc .inner,
#fix_bar_sp .inner {
	position: relative;
	display: flex;
	align-items: center;
}
#fix_bar_pc ul,
#fix_bar_sp ul {
	width: 100%;
	display: flex;
	justify-content: space-between;
}
#fix_bar_pc li a,
#fix_bar_sp li a {
	display: block;
}
@media ( min-width: 601px ){
	#fix_bar_pc {
		bottom: 0;
		transition: bottom .3s;
	}
	#fix_bar_pc.js_bottom_fix {
		position: absolute;
		bottom: 0;
	}
	#fix_bar_pc ul {
		padding: 10px 0 13px;
		align-items: flex-end;
	}
	#fix_bar_pc li:not(:last-child) {
		width: 36.81%;
		max-width: 486px;
	}
	#fix_bar_pc li:nth-child(2) {
		margin: 0 10px;
	}
	#fix_bar_pc li:last-child {
		width: 23.48%;
		max-width: 310px;
	}
	#fix_bar_pc li a {
		transition: opacity .3s;
		opacity: 1;
	}
	#fix_bar_pc li a:hover {
		opacity: 0.7;
	}
}
@media ( min-width: 961px ) {
	#fix_bar_pc .inner {
		height: 100px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#fix_bar_pc .inner {
		height: 80px;
	}
}
@media ( max-width: 600px ) {
	#fix_bar_sp {
		bottom: 0;
	}
	#fix_bar_sp ul {
		align-items: center;
		height: 17.3333vw;
	}
	#fix_bar_sp ul li {
		width: 46.1333vw;
	}
	#fix_bar_sp ul li:first-child {
		margin: 0 0 0 -2vw;
	}
}
/*===============================
fix_line_sp
===============================*/
@media ( max-width: 600px ) {
	#fix_line_sp {
		width: 23.4667vw;
		position: fixed;
		right: 2.6667vw;
		bottom: 20vw;
		z-index: 999;
		opacity: 0;
		visibility: hidden;
	}
	#fix_line_sp.show {
		opacity: 1;
		visibility: visible;
		transition: opacity .4s, visibility .4s;
	}
	#fix_line_sp.js_none {
		opacity: 0;
		visibility: hidden;
		transition-duration: 0s;
	}
	#fix_line_sp .line_btn,
	#fix_line_sp .close_btn {
		display: block;
	}
	#fix_line_sp .close_btn {
		cursor: pointer;
		width: 4.9333vw;
		height: 4.9333vw;
		position: absolute;
		top: -2.2667vw;
		right: -1.2vw;
	}
}
/*===============================
cv_area
===============================*/
.cv_area {
	background-color: #fde67c;
}
.cv_area .inner {
	position: relative;
}
.cv_area .image_box {
	position: absolute;
}
.cv_area .btn_area {
	position: relative;
	z-index: 10;
}
.cv_area .btn_area a {
	display: block;
}
@media ( min-width: 601px ) {
	.cv_area {
		padding: 0 0 34px;
	}
	.cv_area .btn_area {
		padding: 160px 0 0;
	}
	.cv_area .btn_area a {
		transition: opacity .3s;
	}
	.cv_area .btn_area a:hover {
		opacity: 0.9;
	}
}
@media ( min-width: 961px ) {
	.cv_area {
		background-repeat: repeat-x;
		background-image: url('img/cv_bg.png');
	}
	.cv_area .btn_area {
		top: 40%;
	}
	.cv_area .image_box {
		top: -44px;
	}
	.cv_area .btn_area .cv_apply_btn {
		width: 100%;
		max-width: 650px;
		margin: 0 auto 28px;
	}
	.cv_area .tel {
		display: inline-flex;
		margin: 0 auto;
		align-items: center;
	}
	.cv_area .tel dd {
		display: flex;
		align-items: center;
		height: 31px;
	}
	.cv_area .tel dd span {
		display: inline-block;
	}
	.cv_area .tel dd .number {
		position: relative;
		color: #26466d;
		font-size: 35px;
		padding: 0 0 0 68px;
	}
	.cv_area .tel dd .number::before {
		content: '';
		display: block;
		background-image: url('img/icon_free_dial.png');
		background-repeat: no-repeat;
		background-size: cover;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto 0;
		width: 55px;
		height: 31px;
	}
	.cv_area .tel dd .time {
		font-size: 18px;
		padding: 0 0 0 10px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	.cv_area .image_box {
		top: -16px;
	}
	.cv_area .btn_area {
		width: 70%;
	}
	.cv_area .btn_area .cv_apply_btn {
		margin: 0 0 15px;
	}
}
@media ( min-width: 701px ) and ( max-width: 960px ) {
	.cv_area .btn_area {
		padding: 330px 0 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 700px ) {
	.cv_area .btn_area {
		padding: 280px 0 0;
	}
}
@media ( max-width: 960px ) {
	.cv_area {
		background-repeat: no-repeat;
		background-size: cover;
		background-image: url('img/cv_bg_sp.png');
	}
	.cv_area .btn_area {
		margin: 0 auto;
	}
}
@media ( max-width: 600px ) {
	.cv_area {
		padding: 0 0 5.3333vw;
	}
	.cv_area .image_box {
		top: -4.2667vw;
	}
	.cv_area .btn_area {
		padding: 42.4vw 0 0;
	}
	.cv_area .btn_area .cv_apply_btn {
		margin: 0 0 3.7333vw;
	}
}
@media ( min-width: 1101px ) {
	.cv_area .image_box {
		left: 59px;
	}
}
@media ( max-width: 1100px ) {
	.cv_area .image_box {
		left: 0;
		right: 0;
		margin: 0 auto;
	}
}
@media ( min-width: 1001px ) {
	.cv_area .tel {
		letter-spacing: 0.2em;
	}
	.cv_area .tel dt {
		padding: 0 47px 0 0;
	}
}
@media ( min-width: 601px ) and ( max-width: 1000px ) {
	.cv_area .tel dt {
		padding: 0 25px 0 0;
	}
}
/*===============================
foot
===============================*/
#foot {
	position: relative;
}
@media ( min-width: 601px ){
	#foot {
		font-size: 10px;
	}
}
@media ( min-width: 961px ) {
	#foot {
		padding: 44px 0 138px;
	}
}
@media ( min-width: 601px ) and ( max-width: 960px ) {
	#foot {
		padding: 44px 0 118px;
	}
}
@media ( max-width: 600px ){
	#foot {
		padding: 8vw 0 25.3333vw;;
		font-size: 2vw;
	}
}
.modaal-content-container{
	padding: 0;
}
.modaal-inner-wrapper{
	padding: 7em;
}
@media ( max-width: 900px ){

	.modaal-inner-wrapper{
		padding: 5em;
	}
}
.camp_slide .slick-slide img{
	margin: 0 auto;
}
.prev.slick-arrow:before{
	position: absolute;
	content: "";
	display: inline-block;
	z-index: 1;
	bottom: 50%;
    left: 0;
	transform: translateY(30%);
    width: 70px;
	padding-bottom: 6%;
	background-image: url(img/manga_slide_pre.png);
	background-position: center;
    background-size: contain;
	background-repeat: no-repeat;
}
.next.slick-arrow:before{
	position: absolute;
	content: "";
	display: inline-block;
	z-index: 1;
	bottom: 50%;
    right: 0;
	transform: translateY(30%);
    width: 70px;
	padding-bottom: 6%;
	background-image: url(img/manga_slide_next.png);
	background-position: center;
    background-size: contain;
	background-repeat: no-repeat;
}

button{
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.slide-dots{
	margin-top: 0.5em;
	text-align: center;
}
.slide-dots li{
	display: inline-block;
	margin: 0 10px;
}
.slide-dots li.slick-active button:before{
	content: '●';
	color: #fa8f04;
}
.slide-dots li button{
	position: relative;
	text-indent: -9999px;
}
.slide-dots li button:before{
	content: '●';
	font-size: 10px;
	color: #d9d2c9;
	text-indent: 0px;
	position: absolute;
	top: 0;
	left: 0;
	}
@media ( max-width: 900px ){
	.camp_slide{
		max-width: 900px;
	}
	.prev.slick-arrow:before{
		left: -3%;
	}
	.next.slick-arrow:before{
		right: -3%;
	}
}
@media ( max-width: 770px ){
	.camp_slide{
		max-width: 700px;
	}
}
@media ( max-width: 700px ){
	.modaal-inner-wrapper{
		padding: 1em;
	}
}
@media ( max-width: 600px ){
	.prev.slick-arrow:before{
		left: 0;
		padding-bottom: 10%;
	}
	.next.slick-arrow:before{
		right: 0;
		padding-bottom: 10%;
	}
}
@media ( max-width: 500px ){
	.camp_slide{
		padding: 0 10vw;
	}
}
@media ( max-width: 400px ){
	.prev.slick-arrow:before{
		left: 2%;
		width: 40px;
	}
	.next.slick-arrow:before{
		right: 2%;
		width: 40px;
	}
}
/*4月号からココが変わります*/
    .manatobi {
    background-color: #ffe8f3;
    margin-bottom: 3rem;
}
.btn2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}.btn--orange,
a.btn--orange {
  color: #fff;
  background-color: #dc143c;
}
.btn--orange:hover,
a.btn--orange:hover {
  color: #fff;
 opacity: 0.7;
}

a.btn--radius {
   border-radius: 20px;
}
@media ( min-width: 601px ){
.manatobi {
    padding: 3rem 0;
}
}
@media ( max-width: 600px ){
.manatobi {
    padding: 2rem 1rem;
}
.btn2 {
    font-size: 1rem;
    margin-top: 1rem;
}
}

/*キャンペーンページ　支部コード入力エリア*/
.form-text{
	width: 80%;
	max-width: 800px;
	margin: 20px auto;
	font-size: 16px;
	line-height: 1.8;
}

.form input{
	width: 100%;
	border: 1px solid #000;
	width: 50%;
	max-width: 800px;
	margin: 20px auto;
	display: block;
	height: 50px;
	line-height: 50px;
	font-size: 30px;
}
.btn_area2 a{
	display: block;
	background-color: #F66;
	color: #fff;
	width: 80%;
	margin: 50px auto 50px;
	padding: 30px 0;
	text-align: center;
	font-size: 26px;
	font-weight: bold;
    max-width: 500px;
    border-radius: 50px;
}
.check-result{
	text-align: center;
	font-size: 20px;
	color: #f00;
}
/*離脱防止ポップアップ*/
.popup-area {
    display:none;
    width:80vw;
    padding:0;
    position: fixed;
    z-index: 9999;   
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    text-align: center;
    border-radius:0;
}
.popup-area .popwrap{
	position:relative;
margin-bottom:20px;
    box-shadow: 0 0 4px 4px rgba(0,0,0,0.4);
}

@media screen and (min-width: 980px) {
        .popup-area {
        width:auto;
        max-width: 50vw;
    }
}
.cover-eml {
    background:rgba(0,0,0,0.6);
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999;   
    top:0;
    right:0;
    bottom:0;
    left:0;
}
.popup-area .close-btn{
    margin: 0 0 15px auto;
    cursor: pointer;
text-align:right;
width:15px;
height:15px;
}
/**************************
 価格部分　タブ切り替え
***************************/

/* 親要素でタブの横並びのためflexを指定
*/
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:1rem auto;
  width: 90%;
  max-width: 700px;    
}

/* タブ１～３と書いているタブメニュー部分
*/
.tab-label {
  text-align: center;
 font-weight: bold;
  padding: .5em 1em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
}

.tab-label:not(:last-of-type) {
  margin-right: 5px;
}

/* タブのコンテンツ部分*/
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

/* アクティブなタブ、チェックされているradioボタンの隣にあるlabelの背景色を変える*/
.tab-switch:checked+.tab-label {
 background-color:#e50012;/*背景色*/
    color: #ffffff;
    border-radius: 10px 10px 0 0 ;
}

.tab-switch:checked+.tab-label:after{
	content: "";
	position: absolute;
	top: 100%;
	left: calc(50% + 5px);
	margin-left: -15px;
	border: 10px solid transparent;
    border-top:10px solid #e50012;
	width: 0;
	height: 0;
}

.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  opacity: 1;
  transition: .5s opacity;
  border-top: 2px solid #e50012;
    padding-top: 10px;
}

/* radioボタンは仕組みだけ利用するため非表示に*/
.tab-switch {
  display: none;
}
.c-top-economical__detail {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    justify-content: flex-end;
    padding: 40px;
    gap: 30px;
    border-radius: 12px;
    background-color: #ffe8f3;
}

.c-top-economical__price {
    margin-top: 50px
}

.c-top-economical__price .c-tab__nav {
    justify-content: center;
    gap: 8px
}

.c-top-economical__price .c-tab__nav--btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 146px;
    padding: 12px;
    gap: 16px;
    border-radius: 12px 12px 0 0;
    background-color: var(--color-page-main);
    color: #fff;
    opacity: .5;
    transition: opacity .5s ease
}
.c-intro-price__month {
    margin-bottom: 1rem;
}
.c-intro-price__month--price {
    color: #e50012;
    font-weight: 700;
    font-size: 6.7rem;
    line-height: 1;
}

.c-intro-price__month--yen {
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 1.25rem;
    line-height: 1.55;
    white-space: nowrap
}

.c-intro-price__month--unit {
    padding-right: 6px;
    padding-left: 6px;
    border: 1px solid #009fe8;
    border-radius: 4px;
    color: #009fe8;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.8;
    text-align: center;
    white-space: nowrap
}
.c-intro-price__caution--text {
    line-height: 1.5;
    text-align: left;
}
.c-intro-price__caution--text a {
    color: red;
}
@media screen and (max-width: 767px){
    .c-intro-price__month {
        width: -webkit-fit-content;
        width: -moz-fit-content;
        width: fit-content;
        margin-right: auto;
        margin-left: auto
    }    
    .c-top-economical__detail {
        flex-direction: column-reverse;
        align-items: center;
        padding: 20px 16px;
        gap: 20px
    }
.c-intro-price__month--price {
        font-size: 5rem
    }

    .c-intro-price__month--yen {
        margin-bottom: 6px;
        font-size: 1rem
    }

    .c-intro-price__month--unit {
        font-size: .875rem
    }
    
}

/*教材スライダー部分のボタン*/
.btn3 {
  max-width: 400px;
  margin: 0 auto 3rem;
}
a.btn_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 90%;
  margin: 0 auto;
  position: relative;
  background: #e370a6;
  border: 1px solid #e370a6;
  border-radius: 30px;
  box-sizing: border-box;
  padding: 10px 45px 10px 25px;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  transition-duration: 0.3s;
}
a.btn_03:before {
  content: '';
  width: 8px;
  height: 8px;
  border: 0;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -6px;
}
a.btn_03:hover {
  background: #fff;
  color: #ff815a;
}
a.btn_03:hover:before {
  border-top: 2px solid #ff815a;
  border-right: 2px solid #ff815a;
}
/* モーダルCSS */
.modalArea {
  display: none;
  position: fixed;
  z-index: 10; /*サイトによってここの数値は調整 */
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modalBg {
  width: 100%;
  height: 100%;
  background-color: rgba(30,30,30,0.9);
}

.modalWrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  width: 70%;
  max-width: 500px;
  padding: 10px 30px;
  background-color: #fff;
}

.closeModal {
  position: absolute;
  top: 0.5rem;
  right: 1rem;
  cursor: pointer;
}
/*アコーディオン*/
.accordion {
	max-width: 1000px;
	margin: 1rem auto;
}
@media ( min-width: 601px ){
	.accordion {
	margin-top: 3rem;
}
}

.toggle {
	display: none;
}
.Label {		/*タイトル*/
	padding: 5px;
	display: block;
/*	color: #fff;
	background:#e370a6;
*/}
/*.Label::before{		
	content:"";
	width: 6px;
	height: 6px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(45deg);
	position: absolute;
	top:calc( 50% - 3px );
	right: 20px;
	transform: rotate(135deg);
}
*/.Label,
.content2 {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: translateZ(0);
	transition: all 0.3s;
}
.content2 {		/*本文*/
	height: 0;
	padding:0 20px;
	overflow: hidden;
	text-align: left;
	line-height: 1.6;
	font-size: 16px;
}
.content2 ul {
	margin-top: 10px;
}
.content2 li {
	padding-left:1em;
	text-indent:-1em;
	margin-bottom: 10px;
}
.toggle:checked + .Label + .content2 {	/*開閉時*/
	height: auto;
	padding:20px ;
	transition: all .3s;
}
/*.toggle:checked + .Label::before {
	transform: rotate(-45deg) !important;
}*/