@charset "utf-8";


/* --------------------------------------------------------------------------------
html & body
-------------------------------------------------------------------------------- */
html {
	font-size: 62.5%;
}
body {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	font-size: 1em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	
	color: #1e285a;
	background: #fff;
	
	min-width: 1200px;
}


/* --------------------------------------------------------------------------------
共通 リセット タグ等
-------------------------------------------------------------------------------- */
.common * {
	margin: 0;
	padding: 0;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	box-sizing: border-box;
}

.common h1,
.common h2,
.common h3,
.common h4,
.common h5,
.common h6 {
	font-size: 1em;
}
.common ol,
.common ul {
	list-style: none;
}
.common table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 1em;
}
.common a,
.common a:link,
.common a:visited {
	text-decoration: none;
	color: #1e285a;
	-webkit-tap-highlight-color:rgba(0,0,0,0.1);
	tap-highlight-color:rgba(0,0,0,0.8);
}
.common a:hover,
.common a:active {
	text-decoration: none;
}
.common input,
.common select,
.common textarea {
	outline: none !important;
	box-shadow: none !important;
	font-size: 1em;
}
.common small {
	font-size: 1em;
}
.common img {
	display: block;
	max-width: 100%;
	height: auto;
}
.common address {
	font-style: normal;
}

.font-oswald {
	font-family: 'Oswald';
}
.font-oswald * {
	font-family: 'Oswald';
}


/* --------------------------------------------------------------------------------
共通クラス
-------------------------------------------------------------------------------- */
.clear {
	clear: both;
}
br.clear {
	display: block;
	margin: 0;
	padding: 0;
	clear: both;
	height: 0;
	border: none;
	visibility: hidden;
	font-size: 0;
}
.clearfix::after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1%;
}
* html .clearfix {
	height: 1%;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}

/********** プレースホルダー **********/
::-webkit-input-placeholder,
::placeholder {
	color: #333;
}

/********** inner **********/
.inner {
	width: 124rem;
	margin: 0 auto;
}

/* --------------------------------------------------------------------------------
	デバイスごとの表示・非表示
-------------------------------------------------------------------------------- */
.device-sp {
	display: none;
}
.device-sp-inline {
	display: none;
}
.device-pc {
	display: block;
}
.device-pc-inline {
	display: inline;
}


/* --------------------------------------------------------------------------------
margin
-------------------------------------------------------------------------------- */
/********** margin-top **********/
.margin-top-0 {
	margin-top: 0 !important;
}
.margin-top-5 {
	margin-top: 0.5rem !important;
}
.margin-top-10 {
	margin-top: 1rem !important;
}
.margin-top-15 {
	margin-top: 1.5rem !important;
}
.margin-top-20 {
	margin-top: 2rem !important;
}
.margin-top-25 {
	margin-top: 2.5rem !important;
}
.margin-top-30 {
	margin-top: 3rem !important;
}
.margin-top-35 {
	margin-top: 3.5rem !important;
}
.margin-top-40 {
	margin-top: 4rem !important;
}
.margin-top-45 {
	margin-top: 4.5rem !important;
}
.margin-top-50 {
	margin-top: 5rem !important;
}
.margin-top-60 {
	margin-top: 6rem !important;
}
.margin-top-70 {
	margin-top: 7rem !important;
}
.margin-top-80 {
	margin-top: 8rem !important;
}
.margin-top-90 {
	margin-top: 9rem !important;
}
.margin-top-100 {
	margin-top: 10rem !important;
}
.margin-top-110 {
	margin-top: 11rem !important;
}
.margin-top-120 {
	margin-top: 12rem !important;
}
.margin-top-130 {
	margin-top: 13rem !important;
}
.margin-top-140 {
	margin-top: 14rem !important;
}
.margin-top-150 {
	margin-top: 15rem !important;
}
.margin-top-160 {
	margin-top: 16rem !important;
}
.margin-top-170 {
	margin-top: 17rem !important;
}
.margin-top-180 {
	margin-top: 18rem !important;
}
.margin-top-190 {
	margin-top: 19rem !important;
}
.margin-top-200 {
	margin-top: 20rem !important;
}

/********** margin-bottom **********/
.margin-bottom-0 {
	margin-bottom: 0 !important;
}
.margin-bottom-5 {
	margin-bottom: 0.5rem !important;
}
.margin-bottom-10 {
	margin-bottom: 1rem !important;
}
.margin-bottom-15 {
	margin-bottom: 1.5rem !important;
}
.margin-bottom-20 {
	margin-bottom: 2rem !important;
}
.margin-bottom-25 {
	margin-bottom: 2.5rem !important;
}
.margin-bottom-30 {
	margin-bottom: 3rem !important;
}
.margin-bottom-35 {
	margin-bottom: 3.5rem !important;
}
.margin-bottom-40 {
	margin-bottom: 4rem !important;
}
.margin-bottom-45 {
	margin-bottom: 4.5rem !important;
}
.margin-bottom-50 {
	margin-bottom: 5rem !important;
}
.margin-bottom-60 {
	margin-bottom: 6rem !important;
}
.margin-bottom-70 {
	margin-bottom: 7rem !important;
}
.margin-bottom-80 {
	margin-bottom: 8rem !important;
}
.margin-bottom-90 {
	margin-bottom: 9rem !important;
}
.margin-bottom-100 {
	margin-bottom: 10rem !important;
}
.margin-bottom-110 {
	margin-bottom: 11rem !important;
}
.margin-bottom-120 {
	margin-bottom: 12rem !important;
}
.margin-bottom-130 {
	margin-bottom: 13rem !important;
}
.margin-bottom-140 {
	margin-bottom: 14rem !important;
}
.margin-bottom-150 {
	margin-bottom: 15rem !important;
}
.margin-bottom-160 {
	margin-bottom: 16rem !important;
}
.margin-bottom-170 {
	margin-bottom: 17rem !important;
}
.margin-bottom-180 {
	margin-bottom: 18rem !important;
}
.margin-bottom-190 {
	margin-bottom: 19rem !important;
}
.margin-bottom-200 {
	margin-bottom: 20rem !important;
}


/* --------------------------------------------------------------------------------
padding
-------------------------------------------------------------------------------- */
/********** padding-top **********/
.padding-top-0 {
	padding-top: 0 !important;
}
.padding-top-5 {
	padding-top: 0.5rem !important;
}
.padding-top-10 {
	padding-top: 1rem !important;
}
.padding-top-15{
	padding-top: 1.5rem !important;
}
.padding-top-20 {
	padding-top: 2rem !important;
}
.padding-top-25 {
	padding-top: 2.5rem !important;
}
.padding-top-30 {
	padding-top: 3rem !important;
}
.padding-top-35 {
	padding-top: 3.5rem !important;
}
.padding-top-40 {
	padding-top: 4rem !important;
}
.padding-top-45 {
	padding-top: 4.5rem !important;
}
.padding-top-50 {
	padding-top: 5rem !important;
}
.padding-top-60 {
	padding-top: 6rem !important;
}
.padding-top-70 {
	padding-top: 7rem !important;
}
.padding-top-80 {
	padding-top: 8rem !important;
}
.padding-top-90 {
	padding-top: 9rem !important;
}
.padding-top-100 {
	padding-top: 10rem !important;
}
.padding-top-110 {
	padding-top: 11rem !important;
}
.padding-top-120 {
	padding-top: 12rem !important;
}
.padding-top-130 {
	padding-top: 13rem !important;
}
.padding-top-140 {
	padding-top: 14rem !important;
}
.padding-top-150 {
	padding-top: 15rem !important;
}
.padding-top-160 {
	padding-top: 16rem !important;
}
.padding-top-170 {
	padding-top: 17rem !important;
}
.padding-top-180 {
	padding-top: 18rem !important;
}
.padding-top-190 {
	padding-top: 19rem !important;
}
.padding-top-200 {
	padding-top: 20rem !important;
}

/********** padding-bottom **********/
.padding-bottom-0 {
	padding-bottom: 0 !important;
}
.padding-bottom-5 {
	padding-bottom: 0.5rem !important;
}
.padding-bottom-10 {
	padding-bottom: 1rem !important;
}
.padding-bottom-15{
	padding-bottom: 1.5rem !important;
}
.padding-bottom-20 {
	padding-bottom: 2rem !important;
}
.padding-bottom-25 {
	padding-bottom: 2.5rem !important;
}
.padding-bottom-30 {
	padding-bottom: 3rem !important;
}
.padding-bottom-35 {
	padding-bottom: 3.5rem !important;
}
.padding-bottom-40 {
	padding-bottom: 4rem !important;
}
.padding-bottom-45 {
	padding-bottom: 4.5rem !important;
}
.padding-bottom-50 {
	padding-bottom: 5rem !important;
}
.padding-bottom-60 {
	padding-bottom: 6rem !important;
}
.padding-bottom-70 {
	padding-bottom: 7rem !important;
}
.padding-bottom-80 {
	padding-bottom: 8rem !important;
}
.padding-bottom-90 {
	padding-bottom: 9rem !important;
}
.padding-bottom-100 {
	padding-bottom: 10rem !important;
}
.padding-bottom-110 {
	padding-bottom: 11rem !important;
}
.padding-bottom-120 {
	padding-bottom: 12rem !important;
}
.padding-bottom-130 {
	padding-bottom: 13rem !important;
}
.padding-bottom-140 {
	padding-bottom: 14rem !important;
}
.padding-bottom-150 {
	padding-bottom: 15rem !important;
}
.padding-bottom-160 {
	padding-bottom: 16rem !important;
}
.padding-bottom-170 {
	padding-bottom: 17rem !important;
}
.padding-bottom-180 {
	padding-bottom: 18rem !important;
}
.padding-bottom-190 {
	padding-bottom: 19rem !important;
}
.padding-bottom-200 {
	padding-bottom: 20rem !important;
}


/* --------------------------------------------------------------------------------
container
-------------------------------------------------------------------------------- */
#container {
}


/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */
#header {
	z-index: 10;
	position: relative;
}

/********** logo-nav **********/
#header .logo-nav {
	display: flex;
	justify-content: space-between;
}

/********** h-logo **********/
#header .h-logo {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	
	width: 33rem;
	padding: 0 0 0 5rem;
}
#header .h-logo a {
	display: block;
}

/********** h-nav **********/
#header .h-nav {
}
#header .h-nav ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	max-width: 90rem;
}
#header .h-nav ul li {
	margin: 0 0 0 1.5rem;
}
#header .h-nav ul li a {
	display: block;
	padding: 2.9rem 1rem;
	font-weight: 500;
	font-size: 1.5rem;
}
#header .h-nav ul li.h-menu-contact a {
	padding: 2.9rem 3rem;
	color: #fff;
	background: #1e285a;
}


/* --------------------------------------------------------------------------------
wrapper
-------------------------------------------------------------------------------- */
#wrapper {
}


/* --------------------------------------------------------------------------------
mvスライダー
-------------------------------------------------------------------------------- */
.mv{
	padding: 0 0 10rem;
}
.mv .mv-area {
	position: relative;
	z-index: 1;
	overflow: hidden;
}

/********** mvスライダー：テキスト **********/
.mv .txt-mv {
	position: absolute;
	z-index: 10;
	
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.mv .txt-mv .txt-mv-wrapper {
}
.mv .txt-mv .txt-mv-box h1 {
	text-align: center;
	font-weight: 700;
	font-size: 10rem;
	color: rgba(255, 255, 255, 0.8);
}

/********** スライダー画像 **********/
.mv .slick-slider .slick-slide img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 90rem;
}

/********** ドット **********/
.mv .slick-slider  ul.slick-dots {
	position: absolute;
	bottom: 0;
	z-index: 5;
	
	width: 100%;
	
	display:flex;
	justify-content:center;
	
	padding: 0 0 2rem;
}
.mv .slick-slider  ul.slick-dots li {
	padding: 0 0.4rem;
}
.mv .slick-slider  ul.slick-dots li button {
	display: block;
	width: 0.8rem;
	height: 0.8rem;
	padding: 0;
	border-radius: 0.8rem;
	border: none;
	text-indent: -9999px;
	overflow: hidden;
	cursor: pointer;
	background: #d2d2d2;
}
.mv .slick-slider  ul.slick-dots li.slick-active button {
	background: #ff8c96;
}


/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */
#main {
	font-size: 1.8rem;
}


/* ----------------------------------------
見出し
---------------------------------------- */
#main h2 {
	display: flex;
	align-items: flex-end;
	
	padding: 0 0 1rem;
}
#main h2 .heading-en {
	display: block;
	
	position: relative;
	margin: -2rem 0 0;
	font-size: 9rem;
	font-weight: 700;
	color: #abb1c1;
}
#main h2 .heading-ja {
	display: block;
	
	position: relative;
	margin: auto auto 2.4rem 1rem;
	font-size: 2rem;
	font-weight: 700;
}









/********** 企業理念 **********/
#main .philosophy .philosophy-box {
	display: flex;
	justify-content: space-between;
	
	width: 124rem;
	margin: 0 auto 8rem;
}
#main .philosophy .philosophy-box .img {
	width: 62rem;
}
#main .philosophy .philosophy-box .txt {
	width: 56rem;
}
#main .philosophy .philosophy-box .txt h2 {
	display: block;
	padding: 0 0 4rem;
}
#main .philosophy .philosophy-box .txt h2 .heading-en {
	position: relative;
	margin: -2rem 0 0;
	text-align: right;
}
#main .philosophy .philosophy-box .txt h2 .heading-ja {
	position: relative;
	margin: -3rem 0.5rem 0 0.3rem;
	text-align: right;
	color: inherit;
}
#main .philosophy .philosophy-box .txt h3 {
	padding: 0 0 3rem;
	line-height: 1.6;
	font-size: 2.4rem;
	font-weight: bold;
	color: #1e285a;
}
#main .philosophy .philosophy-box .txt .txt-box p {
	line-height: 1.7;
}


/********** 事業紹介 **********/
#main .service {
	margin: 0 0 8rem;
	padding: 5rem 0 7rem;
	
	background: 
		url("../images/index/bg-service-top.png") no-repeat 0 0,
		url("../images/index/bg-service-bottom.png") no-repeat 100% 100%;
	background-color: #2a4172;
}
#main .service .service-box {
	width: 108rem;
	margin: 0 auto;
}
#main .service h2 {
	padding: 0 0 1rem;
}
#main .service h2 .heading-en {
	display: block;
	
	position: relative;
	margin: -2rem 0 0;
	font-size: 9rem;
	font-weight: 700;
	color: #abb1c1;
}
#main .service h2 .heading-ja {
	display: block;
	
	position: relative;
	margin: auto auto 2.4rem 1rem;
	font-size: 2rem;
	font-weight: 700;
	color: #fff;
}
#main .service .txt {
	padding: 0 0 5.5rem;
}
#main .service .txt p {
	line-height: 1.7;
	color: #fff;
}

/* 事業リスト */
#main .service .service-list ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	
	width: 100%;
}
#main .service .service-list ul li {
	width: 52rem;
	margin: 0 0 4rem;
	background: #fff;
}

/* 事業タイトル */
#main .service .service-unit h3 {
	position: relative;
}
#main .service .service-unit h3 .heading {
	position: relative;
	left: 2.8rem;
	display: block;
	margin: -2rem 0 0;
	
	border: solid 1px #1e285a;
	width: 46rem;
	padding: 1.2rem 1rem;
	text-align: center;
	font-weight: 700;
	font-size: 2.2rem;
	color: #1e285a;
	background: #fff;
	
	box-shadow: 0.4rem 0.4rem 0 #2d60ac;
}
#main .service .service-unit .txt-unit {
	padding: 1.5rem 3rem;
}
#main .service .service-unit .txt-unit p {
	line-height: 1.75;
}









/********** 取り扱い商品 **********/
#main .item .item-box {
	width: 108rem;
	margin: 0 auto 8rem;
}


#main .item .item-box h2 {
	padding: 0 0 5.9rem;
}
#main .item .item-box .item-list ul.item-list-cat {
	display: flex;
	flex-wrap: wrap;
	
	width: 100%;
}
#main .item .item-box .item-list ul.item-list-cat > li {
	width: 32rem;
	margin: 0 6rem 4rem 0;
}
#main .item .item-box .item-list ul.item-list-cat > li:nth-of-type(3n) {
	margin-right: 0;
}

/*** サムネイル ***/
#main .item .item-box .item-list ul.item-list-cat > li > .thumb {
	padding: 0 0 1.4rem;
}
#main .item .item-box .item-list ul.item-list-cat > li > .thumb img {
	display: block;
}

/*** 商品カテゴリー ***/
#main .item .item-box .item-list ul.item-list-cat > li > .item-info {
	padding: 0 1rem;
}

/* 商品カテゴリー */
#main .item .item-box .item-list ul.item-list-cat > li .cat-name {
	padding: 0 0 3rem;
	font-weight: 700;
	font-size: 2.2rem;
}

/* 商品リスト */
#main .item .item-box .item-list ul.item-list-cat > li ul.item-list-item li {
	padding: 0 0 0.5rem;
}




/********** お知らせ **********/
#main .oshirase {
	padding: 8rem 0 0;
	font-size: 1.8rem;
	background: #e6e8ed;
}
#main .oshirase h2 {
	display: flex;
	align-items: flex-end;
	
	padding: 0 0 3.5rem;
}
#main .oshirase h2 .heading-en {
	display: block;
	
	position: relative;
	margin: -2rem 0 0;
	font-size: 9rem;
	font-weight: 700;
	color: #abb1c1;
}
#main .oshirase h2 .heading-ja {
	display: block;
	
	position: relative;
	margin: auto auto 2.4rem 1rem;
	font-size: 2rem;
	font-weight: 700;
	color: #1e285a;
}
#main .oshirase .oshirase-box {
	width: 90rem;
	margin: 0 auto;
	padding: 0 0 6rem;
}
#main .oshirase .oshirase-box ul {
	padding: 0 0 3rem;
}
#main .oshirase .oshirase-box ul li {
	display: flex;
	justify-content: space-between;
	width: 100%;
	
	padding: 0.75rem 2rem;
}
#main .oshirase .oshirase-box ul li .datetime {
	width: 11.5rem;
}
#main .oshirase .oshirase-box ul li .title {
	width: calc(100% - 12rem);
}
#main .oshirase .oshirase-box ul li .title a {
	display: block;
}

#main .oshirase .btn-details {
	display: flex;
	justify-content: flex-end;
	
	padding: 1rem 0 0;
}
#main .oshirase .btn-details a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30rem;
	height: 6rem;
	font-weight: 500;
	font-size: 1.6rem;
	background: #fff;
}
#main .oshirase .btn-details a span {
	padding: 0.5rem 2.7rem 0.5rem 0;
	background: url("../images/common/icon-arr.svg") no-repeat 100% 60%;
	background-size: 0.9rem auto;
}


/* --------------------------------------------------------------------------------
パーツ
-------------------------------------------------------------------------------- */
/* ----------------------------------------
パーツ共通
---------------------------------------- */
/********** box **********/
.parts .parts-box {
}

/********** p **********/
.parts .parts-box p {
	line-height: 1.8;
}


/* ----------------------------------------
table（tbl-1）
---------------------------------------- */
.parts .tbl-1 table {
	width: 100%;
	border-top: solid 1px #abb1c1;
	border-bottom: solid 1px #abb1c1;
}
.parts .tbl-1 table tr {
}
.parts .tbl-1 table tr th {
	width: 20rem;
	padding: 1.5rem 2rem;
	border-top: solid 1px #abb1c1;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	font-weight: 700;
	background: #e6e8ed;
}
.parts .tbl-1 table tr td {
	width: calc(100% - 20rem);
	padding: 1.5rem 2rem;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	background: #fff;
}


/* ----------------------------------------
table（tbl-2）
---------------------------------------- */
.parts .tbl-2 table {
	width: 100%;
}
.parts .tbl-2 table tr {
	border-bottom: solid 1rem #e6e8ed;
}
.parts .tbl-2 table tr.same-year {
	border-bottom: none;
}
.parts .tbl-2 table tr th {
	width: 20rem;
	padding: 1.5rem 2rem;
	text-align: left;
	vertical-align: top;
	font-weight: 700;
}
.parts .tbl-2 table tr td {
	width: calc(100% - 20rem);
	padding: 1.5rem 2rem;
	text-align: left;
	vertical-align: top;
	background: #fff;
}


/* ----------------------------------------
table（tbl-3）
---------------------------------------- */
.parts .tbl-3 table {
	width: 100%;
	border-top: solid 1px #abb1c1;
	border-bottom: solid 1px #abb1c1;
}
.parts .tbl-3 table tr {
}
.parts .tbl-3 table tr th {
	width: 20rem;
	padding: 1.5rem 2rem;
	border-top: solid 1px #abb1c1;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	font-weight: 400;
	background: #e6e8ed;
}
.parts .tbl-3 table tr td {
	width: calc(100% - 20rem);
	padding: 1.5rem 2rem;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	background: #fff;
}


/********** 詳しく見る **********/
.parts .btn-details {
	display: flex;
	justify-content: flex-end;
}
.parts .btn-details a {
	display: block;
	padding: 1rem 3.5rem 1rem 2.5rem;
	border-radius: 4rem;
	font-weight: 500;
	font-size: 1.6rem;
	color: #fff;
	background: #ee5e69 url("../images/common/btn-arr.svg") no-repeat calc(100% - 2rem) 50%;
	background-size: 0.7rem auto;
}


/* ----------------------------------------
パーツ：お知らせ
---------------------------------------- */
.parts-news .sheading-1 {
	display: flex;
	
	width: 100%;
	margin: 0 0 1.35rem;
	padding: 1.5rem 0;
	background: #e6e8ed;
}
.parts-news .datetime {
	padding: 0.3rem 5rem 0 2rem;
	font-size: 1.6rem;
}
.parts-news h3 {
	font-size: 2rem;
	font-weight: 700;
}
.parts-news .news-unit {
	padding: 0 0 6rem;
}
.parts-news .txt .txt-box {
	padding: 0 2rem;
}
.parts-news .txt .txt-box p {
	line-height: 1.8;
}


/* ----------------------------------------
パーツ：PROFILE
---------------------------------------- */
.parts-profile {
	width: 108rem;
	margin: 0 auto;
}


/* ----------------------------------------
パーツ：HISTORY
---------------------------------------- */
.parts-history {
	padding: 7rem 0;
	background: #e6e8ed;
}
.parts-history .parts-wrapper {
	width: 108rem;
	margin: 0 auto;
}


/* ----------------------------------------
パーツ：マップ
---------------------------------------- */
.parts-map iframe {
	display: block;
	width: 100%;
	height: 48rem;
}


/* ----------------------------------------
パーツ：採用情報
---------------------------------------- */
.parts-recruit .txt-intro {
	padding: 0 0 5rem;
}
.parts-recruit .recruit-unit .recruit-unit-box {
	padding: 0 0 5rem;
}
.parts-recruit h3 {
	margin: 0 0 2rem;
	padding: 1.5rem 2rem;
	font-weight: 700;
	color: #fff;
	background: #2a4172;
}
.parts-recruit h4 {
	margin: 0 0 2rem;
	padding: 1.5rem 2rem;
	border: solid 0.2rem #2a4172;
	font-weight: 700;
	color: #2a4172;
}
.parts-recruit .txt-okigaru {
	padding: 0 0 2.5rem;
	text-align: center;
}
.parts-recruit .btn-contact {
	display: flex;
	justify-content: center;
	
	padding: 0 0 2rem;
}
.parts-recruit .btn-contact a {
	display: block;
	
	width: 30rem;
	padding: 1.75rem 0;
	border-radius: 30rem;
	text-align: center;
	color: #fff;
	background: #f24452;
}
.parts-recruit .btn-contact a .mark-1 {
	padding: 0 2.5rem 0 0;
	background: url("../images/common/icon-arr-contact.svg") no-repeat 100% 55%;
	background-size: 0.85rem auto;
}
.parts-recruit .txt-contact {
	text-align: center;
}
.parts-recruit .txt-contact .txt-tel {
	font-weight: bold;
	font-size: 2.4rem;
}


/* ----------------------------------------
パーツ：お問い合わせ
---------------------------------------- */
.parts-contact .contact-form {
	padding: 2rem 0;
	background: #fff;
}
.parts-contact .txt .txt-box {
	padding: 0 2rem;
}

/********** フォーム入力 **********/
.parts-contact .contact-form .form-box {
	padding: 0;
}
.parts-contact .contact-form table {
	width: 100%;
	border-top: solid 1px #abb1c1;
	border-bottom: solid 1px #abb1c1;
}

/********** 項目 **********/
.parts-contact .contact-form tr th {
	width: 30rem;
	padding: 1.5rem 2rem;
	border-top: solid 1px #abb1c1;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	font-weight: 700;
	background: #e6e8ed;
}
.parts-contact .contact-form tr th .label-mark {
	display: flex;
	align-items: center;
	
	width: 100%;
	padding: 0.5rem 0;
}
.parts-contact .contact-form tr th .label-mark .label {
	padding: 0 1rem 0 0;
	font-weight: 700;
}
/* マーク */
.parts-contact .contact-form tr th .label-mark .mark-1 {
	display: inline-block;
}
/* 必須 */
.parts-contact .contact-form tr th .label-mark .mark-need {
	padding: 0.05rem 0.5rem;
	font-size: 1.2rem;
	color: #fff;
	background: #f00;
}


/********** 入力 **********/
.parts-contact .contact-form tr td {
	width: calc(100% - 30rem);
	padding: 1.5rem 2rem;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	background: #fff;
}
.parts-contact .contact-form tr td .form-unit .form-item {
	padding: 0 0 0.5rem;
}
.parts-contact .contact-form tr td .form-unit .form-item:last-child {
	padding: 0;
}
.parts-contact .contact-form tr td select {
	display: block;
	
	width: 100%;
	padding: 0.5rem;
	border: solid 1px #bcbcbc;
}
.parts-contact .contact-form tr td input {
	display: block;
	
	width: 100%;
	padding: 0.5rem;
	border: solid 1px #bcbcbc;
}
.parts-contact .contact-form tr td textarea {
	display: block;
	
	width: 100%;
	height: 15rem;
	padding: 0.5rem;
	border: solid 1px #bcbcbc;
}

/********** 住所 **********/
.parts-contact .contact-form tr.form-set-address .form-item {
	display: flex;
	
	width: 100%;
}
.parts-contact .contact-form tr.form-set-address .form-item .form-name {
	width: 20rem;
}
.parts-contact .contact-form tr.form-set-address .form-item .form-input {
	width: calc(100% - 20rem);
}


/********** ボタン **********/
.parts-contact .contact-form .btn-form {
	display: flex;
	justify-content: center;
}
.parts-contact .contact-form .btn-form .btn-form-box {
	margin: 0 0.5rem;
}
.parts-contact .contact-form .btn-form .btn-form-box input {
	display: inline-block;
	padding: 1rem 2rem;
	border: none;
	background: #ddd;
	
	cursor: pointer;
}


/********** フォーム用文章 **********/
.parts-contact .txt-form-att {
	padding: 2rem;
	line-height: 1.8;
	font-size: 1.4rem;
	background: #f2f2f2;
}


/* ----------------------------------------
エラー
---------------------------------------- */
/********** エラーメッセージ **********/
.parts-contact .errm .error_messe{
	padding: 0 0 0.5rem;
	color: #f00;
}


/* ----------------------------------------
確認
---------------------------------------- */
/********** 確認内容 **********/
.parts-contact .contact-form tr td .form-input span.input-value {
	display: block;
	
	width: 100%;
	padding: 0.5rem;
}


/* ----------------------------------------
送信完了
---------------------------------------- */
/********** 確認内容 **********/
.parts-contact .btn-thanks a {
	text-decoration: underline;
}


/* --------------------------------------------------------------------------------
エフェクト：スライドスクロール
-------------------------------------------------------------------------------- */
/********** スライドイン **********/
/*
.parts.effect_parts {
	transform: translateY(100px);
	opacity: 0;
	visibility: hidden;
	transition: transform 0.5s, opacity 0.5s, visibility 0.5s;
}
.parts.effect_parts.effect_active {
	transform: translateY(0px);
	opacity: 1;
	visibility: visible;
}
*/

/********** フェードイン **********/
.parts.effect_parts {
	transform: translateY(0);
	opacity: 0;
	visibility: hidden;
	transition: transform 1s, opacity 1s, visibility 1s;
}
.parts.effect_parts.effect_active {
	transform: translateY(0);
	opacity: 1;
	visibility: visible;
}


/* --------------------------------------------------------------------------------
コンテンツページ
-------------------------------------------------------------------------------- */
/********** ページタイトル **********/
h1.heading-1 {
	padding: 5rem 35rem 6rem;
	text-align: center;
	line-height: 1.3;
	font-weight: 400;
	font-size: 3.2rem;
	
	color: #fff;
	background: 
		url("../images/common/title-bg-left.png") no-repeat 0 0,
		url("../images/common/title-bg-right.png") no-repeat 100% 100%;
	background-color: #2a4172;
}
h1.heading-1 .heading-en {
	display: block;
	font-weight: 700;
	font-size: 5rem;
}
h1.heading-1 .heading-ja {
	display: block;
	font-size: 2rem;
}


/* --------------------------------------------------------------------------------
footer
-------------------------------------------------------------------------------- */
#footer{
}

/********** footer-inner **********/
#footer .footer-inner {
	padding: 15rem 0 2rem;
	font-size: 1.6rem;
	background: url("../images/common/f-bg.svg") no-repeat 50% 100%;
	background-size: 100% 38rem;
}


/********** address **********/
#footer .access {
	display: flex;
	justify-content: space-between;
	
	line-height: 1.3;
	font-size: 1.6rem;
	font-weight: 500;
	background: #fff;
}


/* map */
#footer .access .map iframe {
	display: block;
	width: 62rem;
	height: 50rem;
}


/* access-box */
#footer .access .access-box {
	width: 56rem;
}
#footer .access .access-box .heading .heading-en {
	position: relative;
	margin: -1rem 0 0;
	font-size: 9rem;
	font-weight: 700;
	color: #abb1c1;
}
#footer .access .access-box .heading .heading-ja {
	position: relative;
	margin: -1.8rem 0 0 0.3rem;
	font-size: 2rem;
	font-weight: 700;
}
#footer .access .access-box .f-logo {
	width: 33rem;
}

/********** .address **********/
#footer .access .access-box .address {
	padding: 0 0 2.5rem;
}

/********** .txt-map **********/
#footer .access .access-box .txt-map {
	line-height: 1.8;
}

/********** footer-contents **********/
#footer .footer-contents .footer-contents-box {
	display: flex;
	justify-content: space-between;
	
	width: 108rem;
	margin: 0 auto;
	padding: 3rem 0 0;
	color: #fff;
}

/********** hours **********/
#footer .hours {
	padding: 0 0 2rem;
}

/********** copyright **********/
#footer .copyright {
	font-size: 1.1rem;
}

/********** f-sns **********/
#footer .f-sns {
	padding: 1rem 0 1.75rem;
}
#footer .f-sns ul {
	display: flex;
	justify-content: center;
}
#footer .f-sns ul li {
	padding: 0 0.5rem;
}
#footer .f-sns ul li a {
	display: block;
}
#footer .f-sns ul li a img {
	width: 3rem;
	height: auto;
}

/********** f-fix **********/
#footer .f-fix {
	position: fixed;
	z-index: 10;
	
	right: 3rem;
	bottom: 3rem;
}
#footer .f-fix .btn-pagetop {
}
#footer .f-fix .btn-pagetop a {
	display: flex;
}
#footer .f-fix .btn-pagetop a img {
	display: block;
	width: 6rem;
}



