/*
Theme Name: VERONICA
Author: VERONICA
Description: Original Theme
Version: 1.0.0
*/

/* Base */
:root {
    --color-main: #333132;
    /*   --color-theme: #02cae3; */
    --color-theme: #02dfe3;
    --color-background: #fff;
    --font-main: "Noto Sans JP", serif;
    --gradient-primary: linear-gradient(303deg, #e7deff 0%, #fadef5 40%, #ddf6ff 100%);
    --transition-default: all 0.3s ease;
    --container-width: 100%;
    --easing: cubic-bezier(.2, 1, .2, 1);
    --transition: .8s var(--easing);
    --color-base: #f8f8f8;
    --color-gray: #ddd;
    --color-theme-darken: #f12617;
    --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
    --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
    --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
    --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff, .2);
}

/* Reset */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

/* Typography */
html {
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}

body {
    font-family: var(--font-main);
    line-height: 1.8;
    color: var(--color-main);
    font-weight: 400;
}

/* Layout */
.container {
    max-width: var(--container-width);
    margin: 0 auto;
    overflow: hidden;
}

.grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 70% 3% 27%;
    grid-template-columns: 70% 27%;
    gap: 3%;
}

a:hover {
    opacity: .7;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

/* Responsive Design */
@media (max-width: 768px) {
    .grid {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
    }

    .nav-toggle {
        display: block;
    }

    .main-nav {
        position: fixed;
        inset: 0;
        background: rgba(255, 255, 255, 0.95);
        -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
        transform: translateX(-100%);
        -webkit-transition: var(--transition-default);
        -o-transition: var(--transition-default);
        transition: var(--transition-default);
    }

    .main-nav.is-active {
        -webkit-transform: translateX(0);
        -ms-transform: translateX(0);
        transform: translateX(0);
    }

    .nav-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 2rem;
    }
}

/* Utilities */
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

@media (min-width: 768px) {
    .mobile-only {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .desktop-only {
        display: none !important;
    }
}

/* Animations */
/* @keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.fade-in {
    animation: fadeIn 0.3s ease forwards;
} */

/*---------------------------------------------------------
アニメーション
---------------------------------------------------------*/

/*ローディング*/
#splash {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    z-index: 990;
}

#splash-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 25%;
    -webkit-transition: opacity 1.0s ease;
    -o-transition: opacity 1.0s ease;
    transition: opacity 1.0s ease;
}

#splash-logo.is-animated {
    -webkit-transition: -webkit-clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    transition: -webkit-clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    -o-transition: clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    transition: clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    transition: clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1), -webkit-clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
}

#splash-logo img {
    width: 100%;
    -webkit-clip-path: inset(0 100% 0 0);
    clip-path: inset(0 100% 0 0);
    -webkit-transition: -webkit-clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    transition: -webkit-clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    -o-transition: clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    transition: clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
    transition: clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1), -webkit-clip-path 1.8s cubic-bezier(0.37, 0, 0.63, 1);
}

#splash-logo.is-animated img {
    -webkit-clip-path: inset(0);
    clip-path: inset(0);
}

body {
    background: #fff;
}

body.appear {
    background: #fff;
}

.splashbg1,
.splashbg2 {
    display: none;
}

body.appear .splashbg1,
body.appear .splashbg2 {
    display: block;
}

body.appear .splashbg1 {
    -webkit-animation-name: PageAnime;
    animation-name: PageAnime;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    content: "";
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 50%;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    /*     background-color: #3ad6ff; */
    background: #ffffff;
}

@-webkit-keyframes PageAnime {
    0% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    50% {
        -webkit-transform-origin: right;
        transform-origin: right;
    }

    100% {
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
}

@keyframes PageAnime {
    0% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    50% {
        -webkit-transform-origin: right;
        transform-origin: right;
    }

    100% {
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
}

body.appear .splashbg2 {
    -webkit-animation-name: PageAnime2;
    animation-name: PageAnime2;
    -webkit-animation-duration: 1.3s;
    animation-duration: 1.3s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    content: "";
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    top: 0;
    right: 50%;
    -webkit-transform: scaleX(1);
    -ms-transform: scaleX(1);
    transform: scaleX(1);
    /*     background-color: #3ad6ff; */
    background: #ffffff;
}

@-webkit-keyframes PageAnime2 {
    0% {
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    50% {
        -webkit-transform-origin: left;
        transform-origin: left;
    }

    100% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
}

@keyframes PageAnime2 {
    0% {
        -webkit-transform-origin: right;
        transform-origin: right;
        -webkit-transform: scaleX(1);
        transform: scaleX(1);
    }

    50% {
        -webkit-transform-origin: left;
        transform-origin: left;
    }

    100% {
        -webkit-transform-origin: left;
        transform-origin: left;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
    }
}



.js-animation {
    opacity: 0;
    visibility: hidden;
    -webkit-transform: translateY(10px);
    -ms-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 2s;
    -o-transition: all 2s;
    transition: all 2s;
}

.js-animation.is-show {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateY(0px);
    -ms-transform: translateY(0px);
    transform: translateY(0px);
}

.grecaptcha-badge {
    visibility: hidden;
}

p.center {
    text-align: center;
}

.flex-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/

.pc_block {
    display: block !important;
}

.sp_block {
    display: none !important;
}

br.sp_block,
.sp_inlineblock {
    display: none !important;
}

.pc_inlineblock {
    display: inline-block;
}

/*---------------------------------------------------------
ヘッダー
---------------------------------------------------------*/

header {
    height: 12vh;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
}

/* Site Title */
.site-title-wrap {
    width: 30%;
    height: 12vh;
    padding-left: 2%;
}

.site-title-wrap a {
    height: 12vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.site-title-wrap img {
    width: 85%;
    height: auto;
}

/* Header Inner */
.header-inner {
    max-width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: unset;
    left: 0;
    right: 0;
    z-index: 100;
}

nav#g-nav {
    width: 100%;
}

/* Navigation */
#nav {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#nav-list {
    width: 100%;
}

nav ul {
    /*     width: 87%; */
    width: 90%;
    list-style: none;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 12vh;
    margin: 0 1vw 0 auto;
}

/* Navigation Links */
.nav-left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-right: 19%;
}

nav ul li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
}

nav ul li a {
    display: block;
    text-decoration: none;
    padding: 0 1vw;
    font-weight: 500;
    font-size: 1.1rem;
    letter-spacing: 0.2em;
    color: var(--color-main);
    line-height: 1.6;
}

li.nav-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

nav ul li a:hover {
    color: var(--color-theme);
}

nav ul li.company a {
    margin-right: 1vw;
}

nav ul li.contact a {
    color: #fff;
    height: 7vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    font-size: 1.2rem;
    padding: 0 1.5vw;
    border-radius: 50px;
    /* 	    background: var(--color-theme); */
    /* 		background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
		    border: 1px solid #fff; */
    background: rgb(255 255 255 / 90%);
    /* background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%); */
    border: 1px solid #fff;
    color: #00BCD4;
}

nav ul li.contact a:hover,
.mv-copy .link a:hover {
    opacity: .7;
}


/* Dropdown Menu */
.menu-list {
    display: none;
    width: 130%;
    position: absolute;
    top: 12vh;
    left: 0;
    border: 1.5px solid #fff;
    border-top: unset;
}

nav ul li.menu-item {
    text-align: left;
}

.menu-list>li>a {
    color: #fff;
    text-decoration: none;
    position: relative;
    background: #3ad6ff;
    display: block;
    width: 100%;
    padding: 1.5vh;
}

.menu-list>li.one a {
    border-bottom: 1.5px solid #fff;
}

nav ul.menu-list>li>a:hover {
    opacity: 0.8;
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    color: #fff;
}

section.mv {
    overflow: hidden;
    width: 100%;
    height: 100vh;
    position: relative;
}

.mv-copy {
    position: absolute;
    top: 53%;
    left: 5vw;
    transform: translate(0%, -50%);
    -webkit-transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%);
    z-index: 1;
}

.mv-copy p {
    font-weight: 500;
    line-height: 2.2;
}

.mv-copy p,
.mv-copy .link {
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
    transition: opacity 1s ease, -webkit-transform 1s ease;
    -o-transition: opacity 1s ease, transform 1s ease;
    transition: opacity 1s ease, transform 1s ease;
    transition: opacity 1s ease, transform 1s ease, -webkit-transform 1s ease;
}

.mv-copy p.appear,
.mv-copy .link.appear {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

.mv-copy p.p1 {
    font-size: 2.5rem;
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
    letter-spacing: .15vw;
}

.mv-copy p.p2 {
    font-size: 2.7rem;
    -webkit-animation-delay: 1.0s;
    animation-delay: 1.0s;
}

.mv-copy p.p2 span.bg,
section.Misson p span.bg {
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    color: #fff;
    padding: 1vh 1vw 1.2vh;
    line-height: 1;
    display: inline-block;
    border: 1px solid #ffff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.mv-copy p.p2 span.small {
    font-size: .8em;
    padding-left: .5vw;
}

.mv-copy p.p3 {
    font-size: 2.5rem;
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s;
    position: relative;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .2vw;
}

.mv-copy p.p3 span.small {
    font-size: .85em;
}

.mv-copy p.p3 span.dot {
    position: relative;
    display: inline-block;
}

.mv-copy p.p3 span.dot::before {
    content: "・";
    position: absolute;
    top: -3.5vh;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #04d5f0;
}

.mv-copy p.p4 {
    font-size: 1.3rem;
    -webkit-animation-delay: 2.0s;
    animation-delay: 2.0s;
    font-family: "Josefin Sans", sans-serif;
    margin-top: 1vh;
    padding-left: .2vw;
    color: #00BCD4;
}

.mv-copy .link {
    margin-top: 3vh;
}

.mv-copy .link a {
    color: #fff;
    height: 7vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 32%;
    font-size: 1.2rem;
    padding: 0 1.5vw;
    border-radius: 50px;
    border: 1px solid #fff;
    /*     background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%); */
    background: -o-linear-gradient(2deg, #ff58df 0%, #04e3ff 100%);
    background: linear-gradient(88deg, #ff58df 0%, #04e3ff 100%);
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1.6;
}

@-webkit-keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes fadeInUp {
    0% {
        opacity: 0;
        -webkit-transform: translateY(15px);
        transform: translateY(15px);
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

.background-en {
    --bg-text: "Marketing, Design & Branding — to support your business growth.";
    --bg-color: #B3E5FC;
    --marquee-duration: 75s;

    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .5;
    height: 10vw;
    line-height: 1.05;
    font-size: clamp(4rem, 10vw, 9rem);

    overflow: hidden;
    pointer-events: none;
    z-index: 0;
}

.background-en::after {
    content: none !important;
}

.background-en::before {
    content: var(--bg-text) "\00A0\00A0\00A0\00A0" var(--bg-text);
    position: absolute;
    left: 0;
    bottom: -0.25em;

    white-space: nowrap;
    display: inline-block;
    width: max-content;

    font-weight: 600;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: -.4vw;

    background: var(--bg-color);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;

    opacity: var(--bg-opacity);
    mix-blend-mode: normal;

    animation: marquee var(--marquee-duration) linear infinite;
    will-change: transform;

    transform: translate3d(0, 0, 0);
    backface-visibility: hidden;
}

@keyframes marquee {
    0% {
        transform: translate3d(0, 0, 0);
    }

    100% {
        transform: translate3d(-50%, 0, 0);
    }
}

@media (prefers-reduced-motion: reduce) {
    .background-en::before {
        animation: none;
    }
}

/* ===== MV（メインビジュアル）専用：下端帯に限定 + フェード ===== */

section.mv {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

section.mv .mv-copy {
    position: absolute;
    z-index: 3;
}

/* section.mv .background-en{
  top: auto !important;
  bottom: 0 !important;

  height: min(220px, 22vh) !important;
  z-index: 0 !important;

  -webkit-mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%);
          mask-image: linear-gradient(to top, rgba(0,0,0,1) 0%, rgba(0,0,0,0) 75%);
} */

section.mv .background-en:before {
    bottom: -.5vw !important;
}

.footer-bg .background-en {
    height: 10vw;
}

.footer-bg .background-en::before {
    bottom: -.5vw !important;
}

/* ===== ページ別カラー差し替え（必要なら） ===== */

.page-id-1383 .background-en {
    --bg-color: #cdcdcd;
}

/* .background-en {
    position: absolute;
    bottom: -1vh;
    left: 0;
    right: 0;
    opacity: 0.9;
    font-size: 10rem;
    z-index: 2;
    overflow: hidden;
}

.background-en .content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 0;
    position: relative;
}

.background-en p {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    white-space: nowrap;
    font-weight: 600;
    background: #B3E5FC;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    text-fill-color: transparent;
    opacity: .4;
        line-height: 1.05;
    -webkit-animation: slide 75s linear infinite;
    animation: slide 75s linear infinite;
    padding-bottom: 0;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: -.4vw;
    mix-blend-mode: difference;
    color: transparent;
    -webkit-transition: color 0.3s ease;
    -o-transition: color 0.3s ease;
    transition: color 0.3s ease;
}

@-webkit-keyframes slide {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@keyframes slide {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}
 */
@-webkit-keyframes fluidrotate {

    0%,
    100% {
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
    }

    14% {
        border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
    }

    28% {
        border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
    }

    42% {
        border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
    }

    56% {
        border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
    }

    70% {
        border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
    }

    84% {
        border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
    }

}

@keyframes fluidrotate {

    0%,
    100% {
        border-radius: 63% 37% 54% 46%/55% 48% 52% 45%;
    }

    14% {
        border-radius: 40% 60% 54% 46%/49% 60% 40% 51%;
    }

    28% {
        border-radius: 54% 46% 38% 62%/49% 70% 30% 51%;
    }

    42% {
        border-radius: 61% 39% 55% 45%/61% 38% 62% 39%;
    }

    56% {
        border-radius: 61% 39% 67% 33%/70% 50% 50% 30%;
    }

    70% {
        border-radius: 50% 50% 34% 66%/56% 68% 32% 44%;
    }

    84% {
        border-radius: 46% 54% 50% 50%/35% 61% 39% 65%;
    }

}

.fluid.one,
.fluid.two {
    mix-blend-mode: normal;
    -webkit-filter: brightness(1);
    filter: brightness(1);
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    position: absolute;
    border-radius: 50%;
}

.fluid.one {
    -webkit-animation: fluidrotate 50s ease 0s infinite;
    animation: fluidrotate 60s ease 0s infinite;
    z-index: -1;
    width: 60vw;
    height: 113vh;
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    /* 	 background: linear-gradient(266deg, rgba(19, 238, 242, 0.8) 0%, rgba(127, 221, 255, 0.8)),
                url('https://veronica9.com/wp-content/uploads/2021/11/VERONICAimg.jpeg') center/cover; */
    position: absolute;
    right: -5vw;
    top: -23vh;
    border-radius: 50%;
}

.fluid.two {
    -webkit-animation: fluidrotate 50s ease 0s infinite;
    animation: fluidrotate 50s ease 0s infinite;
    z-index: -1;
    width: 30vw;
    height: 53vh;
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    position: absolute;
    left: -5vw;
    bottom: -23vh;
    border-radius: 50%;
}

.fluid.three {
    -webkit-animation: fluidrotate 50s ease 0s infinite;
    animation: fluidrotate 50s ease 0s infinite;
    z-index: 0;
    width: 30vw;
    height: 53vh;
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    position: absolute;
    right: -4vw;
    top: 0;
    border-radius: 50%;
}

.fluid.four {
    -webkit-animation: fluidrotate 50s ease 0s infinite;
    animation: fluidrotate 50s ease 0s infinite;
    z-index: 0;
    width: 20vw;
    height: 35vh;
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    position: absolute;
    left: -1vw;
    top: -3vh;
    border-radius: 50%;
    z-index: -2;
}

/*========= 1文字ずつ出現させるためのCSS ===============*/

.eachTextAnime span {
    opacity: 0;
}

.eachTextAnime.appeartext span {
    -webkit-animation: text_anime_on 1s ease-out forwards;
    animation: text_anime_on 1s ease-out forwards;
}

@-webkit-keyframes text_anime_on {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

@keyframes text_anime_on {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.announce-wrap {
    width: 53%;
    margin: 5vh auto 0;
    background: #F5F5F5;
    text-align: center;
    padding: 3vh 0;
    outline: 1.5px solid #9E9E9E;
    outline-offset: -9px;
}

.announce-wrap.bottom {
    margin: 7vh auto;
}

.announce-wrap h2 {
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    font-size: 2.2rem;
}

.announce-wrap .p1,
.announce-wrap .p2 {
    font-size: 1.3rem;
    font-weight: 500;
}

.announce-wrap .p3 {
    font-size: 1.1rem;
    font-weight: 500;
    margin-top: 1vh;
}

/*お知らせ*/

section.news .h2-wrap {
    text-align: left;
    width: 53%;
    margin: 5vh auto 0;
}

section.news h2 {
    -ms-writing-mode: tb-rl;
    font-size: 4rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
    position: relative;
    z-index: 1;
}

section.news .h2-wrap p {
    text-align: left;
    font-size: 1rem;
}

.news_box {
    padding: 1.6vh 1vw;
    width: 53%;
    margin: 3vh auto 0;
    background: #ebfaff;
}

.news_box ul {
    display: flex;
}

.news_box ul:nth-child(n+2) {
    border-top: 1px solid #21bcf3;
    margin-top: 1vh;
    padding-top: 1vh;
}

section.mv .news_box a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    text-decoration: none;
}

.news_box li {
    border-radius: unset;
    background: unset;
    text-align: left;
    list-style: none;
}

li.mv_i_news p {
    color: var(--color-theme);
    font-weight: 600;
    font-family: 'Roboto Condensed', sans-serif;
    font-size: 1.4rem;
}

li.mv_i_date {
    width: 13% !important;

}

section.news p.date {
    font-size: 1.2rem;
}

li.mv_i_date,
li.mv_i_title {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 500;
}

li.mv_i_title {
    padding-left: 1vw;
    font-size: 1.1rem;
}

section.mv .news_box a:hover {
    opacity: 0.6;
}



i.fas.fa-caret-square-right {
    font-size: 1.6rem;
    color: var(--color-theme);
    position: relative;
    top: .5vh;
}


section.Misson .inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0 5vh;
}

section.Misson h2 {
    -ms-writing-mode: tb-rl;
    /* writing-mode: vertical-rl; */
    font-size: 7rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
    /* position: absolute; */
    /* right: 16vw; */
    position: relative;
    z-index: 1;
    text-align: center;
}

/* .eachTextAnime span{ background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } */


section.Misson .text-wrap {
    position: relative;
    z-index: 1;
    margin-top: 5vh;
}

section.Misson .text-wrap p {
    text-align: center;
    font-size: 2rem;
    font-weight: 500;
    opacity: 0;
    -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
    -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
    transition: opacity 0.6s ease, -webkit-transform 0.6s ease;
    -o-transition: opacity 0.6s ease, transform 0.6s ease;
    transition: opacity 0.6s ease, transform 0.6s ease;
    transition: opacity 0.6s ease, transform 0.6s ease, -webkit-transform 0.6s ease;
    line-height: 2.5;
}

section.Misson .text-wrap p.show {
    opacity: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
}

section#Coconala {
    margin: 10vh 0;
    opacity: 0;
    -webkit-transform: translateX(50px);
    -ms-transform: translateX(50px);
    transform: translateX(50px);
    -webkit-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

section#Coconala.visible {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

section#Coconala .inner {
    width: 98%;
    margin: 0 0 0 auto;
}

section#Coconala .flex-wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

section#Coconala .flex-box.left {
    width: 27%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

section#Coconala .flex-box.left img {
    width: 70%;
    position: relative;
    right: -2vw;
}

section#Coconala .flex-box.right {
    width: 70%;
    background: #F5F5F5;
    border-radius: 1vw;
    padding: 5vh 0 5vh 3vw;
}

section#Coconala .h3-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section#Coconala h3 {
    font-size: 2rem;
    text-align: center;
    font-weight: 600;
}

section#Coconala .h3-wrap p {
    font-size: 1.3vw;
    font-weight: 500;
    margin: 0 0.5vw 0 1vw;
    display: flex;
    justify-content: center;
    align-items: center;
}

.badge.pc_block {
    width: 11%;
}

.badge.pc_block .flex-wrap {
    width: 100%;
}

.badge .flex-wrap img {
    width: 44%;
}

section#Coconala dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 1.5rem;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 3vh;
}

section#Coconala dt {
    width: 28%;
    font-weight: 600;
    background: #e91e95;
    color: #fff;
    text-align: center;
    margin-bottom: 1.5vh;
    letter-spacing: .05vw;
}

section#Coconala dd {
    width: 70%;
    font-weight: 500;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: .05vw;
}

section#Coconala .flex-box.right span.number {
    font-weight: 700;
    font-size: 1.8rem;
    padding: 0 .1vw;
    display: inline-block;
    line-height: 1;
}

section#Coconala .link a {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 28%;
    font-size: 1.2rem;
    padding: .5vh 1.5vw;
    border-radius: 50px;
    border: 1px solid #fff;
    background: #BDBDBD;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1.6;
    margin: 2vh auto 0;
}


section#Work {
    position: relative;
    overflow: hidden;
}

section.Work .inner {
    width: 90%;
    margin: 0 auto;
    padding: 10vh 0 5vh;
    z-index: 1;
    position: relative;
}

section#Work .notes {
    text-align: center;
    margin: 3vh 0;
    font-size: 1.1vw;
}

section.Work h2 {
    text-align: center;
    /* font-family: "Poppins", serif; */
    font-size: 7rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
    /*     background: linear-gradient(to right, #13eef2 0%, #7fddff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent; */
}

.h2-wrap p {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 500;
    letter-spacing: .5vw;
    line-height: 2.1;
}

.hp-wrap,
.logo-wrap {
    position: relative;
}

section.Work h3 {
    font-size: 2.5rem;
    /* border-left: .3vw solid #333; */
    padding-left: 1vw;
    line-height: 1;
    margin-top: 5vh;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    position: relative;
    padding-left: 1.3vw;
}

section.Work h3::before {
    background-color: #04d5f0;
    border-radius: 5px;
    content: "";
    height: .25vw;
    width: 2vw;
    position: absolute;
    left: -.7vw;
    top: 1.3vh;
    -webkit-transform: rotate(287deg);
    -ms-transform: rotate(287deg);
    transform: rotate(287deg);
}

p.en-big {
    position: absolute;
    top: 0;
    right: 0;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    font-size: 12.5rem;
    background: rgb(3 220 244);
    background: -webkit-gradient(linear, left top, right top, from(#13eef2), to(#ffecb3));
    background: -o-linear-gradient(left, #13eef2 0%, #ffecb3 100%);
    background: linear-gradient(to right, #13eef2 0%, #ffecb3 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

section.Work .hp-wrap .works-wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3vw 1fr 3vw 1fr;
    grid-template-columns: repeat(3, 1fr);
    gap: 7vh 3vw;
    margin-top: 5vh;
}

section.Work .logo-wrap .works-wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 3vw 1fr 3vw 1fr 3vw 1fr;
    grid-template-columns: repeat(4, 1fr);
    gap: 7vh 3vw;
    margin-top: 5vh;
}

section.Work .works-wrap .glid-box {
    position: relative;
    overflow: hidden;
}

section.Work .hp-wrap .works-wrap .glid-box .img-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 8.8;
    margin-bottom: 1vh;
}

section.Work .hp-wrap .works-wrap .glid-box img {
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    -o-transition: transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

section.Work .hp-wrap .works-wrap .glid-box:hover img {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

section.Work .works-wrap p.name {
    font-weight: 500;
    letter-spacing: .1vw;
    text-align: center;
    font-size: 1.1rem;
}

section.Work .service-wrap.one {
    margin-top: 1vh;
    width: 100%;
}

section.Work .service-wrap.two {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 1vh;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

section.Work .service-wrap p {
    width: 49%;
    color: #fff;
    text-align: center;
    border-radius: .1vw;
    margin: 0 auto;
}

p.hp {
    background: -o-linear-gradient(1deg, #ff0e91 0%, #d144ea 100%);
    background: linear-gradient(89deg, #ff0e91 0%, #d144ea 100%);
}

p.logo {
    background: -o-linear-gradient(1deg, #008eff 0%, #00BCD4 100%);
    background: linear-gradient(89deg, #008eff 0%, #00BCD4 100%);
}

p.line {
    background: -o-linear-gradient(1deg, #00B900 0%, #8BC34A 100%);
    background: linear-gradient(89deg, #00B900 0%, #8BC34A 100%);
}

.client-wrap {
    margin-top: 4vh;
    background: #eff3f6;
    border-radius: 1vw;
    padding: 3vh 2vw;
}

.client-wrap h4 {
    text-align: center;
    font-size: 1.3rem;
    letter-spacing: .5vw;
    font-weight: 600;
    margin-bottom: 1vh;
}

.client-wrap p.p1 {
    font-size: 1.1rem;
    letter-spacing: .1vw;
    font-weight: 500;
    text-align: justify;
}

.client-wrap p.p2 {
    font-size: 1.2rem;
    letter-spacing: .1vw;
    font-weight: 500;
}

.client-wrap span.number {
    font-weight: 700;
    font-size: 1.6rem;
    padding: 0 .1vw;
    display: inline-block;
    line-height: 1;
}

section.Work p.notes {
    text-align: center;
    margin-top: 5vh;
    font-size: 1.1rem;
}

section.Work p.notes_b {
    text-align: center;
    margin-top: 3vh;
    font-size: 1.1rem;
}

.logo-wrap {
    margin-top: 13vh;
}

section.Work .logo-wrap .works-wrap .glid-box .img-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
    aspect-ratio: 16 / 8.8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

section.Work .logo-wrap .works-wrap .glid-box .img-wrap img {
    height: 100%;
}

img.wii {
    width: 80%;
}

img.gr {
    width: 95%;
}

img.le {
    width: 99%;
}

img.pa {
    width: 68%;
}

img.lm {
    width: 87%;
}

img.ex {
    width: 81%;
}

article.glid-box.fadein {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}

article.glid-box.fadein.visible {
    opacity: 1;
    transform: translateY(0);
}

/*---------------------------------------------------------
  voice
  ---------------------------------------------------------*/

section#Voice .bg {
    opacity: 0;
    -webkit-transform: translateX(50px);
    -ms-transform: translateX(50px);
    transform: translateX(50px);
    -webkit-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

section#Voice .bg.visible {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

section#Voice {
    position: relative;
    /* 	    overflow: hidden; */
}

section#Voice .inner {
    padding: 10vh 0 5vh;
}

section#Voice .h2-wrap {
    width: 86%;
    margin: 0 auto 7vh;
}

section#Voice h2 {
    text-align: right;
    font-size: 6rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
}

section#Voice .h2-wrap p {
    text-align: right;
}

section#Voice .bg {
    position: absolute;
    top: 0;
    right: 0;
    width: 97%;
    height: 100%;
    border-radius: 5vw 0 0 5vw;
    background: -o-linear-gradient(184deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    z-index: -1;
}

.l-inner {
    position: relative;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    max-width: 90%;
    margin: 0 auto;
    padding: 0 7vw;
}

.l-section .l-inner {
    padding-top: 9svh;
    padding-bottom: 9svh;
}

[class*=swiper]:focus {
    outline: none;
}

.slide-media,
.thumb-media {
    position: relative;
    overflow: hidden;
}

.slide-media img,
.thumb-media img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}


.swiper-button-prev,
.swiper-button-next {
    display: -ms-grid;
    display: grid;
    place-content: center;
    width: 6.4vw !important;
    height: 6.4vw !important;
    cursor: pointer;
    -webkit-transition: var(--transition);
    -o-transition: var(--transition);
    transition: var(--transition);
}

.swiper-button-prev::before,
.swiper-button-next::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    -webkit-box-shadow: var(--box-shadow);
    box-shadow: var(--box-shadow);
}

.swiper-button-prev::after,
.swiper-button-next::after {
    width: 1.2vw;
    height: 1.2vw;
    content: "";
    border: solid var(--color-gray);
    border-width: 3px 3px 0 0;
}

.swiper-button-prev::after {
    margin-left: 0.4rem;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.swiper-button-next::after {
    margin-right: 0.4rem;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.swiper-button-disabled {
    pointer-events: none;
    opacity: 0;
}

.card03 {
    overflow: hidden;
    position: relative;
}

.card03 .swiper {
    overflow: visible;
}

.card03 .swiper-button-prev,
.card03 .swiper-button-next {
    position: absolute;
    z-index: 1;
    bottom: 0;
    top: unset;
    margin: auto;
}

.card03 .swiper-button-prev::before,
.card03 .swiper-button-next::before {
    background-color: rgb(60 221 241 / 40%);
    -webkit-box-shadow: var(--box-shadow-dark);
    box-shadow: var(--box-shadow-dark);
}

.card03 .swiper-button-prev::after,
.card03 .swiper-button-next::after {
    border-color: #fff;
}

.card03 .swiper-button-prev {
    right: calc(100% - 1.6rem);
}

.card03 .slide {
    overflow: hidden;
}

.card03 .slide-content {
    padding: 2vh 1vw;
}

.card03 .swiper-wrapper {
    display: -ms-grid;
    display: grid;
    grid-auto-flow: column;
}

.card03 .slide-text {
    height: 100%;
}

.card03 .slide-text p {
    font-size: 1.2vw;
    line-height: 1.6;
    font-weight: 500;
}

p.mb {
    margin-bottom: .7em;
}

.card03 .swiper-slide:not(.swiper-slide-visible) .slide {
    pointer-events: none;
    opacity: 0.3;
}

.card03 .swiper-slide {
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto;
    -webkit-box-shadow: 0 4px 14px rgba(0, 0, 0, .09);
    box-shadow: 0 4px 14px rgba(0, 0, 0, .09);
    background: #fff;
    border-radius: 1vw;
}


@media only screen and (max-width: 1024px) {
    html {
        -webkit-text-size-adjust: 100%;
    }

    .l-inner {
        padding: 0 4rem;
    }

    .pc {
        display: none !important;
    }

    .card03 .swiper {
        padding: 0 3.2rem;
    }

    .card03 .swiper-button-prev {
        right: calc(100% - 5.2rem);
    }
}

@media only screen and (max-width: 599px) {
    html {
        font-size: 50%;
    }

    .pc-tab {
        display: none !important;
    }
}

@media only screen and (min-width: 1025px) {
    .tab-sp {
        display: none !important;
    }

    .swiper-button-prev::before,
    .swiper-button-next::before {
        -webkit-transition: var(--transition);
        -o-transition: var(--transition);
        transition: var(--transition);
    }

    .swiper-button-prev:hover::before,
    .swiper-button-next:hover::before {
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
    }

    .card03 .slide img {
        -webkit-transition: var(--transition);
        -o-transition: var(--transition);
        transition: var(--transition);

    }

    .card03 .slide:hover img {
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
    }
}

@media only screen and (min-width: 600px) {
    .sp {
        display: none !important;
    }
}

section#About {
    position: relative;
}

section#About .inner {
    width: 93%;
    margin: 0 auto;
    padding: 10vh 0 5vh;
}

section#About .flex-box.left {
    width: 52%;
}

section#About h2 {
    text-align: left;
    font-size: 5rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
}

section#About .h2-wrap p {
    text-align: left;
}

section#About .text-wrap {
    margin-top: 5vh;
}

section#About .text-wrap p {
    font-size: 1.2rem;
    font-weight: 500;
}

section#About .text-wrap p.name {
    text-align: right;
    font-size: 1.5rem;
    margin-right: 1vw;
}

p.name span {
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    font-size: 1.6rem;
}

.fluid.five {
    -webkit-animation: fluidrotate 50s ease 0s infinite;
    animation: fluidrotate 60s ease 0s infinite;
    z-index: 0;
    /*     width: 43vw; */
    height: 66vh;
    position: absolute;
    right: 2vw;
    border-radius: 50%;
    /*     background: url(https://veronica9.com/wp-content/uploads/2021/11/7604f5d32419a3759cd4000b8fe57a82.jpg);
    background-size: 150%;
    background-position: -9vw -4vh; */
    background-repeat: no-repeat;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 42vw;
    background: url(https://veronica9.com/wp-content/uploads/2026/01/veronica-photo2.jpg);
    background-size: 111%;
    background-position: 0 0;
}

.fluid.six {
    -webkit-animation: fluidrotate 50s ease 0s infinite;
    animation: fluidrotate 60s ease 0s infinite;
    z-index: 0;
    width: 42vw;
    height: 66vh;
    position: absolute;
    right: 0vw;
    border-radius: 50%;
    background: -o-linear-gradient(33deg, #13eef2 0%, #7fddff 100%);
    background: linear-gradient(57deg, #13eef2 0%, #7fddff 100%);
    z-index: -1;
    top: 52%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

section#Service .inner {
    width: 80%;
    margin: 0 auto;
    padding: 10vh 0;
}

section#Service h2 {
    text-align: center;
    font-size: 6rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: 0.9;
}

p.service-lead__text {
    text-align: center;
    margin: 3vh 0 0;
    font-size: 1.3vw;
    font-weight: 500;
    letter-spacing: .05vw;
}

section#Service h3 {
    background: linear-gradient(89deg, rgb(19, 238, 242) 0%, rgb(127, 221, 255) 100%);
    text-align: center;
    font-size: 2vw;
    color: #fff;
    font-weight: 600;
    letter-spacing: .2vw;
    padding: 1.5vh 0;
    margin-top: 5vh;
    border-radius: 50px;
}

section#Service .service-grid {
    display: flex;
    gap: 8vw;
    align-items: stretch;
}

section#Service .service-grid .flex-wrap {
    width: calc(50% - 1.1vw);
    margin-top: 8vh;
}

section#Service .service-grid .flex-wrap {
    flex-direction: column;
    gap: 2vh;
}

section#Service .service-grid .flex-box.left,
section#Service .service-grid .flex-box.right {
    width: 100%;
}

section#Service .service-grid .flex-box.left {
    justify-content: center;
}

section#Service p.service-tag {
    background: #EEEEEE;
    text-align: center;
    font-size: 1.4vw;
    font-weight: 600;
    padding: 1vh 0;
    margin-bottom: 2vh;
    letter-spacing: .05vw;
}

section#Service .service-grid img {
    width: 100%;
    height: auto;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .10), 0 2px 10px rgba(0, 0, 0, .06);
}

section#Service .link-group {
    display: flex;
    flex-direction: column;
    gap: 1.2vh;
    width: 100%;
    margin-top: 3vh;
}

section#Service .link-group .link {
    width: 100%;
    margin: 0;
    text-align: center;
}

section#Service .flex-box.left .link a {
    /*     background: -o-linear-gradient(220deg, #1f3b66 0%, #0b1f3a 100%);
        background: linear-gradient(220deg, #1f3b66 0%, #0b1f3a 100%); */
    background: linear-gradient(220deg, #fb019c 0%, #03a9f4 67%, #01e2ff 100%);
    color: #fff;
    font-size: 1.2vw;
    width: 50%;
    display: block;
    padding: 1vh 0;
    letter-spacing: .05vw;
    border-radius: 50px;
    margin: 0 auto;
}

section#Service .flex-box.right .link a {
    background: -o-linear-gradient(220deg, #0cdbdf 0%, #03a9f4 100%);
    background: linear-gradient(220deg, #0cdbdf 0%, #03a9f4 100%);
    color: #fff;
    font-size: 1.2vw;
    width: 50%;
    display: block;
    padding: 1vh 0;
    letter-spacing: .05vw;
    border-radius: 50px;
    margin: 0 auto;
}

section#Service .service-points {
    margin-top: 3vh;
    background: #eff3f6;
    padding: 2vh 2vw 2vh 3.5vw;
    border-radius: .5vw;
}

section#Service .service-points li {
    font-size: 1.2vw;
    margin: .6vh 0;
}

section#Service .flex-box.left h4 {
    /*     background: linear-gradient(220deg, #1f3b66 0%, #0b1f3a 100%); */
    background: linear-gradient(220deg, #fb019c 0%, #03A9F4 67%, #01e2ff 100%);
    color: #fff;
    text-align: center;
    font-size: 1.4vw;
    font-weight: 500;
    letter-spacing: .05vw;
    padding: .5vh 0;
    margin-top: 2vh;
}

section#Service .flex-box.right h4 {
    background: linear-gradient(220deg, #0cdbdf 0%, #03a9f4 100%);
    color: #fff;
    text-align: center;
    font-size: 1.4vw;
    font-weight: 500;
    letter-spacing: .05vw;
    padding: .5vh 0;
    margin-top: 2vh;
}

section#Service .text-wrap {
    font-size: 1.2vw;
    font-weight: 500;
    margin-top: 2vh;
    line-height: 2;
}


@media (max-width: 767px) {
    section#Service .service-grid {
        flex-direction: column;
        gap: 3vh;
    }

    section#Service .service-grid .flex-wrap {
        width: 100%;
        margin-top: 3vh;
    }
}

section#Service .service-price {
    display: flex;
    flex-wrap: wrap;
    gap: 0 1vw;
    align-items: baseline;
    justify-content: center;
    margin: 3vh auto 0;
    padding: 1.2vh 1.2vw;
    border: 2px solid rgba(0, 0, 0, .08);
    border-radius: .3vw;
    width: 100%;
    border-color: #1f3b66;
}

section#Service .service-price span.price-badge {
    font-size: 1.2vw;
    font-weight: 600;
    letter-spacing: .06vw;
    width: 100%;
    text-align: center;
    color: #E91E63;
}

section#Service .service-price .price-label {
    font-size: 1.2vw;
    font-weight: 700;
    letter-spacing: .06vw;
}

section#Service .service-price .price-value {
    font-size: 2vw;
    font-weight: 800;
    letter-spacing: .02vw;
    line-height: 1.2;
}

section#Service .service-price .price-tax {
    font-size: 1vw;
    font-weight: 700;
}

section#Service .service-price .price-note {
    text-align: center;
    font-size: 1.1vw;
    background: #eff3f6;
    border-radius: 50px;
    margin: 1vh auto;
    padding: 0 3vw;
    font-weight: 600;
    letter-spacing: .05vw;
    width: 67%;
}

span.price-save {
    font-size: 1.1vw;
}

span.price-save-amount {
    font-size: 1.2vw;
    font-weight: 600;
    letter-spacing: .06vw;
    color: #e91e63;
}

@media (max-width: 767px) {
    section#Service .service-price {
        padding: 1.2vh 4vw;
        border-radius: 1vw;
        border: 1.5px solid rgba(0, 0, 0, .08);
        border-color: #1f3b66;
    }

    section#Service .service-price .price-value {
        font-size: 7vw;
    }

    span.price-save-amount {
        font-size: 4vw;
    }

    section#Service .service-price span.price-badge,
    section#Service .service-price .price-note {
        font-size: 3.8vw;
    }

    section#Service .service-price .price-label,
    section#Service .service-price .price-tax {
        font-size: 3.5vw;
    }

    span.price-save {
        display: block;
        width: 100%;
        text-align: center;
        font-size: 3.5vw;
    }

    section#Service .service-price .price-note {
        width: 78%;
    }
}

/* section#Service .flex-wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-radius: 1vw;
    padding: 5vh 0 5vh 3vw;
    margin-top: 6vh;
    -webkit-box-shadow: 0 3px 9px #cbcbcb;
    box-shadow: 0 3px 9px #cbcbcb;
    background: #F5F5F5;
}

section#Service .flex-box.left {
    width: 35%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.section-slide-from-left {
    opacity: 0;
    -webkit-transform: translateX(-100px);
    -ms-transform: translateX(-100px);
    transform: translateX(-100px);
    -webkit-transition: all 1s ease-out;
    -o-transition: all 1s ease-out;
    transition: all 1s ease-out;
}

.section-slide-from-left.visible {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

section#Service .flex-box.right {
    width: 60%;
    margin: 0 auto;
    position: relative;
}

section#Service h3 {
    font-size: 2rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 3vh;
    background: -o-linear-gradient(230deg, #0cdbdf 0%, #03a9f4 100%);
    background: linear-gradient(220deg, #0cdbdf 0%, #03a9f4 100%);
    color: #fff;
}

section#Service .flex-box.right p {
    font-size: 1.3rem;
    font-weight: 500;
}
 */
/* section#Service .link a, */
section.flow-wrap .link a,
.page-id-940 .link a {
    color: #fff;
    height: 7vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;

    font-size: 1.2rem;
    padding: 0 1.5vw;
    border-radius: 50px;
    border: 1px solid #fff;
    background: -o-linear-gradient(2deg, #ff58df 0%, #04e3ff 100%);
    background: linear-gradient(88deg, #ff58df 0%, #04e3ff 100%);
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1.6;
    text-align: center;

}

/* section#Service .link a, */
section.flow-wrap .link a {
    margin: 3vh auto 0;
    width: 50%;
}

.page-id-940 .link a {
    width: 70%;
    margin: 5vh auto 0;
}

section#cta {
    width: 95%;
    margin: 0 auto 0 0;
}

.section-slide-from-left {
    opacity: 0;
    -webkit-transform: translateX(-50px);
    -ms-transform: translateX(-50px);
    transform: translateX(-50px);
    -webkit-transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
    transition: opacity 0.8s ease-out, -webkit-transform 0.8s ease-out;
    -o-transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out, -webkit-transform 0.8s ease-out;
}

.section-slide-from-left.visible {
    opacity: 1;
    -webkit-transform: translateX(0);
    -ms-transform: translateX(0);
    transform: translateX(0);
}

section#cta .inner {
    margin-bottom: 7vh;
    position: relative;
    /*     background: linear-gradient(284deg, #ff58df 0%, #ffb5f1 43%, #00b5ff 43%, #04e3ff 100%); */
    color: #fff;
    z-index: 2;
    padding: 11vh 4vw;
    border-radius: 0 5vw 5vw 0;
    /* 	    background: linear-gradient(278deg, #00b5ff 0%, #04e3ff 100%); */
    background: -o-linear-gradient(272deg, #00b5ff 0%, #04e3ff 79%);
    background: linear-gradient(-182deg, #00b5ff 0%, #04e3ff 79%);
}

section#cta .flex-wrap {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

section#cta .flex-box.left {
    width: 52%;
}

section#cta h2 {
    text-align: left;
    font-size: 6rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: 0.9;
}

section#cta .h2-wrap p {
    font-size: 1.1rem;
    text-align: left;
}

section#cta .text-wrap {
    margin-top: 3vh;
}


section#cta p {
    font-size: 1.3rem;
    font-weight: 500;
}

section#cta .flex-box.right {
    width: 43%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

section#cta .flex-box.right .link-wrap {
    width: 100%;
}

section#cta .link a {
    height: 10vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 80%;
    font-size: 1.3rem;
    padding: 0 1.5vw;
    border-radius: 50pc;
    border: 1px solid #fff;
    background: #fff;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1.6;
    text-align: center;
    position: relative;
    -webkit-transition: right 0.3s ease;
    -o-transition: right 0.3s ease;
    transition: right 0.3s ease;

}

section#cta .link a::after {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 2vw;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 1.5vh;
    height: 1.5vh;
    border-top: 2px solid #333;
    border-right: 2px solid #333;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: right 0.3s ease;
    -o-transition: right 0.3s ease;
    transition: right 0.3s ease;

}

.link.form a {
    color: var(--color-main);
    margin: 0 auto;
}

.link.line a {
    /* 	color: #06c755; */
    color: var(--color-main);
    margin: 5vh auto 0;
}

.link.line a::before {
    background: no-repeat;
    width: 2vw;
    height: 4vh;
    background-image: url(https://veronica9.com/wp-content/uploads/2024/12/line-icon-g.svg);
    content: '';
    margin-right: .5vw;
    display: inline-block;
    top: .3vh;
    position: relative;
}

section#cta .link a:hover::after {
    right: 1.5vw;
}

.footer-bg {
    position: relative;
    margin-top: 25vh;
}

.footer-bg .background-en p {
    line-height: 1.03;
}

footer#footer {
    position: relative;
    background: -o-linear-gradient(184deg, rgb(19, 238, 242) 0%, rgb(127, 221, 255) 100%);
    background: linear-gradient(266deg, rgb(19, 238, 242) 0%, rgb(127, 221, 255) 100%);
    border-radius: 5vw 5vw 0 0;
}

.footer-inner {
    padding: 8vh 0 6vh;
}

.footer_logo img {
    width: 23%;
    margin: 0 auto;
}

.copyright p {
    color: #ffffff;
    text-align: left;
    font-size: .9rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    letter-spacing: .05vw;
    padding-left: 1vw;
    position: absolute;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
    left: -1vw;
    bottom: 1vh;
}

a#topBtn {
    display: -ms-grid;
    display: grid;
    place-content: center;
    width: 5vw;
    height: 5vw;
    cursor: pointer;
    bottom: 2vh;
    right: 1vw;
    position: fixed;
    z-index: 9;
}

a#topBtn::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    border-radius: 50%;
    background-color: rgb(60 221 241 / 40%);
    -webkit-box-shadow: var(--box-shadow-dark);
    box-shadow: var(--box-shadow-dark);
}

a#topBtn::after {
    width: 1.2vw;
    height: 1.2vw;
    content: "";
    border: solid #ffffff;
    border-width: 3px 3px 0 0;
    margin-top: 0.4rem;
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

a#topBtn::before {
    -webkit-transition: var(--transition);
    -o-transition: var(--transition);
    transition: var(--transition);
}

a#topBtn:hover::before {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
}

/*---------------------------------------------------------
ココナラページ
---------------------------------------------------------*/
.page-id-711 header {
    position: absolute;
}

.page-id-711 .site-title-wrap img {
    width: 67%;
}

.page-id-711 .mv-copy {
    top: 50%;
}

/*---------------------------------------------------------
Web顧問パートナー
---------------------------------------------------------*/

.hero {
    width: 100%;
    padding-top: 12vh;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fafafa;
}

.hero__inner {
    width: 89%;
    margin: 0 auto;
}

.hero__content {
    width: 60%;
    position: relative;
    z-index: 1;
}

.hero__pill {
    width: fit-content;
    margin-bottom: 2vw;
    padding: .3vw 3vw;
    font-size: 1.8vw;
    letter-spacing: 0.1vw;
    font-weight: 500;
    border-radius: 999vw;
    background: #121d57;
    color: #ffffff;
}

.hero__title {
    margin-bottom: 1vw;
    font-size: 2.9vw;
    line-height: 1.8;
    letter-spacing: .02em;
    color: #081667;
    font-weight: 500;
}


.small {
    font-size: 0.8em;
}

.hero__hl {
    background-image: linear-gradient(143deg, #009688, #8bc34a);
    border-radius: .3vw;
    padding: 0 1vw .2vw;
    margin-right: .3vw;
    color: #fff;
}

.hero__sub {
    font-size: 1.4vw;
    color: #333;
    font-weight: 500;
    margin-bottom: 1.5vw;
    line-height: 2;
}

.hero__btns {
    text-align: center;
    width: fit-content;
}

.hero__btn {
    width: fit-content;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 1vw 2vw;
    font-weight: 600;
    letter-spacing: .1vw;
    border-radius: 50px;
    background: #ffeb3b;
    color: #333;
    font-size: 1.35vw;
    box-shadow: 0px 7px 10px 0px rgb(33 33 33 / 13%);
}

.hero__subcta {
    margin-top: 1vw;
    font-size: 1vw;
    text-align: center;
    font-weight: 500;
}

.hero__media {
    width: 77%;
    height: 88%;
    background-image: url(https://sp-ao.shortpixel.ai/client/to_webp,q_glossy,ret_img/https://veronica9.com/wp-content/uploads/2026/01/wp-lp-mv-image.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    bottom: 0;
    right: 0;
}

.hero__limited {
    position: absolute;
    bottom: 3vw;
    right: 6vw;
    border-radius: 100vw;
    height: 13vw;
    width: 13vw;
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: linear-gradient(187deg, #009688, #8BC34A);
    opacity: .95;
    border: 4px solid hsl(0deg 0% 100% / 85%);
}

.hero__limited p {
        font-size: 2.2vw;
    color: #fff;
    font-weight: 600;
}

hr {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    border-top: 1px solid #ffffff;
}

.greeting {
    width: 100%;
    padding: 7vw 0;
    background: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.greeting__inner {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.greeting__content {
    width: 55%;
}

.greeting__subtitle {
    font-size: 6vw;
    font-weight: 700;
    color: #a39b8f;
    margin-bottom: 0;
    font-family: sans-serif;
    position: absolute;
    opacity: .15;
    top: -4vw;
}

.greeting__title {
    font-size: 2.5vw;
    font-weight: 500;
    margin-bottom: 2vw;
    line-height: 1.4;
    letter-spacing: 1vw;
}

.greeting__text p {
    font-size: 1.25vw;
    line-height: 2.2;
    color: #333;
    font-weight: 500;
    margin-bottom: .7vw;
    font-feature-settings: "palt";
    letter-spacing: .05vw;
}

.greeting__sign p {
    font-size: 1.25vw;
    font-weight: 500;
    letter-spacing: .05vw;
    text-align: center;
    margin-top: 1vw;
}

.greeting__media {
    width: 41%;
    position: relative;
    right: -2vw;
}

.greeting__figure {
    width: 100%;
    margin: 0;
    border-radius: 0.5vw;
    overflow: hidden;
}

.greeting__img {
    width: 100%;
    height: auto;
    display: block;
    filter: brightness(1.05);
}

/* PROBLEM SECTION STYLES */

.page-id-1640 header {
    box-shadow: 0 4px 9px 2px rgb(0 0 0 / 5%);
    position: absolute;
}

.page-id-1640 .site-title-wrap {
    width: 37.5%;
    padding-left: 0;
    /*     background: #121d57; */
    background-image: linear-gradient(143deg, #009688, #8bc34a);
}

.page-id-1640 .site-title-wrap img {
    padding: 0 2vw;
    width: 100%;
}

.page-id-1640 nav ul {
    width: 97%;
}

.page-id-1640 nav ul li {
    justify-content: center;
}

.page-id-1640 nav ul li a {
    padding: 0 1.7vw;
    border-right: 1px solid #121d57;
    text-align: center;
}

.page-id-1640 nav ul li.faq a {
    border-right: unset;
}

.page-id-1640 nav ul li.contact a {
    background: #FFEB3B;
    color: #333;
    letter-spacing: .1vw;
    box-shadow: 3px 3px 11px 0px rgb(33 33 33 / 8%);
    border: unset;
}
/* 記事LP　*/

.mark_yellow{
	background: -webkit-linear-gradient(transparent 64%, #fcf69f 0%);
    background: linear-gradient(transparent 64%, #fcf69f 0%);
	    display: inline;
    padding: 2px;
	    font-weight: 700;
}

.red{
	color: #e44141;
	    font-weight: 700;
}

.bold{
	    font-weight: 700;
}

.blog-lp {
  --bg: #ffffff;
  --text: #111827;
  --muted: #6b7280;
  --border: rgba(17, 24, 39, 0.12);
  --soft: rgba(17, 24, 39, 0.06);
  --accent: #0ea5e9; 
  --accent2: #22c55e;

  background: var(--bg);
  color: var(--text);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  font-feature-settings: "palt";
  padding: clamp(18px, 3vw, 42px) 0;
	letter-spacing: .05vw;
	    line-height: 2;
	background: #FAFAFA;
}

main#top figure {
    margin-bottom: 1.5vw;
}

.blog-lp__container {
      width: 55%;
    padding: 3vw;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 1vw;
}

.blog-lp__hero {
  padding: 0 0 clamp(18px, 2.5vw, 28px);
  border-bottom: 1px solid var(--border);
  margin-bottom: clamp(18px, 3vw, 34px);
}

.blog-lp__kicker {
    font-size: 1.4vw;
    letter-spacing: .02em;
    font-weight: 700;
    margin-top: 1.5vw;
}

.blog-lp__title {
    letter-spacing: .01em;
    margin: 0 0 10px;
    font-size: 2vw;
    font-weight: 700;
}

.blog-lp__lead {
    font-size: clamp(15px, 1.6vw, 17px);
}

/* 著者ボックス */
.blog-lp__author {
  margin: 0 0 clamp(18px, 3vw, 28px);
}


.blog-lp__author-avatar {
    width: 7vw;
    height: 7vw;
    border-radius: 999px;
    border: 1px solid #9E9E9E;
    overflow: hidden;
}

.blog-lp__author-avatar img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-lp__author-body {
    margin-top: 1vw;
}

.blog-lp__author-name {
    margin-bottom: 1vw;
    font-size: 1.3vw;
}

.blog-lp__author-text {
    font-size: 1.3vw;
       margin-bottom: 1vw;
}

.blog-lp__author-text:last-child { margin-bottom: 0; }

/* PS */
.blog-lp__note {
        padding: 1vw 1.5vw;
    background: #F5F5F5;
    border-radius: .7vw;
    margin-bottom: 2vw;
}

.blog-lp__note-title {
     margin-bottom: .5vw;
    font-weight: 800;
    letter-spacing: .02em;
    font-size: 1.3vw;
}

.blog-lp__note-text {
      line-height: 2.2;
   font-size: 1.2vw;
}


/* 本文 */
.blog-lp__body {
  margin: 0 0 clamp(24px, 4vw, 44px);
}

main#top h2 {
    letter-spacing: .05vw;
    margin: 4vw auto 1vw;
    font-size: 1.8vw;
    font-weight: 600;
    padding: .2vw 1vw;
    background: #4caf50;
    color: #fff;
}

.blog-lp__point {
  padding: clamp(18px, 3vw, 28px) 0;
}

.blog-lp__h3 {
        display: flex;
    gap: .5vw;
    font-size: 1.7vw;
        margin-bottom: 1.5vw;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .05vw;
    border-bottom: 3px solid #4CAF50;
    padding-bottom: .5vw;
}

.blog-lp__num {
       display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5vw;
    height: 2.5vw;
    font-weight: 800;
    background: #4caf50;
    color: #fff;
    border-radius: 10vw;
    flex: 0 0 auto;
    font-size: 1.5vw;
}

.blog-lp__point p {
      margin-bottom: .7vw;
    font-size: 1.2vw;
    line-height: 2.2;
        letter-spacing: .05vw;
}

.blog-lp__point p:last-child { margin-bottom: 0; }

/* まとめ */
.blog-lp__summary {
  margin-bottom: clamp(18px, 3vw, 28px);
}

.blog-lp__summary p {
  margin-bottom: 1vw;
    font-size: 1.3vw;
}
.blog-lp__summary p:last-child { margin-bottom: 0; }

/* CTA */
.blog-lp__cta {
  margin: 0 0 clamp(20px, 4vw, 44px);
}


.blog-lp__cta-text {
        margin-bottom: 1vw;
    font-size: 1.3vw;
}

.blog-lp__cta-btn {
  display: block;
        margin: 3vw auto 0;
    position: relative;
    overflow: hidden;
    text-decoration: none;
    transition: opacity .3s ease;
    animation: cta-pulse 2s infinite ease-in-out;
    width: 76%;
}


.blog-lp__cta-btn:hover {
  opacity: 0.9;
  animation-play-state: paused; 
}

.blog-lp__cta-btn img {
  display: block;
  width: 100%;
  height: auto;
}

.blog-lp__cta-btn::after {
  content: "";
  position: absolute;
  top: -50%;
  left: -100%;
  width: 30%;
  height: 200%;
  background: rgba(255, 255, 255, 0.4);
  transform: rotate(35deg);
  animation: cta-shine 3s infinite ease-in-out;
}


@keyframes cta-pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.03); } 
  100% { transform: scale(1); }
}


@keyframes cta-shine {
  0% { left: -100%; }
  20% { left: 150%; } 
  100% { left: 150%; } 
}

.blog-lp__cta-micro {
 margin-top: .5vw;
    font-size: 1.1vw;
    text-align: center;
}


.blog-lp__backtop {
 display: block;
    text-decoration: none;
    background: #9E9E9E;
    color: #ffffff;
    font-size: 1.1vw;
    width: 24%;
    text-align: center;
    border-radius: 10vw;
    margin: 0 auto;
    padding: .5vw;
}
.blog-lp__backtop:hover { color: var(--text); }

/* スマホ */
@media (max-width: 767px) {
	
	.blog-lp {
    background: #ffffff;
}
	.blog-lp__container {
    width: 92%;
    padding: 0;
}
	
	.blog-lp__note {
    padding: 2vw 4vw;
    background: #f5f5f5;
		border-radius: 1.5vw;}
	
	main#top figure {
           margin-bottom: 5vw;
        margin-top: 3vw;
}

	main#top h2 {
            margin: 10vw auto 1vw;
    font-size: 4.4vw;
    padding: 2vw 4vw;
    line-height: 1.6;
    border-radius: 1vw;
		letter-spacing: .3vw;
}
	.blog-lp__num {
        width: 6vw;
        height: 6vw;
        border-radius: 10vw;
        font-size: 3.5vw;
    }
	
	.blog-lp__h3 {
    gap: 1.5vw;
    font-size: 4.3vw;
    margin-bottom: 4vw;
    line-height: 1.6;
    border-bottom: 2px solid #4caf50;
    padding-bottom: 2vw;
		letter-spacing: .3vw;
}
	
	.blog-lp__point p, .blog-lp__author-name, .blog-lp__author-text {
		margin-bottom: 4vw;}
	
	.blog-lp__cta-btn {
    margin: 5vw auto 0;
    width: 100%;
}
	.blog-lp__cta-micro {
    margin-top: 3vw;
    font-size: 3.5vw;
}
	
	.blog-lp__backtop {
    font-size: 3.5vw;
		width: 41%;}
	
	.blog-lp__kicker {
   text-align: center;
        background: #967c73;
        color: #fff;
        letter-spacing: .3vw;
}
	
	.blog-lp__note-title {
    text-align: center;
}
	
	.blog-lp__title {
        font-size: 4.5vw;
        background: #f5f5f5;
        text-align: center;
        line-height: 1.6;
        padding: 2vw 0;
        letter-spacing: 0.3vw;
		        margin-bottom: 5vw;
    }
	
	.blog-lp__author-avatar {
        width: 30vw;
        height: 30vw;
        text-align: center;
        margin: 0 auto 4vw;
        border: 3px solid #E0E0E0;
        overflow: hidden;
    }
	.blog-lp__hero {
    padding: 0;
    border-bottom: unset;
}
	
	.blog-lp__note-title, .blog-lp__kicker {
		font-size: 4.2vw;}
	
	.blog-lp__author-name, .blog-lp__author-text, .blog-lp__point p, .blog-lp__summary p, .blog-lp__cta-text {
		font-size: 4vw;
	}
	
	.blog-lp__note-text {
    font-size: 3.8vw;
}
	
  .blog-lp__author-inner {
    grid-template-columns: 56px 1fr;
  }
}

/* LINE用ブログ　*/
.single-line_blog main#top h2 {
    border-left: unset;
    line-height: unset;
}

.single.single-line_blog article h3 {
    display: flex;
    gap: .5vw;
    font-size: 1.7vw;
    margin-bottom: 1.5vw;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: .05vw;
    border-bottom: 3px solid #4CAF50;
    padding-bottom: .5vw;
}
/* 顧問LP　*/

.problem {
    width: 100%;
    padding: 7vw 0;
    background: #fafafa;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

.problem__inner {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.problem__content {
    width: 100%;
}

.problem__subtitle {
    font-size: 9vw;
    font-weight: 700;
    color: #a39b8f;
    letter-spacing: .2em;
    margin-bottom: 0;
    font-family: sans-serif;
    text-align: center;
    position: absolute;
    opacity: .15;
    top: 2vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.problem__title {
    font-size: 2.5vw;
    font-weight: 500;
    margin-bottom: 2vw;
    line-height: 1.4;
    letter-spacing: .05em;
    text-align: center;
}

.problem__lead {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 500;
    margin-bottom: 2vw;
    font-feature-settings: "palt";
    letter-spacing: .05vw;
    text-align: center;
}

.problem__box {
  position: relative;
  padding: 2vw 3vw;
  border-radius: 1vw;
  width: 72%;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
  z-index: 0;
  border: 0;
}

.problem__box::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 5px;
  border-radius: inherit;
  background: linear-gradient(143deg, #009688, #8bc34a);
  box-sizing: border-box;
  pointer-events: none;

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

/* .problem__box {
    border: 5px solid #009688;
    padding: 2vw 3vw;
    border-radius: 1vw;
    width: 72%;
    margin: 0 auto;
    background: #fff;
    box-sizing: border-box;
} */

/* 各グループの余白 */
.problem__group {
    margin-bottom: 2.5vw;
}

/* 最後のグループだけ下の余白を消す */
.problem__group:last-child {
    margin-bottom: 0;
}

/* カテゴリ見出しのデザイン */
.problem__category {
    font-size: 1.5vw;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 1vw;
    text-align: center;
    background-image: linear-gradient(143deg, #009688, #8bc34a);
    padding: .3vw;
    border-radius: .2vw;
}

/* リスト自体の設定 */
.problem__items {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* リストアイテム（チェックマーク付き） */
.problem__items li {
    position: relative;
    padding: .5vw 0 .5vw 3.5vw;
    font-size: 1.35vw;
    line-height: 1.8;
    font-weight: 600;
    letter-spacing: .04vw;
    color: #333;
}

/* チェックマークの円（既存のデザイン維持） */
.problem__items li::before {
    content: "";
    position: absolute;
    left: 1.1vw;
    top: 50%;
    transform: translateY(-50%);
    width: 1.5vw;
    height: 1.5vw;
    border-radius: 999vw;
    background: #009688;
}

/* チェックマークのレ点（既存のデザイン維持） */
.problem__items li::after {
    content: "";
    position: absolute;
    left: 1.1vw;
    top: 50%;
    width: .45vw;
    height: .85vw;
    border-right: 3px solid #ffffff;
    border-bottom: 3px solid #ffffff;
    transform: translate(.52vw, -50%) rotate(45deg);
}

p.problem__note {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 600;
    letter-spacing: .05vw;
    text-align: center;
    background: #ffef5f;
    padding: 1.5vw;
    width: 72%;
    margin: 2vw auto 0;
    border-radius: 1vw;
}


/* SP */
@media (max-width: 768px) {
    .problem {
        padding: 12vw 0;
    }

    .problem__inner {
        width: 92%;
    }

    .problem__subtitle {
        font-size: 3.8vw;
    }

    .problem__title {
        font-size: 6.2vw;
        margin-bottom: 3vw;
    }

    .problem__lead {
        font-size: 3.8vw;
        margin-bottom: 6vw;
    }

    .problem__list {
        grid-template-columns: 1fr;
        gap: 3.2vw;
        margin-bottom: 6vw;
    }

    .problem__list li {
        padding: 3.6vw 3.8vw 3.6vw 10.2vw;
        border-radius: 3.5vw;
        font-size: 3.6vw;
    }

    .problem__list li::before {
        left: 3.4vw;
        width: 5.2vw;
        height: 5.2vw;
    }

    .problem__list li::after {
        left: 4.9vw;
        width: 1.4vw;
        height: 2.6vw;
        border-right: 2px solid #009688;
        border-bottom: 2px solid #009688;
    }

    .problem__note {
        font-size: 3.6vw;
        padding: 4vw;
        border-radius: 3.5vw;
    }
}

.concept {
    width: 100%;
    padding: 10vw 0 5vw;
    background: #ffffff;
}

.concept__inner {
    width: 85%;
    margin: 0 auto;
    text-align: center;
}

.concept__box {
    display: inline-block;
    border-left: 5px solid #009688;
    border-right: 5px solid #009688;
    padding: 2vw 5vw;
    margin-bottom: 3vw;
    background: #fafafa;
    position: relative;
}

/* 上下の飾り線 */
.concept__box::before,
.concept__box::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: linear-gradient(to right, transparent, #009688, transparent);
}
.concept__box::before { top: 0; }
.concept__box::after { bottom: 0; }

.concept__message {
    font-size: 2.2vw;
    line-height: 1.8;
    font-weight: 700;
    color: #081667;
    font-feature-settings: "palt";
}

.concept__hl {
    color: #009688;
    background: linear-gradient(transparent 70%, #ffef5f 70%);
}

.concept__desc {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 500;
    letter-spacing: .05vw;
}

@media (max-width: 768px) {
    .concept { padding: 15vw 0 10vw; }
    .concept__inner { width: 92%; }
    .concept__box { padding: 8vw 4vw; width: 100%; box-sizing: border-box; }
    .concept__message { font-size: 5vw; }
    .concept__desc { font-size: 3.8vw; text-align: left; }
    .pc-only { display: none; }
}

.solution {
    width: 100%;
    padding: 7vw 0;
    background: #ffffff;
    position: relative;
}

.solution__inner {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.solution__content {
    width: 100%;
}

.solution__subtitle {
    font-size: 9vw;
    font-weight: 700;
    color: #a39b8f;
    letter-spacing: .2em;
    margin-bottom: 0;
    font-family: sans-serif;
    text-align: center;
    position: absolute;
    opacity: .15;
    top: 2vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.solution__title {
    font-size: 2.5vw;
    font-weight: 500;
    margin-bottom: 2vw;
    line-height: 1.4;
    letter-spacing: .05em;
    text-align: center;
    color: #081667;
}

.solution__hl {
    background: linear-gradient(transparent 70%, #b2dfdb 70%);
    padding: 0 0.2vw;
}

.solution__desc {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 500;
    margin-bottom: 4vw;
    font-feature-settings: "palt";
    letter-spacing: .05vw;
    text-align: center;
}

.solution__cards {
    display: flex;
    justify-content: space-between;
    gap: 2vw;
    margin-bottom: 3vw;
}

.solution__card {
    position: relative;
    width: 32%;
    background: #fafafa;
    border-radius: 1vw;
    padding: 2vw;
    box-sizing: border-box;
    transition: transform .3s;
    z-index: 0;
    will-change: transform;
    border: 0;
}

.solution__card-head {
    text-align: center;
    margin-bottom: 1vw;
    border-bottom: 2px dashed #009688;
    padding-bottom: 1vw;
}

.solution__num {
    font-size: 4vw;
    font-weight: 700;
    background: linear-gradient(143deg, #009688, #8bc34a);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    position: absolute;
    top: -3.7vw;
    left: -1vw;
    opacity: .8;
}

.solution__card-title {
    font-size: 1.4vw;
    font-weight: 600;
    color: #081667;
    line-height: 1.4;
    margin: 0;
}

.solution__card-text {
    font-size: 1.2vw;
    line-height: 2;
    color: #333;
    font-weight: 500;
    text-align: justify;
    font-feature-settings: "palt";
}

.solution__card-text strong {
    color: #009688;
    background: linear-gradient(transparent 80%, #b2dfdb 80%);
    font-weight: 700;
}

.solution__message {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 600;
    letter-spacing: .05vw;
    text-align: center;
    background: #ffef5f;
    padding: 2vw;
    width: 60%;
    margin: 0 auto;
    border-radius: 1vw;
}

.solution__message strong {
    color: #081667;
}

@media (max-width: 768px) {
    .solution {
        padding: 12vw 0;
    }

    .solution__inner {
        width: 92%;
    }

    .solution__subtitle {
        font-size: 3.8vw;
    }

    .solution__title {
        font-size: 6.2vw;
        margin-bottom: 3vw;
    }

    .solution__desc {
        font-size: 3.8vw;
        margin-bottom: 8vw;
        text-align: center;
    }

    .solution__cards {
        flex-direction: column;
        gap: 6vw;
        margin-bottom: 8vw;
    }

    .solution__card {
        width: 100%;
        padding: 6vw;
        border-radius: 3.5vw;
    }

    .solution__card-head {
        margin-bottom: 4vw;
        padding-bottom: 3vw;
    }

    .solution__num {
        font-size: 3.2vw;
        padding: 0.5vw 3vw;
        margin-bottom: 2vw;
    }

    .solution__card-title {
        font-size: 4.8vw;
    }

    .solution__card-text {
        font-size: 3.6vw;
        line-height: 1.8;
    }

    .solution__message {
        font-size: 3.8vw;
        padding: 6vw 4vw;
        width: 92%;
        border-radius: 3.5vw;
        box-sizing: border-box;
    }
}

.positioning {
    width: 100%;
    padding: 8vw 0;
    background: #f8f9fa; /* 支援内容セクション（白）との境界を出すため、薄いグレー */
}

.positioning__inner {
    width: 85%;
    margin: 0 auto;
}

.positioning__header {
    text-align: center;
    margin-bottom: 5vw;
}

.positioning__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.positioning__title {
    font-size: 2.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    line-height: 1.3;
}

.positioning__lead {
    font-size: 1.6vw;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.positioning__comparison {
    display: flex;
    justify-content: space-between;
    gap: 3vw;
    margin-bottom: 6vw;
}

.positioning__card {
    width: 50%;
    background: #fff;
    padding: 3vw;
    border-radius: 1vw;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
}

.positioning__card::before {
    content: "×";
    position: absolute;
    top: -1.5vw;
    right: 2vw;
    font-size: 4vw;
    color: #e0e0e0;
    font-weight: 300;
}

.positioning__card-title {
    font-size: 1.6vw;
    font-weight: 700;
    color: #555;
    margin-bottom: 1.5vw;
    border-bottom: 2px solid #eee;
    padding-bottom: 1vw;
}

.positioning__card-text {
    font-size: 1.15vw;
    line-height: 1.9;
    color: #666;
}

.positioning__solution {
    background: #081667;
    color: #fff;
    padding: 5vw;
    border-radius: 1.5vw;
    text-align: center;
    margin-bottom: 5vw;
}

.positioning__solution-tag {
    display: inline-block;
    background: #009688;
    color: #fff;
    padding: 0.5vw 2vw;
    border-radius: 2vw;
    font-size: 1.1vw;
    font-weight: 700;
    margin-bottom: 2vw;
}

.positioning__solution-title {
    font-size: 2.4vw;
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 2.5vw;
}

.positioning__solution-text {
    font-size: 1.3vw;
    line-height: 2;
    max-width: 850px;
    margin: 0 auto;
}

.positioning__assets {
    border: 2px solid #081667;
    padding: 3vw;
    border-radius: 1vw;
    text-align: center;
    background: #fff;
}

.positioning__assets-title {
    font-size: 1.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 1.5vw;
}

.positioning__assets-text {
    font-size: 1.2vw;
    line-height: 1.8;
    color: #333;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .positioning__inner { width: 92%; }
    .positioning__title { font-size: 7vw; }
    .positioning__lead { font-size: 4.2vw; text-align: left; }
    .positioning__comparison { flex-direction: column; gap: 5vw; }
    .positioning__card { width: 100%; padding: 6vw; }
    .positioning__card-title { font-size: 5vw; }
    .positioning__card-text { font-size: 3.8vw; }
    .positioning__solution { padding: 8vw 6vw; }
    .positioning__solution-tag { font-size: 3.5vw; padding: 1vw 4vw; }
    .positioning__solution-title { font-size: 6vw; }
    .positioning__solution-text { font-size: 4vw; text-align: left; }
    .positioning__assets-title { font-size: 5.5vw; }
    .positioning__assets-text { font-size: 3.8vw; text-align: left; }
    .pc-only { display: none; }
}

.support {
    width: 100%;
    padding: 7vw 0;
    background: #ffffff;
    position: relative;
}

.support__inner {
    width: 85%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
}

.support__content {
    width: 100%;
}

.support__subtitle {
    font-size: 9vw;
    font-weight: 700;
    color: #a39b8f;
    letter-spacing: .2em;
    margin-bottom: 0;
    font-family: sans-serif;
    text-align: center;
    position: absolute;
    opacity: .15;
    top: 2vw;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.support__title {
    font-size: 2.5vw;
    font-weight: 500;
    margin-bottom: 2vw;
    line-height: 1.4;
    letter-spacing: .05em;
    text-align: center;
    color: #081667;
}

.support__hl {
    background: linear-gradient(transparent 70%, #b2dfdb 70%);
    padding: 0 0.2vw;
}

.support__desc {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 500;
    margin-bottom: 4vw;
    font-feature-settings: "palt";
    letter-spacing: .05vw;
    text-align: center;
}

.support__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2vw;
    margin-bottom: 3vw;
}

.support__item {
    background: #fafafa;
}

.support__item-title {
   font-size: 1.35vw;
    font-weight: 600;
    color: #ffffff;
    line-height: 1.4;
    text-align: center;
    background-image: linear-gradient(143deg, #009688, #8bc34a);
    padding: .7vw 0;
}

.support__item-text {
      font-size: 1.2vw;
    color: #333;
    font-weight: 500;
    text-align: justify;
    padding: 1vw 1.5vw;
}

.support__item-text strong {
    color: #009688;
}

.support__message {
    font-size: 1.3vw;
    line-height: 2.2;
    color: #333;
    font-weight: 600;
    letter-spacing: .05vw;
    text-align: center;
    background: #ffef5f;
    padding: 2vw;
    width: 80%;
    margin: 0 auto;
    border-radius: 1vw;
}

.support__message strong {
    color: #081667;
}

@media (max-width: 768px) {
    .support { padding: 12vw 0; }
    .support__inner { width: 92%; }
    .support__subtitle { font-size: 3.8vw; }
    .support__title { font-size: 6.2vw; margin-bottom: 3vw; }
    .support__desc { font-size: 3.8vw; margin-bottom: 8vw; text-align: center; }
    .support__grid { grid-template-columns: 1fr; gap: 4vw; margin-bottom: 8vw; }
    .support__item { padding: 6vw; border-radius: 3.5vw; }
    .support__item-title { font-size: 4.8vw; margin-bottom: 3vw; }
    .support__item-text { font-size: 3.6vw; }
    .support__message { font-size: 3.8vw; padding: 6vw 4vw; width: 92%; border-radius: 3.5vw; box-sizing: border-box; }
}

.cases {
    width: 100%;
    padding: 8vw 0;
    background: #fdfdfd;
}

.cases__inner {
    width: 85%;
    margin: 0 auto;
}

.cases__header {
    text-align: center;
    margin-bottom: 6vw;
}

.cases__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.cases__title {
    font-size: 2.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    line-height: 1.3;
}

.cases__lead {
    font-size: 1.5vw;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.cases__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2.5vw;
    margin-bottom: 5vw;
}

.cases__item {
    background: #fff;
    padding: 3vw 2vw;
    border-radius: 1vw;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    border: 1px solid #eee;
    display: flex;
    flex-direction: column;
}

.cases__item-tag {
    display: inline-block;
    background: #f0f4f8;
    color: #009688;
    font-size: 0.9vw;
    font-weight: 700;
    padding: 0.3vw 1vw;
    border-radius: 2vw;
    margin-bottom: 1.5vw;
    align-self: flex-start;
}

.cases__item-title {
    font-size: 1.4vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    line-height: 1.4;
    height: 3em; /* タイトルの高さを揃える */
    display: flex;
    align-items: center;
}

.cases__label {
    font-size: 1vw;
    font-weight: 700;
    color: #333;
    margin-bottom: 0.5vw;
}

.cases__text {
    font-size: 1.05vw;
    line-height: 1.8;
    color: #666;
    margin-bottom: 2vw;
}

.cases__result {
    margin-top: auto;
    background: #fff9c4;
    padding: 1vw;
    border-radius: 0.5vw;
    font-size: 1.1vw;
    font-weight: 700;
    color: #081667;
    line-height: 1.5;
}

.cases__result span {
    color: #d32f2f;
}

.cases__footer {
    text-align: center;
}

.cases__footer-note {
    font-size: 1.1vw;
    color: #888;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .cases__inner { width: 92%; }
    .cases__title { font-size: 7vw; }
    .cases__lead { font-size: 4vw; text-align: left; }
    .cases__grid { grid-template-columns: 1fr; gap: 5vw; }
    .cases__item { padding: 8vw 6vw; }
    .cases__item-tag { font-size: 3.2vw; padding: 1vw 3vw; }
    .cases__item-title { font-size: 5vw; height: auto; margin-bottom: 4vw; }
    .cases__label { font-size: 3.8vw; }
    .cases__text { font-size: 3.8vw; }
    .cases__result { font-size: 4.2vw; padding: 3vw; }
    .cases__footer-note { font-size: 3.4vw; text-align: left; }
    .pc-only { display: none; }
}

.not-do {
    width: 100%;
    padding: 8vw 0;
        background: #CFD8DC;
}

.not-do__inner {
    width: 85%;
    margin: 0 auto;
}

.not-do__header {
    text-align: center;
    margin-bottom: 5vw;
}

.not-do__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #ff5252; /* 警告や否定ではなく、「意志」を感じさせる赤 */
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.not-do__title {
    font-size: 2.8vw;
    font-weight: 700;
    margin-bottom: 2vw;
    line-height: 1.3;
}

.not-do__lead {
    font-size: 1.5vw;
    line-height: 1.8;
    font-weight: 500;
}

.not-do__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw;
    margin-bottom: 5vw;
}

.not-do__item {
    background: #fff;
    padding: 3vw;
    border-left: 4px solid #ff5252;
    border-radius: 0 1vw 1vw 0;
}

.not-do__item-title {
    font-size: 1.6vw;
    font-weight: 700;
    margin-bottom: 1.5vw;
}

.not-do__item-text {
    font-size: 1.15vw;
    line-height: 1.9;
}

.not-do__footer {
    text-align: center;
    padding: 4vw;
    background: rgba(255,255,255,0.03);
    border-radius: 1vw;
}

.not-do__footer-text {
    font-size: 1.6vw;
    line-height: 1.6;
}

.not-do__footer-text strong {
    font-size: 1.8vw;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .not-do__inner { width: 92%; }
    .not-do__title { font-size: 7vw; }
    .not-do__lead { font-size: 4vw; text-align: left; }
    .not-do__grid { grid-template-columns: 1fr; gap: 5vw; }
    .not-do__item { padding: 6vw; }
    .not-do__item-title { font-size: 5vw; }
    .not-do__item-text { font-size: 3.8vw; }
    .not-do__footer-text { font-size: 4.5vw; text-align: left; }
    .not-do__footer-text strong { font-size: 5.5vw; }
    .pc-only { display: none; }
}

.cooperation {
    width: 100%;
    padding: 8vw 0;
    background: #ffffff;
}

.cooperation__inner {
    width: 85%;
    margin: 0 auto;
}

.cooperation__header {
    text-align: center;
    margin-bottom: 6vw;
}

.cooperation__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.cooperation__title {
    font-size: 2.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    line-height: 1.3;
}

.cooperation__lead {
    font-size: 1.5vw;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.cooperation__grid {
    display: flex;
    justify-content: space-between;
    gap: 3vw;
    margin-bottom: 6vw;
}

.cooperation__item {
    width: 33.333%;
    background: #fdfdfd;
    padding: 3vw 2.5vw;
    border-radius: 1vw;
    border-top: 5px solid #009688;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    position: relative;
}

.cooperation__number {
    display: block;
    font-size: 3.5vw;
    font-weight: 900;
    color: #f0f0f0;
    position: absolute;
    top: 1vw;
    right: 1.5vw;
    line-height: 1;
    z-index: 1;
}

.cooperation__item-title {
    font-size: 1.5vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 1.5vw;
    position: relative;
    z-index: 2;
}

.cooperation__item-text {
    font-size: 1.1vw;
    line-height: 1.9;
    color: #555;
    position: relative;
    z-index: 2;
}

.cooperation__message {
    text-align: center;
    border-top: 1px dashed #ccc;
    padding-top: 4vw;
}

.cooperation__message-text {
    font-size: 1.5vw;
    line-height: 1.8;
    color: #333;
}

.cooperation__message-text strong {
    color: #081667;
    font-weight: 700;
    border-bottom: 3px solid #ffef5f;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .cooperation__inner { width: 92%; }
    .cooperation__title { font-size: 6.5vw; }
    .cooperation__lead { font-size: 4vw; text-align: left; }
    .cooperation__grid { flex-direction: column; gap: 8vw; }
    .cooperation__item { width: 100%; padding: 8vw 6vw; }
    .cooperation__number { font-size: 12vw; }
    .cooperation__item-title { font-size: 5vw; }
    .cooperation__item-text { font-size: 3.8vw; }
    .cooperation__message-text { font-size: 4.5vw; text-align: left; }
    .pc-only { display: none; }
}

/* .price-value{
  width: 100%;
  padding: 7vw 0;
  background: #fafafa;
  position: relative;
}

.price-value__inner{
  width: 85%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.price-value__content{
  width: 100%;
}

.price-value__subtitle{
  font-size: 9vw;
  font-weight: 700;
  color: #a39b8f;
  letter-spacing: .2em;
  margin-bottom: 0;
  font-family: sans-serif;
  text-align: center;
  position: absolute;
  opacity: .15;
  top: 2vw;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

.price-value__title{
  font-size: 2.5vw;
  font-weight: 500;
  margin-bottom: 2vw;
  line-height: 1.4;
  letter-spacing: .05em;
  text-align: center;
  color: #081667;
}

.price-value__lead{
  font-size: 1.3vw;
  line-height: 2.2;
  color: #333;
  font-weight: 500;
  margin-bottom: 2vw;
  font-feature-settings: "palt";
  letter-spacing: .05vw;
  text-align: center;
}

.price-value__box{
  position: relative;
  padding: 2.5vw 3vw;
  border-radius: 1vw;
  width: 90%;
  margin: 0 auto;
  background: #fff;
  box-sizing: border-box;
  z-index: 0;
  border: 0;
}

.price-value__box::before{
  content: "";
  position: absolute;
  inset: 0;
  padding: 5px;
  border-radius: inherit;
  background: linear-gradient(143deg, #009688, #8bc34a);
  box-sizing: border-box;
  pointer-events: none;

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.price-value__table-wrap{
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: .7vw;
}

.price-value__table{
  width: 100%;
  border-collapse: collapse;
  min-width: 920px;
  background: #fff;
}

.price-value__table thead th{
  font-size: 1.15vw;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  padding: 1vw;
  background-image: linear-gradient(143deg, #009688, #8bc34a);
}

.price-value__table thead th.is-veronica{
  background: #081667;
}

.price-value__table tbody th{
  font-size: 1.15vw;
  font-weight: 700;
  color: #081667;
  padding: 1.2vw 1vw;
  border-bottom: 1px solid rgba(3,48,89,.12);
  background: #fafafa;
  white-space: nowrap;
}

.price-value__table tbody td{
  font-size: 1.15vw;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
  padding: 1.2vw 1vw;
  border-bottom: 1px solid rgba(3,48,89,.12);
  vertical-align: top;
}

.price-value__table tbody td.is-veronica{
  background: rgba(0,150,136,.06);
  font-weight: 600;
}

.price-value__small{
  font-size: .95em;
  color: #666;
}

.price-value__plan{
  margin: 2.5vw auto 0;
  text-align: center;
  background: #fafafa;
  border-radius: 1vw;
  padding: 2vw;
}

.price-value__plan-tag{
  width: fit-content;
  margin: 0 auto 1vw;
  padding: .3vw 2.5vw;
  font-size: 1.2vw;
  letter-spacing: .1vw;
  font-weight: 600;
  border-radius: 999vw;
  background: #121d57;
  color: #ffffff;
}

.price-value__plan-price{
  font-size: 2.2vw;
  font-weight: 700;
  color: #081667;
  margin: 0 0 .6vw;
}

.price-value__plan-price span{
  font-size: .75em;
  font-weight: 600;
  margin-right: .6vw;
}

.price-value__plan-note{
  font-size: 1.1vw;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
  margin: 0;
}

.price-value__reason{
  margin-top: 2.5vw;
  background: #ffffff;
  border-radius: 1vw;
  padding: 2vw;
  box-sizing: border-box;
}

.price-value__reason-title{
  font-size: 1.5vw;
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 1vw;
  text-align: center;
  background-image: linear-gradient(143deg, #009688, #8bc34a);
  padding: .6vw 0;
  border-radius: .4vw;
}

.price-value__reason-text{
  font-size: 1.2vw;
  line-height: 2;
  color: #333;
  font-weight: 500;
  margin: 0;
  text-align: center;
  font-feature-settings: "palt";
  letter-spacing: .05vw;
}

.price-value__reason-text strong{
  color: #009688;
  background: linear-gradient(transparent 80%, #b2dfdb 80%);
  font-weight: 700;
}

.price-value__message{
  font-size: 1.3vw;
  line-height: 2.2;
  color: #333;
  font-weight: 600;
  letter-spacing: .05vw;
  text-align: center;
  background: #ffef5f;
  padding: 2vw;
  width: 92%;
  margin: 2vw auto 0;
  border-radius: 1vw;
}

.price-value__message strong{
  color: #081667;
}
 */
/* SP */
/* @media (max-width: 768px){
  .price-value{ padding: 12vw 0; }
  .price-value__inner{ width: 92%; }
  .price-value__subtitle{ font-size: 3.8vw; }
  .price-value__title{ font-size: 6.2vw; margin-bottom: 3vw; }
  .price-value__lead{ font-size: 3.8vw; margin-bottom: 6vw; text-align: center; }
  .price-value__box{ width: 100%; padding: 6vw 4vw; border-radius: 3.5vw; }
  .price-value__table thead th{ font-size: 3.6vw; padding: 3.2vw 3vw; }
  .price-value__table tbody th{ font-size: 3.6vw; padding: 3.2vw 3vw; }
  .price-value__table tbody td{ font-size: 3.6vw; padding: 3.2vw 3vw; }
  .price-value__plan{ padding: 6vw 4vw; border-radius: 3.5vw; margin-top: 6vw; }
  .price-value__plan-tag{ font-size: 3.6vw; padding: 1.2vw 5vw; margin-bottom: 3vw; }
  .price-value__plan-price{ font-size: 6vw; margin-bottom: 2vw; }
  .price-value__plan-note{ font-size: 3.6vw; text-align: center; }
  .price-value__reason{ padding: 6vw 4vw; border-radius: 3.5vw; margin-top: 6vw; }
  .price-value__reason-title{ font-size: 4.6vw; padding: 2.2vw 0; border-radius: 2.5vw; }
  .price-value__reason-text{ font-size: 3.8vw; text-align: left; }
  .price-value__message{ font-size: 3.8vw; padding: 6vw 4vw; width: 100%; border-radius: 3.5vw; box-sizing: border-box; margin-top: 6vw; }
} */

/* .price {
    width: 100%;
    padding: 8vw 0;
    background: #ffffff;
}

.price__inner {
    width: 85%;
    margin: 0 auto;
}

.price__header {
    text-align: center;
    margin-bottom: 5vw;
}

.price__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.price__title {
    font-size: 2.6vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    line-height: 1.4;
}

.price__lead {
    font-size: 1.5vw;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.price__table-wrapper {
    overflow-x: auto;
    margin-bottom: 6vw;
}

.price__table {
    width: 100%;
    border-collapse: collapse;
    min-width: 900px;
}

.price__table th, .price__table td {
    padding: 2vw 1.5vw;
    text-align: center;
    border-bottom: 1px solid #eee;
    font-size: 1.1vw;
    line-height: 1.6;
}

.price__table th {
    background: #f8f9fa;
    color: #333;
    font-weight: 700;
}

.price__table th .th-sub {
    display: block;
    font-size: 0.8vw;
    font-weight: 500;
    margin-top: 0.5vw;
    color: #666;
}

.price__table th.is-veronica {
    background: #081667;
    color: #fff;
    font-size: 1.3vw;
}

.price__table th.is-veronica .th-sub {
    color: rgba(255,255,255,0.7);
}

.price__table .table-label {
    background: #fafafa;
    font-weight: 700;
    width: 18%;
    text-align: left;
}

.price__table td.is-veronica-cell {
    background: rgba(8, 22, 103, 0.03);
    color: #081667;
    font-weight: 700;
    font-size: 1.2vw;
}

.highlight-text {
    display: inline-block;
    background: #ffef5f;
    color: #081667;
    padding: 0.2vw 0.8vw;
    border-radius: 0.3vw;
    font-size: 1vw;
    font-weight: 700;
    margin-top: 0.5vw;
}

.small-text {
    font-size: 0.9vw;
    color: #888;
    display: block;
    margin-top: 0.5vw;
}

.price__summary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5vw;
    background: #f0f4f8;
    padding: 5vw;
    border-radius: 1.5vw;
}

.price__main-card {
    background: #fff;
    padding: 3vw;
    border-radius: 1vw;
    text-align: center;
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    min-width: 320px;
}

.price__card-label {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    margin-bottom: 1vw;
}

.price__card-amount {
    font-size: 3.5vw;
    font-weight: 900;
    color: #081667;
    line-height: 1;
    margin-bottom: 1vw;
}

.price__card-amount span {
    font-size: 1.5vw;
}

.price__card-note {
    font-size: 1vw;
    color: #666;
}

.price__benefits {
    flex: 1;
}

.price__benefits-title {
    font-size: 1.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 1.5vw;
}

.price__benefits-text {
    font-size: 1.25vw;
    line-height: 2;
    color: #333;
}

.price__benefits-text strong {
    border-bottom: 3px solid #ffef5f;
}

@media (max-width: 768px) {
    .price__inner { width: 92%; }
    .price__title { font-size: 6.5vw; }
    .price__lead { font-size: 4vw; text-align: left; }
    .price__table th, .price__table td { font-size: 3.2vw; padding: 4vw 2vw; }
    .price__table th .th-sub { font-size: 2.5vw; }
    .price__table td.is-veronica-cell { font-size: 3.5vw; }
    .highlight-text { font-size: 3.2vw; padding: 1.5vw 2vw; }
    .small-text { font-size: 2.8vw; }
    .price__summary { flex-direction: column; gap: 8vw; padding: 10vw 6vw; }
    .price__main-card { width: 100%; min-width: auto; }
    .price__card-amount { font-size: 12vw; }
    .price__benefits-title { font-size: 5.5vw; }
    .price__benefits-text { font-size: 3.8vw; text-align: left; }
    .pc-only { display: none; }
} */

.price{
  width: 100%;
  padding: 7vw 0;
  background: #f8f9fa;
  position: relative;
}

.price__inner{
  width: 85%;
  margin: 0 auto;
}

/* header */
.price__header{
  text-align: center;
  position: relative;
  margin-bottom: 4vw;
}

.price__subtitle{
  font-size: 9vw;
  font-weight: 700;
  color: #a39b8f;
  letter-spacing: .2em;
  margin-bottom: 0;
  font-family: sans-serif;
  position: absolute;
  opacity: .15;
  top: -1.5vw;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  white-space: nowrap;
  pointer-events: none;
}

.price__title{
  font-size: 2.5vw;
  font-weight: 500;
  margin-bottom: 1.8vw;
  line-height: 1.4;
  letter-spacing: .05em;
  color: #081667;
}

.price__lead{
  font-size: 1.3vw;
  line-height: 2.2;
  color: #333;
  font-weight: 500;
  font-feature-settings: "palt";
  letter-spacing: .05vw;
}

/* table */
.price__table-wrapper{
  width: 100%;
  margin: 0 auto 3vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: 1vw;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.price__table{
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  min-width: 980px;
}

.price__table thead th{
  padding: 1.2vw 1.2vw;
  font-size: 1.15vw;
  line-height: 1.4;
  color: #081667;
  font-weight: 700;
  background: #fafafa;
  border-bottom: 2px solid rgba(3,48,89,.10);
  text-align: center;
}

.price__table thead th.col-label{
  text-align: left;
  padding-left: 1.6vw;
}

.price__table thead th .th-sub{
  display: inline-block;
  font-size: .95vw;
  color: #666;
  font-weight: 600;
  margin-top: .3vw;
}

.price__table thead th.is-veronica{
  background-image: linear-gradient(143deg, #009688, #8bc34a);
  color: #fff;
}

.price__table tbody td{
  padding: 1.15vw 1.2vw;
  border-bottom: 1px solid rgba(3,48,89,.08);
  font-size: 1.08vw;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
  vertical-align: middle;
  text-align: center;
}

.price__table tbody td.table-label{
  text-align: left;
  padding-left: 1.6vw;
  font-weight: 700;
  color: #081667;
  background: #fafafa;
  white-space: nowrap;
}

.price__table tbody td.is-veronica-cell{
  background: rgba(0,150,136,.06);
  font-weight: 600;
}

.price__table tbody tr:last-child td{
  border-bottom: 0;
}

.small-text{
  display: inline-block;
  font-size: .95vw;
  color: #666;
  font-weight: 600;
  margin-top: .2vw;
}

.highlight-text{
  display: inline-block;
  margin-top: .3vw;
  font-size: 1.0vw;
  font-weight: 700;
  color: #009688;
  background: linear-gradient(transparent 75%, #b2dfdb 75%);
  padding: 0 .2vw;
}

/* summary */
.price__summary{
  display: flex;
  justify-content: space-between;
  gap: 2vw;
  align-items: stretch;
}

.price__main-card{
  width: 34%;
  border-radius: 1vw;
  padding: 2.2vw 2vw;
  box-sizing: border-box;
  background: #fff;
  position: relative;
  z-index: 0;
  border: 0;
}

.price__main-card::before{
  content: "";
  position: absolute;
  inset: 0;
  padding: 5px;
  border-radius: inherit;
  background: linear-gradient(143deg, #009688, #8bc34a);
  box-sizing: border-box;
  pointer-events: none;

  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.price__card-label{
  width: fit-content;
  margin: 0 auto 1.2vw;
  padding: .35vw 1.6vw;
  border-radius: 999vw;
  background: #081667;
  color: #fff;
  font-size: 1.1vw;
  letter-spacing: .08em;
  font-weight: 600;
}

.price__card-amount{
  text-align: center;
  font-size: 2.6vw;
  font-weight: 700;
  color: #081667;
  letter-spacing: .03em;
  margin: 0 0 1vw;
}

.price__card-amount span{
  font-size: 1.2vw;
  font-weight: 600;
  color: #081667;
}

.price__card-note{
  text-align: center;
  font-size: 1.05vw;
  line-height: 1.8;
  color: #333;
  font-weight: 500;
  margin: 0;
}

/* benefits */
.price__benefits{
  width: 64%;
  background: #fff;
  border-radius: 1vw;
  padding: 2.2vw 2.4vw;
  box-sizing: border-box;
  box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.price__benefits-title{
  font-size: 1.7vw;
  font-weight: 700;
  color: #081667;
  margin-bottom: 1.2vw;
  text-align: center;
  padding-bottom: 1.2vw;
  border-bottom: 2px dashed #009688;
}

.price__benefits-text{
  font-size: 1.2vw;
  line-height: 2.0;
  color: #333;
  font-weight: 500;
  text-align: justify;
  font-feature-settings: "palt";
}

.price__benefits-text strong{
  color: #009688;
  background: linear-gradient(transparent 80%, #b2dfdb 80%);
  font-weight: 700;
}

.price__benefits-foot{
  margin-top: 1.6vw;
  font-size: 1.2vw;
  line-height: 2.0;
  font-weight: 700;
  text-align: center;
  color: #081667;
  background: #ffef5f;
  padding: 1.4vw 1.6vw;
  border-radius: 1vw;
}

/* utilities */
.pc-only{ display: inline; }

/* SP */
@media (max-width: 768px){
  .price{
    padding: 12vw 0;
  }

  .price__inner{
    width: 92%;
  }

  .price__subtitle{
    font-size: 3.8vw;
    top: -3vw;
  }

  .price__title{
    font-size: 6.2vw;
    margin-bottom: 3vw;
  }

  .price__lead{
    font-size: 3.8vw;
    margin-bottom: 8vw;
    text-align: left;
  }

  .pc-only{ display: none; }

  .price__table-wrapper{
    border-radius: 3.5vw;
    margin-bottom: 8vw;
  }

  .price__table{
    min-width: 980px;
  }

  .price__summary{
    flex-direction: column;
    gap: 5vw;
  }

  .price__main-card{
    width: 100%;
    padding: 7vw 6vw;
    border-radius: 3.5vw;
  }

  .price__card-label{
    font-size: 3.6vw;
    padding: 1.2vw 4vw;
    margin-bottom: 4vw;
  }

  .price__card-amount{
    font-size: 8.5vw;
    margin-bottom: 3vw;
  }

  .price__card-amount span{
    font-size: 3.8vw;
  }

  .price__card-note{
    font-size: 3.6vw;
    text-align: left;
    line-height: 1.9;
  }

  .price__benefits{
    width: 100%;
    padding: 7vw 6vw;
    border-radius: 3.5vw;
  }

  .price__benefits-title{
    font-size: 5.2vw;
    margin-bottom: 4vw;
    padding-bottom: 4vw;
  }

  .price__benefits-text{
    font-size: 3.8vw;
    line-height: 1.9;
  }

  .price__benefits-foot{
    font-size: 3.8vw;
    padding: 5vw 4vw;
    border-radius: 3.5vw;
    margin-top: 5vw;
    text-align: left;
  }
}

.message {
    width: 100%;
    padding: 10vw 0;
    background: #fdfdfd;
}

.message__inner {
    width: 85%;
    margin: 0 auto;
}

.message__container {
    display: flex;
    align-items: flex-start;
    gap: 6vw;
}

/* 写真エリア */
.message__photo-area {
    width: 35%;
    position: sticky;
    top: 5vw;
}

.message__photo {
    width: 100%;
    aspect-ratio: 3 / 4;
    background: #eee; /* 写真がない場合のプレースホルダ */
    border-radius: 1vw;
    overflow: hidden;
    margin-bottom: 2vw;
    box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}

.message__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.message__name {
    font-size: 1.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 0.5vw;
}

.message__name span {
    font-size: 1vw;
    font-weight: 500;
    color: #888;
    margin-left: 1vw;
}

.message__title {
    font-size: 1.1vw;
    font-weight: 600;
    color: #009688;
}

/* 文章エリア */
.message__content {
    width: 65%;
}

.message__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1.5vw;
}

.message__main-title {
    font-size: 2.8vw;
    font-weight: 700;
    color: #081667;
    line-height: 1.4;
    margin-bottom: 4vw;
}

.message__text {
    font-size: 1.25vw;
    line-height: 2.2;
    color: #333;
}

.message__text p {
    margin-bottom: 2vw;
}

.message__text strong {
    background: linear-gradient(transparent 70%, #ffef5f 70%);
}

.message__sign {
    margin-top: 5vw;
    text-align: right;
}

.message__sign p {
    font-size: 1.2vw;
    font-weight: 700;
    margin-bottom: 1vw;
}

.message__signature-img {
    height: 4vw;
    width: auto;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .message__inner { width: 92%; }
    .message__container { flex-direction: column; gap: 8vw; }
    .message__photo-area { width: 100%; position: static; }
    .message__name { font-size: 6vw; }
    .message__name span { font-size: 3.5vw; }
    .message__title { font-size: 4vw; }
    .message__content { width: 100%; }
    .message__main-title { font-size: 7vw; text-align: left; }
    .message__text { font-size: 4vw; text-align: left; }
    .message__sign { margin-top: 8vw; }
    .message__signature-img { height: 12vw; }
    .pc-only { display: none; }
}


.flow {
    width: 100%;
    padding: 8vw 0;
    background: #ffffff;
}

.flow__inner {
    width: 85%;
    margin: 0 auto;
}

.flow__header {
    text-align: center;
    margin-bottom: 6vw;
}

.flow__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.flow__title {
    font-size: 2.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    line-height: 1.3;
}

.flow__lead {
    font-size: 1.5vw;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.flow__list {
    max-width: 900px;
    margin: 0 auto 6vw;
    position: relative;
}

/* ステップ間の縦線 */
.flow__list::before {
    content: "";
    position: absolute;
    top: 0;
    left: 2vw;
    width: 2px;
    height: 100%;
    background: #eee;
    z-index: 1;
}

.flow__step {
    display: flex;
    align-items: flex-start;
    margin-bottom: 4vw;
    position: relative;
    z-index: 2;
}

.flow__step:last-child {
    margin-bottom: 0;
}

.flow__step-num {
    width: 4vw;
    height: 4vw;
    background: #081667;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5vw;
    font-weight: 700;
    margin-right: 3vw;
    flex-shrink: 0;
    border: 5px solid #fff;
}

.flow__step-content {
    background: #fafafa;
    padding: 2.5vw 3vw;
    border-radius: 1vw;
    flex: 1;
}

.flow__step-title {
    font-size: 1.6vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 1vw;
}

.flow__step-text {
    font-size: 1.15vw;
    line-height: 1.9;
    color: #555;
}

.flow__summary {
    text-align: center;
    background: #f0f4f8;
    padding: 4vw;
    border-radius: 1vw;
}

.flow__summary-text {
    font-size: 1.5vw;
    line-height: 1.8;
    color: #333;
}

.flow__summary-text strong {
    color: #081667;
    border-bottom: 3px solid #ffef5f;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .flow__inner { width: 92%; }
    .flow__title { font-size: 7vw; }
    .flow__lead { font-size: 4vw; text-align: left; }
    .flow__list::before { left: 5.5vw; }
    .flow__step-num { width: 11vw; height: 11vw; font-size: 4.5vw; margin-right: 4vw; }
    .flow__step-title { font-size: 4.8vw; }
    .flow__step-text { font-size: 3.8vw; }
    .flow__summary-text { font-size: 4.2vw; text-align: left; }
    .pc-only { display: none; }
}


.faq {
    width: 100%;
    padding: 8vw 0;
    background: #f8f9fa;
}

.faq__inner {
    width: 80%;
    margin: 0 auto;
}

.faq__header {
    text-align: center;
    margin-bottom: 5vw;
}

.faq__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.1em;
    margin-bottom: 1vw;
}

.faq__title {
    font-size: 2.8vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
}

.faq__lead {
    font-size: 1.4vw;
    line-height: 1.8;
    color: #333;
    font-weight: 600;
}

.faq__list {
    max-width: 900px;
    margin: 0 auto;
}

.faq__item {
    background: #fff;
    margin-bottom: 2vw;
    border-radius: 1vw;
    overflow: hidden;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

.faq__question {
    padding: 2vw 2.5vw;
    display: flex;
    align-items: center;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.faq__answer {
    padding: 2vw 2.5vw;
    display: flex;
    align-items: flex-start;
    background: #fafafa;
}

.faq__icon {
    font-family: serif;
    font-size: 2vw;
    font-weight: 700;
    color: #009688;
    margin-right: 2vw;
    width: 3vw;
    flex-shrink: 0;
}

.faq__icon.is-a {
    color: #081667;
}

.faq__q-text {
    font-size: 1.3vw;
    font-weight: 700;
    color: #333;
    margin: 0;
}

.faq__a-text {
    font-size: 1.15vw;
    line-height: 1.9;
    color: #555;
    margin: 0;
}

/* モバイル対応 */
@media (max-width: 768px) {
    .faq__inner { width: 92%; }
    .faq__title { font-size: 7vw; }
    .faq__lead { font-size: 4vw; text-align: left; }
    .faq__question { padding: 5vw 4vw; }
    .faq__answer { padding: 6vw 4vw; }
    .faq__icon { font-size: 6vw; width: 8vw; margin-right: 3vw; }
    .faq__q-text { font-size: 4.5vw; }
    .faq__a-text { font-size: 3.8vw; }
    .pc-only { display: none; }
}

/* .cta {
    width: 100%;
    padding: 10vw 0;
    background-image: linear-gradient(143deg, #081667, #004d40);
    color: #fff;
}

.cta__inner {
    width: 85%;
    margin: 0 auto;
}

.cta__header {
    text-align: center;
    margin-bottom: 6vw;
}

.cta__subtitle {
    font-size: 1.2vw;
    font-weight: 700;
    color: #009688;
    letter-spacing: 0.2em;
    margin-bottom: 1.5vw;
}

.cta__title {
    font-size: 2.8vw;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 2.5vw;
}

.cta__lead {
    font-size: 1.5vw;
    line-height: 1.8;
    color: rgba(255,255,255,0.8);
}

.cta__box {
    display: flex;
    background: #fff;
    color: #333;
    border-radius: 1.5vw;
    overflow: hidden;
    box-shadow: 0 30px 60px rgba(0,0,0,0.2);
} */

/* フォーム横の案内 */
.cta__info {
    width: 40%;
    background: #f8f9fa;
    padding: 5vw 4vw;
}

.cta__info-title {
    font-size: 1.6vw;
    font-weight: 700;
    color: #081667;
    margin-bottom: 2vw;
    border-bottom: 2px solid #009688;
    padding-bottom: 1vw;
}

.cta__info-list {
    list-style: none;
    padding: 0;
    margin-bottom: 3vw;
}

.cta__info-list li {
    font-size: 1.15vw;
    margin-bottom: 1.5vw;
    padding-left: 2vw;
    position: relative;
}

.cta__info-list li::before {
    content: "✔";
    color: #009688;
    position: absolute;
    left: 0;
    font-weight: bold;
}

.cta__info-note {
    font-size: 1vw;
    color: #666;
    line-height: 1.6;
}

/* フォームエリア */
.cta__form-area {
    width: 60%;
    padding: 5vw 6vw;
}

.cta__form-item {
    margin-bottom: 2.5vw;
}

.cta__form-item label {
    display: block;
    font-size: 1.1vw;
    font-weight: 700;
    margin-bottom: 0.8vw;
    color: #081667;
}

.cta__form-item label span {
    background: #ff5252;
    color: #fff;
    font-size: 0.8vw;
    padding: 0.2vw 0.6vw;
    border-radius: 0.2vw;
    margin-left: 1vw;
}

.cta__form-item input, .cta__form-item textarea {
    width: 100%;
    padding: 1vw;
    border: 1px solid #ddd;
    border-radius: 0.5vw;
    font-size: 1.1vw;
}

.cta__btn {
    width: 100%;
    background: #009688;
    color: #fff;
    padding: 1.5vw;
    border: none;
    border-radius: 0.5vw;
    font-size: 1.6vw;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.3s;
}

.cta__btn:hover {
    background: #00796b;
}

/* FOOTER */
.footer {
    padding: 5vw 0;
    background: #081667;
    color: #fff;
    text-align: center;
}

.footer__logo-text {
    font-size: 2vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    margin-bottom: 0.5vw;
}

.footer__tagline {
    font-size: 1vw;
    color: rgba(255,255,255,0.6);
    margin-bottom: 3vw;
}

.footer__nav ul {
    display: flex;
    justify-content: center;
    gap: 2vw;
    list-style: none;
    margin-bottom: 4vw;
}

.footer__nav a {
    color: #fff;
    text-decoration: none;
    font-size: 1vw;
}

.footer__copyright {
    font-size: 0.9vw;
    color: rgba(255,255,255,0.4);
}

/* モバイル対応 */
@media (max-width: 768px) {
    .cta__inner { width: 92%; }
    .cta__title { font-size: 7vw; text-align: left; }
    .cta__lead { font-size: 4vw; text-align: left; }
    .cta__box { flex-direction: column; }
    .cta__info { width: 100%; padding: 8vw 6vw; }
    .cta__info-title { font-size: 5.5vw; }
    .cta__info-list li { font-size: 4vw; }
    .cta__info-note { font-size: 3.5vw; }
    .cta__form-area { width: 100%; padding: 10vw 6vw; }
    .cta__form-item label { font-size: 4vw; }
    .cta__form-item input, .cta__form-item textarea { font-size: 4vw; padding: 3vw; }
    .cta__btn { font-size: 5vw; padding: 5vw; }
    .footer__logo-text { font-size: 7vw; }
    .footer__tagline { font-size: 3.5vw; }
    .footer__nav ul { flex-direction: column; gap: 4vw; }
    .footer__nav a { font-size: 4vw; }
    .footer__copyright { font-size: 3.2vw; }
    .pc-only { display: none; }
}

/*---------------------------------------------------------
web-partner1
---------------------------------------------------------*/

/* ====== VXLP SAMPLE CSS START ====== */
.vxlp{
  --vx-navy:#081667;
  --vx-ink:#333;
  --vx-muted:#666;
  --vx-bg:#fafafa;
  --vx-white:#fff;
  --vx-ac1:#009688;
  --vx-ac2:#8bc34a;
  --vx-yellow:#ffef5f;
  --vx-radius:18px;
  --vx-shadow:0 10px 30px rgba(0,0,0,.06);
  color: var(--vx-ink);
  background: var(--vx-white);
  font-feature-settings:"palt";
}

.vxlp *{ box-sizing:border-box; }
.vxlp a{ color:inherit; }

.vxlp-wrap{
  width: 85%;
  margin: 0 auto;
}

.vxlp-sec{
  padding: 7vw 0;
}

.vxlp-kicker{
  font-size: 1.1vw;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--vx-ac1);
  margin: 0 0 1vw;
}

.vxlp-h2{
  font-size: 2.5vw;
  line-height: 1.35;
  letter-spacing: .04em;
  color: var(--vx-navy);
  font-weight: 700;
  margin: 0 0 1.2vw;
}

.vxlp-lead{
  font-size: 1.3vw;
  line-height: 2.0;
  color: var(--vx-ink);
  font-weight: 500;
  margin: 0;
}

.vxlp-muted{
  margin-top: 1.6vw;
  font-size: 1.1vw;
  color: var(--vx-muted);
}

/* helper */
.vxlp-only-pc{ display: inline; }
@media (max-width:768px){
  .vxlp-wrap{ width: 92%; }
  .vxlp-sec{ padding: 12vw 0; }
  .vxlp-kicker{ font-size: 3.6vw; margin-bottom: 3vw; }
  .vxlp-h2{ font-size: 7vw; margin-bottom: 4vw; }
  .vxlp-lead{ font-size: 4vw; }
  .vxlp-muted{ font-size: 3.6vw; margin-top: 6vw; }
  .vxlp-only-pc{ display:none; }
}

/* ===== HERO ===== */
.vxlp-hero{
  background: var(--vx-bg);
  padding: 12vh 0 8vh;
}

.vxlp-hero__inner{
  position: relative;
}

.vxlp-pill{
  width: fit-content;
  margin: 0 0 1.6vw;
  padding: .35vw 1.4vw;
  font-size: 1.2vw;
  letter-spacing: .08em;
  font-weight: 700;
  border-radius: 999px;
  background: var(--vx-navy);
  color: #fff;
}

.vxlp-hero__title{
  margin: 0 0 1vw;
  font-size: 2.9vw;
  line-height: 1.55;
  letter-spacing: .02em;
  color: var(--vx-navy);
  font-weight: 700;
}

.vxlp-hl{
  background-image: linear-gradient(143deg, var(--vx-ac1), var(--vx-ac2));
  border-radius: .3vw;
  padding: 0 .7vw .15vw;
  color: #fff;
}

.vxlp-hero__lead{
  font-size: 1.35vw;
  line-height: 2.0;
  color: var(--vx-ink);
  font-weight: 500;
  margin: 0 0 2vw;
  max-width: 980px;
}

.vxlp-hero__cta{ width: fit-content; }

.vxlp-btn{
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1vw 2vw;
  font-weight: 800;
  letter-spacing: .08em;
  border-radius: 999px;
  background: #ffeb3b;
  color: #222;
  font-size: 1.25vw;
  box-shadow: 0px 7px 10px rgba(33,33,33,.13);
  transition: transform .2s, box-shadow .2s;
}
.vxlp-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0px 12px 18px rgba(33,33,33,.16);
}

.vxlp-hero__note{
  margin: .9vw 0 0;
  font-size: 1.05vw;
  color: var(--vx-muted);
  line-height: 1.7;
}

.vxlp-badges{
  margin-top: 2.2vw;
  display: flex;
  gap: .8vw;
}
.vxlp-badge{
  font-size: 1.05vw;
  font-weight: 800;
  border-radius: 999px;
  padding: .45vw 1.1vw;
  background: linear-gradient(143deg, var(--vx-ac1), var(--vx-ac2));
  color: #fff;
  opacity: .95;
}

@media (max-width:768px){
  .vxlp-hero{ padding: 12vh 0 8vh; }
  .vxlp-pill{ font-size: 3.6vw; padding: 1.2vw 4vw; margin-bottom: 4vw; }
  .vxlp-hero__title{ font-size: 8vw; line-height: 1.35; margin-bottom: 4vw; }
  .vxlp-hl{ border-radius: 2vw; padding: 0 2.4vw .6vw; }
  .vxlp-hero__lead{ font-size: 4.2vw; margin-bottom: 7vw; }
  .vxlp-btn{ font-size: 4.2vw; padding: 4vw 5vw; width: 100%; }
  .vxlp-hero__cta{ width: 100%; }
  .vxlp-hero__note{ font-size: 3.6vw; margin-top: 4vw; }
  .vxlp-badges{ gap: 2vw; margin-top: 6vw; }
  .vxlp-badge{ font-size: 3.6vw; padding: 1.6vw 3.2vw; }
}

/* ===== PROBLEM ===== */
.vxlp-problem{ background: var(--vx-white); }

.vxlp-check{
  margin: 3vw 0 2vw;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 1vw;
}
.vxlp-check li{
  position: relative;
  padding: 1.2vw 1.2vw 1.2vw 3.2vw;
  border-radius: 14px;
  background: var(--vx-bg);
  font-size: 1.25vw;
  font-weight: 700;
  line-height: 1.7;
}
.vxlp-check li::before{
  content:"";
  position:absolute;
  left: 1.2vw;
  top: 50%;
  transform: translateY(-50%);
  width: 1.4vw;
  height: 1.4vw;
  border-radius: 999px;
  background: var(--vx-ac1);
}
.vxlp-check li::after{
  content:"";
  position:absolute;
  left: 1.2vw;
  top: 50%;
  width: .42vw;
  height: .8vw;
  border-right: 3px solid #fff;
  border-bottom: 3px solid #fff;
  transform: translate(.52vw,-50%) rotate(45deg);
}

.vxlp-note{
  margin: 0;
  font-size: 1.2vw;
  line-height: 2.0;
  font-weight: 700;
  background: var(--vx-yellow);
  padding: 1.4vw 1.6vw;
  border-radius: var(--vx-radius);
}

@media (max-width:768px){
  .vxlp-check{ margin: 8vw 0 6vw; gap: 3vw; }
  .vxlp-check li{ font-size: 4vw; padding: 4.2vw 4vw 4.2vw 10.5vw; border-radius: 18px; }
  .vxlp-check li::before{ left: 4vw; width: 5.2vw; height: 5.2vw; }
  .vxlp-check li::after{ left: 4vw; width: 1.5vw; height: 2.8vw; border-right: 2px solid #fff; border-bottom: 2px solid #fff; transform: translate(2.0vw,-50%) rotate(45deg); }
  .vxlp-note{ font-size: 3.8vw; padding: 5vw; border-radius: 18px; }
}

/* ===== SOLUTION ===== */
.vxlp-solution{ background: var(--vx-bg); }

.vxlp-cards{
  margin-top: 3vw;
  display: flex;
  gap: 1.5vw;
}
.vxlp-card{
  flex: 1;
  background: #fff;
  border-radius: var(--vx-radius);
  padding: 2vw;
  box-shadow: var(--vx-shadow);
}
.vxlp-card__title{
  margin: 0 0 1vw;
  font-size: 1.35vw;
  font-weight: 900;
  color: var(--vx-navy);
}
.vxlp-card__text{
  margin: 0;
  font-size: 1.15vw;
  line-height: 1.9;
  color: var(--vx-ink);
  font-weight: 500;
}

.vxlp-quote{
  margin-top: 2.5vw;
  background: #fff;
  border-radius: var(--vx-radius);
  padding: 1.8vw 2vw;
  position: relative;
  box-shadow: var(--vx-shadow);
}
.vxlp-quote p{
  margin: 0;
  font-size: 1.2vw;
  line-height: 2.0;
  font-weight: 700;
}
.vxlp-quote strong{
  color: var(--vx-ac1);
  background: linear-gradient(transparent 78%, rgba(178,223,219,.9) 78%);
  padding: 0 .2vw;
}

@media (max-width:768px){
  .vxlp-cards{ flex-direction: column; gap: 4vw; margin-top: 8vw; }
  .vxlp-card{ padding: 6vw; }
  .vxlp-card__title{ font-size: 4.8vw; margin-bottom: 3vw; }
  .vxlp-card__text{ font-size: 3.8vw; }
  .vxlp-quote{ margin-top: 7vw; padding: 6vw; }
  .vxlp-quote p{ font-size: 3.8vw; }
}

/* ===== SUPPORT (SWIPE) ===== */
.vxlp-support{ background: #fff; }

.vxlp-swipe{
  margin-top: 3vw;
}
.vxlp-swipe__track{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 1.2vw;
}
.vxlp-swipe__item{
  background: var(--vx-bg);
  border-radius: var(--vx-radius);
  padding: 1.8vw;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  min-height: 9vw;
}
.vxlp-swipe__title{
  margin: 0 0 .8vw;
  font-size: 1.25vw;
  font-weight: 900;
  color: var(--vx-navy);
}
.vxlp-swipe__text{
  margin: 0;
  font-size: 1.1vw;
  line-height: 1.9;
  color: var(--vx-ink);
  font-weight: 500;
}

/* PC: 3列で見せる（横並びで“読ませる”） */
@media (min-width:769px){
  .vxlp-swipe__track{
    grid-template-columns: repeat(3, 1fr);
  }
}

/* SP: 横スワイプ */
@media (max-width:768px){
  .vxlp-swipe{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    padding-bottom: 2vw;
  }
  .vxlp-swipe__track{
    display: flex;
    gap: 4vw;
    padding-right: 4vw;
  }
  .vxlp-swipe__item{
    flex: 0 0 82%;
    scroll-snap-align: start;
    padding: 6vw;
    min-height: auto;
  }
  .vxlp-swipe__title{ font-size: 4.8vw; margin-bottom: 3vw; }
  .vxlp-swipe__text{ font-size: 3.8vw; }
}

/* ===== PRICE ===== */
.vxlp-price{ background: var(--vx-bg); }

.vxlp-table{
  margin-top: 3vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border-radius: var(--vx-radius);
  box-shadow: var(--vx-shadow);
}
.vxlp-table__el{
  width: 100%;
  border-collapse: collapse;
  min-width: 860px;
  background: #fff;
}
.vxlp-table__el th,
.vxlp-table__el td{
  padding: 1.2vw 1.1vw;
  border-bottom: 1px solid rgba(0,0,0,.06);
  font-size: 1.05vw;
  vertical-align: top;
}
.vxlp-table__el th{
  background: #f3f5f7;
  color: #222;
  font-weight: 900;
  text-align: left;
}
.vxlp-table__th--me{
  background: linear-gradient(143deg, var(--vx-ac1), var(--vx-ac2));
  color: #fff !important;
}
.vxlp-table__me{
  font-weight: 900;
  color: var(--vx-navy);
  background: rgba(0,150,136,.06);
}

.vxlp-pricebox{
  margin-top: 3vw;
  display: flex;
  gap: 2vw;
  align-items: stretch;
}
.vxlp-pricebox__card{
  width: 35%;
  background: #fff;
  border-radius: var(--vx-radius);
  padding: 2.2vw;
  box-shadow: var(--vx-shadow);
}
.vxlp-pricebox__label{
  margin: 0 0 1vw;
  font-size: 1.1vw;
  font-weight: 900;
  color: var(--vx-muted);
}
.vxlp-pricebox__amount{
  margin: 0 0 .6vw;
  font-size: 2.6vw;
  font-weight: 900;
  color: var(--vx-navy);
  letter-spacing: .02em;
}
.vxlp-pricebox__amount span{
  font-size: .55em;
  font-weight: 800;
  color: var(--vx-muted);
}
.vxlp-pricebox__note{
  margin: 0;
  font-size: 1.05vw;
  line-height: 1.8;
  color: var(--vx-muted);
}

.vxlp-pricebox__benefit{
  width: 65%;
  background: #fff;
  border-radius: var(--vx-radius);
  padding: 2.2vw;
  box-shadow: var(--vx-shadow);
}
.vxlp-h3{
  margin: 0 0 1.2vw;
  font-size: 1.6vw;
  font-weight: 900;
  color: var(--vx-navy);
}
.vxlp-text{
  margin: 0 0 1.2vw;
  font-size: 1.15vw;
  line-height: 2.0;
  color: var(--vx-ink);
  font-weight: 500;
}
.vxlp-text strong{
  color: var(--vx-ac1);
  background: linear-gradient(transparent 78%, rgba(178,223,219,.9) 78%);
  padding: 0 .15vw;
  font-weight: 900;
}
.vxlp-foot{
  margin: 0;
  font-size: 1.1vw;
  color: var(--vx-muted);
  font-weight: 700;
}

@media (max-width:768px){
  .vxlp-table{ margin-top: 8vw; }
  .vxlp-table__el{ min-width: 900px; }
  .vxlp-table__el th, .vxlp-table__el td{ font-size: 3.6vw; padding: 4vw 3.5vw; }
  .vxlp-pricebox{ margin-top: 8vw; flex-direction: column; gap: 4vw; }
  .vxlp-pricebox__card, .vxlp-pricebox__benefit{ width: 100%; padding: 6vw; }
  .vxlp-pricebox__label{ font-size: 3.6vw; }
  .vxlp-pricebox__amount{ font-size: 9vw; }
  .vxlp-pricebox__note{ font-size: 3.6vw; }
  .vxlp-h3{ font-size: 5.6vw; margin-bottom: 3vw; }
  .vxlp-text{ font-size: 3.8vw; }
  .vxlp-foot{ font-size: 3.6vw; }
}

/* ===== CASES ===== */
.vxlp-cases{ background: #fff; }
.vxlp-cases__grid{
  margin-top: 3vw;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5vw;
}
.vxlp-case{
  background: var(--vx-bg);
  border-radius: var(--vx-radius);
  padding: 2vw;
}
.vxlp-case__tag{
  margin: 0 0 .8vw;
  display: inline-block;
  font-size: 1.0vw;
  font-weight: 900;
  color: #fff;
  border-radius: 999px;
  padding: .35vw .9vw;
  background: linear-gradient(143deg, var(--vx-ac1), var(--vx-ac2));
}
.vxlp-case__title{
  margin: 0 0 1.2vw;
  font-size: 1.25vw;
  font-weight: 900;
  color: var(--vx-navy);
  line-height: 1.5;
}
.vxlp-case__list{
  margin: 0;
  padding-left: 1.2em;
  font-size: 1.1vw;
  line-height: 1.9;
  color: var(--vx-ink);
  font-weight: 500;
}
.vxlp-case__list b{ color: var(--vx-navy); }

@media (max-width:768px){
  .vxlp-cases__grid{
    margin-top: 8vw;
    grid-template-columns: 1fr;
    gap: 4vw;
  }
  .vxlp-case{ padding: 6vw; }
  .vxlp-case__tag{ font-size: 3.6vw; padding: 1.2vw 3vw; margin-bottom: 3vw; }
  .vxlp-case__title{ font-size: 4.8vw; margin-bottom: 4vw; }
  .vxlp-case__list{ font-size: 3.8vw; }
}

/* ===== FAQ ===== */
.vxlp-faq{ background: var(--vx-bg); }
.vxlp-faq__list{
  margin-top: 3vw;
  display: grid;
  gap: 1.2vw;
}
.vxlp-faq__item{
  background: #fff;
  border-radius: var(--vx-radius);
  box-shadow: var(--vx-shadow);
  padding: 0;
  overflow: hidden;
}
.vxlp-faq__q{
  cursor: pointer;
  list-style: none;
  padding: 1.6vw 1.8vw;
  font-size: 1.2vw;
  font-weight: 900;
  color: var(--vx-navy);
  position: relative;
}
.vxlp-faq__q::-webkit-details-marker{ display:none; }
.vxlp-faq__q::after{
  content:"+";
  position:absolute;
  right: 1.6vw;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.6vw;
  color: var(--vx-ac1);
}
.vxlp-faq__item[open] .vxlp-faq__q::after{ content:"–"; }

.vxlp-faq__a{
  padding: 0 1.8vw 1.6vw;
  font-size: 1.15vw;
  line-height: 2.0;
  color: var(--vx-ink);
  font-weight: 500;
}

@media (max-width:768px){
  .vxlp-faq__list{ margin-top: 8vw; gap: 3vw; }
  .vxlp-faq__q{ font-size: 4.2vw; padding: 5vw; }
  .vxlp-faq__q::after{ font-size: 6vw; right: 5vw; }
  .vxlp-faq__a{ font-size: 3.8vw; padding: 0 5vw 5vw; }
}

/* ===== CTA ===== */
.vxlp-cta{ background: #081667; }
.vxlp-cta__box{
  border-radius: 26px;
  padding: 4vw;
  background: linear-gradient(143deg, rgba(0,150,136,.18), rgba(139,195,74,.18));
  border: 1px solid rgba(255,255,255,.14);
  display: flex;
  justify-content: space-between;
  gap: 2.5vw;
  align-items: center;
}
.vxlp-kicker--lite{ color: #b2dfdb; }
.vxlp-h2--white{ color: #fff; }
.vxlp-lead--white{ color: rgba(255,255,255,.9); }

.vxlp-btn--dark{
  background: #ffeb3b;
  color: #222;
}
.vxlp-cta__action{
  width: 40%;
  text-align: center;
}
.vxlp-cta__note{
  margin: 1vw 0 0;
  font-size: 1.0vw;
  color: rgba(255,255,255,.75);
  line-height: 1.7;
}

@media (max-width:768px){
  .vxlp-cta__box{
    padding: 8vw 6vw;
    flex-direction: column;
    align-items: stretch;
    gap: 6vw;
  }
  .vxlp-cta__action{ width: 100%; }
  .vxlp-cta__note{ font-size: 3.6vw; margin-top: 4vw; }
}

/*---------------------------------------------------------
web-partner2
---------------------------------------------------------*/
/* ベース */
.vlp-container { font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif; color: #333; line-height: 1.6; }
.vlp-inner { width: 90%; max-width: 1000px; margin: 0 auto; padding: 60px 0; }
.vlp-section-title { text-align: center; font-size: 24px; color: #081667; margin-bottom: 40px; }
.vlp-btn { display: block; width: fit-content; margin: 0 auto; padding: 20px 40px; background: #009688; color: #fff; text-decoration: none; font-weight: 700; border-radius: 5px; box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition: 0.3s; }
.vlp-btn:hover { transform: translateY(-3px); background: #00796b; }
.vlp-btn--accent { background: #ff5252; }

/* Hero */
.vlp-hero { background: #081667; color: #fff; text-align: center; }
.vlp-hero__badge { color: #009688; font-weight: 700; margin-bottom: 10px; }
.vlp-hero__title { font-size: 32px; margin-bottom: 20px; line-height: 1.3; }
.vlp-hero__title .vlp-hl { color: #ffef5f; }
.vlp-hero__lead { font-size: 16px; margin-bottom: 40px; opacity: 0.9; }

/* Reason */
.vlp-reason { background: #f8f9fa; }
.vlp-reason__grid { display: flex; gap: 20px; margin-bottom: 30px; }
.vlp-reason__item { flex: 1; background: #fff; padding: 25px; border-radius: 10px; }
.vlp-reason__item h3 { color: #888; margin-bottom: 10px; font-size: 18px; }
.vlp-reason__solution { background: #081667; color: #fff; padding: 30px; border-radius: 10px; text-align: center; }

/* スクロールセクション共通 (Support & Case) */
.vlp-support__scroll, .vlp-case__scroll { 
    display: flex; gap: 20px; overflow-x: auto; padding-bottom: 20px; 
    scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch;
}
.vlp-support__card, .vlp-case__item { 
    flex: 0 0 280px; background: #fff; padding: 25px; border-radius: 10px; 
    border: 1px solid #eee; scroll-snap-align: center; 
}

/* Price Table */
.vlp-price__table { width: 100%; border-collapse: collapse; margin-bottom: 20px; }
.vlp-price__table th, .vlp-price__table td { border: 1px solid #eee; padding: 15px; text-align: center; font-size: 14px; }
.vlp-price__table th { background: #fafafa; }
.vlp-price table .is-vlp { background: #e0f2f1; color: #081667; font-weight: 700; }

/* Message */
.vlp-message__box { background: #fff; border: 2px solid #081667; padding: 40px; border-radius: 15px; }
.vlp-message__list { list-style: none; padding: 0; }
.vlp-message__list li { margin-bottom: 15px; padding-left: 25px; position: relative; }
.vlp-message__list li::before { content: "●"; color: #009688; position: absolute; left: 0; }

/* CTA */
.vlp-cta { background: #081667; color: #fff; text-align: center; }
.vlp-cta__title { font-size: 28px; margin-bottom: 20px; }

/* Responsive */
@media (max-width: 768px) {
  .vlp-hero__title { font-size: 24px; }
  .vlp-reason__grid { flex-direction: column; }
  .vlp-support__card, .vlp-case__item { flex: 0 0 85%; }
  .pc-only { display: none; }
}
/*---------------------------------------------------------
下層ページ
---------------------------------------------------------*/
.page-wrap {
    overflow: hidden;
    position: relative;
}

div#page .fluid.two {
    bottom: unset;
    top: 70vh;
}

section.page-mv {
    height: 40vh;
    position: relative;
}

.h1-wrap {
    position: absolute;
    top: 47%;
    left: 4%;
}

section.page-mv h1 {
    font-size: 6rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
    position: relative;
    z-index: 1;
    text-align: center;
}

.page-id-3 section.page-mv h1,
.page-id-861 section.page-mv h1 {
    font-size: 5.5rem;
}

.h1-wrap p {
    text-align: center;
    font-size: 1.2rem;
    font-weight: 500;
    letter-spacing: .3vw;
    line-height: 2.1;
}

.breadcrumb {
    width: 90%;
    margin: 0 auto;
}

/*---------------------------------------------------------
お問い合わせ
---------------------------------------------------------*/



section.contact_form h2 {
    background: -o-linear-gradient(230deg, #0cdbdf 0%, #03a9f4 100%);
    background: linear-gradient(220deg, #0cdbdf 0%, #03a9f4 100%);
    text-align: center;
    font-size: 2rem;
    color: #fff;
    padding: .5vh 0;
    margin-bottom: 3vh;
    margin-top: 7vh;
    border-radius: .3vw;
    letter-spacing: .05em;
    font-weight: 600;
}

section.contact_form .inner {
    margin: 5vh auto 7vh;
    width: 60%;
}

.contact-text {
    text-align: center;
}

.contact-text p {
    font-size: 1.3rem;
}

section.contact_form .button.line {
    width: 50%;
    margin: 3vh auto;
}

section.trial .button.line a,
section.contact_form .button.line a,
nav.globalMenuSp ul li.line a {
    background: -o-linear-gradient(315deg, #3acd3a, #0ccd0c);
    background: linear-gradient(135deg, #3acd3a, #0ccd0c);
    font-size: 1.8rem;
    line-height: 1.4;
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    height: 3.7vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 500;
}

section.contact_form .button.line a::before {
    background: no-repeat;
    content: '';
    display: inline-block;
    width: 2vw;
    height: 1.1em;
    background-image: url(https://veronica9.com/wp-content/uploads/2024/12/line-icon-w.svg);
    margin-right: .3vw;
}

.table-res-form {
    width: 100%;
    margin-top: 4vh;
}


.table-res-form tr.td_last {
    border: unset;
}

.table-res-form th,
.table-res-form td {
    padding: 3vh 3vh 3vh 0;
}

.table-res-form span.red {
    display: block;
    text-align: center;
    font-size: 1.1rem;
}

.table-res-form th {
    font-size: 1.3rem;
    width: 27%;
    text-align: right;
    vertical-align: top;
    font-weight: 500;
}

.table-res-form th span {
    font-size: 1rem;
    display: block;
    line-height: 1.5;
}

.table-res-form td {
    vertical-align: middle;
}

.table-res-form .requied {
    font-size: .9em;
    color: #fff;
    display: inline-block;
    padding: .2vh .3vw;
    background: #31bfff;
    border-radius: .2vw;
    position: relative;
    top: -1px;
}

.wpcf7 input,
.wpcf7 textarea {
    border: 0.5px solid #333 !important;
}

.wpcf7 .wpcf7-submit {
    width: 50% !important;
}

span.wpcf7-form-control.wpcf7-checkbox {
    display: -ms-grid;
    display: grid;
    text-align: left;
    font-size: 1.2rem;
}

span.wpcf7-list-item-label {
    line-height: 1.8;
}

span.wpcf7-list-item.last.has-free-text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

span.wpcf7-list-item.last.has-free-text label {
    width: 12%;
}

span.wpcf7-list-item.last.has-free-text input.wpcf7-free-text {
    width: 30%;
    padding: 0 0.5em;
    height: 25px;
    margin-top: 4px;
}

.table-res-form input[type="text"],
input[type="email"],
textarea,
.wpcf7 input[type="tel"],
select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
select.wpcf7-form-control.wpcf7-select,
.wpcf7-text {
    font-family: "Kosugi Maru", sans-serif;
    padding: 0.2em 0.5em;
    height: 2.5vw;
    font-size: 1.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0;
    width: 100%;
}

.table-res-form input[type="text"]:focus,
textarea:focus {
    background: #FFF;
    -webkit-box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 1px 0 rgba(0, 0, 0, 0.5);
}

input[type="checkbox"] {
    -webkit-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5);
    margin-right: 0.5em;
}

textarea.wpcf7-form-control.wpcf7-textarea {
    height: 16em;
    padding: 0.5em;
}


.table-res-form input[type=submit] {
    position: relative;
    padding: .4em 0;
    color: #fff;
    background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
    background-image: linear-gradient(47deg, #37c1ff, #30bdff);
    font-weight: 500;
    font-size: 1.5rem;
    letter-spacing: .2em;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    border: 1.5px solid #ffffff !important;
    border-radius: 50px;
}

.table-res-form input[type=submit]:hover {
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1.5px solid #04b1ff !important;
    background: #ffffff;
    color: #04b1ff;
}

span.wpcf7-spinner {
    display: none;
}

tr.td_last {
    text-align: center;
}

tr.td_last td {
    padding: 1.5em 0;
}

.home tr.td_last td {
    padding: 0;
}

span.wpcf7-not-valid-tip {
    color: #E91E63;
    text-align: center;
    display: block;
}

.wpcf7 form .wpcf7-response-output {
    margin: 2vh auto 2vh !important;
    padding: .5em !important;
}

form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #e91e63 !important;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #E91E63 !important;
}

.wpcf7-response-output {
    text-align: center;
    color: #e91e63;
    margin-top: 2em;
    padding: 0.5em;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

select {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    border: .5px solid #333 !important;
}

.recaptcha {
    text-align: center;
    margin-bottom: 1em;
}

.recaptcha a {
    text-decoration: none;
    color: var(--color-main);
}

.grecaptcha-badge {
    visibility: hidden;
}

.screen-reader-response {
    display: none;
}

p.pp {
    text-align: center;
}

p.pp a {
    color: var(--color-main);
    text-decoration: none;
    font-size: 1.2rem;
}

p.pp a:hover {
    opacity: 0.6;
}

.contact_text_bottom {
    text-align: center;
    margin-top: 3vh;
    font-size: 1rem;
}

section.thanks .inner {
    margin: 0 auto 10vh;
    width: 60%;
    text-align: center;
    z-index: 1;
    position: relative;
}

section.thanks .text-wrap {
    font-size: 1.2rem;
}

section.thanks h2 {
    font-size: 2rem;
    margin-bottom: 3vh;
    font-weight: 500;
}

section.thanks h3 {
    margin: 4vh auto 1vh;
}

section.thanks a {
    width: 30%;
    margin: 4vh auto 0;
    display: block;
    position: relative;
    padding: .2em 0;
    color: #fff;
    background: -o-linear-gradient(227deg, #ff3ba1, #ff1766);
    background: linear-gradient(223deg, #ff3ba1, #ff1766);
    font-weight: 500;
    font-size: 1.2rem;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    border: 1.5px solid #ff3ba1 !important;
    letter-spacing: .2em;
    text-decoration: none;
}

section.thanks .link a::after {
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
}


/*---------------------------------------------------------
プライバシーポリシー
---------------------------------------------------------*/
section.privacy_policy .inner {
    width: 60%;
    margin: 5vh auto 7vh;
}

.privacy_policy h2 {
    margin-top: 2em;
    font-size: 1.4rem;
    font-weight: 500;
    border-bottom: 2px solid #ccc;
    padding-bottom: 0.5em;
    position: relative;
}

.privacy_policy h2::after {
    content: '';
    display: block;
    width: 75px;
    background-color: #04b1ff;
    height: 2px;
    position: absolute;
    bottom: -1.5px;
    left: 0;
}

.privacy_policy p {
    margin-top: 1em;
    line-height: 2;
    font-size: 1.1rem;
}

p.title_down img.office {
    width: 16%;
    position: relative;
    top: -2px;
}

.privacy_policy ol {
    margin-top: 1em;
    line-height: 2;
    padding-left: 1.5em;
    font-size: 1.1rem;
}

p.ppa a {
    color: #04b1ff;
    text-decoration: none;
    font-weight: 500;
}

p.ppa a:hover {
    opacity: 0.6;
}

li.pp_li_se {
    margin-top: 1em;
}

/*---------------------------------------------------------
SYNC
---------------------------------------------------------*/

.page-id-1383 div#page article h2 {
    border-left: .4vw solid #333;
    background: #EEEEEE;
}

.page-id-1383 div#page h3 {
    border-bottom: .17vw solid #111;
    padding-left: .5vw;
}

p.sync-btn a {
    margin: 0 auto;
    width: 50%;
    display: block;
    color: #fff;
    border-radius: 10vw;
    padding: .5vw;
    font-weight: 600;
    letter-spacing: .1vw;
    background: linear-gradient(260deg, #303335 0%, #4f5151 100%);
    text-align: center;
    border: 3px solid #D4AF37;
    box-sizing: border-box;
}

.page-id-1383 .fluid.one {
    background: -o-linear-gradient(266deg, #c4c4c4 0%, rgb(227 227 227 / 60%) 100%);
    background: linear-gradient(266deg, #c4c4c4 0%, rgb(227 227 227 / 60%) 100%);
}

.page-id-1383 .fluid.two {
    background: -o-linear-gradient(42deg, #c4c4c4 0%, rgb(227 227 227 / 60%) 100%);
    background: linear-gradient(42deg, #c4c4c4 0%, rgb(227 227 227 / 60%) 100%);
}

.page-id-1383 section#cta .inner {
    background: -o-linear-gradient(135deg, #2f2b2b 0%, #727272 79%);
    background: linear-gradient(135deg, #2f2b2b 0%, #727272 79%);
}

.page-id-1383 .background-en p {
    background-color: #cdcdcd;
}

.page-id-1383 footer#footer {
    background: -o-linear-gradient(266deg, #9E9E9E 0%, #555555 100%);
    background: linear-gradient(266deg, #9E9E9E 0%, #555555 100%);
}

.page-id-1383 a#topBtn:before {
    background-color: rgb(158 158 158 / 61%);
}

.page-id-1383 div#page article .inner ul {
    background: #F5F5F5;
    margin-left: 0;
    padding: 2vh 1vw 2vh 3.5em;
    border-radius: .5vw;
}

@media screen and (max-width: 743px) {
    .page-id-1383 .g-nav-openbtn.scrolled span {
        background: #9E9E9E;
    }

    .page-id-1383 ul.floating {
        background: #9E9E9E;
    }

    .page-id-1383 p.sync-btn a {
        width: 100%;
        padding: 1vw;
        border: 2px solid #d4af37;
    }

    .page-id-1383 div#page article h2 {
        border-left: 1vw solid #333;
    }

    .page-id-1383 div#page h3 {
        border-bottom: .5vw solid #111;
    }

    .page-id-1383 div#page article .inner ul {
        padding: 2vh 4vw 2vh 4em;
        border-radius: 1vw;
    }

    .page-id-1383 nav.globalMenuSp {
        background: linear-gradient(266deg, #777777 0%, rgb(158 158 158 / 84%) 100%);
    }
}

.sync-pricing-swipe {
    font-size: 1.25vw;
    line-height: 2.10vw;
    color: #111;
}

/* scroll wrapper */
.sync-pricing-swipe__scroll {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    border: 0.10vw solid #e5e7eb;
    background: #fff;
    margin: 0;
    padding: 0;
}

/* table */
.sync-pricing-swipe__table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    min-width: 200%;
}

/* cells */
.sync-pricing-swipe__table th,
.sync-pricing-swipe__table td {
    padding: 1.10vw 1.10vw;
    border-bottom: 0.10vw solid #e5e7eb;
    border-right: 0.10vw solid #e5e7eb;
    background: #fff;
    vertical-align: middle;
    font-size: 1.25vw;
    text-align: center;
}

/* thead */
.sync-pricing-swipe__table thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    background: #9E9E9E;
    color: #fff;
    font-weight: 900;
    text-align: center;
    padding: 1.25vw 1.10vw;
    font-size: 1.2vw;
}

/* first column sticky */
.sync-pricing-swipe__table th:first-child,
.sync-pricing-swipe__table td:first-child {
    position: sticky;
    left: 0;
    z-index: 6;
    width: 13%;
    min-width: 13%;
    font-weight: 600;
    text-align: center;
    background: #fff;
    font-size: 1.25vw;
}

/* keep first head cell above */
.sync-pricing-swipe__table thead th:first-child {
    z-index: 7;
    background: #9E9E9E;
}


.sync-pricing-swipe__table th:last-child,
.sync-pricing-swipe__table td:last-child {
    border-right: none;
}

.sync-pricing-swipe__table th:last-child {
    background: #333;
}


.sync-pricing-swipe__table tbody tr:nth-child(even) td {
    background: #f7f7f7;
}

.sync-pricing-swipe__table tbody tr:nth-child(even) td:first-child {
    background: #f7f7f7;
}

.page-id-1383 div#page article .inner table.sync-pricing-swipe__table ul {
    padding: 0;
    background: unset;
    border-radius: 0;
    margin-top: 0;
    margin-left: 1em;
}

.page-id-1383 div#page article .inner table.sync-pricing-swipe__table ul li {
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 1.6;
    list-style: none;
}


.sync-pricing-swipe__center {
    text-align: center;
}


.sync-pricing-swipe__table thead th.is-reco {
    background: #607D8B;
}


.sync-pricing-swipe__plan {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.55vw;
}

.sync-pricing-swipe__plan-name {
    font-size: 1.05vw;
    font-weight: 900;
}

.sync-pricing-swipe__price {
    font-size: 1.6vw;
    font-weight: 900;
}

.sync-pricing-swipe__price small {
    font-size: 0.95vw;
    font-weight: 800;
    color: rgba(255, 255, 255, .85);
}

/* =========================
   Responsive (width/min-width => % ONLY)
   ========================= */
/* @media (max-width: 56.25em){ 
  .sync-pricing-swipe{
    font-size: 2.20vw;
    line-height: 3.40vw;
  }

  .sync-pricing-swipe__table{
    min-width: 230%;
  }

  .sync-pricing-swipe__table th:first-child,
  .sync-pricing-swipe__table td:first-child{
    width: 36%;
    min-width: 36%;
  }

  .sync-pricing-swipe__table th,
  .sync-pricing-swipe__table td{
    padding: 2.30vw 2.30vw;
    font-size: 2.20vw;
    line-height: 3.40vw;
  }

  .sync-pricing-swipe__table thead th{
    padding: 2.50vw 2.30vw;
    font-size: 2.10vw;
    line-height: 3.20vw;
  }

  .sync-pricing-swipe__plan{
    gap: 1.00vw;
  }

  .sync-pricing-swipe__plan-name{
    font-size: 2.10vw;
    line-height: 3.20vw;
  }

  .sync-pricing-swipe__price{
    font-size: 2.70vw;
    line-height: 3.60vw;
  }

  .sync-pricing-swipe__price small{
    font-size: 1.90vw;
    line-height: 3.00vw;
  }
} */

@media (max-width: 767px) {

    /* 600px */
    .sync-pricing-swipe {
        font-size: 3.6vw;
    }

    .sync-pricing-swipe__table {
        min-width: 220%;
    }

    .sync-pricing-swipe__table th:first-child,
    .sync-pricing-swipe__table td:first-child {
        width: 20%;
        min-width: 20%;
    }

    .sync-pricing-swipe__table th,
    .sync-pricing-swipe__table td,
    .sync-pricing-swipe__table th:first-child,
    .sync-pricing-swipe__table td:first-child {
        padding: 3vw 3vw;
        font-size: 3.6vw;
        line-height: 1.6;
    }

    .sync-pricing-swipe__table thead th {
        padding: 4vw 3vw;
        font-size: 3.6vw;
        line-height: 1.2;
        width: 26.6%;
    }

    .page-id-1383 div#page article .inner table.sync-pricing-swipe__table ul li {
        font-size: 3.6vw;
    }


    .sync-pricing-swipe__plan {
        gap: 1.4vw;
    }

    .sync-pricing-swipe__plan-name {
        font-size: 3.2vw;
    }

    .sync-pricing-swipe__price {
        font-size: 4.2vw;
    }

    .sync-pricing-swipe__price small {
        font-size: 2.9vw;
    }
}

/*---------------------------------------------------------
固定ページ
---------------------------------------------------------*/

.single .fluid.one {
    width: 54vw;
    height: 100vh;
    right: -5vw;
    top: -23vh;
}

.single .fluid.two {
    width: 23vw;
    height: 40vh;
    left: -5vw;
    z-index: -1;
    bottom: -32vh;
}

div#page .fluid.one {
    z-index: -1;
}

div#page .container {
    margin-top: 12vh;
}

div#page .container article {
    width: 48%;
    margin: 10vh auto;
    background: unset;
    z-index: 1;
    position: relative;
}

div#page h1 {
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.8;
}

.single h1 {
    font-size: 1.8rem;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1.8;
}

div#page article h2,
.single article h2 {
    background: #eef8fb;
    font-size: 1.4vw;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 5vh auto 3vh;
    padding: 1.2vh 1.3vw;
    border-left: .4vw solid #7adff2;
    line-height: 1.6;
}

div#page h3,
.single article h3 {
    font-size: 1.3vw;
    font-weight: 600;
    letter-spacing: .04vw;
    margin: 5vh auto 3vh;
    padding-bottom: 1vh;
    padding-left: 1vw;
    border-bottom: .2vw solid #7adff2;
    line-height: 1.6;
}

div#page article .inner p,
.single article p {
    font-size: 1.3rem;
    font-weight: 400;
    margin-top: 3vh;
    line-height: 2.2;
}

div#page article ol.wp-block-list {
    font-size: 1.2vw;
    margin: 3vh 0 3vh 1.5em;
}

div#page article li {
    margin-bottom: 2vh;
    line-height: 2.2;
}

div#page article .inner ul,
.single article ul {
    margin-left: 1.2vw;
    margin-top: 3vh;

}

div#page article .inner ul ul,
.single article ul ul {
    margin-top: unset;
    margin-bottom: .7vw;
    margin-left: 0;
}

div#page article .inner ul li,
.single article ul li {
    list-style-type: disc;
    font-size: 1.3rem;
    margin-bottom: .7vh;
}

div#page article .inner ul ul li,
.single article ul ul li {
    list-style: none;
}

div#page figure,
.single article figure {
    margin: 3vh 0;
}

.single article p.article-date {
    font-size: 1rem;
    margin-top: 0;
    text-align: right;
}

.page_sns {
    width: 48%;
    margin: 0 auto;
}

.wp-block-group.page-box p {
    margin-top: 0 !important;
    padding-top: 0;
}

.wp-block-group.page-box {
    background: #f5f5f5;
    padding: 1vh 2vw;
    margin: 3vh auto;
}

/*---------------------------------------------------------
流れ
---------------------------------------------------------*/
section.flow-wrap .inner {
    position: relative;
    z-index: 1;
    width: 60%;
    margin: 0 auto;
    padding: 5vh 0 7vh;
}

section.flow-wrap h2 {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 5vh;
    letter-spacing: .5vw;
    font-weight: 500;
}

.text-wrap.center {
    text-align: center;
}

section.flow-wrap {
    counter-reset: number;
}

.flow-step.top {
    margin-top: 7vh;
}

.flow-step {
    background: rgb(127 221 255 / 15%);
    padding: 2vh 2vw 3vh;
    border-radius: 1vw;
    margin-bottom: 5vh;
}

/* h3のスタイル */
section.flow-wrap h3 {
    text-align: left;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 2.5;
    position: relative;
    padding-left: 4vw;
    margin-bottom: 1vh;
}

section.flow-wrap h3::before {
    counter-increment: number;
    content: counter(number);
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 3vw;
    height: 3vw;
    background: linear-gradient(266deg, #13eef2 0%, #7fddff 100%);
    color: #fff;
    border-radius: 50%;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 3vw;
    font-family: "Roboto", serif;
}


section.flow-wrap .text-wrap {
    margin-top: 1vh;
}

section.flow-wrap .text-wrap p {
    font-size: 1.3rem;
    font-weight: 500;
}

section.flow-wrap ul {
    font-size: 1.3rem;
    margin-left: 1.5vw;
    margin-top: 2vh;
    font-weight: 500;
}

section.flow-wrap p a {
    color: #03A9F4;
    text-decoration: none;
    font-weight: 500;
}

/*---------------------------------------------------------
事業所概要
---------------------------------------------------------*/
section.office-wrap .inner {
    position: relative;
    z-index: 1;
    width: 55%;
    margin: 0 auto;
    padding: 5vh 0 7vh;
}

section.office-wrap h2 {
    font-size: 2.5rem;
    text-align: center;
    margin-bottom: 5vh;
    letter-spacing: .5vw;
    font-weight: 500;
}

.page-id-1012 table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}


.page-id-1012 table tr th {
    font-size: 1.2rem;
    line-height: 1.79;
    width: 25%;
    vertical-align: middle;
    font-weight: 500;
}

.page-id-1012 table tr td {
    font-size: 1.2rem;
    line-height: 1.79;
    letter-spacing: .05rem;
    border: unset;
    padding: 3vh 0;
    font-weight: 500;
}

.page-id-1012 table tr td li {
    list-style: none;
    font-size: 1.2rem;
    padding-left: 1em;
    text-indent: -1em;
}

table a {
    color: var(--color-main);
    text-decoration: none;
}

.massage {
    text-align: center;
    margin-top: 1vw;
}

.massage p {
    font-size: 1.1vw;
    font-weight: 500;
}

@media screen and (max-width: 743px) {
    .massage {
        width: 90%;
        margin: 2vh auto;
    }

    .massage p {
        font-size: 3.8vw;
    }
}

/*---------------------------------------------------------
投稿ページ
---------------------------------------------------------*/

.page-id-1635 div#page .container article {
    background: #ffffff;
}

.wp-block-image img {
    box-sizing: border-box;
    height: auto;
    max-width: 100%;
    vertical-align: bottom;
    box-shadow: 0 9px 20px rgba(0, 0, 0, .1), 0 2px 5px rgba(0, 0, 0, .06);
    width: 100%;
}


.single section.page-mv p.title {
    font-size: 6rem;
    font-weight: 500;
    font-family: "Josefin Sans", sans-serif;
    line-height: .9;
    position: relative;
    z-index: 1;
    text-align: center;
}

.single .contents {
    width: 60%;
    margin: 10vh auto;
}

section.single-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 80%;
    margin: 0 auto;
}

.page.single .inner {
    max-width: 72%;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 3vh 0;
}

section.blog_wrap {
    width: calc(100% - 30%);
    padding-right: 3vw;
}

article.article-content {
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0.5em;
}

article.article-content p.cat-data a {
    background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
    background-image: linear-gradient(47deg, #37c1ff, #30bdff);
    display: inline;
    color: #fff;
    padding: 0.5vh 1em;
    border-radius: 50px;
    margin-right: 0.5em;
    font-size: .8rem;
    text-decoration: none;
    pointer-events: none;
    cursor: default;
}

/* article.article-content h1 {
    font-size: 1.5rem;
    margin: .5em 0;
	    font-weight: 500;
}

p.article-date {
    text-align: right;
    font-size: 1rem;
}

.page.single .post_wrap {
    margin-top: 2vh;
}

article.article-content .article-img {
    margin-top: 1em;
    margin-bottom: 2em;
}

article.article-content .post_wrap p {
    font-size: 1.2rem;
    margin-bottom: 2em;
}

.su-row .su-column {
    font-size: 1.1rem;
}

.post_wrap h2 {
    color: #fff;
    font-size: 1.5rem;
    margin: 3rem 0 2rem;
    line-height: 1.5;
    padding: 0.5rem 0.6rem 0.6rem 2.5rem;
    text-indent: -1.7rem;
    background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
    background-image: linear-gradient(47deg, #37c1ff, #30bdff);
}

.post_wrap h3 {
    padding-left: 0.5rem;
    margin: 3rem 0 1.5rem;
    border-bottom: 3px solid #04b1ff;
    font-size: 1.4rem;
    padding-bottom: 0.2em;
}

.post_wrap h4 {
    font-size: 1.3rem;
    position: relative;
    margin: 3rem 0 1.5rem;
}

.post_wrap h4:before {
    content: "◆";
    color: #04b1ff;
    margin-right: 0.2em;
    font-size: 1.2rem;
    position: relative;
    top: -1px;
}

.post_wrap ul {
    padding-left: 1.1em;
    margin-bottom: 2em;
    font-size: 1.2rem;
}

.post_wrap ol {
    padding-left: 1.8em;
    margin-bottom: 2em;
    font-size: 1.2rem;
}
 */
.post_wrap table {
    width: 100%;
    text-align: center;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 1.2rem;
    margin-bottom: 2em;
}

.post_wrap table tr:first-of-type {
    background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
    background-image: linear-gradient(47deg, #37c1ff, #30bdff);
    color: #fff;
}

.post_wrap th {
    padding: 10px;
    border: solid 1px #778ca3;
}

.post_wrap td {
    padding: 10px;
    border: solid 1px #778ca3;
}

.article-tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.wp-block-table td,
.wp-block-table th {
    border: 1.5px solid #04b1ff !important;
}

.article-tag ul {
    margin-bottom: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 0 !Important;
}

.single .post p.tag {
    background: #333;
    color: #fff;
    text-align: center;
    width: 10%;
    border-radius: 4px;
    font-size: .9rem !important;
    padding: 0 0;
    margin-bottom: 0;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

.single .post .article-tag ul {
    margin-bottom: 0;
    margin-left: 0;
}

.single article .article-tag ul li {
    list-style-type: none;
    list-style: none;
    padding-right: 1em;
    font-size: 1.2rem;
}

.article-tag a {
    text-decoration: none;
    color: var(--color-main);
    font-size: 1.2rem;
}

.article-tag a:before {
    background: no-repeat;
    width: 1.2vw;
    height: 2.2vh;
    background-image: url(https://veronica9.com/wp-content/uploads/2025/01/tag.svg);
    content: '';
    margin-right: .3vw;
    display: inline-block;
    top: .3vh;
    position: relative;
}

.youtube {
    width: 100%;
    aspect-ratio: 16 / 9;
    margin-bottom: 2em;
}

.youtube iframe {
    width: 100%;
    height: 100%;
}

blockquote {
    position: relative;
    border: 1px solid #9e9e9e;
    border-radius: .5vw;
    padding: 5vh 2vh 1vh;
    background: #f2f9ff;
}

blockquote:before {
    margin-right: 1em;
    display: block;
    position: absolute;
    width: 1.8em;
    height: 1.8em;
    background-image: url("https://web6.veronica9.com/wp-content/uploads/2024/05/block-quote.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    left: 1.5vh;
    top: 1.5vh;
}

blockquote:after {
    margin-right: 1em;
    display: block;
    position: absolute;
    width: 1.8em;
    height: 1.8em;
    background-image: url(https://web6.veronica9.com/wp-content/uploads/2024/05/block-quote.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    right: 0;
    bottom: .5vh;
    -webkit-transform: scale(-1, 1);
    -ms-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

blockquote cite {
    display: block;
    font-size: 1rem;
    text-align: right;
    color: #9e9e9e;
    padding-right: 5vh;
}




/*記事下ページ前後*/
nav.page-nav {
    margin: 50px 0px 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.page-nav .prev-link {
    width: 49%;
    text-align: left;
    text-decoration: none;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-main);
    border: 2px solid #04b1ff;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    font-size: .8rem;
    line-height: 1.5;
    padding: 0.5em 1em;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.page-nav .next-link {
    width: 49%;
    text-align: right;
    text-decoration: none;
    position: relative;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-main);
    border: 2px solid #04b1ff;
    -webkit-transition: .4s ease-in-out;
    -o-transition: .4s ease-in-out;
    transition: .4s ease-in-out;
    font-size: 0.8rem;
    line-height: 1.5;
    padding: 0.5em 1em;
    font-weight: 500;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
}

.page-nav .prev-link::before {
    content: "PREV";
    position: absolute;
    top: -.85em;
    left: 0;
    line-height: 1;
    color: #04b1ff;
    font-size: 1.2rem;
    font-family: "Poppins", sans-serif;
    letter-spacing: 5px;
}

.page-nav .next-link:before {
    content: "NEXT";
    position: absolute;
    top: -.85em;
    right: 0;
    line-height: 1;
    color: #04b1ff;
    font-size: 1.1rem;
    font-family: "Poppins", sans-serif;
    letter-spacing: 5px;
}

nav.page-nav a:hover {
    background: #ebf9ff;
}



/* シェアボタン */
.share {
    margin-bottom: 2vh;
    margin-top: 3vh;
    position: relative;
    z-index: 1;
}

.home .share,
.page-id-711 .share {
    width: 55%;
    margin: 0 auto;
}

.share p {
    text-align: center;
    font-size: 1.5rem;
    margin-bottom: 2vh;
    letter-spacing: .15vw;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 400;
    font-family: "Roboto", serif;
    color: var(--color-main);
}

.share ul {
    width: 45%;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -ms-flex-pack: distribute;
    justify-content: space-around;
    padding-left: 0 !important;
}

.single article .share ul {
    margin-left: auto;
}

.share li {
    width: 31%;
    margin: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.share li a,
.share li button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 2.8vw;
    width: 2.8vw;
    border-radius: 50px;
}

.share li a {
    border-radius: 50px;
}

.share li button {
    border-radius: .3vw;
    width: 3.8vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.share li button img {
    width: 66%;
}

.share li a:visited {
    opacity: .6;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

.facebook_share a {
    background-color: #1877f1;
    color: #ffffff;
}

li.facebook_share a img {
    width: 32%;
}

.line_share a {
    background-color: #1dcd00;
    color: #ffffff;
}

li.line_share a img {
    width: 63%;
}

.tweet_share a {
    background-color: #444;
    color: #fff;
}

li.tweet_share a img {
    width: 50%;
}

.share li a:hover {
    opacity: 0.6;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}

button.share-url {
    background-color: #607D8B;
    color: #ffffff;
}

.url-copied {
    display: none;
    position: absolute;
    bottom: -7vh;
    left: 67%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1000;
}

.url-copied span {
    background: #607D8B;
    color: #fff;
    padding: 6px 12px;
    border-radius: 3px;
    font-size: .8rem;
    white-space: nowrap;
}

@media(max-width: 599px) {
    .share li {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .share li i {
        font-size: 1.3em;
        padding-top: 3px;
    }

    .share li a {
        font-size: .7rem;
    }

    .share li a svg {
        font-size: .95rem;
    }

    .share ul {
        width: 46%;
        margin: 3vw auto 0;
    }

    .share li a {
        height: 9.8vw;
        width: 9.8vw;
    }

    nav.page-nav {
        margin: 1vh 0 5vh;
        flex-wrap: wrap;
    }
}

/* サイドバー */

div#block-7 li a:first-of-type {
    width: 40%;
}

ul.wpp-list a.wpp-post-title {
    width: 57%;
}

ul.wpp-list a img {
    width: 100%;
}

.wpp-thumbnail {
    margin: 0 !important;
}




.sidebar {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    min-width: 0;
    width: 30%;
}

/* 
    .widget.popular-posts,
    div#execphp-3 {
        padding: 1em;
        background: #fff;
        border-radius: 0.5em;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .widget.popular-posts {
        margin-bottom: 2em;
    }

    .widget.popular-posts h2,
    div#execphp-3 h4 {
        border-bottom: 3px solid #3bc4bd;
        padding: 0 0.5em 0.5em;
        margin-bottom: 1em;
        font-size: 1.1rem;
        font-weight: 600;
    } */

ul.wpp-list li,
div#eyecatch_recent_posts_widget-2 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1em;
}

ul.wpp-list li:last-of-type,
div#eyecatch_recent_posts_widget-2 li:last-of-type {
    margin-bottom: unset;
}

ul.wpp-list li img,
div#eyecatch_recent_posts_widget-2 li img {
    border-radius: 0.3em;
}

a.wpp-post-title {
    line-height: 1.4;
}

div#eyecatch_recent_posts_widget-2 .thumbnail {
    width: 40%;
}

p.blog_title {
    padding-left: 0.5em;
    line-height: 1.3;
    width: 65%;

}

p.blog_title a {
    color: var(--color-main);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 600;
}

ul.wpp-list li a:hover,
.Widget_newpost li a:hover {
    opacity: 0.6;
    -webkit-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.Widget_newpost li br {
    display: none;
}


aside#sidebar h4,
div#block-7 h2 {
    font-size: 1.2rem;
    border-bottom: 2.5px solid #04b1ff;
    margin-bottom: 2vh;
    letter-spacing: .05em;
    padding-bottom: .5vh;
}

aside#sidebar a {
    text-decoration: none;
}

div#block-7 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 1.5vh;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

aside#sidebar .widget_block {
    margin-bottom: 5vh;
}

div#eyecatch_recent_posts_widget-2 li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 1em;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

ul.wpp-list li img,
div#eyecatch_recent_posts_widget-2 li img {
    border-radius: .3em;
}

div#eyecatch_recent_posts_widget-2 li a.np_img {
    width: 40%;
}

.np-text {
    width: 58%;
}

a.np-title,
div#categories-2 a,
div#archives-2 a {
    color: var(--color-main);
}

.wpp-list li {
    margin-bottom: 0;
}

p.blog_title {
    padding-left: .5em;
    line-height: 1.3;
    width: 65%;
}

p.date {
    font-size: .9rem;
}

div#categories-2,
div#archives-2 {
    margin-top: 5vh;
}

div#categories-2 ul,
div#archives-2 ul {
    padding-left: 1.5em;
}

div#categories-2 li,
div#archives-2 li {
    padding: .5vh 0;
    font-size: 1.1rem;
}

div#categories-2 li::marker,
div#archives-2 li::marker {
    color: #04b1ff;
}

/*---------------------------------------------------------
404 ページ
---------------------------------------------------------*/
.error404 section.page-mv h1 {
    font-size: 5rem;
}

.error404 main {
    text-align: center;
    padding: 7vh 0 15vh;
}

.error404 main h2 {
    font-size: 2rem;
    margin-bottom: 3vh;
}

.error404 main p {
    font-size: 1.3rem;
}

.error404 main div {
    margin-top: 5vh;
}

.error404 main div a {
    color: #fff;
    height: 7vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: fit-content;
    font-size: 1.2rem;
    padding: 0 6vw;
    border-radius: 50px;
    border: 1px solid #fff;
    background: -o-linear-gradient(2deg, #ff58df 0%, #04e3ff 100%);
    background: linear-gradient(88deg, #ff58df 0%, #04e3ff 100%);
    font-weight: 500;
    letter-spacing: .2em;
    line-height: 1.6;
    margin: 0 auto;
}

/*---------------------------------------------------------
カテゴリ―一覧
---------------------------------------------------------*/

.page.container.category h1 {
    font-size: 1.5rem;
    margin-bottom: 2vh;
    padding: .3vh 0;
    letter-spacing: .1em;
}

.page.container.column .inner {
    max-width: 72%;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 7vh 0 7vh;
}

.page.container.column .inner {
    max-width: 72%;
    width: 100%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 7vh 0 7vh;
}

section.column_wrap {
    width: calc(100% - 30%);
    padding-right: 4rem;
}


/* article.article-list .img-wrap {
    width: 37%;
    height: auto;
    display: -ms-grid;
    display: grid;
    place-items: center;
}

article.article-list .text {
    width: 60%;
    position: relative;
}

article.article-list .text h2 {
    font-size: 1.4rem;
    margin-bottom: .2em;
    line-height: 1.4;
}

article.article-list a {
    text-decoration: none;
} */

.cat-day {
    position: relative;
}

ul.post-categories {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

ul.post-categories a {
    background: #04b1ff;
    display: inline;
    color: #fff;
    padding: .2em 1em;
    border-radius: 50px;
    margin-right: .5em;
    font-size: .8rem;
}

ul.post-categories li {
    list-style: none;
}

article.article-list p.article-date {
    position: absolute;
    top: 0;
    right: 0;
}

article.article-list .archive-text {
    margin-top: 1vh;
}

/*ページネーション*/
.pagination {
    margin: 2rem 0;
    text-align: center;
}

.pagination ul {
    font-size: 0;
}

.pagination ul li {
    font-size: 1rem;
    display: inline-block;
    margin-right: .5rem;
}

.pagination ul li:last-child {
    border: 0;
}

.pagination ul li a,
.pagination .current {
    display: block;
    border-radius: 4px;
    padding: .5vh 1vw;
    border: 2px solid #04b1ff;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

i.fas.fa-angle-right,
i.fas.fa-angle-left {
    color: #04b1ff;
}

.pagination ul li .prev,
.pagination ul li .next {
    border: 0;
}

.pagination ul li a {
    text-decoration: none;
    color: #04b1ff;
    font-weight: 500;
}

.pagination ul li a:hover {
    opacity: .6;
}

.pagination .current {
    color: #fff;
    background-image: -o-linear-gradient(43deg, #37c1ff, #30bdff);
    background-image: linear-gradient(47deg, #37c1ff, #30bdff);
}

/*---------------------------------------------------------
  スマホ
  ---------------------------------------------------------*/

@media screen and (max-width:743px) {

    body {
        line-height: 1.7;
    }

    #topBtn {
        display: none !important;
    }

    br.sp_block {
        display: block !important;
    }

    .sp_block {
        display: block !important;
    }

    .sp_inlineblock {
        display: inline-block !important;
    }

    span.pc_inlineblock {
        display: none !important;
    }

    .pc_block {
        display: none !important;
    }

    .pc_inlineblock {
        display: none;
    }

    .page-id-711 .mv-copy p.p4 {
        display: block;
    }

    .mv-copy p.p4,
    .copyright,
    div#page article p br,
    div#page .fluid.two {
        display: none;
    }

    header {
        position: absolute;
    }

    .site-title-wrap {
        width: 52%;
        height: 13svh;
        padding-left: 4%;
    }

    .fluid.one,
    .single .fluid.one {
        width: 68vw;
        height: 45svh;
        right: -9vw;
        top: -15svh;
    }

    .fluid.two,
    .single .fluid.two {
        width: 50vw;
        height: 24svh;
        left: -8vw;
        bottom: -5svh;
    }

    .mv-copy {
        top: 55%;
    }

    .mv-copy p.p3 span.dot:before {
        top: -2.5svh;
    }

    /*     .mv-copy p.p4 {
        font-size: 4.2vw;
        position: absolute;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        right: 0;
        text-wrap-mode: nowrap;
        top: -29svh;
        background: linear-gradient(360deg, #13eef2 0%, #00BCD4 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    } */

    .mv-copy .link a {
        width: 68%;
    }

    .background-en p {
        background: rgb(96 125 139 / 62%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        text-fill-color: transparent;
    }

    .background-en,
    .footer-bg .background-en {
        bottom: 0svh;
        height: 20vw;
    }

    section.Misson .inner {
        padding: 10vh 0 7vh;
    }

    section#Coconala {
        margin: 0;
    }

    section#Coconala .flex-box.right {
        background: unset;
    }

    section#Coconala .h3-wrap p {
        margin: 1svh auto 0;
    }

    section.Misson .text-wrap p {
        line-height: 2.3;
    }

    section#Coconala dt {
        background: -o-linear-gradient(2deg, #f934a8 0%, #ff3379 100%);
        background: linear-gradient(88deg, #f934a8 0%, #ff3379 100%);
        /* 		                background: linear-gradient(88deg, #d3a77c 0%, #f0a457 100%); */
        /* 		background: #d3a77c; */
        padding: .5svh 0;
        letter-spacing: .7vw;
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }

    section#Coconala dd {
        text-align: center;
        margin-bottom: 1.5svh;

    }

    section#Coconala dd img.pro {
        margin: 0 auto 1vh;
        width: 22%;
    }

    section#Coconala dd img.platinum {
        margin: 0 auto 1vh;
        width: 24%;
    }

    section#Coconala dd img.ranking {
        margin-bottom: 1vh;
    }

    .stars span {
        display: flex;
        flex-direction: row-reverse;
        justify-content: center;
    }

    .stars input[type='radio'] {
        display: none;
    }

    .stars label {
        color: #ffc107;
        font-size: 7vw;
        padding: 0 1vw;
        cursor: pointer;
        line-height: 1;
        margin-bottom: 1vh;
    }

    .stars label:hover,
    .stars label:hover~label,
    .stars input[type='radio']:checked~label {
        color: #F8C601;
    }

    section#Coconala .flex-box.right {
        padding: 3svh 0;
    }

    section#Coconala .flex-box.right {
        margin: 0 auto;
    }

    section.Work h3:before {
        height: 0.6vw;
        width: 6vw;
        top: 1svh;
    }

    section#Work .notes {
        text-align: left;
        margin: 3vh 5vw;
        font-size: 3.2vw;
    }

    section.Work h3 {
        padding-left: 5vw;
    }

    section.Work .hp-wrap .works-wrap {
        -ms-grid-columns: 1fr;
        grid-template-columns: repeat(1, 1fr);
        gap: 5svh 0;
        margin-top: 2svh;
    }

    section.Work .service-wrap p.logo,
    section.Work .service-wrap p.line {
        margin-top: 1.5svh;
    }

    .fluid.three {
        width: 60vw;
        height: 33svh;
        right: -20vw;
        top: 10svh;
    }

    .client-wrap {
        padding: 3svh 4vw;
        margin: 5svh auto;
        text-align: justify;
        border-radius: 1.5vw;
    }

    .hp-wrap {
        margin: 0 auto;
    }

    .logo-wrap {
        margin: 8svh auto 5svh;
    }

    .client-wrap p span {
        font-weight: 500;
        font-family: "Josefin Sans", sans-serif;
        font-style: italic;
        margin: 0 1vw;
    }

    section.Work .logo-wrap .works-wrap {
        -ms-grid-columns: 1fr 0 1fr;
        grid-template-columns: repeat(2, 1fr);
        gap: 4svh 0;
        margin-top: 5svh;
    }

    section.Work .logo-wrap .works-wrap .glid-box .img-wrap {
        width: 90%;
        aspect-ratio: 16 / 5;
        margin: 0 auto;
    }

    section.Work .logo-wrap h3 {
        margin: 0 auto;
    }

    section#Voice .inner {
        padding: 5svh 0 0;
    }

    section#Voice .h2-wrap {
        margin: 0 auto;
    }

    .l-wrapper {
        margin-top: 5vh;
    }

    .card03 .slide-text {
        min-height: 125vw;
    }

    .l-inner {
        padding: 0;
        max-width: 100%;
    }

    .card03 .slide-content {
        padding: 2svh 3vw;
    }

    section#Voice .bg {
        width: 100%;
    }

    .swiper-button-prev,
    .swiper-button-next {
        height: 12.8vw !important;
        width: 12.8vw !important;
    }

    .swiper-button-prev:after,
    .swiper-button-next:after {
        width: 2.4vw;
        height: 2.4vw;
        border-width: 1.5px 1.5px 0 0;
    }

    .fluid.four {
        width: 33vw;
        height: 17svh;
        left: -5vw;
        top: 0svh;
    }

    section#About {
        margin-top: 8vh;
    }

    section#About .inner {
        padding: 0;
    }

    section#About .text-wrap {
        margin-top: 48svh;
    }

    .fluid.five {
        width: 90vw;
        height: 40svh;
        right: 5vw;
        /*         background-size: 160%;
        background-position: -22vw -5svh; */
        top: 32svh;
        background-size: 141%;
        background-position: -20vw -5svh;
    }

    .fluid.six {
        width: 90vw;
        height: 40svh;
        right: 2vw;
        background-size: 150%;
        background-position: -9vw -4svh;
        top: 34svh;
    }

    section#Service h3 {
        font-size: 4.8vw;
        padding: 1vh 0;
    }

    section#Service .flex-box.right {
        margin: 2svh auto 0;
    }

    section#Service h4,
    section#Service .flex-box.right h4,
    section#Service .flex-box.left h3 {
        padding: 1vh 0;
    }

    section#Service .service-points li {
        margin: 1vh 0;
    }

    section#Service .service-points {
        padding: 2vh 2vw 2vh 8vw;
        line-height: 1.6;
        border-radius: 1vw;
    }

    section#Service .flex-box.left .link a,
    section#Service .flex-box.right .link a {
        font-size: 3.8vw;
        width: 100%;
    }

    section#cta .flex-box.right .link-wrap {
        margin-top: 5svh;
    }

    section#cta .link a {
        height: 8svh;
    }

    section#cta .link a:after {
        border-top: 1.5px solid #333;
        border-right: 1.5px solid #333;
        width: 1.3svh;
        height: 1.3svh;
        right: 5vw;
    }

    .link.line a:before {
        width: 6vw;
        height: 3svh;
        top: 0;
        margin-right: 1vw;
    }

    .link.line a {
        margin: 3svh auto 0;
    }

    section#Coconala .flex-box.left {
        padding-top: 4svh;
    }

    section#Coconala .inner {
        width: 95%;
        margin: 0 0 0 auto;
        background: #F5F5F5;
        border-radius: 1.5vw 0 0 1.5vw;
        -webkit-box-shadow: 0 3px 9px #cbcbcb;
        box-shadow: 0 3px 9px #cbcbcb;
    }

    .footer-bg {
        margin-top: 11svh;
    }

    .footer-inner {
        padding: 8svh 0 13svh;
    }

    .mv-copy p.p2 span.bg {
        padding: 1svh 2vw 1.2svh;
    }

    section.Misson p span.bg {
        padding: 1svh 4vw 1.2svh;
    }

    .mv-copy p.p3 {
        margin-top: 1svh;
    }

    .mv-copy p.p1 {
        margin-bottom: .5svh;
    }

    section.Misson p span.bg {
        letter-spacing: .5vw;
    }

    section#Service .inner {
        padding: 10svh 0 0;
    }

    .page-id-711 section#Service .inner {
        padding: 10svh 0 0;
    }

    section#cta .inner {
        padding: 8svh 4vw;
        margin-bottom: 4vh;
    }

    section.contact_form .button.line a {
        height: unset;
        padding: 1svh 0;
    }

    section.contact_form .button.line a:before {
        width: 5vw;
        height: 2.5svh;
        margin-right: 1vw;
    }

    .wpcf7 .table-res-form {
        margin-top: 3vh;
    }

    .wpcf7 .table-res-form tr {
        /*         border-top: .7px #48666f solid; */
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .wpcf7 .table-res-form th {
        font-size: 4.5vw;
        width: 100%;
        text-align: center;
        padding: 2vh 0;
    }

    .wpcf7 .table-res-form .requied {
        padding: .1em .4em;
        margin-left: .2em;
        position: relative;
    }

    .wpcf7 .table-res-form td {
        padding: 0 0 1svh;
        width: 95%;
        margin: 0 auto;
    }

    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select {
        padding: .2em .5em;
        height: 9.5vw;
        font-size: 16px;
    }

    .wpcf7 input,
    .wpcf7 textarea {
        border: .7px solid #48666f !important;
    }

    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select {
        width: 100%;
        background: #fff;
        border: .7px solid #48666f !important;
        text-align: center;
        color: var(--color-main);
    }

    span.wpcf7-form-control-wrap textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required {
        height: 25em;
    }

    .wpcf7 .wpcf7-submit {
        width: 100% !important;
    }

    .table-res-form input[type=submit] {
        border-radius: 50px !important;
        padding: .3em 0;
        font-size: 4.5vw;
    }

    .contact_text_bottom {
        margin-top: 2svh;
    }

    span.wpcf7-form-control.wpcf7-checkbox {
        font-size: 16px;
    }

    input[type="checkbox"] {
        position: relative;
        width: 16px;
        height: 16px;
        border: 1px solid #000;
        vertical-align: -5px;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
    }

    input[type="checkbox"]:checked:before {
        position: absolute;
        top: 1px;
        left: 4px;
        -webkit-transform: rotate(50deg);
        -ms-transform: rotate(50deg);
        transform: rotate(50deg);
        width: 4px;
        height: 8px;
        border-right: 2px solid #333;
        border-bottom: 2px solid #333;
        content: '';
    }

    section.contact_form .inner {
        margin: 0 auto 5vh;
    }

    .wpcf7 form .wpcf7-response-output {
        border: 1px solid #00a0d2;
    }

    .privacy_policy ol {
        padding-left: 4vw;
    }

    div#page .container article {
        margin: 3svh auto 5svh;
    }

    div#page h1,
    section.flow-wrap h2 {
        margin-bottom: 3vh;
    }

    div#page figure {
        margin: 3vh 0;
    }

    div#page article .inner p {
        line-height: 1.8;
    }

    div#page article .inner ul {
        margin-left: 7vw;
        margin-top: 2vh;
    }

    div#page article .inner ul li,
    .single article ul li {
        font-weight: 500;
    }

    div#page article h2,
    div#page article h2,
    .single article h2 {
        margin: 5vh auto 3vh;
        padding: 1vh 3vw;
        border-left: 1.3vw solid #7adff2;
    }

    .share p {
        letter-spacing: .5vw;
    }

    .share li button {
        height: 100%;
        border-radius: 1vw;
    }

    .share {
        margin-bottom: 5vh;
    }

    section.contact_form h2 {
        margin-top: 4vh;
    }

    section.Work .service-wrap p {
        padding: .5vh 0;
        font-weight: 500;
    }

    section.mv {
        height: 100svh;
    }

    .page-id-711 .mv-copy {
        top: 55%;
    }

    .client-wrap span.number {
        font-weight: 600;
    }

    .client-wrap p.p2 {
        margin-top: 3vh;
    }

    .url-copied {
        left: 78%;
    }

    .page-id-711 .share {
        margin: 4vh auto;
    }

    div#page h3,
    .single article h3 {
        border-bottom: .6vw solid #7adff2;
    }

    .announce-wrap {
        outline: .7px solid #333;
        outline-offset: -5px;
    }

    .flow-step {
        padding: 2vh 3vw 2vh;
        margin-bottom: 3vh;
    }

    .flow-step.top {
        margin-top: 3vh;
    }

    section.flow-wrap h3::before {
        width: 7vw;
        height: 7vw;
        font-size: 4.5vw;
        line-height: 2;
    }

    section.flow-wrap h3 {
        line-height: 1.5;
        padding-left: 9vw;
        margin-bottom: 2vh;
    }

    section.flow-wrap ul {
        margin-left: 4.5vw;
    }

    .page-id-940 .link a,
    section.flow-wrap .link a {
        letter-spacing: .5vw;
    }

    .page-id-1012 table {
        width: 92%;
        margin: 0 auto;
        border-bottom: 1px solid #333;
    }

    .page-id-1012 table tr {
        display: flex;
        flex-wrap: wrap;
        border-top: 1px solid #333;
        padding: 2vh;
    }

    .page-id-1012 table tr td {
        padding: 1vh 0 0;
    }

    .page-id-1012 table tr td li {
        padding-left: 0;
        text-indent: 0;
    }

    section.office-wrap .inner {
        padding: 5vh 0 2vh;
    }

    .news_box ul {
        flex-wrap: wrap;
        padding: 0 2vw;
    }

    section.news .h2-wrap {
        margin: 10vh auto 0;
    }

    div#page article .inner p,
    .single article p {
        font-weight: 500;
    }

    .page-nav .next-link,
    a.prev-link {
        margin-top: 3vh;
    }

    /* border-radius */
    section.Work .service-wrap p {
        border-radius: 50px;
    }

    .card03 .swiper-slide {
        border-radius: 1.5vw;
    }

    /* text-align */
    section#Coconala .h3-wrap p,
    .page-id-1012 table tr td {
        text-align: center;
    }

    /* font-feature-settings */
    section.Misson .text-wrap p {
        -webkit-font-feature-settings: "palt";
        font-feature-settings: "palt";
    }

    /* width */
    section.Misson .inner,
    section#Coconala h3,
    section#Coconala .h3-wrap p,
    section#Coconala .flex-box.left,
    section#Coconala dt,
    section#Coconala dd,
    section.Work .inner,
    .client-wrap,
    .logo-wrap,
    section#About .flex-box.left,
    section#Service .flex-box.left,
    section#Service .flex-box.right,
    section#Service .link a,
    section#cta .flex-box.left,
    section#cta .flex-box.right,
    section#cta .link a,
    .site-title-wrap img,
    .page-id-711 .site-title-wrap img,
    section#Service .link a,
    section.flow-wrap .link a,
    .page-id-940 .link a,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    section.office-wrap .inner,
    .page-nav .prev-link,
    .page-nav .next-link {
        width: 100%;
    }

    li.mv_i_date {
        width: 100% !important;
    }

    section.blog_wrap {
        width: 100%;
        padding-right: 0;
    }

    section#Coconala .flex-box.right,
    .hp-wrap,
    section.Work .logo-wrap h3,
    section#About .inner,
    section.contact_form .inner,
    section.privacy_policy .inner,
    div#page .container article,
    .announce-wrap,
    section.flow-wrap .inner,
    section.news .h2-wrap,
    .news_box,
    section.flow-wrap .inner,
    section#Service .inner {
        width: 92%;
    }

    .page.single .inner {
        max-width: 92%;
    }

    img.le {
        width: 89%;
    }

    section.contact_form .button.line,
    .home .share,
    .page-id-711 .share,
    .page_sns {
        width: 80%;
    }

    section.Work .service-wrap p,
    .share ul {
        width: 75%;
    }

    .share li button img {
        width: 67%;
    }

    img.ex,
    .share li button {
        width: 70%;
    }

    #splash-logo {
        width: 60%;
    }

    section#Coconala .flex-box.left img,
    section#Coconala .link a,
    .footer_logo img {
        width: 50%;
    }

    /* font-size */

    .background-en {
        font-size: 16vw;
    }

    section.Work h2 {
        font-size: 13vw;
    }

    section#cta h2 {
        font-size: 12vw;
    }

    section#About h2 {
        font-size: 11vw;
    }

    section.news h2 {
        font-size: 10vw;
    }

    .client-wrap p span {
        font-size: 7vw;
    }

    section.Work h3,
    .mv-copy p.p2,
    .client-wrap span.number {
        font-size: 6vw;
    }

    section#Coconala h3,
    .mv-copy p.p3,
    .announce-wrap h2,
    section.flow-wrap h2 {
        font-size: 5.5vw;
    }

    .mv-copy p.p1,
    section.Misson p span.bg {
        font-size: 5.3vw;
    }

    section.contact_form h2,
    p.name span {
        font-size: 5vw;
    }

    section.Misson .text-wrap p {
        font-size: 4.8vw;
    }

    section#Coconala h3,
    section#Coconala dt,
    div#page h1,
    .share p,
    section#Coconala .flex-box.right span.number,
    .share p,
    section.flow-wrap h3,
    .page-nav .prev-link:before,
    .page-nav .next-link:before {
        font-size: 4.5vw;
    }

    div#page article h2,
    .single article h2 {
        font-size: 4.2vw;
    }

    div#page h3 {
        font-size: 4.15vw;
    }

    section#cta p,
    .contact-text p,
    .single h1,
    section#Service p.service-tag {
        font-size: 4.2vw;
    }

    .mv-copy .link a,
    .client-wrap h4,
    section#Service .link a,
    section#cta .link a,
    section#Service h4,
    section#Coconala dd,
    section.contact_form .button.line a,
    .privacy_policy h2,
    div#page article .inner p,
    .announce-wrap .p1,
    .announce-wrap .p2,
    section#Service .link a,
    section.flow-wrap .link a,
    div#page article .inner ul li,
    .single article ul li,
    .page-id-940 .link a,
    nav.globalMenuSp ul li.contact a,
    section#Service .flex-box.left h3,
    section#Service .flex-box.right h3, section#Service .flex-box.left h4, section#Service .flex-box.right h4 {
        font-size: 4vw;
    }

    section#Coconala .link a,
    section.Work .works-wrap p.name,
    .card03 .slide-text p,
    section#About .text-wrap p,
    p.pp a,
    .privacy_policy p,
    .privacy_policy ol,
    section.flow-wrap .text-wrap p,
    section.flow-wrap ul,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    .single article p,
    section#Service .text-wrap,
    section#Service .service-points li,
    p.service-lead__text {
        font-size: 3.8vw;
    }

    section.Work .service-wrap p {
        font-size: 3.6vw;
    }

    .client-wrap p.p1,
    .client-wrap p.p2,
    .table-res-form .requied,
    .mv-copy p.p4 {
        font-size: 3.5vw;
    }

    section.news p.date,
    .news_box li {
        font-size: 3.4vw;
    }

    .h2-wrap p,
    span.wpcf7-not-valid-tip,
    .contact_text_bottom p {
        font-size: 3.3vw;
    }

    section#Coconala .h3-wrap p,
    .recaptcha p,
    .wpcf7 form .wpcf7-response-output,
    section.Work p.notes,
    section.Work p.notes_b,
    .announce-wrap .p3 {
        font-size: 3.2vw;
    }

    section#cta .h2-wrap p,
    section.news .h2-wrap p,
    .page-nav .prev-link,
    .page-nav .next-link,
    .single article p.article-date {
        font-size: 3vw;
    }

    .breadcrumb {
        font-size: 2.8vw;
    }

    .copyright p {
        font-size: 2.7vw;
    }

    .url-copied span {
        font-size: 2.6vw;
    }

    article.article-content p.cat-data a {
        font-size: 2.5vw;
    }


    #splash-logo img {
        -webkit-transition: -webkit-clip-path 1.0s cubic-bezier(0.37, 0, 0.63, 1);
        transition: -webkit-clip-path 1.0s cubic-bezier(0.37, 0, 0.63, 1);
        -o-transition: clip-path 1.0s cubic-bezier(0.37, 0, 0.63, 1);
        transition: clip-path 1.0s cubic-bezier(0.37, 0, 0.63, 1);
        transition: clip-path 1.0s cubic-bezier(0.37, 0, 0.63, 1), -webkit-clip-path 1.0s cubic-bezier(0.37, 0, 0.63, 1);
    }

    /*--------------------------------
スマホフッター固定バー
---------------------------------*/


    _::-webkit-full-page-media,
    _:future,
    :root ul.floating li {
        padding: 3svh 0 4svh;
    }

    _::-webkit-full-page-media,
    _:future,
    :root footer#footer .footer-inner {
        padding: 6svh 0 15svh;
    }


    ul.floating {
        /*         background: linear-gradient(88deg, #13eef2 0%, #7fddff 100%); */
        background: -o-linear-gradient(119deg, #00b5ff 0%, #00e7ff 79%);
        background: linear-gradient(-29deg, #00b5ff 0%, #00e7ff 79%);
        margin: 0 auto;
        overflow: hidden;
        display: table;
        table-layout: fixed;
        text-align: center;
        width: 100%;
        border-radius: 6vw 6vw 0 0;
        border-top: 1px solid #fff;
        position: fixed;
        bottom: 0;
        left: 0;
        z-index: 3;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    ul.floating li {
        padding: 3svh 0 2svh;
        display: table-cell;
        border-right: .7px solid #fff;
    }

    ul.floating li a {
        border: none;
        display: block;
        color: #fff;
        text-align: center;
        text-decoration: none;
        font-weight: 500;
        line-height: 1;
    }

    li.one a {
        font-family: "Josefin Sans", sans-serif;
        letter-spacing: .5vw;
        font-size: 4.5vw;
    }

    /* 	li.one a::before {
    background: no-repeat;
        width: 4vw;
        height: 2svh;
        background-image: url(https://veronica9.com/wp-content/uploads/2024/12/arrow-top.svg);
        content: '';
        margin-right: 2vw;
        display: inline-block;
                top: .5svh;
        position: relative;
} */

    li.two a {
        font-size: 4vw;
        font-weight: 500;
    }

    ul.floating li.two {
        border-right: unset;
    }


    /*--------------------------------
ハンバーガーメニュー
---------------------------------*/
    .g-nav-openbtn {
        display: block;
        position: fixed;
        z-index: 999999;
        top: 3vw;
        right: 3%;
        cursor: pointer;
        width: 50px;
        height: 11svh;
    }

    .g-nav-openbtn .openbtn-area.hamburger {
        cursor: pointer;
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
    }

    .g-nav-openbtn span {
        display: inline-block;
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
        position: absolute;
        left: 14px;
        height: 2px;
        border-radius: 2px;
        width: 45%;
    }

    .g-nav-openbtn span:nth-of-type(1) {
        top: 2.8svh;
        background: #fff;
    }

    .g-nav-openbtn span:nth-of-type(2) {
        top: 4svh;
        background: #fff;
    }

    .g-nav-openbtn span:nth-of-type(3) {
        top: 5.2svh;
        background: #fff;
    }

    .g-nav-openbtn.active span:nth-of-type(1) {
        top: 18px;
        left: 18px;
        -webkit-transform: translateY(6px) rotate(-135deg);
        -ms-transform: translateY(6px) rotate(-135deg);
        transform: translateY(6px) rotate(-135deg);
        width: 40%;
        background: #fff;
    }

    .g-nav-openbtn.active span:nth-of-type(2) {
        opacity: 0;
        top: 24px;
        left: 18px;
        width: 40%;
    }

    .g-nav-openbtn.active span:nth-of-type(3) {
        top: 30px;
        left: 18px;
        -webkit-transform: translateY(-6px) rotate(135deg);
        -ms-transform: translateY(-6px) rotate(135deg);
        transform: translateY(-6px) rotate(135deg);
        width: 40%;
        background: #fff;
    }

    .g-nav-openbtn span {
        background: #fff;
        transition: background 0.3s ease;
    }

    .g-nav-openbtn.scrolled span {
        background: #7fddff;
    }

    .globalMenuSp.active~.g-nav-openbtn span {
        background: #fff !important;
    }

    .hamburger {
        display: block;
        height: auto;
        cursor: pointer;
        text-align: center;
        color: #fff;
    }

    nav.globalMenuSp {
        position: fixed;
        z-index: 1000;
        top: 0;
        right: 0;
        color: #fff;
        background: linear-gradient(266deg, rgb(19 238 242 / 95%) 0%, rgb(127 221 255 / 95%) 100%);
        text-align: center;
        width: 100%;
        -webkit-transform: translateX(120%);
        -ms-transform: translateX(120%);
        transform: translateX(120%);
        -webkit-transition: all 0.6s ease-in-out;
        -o-transition: all 0.6s ease-in-out;
        transition: all 0.6s ease-in-out;
        min-height: 100%;
    }

    nav#g-nav {
        width: 90%;
        display: flex;
        justify-content: center;
        align-items: center;
        z-index: 10000;
        border-radius: 7vw 0 0 7vw;
    }

    div#g-nav-list {
        width: 80%;
    }

    .g-nav_logo {
        width: 85%;
        margin: 0 auto 3svh;
    }

    nav.globalMenuSp ul#g-navi {
        margin: 0 auto;
        padding: 0;
        width: 100%;
        flex-wrap: wrap;
        height: unset;
    }

    nav.globalMenuSp ul li {
        padding: 1svh 0;
        width: 100%;
    }

    nav ul li a {
        font-weight: 400;
        font-family: unset;
        border-right: unset;
    }

    header nav ul li,
    nav.globalMenuSp ul li a,
    li.nav-menu {
        display: block;
        font-size: 4.5vw;
    }

    nav.globalMenuSp ul li.home a {
        font-size: 5vw;
    }

    nav.globalMenuSp ul li:hover {
        background: rgb(255 255 255 / 50%);
    }

    nav.globalMenuSp ul li a,
    li.nav-menu {
        display: block;
        color: #fff;
        padding: 0;
        text-decoration: none;
        letter-spacing: 2px;
        font-weight: 500;
        text-align: center;
    }

    nav.globalMenuSp.active {
        opacity: 100;
        display: block;
        -webkit-transform: translateX(0%);
        -ms-transform: translateX(0%);
        transform: translateX(0%);
        -webkit-transition: -webkit-transform 0.5s ease-in-out;
        transition: -webkit-transform 0.5s ease-in-out;
        -o-transition: transform 0.5s ease-in-out;
        transition: transform 0.5s ease-in-out;
        transition: transform 0.5s ease-in-out, -webkit-transform 0.5s ease-in-out;
    }

    nav#g-nav .hamburger {
        color: #171c61;
        font-size: 3.6vw;
        background: #ffffff;
        width: fit-content;
        margin: 3svh auto 0;
        padding: .5svh 1.5em;
        border-radius: 50px;
    }

    nav.globalMenuSp ul li.contact a {
        padding: 1.2svh 0;
        background: #fff;
        height: unset;
        width: 100%;
        margin: 0 auto;
        text-align: center;
        margin-top: 1svh;
        color: var(--color-main);
    }

    nav ul li.contact a hr {
        border-top: 1px solid #333;
        margin: .5svh auto 0;
        width: 60%;
    }

}

@media screen and (min-width: 767px) {

    ul.floating {
        display: none !important;
    }
}



/*---------------------------------------------------------
  i pad all portrait
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 743px) and (max-device-width: 1024px) and (orientation: portrait) {

    .news_box {
        padding: .8vh 1.7vw;
        margin: 1.5vh auto 0;
    }

    /* height */
    section.mv {
        height: 50svh;
    }

    .site-title-wrap a,
    header,
    .site-title-wrap,
    nav ul {
        height: 6svh;
    }

    section#cta .link a {
        height: 5svh;
    }

    nav ul li.contact a,
    .mv-copy .link a,
    section#Service .link a {
        height: 3.5svh;
    }

    .link.line a:before {
        height: 2svh;
    }

    .fluid.three {
        height: 26.5svh;
    }

    section.page-mv {
        height: 20svh;
    }

    .fluid.one {
        height: 56.5svh;
        top: -11.5svh;
    }

    .fluid.two {
        height: 26.5svh;
        top: 34svh;
    }

    .fluid.four {
        height: 17.5svh;
        top: -1.5svh;
    }

    .swiper-button-prev,
    .swiper-button-next {
        width: 4.2rem !important;
        height: 4.2rem !important;
    }

    .swiper-button-prev:after,
    .swiper-button-next:after {
        width: .8rem;
        height: .8rem;
        border-width: 2px 2px 0 0;
    }

    section#cta .link a:after {
        width: .75svh;
        height: .75svh;
        border-top: 1.5px solid #333;
        border-right: 1.5px solid #333;
    }

    .fluid.five {
        height: 28svh;
        background-position: -9vw -2svh;
    }

    .fluid.six {
        height: 28svh;
    }

    /* top */
    .mv-copy p.p3 span.dot:before {
        top: -1.8vw;
    }

    section#Coconala .h3-wrap p {
        top: -.3svh;
    }

    section.Work h3:before {
        top: .5svh;
    }


    /* padding */
    section.Misson .inner,
    section.Work .inner,
    section#About .inner {
        padding: 5svh 0 2.5svh;
    }

    .footer-inner {
        padding: 4svh 0 3svh;
    }

    section#Service .inner {
        padding: 5svh 0 0;
    }

    section#Coconala .flex-box.right {
        padding: 2.5svh 0 2.5svh 3vw;
    }

    .page-id-1012 table tr td {
        padding: 1.5svh 0;
    }

    .mv-copy p.p2 span.bg,
    section.Misson p span.bg {
        padding: .5svh 1vw .6svh;
    }

    .l-section .l-inner {
        padding-top: 4.5svh;
        padding-bottom: 4.5svh;
    }

    .card03 .slide-content {
        padding: 1svh 1vw;
    }

    section#Service .flex-wrap {
        padding: 2.5svh 0 2.5svh 3vw;
        margin-top: 3svh;
    }

    section#cta .inner {
        margin-bottom: 3.5svh;
        padding: 5.5svh 4vw;
    }

    .table-res-form th,
    .table-res-form td {
        padding: 1svh 3svh 1svh 0;
    }

    tr.td_last td {
        padding: .75em 0;
    }

    section.office-wrap .inner {
        padding: 2.5svh 0 3.5svh;
    }

    div#page article h2 {
        margin: 2.5svh auto 1.5svh;
        padding: .75svh 1vw;
    }

    .card03 .swiper {
        padding: 0;
    }

    section#Work .notes {
        margin: 1.5vh 0;
    }

    /* margin */

    .footer-bg {
        position: relative;
        margin-top: 8svh;
    }

    .logo-wrap {
        margin-top: 6.5svh;
    }

    div#page .container {
        margin-top: 6svh;
    }

    section.Misson .text-wrap,
    section.Work h3,
    section.Work p.notes,
    section#About .text-wrap {
        margin-top: 2.5svh;
    }

    .table-res-form {
        margin-top: 2svh;
    }

    section#Coconala dl,
    section.Work p.notes_b,
    section#cta .text-wrap,
    .contact_text_bottom,
    div#page article .inner p,
    div#page article .inner ul,
    .mv-copy .link {
        margin-top: 1.5svh;
    }

    section.Work .hp-wrap .works-wrap,
    section.Work .logo-wrap .works-wrap {
        gap: 3.5svh 3vw;
        margin-top: 2.5svh;
    }

    .client-wrap {
        margin-top: 2svh;
        padding: 1.5svh 2vw;
    }

    section.Work .service-wrap.two {
        margin-top: .5svh;
    }

    section#Coconala {
        margin: 5svh 0;
    }

    div#page .container article {
        margin: 5svh auto 4svh;
    }

    div#page figure {
        margin: 3.5svh 0 2.5svh;
    }

    section.contact_form .inner {
        margin: 2.5svh auto 3.5svh;
    }

    .link.line a {
        margin: 2.5vh auto 0;
    }

    section#Service .link a {
        margin: 1.5svh auto 0;
    }

    section.contact_form .button.line {
        margin: 1.5svh auto;
    }

    section#Coconala .link a {
        margin: 1svh auto 0;
    }

    section#Voice .h2-wrap {
        margin: 0 auto 3.5svh;
    }

    div#page h1 {
        margin-bottom: 3.5svh;
    }

    section.office-wrap h2 {
        margin-bottom: 2.5svh;
    }

    section#Service h4 {
        margin-bottom: 1.5svh;
    }

    .share p {
        margin-bottom: 1svh;
    }

    section#Coconala dt {
        margin-bottom: .75svh;
    }

    section.Work .hp-wrap .works-wrap .glid-box .img-wrap {
        margin-bottom: .5svh;
    }

    .recaptcha {
        margin-bottom: .5em;
    }

    section.contact_form h2 {
        padding: .5svh 0;
        margin-bottom: 1.5svh;
        margin-top: 3.5svh;
    }

    div#page article .inner ul {
        margin-left: 1.7vw;
    }

    div#page h3 {
        margin: 2.5svh auto 1.5svh;
        padding-bottom: .5svh;
        border-bottom: 2px solid;
    }

    .announce-wrap {
        margin: 2.5vh auto 0;
        padding: 1.5vh 0;
        outline: 1px solid #9e9e9e;
        outline-offset: -5px;
    }

    .announce-wrap .p3 {
        margin-top: .5vh;
    }

    .announce-wrap.bottom {
        margin: 3.5vh auto;
    }

    /* width */
    div#page .container article {
        width: 60%;
    }

    #splash-logo {
        width: 35%;
    }

    section#About .text-wrap p.name {
        line-height: 1;
    }

    .h2-wrap p {
        letter-spacing: .2vw;
    }

    .table-res-form td p span input,
    .table-res-form td p span select {
        vertical-align: top;
    }

    .url-copied {
        bottom: -4.5vh;
    }

    .page-id-1012 table tr {
        border-top: .5px solid #48666f;
    }

    .page-id-1012 table {
        border-bottom: .5px solid #48666f;
    }

    /* 同一 */

    .mv-copy {
        left: 3vw;
    }

    .site-title-wrap img {
        width: 77%;
    }

    section#Coconala .flex-box.left img {
        width: 61%;
    }

    .mv-copy .link a {
        width: 37%;
    }

    section#Coconala .h3-wrap p {
        line-height: 1.4;
    }

    .wpcf7 form .wpcf7-response-output {
        border: 1px solid #00a0d2;
    }

    .l-inner {
        max-width: 95%;
    }

    .background-en {
        font-size: 8vw;
    }

    section.Misson h2,
    section.Work h2 {
        font-size: 5.5vw;
    }

    section#Voice h2,
    section#Service h2,
    section#cta h2,
    section#About h2,
    section.page-mv h1,
    .page-id-3 section.page-mv h1,
    .page-id-861 section.page-mv h1 {
        font-size: 4.5vw;
    }

    section.news h2 {
        font-size: 3.8vw;
    }

    .mv-copy p.p2,
    section.flow-wrap h2 {
        font-size: 2.2vw;
    }

    .mv-copy p.p1,
    .mv-copy p.p3,
    section.Work h3,
    .announce-wrap h2 {
        font-size: 2vw;
    }

    section.office-wrap h2,
    section.contact_form h2,
    section.thanks h2,
    section.office-wrap h2 {
        font-size: 1.8vw;
    }

    section#Coconala .flex-box.right span.number,
    section.Misson p span.bg,
    section.flow-wrap h3,
    section.flow-wrap h3::before {
        font-size: 1.7vw;
    }

    section.Misson .text-wrap p,
    section#Coconala h3,
    section#Service h4,
    .client-wrap span.number,
    section.contact_form .button.line a,
    div#page h1 {
        font-size: 1.6vw;
    }

    p.name span {
        font-size: 1.5vw;
    }

    section#Coconala dl,
    .share p,
    div#page article h2,
    div#page h3 {
        font-size: 1.4vw;
    }

    .table-res-form input[type=submit] {
        font-size: 1.3vw;
    }

    .mv-copy p.p4,
    .h2-wrap p,
    section#Coconala .h3-wrap p,
    .client-wrap h4,
    section#cta p,
    section#cta .link a,
    .contact-text p,
    .table-res-form th,
    div#page article .inner p,
    div#page article .inner ul li,
    .announce-wrap .p1,
    .announce-wrap .p2,
    section.flow-wrap .text-wrap p,
    section.flow-wrap ul {
        font-size: 1.2vw;
    }

    .mv-copy .link a,
    section#Coconala .link a,
    section#Service .link a,
    section#About .text-wrap p,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    .h1-wrap p,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    .wpcf7-text,
    p.pp a,
    section.thanks .text-wrap,
    section.thanks a,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    section#cta .h2-wrap p,
    .announce-wrap .p3,
    section#Service .link a,
    section.flow-wrap .link a {
        font-size: 1.1vw;
    }

    .client-wrap p.p1,
    .client-wrap p.p2,
    .news_box li,
    section.news p.date {
        font-size: 1.05vw;
    }

    nav ul li a,
    nav ul li.contact a,
    section.Work .works-wrap p.name,
    .client-wrap p,
    .wpcf7-not-valid-tip,
    .wpcf7-response-output {
        font-size: 1vw;
    }

    section.Work .service-wrap.two,
    section.Work .service-wrap p,
    section.Work p.notes,
    section.Work p.notes_b,
    .recaptcha p,
    .contact_text_bottom,
    .announce-wrap .p3,
    section.news .h2-wrap p {
        font-size: .95vw;
    }

    .breadcrumb {
        font-size: .9vw;
    }

    .copyright p {
        font-size: .8vw;
    }

    .url-copied span {
        font-size: .7vw;
    }
}


/*---------------------------------------------------------
  i pad pro landscape
  ---------------------------------------------------------*/
@media only screen and (min-device-width: 744px) and (max-device-width: 1400px) and (orientation: landscape) {

    .mv-copy p.p3 span.dot:before {
        top: -2.3svh;
    }

    .fluid.one {
        height: 83svh;
    }

    .fluid.two {
        height: 40svh;
    }


    .fluid.five,
    .fluid.six {
        height: 50svh;
    }


    .page-id-1012 table tr {
        border-top: .5px solid #48666f;
    }

    .page-id-1012 table {
        border-bottom: .5px solid #48666f;
    }

    div#page article .inner ul {
        margin-left: 1.7vw;
    }

    div#page h3 {
        border-bottom: 2px solid;
    }

    .footer-bg {
        position: relative;
        margin-top: 12svh;
    }

    .home .share {
        padding-bottom: 4svh;
    }

    .url-copied {
        bottom: -3svh;
    }

    .mv-copy {
        left: 3vw;
    }

    .site-title-wrap img {
        width: 77%;
    }

    section#Coconala .flex-box.left img {
        width: 61%;
    }

    .mv-copy .link a {
        width: 37%;
    }

    section#Coconala .h3-wrap p {
        top: -.8vh;
        line-height: 1.4;
    }

    .wpcf7 form .wpcf7-response-output {
        border: 1px solid #00a0d2;
    }

    .l-inner {
        max-width: 95%;
    }

    .announce-wrap {
        outline: 1px solid #9e9e9e;
        outline-offset: -7px;
    }

    .background-en {
        font-size: 8vw;
    }

    section.Misson h2,
    section.Work h2 {
        font-size: 5.5vw;
    }

    section#Voice h2,
    section#Service h2,
    section#cta h2,
    section#About h2,
    section.page-mv h1,
    .page-id-3 section.page-mv h1,
    .page-id-861 section.page-mv h1 {
        font-size: 4.5vw;
    }

    section.news h2 {
        font-size: 3.8vw;
    }

    .mv-copy p.p2,
    section.flow-wrap h2 {
        font-size: 2.2vw;
    }

    .mv-copy p.p1,
    .mv-copy p.p3,
    section.Work h3,
    .announce-wrap h2 {
        font-size: 2vw;
    }

    section.office-wrap h2,
    section.contact_form h2,
    section.thanks h2,
    section.office-wrap h2 {
        font-size: 1.8vw;
    }

    section#Coconala .flex-box.right span.number,
    section.Misson p span.bg,
    section.flow-wrap h3,
    section.flow-wrap h3::before {
        font-size: 1.7vw;
    }

    section.Misson .text-wrap p,
    section#Coconala h3,
    section#Service h4,
    .client-wrap span.number,
    section.contact_form .button.line a,
    div#page h1 {
        font-size: 1.6vw;
    }

    p.name span {
        font-size: 1.5vw;
    }

    section#Coconala dl,
    .share p,
    div#page article h2,
    div#page h3 {
        font-size: 1.4vw;
    }

    .table-res-form input[type=submit] {
        font-size: 1.3vw;
    }

    .mv-copy p.p4,
    .h2-wrap p,
    section#Coconala .h3-wrap p,
    .client-wrap h4,
    section#cta p,
    section#cta .link a,
    .contact-text p,
    .table-res-form th,
    div#page article .inner p,
    div#page article .inner ul li,
    .announce-wrap .p1,
    .announce-wrap .p2,
    section.flow-wrap .text-wrap p,
    section.flow-wrap ul {
        font-size: 1.2vw;
    }

    .mv-copy .link a,
    section#Coconala .link a,
    section#Service .link a,
    section#About .text-wrap p,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    .h1-wrap p,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    .wpcf7-text,
    p.pp a,
    section.thanks .text-wrap,
    section.thanks a,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    section#cta .h2-wrap p,
    .announce-wrap .p3,
    section#Service .link a,
    section.flow-wrap .link a {
        font-size: 1.1vw;
    }

    .client-wrap p.p1,
    .client-wrap p.p2,
    .news_box li,
    section.news p.date {
        font-size: 1.05vw;
    }

    nav ul li a,
    nav ul li.contact a,
    section.Work .works-wrap p.name,
    .client-wrap p,
    .wpcf7-not-valid-tip,
    .wpcf7-response-output,
    .announce-wrap .p3 {
        font-size: 1vw;
    }

    section.Work .service-wrap.two,
    section.Work .service-wrap p,
    section.Work p.notes,
    section.Work p.notes_b,
    .recaptcha p,
    .contact_text_bottom,
    section.news .h2-wrap p {
        font-size: .95vw;
    }

    .breadcrumb {
        font-size: .9vw;
    }

    .copyright p {
        font-size: .8vw;
    }

    .url-copied span {
        font-size: .7vw;
    }
}


/*---------------------------------------------------------
 小型PC～中型PC
---------------------------------------------------------*/
@media screen and (min-width:1200px) and (max-width:1700px) {

    .mv-copy {
        left: 3vw;
    }

    .site-title-wrap img {
        width: 77%;
    }

    section#Coconala .flex-box.left img {
        width: 61%;
    }

    .mv-copy .link a {
        width: 37%;
    }

    section#Coconala .h3-wrap p {
        top: -.8vh;
        line-height: 1.4;
    }

    .wpcf7 form .wpcf7-response-output {
        border: 1px solid #00a0d2;
    }

    .l-inner {
        max-width: 95%;
    }

    .background-en {
        font-size: 8vw;
    }

    section.Misson h2,
    section.Work h2 {
        font-size: 5.5vw;
    }

    section#Voice h2,
    section#Service h2,
    section#cta h2,
    section#About h2,
    section.page-mv h1,
    .page-id-3 section.page-mv h1,
    .page-id-861 section.page-mv h1 {
        font-size: 4.5vw;
    }

    section.news h2 {
        font-size: 3.8vw;
    }

    .mv-copy p.p2,
    section.flow-wrap h2 {
        font-size: 2.2vw;
    }

    .mv-copy p.p1,
    .mv-copy p.p3,
    section.Work h3,
    .announce-wrap h2 {
        font-size: 2vw;
    }

    section.office-wrap h2,
    section.contact_form h2,
    section.thanks h2,
    section.office-wrap h2 {
        font-size: 1.8vw;
    }

    section#Coconala .flex-box.right span.number,
    section.Misson p span.bg,
    section.flow-wrap h3,
    section.flow-wrap h3::before {
        font-size: 1.7vw;
    }

    section.Misson .text-wrap p,
    section#Coconala h3,
    section#Service h4,
    .client-wrap span.number,
    section.contact_form .button.line a,
    div#page h1 {
        font-size: 1.6vw;
    }

    p.name span {
        font-size: 1.5vw;
    }

    section#Coconala dl,
    .share p,
    div#page article h2,
    div#page h3 {
        font-size: 1.4vw;
    }

    .table-res-form input[type=submit] {
        font-size: 1.3vw;
    }

    .mv-copy p.p4,
    .h2-wrap p,
    section#Coconala .h3-wrap p,
    .client-wrap h4,
    section#cta p,
    section#cta .link a,
    .contact-text p,
    .table-res-form th,
    div#page article .inner p,
    div#page article .inner ul li,
    .announce-wrap .p1,
    .announce-wrap .p2,
    section.flow-wrap .text-wrap p,
    section.flow-wrap ul {
        font-size: 1.2vw;
    }

    .mv-copy .link a,
    section#Coconala .link a,
    section#Service .link a,
    section#About .text-wrap p,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    .h1-wrap p,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    .wpcf7-text,
    p.pp a,
    section.thanks .text-wrap,
    section.thanks a,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    section#cta .h2-wrap p,
    .announce-wrap .p3,
    section#Service .link a,
    section.flow-wrap .link a {
        font-size: 1.1vw;
    }

    .client-wrap p.p1,
    .client-wrap p.p2,
    .news_box li,
    section.news p.date {
        font-size: 1.05vw;
    }

    nav ul li a,
    nav ul li.contact a,
    section.Work .works-wrap p.name,
    .client-wrap p,
    .wpcf7-not-valid-tip,
    .wpcf7-response-output {
        font-size: 1vw;
    }

    section.Work .service-wrap.two,
    section.Work .service-wrap p,
    .card03 .slide-text p,
    section.Work p.notes,
    section.Work p.notes_b,
    .recaptcha p,
    .contact_text_bottom,
    section.news .h2-wrap p {
        font-size: .95vw;
    }

    .breadcrumb {
        font-size: .9vw;
    }

    .copyright p {
        font-size: .8vw;
    }

    .url-copied span {
        font-size: .7vw;
    }
}


/*---------------------------------------------------------
 大型PC
---------------------------------------------------------*/

@media screen and (min-width:1920px) {
    .mv-copy {
        left: 3vw;
    }

    .site-title-wrap img {
        width: 77%;
    }

    section#Coconala .flex-box.left img {
        width: 61%;
    }

    .mv-copy .link a {
        width: 37%;
    }

    section#Coconala .h3-wrap p {
        top: -.8vh;
        line-height: 1.4;
    }

    .wpcf7 form .wpcf7-response-output {
        border: 1px solid #00a0d2;
    }

    .l-inner {
        max-width: 95%;
    }

    .background-en {
        font-size: 8vw;
    }

    section.Misson h2,
    section.Work h2 {
        font-size: 5.5vw;
    }

    section#Voice h2,
    section#Service h2,
    section#cta h2,
    section#About h2,
    section.page-mv h1,
    .page-id-3 section.page-mv h1,
    .page-id-861 section.page-mv h1 {
        font-size: 4.5vw;
    }

    section.news h2 {
        font-size: 3.8vw;
    }

    .mv-copy p.p2,
    section.flow-wrap h2 {
        font-size: 2.2vw;
    }

    .mv-copy p.p1,
    .mv-copy p.p3,
    section.Work h3,
    .announce-wrap h2 {
        font-size: 2vw;
    }

    section.office-wrap h2,
    section.contact_form h2,
    section.thanks h2,
    section.office-wrap h2 {
        font-size: 1.8vw;
    }

    section#Coconala .flex-box.right span.number,
    section.Misson p span.bg,
    section.flow-wrap h3,
    section.flow-wrap h3::before {
        font-size: 1.7vw;
    }

    section.Misson .text-wrap p,
    section#Coconala h3,
    section#Service h4,
    .client-wrap span.number,
    section.contact_form .button.line a,
    div#page h1 {
        font-size: 1.6vw;
    }

    p.name span {
        font-size: 1.5vw;
    }

    section#Coconala dl,
    .share p,
    div#page article h2,
    div#page h3 {
        font-size: 1.4vw;
    }

    .table-res-form input[type=submit] {
        font-size: 1.3vw;
    }

    .mv-copy p.p4,
    .h2-wrap p,
    section#Coconala .h3-wrap p,
    .client-wrap h4,
    section#cta p,
    section#cta .link a,
    .contact-text p,
    .table-res-form th,
    div#page article .inner p,
    div#page article .inner ul li,
    .announce-wrap .p1,
    .announce-wrap .p2,
    section.flow-wrap .text-wrap p,
    section.flow-wrap ul {
        font-size: 1.2vw;
    }

    .mv-copy .link a,
    section#Coconala .link a,
    section#Service .link a,
    section#About .text-wrap p,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    .h1-wrap p,
    .table-res-form input[type=text],
    input[type=email],
    textarea,
    .wpcf7 input[type=tel],
    select.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required,
    select.wpcf7-form-control.wpcf7-select,
    .wpcf7-text,
    p.pp a,
    section.thanks .text-wrap,
    section.thanks a,
    .page-id-1012 table tr th,
    .page-id-1012 table tr td,
    .page-id-1012 table tr td li,
    section#cta .h2-wrap p,
    .announce-wrap .p3,
    section#Service .link a,
    section.flow-wrap .link a {
        font-size: 1.1vw;
    }


    .client-wrap p.p1,
    .client-wrap p.p2,
    .news_box li,
    section.news p.date {
        font-size: 1.05vw;
    }

    nav ul li a,
    nav ul li.contact a,
    section.Work .works-wrap p.name,
    .client-wrap p,
    .wpcf7-not-valid-tip,
    .wpcf7-response-output,
    .announce-wrap .p3 {
        font-size: 1vw;
    }

    section.Work .service-wrap.two,
    section.Work .service-wrap p,
    .card03 .slide-text p,
    section.Work p.notes,
    section.Work p.notes_b,
    .recaptcha p,
    .contact_text_bottom,
    nav ul li a,
    section.news .h2-wrap p {
        font-size: .95vw;
    }

    .breadcrumb {
        font-size: .9vw;
    }

    .copyright p {
        font-size: .8vw;
    }

    .url-copied span {
        font-size: .7vw;
    }
}