@charset "UTF-8";

.s-of-hidden {
   overflow: hidden;
}

body.is-fixed {
   overflow: hidden;
}

body {
   margin: 0 0 1.5em;
}

#seo {
   margin-bottom: 80px;
   font-family: "Noto Sans JP", sans-serif;
   font-size: 16px;
   font-weight: 400;
   line-height: 1.95;
   color: #555;
}

@media screen and (max-width: 767px) {
   #seo {
      font-size: 14px;
   }
}

#seo button {
   all: unset;
   display: inline-block;
   cursor: pointer;
}

#seo h1,
#seo h2,
#seo h3,
#seo h4,
#seo p {
   padding: 0;
   margin: 0;
}

#seo h1::before,
#seo h1::after,
#seo h2::before,
#seo h2::after,
#seo h3::before,
#seo h3::after,
#seo h4::before,
#seo h4::after,
#seo p::before,
#seo p::after {
   display: none;
}

#seo .inview_re {
   opacity: 0;
   transition: 0.5s;
   transform: translateY(20px);
}

#seo .inview_re.is-show {
   opacity: 1;
   transform: translateY(0px);
}

#seo .u-t-blue {
   color: #2aa0d0;
}

#seo img {
   display: inline-block;
   vertical-align: middle;
   width: 100%;
   height: auto;
}

#seo .sp {
   display: block;
}

@media screen and (min-width: 768px) {
   #seo .sp {
      display: none;
   }
}

#seo .tb {
   display: none;
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
   #seo .tb {
      display: block;
   }
}

#seo .pc {
   display: none;
}

@media screen and (min-width: 768px) {
   #seo .pc {
      display: block;
   }
}

#seo a {
   text-decoration: none;
}

#seo .c-heading {
   display: flex;
   flex-direction: column;
   align-items: center;
   text-align: center;
   gap: 22px;
   font-family: "Noto Sans JP";
   font-weight: 400;
}

#seo .c-heading.--white {
   color: #fff;
}

#seo .c-heading.--white .c-heading__en {
   color: #fff;
}

#seo .c-heading.--white .c-heading__line {
   background: #fff;
}

#seo .c-heading.--gray .c-heading__en {
   color: #404040;
}

#seo .c-heading.--gray .c-heading__line {
   background: #404040;
}

#seo .c-heading.--orange .c-heading__en {
   color: #ff630c;
}

#seo .c-heading.--orange .c-heading__line {
   background: #ff630c;
}

#seo .c-heading__en {
   text-align: center;
   font-size: 14px;
   color: #fff;
   text-transform: uppercase;
   margin-bottom:-6px;
   background:#2aa0d0;
   padding: 6px 18px;
}

@media screen and (min-width: 768px) {
   #seo .c-heading {
      gap: 32px;
   }

   #seo .c-heading__en {
      font-size: 14px;
   }
}

#seo .c-heading__title {
   font-size: 28px;
   font-weight: 400;
   line-height: 1.25;
   letter-spacing: 0.03em;
}

@media screen and (min-width: 768px) {
   #seo .c-heading__title {
      font-size: 36px;
      margin-top: -10px;
   }
}

#seo .c-heading__title.--bk {
   color: #404040;
}

#seo .c-heading__title span {
   font-weight: 300;
   font-family: Montserrat;
}

#seo .c-heading__desc {
   font-weight: 500;
   color: #777;
   letter-spacing: 0.03em;
   padding-top: 40px;
}

@media screen and (max-width: 767px) {
   #seo .c-heading__desc {
      text-align: justify;
      padding-top: 0;
   }
}

#seo .c-heading__line {
   display: block;
   background: #555;
   width: 40px;
   height: 1px;
}

#seo .c-button {
   position: relative;
   display: flex;
   width: 327px;
   padding: 24px 56px;
   justify-content: center;
   align-items: center;
   gap: 8px;
   font-size: 18px;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

@media screen and (min-width: 768px) {
   #seo .c-button {
      padding: 24px 50px;
   }

   #seo .c-button:first-child {
      padding: 24px 40px 24px 58px;
   }
}

#seo .c-button::before {
   position: absolute;
   content: "";
   top: 50%;
   right: 24px;
   transform: translateY(-50%);
}

#seo .c-button.--dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
   #seo .c-button.--dl {
      max-width: 272px;
   }
}

#seo .c-button.--dl::before {
   background: url(../images/page-seo2/icon-dl.svg) no-repeat center center/contain;
   width: 16px;
   aspect-ratio: 1/1;
}

#seo .c-button.--dl::after {
   position: absolute;
   content: "";
   top: 50%;
   left: 16px;
   transform: translateY(-50%);
   background: url(../images/page-seo2/button-paper.webp) no-repeat center center/contain;
   width: 46px;
   aspect-ratio: 26/38;
}

#seo .c-button.--dl .c-button__head {
   color: #2aa0d0;
   background: #fff;
}

#seo .c-button.--contact {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

@media screen and (min-width: 768px) {
   #seo .c-button.--contact {
      max-width: 238px;
   }
}

#seo .c-button.--contact::before {
   background-image: url("../images/page-seo2/icon-arrow-right.svg");
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10/8;
}

#seo .c-button.--contact .c-button__head {
   color: #fff;
   background: #2aa0d0;
}

#seo .c-button.--blue {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

#seo .c-button.--blue::before {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M1 1L11 5L1 9' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10/8;
}

#seo .c-button__head {
   position: absolute;
   font-size: 12px;
   line-height: normal;
   font-weight: 600;
   padding: 1px 16px 4px;
   border-radius: 32px;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   white-space: nowrap;
}

#seo .c-button-new {
   display: inline-flex;
   justify-content: center;
   align-items: center;
   width: 100%;
   height: 70px;
   padding: 0;
   background-image: linear-gradient(135deg, #22A1E2, #7A78EA);
   color: #fff;
   font-weight: 700;
   font-size: 18px;
   letter-spacing: 0.04em;
   line-height: 1;
   border-radius: 8px;
   position: relative;
   box-shadow: inset 0 0 4px #fff, 0 4px 4px rgba(255, 255, 255, 0.25);
}

@media screen and (min-width: 768px) {
   #seo .c-button-new {
      width: 325px;
      font-size: 20px;
   }
}

#seo .c-wrap {
   width: 100%;
   max-width: 100%;
   margin: 0 auto;
   padding: 0 24px;
   box-sizing: border-box;
   position: relative;
}

@media screen and (min-width: 768px) {
   #seo .c-wrap {
      max-width: 720px;
      padding: 0;
   }
}

@media screen and (min-width: 1024px) {
   #seo .c-wrap {
      max-width: 960px;
   }
}

@media screen and (min-width: 1201px) {
   #seo .c-wrap {
      max-width: 1128px;
   }
}

#seo .header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 90px;
   z-index: 99;
   border-bottom: 1px solid #eee;
   background: #fff;
}

#seo .header__inner {
   position: relative;
   padding: 12px 24px;
   z-index: 1;
   height: 100%;
   box-sizing: border-box;
}

@media screen and (min-width: 768px) {
   #seo .header__inner {
      padding: 16px 32px;
   }
}

#seo .header__wrap {
   display: flex;
   align-items: center;
   justify-content: space-between;
   height: 100%;
   gap: 12px;
}

#seo .header__brand {
   display: flex;
   align-items: center;
   gap: 8px;
   position: relative;
   z-index: 10;
   min-width: 0;
   flex-shrink: 1;
}

#seo .header__logo {
   display: block;
   width: 80px;
   flex-shrink: 0;
}

#seo .header__catch {
   font-size: 13px;
   font-weight: 500;
   line-height: 1.35;
   color: #333;
}

@media screen and (min-width: 768px) {
   #seo .header__catch {
      white-space: nowrap;
   }
}

#seo .header__catch span {
   color: #2aa0d0;
}

@media screen and (min-width: 768px) {
   #seo .header__container {
      display: flex;
      gap: 25px;
   }
}

#seo .header__nav {
   padding-top: 126px;
   position: absolute;
   top: 0;
   left: 0;
   width: 100vw;
   height: 100dvh;
   background: #fff;
   display: flex;
   flex-direction: column;
   gap: 43px;
   align-items: center;
   transform: translateX(100%);
   transition: 0.5s;
}

#seo .header__nav.is-active {
   transform: translateX(0%);
}

@media screen and (min-width: 1280px) {
   #seo .header__nav {
      padding-top: 0;
      position: static;
      background: transparent;
      flex-direction: row;
      gap: 40px;
      width: auto;
      height: auto;
      transform: translateX(0%);
   }
}

#seo .header__nav-links {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 27px;
}

@media screen and (min-width: 1280px) {
   #seo .header__nav-links {
      flex-direction: row;
      gap: 24px;
   }
}

#seo .header__nav-link {
   color: #404040;
   font-size: 16px;
   font-weight: 300;
}

#seo .header__nav-buttons {
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 12px;
}

@media screen and (min-width: 1280px) {
   #seo .header__nav-buttons {
      display: none;
   }
}

#seo .header__nav-button {
   display: flex;
   width: 263px;
   padding: 16px 32px;
   justify-content: center;
   align-items: center;
   font-size: 16px;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

#seo .header__nav-button.--dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

@media screen and (min-width: 768px) {
   #seo .header__nav-button.--dl {
      max-width: 272px;
   }
}

#seo .header__nav-button.--contact {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

#seo .header__tel {
   display: flex;
   flex-direction: column;
   align-items: center;
   line-height: normal;
}

#seo .header__tel-content {
   display: flex;
   align-items: end;
   gap: 4px;
}

#seo .header__tel-icon {
   width: 11px;
}

#seo .header__tel-num {
   color: #333;
   font-size: 18px;
   font-weight: 400;
   letter-spacing: 0.01em;
}

#seo .header__tel-data {
   color: #888;
   font-size: 13px;
   font-weight: 400;
}

#seo .header__buttons {
   display: flex;
   align-items: center;
   gap: 12px;
   flex-shrink: 0;
}

@media screen and (max-width: 767px) {
   #seo .header__buttons .header__button {
      display: none;
   }
}

#seo .header__button {
   display: flex;
   padding: 6px 15px;
   justify-content: center;
   align-items: center;
   border: 1px solid #2aa0d0;
   border-radius: 4px;
}

@media screen and (min-width: 768px) {
   #seo .header__button {
      padding: 8px 19px;
   }
}

#seo .header__button.--dl {
   background: #fff;
   color: #2aa0d0;
}

#seo .header__button.--contact {
   background: #2aa0d0;
   color: #fff;
}

#seo .header__drawer-button {
   position: relative;
   z-index: 10;
   padding-block: 8px;
   display: flex;
   flex-direction: column;
   gap: 8px;
   width: 24px;
}

@media screen and (min-width: 1280px) {
   #seo .header__drawer-button {
      display: none;
   }
}

#seo .header__drawer-button span {
   width: 24px;
   height: 1px;
   display: block;
   background: #2aa0d0;
   transition: 0.3s;
}

#seo .header__drawer-button.is-active span {
   width: 28px;
   background: #404040;
}

#seo .header__drawer-button.is-active span:nth-child(1) {
   transform: translateY(9px) rotate(45deg);
}

#seo .header__drawer-button.is-active span:nth-child(2) {
   opacity: 0;
}

#seo .header__drawer-button.is-active span:nth-child(3) {
   transform: translateY(-9px) rotate(-45deg);
}

#seo .fv {
   position: relative;
   padding-top: 154px;
   padding-bottom: 65px;
}

@media screen and (min-width: 1280px) {
   #seo .fv {
      padding-top: 197px;
      padding-bottom: 65px;
   }
}

#seo .fv__wrap {
   padding-inline: 24px;
   display: flex;
   flex-direction: column;
   align-items: center;
   gap: 44px;
}

@media screen and (min-width: 1024px) {
   #seo .fv__wrap {
      flex-direction: row;
      justify-content: space-between;
      max-width: 900px;
      margin: 0 auto;
      padding: 0;
   }
}

@media screen and (min-width: 1280px) {
   #seo .fv__wrap {
      padding-inline: 50px 90px;
      width: 100%;
      max-width: 1288px;
   }
}

#seo .fv__body {
   display: flex;
   flex-direction: column;
   gap: 24px;
}

@media screen and (min-width: 1280px) {
   #seo .fv__body {
      gap: 40px;
   }
}

#seo .fv__content {
   display: flex;
   flex-direction: column;
}

#seo .fv__title {
   color: #000;
   font-size: 55px;
   font-weight: 700;
   line-height: 1.55;
}

#seo .fv__sub-title {
   font-size: 18px;
   font-weight: 700;
   white-space: nowrap;
   color: #2AA0D0;
}

#seo .fv__text {
   font-size: 15px;
   font-weight: 500;
   letter-spacing: 0.04em;
   padding-top: 20px;
}

#seo .fv__buttons {
   display: flex;
   align-items: center;
   gap: 14px;
}


#seo .fv__buttons {
   display: flex;
   flex-direction: column;
   gap: 16px;
}
@media screen and (min-width: 768px) {
   #seo .fv__buttons .c-button {
      max-width: 327px;
   }
}
@media screen and (min-width: 1280px) {
   #seo .fv__buttons {
      flex-direction: row;
   }
}
@media screen and (min-width: 1280px) and (min-width: 768px) {
   #seo .fv__buttons .--dl {
      max-width: 222px;
   }
}
@media screen and (min-width: 1280px) and (min-width: 768px) {
   #seo .fv__buttons .--contact {
      max-width: 228px;
      padding: 24px 26px;
   }
}

#seo .c-button {
   position: relative;
   display: flex;
   width: 247px;
   padding: 24px 56px;
   justify-content: center;
   align-items: center;
   gap: 8px;
   font-size: 16px;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}
@media screen and (min-width: 768px) {
   #seo .c-button {
      padding: 24px 50px;
   }
}
#seo .c-button::before {
   position: absolute;
   content: "";
   top: 50%;
   right: 24px;
   transform: translateY(-50%);
}
#seo .c-button.--dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}
@media screen and (min-width: 768px) {
   #seo .c-button.--dl {
      max-width: 272px;
   }
}
#seo .c-button.--dl::before {
   background: url(../images/page-llmo/icon-dl.svg) no-repeat center center/contain;
   width: 16px;
   aspect-ratio: 1/1;
}
#seo .c-button.--dl::after {
   position: absolute;
   content: "";
   top: 50%;
   left: 16px;
   transform: translateY(-50%);
   background: url(../images/page-llmo/button-paper.webp) no-repeat center center/contain;
   width: 46px;
   aspect-ratio: 26/38;
}
#seo .c-button.--dl .c-button__head {
   color: #2aa0d0;
   background: #fff;
}
#seo .c-button.--contact {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}
@media screen and (min-width: 768px) {
   #seo .c-button.--contact {
      max-width: 238px;
   }
}
#seo .c-button.--contact::before {
   background-image: url("../images/page-llmo/icon-arrow-right.svg");
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10/8;
}
#seo .c-button.--contact .c-button__head {
   color: #fff;
   background: #2aa0d0;
}
#seo .c-button.--blue {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}
#seo .c-button.--blue::before {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10' fill='none'%3E%3Cpath d='M1 1L11 5L1 9' stroke='white' stroke-width='1.5'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10/8;
}
#seo .c-button__head {
   position: absolute;
   font-size: 12px;
   line-height: normal;
   font-weight: 600;
   padding: 1px 16px 4px;
   border-radius: 32px;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   white-space: nowrap;
}

@media screen and (max-width: 767px) {
   #seo .fv__sub-title {
      font-size: 14px;
   }

   #seo .fv__title {
      font-size: 32px;
   }

   #seo .fv__text {
      font-size: 14px;
   }

   #seo .fv__buttons {
      flex-direction: column;
   }

   #seo .fv__buttons a {
      width: 100%;
   }
}

#seo .fv__image {
   position: relative;
   display: block;
   width: 285px;
}

#seo .fv__image::after {
   position: absolute;
   content: "";
   z-index: -1;
   background: url(../images/page-seo2/fv-img-bg-sp.webp) no-repeat center center/contain;
   width: 954px;
   aspect-ratio: 1/1;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

@media screen and (min-width: 1280px) {
   #seo .fv__image {
      width: 449px;
   }

   #seo .fv__image::after {
      margin-top: 20px;
      width: 1182px;
   }
}

#seo .sec01 {
   background-color: #F6F6F6;
   padding: 110px 0;
}

#seo .sec01 .list {
   list-style: none;
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.03em;
   padding-top: 50px;
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap:20px;
}
#seo .sec01 .pt0 {
   padding-top: 20px;
}

#seo .sec01 .list dl {
   display: grid;
   grid-template-columns: 65px 1fr;
   align-items: center;
   gap: 22px;
   min-height: 118px;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   box-shadow: 0 0 8px rgba(0, 0, 0, 0.06);
   margin: 0;
   padding: 0 45px;
   border-radius: 0px;
}


#seo .sec01 .list dl dt {
   width: 45px;
   margin: 0 auto;
}

#seo .sec01 .list dl dd {
   margin: 0;
   line-height: 150%;
}

#seo .sec01 .list dl span {
   color:#2aa0d0;
}

#seo .sec01 .list .ads {
   width: 65px;
}

#seo .sec01 .list .channel {
   width: 52px;
}

#seo .sec01 .list .evaluation {
   width: 54px;
}

#seo .sec01 .arrow {
   width: 32px;
   margin: 25px auto 10px auto;
}

#seo .sec01 h3 {
   font-weight: 500;
   font-size: 36px;
   text-align: center;
   line-height: 140%;
}

#seo .sec01 h3 span {
   background:#2aa0d0;
   -webkit-background-clip: text;
   background-clip: text;
   -webkit-text-fill-color: transparent;
   color: transparent;
}

#seo .sec01 .box {
   background-color: #fff;
   border-radius: 0px;
   margin-top: 60px;
   padding: 35px 35px 55px;
}

#seo .sec01 .box h4 {
   font-weight: 700;
   font-size: 22px;
   line-height: 1.5;
   text-align: center;
}

#seo .sec01 .box .txt {
   font-size: 17px;
   line-height: 1.95;
   letter-spacing: 0.02em;
   padding-top: 20px;
}

@media screen and (max-width: 767px) {
   #seo .sec01 .pt0 {
      padding-top: 20px !important;
   }

   #seo .sec01 {
      padding: 80px 0;
   }

   #seo .sec01 .list {
      padding-top: 40px;
      font-size: 16px;
   }

   #seo .sec01 .list dl {
      display: flex;
      flex-direction: column;
      gap: 10px;
      border-radius: 20px;
      padding: 20px;
      font-size: 14px;
   }

   #seo .sec01 .arrow {
      width: 30px;
      margin: 25px auto 15px;
   }

   #seo .sec01 h3 {
      font-size: 18px;
   }

   #seo .sec01 .box {
      border-radius: 12px;
      margin-top: 40px;
      padding: 30px 20px;
   }

   #seo .sec01 .box h4 {
      font-size: 18px;
   }

   #seo .sec01 .box .txt {
      font-size: 14px;
      padding-top: 15px;
   }
}

#seo .sec02 {
   padding-block: 70px;
}

@media screen and (min-width: 768px) {
   #seo .sec02 {
      padding-block: 110px;
   }
}

#seo .sec02_head {
   display: flex;
   justify-content: center;
   gap: 32px;
   padding-top: 40px;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head {
      gap: 49px;
      padding-top: 56px;
   }
}

#seo .sec02_head dl {
   flex: 0 0 auto;
   display: flex;
   flex-direction: column;
   align-items: center;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl {
      width: auto;
   }
}

#seo .sec02_head dl dt {
   font-size: 14px;
   font-family: "Inter", "Noto Sans JP", sans-serif;
   font-weight: 400;
   letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl dt {
      font-size: 20px;
   }
}

#seo .sec02_head dl dd {
   display: flex;
   align-items: center;
   margin: 0;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl dd {
      margin-top: -8px;
   }
}

#seo .sec02_head dl dd img {
   flex: 0 0 auto;
   width: 31px;
   height: auto;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl dd img {
      width: 66px;
   }
}

#seo .sec02_head dl dd p {
   flex: 1 1 auto;
   padding-left: 10px;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl dd p {
      padding-left: 24px;
   }
}

#seo .sec02_head dl dd p .num {
   font-size: 32px;
   color: #2AA0D0;
   font-family: "Outfit", sans-serif;
   font-weight: 200;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl dd p .num {
      font-size: 72px;
   }
}

#seo .sec02_head dl dd p small {
   font-family: "Inter", "Noto Sans JP", sans-serif;
   font-size: 14px;
   font-weight: 400;
}

@media screen and (min-width: 768px) {
   #seo .sec02_head dl dd p small {
      font-size: 16px;
   }
}

#seo .sec02_body {
   margin-top: 30px;
   display: flex;
   flex-direction: column;
   gap: 16px;
   color: #404040;
}

@media screen and (min-width: 768px) {
   #seo .sec02_body {
      align-items: center;
      text-align: center;
      gap: 24px;
   }
}

#seo .sec02_title {
   margin-inline: auto;
   width: 312px;
   color: #fff;
   text-align: center;
   font-size: 24px;
   line-height: 1.4;
   font-weight: 500;
   background: #2aa0d0;
   letter-spacing: -0.02em;
}

@media screen and (min-width: 768px) {
   #seo .sec02_title {
      padding: 0px 21px;
      max-width: inherit;
      width: -moz-fit-content;
      width: fit-content;
      font-size: 44px;
      font-weight: 400;
      display: flex;
      align-items: center;
   }
}

#seo .sec02_title span {
   display: inline-block;
   font-size: 16px;
}

@media screen and (min-width: 768px) {
   #seo .sec02_title span {
      margin-top: 10px;
      font-size: 31px;
   }
}

#seo .sec02_catch {
   font-size: 18px;
   font-weight: 400;
   line-height: 1.2;
   text-align: center;
}

@media screen and (min-width: 768px) {
   #seo .sec02_catch {
      font-size: 28px;
   }
}

#seo .sec02_text {
   font-size: 14px;
   font-weight: 400;
   line-height: 160%;
   text-align: center;
}

@media screen and (min-width: 768px) {
   #seo .sec02_text {
      font-size: 16px;
      line-height: 150%;
   }
}

#seo .sec03 {
   background-color: #F9F9F9;
   padding: 110px 0;
}

#seo .sec03 .box {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 16px;
   padding-top: 40px;
}

#seo .sec03 .box .col {
   display: flex;
   flex-direction: column;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   padding: 25px;
   text-align: center;
}

#seo .sec03 .box .no {
   font-weight: 500;
   font-size: 22px;
}

#seo .sec03 .box .no span {
   background: #2aa0d0;
   -webkit-background-clip: text;
   background-clip: text;
   -webkit-text-fill-color: transparent;
   color: transparent;
}

#seo .sec03 .box figure {
   width: 50px;
   margin: 0 auto;
   padding-top: 30px;
}

#seo .sec03 .box h3 {
   display: flex;
   justify-content: center;
   font-weight: 500;
   font-size: 18px;
   line-height: 1.72;
   letter-spacing: 0em;
   padding-top: 25px;
   flex: 1 0 0;
}

#seo .sec03 .box .txt {
   text-align: justify;
   padding-top: 20px;
}

@media screen and (max-width: 1200px) {
   #seo .sec03 .box .col {
      padding: 30px;
   }
}

@media screen and (max-width: 1023px) {
   #seo .sec03 .box {
      display: flex;
      flex-direction: column;
      align-items: center;
   }

   #seo .sec03 .box .col {
      width: 362px;
      padding: 40px;
   }
}

@media screen and (max-width: 767px) {
   #seo .sec03 {
      padding: 80px 0;
   }

   #seo .sec03 .desc {
      padding-top: 30px;
   }

   #seo .sec03 .box {
      padding-top: 30px;
   }

   #seo .sec03 .box .col {
      width: 100%;
      padding: 30px;
   }

   #seo .sec03 .box .no {
      font-size: 18px;
   }

   #seo .sec03 .box figure {
      padding-top: 20px;
   }

   #seo .sec03 .box h3 {
      font-size: 18px;
      padding-top: 20px;
   }
}

#seo .sec04 {
   padding: 110px 0;
}

#seo .sec04__items {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 40px 45px;
   padding-top: 40px;
}

#seo .sec04__item {
   display: flex;
   flex-direction: column;
   gap: 15px;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   padding: 35px;
}

#seo .sec04__item figure {
   max-width: 60px;
   margin: 0;
}

#seo .sec04__item h3 {
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0;
   padding-top: 5px;
}

@media screen and (max-width: 1023px) {
   #seo .sec04__items {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media screen and (max-width: 767px) {
   #seo .sec04 {
      padding: 80px 0;
   }

   #seo .sec04__items {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   #seo .sec04__item {
      padding: 30px;
   }

   #seo .sec04__item h3 {
      font-size: 18px;
   }
}

#seo .sec05 {
   background-color: #F9F9F9;
   padding: 110px 0;
}

#seo .sec05 .box {
   display: flex;
   flex-wrap: wrap;
   gap: 30px 21px;
   padding-top: 70px;
}

#seo .sec05 .box dl {
   display: grid;
   grid-template-columns: 43px 1fr;
   align-items: center;
   gap: 20px;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   width: calc(33.33% - 14px);
   height: 94px;
   margin: 0;
   padding: 0 20px;
   box-sizing: border-box;
}

#seo .sec05 .box dl.wx2 {
   width: calc(66.66% - 7px);
}

#seo .sec05 .box dl dd {
   font-weight: 500;
   font-size: 20px;
   margin: 0;
}

@media screen and (max-width: 1023px) {
   #seo .sec05 .box dl {
      gap: 15px;
      width: calc(50% - 11px);
      padding: 0 14px;
   }

   #seo .sec05 .box dl.wx2 {
      width: calc(50% - 11px);
   }
}

@media screen and (max-width: 767px) {
   #seo .sec05 {
      padding: 80px 0;
   }

   #seo .sec05 .box {
      gap: 10px;
      padding-top: 40px;
   }

   #seo .sec05 .box dl {
      gap: 10px;
      width: 100%;
      height: 80px;
   }

   #seo .sec05 .box dl.wx2 {
      width: 100%;
   }

   #seo .sec05 .box dl dd {
      font-size: 18px;
   }
}

#seo .sec06 {
   padding: 110px 0;
}

#seo .sec06 .box {
   padding-top: 70px;
}

#seo .sec06 .box .item {
   display: flex;
   flex-wrap: wrap;
   gap: 50px;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   padding: 60px;
}

#seo .sec06 .box .item .col {
   flex: 1 0 calc(100% - 417px);
}

#seo .sec06 .box .item figure {
   width: 367px;
   margin: 0;
}

#seo .sec06 .box .item h3 {
   font-weight: 500;
   font-size: 40px;
   line-height: 1.2;
   letter-spacing: 0.03em;
   color: #777;
}

#seo .sec06 .box .item h3 span {
   display: block;
   width: 100px;
   background-color: #2aa0d0;
   border-radius: 0px;
   text-align: center;
   font-size: 13px;
   font-weight: 700;
   line-height: 2;
   color: #E3EEFF;
   border: 1px solid #2aa0d0;
   text-transform: uppercase;
   margin-bottom: 15px;
}

#seo .sec06 .box .item h4 {
   font-weight: 500;
   font-size: 24px;
   line-height: 1.78;
   letter-spacing: 0.03em;
   color: #2aa0d0;
   padding-top: 40px;
}

#seo .sec06 .box .item .txt {
   color: #777;
   font-weight: 500;
   letter-spacing: 0.03em;
   line-height: 1.85;
   padding-top: 45px;
}

#seo .sec06 .box .item .tag {
   display: flex;
   flex-wrap: wrap;
   gap: 19px;
   width: 100%;
   font-weight: 500;
   font-size: 17px;
   list-style: none;
   margin: 0;
   padding: 0;
}

#seo .sec06 .box .item .tag li {
   display: grid;
   grid-template-columns: 38px 1fr;
   align-items: center;
   gap: 10px;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   padding: 12px 15px;
}

#seo .sec06 .box .item .tag li:before {
   content: '';
   width: 28px;
   height: 28px;
   background: url("../images/page-seo2/check-mark.webp") no-repeat center top/cover;
   display: block;
}

#seo .sec06 .box .arrow {
   width: 28px;
   margin: 35px auto;
}

#seo .sec06 .box .arrow img {
   display: block;
}

#seo .sec06 .box .txt-bottom {
   width: 100%;
   background-color: #2aa0d0;
   color: #fff;
   font-weight: 500;
   font-size: 17px;
   border-radius: 0px;
   text-align: center;
   margin-top: 20px;
   padding: 20px 0;
}

#seo .sec06 .box .txt-bottom:before {
   content: '';
   width: 20px;
   height: 12px;
   background: url("../images/page-seo2/arrow-down-3.webp") no-repeat center top/cover;
   display: block;
   margin: 0 auto;
}

#seo .sec06 .catch .arrow {
   width: 32px;
   margin: 30px auto 15px;
}

#seo .sec06 .catch p {
   font-weight: 500;
   font-size: 36px;
   line-height: 1.48;
   text-align: center;
}

#seo .sec06 .catch p span {
   color: #2aa0d0;
}

@media screen and (max-width: 1023px) {
   #seo .sec06 .box .item {
      flex-direction: column;
      align-items: center;
      flex-wrap: nowrap;
      padding: 30px;
   }

   #seo .sec06 .box .col {
      width: 100%;
      text-align: center;
      flex: inherit;
   }

   #seo .sec06 .box h3 span {
      margin: 0 auto;
   }

   #seo .sec06 .box .tag {
      justify-content: center;
   }
}

@media screen and (max-width: 767px) {
   #seo .sec06 {
      padding: 80px 0;
   }

   #seo .sec06 .box {
      padding-top: 40px;
   }

   #seo .sec06 .box .item {
      gap: 30px;
      padding: 30px 15px;
   }

   #seo .sec06 .box .item h3 {
      font-size: 30px;
   }

   #seo .sec06 .box .item h4 {
      font-size: 20px;
      padding-top: 20px;
   }

   #seo .sec06 .box .item .txt {
      font-size: 13px;
      padding-top: 20px;
   }

   #seo .sec06 .box .item figure {
      width: 100%;
   }

   #seo .sec06 .box .item .tag {
      justify-content: flex-start;
      gap: 10px;
      font-size: 14px;
   }

   #seo .sec06 .box .item .tag li {
      grid-template-columns: 24px 1fr;
      width: 100%;
      padding: 10px;
      box-sizing: border-box;
   }

   #seo .sec06 .box .item .tag li:before {
      width: 24px;
      height: 24px;
   }

   #seo .sec06 .box .item .txt-bottom {
      font-size: 15px;
      margin-top: 0;
      padding: 20px;
   }

   #seo .sec06 .box .arrow {
      margin: 20px auto;
   }

   #seo .sec06 .catch .arrow {
      width: 30px;
      margin: 30px auto 20px;
   }

   #seo .sec06 .catch p {
      font-size: 22px;
   }
}

#seo .sec07 {
   background-color: #F9F9F9;
   padding: 110px 0;
}

#seo .sec07 .box {
   padding-top: 20px;
   display: flex;
   gap:20px;
}



#seo .sec07 .box .item {
   background-color: #fff;
   border-radius: 0px;
   padding: 35px;
   width: 50%;
}

@media screen and (max-width: 768px) {

   #seo .sec07 .box {
      padding-top: 14px;
      display: block;
      gap:14px;
   }

   #seo .sec07 .box .item {
      width: 100%;
      margin-bottom: 14px;
   }
   #seo .sec07 .box .item:last-child {
      margin-bottom: 0px;
   }
}

#seo .sec07 .box h3 {
   display: grid;
   grid-template-columns: 100px 1fr;
   align-items: center;
   gap: 12px;
   font-weight: 500;
   font-size: 24px;
   letter-spacing: 0.03em;
   color: #2aa0d0;
}

#seo .sec07 .box h3 span {
   display: block;
   background-color: #2aa0d0;
   border-radius: 0px;
   text-align: center;
   font-size: 13px;
   font-weight: 700;
   line-height: 2;
   color: #fff;
   border: 1px solid #2aa0d0;
   text-transform: uppercase;
}

#seo .sec07 .box ul {
   display: flex;
   flex-wrap: wrap;
   gap: 0px 14px;
   list-style: none;
   margin: 10px 0 0;
   padding: 0;
   font-weight: 500;
   letter-spacing: 0.03em;
   color: #777;
}

#seo .sec07 .box .arrow {
   width: 15px;
   margin: 20px auto;
}

#seo .sec07 .box .arrow img {
   display: block;
}

#seo .sec07 .catch {
   font-weight: 500;
   font-size: 36px;
   line-height: 1.48;
   letter-spacing: 0.1em;
   text-align: center;
   padding-top: 50px;
}

#seo .sec07 .catch span {
   color: #2aa0d0;
}

@media screen and (max-width: 1023px) {
   #seo .sec07 .catch {
      font-size: 35px;
   }
}

@media screen and (max-width: 767px) {
   #seo .sec07 {
      padding: 80px 0;
   }

   #seo .sec07 .box .item {
      padding: 20px;
   }

   #seo .sec07 .box h3 {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 5px;
      font-size: 20px;
   }

   #seo .sec07 .box h3 span {
      width: 100px;
   }

   #seo .sec07 .box ul {
      flex-direction: column;
      align-items: center;
      flex-wrap: nowrap;
      gap: 10px;
      text-align: center;
   }

   #seo .sec07 .catch {
      font-size: 22px;
      padding-top: 40px;
   }
}

#seo .sec08 {
   padding: 110px 0;
}

#seo .sec08__img {
   max-width: 1121px;
   margin: 0 auto;
   padding-top: 70px;
}

@media screen and (max-width: 767px) {
   #seo .sec08 {
      padding: 80px 0;
   }

   #seo .sec08__img {
      padding-top: 40px;
   }
}

#seo .sec09 {
   background-color: #F9F9F9;
   padding: 110px 0;
}

#seo .sec09 ul {
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   gap: 25px;
   margin: 0;
   padding: 70px 0 0;
   list-style: none;
   font-weight: 500;
   font-size: 20px;
}

#seo .sec09 ul li {
   display: grid;
   grid-template-columns: 38px 1fr;
   align-items: center;
   gap: 10px;
   background-color: #fff;
   border: 1px solid #E3E3E3;
   border-radius: 0px;
   padding: 27px 22px;
}

#seo .sec09 ul li:before {
   content: '';
   width: 28px;
   height: 28px;
   background: url("../images/page-seo2/check-mark.webp") no-repeat center top/cover;
   display: block;
}

@media screen and (max-width: 767px) {
   #seo .sec09 {
      padding: 80px 0;
   }

   #seo .sec09 ul {
      justify-content: flex-start;
      gap: 10px;
      font-size: 16px;
      line-height: 1.5;
      padding-top: 40px;
   }

   #seo .sec09 ul li {
      grid-template-columns: 24px 1fr;
      width: 100%;
      height: 70px;
      box-sizing: border-box;
      padding: 0 10px;
   }

   #seo .sec09 ul li:before {
      width: 24px;
      height: 24px;
   }
}

#seo .media_member {
   background: #fff;
   padding: 110px 0;
}

#seo .sec_media_member__container {
   margin-top: 70px;
}

@media screen and (max-width: 767px) {
   #seo .media_member {
      padding: 80px 0;
   }

   #seo .sec_media_member__container {
      margin-top: 40px;
   }
}

#seo .sec10 {
   background-color: #F9F9F9;
   padding: 110px 0;
}

#seo .sec10__list {
   margin: 50px 0 0;
   padding: 0;
   display: flex;
   flex-direction: column;
   gap: 24px;
}

@media screen and (max-width: 767px) {
   #seo .sec10 {
      padding: 80px 0;
   }
}

@media screen and (min-width: 1024px) {
   #seo .sec10__list {
      flex-direction: row;
      gap: 24px;
   }
}

#seo .sec10__item {
   display: flex;
   flex-direction: column;
   align-items: center;
   padding: 24px;
   background-color: #fff;
   border-width: 1px;
   border-style: solid;
   border-color: #eee;
}

@media screen and (min-width: 1024px) {
   #seo .sec10__item {
      padding: 24px;
   }
}

#seo .sec10__item-icon {
   flex: 0 0 auto;
   width: 96px;
}

#seo .sec10__item-title {
   margin-top: 16px;
   font-size: 18px;
   font-weight: 400;
   color: #2aa0d0;
   letter-spacing: -0.05em;
}

@media screen and (min-width: 1024px) {
   #seo .sec10__item-title {
      margin-top: 32px;
      font-size: 18px;
   }
}

#seo .sec10__item-text {
   margin-top: 16px;
   font-size: 14px;
   font-weight: 400;
   line-height: 1.5;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 1024px) {
   #seo .sec10__item-text {
      font-size: 14px;
   }
}

#seo .sec11 {
   padding: 110px 0;
}

#seo .sec11__img {
   padding-top: 35px;
}

@media screen and (max-width: 767px) {
   #seo .sec11 {
      padding: 80px 0;
   }
}

#seo .sec12 {
   padding-bottom: 110px;
}

@media screen and (max-width: 767px) {
   #seo .sec12 {
      padding-bottom: 80px;
   }
}

#seo .sec12__wrap {
   padding-inline: 0;
   max-width: 100%;
}

@media screen and (min-width: 768px) {
   #seo .sec12__wrap {
      padding-inline: 0;
      max-width: 100%;
   }
}

@media screen and (min-width: 1080px) {
   #seo .sec12__wrap {
      padding-inline: 50px;
      max-width: 1200px;
   }
}

#seo .sec12__container {
   margin-top: 41px;
}

@media screen and (min-width: 768px) {
   #seo .sec12__container {
      margin-top: 35px;
   }
}

@media screen and (min-width: 1080px) {
   #seo .sec12 .swiper-wrapper {
      display: flex;
      flex-wrap: wrap;
      align-items: stretch;
      gap: 32px 40px;
      width: 100%;
   }
}

#seo .sec12 .swiper-slide {
   width: auto;
}

@media screen and (min-width: 1080px) {
   #seo .sec12 .swiper-slide {
      width: calc((100% - 80px) / 3);
      height: 100%;
   }
}

#seo .sec12 .swiper {
   padding-inline: 24px;
   padding-bottom: 18px;
}

@media screen and (min-width: 1080px) {
   #seo .sec12 .swiper {
      padding: 0;
   }
}

#seo .sec12__item {
   width: 279px;
   height: 444px;
   display: flex;
   flex-direction: column;
   gap: 14px;
   border: 1px solid #eee;
   background: #fff;
}

#seo .sec12__item:hover {
   transform: scale(1);
}

@media screen and (min-width: 1080px) {
   #seo .sec12__item {
      width: 100%;
      height: auto;
      min-height: 458px;
      gap: 16px;
   }
}

#seo .sec12__img {
   overflow: hidden;
   aspect-ratio: 279/182;
   flex-shrink: 0;
}

@media screen and (min-width: 1080px) {
   #seo .sec12__img {
      aspect-ratio: 340/222;
      width: 100%;
   }
}

#seo .sec12__img img {
   -o-object-fit: cover;
   object-fit: cover;
   -o-object-position: center;
   object-position: center;
   width: 100%;
   height: 100%;
}

#seo .sec12__content {
   padding-inline: 16px;
   padding-bottom: 12px;
   display: flex;
   flex-direction: column;
   align-items: end;
   gap: 50px;
   height: 100%;
   justify-content: space-between;
}

@media screen and (min-width: 1080px) {
   #seo .sec12__content {
      padding-inline: 24px;
      gap: 8px;
   }
}

#seo .sec12__body {
   display: flex;
   flex-direction: column;
   align-items: start;
   gap: 14px;
   width: 100%;
}

#seo .sec12__head {
   display: flex;
   justify-content: space-between;
   gap: 3px;
   width: 100%;
}

#seo .sec12__com {
   color: #333;
   font-size: 16px;
   font-weight: 700;
   line-height: normal;
}

@media screen and (min-width: 1080px) {
   #seo .sec12__com {
      font-size: 18px;
   }
}

#seo .sec12__time {
   color: #888;
   font-size: 14px;
   font-weight: 400;
}

#seo .sec12__text {
   color: #000;
   font-size: 14px;
   font-weight: 400;
   line-height: 150%;
}

@media screen and (min-width: 1080px) {
   #seo .sec12__text {
      font-size: 16px;
   }
}

#seo .sec12__tag {
   padding: 4px 12px;
   font-size: 13px;
   font-weight: 500;
   line-height: 140%;
   border-radius: 24px;
   background: rgba(42, 160, 208, 0.1);
}

#seo .sec12__button {
   position: relative;
   width: 36px;
   height: 36px;
   aspect-ratio: 1/1;
   border: 1px solid #eee;
   background: #f8f8f8;
}

#seo .sec12__button::before {
   position: absolute;
   content: "";
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='6' height='13' viewBox='0 0 6 13' fill='none'%3E%3Cpath d='M1 1L5.5 6.4L1 11.8' stroke='%232AA0D0' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   background-repeat: no-repeat;
   background-size: contain;
   background-position: center;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   aspect-ratio: 4.5/10.8;
   width: 5px;
}

#seo .sec12__scrollbar {
   left: 24px;
   width: calc(100% - 48px);
   background: #fff;
}

#seo .sec12__scrollbar .swiper-scrollbar-drag {
   background: #ccc;
}

#seo .sec13 {
   background-color: #F9F9F9;
   padding: 110px 0;
}

#seo .sec13 .block {
   background-color: #fff;
   border-radius: 0px;
   margin-top: 70px;
   padding: 25px 40px 60px;
}

#seo .sec13 .block h3 {
   background-color: #2aa0d0;
   color: #fff;
   font-weight: 700;
   font-size: 24px;
   letter-spacing: 0.02em;
   line-height: 35px;
   text-align: center;
   margin: 0 -15px;
   padding: 10px 20px;
   border-radius: 0px;
}

#seo .sec13 .block h4 {
   font-weight: 500;
   font-size: 22px;
   line-height: 1.78;
   color: #2aa0d0;
   border-bottom: 1px solid;
   padding-bottom: 8px;
}

#seo .sec13 .block .box-1 {
   display: flex;
   align-items: center;
   flex-wrap: wrap;
   gap: 16px 10px;
   padding-top: 22px;
}

#seo .sec13 .block .box-1 h4 {
   flex: 1 0 calc(100% - 480px);
   color: inherit;
   border-bottom: 0;
   padding-bottom: 0;
}

#seo .sec13 .block .box-1 figure {
   width: 464px;
   margin: 0;
}

#seo .sec13 .block .box-1 .txt {
   width: 100%;
}

#seo .sec13 .block .box-1 .txt dl {
   margin: 0;
}

#seo .sec13 .block .box-1 .txt dl:not(:last-child) {
   padding-bottom: 35px;
}

#seo .sec13 .block .box-1 .txt dl dt {
   display: grid;
   grid-template-columns: 34px 1fr;
   align-items: center;
   gap: 12px;
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.03em;
}

#seo .sec13 .block .box-1 .txt dl dt span {
   background: #2aa0d0;
   color: #fff;
   border-radius: 0px;
   font-size: 16px;
   line-height: 31px;
   text-align: center;
}

#seo .sec13 .block .box-1 .txt dl dd {
   margin: 0;
   padding: 15px 0 0;
}

#seo .sec13 .block .box-2 {
   padding-top: 40px;
}

#seo .sec13 .block .box-2 figure {
   margin: 0;
   padding-top: 30px;
}

#seo .sec13 .block .box-2 .txt {
   list-style: none;
   margin: 0;
   padding: 20px 0 0;
}

#seo .sec13 .block .box-2 .photo {
   max-width: 818px;
}

#seo .sec13 .block .box-3 {
   padding-top: 40px;
}

#seo .sec13 .block .box-3 .in {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   gap: 48px;
   padding-top: 30px;
}

#seo .sec13 .block .box-3 dl {
   display: grid;
   grid-template-columns: 70px 1fr;
   gap: 13px;
   border: 1px solid #DFDFDF;
   border-radius: 12px;
   margin: 0;
   padding: 15px;
}

#seo .sec13 .block .box-3 dl dd {
   margin: 0;
   padding-top: 6px;
}

#seo .sec13 .block .box-3 h5 {
   color: #2aa0d0;
   font-weight: 500;
   font-size: 20px;
   letter-spacing: 0.02em;
   margin: 0;
}

#seo .sec13 .block .traffic {
   display: grid;
   grid-template-columns: 34px 1fr;
   align-items: center;
   gap: 15px;
   background-color: #f3f3f3;
   color: #2aa0d0;
   font-weight: 500;
   font-size: 17px;
   border-radius: 0px;
   margin-top: 40px;
   padding: 20px 20px;
}

#seo .sec13 .block .traffic small {
   font-size: 16px;
   color: #555;
   margin-left: 15px;
}

#seo .sec13 .block .traffic:before {
   content: '';
   width: 24px;
   height: 21px;
   background: url("../images/page-seo2/case-photo-8.webp") no-repeat center top/cover;
   display: block;
}

@media screen and (max-width: 1023px) {
   #seo .sec13 .block .box-1 {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 30px;
   }

   #seo .sec13 .block .box-1 h4 {
      width: 100%;
   }

   #seo .sec13 .block .box-3 .in {
      grid-template-columns: 1fr;
      gap: 30px;
   }

   #seo .sec13 .block .traffic small {
      display: block;
      margin-left: 0;
   }
}

@media screen and (max-width: 767px) {
   #seo .sec13 {
      padding: 80px 0;
   }

   #seo .sec13 .block {
      margin-top: 40px;
      padding: 20px 20px 40px;
   }

   #seo .sec13 .block h3 {
      font-size: 20px;
      line-height: 30px;
      margin: 0;
      padding: 10px;
   }

   #seo .sec13 .block h4 {
      font-size: 18px;
      line-height: 30px;
   }

   #seo .sec13 .block .box-1 {
      gap: 20px;
   }

   #seo .sec13 .block .box-1 figure {
      width: 100%;
   }

   #seo .sec13 .block .box-1 .txt dl:not(:last-child) {
      padding-bottom: 20px;
   }

   #seo .sec13 .block .box-1 .txt dl dt {
      gap: 8px;
      font-size: 18px;
   }

   #seo .sec13 .block .box-1 .txt dl dd {
      padding-top: 5px;
   }

   #seo .sec13 .block .box-1 .txt dl dd p {
      text-indent: -14px;
      padding-left: 14px;
   }

   #seo .sec13 .block .box-2 figure,
   #seo .sec13 .block .box-2 .txt {
      padding-top: 15px;
   }

   #seo .sec13 .block .box-3 dl {
      grid-template-columns: 1fr;
      gap: 5px;
      padding: 20px;
   }

   #seo .sec13 .block .box-3 dl dt {
      width: 70px;
      margin: 0 auto;
   }

   #seo .sec13 .block .box-3 dl dd p {
      padding-top: 10px;
   }

   #seo .sec13 .block .box-3 h5 {
      text-align: center;
      font-size: 18px;
   }

   #seo .sec13 .block .traffic {
      grid-template-columns: 1fr;
      gap: 10px;
      padding: 20px 10px;
      text-align: center;
      font-size: 14px;
   }

   #seo .sec13 .block .traffic small {
      font-size: 12px;
   }

   #seo .sec13 .block .traffic:before {
      margin: 0 auto;
   }
}

#seo .sec14 {
   background: url("../images/page-seo2/sec14-bg.webp") no-repeat center top/cover;
   color: #E5E5E5;
   text-align: center;
   padding: 80px 0;
}

#seo .sec14 h2 {
   font-weight: 700;
   font-size: 40px;
   line-height: 1.5;
}

#seo .sec14 .desc {
   font-weight: 500;
   font-size: 18px;
   letter-spacing: 0.04em;
   padding-top: 40px;
}

#seo .sec14 .btn {
   padding-top: 56px;
}

#seo .sec14 .c-button {
   margin: 0 auto;
}

@media screen and (max-width: 767px) {
   #seo .sec14 {
      padding: 50px 0 60px;
   }

   #seo .sec14 h2 {
      font-size: 24px;
      margin: 0 -10px;
   }

   #seo .sec14 .desc {
      font-size: 16px;
      padding-top: 20px;
   }

   #seo .sec14 .btn {
      padding-top: 30px;
   }
}

#seo .sec15 {
   overflow: hidden;
   position: relative;
   background: #edf7fc;
   padding: 50px 0;
}

@media screen and (min-width: 768px) {
   #seo .sec15 {
      padding: 110px 0 110px;
   }
}

#seo .sec15__inner {
   position: relative;
   z-index: 1;
   display: flex;
   flex-direction: column;
   gap: 20px;
}

@media screen and (min-width: 768px) {
   #seo .sec15__inner {
      align-items: center;
   }
}

#seo .sec15__desc {
   text-align: center;
   letter-spacing: 0.03em;
}

@media screen and (min-width: 768px) {
   #seo .sec15__desc {
      padding-top: 50px;
   }
}

#seo .sec15__button {
   padding-block: 42px;
   position: relative;
   border-radius: 8px;
   background: #2aa0d0;
   display: flex;
   justify-content: center;
   gap: 16px;
   color: #fff;
}

@media screen and (min-width: 768px) {
   #seo .sec15__button {
      padding-block: 49px;
      padding-right: 20px;
      align-items: center;
      margin-top: 21px;
      max-width: 694px;
      width: 100%;
      gap: 37px;
   }
}

@media screen and (min-width: 1024px) {
   #seo .sec15__button {
      max-width: 840px;
   }
}

#seo .sec15__img {
   width: 79px;
}

@media screen and (min-width: 768px) {
   #seo .sec15__img {
      width: 138px;
   }
}

#seo .sec15__text {
   font-size: 22px;
   font-weight: 300;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   #seo .sec15__text {
      font-size: 28px;
   }
}

#seo .sec15__text span {
   font-size: 28px;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   #seo .sec15__text span {
      font-size: 44px;
   }
}

#seo .sec15__dl-icon {
   display: none;
}

@media screen and (min-width: 768px) {
   #seo .sec15__dl-icon {
      margin-left: -20px;
      display: flex;
      align-items: center;
      width: 69px;
      aspect-ratio: 1/1;
   }
}

#seo .sec15__dl {
   position: absolute;
   display: flex;
   align-items: center;
   gap: 12px;
   bottom: 16px;
   right: 16px;
}

@media screen and (min-width: 768px) {
   #seo .sec15__dl {
      gap: 22px;
      bottom: 20px;
      right: 19px;
   }
}

#seo .sec15__dl-text {
   font-size: 14px;
   font-weight: 400;
   line-height: 120%;
}

@media screen and (min-width: 768px) {
   #seo .sec15__dl-text {
      font-size: 20px;
   }
}

#seo .sec15__dl-arrow {
   width: 12px;
   aspect-ratio: 5/4;
}

@media screen and (min-width: 768px) {
   #seo .sec15__dl-arrow {
      width: 19px;
   }
}

#seo .sec15__bg-text {
   position: absolute;
   color: #e3f3fa;
   font-family: Montserrat;
   font-size: 120px;
   font-weight: 400;
   line-height: 100%;
   left: -6px;
   bottom: -18px;
   z-index: 0;
}

@media screen and (min-width: 768px) {
   #seo .sec15__bg-text {
      font-size: 192px;
      left: 25px;
      bottom: -26px;
   }
}

#seo .sec15__bg-img {
   width: 92%;
   position: absolute;
   bottom: 0;
   right: 1.8%;
}

#seo .sec16 {
   background-color: #F8F9FA;
   padding-block: 60px 70px;
}

@media screen and (min-width: 768px) {
   #seo .sec16 {
      padding-block: 110px;
   }
}

#seo .sec16__inner {
   max-width: 1063px;
   margin: 0 auto;
}

#seo .sec16__items {
   margin-top: 43px;
   display: flex;
   flex-direction: column;
   gap: 15px;
}

#seo .sec16__item {
   padding: 16px;
   background: #fff;
}

@media screen and (min-width: 768px) {
   #seo .sec16__item {
      padding: 27px 30px;
   }
}

#seo .sec16__head {
   display: flex;
   justify-content: space-between;
   align-items: start;
   gap: 14px;
}

#seo .sec16__head-inner {
   display: flex;
   align-items: start;
   gap: 20px;
}

#seo .sec16__head-text {
   color: #000;
   font-size: 14px;
   font-weight: 400;
   line-height: 150%;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 768px) {
   #seo .sec16__head-text {
      padding-top: 6px;
      font-size: 16px;
   }
}

#seo .sec16__head-icon {
   margin-top: 16px;
   width: 13px;
   height: -moz-fit-content;
   height: fit-content;
   flex-shrink: 0;
   aspect-ratio: 12/8;
   display: flex;
   transition: 0.3s;
}

#seo .sec16__head-icon.is-open {
   transform: rotate(180deg);
}

#seo .sec16__num {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 40px;
   aspect-ratio: 1/1;
   background: #2aa0d0;
   flex-shrink: 0;
}

#seo .sec16__num-text {
   color: #fff;
   font-family: Montserrat;
   font-size: 24px;
   font-weight: 400;
   line-height: normal;
}

#seo .sec16__body {
   padding-top: 16px;
}

#seo .sec16__body-text {
   color: #666;
   font-size: 14px;
   font-weight: 400;
   line-height: 150%;
}

@keyframes infinity-scroll-right-pc {
   0% {
      background-position: 0 0;
   }

   100% {
      background-position: 2461px 0;
   }
}

@keyframes infinity-scroll-right-sp {
   0% {
      background-position: 0 0;
   }

   100% {
      background-position: 1987px 0;
   }
}

@keyframes infinity-scroll-left-pc {
   0% {
      background-position: 0 0;
   }

   100% {
      background-position: -2461px 0;
   }
}

@keyframes infinity-scroll-left-sp {
   0% {
      background-position: 0 0;
   }

   100% {
      background-position: -1987px 0;
   }
}

#seo .sec17 {
   padding-block: 60px 65px;
}

@media screen and (min-width: 768px) {
   #seo .sec17 {
      padding-block: 83px 117px;
   }
}

#seo .sec17__wrap {
   display: flex;
   flex-direction: column;
   align-items: center;
}

@media screen and (min-width: 768px) {
   #seo .sec17__wrap {
      max-width: 1131px;
   }
}

#seo .sec17__items {
   margin-top: 46px;
   display: flex;
   flex-direction: column;
   gap: 32px;
}

@media screen and (min-width: 768px) {
   #seo .sec17__items {
      margin-top: 50px;
   }
}

#seo .sec17__item {
   display: flex;
   flex-direction: column;
   gap: 9px;
}

@media screen and (min-width: 768px) {
   #seo .sec17__item {
      flex-direction: row;
      align-items: center;
      gap: 30px;
   }
}

#seo .sec17__img {
   overflow: hidden;
   border-radius: 2px;
   background: #d9d9d9;
   aspect-ratio: 531/283;
   width: 100%;
}

@media screen and (min-width: 768px) {
   #seo .sec17__img {
      width: 51.5033947624%;
      flex-shrink: 0;
   }
}

#seo .sec17__img img {
   -o-object-fit: cover;
   object-fit: cover;
   -o-object-position: center;
   object-position: center;
   width: 100%;
   height: 100%;
}

#seo .sec17__body {
   display: flex;
   flex-direction: column;
   gap: 8px;
}

#seo .sec17__time {
   color: #888;
   font-size: 14px;
   font-weight: 400;
   line-height: normal;
}

#seo .sec17__title {
   color: #333;
   font-size: 16px;
   font-weight: 400;
   line-height: normal;
   letter-spacing: -0.01em;
}

@media screen and (min-width: 768px) {
   #seo .sec17__title {
      font-size: 20px;
   }
}

#seo .sec17__button {
   margin-top: 56px;
}

#seo .m-scroll {
   margin-top: 50px;
}

@media screen and (min-width: 768px) {
   #seo .m-scroll {
      margin-top: 146px;
   }
}

#seo .m-scroll_top {
   position: relative;
   z-index: 10;
   width: 100%;
   height: 88px;
   background-image: url("../images/page-seo2/loop-img-top-sp.webp");
   background-size: 1908px;
   background-repeat: repeat-x;
   animation: infinity-scroll-right-sp 80s infinite linear 0.5s both;
}

@media screen and (min-width: 768px) {
   #seo .m-scroll_top {
      width: 100%;
      height: 113px;
      background-image: url("../images/page-seo2/loop-img-top-pc.webp");
      background-size: 2461px;
      animation: infinity-scroll-right-pc 80s infinite linear 0.5s both;
   }
}

#seo .m-scroll_bottom {
   position: relative;
   z-index: 10;
   width: 100%;
   height: 88px;
   background-image: url("../images/page-seo2/loop-img-bottom-sp.webp");
   background-size: 1908px;
   background-repeat: repeat-x;
   animation: infinity-scroll-left-sp 80s infinite linear 0.5s both;
}

@media screen and (min-width: 768px) {
   #seo .m-scroll_bottom {
      width: 100%;
      height: 113px;
      background-image: url("../images/page-seo2/loop-img-bottom-pc.webp");
      background-size: 2461px;
      animation: infinity-scroll-left-pc 80s infinite linear 0.5s both;
   }
}

/* ========== Fixed CTA bar / header catch (グロナビ施策) ========== */
#seo .c-fixed-cta {
   display: none;
   position: fixed;
   top: auto;
   left: 0;
   right: 0;
   bottom: 0;
   width: auto;
   max-width: none;
   z-index: 98;
   pointer-events: auto;
}

#seo .c-fixed-cta__list {
   display: flex;
   align-items: stretch;
   flex-direction: row;
   margin: 0;
   padding: 0;
}

#seo .c-fixed-cta__item {
   flex: 1;
   list-style: none;
}

#seo .c-fixed-cta__button {
   display: flex;
   align-items: center;
   justify-content: center;
   color: #fff;
   font-size: 1.5rem;
   padding: 8px;
   background: #2aa0d0;
   width: auto;
   height: 48px;
   border-radius: 0;
   text-decoration: none;
   box-sizing: border-box;
}

#seo .c-fixed-cta__inner {
   display: flex;
   align-items: center;
   gap: 8px;
   width: auto;
   overflow: hidden;
}

#seo .c-fixed-cta__icon {
   flex: 0 0 auto;
}

#seo .c-fixed-cta__icon img,
#seo .c-icon.-download {
   width: auto;
   height: 24px;
   vertical-align: middle;
}

#seo .c-fixed-cta__label {
   flex: 0 0 auto;
   white-space: nowrap;
}

#seo .c-fixed-cta__button.-accent {
   background: #fff;
   color: #2aa0d0;
   border-top: 1px solid #2aa0d0;
}

#seo .site-main {
   padding-bottom: 48px;
}

@media (max-width: 767px) {
   #seo .c-fixed-cta {
      display: block;
   }
}

#seo .br-sp {
   display: block;
}

@media screen and (min-width: 1500px) {
   #seo .br-sp {
      display: none;
   }
}

#seo .cta {
   padding: 56px 0px 72px;
   background-image: linear-gradient(to right, #B5E2FA, #DCDCFF);
}

#seo .cta .c-button1 {
   position: relative;
   display: flex;
   width: 327px;
   padding: 24px 56px;
   justify-content: center;
   align-items: center;
   gap: 8px;
   font-size: 18px;
   font-weight: 500;
   border-radius: 4px;
   line-height: 1;
}

#seo .cta .c-button1:before {
   position: absolute;
   content: "";
   top: 50%;
   right: 24px;
   transform: translateY(-50%);
}

#seo .cta .c-button__head {
   position: absolute;
   font-size: 12px;
   line-height: normal;
   font-weight: 600;
   padding: 1px 16px 4px;
   border-radius: 32px;
   top: 0;
   left: 50%;
   transform: translate(-50%, -50%);
   white-space: nowrap;
}

#seo .cta .c-button1.dl {
   background: #2aa0d0;
   color: #fff;
   border: 1px solid #fff;
}

#seo .cta .c-button1.dl:before {
   background: url(../images/page-seo2/icon-dl.svg) no-repeat center center/contain;
   width: 16px;
   aspect-ratio: 1/1;
}

#seo .cta .c-button1.dl:after {
   position: absolute;
   content: "";
   top: 50%;
   left: 16px;
   transform: translateY(-50%);
   background: url(../images/page-seo2/button-paper.webp) no-repeat center center/contain;
   width: 46px;
   aspect-ratio: 26/38;
}

#seo .cta .c-button1.dl .c-button__head {
   color: #2aa0d0;
   background: #fff;
}

#seo .cta .c-button1.inq {
   background: #fff;
   color: #2aa0d0;
   border: 1px solid #2aa0d0;
}

#seo .cta .c-button1.inq:before {
   background-image: url(../images/page-seo2/icon-arrow-right.svg);
   background-repeat: no-repeat;
   background-size: contain;
   width: 10px;
   aspect-ratio: 10 / 8;
}

#seo .cta .c-button1.inq .c-button__head {
   color: #fff;
   background: #2aa0d0;
}

@media screen and (min-width: 768px) {
   #seo .cta {
      padding: 110px 0px 110px;
   }
}

#seo .cta__content {
   margin-top: 55px;
   display: flex;
   flex-direction: column;
   gap: 25px;
}

@media screen and (min-width: 768px) {
   #seo .cta__content {
      margin: 50px auto 0;
      max-width: 624px;
      gap: 16px;
   }
}

#seo .cta__buttons {
   display: flex;
   flex-direction: column;
   gap: 31px;
}

@media screen and (min-width: 768px) {
   #seo .cta__buttons {
      flex-direction: row;
      gap: 16px;
   }
}

#seo .cta .c-button {
   width: 100%;
   max-width: 100%;
}

@media screen and (min-width: 768px) {
   #seo .cta .c-button {
      width: calc((100% - 16px) / 2);
   }
}

#seo .cta__item {
   padding: 21px 0px;
   display: flex;
   flex-direction: column;
   align-items: center;
   background: #fff;
}

#seo .cta__item-head {
   font-size: 20px;
   font-weight: 400;
   line-height: normal;
}

#seo .cta__item-tel {
   margin-top: 12px;
   display: flex;
   align-items: center;
   gap: 12px;
}

#seo .cta__item-icon {
   width: 12px;
   display: flex;
   align-items: center;
}

#seo .cta__item-icon img {
   aspect-ratio: 12/17;
}

#seo .cta__item-num {
   font-size: 18px;
   font-weight: 400;
   line-height: normal;
}

#seo .cta__item-data {
   margin-top: 5px;
   font-size: 13px;
   font-weight: 400;
   line-height: normal;
}

.award-number__list {
   display: flex;
   gap:20px;
   margin:30px 0 0 -38px;
}

.award-number__list li {
   padding: 10px 40px;
   position: relative;
   list-style: none;
}

.award-number__list li:before {
   background-image: url(../images/page-seo2/award-number-left.svg);
   background-position: 50%;
   background-repeat: no-repeat;
   background-size: contain;
   content: "";
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 40px;
}

.award-number__list li .title {
   color: #555;
   display: block;
   font-size:16px;
   font-weight: 400;
   line-height: 1.2;
   text-align: center;
   margin-bottom: 4px;
}

.award-number__list li .number {
   color: #2aa0d0;
   display: block;
   margin: 0 auto;
   position: relative;
}

.award-number__list li .number .count {
   font-family: Inter, sans-serif;
   font-size: 40px;
   font-weight: 700;
   left: 0;
   line-height: 1.2;
}

.award-number__list li:after {
   background-image: url(../images/page-seo2/award-number-right.svg);
   background-position: 50%;
   background-repeat: no-repeat;
   background-size: contain;
   content: "";
   height: 100%;
   position: absolute;
   right: 0;
   top: 0;
   width: 40px;
}

.award-number__list li .number .unit {
   font-size: 15px;
   font-weight: 400;
   line-height: 1.2;
   margin: -2px 0 0 3px;
   font-weight: 700;
}


@media screen and (max-width: 768px) {
   .award-number__list {
      display: flex;
      gap:10px;
      margin:15px 0 0 -38px;
   }

   .award-number__list li {
      padding: 10px 35px;
      position: relative;
      list-style: none;
   }

   .award-number__list li:before {
      background-image: url(../images/page-seo2/award-number-left.svg);
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 30px;
   }

   .award-number__list li .title {
      color: #555;
      display: block;
      font-size:13px;
      font-weight: 400;
      line-height: 1;
      text-align: center;
      margin-bottom: 4px;
   }

   .award-number__list li .number {
      color: #2aa0d0;
      display: block;
      margin: 0 auto;
      position: relative;
   }

   .award-number__list li .number .count {
      font-family: Inter, sans-serif;
      font-size: 26px;
      font-weight: 700;
      left: 0;
      line-height: 1.1;
   }

   .award-number__list li:after {
      background-image: url(../images/page-seo2/award-number-right.svg);
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: contain;
      content: "";
      height: 100%;
      position: absolute;
      right: 0;
      top: 0;
      width: 30px;
   }

   .award-number__list li .number .unit {
      font-size: 13px;
      font-weight: 400;
      line-height: 1.1;
      margin: -2px 0 0 2px;
   }



}