/*
Theme Name:     トモエミール
Author:         HINET
Version:        0.0.1
*/

@import url('reset.css');



/*
_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
_|                                                    _|
_|  SP and share                                      _|
_|                                                    _|
_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
*/

/*---------------------------------------------------------------

  Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html

-------------------------------------------------------------- */
* {
/*	font-family: "Roboto", "UD Shin Go Medium", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", Hiragino Kaku Gothic ProN, "Meiryo", sans-serif;*/
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
input,
textarea,
select {
/*	font-family: "Roboto", "UD Shin Go Medium", "Yu Gothic", "游ゴシック", "YuGothic", "游ゴシック体", Hiragino Kaku Gothic ProN, "Meiryo", sans-serif;*/
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.fntMincho {
	font-family: 'Sawarabi Mincho', serif !important;
}
.fntNormal {
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif !important;
}

body {
	font-size: 15px;
	font-size: 1.5rem;
/*	line-height: 1.0;*/
	color: #000;
	background: #fff;
	-webkit-text-size-adjust: 100%; /* スマートフォンを横向きにした時に、フォントサイズが自動的に大きくなるのを防ぐ */
}
body {	/* for google material icons */
	text-rendering: optimizeLegibility;
	font-kerning: normal;               
	font-variant-ligatures: common-ligatures contextual;
	font-feature-settings: "kern", "liga", "clig", "calt";
}

/* loading */
.loading {
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,1.0);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 20000;
}
.loading img.loading_img {
	width: 48px;
	height: 48px;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -100px;
	margin-left: -12px;
}
.loading img.loading_title {
	height: 45px;
	width: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -45px;
	margin-left: -90px;
}


/*---------------------------------------------------------------

  Script

-------------------------------------------------------------- */
/* + jquery.inview.js */
.sc_fade_top,
.sc_fade_bottom,
.sc_fade_left,
.sc_fade_right {
	transition: all 2000ms;
	opacity: 0;
	visibility: hidden;
	overflow-x: hidden !important;
}
.sc_fade_top    {  transform: translate(  0px, -50px);}
.sc_fade_bottom {  transform: translate(  0px,  50px);}
.sc_fade_left   {  transform: translate(-50px,   0px);}
.sc_fade_right  {  transform: translate( 50px,   0px);}
.sc_fadein {
	opacity: 1;
	visibility: visible;
	transform: translate(0px, 0px);
}
/* css only(最初にすべて表示される) */
.fade_top    {  animation: fadeIn_top    2s ease 0s 1 normal;	}
.fade_bottom {  animation: fadeIn_bottom 2s ease 0s 1 normal;	}
.fade_left   {  animation: fadeIn_left   2s ease 0s 1 normal;	}
.fade_right  {  animation: fadeIn_right  2s ease 0s 1 normal;	}
@keyframes fadeIn_top {
	0% {	opacity: 0;
		transform: translate(0px, -50px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@-webkit-keyframes fadeIn_top {
	0% {	opacity: 0;
		transform: translate(0px, -50px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@keyframes fadeIn_bottom {
	0% {	opacity: 0;
		transform: translate(0px, 50px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@-webkit-keyframes fadeIn_bottom {
	0% {	opacity: 0;
		transform: translate(0px, 50px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@keyframes fadeIn_left {
	0% {	opacity: 0;
		transform: translate(-50px, 0px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@-webkit-keyframes fadeIn_left {
	0% {	opacity: 0;
		transform: translate(-50px, 0px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@keyframes fadeIn_right {
	0% {	opacity: 0;
		transform: translate(50px, 0px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}
@-webkit-keyframes fadeIn_right {
	0% {	opacity: 0;
		transform: translate(50px, 0px);	}
	100% {	opacity: 1;
		transform: translate(0px, 0px);		}
}

/*---------------------------------------------------------------

  Layout

-------------------------------------------------------------- */

/*
LAYOUT: Two columns
DESCRIPTION: Two-column fixed layout with one sidebar right of content
*/
#mainImageWrap {
	position: relative;
	padding-bottom: 4.6vw;
	background-image: url(../images/top/keyvisual.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}


#main {
	background-color: #fff;
}
.container {
	padding: 40px 0;
}
.container .content {
	margin: 0 5vw;
}



#footer {
	clear: both;
	width: auto;
}

.br_spnone {
	display: none;
}
.br_pcnone {
	display: block;
}

/*---------------------------------------------------------------

  Fonts

-------------------------------------------------------------- */


/*---------------------------------------------------------------

  Structure

-------------------------------------------------------------- */

/* The main theme structure */
#colophon,
#main {
	width: auto;
}


/*---------------------------------------------------------------

  Global Elements

-------------------------------------------------------------- */
a:link {
	color: #000f5a;
}
a:visited {
	color: #000f5a;
}
a:active,
a:hover {
	color: #000f5a;
}
img {
	vertical-align: text-bottom;
}
strong {
	font-weight: bold;
}
.align_center {	text-align: center !important;	}
.align_left   {	text-align: left !important;	}
.align_right  {	text-align: right !important;	}
.fntWeightNml {	font-weight: normal !important; }
/* nowarap */
.nowrap {
	white-space: nowrap !important;
}
/* Image */
.responsiveImg img,
.responsiveImg {
	max-width: 100%;
	height: auto;
}
img.alignleft, img.alignright, img.aligncenter {
	margin-bottom: 0;
}
.alignright, img.alignright,
.alignleft, img.alignleft {
	clear: both;
	display: block;
	float: none;
	margin-left: auto;
	margin-right: auto;
	margin-top: 0;
}
/* margin */
.mgall0,      .mgAll0		{ margin: 0      !important; }
.mg0auto,     .mg0Auto		{ margin: 0 auto !important; }
.mgtop0,      .mgTop0		{ margin-top:    0   !important; }
.mgtop05em,   .mgTop05em	{ margin-top:    .5em !important; }
.mgtop1em,    .mgTop1em		{ margin-top:    1em !important; }
.mgtop2em,    .mgTop2em		{ margin-top:    2em !important; }
.mgtop3em,    .mgTop3em		{ margin-top:    3em !important; }
.mgtop4em,    .mgTop4em		{ margin-top:    4em !important; }
.mgbottom0,   .mgBottom0	{ margin-bottom: 0   !important; }
.mgbottom05em,.mgBottom05em	{ margin-bottom: .5em!important; }
.mgbottom1em, .mgBottom1em	{ margin-bottom: 1em !important; }
.mgbottom2em, .mgBottom2em	{ margin-bottom: 2em !important; }
.mgbottom3em, .mgBottom3em	{ margin-bottom: 3em !important; }
.mgbottom4em, .mgBottom4em	{ margin-bottom: 4em !important; }
.ml05em {	margin-left: .5em !important; }
.ml1em  {	margin-left: 1em !important; }

/* wrap */
.nowrap {
	white-space: nowrap;
}



/*---------------------------------------------------------------

  Header

-------------------------------------------------------------- */
#header {
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 60px;
	padding: 0;
	margin: 0;
	z-index: 1500;
	background-color: rgba(256,256,256,1);
/*	box-shadow: 0 0 10px rgba(0,0,0,0.1);*/
}
.headerTop {
	background-color: rgba(256,256,256,0) !important;
	transition: background-color 1.0s ease;
}
.headerTop.is-scroll {
	background-color: rgba(256,256,256,1) !important;
}
#masthead {
	position: relative;
	width: auto;
	margin: 0;
	padding: 0;
}

/* site title */
#siteTitle {
	position: absolute;
	top: 10px;
	left: 10px;
	height: 30px;
	width: auto;
	transition: all .2s;
}
#siteTitle img {
	display: block;
	height: 40px;
	width: auto;
}
/* SP Nav */
#gNavSpBtn {
	position: absolute;
	top: 0;
	right: 0;
	width: 60px;
	height: 60px;
	cursor: pointer;
	text-align: center;
/*	background: #4caf50;*/
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .2s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 60px;
	height: 60px;
}
.menu-trigger span {
	position: absolute;
	left: 15px;
	width: 30px;
	height: 3px;
	border-radius: 3px;
}
.menu-trigger span:nth-of-type(1) {
	top: 20px;
	background-color: #000f5a;
}
.menu-trigger span:nth-of-type(2) {
	top: 29px;
	background-color: #000f5a;
}
.menu-trigger span:nth-of-type(3) {
	top: 38px;
	background-color: #000f5a;
}
.headerTop .menu-trigger span:nth-of-type(1),
.headerTop .menu-trigger span:nth-of-type(2),
.headerTop .menu-trigger span:nth-of-type(3) {
	background-color: #fff !important;
}
.headerTop.is-scroll .menu-trigger span:nth-of-type(1),
.headerTop.is-scroll .menu-trigger span:nth-of-type(2),
.headerTop.is-scroll .menu-trigger span:nth-of-type(3) {
	background-color: #000f5a !important;
}
#gNavSpBtn.active .menu-trigger span:nth-of-type(1) {
	-webkit-transform: translateY(9px) rotate(-45deg);
	transform: translateY(9px) rotate(-45deg);
	background-color: #000f5a !important;
}
#gNavSpBtn.active .menu-trigger span:nth-of-type(2) {
	opacity: 0;
}
#gNavSpBtn.active .menu-trigger span:nth-of-type(3) {
	-webkit-transform: translateY(-9px) rotate(45deg);
	transform: translateY(-9px) rotate(45deg);
	background-color: #000f5a !important;
}
/* gNavSp */
#gNavSp {
	display: none;
	position: absolute;
/*	top: 60px;*/
	z-index: 1000;
	width: 100%;
	height: 100vh;
	background-color: rgba(256,256,256,.95);
	box-sizing: border-box;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
#gNavSpWrap {
	padding: 75px 5vw;
}

/* gNavSpMain */
#gNavSpMain ul {
	margin: 0;
}
#gNavSpMain ul li {
	margin: 15px 0;
}
#gNavSpMain ul li a {
	display: block;
	padding: 1.2em 1.6em;
	line-height: 1.5;
	color: #000;
	font-size: 1.6rem;
	font-weight: bold;
	text-decoration: none;
	background-image: url(../images/common/icon_arrow_black.png);
	background-repeat: no-repeat;
	background-size: 16px 16px;
	background-position: right 15px center;
	background-color: #ebecf2;
	border-radius: 50px;
}
#gNavSpMain ul li a:hover {
	background-color: #E3F2FD;
}
/* PC Nav */
#gNavPc {
	display: none;
}


/*---------------------------------------------------------------

  main / pageTitle / breadcrumb / pageSubTitle

-------------------------------------------------------------- */
/* main */
#main {
	margin-top: 60px;
	background-image: url(../images/common/main_bg.png);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: top center;
}
/* breadcrumb */
#breadcrumb {
	margin: 0;
	padding: 7px 10px;
	font-size: 1.2rem;
	line-height: 1.5;
}
#breadcrumb ul {
	margin: 0;
	padding: 0;	
}
#breadcrumb ul li {
	float: left;
	margin: 0 .7em 0 0;
	padding: 0;
	list-style-type: none;	
}
#breadcrumb ul li,
#breadcrumb ul li a {
	color: #000f5a;
}
/* page title */
#pageTitle {
	padding: 1.7em 10px 2.5em;
}
#pageTitle h1 {
	font-size: 2.5rem;
	font-weight: bold;
	color: #000f5a;
}
#pageTitle h1 span {
	margin-top: .3em;
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	color: #5c6280;
}
/* page sub title */
#pageSubTitle {
/*	margin-left: 5vw;*/
	padding-top: 9vw;
	position: relative;
}
#pageSubTitle.company {
	padding-top: 2vw;
}
#pageSubTitle h2 {
	position: absolute;
	left: 0;
	top: 0;
	padding: 5vw;
	font-family: 'Sawarabi Mincho', serif !important;
	font-size: 1.9rem;
/*	font-weight: bold;*/
	line-height: 1.5;
	color: #fff;
/*	border-radius: 10px 10px 10px 0;*/
	border-radius: 0 10px 10px 0;
	z-index: 1;
}
#pageSubTitle h2 br {
	display: none;
}
#pageSubTitle h2.pageSubTitleProduct {
	width: 14em;
	background: #414a8d;
}
#pageSubTitle h2.pageSubTitleProductLine {
	width: 14em;
	background: #e28526;
}
#pageSubTitle h2.pageSubTitleFactory {
	width: 15em;
	background: #4a8c4d;
}
#pageSubTitle img {
	margin-left: 5%;
	width: 95%;
	border-radius: 0 0 0 10px;
}
#pageSubTitle.company img {
	border-radius: 10px 0 0 10px;
}

/*---------------------------------------------------------------

  to the top

-------------------------------------------------------------- */
div.tothetopfixed {
	position: fixed;
	width: 60px;
	height: 60px;
	right: 10px;
	bottom: 10px;
	z-index: 1500;
}
div.tothetopfixed img {
	width: 60px;
	height: 60px;	
}
div.tothetopfixed a {
	display: block;
	margin: 0;
}






/*---------------------------------------------------------------

  Footer

-------------------------------------------------------------- */
#footer {
	width: auto;
	padding: 35px 0;
	margin: 0;
	color: #000;
}
#colophon {
	margin: 0;
	padding: 0 15px;
}
.footerNav {
	margin: 0 0 25px;
}
.footerNav ul {
	display: flex;
	flex-wrap: wrap;
}
.footerNav ul li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 2%;
}
.footerNav ul li a {
	padding: .2em 0;
	font-size: 1.5rem;
	font-weight: bold;
	color: #000f5a;
	text-decoration: none;
}
.footerNav ul li:nth-child(3n) {
	margin-right: 0;
}
.footerInfo img {
	display: block;
	width: 200px;
	height: auto;
}
.footerAddr {
	margin: 1em 0;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #000f5a;
}
.footerTel {
	font-size: 1.2rem;
	font-weight: bold;
	line-height: 1.5;
	color: #000f5a;
}
.footerTel a {
	padding-left: .3em;
	font-size: 1.8rem;
	font-weight: bold;
	text-decoration: none;
}



/* copyright */
#copyright {
	padding: 30px 0 0;
	font-size: 1.1rem;
	font-weight: bold;;
	line-height: 1.5;
	text-align: center;
	color: #999;
}




/*---------------------------------------------------------------

  Top page

-------------------------------------------------------------- */

/*****************/
/*   Mai Image   */
/*****************/
#keyMsg {
	position: relative;
	width: 100%;
	margin: 0;
	padding: 60px 0 0;
}
#keyMsgMain {
	padding: 2em .2em .6em;
	text-align: center;
	font-size: max(3.5vw,18px);
	font-family: 'Sawarabi Mincho', serif !important;
	font-weight: bold;
	line-height: 1.5;
	color: #fff;
	text-shadow: 0 0 5px rgba(0,0,0,0.5);
}
#keyMsgSub {
	padding: 0 .5em;
	text-align: center;
	font-size: max(1.8vw,10px);
	line-height: 1.8;
	font-family: 'Sawarabi Mincho', serif !important;
	font-weight: bold;
	color: #fff;
	text-shadow: 0 0 3px rgba(0,0,0,0.5);
}

/**************/
/*   Swiper   */
/**************/
#swiperItem {
	padding: 20vw 0 0;
}
.mySwiper {
	padding: 0 25px !important;
}
.mySwiper .swiper-wrapper {
	transition-timing-function: linear !important;	/* 止まらずにスクロールさせる */
}
.swiper-slide {
	text-align: center;
	background: none;
	display: flex;
	justify-content: center;
	align-items: center;
}
.swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}



/***********************/
/*   Product Section   */
/***********************/
#topProductSection {	/* padding-top: toppage.js  */
	position: relative;
/*	background-color: #c00;*/
	height: auto;
}
#topProductLeft {
	position: absolute;
	left: 0;
	right: 5%;
	top: 0;
	z-index: 1;
	padding: 1.5em .5em 1.5em 1.5em;
	background-color: #4c578b;
	border-radius: 0 0 20px 0;
}
#topProductLeft br {
	display: none;
}
#topProductTitle {
	color: #fff;
	font-family: 'Sawarabi Mincho', serif !important;
	font-style: normal;
	font-size: clamp(2.0rem,3.3vw,4.0rem);

/*	font-family: "Zen Antique Soft", serif;
	line-height: 1.2;*/
}
#topProductSubTitle {
	margin-top: .5em;
	padding-left: clamp(25px,3.3vw,45px);
	color: #b4b8ca;
	font-weight: bold;
	font-size: clamp(1.5rem,2.6vw,2.9rem);
	background-image: url(../images/top/icon_topSubTitle.png);
	background-size: clamp(16px,2.6vw,32px) clamp(16px,2.6vw,32px);
	background-repeat: no-repeat;
	background-position: left center;
}
#topProductRight {
	position: absolute;
	left: 5%;
	top: 0;
	z-index: 0;
	padding: 1.5em 2em;
	background-color: #ebecf2;
	border-radius: 0 0 0 20px;
}
#topProductIntro {	/* padding-top,padding-left: toppage.js  */
	font-size: clamp(1.4rem, 2.0vw, 1.8rem);
	line-height: 1.8;
}



/********************/
/*   Line Section   */
/********************/
#topLineSection {
	padding-bottom: 40px;
}
#topLineTitle {
	text-align: center;
	color: #000f5a;
	font-family: 'Sawarabi Mincho', serif !important;
	font-style: normal;
	font-size: clamp(2.1rem,3.3vw,4.0rem);
	font-weight: 400;
/*	font-family: "Zen Antique Soft", serif;*/
}
#topLineSubTitleWrap {
	text-align: center;
	margin: .7em auto 2.0em;
	font-size: clamp(1.4rem,2.6vw,2.9rem);
}
#topLineSubTitle {
	display: inline-block;
	position: relative;
	padding-left: clamp(23px,3.3vw,45px);
	color: #4c578b;
	font-weight: bold;
	line-height: 1.0;
}
#topLineSubTitle::before {
	position: absolute;
	content: "";
	display: inline-block; 
	background-image: url(../images/top/icon_topSubTitle.png);
	width: clamp(16px,2.6vw,32px);
	height: clamp(16px,2.6vw,32px);
	background-size: clamp(16px,2.6vw,32px) clamp(16px,2.6vw,32px);
	background-repeat: no-repeat;
	top: calc(50% - .5em);
	left: 0;
}
#topLineBox {
	margin: 3% 5%;
	padding: 5%;
	overflow: hidden; /* scrollバーが表示される対策 */
	background: #f4f4f4;
	border-radius: 20px;
}
#topLineBoxRight p {
	font-size: clamp(1.5rem, 2.0vw, 1.8rem);
	line-height: 1.8;
}
/* swiper */
.swiper-container {
	position: relative;
	margin: 10px 30px 30px;
}
.swipItemName {
	padding: 1em 0 0;
	color: #000f5a;
	font-size: clamp(1.4rem, 2.0vw, 1.8rem);
	font-weight: bold;
	line-height: 1.5;
}
.swiper-container [class^="swiper-button-"]::after{
	font-size: 30px;
	color: #8b92b2;
}
.swiper-container .swiper-button-prev {
	left: -40px;
}
.swiper-container .swiper-button-next {
	right: -40px;
}


/***********************/
/*   Factory Section   */
/***********************/
#topFactorySection {
}
#topFactory,
#topCompany {
	padding: max(7%,30px) 0;
	text-align: center;
	position: relative;
	background-repeat: no-repat;
	background-size: cover;
}
#topFactory {
	background-image: url(../images/top/topFactory_bg.jpg);
	background-position: top center;
}
#topCompany {
	background-image: url(../images/top/topCompany_bg.jpg);
	background-position: center center;
}
#topFactory::after,
#topCompany::after {
	content: '';
	background-color: rgba(0,0,0,0.5);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	z-index: 0;
}
.topFactoryCopy {
	position: relative;
	z-index: 1;
	color: #fff;
	line-height: 1.0;
	font-size: clamp(1.4rem, 2.0vw, 1.8rem);
}
h2.topFactoryTitle {
	position: relative;
	z-index: 1;
	margin: 1.2em 0 1.0em;
	padding: 0;
	color: #fff;
	font-size: clamp(2.2rem, 3.1vw, 4.0rem);
	font-family: 'Sawarabi Mincho', serif !important;
}
#topFactorySection a {
	position: relative;
	z-index: 1;
	display: inline-block;
	margin: 0 auto;
	width: 12em;
	padding: 1em;
	line-height: 1.0;
	color: #000;
	font-size: clamp(1.4rem, 2.0vw, 1.7rem);
	text-decoration: none;
	background: #fff;
	border-radius: 5px;
}
#topFactorySection a:after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../images/common/icon_arrow_black.png);
	background-repeat: no-repeat;
	background-size: 20px 20px;
	background-position: right .3em center;
	top: 0;
	right: 0;
}


/***********************/
/*   Contact Section   */
/***********************/
#topContactSection {
	color: #000F5A;
	padding: 35px 5vw;
	background-color: #e5e7ee;
}
.topContactMsg {
	margin: 0 0 20px;
	font-weight: 600;
	font-size: 1.6rem;
	font-family: 'Sawarabi Mincho', serif !important;
	line-height: 2.0;
}
.topContactMsg br {
	display: none;
}
.topContactTel,
.topContactMail {
	text-align: center;
}
.topContactTel {
	margin: 0 0 20px;
}
.topContactMail {
	margin: 0;
}
.topContactTel p,
.topContactMail p {
	font-weight: bold;
	font-size: 1.5rem;
}
.topContactTel a {
	display: inline-block;
	padding: .5em 0 .6em 1.7em;
	font-weight: bold;
	font-size: 2.3rem;
	text-decoration: none;
	background-image: url(../images/common/icon_tel_blue.png);
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: left center;
	line-height: 1.0;
}
.topContactMail a {
	display: block;
	position: relative;
	margin: .7em auto 0;
	padding: .9em;
	width: 70vw;
	max-width: 230px;
	font-weight: bold;
	font-size: 16px;
	text-decoration: none;
	background-color: #fff;
	border-radius: 2em;
	border: 2px solid #000F5A;
	line-height: 1.0;
}
.topContactMail a::before {
	position: absolute;
	content: "";
	display: inline-block; 
	background-image: url(../images/common/icon_mail_blue.png);
	width: 24px;
	height: 24px;
	background-size: 24px 24px;
	background-repeat: no-repeat;
	top: calc(50% - 12px);
	left: 20px;
}


/******************/
/*   topMoreBtn   */
/******************/
.topMoreBtn {
	margin: 2.5em 0 .5em;
	text-align: center;
}
.topMoreBtn a {
	display: inline-block;
	position: relative;
	width: min(60vw,250px);
	padding: 1.2em 1em;
	color: #fff;
	text-decoration: none;
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	line-height: 1.0;
	border-radius: 28px;
	background: #000f5a;
}
.topMoreBtn a:after {
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	background-image: url(../images/common/icon_circle_white.png);
	background-repeat: no-repeat;
	background-size: 8px 8px;
	background-position: right 1em center;
	top: 0;
	left: 0;
}
.topMoreBtn a:hover {
	background: #26A69A;
}

.spDisp {
	display: block;
}
.pcDisp {
	display: none;
}

/*---------------------------------------------------------------

  Content

-------------------------------------------------------------- */
.content,
.content input,
.content textarea,
.content select {
	color: #000;
	font-size: 1.6rem;
	line-height: 2.0;
}
.content img {
	max-width: 100%;
	height: auto;
}
.content p,
.content ul,
.content ol,
.content dd,
.content pre,
.content hr {
	font-size: 1.5rem;
	margin-top: 1em;
	margin-bottom: 1.7em;
	line-height: 1.8;
}
.content h2 {
	margin: 2em 0 1em;
	color: #000f5a;
	font-weight: bold;
	font-size: 2.2rem;
	font-family: 'Sawarabi Mincho', serif;
	line-height: 1.5;
}
.content h3 {
	margin: 2em 0 1em;
	color: #000f5a;
	font-weight: bold;
	font-size: 1.8rem;
	line-height: 1.5;
}
.content table {
	width: 100%;
	font-size: 1.4rem;
	border-top: 1px solid #78909C;
	border-right: 1px solid #78909C;
}
.content table th,
.content table td {
	padding: .5em;
	border-bottom: 1px solid #78909C;
	border-left: 1px solid #78909C;
	background-color: #fff;
}
.content table th {
	text-align: center;
	font-weight: bold;
	color: #000f5a;
	background: #CFD8DC;
}

.content ol {
	margin-left: 2em;
}
.content ol li {
	list-style-type: decimal;
}


/*---------------------------------------------------------------

  Products

-------------------------------------------------------------- */
.productsIntro {
}
.productsIntro .contentsLeft {
	margin: 0;
}
.productsIntro .contentsRight img {
	width: 100%;
	height: auto;
}
.productsItem {
	margin-top: 50px;
	margin-bottom: 50px;
	padding: max(5vw,35px) 5vw;
	background: #e7e8ec;
	border-radius: 20px;
}
.content .productsItem h2 {
	margin: 0 0 1.5em;
	font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
.productsItem li {
	position: relative;
	margin: 0 0 3em 0;
}
.productsItem li:last-child {
	margin-bottom: 0;
}
.content .productsItem h3 {
	position: relative;
	display: inline-block;
	margin: 0 !important;
	padding: .5em 1em;
	font-size: 1.6rem;
	font-weight: bold;
	color: #fff;
	background-color: #000f5a;
	z-index: 2;
	border-radius: 5px 5px 5px 0;
}
.productsItem img {
	position: relative;
	margin: -1.5em 0 0 0;
	padding: 0;
	z-index: 1;
	border-radius: 0 5px 5px 5px;
}
.productsItem table {
	margin: 5px 0;
}
.productsInfo {
	padding: max(5vw,35px) 5vw;
	border-radius: 20px;
	background-image: url(../product/images/info_bg.jpg);
	background-size: cover;
}
.content .productsInfo h2 {
	margin-top: 0;
	color: #fff;
}
.content .productsInfo p {
	margin-bottom: 0;
	color: #fff;
}



/*---------------------------------------------------------------

  Products Line

-------------------------------------------------------------- */
/* TAB */
.content ul.tabLine {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
}
.content ul.tabLine li {
	display: flex;
	width: 49%;
	margin-bottom: 10px;
	border-bottom: 1px solid #000f5a;
}
.content ul.tabLine li:nth-child(2n) {
	width: 49%;
	padding-left: 2%;
}
.content ul.tabLine li a {
	width: 100%;
	display: block;
	padding: 1em .5em;
	color: #000f5a;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	border-radius: 10px 10px 0 0;
	background: #ebecf2;
}
.content ul.tabLine li a.paddingTop {
	padding-top: 1.8em;
}
.content ul.tabLine li.active a {
	color: #fff;
	background: #000f5a;
}


/* AREA */
.disp_area {
	display: none;
	opacity: 0;
	padding: 50px 0;
	background: #fff;
}
.disp_area.is-active {
	display: block;
	animation-name: LineDisplayAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
}
@keyframes LineDisplayAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
/* FLOW */
.content ul.line_flow {
	margin: 0;
}
.line_flow li {
	display: flex;
	justify-content: space-between;
}
.flowLeft {
	width: 45%;
	background-repeat: repeat-y;
	background-position: center top;
	background-size: 10px;
}
#line_roast .flowLeft {	background-image: url(../line/images/stepblock_line1_bg2.png); }
#line_ikako .flowLeft {	background-image: url(../line/images/stepblock_line2_bg2.png); }
#line_slice .flowLeft {	background-image: url(../line/images/stepblock_line3_bg2.png); }
#line_cut   .flowLeft {	background-image: url(../line/images/stepblock_line4_bg2.png); }
.flowLeft span {
	display: block;
	padding: 1em;
	margin-bottom: 1.5em;
	font-size: 1.5rem;
	font-weight: bold;
	text-align: center;
	color: #000f5a;
	background-color: #ebecf2;
	border-radius: 10px;
}
ul.line_flow li:first-child .flowLeft span {
	color: #fff;
}
#line_roast ul.line_flow li:first-child .flowLeft span { background-color: #7E57C2; }
#line_ikako ul.line_flow li:first-child .flowLeft span { background-color: #66BB6A; }
#line_slice ul.line_flow li:first-child .flowLeft span { background-color: #EC407A; }
#line_cut   ul.line_flow li:first-child .flowLeft span { background-color: #FF7043; }
ul.line_flow li:last-child .flowLeft span {
	margin-bottom: 0;
}
.flowRight {
	width: 50%;
	margin-bottom: 1.5em;
}
.content .flowRight h3 {
	margin: .5em 0;
	color: #000f5a;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.2;
}
.content .flowRight p {
	margin: 0;
	font-size: 1.4rem;
	line-height: 1.5;
}
.content .flowRight img {
	border-radius: 10px;
}


/*---------------------------------------------------------------

  Compnay

-------------------------------------------------------------- */
.content dl.companyInfo {
	background: rgba(256,256,256,.8);
}
.content dl.companyInfo dt {
	padding: 20px 15px 5px;
	font-weight: bold;
	color: #000f5a;
}
.content dl.companyInfo dd {
	padding: 0 15px 20px;
	margin: 0;
	border-bottom: 1px solid #e7e8ec;
}
.map-container {
	margin-top: 1em;
	width: 100%;
}

.map-container iframe {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}


/*---------------------------------------------------------------

  Contact

-------------------------------------------------------------- */
.container.pageContact {
	padding-top: 0;
}
.contactTelFax {
	margin: 50px 0;
	padding: 40px 0;
	text-align: center;
	line-height: 1.7;
	border-top: 1px dotted #ccc;
	border-bottom: 1px dotted #ccc;
}
.contactTelFax a {
	color: #000f5a;
	font-size: 2.2rem;
	font-weight: bold;
	text-decoration: none;
}
.contactTelFax span {
	padding-right: .5em;
	color: #000f5a;
	font-size: 1.6rem;
	font-weight: bold;
}



/*
_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
_|                                                    _|
_|  Tablet  748px ～ 1180px                           _|
_|                                                    _|
_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
*/
@media print, screen and (min-width:748px) {
	
	/*---------------------------------------------------------------

	  Layout

	-------------------------------------------------------------- */
	.br_spnone {
		display: block;
	}
	.br_pcnone {
		display: none;
	}
	.container {
		padding: 60px 0;
	}

	/*---------------------------------------------------------------

	  Structure

	-------------------------------------------------------------- */

	/*---------------------------------------------------------------

	  Header

	-------------------------------------------------------------- */
	#header {
		height: 80px;
	}
	#siteTitle {
		top: 15px;
		left: 15px;
	}
	#siteTitle img {
		height: 50px;
		width: auto;
	}
	/* SP Nav */
	#gNavSpBtn {
		width: 80px;
		height: 80px;
	}
	.menu-trigger {
		width: 80px;
		height: 80px;
	}
	.menu-trigger span {
		left: 20px;
		width: 40px;
		height: 4px;
		border-radius: 4px;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 25px;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 39px;
	}
	.menu-trigger span:nth-of-type(3) {
		top: 52px;
	}
	#gNavSpBtn.active .menu-trigger span:nth-of-type(1) {
		-webkit-transform: translateY(14px) rotate(-45deg);
			transform: translateY(14px) rotate(-45deg);
	}
	#gNavSpBtn.active .menu-trigger span:nth-of-type(2) {
		opacity: 0;
	}
	#gNavSpBtn.active .menu-trigger span:nth-of-type(3) {
		-webkit-transform: translateY(-14px) rotate(45deg);
		transform: translateY(-14px) rotate(45deg);
	}
	#gNavSp {

	}
	#gNavSpWrap {
		padding: 95px 5vw;
	}

	/* gNavSpMain */
	#gNavSpMain ul li {
		margin: 15px 0;
	}
	#gNavSpMain ul li a {
		font-size: 1.8rem;
		background-size: 20px 20px;
		background-position: right 20px center;
	}


	/*---------------------------------------------------------------
	
	  main / pageTitle / breadcrumb / pageSubTitle
	
	-------------------------------------------------------------- */
	/* main */
	#main {
		margin-top: 80px;
	}
	/* breadcrumb */
	#breadcrumb {
		padding: 15px;
		font-size: 1.4rem;
	}
	/* page title */
	#pageTitle {
		padding: 3.5em 5vw 5.5em;
	}
	#pageTitle h1 {
		font-size: 3.8rem;
	}
	#pageTitle h1 span {
		margin-top: .5em;
		font-size: 2.2rem;
	}
	/* page sub title */
	#pageSubTitle {
		margin-left: 5vw;
		padding-top: 8vw;
	}
	#pageSubTitle.company {
		padding-top: 1vw;
	}
	#pageSubTitle h2 {
		padding: 5vw;
		font-size: 3.5rem;
		border-radius: 15px 15px 15px 0;
	}
	#pageSubTitle h2 br {
		display: block;
	}
	#pageSubTitle h2.pageSubTitleProduct 	 { width:  10em; }
	#pageSubTitle h2.pageSubTitleProductLine { width:   9em; }
	#pageSubTitle h2.pageSubTitleFactory     { width: 9.5em; }
	#pageSubTitle img {
		margin-left: 0;
		width: 100%;
		border-radius: 0 0 0 15px;
	}
	#pageSubTitle.company img {
		border-radius: 15px 0 0 15px;
	}




	/*---------------------------------------------------------------

	  to the top

	-------------------------------------------------------------- */
	div.tothetopfixed {
/*		width: 90px;
		height: 90px;*/
		right: 20px;
		bottom: 20px;
		z-index: 1500;
	}
	div.tothetopfixed img {
/*		width: 90px;
		height: 90px;*/
	}







	/*---------------------------------------------------------------

	  Footer

	-------------------------------------------------------------- */
	#footer {
		padding: 40px 0;
	}
	#colophon {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
		justify-content: space-between;
		padding: 0 20px;
	}
	.footerNav {
		width: 65%;
		margin: 0;
	}
	.footerInfo {
		width: 35%;
		margin: 0;
	}
	.footerNav ul {
		justify-content: flex-end;
	}
	.footerNav ul li {
		width: auto;
		margin-right: 5%;
	}
	.footerNav ul li:nth-child(3n) {
		margin-right: 5%;
	}
	.footerNav ul li:last-child {
		margin-right: 0;
	}


	/* copyright */
	#copyright {
		padding: 0;
		font-size: 1.3rem;
	}





	/*---------------------------------------------------------------

	  Top page

	-------------------------------------------------------------- */
	/*****************/
	/*  Main Image   */
	/*****************/
	#keyMsg {
		padding-top: 80px;
	}

	/**************/
	/*   Swiper   */
	/**************/
	.mySwiper {
		padding: 0 30px !important;
	}


	/***********************/
	/*   Product Section   */
	/***********************/
	#topProductLeft {
		right: 60%;
		padding: 2em 2em 2em 5%;
		border-radius: 0 0 30px 0;
	}
	#topProductTitle {
	/*	font-size: max(3.3vw,26px);*/
	}
	#topProductTitle br {
		display: block;
	}
	#topProductRight {
		left: 10%;
		padding: 2em 3em;
		border-radius: 0 0 0 30px;
	}
	#topProductIntro {
	/*	font-size: min(2.1vw,16px);*/
	/*	line-height: 2.0; */
	}


	/********************/
	/*   Line Section   */
	/********************/
	#topLineSection {
		padding-bottom: 50px;
	}
	#topLineBox {
		margin: 3% 5%;
		padding: 5%;
		background: #f4f4f4;
		border-radius: 20px;
	}
	#topLineBoxLeft {
		float: left;
		width: 50%;
	}
	#topLineBoxRight {
		float: right;
		width: 45%;
	}


	/***********************/
	/*   Factory Section   */
	/***********************/
	#topFactorySection {
		display: flex;
		flex-direction: row;
	}
	#topFactory,
	#topCompany {
		width: 50%;
		padding: min(5%, 70px) 0;
	}
	h2.topFactoryTitle {
		margin: 1.0em 0 .9em;
	}
	#topFactorySection a:after {
		background-size: 24px 24px;
	}


	/***********************/
	/*   Contact Section   */
	/***********************/
	#topContactSection {
		padding: 45px 3vw;
	}
	.topContactWrap {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.topContactMsg {
		width: 100%;
		margin: 0 0 30px;
		text-align: center;
		font-size: 1.9rem;
		font-weight: 500;
	}
	.topContactTel,
	.topContactMail {
		width: 50%;
		margin: 0;
	}
	.topContactTel p,
	.topContactMail p {
		font-size: 1.7rem;
	}
	.topContactTel a {
		padding: .7em 0 .8em 1.7em;
		font-size: 2.6rem;
		background-size: 34px 34px;
	}
	.topContactMail a {
		margin: 1em auto 0;
		padding: .9em;
	}
	.topContactMail a::before {
			width: 24px;
		height: 24px;
		background-size: 24px 24px;
		top: calc(50% - 12px);
		left: 20px;
	}


	/******************/
	/*   topMoreBtn   */
	/******************/
	.topMoreBtn {
		text-align: right;
	}
	.topMoreBtn a {
		font-weight: normal;
		font-size: 18px;
		border-radius: 30px;
	}

	/*---------------------------------------------------------------

	  content

	-------------------------------------------------------------- */
	.content {
	}
	.content p,
	.content ul,
	.content ol,
	.content dd,
	.content pre,
	.content hr {
		font-size: 1.6rem;
	}
	.content h2 {
		font-size: 3.0rem;
	}
	.content h3 {
		font-size: 2.2rem;
	}
	.content table {
		font-size: 1.6rem;
	}



	/*---------------------------------------------------------------

	  Products

	-------------------------------------------------------------- */
	.productsIntro {
	}
	.productsIntro .contentsLeft {
		float: left;
		width: 58%;
		margin: 0;
	}
	.productsIntro .contentsRight {
		float: right;
		width: 37%;
	}
	.productsItem h3 {
		font-size: 1.7rem;
	}
	.productsItem ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.productsItem ul li {
		width: 47.5%;
	}
	.productsItem ul li:nth-last-child(2) {
		margin-bottom: 0;
	}

	/*---------------------------------------------------------------

	  Products Line

	-------------------------------------------------------------- */
	/* TAB */
	.content ul.tabLine li {
		width: 23.5%;
	}
	.content ul.tabLine li:nth-child(2),
	.content ul.tabLine li:nth-child(3),
	.content ul.tabLine li:nth-child(4) {
		width: 23.5%;
		padding-left: 2%;
	}
	/* FLOW */
	.flowLeft {
		width: 45%;
		background-size: 20px;
	}
	.flowRight {
		width: 50%;
		margin-bottom: 2em;
	}
	.flowLeft span {
		padding: 1.5em 1em;
		font-size: 1.8rem;
		border-radius: 10px;
	}
	.content .flowRight h3 {
		font-size: 1.8rem;
	}
	.content .flowRight p {
		font-size: 1.6rem;
	}


	/*---------------------------------------------------------------

	  Company

	-------------------------------------------------------------- */
	.content dl.companyInfo {
		display: flex;
		flex-wrap: wrap; /* 折り返しを許可 */
		width: 100%;
	}

	.content dl.companyInfo dt {
		padding: 25px;
		flex-basis: 30%; /* ラベルの幅 */
		box-sizing: border-box;
		border-bottom: 1px solid #e7e8ec;
	}

	.content dl.companyInfo dd {
		padding: 25px;
		flex-basis: 70%; /* 内容の幅 */
		box-sizing: border-box;
		margin: 0; /* dd特有の余白を消す */
	}


	/*---------------------------------------------------------------

	  Contact

	-------------------------------------------------------------- */
	.contactTelFax {
		margin: 60px 0;
		padding: 40px 0;
	}
	.contactTelFax a {
		font-size: 2.8rem;
	}
	.contactTelFax span {
		font-size: 1.8rem;
	}





}



/*
_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
_|                                                    _|
_|  PC  1180px～                                      _|
_|                                                    _|
_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
*/
@media print,screen and (min-width:1180px) {

	/*---------------------------------------------------------------

	  Layout

	-------------------------------------------------------------- */
	.container {
		padding: 100px 20px;
	}
	.container .content {
		max-width: 1180px;
		margin: 0 auto;
	}



	/*---------------------------------------------------------------

	  Structure

	-------------------------------------------------------------- */

	/*---------------------------------------------------------------

	  Global Elements

	-------------------------------------------------------------- */
	/* Images */
	.alignright, img.alignright,
	.alignleft, img.alignleft {
		display: inline;
		margin-bottom: 2em;	
	}
	.alignright, img.alignright{
		float: right;
		margin-left: 2em;
	}
	.alignleft, img.alignleft {
		float: left;
		margin-right: 2em;
	}


	/*---------------------------------------------------------------

	  Header

	-------------------------------------------------------------- */
	#header {
		height: 100px;
	}
	#siteTitle {
		top: 20px;
		left: 15px;
	}
	#siteTitle img {
		height: 60px;
		width: auto;
	}

	#gNavSpBtn {
		display: none;
	}


	/* PC Nav */
	#gNavPc {
		display: block;
		position: absolute;
		top: 25px;
		right: 10px;
	}
	#gNavPc li {
		float: left;
		margin-right: 1.8em;
	}
	#gNavPc li a {
		display: block;
		padding: 0;
		font-size: 1.8rem;
		font-weight: bold;
		line-height: 50px;
		text-decoration: none;
		color: #000f5a;
	}
	#gNavPc li a:hover {
		color: #1E88E5;
	}
	#gNavPc li.gnavpcContact {
		margin-right: .8em;
	}
	#gNavPc li.gnavpcContact a {
		padding: 0 1.5em;
		border: 2px solid #000f5a;
		border-radius: 27px;
	}
	#gNavPc li.gnavpcContact a:hover {
		color: #fff;
		background-color: #000f5a;
	}
	.headerTop #gNavPc li a {
		color: #fff;
	}
	.headerTop #gNavPc li a:hover {
		color: #000f5a;
	}
	.headerTop #gNavPc li.gnavpcContact a {
		border: 2px solid #fff;
	}
	.headerTop #gNavPc li.gnavpcContact a:hover {
		color: #000f5a;
		background-color: #fff;
	}
	.headerTop.is-scroll #gNavPc li a {
		color: #000f5a;
	}
	.headerTop.is-scroll #gNavPc li a:hover {
		color: #f00;
	}
	.headerTop.is-scroll #gNavPc li.gnavpcContact a {
		border: 2px solid #000f5a;
	}
	.headerTop.is-scroll #gNavPc li.gnavpcContact a:hover {
		color: #fff;
		background-color: #000f5a;
	}


	/*---------------------------------------------------------------
	
	  main / pageTitle / breadcrumb / pageSubTitle
	
	-------------------------------------------------------------- */
	/* main */
	#main {
		margin-top: 100px;
	}
	/* breadcrumb */
	#breadcrumb {
		padding: 20px 15px;
		font-size: 1.4rem;
	}
	#breadcrumb ul {
		max-width: 1180px;
		margin: 0 auto;
	}
	/* page title */
	#pageTitle {
		padding: 5.0em 15px 7.0em;
	}
	#pageTitle h1 {
		max-width: 1180px;
		margin: 0 auto;
		font-size: 4.5rem;
	}
	#pageTitle h1 span {
		font-size: 2.4rem;
	}
	/* page sub title */
	#pageSubTitle {
		margin-left: calc( ( 100vw - 1180px ) / 2 );
		padding-top: 5vw;
	}
	#pageSubTitle h2 {
		padding: 3vw;
		font-size: 3.5rem;
		border-radius: 20px 20px 20px 0;
	}
	#pageSubTitle h2.pageSubTitleProduct {	width: 10em;	}
	#pageSubTitle img {
		width: 100%;
		border-radius: 0 0 0 20px;
	}
	#pageSubTitle.company img {
		border-radius: 20px 0 0 20px;
	}




	/*---------------------------------------------------------------

	  Footer

	-------------------------------------------------------------- */
	#footer {
		padding: 60px 0;
	}
	#colophon {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 20px;
	}
	.footerNav ul li a {
		font-size: 1.6rem;
	}
	.footerInfo img {
		width: 250px;
	}
	.footerAddr {
		margin: 15px 0;
		font-size: 1.6rem;
	}
	.footerTel {
		font-size: 1.4rem;
	}
	.footerTel a {
		padding-left: .3em;
		font-size: 2.0rem;
	}


	/*---------------------------------------------------------------

	  Top page

	-------------------------------------------------------------- */
	/******************/
	/*   Main Image   */
	/******************/
	#keyMsg {
		padding-top: 100px;
	}

	/**************/
	/*   Swiper   */
	/**************/
	.mySwiper {
		padding: 0 35px !important;
	}


	/***********************/
	/*   Product Section   */
	/***********************/
	#topProductLeft {
		padding: 3em 0;
		padding-left: calc( (100vw - 1120px ) / 2 );	/* 1180px-(最低padding30px*2)=1120px */
	}
	#topProductTitle {
	/*	font-size: min(3.3vw,40px);*/
	}
	#topProductRight {
		padding-top: 3em;
		padding-bottom: 3em;
		padding-right: calc( (100vw - 1120px ) / 2);	/* 1180px-(最低padding30px*2)=1120px */
		padding-left: 4em;
	}


	/********************/
	/*   Line Section   */
	/********************/
	#topLineSection {
		max-width: 1480px;
		margin: 0 auto;
		padding-bottom: 60px;
	}
	/* swiper */
	.swiper-container {
		margin: 10px 40px 0;
	}
	.swiper-container [class^="swiper-button-"]::after{
		font-size: 40px;
	}
	.swiper-container .swiper-button-prev {
		left: -40px;
	}
	.swiper-container .swiper-button-next {
		right: -40px;
	}


	/***********************/
	/*   Factory Section   */
	/***********************/
	#topFactory,
	#topCompany {
	}
	


	/***********************/
	/*   Contact Section   */
	/***********************/
	#topContactSection {
		padding: 55px 5vw;
	}
	.topContactWrap {
		max-width: 1180px;
		margin: 0 auto;
	}
	.topContactMsg {
		width: 40%;
		margin: 0x;
		text-align: left;
		font-size: 2.0rem;
	}
	.topContactMsg br {
		display: block;
	}
	.topContactTel,
	.topContactMail {
		width: 30%;
		margin: 0;
	}
	.topContactTel p,
	.topContactMail p {
		font-size: 1.8rem;
	}
	.topContactTel a {
		padding: .6em 0 .8em 1.5em;
		font-size: 2.9rem;
		background-size: 40px 40px;
	}
	.topContactMail a {
		margin: 1.1em auto 0;
		padding: 1em;
	}
	.topContactMail a::before {
		width: 24px;
		height: 24px;
		background-size: 24px 24px;
		top: calc(50% - 12px);
		left: 20px;
	}


	.spDisp {
		display: none;
	}
	.pcDisp {
		display: block;
	}


	/*---------------------------------------------------------------

	  content

	-------------------------------------------------------------- */
	.content {
	}
	.content p,
	.content ul,
	.content ol,
	.content dd,
	.content pre,
	.content hr {
		font-size: 1.8rem;
	}
	.content h2 {
		font-size: 3.2rem;
	}
	.content h3 {
		font-size: 2.4rem;
	}
	.content .productsItem h3 {
		font-size: 2.0rem;
	}


	/*---------------------------------------------------------------

	  Products

	-------------------------------------------------------------- */
	.productsItem h3 {
		padding: .5em 2em;
	}
	.productsItem ul li {
		width: 47%;
	}


	/*---------------------------------------------------------------

	  Company

	-------------------------------------------------------------- */
	.content dl.companyInfo dt {
		padding: 35px;
	}
	.content dl.companyInfo dd {
		padding: 35px;
	}

	/*---------------------------------------------------------------

	  Contact

	-------------------------------------------------------------- */
	.contactTelFax {
		margin: 80px 0;
		padding: 50px 0;
	}
	.contactTelFax a {
		font-size: 3.2rem;
	}
	.contactTelFax span {
		font-size: 2.0rem;
	}



}