@charset "UTF-8";
/* CSS Document */

/*////////////////////////////////////////////////////////

RESET CSS

////////////////////////////////////////////////////////*/
 
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;
	color:#666;
	font-size:100%;
	font-weight:normal;
	line-height:150%;
	vertical-align:baseline;
	background:transparent;
	-webkit-text-size-adjust: 100%;
}
 
body {
    line-height:1;
}
 
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
	max-height:100%; /* for Android Chrome bug */
}
 
ul {
    list-style:none;
    padding:0;
}

li {
    padding:0;
}
 
a {
    margin:0;
    padding:0;
	color:#666;
    font-size:100%;
	text-decoration:none;
    vertical-align:baseline;
    background:transparent;
}

a:hover {
	color:#666;
}
 
table {
    border-collapse:collapse;
    border-spacing:0;
}

.pt20 {
	padding-top: 20px;
}

.mb50 {
	margin-bottom: 50px !important;
}

.sub_title {
	font-size: 1.2em;
}


/*////////////////////////////////////////////////////////

COMMON LAYOUT

////////////////////////////////////////////////////////*/

html, body {
	height: 100%;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
	padding-top: 65px;
	box-sizing: border-box;
	opacity: 0;
}

@media screen and (max-width: 769px){
	body {
		padding-top: 0;
	}
}

#container {
	width: 100%;
	min-width: 1000px;
	padding-bottom: 50px;
	overflow: hidden;
	background: url(../images/drawing_bg.png);
}

/* header 
--------------------------------------------------------*/
header {
	width: 100%;
	min-width: 1000px;
	padding: 20px 10px;
	background: #FFF;
	box-sizing: border-box;
	box-shadow: 1px 1px 7px #666;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99;
}

@media screen and (max-width: 769px){
	header {
		position: relative;
	}
}

header #site_logo {
	position: absolute;
	top: 10px;
	left: 10px;
}

header ul {
	text-align: right;
}

header ul li {
	display: inline-block;
	margin: 0 10px;
}

/* main visual 
--------------------------------------------------------*/
#main_visual {
	height: 200px;
	margin-bottom: 80px;
	background: url(../images/gear_visual.png) no-repeat, url(../images/interview_bg.jpg);
	background-position: right, center;
	background-size: auto, cover;
	position: relative;
	z-index: 50;
}

#main_visual h1 {
	margin-left: -500px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.overseas_visual {
	background: url(../images/gear_visual.png) no-repeat, url(../images/overseas_bg.jpg) !important;
	background-position: right, center !important;
	background-size: auto, cover !important;
}

/* contents 
--------------------------------------------------------*/
section,
article
 {
	margin-bottom: 80px;
}

section h2,
article h2 {
	margin-bottom: 40px;
	color: #005BB0;
	font-size: 1.8em;
}

section h3 {
	margin-bottom: 30px;
	font-size: 1.3em;
}

.contents {
	width: 1000px;
	margin: 0 auto 80px;
	position: relative;
}

.contents_box {
	margin-bottom: 50px !important;
}

/* footer 
--------------------------------------------------------*/
footer {
	width: 100%;
	min-width: 1000px;
	padding: 20px 0;
	color: #666;
	text-align: center;
	background: url(../images/footer_top.png) repeat-x top, #F7F7F7;
	background-size: auto 25px, 100% 100%;
	position: relative;
	overflow: hidden;
}

footer p {
	margin-bottom: 30px;
	font-size: 1.7em;
	position: relative;
	z-index: 2;
}

footer ul {
	text-align: center;
	position: relative;
	z-index: 2;
}

footer ul.menu2 {
	margin-bottom: 30px;
}

footer ul.company_list {
	margin-bottom: 20px;
}

footer ul li {
	display: inline-block;
	margin: 10px 20px;
}

footer ul li a {
	color: #888;
}

footer ul li a:hover img {
	opacity: 0.8;
}

footer #gear {
	position: absolute;
	top: -300px;
	left: 20px;
	z-index: 1;
}

footer small {
	display: block;
	color: #999;
	font-size: 0.8em;
	position: relative;
	z-index: 2;
}

/* recruit */
.recruit_box {
	margin-bottom: 80px;
	position: relative;
	z-index: 10;
}

.recruit_box img {
	margin-right: 15px;
	vertical-align: top;
}

#recruit .recruit_box {
	margin-bottom: 30px;
	padding-bottom: 30px;
	border-bottom: 1px dotted #CCC;
}

/* footer (top) */
#top footer {
	width: 100%;
	margin: 0;
	padding: 0;
	text-align: center;
	background: none;
	position: absolute;
	left: 0;
	bottom: 20px;
}


/*////////////////////////////////////////////////////////

COMMON PARTS

////////////////////////////////////////////////////////*/

/* page title
--------------------------------------------------------*/
.page_title {
	font-family: "Arial Unicode MS";
	color: #fff;
	font-size: 3.1em;
	font-weight: 500;
}

/* list 
--------------------------------------------------------*/
.icon_list li {
	margin-bottom: 10px;
	padding: 3px 0 3px 40px;
	font-size: 1.1em;
	background: url(../images/icon_list.png) no-repeat left center;
}

.icon_list li img {
	position: absolute;
	right: 0;
	bottom: 0;
}

.icon_list li p {
	color: #888;
	font-size: 0.9em;
}

/* button 
--------------------------------------------------------*/
.link_btn {
	display: block;
	width: 180px;
	padding: 10px;
	text-align: center;
	border: 2px solid #A2A2A2;
}

.link_btn:hover {
	background: #E6F8FC;
}

.contents .link_btn {
	position: absolute;
	top: 50%;
	right: 0;
}

/* ghost button */
.btn_ghost {
	display: block;
	width: 180px;
	margin: 0 auto;
	padding: 10px;
	color: #FFF;
	font-size: 1.5em;
	border: 3px solid #FFF;
	position: relative;
}

.btn_ghost:before {
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	background: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.3;
}

.btn_ghost:hover {
	color: #000;
}

/* text button */
.btn_text {
	display: inline-block;
	margin: 5px 0;
	padding: 1px 8px;
	color: #FFF;
	font-size: 0.9em;
	background: #FF6329;
	border-radius: 3px;
}

.btn_text:hover {
	color: #FFF;
	-moz-opacity: 0.7;
    opacity: 0.7;
}

/* table 
--------------------------------------------------------*/
.table {
	width: 100%;
	border-top: 1px dotted #CCC;
}

.table th,
.table td {
	padding: 10px;
	/*border: 1px solid #CCC;*/
	border-bottom: 1px dotted #CCC;
}

.table th {
	vertical-align: middle;
	background: #F0F8FF;
}

.table .catch {
	color: #005BB0;
}

.icon_list table {
	font-size: 0.8em;
}

/* horizontal */
.table_h {
	margin-bottom: 20px;
	border-collapse: collapse;
    border-spacing: 0;
}

.table_h th,
.table_h td {
	border: 1px solid #CCC;
}

.table_h th {
	width: 33%;
	padding: 10px;
	background: #F0F8FF;
}

.table_h td {
	padding: 5px 10px;
}

/* vertical */
.table_v {
	width: 100%;
	margin-bottom: 20px;
    border-spacing: 0;
	border-top: 1px dotted #CCC;
}

.table_v th,
.table_v td {
	padding: 10px;
	font-size: 0.9em;
	border-bottom: 1px dotted #CCC;
}

.table_v th {
	width: 200px;
	vertical-align: middle;
	background: #F0F8FF;
}

/* trade */
.trade_table th,
.trade_table td {
	height: 3em;
	text-align: center;
	vertical-align: middle;
}

.trade_table td {
	background: #FFF;
}


/*////////////////////////////////////////////////////////

TOP

////////////////////////////////////////////////////////*/

body#top {
	opacity: 1;
	background: url(../images/start_bg.png) no-repeat;
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
}

#top footer {
	padding-bottom: 0 !important;
}

#start_title {
	margin-left: -326px;
	position: absolute;
	top: 50px;
	left: 50%;
	z-index: 99;
}

#start_text {
	margin-left: -86px;
	position: absolute;
	top: 60%;
	left: 50%;
	z-index: 99;
}

#gear_box {
	width: 903px;
	height: 893px;
	margin-top: -437px;
	margin-left: -456px;
	text-align: center;
	overflow: hidden;
	position: absolute;
	top: 50%;
	left: 50%;
}

#gear_box img {
	position: absolute;
}

#btn,
#btn_b {
	top: 334px;
	left: 355px;
	z-index: 99;
	cursor: pointer;
}

#btn_b {
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
	z-index: 98;
}

#line {
	position: relative !important;
	top: 0;
	left: 0;
}

#base {
	top: 13px;
	left: 31px;
}

#gear1 {
	top: 52px;
	left: 425px;
}

#gear2 {
	top: 316px;
	left: 48px;
}

#gear3 {
	top: 510px;
	left: 465px;
}

#v_line,
#h_line {
	box-sizing: border-box;
	position: absolute;
	top: 0;
	left: 0;
}

#v_line {
	width: 50%;
	height: 100%;
	/*border-right: 1px solid #000;*/
	border-right: 1px solid #BFBFBF;
}

#h_line {
	width: 100%;
	height: 50%;
	/*border-bottom: 1px solid #000;*/
	border-bottom: 1px solid #BFBFBF;
}


/*////////////////////////////////////////////////////////

CONTENTS TOP

////////////////////////////////////////////////////////*/

#contents_top {
	background: #FFF;
}

/* concept1 
--------------------------------------------------------*/
#concept_box {
	width: 100%;
	height: 450px;
	background: url(../images/concept_line.png) no-repeat, url(../images/concept_bg.png);
	background-position: center, center;
	background-size: auto, cover;
	position: relative;
}

#concept_box div {
	width: 1000px;
	margin: 0 auto;
	position: relative;
}

#concept_box h1 {
	position: absolute;
	top: 170px;
	left: 0;
}

#concept_box ul {
	position: absolute;
	top: 42px;
	right: 0;
	z-index: 98;
}

#concept_box ul li {
	margin-bottom: 19px;
	color: #FEFEFE;
	font-size: 1.4em;
	text-align: right;
}

#concept_box ul li a {
	display: block;
	color: #FFF;
}

#concept_box ul li span {
	display: block;
	color: #BBB;
	font-size: 0.7em;
}

#concept_box ul li a:hover {
	color: #BBB;
}

#concept_box ul li a:hover span {
	color: #FFF;
}

/* concept2 
--------------------------------------------------------*/
#concept_box2 {
	background: url(../images/start_bg2.png) no-repeat, #FFF;
	box-shadow: 1px 1px 7px #999;
	position: relative;
	z-index: 97;
}

#concept_box2 ul {
	width: 1000px;
	margin: 0 auto;
	padding: 60px 0 40px;
}

#concept_box2 ul li {
	padding: 3px 0 3px 40px;
	font-size: 1.3em;
	background: url(../images/icon_list.png) no-repeat left center;
}

#concept_box2 img {
	margin-left: -50px;
	position: absolute;
	left: 50%;
	bottom: 0;
}

/* interview
--------------------------------------------------------*/
#interview {
	margin-bottom: 0;
	padding: 80px 0;
	box-shadow: 1px 1px 7px #666;
	position: relative;
	z-index: 96;
}

#interview h2 {
	width: 1000px;
	margin: 0 auto 40px;
}

/* message
--------------------------------------------------------*/
#message {
	height: 380px;
	padding: 80px 0;
	box-sizing: border-box;
	background: url(../images/message_bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
	position: relative;
	z-index: 95;
}

#message div {
	width: 1000px;
	height: 220px;
	margin: 0 auto;
	padding: 20px;
	box-sizing: border-box;
	position: relative;
}

#message div:before {
	content: "";
	width: 1000px;
	height: 220px;
	background: #FFF;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.5;
	z-index: -1;
}

#message ul li {
	display: inline-block;
	width: 470px;
}

#message ul li:first-child {
	margin-right: 10px;
}

#message ul li a {
	display: block;
	padding: 20px 10px;
	color: #FFF;
	font-size: 1.1em;
	text-align: center;
	background: url(../images/icon_arrow.png) no-repeat 98% center, #B9A380;
	background-size: auto 20px, 100% 100%;
}

#message div img {
	position: absolute;
	right: 20px;
	bottom: 0;
}

#message div p {
	position: absolute;
	right: 200px;
	bottom: 20px;
}

/* overseas
--------------------------------------------------------*/
#overseas {
	width: 100%;
	height: 300px;
	padding-top: 80px;
	text-align: center;
	background: url(../images/overseas_bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
	box-sizing: border-box;
}

#overseas .page_title {
	margin-bottom: 30px;
}

#overseas_interview {
	position: relative;
	overflow: hidden;
}

#overseas_interview .image_box {
	float: right;
	width: 300px;
}

#overseas_interview .image_box img {
	margin-bottom: 10px;
}

#overseas_interview p {
	float: left;
	width: 680px;
}

.overseas_trainee .phrase {
	font-size: 1.15rem;
}

.overseas_trainee .kanji_name {
	font-size: 1.7rem;
}

.overseas_trainee .roman_name {
	font-size: 0.9rem;
	margin-left: 1.5em;
}

/* recruit
--------------------------------------------------------*/
.recruit {
	text-align: center;
	padding-bottom: 30px;
}

.recruit video {
	width: 600px;
	height: auto;
}

/*////////////////////////////////////////////////////////

INTERVIEW

////////////////////////////////////////////////////////*/

/* article head */
#interview_article {
	box-shadow: none;
}

#interview_article > div {
	width: 1000px;
	margin: 0 auto 50px;
}

#interview_article section {
	width: 1000px;
	height: 380px;
	margin: 0 auto 50px;
	padding: 20px 0 0 260px;
	border-bottom: 1px solid #CCC;
	box-sizing: border-box;
	position: relative;
}

#interview_article #photo {
	position: absolute;
	top: 0;
	left: 0;
}

/* article */
#interview_article h3 {
	margin-bottom: 30px;
	/*font-size: 1.2em;*/
}

#interview_article p {
	margin-bottom: 1.3em;
	color: #888;
	line-height: 180% !important;
}

/* slides */
#interview_article .slides {
	min-width: 1000px;
	margin: 150px 0 !important;
	position: relative;
}

/* message */
#interview_article .recruit_box {
	padding: 30px 0;
	border-top: 1px dotted #CCC;
}


/*////////////////////////////////////////////////////////

SYSTEM

////////////////////////////////////////////////////////*/

#system dl {
	margin-bottom: 80px;
}

#system dt {
	margin-bottom: 20px;
	font-size: 1.2em;
}

#system dt span {
	color: #005BB0;
	font-size: 1.3em;
}

#system dd {
	margin-bottom: 20px;
	padding: 0 0 20px 30px;
	border-bottom: 1px dotted #CCC;
	position: relative;
	overflow: hidden;
}

#system dd p {
	margin-bottom: 1em;
}

#system dd ul.icon_list li {
	font-size: 1em;
	background-position: 0 3px;
}

#system .float_box {
	float: left;
	width: 550px;
}

#system dd table {
	width: 520px;
}

#system dd table th {
	width: 100px;
}

.system_image {
	float: right;
	width: 365px;
}

.system_image img {
	margin-bottom: 10px;
}


/*////////////////////////////////////////////////////////

COMPANY

////////////////////////////////////////////////////////*/

.company {
	width: 1000px;
	margin: 0 auto 80px;
	position: relative;
}

.company h2 {
	margin-bottom: 10px;
}


/*////////////////////////////////////////////////////////

VISION

////////////////////////////////////////////////////////*/

#vision_gear {
	width: 1000px;
	height: 690px;
	margin: 0 auto -60px;
	position: relative;
	top: 10px;
}

#vision_gear #vision_gear1 {
	margin: -617px 0 0 -818px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
}

#vision_gear #vision_gear2 {
	margin: -167px 0 0 -330px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
}

#vision_gear #vision_gear3 {
	margin: -20px 0 0 -552px;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
}

#vision_gear ul {
	position: relative;
	z-index: 2;
}

#vision_gear ul li {
	text-align: right;
	border-bottom: 1px solid #D4AE71;
	position: absolute;
}

#vision_gear ul li:nth-child(1) {
	width: 958px;
	top: -25px;
	left: 42px;
}

#vision_gear ul li:nth-child(1) p {
	padding-left: 558px;
}

#vision_gear ul li:nth-child(2) {
	width: 750px;
	top: 235px;
	left: 250px;
}

#vision_gear ul li:nth-child(2) p {
	padding-left: 350px;
}

#vision_gear ul li:nth-child(3) {
	width: 1000px;
	top: 420px;
	left: 0;
}

#vision_gear ul li:nth-child(3) p {
	padding-left: 600px;
}

#vision_gear ul li h2 {
	margin: 0;
	color: #666;
	font-size: 2em;
	text-align: center;
	position: absolute;
	left: 0;
	bottom: 0;
}

#vision_gear ul li h2 span {
	display: block;
	font-size: 0.6em;
}

#vision_gear ul li p {
	margin-bottom: 5px;
	color: #888;
	text-align: left;
}

#vision_gear ul li p span {
	display: block;
	margin: 15px 0 5px;
	color: #666;
	font-size: 1.2em;
}

/* vision 1 */
#vision1 {
	width: 100%;
	height: 520px;
	padding-top: 80px;
	text-align: center;
	background: url(../images/vision_bg.jpg) no-repeat;
	background-position: center;
	background-size: cover;
}

#vision1 img {
	margin-bottom: 80px;
}


/*////////////////////////////////////////////////////////

RESULT

////////////////////////////////////////////////////////*/

.result {
	margin-bottom: 50px;
	border-bottom: 1px dotted #CCC;
}

.result table {
	margin-bottom: 30px;
}

.result h3 {
	margin-bottom: 15px !important;
}


/*////////////////////////////////////////////////////////

FAQ

////////////////////////////////////////////////////////*/

#faq dl {
	margin-bottom: 80px;
}

#faq dt {
	margin-bottom: 20px;
	font-size: 1.2em;
}

#faq dt span,
#faq dd span {
	color: #005BB0;
	font-size: 1.3em;
}

#faq dd {
	margin-bottom: 20px;
	padding: 0 0 20px 50px;
	border-bottom: 1px dotted #CCC;
	position: relative;
}

#faq dd span {
	font-size: 1.5em;
	position: absolute;
	top: -10px;
	left: 18px;
}

#faq dd p {
	margin-bottom: 10px;
}

/* carrier step */
.carrier_box {
	width: 100%;
	min-height: 320px;
	margin-bottom: 20px;
	padding: 20px;
	background: url(../images/carrier_step.png) no-repeat 120px 30px, #FFF;
	box-shadow: 1px 1px 5px #DDD, -1px -1px 5px #DDD;
	box-sizing: border-box;
	position: relative;
}

.carrier_box .info {
	margin-bottom: 15px;
	font-size: 1.2em;
}

.carrier_box .text {
	font-size: 0.9em;
}

.carrier_box ul {
	width: 100%;
}

.carrier_box ul li {
	padding: 10px 0 10px 145px;
	color: #999;
	position: absolute;
}

.carrier_box ul li span {
	width: 130px;
	padding: 22px 0;
	color: #FFF;
	text-align: center;
	position: absolute;
	top: 0;
	left: 0;
}

.carrier_box ul li p {
	margin-bottom: 3px;
	color: #666;
	font-size: 1.1em;
}

.carrier_box ul li:nth-child(1) {
	top: 223px;
	left: 120px;
}

.carrier_box ul li:nth-child(2) {
	top: 138px;
	left: 213px;
}

.carrier_box ul li:nth-child(3) {
	padding: 0 0 5px 145px;
	top: 44px;
	left: 305px;
}