@charset "utf-8";
html { scroll-behavior: smooth;}
body {
    font-size: 18px;
    font-family:"Arial", "Helvetica", "sans-serif","YuGothic","ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro","Hiragino Kaku Gothic ProN", "Roboto",'Noto Sans JP', sans-serif,"Verdana","Droid Sans","メイリオ", "Meiryo","ＭＳ Ｐゴシック",sans-serif;
    overflow-x: hidden;
    color:#333;
}


/*------------------------------全体の設定PCここから*/
section{
    width:800px;
	padding:50px 0;
    margin: 0 auto;
}
div,p{
    line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph;
    margin: 0 0 20px;
}
h1,h2,h3,h4{
    line-height: 1.6em;
}
.pc-img{
    display: block;
}
.sp-img{
    display: none;
}

/*------------------------------全体の設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
section{
    width:700px;
}
}

/*------------------------------全体の設定*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
section{
    width:90vw;
	padding:5vw 0;
    margin: 0 auto;
}
div,p{
    line-height:1.7em;
    word-break: break-all;
    margin: 0 0 2vw;
}
p{
    font-size:3.5vw;
}	
h1,h2,h3,h4{
    line-height: normal;
}
.pc-img{
    display: none;
}
.sp-img{
    display: block;
}
}
/*--------------*/



/*------------------------------header・MVの設定PCここから*/
header{
    width: 1080px;
    margin: 30px auto 0;
    position: relative;
}
header .head-logo{
    width: 300px;
    margin: 0 20px 0 0;
}
header .head-subject{
    width: 170px;
}
header .head-info{
    background: #f2e9e4;
    border-radius: 0 0 10px 10px;
    padding:10px 20px 15px;
    position:absolute;
    top:-30px;
    right: 30px;
}
header .head-info div{
    display: flex;
    align-items: center;
    line-height: 1.5em;
    font-weight: 600;
    border-bottom: 1px solid #333;
    padding: 0 0 5px;
    margin: 5px auto;
}
header .head-info div:nth-child(3){
    border-bottom: none;
    padding: 0 0;
    margin: 5px auto 0;
}
header .head-info div span:nth-child(1){
    width: 70px;
    height: 25px;
    line-height: 25px;
    background: #41ac5e;
    color: #fff;
    font-size: .8em;
    text-align: center;
    margin: 0 10px 0 0;
}
#mv{
    margin: 30px auto 0;
}
#mv h1 img{
    width: 100%;
    object-fit: contain;
}

/*------------------------------header・MVの設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
header{
    width: 100%;
}
header .head-logo{
    width: 250px;
    margin: 0 20px 0;
}
header .head-subject{
    width: 150px;
}
header .head-info{
    font-size: .9em;
    right: 20px;
}
header .head-info div span:nth-child(1){
    width: 60px;
    font-size: .7em;
}
}

/*------------------------------header・MVの設定*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
header{
    width: 90vw;
    margin: 3vw auto 0;
    position:static;
}
header .head-logo{
    width: 50vw;
    margin: 0 2vw 0 0;
}
header .head-subject{
    width: 35vw;
}
header .head-info{
    display: none;
}

#mv{
    margin: 3vw auto 5vw;
}

}
/*--------------*/




/*-----------------------------------------メインPCここから*/
main{
    margin: 50px auto 0 ;
}
h2{
    background: #ffffe7;
    color: #41ac5e;
    font-size: 1.5em;
    font-weight: 600;
    border-radius: 10px;
    padding: 10px 20px;
    margin: 0 auto 30px;
}


#director .director-flex{
    display: flex;
}
#director .director-flex .director-name{
    font-size: 1.2em;
    font-weight: 600;
}
#director .director-flex .director-ph{
    width: 200px;
    margin:  0 50px 0 0;
}
#director .director-flex div h3{
    font-weight: 600;
    border-bottom: 1px solid #333;
}
#director .director-flex div dl{
    display: flex;
    flex-wrap: wrap;
    width: 550px;
    margin: 0 auto 50px;
}
#director .director-flex div dl dt{
    width: 150px;
}
#director .director-flex div dl dd{
    width: 400px;
}


#guidance h3{
    color: #41ac5e;
    font-size: 1.1em;
    font-weight: 600;
    margin: 0 auto 10px;
}
#guidance p{
    border-bottom: 1px dotted #333;
    padding: 0 0 30px;
}

#access .access-flex{
    display: flex;
}
#access .access-flex iframe{
    width: 500px;
    height: 350px;
}
#access .access-flex p{
    margin: 0 0 0 50px;
}

#notice{
    width: 100%;
    background: #f2e9e4;
    padding: 80px 0;
    margin: 50px auto 0;
}
#notice .notice-wrap{
    width: 800px;
    background: #fff;
    border-radius: 20px;
    padding:40px 50px 20px;
    margin: 0 auto;
}


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


/*------------------------------メイン設定*/
/*----------------------------------------------タブレット*/
@media (min-width: 641px) and (max-width: 1024px) {
main{
    margin: 50px auto 0 ;
}
h2{
    font-size: 1.3em;
    border-radius: 5px;
}

#director .director-flex div dl{
    width: 450px;
}
#director .director-flex div dl dt{
    width: 150px;
}
#director .director-flex div dl dd{
    width: 300px;
}


#guidance h3{
    font-size: 1em;
}
#guidance p{
    padding: 0 0 20px;
}

#access .access-flex iframe{
    width: 400px;
    height: 350px;
}

#notice{
    padding: 50px 0;
    margin: 0 auto;
}
#notice .notice-wrap{
    width: 700px;
}

}
/*----------------*/

/*------------------------------メイン*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
main{
    margin: 0 auto  ;
}
h2{
    font-size: 4.5vw;
    border-radius: 2vw;
    padding:3vw 5vw;
    margin: 0 auto 3vw;
}


#director .director-flex{
    flex-direction: column;
}
#director .director-flex .director-name{
    font-size: 4vw;
    font-weight: 600;
}
#director .director-flex .director-ph{
    width: 200px;
    margin:  0 auto 5vw;
}
#director .director-flex div h3{
    font-size: 3.8vw;
    padding: 0 0 2vw;
    margin: 0 0 2vw;
}
#director .director-flex div dl{
    font-size: 3.5vw;
    width: 100%;
    margin: 0 auto 5vw;
}
#director .director-flex div dl dt{
    width: 30%;
}
#director .director-flex div dl dd{
    width:70%;
}


#guidance h3{
    font-size: 3.8vw;
    margin: 0 auto 3vw;
}
#guidance p{
    padding: 0 0 3vw;
}

#access .access-flex{
    flex-direction: column;
}
#access .access-flex iframe{
    width:90vw;
    height: 40vw;
}
#access .access-flex p{
    margin: 5vw 0 0;
}

#notice{
    padding: 8vw 0;
    margin: 0 auto;
}
#notice .notice-wrap{
    width: 90vw;
    border-radius: 2vw;
    padding:8vw 8vw 5vw;
}

}
/*--------------*/



/*------------------------------フッター設定PCここから*/
#footer{
    background: #41ac5e;
    text-align: center;
    padding: 50px 0 0;
    margin: 0 auto;
}
#footer img{
    width: 300px;
}
#footer p{
    color:#fff;
    text-align: center;
    margin: 30px auto 50px;
}
#footer .small_box {
    background: #fff;
  font-size: .6em;
  text-align: center;
    padding: 20px;
}
/*----------------*/


/*------------------------------フッター*/
/*----------------------------------------------スマホ*/
@media (max-width: 640px) {
#footer{
    padding: 8vw 0 0;
}
#footer img{
    width: 60vw;
}
#footer p{
    font-size: 3vw;
    margin: 3vw auto 5vw;
} 
    
#footer .small_box {
    font-size: 2.5vw;
    padding:3vw 5vw ;
  }
}
/*--------------*/


.clearfix:after{content: "";
  display:block;
  clear:both;}

