@charset "UTF-8";
/* foundation */
/* ===================================================================
CSS information
 file name  :  default.css
 style info :  リセット及びbody初期設定 サイト全体共通css (このスタイルシートは基本的に変更しない)
=================================================================== */
/*--- reset */
/**/
html {
  overflow-y: scroll;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

address, caption, cite, code, dfn, em, strong, th, var {
  font-style: normal;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption, th {
  text-align: left;
  font-weight: normal;
  vertical-align: top;
}

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

object,
embed {
  vertical-align: top;
}

hr, legend {
  display: none;
}

h1, h2, h3, h4, h5, p, ul, ol, li, dl, dt, dd, form {
  font-size: 100%;
  font-weight: normal;
}

img, abbr, acronym, fieldset {
  border: 0;
}

li {
  list-style-type: none;
}

img {
  vertical-align: middle;
}

input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}

figure {
  margin: 0;
}

/*
*/
/* 10px = 77% 11px = 85% 12px = 93% 13px = 100%
14px = 108% 15px = 116% 16px = 123.1% 17px = 131%
18px = 138.5% 19px = 146.5% 20px = 153.9% 21px = 161.6%
22px = 167% 23px = 174% 24px = 182% 25px = 189% 26px = 197% */
/*
YUI 3.4.1 (build 4118)
Copyright 2011 Yahoo! Inc. All rights reserved.
Licensed under the BSD License.
http://yuilibrary.com/license/
*/
/**
 * Percents could work for IE, but for backCompat purposes, we are using keywords.
 * x-small is for IE6/7 quirks mode.
 */
body {
  font: 108%;
}

/**
 * Nudge down to get to 13px equivalent for these form elements
 */
select,
input,
button,
textarea {
  font-size: 18px;
}

/**
 * To help tables remember to inherit
 */
table {
  font-size: inherit;
  font: 108%;
  width: 100%;
  border-collapse: collapse;
}

/**
 * Bump up IE to get to 13px equivalent for these fixed-width elements
 */
pre,
code,
kbd,
samp,
tt {
  font-family: monospace;
  *font-size: 108%;
  line-height: 100%;
}

/* tablet以下すべて（tablet02 + smartphone） */
/* utility */
.container {
  margin-right: auto;
  margin-left: auto;
}
.container.--S {
  max-width: 868px;
}
@media only screen and (max-width: 699px) {
  .container.--S {
    width: 100%;
  }
}
.container.--M {
  max-width: 940px;
}
@media only screen and (max-width: 699px) {
  .container.--M {
    width: 100%;
  }
}
.container.--L {
  max-width: 1162px;
}
@media only screen and (max-width: 699px) {
  .container.--L {
    width: 100%;
  }
}

@media only screen and (min-width: 700px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  .pc {
    display: block;
  }
  .sp {
    display: none !important;
  }
}
@media only screen and (max-width: 699px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
}
/* common */
html {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 62.5%;
  font-style: normal;
  font-weight: 400;
}

body {
  color: #222;
  background-color: #fff;
  overflow: hidden;
  line-height: 2;
}

main {
  padding-top: 90px;
}
@media only screen and (max-width: 699px) {
  main {
    padding-top: 68px;
  }
}

a {
  color: #222;
  text-decoration: none;
  transition: all 0.3s ease;
}

.pagesTop {
  box-sizing: border-box;
  width: 100%;
  padding: 0 20px;
  background-color: #f2f2f2;
  background-size: auto 100%;
  background-position: right top;
  background-repeat: no-repeat;
}
.pagesTop__ttl {
  font-size: 3.2rem;
  font-weight: 700;
}
@media only screen and (max-width: 699px) {
  .pagesTop__ttl {
    font-size: 2.3rem;
  }
}
.pagesTop.--L {
  height: 240px;
  background-image: url(../img/common/page_top_bg_l.png);
}
@media only screen and (max-width: 699px) {
  .pagesTop.--L {
    height: 130px;
  }
}
.pagesTop.--M {
  height: 160px;
  background-image: url(../img/common/page_top_bg_m.png);
}
@media only screen and (max-width: 699px) {
  .pagesTop.--M {
    height: 100px;
  }
}
.pagesTop .container {
  display: flex;
  align-items: center;
  height: 100%;
}

.section {
  padding: 120px 20px;
}
@media only screen and (max-width: 699px) {
  .section {
    padding: 60px 20px;
  }
}

.breadcrumbs ul {
  list-style: none;
  display: flex;
  align-items: center;
  gap: 26px;
  font-size: 1.2rem;
  padding: 9.5px max((100% - 1150px) * 0.5, 50px);
}
@media only screen and (max-width: 699px) {
  .breadcrumbs ul {
    font-size: 1rem;
    padding: 9.5px 20px;
  }
}
.breadcrumbs ul li {
  position: relative;
  transition: 0.2s ease;
}
.breadcrumbs ul li:last-child:before, .breadcrumbs ul li:last-child:after {
  content: "";
  display: none;
}
.breadcrumbs ul li:hover {
  color: #a60034;
}
.breadcrumbs ul li:hover:last-child {
  color: #222;
}
.breadcrumbs ul li:hover:before {
  background-color: #a60034;
}
.breadcrumbs ul li:hover:after {
  color: #222;
}
.breadcrumbs ul li:before {
  display: block;
  position: absolute;
  bottom: -1px;
  width: calc(100% - 10px);
  height: 1px;
  background-color: #222;
}
@media only screen and (max-width: 699px) {
  .breadcrumbs ul li:before {
    bottom: -0.3vw;
    width: calc(100% - 2.6vw);
    height: 0.2vw;
  }
}
.breadcrumbs ul li:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -15px;
  bottom: 0;
  margin: auto auto auto 0.5em;
  width: 6px;
  height: 10px;
  background-image: url(../img/common/breadcrumb-arrow.svg);
  background-size: cover;
  background-repeat: no-repeat;
}
.breadcrumbs ul li a {
  text-decoration: underline;
}

#header {
  z-index: 99;
  box-sizing: border-box;
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: 90px;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1019607843);
}
@media only screen and (max-width: 699px) {
  #header {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 68px;
    padding: 0;
  }
}
#header .header__logo {
  position: absolute;
  inset: 0 auto 0 64px;
  width: 246px;
  height: 41px;
  margin: auto;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .header__logo {
    inset: 0 auto 0 40px;
    width: 200px;
    height: 33px;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #header .header__logo {
    inset: 0 auto 0 20px;
    width: 170px;
    height: 28px;
  }
}
@media only screen and (max-width: 699px) {
  #header .header__logo {
    inset: 0 auto 0 20px;
    width: 208px;
    height: 35px;
  }
}
#header .header__logo img {
  width: 100%;
  height: auto;
}
#header .globalNavi {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0 30px;
  margin-right: 230px;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .globalNavi {
    gap: 0 20px;
    margin-right: 160px;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #header .globalNavi {
    margin-right: 130px;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi {
    margin-right: 0;
    display: block;
    border-top: solid 1px #222;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li {
    border-bottom: solid 1px #222;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li.has-sub {
    position: relative;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li.has-sub::before, #header .globalNavi li.has-sub::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 38px;
    width: 14px;
    height: 1px;
    background: #222;
    transform: translateY(-50%);
    transition: 0.2s ease;
  }
  #header .globalNavi li.has-sub::before {
    transform: translateY(-50%) rotate(90deg);
  }
  #header .globalNavi li.has-sub.open::before {
    transform: translateY(-50%) rotate(0deg);
    opacity: 0;
  }
  #header .globalNavi li.has-sub:hover::before, #header .globalNavi li.has-sub:hover::after {
    background: #a50034;
  }
}
#header .globalNavi li.has-sub .sub-menu {
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  padding: 55px 0 80px;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(30px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(10px);
  transition: 0.3s ease;
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li.has-sub .sub-menu {
    position: static;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
    transition: max-height 0.3s ease;
  }
}
#header .globalNavi li.has-sub .sub-menu li {
  position: relative;
  max-width: 320px;
  height: 63px;
  display: flex;
  align-items: center;
  padding-left: 5px;
  border-bottom: 1px solid #b1b1b1;
  cursor: pointer;
  transition: 0.2s ease;
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li.has-sub .sub-menu li {
    height: 50px;
    border-bottom: none;
  }
}
#header .globalNavi li.has-sub .sub-menu li a {
  padding: 10px 0 10px 13px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li.has-sub .sub-menu li a {
    font-size: 1.2rem;
  }
}
#header .globalNavi li.has-sub:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media only screen and (max-width: 949px) {
  #header .globalNavi li.has-sub.open .sub-menu {
    max-height: 500px;
  }
}
#header .globalNavi__item {
  font-size: 1.4rem;
  letter-spacing: 0.15em;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .globalNavi__item {
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #header .globalNavi__item {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 699px) {
  #header .globalNavi__item {
    margin-top: 5px;
    font-size: 1.4rem;
  }
}
#header .globalNavi__item a,
#header .globalNavi__item button {
  display: inline-block;
  width: 100%;
  padding-top: 31px;
  padding-bottom: 31px;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .globalNavi__item a,
  #header .globalNavi__item button {
    padding-top: 33px;
    padding-bottom: 33px;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi__item a,
  #header .globalNavi__item button {
    padding-top: 27px;
    padding-bottom: 27px;
  }
}
#header .globalNavi__item a:hover,
#header .globalNavi__item button:hover {
  color: #a50034;
  transition: 0.2s ease;
}
#header .globalNavi__interview {
  display: inline-block;
  padding-right: 23px;
  position: relative;
  background: none;
  border: none;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .globalNavi__interview {
    padding-right: 15px;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi__interview {
    padding-right: 0;
  }
}
#header .globalNavi__interview::after {
  position: absolute;
  inset: 22px 13px auto auto;
  content: url(../img/common/header_drop_pc.png);
  transform: scale(0.5);
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .globalNavi__interview::after {
    inset: 23px 0 auto auto;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi__interview {
    hamburger-events: auto;
  }
  #header .globalNavi__interview::after {
    content: "";
  }
}
#header .globalNavi__entry {
  box-sizing: border-box;
  position: absolute;
  inset: 0 64px 0 auto;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 128px;
  height: 34px;
  border: solid 1px #a50034;
  border-radius: 30px;
  margin: auto;
  color: #a50034;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: all 0.3s ease;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #header .globalNavi__entry {
    inset: 0 40px 0 auto;
    width: 100px;
    height: 28px;
    border-radius: 25px;
    font-size: 1.2rem;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #header .globalNavi__entry {
    inset: 0 20px 0 auto;
    width: 90px;
    height: 28px;
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 949px) {
  #header .globalNavi__entry {
    inset: 0 50px 0 auto;
    width: 85px;
    height: 28px;
    border-radius: 22px;
    font-size: 1rem;
  }
}
#header .globalNavi__entry:hover {
  color: #fff;
  background-color: #a50034;
  transition: all 0.3s ease;
}
#header .globalNavi__subWrap {
  display: flex;
  margin: 0 auto;
  max-width: 1040px;
}
@media only screen and (max-width: 699px) {
  #header .globalNavi__subWrap {
    display: block;
    margin-bottom: 6px;
  }
}
#header .globalNavi__sub {
  position: relative;
  flex-direction: column;
  margin: 0;
  max-width: none;
  justify-content: normal;
  flex: 1 1 calc((100% - 40px) / 3);
  gap: 0;
}
#header .globalNavi__sub li::after {
  position: absolute;
  inset: 6px -10px auto auto;
  content: url(../img/common/header_arrow_pc.png);
  transform: scale(0.5);
}
@media only screen and (max-width: 949px) {
  #header .globalNavi__sub li::after {
    content: "";
  }
}
#header .globalNavi__sub li:hover {
  color: #a50034;
  transition: 0.3s ease;
}
#header .globalNavi__sub li:hover::after {
  content: url(../img/common/header_arrow-after_pc.png);
}
@media only screen and (max-width: 949px) {
  #header .globalNavi__sub li:hover::after {
    content: "";
  }
}
#header .globalNavi__sub li:hover > a {
  color: #a50034;
  transition: 0.3s ease;
}
@media only screen and (max-width: 949px) {
  #header .globalNavi-pc {
    display: none;
  }
}
#header::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 0;
  height: 0;
  border-top: 68px solid #a50034;
  border-right: 30px solid transparent;
}

#footer {
  color: #fff;
  background-color: #121212;
}
#footer a {
  transition: 0.3s ease;
}
#footer a:hover {
  opacity: 0.7;
  transition: 0.3s ease;
}
#footer .footer__wrap {
  position: relative;
  padding: 0 20px;
}
#footer .footer__wrap::before {
  display: block;
  content: "";
  width: 205px;
  height: 100%;
  position: absolute;
  inset: 0 0 auto auto;
  background-image: url(../img/common/footer_bg.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #footer .footer__wrap::before {
    content: none;
  }
}
@media only screen and (max-width: 699px) {
  #footer .footer__wrap::before {
    top: 0;
    right: -100px;
    content: "";
    background-image: url(../img/common/sec_bg_sp_w.png);
  }
}
#footer .footer__main {
  display: flex;
  justify-content: space-between;
  max-width: 1162px;
  margin: 0 auto 72px;
  padding-top: 68px;
}
@media only screen and (max-width: 699px) {
  #footer .footer__main {
    padding-top: 40px;
    margin: 0 auto;
  }
}
#footer .footer__box {
  width: 230px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #footer .footer__box {
    width: 180px;
  }
}
@media only screen and (max-width: 949px) {
  #footer .footer__box {
    display: none;
  }
}
#footer .footer__logo {
  width: 250px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #footer .footer__logo {
    width: 200px;
  }
}
@media only screen and (max-width: 699px) {
  #footer .footer__logo {
    width: 258px;
    margin: 0 auto;
  }
}
#footer .footer__logo img {
  width: 100%;
  height: auto;
}
#footer .footer__navItem {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #footer .footer__navItem {
    font-size: 1.6rem;
  }
}
#footer .footer__navItem + li {
  margin-top: 38px;
}
#footer .footer__navItem a {
  color: #fff;
}
#footer .footer__sub {
  margin-top: 10px;
}
#footer .footer__sub li {
  font-size: 1.4rem;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #footer .footer__sub li {
    font-size: 1.2rem;
  }
}
#footer .footer__sub li + li {
  margin-top: 10px;
}
#footer .footer__sub li a {
  color: #b3b3b3;
}
#footer .footer__sub + ul {
  margin-top: 42px;
}
#footer .footer__links {
  position: relative;
  max-width: 1162px;
  border-top: solid 1px rgba(255, 255, 255, 0.2);
  padding: 36px 0;
  margin: 0 auto;
}
@media only screen and (max-width: 699px) {
  #footer .footer__links {
    border-top: none;
    padding: 50px 0 36px;
  }
}
#footer .footer__links ul {
  display: flex;
  gap: 0 40px;
}
@media only screen and (max-width: 949px) {
  #footer .footer__links ul {
    gap: 0 20px;
  }
}
@media only screen and (max-width: 699px) {
  #footer .footer__links ul {
    flex-direction: column;
    gap: 20px 0;
  }
}
#footer .footer__links ul li {
  font-size: 1.3rem;
}
@media only screen and (max-width: 949px) {
  #footer .footer__links ul li {
    font-size: 1.1rem;
  }
}
@media only screen and (max-width: 699px) {
  #footer .footer__links ul li {
    text-align: center;
    font-size: 1.3rem;
  }
}
#footer .footer__links ul li a {
  color: #fff;
}
#footer .footer__nagase {
  position: absolute;
  inset: 0 0 0 auto;
  width: 114px;
  height: 34px;
  margin: auto;
}
@media only screen and (max-width: 949px) {
  #footer .footer__nagase {
    width: 100px;
    height: 30px;
  }
}
@media only screen and (max-width: 699px) {
  #footer .footer__nagase {
    display: none;
  }
}
#footer .footer__nagase img {
  width: 100%;
  height: auto;
}
#footer .footer__copyRight {
  z-index: 2;
  position: relative;
  padding: 16px 0;
  color: #fff;
  background-color: #a50034;
  font-size: 1rem;
  text-align: center;
}

html.remodal-is-locked {
  overflow: hidden;
  height: 100%; /* 高さを固定して背景のスクロールを防ぐ */
  touch-action: none;
}

#overlay {
  box-sizing: border-box;
  position: fixed;
  top: 68px;
  z-index: 1002;
  width: 100%;
  height: calc(100dvh - 68px);
  background-color: #fff;
  display: none;
  padding: 32px 20px 55px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior: contain;
  touch-action: auto;
}

@media only screen and (max-width: 949px) {
  #overlay {
    top: 90px;
    height: calc(100dvh - 90px);
  }
}
@media only screen and (max-width: 699px) {
  #overlay {
    top: 68px;
    height: calc(100dvh - 68px);
  }
}
.icn-hamburger {
  z-index: 1003;
  position: absolute;
  right: 5px;
  top: 0;
  display: none;
  width: 40px;
  cursor: pointer;
}
@media only screen and (max-width: 949px) {
  .icn-hamburger {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 90px;
  }
}
@media only screen and (max-width: 699px) {
  .icn-hamburger {
    height: 68px;
  }
}
.icn-hamburger span {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 17px;
  height: 2px;
  background-color: #222;
  transform-origin: center;
  transition: transform 0.3s, opacity 0.3s;
}
.icn-hamburger .bar-top {
  transform: translate(-50%, calc(-50% - 5px));
}
.icn-hamburger .bar-middle {
  transform: translate(-50%, -50%);
}
.icn-hamburger .bar-bottom {
  transform: translate(-50%, calc(-50% + 5px));
}

.icn-hamburger.is-open .bar-top {
  width: 18px;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.icn-hamburger.is-open .bar-middle {
  opacity: 0;
}
.icn-hamburger.is-open .bar-bottom {
  width: 18px;
  transform: translate(-50%, -50%) rotate(45deg);
}

/* components */
.btn {
  text-align: center;
}
.btn a {
  position: relative;
  color: #fff;
  background-color: #a50034;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  font-weight: 700;
  transition: all 0.3s ease;
}
.btn a::before {
  position: absolute;
  width: 1px;
  height: 24px;
  margin: auto;
  background-color: #fff;
  opacity: 0.6;
  content: "";
}
.btn a::after {
  position: absolute;
  inset: 0 35px 0 auto;
  margin: auto;
  content: url(../img/common/btn-arrow.svg);
}
@media only screen and (max-width: 699px) {
  .btn a::after {
    inset: 0 24px 0 auto;
  }
}
.btn a:hover {
  opacity: 0.8;
  transition: all 0.3s ease;
}
.btn.--M a {
  width: 336px;
  height: 64px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 699px) {
  .btn.--M a {
    width: 340px;
    height: 56px;
    font-size: 1.4rem;
  }
}
.btn.--M a::before {
  height: 24px;
  inset: 0 62px 0 auto;
}
@media only screen and (max-width: 699px) {
  .btn.--M a::before {
    inset: 0 50px 0 auto;
    height: 28px;
  }
}
.btn.--M a::after {
  width: 16px;
  height: 33px;
}
@media only screen and (max-width: 699px) {
  .btn.--M a::after {
    height: 30px;
  }
}
.btn.--L a {
  width: 492px;
  height: 84px;
  font-size: 2rem;
}
@media only screen and (max-width: 699px) {
  .btn.--L a {
    width: 340px;
    height: 56px;
    font-size: 1.6rem;
    line-height: 1.4;
  }
}
.btn.--L a::before {
  height: 36px;
  inset: 0 68px 0 auto;
}
@media only screen and (max-width: 699px) {
  .btn.--L a::before {
    inset: 0 62px 0 auto;
    height: 30px;
  }
}
.btn.--L a::after {
  width: 16px;
  height: 43px;
  transform: scale(1.5);
}
@media only screen and (max-width: 699px) {
  .btn.--L a::after {
    width: 16px;
    height: 26px;
    transform: scale(1);
  }
}
.btn.--nagase a {
  width: 416px;
  height: 64px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 699px) {
  .btn.--nagase a {
    width: 340px;
    height: 56px;
    font-size: 1.4rem;
  }
}
.btn.--nagase a::before {
  height: 24px;
  inset: 0 62px 0 auto;
}
@media only screen and (max-width: 699px) {
  .btn.--nagase a::before {
    inset: 0 50px 0 auto;
    height: 28px;
  }
}
.btn.--nagase a::after {
  width: 16px;
  height: 33px;
}
@media only screen and (max-width: 699px) {
  .btn.--nagase a::after {
    height: 30px;
  }
}

.entrySec {
  background-color: #f2f2f2;
}

.interviewList {
  margin: 80px 0 100px;
  padding: 0;
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: 140px 20px;
}
@media only screen and (max-width: 699px) {
  .interviewList {
    margin: 50px 0 60px;
    gap: 100px 0;
  }
}
.interviewList__item {
  width: calc((100% - 20px) / 2);
}
@media only screen and (max-width: 699px) {
  .interviewList__item {
    width: 100%;
  }
}

.interviewCard {
  z-index: 2;
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
}
.interviewCard:hover img {
  opacity: 0.8;
  transition: 0.2s ease;
}
.interviewCard__visual img {
  width: 329px;
  height: auto;
  display: block;
  transition: 0.2s ease;
}
@media only screen and (max-width: 699px) {
  .interviewCard__visual img {
    width: 75%;
    margin: 0 auto;
  }
}
.interviewCard__content {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: calc(100% - 55px);
  margin: -90px 0 0 auto;
  padding: 24px 10px 24px 24px;
  color: #fff;
}
@media only screen and (max-width: 699px) {
  .interviewCard__content {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
  }
}
.interviewCard__content.--main {
  background: #a50034;
}
.interviewCard__content.--dark {
  background: #8b001f;
}
.interviewCard__lead {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 699px) {
  .interviewCard__lead {
    font-size: 1.8rem;
  }
}
.interviewCard__info {
  margin-top: 16px;
  font-size: 1.3rem;
}

.rtdiscussionCard {
  z-index: 2;
  position: relative;
  display: block;
  margin-top: 80px;
  text-decoration: none;
}
@media only screen and (max-width: 699px) {
  .rtdiscussionCard {
    margin-top: 50px;
  }
}
.rtdiscussionCard:hover img {
  opacity: 0.8;
  transition: 0.2s ease;
}
.rtdiscussionCard__visual img {
  width: 860px;
  max-width: 100%;
  height: auto;
  display: block;
  transition: 0.2s ease;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  .rtdiscussionCard__visual img {
    width: 90%;
  }
}
@media only screen and (max-width: 699px) {
  .rtdiscussionCard__visual img {
    width: 100%;
  }
}
.rtdiscussionCard__content {
  position: relative;
  z-index: 2;
  box-sizing: border-box;
  width: calc(100% - 268px);
  margin: -58px 0 0 auto;
  padding: 24px;
  color: #fff;
  background: #8b001f;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  .rtdiscussionCard__content {
    width: calc(100% - 180px);
  }
}
@media only screen and (max-width: 699px) {
  .rtdiscussionCard__content {
    width: 100%;
    margin-top: 0;
    padding: 20px;
  }
}
.rtdiscussionCard__content.--main {
  background: #a50034;
}
.rtdiscussionCard__content.--dark {
  background: #8b001f;
}
.rtdiscussionCard__lead {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (max-width: 699px) {
  .rtdiscussionCard__lead {
    font-size: 1.8rem;
  }
}
.rtdiscussionCard__txt {
  margin-top: 20px;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 699px) {
  .rtdiscussionCard__txt {
    font-size: 1.4rem;
  }
}

.secTtl {
  position: relative;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 699px) {
  .secTtl {
    font-size: 1.75rem;
  }
}
.secTtl::after {
  position: absolute;
  inset: auto auto -15px 0;
  width: 50px;
  height: 2px;
  background-color: #a50034;
  content: "";
}
.secTtl.--white {
  color: #fff;
}
.secTtl.--white::after {
  background-color: #fff;
}
.secTtl + .secTxt {
  margin-top: 60px;
}
.secTtl__noteWrap {
  position: relative;
  margin-bottom: 40px;
}
.secTtl__note {
  position: absolute;
  inset: 12px 0 auto auto;
  font-size: 1.4rem;
  font-weight: 500;
}
@media only screen and (max-width: 949px) {
  .secTtl__note {
    position: static;
    margin-top: 30px;
  }
}
@media only screen and (max-width: 699px) {
  .secTtl__note {
    position: static;
    margin-top: 30px;
  }
}
.secTtl__note a {
  transition: 0.2s ease;
  text-decoration: underline;
}
.secTtl__note a:hover {
  opacity: 0.7;
  transition: 0.2s ease;
}

.secTxt {
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 699px) {
  .secTxt {
    font-size: 1.4rem;
  }
}

/* pages */
#p-about .aboutCompanyImg img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 699px) {
  #p-about .aboutCompanyImg img {
    height: 80vw;
    object-fit: cover;
  }
}

#aboutIntroSec .aboutIntro__bg {
  background: linear-gradient(to left, #f2f2f2 80%, #ffffff 80%);
}
@media only screen and (max-width: 699px) {
  #aboutIntroSec .aboutIntro__bg {
    background: none;
  }
}
#aboutIntroSec .aboutIntro__wrap {
  display: flex;
  flex-direction: row-reverse;
  gap: 36px;
  padding: 60px 0;
  margin-top: 60px;
}
@media only screen and (max-width: 699px) {
  #aboutIntroSec .aboutIntro__wrap {
    display: block;
    padding: 0;
  }
}
#aboutIntroSec .aboutIntro__content {
  flex: 1;
}
@media only screen and (max-width: 699px) {
  #aboutIntroSec .aboutIntro__content {
    background: #f2f2f2;
    padding: 30px 20px 120px;
  }
}
#aboutIntroSec .aboutIntro__ttl {
  color: #a50034;
  font-size: 2rem;
  font-weight: 700;
}
#aboutIntroSec .aboutIntro__txt {
  margin-top: 8px;
  padding-left: 20px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
}
#aboutIntroSec .aboutIntro__txt + .aboutIntro__ttl {
  margin-top: 26px;
}
#aboutIntroSec .aboutIntro__img {
  width: 304px;
  flex-shrink: 0;
}
@media only screen and (max-width: 699px) {
  #aboutIntroSec .aboutIntro__img {
    flex-shrink: 1;
    display: block;
    width: calc(100% - 40px);
    margin: -100px auto 0;
  }
}
#aboutIntroSec .aboutIntro__img img {
  width: 100%;
  height: auto;
}

#aboutMainSec {
  position: relative;
  padding: 50px 20px 56px;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec {
    padding: 20px 20px 56px;
  }
}
#aboutMainSec::before {
  content: "";
  width: 350px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/about/about_bg01.png);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec::before {
    left: -100px;
    width: 200px;
    height: 100%;
    background-image: url(../img/common/sec_bg_sp_b.png);
    background-size: contain;
    background-position: right top;
    background-repeat: repeat;
  }
}
#aboutMainSec #aboutMain01 {
  margin-top: 80px;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain01 {
    margin-top: 60px;
  }
}
#aboutMainSec #aboutMain01 .aboutMain__img {
  width: 310px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain01 .aboutMain__img {
    width: 350px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain01 .aboutMain__img {
    width: 100%;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain01 .aboutMain__img img {
    width: 430px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain01 .aboutMain__img img {
    width: 100%;
  }
}
#aboutMainSec #aboutMain01 .aboutMain__content {
  padding: 0 62px 0 0;
  width: calc(100% - 310px);
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain01 .aboutMain__content {
    width: calc(100% - 350px);
    padding: 0 20px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain01 .aboutMain__content {
    width: 100%;
    padding: 0;
  }
}
#aboutMainSec #aboutMain02 {
  margin-top: 80px;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain02 {
    margin-top: 60px;
  }
}
#aboutMainSec #aboutMain02 .aboutMain__img {
  display: flex;
  justify-content: flex-end;
  width: 333px;
  margin-top: -100px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain02 .aboutMain__img {
    width: 350px;
    margin-top: 0;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain02 .aboutMain__img {
    margin-top: 30px;
    width: 100%;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain02 .aboutMain__img img {
    width: 438px;
    height: 393px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain02 .aboutMain__img img {
    width: 100%;
  }
}
#aboutMainSec #aboutMain02 .aboutMain__content {
  width: calc(100% - 333px);
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain02 .aboutMain__content {
    width: calc(100% - 350px);
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain02 .aboutMain__content {
    width: 100%;
  }
}
#aboutMainSec #aboutMain03 {
  margin-top: 120px;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain03 {
    margin-top: 60px;
  }
}
#aboutMainSec #aboutMain03 .aboutMain__img {
  width: 210px;
  margin-top: -70px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain03 .aboutMain__img {
    width: 350px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain03 .aboutMain__img {
    width: 100%;
    margin-top: 30px;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain03 .aboutMain__img img {
    width: 430px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain03 .aboutMain__img img {
    width: 100%;
  }
}
#aboutMainSec #aboutMain03 .aboutMain__content {
  padding: 0 45px 0 0;
  width: calc(100% - 210px);
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec #aboutMain03 .aboutMain__content {
    width: calc(100% - 350px);
    padding: 0 20px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec #aboutMain03 .aboutMain__content {
    width: 100%;
    padding: 0;
  }
}
#aboutMainSec .aboutMain__block {
  display: flex;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec .aboutMain__block {
    display: block;
  }
}
#aboutMainSec .aboutMain__block.--reverse {
  flex-direction: row-reverse;
}
#aboutMainSec .aboutMain__block.--reverse .aboutMain__img {
  justify-content: flex-end;
}
#aboutMainSec .aboutMain__block.--reverse .aboutMain__content {
  padding: 0 0 0 80px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec .aboutMain__block.--reverse .aboutMain__content {
    padding: 0 0 0 20px;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec .aboutMain__block.--reverse .aboutMain__content {
    padding: 0;
  }
}
#aboutMainSec .aboutMain__img {
  z-index: 2;
  position: relative;
  display: flex;
  overflow: visible;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutMainSec .aboutMain__img {
    display: block;
  }
}
@media only screen and (max-width: 699px) {
  #aboutMainSec .aboutMain__img {
    display: block;
    margin-top: 20px;
  }
}
#aboutMainSec .aboutMain__img img {
  width: clamp(500px, 40vw, 700px);
  height: auto;
}
@media only screen and (max-width: 699px) {
  #aboutMainSec .aboutMain__img img {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}
#aboutMainSec .aboutMain__content {
  box-sizing: border-box;
}
#aboutMainSec .aboutMain__content .secTxt {
  padding-left: 20px;
}
#aboutMainSec .aboutMain__content .secTxt + .secTxt {
  margin-top: 36px;
}
#aboutMainSec .aboutMain__ttl {
  margin-bottom: 24px;
  font-size: 2rem;
  font-weight: 700;
}

#aboutAccessSec {
  position: relative;
  padding: 80px 20px 200px;
  background-color: #a50034;
}
@media only screen and (max-width: 949px) {
  #aboutAccessSec {
    padding: 60px 20px 100px;
  }
}
#aboutAccessSec::before {
  content: "";
  width: 320px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/about/about_bg02.png);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 699px) {
  #aboutAccessSec::before {
    left: -100px;
    width: 250px;
    height: 100%;
    background-image: url(../img/common/sec_bg_sp_w.png);
    background-size: contain;
    background-position: right top;
    background-repeat: repeat;
  }
}
#aboutAccessSec .aboutAccess__block {
  display: flex;
  gap: 36px;
  flex-direction: row-reverse;
}
@media only screen and (max-width: 949px) {
  #aboutAccessSec .aboutAccess__block {
    flex-direction: column;
    margin-top: 50px;
  }
}
#aboutAccessSec .aboutAccess__block + .secTtl {
  margin-top: 68px;
}
#aboutAccessSec .aboutAccess__content {
  flex: 1;
  color: #fff;
}
#aboutAccessSec .aboutAccess__content ul {
  margin-top: 30px;
}
@media only screen and (max-width: 949px) {
  #aboutAccessSec .aboutAccess__content ul {
    margin-top: 20px;
  }
}
#aboutAccessSec .aboutAccess__content ul li {
  position: relative;
  padding-left: 20px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutAccessSec .aboutAccess__content ul li {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 949px) {
  #aboutAccessSec .aboutAccess__content ul li {
    font-size: 1.4rem;
  }
}
#aboutAccessSec .aboutAccess__content ul li::before {
  position: absolute;
  inset: 0 auto auto 0;
  content: "・";
}
#aboutAccessSec .aboutAccess__address {
  margin-top: 60px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutAccessSec .aboutAccess__address {
    font-size: 1.4rem;
  }
}
@media only screen and (max-width: 949px) {
  #aboutAccessSec .aboutAccess__address {
    margin-top: -10px;
    font-size: 1.4rem;
  }
}
#aboutAccessSec .aboutAccess__map {
  flex: 0 0 490px;
  max-width: 490px;
  margin-top: -47px;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #aboutAccessSec .aboutAccess__map {
    flex: 0 0 380px;
    max-width: 380px;
    margin-top: -40px;
  }
}
@media only screen and (max-width: 949px) {
  #aboutAccessSec .aboutAccess__map {
    flex: 1;
    max-width: 500px;
    margin-top: 0;
  }
}
#aboutAccessSec .aboutAccess__mapInner {
  position: relative;
  width: 100%;
  padding-top: 60%;
  overflow: hidden;
}
#aboutAccessSec .aboutAccess__mapInner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

#PageDataListSec {
  background-color: #fff;
}
#PageDataListSec .DataList {
  display: grid;
  list-style: none;
  padding: 0;
  margin: 80px 0 0;
  gap: 16px;
}
@media only screen and (max-width: 699px) {
  #PageDataListSec .DataList {
    margin: 40px 0 0;
  }
}
#PageDataListSec .DataList {
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas: "card1 card2 card3" "card4 card5 card6" "wide  wide  tall" "card9 large large";
}
#PageDataListSec .DataList__item {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.3);
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}
#PageDataListSec .DataList__item img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
#PageDataListSec .DataList__item:nth-child(1) {
  grid-area: card1;
}
#PageDataListSec .DataList__item:nth-child(2) {
  grid-area: card2;
}
#PageDataListSec .DataList__item:nth-child(3) {
  grid-area: card3;
}
#PageDataListSec .DataList__item:nth-child(4) {
  grid-area: card4;
}
#PageDataListSec .DataList__item:nth-child(5) {
  grid-area: card5;
}
#PageDataListSec .DataList__item:nth-child(6) {
  grid-area: card6;
}
#PageDataListSec .DataList__item:nth-child(9) {
  grid-area: card9;
}
#PageDataListSec .DataList__item--wide {
  grid-area: wide !important;
}
#PageDataListSec .DataList__item--tall {
  grid-area: tall !important;
}
#PageDataListSec .DataList__item--large {
  grid-area: large !important;
}
@media only screen and (max-width: 699px) {
  #PageDataListSec .DataList {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    grid-template-areas: none !important;
    gap: 12px;
  }
  #PageDataListSec .DataList__item, #PageDataListSec .DataList__item:nth-child(n) {
    grid-area: auto !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
  #PageDataListSec .DataList__item {
    aspect-ratio: 1/1;
  }
  #PageDataListSec .DataList__item:nth-child(7), #PageDataListSec .DataList__item:nth-child(10) {
    grid-column: 1/3 !important;
    aspect-ratio: 16/9;
  }
  #PageDataListSec .DataList__item:nth-child(8) {
    grid-column: auto !important;
    aspect-ratio: 1/1;
  }
}

#PageDataUnivSec {
  position: relative;
  background-color: #a50034;
}
#PageDataUnivSec::before {
  display: block;
  content: "";
  width: 400px;
  position: absolute;
  inset: 0 auto 0 0;
  background-image: url(../img/data/sec_bg.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 699px) {
  #PageDataUnivSec::before {
    left: -100px;
    width: 250px;
    height: 100%;
    background-image: url(../img/common/sec_bg_sp_w.png);
    background-size: contain;
    background-position: right top;
    background-repeat: repeat;
  }
}
#PageDataUnivSec .univList {
  margin-top: 80px;
}
#PageDataUnivSec .univList__group {
  background-color: #fff;
  padding: 36px;
  margin-bottom: 36px;
  display: block;
  line-height: 2;
}
@media only screen and (max-width: 699px) {
  #PageDataUnivSec .univList__group {
    padding: 20px;
  }
}
#PageDataUnivSec .univList__label {
  display: inline;
  margin-right: 16px;
  color: #a50034;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
}
#PageDataUnivSec .univList__data {
  display: inline;
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.04em;
}

#PageDataBenefitsSec {
  background-color: #fff;
}
#PageDataBenefitsSec .benefitsList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 56px 20px;
  list-style: none;
  padding: 0;
  margin-top: 80px;
}
#PageDataBenefitsSec .benefitsList__item figure {
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
#PageDataBenefitsSec .benefitsList__icn {
  width: 100px;
  height: 100px;
  margin-bottom: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#PageDataBenefitsSec .benefitsList__icn img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}
#PageDataBenefitsSec .benefitsList__txt {
  font-size: 16px;
  font-weight: bold;
  letter-spacing: 0.04em;
  color: #000;
  line-height: 1.4;
  margin: 0;
}
@media only screen and (max-width: 699px) {
  #PageDataBenefitsSec .benefitsList {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px 10px;
  }
  #PageDataBenefitsSec .benefitsList__icn {
    width: 80px;
    height: 80px;
  }
  #PageDataBenefitsSec .benefitsList__txt {
    font-size: 14px;
  }
}

#PageDataTtSec {
  padding: 16px 20px 120px;
}
@media only screen and (max-width: 699px) {
  #PageDataTtSec {
    padding: 0px 20px 60px;
  }
}
#PageDataTtSec .dataTt__ttl {
  color: #a50034;
  font-size: 2.4rem;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1.5;
  margin-bottom: 36px;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__ttl {
    margin-bottom: 30px;
    font-size: 2rem;
    letter-spacing: 0.05em;
    text-align: center;
  }
}
#PageDataTtSec .dataTt__container {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 36px;
  margin-top: 80px;
}
#PageDataTtSec .dataTt__container + .dataTt__container {
  margin-top: 128px;
}
#PageDataTtSec .dataTt__container:last-child::after {
  position: absolute;
  inset: -64px auto auto 0;
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.3);
  content: "";
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__container {
    flex-direction: column;
    gap: 16px;
    margin-top: 60px;
  }
}
#PageDataTtSec .dataTt__img {
  flex: 0 0 257px;
}
#PageDataTtSec .dataTt__img img {
  width: 100%;
  height: auto;
  display: block;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__img {
    flex: 0 0 auto;
    width: 100%;
  }
}
#PageDataTtSec .dataTt__list {
  flex: 1;
  list-style: none;
  padding: 0;
  margin: 0 0 0 28px;
  position: relative;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__list {
    margin: 0;
  }
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__listWrap {
    width: 100%;
  }
}
#PageDataTtSec .dataTt__list::before {
  content: "";
  position: absolute;
  inset: 10px auto 30px 11px;
  width: 2px;
  background-color: #a50034;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__list::before {
    inset: 10px auto 10% 7px;
  }
}
#PageDataTtSec .dataTt__item {
  position: relative;
  padding-left: 40px;
  margin-bottom: 29px;
  display: flex;
  align-items: flex-start;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__item {
    padding-left: 25px;
    margin-bottom: 20px;
  }
}
#PageDataTtSec .dataTt__item::after {
  content: "";
  position: absolute;
  inset: 8px auto auto 0;
  width: 24px;
  height: 24px;
  background-color: #a50034;
  border-radius: 50%;
  z-index: 1;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__item::after {
    inset: 6px auto auto 0;
    width: 16px;
    height: 16px;
  }
}
#PageDataTtSec .dataTt__item:last-child {
  margin-bottom: 0;
}
#PageDataTtSec .dataTt__time {
  margin-right: 20px;
  flex: 0 0 80px;
  color: #000;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.02;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__time {
    flex: 0 0 40px;
    font-size: 1.8rem;
    line-height: 1.5;
  }
}
#PageDataTtSec .dataTt__content {
  flex: 1;
}
#PageDataTtSec .dataTt__lead {
  margin-bottom: 1px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.04;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__lead {
    margin-bottom: 5px;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}
#PageDataTtSec .dataTt__txt {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.6;
}
@media only screen and (max-width: 949px) {
  #PageDataTtSec .dataTt__txt {
    font-size: 1.2rem;
    line-height: 1.5;
  }
}

#p-entry .secTxt {
  text-align: center;
}
@media only screen and (max-width: 699px) {
  #p-entry .secTxt {
    text-align: left;
  }
}
#p-entry .btn {
  margin-top: 120px;
}
@media only screen and (max-width: 699px) {
  #p-entry .btn {
    margin-top: 60px;
  }
}
#p-entry .entry__caution {
  max-width: 620px;
  margin: 126px auto 0;
  font-size: 1.6rem;
}
@media only screen and (max-width: 699px) {
  #p-entry .entry__caution {
    margin: 80px auto 0;
    font-size: 1.4rem;
  }
}

#p-interviewArticle .container {
  position: relative;
}
#p-interviewArticle .interviewArticleIntro {
  position: relative;
}
#p-interviewArticle .interviewArticleIntro__mv {
  width: 1102px;
  padding-left: 88px;
}
@media only screen and (min-width: 1440px) {
  #p-interviewArticle .interviewArticleIntro__mv {
    width: 80vw;
  }
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleIntro__mv {
    width: 100%;
    padding-left: 0;
  }
}
#p-interviewArticle .interviewArticleIntro__mv img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleIntro__mv img {
    height: 85vw;
    object-fit: cover;
  }
}
#p-interviewArticle .interviewArticleIntro__catch {
  position: absolute;
  inset: 82px auto auto 0;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.8;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleIntro__catch {
    inset: 50vw auto auto 20px;
    font-size: 1.6rem;
  }
}
#p-interviewArticle .interviewArticleIntro__catch span {
  background: #fff;
  padding: 10px 24px;
  display: inline-block;
  margin-bottom: 14px;
  font-weight: 700;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleIntro__catch span {
    padding: 3px 16px;
    margin-bottom: 10px;
  }
}
#p-interviewArticle .interviewArticleIntro__box {
  z-index: 2;
  box-sizing: border-box;
  position: relative;
  width: 600px;
  color: #fff;
  background-color: #a50034;
  padding: 32px;
  margin-top: -86px;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleIntro__box {
    position: static;
    width: calc(100% - 40px);
    padding: 20px;
    margin: 20px auto 0;
  }
}
#p-interviewArticle .interviewArticleIntro__boxTtl {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
#p-interviewArticle .interviewArticleIntro__boxTxt {
  margin-top: 20px;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleIntro__boxTxt {
    font-size: 1.4rem;
  }
}
#p-interviewArticle .interviewArticleBody {
  padding: 100px 0 180px;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody {
    padding: 60px 0 100px;
  }
}
#p-interviewArticle .interviewArticleBody__block.--dspflx {
  display: flex;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__block.--dspflx {
    display: block;
  }
}
#p-interviewArticle .interviewArticleBody__block + .interviewArticleBody__block {
  margin-top: 120px;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__block + .interviewArticleBody__block {
    margin-top: 60px;
  }
}
#p-interviewArticle .interviewArticleBody__block.--reverse {
  flex-direction: row-reverse;
}
#p-interviewArticle .interviewArticleBody__block.--reverse .interviewArticleBody__blockImg {
  justify-content: flex-end;
}
#p-interviewArticle .interviewArticleBody__block.--reverse .interviewArticleBody__blockContent {
  padding: 0 0 0 22px;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__block.--reverse .interviewArticleBody__blockContent {
    padding: 0 20px;
  }
}
#p-interviewArticle .interviewArticleBody__blockImg {
  width: 310px;
  display: flex;
  overflow: visible;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #p-interviewArticle .interviewArticleBody__blockImg {
    display: block;
    width: 350px;
  }
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockImg {
    display: block;
    width: 100%;
    margin-top: 20px;
  }
}
#p-interviewArticle .interviewArticleBody__blockImg img {
  width: clamp(500px, 40vw, 700px);
  height: auto;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #p-interviewArticle .interviewArticleBody__blockImg img {
    width: 100%;
  }
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockImg img {
    width: 100%;
    height: 70vw;
    object-fit: cover;
  }
}
#p-interviewArticle .interviewArticleBody__blockContent {
  box-sizing: border-box;
  width: calc(100% - 310px);
  padding: 0 22px 0 0;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #p-interviewArticle .interviewArticleBody__blockContent {
    width: calc(100% - 350px);
    padding: 0 20px;
  }
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockContent {
    width: 100%;
    padding: 0 20px;
  }
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #p-interviewArticle .interviewArticleBody__blockWideContent {
    padding: 0 20px;
  }
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockWideContent {
    padding: 0 20px;
  }
}
#p-interviewArticle .interviewArticleBody__blockWideImg {
  margin-top: 36px;
}
#p-interviewArticle .interviewArticleBody__blockWideImg img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockWideImg img {
    height: 70vw;
    object-fit: cover;
  }
}
#p-interviewArticle .interviewArticleBody__blockTtl {
  color: #a50034;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.02em;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  #p-interviewArticle .interviewArticleBody__blockTtl {
    font-size: 2rem;
  }
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockTtl {
    font-size: 1.8rem;
  }
}
#p-interviewArticle .interviewArticleBody__blockTxt {
  margin-top: 48px;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 699px) {
  #p-interviewArticle .interviewArticleBody__blockTxt {
    margin-top: 20px;
    font-size: 1.4rem;
  }
}

#p-recruit .recruit__secTtl {
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
@media only screen and (max-width: 699px) {
  #p-recruit .recruit__secTtl {
    font-size: 1.8rem;
  }
}
#p-recruit .recruit__secTtl + p {
  margin-top: 36px;
}
@media only screen and (max-width: 699px) {
  #p-recruit .recruit__secTtl + p {
    margin-top: 24px;
  }
}
#p-recruit .recruit__secTtl br {
  display: none;
}
@media only screen and (max-width: 699px) {
  #p-recruit .recruit__secTtl br {
    display: block;
  }
}

#recruitTopSec {
  position: relative;
}
#recruitTopSec .recruitTop__img img {
  width: 100%;
  height: auto;
}
#recruitTopSec .recruitTop__ttl {
  z-index: 3;
  position: absolute;
  inset: auto auto 76px 130px;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #recruitTopSec .recruitTop__ttl {
    inset: auto auto 50px 100px;
  }
}
@media only screen and (max-width: 949px) {
  #recruitTopSec .recruitTop__ttl {
    inset: auto auto 30px 20px;
    font-size: 10rem;
  }
}
@media only screen and (max-width: 699px) {
  #recruitTopSec .recruitTop__ttl {
    inset: auto auto 56px 20px;
    height: auto;
    line-height: 1.3;
  }
}
#recruitTopSec .recruitTop__ttl span {
  width: fit-content;
  color: #fff;
  background-color: rgba(0, 0, 0, 0.8);
}
#recruitTopSec .recruitTop__ttlMain {
  display: block;
  padding: 10px 24px;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1.4;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #recruitTopSec .recruitTop__ttlMain {
    font-size: 3rem;
  }
}
@media only screen and (max-width: 949px) {
  #recruitTopSec .recruitTop__ttlMain {
    font-size: 2.6rem;
  }
}
@media only screen and (max-width: 699px) {
  #recruitTopSec .recruitTop__ttlMain {
    padding: 9px 20px;
    font-size: 2.4rem;
  }
}
#recruitTopSec .recruitTop__ttlMain + .recruitTop__ttlMain {
  margin-top: 4px;
}
#recruitTopSec .recruitTop__ttlSub-pc {
  display: block;
  padding: 10px 24px;
  margin-top: 30px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.9;
}
@media only screen and (min-width: 700px) and (max-width: 1339px) {
  #recruitTopSec .recruitTop__ttlSub-pc {
    margin-top: 26px;
    font-size: 2rem;
  }
}
@media only screen and (max-width: 949px) {
  #recruitTopSec .recruitTop__ttlSub-pc {
    margin-top: 24px;
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 699px) {
  #recruitTopSec .recruitTop__ttlSub-pc {
    display: none;
  }
}
#recruitTopSec .recruitTop__ttlSub-sp {
  display: none;
}
@media only screen and (max-width: 699px) {
  #recruitTopSec .recruitTop__ttlSub-sp {
    display: block;
    padding: 6px 24px;
    margin-top: 24px;
    font-size: 1.4rem;
  }
}
#recruitTopSec .recruitTop__ttlSub-sp + span {
  margin-top: 4px;
}

#recruitAboutSec {
  background-color: #fff;
}
#recruitAboutSec .recruitAbout__flow {
  display: flex;
  justify-content: space-between;
  margin-top: 64px;
}
#recruitAboutSec .recruitAbout__flowBox {
  width: calc((100% - 128px) / 2);
}
@media only screen and (max-width: 949px) {
  #recruitAboutSec .recruitAbout__flowBox {
    width: calc((100% - 40px) / 2);
  }
}
#recruitAboutSec .recruitAbout__flowBox .recruit__secTxt {
  margin-top: 5px;
}
@media only screen and (max-width: 949px) {
  #recruitAboutSec .recruitAbout__flowBox .recruit__secTxt {
    margin-top: 0;
  }
}
#recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg {
  position: relative;
}
#recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg::before, #recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  background: #a50034;
  content: "";
}
#recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg::before {
  width: 60px;
  height: 5px;
  right: -93px;
  transform: translateY(-50%);
}
@media only screen and (max-width: 949px) {
  #recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg::before {
    width: 23px;
    height: 3px;
    right: -31px;
  }
}
#recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg::after {
  width: 5px;
  height: 60px;
  right: -67.5px;
  transform: translateX(-50%);
}
@media only screen and (max-width: 949px) {
  #recruitAboutSec .recruitAbout__flowBox:first-child .recruitAbout__flowImg::after {
    width: 3px;
    height: 23px;
    right: -22.5px;
  }
}
#recruitAboutSec .recruitAbout__flowTtl {
  margin-top: 20px;
  color: #a50034;
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 699px) {
  #recruitAboutSec .recruitAbout__flowTtl {
    margin-top: 10px;
    font-size: 1.8rem;
  }
}
#recruitAboutSec .recruitAbout__flowInfo {
  padding: 0 24px;
}
@media only screen and (max-width: 699px) {
  #recruitAboutSec .recruitAbout__flowInfo {
    padding: 0;
  }
}
#recruitAboutSec .recruitAbout__flowImg img {
  width: 100%;
  height: auto;
}
#recruitAboutSec .recruitAbout__result {
  position: relative;
  box-sizing: border-box;
  max-width: 794px;
  border: solid 1px #a50034;
  padding: 32px 0;
  margin: 118px auto 0;
}
@media only screen and (max-width: 699px) {
  #recruitAboutSec .recruitAbout__result {
    padding: 20px 0;
    margin: 70px auto 0;
  }
}
#recruitAboutSec .recruitAbout__result::before {
  position: absolute;
  inset: -100px 0 auto 0;
  width: 36px;
  height: 60px;
  margin: auto;
  content: url(../img/recruit/flow-arrow.svg);
}
@media only screen and (max-width: 699px) {
  #recruitAboutSec .recruitAbout__result::before {
    inset: -70px 0 auto 0;
    transform: scale(0.5);
  }
}
#recruitAboutSec .recruitAbout__result p {
  color: #a50034;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 699px) {
  #recruitAboutSec .recruitAbout__result p {
    font-size: 1.6rem;
  }
}

#recruitSpecialistSec {
  position: relative;
  color: #fff;
  background-color: #a50034;
}
#recruitSpecialistSec::before {
  content: "";
  width: 355px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/recruit/sec_bg01.png);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec::before {
    left: -100px;
    width: 300px;
    height: 100%;
    background-image: url(../img/recruit/sec_bg_sp.png);
    background-size: contain;
    background-position: right top;
    background-repeat: repeat;
  }
}
#recruitSpecialistSec .recruitSpecialist__list {
  display: flex;
  justify-content: space-between;
  margin-top: 50px;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__list {
    justify-content: center;
    flex-wrap: wrap;
    gap: 50px 0;
    width: calc(100% - 40px);
    margin: 0 auto;
  }
}
#recruitSpecialistSec .recruitSpecialist__list li {
  width: 260px;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__list li {
    width: 100%;
  }
}
#recruitSpecialistSec .recruitSpecialist__listIcn {
  text-align: center;
}
#recruitSpecialistSec .recruitSpecialist__listIcn img {
  width: 150px;
  height: auto;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__listIcn img {
    width: 100px;
  }
}
#recruitSpecialistSec .recruitSpecialist__listTtl {
  margin: 32px 0 12px;
  font-size: 1.8rem;
  font-weight: 700;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__listTtl {
    margin: 20px 0 5px;
    font-size: 1.6rem;
    text-align: center;
  }
}
#recruitSpecialistSec .recruitSpecialist__bottom {
  display: flex;
  border-top: solid 1px #fff;
  margin-top: 64px;
  padding-top: 64px;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__bottom {
    display: block;
    margin-top: 40px;
    padding-top: 40px;
  }
}
#recruitSpecialistSec .recruitSpecialist__img {
  width: 318px;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__img {
    width: 100%;
    text-align: center;
  }
  #recruitSpecialistSec .recruitSpecialist__img img {
    width: 100%;
    height: auto;
  }
}
#recruitSpecialistSec .recruitSpecialist__info {
  box-sizing: border-box;
  width: calc(100% - 318px);
  padding-left: 36px;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__info {
    width: 100%;
    padding-left: 0;
    margin-top: 15px;
  }
}
#recruitSpecialistSec .recruitSpecialist__infoTtl {
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__infoTtl {
    font-size: 2rem;
    text-align: center;
  }
}
#recruitSpecialistSec .recruitSpecialist__infoTxt {
  margin-top: 20px;
  font-size: 2rem;
  line-height: 2;
}
@media only screen and (max-width: 699px) {
  #recruitSpecialistSec .recruitSpecialist__infoTxt {
    margin-top: 10px;
    font-size: 1.8rem;
  }
}

#recruitCompanySec {
  background-color: #f2f2f2;
}
#recruitCompanySec .recruitCompany__img {
  display: block;
  margin: 80px 0 36px;
}
@media only screen and (max-width: 699px) {
  #recruitCompanySec .recruitCompany__img {
    margin: 60px auto 20px auto;
  }
}
#recruitCompanySec .recruitCompany__img img {
  width: 100%;
  height: auto;
}
#recruitCompanySec .btn {
  margin-top: 60px;
}
@media only screen and (max-width: 699px) {
  #recruitCompanySec .btn {
    margin-top: 40px;
  }
}

#recruitDataSec {
  background-color: #fff;
}
#recruitDataSec .recruitData__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
  margin: 80px 0 50px;
}
@media only screen and (max-width: 699px) {
  #recruitDataSec .recruitData__list {
    margin: 40px 0;
  }
}
#recruitDataSec .recruitData__list li {
  box-sizing: border-box;
  width: calc((100% - 40px) / 3);
  border: solid 1px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1019607843);
}
@media only screen and (max-width: 699px) {
  #recruitDataSec .recruitData__list li {
    width: calc((100% - 20px) / 2);
  }
}
#recruitDataSec .recruitData__list li img {
  width: 100%;
  height: auto;
}
#recruitDataSec .recruitData__listTtl {
  padding: 5px;
  color: #fff;
  background-color: #a50034;
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
}
@media only screen and (max-width: 699px) {
  #recruitDataSec .recruitData__listTtl {
    padding: 5px;
    font-size: 1.6rem;
  }
}

#recruitInterviewSec {
  position: relative;
  background-color: #a50034;
}
#recruitInterviewSec::before {
  content: "";
  width: 300px;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/recruit/sec_bg02.png);
  background-size: cover;
  background-position: right top;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 699px) {
  #recruitInterviewSec::before {
    left: -100px;
    width: 300px;
    height: 100%;
    background-image: url(../img/recruit/sec_bg_sp.png);
    background-size: contain;
    background-position: right top;
    background-repeat: repeat;
  }
}

#recruitBottom {
  background-color: #fff;
  padding: 64px 20px;
}
#recruitBottom .recruitBottom__list {
  display: flex;
  gap: 0 20px;
}
@media only screen and (max-width: 699px) {
  #recruitBottom .recruitBottom__list {
    flex-wrap: wrap;
    gap: 20px 0;
  }
}
#recruitBottom .recruitBottom__list li {
  box-sizing: border-box;
  width: calc((100% - 20px) / 2);
  border: solid 1px #f0f0f0;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1019607843);
}
@media only screen and (max-width: 699px) {
  #recruitBottom .recruitBottom__list li {
    width: 100%;
  }
}
#recruitBottom .recruitBottom__list li a {
  transition: all 0.3s ease;
}
#recruitBottom .recruitBottom__list li a:hover > .recruitBottom__box > .recruitBottom__boxImg {
  opacity: 0.6;
  transition: all 0.3s ease;
}
#recruitBottom .recruitBottom__box {
  display: flex;
  align-items: center;
}
#recruitBottom .recruitBottom__boxImg {
  position: relative;
  width: 233px;
}
@media only screen and (max-width: 699px) {
  #recruitBottom .recruitBottom__boxImg {
    width: 180px;
    height: auto;
  }
}
#recruitBottom .recruitBottom__boxImg::before {
  position: absolute;
  inset: 0 auto auto 0;
  width: 100px;
  height: 160px;
  background: #fff;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  content: "";
}
@media only screen and (max-width: 699px) {
  #recruitBottom .recruitBottom__boxImg::before {
    width: 60px;
    height: 133px;
  }
}
#recruitBottom .recruitBottom__boxImg img {
  width: 100%;
  height: auto;
}
#recruitBottom .recruitBottom__ttl {
  width: calc(100% - 233px);
  padding-left: 33px;
  font-size: 2.2rem;
  line-height: 1.5;
}
@media only screen and (max-width: 699px) {
  #recruitBottom .recruitBottom__ttl {
    width: calc(100% - 180px);
    padding-left: 20px;
    font-size: 1.6rem;
  }
}
#recruitBottom .recruitBottom__ttl span {
  font-size: 1.6rem;
}
@media only screen and (max-width: 699px) {
  #recruitBottom .recruitBottom__ttl span {
    font-size: 1.2rem;
  }
}

#p-rtdiscussion .rtdiscussionIntro {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  padding: 30px 48px;
  margin-top: 80px;
  background-color: #a50034;
}
@media only screen and (max-width: 949px) {
  #p-rtdiscussion .rtdiscussionIntro {
    padding: 30px 20px;
  }
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro {
    width: calc(100% + 40px);
    padding: 36px 20px;
    margin-left: -20px;
  }
}
#p-rtdiscussion .rtdiscussionIntro::before {
  display: block;
  content: "";
  width: 200px;
  position: absolute;
  inset: 0 auto 0 0;
  background-image: url(../img/rtdiscussion/intro_bg_pc.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro::before {
    width: 180px;
    background-image: url(../img/rtdiscussion/intro_bg_sp.png);
  }
}
#p-rtdiscussion .rtdiscussionIntro__lead {
  z-index: 2;
  position: relative;
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 949px) {
  #p-rtdiscussion .rtdiscussionIntro__lead {
    font-size: 1.6rem;
  }
}
#p-rtdiscussion .rtdiscussionIntro__list {
  z-index: 2;
  position: relative;
  display: grid;
  margin-top: 120px;
  gap: 32px;
  grid-template-columns: repeat(3, 1fr);
}
@media only screen and (max-width: 949px) {
  #p-rtdiscussion .rtdiscussionIntro__list {
    margin-top: 80px;
  }
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro__list {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 20px;
  }
}
#p-rtdiscussion .rtdiscussionIntro__card {
  padding: 80px 16px 32px;
  background-color: #fff;
}
@media only screen and (max-width: 949px) {
  #p-rtdiscussion .rtdiscussionIntro__card {
    padding: 60px 16px 24px;
  }
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro__card {
    padding: 16px;
  }
}
#p-rtdiscussion .rtdiscussionIntro__cardTop {
  position: relative;
  border-bottom: solid 1px rgba(0, 0, 0, 0.3);
  padding-bottom: 10px;
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro__cardTop {
    display: flex;
    gap: 20px;
    padding-bottom: 15px;
  }
}
#p-rtdiscussion .rtdiscussionIntro__img {
  position: absolute;
  inset: -160px 0 auto 0;
  width: 140px;
  margin: auto;
}
@media only screen and (max-width: 949px) {
  #p-rtdiscussion .rtdiscussionIntro__img {
    width: 100px;
    inset: -110px 0 auto 0;
  }
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro__img {
    position: static;
    width: 80px;
    flex: 0 0 80px;
    margin: 0;
  }
}
#p-rtdiscussion .rtdiscussionIntro__img img {
  width: 100%;
  height: auto;
  border-radius: 50%;
}
#p-rtdiscussion .rtdiscussionIntro__meta {
  font-size: 1.2rem;
  line-height: 2;
  text-align: center;
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro__meta {
    text-align: left;
  }
}
#p-rtdiscussion .rtdiscussionIntro__meta span {
  font-size: 2rem;
  font-weight: 700;
}
@media only screen and (max-width: 949px) {
  #p-rtdiscussion .rtdiscussionIntro__meta span {
    font-size: 1.8rem;
  }
}
@media only screen and (max-width: 699px) {
  #p-rtdiscussion .rtdiscussionIntro__meta span {
    font-size: 1.6rem;
  }
}
#p-rtdiscussion .rtdiscussionIntro__txt {
  margin-top: 15px;
  font-size: 1.4rem;
  line-height: 1.8;
}

#RtdiscussionSec01 {
  background: linear-gradient(#ffffff, #ffffff) left top/50% 314px no-repeat, linear-gradient(to right, #f2f2f2 50%, #ffffff 50%);
}
@media only screen and (max-width: 699px) {
  #RtdiscussionSec01 {
    background: linear-gradient(#ffffff, #ffffff) left top/50% 280px no-repeat, linear-gradient(to right, #f2f2f2 50%, #ffffff 50%);
  }
}
#RtdiscussionSec01 .rtdiscussion__heading {
  margin: -80px auto 0;
}

#RtdiscussionSec02 {
  padding-bottom: 250px;
  background: linear-gradient(#ffffff, #ffffff) right top/35% 76px no-repeat, linear-gradient(to left, #f2f2f2 35%, #ffffff 35%);
}
@media only screen and (max-width: 699px) {
  #RtdiscussionSec02 {
    padding-bottom: 10px;
    background: linear-gradient(#ffffff, #ffffff) right top/40% 76px no-repeat, linear-gradient(to left, #f2f2f2 40%, #ffffff 40%);
  }
}

#RtdiscussionSec03 {
  padding-top: 10px;
  background: linear-gradient(to right, #f2f2f2 35%, #ffffff 35%);
}
@media only screen and (max-width: 699px) {
  #RtdiscussionSec03 {
    background: linear-gradient(to right, #f2f2f2 40%, #ffffff 40%);
  }
}
#RtdiscussionSec03 .rtdiscussion__heading {
  margin-top: 90px;
}
@media only screen and (max-width: 699px) {
  #RtdiscussionSec03 .rtdiscussion__heading {
    margin-top: 40px;
  }
}

#RtdiscussionSec04 {
  padding: 10px 0;
  background: linear-gradient(to left, #f2f2f2 35%, #ffffff 35%);
}
@media only screen and (max-width: 699px) {
  #RtdiscussionSec04 {
    background: linear-gradient(to left, #f2f2f2 40%, #ffffff 40%);
  }
}
#RtdiscussionSec04 .rtdiscussion__heading {
  margin-top: 90px;
}
@media only screen and (max-width: 699px) {
  #RtdiscussionSec04 .rtdiscussion__heading {
    margin-top: 40px;
  }
}
#RtdiscussionSec04 .rtdiscussion__talk {
  margin-bottom: 50px;
}

.rtdiscussionSec + .rtdiscussionSec {
  margin-top: 100px;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec + .rtdiscussionSec {
    margin-top: 0;
  }
}
.rtdiscussionSec .rtdiscussion__wrap {
  display: flex;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__wrap {
    display: block;
  }
}
.rtdiscussionSec .rtdiscussion__wrap.--reverse {
  flex-direction: row-reverse;
}
.rtdiscussionSec .rtdiscussion__wrap.--reverse .rtdiscussion__img {
  justify-content: flex-end;
}
.rtdiscussionSec .rtdiscussion__wrap.--reverse .rtdiscussion__talk {
  padding: 0 0 0 48px;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__wrap.--reverse .rtdiscussion__talk {
    padding: 0 20px;
  }
}
.rtdiscussionSec .rtdiscussion__wrap.--noreverse .rtdiscussion__talk {
  padding: 0 48px 0 0;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__wrap.--noreverse .rtdiscussion__talk {
    padding: 0 20px;
  }
}
.rtdiscussionSec .rtdiscussion__img {
  width: 287px;
  display: flex;
  padding-top: 64px;
  overflow: visible;
}
@media only screen and (min-width: 700px) and (max-width: 1099px) {
  .rtdiscussionSec .rtdiscussion__img {
    width: 350px;
  }
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__img {
    display: block;
    width: 100%;
    margin-top: 20px;
    padding-top: 20px;
  }
}
.rtdiscussionSec .rtdiscussion__img img {
  width: 537px;
  height: 529px;
}
@media only screen and (min-width: 1440px) {
  .rtdiscussionSec .rtdiscussion__img img {
    width: 612px;
    height: 603px;
  }
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__img img {
    width: 100%;
    height: 70vw;
    object-fit: cover;
  }
}
.rtdiscussionSec .rtdiscussion__mv img {
  width: 100%;
  height: auto;
  display: block;
}
.rtdiscussionSec .rtdiscussion__heading {
  z-index: 2;
  position: relative;
  background: #fff;
  text-align: center;
  padding: 30px 78px;
  margin: 0 auto;
  width: fit-content;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__heading {
    padding: 20px 25px 25px;
    min-width: 260px;
  }
}
.rtdiscussionSec .rtdiscussion__num {
  color: #a50034;
  font-weight: 700;
  font-size: 1.6rem;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__num {
    font-size: 1.4rem;
  }
}
.rtdiscussionSec .rtdiscussion__ttl {
  margin-top: 20px;
  color: #a50034;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__ttl {
    margin-top: 0;
    font-size: 1.8rem;
  }
}
.rtdiscussionSec .rtdiscussion__talk {
  box-sizing: border-box;
  margin-top: 64px;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__talk {
    width: 100%;
    padding: 0 20px;
    margin-top: 30px;
  }
}
.rtdiscussionSec .rtdiscussion__talk--s {
  width: calc(100% - 287px);
}
.rtdiscussionSec .rtdiscussion__item {
  display: flex;
  gap: 36px;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__item {
    gap: 16px;
  }
}
.rtdiscussionSec .rtdiscussion__item + .rtdiscussion__item {
  margin-top: 36px;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__item + .rtdiscussion__item {
    margin-top: 20px;
  }
}
.rtdiscussionSec .rtdiscussion__icon {
  text-align: center;
}
.rtdiscussionSec .rtdiscussion__icon img {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  display: block;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__icon img {
    width: 80px;
    height: 80px;
  }
}
.rtdiscussionSec .rtdiscussion__name {
  margin-top: 8px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.rtdiscussionSec .rtdiscussion__text {
  display: flex;
  align-items: center;
  flex: 1;
  font-size: 1.5rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 949px) {
  .rtdiscussionSec .rtdiscussion__text {
    font-size: 1.4rem;
  }
}

#p-jobdescription .entrySec {
  margin-top: 120px;
}

.jobdescriptionSec {
  padding: 120px 20px 0;
}
@media only screen and (max-width: 699px) {
  .jobdescriptionSec {
    padding: 80px 20px 0;
  }
}
.jobdescriptionSec .secTtl + .jobdescription__ac {
  margin-top: 40px;
}

.jobdescription__ttl {
  font-size: 1.8rem;
  font-weight: 700;
}
.jobdescription__ac {
  position: relative;
}
.jobdescription__ac::after {
  position: absolute;
  inset: auto auto 0 0;
  width: 100%;
  height: 1px;
  background-color: rgba(0, 0, 0, 0.3);
  content: "";
}
.jobdescription__ac.open > .jobdescription__acTop::before {
  transform: translateY(-50%) rotate(0deg);
  opacity: 0;
}
.jobdescription__acTop {
  position: relative;
  display: block;
  padding: 20px 0;
}
.jobdescription__acTop::before, .jobdescription__acTop::after {
  content: "";
  position: absolute;
  right: 15px;
  top: 38px;
  width: 14px;
  height: 1px;
  background: #222;
  transform: translateY(-50%);
  transition: 0.2s ease;
}
.jobdescription__acTop::before {
  transform: translateY(-50%) rotate(90deg);
}
.jobdescription__acTop:hover::before, .jobdescription__acTop:hover::after {
  background: #a50034;
}
.jobdescription__acContent {
  display: none;
  padding-bottom: 36px;
}
.jobdescription__acContentTtl {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 500;
}
@media only screen and (max-width: 699px) {
  .jobdescription__acContentTtl {
    font-size: 1.5rem;
    line-height: 1.4;
  }
}
.jobdescription__acContent a {
  text-decoration: underline;
  transition: all 0.3s ease;
}
.jobdescription__acContent a:hover {
  opacity: 0.6;
  transition: all 0.3s ease;
}
.jobdescription__ac.open .jobdescription__acContent {
  display: block;
}
.jobdescription__table {
  display: grid;
  grid-template-columns: 180px 1fr;
  border-top: 1px solid #fff;
  margin-top: 10px;
}
@media only screen and (max-width: 699px) {
  .jobdescription__table {
    grid-template-columns: 1fr;
  }
}
.jobdescription__table + .jobdescription__acContentTtl {
  margin-top: 40px;
}
@media only screen and (max-width: 699px) {
  .jobdescription__table + .jobdescription__acContentTtl {
    margin-top: 10px;
  }
}
.jobdescription__table dt,
.jobdescription__table dd {
  border-bottom: 1px solid #fff;
  padding: 16px 30px;
  font-size: 1.6rem;
  line-height: 2;
}
@media only screen and (max-width: 699px) {
  .jobdescription__table dt,
  .jobdescription__table dd {
    padding: 10px 15px;
    font-size: 1.3rem;
    line-height: 1.8;
  }
}
.jobdescription__table dt {
  background: rgba(165, 0, 52, 0.06);
  color: #a50034;
}
.jobdescription__table dd {
  background-color: #fff;
}
@media only screen and (max-width: 699px) {
  .jobdescription__table dd {
    padding-bottom: 30px;
  }
}

#PageThanksContent {
  padding: 100px 0 200px;
  background-image: url(../img/thanks/thanks-bg-pc.png);
  background-size: 200px auto;
  background-repeat: no-repeat;
  background-position: left bottom;
}
@media only screen and (max-width: 949px) {
  #PageThanksContent {
    background-size: 20% auto;
  }
}
@media only screen and (max-width: 699px) {
  #PageThanksContent {
    background-image: url(../img/thanks/thanks-bg-sp.png);
    background-size: 38% auto;
  }
}
#PageThanksContent .PageThanks__ttl {
  font-size: 2rem;
  font-weight: 300;
  line-height: 1.8;
  text-align: center;
  letter-spacing: 0.04em;
}
#PageThanksContent .PageThanks__ttl span {
  font-size: 5rem;
  font-weight: 300;
}
#PageThanksContent .PageThanks__txt {
  margin: 50px 0;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.04em;
  text-align: center;
}
@media only screen and (max-width: 699px) {
  #PageThanksContent .PageThanks__txt {
    font-size: 1.4rem;
  }
}/*# sourceMappingURL=style.css.map */