@charset "utf-8";

/*===============================================
    スマホ用CSS
===============================================*/
@media print,
screen and (max-width: 768px) {

  /*--------------------------------------------
    サイト基本設定
--------------------------------------------*/
  html {
    font-size: 63.5%;
  }

  body {
    max-width: 100%;
    height: 100%;
    -webkit-text-size-adjust: 100%;
  }

  .for-pc {
    display: none !important;
  }

  .for-sp {
    display: block;
  }

  .en-large {
    font-size: 12vw;
  }

  /*--------------------------------------------
    全ページ共通
--------------------------------------------*/

  /*--  エリアと余白 --*/
  .ctsArea {
    position: relative;
  }

  .sec-inner {
    width: calc(100% - 9.6vw);
    word-break: break-all;
    margin: 0 4.8vw;
  }

  /*--  ふわっと表示 --*/
  @keyframes fadeInAnime {
    from {
      opacity: 0;
    }

    to {
      opacity: 1;
    }
  }

  .fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    opacity: 0;
  }

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

    to {
      opacity: 1;
      transform: translateY(0);
    }
  }

  .fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0;
  }

  @keyframes fadeRightAnime {
    from {
      opacity: 0;
      transform: translateX(100px);
    }

    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .fadeRight {
    animation-name: fadeRightAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
    transition-delay: 3s;
  }

  @keyframes fadeLeftAnime {
    from {
      opacity: 0;
      transform: translateX(-100px);
    }

    to {
      opacity: 1;
      transform: translateX(0);
    }
  }

  .fadeLeft {
    animation-name: fadeLeftAnime;
    animation-duration: 1.5s;
    animation-fill-mode: forwards;
    opacity: 0;
    transition-delay: 3s;
  }

  /*--  スクロールしたら表示 --*/
  .scroll_up {
    transition: 0.8s ease-in-out;
    transform: translateY(50px);
    opacity: 0;
  }

  .scroll_up.on {
    transform: translateY(0);
    opacity: 1;
  }

  .scroll_left {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(-50px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
  }

  .scroll_left.on {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    transform: translateX(0);
  }

  .scroll_right {
    -webkit-transition: 0.8s ease-in-out;
    -moz-transition: 0.8s ease-in-out;
    -o-transition: 0.8s ease-in-out;
    transition: 0.8s ease-in-out;
    transform: translateX(50px);
    opacity: 0;
    filter: alpha(opacity=0);
    -moz-opacity: 0;
  }

  .scroll_right.on {
    opacity: 1;
    filter: alpha(opacity=100);
    -moz-opacity: 1;
    transform: translateX(0);
  }

  /*--  timing --*/
  .timing01 {
    transition-delay: 0.2s;
  }

  .timing02 {
    transition-delay: 0.4s;
  }

  .timing03 {
    transition-delay: 0.6s;
  }

  .timing04 {
    transition-delay: 0.8s;
  }

  .timing05 {
    transition-delay: 0.1s;
  }

  .timing06 {
    transition-delay: 0.12s;
  }

  .timing07 {
    transition-delay: 0.14s;
  }

  .timing08 {
    transition-delay: 0.16s;
  }

  .timing09 {
    transition-delay: 0.18s;
  }

  .timing10 {
    transition-delay: 0.19s;
  }

  /*--  ボタン --*/
  .btn-cmn {
    width: 100%;
    text-align: center;
    border-radius: 100px;
    padding: 10px 2% 10px 0;
    overflow: hidden;
    position: relative;
  }

  .btn-more {
    background: #fff;
  }

  .btn-more-red {
    border: #54aaf1 2px solid;
  }

  .btn-more-blue {
    border: #61cdd9 2px solid;
  }

  .btn-more-green {
    border: #b2e697 2px solid;
  }

  .btn-entry {
    background: #54aaf1;
    border: #54aaf1 2px solid;
  }

  .btn-cmn span {
    display: block;
    font-size: 1.5rem;
    font-weight: bold;
    position: relative;
    z-index: 10;
    transition: 0.5s;
  }

  .btn-more span {
    color: #3e3e3e;
  }

  .btn-entry span {
    color: #fff;
  }

  .btn-cmn:after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1;
    position: absolute;
    top: 50%;
    right: 7%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transition: 0.5s;
    z-index: 15;
  }

  .btn-more-red:after {
    color: #54aaf1;
  }

  .btn-more-blue:after {
    color: #61cdd9;
  }

  .btn-more-green:after {
    color: #b2e697;
  }

  .btn-entry:after {
    color: #fff;
  }

  /*--  txtline-loop --*/
  ul.txtline-loop {
    display: flex;
    position: relative;
  }

  ul.txtline-loop li {
    flex-shrink: 0;
    margin-right: 30px;
  }

  ul.txtline-loop-left {
    animation: infinity-scroll-left 95s infinite linear 0.5s both;
  }

  @keyframes infinity-scroll-left {
    from {
      transform: translateX(0);
    }

    to {
      transform: translateX(-100%);
    }
  }

  ul.txtline-loop-right {
    animation: infinity-scroll-right 95s infinite linear 0.5s both;
  }

  @keyframes infinity-scroll-right {
    from {
      transform: translateX(-100%);
    }

    to {
      transform: translateX(0%);
    }
  }

  /*--------------------------------------------
    header / footer
--------------------------------------------*/

  /*-- header --*/
  #header {
    width: 96%;
    background: #fff;
    border-radius: 100px;
    padding: 14px 6%;
    position: fixed;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    filter: drop-shadow(0 0px 5px rgba(204, 204, 204, 0.5));
    z-index: 99;
  }

  #header .hdrSp .hdr-logo {
    width: 65%;
    display: flex;
    align-items: center;
  }

  #header .hdrSp .hdr-logo img {
    display: block;
    width: 100px;
    margin-right: 10px;
  }

  #header .hdrSp .hdr-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    column-gap: 12%;
  }

  #header .hdrSp .hdr-right p.menu {
    color: #54aaf1;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.12em;
    margin-top: 1px;
  }

  #header #menu-button {
    display: block;
    text-align: center;
    z-index: 999;
    position: relative;
  }

  #header .menu-button-inner {
    position: relative;
    display: block;
    width: 25px;
    height: 20px;
    transition: 0.5s;
  }

  #header .menu-button-inner span {
    display: block;
    width: 100%;
    height: 2px;
    margin: auto;
    background-color: #69bbff;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((100% - 2px) / 2);
    border-radius: 3px;
    transition: 0.2s;
  }

  #header .menu-button-inner span:nth-child(1) {
    transform: translateY(-7px);
  }

  #header .menu-button-inner span:nth-child(2) {}

  #header .menu-button-inner span:nth-child(3) {
    transform: translateY(7px);
  }

  #header #menu-button.open .menu-button-inner span {}

  #header #menu-button.open .menu-button-inner span:nth-child(1) {
    transform: rotate(45deg);
  }

  #header #menu-button.open .menu-button-inner span:nth-child(2) {
    opacity: 0;
  }

  #header #menu-button.open .menu-button-inner span:nth-child(3) {
    transform: rotate(-45deg);
  }

  #header .gnav-sp-wrap {
    width: 100%;
    height: calc(100vh - 16px);
    background: rgb(255 255 255 / 95%);
    border-radius: 20px;
    position: fixed;
    top: 0;
    right: -102%;
    z-index: 100;
    overflow: scroll;
    transition: 0.5s;
  }

  #header .gnav-sp-wrap.view {
    right: 0;
  }

  #header .gnav-sp-wrap .gnav-sp-wrap-inner {
    width: 90%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  }

  #header .gnav-sp-wrap .gnav {
    padding: 0 8%;
    margin-bottom: 30px;
  }

  #header .gnav-sp-wrap .gnav li+li {
    margin-top: 15px;
  }

  #header .gnav-sp-wrap .gnav li a span {
    display: block;
    line-height: 1;
  }

  #header .gnav-sp-wrap .gnav li a span.en {
    color: #69bbff;
    font-size: 2.2rem;
    font-weight: 700;
    letter-spacing: 0.15em;
  }

  #header .gnav-sp-wrap .gnav li a span.ja {
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.3em;
    margin-top: 8px;
  }

  #header .gnav-sp-wrap .cv-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }

  #header .gnav-sp-wrap .cv-nav li {
    width: 49%;
  }

  #header .gnav-sp-wrap .cv-nav li a.btn-cmn {
    padding: 8px 2% 8px 0;
  }

  #header .gnav-sp-wrap .cv-nav li a.btn-cmn span {
    font-size: 1.4rem;
  }

  @media print,
  screen and (max-width: 320px) {
    #header .gnav-sp-wrap .gnav {
      margin-bottom: 15px;
    }

    #header .gnav-sp-wrap .gnav li+li {
      margin-top: 8px;
    }

    #header .gnav-sp-wrap .gnav li a span.en {
      font-size: 5.2vw;
    }

    #header .gnav-sp-wrap .gnav li a span.ja {
      font-size: 1.3rem;
      margin-top: 5px;
    }

    #header .gnav-sp-wrap .cv-nav li a.btn-cmn {
      padding: 5px 2% 5px 0;
    }

    #header .gnav-sp-wrap .cv-nav li a.btn-cmn span {
      font-size: 1.3rem;
    }
  }

  /*-- cvArea --*/
  #cvArea {
    background: url(../Images/cvArea-bg-sp.png) no-repeat;
    background-size: cover;
    padding: 80px 0 70px;
  }

  .webp #cvArea {
    background: url(../Images/cvArea-bg-sp.png.webp) no-repeat;
    background-size: cover;
  }

  #cvArea p.note {
    font-size: 1.3rem;
    letter-spacing: 0.25em;
    line-height: 2.2;
    margin: 20px 0 45px;
  }

  #cvArea p.note span {
    display: block;
    font-size: 5vw;
    font-weight: 600;
    line-height: 1.8;
    margin-bottom: 12px;
  }

  #cvArea ul.links li {
    width: 48.5%;
  }

  #cvArea ul.links li a.btn-cmn {
    padding: 8px 2% 10px 0;
  }

  #cvArea ul.links li a.btn-cmn span {
    font-size: 1.4rem;
    letter-spacing: 0.15em;
  }

  /*-- footer --*/
  #footer {
    padding: 60px 0 15px;
  }

  #footer .ctsBox-left .ftr-logo {
    text-align: center;
    margin-bottom: 40px;
  }

  #footer .ctsBox-left .ftr-logo img {
    width: 85%;
  }

  #footer .ctsBox-left .ftr-logo .company {
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 1;
    margin-top: 8px;
  }

  #footer .ctsBox-left .snsLinks li+li {
    margin-top: 8px;
  }

  #footer .ctsBox-left .snsLinks li a {
    display: flex;
    align-items: center;
    column-gap: 10px;
    border: #3e3e3e 1px solid;
    border-radius: 100px;
    padding: 10px 8%;
  }

  #footer .ctsBox-left .snsLinks li a img {
    object-fit: contain;
    width: 1em;
    height: 1em;
  }

  #footer .ctsBox-left .snsLinks li a span {
    font-size: 3.5vw;
    letter-spacing: 0.22em;
  }

  #footer .ctsBox-right .nav-top {
    display: none;
  }

  #footer .ctsBox-right .nav-btm {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8%;
    margin: 25px 0 40px;
  }

  #footer .ctsBox-right .nav-btm li a {
    display: flex;
    align-items: center;
    column-gap: 5px;
    font-size: 1.3rem;
  }

  #footer .ctsBox-right .nav-btm li a:not([href="./privacypolicy"]):after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 15px;
    background: url(../Images/icon-link.png) center no-repeat;
    background-size: contain;
  }

  #footer .ctsBox-right .ftr-copy {
    font-size: 3.5vw;
    text-align: center;
    display: block;
    width: 100%;
  }

  #footer .logoBox {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
  }

  #footer .pmark_logo {
    width: 80px;
  }

  #footer .eruboshi_logo {
    width: 90px;
  }

  #footer .kenkou_logo {
    width: 220px;
  }

  #footer .wbw_award_logo {
    width: 65px;
  }

  /*===========================================
    contents
============================================*/

  /*--------------------------------------------
    TOPページ（#top）
--------------------------------------------*/

  #top h2 span {
    display: block;
    color: #3e3e3e;
    font-size: 1.6rem;
    font-weight: 600;
    margin-top: 10px;
  }

  #top .h2-blue-bg {
    position: relative;
  }

  #top .h2-blue-bg:before {
    content: "";
    display: inline-block;
    width: 538.5px;
    height: 601.5px;
    background: url(../Images/top-ttlbg-blue.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -220px;
    left: -50%;
    z-index: -1;
  }

  .webp #top .h2-blue-bg:before {
    background: url(../Images/top-ttlbg-blue.png.webp) no-repeat;
    background-size: contain;
  }

  /*-- key --*/
  #top-key {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
  }

  #top-key:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 30vh;
    background-image: linear-gradient(180deg, transparent 0 15%, #fff 100%);
  }

  #top-key .key-bg {
    width: 100%;
    /*height: 100vh;*/
    object-fit: cover;
    object-position: center;
    position: relative;
    z-index: -1;
  }

  #top-key .circle-right {
    object-fit: contain;
    width: 65%;
    position: absolute;
    bottom: -5%;
    left: -20%;
    z-index: 10;
  }

  @media print,
  screen and (max-width: 320px) {
    #top-key .circle-right {
      width: 50%;
      left: -10%;
    }
  }

  @keyframes rotation {
    0% {
      transform: rotate(0deg);
    }

    100% {
      transform: rotate(360deg);
    }
  }

  .rotation {
    animation: rotation 80s linear infinite;
  }

  #top-key .circle-left {
    width: 90%;
    position: absolute;
    top: -15%;
    right: -35%;
    z-index: 10;
  }

  #top-key .key-inner-txt {
    width: 60%;
    position: absolute;
    bottom: 10%;
    right: 5%;
    z-index: 10;
  }

  #top-key .key-inner-txt p {
    font-size: 8vw;
    font-style: italic;
    font-weight: 600;
    text-align: right;
    line-height: 1.5;
    letter-spacing: 0.18em;
  }

  #top-key .key-inner-txt {}

  #top-key .key-inner-txt p {}

  /*-- top-message --*/
  #top-message {
    padding: 80px 0 0;
    position: relative;
  }

  #top-message .ctsBox-top {}

  #top-message .ctsBox-top .sec-inner {
    margin: 0 9vw;
  }

  #top-message .ctsBox-top h2 {
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.22em;
  }

  #top-message .ctsBox-top h2 span {
    display: block;
  }

  #top-message .ctsBox-top h2 span.row-01 {
    font-size: 7.4vw;
    line-height: 1.4;
    margin: 0 0 18px 0;
  }

  #top-message .ctsBox-top h2 span.row-02 {
    letter-spacing: 0.24em;
  }

  #top-message .ctsBox-top .txtArea {
    margin: 40px 0 30px;
  }

  #top-message .ctsBox-top .txtArea p {}

  #top-message .ctsBox-top a {
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 5%;
    font-size: 6vw;
    font-weight: 600;
    font-style: italic;
    line-height: 1;
    letter-spacing: 0.24em;
  }

  /*#top-message .ctsBox-top a:after {*/
  /*  content: "";*/
  /*  display: inline-block;*/
  /*  width: 65px;*/
  /*  height: 65px;*/
  /*  background: url(../Images/circleBtn-next-blue_off.png) no-repeat;*/
  /*  background-size: contain;*/
  /*  transition: 0.5s;*/
  /*}*/

  #top-message .ctsBox-top .img-01 {
    display: none;
  }

  #top-message .ctsBox-btm {
    width: 100%;
    margin-top: 60px;
    position: relative;
    overflow: hidden;
  }

  #top-message .ctsBox-btm .img-02 {
    display: block;
    width: 100%;
    padding: 30px 0;
    margin: 0 auto;
    position: relative;
  }

  #top-message .ctsBox-btm ul.txtline-loop {
    position: absolute;
  }

  #top-message .ctsBox-btm ul.txtline-loop-right {
    bottom: 0;
  }

  #top-message .ctsBox-btm ul.txtline-loop-left {
    top: 0;
  }

  #top-message .ctsBox-btm ul.txtline-loop li img {
    height: 60px;
  }

  /*-- top-links --*/
  #top-links {
    background: url(../Images/top-links-bg.png) center no-repeat;
    background-size: cover;
    padding: 70px 0;
    position: relative;
    overflow: hidden;
  }

  .webp #top-links {
    background: url(../Images/top-links-bg.png.webp) center no-repeat;
    background-size: cover;
  }

  #top-links .ctsBox {
    display: block;
    padding-top: 200px;
  }

  #top-links .ctsBox-right {}

  #top-links .ctsBox-left {
    margin: 70px 0;
  }

  #top-links .ctsBox .links-img {
    width: 100%;
    position: absolute;
    top: 0;
  }

  #top-links .ctsBox .links-img img {
    object-fit: cover;
    width: 100%;
    height: 300px;
  }

  #top-links .ctsBox-right .links-img {
    left: 0;
  }

  #top-links .ctsBox-left .links-img {
    right: 0;
  }

  #top-links .ctsBox .txtArea {
    width: calc(100% - 9.6vw);
    background: #fff;
    padding: 45px 8%;
    margin: 0 auto;
    position: relative;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
  }

  #top-links .ctsBox-left .txtArea {}

  #top-links .ctsBox .txtArea h2 {
    color: #93db6c;
    font-size: 9vw;
    text-align: center;
  }

  #top-links .ctsBox .txtArea h2 span {}

  #top-links .ctsBox .txtArea .box {
    margin: 30px 0;
  }

  /*-- top-about --*/
  #top-about {
    width: 100%;
    padding: 70px 0 140px;
    overflow: hidden;
  }

  #top-about h2 {
    margin-bottom: 60px;
  }

  #top-about .h2-blue-bg:before {
    left: -60%;
  }

  #top-about .imgArea {
    position: relative;
  }

  #top-about .imgArea .about-img {
    object-fit: cover;
    width: 90%;
    height: 200px;
  }

  #top-about .imgArea .about-bluebox {
    object-fit: cover;
    width: 55%;
    height: 250px;
    position: absolute;
    top: 50px;
    right: 0;
    opacity: 0.5;
    z-index: -2;
  }

  #top-about .sec-inner {
    display: flex;
    flex-direction: column;
    row-gap: 40px;
    padding: 80px 0 0;
  }

  /*--------------------------------------------
    下層ページ共通
--------------------------------------------*/

  /*--  エリアと余白 --*/
  .under .inner {
    padding: 60px 0;
  }

  /*--  header下 --*/
  .under .page-ttlArea {
    background: url(../Images/under-h1-bg-sp.png) center no-repeat;
    background-size: cover;
    padding: 120px 0 100px;
    position: relative;
  }

  .webp .under .page-ttlArea {
    background: url(../Images/under-h1-bg-sp.png.webp) center top no-repeat;
    background-size: cover;
  }

  .under .page-ttlArea:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100px;
    background-image: linear-gradient(180deg, transparent 0 30%, #fff 100%);
    z-index: 1;
  }

  /*-- breadcrumbs（ぱんくず） --*/
  .under #breadcrumbs {
    display: none;
  }

  /*-- h1 --*/
  .under .page-ttlArea .txtArea {}

  .under .page-ttlArea .txtArea p.en {
    font-weight: 700;
    margin-bottom: 15px;
  }

  .under .page-ttlArea .txtArea .page-ttl {
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.33em;
  }

  /*-- ページ内ナビ --*/
  .under .page-ttlArea .pageNav {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
    margin-top: 60px;
    position: relative;
    z-index: 2;
  }

  .under .page-ttlArea .pageNav a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.4rem;
    letter-spacing: 0.25em;
    border: #3e3e3e 1px solid;
    border-radius: 100px;
    padding: 8px 4.8vw;
  }

  .under .page-ttlArea .pageNav a:after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0;
  }

  /*--  h2 --*/
  .under-h2 {
    margin-bottom: 50px;
  }

  .under-h2.center {
    text-align: center;
  }

  .under-h2.left {
    text-align: left;
  }

  .under-h2 span {
    display: block;
  }

  .under-h2 span.ja {
    font-size: 7vw;
    line-height: 1.4;
    font-weight: 600;
  }

  .under-h2 span.en {
    font-size: 1.7rem;
    font-weight: 700;
    line-height: 1.3;
    margin-top: 13px;
  }

  .under-h2 span.red {
    color: #54aaf1;
  }

  .under-h2 span.en.blue {
    color: #61cdd9;
  }

  .under-h2 span.en.green {
    color: #93db6c;
  }

  /*--  h2下リード文 --*/
  .under .leadArea {
    line-height: 2;
    margin-bottom: 60px;
  }

  .under .leadArea span {
    font-size: 1.8rem;
    font-weight: 600;
  }

  /*--  table-cmn --*/
  .table-cmn {
    width: 100%;
  }

  .table__head {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40px;
  }

  .recruitment_reservation {
    font-size: 15px;
    font-weight: bold;
    text-align: center;
    margin-top: 0px;
    margin-bottom: 10px;
  }

  .table-cmn th {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center;
    border-top: 1px solid #54aaf1;
    border-bottom: 1px solid #54aaf1;
    padding: 10px 0;
  }

  .table-cmn td {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    padding: 20px 2.4vw 60px;
  }

  .table-cmn td dl+dl,
  .table-cmn td .btn-cmn {
    margin-top: 20px;
  }

  .table-cmn td ul+p,
  .table-cmn td p+ul {
    margin-top: 10px;
  }

  .table-cmn td dl dt {
    color: #54aaf1;
    font-size: 1.6rem;
  }

  .table-cmn td iframe {
    width: 100%;
    height: 200px;
    margin-top: 20px;
  }

  /*--  num-ttl --*/
  .num-ttl {
    display: flex;
    align-items: flex-start;
    gap: 4%;
    font-size: 2.1rem;
    font-weight: 600;
    line-height: 1.5;
  }

  .num-ttl span {
    flex-shrink: 0;
  }

  .num-ttl:before {
    flex-shrink: 0;
    content: attr(data-number);
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.9rem;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 1;
  }

  .num-ttl.red:before {
    color: #54aaf1;
  }

  .num-ttl.blue:before {
    color: #61cdd9;
  }

  .num-ttl.green:before {
    color: #93db6c;
  }

  /*--  side-en-ttl --*/
  .side-en-ttl {
    display: flex;
    align-items: flex-end;
    column-gap: 20px;
    font-weight: 600;
    line-height: 1;
  }

  .side-en-ttl.center {
    justify-content: center;
  }

  .side-en-ttl.left {
    justify-content: flex-start;
  }

  .side-en-ttl span {}

  .side-en-ttl span.ja {
    font-size: 2.1rem;
    line-height: 1.4;
    font-weight: 600;
  }

  .side-en-ttl span.en {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
  }

  .side-en-ttl span.en.red {
    color: #54aaf1;
  }

  .side-en-ttl span.en.blue {
    color: #61cdd9;
  }

  .side-en-ttl span.en.green {
    color: #93db6c;
  }

  /*--  btm-en-ttl --*/
  .btm-en-ttl.center {
    text-align: center;
  }

  .btm-en-ttl.left {
    text-align: left;
  }

  .btm-en-ttl span {
    display: block;
    line-height: 1;
  }

  .btm-en-ttl span.ja {
    font-size: 2.1rem;
    line-height: 1.4;
    font-weight: 600;
    margin-bottom: 10px;
  }

  .btm-en-ttl span.en {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.3;
  }

  .btm-en-ttl span.en.red {
    color: #54aaf1;
  }

  .btm-en-ttl span.en.blue {
    color: #61cdd9;
  }

  .btm-en-ttl span.en.green {
    color: #93db6c;
  }

  /*--  check-list --*/
  .check-list {}

  .check-list li {
    display: flex;
    column-gap: 13px;
    line-height: 1.7;
  }

  .check-list li:before {
    content: "\f00c";
    font-family: "Font Awesome 5 Free";
    font-size: 1.2rem;
    font-weight: 600;
    padding-top: 4px;
  }

  .check-list.red li:before {
    color: #54aaf1;
  }

  .check-list.blue li:before {
    color: #61cdd9;
  }

  .check-list.green li:before {
    color: #93db6c;
  }

  .check-list li+li {
    margin-top: 5px;
  }

  /*-- tab-panel --*/
  .tabNav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 12px;
    margin-bottom: 50px;
  }

  .tabNav .tab {
    width: 100%;
  }

  .tabNav .tab.is-active {
    background: #54aaf1;
  }

  .tabNav .tab.is-active span {
    color: #fff;
  }

  .tabNav .tab.is-active:after {
    color: #fff;
    right: 5%;
  }

  .panelBox .panel {
    display: none;
  }

  .panelBox .panel.is-show {
    display: block;
  }

  /*--  tapimgBox --*/
  .tapimgBox {
    text-align: center;
  }

  .tapimgBox p {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-top: 15px;
  }

  .tapimgBox p:before {
    display: block;
    content: "\f00e";
    color: #54aaf1;
    font-family: "Font Awesome 5 Free";
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    padding-top: 2px;
    margin-right: 10px;
  }

  .tapimgBox p span {
    display: block;
    font-size: 1.3rem;
    line-height: 1;
  }

  /*--  video --*/
  .video {
    position: relative;
    width: 100%;
    height: 0;
    padding: 30px 0 56.25%;
    overflow: hidden;
  }

  .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  /*--------------------------------------------
    エントリー（#entry）
--------------------------------------------*/
  #entry {}

  #entry #sec01 .ctsBox {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
  }

  #entry #sec01 .ctsBox .box {
    text-align: center;
  }

  #entry #sec01 .ctsBox .box h3 {
    margin-bottom: 25px;
  }

  #entry #sec01 .ctsBox .box img {
    width: 100%;
    border-radius: 10px;
  }

  #entry #sec02 {
    background: url(../Images/top-links-bg.png) top no-repeat;
    background-size: cover;
    padding-bottom: 120px;
    position: relative;
  }

  .webp #entry #sec02 {
    background: url(../Images/top-links-bg.png.webp) top no-repeat;
    background-size: cover;
  }

  #entry #sec02 .flow-list,
  #entry #sec01 .flow-list {
    display: flex;
    flex-direction: column;
    row-gap: 40px;
  }

  #entry #sec02 .flow-list-btm,
  #entry #sec01 .flow-list-btm {
    margin-top: 40px;
  }

  #entry #sec02 .flow-list li,
  #entry #sec01 .flow-list li {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 30px 7vw;
    position: relative;
  }

  #entry #sec02 .flow-list li:after,
  #entry #sec01 .flow-list li:after {
    content: "\f103";
    color: #69bbff;
    font-family: "Font Awesome 5 Free";
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }

  #entry #sec02 .flow-list-btm li:last-child:after,
  #entry #sec01 .flow-list-btm li:last-child:after {
    content: none;
  }

  /* #entry #sec02 .flow-list li dl {
    width: 65%;
  } */
  #entry #sec02 .flow-list li dt,
  #entry #sec01 .flow-list li dt {
    color: #54aaf1;
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 5px;
  }

  #entry #sec02 .flow-list li dd,
  #entry #sec01 .flow-list li dd {
    font-weight: 500;
    line-height: 1.7;
  }

  #entry #sec02 .flow-list li img {
    height: 140px;
  }

  #entry #sec02 .flow-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    row-gap: 30px;
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 40px 7vw;
  }

  #entry #sec02 .flow-box img {
    height: 200px;
  }

  #entry #sec02 .flow-box li+li {
    margin-top: 20px;
  }

  #entry #sec02 .flow-box .num-ttl {
    font-size: 1.5rem;
    font-weight: 500;
  }

  /*--------------------------------------------
    3ACについて（#about）
--------------------------------------------*/
  #about {}

  #about #sec01 {}

  #about #sec01 h2 {
    margin-bottom: 80px;
  }

  #about #sec01 .ctsBox {
    position: relative;
  }

  #about #sec01 .ctsBox+.ctsBox {
    margin-top: 60px;
  }

  #about #sec01 .ctsBox .ttl-bg {
    object-fit: cover;
    width: 80%;
    height: 160px;
    position: absolute;
    top: 50px;
  }

  #about #sec01 .ctsBox-left .ttl-bg {
    left: 0;
  }

  #about #sec01 .ctsBox-right .ttl-bg {
    right: 0;
  }

  #about #sec01 .ctsBox-01 .ttl-bg {
    top: 65px;
  }

  #about #sec01 .ctsBox h3 {
    margin-bottom: 20px;
  }

  #about #sec01 .ctsBox-right h3 {
    text-align: right;
  }

  #about #sec01 .ctsBox h3 span {
    display: block;
    font-weight: 700;
    line-height: 1;
  }

  #about #sec01 .ctsBox h3 span.ja {
    font-size: 1.8rem;
    margin-bottom: 12px;
  }

  #about #sec01 .ctsBox h3 span.en {
    color: #93db6c;
    font-size: 11vw;
    line-height: 1.05;
  }

  #about #sec01 .ctsBox .box-inner {
    width: 100%;
  }

  #about #sec01 .ctsBox .box-inner .sec01-img {
    object-fit: cover;
    width: 100%;
    height: 160px;
    margin-bottom: 35px;
    border: solid 1.5px #93db6c;
  }

  #about #sec01 .ctsBox-right .box-inner .txtArea {
    text-align: right;
  }

  #about #sec01 .ctsBox .box-inner .txtArea h4 {
    font-size: 7vw;
    line-height: 1.25;
    margin-bottom: 15px;
  }

  #about #sec01 .ctsBox .box-inner .txtArea h4 span {
    color: #93db6c;
  }

  #about #sec01 .ctsBox .box-inner .txtArea dt {
    color: #93db6c;
    font-size: 1.8rem;
    line-height: 1.7;
    margin-bottom: 25px;
  }

  #about #sec01 .ctsBox .box-inner .txtArea dd {
    line-height: 2.3;
  }

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 40px;
  }

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .ttl {
    line-height: 1;
    margin-bottom: 25px;
  }

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .ttl h4 {
    letter-spacing: 0.15em;
    line-height: 1;
    margin: 0;
  }

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .ttl p.ja {
    color: #93db6c;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 10px;
  }

  /*#about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li {*/
  /*  display: flex;*/
  /*}*/

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li+li {
    margin-top: 15px;
  }

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li span {
    /*width: 2em;*/
    color: #93db6c;
    font-size: 2.2rem;
    font-weight: 700;
    line-height: 1;
  }

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li p {
    line-height: 1;
  }

  #about #sec02 {
    padding: 60px 0 0;
    overflow: hidden;
  }

  #about #sec02 .ctsBox-top .box {
    padding: 450px 0 60px;
    position: relative;
  }

  #about #sec02 .ctsBox-top .box .sec02-img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 400px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }

  #about #sec02 .ctsBox-top .box-02 .sec02-img {
    object-position: top;
  }

  #about #sec02 .ctsBox-top .box .sec02-bg {
    object-fit: cover;
    width: 60%;
    position: absolute;
    z-index: -1;
  }

  #about #sec02 .ctsBox-top .box-01 .sec02-bg {
    height: 50%;
    bottom: -60px;
    left: 0;
  }

  #about #sec02 .ctsBox-top .box-02 .sec02-bg {
    height: 30%;
    bottom: 0;
    right: 0;
  }

  #about #sec02 .ctsBox-top .box-01 .sec02-ttl {
    width: 60%;
    position: absolute;
    top: 265px;
    right: -30%;
    z-index: 80;
  }

  #about #sec02 .ctsBox-top .box .box-inner .txt h3 {
    color: #61cdd9;
    font-size: 6vw;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.18em;
    line-height: 1.5;
    margin-bottom: 30px;
  }

  #about #sec02 .ctsBox-top .box .box-inner .txt p {
    line-height: 2;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign {
    margin-bottom: 60px;
    position: relative;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign h2 {
    font-size: 8vw;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.15em;
    line-height: 1.5;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign dl {
    display: flex;
    justify-content: flex-end;
    align-items: end;
    column-gap: 5%;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign dl dt {
    flex-shrink: 1;
    font-size: 4.5vw;
    font-weight: 700;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign dl dd {
    flex-shrink: 1;
    width: 40%;
  }

  #about #sec02 .ctsBox-btm {
    background: url(../Images/top-links-bg.png) center no-repeat;
    background-size: cover;
    padding: 60px 0;
    position: relative;
  }

  .webp #about #sec02 .ctsBox-btm {
    background: url(../Images/top-links-bg.png.webp) center no-repeat;
    background-size: cover;
  }

  #about #sec02 .ctsBox-btm:before,
  #about #sec02 .ctsBox-btm:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 60px;
  }

  #about #sec02 .ctsBox-btm:before {
    top: 0;
    background-image: linear-gradient(0deg, transparent 0 50%, #fff 100%);
  }

  #about #sec02 .ctsBox-btm:after {
    bottom: 0;
    background-image: linear-gradient(180deg, transparent 0 50%, #fff 100%);
  }

  #about #sec02 .ctsBox-btm h3 {
    margin-bottom: 30px;
  }

  #about #sec02 .ctsBox-btm ul {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }

  #about #sec02 .ctsBox-btm ul li {
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 35px 7.2vw;
  }

  #about #sec02 .ctsBox-btm ul li dt {
    display: flex;
    font-size: 1.8rem;
    padding: 0;
    margin-bottom: 15px;
  }

  #about #sec03 {
    padding-bottom: 120px;
  }

  #about #sec03 .ctsBox {
    flex-direction: column-reverse;
    row-gap: 40px;
  }

  #about #sec03 .ctsBox .txtArea {
    width: 100%;
  }

  #about #sec03 .ctsBox .txtArea .btn-cmn {
    margin-top: 40px;
  }

  #about #sec03 .ctsBox .txtArea .btn-cmn span {
    font-size: 3.4vw;
  }

  #about #sec03 .ctsBox picture {
    text-align: center;
  }

  #about #sec03 .ctsBox img {
    width: 80%;
  }

  @media print,
  screen and (max-width: 320px) {
    #about #sec01 .ctsBox .box-inner .txtArea dt {
      font-size: 1.6rem;
      letter-spacing: 0.15em;
    }

    #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .ttl p.ja {
      font-size: 1.6rem;
    }

    #about #sec01 .ctsBox .box-inner .txtArea dd {
      font-size: 1.4rem;
      line-height: 2;
    }

    #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .ttl h4 {
      font-size: 8vw;
    }

    #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li+li {
      margin-top: 12px;
    }

    #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li span {
      flex-shrink: 1;
      width: 2.2em;
      font-size: 2rem;
      padding-top: 2px;
    }

    #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .num-list li p {
      flex-shrink: 1;
      width: calc(100% - 2.2em);
      line-height: 1.5;
    }

    #about #sec02 .ctsBox-top .box .box-inner .txt p,
    #about #sec02 .ctsBox-btm ul li dd {
      font-size: 1.4rem;
    }
  }

  /*--------------------------------------------
    働く環境・社内制度（#environment）
--------------------------------------------*/
  #environment .page-ttlArea .txtArea p.en {
    font-size: 11.5vw;
  }

  #environment #sec01 .leadArea span {
    display: block;
    line-height: 1.8;
    text-align: center;
    margin-bottom: -1.5em;
  }

  #environment #sec01 .ctsBox {
    flex-direction: column;
    justify-content: center;
    row-gap: 60px;
  }

  #environment #sec01 .cts {
    width: 100%;
  }

  #environment #sec01 .cts img {
    width: 60%;
    margin: 30px 20%;
  }

  #environment .systems .ttl-img {
    margin-bottom: 25px;
  }

  #environment #sec02.systems h2 {
    margin-bottom: 0;
  }

  #environment #sec02.systems h2 span.en {
    margin-top: 8px;
  }

  #environment .systems .ctsBox {
    display: flex;
    flex-wrap: wrap;
    gap: 40px 8%;
    margin-top: 50px;
  }

  #environment .systems .ctsBox li {
    width: 46%;
  }

  #environment .systems .ctsBox li .num {
    display: block;
    font-size: 4.2rem;
    font-weight: bold;
    line-height: 1;
    padding-bottom: 2px;
  }

  #environment #sec02.systems .ctsBox li .num {
    color: #61cdd9;
    border-bottom: #61cdd9 3px solid;
  }

  #environment #sec03.systems .ctsBox li .num {
    color: #93db6c;
    border-bottom: #93db6c 3px solid;
  }

  #environment .systems .ctsBox li h3 {
    font-size: 2.1rem;
    line-height: 1.4;
    margin: 21px 0 10px;
  }

  #environment #sec04 {
    background: url(../Images/top-links-bg.png) top no-repeat;
    background-size: cover;
    padding-bottom: 120px;
    position: relative;
  }

  #environment #sec04 .ctsBox {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 40px 7.2vw;
  }

  #environment #sec04 h3 {
    font-size: 5vw;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 25px;
  }

  #environment #sec04 .chart-container {
    position: relative;
    width: 260px !important;
    height: 260px !important;
    margin: 0 auto;
  }

  @media print,
  screen and (max-width: 320px) {
    #environment #sec04 .chart-container {
      width: 200px !important;
      height: 200px !important;
    }
  }

  #environment #sec04 .chartjs-render-monitor {
    animation: chartjs-render-animation 5ms;
  }

  #environment #sec04 .chart-container .figure {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }

  #environment #sec04 .column {
    display: flex;
    flex-direction: column;
    row-gap: 60px;
  }

  #environment #sec04 .column li {
    width: 100%;
    text-align: center;
    position: relative;
  }

  #environment #sec04 .column li .space {
    display: block;
    width: 100%;
    height: 50%;
    position: absolute;
    bottom: 0;
  }

  #environment #sec04 .column li p.txt {
    letter-spacing: 0.18em;
    margin-top: 20px;
  }

  #environment #sec04 p.count {
    font-size: 8vw;
    font-weight: 700;
    line-height: 1;
    text-align: center;
  }

  #environment #sec04 p.count span {
    color: #54aaf1;
    font-family: "Josefin Sans", sans-serif;
    font-size: 24vw;
    font-weight: 700;
  }

  #environment #sec04 .no-01 {
    position: relative;
  }

  #environment #sec04 .no-01 .box h3 {
    margin-bottom: 20px;
  }

  #environment #sec04 .no-01 .box-btm {
    margin: 40px 0;
  }

  #environment #sec04 .no-01 .figure-01 {
    width: 100%;
    margin-top: 40px;
  }

  #environment #sec04 .no-01 .box-btm .comment {
    text-align: center;
    margin-top: -8px;
  }

  #environment #sec04 .no-01 .txt-btm {
    font-weight: 600;
    text-align: center;
  }

  #environment #sec04 .no-01 .txt-btm span {
    color: #54aaf1;
  }

  #environment #sec04 .no-02 .txt {
    margin-top: 0;
  }

  #environment #sec04 .no-1112-inner+.no-1112-inner {
    margin-top: 40px;
  }

  #environment #sec04 .no-1112-inner h3 {
    margin-bottom: 20px;
  }

  #environment #sec04 .no-13 .no-13-inner {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }

  #environment #sec04 .no-13 .inner-right .figure-13 {
    width: 100%;
  }

  /*--------------------------------------------
    社員の1日（#oneday）
--------------------------------------------*/
  #oneday #sec02 {
    background: url(../Images/top-links-bg.png) top no-repeat;
    background-size: cover;
    padding-bottom: 120px;
    position: relative;
  }

  .webp #oneday #sec02 {
    background: url(../Images/top-links-bg.png.webp) top no-repeat;
    background-size: cover;
  }

  #oneday #sec02 .ctsBox {
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.3));
    padding: 50px 7.2vw 50px;
  }

  #oneday #sec02 .ctsBox .tabNav .tab {
    padding: 10px 2%;
  }

  #oneday #sec02 .ctsBox .tabNav .tab:after {
    content: none;
  }

  #oneday #sec02 .ctsBox .tabNav .tab span {
    font-size: 3.5vw;
  }

  #oneday #sec02 .ctsBox .schedule li+li {
    margin-top: 40px;
  }

  #oneday #sec02 .ctsBox .schedule dl dt {
    display: flex;
    align-items: flex-start;
    column-gap: 15px;
  }

  #oneday #sec02 .ctsBox .schedule dl dt .clock {
    height: 35px;
  }

  #oneday #sec02 .ctsBox .schedule dl dt p {
    color: #54aaf1;
    font-family: "Josefin Sans", sans-serif;
    font-size: 2rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    margin: 0;
  }

  #oneday #sec02 .ctsBox .schedule dl .cts {
    width: 100%;
    padding-left: 50px;
  }

  #oneday #sec02 .ctsBox .schedule dl .cts.withimg img {
    width: 100%;
    margin-top: 15px;
  }

  #oneday #sec02 .ctsBox .schedule dl .cts .txtArea h3 {
    font-size: 2.1rem;
    line-height: 1;
    margin-top: -8px;
    margin-bottom: 15px;
  }

  #oneday #sec02 .ctsBox .panel .btn-cmn {
    margin-top: 40px;
  }

  /*--------------------------------------------
    成長の機会（#career）
--------------------------------------------*/
  #career {}

  #career #sec01 .cts {
    margin-top: -20px;
  }

  #career #sec02 {
    padding-bottom: 120px;
    overflow: hidden;
  }

  #career #sec02 .ctsBox,
  #career #sec02 .ctsBox .box {
    flex-direction: column;
    align-items: flex-start;
  }

  #career #sec02 .ctsBox {
    row-gap: 20px;
  }

  #career #sec02 .ctsBox+.ctsBox {
    margin-top: 50px;
  }

  #career #sec02 .ctsBox h3 {
    font-size: 5.8vw;
    line-height: 1.7;
  }

  #career #sec02 .ctsBox-01 h3 {
    color: #93db6c;
  }

  #career #sec02 .ctsBox-02 h3 {
    color: #61cdd9;
  }

  #career #sec02 .ctsBox-03 h3 {
    color: #54aaf1;
  }

  #career #sec02 .ctsBox h3 span {
    display: inline-block;
    color: #999;
    font-size: 4vw;
    margin-left: 3vw;
  }

  #career #sec02 .ctsBox-inner {
    width: 100%;
    padding-left: 30px;
    position: relative;
  }

  #career #sec02 .ctsBox-inner:before {
    display: block;
    content: "";
    width: 4px;
    height: calc(100% - 10px);
    position: absolute;
    top: 0;
    left: 0;
  }

  #career #sec02 .ctsBox-01 .ctsBox-inner:before {
    background: #93db6c;
  }

  #career #sec02 .ctsBox-02 .ctsBox-inner:before {
    background: #61cdd9;
  }

  #career #sec02 .ctsBox-03 .ctsBox-inner:before {
    background: #54aaf1;
  }

  #career #sec02 .ctsBox-inner:after {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 13px 10px 0 10px;
    position: absolute;
    bottom: 0;
    left: -8px;
  }

  #career #sec02 .ctsBox-01 .ctsBox-inner:after {
    border-color: #93db6c transparent transparent transparent;
  }

  #career #sec02 .ctsBox-02 .ctsBox-inner:after {
    border-color: #61cdd9 transparent transparent transparent;
  }

  #career #sec02 .ctsBox-03 .ctsBox-inner:after {
    border-color: #54aaf1 transparent transparent transparent;
  }

  #career #sec02 .ctsBox .box {
    row-gap: 25px;
  }

  #career #sec02 .ctsBox .box+.box {
    margin-top: 50px;
  }

  #career #sec02 .ctsBox .box picture {
    width: 100%;
  }

  #career #sec02 .ctsBox .box img {
    object-fit: cover;
    width: 100%;
    height: 170px;
  }

  #career #sec02 .ctsBox .box dl {
    width: 100%;
  }

  #career #sec02 .ctsBox .box dl dt {
    margin-bottom: 15px;
  }

  #career #sec02 .ctsBox .box dl dd {
    padding-left: 5%;
  }

  #career #sec02 .ctsBox-04 {
    position: relative;
  }

  #career #sec02 .ctsBox-04 .sec-inner {
    margin-top: 40px;
    position: relative;
  }

  #career #sec02 .ctsBox-04 h3 span {
    display: block;
    line-height: 1;
  }

  #career #sec02 .ctsBox-04 h3 span.en {
    color: #54aaf1;
    font-size: 12vw;
    letter-spacing: 0.13em;
    margin-bottom: 15px;
  }

  #career #sec02 .ctsBox-04 h3 span.ja {
    font-size: 1.6rem;
  }

  #career #sec02 .ctsBox-04 .ctsBox-04-img {
    margin: 35px 0 25px;
  }

  /*--------------------------------------------
    メッセージ（#cmessage）
--------------------------------------------*/
  #message {
    position: relative;
  }

  #message #sec01 {
    text-align: center;
    background: url(../Images/message-sec01-bg-sp.png) center top no-repeat;
    background-size: cover;
    padding: 120px 0 60px;
    margin-bottom: -20px;
    position: relative;
    overflow: hidden;
  }

  .webp #message #sec01 {
    background: url(../Images/message-sec01-bg-sp.png.webp) center top no-repeat;
    background-size: cover;
  }

  #message #sec01:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 120px;
    background-image: linear-gradient(180deg, transparent 0 0, #fff 100%);
  }

  #message #sec01 h1 {
    font-size: 8vw;
    font-style: italic;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.2em;
  }

  #message #sec01 .txtArea {
    line-height: 2;
    letter-spacing: 0.25em;
    padding: 0 9.6vw;
    margin: 30px 0 60px;
    position: relative;
    z-index: 50;
  }

  #message #sec01 .txtArea span {
    font-size: 7vw;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.2em;
  }

  #message #sec01 .movieArea {
    width: calc(100% - 9.6vw);
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }

  #message #sec01 .movieArea .sec01-txt {
    width: 50%;
    position: absolute;
    top: -30%;
    left: -20%;
    z-index: -1;
  }

  #message #sec01 .movieArea .sec01-thumbnail {
    width: 100%;
    height: 100%;
  }

  #message #sec01 .movieArea .embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden;
    padding-top: 56%;
  }

  #message #sec01 .movieArea .embed-responsive iframe,
  #message #sec01 .movieArea .embed-responsive img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    border: 0;
  }

  #message #sec01 .movieArea .embed-responsive iframe {
    width: 100%;
    height: 100%;
  }

  #message #sec01 .movieArea .embed-responsive img {
    height: auto;
  }

  #message #sec02 .ctsBox {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 40px;
  }

  #message #sec02 .ctsBox+.ctsBox {
    margin-top: 80px;
  }

  #message #sec02 .ctsBox picture {
    width: 100%;
  }

  #message #sec02 .ctsBox img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 200px;
  }

  #message #sec02 .ctsBox h3 {
    margin-bottom: 30px;
  }

  #message #sec03 {
    padding-bottom: 120px;
  }

  #message #sec03 picture {
    width: 100%;
  }

  #message #sec03 img {
    object-fit: cover;
    width: 100%;
    height: 140px;
  }

  #message #sec03 h2 {
    text-align: center;
    margin-bottom: 30px;
  }

  #message #sec03 h2 span.en {
    margin-top: 8px;
  }

  #message #sec03 .ctsBox {
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
  }

  #message #sec03 .rightArea .btn-cmn {
    margin-top: 40px;
  }

  /*--------------------------------------------
    インタビュー（#interview）
--------------------------------------------*/
  #interview {}

  /*-- top-interview --*/
  #top-interview {
    padding: 140px 0 70px;
    overflow: hidden;
  }

  #top-interview h2 {
    margin: 0 0 110px 4.8vw;
  }

  #top-interview .linkArea {
    text-align: center;
    margin: 0 4.8vw;
    position: relative;
    z-index: 10;
  }

  #top-interview .interview-list .slide-arrow {
    width: 50px;
    height: 50px;
    background: none;
    border: none;
    padding: 0;
    position: absolute;
    top: -70px;
  }

  #top-interview .interview-list .prev-arrow {
    right: calc(70px + 4.8vw);
  }

  #top-interview .interview-list .next-arrow {
    right: 4.8vw;
  }

  #top-interview .slick-track {
    display: flex !important;
    align-items: flex-start;
  }

  #top-interview .interview-list {
    width: 100%;
    position: relative;
  }

  #top-interview .interview-list li {
    flex-shrink: 0;
  }

  #top-interview .slick-slide {
    margin: 1.8vw;
  }

  /*-- interview--*/
  #interview .leadArea {
    margin-bottom: 40px;
  }

  #interview #sec02 {
    padding-bottom: 120px;
  }

  #interview #sec01 .interviewNav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 2%;
    margin: 0 0 50px;
  }

  #interview #sec01 .interviewNav li {
    width: 49%;
  }

  #interview #sec01 .interviewNav li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: #fff;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: 0.15em;
    background: #61cdd9;
    border-radius: 100px;
    padding: 4px 10% 5px;
  }

  #interview #sec01 .interviewNav li a:after {
    content: "\f061";
    font-family: "Font Awesome 5 Free";
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0;
  }

  #interview #sec01 .ctsBox+.ctsBox {
    padding-top: 40px;
  }

  #interview #sec01 .ctsBox h3 {
    margin-bottom: 30px;
  }

  #interview .interview-list {
    width: 100%;
    flex-direction: column;
    row-gap: 20px;
  }

  #interview .interview-list>li {
    width: 100%;
  }

  .interview-list li a {
    width: 100%;
    padding-left: 2.2em;
    position: relative;
  }

  .interview-list li a:before {
    display: block;
    content: "";
    width: 2px;
    height: 80px;
    background: #61cdd9;
    position: absolute;
    top: 0;
    left: 0.4em;
  }

  .interview-list li p.busyo {
    font-size: 1.4rem;
    font-weight: 600;
    transform: rotate(90deg);
    transform-origin: 0% 0%;
    position: absolute;
    top: 100px;
    left: 1.5em;
  }

  .interview-list li .imgArea {
    position: relative;
    z-index: -1;
  }

  .interview-list li .imgArea img {
    object-fit: cover;
    object-position: 0 -15px;
    width: 100%;
    height: 310px;
  }

  .interview-list li .cts-btm {
    width: 90%;
    background: #fff;
    padding: 30px 8%;
    margin-top: -60px;
    margin-left: -2px;
  }

  .interview-list li .cts-btm dt {
    font-size: 1.8rem;
    line-height: 1;
    margin-bottom: 20px;
  }

  .interview-list li .cts-btm dt span {
    display: block;
    color: #61cdd9;
    font-size: 1.4rem;
    margin-top: 12px;
  }

  .interview-list li .cts-btm dd {}

  .interview-list li .cts-btm dd li {
    color: #3e3e3e;
    font-size: 1.4rem;
    line-height: 1;
  }

  .interview-list li .cts-btm dd li:before {
    content: "\23";
    color: #61cdd9;
    font-family: "Font Awesome 5 Free";
    font-size: 1.3rem;
    font-weight: 600;
    margin-right: 8px;
  }

  .interview-list li .cts-btm dd li+li {
    margin-top: 10px;
  }

  #interview #sec02 {
    background: url(../Images/top-links-bg.png) center no-repeat;
    background-size: cover;
    padding-bottom: 120px;
    margin-top: -30px;
    position: relative;
  }

  #interview #sec02 .tabNav {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 10px 2%;
    margin: 0 0 50px;
  }

  #interview #sec02 .tabNav li.tab {
    display: flex;
    justify-content: space-between;
    width: 49%;
    padding: 4px 5% 3px;
  }

  #interview #sec02 .tabNav li.tab span {
    font-size: 1.4rem;
    letter-spacing: 0.15em;
  }

  #interview #sec02 .panelBox .student-list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 4%;
  }

  #interview #sec02 .panelBox .student-list>li {
    width: 48%;
  }

  #interview #sec02 .panelBox .student-list li a {
    width: 100%;
  }

  #interview #sec02 .panelBox .student-list li a .imgArea {
    display: block;
    overflow: hidden;
  }

  #interview #sec02 .panelBox .name {
    text-align: center;
  }

  #interview #sec02 .panelBox .name dt {
    color: #69bbff;
    line-height: 1;
    margin: 15px 0 4px;
  }

  /*-- modal --*/
  .md-overlay {
    display: none;
    width: 100%;
    height: 100%;
    background: #3e3e3e;
    position: fixed;
    top: 0;
    left: 0;
    opacity: 0.8;
    z-index: 9999;
  }

  .md-contents {
    display: none;
    width: 90%;
    max-height: 90vh;
    background: #fff;
    border-radius: 15px;
    padding: 15px 4.8vw 30px;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    overflow: scroll;
    z-index: 10000;
  }

  .md-xmark {
    position: sticky;
    top: 0;
    right: 0;
    display: block;
    width: 40px;
    height: 40px;
    border: #69bbff 2px solid;
    border-radius: 50%;
    margin: 0 0 0 calc(100% - 40px);
  }

  .md-xmark span {
    display: block;
    width: 17px;
    height: 2px;
    margin: auto;
    background-color: #69bbff;
    position: absolute;
    left: 0;
    right: 0;
    top: calc((100% - 2px) / 2);
    border-radius: 3px;
    transition: 0.2s;
  }

  .md-xmark span:nth-of-type(1) {
    transform: rotate(45deg);
  }

  .md-xmark span:nth-of-type(2) {
    transform: rotate(-45deg);
  }

  .md-inner {
    width: 100%;
    margin-top: -30px;
  }

  .md-inner .survey .survey-top {
    display: flex;
    align-items: center;
    column-gap: 5%;
  }

  .md-inner .survey .survey-top .imgArea {
    width: 45%;
  }

  .md-inner .survey .survey-top img {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 150px;
  }

  .md-inner .survey .survey-top .txtArea {
    line-height: 1;
  }

  .md-inner .survey .survey-top h3 {
    font-size: 2.4rem;
    margin-bottom: 20px;
  }

  .md-inner .survey .survey-top ul li {
    display: flex;
    font-size: 1.4rem;
    line-height: 1.4;
  }

  .md-inner .survey .survey-top ul li:before {
    content: "\23";
    color: #54aaf1;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    line-height: 1;
    padding-top: 2px;
    margin-right: 4px;
  }

  .md-inner .survey .survey-top ul li+li {
    margin-top: 5px;
  }

  .md-inner .survey dl {
    margin-top: 30px;
  }

  .md-inner .survey dt {
    gap: 3%;
    font-size: 4.8vw;
    margin-bottom: 10px;
  }

  .md-inner .survey dd {
    font-size: 1.4rem;
  }

  @media print,
  screen and (max-width: 320px) {
    .md-inner {
      margin-top: -5px;
    }

    .md-inner .survey .survey-top ul li+li {
      margin-top: 10px;
    }
  }

  /*--------------------------------------------
    インタビュー個別ページ（#interview-single）
--------------------------------------------*/
  #interview-single {}

  #interview-single p.txt {
    font-size: 1.4rem;
    line-height: 2.1;
  }

  #interview-single .page-ttlArea {
    background-size: 100% 50%;
    background-position: top;
    padding-bottom: 60px;
    margin: 0;
  }

  #interview-single .page-ttlArea:after {
    content: none;
  }

  #interview-single .prof {
    display: flex;
    align-items: flex-start;
    column-gap: 8%;
    padding-top: 240px;
    position: relative;
  }

  #interview-single .prof p.with {
    flex-shrink: 1;
    width: 1em;
    height: fit-content;
    color: #61cdd9;
    font-weight: 600;
    letter-spacing: 0.2em;
    writing-mode: vertical-rl;
    white-space: nowrap;
    position: relative;
    z-index: 20;
  }

  #interview-single .prof .en-large {
    font-size: 8vw;
  }

  #interview-single .prof img {
    object-fit: cover;
    width: 100%;
    height: 200px;
    margin: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
  }

  #interview-single .prof .txtArea {
    flex-shrink: 1;
    width: calc((100% - 1em) - 8%);
  }

  #interview-single .prof .txtArea .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 5%;
  }

  #interview-single .prof .txtArea .tags li {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
  }

  #interview-single .prof .txtArea .tags li:before {
    content: "\23";
    color: #61cdd9;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    margin-right: 5px;
  }

  #interview-single .prof .txtArea h1 {
    line-height: 1;
    margin: 30px 0;
  }

  #interview-single .prof .txtArea h1 span {
    display: block;
  }

  #interview-single .prof .txtArea h1 span.ja {
    font-size: 9vw;
    margin-bottom: 14px;
  }

  #interview-single .prof .txtArea h1 span.en {
    color: #61cdd9;
    font-size: 5.2vw;
  }

  #interview-single .prof .txtArea h1:after {
    display: block;
    content: "";
    width: 50px;
    height: 1px;
    background: #61cdd9;
    margin-top: 40px;
  }

  #interview-single #sec01 {
    padding: 60px 0 0;
  }

  #interview-single #sec01 .ctsBox {
    position: relative;
    padding: 360px 0 60px;
  }

  #interview-single #sec01 .ctsBox .sec-inner {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
  }

  #interview-single #sec01 .ctsBox .bg-green {
    object-fit: cover;
    height: 60%;
    position: absolute;
    z-index: -1;
  }

  #interview-single #sec01 .ctsBox-top .bg-green {
    width: 40%;
    top: -60px;
    right: 0;
  }

  #interview-single #sec01 .ctsBox-btm .bg-green {
    width: 50%;
    top: -120px;
    left: 0;
  }

  #interview-single #sec01 .ctsBox .photo {
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 300px;
    position: absolute;
    top: 0;
    left: 0;
  }

  #interview-single #sec01 .ctsBox .box {
    width: 100%;
  }

  #interview-single #sec01 .ctsBox .box .question {
    line-height: 1;
    margin-bottom: 30px;
  }

  #interview-single #sec01 .ctsBox .box .question .ornament {
    margin-bottom: 8px;
  }

  #interview-single #sec01 .ctsBox .box .question .ornament span {
    display: inline-block;
    color: #93db6c;
    font-weight: 700;
  }

  #interview-single #sec01 .ctsBox .box .question .ornament .en {
    font-size: 1.8rem;
    margin-right: 4px;
  }

  #interview-single #sec01 .ctsBox .box .question .ornament .en-Josefin {
    font-size: 2.4rem;
  }

  #interview-single #sec01 .ctsBox .box .question h3 {
    font-size: 2.1rem;
    letter-spacing: 0.18em;
    line-height: 1.6;
  }

  #interview-single #sec02 {
    width: 100%;
    overflow: hidden;
  }

  #interview-single #sec02 .ttlArea {
    width: calc(100% - 9.6vw);
    text-align: center;
    margin: 0 4.8vw 60px;
  }

  #interview-single #sec02 .ttlArea h2 span {
    display: block;
    color: #54aaf1;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.25em;
    margin-bottom: 20px;
  }

  #interview-single #sec02 .ctsBox .circle {
    width: 100%;
    position: absolute;
    opacity: 0.3;
    z-index: -1;
  }

  #interview-single #sec02 .ctsBox-top .circle {
    bottom: 40%;
    right: -40%;
  }

  #interview-single #sec02 .ctsBox-btm .circle {
    top: 40%;
    left: -40%;
  }

  #interview-single #sec02 .ctsBox {
    position: relative;
  }

  #interview-single #sec02 .ctsBox .sec-inner {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
  }

  #interview-single #sec02 .ctsBox .box {
    display: flex;
    align-items: flex-start;
    column-gap: 6%;
    width: 100%;
    position: relative;
  }

  #interview-single #sec02 .ctsBox .ornament {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #54aaf1;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1;
    writing-mode: vertical-rl;
  }

  #interview-single #sec02 .ctsBox .ornament:after {
    display: block;
    content: "";
    width: 2px;
    height: 85px;
    background: #54aaf1;
    margin-right: 2px;
  }

  #interview-single #sec02 .ctsBox .txtArea h3 {
    font-size: 2.1rem;
    line-height: 1.6;
    letter-spacing: 0.18em;
    margin-bottom: 20px;
  }

  #interview-single #sec02 .center-img {
    margin: 60px auto;
    position: relative;
  }

  #interview-single #sec02 .center-img img {
    object-fit: cover;
    width: 100%;
    height: 150px;
  }

  #interview-single #sec02 .center-img .deco {
    display: none;
  }

  #interview-single #sec03 {
    padding: 60px 0 120px;
  }

  #interview-single #sec03 .bg-red {
    object-fit: cover;
    width: 60%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }

  #interview-single #sec03 h2 {
    font-size: 6.8vw;
    font-style: italic;
    line-height: 1.6;
    letter-spacing: 0.15em;
    margin-bottom: 40px;
  }

  #interview-single #sec03 h2 span {
    color: #54aaf1;
  }

  #interview-single #sec03 ul {
    display: flex;
    flex-direction: column;
    row-gap: 10px;
  }

  .interview-Kondo .img-02 {
    object-position: center -50px !important;
  }

  .interview-Kondo .img-03 {
    object-position: bottom !important;
  }

  .interview-Kureshima .img-02 {
    object-position: center -70px !important;
  }

  .interview-Matsumoto .img-02 {
    object-position: center -30px !important;
  }

  .interview-Shimizu .img-02 {
    object-position: center -100px !important;
  }

  .interview-Yamada .img-02 {
    object-position: center -50px !important;
  }

  .interview-Yamada .img-03 {
    object-position: center !important;
  }

  .interview-Yamashita .img-02 {
    object-position: center -30px !important;
  }

  .interview-Yamashita .img-03 {
    object-position: center !important;
  }

  .interview-Yamazaki .img-02 {
    object-position: center -100px !important;
  }

  .interview-Yamazaki .img-03 {
    object-position: center !important;
  }

  /*--------------------------------------------
    溝内さんインタビュー（.interview-Mizouchi）
--------------------------------------------*/
  #interview-single.interview-Mizouchi .prof {
    column-gap: 4%;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top {
    flex-direction: column;
    gap: 30px;
    margin-bottom: 30px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .leftBox:after {
    display: block;
    content: "";
    width: 50px;
    height: 1px;
    background: #61cdd9;
    margin-top: 40px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .leftBox h1 {
    margin: 0 0 30px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .leftBox h1:after {
    content: none;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .rightBox {
    display: none;
  }

  #interview-single.interview-Mizouchi #sec01 .ctsBox .box .question .ornament {
    margin-bottom: 10px;
  }

  #interview-single.interview-Mizouchi #sec01 .ctsBox .box .question h3 {
    line-height: 1.7;
  }

  #interview-single.interview-Mizouchi .img-02 {
    object-position: center -50px !important;
  }

  #interview-single.interview-Mizouchi #sec02 .ttlArea h2 span.ja {
    color: #3e3e3e;
    font-size: 7vw;
    line-height: 1.4;
    font-weight: 600;
  }

  #interview-single.interview-Mizouchi #sec02 .ttlArea h2 span.en {
    line-height: 1.3;
  }

  /*--------------------------------------------
    田村彩さん特別インタビュー（#interview-special）
--------------------------------------------*/
  #interview-special {
    overflow: hidden;
  }

  #interview-special .btn-more-pink-01 {
    border: #f3a0fd 2px solid;
  }

  #interview-special .btn-more-pink-01 span,
  #interview-special .btn-more-pink-02 span {
    font-size: 3.5vw;
  }

  #interview-special .btn-more-pink-01:before {
    background: #f3a0fd;
  }

  #interview-special .btn-more-pink-01:after {
    color: #f3a0fd;
  }

  #interview-special .btn-more-pink-02 {
    background: #f3a0fd;
    border: #f3a0fd 2px solid;
  }

  #interview-special .page-ttlArea {
    height: 100vh;
    background: url(../Images/interview-special/fv-bg_sp.png) center no-repeat;
    background-size: cover;
    padding: 0;
    position: relative;
  }

  #interview-special .page-ttlArea:after {
    content: none;
  }

  #interview-special .page-ttlArea h1 {
    width: 90%;
    height: 80vh;
    position: absolute;
    right: 0;
    bottom: 5vh;
    left: 0;
    margin: auto;
  }

  @media print,
  screen and (max-width: 325px) {
    #interview-special .page-ttlArea h1 {
      width: 82%;
      bottom: 3vh;
    }
  }

  #interview-special .page-ttlArea h1 img {
    object-fit: cover;
    object-position: top;
    width: 100%;
    height: 100%;
  }

  #interview-special #prof {
    padding: 80px 0;
  }

  #interview-special #prof .cts-top img {
    display: none;
  }

  #interview-special #prof .cts-top {
    margin-bottom: 60px;
  }

  #interview-special #prof .cts-top .tArea .tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 5%;
  }

  #interview-special #prof .cts-top .tArea .tags li {
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
  }

  #interview-special #prof .cts-top .tArea .tags li:before {
    content: "\23";
    color: #76aada;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    margin-right: 5px;
  }

  #interview-special #prof .cts-top .tArea dl dt {
    line-height: 1;
    margin: 25px 0 40px;
  }

  #interview-special #prof .cts-top .tArea dl dt:after {
    display: block;
    content: "";
    width: 50px;
    height: 2px;
    background: #76aada;
    margin-top: 35px;
  }

  #interview-special #prof .cts-top .tArea dl dt h2 {
    display: inline-block;
    font-size: 9vw;
    margin-right: 10px;
  }

  #interview-special #prof .cts-top .tArea dl dt span {
    color: #76aada;
    font-size: 5vw;
    letter-spacing: 0.15em;
  }

  #interview-special #prof .cts-top .tArea .history {
    width: 100%;
    border: #76aada 1px solid;
    margin-top: 30px;
  }

  #interview-special #prof .cts-top .tArea .history th {
    display: block;
    width: 100%;
    color: #fff;
    background: #76aada;
  }

  #interview-special #prof .cts-top .tArea .history td {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    padding: 12px 5%;
  }

  #interview-special #prof .cts-mdl {
    position: relative;
  }

  #interview-special #prof .cts-mdl .kurukuru {
    width: 40%;
    position: absolute;
    top: -30%;
    right: -20%;
    z-index: -1;
    opacity: 0.5;
  }

  #interview-special #prof .btn-cmn {
    display: block;
    width: 100%;
    margin: 40px auto 0;
  }

  #interview-special .txtInterview {
    position: relative;
  }

  #interview-special .txtInterview .txtInterview-img {
    object-fit: cover;
    width: 100%;
    height: 300px;
  }

  #interview-special .txtInterview .txtInterview-img.img-01 {
    object-position: top;
  }

  #interview-special .txtInterview .txtInterview-img.img-02 {
    object-position: 0 -50px;
  }

  #interview-special .txtInterview .txtInterview-img.img-03 {
    object-position: center;
  }

  #interview-special .txtInterview .txtInterview-bg {
    object-fit: cover;
    width: 50%;
    height: 80%;
    position: absolute;
    top: 0;
    z-index: -2;
  }

  #interview-special .txtInterview .txtInterview-bg.bg-blue {
    left: 0;
  }

  #interview-special .txtInterview .txtInterview-bg.bg-pink {
    right: 0;
    opacity: 0.7;
  }

  #interview-special .txtInterview .txtInterview-bg.bg-yellow {
    left: 0;
  }

  #interview-special .txtInterview .sec-inner {
    display: flex;
    flex-direction: column;
    row-gap: 50px;
    padding: 50px 0 80px;
  }

  #interview-special .txtInterview .box {
    width: 100%;
  }

  #interview-special .txtInterview .box .ttl {
    margin-bottom: 15px;
  }

  #interview-special .txtInterview .box .ttl span.en {
    display: block;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 10px;
  }

  #interview-special #sec01.txtInterview .box .ttl span.en {
    color: #76aada;
  }

  #interview-special #sec02.txtInterview .box .ttl span.en {
    color: #f3a0fd;
  }

  #interview-special #sec03.txtInterview .box .ttl span.en {
    color: #dedc4f;
  }

  #interview-special .txtInterview .box .ttl h3 {
    font-size: 6vw;
    line-height: 1.46;
    letter-spacing: 0.17em;
    padding: 0 0 6px 20px;
    margin-left: 5px;
  }

  #interview-special #sec01.txtInterview .box .ttl h3 {
    border-left: #76aada 2px solid;
  }

  #interview-special #sec02.txtInterview .box .ttl h3 {
    border-left: #f3a0fd 2px solid;
  }

  #interview-special #sec03.txtInterview .box .ttl h3 {
    border-left: #dedc4f 2px solid;
  }

  #interview-special .txtInterview .box .txt {
    line-height: 1.9;
  }

  #interview-special #sec04 {
    padding-bottom: 80px;
  }

  #interview-special #sec04 .img-04 {
    width: 100%;
    margin-bottom: 50px;
  }

  #interview-special #sec04 .box-07 {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 20px;
    position: relative;
  }

  #interview-special #sec04 .box-07 .kurukuru {
    position: absolute;
    top: -40%;
    right: -40%;
    z-index: -1;
    opacity: 0.7;
  }

  #interview-special #sec04 .box-07 h3 {
    font-size: 6vw;
    line-height: 1.46;
    letter-spacing: 0.17em;
  }

  #interview-special #sec04 .box-07 p {
    width: 100%;
  }

  #interview-special #secLast {
    text-align: center;
    background: url(../Images/interview-special/fv-bg-sp.png) center no-repeat;
    background-size: cover;
    padding: 80px 0;
  }

  #interview-special #secLast p {
    font-size: 7vw;
    font-weight: bold;
    font-style: italic;
    line-height: 1.46;
    letter-spacing: 0.2em;
    margin-bottom: 30px;
  }

  #interview-special #secLast p span {
    color: #76aada;
  }

  #interview-special #secLast ul {
    width: 80%;
    flex-direction: column;
    row-gap: 20px;
    margin: 0 auto;
  }

  #interview-special #secLast ul li {
    width: 100%;
  }

  #interview-special #secLast ul li .btn-cmn {
    display: block;
    width: 100%;
  }

  #top .interviewLink {
    margin: 60px 0 -70px;
  }

  .interviewLink a {
    display: block;
    position: relative;
  }

  .interviewLink a .bnr {
    width: 100%;
  }

  .interviewLink a .kurukuru {
    display: none;
  }

  /*--------------------------------------------
    募集要項（#guidelines）
--------------------------------------------*/
  /* #guidelines #sec01 {
    padding-bottom: 60px;
  }
  #guidelines #sec01 .ctsBox-top {
    flex-direction: column;
    margin-bottom: 40px;
  }
  #guidelines #sec01 .tabNav {
    margin-bottom: 60px;
  }
  #guidelines #sec01 .table-cmn td .listBox {
    display: flex;
  }
  #guidelines #sec01 .table-cmn td .listBox-01 {
    align-items: flex-start;
    column-gap: 8%;
  }
  #guidelines #sec01 .table-cmn td .listBox-02 {
    flex-direction: column;
    row-gap: 5px;
  }
  #guidelines #sec01 .table-cmn td .btn-cmn {
    border: #3e3e3e 1px solid;
    padding: 7px 2% 7px 0;
  }
  #guidelines #sec01 .table-cmn td .btn-cmn:after {
    color: #3e3e3e;
  }
  #guidelines #sec01 .table-cmn td .btn-cmn span {
    font-size: 1.4rem;
  }

  #guidelines .tab-judge .ctsBox-top {
    row-gap: 40px;
    text-align: center;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi {
    width: 100%;
    background: #e0f8fa;
    border-radius: 10px;
    padding: 30px 4.8vw;
    position: relative;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 15px solid #e0f8fa;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi dt  {
    display: block;
    font-size: 4.6vw;
    font-weight: 600;
    line-height: 1;
    margin: 4px 0px 5px;
    font-size: 1.8rem;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi p {
    line-height: 1.6;
    font-size: 11px;
    margin-bottom: 15px;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi dd {
    font-size: 11px;
    line-height: 1.6;
    margin-bottom: 12px;
  }
  #guidelines .tab-judge .ctsBox-top img {
    height: 200px;
    margin: 0;
  }

  #guidelines .tab-office .ctsBox-top {
    row-gap: 20px;
  } */

  /*#entry #sec03 {*/
  /*  padding-bottom: 60px;*/
  /*}*/

  #entry #sec03 .ctsBox-top,
  #entry #sec04 .ctsBox-top {
    flex-direction: column;
    margin-bottom: 60px;
  }

  #entry #sec03 .tabNav,
  #entry #sec04 .tabNav {
    margin-bottom: 60px;
  }

  #entry #sec03 .table-cmn td .listBox,
  #entry #sec04 .table-cmn td .listBox {
    display: flex;
  }

  #entry #sec03 .table-cmn td .listBox-01,
  #entry #sec04 .table-cmn td .listBox-01 {
    align-items: flex-start;
    column-gap: 8%;
  }

  #entry #sec03 .table-cmn td .listBox-02,
  #entry #sec04 .table-cmn td .listBox-02 {
    flex-direction: column;
    row-gap: 5px;
  }

  #entry #sec03 .table-cmn td .btn-cmn,
  #entry #sec04 .table-cmn td .btn-cmn {
    border: #3e3e3e 1px solid;
    padding: 7px 2% 7px 0;
  }

  #entry #sec03 .table-cmn td .btn-cmn:after,
  #entry #sec04 .table-cmn td .btn-cmn:after {
    color: #3e3e3e;
  }

  #entry #sec03 .table-cmn td .btn-cmn span,
  #entry #sec04 .table-cmn td .btn-cmn span {
    font-size: 1.4rem;
  }

  .group-interview {
    font-size: 14px;
  }

  #entry #sec01 .flow-list li {
    width: auto;
    background: #f9f9f9;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 28px;
  }

  #entry #sec01 .flow-list li dt {
    color: #54aaf1;
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 5px;
    text-align: left;
  }

  .web {
    margin-top: 30px;
  }

  .selection-flow-box {
    height: 150px;
  }

  .selection-flow-text {
    font-size: 13px;
    text-align: left;
    margin: 30px 0px 20px;
  }

  #entry #sec03 .sec-inner p {
    margin: 10px 0px 10px;
  }

  .under-h2 span.flow {
    padding-top: 50px;
    font-size: 3rem;
    line-height: 1.4;
    font-weight: 600;
  }

  #entry .tab-judge .ctsBox-top,
  #entry .tab-office .ctsBox-top {
    row-gap: 40px;
    text-align: center;
  }

  #entry .tab-judge .ctsBox-top .fukidashi,
  #entry .tab-office .ctsBox-top .fukidashi {
    width: 100%;
    background: #e0f8fa;
    border-radius: 10px;
    padding: 30px 4.8vw;
    position: relative;
  }

  #entry .tab-judge .ctsBox-top .fukidashi:before,
  #entry .tab-office .ctsBox-top .fukidashi:before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -10px;
    border: 10px solid transparent;
    border-top: 15px solid #e0f8fa;
  }

  #entry .tab-judge .ctsBox-top .fukidashi dt,
  #entry .tab-office .ctsBox-top .fukidashi dt {
    display: block;
    font-size: 4.6vw;
    font-weight: 600;
    line-height: 1;
    margin: 4px 0px 5px;
    font-size: 1.8rem;
  }

  #entry .tab-judge .ctsBox-top .fukidashi p,
  #entry .tab-office .ctsBox-top .fukidashi p {
    line-height: 1.6;
    font-size: 11px;
    margin-bottom: 15px;
  }

  #entry .tab-judge .ctsBox-top .fukidashi dd {
    font-size: 11px;
    line-height: 1.6;
    margin-bottom: 12px;
  }

  #entry .tab-judge .ctsBox-top img,
  #entry .tab-office .ctsBox-top img {
    height: 200px;
    margin: 0;
  }

  #entry .tab-office .ctsBox-top {
    row-gap: 20px;
  }

  .banner {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding-bottom: 40px;
    flex-direction: column;
  }

  /*--------------------------------------------
    個人情報保護方針（#privacy）
--------------------------------------------*/

  #privacy .page-ttlArea .txtArea p.en {
    font-size: 10vw;
  }

  #privacy #sec02 {
    padding-bottom: 95px;
  }

  #privacy .leadArea {
    text-align: left;
    margin-bottom: 60px;
  }

  #privacy .cts+.cts,
  #privacy .cts .cts-inner+.cts-inner {
    margin-top: 50px;
  }

  #privacy .cts h3 {
    margin-bottom: 20px;
  }

  #privacy .cts.signature {
    text-align: right;
  }

  #privacy .cts.signature dl {
    margin-top: 15px;
  }

  #privacy .cts.signature dt {
    font-size: 1.8rem;
  }

  #privacy .cts .cts-inner dl {
    margin-top: 30px;
  }

  #privacy .cts .cts-inner dl dt {
    color: #69bbff;
    font-size: 1.8rem;
    margin-bottom: 10px;
  }

  #privacy .cts .table-cmn td {
    padding: 20px 2.4vw 25px;
  }

  /*--------------------------------------------
    404ページ
--------------------------------------------*/
  #page404 #sec01 {
    text-align: center;
    padding-bottom: 120px;
  }

  #page404 #sec01 .btn-cmn {
    margin-top: 40px;
  }

  /*--------------------------------------------
      TOP youtube
  --------------------------------------------*/
  #top-youtube .ctsBox iframe {}
}

/*--------------------------------------------
    TOP youtube
--------------------------------------------*/
@media print,
screen and (max-width: 350px) {
  #top-youtube .ctsBox iframe {
    display: block;
    width: 100%;
    height: 235px;
  }

  #top-youtube .cts-mdl img.kurukuru {
    position: absolute;
    top: -55px;
    right: -70px;
    z-index: -1;
    width: 206px;
  }
}

@media print,
screen and (max-width: 425px) {
  .interview-list li .cts-btm {
    width: 90%;
    background: #fff;
    padding: 30px 8%;
    margin-top: -15px;
    margin-left: -2px;
  }
}

#entry-thanks .table__head {
  font-weight: normal;
}

/*--------------------------------------------
キャリアプラン選べる働き方
--------------------------------------------*/
@media (max-width: 480px) {
  .working-card {
    flex-direction: column;
    align-items: center;
    text-align: left;
  }

  .working-profile {
    margin-right: 0;
    margin-bottom: 10px;
    width: auto;
  }

  .working-content {
    text-align: left;
  }
}
