@charset "UTF-8";
/* commonParts
---------------------------------------------------- */
.c-inner {
  width: 91.875rem;
  margin: 0 auto;
}
@media screen and (max-width: 991px) {
  .c-inner {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 767px) {
  .c-inner {
    width: calc(100% - 40px);
  }
}
.c-inner.__wide {
  width: min(100%, 1920px);
}
.c-inner.__medium {
  max-width: 1080px;
}
.c-inner.__side {
  width: calc(100% - (100% - 91.875rem) / 2);
  margin: 0;
}

.c-liststyle li {
  display: flex;
  align-items: flex-start;
  line-height: 1.6;
}
.c-liststyle li::before {
  content: "\f111";
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.5em;
  margin-top: 1em;
  margin-right: 1.5em;
  flex-shrink: 0;
}
.c-liststyle li:not(:nth-of-type(1)) {
  margin-top: 0.4em;
}
.c-liststyle.__order li::before {
  display: none;
}
.c-liststyle.__order li span.__num {
  flex-shrink: 0;
  margin-right: 0.4em;
}
.c-liststyle.__note li {
  font-size: 0.9em;
}
.c-liststyle.__note li::before {
  content: "※";
  font-size: 1em;
  margin-top: 0;
  margin-right: 0.4em;
}

.ffa-02 {
  font-family: "Nunito", sans-serif;
  font-weight: 600;
}

.fcolor.__pink {
  color: #f78180;
}
.fcolor.__green {
  color: #9aca1e;
}
.fcolor.__blue {
  color: #66b7f2;
}

.tax {
  font-size: 0.8em;
}

.c-nowrap {
  display: inline-block;
}

.c-txtlimit {
  max-width: 100%;
}
.c-txtlimit span {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.c-label-style {
  width: -moz-fit-content;
  width: fit-content;
  color: #66b7f2;
  border: solid 1px #81c5f7;
  border-radius: 50vh;
  font-weight: 700;
  font-size: 0.9em;
  line-height: 1.4;
  padding: 0.2em max(1.875rem, 1.2em);
}
@media screen and (max-width: 767px) {
  .c-label-style {
    font-size: 0.8em;
  }
}

.c-txtmarker {
  padding: 0 0.4em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-image: linear-gradient(transparent 0, #fff2c2 0);
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 45%;
  transition: background-size 1.2s cubic-bezier(0.1, 0.8, 0.2, 1) 0.4s;
}
.c-txtmarker.__white {
  background-image: linear-gradient(transparent 0, #fff 0);
}
.c-txtmarker.inview {
  background-size: 100% 45%;
}

.c-ttlstyle01 span.__en {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: #f78180;
  margin-bottom: 0.6em;
}
@media screen and (max-width: 767px) {
  .c-ttlstyle01 span.__en {
    font-size: 0.85em;
    margin-bottom: 1em;
  }
}
.c-ttlstyle01 span.__jp {
  color: #420e0e;
  font-weight: 700;
  font-size: max(2.75rem, 2em);
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .c-ttlstyle01 span.__jp {
    font-size: 1.425em;
  }
}
.c-ttlstyle01 span.__jp .__sub {
  font-size: 0.75em;
}
.c-ttlstyle01.__medium span.__jp {
  font-size: max(2.5rem, 1.75em);
}
@media screen and (max-width: 767px) {
  .c-ttlstyle01.__medium span.__jp {
    font-size: 1.425em;
  }
}
.c-ttlstyle01.__center {
  text-align: center;
}
.c-ttlstyle01.__center span.__en {
  margin-inline: auto;
}
.c-ttlstyle01.__white span.__en {
  color: #fff;
}
.c-ttlstyle01.__white span.__jp {
  color: #fff;
}
.c-ttlstyle01.__green span.__en {
  color: #9aca1e;
}
.c-ttlstyle01.__blue span.__en {
  color: #66b7f2;
}

.c-ttlstyle02 span.__sub {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  font-size: max(1.25rem, 1.125em);
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .c-ttlstyle02 span.__sub {
    font-size: 1em;
  }
}
.c-ttlstyle02 span.__main {
  color: #420e0e;
  font-weight: 700;
  font-size: max(2.5rem, 1.75em);
}
@media screen and (max-width: 767px) {
  .c-ttlstyle02 span.__main {
    font-size: 1.375em;
  }
}
.c-ttlstyle02.__center {
  text-align: center;
}
.c-ttlstyle02.__center span.__sub {
  margin-inline: auto;
}

.c-ttlstyle03 {
  font-weight: 700;
  display: flex;
  align-items: flex-start;
}
.c-ttlstyle03::before {
  color: #66b7f2;
  content: "\f111";
  display: block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 0.6em;
  margin-top: 0.7em;
  margin-right: 1em;
  flex-shrink: 0;
}
.c-ttlstyle03.__green::before {
  color: #9aca1e;
}

.anchor-point {
  position: absolute;
}

.c-txtlink {
  color: #9aca1e;
  text-decoration: underline;
}
.c-txtlink.__pink {
  color: #f78180;
}

.c-hover-style {
  transition: opacity 0.24s ease;
}
.c-hover-style:hover {
  opacity: 0.6;
}

.c-linkbtn {
  width: -moz-fit-content;
  width: fit-content;
}
.c-linkbtn a, .c-linkbtn button {
  cursor: pointer;
  position: relative;
  z-index: 2;
  color: #fff;
  background-color: rgba(247, 129, 128, 0.9);
  border-radius: max(0.5rem, 6px);
  overflow: clip;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: max(1rem, 0.95em);
  padding: max(1rem, 0.8em) max(2rem, 1.2em);
}
@media screen and (max-width: 767px) {
  .c-linkbtn a, .c-linkbtn button {
    font-size: 0.925em;
  }
}
.c-linkbtn a::before, .c-linkbtn button::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  display: block;
  background-color: rgba(247, 129, 128, 0.9);
  transform: scaleY(0);
  transform-origin: 50% 100%;
  will-change: transform;
  transition: transform 0.3s ease;
}
.c-linkbtn a span.__txt, .c-linkbtn button span.__txt {
  font-weight: 700;
  line-height: 1.6;
  margin-right: 3em;
}
.c-linkbtn a span.__arrow, .c-linkbtn button span.__arrow {
  width: 0.36em;
}
@media screen and (max-width: 767px) {
  .c-linkbtn a span.__arrow, .c-linkbtn button span.__arrow {
    width: 0.32em;
  }
}
.c-linkbtn a span.__arrow img, .c-linkbtn button span.__arrow img {
  width: 100%;
  height: auto;
}
.c-linkbtn a:hover::before, .c-linkbtn button:hover::before {
  transform: scaleY(1);
}
.c-linkbtn.__blue a, .c-linkbtn.__blue button {
  background-color: rgba(102, 183, 242, 0.9);
}
.c-linkbtn.__blue a::before, .c-linkbtn.__blue button::before {
  background-color: rgba(102, 183, 242, 0.9);
}
.c-linkbtn.__green a, .c-linkbtn.__green button {
  background-color: rgba(154, 202, 30, 0.9);
}
.c-linkbtn.__green a::before, .c-linkbtn.__green button::before {
  background-color: rgba(154, 202, 30, 0.9);
}
.c-linkbtn.__brown a, .c-linkbtn.__brown button {
  background-color: rgba(66, 14, 14, 0.8);
}
.c-linkbtn.__brown a::before, .c-linkbtn.__brown button::before {
  background-color: rgba(66, 14, 14, 0.2);
}
.c-linkbtn.__white a, .c-linkbtn.__white button {
  color: #f78180;
  background-color: rgba(255, 255, 255, 0.9);
}
.c-linkbtn.__white a::before, .c-linkbtn.__white button::before {
  background-color: rgba(255, 255, 255, 0.9);
}
.c-linkbtn.__back a span.__txt, .c-linkbtn.__back button span.__txt {
  margin-right: 0;
  margin-left: 3em;
}
.c-linkbtn.__back a span.__arrow, .c-linkbtn.__back button span.__arrow {
  transform: scaleX(-1);
}

a .c-link-arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(247, 129, 128, 0.9);
  border-radius: 50%;
  width: 2em;
  aspect-ratio: 1/1;
  transition: background-color 0.24s ease;
}
@media screen and (max-width: 1199px) {
  a .c-link-arrow {
    width: 1.75em;
  }
}
@media screen and (max-width: 767px) {
  a .c-link-arrow {
    width: 1.5em;
  }
}
a .c-link-arrow img {
  width: 16%;
  height: auto;
}
a:hover .c-link-arrow {
  background-color: #f78180;
}

.c-table-style01 dl {
  display: flex;
  background-color: #fff;
  border-radius: max(1.875rem, 16px);
  padding: max(1.875rem, 16px) max(3.75rem, 16px);
}
@media screen and (max-width: 767px) {
  .c-table-style01 dl {
    display: block;
  }
}
.c-table-style01 dl:not(:nth-of-type(1)) {
  margin-top: 10px;
}
.c-table-style01 dl dt {
  flex-shrink: 0;
  width: max(7.5rem, 10em);
}
@media screen and (max-width: 767px) {
  .c-table-style01 dl dt {
    width: 100%;
    color: rgba(66, 14, 14, 0.8);
    font-size: 0.9em;
    margin-bottom: 0.6em;
    border-bottom: none;
  }
}
.c-table-style01 dl dd {
  width: 100%;
}
.c-table-style01 dl dd > * + * {
  margin-top: 20px;
}
.c-table-style01 dl dd p, .c-table-style01 dl dd li, .c-table-style01 dl dd a {
  font-size: 1em;
}
.c-table-style01 dl dd ul:not(.__note) li::before {
  color: #66b7f2;
}

.c-table-style02 {
  border-top-left-radius: max(1.875rem, 16px);
  border-top-right-radius: max(1.875rem, 16px);
  overflow: clip;
}
.c-table-style02 table {
  background-color: #fff;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid rgba(140, 140, 140, 0.4);
}
.c-table-style02 td, .c-table-style02 th {
  line-height: 1.6;
  vertical-align: middle;
  padding: max(1.25rem, 0.8em) max(1.875rem, 16px);
}
.c-table-style02 th {
  color: #fff;
  text-align: center;
  background-color: #2c2c2c;
  font-size: 0.9em;
  padding-inline: max(1.875rem, 0.3em);
  padding-block: 0.3em;
}
.c-table-style02 td {
  border-top: 1px solid rgba(140, 140, 140, 0.4);
}

.d-dotline {
  display: block;
  width: 100%;
  height: 1px;
  background-image: url(../images/dotline_pink.png);
  background-repeat: repeat-x;
  background-size: 6px 1px;
  background-position: 0 100%;
}
.d-dotline.__lgray {
  background-image: url(../images/dotline_lgray.png);
}
.d-dotline.__white {
  background-image: url(../images/dotline_white.png);
}
.d-dotline.__green {
  background-image: url(../images/dotline_green.png);
}
.d-dotline.__blue {
  background-image: url(../images/dotline_blue.png);
}

.d-shape-wrap {
  position: relative;
}
.d-shape-wrap .d-shape {
  pointer-events: none;
  position: absolute;
  z-index: -1;
}
.d-shape-wrap .d-shape img {
  width: 100%;
  height: auto;
}
.d-shape-wrap .d-shape-set {
  position: absolute;
  top: 0;
  margin-top: -6.25rem;
}
.d-shape-wrap .d-shape-set .d-shape {
  position: relative;
  z-index: 2;
}
.d-shape-wrap .d-shape-set.__type01 {
  width: min(18.75vw, 360px);
}
.d-shape-wrap .d-shape-set.__type01 .d-shape.__01 {
  width: 60%;
  margin-left: auto;
}
.d-shape-wrap .d-shape-set.__type01 .d-shape.__02 {
  width: 20%;
  margin-top: -10%;
}
.d-shape-wrap .d-shape-set.__type02-1, .d-shape-wrap .d-shape-set.__type02-2 {
  width: min(18.75vw, 360px);
}
.d-shape-wrap .d-shape-set.__type02-1 .d-shape.__02, .d-shape-wrap .d-shape-set.__type02-2 .d-shape.__02 {
  width: 20%;
  margin-top: -5%;
}
.d-shape-wrap .d-shape-set.__type02-1 .d-shape.__03, .d-shape-wrap .d-shape-set.__type02-2 .d-shape.__03 {
  width: 20%;
}
.d-shape-wrap .d-shape-set.__type02-1 .d-shape.__01 {
  width: 60%;
}
.d-shape-wrap .d-shape-set.__type02-1 .d-shape.__02 {
  margin-left: auto;
}
.d-shape-wrap .d-shape-set.__type02-1 .d-shape.__03 {
  margin-left: 50%;
}
.d-shape-wrap .d-shape-set.__type02-2 .d-shape.__01 {
  width: 45%;
  margin-left: 30%;
}
.d-shape-wrap .d-shape-set.__type02-2 .d-shape.__03 {
  margin-left: 35%;
}
.d-shape-wrap .d-shape-set.__type03 {
  width: min(14.0625vw, 270px);
}
.d-shape-wrap .d-shape-set.__type03 .d-shape.__01 {
  width: 60%;
  margin-left: auto;
}
.d-shape-wrap .d-shape-set.__type03 .d-shape.__02 {
  width: 25%;
  margin-top: -10%;
}
.d-shape-wrap .d-shape-set.__type04-1, .d-shape-wrap .d-shape-set.__type04-2 {
  width: min(12.5vw, 240px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .d-shape-wrap .d-shape-set.__type04-1, .d-shape-wrap .d-shape-set.__type04-2 {
    width: min(14.0625vw, 270px);
  }
}
.d-shape-wrap .d-shape-set.__type04-1 .d-shape.__01, .d-shape-wrap .d-shape-set.__type04-2 .d-shape.__01 {
  width: 25%;
}
.d-shape-wrap .d-shape-set.__type04-1 .d-shape.__02, .d-shape-wrap .d-shape-set.__type04-2 .d-shape.__02 {
  width: 50%;
  margin-top: 10%;
}
.d-shape-wrap .d-shape-set.__type04-2 {
  flex-direction: row-reverse;
}

.d-divider-shape {
  pointer-events: none;
  position: absolute;
  left: 0;
  width: 100%;
}
.d-divider-shape img {
  width: 100%;
  height: auto;
}
.d-divider-shape::after {
  position: absolute;
  left: 0;
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
}
.d-divider-shape.__lpink::after {
  background-color: #ffecee;
}
.d-divider-shape.__top {
  top: 0;
}
.d-divider-shape.__top::after {
  top: 0;
}
.d-divider-shape.__bottom {
  bottom: 0;
}
.d-divider-shape.__bottom img {
  transform: scaleY(-1);
}
.d-divider-shape.__bottom::after {
  bottom: 0;
}

.d-bg-style01 {
  position: relative;
  overflow: clip;
  padding-top: max(8.75rem, 100px);
  padding-bottom: max(8.75rem, 100px);
}
@media screen and (max-width: 767px) {
  .d-bg-style01 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}
.d-bg-style01.__yellow {
  background-color: #fff2c2;
}
.d-bg-style01.__pink {
  background-color: #ffecee;
}
.d-bg-style01.__green {
  background-color: #dbf8dc;
}
.d-bg-style01 .d-shape {
  width: min(35.4166666667vw, 680px);
}
@media screen and (max-width: 767px) {
  .d-bg-style01 .d-shape {
    width: 56.6666666667vw;
  }
}
.d-bg-style01 .d-shape.__bg01, .d-bg-style01 .d-shape.__bg02, .d-bg-style01 .d-shape.__bg03, .d-bg-style01 .d-shape.__bg04, .d-bg-style01 .d-shape.__bg05 {
  margin-block: calc(max(-35.4166666667vw, -680px) * 0.2);
  margin-inline: calc(max(-35.4166666667vw, -680px) * 0.2);
}
@media screen and (max-width: 767px) {
  .d-bg-style01 .d-shape.__bg01, .d-bg-style01 .d-shape.__bg02, .d-bg-style01 .d-shape.__bg03, .d-bg-style01 .d-shape.__bg04, .d-bg-style01 .d-shape.__bg05 {
    margin-inline: calc(max(-35.4166666667vw, -680px) * 0.2 * 2.4);
  }
}
.d-bg-style01 .d-shape.__bg01 img, .d-bg-style01 .d-shape.__bg02 img, .d-bg-style01 .d-shape.__bg03 img, .d-bg-style01 .d-shape.__bg04 img, .d-bg-style01 .d-shape.__bg05 img {
  opacity: 0.9;
}
.d-bg-style01 .d-shape.__bg01 {
  top: 20%;
  right: 0;
}
@media screen and (max-width: 767px) {
  .d-bg-style01 .d-shape.__bg01 {
    top: 10%;
  }
}
.d-bg-style01 .d-shape.__bg02 {
  bottom: 40%;
  left: 0;
}
@media screen and (max-width: 767px) {
  .d-bg-style01 .d-shape.__bg02 {
    bottom: 15%;
    left: initial;
    right: 0;
  }
}
.d-bg-style01 .d-shape.__bg03 {
  left: 0;
  bottom: 40%;
}
.d-bg-style01 .d-shape-set {
  margin-top: min(-8.75rem, -100px);
  margin-left: min(-3.75rem, -10px);
  margin-right: min(-3.75rem, -10px);
}
@media screen and (max-width: 767px) {
  .d-bg-style01 .d-shape-set {
    margin-top: -60px;
  }
}

.d-bg-style02 {
  position: relative;
  overflow-x: clip;
}
.d-bg-style02 .d-shape {
  width: min(41.6666666667vw, 800px);
}
@media screen and (max-width: 767px) {
  .d-bg-style02 .d-shape {
    width: 73.3333333333vw;
  }
}
.d-bg-style02 .d-shape.__bg01, .d-bg-style02 .d-shape.__bg02, .d-bg-style02 .d-shape.__bg03, .d-bg-style02 .d-shape.__bg04, .d-bg-style02 .d-shape.__bg05 {
  margin-inline: calc(max(-41.6666666667vw, -800px) * 0.8);
}
@media screen and (max-width: 767px) {
  .d-bg-style02 .d-shape.__bg01, .d-bg-style02 .d-shape.__bg02, .d-bg-style02 .d-shape.__bg03, .d-bg-style02 .d-shape.__bg04, .d-bg-style02 .d-shape.__bg05 {
    margin-inline: calc(max(-41.6666666667vw, -800px) * 0.2 * 2.4);
  }
}
.d-bg-style02 .d-shape.__bg01 {
  top: 5%;
  right: 0;
}
.d-bg-style02 .d-shape.__bg02 {
  bottom: 5%;
  left: 0;
}

.news-list ul .news-list-item .item-inner {
  display: block;
  padding: max(2.5rem, 30px) 0;
}
.news-list ul .news-list-item .item-inner .item-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.news-list ul .news-list-item .item-inner .item-meta .date {
  color: #8c8c8c;
  font-size: 0.95em;
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .news-list ul .news-list-item .item-inner .item-meta .date {
    font-size: 0.9em;
    margin-right: 0.8em;
  }
}
.news-list ul .news-list-item .item-inner .item-meta .category {
  margin-right: 1em;
}
@media screen and (max-width: 767px) {
  .news-list ul .news-list-item .item-inner .item-meta .category {
    margin-right: 0.8em;
  }
}
.news-list ul .news-list-item .item-inner .item-meta .new {
  color: #db3838;
  font-size: 0.9em;
}
@media screen and (max-width: 767px) {
  .news-list ul .news-list-item .item-inner .item-meta .new {
    font-size: 0.85em;
  }
}
.news-list ul .news-list-item .item-inner .item-ttl {
  margin-top: 10px;
}
.news-list ul .news-list-item .item-inner .item-ttl h3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  font-size: max(1.125rem, 1.05em);
  line-height: 1.6;
}
.news-list ul .news-list-item a.item-inner {
  position: relative;
  padding-right: 3.5em;
}
@media screen and (max-width: 767px) {
  .news-list ul .news-list-item a.item-inner {
    padding-right: 2.5em;
  }
}
.news-list ul .news-list-item a.item-inner .link-arrow {
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.sec-access {
  overflow: clip;
}
.sec-access .d-shape {
  width: min(29.1666666667vw, 560px);
}
@media screen and (max-width: 767px) {
  .sec-access .d-shape {
    width: 46.6666666667vw;
  }
}
.sec-access .d-shape.__lgray01 {
  top: 0;
  left: 0;
  margin-top: 10px;
  margin-left: calc(max(-29.1666666667vw, -560px) * 0.2);
}
@media screen and (max-width: 767px) {
  .sec-access .d-shape.__lgray01 {
    top: 5%;
  }
}
.sec-access .d-shape.__lgray02 {
  bottom: 0;
  right: 0;
  margin-bottom: 10px;
  margin-right: calc(max(-29.1666666667vw, -560px) * 0.2);
}
@media screen and (max-width: 767px) {
  .sec-access .d-shape.__lgray02 {
    bottom: 5%;
  }
}
.sec-access .flex-wrap {
  display: flex;
}
@media screen and (max-width: 991px) {
  .sec-access .flex-wrap {
    display: block;
  }
}
.sec-access .flex-wrap .txt-wrap .sec-txt {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .sec-access .flex-wrap .txt-wrap .sec-txt {
    margin-top: 20px;
  }
}
.sec-access .flex-wrap .txt-wrap .detail-wrap {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .sec-access .flex-wrap .txt-wrap .detail-wrap {
    margin-top: 30px;
  }
}
.sec-access .flex-wrap .txt-wrap .detail-wrap dl:not(:nth-of-type(1)) {
  margin-top: 30px;
}
.sec-access .flex-wrap .txt-wrap .detail-wrap dl dt {
  color: #fff;
  background-color: #9aca1e;
  border: none;
}
.sec-access .flex-wrap .txt-wrap .detail-wrap dl dd {
  margin-top: 1em;
}
.sec-access .flex-wrap .txt-wrap .detail-wrap dl dd ul li {
  align-items: flex-start;
  line-height: 1.6;
  margin-top: 0.6em;
}
.sec-access .flex-wrap .txt-wrap .detail-wrap dl dd ul li span.__num {
  letter-spacing: 0;
  margin-top: 0.4em;
  line-height: 1;
  border-right: solid 2px #b4d759;
  padding-right: 10px;
  margin-right: 10px;
}
.sec-access .flex-wrap .map-wrap {
  flex-shrink: 0;
  width: 37.5rem;
  border-radius: max(1.875rem, 10px);
  overflow: clip;
  margin-left: 7.5rem;
}
@media screen and (max-width: 991px) {
  .sec-access .flex-wrap .map-wrap {
    width: 100%;
    height: 400px;
    margin: 0;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .sec-access .flex-wrap .map-wrap {
    margin-top: 30px;
    height: 300px;
  }
}
.sec-access .flex-wrap .map-wrap img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sec-access .flex-wrap .map-wrap iframe {
  width: 100%;
  height: 100%;
}

.a-fadeIn {
  opacity: 0;
  transform: translateY(20px);
  will-change: transform;
  transition: opacity 0.8s ease 0.4s, transform 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 0.4s;
}
.a-fadeIn.__delay00 {
  transition-delay: 0s;
}
.a-fadeIn.inview {
  opacity: 1;
  transform: translateY(0);
}

/* header
---------------------------------------------------- */
#header {
  pointer-events: none;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: fixed;
  z-index: 99;
  width: 100%;
}
#header > * {
  pointer-events: auto;
}
#header .header-logo, #header .header-menu {
  box-shadow: 0 1px 4px rgba(66, 14, 14, 0.1);
  transition: box-shadow 0.4s ease;
}
@media screen and (max-width: 1399px) {
  #header .nav-btn {
    box-shadow: 0 1px 4px rgba(66, 14, 14, 0.1);
    transition: box-shadow 0.4s ease;
  }
}
#header.pagetop .header-logo, #header.pagetop .header-menu {
  box-shadow: none;
}
@media screen and (max-width: 1399px) {
  #header .menu-overlay {
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(20, 20, 20, 0.6);
    opacity: 0;
    visibility: hidden;
    transition: all 0.36s ease;
  }
  #header .menu-overlay.open {
    opacity: 1;
    visibility: visible;
  }
}
#header .header-logo {
  background-color: #fff;
  border-bottom-right-radius: max(1.875rem, 10px);
  width: max(26.875rem, 20em);
  padding: max(1.5rem, 1em);
}
@media screen and (max-width: 1399px) {
  #header .header-logo {
    padding: 1em;
  }
}
@media screen and (max-width: 767px) {
  #header .header-logo {
    width: 16em;
    padding: 0.6em;
  }
}
#header .header-logo img {
  width: 100%;
  height: auto;
  padding-right: 0.6em;
}
@media screen and (max-width: 1399px) {
  #header .nav-btn {
    position: relative;
    z-index: 99;
    background-color: #fff;
    width: 5em;
    aspect-ratio: 1/1;
    border-bottom-left-radius: max(1.875rem, 10px);
    cursor: pointer;
  }
}
@media screen and (max-width: 1399px) and (max-width: 767px) {
  #header .nav-btn {
    width: 3.5em;
  }
}
@media screen and (max-width: 1399px) {
  #header .nav-btn span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: 37.5%;
    height: 2px;
    background-color: #420e0e;
    transition: margin-top 0.2s ease, transform 0.2s ease;
  }
}
@media screen and (max-width: 1399px) and (max-width: 767px) {
  #header .nav-btn span {
    width: 35%;
  }
}
@media screen and (max-width: 1399px) {
  #header .nav-btn span:nth-of-type(1) {
    margin-top: -7px;
  }
  #header .nav-btn span:nth-of-type(3) {
    margin-top: 7px;
  }
}
@media screen and (max-width: 1399px) and (max-width: 767px) {
  #header .nav-btn span:nth-of-type(1) {
    margin-top: -5px;
  }
  #header .nav-btn span:nth-of-type(3) {
    margin-top: 5px;
  }
}
@media screen and (max-width: 1399px) {
  #header .nav-btn.open span:nth-of-type(1) {
    margin-top: 0;
    transform: translate(-50%, -50%) rotate(30deg);
  }
  #header .nav-btn.open span:nth-of-type(2) {
    opacity: 0;
  }
  #header .nav-btn.open span:nth-of-type(3) {
    margin-top: 0;
    transform: translate(-50%, -50%) rotate(-30deg);
  }
}
#header .header-menu {
  background-color: #fff;
  border-bottom-left-radius: max(1.875rem, 10px);
  padding: 16px max(2.5rem, 1em);
  padding-bottom: 0;
}
@media screen and (max-width: 1399px) {
  #header .header-menu {
    border-radius: 0;
    width: max(42vw, 26em);
    height: 100lvh;
    padding: max(12lvh, 80px) max(3vw, 20px) 60px;
    overflow-y: scroll;
    -ms-overflow-style: none; /* IE, Edge 対応 */
    scrollbar-width: none; /* Firefox 対応 */
  }
  #header .header-menu::-webkit-scrollbar {
    display: none; /* Chrome, Safari 対応 */
  }
  #header .header-menu {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: transform 0.36s ease;
  }
}
#header .header-menu .header-menu-inner {
  display: flex;
  flex-direction: column-reverse;
}
@media screen and (max-width: 1399px) {
  #header .header-menu .header-menu-inner {
    display: block;
    opacity: 0;
    transition: opacity 0.36s ease;
  }
}
@media screen and (max-width: 1399px) {
  #header .header-menu.open {
    transform: translateX(0);
  }
  #header .header-menu.open .header-menu-inner {
    opacity: 1;
    transition: opacity 0.36s 0.3s ease;
  }
}
#header .header-menu nav > ul {
  display: flex;
  justify-content: flex-end;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul {
    display: block;
  }
}
#header .header-menu nav > ul > li {
  position: relative;
  z-index: 2;
  font-size: max(1rem, 0.95em);
  margin-right: max(1.875rem, 1em);
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li {
    font-size: 1em;
    margin: 0;
  }
}
#header .header-menu nav > ul > li div, #header .header-menu nav > ul > li li, #header .header-menu nav > ul > li a {
  display: block;
  font-size: 1em;
}
#header .header-menu nav > ul > li .menu-txt {
  padding: 16px 0;
  transition: color 0.24s ease;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .menu-txt {
    border-bottom: solid 1px #e0e0e0;
    padding: 1em 0;
  }
}
#header .header-menu nav > ul > li:hover .menu-txt {
  color: #f78180;
}
#header .header-menu nav > ul > li .accordion-menu {
  cursor: pointer;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .accordion-menu {
    justify-content: space-between;
  }
}
#header .header-menu nav > ul > li .accordion-menu::after {
  content: "";
  display: block;
  width: 0.7em;
  aspect-ratio: 1/1;
  background-image: url(../images/icon-plus.png);
  background-size: cover;
  margin-left: 0.4em;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .accordion-menu::after {
    margin-left: 1em;
  }
}
#header .header-menu nav > ul > li .accordion-menu.open::after {
  transform: rotate(135deg);
}
#header .header-menu nav > ul > li .accordion-inner {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 100%;
  white-space: nowrap;
  background-color: #fff;
  border: solid 1px #e0e0e0;
  border-radius: max(1rem, 8px);
  width: 100%;
  min-width: -moz-max-content;
  min-width: max-content;
  padding: 1em 1.6em;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .accordion-inner {
    position: relative;
    border-top: none;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
    min-width: unset;
  }
}
#header .header-menu nav > ul > li .accordion-inner ul {
  margin-top: 0.4em;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .accordion-inner ul {
    margin-top: 0.6em;
  }
}
#header .header-menu nav > ul > li .accordion-inner ul li {
  margin-bottom: 0.6em;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .accordion-inner ul li {
    margin-bottom: 1em;
  }
}
#header .header-menu nav > ul > li .accordion-inner ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.95em;
}
#header .header-menu nav > ul > li .accordion-inner ul li a::after {
  content: "";
  display: block;
  width: 0.3em;
  aspect-ratio: 20/34;
  background-image: url(../images/arrow-right_pink.png);
  background-size: cover;
  margin-left: 1.6em;
  margin-right: 0.4em;
}
#header .header-menu nav > ul > li .accordion-inner ul li .d-dotline {
  margin-top: 0.6em;
}
@media screen and (max-width: 1399px) {
  #header .header-menu nav > ul > li .accordion-inner ul li .d-dotline {
    margin-top: 1em;
  }
}
#header .header-menu nav > ul > li.current .menu-txt {
  color: rgba(247, 129, 128, 0.85);
}
#header .header-menu nav > ul > li.current .accordion-inner ul li.current a {
  color: rgba(247, 129, 128, 0.85);
}
#header .header-menu nav > ul > li:last-of-type {
  margin-right: 0;
}
#header .header-menu nav > ul > li:last-of-type .accordion-inner {
  left: initial;
  right: 0;
}
#header .header-menu .top-content {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
}
@media screen and (max-width: 1399px) {
  #header .header-menu .top-content {
    display: block;
    margin-top: 30px;
  }
}
#header .header-menu .top-content .linkbtn-list {
  display: flex;
}
@media screen and (max-width: 1399px) {
  #header .header-menu .top-content .linkbtn-list {
    display: block;
  }
}
@media screen and (max-width: 1399px) {
  #header .header-menu .top-content .linkbtn-list .c-linkbtn {
    width: 100%;
  }
}
#header .header-menu .top-content .linkbtn-list .c-linkbtn:not(:last-of-type) {
  margin-right: 10px;
}
@media screen and (max-width: 1399px) {
  #header .header-menu .top-content .linkbtn-list .c-linkbtn:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: 10px;
  }
}
#header .header-menu .top-content .linkbtn-list .c-linkbtn a {
  font-size: max(0.875rem, 0.8em);
  width: 10.5em;
  border-radius: 50vh;
  padding: 0.4em 1.2em;
}
@media screen and (max-width: 1399px) {
  #header .header-menu .top-content .linkbtn-list .c-linkbtn a {
    width: 100%;
    font-size: 0.9em;
    padding: 0.6em 1em;
  }
}
#header .header-menu .top-content .linkbtn-list .c-linkbtn a span.__txt {
  margin-right: 1em;
}
#header .header-menu .top-content .sns-list {
  display: flex;
  align-items: center;
  margin-right: 20px;
}
@media screen and (max-width: 1399px) {
  #header .header-menu .top-content .sns-list {
    margin-right: 0;
    margin-top: 40px;
  }
}
#header .header-menu .top-content .sns-list .sns-logo {
  margin-right: 1em;
}
#header .header-menu .top-content .sns-list .sns-logo a {
  display: block;
  font-size: max(0.9375rem, 0.9em);
  height: 2em;
}
#header .header-menu .top-content .sns-list .sns-logo a img {
  width: auto;
  height: 100%;
}

/* footer
---------------------------------------------------- */
#footer {
  position: relative;
  overflow-y: clip;
  background-color: #dbf8dc;
  padding-top: max(8.75rem, 100px);
}
@media screen and (max-width: 767px) {
  #footer {
    padding-top: 40px;
  }
}
#footer .footer-logo {
  width: 23.75em;
  margin: 0 auto;
  margin-top: -2.5rem;
}
@media screen and (max-width: 767px) {
  #footer .footer-logo {
    width: 20em;
    margin-top: 60px;
  }
}
#footer .footer-logo img {
  width: 100%;
  height: auto;
  padding-right: 0.6em;
}
#footer .footer-info {
  margin-top: 20px;
}
#footer .footer-info p {
  text-align: center;
  font-weight: 400;
}
#footer .copyright {
  margin-top: 60px;
  padding-bottom: 48px;
}
@media screen and (max-width: 767px) {
  #footer .copyright {
    padding-bottom: 20px;
  }
}
#footer .copyright p {
  text-align: center;
  font-weight: 400;
  font-size: 0.85em;
}

#pagetop {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 40px;
}
@media screen and (max-width: 767px) {
  #pagetop {
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
#pagetop a {
  text-align: center;
  display: block;
  font-size: max(1.125rem, 0.95em);
  line-height: 1;
  width: max(8.125rem, 6.5em);
  will-change: transform;
  transition: transform 0.4s ease;
}
#pagetop a img {
  width: 100%;
  height: auto;
  margin-bottom: 1em;
}
#pagetop a:hover {
  transform: scale(1.05);
}/*# sourceMappingURL=common.css.map */