/* Utility Classes
----------------------------------------------------*/
.mt0 {
	margin-top: 0;
}
.mb0 {
margin-bottom: 0 !important;
}
.mb10{
margin-bottom: 10px !important;
}
.mb20 {
margin-bottom: 20px;
}
.mb30 {
margin-bottom: 30px;
}
.mb40 {
margin-bottom: 40px;
}
.mb50 {
margin-bottom: 50px;
}
.mb60 {
margin-bottom: 60px;
}
.mb100 {
margin-bottom: 100px;
}
.mt10 {
margin-top: 10px;
}
.mt20 {
margin-top: 20px;
}
.mt30 {
margin-top: 30px;
}
.mt40 {
margin-top: 40px;
}
.mt50 {
margin-top: 50px;
}
.mt60 {
margin-top: 60px;
}

.pb20 {
padding-bottom: 20px;
}
.pb30 {
padding-bottom: 30px;
}
.pt20 {
padding-top: 20px;
}
.pt30 {
padding-top: 30px;
}
.font16 {
font-size: 16px;
}
.font14 {
font-size: 14px;
}
.nomal {
font-weight: normal;
}
.bold {
font-weight: bold;
}
.white {
	color: #ffffff;
}
.flex {
	display: flex;
  -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}
.ir {
background-color: transparent;
border: 0;
overflow: hidden;
/* IE 6/7 fallback */
*text-indent: -9999px;
}

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

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

.invisible {
visibility: hidden;	
}

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

.clearfix:after {
clear: both;
}

.clearfix {
*zoom: 1;
}

.bsn {
box-shadow: none;
}

.pcBreak {
display: none;
}
.supply {
font-size: 70% !important;
}
.lgr {
color: #605f5b;
font-size: 110%;
}
.tac {
text-align: center;
}
.tal {
text-align: left;
}
.tar {
text-align: right;
}
.ps_r {
position:relative;
}
.ps_a {
position:absolute;
}
.pc br {
display: none;
}
.btn-re {
position: relative;
}
.btn-ab {
position: absolute;
bottom: 40px;
left: 0;
right: 0;
}
.inline {
	display: inline;
}
.fl {
	float: left;
}
.fr {
	float: right;
}
.cb {
	clear: both;
}
.pc_c {
	text-align:center;
}

.vertical {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
	white-space: nowrap;
	text-orientation: upright;
}

/* 2colm */

.col1 li {
	width: 100%;
margin-bottom: 100px;
}

/* 2colm */

.col2PC {
	
}

.col2PC li {
	width: 48%;
	display: inline-block;
	margin: 0 auto;
}


/* hover */
a.u_line:hover {
	text-decoration: none;
}

/* indent */
li.indent-1 {
padding-left:1em;
text-indent:-1em;
}
p.indent-1 {
	padding-left:1em;
	text-indent:-1em;
	}
br.pc {
display:none;
}
@media screen and (max-width: 767px) {
br.pc {
display:block;
}
br.sp {
		display: none;
	}
.btn-ab {
bottom:-10px;
}
.col2PC {
	
}

.col2PC li {
	width: 100%;
	display:block;
	margin: 0 auto;
}
.pc_c {
	text-align: left;
}
}
@media screen and (min-width:768px) {
.lgr {
color: #605f5b;
font-size: 136%;
}
.pcBreak {
display: block;
}
}

/* Elemnts
----------------------------------------------------*/

html,
button,
input,
select,
textarea {
color: #222;
}

html {
font-size: 1em;
line-height: 1.4;
visibility: hidden; /* for webfont rendering */
}
html.wf-active,
html.wf-inactive {
visibility: visible; /* for webfont rendering */
}

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

audio,
canvas,
img,
video {
vertical-align: middle;
}

body {
font-family: "azo-sans-web", "a-otf-gothic-bbb-pr6n", "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
font-size: 14px;
line-height: 1.85;
color: #333;
letter-spacing: 0.075em;
}

p {
padding: 3px 0;
}


/* Wrapper
----------------------------------------------------*/

.section {
margin-bottom: 40px;
}

@media screen and (min-width:1024px) {
.wrapper__inner {
position: relative;
max-width: 1130px;
margin: 0 auto;
}
.section {
margin-bottom: 55px;
}
}


/* Side
----------------------------------------------------*/

.sidebar {
color: #666;
/*    display: none;*/
width: 280px;
overflow: visible !important;
padding: 15px 0 15px 15px;
}

.side__horison {
box-shadow: 13px 10px 8px -1px rgba(0, 0, 0, 0.41);
border-bottom: 2px solid #666;
margin: 20px 0 0;
padding: 0 25px;
}

.globalNav__item--primary:nth-child(3) {
margin-bottom: 28px;
}

.globalNav__target {
color: #666;
text-decoration: none;
display: block;
font-size: 25px;
line-height: 1.1;
letter-spacing: 0.15em;
text-shadow: 9px 9px 7px rgba(0, 0, 0, 0.15);
position: relative;
}




.globalNav__txt--recruit:first-letter {
color: #ed3955;
font-weight: 700;
}
.globalNav__txt--works:first-letter {
color: #12b83c;
font-weight: 700;
}
.globalNav__txt--company:first-letter {
color: #0062ff;
font-weight: 700;
}
.globalNav__txt--recruit:hover {
color: #ed395e;
transition: 0.2s;
}
.globalNav__txt--works:hover {
color: #12b83c;
transition: 0.2s;
}
.globalNav__txt--company:hover {
color: #0062ff;
transition: 0.2s;
}

.globalNav__item__sub {
font-size: 15px;
}

.globalNav__hr {
z-index: 9;
box-shadow: 11px 10px 7px 0px rgba(0, 0, 0, 0.18);
border-top: none;
border-bottom: 2px solid #666;
margin: 0;
padding: 0;
}

.globalNav__hr--company {
border-color: #0062ff;
}

.globalNav__item__txt {
text-shadow: 9px 9px 7px rgba(0, 0, 0, 0.15);
}
.globalNav__item__txt > a {
color: inherit;
text-decoration: none;
display:block;
padding: 0 42px 22px;
padding-top: 28px;

}



.globalNav__hr--works {
border-color: #12b83c;
}

.globalNav__hr--recruit {
border-color: #ed3955;
}

.globalNav__dropArrowWrap {
position: relative;
}

.globalNav__dropArrow {
text-align: center;
position: absolute;
top: -15px;
bottom: 0px;
left: 0;
right: 0;
z-index: 11;
margin: auto;
}

.dropArrow__body {
font-size: 16px !important;
border: 3px solid #fff;
background: #fff;
border-radius: 50%;
}

.dropArrow__body--company {
color: #0062ff;
}

.dropArrow__body--works {
color: #12b83c;
font-size: 16px !important;
border: 3px solid #fff;
background: #fff;
border-radius: 50%;
}

.dropArrow__body--recruit {
color: #ed3955;
font-size: 16px !important;
border: 3px solid #fff;
background: #fff;
border-radius: 50%;
}

.arrow--nav-bottom:before {
position: absolute;
top: 0;
bottom: 0;
right: 0.6em;
margin: auto;
}

.arrow--nav-bottom:before {
height: 23px;
line-height: 23px;
}

.globalNav__target {
display: block;
position: relative;
cursor: pointer;
}

.globalNav__target--secondary {
color: #666;
text-decoration: none;
/*
display: block;
position: relative;
*/
}

.globalNav__subListWrap {
width: 245px;
position: relative;
z-index: 10;
margin-bottom: 26px;
}

.globalNav__subList {
box-shadow: 11px 10px 8px 0px rgba(0, 0, 0, 0.15);
display: none;
padding: 25px 0;
width: 245px;
position: relative;
z-index: 10;
margin-bottom: 26px;
}

.globalNav__subList--company {
background-color: #0062ff;
}
.globalNav__subList__copyrightBody {
letter-spacing: 0.07em;
}

.globalNav__subList--works {
background-color: #12b83c;
}

.globalNav__subList--recruit {
background-color: #ed3955;
}

.globalNav__subList__item {
margin: 0 25px 10px 30px;
}

.globalNav__subList__target {
color: #fff;
font-size: 14px;
letter-spacing: 0.13em;
text-decoration: none;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: relative;
transition: 0.3s color ease;
}

.globalNav__subList__target:after {
content: "";
transition: 0.3s all ease;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
left: 1.5em;
height: 2px;
bottom: -0.25em;
width: 0;
background: #fff;
}

.globalNav__subList__target:hover:after {
width: calc(100% - 1.5em);
}

.globalNav__subList__target--crt:after {
width: calc(100% - 1.5em);
}

.globalNav__target--secondary {
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: relative;
transition: 0.3s color ease;
}

.globalNav__target--secondary:after {
content: "";
transition: 0.3s all ease;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
position: absolute;
left: 0;
height: 2px;
bottom: -0.25em;
width: 0;
background: #666;
}

.globalNav__target--secondary:hover:after {
width: 100%;
}

.globalNav__item--secondary {
text-shadow: 9px 9px 7px rgba(0, 0, 0, 0.15);
position: relative;
margin: 0 40px 12px 42px;
}

.globalNav__item--secondary:after {
color: #666;
content: "\f138";
font-family: FontAwesome;
position: absolute;
right: 0;
}

.globalNav__subList--crt {
display: block;
}

.drawer--left.drawer-open .drawer-hamburger {
background-color: #f0eeed;
transition: 0.4s;
}

.drawer-open .header {
background-color: transparent;
box-shadow: none;
}

@media screen and (min-width:1024px) {
.sidebar {
display: block;
position: fixed;
width: 280px;
padding: 40px 0 0 10px;
}
.globalNav__subList {
width: auto;
}
}


/* Main
----------------------------------------------------*/

.main {
width: 100%;
}

.main__contents {
width: 100%;
max-width: 820px;
margin: 0 auto;
padding: 60px 15px 0;
}
.main__contents--nrw {
max-width: 800px;
}

@media screen and (min-width:1024px) {
.main {
margin-left: 280px;
width: auto;
position: relative;
overflow: auto;
z-index: 1;
}
.main__contents {
position: relative;
padding: 0;
}
}


/* Header
----------------------------------------------------*/

.header--sp {
position: fixed;
height: 60px;
width: 100%;
background: #fff;
z-index: 12;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.header__logo__target > img {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
margin: auto;
}

@media screen and (min-width: 1024px) {
.header--sp {
display: none;
}
.side__horison {
margin: 45px 8px 0 0;
}
.globalNav__subListWrap {
width: auto;
}
.sidebar__logo {
padding: 0 20px;
}
}


/* Footer
----------------------------------------------------*/

.footer__copyright {
text-align: center;
}

.footer {
margin-top: 60px;
padding: 20px 20px 30px;


}

.footer::before {
	content: "";
	border-top: solid 2px #666;
	display: block;
	box-shadow: 13px 10px 10px 0px rgba(0, 0, 0, 0.41);
    margin-bottom: 32px;
}


/* Icons
----------------------------------------------------*/

.fa {
letter-spacing: 0;
}

.ico--start {
padding-right: 5px;
}


/* Skew Image
----------------------------------------------------*/

.hero {
margin-bottom: -25px;
}



.skew2 {
transform: skewY(7deg);
transform-origin: top left;
}

.skew_mask2 {
overflow: hidden;
height: 322px;
}

.skew_img2 {
transform: skewY(-7deg);
transform-origin: top left;
}

.child__hero {
transform: skewY(-4.5deg);
transform-origin: top right;
box-shadow: 11px 11px 10px rgba(0, 0, 0, 0.2);
margin-bottom: 25px;
}

.child__hero__mask {
overflow: hidden;
height: 43.8vw;
/* θ = 4.5, h = 100vw * 455 / 800 = 56.875vw, y = 56.875vw - tanθ * 100vw */
}

.child__hero__body {
transform: skewY(4.5deg);
transform-origin: top right;
}

.child__hero2 {
box-shadow: 11px 11px 10px rgba(0, 0, 0, 0.2);
margin-bottom: 25px;
}

.child__hero2__mask {
overflow: hidden;
height: 45vw;
}

@media screen and (min-width:768px) {
.hero {
margin-bottom: -35px;
}
}

@media screen and (min-width:1024px) {
.hero {
margin-bottom: -50px;
}
.child__hero {
width: 800px;
margin: 0 auto 45px;
}
.child__hero__mask {
overflow: hidden;
height: 36.2vw;
max-height: 382px;
}

.child__hero2 {
max-width:800px;
margin:0 auto 45px;
}
.child__hero2__mask {
height: 36.2vw;
max-height: 470px;
}
}


/* Heading
----------------------------------------------------*/

.heading--primary {
text-align: center;
text-shadow: 7px 7px 6px rgba(0, 0, 0, 0.23);
}

.heading--primary__hr {
box-shadow: 5px 5px 4px 0px rgba(0, 0, 0, 0.23);
width: 85px;
border-width: 2px;
margin: 0 auto 10px;
}
.heading--alone {
margin-bottom: 40px;
}
.heading--company {
color: #0062ff;
border-color: #0062ff;
}

.heading__aside--recruit {
color: #ed3955;
}
.heading__aside--company {
color: #0062ff;
}

.heading__body--recruit {
color: #ed3955;
}
.heading__body--company {
color: #0062ff;
}

.heading__hr--recruit {
border-color: #ed3955;
}
.heading__hr--company {
border-color: #0062ff;
}

.heading__aside--works {
color: #12b83c;
}

.heading__body--works {
color: #12b83c;
}

.heading__hr--works {
border-color: #12b83c;
}


.heading--primary__body {
font-size: 23px;
font-weight: normal;
letter-spacing: 0.15em;
line-height: 1.5;
margin-bottom: 9px;
}

.heading--primary__aside {
font-size: 13px;
letter-spacing: 0.1em;
}

.heading--secondary {
text-align: center;
margin-bottom: 30px;
}

.heading--secondary__body--company {
/*
border-top: 3px solid #0062ff;
border-left: 3px solid #0062ff;
border-right: 3px solid #0062ff;
*/
}

.heading--secondary__body {
font-size: 15px;
font-weight: normal;
letter-spacing: 0.2em;
margin-bottom: 0;
padding: 8px 40px 14px;
}
.heading--secondary__body--recruit {
background: url('../recruit/images/secondaryHeading_bg.png') center top / contain no-repeat;
}
.heading--secondary__body--company {
background: url('../company/images/secondaryHeading_bg.png') center top / contain no-repeat;
}

.heading--secondary {
text-align: center;
text-shadow: 8px 8px 6px rgba(0, 0, 0, 0.2);
}

.heading--secondaryRecruit {
color: #ed3955;
border-bottom: 1px solid #ed3955;
}
.heading--secondaryCompany {
color: #0062ff;
border-bottom: 1px solid #0062ff;
}

@media screen and (min-width:1024px) {
.heading--alone {
margin-bottom: 60px;
}
.heading--primary__body {
font-size: 36px;
}
.heading--primary__aside {
font-size: 16px;
}
.heading--secondary__body {
background-size: auto;
}
}


/* Unit
----------------------------------------------------*/

.unit--s {
max-width: 620px;
margin: 0 auto 70px;
}

.unit--m {
max-width: 660px;
margin: 0 auto 50px;
}

.unit--l {
max-width: 700px;
margin: 0 auto 20px;
}
.unit--xl {
max-width: 750px;
margin: 0 auto 20px;
}


.unit__contents {
box-shadow: 7px 7px 7px rgba(0, 0, 0, 0.2);
}

.tagline {
color: #e6e6e6;
font-size: 13px;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: right;
}
.tagline--strong {
font-size: 18px;
}

.tagline__sub {
color: #e6e6e6;
font-size: 13px;
letter-spacing: 0.1em;
line-height: 1.5;
text-align: right;
}
.tagline__sub--1row{
margin: 0;
font-size: 20px;
}
.heading__summary__Catchcopy{
font-size: 22px;
font-weight: normal;
margin:-10px 0 0;
}

@media screen and (min-width:768px) {
.unit--s {
margin: 0 auto 100px;
}
.tagline {
font-size: 26px;
}
.tagline--strong {
font-size: 38px;
margin-bottom: 0;
}
.tagline__sub {
font-size: 26px;
}
.tagline__sub--1row{
font-size: 40px;
}
.heading__summary__Catchcopy{
font-size: 32px;
margin-top: -30px;
}
}


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

.clm2 {
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
}

.clm2__item {
width: 50%;
}

.catLabel {
text-align: center;
margin-bottom: 20px;
}
.catLabel--works {
position: absolute;
left: 0;
right: 0;
margin: 0 auto;
z-index: 10;
}
.catLabel__body {
color: #fff;
font-size: 16px;
letter-spacing: 0.15em;
display: inline-block;
box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.2);
padding: 20px 25px 3px;
}

.catLabel__body:first-letter {
font-weight: 700;
}

.catLabel__body--recruit {
background-color: #ed3955;
}
.catLabel__body--company {
background-color: #0062ff;
}
.catLabel__body--works {
background-color: #12b83c;
}

@media screen and (min-width:1024px) {
.catLabel {
margin-bottom: 30px;
}
.catLabel__body {
font-size: 23px;
padding: 35px 25px 10px;
}
}


.target--above {
position: relative;
z-index: 999;
}

.majorTarget__title--company {
color: #0062ff;
}

.majorTarget__hr {
box-shadow: 5px 5px 4px 0px rgba(0, 0, 0, 0.23);
width: 60px;
border-width: 2px;
margin: 0 auto 10px;
}


.defList {
padding-bottom: 1px;
}
.defList__title {
border-bottom: 1px solid #666767;
margin-bottom: 8px;
padding-bottom: 6px;
}

.defList__desc {
margin-bottom: 30px;
margin-left: 0;
/*    padding-right: 10px;*/
}

.defList__title--recruit {
color: #ed3955;
}

.defList__desc__body {
padding-left: 1em;
}

.defList__desc__title {
color: #ed3955;
font-size: 14px;
font-weight: normal;
margin-bottom: 3px;
}

.defList--recruit a {
color: #a50d05;
text-decoration: none;
}
.defList--recruit a:hover {
text-decoration: underline;
}

@media screen and (min-width:768px) {
.defList__desc {
/*        padding-right: 20px;*/
}
}

.viewSwitch {
font-size: 90%;
color: #999;
margin: 15px 0;
text-align: center;
}
.viewSwitch__full {
margin-right: 15px;
}
.viewSwitch__responsive {
letter-spacing: 0.04em;
}
.viewSwitch__crt {
color: #222;
}


/*** 特設ページ レイアウト ***/

.contents__area__inner {
	max-width:670px;
    margin: 40px auto;
    padding: 0 6% 40px;
    background-color: #ffffff;
}

.txt-margin li {
	padding: 20px 0;
}

.fig-left {
	float: left;
	margin-right: 20px;
}



@media screen and (min-width:768px) {
	
}