@charset "utf-8";
/* CSS Document */

/*PC版=====================================================================*/

p,ul{
	line-height: 1.8;
	text-align: left;
	font-size:2rem;
	list-style: outside;}

ul{
	margin-left:3rem;}

h2{
	font-size:3.5rem;
	letter-spacing: 0.1rem;}

.container{
	margin-top:7rem;}

.mainimg,
.mainimg img{
	margin-bottom:0!important;
	padding-bottom:0!important;}

/*header*/

header{
	background-color:#006009;}

.header{
	align-items: center;
	padding:1.5rem 0;}

h1 img{
	margin-top:1.5rem;
	max-width:30vw;}

.header-box span{
	display: block;
	font-size:1.8rem;
	text-align: center;
	color:#fff;
	line-height:1.3;
	letter-spacing: 0.1rem;}

span.callno{
	font-weight: bold;
	font-size:2.8rem;}

span.callno img{
	width:2rem;
	margin-right:0.5rem;}

/*topnavi*/

#tnavi{
	margin:0;
	padding:1rem 0;}

nav a:hover {
	text-decoration: underline;
	color:#000;
    background-color:#fff;}

nav a {
    padding:0!important;}

nav li{
	border-left: 1px solid #000;}

nav li:first-child{
	border-left:none;}

/*main*/

main {
    margin:0;}

main li{
	margin-bottom:0;}

strong{
	border-bottom: 1px solid #000;}

strong > strong{
	color:red;}

section.gray-back{
	padding:7rem 0 5rem 0;}/*緑部分のパディング調節*/

h2 img{
	width:30vw;}

.mt0{
	margin-top:0!important;}

.mt00{
	margin-top:-1rem!important;}

.mb0{
	margin-bottom:0!important;}

.mt1{
	margin-top:1rem!important;}

.mt2{
	margin-top:2rem!important;}

.ml2{
	margin-left:2rem!important;}

/*h2のアンダーライン*/
.under {
    border-bottom: 0.6rem solid #006009;
    padding:0 0 0.5rem 0;}

/*コピーライト*/

li.cright{
	margin-top:2rem;
	margin-left:1rem;
	font-size:1.6rem;}

/*上に戻る*/

#pagetop a{
	color:#fff;
	text-decoration: none;
	font-weight: bold;
	background-color: #000;
	line-height:0;}

#pagetop a img{
	width:2.5rem;
	height:4rem;}

#pagetop a:hover{
	background-color: #008F14;
	color:#fff;}


/*お問い合わせなどのボタン*/

.button{
	padding:2.5rem 5rem 2.5rem 3rem;
	color:#fff;
	font-size: 2.3rem;
	font-weight: bold;
	background-color: #006009;
	border-radius: 20px;
	box-sizing: content-box;
	background-image:url("../img/icon_yajirushi.svg");
	background-position: 97% 48%;
	background-size:25px;}

.button:hover{
	background-color: #008F14;
	color:#fff;}

/*お知らせ欄*/

dl.notice{
	font-size:2rem;
	text-align: left;}

.nblock{
	display: flex;
	border-bottom:2px solid #008F14;}

.nblock dt{
	width: 20rem;
	font-weight: bold;
	padding:2rem 0;}

.nblock dd{
	width: calc(100% - 20rem);
	padding:2rem 0;}

/*footer*/

footer li{
	list-style: none;
	margin-bottom:0;}

footer ul#fnavi a{
	text-decoration:none;}

footer ul#fnavi a:hover{
	text-decoration: underline;
	color:#fff;}

footer ul#fnavi li{
	padding-left:3.5rem;
	background-image: url("../img/icon_yajirushi.svg");
	background-size: 1.8rem;
	background-position:0.5rem;}

/*ファーストビュー画像スライダー========================================*/

.img-frame{
   position: relative;
   width: 100%;
   height: 700px;
   overflow: hidden;
   margin: 0 auto;
}
@media screen and (max-width: 1025px){
.img-frame{
   width: 100%;
   height: 300px;}
}

@media screen and (max-width: 500px){
.img-frame{
   width: 100%;
   height: 200px;}
}

.img-01, .img-02, .img-03, .img-04, .img-05{
   position: absolute;
   top:0;
   left:0;
   width: 100%;
   height: 100%;
   background-size: cover;
   background-repeat: no-repeat;
}
.img-01{
   background-image:url("../img/mainimg_4.jpg");
   animation: slide-animation-01 25s infinite;
}
.img-02{
   background-image: url("../img/mainimg_5.jpg");
   animation: slide-animation-02 25s infinite;
}
.img-03{
   background-image: url("../img/pict_kkzu.jpg");
   animation: slide-animation-03 25s infinite;
}

@keyframes slide-animation-01 {
	0% {opacity: 1;transform: scale(1.0);}
	30% {opacity: 1;}
	40% {opacity: 0; transform: scale(1.15);}
	90% {opacity: 0}
	100% {opacity: 1; transform: scale(1.0);}
}
@keyframes slide-animation-02 {
    0% {opacity: 0;}
	30% {opacity: 0; transform: scale(1.1);}
	40% {opacity: 1;}
	60% {opacity: 1;}
	70% {opacity: 0; transform: scale(1.0);}
	100% {opacity: 0;}
}
@keyframes slide-animation-03 {
    0% {opacity: 0;}
	60% {opacity: 0;  transform: scale(1.0);}
	70% {opacity: 1;}
	90% {opacity: 1;}
	100% {opacity: 0; transform: scale(1.1);}
}

/*子ページ用＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝*/

div.dlbox{
	font-size:2rem;}

div.dlbox div{
	text-align: left;
	padding:3rem;
	margin:2rem 0;
	border:2px solid #000;
	border-radius: 20px;}

div.dlbox div h3{
	font-weight: bold;
	font-size:3rem;}

div.dlbox dl{
	margin-left:3rem;}

div.dlbox dt{
	margin:2rem 0 1rem 0;
	font-weight: bold;
	font-size:2.5rem;}

div.dlbox dd{
	margin:0.5rem 0;
	background-image:url("../img/icom_checkmark.svg");
	background-size: 23px;
	background-position:5px 4px;
	margin-left:2rem;
	padding-left:4rem;}


/*子ページ用トップナビ*/

ul.tnavi2{
	width:100%;}

ul.tnavi2 li{
	margin-left:5rem;}

/*フォーム*/

.formbox{
	width:50%;
	margin:0 auto;
	font-size:2rem;}

label{
	font-weight: bold;}

input[type="text"],
input[type="email"]{
	font-weight: bold;
	font-size:2rem;
	width:50%;
	border: 1px solid #000;}

textarea,
select {
	font-size:2rem;
	width:100%;
	border: 1px solid #000;}

input[type="submit"]{
	margin:2rem auto 0 auto;
	height:auto;
	padding:1rem 2rem;
	font-size:2rem;
	font-weight: bold;
	border-radius: 10px;
	background: #006009;
	color:#fff;}


/* 幅1024px以下の表示 a=====================================================================*/
@media screen and (max-width: 1024px){


/*header*/

h1 img{
	max-width:50vw;}

.header-box span{
	font-size:1.8vw;}

.header-box span.callno{
	font-size:2.5vw;}

.header-box span.callno img{
	width:2vw;}


/*footer*/

footer{
	padding:3rem 2rem 4rem 2rem;}

footer ul{
	font-size:1.8rem;
	margin-left:0;}

footer h2{
	font-weight:bold;
	padding-left:0!important;
	font-size:2.5rem;}

/*topnavi*/

#tnavi ul{
	font-size:2vw;}

/*フォーム*/

.formbox{
	width:80%;
	margin:0 auto;
	font-size:1.8rem;}

label{
	font-weight: bold;}

input[type="text"],
input[type="email"]{
	font-size:1.8rem;
	width:80%;}

}

/* 幅768px以下の表示
-------------------------------------*/
@media screen and (max-width: 768px){
	

section{
	margin:0;
	padding:4rem 1rem;}

section.gray-back{
	padding:4rem 1rem;}/*緑部分のパディング調節*/

.container{
	margin:0;
	padding:0 2rem;}

h2 img{margin-top:3rem;}

main p,
main ul{
	font-size:1.8rem;}/*基本サイズ変更*/

.container{
	margin-top:3rem;}

.tleft{
	margin-bottom:3rem;}/*記事のマージン*/

.tright{
	margin-top:2rem;}/*記事のマージン*/

h1 img{
	margin-top:0;
	max-width:320px;
	position: relative;
	top:3px;}

h2 img{
	width:300px;}

/*footer*/

footer .cright{
	position: absolute;
	bottom:-50px;}

footer ul{
	margin-top:2rem;}

footer{
	padding:3rem 2rem 8rem 2rem;}

/*トップメニュー部分*/
	
nav ul li{
	font-weight: bold;
	font-size:1.8rem;
	border-left:none;
	border-bottom:1px solid #eee;}

nav ul li:last-child{
	border-bottom:none;}


/*h2調整*/

.under{
	text-align: center!important;
	letter-spacing: normal;
	font-size:2.5rem;
	line-height: 6rem;
	margin:0 auto;}

 h2{padding:0 2rem!important;}


/*リスト調整*/

main ul{
	list-style:inside;}

/*header*/

.header{
	padding:2.5rem 0 0 0;}


/*トップメニュー部分、モバイル用メニューボタンの位置調整*/
	
nav{
	padding-top:8.2rem;
	position: relative;
	bottom:8.3rem;}

#tnavi{
	margin:0;
	padding:0;}

/*トップメニュー部分、モバイル用メニューボタンの位置移動に際した下部コンテンツの位置調整*/

.mainimg{
	position: relative;
	bottom:8.2rem;}/*メイン画像スライドショー部分*/

.mobiletop{
	position: relative;
	bottom:8.2rem;}

.mobilemiddle{
	position: relative;
	bottom:6rem;
	margin-bottom:0!important;
	padding-bottom:0!important;}


/*お知らせ欄*/

.nblock{
	padding:0;
	flex-direction: column;
	margin-bottom:2rem;
	border-bottom:none;
	font-size:1.9rem;}

.nblock dt{
	width:100%;
	margin:0 0 1rem 0;
	padding:0 0 1rem 0;
	border-bottom:1px solid #006009;}

.nblock dd{
	width:100%;
	padding:1rem 0 0 0;}
	

/*お問い合わせなどのボタン*/

.button{
	margin-top:2rem;
	padding:2vw 8vw 2vw 3vw;
	font-size: 3vw;
	background-size: 5vw;}

/*子ページ用==============================================*/

/*各種ご案内*/

div.dlbox{
	font-size:1.8rem;}

div.dlbox div{
	text-align: left;
	padding:3rem 3rem 2rem 3rem;
	margin:2rem 0;
	border:2px solid #000;
	border-radius: 20px;}

div.dlbox div h3{
	font-size:2.5rem;}

div.dlbox dl{
	margin-left:2rem;}

div.dlbox dt{
	font-size:2.3rem;}

div.dlbox dd{
	margin:0.2rem 1rem;
	background-size: 20px;}


/*子ページ用トップナビ*/

ul.tnavi2{
	width:100%;
	list-style-position:outside;}

ul.tnavi2 li{
	margin-left:1rem;}

/*フォーム*/

.formbox,
input[type="text"],
input[type="email"]{
	width:100%;}

}

/* 幅500px以下の表示
-------------------------------------*/
@media screen and (max-width: 500px){

h1{
	position: relative;
	bottom:5px;}

h1 img{
	max-width:220px;
	top:0;
	right:30px;}

nav img{
	width:60px;}

main ul{
	margin-left:0;}

/*メニューボタン*/

#open {
    width: 40px;
    height: 40px;
    top: 25px;
    right: 8px;}

#close {
    width: 40px;
    height: 40px;
    top: 25px;
    right: 8px;}

/*footer*/

footer{
	padding:2.5rem 1.3rem 8rem 1.3rem;}

footer ul{
	font-size:1.6rem;
	margin-top:1rem;}/*基本サイズ変更*/

footer h2{
	font-size:2.5rem;}

footer .cright{
	position: absolute;
	bottom:-50px;}

/*お問い合わせなどのボタン*/

.button{
	padding:2vw 8vw 2vw 3vw;
	font-size: 18px;
	background-size: 15px;}

/*子ページ用==============================================*/

/*各種ご案内*/

div.dlbox div{
	padding:2.3rem 2rem 1.5rem 2rem;}

div.dlbox div h3{
	font-size:2.2rem;}

div.dlbox dl{
	margin-left:0;}

div.dlbox dt{
	font-size:1.8rem;}

div.dlbox dd{
	margin:1rem 0.5rem;
	padding-left:3rem;
	line-height:1.5;}


/*子ページ用トップナビ*/

ul.tnavi2{
	width:100%;
	list-style-position:outside;
	margin-left:1rem;}
}