@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&display=swap");
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
}

img,
video {
  max-width: 100%;
  height: auto;
  display: block;
  vertical-align: bottom;
}

button,
input,
select,
textarea {
  font: inherit;
  border: none;
  background: none;
  color: inherit;
}

ul,
ol {
  list-style: none;
}

:root {
  --color-area1: #ec694e;
  --color-area1-bg: #fdf5f2;
  --color-area1-contentsbg: #f9d5cf;
  --color-area2: #c7da41;
  --color-area2-bg: #f9f7dc;
  --color-area3: #1fb8d8;
  --color-area3-bg: #eefafc;
  --color-area3-contentsbg: #a5e9ef;
  --color-white: #fff;
  --color-black: #000;
  --color-text: #333;
  --font-rounded: "M PLUS Rounded 1c", sans-serif;
}

html {
  scroll-behavior: auto;
  font-family: "Noto Sans JP", sans-serif;
  color: var(--color-text);
}

body.fixed {
  overflow: hidden;
}

@media (769px <= width) {
  .dp_sp {
    display: none;
  }
}

@media (width <= 768px) {
  .dp_pc {
    display: none;
  }
}

.js-scroll.js-hometitle {
  overflow: hidden;
}
.js-scroll.js-hometitle span {
  display: inline-block;
  opacity: 0;
  transform: translateX(-90px) translateY(0);
  transition: 0.5s cubic-bezier(0.5, 1.18, 0.65, 1.12);
}
.js-scroll.js-hometitle.scrollin.active span {
  opacity: 1;
  transform: translateX(0);
}
.js-scroll.js-slideup {
  transition: 0.8s ease-out;
  transform: translateY(20px);
  opacity: 0;
}
.js-scroll.js-slideup.scrollin {
  transform: translateY(0);
  opacity: 1;
}

.section_frame ul li.js-slideup:nth-child(odd) {
  transform: translateY(0) translateX(-20px);
}
.section_frame ul li.js-slideup:nth-child(odd).scrollin {
  transform: translateY(0) translateX(0);
}
.section_frame ul li.js-slideup:nth-child(even) {
  transform: translateY(0) translateX(20px);
}
.section_frame ul li.js-slideup:nth-child(even).scrollin {
  transform: translateY(0) translateX(0);
}

.js-modal {
  background: none;
  border: none;
}

.modal {
  display: none;
  height: 100vh;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 8;
}
.modal__bg {
  background: rgba(51, 51, 51, 0.9);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal .modal__content {
  background: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 600px;
  width: 100%;
  line-height: 1.75;
  max-height: calc(100vh - 64px);
  overflow: auto;
  font-size: 24px;
  padding: 40px;
  border: 8px solid #cecece;
  border-radius: 32px;
  box-sizing: border-box;
}
.modal .modal__content p {
  padding-top: 16px;
}
.modal .modal__content .js-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 26px;
  cursor: pointer;
}

@media (width <= 768px) {
  .modal .modal__content {
    width: 83.334%;
    font-size: min(32px, 4.1666666667vw);
    padding: min(80px, 10.4166666667vw) min(48px, 6.25vw) min(48px, 6.25vw);
    border: min(8px, 1.0416666667vw) solid #cecece;
    border-radius: min(32px, 4.1666666667vw);
  }
  .modal .modal__content p {
    padding-top: min(16px, 2.0833333333vw);
  }
  .modal .modal__content .js-modal-close {
    top: min(32px, 4.1666666667vw);
    right: min(32px, 4.1666666667vw);
    width: min(72px, 9.375vw);
    height: min(45px, 5.859375vw);
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  height: 120px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-inline: auto;
  padding: 0 2%;
  box-sizing: border-box;
  z-index: 2;
  transition: 0.6s;
  background: var(--color-white);
}
.header__logo {
  width: 178px;
  height: auto;
  z-index: 1;
}
.header__nav {
  width: calc(100% - 178px);
}
.header__nav__main {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px 12px;
}
.header__nav__main a {
  color: var(--color-text);
  text-decoration: none;
  position: relative;
  line-height: 1;
  font-weight: 500;
  padding: 8px 8px 8px 12px;
  font-size: 16px;
}
.header__nav__main a::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  width: 8px;
  height: 6px;
  background: url("..//img/cursor.svg");
  display: block;
  transition: 0.3s;
}
@media (769px <= width) {
  .header__nav__main a:hover::before {
    transform: translateY(calc(-50% + 4px));
  }
}
@media (width <= 1200px) {
  .header__nav__main {
    max-width: 640px;
    width: 100%;
    margin-inline-start: auto;
  }
}
.header__nav__toggle {
  display: none;
}

@media (width <= 768px) {
  .header {
    height: min(120px, 15.625vw);
    padding: 0 4%;
  }
  .header__logo {
    width: min(180px, 23.4375vw);
  }
  .header__nav__main {
    position: absolute;
    left: 0;
    top: -120vh;
    width: 100%;
    height: 100vh;
    max-width: none;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 4px 12px;
    background: rgba(51, 51, 51, 0.9);
    z-index: 1;
    transition: 0.4s;
  }
  .header__nav__main strong {
    font-size: min(48px, 6.25vw);
    margin-bottom: min(32px, 4.1666666667vw);
    margin-top: min(24px, 3.125vw);
    color: var(--color-white);
  }
  .header__nav__main a {
    color: var(--color-white);
    font-size: min(32px, 4.1666666667vw);
    border-bottom: 2px solid #fff;
    width: 75%;
    font-weight: 400;
    padding: min(32px, 4.1666666667vw) 0 min(32px, 4.1666666667vw) min(32px, 4.1666666667vw);
    display: block;
  }
  .header__nav__main a::before {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-45%);
    content: "";
    width: min(20px, 2.6041666667vw);
    height: min(15px, 1.953125vw);
    background: url("..//img/cursor_wh.svg") left center/auto no-repeat;
  }
  .header__nav__main.open {
    top: 0;
  }
  .header__nav__toggle {
    display: block;
    width: min(80px, 10.4166666667vw);
    height: min(51px, 6.640625vw);
    position: absolute;
    cursor: pointer;
    right: min(33px, 4.296875vw);
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
  }
  .header__nav__toggle span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    height: min(5px, 0.6510416667vw);
    width: 100%;
    background: var(--color-black);
    display: block;
    transition: 0.3s;
    transform-origin: center;
  }
  .header__nav__toggle span:nth-child(1) {
    top: 0%;
  }
  .header__nav__toggle span:nth-child(2) {
    top: 50%;
  }
  .header__nav__toggle span:nth-child(3) {
    top: 100%;
  }
  .header__nav__toggle.open span {
    background: var(--color-white);
  }
  .header__nav__toggle.open span:nth-child(1) {
    top: 46%;
    transform: rotate(30deg);
    left: 0%;
  }
  .header__nav__toggle.open span:nth-child(2) {
    width: 0;
  }
  .header__nav__toggle.open span:nth-child(3) {
    top: 46%;
    transform: rotate(-30deg);
    left: 0%;
  }
}
#main {
  padding-top: 120px;
}
@media (width <= 768px) {
  #main {
    padding-top: min(120px, 15.625vw);
  }
}

.section_frame {
  width: 100%;
  margin-inline: auto;
}

.head {
  max-width: 1200px;
  width: 91.667%;
  margin-inline: auto;
  margin-top: 56px;
}
.head h1 img {
  display: block;
  margin: 0 auto;
  transition: 0.6s;
  transform: translateY(20px);
  opacity: 0;
}
.head__block {
  max-width: 1000px;
  width: 100%;
  margin-inline: auto;
  border-top: 4px solid #ececec;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 64px;
  margin-bottom: 64px;
  padding-top: 64px;
}
.head__block h2 {
  width: 100%;
  font-size: 32px;
  font-family: var(--font-rounded);
}
.head__block p {
  width: 47%;
  font-size: 16px;
  line-height: 1.75;
  margin-top: 8px;
}
.head.loaded h1 img {
  transform: translateY(0);
  opacity: 1;
}

@media (width <= 768px) {
  .head {
    width: 83.334%;
    margin-top: min(96px, 12.5vw);
  }
  .head__block {
    margin-top: min(80px, 10.4166666667vw);
    margin-bottom: min(80px, 10.4166666667vw);
    padding-top: min(80px, 10.4166666667vw);
  }
  .head__block h2 {
    font-size: min(48px, 6.25vw);
    margin-bottom: min(40px, 5.2083333333vw);
  }
  .head__block p {
    width: 100%;
    font-size: min(32px, 4.1666666667vw);
    margin-top: min(16px, 2.0833333333vw);
  }
}
.workshop {
  background: var(--color-area2-bg) url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
}
.workshop__frame {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: 64px 0;
}
.workshop__frame h2 {
  font-family: var(--font-rounded);
  font-size: 70px;
  margin-bottom: 64px;
}
.workshop__frame__block li {
  border: 8px solid var(--color-area3);
  background: var(--color-white);
  border-radius: 40px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 2.564%;
}
.workshop__frame__block li .thumbnail {
  width: 42.735%;
}
.workshop__frame__block li .thumbnail img {
  border-radius: 40px;
}
.workshop__frame__block li .txt {
  width: 54.701%;
}
.workshop__frame__block li .txt small {
  font-size: 20px;
  display: block;
  font-weight: bold;
}
.workshop__frame__block li .txt h3 {
  font-size: 24px;
  padding-top: 8px;
}
.workshop__frame__block li .txt p {
  font-size: 16px;
  padding-top: 16px;
  line-height: 1.75;
}
.workshop__frame__block li .txt .schedule {
  display: inline-block;
  background: var(--color-area3-contentsbg);
  border-radius: 16px;
  margin-top: 24px;
  padding: 8px 12px;
  font-weight: bold;
  font-size: 24px;
}
.workshop__frame__block li + li {
  margin-top: 48px;
}
.workshop__frame__regist {
  margin-top: 48px;
  text-align: center;
}
.workshop__frame__regist p {
  font-size: 16px;
  line-height: 1.75;
}
.workshop__frame__regist a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 72px;
  width: 100%;
  border-radius: 32px;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
  font-weight: 600;
  margin-top: 8px;
  transition: 0.4s;
  border: 2px solid var(--color-area3);
  color: var(--color-white);
  background: var(--color-area3);
}
.workshop__frame__regist a:hover {
  color: var(--color-area3);
  background: var(--color-white);
}

@media (width <= 768px) {
  .workshop__frame {
    width: 83.334%;
    padding: min(80px, 10.4166666667vw) 0;
  }
  .workshop__frame h2 {
    font-size: min(64px, 8.3333333333vw);
    margin-bottom: min(80px, 10.4166666667vw);
  }
  .workshop__frame__block li {
    border: min(8px, 1.0416666667vw) solid var(--color-area3);
    border-radius: min(48px, 6.25vw);
    padding: min(40px, 5.2083333333vw);
    display: block;
  }
  .workshop__frame__block li .thumbnail {
    width: 100%;
  }
  .workshop__frame__block li .thumbnail img {
    border-radius: min(40px, 5.2083333333vw);
  }
  .workshop__frame__block li .txt {
    width: 100%;
  }
  .workshop__frame__block li .txt small {
    font-size: min(32px, 4.1666666667vw);
    margin-top: min(32px, 4.1666666667vw);
  }
  .workshop__frame__block li .txt h3 {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(16px, 2.0833333333vw);
  }
  .workshop__frame__block li .txt p {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(32px, 4.1666666667vw);
    line-height: 1.75;
  }
  .workshop__frame__block li .txt .schedule {
    display: block;
    border-radius: min(16px, 2.0833333333vw);
    margin-top: min(24px, 3.125vw);
    padding: min(8px, 1.0416666667vw) min(12px, 1.5625vw);
    font-size: min(32px, 4.1666666667vw);
  }
  .workshop__frame__block li + li {
    margin-top: min(40px, 5.2083333333vw);
  }
  .workshop__frame__regist {
    margin-top: min(40px, 5.2083333333vw);
    text-align: left;
  }
  .workshop__frame__regist p {
    font-size: min(32px, 4.1666666667vw);
  }
  .workshop__frame__regist a {
    height: auto;
    border-radius: min(32px, 4.1666666667vw);
    font-size: min(48px, 6.25vw);
    margin-top: min(48px, 6.25vw);
    padding: min(16px, 2.0833333333vw);
  }
}
.experience {
  background: url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
}
.experience__frame {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: 64px 0;
}
.experience__frame h2 {
  font-family: var(--font-rounded);
  font-size: 70px;
  margin-bottom: 64px;
}
.experience__frame__block {
  display: flex;
  flex-wrap: wrap;
  gap: 48px 7%;
}
.experience__frame__block li {
  width: 46.5%;
  border: 8px solid var(--color-area1);
  background: var(--color-white);
  border-radius: 32px;
  padding: 24px;
}
.experience__frame__block li .thumbnail img {
  border-radius: 32px;
}
.experience__frame__block li .txt small {
  font-size: 20px;
  padding-top: 16px;
  display: block;
  font-weight: bold;
}
.experience__frame__block li .txt h3 {
  font-size: 24px;
  padding-top: 8px;
}
.experience__frame__block li .txt p {
  font-size: 16px;
  padding-top: 16px;
  line-height: 1.75;
}
.experience__frame__block li .txt p.info {
  font-size: 16px;
  padding: 8px 16px;
  background: #ececec;
  margin-top: 16px;
  font-weight: bold;
  border-radius: 16px;
}
.experience__frame__block li .txt .schedule {
  display: block;
  background: var(--color-area1-contentsbg);
  border-radius: 16px;
  margin-top: 24px;
  padding: 8px 12px;
  font-weight: bold;
  font-size: 24px;
}
.experience__frame__regist {
  margin-top: 48px;
  text-align: center;
}
.experience__frame__regist p {
  font-size: 16px;
  line-height: 1.75;
}
.experience__frame__regist a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 72px;
  width: 100%;
  border-radius: 32px;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
  font-weight: 600;
  margin-top: 8px;
  transition: 0.4s;
  border: 2px solid var(--color-area1);
  color: var(--color-white);
  background: var(--color-area1);
}
.experience__frame__regist a:hover {
  color: var(--color-area1);
  background: var(--color-white);
}

@media (width <= 768px) {
  .experience__frame {
    width: 83.334%;
    padding: min(80px, 10.4166666667vw) 0;
  }
  .experience__frame h2 {
    font-size: min(64px, 8.3333333333vw);
    margin-bottom: min(80px, 10.4166666667vw);
  }
  .experience__frame__block {
    display: block;
  }
  .experience__frame__block li {
    width: 100%;
    border: min(8px, 1.0416666667vw) solid var(--color-area1);
    border-radius: min(48px, 6.25vw);
    padding: min(40px, 5.2083333333vw);
    display: block;
  }
  .experience__frame__block li .thumbnail {
    width: 100%;
  }
  .experience__frame__block li .thumbnail img {
    border-radius: min(40px, 5.2083333333vw);
  }
  .experience__frame__block li .txt {
    width: 100%;
  }
  .experience__frame__block li .txt small {
    font-size: min(32px, 4.1666666667vw);
    margin-top: min(32px, 4.1666666667vw);
    padding-top: 0;
  }
  .experience__frame__block li .txt h3 {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(16px, 2.0833333333vw);
  }
  .experience__frame__block li .txt p {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(32px, 4.1666666667vw);
    line-height: 1.75;
  }
  .experience__frame__block li .txt p.info {
    font-size: min(32px, 4.1666666667vw);
    padding: min(24px, 3.125vw);
    line-height: 1;
    margin-top: min(24px, 3.125vw);
    border-radius: min(24px, 3.125vw);
  }
  .experience__frame__block li .txt .schedule {
    display: block;
    border-radius: min(16px, 2.0833333333vw);
    margin-top: min(24px, 3.125vw);
    padding: min(8px, 1.0416666667vw) min(12px, 1.5625vw);
    font-size: min(32px, 4.1666666667vw);
  }
  .experience__frame__block li + li {
    margin-top: min(40px, 5.2083333333vw);
  }
  .experience__frame__regist {
    margin-top: min(40px, 5.2083333333vw);
    text-align: left;
  }
  .experience__frame__regist p {
    font-size: min(32px, 4.1666666667vw);
  }
  .experience__frame__regist a {
    height: auto;
    border-radius: min(32px, 4.1666666667vw);
    font-size: min(48px, 6.25vw);
    margin-top: min(48px, 6.25vw);
    padding: min(16px, 2.0833333333vw);
  }
}
.performance {
  background: var(--color-area1-bg) url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
}
.performance__frame {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: 64px 0;
}
.performance__frame h2 {
  font-family: var(--font-rounded);
  font-size: 70px;
  margin-bottom: 64px;
}
.performance__frame__block li {
  border: 8px solid var(--color-area2);
  background: var(--color-white);
  border-radius: 40px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 2.564%;
}
.performance__frame__block li .thumbnail {
  width: 42.735%;
}
.performance__frame__block li .thumbnail img {
  border-radius: 40px;
}
.performance__frame__block li .txt {
  width: 54.701%;
}
.performance__frame__block li .txt small {
  font-size: 20px;
  display: block;
  font-weight: bold;
}
.performance__frame__block li .txt h3 {
  font-size: 24px;
  background: var(--color-area2);
  border-radius: 16px;
  padding: 8px 16px;
  margin-top: 8px;
}
.performance__frame__block li .txt dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  font-weight: bold;
  margin-top: 16px;
}
.performance__frame__block li .txt dl dt {
  width: 120px;
  background: #ececec;
  border-radius: 8px;
  text-align: center;
  font-size: 16px;
  padding: 2px;
  box-sizing: border-box;
}
.performance__frame__block li .txt dl dd {
  width: calc(100% - 132px);
}
.performance__frame__block li .txt p {
  font-size: 16px;
  padding-top: 16px;
  line-height: 1.75;
}
.performance__frame__block li + li {
  margin-top: 48px;
}

@media (width <= 768px) {
  .performance__frame {
    width: 83.334%;
    padding: min(80px, 10.4166666667vw) 0;
  }
  .performance__frame h2 {
    font-size: min(64px, 8.3333333333vw);
    margin-bottom: min(80px, 10.4166666667vw);
  }
  .performance__frame__block li {
    border: min(8px, 1.0416666667vw) solid var(--color-area2);
    border-radius: min(48px, 6.25vw);
    padding: min(40px, 5.2083333333vw);
    display: block;
  }
  .performance__frame__block li .thumbnail {
    width: 100%;
  }
  .performance__frame__block li .thumbnail img {
    border-radius: min(40px, 5.2083333333vw);
  }
  .performance__frame__block li .txt {
    width: 100%;
  }
  .performance__frame__block li .txt small {
    font-size: min(32px, 4.1666666667vw);
    margin-top: min(32px, 4.1666666667vw);
  }
  .performance__frame__block li .txt h3 {
    font-size: min(32px, 4.1666666667vw);
    padding: min(12px, 1.5625vw) min(16px, 2.0833333333vw);
    border-radius: min(16px, 2.0833333333vw);
    margin-top: min(24px, 3.125vw);
  }
  .performance__frame__block li .txt dl {
    margin-top: min(24px, 3.125vw);
    gap: min(12px, 1.5625vw);
  }
  .performance__frame__block li .txt dl dt {
    width: min(180px, 23.4375vw);
    border-radius: min(8px, 1.0416666667vw);
    font-size: min(32px, 4.1666666667vw);
    line-height: 1;
    padding: min(8px, 1.0416666667vw);
  }
  .performance__frame__block li .txt dl dd {
    width: calc(100% - min(192px, 25vw));
    font-size: min(32px, 4.1666666667vw);
  }
  .performance__frame__block li .txt p {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(32px, 4.1666666667vw);
    line-height: 1.75;
  }
  .performance__frame__block li .txt .schedule {
    display: block;
    border-radius: min(16px, 2.0833333333vw);
    margin-top: min(24px, 3.125vw);
    padding: min(8px, 1.0416666667vw) min(12px, 1.5625vw);
    font-size: min(32px, 4.1666666667vw);
  }
  .performance__frame__block li + li {
    margin-top: min(40px, 5.2083333333vw);
  }
}
.wellbeing {
  background: var(--color-area3-bg) url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
}
.wellbeing__frame {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: 64px 0;
}
.wellbeing__frame h2 {
  font-family: var(--font-rounded);
  font-size: 70px;
  margin-bottom: 64px;
}
.wellbeing__frame__block {
  display: flex;
  flex-wrap: wrap;
  gap: 48px 7%;
}
.wellbeing__frame__block li {
  width: 46.5%;
  border: 8px solid var(--color-area3);
  background: var(--color-white);
  border-radius: 32px;
  padding: 24px;
}
.wellbeing__frame__block li .thumbnail img {
  border-radius: 32px;
}
.wellbeing__frame__block li .txt small {
  font-size: 20px;
  padding-top: 16px;
  display: block;
  font-weight: bold;
}
.wellbeing__frame__block li .txt h3 {
  font-size: 24px;
  padding-top: 8px;
}
.wellbeing__frame__block li .txt dl {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 12px;
  font-weight: bold;
  margin-top: 16px;
}
.wellbeing__frame__block li .txt dl dt {
  width: 120px;
  background: #ececec;
  border-radius: 8px;
  text-align: center;
  font-size: 16px;
  padding: 2px;
  box-sizing: border-box;
}
.wellbeing__frame__block li .txt dl dd {
  width: calc(100% - 132px);
}
.wellbeing__frame__block li .txt p {
  font-size: 16px;
  padding-top: 16px;
  line-height: 1.75;
}
.wellbeing__frame__block li .txt .schedule {
  display: block;
  background: var(--color-area3-contentsbg);
  border-radius: 16px;
  margin-top: 24px;
  padding: 8px 12px;
  font-weight: bold;
  font-size: 24px;
}
.wellbeing__frame__regist {
  margin-top: 48px;
  text-align: center;
}
.wellbeing__frame__regist p {
  font-size: 16px;
  line-height: 1.75;
}
.wellbeing__frame__regist a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 72px;
  width: 100%;
  border-radius: 32px;
  font-size: 32px;
  line-height: 1;
  text-decoration: none;
  font-weight: 600;
  margin-top: 8px;
  transition: 0.4s;
  border: 2px solid var(--color-area3);
  color: var(--color-white);
  background: var(--color-area3);
}
.wellbeing__frame__regist a:hover {
  color: var(--color-area3);
  background: var(--color-white);
}

@media (width <= 768px) {
  .wellbeing {
    background: var(--color-area3-bg) url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
  }
  .wellbeing__frame {
    width: 83.334%;
    padding: min(80px, 10.4166666667vw) 0;
  }
  .wellbeing__frame h2 {
    font-size: min(64px, 8.3333333333vw);
    margin-bottom: min(80px, 10.4166666667vw);
    letter-spacing: -0.05em;
  }
  .wellbeing__frame__block {
    display: block;
  }
  .wellbeing__frame__block li {
    width: 100%;
    border: min(8px, 1.0416666667vw) solid var(--color-area3);
    border-radius: min(48px, 6.25vw);
    padding: min(40px, 5.2083333333vw);
    display: block;
  }
  .wellbeing__frame__block li .thumbnail {
    width: 100%;
  }
  .wellbeing__frame__block li .thumbnail img {
    border-radius: min(40px, 5.2083333333vw);
  }
  .wellbeing__frame__block li .txt {
    width: 100%;
  }
  .wellbeing__frame__block li .txt small {
    font-size: min(32px, 4.1666666667vw);
    margin-top: min(32px, 4.1666666667vw);
    padding-top: 0;
  }
  .wellbeing__frame__block li .txt h3 {
    font-size: min(32px, 4.1666666667vw);
    padding: 0;
    margin-top: min(12px, 3.125vw);
  }
  .wellbeing__frame__block li .txt dl {
    margin-top: min(24px, 3.125vw);
    gap: min(12px, 1.5625vw);
  }
  .wellbeing__frame__block li .txt dl dt {
    width: min(180px, 23.4375vw);
    border-radius: min(8px, 1.0416666667vw);
    font-size: min(32px, 4.1666666667vw);
    line-height: 1;
    padding: min(8px, 1.0416666667vw);
  }
  .wellbeing__frame__block li .txt dl dd {
    width: calc(100% - min(192px, 25vw));
    font-size: min(32px, 4.1666666667vw);
  }
  .wellbeing__frame__block li .txt p {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(32px, 4.1666666667vw);
    line-height: 1.75;
  }
  .wellbeing__frame__block li .txt .schedule {
    display: block;
    border-radius: min(16px, 2.0833333333vw);
    margin-top: min(24px, 3.125vw);
    padding: min(8px, 1.0416666667vw) min(12px, 1.5625vw);
    font-size: min(32px, 4.1666666667vw);
  }
  .wellbeing__frame__block li + li {
    margin-top: min(40px, 5.2083333333vw);
  }
  .wellbeing__frame__regist {
    margin-top: min(40px, 5.2083333333vw);
    text-align: left;
  }
  .wellbeing__frame__regist p {
    font-size: min(32px, 4.1666666667vw);
  }
  .wellbeing__frame__regist a {
    height: auto;
    border-radius: min(32px, 4.1666666667vw);
    font-size: min(48px, 6.25vw);
    margin-top: min(48px, 6.25vw);
    padding: min(16px, 2.0833333333vw);
  }
}
.measure {
  background: var(--color-area2-bg) url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
}
.measure__frame {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: 64px 0;
}
.measure__frame h2 {
  font-family: var(--font-rounded);
  font-size: 70px;
  margin-bottom: 64px;
}
.measure__frame__block li {
  border: 8px solid var(--color-area3);
  background: var(--color-white);
  border-radius: 40px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 2.564%;
}
.measure__frame__block li .thumbnail {
  width: 42.735%;
}
.measure__frame__block li .thumbnail img {
  border-radius: 40px;
}
.measure__frame__block li .txt {
  width: 54.701%;
}
.measure__frame__block li .txt small {
  font-size: 20px;
  display: block;
  font-weight: bold;
}
.measure__frame__block li .txt h3 {
  font-size: 24px;
  padding-top: 8px;
}
.measure__frame__block li .txt p {
  font-size: 16px;
  padding-top: 16px;
  line-height: 1.75;
}
.measure__frame__block li + li {
  margin-top: 48px;
}

@media (width <= 768px) {
  .measure__frame {
    width: 83.334%;
    padding: min(80px, 10.4166666667vw) 0;
  }
  .measure__frame h2 {
    font-size: min(64px, 8.3333333333vw);
    margin-bottom: min(80px, 10.4166666667vw);
  }
  .measure__frame__block li {
    border: min(8px, 1.0416666667vw) solid var(--color-area3);
    border-radius: min(48px, 6.25vw);
    padding: min(40px, 5.2083333333vw);
    display: block;
  }
  .measure__frame__block li .thumbnail {
    width: 100%;
  }
  .measure__frame__block li .thumbnail img {
    border-radius: min(40px, 5.2083333333vw);
  }
  .measure__frame__block li .txt {
    width: 100%;
  }
  .measure__frame__block li .txt small {
    font-size: min(32px, 4.1666666667vw);
    margin-top: min(32px, 4.1666666667vw);
  }
  .measure__frame__block li .txt h3 {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(16px, 2.0833333333vw);
  }
  .measure__frame__block li .txt p {
    font-size: min(32px, 4.1666666667vw);
    padding-top: min(32px, 4.1666666667vw);
    line-height: 1.75;
  }
  .measure__frame__block li + li {
    margin-top: min(40px, 5.2083333333vw);
  }
}
.exhibition {
  background: url("../img/bg_img.png") center 20px/min(1200px, 100vw) auto no-repeat;
}
.exhibition__frame {
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  padding: 64px 0;
}
.exhibition__frame h2 {
  font-family: var(--font-rounded);
  font-size: 70px;
  margin-bottom: 64px;
}
.exhibition__frame__block {
  display: flex;
  flex-wrap: wrap;
  gap: 32px 5%;
}
.exhibition__frame__block li {
  width: 47.5%;
  border: 8px solid #b2b2b2;
  background: var(--color-white);
  border-radius: 32px;
  min-height: 160px;
  transition: 0.4s;
}
.exhibition__frame__block li a,
.exhibition__frame__block li p {
  padding: 24px;
  height: 100%;
  display: flex;
  line-height: 1.75;
  text-decoration: none;
  color: var(--color-text);
  flex-direction: column;
  justify-content: center;
  text-align: left;
  font-size: 18px;
  font-weight: 600;
  cursor: default;
}
.exhibition__frame__block li a span,
.exhibition__frame__block li p span {
  display: block;
  font-weight: 400;
  font-size: 16px;
  position: relative;
  padding-left: 10px;
}
.exhibition__frame__block li a span::before,
.exhibition__frame__block li p span::before {
  content: "-";
  position: absolute;
  left: 0;
  top: 0;
}
.exhibition p.bottom {
  text-align: left;
  margin: -48px auto 64px;
  font-weight: bold;
  font-size: 21px;
  font-weight: 600;
}

@media (width <= 768px) {
  .exhibition__frame {
    width: 83.334%;
    padding: min(80px, 10.4166666667vw) 0;
  }
  .exhibition__frame h2 {
    font-size: min(64px, 8.3333333333vw);
    margin-bottom: min(80px, 10.4166666667vw);
  }
  .exhibition__frame__block {
    display: block;
  }
  .exhibition__frame__block li {
    width: 100%;
    border: min(8px, 1.0416666667vw) solid #b2b2b2;
    border-radius: min(48px, 6.25vw);
    padding: 0;
    display: block;
    position: relative;
    min-height: auto;
  }
  .exhibition__frame__block li a,
  .exhibition__frame__block li p {
    padding: min(40px, 5.2083333333vw);
    height: 100%;
    display: flex;
    align-items: center;
    line-height: 1.75;
    text-decoration: none;
    color: var(--color-text);
    min-height: min(200px, 26.0416666667vw);
    font-size: min(32px, 4.1666666667vw);
  }
  .exhibition__frame__block li + li {
    margin-top: min(40px, 5.2083333333vw);
  }
  .exhibition p.bottom {
    margin: -10vw auto min(40px, 5.2083333333vw);
    font-size: min(24px, 3.125vw);
  }
}
.footer {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  padding-top: 48px;
  text-align: center;
}
.footer img {
  width: 178px;
}
.footer small {
  display: block;
  padding: 24px;
  line-height: 1.8;
}
.footer small span {
  display: block;
}
.footer small a {
  color: var(--color-text);
}
.footer small a:hover {
  text-decoration: none;
}

@media (width <= 768px) {
  .footer {
    padding-top: min(48px, 6.25vw);
  }
  .footer img {
    width: min(298px, 38.8020833333vw);
  }
  .footer small {
    display: block;
    font-size: min(24px, 3.125vw);
    padding: min(80px, 10.4166666667vw) 0 min(32px, 4.1666666667vw);
    text-align: center;
  }
  .footer small span {
    margin-bottom: min(24px, 3.125vw);
  }
}
.notice {
  font-size: 16px;
  line-height: 1.75;
  text-align: center;
  margin: 48px auto 0;
  border: 4px solid #ececec;
  padding: 16px;
  max-width: 600px;
  width: 83.334%;
  border-radius: 16px;
  color: var(--color-text);
  line-height: 1.75;
  color: #e25638;
}
.notice::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 16px;
  background: url("../img/notice.png") left top/20px 16px no-repeat;
  vertical-align: -2px;
}

@media (width <= 768px) {
  .notice {
    padding: min(24px, 3.125vw);
    font-size: min(30px, 3.90625vw);
    margin: min(24px, 3.125vw) auto;
  }
}