@media (min-width: 1151px) {
  .sp {
    display: none;
  }
}

@media (max-width: 1150px) {
  .pc {
    display: none;
  }
  h1, .h1 {
    font-size: var(--h1-res);
  }
  
  h2, .h2 {
    font-size: var(--h2-res);
  }
  
  h3, .h3 {
    font-size: var(--h3-res);
  }
  
  h4, .h4 {
    font-size: var(--h4-res);
  }

  .bigger-font {
    font-size: 1.5em;
  }

  /* component */

  .w-main-res {
    width: var(--w-main);
    margin: 0 auto;
  }

  .rect-block {
    line-height: 2.2;
  }
  
  .down-arrow-wrapper svg {
    width: 36px;
  }

  .down-arrow-wrapper svg:first-child {
    transform: translateY(16px);
  }

  .down-arrow-wrapper svg:last-child {
    transform: translateY(-16px);
  }

  .one-point-circle::before {
    width: 7px;
    height: 7px;
    top: -10px;
  }

  .one-point-sub-heading::before {
    left: -30px;
  }

  .one-point-sub-heading::after {
    right: -30px;
  }

  /* header */
  .header {
    padding: 0 var(--s-main);
    height: 70px;
  }

  .header .brand {
    height: 20px;
  }

  .header .btn {
    height: 39px;
    line-height: 39px;
  }

  .fv-section {
    overflow-x: hidden;
    height: 550px;
  }

  .fv-section .heading-wrapper {
    margin-bottom: 80px;
  }

  .fv-section .container {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
  }

  .fv-section h1 {
    margin-bottom: 20px;
  }

  .fv-section .video {
    height: 168px;
    position: relative;
    right: -30%;
  }

  .fv-bottom-part {
    background-image: url(/assets/image/fv-bottom-res.svg);
    height: 32.820vw;
  }

  .fv-bottom-part h3 {
    text-align: center;
    top: 55%;
    line-height: 1.8;
  }

  .effect-section {
    padding: 60px 0 50px;
  }

  .fukudashi-wrapper .desc,
  .effect-section .fukudashi-wrapper .desc {
    padding: 24px 32px;
    padding-right: 16px;
    border-radius: 34px;
    width: 100%;
    border-width: 3px;
  }

  .fukudashi-wrapper .desc p {
    width: 100%;
  }

  .triangle-of-fukudashi {
    position: absolute;
    left: 1%;
    top: -10%;
  }

  .part1-of-fukudashi {
    width: 25%;
    left: -1%;
  }

  .part3-of-fukudashi {
    left: 30%;
    width: 12%;
  }

  .part4-of-fukudashi {
    bottom: 0;
    width: 17%;
    height: 30%;
    right: -3%;
  }

  .question-part {
    background-image: url(/assets/image/question-bg-res.png);
    height: 44.8717vw;
  }

  .question-part h3 {
    font-size: var(--p);
  }

  /* combination-section */
  .combination-section .one-point-sub-heading {
    margin-bottom: 50px;
  }

  .combination1,
  .combination2 {
    position: relative;
    height: 300px;
    background-size: cover;
    margin-bottom: 80px;
  }

  .combination1 {
    background-image: url('/assets/image/combination1-res.png');
  }

  .combination2 {
    background-image: url('/assets/image/combination2-res.png');
    margin-bottom: 20px; 
  }

  .combination1 .combination-desc-wrapper,
  .combination2 .combination-desc-wrapper {
    background-image: url(/assets/image/combination-desc-res.svg);
    margin-left: 0;
    position: absolute;
    left: 50%;
    top: -60px;
    transform: translateX(-50%);
    height: 182.87px;
    width: 260px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 5%;
  }

  .combination-desc-wrapper .desc h3 {
    line-height: 1.6;
  }

  .combination-complete {
    padding: 20px 0 20px;
  }

  .combination-complete .image {
    height: 135px;
    top: -40px;
    left: 1vw;
  }

  .combination-complete .number-text {
    font-size: 1.7rem;
    font-weight: 400;
  }
  
  .combination-complete .heading {
    line-height: 1.6;
  }

  .service6 {
    position: static;
    width: 290px;
    height: 290px;
    margin: 0 auto 30px;
  }

  .step-wrapper {
    flex-wrap: wrap;
  }

  .step-wrapper .step {
    height: 70px;
  }

  .step-wrapper .step::after {
    border-width: 35px 0 35px 20px;
  }

  .step-wrapper .step1,
  .step-wrapper .step3 {
    width: calc(50% - 10px);
  }

  .step-wrapper .step2,
  .step-wrapper .step4 {
    width: calc(50% + 10px);
    padding-left: 20px;
  }

  /* cta */
  .cta1,
  .cta2 {
    padding: 24px 0 28px;
  }
  .cta1 p,
  .cta2 p {
    text-align: center;
    line-height: 1.8;
    margin-bottom: 20px;
  }

  /* service-section */
  .service-section {
    padding: 50px 0 80px;
  }

  .service-section > .heading-wrapper {
    margin-bottom: 100px;
  }

  .service6-wrapper {
    margin-bottom: 80px;
  }

  .step-wrapper {
    margin-bottom: 80px;
  }

  /* ad-type-section */
  .ad-type-section {
    padding: 80px 0 60px;
  }

  .ad-type-section .container {
    background-image: none;
    background-color: var(--white);
    border: 3px solid var(--blue-dark);
    padding: 50px 0 50px
  }

  .ad-type-section .desc p {
    padding: 0 30px;
    margin-bottom: 40px;
    line-height: 1.8;
    text-align: left;
  }

  .ad-type-section img.sp {
    width: 180px;
  }
  /* contact-section */
  .contact-section {
    padding: 60px 0 80px;
  }
  
  .contact-section .heading-wrapper {
    margin-bottom: 50px;
    padding: 20px 0 26px;
  }

  .contact-section .heading-wrapper .heading {
    line-height: 2.0;
  }

  .contact-section .heading-wrapper .down-arrow-wrapper:nth-of-type(1) {
    top: -50px;
  }

  .contact-section .heading-wrapper .down-arrow-wrapper:nth-of-type(2) {
    bottom: -40px;
  }

  .footer {
    font-size: var(--small);
  }
}