@charset "utf-8";

/*ページ内共通設定ここから*/
#main section{
	--main-color:#f39012;
	--sub-color:#f4f4f4;
	--text-color:#3c3c3b;
	--text-color-hover:#fff;
}

#main {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

#main .min{
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-style: normal;
}

#main {margin: 0;}
#main *{box-sizing: border-box;}
html {scroll-behavior: smooth;}
#main h2,#main h3,#main h4,#main p,#main ul,#main li{margin: 0; padding: 0; line-height: normal; color: var(--text-color);}
#main a{text-decoration: none; transition: .4s all;}
#main ul{list-style: none;}
#main img{display:block; width: 100%; line-height: 1;}
#main h2{font-weight: bold; text-shadow: unset; background: transparent; border: none;}
#main h3{border: none;}

#main{
    width: 100%;
    max-width: 1250px;
    margin: 0 auto;
    box-sizing: border-box;
}

#main .section__inner {
	box-sizing: border-box;
 }

@media screen and (max-width:1250px) and (min-width:1025px){
	#main .section__inner {
        padding: 0 10px;
        box-sizing: border-box;
    }
}

@media screen and (min-width:1025px){
	#main a:hover{opacity: 1;}
}

@media screen and (max-width:1024px){
	#main .section__inner {
        padding: 0 2%;
    }

    section {overflow: hidden;}
}

@media screen and (max-width:768px){
    .sp_none {
        display: none;
    }
}

/*ページ内共通設定ここまで*/


/*section001ここから*/
#main .section001{
	margin-bottom: 80px;
}

@media screen and (max-width:1024px){
	#main .section001{
		margin-bottom: 8%;
	}
}

@media screen and (max-width:768px){

}
/*section001ここまで*/


/*section002ここから*/
#main .section002{
	margin-bottom: 80px;
}

#main .section002 .product_introduction_box01{
	position: sticky;
    top: 0;
	display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
	max-width: 750px;
	margin: 0 auto 80px;
	box-sizing: border-box;
}

#main .section002 .product_introduction_box01 > h2{
	width: 63%;
	max-width: calc(750px - 290px);
	font-size: 40px;
	text-align: center;
	order: 2;
}

#main .section002 .product_introduction_box01 > div{
	width: 34%;
	max-width: 250px;
	margin-right: 20px;
}

#main .section002 .product_introduction_box01 > div img{
	position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: block;
    max-width: 200px;
}

#main .section002 .product_introduction_box02{
	display: -webkit-flex;
    display: flex;
    -webkit-align-items: stretch;
    align-items: stretch;
    justify-content: center;
    margin-bottom: 20px;
}

#main .section002 .product_introduction_box02 li{
	position: relative;
	transform: translateY(50px);
	/*width: calc(94% / 5);
	max-width: calc(1170px / 5);*/
	width: calc(98% / 2);
	max-width: calc(722px / 2);
	opacity: 0;
	transition: .4s all;
}
#main .section002 .product_introduction_box02.is_active li{
	animation: animation .4s ease-out .0s 1 alternate forwards;
}

#main .section002 .product_introduction_box02 li:not(:last-of-type){
	margin-right: 20px;
}

#main .section002 .product_introduction_box02 li .product_img{
	position: relative;
	overflow: hidden;
}

#main .section002 .product_introduction_box02 li .product_img span{
	position: absolute;
	bottom: 20px;
	left: 50%;
	transform: translateX(-50%);
	display: inline-block;
	padding: 5px 20px 8px;
	font-size: 20px;
	line-height: 1;
	background: var(--main-color);
	color: var(--text-color-hover);
	font-weight: bold;
	transition: .2s all;
	border: 1px solid var(--main-color);
	overflow: hidden;
	letter-spacing: .1rem;
}

#main .section002 .product_introduction_box02 li .product_img span::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	transform: translateY(100%);
	width: 100%;
	height: 100%;
	background: #fff;
	z-index: -1;
	transition: .2s all;
}

#main .section002 .product_introduction_box02 li a .product_img{
	position: relative;
	display: block;
	overflow: hidden;
	z-index: 1;
	line-height: 1;
}

#main .section002 .product_introduction_box02 li a .product_img img{
	position: relative;
	transition: .4s all;
	z-index: 0;
}

#main .section002 .product_introduction_box02 + p{
	position: relative;
	padding: 40px;
	font-size: 20px;
	line-height: 1.5;
	color: var(--text-color);
	background: var(--sub-color);
	font-weight: 300;
	opacity: 0;
	transition: .4s .8s all;
	overflow: hidden;
}

#main .section002 .product_introduction_box02.is_active + p{
	opacity: 1;
}

@media screen and (min-width:1025px){
	#main .section002 .product_introduction_box01 + div{
		position: relative;
		background: #fff;
	}

	#main .section002 .product_introduction_box02 li:hover{
		box-shadow: 1px 1px 5px 1px rgba(0, 0, 0, .2);
	}


	#main .section002 .product_introduction_box02 li a:hover .product_img img{
		transform: scale(1.03);
	}

	#main .section002 .product_introduction_box02 li a:hover .product_img span{
		color: var(--main-color);
	}

	#main .section002 .product_introduction_box02 li a:hover .product_img span::after{
		transform: translateY(0);
	}
}

@media screen and (max-width:1024px){
	#main .section002{
		margin-bottom: 8%;
	}

	#main .section002 .product_introduction_box01{
		margin: 0 auto 8%;
	}

	#main .section002 .product_introduction_box01 > h2{
		font-size: calc(1vw * calc(40 / 10.24));
	}

	#main .section002 .product_introduction_box01 > div{
		margin-right: 2%;
	}

	#main .section002 .product_introduction_box02{
	    margin-bottom: 2%;
	    overflow-x: scroll;
	}

	#main .section002 .product_introduction_box02 li{
		max-width: none;
		min-width: calc(1170px / 5);
		flex-shrink: 0;
	}

	#main .section002 .product_introduction_box02 + p{
		font-size: 18px;
		padding: 4%;
	}
}

@media screen and (max-width:768px){
	#main .section002 .product_introduction_box01 > div{
		width: 25%;
		margin-right: 2%;
	}

	#main .section002 .product_introduction_box01 > h2{
		width: 71%;
		font-size: calc(1vw * calc(20 / 3.75));
	}

	#main .section002 .product_introduction_box02 li{
		min-width: calc(780px / 5);
	}

	#main .section002 .product_introduction_box02 li:not(:last-of-type){
		margin-right: 10px;
	}

	#main .section002 .product_introduction_box02 li .product_img span{
		bottom: 10px;
		font-size: 14px;
	}

	#main .section002 .product_introduction_box02 + p{
		font-size: 16px;
		text-align: justify;
	}

}


@keyframes animation {
    0%{
    	opacity: 0;
        transform: translateY(50px);
    }

    100%{
    	opacity: 1;
        transform: translateY(0);
    }
}
/*section002ここまで*/


/*section003ここから*/
#main .section003{
	margin-bottom: 100px;
}

#main .section003 .section__inner > div{
	display: block;
}

#main .section003 .section__inner > div h2{
	width: 100%;
	margin-bottom: 40px;
	font-size: 40px;
	text-align: center;
	line-height: 1.8;
}

#main .section003 .section__inner > div h2 span{
	display: block;
	margin-bottom: 20px;
}

#main .section003 .section__inner > div h2 + div{
	width: 100%;
	padding: 25px;
    background: #f4f4f4;
	overflow: hidden;
}

#main .section003 .section__inner > div h2 + div img{
	position: relative;
	transform: scale(.9);
	transition: .4s all;
}

#main .section003.is_active .section__inner > div h2 + div img{
	transform: scale(1);
}

#main .section003 .section__inner > div + ul li{
	font-size: 20px;
	color: var(--text-color);
}

#main .section003 .section__inner > div.btn{
	width: 100%;
    max-width: 542px;
    margin: 60px auto 0;
}


#main .section003 .section__inner > div.btn a{
    display: block;
    padding: 20px 0px;
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    color: #707070;
    background: #e0e3e4;
}

@media screen and (max-width:1250px) and (min-width:1025px){
	#main .section003 .section__inner > div h2{
		font-size: calc(1vw * calc(39 / 12.5));
	}
}

@media screen and (max-width:1024px){
	#main .section003{
		margin-bottom: 10%;
	}

	#main .section003 .section__inner > div h2{
		font-size: calc(1vw * calc(32 / 10.24));
		margin-right: 4%;
	}

	#main .section003 .section__inner > div h2 span{
		margin-bottom: 2%;
	}

	#main .section003 .section__inner > div + ul li{
		font-size: 18px;
	}

	#main .section003 .section__inner > div.btn{
	    margin: 6% auto 0;
	}


	#main .section003 .section__inner > div.btn a{
	    padding: 2% 0px;
	}
}

@media screen and (max-width:768px){
	#main .section003 .section__inner > div{
		display: block;
	}

	#main .section003 .section__inner > div > h2,
	#main .section003 .section__inner > div > h2 + div{
		width: 100%;
		max-width: none;
		margin-right: 0;
	}

	#main .section003 .section__inner > div h2{
		font-size: calc(1vw * calc(19 / 3.75));
		margin-bottom: 4%;
	}

	#main .section003 .section__inner > div h2 + div{
		padding: 4%;
	}

	#main .section003 .section__inner > div + ul li{
		font-size: 16px;
	}

	#main .section003 .section__inner > div.btn a{
	    padding: 4% 0px;
	}
}
/*section003ここまで*/