@charset "shift_JIS";

*::before,
*::after {
  box-sizing: border-box;
}

.recruit #content p, .recruit #content_body p {
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 32px;
  color: #000;
}

.recruit #wrapper {
  width: 100%;
  max-width: 920px;
  margin: 0 auto 0 auto;
}

.recruit #content {
  width: 100%;
}

.recruit .sp-logo, .entry .sp-logo {
  display: none;
}

.recruit .top {
  width: 100%;
  position: relative;
  margin-bottom: 15px;
}

.recruit #content .top-img {
  text-align: center;
  z-index: 10;
  position: relative;
}

.recruit #content .top-img img {
  width: 100%;
}

.recruit #content .top-img::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  /* 下端 10% だけを使って白→透明に */
  background: linear-gradient(to top,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, .9) 6%,
      rgba(255, 255, 255, 0) 17%);
}

.recruit #content .top-img video {
  width: 100%;
  height: auto;
}

/* heading */
.recruit #content h2 {
  font-family: "Noto Serif JP",
    "Hiragino Mincho ProN", "Hiragino Mincho",
    "Yu Mincho", "MS PMincho", "MS Mincho",
    serif;
  font-weight: 500;
  font-size: 32px;
  line-height: 35px;
  letter-spacing: 0;
  color: #213B56;
  border-left: none;
  border-bottom: unset;
  margin-bottom: unset;
  padding: unset;
  position: relative;
  text-align: center;
  margin-bottom: 12px;
}

.recruit #content_body {
  padding-top: 22px;
}

.recruit #content_body h2 {
  color: #000;
}

.recruit #content h3 {
  font-family: "Noto Serif JP",
    "Hiragino Mincho ProN", "Hiragino Mincho",
    "Yu Mincho", "MS PMincho", "MS Mincho",
    serif;
  font-weight: 400;
  font-size: 24px;
  line-height: 40px;
  letter-spacing: 0;
  color: #000;
  border-bottom: solid 1px #206FC2;
  border-left: unset;
  text-align: center;
  padding-bottom: 8px;
  margin-bottom: 25px;
}

.recruit #content h2 span {
  display: inline-block;
  width: 100%;
  color: #213B56;
  font-family: "Oswald", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Yu Gothic", Meiryo, sans-serif;
  font-weight: 300;
  letter-spacing: 0.5px;
  font-style: normal;
  font-size: 16px;
  line-height: 35px;
  position: absolute;
  top: -30px;
  left: 50%;
  transform: translateX(-50%);
}

.recruit #content h2 span::after {
  content: "";
  display: inline-block;
  width: 35px;
  height: 6px;
  background-image: url('/recruit/sailor/img/wave.png');
  background-position: center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

.top-menu-bg {
  width: 225px;
  position: absolute;
  z-index: 20;
  top: 0;
  left: 44px;
}

.anchor {
  padding-top: 140px !important;
  margin-top: -100px !important;
  /* ヘッダーの高さを入力 */
}

/* ===== パネルはそのまま ===== */
.recruit #content .top-menu {
  width: 167px;
  padding: 52px 26px 7px;
  border-radius: 0 0 14px 14px;
  box-shadow: 0 4px 30px rgba(0, 0, 0, .1);
  background: url(/recruit/sailor/img/rectangle.png) no-repeat center center;
  background-size: cover;
  background-color: rgba(255, 255, 255, 0.2);
  border-left: 3px solid #FFF;
  border-right: 3px solid #FFF;
  border-bottom: 3px solid #FFF;
  margin-bottom: 18px;
}

/* ===== リスト（既定マーカーは完全OFF） ===== */
.recruit #content .top-menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.recruit #content .top-menu ul.list-dot>li {
  position: relative;
  /* 疑似要素の基準 */
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 22px;
  /* ≒37px */
  color: #213B56;
  background: unset;
}

.recruit #content .top-menu ul.list-arrow {
  padding-top: 10px;
}

.recruit #content .top-menu ul.list-arrow>li {
  position: relative;
  /* 疑似要素の基準 */
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
  font-size: 18px;
  line-height: 20px;
  /* ≒37px */
  color: #213B56;
  background: unset;
}

.recruit #content ul>li::marker {
  content: none !important;
}

/* 念のため */
.entry #content ul>li::marker {
  content: none !important;
}

/* 念のため */
.recruit #content ul, .recruit #content ol {
  list-style: none !important;
  padding-left: 0;
  -webkit-padding-start: 0;
  /* Safari用 */
}

.recruit #content ul>li,
.recruit #content ol>li {
  list-style: none !important;
}

/* ===== Font Awesome（疑似要素）共通 ===== */
.recruit #content .top-menu ul>li::before {
  font-family: "Font Awesome 6 Free";
  /* Proなら "Font Awesome 6 Pro" */
  font-weight: 900;
  /* Solid必須 */
  font-style: normal;
  line-height: 1;
  position: absolute;
  left: 0;
  top: 8px;
  color: #2A67C9;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  speak: none;
}

/* 親: fa-circle-dot = \f192 */
.recruit #content .top-menu ul.list-dot>li::before {
  content: "\f192";
  font-size: 14px;
}

/* 子: 画像 */
.recruit #content .top-menu ul.list-arrow>li::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 8px;
  background-image: url('/recruit/sailor/img/arrow.png');
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);

}

/* 入れ子インデント（親dot内の子arrowのみ） */
.recruit #content .top-menu ul.list-dot>li>ul.list-arrow {
  margin-top: .2em;
  margin-left: 1.6em;
}

.recruit #content .top-menu ul.list-dot a {
  padding-left: 20px;
}

.recruit #content .top-menu ul.list-arrow a {
  padding-left: 12px;
}

.recruit #content .top-menu ul a {
  color: #213B56;
  text-decoration: none;
}

.recruit #content .top-menu ul a:hover {
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: #206FC2;
  text-decoration-thickness: 2px;
  /* 下線の太さ */
}

.recruit #content .entry-btn {
  padding: unset;
}

.recruit #content .entry-btn a {
  display: block;
  padding: 21px 30px;
  font-size: 24px;
  line-height: 35px;
  color: #FFF;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
  background: linear-gradient(90deg, rgba(235, 51, 73, 1) 0%, rgba(244, 92, 67, 1) 59%), url('/recruit/sailor/img/btn-bg.png');
  background-blend-mode: overlay;
  /* ← ここがポイント！ */
  border-radius: 59px;
  border: #FFF 1px solid;
  position: relative;
}

.recruit #content .entry-btn a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.recruit #content .entry-btn a::before {
  content: "";
  position: absolute;
  right: 20px;
  background: #fff;
  border-radius: 50%;
  width: 33px;
  height: 33px;
}

.recruit #content .entry-btn a::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-image: url(/recruit/sailor/img/btn-arrow.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 27px;
  top: 32px;
}

.recruit #content .top-txt {
  font-size: 38px;
  font-weight: 900;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  color: #231815;
  background-color: #FFF;
  padding: 2px 0px 2px 8px;
  line-height: 44px;
  letter-spacing: 2px;
}

.recruit #content .top-txt.txt1 {
  position: absolute;
  right: 25px;
  bottom: 113px;
  z-index: 10;
  letter-spacing: 2px;
}

.recruit #content .top-txt.txt2 {
  position: absolute;
  right: 25px;
  bottom: 69px;
  z-index: 10;
  letter-spacing: 2px;
}

.recruit #content .top-txt span.txt-bold {
  color: #2469B3;
  letter-spacing: 2px;
}

.pc-only {
  display: inline-block;
}

.sp-only {
  display: none;
}

.tb-ten {
  display: none;
}

.pc-ten {
  display: inline-block;
}

.recruit .menu-bg {
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(/recruit/sailor/img/rectangle.jpg);
  background-size: cover;
  padding: 5px;
  border-radius: 30px;
}

.recruit .menu-bg.is-fixed {
  position: fixed;
  top: 20px;
  left: 0;
  right: 0;
  max-width: 920px;
  width: 100%;
  margin: 0 auto;
  z-index: 30;
}

.recruit .menu-logo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 10px;
  position: relative;
}

.recruit .menu-logo::after {
  content: "";
  position: absolute;
  right: -7px;
  /* 要素の左端 */
  top: 50%;
  /* 縦中央 */
  transform: translateY(-50%);
  height: 17px;
  /* ← 指定どおり */
  border-left: solid 2px #206FC2;
}

.recruit #content p.menu-title {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
  font-weight: 600;
  font-size: 18px;
  color: #000;
  margin-bottom: unset;
}

.recruit ul.menu-ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 26px;
  padding: unset;
  line-height: unset;
  margin-left: 40px;
}

.recruit #content ul.menu-ul li {
  background: unset;
  list-style: unset;
  margin-bottom: unset;
}

.recruit #content ul.menu-ul li a {
  color: #000;
  text-decoration: none;
  font-size: 14px;
  vertical-align: -2px;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
}

.recruit #content ul li a:hover {
  opacity: 0.7;
}

.recruit #content .recruit #content ul.menu-ul li.entry-menu {
  padding: unset;
}

.recruit #content ul.menu-ul li.entry-menu a {
  display: block;
  padding: 7px 15px;
  color: #FFF;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
  background: linear-gradient(90deg, rgba(235, 51, 73, 1) 0%, rgba(244, 92, 67, 1) 59%), url('/recruit/sailor/img/btn-bg.png');
  background-blend-mode: overlay;
  /* ← ここがポイント！ */
  border-radius: 59px;
  position: relative;
}

.recruit #content ul.menu-ul li.entry-menu a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.recruit #content_body #about {
  padding-top: 40px;
}

.recruit #content_body #about .about-box {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0 28px;
  margin-bottom: 40px;
}

.recruit #content_body #about img {
  border-radius: 14px;
  width: 262px;
  height: 379px;
}

.recruit #content_body #about a {
  color: #000;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-color: #206FC2;
  text-decoration-thickness: 2px;
  /* 下線の太さ */
}

.recruit #content_body #about a:hover {
  opacity: 0.7;
}

.recruit #content_body #about a span {
  font-weight: 900;
}

/* しましまtable */
.recruit #content_body #about table, .recruit #content_body #recruitment table, .clerical #content_body table {
  width: 100%;
  margin: 0 0 25px;
  border: none;
  border-collapse: separate;
  border-spacing: 4px;
  background-color: #fff;
  padding: 0;
  table-layout: fixed;
  /* ← これがポイント */
}

.recruit #content_body #recruitment table, .clerical #content_body #recruitment table {
  background-color: #F2F2F2;
}

.recruit #content_body #recruitment table span, .clerical #content_body #recruitment table span {
  font-size: 14px;
}

.recruit #content_body #about th, .clerical #content_body #about th,
.recruit #content_body #recruitment th, .clerical #content_body th {
  text-align: center;
  line-height: 18px;
}

/* th / td 共通 */
.recruit #content_body #about th, .clerical #content_body th,
.recruit #content_body #about td, .clerical #content_body td,
.recruit #content_body #recruitment th, .clerical #content_body th,
.recruit #content_body #recruitment td, .clerical #content_body td {
  border-right: none;
  border-bottom: none;
  color: #000;
  vertical-align: top;
  font-size: 16px;
  line-height: 24px;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  white-space: normal;
  background: #FFF;
}


.recruit #content_body #about td, .clerical #content_body td,
.recruit #content_body #recruitment th, .clerical #content_body th,
.recruit #content_body #recruitment td, .clerical #content_body td {
  border-right: none;
  border-bottom: none;
  color: #000;
  vertical-align: top;
  font-size: 16px;
  line-height: 24px;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  white-space: normal;
  background: #FFF;
  text-align: left;
  padding: 5px 15px;
}

.recruit #content_body #recruitment td p, .clerical #content_body td p {
  line-height: 32px;
  background-color: unset;
}

/* th / td 個別 */
.recruit #content_body #about tr:nth-child(odd) th, .recruit #content_body #recruitment tr:nth-child(odd) th, .clerical #content_body tr:nth-child(odd) th, .clerical #content_body tr:nth-child(odd) th {
  width: 20%;
  background: #DAE3EC;
  font-weight: 600;
  vertical-align: middle;
  padding: 0;
  text-align: center;
  padding: 10px 15px;
}

.recruit #content_body #about tr:nth-child(even) th, .recruit #content_body #recruitment tr:nth-child(even) th, .clerical #content_body tr:nth-child(even) th, .clerical #content_body tr:nth-child(even) th {
  width: 20%;
  background: #CBDCEF;
  font-weight: 600;
  vertical-align: middle;
  padding: 0;
  text-align: center;
}

.recruit #content_body #about tr:nth-child(odd) td, .recruit #content_body #recruitment tr:nth-child(odd) td, .clerical #content_body #about tr:nth-child(odd) td, .clerical #content_body tr:nth-child(odd) td {
  width: 80%;
  background: #EEF2F6;
  text-align: left;
  font-weight: 400;
}

.recruit #content_body #about tr:nth-child(event) td, .recruit #content_body #recruitment tr:nth-child(event) td, .clerical #content_body #about tr:nth-child(event) td, .clerical #content_body #recruitment tr:nth-child(event) td {
  width: 80%;
  background: #FFF;
  text-align: left;
  font-weight: 400;
}
.recruit #content_body .recruitment-table ul {
  margin-left: unset;
}

.recruit #content_body #gallery p {
  text-align: center;
}

.recruit #content_body #assigned {
  padding-top: 50px;
}

.recruit #content p, .recruit #content_body p.rec-txt {
  text-align: left;
  line-height: 24px;
  /* margin-bottom: 10px; */
}

.recruit #content_body #assigned .assigned-box {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 0 28px;
  margin-bottom: 40px;
  width: 100%;
}

.recruit #content_body #assigned .assigned-item {
  width: 50%;
  position: relative;
}

.recruit #content_body #assigned .assigned-item img {
  max-width: 445px;
  width: 100%;
}

.recruit #content_body #assigned .assigned-ex {
  width: 352px;
  padding: 14px 27px 52px;
  background-image: url(/recruit/sailor/img/rectangle.jpg);
  background-size: cover;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 10px;
}

.recruit #content_body #assigned .assigned-ex {
  width: 352px;
  padding: 14px 27px 52px;
  background-image: url(/recruit/sailor/img/rectangle.jpg);
  background-size: cover;
  position: absolute;
  top: 70%;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 10px;
}

.recruit #content_body #assigned .assigned-ex span {
  font-weight: bold;
}

.recruit #content_body #assigned .assigned-ex span:nth-of-type(even) {
  margin-left: 32px;
}

.recruit #content_body #assigned .assigned-btn {
  position: absolute;
  top: 108%;
  /* 親要素の半分下にずらす */
  left: 50%;
  /* 親要素の半分右にずらす */
  transform: translateX(-50%);
  /* 要素自体の半分、上と左にずらす */
}

.recruit #content_body #assigned .assigned-btn a {
  width: 353px;
  display: flex;
  /* アイコン＋テキストを横並びに */
  align-items: center;
  /* 縦中央揃え */
  justify-content: center;
  padding: 16px 0 16px 30px;
  font-size: 24px;
  line-height: 35px;
  color: #FFF;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 600;
  background: linear-gradient(90deg, rgba(235, 51, 73, 1) 0%, rgba(244, 92, 67, 1) 59%), url('/recruit/sailor/img/btn-bg.png');
  background-blend-mode: overlay;
  /* ← ここがポイント！ */
  border-radius: 59px;
  /* border: #FFF 1px solid; */
  position: relative;
  padding-left: 45px;
  top: 50%;
  /* 親要素の半分下にずらす */
  left: 50%;
  /* 親要素の半分右にずらす */
  transform: translateY(-50%) translateX(-50%);
  /* 要素自体の半分、上と左にずらす */
}

.recruit #content_body #assigned .assigned-btn a:hover {
  text-decoration: none;
  opacity: 0.7;
}

.recruit #content_body #assigned .assigned-btn a::before {
  content: "";
  display: block;
  width: 49px;
  height: 22px;
  background-image: url(/recruit/sailor/img/ship.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 50px;
  top: 23px;
}

.recruit #content_body #recruitment {
  padding-top: 100px;
}

.recruit #content_body #recruitment .recruitment-bg {
  padding: 70px 85px 40px;
  background: #F2F2F2;
  text-align: center;
}

.recruit #content_body #recruitment ul li {
  background: unset;
  list-style-type: disc;
  line-height: 20px;
}

.recruit #content_body #recruitment ul li:last-child {
  margin-bottom: unset;
}

.recruit #content_body #recruitment ul li::marker {
  font-size: 0;
  color: transparent;
}

.recruit #content_body #recruitment span.name {
  /* display: inline-block; */
  background: #206FC2;
  padding: 3px 5px;
  color: #FFF;
  margin-right: 10px;
  margin-bottom: 1rem;
}

.recruit #content_body #recruitment span.ex {
  color: #206FC2;
  margin-bottom: 1rem;
  font-weight: bold;
  font-size: 16px;
  font-weight: 600;
}

/* 採用エントリーボタン */
.recruit #content #recruitment .entry-btn, .recruit #content #details .entry-btn {
  text-align: center;
}

.recruit #content #recruitment .entry-btn a, .recruit #content #details .entry-btn a {
  width: 420px;
  margin: 0 auto;
}

.recruit #content #recruitment .entry-btn a::before, .recruit #content #details .entry-btn a::before {
  content: "";
  position: absolute;
  right: 20px;
  background: #fff;
  border-radius: 50%;
  width: 33px;
  height: 33px;
}

.recruit #content #recruitment .entry-btn a::after, .recruit #content #details .entry-btn a::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-image: url(/recruit/sailor/img/btn-arrow.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 27px;
  top: 32px;
}

.recruit #content_body #gallery {
  padding-top: 65px;
  text-align: center;
}

/* 共通：フル幅のスライダー */
.gallery-slider {
  position: relative;
  width: 100vw;
  left: 50%;
  margin-left: -50vw;
  padding: 25px 0 0;
  overflow: hidden;
}

/* 2段目だけ少し余白を空けたい場合（任意） */
.gallery-slider-bottom {
  margin-top: 5px;
  padding: unset;
}

/* トラック基本 */
.gallery-track {
  display: flex;
  gap: 5px;
}

/* 画像は227×227固定 */
.gallery-item {
  flex: 0 0 auto;
}

.gallery-item img {
  display: block;
  width: 227px;
  height: 227px;
  object-fit: cover;
}

.gallery-item .lb-image img {
  max-width: calc(100vw - 80px);
  max-height: calc(100vh - 80px);
}

/* ホバーで一時停止（共通） */
.gallery-slider:hover .gallery-track {
  animation-play-state: paused;
}

/* 1段目：右方向へ流れる */
.gallery-track-right {
  animation: gallery-scroll-right 30s linear infinite;
}

/* 2段目：左方向へ流れる */
.gallery-track-left {
  animation: gallery-scroll-left 30s linear infinite;
}

/* 右向き（今までの動き） */
@keyframes gallery-scroll-right {
  from {
    transform: translateX(-50%);
  }

  to {
    transform: translateX(0);
  }
}

/* 左向き（反対方向） */
@keyframes gallery-scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-50%);
  }
}

.recruit #content_body #details .ship-txt-sp {
  display: none;
}

.recruit #content_body #details {
  padding-top: 67px;
}

.recruit #content_body #details h2 {
  margin-bottom: 30px;
}

.recruit #content_body #details .details-bg {
  padding: 70px 85px 52px;
  background: #F2F2F2;
}

.recruit #content_body #details h3 {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 35px;
  letter-spacing: 0;
  border-bottom: unset;
  text-align: left;
  padding-left: 25px;
  position: relative;
  margin-left: 28px;
  margin-bottom: 8px;
}

.recruit #content_body #details h3::before {
  content: "";
  display: inline-block;
  width: 41px;
  height: 38px;
  background-image: url('/recruit/sailor/img/flag.png');
  background-position: center;
  background-size: contain;
  transform: translateX(-50%);
  position: absolute;
  top: 0;
  left: 0;
}

.recruit #content_body #details img {
  width: 100%;
  margin: 0 auto;
}

.recruit #content_body #details .details-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #FFF;
  padding: 15px 30px;
  margin-bottom: 4px;
}

.recruit #content_body #details .map-icon img {
  width: auto;
  height: 29px;
}

.recruit #content_body #details .map-tit {
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 35px;
  color: #206FC2;
}

.recruit #content_body #details .time {
  margin-bottom: 40px;
  width: 100%;
  padding: 18px 0;
}

.recruit #content_body #details .map-icon.arrow-pc {
  display: block;
}

.recruit #content_body #details .map-icon.arrow-sp {
  display: none;
}

.recruit #content_body #details .time .map-tit {
  position: relative;
  margin-left: 40px;
}

.recruit #content_body #details .time .map-tit-bg {
  border-right: solid 1px #206FC2;
  padding: 10px;
  width: 40%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.recruit #content_body #details .time .map-txt-bg {
  display: flex;
  align-items: center;
  justify-content: space-evenly;
  flex-wrap: wrap;
  width: 67%;
  gap: 0 10px;
}

.recruit #content_body #details .time .map-tit::before {
  content: "";
  display: block;
  background-image: url(/recruit/sailor/img/nami.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  width: 31px;
  height: 14px;
  position: absolute;
  top: 15px;
  left: -32px;
}

.recruit #content_body #details .map-txt {
  line-height: 26px;
}

.recruit #content_body #details .time .map-txt {
  width: 33%;
  line-height: 17px;
}

.recruit #content_body #details .map-txt-c {
  text-align: center;
  line-height: 26px;
}

.recruit #content_body #details .map-txt-c span {
  font-size: 20px;
}

.recruit #content_body #details #meiyu, .recruit #content_body #details #tetsuyo {
  position: relative;
  height: 520px;
}

.recruit #content_body #details #meiyu .ship-about, .recruit #content_body #details #tetsuyo .ship-about {
  width: 600px;
  height: 163px;
  background-image: url('data:image/svg+xml,%3Csvg%20width%3D%22601%22%20height%3D%22163%22%20viewBox%3D%220%200%20601%20163%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%3Cpath%20d%3D%22M580.192%200C591.238%200%20600.192%208.95431%20600.192%2020V143C600.192%20154.046%20591.238%20163%20580.192%20163H150.192C139.147%20163%20130.192%20154.046%20130.192%20143V109C130.192%20100.716%20123.477%2094%20115.192%2094H20C8.95431%2094%202.25506e-07%2085.0457%200%2074V20C0%208.95431%208.95431%200%2020%200H580.192Z%22%20fill%3D%22url(%23paint0_linear_51_586)%22%2F%3E%0A%3Cdefs%3E%0A%3ClinearGradient%20id%3D%22paint0_linear_51_586%22%20x1%3D%22293.192%22%20y1%3D%2292.5%22%20x2%3D%22293.192%22%20y2%3D%22154.5%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%0A%3Cstop%20stop-color%3D%22white%22%2F%3E%0A%3Cstop%20offset%3D%220.35%22%20stop-color%3D%22white%22%2F%3E%0A%3Cstop%20offset%3D%221%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%0A%3C%2FlinearGradient%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E');
  margin: 0 auto;
  position: absolute;
  z-index: 20;
  left: 50%;
  /* 親要素の半分右にずらす */
  transform: translateX(-50%);
  /* 要素自体の半分、上と左にずらす */
}

.recruit #content_body #details #meiyu .ship-bg, .recruit #content_body #details #tetsuyo .ship-bg {
  margin-top: 10px;
  display: flex;
  justify-content: center;
}

.recruit #content_body #details #meiyu .ship-about h3, .recruit #content_body #details #tetsuyo .ship-about h3 {
  display: inline-block;
  font-family: "Oswald", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans",
    "Yu Gothic", Meiryo, sans-serif;
  font-weight: 300;
  letter-spacing: 0.01px;
  font-style: normal;
  font-size: 16px;
  line-height: 30px;
  color: #213B56;
  text-align: center;
  padding-left: unset;
  position: unset;
  margin-left: unset;
  margin-right: 30px;
  margin-bottom: unset;
  width: 100px;
}

.recruit #content_body #details #meiyu .ship-about h3::before, .recruit #content_body #details #tetsuyo .ship-about h3::before {
  all: unset;
}

.recruit #content_body #details #meiyu .ship-about h3 span, .recruit #content_body #details #tetsuyo .ship-about h3 span {
  font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 40px;
  color: #000;
  border-bottom: solid 2px #206FC2;
  text-align: center;
  margin-bottom: unset;
  letter-spacing: 1px;
  display: block;
}

.recruit #content_body #details #meiyu p.ship-txt, .recruit #content_body #details #tetsuyo p.ship-txt {
  font-size: 13.5px;
  line-height: 22px;
}

.recruit #content_body #details #meiyu p.ship-txt span, .recruit #content_body #details #tetsuyo p.ship-txt span {
  font-weight: 900;
  font-size: 13.5px;
  display: inline-block;
  width: 52%;
}

.recruit #content_body #details #meiyu p.ship-txt.w-01, .recruit #content_body #details #tetsuyo p.ship-txt.w-01 {
  width: 240px;
}

.recruit #content_body #details #meiyu p.ship-txt.w-02, .recruit #content_body #details #tetsuyo p.ship-txt.w-02 {
  width: 172px;
}

/* 船のスライドショー */
.ship-gallery {
  width: 600px;
  height: 424px;
  /* お好みで */
  margin: 0 auto 40px;
  position: absolute;
  z-index: 10;
  left: 50%;
  /* 親要素の半分右にずらす */
  transform: translateX(-50%);
  /* 要素自体の半分、上と左にずらす */
}

/* メイン画像 */
.recruit #content_body #details .ship-main {}

.recruit #content_body #details .ship-main img {
  margin-top: 68px;
  display: block;
  width: 100%;
  height: auto;
}

/* サムネイル列を中央寄せ＆間隔調整 */
.ship-thumbs {
  display: flex;
  justify-content: center;
  /* 中央寄せ */
  gap: 8px;
  margin-top: 15px;
}

/* 丸ポチ本体 */
.ship-thumb {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  border: none;
  padding: 0;
  background: #ccc;
  /* 非アクティブ：グレー */
  cursor: pointer;
}

/* 中の画像は使わないので非表示 */
.ship-thumb img {
  display: none;
}

/* 現在のスライド用（JSで .is-active が付く前提） */
.ship-thumb.is-active {
  background: #206FC2;
  /* アクティブ：青 */
}

/* 初期状態は透明寄りにしておく（アニメーションで1にする） */
#ship-main-img {
  opacity: 0;
}

.ship-gallery .ship-main-img {
  opacity: 0;
}

.ship-gallery .ship-main-img.fade-in {
  animation: shipFadeIn 1.2s ease-out forwards;
}

@keyframes shipFadeIn {
  0% {
    opacity: 0;
  }

  40% {
    opacity: 0.4;
  }

  100% {
    opacity: 1;
  }
}


/* エントリーフォーム */
.entry {
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-size: 14px;
  line-height: 30px;
}

.entry #sidebar aside ul li a, #sidebar #sub_menu ul li a {
  line-height: 1.5;
  padding: 14px 16px 14px 24px;
}

.entry p.entry-txt {
  margin-bottom: 30px;
}

.entry form {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 5px;
  margin-bottom: 20px;
}

.entry form div {
  display: flex;
  align-items: center;
  width: 100%;
}

.entry form p {
  color: #19345B;
  font-size: 16px;
  font-weight: 600;
  margin-left: 20px;
}

.entry span.sub-txt {
  color: #19345B;
  font-size: 16px;
  font-weight: 400;
  margin-left: 0.5rem;
}

.entry .entry-other p.sub-txt {
  font-weight: unset;
}

.entry .cap-yn span.sub-txt {
  /* width: 100%; */
}

.entry form label {
  position: relative;
  margin-right: 0.25rem;
  display: inline-flex;
  align-items: center;
}

.entry form label::before {
  content: "";
  position: absolute;
  left: -20px;
  top: 50%;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background-color: #244463;
}

.entry form .entry-dep, .entry form .entry-ex, .entry form .dep-box, .entry form .cap-box, .entry form .entry-cap, .entry form .cap-box, .entry form .entry-message {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.entry form .entry-ex>label, .entry form .entry-cap>label {
  width: 25%;
}

.entry form .entry-ex .ex-box label, .entry form .cap-yn label {
  width: 12%;
  /* margin-bottom: 0.5rem; */
}

.entry form div.ex-box, .entry form div.cap-box, .entry form .cap-yn {
  width: 100%;
  display: flex !important;
  /* 強制的にflexにする */
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.entry form .entry-cap>p {
  margin-right: 10px;
}

.entry form .entry-cap p.sub-txt {
  margin-left: unset;
  margin-right: 10px;
  width: 11%;
}

.entry form .cap-yn {
  flex-wrap: wrap;
  margin-bottom: 0.5rem;
}

.entry form .ex-year {
  display: flex;
  flex-wrap: wrap;
  margin-left: unset;
  align-items: center;
}

.entry form .ex-year b {
  width: 100%;
}

.entry .ex-box label {
  display: inline-flex;
  /* ラジオ＋文字を1セットで横並び */
  align-items: center;
  gap: 4px;
  /* ボタンと文字の間隔 */
  margin: 0;
}

.entry form .cap-box>div {
  display: flex !important;
  width: 100%;
  flex-direction: row;
  align-items: center;
  margin-bottom: 20px;
}

.entry form .entry-right {
  flex-direction: column;
  align-items: flex-start;
  width: 70%;
}

.entry form .entry-dep>p {
  width: 100%;
}

.entry form .dep-box label::before, .entry form .ex-box label::before, .entry form .cap-yn label::before {
  all: unset;
}

.entry form .cap-box, .entry form .entry-message textarea {
  width: 60%;
}

.entry form .entry-message textarea {
  height: 250px;
  max-width: 500px;
  width: 100%;
  border: #231815 1px solid;
  border-radius: 5px;
  padding: 10px 10px;
  line-height: 1.5;
}

.entry form .dep-box span, .entry form .ex-box span {
  color: #19345B;
  font-size: 16px;
  font-weight: 400;
  margin-right: 1rem;
}

.entry form .dep-box input, .entry form .ex-box input, .entry form .cap-box input, .entry form .cap-yn input {
  width: unset;
}

.entry form .entry-age input[type="number"] {
  -moz-appearance: textfield;
  /* Firefox */
}

.entry form .entry-age input[type="number"]::-webkit-outer-spin-button,
.entry form .entry-age input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  /* Chrome, Edge, Safari */
  margin: 0;
}

.entry form .entry-ex b {
  margin-right: 1rem;
  margin-bottom: 0.5rem;
}

.entry #content h2 span {
  color: #206FC2;
  margin-left: 23px;
}

.entry #content .red {
  color: #F00;
  font-weight: bold;
  font-size: 12px;
}

.entry form input {
  border: #231815 1px solid;
  border-radius: 5px;
  width: 284px;
  height: 25px;
  padding: 10px 10px;
}

.entry form .entry-age input, .entry .ex-year input, .entry .entry-cap .cap-txt input {
  width: 65px;
  min-height: 25px;
  display: flex;
  align-items: center;
  gap: 8px;
  /* 「海技士」「入力」「級」の間隔を調整 */
  white-space: nowrap;
}

.entry form .entry-age {
  align-items: center;
}

.entry form .sp-flex {
  display: flex;
  align-items: self-end;
}

.entry form .cap-txt input[type="number"] {
  display: inline-block;
  /* テーマで display:block になっている場合に上書き */
  width: 5em;
  /* お好みで。広すぎる場合に調整 */
  max-width: 100%;
  /* はみ出し防止 */
}

.entry #content .entry-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding-right: 23%;
}

.entry #content .entry-btn {
  padding: unset;
  text-align: center;
  margin-bottom: 50px;
  width: 100%;
}

.entry #content .entry-btn button {
  width: 100%;
  display: block;
  padding: 21px 30px;
  font-size: 24px;
  line-height: 35px;
  color: #FFF;
  font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
    "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 500;
  background: linear-gradient(90deg, rgba(235, 51, 73, 1) 0%, rgba(244, 92, 67, 1) 59%), url('/recruit/sailor/img/btn-bg.png');
  background-blend-mode: overlay;
  /* ← ここがポイント！ */
  border-radius: 59px;
  border: #FFF 1px solid;
  position: relative;
  max-width: 451px;
  margin: 0 auto;
  cursor: pointer;
}

.entry #content .entry-btn button:hover {
  text-decoration: none;
  opacity: 0.7;
}

.entry #content .entry-btn button::before {
  content: "";
  position: absolute;
  right: 20px;
  background: #fff;
  border-radius: 50%;
  width: 33px;
  height: 33px;
}

.entry #content .entry-btn button::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 12px;
  background-image: url(/recruit/sailor/img/btn-arrow.png);
  background-position: center;
  background-size: contain;
  position: absolute;
  right: 27px;
  top: 32px;
}

.entry #content .entry-link {
  text-align: center;
  font-size: 16px;
  width: 100%;
  margin-bottom: 10px;
}

.entry form .entry-message {
  flex-direction: column !important;
}

.clerical p:last-child, .entry p.entry-txt.mb60 {
  margin-bottom: 60px;
}

/* ボタン本体 */
a.job-btn {
width: 190px;
height: 60px;
line-height: 60px;
padding: 0 20px;
margin-bottom: 16px;
background-color: #19345C;
color: #fff!important;
font-weight: 400!important;
text-decoration: none;
display: flex;
align-items: center;
justify-content: center;
font-size: 16px;
letter-spacing: 0.04em;
border-radius: 6px;
transition:
background-color 0.25s ease,
box-shadow 0.25s ease;
}
/* 中の文字＋矢印だけ動かす */
a.job-btn span {
display: inline-flex;
align-items: center;
gap: 6px;
transition: transform 0.25s ease;
}
a.job-btn:hover {
background-color: #1f4172;
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
text-decoration: unset!important;
}
a.job-btn:visited {
background-color: #1f4172;
box-shadow: 0 6px 14px rgba(0, 0, 0, 0.22);
text-decoration: unset!important;
color: #FFF!important;
}
a.job-btn:hover span {
transform: translateX(4px);
}
a.job-btn:active {
box-shadow: 0 4px 10px rgba(0, 0, 0, 0.18);
}

@media screen and (max-width: 920px) {
  .recruit #content, .entry #content {
    position: relative;
  }

  /* ハンバーガーの丸ボタン */
  .hamburger {
    width: 50px;
    height: 50px;
    border: 2px solid #ccc;
    border-radius: 50%;
    position: fixed;
    top: 28px;
    right: 18px;
    background: #faf7f5;
    z-index: 1000;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    /* ← 縦並びにする */
    justify-content: center;
    /* 縦方向中央寄せ */
    align-items: center;
    /* 横方向中央寄せ */
  }

  .entry .hamburger {
    right: 30px;
  }

  .hamburger span {
    display: block;
    width: 25px;
    height: 3px;
    background-color: #244463;
    border-radius: 2px;
    margin: 2px 0;
  }

  /* 右からスライドするメニュー */
  .side-menu {
    position: fixed;
    top: 0;
    right: -1000px;
    /* 最初は画面外 */
    width: 100%;
    height: 100%;
    background: white;
    box-shadow: -3px 0px 6px rgba(0, 0, 0, 0.15);
    transition: right .4s ease;
    z-index: 1500;
    padding: 6px;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* iOSでなめらかスクロール */
  }

  .side-menu.open {
    right: 0;
  }

  /* ×ボタン（丸） */
  .close-btn {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 2px solid #ccc;
    background: #faf7f5;
    position: absolute;
    /* side-menu の右上に配置 */
    top: 20px;
    right: 20px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  /* ×の線（2本） */
  .close-btn::before,
  .close-btn::after {
    content: "";
    position: absolute;
    width: 20px;
    /* 線の長さ */
    height: 2px;
    /* 線の太さ */
    background-color: #244463;
    /* 紺っぽい色 */
    border-radius: 1px;
  }

  .close-btn::before {
    transform: rotate(45deg);
  }

  .close-btn::after {
    transform: rotate(-45deg);
  }

  /* 背景の半透明オーバーレイ */
  .overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.35);
    display: none;
    z-index: 1200;
  }

  .overlay.show {
    display: block;
  }

  .side-menu {
    border-top: 12px solid #1e3455;
  }

  /* メニューリスト */
  .side-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
  }

  .side-menu ul li {
    margin: 15px 0;
  }

  .side-menu ul li a {
    color: #244463;
    text-decoration: none;
    font-size: 18px;
  }

  .sp-menu {
    padding-top: 120px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .recruit #content .sp-menu h2, .entry #content .sp-menu h2 {
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
      "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 45px;
    color: #19345B;
    position: relative;
    padding-left: 30px;
    padding-right: unset;
    padding-top: unset;
    padding-bottom: unset;
    text-align: left;
    margin-bottom: unset;
    border-bottom: unset;
    border-left: unset;
    letter-spacing: unset;
  }

  .recruit #content .sp-menu h2::before, .entry #content .sp-menu h2::before {
    content: "";
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #244463;
  }

  .recruit #content .sp-menu ul, .entry #content .sp-menu ul {
    margin-bottom: 15px;
  }

  .recruit #content .sp-menu ul li, .entry #content .sp-menu ul li {
    background: unset;
    line-height: 24px;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
      "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    color: #19345B;
    font-size: 16px;
    position: relative;
    padding-left: 15px;
    list-style: none;
  }

  .recruit #content .sp-menu ul li::before, .entry #content .sp-menu ul li::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 50%;
    transform: translateY(-50%);
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #244463;
  }

  .recruit #content .sp-menu ul li a, .entry #content .sp-menu ul li a {
    border-bottom: 1px solid #244463;
    display: inline-block;
  }

  .recruit #content .sp-menu ul li a:hover, .entry #content .sp-menu ul li a:hover {
    opacity: 0.7;
  }

  .recruit #content .sp-copy, .entry #content .sp-copy {
    background: #1E3455;
    color: #FFF;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    font-size: 14px;
    line-height: 30px;
    padding: 15px 0 25px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 102vw;
  }

  .recruit .side-menu .sp-logo {
    display: block;
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
  }

  .recruit .sp-logo {
    display: block;
    position: absolute;
    top: -56px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
  }

  .entry .sp-logo {
    display: block;
    position: absolute;
    top: -58px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 30;
  }

  .entry form .cap-yn {
    margin-bottom: unset;
  }

  .entry .cap-yn span.sub-txt {
    width: 100%;
  }

  .entry .side-menu .sp-logo {
    top: 12px;
    left: 50%;
  }

  .sp-logo img, .entry .sp-logo img {
    max-width: 149px;
    width: 100%;
    height: auto;
  }

  /* エントリーフォーム */
  .entry #content .sp-logo h2 {
    font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Hiragino Mincho", "Yu Mincho", "MS PMincho", "MS Mincho", serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 27px;
    letter-spacing: 0;
    color: #213B56;
    border-left: none;
    border-bottom: unset;
    margin-bottom: unset;
    padding: unset;
    position: relative;
    text-align: center;
    margin-bottom: 12px;
  }

  .entry #navi, .entry #header_body, .entry #catch, .entry .top-menu-bg, .entry .subnavi_body {
    display: none;
  }

  .entry #navi_body, .entry #navi ul, .entry #navi li#navi_service a, .entry #footer_body {
    width: 103vw;
  }

  .entry #sidebar {
    display: none;
  }

  .entry #wrapper {
    width: 100%;
  }

  .entry #content {
    width: 100%;
  }
  .entry #content_body {
    padding: 0 4%;
  }
  .entry #navi, .recruit #header_body, .recruit #catch, .recruit .top-menu-bg, .recruit .subnavi_body {
    display: none;
  }
  .entry #navi_body, .recruit #navi ul, .recruit, .recruit #navi li#navi_service a, .recruit #footer_body {
    width: 100%;
  }
  .entry form label {
    width: 30%;
  }
  .entry form div.entry-age {
    align-items: flex-start;
  }
  .entry .sp-flex {
    display: flex;
    align-items: end;
    flex-wrap: nowrap;
  }
  .entry form input {
    width: 86%;
    height: 42px;
    font-size: 15px;
  }
  .entry form label {
    width: 100%;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  .entry form .entry-ex .ex-box label, .entry form .cap-yn label {
    width: 24%;
  }
  .entry form .entry-ex>label, .entry form .entry-cap>label {
    width: 100%;
  }
  .entry form .entry-cap p.sub-txt {
    width: 22%;
}
  .entry form .entry-message textarea {
    width: 94%;
    font-size: 15px;
  }
  .entry #content .entry-btn button {
    display: block;
    padding: 15px 30px;
  }
  .entry #content .entry-btn button::after {
    top: 26px;
  }

  .entry form .entry-box p {
    margin-left: unset;
  }

  .entry #content .entry-box {
    padding-right: unset;
  }

  .tb-ten {
    display: inline-block;
  }

  .pc-ten {
    display: none;
  }

  .recruit .content {
    position: relative;
    width: 88%;
    padding: 0 4%;
  }

  /* heading */
  .recruit #content h2 {
    margin-bottom: 24px;
    font-weight: 600;
  }

  .recruit #content p {
    padding: unset;
  }

  .recruit #content_body {
    width: 92%;
    padding: 0 4%;
  }

  .recruit #navi, .recruit #header_body, .recruit #catch, .recruit .top-menu-bg, .recruit .subnavi_body {
    display: none;
  }

  .entry #navi, .entry #header_body, .entry #catch, .entry .top-menu-bg, .entry .subnavi_body {
    display: none;
  }

  .recruit #navi_body, .recruit #navi ul, .recruit, .recruit #navi li#navi_service a, .recruit #footer_body {
    width: 100%;
  }

  .entry #navi_body, .entry #navi ul, .recruit, .entryt #navi li#navi_service a, .entry #footer_body {
    width: 100%;
  }

  .recruit .menu-bg, .entry .menu-bg {
    display: none;
  }

  .recruit #content .top-txt {
    font-size: 38px;
    font-weight: 900;
    font-family: "Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont,
      "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif;
    color: #231815;
    background-color: #FFF;
    padding: 8px 2px 0 2px;
    line-height: 44px;
    writing-mode: vertical-rl;
  }

  .recruit #content .top-txt.txt1 {
    right: unset;
    left: 64px;
    height: 320px;
  }

  .recruit #content .top-txt.txt2 {
    right: unset;
    left: 17px;
  }

  .recruit #content_body #assigned {
    top: 152%;
  }

  .recruit #content_body #assigned .assigned-btn {
    top: 125%;
  }

  .gallery-slider {
    /* width: 100%; */
  }

  .recruit #content_body #assigned .assigned-ex {
    width: 80%;
  }

  .recruit #content #recruitment .entry-btn a {
    width: 100%;
    max-width: 300px;
  }

  .recruit #content_body #assigned .assigned-btn a {
    width: 320px;
  }
}

@media screen and (max-width: 820px) {
  .recruit #content_body #assigned .assigned-ex span:nth-of-type(even) {
    margin-left: 10px;
  }

  .recruit #content_body #assigned .assigned-ex {
    width: 90%;
  }

  .recruit #content_body #assigned .assigned-btn {
    top: 130%;
  }
}

@media screen and (max-width: 768px) {
  .hamburger {
    width: 50px;
    height: 50px;
    border: 2px solid #ccc;
    border-radius: 50%;
    position: fixed;
    top: 28px;
    right: 18px;
    background: #faf7f5;
    z-index: 1000;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .recruit #content .top-img {
    /* padding-top: 170px; */
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 100% 100%;
  }

  .recruit #content_body #assigned .assigned-btn {
    top: 100%;
  }

  .recruit #content_body #assigned .assigned-box {
    flex-direction: column;
  }

  .recruit #content_body #assigned .assigned-item img {
    max-width: 100%;
    width: 100%;
  }

  .recruit #content_body #assigned {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }

  .recruit #content_body #assigned .assigned-item {
    width: 100%;
  }

  .recruit #content_body .assigned-item:first-child {
    margin-bottom: 180px;
  }

  .recruit #content_body #recruitment .recruitment-bg {
    padding: 60px 15px 40px;
    background: #F2F2F2;
    text-align: center;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: 25px;
  }

  .entry #content {
    width: 98%;
  }

}

@media screen and (max-width: 600px) {
  .hamburger {
    top: 35px;
  }

  .recruit .sp-logo {
    top: 15px;
  }

  .entry form div {
    display: unset;
  }

  .sp-only {
    display: inline-block;
  }

  .pc-only {
    display: none;
  }

  .anchor {
    padding-top: unset;
    margin-top: unset;
  }

  .recruit #header {
    min-height: unset;
  }

  .recruit #content .top-img {
    padding-top: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    overflow: hidden;
    /* はみ出した部分を隠す（切り抜き） */
    position: relative;
  }

  .recruit #content .top-img img {
    width: 200%;
    max-width: none;
  }

  .recruit #content .top-img video {
    width: 178%;
    height: auto;
  }

  .recruit #content .top-txt {
    font-size: 34px;
  }

  .recruit #content .top-txt.txt1 {
    left: 59px;
    height: 290px;
    bottom: 78px;
  }

  .recruit #content .top-txt.txt2 {
    height: 253px;
    bottom: 46px;
  }

  .recruit #content_body #about .about-box {
    flex-direction: column-reverse;
  }

  .recruit #content_body #assigned .assigned-btn {
    top: 122%;
  }

  .recruit #content_body #assigned .assigned-ex span:nth-of-type(even) {
    margin-left: 50px;
  }

  .recruit #content_body #assigned .assigned-ex {
    width: 85%;
  }

  .recruit #content_body #assigned .assigned-btn {
    top: 114%;
  }

  .recruit #content_body .assigned-item:first-child {
    margin-bottom: 200px;
  }

  .recruit #content_body #about .about-img {
    width: 100%;
    height: 370px;
    /* ここで高さを固定 */
    overflow: hidden;
    /* はみ出した部分を隠す */
    position: relative;
    margin-bottom: 24px;
  }

  .recruit #content_body #about img {
    width: 100%;
    height: 370px;
    object-fit: cover;
  }

  .recruit #content_body #recruitment span.name {
    display: inline-block;
    width: 46%;
    text-align: center;
    padding: 0 2px;
    margin-right: 5px;
    margin-bottom: 5px;
  }

  .recruit #content_body #details .ship-main img {
    margin-top: 22px;
  }

  .gallery-item img {
    width: 137px;
    height: 137px;
  }

  .recruit #content_body #details #meiyu .ship-about, .recruit #content_body #details #tetsuyo .ship-about {
    width: 100%;
  }

  .recruit #content_body #details .details-bg {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 70px 0 52px;
  }

  .recruit #content_body #about td,
  .recruit #content_body #recruitment th,
  .recruit #content_body #recruitment td {
    padding: 5px 10px;
  }

  .recruit #content #recruitment .entry-btn a {
    max-width: unset;
  }

  .ship-gallery {
    width: 100%;
    padding-top: 48px;
  }

  .recruit #content_body #details #meiyu, .recruit #content_body #details #tetsuyo {
    width: 92%;
    margin: 0 auto;
  }

  .recruit #content_body #details #meiyu .ship-about, .recruit #content_body #details #tetsuyo .ship-about {
    background-image: url("data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%20370%20123%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M107%200C118.046%207.31549e-05%20127%208.95435%20127%2020V44C127%2052.2843%20133.716%2059%20142%2059H350C361.046%2059%20370%2067.9543%20370%2079V103C370%20114.046%20361.046%20123%20350%20123H20C8.95431%20123%200%20114.046%200%20103V79C0%2078.7883%200.00334635%2078.5773%200.00996276%2078.3671C0.0490538%2077.1255%200.0490803%2075.8803%200.0100327%2074.6387C0.00336261%2074.4266%204.36302e-09%2074.2137%200%2074V20C0%208.95431%208.95431%200%2020%200H107Z%22%20fill%3D%22url(%23paint0_linear_59_731)%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_59_731%22%20x1%3D%22277%22%20y1%3D%2269.5%22%20x2%3D%22277.5%22%20y2%3D%22112%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%220.35%22%20stop-color%3D%22white%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22white%22%20stop-opacity%3D%220%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-size: 100% auto;
    /* 幅だけ親にフィットさせたい場合 */
  }

  .recruit #content_body #details #meiyu p.ship-txt.w-01, .recruit #content_body #details #tetsuyo p.ship-txt.w-01, .recruit #content_body #details #meiyu p.ship-txt.w-02, .recruit #content_body #details #tetsuyo p.ship-txt.w-02 {
    display: none;
  }

  .recruit #content p, .recruit #content_body p.w-01-sp, .recruit #content p, .recruit #content_body p.ship-txt.w-01-sp, .recruit #content p, .recruit #content_body p.ship-txt.w-02-sp, .recruit #content p, .recruit #content_body p.ship-txt.w-02-sp {}

  .recruit #content_body #details .ship-txt-sp {
    display: block;
    margin: 0 auto 30px;
    width: 80%;
    font-size: 16px;
    line-height: 28px;
  }

  .recruit #content_body #details .ship-txt-sp span {
    font-weight: 900;
    font-size: 16px;
    display: inline-block;
    width: 56%;
    text-align: left;
  }

  .recruit #content_body #details #meiyu .ship-bg, .recruit #content_body #details #tetsuyo .ship-bg {
    position: relative;
    /* margin: 20px; */
  }

  .recruit #content_body #details #meiyu .ship-about h3, .recruit #content_body #details #tetsuyo .ship-about h3 {
    position: absolute;
    left: 3%;
    top: 0;
  }

  .recruit #content_body #details #meiyu, .recruit #content_body #details #tetsuyo {
    height: 400px;
  }

  .recruit #content_body #details img {
    width: 90%;
  }

  .recruit #content_body #details .ship-map {
    text-align: center;
  }

  .recruit #content_body #details h3 {
    margin-left: 45px;
  }

  .recruit #content_body #details .time .map-tit-bg {
    border-right: unset;
    width: 100%;
  }

  .recruit #content_body #about table, .recruit #content_body #recruitment table {
    margin: 0 0 40px;
  }

  .recruit #content p, .recruit #content_body p.rec-txt {
    margin-bottom: unset;
  }

  .recruit #content_body #details .details-box {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    width: 80%;
    margin: 0 auto 5px;
    padding: 10px 5% 10px;
    gap: 10px;
  }

  .recruit #content_body #details .map-icon {
    /* width: 8%; */
    margin-left: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .recruit #content_body #details .map-tit {
    width: 12%;
    margin-left: unset;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .recruit #content_body #details .map-icon img {
    height: 18px;
  }

  .recruit #content_body #details .map-txt {
    font-size: 15px;
  }

  .recruit #content_body #details .time .map-txt-bg {
    width: 100%;
    align-items: center;
    justify-content: center;
  }

  .recruit #content_body #details .time .map-txt {
    width: 46%;
    margin-bottom: 10px;
  }

  .recruit #content_body #details .time .map-tit {
    width: 100%;
    margin-left: 5px;
    font-size: 18px;
  }

  .recruit #content_body #details .time .map-tit::before {
    left: 23px;
    top: 10px;
  }

  .recruit #content_body #details .details-box.time {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: 0 auto 0;
  }

  .recruit #content_body #details .map-icon.arrow-sp {
    display: block;
    width: 100%;
    text-align: center;
  }

  .recruit #content_body #details .map-icon.arrow-sp img {
    height: 34px;
    padding: 5px 0;
  }

  .recruit #content_body #details .map-icon.arrow-pc {
    display: none;
  }

  .recruit #content #recruitment .entry-btn a, .recruit #content #details .entry-btn a {
    width: 80%;
  }

  .recruit #content_body #details .details-box.time {
    margin: 0 auto 20px;
  }

}

@media screen and (max-width: 430px) {
  .recruit #content_body #assigned .assigned-btn {
    top: 117%;
  }

  .recruit #content_body #assigned .assigned-ex {
    width: 90%;
    padding: 2% 5% 10%;
  }

  .recruit #content_body #assigned .assigned-ex span:nth-of-type(even) {
    margin-left: 17px;
  }

  .entry form .entry-dep, .entry form .entry-ex, .entry form .dep-box, .entry form .cap-box, .entry form .entry-cap, .entry form .cap-box, .entry form .entry-message {
    width: 100%;
  }

  .entry #content .entry-box {
    width: 100%;
  }

  .entry form div {
    flex-direction: column;
  }

  .recruit #content_body #assigned .assigned-btn {
    top: 128%;
  }

  .recruit #content_body #recruitment span.name {
    width: 62%;
  }

  .recruit #content_body #details .time .map-tit::before {
    left: 14px;
  }
}