@charset "utf-8";

/* ---------------------------------------------------------------------------------------
	フロントページ
--------------------------------------------------------------------------------------- */

/* ファーストビュー */
#fv{
	height: 797px;
	background: url(../images/fv_pc.png) center top no-repeat;
	position: relative;
}
#fv h1{
	text-indent: -9999px;
	overflow: hidden;
}
#fv nav{
	width: 2000px;
	height: 98px;
	background: url(../images/gnav_bg.png) center top no-repeat;
	position: absolute;
	top: 542px;
	left: calc(50% - 1000px);
	z-index: 1000;
}
#fv nav.fixed{
	position: fixed;
	top: 0;
}
#fv nav ul{
	display: flex;
	justify-content: center;
}
#fv nav ul li{
	width: 140px;
}
#fv nav ul li a{
	height: 93px;
	padding-top: 17px;
	font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;
	font-size: 20px;
	color: #fff;
	line-height: 1.6;
	text-align: center;
	text-decoration: none;
	display: block;
	box-sizing: border-box;
	transition: all 0.3s ease 0s;
}
#fv nav ul li a:hover{
	background-color: #ffffffb3;
}
#fv nav ul li a span{
	font-family: "游明朝", "Yu Mincho", YuMincho, sans-serif;
	font-size: 15px;
	font-weight: bold;
	color: #a40b5d;
	display: block;
}
#fv nav ul li.logo{
	width: auto;
	padding: 20px 30px 0 0;
}
#fv nav ul li.contact{
	width: auto;
	padding: 10px 20px;
}
#fv nav ul li.contact a{
	height: auto;
	padding: 10px 20px;
	font-size: 15px;
	color: #e9b2d3;
	border: solid 1px #fff;
	background-color: #a40b5d;
}
#fv nav ul li.contact a:hover{
	background-color: #a40b5db5;
}
#fv nav ul li.contact a span{
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
	font-size: 18px;
	color: #fff;
}
#fv .btn{
	display: none;
}
#fv p.logo{
	display: none;
}
#fv p.contact{
	display: none;
}

@media screen and (max-width:640px){
	#fv{
		height: 0;
		margin-bottom: 30px;
		padding-top: 154.6666%;
		background: url(../images/fv_sp.png) center top /100% auto no-repeat;
	}
	#fv nav{
		width: auto;
		height: auto;
		display: none;
		background: none;
		background-color: rgba(89,87,87,0.9);
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
	}
	#fv nav ul{
		margin: 20px 8% 0;
		display: block;
	}
	#fv nav ul li{
		width: 58.6666%;
		border-bottom: solid 1px #fff;
	}
	#fv nav ul li a{
		height: auto;
		padding-top: 14px;
		font-size: 5.33333332vw;
		line-height: 1.4;
		position: relative;
	}
	#fv nav ul li a::before{
		content: "";
		display: block;
		border-top: 6px solid transparent;
		border-left: 11px solid #fff;
		border-bottom: 6px solid transparent; 
		position: absolute;
		left: 0;
		bottom: 5px;
	}
	#fv nav ul li a span{
		font-size: 3.733333324vw;
		color: #E9B2D3;
	}
	#fv nav ul li.logo{
		display: none;
	}
	#fv nav ul li.contact{
		border: none;
	}
	#fv nav ul li.contact{
		margin: 40px 10% 0;
		padding: 0;
	}
	#fv nav ul li.contact a{
		padding: 5px 0;
		font-size: 3.99999999vw;
		background-color: #595757;
	}
	#fv nav ul li.contact a::before{
		display: none;
	}
	#fv nav ul li.contact a span{
		font-size: 4.533333322vw;
	}
	#fv .btn{
		width: 18.1333%;
		height: 0;
		padding-top: 18.1333%;
		display: block;
		background: url(../images/gnav_btn_off.png) center top /100% auto no-repeat;
		position: fixed;
		top: 18px;
		right: 4%;
		z-index: 1200;
	}
	#fv .btn.active{
		background: url(../images/gnav_btn_on.png) center top /100% auto no-repeat;
	}
	#fv .btn img{
		width: 100%;
		height: auto;
	}
	#fv p.logo{
		width: 18.1333%;
		height: 0;
		padding-top: 7.7333%;
		display: block;
		background: url(../images/logo_sp.png) center top / 100% auto no-repeat;
		position: absolute;
		top: 100px;
		right: 3.2%;
		z-index: 1100;
	}
	#fv p.logo.active{
		background: url(../images/logo_on_sp.png) center top / 100% auto no-repeat;
	}
	#fv p.contact{
		width: 66.6666%;
		display: block;
		position: absolute;
		left: 16.6666%;
		bottom: 0;
	}
	#fv p.contact a{
		padding: 4px 0;
		font-size: 3.99999999vw;
		color: #e9b2d3;
		text-align: center;
		text-decoration: none;
		line-height: 1.4;
		color: #e9b2d3;
		display: block;
		border: solid 1px #fff;
		background-color: #a40b5d;
	}
	#fv p.contact a span{
		font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
		font-size: 4.533333322vw;
		color: #fff;
		display: block;
	}
}

/* コンセプト */
#concept{
	margin-top: -100px;
	padding-bottom: 130px;
	background: url(../images/concept_bg.png) center 350px no-repeat;
}
#concept .concept01,
#concept .concept02{
	width: 1160px;
	padding-top: 250px;
	position: relative;
	left: 50%;
}
#concept .concept01{
	margin-bottom: 76px;
	transform: translateX(-397px);
}
#concept .concept02{
	transform: translateX(-763px);
}
#concept .concept01::after,
#concept .concept02::after{
	content: "";
	display: block;
	clear: both;
}
#concept .concept01 h2,
#concept .concept02 h2{
	position: absolute;
	top: 0;
	z-index: 2;
}
#concept .concept01 h2{
	left: -140px;
}
#concept .concept02 h2{
	right: -140px;
}
#concept .concept01 figure,
#concept .concept02 figure{
	position: absolute;
	z-index: 1;
}
#concept .concept01 figure{
	right: 0;
	bottom: 0;
}
#concept .concept02 figure{
	left: 0;
	bottom: 22px;
}
#concept .concept01 .txt_area,
#concept .concept02 .txt_area{
	width: 570px;
	font-size: 16px;
	font-weight: bold;
	line-height: 2.4;
	background-color: #fff;
	box-sizing: border-box;
}
#concept .concept01 .txt_area{
	padding: 40px 180px 30px 65px;
	float: left;
}
#concept .concept02 .txt_area{
	padding: 40px 65px 30px 180px;
	float: right;
}

@media screen and (max-width:640px){
	#concept{
		margin-top: 0;
		padding-bottom: 60px;
		background: none;
	}
	#concept .concept01,
	#concept .concept02{
		width: 100%;
		padding-top: 0;
		position: static;
		transform: none;
	}
	#concept .concept01{
		margin-bottom: 30px;
		transform: none;
	}
	#concept .concept01 h2,
	#concept .concept02 h2{
		width: 94.4%;
		margin: 0 auto;
		position: relative;
		left: auto;
		right: auto;
	}
	#concept .concept01 h2 img,
	#concept .concept02 h2 img{
		width: 100%;
		height: auto;
	}
	#concept .concept01 figure,
	#concept .concept02 figure{
		margin-top: -30px;
		position: static;
	}
	#concept .concept01 figure img,
	#concept .concept02 figure img{
		width: 100%;
		height: auto;
	}
	#concept .concept01 .txt_area,
	#concept .concept02 .txt_area{
		width: 92%;
		margin: 0 auto;
		padding: 30px 4%;
		font-size: 3.733333324vw;
		float: none;
	}
	#concept .concept01 .txt_area{
		margin-top: -30px;
		padding-top: 40px;
	}
}

/* 素材について */
#material{
	height: 1103px;
	padding-top: 160px;
	box-sizing: border-box;
	background: url(../images/material_bg_pc.png) center top no-repeat;
	position: relative;
}
#material h2{
	position: absolute;
	top: -36px;
	left: calc(50% - 340px);
	z-index: 1;
}
#material .item{
	width: 794px;
	height: 416px;
	margin: 0 auto 50px;
	padding: 60px 66px 0 332px;
	box-sizing: border-box;
	background-color: #fff;
	position: relative;
}
#material .item:last-child{
	margin-bottom: 0;
}
#material .item figure{
	position: absolute;
	top: 23px;
	left: -43px;
}
#material .item h3{
	margin-bottom: 40px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-size: 22px;
	font-weight: bold;
	color: #595757;
}
#material .item p{
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-size: 16px;
	line-height: 2.2;
}

@media screen and (max-width:640px){
	#material{
		height: auto;
		margin-bottom: 40px;
		padding: 0 0 40px;
		background: url(../images/material_bg_sp.png) center top / 100% auto no-repeat, url(../images/material_bg2_sp.png) center top / 100% auto repeat-y;
	}
	#material h2{
		width: 84.6666%;
		margin: 0 auto 15px;
		position: relative;
		top: -20px;
		left: auto;
	}
	#material h2 img{
		width: 100%;
		height: auto;
	}
	#material .item{
		width: 82.6666%;
		height: auto;
		margin: 0 auto 50px;
		padding: 0 4% 20px;
		position: relative;
	}
	#material .item figure{
		position: relative;
		top: -25px;
		left: auto;
	}
	#material .item figure img{
		width: 100%;
		height: auto;
	}
	#material .item h3{
		margin-bottom: 20px;
		font-size: 4.266666656vw;
	}
	#material .item p{
		font-size: 3.733333324vw;
	}
}

/* 効果について */
#effect{
	padding: 300px 0 110px;
	background: url(../images/effect_bg_pc.png) center 30px no-repeat;
	position: relative;
}
#effect h2{
	position: absolute;
	top: -20px;
	left: calc(50% - 364px);
}
#effect figure{
	margin: -10px 0 -246px;
	text-align: center;
}
#effect dl{
	padding: 318px 0 50px;
	background-color: #ffffffb5;
}
#effect dl dt{
	width: 880px;
	margin: 0 auto 20px;
	padding: 0 0 8px 40px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-size: 22px;
	font-weight: bold;
	box-sizing: border-box;
	background: url(../images/effect_line.png) center bottom no-repeat;
}
#effect dl dt img{
	margin-right: 8px;
	vertical-align: middle;
}
#effect dl dd{
	width: 660px;
	margin: 0 auto 40px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 2.2;
}

@media screen and (max-width:640px){
	#effect{
		padding: 0 0 60px;
		background: url(../images/effect_bg_sp.png) center 30px / 100% auto no-repeat;
	}
	#effect h2{
		width: 84.6666%;
		margin: 0 auto 10px;
		position: static;
	}
	#effect h2 img{
		width: 100%;
		height: auto;
	}
	#effect figure{
		width: 92%;
		margin: 0 auto;
	}
	#effect figure img{
		width: 100%;
		height: auto;
	}
	#effect dl{
		width: 84%;
		margin: 0 auto;
		padding: 20px 4% 1px;
	}
	#effect dl dt{
		width: auto;
		margin-bottom: 10px;
		padding: 0 0 5px;
		font-size: 4.266666656vw;
		background-size: auto 1px;
	}
	#effect dl dt img{
		width: 8%;
		margin-right: 4px;
		height: auto;
	}
	#effect dl dd{
		width: auto;
		margin-bottom: 30px;
		font-size: 3.733333324vw;
	}
}

/* 取り扱い企業 */
#company{
	padding: 243px 0 95px;
	background-color: #fff;
	position: relative;
}
#company h2{
	position: absolute;
	top: -5px;
	left: calc(50% - 342px);
}
#company .info{
	width: 726px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
}
#company .info h3{
	margin-bottom: 40px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-size: 26px;
	font-weight: bold;
}
#company .info ul li{
	margin-bottom: 15px;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, sans-serif;
	font-size: 18px;
	font-weight: bold;
}
#company .info ul li span{
	margin-left: 5px;
	font-weight: normal;
}
#company .info .lupinus{
	font-family: futura-pt, sans-serif;
	font-size: 20px;
	color: #727171;
	text-align: center;
}
#company .info .product{
	padding: 5px 0;
	font-family: "游明朝", "Yu Mincho", YuMincho, sans-serif;
	font-size: 16px;
	text-align: center;
	box-sizing: border-box;
	border: solid 1px #000;
}

@media screen and (max-width:640px){
	#company{
		padding: 10px 0 30px;
	}
	#company h2{
		width: 91.2%;
		margin: 0 auto;
		position: static;
	}
	#company h2 img{
		width: 100%;
		height: auto;
	}
	#company .info{
		width: auto;
		display: block;
	}
	#company .info figure{
		width: 45.3333%;
		margin: 0 auto 15px;
	}
	#company .info figure img{
		width: 100%;
		height: auto;
	}
	#company .info > div{
		text-align: center;
	}
	#company .info h3{
		font-size: 4.266666656vw;
		text-align: center;
	}
	#company .info ul{
		margin: 0 auto 25px;
		display: inline-block;
	}
	#company .info ul li{
		margin-bottom: 10px;
		font-size: 3.733333324vw;
		text-align: left;
	}
	#company .info .lupinus{
		font-size: 3.99999999vw;
	}
	#company .info .product{
		width: 46.6666%;
		margin: 0 auto;
		font-size: 3.466666658vw;
	}
}

/* お問い合わせ */
#contact{
	height: auto;
	padding-top: 20px;
	padding-bottom: 75px;
	text-align: center;
	box-sizing: border-box;
	background: url(../images/contact_bg_pc.png) center bottom no-repeat #a40b5d;
}
#contact a{
	width: 400px;
	height: 120px;
	padding-top: 8px;
	font-family: '小塚ゴシック Pro','Kozuka Gothic Pro',sans-serif;
	font-size: 32px;
	line-height: 1.4;
	color: #E9B2D3;
	text-decoration: none;
	display: inline-block;
	box-sizing: border-box;
	border: solid 1px #fff;
}
#contact .contact__cont {
	margin-top: 45px;
}
#contact .contact__cont a {
	width: auto;
	height: auto;
	border: none;
	padding: 0;
}
#contact a span{
	font-size: 40px;
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", "Meiryo", sans-serif;
	color: #fff;
	display: block;
}

@media screen and (max-width:640px){
	#contact{
		height: auto;
		padding: 20px 0 40px;
		background: url(../images/contact_bg_sp.png) center bottom / 100% auto no-repeat #a40b5d;
	}
	#contact a{
		width: 60.2666%;
		height: auto;
		padding: 8px 0;
		font-size: 5.599999986vw;
	}
	#contact a span{
		font-size: 5.599999986vw;
	}
	#contact .contact__cont a {
		max-width: 92%;
	}
	#contact .contact__cont img {
		width: 100%;
		height: auto;
	}
}

/* ページトップ */
#pagetop{
	width: 81px;
	position: fixed;
	right: 40px;
	bottom: 40px;
	z-index: 1200;
}
#pagetop a{
	transition: all 0.3s ease 0s;
}
#pagetop a:hover{
	opacity: 0.8;
}
#pagetop a img{
	width: 100%;
	height: auto;
}

@media screen and (max-width:640px){
	#pagetop{
		width: 10.6666%;
		right: 0;
		bottom: 10px;
	}
}
