@charset "UTF-8";


:root {
  --cl-bs-01: #ffffff; --cl-bs-02: #1E1E1E; --cl-bs-03: #A2A2A2; --cl-bs-04: #1C6BFF; --cl-bs-05: #E1251B; --cl-bs-06: #4CC764; --cl-bs-07: ;
  --cl-bt-01: ; --cl-bt-02: ; --cl-bt-03: ;
  --cl-bg-01: ; --cl-bg-02: ; --cl-bg-03: ;
  --cl-line-01: rgba(28, 107, 255, 0.302); --cl-line-02: ;
  --cl-gradient-01: linear-gradient(90deg, #1C6BFF 0%, #114099 100%);
  --shadow-01: ;
}




/* Base Common Css */
/*---------------------------------------------
  Reset
---------------------------------------------*/
*, *::before, *::after {box-sizing: border-box; margin: 0; padding: 0;}
html {font-family: 'Noto Sans JP', sans-serif; font-size: 62.5%; overflow-x: hidden; scroll-behavior: smooth;}
body {margin: 0; line-height: 1.6; font-size: 1.6rem; overflow-x: hidden; word-wrap: break-word;}
h1,h2,h3,h4,h5,h6,p,a,ul,li,ol,dl,dt,dd,table,tr,th,td,span,strong {margin: 0; padding: 0; line-height: 1.6em; letter-spacing: 0em; font-weight: 400;font-feature-settings : "palt"; color: var(--cl-bs-02);}
main {display: block;overflow: hidden;}
ul, ol {list-style: none; margin: 0; padding: 0;}
a, a:visited {color:var(--cl-bs-02); text-decoration: none; background-color: transparent; transition: .5s;}
a:hover, a:active {color:var(--cl-bs-02);}
abbr[title] {border-bottom: none; text-decoration: underline; text-decoration: underline dotted;}
b, strong {font-weight: bolder;}
code, kbd, samp {font-family: "Noto Sans JP", sans-serif; font-size: 1em;}
small {font-size: 80%;}
sub, sup {font-size: 75%; line-height: 0; position: relative; vertical-align: baseline;}
sub {bottom: -0.25em;}
sup {top: -0.5em;}
img {border-style: none; width: auto; height: auto; max-width: 100%; max-height: 100%; display: block;}
hr {box-sizing: content-box; height: 0; overflow: visible;}
button, input, optgroup, select, textarea {font-size: 100%; line-height: 1.15; margin: 0;}
button, input {overflow: visible;}
button, select {text-transform: none;}
button, [type="button"], [type="reset"], [type="submit"] {-webkit-appearance: button;}
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {border-style: none; padding: 0;}
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring {outline: 1px dotted ButtonText;}
fieldset {padding: 0.35em 0.75em 0.625em;}
legend {box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal;}
progress {vertical-align: baseline;}
textarea {overflow: auto;}
[type="checkbox"], [type="radio"] {box-sizing: border-box; padding: 0;}
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button {height: auto;}
[type="search"] {-webkit-appearance: textfield; outline-offset: -2px;}
[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
::-webkit-file-upload-button {-webkit-appearance: button; font: inherit;}
details {display: block;}
summary {display: list-item;}
template {display: none;}
[hidden] {display: none;}




/*---------------------------------------------
  Common parts
---------------------------------------------*/
#contents {width: 100%;padding: 0;margin: 0;z-index: 0;overflow: hidden;}
section {width: 100%;height: auto; padding: 0;margin: 0 auto;display: block;position: relative;}
#low-contents{width: 100%;padding: 0;margin: 0;z-index: 0;overflow: hidden;background: ;}
.inbox {width: 100%; height: auto; padding: 60px 20px; margin: 0 auto; display: block; position: relative; }
.inbox h2 {font-size: 5.8vw; color: var(--cl-bs-02); font-weight: bold; text-align: center; margin-bottom: 60px;}
.inbox h3 {font-size: 4.2vw; color: ; font-weight: bold; text-align: left; margin-bottom: 30px;}
p {}
.sp-none {display: none;} .tb-none {display: block;} .tbl-none {display: block;} .pc-none {display: block;} .sp-tb-none {display: none;} .tb-tbl-none {display: block;} .tbl-pc-none {display: block;}.sp-block {display: block;}.tb-block {display: none;}.tbl-block {display: none;}.pc-block {display: none;}
.flex-wrap-sb {display: flex; justify-content: space-between; align-items: center; margin: 0 auto;}
.flex-wrap-sa {display: flex; justify-content: space-around; align-items: center; margin: 0 auto;}
.flex-wrap-sb-tb, .flex-wrap-sa-tb{display: block;}
.flex-wrap-sb-tbl, .flex-wrap-sa-tbl{display: block;}
.flex-wrap-sb-pc, .flex-wrap-sa-pc{display: block;}
@media screen and (min-width: 768px) {
  .inbox h2 {font-size: 3.6vw;}
  .inbox h3 {font-size: 3vw;}
  p {font-size: 2.6vw;}
  .sp-none {display: block;} .tb-none {display: none;} .tbl-none {display: block;} .pc-none {display: block;} .sp-tb-none {display: none;} .tb-tbl-none {display: none;} .tbl-pc-none {display: block;}.sp-block {display: none;}.tb-block {display: block;}.tbl-block {display: none;}.pc-block {display: none;}
  .flex-wrap-sb-tb{display: flex;justify-content: space-between;align-items: center; margin: 0 auto;}
  .flex-wrap-sa-tb{display: flex;justify-content: space-around;align-items: center; margin: 0 auto;}
}
@media screen and (min-width: 1024px) {
  .inbox {padding: 90px 10px;}
  .inbox h2 {font-size: 3vw;}
  .inbox h3 {font-size: 2.4vw;}

  p {font-size: 2vw;}
  .sp-none {display: block;} .tb-none {display: block;} .tbl-none {display: none;} .pc-none {display: block;} .sp-tb-none {display: block;} .tb-tbl-none {display: none;} .tbl-pc-none {display: none;}.sp-block {display: none;}.tb-block {display: none;}.tbl-block {display: block;}.pc-block {display: none;}
  .flex-wrap-sb-tbl{display: flex;justify-content: space-between;align-items: center; margin: 0 auto;}
  .flex-wrap-sa-tbl{display: flex;justify-content: space-around;align-items: center; margin: 0 auto;}

}
@media screen and (min-width: 1025px) {
  .inbox {max-width: 90%; padding: 90px 0; margin: 0 auto; }
  .inbox h2 {font-size: 2.2vw;}
  .inbox h3 {font-size: 1.8vw;}

  p {font-size: 1.1vw;}

  .sp-none {display: block;} .tb-none {display: block;} .tbl-none {display: block;} .pc-none {display: none;} .sp-tb-none {display: block;} .tb-tbl-none {display: block;} .tbl-pc-none {display: none;}.sp-block {display: none;}.tb-block {display: none;}.tbl-block {display: none;}.pc-block {display: block;}
  .flex-wrap-sb-pc{display: flex;justify-content: space-between;align-items: center; margin: 0 auto;}
  .flex-wrap-sa-pc{display: flex;justify-content: space-around;align-items: center; margin: 0 auto;}

}


/* Button */
.btn-base-01, .btn-base-01:visited {width: fit-content;display: inline-block;padding: 15px 60px;color: var(--cl-bs-01);font-size: 1.6rem;font-weight: 600;text-decoration: none;background-color: var(--cl-bs-05);transition: .3s;border-radius: 30px;}
.btn-base-01:active, .btn-base-01:hover {color: var(--cl-bs-01);background-color: var(--cl-bs-05);}

.btn-base-02, .btn-base-02:visited {width: fit-content;display: inline-block;padding: 15px 60px;color: var(--cl-bs-01);font-size: 1.6rem;font-weight: 600;text-decoration: none;background-color: var(--cl-bs-02);transition: .3s;border-radius: 6px;}
.btn-base-02:active, .btn-base-02:hover {color: var(--cl-bs-01);background-color: var(--cl-bs-02);}

@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
  .btn-base-01, .btn-base-01:visited {padding: 15px 60px;font-size: 1.8rem;}
  .btn-base-02, .btn-base-02:visited {padding: 15px 60px;font-size: 1.8rem;}
}




/* Form */
input {padding: .3rem .5rem;}
button, input, optgroup, select, textarea {font-size: 1rem;}


/* Animation ----------------------- */
.mv-left-in-pt1,.mv-left-in-pt2,.mv-right-in-pt1,.mv-right-in-pt2,.mv-bottom-in-pt1,.mv-bottom-in-pt2,.mv-scale-in-pt1,.mv-scale-in-pt2 { opacity: 0;will-change: transform, opacity;}
.mv-scale-in {opacity: 0;transform: scale(0.8);}
.reveal-lr {clip-path: inset(0 100% 0 0);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.reveal-tb {clip-path: inset(100% 0 0 0);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.reveal-rl {clip-path: inset(0 0 0 100%);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.reveal-bt {clip-path: inset(0 0 100% 0);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.reveal-center {clip-path: inset(50% 50% 50% 50%);will-change: clip-path;transform: translateZ(0);backface-visibility: hidden;-webkit-font-smoothing: antialiased;-moz-osx-font-smoothing: grayscale;}
.parallax-up, .parallax-down, .parallax-fade-left, .parallax-fade-right {will-change: transform, opacity; transform: translateZ(0); backface-visibility: hidden; }
.parallax-up {}
.parallax-down {}
.parallax-fade-left { opacity: 0.3; transform: translateX(-100px);}
.parallax-fade-right {opacity: 0.3; transform: translateX(100px);}
@media (max-width: 768px) {
  .parallax-up:not(.parallax-mobile-enabled),.parallax-down:not(.parallax-mobile-enabled),.parallax-fade-left:not(.parallax-mobile-enabled),.parallax-fade-right:not(.parallax-mobile-enabled) {transform: none !important;opacity: 1 !important;will-change: auto !important;}
  .parallax-mobile-enabled {will-change: transform, opacity;transform: translateZ(0);}
  .parallax-up,.parallax-down,.parallax-fade-left,.parallax-fade-right {will-change: auto;}
}
@media (min-width: 769px) and (max-width: 1024px) {
  .parallax-up,.parallax-down,.parallax-fade-left,.parallax-fade-right {transform: translateZ(0);}
}
.parallax-disabled {transform: none !important;opacity: 1 !important;will-change: auto !important;}
.parallax-subtle {}
.parallax-strong {}
.parallax-layer-back {z-index: 1;}
.parallax-layer-middle {z-index: 2;}
.parallax-layer-front {z-index: 3;}
.mv-fade-in-pt1, .mv-fade-in-pt2, .mv-fade-in-slow-pt1, .mv-fade-in-slow-pt2, .mv-fade-in-fast-pt1, .mv-fade-in-fast-pt2 { opacity: 0;}
.gsap-loaded .mv-fade-in-pt1, .gsap-loaded .mv-fade-in-pt2, .gsap-loaded .mv-fade-in-slow-pt1, .gsap-loaded .mv-fade-in-slow-pt2, .gsap-loaded .mv-fade-in-fast-pt1, .gsap-loaded .mv-fade-in-fast-pt2 { opacity: 1; }




/*---------------------------------------------
  Preloader
---------------------------------------------*/




/*---------------------------------------------
  Header
---------------------------------------------*/
.header {width: 100%; position: fixed; top: 0; left: 0; z-index: 100; background: var(--cl-bs-01); box-shadow: 0 0 15px 5px rgba(0, 0, 0, 0.1);}
.header-inner {width: 100%; height: 60px; padding: 0 10px; display: flex; align-items: center; overflow-x: hidden;}
.header-inner .header-title {font-weight: bold; line-height: 0.8em; font-size: 2.4rem;}
.header-inner .header-title img { display: block; width: 13rem;}
.header-nav {margin-left: auto; position: fixed; top: 0; right: -100%; width: 80%; height: 100vh; background: var(--cl-bs-01); z-index: 1050; transition: right 0.4s ease; box-shadow: -5px 0 15px rgba(0, 0, 0, 0.1); overflow-y: auto; opacity: 1;}
.header-nav.active {right: 0;}
.header-nav.is-hiding {right: 0; opacity: 0; transition: opacity 0.4s ease; pointer-events: none;}
.header-nav .link-block {padding: 60px 0 0 20px;}
.header-nav .link-block a {font-size: 1.6rem; display: block; padding: 20px 0; border-bottom: 1px solid #D4E8E2; color: var(--cl-bs-02); text-decoration: none;}
.header-nav .link-block a:visited {color: var(--cl-bs-02);}
.header-nav .link-block a.btn-base-02 {display: block; margin: 30px auto 0; color: var(--cl-bs-01); padding: 4vw 8vw;}
/* ハンバーガーメニュー */
.hamburger {display: flex; flex-direction: column; justify-content: space-between; width: 35px; height: 25px; cursor: pointer; position: fixed; top: 20px; right: 20px; z-index: 1100; transition: all 0.3s;}
.hamburger span {display: block; width: 100%; height: 4px; background: var(--cl-bs-02); transition: all 0.3s;}
.hamburger.active span:nth-child(1) {transform: translateY(10px) rotate(45deg);}
.hamburger.active span:nth-child(2) {opacity: 0;}
.hamburger.active span:nth-child(3) {transform: translateY(-11px) rotate(-45deg);}
/* オーバーレイ */
.overlay {position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: rgba(0, 0, 0, 0.4); z-index: 1000; opacity: 0; visibility: hidden; transition: all 0.3s;}
.overlay.active {opacity: 1; visibility: visible;}
.menu-open {overflow: hidden !important;}
/* Language Switcher */
.language-switcher {position: relative; display: inline-block; cursor: pointer; z-index: 2001;}
.language-switcher > .current-language {padding: 10px 20px; color: var(--cl-bs-02); border: none; font-size: 16px; display: flex; align-items: center; gap: 10px; z-index: 2002;}
.language-switcher > .language-options {display: block; visibility: hidden; opacity: 0; position: absolute; top: 100%; left: 0; background-color: var(--cl-bs-01); border: 1px solid #ddd; border-radius: 5px; box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); z-index: 1000; transform: translateY(-10px); transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;}
.language-switcher > .language-options a {display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: var(--cl-bs-02); text-decoration: none; font-size: 14px; transition: background-color 0.3s ease;}
.language-switcher > .language-options a:hover {background-color: #f1f1f1;}
.language-switcher.show-options > .language-options {visibility: visible; opacity: 1; transform: translateY(0);}
@media (hover: hover) {
  .language-switcher:hover > .language-options {visibility: visible; opacity: 1; transform: translateY(0);}
}
.flag {width: 20px; height: 20px; object-fit: cover;}
@media screen and (min-width: 768px) {
    .header-inner {height: 80px;}
    .hamburger {top: 28px;}
    .header-nav .link-block a.btn-base-02 {padding: 3vw 6vw;}
}
@media screen and (min-width: 1024px) {
    .header-inner {overflow-x: visible;}
    .header-inner .header-title { font-size: 2.6rem;}
    .header-inner .header-title img { width: 15rem;}
    .header-nav {position: static; width: auto; height: auto; box-shadow: none; background: none; transition: none; display: flex; overflow-y: visible;}
    .header-nav .link-block {display: flex; justify-content: space-between; align-items: center; padding: 0;}
    .header-nav .link-block a {font-size: 1.6rem; display: block; margin-right: 30px; padding: 0; color: var(--cl-bs-02); border-bottom: none;}
    .header-nav .link-block button {display: inline; margin:0;}
    .header-nav .link-block .btn-base-01, .header-nav .link-block  .btn-base-01:visited {font-size: 1.6rem; padding: 1.2rem 2.4rem; margin-right: 2rem;}
    .header-nav .link-block .btn-base-02, .header-nav .link-block  .btn-base-02:visited {font-size: 1.6rem; padding: 1.2rem 2.4rem;}
    .hamburger, .overlay {display: none;}
    .link-block {display: flex;}
    .language-switcher > .current-language {color: var(--cl-bs-02);}
    .header-nav .link-block a.btn-base-02 {display: block; margin: 0 auto; padding: 1vw 3vw;}

}
@media screen and (min-width: 1100px) {
    .header-inner {width: 96%; margin: 0 auto; padding: 0 20px; position: relative;}
    .header-nav .link-block a.btn-base-02 {padding: .8vw 1.6vw;}
}




/*---------------------------------------------
  Footer
---------------------------------------------*/
.footer { width: 100%; padding: 0; margin: 0; display: block; z-index: 1; background: var(--cl-bs-01);}
.footer .inner { width: 100%; padding: 40px 20px; margin: 0; display: block; }
.footer .inner .flex-wrap-sa-tb {width: 100%; margin-bottom: 30px;}
.footer .inner p {text-align: center; color: var(--cl-bs-02); font-size: 14px;}
@media screen and (min-width: 768px) {
  .footer .inner {padding: 30px 20px; }
  .footer .inner .flex-wrap-sa-tb {width: fit-content; margin-bottom: 20px; gap: 30px;}
}
@media screen and (min-width: 1024px) {
  .footer .inner .flex-wrap-sa-tb {gap: 30px; margin-bottom: 30px;}
}
@media screen and (min-width: 1200px) {
  .footer .inner { max-width: 1200px; padding: 30px 20px; margin: 0 auto; }
}

.mv-bottom-in {
  opacity: 0;
  transform: translateY(100px);
}




/*---------------------------------------------
  Top page
---------------------------------------------*/
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
}

/* Main ----------------------- */
.main {width: 100%;height: auto; background: url('../images/main-bg.jpg') 80% 0/cover no-repeat;}
.main .inbox { padding: 60vw 3vw 30vw;}
.main .tl-wrap {width: fit-content; font-size: 3.8vw; padding: 8px 30px; color: var(--cl-bs-01); background: var(--cl-bs-05); border-radius: 30px; margin-bottom: 30px;}
.main .inbox img {width: 90%; display: block; margin-bottom: 20px;}
.main .inbox h2 {font-size: 6.8vw; line-height: 1.1em; text-align: left;}
.main .inbox h2 span {font-weight: bold;}
.main .inbox h2 span.li {background: linear-gradient(transparent 60%, rgba(28,107,255, .5) 60%, rgba(28,107,255, .5) 90%, transparent 90%); padding: 0 4px; display: inline-block; margin-bottom: -10px;}
.main .inbox h2 span.cl {color: var(--cl-bs-04);} 

@media screen and (min-width: 768px) {
  .main {height: 100vh; background: url('../images/main-bg.jpg') 82% 50%/cover no-repeat;}
  .main .inbox {padding: 48vw 3vw 30vw;}
  .main .tl-wrap {font-size: 2.8vw; margin-bottom: 30px;}
  .main .inbox img {width: 61vw; margin-bottom: 20px;}
  .main .inbox h2 {font-size: 5vw;}
}
@media screen and (min-width: 1024px) {
  .main {height: 60vh; background: url('../images/main-bg.jpg') 100% 50%/cover no-repeat;}
  .main .inbox {padding: 22vw 3vw 30vw;}
  .main .tl-wrap {font-size: 1.8vw; margin-bottom: 30px;}
  .main .inbox img {width: 41vw; margin-bottom: 20px;}
  .main .inbox h2 {font-size: 4vw;}

}
@media screen and (min-width: 1026px) {
  .main {height: 100vh; }
  .main .inbox {padding: 10vw 3vw 10vw;}
  .main .tl-wrap {font-size: 1.3vw; margin-bottom: 30px;}
  .main .inbox img {width: 36vw; margin-bottom: 10px;}
  .main .inbox h2 {font-size: 2.8vw;}
}


.hero-section {background: linear-gradient(135deg, #1C6BFF 0%, #114099 100%);padding: 40px 20px;display: flex;flex-direction: column;align-items: center;justify-content: center; width: 98%; margin: -10vw auto 10vw; border-radius: 20px;}
.problems {display: flex;flex-direction: column;gap: 15px;margin-bottom: 30px;width: 100%;max-width: 1200px;}
.problem-tag {background: var(--cl-bs-01);border-radius: 30px;padding: 15px 25px;text-align: center;font-size: 1.6rem;font-weight: 600;color: var(--cl-bs-02);box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
.main-heading {text-align: center;margin-bottom: 40px;max-width: 1000px;}
.main-heading h1 {font-size: 5vw;font-weight: 700;line-height: 1.6;margin-bottom: 10px;color: var(--cl-bs-01);}
.content-box {background: var(--cl-bs-01);border-radius: 20px;padding: 30px 20px;width: 100%;max-width: 1200px;box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);}
.cta-buttons {display: flex;flex-direction: column;gap: 20px;margin-bottom: 40px;}
.cta-button {display: flex; align-items: center; justify-content: center; gap: 10px; padding: 18px 30px; border-radius: 15px; font-size: 20px; font-weight: 700; border: none; cursor: pointer; transition: all 0.3s ease; text-decoration: none; color: var(--cl-bs-01);}
.line-button {background: var(--cl-bs-06);}
.line-button:hover {background: var(--cl-bs-06); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(6, 199, 85, 0.3); color: var(--cl-bs-01);}
.phone-button {background: var(--cl-bs-04);}
.phone-button:hover {background: var(--cl-bs-04); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(30, 92, 230, 0.3); color: var(--cl-bs-01);}
.button-icon {width: 28px; height: 28px;}
.availability {text-align: center; color: #666; font-size: 15px; margin-top: 8px;}
.line-availability {color: var(--cl-bs-06); font-weight: 600;}
.phone-availability {color: var(--cl-bs-04); font-weight: 600;}
.success-section {text-align: center; position: relative;}
.success-section::before {content: ''; width: 100%; height: 2px; background: var(--cl-bs-04); display: block; position: absolute; top: 4.2vw; z-index: 0;}
.success-title {width: fit-content; padding: 0 20px; background: var(--cl-bs-01); color: var(--cl-bs-04); font-size: 5vw; font-weight: 700; position: relative; margin: 0 auto 20px; z-index: 1;}
.pricing-grid {display: grid; grid-template-columns: 1fr; gap: 25px;}
.pricing-item {width: 80%; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; }
.pricing-label {font-size: 5vw; color: var(--cl-bs-02); margin: 0 10px 0 0; font-weight: 600;}
.pricing-value {font-size: 14vw; font-weight: 700; color: var(--cl-bs-04); line-height: 1em;}
.pricing-unit {font-size: 5vw; color: var(--cl-bs-02); font-weight: 700; margin-left: 5px; line-height: 1em;}

@media screen and (min-width: 768px) {
    .hero-section {padding: 60px 40px; width: 90%; margin: -100px auto 50px; }
    .problems {flex-direction: row; justify-content: center; flex-wrap: wrap; gap: 20px;}
    .problem-tag {font-size: 18px; padding: 18px 35px; flex: 0 1 auto;}
    .main-heading h1 {font-size: 28px;}
    .content-box {padding: 40px 40px;}
    .cta-buttons {flex-direction: row; justify-content: center;}
    .cta-button {flex: 1; max-width: 400px;}
    .success-section::before {top: 2.2vw;}
    .success-title {font-size: 3vw;margin: 0 auto 30px;}
    .pricing-grid {grid-template-columns: 1fr 1fr; gap: 40px; max-width: 800px; margin: 0 auto;}
    .pricing-item {width: 96%; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-around; }
    .pricing-label {font-size: 2.4vw; margin: 0 10px 0 0;}
    .pricing-value {font-size: 8vw;}
    .pricing-unit {font-size: 2.4vw; margin-left: 5px;}
}

@media screen and (min-width: 1024px) {
    .problems {flex-direction: row; justify-content: center; flex-wrap: wrap; margin: -10vw 0 30px; gap: 20px;}
    .problem-tag {font-size: 2vw; padding: 20px 40px; position: relative;}
    .problem-tag:nth-of-type(1)::after {content: ''; position: absolute; bottom: -15px; left: 70%; transform: translateX(-50%); width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid var(--cl-bs-01);}
    .problem-tag:nth-of-type(2)::after {content: ''; position: absolute; bottom: -15px; left: 50%; transform: translateX(-50%); width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid var(--cl-bs-01);}
    .problem-tag:nth-of-type(3)::after {content: ''; position: absolute; bottom: -15px; left: 30%; transform: translateX(-50%); width: 0; height: 0; border-left: 15px solid transparent; border-right: 15px solid transparent; border-top: 15px solid var(--cl-bs-01);}
    .main-heading h1 {font-size: 3vw;}
    .content-box {padding: 50px 60px;}
    .cta-button {font-size: 2vw; padding: 20px 40px;}
    .success-title {font-size: 2.2vw;}
    .success-section::before {top: 2vw;}
    .pricing-value {font-size: 6vw;}
    .pricing-label {font-size: 2.2vw;}
}

@media screen and (min-width: 1100px) {
    .hero-section {padding: 6vw 3vw 2vw; width: 70%; margin: -100px auto 50px;}
    .problems {margin: -8vw 0 30px;}
    .problem-tag {font-size: 1.3vw;}
    .main-heading h1 {font-size: 2vw;}
    .content-box {padding: 3vw 4vw;}
    .pricing-grid {gap: 60px;}
    .success-title {font-size: 1.8vw;}
    .success-section::before {top: 1.5vw;}
    .pricing-value {font-size: 4vw;}
    .pricing-label {font-size: 1.6vw;}
    .cta-buttons {gap: 40px;}
    .cta-button {font-size: 1.4vw; padding: 20px 40px;}
}



/* Access */
.access .inbox {}
.access .inbox  h2 {margin-bottom: 30px;}
.access .inbox .flex-wrap-sb-tbl {}
.access .inbox .flex-wrap-sb-tbl .item {width: 90%; padding: 6vw 4vw; margin: 0 auto 30px; display: flex; align-items: center; border: 1px solid var(--cl-bs-04); border-radius: 6px; }
.access .inbox .flex-wrap-sb-tbl .item:last-child {margin-bottom: 0;}
.access .inbox .flex-wrap-sb-tbl .item img {width: 8vw; margin-right: 10px;}
.access .inbox .flex-wrap-sb-tbl .item p {font-size: 4vw; font-weight: bold;}
.access .inbox .flex-wrap-sb-tbl + p {font-weight: bold; color: var(--cl-bs-04); text-align: center; margin: 30px 0 0;}
.access .inbox h3 { text-align: center; line-height: 1.2em;}
.access .inbox h3 span.li {color: var(--cl-bs-04); font-weight: bold; background: linear-gradient(transparent 60%, rgba(28,107,255, .5) 60%, rgba(28,107,255, .5) 90%, transparent 90%); padding: 0 4px; display: inline-block; margin-bottom: -10px;}
@media screen and (min-width: 768px) {
  .access .inbox .flex-wrap-sb-tbl .item {width: 80%; padding: 4vw 4vw; margin: 0 auto 30px; }
  .access .inbox .flex-wrap-sb-tbl .item img {width: 6vw; margin-right: 20px;}
  .access .inbox .flex-wrap-sb-tbl .item p {font-size: 2.6vw;}

}
@media screen and (min-width: 1024px) {
  .access .inbox .flex-wrap-sb-tbl {flex-wrap: wrap; align-items: flex-start;}
  .access .inbox .flex-wrap-sb-tbl .item {width: 48%; padding: 3vw 4vw; margin: 0 auto 30px; }
  .access .inbox .flex-wrap-sb-tbl .item img {width: 5vw; margin-right: 20px;}
  .access .inbox .flex-wrap-sb-tbl .item p {font-size: 2vw;}
  .access .inbox .flex-wrap-sb-tbl .item:nth-last-of-type(2) {margin-bottom: 0;}

}
@media screen and (min-width: 1100px) {
  .access .inbox {padding: 50px 0 90px;}
  .access .inbox .flex-wrap-sb-tbl .item {width: 28%; padding: 1.8vw 1.8vw; margin: 0 auto 30px; }
  .access .inbox .flex-wrap-sb-tbl .item img {width: 3vw; margin-right: 20px;}
  .access .inbox .flex-wrap-sb-tbl .item p {font-size: 1.1vw;}
  .access .inbox .flex-wrap-sb-tbl .item:nth-last-of-type(3) {margin-bottom: 0;}
  .access .inbox .flex-wrap-sb-tbl + p {font-size: 1.3vw; margin: 30px 0 0;}
}


/* CTA */
.cta-wrap {display: block; padding: 10vw 0; background: linear-gradient(135deg, #1C6BFF 0%, #114099 100%); width: 100%; position: relative;}
.cta-wrap::before {content: ''; display: block; width: 0;height: 0;border-style: solid;border-right: 10vw solid transparent;border-left: 10vw solid transparent;border-top: 10vw solid var(--cl-bs-01);border-bottom: 0;position: absolute; top: -1px; left: 0; right: 0; margin: auto;}
.cta-wrap .inbox {display: block; width: 90%; padding: ; margin: 10vw auto ; background: var(--cl-bs-01); border-radius: 20px;}
.cta-wrap .inbox img { width: 90%; display: block; margin: 0 auto 5vw; }
.cta-wrap .inbox p {margin-bottom: 10px;}
.cta-wrap .inbox p:nth-of-type(1) span {font-weight: bold;}
.cta-wrap .inbox p:nth-of-type(2) br {display: none;}
.cta-wrap .inbox p:nth-of-type(3) {font-size: 4.4vw; font-weight: bold; margin-bottom: 50px;}
.cta-wrap .inbox p:nth-of-type(3) span {color: var(--cl-bs-04); font-weight: bold;}
.cta-wrap .inbox .cta-buttons {margin-bottom: 0;}
@media screen and (min-width: 768px) {
  .cta-wrap {padding: 8vw 0;}
  .cta-wrap .inbox img { width: 60%;}
  .cta-wrap .inbox p {text-align: center;margin-bottom: 20px;}
  .cta-wrap .inbox p:nth-of-type(3) {font-size: 3.2vw;margin-bottom: 30px;}
}
@media screen and (min-width: 1024px) {
  .cta-wrap .inbox {width: 80%; padding: 6vw; margin: 10vw auto ;}
  .cta-wrap .inbox p:nth-of-type(2) br {display: block;}
  .cta-wrap .inbox p:nth-of-type(3) {font-size: 2.4vw;margin-bottom: 30px;}
}
@media screen and (min-width: 1025px) {
  .cta-wrap .inbox {width: 60%; padding: 4vw 1vw; margin: 3vw auto ;}
  .cta-wrap .inbox img { width: 40%; margin: 0 auto 2vw;}
  .cta-wrap::before {border-right: 7vw solid transparent;border-left: 7vw solid transparent;border-top: 4vw solid var(--cl-bs-01);}
  .cta-wrap .inbox p:nth-of-type(3) {font-size: 1.5vw;margin-bottom: 30px;}
}


/* technology */
.technology .inbox {}
.technology .inbox p:nth-of-type(1) {font-size: 4.4vw; text-align: center; line-height: 1.2em; margin-bottom: 10px;}
.technology .inbox p:nth-of-type(1) span.li {color: var(--cl-bs-02); font-weight: bold; background: linear-gradient(transparent 60%, rgba(28,107,255, .5) 60%, rgba(28,107,255, .5) 90%, transparent 90%); padding: 0 4px; display: inline-block; margin-bottom: -10px;}
.technology .inbox .detail-block {display: block;}
.technology .inbox .detail-block .item {display: block; margin-bottom: 15vw;}
.technology .inbox .detail-block .item:last-child {margin-bottom: 0;}
.technology .inbox .detail-block .item img {display: block; width: 100%; margin-bottom: 20px;}
.technology .inbox .detail-block .item .tx-box {}
.technology .inbox .detail-block .item .tx-box h3 {font-size: 5.2vw; color: var(--cl-bs-04); font-weight: bold; position: relative; z-index: 1; padding-top: 10vw; margin-bottom: 0;}
.technology .inbox .detail-block .item:nth-of-type(1) .tx-box h3::before {content: ''; display: block; width: 24vw; height: 24vw; z-index: 0; position: absolute; bottom: -2.4vw; left: 0; background: url('../images/technology-number-01.svg') 50% 50%/100% no-repeat; object-fit: cover; }
.technology .inbox .detail-block .item:nth-of-type(2) .tx-box h3::before {content: ''; display: block; width: 24vw; height: 24vw; z-index: 0; position: absolute; bottom: -2.4vw; left: 0; background: url('../images/technology-number-02.svg') 50% 50%/100% no-repeat; object-fit: cover; }
.technology .inbox .detail-block .item:nth-of-type(3) .tx-box h3::before {content: ''; display: block; width: 24vw; height: 24vw; z-index: 0; position: absolute; bottom: -2.4vw; left: 0; background: url('../images/technology-number-03.svg') 50% 50%/100% no-repeat; object-fit: cover; }
.technology .inbox .detail-block .tx-box h3 + p {color: var(--cl-bs-03); font-size: 3vw; text-align: left;}
.technology .inbox .detail-block .tx-box .list { position: relative;}
.technology .inbox .detail-block .tx-box .list::before {content: url('../images/technology-icon.svg'); display: inline-block; margin-right: 10px; }
@media screen and (min-width: 768px) {
  .technology .inbox p:nth-of-type(1) {font-size: 2.8vw;}
  .technology .inbox .detail-block .item {width: 70%; margin: 0 auto 12vw;}
  .technology .inbox .detail-block .item .tx-box h3 {font-size: 3.2vw; padding-top: 8vw;}
  .technology .inbox .detail-block .item:nth-of-type(1) .tx-box h3::before {width: 16vw; height: 16vw; bottom: -2.4vw;}
  .technology .inbox .detail-block .item:nth-of-type(2) .tx-box h3::before {width: 16vw; height: 16vw; bottom: -2.4vw;}
  .technology .inbox .detail-block .item:nth-of-type(3) .tx-box h3::before {width: 16vw; height: 16vw; bottom: -2.4vw;}
  .technology .inbox .detail-block .tx-box h3 + p {font-size: 2.4vw;}


}
@media screen and (min-width: 1024px) {
  .technology .inbox p:nth-of-type(1) {font-size: 2.4vw;}
  .technology .inbox .detail-block .item {width: 100%; display: flex; justify-content: space-between; align-items: center; margin-bottom: 8vw;}
  .technology .inbox .detail-block .item img {display: block; width: 45%;  margin: 0 5% 0 0;}
  .technology .inbox .detail-block .item .tx-box {width: 50%;}
  .technology .inbox .detail-block .item .tx-box h3 {font-size: 2.8vw; padding-top: 2vw; margin-bottom: 10px;}
  .technology .inbox .detail-block .item:nth-of-type(1) .tx-box h3::before {width: 12vw; height: 12vw; bottom: -2.4vw;}
  .technology .inbox .detail-block .item:nth-of-type(2) .tx-box h3::before {width: 12vw; height: 12vw; bottom: -2.4vw;}
  .technology .inbox .detail-block .item:nth-of-type(3) .tx-box h3::before {width: 12vw; height: 12vw; bottom: -2.4vw;}
  .technology .inbox .detail-block .tx-box h3 + p {font-size: 1.8vw; margin-bottom: 2vw;}
  .technology .inbox .detail-block .item:nth-of-type(2) img {order: 2; margin: 0;}
  .technology .inbox .detail-block .item:nth-of-type(2) .tx-box {order: 1;}
}
@media screen and (min-width: 1100px) {
  .technology .inbox p:nth-of-type(1) {font-size: 1.6vw;}
  .technology .inbox .detail-block {width: 80%; margin: 0 auto;}
  .technology .inbox .detail-block .item {margin-bottom: 6vw;}
  .technology .inbox .detail-block .item img {display: block; width: 51%; margin: 0 4% 0 0;}
  .technology .inbox .detail-block .item .tx-box {width: 45%;}
  .technology .inbox .detail-block .item .tx-box h3 {font-size: 1.8vw; padding-top: 4vw; margin-bottom: 10px;}
  .technology .inbox .detail-block .item:nth-of-type(1) .tx-box h3::before {width: 10vw; height: 10vw; bottom: -1.4vw;}
  .technology .inbox .detail-block .item:nth-of-type(2) .tx-box h3::before {width: 10vw; height: 10vw; bottom: -2vw;}
  .technology .inbox .detail-block .item:nth-of-type(3) .tx-box h3::before {width: 10vw; height: 10vw; bottom: -2vw;}
  .technology .inbox .detail-block .tx-box h3 + p {font-size: 1.1vw; margin-bottom: 2vw;}
}



/* Achievements */
.achievements {background: #F6F6F6;}
.achievements .inbox {}
.achievements .inbox h2 { margin-bottom: 20px;}
.achievements .inbox h2 + p {text-align: center;}
.achievements .inbox img {display: block; margin: 30px auto 0;}
.achievements .inbox img.sp-img-01 {display: block; width: 76%; margin-bottom: 20px;}
.achievements .inbox img.sp-img-02 {display: block; width: 76%;}
.achievements .inbox img.pc-img-01 {display: none;}
.achievements .inbox img.pc-img-02 {display: none;}
@media screen and (min-width: 768px) {
  .achievements .inbox img.sp-img-01 {display: block; width: 60%;}
  .achievements .inbox img.sp-img-02 {display: block; width: 60%;}
}
@media screen and (min-width: 1024px) {
  .achievements .inbox img.sp-img-01 {display: none;}
  .achievements .inbox img.sp-img-02 {display: none;}
  .achievements .inbox img.pc-img-01 {display: block; width: 90%; margin-bottom: 20px;}
  .achievements .inbox img.pc-img-02 {display: block; width: 90%;}
}
@media screen and (min-width: 1100px) {
  .achievements .inbox img.pc-img-01 {display: block; width: 60%;}
  .achievements .inbox img.pc-img-02 {display: block; width: 60%;}
}



/* Plan */
.plan {background: linear-gradient(180deg, #1C6BFF 0%, #114099 100%);}
.plan .inbox {}
.plan .inbox h2 {color: var(--cl-bs-01); margin-bottom: 30px; }
.plan .inbox .plan-content { display: block; padding: 6vw 2vw; background: var(--cl-bs-01); border-radius: 20px;}
.plan .inbox .plan-content h3 {font-size: 4vw; width: fit-content; padding: 2vw 8vw; color: var(--cl-bs-01); font-weight: bold; background: var(--cl-bs-04); border-radius: 30px; margin: 0 auto 5vw;} 
.plan .inbox .plan-content .pricing-grid {display: grid; grid-template-columns: 1fr; gap: 40px;}
.plan .inbox .plan-content .pricing-grid .pricing-item {width: 60%; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-between; }
.plan .inbox .plan-content .pricing-grid .pricing-item:nth-of-type(1) {position: relative;}
.plan .inbox .plan-content .pricing-grid .pricing-item:nth-of-type(1)::after {content: '+'; font-size: 8vw; width: fit-content; color: #A2A2A2; position: absolute; bottom: -12vw; left: 0; right: 0; margin: auto; display: block;}
.plan .inbox .plan-content .pricing-grid .pricing-item .pricing-value {font-size: 10vw; font-weight: 700; color: var(--cl-bs-04); line-height: 1em;}
.plan .inbox .plan-content .pricing-grid .pricing-label .point {font-size: 4vw; color: #999; padding-right: 5px;}
.plan .inbox .plan-content .pricing-grid + p {font-size: 4.4vw; text-align: center; line-height: 1.2em; margin: 10px 0;}
.plan .inbox .plan-content .pricing-grid + p span.li {color: var(--cl-bs-02); font-weight: bold; background: linear-gradient(transparent 60%, rgba(28,107,255, .5) 60%, rgba(28,107,255, .5) 90%, transparent 90%); padding: 0 4px; display: inline-block; margin-bottom: -10px;}
.plan .inbox .plan-content .pricing-grid + p span.li span {font-size: 10vw; font-weight: bold; color: var(--cl-bs-04);}
.plan .inbox .plan-content .under-list {display: block; border-top: 1px dotted var(--cl-bs-03); padding: 4vw 2vw; margin: 6vw auto;}
.plan .inbox .plan-content .under-list .list { position: relative;}
.plan .inbox .plan-content .under-list .list::before {content: url('../images/technology-icon.svg'); display: inline-block; margin-right: 10px; }
.plan .inbox .plan-content .under-list p {font-size: 3.2vw;}
.plan .inbox .plan-content .btn-base-02 {display: block; width: 100%; margin: 0 auto; text-align: center;}
.plan .inbox .plan-content .btn-base-02 img {display: inline-block; vertical-align: middle; width: 5vw; margin-right: 5px;}

@media screen and (min-width: 768px) {
  .plan .inbox .plan-content h3 {font-size: 3vw; padding: 1.8vw 6vw; margin: 0 auto 5vw;}
  .plan .inbox .plan-content .pricing-grid {grid-template-columns: 1fr 1fr; gap: 40px; max-width: 800px; margin: 0 auto;}
  .plan .inbox .plan-content .pricing-grid .pricing-item {width: 96%; margin: 0 auto; display: flex; align-items: flex-end; justify-content: space-around; }
  .plan .inbox .plan-content .pricing-grid .pricing-item:nth-of-type(1)::after {font-size: 4vw; bottom: -1vw; left: auto; right: -5vw; margin: 0;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-value {font-size: 8vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-label {font-size: 3.2vw; margin: 0 10px 0 0;}
  .plan .inbox .plan-content .pricing-grid .pricing-label .point {font-size: 3vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-unit {font-size: 3.2vw;}
  .plan .inbox .plan-content .pricing-grid + p {font-size: 2.8vw; margin: 10px 0;}
  .plan .inbox .plan-content .pricing-grid + p span.li span {font-size: 7vw;}
  .plan .inbox .plan-content .under-list {padding: 4vw 2vw; margin: 4vw auto 2vw; }
  .plan .inbox .plan-content .under-list p {font-size: 2.4vw;}
  .plan .inbox .plan-content .btn-base-02 {font-size: 2.8vw;}
}
@media screen and (min-width: 1024px) {
  .plan .inbox .plan-content {padding: 4vw 2vw;}
  .plan .inbox .plan-content h3 {font-size: 2.4vw; padding: 1.8vw 5vw; margin: 0 auto 3vw; border-radius: 40px;} 
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-value {font-size: 6vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-label {font-size: 2.8vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-unit {font-size: 2.8vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item {width: 80%;}
  .plan .inbox .plan-content .pricing-grid .pricing-label .point {font-size: 3vw;}
  .plan .inbox .plan-content .pricing-grid + p {font-size: 2.2vw;}
  .plan .inbox .plan-content .pricing-grid + p span.li span {font-size: 6vw;}
  .plan .inbox .plan-content .under-list {padding: 2vw 20vw; margin: 4vw auto 2vw; }
  .plan .inbox .plan-content .under-list p {font-size: 2vw;}
  .plan .inbox .plan-content .btn-base-02 {font-size: 2.2vw; width: 60%;}
  .plan .inbox .plan-content .btn-base-02 img {width: 3.4vw;}
}
@media screen and (min-width: 1100px) {
  .plan .inbox .plan-content {width: 70%; padding: 3vw 2vw; margin: 0 auto;}
  .plan .inbox .plan-content h3 {font-size: 1.4vw; padding: .6vw 5vw; margin: 0 auto 3vw;}
  .plan .inbox .plan-content .pricing-grid {gap: 6vw; max-width: 80%;}
  .plan .inbox .plan-content .pricing-grid .pricing-item {width: 100%;}
  .plan .inbox .plan-content .pricing-grid .pricing-item:nth-of-type(1)::after {font-size: 2vw; bottom: .3vw;right: -3vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-value {font-size: 4vw; line-height: 1em;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-label {font-size: 1.8vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-label .point {font-size: 1.6vw;}
  .plan .inbox .plan-content .pricing-grid .pricing-item .pricing-unit {font-size: 2vw;}
  .plan .inbox .plan-content .pricing-grid + p {font-size: 1.6vw;}
  .plan .inbox .plan-content .pricing-grid + p span.li span {font-size: 4vw;}
  .plan .inbox .plan-content .under-list {padding: 2vw 12vw; margin: 2vw auto 0; }
  .plan .inbox .plan-content .under-list p {font-size: 1.1vw;}
  .plan .inbox .plan-content .btn-base-02 {font-size: 1.2vw; width: 60%;}
  .plan .inbox .plan-content .btn-base-02 img {width: 1.4vw;}
}



/* Flow */
.flow {background: #F6F6F6;}
.flow .inbox h2 + p {margin-bottom: 50px;}
.flow-container {max-width: 960px; margin: 0 auto; background: white; border-radius: 20px; padding: 30px 20px; box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);}
.step-item {padding: 30px 0; border-bottom: 2px dashed #d0d0d0; position: relative;}
.step-item:last-child {border-bottom: none;}
.step-header {display: flex; align-items: flex-start; gap: 15px; margin-bottom: 12px;}
.step-number-wrapper {flex-shrink: 0; min-width: 80px;}
.step-label {font-size: 4vw; font-weight: 700; color: #1e5ce6; letter-spacing: 0.05em; margin-bottom: 5px;}
.step-number {font-size: 10vw; font-weight: 700; color: #1e5ce6; line-height: 1;}
.step-content {flex: 1;}
h3.step-title {font-size: 4vw; font-weight: 700; color: var(--cl-bs-02); margin-bottom: 2vw;}
.step-description {font-size: 3.8vw; color: #333; line-height: 1.8;}
@media screen and (min-width: 768px) {
    .flow .inbox h2 + p {text-align: center;}
    .flow-container {padding: 50px 60px;}
    .step-item {padding: 35px 0;}
    .step-header {gap: 20px;}
    .step-number-wrapper {min-width: 90px;}
    .step-label {font-size: 3vw;}
    .step-number {font-size: 6vw;}
    h3.step-title {font-size: 2.8vw;}
    .step-description {font-size: 2.4vw;}
}
@media screen and (min-width: 1024px) {
    .flow-container {padding: 60px 80px;}
    .step-item {padding: 40px 0;}
    .step-header {gap: 25px;}
    .step-number-wrapper {min-width: 100px;}
    .step-label {font-size: 2.4vw;}
    .step-number {font-size: 5.4vw;}
    h3.step-title {font-size: 2.6vw;}
    .step-description {font-size: 2vw;}
}
@media screen and (min-width: 1100px) {
    .flow-container {max-width: 60vw; padding: 2vw 4vw;}
    .step-label {font-size: 1.5vw;}
    .step-number {font-size: 3.4vw;}
    h3.step-title {font-size: 1.3vw; margin-bottom: 1.4vw;}
    .step-description {font-size: 1.1vw;}
}


/* Reason */
.reason .inbox {}
.reason .inbox h2 + p {text-align: center; margin-bottom: 50px;}
.reason .inbox .fl-box {display: block; width: 100%;}
.reason .inbox .fl-box .item {display: block; width: 90%; padding: 5vw 3vw; margin: 0 auto 30px; border: 1px solid var(--cl-bs-04); border-radius: 10px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);}
.reason .inbox .fl-box .item:last-child {margin-bottom: 0;}
.reason .inbox .fl-box .item img {width: 40%; display: block; margin: 0 auto 20px; }
.reason .inbox .fl-box .item p {text-align: center; } 
.reason .inbox .fl-box .item img + p {font-size: 4vw; text-align: center; color: var(--cl-bs-04); font-weight: bold; margin-bottom: 10px;}
@media screen and (min-width: 768px) {
  .reason .inbox .fl-box .item {width: 70%; padding: 4vw 3vw; margin: 0 auto 50px; }
  .reason .inbox .fl-box .item img {width: 35%;}
  .reason .inbox .fl-box .item img + p {font-size: 3vw; text-align: center; color: var(--cl-bs-04); font-weight: bold; margin-bottom: 10px;}
}
@media screen and (min-width: 1024px) {
  .reason .inbox .fl-box {display: flex; width: 100%; justify-content: space-between; align-items: stretch; }
  .reason .inbox .fl-box .item {display: block; width: 32%; padding: 5vw 3vw; margin: 0; }
  .reason .inbox .fl-box .item img {width:50%;}
  .reason .inbox .fl-box .item img + p {font-size: 2vw;}
}
@media screen and (min-width: 1100px) {
  .reason .inbox .fl-box .item {width: 32%; padding: 3vw 2vw; }
  .reason .inbox .fl-box .item img {width:35%;}
  .reason .inbox .fl-box .item img + p {font-size: 1.2vw;}
}


/* Faq */


.faq-container {width: 100%; margin: 0 auto;}
.faq-item {background: #F6F6F6; border-radius: 12px; padding: 5vw 5vw; margin-bottom: 20px;}
.faq-question {display: flex; align-items: flex-start; gap: 12px; margin-bottom: 15px;}
.q-icon {font-size: 6vw; font-weight: 700; color: var(--cl-bs-04); flex-shrink: 0; line-height: 1;}
h3.question-text {font-size: 3.8vw; font-weight: 700; color: var(--cl-bs-02); line-height: 1.6; margin-bottom: 0;}
.faq-answer {font-size: 3.4vw; color: var(--cl-bs-02); line-height: 1.8; padding-left: 6.4vw;}

@media screen and (min-width: 768px) {
    .faq-item {padding: 4vw 5vw; margin-bottom: 25px;}
    .faq-question {gap: 15px;}
    .q-icon {font-size: 4vw; }
    h3.question-text {font-size: 2.6vw;}
    .faq-answer {font-size: 2.4vw; padding-left: 5vw;}
}

@media screen and (min-width: 1024px) {
    .faq-item {padding: 3vw 4vw; margin-bottom: 30px; border-radius: 16px;}
    .faq-question {gap: 18px;}
    .q-icon {font-size: 3.2vw;}
    h3.question-text {font-size: 2.2vw;}
    .faq-answer {font-size: 2vw; padding-left: 4vw;}
}

@media screen and (min-width: 1100px) {
  .faq-container {max-width: 60dvw}
    .faq-item {padding: 1.8vw 2vw;}
    .q-icon {font-size: 2vw;}
    h3.question-text {font-size: 1.1vw;}
    .faq-answer {font-size: 1vw; padding-left: 2.6vw;}
}


/* Contact */
.contact {background: linear-gradient(180deg, #1C6BFF 0%, #114099 100%);}
.form-container {background: var(--cl-bs-01); border-radius: 20px; padding: 40px 30px; width: 100%; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);}
h2.form-title {color: var(--cl-bs-04); text-align: center; margin-bottom: 40px;}
.form-section {margin-bottom: 35px;}
h3.section-title {font-size: 4vw; font-weight: 700; color: var(--cl-bs-02); margin-bottom: 10px;}
.form-group {margin-bottom: 20px;}
.form-label {font-size: 3.6vw; font-weight: 600; color: var(--cl-bs-02); margin-bottom: 8px; display: block;}
.form-input {width: 100%; padding: 14px 18px; font-size: 3.4vw; border: 2px solid #e0e0e0; border-radius: 8px; transition: all 0.3s ease; font-family: inherit;}
.form-input:focus {outline: none; border-color: var(--cl-bs-04); box-shadow: 0 0 0 3px rgba(30, 92, 230, 0.1);}
.form-input::placeholder {color: #999;}
.form-textarea {width: 100%; min-height: 120px; padding: 14px 18px; font-size: 3.4vw; border: 2px solid #e0e0e0; border-radius: 8px; transition: all 0.3s ease; font-family: inherit; resize: vertical;}
.form-textarea:focus {outline: none; border-color: var(--cl-bs-04); box-shadow: 0 0 0 3px rgba(30, 92, 230, 0.1);}
.checkbox-grid {display: grid; grid-template-columns: 1fr; gap: 12px;}
.checkbox-item {display: flex; align-items: center; gap: 10px;}
.checkbox-input {width: 22px; height: 22px; border: 2px solid #d0d0d0; border-radius: 4px; cursor: pointer; flex-shrink: 0; appearance: none; position: relative; transition: all 0.2s ease;}
.checkbox-input:checked {background: var(--cl-bs-04); border-color: var(--cl-bs-04);}
.checkbox-input:checked::after {content: '✓'; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); color: var(--cl-bs-01); font-size: 14px; font-weight: 700;}
.checkbox-label {font-size: 15px; color: var(--cl-bs-02); cursor: pointer; user-select: none;}
.submit-button {width: 100%; padding: 18px 30px; font-size: 3.8vw; font-weight: 700; color: var(--cl-bs-01); background: var(--cl-bs-04); border: none; border-radius: 10px; cursor: pointer; transition: all 0.3s ease; margin-top: 10px;}
.submit-button:hover {background: var(--cl-bs-04); transform: translateY(-2px); box-shadow: 0 6px 20px rgba(30, 92, 230, 0.3);}
.submit-button:active {transform: translateY(0);}
@media screen and (min-width: 768px) {
    .form-container {padding: 5vw 4vw;}
    h2.form-title { margin-bottom: 50px;}
    h3.section-title {font-size: 2.6vw;}
    .form-label {font-size: 2.4vw;}
    .form-input {padding: 16px 20px; font-size: 2vw;}
    .form-textarea {min-height: 140px; padding: 16px 20px; font-size: 2vw;}
    .checkbox-grid {grid-template-columns: 1fr 1fr; gap: 15px;}
    .checkbox-input {width: 24px; height: 24px;}
    .checkbox-label {font-size: 2vw;}
    .submit-button {font-size: 2.8vw;}
}

@media screen and (min-width: 1024px) {
    .form-container {width: 80%; padding: 5vw 6vw; margin: 0 auto; border-radius: 35px;}
    h3.section-title {font-size: 2vw;}
    .form-label {font-size: 1.8vw;}
    .form-input {font-size: 1.8vw;}
    .checkbox-label {font-size: 1.8vw;}
    .form-textarea {min-height: 160px;font-size: 1.8vw;}
    .submit-button {font-size: 2.2vw;}
}

@media screen and (min-width: 1100px) {
    .form-container {width: 100%; max-width: 900px; padding: 70px 80px;}
    h3.section-title {font-size: 1.1vw;}
    .form-label {font-size: 1vw;}
    .form-input {font-size: 1vw;}
    .checkbox-label {font-size: 1vw;}
    .form-textarea {min-height: 160px;font-size: 1vw;}
    .submit-button {font-size: 1.2vw;}
}





@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
}






/*---------------------------------------------
  Low page
---------------------------------------------*/
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 1024px) {
}
@media screen and (min-width: 1100px) {
}

