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

 top.css

 ------------------------------------
-- */
@import url(https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&display=swap&subset=japanese);
@import url(https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap&subset=japanese);
/* --

 * clearfix............float解除
 * font-size...........フォントサイズ指定（px指定はIE8対策）
 * moving-base.........基本のアニメーション
 * FontAwesome.........アイコンフォント使用（FontAwesome）
 * opacity.............透明度設定（IE対応含む）
 * tablet..............ブレイクポイント設定（タブレット）
 * mobile..............ブレイクポイント設定（スマホ）

 ------------------------------------

 * scroll..............スクロールアイコンのスタイル


-- */
.company__hdg h4:after, .company__btn:after {
  content: "";
  display: table;
  clear: both; }

/* --

 keyframes - アニメーションキーフレーム集

 ------------------------------------

 * loading.............ローディングアイコンのアニメーション

-- */
@-webkit-keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0); }
  40% {
    -webkit-transform: scale(1); } }

@keyframes loading {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes slider-zoomin {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 9; }
  100% {
    opacity: 0; } }

@keyframes slider-zoomin {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    z-index: 9; }
  100% {
    opacity: 0; } }

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

	$mainvisual

-----------------------------------*/
.mainvisual .image {
  background-color: #ffffff; }
  .mainvisual .image img {
    width: 100%;
    height: auto;
    display: block; }

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

	$company

-----------------------------------*/
.company rt {
  zoom: .8; }

.company rp {
  font-size: 80%; }

.company dfn {
  font-style: normal;
  font-weight: 700; }

.company__ttl {
  background: #ddd;
  display: inline-block;
  width: auto;
  font-size: 20px;
  font-size: 2rem;
  padding: .5em 1.5em 0 3em;
  border-radius: 10px 10px 0 0;
  font-weight: 700;
  color: #000; }
  .company__ttl b {
    font-size: 30px;
    font-size: 3rem; }
  .first-day .company__ttl {
    background: #fff000; }
  .second-day .company__ttl {
    background: #2fbad0; }

.company__wrap {
  background: #ddd;
  padding: 2.4em; }
  .first-day .company__wrap {
    background: #fff000; }
  .second-day .company__wrap {
    background: #2fbad0; }

.company__unit {
  background: #fff;
  /*border-radius: 20px;*/
  padding: 2.4em; }
  .company__unit:not(:last-child) {
    margin-bottom: 2em; }
  .company__unit .lyt-img {
    padding-bottom: 1em; }
    .company__unit .lyt-img .image {
      width: 27%; }
      .company__unit .lyt-img .image img {
        display: block;
        margin: auto; }
    .company__unit .lyt-img .text {
      width: 70%; }

.company__time {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: 700;
  color: #000;
  padding: .1em 1em;
  border-radius: 10px;
  display: inline-block;
  width: auto;
  margin-bottom: .6em;
  background: #999; }
  .first-day .company__time {
    background: #fff000; }
  .second-day .company__time {
    background: #2fbad0; }

.company__hdg {
  display: table;
  width: 100%;
  padding-bottom: .6em;
  border-bottom: 2px solid #1d2a60;
  margin-bottom: 1.2em; }
  .company__hdg h4, .company__hdg p {
    display: table-cell; }
  .company__hdg h4 {
    width: 75%;
    vertical-align: text-bottom; }
  .company__hdg-no, .company__hdg-name, .company__hdg-type {
    font-weight: 700; }
  .company__hdg-no {
    font-size: 34px;
    font-size: 3.4rem;
    float: left;
    width: 8%; }
  .company__hdg-name {
    font-size: 30px;
    font-size: 3rem;
    float: left;
    width: 92%;
    border-left: 2px solid #1d2a60;
    padding-left: 2%; }
  .company__hdg-type {
    font-size: 20px;
    font-size: 2rem;
    text-align: right;
    vertical-align: middle; }

.company__detail {
  width: 100%;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  .company__detail li {
    display: table;
    width: 50%;
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.2; }
    .company__detail li:not(:last-child) {
      padding-bottom: .5em; }
    .company__detail li.address, .company__detail li.business {
      width: 100%; }
  .company__detail dfn, .company__detail p {
    display: table-cell;
    vertical-align: top; }
  .company__detail dfn {
    width: 6em;
    text-align: center; }
    .company__detail dfn span {
      background: #efeff2;
      display: block;
      border-radius: 6px;
      padding: .7em .2em .6em; }
  .company__detail p {
    padding: .7em 0 .6em .5em; }

.company__photo {
  width: 100%;
  display: -webkit-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  align-items: center;
  justify-content: center;}
  .company__photo .image {
    width: 32%;
    background-color: #efefef;
    align-items: center;}
    .company__photo .image:not(:first-child) {
      margin-left: 2%; }
    .company__photo .image img {
      display: block;
      margin: auto; }

.company__btn {
  width: 83%;
  margin: 3em auto 0; }
  .company__btn a {
    display: block;
    width: 100%;
    max-width: 400px;
    font-weight: 700;
    font-size: 24px;
    font-size: 2.4rem;
    text-align: center;
    padding: .5em;
    border-radius: 50px;
    border: 2px solid #1d2a60;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease; }
    .company__btn a i {
      margin-right: .2em; }
    .company__btn a:hover {
      background: #1d2a60; }
  .company__btn-back {
    width: 40%;
    float: none;
    margin: auto;}
    .first-day .company__btn-back a {
      color: #000;
      background-color: #fff000;
      border-color: #000; }
      .first-day .company__btn-back a:hover {
        opacity: 0.5; }
    .second-day .company__btn-back a {
      color: #000;
      background: #2fbad0;
      border-color: #000; }
      .second-day .company__btn-back a:hover {
        opacity: 0.5; }

.recruit__ttl {
  font-size: 24px;
  font-size: 2.4rem;
  padding-bottom: .2em;
  margin-bottom: 1em;
  font-weight: 700;
  border-bottom: 2px solid #ccc; }
  .first-day .recruit__ttl {
    color: #000;
    border-color: #000; }
  .second-day .recruit__ttl {
    color: #000;
    border-color: #000; }

.recruit__detail {
  padding-bottom: 1.8em; }
  .recruit__detail li {
    display: table;
    width: 100%; }
    .recruit__detail li:not(:last-child) {
      padding-bottom: .5em; }
  .recruit__detail dfn, .recruit__detail p {
    display: table-cell;
    vertical-align: top; }
  .recruit__detail dfn {
    width: 14em;
    text-align: center; }
    .recruit__detail dfn span {
      background: #efeff2;
      display: block;
      border-radius: 6px;
      padding: .7em .2em .6em; }
      .first-day .recruit__detail dfn span {
        background: #fffddf; }
      .second-day .recruit__detail dfn span {
        background: #ebf8f9; }
  .recruit__detail p {
    padding: .7em 0 .6em 1em; }

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

	$company

-----------------------------------*/
@media screen and (max-width: 1024px) {
  .company__ttl {
    font-size: 18px;
    font-size: 1.8rem;
    padding: .5em 1.5em 0 1.8em; }
    .company__ttl b {
      font-size: 28px;
      font-size: 2.8rem; }
  .company__wrap {
    padding: 1.8em; }
  .company__unit {
    padding: 1.8em; }
    .company__unit .lyt-img .image {
      width: 38%; }
    .company__unit .lyt-img .text {
      width: 60%; }
  .company__time {
    font-size: 20px;
    font-size: 2rem; }
  .company__hdg-no {
    font-size: 26px;
    font-size: 2.6rem; }
  .company__hdg-name {
    font-size: 22px;
    font-size: 2.2rem; }
  .company__hdg-type {
    font-size: 16px;
    font-size: 1.6rem; }
  .company__detail {
    display: block; }
    .company__detail li {
      width: 100%; }
    .company__detail dfn {
      width: 8em; }
  .company__btn {
    width: 100%; }
    .company__btn a {
      font-size: 20px;
      font-size: 2rem; } }

@media screen and (max-width: 768px) {
  .company__wrap {
    padding: 1.2em; }
  .company__unit {
    padding: 1.2em; }
    .company__unit .lyt-img .image,
    .company__unit .lyt-img .text {
      width: 100%;
      float: none; }
    .company__unit .lyt-img .image {
      padding-bottom: 2em; }
  .company__hdg {
    display: block;
    border-bottom: none;
    padding-bottom: 1em;
    margin-bottom: 0; }
    .company__hdg h4, .company__hdg p {
      display: block; }
    .company__hdg h4 {
      width: 100%;
      padding-bottom: .5em; }
    .company__hdg-no {
      font-size: 24px;
      font-size: 2.4rem;
      width: 10%; }
    .company__hdg-name {
      font-size: 20px;
      font-size: 2rem;
      width: 90%;
      padding-left: 5%; }
    .company__hdg-type {
      border-top: 1px solid #1d2a60;
      border-bottom: 1px solid #1d2a60;
      padding: .8em 0 .5em;
      text-align: center; }
  .company__detail dfn {
    width: 36%; }
  .company__detail p {
    padding-left: 2%; }
  .company__btn a {
    font-size: 18px;
    font-size: 1.8rem;
    margin: auto; }
  .company__btn-movie, .company__btn-back {
    width: 100%;
    float: none; }
  .company__btn-movie {
    padding-bottom: .8em; }
    .company__btn-movie a {
      float: none; }
  .recruit__ttl {
    font-size: 20px;
    font-size: 2rem; }
  .recruit__detail dfn {
    width: 36%; }
  .recruit__detail p {
    padding-left: 2%; } }

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

	$company

-----------------------------------*/
@media screen and (max-width: 640px) {
  .company__time {
    font-size: 18px;
    font-size: 1.8rem; }
  .company__hdg h4 {
    line-height: 1.8; }
  .company__hdg-no, .company__hdg-name {
    float: none; }
  .company__hdg-no {
    display: inline-block;
    border: 1px solid #1d2a60;
    width: auto;
    padding: 0 .5em;
    font-size: 18px;
    font-size: 1.8rem; }
  .company__hdg-name {
    border-left: none;
    padding-left: .5em;
    display: inline; }
  .company__btn {
    margin-top: 5%; }
  .company__detail li {
    display: block; }
  .company__detail dfn, .company__detail p {
    width: 100%;
    display: block;
    text-align: left; }
  .company__detail dfn span {
    padding: .5em 1em; }
  .company__photo {
    display: block; }
    .company__photo .image {
      width: 100%; }
      .company__photo .image img {
        margin: auto; }
      .company__photo .image:not(:first-child) {
        margin-left: 0;
        margin-top: 5%; }
  .recruit__detail {
    padding-bottom: 5%; }
    .recruit__detail li {
      display: block; }
    .recruit__detail dfn, .recruit__detail p {
      width: 100%;
      display: block;
      text-align: left; }
    .recruit__detail dfn span {
      padding: .5em 1em; } }
