@charset "utf-8";


/* --------------------------------------------------------------------------------
html & body
-------------------------------------------------------------------------------- */
html {
}
body {
	margin: 0;
	padding: 0;
	line-height: 1.5;
	font-size: 4vw;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	
	color: #222;
}


/* --------------------------------------------------------------------------------
共通 リセット タグ等
-------------------------------------------------------------------------------- */
.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';
}

.common .bold {
	font-weight: bold;
}
.common .font-white {
	color: #ffffff;
}
.common .text-center{
	text-align: center;
}
.common .text-left{
	text-align: left;
}
.common .text-right{
	text-align: right;
}


/* --------------------------------------------------------------------------------
共通クラス
-------------------------------------------------------------------------------- */
.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 {
	padding: 0 5vw;
}
body.home .inner {
	padding: 0 0;
}


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


/* --------------------------------------------------------------------------------
margin
-------------------------------------------------------------------------------- */
/********** margin-top **********/
.margin-top-0 {
	margin-top: 0 !important;
}
.margin-top-5 {
	margin-top: 1.25vw !important;
}
.margin-top-10 {
	margin-top: 2.5vw !important;
}
.margin-top-15 {
	margin-top: 3.75vw !important;
}
.margin-top-20 {
	margin-top: 5vw !important;
}
.margin-top-25 {
	margin-top: 6.25vw !important;
}
.margin-top-30 {
	margin-top: 7.5vw !important;
}
.margin-top-35 {
	margin-top: 8.25vw !important;
}
.margin-top-40 {
	margin-top: 10vw !important;
}
.margin-top-45 {
	margin-top: 11.5vw !important;
}
.margin-top-50 {
	margin-top: 12.5vw !important;
}
.margin-top-60 {
	margin-top: 15vw !important;
}
.margin-top-70 {
	margin-top: 17.5vw !important;
}
.margin-top-80 {
	margin-top: 20vw !important;
}
.margin-top-90 {
	margin-top: 22.5vw !important;
}
.margin-top-100 {
	margin-top: 25vw !important;
}
.margin-top-110 {
	margin-top: 27.5vw !important;
}
.margin-top-120 {
	margin-top: 30vw !important;
}
.margin-top-130 {
	margin-top: 32.5vw !important;
}
.margin-top-140 {
	margin-top: 35vw !important;
}
.margin-top-150 {
	margin-top: 37.5vw !important;
}
.margin-top-160 {
	margin-top: 40vw !important;
}
.margin-top-170 {
	margin-top: 42.5vw !important;
}
.margin-top-180 {
	margin-top: 45vw !important;
}
.margin-top-190 {
	margin-top: 47.5vw !important;
}
.margin-top-200 {
	margin-top: 50vw !important;
}

/********** margin-bottom **********/
.margin-bottom-0 {
	margin-bottom: 0 !important;
}
.margin-bottom-5 {
	margin-bottom: 1.25vw !important;
}
.margin-bottom-10 {
	margin-bottom: 2.5vw !important;
}
.margin-bottom-15 {
	margin-bottom: 3.75vw !important;
}
.margin-bottom-20 {
	margin-bottom: 5vw !important;
}
.margin-bottom-25 {
	margin-bottom: 6.25vw !important;
}
.margin-bottom-30 {
	margin-bottom: 7.5vw !important;
}
.margin-bottom-35 {
	margin-bottom: 8.25vw !important;
}
.margin-bottom-40 {
	margin-bottom: 10vw !important;
}
.margin-bottom-45 {
	margin-bottom: 11.5vw !important;
}
.margin-bottom-50 {
	margin-bottom: 12.5vw !important;
}
.margin-bottom-60 {
	margin-bottom: 15vw !important;
}
.margin-bottom-70 {
	margin-bottom: 17.5vw !important;
}
.margin-bottom-80 {
	margin-bottom: 20vw !important;
}
.margin-bottom-90 {
	margin-bottom: 22.5vw !important;
}
.margin-bottom-100 {
	margin-bottom: 25vw !important;
}
.margin-bottom-110 {
	margin-bottom: 27.5vw !important;
}
.margin-bottom-120 {
	margin-bottom: 30vw !important;
}
.margin-bottom-130 {
	margin-bottom: 32.5vw !important;
}
.margin-bottom-140 {
	margin-bottom: 35vw !important;
}
.margin-bottom-150 {
	margin-bottom: 37.5vw !important;
}
.margin-bottom-160 {
	margin-bottom: 40vw !important;
}
.margin-bottom-170 {
	margin-bottom: 42.5vw !important;
}
.margin-bottom-180 {
	margin-bottom: 45vw !important;
}
.margin-bottom-190 {
	margin-bottom: 47.5vw !important;
}
.margin-bottom-200 {
	margin-bottom: 50vw !important;
}


/* --------------------------------------------------------------------------------
padding
-------------------------------------------------------------------------------- */
/********** padding-top **********/
.padding-top-0 {
	padding-top: 0 !important;
}
.padding-top-5 {
	padding-top: 1.25vw !important;
}
.padding-top-10 {
	padding-top: 2.5vw !important;
}
.padding-top-15 {
	padding-top: 3.75vw !important;
}
.padding-top-20 {
	padding-top: 5vw !important;
}
.padding-top-25 {
	padding-top: 6.25vw !important;
}
.padding-top-30 {
	padding-top: 7.5vw !important;
}
.padding-top-35 {
	padding-top: 8.25vw !important;
}
.padding-top-40 {
	padding-top: 10vw !important;
}
.padding-top-45 {
	padding-top: 11.5vw !important;
}
.padding-top-50 {
	padding-top: 12.5vw !important;
}
.padding-top-60 {
	padding-top: 15vw !important;
}
.padding-top-70 {
	padding-top: 17.5vw !important;
}
.padding-top-80 {
	padding-top: 20vw !important;
}
.padding-top-90 {
	padding-top: 22.5vw !important;
}
.padding-top-100 {
	padding-top: 25vw !important;
}
.padding-top-110 {
	padding-top: 27.5vw !important;
}
.padding-top-120 {
	padding-top: 30vw !important;
}
.padding-top-130 {
	padding-top: 32.5vw !important;
}
.padding-top-140 {
	padding-top: 35vw !important;
}
.padding-top-150 {
	padding-top: 37.5vw !important;
}
.padding-top-160 {
	padding-top: 40vw !important;
}
.padding-top-170 {
	padding-top: 42.5vw !important;
}
.padding-top-180 {
	padding-top: 45vw !important;
}
.padding-top-190 {
	padding-top: 47.5vw !important;
}
.padding-top-200 {
	padding-top: 50vw !important;
}

/********** padding-bottom **********/
.padding-bottom-0 {
	padding-bottom: 0 !important;
}
.padding-bottom-5 {
	padding-bottom: 1.25vw !important;
}
.padding-bottom-10 {
	padding-bottom: 2.5vw !important;
}
.padding-bottom-15 {
	padding-bottom: 3.75vw !important;
}
.padding-bottom-20 {
	padding-bottom: 5vw !important;
}
.padding-bottom-25 {
	padding-bottom: 6.25vw !important;
}
.padding-bottom-30 {
	padding-bottom: 7.5vw !important;
}
.padding-bottom-35 {
	padding-bottom: 8.25vw !important;
}
.padding-bottom-40 {
	padding-bottom: 10vw !important;
}
.padding-bottom-45 {
	padding-bottom: 11.5vw !important;
}
.padding-bottom-50 {
	padding-bottom: 12.5vw !important;
}
.padding-bottom-60 {
	padding-bottom: 15vw !important;
}
.padding-bottom-70 {
	padding-bottom: 17.5vw !important;
}
.padding-bottom-80 {
	padding-bottom: 20vw !important;
}
.padding-bottom-90 {
	padding-bottom: 22.5vw !important;
}
.padding-bottom-100 {
	padding-bottom: 25vw !important;
}
.padding-bottom-110 {
	padding-bottom: 27.5vw !important;
}
.padding-bottom-120 {
	padding-bottom: 30vw !important;
}
.padding-bottom-130 {
	padding-bottom: 32.5vw !important;
}
.padding-bottom-140 {
	padding-bottom: 35vw !important;
}
.padding-bottom-150 {
	padding-bottom: 37.5vw !important;
}
.padding-bottom-160 {
	padding-bottom: 40vw !important;
}
.padding-bottom-170 {
	padding-bottom: 42.5vw !important;
}
.padding-bottom-180 {
	padding-bottom: 45vw !important;
}
.padding-bottom-190 {
	padding-bottom: 47.5vw !important;
}
.padding-bottom-200 {
	padding-bottom: 50vw !important;
}


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


/* --------------------------------------------------------------------------------
header
-------------------------------------------------------------------------------- */
#header-sp {
}

#header-sp .h-contents {
	display: flex;
	
	width: 100%;
	height: 14vw;
}

/********** h-logo **********/
#header-sp .h-logo {
	width: 79%;
	padding: 2.3% 0 0;
	background: #fff;
}
#header-sp .h-logo a {
	display: block;
	padding: 1vw 3vw;
}
#header-sp .h-logo img {
	width: 100%;
}

/********** h-menu-contact **********/
#header-sp .h-menu-contact {
	display: flex;
	
	width: 24%;
	font-size: 3vw;
}
#header-sp .h-menu-contact a {
	display: flex;
	justify-content: center;
	align-items: center;
	
	width: 100%;
	color: #fff;
	background: #1e285a;
}



/* ----------------------------------------
h-menu
---------------------------------------- */
#header-sp .h-menu {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
}

/* ハンバーガーメニューのアイコン：ボタンの代わりに表示 */
#header-sp .menu-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	
	position: absolute;
	
	right: 0;
	top: 0;
	z-index: 200;
	
	width: 12vw;
	height: 14vw;
	
	cursor: pointer;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	background: #002864;
}

/* アイコン */
#header-sp .menu-icon .navicon {
	background: #fff;
	display: block;
	height: 0.4vw;
	width: 6vw;
	position: relative;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* アイコンの疑似要素 */
#header-sp .menu-icon .navicon:before,
#header-sp .menu-icon .navicon:after {
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	background: #fff;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}



/* h-menu-list */
#header-sp .h-menu .h-menu-list {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	z-index: 1;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	
	width: 100%;
	height: auto;
	
	padding: 20vw 0 2vw;
	clear: both;
	background: #002864;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
	transform: scale(1, 0);
	transform-origin: top;
}

/* Hamburger menu button */
#header-sp input.menu-btn:checked ~ .h-menu-list {
	z-index: 100;
	
	transform: scale(1, 1);
	transform-origin: top;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

/* メニューリスト */
#header-sp .h-menu-list ul {
	padding: 0 8vw;
}
#header-sp .h-menu-list li {
	padding: 1vw 1vw;
	opacity: 0;
	transition: 0.5s;
}
#header-sp .h-menu-list li.h-menu-reserve {
	margin: 4vw 0 0;
	padding: 6vw 0 0;
	border-top: solid 1px #fff;
}
#header-sp .h-menu-list a {
	display: block;
	
	padding: 2vw 0;
	text-decoration: none;
	font-size: 4vw;
	text-align: left;
	text-transform: capitalize;
	color: #fff;
	opacity: 0;
	transition: 0.5s;
}

#header-sp .menu-btn:checked ~ .h-menu-list ul li a,
#header-sp .menu-btn:checked ~ .h-menu-list ul li {
	opacity: 1;
	transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}
#header-sp .h-menu .h-menu-list a{
	color: #fff;
}

#header-sp .h-menu .menu-btn {
	display: none;
}


#header-sp .h-menu .navicon:before {
	top: 2vw;
}

#header-sp .h-menu .navicon:after {
	bottom: 2vw;
}

/* ハンバーガーメニューのアニメーション */
#header-sp .menu-btn:checked ~ .menu-icon {
	background: transparent;
}
#header-sp .menu-btn:checked ~ .menu-icon .navicon:before {
	transform: rotate(-45deg);
}

#header-sp .menu-btn:checked ~ .menu-icon .navicon:after {
	transform: rotate(45deg);
}

#header-sp .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before {
	top: 0;
	background: #fff;
}
#header-sp .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
	bottom: 0;
	background: #fff;
}

#header-sp .menu-btn:checked ~ .menu-icon .navicon {
	background: rgba(255, 255, 255, 0);
	transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}
/* ↑ハンバーガーメニューのアニメーションここまで↑ */


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


/* --------------------------------------------------------------------------------
main
-------------------------------------------------------------------------------- */
#main {
}




/* --------------------------------------------------------------------------------
パーツ
-------------------------------------------------------------------------------- */
/* ----------------------------------------
パーツ共通
---------------------------------------- */


/* ----------------------------------------
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: 25%;
	padding: 3vw 2vw;
	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: 75%;
	padding: 3vw 2vw;
	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 2.5vw #e6e8ed;
}
.parts .tbl-2 table tr.same-year {
	border-bottom: none;
}
.parts .tbl-2 table tr th {
	padding: 3vw 2vw;
	text-align: left;
	vertical-align: top;
	font-weight: 700;
}
.parts .tbl-2 table tr td {
	padding: 3vw 2vw;
	text-align: left;
	vertical-align: top;
	background: #fff;
}
.parts .tbl-2 table tr td.year {
	padding: 3vw 0 3vw 2vw;
	font-weight: 700;
}
.parts .tbl-2 table tr td.month {
	
}
.parts .tbl-2 table tr td.desc {
	width: 50vw;
}


/* ----------------------------------------
table（tbl-3）
---------------------------------------- */
.parts .tbl-3 table {
	width: 100%;
	border-top: solid 0.2vw #abb1c1;
	border-bottom: solid 0.2vw #abb1c1;
}
.parts .tbl-3 table tr {
}
.parts .tbl-3 table tr th {
	width: 25%;
	padding: 3vw 2vw;
	border-top: solid 0.2vw #abb1c1;
	border-bottom: solid 0.2vw #abb1c1;
	text-align: left;
	vertical-align: top;
	line-height: 1.8;
	font-weight: 400;
	background: #e6e8ed;
}
.parts .tbl-3 table tr td {
	padding: 3vw 3vw;
	border-bottom: solid 1px #abb1c1;
	text-align: left;
	vertical-align: top;
	line-height: 1.75;
	background: #fff;
}

/* ----------------------------------------
table（normal-table）
---------------------------------------- */
.parts table.normal-table {
	width: 100%;
}
.parts table.normal-table tr {
}
.parts table.normal-table tr th {
	padding: 2vw 1vw;
	text-align: left;
	vertical-align: top;
	font-weight: 700;
}
.parts table.normal-table tr td {
	padding: 2vw 1vw;
	text-align: left;
	vertical-align: top;
}


/* ----------------------------------------
パーツ：お知らせ
---------------------------------------- */
.parts-news .sheading-1 {
	margin: 0 0 2vw;
	padding: 1vw;
	background: #e6e8ed;
}
.parts-news .datetime {
	padding: 1.5vw 2vw 0 2vw;
	font-size: 3.6vw;
}
.parts-news h3 {
	padding: 0 2vw 1.5vw 2vw;
	font-size: 4.4vw;
	font-weight: 700;
}
.parts-news .news-unit {
	padding: 0 0 16vw;
}
.parts-news .txt .txt-box {
	padding: 0 2vw;
}
.parts-news .txt .txt-box p {
	line-height: 1.8;
}


/* ----------------------------------------
パーツ：PROFILE
---------------------------------------- */
.parts-profile {
	padding: 0 4vw;
}


/* ----------------------------------------
パーツ：HISTORY
---------------------------------------- */
.parts-history {
	padding: 12vw 4vw;
	background: #e6e8ed;
}
.parts-history .parts-wrapper {
}


/* ----------------------------------------
パーツ：採用情報
---------------------------------------- */
.parts-recruit .txt-intro {
	padding: 0 0 5vw;
}
.parts-recruit .txt-intro p {
	line-height: 1.8;
}
.parts-recruit .recruit-unit .recruit-unit-box {
	padding: 0 0 10vw;
}
.parts-recruit h3 {
	margin: 0 0 3vw;
	padding: 2.5vw 2vw;
	font-weight: 700;
	font-size: 4.4vw;
	color: #fff;
	background: #2a4172;
}
.parts-recruit h4 {
	margin: 0 0 3vw;
	padding: 2vw 2vw;
	border: solid 0.4vw #2a4172;
	font-weight: 700;
	font-size: 4.4vw;
	color: #2a4172;
}
.parts-recruit .txt-okigaru {
	padding: 0 0 4vw;
	text-align: center;
}
.parts-recruit .btn-contact {
	display: flex;
	justify-content: center;
	
	padding: 0 0 2vw;
}
.parts-recruit .btn-contact a {
	display: block;
	
	width: 60vw;
	padding: 3.2vw 0;
	border-radius: 60vw;
	text-align: center;
	color: #fff;
	background: #f24452;
}
.parts-recruit .btn-contact a .mark-1 {
	padding: 0 5vw 0 0;
	background: url("../images/common/icon-arr-contact.svg") no-repeat 100% 55%;
	background-size: 1.8vw auto;
}
.parts-recruit .txt-contact {
	text-align: center;
	font-size: 4vw;
}
.parts-recruit .txt-contact .txt-tel {
	font-weight: bold;
	font-size: 4.8vw;
}


/* ----------------------------------------
パーツ：SERVICE
---------------------------------------- */
.parts-contents-service {
}
.parts-contents-service .txt-contents-service {
	padding: 0 4vw 10vw;
}
.parts-contents-service .txt-contents-service p {
	line-height: 1.8;
}
.parts-contents-service h2.heading-2 {
	display: flex;
	
	background: #2a4172 url(../images/common/bg-shape-sp.svg) no-repeat 0 0;
	background-size: 25vw auto;
}
.parts-contents-service h2.heading-2 .mark-1 {
	width: 27vw;
	padding: 2vw 0 2vw 4vw;
	line-height: 1.2;
}
.parts-contents-service h2.heading-2 .heading-en {
	display: block;
	
	position: relative;
	margin:  0 0;
	font-size: 4vw;
	font-weight: 700;
	color: #abb1c1;
	align-self: flex-end;
}
.parts-contents-service h2.heading-2 .heading-no {
	position: relative;
	
	display: block;
	margin-top: -1vw;
	
	font-size: 8vw;
	font-weight: 700;
	color: #abb1c1;
	align-self: flex-end;
}
.parts-contents-service h2.heading-2 .heading-txt {
	position: relative;
	display: block;
	
	padding: 4.5vw 0 0;
	font-size: 5.2vw;
	font-weight: 700;
	color: #fff;
}
.parts-contents-service .parts-box {
	padding: 0 0 18vw;
}
.parts-contents-service .parts-box:last-child {
	padding: 0;
}
.parts-contents-service .img-txt {
	position: relative;
	padding: 0.1vw 0 0;
}
.parts-contents-service .img {
	position: absolute;
	z-index: -1;
	
	display: block;
}
.parts-contents-service .txt {
	position: relative;
	
	margin: 48vw 4vw 0;
	padding: 5vw 4vw;
	background: rgba(230,232,237,0.8);
}
.parts-contents-service .txt h3 {
	padding: 0 0 1vw;
	line-height: 1.5;
	font-size: 4.6vw;
}
.parts-contents-service .txt p {
	padding: 0 0 1vw;
	line-height: 1.85;
	font-size: 4vw;
}


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

/********** フォーム入力 **********/
.parts-contact .contact-form .form-box {
	padding: 4vw 0;
}
.parts-contact .contact-form table {
	display: block;
	width: 100%;
}
.parts-contact .contact-form tbody {
	display: block;
}
.parts-contact .contact-form tr {
	display: block;
}

/********** 項目 **********/
.parts-contact .contact-form tr th {
	display: block;
	
	padding: 1vw 2vw;
	text-align: left;
	vertical-align: top;
}
.parts-contact .contact-form tr th .label-mark {
	display: flex;
	align-items: center;
	
	width: 100%;
	padding: 0.5vw 0;
}
.parts-contact .contact-form tr th .label-mark .label {
	padding: 0 2vw 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.2vw 1vw;
	font-size: 3vw;
	color: #fff;
	background: #f00;
}


/********** 入力 **********/
.parts-contact .contact-form tr td {
	display: block;
	
	padding: 0 2vw 4vw;
	font-size: 4vw;
	text-align: left;
	vertical-align: top;
	background: #fff;
}
.parts-contact .contact-form tr td .form-unit .form-item {
	padding: 0 0 2vw;
}
.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%;
	height: 10vw;
	padding: 0 0.5vw;
	border: solid 1px #bcbcbc;
}
.parts-contact .contact-form tr td input {
	display: block;
	
	width: 100%;
	height: 10vw;
	padding: 0 0.5vw;
	font-size: 4vw;
	border: solid 1px #bcbcbc;
}
.parts-contact .contact-form tr td textarea {
	display: block;
	
	width: 100%;
	height: 30vw;
	padding: 0 0.5vw;
	font-size: 4vw;
	border: solid 1px #bcbcbc;
}

/********** 住所 **********/
.parts-contact .contact-form tr.form-set-address .form-item {
}
.parts-contact .contact-form tr.form-set-address .form-item .form-name {
	padding: 0 0 0.5vw;
	font-size: 3.5vw;
}
.parts-contact .contact-form tr.form-set-address .form-item .form-input {
}


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


/********** フォーム用文章 **********/
.parts-contact .txt-form-att {
	margin: 0 2vw;
	padding: 3vw 3vw;
	line-height: 1.6;
	font-size: 3.5vw;
	background: #f2f2f2;
}


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




/* ----------------------------------------
確認
---------------------------------------- */
/********** 確認内容 **********/
.parts-contact .contact-form tr td .form-input span.input-value {
	display: block;
}




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


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


/* --------------------------------------------------------------------------------
エフェクト：スライドスクロール
-------------------------------------------------------------------------------- */
/********** スライドイン **********/
/*
.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;
}


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


/********** copyright **********/
#footer .copyright {
	text-align: center;
	font-size: 3vw;
}

/********** f-fix **********/
#footer .f-fix {
	position: fixed;
	z-index: 5;
	
	right: 0;
	bottom: 5vw;
}
#footer .f-fix .btn-pagetop {
}
#footer .f-fix .btn-pagetop a {
	display: flex;
}
#footer .f-fix .btn-pagetop a img {
	display: block;
	width: 9vw;
}





