@charset "UTF-8";

#wrapper {
padding:90px 0 0 0;
background:url("../../images/bg01.jpg") repeat left top / 240px;}
.container {
padding:77px 0;}
.contents {
position:relative;
width:94%;
max-width:1050px;
margin:0 auto;}

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

.container {
padding:7.7% 0;}

}

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

.container {
padding:50px 0;}
.contents {
width:92%;}

}

/* contents ========================*/

.contents-txt {
position:relative;}
.contents-img {
position:relative;
width:100%;
margin:40px 0 0 0;}
.contents-img ul {
justify-content:space-between;}
.contents-img ul li {
width:48.5%;}
.contents-img ul.col-3 li {
width:31.5%;}
.contents-img .caption {
margin:10px 0 0 0;
text-align:left;
font-size:80%;
line-height:1.4;}

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

.contents-txt {
text-align:left;}
.contents-txt br {
display:none;}
.contents-img ul li {
width:100%;
margin:33px 0 0 0;}
.contents-img ul li:first-child {
margin:0;}
.contents-img ul.col-3 li {
width:100%;
margin:33px 0 0 0;}
.contents-img ul.col-3 li:first-child {
margin:0;}

}

/* header ================== */

.header {
position:fixed;
z-index:999;
width:100%;
top:0;
background: -moz-linear-gradient(top, rgba(245,245,245,0.9), rgba(255,255,255,0.9)); 
background: -webkit-linear-gradient(top, rgba(245,245,245,0.9), rgba(255,255,255,0.9)); 
background: linear-gradient(to bottom, rgba(245,245,245,0.9), rgba(255,255,255,0.9)); 
box-shadow:0 2px 3px 0 rgba(0,0,0,0.1);}
.header-contents {
position:relative;
width:100%;
height:90px;
max-width:1220px;
margin:0 auto;}
.header .logo {
position:absolute;
width:24.6%;
top:50%;
left:1%;
transform:translate(0,-50%);}
.header .gmenu {
position:absolute;
top:50%;
right:25.4%;
transform:translate(0,-50%);}
.header .tel-pc {
position:absolute;
width:23.8%;
top:50%;
right:1%;
transform:translate(0,-50%);}
.header .tel-sp {
display:none;}

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

.header .logo {
width:300px;
left:10px;}
.header .gmenu {
display:none;}
.header .tel-pc {
width:290px;
right:95px;}

}

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

.header-contents {
height:54px;}
.header .logo {
width:200px;}
.header .tel-pc {
display:none;}
.header .tel-sp {
display:block;}
.header .tel-sp a {
display:block;
font-size:90%;
line-height:36px;
white-space:nowrap;
overflow:hidden;
background:#e82b7b;
color:#fff;
box-shadow:0 0 0 1px rgba(255,255,255,1);
transition:0.3s;}
.header .tel-sp a:hover {
background:#e80;}
.header .tel-sp a span {
position:relative;
display:inline-block;
padding:0 0 0 22px;}
.header .tel-sp a span::after {
content:"";
position:absolute;
z-index:2;
top:50%;
left:0;
width:20px;
height:20px;
background:url("../../images/bnr_tel.svg") no-repeat left top / 20px;
transform: translate(0,-50%);}

}

/* gmenu-pc =============== */

.gmenu ul {
width:100%;}
.gmenu ul li {
position:relative;}
.gmenu ul li::after {
position:absolute;
content:"";
left:0;
top:20%;
width:1px;
height:60%;
background:-moz-linear-gradient(top, #fff, #e82b7b, #fff); 
background:-webkit-linear-gradient(top, #fff, #e82b7b, #fff); 
background:linear-gradient(to bottom, #fff, #e82b7b, #fff);}
.gmenu ul li:first-child::after {
display:none;}
.gmenu ul li a {
position:relative;
display:block;
padding:15px;
font-size:15px;
line-height:30px;
font-weight:bold;
white-space:nowrap;
color:#222;}
.gmenu ul li a:hover {
color:#e82b7b;}
.gmenu ul li:first-child a {
padding-left:0;}
.gmenu ul li ul.sub-menu {
visibility:hidden;
opacity:0;
position:absolute;
z-index:999;
top:80%;
left:50%;
margin-left:-90px;
width:180px;
background:#363333;
transition:all 0.3s ease;}
.gmenu ul li:hover ul.sub-menu {
top:100%;
visibility:visible;
opacity:1;}
.gmenu ul li ul.sub-menu li {
float:none;
width:100%;
padding:0;
border-top:1px solid #696666;}
.gmenu ul li ul.sub-menu li:first-child {
border-top:none;}
.gmenu ul li ul.sub-menu li::after {
display:none;}
.gmenu ul li ul.sub-menu li a {
font-size:13px;
line-height:1.1;
letter-spacing:0;
padding:15px 0;
color:#fff;}
.gmenu ul li ul.sub-menu li:last-child a {
margin:0;
padding:15px 0;
border:none;}
.gmenu ul li ul.sub-menu li a:hover {
background:#474444;}

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

.gmenu ul li a {
padding:15px 13px;
font-size:14px;}

}

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

.gmenu ul li a {
padding:15px 11px;
font-size:13px;}

}

/* gmenu-sp =============== */

.gmenu-sp-open {
position:fixed;
z-index:9999;
display:none;
top:0;
right:0;
width:90px;
height:90px;
cursor:pointer;
background:none;
border:none;
outline:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;}
.gmenu-sp-open span {
position:absolute;
display:block;
background:#222;
height:1px;
left:25%;
top:50%;
width:50%;}
.gmenu-sp-open span.top {
transform:translateY(-8px);}
.gmenu-sp-open span.middle {}
.gmenu-sp-open span.bottom {
transform:translateY(8px);}

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

.gmenu-sp-open {
display:block;}

}

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

.gmenu-sp-open {
width:54px;
height:54px;}

}

.gmenu-sp-overlay {
display:none;
position:fixed;
z-index:9999;
top:-10px;
left:0;
right:0;
bottom:-10px;
background-color:rgba(255,255,255,0.95);
overflow:hidden;
overflow-y:auto;
-webkit-overflow-scrolling:touch;
-webkit-backface-visibility:hidden;
backface-visibility:hidden;}
.gmenu-sp-container {
display:table;
width:100%;
height:100%;}
.gmenu-sp-inner {
display:table-cell;
padding:10px 0 10px 0;
vertical-align:middle;}
.gmenu-sp-modal {
margin:10px auto;
width:80%;}
.gmenu-sp-close {
position:fixed;
display:block;
top:0;
right:0;
width:70px;
height:70px;
background:none;
cursor:pointer;
border:none;
outline:none;
-webkit-appearance:none;
-moz-appearance:none;
appearance:none;}
.gmenu-sp-close span {
position:absolute;
display:block;
background:#222;
height:1px;
left:25%;
top:50%;
width:50%;}
.gmenu-sp-close span.top {
transform:rotate(-45deg) translateY(0px);}
.gmenu-sp-close span.middle {
opacity:0;}
.gmenu-sp-close span.bottom {
transform:rotate(45deg) translateY(0px);}
.gmenu-sp li a {
text-align:left;
position:relative;
display:block;
height:47px;
line-height:47px;
font-size:15px;
letter-spacing:0.1em;
white-space:normal;
overflow:hidden;
color:#222;
padding:0 0 0 15px;
transition:0.3s;
border-top:1px solid #cfcccc;}
.gmenu-sp li:first-child a {
border:none;}
.gmenu-sp li:last-child a {
text-align:center;
margin:15px 0 0 0;
height:45px;
line-height:45px;
border:1px solid #9c9999;
border-radius: 5px;}
.gmenu-sp li a:hover {
color:#c00;}
.gmenu-sp li a::before {
content:"";
position:absolute;
z-index:2;
top:50%;
left:0;
width:6px;
height:6px;
border-bottom:1px solid #363333;
border-right:1px solid #363333;
transform:translate(0,-50%) rotate(-45deg);}
.gmenu-sp li:last-child a::before {
content:none;}

/* intro ===================== */

.intro01 {
position:relative;
z-index:2;
padding:50px 0 55px 0;
color:#fff;}
.intro01::before , .intro01::after {
content:"";
position:absolute;
z-index:-1;
width:100%;
height:100%;
left:0;
top:0;
background:url("../../images/bg04.png") repeat left center / 2px;}
.intro01::after {
z-index:-2;
background:-moz-linear-gradient(top, #1cc942, #007919);
background:-webkit-linear-gradient(top, #1cc942, #007919);
background:linear-gradient(to bottom, #1cc942, #007919);}
.intro01 h1 {
position:relative;
padding:0 0 10px;
margin:0 0 15px 0;
font-size:260%;
line-height:1.2;
font-weight:normal;
font-family:"Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
letter-spacing:-0.01em;}
.intro01 h1::after {
content:"";
position:absolute;
left:0;
bottom:0;
width:100%;
height:1px;
background:-moz-linear-gradient(left, rgba(255,255,255,0.1), rgba(255,255,255,1), rgba(255,255,255,0.1));
background:-webkit-linear-gradient(left, rgba(255,255,255,0.1), rgba(255,255,255,1), rgba(255,255,255,0.1));
background:linear-gradient(to right, rgba(255,255,255,0.1), rgba(255,255,255,1), rgba(255,255,255,0.1));}
.intro01 h2 {
line-height:1.5;}
.intro01 h2 br {
display:none;}
.intro01 ul {
margin:25px auto 0;
width:100%;
max-width:700px;
justify-content:space-between;}
.intro01 ul li {
width:48.5%;
padding:2% 0 0 0;}
.intro01 ul.col-33 li {
width:32%;}
.intro01 ul li a {
position:relative;
display:block;
font-size:110%;
line-height:50px;
white-space:nowrap;
color:#fff;
background:#00a925;
border:1px solid #fff;
transition:0.2s;}
.intro01 ul li a:hover {
background:#e80;}
.intro01 ul li a::after {
content:"";
position:absolute;
z-index:2;
left:50%;
bottom:-6px;
width:10px;
height:10px;
background:#00a925;
border-right:1px solid #fff;
border-bottom:1px solid #fff;
transform:translate(-50%,0) rotate(45deg);
transition:0.2s;}
.intro01 ul li a:hover::after {
background:#e80;}

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

.intro01 {
padding:35px 0 5.8% 0;}
.intro01 h1 {
font-size:7.7vw;}
.intro01 h2 br {
display:block;}
.intro01 ul li a {
font-size:90%;}
.intro01 ul.col-33 li {
width:48.5%;}
.intro01 ul.col-33 li:first-child {
width:100%;}

}

/* footer ===================================*/

.footer-contact {
padding:36px 0;
background-color:rgba(40,22,10,0.6);
box-shadow:0 2px 3px 0 rgba(0,0,0,0.2) inset;}
.footer-contact ul li.contact-txt {
float:left;
width:60%;
color:#fff;
text-align:left;}
.footer-contact ul li.contact-txt br {
display:none;}
.footer-contact ul li.contact-txt img {
margin:7px 0 10px 0;}
.footer-contact ul li.contact-btn {
float:right;
width:34%;
text-align:right;}

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

.footer-contact {
padding:35px 20px;}
.footer-contact ul li.contact-txt {
float:none;
width:100%;
text-align:center;}
.footer-contact ul li.contact-txt br {
display:block;}
.footer-contact ul li.contact-btn {
float:none;
width:100%;
border-top:1px dotted #fff;
margin:28px 0 0 0;
padding:28px 0 0 0;}

}

.f-menu {
width:100%;
background:-moz-linear-gradient(top, #00a925, #00911e); 
background:-webkit-linear-gradient(top, #00a925, #00911e); 
background:linear-gradient(to bottom, #00a925, #00911e);
box-shadow:0 2px 3px 0 rgba(0,0,0,0.2);}
.f-menu ul {
width:100%;
max-width:1000px;
margin:0 auto;
border-right:1px solid rgba(255,255,255,0.5);}
.f-menu li {
width:25%;
font-size:90%;
line-height:50px;
white-space:nowrap;
border-left:1px solid rgba(255,255,255,0.5);}
.f-menu li a {
display:block;
color:#fff;
transition:0.3s;}
.f-menu li a:hover {
background:#e80;}

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

.f-menu li {
width:50%;
border-bottom:1px solid rgba(255,255,255,0.5);}

}

.footer {
padding:35px 0 0 0;
background:rgba(255,255,255,0.67);
font-size:90%;}
.footer .logo {
width:80%;
margin:0 auto 10px;}
.footer a {
color:#222;}

.copyright {
text-align:left;
margin:30px 0 0 0;
padding:0 15px;
font-size:12px;
line-height:45px;
background:rgba(205,195,175,0.5);
white-space:nowrap;
overflow:hidden;}

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

.copyright {
font-size:2.5vw;}

}

.page-top {
position:fixed;
bottom:0;
right:0;
width:44px;
height:44px;}
.page-top a {
padding:14px;
display:block;
background:#e82b7b;
transition:0.3s;}
.page-top a:hover {
background:#e80;}
