@charset "utf-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/earlyaccess/notosansjapanese.css');
@import url('https://fonts.googleapis.com/earlyaccess/notosanssc.css');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css?family=Lato:100,300,400,700,900|Roboto:100,300,400,500,700,900');
@import url('https://fonts.googleapis.com/css?family=Unna&display=swap');
/****************reset*******************/
body,div,dl,dt,dd,h1,h2,h3,h4,h5,h6,p{
	padding:0;
	margin:0;
	width:auto;
	font-size:100%;
	line-height:100%;
	font-weight:normal;
	box-sizing: border-box;
}
ul,li{
	list-style:none;
	padding:0;
	margin:0;
	font-size:100%;
	line-height:100%;
	font-weight:normal;
}
a img {
	border:none;
}
img{
	line-height:100%;
	font-size:0px;
	-webkit-backface-visibility:hidden;
}
a,button{
	text-decoration:none;
	transition:.4s;
	-webkit-transition:.4s;
	cursor:pointer;
}
span{
	font-family:"Sawarabi Gothic", sans-serif;
	font-weight:normal;
}
/****************clearfix*******************/
.clearfix {
	min-height:1px;
	overflow-x:hidden;
}
* html .clearfix{height:1px; /*\*//*/ height:auto; overflow:hidden; /**/ }
p,li,h3,h4,a,strong,dd,dt,dl{
	color:#333;
	letter-spacing:.12em;
}
.lato{
	font-family:'Lato', sans-serif;
	font-weight:600;
}
body{
	font-family:'Noto Sans JP','ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'A-OTF UD新丸ゴ Pro6 R' , 'A-OTF UD新丸ゴ Pro6 M', sans-serif;
	line-height:180%;
	font-size:14px;
	background:#fff;
	letter-spacing:.12em;
	min-width:1164px;
}


/* 共通  */
.relative{
	position:relative;
	overflow:auto;
}
.sp{display:none;}

.inner1080{
	width:1080px;
	margin:0 auto;
	position:relative;
}
.inner1440{
	width:90%;
	max-width:1440px;
	margin:0 auto;
	position:relative;
}
.inner1200 {
	width:90%;
	max-width:1200px;
	margin:0 auto;
	position:relative;
}
h2{
    width:calc( 100% - 680px );
	margin:0 auto 80px;
	color: #1e4463;
	line-height: 1.5;
	display:inline-block;
	font-size: 72px;
	font-family: "Poppins", sans-serif;
	font-weight:600;
}
h2 span{
    width: 100%;
    display: inline-block;
	color: #1e4463;
    position: relative;
	font-size:60px;
	font-family: "Noto Serif JP", serif;
	font-weight:600;
	letter-spacing:10px;
}
h2 span:after{
	content:"";
	width:100%;
	height:3px;
	display:block;
    position: absolute;
    bottom: -12px;
	background:#B4C2C8;
}

h3{
	margin:0 auto 24px;
	font-size: 40px;
	color:#1e4463;
	text-align:center;
	line-height: 1.25;
	font-weight: bold;
}
h3 span{
	font-size:22px;
	letter-spacing:2px;
	font-weight: bold;
	position:relative;
}
h3 span:after{
	content:"";
	width:160%;
	height:6px;
	display:block;
    position: absolute;
	left:-30%;
    bottom:2px;
	background:#09374B22;
	z-index:0;
}
h4{
	margin:0 auto 40px;
	font-size: 21px;
	font-weight: bold;
	color:#1e4463;
	display:flex;
	align-items:center;
	line-height: 1.5;
}
h4 span{
	font-size: 120%;
}
h4:after{
	content:"";
	flex-grow:1;
	height:2px;
	background:#1e4463;
	display:block;
	margin-left:8px;
}
hr{
	border-color: #1e4463;
	border: solid 0.5px;
}
.parallax-mirror{
	z-index:2!important;
}

/* 共通  */

/* ハンバーガーメニュー */
.hamburger{
	position:absolute;
	right:0;
	top:0;
	z-index:999;
	background-color: #69b017;
	padding:20px 19px 20px;
	border:solid 2px rgba(255, 255, 255, 0.2);
}
.menu-trigger,.menu-trigger span{
  display:inline-block;
  transition:all .5s;
  box-sizing:border-box;
  margin:0 auto;
}
.menu-trigger{
  position:relative;
  width:25px;
  height:22px;
  cursor:pointer;
}
.menu-trigger span {
  position:absolute;
  left:0;
  width:100%;
  height:3px;
  border-radius:3px;
  background-color:#fff;
}
.menu-trigger span:nth-of-type(1) {
  top:0;
}
.menu-trigger span:nth-of-type(2) {
  top:10px;
}
.menu-trigger span:nth-of-type(3) {
  bottom:0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform:translateY(10px) rotate(-45deg);
  transform:translateY(10px) rotate(-45deg);
  width:100%;
}
.menu-trigger.active span:nth-of-type(2) {
  opacity:0;
  width:100%;
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform:translateY(-9px) rotate(45deg);
  transform:translateY(-9px) rotate(45deg);
  width:100%;
}

.menu-trigger p{
  position:absolute;
  left:25px;
  font-weight:bold;
}
/* ハンバーガーメニュー */


/* ハンバーガーメニュー内容 折り畳まれ部分 */
#navigation{
	position:absolute;
	display:none;
	width:100%;
	height:120vh;
	top:0;
	left:0;
	z-index:3;
	overflow-y:scroll;
}
#navigation::-webkit-scrollbar {
	display:none;
}
#navigation .navigation_inner{
	display: table;
	width:100%;
	height: 100%;
	overflow: scroll;
	background-color: #fff;
	}
#navigation .navigation_inner .navigation_menu{
	display:flex;
	flex-wrap:wrap;
	padding:67px 0 0;
	justify-content:space-between;
}
#navigation .nav_btns{
	width:100%;
	display:flex;
	padding: 4% 0 10%;
	background-color:#fff;
}
#navigation .nav_btns a{
	width: 47%;
	margin: 0 auto;
}
#navigation .nav_btns a:last-child{
	margin:0 auto;
}
#navigation .nav_btns img{
	width:100%;
}
#navigation .navigation_inner .navigation_menu li{
	width:100%;
	background:url(../img/link.png) no-repeat;
	background-size:2.5%;
	background-position:98% 92.5%;
	border-top:1px solid #ddd;
}
#navigation .navigation_inner .navigation_menu li:last-child{
	border-bottom:1px solid #ddd;
}
#navigation .navigation_inner .navigation_menu li a{
	padding: 4.5% 5%;
	color:#555;
	font-size: 4.5vw;
	line-height:1.25;
	display:block;
}
#navigation .navigation_inner .navigation_menu li a.yukioo_btn{
	color:#fff;
	background:#09374B;
}
#navigation .navigation_inner .navigation_menu li a span{
	font-size: 3.25vw;
	opacity:.5;
}
#navigation .navigation_inner .navigation_menu li.recruit_btn{
	background:#69b017;
}
#navigation .navigation_inner .navigation_menu li.recruit_btn a{
	color:#fff;
}
/* ハンバーガーメニュー内容 折り畳まれ部分 */


/* header */
header{
	width:100%;
    top:0;
    left:0;
    z-index:4;
	position:fixed;
}
.header-box{
	display:flex;
	justify-content:space-between;
	align-items:center;
	background: #fff;
	box-shadow:0px 0px 12px rgba(0,0,0,.1);
}
.header-box h1 a{
	width:184px;
	display:inline-block;
	background:#09374B;
	padding:12px 20px;
}
.header-box h1 img{
	width:100%;
}
.gnav_list{
	margin-right:1.6%;
	float:right;
	display:flex;
	align-items:center;
}
.gnav_list li a{
	width:128px;
	font-size:18px;
	padding:24px 0;
	text-align:center;
	line-height:1.25;
	display:block;
	color:#09374B;
}
.gnav_list li a{
	width:128px;
	font-size:18px;
	padding:24px 0;
	text-align:center;
	line-height:1.25;
	display:block;
	color:#09374B;
}
.gnav_list li a:hover{
	background:#f5f5f5;
}
.gnav_list li a.yukioo_btn{
	padding: 12px 8px;
	color:#fff;
	background:#09374B;
	border-radius:40px;
}
.gnav_list li a.yukioo_btn:hover{
	background:#09374B22;
	color:#09374B;
}
.gnav_list li a span{
	font-size:12px;
	opacity:.75;
}
/* header */

.hero{
	margin-top:72px;
	height:90vh;
	background:#EDEFEE;
}
.hero_img{
	width:90%;
	height:84vh;
	margin:0 auto;
	background:url("../img/main.jpg") center;
	background-size:cover;
	display:flex;
	align-items: flex-end;
}
.hero_img img{
	width:60%;
	margin:3%;
}

.page_main{
	padding:20vh 0 44vh;
	position:relative;
    overflow: hidden;
}
.page_main_contents, .page_main_contents2{
	/* display: flex; */
	/* flex-wrap:wrap; */
	/* position:relative; */
}
.page_main_contents2{
	justify-content:flex-end;
}
.page_main:before{
    content: "";
    width: 92%;
    height: 90%;
    display: block;
    background: #09374B15;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 0;
}
.page_main.page_main2:before{
    content: "";
    width: 92%;
    height: 90%;
    display: block;
    background: #09374B15;
    position: absolute;
    left:auto;
    right:0;
    top: 0;
    z-index: 0;
}
.company_main:after{
	content:"";
	width:45vw;
	height:45vw;
    display: block;
	background:url("../img/circle1.svg") no-repeat;
	background-size:contain;
    position: absolute;
    left:-20vw;
    bottom:-10vw;
    z-index: 0;
}
.quality_main:after{
	content:"";
	width:50vw;
	height:50vw;
    display: block;
	background:url("../img/circle2.svg") no-repeat;
	background-size:contain;
    position: absolute;
    left:-16vw;
    bottom:-6vw;
    z-index: 0;
}
.company_accent{
	width:12vw;
    height: 16.4vw;
    display: block;
	background:url("../img/bg_accent2.svg") right bottom no-repeat;
	background-size:contain;
    position: absolute;
    right:-0.8vw;
    bottom:-0.8vw;
    z-index: -1;
}
.quality_accent{
	width:30vw;
    height:28vw;
    display: block;
	background:url("../img/bg_accent3.svg") right bottom no-repeat;
	background-size:contain;
    position: absolute;
    right:-0.8vw;
    bottom:-0.8vw;
    z-index: 0;
}
.service_accent, .lineup_accent{
	width:30vw;
    height:30vw;
    display: block;
	background:url("../img/bg_accent.svg") left top no-repeat;
	background-size:contain;
    position: absolute;
    left:-0.8vw;
    top:-0.8vw;
    z-index: -1;
}
.page_maintxt {
    width:100%;
	position:relative;
	z-index:2;
}
.page_main_contents2 .page_maintxt {
    text-align: right;
}
.page_maintxt .copy{
	margin-bottom:40px;
	display:inline-block;
	font-family: "Noto Serif JP", serif;
	font-weight:400;
	font-size:42px;
	line-height:1.35;
	letter-spacing:8px;
	color:#09374B;
	background:#F2F7F7;
}
.page_main_contents .page_maintxt .copy{
	padding:24px 64px 24px 32px;
	border-left:6px #20B90C solid;
}
.page_main_contents2 .page_maintxt .copy{
	padding:24px 32px 24px 64px;
	border-right:6px #20B90C solid;
}
.page_maintxt .link_btn{
    width: 240px;
    display: block;
	padding:24px;
	font-size:17px;
	color:#09374B;
	background:#09374B22;
	text-align:left;
}
.page_main_contents2 .page_maintxt .link_btn{
    position: absolute;
    right: 0;
}
.page_maintxt .link_btn:hover{
	background:#09374B;
	color:#fff;
}
.page_maintxt .link_btn:after{
	content:"　>";
}
.page_mainimg{
    width:680px;
	padding:20px;
	position:absolute;
	right: 0;
	background:#09374B;
}
.page_main_contents .page_mainimg:after{
	content:"";
	width:136px;
	height:108%;
	background:url("../img/mainimg_accent.svg") no-repeat;
	background-size:contain;
	position:absolute;
    top:0;
    right: -7%;
}
.page_main_contents2 .page_mainimg:after{
	content:"";
	width:136px;
	height:108%;
	background:url("../img/mainimg_accent2.svg") no-repeat;
	background-size:contain;
	position:absolute;
    top:0;
    left: -7%;
}
.page_main_contents .page_mainimg{
	right: 0;
    top: 0;
}
.page_main_contents2 .page_mainimg{
	left: 0;
}
.page_mainimg img{
    width:100%;
}
.main_accent{
	position:absolute;
	opacity:0.05;
}
.main_accent1{
	width:13.6vw;
	height:auto;
	bottom:2.4vw;
	right:0;
    z-index: -1;
}
.main_accent2{
	width:auto;
	height:17vw;
    z-index: -1;
	bottom:4vh;
	left:0;
}
.main_accent3{
	width:auto;
	height:17vw;
    z-index: -1;
	bottom:0;
	left:0;
}


.parallax_bg{
	width:100%;
	height:50vh;
}

.gallery{
	padding:8vh 0 12vh;
	background:#fff;
}
.slider li{
    margin:24px;
    position: relative;
    border-radius: 20px;
    overflow: hidden;
}
.slider li img{
    width: 100%;
    height: auto;
}

/* footer */
footer{
	padding:64px 0 32px;
	background:#1e4463;
	position:relative;
}
footer:after{
	content:"";
	width:24vw;
	height:100%;
	display:block;
	background: url("../img/ft_bg.svg") left top no-repeat;
	background-size:cover;
	position:absolute;
	right:0;
	top:0;
	opacity:.5;
}
footer .ft_logo{
	width:90%;
	max-width:264px;
    display: block;
}
footer .ft_logo img{
	width:100%;
}
footer p{
	color:#fff;
}
footer .ft_ttl{
	margin:40px 0 0;
	font-size:48px;
    font-family: "Poppins", sans-serif;
    font-weight: 600;
}
footer .ft_ttl a{
    color: #fff;
}
footer .ft_ttl span{
	font-size:26px;
	font-family:"Noto Serif JP", serif;
}
.ft_contents{
	margin:24px 0 0;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
}
.ft_contents p{
	margin-right:40px;
	line-height:2;
}
.ft_contents p:last-child{
	margin-right:0;
}
.copyright{
	margin:48px auto 0;
	padding:24px 0 0;
	text-align:center;
	color:#9BAEBD;
	border-top:#9BAEBD 1px solid;
}
/* footer */


/* page　company */
.company_contents{
	position:relative;
}
.company_contents h2{
	width:100%;
	margin-bottom:48px;
}
.company_contents h2 span{
    font-size: 44px;
}
.company_contents p , .service_contents p{
	width:85%;
	font-size:17px;
	font-family:"Noto Serif JP", serif;
	line-height:2.24;
	color:#09374B;
    text-align: justify;
}
.mission, .grace{
	position:relative;
}
.mission{
	background:#F5F5F5;
}
.mission:after{
    content: "";
    width: 12vw;
    height: 16vw;
    max-width: 226px;
    display: block;
    background: url(../img/mission_accent.svg) left bottom no-repeat;
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: 0;
}
.mission_contents, .grace_contents{
	display:flex;
	justify-content:space-between;
	align-items:center;
    overflow: hidden;
	flex-wrap:wrap;
	position:relative;
}
.mission_txt{
	width:50%;
    min-height: 75vh;
	padding:8% 4% 10%;
    box-sizing: border-box;
	position:relative;
	background:#F5F5F5;
}
.mission_txt:after{
	content:"";
	width:50vw;
    height:50vw;
	display:block;
	background: url("../img/company_circle.svg") left top no-repeat;
    background-size: contain;
	position:absolute;
	right:-30vw;
	top:-22vw;
	z-index:0;
}
.mission_img{
	width:49vw;
	height:100%;
	min-height:75vh;
	position:absolute;
	top:0;
	right:0;
}
.company_gallery{
	width:100%;
	overflow-x:hidden;
}
.gallery_img{
    width: 100%;
    margin-left: 4.8%;
	padding:10vh 0;
    display: flex;
	flex-wrap:wrap;
    justify-content: space-between;
    align-items: center;
}
.gallery_img img{
	width:30%;
}
.gallery_img img:nth-child(2){
	margin-top:9.6%;
}
.grace{
    margin:8vh 0 20vh;
}
.grace_txt{
	width:50%;
    min-height:56vh;
	padding:8% 4% 10%;
    box-sizing: border-box;
}
.grace .grace_img{
	width:49vw;
	height:100%;
    min-height:56vh;
	position:absolute;
	top:0;
	right:0;
}
.info{
	padding:8% 0 10%;
	background:#f5f5f5;
}
.info h2{
	text-align:center;
}
.info_table{
	width:90%;
	max-width:924px;
	margin:3.2% auto 0;
	padding:2.4% 5% 5%;
	background:#fff;
}
.info_table table{
	width:100%;
}
.info_table th{
	width:148px;
	padding: 24px 16px;
	font-size:20px;
	font-weight:600;
	line-height:1.8;
	letter-spacing:.2em;
	border-bottom:2px solid #09374B;
	color:#09374B;
}
.info_table td{
	width:calc( 100% - 148px );
	padding: 24px 24px;
	font-size:17px;
	line-height:1.8;
	border-bottom:2px solid #F3F7F6;
}
/* page　company */

/* page　service */
.service_contents{
	padding-bottom:20vh;
	background:#F5F5F5;
}
.service_gallery{
	width:100%;
	overflow-x:hidden;
}
.business{
    margin:8vh 0 0;
	position:relative;
}
.business_contents{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
}
.business_txt{
	width:50%;
    min-height:56vh;
	padding:8% 4% 10%;
    box-sizing: border-box;
}
.business_txt p{
	max-width:580px;
}
.business .business_img{
	width:49vw;
	height:100%;
    min-height:56vh;
	position:absolute;
	top:0;
	left:0;
}
/* page　service */

/* page　quality */
.quality_contents{
	position:relative;
	overflow:hidden;
}
.quality_contents:before{
	content:"";
    width: 30vw;
    height: 30vw;
    display: block;
    background: url(../img/bg_accent.svg) left top no-repeat;
    background-size: contain;
    position: absolute;
    left: -0.8vw;
    top: -0.8vw;
    z-index:1;
}
.process{
	padding:10vw 0;
    background: #F5F5F5;
	position:relative;
	overflow:hidden;
}
.process:before{
	content:"";
	width:150vw;
	height:95%;
	display:inline-block;
	position:absolute;
	background:url("../img/quality_bg.png") top center repeat-y;
	background-size:contain;
	top:5%;
	left:-25vw;
}
.process h2{
    width: 100%;
	text-align:center;
}
.process_contents_box{
	width:calc(100% - 34px);
	margin:0 0 10% 34px;
	display:flex;
	justify-content:space-between;
	align-items:center;
	background:#fff;
	position:relative;
}
.process_contents_box:nth-child(2n){
	margin:0 34px 10% 0;
}
.process_contents_box:last-child{
	margin:0 34px 0 0;
}
.process_contents_box1:before{
	content:"";
	width:68px;
	height:calc(100% + 40px);
	display:block;
	background:url("../img/mainimg_accent2.svg") bottom left no-repeat;
    background-size: cover;
	position:absolute;
    bottom:-40px;
	left:-34px;
}
.process_contents_box2:after{
	content:"";
	width:68px;
	height:calc(100% + 40px);
	display:block;
	background:url("../img/mainimg_accent.svg") bottom right no-repeat;
    background-size: cover;
	position:absolute;
    bottom:-40px;
	right:-34px;
}
.process_txt,
.process_img{
	width:50%;
}
.process_txt p{
	padding:4.8% 8%;
	font-size:17px;
	font-family:"Noto Serif JP", serif;
	line-height:2.24;
	color:#09374B;
    text-align: justify;
}
.process_img img{
	width:100%;
	height:auto;
}
/* page　quality */

/* page　lineup */
.lineup_contents {
	margin-bottom:12vw;
}
.lineup_contents_box{
	position:relative;
}
.lineup_contents_box p{
	font-size:17px;
	font-family:"Noto Serif JP", serif;
	line-height:2.24;
	text-align:left;
	color:#09374B;
}
.lineup_contents_box table{
	max-width:92%;
    margin-top: 3vw;
    margin-bottom: 7vw;
}
.lineup_contents_box table:last-child{
    margin-bottom: 0;
}
.lineup_contents_box th,
.lineup_contents_box td{
	font-size:17px;
	font-family:"Noto Serif JP", serif;
	line-height:2.24;
	color:#09374B;
	padding:20px 24px;
	font-size:15px;
}
.lineup_contents_box th{
	width:72px;
	text-align:center;
    border-bottom: 2px #1e4463 solid;
}
.lineup_contents_box td{
	width:calc( 100% - 148px);
	text-align:left;
    border-bottom: 2px #9baebd solid;
}
.lineup_contents_box p.copy{
    display: inline-block;
    font-family: "Noto Serif JP", serif;
    font-weight: 400;
    font-size: 42px;
    line-height: 1.35;
    letter-spacing: 8px;
    color: #09374B;
    background: #F2F7F7;
}
.mango_bg{
	width:100%;
	height:60vh;
}
.lineup1 {
	margin-bottom:28vh;
	padding-bottom:6vw;
	background:#E5EAEC;
	overflow:hidden;
}
.lineup1:after{
	content:"";
	display:block;
	position:absolute;
	width:40vw;
	height:40vw;
	background:url("../img/circle1.svg") no-repeat;
	background-size:contain;
    bottom: -24vw;
    left: -12vw;
}
.lineup1 img{
	width:100%;
}
.lineup1 .lineup_txt{
	z-index:2;
	top:-80px;
}
.lineup1 p.copy{
	padding: 24px 64px 24px 32px;
    border-left: 6px #20B90C solid;
}
.lineup1 p.lineup_detail{
	width:70%;
    margin-top: 3vw;
	margin-left:30%;
}
.lineup1 .lineup_txt table{
	width:70%;
	margin-left:30%;
}
.butter_beans_bg{
	width:70%;
	height:50vh;
	background:url("../img/butter_beans.jpg");
	background-size:cover;
}
.lineup2{
	margin-bottom:10vw;
}
.lineup2:before{
	content:"";
	width:70%;
	height:87%;
	background:#E5EAEC;
	display:block;
	position:absolute;
	left:-10%;
	top:20%;
	z-index:-1;
}
.lineup2 p.copy{
	padding: 24px 32px 24px 64px;
    border-right: 6px #20B90C solid;
}
.lineup2 .lineup_detail{
	width:60%;
	margin-top:2vw;
}
.lineup2 .lineup_txt{
	position:absolute;
	top:14vh;
	right:0;
	text-align:right;
	z-index:2;
}
.lineup2 .lineup_gallery{
	width:36%;
	margin-top:3vw;
	margin-left:64%;
	display:flex;
	justify-content:space-between;
}
.lineup2 .lineup_gallery img{
	width:48%;
	height:auto;
}
.lineup3{
	margin-bottom:6vw;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.lineup3_img{
	width:56%;
}
.lineup3_img img{
	width:100%;
	height:auto;
}
.lineup3 .lineup_txt{
	width:40%;
}
.lineup3 .lineup_detail{
	margin-top:2vw;
}
.lineup_contents_box.lineup3 p.copy{
	font-size:28px;
}
.lineup3:nth-child(2n-1) p.copy{
	padding: 24px 64px 24px 32px;
    border-left: 6px #20B90C solid;
}
.lineup3:nth-child(2n) .lineup_txt{
	text-align:right;
}
.lineup3:nth-child(2n) p.copy{
	padding: 24px 32px 24px 64px;
    border-right: 6px #20B90C solid;
	text-align:right;
}
.lineup3:last-child{
	margin-bottom:0;
}
/* page　lineup */

/* page　contact */
.page_contact h2{
	width:496px;
}
.page_contents_box {
    padding: 40px;
    background: #fff;
    box-shadow: 0px 0px 12px rgba(0, 0, 0, 0.03);
    text-align: center;
}
.contact {
	width:100%;
    max-width: 960px;
    margin: 0 auto;
}
.contact-table {
    width: 100%;
    margin-bottom: 20px;
}
.contact-item{
    text-align: left;
    font-size: 15px;
	font-weight:normal;
    color: #333;
    padding:24px 12px;
    padding-right:4px;
    width:30%;
    background: #f7f7f7;
}
.haveto {
    font-size:12px;
    padding: 5px;
    background: #ff9393;
    color: #fff;
    border-radius: 2px;
    margin-right: 5px;
    position: relative;
    bottom: 1px;
}
.contact-body {
    width: 70%;
}
input[type=text], input[type=password], input[type=datetime], input[type=date], input[type=month], input[type=time], input[type=week], input[type=number], input[type=email], input[type=url], input[type=search], input[type=tel], input[type=color], select, textarea, .field {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    border-radius: 3px;
    background-color: #f4f7f8;
    box-shadow: none;
    color: #555;
    font-size: 1em;
    vertical-align: middle;
    line-height: 45px;
    transition: background-color .24s ease-in-out;
    box-sizing: border-box;
}
.contact-table textarea {
    max-width: 100%;
    min-height: 120px;
    line-height: 1.5em;
    overflow: auto;
}
.contact-submit{
	width:360px;
	margin:36px auto 16px;
    padding: 16px 0;
    display: block;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    border: solid 2px #1e4463;
    font-size: 16px;
    color: #1e4463;
	float: none;
	cursor: pointer;
	background: none;
}
/* お問い合わせフォーム */
.inquiry{
	width:100%;
	margin-bottom: 40px;
}
.inquiry th {
    text-align: left;
    font-size: 18px;
    color: #333;
    padding: 28px 20px;
    padding-right:4px;
    width:30%;
    background: #f7f7f7;
}
.haveto {
    font-size: 16px;
    padding: 4px 8px;
    background: #ff9393;
    color: #fff;
    border-radius: 6px;
    margin-right: 10px;
    position: relative;
    bottom: 1px;
}
input[type=text], input[type=password], input[type=datetime], input[type=date], input[type=month], input[type=time], input[type=week], input[type=number], input[type=email], input[type=url], input[type=search], input[type=tel], input[type=color], select, textarea, .field {
    display: block;
    width: 100%;
    height: 73px;
    padding: 10px 12px;
    border: 0;
    border-radius: 3px;
    background-color: #f4f7f8;
    box-shadow: none;
    color: #555;
    font-size: 17px;
    line-height: 1.5em;
    letter-spacing: 0.14em;
    vertical-align: middle;
    transition: background-color .24s ease-in-out;
    box-sizing: border-box;
}
.inquiry textarea {
    max-width: 100%;
    min-height: 120px;
    line-height: 1.5em;
    overflow: auto;
    font-family: 'Noto Sans JP';
    letter-spacing: 0.14em;
    font-size:18px;
}
/*送信ボタンのデザイン変更*/
#formbtn{
	width:360px;
	margin:24px auto 16px;
	padding: 24px 0;
	float: none;
	cursor: pointer;
	background: none;
	font-size: 18px;
	font-family: 'Noto Sans JP';
	letter-spacing: .12em;
}
	/* お問い合わせフォーム */
.inquiry{
	width: 100%;
	margin: 40px auto;
}
.inquiry
	th {
    text-align: left;
    font-size: 17px;
    color: #333;
    padding: 20px 12px;
    padding-right:4px;
    width:30%;
    background: #f7f7f7;
}
.haveto {
	font-size: 13px;
	padding: 4px 8px;
	background: #ff9393;
	color: #fff;
	border-radius: 2px;
	margin-right: 5px;
	position: relative;
	bottom: 1px;
}
	input[type=text], input[type=password], input[type=datetime], input[type=date], input[type=month], input[type=time], input[type=week], input[type=number], input[type=email], input[type=url], input[type=search], input[type=tel], input[type=color], select, textarea, .field {
    display: block;
	width: 100%;
	height: 56px;
	padding: 8px 12px;
	border: 0;
	border-radius: 3px;
	background-color: #f4f7f8;
	box-shadow: none;
	color: #555;
    font-size: 17px;
	font-family: 'Noto Sans JP';
	vertical-align: middle;
	line-height: 45px;
	transition: background-color .24s ease-in-out;
	box-sizing: border-box;
}
/*送信ボタンのデザイン変更*/
#formbtn{
	width:360px;
	margin:24px auto 16px;
	float: none;
	cursor: pointer;
	background: none;
}
/* お問い合わせフォーム */
#wpcf7-f17-p15-o1-ve-your-name,
#wpcf7-f17-p15-o1-ve-your-company,
#wpcf7-f17-p15-o1-ve-your-email,
#wpcf7-f17-p15-o1-ve-your-tel,
#wpcf7-f17-p15-o1-ve-your-postalcode,
#wpcf7-f17-p15-o1-ve-your-address,
#wpcf7-f17-p15-o1-ve-your-message{
    display: none;
}
/* page　contact */


@media all and (max-width:1440px){
	body{
		min-width:1160px;
	}
	.lineup2 {
		margin-bottom: 16vw;
	}
	.lineup2 .lineup_txt{
		top:8vh;
	}
	.lineup_contents_box p.copy{
		padding: 20px 20px 20px 40px;
		font-size: 36px;
	}
	.lineup3 {
		margin-bottom:12vw;
		align-items:flex-start;
	}
	.lineup_contents_box.lineup3 p.copy{
		width: 100%;
		font-size:24px;
		letter-spacing: 5px;
	}
	.lineup3:nth-child(2n-1) p.copy{
		padding: 20px 40px 20px 20px;
		border-left: 4px #20B90C solid;
	}
	.lineup3:nth-child(2n) p.copy{
		padding: 20px 20px 20px 40px;
		border-right: 4px #20B90C solid;
	}
}


@media all and (max-width:1080px){
	.inner1080{
		width:90%;
	}

/* 共通  */
/* 共通  */

/* header */
	.gnav_list li a{
		width:100%;
		font-size:1.85vw;
		padding:24px 16px;
		box-sizing:border-box;
	}
	.gnav_list li a span{
		font-size:1.25vw;
	}
/* header */

/* footer */
	.ft_menu_contents1 p{
		font-size:2vw;
		line-height:1.5;
	}
	.ft_menu_contents1 ul li a{
		width:120px;
		font-size:13px;
	}
/* footer */

	.lineup1{
		margin-bottom: 18vh;
	}
/* page　第二階層共通 */
}



@media (max-width: 640px){
	.pc{display:none;}
	.sp{display:block;}
	
	body{
    	min-width:auto;
	}
/* 共通  */
	h2{
		width:100%;
    	margin-bottom:3.2vh!important;
		font-size:11.75vw!important;
    	line-height: 1.1;
	}
	h2 span{
    	padding-bottom: 5vw;
		font-size:6.8vw!important;
	}
	h2 span:before{
		height:1px;
	}
	h2 span:after{
		height:1px;
    	bottom: 2vw;
	}
	h3{
		font-size: 7.5vw;
	}
	h3 span{
		font-size:4vw;
	}
	h4{
		font-size:4.5vw;
		margin:0 auto 12px;
	}
	h4:after{
		height:1px;
	}
/* 共通  */


/* header */
	.header-box h1 a{
		width:164px;
	}
/* header */
	.hero{
   		height:48vh;
		margin: 7.2vh auto 0;
		padding: 2.8vh 0 0;
	}
	.hero_img{
   		height:44vh;
	}
	.hero_img img{
		width:88%;
	}
	.page_main{
		padding:9.6vh 0 12vh;
	}
	.page_main:before{
		width:88%;
	}
	.page_main.page_main2:before{
		width:88%;
	}
	.page_mainimg{
		position:relative;
	}
	.page_maintxt{
	    margin-bottom:6vh;
	}
	.page_maintxt .link_btn{
	    padding: 5.6vw;
		font-size:3.8vw;
	}
	.page_main_contents .page_maintxt .copy{
	    width: 100%;
	    margin-bottom:4.8vh;
    	padding:4vw 1.6vw 4vw 4vw;
	    font-size:5.6vw;
	    border-left:4px #20B90C solid;
    	letter-spacing: 5px;
	}
	.page_main_contents .page_maintxt .copy.page_copy{
	    margin-bottom:0;
	}
	.page_main_contents2 .page_maintxt .copy{
	    width: 100%;
	    margin-bottom:4.8vh;
    	padding:4vw 4vw 4vw 1.6vw;
    	font-size:5.6vw;
    	border-right:4px #20B90C solid;
    	letter-spacing: 5px;
	}
	.page_main_contents2 .page_maintxt .copy.page_copy{
	    margin-bottom:0;
	}
	.page_mainimg{
		width: 96%;
		padding:3.2vw;
	}
	.page_main_contents .page_mainimg:after{
		width:18vw;
		background-position:right;
	}
	.page_main_contents2 .page_mainimg:after{
		width:18vw;
		background-position:left;
	}
	.main_accent1{
    	width: 36vw;
	}
	.company_accent{
		width: 24vw;
		height: 32.8vw;
	}
	.company_main:after{
    	width:80vw;
	    height:80vw;
   		bottom: -32vw;
	}
	.parallax_bg{
		height:40vh;
	}
	.gallery{
		padding:8vh 0;
	}
/* footer */
	footer{
		padding:6.4vh 0 3.2vh;
	}
	footer .ft_logo{
		width:56vw;
	}
	footer .ft_ttl{
    	margin:2.4vh 0 0;
		font-size:11.2vw;
	}
	footer .ft_ttl span{
		font-size:5.6vw;
	}
	.ft_contents p{
		font-size:3.3vw;
	}
	.copyright{
		margin: 4.8vh auto 0;
		padding:2.4vh 0 0;
		font-size: 2.75vw;
		text-align:center;
	}
/* footer */
	
/* page　company */
	.mission_txt{
		width:100%;
    	min-height: auto;
    	padding: 6.4vh 5vw 4vh;
	}
	.mission_txt:after{
		width:75vw;
		height:75vw;
	}
	.mission_img{
		width:100vw;
		height: 44vh;
		min-height: auto;
		position:relative;
	}
	.company_contents p, .service_contents p{
		width:95%;
        font-size: 3.4vw;
        text-align: justify;
	}
	.gallery_img {
		padding:8vh 0;
	}
	.gallery_img img{
		width:66%;
	}
	.gallery_img img:nth-child(2){
		margin:6.4% 0 0 21.6%;
	}
	.gallery_img img:nth-child(3){
		margin:6.4% 0 0 7%;
	}
	.grace{
		margin:0 auto 10.24vh;
	}
	.grace_txt{
		width:100%;
    	min-height: auto;
    	padding:2.4vh 5vw 4vh;
	}
	.grace .grace_img{
		width:100vw;
		height: 36vh;
		min-height: auto;
		position:relative;
	}
	.info{
		padding:7.2vh 0 12vh;
	}
	.info_table{
		width:96%;
	}
	.info_table th{
		width:27%;
		padding:1.6vh 1.2vw;
		font-size:3.5vw;
    	letter-spacing: .12em;
	}
	.info_table td{
		width:73%;
		padding:1.6vh 0 1.6vh 2vw;
		font-size:3.2vw;
	}
/* page　company */

	
/* page　service */
	.service_contents{
		padding-bottom:8vh;
	}
	.business{
		margin-top:6.4vh;
	}
	.business .business_img{
		width:100vw;
		height: 36vh;
		min-height: auto;
		position:relative;
	}
	.business_contents .business_txt{
		width:100%;
	    min-height:auto;
	}
	.business_txt p{
		width:100%;
		font-size:3.3vw;
	}
/* page　service */

/* page　quality */
	.process:before{
    	width: 200vw;
    	left: -50vw;
	}
	.process_contents_box{
		flex-wrap:wrap;
    	margin: 0 0 10vh 34px;
	}
	.process_contents_box:nth-child(2n){
    	margin: 0 34px 10vh 0;
	}
	.process_contents_box1:before{
		width: 12vw;
		height:calc(100% + 2.8vh);
		left: -9.6vw;
    	bottom: -2.8vh;
	}
	.process_contents_box2:after{
		width:12vw;
		height:calc(100% + 2.8vh);
		right:-9.6vw;
   		bottom: -2.8vh;
	}
	.process_txt, .process_img{
		width:100%;
	}
	.process_txt p{
    	padding:5% 5vw;
        font-size: 3.2vw;
        text-align: justify;
	}
/* page　quality */
/* page　lineup */
	.lineup_contents{
		margin-bottom:8vh;
	}
	.lineup1{
		margin-bottom:12vh;
	}
	.lineup1:after{
		width:75vw;
		height:75vw;
	}
	.lineup1 .lineup_txt{
		top:-10vw;
	}
	.lineup1 p.copy,.lineup2 p.copy ,.lineup3 p.copy{
		font-size:4.8vw;
	}
	.lineup1 p.copy{
    	padding: 4vw 4.8vw 4vw 4vw;
    	border-left:4px #20B90C solid;
    	letter-spacing: 1.6vw;
	}
	.lineup2 {
		width:100%;
	}
	.lineup2 p.copy{
    	padding: 4vw 4vw 4vw 4.8vw;
    	border-right:4px #20B90C solid;
    	letter-spacing: 1.6vw;
	}
	.lineup1 p.lineup_detail{
		width: 92%;
		margin-top: 5vw;
		margin-left: 8%;
		font-size: 3.3vw;
	}
	.lineup_contents_box table{
		width: 92%;
		margin: 5vw auto 0;
	}
	.lineup_contents_box th {
		width:18vw;
		padding:3.2vw 2vw;
        font-size: 3.3vw;
	}
	.lineup_contents_box td{
		width:calc( 100% - 18vw );
		padding:3.2vw 2vw;
        font-size: 3.2vw;
		line-height:1.8;
	}
	.lineup1 .lineup_txt table{
		width: 92%;
        margin:3vw 0 8vh 8%;
	}
	.lineup1 .lineup_txt table:last-child{
        margin:0 0 0 8%;
	}
	.lineup2{
		margin-bottom:10vh;
	}
	.lineup2 .lineup_txt{
		width: 90%;
		top:31.2vh;
		right: 5%;
	}
	.lineup2 .lineup_gallery{
		width:85vw;
		margin-top:6vw;
		margin-left: 0;
	}
	.lineup2 .lineup_detail{
	    margin-top: 28vh;
    	width:90%;
		margin:62vw 0 0 5%;
	    font-size:3.3vw;
	}
	.lineup3{
		width:100%;
		margin-bottom:10vh;
	}
	.lineup3:last-child{
		margin-bottom:10vh;
	}
	.lineup3 p{
		font-size: 3.3vw;
	}
	.lineup3 p.lineup_detail{
		margin-top:3vw;
	}
	.lineup3 table{
		width:100%;
	    max-width:none;
	}
	.lineup3 .lineup_txt{
		width:92%;
		margin:4.8vh auto 0;
		order: 2;
	}
	.lineup_contents_box.lineup3 p.copy{
        font-size: 4.8vw;
	}
	.lineup3:nth-child(2n) p.copy{
    	padding: 4vw 4vw 4vw 4.8vw;
    	border-right:4px #20B90C solid;
    	letter-spacing: 1.6vw;
	}
	.lineup3:nth-child(2n-1) p.copy{
    	padding: 4vw 4.8vw 4vw 4vw;
    	border-left:4px #20B90C solid;
    	letter-spacing: 1.6vw;
	}
	.lineup3 .lineup3_img{
		width:100%;
		order: 1;
	}
	.mango_bg{
		height: 36vh;
	}
	.butter_beans_bg{
		width:100%;
		height: 36vh;
	}
/* page　lineup */
	
	.page_contact h2{
        width: 100%;
		margin-top:5vh;
	}
	.page_contents_box{
		padding:8vw;
	}
/* お問い合わせフォーム */
	.inquiry{
		margin:0 auto;
	}
    .inquiry tr{
	    display:flex;
	    flex-wrap:wrap;
	    margin-bottom: 12px;
	    border: #eee solid 1px;
    }
    .inquiry th{
	    width:100%;
    }
    .inquiry td{
	    width:100%;
	    padding: 8px;
	    font-size: 12px;
    }
    #formbtn{
	    width:90%;
	    font-size:3.75vw;
	    margin:8px auto 18px;
	}
	input[type=text], input[type=password], input[type=datetime], input[type=date], input[type=month], input[type=time], input[type=week], input[type=number], input[type=email], input[type=url], input[type=search], input[type=tel], input[type=color], select, textarea, .field{
		font-size:3.7vw;
    	height: 44px;
	}
	.inquiry th{
		font-size:3.7vw;
	}
	.inquiry textarea{
		font-size:3.7vw;
	}
/* お問い合わせフォーム */

/* 個人情報保護方針 */
    .page_privacy{
    	margin-top: 24px;
	 }
	.page_privacy h4{
    	margin:24px auto 0;
	}
    .page_privacy p{
        margin:8px auto 0;
        font-size: 3vw;
    }
/* 個人情報保護方針 */
}
