/* ベース */
body{
font-size: 20px;
font-family:'Noto Sans JP', sans-serif;
margin:0;
padding:0;
background: white;
}

p{margin:0 padding:0;}

a:link{
	text-decoration: none;
}

a:hover{
	transition : 0.3s;
}


img{
	margin:0;
	padding: 0;
	display: block;
	width:100%;
}

.sponly{
	display:none;
}

.pconly{
	display:block;
}


@media screen and (max-width: 599px) {
	
body{
font-size:4vw;
}
	
.sponly{
	display:block;
}

.pconly{
	display:none;
}

}



/* ヘッダーとKVのベース*/


/* header */

.header{
	width:100%;
   position: fixed;
	padding:1.5em 0;
  	z-index: 100;
   background-color: rgba(255,255,255,0.98);
}


.head-inner{
	width:90%;
	margin:0 auto;
	display:flex;
	justify-content: space-between;
	align-items: center;
	font-weight:500;
}

.head-logo{
	width:37%;
	min-width:300px;
	max-width:550px;
}

/* PC-menu */

.menu{
	width:63%;
	text-align: right;
	font-size:1.1em;
	font-family: rubrik-new, sans-serif;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.05em
}

.menu a:link{
	color:black;
	display: inline-block;
	margin:0.5em 0 0.5em 1em;
}

.menu a:visited{
	color:black;
}

.menu a:hover{
	color:#00a078;
}


.menu-bt{
	display: inline-block;
}

.menu-bt a{
	padding:0.5em 1.5em;
	background-color:black;
	color:#FFF;
	font-size:80%;
	border-radius: 50px;
}

.menu-bt a:link{
	color:#FFF;
}

.menu-bt a:visited{
	color:#FFF;
}

.menu-bt a:hover{
	color:#FFF;
	background-color: #00a078;
} 


.spmenu{
	display:none;
}

@media screen and (max-width: 599px) {
.header{
	padding:1.25em 0;
}
	
.head-logo{
	width:68%;
	min-width:68%;
	max-width:68%;
	margin-left:5%;
}}

/* kv */

#fvarea{
	width: 100%;
	padding:10% 0 5% 0;
}

#first-v{
	width:95%;
	margin:0 0 0 5%;
	padding:7.5em 0;
}

.catchcopy{
	width: 100%;
	margin:0;
}

.catchcopy .catchbox {
	font-size:2em;
	background-color:white;
	padding:0.3em 1.5em;
	line-height:250%;
	font-weight:700;
}

.text-green{
color:#00a078;	
display: inline-block;
}

@media screen and (max-width: 599px) {
	
#fvarea{
	width: 100%;
	padding:8% 0 5% 0;
}

#first-v{
	width:95%;
	margin:0 0 4% 5%;
	padding:6em 0 10em 0;
}


.catchcopy .catchbox {
	font-size:1.5em;
	padding:0.2em 1.5em;
	line-height:280%;
}


}



/* コンテンツBOX */

.graybox{
	width: 100%;
	background:#f6f6f3;
}

.greenbox{
	width: 100%;
	background:#00a078;
	color:white;
}


.innerbox-right{
	width:100%;
	letter-spacing:0.09em;
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
}

.innerbox-left{
	width:100%;
	letter-spacing:0.09em;
	display: flex;
	justify-content:flex-start;
	align-items: stretch;
}


.contents{
	width: 55%;
	padding:2.5em 0;
}

.contents3{
	width: 70%;
	padding:2.5em 0 4em 0;
	margin:0 auto;
}


@media screen and (max-width: 599px) {
	
.graybox{
 padding:1em 0;
}

.greenbox{
 padding:1em 0;
}
	
.innerbox-right{
	width:100%;
	display: block;
}

.innerbox-left{
	width:100%;
	display: block;
}


.contents{
	width: 85%;
	margin: 0 auto;
	padding:0;
}
	
.contents3{
	width: 85%;
	margin: 0 auto;
	padding:0 0 1em 0;
}

}


/* コンテンツ写真の指定 */

.pic1{
	width:30%;
	background-image: url(../img/pic.jpg);
	background-size: cover;
	background-position: center;
	height:auto;
}

.pic2{
	width:30%;
	background-image: url(../img/oketani.png);
	background-size: cover;
	background-position: center;
	height:auto;
}

.pic4{
	width:30%;
	background-image: url(../img/top2.jpg);
	background-size: cover;
	background-position: left bottom;
	height:auto;
}


@media screen and (max-width: 599px) {
	
.pic1{
	width:85%;
	background-image: none;
	margin:0 auto 2em;
}


.pic2{
	width:85%;
	background-image: none;
	margin:0 auto;
}

.pic4{
	width:85%;
	background-image: url(../img/top2.jpg);
	background-size: cover;
}

}


.readcopy-right{
	width:90%;
	margin-bottom:2.5em;
}

.readcopy-left{
	width:90%;
	margin-left:10%;
	margin-bottom:2.5em;
}

.readcopy-left a:link{
	color:white;
	text-decoration:none;
}

.readcopy-left a:visited{
	color:white;
	text-decoration:none;
}

.readcopy-left a:hover{
	color:white;
	text-decoration:underline;
	transition : 0.3s;
}


.readcopy-center{
	width:100%;
	margin-bottom:2.5em;
}

@media screen and (max-width: 599px) {
	
.readcopy-right{
	width:100%;
	margin-bottom:2.5em;
}

.readcopy-left{
	width:100%;
	margin-left:0%;
	margin-bottom:2.5em;
}


.readcopy-center{
	width:100%;
	margin-bottom:2.5em;
}
}



.program{
	width:92%;
	background:white;
	padding:3% 4%;
}

.program-wrap{
	width:100%;
	display: flex;
	justify-content: space-between;
}

.pg-pic{
	display: block;
	width:30%;
}

.program-wrap .program-text{
	width:65%;
}

.program-wrap .program-text p{
margin-top:0;
font-weight:700;
}


.bt-s{
	width: 100%;
	display: flex;
	justify-content: flex-end;
	margin-top:0.75em;
}

.bt-s a{
	display:inline-block;
	background-color:black;
	color:white;
	font-weight: 700;
	border-radius: 50px;
	text-align:center;
	padding:0.5em 1.5em;
	font-size:0.8em;
	width:35%;
}

.bt-s a:visited{
	background-color:black;
}

.bt-s a:hover{
	background-color:#00a078;
}


@media screen and (max-width: 599px) {
	
.program{
	width:100%;
	background:white;
	padding:2em 0;
	text-align: center;
}

.program-wrap{
	width:85%;
	display: block;
	text-align:left;
	margin:0 auto
}

.pg-pic{
	display: block;
	width:100%;
	margin: 2em 0;
}

.program-wrap .program-text{
	width:100%;
}

.program-wrap .program-text p{
text-align: center;
}


.bt-s{
	width: 100%;
	margin-top:2em;
	text-align: center;
}
	
	.bt-s a{
		width:100%;
		padding:1em 0;
		font-size:1em;
	}


}



/* コーナータイトル */

.innerbox-right h2{
	width:90%;
	display:block;
	margin-bottom:1em;
	font-size:1.6em;
	font-family: rubrik-new, sans-serif;
	font-weight: 700;
	font-style: normal;
}

.innerbox-left h2{
	width:90%;
	display:block;
	margin-bottom:1em;
	margin-left:10%;
	font-size:1.6em;
	font-family: rubrik-new, sans-serif;
	font-weight: 700;
	font-style: normal;
}

h3{
	font-size:1.2em;
	font-weight:700;
	line-height:100%;
	margin: 0.5em 0 1.5em 0;
}

@media screen and (max-width: 599px) {
	
.innerbox-left h2{
	width:100%;
	margin-left:0;
}

h3{
	font-size:1.1em;
	font-weight:700;
	line-height:100%;
	margin: 0.5em 0 1.5em 0;
}

}





/* footer */
footer{
	width:100%;
	padding:3em 0;
	background-color: black;
	text-align: center;
	color:white;
}

.footer-inner{
	width:90%;
	margin:0 auto;
}

footer img{
	display:block;
	width:12%;
	min-width: 200px;
	margin:0 auto 2em auto;
}


@media screen and (max-width: 599px) {
.footer-inner{
	width:90%;
	margin:0 auto;
	font-size:80%;
}	

footer img{
	display:block;
	width:12%;
	min-width: 200px;
	margin:0 auto 2em auto;
 }

/*ハンバーガーメニューーーーーーーーーーーー*/

/*========= ナビゲーションのためのCSS ===============*/

#g-nav{
    /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
    position:fixed;
    z-index: 999;
    /*ナビのスタート位置と形状*/
	top:0;
    right: -120%;
	width:100%;
    height: 100vh;/*ナビの高さ*/
	background:#FFF;
    /*動き*/
	transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#g-nav.panelactive{
    right: 0;
}

/*ナビゲーションの縦スクロール*/
#g-nav.panelactive #g-nav-list{
    /*ナビの数が増えた場合縦スクロール*/
    position: fixed;
    z-index: 999; 
    width: 100%;
    height: 100vh;/*表示する高さ*/
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#g-nav ul {
    /*ナビゲーション天地中央揃え*/
    position: absolute;
    z-index: 999;
    top:30%;
    left:50%;
    transform: translate(-50%,-50%);
}

/*リストのレイアウト設定*/

#g-nav li{
	list-style: none;
   text-align: center;
	font-family: rubrik-new, sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size:1.3em;
}

#g-nav li a{
	color: #000;
	text-decoration: none;
	padding:20px;
	display: block;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	font-weight: bold;
}
	
/*========= ボタンのためのCSS ===============*/
.openbtn{
	position:fixed;
    z-index: 9999;/*ボタンを最前面に*/
	top:10px;
	right: 10px;
	cursor: pointer;
    width: 50px;
    height:50px;
}
	
/*×に変化*/	
.openbtn span{
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
	background-color: #000;
  	width: 45%;
  }

.openbtn span:nth-of-type(1) {
	top:15px;	
}

.openbtn span:nth-of-type(2) {
	top:23px;
}

.openbtn span:nth-of-type(3) {
	top:31px;
}

.openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
	opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}
}