@charset "UTF-8";
/** font family settings ********************************************
font-family: minion-pro, serif;
font-family: zen-old-mincho, sans-serif;
********************************************************************/

#pagewrap{
	font-family: 'Noto Sans JP',"游ゴシック Medium","Yu Gothic Medium","游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #432f00;
}
.module.owner-sign,
.module.text-mincho{
	font-family: zen-old-mincho, sans-serif;
}
.cat_example #layout.pagewidth{ max-width: 746px; }

.module .fancy-heading .main-head{
	font-family: minion-pro, serif;
	font-weight: normal;
	font-size: 50px;
}
.module .fancy-heading .sub-head{
	font-weight: normal;
	font-size: 18px;
	padding-top: 0;
	margin-top: 5px;
}

.common-titles .fancy-heading{
	display: flex;
	align-items: baseline;
	margin-bottom: 30px;
}
.common-titles .fancy-heading .main-head{
	vertical-align: text-bottom;
}
.common-titles .fancy-heading .sub-head{
	padding-left: 18px;
}

body .pagenav{ text-align: center; }
body .pagenav a, body .pagenav span{ border-radius: 5px; border: 1px solid #e296b0; background: white; box-sizing: border-box; color: #444; padding: 11px; width: 40px; height: 40px; }
body .pagenav .current,body .pagenav a:hover{ background: #e296b0; color: white; }

.history-back-button{
	display: block;
	margin: 50px auto 100px;
	width: 180px;
	padding: 10px;
	box-sizing: border-box;
	text-align: center;
	color: white;
	background: #e296b0;
	border-radius: 10px;
	position: relative;
	text-decoration: none!important;
	transition: .3s ease;
}
.history-back-button::after{
	content: "\f105";
	font-family: Fontawesome, serif;
	font-size: 16px;
	line-height: 1;
	position: absolute;
	right: 10px;
	top: calc(50% - 8px);
}
.history-back-button:hover{
	opacity: .7;
}

.module-post .post .post-image{ text-align: center; }

/* for the navigation for smartphones including the iPad Pro of landscape size */

/************************************************
***************** header ************************
*************************************************/
#headerwrap{ width: 100%; position: fixed; top: 0; left: 0; z-index: 100; }
#header{ display: flex; flex-wrap: nowrap; justify-content: space-between; align-items: center; padding: 40px 70px 20px; }

/************************************************
***************** navigation ********************
*************************************************/
#main-menu-container ul{ list-style: none; display: flex; justify-content: center; align-items: end; margin: 0 auto; }
#main-menu-container ul li{ padding: 0 5px; margin: 0 auto;}
#main-menu-container ul li a,
#main-menu-container ul li a:link,
#main-menu-container ul li a:visited{
	color: #432f00;
	text-decoration: none!important;
}

#main-menu-container ul li a{
	display: block;
	font-family: minion-pro, 'Noto Sans JP', serif;
	text-align: center;
	padding: 10px;
	font-size: 20px;
	transition: .3s ease;
}
#main-menu-container ul li a::after{
	content: attr(title);
	display: block;
	font-size: 12px;
	color: #606060!important;
}
#main-menu-container ul li a:hover{
	opacity: .72;
}

/************************************************
***************** footer ************************
*************************************************/
.footerMenu.module .module-menu-container ul{
	width: 100%;
	text-align: center;
	background: transparent;
    border: none;
    box-shadow: none;
}
.footerMenu.module .module-menu-container ul li{
	color: white;
}
.footerMenu.module .module-menu-container ul li::before{
	content: "/";
	padding: 0 5px;
}
.footerMenu.module .module-menu-container ul li:first-child::before{
	display: none;
}
.footerMenu.module .module-menu-container ul li a{
	color: white!important;
	text-decoration: none!important;
	background-color: transparent!important;
	display: inline-block;
	position: relative;
	overflow: hidden;
	padding: 0;
	vertical-align: text-top;
	border-bottom: 1px solid white;
	border-radius: 0;
	transition: .3s ease;
}
.footerMenu.module .module-menu-container ul li a:hover{
	opacity: .7;
}
.footer-contents img{
	margin: 0 0 0 6px;
	vertical-align: middle;
}

#footerwrap{
	text-align: center;
	background: #fbf1f3;
}
.copyright-container{
	padding: 14px 10px;
}

/************************************************
***************** contents **********************
*************************************************/

/* main copy */
#main-copy{
	width: 247px;
	height: 393px;
	margin: 0 auto;
	writing-mode: vertical-rl;
	display: flex;
	justify-content: center;
	align-items: stretch;
	flex-direction: column;
	font-family: zen-old-mincho, sans-serif;
}
.pink{
	color: #e296b0;
}
#main-copy div{
    padding: 10px 20px;
    border-left: 1px solid #6d6e6e;
    font-size: 52px;
    letter-spacing: -0.3em;
    font-weight: 700;
    color: #432f00;
}
#main-copy div:first-child{
	border-right: 1px solid #6d6e6e;
}

/* alert box */
#body .module.top-alert{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1000;
	margin-bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background: rgba(0,0,0,.72);
}
#body .module.top-alert .alert-inner+.alert-close{
	background: transparent;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	border-radius: 0;	
}
#body .module.top-alert .alert-inner+.alert-close::before,
#body .module.top-alert .alert-inner+.alert-close::after{ display: none; }
#body .module.top-alert .alert-inner{
	background: white;
	padding: 2%;
	border-radius: 5px;
	box-shadow: 8px 8px 3px 0 rgba(255,255,255,.24);
	max-width: 94%;
	z-index: 10;
}
#body .module.top-alert .alert-inner .alert-button,
#body .module.top-alert .alert-inner .alert-content{ float: none; }
#body .module.top-alert .alert-inner .alert-button{ text-align: center; margin-top: 10px; }
#body .module.top-alert .alert-inner .alert-button a{
	display: inline-block;
	width: 200px;
}

/* checks */
.check-content-wrap{
	background: url(../../uploads/checkBg01.png) no-repeat center top,
				url(../../uploads/checkBg02.png) no-repeat center center,
				url(../../uploads/checkBg03.png) no-repeat center bottom;
	background-size: contain;
}
.check-content-wrap .module_subrow .subrow_inner{
	max-width: 928px;
	margin: 0 auto;
}
.check-content-wrap .module_subrow .subrow_inner .module.checks:nth-of-type(even){
	margin-top: 120px;
}
.check-content-wrap .module_subrow{
	margin-top: -140px;
}
.module.checks{
	background: url(../../uploads/check-contents-bg.png) no-repeat center center;
	background-size: contain;
	max-width: 464px;
	height: 270px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
}
.module.checks p{ margin-bottom: 5px; }
.module.checks img{ margin-bottom: 0; }
.subrow_inner .check-left{
	margin-left: 40px;
	margin-right: -40px;
}
.subrow_inner .check-right{
	margin-left: -40px;
	margin-right: 40px;
	padding-top: 120px;
}

/* points */
.points-title-img,
.method-title-img{
	position: relative; padding-bottom: 40px;
}
.points-title-img::before,
.method-title-img::before{
	content: "";
	display: block;
	width: 100%;
	max-width: 90%;
	border-bottom: 6px double white;;
	position: absolute;
	bottom: 0;
	left: calc(50% - 45%);
}
.module.point-contents{
	max-width: 514px;
	height: 514px;
	margin: 0 auto 30px;
	border-radius: 50%;
	background: white;
	border: 1px solid #e296b0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 20px;
}
.module.point-contents .module-title{
	font-family: minion-pro, serif;
	font-weight: normal;
	color: white;
	font-size: 25px;
	width: 180px;
	padding: 10px 5px 8px;
	background: #e296b0;
	margin: 0 auto 25px;
	position: relative;
}
.module.point-contents .module-title::before,
.module.point-contents .module-title::after{
	content: "";
	width: 18px;
	height: 150%;
	background: white;
	position: absolute;
	top: -25%;
	left: -5%;
	transform: rotate(10deg);
}
.module.point-contents .module-title::after{
	left: 95%;
}
.module.point-contents .module-title span{
	font-size: 35px;
	vertical-align: bottom;
}
.module del{
	display: inline-block;
	text-decoration: none;
	position: relative;
	z-index: 1;
	line-height: 1.2;
	padding: 0 .3em;
}
.module.point-contents del{
	font-size: 30px;
	font-weight: bold;
	line-height: 1.2;
	padding: 0 5px;
}
.module del::before{
	content: "";
	display: inline-block;
	height: .32em;
	width: 100%;
	background: #fde7c1;
	position: absolute;
	left: 0;
	bottom: 2px;
	z-index: -1;
}
.module.point-contents p:last-child{
	margin-bottom: 0;
}

/* video */
.video-wrap-outer{ margin-left: auto; margin-right: auto; }

/* method */
.method-content-wrap{
	background: url(../../uploads/method-bg01.png) no-repeat left 15px top ,
				url(../../uploads/method-bg02.png) no-repeat right top;
}
.method-title-img::before{
	border-color: #e296b0;
	width: 68%;
	left: calc(50% - 34%);
}
.method-box.module .module-title{
	font-size: 30px;
	font-family: zen-old-mincho, sans-serif;
	margin-bottom: 20px;
}

/* menu */
.menu-titles.module{ font-family: zen-old-mincho, sans-serif; line-height: 1.2; display: flex; padding-left: 300px; }
.menu-titles.module .module-title{ margin-bottom: 15px; }
.menu-titles.module .module-title::after{
	content: url(../../uploads/arrows.png);
	padding: 0 30px;
}
.menu-titles.module p:last-child{ margin-bottom: 15px; }

.course_tags.module .module-title{
	font-family: zen-old-mincho, sans-serif;
	color: white;
	width: 290px;
    padding: 3px 16px 6px 16px;
	background:
		url(../../uploads/ribbon-title-bg.png) right center no-repeat, 
		linear-gradient(90deg, rgba(121,51,165,1) 0%, rgba(255,130,169,1) 100%);
	background-size: contain;
	box-sizing: border-box;
	position: relative;
	margin-bottom: 0;
	height:70px;
	min-height: 40px;
	display: flex;
	align-items: center;
}
.course_tags.module .module-title::before{
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-top: 4px solid rgba(121,51,165,1);
	border-left: 8px solid transparent;
	position: absolute;
	left: 0;
	bottom: -4px;
	filter: brightness(.8);
}
 /* メニューのタグカラー変更 */
.tag_pink.course_tags.module .module-title{
	background:
	url(../../uploads/ribbon-title-bg.png) right center no-repeat, 
	linear-gradient(90deg, rgba(255,128,172,1) 0%, rgba(250,156,127,1) 100%);
	background-size: contain;
}
.tag_pink.course_tags.module .module-title::before{
	border-top-color: #ff80ac;
}
/* ここまでをコピーしてクラス名とカラー調整をすれば増やせる */

.tag_blue.course_tags.module .module-title{
	background:
	url(../../uploads/ribbon-title-bg.png) right center no-repeat, 
	linear-gradient(90deg, rgb(79,202,238) 0%, rgb(14,84,218) 100%);
	background-size: contain;
}
.tag_blue.course_tags.module .module-title::before{
	border-top-color: rgb(79,202,238);
}
.tag_orange.course_tags.module .module-title{
	background:
	url(../../uploads/ribbon-title-bg.png) right center no-repeat, 
	linear-gradient(90deg, #FF7901 0%, #FFD306 100%);
	background-size: contain;
}
.tag_orange.course_tags.module .module-title::before{
	border-top-color: #FF7901;
}
.tag_bluegreen.course_tags.module .module-title{
	background:
	url(../../uploads/ribbon-title-bg.png) right center no-repeat, 
	linear-gradient(90deg, #00E8BD 0%, #007EDE 100%);
	background-size: contain;
}
.tag_bluegreen.course_tags.module .module-title::before{
	border-top-color: #00E8BD;
}
.tag_salmon.course_tags.module .module-title{
	background:
	url(../../uploads/ribbon-title-bg.png) right center no-repeat, 
	linear-gradient(90deg, #FF887C 0%, #B7335F 100%);
	background-size: contain;
}
.tag_salmon.course_tags.module .module-title::before{
	border-top-color: #FF887C;
}

/* gmaps */
.gmaps iframe{ max-width: 958px; }

/* campagin*/
#pagewrap #body .campaign_row{
	background: url(../../uploads/camBgBottom.png) no-repeat center bottom,url(../../uploads/camBgTop.png) no-repeat center top;
	background-color: #fbf1f3;
	background-size: contain;
}
.module.ribbon_title .module-title{
	color: white;
	font-family: zen-old-mincho, sans-serif;
	text-align: center;
	padding: 12px 20px 13px;
	position: relative;
	background: url(../../uploads/ribbon_bg.png) repeat center center;
}
.module.ribbon_title .module-title::before{
	display: block;
	content: url(../../uploads/ribbon_left.png);
	position: absolute;
	left: 0;
	top: calc( 50% - 36px );
	z-index: 1;
}
.module.ribbon_title .module-title::after{
	display: block;
	content: url(../../uploads/ribbon_right.png);
	position: absolute;
	right: 0;
	top: calc( 50% - 36px );
	z-index: 1;
}
.module_subrow.mw980_inner .subrow_inner{
	max-width: 980px;
	margin-right: auto;
	margin-left: auto;
}

/* faq */
.module.faq-a{
	background-size: 10%;
}
.question-box:hover{ cursor: pointer; }
#body .module.answer-box{ visibility: hidden; height: 100%; max-height: 0; transition: .3s linear; padding: 0 3%; }
#body .module.answer-box.open{ visibility: visible; max-height: 100vh; padding: 3% 3%; }

/************************************************
***************** single page *******************
*************************************************/
.cat_example .post .post-date,
.cat_example .post .post-title,
.cat_example .post .post-image{ display: none; }
.cat_example .post .module-image.image-center .image-content{ padding: 1em 0; }


/* add nishigaki */

.cat-6.cat-5.category-topics.category-m-news{
	margin-top:50px;
}
.cat-6.cat-5.category-topics.category-m-news .post-image{
	text-align:center;
}
.cat-6.cat-5.category-topics.category-m-news .post-date{
	color: rgba(183, 211, 152, 1);
}
.cat-6.cat-5.category-topics.category-m-news .post-title{
    font-size: 20px;
}
.list-post{
	width:100%;
}
#content{
	float:none;
}

/* 20220613 adjust koike */
.slide-content time{
	color: #b7d398;
}

/* 20220613 end */

/* end nishigaki */
/************************************************
***************** Media Query *******************
*************************************************/
@media screen and (max-width: 1100px){
	#content{ width: 100%; }
}
@media screen and (max-width: 1024px){
	#pagewrap .pagewidth, .module_row > .row_inner{
		max-width: 96%;
	}
	#main-menu-container.is-active{
		display: flex;
	}
	#main-menu-container.is-active ul{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	#main-menu-container.is-active .main-menu>li{
		border-color: #333;
	}
	#pagewrap .video-row{ background-size: 150%; }
	#pagewrap .module.course_tags{
		position: static;
		transform: translateX(-8px);
	}
	.menu-titles.module{
		padding: 2%;
	}
	.module.menu-table .tb_text_wrap,
	.module.menu-table .tb_text_wrap p,
	.module.menu-table .tb_text_wrap span{ text-align: left!important; }

	#pagewrap .module.normal-price .tb_text_wrap{
		font-size: 18px;
	}
	#pagewrap .module.ribbon_title .module-title{
		font-size: 24px;
	}
}

@media screen and (max-width: 768px) {
	#main-copy{
		height: auto;
	}	
	#main-copy div{
		font-size: 40px;
	}	
	#pagewrap .module-image.image-right .image-wrap,
	#pagewrap .module-image.image-left .image-wrap{
		margin-left: auto;
		margin-right: auto;
		float: none;
	}
	#headerwrap{
		position: absolute;
	}
	#headerwrap #header{
		flex-direction: column;
		padding-top: 20px;
	}
	.module .fancy-heading .main-head{
		font-size: 36px;
	}
	.main-image-wrap{
		height: 80vh;
		background-size: 160%!important;
		padding-top: 28%!important;
	}
	#main-copy{ transform: scale(0.76); }
	#main-copy div{ letter-spacing: 0px; }
	/* .main-title-img img{ width: auto; height: 30vh; } メインのコピー画像時の設定 */
	.module.checks{
		font-size: 14px;
		line-height: 1.4;
		height: 120px;
		padding: 0 10px;
	}
	.module.checks p{
		margin-bottom: 0;
	}
	.module.checks img{
		max-width: 100px;
	}
	.check-content-wrap .module_subrow{
		margin-top: -15%;
	}
	#pagewrap .subrow_inner .check-left,
	#pagewrap .subrow_inner .check-right{
		width: 60%!important;
	}
	.subrow_inner .check-left{ margin-right: -10%; margin-left: 0; }
	.subrow_inner .check-right{ margin-right: 0; margin-left: -10%; padding-top: 21.4%; }

	.points-title-img::before{ max-width: 100%; left: 0; }

	.module.point-contents{
		font-size: 18px;
		height: auto;
		padding: 24px 10px;
		border-radius: 10px;
	}
	.module.point-contents del{
		font-size: 24px;
	}
	.point2-3-wrap{ margin-top: 0!important; }
	
	.method-title-img::before{ width: 100%; max-width: 100%; left: 0; }
	.method-content-wrap{ background: none;	}
	.method-text{ padding: 0!important; margin: 0 auto!important; }
	#pagewrap .method-box-text{
		padding-top: 25%;
		background-position: center top;
	}
	.youtube-btn img{ width: 200px; }
	.module.tools{ margin-left: 0!important; }
	.module.tools img{ max-width: 100px; }
	#pagewrap .module.plesent01{ margin-top: -10px; }
	.module.plesentImg img{ max-width: 160px; }
	.course-wrap.module_subrow .subrow_inner{ flex-direction: column; }
	.course-wrap.module_subrow .subrow_inner .sub_column{ width: 100%!important; }
	.menu-titles.module{ flex-direction: column; }
	#pagewrap .menu-titles.module .module-title{ font-size: 22px; text-align: center; }
	.menu-titles.module .module-title::after{ padding-right: 0; display: none; }
	#pagewrap .menu-titles.module .tb_text_wrap{ text-align: center; }
	.method-box.module .module-title{ font-size: 24px; }
	.cat_example #layout.pagewidth{ max-width: inherit; }
}
@media screen and (max-width: 680px){
	/* .module-post .builder-posts-wrap{ display: flex; flex-wrap: wrap; justify-content: space-between; }
	.module-post .post{
		width: 48%!important;
	} */
}

@media screen and (max-width: 380px){
	#site-logo a img{ width: auto; height: 60px; }
	#pagewrap .main-image-wrap{
		padding: 120px 0;
		background-size: 130%!important;
	}
}




