/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.2
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap");
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

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

.wp-site-blocks > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

/*
 * Link styles
 * https://github.com/WordPress/gutenberg/issues/42319
 */
a {
  text-decoration-thickness: 1px !important;
  text-underline-offset: 0.1em;
}

/* Focus styles */
.wp-block-template-part > *, main > * {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

/* Increase the bottom margin on submenus, so that the outline is visible. */
.wp-block-navigation .wp-block-navigation-submenu .wp-block-navigation-item:not(:last-child) {
  margin-bottom: 3px;
}

/* Increase the outline offset on the parent menu items, so that the outline does not touch the text. */
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
  outline-offset: 4px;
}

/* Remove outline offset from the submenus, otherwise the outline is visible outside the submenu container. */
.wp-block-navigation .wp-block-navigation-item ul.wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  outline-offset: 0;
}

/*
 * Progressive enhancement to reduce widows and orphans
 * https://github.com/WordPress/gutenberg/issues/55190
 */
h1, h2, h3, h4, h5, h6, blockquote, caption, figcaption, p {
  text-wrap: pretty;
}

/*
 * Change the position of the more block on the front, by making it a block level element.
 * https://github.com/WordPress/gutenberg/issues/65934
*/
.more-link {
  display: block;
}

.jsa-top-page {
  font-family: "Zen Kaku Gothic New", sans-serif;
  background-color: #ffffff;
  position: relative;
  width: 100%;
  overflow-x: hidden;
}

.flex {
  display: flex;
}

.block {
  display: block;
}

.bg-blue-kamaboko {
  background: rgb(237, 248, 255);
  filter: blur(8px);
}

.bg-blue {
  background: #edf8ff;
}

.main-content {
  position: relative;
}
.main-content .main-background {
  position: absolute;
  width: 100%;
  border-radius: 50%;
  background: #EDF8FF;
  filter: blur(12.5px);
  height: 710px;
  top: -500px;
  z-index: -1;
}
@media only screen and (max-width: 796px) {
  .main-content .main-background {
    background: url("/wp-content/themes/twentytwentyfive/assets/images/background-blue.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    filter: blur(12.5px);
    top: -2%;
  }
  .main-content .main-background img {
    width: 100%;
    max-height: 300px;
  }
}

@media only screen and (max-width: 796px) {
  .operation-page .main-content .main-background, .recruit-page .main-content .main-background {
    top: -1%;
  }
}

@media only screen and (max-width: 796px) {
  .contact-page .main-content .main-background {
    top: -4%;
  }
}

.border-top {
  border-top: 1px solid #ccc;
}

.only_pc {
  display: block;
}

.only_sp {
  display: none;
}

@media only screen and (max-width: 796px) {
  .only_pc {
    display: none;
  }
  .only_sp {
    display: block;
  }
}
.jsa-hero {
  width: 100%;
}
.jsa-hero-content {
  position: relative;
  max-width: 1255px;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
}
.jsa-hero-image {
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background-image: url("assets/images/top_header.png");
  background-size: cover;
  background-position: center;
}
.jsa-hero-text {
  position: absolute;
  right: 100px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.jsa-hero-circle {
  position: absolute;
  right: 150px;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  height: 300px;
  background: linear-gradient(135deg, #87ceeb, #4682b4);
  border-radius: 50%;
  opacity: 0.8;
  z-index: 5;
}

.jsa-intro {
  padding: 80px 20px;
  background-color: #ffffff;
}
@media only screen and (max-width: 796px) {
  .jsa-intro {
    padding: 43px 0 70px;
  }
}
.jsa-intro-content {
  max-width: 1000px;
  margin: 0 auto;
  text-align: center;
}
@media only screen and (max-width: 796px) {
  .jsa-intro-content {
    width: 90%;
    max-width: 100%;
  }
}
.jsa-intro-text {
  font-size: 22px;
  color: #222;
  margin-bottom: 40px;
  line-height: 50px;
  font-weight: 700;
}
@media only screen and (max-width: 796px) {
  .jsa-intro-text {
    font-size: 18px;
    text-align: left;
    line-height: 40px;
    margin-bottom: 60px;
  }
}

.jsa-gallery-content {
  max-width: 1000px;
  margin: 0 auto;
}
.jsa-gallery-images {
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media only screen and (max-width: 796px) {
  .jsa-gallery-images {
    display: none;
  }
}
.jsa-gallery-item {
  width: 33.33%;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.jsa-gallery-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.jsa-gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.jsa-gallery-item-sp {
  margin-top: 40px;
}
.jsa-gallery-item-sp img {
  width: 100%;
}

.bg-blue-margin {
  margin-top: 280px;
  padding-bottom: 150px;
}
@media only screen and (max-width: 796px) {
  .bg-blue-margin {
    margin: 220px auto 0;
    padding-bottom: 50px;
  }
}

.jsa-system-content .jsa-read-more {
  text-align: left;
  margin-top: 50px;
  font-family: "Noto Sans";
}
@media only screen and (max-width: 796px) {
  .jsa-system-content .jsa-read-more {
    text-align: right;
  }
}

.jsa-read-more {
  text-align: right;
  margin-right: 100px;
  font-family: "Noto Sans";
  position: relative;
}
@media only screen and (max-width: 796px) {
  .jsa-read-more {
    margin-right: 80px;
  }
}
.jsa-read-more-btn {
  display: inline-block;
  color: #222;
  text-decoration: none;
  font-weight: 700;
  font-size: 18px;
  position: relative;
  padding: 15px 0;
  z-index: 2;
  transition: all 0.3s ease;
}
.jsa-read-more-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  right: -90px;
  width: 80px;
  height: 80px;
  background: rgba(52, 152, 219, 0.15);
  border-radius: 50%;
  transform: translateY(-50%);
  filter: blur(2px);
  z-index: -1;
  transition: all 0.3s ease;
}
@media only screen and (max-width: 796px) {
  .jsa-read-more-btn::before {
    width: 60px;
    height: 60px;
    right: -70px;
  }
}
.jsa-read-more-btn::after {
  content: "";
  position: absolute;
  top: 75%;
  left: 0;
  width: 295px;
  height: 10px;
  background-image: url("assets/images/arrow.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
.jsa-read-more-btn:hover {
  opacity: 0.8;
  transform: translateX(15px);
}
.jsa-read-more-btn:hover::before {
  filter: blur(4px);
  background: rgba(52, 152, 219, 0.25);
}
.jsa-read-more-btn:hover::after {
  width: 250px;
}

.jsa-testimonials-content {
  max-width: 1000px;
  margin: 140px auto 0;
}
@media only screen and (max-width: 796px) {
  .jsa-testimonials-content {
    width: 90%;
    margin: 100px auto 0;
  }
}
.jsa-testimonials-title {
  font-size: 35px;
  font-weight: 700;
  color: #222;
  text-align: center;
  margin-bottom: 40px;
}
@media only screen and (max-width: 796px) {
  .jsa-testimonials-title {
    font-size: 26px;
  }
}

.jsa-testimonial-card {
  display: flex;
  gap: 40px;
  background-color: #ffffff;
  padding: 27px 30px;
  max-width: 1000px;
  margin-bottom: 40px;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.16);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
@media only screen and (max-width: 796px) {
  .jsa-testimonial-card {
    padding: 30px 5%;
    flex-direction: column;
    gap: 30px;
    align-items: center;
    margin-bottom: 30px;
  }
}
.jsa-testimonial-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}
.jsa-testimonial-card:nth-child(odd) {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 796px) {
  .jsa-testimonial-card:nth-child(odd) {
    flex-direction: column;
  }
}

.jsa-testimonial-avatar {
  width: 150px;
  height: 150px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.jsa-testimonial-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.jsa-testimonial-content {
  flex: 1;
}

.jsa-testimonial-text {
  font-size: 16px;
  line-height: 32px;
  color: #222;
  margin-bottom: 12px;
  font-weight: 500;
}
@media only screen and (max-width: 796px) {
  .jsa-testimonial-text {
    font-size: 18px;
  }
}

.jsa-testimonial-author {
  font-size: 14px;
  color: #111;
  text-align: right;
  font-weight: 500;
}

.jsa-system-section {
  padding: 0 0 0 5%;
  position: relative;
  margin: 100px auto;
}
@media only screen and (max-width: 796px) {
  .jsa-system-section {
    padding: 0;
    margin: 220px auto 0;
  }
}
.jsa-system-section:nth-child(even) {
  padding: 0 5% 0 0;
}
@media only screen and (max-width: 796px) {
  .jsa-system-section:nth-child(even) {
    margin: 120px auto 0;
  }
}
@media only screen and (max-width: 796px) {
  .jsa-system-section:nth-child(even) {
    padding: 0;
  }
}
.jsa-system-section:nth-child(even) .jsa-system-content {
  flex-direction: row-reverse;
}
@media only screen and (max-width: 796px) {
  .jsa-system-section:nth-child(even) .jsa-system-content {
    flex-direction: column-reverse;
  }
}
.jsa-system-section:nth-child(even) .jsa-system-title {
  text-align: left;
}

.jsa-system-content {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: start;
  gap: 60px;
}
@media only screen and (max-width: 796px) {
  .jsa-system-content {
    flex-direction: column-reverse;
    gap: 15px;
    padding: 0 5%;
  }
}

.kamaboko {
  border-radius: 70% 70% 0 0;
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: 291px;
  z-index: 1;
}
@media only screen and (max-width: 796px) {
  .kamaboko {
    top: -115px;
    height: 140px;
  }
}

.jsa-system-text {
  flex: 1;
  width: 50%;
}
@media only screen and (max-width: 796px) {
  .jsa-system-text {
    width: 100%;
  }
}

.jsa-system-title {
  font-size: 35px;
  font-weight: 700;
  color: #222;
  margin-bottom: 20px;
  line-height: 1.3;
  text-align: left;
  line-height: 72px;
}
@media only screen and (max-width: 796px) {
  .jsa-system-title {
    font-size: 26px;
    text-align: center;
    margin-bottom: 0;
  }
}

.jsa-system-description {
  font-size: 20px;
  line-height: 36px;
  color: #111;
  font-weight: 500;
}
@media only screen and (max-width: 796px) {
  .jsa-system-description {
    font-size: 18px;
  }
}

.jsa-system-image {
  max-width: 800px;
  width: 50%;
}
@media only screen and (max-width: 796px) {
  .jsa-system-image {
    width: 100%;
  }
}
.jsa-system-image img {
  width: 100%;
  height: auto;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s ease;
}
.jsa-system-image img:hover {
  transform: scale(1.02);
}

.jsa-qa-section {
  padding: 120px 0 0;
  background-color: transparent;
  background-image: url("assets/images/top_image_6.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  height: 500px;
  margin-top: 160px;
}
@media only screen and (max-width: 796px) {
  .jsa-qa-section {
    padding: 50px 0 0;
    height: 750px;
    margin-top: 100px;
  }
}
.jsa-qa-section-container {
  max-width: 1255px;
  margin: 0 auto;
  padding: 0 8%;
}
.jsa-qa-section-cards {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin: 0 auto;
  max-width: 1000px;
  height: 206px;
}
@media only screen and (max-width: 796px) {
  .jsa-qa-section-cards {
    flex-direction: column;
  }
}

.jsa-qa-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  opacity: 0.9;
  background: #FFF;
  padding: 20px 40px;
  width: 33.33%;
}
@media only screen and (max-width: 796px) {
  .jsa-qa-card {
    width: 100%;
    padding: 30px;
    overflow: inherit;
    box-sizing: border-box;
  }
}
.jsa-qa-card-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 1;
}
.jsa-qa-card-background::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0.3) 50%, rgba(0, 0, 0, 0.1) 100%);
  z-index: 2;
}
.jsa-qa-card-content {
  position: relative;
  z-index: 3;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #ffffff;
}
.jsa-qa-card-category {
  font-size: 16px;
  font-weight: 500;
  color: #f8bbd9;
  letter-spacing: 1px;
  margin-bottom: 10px;
  font-family: Inter;
}
.jsa-qa-card-title {
  font-size: 30px;
  font-weight: 700;
  color: #111;
  margin-bottom: 40px;
  line-height: 1.3;
}
@media only screen and (max-width: 796px) {
  .jsa-qa-card-title {
    margin-bottom: 30px;
  }
}

.jsa-qa-button {
  cursor: pointer;
}
.jsa-qa-button img {
  filter: blur(1px);
}
.jsa-qa-button img:hover {
  width: 65px;
  transform: translateY(-5px);
  transition: all 0.3s ease;
}

.jsa-header {
  height: 120px;
  background-color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 100;
}
.jsa-header-content {
  max-width: 1255px;
  margin: 0 auto;
  display: flex;
  height: 120px;
  justify-content: space-between;
  padding: 0 20px;
}

.jsa-logo {
  color: #222;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  display: flex;
  gap: 5px;
  align-items: center;
  line-height: normal;
  letter-spacing: 1.92px;
  text-decoration: none;
}
.jsa-logo .logo-img {
  width: 50px;
}
.jsa-logo-text {
  font-size: 32px;
  font-weight: 700;
  color: #222;
}

.jsa-header-right {
  display: block;
  margin-top: 15px;
}

.jsa-nav {
  display: flex;
  gap: 30px;
  align-items: center;
  margin-top: 14px;
}
.jsa-nav a {
  text-decoration: none;
  color: #222;
  font-size: 15px;
  font-weight: 700;
  padding: 5px 0;
  border-bottom: 2px solid transparent;
  transition: border-color 0.3s;
}
.jsa-nav a:hover {
  border-bottom-color: #3498DB;
  animation: border-color 0.3s ease-in-out;
}

.jsa-contact-info {
  display: flex;
  align-items: start;
  gap: 14px;
  justify-content: flex-end;
}

.jsa-phone {
  font-size: 30px;
  font-weight: 700;
  color: #3498DB;
  font-family: "Noto Sans", sans-serif;
}

.jsa-phone-text {
  font-size: 14px;
  color: #777;
  font-weight: 500;
  line-height: 20px;
  font-family: "Noto Sans", sans-serif;
}

.jsa-contact-btn {
  background-color: #3498DB;
  color: #ffffff;
  padding: 11px 40px;
  border-radius: 25px;
  text-decoration: none;
  font-size: 20px;
  font-weight: 500;
  transition: background-color 0.3s ease;
  height: 50px;
  width: 250px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.jsa-contact-btn:hover {
  background-color: #83c4f0;
}

.jsa-hamburger {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 30px;
  height: 20px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  align-items: center;
  align-self: center;
}
.jsa-hamburger span {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #3498DB;
  transition: all 0.3s;
  border-radius: 5px;
}
.jsa-hamburger.active span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.jsa-hamburger.active span:nth-child(2) {
  opacity: 0;
}
.jsa-hamburger.active span:nth-child(3) {
  transform: rotate(-45deg) translate(7px, -6px);
}

body.mobile-menu-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  height: 100%;
}

.jsa-mobile-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  background: #EDF8FF;
  z-index: 101;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
}
.jsa-mobile-overlay.active {
  opacity: 1;
  visibility: visible;
}

.jsa-mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  background: #EDF8FF;
  width: 80%;
  height: 100%;
  padding: 15px 40px 40px;
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
  transition: right 0.3s ease;
  overflow-y: auto;
}
.jsa-mobile-overlay.active .jsa-mobile-menu {
  right: 0;
}

.jsa-mobile-contact-info {
  align-items: center;
  margin: 37px auto 0;
}
.jsa-mobile-contact-info .jsa-mobile-phone {
  text-align: center;
  margin: 0 auto 35px;
}
.jsa-mobile-contact-info .jsa-contact-btn {
  justify-content: center;
  margin: 0 auto 22px;
}

.jsa-mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 20px;
  align-items: center;
  margin-top: 55px;
}
.jsa-mobile-nav a {
  color: #222;
  font-family: "Zen Kaku Gothic New";
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
}

.cancel-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

@media only screen and (max-width: 796px) {
  .jsa-header {
    height: 60px;
  }
  .jsa-header-content {
    height: 60px;
    padding: 0 20px;
  }
  .jsa-logo {
    gap: 10px;
    position: relative;
  }
  .jsa-logo .logo-img {
    width: 25px;
  }
  .jsa-logo .cancel-icon {
    width: 40px;
    position: absolute;
    right: -25px;
    top: -7px;
  }
  .jsa-logo-text {
    font-size: 20px;
  }
  .jsa-header-right {
    display: none;
  }
  .jsa-hamburger {
    display: flex;
    gap: 5px;
  }
}
.jsa-footer {
  padding: 30px 0 20px 0;
  position: relative;
  background: #FAFAFA;
}
@media only screen and (max-width: 796px) {
  .jsa-footer {
    padding: 0;
    background: none;
  }
}
.jsa-footer-logo-text {
  font-size: 30px;
  font-weight: 700;
  color: #222;
}
.jsa-footer-content {
  max-width: 1255px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding: 0 13%;
  margin-bottom: 40px;
}
@media only screen and (max-width: 796px) {
  .jsa-footer-content {
    display: none;
  }
}
.jsa-footer-left, .jsa-footer-middle, .jsa-footer-right {
  display: flex;
  flex-direction: column;
  gap: 30px;
}
.jsa-footer-left {
  align-items: flex-start;
  flex: 1.7;
}
.jsa-footer-middle {
  align-items: center;
  padding: 0 20px;
  flex: 1;
}
.jsa-footer-right {
  align-items: flex-end;
  flex: 1;
}
@media (max-width: 768px) {
  .jsa-footer-right {
    align-items: flex-start;
  }
}
.jsa-footer-copyright {
  margin-top: 70px;
  max-width: 1255px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  text-align: center;
  font-size: 14px;
  font-weight: 500;
}
@media only screen and (max-width: 796px) {
  .jsa-footer-copyright {
    margin: 20px auto;
  }
}
.jsa-footer .footer-sns-icon {
  cursor: pointer;
}
.jsa-footer .footer-sns-icon.instagram {
  width: 40px;
}
.jsa-footer .footer-sns-icon.facebook {
  width: 40px;
}
.jsa-footer .sns-container {
  display: flex;
  gap: 25px;
}

.jsa-footer-logo {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-style: normal;
  font-weight: 700;
  display: flex;
  gap: 10px;
  flex-direction: column;
  align-items: start;
  line-height: normal;
  letter-spacing: 1.92px;
  text-decoration: none;
  cursor: pointer;
}
.jsa-footer-logo img {
  width: 40px;
}
.jsa-footer-logo-text {
  font-size: 30px;
  font-weight: 700;
}

.jsa-footer-social {
  display: flex;
  gap: 20px;
  align-items: center;
}
.jsa-footer-social a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  background-color: rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  transition: background-color 0.3s ease;
}
.jsa-footer-social a:hover {
  background-color: rgba(255, 255, 255, 0.2);
}
.jsa-footer-social a img {
  width: 20px;
  height: 20px;
  filter: brightness(0) invert(1);
}

.jsa-footer-nav {
  display: grid;
  gap: 10px 30px;
  max-width: 400px;
}
.jsa-footer-nav a {
  text-decoration: none;
  font-size: 14px;
  font-weight: 500;
  padding: 5px 0;
  transition: opacity 0.3s ease;
}
.jsa-footer-nav a:hover {
  opacity: 0.8;
}

.jsa-footer-contact {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
}
@media (max-width: 768px) {
  .jsa-footer-contact {
    align-items: flex-start;
  }
}

.jsa-footer-phone {
  text-align: right;
}
@media (max-width: 768px) {
  .jsa-footer-phone {
    text-align: left;
  }
}
.jsa-footer-phone-number {
  font-size: 22px;
  font-weight: 700;
  font-family: "Noto Sans", sans-serif;
  margin-bottom: 4px;
  display: block;
}
.jsa-footer-phone-hours {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.8);
  font-weight: 500;
  font-family: "Noto Sans", sans-serif;
}

.jsa-contact-form {
  max-width: 960px;
  border-radius: 30px;
  border: 4px solid #093F64;
  margin: 150px auto 0;
  background: #FFF;
  padding: 55px 20px 15px;
  box-sizing: border-box;
}
@media only screen and (max-width: 796px) {
  .jsa-contact-form {
    margin: 50px auto 0;
    width: 95%;
    padding: 55px 5px 15px;
  }
}

.jsa-form-title {
  color: #093F64;
  text-align: right;
  font-family: "Zen Kaku Gothic New";
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  margin: 0 auto 46px;
  text-align: center;
}
@media only screen and (max-width: 796px) {
  .jsa-form-title {
    font-size: 26px;
  }
}

.jsa-form-row {
  margin-bottom: 25px;
}

.jsa-form-row {
  width: 90%;
  margin: 0 auto 45px;
}
@media only screen and (max-width: 796px) {
  .jsa-form-row br {
    display: none;
  }
}
@media only screen and (max-width: 796px) {
  .jsa-form-row {
    margin: 0 auto 15px;
  }
}
.jsa-form-row label {
  width: 20%;
  color: #222;
  font-family: "Zen Kaku Gothic New";
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-align: right;
}
@media only screen and (max-width: 796px) {
  .jsa-form-row label {
    width: 100%;
    text-align: left;
    margin-bottom: 3px;
  }
}
.jsa-form-row label .required {
  color: #EA2222;
}
.jsa-form-row p {
  gap: 10px;
  display: flex;
}
@media only screen and (max-width: 796px) {
  .jsa-form-row p {
    flex-direction: column;
    gap: 0;
  }
}
.jsa-form-row span {
  font-size: 16px;
  font-weight: 500;
}

.wpcf7-form-control-wrap {
  width: 80%;
}
@media only screen and (max-width: 796px) {
  .wpcf7-form-control-wrap {
    width: 95%;
  }
}

.wpcf7-radio {
  width: 80%;
  flex-wrap: wrap;
  display: flex;
}
@media only screen and (max-width: 796px) {
  .wpcf7-radio {
    width: 100%;
  }
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-list-item:nth-child(1),
.wpcf7-list-item:nth-child(2),
.wpcf7-list-item:nth-child(3) {
  width: 33%;
}
@media only screen and (max-width: 796px) {
  .wpcf7-list-item:nth-child(1),
  .wpcf7-list-item:nth-child(2),
  .wpcf7-list-item:nth-child(3) {
    width: 50%;
  }
}

.wpcf7-list-item:nth-child(4),
.wpcf7-list-item:nth-child(5) {
  width: 33%;
}
@media only screen and (max-width: 796px) {
  .wpcf7-list-item:nth-child(4),
  .wpcf7-list-item:nth-child(5) {
    width: 50%;
  }
}

.wpcf7-list-item:nth-child(6) {
  width: 100%;
}
@media only screen and (max-width: 796px) {
  .wpcf7-list-item:nth-child(6) {
    width: 100%;
  }
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 16px;
}

.jsa-form-row .form-control {
  flex: 2;
  padding: 8px 12px;
  border: 1px solid #707070;
  width: 70%;
}
@media only screen and (max-width: 796px) {
  .jsa-form-row .form-control {
    width: 100%;
  }
}
.jsa-form-row .form-control.custom-textarea {
  width: 90%;
}
@media only screen and (max-width: 796px) {
  .jsa-form-row .form-control.custom-textarea {
    width: 100%;
  }
}

.jsa-form-row--radio {
  flex-wrap: wrap;
}

.jsa-form-row--radio .jsa-form-label {
  flex: 1 0 150px;
  font-weight: 600;
}

.jsa-form-row--radio .form-check {
  margin-right: 16px;
}

.jsa-form-row--textarea label {
  align-items: flex-start;
}

.jsa-form-row--textarea .form-control {
  height: 200px;
  resize: vertical;
}

.jsa-form-row--submit {
  justify-content: center;
}
@media only screen and (max-width: 796px) {
  .jsa-form-row--submit {
    margin: 34px auto 42px;
  }
}

.jsa-form-row--submit .btn-primary {
  border-radius: 5px;
  background: #3498DB;
  width: 200px;
  height: 50px;
  flex-shrink: 0;
  text-align: center;
  margin: auto;
  color: #FFF;
  border: none;
  font-size: 20px;
  cursor: pointer;
}
.jsa-form-row--submit .btn-primary:hover {
  background-color: #83c4f0;
}

.bg-blue {
  background: #EDF8FF;
}

.p-lg {
  padding: 10px 0 150px;
}
@media only screen and (max-width: 796px) {
  .p-lg {
    padding: 10px 0 50px;
  }
}

.jsa-technical-internship {
  background: white;
  position: relative;
  overflow: hidden;
}

.jsa-technical-internship .jsa-hero-section {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 248, 255, 0.95)), url("/wp-content/themes/twentytwentyfive/assets/images/top_image_4.png") center/cover;
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (max-width: 796px) {
  .jsa-technical-internship .jsa-hero-section {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(240, 248, 255, 0.8)), url("/wp-content/themes/twentytwentyfive/assets/images/top_image_4.png") center/cover;
    min-height: 150px;
  }
}
.jsa-technical-internship .jsa-hero-section::before {
  content: "";
  position: absolute;
  top: -50%;
  left: 0;
  opacity: 0.4;
  right: 0;
  bottom: 0;
  background: url("/wp-content/themes/twentytwentyfive/assets/images/top_image_4.png");
  z-index: 1;
}
@media only screen and (max-width: 796px) {
  .jsa-technical-internship .jsa-hero-section::before {
    background: none;
  }
}
.jsa-technical-internship .jsa-hero-section .jsa-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.jsa-technical-internship .jsa-hero-section .jsa-hero-title {
  font-size: 40px;
  font-weight: 700;
  color: #333;
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 796px) {
  .jsa-technical-internship .jsa-hero-section .jsa-hero-title {
    font-size: 26px;
  }
}

.jsa-background-image-circle-first {
  position: absolute;
  top: 17%;
  left: -16%;
  width: 700px;
  height: 700px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  border-radius: 700px;
  background: #EDF8FF;
  filter: blur(12px);
}
@media only screen and (max-width: 796px) {
  .jsa-background-image-circle-first {
    top: 31%;
    width: 350px;
    height: 350px;
  }
}
.jsa-background-image-circle-second {
  position: absolute;
  top: 48%;
  right: -18%;
  width: 700px;
  height: 700px;
  flex-shrink: 0;
  aspect-ratio: 1/1;
  border-radius: 700px;
  background: #EDF8FF;
  filter: blur(12px);
}
@media only screen and (max-width: 796px) {
  .jsa-background-image-circle-second {
    top: 70%;
    width: 350px;
    height: 350px;
    right: -35%;
  }
}

.jsa-description-section {
  padding: 80px 0;
}
@media only screen and (max-width: 796px) {
  .jsa-description-section {
    padding: 40px 0;
  }
}
.jsa-description-section .jsa-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.jsa-description-section .jsa-description-content p {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 36px;
  max-width: 1000px;
  margin: auto;
}
@media only screen and (max-width: 796px) {
  .jsa-description-section .jsa-description-content p {
    font-size: 18px;
  }
}
.jsa-description-section .jsa-description-content p:last-child {
  margin-bottom: 0;
}

.jsa-small-title {
  color: #FF6FB3;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  margin: 0 auto;
  display: block;
  text-align: center;
  font-family: Inter;
}

.jsa-benefits-section {
  padding: 80px 0 100px;
  background: white;
  position: relative;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section {
    padding: 40px 0 0;
  }
}
.jsa-benefits-section .jsa-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
.jsa-benefits-section .jsa-benefits-title {
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  color: #333;
  margin-bottom: 80px;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 72px;
  position: relative;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section .jsa-benefits-title {
    font-size: 30px;
    margin-bottom: 40px;
  }
}
.jsa-benefits-section .jsa-benefits-title span {
  font-size: 70px;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section .jsa-benefits-title span {
    font-size: 60px;
  }
}
.jsa-benefits-section .jsa-benefits-grid {
  display: flex;
  flex-direction: column;
  gap: 40px;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section .jsa-benefits-grid {
    gap: 50px;
  }
}
.jsa-benefits-section .jsa-benefit-item {
  display: flex;
  align-items: center;
  position: relative;
}
@media (max-width: 768px) {
  .jsa-benefits-section .jsa-benefit-item {
    flex-direction: column;
  }
}
.jsa-benefits-section .jsa-benefit-item.jsa-benefit-01, .jsa-benefits-section .jsa-benefit-item.jsa-benefit-03, .jsa-benefits-section .jsa-benefit-item.jsa-benefit-05 {
  flex-direction: row;
}
@media (max-width: 768px) {
  .jsa-benefits-section .jsa-benefit-item.jsa-benefit-01, .jsa-benefits-section .jsa-benefit-item.jsa-benefit-03, .jsa-benefits-section .jsa-benefit-item.jsa-benefit-05 {
    flex-direction: column;
  }
}
.jsa-benefits-section .jsa-benefit-item.jsa-benefit-02, .jsa-benefits-section .jsa-benefit-item.jsa-benefit-04 {
  flex-direction: row-reverse;
}
@media (max-width: 768px) {
  .jsa-benefits-section .jsa-benefit-item.jsa-benefit-02, .jsa-benefits-section .jsa-benefit-item.jsa-benefit-04 {
    flex-direction: column;
  }
}
.jsa-benefits-section .jsa-benefit-image {
  position: relative;
  flex: 0.7;
}
.jsa-benefits-section .jsa-benefit-image img {
  width: 450px;
  height: 450px;
  object-fit: cover;
  border-radius: 50%;
}
@media (max-width: 768px) {
  .jsa-benefits-section .jsa-benefit-image img {
    width: 250px;
    height: 250px;
  }
}
.jsa-benefits-section .jsa-benefit-image .jsa-image-size {
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  background: #007acc;
  color: white;
  padding: 8px 16px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
.jsa-benefit-01 .jsa-benefits-section .jsa-benefit-image img {
  border-radius: 20px;
}
.jsa-benefits-section .jsa-benefit-content {
  flex: 0.7;
  position: relative;
}
.jsa-benefits-section .jsa-benefit-content .jsa-benefit-number {
  font-size: 80px;
  font-weight: 700;
  color: #3498DB;
  opacity: 0.8;
  font-family: Inter;
  line-height: 1;
  margin-bottom: 20px;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section .jsa-benefit-content .jsa-benefit-number {
    text-align: left;
  }
}
.jsa-benefits-section .jsa-benefit-content .jsa-benefit-subtitle {
  font-size: 35px;
  font-weight: 700;
  color: #333;
  margin-bottom: 40px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section .jsa-benefit-content .jsa-benefit-subtitle {
    font-size: 26px;
    text-align: left;
    margin-bottom: 20px;
  }
}
.jsa-benefits-section .jsa-benefit-content .jsa-benefit-description {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
}
@media only screen and (max-width: 796px) {
  .jsa-benefits-section .jsa-benefit-content .jsa-benefit-description {
    text-align: left;
    font-size: 18px;
  }
}

.jsa-acceptance-section {
  margin: 40px auto 120px;
  position: relative;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section {
    margin: 80px auto;
  }
}
.jsa-acceptance-section .jsa-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.jsa-acceptance-section .jsa-acceptance-header {
  text-align: center;
  margin-bottom: 60px;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-acceptance-header {
    margin-bottom: 40px;
  }
}
.jsa-acceptance-section .jsa-acceptance-header .jsa-acceptance-subtitle {
  color: #FF6FB3;
  font-size: 20px;
  font-weight: 400;
  display: block;
  margin-bottom: 10px;
  text-transform: lowercase;
  margin-bottom: 30px;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-acceptance-header .jsa-acceptance-subtitle {
    font-size: 15px;
    font-family: Inter;
  }
}
.jsa-acceptance-section .jsa-acceptance-header .jsa-acceptance-title {
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 40px;
  font-weight: 700;
  margin: 0;
}
.jsa-acceptance-section .jsa-acceptance-content .jsa-acceptance-description {
  color: #111;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 36px;
  margin-bottom: 50px;
  text-align: left;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-acceptance-content .jsa-acceptance-description {
    font-size: 18px;
  }
}
.jsa-acceptance-section .jsa-acceptance-content .jsa-acceptance-note {
  color: #111;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 32px;
  margin: 40px 0 20px 0;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-acceptance-content .jsa-acceptance-note {
    font-size: 18px;
    line-height: 36px;
  }
}
.jsa-acceptance-section .jsa-acceptance-content .jsa-staff-explanation {
  color: #111;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  font-weight: 500;
  line-height: 28px;
  margin-top: 30px;
  text-align: justify;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-acceptance-content .jsa-staff-explanation {
    font-size: 18px;
    line-height: 36px;
  }
}
.jsa-acceptance-section .jsa-table-container {
  margin: 40px 0;
  overflow-x: auto;
  background: white;
}
.jsa-acceptance-section .jsa-acceptance-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.jsa-acceptance-section .jsa-acceptance-table thead .jsa-table-no-header {
  background: #fff;
}
.jsa-acceptance-section .jsa-acceptance-table thead .jsa-table-header-main {
  background: #CAE2F2;
  font-size: 16px;
  font-weight: 600;
  color: #093F64;
  padding: 10px 16px;
  text-align: center;
  width: 33%;
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
}
.jsa-acceptance-section .jsa-acceptance-table thead .jsa-table-header-sub {
  background: #083F64;
  font-size: 16px;
  font-weight: 600;
  color: white;
  padding: 10px 16px;
  text-align: center;
  border-bottom: 2px solid #fff;
}
.jsa-acceptance-section .jsa-acceptance-table thead .jsa-table-header-normal {
  background: #CAE2F2;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  padding: 12px;
  text-align: center;
  color: #093F64;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-weight: 700;
  width: 33%;
}
.jsa-acceptance-section .jsa-acceptance-table thead .jsa-table-header-premium {
  background: #CAE2F2;
  color: #093F64;
  font-size: 14px;
  font-weight: 600;
  border-bottom: 2px solid #fff;
  padding: 12px;
  text-align: center;
}
.jsa-acceptance-section .jsa-acceptance-table tbody tr {
  background: #F0F0F0;
}
.jsa-acceptance-section .jsa-acceptance-table tbody tr .jsa-table-cell-category {
  background: #F0F0F0;
  color: #111;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 16px;
  text-align: center;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
}
.jsa-acceptance-section .jsa-acceptance-table tbody tr .jsa-table-cell-number {
  color: #111;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 16px;
  text-align: center;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
}
.jsa-acceptance-section .jsa-acceptance-table tbody tr .jsa-table-cell-number:last-child {
  border-right: none;
}
.jsa-acceptance-section .jsa-period-table-container {
  margin: 40px 0;
  overflow-x: auto;
  background: white;
}
.jsa-acceptance-section .jsa-period-table {
  width: 100%;
  border-collapse: collapse;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
.jsa-acceptance-section .jsa-period-table thead .jsa-period-header-main {
  background: #CAE2F2;
  color: #093F64;
  font-size: 16px;
  font-weight: 600;
  padding: 16px;
  text-align: center;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  position: relative;
}
.jsa-acceptance-section .jsa-period-table thead .jsa-period-header-main .jsa-period-size {
  position: absolute;
  top: 8px;
  right: 8px;
  background: #3B82C7;
  color: white;
  font-size: 12px;
  font-weight: 400;
  padding: 4px 8px;
  border-radius: 4px;
}
.jsa-acceptance-section .jsa-period-table thead .jsa-period-header-sub {
  background: #083F64;
  color: white;
  font-size: 16px;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  border-bottom: 2px solid #fff;
  height: 30px;
}
.jsa-acceptance-section .jsa-period-table thead .jsa-period-header-2row {
  background: #CAE2F2;
  color: #093F64;
  font-size: 16px;
  font-weight: 600;
  padding: 16px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  vertical-align: middle;
}
.jsa-acceptance-section .jsa-period-table thead .jsa-period-header {
  background: #CAE2F2;
  color: #093F64;
  font-size: 14px;
  vertical-align: middle;
  font-weight: 600;
  height: 30px;
  text-align: center;
  border-right: 2px solid #fff;
  letter-spacing: 1.5px;
}
.jsa-acceptance-section .jsa-period-table thead .jsa-period-header:last-child {
  border-right: none;
}
.jsa-acceptance-section .jsa-period-table tbody .jsa-period-cell {
  background: #F0F0F0;
  color: #111;
  font-size: 16px;
  font-weight: 500;
  padding: 12px 16px;
  text-align: center;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
}
.jsa-acceptance-section .jsa-period-table tbody .jsa-period-cell:last-child {
  border-right: none;
}
.jsa-acceptance-section .jsa-trainee-types {
  margin: 30px 0;
  padding: 20px 0;
  background: white;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-trainee-types {
    margin: 20px 0 30px;
  }
}
.jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}
.jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type:last-child {
  margin-bottom: 0;
}
.jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type .jsa-trainee-label {
  color: #111;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  font-weight: 600;
  margin-right: 8px;
  min-width: 140px;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type .jsa-trainee-label {
    line-height: 36px;
    margin-right: 0;
  }
}
.jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type .jsa-trainee-description {
  color: #111;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  font-weight: 700;
}
@media only screen and (max-width: 796px) {
  .jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type .jsa-trainee-description {
    font-size: 18px;
    font-weight: 700;
  }
}
@media (max-width: 796px) {
  .jsa-acceptance-section .jsa-acceptance-header .jsa-acceptance-title {
    font-size: 30px;
  }
  .jsa-acceptance-section .jsa-acceptance-table,
  .jsa-acceptance-section .jsa-period-table {
    font-size: 12px;
    min-width: 1000px;
  }
  .jsa-acceptance-section .jsa-acceptance-table th, .jsa-acceptance-section .jsa-acceptance-table td,
  .jsa-acceptance-section .jsa-period-table th,
  .jsa-acceptance-section .jsa-period-table td {
    padding: 8px;
  }
  .jsa-acceptance-section .jsa-trainee-types .jsa-trainee-type .jsa-trainee-label {
    font-size: 18px;
    font-weight: 700;
  }
}

.jsa-flow-section {
  margin: 140px auto;
}
@media only screen and (max-width: 796px) {
  .jsa-flow-section {
    margin: 80px auto;
  }
}
.jsa-flow-section .jsa-container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.jsa-flow-section .jsa-flow-header {
  text-align: center;
  margin-bottom: 40px;
}
.jsa-flow-section .jsa-flow-header .jsa-flow-subtitle {
  color: #FF6FB3;
  font-family: Inter;
  font-size: 20px;
  font-weight: 400;
  display: block;
  margin-bottom: 10px;
  text-transform: lowercase;
}
@media only screen and (max-width: 796px) {
  .jsa-flow-section .jsa-flow-header .jsa-flow-subtitle {
    font-size: 15px;
  }
}
.jsa-flow-section .jsa-flow-header .jsa-flow-title {
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 40px;
  font-weight: 700;
  margin: 0;
}
.jsa-flow-section .jsa-flow-content .jsa-flow-description {
  color: #444444;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 36px;
  margin-bottom: 60px;
  text-align: center;
}
.jsa-flow-section .jsa-flow-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.jsa-flow-section .jsa-flow-step {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  margin-bottom: 20px;
  flex-direction: column;
}
.jsa-flow-section .jsa-flow-step:last-child {
  margin-bottom: 0;
}
.jsa-flow-section .jsa-flow-step .jsa-flow-step-content {
  background: white;
  width: 100%;
  flex: 1;
  background: #FFF;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.16);
  position: relative;
}
.jsa-flow-section .jsa-flow-step .jsa-flow-step-content .jsa-flow-step-title {
  color: #111;
  padding: 11px 30px;
  background: #FFF0F8;
  font-size: 28px;
  font-weight: 700;
}
.jsa-flow-section .jsa-flow-step .jsa-flow-step-content .jsa-flow-step-description {
  color: #111;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 20px;
  padding: 37px 30px;
  font-weight: 400;
  line-height: 30px;
  margin: 0;
}
.jsa-flow-section .jsa-flow-step .jsa-flow-step-content .jsa-flow-step-description b {
  font-weight: 700;
}
.jsa-flow-section .jsa-flow-step .jsa-flow-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 20px 0;
  flex-shrink: 0;
}
.jsa-flow-section .jsa-flow-step .jsa-flow-arrow svg {
  width: 30px;
  height: 30px;
  transform: rotate(90deg);
}
.jsa-flow-section .jsa-flow-step.jsa-flow-step-last .jsa-flow-arrow {
  display: none;
}
@media (max-width: 796px) {
  .jsa-flow-section .jsa-flow-header {
    margin-bottom: 40px;
  }
  .jsa-flow-section .jsa-flow-header .jsa-flow-title {
    font-size: 30px;
  }
  .jsa-flow-section .jsa-flow-content .jsa-flow-description {
    font-size: 16px;
    line-height: 30px;
    margin-bottom: 30px;
  }
  .jsa-flow-section .jsa-flow-step {
    margin-bottom: 0;
  }
  .jsa-flow-section .jsa-flow-step .jsa-flow-step-content {
    padding: 0;
  }
  .jsa-flow-section .jsa-flow-step .jsa-flow-step-content .jsa-flow-step-title {
    font-size: 18px;
    padding: 11px 15px;
    line-height: 28px;
  }
  .jsa-flow-section .jsa-flow-step .jsa-flow-step-content .jsa-flow-step-description {
    font-size: 16px;
    line-height: 22px;
    padding: 14px 10px;
    line-height: 30px;
    font-weight: normal;
  }
  .jsa-flow-section .jsa-flow-step .jsa-flow-arrow {
    width: 40px;
    height: 40px;
    margin: 15px 0;
  }
  .jsa-flow-section .jsa-flow-step .jsa-flow-arrow svg {
    width: 24px;
    height: 24px;
  }
}

.jsa-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.specified-skilled-worker-main .jsa-hero-section {
  min-height: 400px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
@media only screen and (max-width: 796px) {
  .specified-skilled-worker-main .jsa-hero-section {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.8), rgba(240, 248, 255, 0.8)), url("/wp-content/themes/twentytwentyfive/assets/images/top_image_5.png") center/cover;
    min-height: 150px;
  }
}
.specified-skilled-worker-main .jsa-hero-section::before {
  content: "";
  position: absolute;
  top: -136%;
  left: -200px;
  opacity: 0.4;
  right: 0;
  bottom: 0;
  background: url("/wp-content/themes/twentytwentyfive/assets/images/top_image_5.png");
  z-index: 1;
}
@media only screen and (max-width: 796px) {
  .specified-skilled-worker-main .jsa-hero-section::before {
    background: none;
  }
}
.specified-skilled-worker-main .jsa-hero-section .jsa-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 800px;
  margin: 0 auto;
}
.specified-skilled-worker-main .jsa-hero-section .jsa-hero-title {
  font-size: 40px;
  font-weight: 700;
  color: #222;
  margin: 0;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
}
@media only screen and (max-width: 796px) {
  .specified-skilled-worker-main .jsa-hero-section .jsa-hero-title {
    color: #222;
    font-size: 26px;
    font-weight: 700;
    line-height: 51px;
  }
}

.specified-skilled-worker-container {
  max-width: 1000px;
  margin: 0 auto;
}
@media only screen and (max-width: 796px) {
  .specified-skilled-worker-container {
    padding: 0 5%;
  }
}

.specified-skilled-worker-main .description-text {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 36px;
  max-width: 1000px;
  margin: 80px auto 50px;
}
@media only screen and (max-width: 796px) {
  .specified-skilled-worker-main .description-text {
    margin: 40px auto 30px;
    font-size: 18px;
  }
}

@media only screen and (max-width: 796px) {
  .skills-comparison-table-wrapper {
    overflow-x: auto;
  }
}

.skills-comparison-table {
  max-width: 1000px;
  font-size: 16px;
  margin: 0 auto;
}
@media only screen and (max-width: 796px) {
  .skills-comparison-table {
    min-width: 1000px;
  }
}
.skills-comparison-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  line-height: 1.6;
}
.skills-comparison-table table th, .skills-comparison-table table td {
  border: 2px solid #fff;
  padding: 6px 12px;
  text-align: center;
}
.skills-comparison-table table th {
  font-weight: bold;
  width: 20%;
}
.skills-comparison-table table th:first-child {
  background-color: #fff;
}
.skills-comparison-table table th:nth-child(2) {
  background-color: #FE6FB3;
  color: #fff;
}
.skills-comparison-table table th:nth-child(3), .skills-comparison-table table th:nth-child(4), .skills-comparison-table table th:nth-child(5) {
  background: #CAE2F2;
  color: #093F64;
}
.skills-comparison-table table td {
  font-size: 16px;
  font-weight: 500;
  line-height: 24px;
  vertical-align: middle;
  background: #F7FCFF;
}
.skills-comparison-table table td span {
  font-size: 14px;
}
.skills-comparison-table table td b {
  font-weight: 700;
}
.skills-comparison-table table td:first-child {
  background-color: #F0F0F0;
  color: #111;
  font-size: 16px;
  font-weight: 500;
  line-height: 72px;
}
.skills-comparison-table table td:nth-child(2) {
  background: #FEF1F8;
}
.skills-comparison-table table tr:nth-child(3) td:first-child,
.skills-comparison-table table tr:nth-child(6) td:first-child,
.skills-comparison-table table tr:nth-child(8) td:first-child {
  line-height: 36px;
}
.skills-comparison-table table tr:nth-child(5) td:first-child,
.skills-comparison-table table tr:nth-child(7) td:first-child {
  line-height: 48px;
}

.support-details-section .support-subtitle {
  color: #ff69b4;
  margin-top: 150px;
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.1em;
  font-family: Inter;
  text-align: center;
}
@media only screen and (max-width: 796px) {
  .support-details-section .support-subtitle {
    margin-top: 80px;
    font-size: 15px;
  }
}
.support-details-section .support-title {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 40px;
  font-weight: 700;
  line-height: 72px;
}
@media only screen and (max-width: 796px) {
  .support-details-section .support-title {
    font-size: 30px;
  }
}
.support-details-section .support-description {
  color: #111;
  margin: 0 auto 50px;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
  margin-top: 35px;
}
@media only screen and (max-width: 796px) {
  .support-details-section .support-description {
    margin-top: 10px;
    font-size: 18px;
  }
}
.support-details-section .flow-description {
  color: #111;
  margin: 0 auto 50px;
  font-size: 20px;
  line-height: 36px;
  font-weight: 500;
  margin-top: 35px;
}
.support-details-section .flow-description b {
  font-weight: bold;
}
@media only screen and (max-width: 796px) {
  .support-details-section .flow-description {
    margin-top: 10px;
    font-size: 20px;
  }
}

@media only screen and (max-width: 796px) {
  .flow-image-wrapper {
    overflow-x: auto;
  }
}

.flow-image {
  margin: 47px auto 60px;
}
@media only screen and (max-width: 796px) {
  .flow-image {
    min-width: 1000px;
    margin: 0px auto 100px;
  }
}

.support-details-grid {
  margin-top: 40px;
}
.support-details-grid .support-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}
@media only screen and (max-width: 796px) {
  .support-details-grid .support-grid {
    gap: 10px;
  }
}
.support-details-grid .support-item {
  margin-bottom: 20px;
  width: 48%;
}
@media only screen and (max-width: 796px) {
  .support-details-grid .support-item {
    width: 100%;
  }
}
.support-details-grid .support-item .support-header {
  background: #083F64;
  color: white;
  font-size: 24px;
  font-weight: 700;
  line-height: 50px;
  padding: 0 20px;
  box-sizing: border-box;
}
@media only screen and (max-width: 796px) {
  .support-details-grid .support-item .support-header {
    font-size: 20px;
    line-height: 40px;
  }
}
.support-details-grid .support-item .support-content {
  padding: 20px;
  height: 120px;
  display: flex;
  align-items: center;
  gap: 15px;
  background: #FFF;
  box-shadow: 3px 3px 5px 0px rgba(0, 0, 0, 0.16);
}
@media only screen and (max-width: 796px) {
  .support-details-grid .support-item .support-content {
    height: auto;
    padding: 10px 15px;
  }
}
.support-details-grid .support-item .support-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.support-details-grid .support-item .support-icon svg {
  width: 30px;
  height: 30px;
  fill: white;
}
.support-details-grid .support-item .support-text {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-weight: 500;
  line-height: 30px;
}
@media only screen and (max-width: 796px) {
  .support-details-grid .support-item .support-text {
    line-height: 24px;
  }
}

.support-icon-image {
  width: 120px;
}
@media only screen and (max-width: 796px) {
  .support-icon-image {
    width: 80px;
  }
}

@media only screen and (max-width: 796px) {
  .internship-flow-wrapper {
    overflow-x: auto;
  }
}

.internship-flow-container {
  margin: 40px auto 150px;
  padding: 30px;
  box-sizing: border-box;
  max-width: 1000px;
  border: 2px solid #FE6FB3;
  border-radius: 10px;
}
@media only screen and (max-width: 796px) {
  .internship-flow-container {
    min-width: 1000px;
    padding: 10px;
    margin: 0px auto 100px;
  }
}
.internship-flow-container .internship-flow-title {
  font-size: 30px;
  font-weight: bold;
  text-align: left;
  margin-bottom: 30px;
  line-height: 72px;
}
@media only screen and (max-width: 796px) {
  .internship-flow-container .internship-flow-title {
    font-size: 22px;
  }
}
.internship-flow-container .flow-section {
  margin-bottom: 150px;
}
.internship-flow-container .flow-section .flow-section-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 30px;
}
@media only screen and (max-width: 796px) {
  .internship-flow-container .flow-section .flow-section-title {
    font-size: 22px;
    line-height: 30px;
  }
  .internship-flow-container .flow-section .flow-section-title span {
    font-size: 18px;
  }
}
.internship-flow-container .flow-section .flow-section-title-2 {
  padding-top: 50px;
}
.internship-flow-container .flow-section .flow-diagram {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper {
  display: flex;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .step-box-arrow {
  width: 240px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  color: #111;
  text-align: center;
  height: 60px;
  font-weight: 500;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .step-box-arrow-1 {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/arrow_blue_1.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .step-box-arrow-2 {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/arrow_blue_2.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: -30px;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .step-box-arrow-3 {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/arrow_blue_3.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: -30px;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .step-box-arrow-4 {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/arrow_blue_4.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-left: -30px;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .requirement-box {
  text-align: center;
  position: absolute;
  top: 70px;
  right: -40px;
  width: 140px;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .requirement-box .requirement-text {
  color: #093F64;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
}
.internship-flow-container .flow-section .flow-diagram .flow-step-wrapper .requirement-box .requirement-text span {
  font-size: 14px;
}
.internship-flow-container .flow-explanation {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  padding-top: 30px;
}
.internship-flow-container .flow-explanation p {
  margin-bottom: 12px;
}
.internship-flow-container .flow-explanation p b {
  font-weight: bold;
}
.internship-flow-container .flow-explanation .requirement-item {
  margin-left: 20px;
  margin-bottom: 8px;
}

.job-categories-page {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.6;
  color: #333;
}
.job-categories-page .main-content .description {
  color: #111;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 36px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .description {
    font-size: 16px;
    font-weight: 500;
    line-height: 30px;
  }
}
.job-categories-page .main-content .job-categories-grid {
  display: flex;
  max-width: 1000px;
  gap: 40px;
  flex-wrap: wrap;
  margin: 86px auto 0;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .job-categories-grid {
    gap: 12px;
    flex-direction: column;
    margin: 50px auto 0;
  }
}
.job-categories-page .main-content .job-categories-grid .category-card {
  position: relative;
  width: 47%;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transition: transform 0.3s;
  height: 320px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .job-categories-grid .category-card {
    width: 100%;
  }
}
.job-categories-page .main-content .job-categories-grid .category-card:hover {
  transform: translateY(-5px);
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image {
  background-size: cover;
  background-position: center;
  position: relative;
  overflow: hidden;
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image:before {
  content: "";
  position: absolute;
  opacity: 0.2;
  top: -155px;
  left: -221px;
  right: 0;
  bottom: 0;
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image .category-icon {
  position: absolute;
  bottom: 40px;
  right: 12px;
  width: 80px;
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image.mechanical::before {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/job-category_1.png");
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image.construction::before {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/job-category_2.png");
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image.agriculture::before {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/job-category_3.png");
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image.textile::before {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/job-category_4.png");
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image.food::before {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/job-category_5.png");
}
.job-categories-page .main-content .job-categories-grid .category-card .category-image.others::before {
  background: url("/wp-content/themes/twentytwentyfive/assets/images/job-category_6.png");
}
.job-categories-page .main-content .job-categories-grid .category-card .category-content {
  padding: 0 1.5rem 1.5rem 1.5rem;
  height: 350px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .job-categories-grid .category-card .category-content {
    height: 330px;
    padding: 0 12px 12px 12px;
  }
}
.job-categories-page .main-content .job-categories-grid .category-card .category-content .category-title {
  color: #FF6FB3;
  font-family: Inter;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: 72px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .job-categories-grid .category-card .category-content .category-title {
    font-size: 24px;
    line-height: 50px;
  }
}
.job-categories-page .main-content .job-categories-grid .category-card .category-content .job-list {
  font-size: 16px;
  color: #111;
  font-family: "Inter";
  line-height: 24px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .job-categories-grid .category-card .category-content .job-list {
    font-size: 15px;
    line-height: 22px;
  }
}
.job-categories-page .main-content .notice {
  font-size: 16px;
  display: flex;
  align-items: flex-start;
  gap: 5px;
  margin-top: 40px;
  color: #111;
  margin-bottom: 145px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .notice {
    margin-bottom: 90px;
  }
}
.job-categories-page .main-content .notice .notice-icon {
  width: 24px;
  height: 24px;
  background: #ffc107;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: bold;
  font-size: 0.9rem;
  flex-shrink: 0;
}
.job-categories-page .main-content .notice-text {
  color: #111;
  font-family: "Inter";
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
}
@media only screen and (max-width: 796px) {
  .job-categories-page .main-content .notice-text {
    font-size: 14px;
  }
}

.main-content .container {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 1rem;
  position: relative;
  z-index: 1;
  margin-top: 158px;
}
@media only screen and (max-width: 796px) {
  .main-content .container {
    margin-top: 60px;
    padding: 0 5%;
  }
}
.main-content .page-title {
  text-align: center;
  font-size: 40px;
  font-weight: bold;
  color: #222;
  margin-bottom: 90px;
  position: relative;
}
@media only screen and (max-width: 796px) {
  .main-content .page-title {
    font-size: 26px;
    margin-bottom: 50px;
    z-index: 1;
  }
}

.about-page .company-info-table {
  background: transparent;
  margin: 190px auto 150px;
}
@media only screen and (max-width: 796px) {
  .about-page .company-info-table {
    margin: 90px auto 90px;
  }
}
.about-page .info-row {
  display: flex;
  border-bottom: 1px solid #ccc;
  min-height: 60px;
}
@media only screen and (max-width: 796px) {
  .about-page .info-row {
    flex-direction: column;
    padding: 17px 0;
  }
}
.about-page .info-label {
  padding: 1.2rem 1.5rem;
  color: #111;
  min-width: 200px;
  display: flex;
  align-items: start;
  font-size: 16px;
}
@media only screen and (max-width: 796px) {
  .about-page .info-label {
    padding: 0;
    line-height: 24px;
  }
}
.about-page .info-value {
  padding: 1.2rem 1.5rem;
  flex: 1;
  display: flex;
  align-items: center;
  font-size: 16px;
  color: #111;
  line-height: 24px;
}
@media only screen and (max-width: 796px) {
  .about-page .info-value {
    padding: 0;
  }
}
.about-page .business-content {
  width: 100%;
}
.about-page .business-content .business-item {
  margin-bottom: 0.5rem;
  line-height: 1.7;
}
.about-page .business-content .business-item:last-child {
  margin-bottom: 0;
}
.about-page .government-agencies {
  width: 100%;
}
.about-page .government-agencies .agency-item {
  margin-bottom: 0.3rem;
}
.about-page .government-agencies .agency-item:last-child {
  margin-bottom: 0;
}
.about-page .affiliated-organizations {
  width: 100%;
}
.about-page .affiliated-organizations .org-item {
  margin-bottom: 0.3rem;
}
.about-page .affiliated-organizations .org-item:last-child {
  margin-bottom: 0;
}
.about-page .overview-link {
  color: #007bff;
  text-decoration: underline;
  font-weight: 500;
  transition: color 0.3s;
}
.about-page .overview-link:hover {
  color: #0056b3;
  text-decoration: underline;
}

.operation-page {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  margin-bottom: 150px;
}
@media only screen and (max-width: 796px) {
  .operation-page {
    margin-bottom: 0;
  }
}
.operation-page .about-link {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  display: flex;
  align-items: flex-end;
  text-align: center;
  justify-content: center;
  text-decoration: none;
  border-bottom: 1px solid #111;
  width: 110px;
  margin: 0 auto;
}
@media only screen and (max-width: 796px) {
  .operation-page .about-link {
    margin-bottom: 100px;
    font-size: 18px;
    width: 95px;
  }
}
.operation-page .about-link img {
  width: 35px;
}
@media only screen and (max-width: 796px) {
  .operation-page .about-link img {
    width: 25px;
  }
}

.operation-content {
  margin-top: 90px;
}
@media only screen and (max-width: 796px) {
  .operation-content {
    margin-top: 50px;
  }
}
.operation-content-title {
  font-weight: 700;
  margin-bottom: 50px;
  font-size: 16px;
}
@media only screen and (max-width: 796px) {
  .operation-content-title {
    font-size: 14px;
  }
}
.operation-content-item-title {
  font-weight: 700;
  font-size: 16px;
}
@media only screen and (max-width: 796px) {
  .operation-content-item-title {
    font-size: 14px;
  }
}
.operation-content-item-text {
  margin-bottom: 30px;
  font-size: 16px;
}
@media only screen and (max-width: 796px) {
  .operation-content-item-text {
    font-size: 14px;
  }
}

.recruit-page {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
}

.recruit-description {
  text-align: center;
  font-size: 22px;
  color: #111;
  margin: 120px auto;
  line-height: 1.8;
  font-weight: 700;
}
@media only screen and (max-width: 796px) {
  .recruit-description {
    color: #111;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 16px;
    font-style: normal;
    margin: 50px auto 80px;
    font-weight: 500;
    line-height: 30px;
  }
}

.recruit-label {
  color: #FF6FB3;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 72px;
  text-align: center;
}
@media only screen and (max-width: 796px) {
  .recruit-label {
    font-size: 15px;
  }
}

.recruit-content {
  margin-top: 50px;
  margin-bottom: 150px;
}
@media only screen and (max-width: 796px) {
  .recruit-content {
    margin-bottom: 0;
  }
}
.recruit-content-title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 50px;
  font-size: 40px;
  color: #111;
}
@media only screen and (max-width: 796px) {
  .recruit-content-title {
    font-size: 30px;
  }
}
.recruit-content-item {
  margin-bottom: 50px;
  background: #fff;
  border-right: 1px solid #e0e0e0;
  border-bottom: 1px solid #e0e0e0;
  padding: 30px;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08), 6px 6px 12px rgba(0, 0, 0, 0.04);
  overflow: hidden;
}
@media only screen and (max-width: 796px) {
  .recruit-content-item {
    padding: 15px 15px 15px 5px;
    margin-bottom: 100px;
  }
}
.recruit-content-item-title {
  position: relative;
  display: inline-block;
  padding-left: 0.75em;
  font-size: 26px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 20px;
}
@media only screen and (max-width: 796px) {
  .recruit-content-item-title {
    font-size: 18px;
    margin-bottom: 15px;
  }
}
.recruit-content-item-title:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  background-color: #3498DB;
}
.recruit-content-item-text {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 36px;
}
@media only screen and (max-width: 796px) {
  .recruit-content-item-text {
    font-size: 14px;
    line-height: 26px;
  }
}

.recruit-table {
  margin-top: 30px;
}
.recruit-table table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #111;
  font-size: 14px;
}
.recruit-table table th, .recruit-table table td {
  padding: 12px 15px;
  text-align: left;
  border: 1px solid #111;
  vertical-align: top;
  font-size: 18px;
}
.recruit-table table th {
  background: #F5F5F5;
  font-weight: 500;
  color: #111;
  width: 15%;
  min-width: 120px;
  line-height: 20px;
}
@media only screen and (max-width: 796px) {
  .recruit-table table th {
    font-size: 12px;
    font-weight: 500;
    min-width: 40px;
  }
}
.recruit-table table td {
  color: #111;
  line-height: 30px;
}
@media only screen and (max-width: 796px) {
  .recruit-table table td {
    font-size: 12px;
  }
}

.about-link {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
  display: flex;
  align-items: flex-end;
  text-align: center;
  justify-content: center;
  text-decoration: none;
  border-bottom: 1px solid #111;
  width: 100px;
  margin: 50px auto 0;
}
.about-link img {
  width: 35px;
  margin-right: 8px;
}

.faq-page {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
}

.faq-content {
  max-width: 900px;
  margin: 200px auto 150px;
  padding: 0 1rem;
}
@media only screen and (max-width: 796px) {
  .faq-content {
    margin: 120px auto 0;
    padding: 0;
  }
}

.faq-item {
  margin-bottom: 60px;
  border-bottom: 1px solid #ccc;
  padding-bottom: 55px;
}
@media only screen and (max-width: 796px) {
  .faq-item {
    margin-bottom: 40px;
    padding-bottom: 40px;
  }
}
.faq-item:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 796px) {
  .faq-item:last-child {
    margin-bottom: 100px;
  }
}

.faq-question {
  margin-bottom: 40px;
}
.faq-question .faq-question-text {
  margin: 0;
  font-size: 18px;
  line-height: 1.6;
  color: #111;
  line-height: 36px;
  font-weight: 500;
}

.faq-answer .faq-answer-text {
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #111;
  font-weight: 500;
}
@media only screen and (max-width: 796px) {
  .faq-answer .faq-answer-text {
    letter-spacing: 0.1px;
  }
}

.faq-icon {
  font-size: 40px;
  font-weight: 900;
}
.faq-icon.q-icon {
  color: #3498DB;
}
.faq-icon.a-icon {
  color: #FF6FB3;
}

.contact-page {
  color: #111;
  font-family: "Zen Kaku Gothic New";
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 30px;
}

.contact-description {
  color: #111;
  text-align: center;
  font-family: "Zen Kaku Gothic New";
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
  margin: 120px auto 0;
}
@media only screen and (max-width: 796px) {
  .contact-description {
    color: #111;
    text-align: center;
    font-family: "Zen Kaku Gothic New";
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 30px; /* 187.5% */
    margin: 50px auto 100px;
  }
}

.contact-container {
  margin-bottom: 150px;
}
@media only screen and (max-width: 796px) {
  .contact-container {
    margin-top: 50px;
    margin-bottom: 60px;
  }
}

/*# sourceMappingURL=style.css.map */
