@charset "UTF-8";
/*=============================================
 * <main>
 *=============================================*/
main {
    padding-top: 0;
}
header{
    position: static;
    padding-bottom: 0;
}
/*=============================================
 * <header>
 *=============================================*/
header .nav-bottom{
    margin-bottom: 20px;
}

#keyTop .kvSlider .slick-slide div {
    line-height: 0;
}
#keyTop .kvSlider .slick-slide div li{
	position:relative;
}
#keyTop .kvSlider .slick-slide div .btn_link{
	position: absolute;
    z-index: 2;
    bottom: 2%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
	background:#f23b3b;
	border-radius:50px;
	color:#fff;
	text-align:center;
	font-weight:bold;
	font-size:18px;
	padding:1em 1em 1em 2.5em;
}
#keyTop .kvSlider .slick-slide div .btn_link:before{
	content:"";
	width: 26px;
	height:26px;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url('../img/shared/arrow_btn.png');
	position: absolute;
	top: 0.3em;
    left: 0.6em;
    bottom: 0;
    z-index: 3;
}


#keyTop .kvSlider img {
    width: 100%;
    height: auto;
}
#sec1 .inner {
    position: relative;
    margin: 0 auto;
    box-sizing: border-box;
}
#sec1 #sec1_2 {
    background: #f7f7f7;
    border: 1px solid #ffc6c6;
}
#sec2 .inner {
    background: url("../img/index/s2_bg.jpg"), #c1c1c1;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}
#sec2 h3 {
    background: rgba(246, 246, 246, 0.5);
    font-weight: 500;
    letter-spacing: 0.4em;
    line-height: 1;
    padding: 17px 0;
}
#sec1 #sec1_1 .colR{
    position: relative;
    z-index: 1;
}
	#sec1 .txt1{
	text-align: center !important;
	font-size: 90%;
	margin-bottom: 1em;
    }
#sec1 .txt1 span{
color:#f23b3b;
    }
#sec3 .inner {
    flex-wrap: wrap;
}
#sec3 .fz20 {
    font-size: 20px;
}
#sec3 dl {
    position: relative;
}
#sec3 dl:hover {
    opacity: 0.8;
}
#sec3 dl a {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
}
#sec3 dl dd {
    margin-top: 5px;
    line-height: 1.7;
    letter-spacing: 0.3em;
    background: #f33b3b;
	color: #FFF;
	font-weight: 600;
    border-radius: 8px;
    text-align: center;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
}
#sec5 h3 {
    letter-spacing: 0.4em;
    line-height: 1.8;
    border: 1px solid #8a8a8a;
    border-radius: 4px;
    background: #f6f6f6;
    font-weight: 500;
}
#sec5 .colR em {
    font-style: normal;
}
#sec5 .colR .line {
    position: relative;
    padding-bottom: 5px;
    display: inline-block;
}
#sec5 .colR .line:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    bottom: 0;
    right: 0;
    background: #fff1f1;
    z-index: -1;
}
#sec5 .colR dl dt {
    font-weight: 500;
    font-size: 25px;
    letter-spacing: 0.4em;
    line-height: 1.5;
}
#sec5 .colR dl dt .price1 {
    font-size: 45px;
}
#sec5 .colR dl dt .price2 {
    font-size: 30px;
}
#sec5 .colR dl dt .price3 {
    font-size: 20px;
}


#sec5 .inner h3 {
    letter-spacing: 0.4em;
    line-height: 1.8;
    border: 1px solid #8a8a8a;
    border-radius: 4px;
    background: #f6f6f6;
    font-weight: 500;
}
#sec5 .inner .slide1 {
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
	margin-bottom:150px;
}

#sec5 .inner .box{
	width:450px;
	margin-right:20px;
	padding-bottom:100px;
}

#sec5 .inner dl dt{
	margin-bottom:30px;
}
#sec5 .inner dl dd{
	text-align:center;
	line-height:180%;
}


@media only screen and (min-width: 1000px) {
    header h1 {
        margin: 29px 0 20px;
    }
    #keyTop .kvSlider .slick-list {
        width: auto;
        max-width: 1250px;
        margin: 0 auto;
        overflow: inherit !important;
    }
    #keyTop .kvSlider .slick-slide {
        margin: 0 25px;
    }
    #keyTop .slider-nav {
        max-width: 1000px;
        margin: 20px auto 0;
    }
    #keyTop .slider-nav .slick-track {
        transform: translate3d(0px, 0px, 0px) !important;
    }
    /*#keyTop .slider-nav .slick-slide {
        margin: 0 15px;
        position: relative;
        cursor: pointer;
    }
    #keyTop .slider-nav .slick-slide div {
        line-height: 0;
    }
    #keyTop .slider-nav .slick-slide:not(.slick-current):before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0, 0, 0, 0.6);
        z-index: 1;
    }*/
	#keyTop  .slider-nav{
        width: 450px !important;
	}
	#keyTop .slider-nav li {
        background: #f33b3b;
        border-radius: 7px;
        border: 3px solid #f33b3b;
        font-size: 0;
        width: 64px !important;
        height: 4px;
    }
    #keyTop .slider-nav li img {
        opacity: 0;
        height: 0;
    }
    #keyTop .slider-nav .slick-current li {
        background: none;
    }
    #sec1 {
       /* margin-bottom: 100px;*/
    }
    #sec1 .inner{
        justify-content: space-between;
		padding: 0 200px;
    }
		#sec1 .txt1{
			width: 1000px;
			margin: 0 auto 1em;
    }
    #sec1 #sec1_1 .s1_img{
        text-align: center;
        /*background: #ffc6c6;
        background: linear-gradient(180deg, #ffc6c6 33%, #fff4f4 33%, #fff4f4 66%, #ffc6c6 66%);*/
        width: 47.5%;
        display: flex;
        padding: 85px 0;
    }
    #sec1 #sec1_1 .s1_img p{
        align-items: center;
        margin: 0 auto;
		
    }
    #sec1 #sec1_1 .colR{
        width: 50%;
        padding: 140px 0 85px;
    }
    #sec1 #sec1_1 .colR .innerR{
        width: 448px;
        margin: 0 auto;
    }
    #sec1 #sec1_1 .colR dl {
        margin-bottom: 50px;
    }
    #sec1 #sec1_1 .colR dl dt {
        margin-bottom: 47px;
    }
    #sec1 #sec1_2 .inner {
        max-width: 1000px;
        padding: 74px 0 55px;
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    #sec1 #sec1_2 .s1_img {
        margin: 5px -140px 0 0;
    }
    #sec1 #sec1_2 .s1_img img {
        box-shadow: 6px 8px 40px 0px rgba(0, 0, 0, 0.1);
    }
    #sec1 #sec1_2 .colL {
        width: 540px;
    }
    #sec1 #sec1_2 .colL dl dd {
        width: 440px;
        margin: 12px 0 0 34px;
    }
	#sec1 #sec1_2 {
		padding-bottom:50px;
	}
	#sec1 #sec1_2 .wrap{
		padding:80px 0 10px;
	}

    #sec2 .inner {
        padding: 140px 0 112px;
    }
    #sec2 h3 {
        margin: 0 -100px;
        font-size: 25px;
    }
    #sec2 .txt {
        margin: 21px 0 48px;
    }
    #sec3 .inner {
        padding: 30px 0 110px;
        margin: 0 -25px;
    }
    #sec3 dl {
        margin: 30px 10px 0;
    }
    #sec4 .gallery {
        margin: 90px -12.5px 110px;
		text-align: center;
    }
    #sec4 .gallery li {
        margin: 0 35px;
    }
    #sec5 .inner {
        padding: 93px 0 19px;
    }
    #sec5 h3 {
        font-size: 25px;
        margin: 0 -50px 40px;
    }
	#sec5 .inner h3 {
        font-size: 25px;
        margin: 0 auto 40px;
    }
	
    #sec5 .row + .row {
        margin-top: 98px;
    }
    #sec5 .s5_img {
        margin-left: 48px;
    }
    #sec5 .detail {
        justify-content: space-between;
    }
    #sec5 .colR {
        width: 400px;
    }
    #sec5 .colR dl dt {
        margin-bottom: 6px;
    }
    #sec5 .row1 .colR {
        width: 425px;
        margin-top: 16px;
    }
    #sec5 .row1 .colR .line {
        margin: 26px 0 16px;
    } 
    #sec5 .row1 .colR .price1 {
        letter-spacing: 0.4em;
    }  
    #sec5 .row1 .colR dl dt {
        margin-bottom: 16px;
    }    
    #sec5 .row2 .colR {
        margin: 26px 23px 0 0;
    }  
    #sec5 .row2 .colR .line {
        letter-spacing: 0.5em;
    }
    #sec5 .row3 .btn_link {
        margin-top: 30px;
    }
    #sec5 .row3 .colR {
        margin: 26px 23px 0 0;
    }  
    #sec5 .row3 .colR .line {
        letter-spacing: 0.5em;
    }
}
@media only screen and (min-width: 1580px) {
	#sec1 .inner{padding:0 300px;}
    #sec1 #sec1_1 .s1_img{
        text-align: center;
        /*background: #ffc6c6;
        background: linear-gradient(180deg, #ffc6c6 33%, #fff4f4 33%, #fff4f4 66%, #ffc6c6 66%);*/
        width: 55%;
        display: flex;
        padding: 85px 0;
    }

}

@media only screen and (max-width: 999px) {
    #keyTop {
        margin-bottom: 20px;
    }
    #keyTop .kvSlider .slick-slide {
        margin: 0 7px;
    }
    #keyTop .slider-nav {
        text-align: center;
        margin-top: 20px;
    }
    #keyTop .slider-nav .slick-track {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        transform: translate3d(0px, 0px, 0px) !important;
    }
    #keyTop .slider-nav .slick-slide {
        width: 70px !important;
        margin: 0 5px;
    }
    #keyTop .slider-nav .slick-slide div {
        line-height: 0;
    }
    #keyTop .slider-nav li {
        background: #f33b3b;
        border-radius: 7px;
        border: 3px solid #f33b3b;
        font-size: 0;
        width: 64px !important;
        height: 4px;
    }
    #keyTop .slider-nav li img {
        opacity: 0;
        height: 0;
    }
    #keyTop .slider-nav .slick-current li {
        background: none;
    }
    #sec1 {
        margin: 30px 0 0;
    }
    #sec1 #sec1_1 {
        margin-bottom: 50px;
    }
	#sec1 #sec1_1 .s1_img{
		    padding: 13% 13% 0;
	}
    #sec1 #sec1_1 .colR {
        padding: 0 5%;
    }
    #sec1 #sec1_1 dl {
        margin-bottom: 35px;
    }
    #sec1 #sec1_1 dl dt {
       /* margin: 50px 0 35px;*/
	   margin:0 auto;
    }
    #sec1 #sec1_1 .btn_link {
        margin: 0 10%;
    }
    #sec1 #sec1_2 .inner {
        padding: 40px 5%;
    }
    #sec1 #sec1_2 .s1_img {
        margin: 0 6% 15px;
    }
    #sec1 #sec1_2 .s1_img img {
        box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.1);
    }
    #sec1 #sec1_2 dl dt {
        margin: 0 -2% 5px;
    }
	#sec1 #sec1_2 .wrap{
		padding-top:5%;
		padding-bottom:0;
	}
	#sec1 #sec1_2 .wrap p{
	background: url(../img/index/bnr_s_bg.jpg) repeat ;
	padding-bottom:5%;
	}
	#sec1 #sec1_2 .wrap p img:nth-child(2){
	    margin: -8% auto 3%;
    }
	#sec1 #sec1_2 .wrap p img:nth-child(3){
	    margin: 0 auto 3%;
    }

    #sec2 .inner {
        padding: 25px 0 50px 0;
    }
    #sec2 h3 {
        margin: 0 -5.5%;
        font-size: 20px;
    }
    #sec2 .txt {
        text-align: justify;
        margin: 35px 0 35px;
    }
    #sec2 .btn_link {
        margin: 0 10%;
    }
    #sec3 .inner {
        padding: 4% 0 50px;
    }
    #sec3 dl {
        width: 46%;
        margin: 5% 2% 0;
    }
    #sec4 .gallery {
        flex-wrap: wrap;
        justify-content: center;
        padding: 4% 0 50px;
    }
    #sec4 .gallery li {
        width: 30%;
        margin: 4% 1.5% 0;
    }
    #sec5 .inner {
        padding: 30px 0 50px;
    }
	#sec5 .inner .slide1 {
		margin-bottom: 0;
	}
    #sec5 .inner .box {
        padding-bottom: 0;
        margin-right: 0;
        margin: auto;
        padding: 0 10px;
        box-sizing: border-box;
    }
    #sec5 h3 {
        font-size: 16px;
        box-sizing: border-box;
        margin: 0 auto 5%;
    }
    #sec5 .s5_img {
        margin: 20px 20%;
    }
    #sec5 .colR dl dt {
        font-size: 20px;
        margin-bottom: 10px;
    }
    #sec5 .colR dl dt .price1 {
        font-size: 35px;
    }
    #sec5 .colR dl dt .price2 {
        font-size: 25px;
    }
    #sec5 .colR dl dt .price3 {
        font-size: 15px;
    }
    #sec5 .btn_link {
        margin: 0 7%;
    }
    #sec5 .row + .row {
        margin-top: 40px;
    }
    #sec5 .row1 .line {
        margin: 10px 0;
    }
    #sec5 .row3 dl {
        margin-bottom: 25px;
    }
}
@media only screen and (max-width: 480px) {
    #sec3 .fz20 {
        font-size: 16px;
        letter-spacing: 0.1em;
    }
    #sec3 dl dd {
        font-size: 17px;
        padding: 2px 0;
    }
}