@charset "utf-8";

/* ========================================================================================

Name: design.css

Description: Base Design And Common Settings

Update: 2020.03.13

======================================================================================== */

/* fonts
-------------------------------------------------- */
@import url('https://fonts.googleapis.com/css?family=Roboto:400,500,600&display=swap');
@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,600,700&display=swap&subset=japanese');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;600&display=swap');

/* 全体共通
-------------------------------------------------- */
html {
	height:100%;
}

body {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Helvetica, Arial, sans-serif;
	/*font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;*/
	-webkit-text-size-adjust:100%;
	font-size:16px;
	font-weight:400;
	line-height:1.75em;
	color: #000000;
	text-align:center;
	height:100%;
	position:relative;
	overflow-x: hidden;
	height:100%;	
}
a {
	color: #333333;
	overflow: hidden;
	outline: none;
	text-decoration:none;
	transition:all ease-out 0.3s;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

a:hover {
	color:#1373f7;
	text-decoration: none;
	transition:all ease-out 0.3s;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

a:hover img {
	opacity:0.8;
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

*:hover {
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

.link_txt a {
	color: #cc0000;
	overflow: hidden;
	outline: none;
	text-decoration:underline;
}

.link_txt a:hover {
	color: #cc0000;
	text-decoration:none;
}

.clearfix:after {
	content: "."; display: block; clear: both; height: 0; line-height: 0; font-size: 0; visibility: hidden;
}

.clearfix {
	_height: 1px; min-height: 1px;
	*zoom: 1;
}

* html .clearfix {
	height: 1%;
	display: inline-block;
}

.rollover:hover{
	opacity:0.7;
	filter: alpha(opacity=70);
}

/* IE8以下でレイアウトが大崩れしないように */
header,
footer,
main,
article,
section,
aside {
	display:block;
}

i.fas {
	margin-right:5px;
}


.font-roboto {
	font-family: 'Roboto', sans-serif;
}

.font-Noto-Serif {
	font-family: 'Noto Serif JP', serif;
}

i.far {
	margin:0 5px;
}


@media screen and (min-width: 768px){
	
	a[href*="tel:"] {
		display:inline-block;
		line-height:1.33em;
		pointer-events: none;
		margin-bottom:-3px;
		text-decoration:none;
		color:#000;
	}
	
}






/* ========================================================================================

 SmartPhone
 
======================================================================================== */
@media screen and (max-width: 767px){
	
	html {
		height:100%;
	}
	
	body {
		-webkit-text-size-adjust:100%;
		font-size:14px;
		line-height:1.67em;
		height:100%;
		position:relative;
	}
	
}




/* HEADER
-------------------------------------------------- */

header {
	position:fixed;
	position:absolute;
	clear:both;
	width:100%;
	z-index:999;
	transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
	text-align:left;
}

header > .inner {
	height:100px;
	margin:0 60px;
	position:relative;
}

header nav a {
	color:#ffffff;
	text-decoration:none;
	font-size:15px;
	line-height:1em;
	display:block;
	padding:10px 10px;
	position:relative;
}

header nav a::after {
	position:absolute;
	content:"";
	width:0%;
	height:2px;
	background-color:#FFFFFF;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	transition: all 0.1s ease-in;
}

header nav a:hover {
	color:#ffffff;
}

header nav a:hover::after {
	transition: all 0.2s ease-out;
	width:100%;
}

header .logo {
	position:absolute;
	left:0;
	top:50px;
	z-index:5;
}

header .logo a {
	display:block;
}

header .phone {
	position:absolute;
	right:0;
	top:30px;
	font-size:24px;
}

header .phone a {
	font-family: 'Roboto', sans-serif;
	font-weight:500;
	color:#ffffff;
}

header .phone a i {
	font-size:80%;
}

header #global-nav {
	position:absolute;
	left:0;
	right:0;
	top:66px;
	text-align:right;
}

header #global-nav > ul {
	width:auto;
	margin:0 -10px;
}

header #global-nav > ul > li {
	display:inline-block;
}

header #global-nav > ul > li > a {
  padding-bottom: 20px;
}

header #global-nav li i {
	display:none;
}

.l-dropdown-menu {
  position: absolute;
  background-color: #fff;
  left: -60px;
  right: -60px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
  transform: translateY(-5px);
	transition: 0.10s cubic-bezier(0.19, 1, 0.22, 1);
}

.js-show-menu .l-dropdown-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

.l-dropdown-menu-inner {
  display: flex;
  max-width: 1130px;
  margin: auto;
  text-align: left;
  padding: 60px 0;
}

.l-dropdown-menu a {
  color: #000;
  font-weight: 600;
  padding: 20px 15px;
  font-size: 16px;
}

.l-menu-category {
  width: 33.62%;
  min-width: 260px;
  box-sizing: border-box;
  padding-right: 40px;
}

.l-menu-category .p-title-jp {
  display: block;
  font-size: 38px;
  font-weight: 600;
}
.l-menu-category .p-title-en {
  display: block;
  font-size: 15px;
  font-weight: 600;
  color: #1373f7;
  letter-spacing: 0.15em;
  margin-top: 20px;
}

.l-dropdown-menu ul {
  flex-grow: 1;
  display: flex;
  flex-wrap: wrap;
  grid-gap: 5%;
  width: 100%;
}

.l-dropdown-menu ul li {
  width: 45%;
  border: 1px #ccc;
  border-style: solid none;
  margin-top: -1px;
}
.l-dropdown-menu ul li a {
  display: block;
  display: flex;
}

.l-dropdown-menu ul li a:hover {
  color: #1373f7;
}

header #global-nav .l-dropdown-menu li i.fa-caret-right {
  display: block;
  color: #1373f7;
  font-size: 20px;
  padding-right: 5px;
}

header #global-nav .l-dropdown-menu li i.fa-chevron-right {
  display: none;
}



#btn-hamburger-menu {
	display:none;
}

@media screen and (min-width: 768px) and (max-width: 1000px){
	
	header > .inner {
		height:100px;
		margin:0 20px;
		position:relative;
	}
	
	header nav a {
		color:#ffffff;
		text-decoration:none;
		font-size:14px;
		line-height:1em;
		display:block;
		padding:10px 5px;
		position:relative;
	}

  .l-dropdown-menu {
    position: absolute;
    background-color: #fff;
    left: -20px;
    right: -20px;
    padding-right: 20px;
    padding-left: 20px;
  }
	
}

@media screen and (max-width: 767px){
	
	header {
		position:fixed;
		position:absolute;
		clear:both;
		width:100%;
		z-index:999;
		transition: all 0s linear;
		text-align:left;
	}
	
	header > .inner {
		height:80px;
		margin:0 15px;
		position:relative;
	}
	
	header nav a {
		color:#ffffff;
		text-decoration:none;
		font-size:15px;
		line-height:1em;
		display:block;
		padding:3px 10px;
	}
	
	header nav a::after {
		display:none;
	}
	
	header .logo {
		position:absolute;
		left:0;
		top:20px;
		width:180px;
	}
	
	header .logo img {
		width:100%;
		height:auto;
	}
		
	header .phone {
		position:absolute;
		right:50px;
		top:18px;
		font-size:24px;
	}
	
	header .phone a {
		font-family: 'Roboto', sans-serif;
		font-weight:500;
		color:#ffffff;
	}
	
	header .phone a i {
		font-size:100%;
	}
	
	header .phone a span {
		display:none;
	}
  
	body.navi-active {
    height: 100%;
    overflow: hidden;
  }
  
	.navi-active header {
		background-color:#333;
		transition: all 0.10s linear;
		transition: all 0.7s cubic-bezier(0.19, 1, 0.22, 1);
	}
	
	.navi-active header ,
	.navi-active header > .inner {
		height:100%;
	}
	
  #l-navigation-wrap {
		position: fixed;
    height: 100%;
		left:-15px;
		right:-15px;
    background-color: #333;
    z-index: 1;
    top: 0;
    display: none;
  }
  
	header #global-nav {
    position: fixed;
		text-align:left;
    z-index: 10;
    box-sizing: border-box;
    overflow-y: scroll;
    height: 100%;
	}
	
	header #global-nav > ul {
		width:auto;
		margin:0 0;
    margin-bottom: 67px;
		border:1px #ccc;
		border-top-style:solid;
	}
	
	header #global-nav > ul > li {
		display:block;
		border:1px #ccc;
		border-bottom-style:solid;
    background-color: #333;
	}
	
	header #global-nav > ul > li a {
		padding:15px 40px;
	}
	
	header #global-nav > ul > li i {
		display:inline;
		float:right;
	}

.l-dropdown-menu {
  position: relative;
  background-color: #666;
  left: inherit;
  right: inherit;
  overflow: hidden;
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
	transition: 0.50s cubic-bezier(0.19, 1, 0.22, 1);
}

.js-show-menu .l-dropdown-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}

.l-dropdown-menu-inner {
  display: block;
  max-width: 1130px;
  margin: auto;
  text-align: left;
  padding: 0;
}

header #global-nav .l-dropdown-menu a {
  color: #fff;
  font-weight: 400;
  padding: 15px 15px 15px 40px;
  font-size: 14px;
  box-sizing: border-box;
}

.l-menu-category {
  display: none;
}

.l-dropdown-menu ul {
  display: block;
  width: 100%;
  margin-top: 1px;
}

.l-dropdown-menu ul li {
  width: 100%;
  border: 1px #ccc;
  border-style: solid none none;
  margin-top: -1px;
}
.l-dropdown-menu ul li a {
  display: block;
  display: flex;
}

.l-dropdown-menu ul li a:hover {
  color: #1373f7;
}

header #global-nav .l-dropdown-menu li i.fa-caret-right {
  display: block;
  color: #fff;
  font-size: 13px;
  padding-right: 5px;
}

header #global-nav .l-dropdown-menu li i.fa-chevron-right {
  display: none;
}
	
	#btn-hamburger-menu {
		box-sizing:border-box;
		display:block;
		width:30px;
		height:30px;
		/*background:#7cba27;*/
		position:absolute;
		top:20px;
		right:0;
		z-index:1001;
	}
	
	.menu-trigger,
	.menu-trigger span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.menu-trigger {
		position: relative;
		width:28px;
		height:20px;
	}
	.menu-trigger span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		background-color: #fff;
		z-index:5;
	}
	.menu-trigger span:nth-of-type(1) {
		top: 0;
		width: 80%;
	}
	.menu-trigger span:nth-of-type(2) {
		top: 9px;
	}
	.menu-trigger span:nth-of-type(3) {
		bottom: 0;
		width: 80%;
	}	

	.menu-trigger.active span:nth-of-type(1) {
		-webkit-transform: translateY(9.5px) rotate(-45deg);
		transform: translateY(9.5px) rotate(-45deg);
	}
	.menu-trigger.active span:nth-of-type(2) {
		opacity: 0;
	}
	.menu-trigger.active span:nth-of-type(3) {
		-webkit-transform: translateY(-8.5px) rotate(45deg);
		transform: translateY(-8.5px) rotate(45deg);
	}
	
}


/* FOOTER AREA
-------------------------------------------------- */

footer {
	clear:both;
	width:auto;
	background-color:#2e2e2e;
	border-radius: 0 40px 0 0;
	position:relative;
}

footer > .inner {
	width:auto;
	max-width:1130px;
	text-align:left;
	margin:auto;
	padding:50px 15px 80px;
	color:#ffffff;
	display:flex;
	font-size:14px;
	line-height:1.33em;
}

footer a {
	color:#ffffff;
}

.footer_left {
	width:40%;
	padding-top:100px;
}

.footer_right {
	width:60%;
}

#footer-nav {
	display:flex;
}

#footer-nav > ul {
	width:50%;
}

#footer-nav > ul ul {
	padding:5px 0 0 18px;
}


#footer-nav > ul > li {
	padding:5px 10px 5px 0;
}

#footer-nav a {
	display:block;
	padding:5px 0;
}

#copyright {
	margin-top:25px;
}

#return-top {
	position:absolute;
	right:30px;
	bottom:30px;
}

#return-top a ,
#return-top a i {
	display:block;
	text-align:center;
}

#return-top a i {
	font-size:22px;
}

#return-top a:hover {
	color:#2e2e2e;
}

#ft-triangle {
	position:absolute;
	right:0;
	bottom:0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 220px 220px;
	border-color: transparent transparent #2c99fa transparent;
}

@media screen and (min-width: 768px) and (max-width: 1000px){
	
	.footer_left p img {
		width:90%;
		height:auto;
	}
	
}

@media screen and (max-width: 767px){
	
	footer {
		clear:both;
		width:auto;
		background-color:#2e2e2e;
		border-radius: 0 15px 0 0;
		position:relative;
	}
	
	footer > .inner {
		width:auto;
		max-width:1130px;
		text-align:left;
		margin:auto;
		padding:40px 15px 40px;
		color:#ffffff;
		display:block;
		font-size:13px;
		line-height:1.33em;
	}
	
	footer a {
		color:#ffffff;
	}
	
	.footer_left {
		width:auto;
		padding-top:0;
		padding-left:20px;
		text-align:left;
	}
	
	.footer_left .logo {
		width:171px;
		margin:0;
	}
	
	.footer_left .logo img {
		width:100%;
		height:auto;
	}
	
	.footer_right {
		width:60%;
	}
	
	#footer-nav {
		display:none;
	}
	
	#copyright {
		margin-top:5px;
		text-align:left;
		font-size:10px;
	}
	
	#return-top {
		position:absolute;
		right:10px;
		bottom:15px;
	}
	
	#return-top a ,
	#return-top a i {
		display:block;
		text-align:center;
		font-size:10px;
	}
	
	#return-top a i {
		font-size:18px;
	}
	
	#ft-triangle {
		position:absolute;
		right:0;
		bottom:0;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 0 100px 100px;
		border-color: transparent transparent #2c99fa transparent;
	}
	
}


/* BASE LAYOUT and COMMON PARTS
-------------------------------------------------- */

body > .inner {
	background-color:#eff6fb;
	overflow:hidden;
}

main {
	background-color:#fff;
}

main a {
	color:#1373f7;
	text-decoration:underline;
}

.home main a {
	color:#000;
	text-decoration:none;
}

.home #page-heading ,
.page #page-heading {
	width:auto;
	position:relative;
	z-index:10;
}

.home #page-heading {
}

.swiper-main-image {
  position: absolute;
  color: #fff;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

.swiper-main-image .slide1 {
	background:url(../img/home/bg_header1.jpg) no-repeat left bottom;
	background-size: cover;
}
.swiper-main-image .slide2 {
	background:url(../img/home/bg_header2.jpg) no-repeat left bottom;
	background-size: cover;
}
.swiper-main-image .slide3 {
	background:url(../img/home/bg_header3.jpg) no-repeat left bottom;
	background-size: cover;
}
.swiper-main-image .slide4 {
	background:url(../img/home/bg_header4.jpg) no-repeat left bottom;
	background-size: cover;
}




.home #page-heading::before {
	position:absolute;
	content:"";
	width:280px;
	height:1000px;
	background-color:#1578f7;
	right:260px;
	top:-200px;
	transform:rotate(45deg);
	z-index:10;
}

.home #page-heading > .inner {
	position:relative;
	z-index:11;
	height:800px;
	width:auto;
	max-width:970px;
	margin:auto;
	color:#ffffff;
	text-align:left;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.home #page-heading .txt-title {
	padding-left:40%;
}

.home #page-heading .txt-en {
	display:block;
	font-weight:600;
	font-size:85px;
	line-height:1.33em;
}

.home #page-heading .txt-jp {
	display:block;
	font-size:30px;
	line-height:1.2em;
	padding-left:5px;
	margin-top:30px;
}

.page #page-heading::before {
	position:absolute;
	content:"";
	width:200px;
	height:500px;
	background-color:#1578f7;
	right:125px;
	top:-120px;
	transform:rotate(45deg);
	z-index:1;
}

.page #page-heading > .inner {
	position:relative;
	z-index:2;
	height:480px;
	width:auto;
	box-sizing:border-box;
	max-width:970px;
	padding:0 20px;
	margin:auto;
	color:#ffffff;
	text-align:left;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.page #page-heading .txt-title {
}

.page #page-heading .txt-en {
	display:block;
	font-family: 'Poppins', sans-serif;
	font-weight:600;
	font-size:85px;
	line-height:1.2em;
}

.page #page-heading .txt-jp {
	display:block;
	font-size:25px;
	line-height:1.2em;
	padding-left:5px;
}

#page-contents {
	width:auto;
	max-width:1010px;
	margin:0 auto;
	padding:20px 0 160px;
	text-align:left;
}

.home #page-contents {
	max-width:1170px;
}


/* section and wrapper */

.sec-base-sytle {
	margin-top:80px;
}

.sec-base-sytle > .inner {
	text-align:left;
	width:auto;
	max-width:970px;
	margin:auto;
	padding:0 20px;
}

.home .sec-base-sytle > .inner {
	max-width:1130px;
}

/* headline */

.ttl_hdg2_01 {
	font-size:38px;
	font-weight:600;
	line-height:1.33em;
	text-align:center;
	position:relative;
	padding:0 0 25px;
}

.ttl_hdg2_01::after {
	position:absolute;
	content:"";
	width:60px;
	height:3px;
	background-color:#1373f7;
	margin:auto;
	left:0;
	right:0;
	bottom:0;
}

.ttl_hdg2_02 {
	font-size:38px;
	font-weight:600;
	line-height:1.33em;
	text-align:center;
	position:relative;
	padding:0 0 25px;
	z-index:10;
}

.ttl_hdg2_02 > span {
	display:block;
}

.ttl_hdg2_02 > span.txt-jp {
	letter-spacing:0.1em;
}

.ttl_hdg2_02 > span.txt-en {
	font-family: 'Poppins', sans-serif;
	font-size:15px;
	line-height:1.5em;
	color:#1578f7;
	margin-top:10px;
}


/* text */

.txt-sign {
	text-align:right;
}

.txt-lead01 {
	text-align:center;
	font-size:18px;
	line-height:2em;
	font-weight:500;
	margin-top:40px;
}

.txt-lead02 {
	text-align:center;
	font-size:28px;
	line-height:2em;
	font-weight:500;
	margin-top:60px;
}


/* Photo shadow */

.has-shadow-object {
	position:relative;
}

.has-shadow-object::after {
	position:absolute;
	content:"";
	width:90%;
	height:90%;
	background-color:#eff6fb;
	right:-80px;
	bottom:0;
	z-index:1;
}


.has-shadow-object img {
	position:relative;
	z-index:2;
	margin-bottom:70px;
}


/* Movie */

.movie-wrap {
	margin-top:120px;
	position:relative;
}

.movie-wrap h3 {
	position:relative;
	z-index:3;
	text-align:center;
	font-size:28px;
	font-weight:600;
	line-height:1.5em;
}

.youtube {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	z-index:2;
}
.youtube iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}


.youtube::after {
	position:absolute;
	content:"";
	width:auto;
	height:100%;
	background-color:#eff6fb;
	top:-140px;
	left:-80px;
	right:-80px;
	z-index:-1;
	border-radius:0 60px 0 0;
}



@media screen and (min-width: 768px) and (max-width: 1000px){
	
	.home #page-heading .txt-en {
		display:block;
		font-family: 'Poppins', sans-serif;
		font-weight:600;
		font-size:60px;
		line-height:1.33em;
	}
	
}


@media screen and (max-width: 767px){
	
	body > .inner {
		background-color:#fff;
		overflow:hidden;
	}
	
	main {
	}
	
	.home #page-heading::before {
		position:absolute;
		content:"";
		width:140px;
		height:300px;
		width:160px;
		height:600px;
		background-color:#1578f7;
		right:60px;
		top:-140px;
		transform:rotate(45deg);
		z-index:10;
    opacity: 0.7;
	}
	
	.home #page-heading > .inner {
		position:relative;
		z-index:11;
		height:500px;
		width:auto;
		max-width:970px;
		margin:auto;
		color:#ffffff;
		text-align:left;
		display:flex;
		flex-direction:column;
		justify-content:center;
	}
	
	.home #page-heading .txt-title {
		padding-left:8%;
		padding-right:8%;
	}
	
	.home #page-heading .txt-en {
		display:block;
		font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Helvetica, Arial, sans-serif;
		font-weight:600;
		font-size:44px;
		line-height:1.33em;
	}
	
	.home #page-heading .txt-jp {
		display:block;
		font-size:16px;
		line-height:1.5em;
		padding-left:5px;
		margin-top:30px;
	}
	
	.page #page-heading {
		width:auto;
		position:relative;
	}
	
	.page #page-heading::before {
		position:absolute;
		content:"";
		width:120px;
		height:240px;
		background-color:#1373f7;
		right:-30px;
		top:-50px;
		transform:rotate(45deg);
		z-index:1;
    opacity: 0.7;
	}
	
	.page #page-heading > .inner {
		position:relative;
		z-index:2;
		height:220px;
		width:auto;
		max-width:970px;
		margin:auto;
		padding:15px 15px 0;
		color:#ffffff;
		text-align:left;
		display:flex;
		flex-direction:column;
		justify-content:center;
	}
	
	.page #page-heading .txt-title {
	}
	
	.page #page-heading .txt-en {
		display:block;
		font-family: 'Poppins', sans-serif;
		font-weight:600;
		font-size:42px;
		line-height:1.2em;
	}
	
	.page #page-heading .txt-jp {
		display:block;
		font-size:14px;
		line-height:1.2em;
		padding-left:5px;
	}
	
	#page-contents {
		width:auto;
		max-width:970px;
		margin:0 auto;
		padding:20px 0 50px;
		text-align:left;
	}
	
	
	/* section and wrapper */
	
	.sec-base-sytle {
		margin-top:40px;
	}
	
	.sec-base-sytle > .inner {
		text-align:left;
		width:auto;
		max-width:970px;
		margin:auto;
		padding:0 15px;
	}
	
	/* headline */
	
	.ttl_hdg2_01 {
		font-size:22px;
		font-weight:600;
		line-height:1.33em;
		text-align:center;
		position:relative;
		padding:0 0 15px;
	}
	
	.ttl_hdg2_01::after {
		position:absolute;
		content:"";
		width:50px;
		height:3px;
		background-color:#1373f7;
		margin:auto;
		left:0;
		right:0;
		bottom:0;
	}
	
	.ttl_hdg2_02 {
		font-size:22px;
		font-weight:600;
		line-height:1.33em;
		text-align:center;
		position:relative;
		padding:0;
		z-index:10;
	}
	
	.ttl_hdg2_02 > span {
		display:block;
	}
	
	.ttl_hdg2_02 > span.txt-jp {
		letter-spacing:0.1em;
	}
	
	.ttl_hdg2_02 > span.txt-en {
		font-family: 'Poppins', sans-serif;
		font-size:13px;
		line-height:1.5em;
		color:#1578f7;
		margin-top:5px;
	}
	
	
	
	/* text */
	
	.txt-sign {
		text-align:right;
	}

	.txt-lead01 {
		text-align:left;
		font-size:14px;
		line-height:1.67em;
		font-weight:500;
		margin-top:20px;
	}

  .txt-lead02 {
    text-align:center;
    font-size:18px;
    line-height:2em;
    font-weight:500;
    margin-top:20px;
  }

	
	/* Photo shadow */
	
	.has-shadow-object {
		position:relative;
	}
	
	.has-shadow-object::after {
		position:absolute;
		content:"";
		width:90%;
		height:90%;
		background-color:#eff6fb;
		right:-40px;
		bottom:0;
		z-index:1;
	}
	
	
	.has-shadow-object img {
		position:relative;
		z-index:2;
		margin-bottom:20px;
	}
	
	
	/* Movie */
	
	.movie-wrap {
		margin-top:60px;
		position:relative;
	}
	
	.movie-wrap h3 {
		position:relative;
		z-index:3;
		text-align:center;
		font-size:18px;
		font-weight:600;
		line-height:1.5em;
	}
	
	.youtube::after {
		position:absolute;
		content:"";
		width:auto;
		height:100%;
		background-color:#eff6fb;
		top:-70px;
		left:-80px;
		right:-80px;
		z-index:-1;
		border-radius:0 60px 0 0;
	}
		
}




/* HOME
-------------------------------------------------- */

.wrap-home-engineering {
	background:url(../img/home/pct_engineering.jpg) no-repeat;
	position:relative;
	z-index:1;
  margin-top: 20px;
}

.wrap-home-engineering::after {
	position:absolute;
	z-index:-1;
	content:"";
	width:3000px;
	height:160%;
	right:25%;
	top:-170px;
	background-color:#eff6fb;
}

.wrap-home-engineering .text-area {
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	top:0;
	text-align:center;
	color:#ffffff;
	display:flex;
	flex-direction:column;
	justify-content:center;
}

.wrap-home-engineering h3 {
	font-size:45px;
	font-weight:600;
	line-height:1.33em;
	letter-spacing:0.1em;
}

.wrap-home-engineering p {
	margin-top:30px;
	font-size:18px;
	line-height:2em;
}

.wrap-home-engineering .button a {
	color:#ffffff;
	line-height:1.33em;
	display:block;
	width:200px;
	border:1px #ffffff solid;
	border-radius:5px;
	padding:15px 10px 18px;
	margin:auto;
}

.wrap-home-engineering .button a:hover {
	background-color:rgba(255,255,255,0.5);
}

.sec-home-products {
	margin-top:180px;
}

.lst-products01 {
	display:flex;
	width:auto;
	margin:20px -15px 0;
}

.lst-products01 li {
	width:25%;
	box-sizing:border-box;
	padding:0 15px;
}

.lst-products01 dt {
	font-size:21px;
	font-weight:600;
	line-height:1.5em;
	padding:0 0 0 15px;
	position:relative;
}

.lst-products01 dt i {
	position:absolute;
	left:0;
	top:5px;
	color:#1373f7;
}

.lst-products01 dd {
	margin-top:10px;
	font-size:15px;
	line-height:2em;
}

.lst-products02 {
	display:flex;
	width:auto;
	margin:100px -15px 0;
}

.lst-products02 li {
	width:50%;
	box-sizing:border-box;
	padding:0 15px;
}

.lst-products02 p {
	font-size:21px;
	font-weight:600;
	line-height:1.5em;
	padding:0 0 0 15px;
	position:relative;
	margin-top:20px;
}

.lst-products02 p i {
	position:absolute;
	left:0;
	top:5px;
	color:#1373f7;
}

.lst-other-contents {
	display:flex;
	width:auto;
	margin:100px -15px 0;
}

.lst-other-contents h3 {
	font-size:28px;
	line-height:1.33em;
}

.lst-other-contents li {
	width:25%;
	box-sizing:border-box;
	padding:0 15px;
}

.lst-other-contents.has-shadow-object img {
	margin:0;
}

.lst-other-contents.has-shadow-object::after {
	width:3000px;
	height:75%;
	background-color:#eff6fb;
	right:auto;
	bottom:auto;
	left:15%;
	top:-80px;
	z-index:1;
}

.sec-home-bottom {
	background-color:#eff6fb;
	padding:80px 0;
}

.sec-home-bottom > .inner {
	padding:0 20px;
	width:auto;
	max-width:1130px;
	margin:auto;
}

.sec-home-bottom ul {
	display:flex;
	width:auto;
	margin: 0 -15px;
}

.sec-home-bottom ul li {
	box-sizing:border-box;
	width:50%;
	padding:0 15px;
}

.sec-home-bottom ul li a {
	display:block;
	background-color:#FFFFFF;
	font-size:22px;
	font-weight:600;
	padding:28px 50px 30px 150px;
	position:relative;
	border-radius:0 20px 0 0;
}

.sec-home-bottom ul li a span {
	display:block;
	text-align:left;
}

.sec-home-bottom ul li a span.txt-en {
	font-family: 'Poppins', sans-serif;
	font-size:15px;
}

.sec-home-bottom ul li a span.icon ,
.sec-home-bottom ul li a i {
	position:absolute;
}

.sec-home-bottom ul li a span.icon  {
	left:50px;
	width:80px;
	margin-top:-5px;
}

.sec-home-bottom ul li a span.icon img  {
	width:100%;
	height:auto;
}

.sec-home-bottom ul li a i {
	display:block;
	height:20px;
	margin:auto;
	top:0;
	bottom:0;
	right:30px;
}

.sec-news {
  padding-bottom: 100px;
}

.l-news-list {
  margin-top: 20px;
}

.l-news-list li a {
  display: flex;
  border: 1px #ccc;
  border-style: solid none;
  margin-top: -1px;
  padding: 1em 1em;
  position: relative;
  text-decoration: none;
  color: #000;
}

.l-news-list li a:hover {
		background-color:#eff6fb;
}

.l-news-list .date {
  width: 11em;
  box-sizing: border-box;
  flex-shrink: 0;
}

.l-news-list .title {
  flex-grow: 1;
  padding-right: 30px;
}

.l-news-list .title i {
  float: right;
  color:#1373f7;
  font-size: 20px;
  position: absolute;
  height: 20px;
  right: 15px;
  top: 0;
  bottom: 0;
  margin: auto;
}


@media screen and (max-width: 767px){
	
	.wrap-home-engineering {
		background:none;
		position:relative;
		z-index:1;
		margin-top:20px;
	}
	
	.wrap-home-engineering::after {
		position:absolute;
		z-index:-1;
		content:"";
		width:3000px;
		height:150%;
		right:15%;
		top:auto;
		bottom:-40px;
		background-color:#eff6fb;
	}
	
	.wrap-home-engineering .text-area {
		position:inherit;
		left:inherit;
		right:inherit;
		bottom:inherit;
		top:inherit;
		text-align:center;
		color:#000;
		display:flex;
		flex-direction:column;
		justify-content:center;
	}
	
	.wrap-home-engineering h3 {
		font-size:18px;
		font-weight:600;
		line-height:1.33em;
		letter-spacing:0.05em;
		margin-top:20px;
	}
	
	.wrap-home-engineering p {
		margin-top:15px;
		font-size:14px;
		line-height:1.67em;
		text-align:left;
	}
	
	.wrap-home-engineering .button a {
		color:#000;
		line-height:1.33em;
		display:block;
		width:140px;
		border:1px #000 solid;
		border-radius:5px;
		padding:10px 10px 13px;
		margin:auto;
		text-align:center;
		background-color:rgba(255,255,255,1);
	}
	
	.sec-home-products {
		margin-top:90px;
	}
	
	.lst-products01 {
		display:flex;
		flex-wrap:wrap;
		width:auto;
		margin:0 -7.5px 0;
	}
	
	.lst-products01 li {
		width:50%;
		box-sizing:border-box;
		padding:20px 7.5px 0;
	}
	
	.lst-products01 dt {
		font-size:15px;
		font-weight:600;
		line-height:1.5em;
		padding:0 0 0 10px;
		position:relative;
	}
	
	.lst-products01 dt i {
		position:absolute;
		left:0;
		top:5px;
		color:#1373f7;
	}
	
	.lst-products01 dd {
		margin-top:10px;
		font-size:13px;
		line-height:1.67em;
	}
	
	.lst-products02 {
		display:flex;
		flex-wrap:wrap;
		width:auto;
		margin:20px -7.5px 0;
	}
	
	.lst-products02 li {
		width:100%;
		box-sizing:border-box;
		padding:0 7.5px;
		margin-top:20px;
	}
	
	.lst-products02 li a {
		display:block;
	}
	
	.lst-products02 p {
		font-size:15px;
		font-weight:600;
		line-height:1.5em;
		padding:0 0 0 10px;
		position:relative;
		margin-top:10px;
	}
	
	.lst-products02 p i {
		position:absolute;
		left:0;
		top:5px;
		color:#1373f7;
	}
	
	.lst-other-contents {
		display: flex;
    flex-wrap: wrap;
		width:auto;
		margin:50px -7.5px 0;
	}
	
	.lst-other-contents h3 {
		font-size:18px;
		line-height:1.33em;
	}
	
	.lst-other-contents li {
		width: 50%;
		box-sizing:border-box;
		padding:0 7.5px;
		margin: 40px auto 0;
	}
	
	.lst-other-contents.has-shadow-object img {
		margin:10px 0 0;
	}
	
	.lst-other-contents.has-shadow-object::after {
		width:3000px;
		height:85%;
		background-color:#eff6fb;
		right:auto;
		bottom:auto;
		left:10%;
		top:-40px;
		z-index:1;
	}
	
	.sec-home-bottom {
		background-color:#eff6fb;
		padding:20px 0;
	}
	
	.sec-home-bottom > .inner {
		padding:0 15px;
		width:auto;
		max-width:1130px;
		margin:auto;
	}
	
	.sec-home-bottom ul {
		display:flex;
		width:auto;
		margin: 0 -7.5px;
	}
	
	.sec-home-bottom ul li {
		box-sizing:border-box;
		width:50%;
		padding:0 7.5px;
	}
	
	.sec-home-bottom ul li a {
		display:block;
		background-color:#FFFFFF;
		font-size:13px;
		font-weight:600;
		padding:15px 10px;
		position:relative;
		border-radius:0 10px 0 0;
	}
	
	.sec-home-bottom ul li a span {
		display:block;
		text-align: center;
	}
	
	.sec-home-bottom ul li a span.txt-en {
		display:none;
	}
	
	.sec-home-bottom ul li a span.icon ,
	.sec-home-bottom ul li a i {
		position:inherit;
	}
	
	.sec-home-bottom ul li a span.icon  {
		left:auto;
		width:48px;
		margin:auto;
	}
	
	.sec-home-bottom ul li a i {
		position:absolute;
		display:block;
		height:20px;
		margin:auto;
		top:0;
		bottom:0;
		right:10px;
	}

  .sec-news {
    padding-bottom: 60px;
  }

  .l-news-list {
    margin-top: 20px;
  }

  .l-news-list li a {
    display: block;
    border: 1px #ccc;
    border-style: solid none;
    margin-top: -1px;
    padding: 1em 0.5em;
    position: relative;
  }

  .l-news-list li a:hover {
      background-color:#eff6fb;
  }

  .l-news-list .date {
    display: block;
    width: auto;
    box-sizing: border-box;
    font-weight: 500;
  }

  .l-news-list .title {
    display: block;
    width: auto;
    padding-right: 30px;
  }

  .l-news-list .title i {
    float: right;
    color:#1373f7;
    font-size: 20px;
    position: absolute;
    height: 20px;
    right: 15px;
    top: 0;
    bottom: 0;
    margin: auto;
  }

}



/* QUALITY
-------------------------------------------------- */

#page-quality #page-heading {
	background:url(../img/quality/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.quality-detail {
	margin-top:30px;
}

.quality-detail .detail-item {
	display:flex;
	padding:40px 0;
}

.quality-detail .detail-item + .detail-item {
	border:1px #1373f7;
	border-top-style:solid;
}

.quality-detail h3 {
	width:28%;
	font-size:24px;
	font-weight:600;
	line-height:1.33em;
}

.quality-detail .detail-item > div {
	width:72%;
}

.quality-detail .detail-item > div * + p ,
.quality-detail .detail-item > div * + dl {
	margin-top:20px;
}
.quality-detail .detail-item > div figure {
	margin-top:10px;
}
.quality-detail .detail-item > div dt {
	font-weight:500;
}


@media screen and (max-width: 767px){
	
	.quality-detail {
		margin-top:20px;
	}
	
	.quality-detail .detail-item {
		display:block;
		padding:30px 0;
	}
	
	.quality-detail .detail-item + .detail-item {
		border:1px #1373f7;
		border-top-style:solid;
	}
	
	.quality-detail h3 {
		width:auto;
		font-size:18px;
		font-weight:600;
		line-height:1.33em;
	}
	
	.quality-detail .detail-item > div {
		width:auto;
		margin-top:20px;
	}
	
	.quality-detail .detail-item > div * + p ,
	.quality-detail .detail-item > div * + dl {
		margin-top:10px;
	}
	.quality-detail .detail-item > div figure {
		margin-top:10px;
	}
	
}



/* PRODUCTS
-------------------------------------------------- */

#page-products #page-heading {
	background:url(../img/products/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.ctg-navi {
	display:flex;
	flex-wrap: wrap;
	margin-top:30px;
}

.ctg-navi li {
	box-sizing:border-box;
	width:32%;
	padding:0;
	margin-top:10px;
	margin-left:2%;
	border-bottom:1px #CCCCCC solid;
}

.ctg-navi li:nth-child(1) ,
.ctg-navi li:nth-child(4n) {
	margin-left:0;
}

.ctg-navi li a {
	display:block;
	padding:10px;
	font-weight:600;
	color:#000;
	text-decoration:none;
}

.ctg-navi li.active a ,
.ctg-navi li a:hover {
	color:#1373f7;
}

.ctg-navi li a i {
	color:#1373f7;
	display:inline-block;
	margin-right:10px;
}

.wrap-products-info {
	display:flex;
	margin-top:100px;
}

.wrap-products-info h3 ,
.wrap-products-info h4 {
	width:21%;
	margin-top:12px;
	font-size:24px;
	font-weight:600;
	line-height:1.5em;
}

.wrap-products-info ul {
	width:79%;
	display:flex;
	flex-wrap:wrap
}

.wrap-products-info ul li {
	width:47.5%;
	float:left;
	border:1px #ccc;
	border-bottom-style:solid;
	box-sizing:border-box;
	padding:15px 10px;
}

.wrap-products-info ul li:nth-child(1) ,
.wrap-products-info ul li:nth-child(2) {
	border-top-style:solid;
}

.wrap-products-info ul li:nth-child(2n) {
	margin-left:5%;
}

.wrap-products-info.products-feature-02 ul li {
	width:100%;
	float:none;
	margin:0;
	border-top-style:none;
}

.wrap-products-info.products-feature-02 ul li:nth-child(1) {
	border-top-style:solid;
}

.wrap-products-info.products-feature-02 dl {
	display:flex;
}

.wrap-products-info.products-feature-02 dt {
	width:43%;
	font-weight:500;
	box-sizing:border-box;
	padding-right:30px;
}

.wrap-products-info.products-feature-02 dd {
	width:57%;
}


.products-feature ul li {
	position:relative;
	padding:15px 0 15px 45px;
}

.products-feature li span {
	font-family: 'Roboto', sans-serif;
	font-size:20px;
	font-weight:600;
	line-height:1.33em;
	color:#1373f7;
	position:absolute;
	left:10px;
	top:17px;
}

.wrap-products-use {
	margin-top:100px;
}

.wrap-products-use h3 {
	text-align:center;
	font-size:28px;
	font-weight:600;
	line-height:1.5em;
}

.wrap-products-use .wrap-products-info {
	margin-top:60px;
}

.wrap-products-use h3 + .wrap-products-info {
	margin-top:40px;
}


@media screen and (max-width: 767px){
	
	.ctg-navi {
		display:flex;
		flex-wrap: wrap;
		margin-top:0;
		padding:0 15px;
	}
	
	.ctg-navi li ,
	.ctg-navi li:nth-child(4n) {
		box-sizing:border-box;
		width:48%;
		padding:0;
		margin-top:0;
		margin-left:4%;
		border-bottom:1px #CCCCCC solid;
	}
	
	.ctg-navi li:nth-child(1) ,
	.ctg-navi li:nth-child(2n-1) {
		margin-left:0 !important;
	}
	
	.ctg-navi li a {
		display:block;
		padding:10px 5px 10px 18px;
		font-size:13px;
		font-weight:600;
		line-height:1.33em;
		text-indent:-8px;
	}
	
	.ctg-navi li.active a ,
	.ctg-navi li a:hover {
		color:#1373f7;
	}
	
	.ctg-navi li a i {
		color:#1373f7;
		display:inline-block;
		margin-right:5px;
	}
	
	.wrap-products-info {
		display:block;
		margin-top:50px;
	}
	
	.wrap-products-info h3 ,
	.wrap-products-info h4 {
		width:auto;
		margin-top:12px;
		font-size:15px;
		font-weight:600;
		line-height:1.5em;
		text-align:center;
	}
	
	.wrap-products-info ul {
		width:100%;
		display:flex;
		flex-wrap:wrap;
		margin-top:20px;
		border:1px #ccc;
		border-top-style:solid;
	}
	
	.wrap-products-info.products-feature-02 ul {
		border:none;
	}
	
	.wrap-products-info ul li {
		width:100%;
		float:none;
		border:1px #ccc;
		border-bottom-style:solid;
		box-sizing:border-box;
		padding:10px 5px;
		font-size:13px;
		line-height:1.5em;
	}
	
	.wrap-products-info ul li:nth-child(1) ,
	.wrap-products-info ul li:nth-child(2) {
		border-top-style:none;
	}
	
	.wrap-products-info ul li:nth-child(2n) {
		margin-left:0;
	}
	
	.wrap-products-info.products-feature-02 ul li {
		width:100%;
		float:none;
		margin:0;
		border-top-style:none;
	}
	
	.wrap-products-info.products-feature-02 ul li:nth-child(1) {
		border-top-style:solid;
	}
	
	.wrap-products-info.products-feature-02 dl {
		display:flex;
	}
	
	.wrap-products-info.products-feature-02 dt {
		width:43%;
		font-weight:500;
		box-sizing:border-box;
		padding-right:30px;
	}
	
	.wrap-products-info.products-feature-02 dd {
		width:57%;
	}
	
	
	.products-feature ul li {
		position:relative;
		padding:10px 0 10px 35px;
		font-size:13px;
		line-height:1.5em;
	}
	
	.products-feature li span {
		font-family: 'Roboto', sans-serif;
		font-size:16px;
		font-weight:600;
		line-height:1.33em;
		color:#1373f7;
		position:absolute;
		left:5px;
		top:12px;
	}
	
	.wrap-products-use {
		margin-top:60px;
	}
	
	.wrap-products-use h3 {
		text-align:center;
		font-size:18px;
		font-weight:600;
		line-height:1.5em;
	}
	
	.wrap-products-use .wrap-products-info {
		margin-top:30px;
	}
	
	.wrap-products-use h3 + .wrap-products-info {
		margin-top:10px;
	}
	
}


/* ENGINEERING
-------------------------------------------------- */

#page-engineering #page-heading {
	background:url(../img/engineering/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.wrap-advantage {
	margin-top:100px;
	position:relative;
}

.wrap-advantage figure {
	position:absolute;
	width:32.99%;
	right:0;
	top:0;
}

.wrap-advantage dl {
	box-sizing:border-box;
	margin:0 40% 0 0;
	padding:17px 0 20px;
	border:1px #1373f7;
	border-top-style:solid;
	border-bottom-style:solid;
}

.wrap-advantage dl + dl {
	border-top-style:none;
}

.wrap-advantage dt {
	padding:0 0 0 70px;
	position:relative;
	font-size:24px;
	font-weight:600;
	line-height:1.5em;
}

.wrap-advantage dt .number {
	font-family: 'Roboto', sans-serif;
	font-size:28px;
	font-weight:600;
	line-height:1.33em;
	color:#1373f7;
	position:absolute;
	left:0;
	top:0;
}

.wrap-advantage dd {
	padding:10px 0 0 70px;
}


@media screen and (max-width: 767px){
		
	.wrap-advantage {
		margin-top:50px;
		position:relative;
	}
	
	.wrap-advantage figure {
		position:relative;
		width:auto;
		right:auto;
		top:auto;
		margin: 30px auto 0;
		max-width:220px;
	}
		
	.wrap-advantage dl {
		box-sizing:border-box;
		margin:0;
		padding:12px 0 15px;
		border:1px #1373f7;
		border-top-style:solid;
		border-bottom-style:solid;
	}
	
	.wrap-advantage dl + dl {
		border-top-style:none;
	}
	
	.wrap-advantage dt {
		padding:0 0 0 40px;
		position:relative;
		font-size:16px;
		font-weight:600;
		line-height:1.5em;
	}
	
	.wrap-advantage dt .number {
		font-family: 'Roboto', sans-serif;
		font-size:18px;
		font-weight:600;
		line-height:1.33em;
		color:#1373f7;
		position:absolute;
		left:0;
		top:2px;
	}
	
	.wrap-advantage dd {
		padding:5px 0 0 40px;
	}
	
}



/* STRENGTH
-------------------------------------------------- */

#page-strength #page-heading {
	background:url(../img/strength/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.sec-strength {
}

.sec-strength > .inner {
	display:flex;
	position:relative;
	z-index:20;
}

.sec-strength:nth-child(even) > .inner {
	flex-direction:row-reverse;
}

.sec-strength .number {
	font-family: 'Roboto', sans-serif;
	font-size:200px;
	font-weight:600;
	color:#eff6fb;
	position:absolute;
	left:-80px;
	top:70px;
	z-index:-1;
}

.sec-strength:nth-child(even) .number {
	left:auto;
	right:-80px;
}

.sec-strength .text-area {
	position:relative;
	z-index:200;
	width:46.39%;
	box-sizing:border-box;
	padding-right:60px;
}

.sec-strength:nth-child(even) .text-area {
	padding:0 0 0 60px;
}

.sec-strength .text-area h2 {
	font-size:34px;
	font-weight:600;
	line-height:1.33em;
	margin-top:60px;
}

.sec-strength .text-area h2 + p {
	margin-top:20px;
}

.sec-strength figure {
	width:53.61%;
}

.sec-strength:nth-child(even) .has-shadow-object::after {
	right:auto;
	left:-80px;
}



@media screen and (max-width: 767px){
	
	.sec-strength > .inner {
		display:block;
		position:relative;
		z-index:20;
	}
	
	.sec-strength:nth-child(even) > .inner {
		flex-direction:row-reverse;
	}
	
	.sec-strength .number {
		font-family: 'Roboto', sans-serif;
		font-size:100px;
		font-weight:600;
		color:#eff6fb;
		position:absolute;
		left:auto;
		right:20px;
		top:-10px;
		z-index:-1;
	}
	
	.sec-strength:nth-child(even) .number {
		left:auto;
		right:20px;
	}
	
	.sec-strength .text-area {
		position:relative;
		z-index:200;
		width:100%;
		box-sizing:border-box;
		padding-right:0;
	}
	
	.sec-strength:nth-child(even) .text-area {
		padding:0 0 0 0;
	}
	
	.sec-strength .text-area h2 {
		font-size:22px;
		font-weight:600;
		line-height:1.33em;
		margin-top:60px;
	}
	
	.sec-strength .text-area h2 + p {
		margin-top:10px;
	}
	
	.sec-strength figure {
		width:100%;
		margin-top:20px;
	}
	
	.sec-strength:nth-child(even) .has-shadow-object::after {
		right:auto;
		left:-80px;
	}
	
}



/* EQUIPMENT
-------------------------------------------------- */

#page-equipment #page-heading {
	background:url(../img/equipment/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.sec-equipment > .inner {
	display:flex;
}

.sec-equipment > .inner > div {
	width:38.14%;
	box-sizing:border-box;
	padding-right:40px;
}

.sec-equipment > .inner > figure {
	width:61.86%;
}

.sec-equipment h2 {
	font-size:21px;
	font-weight:600;
	line-height:1.5em;
}

.sec-equipment h2 + p {
	margin-top:15px;
}



@media screen and (max-width: 767px){
	
	#page-equipment #page-heading {
		background:url(../img/equipment/bg_header.png) no-repeat left bottom;
		background-size:cover;
	}
	
	.sec-equipment > .inner {
		display:block;
	}
	
	.sec-equipment > .inner > div {
		width:auto;
		box-sizing:border-box;
		padding-right:0;
	}
	
	.sec-equipment > .inner > figure {
		width:auto;
		margin-top:20px;
	}
	
	.sec-equipment h2 {
		font-size:16px;
		line-height:1.5em;
	}
	
	.sec-equipment h2 + p {
		margin-top:10px;
	}
	
}




/* COMPANY
-------------------------------------------------- */

#page-company #page-heading {
	background:url(../img/company/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.wrap-company-outline {
	display:flex;
	width:auto;
	margin:40px -30px 0;
}

.wrap-company-outline > div {
	width:50%;
	margin:0 30px;
}

.wrap-company-outline > div table {
	width:100%;
}

.wrap-company-outline table th ,
.wrap-company-outline table td {
	border:1px #CCCCCC;
	border-style: solid none;
	padding:10px 5px;
}

.wrap-company-outline table th {
	width:7.5em;
	font-weight:500;
}

.company-history {
	margin-top:40px;
	position:relative;
	overflow:hidden;
}

.company-history::before {
	position:absolute;
	content:"";
	left:3px;
	top:18px;
	bottom:0;
	width:1px;
	height:auto;
	border-radius:50%;
	background-color:#cccccc;
}

.company-history dt {
	width:145px;
	padding:5px 0 5px 35px;
	clear:both;
	float:left;
	position:relative;
}

.company-history dt::before {
	position:absolute;
	content:"";
	left:0;
	top:18px;
	width:8px;
	height:8px;
	border-radius:50%;
	background-color:#1373f7;
}

.company-history dd {
	padding:5px 0 5px 180px;
}

.sec-env-policy p {
	margin-top:40px;
}

.sec-env-policy .heading {
	height:auto;
	min-height:130px;
	margin-top:40px;
	position:relative;
	border:1px #cccccc;
	border-bottom-style:solid;
}

.sec-env-policy .heading p {
	margin-right:150px;
}

.sec-env-policy .heading figure {
	position:absolute;
	right:0;
	top:6px;
}

.sec-env-policy ul {
	margin-left:20px;
}

.sec-env-policy ul li {
	margin-top:18px;
	list-style:decimal outside;
}

.l-env-carbon > .inner {
  display: flex;
  margin-top: 60px;
}

.l-env-carbon > .inner > * {
  width: 50%;
  box-sizing: border-box;
}

.l-env-carbon > .inner .text-area {
  padding-right: 30px;
}

.l-env-carbon > .inner figure {
  padding-left: 30px;
}

.sec-env-carbon h3 {
  font-size: 20px;
  line-height: 1.5em;
  margin-top: 30px;
}

.sec-env-carbon h3 + p {
  margin-top: 30px;
}

.sec-management {
  margin-top: 100px;
}

.txt-shaze {
  max-width: 641px;
  margin: 0 auto;
}

.sec-management h2 + * {
  margin-top: 60px;
}

.text-management-policy {
  display: flex;
  border: 1px #ccc;
  border-style: solid none;
  margin-top: -1px;
  padding: 35px 5px;
  letter-spacing: 0.05em;
}

.text-management-policy dt {
  font-size: 24px;
  font-weight: 600;
  width: 260px;
  flex-shrink: 0;
}

.text-management-policy dd {
  flex-grow: 1;
}

.l-employee-knowledge {
  display: flex;
}

.txt-employee-knowledge {
  flex-grow: 1;
  padding-right: 6.2%;
}

.txt-employee-knowledge dl {
  border: 1px #ccc;
  border-style: solid none;
  margin-top: -1px;
  padding: 30px 5px;
}

.txt-employee-knowledge dt {
  font-size: 24px;
  font-weight: 600;
}

.txt-employee-knowledge dd {
  margin-top: 10px;
}

.txt-employee-knowledge ol {
  padding-left: 1.5em;
}

.txt-employee-knowledge li {
  list-style: decimal;
  padding-left: 10px;
}

.l-employee-knowledge figure {
  width: 32.99%;
}

.l-management-message h3 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  line-height: 1.67em;
}

.l-management-message p {
  margin-top: 30px;
  line-height: 2.5em;
}

@media screen and (max-width: 767px){
	
	#page-company #page-heading {
		background:url(../img/company/bg_header.png) no-repeat left bottom;
		background-size:cover;
	}
	
	.wrap-company-outline {
		display:block;
		width:auto;
		margin:30px -30px 0;
	}
	
	.wrap-company-outline > div {
		width:auto;
		margin:0 30px;
	}
	
	.wrap-company-outline > div table {
		width:100%;
	}
	
	.wrap-company-outline table th ,
	.wrap-company-outline table td {
		border:1px #CCCCCC;
		border-style: none none solid;
		padding:10px 5px;
	}
	
	.wrap-company-outline table th {
		width:7.5em;
		font-weight:500;
	}
	
	.company-history {
		margin-top:30px;
		position:relative;
		overflow:hidden;
	}
	
	.company-history::before {
		position:absolute;
		content:"";
		left:2px;
		top:18px;
		bottom:0;
		width:1px;
		height:auto;
		border-radius:0;
		background-color:#cccccc;
	}
	
	.company-history dt {
		width:104px;
		padding:5px 0 5px 16px;
		clear:both;
		float:left;
		position:relative;
	}
	
	.company-history dt::before {
		position:absolute;
		content:"";
		left:0;
		top:13px;
		width:6px;
		height:6px;
		border-radius:50%;
		background-color:#1373f7;
	}
	
	.company-history dd {
		padding:5px 0 5px 120px;
	}
	
	.sec-env-policy p {
		margin-top:40px;
	}
	
	.sec-env-policy .heading {
		height:auto;
		min-height:130px;
		margin-top:30px;
		position:relative;
		border:1px #cccccc;
		border-bottom-style:solid;
		padding-bottom:30px;
	}
	
	.sec-env-policy .heading p {
		margin-right:150px;
	}
	
	.sec-env-policy .heading figure {
		position:absolute;
		right:0;
		top:6px;
	}
	
	.sec-env-policy ul {
		margin-left:20px;
	}
	
	.sec-env-policy ul li {
		margin-top:18px;
		list-style:decimal outside;
	}

  .l-env-carbon > .inner {
    display: block;
    margin-top: 30px;
  }

  .l-env-carbon > .inner > * {
    width: auto;
    box-sizing: border-box;
  }

  .l-env-carbon > .inner .text-area {
    padding-right: 0;
  }

  .l-env-carbon > .inner figure {
    padding-left: 0;
    margin-top: 30px;
  }

  .sec-env-carbon h3 {
    font-size: 18px;
    line-height: 1.5em;
    margin-top: 20px;
  }

  .sec-env-carbon h3 + p {
    margin-top: 20px;
  }
  
  .sec-management {
    margin-top: 60px;
  }

  .txt-shaze {
    max-width: 641px;
    margin: 0 auto;
  }

  .sec-management h2 + * {
    margin-top: 30px;
  }

  .text-management-policy {
    display: block;
    border: 1px #ccc;
    border-style: solid none;
    margin-top: -1px;
    padding: 20px 5px;
  }

  .text-management-policy dt {
    font-size: 18px;
    font-weight: 600;
    width: auto;
    flex-shrink: 0;
  }

  .text-management-policy dd {
    margin-top: 10px;
  }

  .l-employee-knowledge {
    display: block;
  }

  .txt-employee-knowledge {
    flex-grow: 1;
    padding-right: 0;
  }

  .txt-employee-knowledge dl {
    border: 1px #ccc;
    border-style: solid none;
    margin-top: -1px;
    padding: 20px 5px;
  }

  .txt-employee-knowledge dt {
    font-size: 18px;
    font-weight: 600;
  }

  .txt-employee-knowledge dd {
    margin-top: 10px;
  }

  .txt-employee-knowledge ol {
    padding-left: 1.5em;
  }

  .txt-employee-knowledge li {
    list-style: decimal;
    padding-left: 10px;
  }

  .l-employee-knowledge figure {
    width: 100%;
    max-width: 220px;
    margin: 30px auto 0;
  }

  .l-management-message h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.67em;
  }

  .l-management-message p {
    margin-top: 20px;
    line-height: 2em;
  }

}


/* SDGs
-------------------------------------------------- */

#page-company.sdgs #page-heading {
	background:url(../img/company/sdgs/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.sec-sdgs-outline {
  margin-top: 60px;
}

.sec-base-sdgs {
  margin-top: 12.37%;
}

.sec-base-sdgs h4 {
  font-size: 24px;
  line-height: 1.5em;
  font-weight: 600;
}

.u-sdgs-lead {
  margin-top: 40px;
  line-height: 2.5em;
}

.c-sdgs-outline {
  border-top: 1px #cccccc solid;
  margin-top: 60px;
  padding-top: 30px;
}

.c-sdgs-outline figure {
  max-width: 800px;
  margin: 60px auto 0;
}

.c-sdgs-title {
  margin-top: 16.49%;
  padding: 0 15px;
}

.c-sdgs-title h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 600;
  background-color: #EFF6FB;
  padding: 32px;
  border-radius: 0 0 0 50px;
}

.l-sdgs-goal {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.l-sdgs-goal > * {
  width: 46.907%;
}

.l-sdgs-goal dl {
  display: flex;
  border-bottom: 1px #cccccc solid;
  padding: 15px 0;
  letter-spacing: 0.1em;
}

.l-sdgs-goal dl:first-child {
  border-top: 1px #cccccc solid;
  margin-top: 30px;
}

.l-sdgs-goal dl dt {
  box-sizing: border-box;
  width: 5em;
  padding-left: 2px;
  flex-shrink: 0;
  font-weight: 500;
}

.l-sdgs-goal figure {
  position: relative;
}

.l-sdgs-goal figure img {
  width: 84.61%;
  height: auto;
  position: relative;
  z-index: 2;
}

.l-sdgs-goal figure::after {
  content: "";
  background-color: #EFF6FB;
  position: absolute;
  z-index: 1;
  width: 84.61%;
  height: 0;
  top: 18.18%;
  right: 0;
  padding-top: calc(((192 / 455) * 100%));
}

.l-sdgs-relatedgoal {
  display: flex;
  margin-top: 50px;
}

.l-sdgs-relatedgoal h4 {
  width: 196px;
  flex-shrink: 0;
}

.l-sdgs-relatedgoal ul {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 10px;
}

.l-sdgs-relatedgoal ul li {
  width: 18.08%;
}

@media screen and (max-width: 767px){

  .sec-sdgs-outline {
    margin-top: -20px;
  }

  .sec-base-sdgs {
    margin-top: 60px;
  }

  .sec-base-sdgs h4 {
    font-size: 18px;
    line-height: 1.5em;
    font-weight: 600;
  }

  .u-sdgs-lead {
    margin-top: 20px;
    line-height: 2.14em;
  }

  .c-sdgs-outline {
    border-top: 1px #cccccc solid;
    margin-top: 20px;
    padding-top: 0;
  }

  .c-sdgs-outline figure {
    margin: 20px auto 0;
  }

  .c-sdgs-title {
    margin-top: 16.49%;
    padding: 0 15px;
  }

  .c-sdgs-title h2 {
    text-align: center;
    font-size: 18px;
    font-weight: 600;
    background-color: #EFF6FB;
    padding: 22px;
    border-radius: 0 0 0 25px;
  }

  .l-sdgs-goal {
    display: block;
    margin-top: 30px;
  }

  .l-sdgs-goal > * {
    width: 100%;
  }

  .l-sdgs-goal dl {
    display: flex;
    border-bottom: 1px #cccccc solid;
    padding: 10px 0;
    letter-spacing: 0.1em;
  }

  .l-sdgs-goal dl:first-child {
    border-top: 1px #cccccc solid;
    margin-top: 20px;
  }

  .l-sdgs-goal dl dt {
    box-sizing: border-box;
    width: 5em;
    padding-left: 2px;
    flex-shrink: 0;
    font-weight: 500;
  }

  .l-sdgs-goal figure {
    position: relative;
    margin-top: 30px;
  }

  .l-sdgs-goal figure img {
    width: 95.83%;
    height: auto;
    position: relative;
    z-index: 2;
  }

  .l-sdgs-goal figure::after {
    content: "";
    background-color: #EFF6FB;
    position: absolute;
    z-index: 1;
    width: 95.83%;
    height: 0;
    top: 9.0%;
    right: 0;
    padding-top: calc(((172 / 360) * 100%));
  }

  .l-sdgs-relatedgoal {
    display: block;
    margin-top: 45px;
  }

  .l-sdgs-relatedgoal h4 {
    width: 196px;
    flex-shrink: 0;
  }

  .l-sdgs-relatedgoal ul {
    margin-top: 10px;
    margin-left: -5px;
    margin-right: -5px;
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0;
  }

  .l-sdgs-relatedgoal ul li {
    box-sizing: border-box;
    width: 33.33%;
    padding: 0 5px;
    margin-top: 10px;
  }

}



/* CONTACT
-------------------------------------------------- */

#page-contact #page-heading {
	background:url(../img/contact/bg_header.png) no-repeat left bottom;
	background-size:cover;
}

.lst-ordermade {
	margin-top:50px;
}

.lst-ordermade {
	border-top:1px #ccc solid;
}

.lst-ordermade li {
	border-bottom:1px #ccc solid;
	padding:25px 0;
	position:relative;
}

.lst-ordermade li + li::before {
	position:absolute;
	top:0;
	left:15px;
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 7px 0 7px;
	border-color: #007bff transparent transparent transparent;
}

.lst-ordermade dl {
	display:flex;
}

.lst-ordermade dt {
	width:24.74%;
	font-weight:600;
}

.lst-ordermade dt span {
	color:#1373f7;
	font-family: 'Roboto', sans-serif;
	font-size:21px;
	margin-right:15px;
	margin-left:10px;
}

.lst-ordermade dd {
	width:75.26%;
}

.tbl_contact {
	width:100%;
	margin-top:50px;
}

.tbl_contact th ,
.tbl_contact td {
	border:1px #ccc;
	border-style:solid none;
	padding:20px 8px;
}

.tbl_contact th {
	width:24.74%;
	font-weight:600;
}

.tbl_contact td {
	font-size:14px;
	line-height:1.75em;
}

.tbl_contact p {
	margin-top:5px;
}

.tbl_contact ul {
	margin-top:5px;
	padding:0 0 20px 20px;
}

.tbl_contact ul li {
	list-style-type:disc;
}

.tbl_contact input ,
.tbl_contact textarea {
	border:none;
	background-color:#eff2f3;
	width:75%;
	padding: 10px;
}

.tbl_contact textarea {
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Helvetica, Arial, sans-serif;
}

.tbl_contact .need {
	color:#ff0000;
}

.btn-submit {
	text-align:center;
	margin-top:60px;
}

.btn-submit a {
	line-height:1.33em;
	display:inline-block;
	width:240px;
	border:1px #ccc solid;
	border-radius:5px;
	padding:15px 10px 18px;
	margin:auto;
	color:#000;
	text-decoration:none;
}

.btn-submit a i {
	color:#1373f7;
}

.btn-submit a:hover {
	cursor:pointer;
	color:#1373f7;
	border-color:#1373f7;
}

.txt-complete-msg {
	margin-top:50px;
	text-align:center;
	line-height:2em;
}


@media screen and (max-width: 767px){
	
	#page-contact #page-heading {
		background:url(../img/contact/bg_header.png) no-repeat left bottom;
		background-size:cover;
	}
	
	.lst-ordermade {
		margin-top:25px;
	}
	
	.lst-ordermade {
		border-top:1px #ccc solid;
	}
	
	.lst-ordermade li {
		border-bottom:1px #ccc solid;
		padding:15px 0;
	}
	
	.lst-ordermade li + li::before {
		left:13px;
		border-style: solid;
		border-width: 6px 6px 0 6px;
		border-color: #007bff transparent transparent transparent;
	}
		
	.lst-ordermade dl {
		display:flex;
		flex-direction:column;
	}
	
	.lst-ordermade dt {
		width:auto;
		font-weight:600;
	}
	
	.lst-ordermade dt span {
		color:#1373f7;
		font-family: 'Roboto', sans-serif;
		font-size:17px;
		margin-right:8px;
		margin-left:10px;
	}
	
	.lst-ordermade dd {
		width:auto;
		padding:5px 0 0 37px;
	}
	
	.tbl_contact {
		width:100%;
		margin-top:25px;
	}
	
	.tbl_contact th ,
	.tbl_contact td {
		border:1px #ccc;
		border:none;
		padding:5px 0 10px;
		display:block;
	}
	
	.tbl_contact th {
		width:auto;
		font-weight:600;
		border:1px #ccc;
		border-style:solid none none;
		padding:10px 0 0;
	}
	
	.tbl_contact td {
		font-size:13px;
		line-height:1.5em;
	}
	
	.tbl_contact p {
		margin-top:5px;
	}
	
	.tbl_contact ul {
		margin-top:5px;
		padding:0 0 20px 20px;
	}
	
	.tbl_contact ul li {
		list-style-type:disc;
	}
	
	.tbl_contact input ,
	.tbl_contact textarea {
		border:none;
		background-color:#eff2f3;
		width:100%;
		box-sizing:border-box;
		padding: 8px;
	}
	.tbl_contact input {
		width:65%;
	}
	
	.tbl_contact textarea {
		font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Helvetica, Arial, sans-serif;
	}
	
	.btn-submit {
		text-align:center;
		margin-top:20px;
	}
	
	.btn-submit a {
		line-height:1.33em;
		display:inline-block;
		width:auto;
		border:1px #ccc solid;
		border-radius:5px;
		padding:10px 20px 13px;
		margin:auto;
	}
	
	.btn-submit a i {
		color:#1373f7;
	}
	
	.btn-submit a:hover {
		color:#1373f7;
		border-color:#1373f7;
	}
	
	.txt-complete-msg {
		margin-top:25px;
		text-align:left;
		line-height:1.67em;
	}
		
}


.l-news-heading {
  border-bottom: 1px #ccc solid;
  padding-bottom: 30px;
}

.l-news-heading p {
  color: #1373f7;
  font-weight: 600;
}

.l-news-heading h2 {
  font-size: 24px;
  line-height: 1.33em;
  margin-top: 10px;
}

.l-news-contents {
  margin-top: 40px;
}

.l-news-contents p {
  margin-top: 20px;
}

.l-news-contents img {
  max-width: 100%;
  height: auto;
}


@media screen and (max-width: 767px){

  .l-news-heading {
    border-bottom: 1px #ccc solid;
    padding-bottom: 20px;
  }

  .l-news-heading h2 {
    font-size: 18px;
    line-height: 1.33em;
    margin-top: 10px;
  }

  .l-news-contents {
    margin-top: 30px;
  }

}