/* -999px
------------------------------ */
@media screen and (max-width:999px) {
    .fv .container.left {
      padding: 26px 0 41px 0;
      min-width: auto;
    }
    .fv .container.left .inner.top p:nth-child(2) {
      margin-top: 34px;
    }
            
    .third .flower01,
    .third .flower02,
    .third .flower03 {
      display: none;
    }
    .third .flower07,
    .third .flower08,
    .third .flower09,
    .third .flower10 {
      display: block;
    }
  }
  
  /* -768px
  ------------------------------ */
  @media screen and (max-width:768px) {
    html {
      scroll-padding-top: 60px;
    }
    .sp-only {
      display: block;
    }
    .sp-none {
      display: none;
    }
    /*-- header --*/
    .header {
      height: 70px;
      align-items: center;
      padding: 0 10px;
    }
    .header-left {
      margin-top: 0;
      padding: 0;
    }
    .header h1 {
      display: none;
    }
    .header-logo {
      margin-top: 0;
    }
    .header-campaign {
      width: 100%;
      position: fixed;
      z-index: 99;
      bottom: 90px;
      left: 0;
    }
    .header-campaign img {
      vertical-align: bottom;
    }
    .header-right {
      width: 100%;
      min-width: auto;
      height: 90px;
      background-color: #ffffff;
      position: fixed;
      z-index: 99;
      bottom: 0;
      left: 0;
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .header-contact {
      min-width: auto;
      padding: 0 10px 0 13px;
      margin-right: 0;
    }
    .header-contact-message {
      font-size: clamp(10px, 2.4vw, 12px);
    }
    .header-contact-bottom {
      font-size: clamp(10px, 2.4vw, 12px);
      flex-wrap: wrap;
    }
    .header-inquiry {
      width: 110px;
      min-width: 110px;
      height: 90px;
      position: static;
    }
    .header-inquiry div p {
      font-size: 10px;
      margin-top: 14px;
    }
  
    main {
      padding-top: 70px;
    }

    .campaign {
      padding: 80px 20px 20px;
    }
    .campaign .wrapper {
      padding: 0 0 40px;
    }
    .campaign .title-box {
      padding: 24px 10px;
    }
    .campaign .container {
      padding: 30px 10px 20px;
    }
    .campaign .inner {
      flex-direction: column;
    }
    .campaign .message {
      width: 100%;
      max-width: 100%;
      margin-left: 0;
    }    
    .campaign .image-box {
      width: 100%;
      max-width: 400px;
      margin: 20px auto 0;
    }
    .campaign .content {
      line-height: 1.4;
      margin: 10px auto 0;
    }
  
    .first {
      padding: 90px 20px 120px;
    }
    .first .band {
      min-width: 240px;
    }
    .first .container {
      padding: 80px clamp(7px, 2vw, 12px);
    }
    .first .title {
      font-size: clamp(26px, 3.7vw, 37px);
    }
    .first .title span {
      font-size: clamp(32px, 4.6vw, 46px);
      display: inline-block;
      margin-top: 11px;
    }
    .first .inner {
      margin: 26px auto 0;
      column-gap: 32px;
      row-gap: 20px;
      flex-direction: column;
      align-items: center;
    }
    .first .image-box {
      width: 100%;
      max-width: 400px;
      margin-left: clamp(20px, 5vw, 34px);
    }
    .first .message {
      width: 100%;
      max-width: none;
      margin-left: 0;
      font-size: clamp(20px, 2.8vw, 28px);
      text-align: center;
    }
    .first .message span.green {
      font-size: clamp(22px, 3.1vw, 31px);
    }
    .first .message span.green.large {
      font-size: clamp(39px, 5.5vw, 55px);
    }
    .first .message span.red {
      font-size: clamp(28px, 4vw, 40px);
      margin-top: 8px;
    }
    .first .message span.small {
      font-size: clamp(23px, 3.3vw, 33px);
    }
    .first .message span.s-large {
      font-size: clamp(94px, 14vw, 140px);
    }
    .first .message span.red.big {
      font-size: clamp(30px, 4.8vw, 48px);
    }
    .first .content {
      font-size: clamp(14px, 1.8vw, 18px);
      margin: 38px auto 0;
    }
    .first .annotation {
      line-height: 1.3;
      text-align: start;
    }
    .first .list {
      display: flex;
      flex-direction: column;
      align-items: center;
      row-gap: 20px;
      column-gap: 0;
    }
    .first .link {
      width: 260px;
      padding: clamp(10px, 3vw, 20px);
    }
    .first .link::after {
      right: clamp(12px, 3vw, 20px);
    }
  
  .second {
    background-image: url(../images/bg_second_sp01.jpg);
    padding: 20px 0 80px;
  }
  .second .wrapper {
    padding: 40px 12px 80px 12px;
  }
  .second .title {
    font-size: clamp(19px, 2.8vw, 28px);
  }
  .second .content {
    font-size: clamp(14px, 1.8vw, 18px);
    margin-top: 30px;
  }
  .second .content span {
    display: inline-block;
  }

  .third {
    padding: 0 15px 0;
  }
  .third .wrapper {
    padding: 160px 0 46px;
    position: sticky;
  }
  .third .title-box {
    padding: 24px 10px 17px;
  }
  .third .title-box.top {
    background-image: url(../images/bg_third_sp02.jpg);
  }
  .third .title-box.middle {
    background-image: url(../images/bg_third_sp03.jpg);
    margin-top: 30px;
    padding: 50px 10px;
  }
  .third .description {
    font-size: clamp(16px, 2.2vw, 22px);
    line-height: 1.3;
  }
  .third .description span {
    display: inline-block;
  }
  .third .title {
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.4;
    margin-top: 16px;
    display: block;
  }
  .third .title span.big {
    font-size: clamp(34px, 4.8vw, 48px);
    line-height: 1;
    margin-left: 0;
  }
  .third .title span.small {
    font-size: clamp(14px, 1.8vw, 18px);
    margin-top: 9px;
  }
  .third .box.middle + .image-box {
    width: 60%;
    max-width: 360px;
    margin: 30px auto 0;
    padding-left: 0;
  }
  .third .image-box.fill {
    max-width: 360px;
    margin: 20px auto 0;
  }
  .third .inner {
    width: calc(100% - 20px);
    margin: 18px auto 0;
    flex-direction: column;
  }
  .third .box {
    max-width: none;
    width: fit-content;
    margin: auto;
  }
  .third .label {
    font-size: clamp(14px, 1.8vw, 18px);
  }
  .third .price {
    grid-template-areas: 
    "total big small cost";
  }
  .third .price .total {
    font-size: clamp(30px, 4.4vw, 44px);
  }
  .third .price .big {
    font-size: clamp(64px, 9.4vw, 94px);
    margin-left: 9px;
  }
  .third .price .small {
    font-size: clamp(40px, 6.1vw, 61px);
  }
  .third .price .cost {
    font-size: clamp(15px, 2.4vw, 24px);
    margin-top: 38px;
    margin-left: 6px;
  }
  .third .content {
    font-size: clamp(14px, 1.8vw, 18px);
    margin: 30px auto 0;
    padding: 0 10px;
  }
  .third .outer {
    margin: 40px auto 0;
    width: clamp(58px, 8.2vw, 82px);
    height: clamp(58px, 8.2vw, 82px);  
  }
  .third .number {
    width: clamp(54x, 7.6vw, 76px);
    height: clamp(54x, 7.6vw, 76px);  
  }
  .third .number span {
    font-size: clamp(20px, 2.9vw, 29px);
  }
  .third .type-detail {
    font-size: clamp(16px, 2.2vw, 22px);
    margin-top: 20px;
    padding: 0 10px;
    line-height: 1.3;
  }
  .third .box.middle {
    width: 100%;
    max-width: 420px;
    padding: 0 10px;
  }
  .third .plan {
    font-size: clamp(14px, 2vw, 20px);
  }
  .third .size {
    font-size: clamp(17px, 2.4vw, 24px);
  }
  .third .plan-detail ul li {
    font-size: clamp(14px, 1.8vw, 18px);
  }

  .fourth {
    padding: 160px 15px 80px;
  }
  .fourth .wrapper {
    padding: 160px 10px 60px;
  }
  .fourth .description {
    font-size: clamp(16px, 4.6vw, 22px);
    line-height: calc(24/18);
  }
  .fourth .title {
    font-size: clamp(20px, 5.1vw, 30px);
  }
  .fourth .image-box {
    margin: 20px auto 0;
  }
  .fourth .content {
    font-size: clamp(14px, 1.8vw, 18px);
    margin: 38px auto 0;
  }

 
  .fifth {
    padding: 60px 10px 80px;
  }
  .fifth .top-content {
    font-size: clamp(20px, 2.8vw, 28px);
  }
  .fifth .wrapper {
    margin: 40px auto 0;
    padding: 10px 10px 60px;
  }
  .fifth .image-container {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .fifth .title-container {
    margin: 20px auto 0;
    padding-top: clamp(30px, 8vw, 40px)
  }
  .fifth .title {
    font-size: clamp(20px, 2.8vw, 28px);
    line-height: 1.4;
  }
  .fifth .badge {
    top: -70px;
    right: 0;
  }
  .fifth .main-content {
    font-size: clamp(14px, 1.8vw, 18px);
    margin: 20px auto 0;
  }
  .fifth .style-title {
    width: calc(100% - 20px);
    max-width: 350px;
    font-size: clamp(14px, 2vw, 20px);
  }
  .fifth .style-subtitle {
    font-size: clamp(14px, 2vw, 20px);
    margin-top: 40px;
  }
  .fifth .style-description {
    font-size: clamp(13px, 1.6vw, 16px);
  }
  .fifth .style-inner {
    display: flex;
    flex-direction: column;
    row-gap: 20px;
  }
  .fifth .style-label {
    font-size: clamp(14px, 2vw, 20px);
  }
  .fifth .box-inner {
    display: grid;
    grid-template-columns: 170px 1fr;
    justify-content: center;
    max-width: 300px;
  }
  .fifth .price .total {
    font-size: clamp(21px, 3vw, 30px);
  }
  .fifth .price .label {
    font-size: clamp(14px, 1.8vw, 18px);
  }
  .fifth .price-bottom {
    grid-template-areas: 
    "big small cost";
  }
  .fifth .price .big {
    font-size: clamp(68px, 9.8vw, 98px);
  }
  .fifth .price .small {
    font-size: clamp(48px, 6.9vw, 69px);
  }
  .fifth .price .cost {
    font-size: clamp(17px, 2.4vw, 24px);
    margin-top: 2em;
  }
  .fifth .annotation {
    line-height: 1.3;
    text-align: start;
  }

  
  .sixth {
    padding: 40px 0 140px;
    margin-top: 40px;
    background-image: url(../images/bg_sixth_sp01.jpg);
  }
  .sixth .award {
    width: clamp(110px, 16.3vw, 163px);
  }
  .sixth .title {
    font-size: clamp(32px, 4.5vw, 45px);
    margin-top: 10px;
  }
  .sixth .title span.flower {
    font-size: clamp(41px, 5.9vw, 59px);
  }
  .sixth .title span.green {
    font-size: clamp(41px, 5.9vw, 59px);
  }
  .sixth .title span.big {
    font-size: clamp(41px, 5.9vw, 59px);
  }

  .other {
    width: 100%;
    position: relative;
  }
  .other .title-box {
    background-image: url(../images/bg_other_sp01.jpg);
    background-position: center;
    position: static;
    transform: none;
  }
  .other .description {
    font-size: clamp(16px, 2.2vw, 22px);
    line-height: 1.3;
  }
  .other .title {
    font-size: clamp(28px, 4vw, 40px);
  }


  .seventh {
    width: 100%;
    background-image:  url(../images/bg_seventh_01.jpg);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-size: cover;
    padding-bottom: 100px;
    position: relative;
    overflow: hidden;
  }
  .seventh .flower01 {
    top: clamp(220px, 32.6vw, 326px);
    left: -192px;
    width: clamp(220px, 27.6vw, 360px);
  }
  .seventh .flower02 {
    top: clamp(550px, 88.7vw, 887px);
    right: -128px;
  }
  .seventh .flower03 {
    bottom: 60px;
    right: -144px;
  }
  .seventh .wrapper {
    padding: 60px 0 90px;
  }
  .seventh .container {
    padding: 0 10px;
  }
  .seventh .type-name {
    font-size: clamp(20px, 3.2vw, 32px);
    padding: 0 10px;
    margin-top: 0;
  }
  .seventh .type-name span.big {
    font-size: clamp(32px, 5.2vw, 52px);
    margin-left: 20px;
  }
  .seventh .type-name span.small {
    font-size: clamp(13px, 2.2vw, 22px);
    margin-left: 20px;
  }
  .seventh .type-name span.small::after,
  .seventh .type-name span.small::before {
    width: 0.8em;
  }
  .seventh .box {
    width: 100%;
    margin: 30px auto 0;
  }
  .seventh .point {
    font-size: clamp(13px, 1.6vw, 16px);
  }
  .seventh .plans {
    width: 100%;
    font-size: clamp(18px, 2.6vw, 26px);
    margin: 20px auto 0;
    line-height: 1.3;
  }
  .seventh .plan-box {
    width: 100%;
    margin: 20px auto 0;
  }
  .seventh .plan {
    width: 100%;
    font-size: clamp(14px, 1.8vw, 18px);
    line-height: 1.4;
  }
  .seventh .inner {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
  }
  .seventh .circle {
    width: clamp(60px, 9.8vw, 98px);
    height: clamp(60px, 9.8vw, 98px);
    font-size: clamp(14px, 2vw, 20px);
  }
  .seventh .total {
    font-size: clamp(14px, 2.2vw, 22px);
    margin-left: 10px;
  }
  .seventh .total span {
    font-size: clamp(44px, 6.9vw, 69px);
  }
  .seventh .cost {
    font-size: clamp(72px, 12vw, 120px);
    margin-left: 8px;
  }
  .seventh .cost span {
    font-size: clamp(24px, 4vw, 40px);
    margin-left: 6px;
  }
  .seventh .annotation {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 1.6vw, 16px);
    text-align: start;
    width: 100%;
    margin: 20px auto 0;
    line-height: 1.3;
  }


  /* eighthに変更する */
.eighth {
  padding: 60px 10px 180px;
}
.eighth .top-content {
  font-size: clamp(28px, 4vw, 40px);
}
.eighth .wrapper {
  margin: 60px auto 0;
  padding: 0 0 160px;
}
.eighth .title-box {
  background-image: url(../images/bg_eighth_sp02.png);
  padding: 30px 10px 24px;
}
.eighth .title {
  font-size: clamp(21px, 3vw, 30px);
}
.eighth .description {
  font-size: clamp(15px, 2.2vw, 22px);
  margin-top: 34px;
}
.eighth .container {
  margin: 40px auto 0;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.eighth .box {
  padding: 20px 10px 20px 18px;
}
.eighth .point {
  font-size: clamp(13px, 1.6vw, 16px);
  margin-top: 23px;
}
.eighth .box + .image-box {
  padding-left: 0;
  width: 85%;
  max-width: 320px;
  margin: auto;
}
.eighth .plans {
  width: 100%;
  padding: 12px 10px;
  margin: 30px auto 0;
  line-height: 1.3;
}
.eighth .plan-container {
  grid-template-columns: 1fr;
  column-gap: 20px;
  row-gap: 24px;
  width: 87.5%;
  max-width: 700px;
  margin: 38px auto 0;
}
.eighth .plan-box {
  width: 100%;
}
.eighth .plan {
  padding: 8px 6px;
  font-size: clamp(13px, 1.6vw, 16px);
}
.eighth .inner {
  margin-top: 18px;
}
.eighth .circle {
  width: clamp(49px, 7vw, 70px);
  height: clamp(49px, 7vw, 70px);
  font-size: clamp(14px, 1.8vw, 18px);
}
.eighth .total {
  font-size: clamp(13px, 1.6vw, 16px);
  margin-left: 8px;
}
.eighth .total span {
  font-size: clamp(34px, 4.8vw, 48px);
  margin-top: 3px;
}
.eighth .cost {
  font-size: clamp(58px, 8.2vw, 82px);
  margin-left: 6px;
}
.eighth .cost span {
  font-size: clamp(21px, 3vw, 30px);
}
.eighth .annotation {
  font-size: clamp(13px, 1.6vw, 16px);
  text-align: start;
  width: 100%;
  margin: 24px auto 0;
  line-height: 1.3;
  padding: 0 10px;
}
.eighth .title-box.bottom {
  padding: 24px 10px 27px;
}
.eighth .description.bottom {
  font-size: clamp(16px, 2.6vw, 26px);
  padding: 0 20px;
}


  .ninth {
    padding: 0 10px 100px;
  }
  .ninth .title-box {
    padding: 80px clamp(2px, 0.5vw, 20px) 0;
  }
  .ninth .description {
    font-size: clamp(15px, 2.4vw, 24px);
  }
  .ninth .title {
    font-size: clamp(34px, 5.6vw, 56px);
    margin-top: 13px;
    display: flex;
    align-items: baseline;
  }
  .ninth .title span.big {
    font-size: clamp(48px, 8vw, 80px);
  }
  .ninth .title span.small {
    font-size: clamp(28px, 4.8vw, 48px);
  }
  .ninth .wrapper {
    padding: 30px 10px 60px;
    margin: 30px auto 0;
  }
  .ninth .content {
    font-size: clamp(13px, 1.8vw, 18px);
  }
  .ninth .cards {
    margin: 40px auto 0;
    justify-content: center;
  }
  .ninth .card {
    margin-bottom: 40px;
  }
  .ninth .card-inner {
    min-height: 360px;
    padding: 16px 17px 20px;
  }
  .ninth .card-title {
    font-size: clamp(19px, 2.6vw, 26px);
    margin-top: 12px;
  }
  .ninth .card-image {
    margin-top: 12px;
  }
  .ninth .card-content {
    margin-top: 14px;
  }
  
  
  .tenth {
    padding: 0 0 80px;
  }
  .tenth .image-box {
    height: 40vw;
  }
  .tenth .wrapper {
    padding: 40px 10px 40px;
    margin: -40px auto 0;
    width: calc(100% - 20px);
  }
  .tenth .content {
    font-size: clamp(13px, 1.8vw, 18px);
  }
  .tenth .cards {
    margin: 40px auto 0;
    justify-content: center;
  }
  .tenth .card {
    margin-bottom: 20px;
  }
  .tenth .card-inner {
    min-height: 260px;
    padding: 24px 18px 25px;
  }
  .tenth .card-title {
    font-size: clamp(21px, 2.6vw, 26px);
  }
  .tenth .card-description {
    font-size: clamp(13px, 1.6vw, 16px);
  }
  .tenth .card-content {
    font-size: clamp(15px, 1.8vw, 18px);
    margin-top: 19px;
    padding-top: 19px;
  }
  
  .access {
    padding: 0 0 20px;
  }
  .access .image-box {
    height: 40vw;
  }
  .access .wrapper {
    padding: 40px 10px 80px;
    margin: -40px auto 0;
    width: calc(100% - 20px);
  }
  .access .subtitle {
    font-size: clamp(16px, 2.2vw, 22px);
    padding: 8px 6px;
  }
  .access .content {
    font-size: clamp(16px, 2.2vw, 22px);
    line-height: 1.3;
  }
  .access .container {
    margin: 30px auto 0;
    flex-direction: column;
  }
  .access .inner.left {
    width: 66.6%;
    width: 100%;
  }
  .access .inner.right {
    row-gap: 20px;
    width: 95%;
    max-width: 95%;
    margin: 20px auto 0;
  }
  .access figure .circle {
    width: clamp(63px, 9vw, 90px);
    height: clamp(63px, 9vw, 90px);
    font-size: clamp(14px, 1.9vw, 19px);
  }  
  .access figcaption {
    text-align: center;
  }
  .access .alert {
    padding: 16px 18px 18px;
  }
  .access .annotation {
    text-align: start;
    margin: 16px auto 0;
    line-height: 1.3;
  }
  
  /*-- entryform --*/
  .entryform .title {
    font-size: clamp(24px, 3.5vw, 35px);
    padding: 60px 0 40px;
    background-image: url(../images/bg_inquiry_sp01.jpg);
    }  
  .entryform {
    padding: 60px 10px;
  }
  .entryform .title {
    font-size: clamp(22px, 7.2vw, 36px);
  }
  .main-entryform-001 p.text-001 {
    font-size: clamp(13px, 4.1vw, 18px);
    text-align: start;
    line-height: calc(22 / 16);
    padding: 0 10px;
    margin: 30px auto 23px;
  }
  .entryform table {
    width: 100%;
    }
  .entryform span {
    color: #fff;
    font-size: 15px;
    font-weight: normal;
    padding: 3px 5px;
    line-height: 1.5;
    }  
    .entryform label {
    display: block;
    }
    .entryform td.bold label:last-of-type input {
      max-width: 152px;
    }
    .entryform table td:nth-of-type(odd) {
      display: block;
      width: 100%;
      text-indent: 8px;
      font-size: 16px;
      font-weight: bold;
      border-radius: 6px 6px 0px 0px;
    }
    .entryform table td:nth-of-type(even) {
      display: block;
      max-width: 100%;
      padding: 20px 8px;
      font-size: 16px;
      text-align: center;
      border-radius: 0px 0px 6px 6px;
      line-height: 1.8;
    }
    .entryform table td.sp-start {
      text-align: start;
    }
    .entryform input {
      max-width: 80%;
      font-size: 16px;
    }
    .entryform .submit {
      padding: 8px 0px 20px;
      text-align: center;
    }
    .entryform .submit input {
      margin: 0px auto;
      border: none;
      padding: 20px 20px;
      color: #ffffff;
      font-size: 16px;
      text-decoration: none;
      display: block;
      cursor: pointer;
      background-color: #B20000;
      font-weight: 600;
    }
    .entryform dl {
      display: block;
    }
    .entryform dl:after {
      content: "";
      display: block;
      clear: both;
    }
    .entryform dl dt {
      padding: 0 0 0 8px;
      margin: 0px 0px 0px 20px;
      float: left;
    }
    .entryform dl dt:nth-of-type(2) {
      margin: 10px 0px 0px 20px;
      padding: 0 0 0 8px;
      float: left;
      clear: both;
    }
    .entryform dl dd:nth-of-type(2) {
      margin: 10px 0px 0px;
    }
    .entryform dl dd {
      float: left;
      margin: 0px;
      padding: 0px;
    }
    .entryform.mail input {
      width: 300px;
      font-size: 1.6em;
    }
    .entryform.mail .submit input {
      width: auto;
    }
    .entryform.mail td {
    display: block;
    text-align: center;
    }
    .entryform.mail td.submit {
    padding: 10px 0px 20px;
    }
    .entryform label.error {
    color: #aa0000;
    }
    .entryform p {
    margin: 20px auto;
    font-size: 15px;
    letter-spacing: 0;
    line-height: 1.3;
    }
  
     .present {
      padding: 0 15px 50px;
    }
    .present .wrapper {
      padding: 0 0 35px;
      box-shadow: 0 0px 5px 0 rgba(0, 0, 0, .3);
    }
    .present h2 {
      font-size: clamp(16px, 5.1vw, 24px);
      font-weight: 600;
      line-height: calc(30/20);
      text-align: start;
      padding: 19px 10px 19px 27px;
    }
    .present h3 {
      margin: 20px auto 0;
      padding: 0 10px;
      font-size: clamp(16px, 5.1vw, 22px);
      line-height: calc(32/20);
    }
    .present h3 span {
      display: inline;
    }
    .present .container {
      width: 100%;
      max-width: 500px;
      margin: 40px auto 0;
      padding: 0 10px;
      display: block;
    }
    .present .logo {
      width: 100%;
    }
    .present .contact {
      width: 100%;
      margin-top: 40px;
    }
    .present .time-box {
      width: 100%;
    }
    .present .time {
      margin-top: 2px;
    }
    .present .overview {
      font-size: clamp(15px, 4.6vw, 18px);
      margin: 30px auto 0;
      padding: 29px 23px 18px;
    }
  
    /* footer */
  #footer {
    margin-bottom: 160px;
  }
  #footer .top {
    padding: 32px 31px 80px 27px;
  }
  #footer .wrapper {
    display: block;
  }
  #footer .container.left {
    padding-top: 0;
  }
  #footer p {
    font-size: clamp(13px, 4.1vw, 16px);
    letter-spacing: 0;
  }
  #footer .name {
    font-size: clamp(22px, 6.9vw, 28px);
    letter-spacing: -0.05em;
    margin-top: 16px;
  }
  #footer .address,
  #footer .phone {
    font-size: clamp(12px, 3.8vw, 15px);
  }
  #footer .phone {
    text-decoration: underline;
  }
  #footer .container.right {
    display: block;
  }
  #footer .container.right ul {
    row-gap: 30px;
    margin-top: 30px;
  }
  #footer .container.right ul li {
    font-size: 14px;
    letter-spacing: 0;
  }
  #footer .container.right ul li a {
    font-size: 14px;
    letter-spacing: 0;
  }
  #footer .bottom {
    padding: 14px 18px;
  }
  #footer .copyright {
    font-size: clamp(12px, 3.6vw, 12px);
    line-height: calc(24/14);
  }
  
    }
  
    /* -599px
  ------------------------------ */
  @media screen and (max-width:599px) {
    .fv .wrapper {
      display: block;
    }
    .fv .container.left {
      width: 100%;
      padding: 26px 0 0 0;
    }    
    .fv .container.left .inner.top::before {
      width: calc(100% + 7.9vw);
      height: 50%;
    }
    
    .fv .container.left .inner.top p:nth-child(1) {
      font-size: clamp(16px, 4.6vw, 28px);
    }
    .fv .container.left .inner.top p:nth-child(2) {
      font-size: clamp(20px, 5.4vw, 32px);
      margin-top: 34px;
    }
    .fv .container.left .inner.top p:nth-child(3) {
      font-size: clamp(144px, 39.7vw, 238px);
      margin-top: 33px;
    }
    .fv .container.left .inner.middle {
      font-size: clamp(21px, 5.9vw, 35px);
      padding: 0 6.7vw;
    }
    .fv .container.left .inner.middle p {
      padding: 3.01vw 2.5vw;
    }    
    .fv .container.left .inner.bottom {
      display: flex;
      align-items: center;
      width: fit-content;
      margin-left: auto;
      padding: 0.9vw 4vw;
      background-color: #C70E2E;
      color: #ffffff;
      opacity: 0;
    }
    .fv .container.left .inner.bottom p:nth-child(1) {
      font-size: clamp(16px, 5.1vw, 31px);
      margin-right: 6px;
    }
    .fv .container.left .inner.bottom p:nth-child(2) span:nth-child(1) {
      font-size: clamp(84px, 23.8vw, 143px);
      letter-spacing: 0;
    }
    .fv .container.left .inner.bottom p:nth-child(2) span:nth-child(2) {
      font-size: clamp(26px, 8.2vw, 48px);
      margin-left: 0;
    }
    .fv .container.right {
      width: 100%;
      overflow: hidden;
      opacity: 0;
      animation-delay: .6s;
      animation-duration: 4000ms;
      animation-fill-mode: forwards;
      animation-name: fade-in;
    }    
  }  
  
  @media screen and (max-width:500px) {
    #thanks .privacy {
      width: 90%;
      margin: 0px auto;
    }
    .privacy h3 {
      margin: 0px 0px 16px;
      padding: 0px;
      text-align: left;
      border-bottom: solid 1px #eeeeee;
    }
    .privacy p {
      margin: 0px 0px 16px;
      text-align: left;
    }
  }
  @media screen and (max-width: 767px) and (min-width: 420px){
 
    #thanks #header {
      height: 80vh;
    }
    .content .privacy {
      margin: 30px auto 100px;
    }
    #content {
      text-align: center;
      width: 90%;
      margin: 30px auto;
    }
  }
  @media screen and (max-width:399px) {
    .first .list li {
      width: 100%;
    }   
    .first .link {
      width: 100%;
    }

    .present .time {
      display: block;
      line-height: 1.6;
    }  
    .present .time-box {
      display: block;
    }
    .small-only {
      display: block;
    }
    }