@charset "UTF-8";

:root {
  --font-size-base: 62.5%;
  --font-size-body: 1.6rem;
}

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

html {
  font-size: var(--font-size-base, 62.5%);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-tap-highlight-color: transparent;
  -webkit-text-size-adjust: 100%;
  scroll-behavior: smooth;
}

html.is-medium {
  --font-size-base: 62.5%;
}

html.is-large {
  --font-size-base: 68.75%;
}

html.is-extra-large {
  --font-size-base: 75%;
}

body {
  min-height: 100vh;
  padding: 0;
  overflow-x: hidden;
  scrollbar-gutter: stable;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: normal;
  color: #333;
  overflow-wrap: break-word;
  background-color: #fff;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1em;
  font-weight: 400;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  padding: 0;
  margin: 0;
  border: 0;
}

a {
  display: inline-block;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  background-color: transparent;
}

img,
video,
iframe,
object {
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border: none;
}

code,
kbd,
pre,
samp {
  font-family: monospace, sans-serif;
  font-size: inherit;
}

ul,
ol {
  list-style: none;
}

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

th,
td {
  vertical-align: top;
  text-align: left;
  border: 2px solid #fff;
}

address {
  font-style: inherit;
}

b,
strong {
  font-weight: 600;
}

[type="text"],
[type="search"],
[type="tel"],
[type="url"],
[type="email"],
[type="password"],
textarea {
  width: 100%;
  margin: 0;
  font-family: inherit;
  font-weight: inherit;
  color: #333;
  outline: none;
  border-radius: 0;
}

button,
[type="button"],
[type="submit"],
[type="reset"] {
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  -webkit-appearance: none;
          appearance: none;
  cursor: pointer;
  background-color: transparent;
  border: none;
  border-radius: 0;
}

.l-content.l-content--top {
  padding: 0;
}

.l-content.l-content--news {
  padding-top: 0;
}

.l-content.l-content--meals {
  padding-top: 0;
}

.l-content.l-content--pb0 {
  padding-bottom: 0;
}

.l-content__row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.l-inner {
  width: calc(100% - 4% * 2);
  max-width: 1100px;
  height: inherit;
  padding: 0;
  margin-right: auto;
  margin-left: auto;
}

.l-inner.l-inner--header {
  width: 100%;
  max-width: 1366px;
}

.l-header {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  left: 0;
  z-index: 20;
  width: 100%;
  background-color: #fff;
}

.l-header.l-header--top {
  position: fixed;
  background-color: rgb(2 83 54 / 60%);
  transition: background-color 0.3s ease-out;
}

.l-header.l-header--top-scroll {
  background-color: #fff;
}

.l-header__row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: inherit;
  margin-right: 4%;
}

.l-header__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  height: inherit;
}

.l-header--top .l-header__logo {
  background-color: #fff;
}

.l-header__logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease-out;
}

.l-header__controls {
  display: flex;
  flex-direction: column;
}

.l-header__sub {
  display: flex;
  column-gap: 30px;
  align-items: center;
  justify-content: flex-end;
}

.l-header__font-size {
  display: flex;
  column-gap: 10px;
  align-items: center;
  font-size: 1.4rem;
  color: #808080;
}

.l-header--top .l-header__font-size {
  position: relative;
}

.l-header--top .l-header__font-size::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 115%;
  height: 110%;
  padding: 2px 8px;
  content: "";
  background-color: #fff;
  border-radius: 2px;
  transform: translate(-50%, -50%);
}

.l-header__select {
  display: flex;
  column-gap: 6px;
  align-items: center;
  font-size: 1.4rem;
  color: #808080;
}

.l-header--top .l-header__select {
  position: relative;
}

.l-header--top .l-header__select::before {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: -1;
  width: 120%;
  height: 110%;
  padding: 2px 8px;
  content: "";
  background-color: #fff;
  border-radius: 2px;
  transform: translate(-50%, -50%);
}

.l-header__select a,
.l-header__select button {
  color: #808080;
  transition: color 0.3s ease-out;
}

.l-header__select a.is-active,
.l-header__select button.is-active {
  font-weight: 600;
  color: #025336;
}

.l-header__links {
  display: flex;
  column-gap: 27px;
  align-items: center;
}

.l-header__links li:not(:first-of-type) {
  position: relative;
}

.l-header__links li:not(:first-of-type)::before {
  position: absolute;
  top: 50%;
  left: -13px;
  width: 1px;
  height: 17px;
  content: "";
  background-color: #b3b3b3;
  transform: translateY(-50%);
}

.l-header__links a {
  transition: color 0.3s ease-out, opacity 0.3s ease-out;
}

.l-header--top .l-header__links a {
  color: #fff;
}

.l-header--top-scroll .l-header__links a {
  color: #333;
}

.l-header__nav {
  margin-top: 30px;
}

.l-header__list > li {
  line-height: 1;
}

.l-header__item > a {
  position: relative;
  padding-bottom: 28px;
  font-weight: 600;
  transition: color 0.3s ease-out;
}

.l-header__item > a::after {
  position: absolute;
  bottom: 14px;
  left: 0;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #025336;
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.l-header--top .l-header__item > a {
  color: #fff;
}

.l-header--top-scroll .l-header__item > a {
  color: #333;
}

.l-header__sub-item {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 21;
  visibility: hidden;
  width: 100%;
  background-color: #f6f6f6;
  opacity: 0;
  transition: visibility 0.3s ease-out, opacity 0.3s ease-out;
}

.l-header__sub-item__row {
  display: flex;
  column-gap: 16px;
  align-items: center;
  width: 1250px;
  max-width: 96%;
  padding: 48px 0;
  margin: 0 auto;
}

.l-header__sub-item__title {
  flex-shrink: 0;
  width: 170px;
  font-size: 2rem;
  font-weight: 600;
  color: #025336;
}

.l-header__sub-item__list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 23px;
  padding: 18px 0 18px 60px;
  border-left: 1px solid #025336;
}

.l-header__sub-menu {
  position: relative;
}

.l-header__sub-menu__image {
  position: relative;
  overflow: hidden;
}

.l-header__sub-menu__image::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(0 0 0 / 20%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.l-header__sub-menu__image img {
  transition: transform 0.3s ease-out;
}

.l-header__sub-menu__text {
  position: absolute;
  bottom: 0;
  left: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-weight: 600;
  color: #fff;
  background-color: rgb(2 83 54 / 75%);
  transform: translateX(-50%);
}

.l-header__search #___gcse_0 {
  display: none !important;
}

.l-header__search form {
  display: flex;
  align-items: center;
}

.l-header__search input[type="text"] {
  width: 150px;
  height: 32px;
  padding: 0 8px;
  border: none;
  border-top: 2px solid #e7e7e7;
  border-left: 2px solid #e7e7e7;
}

.l-header__search input[type="submit"] {
  width: 40px;
  height: 32px;
  text-indent: -9999em;
  background: #f3f3f3 url(/gsdf/assets/images/common/icon_search.png) no-repeat center center/15px auto;
  border-top: 2px solid #e7e7e7;
}

.l-footer {
  position: -webkit-sticky;
  position: sticky;
  top: 100vh;
}

.l-footer__toggle {
  width: 100%;
  padding: 32px 0;
  background-color: #f2f2f2;
  transition: opacity 0.3s ease-out;
}

.l-footer__title {
  display: flex;
  column-gap: 8px;
  align-items: baseline;
  font-size: 18px;
  font-weight: 600;
  color: #555;
}

.l-footer__title::before {
  position: relative;
  top: -2px;
  width: 12px;
  height: 8px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_arrow01.svg) no-repeat center center/contain;
  transform: rotate(0);
  transition: transform 0.3s ease-out;
}

.is-active .l-footer__title::before {
  transform: rotate(180deg);
}

.l-footer__sitemap {
  visibility: hidden;
  max-height: 0;
  padding: 0;
  overflow: hidden;
  background-color: #f2f2f2;
  opacity: 0;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.l-footer__sitemap.is-open {
  visibility: visible;
  max-height: 9999vh;
  padding-bottom: 32px;
  opacity: 1;
}

.l-footer__list {
  display: flex;
  flex-wrap: wrap;
  padding: 32px 0;
  background: url(/gsdf/assets/images/common/sitemap_bg.png) no-repeat right center/auto;
  border-top: 1px solid #555;
}

.l-footer__item > a {
  display: inline-flex;
  column-gap: 8px;
  align-items: baseline;
  font-size: 18px;
  font-weight: 600;
  color: #555;
  transition: opacity 0.3s ease-out;
}

.l-footer__item > a::before {
  position: relative;
  top: -2px;
  width: 12px;
  height: 8px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_arrow01.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.l-footer__item > a.is-active::before {
  transform: rotate(180deg);
}

.l-footer__sub-list {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  margin-top: 12px;
  margin-left: 20px;
}

.l-footer__sub-list a {
  font-weight: 400;
  color: #555;
  transition: opacity 0.3s ease-out;
}

.l-footer__sub-list.l-footer__sub-list--right {
  margin-top: 0;
}

.l-footer__sub-list.l-footer__sub-list--right a {
  display: inline-flex;
  column-gap: 8px;
  align-items: baseline;
  font-size: 18px;
  font-weight: 600;
}

.l-footer__sub-list.l-footer__sub-list--right a::before {
  position: relative;
  top: -2px;
  width: 12px;
  height: 8px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_arrow01.svg) no-repeat center center/contain;
  transform: rotate(270deg);
}

.l-footer__content {
  background-color: #fff;
}

.l-footer__row {
  display: flex;
  flex-direction: column;
  gap: 48px 24px;
  justify-content: space-between;
}

.l-footer__nav {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}

.l-footer__nav ul {
  display: flex;
  flex-wrap: wrap;
}

.l-footer__nav a {
  font-weight: 400;
  color: #555;
  transition: opacity 0.3s ease-out;
}

.l-footer__internal {
  gap: 16px 36px;
}

.l-footer__internal li {
  position: relative;
}

.l-footer__internal li::after {
  position: absolute;
  top: 50%;
  right: -18px;
  width: 1px;
  height: 25px;
  content: "";
  background-color: #555;
  transform: translateY(-50%);
}

.l-footer__external {
  gap: 16px 24px;
}

.l-footer__copy {
  flex-shrink: 0;
  text-align: right;
}

.l-footer__copy small {
  font-size: 13px;
  color: #555;
}

.l-breadcrumb {
  padding: 12px 0;
  background-color: #f2f2f2;
}

.l-breadcrumb__list {
  display: flex;
  column-gap: 8px;
  align-items: center;
  overflow-x: auto;
  white-space: nowrap;
}

.l-breadcrumb__item {
  display: flex;
  column-gap: 8px;
  align-items: center;
}

.l-breadcrumb__item span:first-of-type {
  font-size: 1.2rem;
}

.l-breadcrumb__item a {
  transition: opacity 0.3s ease-out;
}

.c-drawer {
  position: fixed;
  right: 4%;
  z-index: 40;
  transition: top 0.3s ease-out;
}

.c-drawer__icon {
  position: relative;
  top: 0;
  right: 0;
  z-index: 41;
  display: block;
  width: 32px;
  height: 32px;
}

.c-drawer__icon span, .c-drawer__icon::before, .c-drawer__icon::after {
  position: absolute;
  top: 50%;
  right: 3px;
  display: block;
  width: 25px;
  height: 2px;
  content: "";
  background-color: #025336;
  transition: transform 0.3s ease-out, width 0.3s ease-out, background-color 0.3s ease-out;
}

.l-header--top .c-drawer__icon span, .l-header--top .c-drawer__icon::before, .l-header--top .c-drawer__icon::after {
  background-color: #fff;
}

.l-header--top-scroll .c-drawer__icon span, .l-header--top-scroll .c-drawer__icon::before, .l-header--top-scroll .c-drawer__icon::after {
  background-color: #025336;
}

.c-drawer__icon span {
  transform: translateY(-50%);
}

.is-open .c-drawer__icon span {
  opacity: 0;
}

.c-drawer__icon::before {
  transform: translateY(calc(-50% - 8px));
}

.is-open .c-drawer__icon::before {
  transform: translate(1px, -50%) rotate(-45deg);
}

.c-drawer__icon::after {
  transform: translateY(calc(-50% + 8px));
}

.is-open .c-drawer__icon::after {
  transform: translate(1px, -50%) rotate(45deg);
}

.c-drawer__content {
  position: fixed;
  right: 0;
  bottom: auto;
  left: 0;
  z-index: 40;
  visibility: hidden;
  width: 100%;
  max-width: 100%;
  height: 100%;
  padding: 24px 32px;
  overflow: auto;
  color: #333;
  background-color: #fff;
  opacity: 0;
  transform: translateX(0);
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.c-drawer__content::-webkit-scrollbar {
  display: none;
}

.is-open .c-drawer__content {
  visibility: visible;
  opacity: 1;
}

.c-drawer__item {
  position: relative;
  border-bottom: 1px solid #ddd;
}

.c-drawer__item > a {
  width: 100%;
  padding: 16px 32px 16px 0;
  font-size: 1.6rem;
  font-weight: 600;
  transition: opacity 0.3s ease-out;
}

.c-drawer__item > a:not(:has(+ .c-drawer__toggle))::before, .c-drawer__item > a:not(:has(+ .c-drawer__toggle))::after {
  position: absolute;
  top: 50%;
  right: 17px;
  width: 8px;
  height: 2px;
  content: "";
  background-color: #025336;
  transform: translateY(-50%);
  transition: opacity 0.3s ease-out;
}

.c-drawer__item > a:not(:has(+ .c-drawer__toggle))::before {
  transform: translateY(calc(-50% - 2px)) rotate(45deg);
}

.c-drawer__item > a:not(:has(+ .c-drawer__toggle))::after {
  transform: translateY(calc(-50% + 2px)) rotate(-45deg);
}

.c-drawer__toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 45px;
  height: 60px;
  content: "";
}

.c-drawer__toggle::before, .c-drawer__toggle::after {
  position: absolute;
  top: 50%;
  left: 50%;
  content: "";
  background-color: #025336;
  transform: translate(-50%, -50%);
}

.c-drawer__toggle::before {
  right: 0;
  width: 12px;
  height: 2px;
}

.c-drawer__toggle::after {
  right: 5px;
  width: 2px;
  height: 12px;
  transition: opacity 0.3s ease-out;
}

.c-drawer__toggle.is-active::after {
  opacity: 0;
}

.c-drawer__sub-list {
  display: flex;
  visibility: hidden;
  flex-direction: column;
  row-gap: 24px;
  max-height: 0;
  padding: 0;
  opacity: 0;
  transition: max-height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out, padding-bottom 0.3s ease-out;
}

.c-drawer__sub-list.is-open {
  visibility: visible;
  max-height: 100vh;
  padding-bottom: 16px;
  opacity: 1;
}

.c-drawer__sub-item a {
  position: relative;
  display: flex;
  column-gap: 8px;
  align-items: center;
  padding-left: 12px;
  font-size: 1.6rem;
  font-weight: 600;
  transition: opacity 0.3s ease-out;
}

.c-drawer__sub-item a::before {
  display: inline-block;
  content: "-";
}

.c-drawer__font-size,
.c-drawer__select {
  justify-content: center;
  margin-top: 16px;
}

.c-drawer__search {
  margin-top: 16px;
}

.c-drawer__search form {
  justify-content: center;
}

.c-scroll-top {
  position: fixed;
  right: 10px;
  bottom: 20px;
  z-index: 19;
  display: flex;
  visibility: hidden;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  color: #fff;
  background-color: #025336;
  border: 1px solid #fff;
  opacity: 0;
  transition: opacity 0.3s ease-out, visibility 0.3s ease-out;
}

.c-scroll-top svg {
  transition: transform 0.3s ease-out;
}

.c-scroll-top.is-visible {
  visibility: visible;
  opacity: 1;
}

.c-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 275px;
  max-width: 100%;
  height: 60px;
  font-weight: 600;
  color: #025336;
  background-color: #fff;
  border: 1px solid #025336;
  border-radius: 2px;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.c-button span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 214px;
  max-width: 100%;
  padding-left: 5px;
  font-size: 2rem;
  line-height: 1.28;
}

.c-button.c-button--primary svg {
  position: absolute;
  top: 50%;
  right: 29px;
  transform: translateY(-50%);
  transition: transform 0.3s ease-out;
}

.c-button.c-button--small span {
  font-size: 1.5rem;
}

.c-button.c-button--news span {
  width: 114px;
  padding-left: 0;
  font-size: 1.5rem;
}

.c-button.c-button--pco {
  width: 197px;
}

.c-button.c-button--pco span {
  width: 140px;
  padding-left: 0;
  font-size: 1.9rem;
}

.c-button.c-button--pco svg {
  right: 22px;
}

.c-button.c-button--guide {
  width: 225px;
  color: #fff;
  background-color: #025336;
  border-radius: 3px;
}

.c-button.c-button--guide span {
  width: 182px;
  padding-left: 0;
  font-size: 1.2rem;
}

.c-button.c-button--guide svg {
  right: 20px;
}

.c-button.c-button--event {
  width: 345px;
}

.c-button.c-button--event span {
  width: 270px;
  padding-left: 0;
  font-size: 1.5rem;
}

.c-button.c-button--enqu {
  width: 545px;
}

.c-button.c-button--enqu span {
  width: 445px;
  padding-left: 24px;
}

.c-button.c-button--meals {
  width: 224px;
}

.c-button.c-button--meals span {
  width: 168px;
}

.c-button.c-button--meals svg {
  right: 22px;
}

.c-button.c-button--contact {
  width: 198px;
}

.c-button.c-button--contact span {
  width: 135px;
}

.c-button.c-button--contact svg {
  right: 22px;
}

.c-button.c-button--link {
  width: 336px;
}

.c-button.c-button--link span {
  width: -webkit-fit-content;
  width: fit-content;
  padding-left: 24px;
}

.c-button.c-button--link svg {
  right: 32px;
}

.c-button.c-button--link-small {
  width: 207px;
}

.c-button.c-button--link-small span {
  width: -webkit-fit-content;
  width: fit-content;
  padding-left: 24px;
}

.c-button.c-button--link-small svg {
  right: 26px;
}

.c-button.c-button--back span {
  padding-left: 0;
  margin-left: auto;
}

.c-button.c-button--back svg {
  right: auto;
  left: 29px;
  transform: translateY(-50%) rotateY(180deg);
}

.c-button-fill {
  display: inline-flex;
  column-gap: 8px;
  align-items: center;
  justify-content: center;
  width: 224px;
  max-width: 100%;
  height: 60px;
  font-size: 1.5rem;
  font-weight: 600;
  color: #fff;
  background-color: #025336;
  border: 1px solid #025336;
  border-radius: 2px;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.c-button-fill.c-button-fill--small {
  font-size: 1.2rem;
}

.c-button-fill.c-button-fill--icon::after {
  content: "";
  background: no-repeat center center/contain;
  transition: background-image 0.3s ease-out, transform 0.3s ease-out;
}

.c-button-fill.c-button-fill--zoom {
  justify-content: space-between;
  padding: 0 16px;
  text-align: left;
}

.c-button-fill.c-button-fill--zoom::after {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  background-image: url(/gsdf/assets/images/common/icon_zoom--white.svg);
}

.c-button-fill.c-button-fill--station {
  column-gap: 16px;
  width: 212px;
  font-size: 2rem;
}

.c-button-fill.c-button-fill--station::after {
  width: 22px;
  height: 22px;
  background-image: url(/gsdf/assets/images/common/icon_external02--white.svg);
}

.c-button-fill.c-button-fill--external::after {
  width: 16px;
  height: 16px;
  background-image: url(/gsdf/assets/images/common/icon_external02--white.svg);
}

.c-button-fill.c-button-fill--download {
  width: 188px;
}

.c-button-fill.c-button-fill--download::after {
  width: 16px;
  height: 18px;
  background-image: url(/gsdf/assets/images/common/icon_download--white.svg);
}

.c-button-fill.c-button-fill--download.c-button-fill--download-large {
  width: 255px;
}

.c-button-fill.c-button-fill--pdf::after {
  width: 13px;
  height: 17px;
  background-image: url(/gsdf/assets/images/common/icon_pdf--white.svg);
}

.c-button-fill.c-button-fill--equipment, .c-button-fill.c-button-fill--meals {
  width: 280px;
}

.c-button-fill.c-button-fill--sound {
  width: 157px;
}

.c-button-fill.c-button-fill--sound::after {
  width: 21px;
  height: 18px;
  background-image: url(/gsdf/assets/images/common/icon_sound--white.svg);
}

.c-button-fill.c-button-fill--pamphlet {
  width: 157px;
}

.c-button-fill.c-button-fill--pamphlet::after {
  width: 13px;
  height: 17px;
  background-image: url(/gsdf/assets/images/common/icon_pdf--white.svg);
}

.c-heading {
  font-weight: 600;
  line-height: 1.5;
}

.c-heading.c-heading--line {
  position: relative;
  color: #025336;
}

.c-heading.c-heading--line::before, .c-heading.c-heading--line::after {
  position: absolute;
  left: 0;
  content: "";
}

.c-heading.c-heading--line::before {
  bottom: 0;
  z-index: 1;
  width: 100%;
  border-bottom: 1px solid #4d4d4d;
}

.c-heading.c-heading--line::after {
  bottom: -1px;
  z-index: 2;
  width: 108px;
  border-bottom: 3px solid #025336;
}

.c-heading.c-heading--center-white {
  position: relative;
  color: #fff;
  text-align: center;
}

.c-heading.c-heading--center-white::after {
  position: absolute;
  top: 100%;
  left: 0;
  left: 50%;
  width: 71px;
  height: 2px;
  content: "";
  background-color: #fff;
  transform: translateX(-50%);
}

.c-heading.c-heading--primary {
  color: #025336;
}

.c-heading.c-heading--red span {
  color: #d4010e;
}

.c-heading-fill {
  display: flex;
  align-items: center;
  max-width: 100%;
  font-weight: 600;
  line-height: 1.2;
  color: #fff;
  background-color: #025336;
  -webkit-clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
}

.c-heading-fill.c-heading-fill--auto {
  width: -webkit-fit-content;
  width: fit-content;
}

.c-heading-fill.c-heading-fill--small {
  width: 275px;
}

.c-heading-fill.c-heading-fill--large {
  width: 426px;
}

.c-heading-top {
  position: relative;
  font-weight: 600;
  line-height: 1.34;
}

.c-heading-top::after {
  position: absolute;
  top: 100%;
  left: 0;
  width: 104px;
  height: 2px;
  content: "";
}

.c-heading-top.c-heading-top--about {
  color: #025336;
}

.c-heading-top.c-heading-top--about::after {
  background-color: #025336;
}

.c-heading-top.c-heading-top--deployment {
  color: #025336;
}

.c-heading-top.c-heading-top--deployment::after {
  background-color: #025336;
}

.c-heading-top.c-heading-top--equipment {
  color: #fff;
  text-align: center;
}

.c-heading-top.c-heading-top--equipment::after {
  left: 50%;
  background-color: #fff;
  transform: translateX(-50%);
}

.c-text {
  font-weight: 400;
  line-height: 1.68;
}

.c-text.c-text--bold {
  font-weight: 600;
  line-height: 1.6;
}

.c-text.c-text--primary {
  color: #025336;
}

.c-text.c-text--red small {
  margin-left: 1em;
  font-size: inherit;
  font-weight: inherit;
  color: #d4010e;
}

.c-text.c-text--indent {
  text-indent: 1em;
}

.c-link-text {
  display: inline;
  font-weight: 600;
  line-height: 1.68;
  color: #025336;
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
}

.c-link-text.c-link-text--icon {
  display: inline-flex;
  column-gap: 6px;
  align-items: center;
  padding-right: 4px;
}

.c-link-text.c-link-text--icon::after {
  position: relative;
  top: 2px;
  content: "";
  background: no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.c-link-text.c-link-text--pdf::after {
  width: 15px;
  height: 20px;
  background-image: url(/gsdf/assets/images/common/icon_pdf--primary.svg);
}

.c-link-text.c-link-text--external::after {
  width: 15px;
  height: 15px;
  background-image: url(/gsdf/assets/images/common/icon_external02--primary.svg);
}

.c-list {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
  padding-left: 1.5em;
}

.c-list.c-list--ul {
  list-style-type: disc;
}

.c-list.c-list--ol {
  list-style-type: decimal;
}

.c-list p {
  margin-top: 8px;
}

.c-external {
  display: inline-flex;
  column-gap: 6px;
  align-items: center;
  transition: opacity 0.3s ease-out;
}

.c-external::after {
  width: 16px;
  height: 16px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_external01.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.c-external.c-external--pdf::after {
  width: 15px;
  height: 15px;
  background-image: url(/gsdf/assets/images/common/icon_pdf--gray.svg);
}

.c-external.c-external--map::after {
  width: 12px;
  height: 12px;
  background-image: url(/gsdf/assets/images/common/icon_external02--primary.svg);
  transition: transform 0.3s ease-out;
}

.c-image-card {
  position: relative;
  display: block;
}

.c-image-card.c-image-card--nav .c-image-card__image::before {
  min-height: 48px;
}

.c-image-card.c-image-card--nav .c-image-card__text {
  align-items: center;
  min-height: 48px;
}

.c-image-card.c-image-card--nav .c-image-card__text p {
  padding-left: 13px;
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.28;
}

.c-image-card.c-image-card--news {
  width: 308px;
}

.c-image-card.c-image-card--news .c-image-card__image::before {
  right: 0;
  left: auto;
  width: 136px;
  height: 100%;
}

.c-image-card.c-image-card--news .c-image-card__text {
  right: 0;
  left: auto;
  align-items: center;
  justify-content: center;
  width: 136px;
  height: 100%;
  transform: none;
}

.c-image-card.c-image-card--news .c-image-card__text p {
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.28;
  text-align: center;
}

.c-image-card.c-image-card--equipment p {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  background: url(/gsdf/assets/images/top/equipment_dec01.svg) no-repeat center center/cover;
}

.c-image-card.c-image-card--equipment p::after {
  width: 22px;
  height: 3px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_arrow04.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.c-image-card.c-image-card--equipment-small p {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  font-size: 1.2rem;
  font-weight: 600;
  color: #fff;
  background: url(/gsdf/assets/images/top/equipment_dec01.svg) no-repeat center center/cover;
}

.c-image-card.c-image-card--equipment-small p::after {
  width: 22px;
  height: 3px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_arrow04.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.c-image-card.c-image-card--large .c-image-card__image::before {
  min-height: 114px;
}

.c-image-card.c-image-card--large .c-image-card__text {
  flex-direction: column;
  row-gap: 10px;
  justify-content: center;
  min-height: 114px;
  padding: 0 65px 0 24px;
}

.c-image-card.c-image-card--large .c-image-card__text h2 {
  font-size: 1.8rem;
  font-weight: 600;
}

.c-image-card.c-image-card--large .c-image-card__text p {
  font-size: 1.3rem;
}

.c-image-card.c-image-card--large .c-image-card__text::after {
  right: 30px;
  width: 28px;
  height: 4px;
  background-image: url(/gsdf/assets/images/common/icon_arrow02.svg);
}

.c-image-card.c-image-card--recruit .c-image-card__text {
  flex-direction: column;
  justify-content: center;
  font-weight: 600;
}

.c-image-card.c-image-card--recruit .c-image-card__text h3 {
  font-weight: 600;
}

.c-image-card.c-image-card--recruit .c-image-card__text p {
  font-weight: 600;
}

.c-image-card.c-image-card--recruit.c-image-card--recruit-small .c-image-card__text::after {
  right: 24px;
  width: 30px;
}

.c-image-card.c-image-card--about .c-image-card__text {
  align-items: flex-start;
}

.c-image-card.c-image-card--about .c-image-card__text p {
  width: 100%;
  font-weight: 600;
  line-height: 1.28;
  text-align: center;
}

.c-image-card.c-image-card--about .c-image-card__text::after {
  top: auto;
  left: 50%;
  width: 22px;
  height: 3px;
  background-image: url(/gsdf/assets/images/common/icon_arrow04.svg);
  transform: translateX(-50%);
}

.c-image-card__image {
  position: relative;
  overflow: hidden;
}

.c-image-card__image::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  content: "";
  background-color: rgb(2 83 54 / 75%);
  mix-blend-mode: multiply;
}

.c-image-card__image::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(0 0 0 / 20%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.c-image-card__image img {
  transition: transform 0.3s ease-out;
}

.c-image-card__text {
  position: absolute;
  bottom: 0;
  left: 50%;
  z-index: 4;
  display: flex;
  width: 100%;
  color: #fff;
  transform: translateX(-50%);
}

.c-image-card__text::after {
  position: absolute;
  top: 50%;
  content: "";
  background: no-repeat center center/contain;
  transform: translateY(-50%);
  transition: transform 0.3s ease-out;
}

.c-anchor {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.c-anchor.c-anchor--medium {
  gap: 24px 26px;
}

.c-anchor.c-anchor--large {
  gap: 24px 50px;
}

.c-anchor.c-anchor--two {
  width: 730px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.c-anchor__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-weight: 600;
  color: #fff;
  background-color: #025336;
  border: 1px solid #025336;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.c-anchor__link::after {
  position: absolute;
  top: 50%;
  content: "";
  background: url(/gsdf/assets/images/common/icon_anchor--white.svg) no-repeat center center/contain;
  transform: translateY(-50%);
  transition: background-image 0.3s ease-out, transform 0.3s ease-out;
}

.c-anchor__link svg {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.c-anchor--medium .c-anchor__link {
  width: 348px;
  height: 72px;
  padding-left: 42px;
  font-size: 1.6rem;
}

.c-figure-wrap {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 312px), 1fr));
  gap: 24px;
  justify-content: center;
  width: 984px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.c-figure-wrap.c-figure-wrap--max {
  width: 100%;
}

.c-figure img {
  width: 100%;
}

.c-figure figcaption {
  position: relative;
  margin-top: 4px;
}

.c-figure__category {
  position: absolute;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 23px;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1;
  border: 1px solid;
  border-radius: 2px;
}

.c-figure__category.c-figure__category--earthquake {
  color: #d3000e;
  border-color: #d3000e;
}

.c-figure__category.c-figure__category--rain {
  color: #0000d3;
  border-color: #0000d3;
}

.c-figure__category.c-figure__category--other {
  color: #025336;
  border-color: #025336;
}

.c-iframe-flex {
  display: flex;
  column-gap: 34px;
  justify-content: center;
}

.c-iframe {
  text-align: center;
}

.c-iframe iframe {
  aspect-ratio: 16/9;
}

.c-iframe__item {
  font-weight: 600;
  text-align: center;
}

.c-content-box-grid {
  display: grid;
}

.c-content-box-three {
  display: grid;
  gap: 24px;
  justify-content: center;
}

.c-content-box-three .c-content-box {
  display: flex;
  flex-direction: column;
}

.c-content-box-three .c-content-box > p {
  margin-top: 0;
}

.c-content-box-three .c-content-box > div {
  margin-top: auto;
}

.c-content-box-three.c-content-box-three--army .c-content-box span {
  font-size: 12px;
  font-weight: 400;
}

.c-content-box-three.c-content-box-three--army .c-content-box a {
  transition: opacity 0.3s ease-out;
}

.c-content-box-three.c-content-box-three--army .c-content-box p {
  font-weight: 600;
  line-height: 1.45;
}

.c-content-box {
  background-color: #f2f2f2;
}

.c-content-box > :first-child {
  margin-top: 0;
}

.c-content-box > p {
  margin-top: 24px;
}

.c-content-box__row {
  display: flex;
  column-gap: 30px;
}

.c-content-box__text p {
  margin-top: 24px;
}

.c-content-box__title {
  font-weight: 600;
  color: #025336;
}

.c-content-box__image.c-content-box__image--max {
  width: 100%;
}

.c-content-box__image-row {
  display: flex;
  align-items: center;
  justify-content: center;
}

.c-content-box__sns {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 34px;
  justify-content: center;
  margin-top: 30px;
}

.c-content-box__sns__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 35px 30px;
  text-align: center;
  background-color: #fff;
  transition: opacity 0.3s ease-out;
}

.c-content-box__sns__link p {
  margin-top: 16px;
  font-size: 1.45rem;
}

.c-content-box__sns__link img:nth-of-type(2) {
  margin-top: 24px;
}

.c-content-box__button {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(224px, 224px));
  gap: 16px;
  justify-content: center;
}

.c-border-box {
  border: 1px solid #025336;
}

.c-border-box__title {
  font-weight: 600;
  color: #025336;
}

.c-border-box__list {
  margin-top: 24px;
  margin-left: 1.5em;
  list-style-type: disc;
}

.c-border-box__list ul li {
  position: relative;
  padding-left: 1em;
}

.c-border-box__list ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "-";
}

.c-category {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  font-size: 14px;
  font-weight: 400;
  color: #025336;
  background-color: #fff;
  border: 1px solid #025336;
  border-radius: 2px;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.c-category.is-active {
  color: #fff;
  background-color: #025336;
}

.c-news-card {
  width: 100%;
}

.c-news-card:not(.is-hidden) + .c-news-card:not(.is-hidden, .is-hidden) {
  border-top: 1px solid #ccc;
}

.c-news-card.is-first-visible {
  border-top: none !important;
}

.c-news-card.c-news-card--external .c-news-card__title::after {
  position: relative;
  top: 2px;
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_external02--primary.svg) no-repeat center center/cover;
}

.c-news-card.c-news-card--pdf .c-news-card__title::after {
  position: relative;
  top: 4px;
  display: inline-block;
  width: 15px;
  height: 20px;
  margin-left: 8px;
  content: "";
  background: url(/gsdf/assets/images/common/icon_pdf--primary.svg) no-repeat center center/cover;
}

.c-news-card.is-hidden {
  display: none;
}

.c-news-card__link {
  position: relative;
  display: block;
  display: flex;
  gap: 16px 20px;
  align-items: center;
  transition: background-color 0.3s ease-out;
}

.c-news-card__meta {
  display: flex;
  flex-shrink: 0;
  column-gap: 20px;
  align-items: center;
}

.c-news-card__time {
  flex-shrink: 0;
  font-size: 1.4rem;
  font-weight: 600;
}

.c-news-card__title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 3;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1.75;
  transition: color 0.3s ease-out;
  -webkit-box-orient: vertical;
}

.c-news-card__image {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
}

.c-news-card__image::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(0 0 0 / 20%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.c-news-card__image img {
  width: 100%;
  transition: transform 0.3s ease-out;
}

.c-news-card__text {
  display: flex;
  flex-direction: column;
  row-gap: 6px;
  align-items: flex-start;
}

.c-news-card__text h3 {
  font-weight: 600;
  color: #025336;
}

.c-news-card__text p {
  font-size: 1.4rem;
}

.c-news-article__time {
  font-size: 1.6rem;
  font-weight: 600;
}

.c-news-article__title {
  margin-top: 16px;
}

.c-link-card01 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(335px, 335px));
  gap: 38px 46px;
  justify-content: center;
}

.c-link-card02 {
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}

.c-link-card02__link {
  display: flex;
}

.c-link-card02__image {
  position: relative;
  overflow: hidden;
}

.c-link-card02__image::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(0 0 0 / 20%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.c-link-card02__image img {
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease-out;
}

.c-link-card02__text-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  background-color: rgb(2 83 54 / 8%);
  transition: background-color 0.3s ease-out;
}

.c-link-card02__text-wrap::after {
  flex-shrink: 0;
  width: 53px;
  height: 7px;
  margin-top: auto;
  margin-left: auto;
  content: "";
  background: url(/gsdf/assets/images/common/icon_arrow07.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.c-link-card02__text-wrap svg {
  flex-shrink: 0;
  margin-top: auto;
  transition: transform 0.3s ease-out;
}

.c-link-card02__text h2 {
  font-weight: 600;
  color: #025336;
}

.c-link-card03 {
  display: grid;
  gap: 24px;
}

.c-link-card03__link {
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid #025336;
  transition: background-color 0.3s ease-out;
}

.c-link-card03__link p {
  margin-top: 4px;
  transition: color 0.3s ease-out;
}

.c-link-card03__title {
  font-weight: 600;
  color: #025336;
  transition: color 0.3s ease-out;
}

.c-link-card04 {
  display: grid;
  gap: 24px;
  justify-content: center;
}

.c-link-card04 > li {
  margin: 0 auto;
}

.c-link-card04__link {
  position: relative;
  width: 100%;
  height: 100%;
  padding: 24px;
  border: 1px solid #025336;
  transition: opacity 0.3s ease-out;
}

.c-link-card04__link p:first-of-type {
  font-size: 2rem;
  font-weight: 600;
  color: #025336;
}

.c-link-card04__link p:nth-of-type(2) {
  font-size: 1.6rem;
}

.c-link-card04__link p:nth-of-type(3), .c-link-card04__link p:nth-of-type(4) {
  margin-top: 12px;
  font-size: 1.4rem;
}

.c-link-card04__image {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: flex-start;
  margin-top: 16px;
}

.c-swiper {
  position: relative;
}

.c-swiper .swiper-pagination {
  bottom: 0;
}

.c-swiper .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  background-color: transparent;
  border: 1px solid #025336;
}

.c-swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #025336;
}

.c-swiper .swiper-navigation-icon {
  display: none;
}

.c-one-page-row {
  display: flex;
  gap: 32px 16px;
  justify-content: space-between;
}

.c-one-page {
  display: flex;
  justify-content: center;
}

.c-one-page__text {
  display: flex;
  flex-direction: column;
  row-gap: 32px;
}

.c-one-page__heading {
  position: relative;
  display: flex;
  flex-shrink: 0;
  column-gap: 24px;
}

.c-one-page__heading::after {
  display: block;
  width: 2px;
  height: 142px;
  content: "";
  background-color: #025336;
  transform: rotate(42deg) translateY(-16px);
}

.c-one-page__heading h3 {
  font-weight: 600;
}

.c-one-page__button {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(224px, 224px));
  justify-content: center;
}

.c-one-page__button img {
  display: none;
}

.c-accordion {
  margin: 0 auto;
}

.c-accordion__question,
.c-accordion__answer {
  display: flex;
  align-items: baseline;
}

.c-accordion__question::before,
.c-accordion__answer::before {
  font-weight: 600;
  line-height: 0;
}

.c-accordion__question {
  position: relative;
  font-weight: 600;
  line-height: 1.4;
  color: #fff;
  cursor: pointer;
  background-color: #025336;
  transition: opacity 0.3s ease-out;
}

.c-accordion__question:not(:first-of-type) {
  margin-top: 24px;
}

.c-accordion__question::before {
  content: "Q.";
}

.c-accordion__question span::before, .c-accordion__question span::after {
  position: absolute;
  top: 50%;
  content: "";
  background-color: #fff;
  transform: translateY(-50%);
}

.c-accordion__question span::before {
  width: 17px;
  height: 3px;
}

.c-accordion__question span::after {
  width: 3px;
  height: 17px;
  transition: opacity 0.3s ease-out;
}

.c-accordion__question.is-accordion--active span::after {
  opacity: 0;
}

.c-accordion__answer {
  visibility: hidden;
  max-height: 0;
  padding: 0;
  overflow: hidden;
  background-color: rgb(2 83 54 / 6%);
  opacity: 0;
  transition: margin-bottom 0.3s ease-in-out, max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, visibility 0.3s ease-in-out, padding 0.3s ease-in-out;
}

.c-accordion__answer::before {
  position: relative;
  top: 0.1em;
  color: #025336;
  content: "A.";
}

.c-accordion__answer.is-accordion--open {
  visibility: visible;
  max-height: 100vh;
  margin-bottom: 40px;
  opacity: 1;
}

.c-accordion__content strong {
  font-weight: 600;
  color: #025336;
}

.c-accordion__content.c-accordion__content--row {
  display: flex;
  justify-content: space-between;
  width: 100%;
}

.c-accordion__content__row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 24px;
}

.c-table-wrap.c-table-wrap--scroll {
  overflow-x: auto;
}

.c-table-wrap.c-table-wrap--mt16 {
  margin-top: 16px;
}

.c-table-wrap.c-table-wrap--mt24 {
  margin-top: 24px;
}

.c-table {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 600;
}

.c-table-wrap--scroll .c-table {
  min-width: 1100px;
}

.c-table th,
.c-table td {
  padding: 16px;
  line-height: 1.25;
  vertical-align: middle;
  text-align: center;
  letter-spacing: 0.04em;
}

.c-table th {
  color: #fff;
  text-align: center;
  background-color: #999;
}

.c-table td {
  background-color: rgb(2 83 54 / 6%);
}

.c-table a {
  font-size: inherit;
  line-height: inherit;
}

.c-table.c-table--pco th {
  width: 92px;
  color: #333;
  background-color: rgb(2 83 54 / 10%);
}

.c-table.c-table--pco td {
  text-align: left;
}

.c-table.c-table--pco td:first-of-type {
  width: 325px;
}

.c-table.c-table--pco td:nth-of-type(2) {
  width: 120px;
}

.c-table.c-table--pco td:nth-of-type(3) {
  width: 164px;
}

.c-table.c-table--school th {
  color: #333;
  background-color: rgb(2 83 54 / 10%);
}

.c-table.c-table--school td {
  background-color: rgb(2 83 54 / 6%);
}

.c-table.c-table--school tr th:first-of-type,
.c-table.c-table--school tr td:first-of-type {
  width: 25%;
  text-align: left;
}

.c-table.c-table--school tr th:nth-child(2),
.c-table.c-table--school tr td:nth-child(2) {
  width: 15%;
  text-align: left;
}

.c-table.c-table--school tr th:nth-child(3),
.c-table.c-table--school tr td:nth-child(3) {
  width: 60%;
  text-align: left;
}

.c-table.c-table--social th {
  width: 205px;
}

.c-table.c-table--social td {
  vertical-align: top;
  text-align: left;
}

.c-table.c-table--procurement th:first-of-type,
.c-table.c-table--procurement td:first-of-type {
  width: 18%;
}

.c-table.c-table--procurement th:nth-of-type(2),
.c-table.c-table--procurement td:nth-of-type(2) {
  width: 8%;
}

.c-table.c-table--procurement th:nth-of-type(3),
.c-table.c-table--procurement td:nth-of-type(3) {
  width: 16%;
}

.c-table.c-table--procurement th:nth-of-type(4),
.c-table.c-table--procurement td:nth-of-type(4) {
  width: 17%;
}

.c-table.c-table--procurement th:nth-of-type(5),
.c-table.c-table--procurement td:nth-of-type(5) {
  width: 17%;
}

.c-table.c-table--procurement th:nth-of-type(6),
.c-table.c-table--procurement td:nth-of-type(6) {
  width: 24%;
}

.c-table__row {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  width: min(100%, 700px);
}

img.js-popup {
  cursor: zoom-in;
  transition: opacity 0.3s ease-out;
}

.c-modal {
  position: fixed;
  inset: 0;
  z-index: 100;
  display: flex;
  visibility: hidden;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  background-color: rgb(0 0 0 / 70%);
  opacity: 0;
  transition: visibility 0.3s ease-out, opacity 0.3s ease-out;
}

.c-modal.is-open {
  visibility: visible;
  opacity: 1;
}

.c-modal.c-modal--image .c-modal__image {
  width: auto;
  filter: drop-shadow(0 0 10px rgb(51 51 51 / 30%));
}

.c-modal.c-modal--equipment .c-modal__content {
  background-color: #fff;
}

.c-modal.c-modal--equipment .swiper-wrapper {
  width: 790px;
}

.c-modal.c-modal--meals .c-modal__content {
  width: 790px;
  background-color: #fff;
}

.c-modal.c-modal--meals .c-modal__title {
  margin-top: 0;
}

.c-modal.c-modal--meals .c-modal__sub-title {
  margin-top: 8px;
  font-weight: 600;
  text-align: center;
}

.c-modal.c-modal--meals .c-modal__image {
  margin-top: 36px;
  text-align: center;
}

.c-modal.c-modal--meals .c-modal__image img {
  width: auto;
}

.c-modal.c-modal--meals .c-modal__row {
  display: flex;
  gap: 16px 32px;
  margin-top: 36px;
}

.c-modal.c-modal--meals .c-modal__row p {
  font-size: 1.6rem;
  line-height: 1.625;
}

.c-modal.c-modal--meals .c-modal__row p:not(:has(img)) {
  width: 100%;
}

.c-modal.c-modal--meals .c-modal__recipe {
  padding: 24px;
  margin-top: 40px;
  background-color: #f2f2f2;
}

.c-modal.c-modal--meals .c-modal__recipe ol {
  margin-left: 1.25em;
  list-style-type: decimal;
}

.c-modal.c-modal--meals .c-modal__recipe p,
.c-modal.c-modal--meals .c-modal__recipe li {
  font-size: 1.6rem;
  line-height: 1.625;
}

.c-modal.c-modal--meals .c-modal__button {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 45px;
  justify-content: center;
}

.c-modal .swiper-button-prev svg,
.c-modal .swiper-button-next svg {
  display: none;
}

.c-modal .c-modal__image img {
  width: 100%;
}

.c-modal .c-modal__title {
  margin-top: 30px;
  font-weight: 600;
  line-height: 1.4;
  color: #025336;
  text-align: center;
}

.c-modal .c-modal__text {
  margin-top: 24px;
}

.c-modal .c-modal__list {
  width: 398px;
  max-width: 100%;
  padding: 20px 30px;
  margin: 32px auto 0;
  background-color: #f2f2f2;
}

.c-modal .c-modal__list-row {
  display: flex;
  padding: 12px;
  font-size: 1.6rem;
}

.c-modal .c-modal__list-row:not(:first-of-type) {
  border-top: 1px solid #025336;
}

.c-modal .c-modal__list-row dt {
  flex-shrink: 0;
}

.c-modal .c-modal__button {
  margin-top: 40px;
  text-align: center;
}

.c-modal__content {
  position: relative;
  max-width: 92%;
  max-height: 90vh;
  overflow-y: auto;
  cursor: auto;
}

.c-modal__close {
  position: absolute;
  z-index: 101;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease-out;
}

.c-map {
  display: flex;
  flex-direction: column;
}

.c-map__map-pc {
  position: relative;
}

.c-map__map-pc #division01,
.c-map__map-pc #division02,
.c-map__map-pc #division03,
.c-map__map-pc #division04,
.c-map__map-pc #division05,
.c-map__map-pc #division06,
.c-map__map-pc #division07,
.c-map__map-pc #division08,
.c-map__map-pc #division09,
.c-map__map-pc #division10,
.c-map__map-pc #division11,
.c-map__map-pc #division12,
.c-map__map-pc #division13,
.c-map__map-pc #division14,
.c-map__map-pc #division15 {
  cursor: pointer;
  transition: fill 0.3s ease-out;
}

.c-map__map-pc #division02.is-hover,
.c-map__map-pc #division05.is-hover,
.c-map__map-pc #division07.is-hover,
.c-map__map-pc #division11.is-hover {
  fill: #edff66;
}

.c-map__map-pc #division06.is-hover,
.c-map__map-pc #division09.is-hover {
  fill: #ded2ef;
}

.c-map__map-pc #division01.is-hover,
.c-map__map-pc #division12.is-hover {
  fill: #79ffdd;
}

.c-map__map-pc #division03.is-hover,
.c-map__map-pc #division10.is-hover,
.c-map__map-pc #division13.is-hover,
.c-map__map-pc #division14.is-hover {
  fill: #9f7;
}

.c-map__map-pc #division04.is-hover,
.c-map__map-pc #division08.is-hover,
.c-map__map-pc #division15.is-hover {
  fill: #4cf0ff;
}

.c-map--station .c-map__map-pc {
  width: 400px;
  height: 280px;
}

.c-map--station .c-map__map-pc svg {
  position: absolute;
}

.c-map--na .c-map__map-pc svg {
  right: 0;
  bottom: 20px;
}

.c-map--nea .c-map__map-pc svg {
  right: 110px;
  bottom: 20px;
}

.c-map--ea .c-map__map-pc svg {
  right: 140px;
  bottom: 90px;
}

.c-map--ma .c-map__map-pc svg {
  right: 45px;
  bottom: 30px;
}

.c-map--wa .c-map__map-pc svg {
  right: 60px;
  bottom: 30px;
}

.c-map__command > img {
  position: absolute;
  right: 157px;
  bottom: 168px;
}

.c-map__command a {
  position: absolute;
  pointer-events: none;
  transition: transform 0.3s ease-out;
}

.c-map__command a::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: all;
  content: "";
  -webkit-clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
          clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.c-map__command a::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 128px;
  height: 128px;
  content: "";
  opacity: 0;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: opacity 0.3s ease-out;
}

.c-map__command a.is-hover {
  transform: scale(1.05);
}

.c-map__command a.is-hover::after {
  opacity: 1;
}

.c-map__command #command00 {
  right: 0;
  bottom: 54px;
}

.c-map__command #command00::after {
  background-color: rgb(2 83 54 / 10%);
}

.c-map__command #command01 {
  top: 1px;
  left: 294px;
}

.c-map__command #command01::after {
  background-color: rgb(195 214 55 / 10%);
}

.c-map__command #command02 {
  top: 245px;
  right: 42px;
}

.c-map__command #command02::after {
  background-color: rgb(180 159 201 / 10%);
}

.c-map__command #command03 {
  right: 156px;
  bottom: 4px;
}

.c-map__command #command03::after {
  background-color: rgb(100 205 178 / 10%);
}

.c-map__command #command04 {
  top: 217px;
  left: 144px;
}

.c-map__command #command04::after {
  background-color: rgb(132 202 82 / 10%);
}

.c-map__command #command05 {
  bottom: 108px;
  left: 0;
}

.c-map__command #command05::after {
  background-color: rgb(29 190 235 / 10%);
}

.c-map--station .c-map__command > img {
  right: 84px;
  bottom: 107px;
  width: 90px;
}

.c-map--station .c-map__command #command00 {
  right: 0;
  bottom: 0;
  width: 130px;
}

.c-map--station .c-map__command #command00::after {
  width: 92px;
  height: 92px;
}

.c-map--station .c-map__command #command01,
.c-map--station .c-map__command #command02,
.c-map--station .c-map__command #command03,
.c-map--station .c-map__command #command04,
.c-map--station .c-map__command #command05 {
  inset: 0 auto auto 0;
}

.c-map__division a {
  position: absolute;
  transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.c-map__division a.is-hover {
  opacity: 0.8;
  transform: scale(1.05);
}

.c-map__division a:first-of-type {
  right: 326px;
  bottom: 118px;
}

.c-map__division a:nth-of-type(2) {
  top: 52px;
  right: 255px;
}

.c-map__division a:nth-of-type(3) {
  bottom: 90px;
  left: 333px;
}

.c-map__division a:nth-of-type(4) {
  bottom: 146px;
  left: 174px;
}

.c-map__division a:nth-of-type(5) {
  top: 181px;
  right: 157px;
}

.c-map__division a:nth-of-type(6) {
  right: 248px;
  bottom: 221px;
}

.c-map__division a:nth-of-type(7) {
  top: 219px;
  right: 227px;
}

.c-map__division a:nth-of-type(8) {
  bottom: 25px;
  left: 177px;
}

.c-map__division a:nth-of-type(9) {
  top: 289px;
  right: 223px;
}

.c-map__division a:nth-of-type(10) {
  bottom: 237px;
  left: 331px;
}

.c-map__division a:nth-of-type(11) {
  top: 165px;
  right: 335px;
}

.c-map__division a:nth-of-type(12) {
  top: 303px;
  right: 346px;
}

.c-map__division a:nth-of-type(13) {
  bottom: 205px;
  left: 256px;
}

.c-map__division a:nth-of-type(14) {
  bottom: 70px;
  left: 273px;
}

.c-map__division a:nth-of-type(15) {
  bottom: 7px;
  left: 41px;
}

.c-map--na .c-map__division a:first-of-type {
  right: 150px;
  bottom: 160px;
}

.c-map--na .c-map__division a:nth-of-type(2) {
  top: 185px;
  right: 25px;
}

.c-map--na .c-map__division a:nth-of-type(3) {
  bottom: -30px;
  left: 225px;
}

.c-map--na .c-map__division a:nth-of-type(4) {
  bottom: 52px;
  left: 115px;
}

.c-map--nea .c-map__division a:first-of-type {
  top: 220px;
  right: 80px;
}

.c-map--nea .c-map__division a:nth-of-type(2) {
  top: 130px;
  right: 50px;
}

.c-map--ea .c-map__division a:first-of-type {
  top: 193px;
  right: 170px;
}

.c-map--ea .c-map__division a:nth-of-type(2) {
  top: 40px;
  right: 90px;
}

.c-map--ma .c-map__division a:first-of-type {
  top: 230px;
  right: 80px;
}

.c-map--ma .c-map__division a:nth-of-type(2) {
  top: 65px;
  right: 80px;
}

.c-map--ma .c-map__division a:nth-of-type(3) {
  bottom: 110px;
  left: 175px;
}

.c-map--ma .c-map__division a:nth-of-type(4) {
  bottom: -20px;
  left: 160px;
}

.c-map--wa .c-map__division a:first-of-type {
  top: 45px;
  right: 60px;
}

.c-map--wa .c-map__division a:nth-of-type(2) {
  top: 185px;
  right: 25px;
}

.c-map--wa .c-map__division a:nth-of-type(3) {
  bottom: 20px;
  left: 85px;
}

.c-map__map-sp {
  text-align: center;
}

.c-map__table {
  display: flex;
  flex-direction: column;
  row-gap: 2px;
  padding-left: 8px;
}

.c-map__table__item {
  position: relative;
  display: flex;
}

.c-map__table__item::before {
  position: absolute;
  top: 0;
  right: 100%;
  width: 8px;
  height: 100%;
  content: "";
}

.c-map__table__item span {
  display: inline-block;
  width: 8px;
  height: inherit;
}

.c-map__table__item.c-map__table__item--01 {
  min-height: 34px;
}

.c-map__table__item.c-map__table__item--01::before {
  background-color: rgb(2 83 54 / 70%);
}

.c-map__table__item.c-map__table__item--01 .c-map__table__sub-item {
  background-color: rgb(2 83 54 / 10%);
}

.c-map__table__item.c-map__table__item--02::before {
  background-color: rgb(195 214 55 / 80%);
}

.c-map__table__item.c-map__table__item--02 .c-map__table__sub-item,
.c-map__table__item.c-map__table__item--02 .c-map__table__map {
  background-color: rgb(195 214 55 / 15%);
}

.c-map__table__item.c-map__table__item--02 .c-map__table__map-wrap {
  width: 221px;
}

.c-map__table__item.c-map__table__item--03::before {
  background-color: rgb(180 159 201 / 80%);
}

.c-map__table__item.c-map__table__item--03 .c-map__table__sub-item,
.c-map__table__item.c-map__table__item--03 .c-map__table__map {
  background-color: rgb(180 159 201 / 15%);
}

.c-map__table__item.c-map__table__item--04::before {
  background-color: rgb(100 205 178 / 80%);
}

.c-map__table__item.c-map__table__item--04 .c-map__table__sub-item,
.c-map__table__item.c-map__table__item--04 .c-map__table__map {
  background-color: rgb(100 205 178 / 15%);
}

.c-map__table__item.c-map__table__item--05::before {
  background-color: rgb(132 202 82 / 80%);
}

.c-map__table__item.c-map__table__item--05 .c-map__table__sub-item,
.c-map__table__item.c-map__table__item--05 .c-map__table__map {
  background-color: rgb(132 202 82 / 15%);
}

.c-map__table__item.c-map__table__item--06::before {
  background-color: rgb(29 190 235 / 80%);
}

.c-map__table__item.c-map__table__item--06 .c-map__table__sub-item,
.c-map__table__item.c-map__table__item--06 .c-map__table__map {
  background-color: rgb(29 190 235 / 15%);
}

.c-map__table__item.c-map__table__item--07 {
  min-height: 34px;
}

.c-map__table__item.c-map__table__item--07::before {
  background-color: rgb(102 102 102 / 80%);
}

.c-map__table__item.c-map__table__item--07 .c-map__table__sub-item {
  background-color: rgb(102 102 102 / 10%);
}

.c-map__table__item-wrap {
  display: flex;
  height: inherit;
}

.c-map__table__sub-item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding-left: 10px;
}

.c-map__table__sub-item a {
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.75;
  text-decoration: underline;
  transition: opacity 0.3s ease-out;
}

.c-map__table__map {
  position: relative;
  padding: 0 8px 22px;
}

.c-map__table__map > a {
  position: absolute;
  top: 50%;
  right: 8px;
  width: 120px;
  transform: translateY(-50%);
}

.c-map__table__map-wrap {
  width: 204px;
  text-align: center;
}

.p-mv-page {
  position: relative;
}

.p-mv-page__image img {
  width: 100%;
  object-fit: cover;
}

.p-mv-page__title {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  transform: translateY(-50%);
}

.p-mv-page__title h1 {
  font-weight: 600;
  color: #025336;
}

.p-mv-page__title span {
  display: block;
  margin-top: 8px;
  line-height: 1;
  color: #025336;
}

.p-recruit {
  background-color: #f2f2f2;
}

.p-recruit.p-recruit--top {
  padding: 0;
  background-color: #fff;
}

.p-recruit__content {
  background-color: #fff;
}

.p-recruit--top .p-recruit__content {
  padding: 0;
}

.p-recruit__banner {
  display: flex;
}

.p-recruit__swiper {
  position: relative;
  padding-bottom: 32px;
}

.p-recruit__swiper .swiper {
  max-width: 90%;
}

.p-recruit__swiper .swiper-slide {
  max-width: 100%;
}

.p-recruit__swiper .swiper-slide > a {
  text-align: center;
}

.p-recruit__swiper .swiper-navigation-icon {
  display: none;
}

.p-recruit__swiper .swiper-pagination {
  bottom: 0;
}

.p-recruit__swiper .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  background-color: transparent;
  border: 1px solid #025336;
}

.p-recruit__swiper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #025336;
}

.p-recruit__swiper .swiper-button-prev,
.p-recruit__swiper .swiper-button-next {
  transform: translateY(-16px);
}

.p-recruit__row {
  display: flex;
  align-items: center;
  justify-content: center;
}

.p-recruit__sub-row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 42px;
  align-items: center;
  justify-content: center;
  width: min(100%, 720px);
  margin-inline: auto;
}

.p-recruit__link {
  position: relative;
  max-width: 478px;
}

.p-recruit--top .p-recruit__link {
  max-width: 524px;
}

.p-recruit__button {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 42px;
  align-items: center;
  justify-content: center;
  width: min(100%, 600px);
  margin-inline: auto;
}

.p-mv-top__image {
  position: relative;
  overflow: hidden;
}

.p-mv-top__image img {
  position: relative;
  z-index: 2;
  width: 100%;
  object-fit: cover;
}

.p-mv-top__image video {
  position: absolute;
  bottom: -1px;
  left: -1px;
  z-index: 1;
  width: 59%;
}

.p-news-sec {
  background-color: #f2f2f2;
}

.p-news-sec__content {
  background-color: #fff;
}

.p-news-sec__row {
  display: flex;
}

.p-news-sec__left {
  display: flex;
  flex-direction: column;
}

.p-news-sec__category-wrap {
  display: flex;
  flex-direction: column;
  row-gap: 18px;
}

.p-news-sec__category {
  display: flex;
  gap: 10px;
  align-items: flex-start;
}

.p-news-sec__button {
  display: inline-flex;
  column-gap: 16px;
  align-items: center;
  justify-content: center;
  width: 180px;
  height: 46px;
  font-size: 1.4rem;
  font-weight: 600;
  color: #666;
  border: 1px solid #666;
  border-radius: 2px;
  transition: color 0.3s ease-out, background-color 0.3s ease-out;
}

.p-news-sec__button svg {
  transition: transform 0.3s ease-out;
}

.p-news-sec__sns {
  display: flex;
  column-gap: 8px;
  align-items: center;
  margin-top: auto;
}

.p-news-sec__sns a {
  transition: opacity 0.3s ease-out;
}

.p-news-sec--en .p-news-sec__sns {
  margin-top: 32px;
}

.p-news-sec__notice {
  padding: 8px 16px;
  font-size: 1.4rem;
  font-weight: 600;
}

.p-about-sec {
  position: relative;
}

.p-about-sec.p-about-sec--jp {
  background-color: #f2f2f2;
}

.p-about-sec.p-about-sec--jp::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  width: 100%;
  content: "";
  background-color: #f2f2f2;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.p-about-sec__list {
  display: grid;
  justify-content: center;
}

.p-about-sec--jp .p-about-sec__list {
  margin-top: 50px;
}

.p-about-sec__button {
  position: absolute;
  left: 50%;
  z-index: 1;
  text-align: center;
  transform: translateX(-50%);
}

.p-station-sec__button {
  text-align: center;
}

.p-equipment-sec {
  padding: 160px 0 80px;
  margin-top: 60px;
  background: no-repeat top center/cover;
}

.p-equipment-sec__wrapper {
  position: relative;
}

.p-equipment-sec__wrapper .swiper-navigation-icon {
  display: none;
}

.p-equipment-sec__wrapper .swiper-pagination-bullets {
  bottom: -40px;
}

.p-equipment-sec__wrapper .swiper-pagination-bullet {
  width: 13px;
  height: 13px;
  background-color: transparent;
  border: 1px solid #fff;
}

.p-equipment-sec__wrapper .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #fff;
}

.p-equipment-sec__swiper .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
}

.p-equipment-sec__button {
  margin-top: 64px;
  text-align: center;
}

.p-greeting__content h2 {
  display: inline-block;
  margin-top: 16px;
}

.p-greeting__image {
  max-width: 100%;
  text-align: center;
}

.p-greeting__image h3 {
  margin-top: 24px;
  font-weight: 600;
  line-height: 1;
}

.p-greeting__image p {
  margin-top: 16px;
}

.p-one-page__row {
  display: flex;
  flex-wrap: wrap;
  gap: 32px;
}

.p-one-page__image {
  position: relative;
  max-width: 100%;
  padding-bottom: 24px;
}

.p-one-page__image p {
  padding-left: 8px;
  font-size: 1.4rem;
  font-weight: 600;
  line-height: 1;
  color: #025336;
  border-left: 2px solid #025336;
}

.p-one-page__image h4 {
  margin-top: 12px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.5625;
}

.p-one-page__image img {
  width: 100%;
  filter: drop-shadow(0 0 10px rgb(51 51 51 / 30%));
}

.p-one-page__image span {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  font-size: 1.1rem;
  line-height: 1;
  text-align: center;
  transform: translateX(-50%);
}

.p-initiatives__list {
  display: flex;
  flex-direction: column;
  row-gap: 42px;
}

.p-initiatives__item:nth-of-type(odd) .p-initiatives__link span {
  right: 0;
}

.p-initiatives__item:nth-of-type(odd) .p-initiatives__text {
  right: 68px;
  text-align: right;
}

.p-initiatives__item:nth-of-type(even) .p-initiatives__link span {
  left: 0;
}

.p-initiatives__item:nth-of-type(even) .p-initiatives__text {
  text-align: left;
}

.p-initiatives__link {
  position: relative;
}

.p-initiatives__link::before, .p-initiatives__link::after {
  position: absolute;
  content: "";
}

.p-initiatives__link::before {
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  background-color: rgb(0 0 0 / 20%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.p-initiatives__link::after {
  width: 41px;
  height: 5px;
  background: url(/gsdf/assets/images/common/icon_arrow06.svg) no-repeat center center/contain;
  transition: transform 0.3s ease-out;
}

.p-initiatives__link span {
  position: absolute;
  top: 0;
  height: 100%;
  content: "";
  background-color: rgb(2 83 54 / 75%);
  mix-blend-mode: multiply;
}

.p-initiatives__text {
  position: absolute;
  top: 50%;
  z-index: 2;
  max-width: 100%;
}

.p-initiatives__text h2 {
  font-weight: 600;
  line-height: 1.5;
  color: #fff;
}

.p-initiatives__text p {
  line-height: 1.7;
  color: #fff;
}

.p-roles__row {
  display: flex;
  column-gap: 55px;
  justify-content: space-between;
}

.p-roles__list {
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}

.p-roles__list h4 {
  display: flex;
  column-gap: 8px;
  align-items: baseline;
  padding-bottom: 4px;
  font-weight: 600;
  color: #025336;
  border-bottom: 1px dotted #025336;
}

.p-roles__list h4::before {
  position: relative;
  top: -2px;
  display: inline-block;
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  content: "";
  background-color: #025336;
}

.p-training__section01 > .l-inner {
  position: relative;
}

.p-training__section03 > .l-inner {
  position: relative;
}

.p-training__section04 > .l-inner {
  position: relative;
}

.p-training__decoration {
  position: relative;
  background-color: #f2f2f2;
}

.p-training__decoration.p-training__decoration--top::before {
  position: absolute;
  bottom: calc(100% - 1px);
  left: 0;
  z-index: 1;
  width: 100%;
  content: "";
  background-color: #f2f2f2;
  -webkit-clip-path: polygon(100% 100%, 0% 100%, 100% 0);
          clip-path: polygon(100% 100%, 0% 100%, 100% 0);
}

.p-training__decoration.p-training__decoration--bottom::after {
  position: absolute;
  top: calc(100% - 1px);
  left: 0;
  z-index: 1;
  width: 100%;
  content: "";
  background-color: #f2f2f2;
  -webkit-clip-path: polygon(0 0, 0% 100%, 100% 0);
          clip-path: polygon(0 0, 0% 100%, 100% 0);
}

.p-jp-us__content {
  position: relative;
}

.p-jp-us__square {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.p-jp-us__square__item {
  position: relative;
  padding: 24px;
  text-align: center;
}

.p-jp-us__square__item.p-jp-us__square__item--01 {
  background-color: rgb(214 218 178 / 70%);
}

.p-jp-us__square__item.p-jp-us__square__item--01 svg {
  top: calc(100% - 38px);
  left: calc(100% - 1px);
}

.p-jp-us__square__item.p-jp-us__square__item--02 {
  background-color: rgb(169 191 198 / 70%);
}

.p-jp-us__square__item.p-jp-us__square__item--02 svg {
  top: calc(100% - 38px);
  right: calc(100% - 1px);
}

.p-jp-us__square__item.p-jp-us__square__item--03 {
  width: 740px;
  max-width: 100%;
  background-color: rgb(172 186 164 / 70%);
}

.p-jp-us__square__item.p-jp-us__square__item--03 svg {
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
}

.p-jp-us__square__item > span {
  position: absolute;
  top: 8px;
  left: 16px;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
}

.p-jp-us__square__item h3 {
  font-size: 1.4rem;
  font-weight: 600;
}

.p-jp-us__square__item p {
  margin-top: 4px;
  font-size: 1.4rem;
}

.p-jp-us__square__item svg {
  position: absolute;
  z-index: -1;
}

.p-jp-us__circle {
  text-align: center;
}

.p-jp-us__circle__item {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-radius: 50%;
}

.p-jp-us__circle__item.p-jp-us__circle__item--01 {
  bottom: 45px;
  left: 50%;
  padding-bottom: 50px;
  background-color: rgb(2 83 54 / 20%);
  transform: translateX(-50%);
}

.p-jp-us__circle__item.p-jp-us__circle__item--02 {
  top: 50%;
  right: -32px;
  padding: 24px 40px 0 0;
  background-color: rgb(255 205 0 / 20%);
  transform: translateY(-50%);
}

.p-jp-us__circle__item.p-jp-us__circle__item--03 {
  top: 50%;
  left: -32px;
  padding: 24px 0 0 40px;
  background-color: rgb(0 66 130 / 20%);
  transform: translateY(-50%);
}

.p-jp-us__circle__item h3 {
  font-size: 1.7rem;
  font-weight: 600;
  color: #025336;
}

.p-jp-us__circle__item p {
  margin-top: 4px;
  font-size: 1.6rem;
  font-weight: 600;
}

.p-jp-us__swiper {
  padding-bottom: 32px;
}

.p-jp-us__swiper .swiper {
  max-width: 86%;
}

.p-jp-us__swiper .swiper-button-prev,
.p-jp-us__swiper .swiper-button-next {
  transform: translateY(-16px);
}

.p-history {
  background-color: #f2f2f2;
}

.p-history__content {
  position: relative;
  width: 996px;
  max-width: 100%;
  margin: 0 auto;
}

.p-history__content::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  content: "";
  background-color: #025336;
  transform: translateX(-50%);
}

.p-history__category {
  display: flex;
  column-gap: 116px;
  justify-content: center;
}

.p-history__category-tag {
  position: relative;
  display: inline-flex;
  align-items: center;
  width: 225px;
  height: 34px;
  padding: 0 20px;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background-color: #025336;
}

.p-history__category-tag.p-history__category-tag--left {
  justify-content: flex-end;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 16% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 16% 100%);
}

.p-history__category-tag.p-history__category-tag--right {
  -webkit-clip-path: polygon(0 0, 100% 0, 84% 100%, 0% 100%);
          clip-path: polygon(0 0, 100% 0, 84% 100%, 0% 100%);
}

.p-history__item {
  position: relative;
  display: flex;
  justify-content: space-between;
}

.p-history__box.p-history__box--active {
  background-color: #fff;
}

.p-history__row {
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.p-history__sp-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-history__year {
  font-weight: 600;
  line-height: 1;
  color: #025336;
}

.p-history__category-sp {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  width: 130px;
  height: 24px;
  padding: 0 20px;
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background-color: #025336;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 16% 100%);
          clip-path: polygon(0 0, 100% 0, 100% 100%, 16% 100%);
}

.p-history__list {
  padding-left: 1.5em;
  margin-top: 12px;
  list-style-type: disc;
}

.p-history__list li {
  font-weight: 600;
  line-height: 1.6;
}

.p-history__list li p {
  font-weight: 400;
}

.p-history__tag-wrap {
  display: flex;
  column-gap: 8px;
  align-items: center;
}

.p-history__tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1;
  color: #025336;
  border: 1px solid #025336;
  border-radius: 2px;
}

.p-history__image {
  text-align: center;
}

.p-history__point {
  position: relative;
  top: 16px;
  background-color: #025336;
  border-radius: 50%;
}

.p-history__point::before, .p-history__point::after {
  position: absolute;
  top: 50%;
  height: 1px;
  content: "";
  background-image: linear-gradient(to right, #025336, #025336 1px, transparent 1px, transparent 2px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 2px 1px;
  transform: translateY(-50%);
}

.p-history__point::before {
  right: 100%;
}

.p-history__point::after {
  left: 100%;
}

.p-news__category {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.p-news__link {
  display: flex;
  column-gap: 24px;
  justify-content: center;
}

.p-news__link > a {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
  background-color: #025336;
  transition: opacity 0.3s ease-out;
}

.p-news__link__row {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.p-news__wrap {
  background-color: rgb(2 83 54 / 10%);
}

.p-news__content {
  background-color: #fff;
}

.p-news__list {
  width: 100%;
}

.p-news-sec .p-news__list {
  margin-top: 0;
}

.p-news--top .p-news__list {
  margin-top: 0;
}

.p-news__past__list {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
  margin-top: 32px;
}

.p-news__notice {
  margin-bottom: 16px;
  font-size: 1.6rem;
  font-weight: 600;
}

.p-station__row {
  display: flex;
  justify-content: space-between;
}

.p-station__text h3 {
  font-weight: 600;
  line-height: 1.75;
  color: #025336;
}

.p-station__text h3:not(:first-of-type) {
  margin-top: 24px;
}

.p-station__text p {
  margin-top: 8px;
  line-height: 1.4725;
}

.p-station__image {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: flex-start;
}

.p-pco__list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(197px, 197px));
  gap: 24px;
  justify-content: center;
}

.p-equipment__list {
  display: grid;
  gap: 24px;
  justify-content: center;
}

.p-equipment__link {
  display: flex;
  flex-direction: column;
  row-gap: 12px;
  height: 100%;
  padding: 16px 18px;
  background-color: rgb(2 83 54 / 8%);
}

.p-equipment__link p {
  font-size: 1.9rem;
  text-align: left;
}

.p-equipment__image {
  position: relative;
  margin-top: auto;
  overflow: hidden;
}

.p-equipment__image::after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  content: "";
  background-color: rgb(0 0 0 / 20%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

.p-equipment__image img {
  width: 100%;
  transition: transform 0.3s ease-out;
}

.p-equipment__sub-list {
  display: grid;
  gap: 24px 22px;
  justify-content: center;
}

.p-event p > span {
  color: #d1000f;
}

.p-event__row {
  display: flex;
  background-color: #f2f2f2;
}

.p-event__movie h3 {
  font-size: 1.5rem;
  font-weight: 600;
}

.p-event__movie h3 span {
  color: #025336;
}

.p-event__movie iframe {
  width: 100%;
  aspect-ratio: 16/9;
  margin-top: 16px;
}

.p-event__banner {
  transition: opacity 0.3s ease-out;
}

.p-event__banner img {
  width: 100%;
}

.p-event__image {
  width: 720px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.p-event__image img {
  width: 100%;
}

.p-event__youtube {
  width: 720px;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.p-event__youtube iframe {
  width: 100%;
  aspect-ratio: 16/9;
}

.p-event__button {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
}

.p-event__button small {
  font-size: 1.6rem;
}

.p-event__button.p-event__button--fire {
  margin-top: 32px;
}

.p-character__image img:not(:first-of-type) {
  margin-top: 12px;
}

.p-character__content {
  display: flex;
  column-gap: 64px;
  align-items: center;
  border: 1px solid #025336;
}

.p-character__content img {
  flex-shrink: 0;
  width: 270px;
}

.p-character__text h3 {
  font-weight: 600;
  color: #025336;
}

.p-character__text p {
  margin-top: 16px;
}

.p-character__text p span {
  color: #025336;
  text-decoration: underline;
}

.p-character__sns {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: center;
  margin-top: 35px;
}

.p-character__sns a {
  transition: opacity 0.3s ease-out;
}

.p-movie__list {
  display: grid;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
  margin-top: 30px;
}

.p-movie__item span {
  font-size: 1.1rem;
}

.p-movie__sns {
  padding: 56px 48px 60px;
  background-color: #f2f2f2;
}

.p-movie__sns h3 {
  font-weight: 600;
  color: #025336;
}

.p-movie__sns > p {
  margin-top: 16px;
}

.p-movie__youtube {
  width: 488px;
  max-width: 100%;
  padding: 40px 24px 32px;
  margin: 32px auto 0;
  text-align: center;
  background-color: #fff;
}

.p-movie__youtube a {
  transition: opacity 0.3s ease-out;
}

.p-movie__youtube p {
  margin-top: 24px;
}

.p-movie__x {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 50px;
}

.p-paper-craft h2:first-of-type {
  margin-top: 64px;
}

.p-paper-craft__row {
  display: flex;
  margin-top: 48px;
}

.p-paper-craft__image {
  flex-shrink: 0;
}

.p-paper-craft__content {
  display: flex;
  flex-direction: column;
  row-gap: 24px;
  width: 100%;
}

.p-paper-craft__download {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
}

.p-paper-craft__more {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: flex-end;
  justify-content: space-between;
  margin-top: auto;
}

.p-paper-craft__more img {
  width: 224px;
  max-width: 100%;
}

.p-paper-craft__pdf {
  display: inline-flex;
  gap: 12px;
  padding: 10px;
  border: 1px solid #ccc;
}

.p-paper-craft__pdf a {
  color: #38c;
  transition: opacity 0.3s ease-out;
}

.p-paper-craft__pdf p {
  font-size: 1.5rem;
}

.p-wallpaper__content {
  max-width: 854px;
  margin-inline: auto;
}

.p-wallpaper__button {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: center;
  justify-content: center;
}

.p-wallpaper__row {
  display: flex;
  column-gap: 24px;
}

.p-wallpaper__item {
  display: flex;
  flex-direction: column;
  row-gap: 16px;
  align-items: center;
}

.p-wallpaper__item h5 {
  font-weight: 600;
}

.p-wallpaper__note {
  display: flex;
  column-gap: 4px;
}

.p-wallpaper__note span {
  flex-shrink: 0;
}

.p-sound__list {
  display: grid;
  gap: 24px;
}

.p-sound__item {
  display: flex;
  flex-direction: column;
  row-gap: 36px;
  align-items: center;
  width: 350px;
  max-width: 100%;
  padding: 24px 20px 30px;
  text-align: center;
  background-color: #f2f2f2;
}

.p-sound__item a {
  margin-top: auto;
}

.p-sound__title {
  width: 100%;
}

.p-sound__title p,
.p-sound__title span {
  font-size: 1.9rem;
  line-height: 1.6;
  text-align: left;
}

.p-sound__title span {
  display: block;
  margin-top: 6px;
}

.p-sound__title p {
  font-weight: 600;
}

.p-sound__row {
  display: flex;
  column-gap: 16px;
}

.p-enqu p span {
  color: #d4010e;
}

.p-enqu__button {
  margin-top: 24px;
}

.p-army__row {
  display: flex;
  justify-content: space-between;
}

.p-army__row > a {
  transition: opacity 0.3s ease-out;
}

.p-army__text {
  display: flex;
  flex-direction: column;
}

.p-army__text p {
  padding-left: 20px;
  margin-top: 12px;
  font-weight: 600;
  line-height: 1.45;
}

.p-army__text .c-content-box > ul {
  padding-left: 2em;
  margin-top: 16px;
  list-style-type: disc;
}

.p-army__text .c-content-box > ul li {
  font-weight: 600;
}

.p-army__text .c-content-box > ul li > ul {
  padding-left: 1em;
}

.p-army__button {
  margin-top: auto;
}

.p-meals__bg {
  position: relative;
  background: url(/gsdf/assets/images/fan/meals/pic01.png) no-repeat center center/cover;
}

.p-meals__bg p {
  line-height: 1.71;
  color: #fff;
  text-align: center;
}

.p-meals__content {
  position: relative;
  border: 1px solid #025336;
}

.p-meals__content h2 {
  position: absolute;
  top: 0;
  left: 0;
}

.p-meals__content__row {
  display: flex;
  justify-content: space-between;
}

.p-meals__content__image {
  text-align: center;
}

.p-meals__item {
  display: flex;
}

.p-meals__item > a {
  flex-shrink: 0;
  transition: opacity 0.3s ease-out;
}

.p-meals__item__category {
  display: grid;
  grid-template-columns: repeat(auto-fill, 230px);
  gap: 16px;
  justify-content: center;
  width: 100%;
}

.p-meals__item__category li {
  height: 51px;
}

.p-meals__item__category a {
  display: inline-flex;
  column-gap: 20px;
  align-items: center;
  width: 230px;
  height: 51px;
  font-size: 1.5rem;
  border: 1px solid #a5a5a5;
  border-radius: 100vh;
  transition: opacity 0.3s ease-out;
}

.p-meals__category {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(123px, 123px));
  gap: 16px;
  justify-content: center;
}

.p-meals__category button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 123px;
  height: 57px;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  background-color: #025336;
  transition: opacity 0.3s ease-out, filter 0.3s ease-out;
}

.p-meals__category button.is-active {
  filter: brightness(1.5);
}

.p-meals__menu {
  display: grid;
  gap: 16px;
  justify-content: center;
  margin-top: 40px;
}

.p-meals__menu > li {
  margin: 0 auto;
}

.p-meals__menu__link {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  padding: 16px;
  text-align: left;
  border: 1px solid #025336;
  transition: opacity 0.3s ease-out;
}

.p-meals__menu__link-row {
  display: flex;
  gap: 16px;
  justify-content: space-between;
  width: 100%;
  margin-top: 16px;
}

.p-meals__menu__title p:first-of-type {
  font-size: 1.7rem;
  font-weight: 600;
  color: #025336;
}

.p-meals__menu__title p:nth-of-type(2) {
  margin-top: 4px;
  font-size: 1.4rem;
  text-decoration: underline;
}

.p-meals__menu__image {
  overflow: hidden;
}

.p-meals__menu__image img {
  transition: transform 0.3s ease-out;
}

.p-civilian h3 + p {
  margin-top: 8px;
}

.p-civilian__button {
  display: flex;
  flex-wrap: wrap;
  gap: 24px 40px;
}

.p-mp__list {
  margin-left: 3em;
}

.p-mp__list li {
  position: relative;
}

.p-mp__list li::before {
  position: absolute;
  left: -2em;
  font-weight: 600;
  line-height: 1.68;
  content: "(" counter(list-item) ")";
  transform: translateY(-50%);
}

.p-zaisyoku__ol li:first-of-type {
  display: flex;
  flex-wrap: wrap;
  column-gap: 16px;
}

.p-zaisyoku__ul {
  margin-top: 24px;
}

.p-zaisyoku__ul li {
  list-style-position: inside;
  list-style-type: disc;
}

.p-contact__list {
  display: flex;
  flex-wrap: wrap;
  gap: 26px;
}

.p-privacy__item h2 {
  font-weight: 600;
  line-height: 1.8;
  color: #025336;
}

.p-privacy__item p {
  margin-left: 1em;
}

.p-privacy__sub-list01 {
  margin-left: 1em;
}

.p-privacy__sub-list01 li {
  position: relative;
}

.p-privacy__sub-list01 li::before {
  position: absolute;
  left: 0;
  line-height: 1.68;
  content: "(" counter(list-item) ")";
  transform: translateY(-50%);
}

.p-privacy__sub-list01 li p {
  margin-left: 1.5em;
}

.p-privacy__sub-list02 h3 {
  margin-left: 0.5em;
}

.p-privacy__sub-list02 h3::before {
  content: "・";
}

.p-rule__list {
  margin-top: 32px;
  margin-left: 1em;
}

.p-rule__list li {
  position: relative;
}

.p-rule__list li::before {
  position: absolute;
  left: 0;
  line-height: 1.68;
  content: "(" counter(list-item) ")";
  transform: translateY(-50%);
}

.p-rule__list li p {
  margin-left: 1.5em;
}

.p-link__button {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}

.p-link__button.p-link__button--column {
  flex-direction: column;
}

.p-link__list {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.p-result .gsc-control-cse {
  padding: 0;
}

.u-text-center {
  text-align: center;
}

.u-hover {
  transition: opacity 0.3s ease-out;
}

@media screen and (min-width: 640px){
  .c-image-card.c-image-card--recruit .c-image-card__text {
    gap: 8px 40px;
    min-height: 130px;
    padding: 0 110px 0 30px;
  }

  .c-modal .c-modal__list-row {
    column-gap: 24px;
  }
}

@media screen and (min-width: 768px){
  html {
    scroll-padding-top: 80px;
  }

  .l-header {
    height: 80px;
  }

  .c-anchor.c-anchor--large {
    column-gap: 24px;
  }

  .c-anchor--large .c-anchor__link {
    width: 450px;
    height: 84px;
    padding-left: 48px;
    font-size: 2rem;
  }

  .c-content-box-three {
    grid-template-columns: 1fr 1fr;
  }

  .c-content-box {
    padding: 32px;
  }

  .c-news-card.c-news-card--image .c-news-card__link {
    flex-direction: row;
    column-gap: 32px;
  }

  .c-news-card__link {
    flex-direction: column;
    align-items: flex-start;
    padding: 22px 16px;
  }

  .c-news-card__text {
    width: 77.8181818182%;
    padding-right: 70px;
  }

  .c-link-card02__text-wrap {
    column-gap: 48px;
    width: 63.8181818182%;
    padding: 20px 32px;
  }

  .c-link-card03__link {
    padding: 30px 45px 30px 30px;
  }

  .c-link-card04 {
    grid-template-columns: repeat(2, minmax(0, 350px));
    column-gap: 24px;
  }

  .c-one-page__button {
    grid-template-columns: repeat(auto-fit, minmax(224px, 224px));
    gap: 24px;
    max-width: 58%;
  }

  .c-map {
    row-gap: 16px;
    align-items: center;
  }

  .p-recruit__link {
    width: 100%;
  }

  .p-news-sec__row {
    column-gap: 40px;
    margin-top: 30px;
  }

  .p-about-sec.p-about-sec--jp::after {
    height: 120px;
  }

  .p-about-sec__list {
    grid-template-columns: repeat(auto-fit, minmax(210px, 210px));
    gap: 24px 12px;
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
  }

  .p-one-page__image {
    width: calc((100% - 32px) / 2);
  }

  .p-initiatives__item:nth-of-type(odd) .p-initiatives__link span {
    -webkit-clip-path: polygon(40% 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(40% 0, 100% 0, 100% 100%, 0% 100%);
  }

  .p-initiatives__item:nth-of-type(even) .p-initiatives__link span {
    -webkit-clip-path: polygon(0 0, 60% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 60% 0, 100% 100%, 0% 100%);
  }

  .p-training__decoration.p-training__decoration--top {
    margin-top: 140px;
  }

  .p-training__decoration.p-training__decoration--top::before {
    height: 120px;
  }

  .p-training__decoration.p-training__decoration--bottom {
    margin-bottom: 140px;
  }

  .p-training__decoration.p-training__decoration--bottom::after {
    height: 120px;
  }

  .p-history__item {
    column-gap: 24px;
    align-items: flex-start;
  }

  .p-history__row {
    flex-wrap: wrap;
  }

  .p-history__point::before, .p-history__point::after {
    width: 24px;
  }

  .p-event__row {
    padding: 45px 50px 50px;
    margin-top: 45px;
  }

  .p-movie__list {
    grid-template-columns: 1fr 1fr;
  }

  .p-sound__list {
    grid-template-columns: repeat(2, minmax(0, 350px));
    column-gap: 24px;
  }

  .p-army__text {
    row-gap: 48px;
  }

  .p-meals__menu {
    grid-template-columns: repeat(2, minmax(0, 350px));
    column-gap: 24px;
  }
}

@media not screen and (min-width: 800px){
  .c-map__map-pc {
    display: none;
  }

  .c-map__table {
    align-items: center;
    margin-top: 25px;
  }

  .c-map__table__item {
    flex-direction: column;
  }

  .c-map__table__item.c-map__table__item--02 {
    height: 100%;
  }

  .c-map__table__item.c-map__table__item--03 {
    height: 100%;
  }

  .c-map__table__item.c-map__table__item--04 {
    height: 100%;
  }

  .c-map__table__item.c-map__table__item--05 {
    height: 100%;
  }

  .c-map__table__item.c-map__table__item--06 {
    height: 100%;
  }

  .c-map__table__item-wrap.c-map__table__item-wrap--map .c-map__table__sub-item {
    row-gap: 4px;
    justify-content: flex-start;
    padding: 8px 0 16px 10px;
  }

  .c-map__table__sub-item.c-map__table__sub-item--01 {
    width: 114px;
  }

  .c-map__table__sub-item.c-map__table__sub-item--02 {
    width: 104px;
  }

  .c-map__table__sub-item.c-map__table__sub-item--03 {
    width: 112px;
  }
}

@media screen and (min-width: 800px){
  .c-map.c-map--station {
    flex-direction: row;
    column-gap: 32px;
    align-items: center;
    justify-content: center;
  }

  .c-map__map-sp {
    display: none;
  }

  .c-map__table__item.c-map__table__item--02 {
    min-height: 100px;
  }

  .c-map__table__item.c-map__table__item--03 {
    min-height: 55px;
  }

  .c-map__table__item.c-map__table__item--04 {
    min-height: 55px;
  }

  .c-map__table__item.c-map__table__item--05 {
    min-height: 100px;
  }

  .c-map__table__item.c-map__table__item--06 {
    min-height: 78px;
  }

  .c-map__table__item-wrap {
    column-gap: 2px;
  }

  .c-map__table__sub-item.c-map__table__sub-item--01 {
    width: 94px;
  }

  .c-map__table__sub-item.c-map__table__sub-item--02 {
    width: 86px;
  }

  .c-map__table__sub-item.c-map__table__sub-item--03 {
    width: 96px;
  }

  .c-map__table__map {
    display: none;
  }
}

@media screen and (min-width: 1024px){
  .c-image-card.c-image-card--recruit .c-image-card__text {
    column-gap: 24px;
  }
}

@media screen and (max-width: 1535px){
  .u-visible-xxl {
    display: none;
  }
}

@media screen and (max-width: 1279px){
  .p-initiatives__text h2 {
    min-height: 60px;
    font-size: 2rem;
  }

  .p-initiatives__text p {
    margin-top: 16px;
    font-size: 1.9rem;
  }

  .p-jp-us__content {
    display: flex;
    flex-direction: column-reverse;
    row-gap: 32px;
  }

  .p-jp-us__square {
    gap: 24px;
  }

  .u-visible-xl {
    display: none;
  }
}

@media screen and (max-width: 1023px){
  .l-content__row .l-main {
    width: 100%;
  }

  .c-one-page-row {
    flex-direction: column;
  }

  .p-recruit__swiper .swiper-button-prev {
    left: -20px;
  }

  .p-recruit__swiper .swiper-button-next {
    right: -20px;
  }

  .p-recruit__row {
    flex-direction: column;
    row-gap: 24px;
  }

  .p-greeting__image {
    width: -webkit-fit-content;
    width: fit-content;
    margin: 0 auto 32px;
  }

  .p-initiatives__link::after {
    bottom: 24px;
  }

  .p-history__image {
    width: 100%;
  }

  .p-station__row {
    flex-flow: column;
    row-gap: 24px;
  }

  .p-event__row {
    flex-direction: column;
    row-gap: 32px;
  }

  .p-character__content {
    flex-direction: column;
    row-gap: 24px;
  }

  .p-army__row {
    flex-direction: column;
    row-gap: 32px;
  }

  .p-meals__content__row {
    flex-direction: column;
    row-gap: 24px;
  }

  .p-meals__content--02 .p-meals__content__row {
    align-items: center;
  }

  .p-meals__item {
    flex-direction: column;
    row-gap: 24px;
    align-items: center;
  }

  .u-visible-lg {
    display: none;
  }
}

@media screen and (max-width: 767px){
  html {
    scroll-padding-top: 45px;
  }

  .l-content {
    padding: 60px 0;
  }

  .l-header {
    height: 45px;
  }

  .l-header__logo {
    padding: 0 6px;
  }

  .l-header__logo img {
    width: 100px;
  }

  .l-footer__list {
    row-gap: 20px;
    background-size: contain;
  }

  .l-footer__item {
    width: 100%;
  }

  .l-footer__item > a {
    width: 100%;
  }

  .l-footer__sub-list {
    visibility: hidden;
    max-height: 0;
    padding: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease-out, opacity 0.3s ease-out, visibility 0.3s ease-out, padding-top 0.3s ease-out;
  }

  .l-footer__sub-list.is-open {
    visibility: visible;
    max-height: 999vh;
    padding-top: 12px;
    opacity: 1;
  }

  .l-footer__sub-list a {
    width: 100%;
  }

  .l-footer__sub-list.l-footer__sub-list--right {
    visibility: visible;
    row-gap: 20px;
    max-height: 999vh;
    margin-left: 0;
    opacity: 1;
  }

  .l-footer__content {
    padding: 24px 16px 32px;
  }

  .l-breadcrumb__item {
    font-size: 1.4rem;
  }

  .c-drawer {
    top: 6.5px;
  }

  .c-drawer__content {
    top: 45px;
  }

  .c-button.c-button--news {
    width: 170px;
  }

  .c-heading {
    font-size: 2.4rem;
  }

  .c-heading.c-heading--line {
    padding-bottom: 20px;
  }

  .c-heading.c-heading--center-white {
    padding-bottom: 16px;
  }

  .c-heading.c-heading--small {
    font-size: 1.9rem;
  }

  .c-heading-fill {
    width: 280px;
    padding: 6px 48px 6px 12px;
    font-size: 1.6rem;
  }

  .c-heading-top {
    padding-bottom: 20px;
    font-size: 2.4rem;
  }

  .c-heading-top.c-heading-top--equipment::after {
    width: 86px;
  }

  .c-text {
    font-size: 1.6rem;
  }

  .c-text.c-text--small {
    font-size: 1.3rem;
  }

  .c-text.c-text--bold {
    font-size: 1.7rem;
  }

  .c-link-text {
    top: 1.2rem;
    font-size: 1.6rem;
  }

  .c-image-card.c-image-card--equipment p {
    width: 185px;
    height: 42px;
    padding: 0 42px 0 22px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text::after {
    right: 22px;
    width: 22px;
    height: 3px;
    background-image: url(/gsdf/assets/images/common/icon_arrow04.svg);
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small .c-image-card__image::before {
    min-height: 84px;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small h3 {
    font-size: 1.6rem;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small p {
    font-size: 1rem;
  }

  .c-image-card.c-image-card--about .c-image-card__image::before {
    min-height: 64px;
  }

  .c-image-card.c-image-card--about .c-image-card__text {
    min-height: 64px;
    padding-top: 16px;
  }

  .c-image-card.c-image-card--about .c-image-card__text p {
    font-size: 1.2rem;
  }

  .c-image-card.c-image-card--about .c-image-card__text::after {
    bottom: 18px;
  }

  .c-image-card.c-image-card--about .c-image-card__text.c-image-card__text--two {
    padding-top: 8px;
  }

  .c-anchor {
    flex-direction: column;
  }

  .c-anchor.c-anchor--mt {
    margin-top: 30px;
  }

  .c-anchor__link::after {
    right: 24px;
    width: 18px;
    height: 10px;
  }

  .c-anchor__link svg {
    right: 24px;
    width: 18px;
  }

  .c-anchor--large .c-anchor__link {
    width: 360px;
    height: 70px;
    padding-left: 24px;
    font-size: 1.8rem;
  }

  .c-figure figcaption {
    font-size: 1.5rem;
  }

  .c-iframe-flex {
    flex-direction: column;
    row-gap: 24px;
  }

  .c-content-box-grid {
    row-gap: 32px;
  }

  .c-content-box-three .c-content-box {
    row-gap: 24px;
  }

  .c-content-box-three.c-content-box-three--army .c-content-box p {
    font-size: 1.6rem;
  }

  .c-content-box {
    padding: 24px;
  }

  .c-content-box.c-content-box--pko {
    padding: 32px;
  }

  .c-content-box__row {
    flex-direction: column;
  }

  .c-content-box__title {
    font-size: 1.7rem;
  }

  .c-content-box__image {
    margin-top: 24px;
    text-align: center;
  }

  .c-content-box__image-row {
    flex-direction: column;
    row-gap: 24px;
    margin-top: 24px;
  }

  .c-content-box__image-row img {
    width: 100%;
  }

  .c-border-box {
    padding: 24px;
  }

  .c-border-box__title {
    font-size: 1.8rem;
  }

  .c-news-card__link {
    flex-wrap: wrap;
    row-gap: 8px;
    padding: 16px;
  }

  .c-news-card__title {
    width: 100%;
  }

  .c-news-card__image {
    width: 100%;
  }

  .c-news-card__text {
    margin-top: 16px;
  }

  .c-link-card01.c-link-card01--mb {
    margin-bottom: 60px;
  }

  .c-link-card02__link {
    flex-direction: column;
    width: 478px;
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  .c-link-card02__image {
    width: 100%;
  }

  .c-link-card02__text-wrap {
    width: 100%;
    padding: 16px;
  }

  .c-link-card02__text h2 {
    font-size: 1.8rem;
  }

  .c-link-card02__text p {
    margin-top: 12px;
  }

  .c-link-card03__link {
    padding: 24px 40px 24px 24px;
  }

  .c-link-card03__link p {
    font-size: 1.6rem;
  }

  .c-link-card03__title {
    font-size: 1.8rem;
  }

  .c-link-card04 {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }

  .c-link-card04__image {
    justify-content: center;
  }

  .c-one-page {
    flex-direction: column;
    row-gap: 24px;
  }

  .c-one-page__heading::after {
    content: none;
  }

  .c-one-page__heading h3 {
    display: flex;
    align-items: center;
    width: -webkit-fit-content;
    width: fit-content;
    max-width: 100%;
    padding: 6px 48px 6px 12px;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 1.2;
    color: #fff;
    background-color: #025336;
    -webkit-clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
            clip-path: polygon(0 0, 100% 0, 94% 100%, 0% 100%);
  }

  .c-one-page__button {
    gap: 16px;
    width: 100%;
  }

  .c-accordion__question,
  .c-accordion__answer {
    column-gap: 8px;
  }

  .c-accordion__question::before,
  .c-accordion__answer::before {
    font-size: 2.4rem;
  }

  .c-accordion__question {
    padding: 12px 46px 12px 16px;
    font-size: 1.8rem;
  }

  .c-accordion__question span::before {
    right: 24px;
  }

  .c-accordion__question span::after {
    right: 31px;
  }

  .c-accordion__answer {
    padding: 0 16px;
  }

  .c-accordion__answer.is-accordion--open {
    padding: 24px 16px;
  }

  .c-accordion__content strong {
    font-size: 1.7rem;
  }

  .c-accordion__content p:not(:first-of-type) {
    margin-top: 24px;
  }

  .c-accordion__content.c-accordion__content--row {
    flex-direction: column;
    row-gap: 24px;
  }

  .c-modal.c-modal--equipment .swiper-slide {
    padding: 56px 32px;
  }

  .c-modal.c-modal--meals.is-open .c-modal__content {
    padding: 56px 24px;
  }

  .c-modal.c-modal--meals .c-modal__sub-title {
    font-size: 1.5rem;
  }

  .c-modal.c-modal--meals .c-modal__row {
    flex-direction: column;
  }

  .c-modal .swiper-button-prev img,
  .c-modal .swiper-button-next img {
    width: 16px;
  }

  .c-modal .swiper-button-prev {
    left: -6px;
  }

  .c-modal .swiper-button-next {
    right: -6px;
  }

  .c-modal .c-modal__title {
    font-size: 1.8rem;
  }

  .c-modal .c-modal__list-row dt {
    width: 108px;
  }

  .c-modal__close {
    top: 16px;
    right: 16px;
  }

  .c-modal__close svg {
    width: 24px;
  }

  .c-map--station .c-map__table {
    margin-top: 0;
  }

  .p-mv-page__image img {
    min-height: 110px;
  }

  .p-mv-page__title h1 {
    font-size: 2rem;
  }

  .p-mv-page__title span {
    font-size: 1.8rem;
  }

  .p-recruit {
    padding-top: 32px;
  }

  .p-recruit__content {
    padding: 32px 24px 48px;
  }

  .p-recruit__banner {
    flex-direction: column;
    row-gap: 24px;
    align-items: center;
  }

  .p-recruit__banner a {
    width: 100%;
    max-width: 478px;
  }

  .p-recruit__row {
    margin-top: 24px;
  }

  .p-recruit__sub-link {
    width: 100%;
    max-width: 524px;
  }

  .p-recruit__sub-link img {
    width: 100%;
  }

  .p-recruit__link {
    width: 100%;
  }

  .p-news-sec {
    padding-top: 24px;
  }

  .p-news-sec.p-news-sec--en {
    padding: 48px 0;
  }

  .p-news-sec__content {
    padding: 24px 20px;
  }

  .p-news-sec__row {
    flex-direction: column;
    row-gap: 16px;
    margin-top: 24px;
  }

  .p-news-sec__button {
    margin-top: 24px;
  }

  .p-news-sec__sns {
    justify-content: center;
  }

  .p-news-sec__sp {
    padding-top: 24px;
    text-align: center;
    border-top: 1px solid #ccc;
  }

  .p-about-sec.p-about-sec--jp {
    padding: 40px 0 50px;
  }

  .p-about-sec.p-about-sec--jp::after {
    height: 60px;
  }

  .p-about-sec__list {
    grid-template-columns: repeat(auto-fit, minmax(158px, 158px));
    gap: 24px 26px;
  }

  .p-about-sec--en .p-about-sec__list, .p-initiatives .p-about-sec__list {
    grid-template-columns: repeat(2, minmax(158px, 158px));
  }

  .p-about-sec__button {
    top: 100%;
  }

  .p-deployment-sec {
    margin-top: 140px;
  }

  .p-station-sec {
    margin-top: 36px;
  }

  .p-station-sec__button {
    margin-top: 42px;
  }

  .p-equipment-sec {
    background-image: url(/gsdf/assets/images/top/equipment_bg_sp.png);
  }

  .p-equipment-sec__wrapper .swiper-button-prev--equipment {
    left: calc(50% - 175px) !important;
    transform: translateX(-50%);
  }

  .p-equipment-sec__wrapper .swiper-button-next--equipment {
    right: calc(50% - 215px) !important;
    transform: translateX(-50%);
  }

  .p-equipment-sec__swiper {
    max-width: 242px;
    margin-top: 32px;
  }

  .p-greeting__image h3 {
    font-size: 1.8rem;
  }

  .p-greeting__image p {
    font-size: 1.6rem;
  }

  .p-one-page__row {
    flex-direction: column;
    align-items: center;
  }

  .p-initiatives__item:nth-of-type(odd) .p-initiatives__link::after {
    right: 5%;
  }

  .p-initiatives__item:nth-of-type(odd) .p-initiatives__link span {
    -webkit-clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%, 0% 50%);
            clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%, 0% 50%);
  }

  .p-initiatives__item:nth-of-type(even) .p-initiatives__link::after {
    left: 5%;
  }

  .p-initiatives__item:nth-of-type(even) .p-initiatives__link span {
    -webkit-clip-path: polygon(75% 0, 100% 50%, 100% 100%, 0 100%, 0 0);
            clip-path: polygon(75% 0, 100% 50%, 100% 100%, 0 100%, 0 0);
  }

  .p-initiatives__link {
    height: 300px;
  }

  .p-initiatives__link img {
    height: 100%;
    object-fit: cover;
  }

  .p-initiatives__link span {
    width: 100%;
  }

  .p-initiatives__text {
    left: 50%;
    width: 90%;
    transform: translate(-50%, calc(-50% - 16px));
  }

  .p-roles__row {
    flex-direction: column;
    align-items: center;
  }

  .p-roles__text {
    margin-top: 24px;
  }

  .p-roles__list h4 {
    font-size: 1.6rem;
  }

  .p-training__section01 {
    padding: 64px 0 20px;
  }

  .p-training__section01__image,
  .p-training__section04__image {
    margin-top: 24px;
  }

  .p-training__section03 {
    padding: 64px 0 20px;
  }

  .p-training__section03__image {
    margin-top: 24px;
  }

  .p-training__decoration.p-training__decoration--top {
    margin-top: 80px;
  }

  .p-training__decoration.p-training__decoration--top::before {
    height: 60px;
  }

  .p-training__decoration.p-training__decoration--bottom {
    margin-bottom: 80px;
  }

  .p-training__decoration.p-training__decoration--bottom::after {
    height: 60px;
  }

  .p-jp-us__square__item {
    width: 100%;
  }

  .p-jp-us__swiper .swiper-button-prev {
    left: -20px;
  }

  .p-jp-us__swiper .swiper-button-next {
    right: -20px;
  }

  .p-history {
    padding: 64px 0;
    margin-top: 80px;
  }

  .p-history__content::before {
    left: 8px;
  }

  .p-history__item {
    flex-direction: column;
    row-gap: 8px;
    padding-left: 24px;
  }

  .p-history__box.p-history__box--active {
    padding: 16px;
  }

  .p-history__row {
    flex-direction: column;
  }

  .p-history__year {
    font-size: 1.7rem;
  }

  .p-history__list li {
    font-size: 1.3rem;
  }

  .p-history__list li p {
    font-size: 1.2rem;
  }

  .p-history__point {
    position: absolute;
    left: 0;
    width: 16px;
    height: 16px;
  }

  .p-history__point::before, .p-history__point::after {
    width: 8px;
  }

  .p-history__point::before {
    display: none;
  }

  .p-news__link {
    flex-direction: column;
    margin-bottom: 60px;
  }

  .p-news__link > a {
    width: 100%;
    height: 48px;
  }

  .p-news__link__row {
    flex-direction: column;
    align-items: center;
    margin-top: 24px;
  }

  .p-news__wrap {
    padding: 60px 0;
  }

  .p-news__content {
    padding: 24px 20px;
  }

  .p-news__list {
    margin-top: 24px;
  }

  .p-news__past {
    margin-top: 48px;
  }

  .p-station__text h3 {
    font-size: 1.6rem;
  }

  .p-station__text p {
    font-size: 1.4rem;
  }

  .p-station__image img {
    width: 100%;
  }

  .p-event__row {
    padding: 24px;
    margin-top: 32px;
  }

  .p-event__movie h3 span {
    font-size: 1.6rem;
  }

  .p-event__banner {
    margin-top: 32px;
  }

  .p-event__image {
    margin-top: 32px;
  }

  .p-event__youtube {
    margin-top: 40px;
  }

  .p-event__button {
    margin-top: 48px;
  }

  .p-character__image {
    margin-top: 40px;
  }

  .p-character__content {
    padding: 24px;
    margin-top: 40px;
  }

  .p-character__text h3 {
    font-size: 1.8rem;
  }

  .p-movie__sns {
    margin-top: 60px;
  }

  .p-movie__sns h3 {
    font-size: 1.8rem;
  }

  .p-paper-craft h2:not(:first-of-type) {
    margin-top: 80px;
  }

  .p-paper-craft__row {
    flex-direction: column;
    row-gap: 24px;
    align-items: center;
  }

  .p-paper-craft__download {
    flex-direction: column;
    align-items: center;
  }

  .p-paper-craft__download p {
    font-size: 1.6rem;
  }

  .p-paper-craft__more {
    flex-direction: column;
    align-items: center;
  }

  .p-paper-craft__pdf {
    flex-direction: column;
    margin-top: 60px;
  }

  .p-wallpaper__row {
    flex-direction: column;
    row-gap: 32px;
  }

  .p-wallpaper__item h5 {
    font-size: 1.6rem;
  }

  .p-sound__list {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }

  .p-sound__item {
    margin: 0 auto;
  }

  .p-army__text {
    row-gap: 32px;
  }

  .p-army__text p {
    font-size: 1.8rem;
  }

  .p-meals__bg {
    padding: 60px 0;
  }

  .p-meals__bg p {
    margin-top: 32px;
    font-size: 1.8rem;
  }

  .p-meals__content {
    padding: 24px;
  }

  .p-meals__content__row {
    margin-top: 24px;
  }

  .p-meals__content__image {
    margin-top: 24px;
  }

  .p-meals__menu {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  }

  .p-meals__menu.p-meals__menu--three {
    column-gap: 16px;
  }

  .p-meals__menu > li {
    max-width: 350px;
  }

  .p-meals__menu__link-row {
    flex-direction: column;
  }

  .p-meals__menu__link-row img {
    margin: 0 auto;
  }

  .p-mp__list li::before {
    top: 1.2rem;
    font-size: 1.6rem;
  }

  .p-zaisyoku__ol li:not(:first-of-type) {
    margin-top: 24px;
  }

  .p-zaisyoku__ul li:not(:first-of-type) {
    margin-top: 24px;
  }

  .p-privacy__item h2 {
    font-size: 1.8rem;
  }

  .p-privacy__sub-list01 li::before {
    top: 1.2rem;
    font-size: 1.6rem;
  }

  .p-rule__list li::before {
    top: 1.2rem;
    font-size: 1.6rem;
  }

  .u-visible-md {
    display: none;
  }

  .u-mt-sm {
    margin-top: 16px;
  }

  .u-mt-md {
    margin-top: 24px;
  }

  .u-mt-lg {
    margin-top: 32px;
  }

  .u-mt-xl {
    margin-top: 48px;
  }

  .u-mt-xxl {
    margin-top: 64px;
  }
}

@media screen and (max-width: 639px){
  .c-image-card.c-image-card--equipment-small p {
    width: 168px;
    height: 38px;
    padding: 0 30px 0 16px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__image::before {
    min-height: 84px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text {
    gap: 4px 16px;
    min-height: 84px;
    padding: 0 60px 0 20px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text h3 {
    font-size: 1.6rem;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text p {
    font-size: 1rem;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small .c-image-card__text {
    min-height: 84px;
  }

  .c-modal .swiper-button-prev,
  .c-modal .swiper-button-next {
    top: 32%;
  }

  .c-modal .c-modal__list-row {
    column-gap: 16px;
  }

  .p-equipment__list {
    grid-template-columns: 1fr 1fr;
  }

  .p-equipment__sub-list {
    grid-template-columns: 1fr 1fr;
    max-width: 486px;
    margin-right: auto;
    margin-left: auto;
  }

  .u-visible-sm {
    display: none;
  }
}

@media (any-hover: hover){
  .l-header__logo a:hover {
    opacity: 0.8;
  }

  .l-header__select a:hover,
  .l-header__select button:hover {
    color: #025336;
  }

  .l-header__links a:hover {
    color: #025336;
  }

  .l-header--top .l-header__links a:hover {
    color: #fff;
    opacity: 0.8;
  }

  .l-header--top-scroll .l-header__links a:hover {
    color: #025336;
    opacity: 1;
  }

  .l-header__item > a:hover {
    color: #025336;
  }

  .l-header__item > a:hover::after {
    opacity: 1;
  }

  .l-header--top .l-header__item > a:hover {
    color: #fff;
  }

  .l-header--top .l-header__item > a:hover::after {
    background-color: #fff;
    opacity: 1;
  }

  .l-header--top-scroll .l-header__item > a:hover {
    color: #025336;
  }

  .l-header--top-scroll .l-header__item > a:hover::after {
    background-color: #025336;
    opacity: 1;
  }

  .l-header__item:hover > a::after {
    opacity: 1;
  }

  .l-header--top:not(.l-header--top-scroll) .l-header__item:hover > a::after {
    background-color: #fff;
  }

  .l-header__item:hover .l-header__sub-item {
    visibility: visible;
    opacity: 1;
  }

  .l-header__sub-menu:hover .l-header__sub-menu__image::after {
    opacity: 1;
  }

  .l-header__sub-menu:hover .l-header__sub-menu__image img {
    transform: scale(1.05);
  }

  .l-footer__toggle:hover {
    opacity: 0.8;
  }

  .l-footer__item > a:hover {
    opacity: 0.8;
  }

  .l-footer__sub-list a:hover {
    opacity: 0.8;
  }

  .l-footer__nav a:hover {
    opacity: 0.8;
  }

  .l-breadcrumb__item a:hover {
    opacity: 0.8;
  }

  .c-drawer__item > a:hover {
    opacity: 0.8;
  }

  .c-drawer__sub-item a:hover {
    opacity: 0.8;
  }

  .c-scroll-top:hover {
    opacity: 0.8;
  }

  .c-scroll-top:hover svg {
    transform: translateY(-2px);
  }

  .c-button:hover {
    color: #fff;
    background-color: #025336;
  }

  .c-button.c-button--primary:hover svg {
    transform: translateX(10px) translateY(-50%);
  }

  .c-button.c-button--guide:hover {
    color: #025336;
    background-color: #fff;
  }

  .c-button.c-button--back:hover svg {
    transform: translateX(-10px) translateY(-50%) rotateY(180deg);
  }

  .c-button-fill:hover {
    color: #025336;
    background-color: #fff;
  }

  .c-button-fill.c-button-fill--zoom:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_zoom--primary.svg);
    transform: scale(1.2);
  }

  .c-button-fill.c-button-fill--station:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_external02--primary.svg);
  }

  .c-button-fill.c-button-fill--external:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_external02--primary.svg);
  }

  .c-button-fill.c-button-fill--download:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_download--primary.svg);
  }

  .c-button-fill.c-button-fill--pdf:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_pdf--primary.svg);
  }

  .c-button-fill.c-button-fill--sound:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_sound--primary.svg);
  }

  .c-button-fill.c-button-fill--pamphlet:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_pdf--primary.svg);
  }

  .c-link-text:hover {
    opacity: 0.8;
  }

  .c-link-text.c-link-text--icon:hover::after {
    position: relative;
    transform: translate(1px, -1px);
  }

  .c-external:hover {
    opacity: 0.8;
  }

  .c-external:hover::after {
    position: relative;
    transform: translate(1px, -1px);
  }

  .c-image-card:hover .c-image-card__image::after {
    opacity: 1;
  }

  .c-image-card:hover .c-image-card__image img {
    transform: scale(1.05);
  }

  .c-image-card:hover .c-image-card__text::after {
    transform: translateY(-50%) translateX(10px);
  }

  .c-image-card:hover svg {
    transform: translateX(10px);
  }

  .c-image-card.c-image-card--equipment:hover p::after {
    transform: translateX(10px);
  }

  .c-image-card.c-image-card--equipment-small:hover p::after {
    transform: translateX(10px);
  }

  .c-image-card.c-image-card--about:hover .c-image-card__text::after {
    transform: translateX(calc(-50% + 10px));
  }

  .c-anchor__link:hover {
    color: #025336;
    background-color: #fff;
  }

  .c-anchor__link:hover::after {
    background-image: url(/gsdf/assets/images/common/icon_anchor--primary.svg);
    transform: translateY(calc(-50% + 2px));
  }

  .c-content-box-three.c-content-box-three--army .c-content-box a:hover {
    opacity: 0.8;
  }

  .c-content-box__sns__link:hover {
    opacity: 0.8;
  }

  .c-category:hover {
    color: #fff;
    background-color: #025336;
  }

  .c-category.c-category--no-hover:hover {
    color: #025336;
    background-color: #fff;
  }

  .c-news-card.c-news-card--image .c-news-card__link:hover .c-news-card__image::after {
    opacity: 1;
  }

  .c-news-card.c-news-card--image .c-news-card__link:hover .c-news-card__image img {
    transform: scale(1.05);
  }

  .c-news-card__link:hover {
    background-color: rgb(51 51 51 / 10%);
  }

  .c-news-card__link:hover .c-news-card__title {
    color: #025336;
  }

  .c-link-card02__link:hover .c-link-card02__image::after {
    opacity: 1;
  }

  .c-link-card02__link:hover .c-link-card02__image img {
    transform: scale(1.05);
  }

  .c-link-card02__link:hover .c-link-card02__text-wrap {
    background-color: rgb(2 83 54 / 16%);
  }

  .c-link-card02__link:hover .c-link-card02__text-wrap::after {
    transform: translateX(10px);
  }

  .c-link-card03__link:hover {
    background-color: #025336;
  }

  .c-link-card03__link:hover .c-link-card03__title,
  .c-link-card03__link:hover p {
    color: #fff;
  }

  .c-link-card04__link:hover {
    opacity: 0.8;
  }

  .c-link-card04__link:hover::after {
    transform: translate(2px, -2px);
  }

  .c-accordion__question:hover {
    opacity: 0.8;
  }

  img.js-popup:hover {
    opacity: 0.8;
  }

  .c-modal__close:hover {
    opacity: 0.8;
  }

  .c-map__map-pc #division02:hover,
  .c-map__map-pc #division05:hover,
  .c-map__map-pc #division07:hover,
  .c-map__map-pc #division11:hover {
    fill: #edff66;
  }

  .c-map__map-pc #division06:hover,
  .c-map__map-pc #division09:hover {
    fill: #ded2ef;
  }

  .c-map__map-pc #division01:hover,
  .c-map__map-pc #division12:hover {
    fill: #79ffdd;
  }

  .c-map__map-pc #division03:hover,
  .c-map__map-pc #division10:hover,
  .c-map__map-pc #division13:hover,
  .c-map__map-pc #division14:hover {
    fill: #9f7;
  }

  .c-map__map-pc #division04:hover,
  .c-map__map-pc #division08:hover,
  .c-map__map-pc #division15:hover {
    fill: #4cf0ff;
  }

  .c-map__command a:hover {
    transform: scale(1.05);
  }

  .c-map__command a:hover::after {
    opacity: 1;
  }

  .c-map__division a:hover {
    opacity: 0.8;
    transform: scale(1.05);
  }

  .c-map__table__sub-item a:hover {
    opacity: 0.8;
  }

  .p-news-sec__button:hover {
    color: #fff;
    background-color: #666;
  }

  .p-news-sec__button:hover svg {
    transform: translateX(10px);
  }

  .p-news-sec__sns a:hover {
    opacity: 0.8;
  }

  .p-initiatives__link:hover::before {
    opacity: 1;
  }

  .p-initiatives__link:hover::after {
    transform: translateX(10px);
  }

  .p-news__link > a:hover {
    opacity: 0.8;
  }

  .p-equipment__link:hover .p-equipment__image::after {
    opacity: 1;
  }

  .p-equipment__link:hover .p-equipment__image img {
    transform: scale(1.05);
  }

  .p-event__banner:hover {
    opacity: 0.8;
  }

  .p-character__sns a:hover {
    opacity: 0.8;
  }

  .p-movie__youtube a:hover {
    opacity: 0.8;
  }

  .p-paper-craft__pdf a:hover {
    opacity: 0.8;
  }

  .p-army__row > a:hover {
    opacity: 0.8;
  }

  .p-meals__item > a:hover {
    opacity: 0.8;
  }

  .p-meals__item__category a:hover {
    opacity: 0.8;
  }

  .p-meals__category button:hover {
    opacity: 0.8;
  }

  .p-meals__menu__link:hover {
    opacity: 0.8;
  }

  .p-meals__menu__link:hover .p-meals__menu__image img {
    transform: scale(1.05);
  }

  .u-hover:hover {
    opacity: 0.8;
  }
}

@media (any-hover: none){
  .l-header__logo a:active {
    opacity: 0.8;
  }

  .l-header__select a:active,
  .l-header__select button:active {
    color: #025336;
  }

  .l-header__links a:active {
    color: #025336;
  }

  .l-header--top .l-header__links a:active {
    color: #fff;
    opacity: 0.8;
  }

  .l-header--top-scroll .l-header__links a:active {
    color: #025336;
    opacity: 1;
  }

  .l-header__item > a:active {
    color: #025336;
  }

  .l-header__item > a:active::after {
    opacity: 1;
  }

  .l-header--top .l-header__item > a:active {
    color: #fff;
  }

  .l-header--top .l-header__item > a:active::after {
    background-color: #fff;
    opacity: 1;
  }

  .l-header--top-scroll .l-header__item > a:active {
    color: #025336;
  }

  .l-header--top-scroll .l-header__item > a:active::after {
    background-color: #025336;
    opacity: 1;
  }

  .l-header__item:active > a::after {
    opacity: 1;
  }

  .l-header--top:not(.l-header--top-scroll) .l-header__item:active > a::after {
    background-color: #fff;
  }

  .l-header__item:active .l-header__sub-item {
    visibility: visible;
    opacity: 1;
  }

  .l-header__sub-menu:active .l-header__sub-menu__image::after {
    opacity: 1;
  }

  .l-header__sub-menu:active .l-header__sub-menu__image img {
    transform: scale(1.05);
  }

  .l-footer__toggle:active {
    opacity: 0.8;
  }

  .l-footer__item > a:active {
    opacity: 0.8;
  }

  .l-footer__sub-list a:active {
    opacity: 0.8;
  }

  .l-footer__nav a:active {
    opacity: 0.8;
  }

  .l-breadcrumb__item a:active {
    opacity: 0.8;
  }

  .c-drawer__item > a:active {
    opacity: 0.8;
  }

  .c-drawer__sub-item a:active {
    opacity: 0.8;
  }

  .c-scroll-top:active {
    opacity: 0.8;
  }

  .c-scroll-top:active svg {
    transform: translateY(-2px);
  }

  .c-button:active {
    color: #fff;
    background-color: #025336;
  }

  .c-button.c-button--primary:active svg {
    transform: translateX(10px) translateY(-50%);
  }

  .c-button.c-button--guide:active {
    color: #025336;
    background-color: #fff;
  }

  .c-button.c-button--back:active svg {
    transform: translateX(-10px) translateY(-50%) rotateY(180deg);
  }

  .c-button-fill:active {
    color: #025336;
    background-color: #fff;
  }

  .c-button-fill.c-button-fill--zoom:active::after {
    background-image: url(/gsdf/assets/images/common/icon_zoom--primary.svg);
    transform: scale(1.2);
  }

  .c-button-fill.c-button-fill--station:active::after {
    background-image: url(/gsdf/assets/images/common/icon_external02--primary.svg);
  }

  .c-button-fill.c-button-fill--external:active::after {
    background-image: url(/gsdf/assets/images/common/icon_external02--primary.svg);
  }

  .c-button-fill.c-button-fill--download:active::after {
    background-image: url(/gsdf/assets/images/common/icon_download--primary.svg);
  }

  .c-button-fill.c-button-fill--pdf:active::after {
    background-image: url(/gsdf/assets/images/common/icon_pdf--primary.svg);
  }

  .c-button-fill.c-button-fill--sound:active::after {
    background-image: url(/gsdf/assets/images/common/icon_sound--primary.svg);
  }

  .c-button-fill.c-button-fill--pamphlet:active::after {
    background-image: url(/gsdf/assets/images/common/icon_pdf--primary.svg);
  }

  .c-link-text:active {
    opacity: 0.8;
  }

  .c-link-text.c-link-text--icon:active::after {
    position: relative;
    transform: translate(1px, -1px);
  }

  .c-external:active {
    opacity: 0.8;
  }

  .c-external:active::after {
    position: relative;
    transform: translate(1px, -1px);
  }

  .c-image-card:active .c-image-card__image::after {
    opacity: 1;
  }

  .c-image-card:active .c-image-card__image img {
    transform: scale(1.05);
  }

  .c-image-card:active .c-image-card__text::after {
    transform: translateY(-50%) translateX(10px);
  }

  .c-image-card:active svg {
    transform: translateX(10px);
  }

  .c-image-card.c-image-card--equipment:active p::after {
    transform: translateX(10px);
  }

  .c-image-card.c-image-card--equipment-small:active p::after {
    transform: translateX(10px);
  }

  .c-image-card.c-image-card--about:active .c-image-card__text::after {
    transform: translateX(calc(-50% + 10px));
  }

  .c-anchor__link:active {
    color: #025336;
    background-color: #fff;
  }

  .c-anchor__link:active::after {
    background-image: url(/gsdf/assets/images/common/icon_anchor--primary.svg);
    transform: translateY(calc(-50% + 2px));
  }

  .c-content-box-three.c-content-box-three--army .c-content-box a:active {
    opacity: 0.8;
  }

  .c-content-box__sns__link:active {
    opacity: 0.8;
  }

  .c-category:active {
    color: #fff;
    background-color: #025336;
  }

  .c-category.c-category--no-hover:active {
    color: #025336;
    background-color: #fff;
  }

  .c-news-card.c-news-card--image .c-news-card__link:active .c-news-card__image::after {
    opacity: 1;
  }

  .c-news-card.c-news-card--image .c-news-card__link:active .c-news-card__image img {
    transform: scale(1.05);
  }

  .c-news-card__link:active {
    background-color: rgb(51 51 51 / 10%);
  }

  .c-news-card__link:active .c-news-card__title {
    color: #025336;
  }

  .c-link-card02__link:active .c-link-card02__image::after {
    opacity: 1;
  }

  .c-link-card02__link:active .c-link-card02__image img {
    transform: scale(1.05);
  }

  .c-link-card02__link:active .c-link-card02__text-wrap {
    background-color: rgb(2 83 54 / 16%);
  }

  .c-link-card02__link:active .c-link-card02__text-wrap::after {
    transform: translateX(10px);
  }

  .c-link-card03__link:active {
    background-color: #025336;
  }

  .c-link-card03__link:active .c-link-card03__title,
  .c-link-card03__link:active p {
    color: #fff;
  }

  .c-link-card04__link:active {
    opacity: 0.8;
  }

  .c-link-card04__link:active::after {
    transform: translate(2px, -2px);
  }

  .c-accordion__question:active {
    opacity: 0.8;
  }

  img.js-popup:active {
    opacity: 0.8;
  }

  .c-modal__close:active {
    opacity: 0.8;
  }

  .c-map__map-pc #division02:active,
  .c-map__map-pc #division05:active,
  .c-map__map-pc #division07:active,
  .c-map__map-pc #division11:active {
    fill: #edff66;
  }

  .c-map__map-pc #division06:active,
  .c-map__map-pc #division09:active {
    fill: #ded2ef;
  }

  .c-map__map-pc #division01:active,
  .c-map__map-pc #division12:active {
    fill: #79ffdd;
  }

  .c-map__map-pc #division03:active,
  .c-map__map-pc #division10:active,
  .c-map__map-pc #division13:active,
  .c-map__map-pc #division14:active {
    fill: #9f7;
  }

  .c-map__map-pc #division04:active,
  .c-map__map-pc #division08:active,
  .c-map__map-pc #division15:active {
    fill: #4cf0ff;
  }

  .c-map__command a:active {
    transform: scale(1.05);
  }

  .c-map__command a:active::after {
    opacity: 1;
  }

  .c-map__division a:active {
    opacity: 0.8;
    transform: scale(1.05);
  }

  .c-map__table__sub-item a:active {
    opacity: 0.8;
  }

  .p-news-sec__button:active {
    color: #fff;
    background-color: #666;
  }

  .p-news-sec__button:active svg {
    transform: translateX(10px);
  }

  .p-news-sec__sns a:active {
    opacity: 0.8;
  }

  .p-initiatives__link:active::before {
    opacity: 1;
  }

  .p-initiatives__link:active::after {
    transform: translateX(10px);
  }

  .p-news__link > a:active {
    opacity: 0.8;
  }

  .p-equipment__link:active .p-equipment__image::after {
    opacity: 1;
  }

  .p-equipment__link:active .p-equipment__image img {
    transform: scale(1.05);
  }

  .p-event__banner:active {
    opacity: 0.8;
  }

  .p-character__sns a:active {
    opacity: 0.8;
  }

  .p-movie__youtube a:active {
    opacity: 0.8;
  }

  .p-paper-craft__pdf a:active {
    opacity: 0.8;
  }

  .p-army__row > a:active {
    opacity: 0.8;
  }

  .p-meals__item > a:active {
    opacity: 0.8;
  }

  .p-meals__item__category a:active {
    opacity: 0.8;
  }

  .p-meals__category button:active {
    opacity: 0.8;
  }

  .p-meals__menu__link:active {
    opacity: 0.8;
  }

  .p-meals__menu__link:active .p-meals__menu__image img {
    transform: scale(1.05);
  }

  .u-hover:active {
    opacity: 0.8;
  }
}

@media print{
  @page {
    size: a4;
  }

  html {
    zoom: 0.7;
  }

  .l-header,
  .l-footer,
  .c-scroll-top,
  .c-map__table {
    display: none;
  }

  .p-station__row ~ .c-iframe iframe {
    width: 100% !important;
    height: 560px !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
    break-inside: avoid;
  }
}

@media screen and (any-hover: hover) and (min-width: 768px), print and (any-hover: hover){
  .c-news-card__link:hover::after {
    transform: translate(10px, -50%);
  }
}

@media screen and (any-hover: none) and (min-width: 768px), print and (any-hover: none){
  .c-news-card__link:active::after {
    transform: translate(10px, -50%);
  }
}

@media screen and (min-width: 1024px), print{
  .l-content__row .l-main {
    width: calc(100% - 330px);
  }

  .l-footer__row {
    flex-direction: row;
  }

  .c-figure-wrap {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .c-content-box-three {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .c-content-box {
    padding: 45px 55px;
  }

  .c-news-card__link {
    flex-direction: row;
    align-items: center;
  }

  .c-link-card02__text-wrap {
    padding: 40px 40px 40px 50px;
  }

  .c-link-card03__link {
    padding: 35px 30px;
  }

  .c-link-card04 {
    grid-template-columns: repeat(3, minmax(0, 350px));
  }

  .c-link-card04:has(> :only-child) {
    justify-content: start;
  }

  .c-one-page__button {
    max-width: 66%;
  }

  .p-recruit__swiper .swiper-button-prev {
    left: -10px;
  }

  .p-recruit__swiper .swiper-button-next {
    right: -10px;
  }

  .p-recruit__row {
    column-gap: 24px;
  }

  .p-recruit__link {
    width: calc((100% - 24px) / 2);
  }

  .p-news-sec__row {
    column-gap: 80px;
  }

  .p-about-sec.p-about-sec--jp::after {
    height: 210px;
  }

  .p-about-sec__list {
    display: flex;
    flex-wrap: nowrap;
    column-gap: 12px;
    max-width: 100%;
  }

  .p-about-sec__item:nth-of-type(even) {
    position: relative;
    top: 48px;
  }

  .p-greeting__image {
    float: right;
    width: 300px;
    margin-bottom: 30px;
    margin-left: 25px;
  }

  .p-one-page__image {
    width: calc((100% - 64px) / 3);
  }

  .p-initiatives__link::after {
    bottom: 55px;
  }

  .p-training__decoration.p-training__decoration--top {
    margin-top: 230px;
  }

  .p-training__decoration.p-training__decoration--top::before {
    height: 210px;
  }

  .p-training__decoration.p-training__decoration--bottom {
    margin-bottom: 230px;
  }

  .p-training__decoration.p-training__decoration--bottom::after {
    height: 210px;
  }

  .p-history__item {
    column-gap: 35px;
  }

  .p-history__row {
    flex-wrap: nowrap;
  }

  .p-history__image {
    flex-shrink: 0;
    width: 42.4691358025%;
  }

  .p-history__point::before, .p-history__point::after {
    width: 35px;
  }

  .p-station__text {
    width: 40.9090909091%;
  }

  .p-station__image {
    width: 51.8181818182%;
  }

  .p-event__row {
    column-gap: 50px;
  }

  .p-event__movie {
    width: calc((100% - 50px) / 2);
  }

  .p-character__text {
    width: 64.0077821012%;
  }

  .p-sound__list {
    grid-template-columns: repeat(auto-fit, minmax(350px, 350px));
  }

  .p-army__row {
    align-items: flex-start;
  }

  .p-army__row > a {
    width: 35.2727272727%;
  }

  .p-army__text {
    width: 53.4545454545%;
  }

  .p-army__text .c-content-box {
    padding: 32px;
  }

  .p-meals__content--01 .p-meals__content__row {
    align-items: flex-end;
    margin-top: 0;
  }

  .p-meals__content--01 .p-meals__content__row p {
    width: 63.2264529058%;
  }

  .p-meals__content--01 .p-meals__content__row img {
    width: 31.0621242485%;
  }

  .p-meals__item {
    column-gap: 48px;
  }

  .p-meals__menu {
    grid-template-columns: repeat(auto-fit, minmax(350px, 350px));
  }

  .u-invisible-lg {
    display: none;
  }
}

@media screen and (min-width: 1280px), print{
  html {
    scroll-padding-top: 130px;
  }

  .l-header {
    height: 126px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text {
    column-gap: 40px;
  }

  .c-anchor.c-anchor--large {
    column-gap: 50px;
  }

  .c-anchor--large .c-anchor__link {
    width: 472px;
    height: 98px;
    padding-left: 56px;
    font-size: 2.2rem;
  }

  .c-news-card.c-news-card--image .c-news-card__link {
    column-gap: 55px;
  }

  .c-news-card__text {
    width: 75.7272727273%;
  }

  .c-map {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .p-recruit__row {
    column-gap: 48px;
  }

  .p-recruit__link {
    width: calc((100% - 48px) / 2);
  }

  .p-greeting__image {
    width: 300px;
    margin-bottom: 50px;
    margin-left: 100px;
  }

  .p-initiatives__item:nth-of-type(odd) .p-initiatives__link span {
    -webkit-clip-path: polygon(58% 0, 100% 0, 100% 100%, 0% 100%);
            clip-path: polygon(58% 0, 100% 0, 100% 100%, 0% 100%);
  }

  .p-initiatives__item:nth-of-type(even) .p-initiatives__link span {
    -webkit-clip-path: polygon(0 0, 42% 0, 100% 100%, 0% 100%);
            clip-path: polygon(0 0, 42% 0, 100% 100%, 0% 100%);
  }

  .p-initiatives__text h2 {
    min-height: 72px;
    font-size: 2.4rem;
  }

  .p-initiatives__text p {
    margin-top: 30px;
    font-size: 2.1rem;
  }

  .p-training__section01__text,
  .p-training__section04__text {
    width: 575px;
    max-width: 100%;
    padding-bottom: 330px;
  }

  .p-training__section01__text p,
  .p-training__section04__text p {
    width: 92%;
  }

  .p-training__section01__image,
  .p-training__section04__image {
    position: absolute;
    right: 0;
    bottom: 0;
    grid-template-columns: repeat(2, 312px);
    width: -webkit-fit-content;
    width: fit-content;
    margin-top: 0;
  }

  .p-training__section01__image .c-figure:first-of-type,
  .p-training__section04__image .c-figure:first-of-type {
    grid-column-start: 2;
  }

  .p-training__section03__text {
    width: 408px;
    max-width: 100%;
    padding-bottom: 360px;
    margin-left: auto;
  }

  .p-training__section03__image {
    position: absolute;
    bottom: 0;
    left: 0;
    grid-template-columns: repeat(3, 312px);
    width: -webkit-fit-content;
    width: fit-content;
    margin-top: 0;
  }

  .p-training__section03__image .c-figure:nth-of-type(3), .p-training__section03__image .c-figure:nth-of-type(4), .p-training__section03__image .c-figure:nth-of-type(5) {
    grid-row-start: 2;
  }

  .p-jp-us__square {
    gap: 310px 392px;
  }

  .p-jp-us__circle {
    position: absolute;
    top: 426px;
    left: 50%;
    transform: translateX(-50%);
  }

  .p-jp-us__circle__item {
    width: 282px;
    height: 282px;
  }

  .p-movie__list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .u-invisible-xl {
    display: none;
  }
}

@media screen and (min-width: 1536px), print{
  .u-invisible-xxl {
    display: none;
  }
}

@media screen and (min-width: 640px), print{
  .c-image-card.c-image-card--equipment-small p {
    width: 185px;
    height: 42px;
    padding: 0 42px 0 22px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__image::before {
    min-height: 130px;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text::after {
    right: 30px;
    width: 44px;
    height: 6px;
    background-image: url(/gsdf/assets/images/common/icon_arrow03.svg);
  }

  .c-image-card.c-image-card--recruit .c-image-card__text h3 {
    font-size: 2.2rem;
  }

  .c-image-card.c-image-card--recruit .c-image-card__text p {
    font-size: 1.4rem;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small .c-image-card__text {
    min-height: 93px;
    padding: 0 60px 0 20px;
  }

  .c-modal .swiper-button-prev,
  .c-modal .swiper-button-next {
    top: 39%;
  }

  .p-equipment__list {
    grid-template-columns: repeat(auto-fit, minmax(257px, 257px));
  }

  .p-equipment__sub-list {
    grid-template-columns: repeat(auto-fit, minmax(232px, 232px));
  }

  .p-equipment__sub-list.p-equipment__sub-list--top {
    grid-template-columns: repeat(auto-fit, minmax(258px, 258px));
  }

  .u-invisible-sm {
    display: none;
  }
}

@media screen and (min-width: 768px), print{
  .l-content {
    padding: 80px 0;
  }

  .l-header__logo {
    padding: 0 40px 0 22px;
  }

  .l-header__logo img {
    width: 192px;
  }

  .l-header__list {
    display: flex;
    column-gap: 24px;
    align-items: center;
    justify-content: flex-end;
  }

  .l-footer__list {
    gap: 32px 20px;
  }

  .l-footer__item {
    width: 236px;
  }

  .l-footer__content {
    padding: 40px 0 72px;
  }

  .l-breadcrumb__item {
    font-size: 1.6rem;
  }

  .c-drawer {
    top: 24px;
  }

  .c-drawer__content {
    top: 80px;
  }

  .c-button.c-button--news {
    width: 175px;
  }

  .c-heading {
    font-size: 2.8rem;
  }

  .c-heading.c-heading--line {
    padding-bottom: 25px;
  }

  .c-heading.c-heading--center-white {
    padding-bottom: 24px;
  }

  .c-heading.c-heading--small {
    font-size: 2.3rem;
  }

  .c-heading-fill {
    width: 342px;
    padding: 8px 60px 8px 24px;
    font-size: 1.9rem;
  }

  .c-heading-top {
    padding-bottom: 25px;
    font-size: 3rem;
  }

  .c-heading-top.c-heading-top--deployment {
    text-align: center;
  }

  .c-heading-top.c-heading-top--deployment::after {
    left: 50%;
    transform: translateX(-50%);
  }

  .c-text {
    font-size: 1.9rem;
  }

  .c-text.c-text--center {
    text-align: center;
  }

  .c-text.c-text--small {
    font-size: 1.5rem;
  }

  .c-text.c-text--bold {
    font-size: 2rem;
  }

  .c-link-text {
    top: 1.6rem;
    font-size: 1.9rem;
  }

  .c-image-card.c-image-card--equipment p {
    width: 263px;
    height: 60px;
    padding: 0 60px 0 22px;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small .c-image-card__image::before {
    min-height: 93px;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small h3 {
    font-size: 1.6rem;
  }

  .c-image-card.c-image-card--recruit.c-image-card--recruit-small p {
    font-size: 1rem;
  }

  .c-image-card.c-image-card--about .c-image-card__image::before {
    min-height: 85px;
  }

  .c-image-card.c-image-card--about .c-image-card__text {
    min-height: 85px;
    padding-top: 24px;
  }

  .c-image-card.c-image-card--about .c-image-card__text p {
    font-size: 1.6rem;
  }

  .c-image-card.c-image-card--about .c-image-card__text::after {
    bottom: 22px;
  }

  .c-image-card.c-image-card--about .c-image-card__text.c-image-card__text--two {
    padding-top: 12px;
  }

  .c-anchor.c-anchor--mt {
    margin-top: 40px;
  }

  .c-anchor__link::after {
    right: 48px;
    width: 22px;
    height: 12px;
  }

  .c-anchor__link svg {
    right: 48px;
  }

  .c-figure figcaption {
    font-size: 1.7rem;
  }

  .c-content-box-grid {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }

  .c-content-box-three .c-content-box {
    row-gap: 32px;
    padding: 32px;
  }

  .c-content-box-three.c-content-box-three--army .c-content-box {
    row-gap: 24px;
  }

  .c-content-box-three.c-content-box-three--army .c-content-box p {
    font-size: 1.8rem;
  }

  .c-content-box.c-content-box--pko {
    padding: 45px 55px;
  }

  .c-content-box__row.c-content-box__row--reverse {
    flex-direction: row-reverse;
  }

  .c-content-box__text {
    width: 50%;
  }

  .c-content-box__title {
    font-size: 2rem;
  }

  .c-content-box__image {
    width: 46.9696969697%;
    text-align: right;
  }

  .c-content-box__row--reverse .c-content-box__image {
    text-align: left;
  }

  .c-content-box__image-row {
    column-gap: 32px;
    margin-top: 32px;
  }

  .c-content-box__image-row img {
    width: calc((100% - 32px) / 2);
  }

  .c-border-box {
    padding: 32px;
  }

  .c-border-box__title {
    font-size: 2.2rem;
  }

  .c-news-card__link::after {
    position: absolute;
    top: 50%;
    right: 24px;
    width: 22px;
    height: 3px;
    content: "";
    background: url(/gsdf/assets/images/common/icon_arrow05.svg) no-repeat center center/contain;
    transform: translateY(-50%);
    transition: transform 0.3s ease-out;
  }

  .c-news-card__title {
    padding-right: 60px;
  }

  .c-news-card__image {
    width: 212px;
  }

  .c-link-card01.c-link-card01--mb {
    margin-bottom: 80px;
  }

  .c-link-card02__link:nth-of-type(even) {
    flex-direction: row-reverse;
  }

  .c-link-card02__image {
    width: 36.1818181818%;
  }

  .c-link-card02__text h2 {
    font-size: 2rem;
  }

  .c-link-card02__text p {
    margin-top: 20px;
  }

  .c-link-card03 {
    grid-template-columns: 1fr 1fr;
  }

  .c-link-card03__link p {
    font-size: 1.8rem;
  }

  .c-link-card03__title {
    font-size: 2rem;
  }

  .c-link-card04__image img {
    width: calc((100% - 8px) / 2);
  }

  .c-one-page {
    column-gap: 100px;
    align-items: flex-start;
  }

  .c-one-page__heading h3 {
    margin-right: auto;
    font-size: 1.9rem;
    line-height: 1.47;
    color: #025336;
    text-align: right;
  }

  .c-accordion__question,
  .c-accordion__answer {
    column-gap: 16px;
  }

  .c-accordion__question::before,
  .c-accordion__answer::before {
    font-size: 3.1rem;
  }

  .c-accordion__question {
    padding: 20px 64px 20px 24px;
    font-size: 2rem;
  }

  .c-accordion__question span::before {
    right: 42px;
  }

  .c-accordion__question span::after {
    right: 49px;
  }

  .c-accordion__answer {
    padding: 0 24px;
  }

  .c-accordion__answer.is-accordion--open {
    padding: 24px;
  }

  .c-accordion__content strong {
    font-size: 2rem;
  }

  .c-accordion__content p:not(:first-of-type) {
    margin-top: 40px;
  }

  .c-accordion__content.c-accordion__content--row {
    column-gap: 42px;
  }

  .c-accordion__content--row .c-accordion__content__text {
    width: 67.6288659794%;
  }

  .c-accordion__content--row .c-accordion__content__image {
    width: 28.0412371134%;
    margin-right: auto;
  }

  .c-accordion__content--row .c-accordion__content__image img {
    width: 100%;
  }

  .c-modal.c-modal--equipment .swiper-slide {
    padding: 64px 80px;
  }

  .c-modal.c-modal--meals.is-open .c-modal__content {
    padding: 64px 80px;
  }

  .c-modal.c-modal--meals .c-modal__sub-title {
    font-size: 1.7rem;
  }

  .c-modal.c-modal--meals .c-modal__row p,
  .c-modal.c-modal--meals .c-modal__row img {
    width: calc((100% - 32px) / 2);
  }

  .c-modal .c-modal__title {
    font-size: 2.2rem;
  }

  .c-modal .c-modal__list-row {
    column-gap: 40px;
  }

  .c-modal .c-modal__list-row dt {
    width: 113px;
  }

  .c-modal__close {
    top: 24px;
    right: 24px;
  }

  .p-mv-page__image img {
    min-height: 296px;
    max-height: 415px;
  }

  .p-mv-page__title h1 {
    font-size: 3rem;
  }

  .p-mv-page__title span {
    font-size: 2.2rem;
  }

  .p-recruit {
    padding-top: 80px;
  }

  .p-recruit__content {
    padding: 46px 48px 56px;
  }

  .p-recruit__banner {
    column-gap: 32px;
  }

  .p-recruit__banner a {
    width: calc((100% - 32px) / 2);
  }

  .p-recruit__row {
    margin-top: 50px;
  }

  .p-news-sec {
    padding-top: 90px;
  }

  .p-news-sec.p-news-sec--en {
    padding: 64px 0;
  }

  .p-news-sec__content {
    padding: 42px 46px;
  }

  .p-news-sec__category {
    flex-direction: column;
    margin-top: 24px;
  }

  .p-news-sec__sns {
    margin-bottom: 24px;
  }

  .p-about-sec.p-about-sec--jp {
    padding: 90px 0 50px;
  }

  .p-about-sec--en .p-about-sec__list, .p-initiatives .p-about-sec__list {
    grid-template-columns: repeat(2, minmax(210px, 210px));
  }

  .p-about-sec__button {
    top: calc(100% + 75px);
  }

  .p-deployment-sec {
    margin-top: 210px;
  }

  .p-station-sec {
    margin-top: 75px;
  }

  .p-station-sec__button {
    margin-top: 96px;
  }

  .p-equipment-sec {
    background-image: url(/gsdf/assets/images/top/equipment_bg_pc.png);
  }

  .p-equipment-sec__wrapper .swiper-button-prev--equipment,
  .p-equipment-sec__wrapper .swiper-button-next--equipment {
    display: none;
  }

  .p-equipment-sec__swiper {
    margin-top: 80px;
  }

  .p-equipment-sec__swiper .swiper-slide {
    width: 344px;
  }

  .p-greeting__image h3 {
    font-size: 2.1rem;
  }

  .p-greeting__image p {
    font-size: 1.9rem;
  }

  .p-initiatives__item:nth-of-type(odd) .p-initiatives__link::after {
    right: 68px;
  }

  .p-initiatives__item:nth-of-type(even) .p-initiatives__link::after {
    left: 68px;
  }

  .p-initiatives__item:nth-of-type(even) .p-initiatives__text {
    left: 68px;
  }

  .p-initiatives__link span {
    width: 63%;
    min-width: 690px;
  }

  .p-initiatives__text {
    width: 380px;
    transform: translateY(-50%);
  }

  .p-roles__image {
    width: 35.9090909091%;
  }

  .p-roles__text {
    width: 59.0909090909%;
  }

  .p-roles__list h4 {
    font-size: 1.9rem;
  }

  .p-training__section01 {
    padding: 85px 0 20px;
  }

  .p-training__section01__image,
  .p-training__section04__image {
    margin-top: 32px;
  }

  .p-training__section03 {
    padding: 40px 0 20px;
  }

  .p-training__section03__image {
    margin-top: 32px;
  }

  .p-jp-us__square__item {
    width: 354px;
  }

  .p-jp-us__swiper .swiper-button-prev {
    left: -10px;
  }

  .p-jp-us__swiper .swiper-button-next {
    right: -10px;
  }

  .p-history {
    padding: 80px 0;
    margin-top: 120px;
  }

  .p-history__box {
    width: 45.4819277108%;
  }

  .p-history__box.p-history__box--active {
    padding: 24px;
  }

  .p-history__year {
    font-size: 2rem;
  }

  .p-history__list li {
    font-size: 1.5rem;
  }

  .p-history__list li p {
    font-size: 1.4rem;
  }

  .p-history__point {
    width: 20px;
    height: 20px;
  }

  .p-history__point:not(:has(+ .p-history__box--active))::after {
    display: none;
  }

  .p-news__link {
    margin-bottom: 80px;
  }

  .p-news__link > a {
    width: 102px;
  }

  .p-news__wrap {
    padding: 80px 0;
  }

  .p-news__content {
    padding: 40px 50px;
  }

  .p-news__list {
    margin-top: 30px;
  }

  .p-news__past {
    margin-top: 64px;
  }

  .p-station__text h3 {
    font-size: 1.8rem;
  }

  .p-station__text p {
    font-size: 1.6rem;
  }

  .p-station__image img {
    width: calc((100% - 16px) / 2);
  }

  .p-event__movie h3 span {
    font-size: 1.9rem;
  }

  .p-event__banner {
    margin-top: 50px;
  }

  .p-event__image {
    margin-top: 50px;
  }

  .p-event__youtube {
    margin-top: 60px;
  }

  .p-event__button {
    margin-top: 64px;
  }

  .p-character__image {
    margin-top: 50px;
  }

  .p-character__content {
    padding: 35px;
    margin-top: 50px;
  }

  .p-character__text h3 {
    font-size: 2.2rem;
  }

  .p-movie__sns {
    margin-top: 80px;
  }

  .p-movie__sns h3 {
    font-size: 2rem;
  }

  .p-paper-craft h2:not(:first-of-type) {
    margin-top: 100px;
  }

  .p-paper-craft__row {
    column-gap: 32px;
  }

  .p-paper-craft__image {
    width: 320px;
  }

  .p-paper-craft__download p {
    font-size: 1.8rem;
  }

  .p-paper-craft__pdf {
    margin-top: 80px;
  }

  .p-wallpaper__item {
    width: calc((100% - 48px) / 3);
  }

  .p-wallpaper__item h5 {
    font-size: 1.8rem;
  }

  .p-army__text p {
    font-size: 2.2rem;
  }

  .p-meals__bg {
    padding: 95px 0 75px;
  }

  .p-meals__bg p {
    margin-top: 45px;
    font-size: 2.1rem;
  }

  .p-meals__content {
    padding: 40px 50px;
  }

  .p-meals__content__row {
    margin-top: 32px;
  }

  .p-meals__content__image {
    margin-top: 50px;
  }

  .p-meals__menu__link-row img {
    width: 30%;
  }

  .p-meals__menu__title {
    width: 70%;
  }

  .p-mp__list li::before {
    top: 1.6rem;
    font-size: 1.9rem;
  }

  .p-zaisyoku__ol li:not(:first-of-type) {
    margin-top: 32px;
  }

  .p-zaisyoku__ul li:not(:first-of-type) {
    margin-top: 32px;
  }

  .p-privacy__item h2 {
    font-size: 2.1rem;
  }

  .p-privacy__sub-list01 li::before {
    top: 1.6rem;
    font-size: 1.9rem;
  }

  .p-rule__list li::before {
    top: 1.6rem;
    font-size: 1.9rem;
  }

  .u-invisible-md {
    display: none;
  }

  .u-mt-sm {
    margin-top: 24px;
  }

  .u-mt-md {
    margin-top: 32px;
  }

  .u-mt-lg {
    margin-top: 48px;
  }

  .u-mt-xl {
    margin-top: 64px;
  }

  .u-mt-xxl {
    margin-top: 80px;
  }
}