@charset "UTF-8";

/*
Theme Name:   SYSKEN 2
Description:  
Author:       SHIN Inc.
Author URI:   http://www.shin-inc.jp/
Version:      2.0
Template:    archetype4
*/

:root {
  --scrollbar: 0px;
  --contact-area-margin: 4rem;
}

/* Fonts
--------------------------------*/

@font-face {
  font-family: "icomoon";
  src: url("fonts/icomoon.eot?ncst3p");
  src: url("fonts/icomoon.eot?ncst3p#iefix") format("embedded-opentype"), url("fonts/icomoon.ttf?ncst3p") format("truetype"), url("fonts/icomoon.woff?ncst3p") format("woff"), url("fonts/icomoon.svg?ncst3p#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

/* Normalize
--------------------------------*/

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

*:first-child {
  margin-top: 0;
}

*:last-child {
  margin-bottom: 0;
}

html,
body,
div,
header,
footer,
main,
article,
section,
aside,
nav,
figure,
figcaption {
  display: block;
  margin: 0;
  padding: 0;
}

html {
  line-height: 1.7;
  box-sizing: border-box;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  line-break: strict;
}

body {
  overflow-x: clip;
  background: #fff;
  color: #111;
}

a {
  color: inherit;
  transition: 0.3s;
}

a:before,
a:after {
  text-align: inherit;
  text-decoration: inherit;
}

abbr {
  text-decoration: inherit;
}

blockquote {
  margin: 1.5em 0;
  padding: 1em;
  border-style: solid;
  border-width: 1px 0;
}

del {
  opacity: 0.8;
}

em {
  font-style: inherit;
  font-weight: bolder;
}

img,
iframe {
  max-width: 100%;
  min-height: 1px;
  vertical-align: middle;
  border: 0;
}

img {
  height: auto;
}

p {
  margin: 1em 0;
}

header p,
footer p {
  margin: 0;
}

pre {
  margin: 1em 0;
  white-space: pre-wrap;
}

ul {
  margin: 1em 0;
  padding-left: 1.5em;
}

ol {
  margin: 1em 0;
  padding-left: 2em;
}

nav ul,
nav ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

dl {
  margin: 1em 0;
}

dt {
  margin: 0;
  font-weight: 700;
}

dd {
  margin: 0;
}

dd + dt {
  margin-top: 1em;
}

section {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: center;
}

th,
td {
  vertical-align: baseline;
  padding: 0.75em 1em;
  border: 0;
  border-bottom: 1px solid #abb8c3;
  text-align: left;
}

th {
  vertical-align: middle;
  border-bottom: 2px solid #01ADA7;
  font-weight: 600;
  white-space: nowrap;
}

button,
input,
textarea,
select {
  max-width: 100%;
  vertical-align: middle;
  line-height: 1.4;
  margin: 0;
  font-family: inherit;
  font-size: 1em;
  transition: 0.3s;
}

button,
[type=submit],
[type=button],
[type=reset] {
  -webkit-appearance: none;
  appearance: none;
  box-shadow: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  color: inherit;
  text-shadow: none;
}

[type=text],
[type=tel],
[type=email],
[type=url],
[type=search],
[type=number],
[type=date],
[type=password],
textarea,
select {
  padding: 5px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

[type=text]:focus,
[type=tel]:focus,
[type=email]:focus,
[type=url]:focus,
[type=search]:focus,
[type=number]:focus,
[type=date]:focus,
[type=password]:focus,
textarea:focus,
select:focus {
  background: #ff9;
}

[type=radio],
[type=checkbox] {
  vertical-align: baseline;
}

button,
[type=submit],
[type=button],
[type=reset],
[type=radio],
[type=checkbox] {
  cursor: pointer;
}

[disabled] {
  opacity: 0.3;
  cursor: default;
}

fieldset {
  margin: 0;
  padding: 0;
  border: 0;
}

legend {
  width: 100%;
}

/* Extends
--------------------------------*/

.post:first-child,
.widget:first-child,
.paragraph:first-child {
  margin-top: 0;
}

.post:last-child,
.widget:last-child,
.paragraph:last-child {
  margin-bottom: 0;
}

.site-content,
.site-footer-content,
.site-header-content {
  max-width: 1440px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 3.125vw;
  padding-left: 3.125vw;
}

.entry-content:after {
  display: block;
  clear: both;
  content: "";
}

.wpcf7-submit,
.btn {
  --color: #fff;
  --bg-color: linear-gradient(90deg, #00D6CE, #01ADA7 29.33%, #005EAE);
  --bd-color: #005EAE;
  display: block;
  position: relative;
  max-width: 100%;
  line-height: 1.4286;
  box-shadow: none;
  margin: 0;
  padding: 1.286em 2.286em;
  border: 0;
  border-radius: 4em;
  background: var(--bg-color);
  color: var(--color);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  font-weight: 600;
  font-size: 0.875rem;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
}

.wpcf7-submit:hover,
.btn:hover,
.wpcf7-submit:focus,
.btn:focus {
  box-shadow: 0 0 0 0.14286em var(--bd-color) inset;
  background: var(--color);
  color: var(--color2, var(--bd-color));
}

/* Heading
--------------------------------*/

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

h2 {
  margin: 3rem 0 1.5rem;
  color: #01ADA7;
  font-size: 1.75rem;
  letter-spacing: 0.1em;
}

h2:where([data-en]) {
  color: #005EAE;
  font-size: 1rem;
}

h2:where([data-en]) .en {
  display: block;
  width: fit-content;
  line-height: 1;
  margin-bottom: 0.2em;
  background: linear-gradient(90deg, #00D6CE, #01ADA7 29.33%, #005EAE);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 2.5em;
  letter-spacing: 0;
  text-transform: uppercase;
}

h3 {
  margin-bottom: 1em;
  color: #01ADA7;
  font-size: 1.5rem;
}

:where(.entry-content) h3 {
  line-height: 1.25;
  margin: 2.5rem 0 1.5rem;
  padding: 0.25em 0 0.25em 0.4em;
  border-left: 0.2em solid;
  font-size: 1.125rem;
}

h4 {
  font-size: 1.25rem;
}

:lang(en) {
  font-family: "Fjalla One", sans-serif;
}

/* Site Width
--------------------------------*/

.site {
  margin: auto;
}

/* Common
--------------------------------*/

.btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: 16rem;
  margin: 3.5rem auto 0;
}

.btn:before {
  content: "";
}

.btn:after {
  font-family: icomoon;
  font-weight: 400;
  content: "\e900";
}

.btn[download] {
  flex-direction: column;
  box-shadow: 0 0 0 0.14286em var(--bd-color) inset;
  padding-inline: 2.25em;
  background: var(--color);
  color: var(--color2, var(--bd-color));
}

.btn[download]:after {
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  height: 1em;
  line-height: 1;
  margin: auto;
  font-size: 1.7143em;
  content: "\e901";
}

.btn[download]:hover,
.btn[download]:focus {
  --color: #E5EFF7;
}

.image {
  text-align: center;
}

.graph {
  margin: 2rem auto;
  text-align: center;
}

.graph:last-child {
  margin-bottom: 0;
}

.graph:has(img[src*="training_img02.png"]) {
  max-width: 50rem;
  margin-top: 2rem;
}

.graph2 {
  box-shadow: 0 0 0 1px #01ADA7 inset;
  margin: 2rem 0;
  padding: 1.25rem;
  border-radius: 1rem;
  background: #fff;
  text-align: center;
}

.tagline {
  line-height: 1.8;
  margin-bottom: 1.6em;
  color: #01ADA7;
  font-weight: 600;
  font-size: 1.5rem;
  text-align: center;
}

.tagline2 {
  line-height: 2;
  font-weight: 600;
  font-size: 1.25em;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.lede {
  margin: 1rem 0;
  text-align: justify;
}

.content .lede {
  width: auto;
  margin: 0 0 2rem;
}

.lede2 {
  line-height: 2;
  margin-bottom: 2rem;
  font-weight: 600;
  text-align: justify;
}

.textual-matter {
  line-height: 2;
  text-align: justify;
}

:where(.textual-matter) p {
  margin-block: 2em;
}

.link {
  margin-top: 2rem;
  text-align: center;
}

.more-link {
  margin-top: 1.5rem;
  text-align: right;
}

.more-link .btn {
  margin-inline: auto;
}

.more-link a:not([class]) {
  display: inline-block;
  position: relative;
  color: #005EAE;
  font-weight: 600;
  font-size: 0.8125em;
  text-decoration: none;
}

.more-link a:not([class]):before {
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  border-top: 1px solid;
  transition: width 0.3s ease;
  content: "";
}

.more-link a:not([class]):after {
  margin-left: 0.385em;
  font-family: icomoon;
  content: "\e900";
}

.more-link a:not([class]):hover:before,
.more-link a:not([class]):focus:before {
  width: 100%;
}

.movie {
  max-width: 800px;
  aspect-ratio: 16/9;
  margin: 0 auto;
}

.movie iframe,
.movie video {
  width: 100%;
  height: 100%;
}

.text-with-image {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.text-with-image__image {
  text-align: center;
}

.text-with-image__text p {
  margin: 0;
  line-height: 2;
}

.paragraph {
  margin: 1em 0;
}

.paragraph > p {
  margin-top: 0;
  margin-bottom: 0;
}

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.screen-reader-text:focus {
  clip: auto !important;
  background-color: #ddd;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.screen-reader-text:before,
.screen-reader-text:after {
  content: none;
}

.break:before {
  white-space: pre;
  content: "\a";
}

.en {
  font-family: "Fjalla One", sans-serif;
  font-weight: 400;
}

.table-wrap {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.table-wrap__notice {
  display: none;
  position: sticky;
  left: 0;
  width: 100%;
  line-height: 2.91;
  font-size: 0.6875rem;
  text-align: center;
}

.table-wrap__notice:after {
  vertical-align: top;
  margin-left: 0.25em;
  font: 2rem/1 icomoon;
  content: "\e907";
}

.is-scroll .table-wrap__notice {
  display: block;
}

/* Header
--------------------------------*/

.site-header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.home .site-header {
  position: fixed;
}

.site-header-content {
  display: grid;
  grid-template-areas: "logo nav";
  grid-template-columns: auto auto;
  align-items: center;
  column-gap: 1em;
  padding-block: 0.75em;
}

.site-title {
  position: relative;
  z-index: 100001;
  grid-area: logo;
  width: 8em;
  line-height: 1;
  margin: 0;
  padding: 0;
  font-size: 1em;
}

.site-title:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: url(/assets/images/logo_w.svgz) no-repeat 50% 50%/contain;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
  content: "";
}

.site-title.white:before {
  opacity: 1;
}

.site-title img,
.site-title svg {
  width: 100%;
}

.global-nav {
  grid-area: nav;
  margin-left: auto;
}

.global-nav-content {
  display: none;
}

.no-js .global-nav-content {
  display: block;
}

.global-nav__item {
  border-bottom: 1px solid #80AED7;
}

.global-nav__link {
  display: block;
  position: relative;
  line-height: 2;
  padding: 0.61765em 2.2353em 0.61765em 0.647em;
  font-weight: 700;
  font-size: 1.0625em;
  text-decoration: none;
}

.global-nav__link:after {
  position: absolute;
  top: 0;
  right: 0.857143em;
  bottom: 0;
  height: 1em;
  margin: auto;
  font: 400 0.82353em/1 icomoon;
  content: "\e900";
}

.global-nav__link:has(.oc-indicator):after {
  content: none;
}

.global-nav__link .oc-indicator {
  --bg: #E5EFF7;
  --color: #005EAE;
  right: 0.5em;
  width: 1.375em;
  height: 1.375em;
}

.global-nav__link .oc-indicator:before,
.global-nav__link .oc-indicator:after {
  width: 0.625em;
  height: 0.125em;
}

.global-nav__search-contact {
  margin-top: 1.5em;
  padding: 1.5em;
  border-radius: 0.625em;
  background: #fff;
  color: #005EAE;
}

.global-nav__deco {
  overflow: hidden;
  margin-top: 1.5em;
}

.global-nav__deco:after {
  display: block;
  width: 88.2vw;
  aspect-ratio: 368/151;
  opacity: 0.6;
  margin: 6.154vw auto 0;
  background: url(images/nav_illust.svgz) no-repeat 0 0/contain;
  content: "";
}

.global-nav__deco > p {
  margin-right: -0.2em;
  translate: 0.2em 0;
  color: #80aed7;
  font-weight: 600;
  font-size: 6.6154vw;
  letter-spacing: 0.2em;
  text-align: center;
}

.global-nav-child {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 2.5em;
  margin: 0 0 1.5em 1.25em;
}

.global-nav-child__link {
  display: block;
  position: relative;
  padding-left: 1.5em;
  font-weight: 400;
  font-size: 0.9375em;
  text-decoration: none;
}

.global-nav-child__link:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 1em;
  line-height: 1;
  margin: auto;
  font-family: icomoon;
  font-size: 0.875rem;
  content: "\e900";
}

.global-nav-submenu {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.global-nav-submenu__link {
  font-size: 0.75em;
  text-decoration: none;
}

.global-nav-submenu__link:before {
  margin-right: 0.7143em;
  font-family: icomoon;
  font-size: 0.875rem;
  content: "\e900";
}

.global-nav-submenu__link:hover,
.global-nav-submenu__link:focus {
  text-decoration: underline;
}

.global-nav-contact {
  display: flex;
  gap: 1.25em 0.625em;
  margin-top: 1.5em;
}

.global-nav-contact .btn {
  --color: #005EAE;
  --bg-color: #fff;
  --color2: #fff;
  width: 100%;
  min-width: 0;
  margin: 0;
  box-shadow: 0 0 0 0.14286em var(--bd-color) inset;
  font-size: min(12px, 3.077vw);
}

.global-nav-contact .btn:hover,
.global-nav-contact .btn:focus {
  --bd-color: #fff;
}

.global-nav-contact .btn[href*=contact] {
  --color: #fff;
  --bg-color: #005EAE;
  --color2: #005EAE;
  --bd-color: #fff;
}

.global-nav-sns {
  display: flex;
  justify-content: center;
  grid-area: sns;
  margin: 1.5em 0;
}

.global-nav-sns__link {
  display: block;
  padding: 0.46875em;
  border-radius: 50%;
  text-decoration: none;
}

.global-nav-sns__link:hover,
.global-nav-sns__link:focus {
  color: #005EAE;
  background: #fff;
}

.global-nav-sns__link svg {
  display: block;
  width: 1.1875em;
  height: auto;
}

.global-nav-sns__link path {
  fill: currentColor;
}

.shortcut-global-nav {
  display: none;
  grid-area: snav;
}

.shortcut-global-nav__list {
  display: flex;
  position: relative;
  justify-content: end;
  gap: 1.875em;
  padding: 1em 1.5em;
  border-radius: 0.625em;
  background: #fff;
}

.shortcut-global-nav__link {
  display: block;
  position: relative;
  line-height: 1.75;
  overflow: hidden;
  font-weight: 600;
  text-decoration: none;
}

.shortcut-global-nav__link:after {
  display: inline-block;
  vertical-align: top;
  margin-left: 0.4em;
  color: #005EAE;
  font: 1.25em/1.4 icomoon;
}

.shortcut-global-nav__link:has(+ div):after {
  content: "\e902";
}

.shortcut-global-nav__link[target=_blank]:after {
  content: "\e903";
}

.shortcut-global-nav__link:hover .shortcut-global-nav__copy,
.shortcut-global-nav__link:focus .shortcut-global-nav__copy {
  opacity: 1;
}

.shortcut-global-nav__copy {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 0.3s;
  background: linear-gradient(90deg, #00D6CE, #01ADA7 29.33%, #005EAE);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.shortcut-global-nav-child {
  display: none;
  position: absolute;
  top: 100%;
  opacity: 0;
  z-index: 100;
  margin-top: -1em;
  padding-top: 2.5em;
  transition: opacity 0.3s;
}

.no-js .shortcut-global-nav-child {
  display: block;
  opacity: 1;
  transition: none;
}

.shortcut-global-nav-child__list {
  position: relative;
  width: max-content;
  padding: 0.9375em 0;
  border-radius: 0.625em;
  background: #fff;
}

.shortcut-global-nav-child__list:before {
  position: absolute;
  left: 3.5em;
  bottom: 100%;
  width: 0;
  border: solid transparent;
  border-width: 0 0.375em 0.8125em;
  border-bottom-color: #fff;
  content: "";
}

.shortcut-global-nav-child__list--right:before {
  left: auto;
  right: 3.5em;
}

.shortcut-global-nav-child__link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
  line-height: 2;
  padding: 0.5em 2em;
  font-weight: 600;
  font-size: 0.9375em;
  text-decoration: none;
}

.shortcut-global-nav-child__link:hover,
.shortcut-global-nav-child__link:focus {
  background: #e5eff7;
}

.shortcut-global-nav-child__link:after {
  color: #005EAE;
  font: 1em/1 icomoon;
  transform: rotate(-90deg);
  content: "\e902";
}

.menu-button {
  position: relative;
  z-index: 100001;
  width: 5.25em;
  height: 3.75em;
  border-radius: 0.625em;
  background: #005EAE;
  transition-property: background-color, color;
  color: #fff;
  font-size: 0.5rem;
}

.menu-button[aria-expanded=true] {
  background: #fff;
  color: #005EAE;
}

.menu-icon {
  display: block;
  width: 2.5em;
  height: auto;
  margin: auto;
}

.menu-icon__bar {
  transform-origin: 50% 50%;
  transition: 0.5s;
  fill: none;
  stroke: currentColor;
}

.menu-icon__bar:first-child {
  transform: translateY(-9.8px);
}

.menu-icon__bar:nth-child(2) {
  transform: translateY(9.8px);
}

[aria-expanded=true] .menu-icon__bar {
  transform: rotate(45deg);
}

[aria-expanded=true] .menu-icon__bar:first-child {
  transform: translateY(0) rotate(45deg);
}

[aria-expanded=true] .menu-icon__bar:nth-child(2) {
  transform: translateY(0) rotate(-45deg);
}

.drawer {
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 100000;
  width: 100%;
  overflow: auto;
  padding: 60px 3.125vw 1rem;
  background: #005EAE;
  color: #fff;
  transition: transform 0.3s;
}

.hero {
  overflow: hidden;
  padding: 3.75rem 0 2rem;
  background: linear-gradient(180deg, #cbe9f1 0%, #9ad4df 100%);
  color: #1f4d75;
}

.hero__content {
  padding: 0 3.125vw;
  text-align: center;
}

.hero__content .btn {
  --color: #005EAE;
  --bg-color: #fff;
  --color2: #fff;
  margin-top: 2rem;
}

.hero__purpose {
  margin: 2rem 0 1.5rem;
}

.hero__purpose img {
  width: 76.9231vw;
  max-width: 300px;
}

.hero__text {
  line-height: 2;
  font-weight: 600;
  font-size: 0.875em;
}

.mainvisual {
  position: relative;
  aspect-ratio: 1920/1440;
}

.mainvisual__path {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.mainvisual__car1 {
  position: absolute;
  z-index: 1;
  width: 3.5416666667%;
  aspect-ratio: 68/60;
  background: url(images/mainvisual/car1.webp) no-repeat 0 0/contain;
  offset-path: url(#car-motion);
  animation: move-car1 3s linear infinite;
}

.mainvisual__layer {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: url(images/mainvisual/layer.webp) no-repeat 0 0/contain;
}

#car1 {
  offset-path: url(#car-motion1);
  offset-rotate: 0deg;
  animation: move-car 5.2s linear infinite;
}

#car2 {
  offset-path: url(#car-motion2);
  offset-rotate: 0deg;
  animation: move-car 5.5s 2s linear infinite;
}

#plane1 {
  offset-path: url(#plane-motion1);
  offset-rotate: 0deg;
  animation: move-plane 6.8s linear infinite;
}

#plane2 {
  offset-path: url(#plane-motion2);
  offset-rotate: 0deg;
  animation: move-plane 7.8s 1.5s linear infinite;
}

#drone1 {
  offset-path: url(#drone-motion1);
  offset-rotate: 0deg;
  animation: move-drone 4s -2s ease-in-out alternate infinite;
}

#drone2 {
  offset-path: url(#drone-motion2);
  offset-rotate: 0deg;
  animation: move-drone 4s ease-in-out alternate infinite;
}

#worker1 {
  offset-path: url(#worker-motion1);
  offset-rotate: 0deg;
  animation: move-worker 12s linear infinite;
}

#train {
  offset-path: url(#train-motion);
  offset-rotate: 0deg;
  animation: move-train 8.2s cubic-bezier(0.76, 0, 0.51, 1) infinite;
}

#float1 {
  offset-path: url(#float-motion1);
  offset-rotate: 0deg;
  animation: move-drone 4.4s -0.2s ease-in-out alternate infinite;
}

#float2 {
  offset-path: url(#float-motion2);
  offset-rotate: 0deg;
  animation: move-drone 4.5s -1.8s ease-in-out alternate infinite;
}

#float3 {
  offset-path: url(#float-motion3);
  offset-rotate: 0deg;
  animation: move-drone 6s -3s ease-in-out alternate infinite;
}

@keyframes move-car {
  0% {
    offset-distance: 0%;
  }

  70% {
    offset-distance: 100%;
  }

  100% {
    offset-distance: 100%;
  }
}

@keyframes move-plane {
  0% {
    offset-distance: 0%;
  }

  50% {
    offset-distance: 100%;
  }

  100% {
    offset-distance: 100%;
  }
}

@keyframes move-drone {
  0% {
    offset-distance: 0%;
  }

  100% {
    offset-distance: 100%;
  }
}

@keyframes move-worker {
  5% {
    offset-distance: 0%;
  }

  45% {
    offset-distance: 100%;
  }

  55% {
    offset-distance: 100%;
  }

  95% {
    offset-distance: 0%;
  }

  100% {
    offset-distance: 0%;
  }
}

@keyframes move-train {
  10% {
    offset-distance: 0%;
  }

  53% {
    offset-distance: 60%;
  }

  67% {
    offset-distance: 60%;
  }

  90% {
    offset-distance: 100%;
  }

  100% {
    offset-distance: 100%;
  }
}

/* Footer
--------------------------------*/

.site-footer {
  background: #EAEAEA;
}

.site-footer-content {
  padding-block: 3rem;
}

.back2top {
  display: block;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
}

.back2top > span {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
  padding: 1em;
  color: #005EAE;
  background: #fff;
  font-weight: 600;
}

.back2top > span:before {
  transform: rotate(-90deg);
  font-family: icomoon;
  content: "\e900";
}

.back2top > span:after {
  width: 1em;
  content: "";
}

.organization {
  grid-area: org;
  text-align: center;
}

.organization__logo {
  width: 7.125em;
  margin: 0 auto 4em;
}

.organization__logo img {
  width: 100%;
}

.organization__socials {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 0.5em;
  margin-bottom: 0.75em;
}

.organization__socials a {
  flex: 0 0 2em;
}

.organization__socials svg {
  display: block;
}

.organization__content {
  line-height: 2;
  font-weight: 600;
  font-size: 0.9375em;
}

.organization__address {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 1em;
}

.organization__contact {
  display: flex;
  justify-content: center;
}

.organization__contact:after {
  order: 2;
  content: "／";
}

.organization__contact > span:first-child {
  order: 1;
}

.organization__contact > span:last-child {
  order: 3;
}

.foot-banner {
  display: flex;
  list-style: none;
  grid-area: banner;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75em;
  margin: 1em 0;
  padding: 0;
}

.foot-banner a:hover,
.foot-banner a:focus {
  opacity: 0.65;
}

.foot-banner img {
  height: 5em;
}

.foot-menu {
  grid-area: menu;
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.625em 2em;
  margin: 0;
  padding: 0;
}

.foot-menu a {
  font-weight: 600;
  font-size: 0.875em;
  text-decoration: none;
}

.foot-menu a:hover,
.foot-menu a:focus {
  text-decoration: underline;
}

.foot-menu a[target=_blank]::after {
  display: inline-block;
  font-family: icomoon;
  font-weight: 400;
  content: "\e903";
}

.comsys {
  grid-area: comsys;
  width: 10.375em;
  margin: 2em auto;
}

.foot-banner2 {
  display: flex;
  list-style: none;
  grid-area: banner2;
  justify-content: center;
  gap: 0.75em;
  margin: 0;
  padding: 0;
}

.foot-banner2 > li {
  flex: 0 1 auto;
  max-width: 16em;
}

.foot-banner2 a:hover,
.foot-banner2 a:focus {
  opacity: 0.65;
}

.copyright {
  grid-area: copyright;
  padding: 0.8em 0;
  border-top: 1px solid #999;
  font-weight: 600;
  font-size: 0.9375em;
  text-align: center;
}

/* Site Content
--------------------------------*/

.no-posts {
  font-weight: 700;
  text-align: center;
}

/* 404
--------------------------------*/

.search-form {
  display: block;
  position: relative;
  width: 100%;
  max-width: 400px;
}

.search-form__field {
  width: 100%;
  padding: 0.5em 2.25em 0.5em 0.75em;
  border: 0;
  border-bottom: 1px solid;
  border-radius: 0;
  background: transparent;
  color: inherit;
}

.search-form__field::placeholder {
  color: #80AED7;
  font-size: 0.875em;
}

.search-form__field:focus {
  background: transparent;
}

.search-form__submit {
  position: absolute;
  top: 0;
  right: 0;
  width: 2.25em;
  height: 100%;
  background: transparent;
}

.search-form__submit:before {
  font: 1.125em/1 icomoon;
  content: "\e904";
}

/* Contact Box
--------------------------------*/

.contact-area {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-top: var(--contact-area-margin);
  padding-block: 3.5em;
  background: linear-gradient(90deg, #00D6CE, #01ADA7 29.33%, #005EAE);
  color: #fff;
}

.contact-area h2 {
  color: inherit;
}

.contact-area h2 .en {
  background: transparent;
  -webkit-background-clip: unset;
  background-clip: unset;
  -webkit-text-fill-color: unset;
  color: inherit;
}

.contact-area__content .btn {
  --color: #005EAE;
  --bg-color: #fff;
  --color2: #fff;
}

.syskenkun {
  grid-area: syskenkun;
  width: 6.375em;
  aspect-ratio: 240/160;
  margin: 2em auto 0;
}

.syskenkun img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.contactbox {
  margin-top: 3rem;
  padding: 1.25rem;
  border: 0.125rem solid #01ADA7;
  border-radius: 1rem;
  text-align: center;
}

.contactbox__heading {
  margin: 0 0 1em;
  color: #01ADA7;
  font-size: 1.125rem;
}

.contactbox__method {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  line-height: 1.07143;
  font-weight: 700;
  font-size: 1.875em;
}

.contactbox__method > span {
  display: flex;
  align-items: center;
  height: 1.667em;
  padding: 0.1em 0.5555555556em 0;
  border-radius: 0.2222222222em;
  background: #01ADA7;
  color: #fff;
  font: 0.643em/1 "Fjalla One", sans-serif;
  text-align: center;
  text-transform: uppercase;
}

.contactbox__method > a {
  transform: translateY(-0.06em);
  text-decoration: none;
}

.contactbox__note {
  display: flex;
  flex-direction: column;
  margin-top: 1.25em;
  font-size: 0.9375em;
}

/* Sidebar
--------------------------------*/

/* Breadcrumbs
--------------------------------*/

.breadcrumbs {
  overflow: auto;
  margin: 0 0 1.5rem;
}

.breadcrumbs > ol {
  display: flex;
}

.breadcrumbs li {
  display: inline-block;
  font-size: 0.8125em;
  white-space: nowrap;
}

.breadcrumbs li:first-child {
  text-transform: uppercase;
}

.breadcrumbs li + li:before {
  margin: 0 0.3em;
  content: ">";
}

.breadcrumbs a {
  text-decoration: none;
}

.breadcrumbs a:hover,
.breadcrumbs a:focus {
  text-decoration: underline;
}

/* Home
--------------------------------*/

.home-purpose-area__image {
  margin: 1.5em 0;
  text-align: center;
}

.home-news-area {
  position: relative;
}

.home-news-area:before {
  position: absolute;
  top: -1em;
  right: 0;
  width: 4.25em;
  aspect-ratio: 140/177;
  background: url(images/home_news_illust.svgz) no-repeat 0 0/contain;
  content: "";
}

.home-company-area {
  display: flex;
  position: relative;
  flex-direction: column;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: #E6F7F6;
}

.home-company-area h2 {
  order: 1;
}

.home-company-area:after {
  display: block;
  order: 4;
  width: 5.3125em;
  aspect-ratio: 126/166;
  margin: 1em auto -2em;
  background: url(images/home_company_illust.svgz) no-repeat 0 0/contain;
  content: "";
  speak: none;
}

.home-company-area__image {
  order: 2;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-bottom: 1em;
}

.home-company-area .textual-matter {
  order: 3;
}

.home-company-area .btn {
  order: 5;
}

.home-sustainability-area__image {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-bottom: 2.5em;
  text-align: center;
}

.home-sustainability-area__image img {
  border-radius: 0.625em;
}

.home-recruit-area {
  position: relative;
  z-index: 0;
  overflow: hidden;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  padding-top: 4.5em;
  background: #01ADA7;
  color: #fff;
}

.home-recruit-area:before,
.home-recruit-area:after {
  position: absolute;
  z-index: 10;
  background: url(images/home_recruit_illust1.svgz) no-repeat 0 0/contain;
  content: "";
}

.home-recruit-area:before {
  top: 7.5em;
  left: 35.4vw;
  width: 4.75em;
  aspect-ratio: 150/183;
}

.home-recruit-area:after {
  content: none;
}

.home-recruit-area h2 {
  margin-bottom: 6rem;
  color: inherit;
}

.home-recruit-area h2 .en {
  background-image: none;
  background-color: currentColor;
}

.home-recruit-area .btn {
  --color: #005EAE;
  --bg-color: #fff;
  --color2: #fff;
}

.home-recruit-area__tagline {
  text-shadow: 0 0 0.2em #01ADA7;
}

.home-recruit-area .text-matter {
  text-shadow: 0 0 0.3125em #01ADA7;
}

.recruit-slide-container {
  position: absolute;
  top: 0;
  left: 14.872vw;
  z-index: -1;
  width: 100%;
  height: 100%;
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 1.92%, #000 18.75%, #000 81.25%, rgba(0, 0, 0, 0) 98.08%);
}

.recruit-slide-container:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(1, 173, 167, 0.4);
  content: "";
}

.recruit-slide-wrap {
  display: flex;
  gap: min(20px, 5.1282vw);
  height: 100%;
  rotate: 15deg;
  transform-origin: 0 100%;
}

.recruit-slide {
  flex: 0 0 auto;
  width: 61.54vw;
  max-width: 320px;
}

.recruit-slide__list {
  display: flex;
  flex-direction: column;
  list-style: none;
  width: fit-content;
  height: fit-content;
  margin: 0;
  padding: 0;
  animation: scroll-vertical 71s linear infinite;
}

.recruit-slide:nth-child(2) .recruit-slide__list {
  animation-direction: reverse;
}

.recruit-slide__item {
  margin-bottom: 1.375em;
}

@keyframes scroll-vertical {
  0% {
    translate: 0 -33.333%;
  }

  100% {
    translate: 0 -66.666%;
  }
}

.pamphlet-list {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 1.25em;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-block: 0;
  padding: 1.5em calc(3.125vw + 1em);
  background: #E6F7F6;
}

.pamphlet-list .btn {
  width: 100%;
  margin: 0;
}

/* Page
--------------------------------*/

.page-header {
  display: flex;
  position: relative;
  align-items: center;
  height: 8.75rem;
  overflow: hidden;
  margin-bottom: 2rem;
  padding: 0 3.125vw;
  color: #fff;
}

.page-header__bg,
.page-header__spbg {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.page-header__bg {
  display: none;
}

.page-title {
  position: relative;
  z-index: 10;
  line-height: 1.28;
  margin: 0;
  font-size: 1.5rem;
  text-shadow: 0 0.125em 0.1em rgba(0, 94, 174, 0.5);
}

.page-title .en {
  display: block;
  line-height: 1.2;
  margin-top: 0.2667em;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.54167em;
  text-transform: uppercase;
}

.bg-area,
.bg-area2 {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: #E6F7F6;
}

.bg-area:last-child,
.bg-area2:last-child {
  margin-bottom: calc(var(--contact-area-margin) * -1);
}

.bg-area .content,
.bg-area2 .content {
  box-shadow: none;
}

.bg-area2 {
  background-color: #f9f9f9;
}

.content {
  box-shadow: 0 0.25rem 0.25rem 0 rgba(0, 0, 0, 0.25);
  padding: 1.5rem 1rem;
  border-radius: 1rem;
  background: #fff;
}

p + .content {
  margin-top: 2em;
}

.children-list {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

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

.children-list .children > li {
  position: relative;
  padding-left: 1.5em;
}

.children-list .children > li:before {
  position: absolute;
  left: 0;
  content: "┣";
}

.children-list .children > li:last-child:before {
  content: "┗";
}

.pagenavi {
  margin-top: 3rem;
}

.pagenavi > ul {
  display: flex;
  gap: 0.5em;
  flex-direction: column;
}

.pagenavi a {
  display: inline-flex;
  position: relative;
  align-items: center;
  gap: 0.8em;
  font-size: 0.9375em;
  text-decoration: none;
}

.pagenavi a:before {
  position: absolute;
  top: 100%;
  left: 0;
  width: 0;
  border-top: 1px solid #005EAE;
  transition: width 0.3s;
  content: "";
}

.pagenavi a:after {
  color: #005EAE;
  font-family: icomoon;
  font-weight: 400;
  content: "\e900";
}

.pagenavi a:hover:before,
.pagenavi a:focus:before {
  width: 100%;
}

:where(.page-purpose-content) h2[data-en] .en {
  background-color: currentColor;
  background-image: none;
}

.purpose-area__heading {
  color: #01ADA7;
  margin: 0 0 1em;
}

.purpose-area__heading .en {
  background-image: none;
  background-color: #01ADA7;
  text-transform: none;
}

.purpose-area__tagline {
  /*line-height: 1.5;
  margin: 0 0 1em;
  font-weight: 600;
  font-size: 1.5em;
  font-feature-settings: "palt";
  letter-spacing: 0.05em;
  word-break: keep-all;
  overflow-wrap: anywhere;*/
  margin: 0 0 1.5em;
  text-align: center;
}

.purpose-area__tagline img {
  width: 76.9231vw;
  max-width: 300px;
}

.purpose-area__text {
  font-weight: 700;
  text-align: justify;
}

.purpose-area__image {
  position: relative;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  margin-top: 1.5em;
  text-align: center;
}

.purpose-area__anchor {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.purpose-area__anchor.is-inview a {
  animation: fall-and-bounce 0.8s ease forwards;
}

.purpose-area__anchor a {
  opacity: 0;
  transform-box: fill-box;
}

.purpose-area__anchor a:hover,
.purpose-area__anchor a:focus {
  scale: 1.1;
}

.purpose-area__anchor a[href="#interview"] {
  transform-origin: 97.8% 86%;
}

.purpose-area__anchor a[href="#voice"] {
  transform-origin: 0% 23.53%;
  animation-delay: 0.05s;
}

.purpose-area__anchor a[href="#movie"] {
  transform-origin: 92.2% 92.65%;
  animation-delay: 0.1s;
}

.purpose-area__anchor a[href="#message"] {
  transform-origin: 9.56% 94.12%;
  animation-delay: 0.15s;
}

.no-js .purpose-area__anchor a {
  opacity: 1;
  transform: none;
}

@keyframes fall-and-bounce {
  0% {
    opacity: 0;
    translate: 0 -500%;
    animation-timing-function: ease-in;
  }

  50% {
    opacity: 1;
  }

  60% {
    translate: 0 0;
    animation-timing-function: ease-out;
  }

  70% {
    translate: 0 -20%;
    animation-timing-function: ease-in;
  }

  80% {
    translate: 0 0;
    animation-timing-function: ease-out;
  }

  85% {
    translate: 0 -7%;
    animation-timing-function: ease-in;
  }

  90% {
    translate: 0 0;
    animation-timing-function: ease-out;
  }

  93% {
    translate: 0 -3%;
    animation-timing-function: ease-in;
  }

  100% {
    opacity: 1;
    translate: 0 0;
    animation-timing-function: ease-out;
  }
}

.purpose-movie-area {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-bottom: 0;
  padding-bottom: 96.154vw;
  background: url(images/bg_concept_movie@sp.webp) no-repeat center bottom 10.2564vw/100% auto;
}

.purpose-movie-area__heading {
  color: inherit;
  text-align: center;
}

.purpose-movie-area .movie {
  box-shadow: 0 0 0 0.25em #fff;
  background: #ccc;
}

.purpose-vision-area {
  position: relative;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: #5AB5AD;
  color: #fff;
  /*&:after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 17.95vw;
    background: #fff;
    content: "";
  }*/
}

.purpose-vision-area__heading {
  color: inherit;
  font-size: 1.5rem;
  text-align: center;
}

.purpose-vision-area__heading .en {
  display: block;
  margin-top: 0.3em;
  font-size: 1.4583em;
  text-transform: uppercase;
}

.purpose-vision-area__tagline {
  margin: 1.6667em 0;
  font-weight: 600;
  font-size: 1.25em;
  text-align: center;
}

.purpose-vision-area__text {
  width: fit-content;
  line-height: 1.5;
  margin: 0 auto;
  font-weight: 600;
}

.purpose-vision-area__image {
  position: relative;
  z-index: 1;
  margin: 2rem auto 0;
}

.purpose-message-area {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: #f9fafb;
  /*&__photo {
    grid-area: photo;
    max-width: 230px;
    margin: 2em auto;
    border-radius: 1em;
    background: radial-gradient(#d2d6db 0.09375em, transparent 0.09375em) 0 0/0.5em 0.5em;
    img {
      position: relative;
      translate: 5.22% -4.31%;
      border-radius: inherit;
    }
  }
  &__text {
    grid-area: message;
    line-height: 2;
    font-weight: 700;
    :where(&) p {
      margin: 2em 0;
    }
  }
  &__author {
    grid-area: author;
    line-height: 1.334;
    margin-top: 1.334em;
    font-weight: 700;
    font-size: 1.25em;
  }
  @include mq-tablet {
    display: grid;
    grid-template-areas: "photo heading" "photo message" "photo author";
    grid-template-columns: 28.75rem 1fr;
    grid-template-rows: auto auto 1fr;
    align-items: start;
    gap: 0 5.5rem;
    &__photo {
      max-width: none;
      margin-top: 4em;
    }
    &__author {
      font-size: 1.5em;
    }
  }*/
}

.purpose-message-area__heading {
  color: #5AB5AD;
}

.purpose-message__photo {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.purpose-message__content {
  position: relative;
  box-shadow: 0 -0.25em 0.0625em 0 #f0f3f7;
  margin: -1.5em auto 0;
  padding: 1.5em 1.25em;
  border-radius: 1em 1em 0 0;
  background: #fff;
}

.purpose-message__tagline {
  line-height: 1.7;
  font-weight: 700;
  font-size: 1.125em;
}

.purpose-message__text {
  line-height: 2;
  text-align: justify;
}

:where(.purpose-message__text) p {
  margin-top: 2em;
}

.purpose-message-author {
  margin-top: 1.5rem;
  text-align: right;
}

.purpose-message-author__role {
  margin-bottom: 0.75em;
  font-weight: 700;
}

.purpose-message-author__name img {
  width: 12.5em;
}

.purpose-mission-area__heading {
  grid-area: heading;
  color: #8EABE1;
}

.purpose-mission-area__content {
  grid-area: content;
  margin-right: calc(50% - 50vw);
  padding: 4em 3.125vw 4.5em 9.23vw;
  border-radius: 1em 0 0 1em;
  background: rgba(142, 171, 225, 0.6);
  color: #fff;
  text-shadow: 0 0.125rem 0.25rem rgba(88, 92, 115, 0.3);
}

.purpose-mission-area__tagline {
  font-weight: 600;
  line-height: 1.7;
  font-size: 1.625em;
}

.purpose-mission-area__text {
  line-height: 1.65;
  font-weight: 700;
  font-size: 1.125em;
}

.purpose-mission-area__image {
  grid-area: image;
  width: 8em;
  margin: -3em auto 0;
}

.purpose-value-area {
  position: relative;
  padding-top: 1.5rem;
}

.purpose-value-area:before {
  position: absolute;
  top: 0;
  right: 0;
  left: -3.125vw;
  z-index: -1;
  height: 24rem;
  border-radius: 0 1.5em 1.5em 0;
  background: rgba(238, 167, 80, 0.2);
  content: "";
}

.value-slide-wrap {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  overflow: hidden;
}

.value-slide {
  margin: 0 auto;
}

.value-slide .splide__track {
  overflow: visible;
}

.splide-counter-wrap {
  display: grid;
  grid-template-columns: auto auto auto;
  align-items: center;
  gap: 0.75em;
  width: fit-content;
  margin-left: auto;
}

.splide-counter-wrap .splide__arrows {
  display: grid;
  position: static;
  grid-column: 1/-1;
  grid-row: 1;
  grid-template-columns: subgrid;
}

.splide-counter-wrap .splide__arrow {
  position: static;
  translate: 0 0;
}

.splide-counter-wrap .splide__arrow--prev {
  grid-column: 1;
  justify-self: start;
}

.splide-counter-wrap .splide__arrow--next {
  grid-column: 3;
  justify-self: end;
}

.splide-counter {
  grid-column: 2;
  grid-row: 1;
}

.value {
  position: relative;
  overflow: hidden;
  container-type: inline-size;
}

.value__header {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  align-items: center;
  gap: 0.75em;
  width: 100%;
  color: #fff;
  font-size: 3.809524cqi;
}

.value__num {
  width: 1.667em;
  border-radius: 3.809524cqi 0 3.809524cqi 0;
  background: #EEA750;
  color: #fff;
  font: 2.25em/1.667 "Fjalla One", sans-serif;
  text-align: center;
}

.value__title {
  line-height: 1;
  margin: 0;
  padding: 0;
  border: 0;
  color: inherit;
  font-weight: 600;
  font-size: 2.125em;
}

.value__title .en {
  display: block;
  margin-top: 0.25em;
  font-weight: 400;
  font-size: 0.4706em;
}

.value__image {
  overflow: hidden;
  margin-bottom: 3.8em;
  border-radius: 1em;
  background: #666;
  font-size: 3.809524cqi;
}

.value__content {
  position: absolute;
  top: 19.2em;
  right: 0;
  left: 0;
  font-size: 3.809524cqi;
}

.value__tagline {
  display: flex;
  flex-direction: column;
  align-items: end;
  gap: 0.5em;
  line-height: 1.5;
  margin: 0 -0.5em 0.25em 0;
  transform: rotate(-3.498deg);
  font-weight: 600;
  text-align: right;
}

.value__tagline > span {
  display: block;
  padding: 0.25em 0.75em;
  background: #EEA750;
  color: #fff;
}

.value__entagline {
  line-height: 1;
  margin: 0.5em 0.125em 0.8em auto;
  transform: rotate(-11.421deg);
  color: #fff;
  font-family: "Lavishly Yours", cursive;
  font-size: 3.125em;
  text-align: right;
  text-shadow: 0 0.06em 0.06em rgba(0, 0, 0, 0.25);
}

.value__text {
  max-width: 24em;
  line-height: 1.6;
  margin-left: auto;
  color: #EEA750;
  font-weight: 600;
  font-size: 1.0625em;
}

.purpose-tagline {
  line-height: 1.7;
  margin-bottom: 2rem;
  padding-left: 0.05em;
  font-weight: 600;
  font-size: 1.375em;
  letter-spacing: 0.05em;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.purpose-tagline > span {
  display: block;
  font-size: 0.6em;
}

.purpose-voice-area__header {
  position: relative;
  z-index: 0;
  margin-bottom: 2.5em;
}

.purpose-voice-area__header:before {
  position: absolute;
  top: 23.59vw;
  left: -3.125vw;
  width: 100vw;
  aspect-ratio: 390/242;
  background: url(images/bg_purpose_voice@sp.webp) no-repeat 0 0/contain;
  content: "";
  pointer-events: none;
}

.purpose-voice-area__heading {
  color: #8080FF;
}

.purpose-voice-area__tagline {
  line-height: 1.5;
  margin: 10.77vw 0 49.744vw;
  color: #8080FF;
  font-weight: 600;
  font-size: 1.375em;
}

.purpose-voice-area__tagline .en {
  display: block;
  font-size: 0.8182em;
}

.purpose-voice-area__lede {
  line-height: 1.7;
  font-weight: 600;
  font-size: 1.0625em;
}

.purpose-voice-area__lede p + p {
  margin-top: 1em;
}

.voice-slide-wrap {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  overflow: hidden;
}

.voice-slide {
  container-type: inline-size;
  margin: 0 auto;
}

.voice-slide .splide__track {
  overflow: visible;
}

.voice-slide .splide__arrows {
  height: 396px;
}

.voice {
  margin: 0;
  font-size: 4cqi;
}

.voice:nth-child(2n+1) {
  margin-top: 4.5em;
}

.voice__image {
  margin-bottom: 1.5em;
}

.voice__image img {
  width: 100%;
  border-radius: 1.5em;
}

.voice__header {
  --color: #8080FF;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  align-items: center;
  gap: 0 0.5em;
  margin-bottom: 0.75em;
}

.voice__header:has([data-en-after]) {
  --color: #80ddae;
}

.voice__num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  grid-column: 1;
  grid-row: 1/-1;
  gap: 0.2em;
  width: 2.15em;
  height: 2.15em;
  padding-top: 0.1em;
  border-radius: 50%;
  background: var(--color);
  color: #fff;
  font: 2.5em/1 "Fjalla One", sans-serif;
  text-align: center;
}

.voice__num:before {
  display: block;
  font: 0.325em/1 "Fjalla One", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  content: "Voice";
}

.voice__title {
  grid-column: 2;
  grid-row: 1;
  line-height: 1.5;
  margin: auto 0 0;
  padding: 0;
  border: 0;
  color: var(--color);
  font-size: 1.625em;
}

.voice__title[data-en-after] {
  grid-row: 1/-1;
  margin: auto 0;
}

.voice__title .en {
  display: block;
  color: #a6afc9;
  font-size: 0.857143em;
}

.voice__name {
  grid-column: 2;
  grid-row: 2;
  line-height: 1.5;
  margin: 0 0 auto;
  font-weight: 400;
  font-size: 0.875em;
}

.voice__content {
  text-align: justify;
}

.voice__content p {
  line-height: 2;
  font-size: 0.875rem;
}

.purpose-interview-area:last-child {
  margin-bottom: calc(var(--contact-area-margin) * -1);
}

.purpose-interview-area__heading {
  color: #89ba19;
}

.interview-wrap {
  display: grid;
  position: relative;
  grid-template-rows: auto auto;
  gap: 3em;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-bottom: min(124px, 31.8vw);
  padding-bottom: 2em;
  background: linear-gradient(to bottom, rgba(137, 186, 25, 0) 69.744vw, rgba(137, 186, 25, 0.2) 69.744vw, rgba(137, 186, 25, 0.2) 100%) no-repeat;
}

.interview-wrap:after {
  position: absolute;
  right: min(34px, 8.718vw);
  bottom: max(-84px, -21.54vw);
  width: min(113px, 28.97vw);
  aspect-ratio: 250/306;
  background: url(images/value_illust01.svgz) no-repeat 0 0/contain;
  content: "";
}

.interview-wrap--head {
  gap: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.interview-wrap--head:before,
.interview-wrap--head:after {
  content: none;
}

.interview-tagline {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 10;
  justify-content: center;
  gap: 1.8em;
  width: fit-content;
  height: fit-content;
  line-height: 1;
  margin: auto;
  font-size: 2em;
}

.interview-tagline:before,
.interview-tagline:after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1.8em;
  border-top: 1px solid;
  translate: -50% -50%;
  rotate: 45deg;
  content: "";
}

.interview-tagline:after {
  rotate: -45deg;
}

.interview {
  position: relative;
}

.interview__comment {
  display: flex;
  position: absolute;
  top: -0.87em;
  left: 0;
  flex-direction: column;
  gap: 0.4706em;
  writing-mode: vertical-rl;
  align-items: start;
  font-size: min(17px, 4.359vw);
}

.interview__comment > span {
  display: block;
  line-height: 2.353;
  padding: 0.8em 0;
  border-radius: 0 0 0.2667em 0.2667em;
  background: #fff;
  font-weight: 600;
}

.interview:nth-of-type(2) .interview__comment {
  right: 0;
  left: auto;
}

.interview__image {
  grid-area: image;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  text-align: center;
}

.interview__image img {
  width: 100%;
}

.interview__content {
  grid-area: content;
  margin-top: 1em;
}

.interview__interviewee {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 1rem;
  line-height: 1.5;
  font-weight: 600;
  font-size: 1.375em;
}

.interview__interviewee .en {
  display: block;
  color: #999;
  font-family: inherit;
  font-weight: 700;
  font-size: 0.541667em;
  text-transform: uppercase;
}

.interview__career {
  list-style: none;
  margin: 0.923077em 0 0;
  padding: 0;
  font-weight: 600;
  font-size: 0.8125em;
}

.interview-block {
  position: relative;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: url(images/bg_purpose_interview.webp) no-repeat 50% 100%/100% auto;
  padding-top: 2.5em;
  padding-bottom: 3rem;
}

.interview-block:before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: -1;
  height: 75rem;
  background: rgba(137, 186, 25, 0.2);
  content: "";
}

.interview-block .btn {
  margin-top: 3rem;
}

.interviewee-wrap {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
}

.interviewee {
  border-radius: 1rem;
  background: #fff;
  padding: 1.25em;
}

.interviewee__photo {
  grid-area: photo;
  max-width: 12.5em;
  margin: 0 auto 1em;
}

.interviewee__photo img {
  border-radius: 0.75rem;
}

.interviewee__header {
  display: grid;
  grid-template-areas: "name age" "en en";
  grid-template-columns: auto 1fr;
  grid-area: header;
  gap: 0.625rem 0;
  line-height: 1.5;
  padding-bottom: 0.875rem;
  border-bottom: 1px solid #e5e5e5;
  font-size: 1.625rem;
}

.interviewee__header .en {
  grid-area: en;
  color: #999;
  font-family: inherit;
  font-weight: 500;
  font-size: 0.5em;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.interviewee__name {
  grid-area: name;
  line-height: inherit;
  margin: 0;
  font-weight: 600;
  font-size: 1em;
}

.interviewee__age {
  grid-area: age;
  font-weight: 600;
}

.interviewee__age:before {
  content: "／";
}

.interviewee__position {
  font-weight: 500;
  font-size: 0.9375em;
}

.interviewee__career {
  font-size: 0.875em;
}

.interview-content {
  margin-top: 2.5rem;
  padding: 1.25em 1.25em 0;
  border-radius: 0.625em 0.625em 0 0;
  background: linear-gradient(to bottom, #fff 12rem, transparent 12rem);
}

.interview-part__heading {
  margin-bottom: 1.6em;
  color: #89ba19;
  font-size: 1.125em;
}

.interview-part__content {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.interview-part__image {
  margin-top: 2em;
}

.interview-part__image img {
  border-radius: 0.75em;
}

.interview-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 1em;
}

.interview-item__author {
  position: relative;
  width: 4em;
  height: 4em;
  container-type: inline-size;
}

.interview-item__author > img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  object-position: center top;
}

.interview-item__author > span {
  position: absolute;
  right: 0;
  bottom: 0.77em;
  left: 0;
  width: fit-content;
  min-width: 4.6154em;
  max-width: 100%;
  line-height: 1.5385;
  margin: 0 auto;
  padding: 0 1em 0 1.2em;
  border-radius: 1.5em;
  background: #669204;
  color: #fff;
  font-weight: 600;
  font-size: 12.5cqi;
  letter-spacing: 0.2em;
  text-align: center;
}

.interview-item__text {
  line-height: 2;
  font-size: 0.875em;
}

.company-purpose-area {
  overflow: hidden;
  box-shadow: 0 0 0 0.25em #01ADA7;
  border-radius: 1em;
}

.company-purpose-area__inner {
  padding: 2em 1.25em;
}

.company-purpose-area .btn {
  margin-top: 1rem;
}

.company-purpose-area__text {
  text-align: justify;
}

.philosophy-area {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: linear-gradient(135deg, #005eae 0%, #63c5ea 100%);
}

.philosophy-area__heading {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2em;
  color: #fff;
  font-weight: 500;
  text-align: center;
}

.philosophy-area__heading .en {
  background-image: none;
  background-color: #fff;
  font-size: 1.9em;
  text-transform: none;
}

.philosophy-list {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: min(112px, 28.72vw) 2.125em;
  margin: min(112px, 28.72vw) 0 0;
  padding: 0;
}

.philosophy-list__item {
  position: relative;
  padding: 6.5em 1.25em 1.25em;
  border-radius: 1em;
  background: #fff;
  color: #374151;
  text-align: center;
}

.philosophy-list__image {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: min(134px, 34.36vw);
  margin: 0 auto;
  transform: translateY(-51.282%);
}

.philosophy-list__title {
  color: rgba(12, 74, 110, 0.8);
  letter-spacing: 0.01778em;
}

.philosophy-list__title .en {
  display: block;
  color: #082f49;
  font-size: 1.333em;
  letter-spacing: 0.03em;
}

.philosophy-list p {
  line-height: 1.625;
}

.cms th,
.cms td {
  border-bottom: 1px solid #999;
}

.message-area {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: linear-gradient(to bottom, #f9fafb 39.0625em, #fff 39.0625em);
}

.message-area h2 {
  grid-area: heading;
}

.message-author-photo {
  grid-area: photo;
  width: min(260px, 66.667vw);
  margin: 0 auto;
}

.message-lede {
  grid-area: lede;
  font-weight: 600;
  font-size: 1.375em;
  text-align: justify;
}

.message-author {
  display: flex;
  grid-area: author;
  flex-direction: column;
  align-items: end;
  gap: 0 1.5em;
  margin: 2em 0;
}

.message-author__role {
  margin-bottom: 0.25em;
  font-weight: 700;
  font-size: 1.125em;
}

.message-author__name {
  width: 12.5em;
}

.message {
  grid-area: message;
  line-height: 2;
  box-shadow: 0 -0.25em 0.0625em 0 #f0f3f7;
  padding: 1.5em 1.25em;
  border-radius: 1em;
  background: #fff;
  text-align: justify;
}

:where(.message) p {
  margin-top: 2em;
}

.company-moral-area {
  background: linear-gradient(135deg, #005eae 0%, #63c5ea 100%);
}

.company-moral-area > h2 {
  color: #fff;
}

.company-moral-area > h2 .en {
  background-image: none;
  background-color: currentColor;
}

.company-moral-area > .lede {
  color: #fff;
}

.company-moral-area .accordion-button {
  --color: #005EAE;
  --hbd: #005EAE;
}

.company-moral-area .accordion-button[aria-expanded=true] .oc-indicator {
  --bg: #005EAE;
  --color: #fff;
}

.moral-part {
  margin: 2rem 0 0;
}

.moral-part:first-child {
  margin-top: 0;
}

.moral-part h3 {
  display: flex;
  align-items: start;
  gap: 1.2em;
  line-height: 1.5;
  margin: 0;
  padding: 0.45em 0;
  border: 0;
  border-bottom: 0.1em solid;
  color: #005EAE;
  font-size: 1.125rem;
}

.moral-part h3:before {
  display: inline-block;
  width: 1.5em;
  aspect-ratio: 1/1;
  background: url(images/logo_pattern.svgz) no-repeat 0 50%/contain;
  content: "";
}

.company-history th {
  color: #01ADA7;
  text-align: center;
}

.executive-list caption {
  margin-top: 1rem;
  font-size: 0.9375em;
  text-align: right;
  caption-side: bottom;
}

.executive-list thead th {
  border: 0;
  background: #f0f0f0;
  text-align: center;
}

.executive-list th,
.executive-list td {
  white-space: nowrap;
}

.organization-area {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-block: 0;
  padding-block: 3rem 6rem;
  background: #f9fafb;
}

.organizational-chart {
  text-align: center;
}

.sysken-group-wrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 2em;
}

.sysken-group {
  margin: 0;
}

.sysken-group__link {
  display: block;
  position: relative;
  padding: 1.5em;
  border: 1px solid #01ADA7;
  border-radius: 0.625em;
  background: #fff;
  text-decoration: none;
}

.sysken-group__link:after {
  display: block;
  width: 1em;
  margin-left: auto;
  transform: translate(50%, 50%);
  color: #01ADA7;
  font: 1.25em/1 icomoon;
  content: "\e903";
}

.sysken-group__link:hover,
.sysken-group__link:focus {
  background-color: #E6F7F6;
}

.sysken-group__name {
  margin: 0 0 1.5em;
  padding: 0;
  border: 0;
  font-size: 1rem;
  text-align: center;
}

.sysken-group__name img {
  width: auto;
  height: 2em;
  object-fit: contain;
}

.sysken-group-info,
.sysken-group-info tbody {
  display: block;
}

.sysken-group-info tr {
  display: flex;
}

.sysken-group-info th,
.sysken-group-info td {
  padding: 0;
  border: 0;
  font-weight: 400;
  font-size: 0.9375em;
}

.sysken-group-info th:after {
  content: "／";
  speak: never;
}

.company-office-area {
  position: relative;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-bottom: calc(var(--contact-area-margin) * -1);
  padding-block: 3rem;
  background: #f9fafb;
}

.company-office-area p {
  max-width: 15em;
  margin: 2.5em auto;
  text-align: center;
  word-break: auto-phrase;
}

.company-office-map {
  position: relative;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

.company-office-map:before {
  position: absolute;
  top: 56.92vw;
  right: 3.125vw;
  width: 13.85vw;
  aspect-ratio: 130/216;
  background: url(images/company_office_illust.svgz) no-repeat 0 0/contain;
  content: "";
}

.company-office-map img {
  width: 100%;
}

.history-challenge-list {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 2em;
  margin: 2em auto 0;
  padding: 0;
}

.history-challenge-list > li {
  padding: 1.5em 0;
  border-radius: 1em;
  background: #fff;
  text-align: center;
  container-type: inline-size;
}

.history-challenge-list__caption {
  font-weight: 600;
  font-size: min(22px, 6.111cqi);
  letter-spacing: 0.1em;
  text-indent: 0.1em;
}

.history-challenge-list__image {
  width: 77.778%;
  max-width: 280px;
  margin: min(10px, 2.778cqi) auto min(20px, 5.5556cqi);
}

.history-challenge-list__content {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.2em;
  color: #01ADA7;
  font-weight: 600;
  font-size: min(36px, 10cqi);
}

.history-challenge-list__content > span {
  font: 2.5em/1 "Fjalla One", sans-serif;
}

.oc-indicator {
  position: absolute;
  top: 0;
  right: 0.5em;
  bottom: 0;
  width: 1.5em;
  height: 1.5em;
  margin: auto;
  border-radius: 50%;
  background: var(--bg, #fff);
}

.oc-indicator:before,
.oc-indicator:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 0.5em;
  height: 0.1em;
  margin: auto;
  border-radius: 1em;
  background: var(--color, #01ADA7);
  transition: transform 0.3s;
  content: "";
}

.oc-indicator:after {
  transform: rotate(90deg);
}

[aria-expanded=true] .oc-indicator:after {
  transform: rotate(0);
}

.accordion-button {
  --color: #01ADA7;
  --hbd: #01ADA7;
  position: relative;
  z-index: 0;
  width: 100%;
  box-shadow: 0 0 0 1px var(--hbd) inset, 0 2px 2px 0 rgba(0, 0, 0, 0.15);
  margin: 0;
  padding: 1.2em 2.5em 1.2em 1.5em;
  border: 0;
  border-radius: 0.5em;
  background: #fff;
  color: var(--color);
  font-weight: 600;
  font-size: 1.0625rem;
  text-align: center;
  text-shadow: none;
}

.accordion-button:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -1;
  opacity: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #00D6CE, #01ADA7 29.33%, #005EAE);
  transition: opacity 0.3s;
  content: "";
}

.accordion-button[aria-expanded=false] {
  --hbd: transparent;
  color: #fff;
}

.accordion-button[aria-expanded=false]:before {
  opacity: 1;
}

.accordion-button[aria-expanded=true] .oc-indicator {
  --bg: #01ADA7;
  --color: #fff;
}

.accordion-content {
  display: none;
  margin-top: 1.5rem;
}

.no-js .accordion-content {
  display: block;
}

.history {
  display: block;
}

.history tbody {
  display: grid;
  position: relative;
  grid-template-columns: 18em 1fr 20em;
  gap: 2.5em 3.75em;
}

.history tbody:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 17.25em;
  border-left: 1px solid #01ADA7;
  content: "";
}

.history tr {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
}

.history th,
.history td {
  display: block;
  padding: 0;
  border: 0;
  font-weight: inherit;
}

.history th {
  position: relative;
  padding-right: 5.625em;
  white-space: normal;
}

.history th:before {
  position: absolute;
  top: 0;
  right: 0;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background: #01ADA7;
  content: "";
}

.history p {
  font-size: 0.9375em;
}

.history img {
  border-radius: 0.625em;
}

.history__caption {
  color: #01ADA7;
  font-weight: 600;
  font-size: 1.375em;
  word-break: auto-phrase;
}

.history__era {
  text-align: right;
}

.content:has(.history) {
  width: 100%;
  padding-inline: 4.5em;
}

.toward100-list {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 2.5em;
  margin: 0;
  padding: 2em 0 0;
}

.toward100-list__image {
  overflow: hidden;
  border-radius: 0.625em;
}

.toward100-list__content {
  position: relative;
  width: 85%;
  margin: -2.25em auto 0;
  padding: 1em 1em 0;
  border-radius: 0.625em;
  background: #fff;
}

.toward100-list__content p {
  font-size: 0.9375em;
  text-align: justify;
}

.toward100-list__caption {
  font-weight: 600;
  font-size: 1.125em;
  text-align: center;
}

ul.business-menu,
.business-menu__list {
  display: flex;
  list-style: none;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.5em;
  margin: 0;
  padding: 0;
}

.business-menu {
  --color: #01ADA7;
  --bg: #fff;
  --color2: #fff;
  --bg2: rgba(1, 173, 167, 0.9);
  --icon-color: #01ADA7;
}

.business-menu__item {
  overflow: hidden;
  border-radius: 0.625em;
}

.business-menu__link {
  display: block;
  position: relative;
  text-decoration: none;
}

.business-menu__link:hover,
.business-menu__link:focus {
  --bg: #01ADA7;
  --color: #fff;
  --color2: #01ADA7;
  --bg2: rgba(255, 255, 255, 0.9);
  --icon-color: #fff;
}

.business-menu__title {
  display: block;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 1;
  line-height: 2;
  padding: 1.304em 1.304em 1.304em 1.739em;
  background: var(--bg);
  transition: inherit;
  color: var(--color);
  font-weight: 600;
  font-size: 1rem;
}

.business-menu__title:after {
  display: inline-block;
  width: 2.2105em;
  height: 2.2105em;
  margin-left: 1em;
  color: var(--bg);
  border-radius: 50%;
  background: var(--color);
  transition: inherit;
  font: 0.8261em/2.2105 icomoon;
  text-align: center;
  content: "\e900";
}

nav .business-menu__title:only-child {
  box-shadow: 0 0 0 1px #01ADA7 inset;
  border-radius: 0.625em;
}

.business-menu__image + .business-menu__title {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: var(--bg2);
  color: var(--color2);
}

.business-menu__image + .business-menu__title:after {
  color: var(--icon-color);
  background: var(--color2);
}

.product-image {
  margin-top: 2em;
  text-align: center;
}

.product-images {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  text-align: center;
}

.banner-list {
  display: grid;
  list-style: none;
  grid-template-columns: 1fr 1fr;
  gap: 1em;
  margin: 0;
  padding: 0;
}

.banner-list > li {
  container-type: inline-size;
}

.banner-list a {
  display: block;
  position: relative;
  font-size: 5.334cqi;
  text-decoration: none;
}

.banner-list a[target=_blank]::after {
  position: absolute;
  right: 0.5em;
  bottom: 0.334em;
  color: #01ADA7;
  font: 1.5em/1 icomoon;
  content: "\e903";
}

.banner-list a:hover,
.banner-list a:focus {
  opacity: 0.65;
}

.product-lineup {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 2em;
  margin: 0;
  padding: 0;
}

.product-lineup__item a {
  display: block;
  position: relative;
  height: 100%;
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.15);
  padding: 1.25em 1.25em 2.5em;
  border-radius: 1em;
  background: #E6F7F6;
  text-decoration: none;
}

.product-lineup__item a[href*=".pdf"]::after {
  position: absolute;
  right: 1.25em;
  bottom: 1.25em;
  width: 4em;
  line-height: 1.667;
  border-radius: 0.25em;
  background: #c62828;
  color: #fff;
  font-weight: 600;
  font-size: 0.75em;
  text-align: center;
  content: "PDF";
}

.product-lineup__name {
  margin-bottom: 0.8334em;
  font-weight: 600;
  font-size: 1.25em;
  text-align: center;
}

.product-lineup__image img {
  width: 100%;
  border-radius: 1em;
}

.product-lineup__description {
  margin-top: 1.25em;
}

.sales-offices {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.sales-office {
  margin: 0;
  padding: 0.75rem;
  border: 0.25rem solid #efefef;
  background: #fff;
}

.sales-office__name {
  margin: 0;
  padding: 0;
  border: 0;
  color: #005EAE;
  font-size: 1rem;
}

.sales-office__name:before {
  content: "●";
}

.business-introduction-area .textual-matter {
  font-weight: 700;
}

.business-introduction-area__image {
  margin-bottom: 1em;
}

.business-header {
  position: relative;
  margin-bottom: 2rem;
}

.business-header__image {
  max-width: 120px;
  margin: -1rem auto 1rem;
}

.business-header .lede {
  width: auto;
  margin: 0;
}

.slide-wrap {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-top: 1.5rem;
  margin-bottom: 3rem;
}

.slide-wrap:last-child {
  margin-bottom: 0;
}

.slide-wrap:has(.is-overflow) {
  overflow: hidden;
}

.slide-wrap .splide__track {
  overflow: visible;
}

.zoom {
  display: block;
  position: relative;
  text-decoration: none;
}

.zoom:before {
  position: absolute;
  right: 0.2em;
  bottom: 0.2em;
  z-index: 1;
  width: 1.3334em;
  height: 1.3334em;
  padding: 0.1667em 0 0 0.1667em;
  border-radius: 0.2em;
  background: #01ADA7;
  color: #fff;
  font: 1.875em/1 icomoon;
  text-align: center;
  content: "\e906";
}

.business-slide__image {
  text-align: center;
}

.business-slide__image img {
  border-radius: 1rem;
}

.business-slide__image figcaption {
  line-height: 1.5;
  margin-top: 0.75em;
  font-weight: 400;
  font-size: 1.125em;
}

.business-act-list__item {
  overflow: hidden;
  box-shadow: 0 0.09375em 0.09375em 0 rgba(0, 0, 0, 0.15);
  border-radius: 1em;
  background: #fff;
}

.business-act-list__image {
  margin-bottom: 1.5rem;
}

.business-act-list__image img {
  width: 100%;
}

.business-act-list__title {
  line-height: 1.7;
  margin: 0 1rem 1rem;
  padding: 0 0 0 0.2em;
  font-weight: 500;
  font-size: 1.125rem;
  letter-spacing: 0.2em;
  text-align: center;
}

.business-act-list__content {
  margin: 0 1rem 1rem;
  text-align: justify;
}

.business-act-list__content p {
  line-height: 2;
  font-size: 0.9375em;
}

.office-area {
  background: #f0f0f0;
}

.office-area__tagline {
  padding-left: 0.05em;
  font-weight: 600;
  font-size: 1.125em;
  text-align: center;
  letter-spacing: 0.05em;
  word-break: auto-phrase;
}

.area-section .accordion-content {
  margin-top: 0;
  padding-block: 2em 3rem;
  background: #fff;
}

.office__name {
  line-height: 2;
  padding: 0.667em 1em 0.667em 1.5em;
  background: #E6F7F6;
  font-size: 1.125em;
  letter-spacing: 0.5em;
  text-align: center;
}

.office-divisions {
  margin: 0 1.5em;
  border-top: 1px solid #cecfcf;
}

.office-division {
  margin: 0;
  padding: 0.3125rem 0 0.5rem;
  border-bottom: 1px solid #cecfcf;
}

.office-division__name {
  margin: 0 0 0.5rem;
  padding: 1rem;
  background: #f0f0f0;
  font-weight: 500;
  font-size: 1.0625em;
  text-align: center;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.office-division:first-child .office-division__name {
  background: #01ADA7;
  color: #fff;
  font-weight: 600;
}

.office-division__map {
  display: block;
  width: fit-content;
  margin-top: 0.5rem;
  padding: 0 1em;
  border: 1px solid #bababa;
  border-radius: 0.5em;
  background: #fff;
  line-height: 2.5;
  font-size: 0.75em;
  text-align: center;
  text-decoration: none;
}

.office-division__map:before {
  vertical-align: top;
  margin-right: 0.445em;
  color: #01ADA7;
  font: 1.5em/1.667 icomoon;
  content: "\e905";
}

.office-division__contact {
  display: flex;
  flex-direction: column;
}

.office-map {
  margin-top: 2rem;
}

.office-map__content {
  width: 100%;
  height: 50vh;
  min-height: 240px;
  background: #ccc;
}

.office-map__content iframe {
  display: block;
  width: 100%;
  height: 100%;
}

.office-map__content img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.stakeholder__image {
  max-width: 320px;
  margin: 0 auto 1.5em;
}

.stakeholder__text {
  text-align: justify;
}

.policy-list {
  display: flex;
  flex-direction: column;
  gap: 1em;
  font-weight: 400;
}

.act-plan + .policy-list {
  list-style: none;
  padding-left: 0;
}

.policy-list a {
  display: inline-block;
  position: relative;
  padding-right: 3.556em;
}

.policy-list a[href*=".pdf"]:after {
  position: absolute;
  top: 0.442em;
  right: 0;
  width: 4em;
  line-height: 1.667em;
  border-radius: 0.25em;
  background: #c62828;
  color: #fff;
  font-weight: 700;
  font-size: 0.667em;
  text-align: center;
  text-decoration: none;
  content: "PDF";
}

.timestamp {
  line-height: 2;
  margin-bottom: 1.5em;
  font-weight: 400;
  font-size: 0.75em;
  text-align: right;
}

.internal-control-tagline {
  font-weight: 600;
}

.internal-control-part .accordion-button {
  letter-spacing: 0;
  text-align: left;
}

.internal-control-part__content {
  box-shadow: 0 0.125em 0.125em 0 rgba(0, 0, 0, 0.15);
  margin-top: 0;
  padding: 1.25em;
  background: #fff;
  font-weight: 400;
}

.internal-control-part__content ol {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.certification-mark img[src*="certification03.png"] {
  width: 340px;
}

.act-plan {
  padding: 1rem;
  border-radius: 1rem;
  background: #f0f0f0;
  font-size: 0.875em;
  text-align: center;
}

.act-plan > dd {
  font-weight: 700;
  font-size: 1.3em;
}

.initiative-area {
  counter-increment: initiative;
}

.initiative-area:first-of-type {
  counter-reset: initiative;
}

.initiative-area__heading {
  position: relative;
  margin-bottom: 1.5em;
  margin-left: 4em;
  padding: 0.6667em 0.1667em 0.5em;
  border-bottom: 0.125rem solid #01ADA7;
}

.initiative-area__heading:before {
  position: absolute;
  top: 0;
  left: -2.4em;
  width: 2em;
  height: 2em;
  padding-top: 0.1em;
  border-radius: 50%;
  background: #01ADA7;
  color: #fff;
  font: 1.667em/1.9 "Fjalla One", sans-serif;
  text-align: center;
  content: counter(initiative, decimal-leading-zero);
}

.initiative-area__image {
  margin-bottom: 2rem;
  text-align: center;
}

.list-caption {
  margin-bottom: 1rem;
  color: #01ADA7;
  font-weight: 700;
  font-size: 1.25em;
}

.initiative-list {
  font-weight: 600;
}

.initiative-list:has(ul) {
  display: flex;
  flex-direction: column;
  row-gap: 1rem;
}

.initiative-list ul {
  font-weight: 400;
  list-style: disc;
}

.support-list {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.support-list__item {
  padding: 1em 1.5em 1.5em;
  border-radius: 0.625em;
  background: #f0f0f0;
}

.support-list__item dt {
  line-height: 1.5;
  text-align: center;
}

.support-list__item dt:before {
  display: block;
  width: 2.78261em;
  height: 2.78261em;
  margin: 0 auto 0.435em;
  background: url(images/sprite_support_icon.svgz) no-repeat 0 0/100% auto;
  content: "";
}

.support-list__item:nth-child(2) dt:before {
  background-position: 0 -2.78261em;
}

.support-list__item:nth-child(3) dt:before {
  background-position: 0 -5.56522em;
}

.support-list__item:nth-child(4) dt:before {
  background-position: 0 -8.34783em;
}

.support-list__item:nth-child(5) dt:before {
  background-position: 0 -11.13044em;
}

.support-list__item:nth-child(6) dt:before {
  background-position: 0 -13.91305em;
}

.support-list__item:nth-child(7) dt:before {
  background-position: 0 -16.69566em;
}

.support-list__item:nth-child(8) dt:before {
  background-position: 0 -19.47827em;
}

.support-list__item dd {
  line-height: 2;
  margin-top: 2em;
  font-weight: 400;
  font-size: 0.875em;
}

.support-list--hrd .support-list__item dt:before {
  background-image: url(images/sprite_hrd_icon.svgz);
}

.topics-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.topic {
  margin: 0;
  padding: 1.25em;
  border-radius: 1em;
  background: #E6F7F6;
}

.topic__heading {
  margin-bottom: 1em;
  text-align: center;
}

.topic__image {
  margin-bottom: 1em;
  text-align: center;
}

.topic__image img {
  border-radius: 1em;
}

.topic__content {
  font-weight: 400;
  text-align: justify;
}

.management-system {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto;
  gap: 1.5em 3.75em;
}

.management-system-info {
  line-height: 2;
}

.management-system-info > tbody > tr,
.management-system-info > tbody > tr > th,
.management-system-info > tbody > tr > td {
  display: block;
}

.management-system-info > tbody {
  display: flex;
  flex-direction: column;
  gap: 1em;
}

.management-system-info > tbody > tr > th {
  padding: 0;
  border: 0;
  color: #01ADA7;
}

.management-system-info > tbody > tr > td {
  padding: 0 0 0 1em;
  border: 0;
}

.ms-target {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 1em;
  padding-left: 0;
  font-weight: 700;
}

.ms-target ul {
  list-style: none;
  padding-left: 1em;
  font-weight: 500;
}

.registration-date {
  display: grid;
  grid-template-columns: auto auto 1fr;
}

.registration-date > tbody {
  display: contents;
}

.registration-date tr {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/-1;
  grid-auto-flow: column;
}

.registration-date tr:before {
  grid-column: 2;
  content: "：";
}

.registration-date th,
.registration-date td {
  border: 0;
  padding: 0;
  font-weight: inherit;
  font-size: 1em;
  text-align: left;
}

.registration-date th {
  grid-column: 1;
}

.registration-date td {
  grid-column: 3;
}

.certificates {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 1.5em;
  margin: 0;
  padding: 0;
}

.certificates__item {
  box-shadow: 0 0 0 1px #cecfcf;
}

.ir-wrap {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
  margin: 0 auto;
}

.ir {
  border-top: 0.125em solid #01ADA7;
  background: #fff;
}

.ir__title {
  margin: 0;
  padding: 0.75em;
  border: 0;
  background: #E6F7F6;
  color: inherit;
  font-size: 1em;
}

.ir-documents {
  list-style: none;
  margin: 0;
  padding: 0.625em;
}

.ir-document {
  font-size: 0.875em;
}

.ir-document > a {
  text-decoration: none;
}

.ir-document > a[href*=".pdf"]:before {
  display: inline-block;
  width: 3rem;
  line-height: 1.25rem;
  margin-right: 1em;
  border-radius: 0.25rem;
  background: #c62828;
  color: #fff;
  font-weight: 700;
  font-size: 0.875rem;
  text-align: center;
  content: "PDF";
}

.ir-document__date {
  display: block;
}

.ir-document__title {
  font-weight: 600;
}

.ir-document__size {
  color: #999;
  font-size: 0.8125em;
  white-space: nowrap;
}

.old-ir {
  text-align: center;
}

.ir-list {
  color: #005EAE;
}

.contact-lede {
  font-weight: 600;
}

.contact-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
  margin-top: 1.5em;
}

.contact {
  padding: 1.5em 1em;
  border: 0.125em solid #01ADA7;
  border-radius: 1em;
  background: #fff;
  text-align: center;
}

.contact__caption {
  margin-bottom: 1em;
  color: #005EAE;
  font-size: 0.875em;
}

.contact__method {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25em;
  line-height: 1.07143;
  font-weight: 700;
  font-size: 1.875em;
}

.contact__method > span {
  display: flex;
  align-items: center;
  height: 1.667em;
  padding: 0.1em 0.5555555556em 0;
  border-radius: 0.2222222222em;
  background: #01ADA7;
  color: #fff;
  font: 0.643em/1 "Fjalla One", sans-serif;
  text-align: center;
  text-transform: uppercase;
}

.contact__method > a {
  transform: translateY(-0.06em);
  text-decoration: none;
}

.contact__note {
  margin-top: 1em;
  font-size: 0.875em;
}

.movie-list {
  display: flex;
  flex-direction: column;
  gap: 2.5em;
}

.movie-list__item {
  margin: 0;
}

.movie-container {
  aspect-ratio: 16/9;
}

.movie-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.partner-list {
  display: flex;
  list-style: none;
  flex-direction: column;
  gap: 1em;
  margin: 0;
  padding: 0;
  text-align: center;
}

.partner-list a {
  display: block;
  padding: 0.75em 0.625em;
  border-radius: 0.625em;
  box-shadow: 0 0 0 0.125rem currentColor inset;
  color: #005EAE;
  background: #fff;
  font-weight: 600;
  text-decoration: none;
}

.partner-list a[href]:hover,
.partner-list a[href]:focus {
  box-shadow: none;
  background: linear-gradient(90deg, #00D6CE, #01ADA7 29.33%, #005EAE);
  color: #fff;
}

.partner-list a[target=_blank]:after {
  margin-left: 0.3em;
  font-family: icomoon;
  content: "\e903";
}

.recruitment-guideline td:nth-last-child(2) {
  padding-right: 0;
}

.recruitment-guideline td + td {
  padding-left: 0;
}

@counter-style maru-num {
  system: fixed;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
  suffix: " ";
}

.req {
  list-style: maru-num;
  padding-left: 1.3em;
}

.graduates__entry {
  margin: 2.5em auto 0;
  padding: 1em;
  background: #E6F7F6;
  text-align: center;
}

.starting-salary {
  list-style: none;
  margin: 0;
  padding: 0;
}

.bonuse-and-payrise {
  display: grid;
  grid-template-columns: auto 1fr;
}

.bonuse-and-payrise > dt {
  grid-column: 1;
  margin: 0;
  font-weight: inherit;
}

.bonuse-and-payrise > dt:after {
  content: "：";
}

.bonuse-and-payrise > dd {
  grid-column: 2;
  margin: 0;
}

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

.sitemap > li {
  border-bottom: 1px solid #80AED7;
}

.sitemap > li > a {
  display: block;
  position: relative;
  line-height: 2;
  padding: 0.61765em 2.2353em 0.61765em 0.647em;
  font-weight: 700;
  font-size: 1.0625em;
  text-decoration: none;
}

.sitemap > li > a:after {
  position: absolute;
  top: 0;
  right: 0.857143em;
  bottom: 0;
  height: 1em;
  margin: auto;
  font: 400 0.82353em/1 icomoon;
  content: "\e900";
}

.sitemap .children {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  gap: 0.5em 2.5em;
  margin: 0 0 1.5em 1.25em;
  padding: 0;
}

.sitemap .children > li > a {
  display: block;
  position: relative;
  padding-left: 1.5em;
  font-weight: 400;
  font-size: 0.9375em;
  text-decoration: none;
}

.sitemap .children > li > a:before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  height: 1em;
  line-height: 1;
  margin: auto;
  font-family: icomoon;
  font-size: 0.875rem;
  content: "\e900";
}

/* Archive
--------------------------------*/

.archive-title {
  margin: 0 auto 3em;
  color: #005EAE;
  font-weight: 600;
}

.archive-title:has(~ #archive .post-list) {
  max-width: 1040px;
}

#archive,
[id*=Archive] {
  transition: opacity 0.3s;
}

#archive.is-loading,
[id*=Archive].is-loading {
  opacity: 0;
}

.category-select-list {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1em 0.5em;
  margin: 0 0 2rem;
  padding: 0;
  font-size: 0.75rem;
}

.category-select-list > li {
  flex: 0 0 auto;
  min-width: 7.5em;
}

.category-select-list label {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: center;
  height: 100%;
  line-height: 1.5;
  padding: 0.875em;
  border-radius: 0.625em;
  background: #f0f0f0;
  transition: 0.3s;
  text-align: center;
  text-decoration: none;
  word-break: auto-phrase;
  cursor: pointer;
}

.category-select-list label:after {
  position: absolute;
  top: 100%;
  right: 0;
  left: 0;
  width: 0;
  opacity: 0;
  margin: auto;
  border: solid transparent;
  border-width: 0.5625em 0.5625em 0;
  border-top-color: #f0f0f0;
  transition: inherit;
  content: "";
}

.category-select-list label:hover:after,
.category-select-list label:focus:after {
  opacity: 1;
}

.category-select-list label:has(input:checked) {
  background: #01ADA7;
  color: #fff;
  font-weight: 600;
}

.category-select-list label:has(input:checked):after {
  opacity: 1;
  border-top-color: #01ADA7;
}

.category-select-list label:has(input:disabled) {
  opacity: 0.5;
  cursor: not-allowed;
}

.category-select-list input {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}

.loader {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  width: 6rem;
  height: 6rem;
  opacity: 0;
  margin: auto;
  transition: opacity 0.3s;
  pointer-events: none;
}

.loader.is-active {
  opacity: 1;
}

.loader__dot {
  position: absolute;
  width: 16.667%;
  height: 16.667%;
  border-radius: 50%;
  opacity: 0.1;
  animation: loader-dot-blink 1.2s infinite;
}

.loader__dot:nth-child(1) {
  left: 41.6665%;
  top: 41.6665%;
  transform: rotate(-90deg) translate(2.5rem) rotate(90deg);
  background: #005eae;
  animation-delay: 0s;
}

.loader__dot:nth-child(2) {
  left: 41.6665%;
  top: 41.6665%;
  transform: rotate(-30deg) translate(2.5rem) rotate(30deg);
  background: #016b9a;
  animation-delay: 0.2s;
}

.loader__dot:nth-child(3) {
  left: 41.6665%;
  top: 41.6665%;
  transform: rotate(30deg) translate(2.5rem) rotate(-30deg);
  background: #018b9e;
  animation-delay: 0.4s;
}

.loader__dot:nth-child(4) {
  left: 41.6665%;
  top: 41.6665%;
  transform: rotate(90deg) translate(2.5rem) rotate(-90deg);
  background: #01ada7;
  animation-delay: 0.6s;
}

.loader__dot:nth-child(5) {
  left: 41.6665%;
  top: 41.6665%;
  transform: rotate(150deg) translate(2.5rem) rotate(-150deg);
  background: #06cfc7;
  animation-delay: 0.8s;
}

.loader__dot:nth-child(6) {
  left: 41.6665%;
  top: 41.6665%;
  transform: rotate(210deg) translate(2.5rem) rotate(-210deg);
  background: #00d6ce;
  animation-delay: 1s;
}

@keyframes loader-dot-blink {
  0%, 100% {
    opacity: 0.1;
  }

  50% {
    opacity: 1;
  }
}

.post-list {
  list-style: none;
  margin: 0 auto;
  padding: 0;
}

.post-list__item {
  display: grid;
  border: solid #d9d9d9;
  border-width: 0 0 1px;
}

.post-list__item:first-child {
  border-top-width: 1px;
}

.post-list__link {
  display: grid;
  -webkit-appearance: none;
  appearance: none;
  grid-template-columns: auto auto 1fr auto;
  align-items: center;
  gap: 0.25em 1em;
  box-shadow: none;
  margin: 0;
  padding: 1em 0.625em;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: inherit;
  text-decoration: none;
  text-shadow: none;
  cursor: pointer;
}

.post-list__link:after {
  grid-column: 4;
  grid-row: 1/span 2;
  color: #005EAE;
  font-family: icomoon;
  font-size: 0.75em;
  content: "\e900";
}

.post-list__link:hover,
.post-list__link:focus {
  background: rgba(229, 239, 247, 0.5);
}

.post-list__date {
  grid-row: 1;
  grid-column: 1;
  color: #909090;
  font-size: 0.8125em;
}

.post-list__category {
  --color: #E6F7F6;
  --text-color: #000;
  display: block;
  grid-row: 1;
  grid-column: 2;
  min-width: 10.8334em;
  line-height: 2;
  padding: 0 1em;
  background: var(--color);
  color: var(--text-color);
  font-weight: 400;
  font-size: 0.75em;
  text-align: center;
}

.post-list__title {
  grid-column: 1/4;
  grid-row: 2;
  font-size: 0.9375em;
}

.post-list__content {
  display: none;
  position: fixed;
  grid-column: 1/-1;
}

.post-grid__item {
  border: solid #ccc;
  border-width: 0 0 1px;
}

.post-grid__item:first-child {
  border-top-width: 1px;
}

.post-grid__link {
  display: block;
  height: 100%;
  padding: 1.5em 1em;
  text-decoration: none;
}

.post-grid__link:hover,
.post-grid__link:focus {
  box-shadow: 0 0 0 0.5em #E5EFF7 inset;
}

.post-grid__link:hover .post-grid__thumbnail img,
.post-grid__link:focus .post-grid__thumbnail img {
  transform: scale(1.1);
}

.post-grid__thumbnail {
  aspect-ratio: 3/2;
  overflow: hidden;
  margin: 0 auto 0.5em;
  border-radius: 0.625em;
}

.post-grid__thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}

.post-grid__meta {
  display: flex;
  align-items: center;
  gap: 0.875em;
  margin-bottom: 0.9375em;
}

.post-grid__office {
  min-width: 5.57143em;
  padding: 0.15em 1em;
  border-radius: 0.4286em;
  background: #01ADA7;
  color: #fff;
  font-weight: 600;
  font-size: 0.875em;
  text-align: center;
}

.post-grid__date {
  color: #999;
  font-weight: 500;
  font-size: 0.875em;
}

.post-grid__title {
  font-weight: 600;
}

.post-grid__categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em;
  margin-top: 1em;
}

.post-grid__category {
  --color: #E6F7F6;
  min-width: 7.667em;
  padding: 0.15em 1.5em;
  background: var(--color);
  font-size: 0.75em;
}

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  /* 半透明の背景 */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0s 0.3s;
  /* アニメーション */
}

.modal-overlay.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease-in-out, visibility 0s 0s;
}

.modal {
  display: none;
  position: fixed;
  top: 50%;
  right: 0;
  left: 0;
  z-index: 1001;
  grid-template-rows: auto 1fr;
  gap: 1em 0;
  width: 90vw;
  max-width: 1280px;
  max-height: 90vh;
  overflow: hidden;
  opacity: 0;
  margin: auto;
  padding: 2.25rem 1.5rem 1.5rem;
  border: 0;
  background: #fff;
  transform: translateY(-50%);
  transition: opacity 0.3s ease-in-out;
  color: #000;
}

.modal.is-active {
  display: grid;
}

.modal__content {
  overflow: auto;
}

.modal__close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  width: 1.25em;
  height: 1.25em;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

/* Post
--------------------------------*/

.post {
  margin: 4rem 0;
}

.entry-header {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-bottom: 3em;
  padding-bottom: 1em;
  border-bottom: 1px solid #b5b5b6;
}

.entry-title {
  margin: 0 0 1.2em;
  color: #01ADA7;
  font-size: 1.25em;
}

.entry-title > a {
  text-decoration: none;
}

.entry-title > a:hover,
.entry-title > a:focus {
  text-decoration: underline;
}

.entry-meta {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: baseline;
  gap: 1em;
}

.entry-date {
  font-weight: 600;
  font-size: 0.9375em;
}

.post-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}

.post-categories a,
.post-categories span:not([class]) {
  --color: #E6F7F6;
  display: inline-block;
  line-height: 2;
  padding: 0 1em;
  background: var(--color);
  font-weight: 700;
  font-size: 0.75em;
  text-align: center;
  text-decoration: none;
}

.eyecatch {
  margin-bottom: 2em;
  text-align: center;
}

.entry-content {
  margin: 0 auto;
}

.attachment .entry-content {
  text-align: center;
}

:where(.entry-content) a {
  color: #005EAE;
}

:where(.entry-content) a[href*=".pdf"]:before {
  display: inline-block;
  width: 1.25em;
  height: 1.5em;
  vertical-align: top;
  margin-right: 0.75em;
  content: url(images/i_pdf.svgz);
}

.entry-content strong {
  color: inherit;
}

.entry-content em {
  color: inherit;
  font-style: italic;
  font-weight: inherit;
}

.read-more {
  text-align: right;
}

.post-share {
  margin-top: 2.5rem;
}

.post-share__heading {
  display: block;
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  margin: 0;
  padding: 0;
  border: 0;
}

.post-share__heading:focus {
  clip: auto !important;
  background-color: #ddd;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/*** Wordpress Native Classes ***/

.wp-caption {
  max-width: 100%;
}

.alignleft,
.alignright,
.aligncenter {
  display: block;
  margin: 1em auto;
  text-align: center;
}

.aligncenter {
  clear: both;
}

.alignnone {
  clear: both;
  vertical-align: baseline;
}

.gallery {
  display: grid;
  clear: both;
  gap: 1em;
  margin: 2.5em auto;
  text-align: center;
}

.gallery:first-child {
  margin-top: 0;
}

.gallery:last-child {
  margin-bottom: 0;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

div.wpcf7 {
  width: 100%;
  margin: 0 auto;
}

.field {
  margin-bottom: 1.5rem;
}

.field__label {
  display: block;
}

.required,
.optional {
  display: inline-block;
  vertical-align: text-bottom;
  padding: 0 0.5em;
  background: #ff3b3b;
  color: #fff;
  font-size: 0.75em;
}

.optional {
  background: #005EAE;
}

.acceptance {
  margin: 2.5em 0;
  text-align: center;
}

.acceptance__label {
  display: inline-block;
  padding: 0.5em;
  cursor: pointer;
}

.submit {
  display: grid;
  grid-template-areas: ". btn spinner";
  grid-template-columns: 24px 1fr 24px;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

label[for],
.wpcf7-list-item > label {
  cursor: pointer;
}

.wpcf7-submit {
  grid-area: btn;
  width: 100%;
  min-width: 0;
}

.wpcf7-spinner {
  grid-area: spinner;
  margin: 0;
}

.wpcf7-text.wpcf7-not-valid,
.wpcf7-textarea.wpcf7-not-valid {
  background: #fcc;
}

.wpcf7-textarea {
  width: 100%;
}

.wpcf7-checkbox,
.wpcf7-radio {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em 1em;
}

.wpcf7-list-item {
  margin: 0;
}

.wpcf7-acceptance span {
  display: inline;
  position: static;
  margin: 0;
}

.wpcf7-response-output {
  text-align: center;
}

.wpcf7-recaptcha > div {
  margin: 2rem auto;
}

.fy-select {
  position: relative;
  width: fit-content;
  width: 100%;
  max-width: 16.25em;
  margin: 0 auto 2rem;
  color: #005EAE;
  font-size: 1rem;
}

.fy-select:after {
  position: absolute;
  top: 0;
  right: 1em;
  bottom: 0;
  height: 1em;
  margin: auto;
  font: 1.334em/1 icomoon;
  content: "\e902";
  pointer-events: none;
}

.fy-select > select {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  line-height: 1.4286;
  box-shadow: 0 0.2155em 0.2155em 0 rgba(0, 94, 174, 0.3), 0 0 0 1px currentColor inset;
  padding: 1.0625em 3em;
  border: 0;
  border-radius: 4em;
  background: #fff;
  color: inherit;
  font-weight: 600;
  font-size: 1em;
  text-align: center;
  text-align-last: center;
  text-shadow: none;
  cursor: pointer;
}

.fy-select > select::-ms-expand {
  display: none;
}

/* Page Navigation
--------------------------------*/

.navigation {
  margin: 4rem auto 0;
  text-align: center;
}

.nav-links {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  grid-template-areas: "prev center next";
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  line-height: 2.6667;
  font-size: min(0.75em, 3.077vw);
}

.nav-links > a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5334em;
  padding: 0 0.8em;
  text-decoration: none;
}

.nav-links > a:before,
.nav-links > a:after {
  color: #005EAE;
  font: 1em/1 icomoon;
}

.nav-links > a[rel=next] {
  grid-area: next;
}

.nav-links > a[rel=next]:after {
  content: "\e900";
}

.nav-links > a[rel=prev] {
  grid-area: prev;
}

.nav-links > a[rel=prev]:before {
  transform: rotate(180deg);
  content: "\e900";
}

.nav-links a:hover,
.nav-links a:focus {
  background: #e5eff7;
}

.pagination a[rel=prev]:after,
.pagination a[rel=next]:before {
  content: "";
}

.nav-back,
.page-number {
  grid-area: center;
  min-width: 8em;
  padding: 0 0.5rem;
  border: solid #d6d6d6;
  border-width: 0 1px;
  text-align: center;
}

.nav-back a {
  display: block;
  padding: 0 0.8em;
  text-decoration: none;
}

/* Social
--------------------------------*/

.share-buttons {
  display: flex;
  list-style: none;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  padding: 0;
  text-align: center;
}

.share-buttons__item {
  flex: 0 0 auto;
  margin: 0 4px;
}

.share-buttons__link {
  display: block;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ccc;
  color: #fff;
  text-decoration: none;
}

.share-buttons__link:before {
  display: block;
  font: 20px/2.4 FontAwesome, sans-serif;
  content: "\e911";
  speak: none;
}

.share-buttons__link.facebook {
  background-color: #3b5998;
}

.share-buttons__link.twitter {
  background-color: #1da1f3;
}

.share-buttons__link.googleplus {
  background-color: #dd4b39;
}

.share-buttons__link.tumblr {
  background-color: #36465d;
}

.share-buttons__link.pocket {
  background-color: #ef4056;
}

.share-buttons__link.hatena {
  background-color: #00a5de;
}

.share-buttons__link.line {
  background-color: #00c300;
}

.share-buttons__title {
  clip: rect(1px, 1px, 1px, 1px);
  word-wrap: normal !important;
  border: 0;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.share-buttons__title:focus {
  clip: auto !important;
  background-color: #ddd;
  -webkit-clip-path: none;
  clip-path: none;
  color: #444;
  display: block;
  font-size: 1em;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

.share-buttons__link.facebook:before {
  content: "\f09a";
}

.share-buttons__link.twitter:before {
  content: "\f099";
}

.share-buttons__link.googleplus:before {
  content: "\f0d5";
}

.share-buttons__link.tumblr:before {
  content: "\f173";
}

.share-buttons__link.pocket:before {
  content: "\f265";
}

.share-buttons__link.hatena:before {
  content: "B!";
  font-family: Verdana, sans-serif;
  font-weight: 700;
}

.share-buttons__link.line:before {
  content: "\f3c0";
}

@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  -ms-flex-align: center;
  align-items: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized,
.splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/* Extra
--------------------------------*/

.skip-link {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999999;
  list-style: none;
  margin: 0;
  padding: 0;
}

.skip-link a {
  display: block;
  height: 0;
  line-height: 1.5;
  overflow: hidden;
  border-radius: 0 0 0.5em 0;
  background: #fff;
  transition: none;
  color: rgb(0, 81, 255);
  font-weight: 700;
  font-size: 14px;
  text-decoration: none;
}

.skip-link a:focus {
  height: auto;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
  padding: 16px 24px;
}

.search-list {
  display: flex;
  flex-direction: column;
  gap: 0.75em;
  margin: 0;
}

.splide__inner {
  position: relative;
}

.splide__pagination {
  list-style: none;
  gap: 0.9375rem;
  margin: 1.5rem 0 0;
  padding: 0;
}

.splide__pagination__page {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  border-radius: 50%;
  background: #bababa;
}

.splide__pagination__page.is-active {
  background: #01ADA7;
}

.splide__arrows {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.splide__arrow {
  position: absolute;
  top: 50%;
  right: 0;
  z-index: 10;
  width: 2em;
  height: 2em;
  box-shadow: 0 0 0 0.125rem currentColor inset;
  border-radius: 50%;
  background: #fff;
  translate: 50% -50%;
  color: #01ADA7;
  font-size: 1.25rem;
  text-align: center;
  pointer-events: auto;
}

.splide__arrow:before {
  display: block;
  font: 1em/2 icomoon;
  content: "\e900";
}

.splide__arrow--prev {
  right: 100%;
}

.splide__arrow--prev:before {
  rotate: 180deg;
}

.splide__arrow svg {
  display: none;
}

/* Media Queries
--------------------------------*/

@media print, screen and (min-width: 601px) {
  .admin-bar .drawer {
    top: 46px;
  }
}

@media print, screen and (min-width: 768px) {
  :root {
    --contact-area-margin: 6rem;
  }

  html {
    font-size: 1.1111111111vw;
  }

  section {
    margin-top: 6rem;
    margin-bottom: 6rem;
  }

  th,
  td {
    padding: 1.25em 1.5em;
  }

  .site-content,
  .site-footer-content,
  .site-header-content {
    padding-right: 5rem;
    padding-left: 5rem;
  }

  h2 {
    margin-block: 6rem 2.5rem;
    font-size: 2.5rem;
  }

  h2:where([data-en]) {
    display: flex;
    align-items: center;
    gap: 1em;
    font-size: 1.25rem;
  }

  h2:where([data-en]) .en {
    margin: 0;
    font-size: 3.5em;
  }

  h3 {
    font-size: 2.5rem;
  }

  :where(.entry-content) h3 {
    font-size: 1.25rem;
  }

  h4 {
    font-size: 1.5rem;
  }

  .btn {
    min-width: 20.7143em;
    margin-inline: 0;
  }

  .graph:has(img[src*="training_img02.png"]) {
    margin-top: 5rem;
  }

  .graph2 {
    width: 89.0625%;
    margin: 4rem auto;
    padding: 3rem 10.625rem;
  }

  .tagline {
    font-size: 2.5rem;
  }

  .tagline:has(+ .recruitment-guideline) {
    font-size: 1.875rem;
    word-break: auto-phrase;
  }

  .tagline > span:not([class]) {
    display: block;
  }

  .tagline2 {
    font-size: 1.875em;
    letter-spacing: 0.1em;
  }

  .lede {
    width: 89.0625%;
    margin-inline: auto;
  }

  .lede2 {
    margin-bottom: 4rem;
    font-size: 1.125em;
  }

  .movie + h2 {
    margin-top: 12rem;
  }

  .text-with-image {
    flex-direction: row-reverse;
    align-items: center;
    gap: 5em;
  }

  .text-with-image__text {
    flex: 1;
  }

  .text-with-image__text p {
    font-size: 1.125em;
  }

  .text-with-image__image {
    flex: 0 0 auto;
    width: 13.75em;
  }

  .site-header-content {
    grid-template-areas: "logo snav nav";
    grid-template-columns: auto 1fr auto;
    padding: 1.6875em 2rem;
  }

  .site-title {
    width: 13.25em;
  }

  .global-nav__inner {
    display: grid;
    grid-template-columns: 1fr 15rem;
    grid-template-rows: auto 1fr auto;
    grid-template-areas: "list search" "list sns" "deco deco";
    align-items: start;
    gap: 0 4rem;
  }

  .global-nav__list {
    display: flex;
    grid-area: list;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2em 4em;
    height: 31rem;
  }

  .global-nav__sub .global-nav__list {
    row-gap: 0.875em;
    height: auto;
  }

  .global-nav__item {
    border: 0;
  }

  .global-nav__link {
    padding: 0;
  }

  .global-nav__link:after {
    top: 100%;
    right: auto;
    bottom: auto;
    left: 0;
    width: 0;
    border-top: 1px solid;
    transition: width 0.3s ease;
    content: "";
  }

  .global-nav__link:has(.oc-indicator):after {
    content: "";
  }

  .global-nav__link:hover::after,
  .global-nav__link:focus::after {
    width: 100%;
  }

  .global-nav__link .oc-indicator {
    display: none;
  }

  .global-nav__search-contact {
    grid-area: search;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
  }

  .global-nav__deco {
    display: grid;
    position: relative;
    grid-area: deco;
    grid-template-columns: 1fr auto;
    grid-auto-flow: column;
    align-items: end;
    gap: 5rem;
    overflow: visible;
    margin-top: 0;
  }

  .global-nav__deco:after {
    grid-column: 1;
    width: 23rem;
    margin: 0 0 0 auto;
  }

  .global-nav__deco > p {
    grid-column: 2;
    width: 15em;
    margin-right: -0.5em;
    margin-left: auto;
    font-size: 2em;
    text-align: right;
  }

  .global-nav-child {
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 0.625em;
    margin-block: 1em 0;
    margin-left: 1.75em;
  }

  .global-nav-child__link {
    font-size: 1em;
  }

  .global-nav-submenu {
    flex-direction: column;
    justify-content: start;
  }

  .global-nav-submenu__link {
    font-size: 0.8125em;
  }

  .global-nav-submenu__link:before {
    content: none;
  }

  .global-nav-contact {
    flex-direction: column;
    margin-top: 3em;
  }

  .global-nav-contact .btn {
    font-size: 0.875rem;
  }

  .global-nav-sns {
    margin-block: 3em 0;
    justify-content: end;
  }

  .shortcut-global-nav {
    display: block;
    margin-left: auto;
  }

  .menu-button {
    font-size: 1rem;
  }

  .drawer {
    padding: 9rem 5rem 2rem;
  }

  .hero {
    display: grid;
    grid-template-columns: 1fr 5.2rem 44.175rem;
    align-items: center;
    justify-content: space-between;
    overflow: hidden;
    padding: 5.4375em calc(50vw - 720px) 0;
  }

  .hero__image {
    grid-column: 2/4;
    grid-row: 1;
    width: 53rem;
    padding-block: 4rem;
  }

  .hero__content {
    position: relative;
    z-index: 1;
    grid-column: 1/3;
    grid-row: 1;
    margin-left: 5rem;
    padding: 0;
    text-align: left;
  }

  .hero__content .btn {
    margin-top: 3.5rem;
  }

  .hero__purpose {
    margin: 0 0 3.5em;
  }

  .hero__purpose img {
    width: 33.0625em;
    max-width: none;
  }

  .hero__text {
    width: 28em;
    font-size: 1.1875em;
    letter-spacing: 0.15em;
  }

  .site-footer-content {
    display: grid;
    grid-template-areas: "org org banner" "menu menu comsys" "border border border" "copyright banner2 banner2";
    grid-template-columns: 1fr auto auto;
    align-items: end;
  }

  .site-footer-content::after {
    display: block;
    grid-area: border;
    margin: 1.5rem 0;
    border-top: 1px solid #999;
    content: "";
  }

  .back2top {
    position: fixed;
    right: 1rem;
    bottom: 2rem;
    z-index: 1000;
    opacity: 0;
    pointer-events: none;
  }

  .back2top.is-active {
    opacity: 0.8;
    pointer-events: auto;
  }

  .back2top.is-active:hover,
  .back2top.is-active:focus {
    opacity: 1;
  }

  .no-js .back2top {
    opacity: 1;
    pointer-events: auto;
  }

  .back2top:after {
    position: absolute;
    bottom: 89%;
    left: 0;
    width: 4.25rem;
    height: 4.25rem;
    background: url(images/icon_back2top.svgz) no-repeat center/contain;
    content: "";
  }

  .back2top > span {
    position: relative;
    z-index: 1;
    flex-direction: column;
    gap: 0;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 50%;
    box-shadow: 0 0 0 1px currentColor inset;
    line-height: 1.3;
    font-size: 0.8125em;
  }

  .back2top > span:after {
    content: none;
  }

  .organization {
    display: grid;
    grid-template-areas: "logo socials" "logo content";
    grid-template-columns: auto 1fr;
    grid-template-rows: 1fr auto;
    align-items: end;
    gap: 1em 3em;
    text-align: left;
  }

  .organization__logo {
    grid-area: logo;
    width: 9.375em;
    margin: 0;
  }

  .organization__socials {
    grid-area: socials;
    justify-content: start;
    margin: 0;
  }

  .organization__content {
    grid-area: content;
  }

  .organization__address,
  .organization__contact {
    justify-content: start;
  }

  .foot-banner {
    margin: 0;
  }

  .foot-menu {
    justify-content: start;
    margin-top: 4em;
  }

  .comsys {
    margin: 0;
  }

  .foot-banner2 > li {
    flex: 0 0 16em;
  }

  .copyright {
    align-self: start;
    padding: 0;
    border: 0;
    text-align: left;
  }

  .contact-area {
    display: grid;
    grid-template-columns: auto auto 1fr;
    grid-template-areas: "title divider content";
    align-items: center;
  }

  .contact-area:before {
    grid-area: divider;
    width: 4.25em;
    min-height: 20em;
    height: 100%;
    border-right: 1px solid;
    content: "";
  }

  .contact-area h2 {
    grid-area: title;
    margin: 0;
  }

  .contact-area__content {
    display: grid;
    grid-area: content;
    grid-template-areas: "text text" "button syskenkun";
    gap: 1em 6em;
    margin-left: 8.25em;
  }

  .contact-area__content .btn {
    grid-area: button;
    align-self: end;
    width: 20.455em;
    margin: 0;
    font-size: 1.375em;
  }

  .contact-area__text {
    grid-area: text;
    width: 26em;
    line-height: 2;
    font-size: 1.125em;
  }

  .syskenkun {
    width: 10.3125em;
    margin: 0;
  }

  .contactbox {
    margin-top: 6rem;
    padding: 1.5rem;
  }

  .contactbox__heading {
    line-height: 1.7;
    font-size: 1.5rem;
  }

  .contactbox__method {
    font-size: 2.5em;
  }

  .contactbox__note {
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: center;
    gap: 0 1em;
    margin-top: 2rem;
    font-size: 1.125em;
  }

  .breadcrumbs {
    margin-bottom: 3.5rem;
  }

  .home-purpose-area {
    display: grid;
    grid-template-areas: "image heading" "image text" "image button";
    grid-template-columns: 39.0625rem 1fr;
    grid-template-rows: auto auto 1fr;
    align-items: start;
    gap: 0 5.625rem;
  }

  .home-purpose-area__image {
    grid-area: image;
    margin: 0;
  }

  .home-purpose-area h2 {
    grid-area: heading;
    margin-top: 0;
  }

  .home-purpose-area .textual-matter {
    grid-area: text;
    width: 36em;
  }

  .home-purpose-area .btn {
    grid-area: button;
  }

  .home-news-area:before {
    top: -5em;
    width: 8.75em;
  }

  .home-company-area {
    padding-block: 6rem;
  }

  .home-company-area {
    display: grid;
    grid-template-columns: 1fr 45rem;
    grid-template-rows: 1fr auto 1fr;
    grid-template-areas: "heading image" "text image" "button image";
    align-items: start;
    padding-block: 3rem;
    padding-right: 0;
    background: linear-gradient(#E6F7F6, #E6F7F6) no-repeat 0 0/70.7% 100%;
  }

  .home-company-area:after {
    position: absolute;
    right: min(720px, 50%);
    bottom: 2.5em;
    width: 7.875em;
    margin: 0 5em 0 0;
  }

  .home-company-area h2 {
    margin-top: auto;
  }

  .home-company-area__image {
    grid-area: image;
    overflow: hidden;
    margin: auto 0;
    border-radius: 0.625em 0 0 0.625em;
  }

  .home-company-area__image img {
    width: 100%;
  }

  .home-company-area .textual-matter {
    grid-area: text;
    width: 28em;
  }

  .home-company-area .btn {
    grid-area: button;
  }

  .news-wrap {
    display: grid;
    grid-template-columns: 1fr 70.3125%;
    gap: 0 2rem;
  }

  .news-wrap .filter-form {
    grid-column: 1;
    grid-row: 1/3;
  }

  .news-wrap #newsArchive {
    grid-column: 2;
    grid-row: 1;
  }

  .news-wrap .more-link {
    grid-column: 2;
    grid-row: 2;
  }

  .news-wrap .category-select-list {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0.5em;
    width: fit-content;
    margin: 0 auto;
  }

  .news-wrap .category-select-list__item {
    min-width: 0;
  }

  .news-wrap .category-select-list label {
    justify-content: start;
    gap: 1em;
    line-height: 2;
    padding: 0;
    background: transparent;
    color: inherit;
    font-weight: 600;
    font-size: 1.125em;
  }

  .news-wrap .category-select-list label:before {
    color: #dedede;
    content: "●";
  }

  .news-wrap .category-select-list label:after {
    content: none;
  }

  .news-wrap .category-select-list label:has(input:checked) {
    background: transparent;
    color: inherit;
  }

  .news-wrap .category-select-list label:has(input:checked):before {
    color: #01ADA7;
  }

  .home-sustainability-area {
    display: grid;
    grid-template-areas: "image heading" "image content";
    grid-template-columns: 38.75rem 1fr;
    gap: 0 4rem;
  }

  .home-sustainability-area h2 {
    grid-area: heading;
    margin-right: -1rem;
  }

  .home-sustainability-area__image {
    grid-area: image;
    margin: 0;
  }

  .home-sustainability-area__content {
    grid-area: content;
  }

  .home-recruit-area {
    padding-block: 6rem;
  }

  .home-recruit-area {
    height: 65.5rem;
  }

  .home-recruit-area:before {
    top: 2em;
    right: 50%;
    left: auto;
    width: 9.375em;
  }

  .home-recruit-area:after {
    right: 50%;
    bottom: 1.875em;
    width: 8.5em;
    aspect-ratio: 136/192;
    margin-right: 10.125em;
    background-image: url(images/home_recruit_illust2.svgz);
    content: "";
  }

  .home-recruit-area h2 {
    margin-bottom: 0;
  }

  .home-recruit-area__tagline {
    margin: 5rem 0 3.5rem;
  }

  .home-recruit-area .textual-matter {
    width: 29em;
  }

  .home-recruit-area .btn {
    margin-top: 6.875rem;
  }

  .recruit-slide-container {
    right: 0;
    left: 0;
    max-width: 1440px;
    margin: 0 auto;
    translate: 23rem 0;
  }

  .recruit-slide-container:after {
    content: none;
  }

  .recruit-slide-wrap {
    justify-content: end;
    gap: 1.5em;
    transform-origin: 0 0;
  }

  .recruit-slide {
    width: 19.75em;
  }

  .pamphlet-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    column-gap: 3.5em;
    margin: 0;
    padding: 2em;
  }

  .page-header {
    height: 25rem;
    margin-bottom: 3.5rem;
    padding: 0;
    background: url(images/bg_header.webp) no-repeat 100% 50% #005EAE;
    background-size: auto 100%;
  }

  .page-header--topics {
    background-image: url(images/bg_header_topics.webp);
  }

  .page-header--company {
    background-image: url(images/bg_header_company.webp);
  }

  .page-header--history {
    background-image: url(images/bg_header_history.webp);
  }

  .page-header--videos {
    background-image: url(images/bg_header_videos.webp);
  }

  .page-header--partner {
    background-image: url(images/bg_header_partner.webp);
  }

  .page-header--contact {
    background-image: url(images/bg_header_contact.webp);
  }

  .page-header--recruit {
    background-image: url(images/bg_header_recruit.webp);
  }

  .page-header--guideline {
    background-image: url(images/bg_header_guideline.webp);
  }

  .page-header--working-conditions {
    background-image: url(images/bg_header_working-conditions.webp);
  }

  .page-header--finance {
    background-image: url(images/bg_header_finance.webp);
  }

  .page-header--ntt {
    background-image: url(images/bg_header_ntt.webp);
  }

  .page-header--infrastructure {
    background-image: url(images/bg_header_infrastructure.webp);
  }

  .page-header--electronic-public-notice {
    background-image: url(images/bg_header_electronic-public-notice.webp);
  }

  .page-header--office {
    background-image: url(images/bg_header_office.webp);
  }

  .page-header--sustainability {
    background-image: url(images/bg_header_sustainability.webp);
  }

  .page-header--sitemap {
    background-image: url(images/bg_header_sitemap.webp);
  }

  .page-header__bg {
    display: block;
    max-width: 1440px;
  }

  .page-header__spbg {
    display: none;
  }

  .page-title {
    padding-left: 6rem;
    font-size: 2.75rem;
  }

  .page-title .en {
    font-size: 0.6em;
  }

  .bg-area,
  .bg-area2 {
    padding-block: 6rem;
  }

  .bg-area .content,
  .bg-area2 .content {
    padding-bottom: 4rem;
  }

  .content {
    width: 89.0625%;
    margin: 0 auto;
    padding: 4rem 6.25rem 6rem;
  }

  p + .content {
    margin-top: 4em;
  }

  .pagenavi {
    margin-top: 6rem;
  }

  .pagenavi > ul {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.75em 2.5em;
  }

  .purpose-area {
    display: grid;
    grid-template-columns: 32rem 1fr;
    margin-right: calc(50% - 50vw);
  }

  .purpose-area__heading {
    margin-bottom: 2em;
  }

  .company-purpose-area .purpose-area__heading {
    margin-bottom: 0.6em;
  }

  .purpose-area__tagline {
    margin-bottom: 2.25em;
    text-align: left;
  }

  .purpose-area__tagline img {
    width: 30rem;
    max-width: none;
  }

  .company-purpose-area .purpose-area__tagline {
    margin-block: 1.5rem;
  }

  .company-purpose-area .purpose-area__tagline img {
    width: 24rem;
  }

  .purpose-area__text {
    line-height: 2;
    font-size: 1.125em;
    text-align: left;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  :where(.purpose-area__text) p {
    margin: 2em 0;
  }

  .purpose-area__image {
    height: 47.9375em;
    margin: 0;
  }

  .purpose-area__image img {
    width: auto;
    max-width: none;
    height: 100%;
  }

  .purpose-movie-area {
    margin: 10rem -5rem 0;
    padding: 0 5rem 11rem;
    background-image: url(images/bg_concept_movie.webp);
    background-position: 50% 100%;
  }

  .purpose-movie-area__heading {
    margin-bottom: 5rem;
    font-size: 2.375rem;
  }

  .purpose-movie-area .movie {
    box-shadow: 0 0 0 0.625em #fff;
  }

  .purpose-vision-area {
    padding-block: 6rem;
  }

  .purpose-vision-area__heading {
    font-size: 3rem;
  }

  .purpose-vision-area__tagline {
    font-size: 1.5em;
  }

  .purpose-vision-area__text {
    font-size: 1.25em;
    text-align: center;
  }

  .purpose-vision-area__image {
    width: 78.125%;
    margin-top: 7rem;
  }

  .purpose-message-area {
    padding-block: 6rem;
  }

  .purpose-message__photo {
    margin: 0;
  }

  .purpose-message__photo img {
    border-radius: 1em;
  }

  .purpose-message__content {
    width: 89.0625%;
    margin-top: -4.6875em;
    padding: 3.5em 3em;
  }

  .purpose-message__tagline {
    font-size: 1.5em;
  }

  .purpose-message-author {
    margin-top: 2rem;
  }

  .purpose-message-author__role {
    margin-bottom: 0.889em;
    font-size: 1.125em;
  }

  .purpose-message-author__name img {
    width: 14.375em;
  }

  .purpose-mission-area {
    display: grid;
    grid-template-areas: "heading heading" "image content";
    grid-template-columns: auto 1fr;
    align-items: start;
    gap: 2em;
    margin-right: calc(50% - 50vw);
  }

  .purpose-mission-area__content {
    margin: 0;
    padding: 4em 5rem 4em 9em;
  }

  .purpose-mission-area__tagline {
    line-height: 1.5;
    font-size: 2em;
  }

  .purpose-mission-area__text {
    font-size: 1.25em;
  }

  .purpose-mission-area__image {
    width: 20rem;
    margin: 0 0 0 auto;
  }

  .purpose-value-area {
    padding-top: 3rem;
  }

  .purpose-value-area:before {
    left: -5rem;
  }

  .splide-counter-wrap {
    gap: 1.5em;
  }

  .splide-counter-wrap .splide__arrow {
    font-size: 1.5625rem;
  }

  .splide-counter {
    font-size: 1.125em;
  }

  .value {
    /*&__header {
      gap: 1.5em;
    }
    &__num {
      border-radius: $r 0 $r 0;
      font-size: 4.5em;
    }
    &__title {
      font-size: 4.25em;
    }
    &__image {
      border-radius: $r;
    }
    &__content {
      margin-top: -16em;
    }
    &__tagline {
      margin-bottom: 0;
      font-size: 2em;
    }
    &__entagline {
      display: block;
      font-size: 4.375em;
    }
    &__text {
      font-size: 1.25em;
    }*/
  }

  .value:after {
    position: absolute;
    top: 44.75em;
    left: 1.5em;
    width: 15.625em;
    height: 19.125em;
    background: url(images/value_illust01.svgz) no-repeat 0 0/contain;
    content: "";
  }

  .value[data-num="2"]:after {
    background-image: url(images/value_illust02.svgz);
  }

  .value[data-num="3"]:after {
    background-image: url(images/value_illust03.svgz);
  }

  .value[data-num="4"]:after {
    background-image: url(images/value_illust04.svgz);
  }

  .value[data-num="5"]:after {
    background-image: url(images/value_illust05.svgz);
  }

  .purpose-tagline {
    margin-bottom: 1em;
    font-size: 2.5em;
  }

  .purpose-voice-area__header {
    margin-bottom: 4.5em;
  }

  .purpose-voice-area__header:before {
    top: -12.5em;
    left: -5rem;
    max-width: 1440px;
    aspect-ratio: 1440/760;
    background-image: url(images/bg_purpose_voice.webp);
  }

  .purpose-voice-area__tagline {
    width: fit-content;
    margin: 7rem 12.5rem 17.5rem auto;
    font-size: 3em;
  }

  .purpose-voice-area__lede {
    line-height: 1.5;
    margin-left: 5.625rem;
    font-size: 1.25em;
  }

  .voice-slide .splide__arrows {
    height: 33.75rem;
  }

  .voice {
    font-size: 1rem;
  }

  .voice:nth-child(2n+1) {
    margin-top: 4.5em;
  }

  .voice__content p {
    font-size: 0.9375em;
  }

  .interview-wrap {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 0;
    margin: 0 0 4.5rem;
    padding: 0 0 3rem;
    background: none;
  }

  .interview-wrap:before {
    position: absolute;
    top: 23.25em;
    right: 6.25em;
    bottom: 0;
    left: calc(50% - 50vw);
    z-index: -1;
    border-radius: 0 1.5em 1.5em 0;
    background: rgba(137, 186, 25, 0.2);
    content: "";
  }

  .interview-wrap:after {
    right: 0;
    bottom: -10.3125em;
    width: 10.9375em;
  }

  .interview-wrap--head {
    margin-bottom: 0;
    padding-bottom: 0;
  }

  .interview-wrap + .btn {
    margin-inline: auto;
  }

  .interview-tagline {
    display: flex;
    top: 4rem;
    bottom: auto;
    flex-direction: column;
    font-size: 6.25em;
  }

  .interview__comment {
    left: 0.2174em;
    gap: 0.68565em;
    font-size: 1.4375em;
  }

  .interview__comment > span {
    padding-top: 0;
  }

  .interview:nth-of-type(2) .interview__comment {
    right: 0.2174em;
  }

  .interview__image {
    margin: 0;
    margin-left: -5rem;
  }

  .interview__image img {
    width: 100%;
  }

  .interview:nth-of-type(2) .interview__image {
    margin-left: 0;
    margin-right: -5rem;
  }

  .interview__content {
    margin-top: 2em;
  }

  .interview__interviewee {
    font-size: 1.5em;
  }

  .interview__career {
    font-size: 0.875em;
  }

  .interview-block {
    padding-top: 3rem;
    padding-bottom: 6rem;
    background-size: 100% auto;
  }

  .interview-block:before {
    height: 36rem;
  }

  .interview-block .btn {
    margin: 13.75rem auto 0;
  }

  .interviewee-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .interviewee {
    display: grid;
    grid-template-areas: "header photo" "content photo";
    grid-template-columns: 1fr 12.5rem;
    grid-template-rows: auto 1fr;
    gap: 1rem 2.25rem;
    background: url(images/bg_logo.svgz) no-repeat 0 0/12.5rem #fff;
    padding: 1.875rem;
  }

  .interviewee__photo {
    margin: 0;
  }

  .interview-content {
    margin-top: 4rem;
    padding: 4rem 10rem 0;
    border-radius: 5rem 5rem 0 0;
  }

  .interview-part__heading {
    display: flex;
    align-items: center;
    gap: 0.6em;
    font-size: 1.875rem;
  }

  .interview-part__heading:before {
    flex: 0 0 auto;
    width: 4.8667em;
    border-top: 1px solid;
    content: "";
  }

  .interview-part__content {
    gap: 2.5em;
  }

  .interview-part__image {
    margin-top: 6em;
  }

  .interview-part__image img {
    border-radius: 1.5em;
  }

  .interview-item {
    gap: 3.75em;
  }

  .interview-item__author {
    width: 6.5em;
    height: 6.5em;
  }

  .interview-item__text {
    font-size: 1.125em;
  }

  .company-purpose-area {
    display: grid;
    grid-template-columns: 1fr 41.875rem;
    align-items: center;
    margin-right: 0;
    border-radius: 1.5em;
  }

  .company-purpose-area__inner {
    width: 38em;
    padding: 2em;
  }

  .philosophy-area {
    padding-block: 6rem;
  }

  .philosophy-area__heading {
    font-size: 1.25em;
  }

  .philosophy-list {
    flex-direction: row;
    margin: 10em 3.75em 0;
  }

  .philosophy-list__item {
    flex: 1 0 0;
    padding: 8em 2em 2em;
  }

  .philosophy-list__image {
    width: 46.154%;
    max-width: 168px;
  }

  .philosophy-list__title {
    font-size: 1.125em;
  }

  .cms th,
  .cms td {
    padding-block: 3.75rem;
  }

  .cms th {
    font-size: 1.5em;
  }

  .cms td {
    font-size: 1.25em;
  }

  .message-area {
    padding-block: 6rem;
  }

  .message-area {
    display: grid;
    grid-template-areas: "photo heading" "photo lede" "photo author" "message message";
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto 1fr auto;
    padding-inline: calc(50vw - 50% + 4.375em);
  }

  .message-author-photo {
    width: 19.5em;
    max-width: 312px;
    margin: -2em 3.875em -1px;
  }

  .message-lede {
    width: 30em;
    font-size: 1.5em;
    word-break: auto-phrase;
  }

  .message-author {
    flex-direction: row;
    align-items: center;
    margin: 0;
  }

  .message-author__role {
    margin: 0;
    font-size: 1.125em;
  }

  .message-author__name {
    width: 14.375em;
  }

  .message {
    padding: 3.5em 3em;
  }

  .moral-part h3 {
    font-size: 1.25rem;
  }

  .company-history {
    table-layout: fixed;
  }

  .company-history__year {
    width: 12.5em;
  }

  .company-history__month {
    width: 6.5em;
  }

  .executive-list tbody th,
  .executive-list tbody td {
    padding-inline: 3.75em;
  }

  .organization-area {
    padding-block: 6rem;
  }

  .sysken-group-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem 3rem;
    width: 89.0625%;
    margin: 2.5em auto 0;
  }

  .sysken-group__link {
    height: 100%;
    padding: 2.5em;
  }

  .sysken-group__link:after {
    position: absolute;
    right: 1.5rem;
    bottom: 1rem;
    transform: none;
    font-size: 1.5em;
  }

  .sysken-group__name {
    border-block-start: 2.5em;
  }

  .sysken-group__name img {
    height: 2.5em;
  }

  .company-office-area {
    display: grid;
    grid-template-columns: 1fr 44.5em;
    grid-template-rows: auto auto auto;
    align-items: start;
    padding-right: 0;
  }

  .company-office-area h2 {
    grid-column: 1;
    grid-row: 1;
  }

  .company-office-area p {
    grid-column: 1;
    grid-row: 2;
    max-width: none;
    margin: 0;
    text-align: left;
  }

  .company-office-area .btn {
    grid-column: 1;
    grid-row: 3;
  }

  .company-office-map {
    grid-row: 1/4;
    grid-column: 2;
    margin: -3em 0 0;
  }

  .company-office-map:before {
    top: auto;
    right: 100%;
    bottom: 0;
    width: 8.125em;
    margin-right: 1.875em;
  }

  .history-challenge-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 89.375%;
    margin-top: 4em;
  }

  .oc-indicator {
    right: 1.5em;
  }

  .accordion-button {
    padding-inline: 4.5em;
    font-size: 1.25rem;
    letter-spacing: 0.5em;
  }

  .accordion-content {
    margin-top: 2rem;
  }

  .history-part {
    margin: 4rem 0 0;
  }

  .history-part:first-child {
    margin-top: 0;
  }

  .toward100-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 4em;
  }

  .toward100-list__content {
    padding: 1.25em 1.5em 0;
  }

  .toward100-list__caption {
    font-size: 1.375em;
  }

  ul.business-menu,
  .business-menu__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5em;
  }

  .business-menu__title {
    font-size: 1.4375rem;
  }

  .product-image {
    margin-top: 3.5em;
  }

  .product-images {
    display: grid;
    grid-template-columns: 1fr 38.75rem;
    align-items: center;
    gap: 2.5rem;
    margin-top: 4rem;
  }

  .banner-list {
    grid-template-columns: repeat(4, 18.75rem);
    gap: 1.5rem 0;
    justify-content: space-between;
  }

  .product-lineup {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem 3.75rem;
    width: 89.0625%;
    margin-inline: auto;
  }

  .product-lineup__item a {
    padding: 1.875em 1.875em 2.5em;
  }

  .product-lineup__name {
    font-size: 1.5em;
  }

  .product-lineup__description p {
    line-height: 2;
    font-size: 1.125em;
  }

  .sales-offices {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .business-introduction-area {
    display: grid;
    grid-template-areas: "heading image" "text image";
    grid-template-columns: 1fr 40rem;
    grid-template-rows: auto 1fr;
    gap: 0 4rem;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
    margin-bottom: 0;
    padding-bottom: 11.25rem;
    background: url(images/deco_business.svgz) no-repeat center bottom 2rem/auto 12.3125rem;
  }

  .page-infrastructure-content .business-introduction-area {
    background-image: url(images/deco_infrastructure.svgz);
  }

  .business-introduction-area h2 {
    grid-area: heading;
    font-feature-settings: "palt" 1;
    letter-spacing: 0.1em;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }

  .business-introduction-area__image {
    grid-area: image;
    margin: 0;
  }

  .business-introduction-area .textual-matter {
    grid-area: text;
    font-size: 1.125em;
    letter-spacing: 0.05em;
  }

  .business-header {
    margin-bottom: 4rem;
    padding-right: 19rem;
  }

  .business-header__image {
    position: absolute;
    right: 0;
    bottom: -1.5rem;
    width: 15rem;
    max-width: none;
    margin: 0;
  }

  .business-header__image:has([src*="business_ccc_illust03.svgz"]) {
    bottom: -2.5rem;
  }

  .business-header__image img {
    width: 100%;
  }

  .slide-wrap {
    margin-top: 2.5rem;
    margin-bottom: 6rem;
  }

  .business-slide .splide__arrows {
    height: 17.0625rem;
  }

  .business-slide__image figcaption {
    padding-left: 0.2em;
    letter-spacing: 0.2em;
  }

  .business-act-list__content {
    position: relative;
    margin: 0 1.5625em 1.5625em;
    padding-left: 6.25rem;
  }

  .business-act-list__content:before {
    position: absolute;
    top: 0.75rem;
    left: 0;
    width: 5rem;
    height: 3.6875rem;
    background: url(images/icon_truck.svgz) no-repeat 0 0/contain;
    content: "";
  }

  .business-act-list--civil .business-act-list__content:before {
    background-image: url(images/icon_cone.svgz);
  }

  .business-act-list--network .business-act-list__content:before {
    height: 4.375rem;
    background-image: url(images/icon_pc.svgz);
  }

  .business-act-list--mobile .business-act-list__content:before {
    height: 4.625rem;
    background-image: url(images/icon_antenna.svgz);
  }

  .office-area__tagline {
    margin: 4.5rem 0;
    font-size: 1.5em;
  }

  .area-section {
    width: 89.0625%;
    margin: 4rem auto 0;
  }

  .area-section .accordion-content {
    padding-block: 3.5em 5rem;
  }

  .area-section .btn {
    margin-inline: auto;
  }

  .office-divisions {
    width: 84.2105%;
    margin: 0 auto;
  }

  .office-division {
    display: grid;
    grid-template-columns: 16.25rem 1fr auto;
    grid-template-areas: "name content map";
    align-items: center;
    gap: 1.875rem;
    padding-bottom: 0.3125rem;
  }

  .office-division__name {
    display: flex;
    grid-area: name;
    align-self: stretch;
    align-items: center;
    justify-content: center;
    min-height: 5.5rem;
    margin: 0;
    padding: 1rem 1.5rem;
  }

  .office-division:first-child .office-division__name {
    font-size: 1.125em;
  }

  .office-division__map {
    margin: 0;
  }

  .office-division__contact {
    flex-direction: row;
    gap: 1em;
  }

  .office-map {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 4rem;
  }

  .office-map__content {
    height: 22.5rem;
  }

  .stakeholder {
    display: grid;
    grid-template-columns: 1fr 20rem;
    align-items: center;
    gap: 4.5rem;
  }

  .stakeholder__image {
    grid-column: 2;
    grid-row: 1;
    margin: 0;
  }

  .stakeholder__text {
    grid-column: 1;
    grid-row: 1;
    line-height: 2;
    font-size: 1.125em;
    letter-spacing: 0.05em;
  }

  .policy-list {
    row-gap: 1.5em;
  }

  .policy-list > li {
    font-size: 1.125em;
  }

  .timestamp {
    font-size: 1em;
  }

  .internal-control-tagline {
    font-size: 1.5em;
    letter-spacing: 0.05em;
  }

  .internal-control-part {
    width: 89.0625%;
    margin-inline: auto;
  }

  .internal-control-part .accordion-button {
    padding-left: 1.5em;
  }

  .internal-control-part__content {
    line-height: 2;
    padding: 4em 5.625em;
  }

  .internal-control-part__content ol {
    gap: 1.5em;
  }

  .act-plan {
    padding: 1.25rem;
    font-size: 1.25em;
  }

  .initiative-area {
    padding-left: 6rem;
  }

  .initiative-area__heading {
    margin-left: 0;
  }

  .initiative-area__image {
    text-align: left;
  }

  .list-caption {
    font-size: 1.5em;
  }

  .initiative-list {
    line-height: 2;
    font-size: 1.125em;
  }

  .initiative-list:has(ul) {
    row-gap: 1.5rem;
  }

  .support-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 2.75rem;
    width: 89.0625%;
    margin: 0 auto;
  }

  .support-list--hrd {
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2.8125rem;
  }

  .support-list__item {
    padding: 1em 2.25em 1.5em;
  }

  .support-list__item dt {
    font-size: 1.4375em;
    letter-spacing: 0.05em;
  }

  .support-list__item dd {
    font-size: 1em;
  }

  .topics-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem 2.75rem;
    width: 89.0625%;
    margin: 0 auto;
  }

  .topic {
    padding: 2em 2.125em;
  }

  .topic__image {
    margin-bottom: 1.5em;
  }

  .topic__content p {
    line-height: 2;
    font-size: 1.125em;
  }

  .management-system {
    grid-template-columns: 21.25rem 1fr;
    grid-template-rows: auto;
  }

  .management-system-info {
    font-size: 1.125em;
  }

  .management-system-info > tbody > tr > td {
    padding-left: 1.5em;
  }

  .certificates {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3em 3.75em;
  }

  .ir-wrap {
    width: 89.0625%;
    gap: 4rem;
  }

  .ir {
    display: grid;
    grid-template-columns: auto 1fr;
  }

  .ir__title {
    /*display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;*/
    line-height: inherit;
    width: 15em;
    padding-block: 1.125em;
    text-align: center;
  }

  .ir-documents {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    padding: 0.75em 1.5em;
  }

  .ir-document {
    display: grid;
    grid-template-columns: 7em 1fr;
    font-size: 1em;
  }

  .contact-lede {
    width: 89.0625%;
    margin: 0 auto;
  }

  .contact-lede p {
    font-size: 1.5em;
    letter-spacing: 0.05em;
  }

  .contact-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 3em;
    width: 89.0625%;
    margin: 3em auto 0;
  }

  .contact {
    padding: 2.5em 1.25em;
  }

  .contact:only-child {
    grid-column: 1/-1;
  }

  .contact__method {
    font-size: 3.5em;
  }

  .contact__caption,
  .contact__note {
    font-size: 1.4375em;
  }

  .movie-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 3em;
  }

  .partner-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .partner-list a {
    padding: 1.143em 0.57143em;
    font-size: 0.875em;
  }

  .graduates__entry {
    width: 50em;
    margin-top: 5em;
  }

  .starting-salary {
    display: flex;
    flex-wrap: wrap;
    gap: 0 0.2em;
  }

  .starting-salary > li:not(:last-child):after {
    content: " /";
  }

  .sitemap {
    display: flex;
    grid-area: list;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 2em 4em;
    height: 27.4rem;
  }

  .sitemap > li {
    border: 0;
  }

  .sitemap > li > a {
    padding: 0;
  }

  .sitemap > li > a:after {
    top: 100%;
    right: auto;
    bottom: auto;
    left: 0;
    width: 0;
    border-top: 1px solid;
    transition: width 0.3s ease;
    content: "";
  }

  .sitemap > li > a:hover::after,
  .sitemap > li > a:focus::after {
    width: 100%;
  }

  .sitemap .children {
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 0.625em;
    margin-block: 1em 0;
    margin-left: 1.75em;
  }

  .sitemap .children > li > a {
    font-size: 1em;
  }

  .category-select-list {
    margin-bottom: 4rem;
    font-size: 1rem;
  }

  .category-select-list > li:has([name=category_name]) {
    min-width: 10rem;
  }

  .post-list {
    display: grid;
    grid-template-columns: auto auto 1fr auto;
    max-width: 1040px;
  }

  .post-list__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/-1;
  }

  .post-list__link {
    grid-template-columns: subgrid;
    grid-column: 1/-1;
    column-gap: 1.5em;
    padding: 1.25em 0.625em;
  }

  .post-list__link:after {
    grid-row: 1;
    font-size: 0.875em;
  }

  .post-list__title {
    grid-column: 2/4;
    grid-row: 1;
  }

  .post-list__category + .post-list__title {
    grid-column: 3;
  }

  .post-list__category {
    min-width: 10.8334em;
  }

  .post-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }

  .post-grid__item {
    border-right-width: 1px;
  }

  .post-grid__item:nth-child(-n+3) {
    border-top-width: 1px;
  }

  .post-grid__item:nth-child(3n) {
    border-right: none;
  }

  .post-grid__link {
    padding: 2.5em 0 1.5em;
  }

  .post-grid__thumbnail {
    width: 20rem;
  }

  .post-grid__content {
    width: 20rem;
    margin: 0 auto;
  }

  .entry-header {
    margin-bottom: 8em;
    padding-bottom: 1.25em;
  }

  .entry-title {
    font-size: 2.5em;
  }

  .post-categories a,
  .post-categories span:not([class]) {
    min-width: 10.8334em;
  }

  .eyecatch {
    margin-bottom: 4em;
  }

  .entry-content {
    max-width: 960px;
  }

  .alignleft {
    float: left;
    margin: 0 1em 0 0;
  }

  .alignright {
    float: right;
    margin: 0 0 0 1em;
  }

  .gallery {
    margin-top: 4em;
  }

  .field {
    display: flex;
  }

  .field__label {
    flex: 0 0 12em;
    padding: 3px 8px;
    text-align: right;
  }

  .field__control {
    flex: 1;
  }

  .submit {
    grid-template-columns: 24px auto 24px;
    gap: 1.5rem;
  }

  .wpcf7-submit {
    width: auto;
    min-width: 20em;
  }

  .fy-select {
    max-width: 16.111em;
    margin-bottom: 4rem;
    font-size: 1.125em;
  }

  .navigation {
    margin-top: 6rem;
  }

  .nav-links {
    grid-template-columns: repeat(3, 7.5rem);
    font-size: 0.9375em;
  }

  .post-navigation .nav-links {
    grid-template-columns: 7.625rem auto 7.625rem;
  }

  .splide__pagination {
    margin-top: 3rem;
  }
}

@media print, screen and (min-width: 783px) {
  .admin-bar .site-header {
    top: 32px;
  }

  .admin-bar .drawer {
    top: 32px;
  }
}

@media print, screen and (min-width: 1440px) {
  html {
    font-size: 16px;
  }

  a[href^="tel:"] {
    text-decoration: inherit;
  }

  .home-company-area {
    margin-right: -80px;
    background-size: calc(1018px + 50vw - 720px);
  }

  .page-header {
    padding-inline: calc(50vw - 720px);
    background-position: top 0 right calc(50vw - 720px);
  }

  .purpose-mission-area__content {
    padding-right: calc(5rem + 50vw - 720px);
  }

  .purpose-value-area:before {
    left: calc(50% - 50vw);
  }

  .interview-block {
    background-size: 1440px auto;
  }

  .company-office-area {
    padding-right: calc(50vw - 720px);
  }
}

@media screen and (min-width: 1440px) and (min-resolution: 2dppx) {
  .page-header {
    background-image: url(images/bg_header@2x.webp);
  }

  .page-header--topics {
    background-image: url(images/bg_header_topics@2x.webp);
  }

  .page-header--company {
    background-image: url(images/bg_header_company@2x.webp);
  }

  .page-header--history {
    background-image: url(images/bg_header_history@2x.webp);
  }

  .page-header--videos {
    background-image: url(images/bg_header_videos@2x.webp);
  }

  .page-header--partner {
    background-image: url(images/bg_header_partner@2x.webp);
  }

  .page-header--contact {
    background-image: url(images/bg_header_contact@2x.webp);
  }

  .page-header--recruit {
    background-image: url(images/bg_header_recruit@2x.webp);
  }

  .page-header--guideline {
    background-image: url(images/bg_header_guideline@2x.webp);
  }

  .page-header--working-conditions {
    background-image: url(images/bg_header_working-conditions@2x.webp);
  }

  .page-header--finance {
    background-image: url(images/bg_header_finance@2x.webp);
  }

  .page-header--ntt {
    background-image: url(images/bg_header_ntt@2x.webp);
  }

  .page-header--infrastructure {
    background-image: url(images/bg_header_infrastructure@2x.webp);
  }

  .page-header--electronic-public-notice {
    background-image: url(images/bg_header_electronic-public-notice@2x.webp);
  }

  .page-header--office {
    background-image: url(images/bg_header_office@2x.webp);
  }

  .page-header--sustainability {
    background-image: url(images/bg_header_sustainability@2x.webp);
  }

  .page-header--sitemap {
    background-image: url(images/bg_header_sitemap@2x.webp);
  }
}

@media print and (min-resolution: 2dppx), screen and (min-width: 1440px) and (min-resolution: 2dppx) {
  .purpose-movie-area {
    background-image: url(images/bg_concept_movie@2x.webp);
  }

  .purpose-voice-area__header:before {
    background-image: url(images/bg_purpose_voice@2x.webp);
  }

  .interview-block {
    background-image: url(images/bg_purpose_interview@2x.webp);
  }
}

@media print, screen and (min-width: 1441px) {
  .home-company-area__image {
    border-radius: 0.625em;
  }
}

@media screen and (max-width: 782px) {
  .home.admin-bar .site-header {
    top: 46px;
  }
}

@media screen and (max-width: 767px) {
  .tagline .break {
    display: none;
  }

  .break-sp:before {
    white-space: pre;
    content: "\a";
  }

  .global-nav__sub {
    padding: 0 1em;
  }

  .global-nav__sub .global-nav__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1.875em;
    margin: 0.625em 0 0;
  }

  .global-nav__sub .global-nav__item {
    border: 0;
  }

  .global-nav__sub .global-nav__link {
    padding: 0;
    font-weight: 400;
    font-size: 0.9375em;
  }

  .global-nav__sub .global-nav__link:before {
    margin-right: 0.57143em;
    font: 400 0.9334em/1 icomoon;
    content: "\e900";
  }

  .global-nav__sub .global-nav__link:after {
    content: "";
  }

  .purpose-area__text .break {
    display: none;
  }

  .purpose-vision-area__text .break {
    display: none;
  }

  .interview-wrap--head .interview-tagline {
    display: flex;
  }

  .cms {
    display: block;
    width: auto;
    border-top: 1px solid #999;
  }

  .cms > caption,
  .cms > tbody,
  .cms tr,
  .cms th,
  .cms td {
    display: inherit;
    width: 100%;
  }

  .cms th {
    border-color: #ccc;
  }

  .cms td {
    padding-block: 1.5em;
  }

  .company-profile {
    display: block;
    width: auto;
    border-top: 2px solid #abb8c3;
  }

  .company-profile > caption,
  .company-profile > tbody,
  .company-profile tr,
  .company-profile th,
  .company-profile td {
    display: inherit;
    width: 100%;
  }

  .company-profile th {
    border-style: dashed;
    border-bottom-width: 1px;
  }

  .company-profile td {
    border-bottom-width: 2px;
  }

  .wpcf7-text {
    width: 100%;
  }
}

@media screen and (max-width: 600px) {
  .admin-bar .drawer {
    padding-top: 106px;
  }
}

@media print {
  body {
    min-width: 1440px;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  figcaption {
    page-break-after: avoid;
    page-break-inside: avoid;
  }

  blockquote,
  figure,
  table {
    page-break-inside: avoid;
  }
}