/*
Theme Name:Template-theme
Author:更新システム
Description:更新システム専用テーマ
Version: 2.4.1
*/


/* YUI 3.5.0 reset.css (http://developer.yahoo.com/yui/3/cssreset/) - http://cssreset.com */

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

table {
	border-collapse: collapse;
	border-spacing: 0
}

fieldset, img {
	border: 0
}

address, caption, cite, code, dfn, em, strong, th, var {
	font-style: normal;
	font-weight: normal
}

ol, ul {
	list-style: none
}

caption, th {
	text-align: left
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal
}

q:before, q:after {
	content: ''
}

abbr, acronym {
	border: 0;
	font-variant: normal
}

sup {
	vertical-align: text-top
}

input, textarea, select {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit
}

input, textarea, select {
	*font-size: 100%
}

legend {
	color: #000
}

#yui3-css-stamp.cssreset {
	display: none
}

a {}

a:hover {
	text-decoration: none;
}

a:hover img {
	opacity: 0.8;
	filter: alpha(opacity=80);
}

body {
	font-size: 100%;
	font-family: 'Noto Sans JP', sans-serif, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
	line-height: 1.6;
}

body .serif {
	font-family: 'Noto Serif JP', sans-serif, "ヒラギノ明朝 Pro W3", "ＭＳ Ｐ明朝", "MS PMincho", "Hiragino Mincho Pro", "serif"
}

body .type-script {
	font-family: 'Tangerine', cursive;
}

#body-inside {
	overflow-x: hidden;
	font-size: 0.9rem;
	background-size: 100%;
}

.imgbox img {
	width: 100%;
	margin: 20px auto;
}

.bold {
	font-weight: bold;
}

/* -------------------------------------------
	CLEAR-FIX
---------------------------------------------- */
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.clearfix {
	display: inline-block;
}

/* Hides from IE-mac \*/
* html.clearfix {
	height: 1%;
}

.clearfix {
	display: block;
}

/* -------------------------------------------
	Utility
---------------------------------------------- */

/* Margin
-------------*/
.m0 {
	margin: 0
}

.m10 {
	margin: 10px
}

.m15 {
	margin: 15px;
}

.m20 {
	margin: 20px;
}

.mg5 {
	margin: 5px;
}

.mg10 {
	margin: 10px;
}

.mg15 {
	margin: 15px;
}

.mg20 {
	margin: 20px;
}

.mt5 {
	margin-top: 5px;
}

.mt10 {
	margin-top: 10px;
}

.mt15 {
	margin-top: 15px;
}

.mt20 {
	margin-top: 20px;
}

.mt30 {
	margin-top: 30px;
}

.mt50 {
	margin-top: 50px;
}

.mt100 {
	margin-top: 100px;
}

.ml5 {
	margin-left: 5px;
}

.ml8 {
	margin-left: 8px;
}

.ml10 {
	margin-left: 10px;
}

.ml15 {
	margin-left: 15px;
}

.ml20 {
	margin-left: 20px;
}

.ml30 {
	margin-left: 30px;
}

.ml40 {
	margin-left: 40px;
}

.ml50 {
	margin-left: 50px;
}

.mr5 {
	margin-right: 5px;
}

.mr10 {
	margin-right: 10px;
}

.mr15 {
	margin-right: 15px;
}

.mr20 {
	margin-right: 20px;
}

.mb5 {
	margin-bottom: 5px;
}

.mb10 {
	margin-bottom: 10px;
}

.mb15 {
	margin-bottom: 15px;
}

.mb20 {
	margin-bottom: 20px;
}

.mb50 {
	margin-bottom: 50px;
}

.mb100 {
	margin-bottom: 100px;
}

/* padding
---------------------*/
#wrapper .p5 {
	padding: 5px;
}

#wrapper .p10 {
	padding: 10px;
}

#wrapper .pt10 {
	padding-top: 10px;
}

#wrapper .pt20 {
	padding-top: 20px;
}

#wrapper .pb20 {
	padding-bottom: 20px;
}

/* Float
---------------------*/
.fl {
	float: left
}

.fr {
	float: right;
}

.cl {
	clear: both;
}

/* cursor
-------------------*/
.cp {
	cursor: pointer;
}

.fcr {
	color: #fff;
}

.attention {
	color: #f00;
	font-weight: bold;
}

.link-arrow {
	padding-left: 20px;
	background: url(../images/common/bg_side-list.png) left center no-repeat;
}

/* width
--------------------*/
.w100 {
	width: 100px;
}

.w130 {
	width: 130px;
}

.w200 {
	width: 200px;
}

.w220 {
	width: 220px;
}

.w245 {
	width: 245px;
}

.w270 {
	width: 270px;
}

.w300 {
	width: 300px;
}

.w330 {
	width: 330px;
}

.w400 {
	width: 400px;
}

.w500 {
	width: 500px;
}

.w570 {
	width: 570px;
}

.w90 input, .w90 textarea {
	width: 90%;
}

/* align
------------------- */
.tac {
	text-align: center
}

.tal {
	text-align: left
}

.tar {
	text-align: right
}

/* Link Button
------------------- */
.button a {
	/* サイトごとに変更 */
	display: block;
	width: 80%;
	margin: 10px auto;
	text-align: center;
	padding: 10px 0;
	border-radius: 5px;
	text-decoration: none;
}

.flexbox-base {
	display: -webkit-box;
	/* Android4.3以前ブラウザ用 */
	display: -webkit-flex;
	/* iOS8以前Safari用 */
	display: flex;
	-webkit-flex-wrap: wrap;
	/*--- safari（PC）用 ---*/
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
}

.flexbox-base img {
	width: 100%;
}

.flexbox-base .w30 {
	width: 30%;
	padding: 10px;
}

.flexbox-base .w40 {
	width: 40%;
	padding: 10px;
}

.flexbox-base .w50 {
	width: 50%;
	padding: 10px;
}

.flexbox-base .w60 {
	width: 60%;
	padding: 10px;
}

.flexbox-base .w70 {
	width: 70%;
	padding: 10px;
}

.flexbox-base .w100 {
	width: 100%;
	padding: 10px;
}

/* -------------------------------------------
	WordPress Editor
---------------------------------------------- */

img.size-auto, img.size-large, img.size-full, img.size-medium {
	max-width: 100%;
	height: auto;
}

.alignleft, img.alignleft {
	display: inline;
	float: left;
	margin-right: 15px;
	margin-top: 4px;
}

.alignright, img.alignright {
	display: inline;
	float: right;
	margin-left: 15px;
	margin-top: 4px;
}

.aligncenter, img.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

img.alignleft, img.alignright, img.aligncenter {
	margin-bottom: 12px;
}

.wp-caption {
	border: none;
	-khtml-border-radius: 0;
	-moz-border-radius: 0;
	-webkit-border-radius: 0;
	border-radius: 0;
	font-size: 12px;
	line-height: 18px;
	margin-bottom: 20px;
	padding: 4px;
	text-align: center;
}

.wp-caption img {
	margin: 5px;
}

.wp-caption p.wp-caption-text {
	margin: 0 0 4px;
}

.wp-smiley {
	margin: 0;
}

#main .post-content h1 {
	font-size: 48px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content h2 {
	font-size: 36px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content h3 {
	font-size: 24px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content h4 {
	font-size: 18px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content h5 {
	font-size: 14px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content h6 {
	font-size: 12px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content h7 {
	font-size: 10px;
	font-weight: bold;
	line-height: 150%;
}

#main .post-content ul, #main ul.default, #main .post-content ol {
	padding: 10px 0 10px 20px;
}

#main ul.default li, #main .post-content ul li {
	list-style: disc;
}

#main .post-content ol li {
	list-style: decimal;
}

#main .post-content blockquote {
	margin: 10px 20px;
	font-style: italic;
}

#wrapper img {
	max-width: 100%;
	height: auto;
}

#wrapper #galleria img {
	max-width: none;
}

.mobile {
	display: none;
}

.pr-content {
	margin-bottom: 30px;
}

@media screen and (min-width:641px) {
	.pc_block {
		display: block;
	}

	.sp_block {
		display: none;
	}
}

/* ------------------------------------------
	PC用のスタイル記述
--------------------------------------------- */

:target:before {
	height: 100px;
	/* ヘッダの高さ */
	margin: -100px 0 0;
	/* ヘッダの高さ */
	content: ””;
	display: block;
}

a[href^="tel:"] {
	pointer-events: none;
	text-decoration: none;
}

p {
	margin: 10px auto;
}

.column-right #main {
	margin: 0 30px 0 0;
	float: left;
	width: 690px;
}

.column-right .sidebar {
	float: right;
	width: 240px;
}

.column-left #main {
	margin: 0 0 0 30px;
	width: 690px;
	float: right;
}

.column-left .sidebar {
	float: left;
	width: 240px;
}

.column-one {}

.cont-fl, .cont-fr {
	overflow: hidden;
}

.cont-fl img {
	float: left;
	margin: 0 15px 0 0;
}

.cont-fr img {
	float: right;
	margin: 0 0 0 15px;
}

body {
	font-size: 100%;
	line-height: 1.6;
}

#wrapper {
	margin: 0 auto;
	width: 100%;
	font-size: 0.9rem;
}

.title {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 2.5rem;
	text-align: center;
}

.title:before,
.title:after {
	border-top: 1px solid #000;
	content: "";
	flex-grow: 1;
}

.title:before {
	margin: 0 1rem 0 10rem;
}

.title:after {
	margin: 0 10rem 0 1rem;
}

.title_bottom {
	font-size: 1.5rem;
	text-align: center;
}

.btn_basic {
	margin: 20px auto;
	width: 100%;
	text-align: center;
}

.btn_basic a {
	text-decoration: none;
	background: #fff;
	color: #000;
	padding: 5px 40px;
	border-radius: 10px;
}

.btn_basic a:hover {
	background: #aaa;
	color: #000;
	text-align: center;
}

.btn_red {
	margin: 50px auto;
	width: 100%;
	text-align: center;
}

.btn_red a {
	font-size: 2rem;
	text-decoration: none;
	background: #C13B00;
	color: #fff;
	padding: 10px 40px;
}

.btn_red a:hover {
	background: #aaa;
	color: #fff;
	text-align: center;
}

.btn_blue {
	margin: 50px auto;
	width: 100%;
	text-align: center;
}

.btn_blue a {
	font-size: 2rem;
	text-decoration: none;
	background: #74A9FF;
	color: #fff;
	padding: 10px 40px;
}

.btn_blue a:hover {
	background: #aaa;
	color: #fff;
	text-align: center;
}

.flex {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
}

.align-middle {
	align-items: center;
}

.two-colmun li {
	width: 48%;
}

.two-colmun li img {
	width: 100%;
}

.three-colmun li {
	display: inline-block;
	width: 30%;
	margin: auto 1%;
}

.three-colmun li img {
	width: 100%;
}


/* Header
------------------------------------ */
#header {
	position: fixed;
	z-index: 99;
	width: 100%;
	height: 80px;
	background-color: #000000;
}

#header .h1zone {
	padding: 5px;
	height: 40px;
	background-color: #555555;
	color: #fff;
}

#header .h1zone h1 {
	font-size: 1rem;
}

#header .inner {
	margin: 0 10%;
	width: 80%;
}

#logo {
	float: left;
	margin-right: 10px;
}

#logo img {
	height: 30px;
}

.toplink {
	float: right;
}

.toplink li {
	margin: 5px;
	display: inline-block;
}

.toplink li a {
	color: #fff;
	padding: 3px 15px;
	border: 1px solid #fff;
	text-decoration: none;
}

#navigation-sp {
	display: none;
}

#navigation {
	font-size: 0;
	padding-top: 5px;
}

#navigation li {
	display: inline-block;
}

#navigation li a {
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	text-align: center;
}

#navigation li a:hover {
	background-color: #eee;
}

/* Navigation
------------------------------------ */
.clone-nav {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	transition: .3s;
	transform: translateY(-100%);
	background-color: rgba(255, 255, 255, 0.6);
}

.is-show {
	transform: translateY(0);
}

#openmenu2, #openmenu {
	display: none;
}


.menu-en {
	font-size: 1.5rem;
	margin: 0;
}

.menu-ja {
	font-size: 0.8rem;
	margin: 0;
}

/*ファーストビュー*/
#first_view {
	margin-top: 80px;
	position: relative;
}

#first_view:before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#first_view img {
	width: 100%;
}



#topimg {
	position: absolute;
	width: 700px;
	height: 150px;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
	margin: auto;
}

#topimg h2 {
	font-size: 3rem;
	font-weight: bold;
	text-align: center;
	text-shadow: 0 3px 6px #fff;
}

#topimg img {
	width: 100%;
}


/* Contents
------------------------------------ */
#breadcrumb {
	position: relative;
	margin: 20px auto 10px;
	width: 960px;
	font-size: 0.9rem;
	z-index: 10;
}

.container1200 {
	margin: 30px auto 20px auto;
	width: 1200px;
}

.container {
	margin: auto;
	width: 960px;
}

#main {}

#main p {
	margin-bottom: 15px;
}

#main h2 {}

#main section {
	margin-bottom: 20px;
}

/* Sidebar
------------------------------------ */

.sidebar {}

.sidebar p {
	margin-bottom: 20px;
}

.sidebar .widget {
	margin-bottom: 30px;
}

.sidebar .widget li a {
	/* サイトごとに変更 */
	text-decoration: none;
	display: block;
	padding: 8px;
}

/* Footer
------------------------------------ */

#pagetop {
	width: 960px;
	margin: 0 auto;
	overflow: hidden;
}

#pagetop a {
	/* サイトごとに変更 */
	display: block;
	width: 120px;
	float: right;
	padding: 10px;
	text-align: center;
	text-decoration: none;
	border-radius: 10px 10px 0 0;
}

#footer {
	/* サイトごとに変更 */
	position: relative;
	text-align: right;
	padding: 30px 0 10px;
	margin-top: 100px;
	background-color: #555 !important;
}

#footer .footer_logo img {
	width: 150px;
}

#footer .footer_logo p {
	font-size: 1.2rem;
	font-weight: bold;
}

#footer .footer_link li {
	display: inline-block;
	margin: 5px;
}

#footer .footer_link .contact a {
	padding: 2px 10px;
	border: 1px solid #fff;
	text-decoration: none;
}



#footer #copy {
	margin-top: 50px;
	font-size: 0.8rem;
	text-align: center;
}

/* ------------------------------------------
	PC用の下層ページスタイル記述
--------------------------------------------- */
.child_box {
	margin: 50px auto;
}

.child_box h3 {
	width: 100%;
	border-bottom: 2px solid #004476;
	color: #004476;
	font-size: 24px;
	margin-bottom: 20px;
}


.child_box .tel {
	font-size: 28px;
	font-weight: bold;
	text-decoration: none;
}

/* 下層ページ用ヘッダー設定
----------------------------- */
.headarea {
	position: relative;
	height: 420px;
	width: 100%;
	z-index: 10;
}

.headimg_future {
	background: url(../images/common/recruit_future_head.jpg)no-repeat;
	background-position: center top;
	background-size: 1920px;
}

.headimg_about {
	background: url(../images/common/recruit_about_head.jpg)no-repeat;
	background-position: center top;
	background-size: 1920px;
}

.headimg_work {
	background: url(../images/common/recruit_work_head.jpg)no-repeat;
	background-position: center top;
	background-size: 1920px;
}

.headimg_career {
	background: url(../images/common/recruit_career_head.jpg)no-repeat;
	background-position: center top;
	background-size: 1920px;
}


.headarea .page_title {
	position: absolute;
	width: 600px;
	text-align: center;
	margin: auto;
	bottom: 0;
	left: 0;
	right: 0;
}

/* INDEX
----------------------------- */
.an2-fadeup {
	animation-name: fadeup;
	animation-duration: 2s;
	animation-iteration-count: 1; //繰り返し回数
}

@keyframes fadeup {
	from {
		opacity: 0;
		transform: translateY(20px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.recruit-box {
	position: relative;
	margin: 30px 5%;
	width: 90%;
}

.recruit-box:before {
	content: "";
	display: block;
	padding-top: 56%;
}

.recruit_bg1 {
	background: url(../images/pages/recruit/recruit_top1.jpg)no-repeat;
	background-size: 100%;
}

.recruit_bg2 {
	background: url(../images/pages/recruit/recruit_top2.jpg)no-repeat;
	background-size: 100%;
}

.recruit_bg3 {
	background: url(../images/pages/recruit/recruit_top3.jpg)no-repeat;
	background-size: 100%;
}

.recruit_bg4 {
	background: url(../images/pages/recruit/recruit_top4.jpg)no-repeat;
	background-size: 100%;
}

.recruit-box img {
	width: 100%;
}

.recruit-box .inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.recruit-title-box {
	position: relative;
	width: 50%;
	border: 1px solid #fff;
	border-radius: 50%;
	color: #fff;
	top: 5%;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}

.recruit-title-box:before {
	content: "";
	display: block;
	padding-top: 100%;
}

.recruit-title-box .inner {
	position: absolute;
	top: 25%;
	left: 0;
	bottom: 0;
	right: 0;
	text-align: center;
}


.recruit-title-box .inner p {
	font-size: 1.5rem;
}

.recruit-title-box .svg2 img {
	height: 25%;
}

.recruit-title-box .svg1 img {
	margin-top: 10%;
	height: 12%;
}

.recruit-title-box .inner .link-btn a {
	color: #fff;
	font-size: 1.2rem;
	padding: 5px 15px;
	border: 1px solid #fff;
}

.recruit-movie {
	margin: 50px 5%
}

.recruit-movie .flex-two {
	display: flex;
	justify-content: center;
}

.recruit-movie .flex-two .flex-inner {
	width: 30%;
	margin: 0 2%;
}

/* フリーマップ */
.googlemap iframe {
	width: 100%;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

/*未来プロジェクト
----------------------------- */
#future2 .line1 {
	margin: 0 67% 0 -100%;
	padding: 0 0 0 100%;
	height: 5px;
	background-color: #C42D00;
}

#future2 .line2 {
	width: 100%;
	height: 300px;
	border-right: 5px solid #004476;
	margin-top: -6px;
}

#future2 .line3 {
	width: 100%;
	height: 300px;
	border-left: 5px solid #1B6400;
	margin-top: -6px;
}


.future-inner {
	padding: 15px;
}

.contents-box .future-inner h2 {
	font-size: 2.5rem;
	padding-left: 0;
}

.contents-box .future-inner .link-btn {
	margin: 30px 0;
}

.contents-box .future-inner .link-btn a {
	border: 1px solid #000;
	padding: 5px 20px;
	font-size: 1rem;
}

.flexbox-base .w33, .flexbox-base .w33b {
	width: 33%;
}

.flexbox-base .w67, .flexbox-base .w67b {
	width: 67%;
}

.future-child {
	text-align: center;
	padding: 30px 15px;
}

.future-child img {
	width: 60%;
}


#toggle-contents1 {
	border-top: 3px solid #C42D00;
	border-bottom: 3px solid #C42D00;
	margin-top: -8px;
}

#toggle-contents2 {
	border-top: 3px solid #004476;
	border-bottom: 3px solid #004476;
	margin-top: -8px;
}

#toggle-contents3 {
	border-top: 3px solid #1B6400;
	border-bottom: 3px solid #1B6400;
	margin-top: -8px;
}

/*会社概要
----------------------------- */
#about .contents-box h2 {
	border-bottom: 1px solid #999;
	padding-left: 0;
}

#about .contents-box .three-point {
	padding: 15px;
	background-color: #eee;
}

#about .contents-box .three-point h3 {
	color: #004476;
	padding-left: 0;
	border-bottom: 1px solid #004476;
}

.fixbg {
	position: relative;
	background: url(../images/pages/recruit/about1-2.jpg)no-repeat;
	background-size: 100%;
	background-attachment: fixed;
	height: 300px;
	width: 100%;
}


/*インタビュー
----------------------------- */
#interview .tab_area li {
	width: 15%;
	text-align: center;
	-webkit-filter: grayscale(100%);
	-moz-filter: grayscale(100%);
	-ms-filter: grayscale(100%);
	-o-filter: grayscale(100%);
	filter: grayscale(100%);
}

#interview .tab_area .select, #interview .tab_area li:hover {
	border-bottom: 3px solid #004476;
	-webkit-filter: grayscale(0);
	-moz-filter: grayscale(0);
	-ms-filter: grayscale(0);
	-o-filter: grayscale(0);
	filter: grayscale(0);
}

#interview .flexbox-base {
	align-items: flex-start;
}

#interview .contents-box h2 {
	padding: 10px 0;
	color: #004476;
}

#interview .contents-box h2 span {
	font-size: 1rem;
}

#interview .contents-box .minibox p {
	font-size: 0.8rem;
}

#interview .contents-box h3 {
	padding: 5px 0;
	font-size: 1.2rem;
	color: #004476;
}

#interview .contents-box h3 span {
	font-size: 1rem;
}

#interview .contents-box h4 {
	padding: 5px 0;
	font-size: 1.2rem;
	color: #004476;
	font-weight: normal;
	border: none;
}

#interview .link-btn {
	width: 100%;
	text-align: center;
}

#interview .link-btn a {
	border: 1px solid #000;
	padding: 5px 20px;
	font-size: 1rem;
	text-align: center;
	text-decoration: none;
}

#interview .schedule table td {
	border-top: none;
	padding: 3px 15px 3px 5px;
	font-size: 1rem;
}

/*キャリアプラン
----------------------------- */
#career {}

#career h3 {
	margin-top: 50px;
}

#career table {
	width: 100%;
	border-collapse: collapse;
	border-top: 2px solid #000;
	border-bottom: 2px solid #000;
}

#career th, td {
	padding: 15px 5px;
	font-size: 16px;
	border-top: 1px solid #555;
	vertical-align: top;
}

#career th {
	width: 20%;
}

#career table ul {
	list-style: disc;
	margin: 10px auto 10px 25px;
}


/* 問い合わせ
----------------------------- */
.page-contact h3 {
	padding: 10px;
	background-color: #3399FF;
	color: #fff;
	font-weight: bold;
	margin: 10px auto;
}

.page-contact .hissu {
	font-size: 10px;
	color: #FF0000;
}

.page-contact .category {}

.page-contact .category li {
	margin: 10px 20px;
	padding: 10px 15px;
}

.page-contact .category a {
	background-color: #fff;
	padding: 10px 15px;
	color: #3399FF;
	text-decoration: none;
	border: 1px solid #3399FF;
	border-left: 10px solid #3399FF;
	font-weight: bold;
}

.page-contact .category a:hover {
	background-color: #6CB5FF;
}


.form_box .mailform-tbl {
	clear: both;
	margin-bottom: 20px;
	width: 100%;
}

.form_box .mailform-tbl th, .form_box .mailform-tbl td {
	padding: 10px;
}

.form_box .mailform-tbl th {
	width: 30%;
}

.mailform-tbl td label {
	margin: 0 3px 3px 0;
	display: inline-block;
}


input, select {
	margin-right: 3px;
	outline: 1px solid #ccc;
}

#submit-button {
	text-align: center;
}

#submit-button input {
	text-decoration: none;
	background: #555;
	color: #fff;
	padding: 10px 30px;
}

#submit-button input:hover {
	text-decoration: none;
	background: #999;
	color: #fff;
	padding: 10px 30px;
}

.page-contact {
	margin-bottom: 30px;
}




@media screen and (max-width:768px) and (min-width:641px) {

	/* ------------------------------------------
	タブレット用ポートレート表示のスタイル記述
--------------------------------------------- */
	body {}

	#first_view {}

	/* Navigation
------------------------------------ */

	#header .inner {
		margin: 0 auto 20px;
		width: 100%;
	}

	#breadcrumb {
		margin: 20px auto 10px;
		width: 96%;
	}

	.container {
		width: 98%;
		margin: 30px 1%;
	}

	.column-right #main, .column-left #main {
		margin: 0 auto;
		float: none;
		width: 96%;
	}

	.column-right .sidebar, .column-left .sidebar {
		margin: 0 auto;
		width: 96%;
		float: none;
	}

	#pagetop {
		margin: 30px auto;
		width: 96%;
		text-align: right;
	}

	.side-banner {
		margin: 20px 0;
		overflow: hidden;
	}

	.side-banner p {
		float: left;
		margin: 0 1%;
		max-width: 30%;
		height: auto;
	}

	/* index */
	.cont03 {
		margin-bottom: 20px;
		overflow: hidden;
	}

	.cont03 li {
		margin-right: 5%;
		width: 30%;
		padding-bottom: 50px;
		float: left;
		position: relative;
	}

	.cont03 li:last-child {
		margin-right: 0;
	}

	.cont02>ul>li {
		margin-right: 5%;
		width: 47.5%;
		padding-bottom: 50px;
		float: left;
		position: relative;
	}

	/* 1カラム用スタイル */
	.column-one .cont02 {
		width: 100%;
	}

	.column-one .cont02>ul>li {
		margin: 0 2%;
		width: 46%;
	}

	.column-one .cont02>ul>li .inner-cont02 {
		width: 100%;
		overflow: hidden;
	}

	.column-one .cont02>ul>li .inner-cont02>li {
		width: 100%;
	}

	.column-one .cont04 {
		overflow: hidden;
	}

	.column-one .cont04>ul {
		width: 100%;
	}

	.column-one .cont04>ul>li {
		margin: 0 1%;
		width: 23%;
		float: left;
	}

	/* コース案内 */
	.course-cf dl {
		width: 48%;
	}

	.reason-box {
		border: 1px solid #3399FF;
		border-left-width: 30px;
		margin-bottom: 15px;
	}

	.reason-box img {
		float: left;
		padding: 10px;
		width: 10%;
	}

	.reason-box-text {
		float: left;
		padding: 10px;
		font-size: 20px;
		width: 85%;
	}

	.three_colmun {
		width: 30%;
		margin: 20px 2% 20px 1%;
		float: left;
	}

	.contents-water .point-img {
		width: 40%;
	}

	.contents-water .point-text {
		width: 60%;
	}

	.table_recruit {
		/* テーブル部分 */
		width: 100%;
	}

}


@media screen and (max-width:640px) {

	.pc_block {
		display: none;
	}

	.sp_block {
		display: block;
	}

	/* ------------------------------------------
	スマホ用のスタイル記述
--------------------------------------------- */
	.pc {
		display: none;
	}

	.mobile {
		display: block;
	}

	.container {
		margin: 0 2%;
		width: 96%;
	}

	.m-ctr {
		clear: both;
		display: block;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 15px;
		text-align: center;
	}

	.title {
		display: flex;
		align-items: center;
		font-weight: bold;
		font-size: 28px;
		text-align: center;
		margin: 20px auto;
	}

	.title:before,
	.title:after {
		border-top: 1px solid #000;
		content: "";
		flex-grow: 1;
	}

	.title:before {
		margin: 0 1rem 0 1rem;
	}

	.title:after {
		margin: 0 1rem 0 1rem;
	}

	.title_bottom {
		font-size: 18px;
		text-align: center;
	}


	.btn_basic {
		margin: 50px auto;
		width: 100%;
		text-align: center;
	}

	.btn_basic a {
		text-decoration: none;
		background: #555;
		color: #fff;
		padding: 20px 30px;
	}

	.btn_basic a:hover {
		background: #aaa;
		color: #fff;
	}


	.three-colmun li {
		width: 80%;
		margin: 20px 10%;
	}

	.three-colmun li img {
		width: 100%;
	}


	/*メニューボタン設定*/
	#mobile-menu {
		position: fixed;
		z-index: 100 !important;
		width: auto;
		overflow: hidden;
		padding: 5px;
		float: right;
		top: 5px;
		right: 5px;
	}

	#mobile-menu p {
		color: #999;
		border: 2px solid #999;
		margin: 0 5px;
		display: inline-block;
		padding: 3px 15px;
		border-radius: 5px;
		text-decoration: none;
		text-align: center;
		line-height: 0.9;
	}

	#mobile-menu #logo img {
		height: 50px;
	}


	#mobile-menu span {
		font-size: 0.7rem;
	}

	/*メニューボタン設定ここまで*/

	body {
		font-size: 16px;
		line-height: 1.5rem;
	}

	#breadcrumb {
		margin: 0 5% 10px;
		width: 90%;
		font-size: 0.8rem;
	}

	/* Header
------------------------------------ */
	#header {
		position: fixed;
		z-index: 99;
		width: 100%;
		height: 80px;
		background-color: #000000;
	}

	#header .h1zone {
		padding: 25px 0 0 5px;
		height: 75px;
		background-color: #555555;
		color: #fff;
	}

	#header .h1zone h1 {
		font-size: 1rem;
	}

	#header .inner {
		margin: 0;
		width: 100%;
	}

	#navigation {
		display: none;
	}

	#navigation-sp {
		display: none;
		position: fixed;
		top: 0;
		padding-top: 70px;
		width: 100%;
		height: 100vh;
		background-color: rgba(51, 51, 51, 0.9);
	}

	#navigation-sp.open_menu {
		display: block;
		z-index: 99;
	}

	#navigation-sp .fa {
		display: inline;
	}

	#navigation-sp li a {
		border-bottom: 1px solid #ddd;
		text-decoration: none;
		color: #fff;
		display: block;
		padding: 15px 10px;
	}


	#tel {
		display: none;
	}


	/*ファーストビュー*/


	#topimg {
		position: absolute;
		width: 100%;
		height: 60px;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		margin: auto;
	}

	#topimg h2 {
		font-size: 1.5rem;
		font-weight: bold;
		text-align: center;
		text-shadow: 0 3px 6px #fff;
	}


	/* 下層ページ用ヘッダー設定
----------------------------- */
	.headarea {
		position: relative;
		height: 130px;
		width: 100%;
		z-index: 10;
		margin-top: 80px;
	}

	.headimg_future, .headimg_about, .headimg_work, .headimg_career {
		background-size: auto 100%;
	}

	.headarea .page_title {
		position: absolute;
		width: 100%;
		text-align: center;
		margin: auto;
		bottom: 0;
		left: 0;
		right: 0;
	}

	.headarea .page_title img {
		width: 200px;
	}


	#pagetop {
		overflow: hidden;
	}

	#pagetop a {
		margin: 0 auto;
		display: block;
		width: 120px;
		padding: 10px;
		text-align: center;
		text-decoration: none;
		border-radius: 10px 10px 0 0;
	}


	#footer {
		/* サイトごとに変更 */
		position: relative;
		text-align: right;
		padding: 10px 0;
		margin-top: 20px;
		background-color: #555 !important;
	}



	#footer #copy {
		margin-top: 20px;
		font-size: 0.8rem;
		text-align: center;
	}

	/* ------------------------------------------
	スマホ用の下層ページスタイル記述
--------------------------------------------- */

	.child_box {
		margin: 50px auto;
	}

	.child_box h3 {
		width: 100%;
		padding-bottom: 10px;
		border-bottom: 2px solid #000;
		font-size: 24px;
		margin-bottom: 10px
	}


	.child_box .tel a {
		font-size: 28px;
		font-weight: bold;
	}


	/* INDEX
----------------------------- */
	.recruit-box {
		position: relative;
		margin: 30px 2%;
		width: 96%;
	}

	.recruit-box:before {
		content: "";
		display: block;
		padding-top: 80%;
	}

	.recruit_bg1, .recruit_bg2, .recruit_bg3, .recruit_bg4 {
		background-size: auto 100%;
		background-position: center;
	}

	.recruit-box img {
		width: 100%;
	}

	.recruit-title-box {
		position: relative;
		width: 74%;
		top: 3%;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
	}

	.recruit-title-box .inner {
		position: absolute;
		width: 120%;
		top: 10%;
		left: -10%;
		bottom: 0;
		right: 0;
		text-align: center;
	}


	.recruit-title-box .inner p {
		font-size: 1rem;
	}

	.recruit-title-box .svg2 img {
		margin-top: 5%;
		height: 20%;
	}

	.recruit-title-box .svg1 img {
		margin-top: 13%;
		height: 10%;
	}

	.recruit-title-box .inner .link-btn a {
		color: #fff;
		font-size: 1rem;
		padding: 5px 15px;
		border: 1px solid #fff;
	}

	.recruit-movie {
		margin: 50px 5%
	}

	.recruit-movie .flex-two {
		display: flex;
		justify-content: center;
		flex-direction: column;
	}

	.recruit-movie .flex-two .flex-inner {
		width: 100%;
		margin: 15px 0;
	}

	/*未来プロジェクト
----------------------------- */
	#future2 .line1 {
		margin: 0 67% 0 -100%;
		padding: 0 0 0 100%;
		height: 5px;
		background-color: #C42D00;
	}

	#future2 .line2 {
		width: 100%;
		height: 100px;
		border-right: 5px solid #004476;
		margin-top: -6px;
	}

	#future2 .line3 {
		width: 100%;
		height: 100px;
		border-left: 5px solid #1B6400;
		margin-top: -6px;
	}

	#future2 .flexbox-base {
		align-items: flex-start;
	}

	.flexbox-base .w33b {
		width: 0;
	}

	.flexbox-base .w67b {
		width: 100%;
	}

	.contents-box .future-inner h2 {
		font-size: 1.5rem;
		padding-left: 0;
	}

	.future-child img {
		width: 90%;
	}

	/*会社概要
----------------------------- */
	#about .flexbox-base .w50, #about .flexbox-base .w30, #about .flexbox-base .w40, #about .flexbox-base .w60 {
		width: 100%;
	}

	#about .contents-box h2 {
		border-bottom: 1px solid #999;
		padding-left: 0;
		text-align: center;
	}

	#about .contents-box h3 {
		text-align: center;
		font-size: 1.3rem;
	}

	/*インタビュー
----------------------------- */
	#interview .flexbox-base .w50, #interview .flexbox-base .w30 {
		width: 100%;
	}

	#interview .tab_area li {
		width: 33%;
	}

	#interview .flexbox-base {
		align-items: flex-start;
	}

	#interview .contents-box h2 {
		padding: 10px 0;
		color: #004476;
	}

	#interview .contents-box h2 span {
		font-size: 1rem;
	}

	#interview .contents-box p, #interview .contents-box .minibox p {
		font-size: 0.8rem;
	}

	#interview .contents-box h3 {
		padding: 5px 0;
		font-size: 1.2rem;
		color: #004476;
	}

	#interview .contents-box h3 span {
		font-size: 1rem;
	}

	#interview .contents-box h4 {
		padding: 5px 0;
		font-size: 1.2rem;
		color: #004476;
		font-weight: normal;
		border: none;
	}

	/*キャリアプラン
----------------------------- */
	#career .flexbox-base .w50 {
		width: 100%;
	}

	#career h3 {
		margin-top: 50px;
	}

}

/*リンク位置制御*/
@media all and (min-width:641px) {
	#interview {
		margin-top: -100px;
		padding-top: 100px;
	}
}