@charset "UTF-8";
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/*リセット
-----------------------------------------*/
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

a img {
  border: none;
}

img {
  width: 100%;
  vertical-align: middle;
}

body {
  padding: 0;
  margin: 0;
  position: relative;
  font-size: 14px;
  color: #000;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}

a {
  color: #FFF;
  text-decoration: underline;
}

a:hover {
  color: #FFF;
}

hr {
  border: none;
  height: 0;
  overflow: hidden;
  border-bottom: 1px dotted #959595;
  clear: both;
}

main, nav, header, footer, section, article, figure, figcaption {
  display: block;
}

input, button, textarea, select {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/* コピペ用
@include media(375px, min) {
数値での指定可能
}
@include media(spM) {
minかmaxを略した場合はmin-widthで展開
}
@include media(spM,max) {
}
*/
.clBlue {
  color: #00F;
}

a.clBlue {
  text-decoration: underline;
}
a.clBlue:hover {
  color: #00F;
  text-decoration: none;
  opacity: 0.75;
}

/*----------------------------------------------------
Loading
----------------------------------------------------*/
/* Loading背景画面設定　*/
#loadLogo {
  width: 68px;
  position: absolute;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -34px;
  z-index: 999;
}

#splash {
  /*fixedで全面に固定*/
  position: fixed;
  z-index: 998;
  width: 100%;
  height: 100%;
  background: #fff;
  text-align: center;
  /* Loadingバー中央配置　*/
}
#splash #splash_text {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 998;
  width: 100%;
  transform: translate(-50%, -50%);
  /*IE11対策用バーの線の高さ※対応しなければ削除してください*/
}
#splash #splash_text #splash_text svg {
  height: 2px;
}

html {
  scroll-behavior: smooth;
  margin-top: 0 !important;
  overflow-x: hidden;
}

body {
  font-family: "游ゴシック Medium", Yu Gothic Medium, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Verdana, sans-serif;
  background: #fff;
  color: #000;
  font-size: 1em;
}
body.js-menu-open {
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}

a {
  color: #000;
  text-decoration: none;
}
a:hover {
  color: #000;
}

@media screen and (min-width: 1201px) { /*以上の時*/
  html,
  body {
    min-width: 1100px;
  }
  #siteHeader, .in, #siteFooter {
    width: 1100px;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1200px) { /*以下の時*/
  #siteHeader, .in, #siteFooter {
    width: 90%;
    margin: 0 auto;
  }
}
img {
  width: auto;
  max-width: 100% !important;
  height: auto;
  vertical-align: bottom;
}

@media screen and (min-width: 768px) { /*以上の時*/
  .ifsp {
    display: none;
  }
}
@media screen and (max-width: 767px) { /*以下の時*/
  .ifpc {
    display: none;
  }
}
@media screen and (min-width: 321px) { /*以上の時*/ }
@media screen and (max-width: 320px) { /*以下の時*/ }
/*----------------------------------------------------
コンテンツ設定
----------------------------------------------------*/
@media screen and (min-width: 768px) { /*以上の時*/
  .content {
    padding-top: 180px;
  }
  .content:last-child {
    padding-bottom: 180px;
  }
  .subpage .content {
    padding-top: 120px;
  }
  .subpage .content:last-child {
    padding-bottom: 180px;
  }
  .subpage .content#pageRecruit {
    padding-top: 180px;
  }
}
@media screen and (max-width: 767px) { /*以下の時*/
  .top .content {
    padding-top: 6rem;
  }
  .top .content:last-child {
    padding-bottom: 6rem;
  }
  .subpage .content {
    padding-top: 4rem;
  }
  .subpage .content:last-child {
    padding-bottom: 8rem;
  }
}
/*----------------------------------------------------
見出し、ボタン
----------------------------------------------------*/
h1, h2, h3, h4 {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
}

.hideTtl {
  height: 0;
  overflow: hidden;
}

.HL2 {
  margin-bottom: 1.5em;
}
.HL2 span {
  display: inline-block;
}
.HL2 span.mainTtl {
  font-size: 2em;
  font-weight: 700;
  margin-right: 0.5em;
}
.HL2 span.mainTtl:before {
  content: "";
  width: 1em;
  height: 1em;
  background: transparent no-repeat center/contain;
  margin-right: 0.5em;
  margin-bottom: 0.2em;
  display: inline-block;
  vertical-align: middle;
}
.HL2 span.subTtl {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .HL2 span.subTtl {
    padding: 0 60px;
    vertical-align: super;
    position: relative;
  }
  .HL2 span.subTtl:before, .HL2 span.subTtl:after {
    content: "";
    width: 40px;
    height: 1px;
    background: #000;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
  }
  .HL2 span.subTtl:before {
    left: 0;
  }
  .HL2 span.subTtl:after {
    right: 0;
  }
}
@media screen and (min-width: 1000px) {
  .HL2 span.mainTtl {
    font-size: 2em;
  }
}
@media screen and (max-width: 767px) {
  .HL2 span.mainTtl {
    display: block;
    text-align: center;
    font-size: 6.2vw;
  }
  .HL2 span.subTtl {
    font-size: 4vw;
    align-items: center;
    display: flex;
  }
  .HL2 span.subTtl.subTtl:before, .HL2 span.subTtl.subTtl:after {
    content: "";
    height: 1px;
    background-color: #000;
    border-radius: 5px;
    flex-grow: 1;
  }
  .HL2 span.subTtl.subTtl:before {
    margin-right: 15px;
  }
  .HL2 span.subTtl.subTtl:after {
    margin-left: 15px;
  }
}

.ttlH2 {
  margin-bottom: 1.5em;
}
.ttlH2 span:first-child {
  font-weight: 900;
  display: block;
}
@media screen and (min-width: 1201px) {
  .ttlH2 span:first-child {
    font-size: 1.8em;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .ttlH2 span:first-child {
    font-size: 4vw;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .ttlH2 span:first-child {
    font-size: 5.5vw;
    text-align: center;
  }
}
.ttlH2:first-letter {
  color: #F8B62D;
  font-size: 1.45em;
}
.ttlH2 span:last-child {
  position: relative;
}
@media screen and (min-width: 1201px) {
  .ttlH2 span:last-child {
    font-size: 0.8em;
    padding: 0 50px;
  }
  .ttlH2 span:last-child:before, .ttlH2 span:last-child:after {
    content: "";
    width: 40px;
    height: 1px;
    background: #000;
    top: 0;
    bottom: 0;
    margin: auto;
    position: absolute;
  }
  .ttlH2 span:last-child:before {
    left: 0;
  }
  .ttlH2 span:last-child:after {
    right: 0;
  }
}
@media screen and (max-width: 1200px) {
  .ttlH2 span:last-child {
    display: flex;
  }
  .ttlH2 span:last-child:last-child:before, .ttlH2 span:last-child:last-child:after {
    content: "";
    height: 1px;
    background-color: #000;
    margin: auto;
    border-radius: 5px;
    flex-grow: 1;
  }
  .ttlH2 span:last-child:last-child:before {
    margin-right: 15px;
  }
  .ttlH2 span:last-child:last-child:after {
    margin-left: 15px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .ttlH2 span:last-child {
    font-size: 2vw;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .ttlH2 span:last-child {
    font-size: 4vw;
    text-align: center;
  }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
  .ttlCont {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-content: center;
  }
  .ttlCont h2 {
    width: 28%;
  }
  .ttlCont p {
    width: 67%;
    margin-top: 2rem;
  }
}
.dtlBtn {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  text-align: center;
  margin-top: 2em;
  position: relative;
}
.dtlBtn a {
  background: #fff;
  display: inline-block;
  font-size: 1.125em;
  text-align: center;
  line-height: 1.1;
  text-decoration: none;
  padding: 1em 3em 1em 0.5em;
  border: 3px solid #000;
  border-radius: 10px;
  transition: all 0.2s ease-in;
  position: relative;
}
@media screen and (min-width: 768px) {
  .dtlBtn a {
    min-width: 265px;
  }
}
@media screen and (max-width: 767px) {
  .dtlBtn a {
    display: block;
    width: 90%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 374px) {
  .dtlBtn a {
    font-size: 5vw;
  }
}
.dtlBtn a:before, .dtlBtn a:after {
  content: "";
  position: absolute;
  transition: all 0.2s ease-in;
}
.dtlBtn a:before {
  width: 10px;
  height: 10px;
  right: 20px;
  top: 53%;
  transform: translateY(-40%) rotate(45deg);
  border-top: 2.5px solid #000;
}
.dtlBtn a:after {
  width: 24px;
  height: 2.5px;
  right: 18px;
  top: 53%;
  transform: translateY(-40%);
  background: #000;
}
.dtlBtn a:hover {
  background: #ff0 !important;
}
.dtlBtn a:hover:before {
  right: 12px;
}
.dtlBtn a:hover:after {
  right: 10px;
  width: 32px;
}
.dtlBtn span {
  background: linear-gradient(transparent 50%, rgba(255, 255, 0, 0.5) 0%);
}

.borderCont {
  border: 3px solid #000;
  border-radius: 25px;
  overflow: hidden;
}

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

	スクロールフェード用

----------------------------------------------------------------------------- */
.move {
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.5s ease-out;
}

.move.fadeBottom {
  opacity: 1;
  transform: translateY(0px);
}

/* 下へ */
.flipDown {
  opacity: 0;
}

.flipDown.flipDownOn {
  animation-name: flipDownAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes flipDownAnime {
  from {
    transform: rotateX(100deg);
    opacity: 0;
  }
  to {
    transform: rotateX(0);
    opacity: 1;
  }
}
.parentFlipDown {
  perspective: 200vh;
}

/* 左上へ */
.fadeinLeft {
  opacity: 0;
}

.fadeinLeft.fadeinLeftTop {
  animation-name: fadeinLeftAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeinLeftAnime {
  from {
    transform: translate(-80px, 0) rotate(-5deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
/* 右上へ */
.fadeinRight {
  opacity: 0;
}

.fadeinRight.fadeinRightTop {
  animation-name: fadeinRightAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeinRightAnime {
  from {
    transform: translate(100px, 0) rotate(5deg);
    opacity: 0;
  }
  to {
    transform: translate(0, 0) rotate(0deg);
    opacity: 1;
  }
}
/*----------------------------------------------------
ヘッダー & ハンバーガーメニュー
----------------------------------------------------*/
header {
  font-family: "Noto Sans JP", sans-serif;
  /* =#globalNav ------------------------------------ */
  /* =menu ------------------------------------ */
}
header .headerL {
  font-size: 3em;
  margin-left: 1rem;
  float: left;
}
@media screen and (max-width: 999px) {
  header .headerL { /*以下の時*/
    font-size: 5vw;
  }
}
@media screen and (max-width: 767px) {
  header .headerL { /*以下の時*/
    margin: 0.3rem 0 0 0.5rem;
  }
}
header .headerL p {
  line-height: 1;
}
header .headerL p span:first-child {
  color: #F8B62D;
}
@media screen and (max-width: 767px) {
  header .headerL p span:first-child { /*以下の時*/
    display: block;
  }
}
header .headerL p span:last-child {
  color: #808080;
}
header .pageHeaderTop {
  width: 100%;
}
header .pageHeaderTop .headerL {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 997;
}
header .pageHeaderTop .headerL span {
  font-weight: 900;
}
header .pageHeaderTop .headerR {
  display: flex;
  justify-content: space-between;
  float: right;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 997;
}
header .pageHeaderTop .headerR .headEntry {
  background: #F8B62D;
  color: #fff;
}
header .pageHeaderTop .headerR .headEntry a {
  width: 100%;
  height: 100%;
  color: #fff;
  font-weight: bold;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1000px) {
  header .pageHeaderTop .headerR .headEntry a { /*以上の時*/
    font-size: 1.125em;
    padding: 0 1.5em;
  }
}
@media screen and (max-width: 999px) {
  header .pageHeaderTop .headerR .headEntry a { /*以下の時*/
    padding: 0 0.5em;
  }
}
header #globalNav {
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(20px);
          backdrop-filter: blur(20px);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 996;
  overflow-y: auto;
}
header #globalNav .hederInFlex {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (min-width: 768px) {
  header #globalNav .hederInFlex { /*以上の時*/
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  header #globalNav .hederInFlex { /*以下の時*/
    flex-wrap: wrap;
  }
}
header #globalNav .headerInL {
  width: clamp(340px, 80%, 500px);
  background: #EF8F00;
  color: #fff;
  text-align: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}
@media screen and (max-width: 767px) {
  header #globalNav .headerInL { /*以下の時*/
    width: 100%;
    padding: 1.5em 1em 2em;
    order: 2;
  }
}
header #globalNav .headerInL p {
  width: 100%;
}
header #globalNav .headerInL .headerInLogo {
  text-align: center;
  margin-top: -7rem;
  margin-bottom: 7rem;
}
header #globalNav .headerInL .headerInLogo img {
  width: 30%;
}
@media screen and (max-width: 767px) {
  header #globalNav .headerInL .headerInLogo { /*以下の時*/
    display: none;
  }
}
header #globalNav .headerInL .headerInEntry p {
  font-size: 1.875em;
  font-weight: 600;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 768px) {
  header #globalNav .headerInL .headerInEntry ul { /*以上の時*/
    margin: 1rem 0 5rem;
  }
}
@media screen and (max-width: 767px) {
  header #globalNav .headerInL .headerInEntry ul li { /*以下の時*/
    margin-top: 1rem;
  }
}
@media screen and (min-width: 768px) {
  header #globalNav .headerInL .headerInEntry ul li {
    margin-bottom: 0.5rem;
  }
}
header #globalNav .headerInL .headerInEntry ul li a {
  text-align: center;
  font-weight: 600;
  font-feature-settings: "palt";
  display: block;
}
@media screen and (min-width: 768px) {
  header #globalNav .headerInL .headerInEntry ul li a { /*以上の時*/
    color: #fff;
    font-size: 18px;
  }
  header #globalNav .headerInL .headerInEntry ul li a[href="/entry/"] {
    letter-spacing: 0.1em;
  }
  header #globalNav .headerInL .headerInEntry ul li a:hover {
    text-decoration: underline;
  }
}
@media screen and (max-width: 767px) {
  header #globalNav .headerInL .headerInEntry ul li a { /*以下の時*/
    background: #fff;
    color: #F8B62D;
    font-size: 1.25em;
    text-align: center;
    line-height: 1;
    text-decoration: none;
    padding: 1em 2.5em 1em 0.5em;
    border: 3px solid #000;
    border-radius: 10px;
    transition: all 0.2s ease-in;
    position: relative;
  }
  header #globalNav .headerInL .headerInEntry ul li a:before, header #globalNav .headerInL .headerInEntry ul li a:after {
    content: "";
    position: absolute;
    transition: all 0.2s ease-in;
  }
  header #globalNav .headerInL .headerInEntry ul li a:before {
    width: 10px;
    height: 10px;
    right: 20px;
    top: 52.5%;
    transform: translateY(-40%) rotate(45deg);
    border-top: 2.5px solid #F8B62D;
  }
  header #globalNav .headerInL .headerInEntry ul li a:after {
    width: 24px;
    height: 2.5px;
    right: 18px;
    top: 53%;
    transform: translateY(-40%);
    background: #F8B62D;
  }
}
header #globalNav .headerInL .headerInEntry .circleBtn {
  width: 82px;
  height: 82px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  header #globalNav .headerInL .headerInEntry .circleBtn { /*以下の時*/
    display: none;
  }
}
header #globalNav .headerInL .headerInEntry .circleBtn a {
  width: 100%;
  height: 100%;
  display: block;
  background: #fff;
  border-radius: 100vh;
  position: relative;
}
header #globalNav .headerInL .headerInEntry .circleBtn a:before, header #globalNav .headerInL .headerInEntry .circleBtn a:after {
  content: "";
  position: absolute;
  transition: all 0.1s ease-in;
  border-radius: 25px;
}
header #globalNav .headerInL .headerInEntry .circleBtn a:before {
  width: 30%;
  height: 6px;
  right: 20%;
  top: 42%;
  transform: translateY(-40%) rotate(45deg);
  background: #F8B62D;
}
header #globalNav .headerInL .headerInEntry .circleBtn a:after {
  width: 60%;
  height: 6px;
  right: 21%;
  top: 53%;
  transform: translateY(-40%);
  background: #F8B62D;
}
header #globalNav .headerInL .headerInEntry .circleBtn a:hover:before {
  right: 15%;
  background: #000 !important;
}
header #globalNav .headerInL .headerInEntry .circleBtn a:hover:after {
  background: #000 !important;
  right: 16%;
}
header #globalNav .pageNav {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-content: center;
}
@media screen and (min-width: 1201px) {
  header #globalNav .pageNav { /*以上の時*/
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  header #globalNav .pageNav { /*以下の時*/
    width: 100%;
    padding-top: 3em;
    order: 1;
  }
}
header #globalNav .pageNav a:hover {
  color: #F8B62D;
}
header #globalNav .pageNav .menuListWrap {
  margin-left: 100px;
}
@media screen and (max-width: 767px) {
  header #globalNav .pageNav .menuListWrap { /*以下の時*/ }
}
header #globalNav .pageNav .menuListWrap .menuList > div {
  min-height: 62px;
  position: relative;
  margin-bottom: 3rem;
  padding-left: 1em;
  border-left: 5px #F8B62D solid;
}
header #globalNav .pageNav .menuListWrap .menuList > div:before {
  height: 62px;
  position: absolute;
  top: 0;
  left: -90px;
  bottom: 0;
  margin: auto;
}
header #globalNav .pageNav .menuListWrap .menuList > div > a {
  font-size: 1.5em;
  font-weight: 600;
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav6 {
  display: flex;
  align-items: center;
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav1:before {
  content: url(../img/header/nav_icon/nav_icon1.png);
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav2:before {
  content: url(../img/header/nav_icon/nav_icon2.png);
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav3:before {
  content: url(../img/header/nav_icon/nav_icon3.png);
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav4:before {
  content: url(../img/header/nav_icon/nav_icon4.png);
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav5:before {
  content: url(../img/header/nav_icon/nav_icon5.png);
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav6:before {
  content: url(../img/header/nav_icon/nav_icon6.png);
}
header #globalNav .pageNav .menuListWrap .menuList > div.nav1 ul li:last-child {
  display: block;
}
header #globalNav .pageNav .menuListWrap:first-child .child {
  letter-spacing: -0.5em;
}
header #globalNav .pageNav .menuListWrap:first-child .child li {
  letter-spacing: normal;
  display: inline-block;
}
header #globalNav .pageNav .menuListWrap:first-child .child li:after {
  content: "/";
  margin: 0 0.5em;
}
header #globalNav .pageNav .menuListWrap:first-child .child li:last-child:after {
  content: none;
}
@media screen and (max-width: 767px) {
  header #globalNav .pageNav .menuListWrap { /*以下の時*/ }
  header #globalNav .pageNav .menuListWrap .child li {
    margin-top: 0.5rem;
  }
}
header #globalNav .corporateSite {
  border-top: 1px solid #b2b2b2;
  border-bottom: 1px solid #b2b2b2;
}
header #globalNav .corporateSite a {
  display: block;
  padding: 1.5em 0;
}
header #globalNav .corporateSite + small {
  display: block;
  text-align: right;
  margin-top: 1em;
}
@media screen and (max-width: 767px) {
  header #globalNav .ifsp { /*以下の時*/ }
  header #globalNav .ifsp .in {
    width: 80%;
    padding: 2em;
  }
}
header .menuBtn {
  background: #000;
  color: #fff;
  text-align: center;
}
header .menuBtn span {
  width: 100%;
  height: 2px;
  background-color: #fff;
  border-radius: 4px;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
}
header .menuBtn span:nth-of-type(1) {
  top: 0;
}
header .menuBtn span:nth-of-type(2) {
  top: 46%;
}
header .menuBtn span:nth-of-type(3) {
  bottom: 0;
}
header .menuBtn p {
  font-size: 0.6em;
  line-height: 0.6;
}
header .menuBtn:hover {
  cursor: pointer;
}
header .menuTrigger,
header .menuTrigger span {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
}
header .menuTrigger {
  position: relative;
  width: 100%;
  height: 28px;
  text-align: center;
}
header .menuTrigger p {
  width: 100%;
  font-weight: bold;
  position: absolute;
}
@media screen and (min-width: 1000px) {
  header { /*以上の時*/ }
  header .menuBtn {
    width: 80px;
    height: 80px;
    padding: 18px;
  }
  header .menuTrigger {
    height: 28px;
  }
  header .menuTrigger p {
    bottom: -2em;
  }
  header .menuTrigger.active span:nth-of-type(1) {
    transform: translateY(13px) rotate(-315deg);
  }
  header .menuTrigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .menuTrigger.active span:nth-of-type(3) {
    transform: translateY(-13px) rotate(315deg);
  }
}
@media screen and (max-width: 999px) {
  header { /*以下の時*/ }
  header .menuBtn {
    width: 50px;
    height: 50px;
    padding: 10px;
  }
  header .menuTrigger {
    height: 20px;
  }
  header .menuTrigger p {
    bottom: -1.2em;
  }
  header .menuTrigger.active span:nth-of-type(1) {
    transform: translateY(9px) rotate(-315deg);
  }
  header .menuTrigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  header .menuTrigger.active span:nth-of-type(3) {
    transform: translateY(-9px) rotate(315deg);
  }
}

/*----------------------------------------------------
breadcrumb
---------------------------------------------------- */
#breadCont {
  padding: 6px 0;
  font-size: 0.8em;
  margin-top: 0.5em;
}

#breadcrumb li {
  color: #000;
  display: inline-table;
}

#breadcrumb li a {
  color: #000;
  padding-right: 5px;
}

#breadcrumb li a:after {
  content: "　>";
}

#breadcrumb li a:hover {
  color: #F8B62D;
}

/*----------------------------------------------------
subpage
-----------------------------------------------------*/
.subpageVisual {
  position: relative;
}
.subpageVisual:after {
  content: "";
  width: 60%;
  height: 100%;
  background: linear-gradient(to right, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0));
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.subpageVisual .visualIn {
  position: absolute;
  z-index: 1;
  font-family: "Noto Sans JP", sans-serif;
}

@media screen and (min-width: 1201px) {
  .subpageVisual {
    height: 400px;
  }
  .subpageVisual .visualIn {
    top: 46%;
    left: 10%;
  }
  .subpageVisual .visualIn .visualH1 span:first-child {
    font-size: 20px;
    margin-right: 1em;
  }
  .subpageVisual .visualIn .visualH1 span:last-child {
    font-size: 45px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .subpageVisual {
    height: 300px;
  }
  .subpageVisual .visualIn {
    top: 40%;
    left: 5%;
  }
  .subpageVisual .visualIn .visualH1 span:first-child {
    font-size: 20px;
    margin-right: 1em;
  }
  .subpageVisual .visualIn .visualH1 span:last-child {
    font-size: 45px;
  }
}
@media screen and (max-width: 767px) {
  .subpageVisual {
    height: 50vw;
  }
  .subpageVisual .visualIn {
    top: 17vw;
    left: 5%;
  }
  .subpageVisual .visualH1 span {
    display: block;
  }
  .subpageVisual .visualH1 span:first-child {
    font-size: 4vw;
  }
  .subpageVisual .visualH1 span:last-child {
    font-size: 8.56vw;
  }
}
/*----------------------------------------------------
フッター
----------------------------------------------------*/
.footerTop {
  background: #F8B62D;
  font-family: "Noto Sans JP", sans-serif;
  padding: 5em 0;
}
@media screen and (min-width: 1201px) {
  .footerTop .in {
    width: 1100px;
  }
  .footerTop .in .footerTopL {
    width: 70%;
  }
  .footerTop .in .footerTopR {
    width: 27%;
  }
}
@media screen and (min-width: 1201px) {
  .footerTop .in {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: end;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .footerTop .in {
    position: relative;
  }
  .footerTop .in .footerTopL {
    width: 100%;
  }
  .footerTop .in .footerTopR {
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .footerTop .in .footerTopR {
    margin-top: 3em;
  }
}
.footerTop .footerTopR .dtlBtn {
  position: relative;
}
@media screen and (min-width: 768px) {
  .footerTop .footerTopR .dtlBtn {
    display: inline-block;
  }
}
@media screen and (min-width: 1201px) {
  .footerTop .footerTopR .dtlBtn {
    width: 100%;
  }
}
.footerTop .footerTopR .dtlBtn img {
  position: absolute;
  top: -39px;
  right: 40px;
}
@media screen and (min-width: 768px) {
  .footerTop .pageFooterMenu {
    display: flex;
    flex-wrap: wrap;
  }
}
.footerTop .pageFooterMenu .footerMenuTtl {
  margin-bottom: 2em;
  margin-right: 2em;
}
.footerTop .pageFooterMenu .footerMenuTtl:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .footerTop .pageFooterMenu .footerMenuTtl:last-child {
    width: 100%;
  }
}
.footerTop .pageFooterMenu .footerMenuTtl > a {
  font-size: 1.25em;
  font-weight: bold;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .footerTop .pageFooterMenu .footerMenuTtl ul {
    display: block;
  }
}
@media screen and (max-width: 767px) {
  .footerTop .pageFooterMenu .footerMenuTtl ul {
    display: flex;
    flex-wrap: wrap;
  }
}
.footerTop .pageFooterMenu .footerMenuTtl ul li {
  /*&:after {
    content: " / ";
  }*/
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .footerTop .pageFooterMenu .footerMenuTtl ul li:after {
    content: "";
  }
}
@media screen and (max-width: 767px) {
  .footerTop .pageFooterMenu .footerMenuTtl ul li {
    display: flex;
    flex-wrap: wrap;
  }
  .footerTop .pageFooterMenu .footerMenuTtl ul li:after {
    content: "/";
    margin: 0 0.5em;
  }
}
.footerTop .pageFooterMenu .footerMenuTtl ul li:last-child:after {
  content: none;
  margin: 0;
}

.footerBottom {
  background: #000;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .footerBottom {
    padding: 2em 3em;
    display: flex;
    justify-content: space-between;
    align-items: baseline;
  }
}
@media screen and (max-width: 767px) {
  .footerBottom {
    text-align: center;
    padding: 1em 1em;
  }
  .footerBottom .imgBox {
    display: none;
  }
}

/*----------------------------------------------------
pageRecruit
-----------------------------------------------------*/
@media screen and (min-width: 1201px) {
  #pageRecruit .recruitCont {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #pageRecruit .recruitCont .recruitBox:nth-child(1) {
    width: 25%;
  }
  #pageRecruit .recruitCont .recruitBox:nth-child(2) {
    width: 70%;
  }
}
#pageRecruit .recruitCont .recruitInCont {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #pageRecruit .recruitCont .recruitInCont {
    flex-wrap: nowrap;
  }
}
@media screen and (max-width: 767px) {
  #pageRecruit .recruitCont .recruitInCont {
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  #pageRecruit .recruitCont .recruitInCont .recruitInBox {
    width: 48%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #pageRecruit .recruitCont .recruitInCont .recruitInBox {
    height: 42vw;
  }
}
@media screen and (max-width: 767px) {
  #pageRecruit .recruitCont .recruitInCont .recruitInBox {
    width: 100%;
    height: 90vw;
    margin-top: 1.5em;
  }
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:first-child {
  position: relative;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:first-child .imgBox img {
  width: 100%;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:first-child .dtlBtn {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5%;
  margin: auto;
}
@media screen and (max-width: 767px) {
  #pageRecruit .recruitCont .recruitInCont .recruitInBox:first-child .dtlBtn a {
    display: block;
  }
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child {
  background: #fff;
  border-color: #1cb6ff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-content: center;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .imgBox {
  margin: 0 2em 2em 2em;
}
@media screen and (max-width: 767px) {
  #pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .imgBox {
    width: 100%;
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  #pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .btnCont {
    width: 100%;
  }
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn {
  margin-top: 1.5em;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn a {
  background: #1cb6ff;
  color: #fff;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn a:hover {
  color: #000;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn a:before {
  border-color: #fff;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn a:after {
  background: #fff;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn a:hover:before {
  border-color: #000;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn a:hover:after {
  background: #000;
}
#pageRecruit .recruitCont .recruitInCont .recruitInBox:last-child .dtlBtn span {
  background: linear-gradient(transparent 50%, rgba(255, 255, 255, 0.3) 0%);
}
#pageRecruit .in {
  position: relative;
}
#pageRecruit .in .bgIllust {
  position: absolute;
}
#pageRecruit .in .bgIllust.bgIllust17 {
  top: -30px;
  right: 40%;
}
#pageRecruit .in .bgIllust.bgIllust18 {
  bottom: -4em;
  left: 9em;
}
#pageRecruit .in .bgIllust.bgIllust19 {
  bottom: 0;
  right: -10em;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  #pageRecruit .in .bgIllust.bgIllust17 {
    top: 134px;
    right: 60%;
  }
  #pageRecruit .in .bgIllust.bgIllust18 {
    left: 0;
    bottom: -10em;
  }
  #pageRecruit .in .bgIllust.bgIllust19 {
    right: 0;
    bottom: -6em;
  }
}
@media screen and (max-width: 767px) {
  #pageRecruit .in .bgIllust.bgIllust17 {
    top: 8vw;
    right: 0;
  }
  #pageRecruit .in .bgIllust.bgIllust18 {
    display: none;
  }
  #pageRecruit .in .bgIllust.bgIllust19 {
    right: 0;
    bottom: -6em;
  }
}/*# sourceMappingURL=common.css.map */