@charset "utf-8";

/* Body
------------------------------ */
html{
	overflow-x: hidden;
}
body {
	box-shadow: none;
	color: #000;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "メイリオ", "Meiryo", "verdana", sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 20pt;
	letter-spacing: 0.04em;
	-webkit-text-size-adjust: 100%!important;
	top: 0!important;
}
a:link{
	color: #da001e;
	text-decoration: none;
}
a:visited {
	color: #da001e;
}
a:active {
	color: #da001e;
}
a:hover {
	color: #da001e;
}
a{
	transition: .3s;
}

.text_link {
	display: inline-block;
	text-decoration: none;
	color: #000;
}
/* reset default css */
.text_link:after {
	content: "";
	display: block;
	width: 0;
	transition: width 0.3s;
	border-bottom: 1px solid #000;
	margin: -6px auto 0;
	border-radius: 1px;
}
.text_link:hover{
	text-decoration: none;
}
.text_link:hover:after {
	width: 100%;
}

.emphasis{
	font-weight: 500;
	color: #da001e;
}
.caution{
	position: relative;
	display: block;
	font-size: 14px;
	padding-left: 1em!important;
	text-indent: -1em;
	line-height: 1.4em;
	margin-top: 14px;
}
.caution:before{
	content: "※";
}

/* Animations */
.fromTopIn{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(0,0);
	opacity: 1.0;
}
.fromTopOut{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(0,-10px);
	opacity: 0.0;
}
.fromBottomIn{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(0,0);
	opacity: 1.0;
}
.fromBottomOut{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(0,10px);
	opacity: 0.0;
}
.fromLeftIn{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(0,0);
	opacity: 1.0;
}
.fromLeftOut{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(-10px,0);
	opacity: 0.0;
}
.fromRightIn{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(0,0);
	opacity: 1.0;
}
.fromRightOut{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: translate(10px, 0);
	opacity: 0.0;
}
.scaleUpIn{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: scale(1.0,1.0);
	opacity: 1.0;
}
.scaleUpOut{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: scale(1.3,1.3);
	opacity: 0.0;
}
.scaleDownIn{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: scale(1.0,1.0);
	opacity: 1.0;
}
.scaleDownOut{
	transition: transform 1.0s ease, opacity 1.0s ease;
	transform: scale(0.7,0.7);
	opacity: 0.0;
}

/* layout
------------------------------ */
.wrapper{
	position: relative;
	display: block;
	clear: both;
	float: none;
	width: 1250px;
	margin: 0 auto;
	padding: 0 15px;
}

/* Common
------------------------------ */
.clear{
	clear: both;
	float: none;
	height: 0;
}
.fl_l{
	position: relative;
	display: block;
	float: left;
}
.fl_r{
	position: relative;
	display: block;
	float: right;
}
.btn a{
	position: relative;
	display: block;
	width: 250px;
	height: 60px;
	color: #da001e;
	font-weight: 600;
	line-height: 60px;
	text-align: center;
	letter-spacing: .05em;
	border: 3px solid #da001e;
	margin: 0 auto;
	background: #FFF;
}
.btn a:hover{
	text-decoration: none;
	color: #FFF;
	background: #da001e;
}
.btn_list{
	letter-spacing: -.4em;
	text-align: center;
}
.btn_list li{
	position: relative;
	display: inline-block;
	letter-spacing: .04em;
}
.btn_list li:first-child{
	margin-right: 30px;
}
.pict img{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
.tel{
	position: relative;
	display: block;
	width: 405px;
	color: #000;
	font-size: 50px;
	font-weight: 600;
	padding-left: 20px;
	line-height: 1em;
	margin: 0 auto;
	padding: 5px 0 5px 70px;
	background: url(../images/tel_icon.svg) no-repeat top left;
	-webkit-background-size: auto 55px;
	background-size: auto 55px;
}
@media all and (-ms-high-contrast: none){
	.tel{
		width: 380px;
		line-height: 40px;
		padding-top: 20px;
		padding-left: 60px;
	}
}


/* Header
------------------------------ */
header{
	position: relative;
	display: block;
	width: 100%;
	height: 500px;
	background: url(../images/header_main.jpg) no-repeat top center;
	-webkit-background-size: cover;
	background-size: cover;
}
#header_logo a,
#fix-header-logo a{
	position: absolute;
	display: block;
	width: 294px;
	height: 38px;
	text-indent: -9999px;
	background: url(../images/header_logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: 38px;
	z-index: 2;
	transition: .3s;
}
#header_logo a:hover,
#fix-header-logo a:hover{
	opacity: 0.6;
}
.en_logo a{
	background-image: url(../images/logo_en.svg)!important;
}
#lead{
	position: absolute;
	display: block;
	color: #da001e;
	font-size: 14px;
	font-weight: 400;
	line-height: 1em;
	top: 17px;
	left: 15px;
}
.en_lead{
	font-size: 11px!important;
	letter-spacing: 0;
}

/* gnav */
#gnav ul{
	position: absolute;
	display: block;
	height: auto;
	letter-spacing: -.4em;
	top: 32px;
	right: 15px;
	z-index: 1;
}
#gnav ul li,
.fix-header ul li{
	position: relative;
	display: inline-block;
	height: auto;
	padding-top: 6px;
	letter-spacing: .04em;
	margin-right: 3em;
}
#gnav ul li a,
.fix-header ul li a{
	position: relative;
	display: block;
	color: #da001e;
	font-weight: 600;
}
#gnav ul li a:hover{
	color: #000;
}

/* for Scroll Fix Header */
.fix-header {
	position: fixed;
	line-height: 65px;
	top: -65px;/* 上に隠す鷹さ */
	left: 0;
	text-align: center;
	width: 100%;
	height: 60px;
	margin: 0 auto;
	background: #FFF;
	box-shadow: 0 0 2px rgba(0,0,0,.5);
	opacity: 0;
	z-index: 1000;
}
.customize-support .fix-header{
	margin-top: 32px;
}
#fix-header-logo a{
	width: 220px;
	height: 30px;
	top: 16px;
}
.fix-header-contents{
	width: 1250px;
	margin: 0 auto;
}
.fix-header ul{
	letter-spacing: -.4em;
	margin: 16px auto 0;
	padding-left: 350px;
}
.fix-header ul li{
	vertical-align: top;
	line-height: 1em;
}
.fix-header ul li:nth-child(2){
	letter-spacing: -.04em;
}
.fix-header ul li a{
	font-size: 14px;
	line-height: 1em;
}
.fix-header ul li a:after{
	margin-top: 0;
	border-color: #da001e;
}

/* 子メニュー */
#gnav ul li ul.sub_menu,
.fix-header ul li ul.sub_menu{
	position: absolute;
	opacity: 0;
	width: 230px;
	height: auto;
	margin: 0 auto;
	padding: 0;
	top: 60%;
	left: -10px;
	visibility: hidden;
	transition: .3s;
	z-index: 0;
	box-shadow: 0 0 5px rgba(0,0,0,.5);
}
.fix-header ul li ul.sub_menu{
	width: 230px;
	left: -45px;
	padding-left: 0;
}
#gnav ul li:hover ul.sub_menu,
.fix-header ul li:hover ul.sub_menu{
	top: 100%;
	visibility: visible;
	opacity: 1;
	transition: .3s;
}
.fix-header ul li:hover ul.sub_menu{
	top: 44px;
}
#gnav ul li ul.sub_menu li,
.fix-header ul li ul.sub_menu li{
	position: relative;
	display: block;
	width: 230px;
	height: 40px;
	text-align: left;
	background: #d6001e;
	transition: .3s;
	border-right: 0;
}
#gnav ul li ul.sub_menu li:hover,
.fix-header ul li ul.sub_menu li:hover{
	background: #FFF;
	transition: .3s;
}
#gnav ul li ul.sub_menu li a,
.fix-header ul li ul.sub_menu li a{
	position: relative;
	display: inline-block;
	width: 230px;
	height: 40px;
	font-size: 14px;
	color: #FFF;
	line-height: 1em;
	letter-spacing: 0.04em;
	margin: 0;
	padding: 12px 0 12px 12px;
	border-right: none;
	background: none;
}
#gnav ul li ul.sub_menu li:first-child a,
.fix-header ul li ul.sub_menu li:first-child a{
	border-left: 0;
}
#gnav ul li ul.sub_menu li a:before,
.fix-header ul li ul.sub_menu li a:before{
	content: "\f0a9";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: .5em;
}
#gnav ul li ul.sub_menu li a:after,
.fix-header ul li ul.sub_menu li a:after{
	display: none;
}
#gnav ul li ul.sub_menu li a:hover,
.fix-header ul li ul.sub_menu li a:hover{
	color: #d6001e;
}
#gnav ul li.lang,
.fix-header ul li.lang{
	position: relative;
	display: inline-block;
	width: 102px;
	height: 25px;
	color: #da001e;
	font-size: 14px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .04em;
	border: 1px solid #da001e;
	padding-top: 0;
	margin-right: 0;
}
.fix-header ul li.lang,
.fix-header ul li.lang a{
	line-height: 25px;
}
#gnav ul li.select,
.fix-header ul li.select{
	color: #FFF;
	background: #da001e;
}
#gnav ul li.lang a,
.fix-header ul li.lang a{
	position: relative;
	display: block;
	width: 102px;
	height: 25px;
	color: #da001e;
	background: #FFF;
}
#gnav ul li.lang a:hover,
.fix-header ul li.lang a:hover{
	color: #FFF;
	background: #da001e;
}

#main_catch,
#en_main_catch{
	position: absolute;
	display: block;
	height: 184px;
	text-indent: -9999px;
	background: url(../images/header_catch.svg) no-repeat left center;
	-webkit-background-size: contain;
	background-size: contain;
	top: 184px;
	left: 0;
}
#en_main_catch{
	height: 200px;
	background-image: url(../images/en_header_catch.svg);
}
#main_catch:after,
#en_main_catch:after{
	content: "";
	position: absolute;
	display: block;
	width: 580px;
	height: 464px;
	background: url(../images/taisei.png) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	top: -55px;
	right: 26px;
}
#en_main_catch::before,
.english #top_product .product .pict::after{
	content: "";
	position: absolute;
	display: block;
	width: 52.5px;
	height: 52.5px;
	background: url(../images/ce.png) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	right: 40px;
	top: -10px;
	border-radius: 50%;
	box-shadow: 1px 1px 7px #000;
}

/* top_main_contents
------------------------------ */
.img-animation {
	animation: img-opacity 1.5s cubic-bezier(.4, 0, .2, 1);
	overflow: hidden;
	position: relative;
}
.img-animation:before {
	animation: img-animation 1.5s cubic-bezier(.4, 0, .2, 1) forwards;
	background: #fff;
	bottom: 0;
	content: '';
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 1;
}
@keyframes img-opacity {
	0% {
		opacity: 0;
	}
}

@keyframes img-animation {
	100% {
		transform: translateX(-100%);
	}
}

.top_main_contents h2,
.main_contents h2{
	position: relative;
	display: block;
	text-align: center;
	color: #da001e;
	font-size: 14px;
	line-height: 1em;
	margin: 90px auto 54px;
	padding: 70px 0 42px;
	background: url(../images/wave_line.png) no-repeat center bottom;
	-webkit-background-size: auto 17px;
	background-size: auto 17px;
}
.top_main_contents h2 span,
.main_contents h2 span{
	position: relative;
	display: block;
	color: #000;
	font-size: 56px;
	line-height: 1em;
	letter-spacing: .04em;
	margin-bottom: 18px;
}
.top_main_contents h2:before,
.main_contents h2:before{
	content: "";
	position: absolute;
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
	-webkit-background-size: contain;
	background-size: contain;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.top_main_contents h2.before_noodle:before,
.main_contents h2.before_noodle:before{
	width: 66px;
	height: 48px;
	background-image: url(../images/noodle_icon.svg);
}
h2.before_cost:before{
	width: 55px;
	height: 54px;
	background-image: url(../images/cost_icon.svg);
}
h2.before_product:before{
	width: 52px;
	height: 63px;
	background-image: url(../images/product_icon.svg);
}
h2.before_machine:before{
	width: 70px;
	height: 53px;
	background-image: url(../images/machine_icon.svg);
}
h2.before_shop:before{
	width: 64px;
	height: 50px;
	background-image: url(../images/shop_icon.svg);
}
h2.before_human:before{
	width: 52px;
	height: 53px;
	background-image: url(../images/human_icon.svg);
}
h2.before_build:before{
	width: 38px;
	height: 55px;
	background-image: url(../images/build_icon.svg);
}
h2.before_contact:before{
	width: 83px;
	height: 52px;
	background-image: url(../images/contact_icon.svg);
}

.main_text{
	text-align: center;
	line-height: 26pt;
}
.bottom_contents{
	position: relative;
	display: block;
	width: 100%;
	height: 200px;
	font-size: 48px;
	font-weight: 600;
	text-align: center;
	line-height: 200px;
	font-feature-settings: "palt";
	background: #da001e;
}
.english .bottom_contents{
	font-size: 42px;
}
.bottom_contents .wrapper:before{
	content: "";
	position: absolute;
	display: block;
	width: 96px;
	height: 96px;
	background-repeat: no-repeat;
	background-position: 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	left: 62px;
	top: -48px;
}
.bottom_contents .white{
	color: #FFF;
}
.bg_texture{
	background: url(../images/contents_bg.jpg) repeat top left;
	-webkit-background-size: 850px;
	background-size: 850px;
}

/* top_concept */
#top_concept{
	position: relative;
	padding-top: 150px;
	overflow-y: hidden;
}
#top_concept:before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 150px;
	background: url(../images/bg_red.jpg) repeat-x left top;
	-webkit-background-size: 600px;
	background-size: 600px;
	overflow-y: hidden;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
	z-index: -1;
}
#top_concept #video{
	display: none;
}
#top_concept .modal{
	position: relative;
	display: block;
	width: 100%;
	height: auto;
}
#top_concept .modal:hover{
	opacity: .7;
}
#top_concept .movie{
	position: relative;
	display: block;
	width: 560px;
	height: 315px;
	background: #000;
	box-shadow: 5px 5px 5px rgba(0,0,0,.75);
	margin: -108px auto 0;
}
#top_concept .img-wrap{
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	z-index: -1;
}
#top_concept .jp_map{
	width: 374px;
	height: 659px;
	top: 107px;
	left: 0;
	z-index: -2;
}
#top_concept .bg_noodle{
	top: 150px;
	width: 37%;
}
#top_concept .btn_list{
	margin: 50px auto 88px;
}
#top_concept .bottom_contents .wrapper:before{
	background-image: url(../images/noodle_fukidashi.svg);
}

/* top_product */
#top_product{
	padding-top: 68px;
}
#top_product h2{
	margin-top: 0;
}
#top_product ul{
	text-align: center;
	letter-spacing: -.4em;
	margin: 62px auto 48px;
}
#top_product ul li{
	position: relative;
	display: inline-block;
	width: 299px;
	height: 299px;
	margin-right: 59px;
}
#top_product ul li:last-child{
	margin-right: 0;
}
#top_product .product{
	letter-spacing: -.4em;
}
.english #top_product .product{
	margin-bottom: 60px;
}
#top_product .product .pict{
	position: relative;
	display: inline-block;
	width: 458px;
	height: auto;
	margin: 0 118px 0 116px;
	vertical-align: top;
}
.english #top_product .product .pict{
	margin-top: 40px;
}
.english #top_product .product .pict:after{
	right: -20px;
	top: 20px;
}
#top_product .product .fukidasi{
	position: relative;
	display: inline-block;
	width: 425px;
	height: 296px;
	color: #FFF;
	letter-spacing: -.03em;
	vertical-align: top;
	padding: 23px 34px 32px;
	box-sizing: border-box;
	background: #da001e;
}
.english #top_product .product .fukidasi{
	height: auto;
}
#top_product .product .fukidasi:before{
	content: "";
	position: absolute;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 30px 10px 0;
	border-color: transparent #da001d transparent transparent;
	top: 0;
	left: -30px;
	bottom: 0;
	margin: auto 0;
}
#top_product .product .fukidasi h3{
	position: relative;
	display: block;
	color: #FFF;
	font-size: 37px;
	font-weight: 600;
	line-height: 1em;
	margin-bottom: 18px;
	padding: 7px 0 7px 67px;
	background: url(../images/gear_icon.svg) no-repeat center left 2px;
	-webkit-background-size: 50px auto;
	background-size: 50px auto;
}
#top_product .bottom_contents{
	margin-top: 100px;
	height: auto;
}
#top_product .bottom_contents .wrapper:before{
	background-image: url(../images/cost_fukidashi.svg);
	left: 191px;
}
#top_product .pict_four{
	height: auto;
	line-height: 0;
	letter-spacing: -.4em;
	margin: 0 auto;
}
#top_product .pict_four li{
	position: relative;
	display: inline-block;
	width: 25%;
	width: -webkit-calc(100% / 4);
	width: calc(100% / 4);
	height: auto;
	margin-right: 0;
}

/* top_news */
#top_news{
	padding-top: 75px;
	padding-bottom: 100px;
}
#top_news h2{
	margin-top: 0;
}
#top_news h2:before{
	width: 62px;
	height: 50px;
	background-image: url(../images/news_icon.svg);
}
#top_news ul{
	letter-spacing: -.4em;
}
#top_news ul li{
	position: relative;
	display: inline-block;
	width: 616px;
	height: 110px;
	vertical-align: top;
	letter-spacing: .02em;
	margin-right: 18px;
	margin-bottom: 20px;
}
#top_news ul li:nth-child(2n){
	margin-right: 0;
}
#top_news ul li a{
	position: relative;
	display: block;
	width: 100%;
	height: 110px;
	color: #FFF;
	padding: 13px 15px;
	box-sizing: border-box;
	background: #da001e;
}
#top_news ul li a:hover{
	background: rgba(218,0,30,.9);
	box-shadow: 2px 2px 6px rgba(0,0,0,.6);
}
#top_news ul li .pict{
	width: 120px;
	height: 84px;
	margin-right: 19px;
	background: #000;
	overflow: hidden;
}
#top_news ul li .pict img{
	position: absolute;
	display: block;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
#top_news ul li .right_box{
	padding-left: 139px;
}
#top_news ul li .tag{
	position: relative;
	display: inline-block;
	width: 68px;
	height: 25px;
	color: #da001e;
	font-size: 12px;
	font-weight: 600;
	line-height: 25px;
	text-align: center;
	margin-right: 8px;
	background: #FFF;
}
#top_news ul li .date{
	position: relative;
	display: inline-block;
	font-size: 12px;
}
#top_news ul li span{
	position: relative;
	display: block;
	font-size: 14px;
	line-height: 16pt;
	margin-top: 10px;
}

/* main contents
------------------------------ */
.main_contents{
	position: relative;
	display: block;
	overflow-x: hidden;
}
.title_box{
	position: absolute;
	display: block;
	width: 100%;
	height: 148px;
	background: url(../images/bg_red.jpg) repeat-x left top;
	-webkit-background-size: auto;
	background-size: auto;
	padding-top: 52px;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
}
.title_box h1,.title_box p{
	position: relative;
	display: block;
	color: #FFF;
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	text-align: center;
}
.title_box h1 span.tk-bebas-neue,
.title_box p span.tk-bebas-neue{
	position: relative;
	display: block;
	color: #000;
	font-size: 70px;
	font-weight: 600;
	line-height: 1em;
	margin-bottom: 16px;
}
.main_contents h2{
	margin-top: 0;
}
.main_contents section{
	position: relative;
	display: block;
	padding-top: 100px;
	padding-bottom: 126px;
}
.main_contents .column_box{
	position: relative;
	display: block;
	padding: 60px 60px 80px;
	background: #FFF;
}
.main_contents h3,
#news_detail .column_box h1{
	position: relative;
	display: block;
	color: #da001e;
	font-size: 36px;
	font-weight: 600;
	line-height: 1em;
	letter-spacing: 0;
	margin-bottom: 41px;
	padding-bottom: 24px;
	border-bottom: 3px solid #000;
}
.english h3{
	font-size: 32px;
}
.main_contents h3:after,
#news_detail .column_box h1:after{
	content: "";
	position: absolute;
	width: 134px;
	height: 3px;
	background: #da001e;
	left: 0;
	bottom: -3px;
}
.main_contents h4{
	color: #da001e;
	font-size: 26px;
}
.main_contents .column_box .fl_r{
	width: 350px;
	height: auto;
	margin-left: 48px;
}
.main_contents .column_box .fl_r li:first-child{
	margin-bottom: 47px;
}
.main_contents .column_box p{
	letter-spacing: -.01em;
	padding-right: 398px;
}
.main_contents .column_box p.en_text{
	line-height: 22pt;
	letter-spacing: .01em;
}
.red_line:after{
	content: "";
	position: absolute;
	display: block;
	width: 200%;
	height: 109px;
	background: #da001e;
	left: -50%;
	right: 0;
	bottom: -109px;
}
.before_line{
	padding-top: 209px!important;
}
.main_contents .column_box table tr th{
	width: 266px;
	color: #da001e;
	text-align: left;
	font-weight: 500;
	border-bottom: 1px solid #bcbcbc;
	padding-bottom: 16px;
	/*line-height: 58px;*/
}
.main_contents .column_box table tr td{
	border-bottom: 1px solid #bcbcbc;
	line-height: 58px;
}

/* bread crumb */
.pankuzu{
	position: relative;
	display: block;
	width: 100%;
	height: 60px;
	background: #000;
}
.bread_crumb{
	position: relative;
	display: block;
	width: 1250px;
	font-size: 14px;
	letter-spacing: -.4em;
	margin: 0 auto;
	padding: 0 15px;
}
.bread_crumb li{
	position: relative;
	display: inline-block;
	color: #da001e;
	line-height: 60px;
	letter-spacing: .04em;
	margin-right: 10px;
}
.bread_crumb li:after{
	content: ">";
	color: #FFF;
	margin: 0 10px 0 20px;
}
.bread_crumb li:last-child:after{
	display: none;
}
.bread_crumb li a{
	position: relative;
	display: inline-block;
	color: #FFF;
	line-height: 1em;
}
.bread_crumb li a:hover{
	text-decoration: none;
	color: #da001e;
}

/* concept
------------------------------ */
.original_noodle{
	position: relative;
	display: block;
}
.original_noodle .name{
	position: relative;
	display: block;
	text-align: right;
	padding-top: 47px;
	padding-right: 398px;
}
.original_noodle .name .pict{
	width: 86.5px;
	height: 86.5px;
	margin-left: 28px;
}
.original_noodle .name p{
	padding-right: 0;
	font-size: 32px;
	font-weight: 600;
	padding-top: 17px;
}
.original_noodle .name p:last-child{
	padding: 0;
}
.original_noodle .name p span{
	position: relative;
	display: block;
	font-size: 18px;
	margin-bottom: 16px;
}
.original_noodle img.mt40{
	margin-top: 40px;
}
.reduced_cost h4{
	margin-top: 54px;
	line-height: 1em;
}
.reduced_cost div.pict{
	position: relative;
	display: inline-block;
	width: 390px;
	height: auto;
	margin-top: 35px;
}
.reduced_cost .red_text{
	position: relative;
	display: inline-block;
	width: 312px;
	margin-top: 80px;
	margin-left: 24px;
	padding-right: 0!important;
	color: #da001e;
	font-size: 19px;
	font-weight: 600;
	vertical-align: top;
	line-height: 26pt;
}
.english .red_text{
	margin-top: 56px;
}
.reduced_cost .red_text span{
	position: relative;
	display: block;
	font-size: 26px;
}
.reduced_cost .table{
	letter-spacing: -.4em;
	margin-top: 54px;
}
.reduced_cost .table li{
	position: relative;
	display: inline-block;
	width: 354px;
	height: 236px;
	font-weight: 600;
	text-align: center;
	border: 3px solid #000;
}
.reduced_cost .table li:first-child{
	margin-right: 12px;
}
.reduced_cost .table li span{
	position: relative;
	display: block;
	line-height: 59px;
	letter-spacing: .07em;
}
.reduced_cost .table li .black{
	color: #FFF;
	font-size: 20px;
	background: #000;
}
.reduced_cost .table li .glay{
	background: #e6e6e6;
}
.reduced_cost .table li .white{
	background: #FFF;
}

/* works
------------------------------ */
.noodle_machine .pict_list{
	letter-spacing: -.4em;
	margin-top: 68px;
}
.noodle_machine .pict_list li{
	position: relative;
	display: inline-block;
	width: 366px;
	height: 222px;
	margin-right: 16px;
}
.noodle_machine .pict_list li:nth-child(3){
	margin-right: 0;
}
#product .product_box{
	margin-bottom: 68px;
}
#product .pict{
	width: 360px;
	height: auto;
}
#product .right_box{
	padding-left: 396px;
}
#product .right_box .tag_list{
	letter-spacing: -.4em;
	margin-bottom: 30px;
}
#product .right_box .tag_list li{
	position: relative;
	display: inline-block;
	font-size: 12px;
	line-height: 20px;
	letter-spacing: .04em;
	text-align: center;
	margin-right: 12px;
	padding: 0 8px;
	background: #ffe65c;
}
#product .right_box h4{
	font-size: 25px;
	margin-bottom: 22px;
}
.english #product .right_box h4{
	position: relative;
	display: block;
	line-height: 26pt;
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 16px;
}
#product .right_box p{
	padding-right: 0;
}
.en_product .right_box p{
	line-height: 25pt;
}
#product .right_box .btn a{
	margin-top: 42px;
	margin-right: 0;
}
#product .right_box .btn a:before{
	content: "\f0a9";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: .5em;
}
.en_product .product_list li h4{
	line-height: 18pt;
}

/* works sub */
.main_contents .bg_yellow{
	padding-top: 60px;
	padding-bottom: 26px;
}
.main_contents .bg_yellow:before{
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 200px;
	background: url(../images/bg_yellow.jpg) repeat-x top left;
	-webkit-background-size: 1px 200px;
	background-size: 1px 200px;
	top: 0;
	left: 0;
}
.bg_yellow .outline{
	position: relative;
	display: block;
}
.bg_yellow .outline:after{
	content: "";
	position: absolute;
	display: block;
	width: 678px;
	height: 410px;
	background: url(../images/kotohira_bg.png) no-repeat center bottom;
	-webkit-background-size: contain;
	background-size: contain;
	background-blend-mode: screen;
	top: 120px;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.bg_yellow .outline .pict{
	width: 516px;
	height: 500px;
	margin-left: 0;
	margin-right: -30px;
	z-index: 1;
}
.features h3:nth-of-type(1){
	margin-top: 50px;
}
.bg_yellow .outline h3{
	text-shadow: white 2px 0px,  white -2px 0px,
				 white 0px -2px, white 0px 2px,
				 white 2px 2px , white -2px 2px,
				 white 2px -2px, white -2px -2px,
				 white 1px 2px,  white -1px 2px,
				 white 1px -2px, white -1px -2px,
				 white 2px 1px,  white -2px 1px,
				 white 2px -1px, white -2px -1px;
	line-height: 30pt;
	margin-top: 0;
	margin-bottom: 70px;
	border-bottom: 0;
	padding-bottom: 0;
	white-space: nowrap;
	z-index: 1;
}
.bg_yellow .outline h3:after{
	display: none;
}
.bg_yellow .outline h3 span{
	position: relative;
	display: block;
	color: #000;
	font-size: 26px;
}
.bg_yellow .outline .circle{
	position: relative;
	display: block;
	font-size: 22px;
	font-weight: 600;
	line-height: 24pt;
	margin-bottom: 20px;
	padding-right: 601px;
	padding-left: 1em;
	text-indent: -1em;
	z-index: 1;
}
.bg_yellow .outline .circle:before{
	content: "●";
}
.bg_yellow .outline .caution{
	z-index: 1;
	margin-top: 40px;
}
.product_list{
	line-height: 0;
	letter-spacing: -.4em;
}
.product_list li{
	position: relative;
	display: inline-block;
	width: 342px;
	height: auto;
	vertical-align: top;
	margin-right: 53px;
	margin-bottom: 50px;
	line-height: 20pt;
	letter-spacing: .04em;
}
.product_list li:nth-child(3n){
	margin-right: 0;
}
.product_list li h4{
	position: relative;
	display: block;
	color: #000;
	font-size: 16px;
	line-height: 1em;
	text-align: center;
	margin: 16px 0 12px;
}
.features .column_three{
	letter-spacing: -.4em;
	line-height: 0;
	margin-bottom: 54px;
}
.features .column_three li{
	position: relative;
	display: inline-block;
	width: 342px;
	height: auto;
	font-size: 18px;
	font-weight: 600;
	text-align: center;
	letter-spacing: .04em;
	line-height: 1em;
	margin-right: 53px;
}
.features .column_three li:nth-child(3){
	margin-right: 0;
}
.features .column_three li .pict{
	width: 342px;
	height: 255px;
	margin-bottom: 12px;
}
.shop .column_box p{
	padding-left: 396px;
	padding-right: 0;
}
.shop .fl_l{
	width: 350px;
	height: auto;
}
.shop .fl_l p{
	line-height: 1em;
	font-weight: 600;
	padding: 0;
	margin-bottom: 12px;
}
.shop .fl_l p:before{
	content: "\f0a9";
	color: #c7001e;
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: .3em;
}
.shop .fl_l .pict{
	width: 350px;
	height: auto;
	margin-bottom: 44px;
}
.shop .fl_l .pict span{
	position: relative;
	display: block;
	width: 100%;
	height: 37px;
	color: #FFF;
	font-weight: 600;
	text-align: center;
	line-height: 37px;
	background: #da001e;
}
.shop .column_box .pict_list{
	letter-spacing: -.4em;
}
.shop .column_box .pict_list li{
	position: relative;
	display: inline-block;
	width: 270px;
	height: auto;
	vertical-align: top;
	letter-spacing: .03em;
	margin-right: 17px;
	font-feature-settings: "palt";
}
.shop .column_box .pict_list li:nth-child(4){
	margin-right: 0;
}
.shop .column_box h3:nth-of-type(2){
	margin-top: 102px;
}
.shop .column_box .pict_list li .pict{
	width: 270px;
	height: 205px;
	background: #000;
	margin-bottom: 12px;
}

#taisei .bg_yellow .outline .pict{
	width: 540px;
	margin-right: 0;
}
#taisei .bg_yellow .outline:after{
	left: -10%;
	background-image: url(../images/taisei_bg.png);
}
#taisei h3:nth-of-type(2){
	margin-top: 20px;
}

#tenkagomen .bg_yellow .outline .pict{
	height: 534px;
	margin-right: -10px;
}
#tenkagomen .bg_yellow .outline:after{
	background-image: url(../images/tenkagomen_bg.png);
}
#tenkagomen .bg_yellow .outline .circle{
	padding-right: 580px;
}

/* company
------------------------------ */
#greeting .fl_r span{
	position: relative;
	display: block;
	line-height: 1em;
	text-align: right;
	margin-top: 15px;
}
.en_greeting .fl_r span{
	line-height: 18pt!important;
}
.en_greeting h3{
	line-height: 38pt;
}
#profile table{
	width: 100%;
	margin-bottom: 66px;
}
#profile .ggmap{
	margin-bottom: 58px;
}
#profile .pict{
	width: 377px;
	height: 215px;
	margin-right: 60px;
}
#profile .right_box{
	padding-left: 434px;
}
#profile .right_box h3{
	font-size: 26px;
	border-bottom: 0;
	padding-bottom: 0;
	margin-bottom: 24px;
}
#profile .right_box h3:after{
	display: none;
}
#profile .right_box p{
	padding-right: 0;
}

/* news & single
------------------------------ */
.news_list ul li{
	letter-spacing: 0;
	margin-bottom: 34px;
	padding-bottom: 37px;
	border-bottom: 1px solid #bcbcbc;
}
.main_contents .news_list ul li .pict{
	width: 260px;
	height: 182px;
	margin-left: 46px;
	overflow: hidden;
}
.main_contents .news_list ul li .pict img{
	position: absolute;
	display: block;
	width: 100%;
	height: auto;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
}
.main_contents .news_list ul li .pict:hover{
	opacity: .7;
}
.tags{
	letter-spacing: -.4em;
}
.tags .date{
	position: relative;
	display: inline-block;
	line-height: 25px;
	letter-spacing: .04em;
	vertical-align: top;
	font-weight: 600;
	margin-right: 18px;
}
.tags .tag{
	position: relative;
	display: inline-block;
	color: #FFF;
	font-size: 12px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: .04em;
	vertical-align: top;
	padding: 0 12px;
	background: #da001e;
}
.news_list ul li h2{
	font-size: 18px;
	letter-spacing: .04em;
	margin: 18px auto;
	padding: 0;
	text-align: left;
	background: none;
}
.news_list ul li h2:before{
	display: none;
}
.news_list ul li h2 a{
	text-decoration: underline;
}
.news_list ul li h2 a:hover{
	text-decoration: none;
}

/* page-nav */
.page_navi{
	display: none;
}
.page-nav {
	clear: both;
	float: none;
	margin-top: 100px;
	margin-bottom: 10px;
	text-align: center;
}
.page-nav li {
	display: inline!important;
	list-style: none outside none;
	padding-bottom: 0!important;
	border-bottom: 0px;
}
.page-nav li a {
	color: #000;
	font-size: 12px;
	background: #f0f0f0;
	text-decoration: none;
}
.page-nav li a:hover {
	background: #da001e;
	color: #FFF;
}
.page-nav li a:active {
	box-shadow: 0 0 3px rgba(0,0,0,0.2) inset;
	top:1px;
}
.page-nav li.current span{
	background: #da001e;
	color: #FFF;
	font-size: 12px;
	font-weight: bold;
	border: 1px solid #da001e;
}
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span {
	font-size: 12px;
	background: rgb(248,248,248);
	border: 1px solid rgb(230,230,230);
	color: rgb(180,180,180);
	text-decoration: none;
}

.page-nav li.page_nums span {
	background: rgb(102,102,102);
	border: 1px solid rgb(51,51,51);
	color: rgb(255,255,255);
}
.page-nav li a,
.page-nav li.current span,
.page-nav li.first span,
.page-nav li.previous span,
.page-nav li.next span,
.page-nav li.last span,
.page-nav li.page_nums span {
	padding: 0.25em 0.8em;
	display: inline-block;
	position:relative;
}

/* single */
#news_detail .column_box h1{
	font-size: 25px;
	line-height: 26pt;
	margin-top: 20px;
	margin-bottom: 34px;
	padding-bottom: 18px;
}
#news_detail .column_box p{
	padding-right: 0;
}
#news_detail .column_box img{
	max-width: 100%;
	height: auto;
}
#news_detail .column_box img.aligncenter {
	display: block;
	margin: 0 auto;
}
.adjacent_post_links{
	margin: 40px 0 0;
	font-size: 87.5%;
	line-height: 1.4em;
	letter-spacing: 0.05em;
}
.adjacent_post_links ul {
	margin: 0;
	height: 25px;
	letter-spacing: -.4em;
	text-align: center;
}
.adjacent_post_links li{
	position: relative;
	display: inline-block;
	width: 110px;
	height: 25px;
	letter-spacing: .04em;
	vertical-align: top;
}
.adjacent_post_links li a{
	display: block;
	text-decoration: none;
	text-align: center;
	color: #000;
	line-height: 23px;
	border: 1px solid #c0c0c0;
}
.adjacent_post_links li a:hover{
	text-decoration: none;
	color: #da001e;
}
.adjacent_post_links li.prev{
	margin-right: 27px;
}
.adjacent_post_links li.center{
	margin-right: 27px;
}

/* contact
------------------------------ */
#contact p{
	padding-right: 0;
}
#contact .tel{
	position: relative;
	display: inline-block;
	margin-top: 18px;
}
#contact h3:nth-of-type(2){
	margin-top: 96px;
}
#contact table{
	width: 100%;
	margin-top: 36px;
}
#contact table tr:first-child{
	border-top: 1px solid #bcbcbc;
}
#contact table tr th{
	width: 244px;
	height: 32px;
	color: #FFF;
	vertical-align: top;
	padding-top: 26px;
	padding-left: 26px;
	background: #da001e;
}
.english #contact table tr th{
	letter-spacing: 0;
	padding-bottom: 0;
	padding-top: 0;
	vertical-align: middle;
}
.en_contact div.mfp_err{
	letter-spacing: 0;
}
#contact table tr td{
	padding-left: 26px;
}
#contact table tr td input[type="text"],
#contact table tr td input[type="tel"],
#contact table tr td input[type="fax"],
#contact table tr td input[type="email"]{
	width: 420px;
	height: 33px;
	font-size: 16px;
}
#contact table tr:last-child td{
	padding: 18px 0 18px 26px;
}
#contact table tr td textarea{
	width: 699px!important;
	height: 169px;
	font-size: 16px;
}
#privacy_policy{
	position: relative;
	display: block;
	width: 980px;
	height: 220px;
	border: 3px solid #000;
	box-sizing: border-box;
	background: #FFF;
	margin: 50px auto 24px;
}
#content-1{
	position: relative;
	display: block;
	width: 960px;
	height: 194px;
	margin: 10px auto;
}
#content-1 .mCSB_scrollTools{
	height: 180px!important;
	margin: auto 0;
}
#content-1 .mCSB_inside > .mCSB_container{
	margin-right: 0!important;
}
#content-1 .mCSB_scrollTools .mCSB_draggerRail{
	width: 8px!important;
	background-color: rgba(0,0,0,0)!important;
}
#content-1 .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
	width: 8px!important;
	background-color: #da001e!important;
}
#content-1 h3{
	width: auto;
	font-size: 18px;
	margin: 0 0 1em;
	padding: 20px 0 0 20px;
	background: none;
	border-bottom: 0;
}
#content-1 h3:after{
	display: none;
}
#content-1 p{
	font-size: 16px;
	text-align: left;
	padding: 0 20px 10px;
	margin-bottom: 0;
}
#contact p.check_text{
	text-align: center;
	line-height: 1em;
	margin-bottom: 40px;
}
#mailformpro{
	position: relative;
	z-index: 1;
}
#mailformpro .submit{
	position: relative;
	display: block;
	width: 244px;
	height: 54px;
	color: #da001e;
	font-size: 16px;
	font-weight: 600;
	line-height: 48px;
	text-align: center;
	letter-spacing: .05em;
	border: 3px solid #da001e;
	margin: 0 auto;
	background: #FFF;
	transition: .3s;
	cursor: pointer;
}
#mailformpro .submit:hover{
	background: #da001e;
	color: #FFF;
	cursor: pointer;
	transition: .3s;
}
#mailformpro .submit[disabled]{
	opacity: .8;
	cursor: default;
}
#mailformpro .submit[disabled]:hover{
	opacity: 0.8;
	cursor: default;
	color: #da001e;
	background: #FFF;
}
#sitemap{
	position: relative;
	display: block;
	margin: -40px auto 0;
	padding-top: 110px;
}
#sitemap ul{
	width: 600px;
	letter-spacing: -.4em;
}
#sitemap ul li{
	position: relative;
	display: inline-block;
	width: 150px;
	letter-spacing: .02em;
	margin-right: 50px;
	margin-bottom: 15px;
}
#mail_contact a:after,
#sitemap ul li a:after{
	border-color: #da001e;
}
div#mfp_warning{
	letter-spacing: 0;
}

/* thanks
------------------------------ */
.thanks .column_box p{
	padding-right: 0;
	text-align: center;
}

/* 404
------------------------------ */
.english_yonmaruyon{
	text-align: center;
}
.main_contents .english_yonmaruyon .column_box p{
	padding-right: 0;
	line-height: 2em;
	letter-spacing: .05em;
}

/* Footer
------------------------------ */
.contact_list,.en_contact{
	letter-spacing: -.4em;
	margin-bottom: 74px;
	padding-bottom: 104px;
	border-bottom: 1px solid #000;
}
.en_contact{
	padding-bottom: 74px;
	margin-bottom: 54px;
}
.contact_list li,.en_contact a{
	position: relative;
	display: inline-block;
	text-align: center;
	color: #FFF;
	letter-spacing: .04em;
}
.en_contact a{
	display: block;
	margin: 0 auto;
}
.contact_list li:first-child{
	width: 704px;
	height: 132px;
	margin-right: 23px;
	padding-top: 18px;
	vertical-align: top;
	text-align: center;
	background: #da001e;
}
.contact_list li:first-child p:first-child{
	font-size: 28px;
	font-weight: 600;
	line-height: 1em;
	margin-bottom: 6px;
}
.contact_list li:first-child .hour{
	position: relative;
	text-align: center;
	width: 525px;
	margin: 0 auto;
}
.contact_list li:first-child .hour span {
	position: relative;
	display: inline-block;
	margin: 0 2.5em;
	padding: 0 1em;
	text-align: left;
	background: #da001e;
	z-index: 2;
}
.contact_list li:first-child .hour::before {
	content: '';
	position: absolute;
	display: block;
	width: 100%;
	height: 3px;
	background: #000;
	top: 50%;
	z-index: 1;
}
.contact_list li:nth-child(2){
	width: 522px;
	height: 150px;
	vertical-align: top;
}
.contact_list li:nth-child(2) a,
.en_contact a{
	position: relative;
	display: block;
	width: 100%;
	color: #FFF;
	font-size: 28px;
	font-weight: 600;
	line-height: 150px;
	background: #da001e;
}
.en_contact a{
	width: 522px;
	height: 100px;
	line-height: 100px;
}
.contact_list li:nth-child(2) a:before,
.en_contact a:before{
	content: "";
	position: relative;
	display: inline-block;
	width: 53px;
	height: 41px;
	background: url(../images/mail_icon.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	vertical-align: middle;
	margin-top: -4px;
	margin-right: 23px;
}
.contact_list li:nth-child(2) a:hover,
.en_contact a:hover{
	background: rgba(218,0,30,.8);
	box-shadow: 2px 2px 6px rgba(0,0,0,.6);
}
footer{
	position: relative;
	display: block;
	width: 100%;
	height: 607px;
	background: url(../images/footer_bg.jpg) no-repeat center center;
	-webkit-background-size: cover;
	background-size: cover;
	padding-top: 133px;
}
footer .left_box{
	position: relative;
	display: inline-block;
	margin-right: 312px;
}
footer .en_left_box{
	margin-right: 300px;
}
#footer_logo a,
#footer_logo_eng a{
	position: relative;
	display: block;
	width: 294px;
	height: 38px;
	text-indent: -9999px;
	background: url(../images/footer_logo.svg) no-repeat 0 0;
	-webkit-background-size: contain;
	background-size: contain;
	margin-bottom: 22px;
}
#footer_logo_eng a{
	background-image: url(../images/footer_logo_en.svg);
}
#footer_logo a:hover,
#footer_logo_eng a:hover{
	opacity: .7;
}
footer .left_box p{
	color: #FFF;
}
.footer_menu{
	position: relative;
	display: inline-block;
	width: 570px;
	vertical-align: top;
	letter-spacing: -.4em;
}
.footer_menu li{
	position: relative;
	display: inline-block;
	width: 210px;
	line-height: 1em;
	margin-bottom: 20px;
}
.footer_menu li:nth-child(2n),
.footer_menu li:nth-child(5),
.footer_menu li:nth-child(3n){
	width: 180px;
}
.footer_menu li:nth-child(4){
	width: 210px;
}
.en_footer_menu{
	width: 650px;
}
.en_footer_menu li{
	width: auto!important;
	margin: 15px 60px 0 0!important;
}
.footer_menu li a{
	font-weight: 600;
	line-height: 1em;
	letter-spacing: .04em;
}
.footer_menu li a:after{
	border-color: #da001e;
	margin-top: 0;
}
#copyright{
	position: relative;
	display: block;
	color: #FFF;
	font-size: 14px;
	text-align: center;
	margin-top: 60px;
}
#copyright a{
	font-size: 14px;
	color: #FFF;
	line-height: 20pt;
}
#copyright a:after{
	border-color: #FFF;
	margin-top: -4px;
}

/* page top */
.pagetop {
	position: fixed;
	bottom: 60px;
	right: 60px;
	opacity: 0;
	filter: alpha(opacity=0);
	-webkit-transform: scale(1.5);
	-moz-transform: scale(1.5);
	-ms-transform: scale(1.5);
	-o-transform: scale(1.5);
	transform: scale(1.5);
	-webkit-transition: all .5s;
	-moz-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	z-index: 10!important;
}
.pagetop a{
	display: block;
	width: 46px;
	height: 36px;
	background: #FFF;
	font-family: Krungthep, Helvetica, sans-serif;
	border: 2px solid #000;
	text-align: center;
	color: #000;
	font-size: 25px;
	padding-top: 10px;
}
.pagetop.show{
	opacity: 1;
	filter: alpha(opacity=100);
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-ms-transform: scale(1);
	-o-transform: scale(1);
	transform: scale(1);
}
.pagetop a:hover{
	text-decoration: none;
	color: #FFF;
	border-color: #da001e;
	background: #da001e;
}