@charset "utf-8";

/*===============================================
    PCスマホ共通CSS
===============================================*/
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
caption,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  list-style: none;
  background: transparent;
  box-sizing: border-box;
}

article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

html {
  font-size: 62.5%;
}

body {
  height: auto;
  font-feature-settings: "palt";
  display: block;
  position: relative;
}

section {
  position: relative;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  text-decoration: none;
  vertical-align: baseline;
  background: transparent;
  display: inline-block;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
  cursor: pointer;
}

a:focus {
  outline: none;
}

img {
  vertical-align: top;
  border: 0;
  max-width: 100%;
  height: auto;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
}

a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -moz-opacity: 0.7;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  -o-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.imgArea img {
  width: 100%;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

dt {
  font-weight: bold;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  padding: 0;
}

.clear {
  clear: both;
}

.cf:after {
  content: "";
  clear: both;
  display: block;
  height: 0;
}

:root .cf::after {
  /* IE9 */
  content: "" \9;
  clear: both\9;
  display: block\9;
  height: 0\9;
}

.flex {
  display: flex !important;
  justify-content: space-between;
  align-items: center;
}

.mgb10 {
  margin-bottom: 10px;
}

.mgb20 {
  margin-bottom: 20px;
}

.mgb30 {
  margin-bottom: 30px;
}

.mgb40 {
  margin-bottom: 40px;
}

.mgb50 {
  margin-bottom: 50px;
}

.last {
  margin-bottom: 0 !important;
}

p+p {
  margin-top: 1.2em;
}

p+img {
  margin-top: 20px;
}

img+p {
  margin-top: 20px;
}

/* サイト固有設定 */
body {
  color: #3e3e3e;
  font-size: 1.6rem;
  font-weight: 400;
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic,
    "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  line-height: 1.9;
  letter-spacing: 0.22em;
  background: #fff;
  scroll-behavior: smooth;
}

a {
  color: #3e3e3e;
}

strong {
  font-size: 1.7rem;
  font-weight: bold;
  background: linear-gradient(transparent 35%, #fffb79 35%);
}

.en {
  font-family: "Raleway", sans-serif;
  letter-spacing: 0.2em;
}

.en-large {
  font-size: 8rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

.en-mdl {
  font-size: 8rem;
  line-height: 1;
  letter-spacing: 0.1em;
}

.en-Josefin {
  font-family: "Josefin Sans", sans-serif;
}

.ja {
  font-family: "Noto Sans JP", "Yu Gothic Medium", "游ゴシック Medium", YuGothic,
    "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  letter-spacing: 0.22em;
}

.key-inner-txt__images {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.key-inner-txt__images img {
  float: right;
}

.key-inner-txt__images picture {
  width: 100%;
}

@keyframes fadeRightAnime_fv01 {
  from {
    opacity: 0;
    transform: translateX(100%);
  }

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

.fadeRight01 {
  animation-name: fadeRightAnime_fv01;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
  transition-delay: 2s;
}

@keyframes fadeRightAnime_fv02 {
  from {
    opacity: 0;
    transform: translateX(150%);
  }

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

.fadeRight02 {
  animation-name: fadeRightAnime_fv02;
  animation-duration: 3s;
  animation-fill-mode: forwards;
  opacity: 0;
  transition-delay: 3s;
}


@keyframes fadeRightAnime_fv03 {
  from {
    opacity: 0;
    transform: translateX(180%);
  }

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

.fadeRight03 {
  animation-name: fadeRightAnime_fv03;
  animation-duration: 4.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  transition-delay: 4.5s;
}

/*===============================================
    PC用CSS
===============================================*/
@media print,
screen and (min-width: 769px) {

  /*--------------------------------------------
    サイト基本設定
--------------------------------------------*/
  body {
    min-width: 1200px;
    background-size: 100%;
  }

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

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

  /*--------------------------------------------
    全ページ共通
--------------------------------------------*/
  p {
    font-size: 1.6rem;
  }

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

  .sec-inner {
    width: 1100px;
    position: relative;
    margin: 0 auto;
  }

  /*--  ふわっと表示 --*/
  @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.1s;
  }

  .timing02 {
    transition-delay: 0.2s;
  }

  .timing03 {
    transition-delay: 0.3s;
  }

  .timing04 {
    transition-delay: 0.4s;
  }

  .timing05 {
    transition-delay: 0.05s;
  }

  .timing06 {
    transition-delay: 0.06s;
  }

  .timing07 {
    transition-delay: 0.07s;
  }

  .timing08 {
    transition-delay: 0.08s;
  }

  .timing09 {
    transition-delay: 0.09s;
  }

  .timing10 {
    transition-delay: 0.095s;
  }

  /*--  ボタン --*/
  .btn-cmn {
    width: 300px;
    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;
    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;
  }

  .btn-cmn:before {
    content: "";
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -100%;
    display: block;
    z-index: 0;
    transition: 0.5s;
  }

  .btn-more-red:before {
    background: #54aaf1;
  }

  .btn-more-blue:before {
    background: #61cdd9;
  }

  .btn-more-green:before {
    background: #b2e697;
  }

  .btn-entry:before {
    background: #fff;
  }

  .btn-more:hover span {
    color: #fff;
  }

  .btn-entry:hover span {
    color: #54aaf1;
  }

  .btn-cmn:hover:after {
    right: 5%;
  }

  .btn-more:hover:after {
    color: #fff;
  }

  .btn-entry:hover:after {
    color: #54aaf1;
  }

  .btn-cmn:hover:before {
    left: 0;
  }

  /*--  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: 98%;
    min-width: 1200px;
    background: #fff;
    border-radius: 100px;
    padding: 14px 3%;
    position: fixed;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    z-index: 999;
  }

  #header .hdr-logo {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 430px;
  }

  #header .hdr-logo img {
    margin-right: 10px;
  }

  #header .hdr-logo:hover {
    color: #3e3e3e;
  }

  #header .hdr-logo:hover .header-site-name {
    opacity: 0.7;
  }

  #header .hdr-logo .header-site-name {
    margin-top: 0;
    font-size: 1.6rem;
    font-weight: bold;
    pointer-events: none;
    transition: 0.7s;
  }

  @media print,
  screen and (min-width: 1281px) {

    #header nav,
    #header nav ul {
      justify-content: flex-end;
      column-gap: 5%;
    }
  }

  #header nav,
  #header nav ul {
    justify-content: flex-end;
    column-gap: 3%;
  }

  #header nav ul li {
    flex-shrink: 0;
    height: 40px;
    line-height: 40px;
  }

  #header nav ul li a {
    color: #3e3e3e;
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
    position: relative;
  }

  @media print,
  screen and (max-width: 1281px) {
    #header nav ul li a {
      font-size: 1.3rem;
    }
  }

  #header nav ul li a:hover,
  #header nav ul li.current a {
    color: #54aaf1;
  }

  #header nav .btn-cmn {
    flex-shrink: 0;
    width: 23%;
    padding: 5px 5px 5px 0;
  }

  #header nav .btn-cmn span {
    font-size: 1.4rem;
  }

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

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

  #cvArea p.note {
    font-size: 1.7rem;
    letter-spacing: 0.25em;
    margin: 40px 0 50px;
  }

  #cvArea p.note span {
    display: block;
    font-size: 2.2rem;
    font-weight: 600;
    margin-bottom: 15px;
  }

  #cvArea ul.links {
    justify-content: flex-start;
    column-gap: 30px;
  }

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

  #footer .sec-inner {
    display: flex;
    justify-content: space-between;
    max-width: 1200px;
    position: relative;
    margin: 0 auto;
    width: 100%;
  }

  @media print,
  screen and (max-width: 1280px) {
    #footer .sec-inner {
      max-width: 1080px;
    }
  }

  #footer .ctsBox-left .ftr-logo {
    margin-bottom: 70px;
  }

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

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

  #footer .ctsBox-left .snsLinks li a {
    display: flex;
    align-items: center;
    column-gap: 10px;
  }

  #footer .ctsBox-left .snsLinks li a span {
    font-size: 1.4rem;
  }

  #footer .ctsBox-right {
    width: 800px;
  }

  #footer .ctsBox-right .nav-top {
    display: flex;
    justify-content: flex-end;
    column-gap: 80px;
  }

  #footer .ctsBox-right .nav-top ul li {
    text-align: left;
  }

  #footer .ctsBox-right .nav-top ul li+li {
    margin-top: 15px;
  }

  #footer .ctsBox-right .nav-top ul li a {
    font-size: 1.6rem;
    font-weight: bold;
  }

  #footer .ctsBox-right .nav-btm {
    display: flex;
    justify-content: flex-end;
    column-gap: 50px;
    margin: 34px 0 20px;
  }

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

  #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 .nav-btm li a:hover {}

  #footer .logoBox {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
  }

  #footer .pmark_logo {
    width: 80px;
  }

  #footer .eruboshi_logo {
    width: 90px;
  }

  #footer .kenkou_logo {
    width: 220px;
  }

  #footer .wbw_award_logo {
    width: 65px;
  }

  #footer .ctsBox-right .ftr-copy {
    display: flex;
    justify-content: flex-end;
    font-size: 1.3rem;
    text-align: right;
    border-top: #3e3e3e 1px solid;
    padding-top: 20px;
    margin-top: 10px;
  }

  #footer .ctsBox-right .nav-top .subMenu li {
    margin: 0;
  }

  #footer .ctsBox-right .nav-top .subMenu li a {
    font-weight: 400;
    font-size: 1.45rem;
  }

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

  /*--------------------------------------------
    TOPページ（#top）
--------------------------------------------*/
  #top h2 span {
    display: block;
    color: #3e3e3e;
    font-size: 2rem;
    font-weight: 600;
    line-height: 1;
    margin-top: 15px;
  }

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

  #top .h2-blue-bg:before {
    content: "";
    display: inline-block;
    width: 778px;
    height: 802px;
    background: url(../Images/top-ttlbg-blue.png) no-repeat;
    background-size: contain;
    position: absolute;
    top: -290px;
    left: -350px;
    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: calc(100vh + 200px) !important;
    overflow: hidden;
    position: relative;
  }

  #top-key:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh + 200px);
    background-image: linear-gradient(180deg, transparent 0 60%, #fff 100%);
  }

  #top-key .key-bg {
    width: 100%;
    height: calc(100vh + 200px);
    object-fit: cover;
    object-position: top;
    position: relative;
    z-index: -1;
  }

  #top-key .circle-right {
    width: 55%;
    position: absolute;
    bottom: 55%;
    left: 49%;
    z-index: 10;
  }

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

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

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

  #top-key .circle-left {
    height: 90vh;
    position: absolute;
    top: 15%;
    left: -5%;
    z-index: 10;
  }

  #top-key .key-inner-txt {
    position: absolute;
    top: 50vh;
    right: 3%;
    z-index: 10;
  }

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

  /*-- top-message --*/
  #top-message {
    margin-top: -90px;
    overflow: hidden;
  }

  #top-message .ctsBox-top {
    padding: 120px 0 90px;
    position: relative;
  }

  #top-message .ctsBox-top h2 {
    font-size: 3rem;
    font-weight: 600;
    font-style: italic;
    line-height: 1;
    letter-spacing: 0.18em;
  }

  #top-message .ctsBox-top h2 span {
    display: block;
    font-size: 3rem;
  }

  #top-message .ctsBox-top h2 span.row-01 {
    margin: 0 0 15px -0.6em;
  }

  #top-message .ctsBox-top h2 span.row-02 {
    margin-left: -0.6em;
    /*height: 53rem;*/
  }

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

  #top-message .ctsBox-top a {
    display: flex;
    align-items: center;
    column-gap: 25px;
    font-size: 2.4rem;
    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 a:hover {
    column-gap: 35px;
  }

  #top-message .ctsBox-top a:hover:after {
    background: url(../Images/circleBtn-next-blue_on.png) no-repeat;
    background-size: contain;
  }

  #top-message .ctsBox-top .img-01 {
    width: 47%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
    right: 0;
  }

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

  #top-message .ctsBox-btm .img-02 {
    width: 500px;
    object-fit: cover;
    object-position: top;
    position: absolute;
    right: 28%;
    bottom: 0px;
  }

  #top-message .ctsBox-btm .ctsBox-btm-inner {
    width: 100%;
    overflow: hidden;
  }

  #top-message .ctsBox-btm ul.txtline-loop-left {
    margin-bottom: 35px;
    z-index: -1;
  }

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

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

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

  #top-links:before,
  #top-links:after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 250px;
  }

  #top-links:before {
    top: 0;
    background-image: linear-gradient(0deg, transparent 0 50%, #fff 100%);
  }

  #top-links:after {
    bottom: 0;
    background-image: linear-gradient(180deg, transparent 0 50%, #fff 100%);
  }

  #top-links .ctsBox {
    justify-content: flex-end;
    align-items: stretch;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
  }

  #top-links .ctsBox-left {
    flex-direction: row-reverse;
    margin: 80px 0;
  }

  #top-links .ctsBox:after {
    content: "";
    display: inline-block;
    width: 120%;
    height: 130%;
    position: absolute;
    bottom: -40%;
    z-index: -1;
  }

  #top-links .ctsBox-right:after {
    background: url(../Images/top-links-green-01.png) no-repeat;
    background-size: contain;
    left: -10%;
  }

  .webp #top-links .ctsBox-right:after {
    background: url(../Images/top-links-green-01.png.webp) no-repeat;
    background-size: contain;
  }

  #top-links .ctsBox-left:after {
    background: url(../Images/top-links-green-02.png) no-repeat;
    background-size: contain;
    right: -90%;
  }

  .webp #top-links .ctsBox-left:after {
    background: url(../Images/top-links-green-02.png.webp) no-repeat;
    background-size: contain;
  }

  #top-links .ctsBox .links-img {
    width: 35%;
    height: 100%;
  }

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

  #top-links .ctsBox-01 .links-img img {
    height: 53rem;

  }

  #top-links .ctsBox-02 .links-img img {
    height: 53rem;
  }

  #top-links .ctsBox-03 .links-img img {
    height: 53rem;
  }

  #top-links .ctsBox .txtArea {
    width: 55%;
    background: #fff;
    position: relative;
  }

  #top-links .ctsBox .txtArea .txtArea-inner {
    width: 80%;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  #top-links .ctsBox-right .txtArea .txtArea-inner {
    left: 10%;
  }

  #top-links .ctsBox-left .txtArea .txtArea-inner {
    right: 10%;
  }

  #top-links .ctsBox .txtArea h2 {
    color: #93db6c;
    margin-left: -5px;
  }

  #top-links .ctsBox .txtArea h2 span {
    padding-left: 5px;
  }

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

  /*-- top-about --*/
  #top-about {
    width: 100%;
    overflow: hidden;
  }

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

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

  #top-about .imgArea .about-img {
    width: 76%;
  }

  #top-about .imgArea .about-bluebox {
    width: 39%;
    position: absolute;
    bottom: -160px;
    right: 0;
    z-index: -1;
  }

  #top-about .sec-inner {
    align-items: flex-end;
    padding: 100px 0 160px;
  }

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

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

  /*--  header下 --*/
  .under .page-ttlArea {
    background: url(../Images/under-h1-bg.png) center top no-repeat;
    background-size: cover;
    padding: 130px 0 200px;
    margin-bottom: -80px;
    position: relative;
  }

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

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

  /*-- breadcrumbs（ぱんくず） --*/
  .under #breadcrumbs {
    display: flex;
    align-items: center;
    font-size: 1.4rem;
    font-family: "Raleway", sans-serif;
  }

  .under #breadcrumbs li {}

  .under #breadcrumbs li+li:before {
    display: inline-block;
    content: "/";
    margin: 0 12px 0 15px;
  }

  .under #breadcrumbs a {
    text-decoration: underline;
  }

  .under #breadcrumbs a:hover {}

  /*-- h1 --*/
  .under .page-ttlArea .txtArea {
    margin: 40px 0 60px;
  }

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

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

  /*-- ページ内ナビ --*/
  .under .page-ttlArea .pageNav {
    display: flex;
    justify-content: flex-end;
    column-gap: 50px;
  }

  .under .page-ttlArea .pageNav li {}

  .under .page-ttlArea .pageNav a {
    display: flex;
    align-items: center;
    column-gap: 15px;
    letter-spacing: 0.35em;
  }

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

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

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

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

  .under-h2 span {
    display: block;
  }

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

  .under-h2 span.en {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1;
    margin-top: 15px;
  }

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

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

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

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

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

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

  .table__head {
    font-size: 20px;
    text-align: center;
    margin-top: 50px;
    margin-bottom: 80px;
  }

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

  .table-cmn th {
    min-width: 200px;
    width: max-content;
    font-size: 1.7rem;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #54aaf1;
    padding: 35px 20px;
  }

  .table-cmn tr:nth-child(1) th {
    border-top: 1px solid #54aaf1;
  }

  .table-cmn td {
    border-bottom: 1px solid #e4e6e4;
    padding: 35px 20px;
  }

  .table-cmn tr:nth-child(1) td {
    border-top: 1px solid #e4e6e4;
  }

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

  .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: 300px;
    margin-top: 20px;
  }

  /*--  num-ttl --*/
  .num-ttl {
    font-size: 2.6rem;
    font-weight: 600;
    padding: 5px 0 0 50px;
    margin-bottom: 30px;
    position: relative;
  }

  .num-ttl span {
    position: relative;
    z-index: 2;
  }

  .num-ttl:before {
    content: attr(data-number);
    font-family: "Josefin Sans", sans-serif;
    font-size: 2.2rem;
    font-weight: 700;
    text-transform: uppercase;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 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.ja {
    font-size: 3rem;
  }

  .side-en-ttl span.en {
    font-size: 1.8rem;
    font-weight: 700;
  }

  .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: 3rem;
    margin-bottom: 25px;
  }

  .btm-en-ttl span.en {
    font-size: 1.8rem;
    font-weight: 700;
  }

  .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: 7px;
  }

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

  .tabNav .tab {
    cursor: pointer;
  }

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

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

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

  .panelBox .panel {
    display: none;
  }

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

  /*--------------------------------------------
    エントリー（#entry）
--------------------------------------------*/
  #entry #sec01 .ctsBox {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    column-gap: 170px;
  }

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

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

  #entry #sec01 .ctsBox .box img {
    width: 350px;
  }

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

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

  #entry #sec02 .tabNav li {
    width: 400px;
  }

  #entry #sec02 .flow-list,
  #entry #sec01 .flow-list {
    display: flex;
    align-items: center;
    column-gap: 50px;
    margin-top: 50px;
  }

  #entry #sec02 .flow-list-btm {
    justify-content: flex-end;
    margin-top: 60px;
  }

  #entry #sec02 .flow-list li {
    width: 333px;
    height: 190px;
    text-align: center;
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 25px;
  }

  #entry #sec02 .flow-list li:after,
  #entry #sec01 .flow-list li:after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 18.5px;
    background: url(../Images/icon-arrow-blue.png) center no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

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

  #entry #sec02 .flow-list-top li:after,
  #entry #sec01 .flow-list-top li:after {
    right: -35px;
  }

  #entry #sec02 .flow-list-btm li:after,
  #entry #sec01 .flow-list-btm li:after {
    left: -35px;
  }

  #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,
  #entry #sec01 .flow-list li img {
    width: 150px;
    margin-top: 25px;
  }

  #entry #sec02 .flow-box {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 50px;
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 60px 0;
  }

  #entry #sec02 .flow-box img {
    width: 170px;
  }

  #entry #sec02 .flow-box .num-ttl {
    font-size: 1.6rem;
    font-weight: 500;
    padding: 2px 0 0 50px;
  }

  #entry #sec02 .flow-box .num-ttl:last-child {
    margin-bottom: 0;
  }


  /*--------------------------------------------
    3ACについて（#about）
--------------------------------------------*/
  #about #sec01 h2 {
    margin-bottom: 80px;
  }

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

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

  #about #sec01 .ctsBox .ttl-bg {
    width: 52%;
    position: absolute;
    top: 65px;
  }

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

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

  #about #sec01 .ctsBox-03 .ttl-bg {
    object-fit: cover;
    width: 90%;
    height: 230px;
  }

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

  #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: 2rem;
    margin-bottom: 13px;
  }

  #about #sec01 .ctsBox h3 span.en {
    color: #93db6c;
    font-size: 6rem;
  }

  #about #sec01 .ctsBox .box-inner {
    width: 960px;
    margin: 0 auto;
  }

  #about #sec01 .ctsBox .box-inner .sec01-img {
    width: 100%;
    margin-bottom: 50px;
  }

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

  #about #sec01 .ctsBox .box-inner .txtArea h4 {
    font-size: 3rem;
    line-height: 1.25;
    margin-bottom: 25px;
  }

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

  #about #sec01 .ctsBox .box-inner .txtArea dl {}

  #about #sec01 .ctsBox .box-inner .txtArea dt {
    color: #93db6c;
    font-size: 2rem;
    margin-bottom: 10px;
  }

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

  #about #sec01 .ctsBox-03 .box-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  #about #sec01 .ctsBox-03 .box-inner .sec01-img {
    width: 300px;
    margin: 0;
    border: solid 1.5px #93db6c;
  }

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

  #about #sec01 .ctsBox-03 .txtArea .txtArea-inner .ttl {
    display: flex;
    align-items: flex-end;
    column-gap: 20px;
    line-height: 1;
    margin-bottom: 30px;
  }

  #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: 2rem;
    font-weight: 700;
    line-height: 1;
    padding-bottom: 5px;
  }

  /*#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: 140px 0 0;
  }

  #about #sec02 .ctsBox-top .box {
    position: relative;
  }

  #about #sec02 .ctsBox-top .box-02 {
    margin: 100px 0 0;
  }

  #about #sec02 .ctsBox-top .box .sec02-img {
    object-fit: cover;
    width: 38%;
    position: absolute;
    top: 0;
    z-index: 10;
  }

  #about #sec02 .ctsBox-top .box-01 .sec02-img {
    object-position: center right;
    height: 780px;
    left: 0;
  }

  #about #sec02 .ctsBox-top .box-02 .sec02-img {
    object-position: 0 -30px;
    height: 100%;
    right: 0;
  }

  #about #sec02 .ctsBox-top .box-03 .sec02-img {
    object-position: top;
    height: 100%;
    left: 0;
  }

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

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

  #about #sec02 .ctsBox-top .box-02 .sec02-bg {
    width: 50%;
    height: 745px;
    bottom: -50%;
    right: 0;
  }

  #about #sec02 .ctsBox-top .box-01 .sec02-ttl {
    width: 20%;
    min-width: 380px;
    position: absolute;
    top: -110px;
    left: 30%;
    z-index: -1;
  }

  #about #sec02 .ctsBox-top .box .sec-inner {
    display: flex;
    justify-content: flex-end;
  }

  #about #sec02 .ctsBox-top .box-02 .sec-inner {
    justify-content: flex-start;
  }

  #about #sec02 .ctsBox-top .box .box-inner {
    width: 620px;
  }

  #about #sec02 .ctsBox-top .box .box-inner .txt {
    padding: 100px 0;
  }

  #about #sec02 .ctsBox-top .box-01 .box-inner .txt {
    padding: 0;
  }

  #about #sec02 .ctsBox-top .box .box-inner .txt h3 {
    font-size: 3rem;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 0.18em;
    line-height: 1;
    margin-bottom: 50px;
  }

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

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

  #about #sec02 .ctsBox-top .box-01 .ttl-sign h2 {
    font-size: 5rem;
    font-weight: 700;
    font-style: italic;
    text-align: right;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-bottom: 45px;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign h3 {
    font-size: 3.9rem;
    font-weight: 500;
    font-style: italic;
    text-align: right;
    letter-spacing: 0.15em;
    line-height: 1.5;
    margin-bottom: 40px;
  }

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

  #about #sec02 .ctsBox-top .box-01 .ttl-sign dl dt {
    font-size: 2rem;
    font-weight: 700;
  }

  #about #sec02 .ctsBox-top .box-01 .ttl-sign dl dd .sign {
    width: 206px;
  }

  #about #sec02 .ctsBox-btm {
    background: url(../Images/top-links-bg.png) center no-repeat;
    background-size: cover;
    padding: 240px 0 160px;
    margin-top: -100px;
    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%;
  }

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

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

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

  #about #sec02 .ctsBox-btm ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
  }

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

  #about #sec02 .ctsBox-btm ul li:last-child {
    width: 1100px;
  }

  #about #sec02 .ctsBox-btm ul li dt {
    display: flex;
    column-gap: 15px;
    font-size: 2rem;
    line-height: 1.7;
    padding: 0;
    margin-bottom: 18px;
  }

  #about #sec02 .ctsBox-btm ul li dt:before {
    position: static;
    margin-top: -2px;
  }

  #about #sec02 .ctsBox-btm ul li dd {
    line-height: 2;
  }

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

  #about #sec03 .ctsBox .txtArea {
    width: 630px;
  }

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

  #about #sec03 .ctsBox img {
    width: 445px;
  }

  /*--------------------------------------------
    働く環境・社内制度（#environment）
--------------------------------------------*/

  #environment #sec01 .ctsBox {
    justify-content: center;
    column-gap: 80px;
  }

  .inner01 {
    padding: 80px 0px 0px;
  }

  #environment #sec01 .center {
    text-align: center;
  }

  #environment #sec01 .cts {
    width: 450px;
    text-align: center;
  }

  #environment #sec01 .cts img {
    height: 315px;
    margin: 50px 0 15px;
  }

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

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

  #environment .systems .ctsBox {
    display: flex;
    flex-wrap: wrap;
    gap: 50px 46px;
    margin-top: 70px;
  }

  #environment .systems .ctsBox li {
    width: 240px;
  }

  #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.5rem;
    line-height: 1;
    margin: 30px 0 15px;
  }

  #environment .systems .ctsBox li h3.small {
    font-size: 2.3rem;
    padding: 1px 0;
  }

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

  #environment #sec04 .ctsBox {
    background: #fff;
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
    padding: 60px 100px 100px;
  }

  #environment #sec04 h3 {
    font-size: 2rem;
    text-align: center;
    line-height: 1;
    margin-bottom: 35px;
  }

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

  #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;
    justify-content: space-between;
    align-items: flex-start;
    margin-top: 100px;
  }

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

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

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

  #environment #sec04 p.count {
    font-size: 4rem;
    font-weight: 700;
    line-height: 1;
    margin: 0 !important;
  }

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

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

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

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

  #environment #sec04 .no-01 .figure-01 {
    width: 435px;
    margin: 0;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }

  #environment #sec04 .no-01 .box-btm .comment {
    margin-top: -10px;
  }

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

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

  #environment #sec04 .no-02 h3,
  #environment #sec04 .no-17 h3 {
    margin-bottom: 50px;
  }

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

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

  #environment #sec04 .no-13 {
    width: fit-content !important;
  }

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

  #environment #sec04 .no-13 .no-13-inner {
    display: flex;
    align-items: center;
    column-gap: 40px;
  }

  #environment #sec04 .no-13 .inner-right p.txt {
    margin-top: 15px;
  }

  #environment #sec04 .no-13 .inner-right .figure-13 {
    width: 225px;
  }

  /*--------------------------------------------
    社員の1日（#oneday）
--------------------------------------------*/
  #oneday .page-ttlArea p.en {
    font-size: 9rem;
    margin-bottom: 25px;
  }

  #oneday #sec01 .ctsBox {
    width: 900px;
    margin: 0 auto;
  }

  #oneday #sec01 .ctsBox iframe {
    display: block;
    width: 100%;
    height: 504px;
  }

  #oneday #sec02 {
    background: url(../Images/top-links-bg.png) top no-repeat;
    background-size: cover;
    padding-bottom: 160px;
    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.25));
    padding: 60px 100px 100px;
  }

  #oneday #sec02 .ctsBox .tabNav li {
    width: 250px;
  }

  #oneday #sec02 .ctsBox .schedule {
    margin: 10px 0 70px;
  }

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

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

  #oneday #sec02 .ctsBox .schedule dl dt {
    width: 180px;
    display: flex;
    align-items: center;
    column-gap: 20px;
  }

  #oneday #sec02 .ctsBox .schedule dl dt .clock {
    width: 80px;
  }

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

  #oneday #sec02 .ctsBox .schedule dl .cts {
    width: 700px;
    padding-top: 20px;
  }

  #oneday #sec02 .ctsBox .schedule dl .cts.withimg {
    display: flex;
    justify-content: space-between;
  }

  #oneday #sec02 .ctsBox .schedule dl .cts.withimg img {
    object-fit: cover;
    object-position: top;
    width: 310px;
    /*height: 190px;*/
  }

  #oneday #sec02 .ctsBox .schedule dl .cts.withimg .txtArea {
    width: 350px;
  }

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

  #oneday #sec02 .ctsBox .btnArea {
    text-align: center;
  }

  #oneday #sec02 .ctsBox .btn-cmn {
    width: 600px;
  }

  /*--------------------------------------------
    成長の機会（#career）
--------------------------------------------*/
  #career #sec01 .cts {
    text-align: center;
    margin-top: -60px;
  }

  #career #sec01 .for-pc {
    margin: 50px;
  }

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

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

  #career #sec02 .ctsBox {
    column-gap: 100px;
    width: 980px;
    margin: 0 auto;
  }

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

  #career #sec02 .ctsBox h3 {
    width: 180px;
    font-size: 1.8rem;
    line-height: 2;
    text-align: right;
  }

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

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

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

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

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

  #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: -78px;
  }

  #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 {
    column-gap: 40px;
  }

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

  #career #sec02 .ctsBox .box img {
    width: 350px;
  }

  #career #sec02 .ctsBox .box dl {
    padding-top: 10px;
  }

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

  #career #sec02 .ctsBox .box dl dd {
    padding-left: 50px;
  }

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

  #career #sec02 .ctsBox-04 img.ctsBox-04-bg {
    width: 100%;
    position: absolute;
    top: -100px;
    left: 0;
  }

  #career #sec02 .ctsBox-04 .sec-inner {
    display: flex;
    justify-content: space-between;
    width: 900px;
    margin: 55px auto 0;
  }

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

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

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

  #career #sec02 .ctsBox-04 .txt {
    width: 500px;
    margin-top: 50px;
  }

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

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

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

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

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

  #message #sec01 h1 {
    font-size: 5rem;
    font-style: italic;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.2em;
    margin-top: 40px;
  }

  #message #sec01 .txtArea {
    font-size: 1.8rem;
    line-height: 2;
    letter-spacing: 0.25em;
    margin: 70px 0 100px;
  }

  #message #sec01 .txtArea span {
    font-size: 3rem;
    font-weight: 600;
    line-height: 2.5;
    letter-spacing: 0.2em;
  }

  #message #sec01 .movieArea {
    width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 10;
  }

  #message #sec01 .movieArea .sec01-txt {
    width: 300px;
    position: absolute;
    top: -110px;
    left: -110px;
  }

  #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;
    width: 100%;
    height: 100%;
    border: 0;
  }

  #message #sec02 .ctsBox {
    align-items: center;
  }

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

  #message #sec02 .ctsBox img {
    width: 500px;
  }

  #message #sec02 .ctsBox .txtArea {
    width: 540px;
  }

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

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

  #message #sec03 .ctsBox {
    align-items: flex-start;
    margin-top: 60px;
  }

  #message #sec03 .rightArea {
    width: 600px;
    padding-top: 40px;
  }

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

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

  /*-- top-interview --*/
  #top-interview {
    padding-top: 200px;
    overflow: hidden;
  }

  #top-interview h2 {
    margin: 0 0 90px 10%;
  }

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

  #top-interview .interview-list .slide-arrow {
    width: 65px;
    height: 65px;
    background: none;
    border: none;
    padding: 0;
    position: absolute;
    top: -155px;
    cursor: pointer;
  }

  #top-interview .interview-list .prev-arrow {
    right: calc(20% + 95px);
  }

  #top-interview .interview-list .next-arrow {
    right: 20%;
  }

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

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

  #top-interview .interview-list li {
    flex-shrink: 0;
    margin-right: 50px;
  }

  /*-- interview--*/
  #interview #sec01 {
    padding-bottom: 160px;
  }

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

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

  #interview .interview-list {
    width: 100%;
    flex-wrap: wrap;
    justify-content: start;
    gap: 40px 5%;
  }

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

  .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;
    transition: 0.5s;
  }

  .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;
    transition: 0.5s;
  }

  .interview-list li a:hover:before {
    height: 60px;
  }

  .interview-list li a:hover p.busyo {
    color: #61cdd9;
    top: 80px;
  }

  .interview-list li .imgArea {
    background: #61cdd9;
    position: relative;
    overflow: hidden;
    z-index: -1;
  }

  .interview-list li a:hover .imgArea img {
    transform: scale(1.1);
  }

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

  .interview-list li a:hover .cts-btm {
    filter: drop-shadow(0px 3px 3px rgba(204, 204, 204, 0.25));
  }

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

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

  .interview-list li a:hover .cts-btm dt {
    color: #61cdd9;
  }

  .interview-list li a:hover .cts-btm dt span {
    color: #ccc;
  }

  .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-top: 100px;
    padding-bottom: 160px;
    margin-top: -80px;
    position: relative;
  }

  #interview #sec02:before {
    content: "";
    background-image: linear-gradient(0deg, transparent 0 40%, #fff 100%);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
  }

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

  #interview #sec02 .panelBox .student-list>li {
    width: 260px;
  }

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

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

  #interview #sec02 .panelBox .student-list li a:hover .imgArea img {
    transform: scale(1.1);
  }

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

  #interview #sec02 .panelBox .name dt {
    color: #f6696a;
    line-height: 1;
    margin: 20px 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: 1100px;
    max-height: 90vh;
    background: #fff;
    border-radius: 15px;
    padding: 60px 0;
    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: absolute;
    top: 20px;
    right: 20px;
    display: block;
    width: 40px;
    height: 40px;
    border: #f6696a 2px solid;
    border-radius: 50%;
    transition: 0.5s;
    cursor: pointer;
  }

  .md-xmark span {
    display: block;
    width: 17px;
    height: 2px;
    margin: auto;
    background-color: #f6696a;
    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: 900px;
    margin: 0 auto;
  }

  .md-inner .survey .survey-top {
    display: flex;
    align-items: center;
    column-gap: 50px;
    margin-bottom: 40px;
  }

  .md-inner .survey .survey-top img {
    object-fit: cover;
    object-position: 0 -10px;
    width: 280px;
    height: 230px;
  }

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

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

  .md-inner .survey .survey-top ul li {
    font-size: 1.7rem;
  }

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

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

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

  .md-inner .survey dt {
    padding-left: 40px;
    margin-bottom: 10px;
  }

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

  #interview-single p.txt {
    line-height: 2.1;
  }

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

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

  #interview-single .prof {
    margin-top: 20px;
    position: relative;
  }

  #interview-single .prof p.with {
    color: #61cdd9;
    font-weight: 600;
    writing-mode: vertical-rl;
    position: absolute;
    bottom: -50px;
    left: 50px;
    z-index: 10;
  }

  #interview-single .prof img {
    margin: 0;
  }

  #interview-single .prof .txtArea {
    width: 850px;
    margin: 80px 0 0 250px;
  }

  #interview-single .prof .txtArea .tags {
    display: flex;
    column-gap: 30px;
  }

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

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

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

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

  #interview-single .prof .txtArea h1 span.ja {
    font-size: 4rem;
    margin-right: 30px;
  }

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

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

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

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

  #interview-single #sec01 .ctsBox-top .sec-inner {
    align-items: flex-end;
    padding: 50px 0 100px;
  }

  #interview-single #sec01 .ctsBox-btm .sec-inner {
    padding: 100px 0;
  }

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

  #interview-single #sec01 .ctsBox-top .bg-green {
    width: 52%;
    height: 70%;
    left: 0;
  }

  #interview-single #sec01 .ctsBox-btm .bg-green {
    width: 60%;
    height: 60%;
    right: 0;
  }

  #interview-single #sec01 .ctsBox .photo {
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
  }

  #interview-single #sec01 .ctsBox-top .img-02 {
    width: 34%;
    height: 100%;
    position: absolute;
    left: 0;
  }

  #interview-single #sec01 .ctsBox-btm .img-03 {
    width: 37%;
    height: 75%;
    right: 0;
  }

  #interview-single #sec01 .ctsBox .box {
    width: 650px;
  }

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

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

  #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.6rem;
    letter-spacing: 0.18em;
  }

  #interview-single #sec02 {
    width: 100%;
    padding: 80px 0 100px;
    overflow: hidden;
  }

  #interview-single #sec02 .ttlArea {
    text-align: center;
    margin-bottom: 120px;
  }

  #interview-single #sec02 .ttlArea ul.txtline-loop img {
    height: 100px;
  }

  #interview-single #sec02 .ttlArea h2 {}

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

  #interview-single #sec02 .ttlArea h2 .handwriting {}

  #interview-single #sec02 .ctsBox {}

  #interview-single #sec02 .ctsBox .circle {
    object-fit: contain;
    width: 40%;
    max-height: 100%;
    position: absolute;
  }

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

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

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

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

  #interview-single #sec02 .ctsBox-top .sec-inner {}

  #interview-single #sec02 .ctsBox-btm .sec-inner {
    align-items: flex-end;
  }

  #interview-single #sec02 .ctsBox .box {
    display: flex;
    align-items: flex-start;
    column-gap: 30px;
    width: 750px;
    position: relative;
  }

  #interview-single #sec02 .ctsBox .ornament {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #54aaf1;
    font-size: 1.6rem;
    font-weight: 600;
    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 {}

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

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

  #interview-single #sec02 .center-img .deco {
    width: 70%;
    position: absolute;
    top: -90%;
    right: -35%;
    z-index: -1;
  }

  #interview-single #sec03 {
    padding: 100px 0 160px;
  }

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

  #interview-single #sec03 h2 {
    font-size: 5rem;
    font-style: italic;
    line-height: 1.5;
    letter-spacing: 0.15em;
    margin-bottom: 60px;
  }

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

  #interview-single #sec03 ul {
    display: flex;
    column-gap: 30px;
  }

  #interview-single #sec03 ul li .btn-cmn {
    width: 400px;
  }

  /*--------------------------------------------
    溝内さんインタビュー（.interview-Mizouchi）
--------------------------------------------*/
  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top {
    margin-bottom: 40px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .leftBox {}

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

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

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

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .leftBox h1 span.en {
    font-size: 2rem;
    margin-top: 20px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .leftBox .tags {
    flex-direction: column;
    gap: 12px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .rightBox {
    width: 440px;
    border: #61cdd9 2px solid;
    padding: 20px 30px;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .rightBox li {
    line-height: 1.8;
  }

  #interview-single.interview-Mizouchi .prof .txtArea .txtArea-top .rightBox span {
    display: inline-block;
    color: #61cdd9;
    font-weight: bold;
    margin-right: 20px;
  }

  #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 #sec02 .ttlArea h2 span.ja {
    color: #3e3e3e;
    font-size: 4rem;
    line-height: 1.4;
    font-weight: 600;
  }

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

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

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

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

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

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

  #interview-special .btn-more-pink-02:hover span {
    color: #f3a0fd;
  }

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

  #interview-special .page-ttlArea {
    width: 100%;
    height: 100vh;
    background: url(../Images/interview-special/fv-bg.jpg) center no-repeat;
    background-size: cover;
    padding-bottom: 0;
    margin-bottom: 0;
    position: relative;
  }

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

  #interview-special .page-ttlArea h1 {
    height: 48vh;
    position: absolute;
    top: 30%;
    left: 20%;
  }

  #interview-special .page-ttlArea h1 img {
    height: 100%;
  }

  #interview-special .page-ttlArea .kazari {
    height: 80vh;
    position: absolute;
    bottom: 0;
    left: 0;
  }

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

  #interview-special #prof .sec-inner {
    width: 960px;
    margin: 0 auto;
  }

  #interview-special #prof .cts-top {
    align-items: flex-start;
    column-gap: 60px;
    margin-bottom: 100px;
  }

  #interview-special #prof .cts-top .tArea {
    padding-top: 30px;
  }

  #interview-special #prof .cts-top .tArea .tags {
    display: flex;
    column-gap: 30px;
  }

  #interview-special #prof .cts-top .tArea .tags li {
    font-size: 1.6rem;
    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-size: 1.5rem;
    font-weight: 600;
    margin-right: 8px;
  }

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

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

  #interview-special #prof .cts-top .tArea dl dt h2 {
    display: block;
    font-size: 4rem;
    /*margin-right: 30px;*/
  }

  #interview-special #prof .cts-top .tArea dl dt span {
    color: #76aada;
    font-size: 3rem;
    margin-top: 10px;
    display: block;
  }

  #interview-special #prof .cts-top .tArea dl dd p+p {
    margin-top: 10px;
  }

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

  #interview-special #prof .cts-top .tArea .history th {
    color: #77aada;
    letter-spacing: 0.15em;
    text-align: left;
    vertical-align: text-top;
    padding-right: 20px;
  }

  #interview-special #prof .cts-top .tArea .history td {
    font-size: 1.4rem;
  }

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

  #interview-special #prof .cts-mdl .video {}

  #interview-special #prof .cts-mdl .video iframe {
    display: block;
    width: 100%;
    height: 537.6px;
  }

  #interview-special #prof .cts-mdl .kurukuru {
    position: absolute;
    top: -103px;
    right: -103px;
    z-index: -1;
  }

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

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

  #interview-special .txtInterview .txtInterview-img {
    object-fit: cover;
    object-position: top;
    width: 37.5%;
    max-height: 745px;
    position: absolute;
    top: 0;
    z-index: -1;
  }

  #interview-special .txtInterview .txtInterview-img.img-01 {
    left: 0;
  }

  #interview-special .txtInterview .txtInterview-img.img-02 {
    right: 0;
  }

  #interview-special .txtInterview .txtInterview-img.img-03 {
    left: 0;
    top: 8%;
  }
  
  #interview-special .txtInterview .txtInterview-img.img-03_02 {
    top: 48%;
  }

  #interview-special .txtInterview .txtInterview-bg {
    object-fit: cover;
    width: 52%;
    position: absolute;
    z-index: -2;
  }

  #interview-special .txtInterview .txtInterview-bg.bg-blue {
    max-height: 770px;
    left: 0;
    bottom: 0;
  }

  #interview-special .txtInterview .txtInterview-bg.bg-pink {
    max-height: 600px;
    right: 0;
    bottom: 0;
  }

  #interview-special .txtInterview .txtInterview-bg.bg-yellow {
    max-height: 1200px;
    left: 0;
    bottom: 50px;
  }

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

  #interview-special #sec01.txtInterview .sec-inner {
    align-items: flex-end;
    padding: 50px 0 100px;
  }

  #interview-special #sec02.txtInterview .sec-inner {
    padding: 100px 0;
  }

  #interview-special #sec03.txtInterview .sec-inner {
    align-items: flex-end;
    padding: 100px 0;
  }

  #interview-special .txtInterview .box {
    width: 630px;
  }

  #interview-special .txtInterview .box .ttl,
  #interview-special #prof .box .ttl {
    margin-bottom: 25px;
  }

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

  #interview-special #sec01.txtInterview .box .ttl span.en,
  #interview-special #prof .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,
  #interview-special #prof .box .ttl h3 {
    font-size: 3rem;
    line-height: 1.46;
    letter-spacing: 0.17em;
    padding: 0 0 6px 30px;
    margin-left: 5px;
  }

  #interview-special #sec01.txtInterview .box .ttl h3,
  #interview-special #prof .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: 2.1;
  }

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

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

  #interview-special #sec04 .box-07 {
    align-items: flex-start;
    position: relative;
  }

  #interview-special #sec04 .box-07 .kurukuru {
    position: absolute;
    top: -190px;
    left: -20%;
    z-index: -1;
  }

  #interview-special #sec04 .box-07 h3 {
    font-size: 3rem;
    line-height: 1.7;
    letter-spacing: 0.17em;
  }

  #interview-special #sec04 .box-07 p {
    width: 530px;
  }

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

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

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

  #interview-special #secLast ul {
    justify-content: center;
    column-gap: 20px;
  }

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

  #top .interviewLink {
    margin: 100px auto 0;
    position: relative;
    z-index: 20;
  }

  #interview .interviewLink {
    margin-bottom: 40px;
  }

  #message .interviewLink {
    margin: 40px 0;
  }

  .interviewLink a {
    display: block;
  }

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

  /*--------------------------------------------
    募集要項（#guidelines）
--------------------------------------------*/
  /* #guidelines #sec01 {
    padding-bottom: 160px;
  }
  #guidelines #sec01 .ctsBox-top {
    margin-bottom: 40px;
  }
  #guidelines #sec01 .tabNav {
    margin-bottom: 100px;
  }
  #guidelines #sec01 .table-cmn td .listBox {
    display: flex;
    align-items: flex-start;
    column-gap: 50px;
  }
  #guidelines .tab-judge .ctsBox-top {
    justify-content: center;
    column-gap: 60px;
    text-align: center;
    margin-top: -20px;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi {
    background: #e0f8fa;
    border-radius: 10px;
    padding: 40px 45px;
    position: relative;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi:before {
    content: "";
    border: 10px solid transparent;
    border-left: 20px solid #e0f8fa;
    position: absolute;
    margin-top: -10px;
    top: 50%;
    left: 100%;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi dt {
    font-size: 2rem;
    font-weight: 400;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi dt {
    display: block;
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1;
    margin: 7px 0px 0px;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi dd {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }
  #guidelines .tab-judge .ctsBox-top .fukidashi p {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }
  #guidelines .tab-judge .ctsBox-top img {
    height: 300px;
    margin: 0;
  }
  #guidelines .tab-office .ctsBox-top iframe {
    width: 530px;
    height: 300px;
  } */

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

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

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

  #entry #sec03 .table-cmn td .listBox,
  #entry #sec04 .table-cmn td .listBox {
    display: flex;
    align-items: flex-start;
    column-gap: 50px;
  }

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

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

  .web {
    margin-top: 25px;
  }

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

  .selection-flow-text {
    text-align: center;
    margin: 30px 0px 20px;
  }

  .under-h2 span.flow {
    font-size: 4rem;
    line-height: 1.4;
    font-weight: 600;
  }

  #entry .tab-judge .ctsBox-top,
  #entry .tab-office .ctsBox-top {
    justify-content: center;
    column-gap: 60px;
    text-align: center;
    margin-top: -20px;
  }

  #entry .tab-judge .ctsBox-top .fukidashi,
  #entry .tab-office .ctsBox-top .fukidashi {
    background: #e0f8fa;
    border-radius: 10px;
    padding: 40px 45px;
    position: relative;
  }

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

  #entry .tab-judge .ctsBox-top .fukidashi dt,
  #entry .tab-office .ctsBox-top .fukidashi dt {
    font-size: 2rem;
    font-weight: 400;
  }

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

  #entry .tab-judge .ctsBox-top .fukidashi dd,
  #entry .tab-office .ctsBox-top .fukidashi dd {
    font-size: 1.6rem;
    margin-bottom: 15px;
  }

  #entry .tab-judge .ctsBox-top .fukidashi p,
  #entry .tab-office .ctsBox-top .fukidashi p {
    font-size: 1.6rem;
    margin-bottom: 20px;
  }

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

  #entry .tab-office .ctsBox-top iframe,
  #entry .tab-office .ctsBox-top iframe {
    width: 530px;
    height: 300px;
  }

  /*--------------------------------------------
    個人情報保護方針（#privacy）
--------------------------------------------*/
  #privacy #sec02 {
    padding-bottom: 160px;
  }

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

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

  #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: #f6696a;
    font-size: 1.8rem;
  }

  #privacy .cts .table-cmn th {
    font-size: 1.5rem;
    vertical-align: middle;
    padding: 25px 10px;
  }

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

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

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

/*--------------------------------------------
    TOP youtube
--------------------------------------------*/
#top-youtube {
  padding: 125px 0 30px 0px;
}

#top-youtube h2 span.ja {
  font-size: 4rem;
}

#top-youtube h2 span.small {
  color: #54aaf1;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.9;
  margin-top: 15px;
}

#top-youtube .video {
  display: flex;
  justify-content: center;
}

iframe.youtube_16-9 {
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  max-width: 750px;
  display: block;
  margin: auto;
}


#top-youtube .cts-mdl {
  position: relative;
  margin-top: 10rem;
}

#top-youtube .cts-mdl img.kurukuru {
  position: absolute;
  top: -64px;
  right: 56px;
  z-index: -1;
  width: 285px;
  height: 285px;
}


@media print,
screen and (min-width: 1535px) {
  html {
    font-size: 67.5%;
  }

  .key-inner-txt__images img {
    float: right;
    width: 60rem;
  }

  /*img.key-inner-txt__images--02 {*/
  /*  width: 20rem;*/
  /*}*/

  #header nav ul li a {
    font-size: 1.6rem;
  }

  /*--------------------------------------------
   トップメッセージ
--------------------------------------------*/
  #top-message .ctsBox-top h2 span {
    font-size: 4rem;
  }

  /*--------------------------------------------
   バナー
--------------------------------------------*/
  .banner {
    display: flex;
    justify-content: center;
    gap: 25px;
    padding-bottom: 100px;
  }

  .banner img {
    width: 100%;
  }
}

/*--------------------------------------------
  サンクスページ
--------------------------------------------*/
.entry-btn {
  text-align: center;
}

/*--------------------------------------------
キャリアプラン選べる働き方
--------------------------------------------*/
.working-wrapper {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 850px;
  margin: auto;
}

.working-card {
  display: flex;
  background-color: #fff;
  border-radius: 10px;
  padding: 20px;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  align-items: flex-start;
  flex-wrap: wrap;
}

.working-card:nth-child(odd) {
  background-color: #fff6eb;
}

.working-card:nth-child(even) {
  background-color: #edf7ff;
}

.working-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100px;
  margin-right: 15px;
}

.working-profile-image {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  overflow: hidden;
}

.working-profile-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.working-profile-footer {
  margin-top: 10px;
  font-size: 12px;
  color: #666;
  text-align: center;
}

.working-content {
  flex: 1;
}

.working-content p {
  font-size: 14px;
  line-height: 1.8;
  color: #333;
  text-align: left;
}

.working-content p span {
  font-size: 1.5rem;
  font-weight: bold;
  color: #e56b3c;
}
