@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@600&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;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
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;
}
strong { font-weight: bold;}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
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;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #000;
	padding: 0;
	max-width: 780px;
	margin: auto;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}
* {
	-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: #1c1c1c;
	font-size: 1em;
	line-height: 1.75;
	position: relative;
	min-width: 1030px;
}

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

a { color: #1c1c1c; text-decoration: underline;}
a:hover { color: #e40070; text-decoration: none;}

/* 文字装飾 */
.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;}
.fo09 { font-size: 0.9em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !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;}
.fo25 { font-size: 2.5em !important;}

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

.fo_white { color: #fff;}
.fo_red { color: #e40070;}
.fo_gray { color: #4d4d4d;}

.fo_baloo { font-family: 'Baloo 2', cursive;}

/* ボックス */
.container {
	width: 1030px;
	padding: 0px 15px;
	margin: 0px auto;
}

.back_white { background-color: #fff;}
.back_gray { background-color: #f2f2f2;}
.back_yellow { background-color: #ffffad;}
.back_blue { background-color: #bdeef5;}

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

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

.bold { font-weight: 900;}

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

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

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

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

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

/* 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-50 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}

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

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

.header .box { display: flex; justify-content: space-between; align-items: flex-end; padding: 15px 0px;}

/* ------------------------
	グローバルナビ
------------------------ */

.gn { display: flex;}
.gn li:not(:first-child) { margin-left: 40px;}
.gn a { font-weight: bold; text-decoration: none;}
.gn a:before {
	content: "";
	display: inline-block;
	margin-right: 0.4em;
    width: 10px;
    height: 10px;
    border-top: 3px solid #e40070;
    border-right: 3px solid #e40070;
    transform: rotate(45deg);
}



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

.footer .back_yellow { padding: 50px 0px;}
.footer .back_yellow .pos_ab { right: 15px; bottom: -50px;}
.footer .back_yellow ul { display: flex; align-items: flex-end; justify-content: center;}
.footer .back_yellow li:first-child { margin-right: 20px;}
.footer .btn_area a { display: inline-block; font-size: 1.2em; line-height: 1.2; color: #fff; font-weight: bold; text-decoration: none; background-color: #e40070; border-radius: 60px; width: 410px; padding: 18px; position: relative; box-shadow: 0px 7px 0px #ab0054; transition: 0.3s;}
.footer .btn_area a:after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	display: inline-block;
	margin-right: 0.4em;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg) translateY(-60%);
	transition: 0.3s;
}
.footer .btn_area a:hover { transform: translateY(4px); box-shadow: 0px 3px 0px #ab0054;}

.footer .gn { justify-content: center; padding: 20px 0px;}
.footer .gn li { margin: 0px 1.5em;}

.footer .copy { background-color: #f499c6; padding: 3px;}

.pagetop { position: fixed; right: 30px; bottom: 0px; padding-bottom: 40px; z-index: 9999;}

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

	トップページ

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

.mainimage { background: url("../images/top/mainimage_bg.jpg") no-repeat center top; height: 500px; background-size: cover; padding-top: 70px;}
.mainimage .pos_ab { bottom: 0px; left: 50%; transform: translateX(-670px);}

.top_sec01 { background: url("../images/top/top_sec01_bg01.png") no-repeat left top, url("../images/top/top_sec01_bg02.png") no-repeat right top #ffff99; padding-top: 40px;}
.top_sec01 .list01 { display: flex; justify-content: space-between;}
.top_sec01 .list02 { display: flex;}
.top_sec01 .list02 li { width: 33.3333%;}
.top_sec01 .list02 img { width: 100%; height: auto;}

.top_sec02 { padding: 60px 0px;}
.top_sec02 ul { display: flex; justify-content: space-between;}
.top_sec02 li { width: 300px; height: 300px; border-radius: 20px; display: flex; align-items: center; flex-wrap: wrap; padding: 35px;}
.top_sec02 li > * { width: 100%;}
.top_sec02 h3 { font-size: 1.75em;}

.top_sec03 { padding: 60px 0px 50px;}
.top_sec03 dl { display: table; width: 100%; max-width: 800px; margin: 0px auto 15px;}
.top_sec03 dl:last-of-type { margin-bottom: 50px;}
.top_sec03 dt, .top_sec03 dd { display: table-cell; vertical-align: top;}
.top_sec03 dt { width: 7em;}

.top_sec04 iframe { width: 100%; height: 420px; vertical-align: bottom;}

.nosya { background-size: 16px 16px; background-color: #f2f2f2; background-image: radial-gradient(#fff 15%, transparent 20%), radial-gradient(#fff 15%, transparent 20%); background-position: 0 0, 8px 8px; padding: 80px 0px 60px;}
.nosya .box { max-width: 960px; margin: auto; border-radius: 20px; padding: 50px 30px;}
.nosya div.pos_ab { left: -20px; top: -22px;}
.nosya div.pos_ab > div { display: block; background-color: #e40070; font-size: 1.4em; padding: 6px 25px 6px 35px;}
.nosya div.pos_ab > div:before, .nosya div.pos_ab > div:after { content: ""; position: absolute;}
.nosya div.pos_ab > div:after { background: url("../images/top/nosya_ttl_bg.png") no-repeat left 50%; width: 14px; height: 100%; background-size: 100% 100%; right: -14px; top: 0px;}
.nosya div.pos_ab > div:before {
	bottom: -22px;
	left: 0px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 22px 22px 0;
	border-color: transparent #9e005c transparent transparent;
}
.nosya div.pos_ab p { font-weight: bold;}
.nosya .img01 { right: -20px; top: -20px;}
.nosya .box02 { display: flex; justify-content: space-between;}
.nosya .box02 figure { width: 390px;}
.nosya .box02 .box_inner { width: 480px;}
.nosya .fo_red p { font-size: 1.7em; line-height: 1.4; font-weight: bold;}


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

	下層ページ

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

.show_sp { display: none;}

.over_hidden { overflow: hidden;}

.underline { background: linear-gradient(transparent 60%, #fff000 0%);}

.more_btn a {
	padding: 10px 40px;
	min-width: 300px;
	text-align: center;
	letter-spacing: 0.05em;
	text-decoration: none;
	color: #e40070;
	background-color: #fff;
	border: 2px solid #e40070;
	font-weight: bold;
	display: inline-block;
	border-radius: 40px;
	transition: all 0.2s ease-in-out;
	position: relative;
	overflow: hidden;
}
.more_btn a:after {
	content: "";
	position: absolute;
	right: 20px;
	top: 50%;
	display: inline-block;
	margin-right: 0.4em;
    width: 10px;
    height: 10px;
    border-top: 3px solid #e40070;
    border-right: 3px solid #e40070;
    transform: rotate(45deg) translateY(-60%);
	transition: 0.3s;
}
.more_btn a:before {
	content: "";
	background-color: rgba(255, 255, 255, 0.5);
	height: 100%;
	width: 3em;
	display: block;
	position: absolute;
	top: 0;
	left: -4.5em;
	transform: skewX(-45deg) translateX(0);
	transition: none;
}
.more_btn a:hover { background-color: #e40070; color: #fff;}
.more_btn a:hover:before { transform: skewX(-45deg) translateX(800%); transition: all 0.5s ease-in-out;}
.more_btn a:hover:after { border-color: #fff;}

.pagettl { padding: 50px 0px 40px;}

.heading_underline span { font-size: 2em; padding: 0px 0.2em; letter-spacing: 0.05em;}

.table_bordered { width: 100%;}
.table_bordered th, .table_bordered td { vertical-align: middle; padding: 15px; border-bottom: solid 1px #999999;}
.table_bordered tr:last-child th, .table_bordered tr:last-child td { border-bottom: none; padding-bottom: 0px;}
.table_bordered th { font-weight: bold; text-align: right; width: 210px; padding-right: 50px;}

.breadcrumb { font-size: 0.9em; padding: 3px 15px;}


/* ------------------------
	about
------------------------ */

.about_sec01 { padding: 50px 0px; position: relative; z-index: 10;}
.about_sec01 .box01 { max-width: 900px; border-radius: 30px; padding: 50px; margin: auto;}
.about_sec01 table { max-width: 600px; margin: auto;}

.about_sec01 .bg { background-image: url("../images/about/about_bg.png"), radial-gradient(rgb(255, 255, 255) 15%, transparent 20%), radial-gradient(rgb(255, 255, 255) 15%, transparent 20%); background-size: auto 100%, 20px 20px, 20px 20px; background-position: center top, 0 0, 10px 10px; background-color: #f2f2f2; background-repeat: no-repeat, repeat, repeat; padding-top: 30px;}
.about_sec01 .bg p { max-width: 1450px; margin: auto;}

.about_sec01 .box02 { max-width: 1140px; margin: auto; padding: 0px 15px; display: flex; justify-content: space-between;}
.about_sec01 .box02 div { width: 48%; max-width: 530px;}
.about_sec01 .box02 figcaption { top: -30px; left: 50%; transform: translateX(-50%);}
.about_sec01 .box02 figcaption > span {
	display: inline-block;
	position: relative;
	height: 45px;
	text-align: center;
	box-sizing: border-box;
}
.about_sec01 .box02 figcaption > span:before {/*左側のリボン端*/
	content: '';
	position: absolute;
	width: 10px;
	bottom: -15px;
	left: -25px;
	z-index: -2;
	border: 20px solid #cc0066;
	border-left-color: transparent;/*山形に切り抜き*/
}
.about_sec01 .box02 figcaption > span:after {/*右側のリボン端*/
	content: '';
	position: absolute;
	width: 10px;
	bottom: -15px;
	right: -25px;
	z-index: -2;
	border: 20px solid #cc0066;
	border-right-color: transparent;/*山形に切り抜き*/
}
.about_sec01 .box02 figcaption > span span {
	display: inline-block;
	position: relative;
	margin: 0;
	padding: 0 1.2em;
	line-height: 45px;
	color: #FFF;
	background: #e40070;
	font-weight: bold;
	font-size: 1.55em;
	letter-spacing: 0.05em;
}
.about_sec01 .box02 figcaption > span span:before {
	position: absolute;
	content: '';
	top: 100%;
	left: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-right: solid 15px #9e005d;/*左の折り返し部分*/
}
.about_sec01 .box02 figcaption > span span:after {
	position: absolute;
	content: '';
	top: 100%;
	right: 0;
	border: none;
	border-bottom: solid 15px transparent;
	border-left: solid 15px #9e005d;/*右の折り返し部分*/
}

.about_sec02 { padding: 50px 0px;}
.about_sec02 .box01 { border-radius: 30px; padding: 60px;}
.about_sec02 ul { display: flex; justify-content: center;}
.about_sec02 li:first-child { margin-right: 5%;}

.about_sec03 iframe { width: 100%; height: 400px; vertical-align: bottom;}

@media only screen and (min-width: 1500px) {
	.about_sec01 .bg { background-position: right top, 0 0, 10px 10px;}
}


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

.con_sec01 { padding: 50px 0px 60px;}
.con_sec01 dl { display: flex; border-radius: 20px; padding: 40px; align-items: center; justify-content: center;}
.con_sec01 dt { margin-right: 15px;}

.contact_box { max-width: 800px; margin: auto;}
.contact_box table { width: 100%;}
.contact_box th, .contact_box td { padding: 15px 0px; vertical-align: middle;}
.contact_box tr:last-child th { vertical-align: top;}
.contact_box th { text-align: right; padding-right: 20px; font-weight: bold;}
.contact_box td { width: 600px;}
.contact_box input[type="text"], .contact_box input[type="email"], .contact_box input[type="tel"], .contact_box textarea, .contact_box select { width: 100%; border: none; padding: 7px; font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 16px; background-color: #f0f0f0;}
.contact_box .width_auto input[type="text"], .contact_box .width_auto select { width: auto;}
.contact_box .hissu, .contact_box .ninni { display: inline-block; vertical-align: middle; font-size: 0.75em; background-color: #e40070; color: #fff; line-height: 1.6; padding: 0px 0.5em; margin-left: 1em;}
.contact_box .ninni { background-color: #999999;}
.contact_box .btn_area span {
	display: inline-block;
	position: relative;
	margin: 0px 10px 15px;
}
.contact_box .btn_area span:after {
	content: "";
	right: 20px;
	top: 40%;
	position: absolute;
    width: 10px;
    height: 10px;
    border-top: 2px solid #e40070;
    border-right: 2px solid #e40070;
    transform: rotate(45deg);
	transition: 0.3s;
}
.contact_box .btn_area span:hover:after { border-color: #fff;}
.contact_box .btn_area input {
	display: inline-block;
	color: #e40070;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: bold;
	font-size: 1.2em;
	letter-spacing: 0.1em;
	width: 390px;
	padding: 13px 30px;
	border: solid 2px #e40070;
	border-radius: 60px;
	background: none;
	cursor: pointer;
	-webkit-appearance: none;
	transition: 0.3s;
}
.contact_box .btn_area input:hover { color: #fff; background-color: #e40070;}
.contact_box .btn_area input:focus { outline: none;}

.mw_wp_form_confirm .confirm_hidden { display: none;}
.confirm_show { display: none !important;}
.mw_wp_form_confirm .confirm_show { display: inline-block !important;}

.contact_box .box { border: solid 1px #999; padding: 15px; height: 170px; overflow-y: scroll;}

.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;
}

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

.archive { display: flex; flex-wrap: wrap; margin: auto -1%; line-height: 1.6;}
.archive li { width: 30.3333%; margin: 0px 1.5% 50px;}

.single_wrap h1 { border-bottom: solid 5px #bdeef5; font-size: 1.7em; padding-bottom: 5px;}

.single_article h2 {
	display: inline-block;
	background-color: #fff000;
	color: #e40070;
	font-weight: bold;
	font-size: 1.5em;
	line-height: 1.5;
	padding: 0px 0.3em;
	margin-bottom: 30px;
	clear: both;
}
.single_article h3 {
	color: #e40070;
	font-size: 1.4em;
	font-weight: bold;
	line-height: 1.4;
	padding-left: 0.3em;
	border-left: solid 6px #e40070;
	margin-bottom: 20px;
	clear: both;
}
.single_article h4 {
	display: inline-block;
	font-size: 1.2em;
	font-weight: bold;
	line-height: 1.4;
	background: linear-gradient(transparent 70%, #fff000 0%);
	margin-bottom: 20px;
	clear: both;
}
.single_article h5,
.single_article h6 {
	font-size: 1.1em;
	font-weight: bold;
	margin-bottom: 20px;
	clear: both;
}

.single_article strong { font-weight: bold;}
.single_article em { font-style: italic;}
.single_article blockquote {
	background-color: #fafafa;
	border: solid 1px #fff;
	outline: solid 1px #ccc;
	padding: 15px;
	margin-bottom: 30px;
}

.single_article ul { padding-left: 20px; margin-bottom: 30px;}
.single_article li { list-style: outside disc;}

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

.single_article table { width: 100%; border: solid 1px #ccc; margin-bottom: 30px;}
.single_article th,
.single_article td { vertical-align: middle; padding: 10px; border: solid 1px #ccc;}
.single_article th {
	background-color: #898989;
	color: #fff;
	font-weight: bold;
	text-align: center;
}

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

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

/* ページャー(シングル) */
.pager li {
	display: inline-block;
	vertical-align: middle;
}
.pager .previous a, .pager .next a { text-decoration: none;}
.pager .previous, .pager .next { position: absolute; top: 50%; transform: translateY(-50%);}
.pager .previous { left: 0px;}
.pager .next { right: 0px;}
.pager .previous a:before, .pager .next a:after { color: #e40070; font-family: 'Baloo 2', cursive; font-size: 1.5em; line-height: 0.7; position: relative; top: 0.1em;}
.pager .previous a:before { content: "<< ";}
.pager .next a:after { content: " >>";}

/* ページャー(アーカイブ) */
.pagination .number {
	margin-right: 15px;
	display: inline-block;
	vertical-align: middle;
}
.pagination span.current, .pagination a {
	margin: 0px 7px 5px;
	display: inline-block;
	vertical-align: middle;
	min-width: 40px;
	height: 40px;
	border-radius: 100%;
	text-align: center;
	color: #e40070;
	border: solid 2px #e40070;
	text-decoration: none;
	font-size: 1.8em;
	line-height: 37px;
}
.pagination a.no_border { border: none;}
.pagination span.current, .pagination a:hover { color: #fff; background-color: #e40070;}
