@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap");

*,
*::after,
*::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-decoration: none;
  border: none;
  scroll-behavior: smooth;
}

body {
  font-size: 16px;
  line-height: 1;
  color: #333333;
  font-family: "Noto Sans JP", sans-serif;
}

.sp-break{
    display: none;
}

img{
    width: 100%;
}

p{
    line-height: 1.8;
}

header{
    width: 100%;
    background-color: #ffffff76;
    position: fixed;
    z-index: 9;
}

nav{
    width: 90%;
    max-width: 1280px;
    margin: 1rem auto;

    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header-logo{
    max-width: 200px;
    object-fit: contain;
}

.contact-link{
    width: 200px;
    padding: 1rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    font-weight: 500;
    background-color: #DC000B;
    color: #fff;
    border-radius: 5px;
    transition: all 0.3s ease;
}

.contact-link img{
    margin-top: 3px;
    width: 20px;
    object-fit: contain;
}

.contact-link-sp{
    display: none;
}

.contact-link:hover{
    opacity: 0.75;
}

.hamburger {
    display: none;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background: none;
    border: none;
    gap: 6px;
    position: relative;
    z-index: 1;
}

.hamburger .line {
    display: block;
    width: 26px;
    height: 2px;
    background: #333333;
    border-radius: 2px;
    transition: transform 0.35s cubic-bezier(0.23, 1, 0.32, 1),
                opacity 0.25s ease,
                width 0.35s cubic-bezier(0.23, 1, 0.32, 1);
    transform-origin: center;
}

.hamburger.is-open .line:nth-child(1) {
    transform: translateY(4px) rotate(45deg);
}

.hamburger.is-open .line:nth-child(2) {
    display: none;
}

.hamburger.is-open .line:nth-child(3) {
    transform: translateY(-4px) rotate(-45deg);
}

.mobile-menu {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 1;
    margin-top: 76px;
    padding: 1rem 0;
    flex-direction: column;
    border-top: 2px solid transparent;
    border-image: linear-gradient(to right, #4E9FE2, #BB72DD);
    border-image-slice: 1;
    opacity: 0;
    pointer-events: none;
    transform: translateX(20px);
    transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1),
                transform 0.4s cubic-bezier(0.23, 1, 0.32, 1);
}

.mobile-menu.is-open {
    display: flex;
    opacity: 1;
    pointer-events: all;
    transform: translateX(0);
}

.mobile-menu.is-open header{
    background-color: #fff;
}

.mobile-menu.is-open a {
    opacity: 1;
    transform: translateY(0);
}

.mobile-menu.is-open a:nth-child(1) { transition-delay: 0.05s; }
.mobile-menu.is-open a:nth-child(2) { transition-delay: 0.10s; }
.mobile-menu.is-open a:nth-child(3) { transition-delay: 0.15s; }
.mobile-menu.is-open a:nth-child(4) { transition-delay: 0.20s; }
.mobile-menu.is-open a:nth-child(5) { transition-delay: 0.25s; }
.mobile-menu.is-open a:nth-child(6) { transition-delay: 0.30s; }
.mobile-menu.is-open a:nth-child(7) { transition-delay: 0.35s; }

.mobile-menu .contact-link {
    margin-top: 16px;
}

.spShown{
    display: none;
}

section{
    padding: 80px 0;
}

.kv{
    padding-top: 0;
    width: 100%;
    background-image: url(/assets/images/top/kv_bg.webp);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
}

.sp-kv{
    display: none;
}

.kv-wrapper{
    width: 88%;
    margin-left: auto;

    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    align-items: center;
}

.kv-content{
    margin-top: 50px;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.kv-content h1{
    font-family: "Shippori Mincho", serif;
    font-size: 46px;
    font-weight: 600;
    line-height: 1.5;
}

.kv-big-txt{
    font-size: 29px;
    font-weight: 500;
}

.kv-content small{
    font-size: 14px;
    line-height: 1.5;
}

.other-sections{
    width: 100%;
    background-image: url(/assets/images/top/background.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom 0;
    background-color: #E8F8FF;
    padding-bottom: 100px;
}

.clients{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 0;
}

.clients > h2 {
  text-align: center;
  font-size: 30px;
  line-height: 1.5;
  font-weight: 400;
  letter-spacing: 1px;
  font-family: "Shippori Mincho", serif;
}

.clients > h2 > span {
  color: #650b55;
}

.clients p {
    margin-top: -20px;
    font-size: 14px;
    text-align: right;
    margin-left: auto;
}

.clients-logos > .clients-logo-container:nth-child(2) {
  display: none;
}

.clients-logo-container {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  grid-template-rows: repeat(3, auto);
  gap: 8px;
  justify-items: center;
  align-items: center;
  list-style: none;
  margin: 1rem 0;
}

.client-logo {
  width: 100%;
  height: 60px;
  padding: 1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  box-shadow: 0 0px 7px rgba(0, 0, 0, 0.08);
  background-color: #fff;
}

.client-logo img {
  height: 23px;
  object-fit: contain;
}

.client-logo:nth-child(3) img,
.client-logo:nth-child(13) img,
.client-logo:nth-child(15) img {
  height: 20px;
  object-fit: contain;
}

.client-logo:nth-child(10) img {
  height: 40px;
  object-fit: contain;
}

.client-logo:nth-child(12) img {
  height: 30px;
  object-fit: contain;
}

.section-three-container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    background-image: url(/assets/images/top/blue_bg_design.webp);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 80px;
    color: #fff;
    border-radius: 7px;
}

.section-three-title > h2 {
  font-size: 40px;
  margin-bottom: 30px;
  font-weight: 400;
  font-family: "Shippori Mincho", serif;
}

.section-three-title > h2 > span {
  font-size: 30px;
}

.section-three-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
}

.section-three-text{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.section-three-text p {
  letter-spacing: 1.5px;
  line-height: 2.2;
}

.section-three-img {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
    font-size: 11px;
    font-weight: 400;
    color: #fff;
}

.yellow-btn{
    padding: 14px 18px;
    background-color: #ec9e00;
    color: white;
    text-decoration: none;
    font-weight: 600;
    border-radius: 3px;
    width: 100%;
    max-width: 264px;
    transition: 0.3s ease;
}

.yellow-btn:hover{
    opacity: 0.75;
}

.section-three-img p{
    line-height: 1.4;
}

.section-three-link > a {
  font-size: 12px;
  font-weight: 400;
  color: #fff;
  text-decoration: underline;
}

.section-three-link img{
    margin-left: 5px;
    margin-top: -5px;
    width: 15px;
    object-fit: contain;
}

.section-wrapper{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 80px;
}

.why-us h2{
    text-align: center;
    font-family: "Shippori Mincho", serif;
}

.color-txt{
    font-size: 54px;
    font-weight: 700;
    background: linear-gradient(to right, #28315F 0%, #2844DA 50%, #883EA2 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.why-us .section-wrapper h2 small{
    font-weight: 500;
    font-size: 32px;
    color: #28315F;
    line-height: 2;
}

.why-us .section-wrapper h2 .bold-txt{
    font-weight: 700;
    font-size: 38px;
    color: #28315F;
}

.why-us .section-wrapper h2 img{
    max-width: 474px;
    margin: 0 auto;
    margin-top: 30px;
}

.reasons-wrapper{
    width: 100%;
    background-image: url(/assets/images/top/reason_bg.webp);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: cover;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 130px;
    padding: 80px 0;
    border-radius: 1rem;
    box-shadow: 0 7px 16px rgba(104, 140, 211, 0.35);
}

.reason-one{
    position: relative;
    z-index: 1;
}

.reason-one-wrapper{
    display: flex;
    flex-direction: column;
    gap: 60px;
}

.reason-one-wrapper,
.reason-two-wrapper,
.reason-three-wrapper{
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
}

.number{
    position: absolute;
    top: -24px;
    right: 30px;
    max-width: 250px;
    object-fit: contain;
    z-index: 0;
}

.reason-content{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.reason-content h3{
    display: flex;
    gap: 1rem;
    font-size: 40px;
    line-height: 1.2;
    font-weight: 600;
    color: #2E3176;
}

.reason-content p{
    line-height: 2;
}

.reason-content h3 img{
    width: 75px;
    margin-top: -5px;
    object-fit: contain;
}

.reason-one-block-two{
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 1rem;
}

.reason-one-block-two .reason-two-content{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.reason-one-block-two .reason-two-content a{
    margin-top: auto;
    max-width: 200px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 1rem 0;
    background-color: #2769e9;
    color: #fff;
    border-radius: 3px;
    font-size: 16px;
    transition: all 0.3s ease;
    margin-top: 1rem;
}

.reason-one-block-two .reason-two-content p{
    font-size: 26px;
    line-height: 1.4;
    font-weight: 700;
    color: #2E3176;
}

.reason-client-logo{
    max-width: 154px;
    object-fit: contain;
}

.pc-mockup{
    max-width: 360px;
    object-fit: contain;
}

.reason-one-block-two .reason-two-content a img{
    width: 20px;
    object-fit: contain;
}

.reason-one-block-three{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.reason-one-card{
    background-color: #F3F4F9;
    border: 0.2px solid #b8b8b8;
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    gap: 1rem;
    padding: 30px;
    border-radius: 5px;
}

.reason-one-card h4{
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
}

.reason-two{
    position: relative;
    z-index: 1;
}

.reason-two .number{
    top: -100px;
    left: 50px;
}

.reason-two-wrapper{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.reason-three{
    position: relative;
    z-index: 1;
}

.reason-three .number{
    top: 0;
    right: 50px;
}

.reason-three-imgs{
    margin-top: 2rem;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.reason-three-img{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.reason-three-img a{
    text-decoration: underline;
    color: #000000;
}

.reason-three-img a img{
    width: 20px;
    margin-left: 5px;
    filter: brightness(0.3);
    object-fit: contain;
}

.interview-section{
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;

    display: grid;
    align-items: center;
    grid-template-columns: repeat(2, 1fr);
    gap: 44px;
}

.interview-content{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.interview-content h3{
    font-size: 26px;
    font-weight: 500;
}

.interview-link{
    width: 100%;
    max-width: 200px;
    height: 44px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #2769e9;
    color: white;
    border-radius: 3px;
    font-size: 0.875rem;
    transition: all 0.3s ease;
}

.interview-link:hover{
    opacity: 0.75;
}

.agent-server{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 60px 60px 80px 60px;
    border-radius: 16px;
    box-shadow: 0 7px 16px rgba(104, 140, 211, 0.35);
    background-color: #fff;
}

.agent-server h2{
    width: 100%;
    max-width: 662px;
    margin: 0 auto;
}

.agent-server-title-sp{
    display: none;
}

.agent-subtitle-wrapper{
    padding: 32px 26px;
    background-color: #f9fcfd;
    border-radius: 5px;
    border: 1px solid #8EBCDB;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    text-align: center;
    margin-top: 2rem;
}

.agent-subtitle-wrapper .purple-gradient-txt{
    font-size: 24px;
    font-weight: 600;
    line-height: 1.4;
    background: linear-gradient(to right, #376f9d, #81519b);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-shadow: none;
}

.agent-server h3{
    font-size: 40px;
    line-height: 1.5;
    color: #2E3176;
    display: flex;
    margin: 50px auto 40px auto;
}

.agent-server h3 img{
    margin-right: -10px;
}

.agent-reasons{
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.agent-reasons .interview-link{
  margin: 0 auto;
}

.reason-item{
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.reason-item h4{
    font-size: 22px;
    color: #160C40;
    line-height: 1.5;
}

.gray-txt{
    font-size: 14px;
    color: #6f6f6f;
}

.inquiry-section{
    padding: 0;
}

.inquiry-title-container{
    width: 100%;
    height: 282px;
    background-image: url(/assets/images/top/inquiry_bg.webp);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
    text-align: center;
    color: #fff;
}

.inquiry-title{
    font-family: "Shippori Mincho", serif;
    font-size: 30px;
    font-weight: 500;
}

.inquiry-form-container{
    padding-bottom: 80px;
    background-color: #F2FBFF;
}

.inquiry-form {
    position: relative;
    z-index: 1;
    bottom: 50px;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 60px;
    background-color: #fff;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-radius: 1rem;
    box-shadow: 0 7px 16px rgba(104, 140, 211, 0.15);
}

.phone-inquiry {
  border: 1px solid #cbc8c4;
  border-radius: 5px;
  padding: 1.5rem 0;

  display: flex;
  justify-content: space-evenly;
  align-items: center;
  gap: 1rem;
}

.phone-inquiry-text {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
}

.phone-inquiry-text > p:nth-child(2) {
  font-size: 14px;
  color: #656565;
}

.phone-inquiry-title {
  font-size: 1.375rem;
  font-weight: 500;
  color: #000000;
}

.vertical-line {
  display: block;
  width: 1px;
  background-color: #cbc8c4;
  height: 60px;
}

.phone-num {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.phone-num > span > img {
  height: 34px;
  margin-top: 10px;
}

.phone-num > span > a {
  font-size: 2.25rem;
  color: #2e3176;
  font-weight: 400;
  text-decoration: none;
}

.form {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.form > h3 {
  font-size: 34px;
  font-weight: 500;
  text-align: center;
  margin: 2rem 0;
  color: #000000;
}

form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

input {
  width: 100%;
  padding: 1rem;
  border: 0.5px solid #cccccc;
  margin-top: 0.5rem;
}

input:focus {
  outline: 0.7px solid #656565;
}

input::placeholder {
  font-weight: 300;
  color: #cccccc;
}

input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

label {
  font-size: 0.875rem;
  font-weight: 500;
  color: #000000;
  margin-top: 1rem;
}

.required-star {
  color: #dc000b;
}

.checkbox {
  text-align: center;
}

.container {
  display: block;
  position: relative;
  padding-left: 30px;
  margin-bottom: 8px;
  cursor: pointer;
  font-size: 22px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 14px;
}

.container input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  position: absolute;
  top: 0;
  left: 0;
  height: 21px;
  width: 21px;
  background-color: #ffffff;
  border: 1px solid #cbc8c4;
}

.container:hover input ~ .checkmark {
  border: 1px solid #cbc8c4;
  background-color: #ffffff;
}

.container input:checked ~ .checkmark {
  border: 1px solid #333333;
  background-color: #333333;
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.container input:checked ~ .checkmark:after {
  display: block;
}

.container .checkmark:after {
  left: 7.5px;
  top: 3px;
  width: 5px;
  height: 10px;
  border: solid white;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.check {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
}

.error-msg {
  display: none;
  font-size: 12px;
  color: #dc000b;
}

.privacy-text {
  color: #656565;
  font-size: 12px;
  line-height: 1.3;
  font-weight: 300;
}

.privacy-link {
  color: #1535a8;
  text-decoration: underline;
}

.form-btn {
  width: clamp(200px, 38%, 354px);
  height: 66px;
  margin: 0 auto;
  margin-top: 2.1rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1rem;
  padding: 1rem;
  background: linear-gradient(to bottom, #3051C7, #1411A8);
  color: #fff;
  font-size: 18px;
  font-weight: 600;
  border-radius: 5px;

  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, 0.22);
  transition: all 0.3s ease;
}

.form-btn:hover {
  opacity: 0.8;
}

.form-btn > img {
  width: 20px;
}

.form-last-txt{
    color: #fff;
    text-align: center;
    margin-top: -2rem;
}

.popup-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  justify-content: center;
  align-items: center;
}

.popup-content {
  background-color: white;
  padding: 5rem;
  border-radius: 8px;
  width: 90%;
  max-width: 1280px;
  height: 500px;
  text-align: center;
  position: relative;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.popup-text {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
}

.popup-text > img {
  width: 85px;
  height: 85px;
  object-fit: cover;
}

.popup-text > p {
  font-size: 22px;
}

.popup-button {
  max-width: 200px;
  height: 62px;
  margin-top: 80px;
  padding: 10px 30px;
  background-color: #333333; 
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
}

.popup-button:hover {
  background-color: #cecece;
}

footer{
    position: relative;
    background: #090C2B;
}

.footer-logos{
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 2rem;
    padding: 30px 0;
}

.east-footer-logo{
    max-width: 50px;
    object-fit: contain;
}

.pmark{
    width: 80px;
    object-fit: contain;
}

.copyright{
    margin-left: auto;
    font-size: 12px;
    color: #fff;
}

.sp-footer{
    display: none;
}

@media (min-width: 768px) and (max-width: 1050px){
    .kv-wrapper{
        width: 94%;
    }

    .kv-content{
        margin-top: 100px;
    }

    .kv-content h1{
        font-size: 34px;
    }

    .kv-big-txt{
        font-size: 20px;
    }

    .clients > h2{
        font-size: 26px;
    }

    .section-three-title > h2{
        font-size: 34px;
    }

    .reason-content h3 img{
        width: 65px;
    }

    .reason-content h3{
        font-size: 30px;
    }

    .reason-one-block-two .reason-two-content p {
        font-size: 22px;
    }

    .agent-server h3{
        font-size: 34px;
    }

    .form-btn{
        font-size: 16px;
    }
}

@media (max-width: 767px){
    nav{
        width: 100%;
        max-width: 100%;
        padding: 20px 5%;
        margin: 0 auto;
    }

    .header-logo{
        width: 100%;
        max-width: 160px;
    }

    nav .contact-link{
        display: none;
    }

    .mobile-menu .contact-link{
        display: block;
        color: #fff;
        margin: 0 auto;
        border-bottom: 0;
        width: 100%;
        max-width: 240px;
        margin-top: 30px; 
    }

    .hamburger{
        display: flex;
    }

    .mobile-menu a{
        color: #2e3176;
        text-decoration: none;
        font-size: 1.125rem;
        font-weight: 600;
        padding: 20px 36px;
        display: block;
        border-bottom: 1px solid #2e3176;
    }

    .mobile-menu a span{
        margin-left: 25px;
        font-size: 0.75rem;
    }

    .mobile-menu img{
        display: inline;
        padding: 0 6px 1px 3px;
        width: 30px;
    }

    .mobile-menu .eastButton{
        display: block;
        width: fit-content;
        margin: 0 auto;
        padding: 20px;
        font-size: 18px;
        font-weight: 600;
        background-color: #2e3176;
        color: #fff;
        text-align: center;
        margin-top: 2rem;
        border-radius: 5px;
        text-decoration: none;
    }

    .contact-link-pc{
        display: none;
    }

    .contact-link-sp{
        display: block;
        display: flex;
    }

    .mobile-menu .contact-link{
        width: 200px;
        padding: 1rem 0;
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 10px;
        font-weight: 500;
        background-color: #DC000B;
        color: #fff;
        border-radius: 5px;
        transition: all 0.3s ease;
    }

    .mobile-menu .contact-link span{
        margin-left: 0;
    }

    section{
        padding: 40px 0;
    }

    .kv{
        height: 90vh;
        background-image: none;
    }

    .kv-wrapper{
        display: none;
    }

    .sp-kv{
        display: block;
        height: 100%;
    }

    .clients{
        overflow: hidden;
    }

    .clients h2{
        font-size: 20px;
    }

    .clients p{
        font-size: 10px;
    }

    .clients-logos{
        overflow: hidden;
        display: inline-flex;
    }

    .clients-logos > .clients-logo-container:nth-child(2) {
        display: block;
        display: grid;
    }

    .clients-logo-container {
        grid-template-columns: repeat(7, 125px);
        grid-template-rows: repeat(3, 56px);
        gap: 3px;
        animation: 25s slide infinite linear;
    }

    .client-logo {
        width: 120px;
        height: 50px;
    }

    .client-logo img{
        height: 17px;
    }

    .client-logo:nth-child(3) img {
        height: 15px;
        object-fit: contain;
    }

    .client-logo:nth-child(10) img {
        height: 30px;
        object-fit: contain;
    }

    .client-logo:nth-child(12) img {
        height: 20px;
        object-fit: contain;
    }

    .client-logo:nth-child(13) img {
        height: 15px;
        object-fit: contain;
    }

    .client-logo:nth-child(15) img {
        height: 15px;
        object-fit: contain;
    }

    @keyframes slide {
        from {
        transform: translateX(0);
        }
        to {
        transform: translateX(-100%);
        }
    }

    .section-three-container{
        padding: 30px;
    }

    .section-three-content{
        grid-template-columns: 1fr;
    }

    .section-three-title > h2 {
        font-size: 24px;
        line-height: 1.5;
        margin-bottom: 1rem;
    }

    .pcShown{
        display: none;
    }

    .spShown{
        display: block;
    }

    .yellow-btn{
        text-align: center;
        margin: 0 auto;
        margin-top: 2rem;
    }

    .why-us .section-wrapper h2 small{
        font-size: 18px;
    }

    .color-txt{
        font-size: 30px;
    }

    .why-us .section-wrapper h2 .bold-txt{
        font-size: 20px;
        line-height: 2;
    }

    .why-us .section-wrapper h2 img{
        margin-top: 1rem;
    }

    .section-wrapper{
        gap: 40px;
    }

    .reasons-wrapper{
        padding: 40px 0;
        gap: 50px;
    }

    .reason-one-wrapper{
        gap: 30px;
    }

    .number{
        top: 10px;
        right: 10px;
        width: 150px;
    }

    .reason-two .number{
        top: 0;
        left: unset;
        right: 10px;
    }

    .reason-three .number{
        right: 10px;
        top: -30px;
    }

    .reason-content h3 img {
        width: 40px;
        margin-top: -2px;
    }

    .reason-content h3{
        font-size: 22px;
        gap: 5px;
    }

    .reason-one-block-two{
        display: grid;
        grid-template-columns: 1fr;
        grid-template-areas: 
        "img"
        "txt";
    }

    .reason-one-block-two .reason-two-content p{
        font-size: 16px;
    }

    .reason-one-block-two .reason-two-content a{
        margin-top: 0;
        margin: 0 auto;
        width: 100%;
        max-width: 200px;
    }

    .reason-one-block-two .reason-two-content{
        grid-area: txt;
    }

    .reason-two-wrapper{
        grid-template-columns: 1fr;
    }

    .reason-two-wrapper .spShown{
        display: flex;
        text-align: left;
        margin-top: 0;
        font-size: 22px;
        gap: 5px;
        line-height: 1.2;
    }

    .reason-two-wrapper .spShown img{
        width: 40px;
        margin-top: -2px;
    }

    .reason-two-wrapper .pcShown{
        display: none;
    }

    .reason-one-card{
        padding: 1rem;
    }

    .reason-one-card h4{
        font-size: 18px;
    }

    .reason-one-block-two img{
        grid-area: img;
    }

    .reason-one-block-three{
        grid-template-columns: 1fr;
    }

    .reason-three-img a{
        font-size: 14px;
    }

    .reason-three-imgs{
        grid-template-columns: 1fr;
    }

    .interview-section{
        grid-template-columns: 1fr;
    }

    .interview-link{
        margin: 0 auto;
    }

    .agent-server{
        padding: 60px 20px;
    }

    .agent-subtitle-wrapper{
        padding: 30px 13px;
    }

    .agent-subtitle-wrapper .purple-gradient-txt{
        font-size: 18px;
    }

    .agent-server h3{
        font-size: 24px;
        margin: 50px auto 30px auto;
        line-height: 1.4;
    }

    .agent-server h3 img{
        margin-right: 0;
        margin-top: -1px;
    }

    .reason-item h4{
        font-size: 18px;
    }

    .agent-server-title-pc{
        display: none;
    }

    .agent-server-title-sp{
        display: block;
    }

    .inquiry-form {
        width: 90%;
        bottom: 25px;
        padding: 20px 20px 37px 20px;
        gap: 0;
    }

    .inquiry-form-container {
        padding-bottom: 50px;
    }

    .inquiry-title-container {
        height: 180px;
        background-image: url(/assets/images/top/inquiry_bg_sp.webp);
        gap: 0;
    }

    .inquiry-title-container > p {
        font-size: 15px;
    }

    .inquiry-title-container > p > br {
        display: block;
    }

    .inquiry-title {
        font-size: 25px;
        margin-bottom: 10px;
    }

    .phone-inquiry {
        flex-direction: column;
    }

    .vertical-line {
        height: 1px;
        width: 40px;
    }

    .phone-inquiry {
        padding: 21px 0;
        gap: 18px;
    }

    .phone-inquiry-title {
        font-size: 22px;
        font-weight: 400;
    }

    .phone-num > span > img {
        height: 25px;
    }

    .phone-num > span > a {
        font-weight: 500;
        font-size: 30px;
    }

    .phone-num {
        gap: 3px;
    }

    .form > h3 {
        font-size: 22px;
        margin-top: 44px;
        margin-bottom: 20px;
        font-weight: 400;
    }

    .input {
        height: 52px;
    }

    label {
        font-weight: 400;
    }

    input::placeholder {
        font-size: 12px;
    }

    .form-btn {
        width: 100%;
        height: 62px;
        font-size: 18px;
        letter-spacing: 1px;
        font-weight: 500;
        margin-top: 20px;
        gap: 12px;
    }

    .popup-content{
        width: 90%;
        height: 330px;
        padding: 30px;
    }

    .popup-text > img{
        width: 100px;
        height: 100px;
    }

    .popup-text > p{
        font-size: 16px;
    }

    .popup-button{
        margin-top: 33px;
    }

    .pmark{
        width: 60px;
        position: relative;
        bottom: 0;
        left: 0;
        margin: 0 auto;
    }

    .footer-content h2{
        font-size: 26px;
        text-align: center;
    }

    .contact-info{
        align-items: center;
        flex-direction: column;
        gap: 42px;
    }
}