@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Kiwi+Maru&display=swap');

input, select, button, textarea { font-family: inherit; }

* {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
}

:root {
	--main-color: #DB0236;
}

/* ******************************************* */
/*          total
/* ******************************************* */
/* For modern browsers */
.clearfix::before,
.clearfix::after {
	content: "";
	display: block;
	overflow: hidden;
}
.clearfix::after {
	clear: both;
}

html {

}

.fitting {
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
}
.loading {
	position: fixed;
	width: 100%;
    height: 100%;
	background: #fff;
	top: 0px; left: 0px;
	z-index: 10000;
}
/* ******************************************* */
/*          font
/* ******************************************* */
.hiragino {
	font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
}
.meiryo {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック', sans-serif;
}
.mincho {
    font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

body {
	font-family: 'Kiwi Maru','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro', 'メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	font-size: 15px;
	line-height: 1.6;
	color: #303231;
    word-wrap: break-word;
	overflow-y: scroll;
	counter-reset: points;
}

body.type001 {

}

.kumapi {
	position: fixed;
	bottom: 0px;
	right: -150px; width: 80px; height: 80px;
	z-index: 5000;
}

.checking p {
	position: relative;
	padding-left: 2em;
	margin: 0.2em 2em;
	font-size: 1.25em;
}
.checking p::before {
	position: absolute;
	content: "";
	border: 2px solid #cccccc;
	background: #ffffff;
	width: 1em; height: 1em;
	top: 50%; left: 0.1em;
	margin-top: -0.65em;
}
.checking p::after {
	position: absolute;
	content: "";
	width: 0.5em;
	height: 1em;
	border-bottom: 0.25em solid var(--main-color);
	border-right: 0.25em solid var(--main-color);
	top: 50%;
	left: 0.65em;
	margin-top: -0.9em;
	transform: rotate( 45deg );
}
i.fas {
	font-size: 0.75em;
	top: -2px;
	position: relative;
	margin-right: 0.2em;
}
/* ******************************************* */
/*          container wrapper section etc
/* ******************************************* */
#container {
    min-width: 1000px;
	min-height: 100vh;
	margin: 0 auto;
    overflow: hidden;
	background: #fff7f6;
}
/* wrapper */
.wrapper {
	width: 1000px;
	margin: 0px auto;
}
.lower_wrapper {
	width: 800px;
	margin: 0px auto;
}
.pc { display: block; }
.sp { display: none; }
strong { color: var(--main-color); font-size: 1.2em; }
a.textlink { color: var(--main-color); text-decoration: underline; display: inline-block; }
a.textlink:hover { color: var(--main-color); text-decoration: none; }
.bigger_link, .trigger, .click { cursor: pointer; }

.mg_0020 { margin: 0px auto 20px !important; }
.mg_0040 { margin: 0px auto 40px !important; }
.mg_0060 { margin: 0px auto 60px !important; }
.mg_0080 { margin: 0px auto 80px !important; }
.mg_2000 { margin: 20px auto 0px !important; }
.mg_2020 { margin: 20px auto !important; }
.mg_2040 { margin: 20px auto 40px !important; }
.mg_2060 { margin: 20px auto 60px !important; }
.mg_2080 { margin: 20px auto 80px !important; }
.mg_4000 { margin: 40px auto 0px !important; }
.mg_4020 { margin: 40px auto 20px !important; }
.mg_4040 { margin: 40px auto !important; }
.mg_4060 { margin: 40px auto 60px !important; }
.mg_4080 { margin: 40px auto 80px !important; }
.mg_6000 { margin: 60px auto 0px !important; }
.mg_6020 { margin: 60px auto 20px !important; }
.mg_6040 { margin: 60px auto 40px !important; }
.mg_6060 { margin: 60px auto !important; }
.mg_6080 { margin: 60px auto 80px !important; }
.mg_8000 { margin: 80px auto 0px !important; }
.mg_8020 { margin: 80px auto 20px !important; }
.mg_8040 { margin: 80px auto 40px !important; }
.mg_8060 { margin: 80px auto 60px !important; }
.mg_8080 { margin: 80px auto !important; }

.t_left { text-align: left !important; }
.t_center { text-align: center !important; }
.t_right { text-align: right !important; }

@media(min-width: 737px){
    .pc_left { float: left; }
    .pc_right { float: right; }
	.pc_flex { display: flex; justify-content: space-between; }
	.sp_br { display: none; }
	.c0 { display: none; }
	.c1 { width:  5.83%; margin: 0 auto; }
	.c2 { width: 14.16%; margin: 0 auto; }
	.c3 { width: 22.50%; margin: 0 auto; }
	.c4 { width: 30.83%; margin: 0 auto; }
	.c5 { width: 39.16%; margin: 0 auto; }
	.c6 { width: 47.50%; margin: 0 auto; }
	.c7 { width: 55.83%; margin: 0 auto; }
	.c8 { width: 64.16%; margin: 0 auto; }
	.c9 { width: 72.50%; margin: 0 auto; }
	.c10 { width: 80.83%; margin: 0 auto; }
	.c11 { width: 89.16%; margin: 0 auto; }
	.c12 { width: 100%; margin: 0 auto; }
}
@media(max-width: 736px){
	body {
        font-size: 14px;
        line-height: 1.4;
        -webkit-text-size-adjust: 100%;
	}
	#container {
		min-width: 100%;
	}
	.wrapper {
		width: 100%;
		padding: 0 3.5vw;
	}
	.padding_wrapper {
		padding: 0 10px;
		margin: 0px auto;
	}
	.lower_wrapper {
		width: 100%;
		padding: 1px 3.5%;
        background: #FFFFFF;
    }
    .white_wrapper {
        margin: 4vw auto;
        background: #FFFFFF;
        padding: 3vw;
    }
    .sp{
		display: block;
	}
	.pc{
		display: none;
	}
	img {
		max-width: 100%;
	}
	input {
		max-width: 100%;
		border-radius: 0px;
	}
	iframe {
		max-width: 100%;
    }
	br.sp-br{
		display: block;
	}
	.mg_0020 { margin: 0px auto 2vw !important; }
	.mg_0040 { margin: 0px auto 4vw !important; }
	.mg_0060 { margin: 0px auto 5vw !important; }
	.mg_0080 { margin: 0px auto 6.5vw !important; }
	.mg_2000 { margin: 2vw auto 0px !important; }
	.mg_2020 { margin: 2vw auto !important; }
	.mg_2040 { margin: 2vw auto 4vw !important; }
	.mg_2060 { margin: 2vw auto 5vw !important; }
	.mg_2080 { margin: 2vw auto 6.5vw !important; }
	.mg_4000 { margin: 4vw auto 0px !important; }
	.mg_4020 { margin: 4vw auto 2vw !important; }
	.mg_4040 { margin: 4vw auto !important; }
	.mg_4060 { margin: 4vw auto 5vw !important; }
	.mg_4080 { margin: 4vw auto 6.5vw !important; }
	.mg_6000 { margin: 5vw auto 0px !important; }
	.mg_6020 { margin: 5vw auto 2vw !important; }
	.mg_6040 { margin: 5vw auto 4vw !important; }
	.mg_6060 { margin: 5vw auto !important; }
	.mg_6080 { margin: 5vw auto 6.5vw !important; }
	.mg_8000 { margin: 6.5vw auto 0px !important; }
	.mg_8020 { margin: 6.5vw auto 2vw !important; }
	.mg_8040 { margin: 6.5vw auto 4vw !important; }
	.mg_8060 { margin: 6.5vw auto 5vw !important; }
	.mg_8080 { margin: 6.5vw auto !important; }
}

.colored { background: var(--main-color); }

main section {
	margin: 0px auto 80px;
}
main section.pt1 {
	margin: 0px auto;
	padding: 40px 0px;
}
main article {
	margin: 40px auto 60px;
}
main aside {
	margin: 30px auto;
}
@media(max-width: 736px){
	main section {
		margin: 0px auto 40px;
	}
	main section.pt1 {
		margin: 0px auto;
		padding: 20px 0px;
	}
	main article,
	main aside {
		margin: 20px auto;
	}
}

.white_border,
.white_quilt {
	position: relative;
	background: rgba(255, 255, 255, 0.85);
	padding: 30px;
	box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.1 );
}
	.white_border { padding: 25px; }
	.white_quilt::before {
		position: absolute;
		content: "";
		width: calc( 100% - 16px );
		height: calc( 100% - 16px );
		top: 6px;
		left: 6px;
		border: 2px dashed #ccc;
	}
	.white_border::before {
		position: absolute;
		content: "";
		width: calc( 100% - 12px );
		height: calc( 100% - 12px );
		top: 5px;
		left: 5px;
		border: 1px dotted var(--main-color);
	}
@media(max-width: 736px){
	.white_border,
	.white_quilt {
		padding: 4vw;
	}
}

.photocaption {
	font-size: 110%;
	font-weight: bold;
	margin-bottom: 8px;
	text-align: center;
}
.photoimage {
	padding: 8px 10px;
	box-shadow: rgba(0, 0, 0, 0.35) 4px 3px 11px;
	background: #fff;
	margin-bottom: 20px;
}
.photoimage.l05 { transform: rotate( -0.5deg ); }
.photoimage.l10 { transform: rotate( -1.0deg ); }
.photoimage.l15 { transform: rotate( -1.5deg ); }
.photoimage.r05 { transform: rotate(  0.5deg ); }
.photoimage.r10 { transform: rotate(  1.0deg ); }
.photoimage.r15 { transform: rotate(  1.5deg ); }

.effect { opacity: 0; transition: 1.0s; position: relative; top: 100px; }
.effect.scroll { opacity: 1; top: 0; }

.colorful { font-size: 12px; text-align: center; }
.colorful span:nth-child(3n+1) { color: var(--main-color); }
.colorful span:nth-child(3n+2) { color: #abcd03; }
.colorful span:nth-child(3n+3) { color: #e8373d; }

.sideimage01 { position: relative; }
.sideimage01 p {
	position: relative;
	z-index: 10;
	text-shadow: 1px 1px 2px #fff, -1px 1px 2px #fff, -1px -1px 2px #fff, 1px -1px 2px #fff;
}
.sideimage01::before,
.sideimage01::after {
	position: absolute;
	top: 50%;
	margin-top: -120px;
	padding: 8px 10px;
	box-shadow: rgba(0, 0, 0, 0.15) 4px 3px 11px;
	background: #fff;
	z-index: 0;
	opacity: 0.75;
}
.sideimage01::before {
	content: url('../images/sideimage01_left.jpg');
	transform: rotate( 4deg );
	left: -260px;
}
.sideimage01::after {
	content: url('../images/sideimage01_right.jpg');
	transform: rotate( -3deg );
	right: -260px;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	background: rgba( 0, 0, 0, 0.05 );
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
	box-shadow: 2px 2px 5px #999;
}
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          a link setting
/* ******************************************* */
a {
	color: #303030;
	text-decoration: none;
	cursor: pointer;
    outline: none;
}
a:hover, a:focus, a:active {
	color: #303030;
	text-decoration: none;
}
a img {
	border: 0;
}
img {
    max-width: 100%;
}
a[href^="tel:"] { cursor: default; }

a.arrows {
	position: relative;
	transition: 0.2s;
	padding-right: 50px;
	text-align: center;
}
a.arrows::after {
	position: absolute;
	content: "➡";
	color: #e3a53c;
	background: #fff;
	border-radius: 100px;
	font-size: 15px;
	line-height: 19px;
	width: 20px;
	height: 20px;
	right: 20px;
	top: 50%;
	margin-top: -10px;
	transition: 0.2s;
}
a.arrows:hover::after {
	content: "➡";
	color: #fff;
	background: #e3a53c;
}
sub { font-size: .7em; vertical-align: bottom; position: relative; bottom: -2px; }
ion-icon { bottom: -0.15em; position: relative; }

dl { display: flex; margin: 5px auto; align-items: flex-start; }
dl dt { color: #fff; font-weight: bold;  background: #999; padding: 2px 8px; border-radius: 4px; min-width: 100px; text-align: center; }
dl dd { padding: 2px 8px; flex: 1; }
dl a { color: var(--main-color); text-decoration: underline; }
dl a:hover { color: var(--main-color); text-decoration: none; }

.curriculum { color: #6D6D6D; margin: 8px auto 20px; }
.curriculum .set1 { padding-left: 1em; }
.curriculum .set2 { padding-left: 2em; }
.curriculum .set3 { padding-left: 3em; }
.curriculum .set4 { padding-left: 4em; }
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          header PC
/* ******************************************* */
@media(min-width:737px){
    #header {
        background: #ffffff;
        position: fixed;
        z-index: 9999;
		width: 100%;
		top: 0;
		border-bottom: 5px solid #f3f3f3;
		transition: 0.1s;
    }
	#header.skeleton { opacity: 0.9; }
	#header.skeleton:hover { opacity: 1.0; }
	#header .header_top.wrapper { width: 1300px; }
	#header .header_top {
		max-width: 1300px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 10px auto 15px;
	}
	#header .header_top h1 {
		font-size: 12px;
		line-height: 16px;
		margin-bottom: 12px;
		color: var(--main-color);
	}
	#header .header_top .logo { width: 570px; }
    #header .header_top .header_info {
		text-align: right;
    }
    #header .header_top .header_info .tel {
        margin: 0px 0px;
        text-align: center;
    }
	#header .header_top .header_info .tel p:nth-of-type(1) {
		font-size: 15px;
		line-height: 18px;
	}
	#header .header_top .header_info .tel p:nth-of-type(2) {
		font-size: 30px;
		line-height: 32px;
		font-weight: bold;
		color: #3c3c3c;
		font-family: "Roboto", sans-serif;
	}
	#header .header_top .header_info .mail { display: flex; align-items: center; }
	#header .header_top .header_info .mail a {
		display: inline-block;
		padding: 10px 16px 12px;
		margin-left: 12px;
		text-align: center;
		color: #ffffff;
		background: var(--main-color);
		border: 2px solid var(--main-color);
		font-size: 14px;
		border-radius: 5px;
    }
	#header .header_top .header_info .mail a:nth-of-type(n+2) {
		background: #da6a2b;
		border: 2px solid #da6a2b;
	}
	#header .header_top .header_info .mail a:hover {
		background: #FFFFFF;
		color: var(--main-color);
	}
	#header .header_top .header_info .mail a:nth-of-type(n+2):hover {
		color: #da6a2b;
	}
	#header .wrapper { position: relative; }
	@media(max-width: 1300px) {
		#header .header_top.wrapper {
			width: 1000px;
		}
		#header .header_top .logo { width: 450px; }
		#header .header_top .header_info .tel p:nth-of-type(1) {
			font-size: 12px;
			line-height: 15px;
		}
		#header .header_top .header_info .tel p:nth-of-type(2) {
			font-size: 25px;
			line-height: 28px;
		}
		#header .header_top .header_info .mail a {
			font-size: 13px;
			padding: 10px 5px 10px;
		}
	}
}
/* ******************************************* */
/*          header SP
/* ******************************************* */
@media(max-width:736px){
    #header {
		top: 0;
		left: 0;
		position: fixed;
		transition: 0.2s;
		background: rgba(242, 251, 255, 0.7);
        z-index: 9999;
		width: 100%;
        box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
    }
    .header_info {
		display: flex;
		justify-content: space-between;
		align-items: center;
        box-shadow: 0px 2px 2px 2px rgba( 0, 0, 0, 0.1 );
    }
    .header_info .logo {
        margin: 2vw;
		width: 80vw;
        max-width: 450px;
    }
    .header_info .logo img {
        max-width: 100%;
        height: auto;
    }
	.header_info .button {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.header_info .button > div { margin: 2vw 1vw; }
	.header_info .trigger {
		vertical-align: middle;
		display: inline-block;
	}
    .header_info .menu {
        background: url('../images/menu.png') 0 0 no-repeat;
		background-color: var(--main-color);
        background-size: 100% 100%;
        transition: 0.3s;
		width: 15vw; height: 15vw;
        max-width: 60px;
        max-height: 60px;
    }
    .header_info .open .menu {
        background: url('../images/close.png') 0 0 no-repeat;
		transition: 0.3s;
		background-color: var(--main-color);
        background-size: 100% 100%;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          gnav PC
/* ******************************************* */
@media(min-width:737px){
    #gnav {
		background: var(--main-color);
    }
        #gnav ul {
			display: flex;
			position: relative;
			text-align: center;
        }
        #gnav ul li {
			width: 20%;
			padding: 0px 2px;
			border-left: 1px solid #fff;
        }
		#gnav ul li:last-of-type {
			border-right: 1px solid #fff;
		}
        #gnav ul li a {
            display: block;
			position: relative;
            color: #ffffff;
            font-size: 16px;
            line-height: 1.0;
            padding: 14px 5px;
            text-decoration: none;
			transition: 0.2s;
        }
		#gnav ul li a .colorful { font-size: 13px; margin: 8px auto 15px; }
        #gnav ul li a:hover {
            background: rgba( 255, 255, 255, 0.2 );
        }
		#gnav ul li a.current {
			background: rgba( 255, 255, 255, 0.2 );
		}
}
/* ******************************************* */
/*          gnav SP
/* ******************************************* */
@media(max-width:736px){
    #rwd_menu {
        background: var(--main-color);
		color: #fff;
        width: 100%;
    }
        #rwd_menu ul {
            width: 100%;
        }
        #rwd_menu ul li {
            border-bottom: 1px solid rgba( 0, 0, 0, 0.3 );
        }
        #rwd_menu ul li a {
            display: block;
            font-size: 15px;
			color: #fff;
            line-height: 2.5;
            text-align: center;
            text-decoration: none;
        }
        #rwd_menu ul li a::after {
            content: "　≫";
        }

}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          汎用 PC
/* ******************************************* */
/* .type001 h2 {
	position: relative;
	margin: 0 -1000px 20px;
	padding: 10px;
	text-align: center;
	font-size: 2.6em;
	font-weight: bold;
	color: var(--main-color);
	background: #F1B0B0;
	border-radius: 100px;
	box-shadow: 0 6px 3px rgba( 0, 0, 0, 0.15 );
}
.type001 h2 span {
	position: relative;
	bottom: 1px;
	font-size: 80%;
	margin-left: 1em;
	opacity: 0.6;
	font-family: 'Quicksand';
}
.type001 h2::before, .type001 h2::after {
	content: " ✢ ";
	color: #ffffff;
	opacity: 0.5;
} */
h2 {
	text-align: center;
	font-size: 300%;
	font-weight: bold;
	margin: 40px auto 60px;
	line-height: 1.2em;
}
h2 span {
	display: inline-block;
	position: relative;
	border-bottom: 4px solid #E50012;
	padding: 10px 18px;
}
h2 span::before,
h2 span::after {
	position: absolute;
	bottom: -4px;
	width: 25%; height: 4px;
	content: "";
}
h2 span::before { left: 50%; background: #0080CB; }
h2 span::after { right: 50%; background: #FCCF00; }

.type001 h3 {
	font-size: 2.2em;
	font-weight: bold;
	color: var(--main-color);
	text-align: center;
	margin: 0 auto 20px;
	padding: 4px 12px;
	border-top: 3px double var(--main-color);
	border-bottom: 3px double var(--main-color);
	counter-reset: points;
}
.type001 h4 {
	font-size: 1.2em;
	font-weight: bold;
	text-align: center;
	padding: 10px 10px;
	border-radius: 5px;
	background: var(--main-color);
	color: #FFFFFF;
	margin: 0 auto 20px;
}
.type001 section.pattern1 h2 {
	color: #fff;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.4 );
}
.type001 section.pattern1 h3 {
	color: #fff;
}
.type001 section.bg_stripe {
	background: repeating-linear-gradient( -45deg, #fff0f6 0, #fff0f6 5px, #ffffff 5px, #ffffff 10px);
	margin: 0 -100px;
	padding: 60px 100px 80px;
	box-shadow: 0 0px 5px 5px rgba( 0, 0, 0, 0.2 ) inset;
}
.type001 section.bg_stripe2 {
	background: repeating-linear-gradient( -45deg, #fff8e9 0, #fff8e9 5px, #ffffff 5px, #ffffff 10px);
	margin: 0 -100px;
	padding: 60px 100px 80px;
	border-top: 1px solid rgba( 0, 0, 0, 0.2 );
	border-bottom: 1px solid rgba( 0, 0, 0, 0.2 );
}
.type001 section.bg_etc1 {
	background-color: #fff7d4;
	background-image: url('../images/texture2.png');
	margin: 0 auto;
	padding: 40px 0px 60px;
	box-shadow: 0 13px 10px -10px rgba( 0, 0, 0, 0.1 ) inset;
}
.type001 section.bg_etc1 h2 {
	color: #333331;
	/* background: #e4dbb3; */
}
.type001 section.change_valed {
	padding: 100px 0px;
	margin: 0 auto;
	box-shadow: 0 0 10px rgba( 0, 0, 0, 0.3 ) inset;
}
.type001 section.change_valed .inner {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
}
.type001 section.change_valed .inner strong { font-size: 140%; }
.type001 section.change_valed .inner img { margin: 0 10px; }
article.bg_sideover {
	background: #fff6fd;
	box-shadow: 0 0 10px rgba( 0, 0, 0, 0.15 );
	margin-left: -1000px !important;
	margin-right: -1000px !important;
	padding: 40px 1000px !important;
}
h4.point_title_s,
h4.point_title {
	position: relative;
	background: #F1B0B0;
	padding: 10px 10px 10px 80px;
	font-size: 20px; font-weight: bold;
	border-radius: 100px;
	color: var(--main-color);
	margin-bottom: 20px;
}
	h4.point_title { counter-increment: points; }
	h4.point_title_s::before,
	h4.point_title::before {
		content: "POINT";
		position: absolute;
		width: 60px; height: 60px;
		top: -5px;
		left: 0px;
		border-radius: 100px;
		background: #ffffff;
		border: 1px solid var(--main-color);
		color: var(--main-color);
		text-align: center;
		font-size: 10px; line-height: 25px;
	}
	h4.point_title_s::after {
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		content: "\f00c";
		position: absolute;
		width: 60px; height: 60px;
		top: 4px;
		left: 1px;
		color: var(--main-color);
		font-size: 34px; text-align: center;
	}
	h4.point_title::after {
		content: counter( points );
		position: absolute;
		width: 60px; height: 60px;
		top: 0px;
		left: 0px;
		color: var(--main-color);
		font-size: 40px; text-align: center; font-weight: bold;
	}
@media(max-width:736px){
	h2 { font-size: 7vw; margin: 20px auto 40px; }
	h4.point_title_s::before,
	h4.point_title::before {
		top: 50%; margin-top: -30px;
	}
	h4.point_title_s::after {
		top: 50%; margin-top: -20px;
	}
	h4.point_title::after {
		top: 50%; margin-top: -20px;
	}
	.type001 section.change_valed {
		padding: 20px 50vw;
		margin: 0 -50vw;
		box-shadow: 0 0 10px rgba( 0, 0, 0, 0.3 ) inset;
	}
	.type001 section.change_valed .inner {
		display: flex;
		flex-wrap: wrap;
	}
	.type001 section.change_valed .inner strong { font-size: 140%; }
	.type001 section.change_valed .inner img { margin: 0 10px; }
}
@media(min-width:737px){
	.backbutton,
	.linkbutton {
		margin: 30px auto;
		text-align: center;
	}
	.backbutton a,
	.linkbutton a {
		display: inline-block;
		position: relative;
		padding: 10px 50px 10px;
		border: solid 2px var(--main-color);
		background: var(--main-color);
		color: #fff;
		font-weight: bold;
		transition: 0.2s;
		border-radius: 5px;
	}
	.linkbutton a::after {
		content: "▶";
		font-size: 80%;
		position: absolute;
		right: 10px;
		top: 50%;
		line-height: 20px;
		margin-top: -10px;
	}
	.linkbutton a:hover {
		background: #fff;
		color: var(--main-color);
	}
	.backbutton a {
		border: double 5px #989898;
		background: #989898;
	}
	.backbutton a::after {
		content: "◀";
		font-size: 80%;
		position: absolute;
		left: 10px;
		top: 50%;
		line-height: 20px;
		margin-top: -10px;
	}
	.backbutton a:hover {
		background: #fff;
		color: #989898;
	}
	.anchorlink {
		margin: 30px auto;
		text-align: left;
		font-size: 0px;
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
	.anchorlink a {
		display: block;
		position: relative;
		padding: 10px 10px 20px;
		border: solid 1px var(--main-color);
		margin-left: 1.25%;
		color: var(--main-color);
		font-weight: bold;
		transition: 0.2s;
		font-size: 15px;
		width: 19%;
		text-align: center;
		border-radius: 5px;
	}
	.anchorlink a:nth-of-type(5n+1) { margin-left: 0px; }
	.anchorlink a:nth-of-type(n+6) { margin-top: 12px; }
	.anchorlink a::after {
		content: "▼";
		color: var(--main-color);
		font-size: 80%;
		position: absolute;
		left: 50%;
		bottom: 5px;
		width: 20px;
		line-height: 16px;
		margin-left: -10px;
		text-align: center;
	}
	.anchorlink a:hover {
		opacity: 0.6;
	}
	.imagebox,
	.imagebox_full {
		text-align: center;
		margin: 0 auto 20px;
	}
	.text {
		font-weight: 400;
		line-height: 1.6;
		/* margin-bottom: 1.0em; */
	}
	.text p { margin-bottom: 1.0em;	}
	.text p:last-of-type { margin-bottom: 0px; }
	.answer a,
	.text a, .curriculum a { color: #5AA9AB; display: inline-block; margin: 0 0.25em; text-decoration: underline; }
	.answer a:hover, .curriculum a:hover,
	.text a:hover { text-decoration: none; }

	.toptext {
		font-weight: 400;
		font-size: 1.3em;
		margin-bottom: 1.5em;
		line-height: 1.75;
	}
	.toptext p { margin-bottom: 1.3em; }
	.toptext p:last-of-type { margin-bottom: 0px; }

	.largetext {
		font-size: 170%;
		font-weight: 600;
		margin-bottom: 0.5em;
		line-height: 1.4;
	}
	.largetext p { margin-bottom: 1.0em; }
	.largetext p:last-of-type { margin-bottom: 0px; }
	.bigtext {
		font-size: 250%;
		font-weight: 600;
		margin-bottom: 0.5em;
		line-height: 1.4;
		text-shadow: 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff, 0 0 10px #fff;
	}
	.bigtext p { margin-bottom: 1.0em;	}
	.bigtext p:last-of-type { margin-bottom: 0px; }

	.caption {
		font-size: 0.8em;
		color: #999;
		margin-bottom: 1em;
	}
	.caption p {
		margin-bottom: 1.0em;
		padding-left: 1.5em;
		text-indent: -1.5em;
	}
	.caption p:last-of-type { margin-bottom: 0px; }

	ul.col_2, ul.col_3, ul.col_4, ul.col_5 {
		margin: 0 auto 40px;
	}
	ul.col_2 li {
		width: 49%;
		float: left;
		margin-left: 2%;
	}
	ul.col_3 li {
		width: 32%;
		float: left;
		margin-left: 2%;
	}
	ul.col_4 li {
		width: 23.5%;
		float: left;
		margin-left: 2%;
	}
	ul.col_5 li {
		width: 18.4%;
		float: left;
		margin-left: 2%;
	}
	ul.col_2 li:nth-of-type(2n+1) { margin-left: 0px; }
	ul.col_3 li:nth-of-type(3n+1) { margin-left: 0px; }
	ul.col_4 li:nth-of-type(4n+1) { margin-left: 0px; }
	ul.col_5 li:nth-of-type(5n+1) { margin-left: 0px; }
	ul.col_2 li:nth-of-type(n+3) { margin-top: 20px; }
	ul.col_3 li:nth-of-type(n+4) { margin-top: 20px; }
	ul.col_4 li:nth-of-type(n+5) { margin-top: 20px; }
	ul.col_5 li:nth-of-type(n+6) { margin-top: 20px; }

	table.common_table {
		width: 100%;
	}
		table.common_table tr:nth-of-type(odd) td,
		table.common_table tr:nth-of-type(odd) th { background: #f7d7d7; }
		table.common_table tr:nth-of-type(even) td,
		table.common_table tr:nth-of-type(even) th { background: #F1B0B0; }
		table.common_table th {
			font-weight: 600;
			padding: 8px 16px;
			min-width: 100px;
		}
		table.common_table td {
			padding: 8px 16px;
		}
		table.common_table th,
		table.common_table td {
			border-bottom: 1px solid #FFFFFF;
		}

	table.separate_table {

	}
		table.separate_table tr:nth-of-type(odd) td,
		table.separate_table tr:nth-of-type(odd) th { background: var(--main-color); color: #FFFFFF; }
		table.separate_table tr:nth-of-type(even) td,
		table.separate_table tr:nth-of-type(even) th { background: #F1B0B0; }
		table.separate_table th {
			font-weight: 600;
			padding: 8px 16px;
		}
		table.separate_table td {
			padding: 8px 16px;
		}
		table.separate_table th,
		table.separate_table td {
			border-bottom: 1px solid #FFFFFF;
		}
	/* ************************************** */
	/*  	ニュース一覧表示					*/
	/* ************************************** */
	ul.file_list {
		margin: 30px auto;
		font-size: 0px;
		text-align: center;
	}
		ul.file_list li {
			display: inline-block;
			background: #fff;
			width: 400px;
			margin: 10px;
		}
		ul.file_list li a {
			display: block;
			position: relative;
			background: url('../images/icon_pdf.png') no-repeat;
			background-position: 24px 50%;
			padding: 20px 20px 20px 62px;
			text-align: left;
			font-size: 16px;
			font-weight: 600;
			box-shadow: 0 0 6px rgba( 0, 0, 0, 0.4 );
		}
		ul.file_list li a::after {
			position: absolute;
			right: 0;
			bottom: 0;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 0 10px 10px;
			border-color: transparent transparent #37469b transparent;
		}
		ul.file_list li a:hover { opacity: 0.6; }
	/* ************************************** */
	/*  	ニュース一覧表示					*/
	/* ************************************** */
	.at_news {
		margin: 20px auto;
	}
		.at_news ul { margin: 20px auto; }
		.at_news ul li {
			display: flex;
		}
		.at_news ul li .date {
			opacity: 0.6;
			margin-right: 30px;
		}
		.at_news ul li .newstitle {
			flex: 1;
		}
		.at_news ul li .newstitle a { color: #5AA9AB; text-decoration: underline; }
		.at_news ul li .newstitle a:hover { text-decoration: none; }
		.pagedate {
			text-align: right;
			opacity: 0.6;
		}
	/* ************************************** */
	/*  	シンプルなフロー表示				  */
	/* ************************************** */
	ul.simple_step {
		overflow: hidden;
		border-radius: 1000px;
		margin: 20px auto;
		display: flex;
		justify-content: space-between;
	}
		ul.simple_step li {
			position: relative;
			background: #F1B0B0;
			flex: 1;
			font-size: 20px;
			line-height: 1.3;
			display: flex;
			padding: 0 0.5em;
			justify-content: center;
			align-items: center;
			text-align: center;
			height: 80px;
		}
		ul.simple_step li:nth-of-type(1) { padding-left: 2.5em; }
		ul.simple_step li:nth-last-of-type(1) { padding-right: 2.5em; }
		ul.simple_step li:nth-of-type(n+2) { margin-left: 40px; }
		ul.simple_step li:nth-of-type(n+2)::before {
			position: absolute;
			content: "";
			top: 0; right: 100%;
			width: 0; height: 0;
			border-style: solid;
			border-width: 0 0 80px 30px;
			border-color: transparent transparent #F1B0B0 transparent;
		}
		ul.simple_step li:nth-last-of-type(n+2)::after {
			position: absolute;
			content: "";
			top: 0; left: 100%;
			width: 0; height: 0;
			border-style: solid;
			border-width: 80px 30px 0 0;
			border-color: #F1B0B0 transparent transparent transparent;
		}
	/* ************************************** */
	/*  	しっかりとしたフロー表示			*/
	/* ************************************** */
	ul.open_flow {

	}
		ul.open_flow li {
			display: flex;
			justify-content: space-between;
			align-items: center;
			position: relative;
			width: 880px;
		}
		ul.open_flow li .icon {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 160px; height: 160px; margin-right: 20px;
			background: #F1B0B0;
			border-radius: 200px; text-align: center; line-height: 35px;
			color: #ffffff; font-size: 30px; font-weight: bold;
		}
		ul.open_flow li .icon i {
			font-size: 70px;
			margin: 0 auto;
		}
		ul.open_flow li .icon p {
			font-size: 22px;
			line-height: 1.2em;
		}
		ul.open_flow li:nth-of-type(n+2) { margin-top: -25px; }
		ul.open_flow li:nth-of-type(even) { margin-left: 120px; }
		/* ul.open_flow li::before {
		    content: "▶ ▶ ▶";
		    color: #F1B0B0;
		    transform: rotate(90deg);
		    position: absolute;
		    font-size: 1.4em;
		}
		ul.open_flow li:nth-of-type(even)::before { left: -78px; }
		ul.open_flow li:nth-of-type(odd)::before { left: 164px; }
		ul.open_flow li:first-of-type::before,
		ul.open_flow li:last-of-type::before { content: ""; } */
		ul.open_flow li .comment {
			flex: 1;
		}
		ul.open_flow li .image {
			max-width: 25%;
			margin-left: 20px;
			background: #ffffff;
			padding: 10px 14px;
			border: 1px solid #999;
		}
		ul.open_flow li:nth-of-type(1) .image { transform: rotate( 1deg ); }
		ul.open_flow li:nth-of-type(2) .image { transform: rotate( 0.5deg ); }
		ul.open_flow li:nth-of-type(3) .image { transform: rotate( -0.5deg ); }
		ul.open_flow li:nth-of-type(4) .image { transform: rotate( -2deg ); }
		ul.open_flow li:nth-of-type(5) .image { transform: rotate( 0deg ); }
		ul.open_flow li:nth-of-type(6) .image { transform: rotate( 2deg ); }
		ul.open_flow li .image img {
			display: block;
			border: 1px solid #bbb;
		}
	/* ************************************** */
	/*  	IMAGE LIST						  */
	/* ************************************** */
	ul.image_list {
		margin: 40px auto 40px;
		display: flex;
		justify-content: space-between;
	}
		ul.image_list li {
			font-size: 18px;
			border-radius: 6px;
			box-shadow: 4px 4px #DFDCD8;
			width: 23.5%;
			text-align: center;
			overflow: hidden;
			transition: 0.2s;
		}
		ul.image_list li a {
			color: #fff;
			display: block;
			padding: 60px 0px;
			background: rgba( 0, 0, 0, 0.5 );
		}
		ul.image_list li:nth-of-type(1) { background: url('../images/list001.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:nth-of-type(2) { background: url('../images/list002.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:nth-of-type(3) { background: url('../images/list003.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:nth-of-type(4) { background: url('../images/list004.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:hover { background-size: 340px 256px; }
	/* ************************************** */
	/*  	FAQ								  */
	/* ************************************** */
	.faq {
		margin: 20px auto 60px;
	}
		.faq li {
			margin-bottom: 20px;
		}
		.faq li .question {
			position: relative;
			font-size: 1.15em;
			padding-top: 10px;
			padding-left: 60px;
			margin-bottom: 2px;
			color: var(--main-color); font-weight: bold;
		}
		.faq li .question::before {
			position: absolute;
			content: "Q";
			top: 0; left: 0;
			width: 50px; height: 50px;
			font-size: 38px; line-height: 50px;
			text-align: center;
			color: #FFFFFF;
			background: var(--main-color);
			border-radius: 50px;
			font-family: 'Roboto', sans-serif;
		}
		.faq li .question p {
			border-bottom: 1px dashed var(--main-color);
			padding-bottom: 10px;
		}
		.faq li .answer {
			position: relative;
			padding-top: 10px;
			padding-left: 60px;
		}
		.faq li .answer::before {
			position: absolute;
			content: "A";
			top: 6px; left: 6px;
			width: 38px; height: 38px;
			font-size: 30px; line-height: 38px;
			background: #DFDCD8;
			text-align: center;
			font-family: 'Roboto', sans-serif;
		}
	.teacher_image {
		margin: 0 auto 20px;
		width: 256px;
		height: 256px;
		border-radius: 128px;
		overflow: hidden;
	}
}
/* ******************************************* */
/*          汎用 SP
/* ******************************************* */
@media(max-width:736px){
	.type001 h3 {
		font-size: 1.4em;
	}
	.type001 section.bg_stripe,
	.type001 section.bg_stripe2 {
		margin: 0 -3vw;
		padding: 5vw 6vw;
	}
	.backbutton,
	.linkbutton {

	}
	.backbutton a,
	.linkbutton a {
		display: block;
		width: 70%;
		max-width: 200px;
		position: relative;
		margin: 0px auto 20px;
		padding: 10px;
		border: double 5px var(--main-color);
		background: var(--main-color);
		color: #fff;
		font-weight: bold;
		transition: 0.2s;
		border-radius: 5px;
		text-align: center;
	}
	.backbutton a {
		border: double 5px #989898;
		background: #989898;
	}
	.backbutton a::after {
		content: "◀";
		font-size: 80%;
		position: absolute;
		left: 10px;
		top: 50%;
		line-height: 20px;
		margin-top: -10px;
	}
	.anchorlink {
		margin: 20px auto;
		text-align: center;
	}
	.anchorlink a {
		display: block;
		width: 75%;
		max-width: 250px;
		position: relative;
		padding: 10px 10px 20px;
		border: solid 1px var(--main-color);
		margin: 8px auto;
		color: var(--main-color);
		font-weight: bold;
		transition: 0.2s;
	}
	.anchorlink a::after {
		content: "▼";
		color: var(--main-color);
		font-size: 80%;
		position: absolute;
		left: 50%;
		bottom: 5px;
		width: 20px;
		line-height: 16px;
		margin-left: -10px;
	}
	.imagebox {
		max-width: 80%;
		margin: 0 auto 10px;
	}
	.imagebox_full {
		margin: 0 auto 10px;
	}
	.toptext,
	.text {
		font-weight: 400;
		line-height: 1.4;
		margin-bottom: 20px;
	}
	.toptext p,
	.text p { margin-bottom: 1.0em;	}
	.toptext p:last-of-type,
	.text p:last-of-type { margin-bottom: 0px; }
	.text a { color: #5AA9AB; display: inline-block; margin: 0 0.25em; text-decoration: underline; }

	.toptext {
		font-weight: 400;
		font-size: 110%;
		margin-bottom: 1.5em;
	}
	.toptext p { margin-bottom: 1.3em;	}
	.toptext p:last-of-type { margin-bottom: 0px; }

	.largetext,
	.bigtext {
		font-size: 1.15em;
		font-weight: 600;
		margin-bottom: 1.0em;
	}
	.largetext p,
	.bigtext p { margin-bottom: 1.0em;	}
	.largetext p:last-of-type,
	.bigtext p:last-of-type { margin-bottom: 0px; }

	.caption {
		font-size: 0.8em;
		color: #999;
		margin-bottom: 1em;
	}
	.caption p {
		margin-bottom: 1.0em;
		padding-left: 1.5em;
		text-indent: -1.5em;
	}
	.caption p:last-of-type { margin-bottom: 0px; }

	ul.col_2, ul.col_3, ul.col_4, ul.col_5 {
		margin: 0 auto 20px;
	}
	ul.col_2 li,
	ul.col_3 li {
		margin: 20px auto 20px;
		width: 100%;
	}
	ul.scol_2 li,
	ul.col_4 li,
	ul.col_5 li {
		width: 48%;
		float: left;
		margin-left: 4%;
	}
	ul.scol_2 li:nth-of-type(2n+1),
	ul.col_4 li:nth-of-type(2n+1),
	ul.col_5 li:nth-of-type(2n+1) { margin-left: 0px; }
	ul.scol_2 li:nth-of-type(n+3),
	ul.col_4 li:nth-of-type(n+3),
	ul.col_5 li:nth-of-type(n+3) { margin-top: 20px; }

	ul.file_list {
		margin: 10px auto;
		font-size: 0px;
		text-align: center;
	}
		ul.file_list li {
			background: #fff;
			max-width: 400px;
			margin: 10px;
		}
		ul.file_list li a {
			display: block;
			position: relative;
			background: url('../images/icon_pdf.png') no-repeat;
			background-position: 10px 50%;
			padding: 10px 10px 10px 32px;
			text-align: left;
			font-size: 16px;
			font-weight: 600;
			box-shadow: 0 0 6px rgba( 0, 0, 0, 0.4 );
		}
		ul.file_list li a::after {
			position: absolute;
			right: 0;
			bottom: 0;
			content: "";
			width: 0;
			height: 0;
			border-style: solid;
			border-width: 0 0 10px 10px;
			border-color: transparent transparent #e3a53c transparent;
		}
	.at_news {
		margin: 20px auto 40px;
	}
		.at_news ul { }
		.at_news ul li {
			padding: 10px 20px;
			border-top: 1px solid #ccc;
		}
		.at_news ul li:last-of-type { border-bottom: 1px solid #ccc; }
		.at_news ul li .date {
			opacity: 0.6;
			margin: 10px auto;
		}
		.at_news a { color: #5AA9AB; }
		.at_news ul li .newstitle {
			margin: 10px auto;
		}
		.pagedate {
			text-align: right;
			opacity: 0.6;
			margin: 0 auto 10px;
		}

	/* ************************************** */
	/*  	シンプルなフロー表示				  */
	/* ************************************** */
	ul.simple_step {
		margin: 20px auto;
	}
		ul.simple_step li {
			position: relative;
			background: #F1B0B0;
			font-size: 16px;
			line-height: 1.3;
			padding: 15px;
			text-align: center;
			width: 80%;
			border-radius: 100px;
			margin: 15px auto 30px;
			justify-content: center;
			align-items: center;
			text-align: center;
		}
		ul.simple_step li br { display: none; }
		ul.simple_step li:nth-of-type(n+2)::before {
			position: absolute;
			content: "";
			top: -20px; left: 50%; margin-left: -10px;
			width: 0; height: 0;
			border-style: solid;
			border-width: 10px 10px 0 10px;
			border-color: #F1B0B0 transparent transparent transparent;
		}
	/* ************************************** */
	/*  	しっかりとしたフロー表示			*/
	/* ************************************** */
	ul.open_flow {

	}
		ul.open_flow li {
			display: flex;
			justify-content: space-between;
			align-items: center;
			position: relative;
			padding-bottom: 15px;
			margin-bottom: 15px;
			border-bottom: dotted 1px #ddd;
		}
		ul.open_flow li .icon {
			display: flex;
			justify-content: center;
			align-items: center;
			width: 80px; height: 80px; margin-right: 20px;
			background: #F1B0B0;
			border-radius: 200px; text-align: center; line-height: 17.5px;
			color: #ffffff; font-size: 15px; font-weight: bold;
		}
		ul.open_flow li .icon i {
			font-size: 35px;
			margin: 0 auto;
		}
		ul.open_flow li .icon p {
			font-size: 15px;
			line-height: 1.2em;
		}
		/* ul.open_flow li::before {
		    content: "▶ ▶ ▶";
		    color: #F1B0B0;
		    transform: rotate(90deg);
		    position: absolute;
		    font-size: 1.4em;
		}
		ul.open_flow li:nth-of-type(even)::before { left: -78px; }
		ul.open_flow li:nth-of-type(odd)::before { left: 164px; }
		ul.open_flow li:first-of-type::before,
		ul.open_flow li:last-of-type::before { content: ""; } */
		ul.open_flow li .comment {
			flex: 1;
		}
		ul.open_flow li .image {
			display: none;
		}

	ul.step_flow {
		counter-reset: 'steps';
	}
		ul.step_flow li {
			position: relative;
			z-index: 10;
			padding: 14px 0px 10px 70px;
			counter-increment: steps;
		}
		ul.step_flow li:nth-last-of-type(n+2)::before {
			position: absolute;
			z-index: 0;
			width: 5px; height: 100%;
			content: "";
			left: 24px; top: 40px;
			background: #dba3aa;
		}
		ul.step_flow li .icon {
			position: absolute;
			z-index: 5;
			top: 0px; left: 0px;
			font-family: 'Staatliches', sans-serif;
		}
		ul.step_flow li .icon::before {
			display: block;
			position: absolute;
			content: "STEP";
			color: var(--main-color);
			top: 0; left: 0;
			font-size: 30px;
			font-style: italic;
			font-weight: bold;
			line-height: 40px;
			margin-right: 10px;
		}
		ul.step_flow li .icon::after {
			display: block;
			content: counter(steps);
			position: absolute;
			width: 40px;
			height: 40px;
			top: 34px; left: 7px;
			background: #dba3aa;
			border-radius: 60px;
			color: #ffffff;
			font-size: 35px;
			font-weight: bold;
			line-height: 40px;
			text-align: center;
		}
		ul.step_flow li .flow_title {
			color: var(--main-color);
			font-size: 1.28em;
			font-weight: bold;
			border-bottom: 1px dotted #DFDCD8;
			margin-bottom: 16px;
			padding-bottom: 8px;
		}
	/* ************************************** */
	/*  	IMAGE LIST						  */
	/* ************************************** */
	ul.image_list {
		margin: 40px auto 40px;
		display: flex;
		justify-content: space-between;
	}
		ul.image_list li {
			font-size: 18px;
			border-radius: 6px;
			box-shadow: 4px 4px #DFDCD8;
			width: 23.5%;
			text-align: center;
			overflow: hidden;
			transition: 0.2s;
		}
		ul.image_list li a {
			color: #fff;
			display: block;
			padding: 60px 0px;
			background: rgba( 0, 0, 0, 0.5 );
		}
		ul.image_list li:nth-of-type(1) { background: url('../images/list001.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:nth-of-type(2) { background: url('../images/list002.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:nth-of-type(3) { background: url('../images/list003.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:nth-of-type(4) { background: url('../images/list004.jpg'); background-size: 320px 240px; background-position: 50% 50%; }
		ul.image_list li:hover { background-size: 340px 256px; }
	/* ************************************** */
	/*  	FAQ								  */
	/* ************************************** */
	.faq {
		margin: 20px auto 60px;
	}
		.faq li {
			font-size: 1.15em;
			margin-bottom: 20px;
		}
		.faq li .question {
			position: relative;
			padding-top: 10px;
			padding-left: 40px;
			margin-bottom: 10px;
			color: var(--main-color); font-weight: bold;
		}
		.faq li .question::before {
			position: absolute;
			content: "Q";
			top: 4px; left: 4px;
			width: 30px; height: 30px;
			font-size: 25px; line-height: 30px;
			font-family: 'Roboto', sans-serif;
			text-align: center;
			color: #FFFFFF;
			background: var(--main-color);
			border-radius: 50px;
		}
		.faq li .answer {
			position: relative;
			padding-top: 10px;
			padding-left: 40px;
		}
		.faq li .answer::before {
			position: absolute;
			content: "A";
			top: 6px; left: 6px;
			font-family: 'Roboto', sans-serif;
			width: 26px; height: 26px;
			font-size: 24px; line-height: 26px;
			background: #DFDCD8;
			text-align: center;
		}

	table.common_table {
		font-size: 0.9em;
	}
		table.common_table tr:nth-of-type(odd) td,
		table.common_table tr:nth-of-type(odd) th { background: #ffd9d9; }
		table.common_table tr:nth-of-type(even) td,
		table.common_table tr:nth-of-type(even) th { background: #F1B0B0; }
		table.common_table th {
			font-weight: 600;
			padding: 8px 16px;
		}
		table.common_table td {
			padding: 8px 16px;
		}
		table.common_table th,
		table.common_table td {
			border-bottom: 1px solid #FFFFFF;
		}

	table.separate_table {
		font-size: 0.8em;
	}
		table.separate_table tr:nth-of-type(odd) td,
		table.separate_table tr:nth-of-type(odd) th { background: var(--main-color); color: #FFFFFF; }
		table.separate_table tr:nth-of-type(even) td,
		table.separate_table tr:nth-of-type(even) th { background: #F1B0B0; }
		table.separate_table th {
			font-weight: 600;
			padding: 8px 16px;
		}
		table.separate_table td {
			padding: 8px 16px;
		}
		table.separate_table th,
		table.separate_table td {
			border-bottom: 1px solid #FFFFFF;
		}
	.teacher_image {
		margin: 0 auto 20px;
		width: 180px;
		height: 180px;
		border-radius: 128px;
		overflow: hidden;
	}


}

section.box_border {
	background: #ffffff;
	padding: 60px 0px 50px;
	box-shadow: 0 0px 10px rgba( 0, 0, 0, 0.15 ) inset;
	position: relative;
}
section.box_border::before,
section.box_border::after {
	position: absolute;
	content: "";
	width: 100%; height: 40px;
	left: 0;
}
section.box_border::before {
	background: url('/images/border_top.png');
	background-size: auto 100%;
	top: 10px;
}
section.box_border::after {
	background: url('/images/border_top.png');
	background-size: auto 100%;
	bottom: 10px;
	transform: rotate( 180deg );
}
@media(max-width:736px){
	section.box_border { padding: 15vw 0px; }
	section.box_border::before,
	section.box_border::after {
		width: 100%; height: 10vw;
	}
}
/* -------------------------------------------------------------------------------------------------- */

dl.price {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
dl.price dt {
	font-size: 135%;
	font-weight: bold;
	background: none;
	margin: 10px;
	position: relative;
	width: 40%;
	color: #362f27;
	padding: 0; border-radius: 0px;
	text-align: center;
	line-height: 48px;
	z-index: 0
}
dl.price dt::before {
	position: absolute;
	content: "";
	top: 0; left: 0;
	width: 100%; height: 100%;
	background: #FCCF00;
	z-index: -1;
	transform: skew( -20deg );
	box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.2 );
}
dl.price dt:last-of-type {
	line-height: 70px;
	margin: 30px 10px;
	font-size: 160%;
}
dl.price dd {
	color: var(--main-color);
	font-size: 180%;
	font-weight: bold;
	flex: 1;
	width: 60%;
	text-align: right;
	padding: 0 0.28em;
}
dl.price dt:last-of-type::before { border-width: 70px 15px 0 0; }
dl.price dt:last-of-type::after { border-width: 0 0 70px 15px; }
dl.price dd:last-of-type { font-size: 220%; }

ul.three_reason {
	position: relative;
	margin: 15vmin auto 6vmin;
}
	ul.three_reason li {
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
		font-size: 2.5vmin;
		font-weight: bold;
		line-height: 1.25;
	}
	ul.three_reason li:nth-of-type(1) {
		position: relative;
		z-index: 100;
		background: #ffffff;
		color: #3c3c3c;
		width: 58vmin; height: 58vmin; border-radius: 58vmin;
		padding: 10vmin;
		margin: 0 auto;
	}
	ul.three_reason li:nth-of-type(n+2) {
		position: absolute;
		width: 25vmin; height: 25vmin; border-radius: 25vmin;
		color: #ffffff;
		background: #ff0000;
		z-index: 1000;
		padding: 3vmin;
	}
	ul.three_reason img {
		display: block;
		max-width: 30vmin;
		margin-bottom: 10px;
	}
	ul.three_reason li:nth-of-type(2) { left: 50%; margin-left: -12.5vmin; top: -18vmin; background: #f0b789; }
	ul.three_reason li:nth-of-type(3) { left: 50%; margin-left: -44vmin; top: 34vmin; background: #9eda54; }
	ul.three_reason li:nth-of-type(4) { left: 50%; margin-left: 17vmin; top: 34vmin; background: #f089ef; }
	ul.three_reason li:nth-of-type(n+5) {
		position: absolute;
		width: 60vmin; height: 60vmin; border-radius: 60vmin;
		top: -1vmin; left: 50%; margin-left: -30vmin;
		z-index: 10;
	}
	ul.three_reason li:nth-of-type(5) { background: linear-gradient( to bottom, #f0b789 0%,rgba(255,255,255,0) 50%); transform: rotate( 0deg ); }
	ul.three_reason li:nth-of-type(6) { background: linear-gradient( to bottom, #9eda54 0%,rgba(255,255,255,0) 50%); transform: rotate( 240deg ); }
	ul.three_reason li:nth-of-type(7) { background: linear-gradient( to bottom, #f089ef 0%,rgba(255,255,255,0) 50%); transform: rotate( 120deg ); }
	ul.three_reason li i { font-size: 10vmin; margin: 0 auto 10px; }
ul.three_point {

}
	ul.three_point li {
		border-radius: 5px;
	}
	ul.three_point li .inner {
		border-radius: 5px;
		border: dashed 2px #fff;
		padding: 10px;
	}
	ul.three_point li .title {
		font-size: 1.3em;
		font-weight: bold;
		text-align: center;
		padding-bottom: 0.3em;
		margin-bottom: 0.3em;
		border-bottom: 1px dotted #ffffff;
	}
	ul.three_point li .text { padding: 4px 8px; font-size: 1.1em; }
	ul.three_point li:nth-of-type(1) { background: #f6d4b9; box-shadow: 0 0 0 4px #f6d4b9; }
	ul.three_point li:nth-of-type(2) { background: #bde68c; box-shadow: 0 0 0 4px #bde68c; }
	ul.three_point li:nth-of-type(3) { background: #f1b1f0; box-shadow: 0 0 0 4px #f1b1f0; }
@media(max-width:736px){
	ul.three_point li {
		width: 80%;
		max-width: 320px;
		margin: 20px auto;
		padding: 0px;
	}
}
ul.top_phrase {
	position: relative;
	top: -190px;
	margin: 0 auto -170px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
	ul.top_phrase li {
		padding: 5px;
		width: 210px; height: 210px;
		margin: 0 25px;
		background: #f6d4b9;
		border-radius: 200px;
		box-shadow: 2px 2px 5px rgba( 0, 0, 0, 0.15 );
	}
	ul.top_phrase li .inner {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 200px; height: 200px;
		background: #f6d4b9;
		border: 2px dashed #c4946d;
		color: #af6020;
		border-radius: 200px;
		font-size: 25px;
		letter-spacing: -0.05em;
		line-height: 1.3;
		padding: 5px;
	}
	ul.top_phrase li b { font-size: 1.2em;}
@media(max-width:736px){
	ul.top_phrase {
		top: -12vmin;
		margin-bottom: -10vmin;
	}
	ul.top_phrase li {
		padding: 1vmin;
		margin: 0 1vmin;
		width: 30vmin; height: 30vmin;
	}
	ul.top_phrase li .inner {
		width: 28vmin; height: 28vmin;
		font-size: 3.2vmin;
		border-width: 1px;
	}
}

ul.flex_image {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 20px -8px;
}
ul.flex_image li {
	padding: 0 8px;
}
/* *************************************************** */
/* **				 先生スケジュール				** */
/* *************************************************** */
.schedule {}
.schedule .icons,
.schedule .weekday {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 4px auto;
	padding: 0 30px;
}
.schedule .icons p,
.schedule .weekday p { margin: 0 2px; text-align: center; flex: 1; }
.schedule .icons p {
	height: 30px;
	line-height: 30px;
	border: 1px solid #bb9a00;
	background: #FCCF00;
	color: #362f27;
	font-size: 12px;
	font-weight: bold;
}
.schedule .icons p.none {
	background: #ffffff;
	color: #999999;
	border: 1px solid #999999;
	font-weight: normal;
}

/* *************************************************** */
/* **					 収入事例					** */
/* *************************************************** */
ul.income {
	margin: 40px auto 20px;
}
	ul.income li {
		background: #f5f1e9;
		box-shadow: 7px 7px 4px rgba( 0, 0, 0, 0.3 );
	}
	ul.income li .inner {
		position: relative;
		padding: 8px 25px 15px;
	}
	ul.income li .icon {
		position: absolute;
		font-size: 28px; color: var(--main-color); font-weight: bold;
		background: #F1B0B0;
		display: flex; justify-content: center; align-items: center; text-align: center;
		width: 100px; height: 100px;
		top: -30px; left: -12px; transform: rotate( -10deg );
		box-shadow: 2px 2px 3px rgba( 0, 0, 0, 0.2 );
		border-radius: 100px;
	}
	ul.income li .title {
		padding: 8px 10px 9px 80px;
		color: #333331;
		font-size: 1.5em; font-weight: bold;
		border-bottom: 1px dotted #999;
		margin-bottom: 10px;
	}
	ul.income li .information {
		background: #fff;
		padding: 10px 30px;
		margin-bottom: 10px;
		font-size: 1.7em; font-weight: bold;
	}
	ul.income li dl { font-size: 1.3em; font-weight: bold; }
	ul.income li .comment {
		margin: 8px auto;
	}
@media(max-width:736px){
	ul.income {
		margin: 20px auto 20px;
	}
		ul.income li .inner {
			position: relative;
			padding: 8px 10px 15px;
		}
		ul.income li .title {
			font-size: 1.2em; font-weight: bold;
		}
		ul.income li .information {
			padding: 10px;
			font-size: 1.4em; font-weight: bold;
		}
		ul.income li dl { font-size: 1.1em; font-weight: bold; }
		ul.income li .comment {
			margin: 8px auto;
		}
}
/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          トップページ PC
/* ******************************************* */
@media(min-width:737px){
    #mainV {
		position: relative;
		left: 50%;
		width: 1920px;
		margin-left: -960px;
		overflow: hidden;
    }
	main { position: relative; }
	main a.scroll {
		display: block;
		position: absolute;
		border: 1px solid #fff;
		border-radius: 100px;
		padding: 12px 0px;
		color: #fff;
		text-align: center;
		font-size: 18px;
		line-height: 2.0;
		width: 150px;
		top: -140px;
		left: 50%;
		margin-left: -75px;
		box-shadow: rgba( 0, 0, 0, 0.1 ) 0 0 10px,
		 			rgba( 0, 0, 0, 0.1 ) 0 0 10px,
					rgba( 0, 0, 0, 0.1 ) 0 0 10px,
					rgba( 0, 0, 0, 0.1 ) 0 0 10px;
		text-shadow: rgba( 0, 0, 0, 0.3 ) 0 0 8px,
					 rgba( 0, 0, 0, 0.3 ) 0 0 8px,
					 rgba( 0, 0, 0, 0.3 ) 0 0 8px,
					 rgba( 0, 0, 0, 0.1 ) 0 0 8px;
	}
	.top_slider li { position: relative; text-align: center; }
	.top_slider li:nth-of-type(1) { background: url('../images/mv1.jpg'); background-size: cover; background-position: 50% 50%; }
	.top_slider li:nth-of-type(2) { background: url('../images/mv2.jpg'); background-size: cover; background-position: 50% 50%; }
	.top_slider li:nth-of-type(3) { background: url('../images/mv3.jpg'); background-size: cover; background-position: 50% 50%; }
	.top_slider li .maintext {
		text-align: center;
		font-size: 40px;
		font-weight: 600;
		color: #fff;
		color: #000;
		text-shadow: #fff 0 0 10px, #fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px;
		margin: 0px auto 0px;
		padding: 300px 0px 190px;
		position: relative;
	}
	.top_slider li .maintext::after,
	.top_slider li .maintext::before {
		position: absolute;
		content: "";
		width: 20vw;
		top: 0; height: 100%;
	}
	.top_slider li .maintext::before {
		background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
		left: 0px;
	}
	.top_slider li .maintext::after {
		background: linear-gradient(to left, rgba(255,255,255,1) 0%,rgba(255,255,255,0) 100%);
		right: 0px;
	}
		#mainV a:hover {
            opacity: 0.6;
        }
    /******** TOPICS ********/
    .top_topics {
        float: left;
        width: 500px;
        min-height: 350px;
        background: url('../images/bg_paper2.png');
        background-size: 100% 100%;
        transform: rotate( 1.2deg );
        margin: 18px 25px 60px;
        box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.3 );
        color: #394D6F;
    }
    .top_topics .inner {
        padding: 40px 50px;
    }
    .top_topics h2 {
        font-size: 24px;
        line-height: 1.5em;
        text-align: center;
        margin-bottom: 0.5em;
    }
    .top_topics p {
        font-size: 14px;
        line-height: 1.5;
        text-align: left;
        text-indent: -6.5em;
        padding-left: 6.5em;
    }
    .top_banner {
        float: right;
        width: 500px;
        margin: 0px 25px;
    }
}
/* ******************************************* */
/*          トップページ SP
/* ******************************************* */
@media(max-width:736px){
    #mainV {
		height: 50vh;
    }
	main { position: relative; }
	main a.scroll {
		display: none;
	}
	.top_slider li { position: relative; text-align: center; }
	.top_slider li:nth-of-type(1) { background: url('../images/mv1.jpg'); background-size: cover; background-position: 50% 50%; }
	.top_slider li:nth-of-type(2) { background: url('../images/mv2.jpg'); background-size: cover; background-position: 50% 50%; }
	.top_slider li .maintext {
		text-align: center;
		font-size: 7vmin;
		font-weight: 600;
		color: #fff;
		color: #000;
		text-shadow: #fff 0 0 10px, #fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px,#fff 0 0 10px;
		margin: 0px auto 0px;
		padding: 28.5vh 0px 16.5vh;
		position: relative;
	}

	/******** TOPICS ********/
    .top_topics {
        width: 95%;
        min-height: 30vw;
        background: url('../images/bg_paper2.png');
        background-size: 100% 100%;
        margin: 4vw auto 6vw;
        box-shadow: 3px 3px 5px rgba( 0, 0, 0, 0.3 );
        color: #394D6F;
    }
    .top_topics .inner {
        padding: 5vw 5vw 8vw;
    }
    .top_topics h2 {
        font-size: 18px;
        line-height: 1.5em;
        text-align: center;
        margin-bottom: 0.5em;
    }
    .top_topics p {
        font-size: 12px;
        line-height: 20px;
        text-align: left;
        padding-left: 6.5em;
        text-indent: -6.5em;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          下層ページ PC
/* ******************************************* */
@media(min-width:737px){
	#lowV {
		padding: 10px 0px 10px;
		min-height: 600px;
		position: relative;
	}
		#lowV .alphabet {
			font-size: 50px;
			font-weight: bold;
			color: #222;
			font-family: 'Roboto';
			text-shadow: #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 8px, #fff 0 0 8px;
			margin: 250px 0 10px 6px;
		}
		#lowV .maintitle {
			font-size: 30px;
			font-weight: bold;
			color: #777;
			text-shadow: #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px;
			margin: 10px 0 20px 5px;
		}
		.bg01 {
			background: url('../images/bg01.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg02 {
			background: url('../images/bg02.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg03 {
			background: url('../images/bg03.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg04 {
			background: url('../images/bg04.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg05 {
			background: url('../images/bg05.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg06 {
			background: url('../images/bg06.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
	ul.course_list {
		line-height: 1.5;
	}
		ul.course_list li {
			background: #fff;
			position: relative;
		}
		ul.course_list li .inner {
			display: flex;
			justify-content: space-between;
			flex-wrap: wrap;
			border: 1px solid #DFDCD8;
			padding: 20px;
		}
		ul.course_list li:hover .inner { opacity: 0.5; }
		ul.course_list li .inner::after {
		    content: "詳細 ➤";
		    position: absolute;
		    bottom: 15px;
		    right: 16px;
		    color: #fff;
		    background: var(--main-color);
		    padding: 2px 6px 2px 12px;
		    border-radius: 4px;
		}
		ul.course_list li .image {
			position: relative;
			width: 150px;
			height: 150px;
			border-radius: 4px;
			overflow: hidden;
			box-shadow: 3px 3px 0px #DFDCD8;
		}
		ul.course_list li .mainbody {
			margin-left: 12px;
			flex: 1;
			overflow: hidden;
		}
		ul.course_list li .names a {
			display: block;
			font-size: 1.2em;
			line-height: 1.2em;
			font-weight: bold;
			color: var(--main-color);
		}
		ul.course_list li .comment {
			margin-top: 0.5em;
		}
	.curriculum_outer {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
	}
	.curriculum_outer .curriculum {
		margin: 0 0 20px 0;
	}
	.curriculum_outer .linkbutton {
		margin: 0;
	}
}
/* ******************************************* */
/*          下層ページ SP
/* ******************************************* */
@media(max-width:736px){
    /************* 共通バナー **************/
	#lowV {
		padding: 10px 0px 10px;
		height: 250px;
		position: relative;
	}
		#lowV .alphabet {
			font-size: 30px;
			font-weight: bold;
			color: #222;
			font-family: 'Roboto';
			text-shadow: #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 8px, #fff 0 0 8px;
			margin: 100px 0 5px 6px;
		}
		#lowV .maintitle {
			font-size: 20px;
			font-weight: bold;
			color: #777;
			text-shadow: #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px, #fff 0 0 15px;
			margin: 5px 0 20px 5px;
		}
		.bg01 {
			background: url('../images/bg01.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg02 {
			background: url('../images/bg02.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg03 {
			background: url('../images/bg03.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg04 {
			background: url('../images/bg04.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg05 {
			background: url('../images/bg05.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}
		.bg06 {
			background: url('../images/bg06.jpg') no-repeat;
			background-size: cover;
			background-position: 50%;
		}

	ul.course_list {
		line-height: 1.5;
	}
		ul.course_list li {
			background: #fff;
			position: relative;
			box-shadow: 3px 3px 5px #ddd;
			padding: 20px 20px 12px 20px;
		}
		ul.course_list li .inner {

		}
		ul.course_list li .inner::after {
		    content: "詳細 ➤";
		    position: absolute;
		    bottom: 15px;
		    right: 16px;
		    color: #fff;
		    background: var(--main-color);
		    padding: 2px 6px 2px 12px;
		    border-radius: 4px;
		}
		ul.course_list li .image {
			position: relative;
			float: left;
			width: 100px;
			height: 100px;
			border-radius: 4px;
			overflow: hidden;
			margin: 0 16px 10px 0px;;
			box-shadow: 3px 3px 0px #DFDCD8;
		}
		ul.course_list li .mainbody {
			margin-bottom: 20px;
		}
		ul.course_list li .names a {
			display: block;
			font-size: 1.2em;
			line-height: 1.2em;
			font-weight: bold;
			color: var(--main-color);
		}
		ul.course_list li .comment {
			margin-top: 0.5em;
		}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Article PC
/* ******************************************* */
ul.top_voice {
	background: #fff;
	border-radius: 10px;
	box-shadow: 2px 2px 6px rgba( 0, 0, 0, 0.1 );
	padding: 20px;
}
	ul.top_voice li {
		box-shadow: 0px 0px 0px 5px #fceceb;
		background: #fceceb;
		border: 2px dashed #F1B0B0;
		border-radius: 10px;
		padding: 20px;
		margin-bottom: 20px;
	}
	ul.top_voice li .title {
		background: #ffffff;
		font-weight: bold;
		font-size: 22px;
		padding: 10px 15px;
		border-radius: 200px;
		position: relative;
		margin: 0px -8px 20px;
		z-index: 100;
		text-align: center;
		border: 1px solid #F1B0B0;
	}
	ul.top_voice li .title::after,
	ul.top_voice li .title::before {
		position: absolute;
		width: 0; height: 0;
		bottom: -22px; left: 85px;
		border-style: solid;
		border-width: 25px 25px 0 5px;
		border-color: #ffffff transparent transparent transparent;
		content: "";
		z-index: 100;
	}
	ul.top_voice li .title::after {
		bottom: -25px; left: 84px;
		border-color: #F1B0B0 transparent transparent transparent;
		z-index: -1;
	}
	ul.top_voice li .information {
		position: relative;
		padding: 10px 20px 10px 132px;
		background: #f9a5a4;
		border: 3px solid #F1B0B0;
		border-radius: 100px;
		margin: 20px auto;
	}
	ul.top_voice li .image {
		position: absolute;
		width: 120px; height: 120px;
		left: -4px; top: 50%; margin-top: -61.5px;
		border: 3px solid #F1B0B0;
		border-radius: 100px;
		overflow: hidden;
	}
	ul.top_voice li .spec {
		font-size: 1.2em;
		font-weight: bold;
		color: var(--main-color);
		border-bottom: 1px dotted var(--main-color);
	}
	ul.top_voice li .names {
		font-size: 1.2em;
		font-weight: bold;
	}
	ul.top_voice li .comment {
		margin: 0px auto 0px;
	}
	ul.top_voice li .comment p:nth-last-of-type(n+2) {
		margin-bottom: 1em;
	}
@media(max-width:736px){
	ul.top_voice {
		padding: 2px 5px;
	}
	ul.top_voice li {
		padding: 8px 20px;
		margin-bottom: 16px;
	}
	ul.top_voice li .title {
		font-size: 16px;
	}
	ul.top_voice li .information {
		position: relative;
		padding: 10px 20px 10px 100px;
		background: #f9a5a4;
		border: 3px solid #F1B0B0;
		border-radius: 100px;
		margin: 20px auto;
	}
	ul.top_voice li .image {
		position: absolute;
		width: 80px; height: 80px;
		left: -4px; top: 50%; margin-top: -40px;
		border: 3px solid #F1B0B0;
		border-radius: 100px;
		overflow: hidden;
	}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          sitemap PC
/* ******************************************* */
@media(min-width:737px){
    /************ sitemap *************/
	ul.sitemap {
		margin: 0 auto 80px;
		width: 60%;
	}
		ul.sitemap li {
			padding: 20px;
		}
		ul.sitemap li a {
			transition: 0.3s;
		}
		ul.sitemap li a:hover {
			text-decoration: underline;
			transition: 0.1s;
		}
		ul.sitemap li a::before {
			display: inline-block;
			transition: 0.3s;
			content: "";
			border-right: 3px solid var(--main-color);
			border-top: 3px solid var(--main-color);
			margin-right: 20px;
			width: 10px;
			height: 10px;
			transform: rotate( 45deg );
		}
}
/* ******************************************* */
/*          SP
/* ******************************************* */
@media(max-width:736px){
	/************ sitemap *************/
	ul.sitemap {
		margin: 0 auto 40px;
		width: 80%;
	}
		ul.sitemap li {
			padding: 10px;
		}
		ul.sitemap li a {
			transition: 0.3s;
		}
		ul.sitemap li a::before {
			display: inline-block;
			transition: 0.3s;
			content: "";
			border-right: 3px solid var(--main-color);
			border-top: 3px solid var(--main-color);
			margin-right: 20px;
			width: 10px;
			height: 10px;
			transform: rotate( 45deg );
		}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Footer PC
/* ******************************************* */
@media(min-width:737px){
	#footer {
		margin-top: 80px;
		background: #ffffff;
		box-shadow: 0px -2px 4px rgba( 0, 0, 0, 0.1 );
	}
	.footer_info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		margin: 0px auto;
		padding: 20px 0px;
	}
	.footer_info .logo:nth-of-type(1) { width: 450px; }
	.footer_info .logo:nth-of-type(2) { width: 250px; }
	#fnav {
		background: var(--main-color);
	}
		#fnav ul {
			display: flex;
			justify-content: space-between;
			align-items: center;
		}
		#fnav ul li {
			width: 20%;
		}
		#fnav ul li a {
			display: block;
			text-align: center;
			color: #fff;
			transition: 0.3s;
			padding: 1em 10px;
		}
		#fnav ul li a:hover {
			background: rgba( 255, 255, 255, 0.2 );
		}
    .copyright {
        font-size: 12px;
        text-align: center;
		color: #999;
		padding: 10px 0px 40px;
		display: flex;
		justify-content: space-between;
    }
	.copyright ul li {
		display: inline-block;
		margin-left: 1em;
	}
	.copyright ul li a {
		color: #999;
		text-decoration: underline;
	}
	.copyright ul li a:hover {
		text-decoration: none;
	}
    /************ pagetop *************/
    #pagetop {
        position: fixed;
        bottom: 60px;
        right: 60px;
        width: 64px;
        height: 64px;
        z-index: 9999;
    }
		#pagetop a {
			display: block;
			text-align: center;
			width: 64px;
			height: 64px;
			background: #FFFFFF;
			color: var(--main-color);
			font-size: 30px;
			line-height: 30px;
			border-radius: 100px;
			padding-top: 8px;
			border: 2px solid var(--main-color);
		}
		#pagetop a span {
			font-size: 10px;
			line-height: 10px;
			font-weight: 600;
			display: block;
		}
		#pagetop a:hover {
			opacity: 0.75;
		}
}
/* ******************************************* */
/*          Footer SP
/* ******************************************* */
@media(max-width:736px){
	#footer {
		background: #FFFFFF;
	}
	.footer_info {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 25px 10px;
	}
		.footer_info .logo,
		.footer_info .contact {
			width: 100%;
		}
		.footer_top .contact a:hover {
			background: #fff;
			color: #e3a53c;
		}
	#fnav {
		background: var(--main-color);
	}
		#fnav ul {
			text-align: center;
			margin: 0px auto;
		}
		#fnav ul li {
			font-size: 4vw;
			padding: 2vw 0vw;
		}
		#fnav ul li:nth-of-type(n+2) { border-top: 1px solid #fff; }
		#fnav ul li a {
			color: #fff;
			text-decoration: none;
		}
    .copyright {
        font-size: 10px;
        line-height: 30px;
        text-align: center;
		color: #fff;
		background: var(--main-color);
    }
	.copyright ul {
		padding: 0 3vw;
		display: flex;
		justify-content: space-between;
    }
	.copyright ul li a {
		color: #ffffff;
		text-decoration: underline;
	}
    /************ pagetop *************/
    #pagetop {
        position: fixed;
        bottom: 10px;
        right: 10px;
        width: 64px;
        height: 64px;
        z-index: 9999;
        opacity: 0.7;
    }
		#pagetop a {
			display: block;
			text-align: center;
			width: 64px;
			height: 64px;
			background: var(--main-color);
			color: #fff;
			font-size: 30px;
			line-height: 30px;
			border-radius: 100px;
			padding-top: 8px;
		}
		#pagetop a span {
			font-size: 10px;
			line-height: 10px;
			font-weight: 600;
			display: block;
		}
}

/* ******************************************* */
/*          問い合わせバナー
/* ******************************************* */
@media(min-width:737px){
	section.contact_banner {
		border-top: 2px solid var(--main-color);
		padding: 20px 0px;
		background: #f9a5a5;
		border-bottom: 2px solid var(--main-color);
	}
		section.contact_banner .inner {
			background: #ffffff;
			border-radius: 20px;
			padding: 20px 30px;
			display: flex;
			justify-content: space-between;
			align-items: center;
			text-align: center;
		}
		section.contact_banner .inner .tel p:nth-of-type(1) {
			font-size: 22px;
			line-height: 1.0;
			margin-top: 8px;
		}
		section.contact_banner .inner .tel p:nth-of-type(2) {
			font-size: 52px;
			line-height: 1.0;
			font-weight: bold;
			color: #3c3c3c;
			font-family: "Roboto", sans-serif;
		}
		section.contact_banner .inner .tel p:nth-of-type(3) {
			opacity: 0.7;
			font-size: 17px;
			line-height: 1.6;
		}
		section.contact_banner .inner .linkbutton { margin: 0px; }
		section.contact_banner .inner .linkbutton a {
			padding: 20px 50px 20px 38px;
			font-size: 1.5em;
		}
}
@media(max-width:736px){
	section.contact_banner {
		border-top: 2px solid var(--main-color);
		padding: 3vw 0px;
		background: #f9a5a5;
		border-bottom: 2px solid var(--main-color);
	}
		section.contact_banner .inner {
			background: #ffffff;
			border-radius: 10px;
			padding: 16px;
		}
		section.contact_banner .inner .tel { text-align: center; }
		section.contact_banner .inner .tel p:nth-of-type(1) {
			font-size: 4vw;
			line-height: 1.0;
			margin-top: 8px;
		}
		section.contact_banner .inner .tel p:nth-of-type(2) {
			font-size: 8vw;
			line-height: 1.0;
			font-weight: bold;
			color: #3c3c3c;
			font-family: "Roboto", sans-serif;
		}
		section.contact_banner .inner .tel p:nth-of-type(3) {
			opacity: 0.7;
			font-size: 3.5vw;
			line-height: 1.6;
		}
		section.contact_banner .inner .linkbutton { margin: 3vw auto 1vw; }
		section.contact_banner .inner .linkbutton a {
			width: 100%;
			max-width: none;
			padding: 4vw;
			font-size: 4vw;
			margin: 0 auto;
		}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          汎用パーツ PC
/* ******************************************* */
@media(min-width:737px){
	.mailcheck,
	.mailform {
		margin: 0 auto 80px;
		text-align: center;
	}
	.mailend {
		margin: 0 auto 100px;
		text-align: center;
	}
	.mailcheck .confirmation,
	.mailend .confirmation {
		line-height: 1.6;
	}
	.mailform table {
		width: 800px;
		margin: 40px auto;
	}
	.mailform table tr {
		display: block;
		border-bottom: 1px dotted #bbb;
	}
	.mailform table tr:last-of-type { border: none; }
	.mailform table th {
		padding: 0.5em;
		vertical-align: middle;
		text-align: left;
		font-size: 1.1em;
		font-weight: bold;
		width: 200px;
	}
	.mailform table td {
		padding: 0.5em;
		vertical-align: middle;
		text-align: left;
	}
	.mailform table a {
		color: var(--main-color);
		text-decoration: underline;
	}
	.mailform table a:hover { text-decoration: none; }
	.mailform select,
	.mailform input[type="date"] {
		width: 400px;
		margin: 4px auto;
		border-radius: 5px;
		padding: 8px;
		border: 1px solid #666;
	}
	.mailform select.birth {
		width: 180px;
	}
	.mailcheck table {
		width: 800px;
		margin: 40px auto;
	}
	.mailcheck table th {
		padding: 20px 15px;
		text-align: center;
		font-weight: bold;
		width: 25%;
		border-bottom: 1px dotted #ccc;
	}
	.mailcheck table td {
		padding: 20px 15px;
		text-align: center;
		width: 75%;
		border-bottom: 1px dotted #ccc;
	}
	.mailform input[type="text"] {
		width: 550px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 8px;
		border: 1px solid #666;
	}
	.mailform input[type="text"].code {
		width: 120px;
	}
	.mailform label[type="radio"] {
		display: block;
		margin: 0px auto;
		padding-left: 10px;
	}
	.mailform label.radioflat {
		display: inline-block;
		margin-right: 1em;
	}
	.mailform label[type="check"] {
		display: block;
		margin: 0px auto;
		text-align: left;
	}
	.mailform label[type="submit"] { display: block; text-align: center; }
	.mailform textarea {
		width: 550px;
		height: 200px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 8px;
		border: 1px solid #666;
	}
	.mailform input[type="button"][value="お問い合わせ内容確認"],
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		width: 400px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 12px;
		border: 5px double var(--main-color);
		background: var(--main-color);
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Kiwi Maru", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="submit"] {
		margin-left: 20px;
	}
	.mailform input[type="button"]:hover,
	.mailcheck input[type="submit"]:hover,
	.mailform input[type="submit"]:hover {
		background: #fff;
		color: var(--main-color);
	}
	.mailcheck input[type="button"][value="戻る"] {
		width: 400px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 12px;
		border: 5px double #999;
		background: #999;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Kiwi Maru", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="button"]:hover {
		background: #fff;
		color: #999;
	}
	.needs, .err { color: #df4e45; font-weight: bold; }
	.rule {
		margin: 20px auto;
		border: 1px solid #999;
		background: #fff;
		padding: 10px 16px;
		height: 180px;
		overflow-y: scroll;
		font-size: 0.9em;
	}
	.rule li { margin-bottom: 1em; }
}
/* ******************************************* */
/*          汎用パーツ SP
/* ******************************************* */
@media(max-width:736px){
	.mailcheck,
	.mailform {
		margin: 0 auto;
		text-align: center;
	}
	.mailend {
		margin: 0 auto 50px;
		text-align: center;
	}
	.mailcheck .confirmation,
	.mailend .confirmation {
		line-height: 1.6;
	}
	.mailform table {
		width: 100%;
		margin: 40px auto;
	}
	.mailform table tr {
		display: block;
	}
	.mailform table th {
		margin: 10px 0px 8px;
		display: block;
		font-weight: bold;
		font-size: 1.2em;
	}
	.mailform table td {
		margin: 8px 0px 20px;
		padding-bottom: 20px;
		display: block;
		border-bottom: 1px solid #999;
	}
	.mailform table a {
		color: var(--main-color);
		text-decoration: underline;
	}

	.mailcheck table {
		width: 100%;
		margin: 20px auto;
	}
	.mailcheck table th {
		padding: 20px 15px;
		text-align: center;
		font-weight: bold;
		width: 25%;
	}
	.mailcheck table td {
		padding: 20px 15px;
		text-align: left;
		width: 75%;
	}
	.mailform select,
	.mailform input[type="date"] {
		width: 50%;
		margin: 4px auto;
		border-radius: 5px;
		padding: 8px;
		border: 1px solid #666;
	}
	.mailform input[type="text"] {
		width: 100%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 8px;
		border: 1px solid #666;
	}
	.pc_flex2 { margin: 10px auto; text-align: left; padding: 0 5vw; }
	.mailform label[type="radio"] {
		display: block;
		margin: 10px auto;
		text-align: left;
		width: 50%;
	}
	.mailform label[type="check"] {
		display: block;
		margin: 10px auto;
		text-align: left;
		width: 50%;
	}
	.mailform label[type="submit"] { display: block; text-align: center; }
	.mailform textarea {
		width: 100%;
		height: 150px;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 8px;
		border: 1px solid #666;
	}
	.mailform input[type="button"],
	.mailcheck input[type="button"][value="戻る"],
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		border-radius: 0;
		-webkit-box-sizing: content-box;
		-webkit-appearance: button;
		appearance: button;
		border: none;
		box-sizing: border-box;
		cursor: pointer;
	}
	.mailform label.radioflat {
		display: inline-block;
		margin: 0.2em 1em 0.2em 0;
	}
	input[type="submit"]::-webkit-search-decoration,
	input[type="button"]::-webkit-search-decoration {
	  	display: none;
	}
	input[type="submit"]:focus,
	input[type="button"]:focus {
	  	outline-offset: -2px;
	}
	.mailform input[type="button"],
	.mailcheck input[type="submit"],
	.mailform input[type="submit"] {
		width: 90%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 15px;
		background: var(--main-color);
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Kiwi Maru", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="submit"] {
		margin-right: 10px;
	}
	.mailcheck input[type="button"][value="戻る"] {
		width: 90%;
		margin: 8px auto 8px;
		border-radius: 5px;
		padding: 15px;
		background: #999;
		cursor: pointer;
		color: #fff;
		font-weight: 600;
		transition: 0.2s;
		font-family: "Kiwi Maru", 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	}
	.mailcheck input[type="button"][value="戻る"]:hover {
		background: #fff;
		color: #999;
	}
	.needs, .err { color: #df4e45; font-weight: bold; }
	.rule {
		margin: 20px auto;
		border: 1px solid #999;
		background: #fff;
		padding: 10px;
		height: 140px;
		font-size: 12px;
		text-align: left;
		overflow-y: scroll;
	}
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          Breadcrumb PC
/* ******************************************* */
@media(min-width:737px){
    #breadcrumb {
        font-size: 12px;
        line-height: 1.0em;
        color: #3D3D3D;
    }
    #breadcrumb ul {
        display: block;
        text-align: left;
        padding: 12px 0px;
    }
    #breadcrumb ul li {
        display: inline;
        padding: 0em 0em;
    }
    #breadcrumb ul li:nth-of-type(n+2)::before{
        display: inline;
        text-align: center;
        content: "> ";
        color: var(--main-color);
        width: 18px;
        height: 12px;
        padding: 0em 0.5em;
    }
    #breadcrumb ul li a {
        color: var(--main-color);
        text-decoration: none;
    }
    #breadcrumb ul li a:hover{
        color: var(--main-color);
        text-decoration: underline;
    }
}
/* ******************************************* */
/*          Breadcrumb SP
/* ******************************************* */
@media(max-width:736px){
    #breadcrumb {
    	padding: 2vw 0vw;
        font-size: 12px;
        line-height: 24px;
        color: #3D3D3D;
    }
    #breadcrumb ul {
        display: block;
        text-align: left;
    }
    #breadcrumb ul li {
        display: inline;
        padding: 0em 0em;
    }
    #breadcrumb ul li:nth-of-type(n+2)::before{
        display: inline-block;
        text-align: center;
        content: "> ";
        color: var(--main-color);
        width: 18px;
        height: 12px;
        padding: 0em 0.5em;
    }
    #breadcrumb ul li a {
        color: var(--main-color);
        text-decoration: none;
    }
}

/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          PC SP 共通（拡張）
/* ******************************************* */
.mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.alp-gothic {
    font-family: 'Century Gothic', 'Quicksand', sans-serif;
}
.italic { font-style: italic; }
.add-relative { position: relative; }
.tx_red { color: #CF000D; }
.tx_blue { color: #1A5FAD; }
.hover_white:hover { opacity: 0.75; }


/* -------------------------------------------------------------------------------------------------- */

/* ******************************************* */
/*          iframe
/* ******************************************* */
.googlemap_wrap{
	position: relative;
	padding-bottom: 66%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	border: 1px solid #ccc;
	margin-bottom: 40px;
}
.googlemap_wrap img.fitimage{
	max-width: 900px;
}
.googlemap_wrap iframe,
.googlemap_wrap object,
.googlemap_wrap embed{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.fuwafuwa { animation: fuwafuwa 3s infinite ease-in-out alternate; }
.pukapuka { animation: pukapuka 4s infinite ease-in-out alternate; }
@keyframes fuwafuwa {
	0% {transform: translate( 0, -5px ); }
	50% {transform: translate( 0, 5px ); }
	100% {transform: translate( 0, -5px ); }
}
@keyframes pukapuka {
	0% {transform: scale( 1.0 ); }
	50% {transform: scale( 1.05 ); }
	100% {transform: scale( 1.0 ); }
}

section.tamago {
	border-top: 8px solid #E38E91;
	border-bottom: 8px solid #E38E91;
	padding: 1em 0px 4em;
}
section.tamago .wrapper {
	width: 800px;
}
section.tamago .tamagoimage {
	position: relative;
	z-index: 100;
	margin: 0px -40px -5em;
}
section.tamago p {
	background: #FFF2CC;
	padding: 6em 4em 3em;
	border-radius: 10px;
	color: #3E3A39;
	font-size: 1.1;
}
@media(max-width:1000px){
	section.tamago .wrapper {
		width: 100%;
	}
	section.tamago .tamagoimage {
		position: relative;
		z-index: 100;
		margin: 0px 0px -4em;
	}
	section.tamago p {
		background: #FFF2CC;
		padding: 5em 2em 2em;
		border-radius: 10px;
		color: #3E3A39;
		font-size: 1.1;
	}
}