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

body {
    font-family:'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 400;
    /*font-weight: 100; Thin
    font-weight: 300; Light
    font-weight: 400; Regular
    font-weight: 500; Medium
    font-weight: 700; Bold
    font-weight: 900; Black*/
    font-size: 18px;
    color: #333;
    text-align: left;
    line-height: 1.5em;
}

@media screen and (max-width: 780px) {
    body {
        font-size: 90%;
    }
}

a {
    transition-property: background;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}

.f-Thin {font-weight: 100;}
.f-Light {font-weight: 300;}
.f-Medium {font-weight: 500;}
.f-Bold {font-weight: 700;}
.f-Black {font-weight: 900;}

.f_kosugi {
    font-family: 'Kosugi', sans-serif;
}

.f-Blue1 {color: #000080 !important;}
.f-Blue2 {color: #004EAB !important;}

/*a:hover {
    opacity: 0.75;
}*/

.img-responsive {
	display:inline-block !important;
	/*display:block;*/
	height:auto;
	max-width:100%
}

/*--------------------------------------------------------------------
　uikit_cssリセット
 --------------------------------------------------------------------*/
ol,
ul {
    padding-left: 0 !important;
    list-style: none;
}

/*--------------------------------------------------------------------
　グローバルメニュー
 --------------------------------------------------------------------*/
 
/*PCメニュー*/

header {
  /*background: #fff;*/
  display: flex;
  flex-flow: row wrap;
  /*padding: 20px 30px;*/
  position: relative;
  z-index: 400;
}
header h1 {
  margin-right: auto;
  margin-bottom: 0;
  padding: 15px 15px 0;
}
header h1 img {
    width: 320px;
}


header #navi {
  /*margin-top: 10px;*/
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  list-style: none;
  margin-bottom: 0;
}
header #navi li {
  margin: 0;
  line-height: 100%;
}
header #navi li a {
  color: #000;
  text-decoration: none;
  padding: 1em 15px;
  text-align: center;
  line-height: 1em;
  font-weight: 900;
  font-size: 23px;
  color: #004EAB;
  display: inline-block;
}
header #navi li a span {
    display: block;
    font-size: 50%;
     font-family: 'Kosugi', sans-serif;
     letter-spacing: 1px;
     color: #333;
}

header #entry > a {
    background: #000080;
    display: block;
    color: #FFF !important;
    padding: 1em 1.5em !important;
}
header #entry > a span {
    color: #FFF !important;
}
header #entry .intern:before {
    content: "インターンシップ";
    display: block;
    /*margin-top: 1em;
    margin-bottom: 10px;*/
    text-align: center;
    background: #004EAB;
    font-size: 15px;
    font-weight: 700;
    color: #FFF;
    padding: 5px;
}

/*PCメニュー*/
/*SPメニュー*/
@media screen and (max-width: 1060px) {
    header h1 {
        padding: 7px;
    }
    header h1 img {
        width: 200px;
    }

  /* bager menu */
  header #navi {
    transition: all 0.6s;
    overflow-y: auto;
    padding-top: 40px;
    padding-left: 0;
    width: 300px;
    height: 100vh;
    z-index: 200;
    top: 0;
    right: -320px;
    background-color: #fff;
    position: fixed;
    flex-direction: column;
    align-items: baseline;
  }
  header #navi li {
    /*padding: 10px;*/
    position: relative;
    width: 100%;
  }
  header #navi li a {
      box-sizing: border-box;
      display: block;
      width: 100%;
      text-align: left;
  }
  
  header #navi li a span {
      display: inline;
      padding-left: 1em;
      padding-bottom: 10px;
  }
  header .nav_btn {
    width: 44px;
    height: 44px;
    z-index: 300;
    top: 7px;
    right: 7px;
    cursor: pointer;
    position: absolute;
  }
  .hamburger_line {
    transition: all 0.6s;
    width: 34px;
    height: 2px;
    left: 5px;
    background-color: #000;
    position: absolute;
  }
  .hamburger_line1 {
    top: 10px;
  }
  .hamburger_line2 {
    top: 21px;
  }
  .hamburger_line3 {
    top: 32px;
  }
  .nav_bg {
    opacity: 0;
    transition: all 0.6s;
    width: 100vw;
    height: 100vh;
    z-index: 100;
    top: 0;
    left: 0;
    visibility: hidden;
    background-color: #000;
    cursor: pointer;
    position: fixed;
  }
  /* 表示された時用のCSS */
  .nav_open #navi {
    right: 0;
  }
  .nav_open .nav_bg {
    opacity: 0.8;
    visibility: visible;
  }
  .nav_open .hamburger_line1 {
    transform: rotate(45deg);
    top: 20px;
  }
  .nav_open .hamburger_line2 {
    width: 0;
    left: 50%;
  }
  .nav_open .hamburger_line3 {
    transform: rotate(-45deg);
    top: 20px;
  }
}

/*多階層メニュー*/
.toggle a {
    display:block;
    cursor:pointer;
}

.toggle_menu {
    display: none;
    position: absolute;
    margin: 10px 0;
    white-space: nowrap;
    list-style: none;
    padding-left: 0;
    background: rgba(255,255,255,0.75);
}
.toggle_menu a {
    text-align: left !important;
    font-weight: 400 !important;
    font-size: 15px !important;
    padding: 15px 10px !important;
}

#entry .toggle_menu {
    right: 0;
}

@media screen and (max-width: 780px) {
    header #navi li a span {
        letter-spacing: 0;
    }
    .toggle_menu {
        position: relative;
        font-size: 85%;
    }
    .toggle a {
        text-align: left !important;
    }
    .toggle > a:after {
        content: "";
        background: url(https://icongr.am/material/chevron-down.svg?size=128&color=currentColor) no-repeat bottom right;
        background-size: contain;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin-left: 5px;
        float: right;
    }
    .toggle > a.open:after {
        content: "";
        background: url(https://icongr.am/material/chevron-up.svg?size=128&color=currentColor) no-repeat bottom right;
        background-size: contain;
        display: inline-block;
        width: 20px;
        height: 20px;
        margin-left: 5px;
        float: right;
    }
}

/*--------------------------------------------------------------------
　メイン
 --------------------------------------------------------------------*/
 #main {
     width: 100%;
     transition: ease 0.5s;
     font-family: Arial,'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
 }
 
#container {
    max-width: 1100px;
    margin: 0 auto 5em;
    font-family: Arial,'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}

.section01 {
    margin-bottom: 6em;
}

.inner1100 {
    max-width: 1100px;
    margin: 0 auto 5em;
}
.inner1050 {
    max-width: 1050px;
    margin: 0 auto 5em;
}

.inner1000 {
    max-width: 1000px;
    margin: 0 auto 5em;
}
.inner970 {
    max-width: 970px;
    margin: 0 auto;
}

@media screen and (max-width: 780px) {
    #container {
        padding: 1em;
    }
    .section01 {
        box-sizing: border-box;
        margin-bottom: 3em;
    }
    .inner1100,
    .inner970{
        margin-bottom: 3em;
        padding: 10px;
        box-sizing: border-box;
    }
}


/*--------------------------------------------------------------------
　パンくず
 --------------------------------------------------------------------*/
#breadcrumbList {
    display: flex;
    font-size: 16px;
    max-width: 1100px;
    margin: 0 auto;
    padding-bottom: 1em;
    list-style: none;
}
#breadcrumbList a {
    color: #666;
    font-weight: 500;
}
#breadcrumbList li {
    color: #004EAB;
    font-weight: 700;
}
@media screen and (max-width: 780px) {
    #breadcrumbList {
        margin: 0 1em;
        flex-wrap: wrap;
        font-size: 13px;
    }
}


/*--------------------------------------------------------------------
　h2-h4
 --------------------------------------------------------------------*/
.pageTit h2 {
    color: #004EAB;
    font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 900;
    font-size: 58px;
    /*max-width: 1100px;
    margin: 0 auto;*/
    padding: 2.5em 0;
    background-size: cover;
}
.pageTit h2.torigin {
background: url(../../common/img/h2_torigin.png) no-repeat top center;
background-size: cover;}
.pageTit h2.recruit {
background: url(../../common/img/h2_recruit.png) no-repeat top center;
background-size: cover;}
.pageTit h2.works {
background: url(../../common/img/h2_works.png) no-repeat top center;
background-size: cover;}
.pageTit h2.movie {
background: url(../../common/img/h2_movie.png) no-repeat top center;
background-size: cover;}

.pageTit h2:before {
    content: "";
    background: #004EAB;
    display: inline-block;
    width: 1.5em;
    height: 4px;
    line-height: 1em;
    margin-bottom: 0.35em;
    margin-right: 7px;
}
.pageTit h2 span {
    color: #333;
    font-weight: 700;
    font-size: 50%;
    padding-left: 0.5em;
}

.h3_recruit {
    font-size: 32px;
    font-weight: 700;
    color: #000080;
    text-align: center;
    margin: 2em 10px 1em;
    letter-spacing: 0.5px;
}

.h4_recruit {
    font-size: 24px;
    font-weight: 700;
    font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    background: #E1F0FF;
    text-align: center;
    color: #003E90;
    padding: 0.8em;
    margin-bottom: 1.5em;
}

@media screen and (max-width: 780px) {
    .pageTit h2 {
        font-size: 30px;
        padding: 2em 0;
    }
    .pageTit h2:before {
        width: 0.5em;
    }
    .pageTit h2 span {
        display: block;
        margin-left: 1em;
    }
    
    .h3_recruit {
        font-size: 24px;
    }
    .h4_recruit {
        font-size: 21px;
        margin-bottom: 15px;
    }
}

/*--------------------------------------------------------------------
　サブメニュー
 --------------------------------------------------------------------*/
#submenu {
    background: #004EAB;
    padding: 1.75em 1em;
    margin-bottom: 4em;
    font-family: 'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
}
#submenu ul {
    display: flex;
    max-width: 1100px;
    margin: 0 auto;
    
}
#submenu a {
    color: #FFF;
    text-decoration: underline;
    margin-right: 1.5em;
}
#submenu a:after {
    content: "";
    background: url(../../common/img/ico01.svg) no-repeat bottom center;
    background-size: contain;
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 7px;
}

@media screen and (max-width: 780px) {
    #submenu ul {
        flex-wrap: wrap;
    }
    #submenu li {
        width: 50%;
        font-size: 95%;
    }
}

/*--------------------------------------------------------------------
　 テーブル
 --------------------------------------------------------------------*/
 /*uikit_css調整*/
.uk-table {
    border-top: 1px solid #e5e5e5;
    border-bottom: 1px solid #e5e5e5;
}
.uk-table-divider th {
    background: #F5F5F5;
    color: #000080 !important;
    font-weight: 700 !important;
    font-size: 18px !important;
    padding: 1.2em !important;
    vertical-align: top !important;
    white-space: nowrap;
}
.uk-table-divider td {
    padding: 1.2em !important;
}

.uk-table th.bg-Blue {
    background: #004EAB !important;
    color: #FFF !important;
    padding: 1em!important;
    letter-spacing: 1px;
}
.uk-table th.bg-Green {
    background: #00B97B !important;
    color: #FFF !important;
    padding: 1em !important;
    letter-spacing: 1px;
}
.uk-table td.bg-Yellow {
    background: #FFFFE1;
}

.uk-table .border-R {
    border-right: 1px solid #e5e5e5;
}

.uk-table-striped {
    border-top: none !important;
}
.uk-table-striped  th{
    color: #000080 !important;
    font-weight: 700 !important;
    font-size: 100% !important;
}

@media screen and (max-width: 780px) {
    .uk-table-divider th {
        white-space: normal;
    }
}

/*--------------------------------------------------------------------
　共通ボタン
 --------------------------------------------------------------------*/
a.cmn_btn01{
  background: linear-gradient(45deg, #000080, #004EAB 60%);
  color:#fff;
  border:none;
  position:relative;
  height:60px;
  font-size:22px;
font-weight: 700;
  padding:1em 5em;
  cursor:pointer;
  transition:800ms ease all;
  outline:none;
  letter-spacing: 1px;
}
a.cmn_btn01:hover{
  background:#fff;
  color:#000080;
  text-decoration: none;
}
a.cmn_btn01:before,
a.cmn_btn01:after{
  content:'';
  position:absolute;
  top:0;
  right:0;
  height:3px;
  width:0;
  background: linear-gradient(45deg, #000080, #004EAB 55%);
  transition:400ms ease all;
}
a.cmn_btn01:after{
  right:inherit;
  top:inherit;
  left:0;
  bottom:0;
}
a.cmn_btn01:hover:before,
a.cmn_btn01:hover:after{
  width:100%;
  transition:800ms ease all;
}

@media screen and (max-width: 780px) {
    a.cmn_btn01 {
        padding: 1em;
        margin-right: 1em;
        width: 100%;
        text-align: center;
        font-size: 20px;
    }
}



/*--------------------------------------------------------------------
　リスト
 --------------------------------------------------------------------*/
 
.liststyle1 li {
    text-indent: -1.2em;
    padding-left: 1.2em;
    margin-bottom: 5px;
}
.liststyle1 li:before {
    content: "●";
    margin-right: 0.2em;
    color: #004EAB;
}

/*--------------------------------------------------------------------
　フッター
 --------------------------------------------------------------------*/
 #entry_box {
     margin-bottom: 2.5em;
     font-family: Arial,'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
 }
 #entry_box p {
     font-size: 38px;
     font-weight: 900;
     color: #FFF;
     margin-bottom: 30px;
     line-height: 1em;
 }
 #entry_box .tsujyo_entry {
     background: #000080;
     padding: 3em;
 }
 #entry_box .intern_entry{
     background: #004EAB;
     padding: 3em;
 }
 #entry_box .tsujyo_entry a {
     display: block;
      padding: 1.2em;
      font-size: 22px;
      background: linear-gradient(to right, #FFF 50%, #000080 50%);
      background-size: 200% 100.5%;
      background-position: right bottom;
      color: #FFF;
      border: 3px solid #FFF;
      /*border-left: 0.20em solid #e66465;*/
      border-color: none;
      box-shadow: 3px 3px 2px rgba(0,0,0,0.08);
      transition: all .5s ease-out;
      margin-bottom: 15px;
 }
 #entry_box .tsujyo_entry a:hover {
 background-position: left bottom;
 color: #000080;
 text-decoration: none;
 }
  #entry_box .intern_entry a {
     display: block;
      padding: 1.2em;
      font-size: 22px;
      background: linear-gradient(to right, #FFF 50%, #004EAB 50%);
      background-size: 200% 100.5%;
      background-position: right bottom;
      color: #FFF;
      border: 3px solid #FFF;
      /*border-left: 0.20em solid #e66465;*/
      border-color: none;
      box-shadow: 3px 3px 2px rgba(0,0,0,0.08);
      transition: all .5s ease-out;
      margin-bottom: 15px;
 }
 #entry_box .intern_entry a:hover {
 background-position: left bottom;
 color: #004EAB;
 text-decoration: none;
 }

/*comingsoon（リンク決定前）*/
.comingsoon .hover-parent {
	position: relative;
	font-size: 22px;
	margin: 0 0 10px 0 !important;
}
.comingsoon .hover-parent a {
	color: #FFF;
}
.comingsoon .hover-mask {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	background: rgba(255,255,255,0.85);
	opacity: 0;
	padding: 1.2em;
    font-weight: 700;
    transition-property: color, background, opacity;
    transition-duration: 0.3s;
    transition-timing-function: ease-out;
}
.comingsoon .hover-parent:hover .hover-mask {
	opacity: 1;
	cursor: pointer;
	color: #004EAB;
}

 


 @media screen and (max-width: 780px) {
     #entry_box p {
         margin-bottom: 10px;
     }
      #entry_box .tsujyo_entry,
      #entry_box .intern_entry,
	  #entry_box .comingsoon {
          padding: 3em 1em;
      }
      #entry_box .tsujyo_entry a,
      #entry_box .intern_entry a{
          font-size: 18px;
      }
 }
 
 footer {
     text-align: center;
     font-size: 16px;
     font-family: Arial,'Noto Sans JP',"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
 }
 
 footer a.f-logo {
     color: #004EAB;
     text-decoration: none;
     font-size: 22px;
     letter-spacing: 1.5px;
 }
 
 footer img {
     width: 375px;
     border-bottom: 1px solid #000080;
     display: inline-block;
     padding-bottom: 10px;
     margin-bottom: 10px;
 }
 
 footer .contact {
     margin: 2em 1em;
     line-height: 1.8em;
 }
 
 footer .copyright {
     background: #D0D0D0;
     padding: 1em;
     display: flex;
     justify-content: space-between;
 }
 footer .hplink {
     display: none;
 }
 
 @media screen and (max-width: 780px) {
    footer a.f-logo {
        padding: 10px;
        font-size: 90%;
    }
    footer img {
        width: 270px;
    }
    footer .copyright a {
        display: none;
    }
    footer .hplink {
        display: block;
        margin-top: 10px;
    }
 }
 

/* page-top */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
	z-index:100;
	font-size:12px;
    display: none;
}

#page-top a {
    background: #001DCD;
    text-decoration: none;
    color: #fff;
    width: 70px;
    text-align: center;
    display: block;
    border-radius:35px;
	-webkit-border-radius:35px;
	-moz-border-radius:35px;
	filter:alpha(opacity=80);
    -moz-opacity: 0.8;
    opacity: 0.8;
	display: table-cell;
	vertical-align: middle;
	height: 70px;
	line-height:140%;
	behavior: url("/common/js/PIE.htc");
	position:relative;
}

#page-top a:hover {
    text-decoration: none;
	filter:alpha(opacity=60);
    -moz-opacity: 0.6;
    opacity: 0.6;
}

@media only screen and (max-width: 768px) {
	#page-top {
		bottom:0 !important;
		right:0;
	}
	#page-top a {
		border-radius:0;
		font-weight:bold;
	}
}

