@charset "utf-8";
/*
Theme Name: kidsprime
Template: lightning
*/
/*定型文*/

a,
a::before,
a::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all .3s;
  transition: all .3s;
  text-decoration: none!important;
}
/* other-style
----------------------------------------------- */
.MT0 { margin-top: 0px !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; }
.MT100 { margin-top: 100px !important; }

.MB0 { margin-bottom: 0px !important; }
.MB5 { margin-bottom: 5px !important; }
.MB10 { margin-bottom: 10px !important; }
.MB20 { margin-bottom: 20px !important; }
.MB30 { margin-bottom: 30px !important; }
.MB40 { margin-bottom: 40px !important; }
.MB50 { margin-bottom: 50px !important; }

.MR0 { margin-right: 0 !important; }
.MR10 { margin-right: 10px !important; }
.MR20 { margin-right: 20px !important; }
.MR30 { margin-right: 30px !important; }
.MR40 { margin-right: 40px !important; }
.MR50 { margin-right: 50px !important; }

.ML10 { margin-left: 0 !important; }
.ML10 { margin-left: 10px !important; }
.ML20 { margin-left: 20px !important; }
.ML30 { margin-left: 30px !important; }
.ML100 { margin-left: 100px !important; }

.PT0 { padding-top: 0px !important; }
.PT10 { padding-top: 10px !important; }
.PT20 { padding-top: 20px !important; }
.PT30 { padding-top: 30px !important; }
.PB0 { padding-bottom: 0px !important; }
.PB10 { padding-bottom: 10px !important; }
.PB20 { padding-bottom: 20px !important; }
.PB30 { padding-bottom: 30px !important; }
.PR10 { padding-right: 10px !important; }
.PR20 { padding-right: 20px !important; }
.PR30 { padding-right: 30px !important; }
.PL10 { padding-left: 10px !important; }
.PL20 { padding-left: 20px !important; }
.PL30 { padding-left: 30px !important; }
.PR10 { padding-right: 10px !important; }
.PR20 { padding-right: 20px !important; }
.PR30 { padding-right: 30px !important; }

.w10 { width:10%; }
.w20 { width:20%; }
.w30 { width:30%; }
.w40 { width:40%; }
.w45 { width:45%; }
.w50 { width:50%; }
.w55 { width:55%; }
.w60 { width:60%; }
.w70 { width:70%; }
.w80 { width:80%; }
.w90 { width:90%; }
.w100 { width:100%; }

.col-r { float:right!important; }
.col-l { float:left!important; }
a.text-none { text-indent: -9999px; }
.clear { clear:both; }
div, img { box-sizing: border-box; }

/* フォントサイズ変更 */
.fs10 { font-size: 10px !important;}
.fs12 { font-size: 12px !important;}
.fs13 { font-size: 13px !important;}
.fs18 { font-size: 18px !important;}
.fs30 { font-size: 30px !important;}
.fs120{ font-size: 120% !important;}
.fs140{ font-size: 140% !important;}


/* 文字位置 */
.center { text-align: center;}
.right { text-align: right;}
.left { text-align: left;}

.pc { display: block !important; }
.mb{ display: none !important; }

/* flex-box */
.flex { display: flex; }
.between { justify-content: space-between; }
.flex.center { align-items: center; }
.row-reverse { flex-direction: row-reverse; }
.flex.wrap { flex-wrap: wrap; }
.flex.start { align-items: flex-start; }
.flex.set2 > * { width: calc(100% / 2 - 15px) ; }
.flex.set3 > * { width: calc(100% / 3 - 10px) ; }
.flex.set4 > * { width: calc(100% / 4 - 10px) ; }

@media only screen and (max-width:640px){
.w40 { width:100%; }
.w45 { width:100%; }
.w50 { width:100%; }
.w55 { width:100%; }
.w60 { width:100%; }
.w70 { width:100%; }
.w80 { width:100%; }
.w90 { width:100%; }
.col-r { float:none!important; }
.col-l { float:none!important; }
.PL10 { padding-left: 0 !important; }
.PL20 { padding-left: 0 !important; }
.PL30 { padding-left: 0 !important; }
.PR10 { padding-right: 0 !important; }
.PR20 { padding-right: 0 !important; }
.PR30 { padding-right: 0 !important; }
.pc { display: none !important; }
.mb{ display: block !important; }
	}

div, img, a { box-sizing: border-box; }
a:hover { opacity: 0.8; }
a:focus { outline: none; }
li { list-style : none; }
ul { padding:0; margin: 0; }
.P80 { padding: 80px 0; }
.P50 { padding: 50px 0; }

body { font-family: verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif; }
.siteHeader_logo {
	float: none;
	display: block;
}
.siteHeader_logo img {
	max-height: 80px;
	display: block;
	margin: 0 auto;
}
.gMenu_outer {
	float: none;
	width: auto;
	display: block;
	margin: 0 auto;
}
.gMenu_outer nav {
	display: block;
}
.gMenu {
	margin: 0;
	float: none;
	display: flex;
	justify-content: center;
}
.gMenu > li .gMenu_name {
	font-size: 17px;
	display: block;
	white-space: nowrap;
}
.device-pc .gMenu > li a {
	padding-left: 2em;
	padding-right: 2em;
}
body.home {
	background: #fffdf4 url(images/bg_castle.png)no-repeat center bottom;
	background-size: 50%;
	background-attachment: fixed;
}
body.page-template, body.page-template-default {
	background: #fff url(images/bg_castle.png)no-repeat right bottom;
	background-size: 50%;
	background-attachment: fixed;	
}
.siteHeader {
	background: url(images/curtain_top.png)repeat-x top;
	box-shadow: none;
}
.curtain_R {
	position: fixed;
	right: 0;
	z-index: 100;
	height: 100vh;
}
.curtain_L {
	position: fixed;
	left: 0;
	z-index: 100;
	height: 100vh;
}
.main_vs {
	margin: -15% 0 0;
}
.main_vs img {
	width: 100%;
	margin: 0 auto;
	display: block;
}
.containerS {
	max-width: 980px;
	margin: 0 auto;
}
h2.ttl {
	border: none;
	text-align: center;
	font-size: 25px;
	font-weight: bold;
	padding: 0;
	margin: 0 0 50px;
}
h2.ttl span {
	display: block;
	padding: 0 0 10px;
	font-size: 20px;
}
h2.ttl span::after {
	content: "";
	background: url(images/ttl_dotted.png);
	width: 150px;
	height: 3px;
	display: block;
	margin: 10px auto;
}

.front_about p {
	text-align: center;
}
.front_garden {
	padding-top: -50px;
}
.bg_beg {
	background: #fffdf4;
	padding: 30px 0;
}

.front_program {
	background: url(images/bg_pastel.jpg);
	background-size: cover;
	border-bottom: 50px solid #fffdf4;
	border-left: 80px solid #fffdf4;
	border-right: 80px solid #fffdf4;
}
.program_box {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 0 50px;
}
.row-reverse { flex-direction: row-reverse; }
.program_box .programimg {
	width: 30%;
}
.program_box div {
	background: rgba(255,255,255,0.8);
	padding: 20px;
	width: 90%;
	font-size: 15px;
	border-radius: 20px;
}
.program_frag {
	height: 90px;
	margin: -30px 0 30px;
}
.program_box.unset .programimg {
	margin-right: -20%;
	position: relative;
}
.program_box.unset  div{
	padding-left: 22%;
}
.program_box.row-reverse .programimg {
	margin-left: -20%;
	position: relative;
}
.program_box.row-reverse  div{
	padding-right: 22%;
}

.price_set2 .price_box:nth-child(2) { border: 10px solid #addbf2; }
.price_set2 .price_box:nth-child(1) {
	border: 10px solid #fddfeb;
	text-align: center;
}

.price_box dl dt, .price_box dl dd {
	border: none;
}
.price_box dl {
	width: 48%;
	text-align: center;
	background: #fddfeb;
	padding: 30px 20px;
	border-radius: 10px;
}
.price_box dl dt {
	font-size: 20px;
	margin: 0 0 20px;
	color: #565656;
}
.price_box dl dd {
	font-size: 30px;
	font-weight: bold;
	text-decoration: ;
	border-bottom: 2px dotted #f36868;
	padding: 0 10px 3px;
	display: inline-block;
	color: #f36868;
}
.price_box {
	width: 49%;
	position: relative;
	font-size: 15px;
	margin: 0;
	padding: 50px 30px;
	box-sizing: border-box;
	background: none;
	border: 3px solid #337B9A;
	border-radius: 10px;
}
.price_box::after {
	background: #fff;
	border-radius: 10px;
	content: '';
	position: absolute;
	top: 9px;
	left: 10px;
	width: 101%;
	z-index: -1;
	height: 101%;
}
.price_box h3 {
	border: none;
	margin: 0 0 10px;
	font-weight: bold;
	font-size: 17px;
	padding: 10px 20px;
	background: #f5f5f5;
}
.price_box h3:after { display: none; }
a.more_arrow {
	color: #333;
	position: relative;
	text-align: center;
	display: block;
	font-weight: bold;
}
.more_arrow::after {
	content: '';
	position: absolute;
	right: -20px;
	display: block;
	-webkit-transform: skewX(45deg);
	transform: skewX(45deg);
	width: 115px;
	height: 11px;
	border-right: 2px solid #333;
	border-bottom: 2px solid #333;
	top: 30px;
	bottom: 0;
	margin: auto;
	left: 0;
	right: 0;
}

.front_news ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.front_news ul li {
	display: flex;
	width: 48%;
	position: relative;
	margin: 0 0 30px;
	background: #fffdf4;
	padding: 20px;
	border-radius: 20px;
	box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}
.front_news ul li img {
	width: 250px;
	padding-right: 20px;
}
.front_news ul li div a {
	color: #333;
}
.front_news ul li div p {
	line-height: 1.4;
	font-size:14px;
	margin: 0 0 5px;
}
p.cat {
	background: #ccc;
	color: #fff;
	display: inline;
	padding: 2px 10px;
	border-radius: 5px;
	margin: 0;
}
p.ttl {
	font-weight: bold;
	font-size: 17px !important;
	margin: 7px 0 !important;
}
p.time {
	color: #999;
	font-size: 12px !important;
}

.contact h2 img {
	height: 80px;
}
.contact_box {
	border: 3px solid #bdbdbd;
	padding: 30px;
	text-align: center;
	background: #fff;
}
.contact_box .flex {
	margin: 20px 0 0;
}
.tel, .mail { width: 50%; padding: 20px 30px; box-sizing: border-box; }
.tel img, .mail img {
	height: 50px;
	margin: 0 auto;
	display: block;
}
.tel .res_time {
	background: #a8e91e;
	border-radius: 10px;
	margin: 20px 0 0;
	padding: 5px 0;
}
.mail .res_time {
	background: #e8e02d;
	border-radius: 10px;
	margin: 20px 0 0;
	padding: 5px 0;
}
.tel {
	border-right: 4px dotted #333;
}

/*footer*/
.siteFooter {
	border-top: none;
	background: rgba(228,231,246,0.3);
}
footer h1 {
	font-size: 20px;
	font-weight: bold;
}
.footer_left img {
	width: 200px;
	margin: 0 0 20px;
}
.footer_right {
	width: 35%;
}
.footer_right a {
	color: #333;
}
.footer_right a::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f138"; 
 padding-right: 8px;
}
.copySection {
	padding: 7px 0 0;
	font-size: 12px;
	color: #565656;
}

/*タブレット横*/
@media only screen and (min-width: 768px) and (max-width: 1124px) {
.curtain_R { right: -40px; }
.curtain_L { left: -40px; }
}

/*タブレット縦とスマホ横*/
@media only screen and (min-width: 624px) and (max-width: 1020px) {
.curtain_R, .curtain_L { display: none; }
.siteHeader_logo img { max-height: 50px; }
.siteHeader { background-size: 100%; }
.main_vs { padding: 30px 0; }
.front_about { background-size: 100%; background-position-y: center; background-attachment: scroll; }
.containerS, .container { max-width: 90%; margin: 0 auto; padding: 0; }
.P80, .P50 { padding: 30px 0; }
#gMenu_outer { display: none; }
.tel img, .mail img { height: auto; }
.footer_right { display: none; }
.siteFooter { padding: 30px 0; }
.front_program { border-top: 20px solid #fff; border-bottom: 20px solid #fff; border-left: 20px solid #fff; border-right: 20px solid #fff; }
.price_box { width: 100%; margin: 0 0 20px; }
.price_box .flex dl { width: 100%; }
.price_box .flex { display: block; }
}


/*スマホ縦*/
@media only screen and (max-width: 623px) {
body.home:before{
  content:"";
  display:block;
  position:fixed;
  bottom:0;
  left:0;
  z-index:-1;
  width:100%;
  height:80vh;
  background:url(images/bg_castle.png) center no-repeat;
  background-size:cover;
}
body.page-template:before, body.page-template-default:before {
  content:"";
  display:block;
  position:fixed;
  bottom:0;
  left:0;
  z-index:-1;
  width:100%;
  height:80vh;
  background:url(images/bg_castle.png) right no-repeat;
  background-size:cover;
}	
body.home, body.page-template { background: none; }
.curtain_R, .curtain_L { display: none; }
.siteHeader_logo img { max-height: 50px; }
.siteHeader { background-size: 100%; }
#gMenu_outer { display: none; }
.main_vs { margin: -30% 0 0; padding: 30px 0; }
.front_about { background-size: 100%; background-position-y: center; background-attachment: scroll; }
.containerS, .container { max-width: 90%; margin: 0 auto; padding: 0; }
.P80, .P50 { padding: 30px 0; }
.front_program { border: 0; background-size: 100%; }
.program_box { display: block; }
.program_frag { height: auto; margin: 0 0 20px; }
.program_box.unset .programimg { margin-right: auto; position: static; }
.program_box.row-reverse .programimg { margin-left: auto; position: static; }
.program_box .programimg { width: 70%; display: block; margin: 0 auto; }
.program_box.unset div { padding-left: 20px; }
.program_box.row-reverse div { padding-right: 20px; }
.program_box div { padding: 50px 20px 20px 20px; width: 100%; font-size: 14px; margin-top: -50px; }
.flex { display: block; }
.price_box { width: 100% !important; font-size: 15px; padding: 30px; margin: 0 0 20px; }
.price_box dl { width: 100%; padding: 20px; }
h2.ttl { font-size: 20px; margin: 0 0 30px; }
.front_news ul { display: block; }
.front_news ul li { display: block; width: 100%; margin: 0 0 20px; }
.front_news ul li img { width: 100%; padding-right: 0; margin: 0 0 20px; }
.contact h2 img { height: auto; }
.contact_box { padding: 20px; }
.tel { border-right: none; border-bottom: 2px dotted #333; }
.tel, .mail { width: 100%; padding: 20px; }
.tel img, .mail img { height: auto; }
.section.siteFooter { padding: 20px 0 10px; }
.footer_right { display: none; }
i.PL10 { padding-left: 10px !important; }
}


/*IE専用*/
@media all and (-ms-high-contrast: none){
}

/*下層ページ*/
.page-header {
	background: none;
	color: #333;
}
section {
	background: #fff;
	padding: 50px;
	border-radius: 30px;
	margin-bottom: 50px;
	box-shadow: rgba(136, 165, 191, 0.2) 6px 2px 16px 0px, rgba(255, 255, 255, 0.5) -6px -2px 16px 0px;
}
.breadSection {
	border-bottom: none;
}

.staff_box {
	background: #fff;
	padding: 30px;
	box-sizing: border-box;
	width: 48%;
	border-radius: 17px;
	margin: 0 0 30px;
}
.staff_profile {
	display: flex;
	margin: 0 0 30px;
}
.staff_box img {
	width: 40%;
	padding-right: 20px;
}
.staff_profile h2 {
	border: none;
	margin: 0;
	padding: 0;
	color: #7786c2;
	font-weight: bold;
}
.staff_profile h2 span {
	display: block;
	font-size: 20px;
	padding: 0 0 13px;
	font-weight: normal;
}
.comment {
	position: relative;
	display: inline-block;
	margin: 1.5em 0;
	padding: 17px 20px;
	min-width: 120px;
	max-width: 100%;
	color: #555;
	font-size: 16px;
	background: #e0edff;
	border-radius: 10px;
	width: 100%;
	text-align: center;
}
.comment:before {
	content: "";
	position: absolute;
	top: -29px;
	left: 50%;
	margin-left: -15px;
	border: 15px solid transparent;
	border-bottom: 15px solid #e0edff;
}

.comment p {
	margin: 0;
	padding: 0;
}
.table_ble th {
	background: #f1f1f1;
	color: #565656;
}
h2 {
	padding: 23px 20px;
	border: none;
	font-size: 26px;
	font-weight: bold;
}
h2.ble { background: #addbf2; }
h2.pnk { background: #fddfeb; }
table th { background: #f5f5f5; }
table td { background: #fff; }

#sitemap_list {
	background: none !important;
}


.page-header_pageTitle {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}
.page-header_pageTitle::before {
	content: "";
	background: url(images/ttl_L.png)no-repeat;
	width: 100px;
	height: 45px;
	margin-right: 18px;
	display: inline-block;
	background-size: contain;
}
.page-header_pageTitle::after {
	content: "";
	background: url(images/ttl_R.png)no-repeat;
	width: 100px;
	height: 45px;
	margin-left: 18px;
	display: inline-block;
	background-size: contain;
}

section.facility_box:nth-child(2) { background: #ffe3e3; }
section.facility_box:nth-child(3) { background: #e3faff; }
section.facility_box:nth-child(4) { background: #d6ffe0; }
section.facility_box:nth-child(5) { background: #fffbd6; }

h4 {
	color: #7abc84;
	border-bottom: 2px dotted #7abc84;
	padding: 10px 0 8px;
	margin: 0 0 15px;
	font-size: 20px;
}
h4::before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f024"; 
 padding-right: 8px;
}
a.more {
	color: #333;
	background: #a8e91e;
	padding: 10px 20px;
	margin: 0 0 30px;
	display: inline-block;
	border-radius: 20px;
}
a.more:hover {
	background: #e8e02d;
	opacity: 10;
}
div.flow { position: relative; }
div.flow::before {
	position: absolute;
	z-index: 0;
	top: 0;
	left: 35%;
	width: 12px;
	height: 98%;
	margin-left: 0px;
	background: #7abc84;
	content: '';
}
.flow img {
	position: relative;
	z-index: 10;
}
dl.price {
	margin: 0 0 10px;
}
.price dt {
	border: none;
	background: #fff;
	padding: 10px 20px;
	font-size: ;
	font-size: 15px;
}
.price dd {
	border: none;
}
.box {
	position: relative;
	border: none;
	border-radius: 8px;
	background: #e0f2ee;
	padding: 20px;
}
.box::before {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: calc(100% - 8px);
	height: calc(100% - 8px);
	border: 1px dashed #6cc3ae;
	border-radius: 6px;
	pointer-events: none;
	content: '';
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
h3 {
	text-align: center;
	border:none;
}
h3:after { border: none; }
h3 span {
	position: relative;
	display: inline-block;
	padding: 0 80px;
	text-align: center;
	font-size: 25px;
	border: none;
}
h3 span::before, h3 span::after {
	position: absolute;
	top: calc(50% - 0px);
	width: 70px;
	height: 6px;
	content: '';
	border-top: dotted 7px #333;
	border-bottom: 0;
}
h3 span:before {
	left: 0;
}
h3 span:after {
	right: 0;
}
input.more {
	margin: 30px auto 0;
	display: block;
	border: none;
	width: 200px;
	padding: 15px 0;
}

/*タブレット縦とスマホ横*/
@media only screen and (min-width: 624px) and (max-width: 1020px) {
.flex.set3 .box { width: 100%; margin: 0 0 20px; }
.staff_profile { display: block; }
.staff_box img { width: 100%; padding-right: 0; }
}

/*スマホ縦*/
@media only screen and (max-width: 623px) {
section { padding: 20px; margin-bottom: 30px; }
div.flow::before { left: 0; width: 7px; height: 90%; }
.flex.set2 > *, .flex.set3 > *, .flex.set4 > * { width: calc(100% / 1) !important; }
.flow .flex div { padding-left: 30px; margin: 20px 0; }
.box { margin: 0 0 20px; }
h3 span { font-size: 20px; padding: 0 50px; }
h3 span::before, h3 span::after { width: 45px; }
.page-header_pageTitle::before, .page-header_pageTitle::after { width: 70px; height: 35px; }
h2 { padding: 15px 10px; font-size: 18px; }
h3 { margin: 0 0 10px; }
a.more { margin: 0 0 10px; }
.staff_box img { width: 100%; padding-right: 0; margin: 0 0 10px; }
.staff_profile { display: block; margin: 0 0 10px; }
}