@media screen and (max-width:959px) {
  .header {
    padding: 0 20px;
  }
  h1 {
    display: none;
  }
  .header-rightTop {
    padding: 0 clamp(16px, 2.6vw, 25px);
  }  
  .header-line {
    width: 13px;
    height: 24px;
    margin: 0 clamp(18px, 3.125vw, 30px) 0 clamp(8px, 1.25vw, 12px);
  }
  .header-mail span {
    font-size: clamp(1.4rem, 1.56vw, 1.5rem);
  }
  .header-mail span::before {
    width: clamp(16px, 2.5vw, 24px);
    height: clamp(12px, 1.875vw, 18px);
    left: -1.25em;
    top: clamp(calc(50% - 6px), calc(50% - 0.9vw), calc(50% - 9px));
  }
  .header-phone span {
    font-size: clamp(1.4rem, 2.08vw, 2rem);
  }
  .header-phone span::before {
    width: clamp(14px, 2.3vw, 22px);
    height: clamp(14px, 2.3vw, 22px);
    left: -1rem;
    top: clamp(calc(50% - 7px), calc(50% - 1.15vw), calc(50% - 11px));
  }
  .header-rightBottom {
    font-size: clamp(1.3rem, 1.45vw, 1.4rem);
    color: #EB9A00;
    text-align: center;
    padding-top: 4px;
  }
  #one .container {
    width: max(275px, 68.75%);
    background-color: #15bb0ed9;
    padding: 64px 0;
  }
  #one .inner {
    padding-right: clamp(23px, 5.4vw, 54px);
    padding-left: 32px;
  }
  #one .title span {
    letter-spacing: calc(40px * 0.05);
  }  
}
  
@media screen and (max-width: 879px) {
  #third .box:not(:nth-of-type(3n-2)) {
    margin-left: 0;
  }
  #third .box:nth-of-type(2n) {
    margin-left: 25px;
  }
  #third .box:nth-of-type(n+3) {
    margin-top: 69px;
  }
  #third .btn-container {
    display: block;
    margin: 40px auto 0;
  }
  #third .btn {
    margin: 0 auto;
  }
  #third .btn:nth-of-type(2) {
    margin-top: 20px;
  }
  #fourth .inner {
    display: block;
  }
  #fourth .box-left {
    width: 100%;
    max-width: 430px;
    padding-right: 0;
  }
  #fourth .box-right {
    width: 100%;
    margin-top: 15px;
  }
}

  
@media screen and (max-width:599px) { 
  body {
    margin-bottom: 98px;
  }
  .spbr {
    display: block;
  }
  .header {
    height: 70px;
    justify-content: center;
    align-items: center;
  }
  .header-left {
    margin: 0 auto;
    padding: 15px 0;
  }
  .header-inner {
    width: 56.5%;
  }
  h1 {
    display: none;
  }
  .header-right {
    position: fixed;
    width: 100%;
    height: 98px;
    bottom: 0;
    left: 0;
    margin: 0;
    padding: 0;
    z-index: 999;
    background: #ffffff;
  }
  .header-rightTop {
    width: 100%;
    height: auto;
    padding: 22px 0;
    border-radius: 0;
  }
  .header-line {
    margin: 0 clamp(10px, 3.125vw, 30px) 0 clamp(4px, 1.25vw, 12px);
  }
  .header-mail span {
    font-size: clamp(1.3rem, 3.75vw, 1.5rem);
    text-indent: .7em;
    margin-left: .7em;

  }
  .header-mail span::before {
    width: clamp(20px, 6vw, 24px);
    height: clamp(14px, 4.5vw, 18px);
    top: clamp(calc(50% - 7px), calc(50% - 2.25vw), calc(50% - 9px));
  }
  .header-phone span {
    font-size: clamp(1.6rem, 5vw, 2rem);
    text-indent: .7em;
    white-space: nowrap;
    margin-left: .7em;
  }
  .header-phone span::before {
    width: clamp(18px, 5.5vw, 22px);
    height: clamp(18px, 5.5vw, 22px);
    top: clamp(calc(50% - 9px), calc(50% - 2.75vw), calc(50% - 11px));
  }
  .header-rightBottom {
    padding-top: 4px;
    font-size: clamp(1.3rem, 3.5vw, 1.4rem);
  }
  main {
    margin-top: 70px;
  }
  #one .container {
    padding: 40px 0;
  }
  #one .title {
    font-size: clamp(2.3rem, 7.25vw, 2.6rem);
    letter-spacing: calc(7.25vw * 0.08);
  }
  #one .title span {
    font-size: clamp(4.2rem, 13.25vw, 7.9rem);
    letter-spacing: calc(9.25vw * 0.05);
  }
  #one .subTitle {
    font-size: clamp(1.2rem, 3vw, 1.8rem);
  }
  #one .label {
    font-size: clamp(1.5rem, 4.75vw, 2.9rem);
    font-weight: 700;
    color: #47B143;
    text-align: center;
    padding: clamp(8px, 1.2vw, 12px) 0;
    border-radius: 27px;
    background-color: #ffffff;
    margin-top: 10px;
  }

  #second {
    padding: 23px 10px 25px;
  }
  #second .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(5.5vw * 0.05);
  }  
  #second .labelBox {
    margin-top: 17px;
  }
  #second .label {
    width: 30.7%;
    padding: 9px 0;
    font-size: clamp(1.3rem, 4vw, 2.6rem);
    letter-spacing: calc(4vw * 0.08);  
  }
  #second .label:not(:first-of-type) {
    margin-left: 12px;
  }
  #second .priceBox {
    margin-top: 31px;
  }
  #second .total {
    font-size: clamp(1.5rem, 4.75vw, 3.1rem);
    font-weight: 900;
    letter-spacing: calc(4.75 * 0.05);  
  }
  #second .total span {
    font-size: clamp(5rem, 15.75vw, 9.9rem);
    letter-spacing: calc(30px * 0.05);
    font-weight: 900;
    letter-spacing: calc(15.75vw * 0.05);
    white-space: nowrap;
  }
  #second .price {
    margin-left: 0;
    font-size: clamp(12rem, 37.5vw, 23.4rem);
  }
  #second .priceInner {
    margin-left: 3px;
  }
  #second .white-label {
    font-size: clamp(1.3rem, 4vw, 2.6rem);
    max-width: 118px;
    padding: 12px 0;
    text-align: center;
    border: 1px solid #555555;
    border-radius: 30px;
  }
  #second .text {
    font-size: clamp(3.2rem, 10.25vw, 6.5rem);
    margin-top: 10px;
    margin-left: -20px;
  }
  #second .text span {
    font-size: clamp(3.4rem, 8.5vw, 5.3rem);
    letter-spacing: calc(-53px * 0.08);
  }  
  #second .box {
    margin: 23px auto 0;
    padding: 22px 0 29px;
  }
  #second .description {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(5.5vw * 0.05);
    line-height: calc(33 / 22);
  }
  #second .subTitle {
    font-size: clamp(4rem, 12.5vw, 7rem);
    letter-spacing: calc(12.5vw * 0.05);
    margin-top: 23px;
  }
  #second .subTitle span {
    display: inline-block;
    font-size: clamp(3.4rem, 10.75vw, 5.6rem);
    letter-spacing: calc(10.75 * 0.05);
    margin-top: 6px;
  }
  
  #third .wrapper-top {
    padding: 47px clamp(20px, 3.8vw, 23px) 63px;
  }
  #third .wrapper-top::after {
    bottom: -40px;
    border-width: 40px 86px 0 86px;
  }  
  #third .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(22px * 0.05);
    line-height: calc(33 / 22);
  }
  #third .imageBox {
    width: 100%;
    max-width: 500px;
    margin: 27px auto 0;
  }
  #third .container {
    display: block;
    margin: 27px auto 0;
  }
  #third .box:nth-of-type(2n) {
    margin-left: 0;
  }
  #third .box {
    width: 100%;
    height: 90px;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: 0;
    margin-right: 0;
  }
  #third .box:not(:nth-of-type(1)) {
    margin-top: 38px;
  }
  #third .text {
    font-size: clamp(1.5rem, 4.5vw, 1.8rem);
  }  
  #third .wrapper-bottom {
    padding: 86px 0 74px;
  }
  #third .btn-container {
    margin: 40px auto 0;
    padding: 0 17px;
  }
  #third .btn:nth-of-type(2) {
    margin-top: 20px;
  }
  #third .btn a {
    padding: 31px 0;
  }
  #third .btn a span {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    text-indent: .7em;
    margin-left: .7em;
  }
  #third .btn-phone span::before {
    width: clamp(18px, 5.5vw, 22px);
    height: clamp(18px, 5.5vw, 22px);
    top: calc(50% - clamp(9px, 2.75vw, 11px));
  }
  #third .btn-mail span::before {
    width: clamp(20px, 6vw, 24px);
    height: clamp(14px, 4.5vw, 18px);
    top: calc(50% - clamp(7px, 2.25vw, 9px));
  }
  #third .btn a span::after {
    display: inline-block;
    content: ">";
    width: 8px;
    height: 14px;
    position: absolute;
  }
  
  #fourth .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(22px * 0.05);
    line-height: calc(33 / 22);
    padding: 48px 0;
  }
  #fourth .wrapper {
    padding: 36px 20px 61px;
  }
  #fourth .description {
    font-size: 1.8rem;
    letter-spacing: calc(-18px * 0.02);
    line-height: calc(35 / 18);
  }
  #fourth .name {
    font-size: clamp(2rem, 6.2vw, 3rem);
    letter-spacing: 0;
    margin: 74px auto 0;
  }
  #fourth .text {
    font-weight: 500;
    margin-top: 26px;
  }
  #fourth .type {
    font-size: clamp(2rem, 6.25vw, 2.6rem);
    font-weight: 700;
    letter-spacing: calc(26px * 0.02);
    color: #47B143;
  }
  #fourth .labelBox.nowrap p.label {
    font-size: clamp(1.6rem, 4.7vw, 2rem);
    padding: min(3vw, 12px) min(6.25vw, 25px);
  }
  #fourth .labelBox.nowrap p.label:not(:nth-of-type(1)) {
    padding: min(3vw, 12px) min(5.25vw, 21px);
  }
  #fourth .priceBox {
    padding-left: 0;
  }
  #fourth .round-mark {
    font-size: clamp(1.4rem, 4.25vw, 1.8rem);
    width: clamp(72px, 22.75vw, 91px);
    height: clamp(70px, 22vw, 88px);
    line-height: clamp(70px, 22vw, 88px);
  }
  #fourth .price {
    font-size: clamp(10.6rem, 33vw, 13.5rem);
    letter-spacing: calc(-132px * 0.05);
    margin-left: 0.625vw;
  }
  #fourth .price span {
    font-size: clamp(4.2rem, 13.25vw, 5.4rem);
    font-weight: 900;
    letter-spacing: 0;
    color: #555555;
    margin-top: -10px;
    margin-left: 4px;
  }
  #fourth .annotation {
    font-size: clamp(1.2rem, 3.75vw, 1.6rem);
  }
  #fourth .labelBox.flex  {
    justify-content: space-between;
  }
  #fourth .labelBox.flex p.label {
    font-size: clamp(1.5rem, 4.75vw, 2rem);
    width: 48.6%;
    margin-right: 0;
  }
  #fourth .labelBox.flex p.label.reverse {
    font-size: clamp(1.5rem, 4.75vw, 2rem);
    width: 48.6%;
    margin-right: 0;
  }
  
  #fifth .mask {
    padding: 68px 20px 61px;
  }
  #fifth .container {
    padding: 39px 23px 47px;
  }
  #fifth .title {
    font-size: clamp(1.8rem, 5.5vw, 3rem);
    letter-spacing: calc(22px * 0.02);
    line-height: calc(33 / 22);
  }
  #fifth .title span.impact {
    font-size: clamp(2.8rem, 9vw, 4.4rem);
    letter-spacing: calc(36px * 0.05);
  }
  #fifth .description {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    letter-spacing: calc(-18px * 0.02);
    margin-top: 33px;
  }
  #fifth .subTitle {
    margin-top: 46px;
  }
  #fifth .subTitle span {
    font-size: clamp(1.8rem, 5.5vw, 3rem);
    line-height: calc(46 / 22);
    text-underline-offset: 6px;
  }
  #fifth .supplement {
    text-align: center;
    margin-top: 67px;
  }
  #fifth .supplement span {
    font-size: clamp(1.8rem, 5.5vw, 3rem);
    line-height: calc(42 / 22);
  }
  #fifth .annotation {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    line-height: calc(35 / 18);
    margin-top: 46px;
    text-align: start;
  }
  
  #sixth {
    padding-bottom: 45px;
  }  
  #sixth .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(22px * 0.05);
    line-height: calc(33 / 22);
    padding: 45px 0;
  }
  #sixth .container-top {
    margin: 29px auto 0;
    display: block;
    padding: 0;
  }
  #sixth .inner-left.first {
    width: 100%;
    padding-right: 0;
    padding: 0 20px;
  }
  #sixth .content {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    line-height: calc(35 / 18);
    letter-spacing: calc(-18px * 0.02);
  }
  #sixth .inner-right.first {
    width: 100%;
    max-width: 460px;
    padding-left: 0;
    margin: auto;
  }
  #sixth .container-bottom {
    margin: 31px auto 0;
    padding: 0;
  }
  #sixth .inner-left.second {
    width: calc(100% - 40px);
    max-width: none;
    padding-right: 0;
    margin: auto;
    position: static;
    top: 27px;
    left: 20px;
  }
  #sixth .name {
    font-size: clamp(2.2rem, 7vw, 3rem);
  }
  #sixth .label {
    font-size: clamp(2rem, 6vw, 2.6rem);
    width: clamp(70px, 22vw, 93px);
    height: clamp(72px, 22.5vw, 90px);
    line-height: clamp(72px, 22.5vw, 90px);
  }
  #sixth .price {
    font-size: clamp(11rem, 34.5vw, 14.1rem);
    letter-spacing: calc(-134px * 0.05);
  }
  #sixth .p-text {
    font-size: clamp(3.2rem, 10.25vw, 4.4rem);
  }
  #sixth .p-text span {
    font-size: clamp(2.2rem, 7vw, 3rem);
    letter-spacing: calc(-22px * 0.08);
  }
  #sixth .second-name {
    font-size: clamp(2rem, 6.5vw, 2.8rem);
    padding: 20px 0;
  }
  #sixth .inner-right.second {
    width: 100%;
    padding-left: 0;
    margin-top: 10px;
  }
  #sixth .text {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    letter-spacing: calc(-18px * 0.02);
    line-height: calc(35 / 18);
    margin: 18px auto 0;
    padding: 0 20px;
  }
  #sixth .supplement {
    font-size: clamp(1.8rem, 5.5vw, 3rem);
    line-height: calc(42 / 22);
    text-decoration: underline #FAFFBE solid 13px;
    text-underline-offset: -11px;
    padding: 0 20px;
    margin: 36px auto 0;
  }
  #sixth .supplement span {
    display: inline-block;
    text-decoration: underline #FAFFBE solid 13px;
    text-underline-offset: -11px;
  }
   
  #seventh .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(22px * 0.05);
    line-height: calc(33 / 22);
    padding: 48px 0;
  }
  #seventh .wrapper {
    padding: 26px 10px 29px;
  }
  #seventh .content {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    letter-spacing: calc(-18px * 0.02);
    padding: 0 10px;
  }
  #seventh .container {
    margin: 46px auto 0;
    display: block;
  }
  #seventh .imageBox {
    width: 100%;
    padding-right: 0;
    margin-top: 30px;
  }
  #seventh .imageBox:nth-of-type(2n) {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
  }
  #seventh .imageBox:nth-of-type(n + 3) {
    margin-top: 30px;
  }
  #seventh figcaption {
    font-size: clamp(1.3rem, 4vw, 1.8rem);
    line-height: calc(24 / 18);
    color: #333333;
    margin-top: 10px;
  }
  #seventh .box {
    margin: 23px auto 0;
    padding: 16px 22px 22px;
  }
  #seventh .summary {
    font-size: clamp(1.4rem, 4.5vw, 2rem);
  }
  #seventh .text {
    font-size: clamp(1.3rem, 4vw, 1.8rem);
    line-height: calc(26 / 16);
    margin-top: 14px;
  }
  
  #eighth .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(22px * 0.05);
    line-height: calc(33 / 22);
    padding: 48px 0;
  }
  #eighth .wrapper {
    padding: 30px 10px 35px;
  }
  #eighth .subTitle {
    font-size: clamp(1.8rem, 5.5vw, 3rem);
    line-height: calc(36 / 22);
    text-decoration: underline #47B143 solid 3px;
    text-underline-offset: 9.5px;
  }
  #eighth .subTitle span {
    display: inline-block;
    text-decoration: underline #47B143 solid 3px;
    text-underline-offset: 9.5px;
  }
  .googlemap {
    margin-top: 32px;
  }
  #eighth .annotation {
    font-size: clamp(1.6rem, 5vw, 2rem);
    line-height: calc(35 / 20);
    margin-top: 30px;
  }
  #eighth .text {
    font-size: clamp(1.3rem, 3.75vw, 1.9rem);
    line-height: calc(26 / 15);
    margin-top: 11px;
  }
  #eighth .text span.orange {
    font-size: clamp(1.4rem, 4.25vw, 2.1rem);
  }
  #eighth .text span {
    display: inline-block;
  }

  .small-br {
    display: block;
  }
  .small-none {
    display: none;
  }

  #ninth .title {
    font-size: clamp(1.8rem, 5.5vw, 3.4rem);
    letter-spacing: calc(22px * 0.05);
    line-height: calc(33 / 22);
    padding: 44px 0;
  }
  #ninth .wrapper { 
    padding: 26px 10px 28px;
  }
  #ninth .text {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    line-height: calc(32 / 18);
  }
  #ninth .box {
    margin-top: 89px;
    padding-bottom: 21px;
  }
  #ninth .subTitle {
    font-size: clamp(1.8rem, 5.5vw, 2.9rem);
    letter-spacing: 0;
    line-height: calc(31 / 22);
    padding: 20px 0;
  }
  #ninth .subTitle span {
    display: inline-block;
  }
  #ninth .call {
    font-size: clamp(1.6rem, 5vw, 2.3rem);
    letter-spacing: 0;
    line-height: calc(26 / 20);
    margin-top: 19px;
  }
  #ninth .call span {
    font-size: clamp(1.8rem, 5.5vw, 2.6rem);
    letter-spacing: 0;
  }
  #ninth .btn {
    margin: 16px auto 0;
  }
  #ninth .btn-phone span {
    display: inline-block;
    font-size: clamp(3rem, 9.25vw, 5rem);
    letter-spacing: calc(37px * 0.05);
    text-indent: .7em;
    margin-left: .7em;
  }
  #ninth .btn-phone span::before {
    display: inline-block;
    content: "";
    width: clamp(28px, 9vw, 36px);
    height: clamp(28px, 9vw, 36px);
    top: calc(50% - clamp(14px, 4.5vw, 18px));
  }
  #ninth .hours {
    font-size: clamp(1.4rem, 4.5vw, 1.8rem);
    margin-top: 12px;
  }
  
  .footer {
    padding: 32px 0px 21px;
  }
  .footer-text {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
    line-height: calc(14 / 10);
  }
  .policy {
    margin-top: 16px;
  }
  .policy a {
    font-size: clamp(1rem, 2.5vw, 1.2rem);
  }
}

@media screen and (max-width:399px) {
  .spbr {
    display: block;
  }
  main {
    margin-top: 70px;
  }
  #one .wrapper {
    background: no-repeat url(../images/img_one_01.jpg) center / cover;
  }
  #second .text span {
    font-size: clamp(1.8rem, 6vw, 5.3rem);
    letter-spacing: calc(-8.5vw * 0.08);
  }  
  #third .btn a {
    font-size: min(4.5vw, 1.8rem);
    padding: 21px 0;
  }
  #third .btn-mail::before {
    width: 16px;
    height: 14px;
    left: 24px;
    top: 23px;
  }
  #third .btn-phone::before {
    width: 16px;
    height: 16px;
    left: 56px;
    top: 21px;
  }
  #third .btn::after {
    bottom: 21px;
    right: 20px;
  }
  #fourth .description {
    font-size: 1.6rem;
  }  
  #fourth .text {
    font-size: 1.6rem;
  }  
  #fourth .labelBox.nowrap p.label:not(:nth-of-type(1)) {
    padding: min(3vw, 12px) min(3.8vw, 21px);
  }

}

