@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Charmonman:wght@700&family=Noto+Sans+JP:wght@700&family=Quicksand:wght@500&display=swap');

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

	リセット

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

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
/* change colours to suit your needs */
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
/* change colours to suit your needs */
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* change border colour to suit your needs */
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 0;
	padding: 0;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
	-webkit-backface-visibility: hidden;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


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

	グローバル

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

body {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #3c3c3c;
	font-size: 1em;
	line-height: 1.8;
	position: relative;
	min-width: 1130px;
}

.fo_char { font-family: 'Charmonman', cursive;}
.fo_quick { font-family: 'Quicksand', sans-serif;}
.fo_noto { font-family: 'Noto Sans JP', sans-serif; font-weight: bold;}

p { margin-bottom: 30px;}
p:last-child { margin-bottom: 0px;}

a { color: #3c3c3c; text-decoration: none;}
a:hover { color: #f19ca6;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo088 { font-size: 0.875em !important;}
.fo09 { font-size: 0.9em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo125 { font-size: 1.25em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo18 { font-size: 1.8em !important;}
.fo19 { font-size: 1.9em !important;}
.fo20 { font-size: 2em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}
.lh20 { line-height: 2;}

.fo_white { color: #FFFFFF;}
.fo_pink { color: #f19ca6;}
.fo_gray { color: #8e8e8e;}

/* ボックス */
.container {
	max-width: 1130px;
	padding: 0px 15px;
	margin: auto;
}
.container02 {
	max-width: 1230px;
	padding: 0px 15px;
	margin: auto;
}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

.back_white { background-color: #fff;}
.back_pink { background-color: #fcebee;}
.back_blue { background-color: #d3edfb;}

@media print,  (min-width: 861px) {
	.hidden_l { display: none !important;}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-60 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb120-80 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

.mt10 { margin-top: 10px !important;}
.mt20 { margin-top: 20px !important;}
.mt30 { margin-top: 30px !important;}
.mt40 { margin-top: 40px !important;}
.mt50 { margin-top: 50px !important;}
.mt60 { margin-top: 60px !important;}
.mt70 { margin-top: 70px !important;}
.mt80 { margin-top: 80px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { padding-right: 30px; padding-top: 20px; max-width: 1900px; margin: auto;}
.gn { top: 100px;}
.gn > li { display: inline-block; padding-bottom: 10px;}
.gn > li:not(:last-child):after { content: "　｜　";}
.gn01 { right: calc(50% + 110px);}
.gn02 { left: calc(50% + 80px);}

.header_btn { right: 15px; top: 0px; display: flex; justify-content: flex-end; width: 47%;}
.header_btn li:not(:first-child) { margin-left: 10px;}
.header_btn li:nth-child(1) { flex-shrink: 5;}
.header_btn li:nth-child(2) { flex-shrink: 5;}
.header_btn li:nth-child(3) { flex-shrink: 1; min-width: 175px;}
.header_tel a { display: block; text-decoration: none; color: #f19ca6; padding-left: 20px; padding-top: 5px;}
.header_tel .tel:before { content: ""; position: absolute; left: -16px; top: 53%; transform: translateY(-50%); background: url("../images/common/ico_tel.png") no-repeat center center; background-size: 100% auto; width: 12px; height: 18px;}

@media only screen and (max-width: 1300px) {
	.header_tel .fo15 { font-size: 1.3em !important;}
}

@media only screen and (max-width: 1230px) {
	.gn li:not(:last-child):after { letter-spacing: -0.5em;}
}

/* ドロップダウンメニュー */
.gn .dd {
	position: relative;
	z-index: 99999;
}
.gn .dd ul {
	width: 310px;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
	display: none;
	border: solid 4px #ff8395;
	background-color: #fff;
	padding: 15px 15px 10px;
	z-index: 99999;
	font-size: 0.9em;
	margin-top: 10px;
	text-align: center;
}
.gn .dd.voice ul { width: 200px;}
.gn .dd ul:before {
	content: "";
	top: -15px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 7px 15px 7px;
    border-color: transparent transparent #ff8395 transparent;
}
.gn .dd ul li { margin-bottom: 5px;}


.clone-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 100%;
	min-width: 1090px;
	padding: 10px 15px !important;
	max-width: initial;
	transition: .3s;
	transform: translateY(-100%);
	background: #fff;
	text-align: center;
	box-shadow: 0px 2px 6px rgba(0,0,0,0.2);
}
.is-show { transform: translateY(0);}
.clone-nav h1 { display: none;}
.clone-nav .gn { position: static; display: inline;}
.clone-nav .gn01 > li:last-child:after { content: "　｜　";}


/* ------------------------
	フッター
------------------------ */

.footer_contact { background: url("../images/common/contact_bg.png") no-repeat center center; background-size: cover; padding: 50px 15px; border-radius: 30px; max-width: 1200px; margin: auto;}
.footer_contact .box01 { background: rgba(241,156,166,0.7); padding: 10px; max-width: 600px; margin: auto;}
.footer_contact .box_inner { border: solid 1px #fff; padding: 50px 10px 40px; letter-spacing: 0.1em;}
.footer_contact h2 { font-size: 1.55em;}
.more_btn.app_btn a { width: 100%; max-width: 500px; font-size: 1.15em; padding: 20px 30px;}
.more_btn.app_btn a:before { content: ""; display: inline-block; background: url("../images/common/ico_note.png") no-repeat center center; background-size: 100% auto; width: 22px; height: 35px; vertical-align: middle; margin-right: 0.5em; transition: 0.2s;}
.more_btn.app_btn a:hover:before { background-image: url("../images/common/ico_note_o.png");}
.more_btn.app_btn a:after { width: 13px; height: 13px;}
.footer_contact .tel a { display: inline-block; font-size: 2.4em; line-height: 1; color: #fff; letter-spacing: 0px;}
.footer_contact .tel a:before { content: ""; display: inline-block; vertical-align: middle; background: url("../images/common/ico_tel_white.png") no-repeat center center; background-size: 100% auto; width: 23px; height: 30px; margin: -0.1em 0.2em 0px 0px;}

.footer_nav li { display: inline-block;}
.footer_nav li:not(:last-child):after { content: " / "; letter-spacing: 0.5em;}

.footer .bg { border-bottom: solid 2px #f19ca6; padding: 60px 0px 50px;}
.footer .bg:before { content: ""; position: absolute; width: 100%; top: 0px; left: 0px; background: url("../images/common/arc01.png") no-repeat center top; background-size: 100% 100%; height: 20%; z-index: 100;}
.footer_list { display: flex; justify-content: center; align-items: center;}
.footer_list .list02 { display: flex; justify-content: center; align-items: flex-end;}
.footer_list .tel a { display: block; text-decoration: none; color: #f19ca6; padding-left: 23px; padding-top: 5px; position: relative; font-size: 2em; line-height: 1; margin: 0px 0.4em 4px 0px;}
.footer_list .tel a:before { content: ""; position: absolute; left: 0px; top: 65%; transform: translateY(-50%); background: url("../images/common/ico_tel.png") no-repeat center center; background-size: 100% auto; width: 17px; height: 23px;}
.footer_list .app_btn { width: 400px; margin-left: 30px;}

.footer .list03 { display: flex; justify-content: center; align-items: center; flex-wrap: wrap;}
.footer .list03 li { margin: 0px 3% 5px;}

.footer_sns { display: flex; justify-content: center; align-items: center;}
.footer_sns li { width: 45px; margin: 0px 10px;}


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

	トップページ

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

.slide_wrap img { width: 100%; height: auto;}
.slide_wrap:after { content: ""; position: absolute; width: 100%; top: 0px; left: 0px; background: url("../images/common/arc01.png") no-repeat center top; background-size: 100% 100%; height: 20%; z-index: 100;}
.slide_wrap .text_box { width: 100%; top: 50%; left: 0px; transform: translateY(-50%); font-size: 2.5em; line-height: 1.3; z-index: 100; letter-spacing: 0.15em;}
.slide_wrap .text_box .fo_noto { font-size: 1.3em; text-shadow: 1px 1px 10px rgba(0,0,0,0.5);}

.top_news { padding: 30px 0px 50px;}
.top_news:after { content: ""; position: absolute; width: 100%; left: 0px; bottom: 0px; background: url("../images/common/arc02.png") repeat-x center bottom; height: 14px; background-size: auto 100%;}
.top_news .box_wrap { width: 1030px; margin: auto; display: flex; justify-content: space-between; align-items: center; padding: 0px 15px;}
.top_news h2 { letter-spacing: 0.1em; width: 80px;}
.top_news .box_wrap > div:nth-child(2) { width: calc(100% - 275px);}
.top_news .more_btn { width: 155px;}
.top_news .more_btn a { min-width: 0px; padding-left: 30px; padding-right: 30px;}
.top_news dl { display: table; width: 100%;}
.top_news dl > * { display: table-cell; vertical-align: middle;}
.top_news dt { width: 6.5em;}
.top_news .category { width: 8.5em; padding-right: 1em;}
.category a { display: inline-block; width: 100%; background: #fff; border: solid 1px #f19ca6; color: #f19ca6; text-align: center; line-height: 1.4; padding: 1px 1em; border-radius: 30px; font-size: 0.9em; transition: 0.2s;}
.category a:hover { background: #f19ca6; color: #fff;}

.en_subttl { font-size: 2.6em; line-height: 1; font-weight: bolder; letter-spacing: 0.2em;}
.top_ttl { font-size: 1.1em; letter-spacing: 0.2em;}

.top_concept:before { content: ""; position: absolute; background: url("../images/top/top_con_img01.png") no-repeat center center; background-size: 100% auto; width: 176px; height: 176px; top: 200px; right: calc(50% - 500px);}
.top_concept .box { max-width: 680px; margin: auto;}
.top_concept .text01 { font-size: 1.6em; position: relative;}
.top_concept .text01:before { content: ""; position: absolute; background: url("../images/blog/h2.png") no-repeat center center; background-size: 100% auto; top: 50%; transform: translateY(-50%); margin-left: -40px; width: 35px; height: 54px;}
.top_concept .img01 { bottom: 30px; left: -240px;}
.top_concept .img02 { bottom: 30px; right: -230px;}

.top_concept .box02 { max-width: 1030px; padding: 0px 15px; margin: auto; display: flex; justify-content: space-between; align-items: flex-end;}
.top_concept .box02 .box_inner { width: calc(100% - 500px);}
.top_concept .box02 h3 { display: inline-block; padding-bottom: 13px; text-align: center; background: url("../images/top/line.png") no-repeat center bottom; width: 287px; background-size: 100% auto; font-size: 1.6em;}

.top_lesson { padding: 80px 0px 20px;}
.wave:before, .wave:after { content: ""; position: absolute; width: 100%; height: 14px; background: url("../images/common/arc02.png") repeat-x center bottom; background-size: auto 100%; left: 0px;}
.wave:before { top: 0px; transform: scale(-1,1) rotate(180deg);}
.wave:after { bottom: 0px;}
.top_lesson section { display: flex; align-items: center; justify-content: flex-end;}
.top_lesson section:nth-of-type(odd) { flex-flow: row-reverse;}
.top_lesson section figure { width: 600px;}
.top_lesson section .box_inner { width: 400px;}
.top_lesson section:nth-of-type(odd) figure img { margin-left: -120px;}
.top_lesson section:nth-of-type(even) figure img { margin-right: -120px;}
.top_lesson h3 { font-size: 1.8em;}
.top_lesson h4 { padding-left: 20px;}
.top_lesson h4:before { content: ""; position: absolute; width: 14px; height: 14px; border-radius: 100%; background: #8dcbe0; left: 0px; top: 0.45em;}
.top_lesson section:nth-of-type(2) h4:before { background: #f9f1a5;}

.top_teacher .box { display: flex; align-items: center; justify-content: center; flex-flow: row-reverse;}
.top_teacher .box figure { width: 550px;}
.top_teacher .box figure > div { display: inline-block;}
.top_teacher .box figure > div:after { content: ""; position: absolute; background: url("../images/top/top_tea_img03.png") no-repeat center bottom; background-size: 100% auto; width: 51px; height: 122px; top: 5px; right: -30px;}
.top_teacher .box figure > div img:first-child { border-radius: 100%; border: solid 17px rgba(255,247,153,0.85); max-width: 330px; height: auto;}
.top_teacher .box figure .pos_ab { bottom: -15px; left: -40px;}
.top_teacher .box .box_inner { width: 450px;}
.top_teacher dl { display: table; margin: auto; padding-bottom: 5px; border-bottom: dotted 5px #f19ca6; font-size: 1.55em; line-height: 1.2;}
.top_teacher dl > * { display: table-cell; vertical-align: middle;}
.top_teacher dd { padding-left: 30px; position: relative;}
.top_teacher dd:before { content: ""; position: absolute; width: 1px; top: 0.2em; bottom: 0.2em; left: 14px; background: #505050; }
.top_teacher dd span { font-size: 0.5em; width: 100%; top: -20px; left: calc(50% + 15px); transform: translateX(-50%); letter-spacing: 0.2em;}

.top_about { padding: 100px 0px 80px;}
.top_about .box { max-width: 1030px; padding: 0px 15px; margin: auto; display: flex; justify-content: space-between; align-items: flex-end;}
.top_about .box01 figure img { border-radius: 100%; border: solid 10px #fff; max-width: 250px; height: auto;}
.top_about .box02 { width: 625px;}
.top_about .map iframe { width: 100%; vertical-align: bottom; height: 435px;}

.topics_box { display: flex; justify-content: space-between;}
.topics_box:after { content: ""; position: absolute; top: 0px; bottom: 0px; width: 4px; background: #fdeeed; left: calc(50% - 2px);}
.topics_box section { width: 44%;}
.topics_box h2 { display: flex; justify-content: space-between; align-items: flex-end;}
.topics_box h2:before { content: ""; position: absolute; z-index: -1; width: 100%; left: 0px; height: 4px; bottom: 2px; background: #fdeeed;}
.topics_box dl { display: table; width: 100%; margin-bottom: 25px; padding-bottom: 25px; border-bottom: dotted 1px #ccc;}
.topics_box dl:last-of-type { margin-bottom: 60px;}
.topics_box dl > * { display: table-cell; vertical-align: top;}
.topics_box dt { width: 7em;}

.topics_box .art { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px;}
.topics_box .art figure { width: 180px;}
.topics_box .art figure img { border-radius: 100%;}
.topics_box .art .box_inner { width: calc(100% - 200px);}


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

	下層ページ

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

.show_sp { display: none;}
.over_hidden { overflow: hidden;}

.img_hover { overflow: hidden;}
.img_hover a img { transition: 0.3s;}
.img_hover a:hover img { transform: scale(1.05);}

/* 下層共通 */
.more_btn a {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	display: inline-block;
	line-height: 1.6;
	color: #f19ca6;
	border: solid 1px #f19ca6;
	background: #fff;
	padding: 6px 35px 8px;
	text-decoration: none;
	text-align: center;
	min-width: 270px;
	border-radius: 50px;
	position: relative;
	transition: 0.3s;
}
.more_btn a:after {
	content: "";
	display: inline-block;
    width: 9px;
    height: 9px;
    border-top: 1px solid #f19ca6;
    border-right: 1px solid #f19ca6;
    transform: rotate(45deg);
	margin-left: 0.2em;
}
.more_btn a:hover { background: #f19ca6; color: #fff; transform: translate(2px, 2px);}
.more_btn a:hover:after { border-color: #fff;}

.hvr_sink { transition: 0.3s;}
.hvr_sink:hover { transform: translateY(2px);}


/* ----------------------------
	固定ページテンプレート
---------------------------- */

.mainimage img { width: 100%; height: auto;}
.mainimage:after { content: ""; position: absolute; width: 100%; height: 14px; background: url("../images/common/arc02.png") repeat-x center bottom; background-size: auto 100%; left: 0px; bottom: 0px;}

.pagettl { font-size: 2.6em; line-height: 1.4; padding-bottom: 20px;}
.pagettl:after { content: ""; position: absolute; bottom: 0px; left: 50%; transform: translateX(-50%); width: 300px; border-bottom: dotted 9px #f19ca6;}

.main_contents { max-width: 930px; margin: auto; padding: 0px 15px;}
.main_contents:last-child { margin-bottom: 100px;}

.catchcopy { font-family: 'Noto Sans JP', sans-serif; font-size: 2em; text-align: center; line-height: 1.5; margin-bottom: 100px;}

.box30 { display: flex; flex-wrap: wrap; margin: auto -2%;}
.box30 > div { width: 29.3333%; margin: 0px 2% 50px;}

.note { position: relative; padding-left: 20px;}
.note:before { content: ""; position: absolute; left: 0px; top: 0.1em; background: url("../images/common/ico_note.png") no-repeat center center; background-size: 100% auto; width: 13px; height: 22px;}

.box50 { display: flex; justify-content: space-between; flex-wrap: wrap;}
.box50 > div { width: 48%; margin: 0px 0px 50px; background: #fff;}
.box50 figure img { width: 100%; height: auto;}
.blog_content .box50 h5 { font-size: 1.5em; padding-left: 27px;}
.blog_content .box50 h5:before { width: 20px; height: 20px; top: 0.3em;}
.blog_content .box50 h5.border { padding: 0px 0px 15px; background: url("../images/blog/wave_pink.png") repeat-x center bottom;}
.blog_content .box50 h5.border:before { display: none;}

.left_icon { position: relative; padding-left: 25px; font-family: 'Noto Sans JP', sans-serif; line-height: 1.6;}
.left_icon:before { content: ""; position: absolute; background: url("../images/blog/h2.png") no-repeat center center; width: 20px; height: 23px; left: 0px; top: 0.15em; background-size: 100% auto;}

.img_wide { margin-bottom: 80px; text-align: center;}
.img_wide img { width: 100%; height: auto;}

.imgbox { display: flex; justify-content: space-between; align-items: center; margin: 120px auto; max-width: 1320px;}
.imgbox.box02 { flex-flow: row-reverse;}
.imgbox figure { width: 50%; position: relative;}
.imgbox > div { width: 50%; padding: 0px 7%;}
.imgbox.blog_content h2 { color: #f19ca6; font-size: 1.8em; padding: 0px;}
.imgbox.blog_content h2:before { display: none;}

.img_right { flex-flow: row-reverse;}
.img_right.box02 { flex-flow: row;}
.img_right figure:before { content: ""; position: absolute; background: url("../images/blog/img_bg_round.png") no-repeat center center; background-size: 100% 100%; width: 45px; height: 100%; left: 0px; top: 0px; z-index: 100;}
.img_right figure:after { content: ""; position: absolute; z-index: -1; background: url("../images/blog/img_bg02.png") no-repeat center bottom; background-size: 100% auto; right: -50px; bottom: -50px; width: 100%; height: 100%;}

.img_left figure:before { content: ""; position: absolute; background: url("../images/blog/img_bg_round.png") no-repeat center center; background-size: 100% 100%; width: 45px; height: 100%; right: 0px; top: 0px; transform: scale(-1,1); z-index: 100;}
.img_left figure:after { content: ""; position: absolute; z-index: -1; background: url("../images/blog/img_bg03.png") no-repeat center bottom; background-size: 100% auto; left: -50px; bottom: -50px; width: 100%; height: 100%;}

.box_img_left { display: flex; justify-content: space-between;}
.box_img_left figure { width: 45%;}
.box_img_left > div { width: 50%;}
.blog_content .box_img_left h6 { font-size: 1.4em;}
.blog_content .box_img_left h6.image { border: none; display: inline-block; padding: 0px 20px; font-size: 1.3em; position: relative;}
.blog_content .box_img_left h6.image:before, .blog_content .box_img_left h6.image:after { content: ""; position: absolute; top: 50%; transform: translateY(-50%); background: url("../images/blog/ttl_bg01.png") no-repeat center center; background-size: 100% auto; width: 20px; height: 32px;}
.blog_content .box_img_left h6.image:before { left: -8px;}
.blog_content .box_img_left h6.image:after { right: -8px; transform: translateY(-50%) scale(-1,1);}

.ico_arrow01, .ico_arrow02, .ico_arrow03, .ico_arrow04 { padding-left: 33px; position: relative;}
.ico_arrow01:before, .ico_arrow02:before, .ico_arrow03:before, .ico_arrow04:before { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; width: 30px; height: 30px; left: 0px; top: 0.1em;}
.ico_arrow01:before { background-image: url("../images/blog/ico_arrow01.png");}
.ico_arrow02:before { background-image: url("../images/blog/ico_arrow02.png");}
.ico_arrow03:before { background-image: url("../images/blog/ico_arrow03.png");}
.ico_arrow04:before { background-image: url("../images/blog/ico_arrow04.png");}

.faq_sec { margin: 80px 0px;}
.faq_sec dt, .faq_sec dd { position: relative; padding-left: 58px;}
.faq_sec dt:before, .faq_sec dd:before { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; width: 40px; height: 40px; left: 0px; top: 0px;}
.faq_sec dt:before { background-image: url("../images/blog/ico_q.png");}
.faq_sec dd:before { background-image: url("../images/blog/ico_a.png");}
.faq_sec dt { padding-bottom: 15px; border-bottom: dotted 1px #ccc; margin-bottom: 15px; font-size: 1.5em; line-height: 1.5; padding-top: 0.1em; font-weight: bold;}
.faq_sec dd { padding-top: 0.3em;}

.blog_content .step_sec01 h2, .blog_content .step_sec02 h2 { padding: 0px; font-size: 1.7em;}
.blog_content .step_sec01 h2:before, .blog_content .step_sec02 h2:before { display: none;}
.step_sec01 { display: flex; justify-content: space-between; margin-bottom: 80px;}
.step_sec01 > figure { width: 36%; align-self: flex-start;}
.step_sec01 > figure:before { content: ""; position: absolute; background: url("../images/blog/step_bg01.png") no-repeat center center; background-size: 100% auto; width: 156px; height: 156px; bottom: -60px; left: -60px; z-index: -1;}
.step_sec01 > div { width: 60%; padding-left: 7%;}
.step_sec01 .num_box { color: #f19ca6; margin-bottom: 30px; font-size: 1.8em; line-height: 1; letter-spacing: 0.2em; display: inline-block; vertical-align: bottom; border-bottom: dotted 1px #ede964; padding-bottom: 5px; position: relative;}
.step_sec01 .num_box:before { content: ""; position: absolute; background: url("../images/blog/step_icon01.png") no-repeat center center; background-size: 100% auto; width: 46px; height: 44px; left: -55px; bottom: -1px; z-index: 100;}
.step_sec01 .num_box .num { font-size: 1.8em; line-height: 1;}

.step_sec02 { display: flex; justify-content: space-between; align-items: center; margin: 80px 0px;}
.step_sec02 > figure { width: 40%;}
.step_sec02 > figure:before, .step_sec02 > figure:after { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: 100% auto; z-index: 100;}
.step_sec02 > figure:before { background-image: url("../images/blog/step_icon02.png"); width: 60px; height: 121px; right: 20px; top: 0px;}
.step_sec02 > figure:after { background-image: url("../images/blog/step_icon03.png"); width: 60px; height: 50px; left: 20px; bottom: 30px;}
.step_sec02 > figure img { border-radius: 100%; border: solid 10px #fff799;}
.step_sec02 > div { width: 55%;}
.step_sec02 figcaption { top: -40px; left: 20px; font-size: 2em; line-height: 1.1; letter-spacing: 0.2em;}
.step_sec02 .num { font-size: 1.8em;}

.ico_arrow01, .ico_arrow02, .ico_arrow03 { padding-left: 33px; position: relative;}
.ico_arrow01:before, .ico_arrow02:before, .ico_arrow03:before { content: ""; position: absolute; background-repeat: no-repeat; background-position: center center; background-size: auto 100%; width: 25px; height: 25px; left: 0px; top: 0.1em;}
.ico_arrow01:before { background-image: url("../images/blog/ico_arrow01.png");}
.ico_arrow02:before { background-image: url("../images/blog/ico_arrow02.png"); background-size: 100% auto;}
.ico_arrow03:before { background-image: url("../images/blog/ico_arrow03.png");}
.ico_arrow01 a, .ico_arrow02 a, .ico_arrow03 a { color: #3b3b3b !important; text-decoration: none !important; opacity: 1 !important;}
.ico_arrow01 a:hover, .ico_arrow02 a:hover, .ico_arrow03 a:hover { color: #f08437 !important; text-decoration: underline !important;}


/* ----------------------------
	contact
---------------------------- */

.contact_sec01 { max-width: 830px; margin: auto;}

.contact_sec dl { display: table; width: 100%; border-bottom: dashed 1px #ddd; padding-bottom: 20px; margin-bottom: 20px;}
.contact_sec dl:last-of-type { border-bottom: none;}
.contact_sec dt, .contact_sec dd {
	display: table-cell;
	vertical-align: middle;
}
.contact_sec dt {
	width: 14em;
	font-weight: bold;
}
.contact_sec .hissu {
	font-size: 0.7em;
	font-weight: bold;
	color: #fff;
	line-height: 1;
	border-radius: 3px;
	padding: 5px;
	background-color: #FF6467;
}
.contact_sec dt .hissu { float: right;}
.contact_sec dt .ninni { background-color: #BED4E8;}
.contact_sec h3 .hissu { display: inline-block; margin-left: 0.3em; font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 0.6em; vertical-align: top; margin: 0.3em 0px 0px 0.8em;}

.contact_sec dd { padding-left: 20px;}
.contact_sec input[type="text"], .contact_sec input[type="email"], .contact_sec textarea, .contact_sec select {
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 1.1em;
	border: solid 2px #ddd;
	border-radius: 5px;
	padding: 5px;
	width: 100%;
}
.contact_sec select { font-size: 16px; -webkit-appearance: menulist-button; height: 40px; line-height: 40px;}
.contact_sec .width_auto input[type="text"], .contact_sec .width_auto select { width: auto; max-width: 100%;}

.contact_sec .btn_area input { display: inline-block; min-width: 300px; background: #fff; color: #f19ca6; padding: 12px 30px; text-align: center; line-height: 1.6; font-weight: bold; text-decoration: none !important; transition: 0.3s; cursor: pointer; -webkit-appearance: none; font-size: 1.05em; margin: 0px 10px 10px; font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; border-radius: 60px; border: solid 1px #f19ca6;}
.contact_sec .btn_area input:hover { background: #f19ca6; color: #fff;}
.contact_sec .btn_area input:focus { outline: 0;}

.mwform-checkbox-field label, .mwform-radio-field label { margin-right: 1.2em;}
.mwform-checkbox-field input, .mwform-radio-field input { transform: scale(1.2); margin: -0.2em 0.3em 0px 0px;}

.mw_wp_form .error {
	background-color: #F7CCE6;
	border: #ee4d89 solid 1px;
	border-radius: 3px;
	color: #EE4D89;
	display: inline-block;
	vertical-align: middle;
	font-size: 75%;
	padding: 3px 5px 2px;
	margin-left: 5px;
}
.confirm_show { display: none;}
.mw_wp_form_confirm .confirm_show { display: block;}
.mw_wp_form_confirm .confirm_hidden { display: none !important;}


/* ------------------------
	投稿
------------------------ */

.blog_wrap { display: flex; justify-content: space-between; align-items: flex-start;}
.contents { width: calc(100% - 330px); position: relative; z-index: 100; border: solid 3px #f19ca6; border-radius: 40px; padding: 4%;}
.rNavi { width: 270px;}
.rNavi:before, .rNavi:after { content: ""; display: table; background: url("../images/blog/side_img.png") no-repeat center center; background-size: 100% auto; width: 107px; height: 42px; margin: auto;}
.rNavi:before { margin: -30px auto 20px;}

/* サイドバー */
.rNavi h2 { font-size: 1.6em; line-height: 1.4; letter-spacing: 0.05em; border: solid 1px #f19ca6; border-radius: 10px; box-shadow: 6px 6px 0px #f19ca6; padding: 8px 8px 10px;}

.rNavi a { color: #3c3c3c;}
.rNavi a:hover { color: #f19ca6;}

.side_sec01 dl { padding: 0px 0.5em 15px; position: relative; margin-bottom: 15px; line-height: 1.6; padding-bottom: 15px; border-bottom: dashed 1px #f19ca6;}

.side_sec02 li { margin-bottom: 3px; padding-left: 15px; position: relative;}
.side_sec02 li:before { content: ""; position: absolute; left: 0px; top: 0.5em; width: 10px; height: 10px; border-radius: 100%; background: #f19ca6;}

.side_sec03 select {
	width: 100%;
	padding: 10px 15px;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	font-size: 1em;
	border: solid 2px #f19ca6;
	border-radius: 60px;
	-webkit-appearance: menulist-button;
	height: 50px;
	line-height: 50px;
}
.side_sec03 select:focus { outline: none;}

/* 記事ヘッダー */
.blog_header h1 { margin-left: 30px; font-size: 2.5em; line-height: 1.5; border-bottom: dotted 4px #666; padding: 0px 5px 5px; position: relative;}
.blog_header h1:before { content: ""; position: absolute; left: -35px; top: 0.4em; background: url("../images/blog/h2.png") no-repeat center center; background-size: 100% auto; width: 22px; height: 35px;}
.blog_header h1 a { color: #3c3c3c; text-decoration: none;}
.blog_header h1 a:hover { opacity: 0.7;}
.cat_wrap { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;}
.cat_wrap li { display: inline-block; vertical-align: middle; margin: 0px 0.7em 8px 0px;}
.cat_wrap p { margin-bottom: 8px;}
.blog_header .category a { border-color: #76c8e5; color: #3c3c3c;}
.blog_header .category a:hover { background-color: #76c8e5; color: #fff;}

/* 本文 */
.blog_content p:last-child { margin-bottom: 30px;}
.blog_content h2 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2.2em;
	line-height: 1.5;
	padding-left: 45px;
	position: relative;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h2:before { content: ""; position: absolute; margin-left: -45px; top: 0.1em; background: url("../images/blog/h2.png") no-repeat center center; background-size: 100% auto; width: 35px; height: 54px;}
.blog_content h3 {
	display: inline;
	background: linear-gradient(transparent 65%, #fdeeed 0%);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 2em;
	line-height: 1.5;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h3:after { content: ""; display: block; width: 100%; height: 30px;}
.blog_content h4 {
	background: url("../images/blog/h4.png") repeat-x center bottom;
	padding-bottom: 25px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8em;
	line-height: 1.5;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8em;
	line-height: 1.5;
	padding-left: 40px;
	position: relative;
	clear: both;
	margin-bottom: 30px;
}
.blog_content h5:before { content: ""; position: absolute; width: 25px; height: 25px; border-radius: 100%; background: #d6e9c4; left: 0px; top: 0.45em;}
.blog_content h6 {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8em;
	line-height: 1.5;
	border-bottom: dotted 4px #3c3c3c;
	padding-bottom: 10px;
	clear: both;
	margin-bottom: 30px;
}

/* 引用 */
.blog_content blockquote {
	position: relative;
	padding: 40px 6%;
	margin-bottom: 60px;
	border: solid 2px #f19ca6;
	clear: both;
}
.blog_content blockquote:before, .blog_content blockquote:after { content: ""; position: absolute; background: url("../images/blog/ico_blq.png") no-repeat center center #fff; background-size: auto 100%; width: 50px; height: 23px;}
.blog_content blockquote p:last-child { margin-bottom: 0px !important;}
.blog_content blockquote:before { left: 35px; top: 0px; transform: translateY(-50%);}
.blog_content blockquote:after { right: 35px; bottom: 0px; transform: translateY(50%) scale(-1,-1);}

/* リスト */
.blog_content ul { margin-bottom: 30px; clear: both;}
.blog_content li { position: relative; padding-left: 23px;}
.blog_content li:before { content: ""; position: absolute; left: 0px; top: 0.4em; width: 15px; height: 15px; border-radius: 100%; background: #f19ca6;}
.blog_content li li:before {
	width: 0;
	height: 0;
	left: 0.3em;
	top: 0.55em;
	border-style: solid;
	border-width: 0 5px 8px 5px;
	border-color: transparent transparent #3c3c3c transparent;
	border-radius: 0px;
	background: none;
}

.blog_content ol { margin-bottom: 30px; padding-left: 2em;}
.blog_content ol li { list-style: outside decimal;}

/* テーブル */
.blog_content table {
	clear: both;
	margin-bottom: 30px;
	width: 100%;
}
.blog_content table th, .blog_content table td { padding: 7px 1em; vertical-align: top; border: solid 1px #f19ca6;}
.blog_content table th { background: #fcebee; font-weight: bold;}

.blog_content iframe { max-width: 100%;}

.blog_content strong { font-weight: bold;}
.blog_content em { font-weight: bold; color: #f19ca6;}

.blog_content a { color: #8dcbe0; text-decoration: none;}
.blog_content a:hover { color: #f19ca6; text-decoration: underline;}
.blog_content a.icon { background: url("../images/blog/ico_link.png") no-repeat left 50%; padding-left: 20px;}
.blog_content a.icon:hover { background-image: url("../images/blog/ico_link_o.png");}
.blog_content a.box { background: url("../images/blog/ico_link.png") no-repeat 15px 50%; border-left: solid 8px #8dcbe0; border-bottom: dotted 1px #8dcbe0; padding: 5px 15px 7px 35px; display: inline-block; text-decoration: underline;}
.blog_content a.box:hover { background-image: url("../images/blog/ico_link_o.png");}

.blog_content a.btn01, .blog_content a.btn02, .blog_content a.btn03 { display: inline-block; min-width: 250px; font-weight: bold; position: relative; transition: 0.3s; text-align: center; text-decoration: none; line-height: 1.6; color: #f19ca6; padding: 8px 30px;}
.blog_content a.btn01:hover, .blog_content a.btn02:hover, .blog_content a.btn03:hover { transform: translate(3px, 3px);}

.blog_content a.btn01 { border-radius: 60px; background: #fff; border: solid 1px #f19ca6;}
.blog_content a.btn01:after {
	content: "";
	right: 20px;
	top: 50%;
	position: absolute;
    width: 10px;
    height: 10px;
    border-top: 1px solid #f19ca6;
    border-right: 1px solid #f19ca6;
    transform: rotate(45deg) translateY(-50%);
}

.blog_content a.btn02 { border: solid 1px #f19ca6; border-radius: 8px; box-shadow: 2px 2px 0px #f19ca6;}
.blog_content a.btn02:after {
	content: "";
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 7.5px 0 7.5px 10px;
	border-color: transparent transparent transparent #f19ca6;
}

.blog_content a.btn03 { background: #c8e1ee; color: #3c3c3c; padding: 10px 30px;}
.blog_content a.btn03:before { content: ""; position: absolute; top: 3px; right: 3px; bottom: 3px; left: 3px; border: solid 1px #fff;}
.blog_content a.btn03:after {
	content: "";
	right: 20px;
	top: 50%;
	position: absolute;
    width: 15px;
    height: 15px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-55%);
}

.blue_box { background: #e5f4f8; border-radius: 10px; padding: 1em;}
.blue_box p:last-child { margin-bottom: 0px;}


/* tag */
.tag li { display: inline-block; vertical-align: top; margin: 0px 10px 10px 0px;}
.tag li a { display: block; text-decoration: none; color: #3c3c3c; line-height: 1.5; padding: 3px 1.2em; border-right: solid 12px #f19ca6; background: #fcebee; transition: 0.2s;}
.tag li a:hover { transform: translate(2px,2px);}

/*WP用 投稿表示*/
img.aligncenter { display: block; margin: 0px auto 20px;}
img.alignright { margin: 0px 0 20px 20px; float: right;}
img.alignleft { margin: 0px 20px 20px 0; float: left;}

/* ページャー(アーカイブ) */
.pagination .number { position: absolute; left: 0px; top: 5px;}
.pagination span.current, .pagination a {
	margin: 0px 5px 8px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	min-width: 35px;
	height: 35px;
	line-height: 35px;
	padding: 0px 8px;
	background-color: #f0f0f0;
	color: #3c3c3c;
}
.pagination span.current, .pagination a:hover { background: #f19ca6; color: #fff;}

/* ページャー(シングル) */
.pager ul { display: flex; flex-wrap: wrap; justify-content: center; align-items: center;}
.pager li { margin: 0px 5% 5px;}
.pager a { color: #3c3c3c; display: block; position: relative;}
.pager a:hover { color: #f19ca6;}
.pager .previous a:before, .pager .next a:before { content: ""; position: absolute; top: 50%; transform: translateY(-50%); background: url("../images/blog/ico_prev.png") no-repeat center center; background-size: 100% auto; width: 17px; height: 17px;}
.pager .previous a:before { left: -25px;}
.pager .next a:before { right: -25px; transform: translateY(-50%) scale(-1,1);}

/* 関連記事 */
.blog_related > ul { display: flex; margin: auto -2%; flex-wrap: wrap;}
.blog_related > ul > li { width: 29.3333%; margin: 0px 2% 35px;}
.blog_related .cat_wrap a { padding: 3px 1em 1px;}
.blog_related img { border-radius: 10px;}

.breadcrumb { padding-left: 25px;}
.breadcrumb:before { content: ""; position: absolute; left: 0px; top: -0.1em; background: url("../images/common/ico_note.png") no-repeat center center; background-size: 100% auto; width: 17px; height: 28px;}


/*======================================
	背景
=======================================*/

.bgblue {background-color:#ddecfc;}
.bgyellow {background-color:#fffc00;}
.bgyellow2 {background-color:#fbfad0;}
.bgpink{background-color:#fde2fa;}
.bggreen{background-color:#e7fbdb;}
.bgred{background-color:red;}

/*======================================
	色
=======================================*/
.boxes{border: 1px dotted #777;padding:8px;}
.col-red {color:#f01c53;}
.col-red2 {color:#f01c1c;}
.col-red3 {color:#b02727;}
.col-blue {color:#3427b0;}
.col-blue2 {color:#2741b0;}
.col-blue3 {color:#183fe7;}
.col-pink{color:#f431a9;}
.col-pink2{color:#fb8174;}
.col-pink3{color:#ff7567;}
.col-yellow{color:#beae22;}
.col-yellow2{color:#e2cd17;}
.col-yellow3{color:#b3a63b;}
.col-green{color:#3bb357;}
.col-green2{color:#1e7132;}
.col-green3{color:#33840c;}
.col-purple{color:#861ddf;}
.col-purple2{color:#b16dea;}
.col-orange{color:#e49915;}
.col-mizu{color:#17cda0;}
.col-gray{color:#999;}
.col-gray2{color:#666666;}