@media(max-width:768px){
	body{
		font-size:9.5px;
		line-height:14px;
	}
	body #content{
		line-height:1.5;
	}
}
p{
    margin: 7px 0;
}
p:last-child{
    margin-bottom: 0
}
#content{
	line-height:1;
}
/*.subPage #mainVisual .topActionButton {
  position: absolute;
  top: 50px;
}*/
.subPage #mainVisual .fixed {
  position: fixed;
  top: 65px;
  right: 50px;
}

#container.staff #mainVisual{
	background: url("./library/images/page/main-visual1.jpg") no-repeat center;
	background-size:cover
}
#container.about #mainVisual,
#container.point #mainVisual,
#container.childcare #mainVisual,
#container.facility #mainVisual{
	background: url("./library/images/page/main-visual3.jpg") no-repeat 70%;
	background-size:cover
}
#container.schedule #mainVisual{
	background: url("./library/images/page/main-visual4.jpg") no-repeat 85%;
	background-size:cover
}
#container.price #mainVisual{
	background: url("./library/images/page/main-visual5.jpg") no-repeat 80%;
	background-size:cover
}
#container.faq #mainVisual{
	background: url("./library/images/page/main-visual6.jpg") no-repeat 60%;
	background-size:cover
}
#container.blog #mainVisual{
	background: url("./library/images/page/main-visual7.jpg") no-repeat 60%;
	background-size:cover
}
#container.hanakichi #mainVisual{
	background: url("./library/images/page/main-visual-hanakichi.jpg") no-repeat 60%;
	background-size:cover
}

/******* about *******/

.subPage #content{
	background: url("./library/images/page/about-bg-1.png") no-repeat;
}

.subPage #content.aboutContent #main{
	background: url("./library/images/page/about-bg-2.png") no-repeat center 145px;
}
.subPage h4{
    font-size:2.1em;
    line-height:2em;
    font-weight:bold;
    margin-bottom:20px
}
.subPage h5{
	font-size:1.9em;
	line-height:1.8;
	font-weight:bold;
	margin-bottom:8px
}
.subPage .small{
	font-size: 0.8rem;
}
.breadcrumb{
	margin-top: 20px;
}
.breadcrumb li{
	display: inline;
	font-size: 1.2em;
	margin-right:10px
}
.breadcrumb a{
	margin-right:10px
}
.subPageWrap{
	margin-top:58px;
}
.titleBlock{
	position: relative;
}
.titleBlock > div{
	display: inline-block;
}
.pageTitle h2{
	line-height:1;
	font-size: 2.5em;
    font-weight: bold;
    margin-bottom: 15px;
    margin-top: 0px;
}
.pageTitle div{
	font-size: 1.3em;
	color: #959595;
}
.internalLink{
	position: absolute;
    top: 30px;
    right: 0;
    font-size: 1.5em;
}
#content .internalLink a{
	font-size: 1em;
	font-weight: bold;
	margin-left: 25px;
	margin-right:15px;
	padding-left:20px;
	background:url("library/images/page/aAllow.png") no-repeat;
	background-position:0 5px;
	color:#222;
	text-decoration:none
}
.internalLink:hover{
	color:#222
}
.subPageWrap{
	padding-bottom:30px
}
@media (max-width: 1029px) {
	#content .internalLink{
		display: none;
	}
	.subPageWrap{
		padding-bottom:30px
	}
}
.descBlock{
	width: 570px;
    margin-left: auto;
    margin-right: 0;
    margin-top: 70px;
    margin-bottom: 100px;
}
.descBlock h4{
	font-size: 2.6em;
    font-weight: bold;
    line-height: 1.7em;
    margin-top: 0;
    margin-bottom: 20px;
}
.descBlock p{
	font-size: 1.5em;
    line-height: 1.8em;
	margin-bottom: 18px;
}
.logoBlock{
	height: 334px;
	border: 1px solid #e3f4f9;
	position: relative;
	overflow: hidden;
	margin-top: 64px;
}
.logoBlock--lg{
	height: 450px;
}
.logoBlock .logo{
	width: auto;
    text-align: center;
    height: 500px;
    border-radius: 0 250px 250px 0;
    background: #fff;
    position: absolute;
    top: 50px;
    bottom: 0;
    margin: auto;
		z-index: 2;
}
.logoBlock .logo img{
	max-width:80%;
	height:auto
}
.logoBlock img{
	height: 157px;
	margin-top: 146px;
}
.logoBlock .logoText{
	position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    background: #e3f4f9;
    height: 100%;
    z-index: 1;
    padding-right:20px
}
.about-ichirin .logoBlock{
  border: 1px solid #fff1d6;
}
.about-ichirin .logoBlock .logo{
  width: 35%;
}
.about-ichirin .logoBlock .logo img{
  max-width: 40%;
}
.about-ichirin .logoBlock .logoText{
  background: #fff1d6;
}
.logoBlock .logoTextGroup{
	margin-bottom: 24px;
}
@media ( min-width:1030px){
	.logoBlock .logoText{
		padding:20px 50px 0 30px
	}
}
.logoBlock .logoTextInner{
	margin-left: 345px;
	overflow-y: auto;
    height: 100%;
}
.logoBlock h4{
	margin-top: 30px;
	margin-bottom: 20px;
	padding-bottom: 12px;
	margin-left: -100px;
    padding-left: 100px;
	font-size: 2.1em;
	font-weight: bold;
	border-bottom: 2px solid #fff;
}
.logoBlock p{
	font-size: 1.5em;
    line-height: 1.5;
    color: #666666;
}
#price h3, 
#company h3{
	font-size: 2.4em;
	line-height: 1.3;
	font-weight: bold;
	margin-top: 0px;
	color:#222;
	padding-bottom:10px;
	margin-bottom:15px;
	border-bottom:3px solid #41C9E3;
	display:inline-block;
}
#price h3 span{
	font-weight: bold;
	font-size: 0.5em;
}
#price .corp .corpPart{
	font-size:1.5em;
	line-height:1.8em;
    width: 100%;
}
#price .corp h5{
	font-size:1.05em;
	font-weight:bold;
	margin-bottom:5px;
	letter-spacing:0;
	border-bottom:1px solid #eee
}
#price .corp p{
	font-size:1.5em;
	line-height: 1.6;
}
#price .corp .linkText{
	font-size:0.95em
}
.priceDiscription{
	font-size:1em;
	margin-top:20px;
	margin-bottom: 20px;
	background: #fafafa;
	padding: 10px 20px;
	border-bottom: 0;
}
#price .table-text{
	font-size: 16px;
	text-align: right;
	padding-right: 10px;
}
#price .price-mini{
    font-size: 0.9rem;
    font-weight: normal;
    margin-left: 3px;
    color: #999;
}
#continue > p{
	font-size: 1.5em;
    color: #6a6a6a;
    line-height: 1.5em;
}
#continue .condition{
	border: 1px solid #b2c7cc;
    padding: 20px;
    font-size: 1.5em;
    font-weight: bold;
    color: #424e62;
    text-align: center;
}
.condition span{
	margin-right: 64px;
}
.condition span:last-child{
	margin-right: 0px;
}
.commentary{
	padding: 22px 30px;
    background: #eef4f8;
    margin-top: 20px;
    margin-bottom: 66px;
}
.commentary h4{
	font-size: 1.6em;
    margin: 0;
}
.commentary p{
	font-size: 1.5em;
    line-height: 1.6em;
    margin-bottom: 0;
}
.price-subtext{
	padding: 20px;
	border: 1px solid #ccc;
	margin-top: 10px;
	font-size: 0.95em;
}
@media(max-width:767px){
	#price #menu4 span{
		display:block;
		margin-left:0
	}
}

/******* price *******/
#content.priceContent{
	background: url("./library/images/page/about-bg-1.png") no-repeat;
}
.page .groupBlock {
	padding-bottom:50px;
	margin-bottom:50px
}
.page .groupBlock > div{
	margin-bottom: 30px;
}
.page .groupBlock > div:last-child{
	margin-bottom: 0px;
}
.page .groupBlock .overline{
	text-decoration: line-through;
	font-weight:normal;
	color:#bbb !important
}
#price .h3{
	display: inline-flex;
	gap: 20px;
	align-items: center;
	margin-bottom: 0;
}
.price .price-header{
	margin-bottom: 20px;
}
.price .header-text{
	font-size: 1.4em;
	border-radius: 50vw;
	padding: 10px 20px;
	background: #ffebe7;
	color: #fc522b;
	font-weight: bold;
}
.price .header-text.gray{
	background: #fafafa;
	color: #888;
	font-weight: normal;
}
@media (max-width: 1029px) {
	#price .h3{
		margin-bottom: 10px;
	}
	#price .header-text{
		float: unset;
	}
}
.page #price .groupBlock th.span{
	font-size: 1.5em;
}
.page table{
	width: 100%;
	font-weight: bold;
	text-align: center;
}
.page tbody{
	border:2px solid #ccc;
	border-top: 0;
}
.page caption{
	caption-side: bottom;
    text-align: right;
    font-size: 1.2em;
    color: #919395;
    margin-top: 12px;
}
.page th.age,.page th.label,.page th.span,.page td{
	padding: 1.5em 0;
	font-size: 1.5em;
	border-top: 1px solid #ccc;
}
.page tr:last-child td,
.page tr:last-child th{
	border-bottom: 1px solid #ccc;
}
#price td{
	border-right: 2px solid #ccc;
}
#price td span{
	font-weight: normal;
}
#price img:not(.img-fluid){
	width: 100%;
}
.page th.age{
	width: calc(100% / 6);
}
.page th.labelHead{
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	font-size: 1.6em;
	font-weight: bold;
}
.page thead th.age{
	background: #4b656c;
	color: #fff;
	border:1px solid #96A3A7 !important;
	border-right:2px solid #96A3A7 !important;
}
.page thead th.age:last-child{
	border-right:0 !important;
}
.page tbody th.label{
	background: #41C9E3;
	color: #fff;
	width: 8.66%;
	/*border-bottom:1px solid #CE5839*/
	padding: 1em 0.5em;
}
.page tbody th.label a{
	color: #fff;
	&:hover{
		color: #217282;
	}
}
.page .table-col6 th.label{
	width: calc(100% / 6);
	line-height: 1.5;
}
#menuTime th.label,
#menuMonth th.label{
	width: 15%;
}
.page tbody th.span{
	background: #41C9E3;
	color: #FFF;
	font-weight: normal;
	text-align:left;
	width: 8.66%;
}
.page tbody th.label small{
	display: block;
	font-size: clamp(10px,1.5vw,12px);
	margin-top: 0.5em;
}
@media (max-width: 1029px) {
	.page tbody th.label{
		width: 22%;
	}
	.page tbody th.span{
		width: 12%;
	}
}
.supplyRow tbody th.label{
	width: inherit;
}
.page td{
	font-weight: bold;
	color: #595e63;
}
.page .descList{
	font-size: 1.5em;
	margin-top: 0;
	line-height: 1.6;
}
.page .numberList{
	font-size: 1.5em;
}
.price .descList .big{
	font-weight:bold;
	margin-bottom:10px
}
.price .descList .discount{
	color:#41C9E3;
	font-weight:bold;
	margin-top: 0;
}
.price .expList:first-child{
	margin-top: 0;
}
.price .descList:last-child,
.price .expList:last-child{
	margin-bottom: 0;
}
.price .expList h6{
    font-size: 0.9rem;
    margin-bottom: 15px;
}
.price .descList .discount li{
	list-style: none;
	margin-left: 0;
}
.page li,.single li{
	line-height: 1.5em;
}
.page li ul{
	font-size: 0.9em;
	margin-left: 5px;
	margin-top: 5px;
}
.page li ul li{
	margin: 5px 0;
}
.page li ul li .label{
	text-decoration: underline;
}
.page li ul li .text{
	margin-left: 20px;
}
.page .descList > li{
	list-style: disc;
	margin-left: 20px;
	margin-bottom: 3px;
}
.page .descList > li:last-child{
	margin-bottom: 0;
}
.page .descList li ul li{
	list-style: none;
}
.page .expList{
	font-size: 1.3em;
}
.page .expList li{
	margin-bottom: 5px;
}
.page .expList li:before{
	content: '※';
	margin-right: 3px;
}
.priceContent{
	counter-reset: expListNum 0;
}
.page .expList-number{
	font-size: 1.3em;
}
.page .expList-number li{
	margin-bottom: 5px;
}
.page .expList-number li:before{
	counter-increment: expListNum 1;
	content: '*'counter(expListNum);
	margin-right: 5px;
}
.page .supplyRow{
	margin-bottom: 10px;
}
.page .supplyRow > table{
	width: 50%;
    display: inline-table;
    margin-right: 3%;
}
.page .supplyRow .image{
	text-align: center;
}
.page .supplyRow > div{
	width: 46%;
    display: inline-block;
    float: right;
}
@media (max-width: 1029px) {
	.page .supplyRow .image{
		text-align: center;
		width: 100%;
	}
	.page .supplyRow > table{
		width: 100%;
	    display: table;
	    margin-right: 0;
	}
	.page .supplyRow div{
	    display: block;
	    margin-bottom: 15px;
	}
}
@media (max-width: 767px) {
	#price table{
		font-size:0.9em
	}
	.blogWrap .blogMain{
		padding-right:0
	}
}
.groupInner h4{
	font-size: 2.1em;
	font-weight: bold;
	margin-top: 50px;
	margin-bottom: 10px;
}
.groupInner h5{
	font-size:1.8em;
	font-weight: bold;
	margin-bottom:10px
}
.multiTable{
	margin-bottom:30px
}
.Cols tbody th,.page .threeCols td{
	width: 33.3%;
}
.page .fourCols td{
	width: 25%;
}
.page .twoCols tbody th,.page .twoCols td{
	width: 50%;
}
.groupBlock{
	padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
}
.groupBlock:last-child{
    border-bottom: 0;
    padding-bottom:0
}
.groupInner > div:first-child > *{
	display: inline-block;
}
.groupBlock .titleBlock{
	position: relative;
}
.groupBlock .titleBlock > div{
	position: absolute;
    top: 0px;
    right: 0;
    font-size: 2.1em;
    font-weight: bold;
}
.groupBlock .menuBlock{
}
.groupBlock .menuBlock > div{
    display: inline-block;
    text-align: center;
    padding-right:20px;
    position:relative;
	margin-bottom: 20px;
}
.groupBlock .menuBlock > div span{
	padding-top:10px;
	padding-bottom:10px;
    background: #FFF;
    color: #888;
    border: 2px solid #ef89a3;
    font-size: 1.5em;
    font-weight: bold;
    border-radius: 4px;
    position: relative;
    display:block;
}
.groupBlock .menuBlock > div:last-child{
    padding-right: 0;
}
.groupBlock .menuBlock > div:after{
	content: '\f067';
	font-family: FontAwesome;
	font-size: 1.2em;
    position: absolute;
    top: 13px;
    right: 2%;
    color: #ccc;
}
.groupBlock .menuBlock > div:last-child:after{
	content: '';
}
@media (max-width: 767px) {
	.subPage #mainVisual {
   	min-height: 150px;
   	background-size: cover !important;
	}
	.subPage #inner-content{
		padding:0
	}
	.subPageWrap{
		margin-top:50px;
	}
	.subPageWrap .titleBlock{
		margin-bottom:40px
	}
	.subPage #content.aboutContent #main{
		background-size: contain;
	}
	#content .descBlock{
		width:100%;
		margin-bottom:20px;
		margin-top:110px
	}
	.descBlock h4{
		font-size:2.1em;
		letter-spacing:1px;
		text-align:right
	}
	#addressAccess .wrap{
		width:100%;
		padding:0
	}
	.logoBlock{
		margin-top:20px;
		height:auto
	}
	#logoBlock{
		background:transparent;
		border:none;
	}
	.logoBlock .logo,
	.about-ichirin .logoBlock .logo{
		width:100%;
		height:auto;
		background:transparent;
		text-align:center;
		margin:0 auto;
		position:relative;
		top:auto;
		bottom:auto;
		padding-top:40px;
	}
	.logoBlock img{
		height:100px;
		margin:0
	}
	.logoBlock .logoText,
	.about-ichirin .logoBlock .logoText{
		background:transparent;
	}
	.logoBlock .logoText{
		position:relative;
		margin:0;
		top:auto;
		right:auto;
		text-align:center;
	}
	.logoBlock .logoTextInner{
		margin:0;
		height:auto;
		padding:0
	}
	.logoBlock .logoTextInner h4{
		border-bottom:2px solid #46C4DC;
		margin-bottom:15px
	}
	.about-ichirin .logoBlock .logoTextInner h4{
		border-bottom:2px solid #FFBA31;
		margin-bottom:15px
	}
	.subPage #content{
		background-size:150px
	}
	.subPage #content.aboutContent #main{
		background:url("./library/images/page/about-bg-2.png") no-repeat center 135px;
		background-size:contain
	}
	#topStaff.subPageWrap .staffBlock{
		margin:0 !important
	}
}
.corp .groupInner > p{
	font-size: 1.6em;
	line-height: 1.6em;
}
.corp ul{
	font-weight: bold;
}

#topStaff.subPageWrap{
	background-color: inherit;
	padding: 0;
}
#topStaff.subPageWrap #topStaffTitle{
	padding-top: 0;
}
#topStaff.subPageWrap .staffBlock{
	padding-top:0;
    margin-left: -15px;
    margin-right: -15px;
}
#topStaff.subPageWrap .staffpart{
	margin-bottom:30px
}
.staffBlock h3{
	margin-top: 0px;
	text-align: center;
	font-size:2.5em;
	font-weight:bold
}
.staffBlock h3:after{
	content:"";
	height:3px;
	width:20px;
	background:#41C9E3;
	display:block;
	margin:20px auto
}
.staffBlock h3:before{
	display: none;
}
.staffBlock{
	margin-bottom: 0px;
}
.staffBlock h4{
	font-size: 1.6em;
    font-weight: bold;
    text-align: center;
}

.blogWrap{
	margin-top: 30px;
}
.blogMain{
	padding-right:40px
}
.blogBlock{
	margin-bottom: 30px;
	padding-bottom:30px;
	border-bottom: 1px dotted #ccc;
}
.blogBlock .image img{
	width:100%;
   height: auto;
}
.blogBlock .heading{
   vertical-align: top;
   padding-left:30px
}
.blogBlock .heading h3{
	margin-top: 0;
	margin-bottom:6px;
	font-size: 1.6em;
    font-weight: bold;
}
.blogBlock .heading h3:before{
	display: none;
	margin-left: 0;
}
.blogBlock .heading p{
	font-size: 1.5em;
	line-height:1.7em;
	margin-top:0
}
.blogBlock .heading a{
	color:#222;
	line-height:1.5em;
	text-decoration:none;
}
.blogBlock .heading .readMore a{
	font-size:0.8em;
	color:#999
}
.blogBlock .heading .readMore a i{
	margin-left:10px
}
.blogBlock .heading a:hover{
	color:#666
}
.blogBlock .readMore{
	font-size: 1.6em;
	text-align: right;
}
.sidebar{
	margin-top:0;
	font-size:1.4em
}
#main .sidebar a{
	color:#666;
	text-decoration:none
}
#main .sidebar a:hover{
	color:#222;
	text-decoration:underline
}
.widget{
	margin-top:0
}
.sidebar h4{
	margin-top:0;
	padding-bottom:10px;
	border-bottom:2px solid #222
}
.hentry header{
	padding:0;
	padding-bottom:20px
}
.entry-meta{
	font-size:1.3em 	
}
#blog .entry-content{
	padding:40px 0;
	font-size:1.5em;
	line-height:1.6em
}
#blog .single-title{
	font-weight:bold;
	margin-bottom:20px
}
/*Pagenation*/
.frontPagination{
  list-style-type: none;
  padding-left: 0;
  margin: 30px 0;
  font-size: 1.5em;
}
 
.frontPagination,
.frontPagination li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
 
.frontPagination a {
  font-weight: 300;
  text-decoration:none;
  border: 1px solid #ddd;
  border-left-width: 0;
  min-width:45px;
  min-height:45px;
  color: #333;
}
 
.frontPagination li:not([class*="current"]) a:hover {
  background-color: #eee;
}
 
.frontPagination li:first-of-type a {
  border-left-width: 1px;
}
 
.frontPagination li.first span,
.frontPagination li.last span,
.frontPagination li.previous span,
.frontPagination li.next span {
  /* screen readers only */
  position: absolute;
  top: -9999px;
  left: -9999px;
}
 
.frontPagination li.first a::before,
.frontPagination li.last a::after,
.frontPagination li.previous a::before,
.frontPagination li.next a::after {
  display: inline-block;
  font-family: Fontawesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transform: translate(0, 0);
}
 
.frontPagination li.first a::before { content: "\f100"; }
.frontPagination li.last a::after { content: "\f101"; }
 
.frontPagination li.previous a::before { content: "\f104"; }
.frontPagination li.next a::after { content: "\f105"; }
 
.frontPagination li.current a {
 background-color: #ddd;
 cursor: default;
 pointer-events: none;
}
 
.frontPagination > li:first-child > a {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
 
.frontPagination > li:last-child > a {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}

.descBlockWrap h3{
	font-size: 1.6rem;
	font-weight: bold;
	margin: 0 0 10px;
}
 
@media only screen and ( max-width: 680px ) {
  .frontPagination li.first,
  .frontPagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .frontPagination li.previous a { border-left-width: 1px; }
}
 
@media only screen and ( max-width: 500px ) {
  .frontPagination li {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .frontPagination li.current,
  .frontPagination li.first,
  .frontPagination li.last,
  .frontPagination li.previous,
  .frontPagination li.next{
    position: initial;
    top: initial;
    left: initial;
  }
}
 
@media only screen and ( max-width: 400px ) {
  .frontPagination li.first,
  .frontPagination li.last {
    /* screen readers only */
    position: absolute;
    top: -9999px;
    left: -9999px;
  }
 
  .frontPagination li.previous a { border-left-width: 1px; }
}
 
@media only screen and ( max-width: 240px ) { /* For watches? */
  .frontPagination li { width: 50%;}
 
  .frontPagination li.current {
    order: 2;
    width: 100%;
    border-left-width: 1px;
  }
}
.contactBlockInner{
    width: 640px;
    margin: 0 auto;
}
.contactForm .red{
    font-size: 0.9rem;
    font-weight: bold;
    margin-bottom: 25px;
    margin-top: 20px;
}
.red{
    color: #cf4848
}
.gray{
    color: #777
}
.form-important{
    padding: 20px;
    background: #fafafa;
}
.contactForm table{
    margin: 0 auto;
}
.contactForm table tr:last-child td, .contactForm table tr:last-child th, .contactForm tr > *:last-child{
    border: none;
}
.contactForm th{
    padding-right: 10px;
    font-size: 1.5em;
    border: none;
    text-align:left;
    min-width: 230px;
		line-height: 1.3;
}
.contactForm td{
    padding: 10px 0px;
    width: 80%;
    text-align: left;
    border: none;
}
.contactForm td input[type="text"],
.contactForm td input[type="email"]{
    max-width: 80%;
    background: rgba(255, 255, 255, 0.1);
    border:1px solid #ccc;
    padding: 5px;
    border-radius:0;
    box-shadow:none;
    -webkit-appearance: none; 
    margin: 7px 0;
}
.contactForm h5{
    background: #e3f6f9;
    padding: 5px 10px;
}
.contactForm h6{
    font-size: 1.7em;
    font-weight: bold;
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-top: 0;
    margin-bottom: 8px;
}
.contactForm td .mwform-radio-field{
    margin: 7px 0;
    display: inline-block;
}
.contactForm .must{
    background: #e84756;
    border-radius: 3px;
    color: #fff;
    font-size: 0.7rem;
    padding: 3px 5px;
    margin-left: 5px;
}
.contactForm .must2{
    color: #cf4848;
    font-size: 0.7rem;
    margin-top: 8px;
    border-radius: 3px;
    padding: 3px 5px;
    border: 1px solid #e84756;
    display: inline-block;
    margin-left: 4px;
}
#child2,
#child3{
    display: none
}
.open_button2,
.open_button3{
    border: 1px solid #76c9ec;
    padding: 15px 15px;
    font-size: 1.4em;
    text-align: center;
    margin-top: 20px;
    border-radius: 3px;
    color: #76c9ec;
    font-weight: bold;
    margin: 20px auto 0;
    cursor: pointer;
    max-width: 300px;
}
.button_wrap{
	text-align: center;
}
#price .button_wrap{
	margin-bottom: 56px;
}
.text_confirm{
    display: none;
}
.reserv_info{
	padding: 24px;
	border: 1px solid #e84756;
	h4{
		margin-top: 0;
	}
	p:not(:last-child){
		margin-bottom: 1em;
	}
}
.mw_wp_form_confirm .text_confirm{
    display: block;
}
.mw_wp_form_confirm .text_input{
    display: none;
}
.mw_wp_form_confirm .reserv_tel{
    display: none;
}
.mw_wp_form_confirm .must,
.mw_wp_form_confirm .must2,
.mw_wp_form_confirm .small,
.mw_wp_form_confirm .open_button2{
    display: none
}
.mw_wp_form_confirm tr{
    padding: 10px 0;
}
.mw_wp_form_confirm th,
.mw_wp_form_confirm td{
    padding: 12px;
}
.mw_wp_form_confirm td{
    font-weight: normal
}
.mw_wp_form_confirm .contactBlock p{
    display: none;
}
.mw_wp_form_confirm .form-important{
    background: #fff;
    padding: 0;
    margin-top: 20px;
}
.contactForm td select{
    width: 160px;
    display: inline-block;
    margin-right: 5px;
}
.contactForm p.small{
    font-size: 12px;
}
#ui-datepicker-div{
    width: auto;
}
#ui-datepicker-div select{
    display: inline-block;
    height: 22px;
    line-height: 22px;
}
@media(max-width:768px){
    .contactForm table,
    .contactForm tbody,
    .contactForm tr,
    .contactForm td,
    .contactForm th{
        display:block;
        width:100%
    }
    .contactForm th{
        padding-top: 10px;
        font-size: 1.7em;
    }
    .contactForm td{
        padding-top: 0;
    }
    .contactForm td input[type="text"], .contactForm td input[type="email"]{
        max-width: 100%;
    }
}
.contactForm td textarea{
    width: 100%;
    background: rgba(255, 255, 255, 0.1);
    border:1px solid #ccc;
    padding: 5px;
    border-radius:0;
    box-shadow:0;
    -webkit-appearance: none; 
}
textarea[name="freetext2"]{
	min-height: 160px;
}
.contactForm .submitBlock{
    width: 100%;
    margin: 0 auto;
    margin-top: 40px;
    text-align: center;
}
input[type="submit"]{
    width: 240px;
    padding: 15px;
    background: #76c9ec;
    border:1px solid rgba(255,255,255,0.6);
    color: #fff;
    font-size: 1.5em;
    font-weight: bold;
    border-radius:0;
    transition:.3s;
    display: inline-block;
}
.contactForm button[type="submit"]{
    width: 240px;
    padding: 15px;
    background: #fff;
    border:1px solid #76c9ec;
    color: #76c9ec;
    font-size: 1.5em;
    font-weight: bold;
    border-radius:0;
    transition:.3s;
    display: inline-block;
}
.contactForm input[type="submit"]:hover{
    opacity:0.8;
   transition:.3s
}
.contactForm .responseMessage{
    font-size: 1.6em;
    text-align: center;
}
.contactForm .wpcf7-mail-sent-ok{
    padding: 20px;
    display: inline-block;
    border: 1px solid #76c9ec;
    border-radius: 3px;
}
.contactBlock h3{
    font-size:2.4em;
    font-weight:bold
}
.contactContent h3:before{
    display: none;
}
.contactBlock p{
    text-align: left;
    font-size: 15px;
    line-height: 1.5;
}
.privacy_check input[type=checkbox] {
  appearance: none;
  display: none;
}
.privacy_check input[type=checkbox] + span {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  cursor: pointer;
	padding-left: 40px;
}
.privacy_check input[type=checkbox] + span::before{
	content: "";
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 2px;
	display: block;
	height: 25px;
	left: 0;
	margin-top: -12px;
	position: absolute;
	top: 50%;
	width: 25px;
}
.privacy_check input[type=checkbox] + span::after {
  border-right: 3px solid #76C9EC;
  border-bottom: 3px solid #76C9EC;
  content: '';
  display: block;
  height: 20px;
  left: 8px;
  margin-top: -17px;
  opacity: 0;
  position: absolute;
  top: 50%;
  transform: rotate(45deg);
  width: 12px;
}
.privacy_check input[type=checkbox]:checked + span::after{
  opacity: 1;
}
.contactBlock .privacy_block p{
	text-align: center;
}
.mw_wp_form_confirm .privacy_block{
	display: none;
}
.contactBlock ::-webkit-input-placeholder{
    color: #ccc;
}
.lineBlock,
.telBlock{
	padding-top: 0;
	padding-bottom: 30px;
}
.telBlock h3,
.contactBlock h3,
.lineBlock h3{
    font-size: 2.4em;
    font-weight: bold;
    margin-top: 0px;
    color: #222;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: 3px solid #41C9E3;
}
.contactBlock form{
    margin-top:30px
}
.contactForm{
    width:80%;
    margin:0 auto;
}
.contactForm table,
.page .contactForm tbody{
    border: 0;
}
.telBlock #contactTel{
    font-size: 3.9em;
    font-weight: bold;
    margin-bottom: 15px;
    color:#41C9E3
}
.telBlock #contactHours{
    font-size: 1.4em;
    color:#666
}
.childcareWrap h3,
#meal .mealWrap h3{
	font-size: 2em;
	margin-top: 40px;
	text-align: center;
	font-weight:bold
}
#meal .mealWrap h3{
	text-align: left;
}
.childcareWrap h3:before{
	display: none;
}
.childcareWrap h4,
.mealWrap h4,
.sub-template h4{
	font-size: 2.5em;
	color:#222
}
.mealWrap h4{
    margin-bottom: 20px;
    padding-bottom: 5px;
}
.childcareWrap p,
.mealWrap p,
.sub-template p{
	font-size: 1.5em;
	line-height: 1.8;
}
.childcareGoal h3:after,
#meal .mealWrap h3:after{
	content:"";
	height:3px;
	width:20px;
	background:#41C9E3;
	display:block;
	margin:20px auto
}
#meal .mealWrap h3:after{
	margin: 20px 0;
}
.childcareBlock,
.mealBlock{
	margin-bottom: 50px;
}
.subBlock{
	margin-bottom:70px;
}
.childcareBlock ul{
	font-size: 1.6em;
    list-style-type: disc;
    list-style-position: inside;
}
.childcareBlock li{
	margin: 10px 0;
	padding-left:1em;
	text-indent:-1em;
}
.childcareBlock .withPict,
.mealBlock .withPict,
.subBlock .withPict{
	padding-left: 30px;
}
.withPict figure{
	margin-bottom: 1rem;
}
.mealBlock ul{
	font-size:1.5em;
	list-style:disc;
	padding-left:20px;
	line-height:1.8em;
}
.subPage .mealBlock h5,
.subPage .subBlock h5{
	margin-top:0;
}
.subPage .mealBlock h6,
.subPage .subBlock h6{
    margin-top: 0;
	margin-bottom:5px;
}
.meal .subTextBlock{
    margin: 10px 0 20px;
}
.meal .subTextBlock,
.meal .subTextBlock p{
    font-size: 14px; 
}
.subTextBlock dt{
    margin-bottom: 5px;
    font-weight: bold;
}
.subTextBlock dt,
.subTextBlock dd{
    margin-bottom: 8px;
    line-height: 1.5;
}
.subTextBlock dd:last-child{
    margin-bottom: 0;
}
.fillBlock{
    background: #fafafa;
    padding: 10px;
}
.sub-template table{
	font-size: 13px;
	margin-bottom: 20px;
}
.sub-template table th{
	padding: 15px;
	width: 20%;
	background: #fafafa;
    border: 1px solid #ddd;
}
.sub-template table td{
	font-size: 1.1em;
	font-weight: normal;
	text-align: left;
	padding: 15px;
	line-height: 1.5em;
    border: 1px solid #ddd;
}
.sub-template ul{
	padding-left: 20px;
	margin: 0;
}
.sub-template ul li{
	list-style: disc;
}
#meal .titleBlock .desc{
	display: block;
    font-size: 1.6em;
    line-height: 1.5;
}
.mealBlock .subImage > img{
	width: 48%;
}
.mealBlock .subImage > img:first-child{
	margin-right: 3%;
}
#school .image{
	text-align: center;
}
#school .image img{
	max-width: 33.3%;
}
.facilityBlock{
	margin-bottom: 70px;
}
.facilityBlock img{
	border:2px solid #FFF7F8
}
.lead{
	margin-bottom:60px;
	font-size:1.5em
}
.facilityWrap h3{
	font-size: 2em;
	font-weight: normal;
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: left;
}
.facilityWrap h3:before{
	display: none;
}
.facilityWrap h4{
	margin-top: 10px;
   font-size: 2em;
   padding-bottom:15px;
   margin-bottom:15px;
   border-bottom:1px dashed #F15024 
}
.facilityWrap p{
	font-size: 1.5em;
	line-height: 1.5;
}
.facilityWrap .sub p{
	font-size:1.38em;
	margin-bottom:0
}
.facilityWrap .hasImageWrap.sub > div{
	padding-right:3em
}
.subImageWrap,.noImageWrap{
	margin-top:20px;
}
.facilityWrap .noImageWrap > div > div:first-child,
.facilityWrap .hasImageWrap:first-child{
	margin-bottom:20px
}
.facilityWrap .noImageWrap p,
.fillblock{
	margin-top:0;
	padding: 19px;
	background: #FFF7F8;
	border-radius:5px
}
.facilityWrap img{
	width: 100%;
}
.facilityWrap .desc .text{
	padding-left:30px
}
.facilityBlock .desc .textonly{
	padding-left:0;
	margin-bottom:10px
}
.lightbox{
	padding-top:30px
}

.infoWrap .readMore{
	text-align: right;
    margin-right: 30px;
    font-size: 1.6em;
}
.infoBlock > p{
	font-size: 1.6em;
}
#company table{
	width: 80%;
    margin: 0 auto;
}
#company ul{
	margin:0;
	list-style:square;
	padding-left:30px
}
.facilityBlock:last-child{
	margin-bottom:0
}
@media(max-width:768px){
	.sp-p0{
		padding: 0;
	}
	.noImageWrap{
		margin-top:0
	}
	#company table{
		width:100%
	}
	#facility{
		padding-bottom:40px
	}
	#content .facilityWrap .noImageWrap,
	#content .facilityWrap .subImageWrap{
		padding:0;
		margin:0
	}
	#content .wrap.hasImageWrap{
		padding:0;
		margin:0
	}
	.facilityWrap .hasImageWrap.sub > div{
		padding-right:0;
		margin-bottom:10px
	}
	.facilityWrap .desc .text{
		padding-left:0px;
	}
	.facilityWrap .hasImageWrap .text{
		margin-top:0;
		padding-left:10px
	}
	.facilityWrap .desc > div{
		margin-bottom:10px
	}
	.facilityWrap .sub.wrap{
		width:100%
	}
	.facilityBlock{
		margin-bottom:30px
	}
	.childcareWrap h4{
		font-size:1.8em
	}
	#childcare .withPict h3{
		font-size:2em
	}
	#childcare .withPict,
	#meal .withPict{
		padding:0
	}
	.contactForm{
		width:100%
	}
	.childcareBlock .withPict,
	.mealBlock .withPict,
	.subBlock .withPict{
		padding-left: 0;
	}
}
#company table{
	border-bottom: 1px solid #ccc;
	margin-bottom:40px
}
#company #company .wrap>div:last-child table{
	margin-bottom:0
}
#company td, #company th{
	font-size: 1.6em;
   font-weight: normal;
}
#company th{
	width: 25%;
	border-top: 1px solid #ccc;
	background:#EBF3F6
}
#company td{
	text-align: left;
	padding: 20px;
}
#company p{
	line-height: 1.5;
}
#company p:first-child{
	margin-top: 0;
}
#company p:last-child{
	margin-bottom: 0;
}
#company .image img{
	width:100%
}
#company .textWrap{
	padding-left:40px;
	font-size:1.5em
}
#company .textWrap h4{
	font-size:1.6em;
	margin-top:15px;
	margin-bottom:20px
}
#company .textWrap h4 span{
	margin-left:15px;
	font-size:0.65em;
	color:#41C9E3;
	letter-spacing:1px
}
#company .textWrap .sub{
	font-size:0.9em
}
.presidentHead{
	padding-top:10px
}

.single-info #inner-content{
	padding:40px 0
}
.single-info .single-title{
	font-weight:bold;
	margin-bottom:10px
}
.single-info .entry-content {
	font-size:1.5em;
	margin-bottom:50px;
	padding:30px 0;
	line-height: 1.6em;
}
.single-info .entry-content img{
	margin-top: 10px;
}

/*** 5/7追加 ***/
.comp-copy{
	margin-top: 30px;
	border-top:1px solid #aaa;
	padding-top: 30px;
	font-size: 1.3em;
}
.page th.age, .page th.label, .page th.span, .page td{
	font-size: clamp(10px,2.2vw,17px);
}
.page .groupBlock .overline{
	line-height: 1.5;
}

#alliance img{
	width: 100%;
}
#alliance .titleBlock{
	margin-bottom:0px
}
#alliance .corp{
	margin-bottom:30px
}
#alliance .navi > div{
	display: inline-block;
}
#alliance .item .text{
	line-height:1.6em
}
#alliance .item h3{
	font-size: 1.4em;
    font-weight: bold;
    margin-bottom: 10px;
    margin-top:0
}
#alliance .category{
	background: #9da9cb;
	color: #fff;
    font-weight: bold;
    padding: 6px 12px;
    border-radius: 3px;
    margin-right: 10px;
}
#alliance .heading{
	font-size: 1.4em;
}
#alliance .navi a{
	color: #50717a;
}
#alliance .image{
	overflow: hidden;
    position: relative;
    z-index: 1;
    height: 220px;
}
#alliance .image img{
	position: absolute;
    left: -100%;
    right: -100%;
    top: 0;
    bottom: 0;
    margin: auto;
    width: auto;
    height: 110%;
    max-width: none;
}
#alliance .row{
	padding:30px;
	border-bottom:1px solid #ddd;
}
#alliance .row > div:first-child{
	padding-left: 0;
	padding-right: 20px;
}
#alliance .row > div{
	padding-right: 10px;
	padding-left: 10px;
}
#alliance .row > div:last-child{
	padding-left: 20px;
	padding-right: 0;
}
.scheduleDesc_02{
	margin-top: 20px;
}
.scheduleDesc_02 > p{
	font-size: 12px;
}
.contactForm .any{
	background: #41C9E3;
	border-radius: 3px;
	color: #fff;
	font-size: 0.7rem;
	padding: 3px 5px;
	margin-left: 5px;
}
@media (max-width: 768px){
	.page th.age,.page th.label,.page th.span,.page td{
		padding: 0.5em 0;
	}
}

/* 2021201 */
#price .priceFeature{
  display: flex;
  justify-content: space-between;
  width: 70%;
  margin: 0 auto 20px;
}
#price .priceFeature > div{
  width: calc(100%/3 - 5%);
}
#price .priceFeature > div img{
	max-width: 100%;
}
.priceFeature + .priceDiscription{
  margin-bottom: 50px;
	font-weight: normal;
}
.priceFeature + .priceDiscription p{
	text-indent: -0.5em;
	padding-left: 0.5em;
}

@media only screen and (max-width: 767px) {
  #price .priceFeature{
    width: 100%;
    margin: 0 auto 20px;
  }
  .priceFeature + .priceDiscription{
    margin-bottom: 20px;
  }
}

.blank::before{
  content: "";
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 2px;
  height: 12px;
  width: 12px;
  background: url(https://hanaito.co.jp/wp/wp-content/themes/eddiemachado-bones-9db85e4/library/images/blank_icon.png) no-repeat center;
  background-size: contain;
  vertical-align: middle;
}
.tebura-bnr{
	text-align: center;
}
.tebura-bnr img{
	width: 100%;
	max-width: 150px;
	image-rendering: -webkit-optimize-contrast;
}
::-webkit-full-page-media, :future, :root img{
  image-rendering: unset;
}
.bnr_w300 img{
	width: 300px;
}
.after_img::after{
	content: "";
	display: inline-block;
	height: 150px;
  width: 150px;
	background: url(./library/images/ichirin-logo.png) no-repeat center;
	background-size: contain;
  vertical-align: middle;
	transition: .3s;
}
.after_img:hover::after{
	opacity: 0.8;
}
.w100{
	width: 100px;
}
#about .pointBlock .textWrap .text{
	color: #222;
}
.price-merit h4{
	text-align: center;
	margin-bottom: 40px;
}
.marker-red{
	background:linear-gradient(transparent 60%, #ffedef 60%);
}
.circle-wrap3,.circle-wrap4{
	width: 100%;
	margin: 0 auto 50px;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	justify-content: center;
}
.circle-wrap4 > div,
.circle-wrap3 > div{
	position: relative;
	background-color: #fff4f5;
	text-align: center;
	border-radius: 50%;
	border: 2px solid #ef737f;
	width: 200px;
	height: 200px;
}
.circle-wrap4 > div p,
.circle-wrap3 > div p{
	width: 100%;
	font-size: 16px;
	font-weight: bold;
	margin: 0;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
.circle-wrap4 > div p span,.circle-wrap4 > div p span{
	color: #EF737F;
}
.circle-wrap4 > div p small,.circle-wrap4 > div p small{
	font-size: 14px;
}
small.nomal{
	font-weight: normal;
}
#menuMonth .table-secondary th{
	width: 20%;
}
#menuMonth .table-secondary td{
	width: 80%;
}
#menuTicket .table-secondary th{
	width: 20%;
}
#menuTicket .table-secondary td{
	width: 40%;
}
.value{
	background-color: #EF737F;
	color: #fff;
	font-weight: normal;
	padding: 0.5em 1em;
	margin: 0 0 0 20px;
	font-size: clamp(10px,1.6vw,13px);
}
.page .telBlock .descList{
	font-size: 1.3em;
	color: #666;
}
.indent3{
	text-indent: -3em;
	padding-left: 3em;
}
.mw_wp_form_confirm #child2,
.mw_wp_form_confirm #child3{
	display: block;
}
.mw_wp_form_confirm #child2 .open_button3{
	display: none;
}
.hanaitoAbout.wrap{
	margin-bottom: 50px;
}
.faqMenu{
	border: 1px solid #e4f6f9;
	padding: 20px;
	border-radius: 5px;
	margin-bottom: 30px;
}
.faqMenu ul{
	display: flex;
	gap: 20px 30px;
	font-size: 0.9rem;
	flex-wrap: wrap;
}
.faqMenu ul li:before{
	content: "\f105";
	display: inline-block;
	font-family: FontAwesome;
	font-style: normal;
	font-weight: normal;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	margin-right: 5px;
	color: #41C9E3;
}
.sub-template .link-list{
	font-size: 15px;
	padding-left: 0;
}
.sub-template .link-list li{
	list-style-type: none;
	text-indent: -1.5em;
	padding-left: 1.5em;
	margin-bottom: 8px;
}
.link-list li:before {
	content: "\f105";
	font-family: FontAwesome;
	margin-right: 1em;
	color: #41C9E3;
}
#guide .flex-gap{
	width: 80%;
	gap: 50px;
}
.reserv .btn,.contact .btn{
	display: block;
	max-width: 300px;
	font-size: 1.8em;
	padding: 20px 0;
	text-align: center;
	font-weight: bold;
	background-color: #E74857;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	margin: 0 auto 70px;
	transition: .3s;
}
.contact .btn{
	margin: 32px auto 0;
}
.reserv .btn:hover,.contact .btn:hover{
	color: #fff;
	background: #FB5968;
}
.who-can-use .maru-list{
	margin-bottom: 40px;
}
.text-center{
	text-align: center;
}
.card{
	display: flex;
	align-items: center;
	gap: 24px;
	margin-bottom: 40px;
}
.card-bg-hanakichi{
	background: url("./library/images/page/hanakichi/bg_hanakichi.jpg") no-repeat right top;
}
.card.reverse{
	flex-direction: row-reverse;
}
.card img{
	max-width: 100%;
	height: auto;
}
.card .card-col2{
	width: 50%;
}
.page-id-8167 .deco-heading{
	font-size: 2.3em;
}
.hanakichi-logo .logoBlock{
	height: 420px;
}
.hanakichi-logo .logoBlock .logo img{
	max-width: 50%;
}
.table-post,.table-post p{
	font-size: clamp(12px,1.9vw,15px);
}
.table-post tr:nth-child(even){
	background-color: #fff;
}
.table-post th,.table-post td{
	padding: 1em;
}
@media (max-width: 1029px){
	.circle-wrap4 > div,.circle-wrap3 > div{
		width: 150px;
    height: 150px;
	}
	.circle-wrap4 > div p,.circle-wrap3 > div p{
		font-size: 14px;
	}
	.circle-wrap4 > div p small,.circle-wrap4 > div p small{
		font-size: 12px;
	}
}
@media (max-width: 767px){
	.price-merit h4{
		margin-bottom: 20px;
	}
	.circle-wrap4,.circle-wrap3{
		margin: 0 auto 30px;
		gap: 20px;
	}
	.value{
		display: block;
		margin: 0 5%;
	}
	#guide .flex-gap{
		width: 100%;
		gap: 30px;
	}
	.card{
		flex-wrap: wrap;
		gap: 16px;
		margin-bottom: 40px;
	}
	.card .card-col2{
		width: 100%;
	}
	.hanakichi-logo .logoBlock{
		height: auto;
	}
}
@media (max-width: 420px){
	.circle-wrap4,.circle-wrap3{
		gap: 15px;
	}
	.circle-wrap4 > div,.circle-wrap3 > div{
		width: 130px;
    height: 130px;
	}
	.circle-wrap4 > div p,.circle-wrap3 > div p{
		font-size: 12px;
	}
	.circle-wrap4 > div p small,.circle-wrap4 > div p small{
		font-size: 10px;
	}
	#guide .flex-gap{
		gap: 15px;
	}
	.privacy_check input[type=checkbox] + span::before{
		margin-top: -20px;
	}
.privacy_check input[type=checkbox] + span::after {
		margin-top: -23px;
	}
}


.about-minamori{
	.logoBlock{
		border: 1px solid #d7fb8f;
		.logo{
			@media (min-width: 769px){
				width: 35%;
				height: 115%;
				display: flex;
				align-items: center;
				justify-content: center;
				position: absolute;
				top: 50%;
				left: 0;
				bottom: unset;
				transform: translateY(-50%);
			}
		}
		img{
			max-width: 80%;
			margin-top: 0;
			@media (max-width: 768px){
				max-width: 40%;
			}
		}
		.logoText{
			@media (min-width: 769px){
				background: #e7f1d3;
			}
			h4{
				@media (max-width: 768px){
					border-bottom: 2px solid #a3c656;
					margin-bottom: 15px;
				}
			}
		}
	}
}

.contact-line{
	padding: 40px 0 0;
	.description{
		margin-bottom: 40px;
	}
}
.btn-wrap--line{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 24px;
	.btn{
		display: block;
		width: 100%;
		max-width: 300px;
		font-size: 1.8em;
		padding: 20px 0;
		text-align: center;
		font-weight: bold;
		background-color: #06C755;
		color: #fff;
		text-decoration: none;
		border-radius: 4px;
		transition: .3s;
		&:hover{
			filter: brightness(1.1);
		}
	}
	.btn--revarse{
		background-color: #fff;
		color: #06C755;
		border: 2px solid #06C755;
		&:hover{
			color: #06C755;
		}
	}
}

.hanakichiHidden{
	display: none;
}