@charset "UTF-8";

.slide{
	position: relative;
}#main-visual .btn{
	width: 19.399vw;
	height: 2.635vw;
	border-radius: .732vw;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ff9e17;
	color: #fff;
	position: relative;
	font-size: 1.317vw;
	font-weight: 600;
	position: absolute;
}
#main-visual .btn:before{
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	right: 3.773%;
	top: 0;
	bottom: 0;
	margin: auto;
	border-left: .878vw solid #fff;
	border-top: .658vw solid transparent;
	border-bottom: .658vw solid transparent;
}
.slide02 .btn{
	right: 16.691%;
	bottom: 34.090%;
}
.slide03 .btn{
	right: 7.467%;
	bottom: 10%;
}
.slick-slide img{
	width: 100%;
}

/* +++++++++++++++++#sec01+++++++++++++++++ */
#sec01{
	background: #eaeaea;
	padding-top: 60px;
	padding-bottom: 30px;
}
#sec01 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#sec01 li{
	width: 14.915%;
	height: auto;
	margin-bottom: 25px;
}
#sec01 li a{
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	font-size: 2rem;
}
#sec01 h2{
	font-size: 4.5rem;
	display: flex;
	justify-content: center;
	margin-bottom: 35px;
}
#sec01 h2 span{
	background-image: url(../images/index-sec01-ttl-icon01.svg), url(../images/index-sec01-ttl-icon01.svg);
	background-repeat: no-repeat, no-repeat;
	background-size: 22px auto, 22px auto;
	background-position: left center, right center;
	display: block;
	padding-left: 35px;
	padding-right: 35px;
}

.speclist {
    font-size: 0.8em;
}
.speclist th {
    background-color: #aaa;
    color: #fff;
    font-weight: normal;
    padding: 0.2em;
    border-bottom: 1px solid rgba(210,210,210,0.5);
    width: 5em;
}
.speclist td {
    font-weight: normal;
    padding: 0.2em 0.5em;
    text-align: left;
}
.specother {
    font-size: 0.8em;
    font-weight: normal;
    line-height: 1.5em;
    height: 4.5em;
    overflow: auto;
    text-align: left;
    scrollbar-width: thin;
}
.specother::-webkit-scrollbar {
    width: 5px;
}
 .specother .price {
     color: #e30012;
     font-weight: bold;
 }
.specother::-webkit-scrollbar-track {
    background-color: #eee;
}
.specother::-webkit-scrollbar-thumb {
    background-color: #bbb;
}
.specother a {
    display: block !important;
}
@media screen and (max-width: 768px){
    .speclist {
        font-size: 1.2em;
    }
    .specother {
        font-size: 1.2em;
    }
}


/* +++++++++++++++++#sec02+++++++++++++++++ */
#sec02 h2:before{
	content: attr(data-sub-ttl);
	display: block;
	font-size: 2rem;
	margin-bottom: .5em;
	font-weight: 600;
}
#sec02 h2{
	font-size: 6.1rem;
	text-align: center;
	margin-bottom: 80px;
	font-weight: 400;
}
#sec02{
	padding-top: 115px;
	padding-bottom: 25px;
}

/* +++++++++++++++++#sec03+++++++++++++++++ */
#sec03{
	padding-top: 85px;
	padding-bottom: 30px;
	background: #eaeaea;
}
#sec03 h2{
	width: 808px;
	margin: 0 auto 40px;
}
#sec03 h2 img{
	display: block;
	width: 100%;
}
#sec03 ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#sec03 li{
	width: 47.033%;
	margin-bottom: 45px;
	text-align: center;
}
#sec03 figure {
    position: relative;
}
#sec03 figure .icon {
    position: absolute;
    right: 1rem;
    top: 1rem;
    width: 150px;                
}
#sec03 figure .icon img {
    width: 100%;
}
#sec03 a{
	display: flex;
	justify-content: center;
}
#sec03 h3{
	font-weight: 500;
	line-height: 1.2;
	margin: 30px 0 20px;
	font-size: 2.3rem;
}
h3 span {
    white-space: nowrap;
}
#sec03 .btn01{
	font-size: 2.3rem;
	max-width: 360px;
	height: 54px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 9px;
}

.banner{
	display: block;
	position: relative;
}
.banner01{
	margin-bottom: 10px;
}
.banner .txt{
	color: #fff;
	background: rgba(227,0,18,.8);
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 2rem;
	font-weight: 500;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	height: 125px;
}
.banner h2{
	font-size: 65px;
	margin-top: 12px;
	font-weight: 400;
}
.banner01 .txt{
	width: calc(50% - 45px);
	align-items: flex-end;
	padding: 0 20px;
	left: 0;
}
.banner02 .txt{
	width: calc(50% + 65px);
	align-items: flex-start;
	padding: 0 20px;
	right: 0;
}





@media screen and (max-width: 1260px) and (min-width: 769px){

	.banner .txt{
		font-size: 1.587vw;
		height: 9.92vw;
	}
	.banner h2{
		font-size: 5.158vw;
		margin-top: 1vw;
	}
	.banner01 .txt{
		width: calc(50% - 45px);
		padding: 0 1.587vw;
	}
	.banner02 .txt{
		width: calc(50% + 65px);
		padding: 0 1.587vw;
	}
}




/* **********************IE用のスタイル************************* */
@media all and (-ms-high-contrast: none){
	#sec01 h2 span{
		padding-top: .4em;
	}
	.banner .txt p{
		padding: 0 0 .5em .5em;
	}
	.banner .txt{
		padding-top: 1em;
	}
}


@media screen and (max-width: 768px){
	#main-visual{
		margin-top: 12.3rem;
	}
	.slide .bg{
		height: 33.6rem;
	}
	.slide .bg img{
		width: 100%;
		height: auto;
	}

	#main-visual .btn{
		width: 33.2rem;
		height: 4.5rem;
		border-radius: .7rem;
		font-size: 2.2rem;
	}
	#main-visual .btn:before{
		right: 1.5rem;
		border-left: 1.2rem solid #fff;
		border-top: 1rem solid transparent;
		border-bottom: 1rem solid transparent;
	}
	.slide02 .btn{
		right: 0;
		left: 0;
		margin: auto;
		bottom: 2.6rem;
	}
	.slide03 .btn{
		right: 0;
		left: 0;
		margin: auto;
		bottom: 1.5rem;
	}

/* +++++++++++++++++#sec01+++++++++++++++++ */
	#sec01{
		padding-top: 4.2rem;
		padding-bottom: 1rem;
	}
	#sec01 ul{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		padding: 0 4rem;
		max-width: 576rem;
		margin: 0 auto;
	}
	#sec01 li{
		width: 30.541%;
		margin-bottom: 2rem;
	}

	#sec01 h2{
		font-size: 4.5rem;
		margin-bottom: 3.8rem;
	}
	#sec01 h2 span{
		background-image: url(../images/index-sec01-ttl-icon01.svg), url(../images/index-sec01-ttl-icon01.svg);
		background-repeat: no-repeat, no-repeat;
		background-size: 2.2rem auto, 2.2rem auto;
		background-position: left center, right center;
		display: block;
		padding-left: 3.5rem;
		padding-right: 3.5rem;
	}


/* +++++++++++++++++#sec02+++++++++++++++++ */
	#sec02 h2:before{
		font-size: 2.5rem;
	}
	#sec02 h2{
		font-size: 8rem;
		margin-bottom: 8rem;
	}
	#sec02{
		padding-top: 9rem;
		padding-bottom: .5rem;
	}

/* +++++++++++++++++#sec03+++++++++++++++++ */
	#sec03{
		padding-top: 7.5rem;
		padding-bottom: 6rem;
	}
	#sec03 h2{
		width: 64.4rem;
		margin: 0 0 6rem 5rem;
	}
	#sec03 ul{
		display: block;
	}
	#sec03 li{
		width: 100%;
		margin-bottom: 8rem;
	}
	#sec03 li:last-of-type{
		margin-bottom: 0;
	}
    #sec03 figure {
        position: relative;
    }
    #sec03 figure .icon {
        position: absolute;
        right: 1rem;
        top: 1rem;
        width: 85px;                
    }
    #sec03 figure .icon img {
        width: 100%;
    }
    

	#sec03 h3{
		margin: 3.5rem 0 2.2rem;
		font-size: 2.7rem;
	}
	#sec03 .btn01{
		font-size: 2.8rem;
		max-width: 43.3rem;
		height: 6.5rem;
		border-radius: 1rem;
	}

	.banner01{
		margin-bottom: 1rem;
		margin-top: 1rem;
	}
	.banner .txt{
		font-size: 2rem;
		height: 12.6rem;
	}
	.banner h2{
		font-size: 6.5rem;
		margin-top: 1.2rem;
	}
	.banner01 .txt{
		width: 51.5rem;
		padding: 0 1.8rem 0 0;
	}
	.banner02 .txt{
		width: 49.5rem;
		padding: 0 0 0 1.8rem;
	}

}

.slider .slick-arrow {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  border: none;
  outline: none;
  font-size: 0;
  position: absolute;
  top: 50%;
  z-index: 1;
  transform: translateY(-50%);
  filter: drop-shadow(0px 3px 6px rgba(0, 0, 0, 0.16));
  opacity: 0.8;
}
.slider .slick-arrow::before {
  content: '';
  display: block;
  width: 12px;
  height: 12px;
  border: 1px solid #09000d;
  border-width: 3px 3px 0 0;
  position: absolute;
  top: 24px;
  transform: rotate(45deg);
}
.slider .slick-next {
  right: 40px;
}
.slider .slick-prev {
  left: 40px;
}
.slider .slick-next::before {
  left: 20px;
}
.slider .slick-prev::before {
  border-width: 0 0 3px 3px;
  right: 22px;
}

@media screen and (max-width: 600px) {
    .slider .slick-arrow {
        width: 40px;
        height: 40px;
    }
    .slider .slick-next {
        right: 10px;
    }
    .slider .slick-prev {
        left: 10px;
    }
    .slider .slick-arrow::before {
        width: 10px;
        height: 10px;
        top: 14px;
    }    
    .slider .slick-next::before {
        left: 12px;
    }    
    .slider .slick-prev::before {
        left: 15px;
    }    
}
