@charset "utf-8";

/* ------------ */
/* デザイン共通 */
/* ------------ */
*{
	/*font-family: 'M PLUS 1p', sans-serif,"游ゴシック体", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;*/
	font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
	box-sizing:border-box;
}
html,body,div,span,applet,object,iframe,strong,h1,h2,h3,h4,h5,h6,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,fieldset,form,legend,caption,tbody,tfoot,thead,table,label,tr,th,td,p,img,figure{
	margin:0;
	padding:0;
	border:none;
}
body {
	width:100%;
	margin:0;
	padding:0;
	color:#000;
	line-height:1.75;
	text-align:center;
	overflow-x: hidden;
}
a{
	text-decoration:none;
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
	transition: 0.2s ease-out;
}
img{
	vertical-align:top;
	max-width:100%;
	height:auto;
}

@media screen and (max-width:767px) {
 	html { font-size:16px; }
 	.sp_none { display:none !important; }
}
@media print,screen and (min-width:768px) {
	html { font-size:18px; }
	.pc_none { display:none !important; }
}
@media print,screen and (min-width:1200px) {
	html { font-size:21px; }
}

/* ------ */
/* design */
/* ------ */
/*
header div,
main section div,
footer div {
	position:relative;
	z-index:10;
	width:1200px;
	margin:0 auto;
}
*/
/*--------*/
/* header */
/*--------*/

header {
	display:flex;
	justify-content:space-between;
	align-items:center;
	position:relative;
	width:100%;
	margin:0;
	padding:0.5rem 0;
	line-height:1.75;
}
header h1 {
	display:flex;
	align-items:center;
	color:#017257;
	line-height:1;
	text-align:left;
	font-size:2.8rem;
}
header h1 div > span {
	display:block;
	font-size:1.2rem;
}

header h1 a {
	display:block;
	color:#000;
	font-size:2rem;
}
header h1 a > span { font-size:1rem; }
header .navi_area {
	width:36%;
	padding:0 1rem 0 0;
	margin:0;
	text-align:right;
}
header .navi_area .tel_num { position:relative; text-align:right; }
header .navi_area .tel_num a {
	display:inline-block;
	padding:0 0 0 2rem;
	color:#000;
	line-height:1;
	font-size:1.8rem;
	font-weight:bold;
	background:url('images/tel_icon.png') 0 50% no-repeat;
	background-size:contain;
}
header .navi_area .tel_num span {
	display:block;
	font-size:0.8rem
}
header .navi_area .tel_num span.rep {
	position:absolute;
	top:-1em;
	right:0;
	line-height:1;
}
header .navi_area nav ul {
	display:flex;
	justify-content:flex-end;
	margin:0;
	padding:0;
	list-style:none;
}
header .navi_area nav li { margin:0; padding:0; }
header .navi_area nav li:not(:first-child) { margin-left:0.5rem; }
header .navi_area nav li:not(:last-child)::after { content:" ｜"; }
header .navi_area nav a { color:#000; font-size:0.85rem; }
header .navi_area nav a:hover { color:#2ea3a3; }

@media screen and (max-width:767px) {
	header h1 { font-size:2.4rem; }
	header h1 div { margin-left:0.5rem; }
	header h1 div span { font-size:0.9rem; }
	header h1 .logo {
		width:12%;
		margin-left:0.5rem;
	}
 	header .navi_area { display:none; }
}
@media print,screen and (min-width:768px) {
	header h1 .logo {
		letter-spacing:-.40em;
		width:calc(240px + 2rem);
		padding:0 1rem;
	}
	header h1 .logo + div { width:calc(100% - (240px + 2rem)); }
}
@media print,screen and (min-width:1200px) {
	
}

/*------*/
/* main */
/*------*/

.main {
	display:block;
	width:100%;
	text-align:center;
}

main section .link_price { margin:2rem auto; text-align:center; }
main section .link_price a {
	display:inline-block;
	padding:0.75em;
	color:#fff;
	line-height:1;
	font-size:1.5rem;
	border:#2ea3a3 1px solid;
	border-radius:2rem;
	background:#2ea3a3;
}
main section .link_price a:hover { color:#2ea3a3; background:#fff; }
main .r_mark {
	font-size:0.5em;
}
/*-------------*/
/* contact btn */
/*-------------*/

.contact_block {
	position:fixed;
	top:calc(50% - 140px);
	left:0;
	z-index:50;
	width:60px;
	height:320px;
	padding-top:3rem;
	border:#000 2px solid;
	border-left:none;
	border-radius:0 5px 5px 0;
	background:url('images/contact_btn_icon.png') 50% 10px no-repeat;
	background-color:rgba(255,255,255,0.75);
	-webkit-transition: 0.2s ease-out;
	-moz-transition: 0.2s ease-out;
	-ms-transition: 0.2s ease-out;
	transition: 0.2s ease-out;
}
.contact_block:hover { background-color:#f6e20f; }
.contact_block a {
	display:block;
	width:1em;
	margin:0 auto;
	color:#000;
	line-height:1;
	font-weight:bold;
}

@media screen and (max-width:767px) {
 	.contact_block { display:none; }
}
@media print,screen and (min-width:768px) {
	
}
@media print,screen and (min-width:1200px) {
	
}

/*-------------------*/
/* contact bnr block */
/*-------------------*/

.contact_bnr_block {
	position:relative;
	z-index:40;
	width:100%;
	padding:1rem;
	color:#017257;
	line-height:1;
	border:#017257 5px solid;
	border-radius:1rem;
	background:#fff;
}

.contact_bnr_block .contact_box {
	display:flex;
	justify-content:space-between;
}

.contact_bnr_block .logo > * { width:100%; }
.contact_bnr_block .name {
	padding:0 1rem;
	text-align:left;
	font-weight:bold;
}
.contact_bnr_block .name > .copy { margin-bottom:1rem; font-size:1.5rem; }

.contact_bnr_block .contact_box { flex-wrap:wrap; }
.contact_bnr_block .contact_box .tel {
	width:100%;
	padding-right:0.5rem;
}

.contact_bnr_block .contact_box a.form_submit_btn {
	display:block;
	width:100%;
	margin-top:0.5rem;
	padding:0.75rem 0;
	color:#017257;
	line-height:1.5;
	text-align:center;
	font-weight:bold;
	border:#ffdd29 1px solid;
	border-radius:4rem;
	background:#ffdd29;
}
.contact_bnr_block .contact_box a:hover { background:#fff; }


@media screen and (max-width:767px) {
 	.contact_bnr_block { width:95%; margin:2rem auto; }
 	.contact_bnr_block > .logo {
 		width:100%;
 		display:flex;
 		justify-content:center;
 	}
 	.contact_bnr_block > .logo p { width:40%; }
 	.contact_bnr_block .name {
 		margin:0 auto 2rem;
 		padding:0;
 		text-align:center;
 	}
	.contact_bnr_block .name > .title { font-size:2.4rem; }
	.contact_bnr_block .name > .sub { margin-top:0.5rem; }
	.contact_bnr_block .contact_box .tel {
		margin-bottom:1rem;
		text-align:left;
	}
	.contact_bnr_block .contact_box .tel .num { margin-bottom:1rem; }
	.contact_bnr_block .contact_box .tel a {
		display:block;
		width:100%;
		padding:1.125rem 0;
		text-align:right;
		font-size:1.75rem;
		font-weight:bold;
		background:url('images/contact_bnr_block/tel_icon.gif') 0 50% no-repeat;
		background-size:16%;
	}
	.contact_bnr_block .contact_box .tel span {
		display:block;
		width:100%;
		margin-top:-1.125rem;
		text-align:right;
	}
	.contact_bnr_block .contact_box .tel .hours,
	.contact_bnr_block .contact_box .tel .attention { text-align:center; }
	.contact_bnr_block .contact_box .tel a { color:#000; }
}
@media print,screen and (min-width:768px) {
	.contact_bnr_block {
		display:flex;
		justify-content:space-between;
		align-items:center;
		margin:0 auto;
	}
	.contact_bnr_block > .logo { width:10%; }
	.contact_bnr_block > .name { width:62%; }
	.contact_bnr_block .name > .title { font-size:4rem; }
	.contact_bnr_block .name > .sub { display:none; }
	.contact_bnr_block > .contact_box { width:34%; }
	.contact_bnr_block .contact_box .tel {
		margin-bottom:1rem;
		text-align:right;
		background:url('images/contact_bnr_block/tel_icon.gif') 0.5rem 50% no-repeat;
		background-size:contain;
	}
	.contact_bnr_block .contact_box .tel .num {
		position:relative;
		font-size:1.6rem;
		font-weight:bold;
	}
	.contact_bnr_block .contact_box .tel .num span {
		display:block;
		position:absolute;
		top:-1em;
		right:0;
		font-size:1rem;
		font-weight:normal;
	}
	.contact_bnr_block .contact_box .tel .hours,
	.contact_bnr_block .contact_box .tel .attention { line-height:1.25; font-size:0.6rem; }
	.contact_bnr_block .contact_box .tel .attention { padding-right:1em; }
	.contact_bnr_block .contact_box .tel a { color:#017257; }
}
@media print,screen and (min-width:1200px) {
	.contact_bnr_block {
		display:flex;
		justify-content:space-between;
		align-items:center;
		margin:0 auto;
	}
	.contact_bnr_block > * { width:32%; }
	.contact_bnr_block .contact_box .tel { margin-bottom:1rem; text-align:right; }
	.contact_bnr_block .contact_box .tel .num {
		position:relative;
		font-size:1.6rem;
		font-weight:bold;
	}
	.contact_bnr_block .contact_box .tel .num span {
		display:block;
		position:absolute;
		top:-1em;
		right:0;
		font-size:0.7rem;
		font-weight:normal;
	}
	
}

/*-------------*/
/* main visual */
/*-------------*/


.main_visual .merit_scroll {
	position:relative;
	width:200px;
}
.main_visual .merit_scroll a {
	display:block;
	width:50px;
	margin:auto;
	padding-top:calc(50px + 1rem);
	padding-right:calc(25px - 0.5rem);
	padding-bottom:calc(108px + 1rem);
	padding-left:calc(25px - 0.5rem);
	color:#000;
	line-height:1.25;
	font-weight:bold;
	background:
		url('images/scroll_icon.png') 50% 0 no-repeat,
		url('images/scroll_arrow.png') 50% 100% no-repeat
	;
}

@media screen and (max-width:767px) {
	.main_visual {
		position:relative;
		width:100%;
		padding-top:64vh;
	}
	.main_visual .mv_img {
		position:absolute;
		top:0;
		z-index:5;
		width:100%;
		height:64vh;
		background:url('images/mv_img.jpg') 55% 50% no-repeat;
		background-size:cover;
	}
	.main_visual .mv_copy_left {
		display:flex;
		align-items:flex-end;
		position:absolute;
		top:0;
		right:1rem;
		left:1rem;
		z-index:10;
		width:calc(100% - 2rem);
		height:64vh;
		padding-bottom:0.5rem;
	}
	.main_visual .mv_copy_right { padding:1rem 0 0; background:#2ea3a3; }
	.main_visual .mv_campaign {
		position:relative;
		padding:1rem 0;
		background:url('images/block_shadow_campaign.png');
	}
	.main_visual .mv_entry { display:none; }
	
}
@media print,screen and (min-width:768px) {
	.main_visual {
		position:absolute;
		width:100%;
		min-height:540px;
		height:75vh;
		right:0;
	}
	.main_visual .mv_campaign { display:none; }
	.main_visual .mv_copy,
	.main_visual .mv_entry,
	.main_visual .mv_copy_right,
	.main_visual .mv_copy_left {
		position:absolute;
		bottom:0;
		z-index:10;
		margin:auto;
	}
	.main_visual .mv_copy {
		right:0;
		left:0;
		width:1100px;
	}
	.main_visual .mv_entry { top:0; right:0; }
	.main_visual .mv_copy_right { right:0; }
	.main_visual .mv_copy_right { text-align:right; }
	.main_visual .mv_copy_left {
		left:1rem;
		width:calc(100% - 1rem);
		text-align:left;
	}

	.main_visual .mv_img {
		position:relative;
		z-index:5;
		width:calc(100% - 200px);
		height:100%;
		background:url('images/mv_img.jpg') 50% 50% no-repeat;
		background-size:cover;
	}
	.main_visual .mv_copy_left { width:45%; }
	.main_visual .mv_copy_left.winter { width:65%; }
	.main_visual .mv_copy_left img { width:100%; }
	.main_visual .mv_img {
		width:100%;
		height:100%;
		background:url('images/mv_img.jpg') 50% 50% no-repeat;
		background-size:cover;
	}
}
@media print,screen and (min-width:768px) and (max-width:1023px) {
	
}
@media print,screen and (min-width:1100px) {
	.main_visual { width:calc(100% - 80px); min-width:calc(1100px - 60px); }
	.main_visual .merit_scroll { width:calc((100% - 1100px)/2); }
	main #pickup_area::after,
	main #voice::before,
	main #voice::after {
		display:block;
		content:"";
		position:absolute;
		z-index:1;
		width:100%;
		height:6rem;
	}
	main #voice::before { top:-6rem; background:#2ea3a3; }
	main #pickup_area::after,
	main #voice::after { bottom:0; background:#fff; }
}
@media print,screen and (min-width:1200px) {
	.main_visual { width:calc(100% - 180px); min-width:calc(1200px - 60px); }
	.main_visual .mv_copy_left { width:calc(100% - 1rem); }
	.main_visual .mv_copy_left img { width:auto; }
}



/*-----------*/
/* merit sec */
/*-----------*/

main section.merit_sec {
	display:flex;
	flex-wrap:wrap;
	padding:0;
}

main section.merit_sec {
	justify-content:flex-start;
	width:100%;
	line-height:normal;
	text-align:center;
}

main section.merit_sec .contents_block { margin:0; padding:0; }
main section.merit_sec .body {
	position:relative;
	width:100%;
	margin:0;
	padding:4rem 0 2rem;
	background-image: linear-gradient(to left, #000, #000 6px, transparent 6px, transparent 8px);
	background-size: 16px 1px;
	background-position: bottom;
	background-repeat: repeat-x;
	background-color:rgba(255,255,255,0.75);
	
}
main section.merit_sec .body::before,
main section.merit_sec .body::after {
	display:block;
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	width:1px;
	height:100%;
	background-size: 1px 16px;
	background-repeat: repeat-y;
	background-position: 50% 50%;
}
main section.merit_sec .body::before {
	right:0;
	background-image: linear-gradient(to top, #000, #000 6px, transparent 6px, transparent 8px);
}
main section.merit_sec .body::after {
	left:0;
	background-image: linear-gradient(to bottom, #000, #000 6px, transparent 6px, transparent 8px);
}
main section.merit_sec .body h1 {
	position:absolute;
	top:0;
	width:100%;
	height:1px;
	margin-bottom:2rem;
	line-height:1;
	text-align:center;
	background-image: linear-gradient(to right, #000, #000 6px, transparent 6px, transparent 8px);
	background-size: 16px 1px;
	background-position: top;
	background-repeat: repeat-x;
}
main section.merit_sec .body h1 span {
	display:block;
	margin:-0.5em auto 0;
	padding:0;
	background:#fff;
}
main section.merit_sec .body .list {
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
	position:relative;
	margin:0 auto;
}
main section.merit_sec .body .list figure { text-align:center; }
main section.merit_sec .body .list figure figcaption {
	display:block;
	margin-top:1rem;
	padding:0.5em 0;
	line-height:1;
	font-size:1.5rem;
	font-weight:bold;
	background:#f6e30f;
}
main section.merit_sec .body .list figure figcaption.single { padding:1.5em 0; }
main section.merit_sec .body .list figure figcaption.double { padding:1em 0; }
main section.merit_sec .body .list figure figcaption.triple { padding:0.5em 0; }
main section.merit_sec .contents_block .arrow {
	display:block;
	width:0;
	height:0;
	margin:2rem auto 1rem;
	border-top:#000 40px solid;
	border-right:transparent 40px solid;
	border-left:transparent 40px solid;
}
main section.merit_sec .contents_block .merit_text {
	padding-bottom:1.875rem;
	color:#2ea3a3;
	line-height:1;
	font-size:2.625rem;
	font-weight:bold;
	background:url('images/merit/merit_line.png') 50% 100% no-repeat;
}
@media screen and (max-width:767px) {
	main section.merit_sec {
		margin:0 auto;
		padding:4rem 1rem 2rem;
	}
	main section.merit_sec .contents_block { width:98%; margin:0 auto; }
	main section.merit_sec .body { padding:2rem 0; }
	main section.merit_sec .body h1 { font-size:1.75rem; }
	main section.merit_sec .body h1 span { width:90%; }
	main section.merit_sec .body .list { width:calc(100% - 2rem ); }
	main section.merit_sec .body .list figure { width:48%; padding-top:1rem; }
	main section.merit_sec .body .list figure figcaption { font-size:1rem; }
}
@media print,screen and (min-width:768px) {
	main section.merit_sec {
		/* margin:90vh auto 0; */
		margin:8rem auto 0;
		padding:0 1rem 2rem;
		background:url('images/merit/merit_bg_img.jpg') 120% 100% no-repeat;
		background-size:contain;
	}
	main section.merit_sec .contents_block { width:67.5%; }
	main section.merit_sec .body { padding:4rem 0 2rem; }
	main section.merit_sec .body h1 { font-size:2.25rem; }
	main section.merit_sec .body h1 span { width:68%; }
	main section.merit_sec .body .list { width:calc(100% - 3.5rem); }
	main section.merit_sec .body .list figure { width:32%; text-align:center; }
	main section.merit_sec .body .list figure.above { margin-bottom:1rem; }
	main section.merit_sec .body .list figure figcaption {
		display:block;
		margin-top:1rem;
		padding:0.5em 0;
		line-height:1;
		font-size:1.5rem;
		font-weight:bold;
		background:#f6e30f;
	}
	main section.merit_sec .body .list figure figcaption.single { padding:1.5em 0; }
	main section.merit_sec .body .list figure figcaption.double { padding:1em 0; }
	main section.merit_sec .body .list figure figcaption.triple { padding:0.5em 0; }
	
}
@media print,screen and (min-width:1200px) {
	main section.merit_sec {
		padding-right:0;
		padding-left:1rem;
	}
	main section.merit_sec .body .list figure figcaption { font-size:1.3rem; }
}
@media print,screen and (min-width:1500px) {
	main section.merit_sec {
		background:url('images/merit/merit_bg_img.jpg') 110% 100% no-repeat;
		background-size:contain;
	}
	main section.merit_sec .body .list figure figcaption.triple { padding:1em 0; }
	main section.merit_sec .body .list figure figcaption.triple br.double { display:none; }
}
@media print,screen and (min-width:1700px) {
	main section.merit_sec {
  background:url('images/merit/merit_bg_img.jpg') 102% 100% no-repeat;
		background-size:contain;
	}
}

/* .first_contents{
 
} */
@media print, screen and (min-width: 768px) {
 .first_contents{
   margin: 80vh auto 0;
}
 .first_contents.back-green{
   margin: 85vh auto 0;
}
}

@media print, screen and (min-width: 1200px) {
 .first_contents{
   margin: 90vh auto 0;
}
}

.sec_ttl{
 color: #017257;
}

/* @media print, screen and (min-width: 768px) {
 .intro{
  display: grid;
  grid-template-columns: 2fr 1fr;
  
 }
} */
 /* .intro_inner{} */
@media print, screen and (min-width: 768px) {
 .intro.back-green{
  background-color: #2ea3a3;
 }
 .intro_inner{
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  gap: 20px;
  width: 90%;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding:  0rem 1rem;
 }
 .intro.back-green .intro_inner{
  padding: 6rem 1rem;
 }

}
@media print, screen and (min-width: 1200px) {
 /* .intro{

 } */
 .intro_inner{
  gap: 3rem;
  width: 100%;
  padding-left: 60px;
 }
}
/*------------*/
/*main  news_sec */
/*------------*/
 .news_sec{
 line-height:1.75;
 padding: 4rem 1rem 4rem;
}
 .news_sec_ttl{
 display: inline-block;
 position: relative;
 margin: 0 auto 1.2rem;
 /* padding: 0.5rem 0 0.5rem 4rem; */
 font-size: 2rem;
 /* background: url('images/teacher/title_icon.png') 0% 50% no-repeat; */
 /* background-size: 3rem; */
 text-align: center;
 color: #2ea3a3;
}

 .news_sec_ttl::before,  .news_sec_ttl::after {
 display: block;
 content: "";
 position: absolute;
 right: -2rem;
 left: -2rem;
 z-index: 10;
 width: calc(100% + 4rem);
 height: 1rem;
}
/*  .news_sec_ttl::before {
 top: -2rem;
 background: url('images/teacher/title_line_top.png') 50% 50% no-repeat;
} */
.news_sec_ttl::after {
 bottom: -1.2rem;
 background: url('images/teacher/title_line_top.png') 50% 50% no-repeat;
}
/* .back-green .news_sec_ttl::before {
 top: -2rem;
 background: url('images/voice/title_line_bottom.png') 50% 50% no-repeat;
 } */
 .back-green .news_sec_ttl::after {
  bottom: -1.2rem;
  background: url('images/voice/title_line.png') 50% 50% no-repeat;
}
.news_lists{
 margin-top: 2.2rem;
 margin-bottom: 0;
 list-style: none;
 padding: 0;
}
.news_list{
 text-align: left;
 padding:0.8rem;
 border-bottom: 1px dashed #222;
}
.news_list:nth-of-type(1){
 padding-top: 0;
}

.news_link{
 cursor: pointer;
 color: #222;
}

.news_list .flex{
 display: flex;
 flex-wrap: wrap;
 gap: 0.2rem 0.8rem;
 align-items: center;
}
.news_list_time{
 margin-top: 0.2em;
 font-size: 0.77rem;
 font-weight: bold;
}

.news_list_label{
 display: inline-block;
 padding: 0.1em 0.4em 0;
 /* border-radius: 100px; */
 border-radius: 2px;
 background-color: #d6d6d4;
 font-weight: bold;
font-size: 0.62rem;
 color: #ffffff;
 letter-spacing: 0.22em;
}
.label_cat{background-color: #7bba1a;}
.label_cat.label_cat01{background-color: #ff9800;}
.label_cat.label_cat02{background-color: #ffdd29;}
.label_cat.label_cat03{background-color: #2196f3;}
.label_cat.label_cat04{background-color: #f44336;}
.label_cat.label_cat05{background-color: #673ab7;}
.news_list_label_new{
 font-size: 0.77rem;
 font-weight: bold;
 border-bottom: 4px double currentColor;
 color: #ffdd29;
 line-height: 1;
}

.news_list_ttl{
 margin-top: 0.2em;
 font-size: 1rem;
 font-weight: bold;
 transition: 0.2s ease-out;
}
.news_list_ttl:hover{
 opacity: 0.6;
}

@media print, screen and (min-width: 768px) {
.back-green .news_lists{
 padding: 1rem;
 background-color: #ffffff;
 border-radius:4px;
}

.back-green h1{
 color: #fff;
}
}
@media print, screen and (min-width: 768px) {
  .news_sec{
  margin: 0 auto;
  padding: 0;
 }
  .news_sec_ttl{
   /* display: block; */
   width: fit-content;
   margin-left: 0;
   /* margin-left: 2rem; */
   /* margin-right: 0; */
   /* margin-top: 2rem; */
   text-align: left;
  }
 .back-green .news_lists{
  padding: 2rem;
 }
 }
@media print, screen and (min-width: 1200px) {
  .news_sec{
  width: 100%;
  margin: 0;
 }
}
  
/*------------*/
/* sns sec */
/*------------*/

.sns_sec {
 position: relative;
 top: 0;
 left: 0;
 z-index: 1;
 width: 100%;
 margin: 0 auto 4rem;
 padding: 4rem 1rem 4rem;
 background-color: #2ea3a3;
 line-height:1.75;
 text-align-last: left;
}
.sns_sec iframe.instagram-media{
margin-bottom: 0!important;
}

.sns_sec_list{
 width: fit-content;
 margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
 .sns_sec{
  padding: 1rem;
 }
 .back-green .sns_sec{
  padding:0;
 }
}
@media print, screen and (min-width: 1024px) {
 .sns_sec{
  padding: 1.8rem 2rem;
 }
 .sns_sec_list{
  width:100%;
 }
 .back-green .sns_sec {
  padding: 0;
 }
}

@media print, screen and (min-width: 1200px) {
 .sns_sec {
  display: grid;
  grid-template-columns: 1fr;
  margin: 0;
 }
 .sns_sec_list{
  width: 100%;
  margin: 0;
 }
 .sns_sec_list iframe{
  margin-left: auto;
 }
}

/*------------*/
/* pickup sec */
/*------------*/

main #pickup_area {
	position:relative;
	background:#2ea3a3;
}

section.pickup_sec {
	position:relative;
	margin:0 auto;
	padding:0;
	line-height:1;
}

section.pickup_sec h1 span {
	display:block;
	margin-top:0.5rem;
	font-size:2.25rem;
}
section.pickup_sec .body { color:#fff; text-align:left; }
section.pickup_sec .body h2 {
	margin-bottom:1rem;
	font-size:2rem;
}
section.pickup_sec .body p { line-height:1.75; }
section.pickup_sec .body p.link_contents { margin-top:0.5rem; line-height:1; }
section.pickup_sec .body p.link_contents a {
	display:inline-block;
	padding:0.5rem 3rem;
	color:#000;
	font-weight:bold;
	border:#f8e40f 1px solid;
	border-radius:2rem;
	background:#f8e40f;
}
section.pickup_sec .body p.link_contents a:hover { background:#fff; }
section.pickup_sec .body strong { color:#f8e40f; }
section.pickup_sec .border_sep { margin:2rem auto; }

section.pickup_sec .winter_class {
	margin:0 auto;
	text-align:center;
}

section.pickup_sec .winter_class a {
	display:inline-block;
	position:relative;
	margin:0 auto;
	color:#fff;
}

section.pickup_sec .winter_class a:hover { color:#f6e20f; }
section.pickup_sec .winter_class + .border_sep { margin-bottom:4rem; }

section.pickup_sec article {
	display:flex;
	justify-content:space-between;
	align-items:center;
	margin:2rem auto;
}
section.pickup_sec .icon_block { margin-bottom:0.5rem; }
section.pickup_sec .icon_block img { height:100%; }
@media screen and (max-width:767px) {
	main #pickup_area { padding:4rem 0 2rem; }
	section.pickup_sec { width:95%; }
	section.pickup_sec h1 {
		padding:1.5rem 3rem;
		line-height:1;
		border-radius:6.75rem;
		background:
			url('images/pickup/title_design_left.gif') -10% 50% no-repeat,
			url('images/pickup/title_design_right.gif') 110% 50% no-repeat
		;
		background-size:contain;
		background-color:#fff;
	}
	section.pickup_sec h1 span {
		display:block;
		margin-top:0.5rem;
		font-size:2rem;
	}
	section.pickup_sec .icon_block { height:3rem; }
	section.pickup_sec article {
		flex-direction:column-reverse;
	}
	section.pickup_sec .body p.link_contents { margin:1rem auto; text-align:center; }
	section.pickup_sec .winter_class a { font-size:1.75rem; }
	section.pickup_sec .winter_class a::after {
		display:inline-block;
		content:"";
		position:absolute;
		bottom:-0.5rem;
		left:0;
		width:100%;
		height:0.3rem;
		margin:auto;
		background:#faee00;
		transform:skewX(-30deg);
		transform-origin:right bottom;
	}
}
@media print,screen and (min-width:768px) {
	main #pickup_area { padding:8rem 0 0; }
	section.pickup_sec {
		width:100%;
		padding:0 1rem;
	}
	section.pickup_sec h1 {
		display:inline-block;
		padding:1.5rem 6.75rem;
		line-height:1;
		border-radius:6.75rem;
		background:
			url('images/pickup/title_design_left.gif') 0 50% no-repeat,
			url('images/pickup/title_design_right.gif') 100% 50% no-repeat
		;
		background-color:#fff;
	}
	section.pickup_sec h1 span { font-size:2.25rem; }
	section.pickup_sec article {
		display:flex;
		justify-content:space-between;
		align-items:center;
	}
	section.pickup_sec article:nth-of-type(2) { flex-direction:row-reverse; }
	section.pickup_sec .icon_block { height:4rem; }
	
	section.pickup_sec .winter_class a { padding-right:1.5rem; font-size:1.3rem; }
	section.pickup_sec .winter_class a::before {
		display:block;
		content:"";
		position:absolute;
		top:0;
		right:0.5rem;
		bottom:0;
		width:0;
		height:0;
		margin:auto;
		border-top:transparent 0.35rem solid;
		border-bottom:transparent 0.35rem solid;
		border-left:#fff 0.5rem solid;
		-webkit-transition: 0.2s ease-out;
		-moz-transition: 0.2s ease-out;
		-ms-transition: 0.2s ease-out;
		transition: 0.2s ease-out;
	}
	section.pickup_sec .winter_class a:hover::before { right:0; border-left:#f6e20f 0.5rem solid; }
}
@media print,screen and (min-width:1200px) {
	section.pickup_sec {
		width:1200px;
		margin:0 auto;
	}
	section.pickup_sec article .body {
		width:calc(100% - (324px + 2rem));
	}
}

/*-------------*/
/* teacher sec */
/*-------------*/

main #teacher { margin:0 auto; }
main .teacher_sec { line-height:1.3; text-align:center; }
main .teacher_sec > *:not(h1) { text-align:left; }

main .teacher_sec h1 {
	display:inline-block;
	position:relative;
	padding:0.5rem 0 0.5rem 4rem;
	text-align:center;
	font-size:2rem;
	background:url('images/teacher/title_icon.png') 0% 50% no-repeat;
	background-size:3rem;
}
main .teacher_sec h1::before,
main .teacher_sec h1::after {
	display:block;
	content:"";
	position:absolute;
	right:-2rem;
	left:-2rem;
	z-index:10;
	width:calc(100% + 4rem);
	height:1rem;
}
main .teacher_sec h1::before {
	top:-2rem;
	background:url('images/teacher/title_line_top.png') 50% 50% no-repeat;
}
main .teacher_sec h1::after {
	bottom:-2rem;
	background:url('images/teacher/title_line_bottom.png') 50% 50% no-repeat;
}
main .teacher_sec h2,
main .teacher_sec .class_status {
	color:#2ea3a3;
	font-weight:normal;
}
main .teacher_sec .teacher_list article h2 { font-size:1.5rem; }
main .teacher_sec .teacher_list article .body { margin-top:1rem; }
main .teacher_sec .teacher_list article h2 span { font-size:0.5em; }
main .teacher_sec .class_status { margin-bottom:1rem; }
main .teacher_sec .contact_bnr_block { margin-top:4rem; }

@media screen and (max-width:767px) {
	main .teacher_sec h1 { margin:4rem auto 6rem; }
	main .teacher_sec > article,
	main .teacher_sec .teacher_list article,
	main .teacher_sec .teacher_list aside {
		position:relative;
		width:calc(95% - 10px);
		margin:0 auto 1.5rem;
	}
	main .teacher_sec > article figure {
		width:calc((95% - 10px) - 3rem);
		margin:auto;
		text-align:center;
	}
	main .teacher_sec > article figure,
	main .teacher_sec .teacher_list article figure { margin-bottom:1rem; }
	main .teacher_sec > article h2 { margin-bottom:1rem;text-align:center; }
	main .teacher_sec > article h2 strong { display:block; }
	
	main .teacher_sec .teacher_list article::after {
		display:block;
		content:"";
		position:absolute;
		right:0;
		bottom:0;
		z-index:10;
		width:calc(100% - 5px);
		height:calc(100% - 5px);
		background:url('images/block_shadow.png');
	}
	main .teacher_sec .teacher_list article > div {
		position:relative;
		top:0;
		left:0;
		z-index:20;
		width:calc(100% - 5px);
		height:calc(100% - 5px);
		padding:1.5rem;
		border:#000 1px solid;
		background:#fff;
	}
}
@media print,screen and (min-width:768px) {
	main #teacher { width:90%; }
	main .teacher_sec h1 { margin:8rem auto; }
	main .teacher_sec figure {
		max-width:200px;
		float:left;
		margin:0 2rem 1rem 0;
	}
	main .teacher_sec .teacher_list {
		display:flex;
		justify-content:space-between;
		flex-wrap:wrap;
		margin:4rem auto 0;
	}
	main .teacher_sec .teacher_list article,
	main .teacher_sec .teacher_list aside {
		position:relative;
		width:calc(50% - 10px);
		margin-bottom:20px;
	}
	main .teacher_sec .teacher_list article::after {
		display:block;
		content:"";
		position:absolute;
		right:0;
		bottom:0;
		z-index:10;
		width:calc(100% - 5px);
		height:calc(100% - 5px);
		background:url('images/block_shadow.png');
	}
	main .teacher_sec .teacher_list article > div {
		position:relative;
		top:0;
		left:0;
		z-index:20;
		width:calc(100% - 5px);
		height:calc(100% - 5px);
		padding:1.5rem;
		border:#000 1px solid;
		background:#fff;
	}
	main .teacher_sec .teacher_list figure { max-width:180px; }
	main .teacher_sec .teacher_list aside .link_price {
		position:absolute;
		top:0;
		right:0;
		bottom:0;
		left:0;
		height:2.5rem;
		margin:auto;
		text-align:center;
	}
}
@media print,screen and (min-width:1200px) {
	main #teacher { width:1200px; }
}

/*-----------*/
/* voice sec */
/*-----------*/

main #voice { position:relative; background:#2ea3a3; }
section.voice_sec {
	width:100%;
	padding:0 1rem;
	color:#fff;
	line-height:1;
}
section.voice_sec h1 {
	display:inline-block;
	position:relative;
	margin:6rem auto 4rem;
	padding:0;
	text-align:center;
	font-size:2rem;
	background-size:3rem;
}
section.voice_sec h1::before {
	display:block;
	content:"";
	position:absolute;
	right:-2rem;
	bottom:-2rem;
	left:-2rem;
	z-index:10;
	width:calc(100% + 4rem);
	height:1rem;
	background:url('images/voice/title_line.png') 50% 50% no-repeat;
}

section.voice_sec h1 span { color:#ffdd29; }
section.voice_sec .voice_list {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:2rem auto;
}
section.voice_sec .voice_list article {
	margin-bottom:2rem;
	padding-bottom:2rem;
	border-bottom:#fff 1px solid;
}
section.voice_sec .voice_list article figure {
	position:relative;
	margin-bottom:2rem;
}
section.voice_sec .voice_list article figure::after {
	display:block;
	content:"";
	position:absolute;
	top:0;
	bottom:0;
	z-index:5;
	width:100%;
	height:1px;
	margin:auto;
	background:#fff;
}
section.voice_sec .voice_list article figure div {
	position:relative;
	z-index:10;
	width:70%;
	margin:0 auto;
}

section.voice_sec .voice_list article .body {
	margin-top:2rem;
	padding:0 1rem;
	line-height:1.3;
	text-align:left;
}
main section.voice_sec .link_price { margin-bottom:4rem; }
main section.voice_sec .link_price a { color:#2ea3a3; background:#fff; }
main section.voice_sec .link_price a:hover { color:#fff; background:#2ea3a3; }

@media screen and (max-width:767px) {
	section.voice_sec { padding-bottom:2rem; }
}
@media print,screen and (min-width:768px) {
	section.voice_sec {
		position:relative;
		margin:0 auto;
	}
	
	section.voice_sec .voice_list article { width:32%; }
}
@media print,screen and (min-width:1200px) {
	section.voice_sec {
		width:1200px;
		margin:0 auto;
	}
	
}

/*--------*/
/* footer */
/*--------*/

footer {
	margin:6rem auto;
	line-height:1;
}

footer .price_flow {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:2rem;
}
footer .price_flow > .block { position:relative; }
footer .price_flow > .block::after {
	display:block;
	content:"";
	position:absolute;
	right:0;
	bottom:0;
	z-index:10;
	width:calc(100% - 5px);
	height:calc(100% - 5px);
	background:url('images/block_shadow.png');
}
footer .price_flow > .block > div {
	position:relative;
	top:0;
	left:0;
	z-index:20;
	width:calc(100% - 5px);
	height:calc(100% - 5px);
	padding:0 1.5rem 1.5rem;
	border:#000 1px solid;
	background:#fff;
}
footer .price_flow { text-align:center; }
footer .price_flow .block div > * { text-align:left; }
footer .price_flow h2 {
	display:inline-block;
	position:relative;
	top:-1em;
	right:0;
	left:0;
	margin:0 auto;
	padding:0.5em 1em;
	color:#fff;
	background:#2ea3a3;
	border-radius:1em;
}
footer .price_flow h3 { margin:2rem auto; }
footer .price_flow ul {
	margin:1rem auto;
	padding:0 0 0 1em;
	font-size:0.7rem;
}
footer .price_flow ul li { margin-top:0.5em; }
footer .price_flow table {
	width:100%;
	margin-bottom:2rem;
	border:none;
	border-collapse:collapse;
}
footer .price_flow table th,
footer .price_flow table td {
	padding:0.75rem 1rem;
	font-weight:normal;
	border:none;
	border-collapse:collapse;
}
footer .price_flow table tr th {
	color:#2ea3a3;
	background:#eef3ef;
}

footer .price_flow table tr td { font-size:0.8rem; }
footer .price_flow table tr th span { font-size:0.8rem; }

footer .price_flow table td dl {
	width:100%;
	margin:0;
	padding:0;
}
footer .price_flow table td dl dt,
footer .price_flow table td dl dd {
	display:inline-block;
	margin:0 0 0.5em;
	padding:0.5em 1em;
}
footer .price_flow table td dl dt:nth-of-type(3),
footer .price_flow table td dl dd:nth-of-type(3) { margin-bottom:0; }
footer .price_flow table td dl dt {
	width:45%;
	color:#fff;
	text-align:center;
	font-weight:normal;
	background:#2ea3a3;
	border-radius:1rem;
}
footer .price_flow table td dl dd { width:55%; }

footer .price_flow .flow li {
	position:relative;
	margin:0 0 0.5rem;
	list-style:none;
}
footer .price_flow .flow li p {
	position:relative;
	padding:1rem;
	font-size:1rem;
	background:#ffdd29;
}
footer .price_flow .flow li p::after,
footer .price_flow .flow li figure::after {
	display:block;
	content:"";
	position:absolute;
	width:0;
	height:0;
	margin:auto;
	border-top:#2ea3a3 0.75rem solid;
	border-right:transparent 0.5rem solid;
	border-left:transparent 0.5rem solid;
}
footer .price_flow .flow li p::after { top:0; right:1rem; bottom:0; }
footer .price_flow .flow li figure { padding-bottom:2rem; }
footer .price_flow .flow li figure::after {
	right:0;
	bottom:0.25rem;
	left:0;
	border-top:#2ea3a3 1rem solid;
	border-right:transparent 1.5rem solid;
	border-left:transparent 1.5rem solid;
}
footer .price_flow .block .contact_box { margin-top:2rem; }
footer .price_flow .block .contact_box a {
	display:block;
	width:100%;
	margin-top:0.5rem;
	padding:0.75rem 0;
	color:#017257;
	line-height:1.5;
	text-align:center;
	font-weight:bold;
	border:#ffdd29 1px solid;
	border-radius:3rem;
	background:#ffdd29;
}
footer .price_flow .block .contact_box a:hover { background:#fff; }
footer > .attention_eiken {
	margin:3rem auto;
	color:#d00;
	line-height:1;
}

footer .school_index {
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin:2rem auto;
}
footer .school_index dl { letter-spacing:-.40em; }
footer .school_index dl dt,
footer .school_index dl dd { margin:0 0 1rem; letter-spacing:normal; }
footer .school_index dl dt {
	padding:0.5rem 1rem;
	color:#fff;
	text-align:center;
	font-weight:normal;
	background:#2ea3a3;
	border-radius:1rem;
}
footer .school_index dl dd { padding:0 1rem; text-align:left; }

footer .map iframe {
	width:100%;
	height:24rem;
	margin:0 auto 2rem ;
}
footer aside {
	padding:0 0 1rem;
	line-height:1;
	text-align:center;
	font-size:12px;
}
footer aside.link_list {
	display:flex;
	justify-content:center;
	width:50%;
	margin:2rem auto;
	font-size:1rem;
}
footer aside.link_list a {
	display:block;
	width:calc(50% - 2rem);
	margin:0 0.5rem;
	padding:0.5rem 1rem;
	color:#fff;
	line-height:1;
	text-align:center;
	border:#017257 1px solid;
	border-radius:3rem;
	background:#017257;
}
footer aside.link_list a.bnr_tw {
	color:#fff;
	border:#55acee 1px solid;
	background:#55acee url('images/footer/icon_twitter.png') 0 50% no-repeat;
	background-size:contain;
}
footer aside.link_list a:hover { color:#017257; background:#fff; }
footer aside.link_list a.bnr_tw:hover {
	color:#55acee;
	background:#fff url('images/footer/icon_twitter_on.png') 0 50% no-repeat;
	background-size:contain;
}

footer aside.link_list a.bnr_insta {
	color:#fff;
	border:#ff0076 1px solid;
	background:#ff0076 url('images/footer/icon_instagram.png') 0 50% no-repeat;
	background-size:25px 25px;
	background-position: 5px center;
	min-width: 158px;
}
footer aside.link_list a.bnr_insta:hover {
	color:#ff0076;
	background:#fff url('images/footer/icon_instagram_on.png') 0 50% no-repeat;
	background-size:25px 25px;
	background-position: 5px center;
}

@media screen and (max-width:767px) {
	footer .price_flow > .block {
		width:95%;
		margin:0 auto;
	}
	footer .price_flow > .block:first-child { margin-bottom:4rem; }
	footer .price_flow table,
	footer .price_flow table tbody,
	footer .price_flow table tr,
	footer .price_flow table tr th,
	footer .price_flow table tr td { display:block; width:100%; }
	footer .price_flow table tr { margin-bottom:1rem; border:#2ea3a3 1px solid; }
	
	footer .price_flow ul.flow { width:100%; padding-left:0; }
	footer .price_flow ul.flow li { width:100%; padding-left:0; }
	footer .price_flow .flow li p { padding:1rem 0.5rem; }
	footer .price_flow .flow li p::after { display:none; }
	footer .school_index { width:95%; margin:0 auto; }
	footer .school_index dl dt,
	footer .school_index dl dd { width:100%; }
	footer aside.link_list { flex-wrap:wrap; }
	footer aside.link_list a { width:100%; margin:0.5rem auto; }
}
@media print,screen and (min-width:768px) {
	footer { width:90%; }
 	footer .price_flow > .block { width:calc(50% - 15px); }
 	footer .price_flow table tr th { width:37.5%; }
	footer .price_flow table tr td { width:62.5%; }
	footer .price_flow table tr:nth-child(odd) th { background:#deebe2; }
	footer .price_flow table tr:nth-child(even) th,
	footer .price_flow table tr:nth-child(odd) td { background:#eef3ef; }
 	footer .school_index dl dt,
	footer .school_index dl dd { display:inline-block; vertical-align:top; }
	footer .school_index dl dt { width:20%; }
	footer .school_index dl dd { width:80%; }
 	footer .school_index figure { width:25%; }
 	footer .school_index dl { width:70%; }
}
@media print,screen and (min-width:1200px) {
	footer { width:1200px; }
}
