@charset "UTF-8";
:root{
    --wh-color: #fff;
    --acc-color: #335B9F;
    --moji-color: #222; 
    --link-color: #335B9F;
    --red-color: #e52d27;
    --pjt01-color:#007BC7;
    --pjt02-color:#C71767;
    --bg-color-light:#F1F5F9;
    --bg-color-lightp:#FFEFF6;
    --bg-color-footer: #151E2F; 
    --max-window:1116px;
    --opacity:.7;
    --radius-btn: 6px;	
    --radius-bnr: 10px;
    --radius-base: 15px;
    --radius-img: 20px;
    --section-padding: 6em;
    --section-padding-narrow: 4.725em;
    --section-padding-thin: 2.3625em;
}

/* =========================================================
import
========================================================= */
/**
 * html5doctor.com Reset Stylesheet v1.6.1 (http://html5doctor.com/html-5-reset-stylesheet/)
 * Richard Clark (http://richclarkdesign.com)
 * http://cssreset.com
 */
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.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;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
    color:#222;
    transition: opacity 0.4s;
    position: fixed;
    opacity: 0;
}
section{display: none}
body.is-loaded{
    opacity: 1;
    position: relative;
}
.is-loaded section{
    display: block;
}
svg {
    display: block;
    width: 100%;
}
img {
    vertical-align: bottom; 
    max-width: 100%;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

nav ul, ul li, ol {
  list-style: none; }

ol ol {
  list-style: decimal inside; }

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; 
    transition: opacity 0.3s ease-in;
        cursor: pointer!important;
}
a:hover{
    text-decoration: underline;
}
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

textarea {
  resize: vertical; }
sup {
	font-size: 70%; 
	vertical-align: top;
	position: relative;
	top: -0.1em; 
}
/* =========================================================
common
========================================================= */
html {
  font-size: 66.5%;
  /*10px*/
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent; }
  @media (max-width: 767px) {
    html {
      font-size: 58%;
      /*10px*/ } }

body {
  font-family: 'Noto Sans JP',"ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 1.6rem;
  line-height: 2;
  color: #111;
  width: 100%; 
    max-width: 1920px;
    margin: 0 auto;
}
main{opacity: 0;}
.is-loaded main{opacity: 1;}
p {
  margin: 10px 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
  line-height: 2.2; }
@media (max-width: 767px) {
    p {
      margin: 5px 0;
      line-height: 2;
    } 
}
.inner{
    width: 100%;
    max-width: var(--max-window);
    padding: 0 2%;
    margin: auto;
}
.overflow-h{
    overflow: hidden;
}
@media (max-width: 1200px) {
    .inner{
        padding: 0 4rem;
    }
}
@media (max-width: 767px) {
    .inner{
        padding: 0 4vw;
    }
}
a {
  text-decoration: none; 
  color: var(--acc-color); }
a:hover {opacity: var(--opacity); }
a:active {color:var(--acc-color); }
a.link-ul {
  text-decoration: underline; }
a.link-ul:hover {
  text-decoration: none; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box; }

@media (max-width: 767px) {
  img {
    width: 100%;
    height: auto; } }

img.img_sp {
  max-width: 100%;
  height: auto;
  zoom: 1; }

.bold {font-weight: bold; }
.normal {font-weight: normal; }
.ta-c {text-align: center; }
.ta-r {text-align: right; }
.ta-l {text-align: left; }
.mt-1em {margin-top: 1em !important; }
.mt-2em {margin-top: 2em !important; }
.mt-3em {margin-top: 3em !important; }
.mt-4em {margin-top: 4em !important; }
.mb-0_4em {margin-bottom: 0.4em !important; }
.mb-1em {margin-bottom: 1em !important; }
.mb-2em {margin-bottom: 2em !important; }
.txt-in-1em {text-indent: 1em; }

.br-sp {
  display: none; }
  @media (max-width: 767px) {
    .br-sp {
      display: block; } }

.br-tbsp {
  display: none; }
  @media (max-width: 1100px) {
    .br-tbsp {
      display: block; } }

.br-tb {
  display: block; }
  @media (max-width: 1100px) {
    .br-tb {
      display: none; } }

.br-pc {
  display: block; }
  @media (max-width: 767px) {
    .br-pc {
      display: none; } }

.bdr_none {
  border-bottom: none !important; }
.bdr_btm{
  border-bottom: solid 1px #ccc;
  padding-bottom: 3.5em;
}
.white{color: var(--wh-color)!important;}
.blue{color: var(--acc-color)!important;}
.pink{color:var(--pjt02-color)!important;}
.red{color: var(--red-color)!important;}
.bg-li-blue{background:var(--bg-color-light);}
.bg-li-blue-2{background:#ECF0F5;}
.bg-li-pink{background:var(--bg-color-lightp);}

.fs-13{ font-size: 1.3rem;}
.fs-14{ font-size: 1.4rem;}
.fs-18{ font-size: 1.8rem;}
.fs-20{ font-size: 2.0rem;}
.fs-32{ font-size: 3.2rem;}
.fs-40{ font-size: 4.0rem;}

@media (max-width: 767px) {
    .fs-13{ font-size: 1.2rem;}
    .fs-14{ font-size: 1.3rem;}
    .fs-18{ font-size: 1.6rem;}
    .fs-20{ font-size: 1.7rem;}
    .fs-32{ font-size: 2.4rem;}
    .fs-40{ font-size: 3.0rem;}
}


.list-dot li{
  position: relative;
  padding-left: 1.2em;
  margin-bottom: 0.5em;
}
.list-dot li:before{
  content: "・";
  top:0;
  left: 0;
  position: absolute;
}
.lh1 {line-height: 1; }
.ff-en {font-family: 'Oswald', sans-serif;}
.flex{display: flex}
.arrow-s{position: relative;}
.arrow-s::after{
    content: '>';
    position: relative;
    display: inline-block;
    font-size: 1.2rem;
    top: calc(50% - 2em);
    right: 0;
    width: 1.9em;
    height: 1.9em;
    margin: 0.9em 0 0 0.8em;
    color: #fff;
    border-radius: 0.95em;
    background: var(--acc-color);
    padding: 0 0.4em;
    line-height: 1.75;
    text-align: center;
}
a.arrow-s:hover{
    text-decoration: none;
    opacity: 1;
}
a.arrow-s:hover::after{
    animation:arrow-move 0.5s cubic-bezier(0.22,0.89,0.35,1.08) forwards;
}
a.arrow-s:hover span{
    opacity:0.8;
}
    
/* アニメーション */
.anime:hover {
  transition: 0.2s; }

.pr {
  position: relative; }

/* 角丸 */
.rad {
  border-radius: 6px; }

.radL {
  border-radius: 12px; }

.boxSdw {
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }


.clear {
  clear: both; }

.container {
  width: 100%; }

.wrapper {
  width:100%;
  margin: 0 auto;
  padding: 6rem 8rem; 
}
@media (max-width: 1200px) {
    .wrapper{
        padding: 5rem 4rem;
    }
}
@media (max-width: 767px) {
    .wrapper {
        padding: 5rem 4rem; 
    }
}
@media (max-width: 599px) {
    .arrow-s::after{
        top:-1px;
    }
}

/*HEADER*/
header{
    width: 100%;
    z-index: 90;
    max-width: 1920px;
    margin:0 auto;
    position: absolute;
    top:0;
    left: 0;
    right: 0;
    opacity: 0;
}
.head__inner{
  background: white;
  /*height: 96px;*/
}
header.fixed{ position: fixed;z-index: 1000;}

#global-head {
  position: absolute;
  top:0;
  left: 0;
  z-index: 100;
  width: 30%;
  padding: 0;
  /*height: 90px; */
  /*transition: all 0.3s ease;*/
}
#global-head .logo {
  margin: 14px 6px 0 20px;
  position: relative;
 /*   opacity: 0;
  */z-index: 100;
}
.is-loaded #global-head .logo {
    opacity: 1;
}
#global-head .logo a{
  display: flex;
  align-items: center;
}
#global-head .logo a .site-neme{
    padding-left: 1em;
    font-size: 1.5rem;
}
#global-head .logo a:hover,#global-head .logo a.hover{
    text-decoration: none;
}
#global-head .logo img,#global-head .logo svg{
  width: 385px;
}



.nav-list{
    opacity: 0;
}
.is-loaded .nav-list{
    opacity: 1;
}
@media screen and (max-width: 400px) {
    #global-head .logo a .site-neme{
        font-size: 3.5vw;
    }
}

.global-nav .nav-list .nav-item a.link__off{
    pointer-events: none;
    color: #aaa;
    
}

/*　上に上がる動き　*/
#header.UpMove{
	animation: UpAnime 0.5s forwards;
}

@keyframes UpAnime{
  from {
    opacity: 1;
	transform: translateY(0);
  }
  to {
    opacity: 0;
	transform: translateY(-100px);
  }
}

/*　下に下がる動き　*/
.is-loaded #header.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-100px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}


@media (max-width: 767px) {
  header{height: 68px;}
  #global-head {
    height: auto; 
    width: 60%;
    padding: 10px 0 10px 20px;
  }
  #global-head .logo {
    margin: 7px 0 0; }
  #global-head .logo img,#global-head .logo svg {
    width:100%;
    height: auto;
  }
}
@media (max-width: 599px) {
    #global-head {
        padding-top: 2vw;
  }
}
@media (max-width: 480px) {
    #global-head {
        padding-top: 2.5vw;
        padding-left: 3vw;
  }

}
@media (max-width: 370px) {
  #global-head .logo img,#global-head .logo svg{
   width: 40vw; 
  }
  .logo-aside{
    padding: 1em;
    margin-left: 6px;
    font-size: 1vw;
  }
    #global-head {
        padding-top: 4vw;
  }
}

/* グローバルメニュー */
.global-nav {
    margin: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
}

.global-nav .nav-list {
    display: flex;
    align-items: center;
    list-style: none;
    margin: 0;
    padding:15px 10px 15px 0;
    justify-content: flex-end;
    z-index: 1;
    background: white;
}

.global-nav .nav-list .nav-item {
    vertical-align: middle;
}

.global-nav .nav-list .nav-item a {
    color: var(--acc-color);
    display: block;
    padding: 0.3em 0.8em 0.5em;
    text-align: center;
    text-decoration: none;
    font-size: 1.7rem;
    width: auto;
    font-weight: bold;
    cursor: pointer;
}

/* Safari */
_::-webkit-full-page-media, _:future, :root .global-nav .nav-list .nav-item a{
    padding: 0.5em  0.8em 0.3em;
}


.global-nav .nav-list .nav-item.btn__entry{
    margin-left: 1em;
}
.btn__entry > a{
    color: white;
    background: var(--acc-color);
    border-radius:var(--radius-btn); 
    transition: all 0.3s ease-out;
}
.global-nav .nav-list .nav-item.btn__entry > a{
    color: white;
    display: block;
    align-items: center;
    border: solid 2px var(--acc-color);
    padding: 0.9em 2em 0.95em 2.9em;
    position: relative;
    line-height: 1.0;
}
.global-nav .nav-list .nav-item.btn__entry.career a{
    display: flex;
    align-items: center;
    padding-top: 0.32em;

    justify-content: center;
}
.global-nav .nav-list .nav-item.btn__entry.entry-pc > a{
    width: auto;
}
.global-nav .nav-list .nav-item.btn__entry.career.entry-pc a{
    font-size: 1.5rem;
    letter-spacing:-.7px;
}
.global-nav .nav-list .nav-item.btn__entry > a > span{
    font-size: 1.2rem;
}
.global-nav .nav-list .nav-item.btn__entry > a:hover{ 
    text-decoration: none;
    opacity: 1;
}
.global-nav .nav-list .nav-item.btn__entry > a:hover{
    color: var(--acc-color);
    background: white;
}
.global-nav .nav-list .nav-item.btn__entry > a::before{
    content: '>';
    display: flex;
    position: absolute;
    top:calc(50% - 0.3em);
    transform: translateY(-50%);
    left: 11px;
    font-size: 1.0rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color: var(--acc-color);
    border-radius: 0.9em;
    background: white;
    padding-left: 0.6em;
    line-height: 1.8;
}
_::-webkit-full-page-media, _:future, :root .global-nav .nav-list .nav-item.btn__entry > a::before{
        top:calc(50% - 0.4em);
}
.global-nav .nav-list .nav-item.btn__entry > a:hover::before{
    color: white;
    background: var(--acc-color);
}



/* サブナビゲーション */
.nav-sub__ttl h4{color:var(--acc-color);}  
.btn__entry-wrap-sp{display: none;}

@media screen and (min-width: 1281px) {
    .global-nav .nav-list .nav-item a.hover{
        color:var(--acc-color);
    }
    .nav-list { position: relative; }
    .nav-item_sub {
        background: #fff;
        right: 0;
        margin: 0;
        padding-top: 55px;
        opacity: 0;
        position: absolute;
        top: -500px;
        transition: all 0.2s ease;
        visibility: hidden;
        width:100%;
        z-index: -1;
    }
    .is-loaded .nav-item_sub { top: 0; }

    .nav-item_sub .inner {
        display: flex;
        margin: 0 auto;
        width: 100%;
        max-width: none;
        padding:30px;
    }
    .nav-sub__ttl{ width:20%;padding-left: 8rem;}
    .nav-sub__ttl h4{ font-size: 2.8rem; }  
    .nav-item_sub .inner ul {  width: 80%;  }
    .nav-item_sub .inner ul li{
        padding: 0 6px;        
    }
    .nav-item_sub .inner ul li img{
        width: 100%;
        height: auto;
        max-width: 250px;
    }
    .nav-item_sub .inner ul li .txt{
        padding-top:10px;
    }
    .nav-item_sub .inner ul li .txt span{
       font-size: 1.1rem;
    }
    
  .global-nav .nav-list .nav-item_sub a {
    text-align: center;
      color:var(--acc-color);
      line-height: 1.3;

  }

  .is-loaded .nav-item:hover .nav-item_sub {
    opacity: 1;
    top:20px;
    visibility: visible;
  }
}
.btnimg{ transition: all 0.2s ease; }
.btnimg:hover{ opacity: var(--opacity)}
.nav-item_sub__tab{display: none;}

/* SP時：ハンバーガーメニューボタン */
.global-nav-icon {
  display: none;
}
.head-sp .nav-list{
    height: auto;
    opacity: 0;
    transition: opacity 0.2s ease;
}
.head-sp #global-head .logo{
    background: #fff;
}
.head-sp.open .nav-list{
    opacity: 1;
}
.head-sp .nav-item_sub > .flex{
    display: block;
}
.head-sp .nav-item_sub .inner{
    padding: 0;
}
.head-sp .global-nav-header {
    height: 50px;
}
.head-sp .global-nav .nav-list {
    background: #fff;/*rgba(0, 0, 0, 0.8);*/
    display: none;
    /*left: 50%;*/
    padding: 90px 20px 30px;
    /*position: absolute;
    transform: translate(-50%, 0%);*/
    width: 100%;
}
 .head-sp .global-nav .nav-list .nav-item{
     border-bottom: solid 1px #eee; 
     padding-bottom: 10px;
     margin-bottom: 10px;

}

.head-sp .nav-item_sub li a .imgWrap{
    display: none;
}
.head-sp .nav-sub__ttl{
    font-size: 1.4rem;
    text-align: left;
    width: 100%;
}

.head-sp .global-nav .nav-list .nav-item a{
    padding: 0.6em 1em 0.6em 0;
}
.head-sp .global-nav .nav-list .nav-item > a {
    text-align: left;
    color:var(--acc-color);
}
.head-sp .global-nav .nav-list .nav-item > a.link__off,.head-sp .global-nav .nav-list .nav-item.btn__mypage a.link__off{
    color: #aaa!important;
}
.head-sp .global-nav .nav-list .nav-item_sub .txt{
    text-align: left;
}
.head-sp .global-nav .nav-list .nav-item_sub a{
    text-align: left;
    font-weight: normal;
}
.head-sp .global-nav .nav-list .nav-item.btn__entry{
    margin-left: 0;
    margin-top: 25px;
}
.head-sp .global-nav .nav-list .nav-item.btn__entry > a{
    color: white;
}

.head-sp .global-nav .nav-list .nav-item.btn__entry > a:hover{
    color: var(--acc-color);
    background: white
}
.head-sp .global-nav .nav-list .nav-item.btn__entry > a:hover::before{
    color: white;
    background: var(--acc-color);
}
/*.head-sp .global-nav .nav-list .nav-item:last-child a {
    border-bottom: none;
}*/

.head-sp .global-nav-icon {
    color: #999;
    cursor: pointer;
    display: inline-block;
    font-size: 2.8rem;
    position: absolute;
    right: 5px;
    top: 15px;
    z-index: 2;
}
.head-sp #global-head{
    z-index: 5500;
    background: white;
    width: 100%;
}
.head-sp #global-head .logo{
    width: 70%
}
.head-sp #global-head .logo img,.head-sp #global-head .logo svg{
    max-width: 300px;
    width: 60vw;
}
@media screen and (max-width: 1380px) {
    .global-nav .nav-list .nav-item a{
        padding: 0.3em 0.5vw 0.5em;
    }
    _::-webkit-full-page-media, _:future, :root .global-nav .nav-list .nav-item a{
        padding: 0.5em 0.5vw 0.3em;
    }
    .global-nav .nav-list .nav-item.btn__entry a,.global-nav .nav-list .nav-item.btn__entry.career a{
        font-size: 1.5rem
    }
    .global-nav .nav-list .nav-item.btn__entry a{
        padding-top: .8em
    }
    .global-nav .nav-list .nav-item.btn__entry{
        margin-left: 0.5em
    }
    .global-nav .nav-list .nav-item.btn__entry.career{
        margin-left: .8em
    }
}
@media screen and (max-width: 1280px) {
    .head-sp .head__inner,.head__inner{
        height: 70px;
    }
    .nav-item_sub__tab{display: block;}

}
.head-sp .nav-item_sub {
    /*display: none;*/
}
.head-sp .nav-sub__ttl {
    display: none;
}
.open .global-nav {
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 5000;
}
.head-sp a.nohover{
    pointer-events: none;
}
.head-sp .nav-list {
    height: 100%;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}


.head-sp .global-nav .nav-list .nav-item.btn__entry{
    border-bottom: none;
    padding-bottom: 0;
}
.head-sp .global-nav .nav-list .nav-item.btn__entry > a{
    display: none;
}
.head-sp .global-nav .nav-list .nav-item.btn__entry .flex{
    flex-wrap: wrap;
}
.head-sp .global-nav .nav-list .nav-item.btn__entry a{
    text-align: center;
    width: 100%;
    margin: auto;
    padding: .8em 0;
}
.head-sp .global-nav .nav-list .nav-item.btn__mypage{
    margin-top: 20px;
}
.head-sp .btn__mypage{
    margin-left: 0;
    
}
.head-sp .global-nav .nav-list .nav-item.btn__entry.career,.head-sp .global-nav .nav-list .nav-item.btn__entry.entry-new{
    margin-left: 0;
    margin-bottom: 1em
}
.head-sp .global-nav .nav-list .nav-item.btn__entry a,
.head-sp .global-nav .nav-list .nav-item.btn__entry.career a,
.head-sp .global-nav .nav-list .nav-item.btn__entry.entry-new a{
    font-size: 1.6rem
}
.head-sp .global-nav .nav-list .nav-item.btn__entry a.hover{
    /*color: var(--acc-color);*/
}
.head-sp .global-nav .nav-list .nav-item.btn__entry a::before{
    top: calc(50% - 0.3em);
}
@media screen and (max-width: 1280px) {
    .head-sp .nav-item_sub .btnimg{
        display: none;        
    }
    .head-sp .global-nav .nav-list .nav-item.btn__entry a{
        justify-content: center;
    }
    .head-sp .nav-item-flex{
        display: flex;
    }
    .head-sp .global-nav .nav-list .nav-item > a{
        width: 9em;
        margin-right: 2em;
    }
    .head-sp .global-nav .nav-list .nav-item.entry-pc{display: none;}
    .btn__entry-wrap-sp{
        display: flex;
        align-items: center;
        justify-content: space-between;
        flex-wrap: wrap;
    }
    .head-sp .global-nav .nav-list .nav-item.entry-sp{
        margin-bottom: 1.5rem;
        margin-top: 0;
        width: 48%;
    }
    .head-sp .global-nav .nav-list .nav-item.entry-sp a{
        display: block;
        height: 66px;
    }
    .head-sp .global-nav .nav-list .nav-item.btn__entry.career a{
       padding-top: 2rem
    }
    .head-sp .global-nav .nav-list .nav-item.entry-sp.career{
        margin-bottom: 3rem;
        
    }
}
@media screen and (max-width: 767px) {
    .head-sp .global-nav .nav-list .nav-item.btn__entry a{
        padding-top: 1.7rem;
    }
    .head-sp .global-nav .nav-list .nav-item.btn__entry.career a{
       padding-top: 2.5rem
    }
}
@media screen and (max-width: 599px) {
    .btn__entry-wrap-sp{
       flex-direction: column;
    }
    .head-sp .global-nav .nav-list .nav-item.entry-sp{
        width: 100%;
    }
    .head-sp .global-nav .nav-list .nav-item > a{
        width: 8em;
    }
    #global-head .logo{
        margin-top: 5px;
    }
    .head-sp .nav-item_sub > div > .flex{
        flex-direction: column;
    }
    .head-sp.open .global-nav .nav-list {
        overflow: auto;
        -webkit-overflow-scrolling: touch;
            height: 100vh;
                padding-bottom: 5rem;
    }
    .head-sp .global-nav .nav-list .nav-item a{
        padding-top:0.2em; 
        padding-bottom:0.2em; 
    }
    body.open{
        position: fixed;
    }
   
    .head-sp .global-nav .nav-list .nav-item.btn__entry.entry-sp > a{
       width: 100%;
       justify-content: center;
        padding: 1.2rem;
        font-size: 1.7rem;
        padding-top: 1.5rem;
        height: 60px
    }
    .head-sp .global-nav .nav-list .nav-item.btn__entry.career a{
       padding-top: 2.2rem
    }
    .global-nav .nav-list .nav-item.btn__entry > a::before{
        font-size: 1.2rem;
        width: 1.2em;
        height: 1.8em;
        margin: 0.3em 0.7em 0 0.5em;
    }
}
 @media screen and (max-width: 480px) {
      .head-sp #global-head .logo img, .head-sp #global-head .logo svg{
        width: 100%;
    }
}
/**-----------------------------------------**/

.menu-trigger {
  display: none;
  position: absolute;
  top: 15px;
  right: 20px;
  height: 46px;
  padding: 6px;
  z-index: 6000;
  transition: 0.2s ease; 
/*box-shadow: 0px 0px 0px 1px rgb(4 85 133 / 20%);*/
}
.menu-trigger.fixed{
  position: fixed;
}
.menu-trigger:hover {
  cursor: pointer;
}

  @media (max-width: 1280px) {
    .menu-trigger {
      display: block;
      top: 14px;
      right: 18px; }
}
  .menu-trigger > div {
    position: relative;
    width: 34px; }
  .menu-trigger span {
    width: 80%;
    height: 2px;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    background: #335B9F;
    position: absolute;
    transition: 0.2s ease; 
/*box-shadow: 0px 0px 0px 1px rgb(4 85 133 / 20%);*/
}

@media (max-width: 599px) {
    .menu-trigger {
      top: 10px;
      right: 10px; }
}
.menu-trigger span:nth-child(1),.head-sp .menu-trigger span:nth-child(1)  {
  top: 6px; }
.menu-trigger span:nth-child(2) {
  top: 14px; }
.menu-trigger span:nth-child(3),.head-sp .menu-trigger span:nth-child(3)  {
  top: 22px; }

.menu-trigger.hover span:nth-child(1){
  top: 10px;
}
.menu-trigger.hover span:nth-child(3)  {
  top: 18px;
}


.sp{display: none;}
.pc{display: block;}
@media (max-width: 599px) {
  .pc{display: none;}
  .sp{display: block;}
}
.open {/*overflow: hidden;*/}
.open #overlay {display: block; }


.open .menu-trigger span:nth-child(1) {
  top: 14px;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg); 
  width: 80%;
}

.open .menu-trigger span:nth-child(2) {
  width: 0;
  left: 50%;
}

.open .menu-trigger span:nth-child(3) {
  top: 14px;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  transform: rotate(-45deg);
  width: 80%;
} 

#overlay {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1200; }



/* transition */
header,.nav li, .nav li a, .open {transition: all 0.3s ease;}

/* Fixed */
.top-fixed{ position: fixed;}
  


/* =========================================================
FOOTER
========================================================= */
#pagetop {
  width: 80px;
  height: 80px;
  text-align: center;
  background-color: #004692;
  padding: 0;
  float: right;
  overflow: hidden; }
  #pagetop a {
    display: block;
    letter-spacing: 1.2px;
    position: relative;
    color: #fff;
    font-size: 4.0rem; }
  @media screen and (max-width: 1100px) {
    #pagetop {
      width: 100%;
      float: none;
      height: 40px; }
      #pagetop a {
        font-size: 3.4rem;
        line-height: 1.4; } }

#pagetop:hover a {
  background-color: #02346a;
  -webkit-transition: all 0.3s;
  transition: all 0.3s; }
  
@media screen and (max-width: 1100px) {
  #pagetop:hover a {background-color: #004692; }
}

footer { background: #151E2F;}
footer .wrapper{ padding-bottom: 6rem;}
footer a{ color: #fff;}
footer .foot__list01{
    margin-bottom: 5rem;
    justify-content: space-between;
}
footer .foot__list01 > li{ 
    padding-right: 1em;
}
.col-20 { flex: 0 0 20%; }
.col-40 { flex: 0 0 40%; }
footer .foot__list01 > li a:hover{ color: #fff;}
footer .foot__list01 > li a{
  transition: all 0.3s; 
    color: #fff;
}
footer .foot__list01 > li > div{
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
}
footer .foot_list_sub li{
    font-size: 1.3rem;
}
footer a{ color: #fff;}
footer p {
    margin: 0;
    color: #fff; 
}

footer .copy{
  font-size: 1.3rem;
  color: #90949C;
}
.foot_list_sub {
    margin-top: 0.7em;
}
.foot_list_sub li a{
    position: relative;
}
.foot_list_sub li{
    line-height: 1.3;
    margin-bottom: .8em;
}
.foot__btm{
    text-align: right;
}
.foot-cslink{
    margin-bottom: 3rem;
    display: flex;
    gap:10px;
    justify-content: flex-end;
}
.foot-cslink a{
    color: #151E2F;
    background: white;
    border-radius: var(--radius-btn);
    padding: .8em 3em;
    padding-right: 2.4em;
    position: relative;
    font-size: 1.3rem;
}
.foot-cslink a::after{
    position: relative;
    content: "";
    width: 11px;
    height: 11px;
    background: url(../img/common/icon-winopen.svg) no-repeat;
    background-size: cover;
    display: inline-block;
    top:0;
    margin-left: 0.5em;
}
.foot-cslink a:hover{ text-decoration: none;}

@media (max-width: 960px) {
    .col-20,.col-40 {
        flex: 0 1 auto;
    }
    footer .foot__list01.flex{
        flex-wrap: wrap;
        justify-content:flex-start;
    }
    footer .foot__list01 > li{
        width: 33%!important;
        padding-right: 0;
        margin-bottom: 3rem;
    }
    footer .foot__list01 > li:last-child{
        width: 100%!important;
    }
}
@media (max-width: 599px) {
     footer .foot__list01.flex{
        justify-content: space-between;
    }
    footer .foot__list01 > li{
        width: 48%!important;
    }
    footer .foot__list01 > li:last-child{
        width: 100%!important;
    }
    .foot-cslink{
        width: 100%;
        max-width: 300px;
        text-align: center;
        margin: 0 auto 3rem;
    }
    .foot-cslink a{
        display: block;
        width: 100%;
        text-align: center;
        padding: 1.0em 4em;
        font-size: 1.5rem;
    }
    footer .copy{
        text-align: center;
    }
    .foot-cslink {
        flex-direction: column;
        gap:15px
    }
}
/* =========================================================
ANIMATION
========================================================= */
.anim{
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 500ms; }
.anim02,.anim03,.anim04{
  opacity: 0;
  transform: translate(0, 20px);
  transition: all 500ms; }
.animR {
  opacity: 0;
  transform: translate(100px, 0) scale(0.9);
  transition: all 600ms cubic-bezier(0.86,0,0.07,1);}

.animL {
  opacity: 0;
  transform: translate(-100px, 0)scale(0.9);
  transition: all 600ms cubic-bezier(0.86,0,0.07,1);}

/* 画面内に入った状態 */
.anim.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.3s; }

.anim02.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay: 0.5s; }

.anim03.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay:0.7s; }

.anim04.scrollin {
  opacity: 1;
  transform: translate(0, 0);
  transition-delay:0.9s; }

.animR.scrollin {
  opacity: 1;
  transform: translate(0, 0) scale(1); 
    transition-delay:0.2s;
}

.animL.scrollin {
  opacity: 1;
  transform: translate(0, 0); }

@media (max-width: 767px) {
  img[usemap] {
    border: none;
    height: auto;
    max-width: 100%;
    width: auto;
  }
}


/* =========================================================
TOP
========================================================= */

/* ----------------------------------
                MVArea
------------------------------------- */
#top-mv{
    margin-top: 90px;
    width: 100%;
    /*height: 43.6vw;*/
    height:818px;
    opacity: 0;
    transition: opacity 1.5s ease 0.5s;
    background: url(/wp-content/themes/tokai-recruit/img/newgrad/top/top-mv.jpg) no-repeat center top;
    background-size: contain;
    position: relative;
}
.is-loaded #top-mv{
    opacity: 1;
}
#top-mv .h1-wrap{padding: 3.8vw 4vw 0;}
#top-mv .h1-wrap h1{
    font-size: 6rem;
    color:var(--acc-color);
    line-height: 1.6;
    letter-spacing: 0.4em
}
#top-mv .h1-wrap div{
    font-size: 3.0rem;
    color:var(--acc-color);
    margin-top: 0.5em;
}
.top-mv-sp{display: none;}


.msk01{
    position: absolute;
    width: 35%;
    height: 100%;
    background:white;
    top:0;
    right:0;
    z-index: 50;
}
.msk02{
    position: absolute;
    width: 20%;
    height: 59%;
    background:white;
    top:0;
    right:36%;
    z-index: 50;
}
.msk03{
    position: absolute;
    width: 25.5%;
    height: 39%;
    background:white;
    top:61%;
    right:36%;
    z-index: 50;
}
.msk04{
    position: absolute;
    width: 18.5%;
    height: 39%;
    background:white;
    top:61%;
    left:19%;
    z-index: 50;
}

.msk05{
    position: absolute;
    width: 18%;
    height: 39%;
    background:white;
    top:61%;
    left:0;
    z-index: 50;
}

.is-loaded .msk01{
    animation:msk-move .8s cubic-bezier(0.86,0,0.07,1) 0.6s forwards;
}
.is-loaded .msk02{
    animation:msk-move .8s cubic-bezier(0.86,0,0.07,1) .8s forwards;
}
.is-loaded .msk03{
    animation:msk-move .8s cubic-bezier(0.86,0,0.07,1) 1.0s forwards;
}
.is-loaded .msk04{
    animation:msk-move .8s cubic-bezier(0.86,0,0.07,1) 1.2s forwards;
}
.is-loaded .msk05{
    animation:msk-move .8s cubic-bezier(0.86,0,0.07,1) 0.4s forwards;
}
@keyframes msk-move{
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

@media screen and (max-width: 1950px) {
    .msk02{
        height: 25vw;
    }
    .msk03,.msk04,.msk05{
        top:26.3vw;
    }
    .msk04{
        left: 18vw;
        width: 19vw;
    }
    .msk05{
        width: 17vw;
    }
}
@media screen and (max-width: 1799px) {
    .msk01{width: 32vw;}
    .msk02 {
        height: 29vw;
        width: 24vw;
        right: 33vw;
    }
    .msk03{
        width: 30vw;
        right: 33vw;
    }
    .msk04{
        width: 22.5vw;
        left: 12.5vw;
    }
    .msk05{
        width: 12vw
    }
    
    .msk03, .msk04, .msk05 {
        top: 30.3vw;
        height: 20vw;
    }
    #top-mv .h1-wrap div{
        font-size: 1.7vw;
    }
    #top-mv{
        height: 50vw;
        background-size: cover;
    }
    #top-mv .h1-wrap h1{
        font-size: 3.6vw;
    }
    #top-mv .h1-wrap{padding: 4.4vw 3vw 0;}
}
@media screen and (max-width: 1500px) {
    #top-mv .h1-wrap{padding: 5vw 3vw 0;}
}

@media screen and (max-width: 599px) {
    .msk01{
        width: 50vw;
        height: 60vw;
        top:inherit;
        bottom: 30vw;
    }
    .msk02 {
        height: 43vw;
        width: 46vw;
        right: inherit;
        top: inherit;
        bottom: 30vw;
        left: 0;
    }
    .msk03,.msk04,.msk05{
        top:inherit;
        bottom: 0; 
        height: 28vw;
    }
    .msk03{
        width: 37vw;
        right: 0;
    }
    .msk04{
       width: 33vw;
        left: 27.5vw;
    }
    .msk05{
        width: 26vw
    }
    #top-mv{
        background: none;
        height: auto;
        margin-top: 20vw;
    }
    .top-mv-sp{
        display: block;
        margin-top: 1.5rem;
    }
    #top-mv .h1-wrap{padding: 5vw 4vw 0;}
    #top-mv .h1-wrap h1{
        font-size: 8vw;
    }
    #top-mv .h1-wrap .ff-en{ width: 10em;}
    #top-mv .h1-wrap div{ font-size: 4vw; }
}


/* ----------------------------------
            コンテンツ
------------------------------------- */

.h2ttl{
  font-family: Sen;
  font-weight: normal;
  font-size: 8rem;
  line-height: 88px;
  text-align: left;
  color:var(--acc-color);
  position: relative;
}
.h2ttl::after{
    content: "＿";
    position: relative;
    display: inline-block;
}
.h2ttl_r{
  font-family: Sen;
  font-weight: normal;
  font-size: 8rem;
  line-height: 88px;
  text-align: right;
  color:var(--acc-color);
  position: relative;
    margin-right: 4vw;
}
.h2ttl_r::before{
    content: "＿";
    position: absolute;
    display: inline-block;
    bottom: 0;
    right: 5.8em;
}
.h2ttl__sub{
  font-weight: bold;
  font-size: 2.2rem;
  line-height: 13px;
  text-align: left;
  padding-top: 1.5em;
    margin-right: 4vw;
}
.h2ttl__sub__r{
  text-align: right;
}
  

.section{
    padding: 10rem 0 12rem;
    overflow: hidden;
}
.section-1{padding: 5rem 0 9rem;margin-top: 2rem}
.section_end{ padding-bottom: 18rem;}


@media (max-width: 1100px) {
    .h2ttl,.h2ttl_r{
        font-size: 7vw;
    }
}
@media (max-width: 959px) {
    .h2ttl,.h2ttl_r{
        line-height: 1.1;
        margin-left: 20px;
        text-align:left;
    }
    .h2ttl__sub,.h2ttl__sub__r{
        font-size: 18px;
        margin-left: 20px;
        text-align: left;
    }
    .h2ttl_r::before{
        content: none;
    }
    .h2ttl_r::after{
        content: "＿";
        position: relative;
        display: inline-block;
    }
}
@media (max-width: 767px) {
    .section-1{
        padding: 3rem 0 10rem;
    }
}
@media (max-width: 599px) {
    .section{
        padding: 7rem 0 8rem;
    }
    .section-1{
        padding: 4rem 0 7rem;
    }
    .section_end{
        padding-bottom: 25vw;
    }
    .h2ttl,.h2ttl_r{
        font-size: 4rem;
    }
    .h2ttl__sub,.h2ttl__sub__r{
        font-size: 1.6rem;
        padding-top: 1em;
        padding-bottom: 1em;
    }
}

.bar-anim {
    background-color: var(--acc-color);
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    z-index: 10;
    width: 100%;
    height: 1.4em;
    transform:scaleX(0);
}
.bar-anim-c{
    right: 0;
    margin: auto;
}
#hadabijin #mv .bar-anim,#hadabijin-topics .bar-anim,#hadabijin .story-ttlimg .bar-anim{
    background-color: var(--pjt02-color);
}
#hadabijin-topics .bar-anim{
    right: 0;
    margin: auto;
}
.h1-p01,.h1-p02,.h1-p03,.h1-p04,.h1-p05,.h1-p06{opacity: 0;}
.h1-p06{font-size: 90%;}
.is-loaded .bar-anim01 {
    width: 6em;
    animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 0.6s forwards;
}
.is-loaded .bar-anim02 {
    top:inherit;
    bottom:0;
    width: 10em;
    animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 0.6s forwards;
}
.is-loaded .bar-anim03 {
    top:1rem;
    width: 16em;
    animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 1.2s forwards;
}
.bar-anim.bar-anim03_2 {
    display: none;
}
.is-loaded .bar-anim06 {
    width:13em;
    top:1rem;
    animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 1.6s forwards;
}
.is-loaded .h1-p01 {
    animation:alpha-move .8s ease 1.2s forwards;
}
.is-loaded .h1-p02 {
    animation:alpha-move .8s ease 1.2s forwards;
}
.is-loaded .h1-p03 {
    animation:alpha-move .8s ease 1.6s forwards;
}
.is-loaded .h1-p06 {
    animation:alpha-move .8s ease 2.2s forwards;
}
.bar-anim-wrap{position: relative;}
.scrollin .bar-anim04 {
    top:1rem;
    animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 0.2s forwards;
}
.scrollin .bar-animstr{
    height:50px!important;
    width: 170px!important;
    top:-5px;
}

@media screen and (max-width: 960px) {
    .scrollin .bar-animstr{
        height:4.5vw!important;
        width: 15vw!important;
        top:0px;
    }
}
@media screen and (max-width:767px) {
    .scrollin .bar-animstr{
        top:2px;
        height:28px!important;
        width: 85px!important;
    }
}


.scrollin .h1-p04 { animation:alpha-move .8s ease 0.6s forwards;}
.scrollin .bar-anim05 {
    top:.5rem;
    animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 0.4s forwards;
}
.scrollin .h1-p05 { animation:alpha-move .8s ease 0.9s forwards;}
.bar-2em{width: 2em!important;}.bar-3em{width: 3em!important;}.bar-4em{width: 4em!important;}.bar-5em{width: 5em!important;}.bar-6em{width: 6em!important;}.bar-7em{width: 7em!important;}.bar-8em{width: 8em!important;}.bar-9em{width: 9em!important;}
.bar-10em{width: 10em!important;}.bar-11em{width: 11em!important;}.bar-12em{width: 12em!important;}

@keyframes bar-move {
0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	70% {
		transform-origin:left;
		transform:scaleX(1);
	}
	70.1% {
		transform-origin:right;
	}
	100% {
		transform-origin:right;
		transform:scaleX(0);
	}
}
@keyframes alpha-move{
     0% {
         opacity: 0;
     }
	   100% {
        opacity: 1;
    }
}
@media (max-width: 599px) {
    .is-loaded .bar-anim03 {
        width: 9.5em;
    }
    .is-loaded .bar-anim03_2 {
        display: block;
        top:inherit;
        bottom:0;
        width: 7.5em;
        animation:bar-move .8s cubic-bezier(0.86,0,0.07,1) 1.2s forwards;
    }
}
/* =========================================================
TOP-common
========================================================= */
.top-h2ttl-center{
    text-align: center;
    margin-bottom: 6rem;
}
.top-h2ttl{
    font-size: 4.5rem;
    color:var(--acc-color);
    line-height: 1.6;
}
.top-h3ttl{
    font-size: 3.0rem;
    color:var(--acc-color);
}
.h2ttl__en{
    color:var(--acc-color);
    font-family: 'Oswald', sans-serif;
}
.top-description{
    line-height: 2.8;
    margin-top: 3rem;
}
.arrow-l-wrap{
    margin-top: 4rem;
}
.arrow-l{
    position: relative;
    display: flex;
    align-items: center;
    font-weight: bold;
}
.arrow-l::before{
    content: '>';
    position: relative;
    font-size: 1.4rem;
    display: flex;
    overflow: hidden;
    align-items: center;
    justify-content: center;
    width: 3.3333em;
    height: 3.3333em;
    margin: 0 1.3333em 0 0;
    color: #fff;
    border-radius: 6em;
    background: var(--acc-color);
}
.arrow-l:hover{
    text-decoration: none;
    opacity: 1;
}
.arrow-l:hover span{
    opacity: var(--opacity);
}
.arrow-l:hover::before {
    animation:arrow-move 0.5s cubic-bezier(0.22,0.89,0.35,1.08) forwards;
}
@keyframes arrow-move {
50% {text-indent:1.2em;}
75% {text-indent:-.6em;}
100% {text-indent:0;}
}

/*@keyframes arrow-move {
0% {text-indent:0;}
15% {color:white;}
50% {text-indent:1.5em; color:var(--acc-color);}
50.01% {text-indent:-1em; color:white;}
100% {text-indent:0;}
}*/

.top-link-bloc{
    margin-top: 10rem;
}

.top-link-bloc h3{
    position: relative;
    font-size: 1.8rem;
    overflow: hidden;
}
.top-link-bloc h3 span{
    background: white;
    padding-right: 0.4em;
}
.bg-li-blue .top-link-bloc h3 span{
    background: var(--bg-color-light);
}
.top-link-bloc h3::after{
    content:"";
    width: 100%;
    height: 1px;
    position: absolute;
    bottom:.5em;
    background: var(--acc-color);
}
.top-link-bloc ul{
    margin-top: 1.4em;
}
.top-link-bloc ul li{
    margin-bottom: 2.5rem;
    padding-left: 50px;
}
#top-company .top-link-bloc ul{
    justify-content: space-between;
}
#top-job .top-link-bloc ul li + li{
    margin-left: 8vw;
}

.top-link-bloc ul li a{
    font-weight: bold;
    position: relative;
    display: inline-block;
}
.top-link-bloc ul li a:hover{
    opacity: 1;
    text-decoration: none;
}
.top-link-bloc ul li a:hover span{opacity: var(--opacity);}
.top-link-bloc ul li a::before{
    content: "";
    width: 45px;
    height: 40px;
    position: absolute;
    top:-2px;
    left: -50px;
    background: url(/wp-content/themes/tokai-recruit/img/newgrad/top/icon-msg.svg) no-repeat;
    background-size: cover;
}
.top-link-bloc ul li a::after{
    content: '>';
    position: relative;
    display: inline-block;
    font-size: 1.0rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.9em 0 0 0.8em;
    color: #fff;
    border-radius: 0.9em;
    background: var(--acc-color);
    padding-left: 0.6em;
    line-height: 1.8;
}
.top-enviroment__inner .top-link-bloc ul li a:hover::after{
    animation:arrow-move 0.5s cubic-bezier(0.22,0.89,0.35,1.08) forwards;
}
.top-link-bloc ul li a.icon-company::before{background: url(/wp-content/themes/tokai-recruit/img/newgrad/top/icon-company02.svg) no-repeat;}
.top-link-bloc ul li a.icon-philosophy::before{background: url(/wp-content/themes/tokai-recruit/img/newgrad/top/icon-company03.svg) no-repeat;}

.top-link-bloc ul li a:hover::before {
    animation:icon-move 0.4s cubic-bezier(0.22,0.89,0.35,1.08) forwards;
}
@keyframes icon-move {
30% {transform: rotate(12deg) scale(1.1);}
75% {transform: rotate(-12deg) scale(1.05);}
100% {transform: rotate(0deg) scale(1);}
}
.top-link-bloc a span{
    margin-left: 10px;
    margin-right: 25px;
}
#top-company .top-link-bloc a span{
    margin-right: 0
}
#top-company .top-link-bloc ul li a::after{
    top:-2px;
}
@media (max-width: 1150px) {
    #top-company .top-link-bloc ul li{
        width: 50%;
    }
}
@media (max-width: 1024px) {
    .top-h2ttl{
        font-size: 3.5rem;
    }
}
@media (max-width: 599px) {
    .top-h2ttl-center{
        margin-bottom: 3rem;
    }
    .top-h2ttl{
        font-size: 3.6rem;
    }
    .top-description br{display: none;}
    .top-link-bloc ul{
        flex-direction: column;
    }
    .top-link-bloc ul li{
        width: 100%;
        padding-left: 35px;
        margin-bottom: 2em;
    }
    .top-link-bloc ul li + li{
        margin-left: 0!important;
    }
    .top-link-bloc ul li a::before{
        width: 35px;
        height: 31px;
        left: -35px;
    }
}

/* =========================================================
TOP-MSG
========================================================= */
.slide {
    position   : relative;
    overflow   : hidden;
    width: 590px;
    height: 659px;

}
 
 /*=== 画像の設定 ======================================= */
.slide img {
  display    : block;
  position   : absolute;
  width      : inherit;
  height     : inherit;
  opacity    : 0;
  animation  : slideAnime 25s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slide img:nth-of-type(1) { animation-delay: 0s }
.slide img:nth-of-type(2) { animation-delay: 5s }
.slide img:nth-of-type(3) { animation-delay: 10s }
.slide img:nth-of-type(4) { animation-delay: 15s }
.slide img:nth-of-type(5) { animation-delay: 20s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime{
   0% { opacity: 0 }
   3% { opacity: 1 }
  20% { opacity: 1 }
  23% { opacity: 0 }
 100% { opacity: 0 }
}




.top-msg__inner01{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}
.top-msg__inner01 .top-msg__txt{
    width: calc(100% - 590px);
    padding-right: 9.8vw;
    padding-left: 7vw;
}
.top-msg__inner01 .top-msg__txt .top-h2ttl{
    font-size: 3.2rem;
    margin-bottom: 1em;
}
.top-msg__img{
    width: 700px;
}
.top-msg__img img {
    width: 100%;
    height: auto;
}
.top-msg__content {
    position: relative;
    margin:0;
    top:-80px;
}
.top-msg__txt {
    font-size: 1.7rem
}
.top-msg__project{
    display: flex;
    margin-top: 4rem;
}
.top-msg__project li{
    width: 48%;
    margin-right: 2%;
}
.top-msg__project li:nth-child(2n) {
    margin-left: 2%;
    margin-right: 0;
}
.top-msg__project li a .project-txt{
    position: absolute;
    right: 0;
    bottom:0;
    background: var(--pjt01-color);
    color:white;
    border-bottom-right-radius: 1.3333vw;
    padding: 1.5rem 4rem 1.5rem 2.4rem;
    line-height: 1.4;
    z-index: 10;
}
.top-msg__project li a .project-txt::before{
    content: '>';
    position: absolute;
    font-size: 1.8rem;
    color: white;
    top:calc(50% - 0.7em);
    right: 1.5rem;
}
.top-msg__project li a:hover{opacity: 1}
.top-msg__project li a:hover img{opacity: var(--opacity)}

.top-msg__project li a:hover .project-txt::before{
    animation:arrow-move02 0.5s cubic-bezier(0.22,0.89,0.35,1.08) forwards;
}
@keyframes arrow-move02 {
    50% {text-indent:1.6em;}
    75% {text-indent:-1.0em;}
    100% {text-indent:0;}
}
.top-msg__project li a .project-hada-txt{
    background: var(--pjt02-color);
}
.top-msg__project li a .project-txt .sub{
    font-size: 1.8rem;
}
.top-msg__project li a .project-txt .copy{
    font-size: 2.8rem;
    font-weight: bold;
}
.top-msg__project li .project-txt .copy span{
    font-size: 2.2rem;
}

@media (max-width: 1350px) {
    .top-msg__inner01 .top-msg__txt .top-h2ttl .br-pc{
        display: none;
    }
}
@media (max-width: 1300px) {
    .top-msg__inner01 .top-msg__txt .top-h2ttl{
        font-size: 2.48vw
    }
    .top-msg__inner01 .top-msg__txt {
        padding-right: 6vw;
        padding-left: 4vw;
    }
}
@media (max-width: 1200px) {
    .top-msg__inner02{
        padding: 0 4rem;
    }
    .top-msg__inner01 .top-msg__txt {
        padding-right: 4vw;
        padding-left: 2vw;
    }
}
@media (max-width: 1024px) {
    .top-msg__img{
        width: 50vw;
    }
    .slide {
        width: 50vw;
        height: 55.84vw;
    }
    .top-msg__inner01 .top-msg__txt{
        width: 50vw;
        padding-right: 5vw;
        padding-left: 8vw;
    }
}
@media (max-width: 960px) {
    .top-msg__img{
        width: 40vw;
    }
    .slide {
        width: 40vw;
        height: 44.67vw;
    }
    .top-msg__inner01 .top-msg__txt{
        width: 60vw;
    }
    .top-msg__inner01 .top-msg__txt .top-h2ttl {
        font-size: 2.7vw;
    }
}
@media (max-width: 599px) {
    .top-msg__inner01 .top-msg__txt .top-h2ttl{
        font-size: 4.8vw
    }
    #top-msg.section{
        padding-top: 10rem;
        padding-bottom: 3rem;
    }
    .top-msg__inner01{flex-direction: column-reverse;}
    .top-msg__inner01 .top-msg__txt{
        width: 90%;
        padding: 5rem 4rem 6rem 5rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-left: 10%;
        border-radius: var(--radius-bnr);
    }
    .top-msg__img{
        width: 85vw;
        margin-right: 15%;
        height: 60vw;
    }
    .slide {
        width: 85vw;
        height: 60vw;
    }
    .top-msg__img img{
        transform: translateY(-20vw)
    }
    
    .top-msg__project{flex-direction: column; }
    .top-msg__project li{
        width: 100%;
        margin: 0;
    }
    .top-msg__project li:nth-child(2n){margin: 4rem 0 0;}
    #top-msg .top-link-bloc ul li a{ font-size: 1.7rem;}
}


/* =========================================================
TOP-company
========================================================= */
#top-company.section{
    padding-top: 12rem;
}
.top-company__inner{
   max-width: 1380px;
    /* max-width: var(--max-window);    */
    margin: auto;
}

.top-company__txt{
    width: calc(100% - 41.6%);
    padding-left: 7.8vw;
    padding-right: 10vw;
    font-size: 1.7rem
}
.top-company__img{
    width: 41.6%;
}
.top-company__img img {
  width: 100%;
  height: auto;
}
.top-company__content {
  position: relative;
  margin:0;
    top:-80px;
}

.top-list-3{
    display: flex;
    justify-content: space-between;
}
.top-list-3 > div{
    width: 31%;
    text-align: center;
}
.top-list-3 .top-h3ttl{
    margin-top: 1em;
}
.top-company__inner .top-link-bloc{
    padding: 0 5vw;
}
@media (max-width: 1400px) {
    .top-company__inner{
        padding: 0 5vw;
    }
}
@media (max-width: 1024px) {
    #top-company.section{
    padding-top: 10rem;
}
    .top-company__img{
        width: 50%;
    }
    .top-company__txt{
        width: 50%;
        padding-left: 6vw;
        padding-right: 6vw;
    }
}
@media (max-width: 960px) {
    .top-list-3{
        flex-wrap: wrap;
    }
    .top-list-3 > div{
        width: 48%;
        margin-bottom: 60px;
    }
    .top-company__inner .top-link-bloc{
        margin-top: 3rem;
        padding: 0 3.5vw;
    }
}

@media (max-width: 599px) {
    .top-list-3 .img-radius{
        border-radius: var(--radius-bnr);
    }
    .top-list-3 .top-h3ttl{
        font-size: 2.4rem;
        margin-top: 0.6em;
    }
    .top-company__inner{
        padding: 0 3vw;
    }
    .top-company__inner .top-link-bloc{
        margin-top: 0;
    }
    #top-company.section{
        padding-top: 8rem;
        padding-bottom: 5rem;
    }
    .top-company__txt{
        width: 90%;
        padding: 6rem 4rem 6rem 6rem;
        background: white;
        z-index: 2;
        margin-top: -20%;
        margin-right: 10%;
        border-radius: var(--radius-bnr);
    }
    .top-company__img{
        width: 70%;
        margin-left: 30%;
    }
    .top-link-bloc{
        margin-top: 7rem;
    }
    .top-link-bloc ul li a::after{
        font-size: 1.1rem;
        width: 1.2em;
        height: 1.8em;
        margin: 0.8em 0 0 0.8em;
    }
}

/* =========================================================
TOP-job
========================================================= */
.top-job__inner02 {
    width: 100%;
    max-width: var(--max-window);
    margin: 10rem auto 0;
}
.top-job__inner01{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}
.top-job__inner01 .top-job__txt{
    width: calc(100% - 41.6%);
    padding-right: 7.8vw;
    padding-left: 10vw;
}
.top-job__img{ width: 41.6%;}
.top-job__img img {
    width: 100%;
    height: auto;
}
.top-job__content {
    position: relative;
    margin:0;
    top:-80px;
}
.top-job__txt {
    font-size: 1.7rem
}
.top-job__project{
    display: flex;
    margin-top: 4rem;
}
.top-job__project li{
    width: 48%;
    margin-right: 2%;
}
.top-job__project li:nth-child(2n) {
    margin-left: 2%;
    margin-right: 0;
}
.top-job__project li a .project-txt{
    position: absolute;
    right: 0;
    bottom:0;
    background: var(--pjt01-color);
    color:white;
    border-bottom-right-radius: 1.3333vw;
    padding: 1.5rem 4rem 1.5rem 2.4rem;
    line-height: 1.4;
    z-index: 10;
}
.top-job__project li a .project-txt::before{
    content: '>';
    position: absolute;
    font-size: 1.8rem;
    color: white;
    top:calc(50% - 0.7em);
    right: 1.5rem;
}
.top-job__project li a:hover{opacity: 1}
.top-job__project li a:hover img{opacity: var(--opacity)}

.top-job__project li a:hover .project-txt::before{
    animation:arrow-move02 0.5s cubic-bezier(0.22,0.89,0.35,1.08) forwards;
}
@keyframes arrow-move02 {
    50% {text-indent:1.6em;}
    75% {text-indent:-1.0em;}
    100% {text-indent:0;}
}
.top-job__project li a .project-hada-txt{
    background: var(--pjt02-color);
}
.top-job__project li a .project-txt .sub{
    font-size: 1.8rem;
}
.top-job__project li a .project-txt .copy{
    font-size: 2.8rem;
    font-weight: bold;
}
.top-job__project li .project-txt .copy span{
    font-size: 2.2rem;
}
.top-link-bloc ul li a.icon-education::before{background: url(/wp-content/themes/tokai-recruit/img/newgrad/top/icon-job01.svg) no-repeat;}
.top-link-bloc ul li a.icon-support::before{background: url(/wp-content/themes/tokai-recruit/img/newgrad/top/icon-job02.svg) no-repeat;}

@media (max-width: 1200px) {
    .top-job__inner02{
        padding: 0 4rem;
    }
}
@media (max-width: 1024px) {
    .top-job__img{
        width: 50%;
    }
    .top-job__inner01 .top-job__txt{
        width: 50%;
        padding-right: 5vw;
        padding-left: 8vw;
    }
}
@media (max-width: 599px) {
    #top-job.section{
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
    .top-job__inner01{flex-direction: column-reverse;}
    .top-job__inner01 .top-job__txt{
        width: 90%;
        padding: 5rem 4rem 6rem 5rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-left: 10%;
        border-radius: var(--radius-bnr);
    }
    .top-job__img{
        width: 85%;
        margin-right: 15%;
    }
    
    .top-job__project{flex-direction: column; }
    .top-job__project li{
        width: 100%;
        margin: 0;
    }
    .top-job__project li:nth-child(2n){margin: 4rem 0 0;}
    #top-job .top-link-bloc ul li a{ font-size: 1.7rem;}
}



/* =========================================================
TOP-people
========================================================= */
.top-people__inner{
    max-width: 1380px;
    margin: 0 auto;
}/*
.top-people__inner {
    width: 100%;
    max-width: var(--max-window);
    margin: 8rem auto 0;
}*/
.top-list-2{
    display: flex;
    justify-content: space-between;
}
.top-list-2 > div{
    width: 48%;
    text-align: center;
}
.top-list-2 .top-h3ttl{
    margin-top: 1em;
}
.top-people__inner .top-list-2 .link-detail{
    margin-top: 1em;
}
@media (max-width: 1400px) {
    .top-people__inner{
        padding: 0 5vw;
    }
}
@media (max-width: 599px) {
    .top-people__inner{
        padding: 0 3.5vw;
    }
    .top-list-2 .img-radius{
        border-radius: var(--radius-bnr);
    }
    .top-list-2 .top-h3ttl{
        font-size: 2.4rem;
    }
}

/* =========================================================
TOP-enviroment
========================================================= */
.top-enviroment__inner{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
}
.top-enviroment__inner .top-enviroment__txt{
    width: calc(100% - 41.6%);
    padding-right: 7.8vw;
    padding-left: 10vw;
}
.top-enviroment__img{width: 41.6%;}
.top-enviroment__img img {
    width: 100%;
    height: auto;
}
.top-enviroment__content {
    position: relative;
    margin:0;
    top:-80px;
}
.top-enviroment__txt {
    font-size: 1.7rem
}
.top-enviroment__inner .top-link-bloc ul li a::after{
    position: absolute;
    right: 0;
    top: 0;
}

#top-enviroment .top-link-bloc{
    margin-top: 3rem;
    max-width: 360px;
}
#top-enviroment .top-link-bloc ul li{
    margin-bottom: 0;
    padding-left: 50px;
    padding: 1.5em 1em 1.5em 50px;
    border-bottom: solid 1px #335B9F;
}
#top-enviroment .top-link-bloc ul li:first-child{
    border-top: solid 1px #335B9F;
}


@media (max-width: 1024px) {
    .top-enviroment__img{
        width: 50%;
    }
    .top-enviroment__inner .top-enviroment__txt{
        width: 50%;
        padding-right: 5vw;
        padding-left: 8vw;
    }
}

@media (max-width: 599px) {
    .top-people__inner{
        margin-top: 3rem;
    }
    .top-list-2 .top-h3ttl{
        font-size: 2.4rem;
        margin-top: 0.6em;
    }
    #top-enviroment.section{
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
    .top-enviroment__inner{flex-direction: column-reverse;}
    .top-enviroment__inner .top-enviroment__txt{
        width: 90%;
        padding: 6rem 4rem 6rem 6rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-left: 10%;
        border-radius: var(--radius-bnr);
    }
    .top-enviroment__inner .top-enviroment__img{
        width: 85%;
        margin-right: 15%;
    }
    .top-enviroment__inner .top-link-bloc ul li a::before{
        width: 35px;
        height: 31px;
        left: -35px;
    }
    .top-link-bloc ul li a::after,.top-enviroment__inner .top-link-bloc ul li a::after{
        top:-1px;
    }
    .top-enviroment__inner .top-h2ttl{
        font-size: 3.0rem;
    }
}

/* =========================================================
TOP-recruit
========================================================= */
#top-recruit .top-h2ttl-center{
    margin-bottom: 3rem;
}
.list-recuit-btn{
    display: flex;
    justify-content: center;
    margin-bottom: 8rem;
}
.list-recuit-btn-1{
    margin-bottom: 3.5rem
}
.list-recuit-btn li + li{
    margin-left: 3rem;
}
.list-recuit-btn a{
    font-size: 2.0rem;
    width: 16em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.6em 1em 0.8em;
}
.list-recuit-btn .btn__guideline a{
    background: white;
    color: var(--acc-color);
    position: relative;
    display: flex;
    align-items: center;
    border-radius: var(--radius-btn);
    border: solid 2px white;
    transition: all 0.3s ease-in;
    font-weight: bold;
}
.list-recuit-btn .btn__entry a{
    color: white;
    position: relative;
    align-items: center;
    border: solid 2px var(--acc-color);
    font-weight: bold;
    line-height: 1.1;
    display: block;
    text-align: center;
    padding-top: .8em;
    padding-left: 35px;
    height: 85px;
    width: 430px;
}
.list-recuit-btn .btn__entry a span{
    font-size: 1.2rem;
}
.list-recuit-btn .btn__guideline a:hover,.list-recuit-btn .btn__entry a:hover{ 
    text-decoration: none;
    opacity: 1;
}
.list-recuit-btn .btn__guideline a:hover{
    background: var(--bg-color-light);
    
    border: solid 2px var(--acc-color);
}
.list-recuit-btn .btn__entry a:hover{
    color: var(--acc-color);
    background: var(--bg-color-light);
}

.list-recuit-btn .btn__entry.career a{
    display: flex;
    align-items: center;
    padding-top: 0.4em;
    font-size: 1.8rem;
}

.list-recuit-btn .btn__guideline a::before{
    content: '>';
    position: relative;
    display: flex;
    font-size: 1.0rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color: #fff;
    border-radius: 0.9em;
    background: var(--acc-color);
    padding-left: 0.6em;
    line-height: 1.8;
}
.list-recuit-btn .btn__entry a::before{
    content: '>';
    position: absolute;
    top: calc(50% - 0.5em);
    transform: translateY(-50%);
    left: 20px;
    display: flex;
    font-size: 1.2rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color: var(--acc-color);
    border-radius: 0.9em;
    background: white;
    padding-left: 0.6em;
    line-height: 1.8;
}
.list-recuit-btn .btn__entry a:hover::before{
    color: white;
    background: var(--acc-color);
}
.top-recruit-wrapper{
    width: 100%;
    max-width: var(--max-window);
    margin: auto;
}
.top-recruit-wrapper .top-h2ttl{
    font-size: 4rem;
}
.top-recruit-wrapper p{
    margin: 2rem auto 4rem;
}
@media (max-width: 1200px) {
    .top-recruit-wrapper{
        padding: 0 4rem;
    }
}
@media (max-width: 959px) {
    .list-recuit-btn .btn__entry a,.list-recuit-btn .btn__entry.career a{
        font-size: 2.0rem;
        height: 80px;
        padding-top: 0.9em;
    }
    .list-recuit-btn .btn__entry a{
        width: 90vw
    }
    .top-recruit-wrapper .top-h2ttl{
        font-size: 6.5vw;
    }
    .list-recuit-btn{
        flex-direction: column;
    }
    .list-recuit-btn-1{
        margin-bottom: 0
    }
    .list-recuit-btn li{
        margin-bottom: 3rem;   
    }
    .list-recuit-btn a{
        width: 90vw;
        max-width: 600px;
        margin: auto;
        padding: 1em 1em 1.2em;

    }
    .list-recuit-btn li + li{
        margin-left: 0;
    }
    .list-recuit-btn .btn__guideline a::before{
        font-size: 1.1rem;
        width: 1.4em;
        height: 2.0em;
        margin: 0.25em 0.8em 0 0;
        top:-1px;
    }
}
@media (max-width: 599px) {
    .top-recruit-wrapper{
        padding: 02rem;
    }
    .list-recuit-btn .btn__entry a,.list-recuit-btn .btn__entry.career a{
        height: 70px;
        padding-top: 1.0em;
        font-size:1.8rem;
    }
    .list-recuit-btn .btn__entry a{
        width: 90vw
    }
    .top-recruit-wrapper .top-h2ttl{
        font-size: 6.5vw;
    }
    .list-recuit-btn{
        flex-direction: column;
    }
    .list-recuit-btn-1{
        margin-bottom: 0
    }
    .list-recuit-btn li{
        margin-bottom: 3rem;   
    }
    .list-recuit-btn a{
        width: 80vw;
        max-width: 400px;
        margin: auto;
        padding: 1em 1em 1.2em;
        font-size: 1.8rem;
    }
    .list-recuit-btn li + li{
        margin-left: 0;
    }
    .list-recuit-btn .btn__guideline a::before{
        font-size: 1.1rem;
        width: 1.2em;
        height: 1.8em;
        margin: 0.25em 0.8em 0 0;
        top:-1px;
    }
}
/* =========================================================
TOP-NEWS
========================================================= */
.top-news__wrap{
    max-width: var(--max-window);
    margin: 0 auto;
}
.top-h2ttl-news{
    width: 30%;
}
.top-h2ttl-news .top-h2ttl{
    font-size: 3.2rem;
}
.top-news__wrap .news-list{
    width: 70%;
}
.blogbnr{
    border-top:solid 1px #ddd;
    margin: 3rem auto 0;
    padding-top: 3rem;
    text-align: center;
    max-width: var(--max-window);
}
.blogbnr a{
    width: 100%;
    display: block;
    max-width: 575px;
    margin: auto;
    text-align: center;
}

@media (max-width: 1200px) {
    .top-news__wrap{
        padding: 0 4rem;
    }
    .blogbnr{
        padding: 3rem 4rem 0;
    }
}
@media (max-width: 599px) {
    .top-news__wrap.flex{
        flex-direction: column;
    }
    .top-h2ttl-news .top-h2ttl{ font-size: 3rem;}
    .top-h2ttl-news{ width: 100%;}
    .top-news__wrap .news-list{width: 100%;margin-top: 3rem;}
}



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


#contactArea {
   background: url(/wp-content/themes/tokai-recruit/img/newgrad/common/bg_contact.jpg) no-repeat;
   background-size:cover;
  position: relative;
}
#contactArea{
    padding: 3% 0;
}
#contactArea .inner{
    position: relative;
  z-index: 10;
}
a.btn-waku {
  display: inline-block;
  width: 200px;
  text-align: center;
  color: #004ea2;
  background-color: #fff;
  border: 1px solid #0080cb;
  padding: 0.4em 1.2em 0.3em;
  background-size: 200% 100%;
  background-image: linear-gradient(to right, transparent 50%, #0080cb 50%);
  transition: background-position 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, color 0.5s ease 0s, background-color 0.5s ease;
  font-weight: bold;
  letter-spacing: 3px; }

a.btn-waku:hover {
  color: white;
  background-color: #0080cb;
  background-position: -100% 100%; }

#contactArea a.btn-waku {
    width: 100%;
    font-size: 3.6rem;
    color:#0080cb;
    font-weight: normal;
    line-height: 0.8;
    padding: 1em 1.2em 0.9em;
  box-shadow: 0px 0px 17px 2px rgba(0,0,0,0.2);

}
#contactArea a.btn-waku span{
    font-size: 1.4rem;
}
#contactArea a.btn-waku:hover { color: white; }

#contactArea .line{
    content: "";
    width: 2px;
    height: 40px;
    position: absolute;
    top: -20px;
    left: 0;
    right: 0;
    margin: auto;
    background: #48aeea;
    z-index: 100;
}
#contactArea a.btn-waku:hover .line{
    background: white;
}


@media screen and (max-width: 767px) {
  #mvArea .mv-copy{
    padding-left: 0;
  }
  #contactArea a.btn-waku{
    font-size: 2.4rem;
  }
  #contactArea{
    padding: 5% 0;
  }
}



/* =========================================================
下層-TABLE
========================================================= */

.tableArea a{
  text-decoration: underline;
  transition: all 0.2s ease;
}
.tableArea a:hover{
  text-decoration: none;
  opacity: 0.6;
}
.tableArea{
  width: 100%;
  margin: 20px auto;
}
.tableArea table {
  width: 100%;
  table-layout: fixed;
}
.tableArea table tr th {
  border-bottom: #dbdbdb solid 1px;
  font-weight: bold;
  padding: 24px 2em 24px 0;
  word-break: break-all;
  line-height: 1.6;
  text-align: left;
  width: 24%;
}
.tableArea table tr td {
  border-bottom: #dbdbdb solid 1px;
  padding: 24px;
  text-align: left;
  word-break: break-all;
  width: 76%;
  line-height: 1.8;
}

.tableArea table tr:first-child th,.tableArea table tr:first-child td{
      border-top: #dbdbdb solid 1px;
}

.tableArea table tr td p {
    margin-top: 0;
    line-height: 1.8; 
}

.note_mt{
    margin-top: 2em;
}

  @media (max-width: 767px) {
    .tableArea {
        width: 100%;
        margin-top: 10px;
        margin-bottom: 0;
    }
     .tableArea table tr:first-child th{
         border-top: #dbdbdb solid 1px;
         padding-top: 15px;
      }
    .tableArea table tr th{
      width: 100%!important;
      display: block;
      padding: 10px 0;
      border-bottom: none;
    }
    .tableArea table tr td {
      width: 100%!important;
      display: block;
      padding: 0 0 20px;
      border-top: none;
    }
    .tableArea table tr:first-child td{
          border-top:none; 
      }
    .tableArea table tr td {
      margin-bottom: 10px;
    }
  .note_mt{
    margin-top: 1em;
  }

}


/* =========================================================
下層共通
========================================================= */


#localNav {
  width: 100%;
  display: block; }
  #localNav ul {
    text-align: right;
    padding: 20px 40px; }
    #localNav ul li {
      display: inline-block;
      padding-left: 30px; }
      #localNav ul li:first-child {
        padding-left: 0; }
      #localNav ul li a {
        color: #111;
        -webkit-transition: all 0.3s;
        transition: all 0.3s; }
        #localNav ul li a:hover {
          color: #004ea2;
          text-decoration: underline; }
      #localNav ul li.current {
        color: #004ea2;
        font-weight: bold; }
  @media screen and (max-width: 1100px) {
    #localNav ul {
      padding: 10px 20px; }
      #localNav ul li {
        padding-left: 20px;
        font-size: 1.4rem; }
        #localNav ul li:first-child {
          padding-left: 0; } }
  @media screen and (max-width: 767px) {
    #localNav {
      display: none; } }



/*パンくず*/
.topicpath {
    width: 100%;
    margin: 1.5rem auto 0;
    padding: 0 20px 10px;
    position: relative;
    text-align: right;
    z-index: 5;
}
.topicpath ol li {
  display: inline;
  list-style-type: none;
  font-size: 1.2rem;
}
.topicpath ol li:after {
  content: " > ";
}
.topicpath ol li:last-child:after {
  content: "";
}
.topicpath ol li a {
  text-decoration: underline;
  color:var(--acc-color);
}
.topicpath ol li a:hover {
  text-decoration: none;
    color: #004ea2; 
}
@media (max-width: 1200px) {
  .topicpath {
        padding: 0 4rem;
    }
}
@media (max-width: 960px) {
  .topicpath {
        margin-top: 2rem;
    }
}

@media (max-width: 767px) {
  .topicpath ol li a:hover {
    text-decoration: none;
    color: #777;
  }
  .topicpath {
        padding: 0 4vw;
        margin-bottom: 3vw;
    }

}

.w100 img,img.w100{
    width: 100%;
    height: auto;
}
.img__business_graph{
    width:100%;
    max-width: 1280px;
}
.contents_inner{
    width: 100%;
    max-width: 1400px;
    margin: auto;
    padding: 50px 20px 0;
}
.note{
    font-size: 1.4rem;
}
@media (max-width: 1280px) {
    .contents_inner{
        padding:5vw 5vw 0;
    }
}

@media (max-width: 767px) {
    .note{
        font-size: 13px;
    }
}

@media (max-width: 599px){
    .note{
        font-size: 1.2rem;
    }
}


.entry__btn{
    text-align: center;
    margin: 5% auto 4%;
}

@media (max-width: 599px) {
    .entry__btn{
        margin: 10% auto 8%;
    }
}
a.win-open{position: relative;}
a.win-open::after{
    position: relative;
    content: "";
    width: 14px;
    height: 14px;
    background: url(/wp-content/themes/tokai-recruit/img/newgrad/common/icon-winopen-b.svg) no-repeat;
    background-size: cover;
    display: inline-block;
    top:0;
    margin-left: 0.3em;
}
@media (max-width: 767px) {
    a.win-open{
        line-height: 2.4;
    }
a.win-open::after{
        width: 12px;
        height: 12px;
        top:1px;
    }
}

/* =========================================================
下層MV
========================================================= */
#mv{
    margin-top: 90px;
    width: 100%;
    height:29.599vw;
    position: relative;
}
#mv .mv-bg{
    width:60vw;
    height:29.599vw;
    position: absolute;
    right: 0;
    z-index: 0;
    overflow: hidden;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
.is-loaded #mv{
    opacity: 1;
}
#mv .h1-wrap{ padding: 8.5vw 4vw 0;}
#mv .h1-wrap.h1-wrap__msg{ padding: 6.4vw 4vw 0;}
#mv .h1-wrap h1{
    font-size: 4rem;
    color:var(--acc-color);
    line-height: 1.6;
    margin-top: 1rem;
}
#mv .ttl-en {
    color:var(--acc-color);
    position: relative;
}
#mv .ttl-en::after {
    content: "";
    background-color: var(--acc-color);
    position: absolute;
    bottom:-4px;
    left: 0;
    width: 100%;
    height: 2px;
    transform:scaleX(0);
}
#hadabijin #mv .ttl-en::after{
    background-color: var(--pjt02-color); 
}
.is-loaded #mv .ttl-en::after {
     animation:bar-in .8s cubic-bezier(0.86,0,0.07,1) 1.4s forwards;
}
@keyframes bar-in {
0% {
		transform-origin:left;
		transform:scaleX(0);
	}
	100% {
		transform-origin:left;
		transform:scaleX(1);
	}
}


#mv .msg-mv-president {
    color:var(--moji-color);
    margin-top: 2rem;
}
#mv .msg-mv-name {
    color:var(--moji-color);
    font-weight: bold;
    font-size: 2rem;
    line-height: 1.4;
}

@media screen and (max-width: 1500px) {
    #mv{
        margin-top: 90px;
        width: 100%;
        height:34.73vw;
        position: relative;
    }
    #mv .mv-bg{
        width:70.4vw;
        height:34.73vw;
        position: absolute;
        right: 0;
        z-index: 0;
        overflow: hidden;
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }
    #mv .h1-wrap{ padding: 12.5vw 4vw 0;}
    #mv .h1-wrap.h1-story{padding-top: 10vw;}
    #mv .h1-wrap.h1-wrap__msg{ padding: 6.4vw 4vw 0;}

}
@media screen and (max-width: 1280px) {
    #mv,#mv .mv-bg{
        height: 41.676vw;
    }
    #mv .mv-bg{
        width: 60vw;
    }
    #mv .mv-bg img{
        transform: scale(1.41);
        transform-origin:top;
    }
     #mv .mv-bg.mv-history img{
         transform-origin:top left!important;
    }
}
@media screen and (max-width: 1280px) {
    #mv {margin-top: 70px;}
}
@media screen and (max-width: 960px) {
     #mv,#mv .mv-bg{
        height: 52.095vw;
    }
    #mv .mv-bg{
        width: 55vw;
     }
    #mv .mv-bg img{
        transform: scale(1.92);
        transform-origin:top;
    }
    #mv .h1-wrap{padding-top: 16.5vw;}
    #mv .h1-wrap.h1-story{padding-top: 12vw;}
    #mv .h1-wrap.h1-wrap__msg{padding-top: 10.5vw;}
}
@media screen and (max-width: 767px) {
    #mv, #mv .mv-bg{
        width: 100vw;
        height: auto;
    }
    #mv .mv-bg{
       height: 65vw;
    }
    #mv .mv-bg{
        border-radius: 0;
        position: static;
    }
     #mv .mv-bg img{
        transform: scale(1.2);
    }
    #mv .h1-wrap,#mv .h1-wrap.h1-story{ 
        padding: 6.4vw 4rem 0;
        background: white;
        position: relative;
        width: 80%;
        margin-top: -12vw;
        border-top-right-radius: 10px;
    }
    #mv .h1-wrap.h1-wrap__msg{ padding: 6.8vw 4rem 0;}
    #mv .h1-wrap h1{
        font-size: 3.4rem;
    }
}
@media screen and (max-width: 599px) {
    #mv .mv-bg{
       height: 75vw;
    }
     #mv .mv-bg img{
        transform: scale(1.5);
    }
    #mv .h1-wrap,#mv .h1-wrap.h1-story{ 
        margin-top: -9vw;
        width: 88%;
    }
}
/* =========================================================
下層共通パーツ
========================================================= */
.h2ttl-l{
    font-size: 3.5rem;
    color: var(--acc-color);
    margin-bottom: 2.3rem;
}
.img-radius{
    overflow: hidden;
    border-radius: var(--radius-img)
}
.img-radius-r{
    overflow: hidden;
    border-top-right-radius : var(--radius-img);
    border-bottom-right-radius : var(--radius-img)
}
.img-radius-l{
    overflow: hidden;
    border-top-left-radius : var(--radius-img);
    border-bottom-left-radius : var(--radius-img)
}
.img-radius-s{
    overflow: hidden;
    border-radius: var(--radius-bnr)
}
.img-radius-s img{
    width: 100%;
    height: auto;
}
.h3ttl-bar{
    position: relative;
    font-size: 2.8rem;
    color: var(--acc-color);
}
.h3ttl-bar::before{
    position: relative;
    content: "";
    width: 3px;
    height: 1em;
    top: 4px;
    background: var(--acc-color);
    display: inline-block;
    margin-right: 10px;
}
.h4ttl{
    font-size: 2.4rem;
    color: var(--acc-color);
}
@media screen and (max-width:960px) {
    .h2ttl-l{
        font-size: 3.2rem;
    }
}
@media screen and (max-width:599px) {
    .h3ttl-bar{
        font-size: 2.5rem;
    }
    .img-radius{
        border-radius: var(--radius-bnr) 
    }
    .h2ttl-l{
        font-size: 2.8rem;
    }
    .h2ttl-l br{
        display: none;
    }
}

/* =========================================================
下層-技術で知る
========================================================= */
.h2-en-subttl{
    font-size: 2rem;
    color: var(--acc-color);
}
.technology__inner01{
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    margin-top: 5rem;
}
.technology__inner02 {
    display: flex;
    align-items: center;
    margin-top: 12rem;
}
.technology__inner03{
    width: 100%;
    max-width: var(--max-window);
    padding: 0 2%;
    margin: 12rem auto 0;
}
.technology__inner01 .technology__txt{
    width: calc(100% - 41.6%);
    padding-right: 7.8vw;
    padding-left: 5vw;
}
.technology__inner__mt{
    margin-top: 14rem;
}
.technology__inner02 .technology__txt{
    width: calc(100% - 41.6%);
    padding-left: 8.8vw;
    padding-right: 5vw;
}
.technology__img{
    width: 41.6%;
    overflow: hidden;
}
.technology__img_L{
    border-top-right-radius:var(--radius-img);
    border-bottom-right-radius:var(--radius-img);
}
.technology__img_R{
    border-top-left-radius:var(--radius-img);
    border-bottom-left-radius:var(--radius-img);
}
.technology__img img {
    width: 100%;
    height: auto;
}
.technology__content {
    position: relative;
    margin:0;
    top:-80px;
}
.technology__txt {
    font-size: 1.7rem
}
@media screen and (max-width: 1200px) {
    .technology__inner03{
        padding-right: 4rem;
        padding-left: 4rem;
        margin-top: 8rem
    }
}
@media (max-width: 1024px) {
    .technology__inner01,.technology__inner02 {
        align-items: flex-start;
    }
    .technology__inner01{margin-top: 4rem;}
    .technology__inner__mt{margin-top: 5rem;}
    .technology__inner01,.technology__inner02{flex-direction: column-reverse;}
    .technology__inner02{margin-top: 7rem;}
    .technology__inner01 .technology__txt{
        width: 90%;
        padding: 4rem 4rem 4rem 4rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-left: 10%;
        border-radius: var(--radius-bnr);
    }
    .technology__inner01 .technology__img{
        width: 70%;
        margin-right: 30%;
    }
    .technology__inner02 .technology__txt{
        width: 90%;
        padding: 4rem 4rem 4rem 6rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-right: 10%;
        border-radius: var(--radius-bnr);
    }
    .technology__inner02 .technology__img{
        width: 70%;
        margin-left: 30%;
    }
    
}
@media (max-width: 767px) {
    .h2-en-subttl{
        font-size: 1.8rem;
    }
    .technology__inner01 .technology__txt{
        width: 96%;
        padding: 4rem 4rem 4rem 4rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-left: 4%;
        border-radius: var(--radius-bnr);
    }
    .technology__inner01 .technology__img{
        width: 85%;
        margin-right: 15%;
    }
    .technology__inner02 .technology__txt{
        width: 96%;
        padding: 4rem 4rem 4rem 6rem;
        background: white;
        z-index: 2;
        margin-top: -10%;
        margin-right: 4%;
        border-radius: var(--radius-bnr);
    }
    .technology__inner02 .technology__img{
        width: 85%;
        margin-left: 15%;
    }
}

}
@media screen and (max-width: 599px) {
    .technology__inner03{
        margin-top: 2.5rem;
    }
}


.bg-blue-btn{
    display: flex;
    justify-content: center;
    margin: 8rem auto 4rem;
}
.bg-blue-btn li + li{
    margin-left: 3rem;
}
.bg-blue-btn a{
    font-size: 2.0rem;
    width: 16em;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.6em 1em 0.8em;
}
.bg-blue-btn .btn__entry a{
    color: white;
    position: relative;
    display: flex;
    align-items: center;
    border: solid 2px var(--acc-color);
    font-weight: bold;
}
.bg-blue-btn .btn__entry a:hover{ 
    text-decoration: none;
    opacity: 1;
}
.bg-blue-btn .btn__entry a:hover{
    color: var(--acc-color);
    background: var(--bg-color-light);
}
.bg-blue-btn .btn__entry a::before{
    content: '>';
    position: relative;
    display: flex;
    font-size: 1.0rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color: var(--acc-color);
    border-radius: 0.9em;
    background: white;
    padding-left: 0.6em;
    line-height: 1.8;
}
.bg-blue-btn .btn__entry a:hover::before{
    color: white;
    background: var(--acc-color);
}
@media screen and (max-width: 960px) {
    .bg-blue-btn{
        margin: 4rem auto 2rem;
    }
}

@media (max-width: 599px) {
    .bg-blue-btn{
        flex-direction: column;
    }
    .bg-blue-btn li{
        margin-bottom: 3rem;   
    }
    .bg-blue-btn a{
        width: 100vw;
        max-width: 320px;
        margin: auto;
        padding: 1em 1em 1.2em;
        font-size: 1.8rem;
    }
    .bg-blue-btn li + li{
        margin-left: 0;
    }
    .bg-blue-btn .btn__entry a::before{
        font-size: 1.1rem;
        width: 1.2em;
        height: 1.8em;
        margin: 0.25em 0.8em 0 0;
        top:-1px;
    }
}
/* =========================================================
下層-社員の成長
========================================================= */
.list-education-icons{
    display: flex;
    flex-wrap: wrap;
}
.list-education-icons .edu-icon-bloc{
    width: 32%;
    background: white;
    border-radius: var(--radius-base);
    padding: 30px 30px 20px;
    text-align: center;
    margin-bottom: 2%;
    margin-right: 2%;
}
.list-education-icons .edu-icon-bloc:nth-child(3n){
    margin-right: 0;
}
.list-education-icons .edu-icon-bloc h3{
    font-size: 2.5rem;
    color: var(--acc-color);
}
.list-education-icons .edu-icon-bloc p{
    line-height: 1.8;
}
.list-education-icons .edu-icon-bloc p span{
    font-size: 90%;
}
.list-education-icons .edu-icon-bloc img{
    max-width: 110px;
    height: auto;
}
.edu-flex{
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0 50px;
}
.edu-flex .txt{
    width: calc(100% - 380px);
    padding-right: 60px;
}
.edu-flex .img{
    width: 380px;
    margin-top: 20px;
}

@media screen and (max-width:960px) {
    .list-education-icons .edu-icon-bloc h3{
        font-size: 2.2rem;
        margin-top: 0.5em;
    }
    .list-education-icons .edu-icon-bloc{
        width: 48.5%;
        margin-right: 3%;
        margin-bottom: 3%;
    }
    .list-education-icons .edu-icon-bloc:nth-child(3n){
        margin-right: 3%;
    }
    .list-education-icons .edu-icon-bloc:nth-child(2n){
        margin-right: 0;
    }
    .edu-flex{
        flex-direction: column;
    }
    .edu-flex .txt{
        width: 100%;
        padding-right: 0;
    }
    .edu-flex .img{
        width: 100%;
        max-width: 380px;
        margin: 20px auto;
    }
    .edu-flex:last-child{
        margin-bottom: 0;
    }
}
@media screen and (max-width:599px) {
    .list-education-icons .edu-icon-bloc img{
        width: 80%;
        max-width: 90px;
        margin: auto;
    }
    .list-education-icons .edu-icon-bloc{
        padding: 30px;
    }
    .list-education-icons{
        flex-direction: column;
    }
    .list-education-icons .edu-icon-bloc{
        width: 100%;
        margin-right: 0;
        margin-bottom: 5%;
    }
    .list-education-icons .edu-icon-bloc:last-child{
        margin-bottom: 0;
    }
}
/* =========================================================
下層-サポートシステム
========================================================= */

.list-support-icons{
    display: flex;
    flex-wrap: wrap;
}
.list-support-icons .sup-icon-bloc{
    width: 32%;
    background: white;
    border-radius: var(--radius-base);
    padding: 30px 30px 20px;
    text-align: center;
    margin-bottom: 2%;
    margin-right: 2%;
}
.list-support-icons .sup-icon-bloc:nth-child(3n){
    margin-right: 0;
}
.list-support-icons .sup-icon-bloc h3{
    font-size: 2.5rem;
    color: var(--acc-color);
}
.list-support-icons .sup-icon-bloc p{
    line-height: 1.6;
    text-align: left;
}
.list-support-icons .sup-icon-bloc p span{
    font-size: 90%;
}
.list-support-icons .sup-icon-bloc img{
    max-width: 110px;
    height: auto;
}

@media screen and (max-width:960px) {
    .list-support-icons .sup-icon-bloc h3{
        font-size: 2.2rem;
        margin-top: 0.5em;
    }
}
@media screen and (max-width:767px) {
    .list-support-icons .sup-icon-bloc{
        width: 48.5%;
        margin-right: 3%;
        margin-bottom: 3%;
    }
    .list-support-icons .sup-icon-bloc:nth-child(3n){
        margin-right: 3%;
    }
    .list-support-icons .sup-icon-bloc:nth-child(2n){
        margin-right: 0;
    }
}
@media screen and (max-width:599px) {
    .list-support-icons .sup-icon-bloc img{
        width: 80%;
        max-width: 90px;
        margin: auto;
    }
    list-support-icons{
        flex-direction: column;
    }
    .list-support-icons .sup-icon-bloc{
        width: 100%;
        margin-right: 0;
        margin-bottom: 3rem;
    }
}


.list-support-icons-2{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 30px;
}
.list-support-icons-2 .sup-icon-bloc{
    width: 48%;
    background: white;
    border-radius: var(--radius-base);
    padding: 30px 30px 20px;
    text-align: center;
    margin-bottom: 2%;
    border: solid 3px var(--acc-color);
}

.list-support-icons-2 .sup-icon-bloc h3{
    font-size: 2.5rem;
    color: var(--acc-color);
}
.list-support-icons-2 .sup-icon-bloc p{
    line-height: 1.6;
    text-align: left;
}
.list-support-icons-2 .sup-icon-bloc p span{
    font-size: 90%;
}
.list-support-icons-2 .sup-icon-bloc img{
    max-width: 110px;
    height: auto;
}

@media screen and (max-width:960px) {
    .list-support-icons-2 .sup-icon-bloc h3{
        font-size: 2.2rem;
        margin-top: 0.5em;
    }
}
@media screen and (max-width:767px) {
    .list-support-icons-2 .sup-icon-bloc{
        width: 48.5%;
        margin-bottom: 3%;
    }
}
@media screen and (max-width:599px) {
    .list-support-icons-2 .sup-icon-bloc img{
        width: 80%;
        max-width: 90px;
        margin: auto;
    }
    .list-support-icons-2{
        flex-direction: column;
    }
    .list-support-icons-2 .sup-icon-bloc{
        width: 100%;
        margin-bottom: 3rem;
    }
    
}


.list-supportsystem{
    display: flex;
    flex-wrap: wrap;
}
.list-supportsystem li{
    width: 46%;
    margin-right: 4%;
    margin-bottom: 4%;
    padding: 4rem;
    border-radius: var(--radius-bnr);
    background: white;
}
.list-supportsystem li:nth-child(2n){
    margin-right: 0;
}
.list-supportsystem li h3{
    font-size: 2.6rem;
    line-height: 1.6;
    color: var(--acc-color);
    text-align: center;
    margin-bottom: 1rem;
    
}
.list-supportsystem li .bg-li-blue{
    border-radius: var(--radius-bnr);
    padding: 1rem 1rem;
    margin-top: 2rem;
    background: #f8f8f8;
}
.list-supportsystem li .img{
    margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
    .list-supportsystem li{
        margin-bottom: 3rem;
    }
    .list-supportsystem{
        flex-direction: column;
    }
    .list-supportsystem li{
        width: 100%;
        margin-right: 0;
    }
}
@media screen and (max-width: 599px) {
    .list-supportsystem li{
        padding: 3rem 2.5rem;
    }
    .list-supportsystem li h3{
        font-size: 2rem;
    }
}

/* =========================================================
下層-1.76ストーリー
========================================================= */
.h1-wrap .sub-copy{
    font-size: 2rem;
    margin-top: 1rem
}
.member-ttl{
    font-size: 2.6rem;
}
.story-img{
    margin-top: 5rem;    
}
#member-str176.section,#member-hadabijin.section{
    margin-top: 5rem;
    padding: 4rem 0 7rem;
    overflow: inherit;
    margin-bottom: 9rem;
}
.story-ttlimg img{
    height: 40px;
    width: auto;
}
.story-ttl__wrap{
    justify-content: space-between;
    align-items: center;
}
.member-wrap .member-img{
    text-align: center;
    margin-left: 10rem;
}
#hadabijin .member-wrap .member-img{
    margin-left: 14rem;
}
.member-wrap .member-img img{
    max-width: 245px;
}
.member-wrap .member-img .name{
    margin-top: .8rem;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1.4;
}
.member-wrap .member-img .name span{
    font-size: 1.4rem;
    font-weight: normal;
}
.member-txt-decoration{
    position: absolute;
    bottom:-9rem;
    right: 0;
    z-index: 2;
}
.member-txt-decoration img{
    max-width: 495px;
    
}
.section.story-section{
    padding: 10rem 0 4rem
}
.section.story-section-end{
    padding: 10rem 0;
}
#hadabijin-topics .inner{
    background: white;
    border-radius: var(--radius-img);
    padding: 3rem 5rem 5rem;
}
#hadabijin-topics ul li {
    border-bottom:solid 1px #D5D5D5;
}
#hadabijin-topics ul li a{
    padding: 2rem 4em 2rem 0;
    display: block;
    color:var(--moji-color);
    position: relative;
    transition: all 0.3s ease; 
}
#hadabijin-topics ul li a::after{
    content: '>';
    position: absolute;
    font-size: 1.2rem;
    top: calc(50% - 2em);
    right: 1rem;
    width: 1.15em;
    height: 1.9em;
    margin: 0.9em 0 0 0.8em;
    color: #fff;
    border-radius: 1em;
    background: var(--pjt02-color);
    padding-left: 0.75em;
    line-height: 1.75;
}
#hadabijin-topics ul li a:hover{
    text-decoration: none;
}


@media screen and (max-width:1200px) {
    #hadabijin-topics{
        padding: 6rem 4rem;
    }
}
@media screen and (max-width: 1140px) {
    .member-txt-decoration{
        right: 2rem;
    }
}
@media screen and (max-width: 960px) {
    .member-wrap .member-img{
        width: 30%;
        margin-left: 7vw;
    }
    .story-ttl__wrap{
        flex-direction: column;
        justify-content:flex-start;
        align-items: flex-start;
        margin-bottom: 4rem;
    }
    .story-ttl__wrap .h2ttl-l{
        margin-bottom:0;        
    }
    .story-ttlimg{
        margin-top: 15px;
    }
    .story-ttlimg img{
        width: 14vw;
        height: auto;
    }
}
@media screen and (max-width:767px) {
    .member-txt-decoration{
         width: 50vw;
        right: 1rem;
    }
    .story-ttlimg{
        margin-top: 5px;
    }
    .story-ttlimg img{
        width: 80px;
        height: auto;
    }
    #member-str176.section,#member-hadabijin.section{
        margin-top: 5rem;
        padding: 4rem 0 7rem;
        overflow: inherit;
        margin-bottom: 6rem;
    }
}
@media screen and (max-width:599px) {
    .member-wrap.flex{
        flex-wrap: wrap;
    }
    .member-ttl{
        width: 100%;
        text-align: center;
        margin-bottom: 2rem;
    }
    .member-wrap .member-img{
        width: 46%;
        margin:0 2%;
    }
    .member-txt-decoration{
        width: 65vw;
        right: 1rem;
    }
    .section.story-section,.section.story-section-end{
        padding-top:8rem;
    }
    #hadabijin-topics .inner{
        padding: 2rem 3rem 5rem;
        border-radius: var(--radius-bnr);
    }
    
}
@media screen and (max-width:440px) {
    .member-txt-decoration{
       bottom:-9rem;
    }

}



.btn__josikai{
    margin: 80px auto 0;
}
.btn__josikai a{
    font-size: 2.0rem;
    width: 16em;
    justify-content: center;
    padding: 0.6em 1em 0.8em;
    color: white;
    position: relative;
    display: flex;
    align-items: center;
    border: solid 2px var(--pjt02-color);
    font-weight: bold;
    background: var(--pjt02-color);
    border-radius: var(--radius-btn);
    transition: all 0.3s ease-out;
    margin: auto;
}
.btn__josikai a:hover{ 
    text-decoration: none;
    opacity: 1;
}

.btn__josikai a:hover{
    color: var(--pjt02-color);
    background: white;
}

.btn__josikai a::before{
    content: '>';
    position: relative;
    display: flex;
    font-size: 1.0rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color: var(--pjt02-color);
    border-radius: 0.9em;
    background: white;
    padding-left: 0.6em;
    line-height: 1.8;
}
.btn__josikai a:hover::before{
    color: white;
    background: var(--pjt02-color);
}
@media (max-width: 599px) {
    
    .btn__josikai a::before{
        font-size: 1.1rem;
        width: 1.2em;
        height: 1.8em;
        margin: 0.25em 0.8em 0 0;
        top:-1px;
    }
    .btn__josikai a{
        width: 100vw;
        max-width: 300px;
    }
    .btn__josikai{
        margin: 60px auto 0;
    }

}


/* =========================================================
下層-新・求める人物像
========================================================= */
.ttl-person-s{
    font-size: 1.8rem;
}
.person-img{
    margin-top: 5rem;    
}
#person-mission.section{
    margin-top: 5rem;
    padding: 6rem 0 7rem;
    overflow: inherit;
    margin-bottom: 3rem;
}
.name-mission{
    font-size: 2.2rem;
}
.mission-txt-decoration{
    position: absolute;
    bottom:-9rem;
    right: 0;
    z-index: 2;
}
.mission-txt-decoration img{
    max-width: 153px;
    
}
.wh-base{
    background: white;
    border-radius: var(--radius-img);
    padding: 4rem 5rem;
    margin-top: 15px;
    position: relative;
}
.bloc-personality{
    margin-bottom: 6rem;
}
.bloc-personality p{
    text-align: center;
    font-size: 3.0rem;
    font-weight: bold;
    line-height: 1.6;
}
.bloc-expectations {
    margin-bottom: 30px;
}
.list-expectation li{
    font-weight: bold;
    position: relative;
    margin-bottom: 1.2em;
    font-size: 1.7rem;
    padding-left: 46px;
    line-height: 1.6;
}
.list-expectation li:last-child{
    margin-bottom: 0;
}
.list-expectation li::before{
    content:"";
    position: absolute;
    width: 32px;
    height: 26px;
    background: url("../img/job/icon-person-check.svg") no-repeat;
    background-size: cover;
    top:4px;
    left: 0;
}
.personality-decoration,
.expectations-decoration{
    position: absolute;
    right: 20px;
    top:-20px;
}
.personality-decoration img{
    width: 182px;
    height: auto;
}
.expectations-decoration img{
    width: 196px;
    height: auto;
}
.person-list-01 .person-off-01{ display: none;}
.person-list-02 .person-off-02{ display: none;}
.person-list-03 .person-off-03{ display: none;}
.person-list-04 .person-off-04{ display: none;}
.person-list-05 .person-off-05{ display: none;}
.person-list-06 .person-off-06{ display: none;}
.person-list-07 .person-off-07{ display: none;}

.copy-mission.h2ttl-l{
    line-height: 1.8;
    margin-bottom: 1.2rem;
}
@media screen and (max-width: 1140px) {
    .mission-txt-decoration{
        right: 2rem;
    }
}
@media screen and (max-width: 960px) {
    .story-mission-ttl__wrap{
        flex-direction: column;
        justify-content:flex-start;
        align-items: flex-start;
        margin-bottom: 3rem;
    }
    .story-mission-ttl__wrap .h2ttl-l{
        margin-bottom:0;        
    }
    .bloc-personality p{
        font-size: 2.7rem;
    }
}
@media screen and (max-width:767px) {
    .story-mission-ttl__wrap{
        margin-bottom: 2rem;
    }
    .mission-txt-decoration{
        right: 1rem;
    }
    #person-mission.section{
        margin-bottom: 6rem;
    }
}
@media screen and (max-width:599px) {
    #person-mission.section{
        padding: 5rem 0 6rem;
    }
    .name-mission{
        font-size: 1.6rem;
    }
    .personality-decoration,
    .expectations-decoration {
        right: 1.5rem
    }
    .personality-decoration img,
    .expectations-decoration img{
        width: auto;
        height: 24px;
    }
    .mission-txt-decoration{
        width: 100px;
        right: 1.5rem;
        bottom: -7.2rem
    }
    .wh-base{
        padding: 4rem 3rem;
    }
    .bloc-personality p {
        font-size: 2.2rem;
    }
    .list-expectation li{
        padding-left: 32px;
    }
    .list-expectation li::before{
        width: 24px;
        height: 19.5px;
        background-size: cover;
        top:7px;
    }
}


/* =========================================================
下層-ボトムリンク
========================================================= */
#btm-link.section{
    padding: 6rem 0 8rem;
}
.btm-link__wrap{
    width: 100%;
    max-width: 1312px;
    margin: auto;
}
.h2ttl-btm{
    text-align: center;
    margin-bottom: 3rem;
}
.h2ttl-btm h2{
    font-size: 3.2rem;
}

#btm-link .bar-anim{
    right: 0;
    margin: auto;
}
.btm-link__list{
    margin-top: 4rem;
    display: flex;
    justify-content: center;
}
.btm-link__list li{
    width: 298px;
}
.btm-link__list li + li{
    margin-left: 40px;
}
.btm-link__list li a{
    transition: all 0.6s ease;
}
.btm-link__list li a .img{
    overflow: hidden;
    border-top-left-radius:  var(--radius-btn);
    border-top-right-radius: var(--radius-btn);
    transition: all 0.4s ease;
}
.btm-link__list li a .txt{
    position: relative;
    background: white;
    text-align: center;
    line-height: 1.5;
    padding: 1rem 2rem;
    border-bottom-right-radius: var(--radius-btn);
    border-bottom-left-radius: var(--radius-btn);
    font-weight: bold;
    transition: all 0.4s ease;
}
.btm-link__list li a .txt::after{
    content: '>';
    position: absolute;
    display: flex;
    font-size: 1.0rem;
    top:calc(50% - 1em);
    right: 0.3rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color: #fff;
    border-radius: 0.9em;
    background: var(--acc-color);
    padding-left: 0.6em;
    line-height: 1.8;
}
.btm-link__list li .txt .ff-en{
    font-size: 1.1rem;
    font-weight: normal;
}
.btm-link__list li a:hover{
    text-decoration: none;
    opacity: 1;
}
.btm-link__list li a:hover .img{opacity: var(--opacity);}
.btm-link__list li a:hover .txt{
    opacity: 1;
    background: var(--acc-color);
    color: white;
}
.btm-link__list li a:hover .txt::after{
    color: var(--acc-color);
    background: white
}

@media screen and (max-width: 1372px) {
    .btm-link__list {
        padding: 0 2%;
    }
    .btm-link__list li{
        width: calc(25% - 2.25%);
    }
    .btm-link__list li + li{
        margin-left: 3%;
    }
}
@media screen and (max-width: 960px) {
    .btm-link__list {
        padding: 0 10vw;
        flex-wrap: wrap;
        justify-content: flex-start;
    }
    .btm-link__list.solo{
        justify-content: center;
    }
    .btm-link__list-1{
        justify-content: center;
    }
    .btm-link__list li{
        width: calc(50% - 2%);
        margin-bottom: 4%;
    }
    .btm-link__list li + li{
        margin-left: 4%;
    }
    .btm-link__list li:nth-child(3n){
        margin-left: 0;
    }
    #btm-link.section{
        padding: 6rem 0 7rem;
    }
}
@media screen and (max-width: 767px) {
    .btm-link__list li a .txt{
        font-size: 1.8rem;
    }
    .btm-link__list li .txt .ff-en{
        font-size: 1.2rem;
    }
    .btm-link__list li a .txt::after{
        font-size: 1.2rem;
        width: 1.4em;
        height: 2em;
        margin-top: 0.2em;
        padding-left: 0.8em;
        line-height: 1.8;
    }
}
@media screen and (max-width: 599px) {
    .btm-link__list {
        padding: 0 4vw;
    }
    .h2ttl-btm h2{
        font-size: 2.8rem;
    }
    .btm-link__list li a .txt{
        font-size: 2.8vw;
    }
    .btm-link__list li a .txt::after{
        font-size: 1.2rem;
        top:calc(50% - 1em);
        right: 0;
        width: 1.8em;
        height: 1.8em;
        margin: 0.3em 0.4em 0 0;
        padding-left: 0.7em;
        line-height: 1.8;
    }
}
@media screen and (max-width: 480px) {
    .btm-link__list li a .txt{
        font-size: 3.3vw;
    }
}

/* =========================================================
下層-インタビュー
========================================================= */
#interview-index.section{
    padding-top: 0;
}
#interview-index .bar-anim {
    right: 0;
    margin: auto;
}
.list-interview{
    margin-top: 4rem;
    display: flex;
    flex-wrap: wrap;
}
.list-interview li{
    width: 32%;
    margin-right: 2%;
    margin-bottom: 4%;
}
.list-interview li:nth-child(3n){
    margin-right: 0;
}
.list-interview li a{
    position: relative;
    display: block;
}
.list-interview li a .txt{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    overflow: hidden;
    border-top-left-radius: 6px;
    font-size: 1.6rem;
}
.list-interview li a .txt span{
    padding:10px 15px;
    line-height: 1;
    position: relative;
    z-index: 2;
}
.list-interview li a .txt .ff-en{
    transition: all 0.4s ease;
}
.list-interview li a .txt .ff-en:after{
    content:"";
    background: white;
    width: 100%;
    height: 50px;
    z-index: -2;
    position: absolute;
    top:0;
    left: 0;
}
.list-interview li a .txt .ff-en:before{
    content:"";
    background: var(--acc-color);
    width: 100%;
    height: 50px;
    z-index: -1;
    position: absolute;
    top:0;
    left: 0;
    transition: all 0.4s ease;
    transform-origin:left;
    transform: scaleX(0);
    
}
.list-interview li a .txt .department{
    border-top-left-radius: 6px;
    background: var(--acc-color);
    color: white;
    font-size: 1.4rem;
}
.list-interview li a:hover .ff-en{
    color: white;  
}
.list-interview li a:hover .txt .ff-en:before{
    transform-origin:left;
    transform: scaleX(1);
}
.list-interview li a:hover{
    opacity: 1;
}
.list-interview li a:hover .img{
    opacity: 1;
}
.list-interview li .full{display: block;}
.list-interview li .w1024{display: none;}
.img-interview{
    margin-bottom: 8rem
}

@media screen and (max-width: 1024px) {
    .list-interview li{
        width: 48%;
        margin-right: 4%;
    }
    .list-interview li:nth-child(3n){
        margin-right: 4%;
    }
    .list-interview li:nth-child(2n){
        margin-right: 0;
    }
    .list-interview li .full{display: none;}
    .list-interview li .w1024{display: block;}

}
@media screen and (max-width: 767px) {
    .list-interview li a .txt{
        font-size: 2.5vw;
    }
    .list-interview li a .txt .ff-en:before,.list-interview li a .txt .ff-en:after{
        height: 70px;
    }
}
@media screen and (max-width: 599px) {
    .list-interview li a .txt span{
        padding: 10px 12px;
    }
    .list-interview li a .txt{
        position: static;
        font-size: 2.0vw;
    }
    .list-interview li a .img-radius-s{
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .list-interview li a .txt .department,.list-interview li a .txt{
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        width: 100%;
        display: block;
        text-align: center;
    }
    .list-interview li{
        margin-bottom: 6rem;
    }
    .list-interview li a .txt{
        font-size: 1.5rem;
        overflow: inherit;
        width: 100%;
        background: white;
        padding: 0;
        border-bottom-left-radius: 6px;
        border-bottom-right-radius: 6px;
        border: solid 1px var(--acc-color);
    }
    .list-interview li a .txt .ff-en{
        font-size: 1.7rem;
        background: none;
        width: 100%;
        line-height: 2.5;
    }
    .list-interview li a .txt .ff-en:before, .list-interview li a .txt .ff-en:after{
        content: none;
    }
}

#mv.mv-interview .h1-wrap{
    padding-top: 4.5vw;
}
.h1-wrap .name-en{
    color: var(--acc-color);
    font-size: 1.2rem;
}
.h1-wrap .join-year{
    margin-top: 2em;
}
.h1-wrap .graduate{
    border-top: solid 1px var(--acc-color);
    margin-top: 1em;
    padding-top: 1em;
    width: 17em;
}
.h1-wrap .graduate span{
    font-size: 90%;
}
.comments-bloc{
    margin-bottom:8rem;
}
.comments-bloc:first-child{
    margin-top: 60px;
}
.comments-bloc:last-child{
    margin-bottom: 0;
}
.question{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.question .ff-en{
    color: white;
    font-size: 2.8rem;
    text-align: center;
    background: var(--acc-color);
    padding: 0.1em 0.36em 0.15em;
    border-radius: 1.1em;
    width: 2.2em;
}
.question p{
    padding-left: 1.5em;
    color: var(--acc-color);
    font-weight: bold;
    font-size: 2rem;
    width: calc(100% - 3em);
}
@media screen and (max-width: 1500px) {
    #mv.mv-interview .h1-wrap{
        padding-top: 5.5vw;
    }
}
@media screen and (max-width: 960px) {
    #mv.mv-interview .h1-wrap{
        padding-top: 4.5vw;
    }
}
@media screen and (max-width: 767px) {
    #mv.mv-interview .h1-wrap{ 
        margin-top: -12vw;
    }
    .h1-wrap .graduate{
        width: 30em
    }
    .comments-bloc:first-child{
        margin-top: 5vw;
    }
}
@media screen and (max-width: 599px) {
    #mv.mv-interview .h1-wrap{ 
        margin-top: -9vw;
    }
    .h1-wrap .graduate{
        width: 100%
    }

    .question{
        flex-direction: column;
    }
    .question .ff-en{
    }
    .question p{
        margin-top: 20px;
        padding-left:0;
        width: calc(100%);
    }
}
/* =========================================================
下層-座談会
========================================================= */
.section-1-m{
    margin: 5rem auto 0;
}
.list-ct-member{
    display: flex;
    flex-wrap: wrap;
}
.list-ct-member li{
    width: 20%;
    padding: 0 1.5%;
    text-align: center;
}
.list-ct-member .name{
    font-size: 2rem;
    font-weight: bold;
    color: var(--acc-color);
}
.list-ct-member .depart-year{
    font-size: 1.5rem;
    line-height: 1.4;
}
.youtube-mov iframe{
    text-align: center;
}
.youtube-mov iframe{
    width: 1065px;
    height: 599px;;
    
}
.youtube-mov{
    text-align: center;
}
@media screen and (max-width: 1240px) {
 .youtube-mov iframe{
        width: 85vw;
        height: 47.8125vw;
    }
}

@media screen and (max-width: 767px) {
    .list-ct-member .name{
        font-size: 1.8rem;
    }
    .list-ct-member .depart-year{
        font-size: 1.4rem;
    }
     .youtube-mov iframe{
        width: 92vw;
        height: 51.75vw;
    }
}
@media screen and (max-width: 599px) {
    .list-ct-member{
        justify-content: center;
    }
    .list-ct-member li{
        width: 33.3%;
        padding: 1.5% 4%;
    }
        .list-ct-member .name{
        font-size: 1.6rem;
    }
    .list-ct-member .depart-year{
        font-size: 1.3rem;
    }
    .section-1-m{
        padding-bottom: 5rem
    }
}
/* =========================================================
下層-モデル人材
========================================================= */
.model-ttl{
    display: flex;
    align-items:center;
    margin-bottom: 40px;
}

.model-ttl .icon-model{
    width: 102px;
}
.model-ttl .txt{
    width: calc(100% - 102px);
    padding-left: 16px;
    color: var(--acc-color);
    line-height: 1.4;
}
.model-ttl .subttl{
    font-size: 1.7rem;
}
.model-ttl .name{
    font-size: 3.0rem;
    font-weight: bold;
}
.model-ttl .name span{
    font-size: 2.2rem;
    font-weight: bold;
}
.model-ttl .ff-en{
    font-size: 1.4rem;
    margin-top: 0.5em;
}

.profile-wrap{
    margin-top: 40px;
}
.profile-ttl{
    width: 113px;
}
.profile-blc{
    margin-top: 20px;
    border-radius: 10px;
    background: white;
    display: flex;
    align-items: center;
    padding: 20px 30px;
}
.profile-blc .blc01{
    width: 153px;
}
.profile-blc .blc01-flex{
    width: 45%;
    display: flex;
    align-items: center;
}
.profile-blc .blc02{
    width: calc(100% - 153px);
    padding: 0 2% 0 6%;
}
.profile-blc .blc02 .name{
    font-size: 2.1rem;
    font-weight: bold;
    color: var(--acc-color);
}
.profile-blc .blc02{
    margin-top: 0;
}
.profile-blc .blc03{
    width: 55%;
}
.profile-blc .blc03 h3{
    color: var(--acc-color);
}
.profile-blc .blc03 ul{
    display: flex;
    flex-wrap: wrap;
}
.profile-blc .blc03 ul li{
    width: 50%;
    padding-right: 1em;
}
.profile-blc .blc03 ul li:nth-child(2n){
    padding-right: 0;
}
.bg-li-pink .profile-blc .blc02 .name,
.bg-li-pink .model-ttl .txt,
.bg-li-pink .profile-blc .blc03 h3{
    color: var(--pjt02-color);
}

@media screen and (max-width: 1055px) {
    .profile-blc{
        flex-direction: column;
    }
    .profile-blc .blc01-flex{
        width: 100%;
    }
    .profile-blc .blc03{
        width: 100%;
        margin-top: 20px;
        padding: 20px 30px;
        border:solid 1px var(--acc-color); 
        border-radius: 6px;
    }
    .bg-li-pink .profile-blc .blc03{
        border:solid 1px var(--pjt02-color); 
    }
}
@media screen and (max-width: 767px) {
    .model-ttl .icon-model{
        width: 90px;
    }
    .model-ttl .txt{
        width: calc(100% - 90px)
    }
}
@media screen and (max-width: 599px) {
    .profile-blc .blc01{
        width: 27vw;
    }
    .profile-blc .blc02{
        width:calc(100% - 27vw);
    }
    .profile-blc .blc03 ul{
        flex-direction: column;
    }
    .profile-blc .blc03 ul li{
        width: 100%;
        padding-right: 0;
    }
    .model-ttl .icon-model{
        width: 17vw;
    }
    .model-ttl .txt{
        width: calc(100% - 17vw)
    }
    .profile-ttl{
        width: 22vw;
    }
    .profile-blc{
        padding: 20px
    }
}

#person-index.section{
    padding-top: 8rem;
}
#person-index .bar-anim {
    right: 0;
    margin: auto;
}
.list-person{
    margin-top: 4rem;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.list-person li{
    width: 32%;
    margin-bottom: 4%;
}

.list-person li a{
    position: relative;
    display: block;
}
.list-person li a .txt{
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    overflow: hidden;
    border-top-left-radius: 6px;
    font-size: 1.6rem;
}
.list-person li a .txt span{
    padding:10px 15px;
    line-height: 1;
    position: relative;
    z-index: 2;
}
.list-person li a .txt span{
    transition: all 0.4s ease;
}
.list-person li a .txt span:after{
    content:"";
    background: white;
    width: 100%;
    height: 50px;
    z-index: -2;
    position: absolute;
    top:0;
    left: 0;
}
.list-person li a .txt span:before{
    content:"";
    background: var(--acc-color);
    width: 100%;
    height: 50px;
    z-index: -1;
    position: absolute;
    top:0;
    left: 0;
    transition: all 0.4s ease;
    transform-origin:left;
    transform: scaleX(0);
    
}

.list-person li a:hover span{
    color: white;  
}
.list-person li a:hover .txt span:before{
    transform-origin:left;
    transform: scaleX(1);
}
.list-person li a:hover{
    opacity: 1;
}
.list-person li a:hover .img{
    opacity: 1;
}
.list-person li .full{display: block;}
.list-person li .w1024{display: none;}
.img-person{
    margin-bottom: 8rem
}

@media screen and (max-width: 1024px) {
    .list-person li{
        width: 48%;
    }
    .list-person li .full{display: none;}
    .list-person li .w1024{display: block;}

}
@media screen and (max-width: 767px) {
    .list-person li a .txt{
        font-size: 2.5vw;
    }
    .list-person li a .txt span:before,.list-person li a .txt span:after{
        height: 70px;
    }
}
@media screen and (max-width: 599px) {
    .list-person li a .txt span{
        padding: 10px 12px;
    }
    .list-person li a .txt{
        position: static;
        font-size: 2.0vw;
    }
    .list-person li a .img-radius-s{
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
    }
    .list-person li a .txt{
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        width: 100%;
        display: block;
        text-align: center;
    }
    .list-person li{
        margin-bottom: 6rem;
    }
    .list-person li a .txt{
        font-size: 1.5rem;
        overflow: inherit;
        width: 100%;
        color: white;
        background: var(--acc-color);
        padding: 0;
        border-bottom-left-radius: 6px;
        border-bottom-right-radius: 6px;
/*        border: solid 1px var(--acc-color);*/
    }
    .list-person li a .txt .ff-en{
        font-size: 1.7rem;
        background: none;
        width: 100%;
        line-height: 2.5;
    }
    .list-person li a .txt span:before, .list-person li a .txt span:after{
        content: none;
    }
}

/* =========================================================
下層-ボトムエントリーボタン
========================================================= */

.btm-entry__btn a{
    position: relative;
    background:var(--acc-color);
    color: white;
    text-align: center;
    line-height: 1.5;
    padding: 1.5rem 2rem 1.5rem;
    border-radius: var(--radius-btn);
    font-weight: bold;
    transition: all 0.4s ease;
    display: block;
    width: 90%;
    margin: auto;
    max-width: 850px;
    border: solid 2px var(--acc-color);
}
.btm-entry__btn.career,.btm-entry__btn.entry-new{
    margin-top: 2em
}
.btm-entry__btn a::after{
    content: '>';
    position: absolute;
    display: flex;
    top:calc(50% - 1em);
    right: 1rem;
    width: 1.8em;
    height: 1.8em;
    margin: 0.3em 0.8em 0 0;
    color:var(--acc-color);
    border-radius: 0.9em;
    background: #fff;
    padding-left: 0.6em;
    line-height: 1.8;
}
.btm-entry__btn a .ff-en{
    font-size: 3rem;
}
.btm-entry__btn a .ff-ja{
    font-size: 1.8rem
}
.btm-entry__btn a .ff-ja span{
    font-size: 1.4rem
} 
.btm-entry__btn a .ff-ja br{
    display: none;
}
.btm-entry__btn a:hover{
    text-decoration: none;
    opacity: 1;
    color: var(--acc-color);
    background: white
}
.btm-entry__btn a:hover::after{
    color: white;
    background: var(--acc-color);
}
.btm-entry__btn a.link__off{
    pointer-events: none;
    background: #ccc;
    border: solid 2px #ccc;   
}
.btm-entry__btn a.link__off::after{
    color: #ccc;
}
@media screen and (max-width: 960px) {
    #entry-link .btm-link__wrap{
        padding: 0 4rem;
    }
    .btm-entry__btn a{
        width: 100%;
    }
}
@media screen and (max-width: 960px) {
    #entry-link.section{
        padding: 7.5rem 0 9rem;
    }

}
@media screen and (max-width: 599px) {
    .btm-entry__btn a{
        padding: 1.2rem 2rem;
    }
    .btm-entry__btn a .ff-ja br{
        display: block;
    }
    .btm-entry__btn a .ff-ja span{
        position: relative;
        top: -2px;
    }
    .btm-entry__btn a::after{
        right:.5em
    }
    .btm-entry__btn a .ff-en{
        font-size: 2.6rem;
    }
    #entry-link .btm-link__wrap{
        padding: 0 2rem;   
    }
}
/* =========================================================
下層-人を知る
========================================================= */
.list-gallery{
    display: flex;
    flex-wrap: wrap;
    margin: 50px auto 30px;
}
.list-gallery li{
    width: 20%;
    padding: 0 1%;
    margin-bottom: 2%;
}
@media screen and (max-width: 960px) {
    .list-gallery li{
        width: 25%;
    }
    .list-gallery{
        margin: 30px auto 15px;
    }
}
@media screen and (max-width: 767px) {
    .list-gallery{
        margin: 5vw auto 3vw;
    }
    .list-gallery li{
        width: 33.3%;
    }
}

/* =========================================================
求める人物像
========================================================= */
.main,.mainp{
	margin:80px auto 0;
	position: relative;
	border-bottom: 5px solid #007bc7;
}
.main #mainimg img,
.mainp #mainimg img{
	width: 100%;
}

.main .catch-right{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	right: 5%;
	max-width: 50%;
}
.main .catch-left{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	left: 5%;
	max-width: 50%;
}
.mainp .catch-proj{
	position: absolute;
	bottom:3%;
	text-align: center;
	left: 0;
	right: 0;
	margin: auto;
	width:80%;
	max-width:1000px;
	height:auto;
}
.mainp .catch-proj img{
	width:100%;
	height:auto;
}
@media (max-width: 1000px){
.mainp .catch-proj{
	bottom:2%;
}
}
@media (max-width: 768px){
.mainp .catch-proj{
	bottom:2%;
}
}
.contents_person .Flexboxcenter{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    line-height: 1.6em;
    text-align: left;
    margin: 30px auto 80px;
    padding: 0px 20px 10px;
}
.contents_person .w50 {
    width: 50%;
    float: left;
    padding: 10px 20px;
}
.contents_person li{
    margin-bottom: 20px;
}
.contents_person .fade {
    transition: 0.3s ease-in-out;
}
.contents_person img,.main img{
    max-width: 100%;
    height: auto;
    width /***/: auto;
}
@media screen and (max-width: 599px){
    .contents_person	.w50{
        width:100%;
        float:none;
        padding:5px 10px;
     }
    .contents_person .Flexboxcenter{
        margin-bottom: 60px;
    }
}

@media (max-width: 460px){

.main{
	border-bottom: none;
}
.main #mainimg{
		width: 90%;
		margin: 0 0 20px 10%;
	}	
.main #mainimg.mainl{
		width: 90%;
		margin: 0 10% 20px 0;
	}	
.main .catch-right{
	position: relative;
	top: inherit;
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
	right: inherit;
	max-width: 60%;
	margin: -80px 2% 0px auto;
}
.main .catch-left{
	position: relative;
	top: inherit;
	-webkit-transform: translateY(0);
	-moz-transform: translateY(0);
	-ms-transform: translateY(0);
	-o-transform: translateY(0);
	transform: translateY(0);
	left: inherit;
	max-width: 60%;
	margin: -80px auto 0px 2%;
}.mainp .catch-proj{
	bottom:3%;
}
}
#persons .inner {
    max-width: 1080px;
    text-align: center;
    margin: 0 auto;
    padding: 10px;
    overflow: hidden;
    position: relative;
}
#persons .inner h3{
    font-size: 2.2rem;
    letter-spacing: 0.05em;
    padding: 10px;
    line-height: 1.8em;
    margin: 10px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
#persons  .inner h3::before{
	content: url("../img/job/person/arrow_l.svg");
	padding: 20px 10px 10px;
}
#persons  .inner h3::after{
	content: url("../img/job/person/arrow_r.svg");
	padding: 20px 10px 10px;
}
#persons  .inner h3.kitai::before{
	content: url("../img/job/person/arrow_l2.svg");
	padding: 20px 10px 10px;
}
#persons  .inner h3.kitai::after{
	content: url("../img/job/person/arrow_r2.svg");
	padding: 20px 10px 10px;
}


.pers_b01{
	background: url("../img/job/person/personmenu01.png") left top no-repeat;
background-clip: border-box;
background-origin: padding-box;
background-size: cover;
}
.pers_b02{
	background: url("../img/job/person/personmenu02.png") left top no-repeat;
background-clip: border-box;
background-origin: padding-box;
background-size: cover;
}
.pers_b03{
	background: url("../img/job/person/personmenu03.png") left top no-repeat;
background-clip: border-box;
background-origin: padding-box;
background-size: cover;
}
.pers_b04{
	background: url("../img/job/person/personmenu04.png") left top no-repeat;
background-clip: border-box;
background-origin: padding-box;
background-size: cover;
}
.pers_b05{
	background: url("../img/job/person/personmenu05.png") left top no-repeat;
background-clip: border-box;
background-origin: padding-box;
background-size: cover;
}
.pers_b06{
	background: url("../img/job/person/personmenu06.png") left top no-repeat;
background-clip: border-box;
background-origin: padding-box;
background-size: cover;
}
.personality{
	background: url("../img/common/poly_glay.svg") left top repeat;
	padding: 20px;
	text-align: center;
	
}

section .personality .wwaku{
	background: #fff;
	padding: 10px;
	margin: 10px;
}
section .personality .wwaku .point{
	font-size: 2.2rem;
	padding: 10px;
	line-height: 1.5em;
	font-family: kan412typos-std, sans-serif;
	color: #0e456d ;
	
}

section .personality .wwaku li{
	border-bottom:1px solid #ccc;
	padding: 8px 10px;
	margin-left: 30px;
	list-style-image: url("../img/job/person/point.svg");
    text-align: left;
}

.personal_b {
  position: relative;
	height: auto;
	width: 33.3333%;
}
.personal_b:after {
  position: absolute;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  content: '';
  width: 100%;
  height: 100%;
  top: 0;
  left: 0%;
  background: rgba(10,57,88,0.5);
}
.personal_b:hover {
  cursor: pointer;
}
.personal_b.active:after,
.personal_b:hover:after {
  background: rgba(10,57,88,0.1);
}
.personal_b img{
	position: relative;
	z-index: 1;
}
@media (max-width: 680px){
	
section .personality .wwaku .point{
	font-size: 2.2rem;
	
}
.personal_b {
  position: relative;
	height: auto;
	width: 50%;
}
}

@media (max-width: 460px){
	
section .personality .wwaku .point{
	font-size: 1.8rem;
	
}
}

.dlines{
	font-family: kan412typos-std, sans-serif;
	color: #0e456d ;
	font-size: 1.6rem;
	line-height: 1.4em;
	margin: 30px auto;
	letter-spacing: 0.05em;	display: flex;
	align-items: center;
}
.dlines:before, .dlines:after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background: #0e456d;
	display: block;
}
.dlines:before {
	margin-right: 0.4em;
}

@media (max-width: 680px){

.project01t{
	padding: 20px;
}
.project02t{
	padding: 20px;
}
}
@media (max-width: 460px){
.project01t{
	padding: 15px;
}
.project02t{
	padding: 15px;
}
.dlines,
.hlines{
	font-size: 1.5rem;
}
.member li{
	width: 100%;
	text-align: center;
	padding-bottom: 20px;
}
.htopics{
	font-size: 1.5rem;
}
    }

#persons{
    padding-bottom: 10rem;
}
#persons .Flexbox{
	display:-ms-flexbox;/*--- IE10 ---*/
	display:flex;
	-ms-flex-wrap:wrap;/*--- IE10 ---*/
	flex-wrap:wrap;
}
#persons .inner h2 {
    font-family: kan412typos-std, sans-serif;
    color: #0e456d;
    font-size: 3.5rem;
    line-height: 1.4em;
    margin: 40px auto;
    letter-spacing: 0.05em;
    text-align: center;
}

#persons .inner .dline{
    display: block;
    position: relative;
	font-weight: 600;
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	padding: 0 0px 20px;
	line-height: 1.6em;
	text-align: center;
	margin: 50px auto 30px;
	color: #0a3958;
}
#persons .inner .dline::before{
    content: "";
    position: absolute;
	left: 50%;
    bottom: 0;
	margin: auto 100px auto auto;
    border-bottom: 5px solid #0a3958;
	width: 200px;
}
#persons .inner .dline::after{
    content: "";
    position: absolute;
	right:50%;
    bottom: 0;
	margin: auto auto auto 100px;
    border-bottom: 5px solid #007bc7;
	width: 200px;
}
#persons .inner .gl p {
    line-height: 2.2rem;
    text-align: left;
    margin: 10px auto;
    padding: 10px 20px;
}
#persons .w50 {
    width: 50%;
    float: left;
    padding: 10px 20px;
}

.personality {
    background: url(../img/job/person/poly_glay.svg) left top repeat;
    padding: 20px;
    text-align: center;
}

@media screen and (max-width: 769px){
  #persons .inner h2{
    font-size: 3.0rem;
    margin: 50px auto;
      }
	}
@media screen and (max-width: 680px){
    #persons .inner h2{
    font-size: 2.5rem;
    margin: 20px auto 20px;

    }

  #persons .inner .dline{
    font-size: 2.2em;
    margin: 40px auto 20px;
    letter-spacing: 0.05em;
  }
  #persons .inner .dline::before{
    margin: auto 80px auto auto;
    width: 160px;
  }
  #persons .inner .dline::after{
    margin: auto auto auto 80px;
    width: 160px;
  }
}

 @media screen and (max-width: 480px){
    #persons .inner h2{
     font-size: 2rem;
     margin: 10px auto;
     }	    
    #persons .inner .dline{
     font-size: 2rem;
     margin: 20px auto 10px;
    }
    #persons .inner .dline::before{
     margin: auto 80px auto auto;
     width: 160px;
    }
    #persons .inner .dline::after{
     margin: auto auto auto 80px;
     width: 160px;
    }
}
section .gl {
    background: #f2f2f2;
}
.tRight {
    text-align: right !important;
}


/* =========================================================
下層-数字で知る
========================================================= */
.list-numbers{
    display: flex;
    flex-wrap: wrap;
}
.list-numbers .numbers-bloc{
    width: 32%;
    background: white;
    border-radius: var(--radius-base);
    padding: 30px 30px 25px;
    text-align: center;
    margin-bottom: 2%;
    margin-right: 2%;
}
.list-numbers02 .numbers-bloc{
    border: solid 3px var(--acc-color);
}
.list-numbers .numbers-bloc.numbers-bloc08{
    padding: 30px 15px 20px;
}
.list-numbers .numbers-bloc:nth-child(3n){
    margin-right: 0;
}
.list-numbers .numbers-bloc h3{
    line-height: 1.2;
    font-size: 2.2rem;
    color: var(--acc-color);
    position: relative;
    margin-bottom: 1em;
}
.list-numbers .numbers-bloc h3::after{
    position: absolute;
    bottom:-.6em;
    left:0;
    right: 0;
    content:"";
    width: 3em;
    height: 3px;
    background: var(--acc-color);
    margin: auto;
    
}
.list-numbers .numbers-bloc h3 .bdr-btm{
    border-bottom: solid 2px var(--acc-color);
}
.list-numbers .numbers-bloc h3 .fs-s{
    font-size: 1.6rem;
}
.list-numbers .numbers-bloc{
    min-height: 320px;
    position: relative;
}
.numbers-wrap{
    position: relative;
    z-index: 1;
}
.numbers-bloc .bg-img img{
    width: 100%;
    height: auto;
}
.numbers-bloc01 .bg-img{
    position: absolute;
    width: 36%;
    max-width: 110px;
    top:34%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-bloc02 .bg-img{
    position: absolute;
    width: 86%;
    max-width: 268px;
    top:34%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-bloc03 .bg-img{
    position: absolute;
    width: 75%;
    max-width: 227px;
    top:29%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-bloc04 .bg-img{
    position: absolute;
    width: 73%;
    max-width: 227px;
    top:26%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-bloc09 .bg-img{
    position: absolute;
    width: 73%;
    max-width: 225px;
    top:29%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-bloc11 .bg-img{
    position: absolute;
    width: 74%;
    max-width: 226px;
    top:21%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-bloc12 .bg-img{
    position: absolute;
    width: 73%;
    max-width: 226px;
    top:34%;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 0;
}
.numbers-txt-wrap{
    margin-top: 16%;
}
.numbers-bloc01 .numbers-txt-wrap,
.numbers-bloc02 .numbers-txt-wrap,
.numbers-bloc03 .numbers-txt-wrap{
    margin-top: 22%;
}
.numbers-bloc05 .numbers-txt-wrap{
    margin-top: 14%;
}
.numbers-bloc07 .numbers-txt-wrap{
    margin-top: 12%;
}
.numbers-txt{
    font-size: 3rem;
    font-weight: bold;
    color: var(--acc-color);
}
.numbers-txt-img05{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px 0;
}
.numbers-txt-img05 .numbers-img05{
    width: 90px;
    padding-right: 20px;
}
.numbers-txt-img05 .numbers-txt{
    text-align: left;
}
.numbers-txt .fs-l-1{
    font-size: 6rem;
}
.list-numbers .numbers-bloc p{
    line-height: 1.8;
    margin-bottom: 0;
}
.list-numbers .numbers-bloc p span{
    font-size: 90%;
}
.chart-area{
     position: relative;
     width:100%;
     height:215px;
}
.chart-area02{
     position: relative;
     width:100%;
     height:190px;
}
.num-box6-r{
    position: absolute;
    color: #fff;
    bottom: 40px;
    right: 23%;
    z-index: 10;
}
.num-box6-l{
    position: absolute;
    color: var(--acc-color);
    top: 36px;
    left: 20%;
    z-index: 10;
}
.num-box10-r{
    position: absolute;
    color: #fff;
    bottom: 33px;
    right: 24%;
    z-index: 10;
}
.num-box10-l{
    position: absolute;
    color: var(--acc-color);
    top: 30px;
    left: 22%;
    z-index: 10;
}
.num-box13-r{
    position: absolute;
    color: #fff;
    top: 33px;
    right: 23.5%;
    z-index: 10;
}
.num-box13-l{
    position: absolute;
    color: var(--acc-color);
    bottom: 30px;
    left: 22%;
    z-index: 10;
}


#num-box7{
    position: absolute;
    top:30px;
    right: 0;
    left: 0;
    margin: auto;
    z-index: 10;
}

.bar-txt-set{
    display: flex;
    align-items: center;
    width: 100%;
    margin-bottom:10px;
}
.bar-txt-set .txt{
    width: 80px;
    font-size: 1.7rem;
    font-weight: bold;
    color: var(--acc-color);
    text-align: left;
}
.bar {
    position: relative;
    width: calc(100% - 80px);
    background: rgba(255, 255, 255, 0.1);
    height: 36px;
}
.bar .bar-info {
  background: var(--acc-color);
  color: white;
  width: 0%;
  position: relative;
  height: 36px;
    padding-right: 8px;
  transition: width 1.5s ease-in-out;
}
.bar .bar-info .percent-wrap {
    float: right;
    color: #fff;
    line-height: 1.4;
    font-size: 1.5rem;
    padding-top: 0.3em;
}

.numbers-bloc11 .rank,.numbers-bloc12 .rank{
    display: flex;
    text-align: left;
    justify-content: center;
    align-items:flex-end;
}
.numbers-bloc11 .rank{
    font-size: 1.8rem;
    line-height: 1.2;
    margin-bottom: 20px;
}
.numbers-bloc11 .rank .rank-num{
    width: 55px;
    padding-right: 10px;
}
.numbers-bloc11 .rank .rank-num .ff-en{
    font-size: 2.4rem;
}
.numbers-bloc11 .rank01{
    font-size: 2.2rem;
}
.numbers-bloc11 .rank01 .rank-num .ff-en{
    font-size: 2.9rem;
}
.numbers-bloc12 .rank{
    font-size: 2.2rem;
    line-height: 1.2;
    margin-bottom: 20px;
}
.numbers-bloc12 .rank .rank-num{
    width: 75px;
    padding-right: 20px;
}
.numbers-bloc12 .rank01{
    font-size: 2.9rem;
}
.numbers-bloc12 .rank01 .rank-num .ff-en{
    font-size: 3.8rem;
}

.fs-m{font-size: 2.2rem;}
.fs-l-3{font-size: 3.3rem}
.fs-l-4{font-size: 2.4rem}
.fs-per{font-size: 1.5rem;}
.fs-rank-s{font-size: 1.4rem;letter-spacing: 0.5px}
.fs-rank-m{font-size: 1.7rem;}
.fs-pie-s{font-size: 1.7rem;}
.fs-pie-ss{font-size: 1.6rem;}
.fs-pie-sss{font-size: 1.3rem;}
.fs-pie-xs{font-size: 1.2rem;}
.lh-pie{line-height: 1.2;}
.lh-pie2{margin-top: -5px;}
.lh-2line{line-height: 1.2;}



@media screen and (max-width:960px) {
    .list-numbers .numbers-bloc h3{
        font-size: 2.2rem;
        margin-top: 0.5em;
    }
    .list-numbers .numbers-bloc{
        width: 48.5%;
        margin-right: 3%;
        margin-bottom: 3%;
    }
    .list-numbers .numbers-bloc:nth-child(3n){
        margin-right: 3%;
    }
    .list-numbers .numbers-bloc:nth-child(2n){
        margin-right: 0;
    }
    .list-numbers .numbers-bloc h3::after{
        bottom:-.8em;
    }
    .bar-txt-set{
        margin-bottom: 15px;
    }
    .bar .bar-info .percent-wrap{
        padding-top: 0.4em;
    }
}
@media screen and (max-width:599px) {
    .list-numbers .numbers-bloc{
        padding: 4vw 5vw 5vw;
    }
    .list-numbers .numbers-bloc.numbers-bloc08{
        padding: 4vw 5vw 5vw;
    }
    .list-numbers{
        flex-direction: column;
    }
    .list-numbers .numbers-bloc{
        width: 100%;
        margin-right: 0;
        margin-bottom: 5%;
    }
    .list-numbers .numbers-bloc:last-child{
        margin-bottom: 0;
    }
    
    .numbers-bloc01 .bg-img{
        width: 50%;
        max-width: 120px;
        top:34%;
    }
    .numbers-bloc02 .bg-img{
        width: 70%;
        max-width: 280px;
        top:34%;
    }
    .numbers-bloc03 .bg-img{
        width: 72%;
        max-width: 200px;
        top:29%;
    }
    .numbers-bloc04 .bg-img{
        width: 71%;
        max-width: 200px;
        top:26%;
    }
    .numbers-bloc09 .bg-img{
        width: 73%;
        max-width: 225px;
        top:29%;
    }
    .numbers-bloc11 .bg-img{
        width: 74%;
        max-width: 226px;
        top:16%;
    }
    .numbers-bloc12 .bg-img{
        width: 73%;
        max-width: 226px;
        top:30%;
    }
    .numbers-bloc01 .numbers-txt-wrap, .numbers-bloc02 .numbers-txt-wrap, .numbers-bloc03 .numbers-txt-wrap {
        margin-top: 13%;
    }
    .numbers-txt-wrap{
        margin-top: 12%;
    }
    .numbers-bloc05 .numbers-txt-wrap,
    .numbers-bloc06 .numbers-txt-wrap{
        margin-top: 10%;
    }
    .numbers-bloc07 .numbers-txt-wrap {
        margin-top: 10%;
    }
    .numbers-bloc11 .numbers-txt-wrap,
    .numbers-bloc12 .numbers-txt-wrap{
        margin-top: 7%;
    }
    .numbers-bloc11 .rank{
        margin-bottom: 14px;
    }
    .numbers-bloc06 .numbers-txt,
    .numbers-bloc10 .numbers-txt,
    .numbers-bloc13 .numbers-txt{
        width: 100%;
        max-width: 245px;
        margin: auto;
    }
    .numbers-bloc07 p{
        margin-top: 1em!important;
    }
    #num-box7{
        top:9.5vw;
    }
}


/* =========================================================
ComingSoon
========================================================= */
.comingsoon a{
    pointer-events: none;
}
footer .comingsoon a{
    display: none;
}
.comingsoon a::after,.btm-link__list li.comingsoon a .txt::after{
    content: none;
}
.comingsoon .link-detail{
    border: solid 1px var(--acc-color);
    padding: 0.2em 0.4em 0.3em;
    margin-top: 0.6em;
}
.cs-txt{
    font-size: 1.3rem;
    margin-left: 1em;
    border: solid 1px var(--acc-color);
    padding: 0.1em 0.4em 0.2em;
}
/* =========================================================
IE,EDGE
========================================================= */
/* IE */
@media screen and (min-width: 0\0) and (min-resolution: 0.001dpcm) {
  .anim {
    opacity: 1; }

  .anim1 {
    opacity: 1; }

  .anim2 {
    opacity: 1; }

  .anim3 {
    opacity: 1; }

  .anim02 {
    opacity: 1; }

  .anim03 {
    opacity: 1; }

  .anim04 {
    opacity: 1; } }
@media all and (-ms-high-contrast: none) {
  .btn {
    padding-top: 15px; }

  .btn a::after {
    top: -3px; }

  .btn-waku {
    padding-top: 15px; }

  .btn-waku a::after {
    top: -2px; }
}

.table-midcareer .pc{display:table}
.table-midcareer .sp{display:none}
.h2ttl-midcareer{font-size:2.8rem}
.h2ttl-midcareer br{display:none}
.table-midcareer tr th,.table-midcareer tr td{border:#dbdbdb solid 1px !important}
.tableArea.table-midcareer table.pc tr th,.tableArea.table-midcareer table.pc tr td{width:25% !important;text-align:center;padding:1em;vertical-align:middle;display:table-cell !important}
@media(max-width:599px){
    .h2ttl-midcareer br{display:block}
    .h2ttl-midcareer{font-size:2.0rem}
    .table-midcareer .sp{display:table}
    .table-midcareer .pc{display:none}
    .tableArea.table-midcareer table.sp tr th,.tableArea.table-midcareer table.sp tr td{width:50% !important;border:#dbdbdb solid 1px !important;display:table-cell;text-align:center;padding:1.2em 1em}
}

/* =========================================================
add202502
========================================================= */
.footer {
    position: fixed;
    bottom: 0;
    right: 0;
    display: flex;
    color: white;
    text-align: center;
    align-items: stretch;
    max-width: 800px;
    width: 100%;
    margin-left: auto;
    z-index: 800;
  transition: transform 0.4s ease;
}
/* 上スクロール時：表示（デフォルト位置） */
.footer.DownMove {
  transform: translateY(0);
}

/* 下スクロール時：画面外へ退場 */
.footer.UpMove {
  transform: translateY(100%);
}

.footer > button,.footer a{
    width: 25%;
    height: 63px;
    transition: all 0.4s ease;
}
.footer a button{
    width: 100%;
    height: 100%;
    padding: 6px;
}
.footer button {
    flex: 1;
    padding: 6px;
    background: #335B9F;
    color: white;
    border: none;
    font-size: 1.4rem;
    cursor: pointer;
    line-height: 1.3;
}
.submenu a:hover{
    color: #335B9F;
    background: white;
    opacity: 1;
}
.footer a:hover{
       opacity: 1;
}
#newGradBtn button{background: #335B9F;border: solid 1px #335B9F;}
#specialBtn button{background: #93298F;border: solid 1px #93298F;}
#highschoolBtn button{background: #137B05;border: solid 1px #137B05;}
#midcareerBtn button{background: #A58D3E;border: solid 1px #A58D3E;}
#newGradBtn button:hover{
    color: #335B9F;
    background: white;
}
#specialBtn button:hover{
    color: #93298F;
    background: white;
}
#highschoolBtn button:hover{
    color: #137B05;
    background: white;
}
#midcareerBtn button:hover{
    color: #A58D3E;
    background: white;
}
.submenu {
    position: fixed;
    bottom: -150px;
    right: 0;
    width: 800px;
    display: flex;
    flex-direction: column;
    opacity: 0;
    transition: bottom 0.3s ease-out, opacity 0.3s ease-out;
    margin-left: auto;
    z-index: 799;
}
.submenu a {
    width: 200px;
    display: block;
    padding: 10px 4px;
    background: #335B9F;
    color: white;
    text-align: center;
    text-decoration: none;
    font-size: 1.4rem;
    margin-bottom: 2px;
    line-height: 1.3;
    transition: all 0.4s ease;
}

.submenu.show {
    bottom: 65px;
    opacity: 1;
}


.footer-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0
}
#newGradBtn span{font-size: 2rem}
@media screen and (max-width:767px) {
    .footer,.submenu{
        width: 100%;
    }
    .footer > button,.footer a,.submenu a {
        width: 25%;
    }
    .submenu a {
        padding: 8px 5px
    }
}

@media screen and (max-width:599px) {
    .footer button,.submenu a {
        font-size: 3vw
    }
    footer li a{font-size: 13px}
}

.btm-entry__btn .nohover,.list-recuit-btn .btn__entry .nohover,.btn__entry .nav-item_sub .nohover,.foot_list_sub .nohover,#submenu .nohover,.btn__entry-wrap-sp .nohover{
    pointer-events: none!important;
    opacity: .6;
    filter: grayscale(70%);
}
#specialBtn.nohover button{
    pointer-events: none!important;
    background: #bbb
}
 footer a.link__off{
    pointer-events: none;
    color: #aaa;
    opacity: .5;
}