@charset "UTF-8";
a, abbr, acronym, b, bdi, bdo, br, button, cite, code, data, del, dfn, em, i, img, input, ins, kbd, label, map, mark, meter, noscript, object, output, picture, progress, q, ruby, s, samp, script, select, slot, small, span, strong, sub, sup, svg, template, textarea, time, u, tt, var, wbr {
  color: #333333;
}

a {
  text-decoration: none;
  color: #333333;
}

body {
  font-family: Meiryo, sans-serif;
  font-weight: 300;
  font-style: normal;
}

footer{
padding-bottom: 120px;
}
html {
  scroll-behavior: smooth;
}

@media (max-width: 767px) {
  .sp-off {
    display: none !important;
  }
}
@media (min-width: 767px) {
  .pc-off {
    display: none !important;
  }
}
.num__temp {
  display: block;
  width: 60px;
  height: 60px;
  border-radius: 60px;
  background-color: #FF0000;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: -30px;
  bottom: initial;
  left: 0px;
  right: 0px;
  margin: auto;
}
.num__temp p {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  color: #fff;
  font-size: clamp(20px, 16.5714285714px + 0.0114285714 * 100vw, 28px);
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0;
}
.num__temp p span {
  display: block;
  font-size: 8px;
  color: #fff;
  line-height: 1;
  text-align: center;
  margin-bottom: 0.3em;
  font-weight: bold;
}

.point__box {
  width: min(820px, 90%);
  background-color: #4A4A4A;
  padding: 50px 50px 34px 50px;
  position: relative;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .point__box {
    padding: calc(30px + 3%) 5% 3% 5%;
  }
}
.point__box .point__txt {
  color: #fff;
  line-height: 1.75;
  text-align: center;
}

.balloon__temp {
  position: relative;
  display: block;
  width: min(700px, 90%);
  text-align: center;
  margin: 0 auto;
  margin-bottom: 21px;
  padding: 23px 2% 23px 2%;
  border-radius: 8px;
  background-color: #ff0000;
  font-size: clamp(14px, 13.1428571429px + 0.0028571429 * 100vw, 16px) !important;
  font-weight: bold;
  line-height: 1.55;
  letter-spacing: 0;
  color: #fff;
  transform: translateY(-46px);
}
@media (max-width: 767px) {
  .balloon__temp {
    padding: 5%;
  }
}
.balloon__temp::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  border-style: solid;
  border-width: 21px 12px 0 12px;
  border-color: #ff0000 transparent transparent;
  translate: -50% 100%;
}

.fade {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
  will-change: opacity , transform;
}

.fade.in-view {
  opacity: 1;
  transform: translateY(0);
  will-change: opacity , transform;
}

a {
  opacity: 1;
  transition: all 0.2s;
}
a:hover {
  opacity: 0.8;
  transition: all 0.2s;
}

#kv {
  width: auto;
  position: relative;
  padding-top: 154px;
  padding-bottom: 246px;
}
@media (max-width: 767px) {
  #kv {
    padding-top: 50px;
    padding-bottom: 186px;
  }
}
#kv .kv__bg {
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: -1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#kv .kv__inner {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin: 0 auto;
  position: relative;
}
#kv .kv__inner .kv__red {
  display: block;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 202px;
  background-color: #FF0000;
  transform: rotate(-13deg);
  position: absolute;
  left: -7%;
  top: -20%;
  z-index: -1;
  height: auto;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4%;
  box-sizing: border-box;
  aspect-ratio: 1/1;
}
@media (max-width: 767px) {
  #kv .kv__inner .kv__red {
    /*left: -1%;
    top: -30%;*/
    left: initial;
    top: initial;
    position: relative;
    margin: 0 auto;
    transform: initial;
    margin-bottom: 20px;
  }
}
#kv .kv__inner .kv__red p {
  color: #fff;
  font-weight: bold;
  font-size: clamp(24px, 13.7142857143px + 0.0342857143 * 100vw, 48px);
}
#kv .kv__inner .kv__p, #kv .kv__inner .kv__h1, #kv .kv__inner .kv__h1 span, #kv .kv__inner .kv__h2 {
  text-align: center;
  color: #fff;
}
#kv .kv__inner .kv__p {
  font-size: clamp(20px, 16.5714285714px + 0.0114285714 * 100vw, 28px);
  font-weight: bold;
  margin-bottom: 0.8em;
}
@media (min-width: 768px) {
  #kv .kv__inner .kv__p br {
    display: none;
  }
}
#kv .kv__inner .kv__h1 span {
  display: block;
  font-size: clamp(30px, 10.2857142857px + 0.0657142857 * 100vw, 76px);
  line-height: 1;
  font-weight: bold;
  width: -moz-fit-content;
  width: fit-content;
  border-bottom: solid 0.13em #fff;
  margin: 0 auto;
}
#kv .kv__inner .kv__h1 span:last-child {
  margin-top: 0.5em;
}
#kv .kv__inner .kv__h2 {
  font-size: clamp(16px, 12.5714285714px + 0.0114285714 * 100vw, 24px);
  margin-top: 0.8em;
  margin-bottom: 1.4em;
}
#kv .kv__inner nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 31px;
}
@media (max-width: 767px) {
  #kv .kv__inner nav {
    display: block;
  }
}
#kv .kv__inner nav a {
  border: solid 1px #fff;
  border-radius: 100px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0.7em 1.2em;
  color: #fff;
  font-size: clamp(14px, 12.2857142857px + 0.0057142857 * 100vw, 18px);
  font-weight: bolder;
  text-align: center;
  gap: 14px;
}
@media (max-width: 767px) {
  #kv .kv__inner nav a {
    width: 70%;
    margin: 0 auto;
    margin-bottom: 14px;
  }
}
#kv .kv__inner nav a img {
  display: block;
  height: 1.8em;
  margin-left: 10px;
}
@media (max-width: 767px) {
  #kv .kv__inner nav a img {
    margin-left: initial;
    position: absolute;
    top: 0px;
    bottom: 0px;
    left: initial;
    right: 5%;
    margin: auto;
  }
}

#s01 {
  position: relative;
  margin-bottom: -138px;
}
#s01 .s01__bg {
  display: block;
  width: 100%;
  height: 70%;
  position: absolute;
  top: 0px;
  bottom: initial;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: -1;
}
#s01 section {
  width: min(860px, 90%);
  margin: 0 auto;
  transform: translateY(-138px);
  padding: 52px 0px 64px 0px;
  box-shadow: 0px 0px 32px rgba(0, 0, 0, 0.16);
  background: rgba(255, 255, 255, 0.9);
}
@media (max-width: 767px) {
  #s01 section {
    padding: 25px 0px 25px 0px;
  }
}
#s01 section h1 {
  text-align: center;
  font-size: clamp(18px, 15.4285714286px + 0.0085714286 * 100vw, 24px);
}
#s01 section h1 span {
  color: #FF0000;
}
#s01 section hr {
  display: block;
  margin: 25px auto;
  height: 1px;
  width: 31px;
  border: none;
  background-color: #FF0000;
}
#s01 section .s01__txt1 {
  text-align: center;
  font-size: clamp(14px, 13.1428571429px + 0.0028571429 * 100vw, 16px);
  width: min(700px, 90%);
  margin: 0 auto;
}
@media (max-width: 767px) {
  #s01 section .s01__txt1 {
    text-align: left;
  }
}
#s01 section ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  width: min(760px, 90%);
  margin: 0 auto;
  margin-top: 87px;
  margin-bottom: 46px;
  row-gap: 47px;
}
@media (max-width: 767px) {
  #s01 section ul {
    display: block;
    margin-top: 45px;
    margin-bottom: 25px;
  }
}
#s01 section ul li {
  display: block;
  width: 372px;
  height: 184px;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
@media (max-width: 1200px) {
  #s01 section ul li {
    width: 48%;
  }
}
@media (max-width: 767px) {
  #s01 section ul li {
    width: 100%;
    margin-bottom: 44px;
  }
}
#s01 section ul li:last-child {
  width: 522px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  #s01 section ul li:last-child {
    width: 100%;
  }
}
#s01 section ul li .s01__img {
  display: block;
  width: 50%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 767px) {
  #s01 section ul li .s01__img {
    width: 35%;
  }
}
#s01 section ul li .s01__subtitle {
  display: block;
  width: 50%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #4A4A4A;
}
@media (max-width: 767px) {
  #s01 section ul li .s01__subtitle {
    width: 65%;
  }
}
#s01 section ul li .s01__subtitle h2 {
  color: #fff;
  font-size: clamp(14px, 12.2857142857px + 0.0057142857 * 100vw, 18px);
  text-align: center;
}
#s01 section .s01__txt2 {
  font-size: 14px;
  width: min(700px, 90%);
  margin: 0 auto;
}

#s02 {
  margin-top: 76px;
  margin-bottom: 85px;
}
@media (max-width: 767px) {
  #s02 {
    margin-top: 60px;
    margin-bottom: 70px;
  }
}
#s02 .point__box {
  margin-bottom: 72px;
}
#s02 h1 {
  text-align: center;
  font-size: clamp(18px, 15.4285714286px + 0.0085714286 * 100vw, 24px);
  margin-bottom: 21px;
}
#s02 .s02__table {
  width: min(860px, 90%);
  margin: 0 auto;
}
#s02 .s02__table .s02__date {
  text-align: right;
  font-size: 14px;
  margin-bottom: 1em;
}
#s02 .s02__table .tableimg {
  display: block;
  width: 100%;
}
#s02 .s02__table .s02__caution {
  font-size: 14px;
  margin-top: 1em;
}

#s03 {
  position: relative;
  padding-bottom: 150px;
}
@media (max-width: 767px) {
  #s03 {
    padding-bottom: 75px;
  }
}
#s03 .s03__inner {
  width: min(860px, 90%);
  margin: 0 auto;
}
#s03 .s03__bg {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: -1;
}
#s03 h2 {
  text-align: center;
  font-size: clamp(18px, 15.4285714286px + 0.0085714286 * 100vw, 24px);
  color: #fff;
  font-weight: bold;
  margin-bottom: 0.5em;
}
#s03 .s03__table {
  display: block;
  width: 100%;
  margin: 0 auto;
  margin-bottom: 38px;
}
#s03 .s03__caution p {
  font-size: 14px;
  color: #fff;
  line-height: 1.57;
  margin-left: 1em;
}
#s03 .s03__caution p::first-letter {
  margin-left: -1em;
}
#s03 .point__box {
  margin-top: 76px;
}

#s04 {
  padding-bottom: 120px;
}
@media (max-width: 767px) {
  #s04 {
    padding-bottom: 100px;
  }
}
#s04 .s04__inner {
  width: min(820px, 90%);
  margin: 0 auto;
}
#s04 .s04__inner img {
  display: block;
  margin: 0 auto;
}
#s04 .s04__inner p {
  font-size: 14px;
  line-height: 1.57;
  margin-top: 1em;
}

#s05 {
  position: relative;
  padding-bottom: 138px;
}
@media (max-width: 767px) {
  #s05 {
    padding-bottom: 100px;
  }
}
#s05 .s05__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: -1;
}
#s05 .s05__inner {
  width: min(860px, 90%);
  margin: 0 auto;
  margin-bottom: 50px;
}
#s05 .s05__inner h1 {
  font-size: clamp(18px, 15.4285714286px + 0.0085714286 * 100vw, 24px);
  text-align: center;
  margin-bottom: 1em;
}
#s05 .s05__inner .s05__date {
  text-align: right;
  font-size: 14px;
  margin-bottom: 1em;
}
#s05 .s05__inner img {
  display: block;
  width: 100%;
}
#s05 .s05__inner .s05__caution {
  margin-top: 1em;
}
#s05 .s05__inner .s05__caution p {
  font-size: 14px;
  line-height: 1.57;
  margin-left: 1em;
}
#s05 .s05__inner .s05__caution p::first-letter {
  margin-left: -1em;
}

#s06 {
  position: relative;
  padding-bottom: 112px;
}
#s06 .s06__bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0px;
  bottom: 0px;
  left: 0px;
  right: 0px;
  margin: auto;
  z-index: -1;
}
#s06 .s06__ul {
  width: min(1000px, 90%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
}
@media (max-width: 1200px) {
  #s06 .s06__ul {
    display: block;
  }
}
#s06 .s06__ul li {
  display: block;
}
@media (max-width: 1200px) {
  #s06 .s06__ul li {
    margin-bottom: 40px;
  }
}
#s06 .s06__ul li:first-child {
  width: 40%;
}
@media (max-width: 1200px) {
  #s06 .s06__ul li:first-child {
    width: 100%;
  }
}
#s06 .s06__ul li:last-child {
  width: 55%;
}
@media (max-width: 1200px) {
  #s06 .s06__ul li:last-child {
    width: 100%;
  }
}
#s06 .s06__ul li p {
  font-size: clamp(18px, 15.4285714286px + 0.0085714286 * 100vw, 24px);
  font-weight: bold;
  color: #fff;
  text-align: center;
}
#s06 .s06__ul li span {
  display: block;
  width: 100%;
  height: 2em;
  margin-top: 0.5em;
  text-align: right;
  font-size: 14px;
  color: #fff;
}
@media (max-width: 1200px) {
  #s06 .s06__ul li span {
    text-align: center;
  }
}
#s06 .s06__ul li img {
  display: block;
  height: 334px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 1200px) {
  #s06 .s06__ul li img {
    margin: 0 auto;
  }
}
@media (max-width: 800px) {
#s06 {
  position: relative;
  padding-bottom: 32px;
}
}

#s06 .s06__caution {
  width: min(1000px, 90%);
  margin: 0 auto;
  margin-top: 35px;
}
#s06 .s06__caution div {
  margin-bottom: 1em;
}
#s06 .s06__caution div p {
  font-size: 14px;
  line-height: 1.57;
  color: #fff;
  word-break: break-all;
overflow-wrap: break-word;
}
#s06 .s06__caution div p.indent {
  margin-left: 1em;
}
#s06 .s06__caution div p.indent::first-letter {
  margin-left: -1em;
}
#s06 .s06__caution div p b {
  font-weight: bold;
  color: #fff;
}
#s06 .s06__caution div p span {
  color: #FF0000;
}
#s06 .s06__caution div p a{
    color: #fff;
    display: inline;
}
#s06 .s06__caution table {
  width: 100%;
  margin: 0 auto;
  border-collapse: collapse; /* 線が重ならず自然に見える */
  background-color: transparent;
  margin-bottom: 1em;
}
#s06 .s06__caution table tr td {
  color: #fff;
  vertical-align: middle;
  padding: 0.5em 1em;
  font-size: 14px;
  background-color: rgba(0, 0, 0, 0); /* 完全に透明 */
  border: 1px solid #fff;
}
#s06 .s06__caution table tr td:nth-child(1) {
  width: 10%;
}
#s06 .s06__caution table tr td:nth-child(2) {
  width: 25%;
}
#s06 .s06__caution table tr td:nth-child(3) {
  width: 65%;
}
#s06 .s06__caution table tr td u {
  text-decoration: underline;
  color: #fff;
}
#s06 .s06__caution table tr td div {
  margin-bottom: 0px;
}
#s06 .s06__caution table tr strong {
  color: #FF0000;
}

#cv {
  background-color: rgba(0, 0, 0, 0.6);
  width: 100%;
  height: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  position: fixed;
  bottom: 0px;
}
@media (max-width: 767px) {
  #cv {
  }
}
@media (max-width: 1200px) {
  #cv {
  }
}
#cv a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 29px;
  width: min(760px, 90%);
  height: 88px;
  background-image: linear-gradient(to bottom, #FF0000, #C90505);
  margin: 0 auto;
  color: #fff;
  font-weight: bold;
  font-size: clamp(16px, 13.4285714286px + 0.0085714286 * 100vw, 22px);
  padding-top: 0.1em;
}
@media (max-width: 767px) {
  #cv a {
    text-align: center;
  }
}
@media (min-width: 768px) {
  #cv a br {
    display: none;
  }
}