/* -1599px
------------------------------ */
@media screen and (max-width:1599px) {
  h1 {
    display: none;
  }
}

/* -999px
------------------------------ */
@media screen and (max-width:999px) {
    /*-- header --*/
    #header {
      left: 0;
      width: 100%;
      height: 70px;
      align-items: center;
      padding: 0 10px;
    }
    .header-left {
      margin-top: 0;
      padding: 0;
    }
    .header-logo {
      width: 70%;
    }
    .header-campaign {
      width: 100%;
      position: fixed;
      z-index: 99;
      bottom: 70px;
      left: 0;
    }
    .header-campaign img {
      vertical-align: bottom;
    }
    .header-right {
      width: 100%;
      height: 90px;
      background-color: #ffffff;
      position: fixed;
      z-index: 99;
      bottom: 0;
      left: 0;
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .header-contact {
      width: 75%;
      max-width: 330px;
      padding: 10px clamp(6px, 2.5vw, 10px) 10px 0;
      margin-right: 0;
      margin-left: clamp(6px, 2.5vw, 10px);
    }
    .header-contact-bottom {
      font-size: clamp(10px, 1.4vw, 14px);
      flex-wrap: wrap;
    }
    .header-contact-workday {
      font-size: clamp(10px, 1.3vw, 13px);
    }
    .header-inquiry {
      width: 110px;
      height: 90px;
    }
    .header-inquiry div p {
      font-size: 10px;
      margin-top: 14px;
    }
    .openbtn {
      position: fixed;
      top: 0;
      right: 0;
      width: 70px;
      height: 70px;
    }
    .openbtn span {
      left: 22px;
      background: #ffffff;
      width: 35%;
      z-index: 9999;
    }
    .openbtn span:nth-of-type(1) {
      top: 22px;	
    }
    .openbtn span:nth-of-type(2) {
      top: 35px;
    }
    .openbtn span:nth-of-type(3) {
      top: 48px;
    }
    .openbtn.active span:nth-of-type(1) {
      top: 28px;
      left: 18px;
    }
    .openbtn.active span:nth-of-type(3){
      top: 41px;
      left: 18px;
    }
    .fv {
      height: 90vw;
    }
    .first .inner.right {
      width: 36.6vw;
    }
    

  }
  
  /* -768px
  ------------------------------ */
  @media screen and (max-width:768px) {
    html {

    }
    .sp-only {
      display: block;
    }
    .sp-none {
      display: none;
    }

    #g-nav-list {
      column-gap: clamp(20px, 5.2vw, 40px);
    }
    #g-nav li a {
      font-size: clamp(12px, 3.5vw, 16px);
    }
      
  
    .fv {
      width: 100%;
      height: 114vw;
      background-image: url(../images/bg_fv_sp01.jpg);
    }
    .fv .wrapper {
      width: 100%;
      padding-top: 96px;
      padding-left: 0;
      margin: auto;
      display: flex;
      flex-direction: column;
      width: fit-content;
    }
    .fv .container {
      padding-top: 0;
      flex-direction: column;
      row-gap: 13px;
    }
    .fv .label {
      font-size: clamp(14px, 4.1vw, 25px);
      padding: clamp(8px, 2.6vw, 14px) clamp(22px, 6.7vw, 28px);
    }
    .fv .subTitle {
      font-size: clamp(27px, 8.5vw, 52px);
    }
    .fv .subTitle span {
      font-size: clamp(22px, 6.7vw, 43px);
     }
    .fv .title {
      font-size: clamp(23px, 7.2vw, 60px);
    }
    .fv .title span {
      margin-left: 0;
    }
    .fv .title span:last-of-type {
      margin-left: auto;
    }
    .fv .campaign {
      position: fixed;
      z-index: 99;
      bottom: 90px;
      left: 0;
      width: 100%;
      height: 67px;
      padding: 10px clamp(9px, 2.8vw, 11px);
      border-radius: 0;
      border: 0;
      background-color: #F04665;
      align-items: center;
      column-gap: 18px;
    }
    .fv .campaign-title {
      font-size: clamp(18px, 5.6vw, 22px);
    }
    .fv .campaign-description {
      font-size: clamp(11px, 3.3vw, 13px);
    }
    .fv .campaign-image {
      width: 49px;
      transform: scale(1);
      align-self: center;
    }
    .fv .wave {
      bottom: -6.6vw;
      /* height: 59px; */
      height: 25vw;
    }

    .first {
      padding: 0 20px 60px;
    }
    .first .container {
      flex-direction: column-reverse;
      margin-left: 0;
    }
    .first .inner.left {
      margin-top: 30px;
    }
    .first .image-box {
      width: 100%;
      margin-top: 20px;
    }
    .first .image-box.float {
      width: 100%;
      margin-top: 0;
    }
    .first .inner.right {
      width: 72%;
      margin: auto;
    }
    .first .title {
      width: fit-content;
      margin: auto;
      margin-top: 40px;
      font-size: clamp(42px, 12.8vw, 101px);
    }
    .first .title::before {
      top: -21px;
      left: -35px;
      font-size: clamp(56px, 17.3vw, 135px);
    }
    .first .title::after {
      top: 16px;
      left: 16px;    
      font-size: clamp(46px, 14vw, 110px);
    }
    .first .subTitle {
      font-size: clamp(18px, 4.6vw, 28px);
      margin-top: 30px;
    }
    .first .ornament {
      top: 190px;
    }
    .first h4 {
      font-size: clamp(19px, 5.6vw, 44px);
      margin-top: 60px;
    }
    .first h4 span {
      display: inline-block;
      font-size: clamp(20px, 6.2vw, 48px);
      letter-spacing: 0.06em;
      color: #FA8395;
    }
    
    .second {
      background-image: url(../images/bg_second_sp01.jpg);
      padding: 120px 20px 120px;
    }
    .second .flower01 {
      width: clamp(108px, 23.4vw, 451px);
    }
    .second .flower02 {
      left: -19px;
      width: clamp(92px, 17.2vw, 331px);
    }
    .second .flower03 {
      right: -52px;
      width: clamp(120px, 14.5vw, 280px);
      transform: rotate(-13deg);
    }
    .second .flower04 {
      left: 0;
      bottom: -36px;
      width: clamp(110px, 17.1vw, 330px);
    }    
    .second .triangle {
      top: -3px;
    }
    .second .title {
      font-size: clamp(25px, 6.5vw, 50px);
      line-height: 1.4;
      padding-left: clamp(74px, 23vw, 90px);
    }
    .second .subTitle {
      font-size: clamp(16px, 3.6vw, 28px);
      line-height: 1.3;
      padding: clamp(12px, 2.6vw, 20px) 10px;
      margin-top: 30px;
      background-image: url(../images/bg_second_sp02.png);
      background-size: 100% 100%;
    }
    .second .subTitle::before {
      top: clamp(-134px, -12.1vw, -100px);
      left: clamp(15px, 4.7vw, 52px);
      width: clamp(60px, 18.9vw, 139px);
      height: clamp(74px, 23vw, 169px);
      background-image: url(../images/img_mark.png);
      background-repeat: no-repeat;
      background-size: cover;
    }
    .second .content {
      margin-top: 20px;
    }
    .second .flow {
      width: 100%;
      min-width: 1px;
      column-gap: clamp(16px, 4.8vw, 37px);
      padding: 14px 12px 12px;
      margin: 40px auto 0;
      flex-direction: column;
    }
    .second .flow::before {
      top: -26.75px;
      width: clamp(24px, 5.4vw, 42px);
      height: clamp(16px, 3.5vw, 27px);
    }
    .second .flow:nth-of-type(3) .flow-title {
      width: clamp(240px, 37vw, 407px);
    }
    .second .flow-message {
      margin-top: 10px;
    }
    .second .flow-label {
      font-size: clamp(16px, 2.4vw, 27px);
      margin-top: 20px;
    }
    .second .flow .flow-image {
      margin-top: 20px;
    }
    .second .container {
      margin-top: 60px;
      flex-direction: column;
      row-gap: 20px;
    }
    .second .box {
      width: 100%;
      margin: auto;
    }
    .second h4 {
      font-size: clamp(25px, 3.7vw, 41px);
      margin-top: 40px;
    }
    .second .bottom {
      font-size: clamp(15px, 2.1vw, 24px);
      margin-top: 20px;
    }
    .second .bottom span {
      display: inline-block;
    }

    .third {
      background-image: url(../images/bg_third_sp01.jpg);
      padding: clamp(80px, 22.6vw, 434px) 20px clamp(80px, 28vw, 540px);
    }
    .third .title {
      font-size: clamp(25px, 6.5vw, 50px);
      line-height: 1.4;
    }
    .third .content {
      font-size: clamp(16px, 3.1vw, 24px);
      margin-top: 30px;
    }
    .third .card-container {
      display: flex;
      flex-direction: column;
      row-gap: 40px;
      margin: 60px auto 0;
    }
    .third .card-inner {
      display: flex;
      flex-direction: column;
      justify-content: center;
      row-gap: 60px;
      margin: auto;
    }
    .third .card-inner:nth-of-type(2n) {
      display: flex;
      flex-direction: column;
      justify-content: center;
      row-gap: 60px;
    }
    .third .card {
      width: 100%;
      padding: clamp(60px, 11.2vw, 124px) clamp(10px, 4.5vw, 50px) clamp(20px, 5.1vw, 57px);
    }
    .third .card-message {
      margin-top: 20px;
    }
    .third .card-image {
      margin-top: 40px;
    }
        
    .fourth {
      background-image: url(../images/bg_fourth_sp02.png), url(../images/bg_fourth_sp01.jpg);
      background-repeat: repeat;
      background-size: contain;
      padding: clamp(108px, 33.8vw, 260px) 20px 60px;
    }
    .fourth .diamond {
      top: clamp(-409px, -21.3vw, -68px);
      right: 0;
      width: clamp(143px, 44.6vw, 858px);
    }
    .fourth .title {
      font-size: clamp(35px, 6.5vw, 50px);
      line-height: 1.4;
    }
    .fourth .content {
      margin-top: 30px;
    }
    .fourth .cards {
      row-gap: 20px;
      margin-top: 40px;
    }
    .fourth .card {
      width: clamp(280px, 87.5vw, 350px);
    }
    .fourth .card::before {
      width: clamp(37px, 11.5vw, 46px);
      height: clamp(36px, 11.2vw, 45px);
    }
    .fourth .type {
      font-size: clamp(18px, 5vw, 20px);
    }
    .fourth .size {
      font-size: clamp(17px, 4.5vw, 18px);
    }
    .fourth .description {
      font-size: clamp(17px, 4.5vw, 18px);
    }
    .fourth .price {
      font-size: clamp(16px, 4.2vw, 17px);
    }
    .fourth .big {
      font-size: clamp(36px, 9.7vw, 39px);
    }
    .fourth .cost {
      font-size: clamp(17px, 4.5vw, 18px);
    }
    .fourth .btn {
      width: clamp(240px, 75vw, 300px);
    }
    .fourth .btn::after {
      right: clamp(64px, 19.5vw, 90px);
    }
    .fourth .link {
      font-size: clamp(14px, 4vw, 16px);
    }
    .fourth .container {
      margin: 40px auto 0;
      padding-bottom: 20px;
    }
    .fourth .container:first-of-type {
      margin: 60px auto 0;
    }
    .fourth .container::after {
      width: clamp(25px, 7.8vw, 60px);
      height: clamp(25px, 7.6vw, 59px);
    }
    .fourth .inner {
      padding: clamp(20px, 4.5vw, 50px);
      flex-direction: column;
    }
    .fourth .box.left {
      width: 100%;
      padding-right: 0;
    }
    .fourth .box.right {
      width: 100%;
      margin-top: 20px;
    }
    .fourth .box .type {
      font-size: clamp(20px, 3.3vw, 26px);
    }
    .fourth .box .description {
      font-size: clamp(15px, 2.6vw, 20px);
    }
    .fourth .box .price {
      font-size: clamp(17px, 3.1vw, 24px);
    }
    .fourth .box .big {
      font-size: clamp(36px, 7.2vw, 56px);
      margin: 0 clamp(6px, 1.3vw, 10px) 0 2px;
    }
    .fourth .box .cost {
      font-size: clamp(17px, 3.1vw, 24px);
    }
    .fourth .box .size {
      font-size: clamp(17px, 3.1vw, 24px);
    }
    .fourth .annotation {
      padding: 0 20px;
    }
    .fourth .bottom-message {
      width: clamp(280px, 68vw, 952px);
      height: clamp(164px, 40vw, 557px);
      margin-left: 0;
      margin-top: 41px;
      transform: scale(1.25);
    }
    .fourth .couple {
      right: clamp(-124px, -16.1vw, -52px);
      bottom: 130px;
      width: clamp(172px, 53.5vw, 1028px);
    }

    .fifth {
      margin-top: 60px;
      padding-bottom: 120px;

    }
    .fifth .wrapper {
      margin: clamp(-202px, -10.5vw, -40px) auto 0;
      padding: clamp(30px, 9.2vw, 102px) clamp(20px, 5.2vw, 40px) clamp(46px, 14.6vw, 161px);
    }
    .fifth .title {
      font-size: clamp(20px, 5.2vw, 40px);
    }
    .fifth .content {
      font-size: clamp(17px, 3.1vw, 24px);
      margin-top: 30px;
    }
    .fifth .image-box {
      margin-top: 40px;
    }

    .sixth {
      padding: 60px 0;
    }
    .sixth .title {
      font-size: clamp(32px, 6.5vw, 50px);
      line-height: 1.4;
    }
    .sixth .content {
      font-size: clamp(17px, 3.1vw, 24px);
      margin: 30px auto 0;
    }
    .sixth .subtitle {
      font-size: clamp(19px, 3.9vw, 30px);
      line-height: 1.3;
      margin: 60px auto 0;
      padding: 0 clamp(22px 7vw, 54px);
    }
    .sixth .subtitle::before,
    .sixth .subtitle::after {
      height: clamp(42px, 12.8vw, 99px);
    }
    .sixth .subtitle::before {
      left: 1.8em;
    }
    .sixth .subtitle::after {
      right: 1.8em;
    }
    .sixth .container {
      display: flex;
      margin-top: 60px;
      flex-direction: column;
      padding: 0 20px;
    }
    .sixth .inner.left {
      margin-top: 0;
    }
    .sixth .name {
      font-size: clamp(16px, 1vw, 20px);
      text-align: center;
      margin-top: 10px;
    }
    .sixth .description {
      font-size: clamp(14px, 0.91vw, 18px);
      text-align: center;
      margin-top: 7px;
    }
    .sixth .facility01 .name {
      width: 100%;
      text-align: center;
      margin-top: 80px;
    }
    .sixth .facility01 .description {
      width: 100%;
      text-align: center;
    }
    .sixth .facility02,
    .sixth .facility03,
    .sixth .facility04,
    .sixth .facility05,
    .sixth .facility06 {
      width: 100%;
      justify-self: center;
      margin-top: 40px;
    }
    
    .seventh {
      padding-bottom: 60px;
    }
    .seventh .wrapper {
      padding: 60px 20px;
    }
    .seventh .title {
      font-size: clamp(20px, 5.2vw, 40px);
    }
  
  .access {
    padding: 0 0 20px;

  }
  .access .wrapper {
    padding: 40px 10px 80px;
    margin: -40px auto 0;
    width: calc(100% - 20px);
  }
  .access .title {
    font-size: clamp(24px, 5.2vw, 40px);
    line-height: 1.4;
  }
  .access .content {
    font-size: clamp(17px, 3.1vw, 24px);
    margin-top: 30px;
  }
  .access .illust-map {
    margin: 40px auto 0;
  }
  .access .container {
    margin: 40px auto 0;
    flex-direction: column;
    row-gap: 40px;
  }
  /* Google Map */
  .googlemap {
    margin: 60px auto 0;
  }
  .access .address {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: clamp(13px, 2vw, 16px);
    line-height: 1.3;
  }
  .access .alert {
    font-size: clamp(15px, 2.3vw, 18px);
    margin: 90px auto 0;
  }
  .access .annotation {
    font-size: clamp(13px, 2vw, 16px);
    text-align: start;
    margin: 20px auto 0;
  }

  
  /*-- entryform --*/
  .entryform .title {
    font-size: clamp(24px, 3.5vw, 35px);
    padding: 60px 0 40px;
    background-image: url(../images/bg_inquiry_sp01.jpg);
    }  
  .entryform {
    padding: 0 0 60px;
  }
  .entryform .title {
    font-size: clamp(22px, 7.2vw, 36px);
  }
  .main-entryform-001 {
    padding: 0 10px;
  }
  .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 20px 80px;
    }
    .present h2 {
      font-size: clamp(18px, 3.1vw, 24px);
      line-height: 1.4;
    }
    .present h3 {
      margin: 20px auto 0;
      padding: 0 10px;
      font-size: clamp(16px, 2.8vw, 22px);
      line-height: 1.3;
    }
    .present .container {
      margin: 20px auto 0;
      padding: 0 10px;
    }
    .present .time {
      font-size: clamp(14px, 2.3vw, 18px);
      flex-wrap: wrap;
      justify-content: flex-start;
      row-gap: 10px;
      column-gap: 10px;
    }
    .present .overview {
      margin: 40px auto 0;
      padding: 12px 10px 10px;
    }
    .present .title {
      font-size: clamp(12px, 2vw, 16px);
    }
    .present .detail {
      font-size: clamp(12px, 2vw, 16px);
      margin-top: 18px;
    }
        
    /* footer */
    #footer {
      margin-bottom: 150px;
    }
    #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 .address,
    #footer .phone a {
      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: 12px 12px;
    }
    #footer .copyright {
      font-size: clamp(12px, 3.6vw, 12px);
      line-height: calc(24/14);
    }
    #footer .copyright span {
      display: inline-block;
    }
    /*-- privacy --*/
    .privacy-main {
      padding: 120px 20px 25px;
    }
    .privacy h3 {
      text-align: left;
    }
    .privacy p {
      text-align: left;
    }

}
  
  
  @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: 389px) and (min-width: 320px) {
    .fourth .bottom-message {
      margin-left: -30px;
    }
    .sixth .facility01 .name {
      margin-top: 140px;
    }

  }