@charset "UTF-8";
/*
Theme Name:ascend_premium_child
Template:ascend_premium
*/
body, h1, h2, h3, h4, h5, h6, p, span, a, th, td, li, strong {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "游明朝体", "Hiragino Mincho ProN", "ヒラギノ明朝 ProN", sans-serif !important;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
  margin: 0;
  line-height: 1;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  line-height: 1;
}

p, span {
  font-weight: 500;
  line-height: 1;
}

.entry-content p {
  margin: 0;
}

p:empty {
  display: none;
}

br {
  display: none !important;
}

.entry-content table tr:nth-child(even),
.modal-body table tr:nth-child(even) {
  background: none;
}

button {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

table tr:nth-child(even) {
  background: none !important;
}

ul, ol, li, dl, dt, dd {
  line-height: 1;
  padding: 0;
  margin: 0;
}

.entry-content li {
  padding: 0;
  margin: 0;
}

figure {
  margin: 0;
}

img {
  width: 100%;
  max-width: none;
}

a {
  border: none !important;
}
a:hover {
  border: none !important;
}

.container.single-staff {
  width: 100%;
}

input {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}
input:hover {
  -webkit-box-shadow: none !important;
          box-shadow: none !important;
}

body.open_modal {
  overflow: hidden;
}

.headerclass, .mobile-headerclass {
  background-color: #082F56;
}

#kad-mobile-banner .mobile-header-container {
  width: 92%;
  margin-inline: auto;
}

#kad-mobile-banner #mobile-logo a {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
}

button.mobile-navigation-toggle span.kt-mnt span {
  height: 2px;
  background-color: #fff;
}

button.sldr-close span {
  height: 2px !important;
}

.mfp-slide .mfp-content #kt-mobile-menu {
  background-color: #082F56;
}

.nav-main ul.sf-menu li a {
  color: #fff !important;
  text-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
}

.container {
  width: 100%;
  padding: 0;
}

#content {
  max-width: none;
  padding: 0;
}

.float_button--box {
  text-align: center;
  font-size: 3.5vw;
  width: 100%;
  display: grid;
  grid-template-columns: 1fr 1fr;
  position: fixed;
  bottom: 0;
  z-index: 100;
}
@media screen and (min-width: 600px) {
  .float_button--box {
    font-size: 2.3vw;
  }
}
@media screen and (min-width: 768px) {
  .float_button--box {
    font-size: 1.9vw;
  }
}
@media screen and (min-width: 1025px) {
  .float_button--box {
    font-size: 17px;
    width: auto;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    right: 0;
    top: 200px;
    grid-template-columns: auto;
    grid-template-rows: 1fr 1fr;
  }
}
@media screen and (min-width: 1025px) {
  .float_button--box .float_button {
    height: 11em;
  }
}
.float_button--box .float_button.tel_button {
  background-color: #9A0303;
}
@media screen and (min-width: 1025px) {
  .float_button--box .float_button.tel_button {
    margin-bottom: 0.5em;
  }
}
.float_button--box .float_button.web_button {
  background-color: #082F56;
}
.float_button--box .float_button:hover {
  opacity: 0.7;
}
.float_button--box .float_button a {
  color: #fff;
  letter-spacing: 0.1em;
  width: 100%;
  height: 100%;
  padding: 0.8em 0;
  display: block;
}
@media screen and (min-width: 1025px) {
  .float_button--box .float_button a {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    padding: 0 0.8em;
  }
}

.top_header {
  background-size: cover;
  background-position: center;
  position: relative;
}
.top_header h1 {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
          clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
.top_header .header_container {
  text-align: center;
  padding: 25% 0;
}
@media screen and (min-width: 600px) {
  .top_header .header_container {
    padding: 20% 0;
  }
}
@media screen and (min-width: 768px) {
  .top_header .header_container {
    padding: 18% 0;
  }
}
@media screen and (min-width: 1025px) {
  .top_header .header_container {
    padding: 200px 0;
  }
}
.top_header .header_container p {
  color: #fff;
  font-size: 7vw;
  font-weight: bold;
  text-shadow: #082F56 1px 1px 0, #082F56 -1px -1px 0, #082F56 -1px 1px 0, #082F56 1px -1px 0, #082F56 0px 1px 0, #082F56 0 -1px 0, #082F56 -1px 0 0, #082F56 1px 0 0;
  line-height: 1.6;
  letter-spacing: 0.1em;
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 0.5s 0.5s;
  transition: all 0.5s 0.5s;
}
@media screen and (min-width: 600px) {
  .top_header .header_container p {
    font-size: 6vw;
  }
}
@media screen and (min-width: 768px) {
  .top_header .header_container p {
    font-size: 5vw;
  }
}
@media screen and (min-width: 1025px) {
  .top_header .header_container p {
    font-size: 60px;
    line-height: 1.4;
  }
}
.top_header .header_container p br {
  display: block !important;
}
.top_header .header_container.loaded p {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

section.top_section .section_container {
  width: 80%;
  padding-top: 20px;
  margin-top: -20px;
  margin-inline: auto;
}
@media screen and (min-width: 600px) {
  section.top_section .section_container {
    width: 65%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section .section_container {
    width: 55%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section .section_container {
    width: 95%;
    max-width: 1050px;
    padding-top: 40px;
    margin-top: -40px;
  }
}

h2.common_h2 {
  font-size: 4.8vw;
  font-weight: bold;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  padding: 0.3em 0.7em;
  border-right: 1px solid #082F56;
  border-left: 1px solid #082F56;
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (min-width: 600px) {
  h2.common_h2 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  h2.common_h2 {
    font-size: 2.7vw;
  }
}
@media screen and (min-width: 1025px) {
  h2.common_h2 {
    font-size: 24px;
  }
}
.section_container.show h2.common_h2 {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

section.top_section.section01 {
  padding: 10% 0 15%;
}
@media screen and (min-width: 600px) {
  section.top_section.section01 {
    padding: 7% 0 10%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section01 {
    padding: 5% 0 7%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section01 {
    padding: 50px 0 70px;
  }
}
section.top_section.section01 .section_container h2.common_h2 {
  margin: 0 auto 2em;
}

@media screen and (min-width: 1025px) {
  ul.top_section01--ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 0 30px;
  }
}
ul.top_section01--ul li {
  font-size: 4.3vw;
  list-style: none;
  opacity: 0;
  -webkit-transform: translate(0, 30px);
          transform: translate(0, 30px);
}
@media screen and (min-width: 600px) {
  ul.top_section01--ul li {
    font-size: 2.9vw;
  }
}
@media screen and (min-width: 768px) {
  ul.top_section01--ul li {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 1025px) {
  ul.top_section01--ul li {
    font-size: 22px;
  }
}
ul.top_section01--ul li:first-of-type {
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
ul.top_section01--ul li:nth-of-type(2) {
  -webkit-transition: all 0.5s 0.3s;
  transition: all 0.5s 0.3s;
}
ul.top_section01--ul li:nth-of-type(3) {
  -webkit-transition: all 0.5s 0.6s;
  transition: all 0.5s 0.6s;
}
ul.top_section01--ul li:not(:last-of-type) {
  margin-bottom: 3.5em;
}
@media screen and (min-width: 1025px) {
  ul.top_section01--ul li:not(:last-of-type) {
    margin: 0;
  }
}
ul.top_section01--ul li .img {
  width: 77%;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 1.5em;
}
@media screen and (min-width: 1025px) {
  ul.top_section01--ul li .img {
    width: 100%;
    margin: 0 auto 1.2em;
  }
}
ul.top_section01--ul li h3 {
  color: #082F56;
  font-size: inherit;
  font-weight: bold;
  line-height: 1.6;
  padding-left: 1.2em;
  margin-bottom: 1em;
  position: relative;
}
@media screen and (min-width: 1025px) {
  ul.top_section01--ul li h3 {
    line-height: 1.4;
  }
}
ul.top_section01--ul li h3 span {
  line-height: 1.6;
  position: absolute;
  left: 0;
  top: 0;
}
ul.top_section01--ul li h3 br {
  display: block !important;
}
ul.top_section01--ul li h3 br.br_pc {
  display: none !important;
}
@media screen and (min-width: 1025px) {
  ul.top_section01--ul li h3 br.br_pc {
    display: block !important;
  }
}
ul.top_section01--ul li p {
  font-size: 0.8em;
  line-height: 1.8;
}
ul.top_section01--ul.show li {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

section.top_section.section02 {
  padding: 10% 0;
  background-color: #ECECEC;
}
@media screen and (min-width: 600px) {
  section.top_section.section02 {
    padding: 7% 0;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section02 {
    padding: 5% 0;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section02 {
    padding: 50px 0;
  }
}
section.top_section.section02 .section_container h2.common_h2 {
  margin: 0 auto 3em;
}
@media screen and (min-width: 1025px) {
  section.top_section.section02 .section_container h2.common_h2 {
    margin: 0 auto 2.5em;
  }
}

ul.top_section02--ul li {
  font-size: 4vw;
  list-style: none;
}
@media screen and (min-width: 600px) {
  ul.top_section02--ul li {
    font-size: 2.9vw;
  }
}
@media screen and (min-width: 768px) {
  ul.top_section02--ul li {
    font-size: 2.6vw;
  }
}
@media screen and (min-width: 1025px) {
  ul.top_section02--ul li {
    font-size: 24px;
    display: grid;
    grid-template: auto 1fr/1fr 1.05fr;
    gap: 0 55px;
  }
}
ul.top_section02--ul li:not(:last-of-type) {
  margin-bottom: 3em;
}
ul.top_section02--ul li .img {
  margin: 0 auto 1em;
  opacity: 0;
  -webkit-transform: translate(-30px, 0);
          transform: translate(-30px, 0);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (min-width: 1025px) {
  ul.top_section02--ul li .img {
    grid-row: span 2;
  }
}
ul.top_section02--ul li h3 {
  text-align: center;
  color: #fff;
  font-size: inherit;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  min-width: 9em;
  padding: 0.6em 1em;
  margin-bottom: 1em;
  background-color: #082F56;
  opacity: 0;
  -webkit-transform: translate(30px, 0);
          transform: translate(30px, 0);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
ul.top_section02--ul li .text_box {
  opacity: 0;
  -webkit-transform: translate(30px, 0);
          transform: translate(30px, 0);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
ul.top_section02--ul li .text_box p {
  font-size: 0.8em;
  line-height: 1.8;
}
@media screen and (min-width: 600px) {
  ul.top_section02--ul li .text_box p {
    font-size: 0.73em;
  }
}
@media screen and (min-width: 768px) {
  ul.top_section02--ul li .text_box p {
    font-size: 0.67em;
  }
}
@media screen and (min-width: 1025px) {
  ul.top_section02--ul li .text_box p {
    line-height: 2;
  }
}
ul.top_section02--ul li.show .img {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
ul.top_section02--ul li.show h3 {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
ul.top_section02--ul li.show .text_box {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

section.top_section.section03 {
  padding: 12% 0 15%;
}
@media screen and (min-width: 600px) {
  section.top_section.section03 {
    padding: 8% 0 10%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section03 {
    padding: 6% 0 8%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section03 {
    padding: 70px 0 100px;
  }
}
section.top_section.section03 .section_container {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 0 7%;
}
@media screen and (min-width: 600px) {
  section.top_section.section03 .section_container {
    gap: 0 10%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section03 .section_container {
    gap: 0 13%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section03 .section_container {
    grid-template-columns: auto 78%;
    gap: 0 35px;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section03 .section_container h2.common_h2 {
    justify-self: center;
  }
}
section.top_section.section03 .section_container .map_box {
  line-height: 0;
  grid-column: span 2;
  aspect-ratio: 1.9/1;
}
@media screen and (min-width: 1025px) {
  section.top_section.section03 .section_container .map_box {
    aspect-ratio: 3.5/1;
  }
}
section.top_section.section03 .section_container .map_box iframe {
  width: 100%;
  height: 100%;
}

dl.top_section03--dl {
  font-size: 3.5vw;
  margin-bottom: 3em;
  opacity: 0;
  -webkit-transform: translate(30px, 0);
          transform: translate(30px, 0);
  -webkit-transition: all 0.5s 0.5s;
  transition: all 0.5s 0.5s;
}
.section_container.show dl.top_section03--dl {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
@media screen and (min-width: 600px) {
  dl.top_section03--dl {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 768px) {
  dl.top_section03--dl {
    font-size: 1.8vw;
  }
}
@media screen and (min-width: 1025px) {
  dl.top_section03--dl {
    font-size: 16px;
    margin-bottom: 4em;
    display: grid;
    grid-template-columns: auto auto;
  }
}
dl.top_section03--dl dt {
  font-weight: bold;
  line-height: 1.6;
  padding-bottom: 0.6em;
  margin-bottom: 1.2em;
  border-bottom: 1px solid #DDD;
}
@media screen and (min-width: 1025px) {
  dl.top_section03--dl dt {
    padding: 0 1.2em 0 5em;
    margin: 0;
  }
}
@media screen and (min-width: 1025px) {
  dl.top_section03--dl dt:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
}
dl.top_section03--dl dd {
  font-size: 0.95em;
  line-height: 1.6;
}
@media screen and (min-width: 1025px) {
  dl.top_section03--dl dd {
    font-size: 1em;
    padding: 0 0 1.2em;
    border-bottom: 1px solid #DDD;
  }
}
dl.top_section03--dl dd:not(:last-of-type) {
  margin-bottom: 2.2em;
}
@media screen and (min-width: 1025px) {
  dl.top_section03--dl dd:not(:last-of-type) {
    margin-bottom: 1.2em;
  }
}
dl.top_section03--dl dd ul {
  margin-bottom: 1em;
}
dl.top_section03--dl dd ul li {
  line-height: 1.6;
  list-style: none;
}
dl.top_section03--dl dd br {
  display: block !important;
}

section.top_section.section04 {
  padding: 0 0 15%;
}
@media screen and (min-width: 600px) {
  section.top_section.section04 {
    padding: 0 0 10%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section04 {
    padding: 0 0 8%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section04 {
    padding: 0 0 100px;
  }
}
section.top_section.section04 .section_container {
  display: grid;
  grid-template-columns: auto 1fr;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  gap: 0 7%;
}
@media screen and (min-width: 600px) {
  section.top_section.section04 .section_container {
    gap: 0 10%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section04 .section_container {
    gap: 0 13%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section04 .section_container {
    grid-template-columns: auto 78%;
    gap: 0 35px;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section04 .section_container h2.common_h2 {
    justify-self: center;
  }
}

ul.top_section04--ul {
  font-size: 3.2vw;
  opacity: 0;
  -webkit-transform: translate(30px, 0);
          transform: translate(30px, 0);
  -webkit-transition: all 0.5s 0.5s;
  transition: all 0.5s 0.5s;
}
@media screen and (min-width: 600px) {
  ul.top_section04--ul {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 768px) {
  ul.top_section04--ul {
    font-size: 1.9vw;
  }
}
@media screen and (min-width: 1025px) {
  ul.top_section04--ul {
    font-size: 18px;
  }
}
.section_container.show ul.top_section04--ul {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}
ul.top_section04--ul li {
  padding: 3em 2.4em;
  border: 1px solid #082F56;
  border-radius: 5px;
  list-style: none;
}
@media screen and (min-width: 1025px) {
  ul.top_section04--ul li {
    padding: 2.5em 3.5em;
    display: grid;
    grid-template-columns: 1fr auto;
  }
}
ul.top_section04--ul li:not(:last-of-type) {
  margin-bottom: 2em;
}
ul.top_section04--ul li h3 {
  color: #082F56;
  font-size: 1.34em;
  font-weight: bold;
  letter-spacing: 0.15em;
  margin-bottom: 1em;
}
@media screen and (min-width: 1025px) {
  ul.top_section04--ul li h3 {
    margin-bottom: 0.7em;
  }
}
ul.top_section04--ul li .tag_box {
  margin-bottom: 5em;
}
@media screen and (min-width: 1025px) {
  ul.top_section04--ul li .tag_box {
    margin: 0;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}
ul.top_section04--ul li .common_button {
  font-size: 3.5vw;
  width: 13.2em;
  background-color: #9A0303;
  position: relative;
}
@media screen and (min-width: 600px) {
  ul.top_section04--ul li .common_button {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 768px) {
  ul.top_section04--ul li .common_button {
    font-size: 1.7vw;
  }
}
@media screen and (min-width: 1025px) {
  ul.top_section04--ul li .common_button {
    font-size: 15px;
    width: 18.5em;
    grid-row: span 2;
    align-self: center;
  }
}
ul.top_section04--ul li .common_button:hover {
  opacity: 0.7;
}
ul.top_section04--ul li .common_button::before {
  content: "";
  width: 2.3em;
  height: 1px;
  background-color: #fff;
  position: absolute;
  right: 1.2em;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
ul.top_section04--ul li .common_button::after {
  content: "";
  width: 0.6em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  right: 1.2em;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  aspect-ratio: 1;
}
ul.top_section04--ul li .common_button a {
  text-align: left;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 1.4em 1.2em;
  display: block;
  position: relative;
  z-index: 1;
}

section.top_section.section_contact {
  padding: 0 0 15%;
}
@media screen and (min-width: 600px) {
  section.top_section.section_contact {
    padding: 0 0 12%;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section_contact {
    padding: 0 0 9%;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section_contact {
    padding: 0 0 80px;
  }
}
section.top_section.section_contact .section_container {
  padding-top: 70px;
  margin-top: -70px;
}
@media screen and (min-width: 1025px) {
  section.top_section.section_contact .section_container {
    max-width: 800px;
    padding-top: 100px;
    margin-top: -100px;
  }
}
section.top_section.section_contact .section_container h2.common_h2 {
  margin: 0 auto 2em;
}
@media screen and (min-width: 1025px) {
  section.top_section.section_contact .section_container h2.common_h2 {
    margin: 0 auto 2.5em;
  }
}
section.top_section.section_contact .section_container .privacy_box {
  font-size: 3.2vw;
  padding: 2.5em 2em;
  margin-bottom: 4em;
  background-color: #ECECEC;
  border-radius: 5px;
}
@media screen and (min-width: 600px) {
  section.top_section.section_contact .section_container .privacy_box {
    font-size: 2.1vw;
  }
}
@media screen and (min-width: 768px) {
  section.top_section.section_contact .section_container .privacy_box {
    font-size: 1.8vw;
  }
}
@media screen and (min-width: 1025px) {
  section.top_section.section_contact .section_container .privacy_box {
    font-size: 16px;
    padding: 2.5em 3em;
  }
}
section.top_section.section_contact .section_container .privacy_box h3 {
  color: #082F56;
  font-size: 1.42em;
  margin-bottom: 1.2em;
}
@media screen and (min-width: 1025px) {
  section.top_section.section_contact .section_container .privacy_box h3 {
    font-size: 1.5em;
    margin-bottom: 0.6em;
  }
}
section.top_section.section_contact .section_container .privacy_box p {
  line-height: 1.8;
}
section.top_section.section_contact .section_container .privacy_box p.space {
  margin-bottom: 1.5em;
}

.form_box dl.form_dl {
  font-size: 3.8vw;
  margin-bottom: 4em;
}
@media screen and (min-width: 600px) {
  .form_box dl.form_dl {
    font-size: 2.4vw;
  }
}
@media screen and (min-width: 768px) {
  .form_box dl.form_dl {
    font-size: 1.9vw;
  }
}
@media screen and (min-width: 1025px) {
  .form_box dl.form_dl {
    font-size: 16px;
  }
}
.form_box dl.form_dl dt {
  margin-bottom: 1em;
}
.form_box dl.form_dl dt.must {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.form_box dl.form_dl dt.must::after {
  content: "*";
  color: #FF4646;
  margin-left: 0.3em;
}
.form_box dl.form_dl dt p {
  font-weight: bold;
}
.form_box dl.form_dl dd.radio {
  margin-top: 1.2em;
}
@media screen and (min-width: 1025px) {
  .form_box dl.form_dl dd.radio {
    margin-top: 1.5em;
  }
}
.form_box dl.form_dl dd:not(:last-of-type) {
  margin-bottom: 2em;
}
@media screen and (min-width: 1025px) {
  .form_box dl.form_dl dd:not(:last-of-type) {
    margin-bottom: 3em;
  }
}
.form_box dl.form_dl dd input, .form_box dl.form_dl dd textarea {
  border-radius: 5px;
}
.form_box .form_button {
  font-size: 3.5vw;
  width: 13.2em;
  margin-inline: auto;
  background-color: #9A0303;
  position: relative;
}
@media screen and (min-width: 600px) {
  .form_box .form_button {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 768px) {
  .form_box .form_button {
    font-size: 1.7vw;
  }
}
@media screen and (min-width: 1025px) {
  .form_box .form_button {
    font-size: 15px;
    width: 18.5em;
  }
}
.form_box .form_button:hover {
  opacity: 0.7;
}
.form_box .form_button::before {
  content: "";
  width: 2.3em;
  height: 1px;
  background-color: #fff;
  position: absolute;
  right: 1.2em;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.form_box .form_button::after {
  content: "";
  width: 0.6em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  right: 1.2em;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  aspect-ratio: 1;
}
.form_box .form_button input {
  text-align: left;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  width: 100%;
  padding: 1.4em 1.2em;
  background: none;
  position: relative;
  z-index: 1;
}
.form_box .form_button span.wpcf7-spinner {
  margin: 0;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -25px);
          transform: translate(-50%, -25px);
}

.page_body .page_title {
  padding: 10% 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 600px) {
  .page_body .page_title {
    padding: 6% 0;
  }
}
@media screen and (min-width: 768px) {
  .page_body .page_title {
    padding: 4% 0;
  }
}
@media screen and (min-width: 1025px) {
  .page_body .page_title {
    padding: 40px 0;
  }
}
.page_body .page_container {
  background-color: #ECECEC;
  position: relative;
}
.page_body .page_container::before {
  content: "";
  width: 10%;
  background-color: #fff;
  border-radius: 5px 0;
  position: absolute;
  left: 50%;
  top: 0;
  -webkit-transform: translate(-50%, -50%) rotate(45deg) skew(10deg, 10deg);
          transform: translate(-50%, -50%) rotate(45deg) skew(10deg, 10deg);
  aspect-ratio: 1;
}
@media screen and (min-width: 600px) {
  .page_body .page_container::before {
    width: 8%;
  }
}
@media screen and (min-width: 768px) {
  .page_body .page_container::before {
    width: 6%;
  }
}
@media screen and (min-width: 1025px) {
  .page_body .page_container::before {
    width: 55px;
    -webkit-transform: translate(-50%, -50%) rotate(45deg) skew(5deg, 5deg);
            transform: translate(-50%, -50%) rotate(45deg) skew(5deg, 5deg);
  }
}

h1.page_title--h1 {
  font-size: 4.8vw;
  font-weight: bold;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  line-height: 1;
  padding: 0.3em 0.7em;
  border-right: 1px solid #082F56;
  border-left: 1px solid #082F56;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (min-width: 600px) {
  h1.page_title--h1 {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 768px) {
  h1.page_title--h1 {
    font-size: 2.7vw;
  }
}
@media screen and (min-width: 1025px) {
  h1.page_title--h1 {
    font-size: 24px;
  }
}

.container.single-staff .row {
  margin: 0;
}

.page_body.single_staff .page_container {
  padding: 15% 0 10%;
}
@media screen and (min-width: 600px) {
  .page_body.single_staff .page_container {
    padding: 12% 0 8%;
  }
}
@media screen and (min-width: 768px) {
  .page_body.single_staff .page_container {
    padding: 9% 0 8%;
  }
}
@media screen and (min-width: 1025px) {
  .page_body.single_staff .page_container {
    padding: 80px 0 90px;
  }
}

.single_staff--contents {
  width: 90%;
  padding: 10% 5%;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 5px;
}
@media screen and (min-width: 600px) {
  .single_staff--contents {
    padding: 7% 5%;
  }
}
@media screen and (min-width: 768px) {
  .single_staff--contents {
    padding: 3% 5% 5%;
  }
}
@media screen and (min-width: 1025px) {
  .single_staff--contents {
    max-width: 1000px;
    padding: 30px 60px 50px;
  }
}
.single_staff--contents .staff_button {
  font-size: 3.5vw;
  width: 13.5em;
  margin-inline: auto;
  background-color: #9A0303;
  position: relative;
}
@media screen and (min-width: 600px) {
  .single_staff--contents .staff_button {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 768px) {
  .single_staff--contents .staff_button {
    font-size: 1.7vw;
  }
}
@media screen and (min-width: 1025px) {
  .single_staff--contents .staff_button {
    font-size: 15px;
    width: 18.5em;
    grid-row: span 2;
    align-self: center;
  }
}
.single_staff--contents .staff_button:hover {
  opacity: 0.7;
}
.single_staff--contents .staff_button::before {
  content: "";
  width: 2.3em;
  height: 1px;
  background-color: #fff;
  position: absolute;
  right: 1.2em;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
}
.single_staff--contents .staff_button::after {
  content: "";
  width: 0.6em;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  right: 1.2em;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
  aspect-ratio: 1;
}
.single_staff--contents .staff_button a {
  text-align: left;
  color: #fff;
  letter-spacing: 0.1em;
  line-height: 1;
  padding: 1.4em 1.2em;
  display: block;
  position: relative;
  z-index: 1;
}

article.single_staff--article {
  margin-bottom: 10%;
}
@media screen and (min-width: 600px) {
  article.single_staff--article {
    margin-bottom: 7%;
  }
}
@media screen and (min-width: 768px) {
  article.single_staff--article {
    margin-bottom: 6%;
  }
}

dl.single_staff--dl {
  font-size: 3.2vw;
  border-top: 1px solid #082F56;
}
@media screen and (min-width: 600px) {
  dl.single_staff--dl {
    font-size: 2vw;
  }
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl {
    font-size: 1.7vw;
    border: none;
    display: grid;
    grid-template-columns: 1fr 2.5fr;
  }
}
@media screen and (min-width: 1025px) {
  dl.single_staff--dl {
    font-size: 16px;
  }
}
dl.single_staff--dl dt, dl.single_staff--dl dd {
  padding: 1em;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dt, dl.single_staff--dl dd {
    padding: 1em 2em;
  }
}
@media screen and (min-width: 1025px) {
  dl.single_staff--dl dt, dl.single_staff--dl dd {
    padding: 1em 3em;
  }
}
dl.single_staff--dl dt {
  font-size: 1.1em;
  font-weight: bold;
  line-height: 1.6;
  border-bottom: 1px solid #DDD;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dt {
    font-size: 1em;
    border-bottom: none;
  }
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dt:not(:last-of-type) {
    border-bottom: 1px solid #082F56;
  }
}
dl.single_staff--dl dd:not(:last-of-type) {
  border-bottom: 1px solid #082F56;
}
@media screen and (min-width: 768px) {
  dl.single_staff--dl dd:not(:last-of-type) {
    border-bottom: 1px solid #DDD;
  }
}
dl.single_staff--dl dd p {
  line-height: 1.6;
}
dl.single_staff--dl dd p:not(:last-of-type) {
  margin-bottom: 1em;
}
dl.single_staff--dl dd p br {
  display: block !important;
}

.page_body.page_entry .page_container {
  padding: 18% 0 12%;
}
@media screen and (min-width: 600px) {
  .page_body.page_entry .page_container {
    padding: 10% 0 8%;
  }
}
@media screen and (min-width: 768px) {
  .page_body.page_entry .page_container {
    padding: 7% 0;
  }
}
@media screen and (min-width: 1025px) {
  .page_body.page_entry .page_container {
    padding: 60px 0;
  }
}
.page_body.page_entry .page_container .text_box {
  text-align: center;
  font-size: 3.2vw;
  margin-bottom: 2em;
}
@media screen and (min-width: 600px) {
  .page_body.page_entry .page_container .text_box {
    font-size: 2.2vw;
  }
}
@media screen and (min-width: 768px) {
  .page_body.page_entry .page_container .text_box {
    font-size: 1.9vw;
  }
}
@media screen and (min-width: 1025px) {
  .page_body.page_entry .page_container .text_box {
    font-size: 17px;
  }
}
.page_body.page_entry .page_container .text_box p {
  line-height: 1.8;
}
.page_body.page_entry .page_container .text_box p.title {
  font-weight: bold;
  margin: 2.5em 0 0.5em;
}
@media screen and (min-width: 1025px) {
  .page_body.page_entry .page_container .text_box p.title {
    margin: 2.2em 0 0.5em;
  }
}
.page_body.page_entry .page_container .text_box p.number {
  margin-top: 2em;
}
.page_body.page_entry .page_container .text_box p br {
  display: block !important;
}
@media screen and (min-width: 600px) {
  .page_body.page_entry .page_container .text_box p br {
    display: none !important;
  }
}
.page_body.page_entry .page_container .text_box a {
  color: #082F56;
  font-size: 1.5em;
  font-weight: bold;
  border-bottom: 1px solid #082F56 !important;
}
.page_body.page_entry .page_container .text_box a:hover {
  opacity: 0.7;
}
.page_body.page_entry .page_container .form_box {
  width: 72%;
  margin-inline: auto;
}
@media screen and (min-width: 1025px) {
  .page_body.page_entry .page_container .form_box {
    max-width: 700px;
  }
}

.form_box dl.form_dl.form_entry {
  margin-bottom: 3em;
}
.form_box dl.form_dl.form_entry dd input, .form_box dl.form_dl.form_entry dd textarea {
  background-color: #fff;
}

#topcontrol .to_the_top {
  right: 15px;
  bottom: 55px;
}

footer.footerclass {
  background-color: #082F56;
  padding: 0;
}

.a-2_footer {
  color: #fff;
  padding: 10% 0;
}
@media screen and (min-width: 600px) {
  .a-2_footer {
    width: 95%;
    padding: 8% 0;
    margin-inline: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  .a-2_footer {
    padding: 6% 0;
  }
}
@media screen and (min-width: 1025px) {
  .a-2_footer {
    max-width: 1050px;
    padding: 60px 0;
  }
}
.a-2_footer .address_box {
  font-size: 3.5vw;
  margin-bottom: 3em;
}
@media screen and (min-width: 600px) {
  .a-2_footer .address_box {
    font-size: 2.3vw;
  }
}
@media screen and (min-width: 768px) {
  .a-2_footer .address_box {
    font-size: 1.9vw;
  }
}
@media screen and (min-width: 1025px) {
  .a-2_footer .address_box {
    font-size: 17px;
  }
}
.a-2_footer .address_box p.name {
  text-align: center;
  font-size: 1.83em;
  margin-bottom: 0.8em;
}
@media screen and (min-width: 600px) {
  .a-2_footer .address_box p.name {
    text-align: left;
  }
}
.a-2_footer .address_box p.address {
  line-height: 1.6;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  margin-inline: auto;
}
.a-2_footer .address_box p.address br {
  display: block !important;
}
.a-2_footer .contact_box {
  font-size: 3.2vw;
}
@media screen and (min-width: 600px) {
  .a-2_footer .contact_box {
    font-size: 2.1vw;
  }
}
@media screen and (min-width: 768px) {
  .a-2_footer .contact_box {
    font-size: 1.7vw;
  }
}
@media screen and (min-width: 1025px) {
  .a-2_footer .contact_box {
    font-size: 15px;
  }
}
.a-2_footer .contact_box .contact {
  width: 62%;
  margin-inline: auto;
  display: grid;
  grid-template: auto auto/auto auto;
  -webkit-box-pack: left;
      -ms-flex-pack: left;
          justify-content: left;
  gap: 0 1.5em;
}
@media screen and (min-width: 600px) {
  .a-2_footer .contact_box .contact {
    width: 100%;
  }
}
.a-2_footer .contact_box .contact:first-of-type {
  margin-bottom: 8%;
}
@media screen and (min-width: 1025px) {
  .a-2_footer .contact_box .contact:first-of-type {
    margin-bottom: 10%;
  }
}
.a-2_footer .contact_box .contact i {
  font-size: 2.2em;
  grid-row: span 2;
  -webkit-transform: translate(0, -10%);
          transform: translate(0, -10%);
}
.a-2_footer .contact_box .contact a {
  color: #fff;
  font-size: 1.34em;
}
.a-2_footer .contact_box .contact a:hover {
  opacity: 0.7;
}
.a-2_footer .contact_box .contact .text_box {
  margin-top: 0.8em;
}
.a-2_footer .contact_box .contact .text_box p {
  font-weight: 400;
  line-height: 1.4;
}
.a-2_footer .contact_box .contact .text_box p br {
  display: block !important;
}

.footerbase {
  margin: 0;
}
.footerbase .container {
  max-width: none;
  background-color: #082F56;
}

.footercredits {
  padding-bottom: 15%;
}
@media screen and (min-width: 600px) {
  .footercredits {
    padding-bottom: 10%;
  }
}
@media screen and (min-width: 768px) {
  .footercredits {
    padding-bottom: 8%;
  }
}
@media screen and (min-width: 1025px) {
  .footercredits {
    padding-bottom: 20px;
  }
}
.footercredits p {
  color: #fff;
  font-size: 2.8vw;
}
@media screen and (min-width: 600px) {
  .footercredits p {
    font-size: 1.8vw;
  }
}
@media screen and (min-width: 768px) {
  .footercredits p {
    font-size: 1.4vw;
  }
}
@media screen and (min-width: 1025px) {
  .footercredits p {
    font-size: 11px;
  }
}