@charset "utf-8";

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

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

html,
body {
  height: 100%;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #000;
  background: #fff;
  word-break: break-word;
  margin: 0;
  padding: 0;
  letter-spacing: 0.03em;
}

a {
  color: #005d82;
  text-decoration: underline;
}

a:hover,
button:hover {
  text-decoration: none;
  color: #149bd0;
}

a:visited,
button:visited {
  text-decoration: none;
  /* color: #650a9f; */
}

button {
  cursor: pointer;
}

a:focus,
button:focus {
  outline-offset: 4px;
}

* {
  transition: all 0.3s ease;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border: 0;
}

ul,
ol {
  list-style: none;
}

button,
input,
select,
textarea {
  font: inherit;
  border: none;
  background: none;
  outline: none;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
section,
article,
div[id],
table[id],
[id^="section"],
[id^="anchor"] {
  scroll-margin-top: 80px;
}


#header {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
  transition: background 0.3s;
  height: 70px;
}

/* #NEWSPAGE #header {
  top: 0;
  width: 100%;
  z-index: 1000;
  transition: background 0.3s;
  height: 70px;
} */

#PAGETOP .header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backdrop-filter: blur(10px);
  background-image: linear-gradient(90deg, #327d8d, #48a5a7, #46a683);
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: -1;
}

#PAGETOP #header.scrolled .header-bg {
  opacity: 1;
}

#NEWSPAGE .header-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  backdrop-filter: blur(10px);
  background-image: linear-gradient(90deg, #327d8d, #48a5a7, #46a683);
  transition: opacity 0.5s ease;
  z-index: -1;
}

#header_inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  transition: all 0.3s ease;
  height: 70px;
}

#PAGETOP #scroll_logo {
  display: none;
  margin-left: 1rem;
  margin: 0.3rem 0 0.5rem 1rem;
}

#NEWSPAGE #scroll_logo {
  margin-left: 1rem;
  margin: 0.3rem 0 0.5rem 1rem;
}

#scroll_logo img {
  height: 32px;
  width: 80%;
}

#scroll_logo a {
  text-decoration: none;
}

#PAGETOP .scrolled #scroll_logo {
  display: block;
}

@media screen and (max-width: 1279px) {
  #header {
    height: 70px;
  }
}

/* .scrolled #main_logo {
  display: none;
} */

/* .scrolled #header {
  background: rgba(0, 0, 0, 0.85);
} */

.menu-close {
  display: none;
}

/* nav {
  display: block;
  position: fixed;
  top: 0;
  left: -300px;
  bottom: 0;
  width: 300px;
  background: #ffffff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all .5s;
  z-index: 3;
  opacity: 0;
} */

/* .open nav {
  left: 0;
  opacity: 1;
} */

#global_nav {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  order: 1;
  width: auto;
  margin-left: auto;
}

#global_nav ul {
  display: flex;
  gap: 1rem;
  list-style: none;
  margin: 1.5rem 2rem 0 0;
  padding: 0;
}

/* #global_nav ul li {
  position: relative;
  margin: 0;
  border-bottom: 1px solid #333;
} */

#PAGETOP #global_nav ul li a {
  color: #000;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

#PAGETOP .scrolled #global_nav ul li a {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

#NEWSPAGE #global_nav ul li a {
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  position: relative;
}

#PAGETOP #global_nav ul li+li {
  padding: 0 0 0 1rem;

  & ::after {
    content: '';
    display: inline-block;
    border-left: 1.5px solid #000;
    height: 1.2rem;
    position: absolute;
    left: -15px;
    bottom: 1px;
    transform: translateX(-50%);
  }
}

#PAGETOP .scrolled #global_nav ul li+li {
  padding: 0 0 0 1rem;

  & ::after {
    content: '';
    display: inline-block;
    border-left: 1.5px solid #fff;
    height: 1.2rem;
    position: absolute;
    left: -15px;
    bottom: 1px;
    transform: translateX(-50%);
  }
}

#NEWSPAGE #global_nav ul li+li {
  padding: 0 0 0 1rem;

  & ::after {
    content: '';
    display: inline-block;
    border-left: 1.5px solid #fff;
    height: 1.2rem;
    position: absolute;
    left: -15px;
    bottom: 1px;
    transform: translateX(-50%);
  }
}

#global_nav ul li a:hover {
  color: #404040;
}

.scrolled #global_nav ul li a:hover {
  color: #e4e4e4;
}

@media screen and (max-width: 1279px) {
  nav {
    display: block;
    position: fixed;
    top: 0;
    left: -300px;
    bottom: 0;
    width: 300px;
    background: #ffffff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 3;
    opacity: 0;
    left: -220px;
    width: 220px;
  }

  .open nav {
    left: 0;
    opacity: 1;
  }

  #global_nav {
    display: block;
    padding: 25px;
    width: initial;
    margin-left: 0;
  }

  #global_nav ul {
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;
  }

  #global_nav ul li {
    position: relative;
    margin: 0;
    border-bottom: 1px solid #333;
  }

  #global_nav ul li a {
    display: block;
    color: #333;
    font-size: 14px;
    padding: 1em;
    text-decoration: none !important;
    transition-duration: 0.2s;
    position: inherit;
    font-weight: normal;
  }

  #global_nav ul li a {
    color: #000 !important;
    font-weight: normal;
    text-decoration: none;
    position: initial;
  }

  .scrolled #global_nav ul li a {
    color: #000 !important;
    font-weight: normal;
    text-decoration: none;
    position: initial;
  }

  #global_nav ul li+li {
    padding: 0 !important;

    & ::after {
      content: initial !important;
      display: initial;
      border-left: initial;
      height: 0;
      position: initial;
      left: 0;
      bottom: 0;
      transform: initial;
    }
  }

  .scrolled #global_nav ul li+li {
    padding: 0 !important;

    & ::after {
      content: initial !important;
      display: initial;
      border-left: initial;
      height: 0;
      position: initial;
      left: 0;
      bottom: 0;
      transform: initial;
    }
  }

  #global_nav ul li a:hover {
    background: #e4e4e4;
  }

  .scrolled #global_nav ul li a:hover {
    color: initial;
  }

}

#menu_toggle {
  display: block;
  position: fixed;
  top: 20px;
  right: 30px;
  width: 30px;
  height: 30px;
  transition: all .5s;
  cursor: pointer;
  z-index: 3;
}

#menu_toggle span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 2px;
  background-color: #ffffff;
  border-radius: 4px;
  transition: all .5s;
}

#menu_toggle span:nth-child(1) {
  top: 4px;
}

#menu_toggle span:nth-child(2) {
  top: 14px;
}

#menu_toggle span:nth-child(3) {
  bottom: 4px;
}

.open #menu_toggle span {
  background-color: #fff;
}

.open #menu_toggle span:nth-child(1) {
  -webkit-transform: translateY(10px) rotate(-315deg);
  transform: translateY(10px) rotate(-315deg);
}

.open #menu_toggle span:nth-child(2) {
  opacity: 0;
}

.open #menu_toggle span:nth-child(3) {
  -webkit-transform: translateY(-10px) rotate(315deg);
  transform: translateY(-10px) rotate(315deg);
}

#mask {
  display: none;
  transition: all .5s;
}

@media screen and (max-width: 1279px) {
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .8;
    z-index: 2;
    cursor: pointer;
  }
}

#main_visual {
  position: relative;
  width: 100%;
  height: 700px;
  overflow: hidden;
}

#main_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 700px;
}

/* スライダー */

.swiper-slide img {
  top: 0;
  left: 0;
  width: 100%;
  height: 700px;
  animation: fadeIn 1.5s ease forwards 0.2s;
  z-index: 1;
  object-fit: cover;
  padding-bottom: 1.5rem;
  border-radius: 0px 0px 50% 50% / 0px 0px 6% 6%;
}

.swiper {
  height: auto;
}

.swiper-wrapper {
  max-width: 100%;
}

.swiper-slide {
  display: block;
  max-width: 100%;
}

#main_logo {
  position: absolute;
  animation: fadeIn 3.5s ease forwards 2s;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit-transform: translateY(-50%) translateX(-50%);
}

#main_logo img {
  width: 400px;
}

@media screen and (max-width: 1279px) {
  #main_logo img {
    max-width: inherit;
    width: 250px;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

.inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 0 120px 0;
}

.news.inner {
  padding: 100px 0 120px 0;
}

.top_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0 120px 0;
}

@media screen and (max-width: 1279px) {

  .inner,
  .top_inner {
    padding: 2rem 20px;
  }

  .news.inner {
    padding: 5.5rem 20px 2rem 20px !important;
  }

}

h2 {
  /* font-family: "Yu Mincho", "游明朝", "Hiragino Mincho Pro", "ヒラギノ明朝 Pro", serif; */
  font-size: 1.8rem;
  /* margin-bottom: 3.5rem; */
  position: relative;
  display: inline-block;
  padding-bottom: 0;
}

/* トップページ用 */
.logo-light .top_pagetitle_pc {
  width: 100%;
  text-align: center;
  position: absolute;
  right: 0;
  bottom: 60px;
  left: 0;
  margin: auto;
  font-weight: normal;
  font-size: 280%;
  color: #4F8C9D;
  z-index: 20;
  text-shadow: 0px 0px 26px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 49px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 10px rgba(255, 255, 255, 1), 0px 0px 21px rgba(255, 255, 255, 1), 0px 0px 21px rgba(255, 255, 255, 1), 0px 0px 21px rgba(255, 255, 255, 1), 0px 0px 21px rgba(255, 255, 255, 1);
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

.logo-dark .top_pagetitle_pc {
  width: 100%;
  text-align: center;
  position: absolute;
  right: 0;
  bottom: 60px;
  left: 0;
  margin: auto;
  font-weight: normal;
  font-size: 280%;
  color: #ffffff;
  z-index: 20;
  text-shadow: 0px 0px 8px rgba(0, 0, 0, 1), 0px 0px 8px rgba(0, 0, 0, 1), 0px 0px 31px rgba(0, 0, 0, 1);
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

/* タイトル拡大防止 */
.logo-light .top_pagetitle_pc,
.logo-dark .top_pagetitle_pc {
  transition: opacity 0.5s;
}

#main_logo_light,
#main_logo_dark {
  position: absolute;
  z-index: 20;
  width: 100%;
  top: 25%;
  right: 0;
  left: 0;
  bottom: 0;
}

#main_logo_light img,
#main_logo_dark img {
  width: 300px;
  margin: 0 auto;
}

.logo-light #main_logo_light img {
  display: block;
  opacity: 1;

  @starting-style {
    opacity: 0;
    transition: opacity 0.5s;
  }
}

.logo-dark #main_logo_light img {
  display: none;
  opacity: 0;
  transition: opacity 0.5s, display 0.5s;
  transition-behavior: allow-discrete;
}

.logo-light #main_logo_dark img {
  display: none;
  opacity: 0;
  transition: opacity 0.5s, display 0.5s;
  transition-behavior: allow-discrete;
}

.logo-dark #main_logo_dark img {
  display: block;
  opacity: 1;

  @starting-style {
    opacity: 0;
  }
}

/* ロゴ修正 */
#main_logo_light img,
#main_logo_dark img {
  display: block;
  opacity: 0;
  margin: 0 auto;
  transition: opacity 0.5s;
}

.logo-light #main_logo_light img {
  opacity: 1;
}

.logo-dark #main_logo_dark img {
  opacity: 1;
}

#main_visual {
  position: relative;
}

#main_title {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  place-items: center;
  z-index: 20;
  pointer-events: none;
}

#main_title .pc {
  display: none;
}

#main_title .sp {
  display: block;
}

@media (min-width: 1280px) {
  #main_title .pc {
    display: block;
  }

  #main_title .sp {
    display: none;
  }
}

.logo-dark #main_logo_light img,
.logo-light #main_logo_dark img {
  display: block;
}

/**/

.top_pagetitle_a1 {
  font-weight: normal;
  font-size: 280%;
  color: #4F8C9D;
}

.top_pagetitle_a2 {
  font-weight: normal;
  font-size: 180%;
  color: #4F8C9D;
}

.top_pagetitle_a3 {
  position: absolute;
  top: 0px;
  font-size: 150%;
  font-weight: normal;
  padding: 0.8rem 0;
  color: #fff;
  padding-bottom: 0.8em;
  z-index: 2;
}

.bg_green {
  background: linear-gradient(90deg, #327d8d, #48a5a7, #46a683);
  width: 100%;
  height: 60px;
}

.bg_img {
  position: absolute;
  top: 1.5px;
  right: 10px;
  background: url("../images/title_illustration.png") no-repeat center right;
  width: 100%;
  height: 60px;
}

.top_pagetitle_a4 {
  font-weight: bold;
  color: #548F75;
}

@media screen and (max-width: 1279px) {
  .top_pagetitle_a1 {
    font-weight: normal;
    /* font-size: 280%; */
    font-size: 150%;
    color: #4F8C9D;
  }

  .top_pagetitle_a2,
  .top_pagetitle_a3 {
    font-size: 125%;
  }

  .bg_green {
    width: 100%;
    background: linear-gradient(90deg, #327d8d, #48a5a7, #46a683);
  }
}

h2.pagetitle_a2::after {
  content: "";
  position: absolute;
  bottom: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 58px;
  height: 3px;
  background-color: #fff;
}

.grid {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  justify-content: center;
}

footer {
  color: #fff;
  position: relative;
  overflow: hidden;
  height: 270px;
}

.footer-overlay {
  position: absolute;
  inset: 0;
  background: url("../images/footer_backimage.jpg") no-repeat center center;
  z-index: -1;
}

.footer-inner {
  position: relative;
  max-width: 885px;
  margin: 0 auto;
  padding: 7rem 0 3.5rem 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 56px;
  flex-wrap: wrap;
  z-index: 1;
}

.footer-inner .logo {
  flex-shrink: 0;
  margin: 0 auto;
}

.footer-inner .logo img {
  display: block;
  height: auto;
  width: auto;
  max-width: 100%;
}

.copy {
  text-align: center;
  font-size: 68.8%;
  margin: 1rem 0;
}

@media screen and (max-width: 1279px) {
  .footer-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
    padding: 2rem 0 1rem 0;
  }

  .footer-inner .logo {
    width: 15%;
  }

  .copy {
    font-size: 62.5%;
  }
}

#page-top {
  position: fixed;
  right: 25px;
  bottom: 20px !important;
  display: block;
  z-index: 10;
}

#page-top {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#page-top.show {
  opacity: 1;
  visibility: visible;
}

#page-top img {
  width: 40px;
}

.pagetop_btn a {
  display: block;
  width: 40px;
  height: 40px;
  padding-top: 6px;
  text-align: center;
}

.pagetop_btn a:hover,
.pagetop_btn a:focus {
  opacity: 0.8;
}

.pagetop_btn.white img {
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}

.pagetop_btn img {
  -webkit-filter: brightness(1) invert(1);
  filter: brightness(1) invert(1);
}

@media print,
screen and (max-width: 1279px) {
  #page-top {
    right: 15px;
    bottom: 30px !important;
  }

  .pagetop_btn a {
    width: 40px;
    height: 40px;
    padding-top: 5px;
  }
}

.fade-in {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}

.fade-in.visible {
  opacity: 1;
  transform: translateY(0);
}


.sp {
  display: none !important;
}

.pc {
  display: block !important;
}

@media screen and (max-width: 1279px) {
  .sp {
    display: block !important;
  }

  .pc {
    display: none !important;
  }
}

.pc_br {
  display: block;
}

@media screen and (max-width: 1279px) {
  .pc_br {
    display: none;
  }
}

.sp_br {
  display: none;
}

@media screen and (max-width: 1279px) {
  .sp_br {
    display: block;
  }
}

.mb0-5r {
  margin-bottom: 0.5rem !important;
}

.mb1r {
  margin-bottom: 1rem !important;
}

.mb1-5r {
  margin-bottom: 1.5rem !important;
}

.mb2r {
  margin-bottom: 2rem !important;
}

.mb2-5r {
  margin-bottom: 2.5rem !important;
}

.mb3r {
  margin-bottom: 3rem !important;
}

.mb3-5r {
  margin-bottom: 3.5rem !important;
}

.mb4r {
  margin-bottom: 4rem !important;
}

.mb4-5r {
  margin-bottom: 4.5rem !important;
}

.mb5r {
  margin-bottom: 5rem !important;
}

.mb5-5r {
  margin-bottom: 5.5rem !important;
}

.mb6r {
  margin-bottom: 6rem !important;
}

.mb6-5r {
  margin-bottom: 6.5rem !important;
}

.mb7r {
  margin-bottom: 7rem !important;
}

.mb7-5r {
  margin-bottom: 7.5rem !important;
}

.mb8r {
  margin-bottom: 8rem !important;
}

.mb8-5r {
  margin-bottom: 8.5rem !important;
}

.mb9r {
  margin-bottom: 9rem !important;
}

.mb9-5r {
  margin-bottom: 9.5rem !important;
}

.mb10r {
  margin-bottom: 10rem !important;
}

.mb10-5r {
  margin-bottom: 10.5rem !important;
}

.fz14 {
  font-size: 87.5%;
}

#header.is-fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1000;
}

.pankuzu_area {
  font-size: 87.5%;
  margin-bottom: 50px;
}

.pankuzu_area .inner {
  text-align: right;
  padding: 0;
}

ul.pankuzu {
  display: flex;
  list-style: none;
  margin: 1rem 0;
  padding: 0;
  justify-content: flex-end;
}

ul.pankuzu li {
  position: relative;
  margin-right: 1.5rem;
  padding: 0;
  white-space: nowrap;
}

ul.pankuzu li:last-child {
  margin-right: 0;
}

ul.pankuzu li:not(:last-child)::after {
  content: ">";
  position: absolute;
  right: -1rem;
  color: #000;
}

ul.pankuzu a {
  color: #0f4f91;
  text-decoration: none;
}

ul.pankuzu a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 1279px) {
  ul.pankuzu {
    width: calc(100% - 2rem);
  }

  ul.pankuzu {
    overflow-x: auto;
    padding: 0 0 .5rem;
    justify-content: initial;
  }
}

.pagetitle_a2 {
  font-size: 200%;
  font-weight: 400;
  border-bottom: 2px solid #006d98;
  padding: 1.5rem 0;
  margin-bottom: 2rem;
  color: #006d98;
}

.pagetitle_a2::before {
  content: '';
  position: absolute;
  left: -51px;
  bottom: 0;
  width: 44px;
  height: 5px;
  background-color: #006d98;
}

.pagetitle_a3 {
  position: relative;
  font-size: 166.7%;
  font-weight: 400;
  color: #007cad;
  margin: 2rem 0;
  padding: 1rem .5rem;
  display: flex;
  align-items: center;
  line-height: 1.4;
  min-height: 38px;
  border-bottom: 2px solid #007cad;
}

.pagetitle_a4 {
  position: relative;
  font-size: 133.3%;
  font-weight: 700;
  color: #fff;
  margin: 2rem 0;
  padding: .6rem 1rem;
  line-height: 1.6;
  min-height: 22px;
  background: #007cad;
  border-radius: 10px;
}

.pagetitle_a5 {
  position: relative;
  font-size: 133.3%;
  font-weight: 700;
  color: #007cad;
  margin: 2rem 0;
  padding: .6rem 1rem;
  line-height: 1.6;
  min-height: 22px;
  background: #bfdeea;
  border-radius: 10px;
}

.pagetitle_a6 {
  font-size: 111.1%;
  font-weight: 700;
  margin: 1.5rem 0 2rem;
  color: #3f3f3f;
}

@media screen and (max-width: 1279px) {

  .pagetitle_a2,
  .pagetitle_a3 {
    font-size: 133.3%;
  }

  .pagetitle_a4,
  .pagetitle_a5 {
    font-size: 122.2%;
  }

  .pagetitle_a6 {
    font-size: 111.1%;
  }
}

#content p {
  line-height: 1.8;
  margin-bottom: 1rem;
}

p.large {
  font-size: 111.1%;
}

p.small {
  font-size: 88.9%;
}

.red {
  color: #bb1d67;
}

.green {
  color: #1f8614;
}

.purple {
  color: #922796;
}

.grey {
  color: #6a6a6a;
}

.bold {
  font-weight: 700;
}

.label,
.important p {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.label,
.important p {
  gap: 0;
}

.label a {
  flex: 0 1 auto;
  min-width: 0;
  word-break: break-word;
}

.pdf,
.word,
.excel,
.ppt {
  display: inline-block;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  padding: 0.1rem 0.4rem;
  margin-top: .1rem;
  margin-right: .5rem;
  border-radius: 3px;
  white-space: nowrap;
  width: 50px;
  text-align: center;
  letter-spacing: 0;
}

.pdf {
  background-color: #bb1d67;
}

.word {
  background-color: #005d82;
}

.excel {
  background-color: #1f8614;
}

.ppt {
  background-color: #e0241a;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

.left {
  text-align: left;
}

#content section .reader a[target="_blank"]::after {
  content: none;
}

#content ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

#content ol>li {
  margin-bottom: 0.5rem;
  list-style: decimal;
}

#content ul {
  padding-left: .5rem;
  margin-bottom: 1rem;
}

#content ul li>ul {
  margin-top: .5rem;
}

#content ul>li {
  position: relative;
  margin-bottom: 0.5em;
  padding-left: 0.8em;
}

#content ul li::before {
  content: "•";
  position: absolute;
  left: 0;
  top: 0.1em;
  color: #000;
  font-size: 1.2em;
  line-height: 1;
}

.content ul:not(.asterisk) li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 0.6em !important;
  width: 4px !important;
  height: 4px !important;
  background-color: #000 !important;
  border-radius: 50% !important;
}

ul.asterisk {
  padding-left: 0 !important;
}

ul.asterisk li {
  list-style: none !important;
  position: relative !important;
  padding-left: 1.5em !important;
}

ul.asterisk li::before {
  content: '※' !important;
  position: absolute !important;
  left: 0 !important;
  display: inline-block !important;
  width: 1.5em !important;
  color: #000 !important;
}

/* リンクボタン */
.btn_group {
  display: flex;
  flex-wrap: wrap;
  max-width: 100%;
  gap: 1rem;
  margin-bottom: 1rem;
}

.btn_arrow {
  display: flex;
  align-items: center;
  min-height: 50px;
  border-radius: 10px;
  text-decoration: none;
  overflow: hidden;
  color: #005d82;
  transition: filter 0.2s;
  width: 100%;
  background: #eaeaea;
}

.btn_arrow:hover {
  filter: brightness(1.05);
}

.btn_arrow.btn_blue:hover {
  filter: brightness(1.1);
}

.btn_arrow .icon_area {
  width: 40px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.3);
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
}

.icon_area::after {
  content: '';
  width: 15px;
  height: 10px;
  background-color: #fff;
  -webkit-mask-image: url('../images/arw.svg');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url('../images/arw.svg');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}

.arrow_down .icon_area::after {
  transform: rotate(0deg);
}

.arrow_right .icon_area::after {
  transform: rotate(270deg);
}

.btn_arrow .btn_text {
  flex: 1;
  padding: 0 1rem;
  line-height: 1.4;
}

.btn_blue {
  border: 2px solid #007cad;
}

.btn_blue .icon_area {
  background-color: #007cad;
}

.btn_green {
  border: 2px solid #039c64;
}

.btn_green .icon_area {
  background-color: #039c64;
}

.btn_gray {
  border: 2px solid #8c8c8c;
}

.btn_gray .icon_area {
  background-color: #8c8c8c;
}

#content section a[target="_blank"] span:last-child:after {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-left: 0.3em;
  background: url("../images/icon_link.png") no-repeat center center;
  background-size: contain;
}

#content a.btn_arrow[target="_blank"]::after {
  content: none;
}

.top_page #content a[target="_blank"]::after {
  content: none !important;
}

.top_page a[target="_blank"] span:last-child:after {
  content: none !important;
}

/* ボックス */
.box {
  border-radius: 15px;
  padding: 1.5rem 2rem;
  line-height: 1.8;
}

.box_blue {
  background-color: #0d4a5e;
  color: #fff;
}

.box_red {
  background-color: #ad004d;
  color: #fff;
}

.box_lightblue {
  background-color: #afdcea;
}

.box_pink {
  background-color: #ffdeed;
}

.box_grey {
  background-color: #dfdfdf;
}

.box_border_blue {
  border: 3px solid #187492;
}

.box_border_pink {
  border: 3px solid #ad004d;
}

/* FAQ */
.faq {
  margin-bottom: 2rem;
}

.faq-item {
  border-bottom: 1px solid #007cad;
  padding: 20px 0;
}

.faq dt {
  font-weight: 700;
}

.faq dt div {
  padding-top: 5px;
}

.faq dt,
.faq dd {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 0;
  padding: 10px 0;
}

.faq .label {
  display: inline-block;
  min-width: 70px;
  text-align: center;
  padding: 5px 10px 6px;
  font-weight: bold;
  color: #fff;
  border-radius: 7px;
}

.faq dd img {
  margin: 1rem auto;
}

.faq .label.q {
  background: #007cad;
}

.faq .label.a {
  background: #054964;
}


.grid_1,
.grid_2,
.grid_3,
.grid_4,
.grid_5,
.grid_1_3,
.grid_3_1 {
  display: grid;
  gap: 50px;
}

.grid_2_1 {
  display: flex;
  gap: 50px;
}

.grid_1 {
  grid-template-columns: 1fr;
}

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

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

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

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

.grid_1_3 {
  grid-template-columns: 1fr 3fr;
}

.grid_3_1 {
  grid-template-columns: 3fr 1fr;
}

.grid_2_1 {
  grid-template-columns: 2fr 1fr;
}

@media screen and (max-width: 1279px) {
  .grid_2 {
    grid-template-columns: 1fr;
  }

  .grid_2 img {
    display: block;
    margin: 0 auto;
  }

  .grid_3 {
    grid-template-columns: 1fr;
  }

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

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

  .grid_1_3 {
    grid-template-columns: 1fr;
  }

  .grid_3_1 {
    grid-template-columns: 1fr;
  }

  .grid_2_1 {
    display: grid;
    grid-template-columns: 1fr;
  }

  .grid_2_1 img {
    display: block;
    margin: 0 auto;
  }

}

/* テーブル */
.table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1rem;
  text-align: left;
}

.table th,
.table td {
  border: 1px solid #4F8C9D;
  padding: 1rem;
  border-top: none;
  border-left: none;
  border-right: none;
}

.table th {
  background-color: #E4EFF1;
  color: #4F8C9D;
  vertical-align: top;
}

.tr_bg_blue {
  background-color: #e2f1f6;
}

.tr_bg_red {
  background-color: #ffe8f2;
}

.tr_bg_grey {
  background-color: #f1f1f1;
}

@media screen and (max-width: 1279px) {
  .last td:last-child {
    width: 100%;
  }

  .table {
    width: 100%;
  }

  .table th,
  .table td {
    border-bottom: none;
    display: block;
    width: 100%;
  }
}

/* @media screen and (max-width: 1279px) {
  .js-scroll {
    overflow-x: auto;
    white-space: nowrap;
    width: 100%;
  }

  .table {
    border-collapse: collapse;
    width: 500px;
  }
} */

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

.video {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
}

.video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.reader {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 75%;
}

.reader_img img {
  display: block;
  max-width: 100%;
  height: auto;
}

.reader_txt {
  line-height: 1.6;
}

.label_w {
  display: inline-block;
  width: 10.5em;
}

@media screen and (max-width: 1279px) {
  .label_w {
    display: block;
    width: auto;
    margin-bottom: 0.2em;
  }
}

.list {
  font-size: 1rem;
}

.list li {
  list-style-position: inside;
  padding-left: 2rem;
  margin: 0.5rem;
  text-indent: -1.4em;
}

.flowchart_img {
  display: block;
  text-align: center;
}

.flowchart_img img {
  margin: 0 auto;
}

.job_images {
  margin: auto;
}

.col_width_01 {
  width: 1% !important;
}

.col_width_02 {
  width: 2% !important;
}

.col_width_03 {
  width: 3% !important;
}

.col_width_04 {
  width: 4% !important;
}

.col_width_05 {
  width: 5% !important;
}

.col_width_06 {
  width: 6% !important;
}

.col_width_07 {
  width: 7% !important;
}

.col_width_08 {
  width: 8% !important;
}

.col_width_09 {
  width: 9% !important;
}

.col_width_10 {
  width: 10% !important;
}

.col_width_11 {
  width: 11% !important;
}

.col_width_12 {
  width: 12% !important;
}

.col_width_13 {
  width: 13% !important;
}

.col_width_14 {
  width: 14% !important;
}

.col_width_15 {
  width: 15% !important;
}

.col_width_16 {
  width: 16% !important;
}

.col_width_17 {
  width: 17% !important;
}

.col_width_18 {
  width: 18% !important;
}

.col_width_19 {
  width: 19% !important;
}

.col_width_20 {
  width: 20% !important;
}

.col_width_21 {
  width: 21% !important;
}

.col_width_22 {
  width: 22% !important;
}

.col_width_23 {
  width: 23% !important;
}

.col_width_24 {
  width: 24% !important;
}

.col_width_25 {
  width: 25% !important;
}

.col_width_26 {
  width: 26% !important;
}

.col_width_27 {
  width: 27% !important;
}

.col_width_28 {
  width: 28% !important;
}

.col_width_29 {
  width: 29% !important;
}

.col_width_30 {
  width: 30% !important;
}

.col_width_31 {
  width: 31% !important;
}

.col_width_32 {
  width: 32% !important;
}

.col_width_33 {
  width: 33% !important;
}

.col_width_34 {
  width: 34% !important;
}

.col_width_35 {
  width: 35% !important;
}

.col_width_36 {
  width: 36% !important;
}

.col_width_37 {
  width: 37% !important;
}

.col_width_38 {
  width: 38% !important;
}

.col_width_39 {
  width: 39% !important;
}

.col_width_40 {
  width: 40% !important;
}

.col_width_41 {
  width: 41% !important;
}

.col_width_42 {
  width: 42% !important;
}

.col_width_43 {
  width: 43% !important;
}

.col_width_44 {
  width: 44% !important;
}

.col_width_45 {
  width: 45% !important;
}

.col_width_46 {
  width: 46% !important;
}

.col_width_47 {
  width: 47% !important;
}

.col_width_48 {
  width: 48% !important;
}

.col_width_49 {
  width: 49% !important;
}

.col_width_50 {
  width: 50% !important;
}

.col_width_51 {
  width: 51% !important;
}

.col_width_52 {
  width: 52% !important;
}

.col_width_53 {
  width: 53% !important;
}

.col_width_54 {
  width: 54% !important;
}

.col_width_55 {
  width: 55% !important;
}

.col_width_56 {
  width: 56% !important;
}

.col_width_57 {
  width: 57% !important;
}

.col_width_58 {
  width: 58% !important;
}

.col_width_59 {
  width: 59% !important;
}

.col_width_60 {
  width: 60% !important;
}

.col_width_61 {
  width: 61% !important;
}

.col_width_62 {
  width: 62% !important;
}

.col_width_63 {
  width: 63% !important;
}

.col_width_64 {
  width: 64% !important;
}

.col_width_65 {
  width: 65% !important;
}

.col_width_66 {
  width: 66% !important;
}

.col_width_67 {
  width: 67% !important;
}

.col_width_68 {
  width: 68% !important;
}

.col_width_69 {
  width: 69% !important;
}

.col_width_70 {
  width: 70% !important;
}

.col_width_71 {
  width: 71% !important;
}

.col_width_72 {
  width: 72% !important;
}

.col_width_73 {
  width: 73% !important;
}

.col_width_74 {
  width: 74% !important;
}

.col_width_75 {
  width: 75% !important;
}

.col_width_76 {
  width: 76% !important;
}

.col_width_77 {
  width: 77% !important;
}

.col_width_78 {
  width: 78% !important;
}

.col_width_79 {
  width: 79% !important;
}

.col_width_80 {
  width: 80% !important;
}

.col_width_81 {
  width: 81% !important;
}

.col_width_82 {
  width: 82% !important;
}

.col_width_83 {
  width: 83% !important;
}

.col_width_84 {
  width: 84% !important;
}

.col_width_85 {
  width: 85% !important;
}

.col_width_86 {
  width: 86% !important;
}

.col_width_87 {
  width: 87% !important;
}

.col_width_88 {
  width: 88% !important;
}

.col_width_89 {
  width: 89% !important;
}

.col_width_90 {
  width: 90% !important;
}

.col_width_91 {
  width: 91% !important;
}

.col_width_92 {
  width: 92% !important;
}

.col_width_93 {
  width: 93% !important;
}

.col_width_94 {
  width: 94% !important;
}

.col_width_95 {
  width: 95% !important;
}

.col_width_96 {
  width: 96% !important;
}

.col_width_97 {
  width: 97% !important;
}

.col_width_98 {
  width: 98% !important;
}

.col_width_99 {
  width: 99% !important;
}

/* お知らせ */
#news .info {
  width: 100%;
}

#news dt {
  float: left;
  width: 200px;
}

#news dd {
  margin-left: 200px;
  padding-bottom: 1.5rem;
  width: 1020px;
}

#news dd a {
  word-break: break-word;
  overflow-wrap: anywhere;
  flex: 1;
}

#news .date {
  display: inline-block;
  margin-right: 3rem;
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 6.5rem;
}

#news .pdf {
  display: inline-block;
  font-size: 75%;
  font-weight: 700;
  color: #fff;
  padding: 0.1rem 0.4rem;
  margin-right: .5rem;
  border-radius: 3px;
  background-color: #bb1d67;
}

@media screen and (max-width: 1279px) {
  #news dt {
    width: auto;
    float: none;
    padding: 0;
  }

  #news dd {
    width: auto;
    margin-left: 0 !important;
  }

  #news .info dl dt .date {
    margin-right: 0;
  }
}

.important a[href$=".pdf"]::before {
  content: "PDF";
  background: #bb1d67;
}

.important a[href$=".doc"]::before,
.important a[href$=".docx"]::before {
  content: "WORD";
  background: #005d82;
}

.important a[href$=".xls"]::before,
.important a[href$=".xlsx"]::before {
  content: "EXCEL";
  background: #1f8614;
}

.important a[href$=".pdf"]::before,
.important a[href$=".doc"]::before,
.important a[href$=".docx"]::before,
.important a[href$=".xls"]::before,
.important a[href$=".xlsx"]::before {
  display: inline-block;
  vertical-align: top;
  margin: .1rem .5rem 0 0;
  padding: 0.1rem 0.4rem;
  color: #fff;
  font-size: 75%;
  font-weight: 700;
  border-radius: 3px;
  white-space: nowrap;
}

/* バナー */

.banner-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 0 80px 0;
}

.banner ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 !important;
  justify-content: center;
}

.banner ul li {
  margin: 0 10px 10px;
  padding: 0 !important;

}

.banner ul li::after,
.banner ul li::before {
  content: none !important;
}

.banner ul li img {
    width: 280px !important;
}

@media screen and(max-width: 1200px) {
  .banner ul li {
    width: calc((100% - 4rem) / 3);
  }

  .banner ul li img {
    height: auto !important;
  }
}

@media screen and (max-width: 796px) {
  .banner ul {
    max-width: 100%;
    padding-left: inherit !important;
  }

  .banner ul li {
    width: calc((100% - 4rem) / 2);
  }

  .banner ul li img {
    height: auto !important;
  }
}

/*記事に埋め込んだGoogleマップの角丸化*/
iframe[src^="https://www.google.com/maps/embed?"] {
  border-radius: 20px !important;
}