@charset "UTF-8";
/* SP時の定義 */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 5.21vw !important;
}
@media (max-width: 768px) {
  html {
    scroll-padding-top: 17.5vw !important;
  }
}

body {
  font-size: 0.83vw !important;
}
@media (max-width: 768px) {
  body {
    font-size: 4vw !important;
  }
}
body:has(.open) {
  overflow: hidden;
}

a {
  text-decoration: none;
  color: inherit;
}

.pcNone {
  display: none !important;
}
@media (max-width: 768px) {
  .pcNone {
    display: block !important;
  }
}

.spNone {
  display: block !important;
}
@media (max-width: 768px) {
  .spNone {
    display: none !important;
  }
}

/* アニメーション */
@keyframes fadeUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
/* contents */
.header01 {
  position: fixed;
  background: rgba(255, 255, 255, 0.8);
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  padding: 1.04vw;
  width: 100%;
  height: 5.21vw;
  z-index: 10;
}
@media (max-width: 768px) {
  .header01 {
    padding: 2.5vw 5vw;
    height: 17.5vw;
  }
}
.header01 .inner01 {
  display: flex;
  justify-content: end;
  align-items: center;
}
.header01 .logo01 {
  position: absolute;
  top: 0.52vw;
  left: 1.04vw;
  width: 10.42vw;
}
@media (max-width: 768px) {
  .header01 .logo01 {
    top: 2.5vw;
    left: 5vw;
    width: 37.5vw;
  }
}

.menuBlock01 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.04vw 1.04vw;
}
@media (max-width: 768px) {
  .menuBlock01 {
    position: fixed;
    display: block;
    top: -200vh;
    left: 0;
    width: 100vw;
    height: 100vh;
    transition: top 0.3s ease;
    background: #fff;
  }
}
.menuBlock01 li {
  position: relative;
}
@media (max-width: 768px) {
  .menuBlock01 li {
    margin-top: 5vw;
    border-bottom: 1px solid #FF5722;
  }
}
.menuBlock01 li::before {
  content: "";
  position: relative;
  display: inline-block;
  background: #FF5722;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: 0.52vw;
  width: 0.7em;
  height: 0.7em;
  left: 0;
  transition: left 0.3s ease;
}
@media (max-width: 768px) {
  .menuBlock01 li::before {
    position: absolute;
    top: 0.5em;
    left: 5vw;
  }
}
.menuBlock01 li a {
  position: relative;
  padding: 0.26vw 0.16vw;
  font-size: 1.04vw;
  display: inline-block;
  text-align: center;
  line-height: 1.2;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .menuBlock01 li a {
    display: block;
    padding: 0 5vw 5vw calc(5vw + 0.7em + 2.5vw);
    font-size: 5vw;
    text-align: left;
  }
}
.menuBlock01 li a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  border-bottom: 2px solid #ff6c3f;
  transition: width 0.3s ease;
}
@media (hover: hover) {
  .menuBlock01 li a:hover {
    opacity: 1;
  }
  .menuBlock01 li a:hover::before {
    width: 100%;
  }
}
.open + .menuBlock01 {
  top: 17.5vw;
}

.menuBlock02 {
  margin: auto;
  max-width: 70vw;
  padding: 0 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 20px 20px;
}
@media (max-width: 768px) {
  .menuBlock02 {
    gap: 5vw 7.5vw;
    padding: 0 10vw;
    max-width: inherit;
  }
}
.menuBlock02 + * {
  margin-top: 30px;
}
@media (max-width: 768px) {
  .menuBlock02 + * {
    margin-top: 7.5vw;
  }
}
.menuBlock02 li {
  position: relative;
}
.menuBlock02 li::before {
  content: "";
  position: relative;
  display: inline-block;
  background: #FF5722;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: 0.52vw;
  width: 0.7em;
  height: 0.7em;
  left: 0;
  transition: left 0.3s ease;
}
@media (max-width: 768px) {
  .menuBlock02 li::before {
    position: absolute;
    top: 0.25em;
    left: -0.9em;
  }
}
.menuBlock02 li a {
  position: relative;
  display: inline-block;
  font-size: 1.4rem;
  text-align: center;
  vertical-align: middle;
}
@media (max-width: 768px) {
  .menuBlock02 li a {
    display: block;
    font-size: 3.5vw;
    text-align: left;
  }
}
.menuBlock02 li a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 0;
  border-bottom: 2px solid #ff6c3f;
  transition: width 0.3s ease;
}
@media (hover: hover) {
  .menuBlock02 li a:hover {
    opacity: 1;
  }
  .menuBlock02 li a:hover::before {
    width: 100%;
  }
}

.menu_btn {
  position: absolute;
  top: 50%;
  right: 5vw;
  transform: translateY(-50%);
  display: block;
  width: 10vw;
  height: 10vw;
  z-index: 3;
  border: none;
  background: #FF5722;
  border-radius: 1.5vw;
  z-index: 99;
}
.menu_btn .bar {
  background-color: #fff;
  display: block;
  height: 0.5vw;
  left: 50%;
  position: absolute;
  transform: translateX(-50%) rotate(0);
  width: 5vw;
  transition: all 0.3s ease;
}
.menu_btn .bar.bar_top {
  top: 2.5vw;
}
.menu_btn .bar.bar_mid {
  top: 50%;
  transform: translate(-50%, -50%);
}
.menu_btn .bar.bar_bottom {
  bottom: 2.5vw;
}
.menu_btn.open .bar_top {
  transform: translate(-50%, 2.5vw) rotate(45deg);
}
.menu_btn.open .bar_mid {
  opacity: 0;
}
.menu_btn.open .bar_bottom {
  transform: translate(-50%, -2vw) rotate(-45deg);
}

.mainvisual01 {
  position: relative;
}
@media (max-width: 768px) {
  .mainvisual01 {
    height: 160.68vw;
  }
  .mainvisual01 .mvWrap01 {
    position: relative;
    width: 100%;
    height: 100%;
  }
  .mainvisual01 .mvWrap01 img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%);
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.mainvisual01::after {
  content: "";
  display: block;
  background: url(../_images/mv02.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: 7.83vw;
  right: 9.85vw;
  width: 39vw;
  height: 54.43vw;
}
@media (max-width: 768px) {
  .mainvisual01::after {
    top: 27.85vw;
    right: 3.39vw;
    width: 89.45vw;
    height: 113.15vw;
  }
}
@media (max-width: 768px) {
  .mainvisual01 > .inner01 {
    position: relative;
    width: 100%;
    height: 100%;
  }
}
.mainvisual01 > .inner01 .block01 {
  position: absolute;
  top: 5.21vw;
  left: 7.81vw;
  z-index: 2;
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 {
  margin-top: 6.25vw;
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 {
  width: 100%;
  max-width: 33.96vw;
  display: block;
}
@media (max-width: 768px) {
  .mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 {
    max-width: 58.59vw;
  }
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a {
  display: block;
  text-align: center;
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:first-child {
  font-size: 3.13vw;
  padding: 0 3.33vw 0 3.38vw;
}
@media (max-width: 768px) {
  .mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:first-child {
    padding: 0 4.56vw;
    font-size: 5.21vw;
  }
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:first-child::before {
  width: 2.6vw;
  height: 3.65vw;
  background-size: contain;
}
@media (max-width: 768px) {
  .mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:first-child::before {
    width: 3.91vw;
    height: 6.77vw;
  }
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:first-child::after {
  width: 2.6vw;
  height: 3.65vw;
  background-size: contain;
}
@media (max-width: 768px) {
  .mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:first-child::after {
    width: 3.91vw;
    height: 6.77vw;
  }
}
.mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:not(:first-child) {
  font-size: 1.56vw;
  display: block;
}
@media (max-width: 768px) {
  .mainvisual01 > .inner01 .block01 > .btnWrap01 > .btn02 > a span:not(:first-child) {
    font-size: 3.65vw;
  }
}

.bannerArea01 {
  position: relative;
  background: #FFF9F4;
}
.bannerArea01 > .inner01 {
  margin: auto;
  width: 100%;
  max-width: 66.67vw;
}
@media (max-width: 768px) {
  .bannerArea01 > .inner01 {
    max-width: inherit;
    padding: 0 5vw;
  }
}
.bannerArea01 > .inner01 .frameArea05 {
  margin-top: 4.79vw;
}
@media (max-width: 768px) {
  .bannerArea01 > .inner01 .frameArea05 {
    margin-top: 7.5vw;
  }
}

.bgBlock01 {
  position: relative;
}
.bgBlock01::before {
  content: "";
  display: block;
  background: #FFF9F4;
  position: absolute;
  bottom: -14.32vw;
  left: 0;
  width: 100%;
  height: 14.32vw;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
}
@media (max-width: 768px) {
  .bgBlock01::before {
    height: 28vw;
    bottom: -28vw;
  }
}

.section01 {
  margin-top: 7.81vw;
}
@media (max-width: 768px) {
  .section01 {
    margin-top: 15vw;
  }
}
.section01:has(.hgroup04) {
  background: #144A97;
}
.section01:has(.list02) {
  padding-top: 5.21vw;
  padding-bottom: 5.21vw;
}
@media (max-width: 768px) {
  .section01:has(.list02) {
    padding: 10vw 0 10vw;
  }
}
.section01.type03 {
  background: #144A97;
}
.section01.type03 .inner01 {
  padding: 5.21vw 1.04vw;
  max-width: 52.08vw;
}
@media (max-width: 768px) {
  .section01.type03 .inner01 {
    padding: 0 5vw;
    max-width: inherit;
  }
}
.section01.type04 .inner01 {
  margin: auto;
  padding: 0 1.04vw;
  max-width: 68.75vw;
}
@media (max-width: 768px) {
  .section01.type04 .inner01 {
    padding: 0 5vw;
    max-width: inherit;
  }
}

.bg01 {
  padding: 7.81vw 0;
  background: #FAFAFA;
}
@media (max-width: 768px) {
  .bg01 {
    padding: 15vw 0;
  }
}

/* style parts */
.wrap01 {
  display: flex;
  flex-wrap: wrap;
}

.wrap02 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.82vw;
  margin: auto;
  counter-reset: listnum;
}
@media (max-width: 768px) {
  .wrap02 {
    gap: 2.5vw 0;
  }
}
.wrap02 > .block01 {
  position: relative;
  padding: 0 1.58vw 0;
  width: calc((100% - 3.64vw) / 3);
  border: 2px solid #144a97;
}
@media (max-width: 768px) {
  .wrap02 > .block01 {
    padding: 0 4vw 5vw;
    width: 100%;
  }
}
.wrap02 > .block01::before {
  font-family: "Noto Serif JP";
  counter-increment: listnum;
  content: counter(listnum) ".";
  background: #144A97;
  position: absolute;
  top: 0;
  left: 0;
  width: 3.92vw;
  height: 4.02vw;
  font-size: 2.83vw;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 0.25em;
}
@media (max-width: 768px) {
  .wrap02 > .block01::before {
    font-size: 7vw;
    width: auto;
    height: auto;
    padding: 2vw;
    line-height: 1;
  }
}
.wrap02 > .block01:not(:last-of-type)::after {
  content: "";
  display: block;
  background: #144A97;
  position: absolute;
  top: 50%;
  right: -2.86vw;
  transform: translateY(-50%);
  width: 2.76vw;
  height: 6.57vw;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
@media (max-width: 768px) {
  .wrap02 > .block01:not(:last-of-type)::after {
    content: none;
  }
}
.wrap02 > .block01 .title01 {
  margin-left: 3.36vw;
  font-family: "Noto Serif JP";
  font-size: 2.4vw;
  color: #144A97;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .wrap02 > .block01 .title01 {
    font-size: 7vw;
    margin-left: 1em;
  }
}
.wrap02 > .block01 .text01 {
  margin-top: 1.56vw;
  font-size: 1.26vw;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .wrap02 > .block01 .text01 {
    font-size: 4vw;
    margin-top: 2.5vw;
    line-height: 1.5;
  }
}
.wrap02 > .block01 .text01 > span {
  font-size: 0.85vw;
  vertical-align: baseline;
}
.wrap02 > .block01 .btn02 {
  margin-top: 2.6vw;
  margin-bottom: 2.6vw;
}
@media (max-width: 768px) {
  .wrap02 > .block01 .btn02 {
    margin-top: 3.75vw;
  }
}
.wrap02 > .block01 .btn02 a {
  display: block;
  margin: auto;
  max-width: 22.92vw;
  text-align: center;
}
@media (max-width: 768px) {
  .wrap02 > .block01 .btn02 a {
    min-width: 75vw;
  }
}
.wrap02 > .block01 .btn02 a span:not(:first-child) {
  display: block;
}

.wrap03 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.56vw 1.56vw;
  counter-reset: listnum;
}
.wrap03 .block01 {
  border: 4px solid #144a97;
  width: calc((100% - 3.12vw) / 3);
}
.wrap03 .block01 .title01 {
  position: relative;
  padding: 0.42vw 0 0.63vw 3.98vw;
  background: #144A97;
  font-family: "Noto Serif JP";
  font-size: 1.56vw;
  color: #fff;
}
.wrap03 .block01 .title01::before {
  display: block;
  counter-increment: listnum;
  content: counter(listnum) ".";
  position: absolute;
  top: 50%;
  left: 1.41vw;
  transform: translateY(-50%);
  color: #fff;
}
.wrap03 .block01 .image01 {
  padding: 1.04vw 1.3vw 0;
}
.wrap03 .block01 .image01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 1/1;
}
.wrap03 .block01 .text01 {
  margin-top: 1.35vw;
  padding: 0 1.3vw 1.56vw;
  font-size: 1.04vw;
  line-height: 1.55;
}
.wrap03 .block01 .text01 > span {
  background-image: linear-gradient(transparent 60%, #3FFFB2 40%);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 0 100%;
  transition: background-size 1.5s;
}
.wrap03 .block01 .text01 > span.animate-marker {
  background-size: 100% 100%;
}
.frameArea06 + .wrap03 {
  margin-top: 2.6vw;
}

.hgroup01 {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  /*	gap: 0 21px;*/
  gap: 0 1.09vw;
}
.hgroup01 .text01 {
  /*	font-size: 3.6rem*/
  font-size: 1.88vw;
}
@media (max-width: 768px) {
  .hgroup01 .text01 {
    font-size: 4vw;
  }
}

.hgroup02 .text01 {
  margin-top: 2.6vw;
  font-size: 2.81vw;
  color: #4D4D4D;
  line-height: 1.5;
  text-shadow: -4px -4px 0 white, 4px -4px 0 white, -4px 4px 0 white, 4px 4px 0 white, -4px 0px 0 white, 4px 0px 0 white, 0px -4px 0 white, 0px 4px 0 white;
}
@media (max-width: 768px) {
  .hgroup02 .text01 {
    text-align: center;
    font-size: 5.21vw;
    text-shadow: -0.52vw -0.52vw 0 white, 0.52vw -0.52vw 0 white, -0.52vw 0.52vw 0 white, 0.52vw 0.52vw 0 white, -0.52vw 0px 0 white, 0.52vw 0px 0 white, 0px -0.52vw 0 white, 0px 0.52vw 0 white;
  }
}
.hgroup02 .text01 > span {
  font-size: 3.44vw;
  vertical-align: baseline;
}
@media (max-width: 768px) {
  .hgroup02 .text01 > span {
    font-size: 6.64vw;
  }
}

.hgroup03 .text01 {
  margin-top: 2.34vw;
  font-family: "Noto Serif JP";
  font-size: 1.88vw;
  line-height: 1.55;
  font-weight: 600;
  text-align: center;
  color: #144A97;
}
.hgroup03 + .wrap02 {
  margin-top: 3.13vw;
}
@media (max-width: 768px) {
  .hgroup03 + .wrap02 {
    margin-top: 7.5vw;
  }
}

.hgroup04 {
  text-align: center;
  font-family: "Noto Serif JP";
  color: #fff;
  font-weight: 900;
  line-height: 1.55;
}
.hgroup04 .title01 {
  font-size: 2.34vw;
}
@media (max-width: 768px) {
  .hgroup04 .title01 {
    font-size: 7.5vw;
  }
}
.hgroup04 .text01 {
  font-size: 3.13vw;
}
@media (max-width: 768px) {
  .hgroup04 .text01 {
    font-size: 6vw;
  }
}
.hgroup04 + .list02 {
  margin-top: 3.13vw;
}
@media (max-width: 768px) {
  .hgroup04 + .list02 {
    margin-top: 5vw;
  }
}

.hgroup05 .text01 {
  font-family: "Noto Serif JP";
  font-size: 1.82vw;
  font-weight: 900;
  text-align: center;
}
@media (max-width: 768px) {
  .hgroup05 .text01 {
    font-size: 5vw;
    line-height: 1;
  }
}
.hgroup05 + .text01 {
  margin-top: 2.6vw;
  font-size: 1.46vw;
  text-align: center;
  font-weight: 400;
}
@media (max-width: 768px) {
  .hgroup05 + .text01 {
    font-size: 3.5vw;
    margin-top: 2.5vw;
  }
}
.hgroup05 + .text01 + .image01 {
  margin-top: 2.6vw;
}
@media (max-width: 768px) {
  .hgroup05 + .text01 + .image01 {
    margin-top: 5vw;
  }
}

.hgroup06 {
  text-align: center;
}
.hgroup06 .heading01 {
  font-size: 3.13vw;
  line-height: 1.2;
  text-shadow: -3px -3px 0 white, 3px -3px 0 white, -3px 3px 0 white, 3px 3px 0 white, -3px 0px 0 white, 3px 0px 0 white, 0px -3px 0 white, 0px 3px 0 white;
}
@media (max-width: 768px) {
  .hgroup06 .heading01 {
    font-size: 8vw;
    text-shadow: -0.75vw -0.75vw 0 white, 0.75vw -0.75vw 0 white, -0.75vw 0.75vw 0 white, 0.75vw 0.75vw 0 white, -0.75vw 0px 0 white, 0.75vw 0px 0 white, 0px -0.75vw 0 white, 0px 0.75vw 0 white;
  }
}
.hgroup06 .text01 {
  margin-top: 0.52vw;
  font-size: 1.77vw;
  line-height: 1.55;
  color: #fff;
}
@media (max-width: 768px) {
  .hgroup06 .text01 {
    font-size: 5vw;
    margin-top: 2vw;
  }
}
.hgroup06 + .frameArea07 {
  margin-top: 3.65vw;
}
@media (max-width: 768px) {
  .hgroup06 + .frameArea07 {
    margin-top: 5vw;
  }
}

.heading01 {
  color: #FF6C3F;
  font-size: 5.21vw;
  text-shadow: -6px -6px 0 white, 6px -6px 0 white, -6px 6px 0 white, 6px 6px 0 white, -6px 0px 0 white, 6px 0px 0 white, 0px -6px 0 white, 0px 6px 0 white;
}
@media (max-width: 768px) {
  .heading01 {
    font-size: 7.81vw;
    text-shadow: -0.78vw -0.78vw 0 white, 0.78vw -0.78vw 0 white, -0.78vw 0.78vw 0 white, 0.78vw 0.78vw 0 white, -0.78vw 0px 0 white, 0.78vw 0px 0 white, 0px -0.78vw 0 white, 0px 0.78vw 0 white;
  }
}

.heading02 {
  font-size: 3.13vw;
  text-align: center;
  font-family: "Noto Serif JP";
}
@media (max-width: 768px) {
  .heading02 {
    font-size: 8vw;
  }
}
.heading02 > span {
  position: relative;
  display: inline-block;
}
.heading02 > span::before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: calc(100% + 37px);
  height: 0.52vw;
  border-bottom: 0.52vw dotted #FF3C00;
}
@media (max-width: 768px) {
  .heading02 > span::before {
    border-bottom: 1vw dotted #FF3C00;
  }
}
.heading02.type01 {
  color: #144A97;
}
.heading02.type01 > span::before {
  border-bottom: 0.52vw dotted #144A97;
}
.heading02 + .frameArea01 {
  margin-top: 5.21vw;
}
@media (max-width: 768px) {
  .heading02 + .frameArea01 {
    margin-top: 10vw;
  }
}
.heading02 + .text01 {
  margin-top: 2.08vw;
  font-family: "Noto Serif JP";
  text-align: center;
  font-size: 1.88vw;
  font-weight: 600;
}
@media (max-width: 768px) {
  .heading02 + .text01 {
    margin-top: 2vw;
    font-size: 4vw;
  }
}
.heading02 + .text01 + .frameArea06 {
  margin-top: 2.6vw;
}
.heading02 + * {
  margin-top: 3.65vw;
}
@media (max-width: 768px) {
  .heading02 + * {
    margin-top: 7.5vw;
  }
}

.heading03 {
  font-family: "Noto Serif JP";
  font-size: 3.13vw;
  color: #FF6C3F;
  font-weight: 900;
  text-align: center;
}
@media (max-width: 768px) {
  .heading03 {
    font-size: 8vw;
  }
}

.heading04 {
  font-size: 2.6vw;
  text-align: center;
  font-family: "Noto Serif JP";
  color: #FF6C3F;
}
@media (max-width: 768px) {
  .heading04 {
    font-size: 7.5vw;
  }
}
.heading04 + .text01 {
  margin-top: 2.6vw;
  font-size: 1.56vw;
  text-align: center;
}
@media (max-width: 768px) {
  .heading04 + .text01 {
    font-size: 4.5vw;
  }
}
.heading04 + .text01 > span {
  color: #FF6C3F;
}

.title01 {
  /*	font-size: 4rem;*/
  font-size: 2.08vw;
  font-weight: 900;
}
@media (max-width: 768px) {
  .title01 {
    font-size: 4.5vw;
  }
}

.title02 {
  font-size: 2.92vw;
  color: #fff;
  text-shadow: 0.21vw 0.21vw 0.21vw rgba(0, 0, 0, 0.25);
  line-height: 1;
  font-weight: 900;
  text-align: center;
}
@media (max-width: 768px) {
  .title02 {
    font-size: 5vw;
  }
}

.title03 {
  font-size: 2.6vw;
  line-height: 1;
}
@media (max-width: 768px) {
  .title03 {
    font-size: 4vw;
    font-weight: bold;
  }
}

.title04 {
  font-size: 1.67vw;
  border-bottom: 3px solid #7FC9C9;
}
@media (max-width: 768px) {
  .title04 {
    font-size: 4.5vw;
    border-bottom: 0.75vw solid #7FC9C9;
  }
}

.title05 {
  font-size: 1.15vw;
  line-height: 1;
}
@media (max-width: 768px) {
  .title05 {
    font-size: 4vw;
    font-weight: 900;
    line-height: 1.5;
  }
}
.title05 > span {
  display: block;
  font-size: 1.04vw;
}
@media (max-width: 768px) {
  .title05 > span {
    font-size: 4vw;
  }
}

.title06 {
  text-align: center;
  font-size: 1.77vw;
  line-height: 1.65;
}
@media (max-width: 768px) {
  .title06 {
    font-size: 5vw;
  }
}
.title06 > span {
  position: relative;
}
.title06 > span::before {
  content: "";
  display: block;
  border-bottom: 1px solid #FF5722;
  position: absolute;
  bottom: 0;
  left: -13px;
  width: calc(100% + 26px);
  height: 1px;
}
.title06 > span::after {
  content: "";
  display: block;
  border-bottom: 1px solid #FF5722;
  position: absolute;
  bottom: 3px;
  left: -13px;
  width: calc(100% + 26px);
  height: 1px;
}
.list01 > li {
  position: relative;
  font-size: 1.35vw;
  padding-left: 1em;
}
@media (max-width: 768px) {
  .list01 > li {
    font-size: 4vw;
  }
}
.list01 > li::before {
  content: "・";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1em;
  height: 1em;
}

.list02 > li {
  padding: 1.51vw 2.4vw 1.72vw 1.88vw;
  background: #fff;
}
@media (max-width: 768px) {
  .list02 > li {
    padding: 4vw;
  }
}
.list02 > li:not(:first-child) {
  margin-top: 1.67vw;
}
@media (max-width: 768px) {
  .list02 > li:not(:first-child) {
    margin-top: 2.5vw;
  }
}
.list02 > li > * {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 768px) {
  .list02 > li > * {
    display: block;
  }
}
.list02 > li .title01 {
  width: 23.69vw;
  font-family: "Noto Serif JP";
  font-size: 2vw;
  color: #144a97;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .list02 > li .title01 {
    font-size: 5vw;
    font-weight: 900;
    width: 100%;
  }
}
.list02 > li .text01 {
  width: calc(100% - 28.59vw);
  font-size: 1.3vw;
  line-height: 1.37;
}
@media (max-width: 768px) {
  .list02 > li .text01 {
    margin-top: 2.5vw;
    font-size: 4vw;
    width: 100%;
  }
}

.list03 > li {
  border-bottom: 2px dotted #ff6c3f;
  padding: 0 0 0.52vw 1.46vw;
  font-size: 1.25vw;
  font-weight: 400;
  margin-top: 10px;
}
@media (max-width: 768px) {
  .list03 > li {
    padding: 0 0 2.5vw 1em;
    margin-top: 4vw;
    font-size: 4vw;
  }
}
.list03 > li::before {
  content: "";
  border-left: 5px solid #ff6c3f;
  margin-left: -1.46vw;
  margin-right: 1.46vw;
}
@media (max-width: 768px) {
  .list03 > li::before {
    margin-left: -5vw;
    margin-right: 2.5vw;
  }
}
.list03 > li a {
  position: relative;
  display: inline-block;
}
.list03 > li a::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  border-bottom: 2px solid #ff6c3f;
  transition: width 0.3s ease;
}
@media (max-width: 768px) {
  .list03 > li a::before {
    border-bottom: 1vw solid #ff6c3f;
  }
}
@media (any-hover: hover) {
  .list03 > li a:hover::before {
    width: 100%;
  }
}
.list03 + .btn03 {
  text-align: center;
  margin-top: 3.13vw;
}
@media (max-width: 768px) {
  .list03 + .btn03 {
    margin-top: 7.5vw;
  }
}
.list03 + .btn03 a {
  max-width: 24.58vw;
}
@media (max-width: 768px) {
  .list03 + .btn03 a {
    max-width: 64vw;
  }
}

.sliderBlock01 {
  position: relative;
}
@media (max-width: 768px) {
  .sliderBlock01 {
    margin: 0 calc(50% - 50vw);
  }
}
.sliderBlock01 .swiper-container {
  padding: 0.26vw 0;
  overflow: hidden;
}
@media (max-width: 768px) {
  .sliderBlock01 .swiper-container {
    padding: 2vw 0;
  }
}
.sliderBlock01 .swiper-wrapper {
  gap: 0 1.35vw;
}
@media (max-width: 768px) {
  .sliderBlock01 .swiper-wrapper {
    gap: 0 0;
  }
}
.sliderBlock01 .swiper-button-prev,
.sliderBlock01 .swiper-button-next {
  background: #fff;
  width: 3.65vw;
  height: 3.65vw;
  border-radius: 50%;
  border: none;
  color: #FF5722;
  font-weight: bold;
}
@media (max-width: 768px) {
  .sliderBlock01 .swiper-button-prev,
  .sliderBlock01 .swiper-button-next {
    width: 10vw;
    height: 10vw;
    z-index: 2;
  }
}
.sliderBlock01 .swiper-button-prev::after,
.sliderBlock01 .swiper-button-next::after {
  font-size: 2.29vw;
}
@media (max-width: 768px) {
  .sliderBlock01 .swiper-button-prev::after,
  .sliderBlock01 .swiper-button-next::after {
    font-size: 5vw;
  }
}
@media (max-width: 768px) {
  .sliderBlock01 .swiper-button-prev {
    left: 0;
  }
}
@media (max-width: 768px) {
  .sliderBlock01 .swiper-button-next {
    right: 0;
  }
}
.sliderBlock01 + .btn03 {
  margin-top: 2.34vw;
}
@media (max-width: 768px) {
  .sliderBlock01 + .btn03 {
    margin-top: 7.5vw;
    max-width: inherit;
  }
}

.block02 {
  position: relative;
  box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.2);
}
@media (max-width: 768px) {
  .block02 {
    box-shadow: 0.5vw 0.5vw 1.75vw rgba(0, 0, 0, 0.2);
  }
}
.block02::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 4px;
  border-top: 4px solid #144A97;
  opacity: 0;
  transition: width 0.25s ease 0s, opacity 0.2s 0s;
}
.block02::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 0;
  border-left: 4px solid #144A97;
  opacity: 0;
  transition: height 0.25s ease 0s, opacity 0.2s 0s;
}
.block02 > .inner01::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 0;
  border-right: 4px solid #144A97;
  opacity: 0;
  transition: height 0.25s ease 0.25s, opacity 0.2s 0.25s;
}
.block02 > .inner01::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0;
  height: 4px;
  border-bottom: 4px solid #144A97;
  opacity: 0;
  transition: width 0.25s ease 0.25s, opacity 0.2s 0.25s;
}
.block02 > .inner01 .image01 {
  width: 100%;
}
.block02 > .inner01 .image01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 269/279;
}
.block02 > .inner01 .title05 {
  margin-top: 0.78vw;
  color: #144A97;
}
@media (max-width: 768px) {
  .block02 > .inner01 .title05 {
    margin-top: 2.5vw;
  }
}
.block02 > .inner01 a {
  position: relative;
  display: flex;
  flex-flow: column;
  padding: 0.78vw 0.78vw 2.08vw;
  z-index: 2;
}
@media (max-width: 768px) {
  .block02 > .inner01 a {
    padding: 2.5vw;
  }
}
.block02 > .inner01 a > .text01 {
  margin-top: 0.89vw;
  font-size: 0.78vw;
  text-overflow: ellipsis;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  min-height: 5.4em;
  flex: 1;
}
@media (max-width: 768px) {
  .block02 > .inner01 a > .text01 {
    margin-top: 2vw;
    font-size: 3.5vw;
    min-height: 4.8em;
  }
  .block02 > .inner01 a > .text01 + .text01 {
    font-size: 3vw;
  }
}
.block02 > .inner01 a > .text01 + .text01 {
  margin-top: 0.78vw;
  min-height: inherit;
}
@media (any-hover: hover) {
  .block02:hover::before {
    width: 100%;
    opacity: 1;
  }
  .block02:hover::after {
    height: 100%;
    opacity: 1;
  }
  .block02:hover > .inner01::before {
    height: 100%;
    opacity: 1;
  }
  .block02:hover > .inner01::after {
    width: 100%;
    opacity: 1;
  }
}
.block02:not(:hover)::before, .block02:not(:hover)::after {
  width: 0;
  height: 0;
  opacity: 0;
  transition: none;
}
.block02:not(:hover) > .inner01::before, .block02:not(:hover) > .inner01::after {
  width: 0;
  height: 0;
  opacity: 0;
  transition: none;
}

.block03 {
  position: absolute;
  top: -10.42vw;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 66.67vw;
  display: flex;
  flex-wrap: wrap;
  gap: 0 3.75vw;
}
@media (max-width: 768px) {
  .block03 {
    margin: 0 calc(50% - 50vw);
    top: -23.44vw;
    left: 0;
    transform: none;
    max-width: inherit;
  }
}
.block03 > li {
  width: calc((100% - 7.5vw) / 3);
  opacity: 0;
  transform: translateY(20px); /* 下から上へ */
  transition: opacity 1s ease, transform 1s ease;
}
@media (max-width: 768px) {
  .block03 > li {
    width: 53.52vw;
  }
  .block03 > li:nth-of-type(2) {
    position: absolute;
    top: 31vw;
    right: 0;
  }
}
.block03 > li.fade-in {
  opacity: 1;
  transform: translateY(0); /* 元の位置に戻る */
}

.imageBlock01 {
  display: flex;
  flex-wrap: wrap;
  gap: 0 2.6vw;
}
@media (max-width: 768px) {
  .imageBlock01 {
    gap: 5vw 0;
  }
}
.imageBlock01 .image01 {
  position: relative;
  max-width: 22.92vw;
}
@media (max-width: 768px) {
  .imageBlock01 .image01 {
    margin: auto;
    max-width: 70vw;
  }
}
.imageBlock01 .image01::before {
  content: "";
  display: block;
  background: url(../_images/area-ashikaga.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -40%;
  left: 42%;
  width: 2.6vw;
  height: 2.6vw;
  transition: top 0.8s ease-out;
}
@media (max-width: 768px) {
  .imageBlock01 .image01::before {
    width: 10vw;
    height: 10vw;
    left: 25vw;
  }
}
@media screen and (max-width: 650px) {
  .imageBlock01 .image01::before {
    width: 10vw;
    height: 10vw;
    left: 27vw;
  }
}
.imageBlock01 .image01::after {
  content: "";
  display: block;
  background: url(../_images/area-sano.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: -38%;
  left: 48%;
  width: 2.6vw;
  height: 2.6vw;
  transition: top 0.8s ease-out;
}
@media (max-width: 768px) {
  .imageBlock01 .image01::after {
    width: 10vw;
    height: 10vw;
    left: 28vw;
  }
}
@media screen and (max-width: 650px) {
  .imageBlock01 .image01::after {
    width: 10vw;
    height: 10vw;
    left: 32vw;
  }
}
.imageBlock01 .image01.animate::before {
  top: 6.25vw;
}
@media (max-width: 768px) {
  .imageBlock01 .image01.animate::before {
    top: 14vw;
  }
}
@media screen and (max-width: 650px) {
  .imageBlock01 .image01.animate::before {
    top: 17vw;
  }
}
.imageBlock01 .image01.animate::after {
  top: 5vw;
}
@media (max-width: 768px) {
  .imageBlock01 .image01.animate::after {
    top: 13vw;
  }
}
@media screen and (max-width: 650px) {
  .imageBlock01 .image01.animate::after {
    top: 13vw;
  }
}
.imageBlock01 .block01 {
  width: calc(100% - 22.92vw - 2.6vw);
}
@media (max-width: 768px) {
  .imageBlock01 .block01 {
    width: 100%;
  }
}
.imageBlock01 .block01 + .text01 {
  margin-top: 1.25vw;
  width: 100%;
  text-align: center;
}
@media (max-width: 768px) {
  .imageBlock01 .block01 + .text01 {
    text-align: left;
    margin-top: 2.5vw;
  }
}
.imageBlock01 .title04 {
  border: none;
  color: #144A97;
  position: relative;
}
.imageBlock01 .title04:not(:first-of-type) {
  margin-top: 1.04vw;
}
@media (max-width: 768px) {
  .imageBlock01 .title04:not(:first-of-type) {
    margin-top: 2.5vw;
    padding-top: 2.5vw;
  }
  .imageBlock01 .title04:not(:first-of-type)::after {
    content: "";
    display: block;
    border-top: 0.25vw solid #144A97;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 0.5vw;
  }
}
.imageBlock01 .text01 {
  font-size: 1.35vw;
}
@media (max-width: 768px) {
  .imageBlock01 .text01 {
    margin-top: 1vw;
    font-size: 3.5vw;
  }
}

.acdBlock01 details {
  position: relative;
  padding: 1.25vw 1.25vw 1.25vw 0;
  background: #fff;
  overflow: hidden;
}
@media (max-width: 768px) {
  .acdBlock01 details {
    padding: 4.5vw 2.5vw 4.5vw 0;
  }
}
.acdBlock01 details:not(:first-child) {
  margin-top: 0.52vw;
}
@media (max-width: 768px) {
  .acdBlock01 details:not(:first-child) {
    margin-top: 2.5vw;
  }
}
.acdBlock01 details summary {
  position: relative;
  display: block;
  padding-left: 3.24vw;
  padding-right: 2.04vw;
  font-size: 1.25vw;
  font-weight: 900;
  line-height: 1.55;
  cursor: pointer;
}
@media (max-width: 768px) {
  .acdBlock01 details summary {
    padding-left: 10vw;
    padding-right: 5vw;
    font-size: 4vw;
  }
}
.acdBlock01 details summary::before {
  content: "";
  display: block;
  background: url(../_images/ic06.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 2.14vw;
  height: 2.14vw;
  font-size: 1.67vw;
  line-height: 1.55;
  font-weight: 400;
  color: #FF6C3F;
}
@media (max-width: 768px) {
  .acdBlock01 details summary::before {
    top: 1vw;
    left: 2.5vw;
    width: 5vw;
    height: 5vw;
  }
}
.acdBlock01 details summary::after {
  content: "+";
  position: absolute;
  top: -0.2em;
  right: 0;
  font-size: 3vw;
  color: #FF6C3F;
  line-height: 1;
  font-weight: 900;
  transition: 0.2s ease;
}
@media (max-width: 768px) {
  .acdBlock01 details summary::after {
    right: 0;
    font-size: 7.5vw;
  }
}
.acdBlock01 details .text01 {
  padding-left: 3.24vw;
  font-size: 1.09vw;
  font-weight: 400;
  line-height: 1.75;
  overflow: hidden;
}
@media (max-width: 768px) {
  .acdBlock01 details .text01 {
    margin-top: 2vw;
    padding-left: 7.5vw;
    font-size: 4vw;
    line-height: initial;
  }
}
.acdBlock01 details[open] summary::after {
  content: "−";
}
.acdBlock01 details[open] .text01 {
  max-height: 1000px;
  opacity: 1;
}

.bannerWrap01 {
  padding-top: 15.63vw;
}
@media (max-width: 768px) {
  .bannerWrap01 {
    padding-top: 107.04vw;
  }
}
.bannerWrap01 .text01 {
  margin-top: 0.52vw;
  font-size: 1.46vw;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .bannerWrap01 .text01 {
    margin-top: 2.5vw;
    font-size: 4vw;
    line-height: 1.4;
  }
}

.frameArea01 > .tabBlock01 {
  display: flex;
  align-items: end;
  /*	gap: 0 5px;*/
  gap: 0 0.26vw;
  margin-left: 7vw;
}
@media (max-width: 768px) {
  .frameArea01 > .tabBlock01 {
    margin-left: 0;
    gap: 0 1.25vw;
  }
}
.frameArea01 > .tabBlock01 > .text01 {
  display: flex;
  align-items: baseline;
  /*	gap: 0 9px;*/
  gap: 0 0.47vw;
  /*	padding: 8px 43px 5px 43px;*/
  padding: 0.42vw 2.24vw 0.26vw 2.24vw;
  /*	font-size: 2.3rem;*/
  font-size: 1.2vw;
  font-weight: 900;
  line-height: 1;
  text-shadow: -3px -3px 0 white, 3px -3px 0 white, -3px 3px 0 white, 3px 3px 0 white, -3px 0px 0 white, 3px 0px 0 white, 0px -3px 0 white, 0px 3px 0 white;
  background: #DBFFFF;
  /*	border-radius: 10px 10px 0 0;*/
  border-radius: 0.52vw 0.52vw 0 0;
}
@media (max-width: 768px) {
  .frameArea01 > .tabBlock01 > .text01 {
    font-size: 3.5vw;
    padding: 2vw 5vw;
    text-shadow: -0.75vw -0.75vw 0 white, 0.75vw -0.75vw 0 white, -0.75vw 0.75vw 0 white, 0.75vw 0.75vw 0 white, -0.75vw 0px 0 white, 0.75vw 0px 0 white, 0px -0.75vw 0 white, 0px 0.75vw 0 white;
    background: #DBFFFF;
    border-radius: 2.5vw 2.5vw 0 0;
  }
}
.frameArea01 > .tabBlock01 > .text01:not(.current) {
  cursor: pointer;
}
.frameArea01 > .tabBlock01 > .text01.current {
  /*	font-size: 3.6rem;*/
  font-size: 1.88vw;
  background: linear-gradient(0deg, #DBFFFF 0%, #71D3E9 100%);
}
@media (max-width: 768px) {
  .frameArea01 > .tabBlock01 > .text01.current {
    font-size: 4.5vw;
  }
}
.frameArea01 > .tabBlock01 > .text01.current > span {
  /*	margin-right: 9px;*/
  margin-right: 0.47vw;
  /*	font-size: 50px;*/
  font-size: 2.6vw;
}
@media (max-width: 768px) {
  .frameArea01 > .tabBlock01 > .text01.current > span {
    margin-right: 2.5vw;
    font-size: 3.5vw;
  }
}
.frameArea01 > .tabBlock01 > .text01 > span {
  /*	margin-right: 13px;*/
  margin-right: 0.68vw;
  /*	font-size: 40px;*/
  font-size: 2.08vw;
}
.frameArea01 > .inner01 {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  /*	gap: 0 65px;*/
  gap: 0 3.39vw;
  opacity: 0;
  visibility: hidden;
  height: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0.5s, height 0.3s ease;
}
.frameArea01 > .inner01.current {
  opacity: 1;
  visibility: visible;
  height: 100%;
  opacity: 1;
  visibility: visible;
  height: auto;
  transform: translateY(0);
  transition: opacity 0.5s ease, transform 0.5s ease, visibility 0s linear 0s, height 0.3s ease;
}
.frameArea01 > .inner01::before {
  content: "";
  display: block;
  background: #DBFFFF;
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100%;
  z-index: -1;
  margin: 0 calc(50% - 50vw);
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  transform: translateX(-100%);
  transition: transform 1s ease-out;
}
.frameArea01 > .inner01 .col01:first-of-type {
  /*	padding-top: 33px;*/
  padding-top: 1.72vw;
  width: calc(100% - 24.42vw - 3.39vw);
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .col01:first-of-type {
    padding-top: 2.5vw;
    display: flex;
    flex-flow: column;
    width: 100%;
  }
}
.frameArea01 > .inner01 .col01:not(:first-of-type) {
  /*	max-width: 586px;*/
  width: 100%;
  max-width: 24.42vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .col01:not(:first-of-type) {
    position: absolute;
    right: -4vw;
    z-index: -1;
    max-width: 60vw;
    bottom: 35vw;
  }
}
.frameArea01 > .inner01 .col01 > .wrap01 {
  margin-top: 0.52vw;
  align-items: end;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .col01 > .wrap01 {
    gap: 0 5vw;
    margin-top: 2.5vw;
    order: 6;
  }
}
.frameArea01 > .inner01 .col01 > .wrap01 + .text01 {
  margin-top: 0.52vw;
  font-size: 0.94vw;
  font-weight: 900;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .col01 > .wrap01 + .text01 {
    order: 8;
    margin-top: 2.5vw;
    font-size: 3.5vw;
  }
}
.frameArea01 > .inner01 .price01 {
  margin-top: 2.5vw;
  /*	margin-right: 10px;*/
  margin-right: 0.52vw;
  /*	padding:  8px 13px 10px 15px;*/
  padding: 0 0.68vw 0 0.78vw;
  width: -moz-fit-content;
  width: fit-content;
  /*	font-size: 2.8rem;*/
  font-size: 1.46vw;
  font-weight: 900;
  line-height: 2;
  color: #fff;
  background: #FF6C3F;
  /*	border-radius: 7pxw;*/
  border-radius: 0.36vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .price01 {
    order: 6;
    padding: 2vw 4vw;
    font-size: 4vw;
    border-radius: 1.25vw;
  }
}
.frameArea01 > .inner01 .text02 {
  display: flex;
  flex-flow: column;
  justify-content: center;
  /*	margin-right: 6px;*/
  margin-right: 0.31vw;
  /*	padding: 12px 13px 12px 23px;*/
  padding: 0.22vw 0.68vw 0.22vw 1.2vw;
  /*	font-size:  2rem;*/
  font-size: 1.04vw;
  background: #FFEA00;
  /*	border-radius: 7pxw;*/
  border-radius: 0.36vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .text02 {
    font-size: 5vw;
  }
}
.frameArea01 > .inner01 .list01 {
  display: flex;
  flex-wrap: wrap;
  /*	gap: 0 5px;*/
  gap: 0 0.26vw;
  -moz-appearance: none;
  -webkit-appearance: none;
          appearance: none;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .list01 {
    margin-top: 2.5vw;
    gap: 0 1vw;
    flex-wrap: nowrap;
  }
}
.frameArea01 > .inner01 .list01 > li {
  /*	padding: 5px 8px;*/
  padding: 0.26vw 0.42vw;
  /*	font-size: 1.6rem;*/
  font-size: 0.83vw;
  color: #144A97;
  line-height: 1;
  text-align: center;
  border: 1px solid #FF5722;
  /*	border-radius: 3px;*/
  border-radius: 0.16vw;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  word-break: keep-all;
  background: #fff;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .list01 > li {
    padding: 1.25vw;
    font-size: 3vw;
    border-radius: 0.75vw;
  }
}
.frameArea01 > .inner01 .list01 > li::before {
  content: none;
}
.frameArea01 > .inner01 .logo01 {
  margin-top: 1.72vw;
  /*	max-width: 343px;*/
  max-width: 17.86vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .logo01 {
    order: 1;
    margin-top: 0;
    max-width: 50vw;
  }
}
.frameArea01 > .inner01 .hgroup01 {
  /*	max-width: 343px;*/
  align-items: baseline;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .hgroup01 {
    order: 2;
    margin-top: 2.5vw;
  }
}
.frameArea01 > .inner01 .hgroup01 + .text01 {
  font-size: 1.55vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .hgroup01 + .text01 {
    order: 3;
    margin-top: 2.5vw;
    font-size: 4vw;
  }
}
.frameArea01 > .inner01 .hgroup01 + .text01 + .text01 {
  /*	margin-top: 15px;*/
  margin-top: 0.78vw;
  /*	font-size: 2.4rem;*/
  font-size: 1.25vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .hgroup01 + .text01 + .text01 {
    order: 5;
    margin: 2vw calc(50% - 50vw) 0;
    padding: 5vw;
    background: rgba(255, 255, 255, 0.5);
    font-size: 3vw;
  }
}
.frameArea01 > .inner01 .hgroup01 + .text01 + .text01 + .wrap01 {
  /*	margin-top: 33px;*/
  margin-top: 1.72vw;
  align-items: end;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .hgroup01 + .text01 + .text01 + .wrap01 {
    order: 6;
    margin-top: 7.5vw;
    justify-content: space-between;
  }
}
.frameArea01 > .inner01 .block01 > .price02 {
  /*	margin-right: 31px;*/
  margin-right: 1.61vw;
  text-align: center;
  line-height: 1;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .block01 > .price02 {
    margin-right: 0;
  }
}
.frameArea01 > .inner01 .block01 > .price02 > span {
  display: block;
  /*	font-size: 1.8rem;*/
  font-size: 0.94vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .block01 > .price02 > span {
    font-size: 4vw;
  }
}
.frameArea01 > .inner01 .block01 > .price02 > span + span {
  position: relative;
  /*	font-size: 3.6rem;*/
  font-size: 1.88vw;
}
.frameArea01 > .inner01 .block01 > .price02 > span + span > span {
  font-size: 70%;
  vertical-align: baseline;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .block01 > .price02 > span + span {
    font-size: 6vw;
  }
  .frameArea01 > .inner01 .block01 > .price02 > span + span > span {
    font-size: 4vw;
  }
}
.frameArea01 > .inner01 .block01 > .price02 > span + span::after {
  content: "";
  display: block;
  border-top: 2px solid #E40000;
  position: absolute;
  top: 50%;
  left: -5px;
  transform: translateY(-50%);
  width: calc(100% + 10px);
  height: 2px;
}
.frameArea01 > .inner01 .block01 > .price03 > span {
  display: block;
  /*	font-size: 2.2rem;*/
  font-size: 1.15vw;
  line-height: 1.5;
  color: #E20000;
  text-shadow: -2px -2px 0 white, 2px -2px 0 white, -2px 2px 0 white, 2px 2px 0 white, -2px 0px 0 white, 2px 0px 0 white, 0px -2px 0 white, 0px 2px 0 white;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .block01 > .price03 > span {
    font-size: 4vw;
    text-shadow: -0.5vw -0.5vw 0 white, 0.5vw -0.5vw 0 white, -0.5vw 0.5vw 0 white, 0.5vw 0.5vw 0 white, -0.5vw 0px 0 white, 0.5vw 0px 0 white, 0px -0.5vw 0 white, 0px 0.5vw 0 white;
  }
}
.frameArea01 > .inner01 .block01 > .price03 > span + span {
  /*	font-size: 5.6rem;*/
  font-size: 2.92vw;
  line-height: 1;
  font-weight: 900;
}
.frameArea01 > .inner01 .block01 > .price03 > span + span > span {
  font-size: 50%;
  vertical-align: baseline;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .block01 > .price03 > span + span {
    font-size: 6vw;
  }
  .frameArea01 > .inner01 .block01 > .price03 > span + span > span {
    font-size: 4vw;
  }
}
.frameArea01 > .inner01 .btn01 {
  /*	margin-top: 70px;*/
  margin-top: 3.65vw;
  width: 100%;
  /*	max-width: 566px;*/
  max-width: 30.52vw;
}
@media (max-width: 768px) {
  .frameArea01 > .inner01 .btn01 {
    order: 8;
    margin: 5vw auto 0;
    max-width: 80vw;
  }
}
.frameArea01.type01 > .tabBlock01 {
  justify-content: end;
}
.frameArea01.type01 > .inner01 {
  flex-flow: row-reverse;
}
.frameArea01.type01 > .inner01::before {
  transform: translateX(100%);
  clip-path: polygon(0 0, 100% 100%, 100% 0);
}
.frameArea01.active .inner01::before {
  transform: translateX(0);
}
.frameArea01 + .frameArea01 {
  margin-top: 5.21vw;
}
@media (max-width: 768px) {
  .frameArea01 + .frameArea01 {
    margin-top: 16vw;
  }
}
.frameArea01 + .frameArea04 {
  margin-top: 5.21vw;
}
@media (max-width: 768px) {
  .frameArea01 + .frameArea04 {
    margin-top: 7.5vw;
  }
}

.frameArea02 {
  margin: 7.81vw auto 0;
  width: 100%;
  max-width: 66.67vw;
  background: linear-gradient(to right, #FF5722 0%, #FFC107 100%);
}
@media (max-width: 768px) {
  .frameArea02 {
    margin-top: 10vw;
    max-width: calc(100% - 10vw);
  }
}
.frameArea02 > .inner01 {
  position: relative;
  padding: 1.25vw 0.52vw 0.52vw;
  z-index: 1;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 {
    padding: 2.5vw 2.5vw 5vw;
  }
}
.frameArea02 > .inner01::after {
  content: "";
  display: block;
  background: url(../_images/ph01.webp) no-repeat;
  background-size: contain;
  position: absolute;
  top: -2.5vw;
  right: 3.31vw;
  width: 7.69vw;
  height: 9.67vw;
  z-index: -1;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01::after {
    right: 0;
    width: 12.5vw;
    height: 12.5vw;
  }
}
.frameArea02 > .inner01 > .title02 {
  line-height: 1.2;
}
.frameArea02 > .inner01 > .block01 {
  margin-top: 1.33vw;
  padding: 2.21vw 1.58vw 1.17vw;
  background: #fff;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 {
    margin-top: 2.5vw;
    padding: 5vw 2.5vw 5vw;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 {
  margin-top: 2.63vw;
  border-color: #004EA3;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 {
    margin-top: 5vw;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 {
  padding: 1.13vw 2.04vw 0.88vw 2.79vw;
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .title03 {
  display: inline-block;
  margin-top: -2.5vw;
  margin-left: -2.79vw;
  padding: 0 1.83vw;
  background: #fff;
  font-size: 2.08vw;
  font-weight: 900;
  color: #004DA3;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .title03 {
    margin-top: -3.5vw;
    margin-left: -2.9vw;
    font-size: 4.5vw;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 {
  margin-top: -1.13vw;
  align-items: center;
  gap: 0;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 {
    margin-top: -2.5vw;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .image01 {
  width: 3.67vw;
  margin-right: 1.83vw;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .image01 {
    width: 6.25vw;
    margin-right: 2.5vw;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01 {
  font-size: 1.17vw;
  line-height: 1.25;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01 {
    font-size: 3vw;
    text-align: right;
    width: 100%;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01:has(a) {
  margin-right: 4.5vw;
  margin-left: 0;
  position: relative;
  font-size: 3.63vw;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01:has(a) {
    margin-right: 2.5vw;
    font-size: 7.5vw;
    width: auto;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01:has(a)::after {
  content: "";
  display: block;
  border-right: 1px solid #ACACAC;
  position: absolute;
  top: 0;
  right: -2.4vw;
  width: 1px;
  height: 100%;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01:has(a)::after {
    content: none;
  }
}
.frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01:has(a) > a {
  color: #000;
  text-decoration: none;
}
@media screen and (min-width: 769px) {
  .frameArea02 > .inner01 > .block01 > .frameArea03 > .inner01 > .wrap01 > .text01:has(a) > a:hover {
    text-decoration: underline;
  }
}
.frameArea02 > .inner01 > .block01 > .wrap01 {
  gap: 0 1.67vw;
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .wrap01 {
    gap: 5vw 0;
  }
}
.frameArea02 > .inner01 > .block01 > .wrap01 > .col01 {
  width: calc((100% - 1.67vw) / 2);
}
@media (max-width: 768px) {
  .frameArea02 > .inner01 > .block01 > .wrap01 > .col01 {
    width: 100%;
  }
}
.frameArea02 > .inner01 > .block01 > .wrap01 > .col01:first-of-type .frameArea03 {
  border-color: #06C755;
}
.frameArea02 > .inner01 > .block01 > .wrap01 > .col01:nth-of-type(2) .frameArea03 {
  border-color: #FF5722;
}
.frameArea02 > .inner01 > .block01 > .wrap01 > .col01:nth-of-type(2) .frameArea03 > .title03 {
  color: #FF5722;
}
.frameArea02 > .inner01 > .block01 > .wrap01 > .col01:nth-of-type(2) .frameArea03 > .btn02 {
  margin-top: 1.04vw;
}

.frameArea03 {
  border: 0.42vw solid;
  height: 100%;
}
.frameArea03 .title03 {
  margin-top: -1.84vw;
}
.frameArea03 .title03 > span {
  padding: 0 1.67vw;
  background: #fff;
}
.frameArea03 > .inner01 {
  padding: 1.46vw 1.61vw 1.04vw 1.98vw;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 {
    padding: 2.5vw;
  }
}
.frameArea03 > .inner01 > .text01 {
  font-size: 1.25vw;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .text01 {
    font-size: 3vw;
    line-height: 1.7;
  }
}
.frameArea03 > .inner01 > .logo01 {
  margin-top: -3.13vw;
  margin-left: -1.98vw;
  padding: 0 0.42vw 0 1.25vw;
  width: 20.83vw;
  background: #fff;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .logo01 {
    width: 37.5vw;
  }
}
.frameArea03 > .inner01 > .btn02 {
  margin-top: 0.83vw;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .btn02 {
    margin-top: 2.5vw;
  }
}
.frameArea03 > .inner01 > .btn02 > a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .btn02 > a > span {
    width: 100%;
    text-align: center;
  }
}
.frameArea03 > .inner01 > .btn02 > a > span:first-child {
  margin-right: 2.34vw;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .btn02 > a > span:first-child {
    margin-right: 0;
    display: inline-block;
    width: auto;
    margin: auto;
  }
}
.frameArea03 > .inner01 > .wrap01 {
  margin-top: 2.17vw;
  align-items: center;
  gap: 0 1.88vw;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .wrap01 {
    gap: 0 5vw;
  }
}
.frameArea03 > .inner01 > .wrap01 > .image01 {
  width: 6.67vw;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .wrap01 > .image01 {
    width: 17.5vw;
  }
}
.frameArea03 > .inner01 > .wrap01 > .col01 {
  width: calc(100% - 6.67vw - 1.88vw);
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .wrap01 > .col01 {
    width: calc(100% - 17.5vw - 5vw);
  }
}
.frameArea03 > .inner01 > .wrap01 > .col01 > .title01 {
  font-size: 1.58vw;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .wrap01 > .col01 > .title01 {
    font-size: 5vw;
    line-height: 1.7;
  }
}
.frameArea03 > .inner01 > .wrap01 > .col01 > .text01 {
  font-size: 1.25vw;
  line-height: 1.55;
}
@media (max-width: 768px) {
  .frameArea03 > .inner01 > .wrap01 > .col01 > .text01 {
    font-size: 3vw;
    line-height: 1.7;
  }
}

.frameArea04 {
  position: relative;
  margin: auto;
  width: 100%;
  max-width: 66.67vw;
}
@media (max-width: 768px) {
  .frameArea04 {
    max-width: inherit;
  }
}
.frameArea04::before, .frameArea04::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.frameArea04::before {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 4px solid transparent;
  border-bottom: 4px solid transparent;
  -o-border-image: repeating-linear-gradient(to right, #7FC9C9 0 8px, transparent 8px 16px);
     border-image: repeating-linear-gradient(to right, #7FC9C9 0 8px, transparent 8px 16px);
  border-image-slice: 1;
  z-index: 1;
}
@media (max-width: 768px) {
  .frameArea04::before {
    border-top: 1vw solid transparent;
    border-bottom: 1vw solid transparent;
    -o-border-image: repeating-linear-gradient(to right, #7FC9C9 0 0.25vw, transparent 0.25vw 1vw);
       border-image: repeating-linear-gradient(to right, #7FC9C9 0 0.25vw, transparent 0.25vw 1vw);
    border-image-slice: 1;
  }
}
.frameArea04::after {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  -o-border-image: repeating-linear-gradient(to bottom, #7FC9C9 0 8px, transparent 8px 16px);
     border-image: repeating-linear-gradient(to bottom, #7FC9C9 0 8px, transparent 8px 16px);
  border-image-slice: 1;
  z-index: 2;
}
@media (max-width: 768px) {
  .frameArea04::after {
    border-left: 1vw solid transparent;
    border-right: 1vw solid transparent;
    -o-border-image: repeating-linear-gradient(to bottom, #7FC9C9 0 0.25vw, transparent 0.25vw 1vw);
       border-image: repeating-linear-gradient(to bottom, #7FC9C9 0 0.25vw, transparent 0.25vw 1vw);
    border-image-slice: 1;
  }
}
.frameArea04 > .inner01 {
  position: relative;
  overflow: hidden;
  padding: 1.56vw 2.08vw;
}
@media (max-width: 768px) {
  .frameArea04 > .inner01 {
    padding: 2.5vw 5vw 10vw;
  }
}
.frameArea04 > .inner01::before {
  content: "";
  display: block;
  background: url(../_images/ph03.webp) no-repeat;
  background-size: contain;
  position: absolute;
  bottom: -4.01vw;
  right: 2.34vw;
  width: 15.99vw;
  height: 17.6vw;
}
@media (max-width: 768px) {
  .frameArea04 > .inner01::before {
    width: 23vw;
    height: 23vw;
  }
}
.frameArea04 > .inner01 > .list01 {
  margin-top: 1.56vw;
}
@media (max-width: 768px) {
  .frameArea04 > .inner01 > .list01 {
    margin-top: 3.75vw;
  }
}

.frameArea05 {
  position: relative;
  background: #FFFEFD;
  border: 0.31vw solid #ff5722;
  background-image: radial-gradient(circle, #e5e5e5 2px, transparent 2px);
  background-position: 0 0;
  background-size: 1.04vw 1.04vw;
}
@media (max-width: 768px) {
  .frameArea05 {
    border: 0.75vw solid #ff5722;
    background-size: 2.5vw 2.5vw;
  }
}
.frameArea05 > .inner01 {
  padding: 1.46vw 3.96vw;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 {
    padding: 2.5vw 5vw 10vw 5vw;
  }
}
.frameArea05 > .inner01 *:first-child + * {
  margin-top: 1.67vw;
  font-size: 1.35vw;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 *:first-child + * {
    margin-top: 3.75vw;
  }
}
.frameArea05 > .inner01 p:not(.title06) .frameArea05 > .inner01 p:not(.btn04) {
  font-size: 1.41vw;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 p:not(.title06) .frameArea05 > .inner01 p:not(.btn04) {
    margin-top: 1.75vw;
    font-size: 3.5vw;
    line-height: 1.75;
  }
}
.frameArea05 > .inner01 p.text02 {
  font-size: 1.3vw;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 p.text02 {
    font-size: 3.5vw;
  }
}
.frameArea05 > .inner01 p.text03 {
  font-size: 1.2vw;
  line-height: 1.65;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 p.text03 {
    font-size: 3.5vw;
  }
}
.frameArea05 > .inner01 p.text04 {
  font-size: 0.99vw;
  line-height: 2;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 p.text04 {
    font-size: 3.5vw;
  }
}
.frameArea05 > .inner01 span {
  vertical-align: baseline;
}
.frameArea05 > .inner01 .btn04 {
  position: absolute;
  bottom: 0.57vw;
  right: 0.21vw;
  z-index: 2;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 .btn04 {
    position: relative;
    margin-top: 10vw;
    bottom: 0vw;
    right: 0;
  }
}
.frameArea05 > .inner01 .image01 {
  position: absolute;
  bottom: 0;
  right: 0.49vw;
  width: 11.82vw;
  height: 14.53vw;
}
@media (max-width: 768px) {
  .frameArea05 > .inner01 .image01 {
    width: 23vw;
    height: 24vw;
    bottom: 0;
    right: 1.5vw;
  }
}

.frameArea06 {
  border: 0.16vw solid #E20000;
  background: #FFF2F2;
}
.frameArea06 > .inner01 {
  padding: 0.36vw 0.52vw;
}
.frameArea06 > .inner01 .text01 {
  font-size: 1.67vw;
  line-height: 1.75;
  text-align: center;
}

.frameArea07 {
  padding: 2.6vw;
  background: #fff;
}
@media (max-width: 768px) {
  .frameArea07 {
    padding: 5vw;
  }
}
.frameArea07 .image01 + * {
  margin-top: 2.6vw;
}
.frameArea07 .table01 {
  width: 100%;
}
.frameArea07 .table01 tr {
  border-bottom: 2px dotted #dcdce0;
}
@media (max-width: 768px) {
  .frameArea07 .table01 tr {
    border-width: 0.5vw;
  }
}
.frameArea07 .table01 tr:last-child {
  border: none;
}
.frameArea07 .table01 th {
  padding-top: 0.83vw;
  font-size: 1.09vw;
  text-align: left;
}
@media (max-width: 768px) {
  .frameArea07 .table01 th {
    display: block;
    width: 100%;
    padding-top: 2vw;
    font-size: 5vw;
  }
}
.frameArea07 .table01 td {
  padding: 0.83vw 0 0.83vw 1.67vw;
  font-size: 1.09vw;
}
@media (max-width: 768px) {
  .frameArea07 .table01 td {
    display: block;
    width: 100%;
    padding: 2vw 0;
    font-size: 4vw;
    line-height: 1.7;
  }
}
.frameArea07 + .btn03 {
  margin-top: 3.65vw;
}
@media (max-width: 768px) {
  .frameArea07 + .btn03 {
    margin-top: 5vw;
  }
}

.mapBlock01 {
  position: relative;
  width: 100%;
  aspect-ratio: 460/320;
}
.mapBlock01 + .mapBlock01 {
  margin-top: 1.62vw;
}
.mapBlock01 .image01 {
  display: block;
  position: absolute;
  top: 0;
  right: -1vw;
  width: 6.69vw;
  height: 8.67vw;
  z-index: 0;
}
@media (max-width: 768px) {
  .mapBlock01 .image01 {
    width: 17vw;
    height: 20vw;
  }
}
.mapBlock01 iframe {
  margin-top: 0.52vw;
  width: 100%;
  height: 100%;
}

.imageWrap01 {
  margin: 2.6vw auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 1.56vw 1.04vw;
  max-width: 50vw;
}
@media (max-width: 768px) {
  .imageWrap01 {
    margin-top: 7.5vw;
    gap: 5vw 7vw;
    max-width: inherit;
  }
}
.imageWrap01 > .image01 {
  max-width: 13.02vw;
}
@media (max-width: 768px) {
  .imageWrap01 > .image01 {
    max-width: 40vw;
  }
}
.imageWrap01 > .text01 {
  font-size: 1.35vw;
  width: 100%;
  text-align: center;
}
@media (max-width: 768px) {
  .imageWrap01 > .text01 {
    font-size: 4vw;
  }
}

.btn01 a {
  position: relative;
  display: block;
  /*  padding: 9px 63px 14px 63px;*/
  padding: 0.47vw 3.28vw 0.73vw;
  text-decoration: none;
  color: white;
  /*	border-radius: 10px;*/
  border-radius: 0.52vw;
  background: linear-gradient(to right, #FF5722 0%, #FFC107 100%);
  overflow: hidden;
  transition: color 0.5s ease;
}
@media (max-width: 768px) {
  .btn01 a {
    padding: 2vw 5vw;
    border-radius: 2.5vw;
  }
}
.btn01 a::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #FF5722;
  opacity: 0;
  transition: opacity 0.3s ease;
  /*	border-radius: 10px;*/
  border-radius: 0.52vw;
  pointer-events: none;
}
@media screen and (min-width: 769px) {
  .btn01 a:hover {
    opacity: 1;
  }
  .btn01 a:hover::after {
    opacity: 1;
  }
}
.btn01 a > span {
  position: relative;
  z-index: 2;
  display: block;
  text-shadow: 4px 4px 4px rgba(0, 0, 0, 0.25);
  line-height: 1;
}
@media (max-width: 768px) {
  .btn01 a > span {
    text-shadow: 1vw 1vw 1vw rgba(0, 0, 0, 0.25);
  }
}
.btn01 a > span:not(:nth-of-type(2)) {
  /*	font-size: 3rem;*/
  font-size: 1.56vw;
  color: #fff;
}
@media (max-width: 768px) {
  .btn01 a > span:not(:nth-of-type(2)) {
    font-size: 5vw;
  }
}
.btn01 a > span:nth-of-type(2) {
  margin-top: 3px;
  /*	font-size: 4rem;*/
  font-size: 2.08vw;
  color: #fff;
}
@media (max-width: 768px) {
  .btn01 a > span:nth-of-type(2) {
    margin-top: 1vw;
    font-size: 4vw;
  }
}
.btn01 a > span:last-of-type {
  /*
  	margin-top: 6px;
  	margin-right: 8px;
  */
  margin-top: 0.31vw;
  margin-right: 0.42vw;
  text-align: right;
}
@media (max-width: 768px) {
  .btn01 a > span:last-of-type {
    margin-top: 1.5vw;
    margin-right: 2vw;
    font-size: 4vw;
  }
}

.btn02 a {
  position: relative;
  text-decoration: none;
  padding: 0.67vw 1.17vw 0.71vw 1.7vw;
  border-radius: 0.52vw;
  background: linear-gradient(45deg, #5CC2CF 0%, #68A5D9 100%);
  box-shadow: 0.21vw 0.21vw 0.21vw rgba(0, 0, 0, 0.25);
  top: 0;
  left: 0;
  transition: top 0.3s ease, left 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
}
@media (max-width: 768px) {
  .btn02 a {
    padding: 1vw 3vw;
  }
}
.btn02 a > span {
  position: relative;
}
.btn02 a > span:first-of-type {
  padding: 0 1.25vw;
  font-size: 1.5vw;
  font-weight: 900;
  color: #FFEA00;
  line-height: 1.35;
}
@media (max-width: 768px) {
  .btn02 a > span:first-of-type {
    padding: 0 4.56vw;
    font-size: 5.21vw;
  }
}
.btn02 a > span:first-of-type::before {
  content: "";
  display: block;
  background: url(../_images/ic04.svg) no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 0.81vw;
  height: 1.46vw;
}
@media (max-width: 768px) {
  .btn02 a > span:first-of-type::before {
    bottom: -1.25vw;
    left: -1.25vw;
    width: 3.91vw;
    height: 6.77vw;
  }
}
.btn02 a > span:first-of-type::after {
  content: "";
  display: block;
  background: url(../_images/ic04.svg) no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
  right: 0;
  transform: scale(-1, 1);
  width: 1.02vw;
  height: 1.82vw;
}
@media (max-width: 768px) {
  .btn02 a > span:first-of-type::after {
    bottom: -1.25vw;
    right: -1.25vw;
    width: 3.91vw;
    height: 6.77vw;
  }
}
.btn02 a > span:nth-of-type(2) {
  font-size: 0.96vw;
  font-weight: 500;
  color: #fff;
  text-shadow: 0.21vw 0.21vw 0.21vw rgba(0, 0, 0, 0.25);
}
@media (max-width: 768px) {
  .btn02 a > span:nth-of-type(2) {
    font-size: 3.65vw;
    text-shadow: 1vw 1vw 1vw rgba(0, 0, 0, 0.25);
  }
}
@media (any-hover: hover) {
  .btn02 a:hover {
    opacity: 1;
    box-shadow: none;
    top: 0.21vw;
    left: 0.21vw;
  }
}

.btn03 {
  margin-top: 3.13vw;
  text-align: center;
}
@media (max-width: 768px) {
  .btn03 {
    margin-top: 5vw;
  }
}
.btn03 a {
  position: relative;
  display: inline-block;
  margin: auto;
  padding: 0.52vw 3.13vw 0.73vw 2.08vw;
  background: #FF5722;
  min-width: 27.81vw;
  font-size: 1.61vw;
  color: #fff;
  border-radius: 100vmax;
  transition: background 0.3s ease, transform 0.3s ease;
  text-align: center;
}
@media (max-width: 768px) {
  .btn03 a {
    padding: 2vw 8vw 2vw 4vw;
    max-width: inherit;
    font-size: 3.5vw;
  }
}
.btn03 a::after {
  content: "";
  display: block;
  background: #fff;
  position: absolute;
  top: 50%;
  right: 1.46vw;
  transform: translateY(-50%);
  width: 0.94vw;
  height: 1.25vw;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transition: right 0.3s ease;
}
@media (max-width: 768px) {
  .btn03 a::after {
    right: 3vw;
    width: 2.5vw;
    height: 4vw;
  }
}
@media (any-hover: hover) {
  .btn03 a:hover {
    opacity: 1;
    transform: scale(1.1);
  }
  .btn03 a:hover::after {
    right: 1vw;
  }
}

.btn04 a {
  display: inline-block;
  position: relative;
  background: #FFEAE3;
  border-radius: 7px;
  font-size: 1.2vw;
  padding: 0.94vw 3.75vw 0.94vw 1.2vw;
}
@media (max-width: 768px) {
  .btn04 a {
    font-size: 3vw;
    padding: 1.75vw 9.5vw 1.75vw 2.5vw;
  }
}
.btn04 a::after {
  content: "";
  display: block;
  background: url(../_images/ic05.svg) no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 1.51vw;
  transform: translateY(-50%);
  width: 1.67vw;
  height: 1.67vw;
  transition: right 0.3s ease;
}
@media (max-width: 768px) {
  .btn04 a::after {
    right: 2.5vw;
    width: 5vw;
    height: 5vw;
  }
}
@media (any-hover: hover) {
  .btn04 a:hover {
    opacity: 1;
  }
  .btn04 a:hover::after {
    right: 1vw;
  }
}

.link01 {
  position: relative;
  display: block;
  text-decoration: underline;
}
.link01::before {
  content: "";
  position: relative;
  display: inline-block;
  background: #FF5722;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  margin-right: 0.52vw;
  width: 0.7em;
  height: 0.7em;
  left: 0;
  transition: left 0.3s ease;
}
@media (max-width: 768px) {
  .link01::before {
    margin-right: 2.5vw;
  }
}
@media (any-hover: hover) {
  .link01:hover {
    text-decoration: none;
  }
  .link01:hover::before {
    left: 0.26vw;
  }
}

.section01:has(.frameArea01) {
  overflow: hidden;
}
.section01 > .inner01 {
  margin: auto;
  width: 100%;
  max-width: 84.38vw;
  padding: 0 1.04vw;
}
@media (max-width: 768px) {
  .section01 > .inner01 {
    max-width: inherit;
    padding: 0 5vw;
  }
}
.section01.type01 > .inner01 {
  max-width: 54.17vw;
  padding: 0 1.04vw;
}
@media (max-width: 768px) {
  .section01.type01 > .inner01 {
    max-width: inherit;
    padding: 0 5vw;
  }
}
.section01.type02 > .inner01 {
  max-width: 68.75vw;
  padding: 0 1.04vw;
}
@media (max-width: 768px) {
  .section01.type02 > .inner01 {
    max-width: inherit;
    padding: 0 5vw;
  }
}
@media (max-width: 768px) {
  .section01.type03 > .inner01 {
    padding: 10vw 5vw;
  }
}

.sidebar01 {
  position: fixed;
  top: 10.21vw;
  right: 0;
  background: linear-gradient(to bottom, #ff5722 0%, #ffc107 100%);
  border-radius: 7px 0 0 7px;
  z-index: 9999;
  width: 4.69vw;
  height: 26.94vw;
}
@media (max-width: 768px) {
  .sidebar01 {
    top: auto;
    bottom: 0;
    left: 0;
    right: auto;
    border-radius: 7px 7px 0 0;
    width: calc(100% - 25vw);
    text-align: center;
    width: auto;
    height: auto;
  }
}
.sidebar01 .text01 {
  font-size: 1.56vw;
  letter-spacing: 2.5px;
  font-weight: 900;
  color: #fff;
  writing-mode: vertical-rl;
}
@media (max-width: 768px) {
  .sidebar01 .text01 {
    font-size: 4vw;
    letter-spacing: 0.75vw;
    writing-mode: unset;
  }
}
.sidebar01 a {
  display: block;
  padding: 3.65vw 1.04vw;
}
@media (max-width: 768px) {
  .sidebar01 a {
    padding: 3vw 5vw;
  }
}/*# sourceMappingURL=top.css.map */