@charset "UTF-8";
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

# Base
	- Elements
## Layouts
# Components
	- Navigation
	- Pages
	- Media

--------------------------------------------------------------*/
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
/* Font Size */
/* Line Height */
/* Headings */
/* Colors */
/* Spacing */
/* Border Radius */
/* Block: Table */
/* Block: Form */
/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Elements
--------------------------------------------- */
body {
  font-family: "Noto Sans JP", sans-serif;
  color: #313131;
  line-height: 1.8;
}

a {
  color: #3a539b;
  text-decoration: none;
}
a:visited {
  color: #999;
}
a:hover, a:focus, a:active {
  color: #4c6dcf;
}

.link--button {
  display: block;
  border-radius: 9999px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2);
  text-align: center;
  padding: 15px 10px;
  font-size: 1.25rem;
  font-weight: bold;
}

@media all and (max-width: 959px) {
  .link--button {
    font-size: 1rem;
  }
}
/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  width: 100%;
}

figure {
  margin: 0 !important;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #333333;
  border: solid 1px #cccccc;
  padding: 5px;
  background-color: #fff;
}

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select {
  border: 1px solid #cccccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Loader
--------------------------------------------- */
#loading--wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff426;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  z-index: 9999;
}

.loading--loader,
.loading--loader:before,
.loading--loader:after {
  background: #ffffff;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 1em;
  height: 4em;
}

.loading--loader {
  color: #ffffff;
  text-indent: -9999em;
  margin: 88px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}

.loading--loader:before,
.loading--loader:after {
  position: absolute;
  top: 0;
  content: "";
}

.loading--loader:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}

.loading--loader:after {
  left: 1.5em;
}

@-webkit-keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
@keyframes load1 {
  0%, 80%, 100% {
    box-shadow: 0 0;
    height: 4em;
  }
  40% {
    box-shadow: 0 -2em;
    height: 5em;
  }
}
.completed {
  opacity: 0;
  visibility: hidden;
}

/* Navigation
--------------------------------------------- */
.header {
  height: 90px;
  background-color: rgba(255, 255, 255, 0.9);
}

h1 {
  height: 90px;
  display: flex;
  align-items: center;
  padding: 0 30px;
}

.header--hamburger-button {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
  height: 90px;
  width: 90px;
  background-color: #000;
}

.header--hamburger-icon {
  height: 20px;
  position: absolute;
  width: 30px;
}
.header--hamburger-icon-line {
  background: #fff;
  display: block;
  height: 2px;
  position: absolute;
  transition: transform 0.3s;
  width: 100%;
}
.header--hamburger-icon-line-center {
  top: 9px;
}
.header--hamburger-icon-line-center.is-active {
  transform: scaleX(0);
}
.header--hamburger-icon-line-bottom {
  bottom: 0;
}
.header--hamburger-icon-line-bottom.is-active {
  bottom: 10px;
  transform: rotate(135deg);
}
.header--hamburger-icon-line-top.is-active {
  top: 8px;
  transform: rotate(45deg);
}

.gnav {
  background: rgba(244, 67, 54, 0.9);
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
}
.gnav--wrapper {
  align-items: center;
  display: flex;
  height: 100vh;
  justify-content: center;
  position: absolute;
  width: 100%;
}
.gnav--menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.gnav--menu-item {
  margin: 40px 0;
}
.gnav--menu-item a {
  color: #fff;
  font-size: 2em;
  font-weight: bold;
  padding: 40px 0;
  text-decoration: none;
  transition: 0.5s;
}
.gnav--menu-item a:hover {
  color: #000;
}

.header--entry {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 92px;
  height: 90px;
  padding: 0 60px;
  font-size: 1.25rem;
  font-weight: bold;
  color: #fff !important;
  background-color: #f44336;
  letter-spacing: 0.3em;
}

.header--internship {
  display: flex;
  align-items: center;
  position: absolute;
  top: 0;
  right: 307px;
  height: 90px;
  padding: 12px 20px;
}
.header--internship img {
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
}

.footer--internship {
  display: none;
}

@media all and (max-width: 959px) {
  .header--internship {
    display: none;
  }
  .footer--internship {
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    bottom: 0;
    right: 0;
    height: 120px;
    padding: 10px 20px;
  }
  .footer--internship img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
  }
}
@media all and (max-width: 519px) {
  .header--hamburger-button {
    height: 76px;
    width: 76px;
  }
  .header--entry {
    display: none;
  }
  .header {
    height: 76px;
  }
  h1 {
    height: 76px;
  }
  h1 img {
    max-width: 70%;
    height: auto;
  }
  .gnav--menu-item a {
    font-size: 1.25rem;
  }
  .footer--internship {
    width: 100%;
    height: 120px;
    padding: 10px 20px;
  }
}
/* Header
--------------------------------------------- */
header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 90px;
  transition: 0.5s;
}
header.off {
  opacity: 0;
}
@media (max-width: 767.98px) {
  header {
    height: 76px;
  }
}

/* Footer
--------------------------------------------- */
footer {
  padding: 20px;
  font-size: 0.875rem;
  text-align: center;
  color: #808080;
}

@media all and (max-width: 959px) {
  footer {
    padding: 20px 20px 20px 20px;
  }
}
/* Posts and pages
--------------------------------------------- */
.page--video-embed {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
}
.page--video-embed iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.video-portrait-wrapper {
  display: flex;
  justify-content: center; /* 水平方向の中央寄せ */
  align-items: center; /* 縦方向の中央寄せ（必要なら） */
  width: 100%;
  margin: 60px auto;
  background-image: url(../images/top/top-background-video.jpg);
  background-position: center center;
  background-repeat: repeat-x;
}

.video-portrait-container {
  position: relative;
  width: 80%; /* 幅を可変に */
  max-width: 400px; /* 最大幅を400pxに制限 */
  /* 9:16のアスペクト比を維持 */
  aspect-ratio: 9/16;
  /* 画面が狭すぎる or 高すぎる場合の調整 */
  max-height: 90vh;
  border-radius: 20px;
  overflow: hidden;
}
.video-portrait-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

.video-rallys-wrapper {
  display: flex;
  justify-content: center; /* 水平方向の中央寄せ */
  align-items: center; /* 縦方向の中央寄せ（必要なら） */
  gap: 30px;
  width: 80%;
  margin: 60px auto;
}

.video-rallys-container {
  flex: 1;
  position: relative;
  max-width: 800px; /* 最大幅を800pxに制限 */
  /* 16:9のアスペクト比を維持 */
  aspect-ratio: 16/9;
  /* 画面が狭すぎる or 高すぎる場合の調整 */
  max-height: 90vh;
  /*
  border-radius: 20px;
  overflow: hidden;
  */
}
.video-rallys-container iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/*--------------------------------------------------------------
# Top
--------------------------------------------------------------*/
.top--visual {
  position: relative;
  height: 100vh;
}

.top--visual-video {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}

#video {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
  height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
  min-height: 100%;
  min-width: 100%;
}

.top--visual-title {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color: #fff;
  font-size: 3.75rem;
  font-weight: 900;
  text-align: center;
  white-space: nowrap;
}

.top--visual-title-huge {
  font-size: 6rem;
}

.top--message {
  padding: 100px 10vw;
  background-image: url(../images/common/background-yellow.jpg);
}

.top--message-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.top--message-text {
  font-size: 1.5rem;
  font-weight: 900;
  text-align: center;
  color: #000;
}

.top--message-button {
  position: relative;
  margin-top: 60px;
  background-color: #fff;
  color: #000 !important;
  width: 24em;
}
.top--message-button::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #000 !important;
}

.top--contents {
  margin-top: 30px;
}

.top--column {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

.top--column-rtl {
  flex-direction: row-reverse;
}

.top--column-text {
  max-width: 40vw;
  padding-top: 180px;
  padding-left: 10vw;
  padding-right: 60px;
}

.top--column-image {
  width: 56vw;
  display: flex;
  justify-content: flex-end;
}

.top--column-rtl .top--column-text {
  padding-right: 10vw;
  padding-left: 60px;
}
.top--column-rtl .top--column-image {
  justify-content: flex-start;
}

.top--column-image-work {
  position: relative;
  padding-top: 100px;
}
.top--column-image-work::before {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 46vw;
  height: 100%;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
  background-color: #2ab0d8;
  background-image: url(../images/common/background-blue.jpg);
}

.top--column-image-interview {
  position: relative;
  padding-top: 200px;
}
.top--column-image-interview::before {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 46vw;
  height: 100%;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  background-color: #8de600;
  background-image: url(../images/common/background-green.jpg);
}

.top--column-image-parttime {
  position: relative;
  padding-top: 200px;
  padding-bottom: 200px;
  padding-right: 60px;
}
.top--column-image-parttime::before {
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  width: 46vw;
  height: 100%;
  border-top-left-radius: 40px;
  background-color: #f39800;
  background-image: url(../images/common/background-orange.jpg);
}

.top--entry {
  width: 100%;
  padding: 200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-image: url(../images/top/top-entry.jpg);
  background-size: cover;
  color: #fff;
}

.top--entry-h2-en {
  font-size: 6rem;
  font-weight: bold;
}

.top--entry-h2-ja {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 60px;
}

.buttons--entry {
  display: flex;
  flex-wrap: wrap;
}

.buttons--entry-button {
  background-color: #f44336;
  color: #fff !important;
}

.buttons--entry-top {
  justify-content: center;
}
.buttons--entry-top .buttons--entry-button {
  width: 16em;
  margin: 0 20px 20px 20px;
}

.buttons--entry-page .buttons--entry-button {
  width: 12em;
  margin-bottom: 20px;
  margin-right: 20px;
}
.buttons--entry-page .buttons--entry-button:last-of-type {
  margin-right: 0;
}

.top--h2-en {
  font-size: 3rem;
  font-weight: bold;
  line-height: 1.3;
}

.top--h2-ja {
  font-size: 1.75rem;
  margin-bottom: 20px;
}

.top--h2-ja-work {
  color: #2ab0d8;
}

.top--h2-ja-interview {
  color: #8de600;
}

.top--h2-ja-parttime {
  color: #f39800;
}

.top--contents-description {
  margin-bottom: 30px;
}

.top--contents-button {
  width: 20vw;
  min-width: 12em;
}

.top--contents-button-work {
  position: relative;
  background-color: #2ab0d8;
  color: #fff !important;
}
.top--contents-button-work::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #fff !important;
}

.top--contents-button-interview {
  position: relative;
  background-color: #8de600;
  color: #fff !important;
}
.top--contents-button-interview::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #fff !important;
}

.top--contents-button-parttime {
  position: relative;
  background-color: #f39800;
  color: #fff !important;
}
.top--contents-button-parttime::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #fff !important;
}

@media all and (max-width: 959px) {
  .top--visual {
    position: relative;
    height: 80vh;
  }
  .top--visual-title {
    font-size: 3rem;
  }
  .top--visual-title-huge {
    font-size: 3rem;
  }
  .top--message-text br {
    display: none;
  }
  .top--h2-en {
    font-size: 2.25rem;
  }
  .top--h2-ja {
    font-size: 1.25rem;
  }
  .top--column {
    flex-direction: column;
  }
  .top--column-text {
    max-width: 100%;
    padding-top: 0;
    padding: 10vw;
    text-align: center;
  }
  .top--column-image {
    width: 100%;
  }
  .top--column-rtl .top--column-text {
    padding-right: 10vw;
    padding-left: 10vw;
  }
  .top--message-button {
    width: 80%;
  }
  .top--contents-button {
    width: 80%;
    margin: 0 auto 60px auto;
  }
  .top--column-image-work::before {
    display: none;
  }
  .top--column-image-work {
    padding-top: 0;
  }
  .top--column-image-interview::before {
    display: none;
  }
  .top--column-image-interview {
    padding-top: 0;
  }
  .top--column-image-parttime {
    padding-top: 0;
    padding-bottom: 0;
    padding-right: 0;
  }
  .top--column-image-parttime {
    margin-bottom: 120px;
  }
  .top--column-image-parttime::before {
    display: none;
  }
  .top--entry {
    padding: 10vw;
  }
  .top--entry-h2-en {
    font-size: 3rem;
  }
  .top--entry-h2-ja {
    font-size: 1.5rem;
    margin-bottom: 30px;
  }
  .buttons--entry-top .buttons--entry-button {
    width: 90%;
  }
}
@media all and (max-width: 519px) {
  .top--visual-title {
    width: 85%;
    white-space: initial;
  }
  .top--contents-button {
    width: 80%;
    margin: 0 auto;
  }
  .video-rallys-wrapper {
    flex-direction: column;
  }
}
/*--------------------------------------------------------------
# トップメッセージ
--------------------------------------------------------------*/
.headling--page-topmessage {
  background-image: url(../images/common/background-yellow.jpg);
}

.topmessage--contents {
  position: relative;
  padding: 0 10vw;
  margin-bottom: 0 auto;
}
.topmessage--contents::before {
  z-index: -1;
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 80vw;
  height: calc(100% - 360px);
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  background-color: #f2f2f2;
}

.topmessage--contents-header {
  padding-top: 120px;
  font-size: 3rem;
  font-weight: 900;
  color: #000;
}

.topmessage--contents-message {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}

.topmessage--contents-text {
  flex: 1;
  padding-right: 60px;
  font-size: 1.25rem;
  font-weight: bold;
}
.topmessage--contents-text p {
  margin-bottom: 3em;
}

.topmessage--contents-images {
  width: 25vw;
  display: flex;
  flex-direction: column;
}

.topmessage--contents-image {
  padding-bottom: 20px;
}

.topmessage--contents-movie {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
  margin-bottom: 120px;
}

.topmessage--contents-movie-fukidashi {
  width: 25vw;
  height: 15vw;
  margin-top: 60px;
  background-image: url(../images/topmessage/topmessage-fukidashi.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.topmessage--contents-movie-fukidashi p {
  height: 12.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.25rem;
  font-weight: 900;
  color: #000;
}

.topmessage--contents-movie-media {
  flex: 1;
  padding-right: 30px;
}

.page--entry-topmessage {
  background-image: url(../images/common/background-yellow.jpg);
  color: #000;
}
.page--entry-topmessage .page--entry-h2-en {
  border-color: #000;
}

@media all and (max-width: 959px) {
  .topmessage--contents::before {
    height: calc(100% - 400px);
  }
  .topmessage--contents-header {
    font-size: 2.25rem;
    padding-top: 90px;
  }
  .topmessage--contents-header br {
    display: none;
  }
  .topmessage--contents-message {
    flex-direction: column;
  }
  .topmessage--contents-text {
    padding-right: 0;
  }
  .topmessage--contents-images {
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
  }
  .topmessage--contents-image {
    width: 48%;
    padding-bottom: 0;
  }
  .topmessage--contents-movie {
    margin-top: 120px;
    margin-left: -10vw;
    margin-right: -10vw;
  }
  .topmessage--contents-movie-fukidashi {
    display: none;
  }
  .topmessage--contents-movie-media {
    padding-right: 0;
  }
}
@media all and (max-width: 519px) {
  .topmessage--contents-header {
    font-size: 1.75rem;
    padding-top: 60px;
  }
  .topmessage--contents-message {
    margin-top: 40px;
  }
  .topmessage--contents-text {
    font-size: 1.125rem;
  }
  .topmessage--contents-images {
    flex-direction: column;
  }
  .topmessage--contents-image {
    width: 100%;
    padding-bottom: 20px;
  }
  .topmessage--contents-movie {
    margin-top: 60px;
    margin-bottom: 60px;
  }
}
/*--------------------------------------------------------------
# 仕事紹介
--------------------------------------------------------------*/
.headling--page {
  margin-top: 90px;
  margin-bottom: 60px;
  padding: 80px 10vw;
}

.headling--page-work {
  background-image: url(../images/common/background-blue.jpg);
}

.headling--page-h2 {
  font-size: 2.25rem;
  font-weight: bold;
}

.work--inner-link {
  display: flex;
  margin-bottom: 60px;
  justify-content: center;
}

.work--inner-link-button {
  position: relative;
  width: 15em;
  margin: 0 10px;
  box-shadow: none;
  border: 2px solid #e5e5e5;
  color: #2ab0d8 !important;
}
.work--inner-link-button::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f063";
  font-weight: 400;
  color: #2ab0d8 !important;
}

.work--contents {
  position: relative;
  margin-bottom: 180px;
}
.work--contents::before {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 120px;
  content: "";
  width: 80vw;
  height: calc(100% - 60px);
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
  background-color: #f2f2f2;
}

.work--contents-header {
  display: flex;
  align-items: end;
}

.work--contents-header-image {
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  overflow: hidden;
}

.work--contents-title {
  margin-left: 60px;
  margin-right: 10vw;
}

.work--contents-title-en {
  font-size: 3.75rem;
  color: #2ab0d8;
  font-weight: bold;
  font-style: italic;
  line-height: 1.1;
  margin-bottom: 20px;
}

.work--contents-title-ja {
  font-size: 3.75rem;
  line-height: 1.1;
  margin-bottom: 30px;
}

.work--contents-intro {
  margin-bottom: 30px;
}

.work--contents-group {
  width: 80vw;
  display: flex;
  justify-content: space-between;
  margin: 60px auto;
}

.work--contents-group-item {
  width: 25vw;
}

.work--contents-group-item-text {
  padding: 20px;
}

.work--contents-group-item-title {
  margin-bottom: 10px;
  font-size: 1.25rem;
}

.work--message {
  position: relative;
}

.work--message-text {
  position: absolute;
  top: -500px;
  right: 10vw;
  font-size: 3rem;
  font-weight: 900;
  color: #000;
  writing-mode: vertical-rl;
  white-space: nowrap;
  line-height: 1.3;
}

.page--entry {
  max-width: 65vw;
  min-width: 50vw;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  padding: 60px 60px 60px 10vw;
  margin-bottom: 120px;
}

.page--entry-h2-en {
  font-size: 3rem;
  font-weight: bold;
  border-top: 2px solid;
  line-height: 1.3;
  padding-top: 10px;
}

.page--entry-h2-ja {
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 20px;
}

.page--entry-work {
  background-image: url(../images/common/background-blue.jpg);
  color: #fff;
}
.page--entry-work .page--entry-h2-en {
  border-color: #fff;
}

@media all and (max-width: 959px) {
  .work--inner-link {
    padding: 0 5vw;
  }
  .work--contents-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .work--contents-header-image {
    margin-right: 10px;
  }
  .work--contents-title {
    margin: 30px 10vw;
  }
  .work--contents-title-en {
    font-size: 2.25rem;
    margin-bottom: 15px;
  }
  .work--contents-title-ja {
    font-size: 3rem;
    margin-bottom: 20px;
  }
  .work--contents-intro {
    margin-bottom: 0;
  }
  .work--contents-group {
    flex-direction: column;
    margin: 30px 10vw;
  }
  .work--contents-group-item {
    width: 100%;
  }
  .work--contents-group-item-title {
    font-size: 1.5rem;
  }
  .work--contents-group-item-text {
    padding: 20px 0;
    margin-bottom: 30px;
  }
  .work--message-text {
    writing-mode: initial;
    white-space: normal;
    position: relative;
    top: inherit;
    right: inherit;
    padding: 0 10vw 60px 10vw;
    font-size: 2.25rem;
    line-height: 1.7;
  }
}
@media all and (max-width: 519px) {
  .work--inner-link {
    padding: 0 2vw;
    margin-bottom: 30px;
  }
  .work--inner-link-button {
    font-size: 0.875rem;
    margin: 0 5px;
    padding: 10px;
  }
  .work--inner-link-button::after {
    display: none;
  }
  .work--contents {
    margin-bottom: 120px;
  }
  .work--contents::before {
    height: calc(100% - 90px);
  }
  .work--contents-title-en {
    font-size: 1.75rem;
  }
  .work--contents-title-ja {
    font-size: 2.25rem;
    margin-bottom: 15px;
  }
  .work--contents-group-item-title {
    font-size: 1.125rem;
  }
  .work--message-text {
    font-size: 1.5rem;
  }
  .work--message-text br {
    display: none;
  }
}
/*--------------------------------------------------------------
# 社員インタビュー
--------------------------------------------------------------*/
.interview--contents {
  position: relative;
  padding-bottom: 240px;
}
.interview--contents::before {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 80vw;
  height: 100%;
  border-top-left-radius: 40px;
  background-color: #f2f2f2;
}

.headling--page-interview {
  background-image: url(../images/common/background-green.jpg);
}

.interview--contents-header {
  width: 80vw;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

.interview--contents-header-text {
  padding-top: 100px;
  padding-bottom: 100px;
  font-size: 3rem;
  font-weight: 900;
  color: #000;
}

.interview--contents-group {
  width: 80vw;
  display: flex;
  gap: 60px;
  margin: 60px auto;
}

.interview--contents-group-item {
  width: 25vw;
}

.interview--contents-group-item-text {
  padding: 20px;
}

.interview--contents-group-item-title {
  margin-bottom: 10px;
  font-size: 1.75rem;
}

.interview--contents-group-item-title-kana {
  font-size: 0.875rem;
}

.interview--contents-group-item-description {
  font-weight: bold;
}

.interview--link-button {
  position: relative;
  margin-top: 40px;
  background-color: #fff;
  color: #8de600 !important;
}
.interview--link-button::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #8de600 !important;
}

.page--entry-interview {
  background-image: url(../images/common/background-green.jpg);
  color: #000;
}
.page--entry-interview .page--entry-h2-en {
  border-color: #000;
}

.page--entry-interview-index {
  margin-top: -120px;
}

.interview--staff {
  margin-top: -60px;
}

.interview--staff-profile {
  position: relative;
  padding-left: 10vw;
  padding-top: 120px;
  padding-bottom: 60px;
  display: flex;
}
.interview--staff-profile::before {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 90vw;
  height: 100%;
  border-bottom-left-radius: 40px;
  background-color: #f2f2f2;
}

.interview--staff-profile-text {
  flex: 1;
  padding: 0 60px;
}

.interview--staff-profile-headling {
  position: relative;
  font-size: 1.75rem;
  font-weight: bold;
}
.interview--staff-profile-headling::before {
  content: "“";
  font-size: 6rem;
  color: #8de600;
  position: absolute;
  top: -1em;
}
.interview--staff-profile-headling::after {
  content: "”";
  font-size: 6rem;
  color: #8de600;
  position: absolute;
  right: 0;
  bottom: -1.3em;
}

.interview--staff-profile-data-title {
  font-size: 1.75rem;
  color: #8de600;
  font-style: italic;
  font-weight: bold;
  padding-top: 10px;
  margin-top: 80px;
  border-top: 2px solid #fff;
}

.interview--staff-profile-data-name {
  font-size: 1.75rem;
  margin-bottom: 20px;
  font-weight: bold;
}

.interview--staff-profile-data-name-kana {
  font-size: 0.875rem;
}

.interview--staff-profile-data-position {
  font-weight: bold;
  margin-bottom: 20px;
}

.interview--staff-profile-data-detail {
  font-size: 0.875rem;
}

.interview--staff-profile-image {
  width: 50vw;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
  overflow: hidden;
}

.interview--staff-video {
  margin-top: 60px;
  margin-bottom: 120px;
}

.interview--staff-video-headling {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 60px;
}

.interview--staff-video-headling-title {
  font-size: 3.75rem;
  color: #8de600;
  font-weight: bold;
  font-style: italic;
  margin: 0 0.5em;
  line-height: 1.1;
}

.interview--staff-video-media {
  max-width: 60vw;
  margin: auto;
}

.interview--staff-inner-link {
  display: flex;
  margin-bottom: 120px;
  justify-content: center;
}

.interview--staff-inner-link-button {
  position: relative;
  width: 15em;
  margin: 0 10px;
  box-shadow: none;
  border: 1px solid #e5e5e5;
  font-weight: normal;
  box-shadow: none;
  color: #313131 !important;
}

.interview--staff-qa {
  padding: 0 10vw;
  margin-bottom: 120px;
}

.interview--staff-qa-title {
  position: relative;
  font-size: 1.75rem;
  font-weight: bold;
  margin-bottom: 20px;
  padding-left: 1.5em;
}
.interview--staff-qa-title::before {
  position: absolute;
  content: "";
  width: 1em;
  top: 0.8em;
  left: 0;
  border-top: 3px solid #8de600;
}

.interview--staff-qa-group {
  margin-bottom: 60px;
}

.interview--staff-qa-item {
  display: flex;
  margin-bottom: 30px;
  padding: 60px;
  background-color: #f2f2f2;
  border-radius: 20px;
}

.interview--staff-qa-question {
  width: 20vw;
  padding-right: 60px;
  border-right: 2px solid #fff;
  font-size: 1.125rem;
}

.interview--staff-qa-answer {
  flex: 1;
  padding-left: 60px;
}

.interview--staff-backtoindex {
  margin-bottom: 120px;
}

.interview--staff-backtoindex-button {
  position: relative;
  width: 20em;
  margin: auto;
  background-color: #8de600;
  color: #fff !important;
}
.interview--staff-backtoindex-button::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #fff !important;
}

@media all and (max-width: 959px) {
  .interview--contents-header-text {
    font-size: 2.25rem;
  }
  .interview--contents-header-text br {
    display: none;
  }
  .interview--contents-header-icon {
    display: none;
  }
  .interview--contents-group {
    flex-direction: column;
    margin: 0 auto;
  }
  .interview--contents-group-item {
    width: 100%;
  }
  .interview--contents-group-item-text {
    padding: 20px 0;
    margin-bottom: 60px;
  }
  .interview--link-button {
    width: 80%;
    margin: 30px auto 0 auto;
  }
  .interview--staff {
    margin-top: 0;
  }
  .interview--staff-profile {
    flex-direction: column-reverse;
    padding: 0 0 60px 0;
  }
  .interview--staff-profile::before {
    display: none;
  }
  .interview--staff-profile-text {
    padding: 0;
  }
  .interview--staff-profile-image {
    width: calc(100% - 10px);
    margin-right: -10vw;
    margin-left: 10px;
  }
  .interview--staff-profile-headling {
    width: 80vw;
    margin: 120px auto;
  }
  .interview--staff-profile-data {
    width: 80vw;
    margin: auto;
    padding: 30px 60px;
    border-radius: 40px;
    background-color: #f2f2f2;
  }
  .interview--staff-profile-data-title {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  .interview--staff-video-headling-title {
    font-size: 3rem;
  }
  .interview--staff-video-media {
    max-width: 100%;
  }
  .interview--staff-inner-link {
    width: 80vw;
    flex-wrap: wrap;
    margin: 0 auto 60px auto;
  }
  .interview--staff-inner-link-button {
    margin-bottom: 20px;
  }
  .interview--staff-qa-item {
    flex-direction: column;
  }
  .interview--staff-qa-question {
    width: 100%;
    padding-right: 0;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-right: none;
    border-bottom: 2px solid #fff;
  }
  .interview--staff-qa-answer {
    padding-left: 0;
  }
}
@media all and (max-width: 519px) {
  .interview--contents-header-text {
    font-size: 1.75rem;
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .interview--contents {
    padding-bottom: 180px;
  }
  .interview--staff-profile-headling::before, .interview--staff-profile-headling::after {
    font-size: 3.75rem;
  }
  .interview--staff-profile-headling {
    margin: 60px auto;
    font-size: 1.25rem;
  }
  .interview--staff-profile-data {
    padding: 20px 30px;
  }
  .interview--staff-profile-data-title {
    font-size: 1.25rem;
  }
  .interview--staff-profile-data-name {
    font-size: 1.5rem;
  }
  .interview--staff-profile-data-name-kana {
    display: block;
  }
  .interview--staff-video-headling {
    margin-bottom: 30px;
  }
  .interview--staff-video-headling-title {
    font-size: 1.75rem;
  }
  .interview--staff-video {
    margin-top: 0;
    margin-bottom: 60px;
  }
  .interview--staff-video-headling-icon-microphone {
    display: none;
  }
  .interview--staff-video-headling-icon-video {
    display: none;
  }
  .interview--staff-inner-link {
    width: 90vw;
  }
  .interview--staff-inner-link-button {
    width: calc(10em + 20px);
    padding: 10px;
    margin: 0 5px 10px 5px;
    font-size: 0.875rem;
  }
  .interview--staff-qa-title {
    font-size: 1.5rem;
  }
  .interview--staff-qa-item {
    padding: 30px;
  }
  .interview--staff-qa-question {
    font-size: 1rem;
  }
}
/*--------------------------------------------------------------
# アルバイト採用
--------------------------------------------------------------*/
.headling--page-parttime {
  background-image: url(../images/common/background-orange.jpg);
}

.parttime--contents-header {
  display: flex;
  align-items: center;
}

.parttime--contents-header-image {
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  overflow: hidden;
  margin-right: 30px;
}

.parttime--contents-header-text {
  max-width: 50vw;
  padding-left: 60px;
  padding-right: 10vw;
}

.parttime--contents-header-text-headling {
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 1em;
}

.parttime--goentry-button {
  width: 20em;
  background-color: #f39800;
  color: #fff !important;
  margin-top: 2em;
}
.parttime--goentry-button::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #fff !important;
}

.parttime--contents-obog {
  position: relative;
  margin-top: 120px;
  margin-bottom: -180px;
  padding: 60px 10vw 120px 10vw;
}
.parttime--contents-obog::before {
  z-index: -1;
  position: absolute;
  right: 0;
  top: 0;
  content: "";
  width: 80vw;
  height: 100%;
  border-top-left-radius: 40px;
  border-bottom-left-radius: 40px;
  background-color: #f2f2f2;
}

.parttime--contents-obog-icon {
  display: flex;
  width: 90px;
}

.parttime--contents-obog-inner {
  display: flex;
}

.parttime--contents-obog-header {
  width: 25vw;
  margin-right: 60px;
}

.parttime--contents-obog-header-headling {
  position: relative;
  font-size: 1.75rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 1em;
}
.parttime--contents-obog-header-headling::before {
  content: "\\";
  position: absolute;
  left: 0;
}
.parttime--contents-obog-header-headling::after {
  content: "/";
  position: absolute;
  right: 0;
}

.parttime--contents-obog-group {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 120px;
}

.parttime--contents-obog-group-item {
  width: 33.33%;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 50px;
}

.parttime--contents-obog-group-item-image {
  width: 150px;
  height: 150px;
  border-radius: 100%;
  overflow: hidden;
}

.parttime--contents-obog-group-item-name {
  display: inline-block;
  border-bottom: 2px dotted #f39800;
  margin-top: 10px;
  color: #313131 !important;
  font-size: 1.25rem;
}

.page--entry-parttime {
  background-image: url(../images/common/background-orange.jpg);
  color: #fff;
}
.page--entry-parttime .page--entry-h2-en {
  border-color: #fff;
}

.parttime--message-headling {
  padding: 0 10vw;
  font-size: 1.75rem;
  font-weight: bold;
}

.parttime--message-wrapper {
  margin-top: 60px;
  display: flex;
  padding-top: 60px;
  padding-bottom: 120px;
  padding: 0 10vw;
}

.parttime--message-profile-wrapper {
  width: 20vw;
  margin-right: 90px;
}

.parttime--message-profile {
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f2f2f2;
  border-top: 4px solid #f39800;
  border-radius: 10px;
  padding: 30px;
}

.parttime--message-profile-name {
  margin: 0.8em 0;
  font-size: 1.5rem;
  font-weight: bold;
}

.parttime--message-profile-comment {
  font-size: 0.875rem;
  color: #f39800;
  font-weight: bold;
}

.parttime--message-text {
  flex: 1;
}

.parttime--message-text-headling {
  font-size: 1.75rem;
  font-weight: bold;
  font-style: italic;
  padding-bottom: 1em;
  margin-bottom: 1em;
  border-bottom: 2px solid #f2f2f2;
  color: #808080;
}

.parttime--message-text-group {
  margin-bottom: 120px;
}

.parttime--message-text-item {
  margin-bottom: 2em;
}

.parttime--message-text-item-question {
  font-weight: bold;
  color: #f39800;
}

.parttime--message-backtoindex-button {
  margin-bottom: 120px;
  position: relative;
  width: 20em;
  background-color: #f39800;
  color: #fff !important;
}
.parttime--message-backtoindex-button::after {
  position: absolute;
  right: 1em;
  font-family: "Font Awesome 5 Free";
  content: "\f061";
  font-weight: 400;
  color: #fff !important;
}

@media all and (max-width: 959px) {
  .parttime--contents-header {
    flex-direction: column;
  }
  .parttime--contents-obog-inner {
    flex-direction: column;
  }
  .parttime--contents-header-text {
    max-width: none;
    margin-top: 30px;
  }
  .parttime--goentry-button {
    margin: 2em auto 0 auto;
  }
  .parttime--contents-obog-icon {
    display: none;
  }
  .parttime--contents-obog-header {
    width: 100%;
  }
  .parttime--contents-obog-header-headling::before {
    position: relative;
    display: inline-block;
    left: initial;
    margin-right: 1em;
  }
  .parttime--contents-obog-header-headling::after {
    position: relative;
    display: inline-block;
    right: initial;
    margin-left: 1em;
  }
  .parttime--contents-obog-header {
    margin-right: 0;
    margin-bottom: 60px;
  }
  .parttime--message-profile-wrapper {
    width: 70%;
    margin: 0 auto 60px auto;
  }
  .parttime--message-wrapper {
    flex-direction: column;
  }
  .parttime--message-backtoindex-button {
    margin: 0 auto 120px auto;
  }
}
@media all and (max-width: 519px) {
  .parttime--contents-header-image {
    margin-right: 10px;
  }
  .parttime--contents-header-text {
    padding: 0 10vw;
  }
  .parttime--goentry-button {
    width: 100%;
  }
  .parttime--contents-obog {
    margin-top: 60px;
  }
  .parttime--contents-obog-header-headling {
    font-size: 1.25rem;
  }
  .parttime--contents-obog-header-headling::before {
    margin-right: 0.5em;
  }
  .parttime--contents-obog-header-headling::after {
    margin-left: 0.5em;
  }
  .parttime--contents-obog-group-item-image {
    width: 80px;
    height: 80px;
  }
  .parttime--contents-obog-group-item-name {
    font-size: 0.875rem;
  }
  .parttime--message-headling {
    font-size: 1.5rem;
    text-align: center;
  }
  .parttime--message-wrapper {
    margin-top: 30px;
  }
  .parttime--message-profile-wrapper {
    width: 100%;
  }
  .parttime--message-profile-name {
    font-size: 1.25rem;
  }
  .parttime--message-text-headling {
    font-size: 1.25rem;
  }
  .parttime--message-backtoindex-button {
    width: 100%;
  }
}
/*--------------------------------------------------------------
# フォーム
--------------------------------------------------------------*/
.headling--page-entry {
  background-color: #f44336;
  color: #fff;
}

.entry--contents {
  padding: 0 10vw 120px 10vw;
}

.entry--contents-headling {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 60px;
}

.entry--contents-message {
  margin-bottom: 60px;
}

.entry--contents-button-wrapper {
  width: 30em;
  margin: 60px auto;
}

.entry--contents-kyubo {
  text-align: center;
  font-size: 1.5rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-shadow: 3px 3px 1px #ffff1a, -3px 3px 1px #ffff1a, 3px -3px 1px #ffff1a, -3px -3px 1px #ffff1a, 3px 0px 1px #ffff1a, 0px 3px 1px #ffff1a, -3px 0px 1px #ffff1a, 0px -3px 1px #ffff1a; /* 文字の影 */
}

.entry--contents-button {
  color: #f44336 !important;
}

.entry--contents-button-label {
  font-size: 2.25rem;
  font-weight: bold;
}

.entry--contents-button-text {
  line-height: 1.2;
  margin-bottom: 1em;
}
.entry--contents-button-text br {
  display: none;
}

.entry--description {
  padding: 0 10vw;
}

.entry--contents-table {
  margin-bottom: 120px;
  font-size: 0.875rem;
  border-collapse: collapse;
}
.entry--contents-table th,
.entry--contents-table td {
  border: 1px solid #cccccc;
  padding: 10px;
}
.entry--contents-table th {
  white-space: nowrap;
  background-color: #f2f2f2;
}

.entry--form {
  padding: 0 25vw;
}

.entry--form-error {
  color: #ff0000;
  margin-bottom: 2em;
}

.entry--form-table input[type=text],
.entry--form-table input[type=email],
.entry--form-table input[type=number],
.entry--form-table input[type=tel] {
  width: 50%;
}

.entry--form-table-raw {
  margin-bottom: 2em;
}

.entry--form-table-title {
  color: #808080;
  font-weight: bold;
  margin-bottom: 0.4em;
}

.entry--form-table-error {
  color: #ff0000;
}

.entry--form-table-submit {
  background-color: #f44336;
  color: #fff !important;
  width: 50%;
  margin: auto;
  outline: none;
  border: none;
  cursor: pointer;
  margin-bottom: 1em;
}

.entry--form-table-submit-back {
  background-color: #fff;
  border: 2px solid #f44336;
  color: #f44336 !important;
  width: 50%;
  margin: 0 auto 120px auto;
  cursor: pointer;
}

.entry--form-table-note {
  margin-top: 1em;
  font-size: 0.875rem;
  text-align: center;
  margin-bottom: 60px;
}

.entry--contents-internship {
  display: flex;
  align-items: center;
  margin-bottom: 60px;
}

.entry--contents-internship-text {
  margin-left: 60px;
}

.entry--graduates-link-internship {
  width: 800px;
  margin: 0 auto 60px auto;
  padding: 30px;
  border: 4px solid #e5e5e5;
  text-align: center;
}

.entry--graduates-link-internship-title {
  font-size: 1.25rem;
  font-weight: bold;
  margin-top: 1em;
  margin-bottom: 1em;
}

.entry--graduates-link-button {
  background-color: #fff;
  color: #f44336 !important;
  width: 80%;
  margin: 30px auto;
  cursor: pointer;
}

.entry--form-note {
  margin-bottom: 60px;
}

@media all and (max-width: 959px) {
  .entry--form {
    padding: 0 10vw;
  }
  .entry--form-table input[type=text],
  .entry--form-table input[type=email],
  .entry--form-table input[type=number],
  .entry--form-table input[type=tel] {
    width: 80%;
  }
}
@media all and (max-width: 519px) {
  .entry--contents-headling {
    font-size: 1.125rem;
    margin-bottom: 30px;
  }
  .entry--contents-button-wrapper {
    width: 90%;
  }
  .entry--contents-button-label {
    font-size: 1.5rem;
  }
  .entry--contents-button-text {
    font-size: 0.875rem;
  }
  .entry--contents-button-text br {
    display: initial;
  }
  .entry--form-table input[type=text],
  .entry--form-table input[type=email],
  .entry--form-table input[type=number],
  .entry--form-table input[type=tel] {
    width: 100%;
  }
  .entry--contents-table {
    border-top: 1px solid #cccccc;
  }
  .entry--contents-table tr {
    display: flex;
    flex-direction: column;
  }
  .entry--contents-table th,
  .entry--contents-table td {
    border-top: none;
  }
  .entry--form-table-submit {
    width: 100%;
  }
  .entry--form-table-submit-back {
    width: 100%;
  }
  .entry--graduates-link-internship {
    width: 100%;
    padding: 20px;
    text-align: initial;
  }
  .entry--graduates-link-internship br {
    display: none;
  }
  .entry--graduates-link-internship-title {
    text-align: center;
  }
  .entry--graduates-link-button {
    width: 100%;
  }
  .entry--contents-internship {
    flex-direction: column;
  }
  .entry--contents-internship-text {
    margin-top: 30px;
    margin-left: 0;
  }
}
@media all and (max-width: 959px) {
  .page--entry {
    max-width: 95vw;
    min-width: 95vw;
    padding-right: 30px;
  }
  .headling--page {
    margin-top: 90px;
    margin-bottom: 60px;
    padding: 40px 10vw;
  }
  .headling--page-h2 {
    font-size: 1.5rem;
    font-weight: bold;
  }
}
@media all and (max-width: 519px) {
  .page--entry {
    margin-bottom: 60px;
  }
  .headling--page {
    margin-top: 76px;
    margin-bottom: 30px;
    padding: 30px 10vw;
  }
  .page--entry-h2-en {
    font-size: 2.25rem;
  }
  .page--entry-h2-ja {
    font-size: 1.25rem;
  }
}
/* Media
--------------------------------------------- */
/*--------------------------------------------------------------
# 追加コンテンツ（2026）
#   旧 assets/css/addition.css を統合したもの
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# 共通：画像領域のプレースホルダ
#
# 写真は後から差し込む前提で、領域だけを確保するためのクラスです。
# 画像を入れるときは figure の中に既存ページと同じ <picture> を書けば
# 枠線とキャプションは自動的に消えます（:has(img)）。
# 併せて figure--reserved クラス自体も外してください。
--------------------------------------------------------------*/
.figure--reserved {
  position: relative;
  width: 100%;
  overflow: hidden;
  border: 2px dashed #cccccc;
  border-radius: 10px;
  background-color: #f2f2f2;
}

.figure--reserved::before {
  display: block;
  padding-top: 56.25%; /* 16:9 */
  content: "";
}

.figure--reserved::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  color: #999999;
  font-size: 0.875rem;
  line-height: 1.6;
  text-align: center;
  content: attr(data-note);
}

.figure--reserved-1x1::before {
  padding-top: 100%;
}

.figure--reserved-4x3::before {
  padding-top: 75%;
}

.figure--reserved-5x3::before {
  padding-top: 60%;
}

.figure--reserved-3x4::before {
  padding-top: 133.3333%;
}

.figure--reserved-21x9::before {
  padding-top: 42.8571%;
}

/* 画像が入ったらプレースホルダの装飾を自動解除 */
.figure--reserved:has(img) {
  border: 0;
  border-radius: 0;
  background-color: transparent;
}

.figure--reserved:has(img)::before,
.figure--reserved:has(img)::after {
  display: none;
  content: none;
}

.figure--reserved-caption {
  margin-top: 10px;
  color: #666666;
  font-size: 0.875rem;
  line-height: 1.6;
}

/*--------------------------------------------------------------
# 共通：ページ内アンカーリンク（work--inner-link のアクセント違い）
--------------------------------------------------------------*/
.anchor--links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 60px;
  padding: 0 10vw;
}

.anchor--links-button {
  position: relative;
  min-width: 12em;
  margin: 0 10px 10px 10px;
  padding-right: 2.5em;
  padding-left: 1.5em;
  border: 2px solid #e5e5e5;
  box-shadow: none;
  color: #313131 !important;
}

.anchor--links-button::after {
  position: absolute;
  right: 1em;
  color: #e8b400 !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f063";
}

.anchor--links-button:hover {
  border-color: #e8b400;
}

/*--------------------------------------------------------------
# 共通：改行の出し分け
#
#   <br class="br--pc">  … 960px以上でのみ改行
#   <br class="br--sp">  … 960px未満でのみ改行
--------------------------------------------------------------*/
.br--pc {
  display: none;
}

.br--sp {
  display: inline;
}

@media all and (min-width: 960px) {
  .br--pc {
    display: inline;
  }
  .br--sp {
    display: none;
  }
}
/*--------------------------------------------------------------
# 共通：見出し帯・リード・アクセント
--------------------------------------------------------------*/
/* 文字色は指定しない（他ページの見出し帯と同じく body の #313131 を継承） */
.headling--page-about {
  background-image: url(../images/common/background-yellow.jpg);
}

.page--entry-about {
  background-image: url(../images/common/background-yellow.jpg);
  color: #000000;
}

.page--entry-about .page--entry-h2-en {
  border-color: #000000;
}

.about--lead {
  padding: 0 10vw;
  margin-bottom: 60px;
}

/* 見出し帯との間隔を広めに取る（PC版はさらに広く） */
.about--lead-spaced {
  padding-top: 40px;
}

@media all and (min-width: 960px) {
  .about--lead-spaced {
    padding-top: 60px;
  }
}
.about--lead-headling {
  margin-bottom: 30px;
  color: #000000;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
}

/* 文字サイズを .interview--contents-header-text と揃える（3rem／2.25rem／1.75rem） */
.about--lead-headling.about--lead-headling-lg {
  font-size: 3rem;
}

.about--lead-text p {
  margin-bottom: 1.5em;
}

.about--lead-text p:last-child {
  margin-bottom: 0;
}

/* ブランドコピー「温かい。でも、なあなあではない。」の独立表示。
   文字サイズは .about--lead-headling と共通（2.25rem／1.75rem／1.5rem） */
.about--brandcopy {
  width: 80vw;
  margin: 90px auto 1.5em auto;
  padding: 30px;
  color: #000000;
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
}

/* ブランドコピー＋本文を1カラムにまとめ、PC版では画像と横並びにする */
.about--lead-media {
  display: flex;
  align-items: center;
  gap: 60px;
}

.about--lead-column {
  flex: 1;
}

/* 右側をウィンドウ右端まで伸ばす。
   width で 10vw ぶん広げ、同じだけ負マージンで戻すことで
   flex のレイアウト幅は変えずに見た目だけ画面端まで届かせている。
   !important は style.css の figure { margin: 0 !important } を上書きするため。 */
.about--lead-image {
  flex: none;
  overflow: hidden;
  width: calc(40% + 10vw);
  margin-right: -10vw !important;
  border-radius: 40px 0 0 40px; /* 画面端に接する側は角丸なし */
}

/* 文字サイズは .about--lead-headling と共通（2.25rem／1.75rem／1.5rem） */
.about--lead-column .about--brandcopy {
  width: auto;
  margin: 60px 0 30px 0;
  padding: 0;
  text-align: left;
}

.about--note {
  width: 80vw;
  margin: 20px auto 0 auto;
  color: #666666;
  font-size: 0.875rem;
  line-height: 1.8;
}

/*--------------------------------------------------------------
# TOP：卓球センター.JPで働く 5つの魅力
#
# 既存の「Interview」セクションと同じ左右レイアウト
# （.top--column-rtl ＝ 左：画像／右：テキスト）を使用します。
--------------------------------------------------------------*/
.top--h2-ja-reasons {
  color: #f44336;
}

/* 左カラムの画像面（top--column-image-interview と同じ考え方） */
.top--column-image-reasons {
  position: relative;
  align-items: center; /* テキスト側が高いため、画像は縦中央に置く */
  padding: 120px 0; /* 画像は画面左端に揃える */
}

.top--column-image-reasons::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 46vw;
  height: 100%;
  border-top-right-radius: 40px;
  border-bottom-right-radius: 40px;
  background-color: #f44336;
  background-image: url(../images/common/background-red.jpg);
  content: "";
}

.top--column-image-reasons figure {
  width: 44vw;
  border-radius: 0;
}

.top--reasons-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* 番号とタイトルを横並びにし、キャッチはタイトルの真下に揃える */
.top--reasons-item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 15px;
  align-items: baseline;
  margin-bottom: 40px;
}

.top--reasons-item:last-child {
  margin-bottom: 0;
}

.top--reasons-item-number {
  grid-column: 1;
  grid-row: 1;
  color: #f44336;
  font-size: 2.25rem;
  font-style: italic;
  font-weight: bold;
  line-height: 1.1;
}

.top--reasons-item-title {
  grid-column: 2;
  grid-row: 1;
  margin-bottom: 5px;
  font-size: 1.75rem;
  font-weight: bold;
  line-height: 1.3;
}

.top--reasons-item-catch {
  grid-column: 2;
  grid-row: 2;
  color: #4d4d4d;
}

/* PC版のみ：テキストカラムの幅と下余白（style.css の .top--column-text を上書き） */
@media all and (min-width: 960px) {
  .top--column-text {
    max-width: 50vw;
    padding-bottom: 180px;
  }
}
.top--reasons-button {
  position: relative;
  width: 100%;
  max-width: 24em;
  margin-top: 50px;
  background-color: #f44336;
  color: #ffffff !important;
}

.top--reasons-button::after {
  position: absolute;
  right: 1em;
  color: #ffffff !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f061";
}

/*--------------------------------------------------------------
# 5つの魅力ページ
--------------------------------------------------------------*/
.reasons--contents {
  position: relative;
  /* 画像が上に 100px はみ出すため、セクション間を広めに取る。
     隣接セクションのマージンは相殺されるので、上マージン側で間隔を決めている。 */
  margin-top: 240px;
  margin-bottom: 120px;
  padding: 60px 10vw;
}

/* 最初の1つは見出し帯に続くため、上マージンを半分にする */
.reasons--contents:first-of-type {
  margin-top: 120px;
}

/* 既存ページと同じ「片側だけ角丸のグレー面」。
   本文（左右 10vw padding）が必ず面の内側に収まるよう 92vw で確保しています。 */
.reasons--contents::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 92vw;
  height: 100%;
  border-radius: 0 40px 40px 0;
  background-color: #f2f2f2;
  content: "";
}

.reasons--contents-rtl::before {
  right: 0;
  left: auto;
  border-radius: 40px 0 0 40px;
}

.reasons--contents-inner {
  display: flex;
  align-items: flex-start;
  gap: 60px;
}

.reasons--contents-rtl .reasons--contents-inner {
  flex-direction: row-reverse;
}

.reasons--contents-image {
  flex: none;
  overflow: hidden;
  width: 36%;
}

/* PC版のみの配置
   - 画像はセクションの左右 padding（10vw）を打ち消して画面端まで寄せる
   - 画像の上端を「Reason 01」より 100px 高い位置に置く
   - 枠線は本文（reasons--contents-body）の始まりあたりから出す */
@media all and (min-width: 960px) {
  /* !important は style.css の figure { margin: 0 !important } を上書きするため */
  .reasons--contents .reasons--contents-image {
    width: 38vw;
    margin: -100px 0 0 -10vw !important;
    border-radius: 0 40px 40px 0; /* 画面端に接する側は角丸なし */
  }
  .reasons--contents-rtl .reasons--contents-image {
    margin: -100px -10vw 0 0 !important;
    border-radius: 40px 0 0 40px;
  }
  .reasons--contents::before {
    top: 230px;
    height: calc(100% - 230px);
  }
}
.reasons--contents-text {
  flex: 1;
}

.reasons--contents-number {
  margin-bottom: 10px;
  color: #f44336;
  font-size: 1.5rem;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.1;
}

.reasons--contents-title {
  margin-bottom: 20px;
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 1.3;
}

.reasons--contents-catch {
  margin-bottom: 30px;
  color: #000000;
  font-size: 1.25rem;
  font-weight: bold;
}

@media all and (min-width: 960px) {
  .reasons--contents-catch {
    margin-bottom: 60px;
  }
}
.reasons--contents-body p {
  margin-bottom: 1.5em;
}

.reasons--contents-body p:last-child {
  margin-bottom: 0;
}

.reasons--keywords {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 30px 0 0 0;
  padding: 0;
  list-style: none;
}

.reasons--keywords-label {
  color: #999999;
  font-size: 0.875rem;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.1em;
}

.reasons--keywords li {
  padding: 2px 10px;
  border: 2px solid #f44336;
  border-radius: 9999px;
  background-color: #ffffff;
  font-size: 0.75rem;
  font-weight: bold;
}

/* 「KEYWORDS」は見出しなので、チップの囲みは付けない */
.reasons--keywords .reasons--keywords-label {
  padding: 0;
  border: 0;
  border-radius: 0;
  background-color: transparent;
}

/*--------------------------------------------------------------
# 仕事紹介：卓球コーチ・店舗スタッフのある1日
#
# 仕事紹介ページ内に置くセクションのため、アクセントは
# 既存の仕事紹介カラー（#2ab0d8）に合わせています。
--------------------------------------------------------------*/
.oneday--wrapper {
  width: 80vw;
  margin: 60px auto;
}

.oneday--timeline {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

.oneday--timeline::before {
  position: absolute;
  top: 0.9em;
  bottom: 0.9em;
  left: 4.5em;
  width: 2px;
  background-color: #2ab0d8;
  content: "";
}

.oneday--timeline-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding-bottom: 40px;
}

.oneday--timeline-item:last-child {
  padding-bottom: 0;
}

.oneday--timeline-item::before {
  position: absolute;
  top: 0.55em;
  left: calc(4.5em - 7px);
  width: 16px;
  height: 16px;
  border: 3px solid #2ab0d8;
  border-radius: 50%;
  background-color: #ffffff;
  content: "";
}

.oneday--timeline-time {
  flex: none;
  width: 4.5em;
  color: #2ab0d8;
  font-size: 1.25rem;
  font-style: italic;
  font-weight: bold;
  line-height: 1.6;
}

.oneday--timeline-body {
  padding-left: 2.5em;
}

.oneday--timeline-title {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
}

.oneday--timeline-comment {
  color: #4d4d4d;
  font-size: 0.875rem;
  line-height: 1.8;
}

/* スケジュール下に横並びで配置（角丸なし） */
/* 3列グリッドに写真は2枚。3列目は既存ページと同じく、
   縦組みメッセージ（work--message-text）の表示領域として空けています。 */
.oneday--photos {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 80vw;
  margin: 0 auto 60px auto;
}

.oneday--photos figure {
  border-radius: 0;
}

/*--------------------------------------------------------------
# 数字で見る卓球センター
--------------------------------------------------------------*/
.numbers--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 70px;
  width: 80vw;
  margin: 120px auto 0 auto;
  padding: 0;
  list-style: none;
}

.numbers--item {
  width: 25%;
  padding: 0 15px;
  text-align: center;
}

.numbers--item-icon {
  margin-bottom: 15px;
  color: #e8b400;
  font-size: 2.25rem;
  line-height: 1;
}

.numbers--item-label-en {
  color: #e8b400;
  font-size: 0.875rem;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.4;
}

.numbers--item-label-ja {
  margin-bottom: 10px;
  font-size: 1rem;
  font-weight: bold;
  line-height: 1.4;
}

.numbers--item-value {
  color: #313131;
  font-size: 5rem;
  font-weight: bold;
  line-height: 1.1;
  white-space: nowrap;
}

.numbers--item-unit {
  margin-left: 0.05em;
  font-size: 1.75rem;
  font-weight: bold;
}

/* 男女比のみ1行に収めるため小さめの組み。
   他項目の数字1行分（font-size × line-height）と同じ高さを確保し、上下中央に置く。
   ブレークポイント側の .numbers--item-value より後に書かれても効くよう、
   クラスを2つ重ねて詳細度を上げています。 */
.numbers--item-value.numbers--item-value-sm {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5.5rem; /* 5rem × 1.1 */
  font-size: 1.25rem;
  line-height: 1.3;
  white-space: normal;
}

.numbers--item-figure {
  font-size: 3rem;
}

.numbers--outro {
  width: 80vw;
  margin: 90px auto 120px auto;
}

/*--------------------------------------------------------------
# 働く環境・福利厚生
--------------------------------------------------------------*/
.workplace--section {
  position: relative;
  margin-bottom: 120px;
  padding: 0 10vw;
}

.workplace--section-header {
  margin-bottom: 30px;
}

/* 文字サイズは .about--brandcopy と共通（3rem／1.75rem／1.5rem） */
.workplace--section-number {
  color: #13b5b1;
  font-size: 3rem;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.1em;
  line-height: 1.1;
}

.workplace--section-title {
  margin-bottom: 10px;
  font-size: 2.25rem;
  font-weight: bold;
  line-height: 1.6;
}

.workplace--section-sub {
  color: #13b5b1;
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.6;
}

/* 本文まわりは interview--staff-qa-item と同じ角丸＋グレー面。
   画像もこの面の中に入れ、PC版は本文の右側に並べる。 */
.workplace--section-text {
  padding: 60px;
  border-radius: 20px;
  background-color: #f2f2f2;
}

.workplace--section-body p {
  margin-bottom: 0.75em;
}

.workplace--section-body p:last-child {
  margin-bottom: 0;
}

/* 制度の項目は個別の装飾を持たせず、リスト全体を白面で囲う。
   PC版は「／」区切りで中央揃え。 */
.workplace--cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  row-gap: 8px;
  margin: 30px 0 0 0;
  padding: 30px 40px;
  border-radius: 20px;
  background-color: #ffffff;
  color: #13b5b1;
  list-style: none;
}

.workplace--cards-item {
  font-weight: bold;
  line-height: 1.8;
}

.workplace--cards-item:not(:last-child)::after {
  margin: 0 1em;
  content: "／";
}

.workplace--skills {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin: 30px 0 0 0;
  padding: 0;
  list-style: none;
}

.workplace--skills-item {
  padding: 20px 24px;
  border-radius: 10px;
  background-color: #ffffff;
}

/* 本文中のテキストリンクをボタン化。
   interview--link-button と同じデザイン（白背景＋影＋右矢印）で、文字色のみキーカラー。
   角丸・影・パディング・文字サイズは .link--button から継承させる。 */
.workplace--textlink {
  position: relative;
  width: 20em;
  max-width: 100%;
  margin-top: 40px;
  background-color: #ffffff;
  color: #13b5b1 !important;
}

.workplace--textlink::after {
  position: absolute;
  right: 1em;
  color: #13b5b1 !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f061";
}

.workplace--skills-item-title {
  margin-bottom: 5px;
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.4;
}

.workplace--skills-item-text {
  font-size: 0.875rem;
  line-height: 1.8;
}

.workplace--annotation {
  margin-top: 20px;
  color: #666666;
  font-size: 0.875rem;
  line-height: 1.8;
}

/* クロージング */
.workplace--closing {
  width: 80vw;
  margin: 0 auto 90px auto;
}

@media all and (min-width: 960px) {
  .workplace--closing {
    text-align: center;
  }
}
.workplace--closing-headling {
  margin-bottom: 30px;
  color: #000000;
  font-size: 3rem;
  font-weight: 900;
  line-height: 1.3;
}

.workplace--closing p {
  margin-bottom: 1.5em;
}

.workplace--closing p:last-child {
  margin-bottom: 0;
}

.workplace--cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
  width: 80vw;
  margin: 0 auto 90px auto;
}

.workplace--cta-button {
  position: relative;
  width: 20em;
  max-width: 100%;
  background-color: #13b5b1;
  color: #ffffff !important;
}

.workplace--cta-button::after {
  position: absolute;
  right: 1em;
  color: #ffffff !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 400;
  content: "\f061";
}

.workplace--cta-button-sub {
  border: 2px solid #13b5b1;
  background-color: #ffffff;
  box-shadow: none;
}

/*--------------------------------------------------------------
# グローバルナビ：項目増加に伴う高さ調整
--------------------------------------------------------------*/
.gnav--menu-item {
  margin: 22px 0;
}

.gnav--menu-item a {
  padding: 22px 0;
  font-size: 1.5em;
}

/*--------------------------------------------------------------
# タブレット
--------------------------------------------------------------*/
@media all and (max-width: 959px) {
  .about--lead-headling {
    font-size: 1.75rem;
  }
  .about--lead-headling.about--lead-headling-lg {
    font-size: 2.25rem;
  }
  .about--brandcopy {
    width: auto;
    margin: 60px 10vw 1.5em 10vw;
    padding: 40px 20px;
    font-size: 1.75rem;
  }
  .about--note {
    width: auto;
    padding: 0 10vw;
  }
  .anchor--links {
    padding: 0 5vw;
  }
  .anchor--links-button {
    min-width: 10em;
    margin: 0 5px 10px 5px;
  }
  /* TOP：5つの魅力 */
  .top--column-image-reasons {
    padding: 0;
  }
  .top--column-image-reasons::before {
    display: none;
  }
  .top--column-image-reasons figure {
    width: 100%;
  }
  .top--reasons-list {
    text-align: left;
  }
  .top--reasons-item {
    margin-bottom: 30px;
  }
  .top--reasons-item-title {
    font-size: 1.25rem;
  }
  .top--reasons-button {
    width: 80%;
    max-width: none;
    margin: 40px auto 60px auto;
  }
  /* 5つの魅力ページ */
  .reasons--contents {
    margin-top: 120px;
    margin-bottom: 60px;
    padding: 40px 10vw;
  }
  .reasons--contents:first-of-type {
    margin-top: 60px;
  }
  /* 画面幅いっぱいに広げ、上側の外向きの角のみ丸める
     （奇数番＝画像が左のセクションは右上、偶数番＝-rtl は左上） */
  .reasons--contents::before {
    width: 100%;
    border-radius: 0 40px 0 0;
  }
  .reasons--contents-rtl::before {
    border-radius: 40px 0 0 0;
  }
  .reasons--contents-inner,
  .reasons--contents-rtl .reasons--contents-inner {
    flex-direction: column;
    gap: 30px;
  }
  .reasons--contents-image {
    width: 100%;
  }
  .reasons--contents-title {
    font-size: 1.75rem;
  }
  .reasons--contents-catch {
    font-size: 1.125rem;
  }
  /* ある1日 */
  .oneday--wrapper {
    width: auto;
    margin: 30px 10vw;
  }
  /* この幅では縦組みメッセージが通常の横組みになるため、3列目を空ける必要がない */
  .oneday--photos {
    grid-template-columns: repeat(2, 1fr);
    width: auto;
    margin: 0 10vw 60px 10vw;
  }
  /* 数字で見る */
  .numbers--list {
    row-gap: 50px;
    width: auto;
    margin-top: 30px;
    padding: 0 10vw;
  }
  .numbers--item {
    width: 50%;
  }
  .numbers--item-value {
    font-size: 4rem;
  }
  .numbers--item-value.numbers--item-value-sm {
    min-height: 4.4rem; /* 4rem × 1.1 */
  }
  .numbers--outro {
    width: auto;
    margin: 60px 10vw 90px 10vw;
  }
  /* 働く環境・福利厚生 */
  .workplace--section {
    margin-bottom: 60px;
  }
  .workplace--section-title {
    font-size: 1.75rem;
  }
  .workplace--section-number {
    font-size: 1.75rem;
  }
  .workplace--section-sub {
    font-size: 1.125rem;
  }
  /* 画像は本文の下へ */
  .workplace--section-text {
    padding: 30px 24px;
  }
  /* 制度の項目は1行ずつ。行間は本文より詰める */
  .workplace--cards {
    display: block;
    padding: 24px;
  }
  .workplace--cards-item:not(:last-child)::after {
    content: none;
  }
  /* リード：ブランドコピー＋本文と画像を縦積みにし、画像は画面幅いっぱいに */
  .about--lead-media {
    flex-direction: column;
    align-items: stretch;
    gap: 30px;
  }
  .about--lead-image {
    width: auto;
    margin: 0 -10vw !important;
    border-radius: 0;
  }
  .workplace--skills {
    grid-template-columns: 1fr;
  }
  .workplace--closing,
  .workplace--cta {
    width: auto;
    padding: 0 10vw;
  }
  .workplace--closing-headling {
    font-size: 2.25rem;
  }
  .workplace--cta-button {
    width: 100%;
  }
  .gnav--menu-item {
    margin: 18px 0;
  }
  .gnav--menu-item a {
    padding: 18px 0;
  }
}
/*--------------------------------------------------------------
# スマートフォン
--------------------------------------------------------------*/
@media all and (max-width: 519px) {
  .about--lead-headling {
    font-size: 1.5rem;
  }
  .about--lead-headling.about--lead-headling-lg {
    font-size: 1.75rem;
  }
  .about--brandcopy {
    font-size: 1.5rem;
  }
  .anchor--links-button {
    min-width: 8em;
    padding: 10px 2.2em 10px 1em;
    font-size: 0.875rem;
  }
  .anchor--links-button::after {
    right: 0.8em;
  }
  /* TOP：5つの魅力 */
  .top--reasons-item-number {
    font-size: 1.75rem;
  }
  .top--reasons-item-title {
    font-size: 1.125rem;
  }
  .top--reasons-button {
    width: 100%;
  }
  /* 5つの魅力ページ */
  .reasons--contents-title {
    font-size: 1.5rem;
  }
  /* ある1日 */
  .oneday--timeline::before {
    left: 3.6em;
  }
  .oneday--timeline-item::before {
    left: calc(3.6em - 7px);
  }
  .oneday--timeline-time {
    width: 3.6em;
    font-size: 1rem;
  }
  .oneday--timeline-body {
    padding-left: 1.8em;
  }
  .oneday--timeline-title {
    font-size: 1rem;
  }
  .oneday--photos {
    grid-template-columns: 1fr;
  }
  /* 数字で見る */
  .numbers--list {
    margin-top: 60px;
  }
  .numbers--item {
    width: 100%;
    padding: 0;
  }
  .numbers--item-value {
    font-size: 4.5rem;
  }
  .numbers--item-value.numbers--item-value-sm {
    min-height: 4.95rem; /* 4.5rem × 1.1 */
  }
  /* 働く環境・福利厚生 */
  .workplace--section-title {
    font-size: 1.5rem;
  }
  .workplace--section-number {
    font-size: 1.5rem;
  }
  .workplace--textlink {
    width: 100%;
  }
  .workplace--closing-headling {
    font-size: 1.75rem;
  }
  .gnav--menu-item {
    margin: 12px 0;
  }
  .gnav--menu-item a {
    padding: 12px 0;
    font-size: 1.125rem;
  }
}
