:root {
  --transDur: .3s;
  --transEasing: ease-in-out;
  --designW: 1360;
}
@media screen and (max-width: 767px) {
  :root {
    --designW: 375;
  }
}

.ct_std {
  width: min(1280px, calc(100% - 40px));
  margin-inline: auto;
}

.ct_nrw {
  width: min(1015px, calc(100% - 40px));
  margin-inline: auto;
}

.pageHead {
  display: -ms-grid;
  display: grid;
}
@media not all and (max-width: 767px), print {
  .pageHead {
    -ms-grid-columns: auto 20px 50%;
    grid-template-columns: auto 50%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0 20px;
    margin-bottom: 60px;
  }
}
@media screen and (max-width: 767px) {
  .pageHead {
    gap: calc(35 / (var(--designW)) * 100vw) 0;
    margin-bottom: calc(40 / (var(--designW)) * 100vw);
  }
}
.pageHead_ttl {
  font-weight: 600;
}
@media not all and (max-width: 767px), print {
  .pageHead_ttl {
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .pageHead_ttl {
    font-size: calc(22 / (var(--designW)) * 100vw);
  }
}
@media not all and (max-width: 767px), print {
  .pageHead_desc {
    margin-top: 15px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .pageHead_desc {
    margin-top: calc(15 / (var(--designW)) * 100vw);
    font-size: calc(14 / (var(--designW)) * 100vw);
  }
}
@media not all and (max-width: 767px), print {
  .pageHead_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 25px;
  }
}
@media screen and (max-width: 767px) {
  .pageHead_btn {
    margin-top: calc(20 / (var(--designW)) * 100vw);
  }
}
.pageHead_btn a {
  position: relative;
  display: block;
  background-color: #E8F2F1;
  color: #1D8073;
  font-weight: 700;
  text-decoration: none;
  -webkit-transition-property: background-color, color;
  transition-property: background-color, color;
  -webkit-transition-duration: var(--transDur);
          transition-duration: var(--transDur);
  -webkit-transition-timing-function: var(--transEasing);
          transition-timing-function: var(--transEasing);
}
@media not all and (max-width: 767px), print {
  .pageHead_btn a {
    padding: 24px 99px 24px 23px;
    border-radius: 10px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .pageHead_btn a {
    padding: calc(16 / (var(--designW)) * 100vw) calc(40 / (var(--designW)) * 100vw) calc(16 / (var(--designW)) * 100vw) calc(14 / (var(--designW)) * 100vw);
    border-radius: calc(10 / (var(--designW)) * 100vw);
    font-size: calc(14 / (var(--designW)) * 100vw);
  }
}
.pageHead_btn a:focus-visible {
  background-color: #1D8073;
  color: #fff;
}
@media (any-hover: hover) {
  .pageHead_btn a:hover {
    background-color: #1D8073;
    color: #fff;
  }
}
.pageHead_btn a .icon {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  height: auto;
  aspect-ratio: 1;
  border: 1px solid currentColor;
  border-radius: 50%;
}
@media not all and (max-width: 767px), print {
  .pageHead_btn a .icon {
    right: 23px;
    width: 18px;
  }
}
@media screen and (max-width: 767px) {
  .pageHead_btn a .icon {
    right: calc(14 / (var(--designW)) * 100vw);
    width: calc(18 / (var(--designW)) * 100vw);
  }
}
.pageHead_btn a .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(50% + 1px);
  translate: -50% -50%;
  height: auto;
  aspect-ratio: 1;
  background-color: currentColor;
  -webkit-mask-image: url(../img/icon_arw.svg);
          mask-image: url(../img/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
}
@media not all and (max-width: 767px), print {
  .pageHead_btn a .icon:after {
    width: 8px;
  }
}
@media screen and (max-width: 767px) {
  .pageHead_btn a .icon:after {
    width: calc(8 / (var(--designW)) * 100vw);
  }
}
.pageHead_thumb {
  width: 100%;
  border-radius: 20px;
  overflow: hidden;
}
.pageHead_thumb img {
  width: 100%;
  aspect-ratio: 640/240;
  -o-object-fit: cover;
     object-fit: cover;
}

.accordionSect_unit {
  border-bottom: 1px solid #E8E8E8;
}
.accordionSect_unit:has(.accordionSect_hdg[aria-expanded=true]) {
  border-color: transparent;
}
.accordionSect_hdg {
  position: relative;
  display: block;
  width: 100%;
  font-weight: 500;
}
@media not all and (max-width: 767px), print {
  .accordionSect_hdg {
    padding-block: 15px;
    padding-left: 18px;
    font-size: 2.2rem;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_hdg {
    padding-block: calc(15 / (var(--designW)) * 100vw);
    padding-left: calc(18 / (var(--designW)) * 100vw);
    font-size: calc(20 / (var(--designW)) * 100vw);
  }
}
.accordionSect_hdg[aria-expanded=true] .icon:after {
  scale: 1 0;
}
.accordionSect_hdg:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  background-color: #1D8073;
}
@media not all and (max-width: 767px), print {
  .accordionSect_hdg:before {
    width: 8px;
    height: calc(100% - 30px);
    border-radius: 2px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_hdg:before {
    width: calc(8 / (var(--designW)) * 100vw);
    height: calc(100% - 30 / (var(--designW)) * 100vw);
    border-radius: calc(2 / (var(--designW)) * 100vw);
  }
}
.accordionSect_hdg .icon {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  height: auto;
  aspect-ratio: 1;
  border: 1px solid #1D8073;
  border-radius: 50%;
}
@media not all and (max-width: 767px), print {
  .accordionSect_hdg .icon {
    right: 15px;
    width: 26px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_hdg .icon {
    right: calc(15 / (var(--designW)) * 100vw);
    width: calc(25 / (var(--designW)) * 100vw);
  }
}
.accordionSect_hdg .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  height: 2px;
  background-color: #1D8073;
}
@media not all and (max-width: 767px), print {
  .accordionSect_hdg .icon:before {
    width: 13px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_hdg .icon:before {
    width: calc(11 / (var(--designW)) * 100vw);
  }
}
.accordionSect_hdg .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  background-color: #1D8073;
  scale: 1 1;
  width: 2px;
  -webkit-transition: scale var(--transDur) var(--transEasing);
  transition: scale var(--transDur) var(--transEasing);
}
@media not all and (max-width: 767px), print {
  .accordionSect_hdg .icon:after {
    height: 13px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_hdg .icon:after {
    height: calc(13 / (var(--designW)) * 100vw);
  }
}
@media not all and (max-width: 767px), print {
  .accordionSect_list {
    padding-left: 15px;
  }
}
.accordionSect_item {
  -webkit-transition: background-color var(--transDur) var(--transEasing);
  transition: background-color var(--transDur) var(--transEasing);
}
@media not all and (max-width: 767px), print {
  .accordionSect_item:first-child {
    padding: 10px 15px 15px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_item:first-child {
    padding: calc(10 / (var(--designW)) * 100vw) calc(15 / (var(--designW)) * 100vw) calc(15 / (var(--designW)) * 100vw);
  }
}
@media not all and (max-width: 767px), print {
  .accordionSect_item:not(:first-child) {
    padding: 15px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_item:not(:first-child) {
    padding: calc(15 / (var(--designW)) * 100vw);
  }
}
.accordionSect_item:has(.accordionSect_subHdg[aria-expanded=true]) {
  background-color: #E8F2F1;
  border-color: transparent !important;
}
.accordionSect_item:has(.accordionSect_subHdg[aria-expanded=true]) + .accordionSect_item {
  border-color: transparent !important;
}
.accordionSect_item + .accordionSect_item {
  border-top: 1px solid #E8E8E8;
}
.accordionSect_subHdg {
  position: relative;
  display: block;
  width: 100%;
  color: #1D8073;
  font-weight: 500;
}
@media not all and (max-width: 767px), print {
  .accordionSect_subHdg {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_subHdg {
    font-size: calc(18 / (var(--designW)) * 100vw);
  }
}
.accordionSect_subHdg[aria-expanded=true]:after {
  scale: -1 -1;
}
.accordionSect_subHdg:after {
  content: "";
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  rotate: 45deg;
  height: auto;
  aspect-ratio: 1;
  border-bottom: 2px solid #1D8073;
  border-right: 2px solid #1D8073;
  -webkit-transition: scale var(--transDur) var(--transEasing);
  transition: scale var(--transDur) var(--transEasing);
}
@media not all and (max-width: 767px), print {
  .accordionSect_subHdg:after {
    right: 5px;
    width: 8px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_subHdg:after {
    right: calc(5 / (var(--designW)) * 100vw);
    width: calc(8 / (var(--designW)) * 100vw);
  }
}
@media not all and (max-width: 767px), print {
  .accordionSect_subBody > div {
    padding-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_subBody > div {
    padding-top: calc(15 / (var(--designW)) * 100vw);
  }
}
@media not all and (max-width: 767px), print {
  .accordionSect_toggle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_toggle {
    display: none;
    margin-top: calc(30 / (var(--designW)) * 100vw);
  }
}
.accordionSect_toggle button {
  position: relative;
  display: block;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  border: 1px solid #1D8073;
  color: #1D8073;
  font-weight: 700;
}
@media not all and (max-width: 767px), print {
  .accordionSect_toggle button {
    padding: 24px 62px 24px 23px;
    border-radius: 10px;
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_toggle button {
    padding: calc(14 / (var(--designW)) * 100vw) calc(52 / (var(--designW)) * 100vw) calc(14 / (var(--designW)) * 100vw) calc(13 / (var(--designW)) * 100vw);
    border-radius: calc(10 / (var(--designW)) * 100vw);
    font-size: calc(16 / (var(--designW)) * 100vw);
  }
}
.accordionSect_toggle button .icon {
  position: absolute;
  top: 50%;
  translate: 0 -50%;
  height: auto;
  aspect-ratio: 1;
}
@media not all and (max-width: 767px), print {
  .accordionSect_toggle button .icon {
    right: 15px;
    width: 18px;
  }
}
@media screen and (max-width: 767px) {
  .accordionSect_toggle button .icon {
    right: calc(15 / (var(--designW)) * 100vw);
    width: calc(18 / (var(--designW)) * 100vw);
  }
}
.accordionSect_toggle button .icon:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 100%;
  height: 2px;
  background-color: #1D8073;
}
.accordionSect_toggle button .icon:after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 2px;
  height: 100%;
  background-color: #1D8073;
  scale: 1 1;
  -webkit-transition: scale var(--transDur) var(--transEasing);
  transition: scale var(--transDur) var(--transEasing);
}
.accordionSect_toggle button .icon.is_toggle:after {
  scale: -1 0;
}

.cards {
  display: -ms-grid;
  display: grid;
}
@media not all and (max-width: 767px), print {
  .cards {
    -ms-grid-columns: 1fr 10px 1fr;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 10px;
  }
}
@media screen and (max-width: 767px) {
  .cards {
    gap: calc(8 / (var(--designW)) * 100vw) 0;
  }
}

.card_article {
  display: -ms-grid;
  display: grid;
  background-color: #fff;
}
@media not all and (max-width: 767px), print {
  .card_article {
    -ms-grid-columns: auto 27px 70px;
    grid-template-columns: auto 70px;
    gap: 0 27px;
    padding: 20px 25px;
    border-radius: 10px;
  }
}
@media screen and (max-width: 767px) {
  .card_article {
    -ms-grid-columns: auto calc(10 / (var(--designW)) * 100vw) calc(60 / (var(--designW)) * 100vw);
    grid-template-columns: auto calc(60 / (var(--designW)) * 100vw);
    gap: 0 calc(10 / (var(--designW)) * 100vw);
    padding: calc(15 / (var(--designW)) * 100vw);
    border-radius: calc(10 / (var(--designW)) * 100vw);
  }
}
.card_name {
  font-weight: 500;
}
@media not all and (max-width: 767px), print {
  .card_name {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .card_name {
    font-size: calc(14 / (var(--designW)) * 100vw);
  }
}
.card_link {
  display: inline-block;
  font-weight: 500;
}
@media not all and (max-width: 767px), print {
  .card_link {
    margin-top: 10px;
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 767px) {
  .card_link {
    margin-top: calc(10 / (var(--designW)) * 100vw);
    font-size: calc(14 / (var(--designW)) * 100vw);
  }
}
.card_qr {
  width: 100%;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
}
.card_qr img {
  width: 100%;
}