@charset "UTF-8";
/* 初期設定 */
/* 共通 */
/* フォントサイズ10px */
html {
  font-size: 62.5%;
}

/* 基本 */
body {
  font-size: 1.6rem;
  font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro W3", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", sans-serif;
  color: #000;
  line-height: 1.5;
  letter-spacing: 0.05em;
}

.inner {
  width: 100%;
  max-width: 1250px;
  margin: 0 auto;
  padding: 0 25px;
}

.br-sp {
  display: none;
}

.fixed {
  position: fixed;
}

.mt-20 {
  margin-top: 20px;
}

.modal {
	display: none;
}

/* フェードインアニメーション */
.fadein {
  opacity: 0;
  transform: translate(0, 50px);
  transition: all 0.7s;
}

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

/* 詳しくみるボタン */
.btn__more {
  color: #008cbb;
  font-weight: 700;
  border: 1px solid #008cbb;
  border-radius: 4px;
  display: inline-block;
  width: 100%;
  max-width: 300px;
  padding: 18px 10px;
  text-align: center;
  position: relative;
  z-index: 1;
  overflow: hidden;
  transition: .3s;
  background: transparent;
}

.btn__more::before,
.btn__more::after {
  content: "";
  width: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
  transition: transform ease .3s;
}

.btn__more::before {
  right: 0;
  border-right: 60px solid transparent;
  border-bottom: 60px solid #008cbb;
  transform: translateX(-100%);
}

.btn__more::after {
  left: 0;
  border-left: 60px solid transparent;
  border-top: 60px solid #333;
  transform: translateX(100%);
}

.btn__more:hover {
  color: #fff;
}

.btn__more:hover::before {
  transform: translateX(-36%);
}

.btn__more:hover::after {
  transform: translateX(36%);
}

/* お問い合わせボタン */
.btn__contact--cta {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  background-color: #008cbb;
  display: inline-block;
  width: 44.782609%;
  max-width: 515px;
  padding: 25px 10px;
  border-radius: 4px;
  margin-top: 43px;
}

.btn__contact--cta:hover {
  background-color: #fff;
  color: #008cbb;
  transition: .3s;
}

/* 応募するボタン */
.btn__entry--link {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  color: #fff;
  background-color: #008cbb;
  display: inline-block;
  width: 44.782609%;
  max-width: 459px;
  padding: 22px 10px;
  border-radius: 4px;
  text-align: center;
}

.btn__entry--link:hover {
  opacity: 0.5;
}

/* アイキャッチ */
.eyecatch {
  position: relative;
  margin-top: 80px;
}

.eyecatch__img {
  width: 100%;
  height: auto;
}

.eyecatch__img-tab {
  display: none;
}

.page__title {
  width: 100%;
  max-width: 1200px;
  font-size: 4.8rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.5;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
}

.page__title::first-letter {
  color: #00009c;
  text-transform: uppercase;
}

/* セクションタイトル */
.page-section__title {
  font-size: 4rem;
  font-weight: 700;
}

/* 表テーブル */
.table {
  font-family: "Noto Sans JP", sans-serif;
}

.table dl {
  display: flex;
  flex-wrap: wrap;
}

.table dt {
  width: 17.5%;
  max-width: 210px;
  font-weight: 700;
}

.table dd {
  width: 82.5%;
  max-width: 990px;
  font-size: 1.8rem;
  font-weight: 400;
}

/* 電話のリンク */
.tell {
  color: #1571DA;
}

/* メールアドレスのリンク */
.mail-address {
  color: #1571DA;
}

/* ローディング後のアニメーション */
/* Loading背景画面設定　*/
#splash {
  /*fixedで全面に固定*/
  position: fixed;
  z-index: 1002;
  width: 100%;
  height: 100vh;
  background: #fff;
  text-align: center;
  overflow: hidden;
}

/* Loading画像中央配置　*/
#splash_logo {
  width: 100%;
  height: 100%;
  position: relative;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
  height: 100%;
  position: absolute;
  left: 0;
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  border: none;
}

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

/*画面遷移アニメーション*/
.splashbg {
  display: none;
}

/*トップページにappearクラスがついたら出現*/
.home.appear .splashbg {
  display: block;
  content: "";
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  transform: scaleY(0);
}
.home.appear .splashbg--blue {
  position: fixed;
  z-index: 1003;
  background-color: #008cbb;
  animation-name: PageAnimeBlue;
  animation-delay: 6s;
  animation-duration: 1.5s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
}

@keyframes PageAnimeBlue {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  33% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
  33.001% {
    transform-origin: top;
  }
  100% {
    transform-origin: top;
    transform: scaleY(0);
  }
}
.home.appear .splash--img {
  position: absolute;
  z-index: 1;
  animation-name: PageAnimeImg;
  animation-delay: 6s;
  animation-duration: 0.4s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}
@keyframes PageAnimeImg {
  0% {
    transform-origin: bottom;
    transform: scaleY(0);
  }
  100% {
    transform-origin: bottom;
    transform: scaleY(1);
  }
}

.home main {
  opacity: 0;
  /*トップページのはじめは透過0に*/
}

/*トップページにappearクラスがついたら出現*/
.home.appear main {
  animation-name: PageAnimeAppear;
  animation-delay: 6.1s;
  animation-duration: 0.1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes PageAnimeAppear {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* 下から上に出現するテキストアニメーション */
span.smoothText {
  overflow: hidden;
  display: block;
}

span.smoothTextTrigger {
  transition: .8s ease-in-out;
  transform: translate3d(0, 100%, 0) skewY(12deg);
  transform-origin: left;
  display: block;
}

span.smoothTextTrigger.smoothTextAppear {
  transform: translate3d(0, 0, 0) skewY(0);
}

/* メインビューテキストアニメーション */
.slide-in {
  overflow: hidden;
  display: inline-block;
}

.slide-in_inner {
  display: inline-block;
}

/* 左右のアニメーション */
.leftAnime {
  opacity: 0;
  /*事前に透過0にして消しておく*/
}

.slideAnimeLeftRight {
  animation-name: slideTextX100;
  animation-delay: 0.2s;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX100 {
  from {
    transform: translateX(-100%);
    /*要素を左の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
} 

.slideAnimeRightLeft {
  animation-name: slideTextX-100;
  animation-duration: 0.8s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes slideTextX-100 {
  from {
    transform: translateX(100%);
    /*要素を右の枠外に移動*/
    opacity: 0;
  }
  to {
    transform: translateX(0);
    /*要素を元の位置に移動*/
    opacity: 1;
  }
}

/* ヘッダー */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 80px;
  padding: 0 25px;
  background-color: #fff;
}

.header__contents {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: inherit;
}

.header__company-logo {
  width: 110px;
  height: auto;
}

.header__company-logo-link {
  display: block;
  width: 100%;
  height: 100%;
}

.header__nav {
  display: inline-block;
}

.header__nav-list {
  display: flex;
  align-items: center;
}

.header__nav-item {
  display: inline-block;
  width: 100%;
  height: inherit;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.03em;
}

.header__nav-item:hover {
  color: #008cbb;
}

.header__nav-item:not(:first-child) {
  margin-left: 25px;
}

.header__nav-item a {
  display: block;
  width: 100%;
  height: inherit;
}

.burger-menu {
  display: none;
}

/* フッター */
.footer {
  text-align: center;
  position: absolute;
  background-color: #efefef;
  width: 100%;
}

.footer_contents {
  padding-top: 85px;
  padding-bottom: 60px;
}

.footer__company-logo {
  width: 200px;
  margin: 0 auto;
}

.footer__company-logo-link {
  display: block;
  width: 100%;
  height: 100%;
}

.footer__nav {
  margin-top: 30px;
}

.footer__nav-list {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: center;
}

.footer__nav-item {
  font-weight: 400;
}

.footer__nav-item:hover {
  color: #008cbb;
}

.footer__nav-item:not(:first-child) {
  margin-left: 15px;
}

.copyright {
  display: block;
  font-size: 1.2rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  margin-top: 30px;
}

/* CTAセクション */
.cta {
  padding: 100px 0;
  text-align: center;
  background-color: #00009C;
  color: #fff;
}

.cta__title {
  font-size: 2rem;
  font-weight: 700;
}

.cta__catch {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.5;
  margin-top: 4px;
}

.btn__contact {
  margin-top: 46px;
}

/* snsセクション */
.sns {
  background-color: #fff;
  padding-top: 50px;
  padding-bottom: 50px;
}
.sns__list {
  text-align: center;
}
.sns__item {
  display: inline-block;
  transform: .5s;
}
.sns__item:hover {
  opacity: .6;
  transform: .5s;
}
.sns__icon {
  width: 22px;
  height: 22px;
  margin: 0 auto;
}
.sns__icon svg {
  display: inline-flex;
  align-items: center;
}
.sns__text {
  font-size: 1.4rem;
  color: #666;
  text-align: center;
  margin-top: 5px;
}


/* トップページ */
.main-view {
  height: 200vh;
}

.main-view__inner {
  position: relative;
}

.main-view__img {
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: -2;
  top: 0;
}

.main-view__img video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-view__copy {
  width: 100%;
  padding: 0 60px;
  font-size: 11.3rem;
  font-weight: 700;
  color: #fff;
  line-height: 1.0177;
  letter-spacing: 0.05em;
  position: absolute;
  top: 20%;
  transform: translate(-50%, -50%);
  display: inline-block;
}

.main-view__copy span {
  display: inline-block;
  padding-bottom: 0.5em;
}

.overlay {
  width: 100%;
  padding-top: 100vh;
  padding-bottom: 100vh;
  background-color: #000;
  opacity: 0;
}

.main-view__scroll {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  position: absolute;
  bottom: 50%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  padding-bottom: 15px;
}

.main-view__scroll-mark {
  display: block;
}

.bg-black {
  content: "";
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 75%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-sub-copy {
  color: #fff;
  position: absolute;
  width: 100%;
  text-align: center;
  vertical-align: middle;
  top: 75%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: inline-block;
  height: 100vh;
}

.top-sub-copy .inner {
  height: 100%;
  position: relative;
}

.top-sub-copy__contents {
  max-width: 504px;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-sub-copy__text {
  font-size: 1.8rem;
  line-height: 1.94444;
  font-weight: 400;
}

.top-sub-copy__company-name {
  font-size: 5rem;
  font-weight: 400;
  text-transform: uppercase;
  margin-top: 76px;
  margin-bottom: 18px;
}

.top-company,
.top-recruit,
.top-contact {
  overflow: hidden;
  background-color: #fff;
}

.top-company,
.top-recruit {
  position: sticky;
  position: -webkit-sticky;
  /* Safari用 */
  top: 0;
  z-index: -2;
  padding: 145px 0 100px;
}

.top-contact {
  z-index: 1;
  padding: 100px 0;
}

.top-company__contents,
.top-recruit__contents,
.top-contact__contents {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
}

.top-company__text-box,
.top-recruit__text-box,
.top-contact__text-box {
  width: 80%;
  max-width: 600px;
  margin-top: 60px;
  padding-left: 20px;
}

.top-company__title,
.top-recruit__title,
.top-contact__title {
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.5em;
  position: relative;
}

.top-company__title--en {
  color: #008cbb;
  font-size: 7.2rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  position: absolute;
  top: -102px;
  left: -15px;
}

.top-recruit__title--en {
  color: #008cbb;
  font-size: 7.2rem;
  font-weight: 700;
  letter-spacing: initial;
  position: absolute;
  top: -90px;
  left: -15px;
}

.top-contact__title--en {
  color: #008cbb;
  font-size: 7.2rem;
  font-weight: 700;
  letter-spacing: initial;
  position: absolute;
  top: -90px;
  left: -15px;
}

.btn__more--top-company,
.btn__more--top-recruit,
.btn__more--top-contact {
  margin-top: 50px;
}

/* 会社概要ページ */
.company-page-section__text {
  font-size: 3.6rem;
  width: 80%;
  max-width: 960px;
  margin: 80px auto 0;
}

/* 経営理念 */
.philosophy {
  margin-top: 100px;
}

/* わたしたちの使命 */
.mission {
  margin-top: 80px;
}

/* 行動指針 */
.guidelines {
  margin-top: 80px;
}

.guidelines__text--en {
  font-variant-east-asian: full-width;
  -moz-font-feature-settings: "fwid";
  -webkit-font-feature-settings: "fwid";
  font-feature-settings: "fwid";
}

.guidelines__text--ja {
  display: block;
  padding-left: 3em;
}

/* 会社概要 */
.overview {
  margin-top: 80px;
}

.overview__table dl {
  margin-top: 35px;
  border-top: 1px solid rgba(204, 204, 204, 0.5);
}

.overview__table dt,
.overview__table dd {
  padding: 20px 0;
  border-bottom: 1px solid rgba(204, 204, 204, 0.5);
}

/* アクセス */
.access {
  margin-top: 50px;
  margin-bottom: 95px;
}

.google-map:first-of-type {
  margin-top: 20px;
}

.google-map:not(:first-of-type) {
	margin-top: 50px
}

.google-map__text {
  font-size: 1.8rem;
  margin-top: 20px;
}

/* 採用情報ページ */
/* 伝えたいこと */
.recruit-message {
  margin-top: 100px;
}

.recruit-message__text {
  width: 83.478251%;
  max-width: 960px;
  margin: 30px auto 0;
  font-size: 2.4rem;
  letter-spacing: 0;
}

/* 採用までの流れ */
.recruit-flow {
  margin-top: 75px;
}

.recruit-flow__step {
  display: flex;
  justify-content: space-between;
  margin-top: 100px;
}

.recruit-flow__item-num {
  font-size: 3.2rem;
}

.recruit-flow__item {
  width: 24%;
}

.recruit-flow__item-step {
  font-size: 2.4rem;
  font-weight: 700;
  color: #008cbb;
  background-color: #fff;
  width: 110px;
  height: 110px;
  border: 3px solid #008cbb;
  border-radius: 50%;
  text-align: center;
  text-transform: uppercase;
  padding: 20px 0;
}

.recruit-flow__item--01,
.recruit-flow__item--02,
.recruit-flow__item--03,
.recruit-flow__item--04 {
  position: relative;
}

.recruit-flow__item--01 .recruit-flow__item-step,
.recruit-flow__item--02 .recruit-flow__item-step,
.recruit-flow__item--03 .recruit-flow__item-step,
.recruit-flow__item--04 .recruit-flow__item-step {
  position: absolute;
  top: 8px;
  left: 50%;
  transform: translate(-50%, -50%);
}

.recruit-flow__item-box {
  background-color: #008cbb;
  color: #fff;
  border-radius: 5px;
  padding: 96px 10px 44px;
}

.recruit-flow__item-img {
  width: 100px;
  height: 100px;
  margin: 0 auto;
}

.recruit-flow__item-text {
  text-align: center;
  font-size: 3.2rem;
  margin-top: 30px;
}

/* 募集要項 */
.entry {
  margin-top: 100px;
  margin-bottom: 52px;
}

.entry__table dl {
  margin-top: 35px;
  border-top: 1px solid rgba(204, 204, 204, 0.5);
}

.entry__table dt,
.entry__table dd {
  padding: 20px 0;
  border-bottom: 1px solid rgba(204, 204, 204, 0.5);
}

.btn__entry {
  text-align: center;
}

.btn__entry--company {
  margin-top: 50px;
}

/* お問い合わせページ */
.br-680 {
  display: none;
}

/* フォームリセット */
input[type="submit"] {
  border: none;
}

input[type="checkbox"],
input[type="radio"] {
  display: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

input[type="submit"],
input[type="button"],
label,
button,
select {
  cursor: pointer;
}

input,
button,
select,
textarea {
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-form-control-wrap {
  display: block;
}

span.wpcf7-list-item {
  margin: 0 30px 0 0;
  /*項目右側の余白設定と、デフォルトの左側の余白を打ち消す*/
  position: relative;
}

.wpcf7-list-item-label {
  cursor: pointer;
  /*labelにhoverした時にカーソルを表示させる*/
  font-size: 16px;
  /*項目のフォントサイズ*/
}

input[type="checkbox"] {
  opacity: 0;
  /*デフォルトのチェックボックスを見えなくする*/
  position: absolute;
}

/* フォーム */
input[type="submit" i] {
  background-color: #008cbb;
}

.wpcf7-list-item-label::before {
  /*チェックボックスのデザイン*/
  border: 2px solid #ccc;
  border-radius: 3px;
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 10px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

input[type="checkbox"]:checked + .wpcf7-list-item-label::after {
  /*チェックアイコン*/
  background: url(../images/vector-icon.png) no-repeat center;
  background-size: contain;
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  position: absolute;
  top: 5px;
  left: 4px;
}

.contact {
  margin-top: 100px;
  margin-bottom: 100px;
}

.contact__contents {
  width: 80%;
  max-width: 960px;
  margin: 0 auto;
}

.contact__text {
  max-width: 935px;
  line-height: 1.8;
  letter-spacing: 0.008em;
}

.contact__info {
  margin-top: 7px;
  max-width: 935px;
}

.contact-form input {
  max-width: 935px;
}

.contact__tel-icon {
  display: inline-block;
  width: 16px;
  height: auto;
  margin-right: 5px;
}

.contact__tel {
  font-size: 3.2rem;
  font-weight: 700;
  margin-right: 9px;
  letter-spacing: 0.05em;
}

.contact__time {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

.contact-form {
  margin-top: 30px;
}

input,
select,
textarea {
  border: 1px solid #ddd;
}

input,
button,
select,
textarea {
  padding: 10px 16px;
  width: 100%;
}

textarea {
  height: 240px;
}

.wpcf7 input:hover,
.wpcf7 textarea:hover,
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  outline: none;
  background: inherit;
  border: 1px solid #008cbb;
}

.must {
  background-color: #008cbb;
  color: #fff;
  margin-left: 8.35px;
  font-size: 1.2rem;
  padding: 4px 8.35px;
}

.contact7 dt {
  font-weight: 700;
  font-size: 1.8rem;
}

.contact7 dt:not(:first-of-type) {
  margin-top: 28px;
}

.contact7 dd {
  color: #999;
  border-radius: 5px;
  margin-top: 8.5px;
}

.contact7 .wpcf7-form-control-wrap {
  display: block;
  width: auto;
}

.contact7 .checkbox {
  border: none;
}

span .wpcf7-checkbox .wpcf7-list-item {
  margin-top: 13px;
  display: block;
}

.wpcf7-list-item {
  margin-left: 0;
}

.wpcf7-list-item-label {
  color: #000;
}

.wpcf7-list-item-label:hover {
  color: #008CBB;
}

.wpcf7-list-item-label:hover::before {
  border: 1px solid #008CBB;
  filter: drop-shadow(0px 0px 4px #008CBB);
}

.btn__contact {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  background-color: #008cbb;
  width: 50%;
  max-width: 459px;
  padding: 10px;
  border-radius: 4px;
  text-align: center;
  display: block;
  margin: 45px auto 0;
}

.wpcf7-submit {
  color: #fff;
  font-weight: 700;
  font-size: 2.4rem;
}

/* 
~1440px
*/
@media (max-width: 1440px) {
  .top-company__img,
  .top-recruit__img,
  .top-contact__img {
    margin: 0 calc(50% - 50vw);
    width: 90vw;
  }
}

/* 
~1024px
*/
@media (max-width: 1024px) {
  /* 共通 */
  body {
    width: 100%;
  }
  .inner {
    padding: 0 20px;
  }
  .header {
    background-color: #fff;
    height: 60px;
    padding: 0;
  }
  .header__company-logo {
    width: auto;
    height: inherit;
  }
  .header__company-logo img {
    height: inherit;
  }
  .header__nav {
    display: none;
  }
  .burger-menu {
    display: block;
    width: 60px;
    height: 60px;
    position: relative;
  }
  .bar {
    display: inline-block;
    content: "";
    background-color: #444;
    width: 20px;
    height: 2px;
    border-radius: 5px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .bar01 {
    top: 22px;
  }
  .bar02 {
    top: 28px;
  }
  .bar03 {
    top: 34px;
  }
  .bar01.js-close {
    width: 23px;
    top: 30px;
    left: 20px;
    position: absolute;
    z-index: 1001;
    transform: rotate(45deg);
  }
  .bar02.js-close {
    display: none;
  }
  .bar03.js-close {
    width: 23px;
    top: 30px;
    left: 20px;
    position: absolute;
    z-index: 1001;
    transform: rotate(-45deg);
  }
  .modal {
    background-color: #000;
    width: 100%;
    height: 100vh;
    position: fixed;
    z-index: 999;
    top: 0;
    left: 0;
    overflow-y: scroll;
    -ms-overflow-style: none;
    /* IE, Edge 対応 */
    scrollbar-width: none;
    /* Firefox 対応 */
  }
  .modal::-webkit-scrollbar {
    /* Chrome, Safari 対応 */
    display: none;
  }
  .modal-nav__list {
    height: inherit;
    padding-top: 100px;
    padding-bottom: 50px;
    overflow-y: scroll;
  }
  .modal-nav__item {
    font-size: 2.4rem;
    color: #fff;
    text-align: center;
    font-weight: 700;
  }
  .modal-nav__item::first-letter {
    text-transform: uppercase;
  }
  .modal-nav__item:not(:first-of-type) {
    margin-top: 30px;
  }
  .modal-nav__link {
    display: block;
    width: 100%;
  }
  .eyecatch {
    margin-top: 60px;
  }
  /* トップページ */
  .main-view__copy {
    font-size: 7rem;
  }
  .main-view__scroll {
    font-size: 1.6rem;
  }
  /* 会社概要 */
  .philosophy {
    margin-top: 50px;
  }
  .mission {
    margin-top: 50px;
  }
  .guidelines {
    margin-top: 50px;
  }
  .company-page-section__text {
    width: 100%;
    max-width: initial;
    margin-top: 20px;
    font-size: 3.2rem;
  }
  .overview {
    margin-top: 50px;
  }
  .overview__table dl {
    margin-top: 30px;
  }
  .overview__table dt {
    font-size: 1.4rem;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .overview__table dd {
    padding-top: 0;
  }
  .overview__table dt,
  .overview__table dd {
    width: 100%;
  }
  .access {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .google-map {
    width: calc(100% + 40px);
    margin: 30px -20px 0;
  }
  .google-map iframe {
    height: 186.66px;
  }
  /* 採用情報 */
  .recruit-message {
    margin-top: 50px;
  }
  .recruit-message__text {
    width: 100%;
    max-width: initial;
  }
  .recruit-flow {
    margin-top: 50px;
  }
  .recruit-flow__step {
    display: block;
    margin-top: 90px;
  }
  .recruit-flow__item {
    width: 100%;
  }
  .recruit-flow__item:not(:first-of-type) {
    margin-top: 55px;
  }
  .recruit-flow__item-box {
    padding: 50px 10px;
  }
  .recruit-flow__item-step {
    width: 80px;
    height: 80px;
    font-size: 1.8rem;
    padding: 13px 0;
  }
  .recruit-flow__item-num {
    font-size: 1.8rem;
  }
  .recruit-flow__item-img {
    width: 80px;
    height: 80px;
  }
  .recruit-flow__item-text {
    font-size: 2.4rem;
    margin-top: 20px;
  }
  .entry {
    margin-top: 50px;
  }
  .entry__table dt,
  .entry__table dd {
    width: 100%;
  }
  .entry__table dt {
    font-size: 1.4rem;
    padding-bottom: 0;
    border-bottom: 0;
  }
  .entry__table dd {
    padding-top: 0;
  }
  .btn__entry--company {
    margin-top: 28px;
  }
  /* お問い合わせ */
  .contact {
    margin-top: 50px;
    margin-bottom: 66px;
  }
  .contact__contents {
    width: 100%;
    max-width: initial;
  }
  .contact__info {
    margin-top: 20px;
  }
  .contact__tel {
    margin-right: 0;
  }
}

/* 
~680px
*/
@media (max-width: 680px) {
  /* 共通 */
  .br-pc{
    display: none;
  }

  .eyecatch__img {
    display: none;
  }
  .eyecatch__img-tab {
    display: block;
  }
  /* トップページ */
  .main-view__copy {
    font-size: 5rem;
  }
  /* 会社概要 */
  .guidelines__text--en {
    font-size: 2.4rem;
    margin-left: -15px;
  }
  .guidelines__text--ja {
    font-size: 1.8rem;
    padding-left: 3.5em;
    font-feature-settings: "palt";
  }
  .google-map__text {
    font-size: 1.4rem;
	  padding: 0 20px;
  }
  /* 採用情報 */
  /* お問合せ */
  .br-680 {
    display: block;
  }
}

/* 
0~375px
*/
@media (max-width: 375px) {
  /* 共通 */
  .br-sp {
    display: block;
  }
  .page-section__title {
    letter-spacing: 0;
  }
  .btn__more {
    max-width: initial;
  }
  .btn__contact {
    width: 100%;
    max-width: initial;
    padding: 12px;
    margin: 35px auto 0;
  }
  .btn__entry--link {
    width: 100%;
    max-width: initial;
    padding: 12px 10px;
    font-size: 2rem;
  }
  .cta {
    padding: 50px 0;
  }
  .cta__catch {
    font-size: 3.6rem;
  }
  .sns {
    padding-top: 20px;
    padding-bottom: 20px;
  }
  .eyecatch {
    margin-top: 60px;
  }
  .page__title {
    font-size: 3.2rem;
  }
  .table dd {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .btn__contact--cta {
    width: 100%;
    max-width: initial;
  }
  .page-section__title {
    font-size: 3.2rem;
  }
  /* ヘッダー */
  .header__company-logo {
    width: 85px;
    height: auto;
    padding-left: 15px;
  }
  /* フッター */
  /* トップページ */
  .main-view__copy {
    font-size: 6.4rem;
    line-height: 1.125;
    padding: 0 20px;
  }
  .top-sub-copy__contents {
    width: 100%;
    max-width: initial;
    padding: 0 20px;
  }
  .top-sub-copy__company-name {
    font-size: 2.4rem;
    margin-top: 30px;
  }
  .top-company,
  .top-recruit,
  .top-contact {
    padding: 0;
    margin-top: 0;
  }
  .top-company {
    padding: 0;
    padding: 30px 0 0;
  }
  .top-recruit {
    padding: 60px 0 0;
  }
  .top-contact {
    margin-bottom: 0;
    padding: 60px 0 50px;
  }
  .top-company__img,
  .top-recruit__img,
  .top-contact__img {
    width: 100vw;
  }
  .top-company__contents,
  .top-recruit__contents,
  .top-contact__contents {
    display: block;
  }
  .top-company__text-box,
  .top-recruit__text-box,
  .top-contact__text-box {
    width: 100%;
    max-width: initial;
    margin-top: 90px;
    padding-left: 0;
  }
  .top-company__title,
  .top-recruit__title,
  .top-contact__title {
    font-size: 2.4rem;
  }
  .top-company__title--en,
  .top-recruit__title--en,
  .top-contact__title--en {
    font-size: 4rem;
    letter-spacing: 0.05em;
    top: -70px;
    left: 0px;
  }
  .btn__more--top-company,
  .btn__more--top-recruit,
  .btn__more--top-contact {
    margin-top: 30px;
  }
  /* 会社概要ページ */
  .company-page-section__text {
    font-size: 2.4rem;
  }
  .overview {
    margin-top: 25px;
  }
  .overview__table dd {
    padding-bottom: 15px;
    letter-spacing: 0;
  }
  .google-map {
    margin: 15px -20px 0;
  }
  /* 採用情報ページ */
  .recruit-message__text {
    font-size: 1.6rem;
  }
  .recruit-flow {
    margin-top: 43px;
  }
  .recruit-flow__step {
    margin-top: 60px;
  }
  .recruit-flow__item-box {
    padding: 75px 10px 50px;
  }
  .recruit-flow__item--01 .recruit-flow__item-step,
  .recruit-flow__item--02 .recruit-flow__item-step,
  .recruit-flow__item--03 .recruit-flow__item-step,
  .recruit-flow__item--04 .recruit-flow__item-step {
    top: 8px;
  }
  .entry__table dl {
    margin-top: 30px;
  }
  .entry__table dd {
    padding-bottom: 15px;
    letter-spacing: 0;
  }
  /* お問い合わせページ */
  .contact {
    margin-bottom: 47px;
  }
  .contact7 {
    display: block;
    margin-top: 35px;
  }
  .contact__tel {
    font-size: 3rem;
    letter-spacing: 0.09em;
  }
  .contact__time {
    display: block;
    margin-top: 15px;
  }
  input, button, select, textarea {
    padding: 12px 16px 7px;
  }
  .contact7 dt:not(:first-of-type) {
    margin-top: 29px;
  }
  .must {
    margin-left: 11px;
    padding: 4px 8.35px;
    white-space: nowrap;
  }
  .checkbox-letterspacing {
    letter-spacing: 0.003em;
  }
  .copyright {
    letter-spacing: 0;
    margin-top: 35px;
  }
}
