@charset "UTF-8";
* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  background: #fff;
  font-size: 62.5%;
}

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

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

fieldset,
img {
  border: 0;
}

figure {
  line-height: 1;
}

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

ul li,
ol li {
  list-style: none;
}

caption,
th {
  text-align: left;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  line-height: 1.6;
}

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

abbr,
acronym {
  border: 0;
  font-variant: normal;
}

sub,
sup {
  margin: 0 0.25em 0 0.1em;
}

sub {
  vertical-align: baseline;
}

sup {
  vertical-align: top;
}

input,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

input,
textarea,
select {
  *font-size: 100%;
}

legend {
  color: #333;
}

a,
a:link {
  color: #0064d2;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

img {
  max-width: 100%;
}

body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 1.6rem;
  line-height: 1.7;
}

@media (max-width: 767px) {
  body {
    font-size: 1.4rem;
  }
}
#mainContents {
  min-width: 960px;
  overflow: hidden;
}
@media (max-width: 767px) {
  #mainContents {
    min-width: auto;
    padding-top: 45px;
  }
}

.container {
  max-width: 1200px;
  min-width: 960px;
  padding: 0 10px;
  margin: 0 auto;
  clear: both;
}
@media (max-width: 767px) {
  .container {
    min-width: auto;
  }
}

@media (max-width: 767px) {
  .enable-javascript .main-lower {
    padding-top: 85px;
  }
}

/* ==========================================================
   animation
========================================================== */
.enable-javascript .fadeIn,
.enable-javascript .slideU,
.enable-javascript .slideR,
.enable-javascript .slideL {
  opacity: 0;
}

.fadeIn.anime {
  animation: fadeIn 1.5s ease forwards;
}

.slideU.anime {
  animation: slideU 1.5s ease forwards;
}

.slideD.anime {
  animation: slideD 1.5s ease forwards;
}

.slideR.anime {
  animation: slideR 1.5s ease forwards;
}

.slideL.anime {
  animation: slideL 1.5s ease forwards;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  0% {
    transform: scale(0.5);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes zoomOut {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(0);
    width: 0;
  }
}
@keyframes slideU {
  0% {
    transform: translateY(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideD {
  0% {
    transform: translateX(0);
    opacity: 1;
  }
  100% {
    transform: translateY(100%);
    opacity: 0;
  }
}
@keyframes slideL {
  0% {
    transform: translateX(-100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
@keyframes slideR {
  0% {
    transform: translateX(100%);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
    opacity: 1;
  }
}
.d-none {
  display: none !important;
}

@media (min-width: 768px) {
  .sp_only {
    display: none !important;
  }
  .pc_only {
    display: block !important;
  }
}
@media (max-width: 767px) {
  body {
    width: 100%;
    -webkit-text-size-adjust: 100%;
  }
  .sp_only {
    display: block !important;
  }
  .pc_only,
  .sp_none {
    display: none !important;
  }
}
.d-b {
  display: block;
}

.d-in {
  display: inline;
}

.d-inb {
  display: inline-block;
}

.va-t {
  vertical-align: top;
}

.va-m {
  vertical-align: middle;
}

.va-b {
  vertical-align: bottom;
}

@media (min-width: 768px) {
  .hover-opacity {
    transition: opacity 0.3s ease;
  }
  .hover-opacity:hover {
    opacity: 0.6;
  }
}
.mt00 {
  margin-t: 0px;
}

.mt01 {
  margin-t: 4px;
}

.mt02 {
  margin-t: 8px;
}

.mt03 {
  margin-t: 12px;
}

.mt04 {
  margin-t: 16px;
}

.mt05 {
  margin-t: 20px;
}

.mt06 {
  margin-t: 24px;
}

.mt07 {
  margin-t: 28px;
}

.mt08 {
  margin-t: 32px;
}

.mt09 {
  margin-t: 36px;
}

.mt10 {
  margin-t: 40px;
}

.mt11 {
  margin-t: 44px;
}

.mt12 {
  margin-t: 48px;
}

.mt13 {
  margin-t: 52px;
}

.mt14 {
  margin-t: 56px;
}

.mt15 {
  margin-t: 60px;
}

.mt16 {
  margin-t: 64px;
}

.mt17 {
  margin-t: 68px;
}

.mt18 {
  margin-t: 72px;
}

.mt19 {
  margin-t: 76px;
}

.mt20 {
  margin-t: 80px;
}

.mr00 {
  margin-r: 0px;
}

.mr01 {
  margin-r: 4px;
}

.mr02 {
  margin-r: 8px;
}

.mr03 {
  margin-r: 12px;
}

.mr04 {
  margin-r: 16px;
}

.mr05 {
  margin-r: 20px;
}

.mr06 {
  margin-r: 24px;
}

.mr07 {
  margin-r: 28px;
}

.mr08 {
  margin-r: 32px;
}

.mr09 {
  margin-r: 36px;
}

.mr10 {
  margin-r: 40px;
}

.mr11 {
  margin-r: 44px;
}

.mr12 {
  margin-r: 48px;
}

.mr13 {
  margin-r: 52px;
}

.mr14 {
  margin-r: 56px;
}

.mr15 {
  margin-r: 60px;
}

.mr16 {
  margin-r: 64px;
}

.mr17 {
  margin-r: 68px;
}

.mr18 {
  margin-r: 72px;
}

.mr19 {
  margin-r: 76px;
}

.mr20 {
  margin-r: 80px;
}

.mb00 {
  margin-b: 0px;
}

.mb01 {
  margin-b: 4px;
}

.mb02 {
  margin-b: 8px;
}

.mb03 {
  margin-b: 12px;
}

.mb04 {
  margin-b: 16px;
}

.mb05 {
  margin-b: 20px;
}

.mb06 {
  margin-b: 24px;
}

.mb07 {
  margin-b: 28px;
}

.mb08 {
  margin-b: 32px;
}

.mb09 {
  margin-b: 36px;
}

.mb10 {
  margin-b: 40px;
}

.mb11 {
  margin-b: 44px;
}

.mb12 {
  margin-b: 48px;
}

.mb13 {
  margin-b: 52px;
}

.mb14 {
  margin-b: 56px;
}

.mb15 {
  margin-b: 60px;
}

.mb16 {
  margin-b: 64px;
}

.mb17 {
  margin-b: 68px;
}

.mb18 {
  margin-b: 72px;
}

.mb19 {
  margin-b: 76px;
}

.mb20 {
  margin-b: 80px;
}

.ml00 {
  margin-l: 0px;
}

.ml01 {
  margin-l: 4px;
}

.ml02 {
  margin-l: 8px;
}

.ml03 {
  margin-l: 12px;
}

.ml04 {
  margin-l: 16px;
}

.ml05 {
  margin-l: 20px;
}

.ml06 {
  margin-l: 24px;
}

.ml07 {
  margin-l: 28px;
}

.ml08 {
  margin-l: 32px;
}

.ml09 {
  margin-l: 36px;
}

.ml10 {
  margin-l: 40px;
}

.ml11 {
  margin-l: 44px;
}

.ml12 {
  margin-l: 48px;
}

.ml13 {
  margin-l: 52px;
}

.ml14 {
  margin-l: 56px;
}

.ml15 {
  margin-l: 60px;
}

.ml16 {
  margin-l: 64px;
}

.ml17 {
  margin-l: 68px;
}

.ml18 {
  margin-l: 72px;
}

.ml19 {
  margin-l: 76px;
}

.ml20 {
  margin-l: 80px;
}

.pt00 {
  padding-t: 0px !important;
}

.pt01 {
  padding-t: 4px !important;
}

.pt02 {
  padding-t: 8px !important;
}

.pt03 {
  padding-t: 12px !important;
}

.pt04 {
  padding-t: 16px !important;
}

.pt05 {
  padding-t: 20px !important;
}

.pt06 {
  padding-t: 24px !important;
}

.pt07 {
  padding-t: 28px !important;
}

.pt08 {
  padding-t: 32px !important;
}

.pt09 {
  padding-t: 36px !important;
}

.pt10 {
  padding-t: 40px !important;
}

.pt11 {
  padding-t: 44px !important;
}

.pt12 {
  padding-t: 48px !important;
}

.pt13 {
  padding-t: 52px !important;
}

.pt14 {
  padding-t: 56px !important;
}

.pt15 {
  padding-t: 60px !important;
}

.pt16 {
  padding-t: 64px !important;
}

.pt17 {
  padding-t: 68px !important;
}

.pt18 {
  padding-t: 72px !important;
}

.pt19 {
  padding-t: 76px !important;
}

.pt20 {
  padding-t: 80px !important;
}

.pr00 {
  padding-r: 0px !important;
}

.pr01 {
  padding-r: 4px !important;
}

.pr02 {
  padding-r: 8px !important;
}

.pr03 {
  padding-r: 12px !important;
}

.pr04 {
  padding-r: 16px !important;
}

.pr05 {
  padding-r: 20px !important;
}

.pr06 {
  padding-r: 24px !important;
}

.pr07 {
  padding-r: 28px !important;
}

.pr08 {
  padding-r: 32px !important;
}

.pr09 {
  padding-r: 36px !important;
}

.pr10 {
  padding-r: 40px !important;
}

.pr11 {
  padding-r: 44px !important;
}

.pr12 {
  padding-r: 48px !important;
}

.pr13 {
  padding-r: 52px !important;
}

.pr14 {
  padding-r: 56px !important;
}

.pr15 {
  padding-r: 60px !important;
}

.pr16 {
  padding-r: 64px !important;
}

.pr17 {
  padding-r: 68px !important;
}

.pr18 {
  padding-r: 72px !important;
}

.pr19 {
  padding-r: 76px !important;
}

.pr20 {
  padding-r: 80px !important;
}

.pb00 {
  padding-b: 0px !important;
}

.pb01 {
  padding-b: 4px !important;
}

.pb02 {
  padding-b: 8px !important;
}

.pb03 {
  padding-b: 12px !important;
}

.pb04 {
  padding-b: 16px !important;
}

.pb05 {
  padding-b: 20px !important;
}

.pb06 {
  padding-b: 24px !important;
}

.pb07 {
  padding-b: 28px !important;
}

.pb08 {
  padding-b: 32px !important;
}

.pb09 {
  padding-b: 36px !important;
}

.pb10 {
  padding-b: 40px !important;
}

.pb11 {
  padding-b: 44px !important;
}

.pb12 {
  padding-b: 48px !important;
}

.pb13 {
  padding-b: 52px !important;
}

.pb14 {
  padding-b: 56px !important;
}

.pb15 {
  padding-b: 60px !important;
}

.pb16 {
  padding-b: 64px !important;
}

.pb17 {
  padding-b: 68px !important;
}

.pb18 {
  padding-b: 72px !important;
}

.pb19 {
  padding-b: 76px !important;
}

.pb20 {
  padding-b: 80px !important;
}

.pl00 {
  padding-l: 0px !important;
}

.pl01 {
  padding-l: 4px !important;
}

.pl02 {
  padding-l: 8px !important;
}

.pl03 {
  padding-l: 12px !important;
}

.pl04 {
  padding-l: 16px !important;
}

.pl05 {
  padding-l: 20px !important;
}

.pl06 {
  padding-l: 24px !important;
}

.pl07 {
  padding-l: 28px !important;
}

.pl08 {
  padding-l: 32px !important;
}

.pl09 {
  padding-l: 36px !important;
}

.pl10 {
  padding-l: 40px !important;
}

.pl11 {
  padding-l: 44px !important;
}

.pl12 {
  padding-l: 48px !important;
}

.pl13 {
  padding-l: 52px !important;
}

.pl14 {
  padding-l: 56px !important;
}

.pl15 {
  padding-l: 60px !important;
}

.pl16 {
  padding-l: 64px !important;
}

.pl17 {
  padding-l: 68px !important;
}

.pl18 {
  padding-l: 72px !important;
}

.pl19 {
  padding-l: 76px !important;
}

.pl20 {
  padding-l: 80px !important;
}

.tc {
  text-align: center;
}

.tr {
  text-align: right;
}

.tl {
  text-align: left;
}

.td-n {
  text-decoration: none;
}

.td-u {
  text-decoration: underline;
}

.c-red {
  color: #e61e1e;
}

.c-blue {
  color: #0064d2;
}

.c-white {
  color: #ffffff !important;
}

.bgc-gray {
  background-color: #fafafa;
}

.bgc-blue {
  background-color: #0064d2;
}

.bgc-lblue {
  background-color: #edf9f9;
}

.fs-xxs {
  font-size: 1rem;
}

.fs-xs {
  font-size: 1.2rem;
}

.fs-s {
  font-size: 1.4rem;
}

.fs-m {
  font-size: 1.6rem;
}

.fs-l {
  font-size: 1.8rem;
}

.fs-xl {
  font-size: 2rem;
}

.fs-xxl {
  font-size: 2.2rem;
}

.fs-xxxl {
  font-size: 2.4rem;
}

@media (max-width: 767px) {
  .fs-s {
    font-size: 1.2rem;
  }
  .fs-m {
    font-size: 1.4rem;
  }
  .fs-l {
    font-size: 1.6rem;
  }
  .fs-xl {
    font-size: 1.6rem;
  }
  .fs-xxl {
    font-size: 2rem;
  }
  .fs-xxxl {
    font-size: 2.2rem;
  }
}
.fw-n {
  font-weight: normal;
}

.fw-b {
  font-weight: bold;
}

.bg-decoration,
.bg-decoration--right,
.bg-decoration--left-top,
.bg-decoration--left-middle,
.bg-decoration--left-middle-top,
.bg-decoration--left-middle-bottom,
.bg-decoration--left-bottom,
.bg-decoration--right-top,
.bg-decoration--right-middle,
.bg-decoration--right-middle-top,
.bg-decoration--right-middle-bottom,
.bg-decoration--right-bottom {
  position: absolute;
  pointer-events: none;
  opacity: 0.37;
  z-index: 0;
}
.bg-decoration img,
.bg-decoration--right img,
.bg-decoration--left-top img,
.bg-decoration--left-middle img,
.bg-decoration--left-middle-top img,
.bg-decoration--left-middle-bottom img,
.bg-decoration--left-bottom img,
.bg-decoration--right-top img,
.bg-decoration--right-middle img,
.bg-decoration--right-middle-top img,
.bg-decoration--right-middle-bottom img,
.bg-decoration--right-bottom img {
  width: auto;
  height: 100%;
  display: block;
  object-fit: cover;
}

.card-grid {
  display: grid;
  gap: 35px;
}
@media (max-width: 767px) {
  .card-grid {
    grid-template-columns: 1fr !important;
    gap: 20px;
  }
}
.card-grid--col1 {
  grid-template-columns: 1fr;
}
.card-grid--col2 {
  grid-template-columns: repeat(2, 1fr);
}
.card-grid--col3 {
  grid-template-columns: repeat(3, 1fr);
}
.card-grid--col4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (min-width: 768px) {
  .card-grid--half {
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  .card-grid--sp-gap-high {
    gap: 110px;
  }
}

.info-card {
  position: relative;
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 30px;
  box-shadow: 0px 4px 12px -7px #0064d2;
}
@media (max-width: 767px) {
  .info-card {
    max-width: 100%;
  }
}
.info-card--flex {
  flex-direction: row;
}
@media (min-width: 768px) {
  .info-card--wide {
    grid-column: span 2;
  }
}
.info-card--align-center {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .info-card--sp-flex {
    display: grid;
    grid-template-columns: 48% 52%;
    grid-template-rows: auto;
    grid-template-areas: "heading heading" "text image";
  }
  .info-card--sp-flex .info-card__label {
    grid-area: heading;
  }
  .info-card--sp-flex .info-card__text {
    grid-area: text;
  }
  .info-card--sp-flex .info-card__image {
    grid-area: image;
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
@media (min-width: 768px) {
  .info-card {
    padding: 30px;
  }
}
@media (max-width: 767px) {
  .info-card {
    flex-direction: column;
    text-align: center;
    padding: 20px 20px 28px;
  }
}
.info-card__content {
  flex: 1;
}
.info-card--blue .info-card__label {
  color: #0064d2;
}
.info-card__label {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .info-card__label {
    font-size: 20px;
    margin-bottom: 15px;
  }
}
.info-card__label--center {
  text-align: center;
}
.info-card__label--margin-none {
  margin-bottom: 0;
}
.info-card__label--blue {
  color: #0064d2;
}
.info-card__value {
  font-size: 40px;
  font-weight: 700;
  color: #0b68d3;
  line-height: 1.1;
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.info-card__value-unit {
  font-size: 20px;
  font-weight: 500;
  color: #333;
}
.info-card__text {
  text-align: left;
}
@media (min-width: 768px) {
  .info-card__text {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .info-card__text {
    font-size: 16px;
  }
}
@media (min-width: 768px) {
  .info-card__text h2 {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .info-card__text h2 {
    font-size: 16px;
  }
}
.info-card__text strong {
  font-weight: 700;
}
.info-card__text dl {
  display: flex;
}
.info-card__text dl dt {
  width: 40%;
  margin-right: 10px;
  flex-shrink: 0;
}
.info-card__image {
  width: 100px;
  flex-shrink: 0;
}
.info-card__image img {
  display: block;
  width: 100%;
  height: auto;
}

.figure-card figure img {
  border-radius: 30px;
  overflow: hidden;
  object-fit: cover;
  width: 100%;
}
@media (min-width: 768px) {
  .figure-card figure img {
    height: 190px;
  }
}
@media (max-width: 767px) {
  .figure-card figure img {
    height: 198px;
  }
}
.figure-card figcaption {
  font-weight: 700;
}
@media (min-width: 768px) {
  .figure-card figcaption {
    font-size: 20px;
    margin-top: 25px;
  }
}
@media (max-width: 767px) {
  .figure-card figcaption {
    font-size: 20px;
    margin-top: 15px;
    text-align: center;
  }
}

.career-journey-map {
  position: relative;
  max-width: 880px;
  padding: 20px 0;
  margin: 0 auto;
}
.career-journey-map__header {
  display: flex;
  margin-bottom: 20px;
  margin-left: 15px;
  font-weight: 700;
  font-size: 18px;
}
@media (max-width: 767px) {
  .career-journey-map__header {
    margin-left: 18px;
    font-size: 16px;
  }
}
.career-journey-map__header__post {
  color: #007580;
  font-weight: 700;
  width: 148px;
}
@media (max-width: 767px) {
  .career-journey-map__header__post {
    width: 108px;
  }
}
.career-journey-map__header__work-place {
  color: #0064d2;
  font-weight: 700;
}
@media (max-width: 767px) {
  .career-journey-map {
    width: 100%;
    padding: 0px;
  }
}
.career-journey-map__body {
  position: relative;
}
.career-journey-map__item {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
  position: relative;
}
@media (max-width: 767px) {
  .career-journey-map__item {
    margin-bottom: 20px;
  }
}
.career-journey-map__item:first-of-type::after {
  top: 50%;
  height: calc(50% + 30px);
}
@media (max-width: 767px) {
  .career-journey-map__item:first-of-type::after {
    height: calc(50% + 20px);
  }
}
.career-journey-map__item:first-of-type::before {
  content: "";
  position: absolute;
  top: 0;
  background-color: #fff;
  width: 100%;
  height: 50%;
}
.career-journey-map__item:last-of-type::before {
  content: "";
  position: absolute;
  bottom: 0;
  background-color: #fff;
  width: 100%;
  height: 50%;
}
.career-journey-map__item:last-of-type::after {
  height: 50%;
}
.career-journey-map__post {
  color: #007580;
  font-weight: 700;
  font-size: 18px;
  width: 78px;
  margin-right: 10px;
  text-align: center;
  position: relative;
  flex-shrink: 1;
}
@media (max-width: 767px) {
  .career-journey-map__post {
    font-size: 16px;
  }
}
.career-journey-map__post-title {
  word-break: keep-all;
  background-color: #fff;
  padding: 4px 0;
  margin-left: -10px;
}
@media (max-width: 767px) {
  .career-journey-map__post-title {
    margin-left: -5px;
  }
}
.career-journey-map__content {
  min-width: 680px;
  width: calc(100% - 68px);
  font-weight: 700;
  color: #0064d2;
  background-color: #e8f3fb;
  border-radius: 30px;
  padding: 30px 85px 30px 75px;
  position: relative;
  font-size: 18px;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .career-journey-map__content {
    min-width: auto;
    font-size: 16px;
    width: calc(100% - 68px);
    padding: 25px 25px 25px 45px;
  }
  .career-journey-map__parental-leave .career-journey-map__content {
    padding-right: 70px;
  }
}
.career-journey-map__content::before {
  content: "";
  position: absolute;
  left: 20px;
  top: 0;
  bottom: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 100%;
  border: 1px solid #656e78;
  background-color: #0064d2;
}
.career-journey-map__experience {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 500;
  color: #000;
}
@media (max-width: 767px) {
  .career-journey-map__experience {
    font-size: 14px;
  }
}
.career-journey-map__icon-parental-leave {
  position: absolute;
  width: 40px;
  height: 59px;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 40px;
}
@media (max-width: 767px) {
  .career-journey-map__icon-parental-leave {
    width: 38px;
    height: 57px;
    right: 25px;
  }
}
.career-journey-map__arrow {
  position: absolute;
  z-index: 1;
  left: 20px;
  width: 40px;
  top: 62%;
}
@media (max-width: 767px) {
  .career-journey-map__arrow {
    top: 60%;
    width: 36px;
  }
}
.career-journey-map__arrow--last {
  top: calc(50% - 40px);
}

.flow-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
  margin-top: 30px;
}
.flow-list__arrow {
  position: relative;
  display: inline-block;
  width: 14px;
  height: 24px;
}
.flow-list__arrow::before, .flow-list__arrow::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 18.1px;
  height: 4px;
  border-radius: 9999px;
  background-color: #64afe1;
  transform-origin: calc(100% - 2px) 50%;
}
.flow-list__arrow::before {
  transform: rotate(46.55deg);
}
.flow-list__arrow::after {
  transform: rotate(-46.55deg);
}
.flow-list__item {
  position: relative;
  background: #fff;
  border-radius: 30px;
  padding: 35px 5px 30px 5px;
  box-shadow: 0px 4px 12px -7px #0064d2;
  flex: 1 1 calc(14.2857142857% - 20px);
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.flow-list__number {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  position: absolute;
  line-height: 1;
  top: -15px;
  left: 18px;
  font-size: 40px;
  color: #0064d2;
  margin-bottom: 10px;
}
.flow-list__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  height: 50px;
  margin-bottom: 10px;
}
.flow-list__figure {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
.flow-list__figure img {
  position: relative;
  left: -7px;
  width: auto;
  height: 62px;
  display: block;
  object-fit: contain;
}

@media (max-width: 767px) {
  .flow-list {
    flex-direction: column;
    align-items: stretch;
    gap: 5px;
  }
  .flow-list__arrow {
    margin: 0 auto;
    width: 24px;
    height: 14px;
  }
  .flow-list__arrow::before, .flow-list__arrow::after {
    top: -3px;
    left: calc(50% - 2px);
    width: 4px;
    height: 18.1px;
    transform-origin: 50% calc(100% - 2px);
  }
  .flow-list__arrow::before {
    transform: rotate(46.55deg);
  }
  .flow-list__item {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .flow-list__figure img {
    height: 80px;
  }
}
/* ===============================
   fl-block
================================ */
.float-block__inner {
  overflow: hidden;
}
.float-block__image {
  float: left;
  width: 43%;
  flex-shrink: 1;
  margin-right: 70px;
}
.float-block__image img {
  width: 100%;
  height: auto;
  border-radius: 30px;
  object-fit: cover;
}
.float-block--white .float-block__content {
  color: #fff;
}
.float-block__text {
  font-size: 16px;
  line-height: 1.7;
}
.float-block--reverse .float-block__image {
  float: right;
  margin-left: 70px;
  margin-right: 0;
}
@media (min-width: 768px) {
  .float-block--float-none .float-block__inner {
    display: flex;
  }
  .float-block--float-none .float-block__inner .float-block__content {
    width: 57%;
  }
}
.float-block--float-none .float-block__image {
  float: none;
}
@media (max-width: 767px) {
  .float-block__image, .float-block--reverse .float-block__image {
    float: none;
    width: 100%;
    margin: 0 0 16px 0;
  }
  .float-block__content {
    width: 100%;
  }
}

.flow-circle-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 23px;
}
.flow-circle-list__item {
  position: relative;
  padding: 20px;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  border: 4px solid #7bbbe5;
  /* 幅：7列まで均等 → それ以上は折り返し */
  flex: 1 1 calc(14.2857142857% - 24px);
  aspect-ratio: 1/1;
  max-width: 1fr;
}
.flow-circle-list__item:nth-child(2) .flow-circle-list__title {
  margin-top: 10px;
}
.flow-circle-list__number {
  font-family: "Barlow", sans-serif;
  font-weight: 500;
  position: absolute;
  color: #bcdcf2;
  font-size: 70px;
  line-height: 1;
  z-index: 0;
  left: 39px;
  top: 10px;
}
.flow-circle-list {
  /* 見出し（項目ごとのタイトル） */
}
.flow-circle-list__title {
  position: relative;
  z-index: 1;
  margin: 0 0 8px;
  font-size: 20px;
  font-weight: 700;
}
.flow-circle-list__content {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: left;
}
.flow-circle-list__figure {
  width: 100%;
  margin: 0 0 10px;
}
.flow-circle-list__figure img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}
.flow-circle-list__text {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
}
.flow-circle-list__arrow {
  position: absolute;
  width: 25px;
  height: 60px;
  align-self: center;
  flex: 0 0 auto;
  background: url("/tdec/recruit/assets/images/common/icon-arrow-bold.svg") center/contain no-repeat;
  left: -22px;
}
.flow-circle-list {
  /* small screens: 縦並びにする */
}
@media (max-width: 767px) {
  .flow-circle-list {
    gap: 16px;
  }
  .flow-circle-list__item {
    width: 290px;
    height: 290px;
    margin: 0 auto;
    flex: 1 1 100%;
    min-width: 0;
    max-width: 290px;
    padding: 20px;
  }
  .flow-circle-list__number {
    left: 36px;
    top: 20px;
  }
  .flow-circle-list__arrow {
    left: 0;
    right: 0;
    top: -35px;
    margin: 0 auto;
    transform: rotate(90deg);
  }
}

.image-block {
  width: 100%;
  margin: 40px 0 40px;
}
.image-block__figure {
  display: inline-block;
  max-width: 485px;
}
.image-block--radius .image-block__figure {
  border-radius: 30px;
  overflow: hidden;
}
.image-block__figure img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.image-block--left {
  text-align: left;
}
.image-block--center {
  text-align: center;
}
.image-block--right {
  text-align: right;
}

@media (max-width: 768px) {
  .image-block {
    margin: 16px 0;
  }
}
.interview-slider {
  position: relative;
}
@media (min-width: 768px) {
  .interview-slider .swiper {
    overflow: hidden;
    padding: 30px 0;
    margin: -30px 0;
  }
}
@media (max-width: 767px) {
  .interview-slider .swiper {
    overflow: visible;
  }
}
.interview-slider .swiper-button-prev,
.interview-slider .swiper-button-next {
  color: #0064d2;
  background-color: #fff;
  border: 1px solid #0064d2;
  border-radius: 100%;
  width: 40px;
  height: 40px;
}
@media (max-width: 767px) {
  .interview-slider .swiper-button-prev,
  .interview-slider .swiper-button-next {
    display: none;
  }
}
.interview-slider .swiper-button-prev::before, .interview-slider .swiper-button-prev::after,
.interview-slider .swiper-button-next::before,
.interview-slider .swiper-button-next::after {
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  left: 0;
  right: 0;
  margin: auto;
  width: 12px;
  height: 3px;
  background-color: #0064d2;
  transform-origin: calc(100% - 1px) 50%;
}
.interview-slider .swiper-button-prev::before,
.interview-slider .swiper-button-next::before {
  transform: rotate(45deg);
}
.interview-slider .swiper-button-prev::after,
.interview-slider .swiper-button-next::after {
  transform: rotate(-45deg);
}
.interview-slider .swiper-button-prev svg,
.interview-slider .swiper-button-next svg {
  display: none;
}
.interview-slider .swiper-button-prev {
  transform: rotate(180deg);
  left: -55px;
}
.interview-slider .swiper-button-next {
  right: -55px;
}
@media (min-width: 768px) {
  .interview-slider .swiper-wrapper {
    align-items: stretch;
  }
}
@media (max-width: 767px) {
  .interview-slider .swiper-wrapper {
    flex-direction: column;
    gap: 20px;
  }
}
.interview-slider .photo-link-list__item {
  min-height: 160px;
  height: auto;
}
@media (max-width: 767px) {
  .interview-slider .photo-link-list__item {
    display: none;
  }
  .interview-slider .photo-link-list__item.sp {
    display: flex;
  }
}
.interview-slider .photo-link-list__content {
  position: static;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 57%;
  padding: 25px 20px;
}
.interview-slider .photo-link-list__heading {
  font-size: 18px;
}
.interview-slider .photo-link-list__subheading {
  font-size: 14px;
  margin-top: 8px;
}
.interview-slider .photo-link-list__smallheading {
  font-size: 12px;
  margin-top: 5px;
}
.interview-slider .photo-link-list__text {
  font-size: 18px;
  margin-top: 10px;
}
.interview-slider .photo-link-list__image {
  width: 43%;
}
.interview-slider .photo-link-list__arrow {
  right: 10px;
  bottom: 10px;
}

.noscript {
  background: rgba(250, 150, 40, 0.4);
  padding: 20px 0;
  margin-bottom: 30px;
}

/* ===============================
   breadcrumb
================================ */
@media (min-width: 768px) {
  .breadcrumb {
    max-width: 1200px;
    margin: 22px auto 0;
  }
}
@media (max-width: 767px) {
  .breadcrumb {
    display: none;
  }
}
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
}
@media (min-width: 768px) {
  .breadcrumb li {
    font-size: 14px;
  }
}
.breadcrumb li + li::before {
  content: "|";
}
@media (min-width: 768px) {
  .breadcrumb li + li::before {
    margin: 0 8px;
  }
}
.breadcrumb li a:hover {
  text-decoration: underline;
}

.page-anchor {
  position: relative;
}
@media (max-width: 767px) {
  .page-anchor {
    width: calc(100% - 20px);
    margin: 10px auto 20px;
    border-radius: 30px;
    background-color: #fff;
    box-shadow: 0px 4px 12px -7px #0064d2;
  }
}
.page-anchor__list {
  display: flex;
}
@media (min-width: 768px) {
  .page-anchor__list {
    max-width: 1110px;
    margin: 40px auto 40px;
    gap: 55px;
  }
}
@media (max-width: 767px) {
  .page-anchor__list {
    z-index: 2;
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    padding-top: 52px;
    flex-direction: column;
    border-radius: 30px;
    background-color: #fff;
    box-shadow: 0px 4px 12px -7px #0064d2;
    transition: opacity 0.2s ease;
  }
}
@media (max-width: 767px) {
  .page-anchor__list.-open {
    opacity: 1;
    pointer-events: auto;
    padding-bottom: 20px;
  }
}

.anchor-item a {
  position: relative;
  display: block;
  color: #000;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .anchor-item a {
    padding-right: 35px;
    font-size: 18px;
  }
}
@media (max-width: 767px) {
  .anchor-item a {
    font-size: 18px;
    padding: 18px 55px 18px 25px;
  }
}
.anchor-item a:hover {
  text-decoration: none;
}
.anchor-item a:before {
  content: "";
  display: block;
  position: absolute;
  border-radius: 100%;
  background-color: #0064d2;
  top: 0;
  bottom: 0;
  margin: auto;
}
@media (min-width: 768px) {
  .anchor-item a:before {
    width: 24px;
    height: 24px;
    right: 0;
  }
}
@media (max-width: 767px) {
  .anchor-item a:before {
    width: 36px;
    height: 36px;
    right: 15px;
  }
}
.anchor-item a:after {
  content: "";
  display: block;
  position: absolute;
  background: url("/tdec/recruit/assets/images/common/icon-arrow-white.svg") no-repeat center;
  background-size: contain;
  transform: rotate(90deg);
  top: 0;
  bottom: 0;
  margin: auto;
  transition: transform 0.3s ease;
}
@media (min-width: 768px) {
  .anchor-item a:after {
    width: 10px;
    height: 8px;
    right: 7px;
  }
}
@media (max-width: 767px) {
  .anchor-item a:after {
    width: 15px;
    height: 10px;
    right: 26px;
  }
}
@media (max-width: 767px) {
  .anchor-item a.-open:after {
    transform: rotate(-90deg);
  }
}
.anchor-item__trigger {
  position: relative;
  z-index: 3;
}
.anchor-item__trigger a {
  padding: 15px 25px;
}

.page-header {
  position: relative;
  display: flex;
  flex-direction: column;
}
@media (min-width: 768px) {
  .page-header {
    margin: 32px auto 20px;
  }
}
@media (max-width: 767px) {
  .page-header {
    margin-bottom: 20px;
  }
}
.page-header__content {
  text-align: center;
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
}
@media (min-width: 768px) {
  .page-header__icon {
    position: absolute;
    display: flex;
    align-items: center;
    width: 65px;
    margin-left: -7%;
  }
  .page-header__icon img {
    width: 100%;
    height: auto;
  }
}
@media (max-width: 767px) {
  .page-header__icon {
    height: 50px;
  }
  .page-header__icon img {
    width: auto;
    height: 100%;
  }
}
.page-header__en {
  font-weight: 700;
  color: #0064d2;
  font-size: 20px;
}
@media (max-width: 767px) {
  .page-header__en {
    font-size: 14px;
  }
}
.page-header__ja {
  font-size: 40px;
  font-weight: 700;
  margin-left: 3%;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .page-header__ja {
    margin-left: 0;
    font-size: 32px;
  }
}
.page-header__ja--icon-none {
  margin-left: 0;
}
.page-header__figure {
  flex: 1;
  border-radius: 30px;
  overflow: hidden;
}
@media (min-width: 768px) {
  .page-header__figure {
    width: 100%;
    max-width: 1210px;
    margin: 25px auto 0;
  }
}
@media (max-width: 767px) {
  .page-header__figure {
    margin: 10px 10px 0;
  }
}
.page-header__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .page-header__figure img {
    height: 235px;
  }
}
@media (max-width: 767px) {
  .page-header__figure img {
    height: 150px;
  }
}

.photo-link-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px 60px;
  margin: 30px 0;
}
@media (max-width: 767px) {
  .photo-link-list {
    grid-template-columns: 1fr;
  }
}
.photo-link-list__item {
  display: flex;
  flex-direction: row;
  border-radius: 30px;
  overflow: hidden;
  background: #fff;
  position: relative;
  min-height: 290px;
  box-shadow: 0px 4px 12px -7px #0064d2;
}
@media (max-width: 767px) {
  .photo-link-list__item {
    min-height: 220px;
  }
}
.photo-link-list__item:hover {
  text-decoration: none;
}
.photo-link-list__content {
  width: 50%;
  padding: 24px;
  position: relative;
}
.photo-link-list__heading {
  font-size: 23px;
  font-weight: 700;
  line-height: 1.3;
  color: #0064d2;
}
.photo-link-list__subheading {
  font-size: 16px;
  line-height: 1.3;
  margin-top: 13px;
  color: #0064d2;
}
.photo-link-list__smallheading {
  color: #000;
  font-size: 16px;
  line-height: 1.3;
  margin-top: 3px;
}
.photo-link-list__text {
  color: #000;
  font-weight: 700;
  font-size: 23px;
  line-height: 1.3;
  margin-top: 30px;
}
.photo-link-list__arrow {
  position: absolute;
  background-color: #0064d2;
  border-radius: 100%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  right: 25px;
  bottom: 15px;
}
.photo-link-list__arrow img {
  width: 15px;
}
.photo-link-list__image {
  width: 50%;
}
.photo-link-list__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* ===============================
   profile-block
================================ */
.profile-block__inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: 70px;
}
@media (max-width: 767px) {
  .profile-block__inner {
    flex-direction: column;
    gap: 24px;
  }
}
.profile-block__content {
  flex: 1;
}
.profile-block--white .profile-block__content {
  color: #fff;
}
.profile-block__heading {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  .profile-block__heading {
    margin-bottom: 10px;
  }
}
.profile-block__sub {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .profile-block__sub {
    margin-bottom: 6px;
  }
}
.profile-block__small {
  font-size: 18px;
  margin-bottom: 6px;
}
.profile-block__text {
  font-size: 16px;
  line-height: 1.7;
}
.profile-block {
  /* ===== 画像 ===== */
}
.profile-block__image {
  flex: 1;
  max-width: 480px;
  max-height: 360px;
}
@media (max-width: 767px) {
  .profile-block__image {
    aspect-ratio: 16/9;
    max-width: none;
    width: 100%;
    max-height: none;
    margin-bottom: 10px;
  }
}
.profile-block__image img {
  width: 100%;
  height: 100%;
  border-radius: 30px;
  object-fit: cover;
}
.profile-block {
  /* ===== テレコ（左右反転） ===== */
}
.profile-block--reverse .profile-block__inner {
  flex-direction: row;
}
@media (max-width: 767px) {
  .profile-block--reverse .profile-block__inner {
    flex-direction: column;
  }
}
.profile-block--align-center .profile-block__inner {
  align-items: center;
}

@media (min-width: 768px) {
  .section-list {
    font-size: 16px;
  }
}
@media (max-width: 767px) {
  .section-list {
    font-size: 16px;
  }
}

@media (min-width: 768px) {
  .section-text {
    font-size: 16px;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .section-text {
    font-size: 16px;
    margin: 0 0 20px;
  }
}
.section-text strong {
  font-weight: 700;
}
@media (min-width: 768px) {
  .section-text strong {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .section-text strong {
    font-size: 20px;
  }
}
@media (max-width: 767px) {
  .section-text--sp-center {
    text-align: center;
  }
}

.section-title {
  position: relative;
  display: flex;
  flex-direction: column;
  font-weight: 700;
  z-index: 1;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .section-title {
    font-size: 24px;
    padding-bottom: 6px;
    margin-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .section-title {
    text-align: center;
    font-size: 29px;
    padding-bottom: 12px;
    margin-bottom: 20px;
  }
}
.section-title {
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.section-title__color--blue {
  color: #0064d2;
  border-bottom-color: #0064d2;
}
.section-title__color--white {
  color: #fff;
}
.section-title--type2 {
  font-weight: 700;
  line-height: 1.1;
}
@media (min-width: 768px) {
  .section-title--type2 {
    font-size: 32px;
    margin-top: 5px;
    margin-bottom: 40px;
  }
}
@media (max-width: 767px) {
  .section-title--type2 {
    font-size: 32px;
    margin-bottom: 30px;
    text-align: center;
  }
}

.table-wrapper {
  overflow-x: auto;
}
.table-wrapper .custom-table {
  width: 100%;
  border-collapse: collapse;
  border-bottom: 2px solid #96a6eb;
}
@media (min-width: 768px) {
  .table-wrapper .custom-table .sp {
    display: none !important;
  }
}
.table-wrapper .custom-table thead th {
  background-color: #0064d2;
  color: #fff;
  font-weight: bold;
  padding: 5px 20px;
  text-align: left;
  border-right: 2px solid #fff;
  font-size: 18px;
}
.table-wrapper .custom-table thead th:last-child {
  border-right: none;
}
.table-wrapper .custom-table thead tr {
  border-left: 2px solid #0064d2;
  border-right: 2px solid #0064d2;
}
.table-wrapper .custom-table tbody th,
.table-wrapper .custom-table tbody td {
  padding: 15px 20px;
  font-size: 14px;
  border-right: 2px solid #96a6eb;
}
.table-wrapper .custom-table tbody tr {
  border-left: 2px solid #96a6eb;
}
.table-wrapper .custom-table tbody tr:nth-child(odd) {
  background-color: #e8f3fb;
}
.table-wrapper .custom-table th {
  color: #0064d2;
  font-weight: bold;
}
@media (max-width: 767px) {
  .table-wrapper .custom-table {
    display: block;
    border-bottom: none;
  }
  .table-wrapper .custom-table .pc {
    display: none !important;
  }
  .table-wrapper .custom-table .thead th,
  .table-wrapper .custom-table .thead td {
    background-color: #0064d2;
    color: #fff;
    font-weight: bold;
    padding: 5px 20px;
    text-align: left;
    font-size: 18px;
    border: 2px solid #0064d2;
  }
  .table-wrapper .custom-table tbody {
    display: table;
    width: 100%;
  }
  .table-wrapper .custom-table tbody .sp_only {
    display: table-row;
  }
  .table-wrapper .custom-table tbody tr {
    border: none;
    width: 100%;
  }
  .table-wrapper .custom-table tbody tr:first-of-type {
    margin-top: 0;
  }
  .table-wrapper .custom-table tbody th,
  .table-wrapper .custom-table tbody td {
    padding: 10px 20px;
    border: none;
    border-left: 2px solid #96a6eb;
    border-right: 2px solid #96a6eb;
    border-bottom: 2px solid #96a6eb;
  }
}
.table-wrapper .custom-table--no-header {
  border-top: 2px solid #96a6eb;
}

.thumbnail-text-block {
  display: flex;
  gap: 30px;
}
.thumbnail-text-block--reverse {
  flex-direction: row-reverse;
}
.thumbnail-text-block__img {
  width: 36%;
  flex: 1;
  display: flex;
  justify-content: center;
}
.thumbnail-text-block__img img {
  width: 62%;
  height: auto;
  display: block;
}
.thumbnail-text-block__content {
  flex: 1;
}
.thumbnail-text-block__text {
  font-weight: 700;
  font-size: 20px;
}
@media (max-width: 767px) {
  .thumbnail-text-block {
    flex-direction: column;
  }
  .thumbnail-text-block__img, .thumbnail-text-block__content {
    width: 100%;
  }
  .thumbnail-text-block__img img, .thumbnail-text-block__content img {
    width: 50%;
  }
  .thumbnail-text-block__text {
    font-size: 18px;
  }
}

.timetable {
  display: flex;
  align-items: center;
  position: relative;
  gap: 153px;
}
@media (max-width: 767px) {
  .timetable {
    flex-direction: column;
    gap: 30px;
    border-radius: 30px;
    background-color: rgba(255, 255, 255, 0.2);
  }
}
.timetable .image-block {
  width: 220px;
}
@media (max-width: 767px) {
  .timetable .image-block {
    width: 50px;
  }
}
.timetable .image-block img {
  width: 100%;
  height: auto;
}

.timeline {
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  position: relative;
  border-radius: 30px;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 20px 30px 20px 70px;
  width: 700px;
}
@media (max-width: 767px) {
  .timeline {
    width: 100%;
    padding: 10px 10px 10px 45px;
    background-color: transparent;
  }
}
.timeline:before {
  content: "";
  position: absolute;
  top: 70px;
  bottom: 120px;
  left: 70px;
  width: 22px;
  background-color: #fff;
  z-index: 0;
}
@media (max-width: 767px) {
  .timeline:before {
    width: 12px;
    left: 45px;
    top: 20px;
    bottom: 40px;
  }
}
.timeline__item {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
  position: relative;
}
.timeline__line {
  width: 22px;
  position: relative;
  top: 8px;
}
@media (max-width: 767px) {
  .timeline__line {
    width: 12px;
  }
}
.timeline__line--with-icon {
  top: calc(50% - 60px);
}
.timeline__dot {
  width: 22px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .timeline__dot {
    width: 12px;
  }
}
.timeline__dot::after {
  content: "";
  width: 15px;
  height: 15px;
  border-radius: 100%;
  background-color: #0064d2;
  z-index: 1;
}
@media (max-width: 767px) {
  .timeline__dot::after {
    width: 8px;
    height: 8px;
  }
}
.timeline__icon {
  position: absolute;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background-color: #fff;
  z-index: 1;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 0 -48px;
}
@media (max-width: 767px) {
  .timeline__icon {
    width: 80px;
    height: 80px;
    margin-left: -33.5px;
  }
}
.timeline__icon:before {
  position: absolute;
  content: "";
  display: block;
  width: 90px;
  height: 90px;
  left: 14px;
  top: 14px;
  border-radius: 100%;
  border: 2px solid #0064d2;
}
@media (max-width: 767px) {
  .timeline__icon:before {
    width: 58px;
    height: 58px;
    left: 9px;
    top: 9px;
  }
}
.timeline__icon img {
  width: 55px;
  height: auto;
}
@media (max-width: 767px) {
  .timeline__icon img {
    width: 45px;
  }
}
.timeline__connector {
  flex: 1;
  width: 4px;
  background-color: #7bbbe5;
}
.timeline__time {
  color: #fff;
  width: 80px;
  height: 100%;
  margin-left: 110px;
  font-weight: 700;
  position: relative;
  font-size: 18px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
}
@media (min-width: 768px) {
  .timeline__time:before {
    content: "";
    position: absolute;
    width: 86px;
    height: 1px;
    left: -96px;
    border-bottom: dotted 2px rgba(255, 255, 255, 0.4);
    top: calc(50% - 2px);
  }
}
@media (max-width: 767px) {
  .timeline__time {
    margin-left: 45px;
    width: 60px;
  }
}
.timeline__time--with-icon {
  height: 120px;
}
@media (max-width: 767px) {
  .timeline__time--with-icon {
    height: 80px;
  }
}
.timeline__time--with-icon:before {
  width: 36px;
  left: -46px;
}
.timeline__task {
  background-color: #fff;
  border-radius: 15px;
  padding: 5px 13px;
  position: relative;
  display: inline-block;
  font-size: 16px;
  line-height: 1.3;
}
.timeline__task--with-icon {
  margin-top: 45px;
}
@media (max-width: 767px) {
  .timeline__task--with-icon {
    margin-top: 26px;
  }
}
.timeline__task::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 11px;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-right: 7px solid #fff;
  border-left: 0;
}

#toTop {
  position: fixed;
  bottom: 10px;
  right: 0;
  z-index: 10000;
  opacity: 0;
  transform: translateY(100px);
  width: 65px;
  height: 65px;
}
@media (max-width: 767px) {
  #toTop {
    width: 50px;
    height: 50px;
  }
}
#toTop a {
  display: block;
  line-height: 0;
}
#toTop a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
#toTop.slideU {
  animation: slideU 0.5s forwards;
}
#toTop.slideD {
  animation: slideD 0.5s forwards;
}

.top-section-title {
  position: relative;
  text-align: center;
}
.top-section-title a {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .top-section-title a {
    gap: 14px;
    margin-right: -30px;
  }
}
.top-section-title a:link {
  color: inherit;
  text-decoration: none;
}
.top-section-title--white {
  color: #fff;
}
.top-section-title__icon img {
  width: 72px;
  height: auto;
}
@media (max-width: 767px) {
  .top-section-title__icon img {
    width: 45px;
    margin: 0 0 8px 0;
  }
}
.top-section-title__en {
  color: #0064d2;
  font-weight: 700;
  font-size: 18px;
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .top-section-title__en {
    font-size: 14px;
    margin-bottom: 0px;
  }
}
.top-section-title--white .top-section-title__en {
  color: #fff;
}
.top-section-title__title {
  position: relative;
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 8px;
  display: inline-flex;
  align-items: center;
  gap: 40px;
}
@media (max-width: 767px) {
  .top-section-title__title {
    font-size: 32px;
    margin-bottom: -5px;
    gap: 14px;
  }
}
.top-section-title__arrow {
  background-color: #0064d2;
  border-radius: 100%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-section-title--white .top-section-title__arrow {
  background-color: #fff;
}
@media (max-width: 767px) {
  .top-section-title__arrow {
    width: 26px;
    height: 26px;
  }
}
.top-section-title__arrow img {
  width: 15px;
}
@media (max-width: 767px) {
  .top-section-title__arrow img {
    width: 10px;
  }
}
.top-section-title__lead {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .top-section-title__lead {
    margin-bottom: 50px;
    font-size: 14px;
  }
}

#header {
  display: flex;
  align-items: center;
  margin: 0 auto;
  position: relative;
  max-width: 1200px;
  width: 100%;
  height: 64px;
  font-size: 1.4rem;
}
@media (max-width: 767px) {
  #header {
    position: fixed;
    top: 0;
    width: 100%;
    min-width: auto;
    height: 45px;
    border-bottom: 1px solid #e7e7e8;
    background-color: #fff;
    z-index: 9999;
  }
}

@media (min-width: 768px) {
  #logo {
    margin-left: 10px;
  }
}
@media (max-width: 767px) {
  #logo img {
    width: auto;
    height: 44px;
  }
}

#identifier {
  margin-left: 49px;
}
#identifier img {
  vertical-align: middle;
}

#head_right {
  margin-left: auto;
}
#head_right ul {
  display: flex;
}
#head_right ul li a {
  color: #000;
}
#head_right ul li a.-disabled {
  pointer-events: none;
}
#head_right ul li.contact {
  padding-left: 20px;
}
#head_right ul li.sitemap {
  padding-right: 20px;
  border-right: 1px solid #e7e7e8;
}

#gNav {
  position: relative;
  clear: both;
  padding: 10px 10px 0;
  margin: 0;
}
#gNav ul a {
  color: #000;
  cursor: pointer;
}
#gNav > ul {
  position: relative;
  display: flex;
  align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  list-style: none;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0;
}
#gNav > ul > li {
  margin-right: 25px;
  padding: 10px 0;
}
#gNav > ul > li:hover > a, #gNav > ul > li:hover > span, #gNav > ul > li.has-current > a, #gNav > ul > li.has-current > span {
  text-decoration: underline solid #fad737 8px;
  text-underline-offset: 0.5em;
}
#gNav > ul > li.has-current > a {
  pointer-events: none;
}
#gNav ul ul li a:hover,
#gNav ul ul li.has-current > a {
  text-decoration: underline solid #fad737 5px;
}
#gNav ul ul li.has-current > a {
  pointer-events: none;
}
#gNav li ul {
  position: absolute;
  top: 45px;
  display: none;
  min-width: 180px;
  font-weight: normal;
  padding: 5px;
  background-color: #f2f2f2;
  z-index: 5;
}
#gNav li:hover > ul,
#gNav li:focus-within > ul {
  display: block;
  animation: fadeIn 0.5s ease forwards;
}
#gNav li li {
  padding: 10px 5px;
}
#gNav .has-current {
  cursor: default;
}

@media (max-width: 767px) {
  #switchBtnArea #switchBtn {
    position: fixed;
    top: 0;
    right: 0;
    width: 43px;
    height: 43px;
    display: block;
    background: #fff;
    z-index: 9999;
  }
  #switchBtnArea #switchBtn span {
    left: 11px;
    width: 22px;
    height: 2px;
    display: block;
    position: absolute;
    background-color: #505054;
    transition: all 0.2s linear;
  }
  #switchBtnArea #switchBtn span:nth-of-type(1) {
    top: 13px;
    transform: rotate(0);
  }
  #switchBtnArea #switchBtn span:nth-of-type(2) {
    top: 20px;
    transform: scale(1);
  }
  #switchBtnArea #switchBtn span:nth-of-type(3) {
    bottom: 13px;
    transform: rotate(0);
  }
  #switchBtnArea #switchBtn.btnClose {
    background: #0064d2;
  }
  #switchBtnArea #switchBtn.btnClose span {
    background-color: #ffffff;
  }
  #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
    top: 20px;
    transform: rotate(45deg);
  }
  #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
    transform: scale(0);
  }
  #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
    bottom: 21px;
    transform: rotate(-45deg);
  }
  #sp-header {
    margin-top: 45px;
  }
  .enable-javascript #sp-header {
    margin-top: 0;
  }
  #spNav {
    position: relative;
    width: 100%;
    z-index: 1000;
    background-color: #e4e4e4;
  }
  .enable-javascript #spNav {
    display: none;
    top: 45px;
    position: fixed;
    overflow: scroll;
    max-height: calc(100vh - 45px);
  }
  #spNav li ul {
    position: relative;
    padding-left: 20px;
  }
  .enable-javascript #spNav li ul {
    display: none;
  }
  #spNav li ul li:last-child {
    border-bottom: none;
  }
  #spNav li a,
  #spNav li span {
    position: relative;
    display: inline-block;
    width: 100%;
    color: #000;
    font-size: 1.6rem;
    font-weight: bold;
    padding: 10px 35px 10px 10px;
    background-color: #f7f9fa;
    border-bottom: 1px solid #e7e7e8;
  }
  #spNav li a.-disabled,
  #spNav li span.-disabled {
    pointer-events: none;
  }
  #spNav li a.-disabled:after,
  #spNav li span.-disabled:after {
    content: none;
  }
  #spNav ul.sub {
    display: flex;
    justify-content: center;
    padding: 15px 10px;
    background-color: #0064d2;
  }
  #spNav ul.sub li {
    width: 50%;
  }
  #spNav ul.sub li a {
    color: #fff;
    font-weight: normal;
    font-size: 1.4rem;
    text-align: center;
    background-color: #0064d2;
    border-right: 1px solid #fff;
    border-bottom: none;
    padding: 0;
  }
  #spNav ul.sub li a.-disabled {
    pointer-events: none;
  }
  #spNav ul.sub li a.-disabled:after {
    content: none;
  }
  #spNav ul.sub li:last-child a {
    border-right: none;
  }
  #spNav ul.main li a::after,
  #spNav ul.main li span::after {
    content: "";
    margin: auto;
    top: 0;
    bottom: 0;
    right: 20px;
    width: 8px;
    height: 8px;
    color: #fff;
    position: absolute;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg);
  }
  #spNav ul.main li a.-disabled {
    pointer-events: none;
  }
  #spNav ul.main li a.-disabled:after {
    content: none;
  }
  #spNav ul.main li span::after {
    bottom: 8px;
    transform: rotate(135deg);
  }
  #spNav ul.main li span.open::after {
    bottom: -4px;
    transform: rotate(-45deg);
  }
  #spNav ul.main li.has-current a {
    color: #0064d2;
  }
  #spNav ul.main li.has-current a::after {
    content: none;
  }
}
#gfooter {
  color: #000;
  position: relative;
  font-size: 1.4rem;
  margin: 0 auto;
  overflow: hidden;
}
@media (max-width: 767px) {
  #gfooter {
    min-width: auto;
  }
}

#footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1200px;
  padding: 28px 10px;
  margin: 0 auto;
}
#footer ul {
  display: flex;
}
#footer li:first-child {
  padding-right: 30px;
}
#footer a {
  color: #000;
}
#footer .has-current a {
  pointer-events: none;
}
@media (max-width: 767px) {
  #footer {
    flex-direction: column;
    width: 100%;
    text-align: center;
    background-color: #f5f5f6;
  }
  #footer ul {
    flex-direction: column;
  }
  #footer li {
    margin-bottom: 15px;
  }
  #footer li.-disabled {
    pointer-events: none;
    color: gray;
  }
  #footer #sp_identifier {
    margin-top: 15px;
  }
  #footer #copyright {
    font-size: 1.2rem;
    margin-top: 30px;
  }
}

/* ===============================
   entry-fixed
================================ */
.entry-fixed {
  position: fixed;
  z-index: 999;
  text-decoration: none;
  color: #fff;
  transition: transform 0.8s ease, opacity 0.3s ease;
}
@media (min-width: 768px) {
  .entry-fixed.is-hidden {
    transform: translateX(200%);
  }
}
@media (max-width: 767px) {
  .entry-fixed.is-hidden {
    transform: translateY(100px);
  }
}
.entry-fixed {
  /* =========================
       PC：右側に丸いENTRY
   ========================= */
  right: 24px;
  bottom: 80px;
  width: 94px;
  height: 94px;
  background: #e50012;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0px 0px 5px -2px #ffffff;
}
.entry-fixed:hover {
  text-decoration: none;
}
.entry-fixed:link {
  color: #fff;
}
@media (max-width: 767px) {
  .entry-fixed {
    /* SPでは丸ボタンを非表示 */
    right: auto;
    bottom: 0;
    display: block;
    width: 100%;
    height: auto;
    border-radius: 0;
    background: none;
    transition: transform 0.3s ease;
  }
}
.entry-fixed {
  /* PC用要素 */
}
.entry-fixed__pc {
  text-align: center;
}
@media (max-width: 767px) {
  .entry-fixed__pc {
    display: none;
  }
}
.entry-fixed__pc-text {
  display: block;
  font-size: 18px;
  font-weight: 400;
  margin-bottom: 5px;
}
.entry-fixed__pc-arrow {
  font-size: 18px;
}
.entry-fixed {
  /* =========================
       SP：下部固定の横長ボタン
   ========================= */
}
.entry-fixed__sp {
  display: none;
}
@media (max-width: 767px) {
  .entry-fixed__sp {
    display: block;
    background: #e50012;
    color: #fff;
    padding: 16px 56px 16px 20px;
    border-radius: 24px 24px 0 0;
    text-align: left;
    box-shadow: 0px 0px 5px -2px #ffffff;
  }
}
.entry-fixed__sp-main {
  font-size: 18px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .entry-fixed__sp-main {
    font-size: 17px;
  }
}
.entry-fixed__sp-note {
  font-size: 12px;
  opacity: 0.9;
  margin-top: 4px;
}
@media (max-width: 767px) {
  .entry-fixed__sp-arrow {
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
  }
}

/* ===============================
   Recruit Section（採用情報）
================================ */
.recruit {
  position: relative;
  z-index: 2;
  background: #e8ebef;
  padding: 75px 0 110px;
  border-radius: 70px 70px 0 0;
  margin-top: -90px;
  overflow: hidden;
}
@media (max-width: 767px) {
  .recruit {
    border-radius: 70px 70px 0 0;
    padding: 30px 0 50px;
  }
}
.recruit__inner {
  margin: 0 auto;
  padding: 0 15px;
  position: relative;
  z-index: 2;
  text-align: center;
}
@media (min-width: 768px) {
  .recruit__inner {
    max-width: 1210px;
  }
}
.recruit__title {
  font-size: 40px;
  font-weight: 700;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .recruit__title {
    font-size: 32px;
    margin-bottom: 20px;
  }
}
.recruit a:hover {
  text-decoration: none;
}
.recruit__items {
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media (max-width: 767px) {
  .recruit__items {
    flex-direction: column;
    gap: 15px;
  }
}
.recruit {
  /* カード本体：左＝本文、右＝丸矢印 */
}
.recruit__item {
  align-items: center;
  column-gap: 16px;
  width: calc(50% - 20px);
  padding: 18px 58px;
  background: #fff;
  border-radius: 9999px; /* しっかり丸み */
  position: relative;
  color: #111;
  text-decoration: none;
}
.recruit__item:link {
  color: #000;
}
@media (min-width: 768px) {
  .recruit__item {
    display: grid;
    grid-template-columns: 1fr 56px; /* 右の丸矢印ぶんを固定 */
  }
}
@media (max-width: 767px) {
  .recruit__item {
    width: 100%;
    padding: 10px 0 12px;
  }
}
.recruit {
  /* 左カラム（英語ラベル＋日本語見出しの縦積み） */
}
.recruit__item-body {
  display: grid;
  row-gap: 4px;
}
.recruit__item-en {
  font-size: 18px;
  font-weight: 700;
  color: #0a57c8;
  line-height: 1;
  letter-spacing: 0.02em;
  margin-bottom: 15px;
}
@media (max-width: 767px) {
  .recruit__item-en {
    font-size: 14px;
    margin-bottom: 0;
  }
}
.recruit__item-ja {
  font-size: 34px;
  font-weight: 700;
  line-height: 1;
}
@media (max-width: 767px) {
  .recruit__item-ja {
    font-size: 32px;
  }
}
.recruit {
  /* 右の丸矢印（常にカード右中央に） */
}
.recruit__item-cta {
  inline-size: 36px;
  block-size: 36px;
  border-radius: 50%;
  background: #0a57c8;
  display: grid;
  place-items: center;
  justify-self: end; /* グリッド右端に吸着 */
}
.recruit__item-cta img {
  width: 20px;
  height: 20px;
  display: block;
}
@media (max-width: 767px) {
  .recruit__item-cta {
    position: absolute;
    bottom: 15px;
    left: calc(50% + 110px);
    inline-size: 24px;
    block-size: 24px;
  }
  .recruit__item-cta img {
    width: 18px;
    height: auto;
  }
}
@media (max-width: 767px) and (max-width: 767px) {
  .recruit__item-cta img {
    width: 10px;
  }
}
.recruit {
  /* --- 赤い大ボタン --- */
}
.recruit__entry {
  background: #e61e1e;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 25px 40px;
  border-radius: 112px;
  position: relative;
  margin: 0 auto;
  margin-top: 100px;
}
.recruit__entry:link {
  color: #fff;
}
@media (max-width: 767px) {
  .recruit__entry {
    border-radius: 70px;
    padding: 15px 20px;
    margin-top: 20px;
  }
}
.recruit__entry-text {
  font-weight: 700;
  font-size: 28px;
  font-weight: 700;
  margin-bottom: 6px;
}
@media (max-width: 767px) {
  .recruit__entry-text {
    font-size: 20px;
    margin-bottom: 3px;
  }
}
.recruit__entry-note {
  font-size: 16px;
  font-weight: 700;
}
@media (max-width: 767px) {
  .recruit__entry-note {
    font-size: 11px;
  }
}
.recruit__entry-arrow {
  position: absolute;
  right: 40px;
  top: 50%;
  width: 30px;
  height: 1px;
  background: #fff;
  vertical-align: middle;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .recruit__entry-arrow {
    right: 20px;
    width: 15px;
  }
}
.recruit__entry-arrow::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1px;
  width: 16px;
  height: 16px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: translateY(-8px) rotate(45deg);
}
@media (max-width: 767px) {
  .recruit__entry-arrow::after {
    width: 8px;
    height: 8px;
    transform: translateY(-4px) rotate(45deg);
  }
}
.recruit {
  /* --- ドット装飾 --- */
}
.recruit__decor {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 260px;
  opacity: 0.4;
  pointer-events: none;
}
.recruit__decor img {
  width: 100%;
}
@media (max-width: 767px) {
  .recruit__decor {
    width: 180px;
    top: -20px;
    right: -20px;
  }
}

.section {
  position: relative;
  overflow: hidden;
}
.section__color--blue {
  background: #0064d2;
}
.section__color--blue-light {
  background: #e8f3fb;
}
.section__color--gray {
  background: #ececec;
}
.section__bg {
  position: relative;
}
.section__bg--light:before, .section__bg--light:after {
  content: "";
  position: absolute;
  opacity: 0.5;
  pointer-events: none;
}
@media (max-width: 767px) {
  .section__bg--light:before, .section__bg--light:after {
    opacity: 1;
  }
}
.section__bg--light:before {
  background: url("/tdec/recruit/assets/images/common/bg-light-left.png") no-repeat left top;
  background-size: contain;
  top: calc(50% - 750px);
  left: -250px;
  width: 786px;
  height: 1233px;
}
@media (max-width: 767px) {
  .section__bg--light:before {
    top: calc(50% - 416.6666666667px);
    left: -200px;
    width: 436.6666666667px;
    height: 685px;
  }
}
.section__bg--light:after {
  background: url("/tdec/recruit/assets/images/common/bg-light-right.png") no-repeat right top;
  background-size: contain;
  top: calc(50% - 558px);
  right: -304px;
  width: 784px;
  height: 1236px;
}
@media (max-width: 767px) {
  .section__bg--light:after {
    top: calc(50% - 343.3333333333px);
    right: -240px;
    width: 435.5555555556px;
    height: 686.6666666667px;
  }
}
@media (max-width: 767px) {
  .section__bg--light--timetable:before {
    background: url("/tdec/recruit/assets/images/common/bg-light-right-sp.png") no-repeat right top;
    background-size: contain;
    transform: scale(-1, 1);
    top: calc(50% - 258.9285714286px);
    left: -100px;
    width: 296px;
    height: 725px;
  }
}
@media (max-width: 767px) {
  .section__bg--light--timetable:after {
    background: url("/tdec/recruit/assets/images/common/bg-light-left.png") no-repeat left top;
    background-size: contain;
    transform: scale(-1, 1);
    top: calc(50% - 302.0833333333px);
    right: -190px;
    width: 327.5px;
    height: 513.75px;
  }
}
@media (min-width: 768px) {
  .section__radius--top-left {
    border-top-left-radius: 90px;
  }
}
@media (max-width: 767px) {
  .section__radius--top-left {
    border-top-left-radius: 35px;
  }
}
@media (min-width: 768px) {
  .section__radius--top-right {
    border-top-right-radius: 90px;
  }
}
@media (max-width: 767px) {
  .section__radius--top-right {
    border-top-right-radius: 35px;
  }
}
@media (min-width: 768px) {
  .section__radius--bottom-left {
    border-bottom-left-radius: 90px;
  }
}
@media (max-width: 767px) {
  .section__radius--bottom-left {
    border-bottom-left-radius: 35px;
  }
}
@media (min-width: 768px) {
  .section__radius--bottom-right {
    border-bottom-right-radius: 90px;
  }
}
@media (max-width: 767px) {
  .section__radius--bottom-right {
    border-bottom-right-radius: 35px;
  }
}
.section--margin-minus-top {
  margin-top: -90px;
}
.section__inner {
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media (min-width: 768px) {
  .section__inner {
    max-width: 1110px;
    padding: 50px 0 100px;
  }
}
@media (max-width: 767px) {
  .section__inner {
    margin: 0 10px;
    padding: 40px 0 80px;
  }
}
@media (min-width: 768px) {
  .section__inner--high {
    padding-bottom: 160px;
  }
}
@media (max-width: 767px) {
  .section__inner--high {
    padding-bottom: 120px;
  }
}
@media (min-width: 768px) {
  .section__inner--high-full {
    padding-bottom: 210px;
  }
}
@media (max-width: 767px) {
  .section__inner--high-full {
    padding-bottom: 120px;
  }
}
@media (min-width: 768px) {
  .section__inner--min {
    padding-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .section__inner--min {
    padding-bottom: 20px;
  }
}
@media (min-width: 768px) {
  .section__inner--pc-min {
    padding-bottom: 60px;
  }
}
.section__inner--same {
  padding: 60px 0;
}
@media (max-width: 767px) {
  .section__inner--same {
    padding: 30px 0;
  }
}
@media (max-width: 767px) {
  .section__inner--sp-min {
    padding-bottom: 10px;
  }
}
.section__inner > .section__inner {
  padding-bottom: 0;
}
.section__inner > .section__inner:first-of-type {
  padding-top: 0;
}
@media (max-width: 767px) {
  .section__inner > .section__inner {
    margin: 0;
  }
}