@charset "utf-8";

/*--------------------------------------------------------------
  common
--------------------------------------------------------------*/
html {
	font-size: 14px;
}

body {
	font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "HG丸ｺﾞｼｯｸM-PRO", "HGMaruGothicMPRO";
	font-size: 1em;
	line-height: 1.5;
    color: #000;
}

.page-frame {
	width: 1080px;
	margin: 0 auto;
}

a {
	color: #000;
	text-decoration: none;
}

h1 {
	text-align: center;
	font-size: 48px;
	color: #fff;
	line-height: 1.8;
	letter-spacing: 5px;
	text-shadow: 1px 1px 12px #666;
}

h2 {
	margin-bottom: 25px;
	padding-bottom: 10px;
	font-size: 28px;
	color: #ff5b71;
	letter-spacing: 3px;
	position: relative;
}

h2::after {
	content: "";
	width: 100%;
	height: 4px;
	background-color: #ff5b71;
	border-radius: 10px;
	position: absolute;
	left: 0;
	bottom: 0;
}

h2.short {
	display: inline-block;
}

h2.long {
	padding-left: 2px;
	display: block;
}

h3 {
	margin-bottom: 15px;
	font-size: 20px;
}

h3::before {
	content: "●";
	margin-right: 5px;
	color: #ff5b71;
}

/*--------------------------------------------------------------
  header
--------------------------------------------------------------*/
#header {
	width: 100%;
	border-top: solid 3px #ff5b71;
}

#header .header-inner .header-upper {
	margin-bottom: 10px;
	display: flex;
	justify-content: space-between;
}

#header .header-inner .header-upper .logo-area {
	margin-top: 15px;
}

#header .header-inner .header-upper .contact-area {
	width: 190px;
	position: relative;
}

#header .header-inner .header-upper .contact-area a {
	padding: 14.5px 0;
	background-color: #ff5b71;
	color: #fff;
	text-align: center;
	display: block;
	transition: all .5s;
}


#header .header-inner .header-upper .contact-area a:hover {
	opacity: .7;
}

#header .header-inner .header-upper .contact-area a > * {
	vertical-align: middle;
}

#header .header-inner .header-upper .contact-area a img {
	margin-right: 5px;
}

#header .header-inner .header-upper .contact-area ul {
	width: 100%;
    height: 0;
    background-color: #fff;
    position: absolute;
	overflow: hidden;
	transition: all .2s;
	z-index: 1;
}

#header .header-inner .header-upper .contact-area:hover ul {
	height:102px;
}

#header .header-inner .header-upper .contact-area ul li {
	border-left: solid 1px #ff5b71;
	border-right: solid 1px #ff5b71;
}

#header .header-inner .header-upper .contact-area ul li a {
	padding-left: 12px;
	background-color: #fff;
	border-bottom: solid 1px #ff5b71;
    color: #ff5b71;
    text-align: left;
}

#header .header-inner .header-upper .contact-area ul li a::before {
	content: ">";
	margin-right: 8px;
}

#header .header-inner .header-bottom ul {
	background: url(../img/common/nav-dashed.png) left center no-repeat;
	display: flex;
	flex-wrap: wrap;
}

#header .header-inner .header-bottom ul li {
	width: 20%;
	text-align: center;
	position: relative;
}

#header .header-inner .header-bottom ul li.active::after,
#header .header-inner .header-bottom ul li:hover::after {
	content: "";
	width: 65px;
	height: 3px;
	background-color: #ff5b71;
	display: block;
	position: absolute;
	left: 75px;
	bottom: 12px;
}

#header .header-inner .header-bottom ul li a {
	padding: 10px 0 20px 0;
	background: url(../img/common/nav-dashed.png) right center no-repeat;
	font-size: 16px;
	font-weight: bold;
	display: block;
}

#header .header-inner .header-bottom > ul > li.active > a,
#header .header-inner .header-bottom > ul > li:hover > a {
	color: #ff5b71;
}

#header .header-inner .header-bottom ul li ul {
	width: 100%;
	height: 0;
    background-color: #fff;
	display: block;
	overflow: hidden;
	position: absolute;
	transition: all .2s;
}

#header .header-inner .header-bottom ul li:hover ul {
	height: 162px;
}

#header .header-inner .header-bottom ul li ul li {
	width: 100%;
}

#header .header-inner .header-bottom ul li ul li.active::after,
#header .header-inner .header-bottom ul li ul li:hover::after {
	content: none;
}

#header .header-inner .header-bottom ul li ul li a,
#header .header-inner .header-bottom ul li ul li a {
	padding: 15px 0;
}

#header .header-inner .header-bottom ul li > ul > li.active > a,
#header .header-inner .header-bottom ul li > ul > li:hover > a {
	color: #ff5b71;
}

/* if not need, delete later */
/* #header .header-inner .header-bottom ul li .sp {
	display: none;
}

#header .under-menu {
	width: 100vw;
	height: 0;
    background-color: #ff5b71;
    display: flex;
    justify-content: center;
	position: absolute;
	overflow: hidden;
	transition: all .3s;
}

#header .under-menu:hover,
#header .under-menu.active {
	height: 40px;
}

#header .under-menu ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

#header .under-menu ul li {
	padding: 0 30px;
}

#header .under-menu ul li a {
	color: #fff;
} */

/*--------------------------------------------------------------
  main
--------------------------------------------------------------*/
#main #main-visual {
	width: 100%;
	height: 560px;
	margin-bottom: 30px;
	background: url(../img/common/main-visual.png) center no-repeat;
	background-size: cover;
	display: flex;
	justify-content: center;
    align-items: center;
}

#main .main-inner section {
	padding: 20px 0;
}

#main .main-inner section:last-child {
	padding-bottom: 75px;
}

#main .main-inner section .common-button {
	width: 220px;
}

#main .main-inner section .common-button a {
	width: 100%;
    padding: 12px 0;
	background-color: #ff5b71;
	border: solid 2px #ff5b71;
	border-radius: 5px;
    line-height: 1;
	color: #fff;
	text-align: center;
	display: block;
	transition: all .5s;
}

#main .main-inner section .common-button a:hover {
	background-color: #fff;
	color: #ff5b71;
}

#main .main-inner .consulting.txt-color {
    color: #22b273;
}

#main .main-inner .care.txt-color {
    color: #f8ad3b;
}

#main .main-inner .nursery-school.txt-color {
    color: #ff82b2;
}

#main .main-inner .bg-color {
	color: #fff;
}

#main .main-inner .consulting.bg-color {
    background-color: #22b273;
}

#main .main-inner .care.bg-color {
    background-color: #f8ad3b;
}

#main .main-inner .nursery-school.bg-color {
    background-color: #ff82b2;
}

/*--------------------------------------------------------------
  footer
--------------------------------------------------------------*/
#footer .banner-area {
	padding: 50px 0;
	background-color: #efefef;
	position: relative;
}

#footer .banner-area .to-top {
	position: absolute;
    top: -38px;
    right: 15px;
}

#footer .banner-area .to-top p a {
	transition: all .5s;
}

#footer .banner-area .to-top p a:hover {
	opacity: .7;
}

#footer .banner-area ul {
	display: flex;
	justify-content: space-between;
}

#footer .banner-area ul li a {
	transition: all .5s;
}

#footer .banner-area ul li a:hover {
	opacity: .7;
}

#footer .banner-area ul li a img {
	line-height: 1;
}

#footer .footer-inner {
	padding: 15px 0;
	background-color: #000;
	color: #fff;
	text-align: center;
}

#footer .footer-inner .footer-nav {
	margin-bottom: 30px;
}

#footer .footer-inner .footer-nav ul {
	display: flex;
	justify-content: center;
}

#footer .footer-inner .footer-nav ul li::after {
	content: "/";
	margin: 0 15px;
}

#footer .footer-inner .footer-nav ul li:last-child::after {
	content: none;
}

#footer .footer-inner .footer-nav ul li a {
	color: #fff;
	transition: all .5s;
}

#footer .footer-inner .footer-nav ul li a:hover {
	opacity: .7;
}

#footer .footer-inner .logo-area {
	margin-bottom: 40px;
}

#footer .footer-inner .logo-area .logo-img {
	margin-bottom: 10px;
}

/*--------------------------------------------------------------
  device
--------------------------------------------------------------*/
.pc {
    display: block;
}

.sp {
    display: none;
}

/*--------------------------------------------------------------
  responsive - sp
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {

	/*----------------------------
	  common
	----------------------------*/
	.page-frame {
		width: 100%;
	}

	h1 {
		font-size: 6.5vw;
	}

	h2 {
		font-size: 5vw;
	}

	/*----------------------------
	  header
	----------------------------*/
	#header .header-inner .header-upper {
		width: 100%;
		height: 80px;
		margin: 0 auto;
		padding: 0 5vw;
		background-color: #fff;
		align-items: center;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9999;
	}

	#header .header-inner .header-upper .logo-area {
		width: 65vw;
	}

	#header .header-inner .header-upper .logo-area img {
		width: 100%;
	}

	#header .header-inner .header-bottom > ul {
		width: 100%;
		height: calc(100vh - 80px);
		background-color: #fff;
		display: none;
		position: fixed;
		top: 80px;
		z-index: 9999;
	}

	#header .header-inner .header-bottom ul li .sp {
		display: block;
	}

	#header .header-inner .header-bottom ul li {
		width: 80%;
		margin: 0 auto;
		text-align: left;
	}

	#header .header-inner .header-bottom ul,
	#header .header-inner .header-bottom ul li a {
		background-image: none;
	}

	#header .header-inner .header-bottom ul li.active::after {
		color: #ff5b71;
	}

	#header .header-inner .header-bottom ul li.active::after,
	#header .header-inner .header-bottom ul li:hover::after,
	#header .header-inner .header-bottom > ul > li::after {
		content: ">";
		width: auto;
		height: auto;
		background-color: transparent;
		font-size: 1.5em;
		position: absolute;
		top: 10px;
		right: 0;
		bottom: auto;
		left: auto;
	}

	#header .header-inner .header-bottom > ul > li ul li:hover::after {
		content: none;
	}

	#header .header-inner .header-bottom > ul > li:nth-child(3)::after {
		transform: rotate(90deg) scale(.8, 1.2);
	}

	#header .header-inner .header-bottom ul li ul,
	#header .header-inner .header-bottom ul li:hover ul {
		height: auto;
		display: block;
		position: initial;
	}

	#header .header-inner .header-bottom > ul > li ul li {
		width: 100%;
	}

	#header .header-inner .header-bottom > ul > li a {
		padding: 15px 10px;
		border-bottom: solid 2px #ff5b71;
	}

	#header .header-inner .header-bottom > ul > li ul li a {
		padding: 15px 0 15px 8%;
	}

	#header .header-inner .header-bottom ul li:hover a,
	#header .header-inner .header-bottom ul li > ul > li:hover > a,
	#header .header-inner .header-bottom > ul > li:hover > a {
		color: #000;
	}

	#header .header-inner .header-bottom .sp-menu {
		width: 42px;
		color: #ff709b;
		font-size: 10px;
		position: fixed;
		top: 15px;
		right: 15px;
		z-index: 9999;
	}

	#header .header-inner .header-bottom .sp-menu span:not(.txt) {
        width: 100%;
        height: 6px;
        margin: 6px 0;
        background-color: #ff709b;
        display: block;
        -webkit-transition: .15s;
        -moz-transition: .15s;
        -o-transition: .15s;
        -ms-transition: .15s;
        transition: .15s;
	}

	#header .header-inner .header-bottom .sp-menu span.txt {
		font-weight: bold;
		position: absolute;
		top: 42px;
		display: block;
	}

    #header .header-inner .header-bottom .sp-menu.open {
        padding-bottom: 10px;
    }

    #header .header-inner .header-bottom .sp-menu.open span.top {
        margin-top: 15px;
        transform: rotate(-45deg);
    }

    #header .header-inner .header-bottom .sp-menu.open span.middle {
        display: none;
    }

    #header .header-inner .header-bottom .sp-menu.open span.bottom {
        margin-top: -12px;
        transform: rotate(45deg);
	}

	/*----------------------------
	  header
	----------------------------*/
	#main {
		margin-top: 32px;
	}

	#main .main-inner section .common-button {
		width: 70vw;
	}

	/*----------------------------
	  footer
	----------------------------*/
	#footer .banner-area .to-top {
		right: 0;
	}

	#footer .footer-inner {
		padding: 25px 0;
	}

	#footer .footer-inner .footer-nav ul {
		flex-wrap: wrap;
	}

	#footer .footer-inner .footer-nav ul li {
		width: 45%;
		padding: 8px;
	}

	#footer .footer-inner .footer-nav ul li::after {
		content: none;
	}

	#footer .footer-inner .footer-nav ul li a {
		padding: 6px 0;
		border: solid 2px #fff;
		border-radius: 5px;
		letter-spacing: 2px;
		display: block;
	}

	/*----------------------------
	  device
	----------------------------*/
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }
}

	/*----------------------------
	  190624追記
	----------------------------*/
.item-empty {
	border: none!important;
	border-radius: none!important;
	color: #fff!important;
	width: 225px;
	height: 102px;
	position: relative;
	padding: 15px 5px 5px;
	margin-top: 15px;
}
.item-empty:before {
	border: none!important;
}
@media screen and (max-width: 768px){
.item-empty,
.item-empty:before {
	display: none;
}
}