@charset "UTF-8";
/* Scss Document */
/*!
Theme Name: original_miyaho
Description: originaltheme.
Version: 1.0
*/
/*!
 * Bootstrap Reboot v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
 */
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-size: 16px;
  line-height: 1.7;
  font-weight: 400;
  -webkit-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: #000000;
  overflow-x: hidden;
  overflow-y: scroll;
}
article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

body {
  margin: 0;
  font-size: 1rem;
  font-weight: 400;
  line-height: inherit;
  text-align: left;
  color: #000000;
  background-color: #ffffff;
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 1rem;
  line-height: inherit;
  margin-top: 0;
  margin-bottom: 0;
}

p {
  margin: 0;
}

abbr[title],
abbr[data-original-title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  cursor: help;
  border-bottom: 0;
  -webkit-text-decoration-skip-ink: none;
          text-decoration-skip-ink: none;
}

address {
  font-style: normal;
  line-height: inherit;
}

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

ol ol,
ul ul,
ol ul,
ul ol {
  margin: 0;
  padding: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  vertical-align: middle;
  color: #007bff;
  text-decoration: none;
  background-color: transparent;
}

a:hover {
  text-decoration: none;
}

a:not([href]):not([tabindex]) {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):hover,
a:not([href]):not([tabindex]):focus {
  color: inherit;
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus {
  outline: 0;
}

pre,
code,
kbd,
samp {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: 1em;
}

pre {
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

figure {
  margin: 0 0 1rem;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  border-style: none;
}

svg {
  overflow: hidden;
  vertical-align: middle;
}

table {
  border-collapse: collapse;
}

caption {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  color: #6c757d;
  text-align: left;
  caption-side: bottom;
}

th {
  text-align: inherit;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border-radius: 0;
}

button:focus {
  outline: 1px dotted;
  outline: 5px auto -webkit-focus-ring-color;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: 1.5rem;
  line-height: inherit;
  color: inherit;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
  cursor: pointer;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}


/* Scss Document */
.cb {
  color: hsl(178, 97%, 3%);
}

.cw {
  color: hsl(178, 100%, 100%);
}

.cg {
  color: hsl(0, 0%, 95%);
}

.cd {
  color: hsl(0, 0%, 35%);
}

.c1 {
  color: hsl(0, 90%, 80%);
}

.c1-dark {
  color: hsl(0, 90%, 67%);
}

.c2 {
  color: hsl(183, 55%, 52%);
}

.c2-dark {
  color: hsl(183, 55%, 37%);
}

.c3 {
  color: hsl(291, 44%, 79%);
}

.c3-dark {
  color: hsl(291, 44%, 64%);
}

.bcb {
  background-color: hsl(178, 97%, 3%);
}

.bcw {
  background-color: hsl(178, 100%, 100%);
}

.bcg {
  background-color: hsl(0, 0%, 95%);
}

.bc1 {
  background-color: hsl(0, 90%, 80%);
}

/*グレースケール*/
.gray-effect {
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
  transition: 0.5s;
}

.gray-effect:hover {
  -moz-filter: grayscale(0);
  -ms-filter: grayscale(0);
  -o-filter: grayscale(0);
  filter: grayscale(0);
}

@media only screen and (max-width: 767px) {
  .gray-effect {
    -moz-filter: grayscale(0);
    -ms-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: grayscale(0);
  }
}
html {
  font-size: 15px;
  line-height: 1.15;
  letter-spacing: 0.025rem;
  -webkit-text-size-adjust: 100%;
  -ms-overflow-style: scrollbar;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100svh;
  width: 100%;
  overflow-x: hidden;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 1rem;
  line-height: 1.6;
  color: hsl(178, 97%, 3%);
  background-color: hsl(178, 100%, 100%);
  margin: 0;
  padding: 0;
  text-align: left;
}

main {
  flex: 1;
}
main h1,
main h2,
main h3,
main h4,
main h5 {
  color: hsl(178, 97%, 3%);
}
main p,
main a,
main span,
main li {
  color: hsl(0, 0%, 35%);
}

.section {
  padding: 3rem 0;
  position: relative;
}
.section .container {
  position: relative;
}
.section .containers {
  position: relative;
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 991px) {
  .section {
    padding: 3rem 0.5rem;
  }
}
.break-sp {
  display: none;
}

.break-pc {
  display: none;
}

@media only screen and (min-width: 576px) {
  a[href^="tel:"] {
    color: #171513;
    pointer-events: none;
  }
}
@media only screen and (max-width: 575px) {
  .break-sp {
    display: block;
  }
  .break-pc {
    display: none;
  }
  a[href^="tel:"] {
    color: #171513;
  }
  a:hover,
  a:active {
    opacity: 0.6;
  }
}
.row-gap-1 {
  row-gap: 0.25rem;
}

.row-gap-2 {
  row-gap: 0.5rem;
}

.row-gap-3 {
  row-gap: 1rem;
}

.row-gap-4 {
  row-gap: 1.5rem;
}

.row-gap-5 {
  row-gap: 3rem;
}

.breakPc {
  display: block;
}

.breakSp {
  display: none;
}

@media only screen and (max-width: 575px) {
  .breakPc {
    display: none;
  }
  .breakSp {
    display: block;
  }
}
.font-xs {
  font-size: 0.75rem;
}

.font-s {
  font-size: 0.875rem;
}

.font-m {
  font-size: 1.125rem;
}

.font-l {
  font-size: 1.25rem;
}

.font-xl {
  font-size: 1.5rem;
}

.font-xxl {
  font-size: 1.75rem;
}

.font-1 {
  font-size: 1rem;
}

.font-2 {
  font-size: 2rem;
}

.font-3 {
  font-size: 3rem;
}

.font-4 {
  font-size: 4rem;
}

.font-5 {
  font-size: 5rem;
}

.font-6 {
  font-size: 6rem;
}

.font-7 {
  font-size: 7rem;
}

.font-8 {
  font-size: 8rem;
}

.font-9 {
  font-size: 9rem;
}

.font-10 {
  font-size: 10rem;
}

.height-1 {
  line-height: 1;
}

.height-2 {
  line-height: 2;
}

.height-3 {
  line-height: 3;
}

.fw-bold {
  font-weight: bold;
}

.fw-normal {
  font-weight: normal;
}

/* Scss Document */
/* CSS Document */
.fadein-b {
  opacity: 0;
  transform: translateY(4px);
  transition: all 0.2s;
}

/* Scss Document */
/* CSS Document */
header {
  position: fixed;
  z-index: 998;
  width: 100%;
  height: 64px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: hsl(178, 100%, 100%);
  box-shadow: 0 0 4px hsla(178, 97%, 3%, 0.2);
}
header h1 {
  position: relative;
  z-index: 999;
  margin-left: 1rem;
}
header h1 a {
  display: block;
  width: 200px;
  transition: all 0.2s;
}
header h1 a:hover {
  opacity: 0.6;
}

#global-menu {
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-end;
  gap: 2rem;
  height: 100svh;
  background-color: hsl(178, 100%, 100%);
  padding: 64px 0 1rem 0;
  margin: 0;
  transform: translateX(100%);
  transition: transform 0.4s;
}
#global-menu .menuSns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding: 0 2rem;
}
#global-menu .menuSns li a {
  display: block;
  width: 32px;
}
#global-menu .menuHead {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0 2rem;
}
#global-menu .menuHead li {
  width: 100%;
}
#global-menu .menuHead li a {
  display: block;
  font-size: 1rem;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  border: solid 2px hsl(0, 90%, 80%);
  border-radius: 8px;
  padding: 0.75rem 1rem 0.5rem;
  text-align: center;
  transition: all 0.2s;
}
#global-menu .menuHead li:last-child a {
  background-color: hsl(183, 55%, 52%);
  border-color: hsl(183, 55%, 52%);
}
#global-menu ul.menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 0;
  margin-right: 0;
}
#global-menu ul.menu li {
  width: 100%;
  border-bottom: solid 1px hsl(0, 0%, 95%);
  position: relative;
}
#global-menu ul.menu li a,
#global-menu ul.menu li span {
  display: flex;
  justify-content: space-between;
  align-items: center;
  -moz-column-gap: 1rem;
       column-gap: 1rem;
  font-size: 1rem;
  color: hsl(178, 97%, 3%);
  font-weight: bold;
  padding: 1.5rem 2rem;
  transition: all 0.2s;
}
#global-menu ul.menu li a::after,
#global-menu ul.menu li span::after {
  content: ">";
  display: block;
  transition: transform 0.3s;
}
#global-menu ul.menu li .sub-menu {
  display: none;
  position: static;
  background-color: #f5f5f5;
  border-radius: 8px;
  box-shadow: none;
  width: 100%;
  transform: none;
  padding: 0;
  z-index: 1000;
}
#global-menu ul.menu li .sub-menu li {
  border-bottom: none;
  border-top: solid 1px hsl(0, 0%, 95%);
}
#global-menu ul.menu li .sub-menu li a {
  padding: 1rem 2rem 1rem 3rem;
  font-size: 0.875rem;
  border-bottom: none;
  justify-content: flex-start;
}
#global-menu ul.menu li .sub-menu li a::after {
  content: none;
}
#global-menu ul.menu li.is-active > a::after, #global-menu ul.menu li.is-active > span::after {
  transform: rotate(90deg);
}
#global-menu ul.menu li.is-active .sub-menu {
  display: block;
}
#global-menu ul.menu li:last-child a::after {
  content: ">";
}

#global-menu.active {
  transform: translateX(0);
}
#global-menu.active ul.menu li {
  transform: translateX(0);
}

.navToggle {
  display: block;
  position: fixed;
  z-index: 101;
  top: 0;
  right: 0;
  width: 64px;
  height: 64px;
  background-color: hsl(0, 90%, 80%);
  cursor: pointer;
  text-align: center;
}
.navToggle span {
  display: block;
  position: absolute;
  width: 32px;
  border-bottom: solid 1px hsl(178, 100%, 100%);
  transition: all 0.2s ease-in-out;
  left: 16px;
}
.navToggle span:nth-child(1) {
  top: 22px;
}
.navToggle span:nth-child(2) {
  top: 26px;
}
.navToggle span:nth-child(3) {
  top: 30px;
}
.navToggle p {
  position: absolute;
  bottom: 16px;
  left: 50%;
  font-size: 0.65rem;
  line-height: 1.25;
  color: hsl(178, 100%, 100%);
  transform: translateX(-50%);
}

.navToggle.active span:nth-child(1),
.navToggle.active span:nth-child(3) {
  top: 22px;
  left: 20px;
  width: 24px;
  transform: rotate(-45deg);
}

.navToggle.active span:nth-child(3) {
  transform: rotate(45deg);
}

.navToggle.active span:nth-child(2) {
  display: none;
}

#bg-black {
  display: none;
}

#bg-black.active {
  display: block;
  position: fixed;
  top: 64px;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-color: hsla(178, 97%, 3%, 0.8);
}

@media only screen and (min-width: 992px) {
  header {
    position: absolute;
    height: auto;
  }
  header h1 {
    margin-left: 2rem;
  }
  header h1 a {
    width: 320px;
  }
  #global-menu {
    position: static;
    z-index: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 1rem;
    height: 80px;
    background-color: transparent;
    padding: 0;
    margin-right: 2rem;
    transform: none;
    transition: none;
  }
  #global-menu .menuSns {
    display: none;
  }
  #global-menu .menuHead {
    flex-direction: row;
    align-items: center;
    gap: 1rem;
    padding: 0;
  }
  #global-menu .menuHead li {
    width: auto;
    border: none;
  }
  #global-menu .menuHead li a {
    border-top: none;
    border-radius: 0 0 8px 8px;
    padding: 0.25rem 1rem 0.15rem;
    text-align: left;
  }
}
@media only screen and (min-width: 992px) and (hover: hover) {
  #global-menu .menuHead li a:hover {
    color: hsl(0, 90%, 80%);
    background-color: transparent;
  }
}
@media only screen and (min-width: 992px) and (hover: none) {
  #global-menu .menuHead li a:hover {
    opacity: 0.6;
  }
}
@media only screen and (min-width: 992px) and (hover: hover) {
  #global-menu .menuHead li:last-child a:hover {
    color: hsl(183, 55%, 52%);
    background-color: transparent;
  }
}
@media only screen and (min-width: 992px) {
  #global-menu ul.menu {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding-bottom: 0.5rem;
  }
  #global-menu ul.menu li {
    width: auto;
    border-bottom: none;
  }
  #global-menu ul.menu li a,
  #global-menu ul.menu li span {
    font-size: 0.875rem;
    padding: 0;
    justify-content: flex-start;
  }
  #global-menu ul.menu li a::after,
  #global-menu ul.menu li span::after {
    content: "|";
    opacity: 0.3;
  }
}
@media only screen and (min-width: 992px) and (hover: hover) {
  #global-menu ul.menu li a:hover,
  #global-menu ul.menu li span:hover {
    text-decoration: underline;
  }
}
@media only screen and (min-width: 992px) and (hover: none) {
  #global-menu ul.menu li a:hover,
  #global-menu ul.menu li span:hover {
    opacity: 0.6;
  }
}
@media only screen and (min-width: 992px) {
  #global-menu ul.menu li .sub-menu {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    background-color: hsl(178, 100%, 100%);
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    min-width: 200px;
    padding: 0;
  }
  #global-menu ul.menu li .sub-menu li {
    border-top: none;
    border-bottom: none;
  }
  #global-menu ul.menu li .sub-menu li a {
    justify-content: flex-start;
    width: 100%;
    padding: 0.75rem 1rem;
    color: hsl(178, 97%, 3%);
    font-size: 0.875rem;
    border-bottom: 1px solid #eee;
  }
  #global-menu ul.menu li .sub-menu li a::after {
    content: none;
  }
}
@media only screen and (min-width: 992px) and (hover: hover) {
  #global-menu ul.menu li .sub-menu li a:hover {
    background-color: #f5f5f5;
    text-decoration: none;
  }
}
@media only screen and (min-width: 992px) {
  #global-menu ul.menu li .sub-menu li:last-child a {
    border-bottom: none;
  }
}
@media only screen and (min-width: 992px) and (hover: hover) {
  #global-menu ul.menu li:hover .sub-menu {
    display: block;
  }
}
@media only screen and (min-width: 992px) {
  #global-menu ul.menu li.is-active .sub-menu {
    display: block;
  }
  #global-menu ul.menu li.is-active > a::after, #global-menu ul.menu li.is-active > span::after {
    transform: none;
  }
  #global-menu ul.menu li:last-child a::after {
    content: none;
  }
  .navToggle {
    display: none;
  }
  #bg-black {
    display: none !important;
  }
}
/* Scss Document */
/* Scss Document */
.footerHead {
  background-color: hsl(0, 0%, 95%);
}
.footerHead .cardWrap {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  background-color: hsl(178, 100%, 100%);
  border-radius: 12px;
  padding: calc(1rem + 32px) 1rem 1rem;
  position: relative;
}
.footerHead .cardWrap .indexCaption {
  font-family: "source-han-sans-japanese", sans-serif;
  white-space: nowrap;
  position: absolute;
  top: 16px;
  left: 50%;
  transform: translateX(-50%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  padding: 2px 2px 8px 6px;
  border-style: solid;
  border-image-source: url(images/home/caption_bg.png);
  border-image-slice: 20 fill;
  border-width: 8px;
  border-image-repeat: stretch;
}
.footerHead .cardWrap h2 {
  text-align: center;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  line-height: 1.4;
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  border-radius: 12px;
  padding: 1.5rem 0.5rem 1rem;
}
.footerHead .cardWrap h2 span {
  display: block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
}
.footerHead .cardWrap .innerText {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  line-height: 1.6;
  font-weight: bold;
  border-top: 2px dashed hsl(0, 0%, 95%);
  padding-top: 1rem;
}
.footerHead .cardWrap .innerText .iconCheck {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: hsl(0, 90%, 80%);
  border-radius: 50%;
}
.footerHead .cardWrap .innerText .iconCheck img {
  max-width: 12px;
}
.footerHead .cardWrap .text02 {
  border-bottom: 2px dashed hsl(0, 0%, 95%);
  padding-bottom: 1rem;
}
.footerHead .ocWrap h2 {
  background-color: hsl(183, 55%, 52%);
}
.footerHead .ocWrap .innerText .iconCheck {
  background-color: hsl(183, 55%, 52%);
}
.footerHead .onlineApplicationWrap h2 {
  background-color: hsl(291, 44%, 79%);
}
.footerHead .onlineApplicationWrap .innerText .iconCheck {
  background-color: hsl(291, 44%, 79%);
}
.footerHead .tuitionWrap h2 {
  background-color: hsl(120, 54%, 56%);
}
.footerHead .tuitionWrap .innerText .iconCheck {
  background-color: hsl(120, 54%, 56%);
}

.footer {
  border-top: solid 1px hsl(0, 0%, 95%);
  padding-bottom: 1.5rem;
}
.footer .logo a {
  display: block;
  width: 320px;
  transition: all 0.2s;
}
.footer .logo a:hover {
  opacity: 0.6;
}
.footer .footerText p {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: bold;
}
.footer .menuSns {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 0.75rem;
}
.footer .menuSns li a {
  display: block;
  width: 24px;
  transition: all 0.2s;
}
.footer .menuSns li a:hover {
  opacity: 0.6;
}
.footer .footerNavWrap {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 2rem;
}
.footer .footerNav {
  display: flex;
  gap: 0.5rem;
}
.footer .footerNav .menu li {
  display: flex;
  align-items: center;
}
.footer .footerNav .menu li::before {
  content: "・";
  color: hsl(0, 90%, 80%);
}
.footer .footerNav .menu li a {
  font-size: 0.875rem;
  color: hsl(178, 97%, 3%);
  font-weight: bold;
  transition: all 0.2s;
}
@media (hover: hover) {
  .footer .footerNav .menu li a:hover {
    color: hsl(0, 90%, 80%);
  }
}
@media (hover: none) {
  .footer .footerNav .menu li a:hover {
    opacity: 0.6;
  }
}
.footer .footerBottomNav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.footer .footerBottomNav li a {
  display: block;
  font-size: 0.875rem;
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(183, 55%, 52%);
  border: solid 2px hsl(183, 55%, 52%);
  border-radius: 8px;
  padding: 0.35rem 1rem 0.5rem;
  transition: all 0.2s;
}
.footer .footerBottomNav li a:hover {
  color: hsl(183, 55%, 52%);
  background-color: transparent;
}
.footer .footerBottomNav li:first-child a {
  background-color: hsl(0, 90%, 80%);
  border-color: hsl(0, 90%, 80%);
}
.footer .footerBottomNav li:first-child a:hover {
  color: hsl(0, 90%, 80%);
  background-color: transparent;
}

@media screen and (min-width: 992px) {
  .footer .footerNavWrap {
    align-items: flex-end;
  }
  .footer .footerBottomNav {
    gap: 1rem;
  }
  .footer .footerBottomNav li a {
    padding: 0.4rem 1.5rem 0.5rem;
  }
}
.footerCopyright {
  font-family: "source-han-sans-japanese", sans-serif;
  text-align: center;
  font-size: 0.875rem;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  padding: 1rem;
}

/* Scss Document */
/* Scss Document */
.mainview {
  padding-top: 1rem;
  position: relative;
  z-index: 0;
}
.mainview .mainviewSlider {
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.mainview .mainviewSlider::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: -2px;
  width: 100%;
  background: center/cover url(images/hero/mask_mainview.svg) no-repeat;
  padding-top: 20.2586%;
}
.mainview .mainviewSlider .swiper {
  overflow: visible;
}
.mainview .mainviewSlider .swiper .swiper-wrapper {
  transition-timing-function: linear !important;
}
.mainview .mainviewSlider .swiper .swiper-wrapper .swiper-slide {
  width: -moz-max-content;
  width: max-content;
}
.mainview .mainviewSlider .swiper .swiper-wrapper .swiper-slide .slide {
  overflow: hidden;
  border-radius: 16px;
}
.mainview .mainviewSlider .swiper .swiper-wrapper .swiper-slide .slide .slide-media {
  padding-top: 150%;
  position: relative;
  overflow: hidden;
}
.mainview .mainviewSlider .swiper .swiper-wrapper .swiper-slide .slide .slide-media img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.mainview .titleWrap {
  position: absolute;
  z-index: 2;
  left: clamp(1rem, 3vw, 2rem);
  bottom: 0;
}
.mainview .titleWrap h2 {
  font-family: "Teko", sans-serif;
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  line-height: clamp(3.5rem, 10vw, 8rem);
  text-shadow: 3px 3px hsl(291, 44%, 79%);
}
.mainview .innerText {
  position: relative;
  z-index: 2;
  padding-left: clamp(1rem, 3vw, 2rem);
  padding-right: clamp(1rem, 3vw, 2rem);
  padding-bottom: 3rem;
}
.mainview .innerText p {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
}

/* Scss Document */
/* Scss Document */
.indexTitle {
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  display: inline-block;
  position: relative;
  z-index: 0;
}
.indexTitle .titleIndex {
  font-size: clamp(2rem, 2rem + 2vw, 4rem);
  line-height: 1.2;
  color: hsl(178, 97%, 3%);
}
.indexTitle h2 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
}
.indexTitle .titleAttention {
  white-space: nowrap;
  position: absolute;
  z-index: -1;
  top: -1rem;
  left: -4rem;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-family: sacre-bleu-mvb, sans-serif;
  color: hsla(0, 69%, 72%, 0.5);
  transform: rotate(-15deg);
}

.btnMore a {
  text-align: center;
  display: block;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  color: hsl(178, 97%, 3%);
  background-color: hsl(178, 100%, 100%);
  border: solid 2px hsl(178, 97%, 3%);
  border-radius: 32px;
  padding: 0.25rem 1rem 0.15rem;
  transition: all 0.2s;
}
@media (hover: hover) {
  .btnMore a:hover {
    color: hsl(178, 100%, 100%);
    background-color: hsl(178, 97%, 3%);
  }
}
@media (hover: none) {
  .btnMore a:hover {
    opacity: 0.6;
  }
}

.mainview {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  margin-top: 64px;
  position: relative;
  z-index: 0;
}
.mainview .imgWrap {
  overflow: hidden;
}

@media screen and (min-width: 992px) {
  .mainview {
    margin-top: 80px;
  }
}
.mainviewBanner {
  overflow: hidden;
}
.mainviewBanner .swiper {
  overflow: visible;
}
.mainviewBanner .imgWrap {
  display: block;
  overflow: hidden;
  border-radius: 8px;
  transition: all 0.2s;
}
@media (hover: hover) {
  .mainviewBanner .imgWrap:hover {
    opacity: 0.6;
    transform: translateY(-4px);
  }
}
@media (hover: none) {
  .mainviewBanner .imgWrap:active {
    opacity: 0.6;
  }
}

.topCalendar {
  background-color: hsl(178, 100%, 100%);
  border-radius: 0 0 32px 32px;
}
.topCalendar::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: hsla(183, 55%, 52%, 0.9);
}

@media screen and (min-width: 992px) {
  .topCalendar {
    border-radius: 0 0 64px 64px;
  }
}
.topPickup {
  background: center top/cover url(./images/home/bg_topic_sp.webp) no-repeat;
  border-radius: 0 0 32px 32px;
  padding-top: 5rem;
  margin-bottom: 3rem;
  overflow: hidden;
  position: relative;
  z-index: 0;
  padding-left: 0;
  padding-right: 0;
}
.topPickup::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: hsla(183, 55%, 52%, 0.9);
}
.topPickup::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  right: -15vw;
  width: clamp(128px, 45vw, 200px);
  height: clamp(128px, 45vw, 200px);
  background: center/contain url(./images/open-campus/student_05.webp) no-repeat;
}
.topPickup .indexTitle .titleIndex,
.topPickup .indexTitle h2 {
  color: hsl(178, 100%, 100%);
}
.topPickup .indexTitle .titleAttention {
  color: hsl(60, 88%, 50%);
}
.topPickup .swiperWrap {
  overflow: hidden;
  padding: 40px 0;
}
.topPickup .swiperWrap .swiper {
  overflow: visible;
}
.topPickup .swiperWrap .swiper .swiper-slide {
  transition: transform 0.3s ease;
  transform: scale(1);
}
.topPickup .swiperWrap .swiper .swiper-slide picture::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: hsla(183, 55%, 52%, 0.5);
  border-radius: 8px;
}
.topPickup .swiperWrap .swiper .swiper-slide-active {
  transform: scale(1.5);
  opacity: 1;
  z-index: 2;
}
.topPickup .swiperWrap .swiper .swiper-slide-active picture::after {
  content: none;
}
.topPickup .swiperWrap .swiper picture {
  display: block;
  border-radius: 8px;
  box-shadow: 3px 3px hsl(178, 97%, 3%);
  overflow: hidden;
}
.topPickup .swiperWrap .swiper-slide:not(.swiper-slide-visible) picture {
  pointer-events: none;
  opacity: 0.3;
}

@media screen and (min-width: 992px) {
  .topPickup {
    background: center top/cover url(./images/home/bg_topic.webp) no-repeat;
    border-radius: 0 0 64px 64px;
    padding-left: inherit;
    padding-right: inherit;
  }
  .topPickup::after {
    right: 0;
    width: clamp(280px, 32vw, 360px);
    height: clamp(280px, 32vw, 360px);
  }
  .topPickup .swiperWrap {
    padding: 80px 0;
  }
  .topPickup .swiperWrap .swiper picture::after {
    border-radius: 12px;
  }
  .topPickup .swiperWrap picture {
    border-radius: 12px;
  }
}
.topDepartment {
  background: top/cover url(./images/home/bg_concept.webp) no-repeat;
  position: relative;
  z-index: 0;
}
.topDepartment::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: hsla(178, 100%, 100%, 0.6);
}
.topDepartment::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(to bottom, hsl(178, 100%, 100%) 0%, hsla(0, 0%, 100%, 0.8) 5%, transparent 15%, transparent 85%, hsla(0, 0%, 100%, 0.8) 95%, hsl(178, 100%, 100%) 100%);
  z-index: 0;
}
.topDepartment .container {
  position: relative;
  z-index: 1;
}
.topDepartment .departmentWrap {
  display: block;
}
.topDepartment .departmentWrap .imgWrap {
  max-width: 800px;
  position: relative;
  z-index: 0;
}
.topDepartment .departmentWrap .imgWrap .leadTextWrap {
  position: absolute;
  top: -1.5rem;
  right: -0.5rem;
}
.topDepartment .departmentWrap .imgWrap .leadTextWrap p {
  text-align: right;
}
.topDepartment .departmentWrap .imgWrap .leadTextWrap p span {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  border-radius: 4px;
  box-shadow: 3px 3px hsl(0, 90%, 67%);
  padding: 0.15rem 0.75rem 0;
  margin-bottom: 0.35rem;
}
.topDepartment .departmentWrap .cardWrap {
  width: 100%;
  max-width: 100%;
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  border-radius: 0;
  box-shadow: none;
  padding: 1rem;
  margin: 0 auto;
  text-align: center;
  transform: translateX(0);
}
.topDepartment .departmentWrap .cardWrap .titleWrap {
  display: inline-block;
  text-align: left;
}
.topDepartment .departmentWrap .cardWrap .titleWrap h3 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
}
.topDepartment .departmentWrap .cardWrap .titleWrap p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 100%, 100%);
  border-top: solid 1px hsl(0, 0%, 95%);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}
.topDepartment .departmentWrap .cardWrap .btnMore a {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 90%, 80%);
  background-color: hsl(178, 100%, 100%);
  border-color: hsl(178, 100%, 100%);
}
.topDepartment .departmentWrap .cardWrap .btnMore a:hover {
  color: hsl(178, 100%, 100%);
  background-color: transparent;
}
.topDepartment .otWrap {
  flex-direction: row;
}
.topDepartment .otWrap .imgWrap .leadTextWrap {
  left: -0.5rem;
  right: auto;
}
.topDepartment .otWrap .imgWrap .leadTextWrap p {
  text-align: left;
}
.topDepartment .otWrap .imgWrap .leadTextWrap p span {
  background-color: hsl(183, 55%, 52%);
  box-shadow: 3px 3px hsl(183, 55%, 37%);
}
.topDepartment .otWrap .cardWrap {
  background-color: hsl(183, 55%, 52%);
  box-shadow: none;
  transform: translateX(0);
}
.topDepartment .otWrap .cardWrap .btnMore a {
  color: hsl(183, 55%, 52%);
}
.topDepartment .pswWrap {
  flex-direction: row-reverse;
}
.topDepartment .pswWrap .imgWrap .leadTextWrap p span {
  background-color: hsl(291, 44%, 79%);
  box-shadow: 3px 3px hsl(291, 44%, 64%);
}
.topDepartment .pswWrap .cardWrap {
  background-color: hsl(291, 44%, 79%);
  box-shadow: none;
}
.topDepartment .pswWrap .cardWrap .btnMore a {
  color: hsl(291, 44%, 79%);
}

@media screen and (min-width: 992px) {
  .topDepartment .departmentWrap {
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
    align-items: center;
  }
  .topDepartment .departmentWrap .imgWrap .leadTextWrap {
    top: -1rem;
    right: -2rem;
  }
  .topDepartment .departmentWrap .imgWrap .leadTextWrap p span {
    font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  }
  .topDepartment .departmentWrap .cardWrap {
    max-width: 320px;
    border-radius: 4px;
    box-shadow: 6px 6px hsl(0, 90%, 67%);
    padding: 3rem 1rem 1rem;
    transform: translateX(2rem);
  }
  .topDepartment .otWrap {
    flex-direction: row;
  }
  .topDepartment .otWrap .imgWrap .leadTextWrap {
    left: -2rem;
    right: auto;
  }
  .topDepartment .otWrap .cardWrap {
    box-shadow: 6px 6px hsl(183, 55%, 37%);
    transform: translateX(-2rem);
  }
  .topDepartment .pswWrap .cardWrap {
    box-shadow: 6px 6px hsl(291, 44%, 64%);
  }
}
.topSns {
  background-image: url(images/bg_dot.svg);
  background-repeat: repeat;
  background-size: 16px 16px;
  position: relative;
}
.topSns::after {
  content: "";
  position: absolute;
  z-index: 1;
  bottom: 0;
  left: -20vw;
  width: clamp(128px, 45vw, 200px);
  height: clamp(128px, 45vw, 200px);
  background: center/contain url(./images/open-campus/student_03.webp) no-repeat;
}
.topSns .container {
  position: relative;
  z-index: 2;
}
.topSns .indexTitle .titleAttention {
  color: hsl(60, 88%, 50%);
}
.topSns .snsWrapHead {
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.topSns .snsWrapHead h3 {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
}
.topSns .snsWrapHead h3 span {
  display: flex;
  width: 100%;
  max-width: 32px;
}
.topSns .snsWrapHead p {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
}
.topSns .embedded {
  width: 100%;
  background-color: hsl(0, 0%, 95%);
}
.topSns .embedded #sb_instagram {
  padding: 0 !important;
}
.topSns .embedded #sbi_images {
  padding: 12px !important;
}
.topSns .menuSns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}
.topSns .menuSns li a {
  display: block;
  width: 40px;
  transition: all 0.2s;
}
.topSns .menuSns li a:hover {
  opacity: 0.6;
}

@media screen and (min-width: 992px) {
  .topSns .menuSns {
    gap: 1.5rem;
  }
  .topSns .menuSns li a {
    width: 56px;
  }
}
@media screen and (min-width: 768px) {
  .topSns::after {
    left: -10vw;
    width: clamp(160px, 45vw, 320px);
    height: clamp(160px, 45vw, 320px);
  }
}
.depCtaBanner {
  border-radius: 16px;
  overflow: hidden;
  background: center/cover url(./images/hero/hero_oc_sp.webp) no-repeat;
  position: relative;
  z-index: 0;
  padding: 2rem 0;
}
.depCtaBanner::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: hsl(183, 55%, 52%);
  opacity: 0.95;
}
.depCtaBanner .depCtaBannerInner {
  text-align: center;
}
.depCtaBanner .depCtaBannerInner .depCtaBannerText {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 100%, 100%);
  font-weight: normal;
}
.depCtaBanner .depCtaBannerInner h3 {
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
}
.depCtaBanner .depCtaBannerInner .depCtaBannerBtn {
  position: relative;
  margin-top: 88px;
}
.depCtaBanner .depCtaBannerInner .depCtaBannerBtn::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 160px;
  height: 160px;
  background: center/contain url(./images/open-campus/student_09.webp) no-repeat;
}
.depCtaBanner .depCtaBannerInner .depCtaBannerBtn a {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(183, 55%, 52%);
  background-color: hsl(178, 100%, 100%);
  border: solid 2px hsl(183, 55%, 52%);
  outline: solid 2px hsl(178, 100%, 100%);
  border-radius: 40px;
  padding: 1rem 5rem 0.875rem;
  margin-top: 1rem;
  transition: all 0.2s;
}
.depCtaBanner .depCtaBannerInner .depCtaBannerBtn a:hover {
  color: hsl(178, 100%, 100%);
  background-color: hsl(183, 55%, 52%);
  outline-color: hsl(178, 100%, 100%);
}

@media screen and (min-width: 992px) {
  .depCtaBanner {
    padding: 3rem 1rem;
  }
  .depCtaBanner .depCtaBannerInner .depCtaBannerBtn {
    margin-top: 0;
  }
  .depCtaBanner .depCtaBannerInner .depCtaBannerBtn::before {
    bottom: -120px;
    left: auto;
    right: 0;
    transform: none;
    width: 320px;
    height: 320px;
  }
}
#sb-tiktok-feeds-container-1 .sb-feed-header {
  display: none;
}

#sb-tiktok-feeds-container-1 .sb-post-item-wrap {
  padding: 0 !important;
  margin: 0 !important;
}

/* Scss Document */
/* CSS Document */
.topNews .newsWrap ul,
.archiveNews .newsWrap ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.topNews .newsWrap .innerText,
.archiveNews .newsWrap .innerText {
  font-family: "source-han-sans-japanese", sans-serif;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem 0.6rem;
  align-items: center;
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  border-bottom: solid 2px hsl(0, 0%, 95%);
  padding: 1rem 0.25rem;
  transition: all 0.2s;
}
.topNews .newsWrap .innerText:hover,
.archiveNews .newsWrap .innerText:hover {
  background-color: hsl(0, 0%, 95%);
}
.topNews .newsWrap .innerText h3,
.archiveNews .newsWrap .innerText h3 {
  flex: 0 0 100%;
  min-width: 0;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  line-height: 1.55;
  margin: 0.1rem 0 0;
  overflow-wrap: anywhere;
}
.topNews .newsWrap .innerText .date,
.archiveNews .newsWrap .innerText .date {
  white-space: nowrap;
  display: block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  letter-spacing: 0;
}
.topNews .newsWrap .innerText .term,
.archiveNews .newsWrap .innerText .term {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  max-width: calc(100% - 5.5rem);
  font-size: clamp(0.65rem, 0.65rem + 0.25vw, 0.75rem);
  font-weight: bold;
  line-height: 1.2;
  color: hsl(213, 94%, 32%);
  border: solid 2px hsl(213, 94%, 32%);
  border-radius: 32px;
  padding: 0.2rem 0.55rem 0.25rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topNews .btnMore,
.archiveNews .btnMore {
  max-width: 240px;
  margin: 1.5rem auto 0;
}

@media screen and (min-width: 576px) {
  .topNews .newsWrap .innerText,
  .archiveNews .newsWrap .innerText {
    display: flex;
    flex-wrap: nowrap;
    -moz-column-gap: 1rem;
         column-gap: 1rem;
    padding: 1rem;
  }
  .topNews .newsWrap .innerText h3,
  .archiveNews .newsWrap .innerText h3 {
    flex: 1 1 0;
    margin-top: 0;
  }
  .topNews .newsWrap .innerText .term,
  .archiveNews .newsWrap .innerText .term {
    max-width: 14rem;
  }
  .topNews .btnMore,
  .archiveNews .btnMore {
    margin: 0 0 0 auto;
  }
}
.pagination ul {
  display: flex;
  margin: 3rem auto 0;
}
.pagination ul li {
  width: 40px;
  height: 40px;
  margin: 0 4px;
}
.pagination ul li a,
.pagination ul li span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  color: hsl(0, 90%, 80%);
  border: solid 2px hsl(0, 90%, 80%);
  border-radius: 4px;
  transition: all 0.2s;
}
.pagination ul li a i,
.pagination ul li span i {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
}
@media (hover: hover) {
  .pagination ul li a:hover {
    color: hsl(178, 100%, 100%);
    background: hsl(0, 90%, 80%);
    border-color: hsl(0, 90%, 80%);
  }
}
@media (hover: none) {
  .pagination ul li a:hover {
    opacity: 0.6;
  }
}
.pagination ul li.active span {
  color: hsl(178, 100%, 100%);
  background: hsl(0, 90%, 80%);
  border-color: hsl(0, 90%, 80%);
}

/* Scss Document */
/* Scss Document */
.singleNews .container {
  border-left: solid 1px hsl(0, 0%, 95%);
  border-right: solid 1px hsl(0, 0%, 95%);
  padding: 3rem 1rem;
}
.singleNews h2 {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  line-height: 1.5;
  border-top: solid 1px hsl(0, 0%, 95%);
  padding-top: 1rem;
  margin-bottom: 3rem;
}
.singleNews .date {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  margin-right: 1rem;
  margin-bottom: 1rem;
}
.singleNews .cate {
  white-space: nowrap;
  display: inline-block;
  font-size: clamp(0.65rem, 0.65rem + 0.25vw, 0.75rem);
  font-weight: bold;
  color: hsl(213, 94%, 32%);
  border: solid 2px hsl(213, 94%, 32%);
  border-radius: 32px;
  padding: 0 0.5rem 0.1rem;
}
.singleNews p {
  line-height: 2;
  text-align: justify;
}
.singleNews figure.wp-block-image {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}
.singleNews figure.wp-block-image img {
  box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.2);
}
.singleNews .viewBtn a {
  display: inline-block;
  color: hsl(178, 97%, 3%);
  background-color: transparent;
  border: solid 2px hsl(178, 97%, 3%);
  border-radius: 50px;
  padding: 0.25rem 1.5rem;
  transition: all 0.2s;
}
.singleNews .viewBtn a::before {
  display: inline-block;
  font: var(--fa-font-solid);
  content: "\f177";
  margin-right: 1rem;
  transition: all 0.2s;
}
@media (hover: hover) {
  .singleNews .viewBtn a:hover {
    color: hsl(178, 100%, 100%);
    background-color: hsl(178, 97%, 3%);
  }
  .singleNews .viewBtn a:hover::before {
    transform: translateX(-4px);
  }
}
@media (hover: none) {
  .singleNews .viewBtn a:hover {
    opacity: 0.6;
  }
}

/*パンくず*/
/* Scss Document */
/* ========================================
  学校紹介ページ _about.scss
  ※ モバイルファースト
======================================== */
.pageAbout .pageHero .imgWrap {
  background: center/cover url(./images/hero/hero_about_sp.webp) no-repeat;
  background-color: hsl(0, 30%, 95%);
}
.pageAbout .aboutSectionTitle {
  text-align: center;
  margin-bottom: 2rem;
}
.pageAbout .aboutSectionTitle .titleEn {
  display: block;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  letter-spacing: 0.25rem;
  color: hsl(0, 90%, 80%);
  margin-bottom: 0.2rem;
}
.pageAbout .aboutSectionTitle h2 {
  display: inline-block;
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  position: relative;
  padding-bottom: 0.65rem;
}
.pageAbout .aboutSectionTitle h2::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, hsl(0, 90%, 80%) 0%, hsl(183, 55%, 52%) 100%);
}
.pageAbout .aboutSectionTitle p.subTitle {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  margin-top: 0.75rem;
}
.pageAbout.pageSchoolInfo .schoolInfoSection {
  padding-top: 3rem;
}
.pageAbout.pageSchoolInfo .schoolInfoInner {
  max-width: 920px;
  margin-inline: auto;
}
.pageAbout.pageSchoolInfo .schoolInfoHeading {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  line-height: 1.5;
  color: hsl(178, 97%, 3%);
  padding: 0.95rem 0;
  margin-bottom: 1.75rem;
  border-top: 2px solid hsl(183, 55%, 52%);
  border-bottom: 1px solid hsl(183, 55%, 52%);
}
.pageAbout.pageSchoolInfo .schoolInfoBlock {
  padding: 0 0 2.5rem;
  margin-bottom: 2.5rem;
  border-bottom: 1px solid hsl(183, 55%, 52%);
}
.pageAbout.pageSchoolInfo .schoolInfoBlockTitle {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  line-height: 1.6;
  color: hsl(178, 97%, 3%);
  margin-bottom: 1.5rem;
  padding-left: 0.85rem;
  border-left: 3px solid hsl(183, 55%, 52%);
}
.pageAbout.pageSchoolInfo .schoolInfoBody {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  line-height: 1.95;
  color: hsl(178, 97%, 3%);
  margin-bottom: 1rem;
  white-space: normal;
}
.pageAbout.pageSchoolInfo .schoolInfoBody p {
  margin-bottom: 0.75rem;
}
.pageAbout.pageSchoolInfo .schoolInfoBody p:last-child {
  margin-bottom: 0;
}
.pageAbout.pageSchoolInfo .schoolInfoLinks {
  display: grid;
  gap: 0.35rem;
  margin-top: 1rem;
  padding-left: 1.2rem;
  list-style: disc;
}
.pageAbout.pageSchoolInfo .schoolInfoLinks li {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  line-height: 1.7;
}
.pageAbout.pageSchoolInfo .schoolInfoLinks a {
  color: hsl(183, 55%, 37%);
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.pageAbout.pageSchoolInfo .schoolInfoLinks a:hover {
  opacity: 0.7;
}
.pageAbout .aboutGreeting {
  position: relative;
  overflow: hidden;
}
.pageAbout .aboutGreeting::before {
  display: none;
}
.pageAbout .aboutGreeting .greetingImg {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}
.pageAbout .aboutGreeting .greetingImg img {
  width: 100%;
}
.pageAbout .aboutGreeting .greetingImg .namePlate {
  position: absolute;
  bottom: 0;
  right: 0;
  background: linear-gradient(135deg, hsl(0, 90%, 80%) 0%, hsl(0, 90%, 67%) 100%);
  color: hsl(178, 100%, 100%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  padding: 0.5rem 1rem;
  border-radius: 16px 0 0 0;
  letter-spacing: 0.05rem;
}
.pageAbout .aboutGreeting .greetingText .catchPhrase {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  line-height: 1.6;
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  border-left: 4px solid hsl(0, 90%, 80%);
}
.pageAbout .aboutGreeting .greetingText p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 2;
  text-indent: 1em;
  margin-bottom: 0.75rem;
}
.pageAbout .aboutGreeting .greetingText .signature {
  text-align: right;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-top: 1.5rem;
  padding-right: 0.5rem;
}
.pageAbout .aboutGreeting .greetingText .signature span {
  display: block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  margin-bottom: 0.2rem;
}
.pageAbout .aboutPolicy {
  background: linear-gradient(160deg, hsl(42, 100%, 97%) 0%, hsl(0, 100%, 98%) 100%);
  position: relative;
  overflow: hidden;
}
.pageAbout .aboutPolicy::before {
  content: "POLICY";
  position: absolute;
  font-family: "din-condensed", sans-serif;
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  font-weight: bold;
  color: hsl(0, 90%, 80%);
  opacity: 0.04;
  bottom: 1rem;
  left: -1rem;
  line-height: 1;
  pointer-events: none;
}
.pageAbout .aboutPolicy .policyGrid {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
.pageAbout .aboutPolicy .policyCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.pageAbout .aboutPolicy .policyCard .policyNum {
  flex-shrink: 0;
  width: 100%;
  flex-direction: row;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  background: hsl(0, 90%, 67%);
  padding: 0.6rem 1rem;
}
.pageAbout .aboutPolicy .policyCard .policyNum span {
  font-family: "din-condensed", sans-serif;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  line-height: 1;
}
.pageAbout .aboutPolicy .policyCard .policyNum small {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  color: hsl(0, 100%, 95%);
  letter-spacing: 0.08rem;
  margin-top: 0;
}
.pageAbout .aboutPolicy .policyCard .policyBody {
  flex: 1;
  padding: 1rem;
}
.pageAbout .aboutPolicy .policyCard .policyBody h3 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px dashed hsl(0, 0%, 95%);
}
.pageAbout .aboutPolicy .policyCard .policyBody ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.pageAbout .aboutPolicy .policyCard .policyBody ul li {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  padding-left: 1.25rem;
  position: relative;
  line-height: 1.65;
}
.pageAbout .aboutPolicy .policyCard .policyBody ul li::before {
  content: "▷";
  position: absolute;
  left: 0;
  color: hsl(0, 90%, 80%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  top: 0.15rem;
}
.pageAbout .aboutFeature .featureGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.pageAbout .aboutFeature .featureCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid hsl(0, 0%, 95%);
}
.pageAbout .aboutFeature .featureCard .featureImgWrap {
  position: relative;
  overflow: hidden;
}
.pageAbout .aboutFeature .featureCard .featureImgWrap img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.4s;
}
.pageAbout .aboutFeature .featureCard .featureImgWrap .featureLabel {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  background: hsl(0, 90%, 80%);
  color: hsl(178, 100%, 100%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  border-radius: 4px;
  padding: 0.15rem 0.6rem;
  letter-spacing: 0.05rem;
}
.pageAbout .aboutFeature .featureCard:hover .featureImgWrap img {
  transform: scale(1.04);
}
.pageAbout .aboutFeature .featureCard .featureBody {
  padding: 1.25rem;
}
.pageAbout .aboutFeature .featureCard .featureBody h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-bottom: 0.6rem;
  display: flex;
  align-items: flex-start;
  gap: 0.4rem;
}
.pageAbout .aboutFeature .featureCard .featureBody h3 .icon {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  flex-shrink: 0;
  margin-top: 0.05rem;
}
.pageAbout .aboutFeature .featureCard .featureBody p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.8;
  margin: 0;
}
.pageAbout .aboutFeature .featureCard .featureBody .featureCatch {
  margin-top: 0.75rem;
  padding: 0.6rem 0.75rem;
  background-color: hsl(0, 90%, 98%);
  border-radius: 6px;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  line-height: 1.6;
}
.pageAbout .aboutFacility {
  background-color: hsl(0, 0%, 98%);
}
.pageAbout .aboutFacility .facilityNewWrap {
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
.pageAbout .aboutFacility .facilityItem {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  align-items: center;
}
.pageAbout .aboutFacility .facilityItem.reverse {
  direction: ltr;
}
.pageAbout .aboutFacility .facilityItem .facilityImgWrap {
  position: relative;
}
.pageAbout .aboutFacility .facilityItem .facilityImgWrap .numBadge {
  position: absolute;
  z-index: 1;
  top: -1.5rem;
  left: -1rem;
  font-family: "din-condensed", sans-serif;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1;
  color: hsl(0, 90%, 80%);
  opacity: 0.6;
  pointer-events: none;
}
.pageAbout .aboutFacility .facilityItem .facilityImgWrap img {
  width: 100%;
  border-radius: 16px;
  box-shadow: 6px 6px hsl(0, 90%, 80%);
  position: relative;
  z-index: 0;
  display: block;
}
.pageAbout .aboutFacility .facilityItem .facilityText .newTag {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background: linear-gradient(90deg, hsl(0, 90%, 80%), hsl(183, 55%, 52%));
  border-radius: 3px;
  padding: 0.1rem 0.55rem;
  letter-spacing: 0.05rem;
  margin-bottom: 0.5rem;
}
.pageAbout .aboutFacility .facilityItem .facilityText h3 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-bottom: 0.5rem;
  line-height: 1.4;
}
.pageAbout .aboutFacility .facilityItem .facilityText p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.85;
}
.pageAbout .aboutFacility .facilityItem .facilityText .facilityLink {
  margin-top: 0.5rem;
}
.pageAbout .aboutFacility .facilityItem .facilityText .facilityLink a {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.pageAbout .aboutFacility .facilityItem .facilityText .facilityLink a:hover {
  opacity: 0.7;
}
.pageAbout .aboutFacility .facilityPhotoGrid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 3rem;
}
.pageAbout .aboutFacility .facilityPhotoGrid .photoItem img {
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
  display: block;
}
.pageAbout .aboutFacility .facilityPhotoGrid .photoItem h4 {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  text-align: center;
  margin-top: 0.5rem;
}
.pageAbout .aboutFacility .eWorkWrap {
  margin-top: 4rem;
  background: linear-gradient(135deg, hsl(120, 40%, 96%) 0%, hsl(120, 40%, 92%) 100%);
  border-radius: 20px;
  padding: 1.75rem 1.25rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.pageAbout .aboutFacility .eWorkWrap::before {
  content: url(./images/about/leaf.svg);
  position: absolute;
  bottom: -3vw;
  right: -3vw;
  width: 20vw;
  transform: rotate(-15deg);
  opacity: 0.08;
}
.pageAbout .aboutFacility .eWorkWrap .eWorkEn {
  display: block;
  font-family: "din-condensed", sans-serif;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  letter-spacing: 0.3rem;
  color: hsl(120, 54%, 56%);
  margin-bottom: 0.25rem;
}
.pageAbout .aboutFacility .eWorkWrap h3 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-bottom: 0.5rem;
}
.pageAbout .aboutFacility .eWorkWrap .eWorkSub {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  border-top: 1px solid hsl(120, 40%, 80%);
  border-bottom: 1px solid hsl(120, 40%, 80%);
  padding: 0.75rem 0;
  margin: 0.75rem auto;
  line-height: 1.6;
}
.pageAbout .aboutFacility .eWorkWrap p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.9;
  max-width: 640px;
  margin: 0 auto;
}
.pageAbout .aboutMap .mapWrap {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}
.pageAbout .aboutMap .mapWrap::before {
  content: "";
  display: block;
  padding-top: 50%;
}
.pageAbout .aboutMap .mapWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

@media screen and (min-width: 576px) {
  .pageAbout .pageHero .imgWrap {
    background-image: url(./images/hero/hero_about.webp);
  }
  .pageAbout .aboutPolicy .policyCard {
    flex-direction: row;
  }
  .pageAbout .aboutPolicy .policyCard .policyNum {
    width: 64px;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding: 1.5rem 0;
  }
  .pageAbout .aboutPolicy .policyCard .policyNum span {
    font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  }
  .pageAbout .aboutPolicy .policyCard .policyNum small {
    margin-top: 0.2rem;
  }
  .pageAbout .aboutPolicy .policyCard .policyBody {
    padding: 1rem;
  }
  .pageAbout .aboutPolicy .policyCard .policyBody h3 {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
}
@media screen and (min-width: 992px) {
  .pageAbout .aboutGreeting::before {
    content: "GREETING";
    display: block;
    position: absolute;
    font-family: "din-condensed", sans-serif;
    font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
    font-weight: bold;
    color: hsl(0, 90%, 80%);
    opacity: 0.04;
    top: 50%;
    right: -2rem;
    transform: translateY(-50%);
    line-height: 1;
    pointer-events: none;
    white-space: nowrap;
  }
  .pageAbout .aboutPolicy .policyCard .policyNum {
    width: 80px;
  }
  .pageAbout .aboutPolicy .policyCard .policyNum span {
    font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  }
  .pageAbout .aboutPolicy .policyCard .policyBody {
    padding: 1.25rem 1.5rem;
  }
  .pageAbout .aboutPolicy .policyCard .policyBody h3 {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .pageAbout .aboutFeature .featureGrid {
    grid-template-columns: 1fr 1fr;
    gap: 1.5rem;
  }
  .pageAbout .aboutFacility .facilityItem {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
  .pageAbout .aboutFacility .facilityItem.reverse {
    direction: rtl;
  }
  .pageAbout .aboutFacility .facilityItem.reverse > * {
    direction: ltr;
  }
  .pageAbout .aboutFacility .facilityItem .facilityImgWrap .numBadge {
    top: -2.5rem;
    left: -2rem;
    font-size: 5rem;
    opacity: 0.2;
  }
  .pageAbout .aboutFacility .facilityPhotoGrid {
    grid-template-columns: repeat(3, 1fr);
  }
  .pageAbout .aboutFacility .eWorkWrap {
    padding: 2.5rem;
  }
}
/* Scss Document */
/* ========================================
  各学科共通スタイル _department.scss
  テーマカラーはCSS変数で各学科クラスに定義
======================================== */
.dep-ccw {
  --dep-c: hsl(0, 90%, 80%);
  --dep-c-dark: hsl(0, 90%, 67%);
  --dep-c-light: hsl(348deg 100% 97%);
  --dep-c-grad: hsl(183, 55%, 52%);
}

.dep-ot {
  --dep-c: hsl(183, 55%, 52%);
  --dep-c-dark: hsl(183, 55%, 37%);
  --dep-c-light: hsl(185deg 80% 96%);
  --dep-c-grad: hsl(0, 90%, 80%);
}

.dep-psw {
  --dep-c: hsl(291, 44%, 64%);
  --dep-c-dark: hsl(291deg 44% 40%);
  --dep-c-light: hsl(291deg 60% 97%);
  --dep-c-grad: hsl(183, 55%, 52%);
}

.dep-ccw .pageHero .imgWrap {
  background-image: url(./images/hero/hero_ccw_sp.webp);
}

.dep-ot .pageHero .imgWrap {
  background-image: url(./images/hero/hero_ot_sp.webp);
}

.dep-psw .pageHero .imgWrap {
  background-image: url(./images/hero/hero_psw_sp.webp);
}

@media screen and (min-width: 992px) {
  .dep-ccw .pageHero .imgWrap {
    background-image: url(./images/hero/hero_ccw.webp);
  }
  .dep-ot .pageHero .imgWrap {
    background-image: url(./images/hero/hero_ot.webp);
  }
  .dep-psw .pageHero .imgWrap {
    background-image: url(./images/hero/hero_psw.webp);
  }
}
.dep-ccw .pageHero,
.dep-ot .pageHero,
.dep-psw .pageHero {
  position: relative;
}
.dep-ccw .pageHero .imgWrap,
.dep-ot .pageHero .imgWrap,
.dep-psw .pageHero .imgWrap {
  height: 160px;
}
.dep-ccw .pageHero .catch,
.dep-ot .pageHero .catch,
.dep-psw .pageHero .catch {
  position: absolute;
  bottom: calc(160px - 2.5rem);
  right: 1rem;
  text-align: end;
}
.dep-ccw .pageHero .catch .text,
.dep-ot .pageHero .catch .text,
.dep-psw .pageHero .catch .text {
  display: inline-block;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: var(--theme-c);
  border-radius: 4px;
  box-shadow: 2px 2px 0 hsl(178, 97%, 3%);
  padding: 0 0.5rem;
  margin-bottom: 0.25rem;
}
@media screen and (min-width: 992px) {
  .dep-ccw .pageHero .imgWrap,
  .dep-ot .pageHero .imgWrap,
  .dep-psw .pageHero .imgWrap {
    height: 320px;
  }
  .dep-ccw .pageHero .catch,
  .dep-ot .pageHero .catch,
  .dep-psw .pageHero .catch {
    bottom: calc(320px - 4rem);
    right: 2rem;
  }
  .dep-ccw .pageHero .catch .text,
  .dep-ot .pageHero .catch .text,
  .dep-psw .pageHero .catch .text {
    box-shadow: 3px 3px 0 hsl(178, 97%, 3%);
    padding: 0.25rem 1rem 0.15rem;
    margin-bottom: 0.5rem;
  }
}
.dep-ccw .depTitle,
.dep-ot .depTitle,
.dep-psw .depTitle {
  position: relative;
  z-index: 0;
  margin-bottom: 2rem;
}
.dep-ccw .depTitle::after,
.dep-ot .depTitle::after,
.dep-psw .depTitle::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
  width: 100%;
  height: 2px;
  background-color: hsl(0, 0%, 95%);
}
.dep-ccw .depTitle h2,
.dep-ot .depTitle h2,
.dep-psw .depTitle h2 {
  display: inline-block;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  background-color: hsl(178, 100%, 100%);
  padding: 0 1rem;
  margin-left: 7%;
}
.dep-ccw .depTitle h2 span,
.dep-ot .depTitle h2 span,
.dep-psw .depTitle h2 span {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
}
.dep-ccw .depSectionTitle,
.dep-ot .depSectionTitle,
.dep-psw .depSectionTitle {
  text-align: center;
  margin-bottom: 2.75rem;
}
.dep-ccw .depSectionTitle .titleEn,
.dep-ot .depSectionTitle .titleEn,
.dep-psw .depSectionTitle .titleEn {
  display: block;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  letter-spacing: 0.25rem;
  color: var(--dep-c);
  margin-bottom: 0.2rem;
}
.dep-ccw .depSectionTitle h2,
.dep-ot .depSectionTitle h2,
.dep-psw .depSectionTitle h2 {
  display: inline-block;
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  position: relative;
  padding-bottom: 0.75rem;
}
.dep-ccw .depSectionTitle h2 span,
.dep-ot .depSectionTitle h2 span,
.dep-psw .depSectionTitle h2 span {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
}
.dep-ccw .depSectionTitle h2::after,
.dep-ot .depSectionTitle h2::after,
.dep-psw .depSectionTitle h2::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 56px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--dep-c) 0%, var(--dep-c-grad) 100%);
}
.dep-ccw .depSectionTitle p.subTitle,
.dep-ot .depSectionTitle p.subTitle,
.dep-psw .depSectionTitle p.subTitle {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  margin-top: 0.75rem;
}
.dep-ccw .depAbout,
.dep-ot .depAbout,
.dep-psw .depAbout {
  position: relative;
}
.dep-ccw .depAbout .col-6 img,
.dep-ccw .depAbout .col-lg-4 img,
.dep-ccw .depAbout .col-lg-12 img,
.dep-ot .depAbout .col-6 img,
.dep-ot .depAbout .col-lg-4 img,
.dep-ot .depAbout .col-lg-12 img,
.dep-psw .depAbout .col-6 img,
.dep-psw .depAbout .col-lg-4 img,
.dep-psw .depAbout .col-lg-12 img {
  width: 100%;
  border-radius: 10px;
}
.dep-ccw .depAbout .imgCatchWrap,
.dep-ot .depAbout .imgCatchWrap,
.dep-psw .depAbout .imgCatchWrap {
  position: absolute;
  max-width: 140px;
  right: 0;
  bottom: -3rem;
}
.dep-ccw .depAbout .imgCatchWrap img,
.dep-ot .depAbout .imgCatchWrap img,
.dep-psw .depAbout .imgCatchWrap img {
  width: 100%;
}
.dep-ccw .depAbout .keyList,
.dep-ot .depAbout .keyList,
.dep-psw .depAbout .keyList {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.dep-ccw .depAbout .keyList li,
.dep-ot .depAbout .keyList li,
.dep-psw .depAbout .keyList li {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  background-color: var(--dep-c-light);
  border-radius: 8px;
  padding: 0.55rem 1rem;
  width: calc(50% - 0.25rem);
}
.dep-ccw .depAbout .keyList li .icon svg,
.dep-ot .depAbout .keyList li .icon svg,
.dep-psw .depAbout .keyList li .icon svg {
  width: 20px;
  height: 20px;
  fill: var(--dep-c);
}
.dep-ccw .depAbout .depTitle::after,
.dep-ot .depAbout .depTitle::after,
.dep-psw .depAbout .depTitle::after {
  background-color: var(--dep-c);
}
.dep-ccw .depAbout ul:not(.keyList),
.dep-ot .depAbout ul:not(.keyList),
.dep-psw .depAbout ul:not(.keyList) {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  border-bottom: solid 2px var(--dep-c);
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  list-style: none;
  padding-left: 0;
}
.dep-ccw .depAbout ul:not(.keyList) li,
.dep-ot .depAbout ul:not(.keyList) li,
.dep-psw .depAbout ul:not(.keyList) li {
  width: 100%;
  display: flex;
  gap: 0.5rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  background-color: var(--dep-c-light);
  border-radius: 8px;
  padding: 0.55rem 1rem;
}
.dep-ccw .depAbout ul:not(.keyList) li .icon,
.dep-ot .depAbout ul:not(.keyList) li .icon,
.dep-psw .depAbout ul:not(.keyList) li .icon {
  flex-shrink: 0;
  display: block;
  width: 20px;
  height: 20px;
}
.dep-ccw .depAbout ul:not(.keyList) li .icon svg,
.dep-ot .depAbout ul:not(.keyList) li .icon svg,
.dep-psw .depAbout ul:not(.keyList) li .icon svg {
  width: 100%;
  height: auto;
  fill: var(--dep-c);
}
.dep-ccw .depAbout .mainText,
.dep-ccw .depAbout .fw-normal,
.dep-ot .depAbout .mainText,
.dep-ot .depAbout .fw-normal,
.dep-psw .depAbout .mainText,
.dep-psw .depAbout .fw-normal {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 2;
}
.dep-ccw .depAbout .mainText .accent,
.dep-ccw .depAbout .mainText .ctheme-dark,
.dep-ccw .depAbout .fw-normal .accent,
.dep-ccw .depAbout .fw-normal .ctheme-dark,
.dep-ot .depAbout .mainText .accent,
.dep-ot .depAbout .mainText .ctheme-dark,
.dep-ot .depAbout .fw-normal .accent,
.dep-ot .depAbout .fw-normal .ctheme-dark,
.dep-psw .depAbout .mainText .accent,
.dep-psw .depAbout .mainText .ctheme-dark,
.dep-psw .depAbout .fw-normal .accent,
.dep-psw .depAbout .fw-normal .ctheme-dark {
  font-weight: bold;
  color: var(--dep-c-dark);
}
.dep-ccw .depAbout .mainText .font-xl,
.dep-ccw .depAbout .fw-normal .font-xl,
.dep-ot .depAbout .mainText .font-xl,
.dep-ot .depAbout .fw-normal .font-xl,
.dep-psw .depAbout .mainText .font-xl,
.dep-psw .depAbout .fw-normal .font-xl {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
}
.dep-ccw .depSchedule,
.dep-ot .depSchedule,
.dep-psw .depSchedule {
  background-color: hsl(0, 0%, 98%);
}
.dep-ccw .depSchedule .scheduleYear,
.dep-ot .depSchedule .scheduleYear,
.dep-psw .depSchedule .scheduleYear {
  margin-bottom: 3rem;
}
.dep-ccw .depSchedule .scheduleYear:last-child,
.dep-ot .depSchedule .scheduleYear:last-child,
.dep-psw .depSchedule .scheduleYear:last-child {
  margin-bottom: 0;
}
.dep-ccw .depSchedule .yearLabel,
.dep-ot .depSchedule .yearLabel,
.dep-psw .depSchedule .yearLabel {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  background: var(--dep-c);
  color: hsl(178, 100%, 100%);
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  padding: 0.4rem 2rem 0.4rem 1.25rem;
  border-radius: 4px 40px 40px 4px;
  margin-bottom: 1.5rem;
}
.dep-ccw .depSchedule .timeline,
.dep-ot .depSchedule .timeline,
.dep-psw .depSchedule .timeline {
  position: relative;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.dep-ccw .depSchedule .timelineInner,
.dep-ot .depSchedule .timelineInner,
.dep-psw .depSchedule .timelineInner {
  min-width: 700px;
  position: relative;
}
.dep-ccw .depSchedule .monthRow,
.dep-ot .depSchedule .monthRow,
.dep-psw .depSchedule .monthRow {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  border-bottom: 2px solid var(--dep-c);
  padding-bottom: 0.35rem;
  margin-bottom: 0.35rem;
}
.dep-ccw .depSchedule .monthRow .month,
.dep-ot .depSchedule .monthRow .month,
.dep-psw .depSchedule .monthRow .month {
  text-align: center;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  padding: 0 0.25rem;
  position: relative;
  cursor: default;
}
.dep-ccw .depSchedule .monthRow .month::after,
.dep-ot .depSchedule .monthRow .month::after,
.dep-psw .depSchedule .monthRow .month::after {
  content: "";
  position: absolute;
  bottom: -0.7rem;
  left: 50%;
  transform: translateX(-50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: hsl(0, 0%, 80%);
}
.dep-ccw .depSchedule .monthRow .month.highlight::after,
.dep-ot .depSchedule .monthRow .month.highlight::after,
.dep-psw .depSchedule .monthRow .month.highlight::after {
  background-color: var(--dep-c);
  box-shadow: 0 0 0 2px hsl(178, 100%, 100%), 0 0 0 4px var(--dep-c);
}
.dep-ccw .depSchedule .trackRow,
.dep-ot .depSchedule .trackRow,
.dep-psw .depSchedule .trackRow {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 2px;
  margin-bottom: 1rem;
  padding-top: 0.5rem;
}
.dep-ccw .depSchedule .trackCell,
.dep-ot .depSchedule .trackCell,
.dep-psw .depSchedule .trackCell {
  height: 28px;
  border-radius: 3px;
  background-color: hsl(0, 0%, 92%);
  position: relative;
}
.dep-ccw .depSchedule .trackCell.span-2,
.dep-ot .depSchedule .trackCell.span-2,
.dep-psw .depSchedule .trackCell.span-2 {
  grid-column: span 2;
}
.dep-ccw .depSchedule .trackCell.span-3,
.dep-ot .depSchedule .trackCell.span-3,
.dep-psw .depSchedule .trackCell.span-3 {
  grid-column: span 3;
}
.dep-ccw .depSchedule .trackCell.span-4,
.dep-ot .depSchedule .trackCell.span-4,
.dep-psw .depSchedule .trackCell.span-4 {
  grid-column: span 4;
}
.dep-ccw .depSchedule .trackCell.span-5,
.dep-ot .depSchedule .trackCell.span-5,
.dep-psw .depSchedule .trackCell.span-5 {
  grid-column: span 5;
}
.dep-ccw .depSchedule .trackCell.span-6,
.dep-ot .depSchedule .trackCell.span-6,
.dep-psw .depSchedule .trackCell.span-6 {
  grid-column: span 6;
}
.dep-ccw .depSchedule .trackCell.span-7,
.dep-ot .depSchedule .trackCell.span-7,
.dep-psw .depSchedule .trackCell.span-7 {
  grid-column: span 7;
}
.dep-ccw .depSchedule .trackCell.summer,
.dep-ot .depSchedule .trackCell.summer,
.dep-psw .depSchedule .trackCell.summer {
  background-color: hsl(200, 68%, 64%);
}
.dep-ccw .depSchedule .trackCell.summer::after,
.dep-ot .depSchedule .trackCell.summer::after,
.dep-psw .depSchedule .trackCell.summer::after {
  content: "夏期休暇";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  white-space: nowrap;
}
.dep-ccw .depSchedule .trackCell.winter::before,
.dep-ot .depSchedule .trackCell.winter::before,
.dep-psw .depSchedule .trackCell.winter::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 50%;
  min-width: 56px;
  height: 100%;
  background-color: hsl(260, 80%, 67%);
  border-radius: 3px;
}
.dep-ccw .depSchedule .trackCell.winter::after,
.dep-ot .depSchedule .trackCell.winter::after,
.dep-psw .depSchedule .trackCell.winter::after {
  content: "冬期休暇";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  white-space: nowrap;
}
.dep-ccw .depSchedule .trackCell.spring,
.dep-ot .depSchedule .trackCell.spring,
.dep-psw .depSchedule .trackCell.spring {
  background-color: hsl(0, 86%, 76%);
}
.dep-ccw .depSchedule .trackCell.spring::after,
.dep-ot .depSchedule .trackCell.spring::after,
.dep-psw .depSchedule .trackCell.spring::after {
  content: "春期休暇";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  white-space: nowrap;
}
.dep-ccw .depSchedule .trackCell.exam,
.dep-ot .depSchedule .trackCell.exam,
.dep-psw .depSchedule .trackCell.exam {
  background-color: hsl(178, 97%, 3%);
}
.dep-ccw .depSchedule .trackCell.exam::after,
.dep-ot .depSchedule .trackCell.exam::after,
.dep-psw .depSchedule .trackCell.exam::after {
  content: "卒業試験";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  white-space: nowrap;
}
.dep-ccw .depSchedule .trackCell.national-exam,
.dep-ot .depSchedule .trackCell.national-exam,
.dep-psw .depSchedule .trackCell.national-exam {
  background-color: hsl(178, 97%, 3%);
}
.dep-ccw .depSchedule .trackCell.national-exam::after,
.dep-ot .depSchedule .trackCell.national-exam::after,
.dep-psw .depSchedule .trackCell.national-exam::after {
  content: "国家試験";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  white-space: nowrap;
}
.dep-ccw .depSchedule .eventRow,
.dep-ot .depSchedule .eventRow,
.dep-psw .depSchedule .eventRow {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  align-items: start;
  gap: 2px;
}
.dep-ccw .depSchedule .eventCell,
.dep-ot .depSchedule .eventCell,
.dep-psw .depSchedule .eventCell {
  padding: 0 2px;
  min-height: 3rem;
}
.dep-ccw .depSchedule .eventCell .eventLabel,
.dep-ot .depSchedule .eventCell .eventLabel,
.dep-psw .depSchedule .eventCell .eventLabel {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.45;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  display: block;
  margin: 0 auto;
}
.dep-ccw .depSchedule .eventCell .eventLabel.bold,
.dep-ot .depSchedule .eventCell .eventLabel.bold,
.dep-psw .depSchedule .eventCell .eventLabel.bold {
  font-weight: bold;
  color: var(--dep-c-dark);
}
.dep-ccw .depSchedule .eventCell .eventLabel.bold2,
.dep-ot .depSchedule .eventCell .eventLabel.bold2,
.dep-psw .depSchedule .eventCell .eventLabel.bold2 {
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  letter-spacing: 0.25rem;
  background-color: hsl(178, 97%, 3%);
  padding: 1rem 0.25rem;
}
.dep-ccw .depTimeTable .timetableFlow,
.dep-ot .depTimeTable .timetableFlow,
.dep-psw .depTimeTable .timetableFlow {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 0.5rem;
}
.dep-ccw .depTimeTable .ttItem,
.dep-ot .depTimeTable .ttItem,
.dep-psw .depTimeTable .ttItem {
  background-color: hsl(178, 100%, 100%);
  border-radius: 12px;
  border: 2px solid var(--dep-c);
  padding: 0.75rem 1rem;
  text-align: center;
  min-width: 110px;
  flex-shrink: 0;
}
.dep-ccw .depTimeTable .ttItem .ttLabel,
.dep-ot .depTimeTable .ttItem .ttLabel,
.dep-psw .depTimeTable .ttItem .ttLabel {
  display: block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c);
  margin-bottom: 0.25rem;
}
.dep-ccw .depTimeTable .ttItem .ttTime,
.dep-ot .depTimeTable .ttItem .ttTime,
.dep-psw .depTimeTable .ttItem .ttTime {
  display: block;
  font-family: "din-condensed", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.dep-ccw .depTimeTable .ttItem.index,
.dep-ot .depTimeTable .ttItem.index,
.dep-psw .depTimeTable .ttItem.index {
  background-color: var(--dep-c-light);
  border-color: var(--dep-c-light);
}
.dep-ccw .depTimeTable .ttItem.index .ttLabel,
.dep-ot .depTimeTable .ttItem.index .ttLabel,
.dep-psw .depTimeTable .ttItem.index .ttLabel {
  color: var(--dep-c-dark);
}
.dep-ccw .depTimeTable .ttArrow,
.dep-ot .depTimeTable .ttArrow,
.dep-psw .depTimeTable .ttArrow {
  width: 0;
  height: 0;
  border-top: 8px solid transparent;
  border-bottom: 8px solid transparent;
  border-left: 10px solid var(--dep-c);
  flex-shrink: 0;
}
.dep-ccw .depTimeTable .ttNote,
.dep-ot .depTimeTable .ttNote,
.dep-psw .depTimeTable .ttNote {
  text-align: center;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  margin-top: 1.25rem;
}
.dep-ccw .depSubjects,
.dep-ot .depSubjects,
.dep-psw .depSubjects {
  background-color: var(--dep-c-light);
}
.dep-ccw .depSubjects .subjectCard,
.dep-ot .depSubjects .subjectCard,
.dep-psw .depSubjects .subjectCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 12px;
  overflow: hidden;
  height: 100%;
}
.dep-ccw .depSubjects .subjectCard .cardHead,
.dep-ot .depSubjects .subjectCard .cardHead,
.dep-psw .depSubjects .subjectCard .cardHead {
  background: var(--dep-c);
  padding: 0.75rem 1.25rem;
}
.dep-ccw .depSubjects .subjectCard .cardHead h3,
.dep-ot .depSubjects .subjectCard .cardHead h3,
.dep-psw .depSubjects .subjectCard .cardHead h3 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin: 0;
}
.dep-ccw .depSubjects .subjectCard .cardBody,
.dep-ot .depSubjects .subjectCard .cardBody,
.dep-psw .depSubjects .subjectCard .cardBody {
  padding: 1rem 1.25rem;
}
.dep-ccw .depSubjects .subjectCard .cardBody p,
.dep-ot .depSubjects .subjectCard .cardBody p,
.dep-psw .depSubjects .subjectCard .cardBody p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.8;
  margin: 0;
}
.dep-ccw .depSkills .skillCard,
.dep-ot .depSkills .skillCard,
.dep-psw .depSkills .skillCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 12px;
  border: 1px solid hsl(0, 0%, 95%);
  overflow: hidden;
  text-align: center;
}
.dep-ccw .depSkills .skillCard img,
.dep-ot .depSkills .skillCard img,
.dep-psw .depSkills .skillCard img {
  width: 100%;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.dep-ccw .depSkills .skillCard h3,
.dep-ot .depSkills .skillCard h3,
.dep-psw .depSkills .skillCard h3 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  padding: 0.6rem 0.5rem;
  line-height: 1.45;
}
.dep-ccw .depSkills .skillBoxWrap,
.dep-ot .depSkills .skillBoxWrap,
.dep-psw .depSkills .skillBoxWrap {
  background: linear-gradient(135deg, var(--dep-c-light) 0%, hsl(0, 0%, 98%) 100%);
  border-radius: 16px;
  border: 2px solid var(--dep-c);
  padding: 1.5rem 2rem;
}
.dep-ccw .depSkills .skillBoxWrap h3,
.dep-ot .depSkills .skillBoxWrap h3,
.dep-psw .depSkills .skillBoxWrap h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  margin-bottom: 1rem;
}
.dep-ccw .depSkills .skillBoxWrap h3 span,
.dep-ot .depSkills .skillBoxWrap h3 span,
.dep-psw .depSkills .skillBoxWrap h3 span {
  background-color: var(--dep-c);
  color: hsl(178, 100%, 100%);
  border-radius: 4px;
  padding: 0.1rem 0.5rem 0.25rem;
  margin: 0 0.25rem;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
}
.dep-ccw .depSkills .skillBoxWrap .skillList,
.dep-ot .depSkills .skillBoxWrap .skillList,
.dep-psw .depSkills .skillBoxWrap .skillList {
  list-style: none;
  padding: 0;
  margin: 0 0 0.75rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.dep-ccw .depSkills .skillBoxWrap .skillList li,
.dep-ot .depSkills .skillBoxWrap .skillList li,
.dep-psw .depSkills .skillBoxWrap .skillList li {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  background-color: hsl(178, 100%, 100%);
  border-radius: 6px;
  border: 1px solid hsl(0, 0%, 95%);
  padding: 0.3rem 0.75rem;
  width: auto;
  background-color: hsl(178, 100%, 100%);
}
.dep-ccw .depSkills .skillBoxWrap p.note,
.dep-ot .depSkills .skillBoxWrap p.note,
.dep-psw .depSkills .skillBoxWrap p.note {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.75;
  border-top: 1px dashed hsl(0, 0%, 95%);
  padding-top: 0.75rem;
  margin: 0;
}
.dep-ccw .depCurriculum,
.dep-ot .depCurriculum,
.dep-psw .depCurriculum {
  background-color: hsl(0, 0%, 98%);
}
.dep-ccw .depCurriculum .curriculumGrid,
.dep-ot .depCurriculum .curriculumGrid,
.dep-psw .depCurriculum .curriculumGrid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1rem;
}
.dep-ccw .depCurriculum .curriculumCard,
.dep-ot .depCurriculum .curriculumCard,
.dep-psw .depCurriculum .curriculumCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid hsl(0, 0%, 95%);
}
.dep-ccw .depCurriculum .curriculumCard .currImgWrap,
.dep-ot .depCurriculum .curriculumCard .currImgWrap,
.dep-psw .depCurriculum .curriculumCard .currImgWrap {
  overflow: hidden;
}
.dep-ccw .depCurriculum .curriculumCard .currImgWrap img,
.dep-ot .depCurriculum .curriculumCard .currImgWrap img,
.dep-psw .depCurriculum .curriculumCard .currImgWrap img {
  width: 100%;
  aspect-ratio: 5/3;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  transition: transform 0.4s;
}
.dep-ccw .depCurriculum .curriculumCard .currBody,
.dep-ot .depCurriculum .curriculumCard .currBody,
.dep-psw .depCurriculum .curriculumCard .currBody {
  padding: 1.25rem;
}
.dep-ccw .depCurriculum .curriculumCard .currBody .subject,
.dep-ot .depCurriculum .curriculumCard .currBody .subject,
.dep-psw .depCurriculum .curriculumCard .currBody .subject {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 100%, 100%);
  border-radius: 6px;
  padding: 0.15rem 0.75rem;
  margin-bottom: 0.5rem;
  background-color: var(--dep-c);
}
.dep-ccw .depCurriculum .curriculumCard .currBody h3,
.dep-ot .depCurriculum .curriculumCard .currBody h3,
.dep-psw .depCurriculum .curriculumCard .currBody h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  margin-bottom: 0.5rem;
}
.dep-ccw .depCurriculum .curriculumCard .currBody p,
.dep-ot .depCurriculum .curriculumCard .currBody p,
.dep-psw .depCurriculum .curriculumCard .currBody p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.8;
  margin: 0;
}
.dep-ccw .depBanner .cardWrap,
.dep-ot .depBanner .cardWrap,
.dep-psw .depBanner .cardWrap {
  display: flex;
  flex-direction: column;
  border-radius: 16px;
  box-shadow: 6px 6px 0 hsl(120, 43%, 37%);
  overflow: hidden;
  background-color: hsl(120, 54%, 56%);
  margin-bottom: 1.5rem;
  position: relative;
}
.dep-ccw .depBanner .cardWrap .imgWrap,
.dep-ot .depBanner .cardWrap .imgWrap,
.dep-psw .depBanner .cardWrap .imgWrap {
  flex-shrink: 0;
  width: 100%;
  min-height: 180px;
  background: top/cover url(./images/ccw/pamphlet.webp) no-repeat;
  background-color: var(--dep-c-light);
}
.dep-ccw .depBanner .cardWrap .innerText,
.dep-ot .depBanner .cardWrap .innerText,
.dep-psw .depBanner .cardWrap .innerText {
  flex: 1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 1.5rem 1rem;
}
.dep-ccw .depBanner .cardWrap .innerText h3,
.dep-ot .depBanner .cardWrap .innerText h3,
.dep-psw .depBanner .cardWrap .innerText h3 {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin-bottom: 0.5rem;
}
.dep-ccw .depBanner .cardWrap .innerText p,
.dep-ot .depBanner .cardWrap .innerText p,
.dep-psw .depBanner .cardWrap .innerText p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 100%, 100%);
  font-weight: normal;
  border-top: solid 1px hsla(178, 100%, 100%, 0.25);
  padding-top: 0.75rem;
  margin-top: 0.75rem;
}
@media screen and (max-width: 992px) {
  .dep-ccw .depBanner .cardWrap .innerText.bg1,
  .dep-ot .depBanner .cardWrap .innerText.bg1,
  .dep-psw .depBanner .cardWrap .innerText.bg1 {
    padding-bottom: calc(2.5rem + 40px);
  }
}
.dep-ccw .depBanner .cardWrap a,
.dep-ot .depBanner .cardWrap a,
.dep-psw .depBanner .cardWrap a {
  position: absolute;
  bottom: 1rem;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
  display: inline-block;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 54%, 56%);
  border: solid 2px hsl(178, 100%, 100%);
  outline: solid 2px hsl(120, 54%, 56%);
  border-radius: 32px;
  padding: 0.45rem 1.25rem;
  text-decoration: none;
  margin-top: 1.5rem;
  font-weight: bold;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  transition: all 0.2s;
}
.dep-ccw .depBanner .cardWrap a:hover,
.dep-ot .depBanner .cardWrap a:hover,
.dep-psw .depBanner .cardWrap a:hover {
  color: hsl(120, 54%, 56%);
  background-color: hsl(178, 100%, 100%);
}
.dep-ccw .depOb .obTitle,
.dep-ot .depOb .obTitle,
.dep-psw .depOb .obTitle {
  text-align: center;
  margin-bottom: 2.5rem;
}
.dep-ccw .depOb .obTitle h2,
.dep-ot .depOb .obTitle h2,
.dep-psw .depOb .obTitle h2 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.dep-ccw .depOb .obTitle h2 .student,
.dep-ot .depOb .obTitle h2 .student,
.dep-psw .depOb .obTitle h2 .student {
  color: hsl(0, 90%, 80%);
}
.dep-ccw .depOb .voiceCard,
.dep-ot .depOb .voiceCard,
.dep-psw .depOb .voiceCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid hsl(0, 0%, 95%);
  padding: 1.5rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.dep-ccw .depOb .voiceCard .profileBlock,
.dep-ot .depOb .voiceCard .profileBlock,
.dep-psw .depOb .voiceCard .profileBlock {
  display: flex;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid hsl(0, 0%, 95%);
}
.dep-ccw .depOb .voiceCard .profileBlock .profileImg,
.dep-ot .depOb .voiceCard .profileBlock .profileImg,
.dep-psw .depOb .voiceCard .profileBlock .profileImg {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  border: 3px solid hsl(183, 55%, 52%);
}
.dep-ccw .depOb .voiceCard .profileBlock .profileImg img,
.dep-ot .depOb .voiceCard .profileBlock .profileImg img,
.dep-psw .depOb .voiceCard .profileBlock .profileImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.dep-ccw .depOb .voiceCard .profileBlock .profileInfo .dept,
.dep-ot .depOb .voiceCard .profileBlock .profileInfo .dept,
.dep-psw .depOb .voiceCard .profileBlock .profileInfo .dept {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(183, 55%, 52%);
  display: block;
  margin-bottom: 0.15rem;
}
.dep-ccw .depOb .voiceCard .profileBlock .profileInfo .name,
.dep-ot .depOb .voiceCard .profileBlock .profileInfo .name,
.dep-psw .depOb .voiceCard .profileBlock .profileInfo .name {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  display: block;
}
.dep-ccw .depOb .voiceCard .profileBlock .profileInfo .school,
.dep-ccw .depOb .voiceCard .profileBlock .profileInfo .work,
.dep-ot .depOb .voiceCard .profileBlock .profileInfo .school,
.dep-ot .depOb .voiceCard .profileBlock .profileInfo .work,
.dep-psw .depOb .voiceCard .profileBlock .profileInfo .school,
.dep-psw .depOb .voiceCard .profileBlock .profileInfo .work {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  display: block;
  margin-bottom: 0.25rem;
}
.dep-ccw .depOb .voiceCard .profileBlock.graduate .dept,
.dep-ot .depOb .voiceCard .profileBlock.graduate .dept,
.dep-psw .depOb .voiceCard .profileBlock.graduate .dept {
  color: hsl(0, 90%, 80%);
}
.dep-ccw .depOb .voiceCard .profileBlock.graduate .profileImg,
.dep-ot .depOb .voiceCard .profileBlock.graduate .profileImg,
.dep-psw .depOb .voiceCard .profileBlock.graduate .profileImg {
  border-color: hsl(0, 90%, 80%);
}
.dep-ccw .depOb .voiceCard .voiceText,
.dep-ot .depOb .voiceCard .voiceText,
.dep-psw .depOb .voiceCard .voiceText {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.85;
  flex: 1;
  position: relative;
}
.dep-ccw .depOb .voiceCard .voiceText::before, .dep-ccw .depOb .voiceCard .voiceText::after,
.dep-ot .depOb .voiceCard .voiceText::before,
.dep-ot .depOb .voiceCard .voiceText::after,
.dep-psw .depOb .voiceCard .voiceText::before,
.dep-psw .depOb .voiceCard .voiceText::after {
  content: "“";
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  line-height: 0.5;
  color: hsl(0, 0%, 95%);
  opacity: 0.5;
  position: absolute;
  top: -0.25rem;
  left: -0.25rem;
  font-family: serif;
}
.dep-ccw .depOb .voiceCard .voiceText::after,
.dep-ot .depOb .voiceCard .voiceText::after,
.dep-psw .depOb .voiceCard .voiceText::after {
  content: "”";
  top: auto;
  bottom: -0.25rem;
  left: auto;
  right: -0.25rem;
}
.dep-ccw .depCareerFields,
.dep-ot .depCareerFields,
.dep-psw .depCareerFields {
  background-color: var(--dep-c-light);
}
.dep-ccw .depCareerFields .careerFieldsWrap,
.dep-ot .depCareerFields .careerFieldsWrap,
.dep-psw .depCareerFields .careerFieldsWrap {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.dep-ccw .depCareerFields .careerFieldsMain,
.dep-ot .depCareerFields .careerFieldsMain,
.dep-psw .depCareerFields .careerFieldsMain {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  border: 2px solid var(--dep-c);
  padding: 1.5rem;
}
.dep-ccw .depCareerFields .careerFieldsMainTitle,
.dep-ccw .depCareerFields .careerFieldsNewTitle,
.dep-ot .depCareerFields .careerFieldsMainTitle,
.dep-ot .depCareerFields .careerFieldsNewTitle,
.dep-psw .depCareerFields .careerFieldsMainTitle,
.dep-psw .depCareerFields .careerFieldsNewTitle {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  border-left: 4px solid var(--dep-c);
}
.dep-ccw .depCareerFields .careerFieldsTags,
.dep-ot .depCareerFields .careerFieldsTags,
.dep-psw .depCareerFields .careerFieldsTags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.dep-ccw .depCareerFields .careerTag,
.dep-ot .depCareerFields .careerTag,
.dep-psw .depCareerFields .careerTag {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  background-color: var(--dep-c-light);
  border: 1.5px solid var(--dep-c);
  border-radius: 20px;
  padding: 0.3rem 0.9rem;
}
.dep-ccw .depCareerFields .careerFieldsNew,
.dep-ot .depCareerFields .careerFieldsNew,
.dep-psw .depCareerFields .careerFieldsNew {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  border: 1px solid hsl(0, 0%, 95%);
  padding: 1.5rem;
}
.dep-ccw .depCareerFields .careerFieldsNewGrid,
.dep-ot .depCareerFields .careerFieldsNewGrid,
.dep-psw .depCareerFields .careerFieldsNewGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.dep-ccw .depCareerFields .careerNewCard,
.dep-ot .depCareerFields .careerNewCard,
.dep-psw .depCareerFields .careerNewCard {
  border-radius: 12px;
  background-color: var(--dep-c-light);
  padding: 1rem 1.25rem;
  border-left: 4px solid var(--dep-c);
}
.dep-ccw .depCareerFields .careerNewCard .careerNewHead,
.dep-ot .depCareerFields .careerNewCard .careerNewHead,
.dep-psw .depCareerFields .careerNewCard .careerNewHead {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.dep-ccw .depCareerFields .careerNewCard .careerNewBadge,
.dep-ot .depCareerFields .careerNewCard .careerNewBadge,
.dep-psw .depCareerFields .careerNewCard .careerNewBadge {
  display: inline-block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: var(--dep-c);
  border-radius: 4px;
  padding: 0.1rem 0.6rem;
  flex-shrink: 0;
}
.dep-ccw .depCareerFields .careerNewCard h4,
.dep-ot .depCareerFields .careerNewCard h4,
.dep-psw .depCareerFields .careerNewCard h4 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  margin: 0;
}
.dep-ccw .depCareerFields .careerNewCard p,
.dep-ot .depCareerFields .careerNewCard p,
.dep-psw .depCareerFields .careerNewCard p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.75;
  margin: 0;
}
.dep-ccw .depAdmission,
.dep-ot .depAdmission,
.dep-psw .depAdmission {
  background-color: hsl(0, 0%, 98%);
}
.dep-ccw .depAdmission .admissionGrid,
.dep-ot .depAdmission .admissionGrid,
.dep-psw .depAdmission .admissionGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.dep-ccw .depAdmission .admissionCard,
.dep-ot .depAdmission .admissionCard,
.dep-psw .depAdmission .admissionCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  border: 2px solid hsl(0, 0%, 95%);
  padding: 1.75rem 1.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.75rem;
}
.dep-ccw .depAdmission .admissionCard .admissionIcon,
.dep-ot .depAdmission .admissionCard .admissionIcon,
.dep-psw .depAdmission .admissionCard .admissionIcon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background-color: hsl(0, 0%, 92%);
  color: hsl(0, 0%, 35%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.dep-ccw .depAdmission .admissionCard .admissionIcon svg,
.dep-ot .depAdmission .admissionCard .admissionIcon svg,
.dep-psw .depAdmission .admissionCard .admissionIcon svg {
  width: 28px;
  height: 28px;
}
.dep-ccw .depAdmission .admissionCard h3,
.dep-ot .depAdmission .admissionCard h3,
.dep-psw .depAdmission .admissionCard h3 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin: 0;
}
.dep-ccw .depAdmission .admissionCard p,
.dep-ot .depAdmission .admissionCard p,
.dep-psw .depAdmission .admissionCard p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.85;
  margin: 0;
}
.dep-ccw .depCareerPath .careerPathBox,
.dep-ot .depCareerPath .careerPathBox,
.dep-psw .depCareerPath .careerPathBox {
  background-color: var(--dep-c-light);
  border: 2px solid var(--dep-c);
  border-radius: 20px;
  padding: 2.5rem 1.5rem;
  text-align: center;
  max-width: 900px;
  margin: 0 auto;
}
@media screen and (min-width: 992px) {
  .dep-ccw .depCareerPath .careerPathBox,
  .dep-ot .depCareerPath .careerPathBox,
  .dep-psw .depCareerPath .careerPathBox {
    padding: 4rem 3.5rem;
  }
}
.dep-ccw .depCareerPath .careerPathBox .boxTitle,
.dep-ot .depCareerPath .careerPathBox .boxTitle,
.dep-psw .depCareerPath .careerPathBox .boxTitle {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
@media screen and (min-width: 992px) {
  .dep-ccw .depCareerPath .careerPathBox .boxTitle,
  .dep-ot .depCareerPath .careerPathBox .boxTitle,
  .dep-psw .depCareerPath .careerPathBox .boxTitle {
    font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
    margin-bottom: 2rem;
  }
}
.dep-ccw .depCareerPath .careerPathBox .boxText,
.dep-ot .depCareerPath .careerPathBox .boxText,
.dep-psw .depCareerPath .careerPathBox .boxText {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 2;
  text-align: left;
  margin-bottom: 2rem;
}
@media screen and (min-width: 992px) {
  .dep-ccw .depCareerPath .careerPathBox .boxText,
  .dep-ot .depCareerPath .careerPathBox .boxText,
  .dep-psw .depCareerPath .careerPathBox .boxText {
    font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
    margin-bottom: 2.5rem;
  }
}
.dep-ccw .depCareerPath .careerPathBox .pathBtnWrap,
.dep-ot .depCareerPath .careerPathBox .pathBtnWrap,
.dep-psw .depCareerPath .careerPathBox .pathBtnWrap {
  display: flex;
  justify-content: center;
}
.dep-ccw .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet,
.dep-ot .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet,
.dep-psw .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet {
  display: inline-block;
  background-color: var(--dep-c);
  color: hsl(178, 100%, 100%);
  font-weight: bold;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  padding: 0.8rem 2.5rem;
  border-radius: 50px;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
}
.dep-ccw .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet:hover,
.dep-ot .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet:hover,
.dep-psw .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet:hover {
  background-color: var(--dep-c-dark);
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  color: hsl(178, 100%, 100%);
}
@media screen and (min-width: 992px) {
  .dep-ccw .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet,
  .dep-ot .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet,
  .dep-psw .depCareerPath .careerPathBox .pathBtnWrap .btn-pamphlet {
    font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
    padding: 1rem 4rem;
  }
}
.dep-ccw .depOtPt .depSectionTitle h2,
.dep-ot .depOtPt .depSectionTitle h2,
.dep-psw .depOtPt .depSectionTitle h2 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
}
.dep-ccw .depOtPt .otPtGrid,
.dep-ot .depOtPt .otPtGrid,
.dep-psw .depOtPt .otPtGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.dep-ccw .depOtPt .otPtCard,
.dep-ot .depOtPt .otPtCard,
.dep-psw .depOtPt .otPtCard {
  border-radius: 16px;
  border: 2px solid hsl(0, 0%, 95%);
  overflow: hidden;
}
.dep-ccw .depOtPt .otPtCard--ot,
.dep-ot .depOtPt .otPtCard--ot,
.dep-psw .depOtPt .otPtCard--ot {
  border-color: var(--dep-c);
}
.dep-ccw .depOtPt .otPtCard--ot .otPtHead,
.dep-ot .depOtPt .otPtCard--ot .otPtHead,
.dep-psw .depOtPt .otPtCard--ot .otPtHead {
  background: var(--dep-c);
}
.dep-ccw .depOtPt .otPtCard--ot .otPtBadge,
.dep-ot .depOtPt .otPtCard--ot .otPtBadge,
.dep-psw .depOtPt .otPtCard--ot .otPtBadge {
  background-color: hsl(178, 100%, 100%);
  color: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard--ot .targetLabel,
.dep-ot .depOtPt .otPtCard--ot .targetLabel,
.dep-psw .depOtPt .otPtCard--ot .targetLabel {
  background-color: var(--dep-c);
}
.dep-ccw .depOtPt .otPtCard--ot .targetCat,
.dep-ot .depOtPt .otPtCard--ot .targetCat,
.dep-psw .depOtPt .otPtCard--ot .targetCat {
  color: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard--pt,
.dep-ot .depOtPt .otPtCard--pt,
.dep-psw .depOtPt .otPtCard--pt {
  border-color: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard--pt .otPtHead,
.dep-ot .depOtPt .otPtCard--pt .otPtHead,
.dep-psw .depOtPt .otPtCard--pt .otPtHead {
  background: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard--pt .otPtBadge,
.dep-ot .depOtPt .otPtCard--pt .otPtBadge,
.dep-psw .depOtPt .otPtCard--pt .otPtBadge {
  background-color: hsl(178, 100%, 100%);
  color: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard--pt .targetLabel,
.dep-ot .depOtPt .otPtCard--pt .targetLabel,
.dep-psw .depOtPt .otPtCard--pt .targetLabel {
  background-color: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard--pt .targetCat,
.dep-ot .depOtPt .otPtCard--pt .targetCat,
.dep-psw .depOtPt .otPtCard--pt .targetCat {
  color: var(--dep-c-dark);
}
.dep-ccw .depOtPt .otPtCard .otPtHead,
.dep-ot .depOtPt .otPtCard .otPtHead,
.dep-psw .depOtPt .otPtCard .otPtHead {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
}
.dep-ccw .depOtPt .otPtCard .otPtBadge,
.dep-ot .depOtPt .otPtCard .otPtBadge,
.dep-psw .depOtPt .otPtCard .otPtBadge {
  font-family: "din-condensed", sans-serif;
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  padding: 0.15rem 0.75rem;
  border-radius: 8px;
  flex-shrink: 0;
  line-height: 1.3;
}
.dep-ccw .depOtPt .otPtCard .otPtTitle h3,
.dep-ot .depOtPt .otPtCard .otPtTitle h3,
.dep-psw .depOtPt .otPtCard .otPtTitle h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin: 0 0 0.1rem;
}
.dep-ccw .depOtPt .otPtCard .otPtTitle .otPtSub,
.dep-ot .depOtPt .otPtCard .otPtTitle .otPtSub,
.dep-psw .depOtPt .otPtCard .otPtTitle .otPtSub {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsla(0, 0%, 100%, 0.8);
  font-weight: normal;
}
.dep-ccw .depOtPt .otPtCard .otPtDesc,
.dep-ot .depOtPt .otPtCard .otPtDesc,
.dep-psw .depOtPt .otPtCard .otPtDesc {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.85;
  padding: 1rem 1.25rem 0.75rem;
  margin: 0;
}
.dep-ccw .depOtPt .otPtCard .otPtDesc strong,
.dep-ot .depOtPt .otPtCard .otPtDesc strong,
.dep-psw .depOtPt .otPtCard .otPtDesc strong {
  color: var(--dep-c-dark);
  font-weight: bold;
}
.dep-ccw .depOtPt .otPtCard .otPtTarget,
.dep-ot .depOtPt .otPtCard .otPtTarget,
.dep-psw .depOtPt .otPtCard .otPtTarget {
  padding: 0 1.25rem 1.25rem;
}
.dep-ccw .depOtPt .otPtCard .otPtTarget .targetLabel,
.dep-ot .depOtPt .otPtCard .otPtTarget .targetLabel,
.dep-psw .depOtPt .otPtCard .otPtTarget .targetLabel {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  border-radius: 4px;
  padding: 0.1rem 0.6rem;
  margin-bottom: 0.65rem;
}
.dep-ccw .depOtPt .otPtCard .otPtTarget ul,
.dep-ot .depOtPt .otPtCard .otPtTarget ul,
.dep-psw .depOtPt .otPtCard .otPtTarget ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.dep-ccw .depOtPt .otPtCard .otPtTarget li,
.dep-ot .depOtPt .otPtCard .otPtTarget li,
.dep-psw .depOtPt .otPtCard .otPtTarget li {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.dep-ccw .depOtPt .otPtCard .otPtTarget .targetCat,
.dep-ot .depOtPt .otPtCard .otPtTarget .targetCat,
.dep-psw .depOtPt .otPtCard .otPtTarget .targetCat {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
}
.dep-ccw .depOtPt .otPtCard .otPtTarget .targetDetail,
.dep-ot .depOtPt .otPtCard .otPtTarget .targetDetail,
.dep-psw .depOtPt .otPtCard .otPtTarget .targetDetail {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.6;
}
.dep-ccw .depEmployment,
.dep-ot .depEmployment,
.dep-psw .depEmployment {
  background-color: var(--dep-c-light);
}
.dep-ccw .depEmployment .employmentGrid,
.dep-ot .depEmployment .employmentGrid,
.dep-psw .depEmployment .employmentGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}
.dep-ccw .depEmployment .employmentArea,
.dep-ot .depEmployment .employmentArea,
.dep-psw .depEmployment .employmentArea {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  border: 1px solid hsl(0, 0%, 95%);
  padding: 1.25rem 1.5rem;
}
.dep-ccw .depEmployment .employmentArea .areaHead,
.dep-ot .depEmployment .employmentArea .areaHead,
.dep-psw .depEmployment .employmentArea .areaHead {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--dep-c-light);
}
.dep-ccw .depEmployment .employmentArea .areaHead .areaIcon,
.dep-ot .depEmployment .employmentArea .areaHead .areaIcon,
.dep-psw .depEmployment .employmentArea .areaHead .areaIcon {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  line-height: 1;
  flex-shrink: 0;
}
.dep-ccw .depEmployment .employmentArea .areaHead h3,
.dep-ot .depEmployment .employmentArea .areaHead h3,
.dep-psw .depEmployment .employmentArea .areaHead h3 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: var(--dep-c-dark);
  margin: 0;
  line-height: 1.4;
}
.dep-ccw .depEmployment .employmentArea .facilityList,
.dep-ot .depEmployment .employmentArea .facilityList,
.dep-psw .depEmployment .employmentArea .facilityList {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 2;
  margin: 0;
}
.dep-ccw .depEmployment .employmentArea .prefList,
.dep-ot .depEmployment .employmentArea .prefList,
.dep-psw .depEmployment .employmentArea .prefList {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.dep-ccw .depEmployment .employmentArea .prefItem,
.dep-ot .depEmployment .employmentArea .prefItem,
.dep-psw .depEmployment .employmentArea .prefItem {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.5rem;
}
.dep-ccw .depEmployment .employmentArea .prefItem .prefName,
.dep-ot .depEmployment .employmentArea .prefItem .prefName,
.dep-psw .depEmployment .employmentArea .prefItem .prefName {
  display: inline-block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: var(--dep-c);
  border-radius: 20px;
  padding: 0.15rem 0.75rem;
  flex-shrink: 0;
  white-space: nowrap;
}
.dep-ccw .depEmployment .employmentArea .prefItem .prefFacilities,
.dep-ot .depEmployment .employmentArea .prefItem .prefFacilities,
.dep-psw .depEmployment .employmentArea .prefItem .prefFacilities {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.75;
}

@media screen and (min-width: 992px) {
  .dep-ccw .depAbout ul:not(.keyList) li,
  .dep-ccw .depAbout .keyList li,
  .dep-ot .depAbout ul:not(.keyList) li,
  .dep-ot .depAbout .keyList li,
  .dep-psw .depAbout ul:not(.keyList) li,
  .dep-psw .depAbout .keyList li {
    width: calc(50% - 0.25rem);
  }
  .dep-ccw .depAbout .imgCatchWrap,
  .dep-ot .depAbout .imgCatchWrap,
  .dep-psw .depAbout .imgCatchWrap {
    max-width: none;
    bottom: 0;
  }
  .dep-ccw .depAbout ul,
  .dep-ot .depAbout ul,
  .dep-psw .depAbout ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    border-bottom: solid 2px var(--dep-c);
    padding-bottom: 1.5rem;
  }
  .dep-ccw .depAbout ul li,
  .dep-ot .depAbout ul li,
  .dep-psw .depAbout ul li {
    width: calc(50% - 0.375rem);
  }
  .dep-ccw .depTimeTable .timetableFlow,
  .dep-ot .depTimeTable .timetableFlow,
  .dep-psw .depTimeTable .timetableFlow {
    gap: 0.5rem;
  }
  .dep-ccw .depTimeTable .timetableFlow .ttItem,
  .dep-ot .depTimeTable .timetableFlow .ttItem,
  .dep-psw .depTimeTable .timetableFlow .ttItem {
    min-width: 110px;
    padding: 0.75rem;
  }
  .dep-ccw .depCurriculum .curriculumGrid,
  .dep-ot .depCurriculum .curriculumGrid,
  .dep-psw .depCurriculum .curriculumGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .dep-ccw .depBanner .cardWrap,
  .dep-ot .depBanner .cardWrap,
  .dep-psw .depBanner .cardWrap {
    flex-direction: row !important;
  }
  .dep-ccw .depBanner .cardWrap .imgWrap,
  .dep-ot .depBanner .cardWrap .imgWrap,
  .dep-psw .depBanner .cardWrap .imgWrap {
    width: 40%;
    min-height: 180px;
  }
  .dep-ccw .depBanner .cardWrap .innerText,
  .dep-ot .depBanner .cardWrap .innerText,
  .dep-psw .depBanner .cardWrap .innerText {
    padding: 2rem 1.5rem;
  }
  .dep-ccw .depEmployment .employmentGrid,
  .dep-ot .depEmployment .employmentGrid,
  .dep-psw .depEmployment .employmentGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.25rem;
  }
  .dep-ccw .depEmployment .employmentArea--wide,
  .dep-ot .depEmployment .employmentArea--wide,
  .dep-psw .depEmployment .employmentArea--wide {
    grid-column: 1/-1;
  }
  .dep-ccw .depEmployment .areaHead h3,
  .dep-ot .depEmployment .areaHead h3,
  .dep-psw .depEmployment .areaHead h3 {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .dep-ccw .depEmployment .facilityList,
  .dep-ccw .depEmployment .prefFacilities,
  .dep-ot .depEmployment .facilityList,
  .dep-ot .depEmployment .prefFacilities,
  .dep-psw .depEmployment .facilityList,
  .dep-psw .depEmployment .prefFacilities {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .dep-ccw .depEmployment .prefName,
  .dep-ot .depEmployment .prefName,
  .dep-psw .depEmployment .prefName {
    font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  }
  .dep-ccw .depAdmission .admissionGrid,
  .dep-ot .depAdmission .admissionGrid,
  .dep-psw .depAdmission .admissionGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .dep-ccw .depAdmission .admissionGrid.admissionGrid--psw,
  .dep-ot .depAdmission .admissionGrid.admissionGrid--psw,
  .dep-psw .depAdmission .admissionGrid.admissionGrid--psw {
    grid-template-columns: repeat(3, 1fr);
  }
  .dep-ccw .depOtPt .otPtGrid,
  .dep-ot .depOtPt .otPtGrid,
  .dep-psw .depOtPt .otPtGrid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
  .dep-ccw .depOtPt .depSectionTitle h2,
  .dep-ot .depOtPt .depSectionTitle h2,
  .dep-psw .depOtPt .depSectionTitle h2 {
    font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  }
  .dep-ccw .depCareerFields .careerFieldsNewGrid,
  .dep-ot .depCareerFields .careerFieldsNewGrid,
  .dep-psw .depCareerFields .careerFieldsNewGrid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
  }
  .dep-ccw .depCareerFields .careerFieldsWrap,
  .dep-ot .depCareerFields .careerFieldsWrap,
  .dep-psw .depCareerFields .careerFieldsWrap {
    gap: 2.5rem;
  }
}
@media screen and (min-width: 576px) {
  .dep-ccw .depSchedule .eventCell .eventLabel,
  .dep-ot .depSchedule .eventCell .eventLabel,
  .dep-psw .depSchedule .eventCell .eventLabel {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .dep-ccw .depSkills .skillBoxWrap,
  .dep-ot .depSkills .skillBoxWrap,
  .dep-psw .depSkills .skillBoxWrap {
    padding: 1.5rem 2rem;
  }
}
/* Scss Document */
/* Scss Document */
.dep-ccw {
  --theme-c: hsl(0, 90%, 80%);
  --theme-c-dark: hsl(0, 90%, 67%);
  --theme-c-light: hsl(0deg 69% 72% / 0.1);
}

.dep-ot {
  --theme-c: hsl(183, 55%, 52%);
  --theme-c-dark: hsl(183, 55%, 37%);
  --theme-c-light: hsl(183deg 55% 52% / 0.1);
}

.dep-psw {
  --theme-c: hsl(291, 44%, 79%);
  --theme-c-dark: hsl(291, 44%, 64%);
  --theme-c-light: hsl(291deg 44% 79% / 0.1);
}

.dep-ccw .ctheme,
.dep-ot .ctheme,
.dep-psw .ctheme {
  color: var(--theme-c);
}
.dep-ccw .ctheme-dark,
.dep-ot .ctheme-dark,
.dep-psw .ctheme-dark {
  color: var(--theme-c-dark);
}

.pageHero {
  border-bottom: solid 1px hsl(0, 0%, 95%);
  margin-top: 64px;
}
.pageHero .titleWrap {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
  margin-bottom: 2rem;
}
.pageHero .titleWrap h2 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  letter-spacing: 0.4vw;
  position: relative;
  z-index: 0;
}
.pageHero .titleWrap h2::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 70%;
  height: 3px;
  background: linear-gradient(90deg, hsl(0, 90%, 80%) 0%, hsl(0, 90%, 80%) 40%, hsl(183, 55%, 52%) 60%, hsl(183, 55%, 52%) 100%);
}
.pageHero .titleWrap p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  margin-bottom: 0.5rem;
}
.pageHero .imgWrap {
  width: 100%;
  height: 96px;
  background: center/cover url(./images/ccw/welfare.png) no-repeat;
}

@media screen and (min-width: 992px) {
  .pageHero {
    margin-top: 83px;
  }
  .pageHero .imgWrap {
    height: 320px;
  }
}
/* Scss Document */
/* ========================================
  入試情報ページ _page-admission.scss
  ※ モバイルファースト
======================================== */
.pageAdmission .pageHero .imgWrap {
  background: center/cover url(./images/hero/hero_admission_sp.webp) no-repeat;
  background-color: hsl(0, 40%, 95%);
}
.pageAdmission .admissionTitle {
  position: relative;
  z-index: 0;
  margin-bottom: 2.5rem;
  text-align: center;
}
.pageAdmission .admissionTitle h2 {
  display: inline-block;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  letter-spacing: 0.1rem;
  color: hsl(178, 97%, 3%);
  position: relative;
  padding: 0 1.5rem 0.5rem;
}
.pageAdmission .admissionTitle h2::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, hsl(0, 90%, 80%) 0%, hsl(183, 55%, 52%) 100%);
}
.pageAdmission .admissionTitle p.lead {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  margin-top: 0.5rem;
}
.pageAdmission .admissionSchedule {
  background-color: hsl(0, 0%, 98%);
}
.pageAdmission .admissionSchedule .scheduleFlow {
  display: flex;
  align-items: stretch;
  gap: 0.5rem;
  overflow-x: auto;
  padding-bottom: 0.5rem;
}
.pageAdmission .admissionSchedule .scheduleFlow .flowItem {
  flex: 1;
  min-width: 80px;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
}
.pageAdmission .admissionSchedule .scheduleFlow .flowItem:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -10px;
  top: 28px;
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 8px solid hsl(0, 90%, 80%);
  z-index: 1;
}
.pageAdmission .admissionSchedule .scheduleFlow .flowItem .admissionStepLabel {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  border-radius: 2px;
  padding: 0.1rem 0.5rem;
  margin-bottom: 0.5rem;
  letter-spacing: 0.05rem;
}
.pageAdmission .admissionSchedule .scheduleFlow .flowItem .iconCircle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid hsl(0, 90%, 80%);
  background-color: hsl(0, 100%, 98%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  margin-bottom: 0.5rem;
  transition: background-color 0.2s;
}
.pageAdmission .admissionSchedule .scheduleFlow .flowItem .iconCircle img {
  width: 24px;
}
.pageAdmission .admissionSchedule .scheduleFlow .flowItem .label {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  text-align: center;
  color: hsl(178, 97%, 3%);
  line-height: 1.3;
}
.pageAdmission .admissionScheduleDetail {
  background-color: hsl(178, 100%, 100%);
}
.pageAdmission .admissionScheduleDetail .scheduleBox {
  margin-bottom: 4rem;
}
.pageAdmission .admissionScheduleDetail .scheduleSubTitle {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-bottom: 1.5rem;
  padding-left: 1rem;
  border-left: 5px solid hsl(0, 90%, 80%);
}
.pageAdmission .admissionScheduleDetail .scheduleSubTitle span {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.pageAdmission .admissionScheduleDetail .scheduleSubTitle small {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 90%, 67%);
  font-weight: normal;
}
.pageAdmission .admissionScheduleDetail .tableWrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 1rem;
  border-radius: 8px;
  box-shadow: 0 4px 12px hsla(178, 97%, 3%, 0.05);
}
.pageAdmission .admissionScheduleDetail .admissionTable {
  width: 100%;
  border-collapse: collapse;
  min-width: 800px;
}
.pageAdmission .admissionScheduleDetail .admissionTable th {
  background-color: hsl(0, 90%, 80%);
  color: hsl(178, 100%, 100%);
  padding: 1rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  border: 1px solid hsla(0, 0%, 100%, 0.1);
  white-space: nowrap;
}
.pageAdmission .admissionScheduleDetail .admissionTable td {
  padding: 1rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 97%, 3%);
  border: 1px solid hsl(0, 0%, 95%);
  background-color: hsl(178, 100%, 100%);
  text-align: center;
  vertical-align: middle;
}
.pageAdmission .admissionScheduleDetail .admissionTable td.valign-center {
  vertical-align: middle;
}
.pageAdmission .admissionScheduleDetail .admissionTable tbody tr:nth-child(even) td {
  background-color: hsl(0, 0%, 98%);
}
.pageAdmission .admissionScheduleDetail .scheduleNotice {
  background-color: hsl(0, 0%, 96%);
  padding: 1.25rem;
  border-radius: 8px;
  margin-top: 1rem;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice p,
.pageAdmission .admissionScheduleDetail .scheduleNotice li {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  line-height: 1.6;
  margin-bottom: 0.5rem;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice p:last-child,
.pageAdmission .admissionScheduleDetail .scheduleNotice li:last-child {
  margin-bottom: 0;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice ul {
  list-style: none;
  padding: 0;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice .entryLinks {
  border-top: 1px dashed hsl(0, 0%, 95%);
  padding-top: 1rem;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice .entryLinks p {
  margin-bottom: 0.5rem;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice .entryLinks li {
  margin-bottom: 0.25rem;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice .entryLinks li a {
  color: hsl(0, 90%, 67%);
  text-decoration: underline;
}
.pageAdmission .admissionScheduleDetail .scheduleNotice .entryLinks li a:hover {
  color: hsl(0, 90%, 80%);
}
.pageAdmission .admissionScheduleDetail .examContentGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 12px;
  border: 1px solid hsl(0, 0%, 95%);
  padding: 1.5rem;
  box-shadow: 0 4px 10px hsla(0, 0%, 0%, 0.03);
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard h4 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  display: inline-block;
  padding: 0.25rem 1rem;
  border-radius: 4px;
  margin-bottom: 1.25rem;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard dl {
  margin: 0;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard dl dt {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  margin-bottom: 0.25rem;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard dl dt::before {
  content: "●";
  margin-right: 0.5rem;
  font-size: 0.8em;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard dl dd {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 97%, 3%);
  margin-bottom: 1rem;
  padding-left: 1.25rem;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard dl dd:last-child {
  margin-bottom: 0;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard dl dd small {
  color: hsl(0, 0%, 35%);
  display: block;
  margin-top: 0.25rem;
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard:nth-child(2) {
  border-color: hsl(183, 55%, 52%);
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard:nth-child(2) h4 {
  background-color: hsl(183, 55%, 52%);
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard:nth-child(2) dl dt {
  color: hsl(183, 55%, 37%);
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard:nth-child(3) {
  border-color: hsl(291, 44%, 64%);
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard:nth-child(3) h4 {
  background-color: hsl(291, 44%, 64%);
}
.pageAdmission .admissionScheduleDetail .examContentGrid .examCard:nth-child(3) dl dt {
  color: hsl(291, 44%, 64%);
}
.pageAdmission .admissionScheduleDetail .admissionNotes {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.pageAdmission .admissionScheduleDetail .admissionNotes .noteItem {
  background-color: hsl(183, 55%, 98%);
  padding: 1.5rem;
  border-radius: 12px;
  border: 1px solid hsl(183, 55%, 90%);
}
.pageAdmission .admissionScheduleDetail .admissionNotes .noteItem h4 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  margin-bottom: 0.75rem;
}
.pageAdmission .admissionScheduleDetail .admissionNotes .noteItem p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 97%, 3%);
  line-height: 1.7;
}
.pageAdmission .admissionScheduleDetail .admissionNotes .noteItem:last-child {
  background-color: hsl(0, 90%, 98%);
  border-color: hsl(0, 90%, 92%);
}
.pageAdmission .admissionScheduleDetail .admissionNotes .noteItem:last-child h4 {
  color: hsl(0, 90%, 67%);
}
.pageAdmission .admissionNav {
  display: none;
}
.pageAdmission .admissionApply {
  background-color: hsl(183, 55%, 52%);
}
.pageAdmission .admissionApply .admissionTitle h2 {
  color: hsl(178, 100%, 100%);
}
.pageAdmission .admissionApply .admissionTitle h2::after {
  background: linear-gradient(90deg, hsl(178, 100%, 100%), hsl(0, 0%, 80%));
}
.pageAdmission .admissionApply .admissionTitle p.lead {
  color: hsl(178, 100%, 100%);
}
.pageAdmission .admissionApply .applyCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 2px solid hsl(178, 100%, 100%);
  transition: transform 0.2s;
}
.pageAdmission .admissionApply .applyCard:hover {
  transform: translateY(-4px);
}
.pageAdmission .admissionApply .applyCard .header {
  padding: 1.25rem 1.5rem;
  font-weight: bold;
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  color: hsl(178, 97%, 3%);
  background-color: hsl(60, 88%, 50%);
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pageAdmission .admissionApply .applyCard .header img {
  width: 32px;
}
.pageAdmission .admissionApply .applyCard .body {
  padding: 1.5rem;
}
.pageAdmission .admissionApply .applyCard .body p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 97%, 3%);
  font-weight: normal;
  margin-bottom: 1rem;
  line-height: 1.7;
}
.pageAdmission .admissionApply .applyCard .body .applyBtn {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(183, 55%, 52%);
  border-radius: 32px;
  padding: 0.35rem 1.5rem 0.5rem;
  text-decoration: none;
  transition: all 0.2s;
  border: 2px solid hsl(183, 55%, 52%);
}
.pageAdmission .admissionApply .applyCard .body .applyBtn:hover {
  background-color: transparent;
  color: hsl(183, 55%, 52%);
}

@media screen and (min-width: 576px) {
  .pageAdmission .admissionNav .nav-tabs-custom {
    gap: 0.5rem;
  }
  .pageAdmission .admissionNav .nav-tabs-custom button {
    min-width: 120px;
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
    padding: 0.6rem 0.75rem 0.4rem;
  }
  .pageAdmission .examContentGrid {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 992px) {
  .pageAdmission .pageHero .imgWrap {
    background-image: url(./images/hero/hero_admission.webp);
  }
  .pageAdmission .admissionScheduleDetail .admissionNotes {
    grid-template-columns: repeat(3, 1fr);
  }
  .pageAdmission .examContentGrid {
    grid-template-columns: repeat(3, 1fr);
  }
  .pageAdmission .admissionSchedule .scheduleFlow {
    gap: 0;
  }
  .pageAdmission .admissionSchedule .scheduleFlow .flowItem {
    min-width: 120px;
  }
  .pageAdmission .admissionSchedule .scheduleFlow .flowItem:not(:last-child)::after {
    right: -14px;
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .pageAdmission .admissionSchedule .scheduleFlow .flowItem .iconCircle {
    width: 56px;
    height: 56px;
  }
  .pageAdmission .admissionSchedule .scheduleFlow .flowItem .iconCircle img {
    width: 24px;
  }
  .pageAdmission .admissionSchedule .scheduleFlow .flowItem .label {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .pageAdmission .admissionTable {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
    display: table;
    overflow-x: visible;
    white-space: normal;
  }
  .pageAdmission .admissionTable thead tr th,
  .pageAdmission .admissionTable tbody tr td {
    min-width: auto;
    padding: 0.75rem 1rem;
  }
  .pageAdmission .admissionTable tbody tr td {
    padding: 0.85rem 1rem;
  }
  .pageAdmission .aoFlow {
    padding: 1.5rem;
  }
}
/* Scss Document */
/* ========================================
  オープンキャンパスページ _page-open-campus.scss
  ※ モバイルファースト
======================================== */
.pageOpenCampus .ocHeroCta {
  background: center/cover url(./images/hero/hero_oc_sp.webp) no-repeat;
  position: relative;
  z-index: 0;
  padding: 3rem 0;
}
.pageOpenCampus .ocHeroCta::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: hsl(183, 55%, 52%);
  opacity: 0.95;
}
.pageOpenCampus .ocHeroCta::after {
  content: "";
  position: absolute;
  bottom: 0;
  right: -15vw;
  width: clamp(128px, 45vw, 200px);
  height: clamp(128px, 45vw, 200px);
  background: center/contain url(./images/open-campus/student_06.webp) no-repeat;
}
.pageOpenCampus .ocHeroCta .ctaInner {
  text-align: center;
}
.pageOpenCampus .ocHeroCta .ctaInner .ctaLead {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin-bottom: 0.5rem;
  letter-spacing: 0.05rem;
}
.pageOpenCampus .ocHeroCta .ctaInner .ctaLead span {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  display: block;
  font-weight: normal;
  color: hsl(178, 100%, 100%);
  opacity: 0.85;
  margin-top: 0.25rem;
}
.pageOpenCampus .ocHeroCta .ctaInner .ctaBtn {
  display: inline-block;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(183, 55%, 52%);
  background-color: hsl(178, 100%, 100%);
  border-radius: 40px;
  padding: 0.75rem 2.5rem 0.6rem;
  text-decoration: none;
  margin-top: 1.25rem;
  border: 3px solid hsl(178, 100%, 100%);
  letter-spacing: 0.05rem;
  transition: all 0.2s;
  animation: pulse 2s ease-in-out infinite;
}
.pageOpenCampus .ocHeroCta .ctaInner .ctaBtn:hover {
  background-color: transparent;
  color: hsl(178, 100%, 100%);
}
@keyframes pulse {
  0%, 100% {
    box-shadow: 0 0 0 0 hsla(183, 100%, 100%, 0.4);
  }
  50% {
    box-shadow: 0 0 0 14px hsla(183, 100%, 100%, 0);
  }
}
.pageOpenCampus .ocTitle {
  position: relative;
  margin-bottom: 2.5rem;
  text-align: center;
}
.pageOpenCampus .ocTitle .titleEn {
  display: block;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  letter-spacing: 0.2rem;
  color: hsl(183, 55%, 52%);
  margin-bottom: 0.15rem;
}
.pageOpenCampus .ocTitle h2 {
  display: inline-block;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  position: relative;
  padding-bottom: 0.6rem;
}
.pageOpenCampus .ocTitle h2::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: hsl(183, 55%, 52%);
}
.pageOpenCampus .ocTitle p.lead {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  margin-top: 0.75rem;
}
.pageOpenCampus .ocNews {
  background-color: hsl(0, 0%, 98%);
}
.pageOpenCampus .ocNews::before {
  content: "";
  position: absolute;
  top: 3rem;
  left: 0;
  width: 32vw;
  height: 32vw;
  background: center/contain url(./images/open-campus/student_08_2.webp) no-repeat;
}
.pageOpenCampus .ocNews .newsWrap {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pageOpenCampus .ocNews .newsWrap li {
  border-bottom: solid 1px hsl(0, 0%, 95%);
}
.pageOpenCampus .ocNews .newsWrap li:first-child {
  border-top: solid 1px hsl(0, 0%, 95%);
}
.pageOpenCampus .ocNews .newsWrap .innerText {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.6rem;
  text-decoration: none;
  padding: 0.9rem 0.25rem;
  transition: background-color 0.15s;
}
.pageOpenCampus .ocNews .newsWrap .innerText:hover {
  background-color: hsla(183, 55%, 52%, 0.1);
}
.pageOpenCampus .ocNews .newsWrap .innerText .date {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
}
.pageOpenCampus .ocNews .newsWrap .innerText .term {
  display: inline-block;
  min-width: 0;
  max-width: 100%;
  font-size: clamp(0.65rem, 0.65rem + 0.25vw, 0.75rem);
  font-weight: bold;
  color: hsl(183, 55%, 52%);
  border: solid 2px hsl(183, 55%, 52%);
  border-radius: 32px;
  padding: 0.12rem 0.5rem 0.18rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.pageOpenCampus .ocNews .newsWrap .innerText h3 {
  flex: 0 0 100%;
  min-width: 0;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  margin: 0.1rem 0 0;
  line-height: 1.5;
  text-align: left;
  overflow-wrap: anywhere;
}
.pageOpenCampus .ocNews .btnMore {
  text-align: center;
  margin-top: 1.5rem;
}
.pageOpenCampus .ocNews .btnMore a {
  text-align: center;
  display: block;
  max-width: 320px;
  margin: 0 auto;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  color: hsl(178, 97%, 3%);
  background-color: hsl(178, 100%, 100%);
  border: solid 2px hsl(178, 97%, 3%);
  border-radius: 32px;
  padding: 0.25rem 1rem 0.15rem;
  transition: all 0.2s;
}
.pageOpenCampus .ocNews .btnMore a:hover {
  color: hsl(178, 100%, 100%);
  background-color: hsl(178, 97%, 3%);
}
@media screen and (min-width: 576px) {
  .pageOpenCampus .ocNews .newsWrap .innerText {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.75rem 1rem;
    padding: 0.9rem 0.5rem;
  }
  .pageOpenCampus .ocNews .newsWrap .innerText .date {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
    letter-spacing: 0.05rem;
  }
  .pageOpenCampus .ocNews .newsWrap .innerText .term {
    flex-shrink: 0;
    font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  }
  .pageOpenCampus .ocNews .newsWrap .innerText h3 {
    flex: 1;
    grid-column: auto;
    margin: 0;
  }
}
.pageOpenCampus .ocFlow .flowLead {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  text-align: center;
  margin-bottom: 3rem;
  line-height: 1.8;
}
.pageOpenCampus .ocFlow .flowList {
  display: flex;
  flex-direction: column;
  gap: 0;
  position: relative;
}
.pageOpenCampus .ocFlow .flowList::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: clamp(-68px, -25vw, -160px);
  right: -32px;
  width: clamp(128px, 30vw, 200px);
  height: clamp(128px, 30vw, 200px);
  background: center/contain url(./images/open-campus/student_07.webp) no-repeat;
}
.pageOpenCampus .ocFlow .flowList .flowItem {
  display: flex;
  align-items: stretch;
  gap: 0.75rem;
  position: relative;
}
.pageOpenCampus .ocFlow .flowList .flowItem:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 22px;
  top: 60px;
  width: 2px;
  height: calc(100% - 20px);
  background: hsl(183, 55%, 52%);
  opacity: 0.1;
}
.pageOpenCampus .ocFlow .flowList .flowItem .timeBox {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  padding-top: 1rem;
}
.pageOpenCampus .ocFlow .flowList .flowItem .timeBox .circle {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background-color: hsl(183, 55%, 97%);
  border: 1px solid hsl(183, 55%, 52%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  color: hsl(178, 100%, 100%);
  font-weight: bold;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
}
.pageOpenCampus .ocFlow .flowList .flowItem .timeBox .circle img {
  width: 24px;
}
.pageOpenCampus .ocFlow .flowList .flowItem .timeBox .time {
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(183, 55%, 37%);
  font-weight: bold;
  line-height: 1;
}
.pageOpenCampus .ocFlow .flowList .flowItem .content {
  flex: 1;
  background-color: hsl(183, 55%, 97%);
  border-radius: 12px;
  border-left: 4px solid hsl(183, 55%, 52%);
  padding: 1rem 1.25rem;
  margin-bottom: 1rem;
}
.pageOpenCampus .ocFlow .flowList .flowItem .content h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  margin-bottom: 0.5rem;
}
.pageOpenCampus .ocFlow .flowList .flowItem .content p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.75;
  margin: 0;
}
.pageOpenCampus .ocFlow .flowList .flowItem .content .notes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
}
.pageOpenCampus .ocFlow .flowList .flowItem .content .notes .noteTag {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  background-color: hsla(183, 55%, 52%, 0.1);
  border-radius: 4px;
  padding: 0.15rem 0.6rem;
  color: hsl(183, 55%, 37%);
  font-weight: bold;
}
.pageOpenCampus .ocVoices {
  background-color: hsl(183, 30%, 96%);
}
.pageOpenCampus .ocVoices .container::before {
  content: "";
  position: absolute;
  top: 40px;
  right: 0;
  width: 128px;
  height: 128px;
  background: center/contain url(./images/open-campus/student_04_2.webp) no-repeat;
}
.pageOpenCampus .ocVoices .voiceGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.pageOpenCampus .ocVoices .voiceCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  padding: 1.5rem;
  border: 1px solid hsl(183, 55%, 86%);
  position: relative;
}
.pageOpenCampus .ocVoices .voiceCard::before {
  content: "“";
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  color: hsl(183, 55%, 52%);
  opacity: 0.3;
  line-height: 1;
  position: absolute;
  top: 0.25rem;
  left: 0.75rem;
  font-family: Georgia, serif;
}
.pageOpenCampus .ocVoices .voiceCard p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.8;
  margin: 0;
  padding-top: 0.5rem;
}
.pageOpenCampus .ocVoices .voiceCard .from {
  display: block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  text-align: right;
  margin-top: 0.75rem;
}
.pageOpenCampus .ocTransport .transportLead {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  text-align: center;
  margin-bottom: 2rem;
  line-height: 1.8;
}
.pageOpenCampus .ocTransport .stationCards {
  display: flex;
  gap: 1rem;
  flex-direction: column;
  margin-bottom: 2rem;
}
.pageOpenCampus .ocTransport .stationCards .stationCard {
  flex: 1;
  min-width: 180px;
  background-color: hsl(183, 55%, 97%);
  border: 2px solid hsl(183, 55%, 52%);
  border-radius: 12px;
  padding: 1rem 1.25rem;
  text-align: center;
}
.pageOpenCampus .ocTransport .stationCards .stationCard h3 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  margin-bottom: 0.75rem;
}
.pageOpenCampus .ocTransport .stationCards .stationCard .timetable {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
}
.pageOpenCampus .ocTransport .stationCards .stationCard .timetable .col {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.pageOpenCampus .ocTransport .stationCards .stationCard .timetable .col .label {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  color: hsl(0, 0%, 35%);
  font-weight: bold;
}
.pageOpenCampus .ocTransport .stationCards .stationCard .timetable .col .val {
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.pageOpenCampus .ocTransport .busRoute {
  background-color: hsl(183, 55%, 97%);
  border-radius: 16px;
  border: 1px solid hsl(183, 55%, 80%);
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.pageOpenCampus .ocTransport .busRoute .routeHeader {
  background-color: hsl(183, 55%, 52%);
  color: hsl(178, 100%, 100%);
  font-weight: bold;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  padding: 0.75rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.pageOpenCampus .ocTransport .busRoute .routeBody {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.pageOpenCampus .ocTransport .busRoute .routeTable {
  width: 100%;
  min-width: 640px;
  border-collapse: collapse;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
}
.pageOpenCampus .ocTransport .busRoute .routeTable th,
.pageOpenCampus .ocTransport .busRoute .routeTable td {
  padding: 0.55rem 0.75rem;
  border: 1px solid hsl(183, 55%, 86%);
  text-align: center;
  white-space: nowrap;
  color: hsl(178, 97%, 3%);
}
.pageOpenCampus .ocTransport .busRoute .routeTable thead th {
  background-color: hsl(183, 55%, 90%);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
}
.pageOpenCampus .ocTransport .busRoute .routeTable .dir-label {
  font-weight: bold;
  background-color: hsl(183, 55%, 37%);
  color: hsl(178, 100%, 100%);
  writing-mode: vertical-rl;
  letter-spacing: 0.1rem;
  padding: 0.5rem;
}
.pageOpenCampus .ocTransport .transportNote {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  border-left: 3px solid hsl(183, 55%, 52%);
  padding-left: 0.75rem;
  line-height: 1.8;
}
.pageOpenCampus .ocType {
  background-color: hsl(0, 0%, 98%);
}
.pageOpenCampus .ocType .typeGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}
.pageOpenCampus .ocType .typeCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid hsl(0, 0%, 95%);
  transition: transform 0.2s, box-shadow 0.2s;
}
.pageOpenCampus .ocType .typeCard:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px hsla(183, 55%, 52%, 0.15);
}
.pageOpenCampus .ocType .typeCard .cardHeader {
  background-color: hsl(183, 55%, 52%);
  padding: 1rem 1.25rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.pageOpenCampus .ocType .typeCard .cardHeader .num {
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsla(183, 100%, 100%, 0.4);
  line-height: 1;
}
.pageOpenCampus .ocType .typeCard .cardHeader h3 {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin: 0;
  line-height: 1.4;
}
.pageOpenCampus .ocType .typeCard .cardBody {
  padding: 1rem 1.25rem;
}
.pageOpenCampus .ocType .typeCard .cardBody p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.75;
  margin: 0;
}
.pageOpenCampus .ocType .typeCard .cardBody .typeNote {
  display: inline-block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(183, 55%, 37%);
  background-color: hsla(183, 55%, 52%, 0.1);
  border-radius: 4px;
  padding: 0.15rem 0.5rem;
  margin-top: 0.5rem;
}
.pageOpenCampus .ocType .typeCard .cardBody .lineBtn {
  display: inline-block;
  margin-top: 0.75rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: #06c755;
  border-radius: 6px;
  padding: 0.4rem 1rem 0.3rem;
  text-decoration: none;
  transition: opacity 0.2s;
}
.pageOpenCampus .ocType .typeCard .cardBody .lineBtn:hover {
  opacity: 0.85;
}
.pageOpenCampus .ocFamily {
  background: center/cover url(./images/about/facility.webp) no-repeat;
  position: relative;
  z-index: 0;
  padding: 3rem 0;
}
.pageOpenCampus .ocFamily::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: hsl(120, 54%, 56%);
  opacity: 0.95;
}
.pageOpenCampus .ocFamily .imgSide {
  box-shadow: 6px 6px hsl(120, 43%, 37%);
  border-radius: 12px;
  overflow: hidden;
}
.pageOpenCampus .ocFamily .familyInner {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
}
.pageOpenCampus .ocFamily .familyInner .textSide {
  flex: 1;
  min-width: 260px;
}
.pageOpenCampus .ocFamily .familyInner .textSide h2 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin-bottom: 0.75rem;
}
.pageOpenCampus .ocFamily .familyInner .textSide h2 span {
  display: block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 100%, 100%);
  opacity: 0.8;
  margin-bottom: 0.25rem;
}
.pageOpenCampus .ocFamily .familyInner .textSide p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 100%, 100%);
  font-weight: normal;
  line-height: 1.8;
  margin-bottom: 1rem;
}
.pageOpenCampus .ocFamily .familyInner .textSide a.familyBtn {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(120, 54%, 56%);
  background-color: hsl(178, 100%, 100%);
  border-radius: 32px;
  padding: 0.35rem 2rem 0.5rem;
  text-decoration: none;
  border: 2px solid hsl(178, 100%, 100%);
  transition: all 0.2s;
}
.pageOpenCampus .ocFamily .familyInner .textSide a.familyBtn:hover {
  background-color: transparent;
  color: hsl(178, 100%, 100%);
}
.pageOpenCampus .ocApplyCta {
  text-align: center;
  padding: 2.5rem 0;
}
.pageOpenCampus .ocApplyCta .ocTitle {
  margin-bottom: 1.5rem;
}
.pageOpenCampus .ocApplyCta .applyBtn {
  position: relative;
  margin-top: 72px;
}
.pageOpenCampus .ocApplyCta .applyBtn::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  width: 128px;
  height: 128px;
  background: center/contain url(./images/open-campus/student_09.webp) no-repeat;
}
.pageOpenCampus .ocApplyCta .applyBtn a {
  display: inline-block;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
  border-radius: 40px;
  padding: 0.85rem 3rem 0.7rem;
  text-decoration: none;
  border: 3px solid hsl(0, 90%, 80%);
  letter-spacing: 0.05rem;
  transition: all 0.2s;
}
.pageOpenCampus .ocApplyCta .applyBtn a:hover {
  background-color: hsl(178, 100%, 100%);
  color: hsl(0, 90%, 80%);
}

@media screen and (min-width: 576px) {
  .pageOpenCampus .ocNews::before {
    top: auto;
    bottom: -10vw;
    left: 0;
    width: 20vw;
    height: 20vw;
  }
  .pageOpenCampus .ocFlow .flowList {
    display: flex;
    flex-direction: column;
    gap: 0;
    position: relative;
  }
  .pageOpenCampus .ocFlow .flowList .flowItem {
    gap: 1.5rem;
  }
  .pageOpenCampus .ocFlow .flowList .flowItem:not(:last-child)::after {
    left: 28px;
  }
  .pageOpenCampus .ocFlow .flowList .timeBox .circle {
    width: 56px;
    height: 56px;
    font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  }
  .pageOpenCampus .ocVoices .container::before {
    top: auto;
    bottom: -3rem;
    right: 0;
    width: 240px;
    height: 240px;
  }
  .pageOpenCampus .ocVoices .voiceGrid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}
@media screen and (min-width: 768px) {
  .pageOpenCampus .ocHeroCta {
    background: center/cover url(./images/hero/hero_oc.webp) no-repeat;
  }
  .pageOpenCampus .ocHeroCta::after {
    right: 0;
    width: clamp(280px, 32vw, 360px);
    height: clamp(280px, 32vw, 360px);
  }
}
@media screen and (min-width: 992px) {
  .pageOpenCampus .ocType .typeGrid {
    grid-template-columns: 1fr 1fr;
  }
  .pageOpenCampus .ocFlow .flowList::before {
    top: clamp(-112px, -25vw, -160px);
    right: -48px;
  }
  .pageOpenCampus .ocTransport .stationCards {
    flex-direction: row;
    flex-wrap: wrap;
  }
  .pageOpenCampus .ocApplyCta .applyBtn {
    margin-top: 96px;
  }
  .pageOpenCampus .ocApplyCta .applyBtn::before {
    bottom: 8px;
    width: 160px;
    height: 160px;
  }
  .pageOpenCampus .ocFamily .familyInner {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
  }
}
/* Scss Document */
/* ========================================
  学費・奨学金ページ _page-tuition-scholarship.scss
  ※ モバイルファースト
======================================== */
.pageTuition .pageHero .imgWrap {
  background: center/cover url(./images/hero/hero_tuition_sp.webp) no-repeat;
  background-color: hsl(120, 54%, 95%);
}
.pageTuition .tsTitle {
  position: relative;
  margin-bottom: 2.5rem;
  text-align: center;
}
.pageTuition .tsTitle .titleEn {
  display: block;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  letter-spacing: 0.2rem;
  color: hsl(120, 54%, 56%);
  margin-bottom: 0.15rem;
}
.pageTuition .tsTitle h2 {
  display: inline-block;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  position: relative;
  padding-bottom: 0.6rem;
}
.pageTuition .tsTitle h2::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, hsl(120, 54%, 56%), hsl(120, 54%, 40%));
}
.pageTuition .tsTitle p.lead {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  margin-top: 0.875rem;
}
.pageTuition .depHeading {
  display: flex;
  align-items: center;
  gap: 0.875rem;
  margin-bottom: 1.25rem;
}
.pageTuition .depHeading .depBadge {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  border-radius: 4px;
  padding: 0.25rem 0.65rem 0.25rem;
  white-space: nowrap;
}
.pageTuition .depHeading .depBadge.ccw {
  background-color: hsl(0, 90%, 80%);
}
.pageTuition .depHeading .depBadge.ot {
  background-color: hsl(183, 55%, 52%);
}
.pageTuition .depHeading .depBadge.psw {
  background-color: hsl(291, 44%, 64%);
}
.pageTuition .depHeading h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin: 0;
}
.pageTuition .tsFeeSection .feeWrap {
  margin-bottom: 2.5rem;
}
.pageTuition .tsFeeSection .feeTable {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  margin-bottom: 0.5rem;
}
.pageTuition .tsFeeSection .feeTable thead tr th {
  padding: 0.65rem 1rem;
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 54%, 56%);
  border: 1px solid hsl(120, 54%, 40%);
  text-align: center;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  white-space: nowrap;
}
.pageTuition .tsFeeSection .feeTable tbody tr:nth-child(even) {
  background-color: hsl(120, 54%, 95%);
}
.pageTuition .tsFeeSection .feeTable tbody tr:hover {
  background-color: hsl(120, 54%, 96%);
}
.pageTuition .tsFeeSection .feeTable tbody tr td {
  padding: 0.875rem 1rem;
  border: 1px solid hsl(0, 0%, 95%);
  text-align: center;
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  white-space: nowrap;
}
.pageTuition .tsFeeSection .feeTable tbody tr td:first-child {
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  text-align: left;
}
.pageTuition .tsFeeSection .feeTable tbody tr td.total {
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  background-color: hsl(120, 54%, 96%);
}
.pageTuition .tsFeeSection .feeTable tbody tr td.empty {
  color: hsl(0, 0%, 95%);
}
.pageTuition .tsFeeSection .feeNote {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  border-left: 3px solid hsl(120, 54%, 56%);
  padding-left: 0.875rem;
  line-height: 1.75;
}
.pageTuition .tsFeeSection .feeNote + .feeNote {
  margin-top: 0.35rem;
}
.pageTuition .tsGovSupport {
  background-color: hsl(120, 54%, 95%);
}
.pageTuition .tsGovSupport .supportBox {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  border: 1px solid hsl(120, 54%, 85%);
  padding: 1.75rem;
  margin-bottom: 2rem;
}
.pageTuition .tsGovSupport .supportBox:last-child {
  margin-bottom: 0;
}
.pageTuition .tsGovSupport .supportBox .boxNum {
  display: inline-block;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  letter-spacing: 0.07rem;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 54%, 56%);
  border-radius: 3px;
  padding: 0.25rem 0.5rem 0.15rem;
  margin-bottom: 0.6rem;
}
.pageTuition .tsGovSupport .supportBox h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  margin-bottom: 1rem;
}
.pageTuition .tsGovSupport .supportBox p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  margin-bottom: 1rem;
}
.pageTuition .tsGovSupport .targetBadge {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  background-color: hsl(120, 54%, 96%);
  border: 1px solid hsl(120, 54%, 56%);
  border-radius: 4px;
  padding: 0.15rem 0.65rem;
  margin-bottom: 1rem;
}
.pageTuition .tsGovSupport .targetBox {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.pageTuition .tsGovSupport .targetBox .targetBoxInner {
  flex: 1;
  min-width: 220px;
  background: hsl(42, 90%, 96%);
  border-radius: 10px;
  padding: 1rem 1.25rem;
}
.pageTuition .tsGovSupport .targetBox .targetBoxInner .leadIndex {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(120, 54%, 40%);
  margin-bottom: 0.5rem;
}
.pageTuition .tsGovSupport .targetBox .targetBoxInner .targetList {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pageTuition .tsGovSupport .targetBox .targetBoxInner .targetList li {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  padding: 0.3rem 0;
  border-bottom: 1px dashed #ddd;
}
.pageTuition .tsGovSupport .supportTable {
  width: 100%;
  min-width: 480px;
  border-collapse: collapse;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  margin-bottom: 0.875rem;
}
.pageTuition .tsGovSupport .supportTable thead tr th {
  padding: 0.6rem 1rem;
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 54%, 56%);
  border: 1px solid hsl(120, 54%, 40%);
  text-align: center;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  white-space: nowrap;
}
.pageTuition .tsGovSupport .supportTable tbody tr:nth-child(even) {
  background-color: hsl(120, 54%, 95%);
}
.pageTuition .tsGovSupport .supportTable tbody tr td {
  padding: 0.65rem 1rem;
  border: 1px solid hsl(0, 0%, 95%);
  text-align: center;
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  white-space: nowrap;
}
.pageTuition .tsGovSupport .supportTable tbody tr td:first-child {
  font-weight: bold;
  color: hsl(120, 54%, 40%);
}
.pageTuition .tsGovSupport .supportExNote {
  background-color: hsl(120, 54%, 95%);
  border-radius: 8px;
  border-left: 4px solid hsl(120, 54%, 56%);
  padding: 1rem 1.25rem;
  margin-top: 1rem;
}
.pageTuition .tsGovSupport .supportExNote p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.75;
  margin: 0;
}
.pageTuition .tsGovSupport .graphWrap {
  margin-top: 1rem;
  border-radius: 8px;
  overflow: hidden;
}
.pageTuition .tsGovSupport .graphWrap img {
  width: 100%;
  height: auto;
  display: block;
}
.pageTuition .tsGovSupport .simNote {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  font-weight: normal;
  margin-top: 0.875rem;
  line-height: 1.7;
}
.pageTuition .tsOriginalSupport .originalCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  border: 1px solid hsl(0, 0%, 95%);
  overflow: hidden;
  margin-bottom: 1.5rem;
  transition: transform 0.2s;
}
.pageTuition .tsOriginalSupport .originalCard:hover {
  transform: translateY(-2px);
}
.pageTuition .tsOriginalSupport .originalCard .cardHead {
  background-color: hsl(120, 54%, 56%);
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.pageTuition .tsOriginalSupport .originalCard .cardHead .cardIcon {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  line-height: 1;
}
.pageTuition .tsOriginalSupport .originalCard .cardHead h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin: 0;
  line-height: 1.4;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody {
  padding: 1rem;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody .targetBadge {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  background-color: hsl(120, 54%, 96%);
  border: 1px solid hsl(120, 54%, 56%);
  border-radius: 4px;
  padding: 0.1rem 0.5rem;
  margin-bottom: 0.875rem;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.8;
  margin-bottom: 0.5rem;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody .highlight {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  background-color: hsl(120, 54%, 96%);
  border-radius: 4px;
  padding: 0.25rem 0.875rem;
  margin-top: 0.25rem;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody ul li {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  border-bottom: dashed 1px hsl(0, 0%, 95%);
  padding: 0.4rem 0;
  padding-left: 1rem;
  position: relative;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: hsl(120, 54%, 56%);
  font-weight: bold;
}
.pageTuition .tsOriginalSupport .originalCard .cardBody .freeNote {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  background-color: hsl(0, 90%, 97%);
  border: 1px solid hsl(0, 90%, 80%);
  border-radius: 4px;
  padding: 0.25rem 0.875rem;
  margin-top: 0.875rem;
}
.pageTuition .tsPublicSupport {
  background-color: hsl(0, 0%, 98%);
}
.pageTuition .tsPublicSupport .publicGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 2rem;
}
.pageTuition .tsPublicSupport .publicCard {
  background-color: hsl(178, 100%, 100%);
  border-radius: 12px;
  border: 1px solid hsl(0, 0%, 95%);
  overflow: hidden;
}
.pageTuition .tsPublicSupport .publicCard .pHead {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.875rem 1rem;
  background-color: hsl(0, 90%, 67%);
}
.pageTuition .tsPublicSupport .publicCard .pHead .pLabel {
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(0, 90%, 80%);
  line-height: 1;
}
.pageTuition .tsPublicSupport .publicCard .pHead h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  margin: 0;
  line-height: 1.35;
}
.pageTuition .tsPublicSupport .publicCard .pBody {
  padding: 0.875rem 1rem;
}
.pageTuition .tsPublicSupport .publicCard .pBody .pTarget {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  background-color: hsl(120, 54%, 96%);
  border: 1px solid hsl(120, 54%, 56%);
  border-radius: 3px;
  padding: 0.1rem 0.45rem;
  margin-bottom: 0.5rem;
}
.pageTuition .tsPublicSupport .publicCard .pBody p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  line-height: 1.75;
  margin: 0;
}
.pageTuition .tsPublicSupport .publicCard .pBody .noInterest {
  display: inline-block;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 54%, 56%);
  border-radius: 3px;
  padding: 0.1rem 0.45rem;
  margin-left: 0.35rem;
}
.pageTuition .tsPublicSupport .nursingFundCard {
  background-color: hsl(0, 90%, 98%);
  border: 2px solid hsl(0, 90%, 80%);
  border-radius: 16px;
  padding: 1.5rem;
  margin-top: 0;
}
.pageTuition .tsPublicSupport .nursingFundCard h3 {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  margin-bottom: 0.5rem;
}
.pageTuition .tsPublicSupport .nursingFundCard .targetBadges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.pageTuition .tsPublicSupport .nursingFundCard .targetBadges span {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  background-color: hsl(0, 90%, 93%);
  border-radius: 3px;
  padding: 0.1rem 0.5rem;
}
.pageTuition .tsPublicSupport .nursingFundCard p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  margin-bottom: 0.875rem;
  line-height: 1.75;
}
.pageTuition .tsPublicSupport .nursingFundCard ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 0.5rem;
}
.pageTuition .tsPublicSupport .nursingFundCard ul li {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  background-color: hsl(178, 100%, 100%);
  border: 1px solid hsl(0, 0%, 95%);
  border-radius: 6px;
  padding: 0.5rem 0.875rem;
  line-height: 1.5;
}
.pageTuition .tsPublicSupport .nursingFundCard ul li::before {
  content: none;
}
.pageTuition .tsPublicSupport .nursingFundCard .freeNote {
  margin-top: 1rem;
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  background-color: hsl(0, 90%, 95%);
  border-radius: 6px;
  padding: 0.5rem 1rem;
  text-align: center;
}
.pageTuition .tsHospitalScholarship .introBadge {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.8;
  margin-bottom: 2rem;
  border-left: 3px solid hsl(120, 54%, 56%);
  padding-left: 0.875rem;
}
.pageTuition .tsHospitalScholarship .scholarshipTableWrap {
  margin-bottom: 2rem;
}
.pageTuition .tsHospitalScholarship .scholarshipTableWrap:last-child {
  margin-bottom: 0;
}
.pageTuition .tsHospitalScholarship .scholarshipTable {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  margin-bottom: 0.5rem;
}
.pageTuition .tsHospitalScholarship .scholarshipTable thead tr th {
  padding: 0.65rem 1rem;
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 54%, 56%);
  border: 1px solid hsl(120, 54%, 40%);
  text-align: center;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  white-space: nowrap;
}
.pageTuition .tsHospitalScholarship .scholarshipTable thead tr th.ccw {
  background-color: hsl(0, 90%, 80%);
  border-color: hsl(0, 90%, 67%);
}
.pageTuition .tsHospitalScholarship .scholarshipTable thead tr th.ot {
  background-color: hsl(183, 55%, 52%);
  border-color: hsl(183, 55%, 37%);
}
.pageTuition .tsHospitalScholarship .scholarshipTable thead tr th.psw {
  background-color: hsl(291, 44%, 64%);
  border-color: hsl(291, 44%, 56%);
}
.pageTuition .tsHospitalScholarship .scholarshipTable tbody tr:nth-child(even) {
  background-color: hsl(0, 0%, 98%);
}
.pageTuition .tsHospitalScholarship .scholarshipTable tbody tr:hover {
  background-color: hsl(120, 54%, 96%);
}
.pageTuition .tsHospitalScholarship .scholarshipTable tbody tr td {
  padding: 0.65rem 1rem;
  border: 1px solid hsl(0, 0%, 95%);
  font-weight: normal;
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  white-space: nowrap;
}
.pageTuition .tsHospitalScholarship .scholarshipTable tbody tr td:first-child {
  font-weight: bold;
}
.pageTuition .tsHospitalScholarship .scholarshipTable tbody tr td.amount {
  font-weight: bold;
  color: hsl(120, 54%, 40%);
  text-align: center;
}
.pageTuition .tsHospitalScholarship .scholarshipTable tbody tr td.condition {
  text-align: center;
}
.pageTuition .tsHospitalScholarship .freeHighlight {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(0, 90%, 67%);
  background-color: hsl(0, 90%, 97%);
  border-radius: 6px;
  padding: 0.875rem 1.25rem;
  text-align: center;
  border: 1px solid hsl(0, 90%, 80%);
}

@media screen and (min-width: 576px) {
  .pageTuition .tsPublicSupport .publicGrid {
    grid-template-columns: 1fr 1fr;
  }
  .pageTuition .tsPublicSupport .nursingFundCard ul {
    flex-direction: row;
  }
}
@media screen and (min-width: 992px) {
  .pageTuition .pageHero .imgWrap {
    background: center/cover url(./images/hero/hero_tuition.webp) no-repeat;
  }
  .pageTuition .tsFeeSection [style*=overflow-x],
  .pageTuition .tsGovSupport [style*=overflow-x],
  .pageTuition .tsHospitalScholarship [style*=overflow-x] {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    max-width: 100%;
  }
  .pageTuition .tsOriginalSupport .originalCard .cardBody {
    padding: 1.25rem 1.5rem;
  }
  .pageTuition .tsPublicSupport .publicGrid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}
/* Scss Document */
/* ========================================
  附属デイサービスセンター _dayservice-center.scss
  ※ モバイルファースト
======================================== */
.pageDayservice .pageHero .imgWrap {
  background: center/cover url(./images/hero/hero_kenko.webp) no-repeat;
  background-color: hsl(120, 54%, 96%);
}
.pageDayservice .dsSectionTitle {
  margin-bottom: 2rem;
  text-align: center;
}
.pageDayservice .dsSectionTitle .titleEn {
  display: block;
  font-family: "din-condensed", "source-han-sans-japanese", sans-serif;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  letter-spacing: 0.22rem;
  color: hsl(120, 54%, 56%);
  margin-bottom: 0.2rem;
}
.pageDayservice .dsSectionTitle h2 {
  display: inline-block;
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  line-height: 1.45;
  position: relative;
  padding-bottom: 0.65rem;
}
.pageDayservice .dsSectionTitle h2::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, hsl(120, 54%, 56%) 0%, hsl(183, 55%, 52%) 100%);
}
.pageDayservice .dsSectionTitle p.subTitle {
  max-width: 680px;
  margin: 0.9rem auto 0;
  color: hsl(0, 0%, 35%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  line-height: 1.8;
}
.pageDayservice .dsSectionTitle.text-start {
  text-align: left;
}
.pageDayservice .dsSectionTitle.text-start h2::after {
  left: 0;
  transform: none;
}
.pageDayservice .dsSectionTitle.text-start p.subTitle {
  margin-inline: 0;
}
.pageDayservice p {
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  line-height: 1.95;
  margin-bottom: 1rem;
}
.pageDayservice .leadText {
  color: hsl(120, 43%, 37%);
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  line-height: 1.75;
  padding-left: 1rem;
  border-left: 4px solid hsl(120, 54%, 56%);
}
.pageDayservice .dsImagePanel {
  position: relative;
  overflow: hidden;
  border-radius: 10px;
  background-color: hsl(120, 54%, 96%);
}
.pageDayservice .dsImagePanel::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid hsla(120, 54%, 56%, 0.18);
  border-radius: inherit;
  pointer-events: none;
}
.pageDayservice .dsImagePanel img {
  display: block;
  width: 100%;
  aspect-ratio: 4/3;
  -o-object-fit: cover;
     object-fit: cover;
}
.pageDayservice .dsCenter,
.pageDayservice .dsSchedule,
.pageDayservice .dsContact {
  background-color: hsl(120, 48%, 98%);
}
.pageDayservice .dsTextBlock {
  background-color: hsl(178, 100%, 100%);
  border: 1px solid hsl(120, 36%, 88%);
  border-radius: 8px;
  padding: 1.4rem;
}
.pageDayservice .dsTextBlock h3 {
  color: hsl(120, 43%, 37%);
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.8rem;
}
.pageDayservice .dsTextBlock p:last-child {
  margin-bottom: 0;
}
.pageDayservice .dsInfoList {
  display: grid;
  gap: 0.85rem;
  height: 100%;
  margin: 0;
}
.pageDayservice .dsInfoList div {
  display: grid;
  grid-template-columns: 6.5rem 1fr;
  overflow: hidden;
  border: 1px solid hsl(120, 36%, 86%);
  border-radius: 8px;
  background-color: hsl(178, 100%, 100%);
}
.pageDayservice .dsInfoList dt,
.pageDayservice .dsInfoList dd {
  margin: 0;
  padding: 0.9rem 1rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  line-height: 1.65;
}
.pageDayservice .dsInfoList dt {
  display: flex;
  align-items: center;
  justify-content: center;
  color: hsl(178, 100%, 100%);
  font-weight: bold;
  background-color: hsl(120, 54%, 56%);
}
.pageDayservice .dsInfoList dd {
  color: hsl(178, 97%, 3%);
  font-weight: normal;
}
.pageDayservice .dsTimeline {
  position: relative;
  display: grid;
  gap: 1rem;
  max-width: 920px;
  margin-inline: auto;
}
.pageDayservice .dsTimeline::before {
  content: "";
  position: absolute;
  top: 0.5rem;
  bottom: 0.5rem;
  left: 0.6rem;
  width: 2px;
  background-color: hsl(120, 42%, 84%);
}
.pageDayservice .timelineItem {
  position: relative;
  display: grid;
  gap: 0.65rem;
  padding-left: 2rem;
}
.pageDayservice .timelineItem time {
  display: inline-flex;
  width: -moz-fit-content;
  width: fit-content;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 43%, 37%);
  border-radius: 4px;
  padding: 0.25rem 0.6rem 0.2rem;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  line-height: 1.4;
}
.pageDayservice .timelineItem .timelineContent {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  background-color: hsl(178, 100%, 100%);
  border: 1px solid hsl(120, 36%, 88%);
  border-radius: 8px;
  padding: 1rem;
}
.pageDayservice .timelineItem .timelineContent::before {
  content: "";
  position: relative;
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  border: 3px solid hsl(178, 100%, 100%);
  border-radius: 50%;
  background-color: hsl(120, 54%, 56%);
  box-shadow: 0 0 0 1px hsl(120, 36%, 82%);
}
.pageDayservice .timelineItem h3 {
  color: hsl(178, 97%, 3%);
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.35rem;
}
.pageDayservice .timelineItem p {
  color: hsl(0, 0%, 35%);
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  line-height: 1.75;
  margin-bottom: 0;
}
.pageDayservice .dsDeptCard {
  height: 100%;
  border-top: 4px solid hsl(120, 54%, 56%);
  border-right: 1px solid hsl(0, 0%, 95%);
  border-bottom: 1px solid hsl(0, 0%, 95%);
  border-left: 1px solid hsl(0, 0%, 95%);
  border-radius: 8px;
  background-color: hsl(178, 100%, 100%);
  padding: 1.4rem;
}
.pageDayservice .dsDeptCard.ccw {
  border-top-color: hsl(0, 90%, 80%);
}
.pageDayservice .dsDeptCard.ccw .deptLabel {
  color: hsl(0, 90%, 67%);
  background-color: hsl(0, 90%, 97%);
}
.pageDayservice .dsDeptCard.ot {
  border-top-color: hsl(183, 55%, 52%);
}
.pageDayservice .dsDeptCard.ot .deptLabel {
  color: hsl(183, 55%, 37%);
  background-color: hsl(183, 55%, 96%);
}
.pageDayservice .dsDeptCard.psw {
  border-top-color: hsl(291, 44%, 64%);
}
.pageDayservice .dsDeptCard.psw .deptLabel {
  color: hsl(291, 44%, 40%);
  background-color: hsl(291, 60%, 97%);
}
.pageDayservice .dsDeptCard .deptLabel {
  display: inline-block;
  border-radius: 4px;
  padding: 0.25rem 0.55rem 0.2rem;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  margin-bottom: 1rem;
}
.pageDayservice .dsDeptCard h3 {
  color: hsl(178, 97%, 3%);
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 0.75rem;
}
.pageDayservice .dsDeptCard p {
  color: hsl(0, 0%, 35%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  line-height: 1.8;
  margin-bottom: 0;
}
.pageDayservice .viewBtn {
  margin-top: 1.5rem;
}
.pageDayservice .viewBtn a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  color: hsl(178, 100%, 100%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  line-height: 1.2;
  text-decoration: none;
  background-color: hsl(120, 43%, 37%);
  border-radius: 4px;
  padding: 0.7rem 1.4rem;
  transition: opacity 0.2s;
}
.pageDayservice .viewBtn a:hover {
  opacity: 0.75;
}
.pageDayservice .videoWrapper {
  position: relative;
  padding-top: 56.25%;
  border-radius: 10px;
  overflow: hidden;
  background-color: hsl(120, 54%, 96%);
}
.pageDayservice .videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.pageDayservice .dsContactBox {
  display: grid;
  gap: 1.5rem;
  background-color: hsl(178, 100%, 100%);
  border: 1px solid hsl(120, 36%, 86%);
  border-radius: 8px;
  padding: 1.5rem;
}
.pageDayservice .dsContactBox address {
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-style: normal;
  line-height: 1.9;
  margin: 0;
  padding-top: 1.25rem;
  border-top: 1px solid hsl(120, 36%, 88%);
}
.pageDayservice .dsContactBox address strong {
  display: block;
  color: hsl(120, 43%, 37%);
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  line-height: 1.6;
  margin-bottom: 0.35rem;
}
.pageDayservice .dsContactBox address a {
  color: hsl(120, 43%, 37%);
  font-weight: bold;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

@media screen and (min-width: 992px) {
  .pageDayservice .pageHero .imgWrap {
    background-image: url(./images/hero/hero_kenko_sp.webp);
  }
  .pageDayservice .dsTextBlock,
  .pageDayservice .dsDeptCard,
  .pageDayservice .dsContactBox {
    padding: 2rem;
  }
  .pageDayservice .dsTimeline {
    gap: 1.25rem;
  }
  .pageDayservice .dsTimeline::before {
    left: 11.5rem;
  }
  .pageDayservice .timelineItem {
    grid-template-columns: 10rem 1fr;
    align-items: start;
    padding-left: 0;
  }
  .pageDayservice .timelineItem::before {
    left: 10.9rem;
  }
  .pageDayservice .timelineItem time {
    justify-content: center;
    width: 100%;
  }
  .pageDayservice .dsContactBox {
    grid-template-columns: 1fr 360px;
    align-items: center;
  }
  .pageDayservice .dsContactBox address {
    padding-top: 0;
    padding-left: 1.5rem;
    border-top: 0;
    border-left: 1px solid hsl(120, 36%, 88%);
  }
}
/* Scss Document */
/* ========================================
   カレンダーページ _calendar.scss
   ※ モバイルファースト
======================================== */
.pageCal-main {
  background-color: hsl(0, 0%, 98%);
}

.calLegend {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.calLegend__item {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  border-radius: 4px;
  padding: 0.25rem 0.75rem;
}
.calLegend__item::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 2px;
  background-color: hsla(183, 100%, 100%, 0.5);
}
.calLegend__item--oc {
  background-color: hsl(183, 55%, 37%);
}
.calLegend__item--school {
  background-color: hsl(0, 90%, 67%);
}

.calWrap {
  background-color: hsl(178, 100%, 100%);
  border-radius: 16px;
  padding: 1rem;
  overflow: hidden;
}
.calWrap .fc-toolbar {
  position: relative;
  margin-bottom: 1.5rem !important;
}
.calWrap .fc-toolbar .fc-left {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.calWrap .fc-toolbar .fc-left .fc-button-group {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.calWrap .fc-toolbar .fc-left .fc-button-group .fc-button {
  width: 32px;
  height: 32px;
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem) !important;
  background: hsl(0, 0%, 95%);
  border: none;
  border-radius: 4px;
  box-shadow: none;
}
.calWrap .fc-toolbar .fc-left .fc-button-group .fc-button:hover {
  opacity: 0.6;
}
.calWrap .fc-toolbar .fc-left .fc-button-group .fc-button .fc-icon {
  color: hsl(178, 97%, 3%);
  text-shadow: none;
  top: -0.15em;
  margin: 0 -0.2em;
}
.calWrap .fc-toolbar .fc-left .fc-today-button {
  height: 32px;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem) !important;
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  background-color: hsl(0, 0%, 95%);
  border: none;
  padding: 0 1rem;
  opacity: 1;
}
.calWrap .fc-toolbar .fc-left .fc-today-button:hover {
  opacity: 0.6;
}
.calWrap .fc-toolbar .fc-center {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.calWrap .fc-toolbar .fc-right {
  display: none;
}
.calWrap .fc-toolbar h2 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem) !important;
  font-weight: bold;
}
.calWrap .fc-day-header {
  background-color: hsl(0, 0%, 35%);
}
.calWrap .fc-day-header span {
  display: block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem) !important;
  color: hsl(178, 100%, 100%) !important;
  padding: 0.25rem;
}
.calWrap .fc-day-header.fc-sat {
  background-color: hsl(205, 55%, 52%) !important;
}
.calWrap .fc-day-header.fc-sun {
  background-color: hsl(331, 96%, 72%) !important;
}
.calWrap .fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem) !important;
}
.calWrap .fc-event {
  background-color: hsl(291, 44%, 79%);
  border: none;
  border-radius: 4px;
  padding: 0.25rem;
  cursor: pointer;
  transition: opacity 0.15s, transform 0.15s;
}
.calWrap .fc-event:hover {
  opacity: 0.85;
  transform: translateY(-1px);
}
.calWrap .fc-event .fc-title {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem) !important;
  color: hsl(178, 100%, 100%) !important;
}
.calWrap .fc-event.label-oc {
  background-color: hsl(183, 55%, 37%) !important;
}
.calWrap .fc-event.label-school {
  background-color: hsl(0, 90%, 67%) !important;
}

#event-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
}

.modal-overlay {
  position: absolute;
  inset: 0;
  background-color: hsla(178, 97%, 3%, 0.7);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  cursor: pointer;
}

.modal-card {
  position: relative;
  z-index: 1;
  background-color: hsl(178, 100%, 100%);
  border-radius: 20px;
  width: 92vw;
  max-width: 560px;
  max-height: 88vh;
  overflow-y: auto;
  box-shadow: 0 24px 64px hsla(178, 97%, 3%, 0.3);
  -webkit-overflow-scrolling: touch;
}
.modal-card::-webkit-scrollbar {
  width: 4px;
}
.modal-card::-webkit-scrollbar-thumb {
  background: hsl(183, 55%, 52%);
  border-radius: 2px;
}

.modal-close {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background-color: hsl(0, 0%, 95%);
  border: none;
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  cursor: pointer;
  transition: background-color 0.15s;
  float: right;
}
.modal-close:hover {
  background-color: hsl(0, 90%, 80%);
  color: hsl(178, 100%, 100%);
}

.mec-event {
  padding: 0;
}

.mec-img {
  border-radius: 16px 16px 0 0;
  overflow: hidden;
  max-height: 220px;
}
.mec-img img {
  width: 100%;
  height: 220px;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.mec-body {
  padding: 1.25rem 1.5rem 2rem;
}

.mec-badge {
  display: inline-block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  border-radius: 20px;
  padding: 0.2rem 0.85rem;
  margin-bottom: 0.85rem;
}
.mec-badge.label-oc {
  background-color: hsl(183, 55%, 37%);
}
.mec-badge.label-school {
  background-color: hsl(0, 90%, 67%);
}

.mec-datetime {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-bottom: 0.85rem;
}
.mec-datetime .mec-date,
.mec-datetime .mec-time {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.mec-datetime .mec-date i,
.mec-datetime .mec-time i {
  color: hsl(183, 55%, 52%);
  margin-right: 0.3rem;
}

.mec-headline {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  line-height: 1.5;
  margin-bottom: 0.75rem;
}

.mec-desc {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: normal;
  color: hsl(0, 0%, 35%);
  line-height: 1.85;
  margin-bottom: 1rem;
}

.mec-tags {
  margin-bottom: 1.25rem;
}

.mec-tag-row {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  flex-wrap: wrap;
}

.mec-tag-label {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  color: hsl(0, 0%, 35%);
  padding-top: 0.15rem;
  white-space: nowrap;
}

.mec-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.mec-tag {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  font-weight: bold;
  border-radius: 4px;
  padding: 0.15rem 0.6rem;
}
.mec-tag--dept {
  background-color: hsl(120, 43%, 37%);
  color: hsl(178, 100%, 100%);
}
.mec-tag--dept.mec-tag--ccw {
  background-color: hsl(0, 90%, 80%);
  color: hsl(178, 100%, 100%);
}
.mec-tag--dept.mec-tag--ot {
  background-color: hsl(183, 55%, 52%);
  color: hsl(178, 100%, 100%);
}
.mec-tag--dept.mec-tag--psw {
  background-color: hsl(291, 44%, 64%);
  color: hsl(178, 100%, 100%);
}
.mec-tag--format {
  background-color: hsl(0, 0%, 93%);
  color: hsl(178, 97%, 3%);
}

.mec-cta {
  margin-top: 2rem;
}

.mec-apply-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 100%, 100%);
  background-color: hsl(120, 43%, 37%);
  border-radius: 40px;
  padding: 0.65rem 2rem 0.55rem;
  text-decoration: none;
  border: 2px solid hsl(120, 43%, 37%);
  transition: all 0.2s;
}
.mec-apply-btn:hover {
  background-color: transparent;
  color: hsl(120, 43%, 37%);
}

.mec-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 3rem 1rem;
}
.mec-loading__spinner {
  display: block;
  width: 36px;
  height: 36px;
  border: 3px solid hsl(0, 0%, 95%);
  border-top-color: hsl(183, 55%, 52%);
  border-radius: 50%;
  animation: mecSpin 0.8s linear infinite;
}
.mec-loading__text {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
}

@keyframes mecSpin {
  to {
    transform: rotate(360deg);
  }
}
.mec-error {
  padding: 2rem 1rem;
  text-align: center;
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
}

@media screen and (min-width: 576px) {
  .pageCal-hero {
    padding: 4rem 0 3rem;
  }
  .calLegend {
    gap: 0.75rem;
  }
  .calLegend__item {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  }
  .calWrap {
    padding: 1.5rem;
  }
  .modal-card {
    width: 80vw;
  }
  .mec-img {
    max-height: 260px;
  }
  .mec-img img {
    height: 260px;
  }
}
@media screen and (min-width: 992px) {
  .modal-card {
    width: 560px;
  }
  .calWrap {
    padding: 2rem;
  }
  .calWrap .fc-toolbar {
    margin-bottom: 1.5rem !important;
  }
  .calWrap .fc-toolbar .fc-left .fc-button-group {
    gap: 1rem;
  }
  .calWrap .fc-toolbar .fc-left .fc-button-group .fc-button {
    width: 40px;
    height: 40px;
  }
  .calWrap .fc-toolbar .fc-left .fc-today-button {
    height: 40px;
    padding: 0 1rem;
  }
  .calWrap .fc-day-header span {
    font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem) !important;
    padding: 0.5rem;
  }
  .calWrap .fc-ltr .fc-basic-view .fc-day-top .fc-day-number {
    font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem) !important;
  }
  .calWrap .fc-event .fc-title {
    font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem) !important;
  }
}
/* Scss Document */
.page-contact p.textLead {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  line-height: 1.8;
}

.form_btn_wrap {
  margin-bottom: 2rem;
  text-align: center;
}
.form_btn_wrap .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  min-height: 48px;
  width: 100%;
  max-width: 360px;
  color: hsl(178, 100%, 100%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  line-height: 1.3;
  text-decoration: none;
  background-color: hsl(0, 90%, 80%);
  border: 2px solid hsl(0, 90%, 80%);
  border-radius: 4px;
  padding: 0.8rem 1.25rem;
  transition: all 0.2s;
}
.form_btn_wrap .btn i {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
}
.form_btn_wrap .btn:hover {
  color: hsl(0, 90%, 80%);
  background-color: hsl(178, 100%, 100%);
}

.contact_form {
  width: 100%;
  max-width: 820px;
  margin-inline: auto;
  text-align: left;
}
.contact_form .form_group {
  padding: 1.25rem 0;
  border-bottom: 1px solid #eaeaea;
}
.contact_form .form_group:first-child {
  border-top: 2px solid hsl(0, 90%, 80%);
}
.contact_form label {
  display: grid;
  gap: 0.65rem;
  color: hsl(178, 97%, 3%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  line-height: 1.6;
}
.contact_form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.contact_form .button_group {
  display: grid;
  justify-items: center;
  gap: 1rem;
  margin-top: 2rem;
  text-align: center;
}
.contact_form .wpcf7-recaptcha {
  display: flex;
  justify-content: center;
  max-width: 100%;
  overflow-x: auto;
  padding-bottom: 0.25rem;
}
.contact_form .wpcf7-previous {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 320px;
  min-height: 48px;
  color: hsl(0, 90%, 80%);
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  background-color: hsl(178, 100%, 100%);
  border: 2px solid hsl(0, 90%, 80%);
  border-radius: 4px;
  padding: 0.8rem 1.25rem;
  cursor: pointer;
}

input[type=text],
input[type=password],
input[type=datetime],
input[type=date],
input[type=month],
input[type=time],
input[type=week],
input[type=number],
input[type=email],
input[type=url],
input[type=search],
input[type=tel],
input[type=color],
select,
textarea,
.field {
  display: block;
  width: 100%;
  padding: 0.75rem 1.25rem;
  border: 1px solid #dcdcdc;
  border-radius: 4px;
  color: hsl(0, 0%, 35%);
  background-color: #fafafa;
  font-size: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  transition: all 0.3s ease;
  line-height: 1.6;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=datetime]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=time]:focus,
input[type=week]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=color]:focus,
select:focus,
textarea:focus,
.field:focus {
  outline: none;
  background-color: hsl(178, 100%, 100%);
  border-color: hsl(0, 90%, 80%);
  box-shadow: 0 0 0 3px rgba(6, 68, 190, 0.1);
}
input[type=text]::-moz-placeholder, input[type=password]::-moz-placeholder, input[type=datetime]::-moz-placeholder, input[type=date]::-moz-placeholder, input[type=month]::-moz-placeholder, input[type=time]::-moz-placeholder, input[type=week]::-moz-placeholder, input[type=number]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=url]::-moz-placeholder, input[type=search]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=color]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder, .field::-moz-placeholder {
  color: #b0b0b0;
}
input[type=text]::placeholder,
input[type=password]::placeholder,
input[type=datetime]::placeholder,
input[type=date]::placeholder,
input[type=month]::placeholder,
input[type=time]::placeholder,
input[type=week]::placeholder,
input[type=number]::placeholder,
input[type=email]::placeholder,
input[type=url]::placeholder,
input[type=search]::placeholder,
input[type=tel]::placeholder,
input[type=color]::placeholder,
select::placeholder,
textarea::placeholder,
.field::placeholder {
  color: #b0b0b0;
}

input[type=number] {
  display: inline-block;
  width: auto;
}

input,
select,
textarea {
  max-width: 100%;
  margin: 0;
  resize: vertical;
}

textarea {
  min-height: 200px;
}

.inquiry {
  width: 100%;
  margin-bottom: 1rem;
}
.inquiry tbody {
  display: block;
}
.inquiry tbody tr {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #eaeaea;
  padding: 2.5rem 0;
}
.inquiry tbody tr:first-child {
  border-top: 2px solid hsl(0, 90%, 80%);
}
@media (max-width: 767px) {
  .inquiry tbody tr {
    flex-direction: column;
    padding: 1.5rem 0;
  }
}
.inquiry tbody tr th {
  width: 32%;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  color: hsl(178, 97%, 3%);
  font-size: 1rem;
  padding-right: 2rem;
  word-break: keep-all;
}
@media (max-width: 767px) {
  .inquiry tbody tr th {
    width: 100%;
    margin-bottom: 1rem;
    padding-right: 0;
    padding-top: 0;
  }
}
.inquiry tbody tr th .haveto,
.inquiry tbody tr th .any {
  font-size: clamp(0.65rem, 0.65rem + 0.25vw, 0.75rem);
  font-weight: bold;
  padding: 0.2rem 0.5rem;
  border-radius: 2px;
  margin-left: 1rem;
  white-space: nowrap;
  font-weight: 500;
}
.inquiry tbody tr th .haveto {
  color: hsl(178, 100%, 100%);
  background-color: hsl(0, 90%, 80%);
}
.inquiry tbody tr th .any {
  color: hsl(178, 97%, 3%);
  background-color: hsl(0, 0%, 95%);
}
.inquiry tbody tr td {
  width: 68%;
  display: block;
}
@media (max-width: 767px) {
  .inquiry tbody tr td {
    width: 100%;
  }
}
.inquiry tbody tr td .wpcf7-list-item {
  margin-right: 1.5rem;
  display: inline-flex;
  align-items: center;
  margin-bottom: 0.5rem;
}
.inquiry tbody tr td .wpcf7-list-item input[type=radio],
.inquiry tbody tr td .wpcf7-list-item input[type=checkbox] {
  margin-right: 0.5rem;
  transform: scale(1.1);
  accent-color: hsl(0, 90%, 80%);
  cursor: pointer;
}
.inquiry tbody tr td .wpcf7-list-item span.wpcf7-list-item-label {
  cursor: pointer;
}

.verticallist .wpcf7-list-item {
  display: flex !important;
  margin-bottom: 0.75rem;
}

.wpcf7-submit,
#formbtn {
  display: block;
  width: 100%;
  max-width: 360px;
  margin: 2rem auto 0;
  padding: 1.25rem 2rem;
  background-color: hsl(0, 90%, 80%);
  color: hsl(178, 100%, 100%);
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  border: 2px solid hsl(0, 90%, 80%);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.wpcf7-submit:hover,
#formbtn:hover {
  background-color: hsl(178, 100%, 100%);
  color: hsl(0, 90%, 80%);
}
.wpcf7-submit.disabled,
#formbtn.disabled {
  opacity: 0.5;
  pointer-events: none;
  border-color: #ccc;
  background-color: #ccc;
  color: #fff;
}

.wpcf7-spinner {
  margin: 1rem auto;
  display: block;
}

.wpcf7-response-output {
  margin-top: 2rem !important;
  border-radius: 4px;
  padding: 1.5rem !important;
  text-align: center;
  font-weight: 500;
  font-size: 0.9375rem;
}

.wpcf7-not-valid-tip {
  font-size: 0.8125rem;
  margin-top: 0.5rem;
  display: block;
  color: hsl(0, 90%, 80%);
}

.wpcf7 small {
  color: hsl(0, 0%, 35%);
  font-size: 0.8125rem;
}
.wpcf7 small a {
  color: hsl(0, 90%, 80%);
  text-decoration: underline;
  transition: opacity 0.2s;
}
.wpcf7 small a:hover {
  opacity: 0.7;
}

/* Scss Document */
/* ========================================
  採用情報ページ _recruit-application.scss
======================================== */
.pageRecruitApplication {
  background-color: hsl(178, 100%, 100%);
}
.pageRecruitApplication .recruitIntro {
  padding: 5rem 0 3rem;
  text-align: center;
}
.pageRecruitApplication .recruitIntro .introInner {
  max-width: 800px;
  margin: 0 auto;
}
.pageRecruitApplication .recruitIntro .introInner h3 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-bottom: 2rem;
  position: relative;
  display: inline-block;
  padding-bottom: 1rem;
}
.pageRecruitApplication .recruitIntro .introInner h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 3px;
  background-color: hsl(291, 44%, 79%);
  border-radius: 2px;
}
.pageRecruitApplication .recruitIntro .introInner .leadText {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  line-height: 2;
  margin-bottom: 2.5rem;
}
.pageRecruitApplication .recruitDepartments {
  background-color: hsla(291, 44%, 79%, 0.2);
  padding: 4rem 0;
}
.pageRecruitApplication .recruitDepartments .sectionTitle {
  text-align: center;
  margin-bottom: 3rem;
}
.pageRecruitApplication .recruitDepartments .sectionTitle span {
  display: block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  color: hsl(291, 44%, 79%);
  font-weight: bold;
  margin-bottom: 0.5rem;
}
.pageRecruitApplication .recruitDepartments .sectionTitle h3 {
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.pageRecruitApplication .recruitDepartments .deptList {
  display: flex;
  justify-content: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.pageRecruitApplication .recruitDepartments .deptList .deptItem {
  background-color: hsl(178, 100%, 100%);
  padding: 1.5rem 2.5rem;
  border-radius: 50px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.pageRecruitApplication .recruitDepartments .deptList .deptItem:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}
.pageRecruitApplication .recruitDepartments .deptList .deptItem i {
  color: hsl(291, 44%, 79%);
  font-size: 1.25rem;
}
.pageRecruitApplication .recruitDepartments .deptList .deptItem span {
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.pageRecruitApplication .recruitDownload {
  padding: 5rem 0;
}
.pageRecruitApplication .recruitDownload .downloadCard {
  background: hsl(178, 100%, 100%);
  border: 2px solid hsl(291, 44%, 79%);
  border-radius: 20px;
  padding: 3rem 2rem;
  text-align: center;
  max-width: 700px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  box-shadow: 0 10px 40px rgba(183, 55, 52, 0.05);
}
.pageRecruitApplication .recruitDownload .downloadCard h3 {
  font-size: clamp(1.25rem, 1.25rem + 0.25vw, 1.5rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-bottom: 1.5rem;
}
.pageRecruitApplication .recruitDownload .downloadCard p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  line-height: 1.8;
  margin-bottom: 2.5rem;
}
.pageRecruitApplication .recruitDownload .downloadCard .btnDownload {
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  background: hsl(291, 44%, 64%);
  color: hsl(178, 100%, 100%);
  padding: 1.25rem 3rem;
  border-radius: 50px;
  font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  font-weight: bold;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 8px 20px rgba(183, 55, 52, 0.2);
}
.pageRecruitApplication .recruitDownload .downloadCard .btnDownload:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 30px rgba(183, 55, 52, 0.3);
  opacity: 0.9;
}
.pageRecruitApplication .recruitDownload .downloadCard .btnDownload i {
  font-size: 1.5rem;
}
.pageRecruitApplication .recruitContact {
  background-color: hsla(291, 44%, 79%, 0.2);
  padding: 5rem 0;
}
.pageRecruitApplication .recruitContact .sectionTitle {
  text-align: center;
  margin-bottom: 4rem;
}
.pageRecruitApplication .recruitContact .sectionTitle h3 {
  font-size: clamp(1.5rem, 1.5rem + 0.25vw, 1.75rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
  margin-bottom: 1rem;
}
.pageRecruitApplication .recruitContact .sectionTitle p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(0, 0%, 35%);
  opacity: 0.8;
}
.pageRecruitApplication .recruitContact .contactGrid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  max-width: 360px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .pageRecruitApplication .recruitContact .contactGrid {
    grid-template-columns: 1fr 1fr 1fr;
    max-width: 1140px;
  }
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem {
  background: hsl(178, 100%, 100%);
  padding: 2rem 1rem;
  border-radius: 15px;
  text-align: center;
  border: 1px solid hsl(291, 44%, 79%);
  transition: background 0.3s ease;
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem:hover {
  background: rgba(217.9434, 177.888, 225.012, 0.2);
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem .iconCircle {
  width: 70px;
  height: 70px;
  background-color: hsl(291, 44%, 64%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1.5rem;
  font-size: 1.75rem;
  color: hsl(178, 100%, 100%);
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem .label {
  display: block;
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
  text-transform: uppercase;
  letter-spacing: 2px;
  color: hsl(178, 97%, 3%);
  opacity: 0.7;
  margin-bottom: 0.5rem;
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem .value {
  font-size: clamp(1.5rem, 1.5rem + 0.25vw, 1.75rem);
  font-weight: bold;
  letter-spacing: 1px;
  color: hsl(178, 97%, 3%);
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem .value a {
  display: block;
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  color: hsl(178, 97%, 3%);
  text-decoration: none;
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem .value a:hover {
  text-decoration: underline;
}
.pageRecruitApplication .recruitContact .contactGrid .contactItem .value p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  font-weight: bold;
  color: hsl(178, 97%, 3%);
}
.pageRecruitApplication .recruitContact .postalInfo {
  text-align: center;
  margin-top: 4rem;
  padding-top: 3rem;
  border-top: 1px solid rgba(89.25, 89.25, 89.25, 0.2);
}
.pageRecruitApplication .recruitContact .postalInfo p {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  line-height: 1.8;
  opacity: 0.9;
  color: hsl(178, 97%, 3%);
}
.pageRecruitApplication .recruitContact .postalInfo p span {
  display: block;
  font-weight: bold;
  font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  color: hsl(178, 97%, 3%);
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 575px) {
  .pageRecruitApplication .recruitIntro {
    padding: 3.5rem 0 2rem;
  }
  .pageRecruitApplication .recruitIntro h3 {
    font-size: clamp(1.125rem, 1.125rem + 0.25vw, 1.25rem);
  }
  .pageRecruitApplication .deptList {
    flex-direction: column;
    align-items: stretch;
    padding: 0 1rem;
  }
  .pageRecruitApplication .deptList .deptItem {
    justify-content: center;
  }
  .pageRecruitApplication .recruitDownload .downloadCard {
    padding: 2.5rem 1.5rem;
  }
  .pageRecruitApplication .recruitDownload .downloadCard h3 {
    font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  }
  .pageRecruitApplication .recruitDownload .downloadCard .btnDownload {
    padding: 1rem 2rem;
    width: 100%;
  }
  .pageRecruitApplication .recruitContact .contactItem .value {
    font-size: clamp(1rem, 1rem + 0.25vw, 1.125rem);
  }
}
/* Scss Document */
/* Scss Document */
.page-404 {
  margin-top: 80px;
}
.page-404 .inner-text {
  text-align: center;
  color: hsl(178, 97%, 3%);
  padding-top: 3rem;
}
.page-404 .inner-text h2 {
  margin-bottom: 3rem;
}
.page-404 .inner-text h2 span {
  display: block;
  font-size: clamp(1.75rem, 1.75rem + 0.25vw, 2rem);
  line-height: min(12vw, 4rem);
  font-weight: bold;
}
.page-404 .inner-text p {
  margin-bottom: 3rem;
}
.page-404 .inner-text .btn-wrap {
  display: inline-block;
  color: hsl(178, 100%, 100%);
  background: hsl(178, 97%, 3%);
  border: solid 1px hsl(178, 97%, 3%);
  border-radius: 50px;
  padding: 0.5rem 1rem 0.5rem 3rem;
  transition: all 0.4s;
  position: relative;
}
.page-404 .inner-text .btn-wrap .eiji {
  font-size: clamp(0.875rem, 0.95rem + 0.25vw, 1rem);
  color: hsl(178, 100%, 100%);
}
.page-404 .inner-text .btn-wrap .more-btn {
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: hsl(178, 100%, 100%);
  border: solid 1px hsl(178, 100%, 100%);
  border-radius: 50px;
  transition: all 0.4s;
}
.page-404 .inner-text .btn-wrap .more-btn i {
  font-size: clamp(0.75rem, 0.75rem + 0.25vw, 0.875rem);
}
@media only screen and (min-width: 992px) {
  .page-404 .inner-text .btn-wrap:hover {
    color: hsl(178, 97%, 3%);
    background: transparent;
  }
  .page-404 .inner-text .btn-wrap:hover .eiji {
    color: hsl(178, 97%, 3%);
  }
  .page-404 .inner-text .btn-wrap:hover .more-btn {
    color: hsl(178, 100%, 100%);
    background-color: hsl(178, 97%, 3%);
  }
}

@media screen and (max-width: 575px) {
  .page-404 {
    margin-top: 64px;
  }
}/*# sourceMappingURL=style.css.map */