@charset "UTF-8";

body{
	font-family: 'ヒラギノ角ゴ Pro', sans-serif;
}
.br_45{
	display: none;
}
h1{
	padding: 0!important;
	margin: 0!important;
}
/* header ----------------------- */
#header{
	background-color: #fff;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.h-inner{
	max-width: 1420px;
	padding: 0 10px;
	margin: 0 auto;
	height: 100%;
}
.nav-wrapper{
	width: 65%;
}
.h-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}
.header_top{
	position: absolute;
    top: 0;
    right: 0;
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}
.h-contact{
	background-color: #e0781b;
	border-radius: 7px;
	line-height: 1.6em;
	position: relative;
}
.h-contact a{
	display: block;
	color: #fff;
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	font-size: 12px;
	padding: 9px 0 9px;
	letter-spacing: 0.04em;
	line-height: 1.6em;
	padding-right: 20px;
	padding-left: 40px;
	font-weight: 600;
	text-align: center;
}
.h-contact::before{
	position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 24px;/*画像の幅*/
	height: 16px;/*画像の高さ*/
	background-image: url(../img/top/icon_mail.png);
	background-size: contain;
}
.logout_btn{
	font-size: 14px;
	right: 175px;
	background-color: #0a6238;
	border-radius: 7px;
	line-height: 1.2;
	text-align: center;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-right: 10px;
}
.logout_btn a{
	display: block;
	color: #fff;
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	padding: 6px 20px 4px;
	letter-spacing: 0.02em;
}
.h-login{
    width: -webkit-fill-available;
    background-color: #31845f;
    border-radius: 7px;
    text-align: center;
    padding: 3px 0;
    overflow: hidden;
    margin-top: 5px;
    position: relative;
}
.h-login a{
	display: block;
	color: #fff;
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	font-size: 11px;
	letter-spacing: 0.04em;
	line-height: 1.6em;
	overflow: hidden;
}
.h-login span{
	font-family: 'ヒラギノ角ゴ Pro', sans-serif;
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.12em;
	padding-left: 10px;
	position: relative;
}
.h-login span::before{
	position: absolute;
	top: 50%;
	left: -10px;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 14px;/*画像の幅*/
	height: 17px;/*画像の高さ*/
	background-image: url(../img/top/icon_log.png);
	background-size: contain;
	background-repeat:no-repeat;
}
.h-login span.logout::before{
    background-image: url(../img/top/icon_logout.png);
	background-size: contain;
	background-repeat:no-repeat;
}
.key{
	max-width: 40px;
	position: absolute;
	top: 0px;
	right: 0;
}


.logo{
	padding: 0px 20px 0px 0;
	width: 21%;
}
.logo img{
	max-width: 290px;
}
.jigyoshadantai{
	padding: 0 20px 0 0;
	width: 7%;
}
.jigyoshadantai img{
	max-width: 100px;
}
.gnav{
	padding-bottom: 10px;
}
.gnav-list{
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
.gnav-item{
	padding: 0 0.5vw;
	position: relative;
	width: 12%;
}
.gnav-item.contact_wrap{
	width: 16%;
}
.soon{
	display: none;
}
.gnav-item::after{
	position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 4px;/*画像の幅*/
	height: 54px;/*画像の高さ*/
	background-image: url(../img/top/nav_right.png);
	background-size: contain;
}
.gnav-item:last-child::after{
	display: none;
}
.drop_wrap{
	-webkit-transition: all .2s ease;
	transition: all 0.1s ease;
	position: absolute;
	top: 80px;
	left: 0;
	visibility: hidden;
	background-color: #31845f;
	padding: 15px;
	border: 1px solid #fff;
	width: max-content;
	z-index: 999;
}
.nav_drop{
	padding: 10px;
	border: 1px solid #fff;
}
.nav_drop a{
	padding: 15px 0px;
	color: #fff;
	display: inline;
}
.nav_drop a:hover{
    color:#fffa00;
}
.nav_drop li{
	padding: 7px 15px;
	border-bottom: 2px dashed #fff;
	font-weight: 600;
	font-size: 18px;
}
.gnav-item .nav_drop li:last-child a::after{
	display: none;
}
.gnav-item:hover .drop_wrap{
	  visibility: visible;
	  z-index: 100;
}
.gnav-item .nav_drop a::after{
  width: 100%;
  background-color: #fff;
}
.gnav-item .nav_drop a:hover::after{
  background-color: #fff;
}
.sp-h-wrapper, .sp-gnav-list, .sp-gnav-item,.sp-gnav-item02, .burger-btn{
	display: none;      
}

.nav-sp-only{
	display: none;
}
.none{
	display: none;
}
.dum{
	margin-top: 95px;
}

@media screen and (max-width:1700px){
	.drop_wrap{
		left: auto;
		right: 0;
	}
}
@media screen and (max-width:1350px){
	.gnav-item{
		width: 14%;
	}
	.gnav-item.contact_wrap{
		width: 25%;
	}
	.h-contact{
		text-align: center;
	}
}
@media screen and (max-width:1200px){

	.gnav-item {
    padding: 0 0.5vw;
}

}

@media screen and (max-width:1024px){
	.jigyoshadantai{
		padding: 0;
	}
	.nav-wrapper{
		width: 70%;
	}
}
@media screen and (max-width:1000px){

	.gnav-item {
    padding: 0 0.5vw;
 }
	.dum{
		margin-top: 95px;
	}

}
@media screen and (max-width:900px){
	.dum{
		margin-top: 95px;
	}

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

/* ハンバーガーボタン */
	.burger-btn{
		display: inline-block;
		width: 50px;
		height: 41px;
		position: absolute;
		z-index: 3;
		border: none;
		right: 0px;
	}    
	.bar{      
		width: 35px;      
		height: 4px;        
		display: block;      
		position: absolute;      
		left: 50%;      
		transform: translateX(-50%);      
		background-color: #31845f;    
	}    
	.bar_top{   
		top: 10px;
	}
	.bar_mid{    
		top: 50%;
		transform: translate(-50%,-50%);
	}
	.bar_bottom{
		bottom: 10px;
	}

	.burger-btn.close .bar_top{      
		transform: translate(-50%,10px) rotate(45deg);      
		transition: transform .3s;    
	}    
	.burger-btn.close .bar_mid{      
		opacity: 0;       
		transition: opacity .3s;    
	}    
	.burger-btn.close .bar_bottom{
	transform: translate(-50%,-7px) rotate(-45deg);
	transition: transform .3s;
	}
	
	#header {
    height: 70px;
	}
	.nav-wrapper{      
		display: none;      
		width: 100vw;      
		height: auto;      
		position: fixed;      
		top: 70px;      
		left: 0;       
		z-index: 2;     
	}     
	.gnav{
		width: 100%;
		height: 100vh;
		background-color: rgba(49,132,95, 0.9);
		z-index: 2;
		padding: 0;
	}
	.gnav-list, .gnav-item　{
		display: none;      
	}     
	.sp-gnav-list{
		width: 100%;
		display: block;
		display: flex;
		flex-wrap: wrap;
		text-align: center;
	}
	.nav_drop_sp li{
		padding: 5px 10px;
		border-bottom: 1px dashed #fff;
	}
	.none{
		width: 100%;
	}
	.sp-gnav-item,.sp-gnav-item02{
		display: flex!important;
		align-items: center;
		justify-content: center;
		width: 100%;
		padding: 15px 0;        
		box-sizing: border-box;
		border-bottom: 1px solid #fff;
		color: #fff;
		position:relative;
	
	}
	.sp-gnav-item.active::before{
		transform: translate(0%,-10px) rotate(90deg);
		transition: transform .3s;
	}
	.sp-gnav-item::before{
        content:"";
        position:absolute;
        width: 2px;
        height: 20px;
        background:#fff;
        border-radius: 5px;
        top: 50%;
        right: 33px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translate(-50%,-10px) rotate(0deg);
        transition: transform .3s;
    }
	.sp-gnav-item::after{
        content:"";
        position:absolute;
        width: 20px;
        height: 2px;
        background:#fff;
        border-radius: 5px;
        top: 50%;
        right: 25px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
	}
	.sp-gnav-item.slide_none::after,.sp-gnav-item.slide_none::before{
		display: none!important;
	}
	.sp-gnav-item a,.sp-gnav-item02 a{
		color: #fff;
	}
	.sp-gnav-item:last-of-type{
		width: 100%;
	}
	.none a{
		display: inline-block;
		color: #fff;
		font-size: 14px;
		font-family: heisei-maru-gothic-std, sans-serif;
	}
	.nav_drop_sp{
		width: 95%;
		margin: 0 auto;
		text-align: left;
	}
	.sp-gnav-item:hover a{
		border-bottom: 1px solid #fff;
	}

	body.noscroll{
		overflow: hidden;
	}

	.h-box {
    align-items: center;
    justify-content: center;
    padding-right: 40px;
    height: 100%;
 }
	.logo {
    padding: 5px 10px 5px 0;
    width: 70%;
 }
	.jigyoshadantai {
		padding: 5px 10px 5px 0;
		width: 20%;
	}
	.logo img {
		max-width: 300px;
	}
	.jigyoshadantai img {
		max-width: 100px;
	}
	.h-contact {
		display: none;
	}
	.h-login {
		display: none;
	}
	.logout_btn{
		display: none;
	}
	.dum{
		margin-top: 70px;
	}


}

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

.nav-sp-only{
	display: block;
}

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

/* 共通部分 -----------------------  */

.sub_head{
	/* padding: 65px 0 55px; */
	width: 100%;
	background-color: #eef6e7;
	height: 70px;
	/* display: flex; */
	/* align-items: center; */
	/* justify-content: center; */
}
.ttl_wrap{
	position: relative;
	margin: 0 auto;
	width: max-content;
	padding: 0px 65px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}
.ttl_wrap h2{
	color: #31845f;
	font-size: 20px;
	letter-spacing: 0.12em;
	text-align: center;
	font-family: "ヒラギノ丸ゴ ProN", "Hiragino Maru Gothic ProN", sans-serif;
}
.ttl_wrap span{
	position: absolute;
	width: 5px;
	height: 10px;
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}
.ttl_wrap .left{
	left: 15px;
}
.ttl_wrap .left2{
	left: 25px;
}
.ttl_wrap .left3{
	left: 35px;
}
.ttl_wrap .right{
	right: 15px;
}
.ttl_wrap .right2{
	right: 25px;
}
.ttl_wrap .right3{
	right: 35px;
}
.ttl_wrap .green{
	background-color: #31845f;
}
.ttl_wrap .yellow{
	background-color: #fdd200;
}
.ttl_wrap .light_green{
	background-color: #58b122;
}
/* .sub_head p{
	color: #58b122;
	font-family: 'ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN',sans-serif;
	font-size: 16px;
	text-align: center;
	margin-top: 5px;
} */
.rela-title{
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	color: #31845f;
	letter-spacing: 0.18em;
	border-top: 1px solid #31845f;
	border-bottom: 1px solid #31845f;
	padding: 25px 50px;
	margin-bottom: 50px;
}

.rela-title span{
	position: relative;
}
.rela-title span::before{
	position: absolute;
		top: 50%;
		left: -60px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		content: '';/*何も入れない*/
		display: inline-block;/*忘れずに！*/
		width: 22px;/*画像の幅*/
		height: 33px;/*画像の高さ*/
		background-image: url(../img/common/book_l.png);
		background-size: contain;
}
.rela-title span::after{
		position: absolute;
		top: 50%;
		right: -50px;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		content: '';/*何も入れない*/
		display: inline-block;/*忘れずに！*/
		width: 22px;/*画像の幅*/
		height: 33px;/*画像の高さ*/
		background-image: url(../img/common/book_r.png);
		background-size: contain;
}


@media screen and (max-width:950px){
	.ttl_wrap h2{
		font-size: 20px!important;
	}
}
@media screen and (max-width:768px){
	.rela-title {
		padding: 15px 50px;
	}
}
@media screen and (max-width: 680px){
	.ttl_wrap h2 {
		    font-size: 15px!important;
	}
}
@media screen and (max-width:500px){
	.rela-title {
		    font-size: 14px!important;
	}
}
@media screen and (max-width: 580px){
	.ttl_wrap {
		padding-bottom: 5px;
		width: auto;
	}
	.sub_head p {
		font-size: 14px;
	}
}
/* 共通部分 -----------------------  */


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

.f-inner{
	max-width: 1120px;
	margin: 0 auto;
	padding: 0 10px;
}

.f01-wrapper{
	background-color: #31845f;
	padding: 50px 0 90px;
}

.f-list{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
}

.f-item{
	width: 17%;
	color: #fff;
	text-align: center;
}

.f-sub-title{
	font-size: 16px;
	font-weight: bold;
	line-height: 18px;
	padding-bottom: 8px;
	border-bottom: 1px solid #fff;
	margin-bottom: 10px;
	height: 40px;
    display: flex;
    align-items: center;
    text-align: left;
}

.f-text{
	font-size: 13px;
	line-height: 24px;
	text-align: left;
}
.f-text li{
	line-height: 1.2;
    margin: 0 0 8px;
}
.f-text li a{
	color:#fff;
	cursor: pointer;
}
.f02-wrapper{
	background-color: #fff8cc;
}

.f02-box{
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	position: relative;
	padding: 35px 0;
}


.f02-left-img{
	position: absolute;
	bottom: 0;
	left: 10px;
	max-width: 130px;
}
.f02-left-text-box{
	max-width: 250px;
	color: #1f553d;
	margin-left: 150px;
	margin-right: 20px;
}
.f02-left-title{
	font-weight: bold;
	font-size: 16px;
	line-height: 18px;
	letter-spacing: 0.06em;
	margin-bottom: 10px;
}
.f02-left-text{
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 0.04em;
}

.f02-right-text-box{
	max-width: 295px;
	color: #1f553d;
	margin-right: 130px;
}
.f02-right-tel{
	font-weight: bold;
	font-size: 28px;
	letter-spacing: 0.06em;
	margin-bottom: 5px;
	padding-left: 30px;
	position: relative;
}
.f02-right-tel::before{
	position: absolute;
  top: 50%;
  left: -3px;
  transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    content: '';/*何も入れない*/
    display: inline-block;/*忘れずに！*/
    width: 29px;/*画像の幅*/
    height: 29px;/*画像の高さ*/
    background-image: url(../img/top/icon_tel.png);
    background-size: contain;
}
.f02-right-tel a{
	color: #1f553d !important;
}
.f02-right-text{
	font-size: 13px;
	line-height: 14px;
	letter-spacing: 0.08em;
}
.f02-right-img{
	position: absolute;
	max-width: 105px;
	bottom: 0;
	right: 10px;
}

.small-wrapper{
	background-color: #1f553d;
	text-align: center;
	color: #fff;
	font-size: 11px;
	line-height: 40px;
}
.f-item.contact_btn02{
	width: 100%;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}
.f-item .h-contact{
	position: relative;
	top: 0;
	right: 0;
	background-color: #e0781b;
	border-radius: 7px;
	max-width: 170px;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	order:2;
	margin-right: 0;
}
.f-item .h-contact a{
	display: block;
	color: #fff;
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	font-size: 15px;
	line-height: initial;
	letter-spacing: 0.04em;
}
.f-item .h-contact::before{
	position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 24px;/*画像の幅*/
	height: 16px;/*画像の高さ*/
	background-image: url(../img/top/icon_mail.png);
	background-size: contain;
}
.f-item .logout_btn{
	order: 3;
	margin-right: 0;
	margin-left: 10px;
}
.f-item .h-login{
	max-width: 170px;
	width: 100%;
	position: relative;
	top: 0;
	right: 0;
	background-color: #26b473;
	border-radius: 7px;
	text-align: center;
	padding: 3px 0;
	overflow: hidden;
	margin-left: 10px;
	order:3;
}
.f-item .h-login a{
	display: block;
	color: #fff;
	font-family: heisei-maru-gothic-std, sans-serif;
	font-weight: 400;
	font-size: 15px;
	letter-spacing: 0.04em;
	line-height: 1.6em;
}
.f-item .h-login span{
	font-family: 'ヒラギノ角ゴ Pro', sans-serif;
	font-weight: 600;
	font-size: 20px;
	letter-spacing: 0.12em;
	padding-left: 20px;
	position: relative;
}
.f-item .h-login span::before{
	position: absolute;
	top: 50%;
  left: -10px;
  transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 22px;/*画像の幅*/
	height: 26px;/*画像の高さ*/
	background-image: url(../img/top/icon_log.png);
	background-size: contain;
}
.f-item .h-login span.logout::before{
	background-image: url(../img/top/icon_logout.png);
	background-size: contain;
	background-repeat: no-repeat;
}
.f-item .key{
	max-width: 50px;
	position: absolute;
	top: 0;
	right: 0;
}
.other_list{
	order:1;
	margin:0 20px 0 0;
}
.other_list a{
	color:#fff;
	font-size: 13px;
}
.pagetop{
	text-align: center;
	position: fixed;
	bottom: 30px;
	right: 30px;
	line-height: 1;
	z-index: 1000;
}
.pagetop a {
	color: #699e78;
	font-weight: 600;
	font-size: 12px;
}
.pagetop a img{
	max-width: 40px;
	display: block;
	margin: 0 auto 5px;
}
.br_600{
	display: none;
}
@media screen and (min-width:1024px){
	.pagetop a:hover .baloon{
		animation: hover 1.5s infinite;
		transition: all 1s;
		animation-timing-function: ease-in-out;
		animation-direction: alternate;
	}
	@keyframes hover{
		0% {
			transform: translateY(0px);
			opacity:1;
		}
		
		100% {
			transform: translateY(-10px);
			opacity:1;
		}
	}

}

@media screen and (max-width:965px){
	.f01-wrapper {
    padding: 50px 0 0;
	}

	.f-item {
		width: 38%;
		padding: 0 30px;
		margin-bottom: 60px;
	}

	.f-item:nth-of-type(3), .f-item:nth-of-type(5) {
			margin-right: 0;
	}
	.f-item.contact_btn02 {
		width: 38%;
		display: block;
	}
	.f-item .h-login{
		margin-left: 0px;
		margin-top: 10px;
	}
	.f-item .logout_btn{
		margin-left: 0px;
		margin-top: 10px;
		max-width: 170px;
		box-sizing: border-box;
	}
	.f-item .logout_btn a{padding: 6px 0px 4px;}
	.other_list {
		margin: 15px 0px 0 0;
		text-align: left;
	}
}



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

	.f02-box {
		display: block;
		padding: 20px 0;
	}

	.f02-left-text-box {
		width: 100%;
		margin: 0 auto;
		margin-bottom: 30px;
}
	.f02-right-text-box {
		width: 100%;
		margin: 0 auto;
}

}
@media screen and (max-width:768px){
	.f-item .h-contact{
		display: block;
	}
	.f-item .h-login{
		display: block;
	}
	.f-item .logout_btn{
		display: block;
	}

}
@media screen and (max-width:600px){
	.f-item {
    width: 43%;
    padding: 0 10px;
    margin-bottom: 60px;
	}
	.f-item.contact_btn02 {
		width: 43%;
		display: block;
	}
	.f-text {
		font-size: 12px;
		line-height: 20px;
	}

	.f02-left-img {
    max-width: 70px;
	}
	.f02-right-img {
		max-width: 65px;
	}
	.f02-box {
		padding: 20px 0 75px;
	}
	.f-item .h-contact a {
		padding-right: 10px;
		padding-left: 30px;
	}
	.f-item .h-contact a{
		font-size: 14px;
	}
	.f-item .h-contact::before {
		left: 5px;
	}
	.f-item .logout_btn {
	font-size: 14px;
	}
	.f-item .logout_btna{
		font-size: 14px;
	}
	.br_600{
		display: block;
	}
}

/* /footer ------------------------------ */
@media screen and (max-width:450px){

	.br_45{
		display: block;
	}
	.f-item .h-login span {
		font-size: 15px;
	}
	.f-item .h-login span::before {
		left: -4px;
		width: 16px;
		height: 20px;
	}
}

@media all and (-ms-high-contrast: none) {
	/* ここに書く */
	.drop_wrap{
		width:200%;
	}
	.gnav-item > img{
		width:auto;
		height:65px;
	}
  }


/* 印刷 */
@media print{
	.dum{
		display: none;
	}
	.slick-track{
		transform: translate(0, 0)!important;
	}
	.slick-slide img{
		display:none!important;
	}
	.slick-slide:nth-of-type(1) img{
		display: block!important;
		width: 100%!important;
	}
	#header{
		position:static!important;
	}
	img{
		width: 80%!important;
		margin: 0 auto;
		display: block;
	}
	.flating{
		position: relative!important;
		display: inline-block;
	}
	#about{
		padding: 0!important;
	}
	.about-text,.sub_ttl .ttl_wrap h2,.rela-title{
		font-size: 20px!important;
	}
	.reform-text,.existing-text{
		font-size: 18px!important;
	}
	.reform-item,.existing-item{
		width: 25%!important;
	}
	.news-text,.news-data,.news-red{
		font-size: 12px!important;
	}
	.news-inner{
		padding: 0 20px!important;
	}
	.inner{
		padding: 0 20px!important;
	}
	#reform .bg-house,#existing .bg-house,#support .bg-house{
		padding: 0!important;
	}
}