﻿@charset "UTF-8";
/* CSS Document */

:root{
    font-size:62.5%;
}
html {font-size:62.5%;}
body{
	font-size:17px; 
	color:#000000;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	margin:0;
	position: relative;
}
h1,h2,h3,h4,h5,h6,p,li,th,td,dt,dl,span,div{  
    line-height:1.5;  
}
img {
	border: none;
	vertical-align: bottom;
    max-width: 100%;
	height: auto;
}
a{
	color:#000000;
	text-decoration:none;
}
a img { 
	border: none;
    -webkit-transition: opacity 0.3s ease-in-out; 
    -moz-transition: opacity 0.3s ease-in-out; 
    -o-transition: opacity 0.3s ease-in-out; 
    transition: opacity 0.3s ease-in-out; 
}
a:hover img{
	opacity:0.5;
	filter:alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
}
ul {
	list-style-type: none;
}
table{
	border-collapse: collapse;
}
.clearfix:after {
	content: "";
	display: block;
	overflow: hidden;
	clear: both;
}
.contentWidth{
	width:96%;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}
.leftBox{
	float:left;
}
.rightBox{
	float:right;
}
.sp{
	display:none !important;
}
.slick-track {
    display: flex;
}
.slick-slide {
    height: auto !important;
}
@media (max-width: 760px) {
body{
	font-size:14px; 
}
.pc{
	display:none !important;
}
.sp{
	display:block !important;
}
.leftBox{
	float:none;
}
.rightBox{
	float:none;
}
}

/*--------------------------------------
    header
--------------------------------------*/

.header{
    width:100%;
    height:100px;
    position: fixed;
    top:0;
    left:0;
    right:0;
    bottom:auto;
    margin: auto;
    z-index: 9999;
}
.header h1{
    width:134px;
    height:148px;
    position: absolute;
    top:0;
    left:50px;
    right:auto;
    bottom:0;
    margin: auto;
    z-index: 9999;
}
.header h1.sp{
    width:226px;
    height:57px;
}
.header h1 a{
    display: block;
}
.header h1 a img{
    max-width: 100%;
    height:auto;
    object-fit: contain;
}
.header .spbtn{
	position: absolute;
    top:0;
    left:auto;
    right:50px;
    bottom:0;
    margin: auto;
    width: 55px;
    height: 55px;
	transition: 0.3s;
	z-index: 10000;
    background: rgba(242,242,242,0.8);
    border-radius: 5px;
}
.header .spbtn,
.header .spbtn span {
	display: inline-block;
	-webkit-transition: all 0.3s; 
    -moz-transition: all 0.3s; 
    -o-transition: all 0.3s; 
    transition: all 0.3s;
	box-sizing: border-box;
}
.header .spbtn span {
	position: absolute;
	left: 0;
    right:0;
    margin: auto;
	width: 30px;
	height: 1px;
	background-color: #000000;
	transition: 0.3s;
}
.header .spbtn span:nth-of-type(1) {
	top: 17px;
}
.header .spbtn span:nth-of-type(2) {
	top: 27px;
}
.header .spbtn span:nth-of-type(3) {
	top: 37px;
}
.header.select .spbtn span:nth-of-type(1) {
	transform: translate(0,10px) rotate(-45deg);
}
.header.select .spbtn span:nth-of-type(2) {
	opacity: 0;
}
.header.select .spbtn span:nth-of-type(3) {
	transform: translate(0,-10px) rotate(45deg);
}
.header .spmenu{
	width:240px;
    height:auto;
	max-height:100vh;
	position: fixed;
	top:0;
	left:auto;
    right:0;
    bottom:0;
    margin: auto;
	z-index:9990;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
	overflow-y: scroll;
    background: #FFFFFF;
    opacity: 0;
    transform:translate(100%,0);
    pointer-events: none;
    padding:100px 0 20px 0;
}
.header.select .spmenu{
	opacity: 1;
    transform:translate(0,0);
    pointer-events: fill;
}
.header .spmenu ul li{
	text-align: left;
	display: block;
}
.header .spmenu ul li a,
.header .spmenu ul li span{
    font-size:14px;
	color:#000000;
	padding:15px 5%;
	line-height: 1.2;
	display:block;
	border-bottom:1px solid #000000;
	position: relative;
	box-sizing: border-box;
	font-weight: bold;
}
.header .spmenu ul li:last-child a,
.header .spmenu ul li:last-child span{
	border-bottom:none;
}
.header .spmenu ul li a:after{
	position: absolute;
	content: ">";
	right:5%;
	top:50%;
	transform: translate(0,-50%);
	font-weight: bold;
	font-size:14px;
	font-size:1.4rem;
}
.header .spmenu ul li span:after{
	position: absolute;
	content: "＋";
	right:5%;
	top:50%;
	transform: translate(0,-50%);
	font-weight: bold;
	font-size:14px;
	font-size:1.4rem;
}
.header .spmenu ul li span.select:after{
	content: "―";
}
.header .spmenu ul li.parent ul.child{
	display: none;
    border-bottom: 1px solid #000000;
}
.header .spmenu ul li.parent ul.child{
    background: #E1EEEF;
}
.header .spmenu .bnr{
    width:94%;
    font-size:14px;
	color:#000000;
	padding:8px;
	line-height: 1.2;
	display:flex;
    align-items: center;
	position: relative;
	box-sizing: border-box;
	font-weight: bold;
    margin: 10px auto 0;
    background: rgba(76,165,53,0.21);
    border-radius: 8px;
}
.header .spmenu .bnr::before{
    content: "";
    width:30px;
    height:30px;
    display: block;
    background: url("../images/icon_spfooter_002.png") no-repeat center center/contain;
    margin-right: 5px;
}
.header .spmenu .bnr:nth-of-type(2)::before{
    content: "";
    width:30px;
    height:30px;
    display: block;
    background: url("../images/icon_spfooter_001.png") no-repeat center center/contain;
}
.header .spmenu .bnr::after{
    content: "";
    width:49px;
    height:16px;
    display: block;
    background: url("../images/icon_arrow_b_001.png") no-repeat center center/contain;
    margin-left: auto;
}
@media (max-width: 760px) {
.header{
    width:100%;
    height:89px;
    border-bottom: 1px solid #000000;
    background: #FFFFFF;
}
.header h1{
    width:auto;
    max-width: 40%;
    height:55px;
    left:10px;
}
.header h1 a{
    height:100%;
    display: flex;
    align-items: center;
}
.header .spbtn{
    right:15px;
}
.header .spmenu{
	width:100%;
	height:auto;
	top:90px;
    padding-top:0;
}
}

/*--------------------------------------
    sublink
--------------------------------------*/

.sublink{
    width:240px;
    position: fixed;
    right:0;
    bottom:210px;
    border-radius: 10px 0 0 10px;
    background: rgba(255,255,255,0.56);
    box-sizing: border-box;
    padding:10px 0 10px 18px;
    z-index: 9990;
}
.sublink li{
    margin-bottom: 10px;
}
.sublink li:last-child{
    margin-bottom: 0px;
}
.sublink li a{
    line-height: 1.5;
    padding:8px 0 8px 40px;
    font-size:16px;
    font-weight: bold;
    display: block;
    transition: 0.3s;
    position: relative;
}
.sublink li:nth-child(4) a{
    padding: 10px 0 10px 40px;
    background: #FFFFFF;;
}
.sublink li a::before{
    content: "";
    position: absolute;
    top:0;
    left:5px;
    right:auto;
    bottom:0;
    margin: auto;
}
.sublink li:nth-child(1) a::before{
    background: url("../images/icon_subnav_001.png") no-repeat left center/contain;
    width:23px;
    height:29px;
}
.sublink li:nth-child(2) a::before{
    background: url("../images/icon_subnav_002.png") no-repeat left center/contain;
    width:25px;
    height:25px;
}
.sublink li:nth-child(3) a::before{
    background: url("../images/icon_subnav_004.png") no-repeat left center/contain;
    width:29px;
    height:28px;
}
.sublink li:nth-child(4) a::before{
    background: url("../images/icon_subnav_003.png") no-repeat left center/contain;
    width:28px;
    height:23px;
}
.sublink li a:hover{
    opacity: 0.5;
}
.sublink li a span{
    padding: 0 5px 0 5px;
}
@media (max-width: 760px) {
.sublink{
    display: none;
}
}

/*--------------------------------------
    floatbnr
--------------------------------------*/

.floatbnr{
    width:228px;
    position: fixed;
    right:12px;
    bottom:80px;
    z-index: 9990;
}
.floatbnr span{
    width:25px;
    height:25px;
    position: absolute;
    top:0;
    right:0;
    display: inline-block;
    z-index: 9999;
    cursor: pointer;
}
@media (max-width: 760px) {
    .floatbnr{
        width:171px;
        right:9px;
        bottom:90px;
    }
    .floatbnr span{
        width:18px;
        height:18px;
    }
}
@media (max-width: 500px) {
    .floatbnr{
        width:114px;
        right:6px;
        bottom:60px;
    }
    .floatbnr span{
        width:12px;
        height:12px;
    }
}

/*--------------------------------------
    footer
--------------------------------------*/

.footer{
    padding-top: 50px;
}
.footer .logo001{
    text-align: center;
    margin:0 auto 30px auto;
}
.footer .f-content{
    text-align: center;
    padding: 30px 0;
    background: rgba(189,204,212,0.3);
}
.footer .f-content .f-info .logo002{
    width:185px;
    text-align: center;
    margin:0 auto 30px auto;
}
.footer .f-content .f-info .text{
    margin-bottom:50px;
    text-align: center;
    font-size:15px;
}
.footer .f-content .f-info .text .tel,
.footer .f-content .f-info .text .tel a{
    font-size:21px;
    font-weight: bold;
}
.footer .f-content nav ul{
    text-align: center;
}
.footer .f-content nav ul.sns-nav{
    margin-bottom:20px;
}
.footer .f-content nav ul li{
    display: inline-block;
}
.footer .f-content nav ul.sns-nav li{
    width:31px;
    margin: 0 16px;
}
.footer .f-content nav ul.sns-nav li:last-child{
    width:38px;
}
.footer .f-content nav ul.sns-nav li a img{
    vertical-align: middle;
}
.footer .f-content nav ul.f-nav li{
    position: relative;
}
.footer .f-content nav ul.f-nav li:before{
    content: "";
    width:1px;
    height:14px;
    position: absolute;
    top:0;
    left:0;
    right:auto;
    bottom:0;
    margin: auto;
    background: #000000;
}
.footer .f-content nav ul.f-nav li:last-child:after{
    content: "";
    width:1px;
    height:10px;
    position: absolute;
    top:0;
    left:auto;
    right:0;
    bottom:0;
    margin: auto;
    background: #000000;
}
.footer .f-content nav ul.f-nav li a{
    padding:0 16px;
}
.footer .copy{
    width:100%;
    height:40px;
    line-height: 40px;
    color:#FFFFFF;
    text-align: center;
    font-size:11px;
    background: #000000;
}
@media (max-width: 760px) {
.footer{
    padding-top: 20px;
}
.footer .logo001{
    width:80px;
    margin:0 auto 20px;
}
.footer .f-content{
    box-sizing: border-box;
    padding: 20px 5%;
}
.footer .f-content .f-info .logo002{
    margin-bottom:20px;
}
.footer .f-content .f-info .text{
    margin-bottom:20px;
    font-size:14px;
}
.footer .f-content .f-info .text .tel,
.footer .f-content .f-info .text .tel a{
    font-size:18px;
}
.footer .f-content nav ul.sns-nav li{
    margin: 0 10px;
}
.footer .f-content nav ul.f-nav li a{
    padding:0 10px;
}
.footer .copy{
    padding: 0 0 50x 0;
}
}

/*--------------------------------------
    spfooter
--------------------------------------*/

.spfooter{
    display: none;
}
@media (max-width: 760px) {
    .spfooter{
        display: flex;
        width:100%;
        position: fixed;
        top:auto;
        left:0;
        right:0;
        bottom:0;
        z-index: 9990;
        border-radius:15px 15px 0 0; 
        background: rgba(255,255,255,0.85);
    }
    .spfooter li{
        flex:1;
    }
    .spfooter li a{
        display: flex;
        justify-content: center;
        align-items: center;
        height:80px;
        position: relative;
        padding: 0 2px 0 2px;
        font-size:16px;
        text-align: center;
    }
    .spfooter li:nth-child(1) a{
        border-bottom:8px solid #AACC03;
    }
    .spfooter li:nth-child(2) a{
        border-bottom:8px solid #00ACA8;
    }
    .spfooter li:nth-child(3) a{
        border-bottom:8px solid #4CA535;
    }
    .spfooter li a span{
        display: block;
        font-weight: bold;
        text-align: left;
        position: relative;
        padding-left: 54px;
    }
    .spfooter li a span::before{
        content: "";
        position: absolute;
        top:0;
        left:4px;
        right:auto;
        bottom:0;
        margin: auto;
    }
    .spfooter li:nth-child(1) a span::before{
        width:42px;
        height:44px;
        background: url("../images/icon_spfooter_004.png") no-repeat center center/contain;
    }
    .spfooter li:nth-child(2) a span::before{
        width:48px;
        height:44px;
        background: url("../images/icon_spfooter_001.png") no-repeat center center/contain;
    }
    .spfooter li:nth-child(3) a span::before{
        width:40px;
        height:53px;
        background: url("../images/icon_spfooter_002.png") no-repeat center center/contain;
    }
}
@media (max-width: 550px) {
    .spfooter li a{
        height:40px;
        font-size:10px;
    }    
    .spfooter li:nth-child(1) a{
        border-bottom:4px solid #AACC03;
    }
    .spfooter li:nth-child(2) a{
        border-bottom:4px solid #00ACA8;
    }
    .spfooter li:nth-child(3) a{
        border-bottom:4px solid #4CA535;
    }
    .spfooter li a span{
        padding-left: 32px;
    }
    .spfooter li:nth-child(1) a span::before{
        width:21px;
        height:22px;
    }
    .spfooter li:nth-child(2) a span::before{
        width:24px;
        height:22px;
    }
    .spfooter li:nth-child(3) a span::before{
        width:20px;
        height:27px;
    }
}

