@charset "UTF-8";
/** -------------------------------- **
	@mixin
*** ----------------------------------------------------------------- ***/
:root {
  --breakpoint-md: 768px;
  --breakpoint-lg: 900px;
  /* フォント指定 */
  /*---------------------------------------------------*/
  --font-default: "Zen Maru Gothic", sans-serif;
  /* ヘッダーの高さ指定 */
  /*---------------------------------------------------*/
  --header-height: 64px;
  /* 色指定 */
  /*---------------------------------------------------*/
  --color-textbase: #333;
  --color-link: #004B9E;
  --color-hover-link: #004B9E;
  --color-line: #333;
  --color-bg: #FFF;
  --shadow-default: 0 3px 6px rgba(0, 0, 0, 0.16);
  --easing-cubic1: cubic-bezier(0, 0, 0, 1);
}
/*
  Made by Elly Loel - https://ellyloel.com/
  With inspiration from:
    - Josh W Comeau - https://courses.joshwcomeau.com/css-for-js/treasure-trove/010-global-styles/
    - Andy Bell - https://piccalil.li/blog/a-modern-css-reset/
    - Adam Argyle - https://unpkg.com/open-props@1.3.16/normalize.min.css / https://codepen.io/argyleink/pen/KKvRORE

  Notes:
    - `:where()` is used to lower specificity for easy overriding.
*/
* {
  /* Remove default margin on everything */
  margin: 0;
  /* Remove default padding on everything */
  padding: 0;
  /* Calc `em` based line height, bigger line height for smaller font size and smaller line height for bigger font size: https://kittygiraudel.com/2020/05/18/using-calc-to-figure-out-optimal-line-height/ */
  line-height: calc(0.25rem + 1em + 0.25rem);
}

/* Use a more-intuitive box-sizing model on everything */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove border and set sensible defaults for backgrounds, on all elements except fieldset progress and meter */
*:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-repeat: no-repeat;
  background-origin: border-box;
}

html {
  /* Allow percentage-based heights in the application */
  block-size: 100%;
  /* Making sure text size is only controlled by font-size */
  -webkit-text-size-adjust: none;
}

/* Smooth scrolling for users that don't prefer reduced motion */
body {
  /* Allow percentage-based heights in the application */
  min-block-size: 100%;
  /* https://marco.org/2012/11/15/text-rendering-optimize-legibility */
  text-rendering: optimizespeed;
  /* https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-gutter#example_2 */
  /* scrollbar-gutter: stable both-edges; Removed until this bug is fixed: https://bugs.chromium.org/p/chromium/issues/detail?id=1318404#c2 */
}

/* Improve media defaults */
:where(img, svg, video, canvas, audio, iframe, embed, object, hgroup) {
  display: block;
}

:where(img, svg, video) {
  max-inline-size: 100%;
  block-size: auto;
}

/* Remove stroke and set fill colour to the inherited font colour */
:where(svg) {
  fill: currentcolor;
  stroke: none;
}

/* SVG's without a fill attribute */
:where(svg):where(:not([fill])) {
  fill: none;
  /* Remove fill and set stroke colour to the inherited font colour */
  stroke: currentcolor;
  /* Rounded stroke */
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Set a size for SVG's without a width attribute */
:where(svg):where(:not([width])) {
  inline-size: 5rem;
}

/* Remove built-in form typography styles */
:where(input, button, textarea, select),
:where(input[type=file])::-webkit-file-upload-button {
  color: inherit;
  font: inherit;
  font-size: inherit;
  letter-spacing: inherit;
  word-spacing: inherit;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

/* Change textarea resize to vertical only and block only if the browser supports that */
:where(textarea) {
  resize: vertical;
}

@supports (resize: block) {
  :where(textarea) {
    resize: block;
  }
}
/* Avoid text overflows */
:where(p, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: break-word;
}

/* Fix h1 font size inside article, aside, nav, and section */
h1 {
  font-size: 2em;
}

/* Position list marker inside */
:where(ul, ol) {
  list-style-position: inside;
  list-style-type: "";
}

/* More readable underline style for anchor tags without a class. This could be set on anchor tags globally, but it can cause conflicts. */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

/* Make it clear that interactive elements are interactive */
:where(a[href], area, button, input, label[for], select, summary, textarea, [tabindex]:not([tabindex*="-"])) {
  -ms-touch-action: manipulation;
  cursor: pointer;
      touch-action: manipulation;
}

:where(input[type=file]) {
  cursor: auto;
}

:where(input[type=file])::-webkit-file-upload-button {
  cursor: pointer;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
}

/* Animate focus outline */
:where(:not(:active)):focus-visible {
  outline-offset: 5px;
}

/* Make sure users can't select button text */
:where(input[type=file])::-webkit-file-upload-button {
  text-align: center;
  -webkit-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}
:where(button, button[type], input[type=button], input[type=submit], input[type=reset]),
:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  text-align: center;
  -webkit-user-select: none;
          user-select: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-touch-callout: none;
}

/* Disabled cursor for disabled buttons */
:where(button, button[type], input[type=button], input[type=submit], input[type=reset])[disabled] {
  cursor: not-allowed;
}

/* 共通 */
/*---------------------------------------------------*/
html {
  font-weight: 500;
  font-size: 18px;
  font-family: var(--font-default);
  overflow-wrap: anywhere;
  scroll-padding-top: 100px;
}

body {
  color: var(--color-txtbase);
  -webkit-font-feature-settings: "palt" 1;
          font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: antialiased;
  position: relative;
  background-color: var(--color-bg);
  line-height: 1.7777777778;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 2;
}

/* a link
--------------------------------------------- */
a {
  -webkit-transition: color 0.3s ease-out;
  color: var(--color-link);
  text-decoration: none;
  transition: color 0.3s ease-out;
}
a:hover {
  color: var(--color-hover-link);
  text-decoration: none;
}

/* リンクを無効にする */
.disabled-link {
  color: #333;
  opacity: 0.5;
  pointer-events: none;
}
.disabled-link:hover {
  color: #333;
}

.tel-link {
  color: var(--color-black);
  text-decoration: none;
  pointer-events: none;
}

/** ------ ヘッダー ※サイドメニュー ------ **/
/*サイドメニュー外側*/
.side-menu-out {
  width: 100%;
  max-width: 370px;
  height: 100%;
  max-height: 800px;
}

/*サイドメニュー内側*/
.side-menu-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 70px;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 370px;
  height: calc(100% - 50px);
  max-height: 820px;
  padding: 50px 30px 20px;
  gap: 50px;
  border-radius: 10px;
  background-color: #FFF;
}

.side-menu-in-firstbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.side-menu-in-secondbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-right: -10px;
  padding-right: 10px;
  overflow-y: auto;
}
.side-menu-in-secondbox::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: #FFF;
}
.side-menu-in-secondbox::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background-color: #004B9E;
}

.side-menu-lisst-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.side-menu-lisst-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  border-bottom: 1px solid #CECECE;
}

.side-menu-lisst-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 10px;
  color: #262626;
}
.side-menu-lisst-link:hover {
  color: #004B9E;
}

.openbtn1 {
  position: relative;
  width: 56px;
  height: 70%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn1::before {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  width: 16px;
  margin: auto;
  border: 1px solid #333;
  content: "";
}
.openbtn1::after {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  border: 1px solid #333;
  content: "";
  -webkit-transform: rotate(90deg);
  width: 16px;
  margin: auto;
          transform: rotate(90deg);
}

.side-menu-button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 70px;
  gap: 10px;
}

.side-menu-button-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-shadow: 0px 1px 1px 1px #333;
  border-radius: 5px;
          box-shadow: 0px 1px 1px 1px #333;
  -webkit-transition: 0.3s;
  width: 50%;
  height: 100%;
  background-color: #004B9E;
  transition: 0.3s;
}
.side-menu-button-01:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.side-menu-button-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  -webkit-box-shadow: 0px 1px 1px 1px #333;
  border-radius: 5px;
          box-shadow: 0px 1px 1px 1px #333;
  -webkit-transition: 0.3s;
  width: 50%;
  height: 100%;
  background-color: #333;
  transition: 0.3s;
}
.side-menu-button-02:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.side-menu-button-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #FFF;
  line-height: 1.5;
}
.side-menu-button-link:hover {
  color: #FFF;
}

.side-menu-company-tour-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #004B9E;
  border-radius: 5px;
  background-color: #F6FF8B;
  -webkit-box-shadow: 0px 1px 1px 0px #333;
          box-shadow: 0px 1px 1px 0px #333;
  -webkit-transition: 0.3s;
  width: 100%;
  min-height: 70px;
  margin-top: 20px;
  transition: 0.3s;
}
.side-menu-company-tour-button:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.side-menu-company-tour-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #004B9E;
}

.side-menu-in-footer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 220px;
  margin: 20px auto 0;
  gap: 10px;
}

/* ------ openbtn1 ------ */
.openbtn1_in-box {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease, visibility 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 70px;
  transition: opacity 0.5s ease, visibility 0s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 370px;
  height: 100%;
  max-height: 820px;
  padding: 6px 1px;
  gap: 50px;
  border: 2px solid #004B9E;
  border-radius: 10px;
  background-color: #FFF;
}
.openbtn1_in-box[aria-expanded=true] {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, visibility 0s 0.5s;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.openbtn1_in-box-list {
  width: 100%;
  height: calc(100% - 50px);
  padding: 10px 20px;
  overflow-y: auto;
}
.openbtn1_in-box-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: #FFF;
}
.openbtn1_in-box-list::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background-color: #004B9E;
}

.openbtn1_in-box-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 20px 15px;
  border-bottom: 1px solid #CECECE;
}
.openbtn1_in-box-list-item:nth-child(1) {
  height: auto;
}
.openbtn1_in-box-list-item:last-child {
  border-bottom: none;
}

.openbtn1_in-box-title {
  font-size: 20px;
}

.openbtn1_in-box-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 90%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn1_in-box-close::before {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(45deg);
  width: 50%;
  margin: auto;
          transform: rotate(45deg);
}
.openbtn1_in-box-close::after {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(135deg);
  width: 50%;
  margin: auto;
          transform: rotate(135deg);
}

/* ------ openbtn1-2 ------ */
.openbtn1-2 {
  position: relative;
  width: 56px;
  height: 70%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn1-2::before {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  width: 16px;
  margin: auto;
  border: 1px solid #333;
  content: "";
}
.openbtn1-2::after {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  border: 1px solid #333;
  content: "";
  -webkit-transform: rotate(90deg);
  width: 16px;
  margin: auto;
          transform: rotate(90deg);
}

.openbtn1-2_in-box {
  visibility: visible;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease, visibility 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 70px;
  transition: opacity 0.5s ease, visibility 0s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  max-width: 370px;
  height: 100%;
  max-height: 820px;
  padding: 6px 1px;
  gap: 50px;
  border: 2px solid #004B9E;
  border-radius: 10px;
  background-color: #FFF;
}
.openbtn1-2_in-box[aria-expanded=true] {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, visibility 0s 0.5s;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.openbtn1-2_in-box-list {
  width: 100%;
  height: calc(100% - 50px);
  padding: 10px 20px;
  overflow-y: auto;
}
.openbtn1-2_in-box-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: #FFF;
}
.openbtn1-2_in-box-list::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background-color: #004B9E;
}

.openbtn1-2_in-box-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 20px 15px;
  border-bottom: 1px solid #CECECE;
}
.openbtn1-2_in-box-list-item:nth-child(1) {
  height: auto;
}
.openbtn1-2_in-box-list-item:last-child {
  border-bottom: none;
}

.openbtn1-2_in-box-title {
  font-size: 20px;
}

.openbtn1-2_in-box-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 90%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn1-2_in-box-close::before {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(45deg);
  width: 50%;
  margin: auto;
          transform: rotate(45deg);
}
.openbtn1-2_in-box-close::after {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(135deg);
  width: 50%;
  margin: auto;
          transform: rotate(135deg);
}

.job-type-list-title {
  font-size: 18px;
}

.job-type-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 20px;
  gap: 15px;
}

.job-type-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

.job-type-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  color: #262626;
  font-weight: 700;
  font-size: 15px;
}
.job-type-list-link:hover {
  color: #004B9E;
}

.header-copyright {
  font-weight: 700;
  font-size: 13px;
}

/** ------ ヘッダーロゴ＆ハンバーガーメニュー ------ **/
.common-body-header {
  display: none;
}

.bg-header {
  z-index: 1000;
  background-color: hsla(0, 0%, 100%, 0.9);
}

.common-body-header-logo {
  z-index: 99;
  position: fixed;
  top: 5px;
  left: 20px;
  width: 150px;
}

/*ボタン外側*/
.openbtn2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 200;
  position: fixed;
  top: 5px;
  right: 10px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 5px;
  background-color: transparent;
  cursor: pointer;
}
.openbtn2::after {
  position: absolute;
  bottom: -15px;
  width: 100%;
  content: "MENU";
  color: #004B9E;
  font-size: 15px;
  text-align: center;
}
.openbtn2[aria-expanded=true]::after {
  content: "CLOSE";
  color: #004B9E;
}
.openbtn2[aria-expanded=true] .openbtn-area {
  -webkit-transform: rotateY(-360deg);
          transform: rotateY(-360deg);
  background-color: hsla(0, 0%, 100%, 0.9);
}
.openbtn2[aria-expanded=true] span:nth-of-type(1) {
  top: 18px;
  -webkit-transform: translateY(6px) rotate(-135deg);
  width: 50%;
          transform: translateY(6px) rotate(-135deg);
}
.openbtn2[aria-expanded=true] span:nth-of-type(2) {
  opacity: 0;
}
.openbtn2[aria-expanded=true] span:nth-of-type(3) {
  top: 30px;
  -webkit-transform: translateY(-6px) rotate(135deg);
  width: 50%;
          transform: translateY(-6px) rotate(135deg);
}

/* ボタン内側 */
.openbtn-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: all 0.6s;
  width: 100%;
  height: 100%;
  transition: all 0.6s;
}
.openbtn-area span {
  display: inline-block;
  -webkit-transition: all 0.6s;
  position: absolute;
  width: 50%;
  height: 3px;
  background-color: #004B9E;
  transition: all 0.6s;
}
.openbtn-area span:nth-of-type(1) {
  top: 15px;
}
.openbtn-area span:nth-of-type(2) {
  top: 23px;
}
.openbtn-area span:nth-of-type(3) {
  top: 31px;
}

/*activeクラスが付与されると
ハンバーガーメニュー内のメニューが開く*/
.nav-menu {
  display: none;
}
.nav-menu[aria-expanded=true] {
  display: block;
  z-index: 100;
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #FFF;
}

.hamburger-menu-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 100px 30px 20px;
  gap: 50px;
  background-color: #FFF;
}
.hamburger-menu-in[aria-expanded=true] {
  display: none;
}
.hamburger-menu-in:hover {
  overflow-y: auto;
}
.hamburger-menu-in:hover::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: #FFF;
}
.hamburger-menu-in:hover::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background-color: #004B9E;
}

.hamburger-menu-in-firstbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 30px;
}

.hamburger-menu-lisst-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 50px;
}

.hamburger-menu-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 50px;
  border-top: 1px solid #CECECE;
}
.hamburger-menu-item:nth-child(1) {
  position: relative;
  border-top: none;
}

.hamburger-menu-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  padding: 0 10px;
  color: #333;
}
.hamburger-menu-link:hover {
  color: #004B9E;
}

.openbtn3 {
  position: relative;
  width: 56px;
  height: 70%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn3::before {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  width: 16px;
  margin: auto;
  border: 1px solid #333;
  content: "";
}
.openbtn3::after {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  border: 1px solid #333;
  content: "";
  -webkit-transform: rotate(90deg);
  width: 16px;
  margin: auto;
          transform: rotate(90deg);
}

.hamburger-menu-button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 80px;
  gap: 10px;
}

.hamburger-menu-button-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #004B9E;
  text-align: center;
  -webkit-box-shadow: 0px 1px 1px 1px #262626;
  border-radius: 5px;
          box-shadow: 0px 1px 1px 1px #262626;
  -webkit-transition: 0.3s;
  width: 50%;
  height: 100%;
  transition: 0.3s;
}
.hamburger-menu-button-01:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.hamburger-menu-button-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #333;
  text-align: center;
  -webkit-box-shadow: 0px 1px 1px 1px #262626;
  border-radius: 5px;
          box-shadow: 0px 1px 1px 1px #262626;
  -webkit-transition: 0.3s;
  width: 50%;
  height: 100%;
  transition: 0.3s;
}
.hamburger-menu-button-02:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.hamburger-menu-button-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #FFF;
}
.hamburger-menu-button-link:hover {
  color: #FFF;
}

.hamburger-menu-company-tour-button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #004B9E;
  border-radius: 5px;
  background-color: #F6FF8B;
  -webkit-box-shadow: 0px 1px 1px 0px #333;
          box-shadow: 0px 1px 1px 0px #333;
  -webkit-transition: 0.3s;
  width: 100%;
  min-height: 70px;
  margin-top: -30px;
  transition: 0.3s;
}
.hamburger-menu-company-tour-button:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.hamburger-menu-company-tour-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #004B9E;
}

.hamburger-menu-in-secondbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 220px;
  margin: 0 auto;
  gap: 10px;
}

.hamburger-menu--copyright {
  font-weight: 700;
  font-size: 13px;
}

/* ------ openbtn3 ------ */
.openbtn3-2 {
  position: relative;
  width: 56px;
  height: 70%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn3-2::before {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  width: 16px;
  margin: auto;
  border: 1px solid #333;
  content: "";
}
.openbtn3-2::after {
  position: absolute;
  top: 50%;
  right: 15px;
  bottom: 50%;
  border: 1px solid #333;
  content: "";
  -webkit-transform: rotate(90deg);
  width: 16px;
  margin: auto;
          transform: rotate(90deg);
}

.openbtn3_in-box {
  visibility: visible;
  z-index: 300;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease, visibility 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 0;
  transition: opacity 0.5s ease, visibility 0s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 6px 1px;
  gap: 50px;
  border: 2px solid #004B9E;
  background-color: #FFF;
}
.openbtn3_in-box[aria-expanded=true] {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, visibility 0s 0.5s;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.openbtn3_in-box-list {
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  overflow-y: auto;
}
.openbtn3_in-box-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: #FFF;
}
.openbtn3_in-box-list::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background-color: #004B9E;
}

.openbtn3_in-box-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 20px 15px;
  border-bottom: 1px solid #CECECE;
}
.openbtn3_in-box-list-item:nth-child(1) {
  height: auto;
}
.openbtn3_in-box-list-item:last-child {
  border-bottom: none;
}

.openbtn3_in-box-title {
  font-size: 20px;
}

.openbtn3_in-box-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 90%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn3_in-box-close::before {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(45deg);
  width: 50%;
  margin: auto;
          transform: rotate(45deg);
}
.openbtn3_in-box-close::after {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(135deg);
  width: 50%;
  margin: auto;
          transform: rotate(135deg);
}

/* ------ openbtn3-2 ------ */
.openbtn3-2_in-box {
  visibility: visible;
  z-index: 300;
  opacity: 1;
  -webkit-transition: opacity 0.5s ease, visibility 0s;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: fixed;
  top: 0;
  transition: opacity 0.5s ease, visibility 0s;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
  padding: 6px 1px;
  gap: 50px;
  border: 2px solid #004B9E;
  background-color: #FFF;
}
.openbtn3-2_in-box[aria-expanded=true] {
  opacity: 0;
  -webkit-transition: opacity 0.5s ease, visibility 0s 0.5s;
  visibility: hidden;
  transition: opacity 0.5s ease, visibility 0s 0.5s;
}

.openbtn3-2_in-box-list {
  width: 100%;
  height: 100%;
  padding: 10px 20px;
  overflow-y: auto;
}
.openbtn3-2_in-box-list::-webkit-scrollbar {
  width: 6px;
  height: 6px;
  background-color: #FFF;
}
.openbtn3-2_in-box-list::-webkit-scrollbar-thumb {
  border-radius: 20px;
  background-color: #004B9E;
}

.openbtn3-2_in-box-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  height: auto;
  padding: 20px 15px;
  border-bottom: 1px solid #CECECE;
}
.openbtn3-2_in-box-list-item:nth-child(1) {
  height: auto;
}
.openbtn3-2_in-box-list-item:last-child {
  border-bottom: none;
}

.openbtn3-2_in-box-title {
  font-size: 20px;
}

.openbtn3-2_in-box-close {
  position: absolute;
  top: 0;
  right: 0;
  width: 60px;
  height: 90%;
  border-left: 1px solid #CECECE;
  background-color: #FFF;
  cursor: pointer;
}
.openbtn3-2_in-box-close::before {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(45deg);
  width: 50%;
  margin: auto;
          transform: rotate(45deg);
}
.openbtn3-2_in-box-close::after {
  position: absolute;
  top: 50%;
  right: 75%;
  bottom: 50%;
  left: 25%;
  border: 1px solid #004B9E;
  content: "";
  -webkit-transform: rotate(135deg);
  width: 50%;
  margin: auto;
          transform: rotate(135deg);
}

.footer-menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 150px 50px 50px;
  padding: 50px 20px;
  gap: 35px;
  background-color: #FFF;
}

.footer-menu-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.footer-menu-button-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  max-width: 310px;
  height: 80px;
  gap: 10px;
}

.footer-menu-button-01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #004B9E;
  text-align: center;
  -webkit-box-shadow: 0px 1px 1px 1px #262626;
  border-radius: 5px;
          box-shadow: 0px 1px 1px 1px #262626;
  -webkit-transition: 0.3s;
  width: 50%;
  height: 100%;
  transition: 0.3s;
}
.footer-menu-button-01:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.footer-menu-button-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #262626;
  text-align: center;
  -webkit-box-shadow: 0px 1px 1px 1px #262626;
  border-radius: 5px;
          box-shadow: 0px 1px 1px 1px #262626;
  -webkit-transition: 0.3s;
  width: 50%;
  height: 100%;
  transition: 0.3s;
}
.footer-menu-button-02:hover {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  -webkit-box-shadow: 0 0 0 #262626;
          box-shadow: 0 0 0 #262626;
}

.footer-menu-button-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #FFF;
  line-height: 1.5;
}
.footer-menu-button-link:hover {
  color: #FFF;
}

.footer-menu-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 50px;
  gap: 30px;
}

.footer-menu-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
}
.footer-menu-list-item:nth-child(1)::after {
  position: absolute;
  right: -15px;
  height: 80%;
  border-right: 1px solid #333;
  content: "";
}

.footer-menu-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  color: #262626;
}
.footer-menu-list-link:hover {
  color: #004B9E;
}

.footer-company-info-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 25px;
}

.footer-company-contact {
  position: relative;
}
.footer-company-contact::after {
  position: absolute;
  right: 110%;
  bottom: -10px;
  left: -10%;
  width: 120%;
  border-bottom: 2px solid #333;
  content: "";
}

.footer-company-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
}

.tel-text {
  color: #004B9E;
  font-size: clamp(32px, 5vw, 38px);
}

.footer-address {
  font-style: normal;
  font-size: 18px;
  text-align: center;
}

.footer-menu-sublist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 100%;
  max-width: 380px;
  gap: 10px 20px;
}

.footer-menu-sublist-link {
  position: relative;
  color: #262626;
  font-weight: 700;
  font-size: 14px;
}
.footer-menu-sublist-link:hover {
  position: relative;
  color: #004B9E;
}
.footer-menu-sublist-link:hover::after {
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 100%;
  border-bottom: 1px solid #004B9E;
  content: "";
}

.footer-sns-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 15px;
}

.footer-menu-site-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 220px;
  margin: 0 auto;
  gap: 10px;
}

.footer-copyright {
  font-weight: 700;
  font-size: 13px;
}

/*
 * [note] パーツ
 * ------------------------------------------------ */
.common-body {
  display: inline-block;
  z-index: 1;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.6509803922);
}

/** ------ コンテンツボックス ------ **/
.content-top-wrap {
  width: 100%;
  max-width: 540px;
  margin: 100px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.content-wrap {
  margin: 100px auto 0;
}

/** ------ タイトル共通 ------ **/
/* ------ ページタイトル ------ */
.page-title-group {
  margin: 100px auto 0;
  padding: 0 20px;
}

.page-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 43px;
}
.page-title::after {
  position: absolute;
  bottom: -5px;
  width: 260px;
  border-bottom: 3px solid #333;
  content: "";
}

/* ------ コンテンツタイトル ------ */
.content-title-group {
  margin: 100px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.content-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 30px;
  line-height: 1.5;
  text-align: center;
}
.content-title::before {
  position: absolute;
  top: 50%;
  bottom: 50%;
  left: -25px;
  border: 1.5px solid #333;
  content: "";
  -webkit-transform: rotate(30deg);
  height: 42px;
  margin: auto;
          transform: rotate(30deg);
}
.content-title::after {
  position: absolute;
  top: 50%;
  right: -25px;
  bottom: 50%;
  border: 1.5px solid #333;
  content: "";
  -webkit-transform: rotate(30deg);
  height: 42px;
  margin: auto;
          transform: rotate(30deg);
}

.content-main-text {
  margin: 50px auto 0;
  font-size: 18px;
  line-height: 1.8;
}

.content-main-img {
  margin: 50px auto 0;
}

/* ------ セクションタイトル ------ */
.section-title-group {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  width: 100%;
  margin: 170px auto 30px;
  padding-right: 20px;
  padding-left: 20px;
  text-align: center;
}
.section-title-group::before {
  position: absolute;
  top: -60px;
  right: 50%;
  left: 50%;
  width: 2px;
  height: 50px;
  margin: auto;
  background-color: #004B9E;
  content: "";
}

.section-title {
  font-size: 28px;
  line-height: 1.5;
}

.section-subtitle-group {
  width: 100%;
  margin: 30px auto 20px;
}

.section-subtitle {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #004B9E;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.5;
}
.section-subtitle::before {
  position: absolute;
  bottom: -5px;
  width: 100%;
  margin: auto;
  border-bottom: 3px solid #004B9E;
  content: "";
}

.section-sub-boldtext {
  font-weight: 700;
  font-size: 22px;
  line-height: 1.5;
}

.next-topic {
  margin-top: 50px;
}

.section-sub-text {
  padding-top: 20px;
  font-size: 18px;
  line-height: 1.5;
}

/** ------ 矢印 ------**/
.arrow-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
  width: 20px;
  height: 20px;
          transform: rotate(180deg);
}

.small-arrow-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(180deg);
  width: 15px;
  height: 15px;
          transform: rotate(180deg);
}

.arrow-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(-90deg);
  width: 20px;
  height: 20px;
          transform: rotate(-90deg);
}

.big-arrow-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(-90deg);
  width: 25px;
  height: 25px;
          transform: rotate(-90deg);
}

.small-arrow-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(-90deg);
  width: 15px;
  height: 15px;
          transform: rotate(-90deg);
}

.arrow-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 20px;
  height: 20px;
          mask-repeat: no-repeat;
}

.small-arrow-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 15px;
  height: 15px;
          mask-repeat: no-repeat;
}

.arrow-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(90deg);
  width: 20px;
  height: 20px;
          transform: rotate(90deg);
}

.small-arrow-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/arrow.svg);
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(90deg);
  width: 15px;
  height: 15px;
          transform: rotate(90deg);
}

/** ------ リンクアイコン ------**/
.external-link-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/link-icon.svg);
          mask-image: url(../images/common/link-icon.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 15px;
  height: 15px;
          mask-repeat: no-repeat;
}

.big-external-link-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-mask-image: url(../images/common/link-icon.svg);
          mask-image: url(../images/common/link-icon.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 25px;
  height: 25px;
          mask-repeat: no-repeat;
}

.svg-color-blue {
  background-color: #004B9E;
}

.svg-color-white {
  background-color: #FFF;
}

/* 下層ページ共通 */
/*---------------------------------------------------*/
/* ------ 画像＆テキストBox ------ */
.posts-img-text-box {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}
.posts-img-text-box img {
  width: 100%;
  height: auto;
}

.posts-text-box {
  margin-top: 20px;
  line-height: 1.8;
}

/** ------ 事業内容 ------ **/
.employee-comments-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 540px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
  gap: 20px;
}

.employee-comments-list-box {
  padding: 30px;
  border: 2px solid #004B9E;
  border-radius: 10px;
}

.employee-comments-list-title {
  color: #004B9E;
  font-weight: 700;
  font-size: 24px;
}

.employee-comments-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 20px;
  gap: 30px;
}

.employee-comments-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 30px;
  font-size: 18px;
}
.employee-comments-list-item::before {
  position: absolute;
  top: 15px;
  left: 0;
  width: 15px;
  margin: auto;
  border: 2px solid #004B9E;
  border-radius: 100px;
  content: "";
}

.employee-comments-detail-link-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}

.employee-comments-detail-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
.employee-comments-detail-link:hover::after {
  position: absolute;
  bottom: -10px;
  width: 100%;
  border-bottom: 2px solid #004B9E;
  content: "";
}

.employee-comments-detail-text {
  margin: 0;
  color: #333;
  font-weight: 700;
  font-size: 22px;
}

/** ------ 募集要項 ------ **/
.details-job-link-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 520px;
  margin: 20px auto 0;
  padding-right: 20px;
  padding-left: 20px;
  gap: 25px;
}

.details-link-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}

.details-job-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 100%;
  gap: 10px;
  color: #262626;
}
.details-job-link:hover {
  position: relative;
  color: #004B9E;
}
.details-job-link:hover::after {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-bottom: 2px solid #004B9E;
  content: "";
}

.forms-botton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 450px;
  gap: 10px;
}
.forms-botton__entry {
  width: 50%;
  height: 80px;
}
.forms-botton__company-tour {
  width: 50%;
  height: 80px;
}

.forms-entry-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #004B9E;
  background-color: #004B9E;
  color: #FFF;
  font-weight: 500;
  font-size: 22px;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease-out;
  width: 100%;
  height: 100%;
  transition: color 0.3s ease, background-color 0.3s ease-out;
}
.forms-entry-link:hover {
  background-color: #FFF;
  color: #004B9E;
}

.forms-company-tour-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 1px solid #004B9E;
  background-color: #F6FF8B;
  color: #004B9E;
  font-weight: 500;
  font-size: 20px;
  -webkit-transition: color 0.3s ease, background-color 0.3s ease-out;
  width: 100%;
  height: 100%;
  transition: color 0.3s ease, background-color 0.3s ease-out;
}
.forms-company-tour-link:hover {
  background-color: #004B9E;
  color: #FFF;
}

/* 社風・環境・取り組み＆メッセージ */
/*---------------------------------------------------*/
/** ------ 吹き出し＆画像 ------ **/
.mood-wrap {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.speech-bubble-and-img-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 35px auto 0;
  gap: 20px;
}

.speech-bubble-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  max-width: 500px;
  gap: 30px;
}

.img-reverse {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.gimon-box {
  margin-top: 30px;
}

.speech-bubble-img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  min-width: 90px;
  gap: 5px;
}

.speech-bubble-img-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 20px;
  line-height: 1.3;
}

.speech-bubble-img-small-text {
  font-size: 15px;
}

.speech-bubble-text-box-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: solid 2px #333;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-height: 100px;
  padding: 10px 20px;
  background: #FFF;
}
.speech-bubble-text-box-left::before {
  z-index: 2;
  position: absolute;
  top: 44px;
  left: -24px;
  margin-top: -12px;
  border: 10px solid transparent;
  border-right: 15px solid #FFF;
  content: "";
}
.speech-bubble-text-box-left::after {
  z-index: 1;
  position: absolute;
  top: 44px;
  left: -30px;
  margin-top: -14px;
  border: 12px solid transparent;
  border-right: 16px solid #333;
  content: "";
}

.speech-bubble-text-box-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: solid 2px #333;
  border-radius: 10px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  min-height: 100px;
  padding: 10px 20px;
  background: #FFF;
}
.speech-bubble-text-box-right::before {
  z-index: 2;
  position: absolute;
  top: 44px;
  right: -24px;
  margin-top: -12px;
  border: 10px solid transparent;
  border-left: 15px solid #FFF;
  content: "";
}
.speech-bubble-text-box-right::after {
  z-index: 1;
  position: absolute;
  top: 44px;
  right: -30px;
  margin-top: -14px;
  border: 12px solid transparent;
  border-left: 16px solid #333;
  content: "";
}

.speech-bubble-text {
  line-height: 1.5;
}

.speech-bubble-text-highlight {
  background-color: #F6FF8B;
}

.speech-bubble-detail-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  margin-top: -20px;
}

.speech-bubble-detail-link {
  position: relative;
  color: #333;
  font-weight: 700;
  font-size: 18px;
}
.speech-bubble-detail-link:hover {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #333;
}
.speech-bubble-detail-link:hover::after {
  position: absolute;
  bottom: -3px;
  width: 100%;
  border-bottom: 2px solid #004B9E;
  content: "";
}

.detail-link-color {
  color: #004B9E;
}

.lunch-wrap {
  width: 100%;
  max-width: 540px;
  margin: 80px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.luncg-menu-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.luncg-menu-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.luncg-menu-list-item-text {
  width: 80%;
  font-weight: 700;
  font-size: 14px;
  text-align: center;
}

.communication-wrap {
  width: 100%;
  max-width: 540px;
  margin: 80px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.projects-wrap {
  width: 100%;
  max-width: 540px;
  margin: 80px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.projects-menu-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 40px auto 0;
  gap: 20px;
}

.projects-menu-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 20px;
  border: 1px solid #38338B;
  border-radius: 10px;
}

.projects-menu-list-img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.projects-list-title {
  color: #38338B;
  font-weight: 700;
  font-size: 20px;
}

.projects-list-text {
  font-size: 16px;
  text-align: center;
}

.activities-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  margin-top: 15px;
  gap: 5px;
}

.activities-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  padding-left: 25px;
}
.activities-list-item img {
  position: absolute;
  top: 1px;
  left: 0;
}

.activities-list-text {
  font-size: 15px;
  line-height: 1.3;
}

/* 職種紹介 */
/*---------------------------------------------------*/
/** ------ キービジュアル ------ **/
.job-introduction-page-kv {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 100px;
  padding-right: 20px;
  padding-left: 20px;
}

/** ------ 職種紹介タイトル＆テキスト ------ **/
.job-introduction-contact-title-group {
  width: 100%;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.job-introduction-contact-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 700;
  font-size: 34px;
  line-height: 1.5;
  text-align: center;
}

.contact-title-underline {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 5px;
  padding: 0 10px 5px;
  border-bottom: 3px solid #00A36A;
}

.job-introduction-section-title {
  font-weight: 700;
  font-size: 26px;
  line-height: 1.3;
}

.top-section-text {
  margin: 20px auto 0;
}

/** ------ 職種紹介タイトル色 ------ **/
/* ------ まとめる ------ */
.is-putting-it-all-together {
  color: #004B9E;
}

/* ------ つなげる ------ */
.is-connect {
  color: #00A36A;
}

/* ------ かんがえる・つくる ------ */
.is-think-create {
  color: #EB4D4D;
}

/* ------ 印刷する ------ */
.is-print {
  color: #3D90E5;
}

/** ------ 職種紹介top-section ------ **/
.top-section-box {
  width: 100%;
  max-width: 540px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

/** ------ 職種紹介アンカーリンクリスト ------ **/
.job-introduction-anchor-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 500px;
  margin: 50px auto auto;
  padding-right: 20px;
  padding-left: 20px;
  gap: 20px;
}

.job-introduction-anchor-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 46%;
  border: 2px solid #004B9E;
  border-radius: 5px;
}
.job-introduction-anchor-list-item:hover {
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.job-introduction-anchor-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 24px 20px;
  gap: 15px;
  color: #333;
  font-weight: 700;
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
}

/** ------ 職種紹介仕事の流れ ------ **/
.job-introduction-sub-section-title-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 100px auto 50px;
  padding-right: 20px;
  padding-left: 20px;
  gap: 10px;
  text-align: center;
}

.job-introduction-sub-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  font-size: 25px;
}

.sub-section-title-big {
  position: relative;
  padding-top: 25px;
  font-weight: 700;
  font-size: 38px;
}
.sub-section-title-big:before {
  position: absolute;
  top: 10px;
  left: -3%;
  width: 106%;
  border: 2px solid #333;
  border-radius: 10px;
  content: "";
}
.sub-section-title-big::after {
  position: absolute;
  top: 10px;
  left: 70%;
  border-radius: 10px;
  background-color: #333;
  content: "";
  -webkit-transform: rotate(45deg);
  width: 4px;
  height: 20px;
          transform: rotate(45deg);
}

.work-flow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 540px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
  gap: 50px;
}

.work-flow-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 0 auto;
  padding: 30px 20px;
  gap: 20px;
  border: 1px solid #DC000C;
  border-radius: 20px;
}

.work-flow-list-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 380px;
  color: #DC000C;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
  text-align: center;
}

.work-flow-list-title-big {
  font-size: 35px;
}

.work-flow-list-text {
  max-width: 380px;
}

/** ------ 仕事の流れ ------ **/
.job-memory-box-wrap {
  width: 100%;
  max-width: 540px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.job-memory-text-box-right {
  position: relative;
  width: 100%;
  padding: 50px;
  border: 4px solid #333;
  border-radius: 60px;
  background-color: #FFF;
}
.job-memory-text-box-right::before {
  position: absolute;
  top: calc(100% + 0px);
  right: 100px;
  width: 50px;
  height: 4px;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  background-color: #333333;
  -webkit-transform: rotate(55deg);
          transform: rotate(55deg);
}
.job-memory-text-box-right::after {
  position: absolute;
  top: calc(100% - 5px);
  right: 116px;
  width: 25px;
  height: 4px;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #333333;
  -webkit-box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
  border-radius: 10px;
          box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
  -webkit-transform: rotate(55deg);
          transform: rotate(55deg);
}

.job-memory-text-box-left {
  position: relative;
  width: 100%;
  padding: 50px;
  border: 4px solid #333;
  border-radius: 60px;
  background-color: #FFF;
}
.job-memory-text-box-left::before {
  position: absolute;
  top: calc(100% + 0px);
  left: 100px;
  width: 50px;
  height: 4px;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  background-color: #333333;
  -webkit-transform: rotate(-55deg);
          transform: rotate(-55deg);
}
.job-memory-text-box-left::after {
  position: absolute;
  top: calc(100% - 5px);
  left: 116px;
  width: 25px;
  height: 4px;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #333333;
  -webkit-box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
  border-radius: 10px;
          box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
  -webkit-transform: rotate(-55deg);
          transform: rotate(-55deg);
}

.job-memory-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.3;
}

.job-memory-title-small {
  padding-top: 10px;
  font-size: 20px;
}

.job-memory-text {
  margin-top: 30px;
  line-height: 1.5;
}

.job-memory-img-right-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 440px;
  margin: 50px auto 0;
  gap: 20px;
}
.job-memory-img-right-box img {
  max-width: 120px;
  border-radius: 100%;
}

.job-memory-img-left-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  max-width: 440px;
  margin: 50px auto 0;
  gap: 20px;
}
.job-memory-img-left-box img {
  max-width: 120px;
  border-radius: 100%;
}

.job-memory-img-text {
  font-size: 20px;
  line-height: 1.5;
}

/** ------ キャリア ------ **/
.career-box-wrap {
  width: 100%;
  max-width: 540px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}

.career-box-main-text {
  width: 100%;
  max-width: 440px;
  margin: 50px auto 0;
}

.career-root-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 440px;
  margin: 50px auto 0;
  gap: 40px;
}

.career-root-01 {
  z-index: 1;
  width: 100%;
  padding: 30px;
  border: 3px solid #004B9E;
  border-radius: 30px;
  background-color: #FFF;
}

.career-root-02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 80%;
  margin: 0 auto;
  padding: 30px;
  border: 3px solid #004B9E;
  border-radius: 20px;
  background-color: #FFF;
}

.career-root-03 {
  z-index: 1;
  width: 80%;
  max-width: 280px;
  padding: 30px;
  border: 3px solid #004B9E;
  border-radius: 10px;
  background-color: #FFF;
}

.career-root-line01 {
  position: relative;
}
.career-root-line01::after {
  position: absolute;
  bottom: -100px;
  left: 55%;
  border-right: 10px solid #004B9E;
  content: "";
  -webkit-transform: rotate(40deg);
  height: 200px;
          transform: rotate(40deg);
}

.career-root-line02 {
  position: relative;
}
.career-root-line02::after {
  position: absolute;
  bottom: -150px;
  left: 30%;
  border-top: 10px solid #004B9E;
  border-right: 10px solid #004B9E;
  content: "";
  -webkit-transform: rotate(40deg);
  width: 200px;
  height: 200px;
          transform: rotate(40deg);
}

.career-root-title {
  color: #004B9E;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
}

.career-root-text {
  margin: 20px auto 0;
  line-height: 1.5;
}

.career-root-last {
  position: relative;
  width: 100%;
  margin: 140px auto 0;
  padding: 30px 30px 50px;
  border-radius: 20px;
  background-color: #004B9E;
}

.career-root-last-img {
  position: absolute;
  top: -80px;
}

.career-root-last-title {
  color: #FFF;
  font-weight: 700;
  font-size: 28px;
  text-align: center;
}

.career-root-last-text {
  max-width: 380px;
  margin: 20px auto 0;
  color: #FFF;
}

/** ------ 先輩インタビュー ------ **/
.interviewee-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding-right: 20px;
  padding-left: 20px;
  gap: 50px;
}
.interviewee-box img {
  border-radius: 100%;
}

.interview-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 700;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
}

.interview-title-big {
  font-size: 28px;
}

.interview-box-wrap {
  width: 100%;
  max-width: 480px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.interview-box {
  width: 100%;
  margin: 50px auto 0;
}

.interview-sub-section-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 3px solid #333;
  font-weight: 700;
  font-size: 28px;
}

.interview-answer-text {
  padding-top: 20px;
}

.interview-schedule-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 20px auto 0;
  gap: 30px;
}
.interview-schedule-list::before {
  position: absolute;
  top: 20px;
  left: 106px;
  width: 2px;
  height: 100%;
  background-color: #707070;
  content: "";
}

.interview-schedule-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 55px;
}
.interview-schedule-list-item::before {
  position: absolute;
  top: 18px;
  left: 100px;
  width: 15px;
  height: 15px;
  border: 2px solid #707070;
  border-radius: 100%;
  background-color: #FFF;
  content: "";
}

.interview-schedule-time {
  min-width: 84px;
  font-weight: 700;
  font-size: 24px;
}

.interview-schedule-img-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}

.interview-schedule {
  padding-top: 10px;
  font-size: 24px;
  line-height: 1.2;
}

.interview-schedule-note {
  font-size: 18px;
}

.interview-schedule-last-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 20px auto 0;
}

/** ------ 職種紹介/募集要項 ------ **/
.recruitment-box {
  width: 100%;
  max-width: 480px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.recruitment-text {
  font-weight: 700;
}

.recruitment-job-antenna-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 10px;
  padding: 20px 25px;
  gap: 30px;
  border-radius: 10px;
  background-color: #004B9E;
}
.recruitment-job-antenna-link:hover {
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.recruitment-job-antenna-text {
  color: #FFF;
  font-size: 22px;
}

.job-introduction-list-link-box {
  width: 100%;
  margin: 50px auto 0;
}

.job-introduction-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 10px;
  gap: 10px;
  color: #333;
}
.job-introduction-list-link:hover::after {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-bottom: 2px solid #333;
  content: "";
}

.job-introduction-list--text {
  font-size: 24px;
}

/* 部署紹介 */
/*---------------------------------------------------*/
/** ------ 部署紹介メインロゴ画像 ------ **/
.department-page-main-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.page-main-logo-mgt {
  margin-top: 100px;
}

/** ------ 部署紹介コンテンツ ------ **/
.department-top-wrap {
  margin: 60px auto 0;
}

.department-wrap {
  margin: 100px auto 0;
}

/** ------ 部署紹介title-list ------ **/
.department-main-title-group {
  position: relative;
  width: 100%;
  max-width: 470px;
  margin: 0 auto;
  padding-right: 20px;
  padding-left: 20px;
}
.department-main-title-group::after {
  position: absolute;
  top: calc(100% - 8px);
  left: 77px;
  width: 19px;
  height: 4px;
  border-radius: 10px;
  background-color: #FFF;
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.department-main-title {
  position: relative;
  width: 100%;
  padding: 20px;
  border: 4px solid #333;
  border-radius: 100px;
  background-color: #FFF;
  font-weight: 700;
  font-size: 26px;
  line-height: 1.5;
  text-align: center;
}
.department-main-title::before {
  position: absolute;
  top: calc(100% + 3px);
  left: 65px;
  width: 20px;
  height: 4px;
  content: "";
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 10px;
  background-color: #333333;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.department-main-title::after {
  position: absolute;
  top: calc(100% - 4px);
  left: 64.5px;
  width: 18px;
  height: 4px;
  border-radius: 10px;
  background-color: #FFF;
  content: "";
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}

.department-section-title-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 50px auto 30px;
  padding-right: 20px;
  padding-left: 20px;
  gap: 10px;
  text-align: center;
}

.department-section-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  font-size: 25px;
}

.department-section-subtitle-group {
  width: 100%;
  margin: 50px auto 20px;
}

.department-section-subtitle {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #333;
  font-weight: 700;
  font-size: 24px;
  line-height: 1.5;
}
.department-section-subtitle::before {
  position: absolute;
  bottom: -5px;
  width: 100%;
  margin: auto;
  border-bottom: 3px solid #333;
  content: "";
}

/** ------ 部署紹介その他 ------ **/
.department-main-text {
  width: 100%;
  max-width: 540px;
  margin: 30px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.department-main-business-box {
  width: 100%;
  max-width: 540px;
  margin: 60px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.department-section-sub-text {
  margin: 20px auto 0;
}

.department-main-business-img {
  display: inline-block;
  margin: 30px auto 0;
}

.department-speech-bubble-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  max-width: 540px;
  padding-right: 20px;
  padding-left: 20px;
  gap: 30px;
}

/** ------ よくある質問(ギモンのカラー) ------ **/
/* ------ light-blue ------ */
.gimon-icon-light-blue {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-mask-image: url(../images/department/gimon-icon.svg);
  background-color: #3D90E5;
          mask-image: url(../images/department/gimon-icon.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 87px;
  height: 87px;
          mask-repeat: no-repeat;
}
.gimon-icon-light-blue::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 25px;
  width: 48px;
  height: 25px;
  background-image: url(../images/department/gimon-icon-eye.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

.is-color-light-blue {
  color: #3D90E5;
  font-weight: 700;
}

/* ------ purple ------ */
.gimon-icon-purple {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-mask-image: url(../images/department/gimon-icon.svg);
  background-color: #9A56A7;
          mask-image: url(../images/department/gimon-icon.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 87px;
  height: 87px;
          mask-repeat: no-repeat;
}
.gimon-icon-purple::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 25px;
  width: 48px;
  height: 25px;
  background-image: url(../images/department/gimon-icon-eye.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

.is-color-purple {
  color: #9A56A7;
  font-weight: 700;
}

/* ------ red ------ */
.gimon-icon-red {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-mask-image: url(../images/department/gimon-icon.svg);
  background-color: #EB4D4D;
          mask-image: url(../images/department/gimon-icon.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
  width: 87px;
  height: 87px;
          mask-repeat: no-repeat;
}
.gimon-icon-red::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 25px;
  width: 48px;
  height: 25px;
  background-image: url(../images/department/gimon-icon-eye.svg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

.is-color-red {
  color: #EB4D4D;
  font-weight: 700;
}

/** ------ home背景 ------ **/
.main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/home/home-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}

/** ------ home-content ------ **/
.home-main-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 150px auto 100px;
  font-size: clamp(50px, 5vw, 62px);
  line-height: 1.6;
}

.catchphrase-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.catchphrase-text {
  font-size: 26px;
  line-height: 1.5;
}

.home-menu-right-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  margin-top: 100px;
  padding-left: 35px;
  gap: 10px;
}

.home-menu-left-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
  margin-top: 100px;
  padding-right: 35px;
  gap: 10px;
}

.home-img-box {
  z-index: 1;
}
.home-img-box img {
  width: 100%;
  height: auto;
}

.home-menu-title-bottom-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 20%;
  height: auto;
}

.home-menu-title-bottom {
  position: relative;
  white-space: pre;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          writing-mode: vertical-rl;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 42px;
  letter-spacing: 10px;
}
.home-menu-title-bottom::after {
  position: absolute;
  right: -65%;
  bottom: -50px;
  content: "";
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease-out;
  background-color: #004B9E;
  transition: opacity 0.3s ease-out;
  -webkit-transform: rotate(-45deg);
  width: 200%;
  height: 1px;
          transform: rotate(-45deg);
}

.home-menu-title-top-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 20%;
  height: auto;
}

.home-menu-title-top {
  position: relative;
  white-space: pre;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
          writing-mode: vertical-rl;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  font-size: 42px;
  letter-spacing: 10px;
}
.home-menu-title-top::before {
  position: absolute;
  top: -50px;
  left: -65%;
  content: "";
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease-out;
  background-color: #004B9E;
  transition: opacity 0.3s ease-out;
  -webkit-transform: rotate(-45deg);
  width: 200%;
  height: 1px;
          transform: rotate(-45deg);
}

.home-job-introduction-text {
  margin: 50px auto 0;
  font-size: 28px;
  line-height: 1.5;
  text-align: center;
}

.home-job-introduction-wrap {
  width: 100%;
  max-width: 540px;
  margin: 30px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.home-content-text-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  max-width: 540px;
  margin: 30px auto 0;
  padding-right: 20px;
  padding-left: 20px;
  gap: 30px;
}

.home-content-text {
  width: 100%;
  font-size: 26px;
  line-height: 1.3;
}

.home-content-detail-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  color: #333;
  font-weight: 700;
  font-size: 22px;
}
.home-content-detail-link:hover::after {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-bottom: 2px solid #004B9E;
  content: "";
}

.home-content-external-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  font-weight: 700;
  font-size: 24px;
}
.home-content-external-link:hover::after {
  position: absolute;
  bottom: 0;
  width: 100%;
  border-bottom: 2px solid #004B9E;
  content: "";
}

/** ------ home-modale ------ **/
.home-modal {
  margin-top: 100px;
  padding: 0 20px;
}

.modal-title-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 0 20px;
}
.modal-title-group::before {
  position: absolute;
  left: 0;
  content: "";
  -webkit-transform: rotate(-30deg);
  width: 2px;
  height: 35px;
          transform: rotate(-30deg);
  background-color: #707070;
}
.modal-title-group::after {
  position: absolute;
  right: 0;
  content: "";
  -webkit-transform: rotate(30deg);
  width: 2px;
  height: 35px;
          transform: rotate(30deg);
  background-color: #707070;
}
.modal-title {
  font-weight: 500;
  font-size: 32px;
}
.modal-img {
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}

.overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
  z-index: 999;
          align-items: center;
  cursor: pointer;
}

#pop-up:checked ~ .overlay {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.popWindow {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  padding: 20px 30px;
  overflow: auto;
  background: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.popWindow img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
  max-height: 800px;
  margin: 0 auto;
}

.slider-wrapper {
  width: 100%;
  overflow: hidden;
}

.slider {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.slider-images {
  width: 100%;
  height: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  padding: 0 20px;
}

.prev {
  position: fixed;
  top: 50%;
  left: 5%;
  background: none;
  font-size: 30px;
}

.next {
  position: fixed;
  top: 50%;
  right: 5.5%;
  background: none;
  font-size: 30px;
}

/* 拡大する テキスト */
.home-modal-expansion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 10px auto 0;
  padding-left: 35px;
  font-size: 28px;
  cursor: pointer;
}
.home-modal-expansion::before {
  position: absolute;
  left: 0;
  width: 30px;
  height: 30px;
  background-image: url("../images/home/expansion-icon.svg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

/* 職種紹介 */
/*---------------------------------------------------*/
/** ------ 一覧ページ ------ **/
.job-introduction-wrap {
  width: 100%;
  max-width: 540px;
  margin: 100px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

.job-introduction-flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding: 30px 20px 20px;
  gap: 20px;
  border-radius: 10px;
  background: #F6FF8B;
}
.job-introduction-flow::before {
  position: absolute;
  top: 6%;
  left: 24%;
  width: 20px;
  height: 90%;
  background-color: #DDDDDD;
  content: "";
}
.job-introduction-flow::after {
  position: absolute;
  top: 6%;
  right: 24%;
  width: 20px;
  height: 90%;
  background-color: #DDDDDD;
  content: "";
}

.customer-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 15px 20px;
  border: 4px solid #333;
  border-radius: 20px;
  background-color: #FFF;
}

.customer-title {
  font-weight: 700;
  font-size: 24px;
}

.customer-text {
  padding-top: 10px;
}

.connect-and-combining-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 20px;
}

.connect-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  padding: 30px 20px;
  border-radius: 20px;
  background-color: #46C397;
}

.connect-title {
  color: #FFF;
  font-weight: 700;
  font-size: 24px;
}

.combining-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 30px 20px;
  border-radius: 20px;
  background-color: #004B9E;
}

.combining-title {
  color: #FFF;
  font-weight: 700;
  font-size: 24px;
}

.think-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 30px 20px;
  border-radius: 20px;
  background-color: #EB4D4D;
}

.think-left-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
}

.think-title {
  color: #FFF;
  font-weight: 700;
  font-size: 24px;
}

.create-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  padding: 30px 20px;
  border-radius: 20px;
  background-color: #3D90E5;
}

.create-left-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 50%;
}

.create-title {
  color: #FFF;
  font-weight: 700;
  font-size: 24px;
}

.job-introduction-flow-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-top: 20px;
  gap: 20px;
}

.job-introduction-flow-list-link:hover {
  opacity: 0.5;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}

.job-introduction-flow-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-right: 5px;
  padding-bottom: 10px;
  padding-left: 20px;
  border-bottom: 2px solid #FFF;
  color: #FFF;
  font-weight: 700;
  line-height: 1.3;
}
.job-introduction-flow-text::before {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  left: 0;
  content: "";
  -webkit-mask-image: url(../images/common/arrow.svg);
  background-color: #FFF;
          mask-image: url(../images/common/arrow.svg);
  -webkit-mask-size: cover;
          mask-size: cover;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-transform: rotate(-90deg);
  width: 10px;
  height: 10px;
          transform: rotate(-90deg);
}

/* 先輩インタビュー */
/*---------------------------------------------------*/
.senior-interview-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  max-width: 540px;
  margin: 50px auto;
  padding-right: 20px;
  padding-left: 20px;
  gap: 50px 30px;
}

.senior-interview-list-item img {
  border-radius: 100%;
}

.senior-interview-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.senior-interview-list-link:hover {
  opacity: 0.5;
}

.interviewee-department {
  color: #333;
  font-size: 18px;
  line-height: 1.3;
  text-align: center;
}

.interviewee-job-type {
  color: #333;
  font-size: 21px;
  line-height: 1.3;
  text-align: center;
}

/* メッセージ */
/*---------------------------------------------------*/
.message-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  max-width: 540px;
  margin: 80px auto 0;
  padding-right: 20px;
  padding-left: 20px;
  gap: 20px 25px;
}

.message-member-main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  max-width: 500px;
  margin: 25px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}
.message-member-main img {
  width: 100%;
}

.message-wrap {
  width: 100%;
  max-width: 540px;
  margin: 100px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

/* タブ切り替え */
.tab-container-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 0 0 15px;
  padding-right: 20px;
  padding-left: 20px;
}

.tab-container-end-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 50px 0 15px;
  padding-right: 20px;
  padding-left: 20px;
}

.tab-list-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 160px;
  padding: 10px;
  gap: 10px;
  cursor: pointer;
}
.tab-list-item.active {
  border-radius: 100%;
  background-color: #F6FF8B;
}
.tab-list-item.active .tab-list-arrow {
  display: block;
  position: absolute;
  bottom: -20px;
}
.tab-list-item:hover {
  border-radius: 100%;
  background-color: #F6FF8B;
}
.tab-list-item:hover .tab-list-arrow {
  display: block;
  position: absolute;
  bottom: -20px;
}

.tab-list-end-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1/1;
  width: 100%;
  max-width: 160px;
  padding: 10px;
  gap: 10px;
  cursor: pointer;
}
.tab-list-end-item.active {
  border-radius: 100%;
  background-color: #F6FF8B;
}
.tab-list-end-item.active .tab-list-arrow {
  display: block;
  position: absolute;
  bottom: -20px;
}
.tab-list-end-item:hover {
  border-radius: 100%;
  background-color: #F6FF8B;
}
.tab-list-end-item:hover .tab-list-arrow {
  display: block;
  position: absolute;
  bottom: -20px;
}

.tab-number {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: 2px solid #004B9E;
  color: #004B9E;
  font-weight: 700;
  font-size: 30px;
  line-height: 1.5;
}

.tab-list-text {
  font-weight: 700;
  font-size: 22px;
  line-height: 1.3;
  text-align: center;
}

.tab-list-arrow {
  display: none;
}

.content {
  display: none;
}
.content.show {
  display: block;
}

.president-memo-wrap {
  display: inline-block;
  margin-top: 50px;
}

.president-memo-wrap-inner {
  padding: 20px 15px;
  border: 2px solid #004B9E;
  border-radius: 10px;
}

.president-memo-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  color: #004B9E;
  font-weight: 700;
  font-size: 28px;
  line-height: 1.5;
}
.president-memo-title::after {
  position: absolute;
  bottom: -6px;
  border-bottom: 2px solid #004B9E;
  content: "";
  -webkit-transform: rotate(-6deg);
  width: 100%;
          transform: rotate(-6deg);
}

.president-title-group {
  margin-top: 50px;
}

.president-title {
  font-weight: 500;
  font-size: 22px;
  line-height: 1.5;
}

.president-two-column-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 30px;
  gap: 10px;
}

.president-left-column {
  width: 60%;
}

.president-right-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 40%;
}

.president-message-text {
  margin-top: 15px;
}

.president-message-mini-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  margin-top: 20px;
  margin-bottom: -15px;
  padding-left: 25px;
  font-size: 20px;
}
.president-message-mini-title::before {
  position: absolute;
  bottom: 14px;
  left: 0;
  width: 15px;
  height: 2px;
  background-color: #333;
  content: "";
}

.message-end-text {
  margin-bottom: 20px;
  font-size: 22px;
  line-height: 1.5;
  text-align: center;
}

.message-end-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  max-width: 540px;
  margin: 50px auto 0;
  padding-right: 20px;
  padding-left: 20px;
}

/* 部署紹介一覧ページ */
/*---------------------------------------------------*/
.department-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 100%;
  max-width: 540px;
  margin: 50px auto;
  padding-right: 20px;
  padding-left: 20px;
  gap: 50px 30px;
}

.department-list-item img {
  border-radius: 100%;
}

.department-list-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
}
.department-list-link:hover {
  opacity: 0.5;
}

.department-text {
  color: #333;
  font-size: 21px;
  line-height: 1.3;
  text-align: center;
}

/* 部署紹介 */
/*---------------------------------------------------*/
/** ------ プリプレス部-背景 ------ **/
.prepress .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.prepress .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/prepress/prepress-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.prepress .common-body {
  display: inline-block;
  z-index: 1;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
  background-color: #F6F8E0;
}

/** ------ 生産管理部-背景 ------ **/
.production-management .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.production-management .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/production-management/production-management-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.production-management .common-body {
  display: inline-block;
  position: relative;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
}
.production-management .common-body::before {
  z-index: -1;
  position: fixed;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100vh;
  background-image: url("../images/department/production-management/production-management-body-background.jpg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

/** ------ 企画開発部-背景 ------ **/
.planning-development .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.planning-development .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/planning-development/planning-development-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.planning-development .common-body {
  display: inline-block;
  z-index: 1;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
  background-color: #FFE167;
}

/** ------ 流通企画部-背景 ------ **/
.distribution-planning .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.distribution-planning .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/distribution-planning/distribution-planning-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.distribution-planning .common-body {
  display: inline-block;
  position: relative;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
}
.distribution-planning .common-body::before {
  z-index: -1;
  position: fixed;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100vh;
  background-image: url("../images/department/distribution-planning/distribution-planning-body-background.jpg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

/** ------ 製造部-背景 ------ **/
.manufacturing-department .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.manufacturing-department .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/manufacturing-department/manufacturing-department-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.manufacturing-department .common-body {
  display: inline-block;
  position: relative;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
}
.manufacturing-department .common-body::before {
  z-index: -1;
  position: fixed;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100vh;
  background-image: url("../images/department/manufacturing-department/manufacturing-department-body-background.jpg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

/** ------ 営業部-背景 ------ **/
.sales-department .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.sales-department .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/sales-department/sales-department-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.sales-department .common-body {
  display: inline-block;
  position: relative;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
}
.sales-department .common-body::before {
  z-index: -1;
  position: fixed;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100vh;
  background-image: url("../images/department/sales-department/sales-department-body-background.jpg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

/** ------ 総務部-背景 ------ **/
.general-affairs .main-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 20px;
  gap: 100px;
}
.general-affairs .main-content::before {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-image: url("../images/department/general-affairs/general-affairs-background.jpg");
  background-position: bottom left;
  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
  content: "";
}
.general-affairs .common-body {
  display: inline-block;
  position: relative;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100%;
}
.general-affairs .common-body::before {
  z-index: -1;
  position: fixed;
  width: 100%;
  min-width: 400px;
  max-width: 600px;
  height: 100vh;
  background-image: url("../images/department/general-affairs/general-affairs-body-background.jpg");
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  content: "";
}

.form-wrap {
  width: 100%;
  padding: 0 20px;
}
.form-wrap__privacy-policy {
  margin-top: -20px;
  margin-bottom: -15px;
  padding: 10px;
  overflow-y: auto;
  border: 1px solid #333;
}
.form-wrap__privacy-policy-in {
  max-width: 500px;
  height: 180px;
}
.form-wrap__privacy-policy-text {
  font-size: 16px;
}

/*
 * [Snow Monkey Forms] 
 * ------------------------------------------------ */
.snow-monkey-form .smf-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.snow-monkey-form .smf-item {
  width: 100%;
  max-width: 500px;
  margin-top: 30px;
}
.snow-monkey-form .smf-item__description {
  margin-bottom: 10px;
}
.snow-monkey-form .smf-item__label {
  margin-bottom: 10px;
}
.snow-monkey-form .smf-item__controls {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.snow-monkey-form .smf-text-control__control {
  width: 100%;
}
.snow-monkey-form .smf-textarea-control__control {
  width: 100%;
}
.snow-monkey-form a {
  color: #004B9E;
}
.snow-monkey-form .is-privacypolicy .smf-item__label {
  display: none;
}
.snow-monkey-form[data-screen=confirm] .is-privacypolicy .smf-item__label {
  display: block;
}
.snow-monkey-form[data-screen=confirm] .is-privacypolicy .smf-item__description {
  display: none;
}
.snow-monkey-form .smf-action {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-margin-before: clamp(24px, 5vw, 56px);
          margin-block-start: clamp(24px, 5vw, 56px);
}
.snow-monkey-form .smf-action .smf-button-control {
  width: 100%;
  max-width: 400px;
}
.snow-monkey-form .smf-action .smf-button-control__control {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  gap: 6px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #004B9E;
  border-radius: 10px;
  -webkit-transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
  transition: background-color 0.4s var(--easing-cubic1), color 0.4s var(--easing-cubic1);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm], .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete] {
  width: 100%;
  min-width: 260px;
  padding: 11px 24px;
  gap: 8px;
  background: #004B9E;
  color: #FFF;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]:focus-visible, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]:focus-visible {
  background: #FFF;
  color: #004B9E;
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=back] {
  min-width: 260px;
  padding: 11px 24px;
  gap: 8px;
  background: #FFF;
  color: #004B9E;
  font-weight: 400;
  font-size: calc(20 / 16 * 1rem);
  letter-spacing: calc(100 / 1000 * 1em);
}
.snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:focus-visible {
  background: #004B9E;
  color: #FFF;
}
.snow-monkey-form .smf-action .smf-button-control + .smf-button-control {
  margin-left: 0;
}
.snow-monkey-form .smf-placeholder [data-name=checkboxes] .smf-checkboxes-control__control {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}

div#autozip {
  display: none !important;
}

.txt-left {
  text-align: left !important;
}

.txt-right {
  text-align: right !important;
}

.txt-center {
  text-align: center !important;
}

.fs-big {
  font-size: 1.111em !important;
}

.fs-big-02 {
  font-size: 1.222em !important;
}

.fs-big-03 {
  font-size: 1.333em !important;
}

.fs-small {
  font-size: 0.889em !important;
}

.fs-small-02 {
  font-size: 0.778em !important;
}

.fs-small-03 {
  font-size: 0.667em !important;
}

/*---------------------------------------------------*/
.is-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
}

.is-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
}

.is-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 100%;
}

.hidden {
  display: none;
}

@media screen and (min-width: 768px){
  .only-sp {
    display: none !important;
  }
}

@media screen and (min-width: 900px){
  :root {
    --header-height: 80px;
  }
  .snow-monkey-form .smf-action {
    -webkit-margin-before: 56px;
            margin-block-start: 56px;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (max-width: 900px){
  .side-menu-out {
    display: none;
  }
  .side-menu-in {
    padding: 60px 30px 110px;
  }
  .common-body-header {
    display: block;
    z-index: 2;
    position: fixed;
    width: 100%;
    height: 90px;
  }
  .hamburger-menu-in {
    padding: 70px 30px 20px;
  }
  .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .main-content {
    padding: 0px;
    gap: 0;
  }
  .prepress .main-content {
    padding: 0px;
    gap: 0;
  }
  .prepress .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .production-management .main-content {
    padding: 0px;
    gap: 0;
  }
  .production-management .common-body::before {
    min-width: auto;
    max-width: 100%;
  }
  .production-management .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .planning-development .main-content {
    padding: 0px;
    gap: 0;
  }
  .planning-development .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .distribution-planning .main-content {
    padding: 0px;
    gap: 0;
  }
  .distribution-planning .common-body::before {
    min-width: auto;
    max-width: 100%;
  }
  .distribution-planning .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .manufacturing-department .main-content {
    padding: 0px;
    gap: 0;
  }
  .manufacturing-department .common-body::before {
    min-width: auto;
    max-width: 100%;
  }
  .manufacturing-department .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .sales-department .main-content {
    padding: 0px;
    gap: 0;
  }
  .sales-department .common-body::before {
    min-width: auto;
    max-width: 100%;
  }
  .sales-department .common-body {
    min-width: auto;
    max-width: 100%;
  }
  .general-affairs .main-content {
    padding: 0px;
    gap: 0;
  }
  .general-affairs .common-body::before {
    min-width: auto;
    max-width: 100%;
  }
  .general-affairs .common-body {
    min-width: auto;
    max-width: 100%;
  }
}

@media screen and (max-height: 870px){
  .side-menu-in-secondbox {
    padding-right: 10px;
  }
}

@media screen and (max-width: 768px){
  body {
    line-height: 1.5;
  }
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.5;
  }
  .tel-link {
    text-decoration: underline;
    pointer-events: auto;
  }
  .footer-menu {
    margin: 100px 20px 30px;
    padding: 25px 20px;
  }
  .interview-answer-text {
    padding-top: 10px;
  }
  .interview-schedule-list::before {
    top: 15px;
  }
  .interview-schedule-list-item::before {
    top: 15px;
  }
  .home-main-title {
    margin: 100px auto;
  }
  .home-job-introduction-wrap {
    padding-right: 10px;
    padding-left: 10px;
  }
  .job-introduction-wrap {
    margin: 100px auto 0;
    padding-right: 10px;
    padding-left: 10px;
  }
  .job-introduction-flow {
    padding: 30px 10px 15px;
  }
}

@media screen and (max-width: 767px){
  .only-pc {
    display: none !important;
  }
}

@media screen and (max-width: 576px){
  .hamburger-menu-in {
    overflow-y: auto;
  }
  .page-title {
    font-size: 33px;
    line-height: 2;
  }
  .content-title {
    font-size: 26px;
  }
  .section-title {
    font-size: 24px;
  }
  .section-subtitle {
    font-size: 24px;
  }
  .posts-text-box {
    font-size: 16px;
  }
  .employee-comments-list-title {
    font-size: 22px;
  }
  .employee-comments-list-item {
    font-size: 16px;
  }
  .employee-comments-detail-text {
    font-size: 20px;
  }
  .forms-entry-link {
    font-size: 18px;
  }
  .forms-company-tour-link {
    font-size: 16px;
  }
  .speech-bubble-box {
    gap: 15px;
  }
  .speech-bubble-text-box-left {
    padding: 10px 10px;
  }
  .speech-bubble-text-box-right {
    padding: 10px 10px;
  }
  .speech-bubble-text {
    font-size: 15px;
  }
  .speech-bubble-detail-link {
    font-size: 16px;
  }
  .lunch-wrap {
    margin: 50px auto 0;
  }
  .communication-wrap {
    margin: 50px auto 0;
  }
  .projects-wrap {
    margin: 50px auto 0;
  }
  .job-introduction-contact-title {
    font-size: 28px;
  }
  .job-introduction-section-title {
    font-size: 22px;
  }
  .top-section-text {
    font-size: 16px;
  }
  .top-section-box {
    font-size: 20px;
  }
  .job-introduction-anchor-link {
    font-size: 16px;
  }
  .job-introduction-sub-section-title {
    font-size: 23px;
  }
  .sub-section-title-big {
    font-size: 30px;
  }
  .work-flow-list-title {
    font-size: 22px;
  }
  .work-flow-list-title-big {
    font-size: 30px;
  }
  .work-flow-list-text {
    font-size: 16px;
  }
  .job-memory-text-box-right::before {
    position: absolute;
    top: calc(100% + 0px);
    right: 60px;
    width: 50px;
    height: 4px;
    content: "";
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 10px;
    background-color: #333333;
    -webkit-transform: rotate(55deg);
            transform: rotate(55deg);
  }
  .job-memory-text-box-right::after {
    position: absolute;
    top: calc(100% - 5px);
    right: 76px;
    width: 25px;
    height: 4px;
    content: "";
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #333333;
    -webkit-box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
    border-radius: 10px;
            box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
    -webkit-transform: rotate(55deg);
            transform: rotate(55deg);
  }
  .job-memory-text-box-left::before {
    position: absolute;
    top: calc(100% + 0px);
    left: 60px;
    width: 50px;
    height: 4px;
    content: "";
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    border-radius: 10px;
    background-color: #333333;
    -webkit-transform: rotate(-55deg);
            transform: rotate(-55deg);
  }
  .job-memory-text-box-left::after {
    position: absolute;
    top: calc(100% - 5px);
    left: 76px;
    width: 25px;
    height: 4px;
    content: "";
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #333333;
    -webkit-box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
    border-radius: 10px;
            box-shadow: 0 4px 0 #ffffff, 0 -4px 0 #ffffff;
    -webkit-transform: rotate(-55deg);
            transform: rotate(-55deg);
  }
  .job-memory-title {
    font-size: 20px;
  }
  .job-memory-title-small {
    font-size: 18px;
  }
  .job-memory-text {
    font-size: 16px;
  }
  .job-memory-img-text {
    font-size: 17px;
  }
  .career-box-main-text {
    font-size: 16px;
  }
  .career-root-01 {
    padding: 20px;
  }
  .career-root-02 {
    padding: 20px;
  }
  .career-root-03 {
    padding: 20px;
  }
  .career-root-line02::after {
    left: 25%;
  }
  .career-root-title {
    font-size: 22px;
  }
  .career-root-text {
    font-size: 16px;
  }
  .career-root-last-title {
    font-size: 24px;
  }
  .career-root-last-text {
    font-size: 16px;
  }
  .interviewee-box::before {
    gap: 45px;
  }
  .interview-section-title {
    font-size: 20px;
  }
  .interview-title-big {
    font-size: 24px;
  }
  .interview-sub-section-title {
    font-size: 22px;
  }
  .interview-answer-text {
    font-size: 16px;
  }
  .interview-schedule-list::before {
    top: 10px;
    left: 91px;
  }
  .interview-schedule-list-item::before {
    top: 10px;
    left: 85px;
  }
  .interview-schedule-time {
    min-width: 70px;
    font-size: 20px;
    font-family: Zen Maru Gothic;
  }
  .interview-schedule {
    padding-top: 5px;
    font-size: 22px;
  }
  .interview-schedule-note {
    font-size: 16px;
  }
  .recruitment-text {
    font-size: 16px;
  }
  .recruitment-job-antenna-link {
    padding: 20px 15px;
    gap: 15px;
    border-radius: 10px;
    background-color: #004B9E;
  }
  .recruitment-job-antenna-text {
    font-size: 20px;
  }
  .job-introduction-list--text {
    font-size: 22px;
  }
  .department-main-title {
    font-size: 23px;
  }
  .department-section-title {
    font-size: 23px;
  }
  .department-section-subtitle {
    font-size: 20px;
  }
  .main-content::before {
    background-attachment: scroll;
  }
  .home-main-title {
    padding-right: 20px;
    padding-left: 20px;
  }
  .home-menu-title-bottom {
    font-size: 36px;
  }
  .home-job-introduction-text {
    font-size: 20px;
  }
  .home-content-text {
    font-size: 20px;
  }
  .home-content-detail-link {
    font-size: 18px;
  }
  .modal-title {
    font-size: 24px;
  }
  .home-modal-expansion {
    font-size: 24px;
  }
  .customer-text {
    font-size: 16px;
  }
  .connect-and-combining-box {
    gap: 10px;
  }
  .job-introduction-flow-text {
    font-size: 16px;
  }
  .interviewee-department {
    font-size: 15px;
  }
  .interviewee-job-type {
    font-size: 18px;
  }
  .message-list {
    gap: 20px 10px;
  }
  .tab-number {
    font-size: 22px;
  }
  .tab-list-text {
    font-size: 15px;
  }
  .president-title {
    font-size: 20px;
  }
  .president-two-column-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .president-left-column {
    width: 100%;
  }
  .president-right-column {
    width: 100%;
  }
  .department-text {
    font-size: 18px;
  }
  .prepress .main-content::before {
    background-attachment: scroll;
  }
  .production-management .main-content::before {
    background-attachment: scroll;
  }
  .planning-development .main-content::before {
    background-attachment: scroll;
  }
  .distribution-planning .main-content::before {
    background-attachment: scroll;
  }
  .manufacturing-department .main-content::before {
    background-attachment: scroll;
  }
  .sales-department .main-content::before {
    background-attachment: scroll;
  }
  .general-affairs .main-content::before {
    background-attachment: scroll;
  }
  .snow-monkey-form .smf-placeholder [data-name=checkboxes] .smf-checkboxes-control__control {
    grid-template-columns: repeat(1, 1fr);
  }
}

@media screen and (max-width: 340px){
  .career-root-line02::after {
    left: 15%;
  }
}

@media (any-hover: hover){
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]:hover, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]:hover {
    background: #FFF;
    color: #004B9E;
  }
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:hover {
    background: #004B9E;
    color: #FFF;
  }
}

@media (any-hover: none){
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=confirm]:active, .snow-monkey-form .smf-action .smf-button-control__control[data-action=complete]:active {
    background: #FFF;
    color: #004B9E;
  }
  .snow-monkey-form .smf-action .smf-button-control__control[data-action=back]:active {
    background: #004B9E;
    color: #FFF;
  }
}

@media (prefers-reduced-motion: no-preference){
  html:focus-within {
    scroll-behavior: smooth;
  }
  :focus-visible {
    -webkit-transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
    transition: outline-offset 145ms cubic-bezier(0.25, 0, 0.4, 1);
  }
  :where(:not(:active)):focus-visible {
    -webkit-transition-duration: 0.25s;
            transition-duration: 0.25s;
  }
}
/*# sourceMappingURL=style.css.map */
