/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

html,
button,
input,
select,

textarea {
    color: #222;
}

html {
	font-size: 88%;
	line-height: 1.8;
}

body {
	font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Times New Roman , Georgia;
	-webkit-text-size-adjust: 100%;
}
a { overflow: hidden; outline: none;}
a:link { color: #1A9BED; text-decoration: none; }
a:visited { color: #1A9BED; text-decoration: none; }
a:hover { color: #1A9BED; text-decoration: underline; }
a:active { color: #1A9BED; text-decoration: underline; }
a:focus{outline: none;}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
img,
video {
	vertical-align: middle;
}
.news_photo {
    width: 500px;
    margin-bottom: 50px;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browsehappy {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}
.mincho {font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif; }
a img.linkimg{
background:none!important;
}
a:hover img.linkimg{
opacity:0.6;
filter:alpha(opacity=60);
-ms-filter: "alpha( opacity=60 )";
background:none!important;
    -webkit-transition: all .5s;
    transition: all .5s;
}
.clear { clear:both;}
.br_pconly {display:block;}
.br_sponly {display:none;}
.bold {font-weight:bold;}
.red { color:#FF0000;}
.m-auto {margin:0 auto !important;}
.pt30 {padding-top:30px !important;}
/* -----------------------------------------------
ヘッダー・グローバルナビ部分
----------------------------------------------- */
.inner {
	width:100%;
	margin-right: auto;
	margin-left: auto;
	height: 180px;
	padding: 20px 0;
	box-sizing:border-box;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}
 
 
/* header */
#top-head {
    width: 100%;
    margin: 0 auto;
    padding: 0 50px 0;
    z-index: 999;
}
#top-head a,
#top-head {
	text-decoration: none;
}
#top-head .inner {
    position: relative;
}
#top-head .logo {
	margin: 0;
	padding:0;
	width:100%;
	max-width:264px;
}
#top-head .head_text {
	float: left;
	margin: 1em auto;
	padding:0;
	width:100%;
	max-width:500px;
	font-size: 85.7%;
}

#global-nav ul {
	margin: 30px 0 0 0;
	padding:0;
	list-style: none;
	position: absolute;
	right: 0;
	top: 0;
	height:70px;line-height:70px;
}
#global-nav ul li {
	display:inline-block;
	vertical-align:middle;
	position:relative;
	font-weight:bold;
	font-size: 114%;
}
#global-nav ul li a {
	padding:0 .5em .5em;
	text-align:left;
	margin: 0 1em;
}
#global-nav ul li a:link,
#global-nav ul li a:visited
{ color:#000;text-decoration: none; }
#global-nav ul li a:hover,
#global-nav ul li a:active
{
	color:#000;
	text-decoration: none;
	border-bottom:solid #004097 3px;
}

#global-nav ul li.active { border-bottom:solid #FFF 2px;padding:0.2em 1em;}
#global-nav ul li.active a:hover { border-bottom:none;margin-top:0px;}

/* Fixed */
#top-head.fixed {
	background:#fff;
    margin-top: 0;
    top: 0;
    position: fixed;
    padding-top: 0px;
    height: 120px;
    transition: top 0.65s ease-in;
    -webkit-transition: top 0.65s ease-in;
    -moz-transition: top 0.65s ease-in;
}
#top-head.fixed .logo {margin: 0 0 0 0;}
#top-head.fixed .head_text {display: none;}
/* Toggle Button */
#nav-toggle {
	display: none;
	position: absolute;
	right: 16px;
	top: 30px;
	width: 34px;
	height: 36px;
	cursor: pointer;
	z-index: 101;
}
#nav-toggle div {
    position: relative;
}
#nav-toggle span {
    display: block;
    position: absolute;
    height: 4px;
    width: 100%;
    background: #000;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
    top: 0;
}
#nav-toggle span:nth-child(2) {
    top: 11px;
}
#nav-toggle span:nth-child(3) {
    top: 22px;
}

header {
  	width: 100%;
  	max-width:2200px;
	padding-right: 0;
	padding-left: 0;
}
header h1 {
	margin:0 auto
}
header .slide {
    height: 100%;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    display:block;
}

header .main_copy {
	width: 100vw;
	height: 80vh;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	max-width: 540px;
	margin: 0 auto;
	text-align: center;
}
header .main_copy .pcimg{
	width: 100%;
	height: 100%;
	max-width: 540px;
}
header .slide_sp {display:none;}
header .spimg {display:none;}

/* -----------------------------------------------
レイアウト調整
----------------------------------------------- */


 /* -----------------------------------------------
TOP_shop
----------------------------------------------- */
#TOP_news {
	width: 100%;
	max-width:2200px;
	padding: 100px 0;
}
.TOP_news {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
	padding: 4em 0;
	background: #EFF8FE;
	font-weight:bold;
	height: 20em;
    overflow: auto;
}
.TOP_news h1 {
	margin:0 0 2em 0;
	font-size:36px;
}
.TOP_news h1 span {border-top: solid 3px #004097;}

.TOP_news ul {
	margin:0 auto;
	padding:0;
	list-style:none;
	width: 90%;
	overflow: hidden;
}
.TOP_news ul li { width:15%; display:inline-block; padding:20px; vertical-align:top;}
.TOP_news ul li:last-child { display:inline-block; width:84%;}
.TOP_news dl{width: 100%; margin:0; text-align:left; font-size:14px;}
.TOP_news dt{
	display: block;
	width: 24%;
	clear: left;
	float: left;
}
.TOP_news dt .category{
	display: inline-block;
	padding:0;
	background:#4D4D4D;
	color:#fff;
	margin:0 0 0 1em;
	width:6em;
	text-align:center;
}
.TOP_news dt .category li{
	padding:.2em .4em;
}

.TOP_news dd{
	display: block;
	width: 76%;
	float: left;
	margin:0 0 20px 0;
	padding:0;
	box-sizing:border-box;
}
.TOP_news dd a:link,
.TOP_news dd a:visited { color: #fff; text-decoration: none; }
.TOP_news dd a:hover,
.TOP_news dd a:active { color: #fff; text-decoration: underline; }

.highsschool{padding: 0 0 1.5em;}
a.highsschool {
	font-size: 18px;
	text-decoration: none;
	color: #FF0000;
	-webkit-animation:blink 0.8s ease-in-out infinite alternate;
	-moz-animation:blink 0.8s ease-in-out infinite alternate;
	animation:blink 0.8s ease-in-out infinite alternate;
	font-weight: bold;
	}
	@-webkit-keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;}
	}
	@-moz-keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;}
	}
	@keyframes blink{
	0% {opacity:0;}
	100% {opacity:1;
	}
	}
a.highsschool:hover {
	text-decoration: none; color: #FF0000;
}

 /* -----------------------------------------------
TOP_company
----------------------------------------------- */
#TOP_shop {
	width: 100%;
	max-width:2200px;
	text-align:center;
	margin: 0 auto;
	padding: 0 0 0;
}
.TOP_shop {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 0;
	border-top: solid 1px #CCCCCC;
}
.TOP_shop h1 {
	margin:0 0 2em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.TOP_shop h1 span {border-top: solid 3px #004097;}
.TOP_shop ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
}
.TOP_shop ul li {
	display:inline-block;
	width:30%;
	padding:0 0 0 0;
	margin:0 4% 4% 0;
	text-align:left;
	vertical-align: top;
}
.TOP_shop ul li:last-child {
	margin:0 0% 4% 0;
}
.TOP_shop ul li img {width: 100%; max-width: 300px; border: solid 1px #CCCCCC;}
.TOP_shop  li .catch {
	font-size:16px;
	font-weight: bold;
	margin: .5em 0;
}
.TOP_shop li .shop_text {
	font-size:12px;
}
.TOP_shop li .go_detail {
	width:80%;
	line-height:40px;
	text-align:center;
	float:right;
	font-size:14px;
}
.TOP_shop li .go_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/more.png);
	background-repeat: no-repeat;
	background-position:96% 10px;
}
.TOP_shop li .go_detail a:link { color: #222; text-decoration: none; }
.TOP_shop li .go_detail a:visited { color: #222; text-decoration: none; }
.TOP_shop li .go_detail a:hover {
	background-image:url(../images/more_h.png);
	background-repeat: no-repeat;
	background-position:96% 10px;
    background-color:rgba(0,159,232,0.8);
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #fff; 
	text-decoration: none; 
	border:none;
}
.TOP_shop li .go_detail a:active { color: #222; text-decoration: underline; }


 /* -----------------------------------------------
TOP_recruit
----------------------------------------------- */
#TOP_recruit {
	width: 100%;
	max-width:2200px;
	text-align:center;
	margin: 60px auto 0;
	padding: 0 0 0;
}
.TOP_recruit {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	text-align: center;
	padding: 100px 0;
	background: #EFF8FE;
}
.TOP_recruit .TOP_recruit_innner {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	border-top: solid 1px #CCCCCC;
}
.TOP_recruit_innner h1 {
	margin:0 0 1em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.TOP_recruit_innner h1 span {border-top: solid 3px #004097;}
.TOP_recruit_innner h2 {
	margin:0 0 1em 0;
	padding:0;
	font-size:28px;
	font-weight: bold;
}
.TOP_recruit_innner img {
	width: 100%;
	margin: 2em auto;
}
.TOP_recruit .go_recruit {
	margin: 0 auto;
	width:30%;
	line-height:40px;
	font-size:14px;
}
.go_recruit a {
    display: block;
	text-decoration:none;
	background-image:url(../images/more.png);
	background-repeat: no-repeat;
	background-position:96% 10px;
}
.go_recruit a:link { color: #222; text-decoration: none; }
.go_recruit a:visited { color: #222; text-decoration: none; }
.go_recruit a:hover {
	background-image:url(../images/more_h.png);
	background-repeat: no-repeat;
	background-position:96% 10px;
    background-color:rgba(0,159,232,0.8);
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #fff; 
	text-decoration: none; 
	border:none;
}
.go_recruit a:active { color: #222; text-decoration: underline; }

/* -----------------------------------------------
shop_page
----------------------------------------------- */
.shop_head{
	position: relative;
	padding: 0 0 39.7% 0;
	margin: 0 auto;
	background-image: url(../images/shop_head.jpg);
	background-repeat: no-repeat;
	background-size: contain;
	width: 100%;
	height: 0;
}
.shop_head .shop_menu{
	width: 45vw;
	margin: 0 auto 0 0;
	padding:6vw 10vw 6vw;
}
.shop_menu h1{
	font-size: 66px;
	font-weight: bold;
	position: relative;
    display: inline-block;
}
.shop_menu h1::before {
    content: '';
    position: absolute;
    left: 0%;
    top: 0px;
    display: inline-block;
    width: 92px;
    height: 3px;
    background-color: #004097;
}
.shop_menu ul{
	margin: 0;
	padding: 0;
	list-style: none;
	overflow: hidden;
}
.shop_menu ul li{
	text-align: right;
	padding: .4em 0;
	border-bottom: dotted 1px #CCCCCC;
	font-size: 114%;
	font-weight: bold;
	position: relative;
}
.shop_menu ul li:last-child{
	border-bottom: none;
}
.shop_menu ul li a {
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}
.shop_menu ul li a:link { color: #000; text-decoration: none; }
.shop_menu ul li a:visited { color: #000; text-decoration: none; }
.shop_menu ul li a:hover,
.shop_menu ul li a:active{
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #009FE8; 
	text-decoration: none; 
}
.shop_menu ul li.active a {
	color: #009FE8;
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}

#shop_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
.shop_page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 0;
	border-top: solid 1px #CCCCCC;
}
.shop_page h1 {
	margin:0 0 2em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.shop_page h1 span {border-top: solid 3px #004097;}

.shop_page .shop_concept {
	width:50%;
	max-width:500px;
	padding:0 0 40px 0;
	margin:0 auto;
	text-align:left;
	float: left;
	vertical-align: top;
}
.shop_concept .brand {font-size: 16px;font-weight: bold;margin:0 0 1em;}
.shop_concept .concept_title {font-size: 30px;font-weight: bold;margin:0 0 1em;display: inline-block;position: relative;}
.concept_title::after {
    content: '';
    position: absolute;
    left: 0%;
    bottom: -20px;
    display: inline-block;
    width: 92px;
    height: 1px;
    background-color: #CCCCCC;
}

.shop_page .shop_logo {
	width:50%;
	max-width:300px;
	padding:0 0 40px 0;
	margin:0 auto;
	float: right;
	vertical-align: top;
}
.shop_detailbox{
	background: #EFF8FE;
	padding: 80px;
	overflow: hidden;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 80px;
}
.shop_detailbox h2{
	font-size: 26px;
	font-weight: bold;
	position: relative;
	text-align: left;
	margin: 0;
}
.shop_detailbox h2::before {
    content: '';
    position: absolute;
    left: 0%;
    top: -10px;
    display: inline-block;
    width: 92px;
    height: 3px;
    background-color: #004097;
}
.shop_detailbox h2 span {font-size: 69.2%;}
.shop_detailbox .shop_detail_left{
	float: left;
	width: 55%;
	text-align: left;
	padding-right: 60px;
	margin-top:40px;
}
.shop_detail_left dl{
width: 100%;
overflow:hidden;
	margin: 0 auto;
}
.shop_detail_left dt{
display: block;
width: 25%;
clear: left;
float: left;
font-weight:bold;
border-top: dotted 1px #000;
padding:.5em 0;
	color: #009FE8;
}
.shop_detail_left dd{
display: block;
width: 75%;
float: left;
border-top:dotted 1px #000;
margin:0;
padding:.5em;
}
.shop_detail_left dt:first-child{
	border-top:none;
}
.shop_detail_left dt:first-child + dd {
	border-top:none;
}

.shop_detailbox .shop_detail_right {
	width:45%;
	max-width:500px;
	margin:40px auto 0;
	float: right;
}
.shop_detail_right ul {
	margin:0 auto;
	list-style:none;
	overflow:hidden;
	width:100%;
	padding:0;
}
.shop_detail_right li {
	float:left;
	width:45%;
	margin-right: 10%;
	margin-bottom: 10%;
}
.shop_detail_right li:nth-child(even) {
	margin-right: 0;
}
.shop_detail_left .go_link {
	margin: 20px auto 0;
	width:100%;
	line-height:40px;
}
.go_link a {
    display: block;
	text-decoration:none;
	background-image:url(../images/more.png);
	background-repeat: no-repeat;
	background-position:6% 10px;
	padding: 0 2em;
	text-align: right;
}
.go_link a:link,
.go_link a:visited{
	color: #fff;
	text-decoration: none;
	background-color:#4D4D4D;
	border:solid 1px #4D4D4D;
}
.go_link a:hover {
    background-color:#fff;
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #4D4D4D; 
	text-decoration: none; 
	border:solid 1px #4D4D4D;
}
.go_link a:active { color: #222; text-decoration: underline; }


/* -----------------------------------------------
comonay_page
----------------------------------------------- */
.company_head{
	position: relative;
	padding: 0 0 39.7% 0;
	margin: 0 auto;
	background: url(../images/company_head.jpg) no-repeat;
	background-size: contain;
	width: 100%;
	height: 0;
}
.company_head .company_menu{
	width: 45vw;
	margin: 0 auto 0 0;
	padding:6vw 10vw 6vw;
}
.company_menu h1{
	font-size: 66px;
	font-weight: bold;
	position: relative;
    display: inline-block;
}
.company_menu h1::before {
    content: '';
    position: absolute;
    left: 0%;
    top: 0px;
    display: inline-block;
    width: 92px;
    height: 3px;
    background-color: #004097;
}
.company_menu ul{
	margin: 0;
	padding: 40% 0 0;
	list-style: none;
	overflow: hidden;
}
.company_menu ul li{
	text-align: right;
	padding: .6em 0;
	border-bottom: dotted 1px #CCCCCC;
	font-size: 114%;
	font-weight: bold;
	position: relative;
}
.company_menu ul li:last-child{
	border-bottom: none;
}
.company_menu ul li a {
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}
.company_menu ul li a:link { color: #000; text-decoration: none; }
.company_menu ul li a:visited { color: #000; text-decoration: none; }
.company_menu ul li a:hover,
.company_menu ul li a:active{
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #009FE8; 
	text-decoration: none; 
}
.company_menu ul li.active a {
	color: #009FE8;
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}

#company_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
.company_page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 0;
	border-top: solid 1px #CCCCCC;
}
.company_page h1 {
	margin:0 0 2em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.company_page h1 span {border-top: solid 3px #004097;}
.company_page .message {font-size: 16px;font-weight: bold;margin:0 0 1em;}
.company_page .greeting_title {font-size: 30px;font-weight: bold;margin:0 0 1em;display: inline-block;position: relative;}
.greeting_title::after {
    content: '';
    position: absolute;
    left: 0%;
    bottom: -20px;
    display: inline-block;
    width: 92px;
    height: 1px;
    background-color: #CCCCCC;
}
.company_page .greeting_box {
	width:100%;
	padding:0;
	margin:0 auto 80px;
	text-align:left;
	overflow: hidden;
}
.company_page .greeting_ph {
	width:50%;
	max-width:500px;
	padding:40px 0;
	margin:0 auto;
	float: left;
	vertical-align: top;
}
.company_page .greeting {
	width:50%;
	max-width:440px;
	padding:40px 0;
	margin:0 auto;
	text-align:left;
	float: right;
	vertical-align: top;
}
.greeting p {margin:0 0 1em; }
.greeting .g_post {color:#004097;font-weight: bold;margin:0 0 .5em; }
.greeting .g_name {font-size: 32px;font-weight: bold;margin:0 0 .2em; }
#company_page .about_box{
	background: #EFF8FE;
	padding: 0;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 80px;
}
.about_box h2{
	font-size: 30px;
	font-weight: bold;
	color: #fff;
	text-align: center;
	margin: 0;
	background: #002063;
	padding: .5em 0;
}
.about_box .about_box_innner{
	max-width: 900px;
	margin: 0 auto;
	padding: 80px 0;
}
.about_box_innner .about_box_left{
	display: inline-block;
	width: 49.5%;
	text-align: left;
	vertical-align: middle;

}
.about_box_innner .about_box_right{
	width: 49.5%;
	display: inline-block;
	vertical-align: middle;
}
.about_box_innner .about_box_right img{width: 100%;}
.about_box .about_box_innner2{
	max-width: 660px;
	margin: 0 auto;
	padding: 80px 0;
}
.about_box .about_box_innner2 p{
	margin: 0 0 40px;
	text-align: left;
}
.about_box_innner2 h3{
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	margin: 0 auto 10px;
	background: #004097;
	padding: .2em 0;
	width: 8em;
}
.about_box_innner2 .kizuna{
	font-size: 127%;
	font-weight: bold;
	margin: 0 auto 10px;
}

.company_page .overview_box,.company_page .history_box{
	width:100%;
	padding:0;
	margin:0 auto 80px;
	text-align:left;
	overflow: hidden;
}
.company_page .overview_box_left,.company_page .history_box_left{
	width:25%;
	display: inline-block;
	margin: 0;
	padding: 0;
	vertical-align: top;
}
.company_page .overview_box_left .overview,
.company_page .history_box_left .history{font-size: 16px;font-weight: bold;margin:0 0 1em;}
.company_page .overview_title,.company_page .history_title {font-size: 30px;font-weight: bold;margin:0 0 1em;display: inline-block;position: relative;}
.overview_title::after,.history_title::after {
    content: '';
    position: absolute;
    left: 0%;
    bottom: -20px;
    display: inline-block;
    width: 92px;
    height: 1px;
    background-color: #CCCCCC;
}
.company_page .overview_box_right{
	width:34%;
	display: inline-block;
	margin: 0 6% 0 0;
	padding: 0;
	vertical-align: top;
}
.company_page .overview_box_right:last-child{margin: 0 0 0 0;}

.overview_box_right dl{
width: 100%;
overflow:hidden;
	margin: 0 auto;
}
.overview_box_right dt{
display: block;
width: 100%;
clear: left;
font-weight:bold;
border-top: dotted 1px #000;
padding:.5em 0 0 .5em;
	color: #009FE8;
}
.overview_box_right dd{
display: block;
width: 100%;
float: left;
margin:0;
padding:0 0 .5em .5em;
}
.overview_box_right dt:first-child{
	border-top:none;
}
.overview_box_right dt:first-child + dd {
	border-top:none;
}
.map_title {color: #009FE8;font-weight: bold;text-align: left;margin: 0 0 .5em 0;}

.map_container {
	background-color: #EFF8FE;
	margin: 0 auto 40px;
	width: 100%;
	max-width: 1000px;
	padding: 10px 0px;
}
.map {
	width:100%;
	max-width:960px;
	margin: 20px auto;
	position: relative;
	padding-bottom: 300px;
	height: 0;
	overflow: hidden;
}
.map iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% ;
	height: 100% ;
}

.company_page .history_box{margin-top: 100px;}
.company_page .history_box_right{
	width:74%;
	display: inline-block;
	margin: 0;
	padding: 0;
	vertical-align: top;
}

.history_box_right dl{
width: 100%;
overflow:hidden;
	margin: 0 auto;
}
.history_box_right dt{
display: block;
width: 25%;
clear: left;
float: left;
font-weight:bold;
border-top: dotted 1px #000;
padding:.5em 0;
	color: #009FE8;
}
.history_box_right dd{
display: block;
width: 75%;
float: left;
border-top:dotted 1px #000;
margin:0;
padding:.5em;
}
.history_box_right dt:first-child{
	border-top:none;
}
.history_box_right dt:first-child + dd {
	border-top:none;
}

/* -----------------------------------------------
recruit_page
----------------------------------------------- */
.recruit_head{
	position: relative;
	padding: 0 0 39.7% 0;
	margin: 0 auto;
	background: url(../images/recruit_head.jpg) no-repeat;
	background-size: contain;
	width: 100%;
	height: 0;
}
.recruit_head .recruit_menu{
	width: 45vw;
	margin: 0 auto 0 0;
	padding:6vw 10vw 6vw;
}
.recruit_menu h1{
	font-size: 66px;
	font-weight: bold;
	position: relative;
    display: inline-block;
}
.recruit_menu h1::before {
    content: '';
    position: absolute;
    left: 0%;
    top: 0px;
    display: inline-block;
    width: 92px;
    height: 3px;
    background-color: #004097;
}
.recruit_menu ul{
	margin: 0;
	padding: 28% 0 0;
	list-style: none;
	overflow: hidden;
}
.recruit_menu ul li{
	text-align: right;
	padding: .6em 0;
	border-bottom: dotted 1px #CCCCCC;
	font-size: 114%;
	font-weight: bold;
	position: relative;
}
.recruit_menu ul li:last-child{
	border-bottom: none;
}
.recruit_menu ul li a {
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}
.recruit_menu ul li a:link { color: #000; text-decoration: none; }
.recruit_menu ul li a:visited { color: #000; text-decoration: none; }
.recruit_menu ul li a:hover,
.recruit_menu ul li a:active{
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #009FE8; 
	text-decoration: none; 
}
.recruit_menu ul li.active a {
	color: #009FE8;
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}

#recruit_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
.recruit_page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 0;
	border-top: solid 1px #CCCCCC;
}
.recruit_page h1 {
	margin:0 0 2em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.recruit_page h1 span {border-top: solid 3px #004097;}
.recruit_page .message {font-size: 16px;font-weight: bold;margin:0 0 1em;}
.recruit_page .greeting_title {font-size: 30px;font-weight: bold;margin:0 0 1em;display: inline-block;position: relative;}
.greeting_title::after {
    content: '';
    position: absolute;
    left: 0%;
    bottom: -20px;
    display: inline-block;
    width: 92px;
    height: 1px;
    background-color: #CCCCCC;
}
.recruit_page .recruit_box {
	width:100%;
	padding:0;
	margin:0 auto 80px;
	text-align:left;
	overflow: hidden;
}
.recruit_page .recruit_ph,.recruit_ph2 {
	width:50%;
	max-width:500px;
	padding:40px 0;
	margin:0 auto;
	vertical-align: top;
}
.recruit_page .recruit_ph{float: right;}
.recruit_page .recruit_ph2 {float: left;margin-right: 6%;}

.recruit_page .greeting {
	width:50%;
	max-width:440px;
	padding:40px 0;
	margin:0 auto;
	text-align:left;
	float: left;
	vertical-align: top;
}
.greeting p {margin:0 0 1em; }
.greeting .g_post {color:#004097;font-weight: bold;margin:0 0 .5em; }
.greeting .g_name {font-size: 32px;;font-weight: bold;margin:0 0 .2em; }
#recruit_page .about_box{
	background: #EFF8FE;
	padding: 80px 0;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 80px;
}
#recruit_page .about_box ul.recruitmenu{
	list-style: none;
	margin: 0 auto;
	max-width: 1000px;
	overflow: hidden;
	padding:0; 
}
#recruit_page .about_box .recruitmenu li{
	display: inline-block;
	width: 44.5%;
	margin-right: 10%;
	margin-bottom: 4%;
}
#recruit_page .about_box .recruitmenu li:nth-child(even){margin-right: 0;}
#recruit_page .go_rec_detail {
	width: 60%;
	line-height: 40px;
	text-align: center;
	font-size: 14px;
	margin: 20px auto 0;
}
#recruit_page .go_rec_detail a {
    display: block;
	text-decoration:none;
	background-image:url(../images/more.png);
	background-repeat: no-repeat;
	background-position:96% 10px;
}
#recruit_page .go_rec_detail a:link,
#recruit_page .go_rec_detail a:visited{ color: #222; text-decoration: none; }
#recruit_page .go_rec_detail a:hover,
#recruit_page .go_rec_detail a:active{
	background-image:url(../images/more_h.png);
	background-repeat: no-repeat;
	background-position:96% 10px;
    background-color:rgba(0,159,232,0.8);
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #fff; 
	text-decoration: none; 
	border:none;
}
#recruit_page .recruitentry{
	list-style: none;
	margin: 0 auto;
	max-width: 1000px;
	padding:0; 
	padding: .5em 0;
}
#recruit_page .recruitentry a {
    display: block;
	padding: .1em 0;
	font-size: 30px;
	font-weight: bold;
}
#recruit_page .recruitentry a:link,
#recruit_page .recruitentry a:visited{ color: #fff; text-decoration: none;
	background-image:url(../images/recruit_a.png);
	background-repeat: no-repeat;
	background-position:98% 20px;
	background-color: #FF0000;
}
#recruit_page .recruitentry a:hover,
#recruit_page .recruitentry a:active{
	background-image:url(../images/recruit_a_h.png);
	background-repeat: no-repeat;
	background-position:98% 20px;
    background-color:rgba(255,255,255,0.8);
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #FF0000; 
	text-decoration: none; 
	border:none;
}
.recruit_page .interview_box {
	width:100%;
	padding:0 0 70px;
	margin:0 auto 100px;
	overflow: hidden;
	position: relative;
}
.interview_box::after {
    content: '';
    position: absolute;
    left: 32%;
    bottom: 0;
    display: inline-block;
    width: 360px;
    height: 1px;
    background-color: #009FE8;
}
.recruit_page .interview_box_last {
	width:100%;
	padding:0 0 70px;
	margin:0 auto 100px;
	overflow: hidden;
	position: relative;
}

.recruit_page .interview_box_left {
	text-align: left;
	position: relative;
}
.recruit_page .interview_box_right {
	text-align: right;
	position: relative;
}
.recruit_page .interview_box_left .profilebox,
.recruit_page .interview_box_right .profilebox{
	position: absolute;
	background: #004097;
	padding: 4% 8%;
	color: #fff;
	text-align: left;
}
.recruit_page .interview_box_left .profilebox{top: 20%;right:0;}
.recruit_page .interview_box_right .profilebox{top: 20%;left:0;}

.profilebox .inter_no{font-weight: bold;padding:0 0 2em;margin: 0;}
.profilebox .inter_name{font-weight: bold;font-size: 32px;}
.recruit_page .inter_title {font-size: 30px;font-weight: bold;margin:2em 0;position: relative; text-align: center;}
.inter_title::after {
    content: '';
    position: absolute;
    left: 45%;
    bottom: -20px;
    display: inline-block;
    width: 92px;
    height: 1px;
    background-color: #CCCCCC;
}
.greeting .event {color:#004097;font-weight: bold;margin:0 0 .5em;font-size: 20px; }

.recruit_page .career_box {
	width:100%;
	padding:0 0 40px;
	margin:0 auto 40px;
	overflow: hidden;
	position: relative;
}
.career_box::after {
    content: '';
    position: absolute;
    left: 32%;
    bottom: 0;
    display: inline-block;
    width: 360px;
    height: 1px;
    background-color: #009FE8;
}
.recruit_page .career_box .course{font-size: 26px; font-weight: bold;text-align: center;margin: 0 auto 20px;}
.recruit_page .career_box .course:before{content: '■';color: #004097;}
.recruit_page .career_box img {height: 100%;}
.recruit_page .career_box .kousotsu {width: 45%; display: inline-block;vertical-align: top;}
.recruit_page .career_box2 {
	width:100%;
	max-width: 660px;
	padding:0 0;
	margin:0 auto 40px;
	overflow: hidden;
	position: relative;
	text-align: left;
}
.recruit_page .career_box3 {
	width:100%;
	max-width: 820px;
	padding:0;
	margin:0 auto 40px;
	background: #ECF6FD;
}

.career_box3 .career_box3_innner{
	max-width: 660px;
	margin: 0 auto;
	padding: 80px 0;
}
.career_box3 .career_box3_innner p{
	margin: 0 0 20px;
	text-align: left;
}
.career_box3 .career_box3_innner h3{
	color: #fff;
	font-weight: bold;
	font-size: 20px;
	margin: 0 auto 10px;
	background: #004097;
	padding: .2em 0;
	width: 16em;
}
.career_box3 .career_box3_innner p span{color: #009FE8;}
.recruit_page .image_ph{margin:40px auto 100px;width: 100%;}

.requirements_page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 0;
	border-top: solid 1px #CCCCCC;
}
.requirements_page h1 {
	margin:0 0 2em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.requirements_page h1 span {border-top: solid 3px #004097;}


.requirements_table {
	box-sizing: border-box;
	width:100%;
	border-collapse:collapse;
	margin:40px 0;
	background:#FFFFFF;
	font-size:100%;
}
.requirements_table td.midashi {
	background:#DFEFFB;
	text-align:center;
	font-weight:bold;
	padding:10px 0;
	width:18%;
	vertical-align:top;
	border-bottom:solid 1px #BFBFBF;
}
.requirements_table td.naiyou {
	text-align:left;
	padding:10px 15px;
	width:80%;
	vertical-align:top;
	border-bottom:solid 1px #BFBFBF;
}
.requirements_table td:nth-child(1) { border-top:solid 1px #BFBFBF;}
.requirements_table td:nth-child(2) { border-top:solid 1px #BFBFBF;}
.contact_page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 40px 0;
	border-top: solid 1px #CCCCCC;
	border-bottom: solid 1px #CCCCCC;
}

/* -----------------------------------------------
contact_page
----------------------------------------------- */
.contact_head{
	position: relative;
	padding: 4% 10%;
	margin: 0 auto;
	width: 100%;
	background: #EFF8FE;
}
.contact_head h1{
	font-size: 66px;
	font-weight: bold;
	position: relative;
    display: inline-block;
}
.contact_head h1::before {
    content: '';
    position: absolute;
    left: 0%;
    top: 0px;
    display: inline-block;
    width: 92px;
    height: 3px;
    background-color: #004097;
}
/* -----------------------------------------------
news_page
----------------------------------------------- */
.news_head{
	position: relative;
	padding: 0 0 39.7% 0;
	margin: 0 auto;
	background: url(../images/news_head.jpg) no-repeat;
	background-size: contain;
	width: 100%;
	height: 0;
}
.news_head .news_menu{
	width: 45vw;
	margin: 0 auto 0 0;
	padding:6vw 10vw 6vw;
}
.news_menu h1{
	font-size: 66px;
	font-weight: bold;
	position: relative;
    display: inline-block;
}
.news_menu h1::before {
    content: '';
    position: absolute;
    left: 0%;
    top: 0px;
    display: inline-block;
    width: 92px;
    height: 3px;
    background-color: #004097;
}
.news_menu ul{
	margin: 0;
	padding: 28% 0 0;
	list-style: none;
	overflow: hidden;
}
.news_menu ul li{
	text-align: right;
	padding: .6em 0;
	border-bottom: dotted 1px #CCCCCC;
	font-size: 114%;
	font-weight: bold;
	position: relative;
}
.news_menu ul li:last-child{
	border-bottom: none;
}
.news_menu ul li a {
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}
.news_menu ul li a:link { color: #000; text-decoration: none; }
.news_menu ul li a:visited { color: #000; text-decoration: none; }
.news_menu ul li a:hover,
.news_menu ul li a:active{
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
    -webkit-transition: all .5s;
    transition: all .5s;
	color: #009FE8; 
	text-decoration: none; 
}
.news_menu ul li.active a {
	color: #009FE8;
    display: block;
	text-decoration:none;
	background-image:url(../images/shop_a_h.png);
	background-repeat: no-repeat;
	background-position:4% 50%;
}

#news_page {
	width: 100%;
	max-width: 2200px;
	text-align: center;
	margin: 0 auto;
	padding: 120px 0 0;
}
.news_page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
	padding: 0 0 0;
	border-top: solid 1px #CCCCCC;
}
.news_page h1 {
	margin:0 0 2em 0;
	padding:0;
	font-size:36px;
	font-weight: bold;
	line-height: 1.4;
}
.news_page h1 span {border-top: solid 3px #004097;}
.news_page .news_box {
	width:100%;
	max-width: 580px;
	padding:0;
	margin:0 auto 80px;
	text-align:center;
	overflow: hidden;
}
.news_box table{
	width: 100%;
	border-collapse:collapse;
	margin: 0 auto 20px;
    table-layout: fixed;
}
.news_box table td{
	width: 50%;
	text-align: center;
	padding-bottom: 15px;
}
.news_box p {text-align: left;}
.news_page .newspaper_box {
	width:100%;
	max-width: 580px;
	padding:0;
	margin:0 auto 80px;
	text-align:center;
	overflow: hidden;
}
.news_page .newspaper_box img {width: 100%;max-width: 420px;margin: 0 auto 2em;}
.absmiddle{max-width: 75px !important;margin: 0 auto 1em !important; height: 100%;}
.news_page .newspaper_box h2{
	margin:0 0 1em;
	padding:.5em 0;
	font-size:20px;
	font-weight: bold;
	border-bottom: solid 1px #000;
}
.news_page .newspaper_box h2 span {font-size: 14px;font-weight: normal;padding-left: 1em;}
.news_page .newspaper_box table p {border-top: solid 2px #666;margin: 0.5em 0;padding: .5em 0;}
.news_page .newspaper_box h3{
	margin:3em 0 1em;
	padding:0 0 .5em;
	font-size:16px;
	font-weight: bold;
	border-bottom: solid 1px #000;
}
.news_page .newspaper_box h4{
	margin:1em 0 0em;
	padding:0 0 0em;
	font-size:16px;
	font-weight: bold;
	text-align: left;
}
.news_page .newspaper_box .backnumber{
	margin:0;
	padding:0 2em 0em;
	font-size:14px;
	text-align: left;
}

/* -----------------------------------------------
フッター
----------------------------------------------- */
footer{
	width: 100%;
	max-width:2200px;
	text-align: center;
}
footer a:link { color: #000; text-decoration: none; }
footer a:visited { color: #000; text-decoration: none; }
footer a:hover { color: #000; text-decoration: underline; }
footer a:active { color: #000; text-decoration: underline; }
footer h5 {
	margin:0 auto 30px;
}
footer .f_inner{width: 100%;max-width: 1200px;margin: 0 auto;	padding:120px 0 40px;}
footer .f_inner_left,
footer .f_inner_right{
	display:inline-block;
	padding:0 0 0;
	margin: 0 auto;
}
footer .f_inner_left{
	vertical-align:top;
	width: 90%;
	max-width: 1100px;
}
footer .f_inner_right{
	vertical-align:top;
	width: 18%;
	max-width: 100px;
	border-left: solid 1px #000;
}

footer .copyright{
	font-size:87.5%;
	margin: 40px 0;
}
.gotop{
  position: fixed;
  right: 2%;
  display: block;
  padding: 20px;
}

/* ==========================================================================
   Media Queries
   ========================================================================== */

@media only screen and (min-width: 35em) {
 	margin: 0px;
	padding: 0px;

}

@media print,
       (-o-min-device-pixel-ratio: 5/4),
       (-webkit-min-device-pixel-ratio: 1.25),
       (min-resolution: 120dpi) {

}

/* ==========================================================================
   Helper classes
   ========================================================================== */

.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}

.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}

.hidden {
    display: none !important;
    visibility: hidden;
}

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}
