@charset "UTF-8";
/* 200 or 400 */
/* 400 */
html {
  color: #333;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 62.5%;
  position: relative;
  background: #fff;
  font-weight: 400;
  transition: .3s;
  visibility: hidden;
  overscroll-behavior-x: none;
  -webkit-overflow-scrolling: touch;
}
html.wf-active {
  visibility: visible;
}
@media (max-width: 959px) {
  html {
    font-size: 52%;
  }
}

body {
  font-size: 1.5rem;
  transition: .3s;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "kern", "liga", "clig", "calt";
  padding: 14rem 0 0;
  background: url("../img/bg.webp") repeat center top;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior-x: none;
  touch-action: pan-y;
}
@media (max-width: 559px) {
  body {
    padding: 7rem 0 0;
  }
}
body a {
  color: #333;
  text-decoration: none;
  transition: .3s;
  vertical-align: top;
  cursor: pointer;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  display: inline-block;
}
body input {
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
}
body input[type="submit"], body input[type="button"] {
  -webkit-appearance: none;
}
body a:hover {
  text-decoration: none;
}
body a:hover img {
  opacity: .8;
  transition: .3s;
}
body a:focus {
  overflow: hidden;
  outline: none;
}
body .indent {
  padding-left: 1em;
  text-indent: -1em;
}
body dt, body dd, body p, body li, body th, body td, body address {
  line-height: 2.1;
  letter-spacing: 1px;
}
body img {
  max-width: 100%;
  transition: .3s;
}
body strong {
  font-weight: 700;
}
body .red {
  color: #cb2d28;
}
body .right {
  text-align: right;
}
body .left {
  text-align: left;
}
body .center {
  text-align: center;
}
body .b {
  font-weight: bold;
}
body .s {
  font-size: 1.2rem;
}
body .must {
  background: #ff8893;
  padding: 0.2% 2%;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 3px;
  display: inline-block;
  margin-left: .8rem;
}
body .contentWrap {
  min-height: 30rem;
  padding: 15rem 0;
}
body .contentWrap.yellow {
  background: url("../img/bg-box01-top.webp") no-repeat center top/100% auto, url("../img/bg-box01-bottom.webp") no-repeat center bottom/100% auto, url("../img/bg-box01.webp") repeat center top/cover;
}
body .contentWrap.green {
  background: url("../img/bg-box02-top.webp") no-repeat center top/100% auto, url("../img/bg-box02-bottom.webp") no-repeat center bottom/100% auto, url("../img/bg-box02.webp") repeat center top/cover;
}
@media (max-width: 959px) {
  body .contentWrap {
    padding: 11rem 0;
  }
}
@media (max-width: 559px) {
  body .contentWrap {
    padding: 11vw 0;
  }
}
body .ac-menu {
  cursor: pointer;
}
body .ac-menu + * {
  display: none;
}
body .contentBox01 {
  border: 5px solid #029141;
  margin: 0 9rem;
  border-radius: 2rem;
  background: #fff;
  padding: 6rem 11rem;
}
@media (max-width: 1250px) {
  body .contentBox01 {
    padding: 6rem 8rem;
  }
}
@media (max-width: 959px) {
  body .contentBox01 {
    margin: 0;
    padding: 5rem;
  }
}
@media (max-width: 559px) {
  body .contentBox01 {
    padding: 4rem 3rem;
  }
}
body .title-common01 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.4rem;
  margin: 0 0 4rem;
}
body .title-common01 strong {
  color: #fff;
  font-size: 2.6rem;
  border-radius: 20rem;
  padding: 1rem 3rem 1.3rem;
  letter-spacing: .4rem;
  min-width: 24rem;
  display: inline-block;
  text-align: center;
  box-sizing: border-box;
}
body .title-common01 span {
  font-weight: normal;
}
body .title-common01.green strong {
  background: #029141;
}
body .title-common01.green span {
  color: #029141;
}
@media (max-width: 559px) {
  body .title-common01 {
    gap: 1rem;
    margin: 0 0 1rem;
  }
  body .title-common01 strong {
    font-size: 1.6rem;
    min-width: 17rem;
    letter-spacing: .2rem;
  }
  body .title-common01 span {
    font-size: 1.6rem;
  }
}
body .title-common02 {
  text-align: center;
  color: #029141;
  font-size: 3rem;
  font-family: "bokutoh-rera", sans-serif;
  font-weight: 400;
  margin: 2rem 0 3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: url("../img/dotline.webp") repeat-x center bottom;
  padding: 0 0 4rem;
}
body .title-common02 span {
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  color: #333;
  font-size: 1.8rem;
}
body .list-faq li {
  background: url("../img/dotline.webp") repeat-x left bottom;
  padding: 2rem 0 1rem;
}
body .list-faq li dl dt, body .list-faq li dl dd {
  position: relative;
  padding: 0 0 0 7rem;
}
body .list-faq li dl dt:before, body .list-faq li dl dd:before {
  content: "";
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 0;
  padding-bottom: .4rem;
}
body .list-faq li dl dt {
  font-size: 1.7rem;
  font-weight: 700;
  min-height: 5rem;
}
body .list-faq li dl dt:after {
  content: "";
  background: url("../img/arrow@2x.webp") no-repeat center top/cover;
  width: 2.4rem;
  height: 1.7rem;
  position: absolute;
  right: 2rem;
  top: 1.2rem;
  transition: .3s;
}
body .list-faq li dl dt:before {
  content: "Q";
  background: #029141;
}
body .list-faq li dl dt.active {
  color: #029141;
}
body .list-faq li dl dt.active:after {
  transform: rotateZ(540deg);
}
body .list-faq li dl dd {
  margin: 0 0 1rem;
}
body .list-faq li dl dd a {
  color: #009eda;
}
body .list-faq li dl dd a:hover {
  text-decoration: underline;
}
body .list-faq li dl dd:before {
  content: "A";
  background: #bce151;
  padding-left: .2rem;
}
body .list-faq li:last-of-type {
  background: none;
}
@media (max-width: 559px) {
  body .list-faq li dl dt, body .list-faq li dl dd {
    padding: 0 0 0 6rem;
  }
  body .list-faq li dl dt {
    line-height: 1.6;
    font-size: 1.6rem;
    padding-right: 4rem;
    padding-top: .4rem;
  }
  body .list-faq li dl dt:after {
    width: 3vw;
    height: 2vw;
    right: 1vw;
    top: 2vw;
  }
}
body .list-common01 {
  margin: 0 0 3rem;
}
body .list-common01 li {
  background: url("../img/dotline.webp") repeat-x left bottom;
  padding: 2rem 0;
}
body .list-common01 li dl {
  display: flex;
  justify-content: space-between;
  gap: 4rem;
}
body .list-common01 li dl dd {
  flex: 1;
}
body .list-common01 li dl dd .title {
  font-weight: 700;
  font-size: 1.6rem;
  margin: 0 0 .4rem;
}
body .list-common01 li dl dd .text {
  margin: 0 0 1.5rem;
}
body .list-common01 li dl dd .text a {
  color: #009eda;
}
body .list-common01 li dl dd .text a:hover {
  text-decoration: underline !important;
}
body .list-common01 li dl dd .text a:hover {
  text-decoration: none;
}
body .list-common01 li:last-of-type {
  border-bottom: none;
}
@media (max-width: 1250px) {
  body .list-common01 li dl dd .title {
    margin: 0 0 1rem;
  }
}
@media (max-width: 959px) {
  body .list-common01 li dl dd .title {
    margin: 0 0 1rem;
  }
}
@media (max-width: 559px) {
  body .list-common01 li dl {
    flex-wrap: wrap;
    gap: 1rem;
  }
  body .list-common01 li dl dt {
    width: 100%;
  }
}
body .list-category {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
}
body .list-category li {
  background: none;
  padding: 0;
}
body .list-category li a {
  color: #fff;
  border-radius: .5rem;
  padding: 0 1rem .2rem;
  line-height: 1.8;
  transition: .3s;
}
body .list-category li a.category01 {
  background: #ff8893;
}
body .list-category li a.category02 {
  background: #09cce3;
}
body .list-category li a.category03 {
  background: #faa608;
}
body .list-category li a:hover {
  filter: brightness(1.1);
}
@media (max-width: 559px) {
  body .list-category {
    flex-wrap: wrap;
  }
}
body .btn-common01 a {
  background: #fff;
  border-radius: 20rem;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: .4rem;
  padding: .4rem 1rem;
  min-width: 20rem;
  transition: .3s;
}
body .btn-common01.green a {
  border: 2px solid #029141;
  background: #fff;
  color: #029141;
}
body .btn-common01.green a:hover {
  background: #029141;
  color: #fff;
}
@media (max-width: 559px) {
  body .btn-common01 a {
    min-width: 100%;
    box-sizing: border-box;
    padding: 1rem 2rem;
  }
}
body .btn-common02 a {
  border-radius: 20rem;
  font-weight: 700;
  min-width: 20rem;
  transition: .3s;
  text-align: center;
  font-size: 2.3rem;
  letter-spacing: .1rem;
  padding: 0 1rem .2rem;
  line-height: 1.8;
  margin: 0 auto;
  display: inline-block;
}
body .btn-common02.green a {
  border: 2px solid #029141;
  background: #029141;
  color: #fff;
}
body .btn-common02.green a:hover {
  background: #fff;
  color: #029141;
}
body .btn-common02.center {
  text-align: center;
}
@media (max-width: 1250px) {
  body .btn-common02 a {
    font-size: 2rem;
    min-width: 17rem;
  }
}
@media (max-width: 559px) {
  body .btn-common02 a {
    font-size: 1.4rem;
    padding: 1rem;
    box-sizing: border-box;
  }
}
body .footer-bnr {
  padding: 8rem 0;
  background: url("../img/dotline.webp") repeat-x left bottom;
}
body .footer-bnr ul {
  display: flex;
  justify-content: center;
  gap: 2rem;
}
@media (max-width: 959px) {
  body .footer-bnr {
    padding: 18vw 0 8vw;
  }
  body .footer-bnr ul {
    flex-wrap: wrap;
    gap: 2vw;
  }
}
@media (max-width: 559px) {
  body .footer-bnr ul {
    padding: 6vw 10vw 3vw;
  }
}
body .bg-gray {
  background: #f2f2f2;
}
body .nowrap {
  white-space: nowrap;
}

/* -----------------------------------------
		common
----------------------------------------- */
.dPc {
  display: block;
}

.dSp {
  display: none;
}

.dPcinline {
  display: inline-block;
}

.dSpinline {
  display: none;
}

@media (max-width: 559px) {
  .dPc {
    display: none;
  }

  .dSp {
    display: block;
  }

  .dPcinline {
    display: none;
  }

  .dSpinline {
    display: inline-block;
  }
}
.container {
  max-width: 128rem;
  margin: 0 auto;
  padding: 0 3rem;
}
@media (max-width: 959px) {
  .container {
    width: auto;
  }
}
@media (max-width: 559px) {
  .container {
    padding: 0 3vw;
  }
}

#breadcrumb {
  margin: 0 0 3rem;
}
#breadcrumb ul {
  display: flex;
  justify-content: flex-start;
  padding: 0 5rem;
}
#breadcrumb ul li {
  position: relative;
  color: #029141;
}
#breadcrumb ul li a {
  color: #029141;
  text-decoration: underline;
}
#breadcrumb ul li a:hover {
  text-decoration: none;
}
#breadcrumb ul li:after {
  content: ">";
  padding: 0 1rem;
}
#breadcrumb ul li:last-of-type:after {
  display: none;
}
@media (max-width: 559px) {
  #breadcrumb ul {
    padding: 0;
    justify-content: center;
    flex-wrap: wrap;
  }
}

#pagetop {
  position: fixed;
  right: 6rem;
  bottom: 7rem;
  cursor: pointer;
  transition: .3s;
  display: none;
  z-index: 1;
}
#pagetop:hover {
  bottom: 5rem;
}
@media (max-width: 959px) {
  #pagetop {
    width: 11vw;
    right: 5vw;
    bottom: 7vw;
  }
  #pagetop:hover {
    bottom: 8vw;
  }
}
#pagetop img {
  max-width: 80%;
  height: auto;
}
#floating {
  position: fixed;
  right: -1rem;
  top: 18rem;
}
#floating ul li a {
  position: relative;
  transition: .3s;
  right: 0;
}
#floating ul li a:hover {
  right: 1rem;
}
@media (max-width: 959px) {
  #floating {
    right: -.5vw;
    top: 15vw;
  }
  #floating ul li a {
    width: 7vw;
  }
  #floating ul li a:hover {
    right: .5vw;
  }
}
@media (max-width: 559px) {
  #floating {
    display: none;
    right: -.5vw;
    top: 24vw;
  }
  #floating ul li a {
    width: 10vw;
  }
  #floating ul li a:hover {
    right: .5vw;
  }
}

/* -----------------------------------------
		haeder footer
----------------------------------------- */
header {
  position: fixed;
  width: 100%;
  background: #fff;
  z-index: 100;
  transition: .3s;
  top: 0;
  border-top: 1.6rem solid #029141;
  padding: 2.4rem 0 0;
  box-shadow: 0 10px 20px -10px rgba(0, 0, 0, 0.35);
  z-index: 2;
}
header .container {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}
header .container nav {
  flex: 1;
}
header .container nav ul {
  display: flex;
  justify-content: space-between;
  height: 100%;
  align-items: center;
}
header .container nav ul li {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
header .container nav ul li a {
  width: 100%;
  position: relative;
  height: 100%;
  align-items: center;
  text-align: center;
  display: flex;
  justify-content: center;
  padding: 2.8rem 0 4rem;
  background: none;
  transition: 0s;
}
header .container nav ul li a.active {
  color: #029141;
  background: url("../img/arrow-nav.webp") no-repeat center bottom 4.2rem;
}
header .container nav ul li a:hover {
  color: #029141;
  background: url("../img/arrow-nav.webp") no-repeat center bottom 4.2rem;
}
header .container nav ul li a:after {
  position: absolute;
  right: 0;
  content: "";
  width: 1px;
  height: 3.5rem;
  background: #333;
  display: inline-block;
}
header .container nav ul li:last-of-type a:after {
  display: none;
}
header .container nav .children-menu {
  position: absolute;
  left: 0;
  width: 100%;
  background-color: #bce151;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: 300ms;
  top: 12.2rem;
  z-index: 1;
  height: auto;
  box-shadow: inset 0 10px 20px -10px rgba(0, 0, 0, 0.35);
  padding: 1.6rem 0;
  gap: 2rem;
}
header .container nav .children-menu li {
  width: auto;
}
header .container nav .children-menu li a {
  background: #fff;
  border-radius: 1rem;
  min-width: 21rem;
  border: 1px solid #029141;
  color: #029141;
  padding: 1rem 1.6rem;
  font-weight: 700;
  transition: .3s;
}
header .container nav .children-menu li a:hover {
  background: #029141;
  color: #fff;
}
header .container nav .children-menu li a:after {
  display: none;
}
header .container nav .active {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 959px) {
  header {
    padding: 0;
    border-top-width: 1rem;
  }
  header .container {
    align-items: center;
    height: 10rem;
    padding-top: 1rem;
  }
  header .container .logo {
    width: 29rem;
  }
  header .container nav {
    display: none;
  }
}
@media (max-width: 559px) {
  header {
    border-top-width: .6rem;
  }
  header .container {
    height: 6rem;
  }
  header .container .logo {
    width: 18rem;
  }
}

.outer-menu {
  display: none;
}
@media (max-width: 959px) {
  .outer-menu {
    display: block;
    position: fixed;
    top: 10vh;
    left: 0;
    z-index: 15000;
  }
  .outer-menu .checkbox-toggle {
    position: fixed;
    top: 2.9rem;
    right: 2vw;
    z-index: 15002;
    cursor: pointer;
    width: 7.5rem;
    height: 7rem;
    opacity: 0;
    margin: 0;
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div {
    transform: rotate(135deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div:before, .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
    top: 0;
    transform: rotate(90deg);
  }
  .outer-menu .checkbox-toggle:checked + .hamburger > div:after {
    opacity: 0;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu {
    pointer-events: auto;
    visibility: visible;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div {
    transform: scale(1);
    transition-duration: .75s;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div > div {
    opacity: 1;
    transition: opacity .4s ease .4s;
  }
  .outer-menu .checkbox-toggle:checked:hover + .hamburger > div {
    transform: rotate(225deg);
  }
  .outer-menu .hamburger {
    position: fixed;
    top: 2.9rem;
    right: 2vw;
    z-index: 15001;
    width: 4rem;
    height: 3.2rem;
    padding: 1.8rem;
    background: none;
    cursor: pointer;
    backface-visibility: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .hamburger > div {
    position: relative;
    flex: none;
    width: 100%;
    height: 2px;
    background: #333;
    transition: all .4s ease;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .hamburger > div:before, .outer-menu .hamburger > div:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: -10px;
    left: 0;
    width: 100%;
    height: 2px;
    background: inherit;
    transition: all .4s ease;
  }
  .outer-menu .hamburger > div:after {
    top: 10px;
  }
  .outer-menu .menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    visibility: hidden;
    overflow: hidden;
    backface-visibility: hidden;
    outline: 1px solid transparent;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu > div {
    width: 200vw;
    height: 200vw;
    color: #FEFEFE;
    background: #ffb81f;
    border-radius: 50%;
    transition: all .4s ease;
    flex: none;
    transform: scale(0);
    backface-visibility: hidden;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu > div > div {
    text-align: center;
    max-width: 90vw;
    max-height: 100vh;
    opacity: 0;
    transition: opacity .4s ease;
    overflow-y: auto;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .outer-menu .menu > div > div > ul {
    list-style: none;
    padding: 0 1em;
    margin: 0;
    display: block;
    max-height: 100vh;
  }
  .outer-menu .menu > div > div > ul > li {
    padding: 0;
    margin: 1em;
    font-size: 1.6rem;
    display: block;
  }
  .outer-menu .menu > div > div > ul > li > a {
    position: relative;
    display: inline;
    cursor: pointer;
    transition: color .4s ease;
    font-family: "futura-pt", sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 2rem;
    color: #000;
  }
  .outer-menu .menu > div > div > ul > li > a:hover {
    text-decoration: none;
    color: #333;
  }
  .outer-menu .menu > div > div > ul > li > a:hover:after {
    width: 100%;
  }
  .outer-menu .menu > div > div > ul > li > a:after {
    content: '';
    position: absolute;
    z-index: 1;
    bottom: -0.15em;
    left: 0;
    width: 0;
    height: 2px;
    background: none;
    transition: width .4s ease;
  }
}
@media (max-width: 559px) {
  .outer-menu .checkbox-toggle {
    width: 6rem;
    height: 5rem;
    top: .8rem;
  }
  .outer-menu .checkbox-toggle:checked ~ .menu > div {
    transition-duration: .3s;
  }
  .outer-menu .hamburger {
    width: 3rem;
    padding: 1.4rem;
    top: .8rem;
    right: 2vw;
  }
  .outer-menu .menu > div {
    height: 117vh;
    width: 117vh;
    transition: all .3s ease;
  }
}


footer .container .wrap {
  display: flex;
  justify-content: space-between;
  padding: 6rem 0;
}
footer .container .wrap .info .address {
  font-size: 1.7rem;
  font-weight: 500;
  line-height: 1.6;
  margin: 2rem 0 3rem;
}
footer .container .wrap .info .link {
  display: flex;
  justify-content: flex-start;
  gap: 1rem;
}
footer .container .wrap .info .link .btn-common01 a {
  min-width: 20rem;
  letter-spacing: 0;
  text-align: center;
  padding: 1.4rem 0;
  line-height: 1.4;
  min-height: 4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}
footer .container .wrap .info .link .btn-common01 a span {
  display: block;
  text-align: center;
}
footer .container .wrap .map iframe {
  width: 100%;
  height: 28.6rem;
  width: 47rem;
  border-radius: 2rem;
}
footer small {
  display: block;
  text-align: center;
  background: #029141;
  color: #fff;
  font-size: 1.7rem;
  padding: 2rem 0;
}
@media (max-width: 1250px) {
  footer .container .wrap .info .link {
    flex-wrap: wrap;
  }
}
@media (max-width: 959px) {
  footer .container .wrap {
    flex-wrap: wrap;
    padding: 8vw 0;
  }
  footer .container .wrap .info {
    text-align: center;
    width: 100%;
    margin: 0 0 6rem;
  }
  footer .container .wrap .info .link {
    justify-content: center;
  }
  footer .container .wrap .map {
    width: 100%;
  }
  footer .container .wrap .map iframe {
    width: 100%;
    height: 38vw;
  }
}
@media (max-width: 559px) {
  footer .container .wrap .info .logo {
    padding: 0 10vw;
    width: 52vw;
    margin: 0 auto;
  }
  footer .container .wrap .info .link .btn-common01 {
    width: 100%;
  }
  footer .container .wrap .info .link .btn-common01 a {
    width: 100%;
    box-sizing: border-box;
    min-width: 100%;
    flex-direction: inherit;
  }
  footer .container .wrap .info .link .btn-common01 a span {
    display: inline-block;
  }
}

#mv {
  padding: 8rem 0 10rem;
  position: relative;
}
#mv ul li {
  padding: 0 1.5rem;
}
#mv ul li img {
  width: 100%;
  height: auto;
  border-radius: 3rem;
}
#mv .illust {
  position: absolute;
  left: 59vw;
  bottom: 1vw;
  width: 7vw;
}
#mv .slick-dots {
  bottom: -4rem;
}
#mv .slick-dots li {
  width: 1rem;
  height: 1rem;
  margin: 0;
  box-sizing: border-box;
}
#mv .slick-dots li button {
  height: 1rem;
  width: 1rem;
  padding: 0;
}
#mv .slick-dots li button:before {
  background: #fff;
  color: #fff;
  border: 2px solid #029141;
  border-radius: 50%;
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  opacity: 1;
  box-sizing: border-box;
}
#mv .slick-dots li.slick-active button:before {
  background: #029141;
}
@media (max-width: 959px) {
  #mv {
    padding: 4rem 0;
  }
  #mv .illust {
    left: 63vw;
    bottom: -1vw;
    width: 11vw;
  }
}
@media (max-width: 559px) {
  #mv ul li {
    padding: 0 1rem;
  }
  #mv .illust {
    left: 67vw;
    bottom: 2vw;
    width: 15vw;
  }
}

#key {
  padding: 12rem 0 8rem;
  background: url("../img/mark01.webp") no-repeat left 5rem top 5rem, url("../img/mark02.webp") no-repeat right 5rem top 5rem;
}
#key h1 {
  text-align: center;
  color: #029141;
  font-family: "bokutoh-rera", sans-serif;
  font-size: 4.4rem;
  margin: 0px 0 3rem;
  font-weight: 400;
  letter-spacing: .6rem;
}
#key h1 + p {
  text-align: center;
  font-size: 1.7rem;
}
@media (max-width: 559px) {
  #key {
    padding: 16vw 0 10vw;
    background-size: 17vw auto, 20vw auto;
    background-position: left 4vw top 8vw, right 4vw top 8vw;
  }
  #key h1 {
    font-size: 7vw;
    letter-spacing: .5vw;
    margin: 0 0 4vw;
  }
  #key h1 + p {
    font-size: 3vw;
  }
}

#top-news .title h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: normal;
  margin: 0 0 5rem;
}
#top-news .title h1 strong {
  font-family: "bokutoh-rera", sans-serif;
  font-weight: 400;
  border: 3px solid #029141;
  border-radius: 1.6rem;
  color: #029141;
  padding: 1.8rem 5rem;
  letter-spacing: .4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin: 0 0 4rem;
  text-shadow: 0 0 5px #fff,0 0 5px #fff,0 0 5px #fff;
}
#top-news .title h1 strong i {
  font-style: normal;
  font-size: 4rem;
}
#top-news .title h1 strong:before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -19px;
  width: 30px;
  height: 19px;
  background: #118a3a;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  pointer-events: none;
}
#top-news .title h1 strong:after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -15px;
  width: 24px;
  height: 16px;
  background: #fff;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  pointer-events: none;
}
#top-news .title h1 span {
  font-family: "ab-kirigirisu", sans-serif;
  color: #029141;
  font-size: 9rem;
  letter-spacing: 1.4rem;
  position: relative;
}
#top-news .title h1 span:before {
  content: "";
  background: url("../img/mark01@2x.webp") no-repeat center top/cover;
  width: 14.6rem;
  height: 15.4rem;
  left: -28rem;
  top: -15rem;
  position: absolute;
}
#top-news .title h1 span:after {
  content: "";
  background: url("../img/mark02@2x.webp") no-repeat center top/cover;
  width: 20.8rem;
  height: 18.5rem;
  right: -33rem;
  top: -18rem;
  position: absolute;
}
#top-news .contentWrap .container {
  position: relative;
}
#top-news .contentWrap .container .illust {
  position: absolute;
}
#top-news .contentWrap .container .illust.illust01 {
  top: -25rem;
  left: 10rem;
}
#top-news .contentWrap .container .illust.illust02 {
  top: -25rem;
  right: -1rem;
}
#top-news .contentWrap .container .illust.illust03 {
  right: -7rem;
  bottom: -22rem;
}
#top-news .contentWrap .container .illust.illust04 {
  left: 46%;
  bottom: -22rem;
  transform: scale(-1, 1);
}
@media (max-width: 1250px) {
  #top-news .title h1 span:before, #top-news .title h1 span:after {
    display: none;
  }
}
@media (max-width: 959px) {
  #top-news .title h1 {
    margin: 3vw 0 8vw;
  }
  #top-news .title h1 strong {
    font-size: 2vw;
    letter-spacing: .3vw;
    margin: 0 0 3vw;
    padding: 2vw 4vw;
    border-width: .4vw;
  }
  #top-news .title h1 strong i {
    font-size: 3.6vw;
  }
  #top-news .title h1 span {
    font-size: 7vw;
    letter-spacing: .1vw;
  }
  #top-news .contentWrap .container .illust.illust01 {
    width: 17vw;
    top: -18vw;
    left: 11vw;
  }
  #top-news .contentWrap .container .illust.illust02 {
    width: 26vw;
    right: 5vw;
    top: -19vw;
  }
  #top-news .contentWrap .container .illust.illust03 {
    width: 20vw;
    right: 9vw;
    bottom: -13vw;
  }
  #top-news .contentWrap .container .illust.illust04 {
    width: 11vw;
    left: 43vw;
    bottom: -19vw;
  }
}
@media (max-width: 559px) {
  #top-news .title h1 strong {
    border-width: 3px;
    width: 89%;
    box-sizing: border-box;
    font-size: 2.9vw;
    letter-spacing: 0;
    margin: 0 0 7vw;
  }
  #top-news .title h1 strong i {
    font-size: 4.6vw;
  }
  #top-news .title h1 span {
    font-size: 9vw;
    letter-spacing: 0;
  }
  #top-news .contentWrap .container .illust.illust01 {
    width: 21vw;
    top: -12vw;
    left: 9vw;
  }
  #top-news .contentWrap .container .illust.illust02 {
    width: 26vw;
    right: 5vw;
    top: -17vw;
  }
  #top-news .contentWrap .container .illust.illust03 {
    width: 25vw;
    right: 10vw;
    bottom: -26vw;
  }
  #top-news .contentWrap .container .illust.illust04 {
    width: 22vw;
    left: 16vw;
    bottom: -24vw;
  }
}

#top-info {
  padding: 16rem 0;
}
#top-info .container {
  position: relative;
}
#top-info .container .title {
  width: 52vw;
  margin: 0 auto;
}
#top-info .container .title .illust {
  position: absolute;
}
#top-info .container .title .illust.illust01 {
  top: -3rem;
  left: 0;
}
#top-info .container .title .illust.illust02 {
  top: -10rem;
  right: 1rem;
}
#top-info .container h2 {
  text-align: center;
  font-family: "bokutoh-rera", sans-serif;
  color: #029141;
  font-weight: 400;
  font-size: 3.4rem;
  letter-spacing: .6rem;
  line-height: 1.2;
  margin: 0 0 4rem;
}
#top-info .container h2 strong {
  font-weight: 400;
  font-size: 4.4rem;
}
#top-info .container h2 + p {
  text-align: center;
  font-size: 1.8rem;
  margin: 0 0 8rem;
}
#top-info .container ul {
  display: flex;
  justify-content: space-between;
  padding: 0 9rem;
}
#top-info .container ul li {
  width: 25%;
}
#top-info .container ul li .img {
  min-height: 27rem;
  margin: 0 0 2rem;
}
@media (max-width: 1250px) {
  #top-info .container .title {
    width: 66vw;
  }
  #top-info .container .title .illust.illust01 {
    width: 28vw;
    left: -2vw;
  }
  #top-info .container .title .illust.illust02 {
    width: 28vw;
    right: -2vw;
  }
  #top-info .container h2 {
    font-size: 3vw;
    letter-spacing: .6vw;
    margin: 0 0 2vw;
  }
  #top-info .container h2 strong {
    font-size: 4vw;
  }
  #top-info .container h2 + p {
    font-size: 1.5vw;
    margin: 0 0 7vw;
  }
  #top-info .container ul {
    padding: 0 6rem;
    flex-wrap: wrap;
    padding: 0 22vw;
  }
  #top-info .container ul li {
    width: 50%;
    margin: 0 0 5rem;
    text-align: center;
  }
}
@media (max-width: 959px) {
  #top-info {
    padding: 13rem 0;
  }
  #top-info .container .title {
    width: 100%;
  }
  #top-info .container .title .illust.illust01 {
    width: 36vw;
    left: -15vw;
    top: -10vw;
  }
  #top-info .container .title .illust.illust02 {
    width: 37vw;
    right: -15vw;
    top: -17vw;
  }
  #top-info .container h2 {
    font-size: 4vw;
  }
  #top-info .container h2 strong {
    font-size: 5vw;
  }
  #top-info .container h2 + p {
    font-size: 2vw;
    margin: 0 0 6vw;
  }
  #top-info .container ul {
    padding: 0 11vw;
  }
  #top-info .container ul li {
    width: 45%;
  }
  #top-info .container ul li .img {
    min-height: 32vw;
  }
}
@media (max-width: 559px) {
  #top-info {
    padding: 25vw 0 10vw;
  }
  #top-info .container ul {
    padding: 0 5vw;
  }
  #top-info .container ul li {
    width: 100%;
  }
  #top-info .container ul li .img {
    width: 60vw;
    margin: 0 auto;
    text-align: center;
    min-height: auto;
  }
}

#faq .container {
  position: relative;
}
#faq .container .illust {
  position: absolute;
}
#faq .container .illust.illust01 {
  top: -28rem;
  left: -8rem;
}
#faq .container .illust.illust02 {
  bottom: -23rem;
  right: -18rem;
}
#faq .container .illust.illust03 {
  top: -17rem;
  left: 45%;
}
@media (max-width: 1250px) {
  #faq .container .illust.illust01 {
    left: 8rem;
  }
  #faq .container .illust.illust02 {
    right: -4rem;
  }
}
@media (max-width: 959px) {
  #faq .container .illust.illust01 {
    width: 14vw;
    left: 13vw;
    top: -18vw;
  }
  #faq .container .illust.illust02 {
    width: 30vw;
    right: 31vw;
    bottom: -28vw;
  }
  #faq .container .illust.illust03 {
    width: 18vw;
    top: -16vw;
    left: 41vw;
  }
}
@media (max-width: 559px) {
  #faq .container .illust.illust01 {
    width: 16vw;
    left: 11vw;
    top: -24vw;
  }
  #faq .container .illust.illust03 {
    top: -15vw;
  }
}

#content {
  margin: 0 0 20rem;
  position: relative;
}
#content:before {
  position: absolute;
  content: "";
  background: url(/wp/wp-content/themes/hikarien/img/illust-swallow@2x.webp) no-repeat center top / cover;
  height: 10rem;
  width: 8rem;
  left: 50%;
  margin-left: -4rem;
  top: -5rem;
}
#content > .wp-block-group > .wp-block-group__inner-container {
  max-width: 110rem;
  margin: 0 auto 8rem;
  padding: 0 3rem 0 6rem;
  border: 5px solid #029141;
  border-radius: 2rem;
  padding: 9rem 12rem;
  box-sizing: border-box;
  background: #fff;
}
#content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container {
  background: #fff;
  margin: 3rem 0 0;
  border-radius: 2rem;
  padding: 4rem;
  box-sizing: border-box;
}
#content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container p, #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container figure {
  padding-left: 0;
}
#content > .wp-block-group > .wp-block-group__inner-container h2 {
  background: url("../img/dotline.webp") repeat-x left bottom;
  position: relative;
  font-weight: 700;
  padding: 0rem 0 3rem 4rem;
  font-size: 1.8rem;
  margin: 5rem 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container h2:before {
  content: "";
  background: url("../img/arrow.webp") no-repeat center top/cover;
  width: 2.4rem;
  height: 1.8rem;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotateZ(-90deg);
}
#content > .wp-block-group > .wp-block-group__inner-container > h2 {
  margin: 0 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container h3 {
  background: #f1f4ac;
  padding: 1.8rem 3rem;
  box-sizing: border-box;
  border-radius: 1rem;
  font-size: 1.5rem;
  font-weight: 500;
  margin: 0 0 3rem;
}

#content > .wp-block-group > .wp-block-group__inner-container h3.ac-menu {
  position: relative;
}
#content > .wp-block-group > .wp-block-group__inner-container h3.ac-menu:before {
  content: "";
  background: url("../img/btn-click01_off.png") no-repeat center top/cover;
  width: 7.8rem;
  height: 1.8rem;
  position: absolute;
  right: 2rem;
  top: 1.6rem;
}
#content > .wp-block-group > .wp-block-group__inner-container h3.ac-menu.active:before {
  background: url("../img/btn-click01_on.png") no-repeat center top/cover;
}
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-table table {
  border-collapse: separate;
  border-spacing: 4px;
}
.wp-block-table table td,.wp-block-table table th,
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-table table td {
  border: 1px solid;
  padding: .5em;
}
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-list {
  margin: 0 0 3rem;
  padding: 0 0 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-list li {
  position: relative;
  padding: 0 0 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-list li:before {
  width: 1.4rem;
  height: 1.4rem;
  border: 1px solid #000;
  position: absolute;
  left: 0;
  top: .8rem;
  content: "";
}
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-columns {
  margin: 0 0 3rem;
  padding: 0 0 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container > .wp-block-columns figure {
  padding: 0;
}
#content > .wp-block-group > .wp-block-group__inner-container p {
  margin: 0 0 3rem;
  padding: 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container p a {
  color: #3399cc;
}
#content > .wp-block-group > .wp-block-group__inner-container p a:hover {
  text-decoration: underline;
}
#content > .wp-block-group > .wp-block-group__inner-container > figure {
  margin: 0 0 3rem;
  padding: 0 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container mark {
  font-style: normal;
}
#content > .wp-block-group > .wp-block-group__inner-container mark.has-vivid-green-cyan-color {
  color: #029141 !important;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 {
  border-radius: 1rem;
  margin: 0 0 4rem;
  padding: 3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu {
  font-size: 2rem;
  text-align: center;
  position: relative;
  background: none;
  padding: 0;
  margin: 0;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:after {
  content: "";
  background: url("../img/btn-click02_off.png") no-repeat center top/cover;
  width: 7.8rem;
  height: 1.8rem;
  position: absolute;
  right: 0rem;
  top: .3rem;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:before, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:before, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:before {
  position: absolute;
  content: "";
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu.active:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu.active:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu.active:after {
  background: url("../img/btn-click02_on.png") no-repeat center top/cover;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 {
  background: #fbf5b5;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:before {
  background: url("../img/illust-ac01.png") no-repeat center top/cover;
  width: 15.4rem;
  height: 10.5rem;
  left: .4rem;
  top: -4.4rem;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu.active:before {
  background: url("../img/illust-ac01.png") no-repeat center top/cover;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 {
  background: #d5fffe;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:before {
  background: url("../img/illust-ac02.png") no-repeat center top/cover;
  width: 7.7rem;
  height: 11.7rem;
  left: 4.5rem;
  top: -5.5rem;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu.active:before {
  background: url("../img/illust-ac02.png") no-repeat center top/cover;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 {
  background: #ffd9e3;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:before {
  background: url("../img/illust-ac03.png") no-repeat center top/cover;
  width: 22.8rem;
  height: 11.6rem;
  left: 0;
  top: -5.2rem;
}
#content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu.active:before {
  background: url("../img/illust-ac03.png") no-repeat center top/cover;
}
@media (max-width: 959px) {
  #content > .wp-block-group > .wp-block-group__inner-container {
    margin: 0 5rem 5rem;
    padding: 6rem;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:after {
    width: 9vw;
    height: 2vw;
    right: 0;
    top: 0vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:before {
    left: -1vw;
    top: -2.5vw;
    width: 10vw;
    height: 7vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:before {
    width: 4vw;
    height: 7vw;
    left: 2vw;
    top: -2.4vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:before {
    width: 9vw;
    height: 5vw;
    top: -1.5vw;
    left: 0vw;
  }
}
@media (max-width: 559px) {
#content:before {
height: 15vw;
  width: 12vw;
  left: 50%;
  margin-left: -6vw;
  top: -6vw;
}
  #content > .wp-block-group > .wp-block-group__inner-container {
    margin: 0 2rem 3rem;
    padding: 5rem 3rem;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container {
    margin: 2rem 0 0;
    padding: 2rem;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container p tr, #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container p th, #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container p td, #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container figure tr, #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container figure th, #content > .wp-block-group > .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container .wp-block-group .wp-block-group__inner-container figure td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }
  #content > .wp-block-group > .wp-block-group__inner-container h3 {
    padding: 1.4rem 2rem;
    margin: 0 0 1rem;
  }
  #content > .wp-block-group > .wp-block-group__inner-container h3.ac-menu {
    padding-right: 16vw;
    line-height: 1.4;
  }
  #content > .wp-block-group > .wp-block-group__inner-container h3.ac-menu:before {
    width: 10vw;
    height: 2.3vw;
    top: 4vw;
    right: 4vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .wp-block-table table {
    padding: 0;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .wp-block-list {
    padding: 0;
  }
  #content > .wp-block-group > .wp-block-group__inner-container > .wp-block-columns {
    padding: 0;
  }
  #content > .wp-block-group > .wp-block-group__inner-container p {
    padding: 0;
  }
  #content > .wp-block-group > .wp-block-group__inner-container figure {
    padding: 0;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 {
    padding: 4vw 3vw 4vw 4vw;
    margin: 0 0 8vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu {
    border-radius: 1rem;
    margin: 0;
    padding: 0;
    font-size: 3.4vw;
    padding-right: 12vw;
    text-align: left;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:after, #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:after {
    width: 11vw;
    height: 2.4vw;
    right: 0;
    top: 1vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 {
    margin-top: 15vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type01 .ac-menu:before {
    left: -3vw;
    top: -12.5vw;
    width: 16vw;
    height: 11vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type02 .ac-menu:before {
    width: 7vw;
    height: 10vw;
    left: -2vw;
    top: -11.4vw;
  }
  #content > .wp-block-group > .wp-block-group__inner-container .ac-menu-type03 .ac-menu:before {
    width: 22vw;
    height: 11vw;
    top: -11.5vw;
    left: -8vw;
  }
}

#page-content {
  margin: 0 0 20rem;
}
#page-content .container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4rem;
}
#page-content .container aside {
  width: 28rem;
  border: 5px solid #029141;
  border-radius: 2rem;
  padding: 5rem 3rem 3rem;
  box-sizing: border-box;
  position: relative;
}
#page-content .container aside .wrap {
  background: url("../img/dotline.webp") repeat-x left bottom;
  padding: 2rem 0 5rem;
}
#page-content .container aside .wrap .title {
  text-align: center;
  font-size: 1.8rem;
  font-weight: 500;
  color: #029141;
  margin: 0 0 2rem;
}
#page-content .container aside .wrap .category li {
  margin: 0 0 1rem;
}
#page-content .container aside .wrap .category li a {
  font-size: 1.8rem;
  position: relative;
  padding: 0 0 0 3rem;
}
#page-content .container aside .wrap .category li a:before {
  background: url("../img/arrow.webp") no-repeat center top/cover;
  width: 2.3rem;
  height: 1.7rem;
  position: absolute;
  left: 0;
  top: 1rem;
  content: "";
  transform: rotateZ(-90deg);
}
#page-content .container aside .wrap .category li:last-of-type {
  margin: 0;
}
#page-content .container aside .wrap time {
  font-size: 1.4rem;
  color: #666;
}
#page-content .container aside .wrap .latest li {
  margin: 0 0 2rem;
}
#page-content .container aside .wrap .latest li .title-name {
  font-size: 1.4rem;
  line-height: 1.6;
}
#page-content .container aside .wrap:last-of-type {
  background: none;
  padding-bottom: 0;
}
#page-content .container aside:before {
  content: "";
  background: url("../img/illust-swallow.webp") no-repeat center top/cover;
  width: 9.8rem;
  height: 10.9rem;
  position: absolute;
  left: 9rem;
  top: -5rem;
  transform: scale(-1, 1);
}
#page-content .container #content {
  flex: 1;
  width: 100%;
}
#page-content .container #content .contentBox01 {
  margin: 0;
  padding: 5rem 7rem;
}
#page-content .container #content.post-content article .title-area .wrap {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  align-items: center;
  gap: 3rem;
  margin: 0 0 3rem;
}
#page-content .container #content.post-content article .title-area h1 {
  background: url("../img/dotline.webp") repeat-x left bottom;
  position: relative;
  font-weight: 700;
  padding: 0 0 3rem 4rem;
  font-size: 1.8rem;
  margin: 0 0 2rem;
}
#page-content .container #content.post-content article .title-area h1:before {
  content: "";
  background: url("../img/arrow.webp") no-repeat center top/cover;
  width: 2.4rem;
  height: 1.8rem;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotateZ(-90deg);
}
#page-content .container #content.post-content article h2 {
  margin: 5rem 0 2rem;
  background: #f1f4ac;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 1rem;
  padding: 1rem 3rem;
  line-height: 1.4;
}
#page-content .container #content.post-content article h3 {
  margin: 5rem 0 2rem;
  background: #b8eeeb;
  font-size: 1.8rem;
  font-weight: 500;
  border-radius: 1rem;
  padding: 1rem 3rem;
  line-height: 1.4;
}
#page-content .container #content.post-content article p, #page-content .container #content.post-content article figure {
  margin: 0 0 3rem;
}
@media (max-width: 959px) {
  #page-content .container {
    flex-wrap: wrap;
  }
  #page-content .container aside {
    width: 100%;
    order: 2;
  }
  #page-content .container aside .wrap .category {
    display: flex;
    justify-content: center;
    gap: 2rem;
    flex-wrap: wrap;
  }
  #page-content .container aside:before {
    left: 50%;
    margin-left: -5rem;
  }
  #page-content .container #content {
    order: 1;
    width: 100%;
    margin: 0 0 4rem;
  }
}
@media (max-width: 559px) {
  #page-content .container #content .contentBox01 {
    margin: 0;
    padding: 4rem 3rem;
  }
  #page-content .container #content.post-content article .title-area .wrap {
    gap: 2rem;
  }
  #page-content .container #content.post-content article .title-area .wrap .list-category {
    justify-content: center;
  }
  #page-content .container #content.post-content article .title-area .wrap time {
    display: flex;
    width: 100%;
    justify-content: center;
  }
}
a

/*追加CSS　20251101*/

body dt, body dd, body th, body td {
	vertical-align: middle;
}


.dotline {
  background: url("../img/dotline.webp") repeat-x left bottom;
}
.m01 { margin: 2rem;}
.p01 { padding: 1rem;}

/*お問い合わせフォーム　送信ボタンのデザイン*/

.contact-center {
  text-align: center;
  padding-top: 2rem;
}

.contact-center p {
  margin-bottom: 1.5rem;
}
.wpcf7-form .wpcf7-acceptance,
.wpcf7-form .wpcf7-submit {
  display: inline-block;
  margin: 0 auto;
}
.wpcf7 input.wpcf7-submit {
  background: #fff;
  border-radius: 20rem;
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: .2rem;
  padding: 1rem 3rem;
  min-width: 20rem;
  transition: .3s;
  display: block;
  margin: 0 auto;
}

/* 読み込み中のくるくる */
.wpcf7-spinner {
  display: block;
  margin: 0.5rem auto 0; /* ボタンの下に中央配置 */
}
/*お問い合わせフォーム　送信ボタンマウスオン時*/
.wpcf7 input.wpcf7-submit:hover {
  background: #029141;
  color: #fff;
}

/*園の紹介　目標リスト*/

/* ページ全体で一度だけカウンターをリセット */
body {
  counter-reset: about-counter;
}

body .list-about dl dt {
  position:relative;
  padding-left: 4rem; /* 丸アイコン分の余白 */
  font-size: 1.7rem;
  font-weight: 700;
  min-height: 5rem;
  margin-left: 5rem;
  color: #029141; /* テキスト色を円形と同じに */
  line-height: 3.5; /* テキスト側は自然な行間に */
}

body .list-about dl dt::before {
  counter-increment: about-counter; /* li ごとにカウントを進める */
  content: counter(about-counter);
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background-color: #029141;
  color: #fff; /* 数字は白 */
  font-size: 1.4rem;
  font-weight: 700;
  display: flex;              /* flexで中央寄せ */
  align-items: center;
  justify-content: center;
}

/* dd 内の箇条書き全体 */
ul .list-about dl dd {
  margin: 0;
  padding: 0;
}

ul .list-about dl dd .about-detail {
  list-style: none; /* デフォルトの黒丸を消す */
  padding-bottom: 0;
  margin-bottom: 2rem;
}

ul .list-about dl dd .about-detail li {
  position: relative;
  padding-left: 10rem; /* マーク分の余白 */
  font-size: 1.5rem;
  line-height: 1.8;
  margin-bottom: .5rem;
  color: #333;
}

/* カスタム丸マーク */
ul .list-about dl dd .about-detail li::before {
  content: "";
  position: absolute;
  left: 6rem;
  top: .5em; /* 行高さに応じて調整 */
  width: 0.6em;
  height: 0.6em;
  border-radius: 50%;
  background-color: #bce151; /* ご指定の色 */
}
.news #content:before,
.archive #content:before,
.single-post_news #content:before {
  display: none;
}


.contact .wp-block-table table {
  width: 100%;
}
.contact .wp-block-table table tr th {
  background: #f4f4f4;
  text-align: left;
}
.contact .wp-block-table table tr th,
.contact .wp-block-table table tr td {
  padding: .5rem 1em .6em;
}
.contact .wp-block-table table tr td input[type=text],
.contact .wp-block-table table tr td input[type=email],
.contact .wp-block-table table tr td input[type=tel],
.contact .wp-block-table table tr td textarea {
  width: 100%;
  box-sizing: border-box;
}
.contact .wp-block-table table tr td .wpcf7-list-item {
  margin: 0 1em 0 0;
}
@media (max-width: 559px) {
  .contact .wp-block-table table tr,
  .contact .wp-block-table table tr th,
  .contact .wp-block-table table tr td {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: none;
  }
  .contact .wp-block-table table tr th,
  .contact .wp-block-table table tr td {
    padding: 1rem 1em 1em;
  }
  .contact .wp-block-table table tr td input[type=text],
  .contact .wp-block-table table tr td input[type=email],
  .contact .wp-block-table table tr td input[type=tel],
  .contact .wp-block-table table tr td textarea {
    min-height: 10vw;
  }
}


/*追記ここまで*/




