@charset "utf-8";

@-ms-viewport {
  width: device-width;
}

@viewport {
  width: device-width;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.pc{display:block!important;}
.sp{display:none!important;}

img{
	width: 100%;
	height: auto;
	margin: 0 auto;
	display:block;
}

p{
	margin-bottom:2.5rem;
}


/*header
----------------------------------------------------*/
/*top
-----------------------------*/
header{
	position: relative;
	width:100%;
	height:800px;
	/*background: url("../img/mv.jpg") no-repeat center / cover;*/
}

header .mask{
	position: absolute;
	top:0;
	left:0;
	width: 370px;
	height: 800px;
	padding: 70px 50px;
	background: rgba(255, 255, 255, .5);
	font-family: "Shippori Mincho", serif;
}

header .mask h1{
	width:150px;
	margin: 0 auto 110px auto;
}

header .mask ul li{
	margin-bottom: 35px;
}

header .mask p{
	position: absolute;
	bottom: 70px;
	font-size: 10px;
	font-weight: bold;
}

header .block {
	position: absolute;
	top:40px;
	right:150px;
	width: 215px;
	margin-bottom: 0;
	overflow: hidden;
	transition: height 500ms;
}

header .block__title {
	position: relative;
	cursor: pointer;
	user-select: none;
	padding: 15px 25px;
	background: #c30d23;
	border-radius: 50px;
	font-family: "Shippori Mincho", serif;
	line-height: 1.4;
	font-weight: 400;
	color: #FFF;
	text-decoration: none;
	display: block;
}

header .block__title:hover {
	opacity: .8;
}

header .block__title::after {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 1.4em;
	right: 1.5em;
	width: 0.6em;
	height: 0.6em;
	font-size: 1em;
	color: #FFF;
	z-index: 1;
}

header .block.is-collapsed .block__title::after {
	content: url("../img/icon_open.png");
	transform: rotate(-90deg)
}

header .block.is-expanded .block__title::after {
	content: url("../img/icon_open.png");
}

header .block__content{
	padding-top: 1em;
	border: 0;
}

header .block__title:focus {
  border: 0;
  outline: 0;
}

header .block__content ul li{
	margin-bottom: 0.2em;
	background: rgba(255, 255, 255, .5);
}

header .block__content ul li a{
	padding: 5px 5px 5px 15px;
	background: url("../img/icon_link03.png") no-repeat left 5px center / 0.3em;
	font-size: 14px;
	display: block;
}

header h3{
	position: absolute;
	top:300px;
	right:120px;
	font-size:40px;
	font-weight: 500;
	line-height: 1.4;
	color: #000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
}

.swiper-container{
	height: 800px;
	z-index: -1!important;
}

/*page
-----------------------------*/
header.mv{
	position: relative;
	width:100%;
	height:600px;
    background: url("../img/bg_lightgray.jpg");
}

header.mv:has(.products_list),
header.mv:has(.products_detail){
    background: none;
}

header.mv:has(.products_detail){
	height: 280px;
}

header.products_list{
	background: url("../img/mv_products.jpg") no-repeat right top / 70%;
}

header .products_detail{
	height:auto;
}

header .safety{
    height: 100%;
	background: url("../img/mv_safety.jpg") no-repeat right top / 70%;
}

header .oem{
    height: 100%;
	background: url("../img/mv_oem.jpg") no-repeat right top / 70%;
}

header .dealing{
    height: 100%;
	background: url("../img/mv_dealing.jpg") no-repeat right top / 70%;
}

header .company,
header .contact{
    height: 100%;
	background: url("../img/mv_company.jpg") no-repeat right top / 70%;
}

header.mv:has(.contact){
	padding-bottom: 100px;
}

header .recruit{
    height: 100%;
	background: url("../img/mv_recruit.jpg") no-repeat right top / 70%;
}

header.mv p{
	width:150px;
	padding: 35px 0 0 30px;
}

header.mv h1{
	position: absolute;
	bottom:0;
	left:215px;
	font-size:30px;
	font-weight: 500;
	line-height: 1.6;
	color: #000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;	
}

header.mv .contact h1{
	bottom:100px;
}

header.mv h1 em {
	position: relative;
	left:-0.05em;
	text-orientation: upright;
	font-style: normal;
}

header.mv h1 span{
	padding-left: 10px;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}


/*sp button
-------------------------------------------------*/
#triggerBox{
    position: fixed;
    top: 47px;
    right: 40px;
	width: 70px;
	height: 36px;
    z-index: 99999;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 100%;
	height: 100%;
	/*background: linear-gradient(to left top, #15EAB5, #10D86F);*/
	display: block;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 70px;
    height: 2px;
    background-color: #252525;
}
.menu-trigger span:nth-of-type(1) {
    top: 0;
}
.menu-trigger span:nth-of-type(2) {
	top: 17px;
}
.menu-trigger span:nth-of-type(3) {
	bottom: 0;
}
.menu-trigger.active span:nth-of-type(1) {
	-webkit-transform: translateY(17px) rotate(-30deg);
	transform: translateY(17px) rotate(-30deg);
}

.menu-trigger.active span:nth-of-type(2) {
	opacity: 0;
}
.menu-trigger.active span:nth-of-type(3) {
	-webkit-transform: translateY(-17px) rotate(30deg);
	transform: translateY(-17px) rotate(30deg);
}


/*navigation
-------------------------------------------------*/
#headIn{
	overflow: auto;
	position: fixed;
	width:100%;
	height:100vh;
	left: auto;
	top: 0;
	right: 0px;
    background: #FFF;
    -webkit-overflow-scrolling: touch;
    z-index: 10000;
}

@keyframes show{
    from{
        opacity: 0;
    }
    to{
        opacity: 1;
    }
}

#headIn{
    display: none;
}

#headIn.active{
    display: block;
    animation: show 0.3s linear 0s;
}

header #headIn nav{
	height:100%;
	margin:auto 0;
	display: grid;
	grid-template-columns: 30% 30% 1fr;
}

header #headIn nav div{
	display: flex;
	justify-content: center;
	align-items: center;
}

header #headIn nav div div{
	display: block;
}

header #headIn nav .bg{
	background: url("../img/ph_menu.jpg") no-repeat center center / cover;
}

header #headIn nav h2{
	width:150px;
	margin: 0 auto 60px auto;
}

header #headIn nav ul li{
	margin-bottom: 35px;
}

header #headIn nav dl{
	padding: 20px 40px 20px 0;
	border-bottom: 1px solid #B5B5B5;
	font-family: "Shippori Mincho", serif;
	color: #000;
}

header #headIn nav dl dd a.tel{
	padding-left: 40px;
	font-family: "Noto Serif JP", serif;
	font-size: 28px;
}

header #headIn nav dl.tel dd a.tel{background: url("../img/icon_tel.png") no-repeat left center / 1em;}
header #headIn nav dl.fax dd a.tel{background: url("../img/icon_fax.png") no-repeat left center / 1em;}

header #headIn nav dl dd a.dl{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	text-decoration: underline;
	color: #555;
	display: block;
}

header #headIn nav dl.mail{
	padding: 20px 0 0 0;
	border-bottom: 0;
}

header #headIn nav dl.mail dt{
	margin-bottom: 5px;
}

header #headIn nav dl.mail dd ul li{
	margin-bottom: 10px;
}

header #headIn nav dl.mail dd ul li a{
	padding: 10px 20px;
	border: 2px solid #c30d23;
	border-radius: 40px;
	text-align: center;
	color: #c30d23;
	display: block;
}

header #headIn nav dl.mail dd ul li a:hover{	
	background: #c30d23;
	color: #FFF;
}


/*Contents layout
----------------------------------------------------*/
section{
	position:relative;
	width:100%;
	display:block;
	clear:both;
}

section:after,
.contents:after,
ul:after,
dl:after{
	visibility: hidden;
	display: block;
	font-size: 0px;
	content: " ";
	clear: both;
	height: 0;
}

.contents{
	position:relative;
	width:1200px;
	margin:0 auto;
}


/*top news
----------------------------------------------------*/
.sec_news{
	padding: 15px;
	background: #c30d23;
}

.sec_news .contents{
	display: grid;
	grid-template-columns: 75px 1fr;
}

.sec_news h2{
	width: 60px;
	height: 60px;
	margin: 0 auto 0 0;
	padding: 14px 10px;
	border: 1px solid #FFF;
	border-radius: 30px;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 13px;
	text-align: center;
	color: #FFF;
}

.sec_news .ticker{
	margin-top: 0.4em;
	line-height: 1.4;
	overflow:hidden;
}

.sec_news .ticker ul{
	position:relative;
}

.sec_news .ticker ul li{
	width:100%;
	background: url("../img/icon_link02.png") no-repeat right 1.2em / 0.5em;
	color:#FFF;
	display:none;
}

.sec_news .ticker ul li a{
	font-family: "Shippori Mincho", serif;
	color:#FFF;
	display: block;
}

.sec_news .ticker ul li span{
	width:6em;
	font-family: "Zen Kaku Gothic New", serif;
	display:block;
}


/*top omoi
----------------------------------------------------*/
.sec_top_omoi{
	padding: 90px 0 0 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sec_top_omoi .box_img{
	margin: 80px 60px 80px 0;
	background: url("../img/ph_top02.jpg") no-repeat center center / cover;
}

.sec_top_omoi .box_txt{
	padding: 23vw 120px 23vw 60px;
	background: url("../img/bg_top_omoi.jpg") no-repeat top right / contain;
}

.sec_top_omoi .box_txt h2{
	margin-bottom: 60px;
	font-size: 40px;
}

.sec_top_omoi .box_txt h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_top_omoi .box_txt h3{
	margin-bottom: 25px;
	font-size: 25px;
}

.sec_top_omoi .box_txt img{
	position: absolute;
	bottom:0;
	right: 7vw;
	width: 280px;
	height: auto;
}


/*top products
----------------------------------------------------*/
.sec_top_products .contents{
	padding-top: 50px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 100px;
}

.sec_top_products dl{
	position: relative;
}

.sec_top_products dl:nth-of-type(1){margin-top: 50px;}
.sec_top_products dl:nth-of-type(3){margin-top: 100px;}

.sec_top_products dl dt{
	position: absolute;
	top:-50px;
	left:20px;
	font-family: "Shippori Mincho", serif;
	font-size:30px;
	font-weight: 500;
	line-height: 1.4;
	color: #000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
}

.sec_top_products dl dd p{
	padding-top: 25px;
}

.sec_top_products .btn_more{
	position: relative;
	top:-50px;
}

.btn_more a{
	position: relative;
	padding: 47px 95px 47px 0;
	font-family: "Shippori Mincho", serif;
	display: inline-block;
}

.btn_more a:before{
	position: absolute;
	top:0;
	right:0;
	width: 120px;
	height: 120px;
	padding: 47px 0 0 0;
	border: 1px solid #c30d23;
	border-radius: 120px;
	content:url("../img/icon_link01.png");
	text-align: center;
	display: block;
	z-index: 1;
}

.btn_more a span{
	position: relative;
	background: #FFF;
	z-index: 2;
}

/*top safety
----------------------------------------------------*/
.sec_top_safety{
	padding: 70px 0 150px 0;
	background: url("../img/img_fruits01.png") no-repeat left 40vw / 23vw;
}

.sec_top_safety .contents{
	padding-top: 110px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sec_top_safety .box_txt{
	padding: 0 80px;
}

.sec_top_safety .box_txt h2{
	margin-bottom: 50px;
	font-size: 40px;
}

.sec_top_safety .box_txt h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_top_safety .box_txt h3{
	margin-bottom: 25px;
	font-size: 25px;
}

.sec_top_safety .box_txt p{
	margin-bottom: 80px;
}

.sec_top_safety .box_img{
	padding: 20px 70px;
}

/*top oem
----------------------------------------------------*/
.sec_top_oem{
	padding: 150px 0;
	background: url("../img/bg_top_oem.jpg") no-repeat center top / cover;
}

.sec_top_oem h2{
	margin-bottom: 50px;
	font-size: 40px;
	text-align: center;
}

.sec_top_oem h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_top_oem h3{
	margin-bottom: 25px;
	font-size: 25px;
	text-align: center;
}

.sec_top_oem p{
	width: 800px;
	margin: 0 auto 90px auto;
}

.sec_top_oem .box_top_oem.oem01{
	position: relative;
	display: grid;
	grid-template-columns: 700px 400px;
	grid-gap: 100px;
}

.sec_top_oem .box_top_oem.oem02{
	position: relative;
	display: grid;
	grid-template-columns: 400px 700px;
	grid-gap: 100px;
}

.sec_top_oem .box_top_oem div{
	position: relative;
}

.sec_top_oem .box_top_oem h3{
	position: absolute;
	top:-50px;
	left:20px;
	font-family: "Shippori Mincho", serif;
	font-size:30px;
	font-weight: 500;
	line-height: 1.4;
	color: #000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	display: inline-block;
	z-index: 1;
}

.sec_top_oem .box_top_oem.oem01{
	margin-bottom: 100px;
}
.sec_top_oem .box_top_oem.oem02 h3{
	left:auto;
	right:20px;
}

.sec_top_oem .box_top_oem h4{
	margin-bottom: 25px;
	padding-top: 40px;
	font-family: "Shippori Mincho", serif;
	font-size: 25px;
}

.sec_top_oem .box_top_oem p{
	width: 95%;
	margin-bottom: 40px;
}

.sec_top_oem .btn_more a:before{
	border: 0;
	background: #FFF;
}

.sec_top_oem .btn_more a span{
	background: none;
}

.sec_top_oem .box_top_oem.oem02 div:nth-of-type(1){order: 2;}
.sec_top_oem .box_top_oem.oem02 div:nth-of-type(2){order: 1;}

/*top about
----------------------------------------------------*/
.sec_top_about{
	position: relative;
}

.sec_top_about .bg{
	position: absolute;
	top:-20px;
	left:49vw;
	width: 350px;
	height: auto;
}

.sec_top_about .contents{
	position: relative;
	padding: 150px 0 50px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 100px;	
}

.sec_top_about .contents dl:nth-of-type(2){
	padding-top: 100px;
}

.sec_top_about dl dd{
	position: relative;
	margin-top: -100px;
}

.sec_top_about dl dd h2{
	position: relative;
	margin: 0 0 20px 0;
	padding: 20px 140px 0 0;
	background: #FFF;
	font-size: 30px;
	display: inline-block;
}

.sec_top_about dl dd h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_top_about dl dd p{
	margin-bottom: 60px;
}



/*products list
----------------------------------------------------*/
.sec_cate_list{
	margin-bottom: 80px;
    padding-top: 160px;
	font-family: "Shippori Mincho", serif;
}

.sec_cate_list .all{
	margin-bottom: 25px;
}

.sec_cate_list .all a{
	padding: 0 0.8em 0.5em 0.8em;
	border-bottom: 1px solid #c30d23;
	font-size: 25px;
	text-align: center;
	color: #c30d23;
	display: inline-block;
}

.sec_cate_list ul{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.sec_cate_list ul li{
	width: 25%;
	margin-bottom: 20px;
}

.sec_cate_list ul li a{
	padding: 15px 0;
	border-bottom: 1px solid #dfdedd;
	font-size: 20px;
	text-align: center;
	display: block;
}

.sec_cate_list ul li a:hover,
.sec_cate_list ul li a.current{
	border-bottom: 1px solid #c30d23;
	color: #c30d23;
}

.sec_cate_list h2{
	margin-bottom: 20px;
	padding-top: 100px;
	font-size: 35px;
}

.sec_cate_list p{
	font-family: "Zen Kaku Gothic New", serif;
}

.sec_products_list .contents{
	margin-bottom: 100px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: 70px 50px;
}

.sec_products_list dl dt{
	width: 100%;
	aspect-ratio: 1;
}

.sec_products_list dl dt img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.0);
  object-position: center;
}

.sec_products_list dl dd{
	position: relative;
	padding-bottom: 80px;
}

.sec_products_list dl dd ul{
	padding: 20px 0;
}

.sec_products_list dl dd ul li{
	width: 120px;
	margin: 0 8px 8px 0;
	display: inline-block;
}

.sec_products_list dl dd ul li a{
	padding: 5px 0;
	background: #EDE9DE;
	font-size: 14px;
	text-align: center;
	display: block;
}

.sec_products_list dl dd h2{
	font-size: 20px;
}

.sec_products_list .btn_more{
	position: absolute;
	bottom:0;
	right:0;
	margin-bottom: 0;
}
.sec_products_list .btn_more a{
	width: 60px;
	height: 60px;
	padding: 47px 0 0 0;
	border: 1px solid #c30d23;
	border-radius: 120px;
	background: url("../img/icon_link01.png") no-repeat center / 1em;
	text-indent: -9999px;
	display: block;
}

.sec_products_list .btn_more a:before{
	display: none;
}

.nav-links{
	position: relative;
	margin: 0 0 100px 0;
	padding-top: 30px;
	text-align: center;
}

.nav-links .page-numbers{
	margin: 0 3px;
	padding: 7px 12px 9px 12px;
	background: #EDE9DE;
	line-height: 1.0;
	font-size: 18px;
	color: #333;
	display: inline-block;
}

.nav-links .page-numbers:before,
.nav-links .page-numbers:after{
	display: none;
}

.nav-links .current{
	background: #c30d23;
	color: #FFF;
}

.nav-links .next,
.nav-links .prev{
	position: relative;
	top:-3px;
	padding: 4px 15px 12px 15px;
	background: none;
	transform: scale(0.7, 1);
	color: #0177E0;
}

.nav-links .next{
	left:-0.3em;
}

.nav-links .prev{
	right:-0.3em;
}







/*products detail
----------------------------------------------------*/
.sec_product_detail{
    padding-top: 160px;
}

.box_products_data{
	margin-bottom: 100px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.box_products_data .box_img{
	padding: 0 60px;
}

.box_products_data .box_txt{
	padding: 0 60px;
}

.box_products_data .box_txt h1{
	margin-bottom: 40px;
	font-size: 35px;
}

.box_products_data .box_txt h2{
	margin-bottom: 20px;
	font-size: 20px;
}

.box_products_data .box_kakomi{
	margin-top: 40px;
	padding: 30px;
	border: 1px solid #c30d23;
}

.box_products_data .box_kakomi p{
	margin-bottom: 0;
}

.box_products_movie{
	margin-bottom: 100px;
}

.box_products_movie iframe{
	width: 100%;
	height: 680px;
}

.box_products_detail01{
	padding: 0 50px 70px 50px;
}

.box_products_detail01 h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.box_products_detail01 h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.box_products_detail01 .box_left_img{
	margin-bottom: 90px;
	display: grid;
	grid-template-columns: 400px 1fr;
	grid-gap:0 100px;
}

.box_products_detail01 .box_right_img{
	margin-bottom: 90px;
	display: grid;
	grid-template-columns: 1fr 400px;
	grid-gap:0 100px;
}

.box_products_detail01 .box_left_img div:nth-of-type(1){order: 2;}
.box_products_detail01 .box_left_img div:nth-of-type(2){order: 1;}

.box_products_detail01 .box_left_img h3,
.box_products_detail01 .box_right_img h3{
	margin-bottom: 35px;
	font-size: 20px;
}

.box_products_detail02{
	margin-bottom: 160px;
	padding: 140px 0;
	background: url("../img/bg_brown.jpg");
}

.box_products_detail02 h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.box_products_detail02 h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.box_products_detail02 .box_3col{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 100px;
}

.box_products_detail02 dl{
	position: relative;
}

.box_products_detail02 .box_1col div{
	width: 800px;
	margin: 0 auto;
}

.box_products_detail02 .box_1col dl{
	display: grid;
	grid-template-columns: 0.3fr 1fr;
	grid-gap: 30px;
}

.box_products_detail02 .box_3col dl:nth-of-type(1){margin-top: 50px;}
.box_products_detail02 .box_3col dl:nth-of-type(3){margin-top: 100px;}

.box_products_detail02 .box_3col dt{
	margin-bottom: 30px;
}

.box_products_detail03{
	margin-bottom: 150px;
	padding: 80px;
	border: 1px solid #c30d23;
}

.box_products_detail03 h2{
	position: relative;
	margin-bottom: 45px;
	padding: 40px 0 10px 0;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: left;
}

.box_products_detail03 h2:nth-of-type(1){
	padding-top: 0;
}

.box_products_detail03 h2 a{
	position: absolute;
	bottom:20px;
	right:0;
	padding-right: 1.8em;
	background: url("../img/icon_link_ex.png") no-repeat right center / 1em;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 16px;
	display: inline-block;
}

.box_products_detail03 .data_table dl{
	margin-bottom: 60px;
	display: grid;
	grid-template-columns: 280px 1fr;
	grid-gap: 30px 0;
}

.box_products_detail03 .box_ingredient{
	margin-bottom: 20px;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap:20px 70px;
}

.box_products_detail03 .box_ingredient dl{
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.box_products_detail03 .box_ingredient dl dd{
	text-align: right;
}

.box_products_detail04{
	margin-bottom: 150px;
}

.box_products_detail04 .center h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.box_products_detail04 h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.box_products_detail04 .sec_products_list .contents{
	margin-bottom: 0;
}

/*.box_products_detail04 .btn_more a{
	border: 0;
}*/

.box_products_detail04 ul{
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 0 100px;
	text-align: center;
}

/*.box_products_detail04 ul li:nth-of-type(1){text-align: right;}
.box_products_detail04 ul li:nth-of-type(2){text-align: left;}*/


/*safety
----------------------------------------------------*/
.sec_safety_intro{
    position: relative;
	padding: 150px 0;
	background: url("../img/bg_lightgray.jpg");
}

.sec_safety_intro:before{
    position: absolute;
    top:50px;
    right:0;
    width: 450px;
    height: 340px;
    background: url("../img/img_fruits05.png") no-repeat right top / contain;
    content: "";
    display: block;
}

.sec_safety_intro .contents{
	width: 1080px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sec_safety_intro .contents div:nth-of-type(1){
	padding-right: 80px;
}

.sec_safety_intro .contents div:nth-of-type(2){
	display: flex;
	align-items: center;
}

.sec_safety_intro .contents h2{
	margin-bottom: 50px;
	font-size: 35px;
}

.sec_safety_quality{
	padding: 80px 0;
	background: url("../img/bg_brown.jpg");
}

.sec_safety_quality h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.sec_safety_quality h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_safety_quality .box_3col{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 100px;
}

.sec_safety_quality .box_3col{
	padding-top: 50px;
}

.sec_safety_quality dl{
	position: relative;
}

.sec_safety_quality dl:nth-of-type(1){margin-top: 50px;}
.sec_safety_quality dl:nth-of-type(3){margin-top: 100px;}

.sec_safety_quality dt{
	position: relative;
	margin-bottom: 30px;
}

.sec_safety_quality dt span{
	position: absolute;
	top:-15px;
	left:-20px;
	font-weight: 500;
	line-height: 1.4;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 14px;
	color: #c30d23;
	display: inline-block;
}

.sec_safety_manufactur{
	padding: 80px 0;
	background: url("../img/bg_lightgray.jpg");
}

.sec_safety_manufactur h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.sec_safety_manufactur h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_safety_manufactur h3{
	margin-bottom: 30px;
	font-size: 25px;
	text-align: center;
}

.sec_safety_manufactur .lead{
	width: 800px;
	margin: 0 auto 90px auto;
}

.box_safety_manufactur{
	position: relative;
	margin-bottom: 50px;
	padding: 60px 45px;
	border: 1px solid #c30d23;
	background: #FFF;
	display: grid;
	grid-template-columns: 1fr 560px;
	grid-gap:60px;
}

.box_safety_manufactur .ttl_en{
	position: absolute;
	top:0;
	left: -40px;
	font-weight: 500;
	line-height: 1.4;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	font-size: 14px;
	color: #c30d23;
	display: inline-block;
}

.box_safety_manufactur .box_txt{
	display: flex;
	align-items: center;
}

.box_safety_manufactur h3{
	text-align: left;
}

.box_safety_2col{
	padding: 50px 0 150px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 70px 50px;	
}

.box_safety_2col dd h3{
	margin-bottom: 10px;
	padding-top: 30px;
	text-align: left;
}


/*oem & dealing
----------------------------------------------------*/
.sec_oem_intro,
.sec_dealing_intro,
.sec_recruit_intro{
    position: relative;
	padding: 160px 0 150px 0;
    background: url("../img/bg_lightgray.jpg");
}

.sec_oem_intro:before{
    position: absolute;
    top:0;
    right:0;
    width: 335px;
    height: 490px;
    background: url("../img/img_fruits04.png") no-repeat right top 50px / contain;
    content: "";
    display: block;
}

.sec_dealing_intro:before,
.sec_recruit_intro:before{
    position: absolute;
    top:0;
    right:0;
    width: 375px;
    height: 390px;
    background: url("../img/img_fruits02.png") no-repeat right -30px top 50px / contain;
    content: "";
    display: block;
}

.sec_oem_intro .contents,
.sec_dealing_intro .contents,
.sec_recruit_intro .contents{
	width: 1080px;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.sec_oem_intro .contents div:nth-of-type(1),
.sec_dealing_intro .contents div:nth-of-type(1),
.sec_recruit_intro .contents div:nth-of-type(1){
	padding-right: 80px;
}

.sec_oem_intro .contents div:nth-of-type(2),
.sec_dealing_intro .contents div:nth-of-type(2),
.sec_recruit_intro .contents div:nth-of-type(2){
	display: flex;
	align-items: center;
}

.sec_oem_intro .contents h2,
.sec_dealing_intro .contents h2,
.sec_recruit_intro .contents h2{
	margin-bottom: 50px;
	font-size: 26px;
}

.sec_oem_flow{
	padding: 80px 0 150px 0;
	background: url("../img/bg_brown.jpg");
}

.sec_oem_flow .contents{
	width: 1080px;
}
	
.sec_oem_flow h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.sec_oem_flow h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_oem_flow dl{
	display: grid;
	grid-template-columns: 180px 1fr;
	grid-gap:0 50px;
}

.sec_oem_flow dl dt{
	position: relative;
}

.sec_oem_flow dl dt:before{
	position: absolute;
	top:0;
	left:0;
	right:0;
	width: 2px;
	height: 100%;
	margin: 0 auto;
	background: #FFF;
	content: "";
	display: block;
	z-index: 0;
}

.sec_oem_flow dl:last-of-type dt:before {
	display: none;
 }
 
.sec_oem_flow dl dt span{
	position: relative;
	width: 180px;
	height: 180px;
	margin: 0 auto;
	background: #FFF;
	border-radius: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 1;
}

.sec_oem_flow dl.small dt span{
	width: 100px;
	height: 100px;
	border-radius: 50px;
}

.sec_oem_flow.dealing dl dt span{
	margin-bottom: 100px;
}

.sec_oem_flow.dealing dl:last-of-type dt span{
	margin-bottom: 0;
}

.sec_oem_flow dl dt span em{
	font-style: normal;
	font-size: 25px;
	color: #c30d23;
}

.sec_oem_flow dl.small dt span em{
	font-size: 15px;
}

.sec_oem_flow dl dd{
	padding: 30px 0 80px 0;
}

.sec_oem_flow dl:last-of-type dd{
	padding: 30px 0 0 0;
}

.sec_oem_flow dl dd h3{
	font-size: 25px;
}

.sec_oem_flow dl:nth-of-type(1) dd h3 + p{
	margin-bottom: 60px;
}

.sec_oem_flow dl:nth-of-type(1) dd .box_contact{
	display: grid;
	grid-template-columns: 350px 1fr;
	grid-gap:45px;
}

.sec_oem_flow dl:nth-of-type(1) dd .btn a{
	padding: 30px;
	border: 1px solid #c30d23;
	border-radius: 50px;
	background: url("../img/icon_link04.png") no-repeat right 30px center / 0.8em;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	color: #c30d23;
	display: block;
}

.sec_oem_flow dl:nth-of-type(1) dd .tel span,
.sec_oem_flow dl:nth-of-type(1) dd .tel a{
	padding-left: 1.3em;
	font-family: "Noto Serif JP", serif;
	font-size: 45px;
	letter-spacing: 0.05em;
	line-height: 1.2;
}

.sec_oem_flow dl:nth-of-type(1) dd .tel span,
.sec_oem_flow dl:nth-of-type(1) dd .tel a{background: url("../img/icon_tel.png") no-repeat left center / 0.9em;}

.sec_oem_flow dl:nth-of-type(1) dd .tel span{
	text-align: center;
}

.sec_oem_faq{
	padding: 80px 0 150px 0;
}

.sec_oem_faq .contents{
	width: 1080px;
}
	
.sec_oem_faq h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.sec_oem_faq h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_oem_faq .block {
	margin-bottom: 20px;
	border: 1px solid #c30d23;
	background: #FFF;
	overflow: hidden;
	transition: height 500ms;
}

.sec_oem_faq .block__title {
	position: relative;
	cursor: pointer;
	user-select: none;
	padding: 25px 25px 25px 50px;
	line-height: 1.4;
	font-weight: 500;
	text-decoration: none;
	display: block;
}

.sec_oem_faq .block__title:hover {
	opacity: .8;
}

.sec_oem_faq .block__title:before{
	position: absolute;
	top:25px;
	left:25px;
	content: "Q.";
	color: #c30d23;
	display: block;
}

.sec_oem_faq .block__title::after {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 23px;
	right: 25px;
	width: 26px;
	height: 26px;
	z-index: 1;
}

.sec_oem_faq .block.is-collapsed .block__title::after {
	content: "";
	background: url("../img/icon_faq_open.png");
	background-size: contain;
}

.sec_oem_faq .block.is-expanded .block__title::after {
	content: "";
	background: url("../img/icon_faq_close.png");
	background-size: contain;
}

.sec_oem_faq .block__content{
	position: relative;
	padding: 25px 25px 25px 50px;
	border: 0;
	line-height: 1.4;
	font-weight: 400;
}

.sec_oem_faq .block__content:before{
	position: absolute;
	top:25px;
	left:25px;
	content: "A.";
	color: #c30d23;
	display: block;
}

.sec_oem_faq .block__title:focus {
  border: 0;
  outline: 0;
}

.sec_oem_faq h3{
	padding: 80px 0 0 0;
	font-size: 25px;
	text-align: center;
}

.sec_oem_inq{
	padding: 80px 0 150px 0;
}

.sec_oem_inq .contents{
	width: 1080px;
}
	
.sec_oem_inq h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.sec_oem_inq h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_oem_inq .box_oem_inq{
	padding: 30px 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 50px;
	
}

.sec_oem_inq .box_oem_inq dl{
	padding: 70px 0;
	border: 1px solid #c30d23;
	text-align: center;
}

.sec_oem_inq .box_oem_inq dl dt{
	padding-bottom: 10px;
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	color: #000;
}

.sec_oem_inq .box_oem_inq dl.fax{
	border-left: 1px solid #888;	
	border-right: 1px solid #888;
}

.sec_oem_inq .box_oem_inq dl dd .tel{
	padding-left: 1.3em;
	font-family: "Noto Serif JP", serif;
	font-size: 45px;
	letter-spacing: 0.05em;
}

.sec_oem_inq .box_oem_inq dl.tel dd .tel{background: url("../img/icon_tel.png") no-repeat left center / 0.9em;}
.sec_oem_inq .box_oem_inq dl.fax dd .tel{background: url("../img/icon_fax.png") no-repeat left center / 0.9em;}

.sec_oem_inq .box_oem_inq dl dd a.dl{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	text-decoration: underline;
	color: #555;
	display: block;
}

.box_form{
	padding-top: 100px;
}

.box_form dl{
	display: grid;
	grid-template-columns: 170px 1fr;
	grid-gap: 30px 50px;
}

.box_form dt{
	padding: 8px 0;
	font-weight: 500;
}

.box_form dt span{
	color: #c30d23;
}

.box_form dd input,
.box_form dd textarea,
.box_form dd select{
	width: 100%;
	padding: 15px 20px;
	border: 0;
	border-radius: 5px;
	background: #F3F4F6;
}

.box_form dd textarea{
	height: 200px;
}

.box_form input[type="checkbox"] {
  position: relative;
  top:4px;
  width: 25px;
  height: 25px;
  margin-right: 15px;
  border: 1px solid #c30d23;
  vertical-align: -5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

.box_form input[type="checkbox"]:checked:before {
  position: absolute;
  top: 2px;
  left: 8px;
  transform: rotate(50deg);
  width: 6px;
  height: 12px;
  border-right: 1px solid #c30d23;
  border-bottom: 1px solid #c30d23;
  content: '';
}

.box_form .pp{
	margin-bottom: 70px;
}

.box_form a{
	text-decoration: underline;
}

.box_form input[type=submit]{
	width: 300px;
	padding: 25px;
	background: #c30d23;
	border: 0;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	letter-spacing: 0.1em;
	color: #FFF;
	cursor: pointer;
}


/*recruit
----------------------------------------------------*/
.sec_recruit_faq{
	background: url("../img/bg_brown.jpg");
}

.sec_recruit_job .block__title{
	padding: 50px;
	font-family: "Shippori Mincho", serif;
	font-size: 25px;
}

.sec_recruit_job .block__title:before{
	display: none;
}

.sec_recruit_job .block__title:after{
	top:55px;
	right: 50px;
}

.sec_recruit_job .block__content:before{
	display: none;
}

.sec_recruit_job .block__content{
	padding: 0 50px 50px 50px;	
}

.sec_recruit_job .block__content dl{
	display: grid;
	grid-template-columns: 150px 1fr;
	grid-gap: 30px;
}

.sec_recruit_job .block__content dl:nth-of-type(1){
	padding-top: 50px;
	border-top: 1px solid #000;
}

.sec_recruit_job .block__content dl dt{
	font-weight: 500;
}


/*company
----------------------------------------------------*/
.sec_company_message{
    position: relative;
	padding: 160px 0 150px 0;
    background: url("../img/bg_lightgray.jpg");
}

.sec_company_message:before{
    position: absolute;
    top:0;
    right:0;
    width: 375px;
    height: 390px;
    background: url("../img/img_fruits03.png") no-repeat right -30px top 50px / contain;
    content: "";
    display: block;
}

.sec_company_message .contents{
	width: 1080px;
	display: grid;
	grid-template-columns: 190px 1fr;
	grid-gap: 0 100px;
}

.sec_company_message .contents .box_img img{
	margin-bottom: 10px;
}

.sec_company_message .contents .box_img p{
	font-family: "Shippori Mincho", serif;
	font-weight: 500;
	font-size: 25px;
	line-height: 1.4;
}

.sec_company_message .contents .box_img p span{
	font-size: 15px;
	display: block;
}

.sec_company_message .contents .box_txt{
	display: flex;
	align-items: center;
}
	
.sec_company_message h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: center;
	display: inline-block;
}

.sec_company_message h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_company_message h3{
	margin-bottom: 20px;
	font-size: 25px;
}

.sec_company_history{
	padding: 150px 0;
	background: url("../img/bg_brown.jpg");
}

.sec_company_history .contents{
	width: 1080px;
	display: grid;
	grid-template-columns: 340px 1fr;
}

.sec_company_history h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: left;
	display: inline-block;
}

.sec_company_history h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_company_history dl{
	margin-bottom: 10px;
	padding: 25px;
	background: #FFF;
	display: grid;
	grid-template-columns: 150px 1fr;	
}

.sec_company_company{
	padding: 150px 0;
	background: url("../img/bg_lightgray.jpg");
}

.sec_company_company .contents{
	width: 1080px;
	display: grid;
	grid-template-columns: 340px 1fr;
}

.sec_company_company h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: left;
	display: inline-block;
}

.sec_company_company h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_company_company dl{
	margin-bottom: 10px;
	padding: 25px 0;
	border-bottom: 1px solid #c30d23;
	display: grid;
	grid-template-columns: 150px 1fr;	
}

.sec_company_company dl:first-of-type{
	padding-top: 30px;
	border-top: 1px solid #c30d23;
}

.sec_company_company p{
	margin-bottom: 0.5em;
}

.sec_company_company iframe{
	height: 220px;
	margin-bottom: 0.5em;
}

.sec_company_subsidiary{
	padding: 150px 0;
	background: url("../img/bg_brown.jpg");
}

.sec_company_subsidiary .contents{
	width: 1080px;
	display: grid;
	grid-template-columns: 340px 1fr;
}

.sec_company_subsidiary h2{
	margin: 0 auto 70px auto;
	padding-bottom: 10px;
	border-bottom: 1px solid #000;
	font-size: 35px;
	text-align: left;
	display: inline-block;
}

.sec_company_subsidiary h2 span{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	color: #c30d23;
	display: block;
}

.sec_company_subsidiary dl{
	margin-bottom: 10px;
	padding: 25px 0;
	border-bottom: 1px solid #c30d23;
	display: grid;
	grid-template-columns: 150px 1fr;	
}

.sec_company_subsidiary dl:first-of-type{
	padding-top: 30px;
	border-top: 1px solid #c30d23;
}

.sec_company_subsidiary p{
	margin-bottom: 0.5em;
}

.sec_company_subsidiary iframe{
	height: 220px;
	margin-bottom: 0.5em;
}


/*news
----------------------------------------------------*/
.sec_news_list .contents,
.sec_news_detail .contents{
	width: 800px;
	padding: 80px 0;
}
.sec_news_list ul li{
	margin-bottom: 20px;
	padding: 0 0 20px 0;
	border-bottom: 1px solid #000;
}

.sec_news_list ul li .date{
	width: 6em;
	color: #c30d23;
	display: inline-block;
}

.box_subnav{
	position: relative;
}

.box_subnav ul{
	margin-top: 50px;
	padding-top: 30px;
	border-top: 1px solid #000;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.box_subnav ul li{
	list-style: none;
}

.box_subnav ul li:nth-of-type(2){
	text-align: right;
}

.box_subnav p{
	position: absolute;
	top:30px;
	left:0;
	right:0;
	margin: 0 auto;
	text-align: center;
}

.box_subnav p a{
	text-decoration: underline;
}


/*footer inquiry
----------------------------------------------------*/
.sec_inquiry{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.sec_inquiry dl{
	padding: 80px 0;
	border-top: 1px solid #888;
	border-bottom: 1px solid #888;
	font-family: "Shippori Mincho", serif;
	text-align: center;
	color: #000;
}

.sec_inquiry dl.mail dt{
	padding-bottom: 35px;
}

.sec_inquiry dl.fax{
	border-left: 1px solid #888;	
	border-right: 1px solid #888;
}

.sec_inquiry dl dd .tel{
	padding-left: 1.3em;
	font-family: "Noto Serif JP", serif;
	font-size: 45px;
	letter-spacing: 0.05em;
}

.sec_inquiry dl dd .mail{
	padding-left: 2em;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	letter-spacing: 0.05em;
}

.sec_inquiry dl.tel dd .tel{background: url("../img/icon_tel.png") no-repeat left center / 0.9em;}
.sec_inquiry dl.fax dd .tel{background: url("../img/icon_fax.png") no-repeat left center / 0.9em;}
.sec_inquiry dl.mail dd .mail{background: url("../img/icon_mail.png") no-repeat left center / 1.5em;}

.sec_inquiry dl dd a.dl{
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 14px;
	text-decoration: underline;
	color: #555;
	display: block;
}

/*footer
----------------------------------------------------*/
footer{
	padding: 120px 0 20px 0;
	background: url("../img/bg_footer.jpg");
}

footer .contents{
	font-family: "Shippori Mincho", serif;
	display: grid;
	grid-template-columns: 1fr 1fr;	
	grid-gap: 100px;
}

footer h2{
	width: 190px;
	margin: 0 auto 50px 30px;
}

footer p{
	margin: 0 auto 90px 30px;
	line-height: 2.5;
	color: #000;
}

footer .footer_link{
	padding-top: 80px;
	display: grid;
	grid-template-columns: 1fr 1fr;	
	grid-gap: 50px;
}

footer .footer_link ul li{
	margin-bottom: 18px;
}

footer .footer_link h3{
	margin-bottom: 18px;
	font-size: 16px;
}

footer .footer_link h3 + ul li a{
	position: relative;
	padding-left: 0.8em;
}

footer .footer_link h3 + ul li a:before{
	position: absolute;
	top:-0.4em;
	left:0;
	content: "-";
	display: block;
	z-index: 1;
}

/*page top
----------------------------------------------------*/
#page-top{
	position: fixed;
	right: 2%;
	z-index:999;
}

#page-top a{
	width:40px;
	height:70px;
	display:block;
}

#page-top a:hover{
	opacity:0.70;
	filter: alpha(opacity=70);
}
