*{

}



/*共通*/
img {
    max-width: 100%;
}

.background-logos {
  position: fixed; left: 50%; transform: translateX(-50%) rotate(-8deg);
  width: 200%; pointer-events: none; z-index: 0;
    /* Keep background logos visually overflowing but avoid expanding document width */
    width: 200%;
    background: #23a470;
    overflow: hidden;
    position: fixed;
    left: 50%;
    transform: translateX(-50%) rotate(-8deg);
    z-index: 0;
    top: -120px;
}

.full-width-fix {
    width: 100%;
    max-width: 100%;
}
.bg-row {
    display: flex;
    align-items: center;
    gap: 2rem;
    /* padding: 12px 0; */
    box-sizing: border-box;
    /**/
}
.bg-row::before {
    content: "";
    display: block;
    width: 300%;
    height: 126px;
    background-image: url(img/background_logo.png);
    background-repeat: repeat-x;
    background-position: left center;
    background-size: auto 127px;
}

/**/
.bg-row.odd::before {
    animation: slide-left-to-right 50s linear infinite;
}

/**/
.bg-row.even::before {
    animation: slide-right-to-left 50s linear infinite;
}


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


body {
    font-family: "Shippori Mincho B1", serif;
    font-weight: 500 !important;
    letter-spacing: 0.01em;
    line-height: 2em;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 18px;
    margin: 0;
    text-align: justify;                   /* 両端揃え */
             /* 日本語向けの均等化 */
    word-break: normal;
}

.wrap {
    width: 85%;
    max-width: 1800px;
    margin: auto;
    display: block;
    /* margin-left: 20%; */
    /* margin-right: 5%; */
}

.page-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    box-sizing: border-box;
}

.page-frame {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    box-sizing: content-box;
    z-index: 99999;
}

/* 青いborderフレーム（sticker-youより下に配置） */
.browser-frame {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    pointer-events: none;
    z-index: 50;
}

.browser-frame::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(#12469a, #12469a) 0 0 / 100% 30px no-repeat, linear-gradient(#12469a, #12469a) 0 100% / 100% 30px no-repeat, linear-gradient(#12469a, #12469a) 0 0 / 30px 100% no-repeat, linear-gradient(#12469a, #12469a) 100% 0 / 30px 100% no-repeat;
    box-sizing: border-box;
}













/* ヘッダー */
.logo-wrap {
    display: inline-block;
    background: #12469a;
    padding: 10px 40px;
    height: 100%;
    border-radius: 20px;
}

.logo-wrap .logo {
    display: block;
    width: 200px;
    height: auto;
}
header.site-header {
    position: fixed;
    inset: 0 0 auto 0;
    z-index: 2147483000;
    color: #fff;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
    border-top: 40px solid #11479a;
}


/* グロナビ */
.site-header .header-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    padding: 0rem 0rem;
    top: -40px;
    position: relative;
}

/* PC / Tablet: ハンバーガーを隠す */
.hamburger-btn {
  display: none !important;
}



 .global-navi {
        position: static !important;
        max-height: none !important;
        overflow: visible !important;
        display: flex !important;
        padding: 18px 40px;
        border-radius: 20px;
        background: #12469a;
        /* border-top-left-radius: 0px; */
        /* border-top-right-radius: 0px; */
    }
.global-navi ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1.5em;
    align-items: center;
    /* top: -10px; */
    position: relative;
}

 .global-navi a {
        color: #ff9a2e;
        text-decoration: none;
        font-weight: 700;
        letter-spacing: 0.08em;
        padding: 0 0.5em;
    }

.global-navi, .global-navi ul, .global-navi li, .global-navi a {
    font-family: "Jost", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-family: "BBH Sans Hegarty", sans-serif;
    font-weight: 800;
    font-style: normal;
    /* height: 30px; */
    align-items: center;
}





/* メインビジュアル */
main.main-visual {
    margin-top: 11rem;
}

.video-container {
    transform: rotateZ(-0.3deg);
}
 .video-container {
      position: relative;
      width: min(85%, 1600px);
      margin: 0 auto;
      border: 28px solid #12469a;
      border-radius: 24px;
      box-sizing: border-box;
      margin-bottom: 5rem;
      z-index: 60;
    }

.video-inner video {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: #000;
    display: block;
    }

.visual-content::before {
    content: "";
    position: absolute;
    inset: 0;
    display: inline-block;
    width: 82%;
    box-sizing: border-box;
    pointer-events: none;
    z-index: 0;
    background-color: #f0f8ff;
    background-image: radial-gradient(#4682b4 30%, transparent 30%);
    background-blend-mode: multiply;
    mix-blend-mode: multiply;
    opacity: 0.9;
    background-size: 10px 10px;
    transform: translate(16%, 36%);
    border-radius: 30px;
    height: 80%;
}





/* 俺たちみんなアーティスト */
.video-container .catchphrase-wrap {
    position: absolute;
    left: 50%;
    top: -120px;
    transform: translateX(-50%);
    width: 510px;
    box-sizing: border-box;
    z-index: 60;
    pointer-events: none;
}

.video-container .catchphrase-wrap img.catchphrase-bg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 690px;
    max-width: none;
    height: auto;
    z-index: 59;
    pointer-events: none;
    opacity: 1;
}

.video-container .catchphrase-wrap img.catchphrase {
    display: block;
    width: 100%;
    height: auto;
    position: relative;
    z-index: 62;
}





/* ステッカー部分 */
.video-container .overlay-wrap img.overlay {
  pointer-events: auto !important;        /* legacy の none を確実に打ち消し */
  cursor: zoom-in;
  transition: transform .25s ease, filter .25s ease, opacity .2s ease;
  will-change: transform, filter;
  /* 共通のサイズ系はここに集約（wrapper 幅に追従） */
  width: 100%;
  height: auto;
  display: block;
}


.sticker-you {
    position: absolute;
    left: -140px;
    bottom: 297px;
    width: 320px;
    transform: translateY(-50%);
    z-index: 55;
}

.sticker-good-place {
        position: absolute;
        left: -140px;
        bottom: 10px;
        width: 190px;
        z-index: 55;
    }

.logo-handwritten {
    position: absolute;
    left: -20px;
    bottom: -200px;
    width: 620px;
    z-index: 58;
    pointer-events: none;
}

.sticker-player-on {
    position: absolute;
    right: -62px;
    bottom: 170px;
    width: 240px;
    transform: translateY(-50%);
    z-index: 55;
}

.sticker-spotlight {
    position: absolute;
    right: -22px;
    bottom: -76px;
    width: 240px;
    z-index: 57;
}

.sticker-spotlight {
    position: absolute;
    right: -82px;
    bottom: -76px;
    width: 350px;
    z-index: 57;
}

.lightning {
    position: absolute;
    right: -79px;
    bottom: 30px;
    width: 147px;
    transform: translateY(-50%);
    z-index: 57;
}

.overlay.line {position: absolute;right: -80px;bottom: 270px;width: 150px;z-index: 53;}
.overlay.ball {
    position: absolute;
    right: calc(100% - 10px);
    bottom: 243px;
    width: 70px;
    z-index: 52;
}

.overlay.badge {
    position: absolute;
    left: -22px;
    bottom: 130px;
    width: 170px;
    z-index: 52;
}




/* 流れるテキスト */
.marquee-wrap {
    width: 100%;
    background: #ff9a2e;
    overflow: hidden;
    position: relative;
    height: 8em;
}

.marquee-wrap:nth-child(1) {
    /* transform: rotateZ(0.5deg); */
    z-index: 99999;
    position: relative;
    top: 1rem;
}

.marquee {
    display: block;
    white-space: nowrap;
    /**/
    /* line-height: 8rem; */
}

.marquee__inner {
    display: inline-flex;
    align-items: center;
    gap: 4rem;
    top: 4.7rem;
    /* padding: 10px 0 0 0; */
    will-change: transform;
    position: relative;
    animation: marquee 100s linear infinite;
}

.marquee__inner span {
    font-family: "Press Start 2P", system-ui;
    font-weight: 400;
    font-style: normal;
    color: #12469a;
    letter-spacing: -0.09em;
    text-transform: uppercase;
    word-spacing: -0.9em;
    font-size: 8.6rem;
}

.kv .marquee-wrap.marquee--common-blue span {
    color: #ff9a2e;
}


@keyframes marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}


body > div.marquee-wrap .marquee__inner {
    top: 3.9rem;
}

@media only screen and (max-width: 767px){
    body > div.marquee-wrap .marquee__inner {
    top: 2.1rem;
}
}


/* 俺たちみんなアーティスト */
.intro {
    background: #12469a;
    /**/
    mix-blend-mode: hard-light;
    color: white;
    padding: 108px 0 142px;
    position: relative;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px); /* Safari */
}

h2.intro-heading {
    margin-bottom: 4rem;
    position: relative;
    z-index: 7;
}

.intro h2 p {
    color: #fff;
    font-size: 8rem;
    font-family: "Jost", sans-serif;
    font-weight: 900; /* most bold appearance */
    margin-bottom: 0;
    line-height: 1em;
    letter-spacing: 0.05em !important;
    font-family: "BBH Sans Hegarty", sans-serif;
    font-weight: 800;
    font-style: normal;
    /* border: 10px solid #ff7f02; */
    border-radius: 20px;
    text-align: left;
    padding: 1rem;
    transform: rotateZ(-0.2deg);
}

.intro h2 span {
    color: #0b2030;
    font-size: 32px;
    /**/
    font-family: "Mochiy Pop One", sans-serif;
    font-weight: 400;
    background: #ff7f02;
    /* padding: 6px 18px; */
    display: inline-block;
    letter-spacing: 0.15em;
    margin-top: 0;
    padding: 0.4rem 3rem;
    border-radius: 20px;
    /* border-top-left-radius: 0px; */
    /* border-bottom-left-radius: 0px; */
    /* top: -0.7rem; */
    position: relative;
    /* width: 50%; */
    transform: rotateZ(-0.7deg);
}

.intro p {
    color: #f6f9fb;
       font-size: 20px;
    line-height: 1.4;
    margin-top: 1rem;
    font-family: "Mochiy Pop One", sans-serif;
    font-weight: 400;
    letter-spacing: 0.15em;
}

.intro .wrap {
    width: 1300px;
    margin: auto;
}



/* Intro ping overlay images (floating decorations) */
.intro { position: relative; }



.intro-pings {
        position: absolute;
        inset: 0; /* fill the intro area */
        pointer-events: none;
        z-index: -1; /* sit behind text content */
}
.ping {
        position: absolute;
        width: 64px;
        height: auto;
        transform-origin: center center;
        will-change: transform, opacity;
        opacity: 0.95;
        animation: ping-float 6s ease-in-out infinite;
}

/* Slightly offset animations per ping for organic motion */
.ping--1 { animation-duration: 5.8s; animation-delay: 0s; }
.ping--2 { animation-duration: 6.4s; animation-delay: 0.4s; }
.ping--3 { animation-duration: 7.0s; animation-delay: 0.8s; }
.ping--4 { animation-duration: 5.4s; animation-delay: 0.2s; }
.ping--5 { animation-duration: 6.8s; animation-delay: 0.6s; }


.ping { --base-rot: 0deg; }

/* top-left large ring */
.ping--1 {top: -10%;left: -3%;width: 30vw;z-index: 1;}

/* top-right green mark */
.ping--2 { top: 6%; right: 6%; width: 160px; z-index: 7; }

/* bottom-left purple shape */
.ping--3 { bottom: 8%; left: 4%; width: 180px; z-index: -1; --base-rot: -18deg; }

/* bottom-right yellow zigzag */
.ping--4 {bottom: -14%;right: -6%;width: 36vw;z-index: 8;position: absolute;}

/* center-bottom glowing triangle (use centered animation) */
.ping--5 { left: 50%; bottom: 18%; width: 160px; z-index: 5; filter: blur(6px) saturate(120%); opacity: 0.95; animation-name: ping-float-center; }


@keyframes ping-float {
    0% { transform: translateY(0px) translateX(0px) rotate(var(--base-rot, 0deg)); }
    25% { transform: translateY(-12px) translateX(10px) rotate(calc(var(--base-rot, 0deg) - 6deg)); }
    50% { transform: translateY(0px) translateX(0px) rotate(var(--base-rot, 0deg)); }
    75% { transform: translateY(10px) translateX(-10px) rotate(calc(var(--base-rot, 0deg) + 6deg)); }
    100% { transform: translateY(0px) translateX(0px) rotate(var(--base-rot, 0deg)); }
}
.orea-v2 img,
.orea-v2 video {
  max-width: 100%;
  height: auto;
  display: block;
}
















/* 特集ページ */
/* Future section: three cards */
.card-media:before {
    content:"";
    width: 120%;
    height: 70%;
    border: 20px solid #11479a;
    position: absolute;
    border-radius: 40px;
    bottom: -9px;
    z-index: -1;
    left: -10%;
}

.photo-frame--with-tile::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1; /* behind the photo (photo z-index is 4) */
    pointer-events: none;
    background-image: url("img/background_logo02.png");
    background-repeat: repeat;
    background-size: var(--bg-size, auto 88px);
    background-position: center;
    transform-origin: center center;
    transform: rotate(var(--bg-rotate)) rotate(-5deg);
    /* Slight opacity so the frame color still reads through if needed */
    opacity: var(--bg-opacity, 0.9);
    width: 120%;
    height: 70%;
    border-radius: 40px;
    bottom: inherit;
    z-index: -2;
    left: -7%;
    top: 28%;
}

article {
    margin-bottom: 12rem;
}


article.future-card.future-card--mission {
    margin-top: 10rem;
}

article.future-card.future-card--service {
    margin-top: 17rem;
}

.future, .page_contents {
    background-color: #dddddd;
    background-image: linear-gradient(#c5c5c5 1px, transparent 1px), linear-gradient(90deg, #c5c5c5 1px, transparent 1px);
    background-size: 38px 38px;
    padding: 60px 0 60px;
    color: #000000;
    z-index: 1;
    position: relative;
    background-attachment: fixed;
    overflow: hidden;
}

article:before {
    content: "";
    display: block;
    position: absolute;
    width: 140%;
    height: 110%;
    background: #f5e24b;
    left: -38%;
    z-index: -1;
    border-radius: 20px;
    top: 50%;
    transform: translate(0px, -50%) rotateZ(-1deg);
}


.card-title {
    font-size: 120px;
    letter-spacing: -0.05em;
}
.card-title {font-family: "Press Start 2P", system-ui;line-height: 1.3em;margin: 0 0em;}


h4.card-subtitle {
    font-size: 44px;
    margin: 8px 0 40px 1rem;
    font-weight: 400;
    font-family: "Mochiy Pop One", sans-serif;
    line-height: 1.4em;
    letter-spacing: 0.1em;
}

.photo-frame--with-tile img {
    height: 600px;
}


.handwritten-box {
        display: inline-block;
}

.card-text {
    font-size: 20px;
    color: #111;
    line-height: 1.4;
    font-family: "Mochiy Pop One", sans-serif;
    font-weight: 400;
    width: auto; /* allow flexible sizing */
    display: block;
    min-width: 0; /* allow wrapping inside flex/grid */
}

.handwritten {
    font-family: 'Zen Kurenaido', 'Mochiy Pop One', sans-serif;
    color: #000;
    display: inline-block;
    background: white;
    border: 8px solid #000000;
    padding: 0 60px;
    line-height: 1.2em;
    top: 4px;
    position: relative;
}

.card-media {
    position: absolute;
    right: -10%;
    top: 50%;
    transform: translate(0px, -50%);
}

.future article .card-body{
  /* 右側に画像スペースを確保 */
  padding-right: clamp(340px, 36vw, 720px);
  min-width: 0;
}

.future article .card-body {transform: rotateZ(-0.3deg);}


.future article .card-media{
  /* 画像の占有幅を統一（必要に応じて値調整） */
  width: clamp(340px, 36vw, 720px);
  right: -10%; /* 既存のはみ出し演出は維持するなら残す */
  transform: translate(0px, -50%) rotateZ(-0.5deg);
  z-index: 5;
}

article.future-card.future-card--mission.future-card--value img.photo-like {
    bottom: -2px;
    position: relative;
}


/* 画像が左に来るカード（例: service）は反転 */
.future article.future-card--service .card-media{
  left: -10%;
  right: auto;
}


article.future-card.future-card--service {}


article.future-card.future-card--service h3.card-title {
    position: absolute;
    right: 0;
    top: 0;
}

.future article.future-card--service .card-body{
  padding-right: 0;
  padding-left: clamp(340px, 36vw, 720px);
  padding-top: 10rem;
}

.future article.future-card--service .card-body {
    transform: rotateZ(0.3deg);
}

article.future-card.future-card--mission.future-card--value img.card-sticker {
    left: 18vw;
    bottom: -5vw;
}


.photo-frame--with-tile img {height: auto;max-width: inherit;width: auto;max-height: 30rem;filter: drop-shadow(84px 0px 0 #ff27b8);}

article.future-card.future-card--service img.photo-like {
    filter: drop-shadow(-66px 0px 0 #ff27b8);
    bottom: -4px;
    position: relative;
}


.card-media img.card-sticker {
    position: absolute;
    left: -40px;
    bottom: -70px;
    width: 15vw;
}

#future > div > div > article.future-card.future-card--service.aos-init.aos-animate > div > div.card-media > img {
    position: absolute;
    left: 60px;
    bottom: -70px;
    width: 25vw;
}


.future-card--service .card-media {
    left: -10%;
    right: inherit;
}

.card-body::after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0;
    width: 80rem; /* default size */
    display: block;
    background-image: url('img/mission_text.png');
    background-repeat: no-repeat;
    pointer-events: none; /* don't block clicks */
    z-index: -1;
    opacity: 0.98;
    transform: translate(10%, -25%); /* promote to its own layer for smoother rendering */
    opacity: 0.4;
    height: 592px;
    background-size: cover;
}

.future-card--value .card-body::after {
    background-image: url(img/value_text.png);
    transform: translate(20%, -25%);
}

.future-card--service .card-body::after {
    background-image: url(img/service_text.png);
    background-size: cover;
    left: inherit;
    right: 0;
}

.future-card--service::before {
    right: -38%;
    left: inherit;
    transform: translate(0px, -50%) rotateZ(1deg);
    height: 130% !important;
}









/* 共通フッター */



.kv:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #ff7a2e;
    pointer-events: none;
    mix-blend-mode: color;
}
.kv {
  position: relative;
  /* デザインの縦横比に合わせる（例: 1440x800 のモックなら 1440 / 800） */
  aspect-ratio: 1440 / 800;
  width: min(100vw, 2000px);
  margin: 0 auto;
  top: 0rem;
  margin-top: -2rem;
}

/* 写真は親いっぱい、同じ座標系でスケール */
.kv__photo {
  position: absolute;
  inset: 0;
  width: 110%;
  max-width: inherit;
  height: 113.2%;
  object-fit: cover;     /* 必要に応じて contain or object-position 調整 */
  /* object-position: 50% 50%; */
  z-index: 2;            /* 写真を前面に */
  left: 52%;
  transform: translate(-50%, 0px) rotateZ(0deg);
}

/* marqueeの縦位置と高さを「親に対する%」で決める */
.kv .marquee-wrap {
  position: absolute;
  left: 0;
  width: 100%;
  /* ここが重要：モックの値 → 百分率に置き換える */
  top: 85.35%;           /* 例: モックで上から530px / 高さ800px = 66.25% */
  height: 10rem;         /* 例: モックで高さ180px / 高さ800px = 22.5% */
  z-index: 1;
  /* 背景や装飾 */
  background: #ff8a18;   /* サンプル */
  overflow: hidden;
}

.kv .marquee-wrap.marquee--common-blue {
    background: #12469a;
}

.kv .marquee-wrap.marquee-wrap--repeat.marquee--common-blue {/* transform: rotateZ(-1deg); */}


h2.service-heading {
    line-height: 1em;
}

.service-card {/* position: relative; *//* flex: 1 1 50%; */width: 48%;}

.service-card a.hv {
    width: 100%;
}

.common-section {
    position: relative;
    padding: 1px 0 0px;
    color: black;
    overflow: visible;
}

.common-section::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: #ff7a2e;
    pointer-events: none;
    mix-blend-mode: color;
}

.common-section::after {
    position: absolute;
    inset: 0;
    background-image: url('img/background_logo02.png');
    background-repeat: repeat;
    background-size: auto 140px;
    opacity: 0.12;
    transform: rotate(-6deg) translateX(-6%);
    pointer-events: none;
    z-index: 0;
}

.service-heading {font-size: 160px;margin: 8rem 0 0px 0;color: #000000;font-family: "Jost", sans-serif;font-weight: 900;font-family: "BBH Sans Hegarty", sans-serif;font-weight: 800;font-style: normal;}

.service-grid {
    display: flex;
    /* grid-template-columns: 1fr 1fr; */
    /* gap: clamp(20px, 3vw, 40px); */
    justify-content: space-between;
}

.hv {
  display: inline-block;                 /* ← transformが効くように */
  opacity: 1;
  transform: translateY(0) scale(1);
  transition:
    opacity .6s ease,
    transform .4s cubic-bezier(.2,.7,.2,1),
    box-shadow .4s ease;                 /* ← 1回だけ宣言 */
  will-change: transform, opacity, box-shadow;
}

.hv:hover,
.hv:focus-visible {
  opacity: .7;
  transform: translateY(-6px) scale(1.02);
/*  box-shadow: 0 12px 28px rgba(0,0,0,.18);*/
}

.service-card .img-frame {
        border-radius: 20px;
        border: 17px solid #000000;
        overflow: hidden;
        z-index: 1;
        position: relative;
        background: black;
        height: 26vw;
}

.service-grid img {
  display: block;       /* または vertical-align: bottom; */
  width: auto;
  height: 100%;
  max-width: inherit;
}


.service-card .service-cta {position: absolute;right: 0px;bottom: 18px;transform: translate(0px, 100%);background: #000000;color: #fff;padding: 16px 18px;border-radius: 8px;font-size: 20px;font-weight: 700;font-family: "Mochiy Pop One", sans-serif;border-top-right-radius: 0px;width: 30%;text-align: center;z-index: 0;}

.recruit-cutout {
    position: absolute;
    bottom: 206px;
    right: 50%;
    transform: translate(50%, 50%);
    z-index: 999;
    width: 100%;
}

.common-section .wrap {
    padding-bottom: 0;
}


.service-lead,.recruit-lead {
    font-family: "Mochiy Pop One", sans-serif;
    font-size: 24px;
    margin-bottom: 24px;
    color: black;
    margin-top: 0;};
}





/* フッター */

.wrap.footer-inner {
    display: flex;
    gap: 6em;
    justify-content: center;
    align-items: center;
}

.site-footer img.footer-logo {
    width: 170px;
}


img.footer-logo {
    width: 200px;
}



 .site-footer{
  position: relative;
  overflow: hidden;              /* 横スクロール保険 */
  background: #0e459769;          /* 動画が読めない環境のフォールバック */
  top: -20px;
  z-index: 0;
}

.footer-bottom {
    color: white;
    text-align: center;
    margin-top: 5rem;
    padding-top: 1px;
    background: #12479a;
    position: relative;
    padding-bottom: 1.6em;
    width: 100%;
}

.footer-bottom p {
    margin: 0;
    margin-top: 2.4rem;
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: 0.11em;
    font-size: 16px;
    font-weight: 400;
}


.footer-video-wrap {
    position: absolute;
    z-index: 0;
}

.footer-overlay {
    position: relative;
    z-index: 1;
    background: #000000a8;
    padding: 13rem 0 0rem;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px); /* Safari */
}
.wrap.footer-inner {
    display: flex;
    gap: 7em;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
    max-width: inherit;
}
.footer-center h4 {/* font-family: "Press Start 2P", system-ui; */font-size: 28px;margin: 0 0 12px 0;color: #ffffff !important;letter-spacing: 0em;font-family: "Noto Sans JP", sans-serif;}
.footer-center p {margin: 6px 0;opacity: 0.9;font-size: 17px !important;letter-spacing: 0.2em;font-family: "Noto Sans JP", sans-serif;font-weight: 500;color: white;}









/* ページトップ */
.page-top {
    position: fixed;
    right: 20px;
    bottom: 1px;
    background: #12469a;
    color: #ff7f02;
    border: none;
    padding: 30px 28px;
    border-radius: 12px;
    /* box-shadow: 0 6px 18px rgba(0, 0, 0, 0.25); */
    font-family: "Jost", sans-serif;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    z-index: 9999999;
    font-size: 1.1rem;
    pointer-events: auto;
    line-height: 1em;
    font-size: 20px;
    width: 150px;
    height: 150px;
}
 .page-top img {
    display: block;
    width: 22px;
    text-align: center;
    margin: auto;
    margin-top: 10px;
}






















/* イントロ記号部分 */
@media only screen and (max-width:767px) {
    .intro { padding: 32px 0 48px; }
    .intro h2 p {font-size: 19vw;text-align: center;padding-bottom: 0;}
    .intro p {CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;font-size: 4.2vw;z-index: 999;position: relative;}
    .intro h2 span {font-size: 4vw;padding: 0px 0px;text-align: center;/* margin-left: 3vw; */display: block;width: 90%;margin: auto;line-height: 1.5em;margin-top: 3vw;}
    .wrap {padding: 0 5%;}
    .intro-heading { margin-bottom: 24px; }
}







@media only screen and (max-width: 767px) {


*{
}


  .hamburger-btn{
    display:flex !important; /* ← モバイルだけ表示 */
    /* ...existing code... */
  }



    /* 共通 */
    body {
    overflow-x: hidden;
}

    html {
    overflow-x: hidden;
}

        .pc {
    display: none;
}

    .sp {
    display: block;
}

    



 /*ページ枠  */
.page-frame {max-width: 100%;width: 100vw;height: 100%;}

.browser-frame::before {
    background: linear-gradient(#12469a, #12469a) 0 0 / 100% 3vw no-repeat, linear-gradient(#12469a, #12469a) 0 100% / 100% 3vw no-repeat, linear-gradient(#12469a, #12469a) 0 0 / 3vw 100% no-repeat, linear-gradient(#12469a, #12469a) 100% 0 / 3vw 100% no-repeat;
}





    /* 動く背景 */
.background-logos {
    width: 100%;
}
.background-logos {
  position: fixed;
  left: 50%;
  transform: translateX(-50%) rotate(-8deg);
  width: 200%;
  pointer-events: none;
  z-index: 0;
  overflow: revert;
}





    /* メインビジュアル */
        main.main-visual {
        padding: 0;
        margin: 0;
        margin-top: 39vw;
        /* overflow: hidden; */
    }

        .visual-content::before {
        background-size: 5px 5px;
        width: 80%;
        transform: translate(18%, 26%);
        height: 62vh;
    }
    
#videoModal .video-wrapper {
  position: relative; width: 100%; height: auto; padding: 0;
}
#videoModal .video-wrapper iframe {
  width: min(92vw, 1200px);
  aspect-ratio: 16 / 9;
  display: block;
  margin: 6vh auto;
}
.video-container .catchphrase-wrap {
    width: 80vw;
    top: -21vw;
}

.video-container .catchphrase-wrap img.catchphrase-bg {
    width: 100vw;
}

    
.video-container {
    width: 84vw;
    max-width: 500px;
    border: 3vw solid #12469a;
    border-radius: 2vw;
    height: 60vh;
    z-index: 60;
}

.video-inner { overflow: visible; border-radius: 0; }

.video-inner video {
    max-height: 70vh;
    width: 230vw;
    height: 100%;
    object-fit: cover;
    transform: translate(-50%, 0px);
    left: 50%;
    position: relative;
    z-index: 0;
}

.video-inner {
    overflow: visible;
    border-radius: 0;
    overflow: hidden;
    height: 100%;
}






    
    /* ステッカー部分 */
.video-container .overlay-wrap img.overlay {
  pointer-events: auto !important;        /* legacy の none を確実に打ち消し */
  cursor: zoom-in;
  transition: transform .25s ease, filter .25s ease, opacity .2s ease;
  will-change: transform, filter;
  /* 共通のサイズ系はここに集約（wrapper 幅に追従） */
  width: 100%;
  height: auto;
  display: block;
}


.sticker-you {
    position: absolute;
    left: -13vw;
    top: 56vw;
    width: 36vw;
    transform: translateY(-50%);
    z-index: 55;
}

.sticker-good-place {
        position: absolute;
        left: -10vw;
        bottom: 2vw;
        width: 23vw;
        z-index: 50;
    }

.logo-handwritten {
    position: absolute;
    left: -10vw;
    bottom: -24vw;
    width: 69vw;
    z-index: 58;
    pointer-events: none;
}

.sticker-player-on {
    position: absolute;
    right: -12vw;
    top: 81vw;
    width: 33vw;
    transform: translateY(-50%);
    z-index: 55;
}

.sticker-spotlight {
    position: absolute;
    right: -22px;
    bottom: -76px;
    width: 70vw;
    z-index: 57;
}

.sticker-spotlight {
    position: absolute;
    right: -13vw;
    bottom: -10vw;
    width: 50vw;
    z-index: 57;
}

.lightning {
    position: absolute;
    right: -6vw;
    top: 95vw;
    width: 16vw;
    transform: translateY(-50%);
    z-index: 57;
}

.overlay.line {position: absolute;right: -10vw;bottom: 35vw;width: 20vw;z-index: 53;}
.overlay.ball {
    position: absolute;
    right: inherit;
    bottom: 36vw;
    width: 12vw;
    z-index: 52;
    left: -7vw;
}

.overlay.badge {
    position: absolute;
    left: -1vw;
    bottom: 22vw;
    width: 22vw;
    z-index: 52;
}




/* サイトヘッダー */
.site-header .header-content {}

header.site-header {
    width: 100%;
    border-top: inherit;
}

.logo-wrap .logo {
    width: 30vw;
}

.bg-row::before {
    height: 26vw;
    width: 150%;
    background-size: auto 21vw;
}

.logo-wrap {
    border-radius: 8px;
}


.intro .wrap {
    width: 90%;
}

    .site-header{
    display:block !important;
    position:fixed;
    inset:0 auto auto 0; /* top:0; left:0; right:0 */
    width:100%;
    height:auto !important;
    background: rgb(17 71 154); /* 現行モバイル色に合わせる */
    color:#fff;
    padding:0;
    z-index: 999999999;
    border-bottom-left-radius: 14px;
    border-bottom-right-radius: 14px;
  }
.site-header .header-content{
    position:relative;
    width: 100%;
    display:flex !important;
    justify-content:space-between !important;
    align-items:center !important;
    flex-wrap:wrap;
    gap:.6rem;
    padding:0 0;
    box-sizing:border-box;
    top: inherit;
  }
.logo-wrap{
    order:1;
    flex-shrink:0;
    background:#12469a; /* 既存と合わせる */
    border-radius:10px;
    padding:3vw 5vw;
  }
 .site-header .logo{
    width:32vw !important;
    max-width:120px;
    min-width:80px;
    height:auto;
    display:block;
  }



    


/* ハンバーガーメニュ */
.global-navi.active{
    max-height:80vh; /* 画面の8割まで開く */
  }
 .global-navi ul{
    display:block !important;
    list-style:none;
    margin:0;
    padding:0 !important;
    width: 100vw;
  }
.global-navi ul li{
    margin:4vw 0 !important;
    text-align:center;
  }
.global-navi ul li a{
    display:block;
    padding:2.5vw 0;
    color:#fff;
    text-decoration:none;
    font-weight:600;
    border-bottom:.3vw solid rgba(255,255,255,.2);
  }
 .global-navi.active { max-height: 80vh; }

.hamburger-btn.active span:nth-child(1){
    transform: rotate(45deg) translate(1.5vw, 1.5vw);
  }
.hamburger-btn.active span:nth-child(2){ opacity:0; }
.hamburger-btn.active span:nth-child(3){
    transform: rotate(-45deg) translate(1.5vw, -1.5vw);
  }

global-navi.active,
.global-navi.active { max-height: 80vh; }


.hamburger-btn{
    order:3;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    flex-shrink:0;
    width:15vw !important;
    height:18vw !important;
    padding:5.6vw 3vw;
    margin-right:1vw !important;
    background:#11479a;
    border:0;
    cursor:pointer;
    z-index:1000;
    flex-wrap: wrap;
  }
.hamburger-btn span{
    display:block;
    width:6.5vw; height:.8vw;
    max-width:25px; max-height:3px;
    min-width:18px; min-height:2px;
    background:#fff;
    margin:1vw;
    transition:.3s;
    transform-origin:center;
  }

    .hamburger-btn span {
    margin: 0;
    width: 10vw;
    max-width: inherit;
}
    
 .hamburger-btn.active span:nth-child(1){
    transform: rotate(45deg) translate(1.8vw, 1.5vw);
  }
.hamburger-btn.active span:nth-child(2){ opacity:0; }
 .hamburger-btn.active span:nth-child(3){
    transform: rotate(-45deg) translate(1.8vw, -1.5vw);
  }
.global-navi{
    position:absolute !important;
    top:100%;
    left:0;
    right:0;
    /* width:100%; */
    background:#12469a !important;
    border-radius:0 0 4vw 4vw !important;
          /* 開閉の基準：max-height で統一 */
    max-height:0;
    overflow: hidden !important;
    transition:max-height .3s ease;

    /* 既存スタイルと衝突しないよう余白はゼロ基準 */
    padding:0 !important;
    order:2;
    }
  header.site-header .global-navi{ display: block !important; } /* PCのflexを潰す */

  .global-navi{
    position: absolute !important;
    top: 100%; left: 0; right: 0;
    background:#12469a !important;
    border-radius: 0 0 4vw 4vw !important;
    max-height: 0 !important;
    overflow: hidden !important;       /* 閉じている時は隠す */
    transition: max-height .3s ease;
    padding: 0 !important;
    z-index: 2147483646;               /* headerより上 */
  }

  /* 「.global-navi.active,」の誤記を踏み越えるために特に強く */
  header.site-header .global-navi.active{
    max-height: 80vh !important;
    overflow-y: auto !important;       /* 開いたら中でスクロール可 */
    -webkit-overflow-scrolling: touch;
  }

  .global-navi ul{
    display: block !important;
    width: 100% !important;
    margin: 0; padding: 0 !important;
    box-sizing: border-box;
  }
  .global-navi ul li{ margin: 4vw 0 !important; text-align: center; }
  .global-navi ul li a{
    display: block;
    padding: 2.5vw 0;
    border-bottom: .3vw solid rgba(255,255,255,.2);
    text-decoration: none;
    color: #ff7f02;
    font-weight: 600;
  }

    .global-navi ul li:last-child a {
    border-bottom: none;
}

  /* 背面スクロール防止（任意） */
  body.no-scroll{ overflow: hidden; }





    


/* 流れる文字 */
.marquee__inner {
    padding: 0vw;
    top: 1.8rem;
    bottom: inherit;
}
    .marquee-wrap {
    height: 6rem;
    font-size: inherit;
    line-height: inherit;
}
.marquee__inner span {
    font-size: 4rem;
}

.marquee {
}






    /* イントロ部分 */
.intro { --ping-scale: 1; }                 /* PC基準の倍率 */

/* 各記号の“元サイズ”を登録 */
.ping--1 {--ping-base: 60vw;top: -4vw;left: -1vw;}
.ping--2 {--ping-base: 50vw;top: 52vw;right: -2vw;}
.ping--3 {--ping-base: 50vw;z-index: -1;}
.ping--4 {--ping-base: 90vw;bottom: -10vw;}
.ping--5 {--ping-base: 40vw;bottom: 60vw;left: 79vw;}

/* 縮尺を適用（元サイズ × 倍率） */
.intro .ping { width: calc(var(--ping-base, 160px) * var(--ping-scale)); }

/* 画面幅に応じて倍率だけ変更（必要に応じて数値微調整） */
@media only screen and (min-width: 768px) and (max-width: 1600px) { .intro { --ping-scale: 0.9; } }
@media only screen and (min-width: 768px) and (max-width: 1200px) { .intro { --ping-scale: 0.78; } }
@media (max-width: 767px) { .intro { --ping-scale: 0.52; } }


/* 特集 */

    .card-body::after {
    width: 89vw;
    background-size: cover;
    height: 17rem;
    left: 0;
    transform: translate(0%, -55%);
}

    .future-card--value .card-body::after {
    transform: translate(0%, -45%);
}
    
.handwritten {
    padding: 0 1em;
}

.future .wrap {
    width: 100%;
    padding: 0;
}

.future article {
    width: 90%;
    padding: 0 5%;
}

.future article .card-body {padding-right: 0;}

.future article.future-card--service .card-body {padding-left: inherit;padding-top: 0;}

    #future > div > div > article.future-card.future-card--service.aos-init.aos-animate > div > div.card-media > img {
    width: 67vw;
    left: 140px;
    bottom: -70px;
}
    
  article{position:relative;/* overflow:hidden; */}

      article:before{
    width:120% !important;
    left: 33% !important;
    transform: translateX(-50%) !important;
    height: 100%;
    top: -6%;
  }

    .future-card--service::before {
    right: 0 !important;
    left: 0 !important;
    transform: translateX(6%) !important;
    height: 110% !important;
}

    article.future-card.future-card--mission {
    margin-top: 6rem;
}
    
.service-grid {
    display: flex;
    gap: 6vw;
    flex-wrap: wrap;
}

    .service-card .img-frame {
    border: 12px solid #081420;
    height: 50vw;
}

    .service-card{
    margin-bottom: 3rem;
    width: 100%;
}

.service-card .service-cta {
    width: 30%;
    font-size: 1rem;
    padding: 1vw 3vw;
    z-index: 0;
    padding-top: 3vw;
}
.service-lead, .recruit-lead{
    font-size: 4vw;
}
    
.service-heading {
    font-size: 19vw;
}

    
.card-media {
    position: relative;
    transform: inherit !important;
    top: 0;
}

    #future > div > div > article.future-card.future-card--mission.future-card--value.aos-init.aos-animate > div > div > div.card-media {
    right: -21%;
}

    
.photo-frame.photo-frame--with-tile {
    top: 0.2vw;
    position: relative;
}
    .photo-frame--with-tile::before {
    background-size: 40vw;
}

.photo-frame--with-tile img {
    height: 90vw;
    width: auto;
    max-width: inherit;
}

    .card-media img.card-sticker {width: 40vw;}

      /* SERVICEカード：テキスト→画像の順（SPのみ） */
  .future-card--service .service-layout{
    display: flex;
    flex-direction: column;   /* 縦積み */
  }
  .future-card--service .service-layout .card-body{ order: 1; }
  .future-card--service .service-layout .card-media{ order: 2; }

    article.future-card.future-card--service .photo-frame.photo-frame--with-tile {
    top: 0.7vw;
}
    
.card-title {font-size: 12vw;}

    article.future-card.future-card--service h3.card-title {
    position: relative;
}
    
h4.card-subtitle {
    font-size: 7vw;
    margin-left: 0;
}

    .card-text{
    text-align: left;
    line-height: 1.6em;
}

    .card-text p {
    line-height: 1.5em;
    text-align: justify;
    word-break: normal;
}

article.future-card.future-card--mission.future-card--value img.card-sticker {
        width: 40vw;
        left: 42%;
        bottom: -11vw;
}


    



/* 共通フッター */
.recruit-cutout {
    bottom: 16vw;
    width: 130vw;
}

.common-section .wrap {
    padding-bottom: 13vw;
}



    .kv__photo {
    width: 120%;
    max-width: inherit;
    height: 130%;
}
    .kv{
    top: -4rem;
}

    .kv .marquee-wrap{
    top: 98.55%;
    height: 5rem;
}






    /* フッター */
    .footer-left img.footer-logo {
    width: 30vw;
}

    .wrap.footer-inner{
    display: block;
    /* padding: 0 5%; */
    /* width: 80%; */
    padding: 0;
}

    .footer-left {
    padding-left: 5%;
    width: 80%;
}

.footer-center {
    padding-left: 5%;
    width: 80%;
}
    .footer-center p {
    line-height: 1.5em;
}
    .footer-center h4 {
    font-size: 5vw;
}

    .footer-bottom {
    left: -5%;
    width: 105%;
}
    .footer-bottom p {
    font-size: 2.9vw;
}


.footer-overlay{
    padding-top: 5rem;
}

.site-footer {
    top: 0;
}


        /* ページトップ */
    button.page-top {
    padding: 0 !important;
    font-size: 3.5vw;
    width: 23vw;
    height: 23vw;
    right: 0;
    bottom: 0;
}

.page-top img {
    width: 4vw;
    margin-top: 1vw;
}


    

    }









/* ipad用のはみ出し帽子 */
html, body { overflow-x: clip; }
@supports not (overflow: clip){
  html, body { overflow-x: hidden; } /* 旧ブラウザ用 */
}

/* 1200px以下ではみ出し量を弱める */
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  /* future: 画像のオフセットを小さく */
  .future article .card-media{
    width: clamp(300px, 34vw, 560px);
    right: max(-3vw, -24px);  /* -10% -> 緩和 */
  }
  .future article.future-card--service .card-media{
    left: max(-33vw, -64px);
    right: auto;
    top: 100%;
  }

  /* 装飾系（必要に応じて追加） */
  .overlay.line{ right: max(-2vw, -16px); }
  .overlay.ball{ right: max(-2vw, -16px); }
}




/* 
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
1400から適応
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
*/
@media only screen and (min-width: 768px) and (max-width: 1400px) {
  /* タブレット用スタイル */

.intro .wrap {width: 90%;margin: 0 5%;}

  .visual-content::before {
    height: 42rem;
}

article.future-card.future-card--mission {
    margin-top: 5rem;
}
  
article:before {height: 120% !important;}



    

}

/* 
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
1600から適応
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
*/
@media only screen and (min-width: 768px) and (max-width: 1600px) {


    .card-body::after {
    left: -30%;
}
    
}





/* 
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
メインビジュアルステッカー1200px以下の記述
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
*/
/* ステッカー共通スケール（PC基準=1） */
.video-container { --sticker-scale: 1; }

/* 対象を一括指定して縮尺適用 */
.video-container .overlay,
.video-container .sticker-you,
.video-container .sticker-good-place,
.video-container .logo-handwritten,
.video-container .sticker-player-on,
.video-container .sticker-spotlight,
.video-container .lightning,
.video-container .overlay.line,
.video-container .overlay.ball,
.video-container .overlay.badge {
  transform: scale(var(--sticker-scale));
  transform-origin: center;   /* 中心基準で縮小（位置ズレ最小） */
  will-change: transform;
}

/* 1200px以下で小さく（必要に応じて数値調整） */
@media only screen and (min-width: 768px) and (max-width: 1200px) {
  .video-container { --sticker-scale: 0.85; }
}
@media only screen and (min-width: 768px) and (max-width: 1100px) {
  .video-container { --sticker-scale: 0.78; }
}
@media only screen and (min-width: 768px) and (max-width: 1000px) {
  .video-container { --sticker-scale: 0.70; }
}


/* メインビジュアルステッカー */
@media only screen and (min-width: 768px) and (max-width: 1200px) {
.video-container .catchphrase-wrap img.catchphrase-bg {width: 56vw;}

.sticker-you {
    bottom: 18vw;
}

span.overlay-wrap.sticker-good-place {
    bottom: -5vw;
    left: -11vw;
}


span.overlay-wrap.logo-handwritten {
    bottom: -22vw;
}

span.overlay-wrap.lightning {
    bottom: 0vw;
    width: 13vw;
}

img.overlay.line {
    bottom: 13vw;
    right: -8vw;
}

img.overlay.ball {
    bottom: 17vw;
    left: -5vw;
    width: 8vw;
}

img.overlay.badge {
    bottom: 4vw;
    left: -4vw;
}

span.overlay-wrap.sticker-player-on {
    bottom: 10vw;
    right: -10vw;
}








    /* 特集部分 */
    .future article .card-body {
    padding-right: 0;
    /* padding-left: 10% !important; */
}

.future article .card-media {
    /* position: relative; */
    /* right: 0; */
    /* transform: translate(0px, 70%); */
}

.card-text {
    /* margin-bottom: 60vw; */
    width: 55%;
}

.future article.future-card--service .card-body p.card-text {
    width: auto;
    margin-left: 20%;
}

article.future-card.future-card--service {
    margin-bottom: 35vw;
}
    .future-card--service::before{
    height: 116% !important;
    padding-bottom: 10%;
    transform: translate(0px, 0%) rotateZ(1deg);
    top: -12%;
}
}



/* 
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
1000から適応
◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️◻️
*/
@media only screen and (min-width: 768px) and (max-width: 1000px) {
    *{

    }


    /* 特集部分 */
    .future article .card-media{
    /* position: relative; */
    /* right: 0; */
    /* transform: translate(100%, -100%) rotateZ(-0.5deg); */
    /* top: 0; */
    /* bottom: inherit; */
}
    .card-text {
    width: 100%;
}

    article.future-card.future-card--mission .card-media {
            position: relative;
            right: 0;
            transform: translate(100%, 0%) rotateZ(-0.5deg);
            top: -7vw;
            bottom: inherit;
    }


    article:before {height: 85% !important;top: 40%;}

    article.future-card.future-card--service.aos-init.aos-animate {
    margin-top: 3rem;
    margin-bottom: 29rem;
}

    #future > div > div > article.future-card.future-card--service.aos-init.aos-animate > div > div.card-media > img {
    width: 41vw;
    left: 230px;
    bottom: -70px;
}
    

article.future-card.future-card--mission span.handwritten-box {
    padding-left: 4em;
}

article.future-card.future-card--service.aos-init.aos-animate .card-body {
    padding-left: 0;
}

.future article.future-card--service .card-media {
    top: 120%;
}

.future-card--service::before {
    height: 130% !important;
}


.future article.future-card--service .card-body p.card-text {
    margin-left: 47%;
}

article.future-card.future-card--mission {
    margin-bottom: 0rem;
}

.card-media img.card-sticker {
    bottom: 13vw;
    left: -19vw;
    width: 23vw;
}


article.future-card.future-card--mission.future-card--value span.handwritten-box {
    padding-left: 0;
}

article.future-card.future-card--mission.future-card--value .card-media {
    top: -1vw;
    transform: translate(150%, 0%) rotateZ(-0.5deg);
}

article.future-card.future-card--mission.future-card--value img.card-sticker {
    left: -26vw;
    width: 27vw;
    bottom: 3vw;
}

}