@charset "utf-8";

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

	リセット

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

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
}
body {
	line-height: 1;
	-webkit-text-size-adjust: 100%;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
a {
	margin: 0;
	padding: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}
strong { font-weight: bold;}
ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}
mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
del {
	text-decoration: line-through;
}
abbr[title], dfn[title] {
	border-bottom: 1px dotted;
	cursor: help;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
hr {
	display: block;
	height: 0px;
	border: 0;
	border-top: 2px solid #00469b;
	padding: 0;
	margin: auto;
}
input, select {
	vertical-align: middle;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
	vertical-align: middle;
}
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
*:before, *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}


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

	グローバル

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

body {
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 500;
	color: #000;
	font-size: 1em;
	line-height: 2;
	position: relative;
	min-width: 1030px;
}

p { margin-bottom: 25px;}
p:last-child { margin-bottom: 0px;}

a { color: #000;}
a:hover { color: #999;}

/* 文字装飾 */
.fo06 { font-size: 0.6em !important;}
.fo07 { font-size: 0.7em !important;}
.fo075 { font-size: 0.75em !important;}
.fo08 { font-size: 0.8em !important;}
.fo085 { font-size: 0.85em !important;}
.fo09 { font-size: 0.9em !important;}
.fo105 { font-size: 1.05em !important;}
.fo11 { font-size: 1.1em !important;}
.fo115 { font-size: 1.15em !important;}
.fo12 { font-size: 1.2em !important;}
.fo13 { font-size: 1.3em !important;}
.fo14 { font-size: 1.4em !important;}
.fo15 { font-size: 1.5em !important;}
.fo16 { font-size: 1.6em !important;}
.fo17 { font-size: 1.7em !important;}
.fo25 { font-size: 2.5em !important;}

.lh12 { line-height: 1.2;}
.lh14 { line-height: 1.4;}
.lh16 { line-height: 1.6;}
.lh18 { line-height: 1.8;}

.fo_white { color: #fff;}
.fo_red { color: #e60042;}

.fo_abel { font-family: 'Abel', sans-serif;}
.fo_mincho { font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;}

/* ボックス */
.container {
	width: 1030px;
	padding: 0px 15px;
	margin: 0px auto;
}
.container02 {
	width: 930px;
	padding: 0px 15px;
	margin: 0px auto;
}

.box_wrap { margin: auto -10px;}
.box50 { float: left; width: 50%; padding: 0px 10px;}
.box30 { float: left; width: 33.3333%; padding: 0px 10px;}

.back_white { background-color: #fff !important;}
.back_black { background-color: #000 !important;}
.back_red { background-color: #e60042 !important;}
.back_gray { background-color: #efefef !important;}
.back_gray02 { background-color: #fafafa !important;}

.left { float: left;}
.right { float: right;}

.pos_rel { position: relative;}
.pos_ab { position: absolute;}

.bold { font-weight: bold;}

.ta_center { text-align: center;}
.ta_right { text-align: right;}
.ta_left { text-align: left;}
.ta_right-s_center { text-align: right;}
.ta_left-s_center { text-align: left;}
.ta_center-s_left { text-align: center;}

@media (min-width: 861px) {
	.hidden_l {
		display: none !important;
	}
}

/* リスト */
ol { padding-left: 2em;}
ol li { list-style: outside decimal;}

.list_indent { padding-left: 1em;}
.list_indent li { text-indent: -1em;}

.list_disc { padding-left: 1em;}
.list_disc li { list-style: outside disc;}

/* margin */
.mb00 { margin-bottom: 0px !important;}
.mb05 { margin-bottom: 5px !important;}
.mb10 { margin-bottom: 10px !important;}
.mb15 { margin-bottom: 15px !important;}
.mb20 { margin-bottom: 20px !important;}
.mb25 { margin-bottom: 25px !important;}
.mb30 { margin-bottom: 30px !important;}
.mb40 { margin-bottom: 40px !important;}
.mb50 { margin-bottom: 50px !important;}
.mb60 { margin-bottom: 60px !important;}
.mb80 { margin-bottom: 80px !important;}

.mb40-20 { margin-bottom: 40px !important;}
.mb60-30 { margin-bottom: 60px !important;}
.mb80-40 { margin-bottom: 80px !important;}
.mb100-50 { margin-bottom: 100px !important;}
.mb120-60 { margin-bottom: 120px !important;}
.mb160-80 { margin-bottom: 160px !important;}

/* clearFix */
.clearFix { zoom: 100%;}
.clearFix:after {
	content: "";
	clear: both;
	height: 0;
	display: block;
	visibility: hidden;
}

/* ------------------------
	ヘッダー
------------------------ */

.header { padding: 15px 0px 15px 15px;}
.header .right li { display: inline-block; vertical-align: middle; border-left: solid 2px #999; padding: 10px;}
.header .right li a { text-decoration: none; transition: 0.3s;}
.header .right li a:hover { color: #999;}


/* ------------------------
	フッター
------------------------ */

.footer_contact li { display: inline-block; vertical-align: middle; margin: 0px 2%;}

.footer_nav li { display: inline-block;}
.footer_nav li:before { content: " | "; letter-spacing: 0.3em;}
.footer_nav li:last-child:after { content: " | "; letter-spacing: 0.3em;}
.footer_nav li a { color: #fff; text-decoration: none;}
.footer_nav li a:hover { text-decoration: underline;}

.footer .back_black { padding: 40px 0px 15px;}


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

	トップページ

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

.video_wrap video { width: 100%; height: auto;}

.iframe_wrap { position: relative; width: 100%; padding-top: 56.25%;/* 高さ÷幅 */}
.iframe_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
}

.top_sec01 h2 { letter-spacing: 0.2em;}

.top_sec01-01 ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
.top_sec01-01 li { width: 24%; margin-bottom: 30px;}

.top_sec02 { background: url("../images/top/top_sec02.jpg") no-repeat center center; background-size: cover; height: auto; padding: 100px 15px 80px;}
.top_sec02 a { display: inline-block; border: solid 1px #fff; text-decoration: none; color: #fff; font-weight: bold; width: 100%; max-width: 320px; padding: 12px;}

.top_sec03 h2 { letter-spacing: 0.25em;}
.top_sec03 ul { display: flex; justify-content: flex-start; align-items: stretch; margin: auto -1%; flex-wrap: wrap;}
.top_sec03 li { width: 31.3333%; margin: 0px 1% 40px;}
.top_sec03 a { display: block; text-decoration: none; color: #000; height: 100%;}
.top_sec03 .box { border: solid 1px #000; height: 100%;}
.top_sec03 .date { margin-bottom: 0px; padding: 15px; line-height: 1.2;}
.top_sec03 .box_inner { padding: 15px;}

.top_bnr { display: table; width: 100%;}
.top_bnr li { display: table-cell; vertical-align: middle; width: 50%; height: 445px; transition: 0.3s; background-size: auto 105% !important;}
.top_bnr li:hover { background-size: auto 100% !important;}
.top_bnr li:first-child { background: url("../images/top/top_bnr_bg01.jpg") no-repeat center center;}
.top_bnr li:last-child { background: url("../images/top/top_bnr_bg02.jpg") no-repeat center center;}
.top_bnr a { display: block; height: 100%; padding-top: 140px;}


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

	下層ページ

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

.under_wrap { font-size: 0.85em;}

.show_sp { display: none;}

.more_btn a { display: inline-block; border: solid 1px #000; font-weight: bold; text-align: center; line-height: 1.6; padding: 13px 40px; min-width: 320px; position: relative; transition: 0.3s; text-decoration: none;}
.more_btn a:after { content: ""; position: absolute; background: url("../images/common/ico_arrow.png") no-repeat center center; width: 12px; height: 25px; right: 10px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.more_btn a:hover { background-color: #000; color: #fff;}
.more_btn a:hover:after { background-image: url("../images/common/ico_arrow_white.png");}

.pagettl { background: linear-gradient(120deg,#00499d 0%,#00499d 50%,#1a5ca7 50%,#1a5ca7 100%); padding: 60px 0px; letter-spacing: 0.5em; line-height: 1.2;}
.pagettl h2 { font-size: 1.5em; font-weight: bold;}
.pagettl .fo_abel { font-size: 1.1em; font-weight: bold;}

.heading_middle { font-size: 1.8em; letter-spacing: 0.2em; text-align: center; font-weight: bold; line-height: 1.2;}
.subttl { letter-spacing: 0.4em; text-align: center; line-height: 1.2;}

.table_bordered { width: 100%;}
.table_bordered th, .table_bordered td { vertical-align: middle; padding: 12px 15px; border: solid 1px #00499d;}
.table_bordered th { width: 30%; background-color: #efefef; color: #00499d; font-weight: bold; font-size: 1.2em; line-height: 1.6;}

/* ------------------------
	company
------------------------ */

.com_sec01 { background: url("../images/com_sec01_bg.png") no-repeat 70% top #fafafa; background-size: cover; padding: 70px 0px;}
.com_sec01 .box { width: 485px;}
.com_sec01 h3 { font-size: 5.5em; letter-spacing: 0.1em; line-height: 1;}
.com_sec01 .text01 { font-size: 1.7em; letter-spacing: 0.2em;}
.com_sec01 .fo_mincho .bold { font-size: 1.8em; line-height: 1.2;}

.com_sec03 table { width: 100%; border: solid 1px #00499d;}
.com_sec03 table th, .com_sec03 table td { vertical-align: top; padding: 12px 15px; border-bottom: solid 1px #00499d;}
.com_sec03 table th { width: 20%; text-align: right; padding-right: 2em;}

.com_img img { width: 100%; height: auto;}

.com_sec04 section { width: 475px;}


/* ------------------------
	business
------------------------ */

.bus_sec01 { padding: 80px 0px;}
.bus_sec01 .text01 { font-size: 1.8em;}
.bus_sec01 ul { display: flex; align-items: center; justify-content: space-between;}
.bus_sec01 li:nth-child(odd) { width: 23.5%;}
.bus_sec01 li:nth-child(even) { padding: 0px 3px; width: 2%;}
.bus_sec01 figcaption { font-size: 1.3em; letter-spacing: 0.2em; line-height: 1.8;}

.bus_sec02 section { margin-bottom: 80px;}
.bus_sec02 .right { width: 510px;}
.bus_sec02 h4 { background: url("../images/business/bus_sec02_icon.png") no-repeat left top; border-bottom: dashed 4px #000; font-size: 2.6em; padding: 0px 0px 10px 50px;}

.bus_sec03 { padding: 80px 0px 40px;}
.bus_sec03 ul { display: flex; flex-wrap: wrap; justify-content: space-between;}
.bus_sec03 li { margin-bottom: 40px; width: 23.5%;}


/* ------------------------
	recruit
------------------------ */

.rec_sec01 { background: url("../images/recruit/rec_sec01_bg.jpg") no-repeat center top; background-size: cover; height: 890px; padding-top: 80px;}
.rec_sec01 .text01 { font-size: 1.7em;}

.rec_sec02 ul { display: flex; justify-content: center; margin: auto -1%;}
.rec_sec02 li { max-width: 310px; width: 48%; margin: 0px 1% 50px;}
.rec_sec02 li a { display: block; text-decoration: none;}
.rec_sec02 li p { background-color: #e60042; color: #fff; padding: 12px; position: relative;}
.rec_sec02 li p:after { content: ""; position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: url("../images/recruit/rec_ico_arrow.png") no-repeat center top; background-size: 100% 100%; width: 14px; height: 24px;}

.rec_sec03 figure.box50 { width: 480px;}
.rec_sec03 div.box50 { width: 535px;}

.rec_sec04 ul { display: flex; justify-content: space-between; flex-wrap: wrap;}
.rec_sec04 li { width: 31%; margin-bottom: 40px;}

.rec_sec05 .table_bordered th { padding: 12px 10px;}
.rec_sec05 .btn_area a { display: inline-block; width: 100%; max-width: 600px; border: solid 2px #e60042; color: #e60042; text-align: center; font-size: 1.5em; font-weight: bold; text-decoration: none; padding: 8px 35px; position: relative; transition: 0.3s;}
.rec_sec05 .btn_area a:hover { background-color: #e60042; color: #fff;}
.rec_sec05 .btn_area a:after { content: ""; position: absolute; background: url("../images/recruit/rec_ico_arrow_red.png") no-repeat left top; width: 13px; height: 24px; right: 15px; top: 50%; transform: translateY(-50%); transition: 0.3s;}
.rec_sec05 .btn_area a:hover:after { background-image: url("../images/recruit/rec_ico_arrow.png");}


/* ------------------------
	interview
------------------------ */

.int_maintext { padding-top: 60px;}

.int_sec .mainimage img { width: 100%; height: auto;}

.int_sec .int_head { padding: 25px 0px;}
.int_sec .int_head .box { max-width: 750px; margin: auto; padding: 0px 15px;}
.int_sec .int_head .text01 { border-bottom: solid 2px #fff; font-size: 1.3em; padding-bottom: 15px;}
.int_sec .int_head .num { right: 20px; top: -110px;}
.int_sec .int_head .text01 .pos_ab { right: 0px; bottom: 0px;}
.int_sec .int_head h3 { font-size: 2.2em;}

.int_sec section h4 { font-size: 1.8em; letter-spacing: 0.05em;}
.int_sec section .box_inner { width: 510px;}


/* ------------------------
	contact
------------------------ */

.contact_sec01 { padding-top: 60px;}
.contact_sec01 h3 { font-size: 1.7em; letter-spacing: 0.2em;}
.contact_sec01 li { display: inline-block; vertical-align: middle; margin: 0px 1.5%;}

.contact_sec02 { padding: 80px 0px;}
.contact_sec02 .box { max-width: 795px; margin: auto;}

.contact_sec a { color: #00b7cb;}
.contact_sec a:hover { text-decoration: none;}

.contact_box { max-width: 600px; margin: auto;}
.contact_box .back_red { display: inline-block; padding: 1px 6px; margin-left: 10px;}
.contact_box input[type="text"], .contact_box input[type="email"], .contact_box input[type="tel"], .contact_box textarea, .contact_box select { width: 100%; border: none; padding: 7px; font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 1.1em; background-color: #fff; margin-bottom: 10px;}
.contact_box .width_auto input[type="text"], .contact_box .width_auto input[type="email"], .contact_box .width_auto input[type="tel"], .contact_box .width_auto textarea, .contact_box .width_auto select { width: auto; max-width: 100%;}
input[type="file"] { margin-bottom: 10px;}

.contact_box input[type="submit"] {
	display: inline-block;
	width: 600px;
	font-family: "Hiragino Maru Gothic W4 JIS2004", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 1.6em;
	font-weight: bold;
	color: #fff;
	text-decoration: none;
	background: url("../images/common/ico_arrow_white.png") no-repeat 95% 50% #00499d;
	padding: 12px;
	border: none;
	cursor: pointer;
	position: relative;
}
.contact_box input[type="submit"]:hover { background-color: #e60042;}
.contact_box input[type="submit"]:focus { outline: none;}

.contact_box .privacy_box { border: solid 1px #000; padding: 20px;}

.mwform-checkbox-field label, .mwform-radio-field label { display: inline-block;}

.mw_wp_form .error {
	background-color: #F7CCE6;
	border: #ee4d89 solid 1px;
	border-radius: 3px;
	color: #EE4D89;
	display: inline-block;
	vertical-align: middle;
	font-size: 75%;
	padding: 3px 5px 2px;
	margin-left: 5px;
}

.mw_wp_form_confirm .confirm_hidden { display: none;}


/* ------------------------
	blog
------------------------ */

.blog_single header h1 { border-bottom: dashed 4px #000; padding-left: 90px; position: relative; padding-bottom: 13px; font-weight: bold; font-size: 1.55em;}
.blog_single header h1:before { content: ""; position: absolute; background: url("../images/blog_ttl.png") no-repeat left top; background-size: 100% 100%; left: 0px; bottom: 5px; width: 79px; height: 60px;}
.blog_single header .category { display: inline-block; background-color: #00499d; color: #fff; font-size: 0.8em; padding: 3px 10px;}

.blog_content h1 { font-size: 1.6em; font-weight: bold; line-height: 1.4; border-bottom: solid 2px #000; padding-bottom: 8px; clear: both; margin-bottom: 35px;}
.blog_content h2 { color: #00499d; font-size: 1.3em; font-weight: bold; line-height: 1.4; border-left: solid 4px #00499d; clear: both; padding-left: 5px; margin-bottom: 30px;}
.blog_content h3 { font-size: 1.25em; font-weight: bold; line-height: 1.4; color: #00499d; clear: both; margin-bottom: 30px;}
.blog_content h4, .blog_content h5, .blog_content h6 { font-size: 1.2em; font-weight: bold; line-height: 1.4; clear: both; margin-bottom: 20px;}

/*WP用 投稿表示*/
img.alignnone { margin-bottom: 20px;}
img.aligncenter {
	display: block;
	margin: 0px auto 20px;
}
img.alignright {
	margin: 0 0 20px 20px;
	display: inline;
}
img.alignleft {
	margin: 0 20px 20px 0;
	display: inline;
}
.alignright {
	float: right;
}
.alignleft {
	float: left
}

/* ページャー(シングル) */
.pager { max-width: 600px; margin: auto;}
.pager li { display: inline-block; vertical-align: middle; margin: 0px 5px 5px;}
.pager li a {
	display: block;
	text-decoration: none;
	border: solid 1px #000;
	color: #000;
	font-weight: bold;
	padding: 3px 20px;
	position: relative;
}
.pager li:nth-child(2) a { border-radius: 40px;}
.pager li a:hover { background-color: #000; color: #fff;}
.pager .previous { position: absolute; left: 0px;}
.pager .previous a { padding: 3px 20px 3px 30px;}
.pager .previous a:after {
	content: "";
	position: absolute;
    left: 5px;
	top: 50%;
	transform: translateY(-50%);
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    border: 8px solid transparent;
    border-right: 8px solid #000;
}
.pager .previous a:hover:after { border-right: 8px solid #fff;}
.pager .next { position: absolute; right: 0px;}
.pager .next a { padding: 3px 30px 3px 20px;}
.pager .next a:after {
	content: "";
	position: absolute;
    right: 5px;
	top: 50%;
	transform: translateY(-50%);
    box-sizing: border-box;
    width: 8px;
    height: 8px;
    border: 8px solid transparent;
    border-left: 8px solid #000;
}
.pager .next a:hover:after { border-left: 8px solid #fff;}

/* ページャー(アーカイブ) */
.pagination .number { position: absolute; left: 0px; top: 0px;}
.pagination span.current, .pagination a {
	margin: 0px 4px 5px;
	display: inline-block;
	vertical-align: middle;
	text-align: center;
	text-decoration: none;
	border: solid 1px #000;
	background-color: #fff;
	min-width: 40px;
	height: 40px;
	line-height: 40px;
	padding: 0px 8px;
	color: #000;
	font-weight: bold;
	-moz-transition-duration: 0.3s;
	-webkit-transition-duration: 0.3s;
	-o-transition-duration: 0.3s;
	-ms-transition-duration: 0.3s;
}
.pagination span.current, .pagination a:hover { background-color: #000; color: #fff;}


/* ------------------------
	事例一覧
------------------------ */

/* アーカイブ */
.product_archive article {
	display: table;
	width: 100%;
	padding: 0px 0px 50px;
	border-bottom: solid 2px #918c8a;
	margin-bottom: 50px;
}
.product_archive article .box { display: table-cell; vertical-align: top;}
.product_archive article div.box { width: 510px;}
.product_archive article figure.box { padding-left: 20px;}
.product_archive article figure.box img { width: 100%; height: auto;}
.product_archive article .more_btn a { min-width: 250px;}

.bx-wrapper { padding-bottom: 30px; position: relative;}
.bx-controls { text-align: center; padding-top: 15px; position: absolute; bottom: 0px; left: 0px; width: 100%;}
.bx-pager-item { display: inline-block; margin: 0px 5px; vertical-align: bottom;}
.bx-pager-item a { display: block; text-indent: -9999px; background-color: #ddd; border-radius: 100%; width: 10px; height: 10px;}
.bx-pager-item a.active { background-color: #666;}

.blog_single header .category_list li { display: inline-block; vertical-align: top; margin: 0px 0px 5px 5px;}
.blog_single header .category_list li a { display: block; background-color: #00499d; color: #fff; font-size: 0.8em; padding: 3px 10px; text-decoration: none;}
.blog_single header .category_list li a:hover { opacity: 0.7;}
