@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box;
}

body {
  color: #575757;
  font-size: 15px !important;
  font-family: sans-serif;
  font-feature-settings: "palt";
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1;
  word-break: break-word;
  background: #1C618B;
}

body,
html,
header,
footer,
figure,
p, h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}
h2 {
  font-size: 150% !important;
  font-weight: bold !important;
}
h3 {
  font-weight: bold !important;
}

img, picture, video, canvas, svg {
  display: block;
}

ul, li,
dl, dt, dd {
  margin: 0;
  padding: 0;
  list-style: none;
}

em,
address {
  font-style: normal;
}

@media (min-width: 769px) {
  a {
    transition: opacity .3s ease-out;
  }
  a:hover {
    opacity: .7;
  }
}

.hdg--01 {
  color: #5E92BF;
  background: #CEE8F2;
  font-size: 28px !important;
  text-align: center;
  letter-spacing: .1em;
  padding: 60px 0;
}
.hdg--01 h2 {

}
@media (max-width: 768px) {
  .hdg--01 {
    font-size: 15px !important;
    padding: 30px 0 15px;
  }
}

.subhdg--00 {
  color: #1C618B;
  border-bottom: solid 2px #1C618B;
  font-size: 28px !important;
  line-height: 1.4em;
  padding-bottom: .5em;
}

@media (max-width: 768px) {
  .subhdg--00 {
    font-size: 20px !important;
    padding-bottom: .25em;
  }
}

.subhdg--00 + * {
  margin-top: 30px;
}

.subhdg--01 {
  color: #1C618B;
  border-bottom: solid 2px #1C618B;
  font-size: 24px !important;
  line-height: 1.4em;
  padding-bottom: .5em;
}

@media (max-width: 768px) {
  .subhdg--01 {
    font-size: 18px !important;
    padding-bottom: .25em;
  }
}

.subhdg--01 + * {
  margin-top: 30px;
}

.text_box--01 {
  font-size: 18px !important;
  line-height: 2.5em;
}

@media (max-width: 768px) {
  .text_box--01 {
    font-size: 15px !important;
    line-height: 2em;
  }
}

.text_box--01 + * {
  margin-top: 30px;
}

.notice--01 {
  margin-top: 30px;
  color: #5DA170;
  font-weight: 500;
  text-align: center;
}

.notice--01::before {
  content: '';
  display: inline-block;
  width: 25px;
  height: 25px;
  background: url("../img/common/icon_ex.svg") no-repeat center/contain;
  vertical-align: middle;
  margin-right: .8em;
}

.notice--02 {
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.4em;
  text-align: right;
  margin-top: 30px;
  opacity: .65;
}

.notice--03 {
  font-size: 21px !important;
  line-height: 2em;
  text-align: center;
}

@media (max-width: 768px) {
  .notice--03 {
    font-size: 18px !important;
    line-height: 1.8em;
  }
}

/* ----- ボックス ----- */
.thum_box--01 ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: 6%;
  row-gap: 40px; 
}

@media (max-width: 768px) {
  .thum_box--01 ul {
    display: block;
  }
}

.thum_box--01 ul li {
  width: calc((100% - 6%) / 2);
}

@media (max-width: 768px) {
  .thum_box--01 ul li {
    width: 100%;
  }
  .thum_box--01 ul li + li {
    margin-top: 30px;
  }
}

.thum_box--01 ul li .thum {
  width: 100%;
  aspect-ratio: 4 / 3;
  background-color: #f2f2f2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.thum_box--01 ul li .thum img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.thum_box--01 ul li .detail {
  line-height: 2em;
}

.thum_box--01 ul li .detail .hdg {
  margin-top: 1em;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 1.6em;
}

.thum_box--01 ul li .detail .notice {
  display: flex;
  gap: .3em;
  font-size: 12px !important;
  font-weight: 700;
  line-height: 1.4em;
  margin-top: 1em;
  opacity: .65;
}

.thum_box--01 ul li .detail .notice::before {
  content: '※';
  display: block;
}

.thum_box--02 ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 6%;
  align-items: stretch;
}

@media (max-width: 768px) {
  .thum_box--02 ul {
    display: block;
  }
}

.thum_box--02 ul li {
  width: calc(100%/2 - 1/2 * 6%);
}

@media (max-width: 768px) {
  .thum_box--02 ul li {
    width: 100%;
  }
}

.thum_box--02 ul li a {
  display: flex;
  height: 100%;
  box-sizing: border-box;
  gap: 30px;
  align-content: center;
  align-items: center;
  color: #658B11;
  border-bottom: solid 1px #C2D919;
  text-decoration: none;
  padding: 30px 60px 30px 30px;
  position: relative;
}

@media (max-width: 768px) {
  .thum_box--02 ul li a {
    padding: 15px 30px 15px 0;
    height: auto;
  }
}

.thum_box--02 ul li a::after {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url("../img/common/arrow-01.svg") no-repeat center/contain;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .thum_box--02 ul li a::after {
    width: 20px;
    height: 20px;
  }
}

.thum_box--02 ul li a .thum {
  flex-shrink: 0;
  width: 40%;
  box-sizing: border-box;
  overflow: hidden;
  padding: 10px;
  background: linear-gradient(163deg, rgba(194, 217, 25, 0.65) 49.9%, rgba(101, 139, 17, 0.65) 50%);
}

.thum_box--02 ul li a .thum img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.thum_box--02 ul li a .hdg {
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.2em;
}

@media (max-width: 768px) {
  .thum_box--02 ul li a .hdg {
    font-size: 15px !important;
    line-height: 1.4em;
  }
}

/* ----- リスト ----- */
.list--01 {
  color: #5E92BF;
  background: #F8FCFF;
  border-radius: 30px;
  font-size: 18px !important;
  font-weight: 700;
  line-height: 2em;
  margin: 60px auto;
  padding: 30px 60px;
}

@media (max-width: 768px) {
  .list--01 {
    font-size: 13px !important;
    line-height: 1.6em;
    letter-spacing: .02em;
    border-radius: 7.5px;
    margin: 30px auto;
    padding: 15px 30px;
  }
}

.list--01 dl > div {
  display: flex;
  margin: .25em 0;
}

.list--01 dl dt {
  display: flex;
  flex-basis: 200px;
}

@media (max-width: 768px) {
  .list--01 dl dt {
    flex-basis: 40%;
  }
}

.list--01 dl dt::after {
  content: '';
  display: inline-block;
  min-width: 60px;
  height: 1px;
  background: #5E92BF;
  flex: 1;
  position: relative;
  top: 1em;
  margin: 0 10px;
}

@media (max-width: 768px) {
  .list--01 dl dt::after {
    min-width: 30px;
  }
}

.list--01 dl dd {
  flex: 1;
}

.qa_list {
  margin: auto;
  padding: 30px 0;
  counter-reset: qa 0;
}

.qa_list > dl > div {
  border-bottom: solid 1px #CEE8F2;
  counter-increment: qa 1;
}

.qa_list > dl > div dt {
  color: #5E92BF;
  display: flex;
  font-size: 18px !important;
  padding: 1.2em 0;
  user-select: none;
}

@media (max-width: 768px) {
  .qa_list > dl > div dt {
    padding: 1em 0;
    line-height: 1.4em;
  }
}

.qa_list > dl > div dt::before {
  content: "Q." counter(qa);
  display: inline-block;
  font-weight: 700;
  white-space: nowrap;
  flex: 1;
  margin-right: .8em;
}

@media (min-width: 769px) {
  .qa_list > dl > div dt {
    transition: opacity .3s ease-out;
  }
  .qa_list > dl > div dt:hover {
    cursor: pointer;
    opacity: .65;
  }
}

.qa_list > dl > div dt .hdg {
  width: 100%;
  position: relative;
  padding-right: 60px;
}

.qa_list > dl > div dt .hdg::before, .qa_list > dl > div dt .hdg::after {
  content: '';
  display: block;
  position: absolute;
  right: 15px;
  top: 50%;
  width: 1px;
  height: 15px;
  background: #5E92BF;
  transition: height .3s ease-out;
  transform-origin: center;
}

.qa_list > dl > div dt .hdg::before {
  transform: rotate(90deg);
  margin-top: -7px;
}

.qa_list > dl > div dt .hdg::after {
  transform: translateY(-50%);
}

.qa_list > dl > div dt.active .hdg::after {
  height: 0;
}

.qa_list > dl > div dt.active + dd {
  opacity: 1;
  height: auto;
  line-height: 1.6em;
  pointer-events: all;
  display: flex;
  padding: 1.2em 60px 1.2em 0;
  border-color: #cee8f2;
}

@media (max-width: 768px) {
  .qa_list > dl > div dt.active + dd {
    line-height: 1.6em;
  }
}

.qa_list > dl > div dd {
  width: 100%;
  opacity: 0;
  transition: opacity .3s ease-out;
  height: 0;
  overflow: hidden;
  line-height: 0;
  pointer-events: none;
  border-top: solid 1px rgba(206, 232, 242, 0);
  position: relative;
}

.qa_list > dl > div dd::before {
  content: "A." counter(qa);
  color: rgba(94, 146, 191, 0.45);
  display: inline-block;
  font-size: 18px !important;
  font-weight: 700;
  white-space: nowrap;
  flex: 0 0 auto;
  margin-right: .8em;
}

@media (max-width: 768px) {
  .qa_list > dl > div dd::before {
    font-size: 14px !important;
  }
}

.img--01 {
  background: #F5F9D8;
  border-radius: 30px;
  text-align: center;
  display: grid;
  justify-content: center;
  align-items: center;
  padding: 30px 0;
}

@media (max-width: 768px) {
  .img--01 {
    border-radius: 7.5px;
    padding: 0;
  }
}

.img--01__wide {
  padding: 60px 0;
}

@media (max-width: 768px) {
  .img--01__wide {
    padding: 0;
  }
}

.img--01__narrow {
  padding: 15px 0;
}

@media (max-width: 768px) {
  .img--01__narrow {
    padding: 0;
  }
}

.img--01 img {
  max-width: 100%;
  object-fit: contain;
}

/* -------------------------------------------
   ヘッダー, フッター
---------------------------------------------- */
.header .ttl,
.footer .ttl {
  font-size: 30px !important;
  font-weight: 700;
  padding: .2em 0;
}

@media (max-width: 768px) {
  .header .ttl,
  .footer .ttl {
    font-size: 27px !important;
    text-align: center;
  }
}

.header .ttl a,
.footer .ttl a {
  color: #FFF;
  text-decoration: none;
}

.header .ttl span,
.footer .ttl span {
  display: inline-block;
  font-size: 15px !important;
  font-weight: 400;
  margin-bottom: .4em;
  margin-left: .3em;
}

@media (max-width: 768px) {
  .header .ttl span,
  .footer .ttl span {
    font-size: 12px !important;
  }
}

.header {
  color: #FFF;
  background: #5E92BF;
  width: 100vw;
  height: 100px;
  position: fixed;
/*  top: 0; */
  right: 0;
  z-index: 99;
}

@media (max-width: 768px) {
  .header {
    height: 65px;
  }
}

.header .inner {
  width: 88%;
  height: 100px;
  margin: auto;
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .header .inner {
    width: 90%;
    height: 65px;
    justify-content: space-between;
  }
}

.header .ttl {
  position: absolute;
  top: 42%;
  transform: translateY(-50%);
  left: 0;
  z-index: 2;
  width: 95%;
}

@media (max-width: 768px) {
  .header .ttl {
    position: static;
    transform: none;
	  margin-top: -15px;
    text-align: left;
  }
}

.header .thum {
  height: 100%;
  overflow: hidden;
  position: relative;
}

@media (max-width: 768px) {
  .header .thum {
    display: none;
  }
}

.header .thum::before, .header .thum::after {
  display: block;
  content: '';
  background: linear-gradient(to right, #5e92bf 0%, rgba(125, 185, 232, 0) 100%);
  width: 3.3vw;
  height: 100%;
  position: absolute;
  top: 0;
}

.header .thum::before {
  left: -1px;
}

.header .thum::after {
  transform: scale(-1, 1);
  right: -1px;
}

.header .thum img {
  width: 445px;
  height: 100px;
  object-fit: cover;
  object-position: center;
}

.header .menu {
  opacity: 0;
  visibility: hidden;
  height: 0;
  pointer-events: none;
  overflow: hidden;
  position: fixed;
  top: 100px;
  left: 0;
  right: 0;
  bottom: 0;
  border-top: solid 1px rgba(255, 255, 255, 0.65);
  background: #5E92BF;
  transition: opacity .3s ease-out;
}

@media (max-width: 768px) {
  .header .menu {
    top: 65px;
  }
}

.header .menu nav {
	width: 100vw;
	height: calc(100% - 65px);
	display: flex;
	align-items: flex-start;
	align-content: center;
	justify-content: center;
	gap: 10%;
	overflow-y: auto;
	padding-top: 40px;
}

@media (max-width: 768px) {
  .header .menu nav {
    display: block;
	padding-top: 0px;
  }
}

@media (max-width: 768px) {
  .header .menu nav > ul {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }
}

.header .menu nav > ul > li a {
  display: block;
  color: #FFF;
  background: #5E92BF;
  font-size: 18px !important;
  text-decoration: none;
  padding: 15px 0;
}

@media (max-width: 768px) {
  .header .menu nav > ul > li a {
    padding: 15px 0;
  }
}

.header .hamb {
  padding-left: 30px;
}

@media (min-width: 769px) {
  .header .hamb:hover {
    cursor: pointer;
  }
}

.header .hamb > div {
  width: 30px;
  height: 20px;
  position: relative;
}

.header .hamb > div > span {
  display: block;
  width: 100%;
  height: 3px;
  background: #FFF;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  border-radius: 3px;
  transition: all .3s ease-out;
}

.header .hamb > div > span:nth-child(1) {
  top: 0;
}

.header .hamb > div > span:nth-child(2) {
  top: 50%;
}

.header .hamb > div > span:nth-child(3) {
  top: 100%;
}

.header .hamb.open > div > span:nth-child(1) {
  top: 100%;
  transform: rotate(-315deg) translate(-50%, -50%);
  transform-origin: center;
  margin-top: calc(3px/2);
}

.header .hamb.open > div > span:nth-child(2) {
  width: 0;
}

.header .hamb.open > div > span:nth-child(3) {
  top: 1.5px;
  transform: rotate(315deg) translate(-50%, -50%);
  transform-origin: center;
  margin-top: calc(-3px/2);
}

.header .hamb.open + .menu {
  display: block;
  opacity: 1;
  visibility: visible;
  width: 100vw;
  height: 250px;
  pointer-events: all;
}

@media (max-width: 768px) {
  .header .hamb.open + .menu {
    height: 100vh;
  }
}

footer {
  background: #FEFEFF;
}

.totop {
  position: fixed;
  right: 0;
  bottom: 0;
  padding-right: 5.8vw;
  padding-bottom: 2.2vw;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease-out;
}

@media (max-width: 768px) {
  .totop {
    padding-bottom: 5.8vw;
  }
}

.totop.visible {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

.totop.active {
  display: flex;
  justify-content: flex-end;
  position: static;
}

.footer {
  color: #FFF;
  background: #5E92BF;
}

.footer a {
  color: #FFF;
  text-decoration: none;
}

.footer .link {
  background: #CEE8F2;
}

.footer .link > ul {
  width: 73%;
  margin: auto;
  padding: 60px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}

@media (max-width: 768px) {
  .footer .link > ul {
    padding: 30px 0;
    display: block;
  }
}

.footer .link > ul > li {
  width: calc(100%/2 - 1/2 * 20px);
}

@media (max-width: 768px) {
  .footer .link > ul > li {
    width: 100%;
  }
  .footer .link > ul > li + li {
    margin-top: 15px;
  }
}

.footer .link > ul > li a {
  display: grid;
  justify-content: center;
  align-items: center;
  color: #1C618B;
  font-size: 18px !important;
  font-weight: 700;
  text-align: center;
  background: #FFF;
  min-height: 100px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .footer .link > ul > li a {
    font-size: 15px !important;
    min-height: 0;
    padding: 2em 0;
  }
}

.footer .link > ul > li .icon {
  display: inline-block;
  vertical-align: middle;
  margin: auto 1em;
}

@media (max-width: 768px) {
  .footer .link > ul > li .icon img {
    width: 20px;
    height: 20px;
    object-fit: contain;
  }
}

.footer .row {
  display: flex;
  justify-content: space-between;
  width: 88%;
  margin: auto;
  padding: 60px 0 30px;
}

@media (max-width: 768px) {
  .footer .row {
    display: block;
  }
}

.footer .row > * {
  width: 50%;
}

.footer .row .info {
  margin-top: -21px;
}

@media (max-width: 768px) {
  .footer .row > * {
    width: 100%;
  }
}

.footer .info address {
  margin-top: 2em;
  line-height: 1.6em;
  letter-spacing: .02em;
}

@media (max-width: 768px) {
  .footer .info address {
    text-align: center;
    font-size: 11px !important;
  }
}

.footer .info address .name {
  font-size: 18px !important;
  font-weight: 700;
  letter-spacing: .06em;
}

@media (max-width: 768px) {
  .footer .info address .name {
    font-size: 15px !important;
    line-height: 1.4em;
  }
}

.footer .info address .name + p {
  margin-top: .5em;
}

.footer .menu {
  display: flex;
  justify-content: center;
}

@media (max-width: 768px) {
  .footer .menu {
    margin-top: 60px;
  }
}

.footer .menu nav {
  display: flex;
  gap: 60px;
}

@media (max-width: 768px) {
  .footer .menu nav {
    gap: 15px;
  }
}

.footer .menu nav ul li + li {
  margin-top: 1em;
}

@media (max-width: 768px) {
  .footer .menu nav ul li a {
    font-size: 11px !important;
    line-height: 1.4em;
  }
}

.footer .copy {
  font-size: 13px !important;
  text-align: center;
  letter-spacing: 0.02em;
  padding: 2em 0;
  background: #1C618B;
}

@media (max-width: 768px) {
  .footer .copy {
    font-size: 10px !important;
    line-height: 1.4em;
  }
}

.page {
  background: #FEFEFF;
  padding-top: 100px;
  padding-bottom: 30px;
}

@media (max-width: 768px) {
  .page {
    padding-top: 65px;
    padding-bottom: 15px;
  }
}

.page section {
  padding-top: 60px;
}

@media (max-width: 768px) {
  .page section {
    padding-top: 30px;
  }
}

.page section > .inner {
  width: 73%;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 768px) {
  .page section > .inner {
    width: 90%;
  }
}

.page_top {
  padding-bottom: 60px;
}

@media (max-width: 768px) {
  .page_top {
    padding-bottom: 30px;
  }
}

.page_top .sec_kukan-pict {
  padding-top: 0;
  background: #CEE8F2;
}

.page_top .sec_kukan-pict > .inner {
  width: 88%;
}

@media (max-width: 768px) {
  .page_top .sec_kukan-pict > .inner {
    width: 100%;
  }
}

.page_top .sec_kukan-pict .img {
  padding: 15px;
  overflow: hidden;
  background: linear-gradient(163deg, #5e92bf 49.9%, #5da170 50%);
}

@media (max-width: 768px) {
  .page_top .sec_kukan-pict .img {
    padding: 7.5px 0;
  }
}

.page_top .sec_kukan-pict .img img {
  width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 768px) {
  .page_top .sec_kukan-pict .img img {
    border-radius: 0;
  }
}

.page_top .sec_kukan-btn {
  background: #CEE8F2;
}

.page_top .sec_kukan-btn ul {
  margin-left: auto;
  margin-right: auto;
}

.page_top .sec_kukan-btn ul > li + li {
  margin-top: 30px;
}

@media (max-width: 768px) {
  .page_top .sec_kukan-btn ul > li + li {
    margin-top: 20px;
  }
}

.page_top .sec_kukan-btn ul > li a {
  color: #FFF;
  text-decoration: none;
}

.page_top .sec_kukan-btn .kukan {
  display: flex;
  overflow: hidden;
  border-radius: 30px;
  background: #FFF;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .page_top .sec_kukan-btn .kukan {
    display: block;
    border-radius: 7.5px;
  }
}

.page_top .sec_kukan-btn .kukan_name {
  color: #FFF;
  font-size: 42px !important;
  padding: 30px;
  background: #5DA170;
  flex-basis: 30%;
  display: grid;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .page_top .sec_kukan-btn .kukan_name {
    font-size: 22px !important;
    letter-spacing: .1em;
    padding: 7.5px;
    flex-basis: auto;
    width: 100%;
  }
}

.page_top .sec_kukan-btn .kukan > div {
  padding: 30px 60px;
  flex-basis: 70%;
  position: relative;
}

@media (max-width: 768px) {
  .page_top .sec_kukan-btn .kukan > div {
    padding: 15px 50px 15px 15px;
  }
}

.page_top .sec_kukan-btn .kukan > div::after {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url("../img/common/arrow-02.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

@media (max-width: 768px) {
  .page_top .sec_kukan-btn .kukan > div::after {
    width: 20px;
    height: 20px;
    right: 20px;
  }
}

.page_top .sec_kukan-btn .kukan_kikan, .page_top .sec_kukan-btn .kukan_detail {
  color: #5DA170;
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.8em;
}

@media (max-width: 768px) {
  .page_top .sec_kukan-btn .kukan_kikan, .page_top .sec_kukan-btn .kukan_detail {
    font-size: 15px !important;
    line-height: 1.4em;
    letter-spacing: .04em;
  }
}

.page_top .sec_news {
  background: #CEE8F2;
  padding-bottom: 60px;
}

@media (max-width: 768px) {
  .page_top .sec_news {
    padding-bottom: 30px;
  }
}

.page_top .sec_news ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
}

@media (max-width: 768px) {
  .page_top .sec_news ul {
    display: block;
  }
  .page_top .sec_news ul > li {
    width: 100%;
    margin-bottom: 15px;
  }
  .page_top .sec_news ul > li:last-child {
    margin-bottom: 0;
  }
}

.page_top .sec_news ul > li {
  width: 48.5%;
  margin-right: 3%;
  margin-bottom: 30px;
  background: #F5F9D8;
  border-radius: 30px;
  display: flex;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
  box-sizing: border-box;
}

.page_top .sec_news ul > li:nth-child(2n) {
  margin-right: 0;
}

@media (max-width: 768px) {
  .page_top .sec_news ul > li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
    border-radius: 7.5px;
  }
}

.page_top .sec_news ul > li a {
  display: flex;
  flex-direction: column;
  align-items: center; 
  text-decoration: none;
  padding: 30px;
  width: 100%;
  box-sizing: border-box;
}

.page_top .sec_news .thum {
  overflow: hidden;
  width: 80%;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.page_top .sec_news .thum img {
  width: 100%;
  height: 100%;
  object-fit: contain; 
}

.page_top .sec_news .ttl {
  margin-top: 1.5em;
  color: #5DA170;
  font-size: 21px !important;
  font-weight: 700;
  line-height: 1.2em;
  display: flex;
  align-content: center;
  align-items: center;
}

@media (max-width: 768px) {
  .page_top .sec_news .ttl {
    font-size: 15px !important;
  }
}

.page_top .sec_news .ttl::before {
  content: '';
  display: inline-block;
  width: 30px;
  height: 30px;
  background: url("../img/common/arrow-02.svg") no-repeat center/contain;
  margin-right: .8em;
  flex: 0 0 auto;
}

@media (max-width: 768px) {
  .page_top .sec_news .ttl::before {
    width: 20px;
    height: 20px;
  }
}

.page_top .sec_information {
  color: #5E92BF;
  padding: 60px 0;
}

@media (max-width: 768px) {
  .page_top .sec_information {
    padding: 30px 0;
  }
}

.page_top .sec_information .inner > a,
.page_top .sec_information .inner > div {
  color: #5E92BF;
  text-decoration: none;
  padding: 60px;
  background: rgba(206, 232, 242, 0.35);
  border-radius: 30px;
  display: flex;
  gap: 60px;
  align-content: center;
  align-items: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .page_top .sec_information .inner > a,
  .page_top .sec_information .inner > div {
    padding: 30px;
    border-radius: 7.5px;
    display: block;
  }
}

.page_top .sec_information .hdg {
  font-size: 33px !important;
  letter-spacing: .1em;
  flex: 0 0 auto;
}

@media (max-width: 768px) {
  .page_top .sec_information .hdg {
    font-size: 20px !important;
    text-align: center;
  }
}

.page_top .sec_information .detail {
  font-size: 21px !important;
  line-height: 2em;
}

@media (max-width: 768px) {
  .page_top .sec_information .detail {
    margin-top: 1em;
    font-size: 15px !important;
    line-height: 1.6em;
  }
}

.page_top .sec_hoshu-koji {
  text-align: center;
}

.page_top .sec_hoshu-koji .inner {
  width: 88%;
}

.page_top .sec_hoshu-koji .hdg {
  color: #5E92BF;
  font-size: 30px !important;
}

@media (max-width: 768px) {
  .page_top .sec_hoshu-koji .hdg {
    font-size: 20px !important;
  }
}

.page_top .sec_hoshu-koji ul {
  width: 100%;
  margin-top: 30px;
  display: flex;
  align-content: center;
  align-items: center;
  gap: 2.5%;
}

@media (max-width: 768px) {
  .page_top .sec_hoshu-koji ul {
    display: block;
  }
}

.page_top .sec_hoshu-koji ul > li {
  width: calc(100%/3 - 2/3 * 2.5%);
}

@media (max-width: 768px) {
  .page_top .sec_hoshu-koji ul > li {
    width: 100%;
  }
  .page_top .sec_hoshu-koji ul > li + li {
    margin-top: 15px;
  }
}

.page_top .sec_hoshu-koji ul > li a {
  display: grid;
  justify-content: center;
  align-items: center;
  color: #5E92BF;
  background: rgba(206, 232, 242, 0.35);
  padding: 90px 0;
  font-size: 24px !important;
  font-weight: 700;
  text-decoration: none;
  position: relative;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

@media (max-width: 768px) {
  .page_top .sec_hoshu-koji ul > li a {
    padding: 30px;
    font-size: 15px !important;
  }
}

.page_top .sec_hoshu-koji ul > li a::after {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url("../img/common/arrow-03.svg") no-repeat center/contain;
  position: absolute;
  bottom: 15px;
  right: 15px;
}

@media (max-width: 768px) {
  .page_top .sec_hoshu-koji ul > li a::after {
    width: 20px;
    height: 20px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }
}

.page_top .sec_e-nexco {
  margin-top: 90px;
  text-align: center;
}

@media (max-width: 768px) {
  .page_top .sec_e-nexco {
    margin-top: 30px;
  }
}

.page_top .sec_e-nexco .inner {
  width: 88%;
}

.page_top .sec_e-nexco .hdg {
  color: #658B11;
  font-size: 30px !important;
}

@media (max-width: 768px) {
  .page_top .sec_e-nexco .hdg {
    font-size: 20px !important;
  }
}

.page_top .sec_e-nexco .hdg + p {
  margin-top: 1em;
  font-size: 18px !important;
  line-height: 1.8em;
}

@media (max-width: 768px) {
  .page_top .sec_e-nexco .hdg + p {
    font-size: 12px !important;
  }
}

.page_top .sec_e-nexco .row {
  display: flex;
  align-content: center;
  align-items: center;
  background: rgba(101, 139, 17, 0.08);
  border-radius: 30px;
  margin-top: 30px;
  padding: 60px 80px;
  gap: 40px;
}

@media (max-width: 768px) {
  .page_top .sec_e-nexco .row {
    display: block;
    padding: 30px;
    border-radius: 7.5px;
  }
}

.page_top .sec_e-nexco .logo {
  flex: 0 0 auto;
  text-align: center;
}

.page_top .sec_e-nexco .logo img {
  margin-left: auto;
  margin-right: auto;
}

.page_top .sec_e-nexco ul {
  width: 100%;
  border-radius: 30px;
  display: flex;
  align-content: center;
  align-items: center;
  gap: 2.5%;
}

@media (max-width: 1150px) {
  .page_top .sec_e-nexco ul {
    margin-top: 15px;
    display: block;
  }
}

.page_top .sec_e-nexco ul > li {
  flex: 1;
}

@media (max-width: 1150px) {
  .page_top .sec_e-nexco ul > li + li {
    margin-top: 15px;
  }
}

.page_top .sec_e-nexco ul > li a {
  display: grid;
  justify-content: center;
  align-items: center;
  min-height: 100px;
  color: #658B11;
  background: #FFF;
  font-size: 18px !important;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
}

@media (max-width: 1150px) {
  .page_top .sec_e-nexco ul > li a {
    min-height: 0;
    font-size: 15px !important;
    padding: 2em 0;
  }
}

.page_top .sec_information .inner > a {
  position: relative;
  padding: 60px 80px 60px 60px;
}

.page_top .sec_information .inner > a::after {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  background: url("../img/common/arrow-03.svg") no-repeat center/contain;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translateY(-50%);
}

#scroll-to-top {
  display: none !important;
}