@charset "utf-8";


.mm01{font-size: 2.4rem;display: block;line-height: 1.3;}
.en_name {line-height: 1.5;}

header {
    position: relative;
}
header .logo {
    position: absolute;
    left: 0;
    top: 10%;
    text-align: center;
       width: 100%; 
}
header .logo img {
   z-index: 5000000;
   width: 20%;
   	filter:alpha(opacity=80);
	-moz-opacity: 0.8;
	opacity: 0.8;
}
header .slide {
    width: 100%;
    margin: 0 ;
    background-color: #000;
}
header .slide .slick-list{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
header .slide .slick-list img{
    width: 100%;
    text-align: center;
}
header .slick-dots {
    display: none;
}

header .slick-dots li {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

header .slick-dots li button {
    position: relative;
    overflow: hidden;
    width: 20px;
    height: 0;
    margin: 0;
    padding: 20px 0 0;
    border: 0;
    background: none;
    line-height: 20px;
    vertical-align: middle;
}

header .slick-dots li button:after {
    content: "";
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 3px;
    border: 1px solid #fff;
    border-radius: 100%;
    transition: border .5s, background .5s;
}

header .slick-dots li.slick-active button:after {
    background-color: #ffffff;
}


.wrap   {
width: 100%;
margin: 0;

}
.wrap.service{padding: 0px 0 50px 0;}
.wrap.info{padding: 0px 0 80px 0;}
.wrap.menu{padding: 0px 0 80px 0;}

.wrap.links   {
padding: 50px 0 40px;
}
.wrap.home_address   {
padding: 50px 0;
}
.wrap section	{
margin: 0 10px;
}
@media screen and (min-width:980px),
print{
	.wrap section   {
	width: 1200px;
	margin: 0 auto;
	}
}


.index {
margin-bottom: 40px;
}
.index h1 {
font-size: 3.2rem;
line-height: 1.2;
color: #ccc;
position: relative;
display: inline-block;
margin-bottom: 15px;
}
.index h1.tit {
font-size: 2.8rem;
line-height: 1.2;
color: #fff;
position: relative;
display: inline-block;
margin-bottom: 15px;
}

.index h1:before {
content: '';
position: absolute;
bottom: -5px;
display: inline-block;
width: 100%;
height: 1px;
background-color: #65747c;
}
.index p	{
font-size: 1.3rem;
line-height: 1.5;
}
.copy h2	{
font-size: 2rem;
color: #65747c;
line-height: 1.5;
margin-bottom: 25px;
}
@media screen and (min-width:980px),
print{
.copy h2	{
font-size: 2.7rem;
}
}
.copy p	{
font-size: 1.6rem;
line-height: 2.2;
}

.about_us .index	{
text-align: center;
}
@media screen and (min-width:640px){
.about_us .index	{
text-align: left;
}
.wrap.about_us   {
padding: 0;
}
.about_us	{
background-color: #f7f7f7;
background-image: url(../images/us_bg.jpg);
background-repeat: no-repeat;
background-position: right center;
}
.about_us_inner	{
background:linear-gradient(90deg,White 0%,white 40%,transparent 40%,transparent 100%);
}
.about_us_shadow	{
width: 70%;
background-color: #fff;
box-shadow: 12px 0 12px 0 rgba(102,102,102,0.1);
padding: 100px 0;
}
.about_us .copy h2	{
margin-right: 30px;
}
.about_us .copy p	{
margin-right: 30px;
}
}

.service	{
position: relative;
}
.service .service_bg	{
position: absolute;
content: " ";
top: 0;
width: 100%;
height: 150px;
background-color: #04327f;
}
.service section	{
position: relative;
}

.service_item ul	{
padding-left: 20px;

}
@media screen and (min-width:980px),
print{
.service_item ul	{
padding-left: 0;
}
.service_item	{
margin-right: -20px;
}
.service_item li	{margin-top: -80px;}
}


.service_item li div.item_inner	{
text-align: center;
margin-right: 20px;
background-color: #04327f;
box-shadow: 12px 12px 12px 0 rgba(102,102,102,0.1);
padding-bottom: 10px;
}

@media screen and (max-width:768px){
.service_item li	{
width: 100%;
}
.wrap.menu{padding: 0px 0 30px 0;}

/*
.service_item li div.item_inner	{
height: 300px;
}*/
}


.service_item li div.item_inner p img	{
margin: 12px 0 18px;
}
.service_item li dt	{
font-size: 1.6rem;
color: #65747c;
font-weight: 700;
position: relative;
display: inline-block;
margin-bottom: 10px;
}
.service_item li dt:before {
content: '';
position: absolute;
top: -5px;
display: inline-block;
width: 55px;
height: 1px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #65747c;
}
.service_item li dd	{
padding: 0 25px;
text-align: left;
font-size: 1.5rem;
line-height: 1.5;
}
@media screen and (min-width:479px)	{
.service_item li dd	{
line-height: 1.8;
}
}
@media screen and (min-width:980px),
print{
.service_item li dd	{
line-height: 1.8;
}
}
/*hover*/
.service_item li div.item_inner	{
position: relative;
}
.service_item li div.item_inner div.hover_border	{
position: absolute;
left: 3px;
right: 3px;
bottom: 0;
content: " ";
margin: 0;
height: 25px;
background-image: url(../images/box_hoverA.png);
background-position: right bottom;
background-repeat: no-repeat;
}
.service_item li div.item_inner:hover div.hover_border	{
background-image: url(../images/box_hoverB.png);
}




.infobox	{

}
.infobox .info01box	{
    width: 100%;
}

.info h1	{
font-size: 3.2rem;
}

.info_index	{
margin: 0 auto;
width: 96%;
}
.info_index li.info_li	{
border-bottom: 1px dotted #006f35;
margin: 0 auto 5px auto;
padding: 10px 0;
font-size: 1.6rem;
color: #5d4d36;
width: 100%;
}

.info_index li.info_li a	{
text-decoration: none;
}
.info_index li.info_li a:hover	{
color: #ff842e;
text-decoration: underline;
}
.info_index li.info_li span.date	{
margin-right: 10px;
display: inline-block;
width: 6em;
}



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

}

.listlink	{
text-align: right;
margin: 15px 0 0 0;
}

.home_address p	{
font-size: 1.5rem;
}


.links	{
background-color: #f7f7f7;
}
.bnr li	{
float: left;
width: 100%;
margin-bottom: 10px;
}
.bnr li a	{
display: block;
background-size: cover;
text-align: center;
text-decoration: none;
color: #fff;
font-weight: 700;
font-size: 2rem;
height: 128px;
line-height: 128px;
}



@media screen and (min-width:980px),
print{
.copy h2	{
font-size: 2.7rem;
}
}
.copy p	{
font-size: 1.6rem;
line-height: 2.2;
}

.setsubi_ph img	{
margin: 0 0 30px;
}
.setsubi_copy p	{
font-size: 1.6rem;
}
@media screen and (min-width:480px)	{
.setsubi_ph	{
width: 460px;
margin: 0 auto;
}
}
@media screen and (min-width:980px),
print{
.setsubi_ph	{
float: left;
width: 50%;
}
.setsubi_ph img	{
margin: 0 30px 30px 0;
}
}


.service_item ul	{
padding-left: 20px;
}

.service_item li	{
margin-bottom: 30px;
}

@media screen and (min-width:980px),
print{
.service_item ul	{
padding-left: 0;
}
.service_item	{
margin-right: -20px;
}
.service_item li	{
float: left;
margin-bottom: 100px;
}
}



.service_item li div.item_inner	{
text-align: center;
margin-right: 20px;
background-color: #ffffff;
box-shadow: 12px 12px 12px 0 rgba(102,102,102,0.1);
padding-bottom: 30px;
}
@media screen and (min-width:479px),
print{
.service_item li	{
width: 100%;
}
.service_item li div.item_inner	{
/*height: 320px;*/
padding-bottom: 0;
}
}
@media screen and (min-width:768px),
print{
.service_item li	{
width: 33%;
}
.service_item li div.item_inner	{
/*height: 300px;*/
}
}
@media screen and (min-width:980px),
print{
.service_item li:nth-child(2),
.service_item li:nth-child(5)	{
width: 34%;
}
}



@media screen and (min-width:980px),


.service_item li div.item_inner p img	{
margin: 12px 0 18px;
}
.service_item li dt	{
font-size: 1.8rem;
color: #65747c;
font-weight: 700;
position: relative;
display: inline-block;
margin-bottom: 10px;
}
.service_item li dt:before {
content: '';
position: absolute;
top: -5px;
display: inline-block;
width: 55px;
height: 1px;
left: 50%;
-webkit-transform: translateX(-50%);
transform: translateX(-50%);
background-color: #65747c;
}
.service_item li dd	{
padding: 0 25px;
text-align: left;
font-size: 1.5rem;
line-height: 1.5;
}
@media screen and (min-width:479px),
print{
.service_item li dd	{
line-height: 1.8;
}
}

/*hover*/
.service_item li div.item_inner	{
position: relative;
}
.service_item li div.item_inner div.hover_border	{
position: absolute;
left: 3px;
right: 3px;
bottom: 0;
content: " ";
margin: 0;
height: 25px;
background-image: url(../images/box_hoverA.png);
background-position: right bottom;
background-repeat: no-repeat;
}
.service_item li div.item_inner:hover div.hover_border	{
background-image: url(../images/box_hoverB.png);
}

span.infotit_m	{
display: block;
font-weight: 900;
}




/* ========================================================
	index.css => index
======================================================== */


.point_list {
	margin-bottom:;
}

.point_list a {
	position: relative;
	display: block;
	background-repeat: no-repeat;
	background-position: 50%;
	-webkit-background-size: cover;
	background-size: cover;
	line-height: 1.8;
}
.point_list a.point01 {
	background-image: url(../images/point01_bg.jpg);
}
.point_list a.point02 {
	background-image: url(../images/point02_bg.jpg);
}
.point_list a.point03 {
	background-image: url(../images/point03_bg.jpg);
}
.point_list a.point04 {
	background-image: url(../images/point04_bg.jpg);
}
.point_list a.point05 {
	background-image: url(../images/point05_bg.jpg);
}
.point_list a.point06 {
	background-image: url(../images/point06_bg.jpg);
}
.point_list a .bg,
.point_list a .bg > div {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
}
.point_list a .bg > div {
	background-color: rgba(0,0,0,.5);
}

.point_list a dl dt {
	margin-bottom: 10px;
	font-weight: bold;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1.6;
	color: #fff;
}
@media screen and (min-width: 769px), print {
	.point_list {
		display: -webkit-flex;
		display: -moz-flex;
		display: -ms-flex;
		display: -o-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		-moz-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-o-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: 0 -1px;
		  -webkit-justify-content: center;
    justify-content: center;
	}
	.point_list > * {
		width: 32%;
		border: 1px solid #7c553f;
		margin:0.5%;
	}
	.point_list a {
		overflow: hidden;
		height: 200px;
	}
	.point_list a .bg {
		top: 30px;
		bottom: 30px;
		left: 30px;
		right: 30px;
		-webkit-transition: all .4s;
		-o-transition: all .4s;
		transition: all .4s;
	}
	.point_list a dl {
		position: absolute;
		top: 10px;
		left: 30px;
		right: 30px;
		-webkit-transform: translateY(78px);
		-ms-transform: translateY(78px);
		-o-transform: translateY(78px);
		transform: translateY(78px);
		-webkit-transition: -webkit-transform .4s;
		-o-transition: -o-transform .4s;
		transition: transform .4s;
		z-index: 3;
	}
	.point_list a dd {
		opacity: 0;
		-webkit-transform: translateY(20px);
		-ms-transform: translateY(20px);
		-o-transform: translateY(20px);
		transform: translateY(20px);
		-webkit-transition: -webkit-transform .4s, opacity .4s;
		-o-transition: -o-transform .4s, opacity .4s;
		transition: transform .4s, opacity .4s;
		color: #fff;
		font-size: 1.4rem;
		text-align: center;
	}
	.point_list a:hover .bg {
		top: -2px;
		bottom: -2px;
		left: -2px;
		right: -2px;
	}
	.point_list a:hover dl {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		top: 50px;
	}
	.point_list a:hover dd {
		-webkit-transform: translateY(0);
		-ms-transform: translateY(0);
		-o-transform: translateY(0);
		transform: translateY(0);
		opacity: 1;
	}
}
@media screen and (max-width: 768px) {
	.point_list li {
		margin-top: 2px;
	}
	.point_list li + li {
		margin-top: 2px;
	}
	.point_list a {
		line-height: 1.8;
		font-size: 1.2rem;
		color: #fff;
		text-decoration: none;
	}
	.point_list a .bg::before,
	.point_list a .bg::after,
	.point_list a .bg > div::before,
	.point_list a .bg > div::after {
		width: 30px;
		height: 30px;
	}
	.point_list a dl {
		position: relative;
		padding: 25px 20px;
		z-index: 3;
	}
	.point_list a dl dt {
		margin-bottom: 10px;
		font-size: 1.6rem;
	}
		.point_list a dl dd {
	text-align: center;
	}
	.pb50 .copy.mb50 {
		margin-bottom: 20px !important;
	}

	.info_list li span{
		display:block;
	}

}


@media screen and (max-width: 768px) {
header .slide {
    width: 100%;
    margin: 0 ;
    background-color: #ffe3be;
}
header .slide .slick-list{
    width: 100%;
    margin: 0 auto;
}
.infobox	{
    display: block;
}
.infobox .info01box	{
    width: 100%;
    padding-right: 0px;
    margin-bottom: 20px;
}
.infobox .info02box	{
    width: 100%;
    padding-right: 0px;
    margin-bottom: 20px;
}
}


.contbox{
    width: 1200px;
    margin: 50px auto;
    position: relative;
}

.contbox .ph{
    width: 100%;
    margin: 50px 0;
}
.contbox .ph img{
    width: 80%;
}
.contbox .txt{
position: absolute;
right: 0;
top: 50px;
background-color: rgb(255,255,255,.9);
z-index: 10000;
    width: 40%;
    padding: 0 30px;
    color: #333;
display: flex;
  justify-content: center; /* 横方向（水平方向）の中央寄せ */
  align-items: center; /* 縦方向（垂直方向）の中央寄せ */
     -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    height: 460px;
}
.contbox .txt .txt_inn{
width: 100%;
}
.contbox .txt .txt_inn p{
margin: 0 0 10px 0;
}
.contbox .txt .txt_inn p.txt_em{
font-weight: 900;
font-size: 1.8rem;
margin: 0 0 10px 0;
}
.contbox .txt .txt_inn p.txt_n .emm{
color: #9b0000;
}

.contbox.rev .ph{
    text-align: right;
}
.contbox.rev .txt{
left: 0;
}

@media screen and (max-width: 768px) {
.contbox{width: 95%;}
.contbox .txt{position: relative;width: 90%;margin: 0 auto;height: auto;top: -10px;}
.contbox .ph img{width: 100%;}
.contbox .ph{margin: 10px 0 0px 0;}

}

h1.ff_en {
    font-size: 5.0rem;
    text-align: center;
    position: relative;
    z-index: 10;
font-family: 'Russo One', sans-serif;
    background-color: rgb(0,81,39,0.9);
    color: #fff;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    font-weight: 700;
    letter-spacing: 0.1em;
}
h1.ff_en span {
    font-size: 1.8rem;
   display: block;
    background-color: rgb(150,120,0,0.7);
    color: #fff;
    font-family: 'BIZ UDPGothic', sans-serif;
}


.bg_pattern01
{background:url(/common/images/bg_pattern01.jpg) 50% 0;}
.bg_pattern02{
background:url(/common/images/bg_pattern02.jpg) 50% 0;padding: 180px 0 !important;}
.bg_pattern03
{background:url(/common/images/bg_pattern03.jpg) 50% 0;}
.bg_pattern04
{background:url(/common/images/bg_pattern04.jpg) 50% 0;}
.bg_pattern05
{background:url(/common/images/bg_pattern05.jpg) 50% 0;repaet-y}
#container .wrap{margin: 0 0 0 0;padding: 150px 0;}
#container .wrap .infobox{padding: 50px 10px;background-color: rgb(255,255,255,0);}
#container .wrap .aboutbox{padding: 30px 30px;background-color: rgb(255,255,255,0.9);}
#container .wrap .aboutbox .info01box .txt_em span{font-weight: 900;font-size:2.2rem;display: block;margin-bottom: 5px;}
#container .wrap .aboutbox .info01box .txt_em{font-weight: 900;font-size: 1.6rem;margin-bottom: 10px;}


#container .wrap .futuremain_box{margin: 30px 0 0 0;padding: 50px 30px;background-color: rgb(255,255,255,0.9);}

#container .wrap .futuremain_box .list00 li{margin-bottom: 20px;display: -webkit-flex;display: flex;align-items: center;font-weight: 900;padding-bottom: 20px;border-bottom: 1px dotted #006f35;}
#container .wrap .futuremain_box .list00 li span{display: block;}
#container .wrap .futuremain_box .list00 li span.num{font-size: 1.8rem;margin-right: 1em;font-family: 'Russo One', sans-serif;background-color: #006f35;color: #fff;padding: 5px;width: 3em;text-align: center;}
#container .wrap .futuremain_box .list00 li span.txt100{width: 100%;text-align: left;}

@media screen and (max-width: 768px) {
#container .wrap{margin: 0 0 0 0;padding: 50px 0;}
}