.w-layout-blockcontainer {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.w-layout-layout {
  grid-row-gap: 20px;
  grid-column-gap: 20px;
  grid-auto-columns: 1fr;
  justify-content: center;
  padding: 20px;
}

.w-layout-cell {
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

@media screen and (max-width: 991px) {
  .w-layout-blockcontainer {
    max-width: 728px;
  }
}

@media screen and (max-width: 767px) {
  .w-layout-blockcontainer {
    max-width: none;
  }
}

.header {
  object-fit: fill;
  display: block;
}

.navbar-logo-container {
  z-index: 5;
  width: 1030px;
  max-width: 100%;
  background-color: rgba(0, 0, 0, 0);
  margin-left: auto;
  margin-right: auto;
  padding: 15px 20px;
}

.navbar-logo-container.shadow-three {
  width: 1400px;
  position: relative;
}

.container {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.navbar-wrapper {
  background-color: rgba(0, 0, 0, 0);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.nav-menu {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.nav-link {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 3px;
  margin-right: 5px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
}

.nav-link:hover {
  color: rgba(26, 27, 31, .75);
}

.nav-link:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-dropdown {
  margin-left: 5px;
  margin-right: 5px;
}

.nav-dropdown-toggle {
  letter-spacing: .25px;
  padding: 5px 30px 5px 10px;
  font-size: 14px;
  line-height: 20px;
}

.nav-dropdown-toggle:hover {
  color: rgba(26, 27, 31, .75);
}

.nav-dropdown-toggle:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-toggle[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-icon {
  margin-right: 10px;
}

.nav-dropdown-list {
  background-color: #fff;
  border-radius: 12px;
}

.nav-dropdown-list.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-dropdown-link {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}

.nav-dropdown-link:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-link[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-divider {
  width: 1px;
  height: 22px;
  background-color: #e4ebf3;
  margin-left: 15px;
  margin-right: 15px;
}

.nav-link-accent {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 20px;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-accent:hover {
  color: rgba(26, 27, 31, .75);
}

.button-primary {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all .2s;
}

.button-primary:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary:active {
  background-color: #43464d;
}

.image {
  opacity: 1;
  outline-offset: 0px;
  mix-blend-mode: normal;
  outline: 3px #333;
  display: block;
}

.body {
  mix-blend-mode: darken;
}

.body.heroimage {
  font-size: 30%;
}

.heroimage {
  z-index: 0;
  width: 100%;
  opacity: 1;
  object-fit: fill;
}

.headertext {
  z-index: 1;
  color: #fff;
  text-align: center;
  flex-flow: column wrap;
  align-content: center;
  justify-content: flex-start;
  align-items: center;
  font-family: Noto Sans JP, sans-serif;
  display: flex;
  position: fixed;
  top: auto;
  bottom: 0%;
  left: auto;
  right: 0%;
}

.hero_container {
  max-width: 100%;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.paragraph {
  position: relative;
}

.hero-heading-center {
  background-color: #f5f7fa;
  border-bottom: 1px solid #e4ebf3;
  padding: 80px 30px;
  position: relative;
}

.container-2 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.centered-heading {
  text-align: center;
  margin-bottom: 16px;
}

.centered-heading.margin-bottom-32px {
  margin-bottom: 32px;
}

.hero-wrapper {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.hero-split {
  max-width: 46%;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.margin-bottom-24px {
  margin-bottom: 24px;
}

.button-primary-2 {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all .2s;
}

.button-primary-2:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary-2:active {
  background-color: #43464d;
}

.shadow-two {
  box-shadow: 0 4px 24px rgba(150, 163, 181, .08);
}

.heading {
  z-index: 1;
  color: #fff;
  text-align: center;
  justify-content: center;
  align-self: center;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 65px;
  font-weight: 500;
  line-height: 70px;
  position: absolute;
  top: 50%;
  bottom: auto;
  left: 0%;
  right: 0%;
}

.paragraph-shushi {
  width: auto;
  height: auto;
  max-height: none;
  max-width: 65%;
  min-height: 0;
  min-width: auto;
  float: none;
  color: #000;
  text-align: left;
  letter-spacing: 1px;
  text-indent: 0;
  column-count: auto;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  margin-top: 50px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 0;
  padding-left: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 300;
  line-height: 35px;
  display: flex;
  overflow: auto;
}

.column {
  object-fit: fill;
  margin-left: auto;
  margin-right: auto;
  font-size: 20px;
  position: static;
}

.column-2 {
  margin-top: 1px;
  position: static;
}

.category-block {
  max-width: 1280px;
  background-color: #ebebeb;
  margin-top: 61px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
  padding-bottom: 40px;
  display: block;
  position: relative;
  top: 0%;
  bottom: 0%;
  left: auto;
  right: 0%;
}

.category-block._2, .category-block._3 {
  margin-top: 50px;
}

.paragraph-3 {
  font-size: 30px;
}

.paragraph-4 {
  width: 30px;
}

.paragraph_komoku {
  color: #000;
  letter-spacing: 5px;
  justify-content: center;
  padding-top: 12px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 300;
  text-decoration: none;
  display: flex;
}

.image-_komoku {
  width: 400px;
  height: 400px;
  max-width: 100%;
  object-fit: cover;
  object-position: 20% 10%;
  margin-top: 18px;
  padding-top: 0;
  overflow: hidden;
}

.footer_section {
  justify-content: center;
  align-items: center;
  margin-top: 193px;
  display: flex;
}

.footer_logo {
  width: 200px;
  max-width: none;
  margin-right: 40px;
}

.footer_adress {
  max-width: 100%;
  margin-right: 40px;
  font-family: Noto Sans JP, sans-serif;
  font-size: .6vw;
  font-weight: 300;
  line-height: 15px;
}

.section-_rights {
  background-color: #dbdbdb;
}

.paragraph_rights {
  text-align: center;
  background-color: #dbdbdb;
  margin-top: 0;
  padding-top: 10px;
  padding-bottom: 10px;
  font-size: 30%;
}

.top-logo {
  max-width: 120%;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: static;
}

.menu-button {
  width: 60px;
  height: 60px;
}

.icon {
  background-color: rgba(0, 0, 0, 0);
}

.div-block {
  width: 40px;
  height: 2px;
  background-color: #000;
}

.container-3 {
  width: auto;
  max-width: 80%;
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  object-fit: fill;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: block;
  position: static;
}

.navbar {
  width: auto;
  background-color: #fff;
  position: relative;
}

.headed_logo {
  width: 20%;
  margin-left: auto;
  margin-right: auto;
  padding-top: 10px;
}

.footer_nsg {
  font-size: 30%;
}

.menu_style {
  font-family: Noto Sans JP, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 100%;
  position: relative;
  overflow: auto;
}

.image_obi {
  max-height: 200px;
  max-width: 110%;
  min-width: 101%;
  object-fit: fill;
  flex: 0 auto;
  display: block;
  position: static;
  overflow: visible;
}

.header_boarder_section {
  max-height: 200px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.header_logo {
  width: 250px;
  max-width: 80%;
  display: block;
  position: relative;
  top: 14px;
}

.container-4 {
  width: 80%;
  max-width: 1280px;
}

.brand {
  max-height: 80px;
  min-height: 60px;
}

.navbar-2 {
  background-color: #fff;
}

.heading-_komoku {
  color: #fff;
  text-align: center;
  letter-spacing: 30px;
  text-indent: 30px;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 45px;
  font-weight: 400;
  position: absolute;
}

.mark {
  width: 6%;
  max-width: 6%;
  min-width: 6%;
  margin-left: 1002px;
  position: absolute;
}

.section_komoku {
  width: 100.5%;
  height: auto;
  max-width: 100.5%;
  min-width: 100.5%;
  text-align: center;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 60px;
  display: flex;
  position: static;
}

.h2_komoku_name {
  max-width: 80%;
  min-width: 80%;
  float: none;
  direction: ltr;
  color: #000;
  text-align: center;
  background-color: #cfcfcf;
  border-radius: 8px;
  margin-top: 0;
  font-family: Noto Sans JP, sans-serif;
  font-size: 30px;
  font-weight: 300;
  line-height: 60px;
  position: relative;
  overflow: auto;
}

.link_kyoiku {
  color: #000;
  font-family: Noto Sans JP, sans-serif;
  font-weight: 300;
  text-decoration: none;
}

.nav-link-2 {
  font-size: 18px;
}

.gakuseisu-embed {
  width: 1000px;
  height: 600px;
  max-height: 600px;
  min-height: 300px;
  min-width: 320px;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: flex-end;
  margin-bottom: 200px;
  margin-left: 0;
  margin-right: 0;
  display: block;
}

.div-block_tableau {
  border: 1px #000;
  border-radius: 0;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  display: flex;
}

.paragraph_ichiduke {
  max-width: 70%;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 300;
  line-height: 30px;
}

.section {
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.paragraph-5 {
  justify-content: center;
  align-items: center;
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
  font-weight: 300;
  display: flex;
}

.section-2 {
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  display: flex;
}

.link {
  color: #000;
  text-align: center;
  border: 1px #000;
  border-radius: 6px;
  flex: 1;
  order: 0;
  justify-content: center;
  align-self: auto;
  align-items: center;
  margin-left: auto;
  font-family: Noto Sans JP, sans-serif;
  font-size: 14px;
  font-style: normal;
  text-decoration: none;
  display: flex;
}

.section-3 {
  height: 100px;
  object-fit: fill;
  padding-top: 20px;
  padding-left: 0;
}

.quick-stack {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  margin-left: 150px;
  margin-right: 150px;
  padding-top: 20px;
  padding-left: 0;
  padding-right: 0;
  position: static;
}

.cell {
  flex-direction: row;
  justify-content: space-around;
  align-items: center;
}

.container-5 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-left: auto;
  margin-right: auto;
  display: inline;
}

.link_kyoshokuin, .link_kenkyu {
  text-decoration: none;
}

.cell-2 {
  text-align: center;
  flex-direction: row;
  align-items: center;
}

.cell-3 {
  text-align: center;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.cell-4 {
  text-align: center;
  flex-direction: row;
}

.cell-5 {
  flex-direction: row;
  justify-content: center;
}

.link-block, .link-block-2, .link-block-3 {
  text-decoration: none;
}

.navbar-logo-center-container {
  z-index: 5;
  width: 1030px;
  max-width: 100%;
  background-color: rgba(0, 0, 0, 0);
  margin-left: auto;
  margin-right: auto;
  padding: 20px;
}

.navbar-logo-center-container.shadow-three {
  width: 100%;
  max-width: 1140px;
}

.container-6 {
  width: 100%;
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.navbar-wrapper-three {
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.navbar-brand-three {
  z-index: 5;
  position: absolute;
}

.nav-menu-wrapper-three {
  width: 100%;
}

.nav-menu-three {
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.nav-menu-block {
  justify-content: center;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.nav-link-3 {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 5px;
  padding: 5px 10px;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-3:hover {
  color: rgba(26, 27, 31, .75);
}

.nav-link-3:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-link-3[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 4px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-2 {
  margin-left: 5px;
  margin-right: 5px;
}

.nav-dropdown-toggle-2 {
  letter-spacing: .25px;
  padding: 5px 30px 5px 10px;
  font-size: 14px;
  line-height: 20px;
}

.nav-dropdown-toggle-2:hover {
  color: rgba(26, 27, 31, .75);
}

.nav-dropdown-toggle-2:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-toggle-2[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-icon-2 {
  margin-right: 10px;
}

.nav-dropdown-list-2 {
  background-color: #fff;
  border-radius: 12px;
}

.nav-dropdown-list-2.w--open {
  padding-top: 10px;
  padding-bottom: 10px;
}

.nav-dropdown-link-2 {
  padding-top: 5px;
  padding-bottom: 5px;
  font-size: 14px;
}

.nav-dropdown-link-2:focus-visible {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-dropdown-link-2[data-wf-focus-visible] {
  outline-offset: 0px;
  color: #0050bd;
  border-radius: 5px;
  outline: 2px solid #0050bd;
}

.nav-link-accent-2 {
  color: #1a1b1f;
  letter-spacing: .25px;
  margin-left: 5px;
  margin-right: 20px;
  padding: 5px 10px;
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  text-decoration: none;
}

.nav-link-accent-2:hover {
  color: rgba(26, 27, 31, .75);
}

.button-primary-3 {
  color: #fff;
  letter-spacing: 2px;
  text-transform: uppercase;
  background-color: #1a1b1f;
  padding: 12px 25px;
  font-size: 12px;
  line-height: 20px;
  transition: all .2s;
}

.button-primary-3:hover {
  color: #fff;
  background-color: #32343a;
}

.button-primary-3:active {
  background-color: #43464d;
}

.section-4 {
  height: 35px;
  background-color: #000;
}

.body-2 {
  height: 1233px;
  margin-left: 0;
  font-size: 16px;
}

.image-2 {
  color: #fff;
}

.div-block-2 {
  width: 160px;
  height: auto;
  margin-left: 119px;
}

.image-3 {
  width: auto;
  height: 25px;
  margin-top: 8px;
  margin-left: 160%;
  display: inline-block;
}

.section-5 {
  background-color: #e6e6e6;
  justify-content: center;
  align-items: center;
  display: flex;
  position: relative;
}

.paragraph-6 {
  font-family: Noto Sans JP, sans-serif;
  font-size: 20px;
}

.div-block-3 {
  width: 220px;
  height: 50px;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  margin-top: 0;
  margin-left: 0%;
  padding-top: 5px;
  display: flex;
  position: relative;
  left: -2%;
}

.section-6 {
  margin-top: 34px;
}

.paragraph-7 {
  margin-top: 64px;
  margin-left: 251px;
  padding-top: 30px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 25px;
  font-weight: 600;
}

.kaizen {
  width: 900px;
  text-align: left;
  text-indent: -30px;
  flex-direction: column;
  flex: 1;
  justify-content: center;
  align-self: auto;
  align-items: flex-start;
  margin: 15px 0 5px;
  padding-bottom: 0;
  padding-left: 35px;
  font-family: Noto Sans JP, sans-serif;
  line-height: 30px;
  display: flex;
}

.text-block {
  color: #000;
  font-family: Noto Sans JP, sans-serif;
}

.link-block-4 {
  justify-content: flex-end;
  margin-left: 0;
  margin-right: 18%;
  text-decoration: none;
  display: flex;
}

.section-7 {
  justify-content: flex-end;
  align-items: center;
  margin-top: 100px;
  display: flex;
}

.text-span {
  color: #333;
  position: absolute;
}

.text-block-2 {
  border: 1px solid #000;
  border-radius: 20px;
  flex: 0 auto;
  justify-content: flex-end;
  align-self: center;
  padding: 10px;
  font-family: Noto Sans JP, sans-serif;
  font-size: 18px;
  font-weight: 400;
  display: block;
  position: relative;
}

.link-block-5 {
  color: #333;
  text-align: left;
  flex-direction: row;
  flex: 0 auto;
  justify-content: center;
  align-self: auto;
  align-items: center;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
  font-family: Noto Sans JP, sans-serif;
  text-decoration: none;
  display: flex;
  position: static;
  top: 0%;
  bottom: 0%;
  left: 1239px;
  right: -20px;
}

.section-8 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.section-9 {
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-left: 0;
  padding-left: 0;
  line-height: 20px;
  display: flex;
}

.section-10 {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  flex-direction: row;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: flex-end;
  align-items: center;
  margin-top: 39px;
  margin-right: 18%;
  padding-left: 0;
  display: flex;
  position: static;
}

.gaiyokatsudo {
  width: 900px;
  margin: 10px 0 10px -32px;
  font-family: Noto Sans JP, sans-serif;
  line-height: 30px;
}

.nav-link-4, .nav-link-5, .nav-link-6, .nav-link-7, .nav-link-8, .nav-link-9 {
  font-weight: 300;
}

.gaiyobun {
  width: 900px;
  margin-top: 10px;
  font-family: Noto Sans JP, sans-serif;
  line-height: 30px;
}

.link-block-7 {
  margin-left: 478px;
}

.section-11 {
  min-height: 10px;
}

.image-6 {
  width: 170px;
}

.link-block-8 {
  justify-content: flex-end;
  margin-top: 98px;
  margin-right: 72px;
  display: flex;
}

.section-12 {
  justify-content: flex-end;
  margin-top: 92px;
  margin-right: 129px;
  display: flex;
}

.section-13 {
  justify-content: flex-end;
  margin-top: 87px;
  margin-right: 0;
  display: flex;
}

.image-8 {
  max-width: 80%;
}

.link-block-10 {
  margin-right: 120px;
}

.nyushijyokyo {
  width: 1000px;
  height: 600px;
  max-height: 600px;
  min-height: 300px;
  min-width: 500px;
  margin-bottom: 0;
}

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

.section_chart.nyushi {
  margin-bottom: 10em;
}

.section_chart.nyushi_box {
  margin-bottom: 15%;
}

.paragraph-8 {
  margin-top: 0;
  margin-left: 0;
  padding-left: 26.4em;
  font-family: Noto Sans JP, sans-serif;
  font-size: 8px;
  font-weight: 300;
  line-height: 18px;
}

.section-14 {
  margin-top: 0;
}

.shiken {
  width: 1000px;
  height: 800px;
  max-height: 800px;
  min-height: 300px;
  min-width: 320px;
  margin-bottom: 200px;
}

.cell-6, .cell-7, .cell-8, .cell-9, .cell-10, .cell-11, .cell-12, .cell-13, .cell-14, .cell-15, .cell-16 {
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.section-16 {
  height: 14em;
}

.sukima {
  height: 200px;
  min-height: 200px;
  object-fit: none;
}

.nav-link-17 {
  font-weight: 300;
}

.link-2, .link-3 {
  color: #333;
  text-decoration: none;
}

.cell-17 {
  color: #333;
  flex-direction: row;
  justify-content: center;
  font-family: Noto Sans JP, sans-serif;
}

.cell-18 {
  color: #333;
  flex-direction: row;
  justify-content: center;
  font-family: Noto Sans JP, sans-serif;
  text-decoration: none;
}

@media screen and (min-width: 1440px) {
  .paragraph-shushi {
    font-size: 18px;
  }

  .footer_adress {
    font-size: .6vw;
    font-weight: 300;
    line-height: 15px;
  }

  .navbar-2 {
    position: static;
  }

  .gakuseisu-embed {
    min-height: 300px;
    min-width: 320px;
    flex-flow: row;
    align-items: center;
    display: block;
  }

  .div-block_tableau {
    flex-direction: row;
  }

  .image-3 {
    margin-left: 10%;
  }

  .section-5 {
    justify-content: flex-start;
    align-items: center;
    display: flex;
  }

  .div-block-3 {
    margin-left: 30%;
  }

  .section-6 {
    width: 900px;
    text-align: left;
    justify-content: flex-start;
    align-items: center;
    margin-top: 0;
    margin-left: 0%;
    display: flex;
    position: relative;
    left: 28%;
  }

  .paragraph-7 {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin-left: 0;
    display: flex;
    position: relative;
  }

  .kaizen {
    width: 860px;
    direction: ltr;
    text-align: left;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-top: 10px;
    margin-bottom: 10px;
    padding-left: 0;
    font-style: normal;
    font-weight: 400;
    text-decoration: none;
    position: relative;
    left: 65px;
  }

  .link-block-4 {
    margin-right: 34%;
  }

  .section-7 {
    margin-right: -232px;
  }

  .section-8 {
    width: 900px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    position: relative;
    left: 28%;
  }

  .section-9 {
    width: 900px;
    text-align: left;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: -1%;
    padding-left: 0;
    display: flex;
    position: relative;
    left: 27%;
  }

  .gaiyokatsudo {
    width: 1200px;
    text-indent: 0;
    margin-top: 10px;
    margin-bottom: 10px;
    margin-left: -33px;
    padding-left: 0;
    position: relative;
    left: auto;
  }

  .nav-link-4, .nav-link-5, .nav-link-6, .nav-link-7, .nav-link-8, .nav-link-9 {
    font-weight: 300;
  }

  .gaiyobun {
    margin-top: 10px;
    font-family: Noto Sans JP, sans-serif;
    line-height: 30px;
  }

  .link-block-6 {
    width: 200px;
    flex-direction: row;
    align-items: center;
    margin-left: 27%;
    display: flex;
  }

  .link-block-7 {
    justify-content: center;
    align-items: center;
    margin-left: 20%;
    margin-right: 0%;
    display: flex;
  }

  .section-11 {
    height: auto;
    min-height: 10px;
    line-height: 10px;
  }

  .image-6 {
    width: 170px;
    max-width: none;
  }

  .link-block-8 {
    justify-content: flex-end;
    align-items: center;
    margin-top: 115px;
    margin-right: 11%;
    display: flex;
  }

  .link-block-9 {
    justify-content: flex-end;
    margin-top: 46px;
    margin-right: 64px;
    display: flex;
  }

  .section-13 {
    justify-content: flex-end;
    margin-top: 94px;
    margin-right: 0;
    display: flex;
  }

  .link-block-10 {
    margin-right: 130px;
  }

  .nyushijyokyo {
    width: 1000px;
    height: 600px;
    min-height: 300px;
    min-width: 320px;
    flex-direction: row;
    flex: 0 auto;
    justify-content: center;
    display: block;
  }

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

  .section_chart.nyushi {
    margin-bottom: 1em;
  }

  .section_chart.nyushi_box {
    margin-bottom: 10%;
  }

  .paragraph-8 {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    margin-left: 15%;
    padding-left: 0%;
    font-family: Noto Sans JP, sans-serif;
    font-weight: 300;
    display: flex;
  }

  .section-14 {
    margin-top: 0;
  }

  .section-15 {
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    display: flex;
  }

  .cell-7, .cell-8, .cell-9, .cell-10, .cell-11, .cell-12, .cell-13, .cell-14, .cell-15, .cell-16 {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .sukima {
    height: 200px;
    min-height: 200px;
    object-fit: none;
  }

  .nav-link-hum.w--current {
    color: #333;
    text-decoration: none;
  }

  .nav-link-17 {
    font-weight: 300;
  }

  .link-2, .link-3 {
    color: #333;
    font-family: Noto Sans JP, sans-serif;
    text-decoration: none;
  }

  .cell-17, .cell-18 {
    flex-direction: row;
    justify-content: center;
  }
}

@media screen and (max-width: 991px) {
  .container {
    max-width: 728px;
  }

  .nav-menu-wrapper {
    background-color: rgba(0, 0, 0, 0);
  }

  .nav-menu {
    background-color: #fff;
    border-radius: 50px;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    margin-top: 10px;
    padding: 20px;
    display: flex;
    box-shadow: 0 8px 50px rgba(0, 0, 0, .05);
  }

  .nav-link {
    padding-left: 5px;
    padding-right: 5px;
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: absolute;
  }

  .container-2 {
    max-width: 728px;
  }

  .hero-wrapper {
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-bottom: -40px;
  }

  .hero-split {
    max-width: 100%;
    margin-bottom: 40px;
  }

  .heading {
    height: 20%;
    margin-top: 8px;
    margin-bottom: 0;
    font-size: 40px;
    line-height: 50px;
    top: 43%;
  }

  .paragraph-shushi {
    width: auto;
    max-width: 90%;
    margin-top: 40px;
    margin-bottom: 10px;
    padding-left: 0;
    padding-right: 0;
    font-size: 14px;
    line-height: 25px;
  }

  .category-block {
    width: auto;
    max-width: 1280px;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: flex-start;
    align-items: baseline;
    margin-top: 20px;
  }

  .paragraph_komoku {
    font-size: 20px;
  }

  .image-_komoku {
    width: auto;
  }

  .footer_section {
    flex-direction: row;
  }

  .footer_logo {
    width: 150px;
    max-width: none;
  }

  .footer_adress {
    width: auto;
    height: auto;
    max-width: none;
    margin-top: 0;
    padding-top: 7px;
    font-family: Noto Sans JP, sans-serif;
    font-size: .6vw;
    line-height: 12px;
  }

  .section-_rights {
    justify-content: center;
    align-items: center;
    font-size: 2vw;
    display: flex;
  }

  .paragraph_rights {
    width: auto;
    justify-content: center;
    align-items: center;
    font-size: 1.5vw;
    display: flex;
  }

  .top-logo {
    max-width: 90%;
    padding-top: 10px;
    padding-left: 10px;
  }

  .container-3 {
    width: auto;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .navbar {
    width: auto;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }

  .columns {
    display: flex;
  }

  .header_section {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }

  .container-4 {
    width: 90%;
  }

  .navbar-2 {
    margin-top: 0;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
  }

  .heading-_komoku {
    font-size: 30px;
  }

  .menu-button-2 {
    flex-direction: row;
    justify-content: flex-end;
    align-items: center;
    padding-left: 0;
    padding-right: 0;
    display: flex;
    position: static;
    top: 0%;
    bottom: auto;
    left: auto;
    right: 0%;
  }

  .section_komoku {
    width: 100.5%;
    height: auto;
    max-width: 100.5%;
    min-width: 100.5%;
  }

  .h2_komoku_name {
    height: 60px;
    font-size: 30px;
  }

  .gakuseisu-embed {
    height: 600px;
    min-height: 100px;
    min-width: 320px;
    margin-bottom: 140px;
  }

  .link {
    font-size: 12px;
    line-height: 16px;
  }

  .quick-stack {
    margin-left: 10px;
    margin-right: 10px;
  }

  .cell {
    justify-content: space-between;
  }

  .container-6 {
    max-width: 728px;
  }

  .navbar-wrapper-three {
    justify-content: space-between;
  }

  .navbar-brand-three {
    position: relative;
  }

  .nav-menu-wrapper-three {
    background-color: rgba(0, 0, 0, 0);
    top: 70px;
  }

  .nav-menu-three {
    background-color: #fff;
    border-radius: 50px;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    padding: 20px;
    display: flex;
    box-shadow: 0 8px 50px rgba(0, 0, 0, .05);
  }

  .nav-link-3 {
    padding-left: 5px;
    padding-right: 5px;
  }

  .nav-dropdown-list-2.shadow-three.w--open {
    position: absolute;
  }

  .menu-button-3 {
    padding: 12px;
  }

  .menu-button-3.w--open {
    color: #fff;
    background-color: #a6b1bf;
  }

  .div-block-2 {
    margin-left: 12px;
  }

  .image-3 {
    margin-left: 7px;
  }

  .paragraph-6 {
    width: 200px;
    text-align: left;
    overflow-wrap: normal;
    font-size: 18px;
  }

  .div-block-3 {
    width: 200px;
    margin-left: 0%;
  }

  .paragraph-7 {
    margin-top: 40px;
    margin-left: 13px;
    font-size: 20px;
  }

  .kaizen {
    width: 95%;
    text-indent: -2em;
    flex: 1;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: auto;
    margin-right: 50px;
    padding-left: 9em;
    font-size: 14px;
  }

  .kaizen.kaizen_2 {
    padding-left: 86px;
  }

  .kaizen.kaizen_3 {
    padding-left: 0;
  }

  .link-block-4 {
    margin-left: 0;
    margin-right: 5%;
  }

  .section-7 {
    margin-top: 73px;
    position: static;
  }

  .link-block-5 {
    justify-content: flex-end;
    font-size: 25%;
  }

  .section-9 {
    margin-left: -50px;
  }

  .section-10 {
    margin-right: 4%;
  }

  .image-4 {
    max-width: 80%;
  }

  .gaiyokatsudo {
    width: 95%;
    margin-left: 20px;
    margin-right: 20px;
    font-size: 14px;
  }

  .gaiyobun {
    width: 95%;
    font-size: 14px;
  }

  .link-block-7 {
    width: 180px;
    margin-left: 40%;
  }

  .image-5 {
    width: 180px;
    max-width: none;
  }

  .icon-2 {
    width: auto;
    flex: 0 auto;
    justify-content: flex-end;
    display: block;
  }

  .section-11 {
    height: auto;
  }

  .image-6 {
    width: 140px;
    max-width: 60%;
  }

  .link-block-8 {
    margin-right: 15px;
  }

  .link-block-9 {
    margin-right: -66px;
  }

  .section-12 {
    margin-right: 49px;
  }

  .image-7 {
    max-width: 80%;
  }

  .section-13 {
    margin-right: 0;
  }

  .image-8 {
    max-width: 70%;
  }

  .link-block-10 {
    margin-right: -44px;
  }

  .nyushijyokyo {
    height: 600px;
    min-height: 100px;
    margin-bottom: 0;
  }

  .section_chart.nyushi {
    margin-bottom: 24em;
  }

  .section_chart.nyushi_box {
    margin-bottom: 20%;
  }

  .paragraph-8 {
    margin: 0 5% 0 5em;
    padding-left: 0;
    font-size: 8px;
    font-weight: 300;
    line-height: 16px;
  }

  .section-14 {
    margin-top: 0;
  }

  .shiken {
    min-height: 800px;
    min-width: 800px;
    padding-left: 0;
  }

  .cell-7, .cell-8, .cell-9, .cell-10, .cell-11, .cell-12, .cell-13, .cell-14, .cell-15, .cell-16 {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .section-16 {
    width: auto;
    height: 10em;
    margin-right: auto;
    padding-bottom: 0;
    padding-right: 0;
  }

  .sukima {
    height: 200px;
  }

  .nav-link-hum {
    color: #333;
    font-family: Noto Sans JP, sans-serif;
    text-decoration: none;
  }

  .nav-link-11, .nav-link-12, .nav-link-13, .nav-link-14, .nav-link-15, .nav-link-16, .nav-link-11-copy {
    font-family: Noto Sans JP, sans-serif;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .navbar-logo-container {
    max-width: 100%;
  }

  .navbar-logo {
    padding-left: 0;
  }

  .nav-menu {
    border-radius: 20px;
    flex-direction: column;
    padding-bottom: 30px;
  }

  .nav-link {
    margin-right: 3px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .nav-dropdown {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .nav-dropdown-toggle {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav-dropdown-list.shadow-three {
    box-shadow: 0 8px 50px rgba(0, 0, 0, .05);
  }

  .nav-dropdown-list.shadow-three.w--open {
    position: relative;
  }

  .nav-dropdown-list.shadow-three.mobile-shadow-hide {
    box-shadow: none;
  }

  .nav-divider {
    width: 200px;
    height: 1px;
    max-width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
  }

  .nav-link-accent {
    margin-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .mobile-margin-top-10 {
    margin-top: 10px;
  }

  .hero-heading-center {
    padding: 60px 15px;
  }

  .heading {
    font-size: 30px;
    top: 41%;
  }

  .paragraph-shushi {
    height: 175px;
    max-width: 90%;
    line-height: 25px;
  }

  .category-block {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-direction: column;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    align-items: stretch;
    left: auto;
    right: auto;
  }

  .paragraph_komoku {
    font-size: 12px;
  }

  .image-_komoku {
    height: auto;
    max-height: none;
    padding-left: 0;
    display: block;
  }

  .footer_section {
    margin-top: 94px;
  }

  .footer_logo {
    width: 150px;
    max-width: none;
  }

  .footer_adress {
    font-size: .6vw;
    line-height: 10px;
  }

  .top-logo {
    padding-top: 0;
    padding-bottom: 13px;
    padding-left: 0;
  }

  .navbar {
    position: -webkit-sticky;
    position: sticky;
  }

  .columns {
    display: block;
  }

  .header_logo {
    width: 200px;
  }

  .heading-_komoku {
    font-size: 20px;
    line-height: 44;
  }

  .section_komoku {
    width: 100%;
    height: auto;
    max-width: 100%;
    min-width: 100%;
    justify-content: center;
    overflow: visible;
  }

  .h2_komoku_name {
    width: 60%;
    height: 40px;
    max-height: 40px;
    min-width: 60%;
    font-size: 20px;
    line-height: 40px;
  }

  .gakuseisu-embed {
    height: 500px;
    min-height: 100px;
    min-width: 320px;
    object-fit: fill;
    margin-bottom: 60px;
    overflow: auto;
  }

  .link {
    font-size: 12px;
    line-height: 12px;
  }

  .quick-stack {
    grid-column-gap: 15px;
    grid-row-gap: 15px;
    margin-left: 5px;
    margin-right: 4px;
    padding-left: 0%;
    font-size: 8px;
  }

  .cell {
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    flex-direction: row;
    justify-content: center;
    font-size: 8px;
    line-height: 12px;
  }

  .container-5 {
    margin-left: 0;
    padding-left: 0;
  }

  .navbar-brand-three {
    padding-left: 0;
  }

  .nav-menu-three {
    border-radius: 20px;
    flex-direction: column;
    padding-bottom: 30px;
  }

  .nav-menu-block {
    flex-direction: column;
  }

  .nav-link-3 {
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .nav-dropdown-2 {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .nav-dropdown-toggle-2 {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .nav-dropdown-list-2.shadow-three {
    box-shadow: 0 8px 50px rgba(0, 0, 0, .05);
  }

  .nav-dropdown-list-2.shadow-three.w--open {
    position: relative;
  }

  .nav-dropdown-list-2.shadow-three.mobile-shadow-hide {
    box-shadow: none;
  }

  .nav-link-accent-2 {
    margin-right: 5px;
    padding-top: 10px;
    padding-bottom: 10px;
    display: inline-block;
  }

  .mobile-margin-top-11 {
    margin-top: 10px;
  }

  .div-block-2 {
    width: 150px;
    margin-left: 5px;
  }

  .image-3 {
    height: 20px;
  }

  .paragraph-6 {
    font-size: 18px;
  }

  .div-block-3 {
    margin-left: 5%;
  }

  .paragraph-7 {
    margin-top: 20px;
    margin-left: 15px;
    padding-top: 10px;
    font-size: 20px;
  }

  .kaizen {
    width: 90%;
    height: 20px;
    text-indent: -25px;
    flex-direction: column;
    flex: 1;
    margin-top: 10px;
    margin-left: 91px;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 64px;
    font-size: 12px;
    line-height: 25px;
  }

  .text-block {
    font-size: 14px;
  }

  .link-block-4 {
    margin-left: 0;
    margin-right: 4%;
  }

  .section-9 {
    margin-bottom: 10px;
  }

  .image-4 {
    width: 200px;
    max-width: 90%;
  }

  .gaiyokatsudo {
    height: 20px;
    text-indent: -48px;
    flex-direction: column;
    flex: 1;
    align-items: flex-start;
    margin-left: 17px;
    padding-left: 36px;
    font-size: 12px;
    line-height: 20px;
    display: flex;
  }

  .nav-link-4, .nav-link-5, .nav-link-6, .nav-link-7, .nav-link-8, .nav-link-9 {
    font-size: 12px;
    line-height: 80%;
  }

  .gaiyobun {
    width: 90%;
    font-size: 12px;
    line-height: 25px;
  }

  .link-block-7 {
    margin-left: 147px;
  }

  .menu-button-4 {
    height: auto;
    padding-top: 10px;
    padding-bottom: 10px;
    display: flex;
    position: absolute;
    top: 0%;
    bottom: auto;
    left: auto;
    right: 0%;
  }

  .section-11 {
    height: 0;
    margin-top: 37px;
  }

  .image-6 {
    width: 120px;
  }

  .link-block-8 {
    margin-right: 14px;
  }

  .link-block-9 {
    margin-right: -64px;
  }

  .image-7, .image-8 {
    width: 150px;
  }

  .nyushijyokyo {
    width: 1000px;
    height: 500px;
    max-height: 600px;
    min-height: 200px;
    min-width: 500px;
    object-fit: fill;
    flex: 0 auto;
    margin-bottom: 0;
    overflow: auto;
  }

  .section_chart.nyushi {
    margin-bottom: 26em;
  }

  .paragraph-8 {
    margin-top: 0%;
    font-size: 8px;
    font-weight: 300;
    line-height: 16px;
  }

  .section-14 {
    margin-top: 0;
  }

  .shiken {
    min-height: 800px;
    padding-left: 71px;
  }

  .section-16 {
    height: 10em;
  }

  .sukima {
    height: 100px;
    min-height: 100px;
    padding-bottom: 0;
    padding-right: 0;
  }

  .nav-link-17 {
    font-size: 12px;
    line-height: 80%;
  }
}

@media screen and (max-width: 479px) {
  .container {
    max-width: none;
  }

  .nav-menu {
    flex-direction: column;
  }

  .container-2 {
    max-width: none;
  }

  .centered-heading {
    margin-bottom: 24px;
  }

  .heading {
    margin-top: 15px;
    font-size: 18px;
    line-height: 30px;
    top: 32%;
  }

  .paragraph-shushi {
    height: 220px;
    max-width: 95%;
    margin-top: 20px;
    margin-bottom: -34px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 12px;
    line-height: 20px;
  }

  .category-block {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    flex-direction: row;
    grid-template-rows: auto auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
    justify-content: center;
    align-items: center;
    margin-right: auto;
    display: block;
  }

  .paragraph_komoku {
    letter-spacing: 1px;
    flex-direction: column;
    align-items: center;
    padding-left: 27px;
    font-size: 10px;
  }

  .paragraph_komoku.shikaku {
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    margin-bottom: 8px;
    font-size: 8px;
    line-height: 11px;
  }

  .image-_komoku {
    height: auto;
    max-width: 80%;
    float: none;
    margin-top: 0;
    margin-bottom: 20px;
    margin-left: 25px;
    padding-left: 0;
    position: static;
  }

  .footer_section {
    flex-wrap: nowrap;
  }

  .footer_logo, .footer_adress {
    display: none;
  }

  .paragraph_rights {
    font-size: 2vw;
  }

  .top-logo {
    max-width: 180%;
    padding-left: 5px;
  }

  .columns {
    flex-direction: row;
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .column-kobetsu {
    flex-direction: row;
    justify-content: flex-start;
    align-items: flex-start;
    display: flex;
  }

  .footer_nsg {
    display: none;
  }

  .header_logo {
    width: 200px;
  }

  .brand {
    padding-left: 0;
  }

  .heading-_komoku {
    letter-spacing: 10px;
    margin-right: 19px;
    font-size: 16px;
    line-height: 20px;
  }

  .section_komoku {
    height: auto;
    margin-top: 19px;
  }

  .h2_komoku_name {
    height: 50px;
    align-self: auto;
    font-size: 14px;
  }

  .link_kyoiku {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-left: -16px;
    padding-left: 0;
    display: flex;
  }

  .gakuseisu-embed {
    width: 800px;
    height: 400px;
    min-height: 300px;
    min-width: 800px;
    object-fit: fill;
    flex: 0 auto;
    margin-bottom: 60px;
    padding-left: 50%;
    overflow: visible;
  }

  .div-block_tableau {
    overflow: scroll;
  }

  .link {
    flex-direction: column;
    flex: 1;
    justify-content: center;
    align-self: flex-end;
    align-items: center;
  }

  .quick-stack {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    margin-right: 8px;
  }

  .cell {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .link_kyoshokuin {
    margin-left: -17px;
  }

  .link_kenkyu {
    margin-left: -11px;
    padding-left: 0;
  }

  .link-block {
    margin-left: -18px;
  }

  .link-block-2 {
    margin-left: -15px;
  }

  .link-block-3 {
    margin-left: -11px;
  }

  .container-6 {
    max-width: none;
  }

  .nav-menu-three {
    flex-direction: column;
  }

  .section-4 {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    display: flex;
  }

  .div-block-2 {
    width: 100px;
  }

  .image-3 {
    height: 15px;
  }

  .paragraph-6 {
    width: 150px;
    font-size: 14px;
  }

  .div-block-3 {
    width: 145px;
    margin-left: 0%;
  }

  .paragraph-7 {
    font-size: 15px;
  }

  .kaizen {
    flex: 1;
    margin-top: 10px;
    margin-bottom: 0;
    margin-left: 83px;
    padding-right: 72px;
    font-size: 12px;
    line-height: 20px;
  }

  .text-block {
    font-size: 10px;
  }

  .link-block-4 {
    margin-left: 0;
    margin-right: 3%;
  }

  .text-span {
    font-size: 10px;
  }

  .section-9 {
    margin-top: 10px;
    margin-bottom: 30px;
  }

  .section-10 {
    margin-top: 0;
  }

  .image-4 {
    width: 180px;
    max-width: 100%;
  }

  .gaiyokatsudo {
    width: 90%;
    height: 25px;
    text-indent: -48px;
    margin-left: 10px;
    margin-right: 10px;
    padding-left: 20px;
  }

  .nav-link-4, .nav-link-5, .nav-link-6, .nav-link-7, .nav-link-8, .nav-link-9 {
    font-size: 12px;
    line-height: 80%;
  }

  .gaiyobun {
    height: 5%;
    line-height: 20px;
  }

  .link-block-7 {
    width: 120px;
    margin-left: 5%;
  }

  .image-5 {
    width: 120px;
  }

  .section-11 {
    margin-top: 188px;
  }

  .image-6 {
    width: 100px;
  }

  .link-block-9 {
    margin-right: -86px;
  }

  .image-7, .image-8 {
    max-width: 70%;
  }

  .link-block-10 {
    margin-right: -32px;
  }

  .image-9 {
    width: 150px;
  }

  .nyushijyokyo {
    width: 800px;
    height: 300px;
    max-height: 1000px;
    min-height: 300px;
    min-width: 800px;
    object-fit: fill;
    object-position: 50% 50%;
    flex-direction: column;
    flex: 0 auto;
    justify-content: center;
    align-items: center;
    margin-bottom: 0;
    padding-left: 60%;
    display: block;
    overflow: visible;
  }

  .section_chart {
    object-fit: fill;
  }

  .section_chart.nyushi {
    margin-bottom: 8em;
  }

  .paragraph-8 {
    margin-left: 10%;
    font-family: Noto Sans JP, sans-serif;
    font-size: 8px;
    font-weight: 300;
    line-height: 16px;
  }

  .section-14 {
    margin-top: 0;
    margin-bottom: 20px;
  }

  .shiken {
    padding-left: 60%;
  }

  .cell-6, .cell-7, .cell-8, .cell-9, .cell-10, .cell-11, .cell-12, .cell-13, .cell-14, .cell-15, .cell-16 {
    flex-direction: row;
    justify-content: center;
    align-items: center;
  }

  .section-16 {
    height: 60px;
    margin-top: 1em;
  }

  .sukima {
    height: 100px;
    min-height: 100px;
  }

  .nav-link-hum {
    font-size: 12px;
    line-height: 8px;
  }

  .nav-link-17 {
    font-size: 12px;
    line-height: 80%;
  }

  .link-2, .link-3, .cell-17 {
    font-size: 10px;
  }
}

#w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b15-b26ebbf9 {
  grid-template-rows: minmax(auto, 1fr);
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
}

#w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b16-b26ebbf9, #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b17-b26ebbf9, #w-node-_6cca0afc-e8d4-c2f4-9aef-38e22e852384-b26ebbf9, #w-node-_603135c1-10a0-f74b-284e-0f77128aeaf0-b26ebbf9, #w-node-aba93a16-4949-57fb-9bfc-9e9c9f374fc4-b26ebbf9, #w-node-db5c9be4-eab7-13af-547f-ab4ca185bb66-b26ebbf9, #w-node-f42a1594-2378-9179-c240-49795ecf6e0c-b26ebbf9, #w-node-a86ebb64-ad9e-62d2-392b-ce134e05584d-b26ebbf9, #w-node-ba6cd79e-1591-7453-0ddc-d828ba8dfed6-b26ebbf9, #w-node-_447eeb61-f08e-24b7-6f7d-8e5013cc00d6-b26ebbf9, #w-node-_7c25459d-9ed4-da08-a87e-4a3fb3caced6-b26ebbf9, #w-node-_68259ff7-659d-b331-4a47-6acb4e8e9c3e-b26ebbf9 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_8cb25cfb-ccb7-0f2d-1a2e-93edce166cdb-e3f3593b {
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
}

#w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b15-f0a771f5 {
  grid-template-rows: minmax(auto, 1fr);
  grid-template-columns: 1fr 1fr 1fr;
}

#w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b17-f0a771f5, #w-node-_603135c1-10a0-f74b-284e-0f77128aeaf0-f0a771f5, #w-node-aba93a16-4949-57fb-9bfc-9e9c9f374fc4-f0a771f5 {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

#w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b15-c0973f2d {
  grid-template-rows: minmax(auto, 1fr);
  grid-template-columns: 1fr 1fr;
}

#w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b16-c0973f2d, #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b17-c0973f2d {
  grid-area: span 1 / span 1 / span 1 / span 1;
}

@media screen and (max-width: 991px) {
  #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b16-b26ebbf9 {
    grid-column: span 1 / span 1;
  }
}

@media screen and (max-width: 767px) {
  #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b15-b26ebbf9 {
    grid-template-rows: minmax(auto, 1fr);
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }

  #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b16-b26ebbf9, #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b17-b26ebbf9, #w-node-_6cca0afc-e8d4-c2f4-9aef-38e22e852384-b26ebbf9, #w-node-_603135c1-10a0-f74b-284e-0f77128aeaf0-b26ebbf9, #w-node-aba93a16-4949-57fb-9bfc-9e9c9f374fc4-b26ebbf9, #w-node-db5c9be4-eab7-13af-547f-ab4ca185bb66-b26ebbf9, #w-node-f42a1594-2378-9179-c240-49795ecf6e0c-b26ebbf9, #w-node-a86ebb64-ad9e-62d2-392b-ce134e05584d-b26ebbf9, #w-node-ba6cd79e-1591-7453-0ddc-d828ba8dfed6-b26ebbf9, #w-node-_447eeb61-f08e-24b7-6f7d-8e5013cc00d6-b26ebbf9, #w-node-_7c25459d-9ed4-da08-a87e-4a3fb3caced6-b26ebbf9, #w-node-_68259ff7-659d-b331-4a47-6acb4e8e9c3e-b26ebbf9 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }

  #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b15-c0973f2d {
    grid-template-rows: minmax(auto, 1fr);
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 479px) {
  #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b15-b26ebbf9 {
    grid-template-rows: minmax(auto, 1fr);
    grid-template-columns: .5fr .5fr .5fr;
  }

  #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b16-b26ebbf9, #w-node-_8e8d0038-b075-03e5-89f2-55d6846e1b17-b26ebbf9, #w-node-_6cca0afc-e8d4-c2f4-9aef-38e22e852384-b26ebbf9, #w-node-_603135c1-10a0-f74b-284e-0f77128aeaf0-b26ebbf9, #w-node-aba93a16-4949-57fb-9bfc-9e9c9f374fc4-b26ebbf9, #w-node-db5c9be4-eab7-13af-547f-ab4ca185bb66-b26ebbf9, #w-node-f42a1594-2378-9179-c240-49795ecf6e0c-b26ebbf9, #w-node-a86ebb64-ad9e-62d2-392b-ce134e05584d-b26ebbf9, #w-node-ba6cd79e-1591-7453-0ddc-d828ba8dfed6-b26ebbf9, #w-node-_447eeb61-f08e-24b7-6f7d-8e5013cc00d6-b26ebbf9, #w-node-_7c25459d-9ed4-da08-a87e-4a3fb3caced6-b26ebbf9, #w-node-_68259ff7-659d-b331-4a47-6acb4e8e9c3e-b26ebbf9 {
    grid-area: span 1 / span 1 / span 1 / span 1;
  }
}

/* ===== Design Tokens ===== */
:root{
  --content-max: 1120px;
  --space-1: .25rem; --space-2: .5rem; --space-3: 1rem;
  --space-4: 1.5rem; --space-5: 2rem; --space-6: 3rem;
  --nav-h: 72px;
}

/* ===== Base Typo ===== */
html{ scroll-behavior: smooth; }
body{ line-height: 1.8; text-wrap: pretty; }
p, .paragraph, .paragraph-5, .gaiyobun, .kaizen{
  max-width: 65ch; margin-inline:auto;
}
h1{ font-size: clamp(1.6rem, 2.5vw, 2.8rem); line-height: 1.25; }
h2, .h2_komoku_name{ font-size: clamp(1.2rem, 2vw, 1.8rem); line-height: 1.4; }
.paragraph_komoku{ font-size: clamp(.9rem, 1.6vw, 1.25rem); letter-spacing: .12em; }

/* ===== Containers & Sections ===== */
.w-container, .container, .container-2, .container-4, .container-5, .container-6,
.section_chart > .w-embed{
  max-width: var(--content-max);
  margin-inline:auto;
  padding-inline: var(--space-3);
}

/* ===== Nav & Anchor offset ===== */
html{ scroll-padding-top: calc(var(--nav-h) + var(--space-3)); }
.h2_komoku_name{ scroll-margin-top: calc(var(--nav-h) + var(--space-3)); }

/* ===== Images & Banners ===== */
.image_obi, .heroimage{
  width: 100%; height: auto;
  object-fit: cover; aspect-ratio: 16 / 9;
  max-width: 100%; min-width: 0;
}
img{ max-width:100%; height:auto; }

/* ===== Footer text too small (fix vw) ===== */
.footer_adress{
  font-size: clamp(12px, 1.2vw, 14px);
  line-height: 1.4;
}

/* ===== Kill horizontal scroll (fixed widths → fluid) ===== */
.gakuseisu-embed, .nyushijyokyo, .shiken{
  width: 100%; max-width: var(--content-max);
  height: auto; /* 高さは比率で管理 */
  min-width: 0; min-height: 0;
}
.div-block_tableau, .section_chart{ overflow: visible; }

/* Tableau placeholder を比率管理 */
.tableauPlaceholder{
  position: relative; width: 100%; max-width: var(--content-max);
}
.tableauPlaceholder::before{
  content:""; display:block; aspect-ratio: 4 / 3; /* 必要に応じて 16/9 や 3/2に変更 */
}
.tableauPlaceholder > iframe,
.tableauPlaceholder > object,
.tableauPlaceholder > .tableauViz{
  position:absolute; inset:0; width:100%; height:100%;
}

/* ===== Layout hygiene ===== */
*{ box-sizing: border-box; } /* 念のため最終層でも宣言（normalize/webflowの上書き） */
.quick-stack, .cell{ gap: var(--space-3); }
.section, .section-2, .section-3, .section-5, .section_chart{ padding-block: var(--space-5); }

/* 余白を“数字合わせ”から“スケール”へ */
.margin-bottom-24px{ margin-bottom: var(--space-4); }

/* ===== Print-friendly (Factbook大事) ===== */
@media print{
  .navbar, .navbar-2, .footer_section, .section-_rights{ display:none !important; }
  object.tableauViz{ display:none !important; }
  .tableauPlaceholder noscript img{ display:block !important; max-width:100%; height:auto; }
  a[href^="http"]::after{ content:" (" attr(href) ")"; font-size: .85em; }
}

/* ===== Small screens polish ===== */
@media (max-width: 767px){
  body{ font-size: 15px; }
  .section_chart{ padding-block: var(--space-4); }
  .h2_komoku_name{ line-height: 1.4; height: auto; }
}

/* kyoiku.html の「入試状況（学部）」など、Tableau直下の注釈を
   グラフと同じ左端・同じ幅に合わせるための汎用ルール */

/* 1) グラフ本体の横幅と中心寄せ（既に入れていれば重複OK） */
.section_chart .tableauPlaceholder{
  max-width: var(--content-max);
  margin-inline: auto;
}

/* 2) グラフ直後の注釈ブロック（p / ul / ol / div いずれでも）も同じ幅＆位置に */
.section_chart .tableauPlaceholder + :is(p, ul, ol, div){
  max-width: var(--content-max);
  margin-inline: auto;
}

/* 3) 注釈が複数段落ある場合（2個目以降も含めて合わせたい場合は下もON） */
.section_chart .tableauPlaceholder ~ :is(p, ul, ol, div){
  max-width: var(--content-max);
  margin-inline: auto;
}

/* 4) 注釈の文字は左揃えのままに（中央寄せされないよう明示） */
.section_chart .tableauPlaceholder ~ :is(p, ul, ol, div){
  text-align: left;
}

/* --- 入試状況（学部）の注釈をグラフ左端に合わせる --- */
/* 注釈のブロック自体を、グラフと同じ共通幅・中央配置に */
.section-14,
.section-14 .paragraph-8{
  max-width: var(--content-max);
  margin-inline: auto;
}

/* 既存CSSの左オフセットを打ち消し、本文として左揃えに */
.section-14 .paragraph-8{
  padding-left: 0 !important;
  margin-left: 0 !important;
  text-align: left;
  /* 読みやすさ（必要なら微調整） */
  font-size: 12px;
  line-height: 1.6;
}

/* 既存CSSはブレークポイントごとに margin/padding を変えているので
   どの幅でも「0」を維持するために再宣言しておく */
@media (min-width: 1440px),
       (max-width: 991px),
       (max-width: 767px),
       (max-width: 479px){
  .section-14 .paragraph-8{
    padding-left: 0 !important;
    margin-left: 0 !important;
    margin-right: auto !important;
  }
}

/* ====== TableauをCSS主導に（インラインstyleを無効化） ====== */
/* 親：比率ボックス（幅:高さ = 4:3 → 高さは幅の0.75倍） */
.section_chart .tableauPlaceholder{
  position: relative;
  width: 100%;
  max-width: var(--content-max);
}
.section_chart .tableauPlaceholder::before{
  content:"";
  display:block;
  aspect-ratio: 4 / 3; /* 16/9にしたければ 16/9 に変更 */
}

/* 子：Tableau本体は親にぴったりフィット（JSのheightを上書き） */
.section_chart .tableauPlaceholder > .tableauViz,
.section_chart .tableauPlaceholder > object,
.section_chart .tableauPlaceholder > iframe{
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important; /* ← これでJSの高さ指定を封じる */
}

/* 埋め込み枠の古い固定サイズを無効化（縦長化の元凶を摘む） */
.gakuseisu-embed,
.nyushijyokyo,
.shiken{
  width: 100% !important;
  max-width: var(--content-max);
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 auto;
}

/* モバイルの強い固定値も無効化（幅800pxなど） */
@media (max-width: 767px){
  .gakuseisu-embed,
  .nyushijyokyo{
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible;
  }
}

/* 見出しがかぶって見えるのを予防（念のため余白を確保） */
.section_chart{ padding-bottom: 2rem; }
.section_komoku{ margin-top: 1rem; }

/* PC幅はグラフを少し“横長寄り”にして背丈を抑える（16:9） */
@media (min-width: 992px){
  .section_chart .tableauPlaceholder::before{
    aspect-ratio: 16 / 9; /* 4/3 → 16/9 に変更して縦を縮める */
  }
}

/* グラフの下に常に余白を確保（次の見出しが食い込まないように） */
.section_chart{
  margin-bottom: clamp(24px, 4vw, 56px);  /* 画面幅に応じて24〜56px */
}

/* 見出しブロックの上にも少し余白を足してダブルで安全 */
.section_komoku{
  margin-top: clamp(12px, 2.5vw, 32px);
}

/* 念のため：古い固定高さ/幅が残っていたら打ち消す（PCでも効かせる） */
.gakuseisu-embed, .nyushijyokyo{
  height: auto !important;
  max-height: none !important;
}

/* ===== モバイル時はTableau枠に“横スクロール”を許可し、最小幅を確保 ===== */
@media (max-width: 767px){
  /* 枠に横スクロール */
  .section_chart{
    overflow-x: auto;
  }
  /* 中身ははみ出してOK（凡例ぶんの幅も確保） */
  .section_chart .tableauPlaceholder{
    min-width: 720px; /* 600–768pxの間で調整可。凡例が右にあってもグラフが潰れない幅 */
  }
  /* 先に入れてある “幅100%・高さ100%” 指定はそのままでOK */
}

/* IRページ用の見出し統一 */
.ir-heading{
  margin: 1.5em auto 1em;
  padding: 0;
  max-width: var(--content-max);
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
}

/* --- IRページの見出しと本文を左寄せに統一 --- */
.ir-heading{
  margin: 1.5em 0 1em 0;      /* 左寄せなのでautoは削除 */
  padding: 0;
  max-width: 75ch;            /* 本文と同じ幅の器 */
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 600;
  line-height: 1.4;
  text-align: left;
}

/* 本文の幅を広げて1行の文字数を+6字程度に */
.gaiyobun,
.gaiyokatsudo,
.kaizen{
  max-width: 85ch;            /* 元の65chから+20chに拡大 */
  margin-left: 0;             /* 左寄せ */
  margin-right: auto;
  text-align: left;
}

/* 各ページ共通の帯部分（教育・教職員・研究・国際交流・進路・国家試験） */
.header_boarder_section{
  max-height: 120px;   /* 以前は200px */
  height: 120px;
  overflow: hidden;
  position: relative;
}

/* 背景帯の画像を縮小表示 */
.image_obi{
  max-height: 120px;   /* 以前は200px */
  object-fit: cover;   /* 横幅に合わせつつ中央をトリミング */
}

/* 見出しの文字サイズを縮小しつつ中央配置 */
.heading-_komoku{
  font-size: clamp(24px, 2.5vw, 32px);  /* PCで28〜32px、モバイルで24px程度 */
  line-height: 1.3;
  letter-spacing: 0.15em;  /* 今の30px詰めは広すぎるので調整 */
  text-indent: 0;          /* 左の大きなインデントを無効化 */
  margin: 0;
  top: 50%;
  transform: translateY(-50%); /* 中央縦揃え */
}

/* is-tight が付いているグラフは下の余白を小さく */
.section_chart.is-tight{ margin-bottom: 12px; }

/* その直後の sukima を無効化 */
.section_chart.is-tight + .sukima{
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* 注釈ブロックの頭にだけ 0.75rem 置く */
.section_chart.is-tight + .sukima + .section-14{ margin-top: 0.75rem; }

/* ===== グローバルナビ（上部の「教育／教職員…」）の可読性アップ ===== */

/* ベース：ビュー幅に応じて自動で伸縮 */
.nav-link-hum.w-nav-link{
  /* 最小16px、理想 1.25vw、最大20px ＝ PCで大きく、狭い画面で自動で小さく */
  font-size: clamp(16px, 1.25vw, 20px);
  line-height: 1.4;                /* タップしやすい行間 */
  letter-spacing: .02em;           /* 日本語は少しだけ詰めると読みやすい */
  padding: 10px 14px;              /* 触りやすいパディング */
}

/* タブレット幅：項目数が多いので、やや控えめに */
@media (max-width: 991px){
  .nav-link-hum.w-nav-link{
    font-size: clamp(15px, 1.8vw, 18px);
    padding: 10px 12px;
  }
}

/* モバイルの開閉メニュー内：行送りを確保して詰まりを回避 */
@media (max-width: 767px){
  .nav-link-hum.w-nav-link{
    font-size: clamp(14px, 3.5vw, 17px);
    line-height: 1.5;
    padding: 8px 10px;
  }
}

/* ナビの行崩れ対策（横並び時のすき間管理） */
.w-nav-menu{
  gap: 6px;                         /* 既存はflexだがgap未指定。詰めすぎ/広がりすぎ防止 */
}

/* --- リンク行（section-3）の重なり解消 --- */

/* 高さを固定せず、内容に合わせて伸びるようにする */
.section-3{
  height: auto !important;
  padding-top: 12px;          /* 既存の余白は少しだけ残す */
  padding-left: 0;            /* 既存値を維持 */
  padding-right: 0;           /* 既存値を維持 */
  margin-bottom: 8px;         /* 下にほんの少しスペースを追加（帯とかぶらない保険） */
}

/* リンクの並びを折り返しやすく、等幅グリッドにする（崩れにくい） */
.quick-stack.wf-layout-layout{
  /* Webflowの quick stack は grid。自動で列数を増減させる */
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  grid-row-gap: 8px;
  grid-column-gap: 12px;
}

/* 各リンクの不要な伸びを抑えて、均等配置に寄せる */
.link{
  flex: 0 0 auto;  /* 既存の flex:1 を打ち消して勝手に横へ広がらないように */
}

/* --- 進路ほか：リンク行の横寄り修正（親の“縮み”をやめて中央配置） --- */

/* 中身サイズに縮まないよう block に、かつ中央寄せ＆最大幅で */
.container-5{
  display: block !important;
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
}

/* 150pxの固定マージンを廃止して、中央にレイアウト */
.quick-stack{
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0;   /* 既存維持でOKなら削っても可 */
  padding-right: 0;
}

/* グリッドの各セルを中央にそろえ、2件でも真ん中に並ぶように */
.quick-stack.wf-layout-layout{
  justify-items: center;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); /* 2件でも均等 */
}

/* リンクボタンが勝手に横へ広がらないよう抑える（前回の指定を再掲） */
.link{ flex: 0 0 auto; }

/* ===== トップの6ブロックを“ひと回りコンパクト”に ===== */
/* カードの見出しを縮め、行間を詰めすぎない */
.paragraph_komoku{
  font-size: clamp(14px, 1.4vw, 20px); /* 30px → 最大20pxに */
  letter-spacing: .08em;               /* 5px相当 → 自然な字間へ */
  padding-top: 6px;                     /* 上の余白も控えめに */
}

/* 画像サイズを可変に（最大400px → 320px、最小は200px） */
.image-_komoku{
  width: clamp(200px, 22vw, 320px);     /* ヒーローに対して過剰にならない比率 */
  height: auto;                         /* 高さは自動（object-fitは継承でOK） */
  aspect-ratio: 4 / 3;                  /* 読み込み中のガタつきを抑える */
  margin-top: 10px;                     /* 見出しとの距離も少しだけ */
}

/* セクションの余白を軽く引き締め */
.category-block{
  padding-top: 6px;
  padding-bottom: 24px;                 /* 40px → 24px */
  margin-top: 36px;                     /* 61px/50px → 36pxに */
}

/* 2段目(.category-block._2)も同じ調子で */
.category-block._2{ margin-top: 32px; }

/* ===== フッターを“きれいに中央寄せ”へ ===== */
.footer_section{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;              /* 横の間隔を均等に */
  flex-wrap: wrap;        /* 狭い幅では自動で折返し */
  margin-top: 120px;      /* 193px → 120px に控えめ */
}

.footer_logo{
  width: 160px;           /* 200px → 160px に */
  margin-right: 0;        /* 右40pxマージンを撤廃 */
}

.footer_adress{
  margin: 0;              /* 右40pxを撤廃して中央並びに */
  text-align: center;
  max-width: 28em;        /* 1行が長くなりすぎないように上限 */
  line-height: 1.6;
}

.footer_nsg{
  /* 画像なら幅指定、テキストならそのまま。必要なら下をON */
  /* width: 140px; */
}

/* スマホではさらにコンパクトに（縦積み前提） */
@media (max-width: 767px){
  .image-_komoku{ width: clamp(180px, 40vw, 260px); }
  .footer_section{ gap: 16px; margin-top: 72px; }
  .footer_logo{ width: 140px; }
}

.footer_logo{
  width: clamp(160px, 18vw, 260px); 
  /* 最小160px, 画面幅に応じて18vw, 最大260px */
}

/* 先頭見出し（教育）にアンカーで飛んだ時、固定ナビに隠れないように */
#kyoiku{ scroll-margin-top: calc(var(--nav-h) + var(--space-3)); }
