@charset "UTF-8";
/*
---------------------------------------
    subpage
---------------------------------------
*/

header {
    height: 250px;
    background: #F5F5F3;
}
header #logo {
    width: 38%;
    margin: 0 auto;
    padding: 40px 0 0 0;
    text-align: center;
}
header #btns {
    position: absolute;
    width: 350px;
    height: 100px;
    top: 50px;
    right: 0;
}
header #btns a {
    display: inline-block;
    margin: 0 0 5px 0;
}
header nav {
    padding: 1.5em;
    font-size: 1.8rem;
    text-align: center;
}
header nav a {
    display: inline-block;
    margin:  0 1.5em;
}

@media screen and (max-width: 960px) {
    header {
        height: auto !important;
    }
    header #logo {
        width: 70%;
        padding: 10px 0;
    }
    header #btns {
        position: relative;
        width: 100%;
        height: auto;
        top: auto;
        right: auto;
        text-align: center;
    }
    header #btns br {  
        display: none;
    }
    header #btns a {
        width: 25%;
    }
    header #btns a img {
        width: 100%;
    }
    header nav {
        display: none;
    }
}



#wrapper {
    width: 100%;
    min-width: 1450px;
    color: #322825;
}
#inner2 {
    height: 2500px !important;
}
@media screen and (max-width: 960px) {
    #wrapper {
        min-width: auto;
        background-size:contain; 
    }
    #inner2 {
        background: none;
        height: auto !important;
    }
}


#wrapper .main_contents {
}
@media screen and (max-width: 960px) {
    #wrapper .main_contents {
        padding:  0 3vw 6vw 3vw;
        background-size:cover;
    }
}
#wrapper .main_contents > .inner {
    width: 1450px;
    margin: 0 auto;
    position: relative; 
}
@media screen and (max-width: 960px) {
    #wrapper .main_contents > .inner {
        width: 100%;
        padding-top: 20px;
    }
}



/* ▼セクション共通
------------------------------------- */

section {
    width: 1280px;
    margin:  2em auto;
    padding: 2em 0;
    font-size: 2.1rem;
    line-height: 170%;
    border-bottom: solid 7px #F883A0;
}
section:nth-child(1) { margin-top: 0; }

section h2 { 
    color: #F52B74;
    font-weight: bold;
    text-align: center;
    padding: 1em;
}
section p {
    padding: 1em;
}
section p.em { 
    color: #F52B74;
    font-weight: bold;
}
section img.shadow {
    box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.05);
}
section .left {
    float: left;
}
section .right {
    float: right;
}
section .t-wrapper{
    width: 60%;
    margin:  0 auto;
    padding: 2em;
}
section table { 
    width: 100%;
}
section table th {
    padding: 0.5em 1.5em;
    font-weight: bold;
    text-align: right;
    vertical-align: middle;
}
section table td {
    padding: 0.5em;
    text-align: left;
}

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

    section {
        width: 100%;
        margin:  2em auto;
        padding: 2em 0;
        font-size: 4vw;
    }
    section:nth-child(1) { margin-top: 0 !important; }
    section .left {
        float: none;
    }
    section .right {
        float: none;
    }
    section h2 { 
    }
    section p {
        text-align: left !important;
    }
    section p img {
        width: 100%;
    }    
    section .t-wrapper{
        width: 100% !important;
        margin:  5em auto 0;
        padding: 0;
    }
    section table th {
        display: block;
        width:100% !important;
        padding: 0.5em !important;
        text-align: left;
        background: #eee;
        border: none !important;
    }
    section table th br {
        display: none;
    }
    section table td {
        display: block;
        width:100% !important;
        padding: 0.5em !important;
        border: none !important;
        margin-bottom: 1em;
    }    
}






/* ▼セクションごと
------------------------------------- */

section#activities table th {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}
section#activities table td {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

section#recruitment table th {
    width: 30%;
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}
section#recruitment table td {
    border-top: solid 1px #ccc;
    border-bottom: solid 1px #ccc;
}

section#faq .in {
    padding:  2em 5em 0;
}
section#faq .in h3 {
    margin-bottom: 1em;
    padding: 0px 0 0 70px;
    font-size: 2.5rem;
    background: url(../img/ico_q.png) no-repeat;
}
section#faq .in div {
    margin-bottom: 2em;
    padding: 0 0 2em 80px;
    border-bottom: dotted 2px #ccc;
    font-size: 2rem;
    background: url(../img/ico_a.png) no-repeat;
}

section#forms .bnr-col2 {
    padding:  2em 0 5em;
    text-align: center;
}
section#forms .bnr-col2 a {
    display: inline-block;
    width: 45%;
    margin:  0 1%;
}



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

    section#intro {
        margin-top: 0;
        padding-top: 0;
    }
    section#faq .in {
        padding:  2em 0;
    }
    section#faq .in h3 {
        min-height: 3em;
        padding: 0 0 0 18vw;
        font-size: 4vw;
        font-weight: 700;
    }
    section#faq .in div {
        padding: 0 0 2em 18vw;
        font-size: 4vw;
    }

    section#forms .bnr-col2 {
    }
    section#forms .bnr-col2 a {
        width: 80%;
        margin-bottom: 2em;
    }

}





/* ▼フォーム系ページ
------------------------------------- */

img.title1 {
	display:block;
	margin: 0 auto 20px;
}
body.form {
}
body.form section {
    border-bottom: none;
}
body.form section h3 {
  margin: 20px auto 20px;
  padding: 12px 20px 8px;
  background: #fff;
  border-left: solid 8px #99CC00;
  font-size: 1.9rem;
}
body.form .kiji1 {
    width: 1000px;
    margin:  0 auto;
    padding: 2em;
    background: #f6f6f6;
	border-radius: 25px;
    border: dotted 2px #ccc;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
    font-size: 1.9rem;
}
body.form .head {
    margin-bottom: 30px;
    padding: 1em 0;
    font-weight: bold;
    border-bottom: dashed 2px #aaa;
}
body.form .kiji2 {
    width: 1000px;
    margin:  0 auto;
    padding: 2em;
	border-radius: 25px;
	-webkit-border-radius: 25px;
	-moz-border-radius: 25px;
    border: solid 2px #99CC00;
    font-size: 1.9rem;
}


@media screen and (max-width: 960px) {
    body.form .kiji1,
    body.form .kiji2,
    body.form section h3 {
       width: 100%;
       font-size: 4vw;
       padding: 1em;
    }
}


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







.form-wrapper {
}
.form-wrapper dt {
	width:30%;
	float:left;
	margin-bottom:10px;
	text-align:right;
}
.form-wrapper dd {
	width:65%;
	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;
}

/* 確認画面で隠す */
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 {
	display:none;
}




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

.zdform dt,
.zdform dd {
	border:none !Important;
}
#btnCancel, #btnReturn, #btnDelete {
	padding:5px !Important;
	font-size:85% !Important;
}
#btnSubmit {
	margin-bottom:30px !Important;
}
.formHeaderMsg {
	text-align:center !Important;
}



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

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

}

div.description {
	color:#555;
	font-size:85%;
}






/*   news
----------------------------------------------------*/

#parents-menu {
	margin-bottom:30px;
	text-align:center;
}
#parents-menu a {
	display:inline-block;
	margin: 0 10px; 
	padding: 4px 20px 2px;
	text-align:center;
	background:#8C2;
	color:#fff;
	font-weight:bold;
	text-decoration:none;
}
#parents-menu a.logout {
	background:#666;
}



.news-wrapper {
}
.news-wrapper .unit {
	margin-bottom:20px;
	background:#fff;
	border:dotted 2px #aaa;
}

.news-wrapper.news1 {
	margin-bottom:100px !important;
}
.news-wrapper.news1 .date{
	padding:8px;
	background:#0ab;
	color:#fff;
}
.news-wrapper.news2 .date{
	padding:8px;
	background:#a66;
	color:#fff;
}

.news-wrapper .entry{
	padding:25px;
}
.news-wrapper .title{
	margin-bottom:20px;
	padding: 0.5em 1em;
	background:#eee;
	border-bottom:dotted 2px #ccc;
}
.news-wrapper .content{
	padding: 0 15px;
	font-size:90%;
}
.news-wrapper .content a {
	color:#009999;
}

@media screen and (max-width: 960px) {
    #parents-menu a {
        display:inline-block;
        width: 45%;
        margin: 10px 2%;
        padding: 4px 0.5em 2px;
        font-size: 3.5vw;
    }
    .news-wrapper .entry{
        padding:1em;
    }
}



/*   photo
----------------------------------------------------*/

#photo-wrapper {
}
#photo-wrapper .unit {
	display:block;
	width:48%;
	margin: 0 1% 20px;
	float:left;
	border:solid 1px #ccc;
    font-size: 90%;

	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	
	background:#fff;	
	text-decoration:none;
}
#photo-wrapper .unit:hover *{
	filter: alpha(opacity=80);
	-moz-opacity:0.8;
	opacity:0.8;
}
#photo-wrapper .unit .photo-content{
	padding:5%;
}
#photo-wrapper .unit .photo-date{
	padding: 10px 10px 5px;
	text-align:right;
	color:#555;
    background: #eee;
}
#photo-wrapper .unit .photo-img{
	padding:0 5% 5% 5%;
}
#photo-wrapper .unit .photo-img img {
	width:46%;
	margin: 10px 2%;
}
@media screen and (max-width: 600px) {
	
	#photo-wrapper .unit {
		width:96%;
	}
}






/*  distribution
----------------------------------------------------*/

.t-wrapper2 {
	width:85%;
	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;
    text-align: center;
    font-weight: normal;
}
.t-wrapper2 table td {
	padding:8px;
	text-align:left;
	border:solid 2px #fff;
	background:#fafafa;
}

.t-wrapper2 table img {
	display:inline-block;
}
@media screen and (max-width: 600px) {
	.t-wrapper2 {
		width:96%;
	}
}


/*   faq / policy / access / sitemap
----------------------------------------------------*/

#p-faq-index .kiji1 div {
	padding: 0 20px 40px;
    font-size: 90%;
}

#policy-top {
	margin: 0 auto 20px;
	padding:12px 20px 8px;
	background:#fff;
}
#p-policy-index h4 {
	margin-top:20px;
    padding: 0.5em 1em;
    background: #fff;
}
#p-access-index footer #footer-map {
	display:none;
}
#sitemap-content ul li {
	width:33%;
	float:left;
}



