@charset "utf-8";




/* レスポンシブ　ベース
----------------------------------------------------*/

@media screen and (min-width: 1024px) {
	.only-smp {
		display:none !important;
	}
	body {
		font-size:1.2rem;
		line-height:150%;		
	}
	#main-contents {
		width:1025px;
		margin: 0 auto;
		padding: 30px 0 0 0;
	}	
	section {
		width:100%;
		margin: 0 auto;
		padding-bottom:30px;		
	}
	body.subpage section {
		width:1025px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding: 60px 0 0 0;	
	}
	div.kiji {
		width:85%;
		margin: 0 auto;
		padding-bottom:40px;
	}
	.pc-w50p {width:50%;}
	.pc-w60p {width:60%;}
	.pc-w70p {width:70%;}
	.pc-w80p {width:80%;}
	.pc-w90p {width:90%;}


    /* PCは電話番号リンクを無効に */
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }

	
}
@media screen and (max-width: 1023px) {
	.only-pc {
		display:none !important;
	}
	body {
		width:100%;
		overflow:hidden;
		overflow-y:scroll;

		font-size:3.5vw;
		line-height:170%;		
	}		
	#main-contents {
		width:100%;
	}			
	section {
		width:100%;
		/*overflow:hidden;*/
	}	
	.smp-w100p {
		width:100% !important;
	}
	.image img,
	.img img,
	.smp-w100p {
		width:100% !important;
	}
	.smp-w90p {
		width:90% !important;
		margin: 0 auto;
	}
	input[type=submit],
	input[type=button] {
        appearance: none;
        -webkit-appearance: none;	
	}

}





/* animation
----------------------------------------------------*/

@keyframes poyopoyo {
  0%, 90% {
    transform: scale(0.9) rotate(2deg);
  }
  40% {
    transform: scale(0.95) rotate(-2deg);
  }  
  20%, 60% {
    transform: scale(1.0) rotate(0deg);
  }
}






/*  header 2023
----------------------------------------------------*/

header {
	border-top: 12px solid #F17791;
	background:#FFFEF7;
}
#header-inner .only-pc {
	width:1025px;
	margin: 0 auto;
}
#header-left {
	width:493px;
	float:left;
	margin-top:13px;
}
#header-left img,
#header-left a {
	display:block;
	float:left;
}
#header-left-1 {
}

#header-right {
	width:389px;
	float:right;
	text-align:right;
}
#header-right img,
#header-right a {
	display:block;
	float:right;
}
#header-right a:hover img {
	animation: poyopoyo 0.6s ease-out 0s 1;
	opacity: 1 !important;
}
#header-right-1 {
	padding:13px 0 40px;
}
#header-right-2 {
}

header nav {
	display:block;
	float:left;
	padding:10px 0;
}
header nav li {
	display:block;
	float:left;
	position:relative;
}
header nav li ul.sub-menu {
	display:none;
	position:absolute;
	width:180px;
	top: 43px;
	z-index:9999;
	left:15px;
	padding:10px;
	background:#fff;
	border:solid 1px #97e6d5;
/*	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;*/
}
header nav li ul.sub-menu li {
	float:none;
	text-align:center;
}
header nav li ul.sub-menu li a {
	text-decoration:none;
	font-size:80%;	
}
header nav li ul.sub-menu li a.small {
	font-size:60%;	
}

@media screen and (max-width: 1023px) {
	header {
		padding-top:10px;
	}
	#header-left-1,
	#header-left-2 {
		text-align:center;
	}
	#header-left-1 img {
		display:inline-block;
	}
	#header-left-2 img {
		display:inline-block;
	}
	#header-left-2 a {
		width:45%;
		display:inline-block;
	}	
	header nav {
		display:block;
		float:none;
		padding-bottom:20px;
	}
	header nav li {
		display:block;
		float:left;
		width:calc(100% / 3);
	}
	header nav li a img {
		width:100%;
	}
	header nav li.last {
		padding: 3px 2% 0;
	}
	header nav li.last a {
		position:relative;
		display:inline-block;
		width:29%;
		margin: 0 2%;
		
		/* for fixed */
		z-index:7777777;
	}
	#smp-menu {
		display:none;
		
		position:fixed;
		z-index:7777778;
		top:0;
		left:0;
		width:100%;
		height:100%;
		background-color:rgba(0, 0, 0, 0.7);
	}
	#smp-menu .menu-btn {
		float:right;
		width:10vw;
	}
	#smp-menu ul {
		padding: 15vw 0 5vw 0;
	}
	#smp-menu li a,
	#smp-menu li span {
		display:block;
		padding:5px 20px;
		border-bottom:dotted 1px #fff;
		color:#fff;
		text-decoration:none;
	}
	#smp-menu li.sub {
		display:none;
	}
	#smp-menu li.sub a {
		padding:5px 20px 5px 45px;
	}

}









/* top mainimage 2023 スライド
----------------------------------------------------*/


#mainimage {
	position:relative;
	width:100%;
	height:510px;
	overflow:hidden;
}
#mainimage img#hover-text {
	position:absolute;
	z-index:99;
	top:300px;
	right:calc((100% - 1140px) / 2);
}
#mainimage img#hover-frame-top {
	position:absolute;
	z-index:99;
	top:0px;
	left:0px;
	width:3800px !important;
	max-width:none;
	height:38px;
}
#mainimage img#hover-frame-bottom {
	position:absolute;
	z-index:99;
	top:450px;
	left:0px;
	width:3800px !important;
	max-width:none;
	height:104px;
}
#mainimage-in {
	width:1140px;
	height:490px;
	margin: 0 auto;
	overflow:visible;
}
#mainimage-in div.unit { /* slide unit */
	position:relative;
	height:490px;
}
#mainimage-in div.unit img {
}


#mainimage-in .slick-list {
  overflow: visible;
}
#mainimage-in .slick-track {}
#mainimage-in .slick-slide {
  opacity: 0.5;
  transition-duration: 0.3s;
}
#mainimage-in .slick-slide.slick-current {
  opacity: 1;
}




@media screen and (max-width: 1023px) {

	#mainimage {
		height:45vw;
	}
	#mainimage img#hover-text {
		width:44vw;
		top:30vw;
		left:50vw;
		z-index:8888;
	}
	#mainimage img#hover-frame-top {
		display:none;
	}
	#mainimage img#hover-frame-bottom {
		display:none;
	}
	#mainimage-in {
		width:100%;
		height:auto;
	}
	#mainimage-in div.unit { /* slide unit */
		height:auto;
	}
}







/*  main-contents 2023
----------------------------------------------------*/

#main-contents {
	
    border-radius: 10px;
    object-fit: cover;
	
	/*　その他は冒頭記載　*/	
}
#main-contents section {
	margin-bottom:50px;
}
img.title1 {
	display:block;
	margin: 0 auto 20px;
}

@media screen and (max-width: 1023px) {
	
	#main-contents {
		padding-top: 30px;
	}
	#main-contents section {
		width:100%;
	}
}




#top-policy {
	width:100%;
	height:435px;
	margin-bottom:70px;
	background:url(../img/top_policy_bg.jpg) repeat-x center;
}
#top-policy div {
	width:1022px;
	margin: 0 auto;
	padding: 30px 0;
	display:flex;
	justify-content: space-around;
}
#top-policy div a:hover img {
	animation: poyopoyo 0.6s ease-out 0s 1;
	opacity: 1 !important;
}


@media screen and (max-width: 1023px) {
	#top-policy {
		height:45vw;
		margin-bottom:10vw;
		background:url(../img/top_policy_bg.jpg) repeat-x center bottom;
		background-size:180%;
	}
	#top-policy div {
		width:100%;
		padding:5vw 0;
	}
	#top-policy div a {
		display:block;
		width:100%;
		flex-basis:33%;
	}	
}




#top-news {
	width:1020px;
	height:510px;
	margin:0 auto 70px;
	background:url(../img/top_news_bg.jpg) no-repeat;
}
#top-news .in {
	padding:70px 90px 0;
}
#top-news .in .more {
	margin-bottom:10px;
	text-align:right;
}
#top-news .in .more a {
	color:#009999;
	font-weight:bold;
}
#top-news ul {
	width:94%;
	height:310px;
	margin:10px 0 0 0;
	
	overflow:scroll;
	overflow-x:hidden;
	overflow-y:scroll;
}
#top-news ul li {
	display:block;
	margin-bottom:15px;
	padding-bottom:15px;
	padding-left:60px;
	background:url(../img/ico_pen.jpg) no-repeat left 5px;
	text-decoration:none;
	border-bottom:dotted 1px #ccc;
	font-size:1.2rem;
	line-height:160%;	
}
#top-news ul li .date {
	letter-spacing:1px;
}

@media screen and (max-width: 1023px) {
		
	#top-news {
		width:96%;
		height:auto;
		margin:0 auto 10vw;
		background:none;
	}
	#top-news .in {
		padding:0;
	}
	#top-news .in .more {
		margin-bottom:10px;
		text-align:right;
		font-size:1rem;
	}
	#top-news ul {
		width:94%;
		height:auto;
		margin:10px 0 0 0;
		overflow:visible;	
	}
	#top-news ul li {
		display:block;
		margin-bottom:3vw;
		padding-bottom:3vw;
		padding-left:7vw;
		background:url(../img/ico_pen.jpg) no-repeat left 0;
		background-size:5vw;
		text-decoration:none;
		border-bottom:dotted 1px #ccc;
		font-size:1rem;
	}
	#top-news ul li .date {
		letter-spacing:1px;
	}
}




#top-insta {
	width:100%;
	height:606px;
	margin-bottom:60px;
	background:url(../img/top_insta_bg.jpg) repeat-x center;
}
#top-insta .in {
	width:1022px;
	margin: 0 auto;
	padding-top:100px;
}
#top-insta .in a#insta-logo {
	display:inline-block;
	margin:50px 0 20px 20px;
}
#top-insta .in div {
	width:100%;
	height:270px;
	padding:20px 40px;
	background:#fff;
	box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.05);
}
#top-insta .in p#insta-more {
	padding:30px 0;
	text-align:center;
}
#top-insta .in p#insta-more img {
	display:inline-block;
}

@media screen and (max-width: 1023px) {

	#top-insta {
		width:100%;
		height:auto;
		margin-bottom:10vw;
		background:#DBF3FB;
	}
	#top-insta .in {
		width:100%;
		margin: 0;
		padding-top:3vw;
	}
	#top-insta .in a#insta-logo {
		display:block;
		width:50%;
		margin:3vw auto;
	}
	#top-insta .in div {
		width:98%;
		height:auto;
		margin: 0 auto;
		padding:2vw;
	}
	#top-insta .in p#insta-more {
		padding:3vw 25vw;
	}
}






#top-banner {
	width:1024px;
	margin: 0 auto 60px;
}
#top-banner .col2 {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#top-banner .col2 a {
	display:block;
	flex-basis: 50%;
	margin-bottom:20px;
}
#top-banner .col1 {
}
#top-banner .col1 a {
	display:block;
	margin-bottom:20px;
}

@media screen and (max-width: 1023px) {
	
	#top-banner {
		width:96%;
		margin: 0 auto 7vw;
	}
	#top-banner .col2 {
	}
	#top-banner .col2 a {
		flex-basis: 49%;
		margin-bottom:3vw;
	}
	#top-banner .col1 {
	}
	#top-banner .col1 a {
		margin-bottom:3vw;
	}
}








/*  footer 2023
----------------------------------------------------*/

footer {
	width:100%;
	padding: 300px 0 0 0;
	background:url(/common/img/footer_bg.jpg) repeat-x center top #E0F9E0;
}

footer .in {
	width:1024px;
	margin: 0 auto;
}

#footer-info {
	width:457px;
	height:300px;
	float:left;
}
#footer-info-1 {
}
#footer-info-2 img,
#footer-info-2 a {
	display:block;
	float:left;
}

#footer-map {
	width:490px;
	height:300px;
	float:right;
}
#footer-map div {
	padding:5px;
	box-shadow: 0 5px 15px 0 rgba(0, 0, 0, 0.3);
	background:#fff;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;	
}
#footer-map div iframe {
	display:block;
	width:100%;
	height:250px;
}



#footer-navi {
	padding: 60px 0 0 0;
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;	
}
#footer-navi ul {
	flex-basis: 25%;
	margin-bottom:20px;
	padding:0;
}
#footer-navi ul li {
	display:list-item;
	list-style: disc inside;
}
#footer-navi ul li.head {
	margin-left:-25px;
	margin-bottom:10px;
	padding-left:35px;
	list-style: none !important;
	background:url(../img/ico_flower1.jpg) no-repeat left 3px;
}
#footer-navi ul li a {
	text-decoration:none;
	font-size:1.1rem;
	color:#633;
}
#footer-navi ul li.head a {
	font-size:1.3rem;
	font-weight:bold;
}
#footer-navi ul li a.small {
	font-size:0.95rem;
}
#footer-navi ul li a:hover {
	text-decoration:underline;
}



#footer-link {
	padding:50px 0 20px 0;
	text-align:right;
}
#footer-link li {
	display:inline-block;
}
#footer-link a {
	display:inline-block;
	margin-right:25px;
	padding: 5px 0 5px 40px;
	background:url(../img/ico_flower2.jpg) no-repeat left top;
	text-decoration:none;
	font-size:1.1rem;
	color:#633;
}



#copyright {
	padding: 30px;
	background:#30241D;
	color:#fff;
	font-size:1rem;
	text-align:center;
	letter-spacing:1px;
}



@media screen and (max-width: 1023px) {
	
	footer {
		padding: 50vw 0 0 0;
		background-size:120%;
	}
	
	footer .in {
		width:96%;
		margin: 0 auto;
	}
	
	#footer-info {
		width:100%;
		height:auto;
		float:none;
	}
	#footer-info-1 img {
		width:100%;
		max-width:500px;
		margin: 0 auto;
		display:block;
	}	
	#footer-info-2 {
		margin-bottom:3vw;
		text-align:center;
	}
	#footer-info-2 img {
		width:48%;
		max-width:300px;
		display:inline-block;
		float:none;
	}
	#footer-info-2 a {
		width:48%;
		max-width:300px;
		display:inline-block;
		float:none;
	}
	#footer-info-2 a img {
		width:100% !important;
		display:inline-block;
	}
		
	#footer-map {
		width:100%;
		height:auto;
		float:none;
		margin-bottom:10vw;
	}
	#footer-map div iframe {
		height:40vw;
	}
	
	
	
	#footer-navi {
		padding: 0 3vw;
	}
	#footer-navi ul {
		flex-basis: 50%;
		margin-bottom:4vw;
	}
	#footer-navi ul li.head {
		margin-left:0px;
		margin-bottom:3vw;
		padding-left:6vw;
		background-size:5vw;
	}
	#footer-navi ul li a {
		font-size:0.8rem;
	}
	#footer-navi ul li.head a {
		font-size:1rem;
	}	
	#footer-navi ul li a.small {
		font-size:0.7rem;
	}	
	
	#footer-link {
		padding:5vw 0 2vw 0;
		text-align:right;
	}
	#footer-link a {
		display:inline-block;
		margin-right:5vw;
		padding: 0 0 0 6vw;
		background:url(../img/ico_flower2.jpg) no-repeat left top;
		background-size:5vw;
		font-size:0.9rem;
	}
	
	#copyright {
		padding: 5vw;
		font-size:0.8rem;
	}

}










/*  2023 以下、TOP以外のページ
--------------------------------------------------------------------------
--------------------------------------------------------------------------
-------------------------------------------------------------------------- */


/*   汎用スタイル
----------------------------------------------------*/



body.subpage {
	background:url(/common/img/bg_gdad1.jpg) repeat-x center 200px;
}
body.subpage section.bg-sky {
	width:100% !important;
	margin-top:60px;
	background:url(/common/img/bg_sky.jpg) repeat-x center top;
}
body.subpage section .in {
	width:100%;
	margin: 0 auto;
	padding-bottom:30px;
}

@media screen and (max-width: 1023px) {
	body.subpage {
		background:url(/common/img/bg_gdad1.jpg) repeat-x center top #FFFEFA;
		background-size:200%;
	}
	body.subpage section.bg-sky {
		margin-top:3vw;
		background:url(/common/img/bg_sky.jpg) repeat center top;
		background-size:200%;
	}
	body.subpage section .in {
		padding:4vw 0;		
	}	
}



h2 {
	width:90%;
	margin: 0 auto 40px;
	padding:15px 0;
	border-bottom:dotted 3px #099;
	color:#077;
	font-size:2.2rem;
	line-height:100%;
	text-align:center;
}

@media screen and (max-width: 1023px) {
	h2 {
		width:95%;
		margin: 0 auto 7vw;
		padding:4vw 0 2vw 0;		
		font-size:1.9rem;
		line-height:110%;
	}
}

h3 {
	width:86%;
	margin: 0 auto 30px;
	padding:15px 20px;
	background:#fff;
	border-left:solid 8px #9C0;
	box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.05);
	color:#7A0;
	font-size:1.6rem;
	line-height:100%;
}
.kiji1 h3 { width:100%; }

@media screen and (max-width: 1023px) {
	h3 {
		width:95%;
		margin: 0 auto 7vw;
		padding:2.5vw 2vw 1.5vw 3vw;
		font-size:1.3rem;
		line-height:130%;	
	}
}


h4 {
	margin: 0 auto 30px;
	padding:10px 20px;
	background:#fff;
	border-left:solid 4px #ad1;
	box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.03);
	font-size:1.3rem;
	font-weight:normal;
}

@media screen and (max-width: 1023px) {
	h4 {
		margin: 0 auto 7vw;
		padding:1.8vw 3vw 1.5vw;	
		font-size:1.1rem;
		font-weight:bold;
		color:#333;
	}
}


ul#lnavi {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;

	width:80%;
	margin: 0 auto 50px;
}
ul#lnavi li {
	flex-basis: 30%;
}
ul#lnavi li a {
	display:block;
	padding:7px 15px;	
	
	border:solid 1px #077;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;

	text-align:center;		
	background:#fff;
	text-decoration:none;
	color:#077;
}
ul#lnavi li.active a {
	background:#077;
	color:#fff;
}
ul#lnavi.life li {
	flex-basis: 20%;
}
ul#lnavi.life li:nth-child(1) {
	flex-basis: 30%;
}
ul#lnavi.info li {
	flex-basis: 23%;
}
ul#lnavi.support li:nth-child(1){
	flex-basis: 30%;
}
ul#lnavi.support li:nth-child(2) {
	flex-basis: 36%;
}
ul#lnavi.support li:nth-child(3),
ul#lnavi.support li:nth-child(4) {
	flex-basis: 16%;
}

ul#lnavi.parents li:nth-child(2) {
	flex-basis: 28%;
}
ul#lnavi.parents li:nth-child(1),
ul#lnavi.parents li:nth-child(3),
ul#lnavi.parents li:nth-child(4) {
	flex-basis: 20%;
}


@media screen and (max-width: 1023px) {

	ul#lnavi {
		width:96%;
		margin: 0 auto 7vw;
	}
	ul#lnavi li {
		flex-basis: 32%;
		margin-bottom:3vw;
	}
	ul#lnavi li a {
		padding:1vw 2vw;	
	}
	ul#lnavi li.active a {
		background:#077;
		color:#fff;
	}
	ul#lnavi.life li {
		flex-basis: 48%;
	}
	ul#lnavi.life li:nth-child(1) {
		flex-basis: 48%;
	}
	ul#lnavi.info li {
		flex-basis: 48%;
	}
	ul#lnavi.support li:nth-child(1){
		flex-basis: 48%;
	}
	ul#lnavi.support li:nth-child(2) {
		flex-basis: 48%;
	}
	ul#lnavi.support li:nth-child(2) a {
		font-size:0.8rem !Important;
	}	
	ul#lnavi.support li:nth-child(3),
	ul#lnavi.support li:nth-child(4) {
		flex-basis: 48%;
	}
	
	ul#lnavi.parents li:nth-child(2) {
		flex-basis: 48%;
	}
	ul#lnavi.parents li:nth-child(1),
	ul#lnavi.parents li:nth-child(3),
	ul#lnavi.parents li:nth-child(4) {
		flex-basis: 48%;
	}
}






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

dl {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom:40px;
}
dl dt {
	flex-basis: 19%;
	padding-right:10px;
	border-right:2px dotted #077;
	text-align:right;
	font-weight:bold;
	color:#077;
}
dl dd {
	flex-basis: 78%;
}


.shadow1 {
	display:block;
	padding:4px;
	background:#fff;
	box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.1);
}

.photo-frame img {
	display:block;
	margin: 30px auto;
	padding:10px;
	background:#fff;
	box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.1);
}

.tel {
	padding: 20px 0;
	font-size:1.7rem;
	color:#099;
}
.tel a {
	color:#099;
}

.round-button {
	width:300px;
	margin: 40px auto 15px;
	text-align:center;
	font-size:1.7rem;
	border:solid 2px #099;
	background:#fff;

	border-radius: 35px;
	-webkit-border-radius: 35px;
	-moz-border-radius: 35px;
}
.round-button a {
	display:block;
	padding: 20px;
	color:#099;
	text-decoration:none;
}

@media screen and (max-width: 1023px) {

	.photo-frame img {
		width:100%;
		margin: 3vw auto;
		padding:0;
		background:#fff;
		box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.1);
	}	
	.round-button {
		width:50vw;
		margin: 2vw auto 3vw;
		font-size:4vw;
	}
	.round-button a {
		padding: 2.5vw 2vw 2vw 2vw;
	}	
}








.t-wrapper1 {
	width:80%;
	margin: 0 auto;
	padding:20px;
	background:#f6f6f6;
}
.t-wrapper1 table {
	width:100%;
}
.t-wrapper1 table tr {
}
.t-wrapper1 table th {
	padding:8px 30px 8px 0;
	text-align:right;
	border-bottom:dashed 2px #ddd;
}
.t-wrapper1 table td {
	padding:8px;
	text-align:left;
	border-bottom:dashed 2px #ddd;
}
.t-wrapper1 tr:nth-child(1) th,
.t-wrapper1 tr:nth-child(1) td {
	border-top:dashed 2px #ddd;
}


@media screen and (max-width: 1023px) {
	.t-wrapper1 {
		width:96%;
		background:#eee;
	}
	.t-wrapper1 table th {
		display:block;
		width:100% !important;
		padding:8px;
		text-align:center;
		background:#fff;
		border:none !important;
	}
	.t-wrapper1 table th br {
		display:none;
	}
	.t-wrapper1 table td {
		display:block;
		width:100% !important;
		padding-bottom:25px;
		border:none !important;
	}
	.t-wrapper1 tr:nth-child(1) th,
	.t-wrapper1 tr:nth-child(1) td {
		display:block;
		width:100%;	
	}	
}





.t-wrapper2 {
	width:100%;
	margin: 0 auto 50px;
}
.t-wrapper2 table {
	width:100%;
	border-collapse:collapse;
}
.t-wrapper2 table tr {
}
.t-wrapper2 table th {
	padding:8px;
	border:solid 2px #fff;
	background:#ddd;
}
.t-wrapper2 table td {
	padding:8px;
	text-align:left;
	border:solid 2px #fff;
	background:#fafafa;
}
.t-wrapper2 table span {
	font-size:0.9rem;
}
.t-wrapper2 table img {
	display:inline-block;
}
@media screen and (max-width: 1023px) {
	.t-wrapper2 {
		width:96%;
	}
	.t-wrapper2 th,
	.t-wrapper2 td {
		padding:3px;
		font-size:0.9rem;
	}	
}





.t-wrapper3 {
	width:100%;
	margin: 0 auto 50px;
}
.t-wrapper3 table {
	width:100%;
	border-collapse:collapse;
	background:#fff;
}
.t-wrapper3 table tr {
}
.t-wrapper3 table th {
	padding:8px;
	border:solid 1px #ccc;
	background:#fefefe;
}
.t-wrapper3 table th.head {
	background:#eee;
}
.t-wrapper3 table td {
	padding:8px;
	text-align:left;
	border:solid 1px #ccc;
}
.t-wrapper3 table span {
	font-size:0.8rem;
	font-weight:normal;
}
.t-wrapper3 table img {
	display:inline-block;
}
@media screen and (max-width: 1023px) {
	.t-wrapper3 {
		width:96%;
	}
}







.kiji1 { /* ノーマル */
	width:80%;
	margin: 0 auto 60px;
}
.kiji2 { /* 手紙調 */ 
	width:800px;
	margin: 0 auto;
	padding: 80px 100px;
	background:url(/common/img/bg_binsen1.png) repeat-y bottom right;
}

@media screen and (max-width: 1023px) {

	.kiji1 {
		width:96%;
	}
	.kiji2 {
		width:96%;
		padding: 10% 6% 20%;
	}
}




/*   園の紹介
----------------------------------------------------*/

@media screen and (max-width: 1023px) {

	section#about-outline .kiji1 {
		margin-bottom:5vw;
		padding: 3vw !important; 
		text-align:left !important;
	}
	section#about-outline .kiji1 br {
		display:none;
	}
	
	
	
	
	
}




/*   年間行事
----------------------------------------------------*/

#life-year {
	width:100%;
	padding:30px;
	background:#fff;
}
#life-year table {
	width:100%;
}
#life-year td,
#life-year th {
	vertical-align:top;
}
#life-year td img {
	display:block;
	margin: 0 auto 10px;
	padding:2px;
	background:#fff;
	box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.05);
}

@media screen and (max-width: 1023px) {
	#life-year {
		padding:0;
	}
	#life-year td {
		font-size:1rem;
	}
	#life-year td img {
		width:46vw !important;
	}
}



/*   給食
----------------------------------------------------*/

.lunch-unit {
	margin-bottom: 40px;
}
.lunch-unit p {
	width:60%;
	float:right;
	padding:30px 0 0 0;
}
.lunch-unit img {
	width:35%;
	display:block;
	float:left;
}





/*   こあらクラブ
----------------------------------------------------*/

.koara-next {
    margin: 0 0 2em;
    padding: 1em;
    border: solid 1px #ccc;
    text-align: center;
}
.koara-next .p1{
    font-size: 120%;
    color: #f03 !important;
}
.koara-next .p2{
    padding: 0.5em 0 !important;
    font-size: 110%;
    font-weight: bold !important;
}
.koara-next .p3{
    padding: 1em;
    text-align: center;
}
.koara-next .p3 img {
    display: inline;
}



/*   保護者ログイン
----------------------------------------------------*/

#login-form {
	width:600px;
	margin: 0 auto 30px;
	text-align:center;
}
#login-form div {
	margin-bottom:30px;
}

#login-bottom {
	width:600px;
	margin: 0 auto 30px;
}
#login-bottom p {
	margin-bottom:20px;
}
#login-bottom ul{
	padding-left:30px;
}


@media screen and (max-width: 1023px) {
	#login-form {
		width:90%;
		margin: 0 auto 3vw;
	}
	#login-form div {
		margin-bottom:3vw;
	}
	#login-form input[type=password]{
		display:block;
		width:80%;
		margin:0 auto 3vw;
	}
	#login-form input[type=button]{
		display:block;
		width:50%;
		margin:0 auto 6vw;
		padding:3vw 5vw !Important;
		background:#ddd;
		color:#000;
		font-size:1rem !Important;
	}
	
	#login-bottom {
		width:90%;
		margin: 0 auto 3vw;
	}
	#login-bottom p {
		margin-bottom:3vw;
	}
	#login-bottom ul{
		padding-left:3vw;
	}

}


/*   保護者 ＞ お知らせ
----------------------------------------------------*/

#parents-info {
}
#parents-info .unit {
	margin-bottom:40px;
	padding:30px;
	background:#fff;
	border:solid 1px #ccc;
}
#parents-info .date{
	text-align:right;
	margin-bottom:20px;
}
#parents-info .date img {
	display:inline;
}
#parents-info .title {
	padding: 0 0 5px 5px;
	margin-bottom:10px;
	color:#9c0;
	font-size:1.3rem;
	font-weight:bold;
	border-bottom:solid 2px #9c0;
}
#parents-info .content {
	padding:10px;
}

@media screen and (max-width: 1023px) {
	#parents-info .unit {
		margin-bottom:4vw;
		padding:3vw;
	}
	#parents-info .date{
		margin-bottom:1vw;
	}
	#parents-info .date img {
		display:inline;
	}
	#parents-info .title {
		font-size:1.1rem;
	}
	#parents-info .content {
		padding:1vw;
	}
}







/*   保護者 ＞ 配布物ダウンロード
----------------------------------------------------*/

#parents-download {
}
#parents-download td.filename {
	width:50%;
}
#parents-download td.date {
	width:25%;
}


@media screen and (max-width: 1023px) {
}







/*   保護者 ＞ アルバム集
----------------------------------------------------*/

#parents-album {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;	
}
#parents-album .unit {
	flex-basis: 32%;
	overflow:hidden;
	margin: 0 0 30px 0;
	background:#fff;
	border:solid 1px #ccc;
}
#parents-album .unit:nth-child(3n){
	margin-right:0 !important;
}
#parents-album .unit .image a {
	display:block;
}
#parents-album .unit .image img {
	width:100%;
	display:block;
	max-height:175px;
}
#parents-album .unit .title{
	padding:10px 10px 0 10px;
	text-align:center;
}
#parents-album .unit .date{
	padding:10px;
	text-align:center;
}

#parents-album-archive {
}
#parents-album-archive .yy {
	margin-bottom:15px;
	padding: 0.6em 25px 0.4em 25px;
	background:#dee;
	font-weight:bold;
	font-size:1.5rem;
	line-height:100%;
	letter-spacing:2px;
	
	border-radius: 9px;
	-webkit-border-radius: 9px;
	-moz-border-radius: 9px;
}
#parents-album-archive .yy a {
	display:block;
	text-decoration:none;
}
#parents-album-archive .yy a div {
	display:inline-block;
	width:calc(100% - 25px);
}
#parents-album-archive .arrow{
	position: relative;
	display: inline-block;
	padding: 0;
	color: #000;
	vertical-align: middle;
	text-decoration: none;
	font-size: 15px;
}
#parents-album-archive .arrow::before,
#parents-album-archive .arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
#parents-album-archive .arrow.closed::before{
	top:-14px;
	left: 14px;
	width: 14px;
	height: 14px;
	border-top: 2px solid #7a0;
	border-right: 2px solid #7a0;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
#parents-album-archive .arrow.opend::before{
	top:2px;
	left: 14px;
	width: 14px;
	height: 14px;
	border-top: 2px solid #7a0;
	border-right: 2px solid #7a0;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}


#parents-album-archive .mm {
	padding:10px 0 20px 30px;
}
#parents-album-archive .mm.closed {
	display:none;
}
#parents-album-archive .mm a {
	display:block;
	width:22%;
	float:left;
	margin: 0 20px 15px 0;
	padding: 0.5em 15px 0.4em 15px;
	background:#dee;
	font-size:1.3rem;
	line-height:100%;
	letter-spacing:2px;
	text-decoration:none;
	text-align:center;
	
	border-radius: 9px;
	-webkit-border-radius: 9px;
	-moz-border-radius: 9px;
}
#parents-album-archive .mm a.active {
	background:#9aa;
	color:#fff;
}


@media screen and (max-width: 1023px) {
	#parents-album {
		padding:0 3vw;
	}
	#parents-album .unit {
		flex-basis: 47%;
		margin: 0 0 5vw 0;
	}
	#parents-album-archive .yy {
		font-size:1.1rem;
	}
	#parents-album-archive .mm a {
		width:44%;
		font-size:1.1rem;
	}

}







/* Lightbox2 カスタム
------------------------------- */
.lb-outerContainer {
	width:818px !important;
	max-height:550px !important;
	overflow:hidden;
	border:solid 10px #fff !important;
	border-radius: 9px 9px 0 0 !important;
}
.lb-outerContainer img {
	width:100% !important;
	height:auto !important;
}
.lb-dataContainer {
	background:#fff;
	border:solid 10px #fff !important;
	border-radius: 0 0 9px 9px !important;
}
.lb-caption {
	display:block !important;
	padding: 0 10px 10px 10px !important;
	font-size:1.2rem !important;
	line-height:150% !important;
}
.lb-caption span {
	margin-bottom:8px;
	text-decoration:underline;
}
.lightboxOverlay {
  z-index: 8888888 !important;
}
.lightbox {
	z-index: 8888889 !important;
}
@media screen and (max-width: 1023px) {
	.lb-outerContainer {
		width:90% !important;
		max-height:150vw !important;
	}
	.lb-caption {
		display:block !important;
		padding: 0 10px 10px 10px !important;
		font-size:1rem !important;
		line-height:150% !important;
	}

}






/* Boxer カスタム
-------------------------------------- */
.boxer-content {
    width: 80vw !important;
	height: 60vw !important;
	margin: 0 auto;
}




/*   HOME ＞ よくある質問
----------------------------------------------------*/

#faq {
}
#faq .unit {
	margin-bottom:30px;
	padding:30px;
	background:#fff;
	box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.05);
}
#faq .q {
	padding-bottom:3px;
	color:#F66;
	font-size:1.3rem;
	font-weight:bold;
	border-bottom:dotted 2px #F66;
}
#faq .a {
	padding:20px 10px 30px 10px;
	color:#555;
	line-height:160%;
}
#faq .a a {
	color:#0099CC;
}

@media screen and (max-width: 1023px) {
	#faq .unit {
		margin-bottom:6vw;
		padding:3vw;
	}
	#faq .q {
		padding:3vw;
		font-size:1.2rem;
	}	
}




/*   HOME ＞ プライバシーポリシー
----------------------------------------------------*/

#policy {
}
#policy div {
	margin-bottom:30px;
	line-height:160%;
}
#policy div span {
	display:block;
	margin-bottom:15px;
	font-weight:bold;
	border-bottom:1px solid #555;
}
#policy div ul {
	padding:15px 0;
}






/*   HOME ＞ 採用情報
----------------------------------------------------*/

#recruit {
}
#recruit div {
	margin-bottom:30px;
	line-height:160%;
}
#recruit p {
    padding-bottom: 25px;
}
#recruit p span {
	display:inline-block;
	margin-right:5px;
	font-weight:bold;
}








/*   お問い合わせフォーム等  <form> がらみ
----------------------------------------------------*/

.form-header {
}
.form-header p {
	padding: 0 30px 40px;
}
.form-header p .em,
.form-header p .em * {
	display:inline-block;
	font-size:1.5rem;
	font-weight:bold;
}
.form-header .formHeaderMsg {
	margin-bottom:20px;
}

.formHeaderError {
	margin:20px;
	padding:20px;
	border:solid 2px crimson;
	background:#fff;
	color:crimson;
}
.formHeaderError li {
	margin-left:20px;
	color:crimson;
}


.form-wrapper {
}
.form-wrapper dt {
	width:30%;
	flex-basis: 30%;
	float:left;
	margin-bottom:10px;
	text-align:right;
}
.form-wrapper dd {
	width:65%;
	flex-basis: 70%;
	float:right;
	margin-bottom:10px;
}
.form-wrapper #btnCancel,
.form-wrapper #btnConfirm-label {
	display:none;
}
.form-wrapper .formHeaderMsg {
	margin-bottom:20px;
	color:crimson;
}
table.confirm {
	border-collapse:collapse;
}
table.confirm td,
table.confirm th {
	padding: 8px;
	border-top: dotted 2px #fff;
	border-bottom: dotted 2px #fff;
}

.form-wrapper .description {
	padding:10px 0 0 0;
	font-size:0.95rem;
	line-height:120%;
	color:#555;
}

input#birth,
input#address1,
input#address2 {
	float:left;
	margin-right:10px;
}
input#tel + .description,
input#email + .description {
	color:crimson !important;
}

.form-wrapper label {
	display:block;
}


body#home-contact .zdform {
	margin-bottom:0 !Important;
}
.form-bottom {
	padding: 0 60px;
}
.form-bottom p {
}


@media screen and (max-width: 1023px) {
	
	.formHeaderError {
		margin:2vw 4vw;
		padding:3vw;
	}
	.formHeaderError li {
		margin-left:3vw;
	}

	.form-wrapper dt {
		width:100%;
		flex-basis: 100%;
		margin-bottom:0;
	}
	.form-wrapper dt br {
		display:none;
	}
	.form-wrapper dd {
		width:100%;
		flex-basis: 100%;
		margin-bottom:3vw;
	}
	.form-wrapper .description {
		display:block;
		padding:1vw 0 0 0;
	}
	input#birth,
	input#address1,
	input#address2 {
		float:none;
		margin-right:0;
	}
	.form-bottom {
		padding: 0 3vw;
	}	
}






/* 確認画面で隠す */
body#p-kengaku-confirm .hide-on-confirm,
body#p-kengaku-send .hide-on-confirm,
body#p-recruit-confirm .hide-on-confirm,
body#p-recruit-send .hide-on-confirm,
dt#mode-label,
dt#mode-label + dd, 
dt#btnSubmit-label label {
	display:none;
}




.confirm {
	width:100%;
	margin: 0 auto;
	padding:20px;
	background:#fff;
}
.confirm  {
	width:100%;
}
.confirm  tr {
}
.confirm  th {
	padding:8px 30px 8px 0;
	text-align:right;
	border:solid 1px #ccc !important;
	background:#fafafa;
}
.confirm  td {
	padding:8px;
	text-align:left;
	border:solid 1px #ccc !important;
}

@media screen and (max-width: 1023px) {
	.confirm {
		width:96%;
	}
	.confirm th {
		display:block;
		width:100% !important;
		padding:8px;
		text-align:left;
		background:#eee;
		border:none !important;
		font-size:1rem !Important;
	}
	.confirm th br {
		display:none;
	}
	.confirm  td {
		display:block;
		width:100% !important;
		padding-bottom:25px;
		border:none !important;
		font-size:1rem !Important;
	}
	.confirm tr:nth-child(1) th,
	.confirm tr:nth-child(1) td {
		display:block;
		width:100%;	
	}	
}






/* -------------- o.w. ------------- */

.zdform dt,
.zdform dd {
	border:none !Important;
}
#btnCancel, #btnReturn, #btnDelete {
	padding:5px !Important;
	font-size:85% !Important;
}
#btnConfirm {
	display:block;
	float:right;
	margin: 30px 50px 0 0;
	padding:10px 20px;
}
#btnSubmit {
	margin-left:10%;
	padding:10px 20px;
}


@media screen and (max-width: 1023px) {

	.zdform ,
	.zdform dt,
	.zdform dd {
		float:none !important;
		width:100% !important;
		text-align:left !important;
	}
	.zdform dd select,
	.zdform dd input[type="text"],
	.zdform dd textarea {
		width:95% !important;
	}

	#btnConfirm, #btnSubmit {
		display:block;
		float:none;
		margin: 2vw auto !Important;
		padding:3vw 6vw !Important;
		background:#ddd;
		color:#000;
		font-size:1.2rem !Important;
	}
	#btnCancel, #btnReturn, #btnDelete {
		display:block;
		float:none;
		margin: 2vw auto !Important;
		padding:2vw 5vw !Important;
		background:#ddd;
		color:#111;
		font-size:1rem !Important;
	}
	
	
	
}
















