@charset "UTF-8";
/*! 
Theme Name: Shinshu Taiken
Author: ABLEDESIGN
*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
*::before, *::after {
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  max-width: 100vw;
  overflow-x: hidden;
  margin: auto;
  -webkit-overflow-scrolling: touch;
  font-family: "LINE Seed JP";
  line-height: 2;
  color: #3a3a3a;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

body {
  width: 100%;
  max-width: 100vw;
  position: relative;
  font-family: "LINE Seed JP";
  line-height: 2;
  color: #3a3a3a;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  max-width: 100vw;
  background: #FFFDDC;
}
body::selection {
  background-color: #000;
  color: #fff;
}

main {
  display: block;
  line-height: 2;
  color: #3a3a3a;
  transition: opacity 0.3s ease;
  transition: all 1s cubic-bezier(0.59, 0, 0.265, 0.995);
  transition-timing-function: cubic-bezier(0.59, 0, 0.265, 0.995);
  width: 100%;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  border-right: 2px solid var(--text, #3A3A3A);
  border-left: 2px solid var(--text, #3A3A3A);
  background: white;
  position: relative;
  z-index: 34;
}
@media (max-width: 767px) {
  main {
    margin-top: 0px !important;
  }
}
main.-show {
  margin-top: 0px !important;
  opacity: 1;
}

li {
  list-style: none;
}

button {
  padding: 0;
  outline: none;
  border: none;
  background-color: transparent;
  appearance: none;
}

img {
  max-width: 100%;
  border: none;
  vertical-align: top;
  height: auto;
  object-fit: cover;
  object-position: center;
  border-style: none;
}

br.-sp {
  display: none;
}
br.-pc {
  display: block;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  display: inline-block;
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.7;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
  font-size: 100%;
  line-height: 1.5;
  margin: 0;
}

button,
input {
  overflow: visible;
  -webkit-appearance: none;
  appearance: none;
  border: none;
  -webkit-appearance: none;
  border-radius: 0;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
  -webkit-appearance: none;
  border-radius: 0px;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

@media (max-width: 767px) {
  br.-sp {
    display: inline;
  }
  br.-pc {
    display: none;
  }
}
embed,
iframe,
object {
  max-width: 100%;
}

figure {
  margin: 0;
  position: relative;
  overflow: hidden;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-weight: normal;
  font-family: "LINE Seed JP";
}

p {
  font-size: clamp(1.4rem, 1.1vw, 1.6rem);
}

button,
input,
select,
optgroup,
textarea {
  font-weight: normal;
  font-style: normal;
}

span {
  display: inline-block;
}

.grecaptcha-badge {
  display: none !important;
}

.pageName {
  display: none;
}

.pageTop {
  display: none;
}

.anchor {
  opacity: 0;
  pointer-events: none;
  position: absolute;
  top: -150px;
  left: 0;
  width: 1px;
  height: 1px;
  display: block;
}

.burger {
  cursor: pointer;
  position: fixed;
  top: 0;
  right: 0;
  z-index: 200;
  padding-top: 28px;
  padding-left: 27px;
  padding-right: 18px;
  padding-bottom: 35px;
  border-bottom-left-radius: 48px;
  border-left: 3px solid #14B324;
  border-bottom: 3px solid #14B324;
  opacity: 0;
  pointer-events: none;
  transition: all 0.5s ease;
  background-color: #14B324;
}
.burger.-active {
  background-color: #FFFFFF;
}
@media (max-width: 1200px) {
  .burger {
    opacity: 1;
    pointer-events: auto;
  }
}

.burgerWrap {
  width: 44px;
  height: 20px;
  position: relative;
}

.burgerBar {
  height: 5px;
  width: 44px;
  background-color: white;
  position: absolute;
  left: 50%;
  transition: all 0.2s ease;
}
.burgerBar:nth-of-type(1) {
  top: 0%;
  transform: translate(-50%, 0%) rotate(0deg);
}
.burgerBar:nth-of-type(1).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(40deg);
  background-color: #14B324;
}
.burgerBar:nth-of-type(2) {
  top: 100%;
  transform: translate(-50%, -100%) rotate(0deg);
}
.burgerBar:nth-of-type(2).-active {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-40deg);
  background-color: #14B324;
}

.breadcrumbList {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  row-gap: 5px;
  width: 100%;
}

.breadcrumbItem {
  font-size: clamp(1.1rem, 11px + (14 - 11) * (100vw - 320px) / 1120, 1.4rem);
  font-weight: 300;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .breadcrumbItem {
    line-height: 1.2;
  }
}
.breadcrumbItem {
  color: black;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
}
.breadcrumbItem:not(:last-of-type)::after {
  color: black;
  content: "/";
  display: inline-block;
  padding-left: 0.5em;
  padding-right: 0.5em;
}

.pagination {
  padding-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 320px) / 180, 64px);
  width: 100%;
}

.paginationBody {
  width: 100%;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(18px, 18px + (48 - 18) * (100vw - 320px) / 180, 48px);
}

.paginationBodyIcon.-prev::after {
  content: "";
  display: block;
  width: 13px;
  height: 25px;
  background-image: url(./img/common/icon_pagination_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  rotate: 180deg;
}
.paginationBodyIcon.-next::after {
  content: "";
  display: block;
  width: 13px;
  height: 25px;
  background-image: url(./img/common/icon_pagination_arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
}
.paginationBodyIcon.-hide {
  pointer-events: none;
  opacity: 0;
}

.paginationBodyNum {
  position: relative;
  font-size: clamp(1.51rem, 15.1px + (18 - 15.1) * (100vw - 320px) / 180, 1.8rem);
  line-height: 2;
  padding: 0.3em;
}
.paginationBodyNum.-current {
  pointer-events: none;
}
.paginationBodyNum.-current::after {
  content: "";
  position: absolute;
  bottom: -5%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 100%;
  height: 2px;
  background: red;
}

.paginationBodyEllipsis {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: clamp(2px, 2px + (3 - 2) * (100vw - 320px) / 180, 3px);
}
.paginationBodyEllipsis span {
  display: block;
  width: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 320px) / 180, 4px);
  min-width: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 320px) / 180, 4px);
  height: clamp(2.8px, 2.8px + (4 - 2.8) * (100vw - 320px) / 180, 4px);
  border-radius: 50%;
  background: red;
}

.-noSpace {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

@keyframes bgLoop {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -500px 0;
  }
}
@keyframes bgLoopMobile {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1200px 0;
  }
}
.fixed {
  width: 100%;
  height: 304px;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: -2;
}
@media (max-width: 1200px) {
  .fixed {
    top: 50%;
    bottom: auto;
    transform: translateY(-50%);
    height: 100%;
  }
}

.fixedInner {
  width: 100%;
  overflow: hidden;
  background: url(./img/common/common08.svg) repeat-x 0 0;
  background-size: 500px 304px;
  animation: bgLoop 30s linear infinite;
  height: 304px;
  position: relative;
  z-index: 2;
}
@media (max-width: 1200px) {
  .fixedInner {
    margin-top: 40px;
    background-size: 1200px 729.6px;
    height: 729.6px;
    animation: bgLoopMobile 30s linear infinite;
  }
}
.fixedInner.-stopped {
  animation: none;
}

.activities {
  overflow-x: hidden;
  width: 100%;
  position: relative;
  z-index: 2;
  margin-top: -20px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.activitiesBg {
  width: 105%;
  max-width: 105%;
}

.activitiesInner {
  margin-top: -1px;
  width: 100%;
  background: #1BC2EC;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: clamp(161px, 161px + (230 - 161) * (100vw - 320px) / 180, 230px);
}

.activitiesBody {
  padding-top: clamp(29.4px, 29.4px + (42 - 29.4) * (100vw - 320px) / 180, 42px);
}

.activitiesBodyTtl.-first {
  width: 100%;
}
.activitiesBodyTtl.-second {
  margin-top: 56px;
  font-size: clamp(2.27rem, 22.7px + (32 - 22.7) * (100vw - 320px) / 180, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
  color: #FFF;
  text-align: center;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.activitiesBodyTtl.-second::after {
  margin-top: 16px;
  content: "";
  display: block;
  width: 24px;
  height: 4px;
  background-color: #FA7A04;
}

.activitiesBodyImg.-ttl {
  width: 100%;
  object-fit: contain;
  scale: 0;
  transition: scale 1s linear(0, 0.487 5%, 0.838 10.4%, 1.07 16.4%, 1.145 19.7%, 1.195 23.3%, 1.224 28.3%, 1.216 34.2%, 1.188 39.6%, 1.071 57.1%, 1.021 69.6%, 1.003 81.2%, 1);
}
.activitiesBodyImg.-ttl.-active {
  scale: 1;
}
.activitiesBodyImg.-logo {
  max-width: 100%;
  object-fit: contain;
}

.activitiesBodyList {
  margin-top: clamp(19.2px, 19.2px + (24 - 19.2) * (100vw - 320px) / 180, 24px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(19.2px, 19.2px + (24 - 19.2) * (100vw - 320px) / 180, 24px);
}

.activitiesBodyItem {
  width: 100%;
  max-width: clamp(296px, 296px + (370 - 296) * (100vw - 320px) / 180, 370px);
}

.activitiesBodyLink {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-color: white;
  border: 2px solid #3A3A3A;
  min-height: clamp(80px, 80px + (100 - 80) * (100vw - 320px) / 180, 100px);
  height: clamp(80px, 80px + (100 - 80) * (100vw - 320px) / 180, 100px);
  padding: 12px;
}
.activitiesBodyLink.-full {
  padding: 0;
  border: none;
  height: fit-content;
  min-height: fit-content;
  background: none;
}
.activitiesBodyEmpty {
  margin-top: clamp(19.2px, 19.2px + (24 - 19.2) * (100vw - 320px) / 180, 24px);
  color: white;
}

.activitiesNews {
  margin-top: clamp(76.8px, 76.8px + (96 - 76.8) * (100vw - 320px) / 180, 96px);
  width: 100%;
  position: relative;
}

.activitiesNewsTtl.-second {
  width: 100%;
}

.activitiesNewsImg {
  width: clamp(164.8px, 164.8px + (206 - 164.8) * (100vw - 320px) / 180, 206px);
  object-fit: contain;
}

.activitiesNewsList {
  margin-top: clamp(32px, 32px + (40 - 32) * (100vw - 320px) / 180, 40px);
  color: white;
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(25.6px, 25.6px + (32 - 25.6) * (100vw - 320px) / 180, 32px);
}

.activitiesNewsItem {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(9.6px, 9.6px + (12 - 9.6) * (100vw - 320px) / 180, 12px);
  width: 100%;
}

.activitiesNewsTime {
  font-size: clamp(1.51rem, 15.1px + (18 - 15.1) * (100vw - 320px) / 180, 1.8rem);
  line-height: 1.2;
  font-weight: 400;
  white-space: nowrap;
}

.activitiesNewsLink {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
  column-gap: 8px;
}
.activitiesNewsLink::after {
  content: "";
  display: block;
  width: 10px;
  min-width: 10px;
  height: 15px;
  background-image: url(./img/home/home29.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.activitiesNewsLink span {
  max-width: calc(100% - 10px - 8px);
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
  border-bottom: 2px solid white;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.banner {
  overflow-y: scroll;
  scrollbar-gutter: stable;
  width: calc((100vw - 540px) / 2);
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
}

.bannerInner {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.bannerBody {
  padding-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  padding-bottom: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  width: 100%;
  max-width: 300px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .bannerBody {
    display: none;
  }
}

.bannerBodyImg {
  width: 100%;
  object-fit: contain;
}

.bannerBodyTtl {
  margin-top: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 320px) / 180, 1.6rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  position: relative;
}
.bannerBodyTtl::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, calc(100% + 8px));
  content: "";
  display: block;
  width: 8px;
  height: 2px;
  background: #14B324;
}

.bannerBodyTel {
  margin-top: clamp(9.7px, 9.7px + (14 - 9.7) * (100vw - 320px) / 180, 14px);
  text-align: center;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 320px) / 180, 1.5rem);
  line-height: 1.7;
  font-weight: 700;
}

.bannerBodyNote {
  text-align: center;
  font-size: 1rem;
  line-height: 1.2;
}

.bannerBodyEmail {
  margin-top: 5px;
  text-align: center;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 320px) / 180, 1.3rem);
  line-height: 1.7;
  font-weight: 700;
}

.bannerBodyCopyright {
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  text-align: center;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 320px) / 180, 1.4rem);
  line-height: 1.7;
  font-weight: 400;
}

.bannerImg {
  width: 100%;
  object-fit: contain;
}
@media (max-width: 1200px) {
  .bannerImg {
    display: none;
  }
}

.error {
  margin-left: auto;
  margin-right: auto;
  max-width: calc(1440px - clamp(128px, 128px + (256 - 128) * (100vw - 320px) / 180, 256px));
  width: 100%;
  padding-left: clamp(16px, 16px + (140 - 16) * (100vw - 320px) / 1120, 140px);
  padding-right: clamp(16px, 16px + (140 - 16) * (100vw - 320px) / 1120, 140px);
}
@media (max-width: 767px) {
  .error {
    padding-left: 16px;
    padding-right: 16px;
  }
}

.errorInner {
  width: 100%;
}

.errorBody {
  min-height: 100vh;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  padding-top: clamp(112px, 112px + (160 - 112) * (100vw - 320px) / 180, 160px);
  padding-bottom: clamp(112px, 112px + (160 - 112) * (100vw - 320px) / 180, 160px);
}

.errorBodyTtl {
  font-size: clamp(4.48rem, 44.8px + (64 - 44.8) * (100vw - 320px) / 1120, 6.4rem);
  font-weight: 600;
  line-height: 1.5;
  color: #14B324;
}

.errorBodyTxt {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  font-size: clamp(1.67rem, 16.7px + (24 - 16.7) * (100vw - 320px) / 1120, 2.4rem);
  line-height: 1.5;
  text-align: center;
}

.errorBodyLink {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  color: #FFF;
  border-radius: 36px;
  background: #1094D0;
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
  padding-left: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  padding-right: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  padding-top: clamp(7px, 7px + (10 - 7) * (100vw - 320px) / 180, 10px);
  padding-bottom: clamp(8.3px, 8.3px + (12 - 8.3) * (100vw - 320px) / 180, 12px);
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 16px;
}
.errorBodyLink::after {
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  background-image: url(./img/common/common09.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.faq {
  width: 100%;
  position: relative;
}

.faqBg {
  width: 100%;
  height: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  object-position: center bottom;
}

.faqInner {
  padding-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  padding-left: 20px;
  padding-right: 20px;
  width: 100%;
}

.faqBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.faqBodyTtl {
  width: 100%;
  max-width: clamp(179.2px, 179.2px + (256 - 179.2) * (100vw - 320px) / 180, 256px);
}

.faqBodyImg.-ttl {
  width: 100%;
  object-fit: contain;
}

.faqBodyList {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  border-bottom: 2px dashed #3A3A3A;
}
.faqBodyList:first-of-type {
  margin-top: clamp(39.1px, 39.1px + (56 - 39.1) * (100vw - 320px) / 180, 56px);
}

.faqBodyQuestion {
  width: 100%;
}

.faqBodyBtn {
  font-family: inherit;
  width: 100%;
  padding-top: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  cursor: pointer;
  padding-bottom: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
}
.faqBodyBtn.-first {
  padding-top: 0;
}
.faqBodyBtn:hover {
  background-color: whitesmoke;
}
.faqBodyBtn p {
  width: calc(100% - clamp(24.5px, 24.5px + (35 - 24.5) * (100vw - 320px) / 180, 35px) - clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px) - clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px) * 2);
  font-size: clamp(1.8rem, 18px + (23 - 18) * (100vw - 320px) / 180, 2.3rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: left;
  color: #3A3A3A;
}

.faqBodyQ {
  width: clamp(24.5px, 24.5px + (35 - 24.5) * (100vw - 320px) / 180, 35px);
  object-fit: contain;
}

.faqBodyCondition {
  width: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
  min-width: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
  height: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
}

.faqBodyArrow {
  width: 100%;
  object-fit: contain;
}
.faqBodyArrow.-hide {
  display: none;
}

.faqBodyAnswer {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  padding-bottom: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  overflow: hidden;
  opacity: 1;
  transition: all 0.3s ease;
}
.faqBodyAnswer.-hide {
  height: 0 !important;
  padding-bottom: 0 !important;
  opacity: 0;
}

.faqBodyA {
  width: clamp(25.9px, 25.9px + (37 - 25.9) * (100vw - 320px) / 180, 37px);
}

.faqBodyTxt {
  width: calc(100% - clamp(25.9px, 25.9px + (37 - 25.9) * (100vw - 320px) / 180, 37px) - clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px));
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
}
.faqBodyTxt > *:first-child {
  margin-top: 0 !important;
}
.faqBodyTxt p,
.faqBodyTxt a {
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
}
.faqBodyTxt a {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  color: #FA7A04;
  position: relative;
  max-width: calc(100% - 26px);
}
.faqBodyTxt a span {
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
  display: inline;
  padding-bottom: 0.2em;
  background: linear-gradient(transparent calc(100% - 2px), #FA7A04 calc(100% - 2px), #FA7A04 100%);
}
.faqBodyTxt a::after {
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  background-image: url(./img/home/home62.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(calc(100% + 10px), -50%);
}
.faqBodyTxt a[target=_blank]::after {
  background-image: url(./img/home/home63.svg);
  width: 15px;
  height: 15px;
}
.faqBodyTxt ul {
  width: 100%;
}
.faqBodyTxt ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 7px;
}
.faqBodyTxt ul li::before {
  content: "";
  margin-top: clamp(10.5px, 10.5px + (15 - 10.5) * (100vw - 320px) / 180, 15px);
  display: block;
  width: 10px;
  min-width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #3a3a3a;
}
.faqBodyTxt ol {
  width: 100%;
  list-style-position: inside;
  padding-left: clamp(19px, 19px + (22 - 19) * (100vw - 320px) / 180, 22px);
}
.faqBodyTxt ol li {
  list-style: decimal;
}

.footer {
  padding-top: clamp(50.4px, 50.4px + (72 - 50.4) * (100vw - 320px) / 180, 72px);
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 32px;
  border-right: 2px solid #3A3A3A;
  border-left: 2px solid #3A3A3A;
  width: 100%;
  max-width: 540px;
  margin-left: auto;
  margin-right: auto;
  background: white;
}

.footerInner {
  width: 100%;
}

.footerBody {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.footerBodyTtl {
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 320px) / 180, 1.6rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
  position: relative;
}
.footerBodyTtl::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, calc(100% + 8px));
  content: "";
  display: block;
  width: 8px;
  height: 2px;
  background: #14B324;
}

.footerBodyTel {
  margin-top: clamp(9.7px, 9.7px + (14 - 9.7) * (100vw - 320px) / 180, 14px);
  text-align: center;
  font-size: clamp(1.32rem, 13.2px + (15 - 13.2) * (100vw - 320px) / 180, 1.5rem);
  line-height: 1.7;
  font-weight: 700;
}

.footerBodyNote {
  text-align: center;
  font-size: 1rem;
  line-height: 1.2;
}

.footerBodyEmail {
  margin-top: 5px;
  text-align: center;
  font-size: clamp(1.19rem, 11.9px + (13 - 11.9) * (100vw - 320px) / 180, 1.3rem);
  line-height: 1.7;
  font-weight: 700;
}

.footerBodyList {
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  row-gap: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
}

.footerBodyItem {
  height: clamp(67.8px, 67.8px + (97 - 67.8) * (100vw - 320px) / 180, 97px);
}

.footerBodyImg {
  height: 100%;
  object-fit: contain;
}

.footerBodyLink {
  display: inline-flex;
  height: 100%;
}
.footerBodyCopyright {
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  text-align: center;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 320px) / 180, 1.4rem);
  line-height: 1.7;
  font-weight: 400;
}

.footerBodyTxt {
  margin-top: 24px;
  text-align: center;
  font-size: 1rem;
  line-height: 1.2;
}

.header {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 100;
  overflow-y: scroll;
  scrollbar-gutter: stable;
  max-height: 100vh;
  width: calc((100vw - 540px) / 2);
}
@media (max-width: 1200px) {
  .header {
    position: unset;
    top: unset;
    right: unset;
    z-index: unset;
    overflow-y: unset;
    scrollbar-gutter: unset;
    max-height: unset;
    width: unset;
    display: contents;
  }
}

.headerOuter {
  width: 100%;
  overflow: hidden;
  padding-top: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  padding-bottom: 64px;
  padding-left: 50px;
  padding-right: 50px;
}
@media (max-width: 1200px) {
  .headerOuter {
    width: unset;
    overflow: unset;
    padding-top: unset;
    padding-bottom: unset;
    padding-left: unset;
    padding-right: unset;
    display: contents;
  }
}

.headerInner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .headerInner {
    position: fixed;
    z-index: 100;
    transition: opacity 0.5s ease;
    top: 0;
    right: 0;
    transition: all 0.3s ease;
    transform: translateX(100%);
    width: 100%;
    height: 100lvh;
    background: #FFFDDC;
    overflow-y: scroll;
    scrollbar-gutter: stable;
    max-height: 100%;
  }
  .headerInner.-active {
    transform: translateX(0);
  }
}
.headerInner.-noTransition {
  transition: none !important;
}

.headerHead {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row;
}
@media (max-width: 1200px) {
  .headerHead {
    max-width: 100%;
    padding-top: clamp(24px, 8.3vw, 100px);
    padding-right: clamp(20px, 10vw, 120px);
    padding-left: clamp(20px, 10vw, 120px);
  }
}

.headerHeadIndex {
  width: 56px;
  object-fit: contain;
}

.headerHeadImg {
  width: clamp(114.8px, 114.8px + (164 - 114.8) * (100vw - 320px) / 180, 164px);
  object-fit: contain;
}
@media (max-width: 1200px) {
  .headerHeadImg {
    display: none;
  }
}

.headerTtl {
  display: contents;
}

.headerLogo {
  white-space: nowrap;
  position: fixed;
  left: clamp(16px, 16px + (32 - 16) * (100vw - 320px) / 180, 32px);
  top: clamp(16px, 16px + (32 - 16) * (100vw - 320px) / 180, 32px);
  z-index: 201;
}

.headerNav {
  margin-top: 24px;
  width: 100%;
}
@media (max-width: 1200px) {
  .headerNav {
    margin-top: 48px;
    padding-bottom: 100px;
    max-width: 100%;
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
  }
}

.headerNavList.-main {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
}
@media (max-width: 1200px) {
  .headerNavList.-main {
    width: 100%;
    display: inline-flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    padding-top: 0px;
    padding-bottom: 0px;
    row-gap: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
    padding-right: clamp(20px, 10vw, 120px);
    padding-left: clamp(20px, 10vw, 120px);
  }
}
.headerNavList.-sub {
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(9.7px, 9.7px + (14 - 9.7) * (100vw - 320px) / 180, 14px);
  padding-left: 38px;
  overflow: hidden;
  transition: ease 0.3s ease;
  opacity: 1;
}
.headerNavList.-hide {
  margin-top: 0 !important;
  opacity: 0;
  height: 0 !important;
}

.headerNavItem {
  position: relative;
  transition: opacity 0.3s ease;
}

.headerNavRow {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
}

.headerNavNum {
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 320px) / 180, 1.6rem);
  line-height: 1.2;
  font-weight: 700;
  color: #14B324;
}

.headerNavLink {
  text-align: center;
  max-width: 100%;
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 320px) / 180, 1.6rem);
  line-height: 1.2;
  font-weight: 700;
  color: #3A3A3A;
  font-family: inherit;
}
.headerNavLink.-btn {
  cursor: pointer;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 8px;
}
.headerNavLink.-btn:hover {
  opacity: 0.8;
}
.headerNavLink.-sub {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  column-gap: 6px;
}
.headerNavLink.-sub::before {
  content: "";
  display: block;
  width: 8px;
  min-width: 8px;
  height: 2px;
  background: #14B324;
}

.headerNavExpand {
  margin-top: 3px;
  width: 12px;
  height: 12px;
  position: relative;
  transition: all 0.3s ease;
}
.headerNavExpand span {
  background-color: #14B324;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.headerNavExpand span:first-of-type {
  width: 100%;
  height: 2px;
}
.headerNavExpand span:last-of-type {
  width: 2px;
  height: 100%;
}
.headerNavExpand.-hide span:first-of-type {
  opacity: 0;
}

.headerNavTxt {
  text-align: left;
}
.headerNavTxt.-main {
  font-size: clamp(1.39rem, 13.9px + (16 - 13.9) * (100vw - 320px) / 180, 1.6rem);
  line-height: 1.2;
  font-weight: 700;
}
.headerNavTxt.-sub {
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 320px) / 180, 1.4rem);
  line-height: 1.2;
  font-weight: 700;
}

.headerCloser {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  display: none;
  z-index: 4;
}
.headerCloser.-active {
  display: block;
}

.headerBody {
  margin-top: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}
@media (max-width: 1200px) {
  .headerBody {
    display: none;
  }
}

.headerBodyBg {
  width: calc((100vw - 540px) / 2);
  max-width: calc((100vw - 540px) / 2);
  margin-left: -50px;
}
.headerBodyBg.-hide {
  opacity: 0;
}
.headerBodyBg.-bottom {
  margin-top: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
}

.headerBodyList {
  margin-top: clamp(43.4px, 43.4px + (62 - 43.4) * (100vw - 320px) / 180, 62px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
  column-gap: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  row-gap: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  width: 100%;
  position: relative;
  z-index: 2;
}
.headerBodyList::after {
  content: "";
  display: block;
  width: calc((100vw - 540px) / 2);
  height: 120%;
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(-50px, -50%);
  z-index: -1;
  background: #FFFDDC;
}

.headerBodyItem {
  height: clamp(67.8px, 67.8px + (97 - 67.8) * (100vw - 320px) / 180, 97px);
}

.headerBodyImg {
  height: 100%;
  object-fit: contain;
}

.headerBodyLink {
  display: inline-flex;
  height: 100%;
}
.intro {
  margin-top: -1px;
  width: 100%;
  background: #C6F32F;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
  z-index: 2;
  overflow-x: hidden;
}

.introInner {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.introBody {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.introBodyTtl.-first {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.introBodyTtl.-second {
  width: clamp(66px, 66px + (110 - 66) * (100vw - 320px) / 180, 110px);
  min-width: clamp(66px, 66px + (110 - 66) * (100vw - 320px) / 180, 110px);
  height: clamp(61.8px, 61.8px + (103 - 61.8) * (100vw - 320px) / 180, 103px);
  color: white;
  font-size: clamp(2.07rem, 20.7px + (28 - 20.7) * (100vw - 320px) / 180, 2.8rem);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border-radius: clamp(54.4px, 54.4px + (68 - 54.4) * (100vw - 320px) / 180, 68px);
}
.introBodyTtl.-green {
  background: #14B324;
}
.introBodyTtl.-orange {
  background: #FA7A04;
}
.introBodyTtl.-blue {
  background: #1BC2EC;
}
.introBodyTtl.-closed {
  opacity: 0.4;
}

.introBodyImg {
  width: clamp(296px, 296px + (370 - 296) * (100vw - 320px) / 180, 370px);
  min-width: 100%;
  scale: 0;
  transition: scale 1s linear(0, 0.487 5%, 0.838 10.4%, 1.07 16.4%, 1.145 19.7%, 1.195 23.3%, 1.224 28.3%, 1.216 34.2%, 1.188 39.6%, 1.071 57.1%, 1.021 69.6%, 1.003 81.2%, 1);
}
.introBodyImg.-active {
  scale: 1;
}

.introBodyList {
  margin-top: 40px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(22.4px, 22.4px + (28 - 22.4) * (100vw - 320px) / 180, 28px);
}

.introBodyItem {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  opacity: 0;
  transform: translateX(10%);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.introBodyItem.-active {
  opacity: 1;
  transform: translateX(0);
}
.introBodyItem.-closed {
  position: relative;
  pointer-events: none;
}
.introBodyItem.-closed::after {
  content: "終了しました";
  display: block;
  background-color: white;
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
  text-align: center;
  position: absolute;
  padding-left: 0.5em;
  padding-right: 0.5em;
  top: 50%;
  left: 50%;
  white-space: nowrap;
  transform: translate(-50%, -50%) rotate(-15deg);
}
.introBodyItem.-hide {
  display: none;
}

.introBodyContents {
  width: calc(100% - clamp(66px, 66px + (110 - 66) * (100vw - 320px) / 180, 110px) - clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px));
  display: flex;
  justify-content: flex-start;
  align-items: flex-closed;
  flex-direction: column;
  color: #3A3A3A;
}
.introBodyContents.-closed {
  opacity: 0.4;
}

.introBodyPeriod {
  display: inline-block;
}
.introBodyPeriod.-start {
  width: 100%;
}
.introBodyPeriod.-closed {
  margin-top: calc(-100% + 100% - clamp(6.4px, 6.4px + (8 - 6.4) * (100vw - 320px) / 180, 8px));
}

.introBodyTxt.-year {
  font-size: clamp(2.12rem, 21.2px + (29 - 21.2) * (100vw - 320px) / 180, 2.9rem);
  line-height: 1;
  font-weight: 700;
}
.introBodyTxt.-date {
  font-size: clamp(2.8rem, 28px + (44 - 28) * (100vw - 320px) / 180, 4.4rem);
  line-height: 1;
  font-weight: 700;
}
.introBodyTxt.-separator {
  font-size: clamp(2.8rem, 28px + (44 - 28) * (100vw - 320px) / 180, 4.4rem);
  line-height: 1;
  font-weight: 400;
}
.introBodyTxt.-youbi {
  position: relative;
  display: inline-block;
}
.introBodyTxt.-youbi span {
  writing-mode: vertical-rl;
  font-size: clamp(0.94rem, 9.4px + (12.8 - 9.4) * (100vw - 320px) / 180, 1.28rem);
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
  transform: translateY(clamp(2.4px, 2.4px + (3 - 2.4) * (100vw - 320px) / 180, 3px));
}

.introBodyArrow {
  margin-right: clamp(0px, 0px + (8 - 0) * (100vw - 320px) / 180, 8px);
  margin-top: clamp(10.5px, 10.5px + (15 - 10.5) * (100vw - 320px) / 180, 15px);
  width: clamp(26.5px, 26.5px + (53 - 26.5) * (100vw - 320px) / 180, 53px);
  min-width: clamp(26.5px, 26.5px + (53 - 26.5) * (100vw - 320px) / 180, 53px);
  object-fit: contain;
}

.introBodyNote {
  margin-top: clamp(8px, 8px + (10 - 8) * (100vw - 320px) / 180, 10px);
  width: 100%;
  font-size: clamp(1.13rem, 11.3px + (14 - 11.3) * (100vw - 320px) / 180, 1.4rem);
  line-height: 1.7;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 2px;
}
.introBodyNote::before {
  content: "※";
}

.introNote {
  margin-top: clamp(32px, 32px + (40 - 32) * (100vw - 320px) / 180, 40px);
  width: 100%;
}

.introNoteImg {
  width: 100%;
  object-fit: contain;
}

.mv {
  width: 100%;
}

.mvInner {
  width: 100%;
  position: relative;
  padding-bottom: 20px;
}
.mvInner::before {
  content: "";
  display: block;
  width: clamp(125.9px, 125.9px + (180 - 125.9) * (100vw - 320px) / 180, 180px);
  height: clamp(88.1px, 88.1px + (126 - 88.1) * (100vw - 320px) / 180, 126px);
  background-image: url(./img/home/home02.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.mvInner::after {
  content: "";
  display: block;
  width: 100%;
  height: clamp(76.3px, 76.3px + (109 - 76.3) * (100vw - 320px) / 180, 109px);
  background-image: url(./img/home/home03.svg);
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
}

@keyframes loop {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -494px 0;
  }
}
.mvHead {
  width: 100%;
  overflow: hidden;
  background: url(./img/home/home04.svg) repeat-x 0 0;
  background-size: 494px 56px;
  animation: loop 30s linear infinite;
  height: 56px;
  position: relative;
  z-index: 2;
}

.mvBody {
  border-top: 2px solid #3A3A3A;
  width: 100%;
  z-index: 2;
  position: relative;
}

.mvBodyTtl {
  width: 100%;
}
.mvBodyTtl svg {
  width: 100%;
}

.mvBodyLogo {
  width: clamp(56px, 56px + (81 - 56) * (100vw - 320px) / 180, 81px);
  height: clamp(56px, 56px + (81 - 56) * (100vw - 320px) / 180, 81px);
  object-fit: contain;
  position: absolute;
  top: 24px;
  right: clamp(12px, 12px + (20 - 12) * (100vw - 320px) / 180, 20px);
}
@media (max-width: 650px) {
  .mvBodyLogo {
    top: 40px;
  }
}

.prefecture {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  width: 100%;
  background: #C6F32F;
  position: relative;
}

.prefectureBg.-top {
  margin-top: -1px;
  width: 100%;
  height: clamp(80.5px, 80.5px + (115 - 80.5) * (100vw - 320px) / 180, 115px);
  object-position: center bottom;
}

.prefectureInner {
  padding-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  padding-left: 20px;
  padding-right: 20px;
}

.prefectureBody {
  width: 100%;
}

.prefectureBodyTtl {
  width: 100%;
}
.prefectureBodyTtl svg {
  width: 100%;
  object-fit: contain;
}

.prefectureBodyTxt {
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  color: #3A3A3A;
}
.prefectureBodyTxt:first-of-type {
  margin-top: clamp(39.1px, 39.1px + (56 - 39.1) * (100vw - 320px) / 180, 56px);
}

.prefectureInfo {
  position: relative;
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  background-color: white;
  width: 100%;
  border-radius: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  padding-top: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  padding-bottom: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  padding-left: clamp(20px, 20px + (32 - 20) * (100vw - 320px) / 180, 32px);
  padding-right: clamp(20px, 20px + (32 - 20) * (100vw - 320px) / 180, 32px);
}
.prefectureInfo > *:first-child {
  margin-top: 0 !important;
}

.prefectureInfoTtl {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 320px) / 180, 64px);
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}

.prefectureInfoTxt {
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 400;
}

.prefectureInfoLine {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  width: clamp(38.4px, 38.4px + (48 - 38.4) * (100vw - 320px) / 180, 48px);
  object-fit: contain;
}

.prefectureInfoLink {
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  width: 100%;
  max-width: clamp(259px, 259px + (370 - 259) * (100vw - 320px) / 180, 370px);
  border: 2px solid #3A3A3A;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  padding-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  padding-bottom: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  padding-left: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  padding-right: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
  text-align: center;
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
  position: relative;
}
.prefectureInfoLink::before {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 10px;
  width: 14px;
  height: 16px;
  background-repeat: no-repeat;
  background-size: contain;
}
.prefectureInfoLink.-blue {
  color: #1094D0;
}
.prefectureInfoLink.-blue::before {
  background-image: url(./img/home/home52.svg);
}
.prefectureInfoLink.-green {
  color: #14B324;
}
.prefectureInfoLink.-green::before {
  background-image: url(./img/home/home55.svg);
}
.prefectureInfoLink.-img {
  padding: 0;
  object-fit: contain;
}

.prefectureInfoImg {
  width: 100%;
  max-width: clamp(166.6px, 166.6px + (238 - 166.6) * (100vw - 320px) / 180, 238px);
  object-fit: contain;
}

.rec {
  margin-top: calc(-100% + 100% - clamp(96px, 96px + (120 - 96) * (100vw - 320px) / 180, 120px));
  width: 100%;
  z-index: 3;
  position: relative;
  overflow-x: hidden;
}

.recBg {
  width: 100%;
  height: clamp(96px, 96px + (120 - 96) * (100vw - 320px) / 180, 120px);
}

.recInner {
  margin-top: -2px;
  width: 102%;
  max-width: 102%;
  margin-right: -1%;
  background-color: white;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
}

.recHead {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  position: relative;
}

.recHeadTtl {
  width: 100%;
  max-width: clamp(280px, 280px + (378 - 280) * (100vw - 320px) / 180, 378px);
  position: relative;
  z-index: 2;
}

.recHeadImg.-ttl {
  width: 100%;
  object-fit: contain;
  scale: 0;
  transition: scale 1s linear(0, 0.487 5%, 0.838 10.4%, 1.07 16.4%, 1.145 19.7%, 1.195 23.3%, 1.224 28.3%, 1.216 34.2%, 1.188 39.6%, 1.071 57.1%, 1.021 69.6%, 1.003 81.2%, 1);
}
.recHeadImg.-ttl.-active {
  scale: 1;
}
.recHeadImg.-drawing {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  object-fit: contain;
}
@media (max-width: 400px) {
  .recHeadImg.-drawing {
    transform: translate(-50%, -80%);
  }
}

.recBody {
  width: 100%;
}

.recButtons {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: row;
  column-gap: clamp(9.7px, 9.7px + (14 - 9.7) * (100vw - 320px) / 180, 14px);
}

.recButtonsBtn {
  border-radius: 80px;
  border: 4px solid #3A3A3A;
  width: calc((100% - clamp(9.7px, 9.7px + (14 - 9.7) * (100vw - 320px) / 180, 14px) * 3) / 4);
  height: clamp(61.6px, 61.6px + (88 - 61.6) * (100vw - 320px) / 180, 88px);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
  position: relative;
}
.recButtonsBtn.-active::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 20px solid transparent;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 100%);
}
.recButtonsBtn.-active.-spring {
  background: #FFABD2;
  border-color: #FFABD2;
}
.recButtonsBtn.-active.-spring::after {
  border-top-color: #FFABD2;
}
.recButtonsBtn.-active.-summer {
  background: #ABE9FF;
  border-color: #ABE9FF;
}
.recButtonsBtn.-active.-summer::after {
  border-top-color: #ABE9FF;
}
.recButtonsBtn.-active.-fall {
  background: #FCC992;
  border-color: #FCC992;
}
.recButtonsBtn.-active.-fall::after {
  border-top-color: #FCC992;
}
.recButtonsBtn.-active.-winter {
  background: #99B2FF;
  border-color: #99B2FF;
}
.recButtonsBtn.-active.-winter::after {
  border-top-color: #99B2FF;
}

.recButtonsImg.-txt {
  width: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  height: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  object-fit: contain;
  pointer-events: none;
}

.recBodyList {
  margin-top: clamp(25.2px, 25.2px + (36 - 25.2) * (100vw - 320px) / 180, 36px);
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
  column-gap: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  display: none;
}
.recBodyList.-active {
  display: flex;
}

.recBodyItem {
  width: calc((100% - clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px) * (1)) / 2);
}

.recBodyLink {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  row-gap: clamp(12.8px, 12.8px + (16 - 12.8) * (100vw - 320px) / 180, 16px);
}
.recBodyMedia {
  position: relative;
  width: 100%;
}
.recBodyMedia::after {
  content: "";
  display: block;
  width: 101%;
  height: 102%;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}
.recBodyMedia.-frame1::after {
  background-image: url(./img/home/home39.svg);
}
.recBodyMedia.-frame2::after {
  background-image: url(./img/home/home40.svg);
}
.recBodyMedia.-frame3::after {
  background-image: url(./img/home/home41.svg);
}
.recBodyMedia.-frame4::after {
  background-image: url(./img/home/home42.svg);
}
.recBodyMedia.-frame5::after {
  background-image: url(./img/home/home43.svg);
}
.recBodyMedia.-frame6::after {
  background-image: url(./img/home/home44.svg);
}
.recBodyMedia.-frame7::after {
  background-image: url(./img/home/home45.svg);
}
.recBodyMedia.-frame8::after {
  background-image: url(./img/home/home46.svg);
}
.recBodyMedia.-frame9::after {
  background-image: url(./img/home/home47.svg);
}
.recBodyMedia.-frame10::after {
  background-image: url(./img/home/home48.svg);
}

.recBodyImg {
  width: 100%;
  aspect-ratio: 240/200;
}

.recBodyTxt.-ttl {
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
}

.single {
  width: 100%;
  padding-top: 32px;
  padding-left: 20px;
  padding-right: 20px;
}

.singleInner {
  width: 100%;
}

.singleHead {
  width: 100%;
}

.singleHeadTtl {
  width: clamp(147px, 147px + (210 - 147) * (100vw - 320px) / 180, 210px);
  object-fit: contain;
}

.singleHeadImg {
  width: 100%;
  object-fit: contain;
}

.singleBody {
  margin-top: clamp(33.5px, 33.5px + (48 - 33.5) * (100vw - 320px) / 180, 48px);
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.singleBodyTime {
  font-size: clamp(1.51rem, 15.1px + (18 - 15.1) * (100vw - 320px) / 180, 1.8rem);
  line-height: 1.2;
  width: 100%;
}

.singleBodyTtl {
  width: 100%;
}
.singleBodyTtl.-first {
  font-size: clamp(2.27rem, 22.7px + (32 - 22.7) * (100vw - 320px) / 180, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
}
.singleBodyTtl.-second {
  margin-top: clamp(28px, 28px + (40 - 28) * (100vw - 320px) / 180, 40px);
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 6px;
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
}
.singleBodyTtl.-second::before {
  margin-top: clamp(3.5px, 3.5px + (5 - 3.5) * (100vw - 320px) / 180, 5px);
  content: "";
  display: block;
  width: clamp(12.6px, 12.6px + (18 - 12.6) * (100vw - 320px) / 180, 18px);
  min-width: clamp(12.6px, 12.6px + (18 - 12.6) * (100vw - 320px) / 180, 18px);
  height: clamp(12.6px, 12.6px + (18 - 12.6) * (100vw - 320px) / 180, 18px);
  background-image: url(./img/single/single02.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.singleBodyContents {
  margin-top: clamp(19.5px, 19.5px + (28 - 19.5) * (100vw - 320px) / 180, 28px);
  border-top: 2px dashed #3A3A3A;
  width: 100%;
  padding-top: clamp(22.4px, 22.4px + (32 - 22.4) * (100vw - 320px) / 180, 32px);
}
.singleBodyContents > *:first-child {
  margin-top: 0 !important;
}

.singleBodyTxt {
  margin-top: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
}
.singleBodyTxt > *:first-child {
  margin-top: 0 !important;
}
.singleBodyTxt p,
.singleBodyTxt a {
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
}
.singleBodyTxt a {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  color: #FA7A04;
  position: relative;
  max-width: calc(100% - 26px);
}
.singleBodyTxt a span {
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 700;
  display: inline;
  padding-bottom: 0.2em;
  background: linear-gradient(transparent calc(100% - 2px), #FA7A04 calc(100% - 2px), #FA7A04 100%);
}
.singleBodyTxt a::after {
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  background-image: url(./img/home/home62.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translate(calc(100% + 10px), -50%);
}
.singleBodyTxt a[target=_blank]::after {
  background-image: url(./img/home/home63.svg);
  width: 15px;
  height: 15px;
}
.singleBodyTxt ul {
  width: 100%;
}
.singleBodyTxt ul li {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  column-gap: 7px;
}
.singleBodyTxt ul li::before {
  content: "";
  margin-top: clamp(10.5px, 10.5px + (15 - 10.5) * (100vw - 320px) / 180, 15px);
  display: block;
  width: 10px;
  min-width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #3a3a3a;
}
.singleBodyTxt ol {
  width: 100%;
  list-style-position: inside;
  padding-left: clamp(19px, 19px + (22 - 19) * (100vw - 320px) / 180, 22px);
}
.singleBodyTxt ol li {
  list-style: decimal;
}

.singleBodyList {
  margin-top: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  width: 100%;
  flex-wrap: wrap;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  row-gap: 16px;
  column-gap: 16px;
}

.singleBodyItem.-full {
  width: calc((100% - 16px * (0)) / 1);
}
.singleBodyItem.-half {
  width: calc((100% - 16px * (1)) / 2);
}

.singleBodyImg {
  width: 100%;
}
.singleBodyImg.-fixed {
  aspect-ratio: 3/2;
}
.singleBodyImg.-free {
  object-fit: contain;
}

.singleBodyLink {
  margin-top: clamp(50.4px, 50.4px + (72 - 50.4) * (100vw - 320px) / 180, 72px);
  color: #FFF;
  border-radius: 36px;
  background: #1094D0;
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
  padding-left: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  padding-right: clamp(14px, 14px + (20 - 14) * (100vw - 320px) / 180, 20px);
  padding-top: clamp(7px, 7px + (10 - 7) * (100vw - 320px) / 180, 10px);
  padding-bottom: clamp(8.3px, 8.3px + (12 - 8.3) * (100vw - 320px) / 180, 12px);
  text-align: center;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  column-gap: 16px;
}
.singleBodyLink::after {
  content: "";
  display: block;
  width: 10px;
  height: 15px;
  background-image: url(./img/common/common09.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.types {
  width: 100%;
  margin-top: -1px;
  overflow: hidden;
}

.typesInner {
  width: 100%;
}

.typesHead {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.typesHeadBg {
  width: 105%;
  max-width: 105%;
  position: relative;
  z-index: 2;
}
.typesHeadBg.-bottom {
  margin-top: clamp(-112px, -112px + (-66 - -112) * (100vw - 320px) / 180, -66px);
}

.typesHeadList {
  margin-top: calc(-100% + 100% - clamp(24px, 24px + (42 - 24) * (100vw - 320px) / 180, 42px));
  transform: rotate(5.11deg);
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  height: 186px;
  width: 110%;
}

.typesHeadItem {
  width: 33.3333333333%;
  height: 100%;
}

.typesBody {
  position: relative;
  z-index: 2;
  margin-top: clamp(-12px, -12px + (-40 - -12) * (100vw - 320px) / 180, -40px);
  width: 100%;
  background: #FFEF16;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: clamp(42px, 42px + (60 - 42) * (100vw - 320px) / 180, 60px);
}

.typesBodyTtl {
  width: 100%;
}
.typesBodyTtl.-second {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.typesBodyTtl.-second svg {
  width: 110%;
}

.typesBodyImg.-ttl {
  width: 100%;
  object-fit: contain;
  scale: 0;
  transition: scale 1s linear(0, 0.487 5%, 0.838 10.4%, 1.07 16.4%, 1.145 19.7%, 1.195 23.3%, 1.224 28.3%, 1.216 34.2%, 1.188 39.6%, 1.071 57.1%, 1.021 69.6%, 1.003 81.2%, 1);
}
.typesBodyImg.-ttl.-active {
  scale: 1;
}

.typesAnchors {
  margin-top: clamp(29.4px, 29.4px + (42 - 29.4) * (100vw - 320px) / 180, 42px);
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-direction: row;
}

.typesAnchorLink {
  width: calc((100% - clamp(16px, 16px + (20 - 16) * (100vw - 320px) / 180, 20px)) / 2);
  background: white;
  padding-left: clamp(9.6px, 9.6px + (12 - 9.6) * (100vw - 320px) / 180, 12px);
  padding-right: clamp(9.6px, 9.6px + (12 - 9.6) * (100vw - 320px) / 180, 12px);
  padding-top: clamp(12px, 12px + (15 - 12) * (100vw - 320px) / 180, 15px);
  padding-bottom: clamp(11.2px, 11.2px + (14 - 11.2) * (100vw - 320px) / 180, 14px);
  border-radius: clamp(26.6px, 26.6px + (38 - 26.6) * (100vw - 320px) / 180, 38px);
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  row-gap: clamp(6.4px, 6.4px + (8 - 6.4) * (100vw - 320px) / 180, 8px);
}

.typesAnchorsContainer {
  display: inline-flex;
  justify-content: center;
  align-items: flex-end;
  flex-direction: row;
}

.typesAnchorsTxt.-green {
  font-size: clamp(1.82rem, 18.2px + (32 - 18.2) * (100vw - 320px) / 180, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
  color: #14B324;
}
.typesAnchorsTxt.-orange {
  font-size: clamp(1.82rem, 18.2px + (32 - 18.2) * (100vw - 320px) / 180, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
  color: #FA7A04;
}
.typesAnchorsTxt.-normal {
  font-size: clamp(1.49rem, 14.9px + (24 - 14.9) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
}

.typesAnchorArrow {
  width: clamp(9.1px, 9.1px + (13 - 9.1) * (100vw - 320px) / 180, 13px);
  object-fit: contain;
}

.typesPrefectures {
  margin-top: clamp(44.8px, 44.8px + (64 - 44.8) * (100vw - 320px) / 180, 64px);
  width: 100%;
}

.typesPrefecturesContainer {
  background-color: white;
  border-radius: clamp(42px, 42px + (84 - 42) * (100vw - 320px) / 180, 84px);
  width: 100%;
  padding-left: clamp(19.2px, 19.2px + (24 - 19.2) * (100vw - 320px) / 180, 24px);
  padding-right: clamp(19.2px, 19.2px + (24 - 19.2) * (100vw - 320px) / 180, 24px);
  padding-top: clamp(51.2px, 51.2px + (64 - 51.2) * (100vw - 320px) / 180, 64px);
  padding-bottom: clamp(32px, 32px + (40 - 32) * (100vw - 320px) / 180, 40px);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  position: relative;
}
.typesPrefecturesContainer:not(:first-of-type) {
  margin-top: clamp(16.7px, 16.7px + (24 - 16.7) * (100vw - 320px) / 180, 24px);
}
.typesPrefecturesContainer.-nagano::before {
  content: "";
  display: block;
  width: 62px;
  height: 88px;
  background-image: url(./img/home/home22.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
}

.typesPrefecturesTxt.-green {
  color: #14B324;
  font-size: clamp(2.27rem, 22.7px + (32 - 22.7) * (100vw - 320px) / 180, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
}
.typesPrefecturesTxt.-orange {
  color: #FA7A04;
  font-size: clamp(2.27rem, 22.7px + (32 - 22.7) * (100vw - 320px) / 180, 3.2rem);
  line-height: 1.2;
  font-weight: 700;
}
.typesPrefecturesTxt.-normal {
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
}

.typesPrefecturesLine {
  margin-top: clamp(11.2px, 11.2px + (16 - 11.2) * (100vw - 320px) / 180, 16px);
  width: clamp(38.4px, 38.4px + (48 - 38.4) * (100vw - 320px) / 180, 48px);
  object-fit: contain;
}

.typesPrefecturesList {
  width: 100%;
}
.typesPrefecturesList.-first {
  margin-top: clamp(22.4px, 22.4px + (28 - 22.4) * (100vw - 320px) / 180, 28px);
}
.typesPrefecturesList.-second {
  margin-top: clamp(9.6px, 9.6px + (12 - 9.6) * (100vw - 320px) / 180, 12px);
}
.typesPrefecturesList.-third {
  margin-top: clamp(35.2px, 35.2px + (44 - 35.2) * (100vw - 320px) / 180, 44px);
}

.typesPrefecturesTerm {
  text-align: center;
  width: 100%;
}
.typesPrefecturesTerm.-first {
  font-size: clamp(1.86rem, 18.6px + (24 - 18.6) * (100vw - 320px) / 180, 2.4rem);
  line-height: 1.2;
  font-weight: 700;
}
.typesPrefecturesTerm.-second {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.typesPrefecturesDesc {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: 100%;
}
.typesPrefecturesDesc.-second {
  margin-top: clamp(25.6px, 25.6px + (32 - 25.6) * (100vw - 320px) / 180, 32px);
}

.typesPrefecturesImg.-discount {
  margin-top: clamp(12.8px, 12.8px + (16 - 12.8) * (100vw - 320px) / 180, 16px);
  width: clamp(199.5px, 199.5px + (285 - 199.5) * (100vw - 320px) / 180, 285px);
  max-width: 100%;
  object-fit: contain;
  scale: 0;
  transition: scale 1s linear(0, 0.487 5%, 0.838 10.4%, 1.07 16.4%, 1.145 19.7%, 1.195 23.3%, 1.224 28.3%, 1.216 34.2%, 1.188 39.6%, 1.071 57.1%, 1.021 69.6%, 1.003 81.2%, 1);
}
.typesPrefecturesImg.-discount.-active {
  scale: 1;
}
.typesPrefecturesImg.-example {
  opacity: 0;
  width: 100%;
  transform: translateY(50px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.typesPrefecturesImg.-example.-active {
  opacity: 1;
  transform: translateY(0);
}
.typesPrefecturesImg.-detail {
  width: 100%;
  opacity: 0;
  transform: translateY(50px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}
.typesPrefecturesImg.-detail.-active {
  opacity: 1;
  transform: translateY(0);
}

.typesPrefecturesLimit {
  width: 100%;
  text-align: right;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 320px) / 180, 1.4rem);
  line-height: 1.7;
  font-weight: 400;
}

.typesNote {
  margin-top: 32px;
  width: 100%;
  position: relative;
}

.typesNoteTtl {
  color: #1A1A1A;
  font-size: clamp(1.63rem, 16.3px + (20 - 16.3) * (100vw - 320px) / 180, 2rem);
  line-height: 2;
  font-weight: 400;
}

.typesNoteTxt {
  margin-top: clamp(6.4px, 6.4px + (8 - 6.4) * (100vw - 320px) / 180, 8px);
  color: #1A1A1A;
  font-size: clamp(1.26rem, 12.6px + (14 - 12.6) * (100vw - 320px) / 180, 1.4rem);
  line-height: 1.7;
  font-weight: 400;
}