@charset "UTF-8";
/* =========================================================
   あとりえそら v2（確認用・noindexページ専用）
   水色・白・薄いグレー基調／黒なし／細い丸ゴシック
   ※ body.v2 のページにだけ効く
========================================================= */
body.v2 {
  --sky: #8fb5dd;
  --sky-d: #6f9cc9;
  --sky-l: #dfeaf5;
  --sky-ll: #f2f7fb;
  --gray-l: #f5f7f9;
  --line: #d6e1ec;
  --text: #5a6672;
  --text-l: #8f9aa5;
  --en: "Quicksand", sans-serif;
  --ja: "Zen Maru Gothic", sans-serif;
  background: #fff;
  color: var(--text);
  font-family: var(--ja);
  font-weight: 400;
}
body.v2 .wrap,
body.v2 main.home,
body.v2 main.sub { background: #fff !important; }
body.v2 .wrap { overflow-x: clip; }
@media (max-width: 767px) { body.v2 .v2-diagram__ring::before { display: none; } }
body.v2,
body.v2 h1, body.v2 h2, body.v2 h3, body.v2 h4, body.v2 p, body.v2 a, body.v2 li, body.v2 th, body.v2 td, body.v2 dt, body.v2 dd, body.v2 span, body.v2 small, body.v2 input, body.v2 textarea, body.v2 button {
  font-family: var(--ja) !important;
}
body.v2 .v2-en,
body.v2 .section-title__bg,
body.v2 .l-page-cover__ttl,
body.v2 .l-page-cover__ttl .char,
body.v2 .v2-mv__lead, body.v2 .v2-mv__en, body.v2 .v2-mv__links a,
body.v2 .v2-happiness__lead, body.v2 .v2-happiness__en,
body.v2 .about-business-card__num, body.v2 .service-card__num, body.v2 .flow .icon,
body.v2 .btn {
  font-family: var(--en) !important;
}
body.v2 .home-section__desc { color: var(--text); font-weight: 400; letter-spacing: .04em; }
body.v2 img { -webkit-font-smoothing: antialiased; }

/* 写真：薄く明るく（ロゴ・アイコン以外） */
body.v2 main img:not([src$=".svg"]):not(.v2-mv__mark):not([src*="logo"]) {
  filter: brightness(1.06) saturate(.88) contrast(.94);
}

/* ---------- 見出し（英字を薄い水色で重ねる） ---------- */
body.v2 .home-section-title.-layered .section-title__bg {
  color: var(--sky-l) !important;
  font-weight: 400 !important;
  letter-spacing: .12em;
  opacity: 1;
}
body.v2 .home-section-title.-layered .section-title__ja,
body.v2 .home-shop .home-section-title.-layered .section-title__ja,
body.v2 .p-profile-sec01 .home-section-title.-layered .section-title__ja {
  color: var(--text) !important;
  font-weight: 500 !important;
  letter-spacing: .12em;
}

/* ---------- ボタン（薄いアウトライン・丸） ---------- */
body.v2 .btn,
body.v2 .btn.-color,
body.v2 .footer_cta_col__btn {
  background: rgba(255,255,255,.85) !important;
  border: 1px solid var(--sky) !important;
  border-radius: 999px;
  color: var(--sky-d) !important;
  letter-spacing: .12em;
  font-weight: 500;
}
body.v2 .btn::after { background: var(--sky) !important; }
@media (min-width: 768px) {
  body.v2 .btn:hover, body.v2 .footer_cta_col__btn:hover { color: #fff !important; }
}

/* ---------- ヘッダー（白・ロゴ左／ナビ細字） ---------- */
body.v2 .header {
  background: rgba(255,255,255,.96) !important;
  box-shadow: none !important;
  top: 0;
  width: 100%;
  left: 0;
  transform: none;
  height: 9rem;
  align-items: center;
  padding: 0 4rem;
  border-bottom: 1px solid #edf2f7;
}
body.v2 .header__logo { margin: 0; width: auto; }
body.v2 .header__logo a { display: flex; align-items: center; gap: 1.2rem; }
body.v2 .header .logo-icon { width: 3.6rem; height: auto; }
body.v2 .header .logo-black { display: block !important; width: 17rem; height: auto; opacity: .78; }
body.v2 .header .logo-white { display: none !important; }
body.v2 .header__container { padding: 0; }
body.v2 .header__nav, body.v2 .js-header-change .header .header__nav { margin-top: 0 !important; }
body.v2 .header__list { display: flex; align-items: center; gap: 2.8rem; }
body.v2 .header__item { margin: 0 !important; }
body.v2 .header__link,
body.v2 .js-header-change .header .header__link {
  color: var(--text) !important;
  font-size: 1.4rem;
  letter-spacing: .1em;
  text-align: center;
  line-height: 1.4;
}
body.v2 .header__link .v2-en {
  display: block;
  font-size: 1.15rem;
  letter-spacing: .22em;
  color: var(--sky);
  margin-bottom: .2rem;
}
body.v2 .header__link::after { background: var(--sky) !important; height: 1px; }
body.v2 .header .v2-insta img { width: 2rem; }
body.v2 .header .v2-contact .header__link,
body.v2 .js-header-change .header .header__item:last-child .header__link {
  background: transparent !important;
  border: 1px solid var(--sky);
  border-radius: 999px;
  color: var(--sky-d) !important;
  padding: 1.1rem 2.6rem !important;
}
body.v2 .header .v2-contact .header__link::after { display: none; }
body.v2 .header__list { flex-wrap: nowrap; }
body.v2 .header__link { white-space: nowrap; }
@media (min-width: 768px) and (max-width: 1300px) {
  body.v2 .header { padding: 0 2rem; }
  body.v2 .header__list { gap: 1.8rem; }
  body.v2 .header .logo-black { width: 14rem; }
  body.v2 .header .v2-contact .header__link { padding: 1rem 1.8rem !important; }
}
@media (min-width: 768px) and (max-width: 1100px) {
  body.v2 .header__list { gap: 1.2rem; }
  body.v2 .header__link { font-size: 1.25rem; letter-spacing: .04em; }
  body.v2 .header__link .v2-en { display: none; }
  body.v2 .header .logo-black { width: 12rem; }
}

/* SPヘッダー：白＋丸いハンバーガー */
body.v2 .header-sp,
body.v2 .js-header-change .header-sp { background: rgba(255,255,255,.96) !important; }
body.v2 .header-sp__logo { display: flex; align-items: center; gap: 2vw; }
body.v2 .header-sp .logo-icon { width: 8vw; height: auto; }
body.v2 .header-sp .logo-black { display: block !important; width: 34vw; height: auto; opacity: .78; }
body.v2 .hamburger {
  border: 1px solid var(--sky) !important;
  border-radius: 50%;
  background: #fff !important;
}
body.v2 .hamburger span { background: var(--sky-d) !important; }
body.v2 .nav-drawer { background: var(--sky-ll) !important; }
body.v2 .nav-drawer__link { color: var(--text) !important; }
body.v2 .nav-drawer__btn { background: #fff !important; border: 1px solid var(--sky); color: var(--sky-d) !important; border-radius: 999px; }
body.v2 .nav-drawer__tel a { color: var(--text) !important; }
body.v2 .sp_cta a { background: var(--sky) !important; color: #fff !important; }
body.v2 .sp_cta a:last-child { background: #fff !important; color: var(--sky-d) !important; border-top: 1px solid var(--sky); }

/* ---------- 下層ページの表紙（赤い花→明るい室内＋白いベール） ---------- */
body.v2 .l-page-cover {
  background-image: url(../img/home/home-mv-slide02.jpg) !important;
  background-position: center 60% !important;
  margin-top: 9rem;
}
body.v2 .l-page-cover::after { background: rgba(255,255,255,.55) !important; }
body.v2 .l-page-cover__inner { padding: 9rem 0 8rem 8vw; }
body.v2 .l-page-cover__ttl,
body.v2 .l-page-cover__ttl .char {
  color: var(--sky-d) !important;
  font-weight: 400 !important;
  letter-spacing: .14em;
}
body.v2 .l-page-cover__ttl span { color: var(--text) !important; letter-spacing: .2em; font-weight: 500; }
@media (max-width: 767px) {
  body.v2 .l-page-cover { margin-top: 14vw; }
  body.v2 .l-page-cover__inner { padding: 14vw 0 12vw 6vw; }
}

/* ---------- トップMV（左に文字・右に写真・下に淡い帯） ---------- */
body.v2 .v2-mv {
  display: grid;
  grid-template-columns: 27% 1fr;
  grid-template-rows: auto auto;
  padding-top: 9rem;
  background: #fff;
}
body.v2 .v2-mv__side {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 6rem 3rem 6rem 8%;
  position: relative;
  z-index: 5;
}
body.v2 .v2-mv__visual { z-index: 0; }
body.v2 .v2-mv__mark { width: 5.4rem; height: auto; margin-bottom: 2.4rem; }
body.v2 .v2-mv__lead {
  color: var(--sky-d);
  font-size: clamp(3rem, 3.4vw, 5.2rem);
  font-weight: 300;
  letter-spacing: .1em;
  line-height: 1.2;
  white-space: nowrap;
  margin-right: -12vw; /* 写真側にはみ出させる */
}
body.v2 .v2-mv__en { color: var(--text); font-size: 1.2rem; letter-spacing: .3em; margin-top: 1.6rem; }
body.v2 .v2-mv__slash {
  display: block;
  width: 7rem;
  height: 1px;
  background: var(--text-l);
  transform: rotate(-45deg);
  margin: 5rem 0 4rem -1rem;
}
body.v2 .v2-mv__links li + li { margin-top: 1.8rem; }
body.v2 .v2-mv__links a { color: var(--text); font-size: 1.4rem; letter-spacing: .4em; }
body.v2 .v2-mv__links a:hover { color: var(--sky-d); }
body.v2 .v2-mv__visual { position: relative; margin-right: 7%; overflow: hidden; }
body.v2 .v2-mv .home-mv__slide img,
body.v2 .v2-mv .slick-track img {
  height: calc(100vh - 9rem - 5rem);
  min-height: 52rem;
  max-height: 86rem;
  width: 100%;
  object-fit: cover;
}
body.v2 .v2-mv .slide-dots { display: none !important; }
body.v2 .v2-mv__band {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  background: #b3cde4;
}
body.v2 .v2-mv__band a {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: .14em;
  padding: 1.7rem 2rem;
  text-align: center;
  border-left: 1px solid rgba(255,255,255,.7);
  transition: background .3s;
}
body.v2 .v2-mv__band a:first-child { border-left: 0; }
body.v2 .v2-mv__band a:hover { background: var(--sky); }
body.v2 .v2-mv__band .v2-en { margin-right: .8rem; letter-spacing: .2em; font-weight: 600; }
@media (max-width: 767px) {
  body.v2 .v2-mv { grid-template-columns: 1fr; padding-top: 14vw; }
  body.v2 .v2-mv__side { order: 2; padding: 8vw 6vw 6vw; }
  body.v2 .v2-mv__visual { order: 1; margin: 0 0 0 6vw; }
  body.v2 .v2-mv .home-mv__slide img,
  body.v2 .v2-mv .slick-track img { height: 62vh; min-height: 0; }
  body.v2 .v2-mv__mark { width: 11vw; margin-bottom: 4vw; }
  body.v2 .v2-mv__lead { font-size: 9vw; margin-right: 0; white-space: normal; }
  body.v2 .v2-mv__slash, body.v2 .v2-mv__links { display: none; }
  body.v2 .v2-mv__band { order: 3; grid-template-columns: 1fr; }
  body.v2 .v2-mv__band a { border-left: 0; border-top: 1px solid rgba(255,255,255,.7); padding: 4vw; }
}

/* ---------- お知らせ ---------- */
body.v2 .v2-news { padding: 9rem 2rem 0; }
body.v2 .v2-news__inner {
  max-width: 96rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 20rem 1fr;
  align-items: start;
  gap: 4rem;
  padding: 4.4rem 5rem;
  background: var(--gray-l);
}
body.v2 .v2-news__ttl { color: var(--text); font-size: 1.4rem; letter-spacing: .2em; font-weight: 500; }
body.v2 .v2-news__ttl .v2-en { display: block; color: var(--sky-d); font-size: 2.6rem; letter-spacing: .2em; font-weight: 400; margin-bottom: .6rem; }
body.v2 .v2-news__item { display: flex; gap: 2.4rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); font-size: 1.45rem; line-height: 1.7; }
body.v2 .v2-news__item:first-child { padding-top: .4rem; }
body.v2 .v2-news__item time { color: var(--sky-d); font-family: var(--en) !important; letter-spacing: .08em; flex-shrink: 0; }
body.v2 .v2-news__item.-empty { color: var(--text-l); }
@media (max-width: 767px) {
  body.v2 .v2-news { padding: 12vw 5vw 0; }
  body.v2 .v2-news__inner { grid-template-columns: 1fr; gap: 4vw; padding: 7vw 6vw; }
  body.v2 .v2-news__item { flex-direction: column; gap: .4rem; }
}

/* ---------- トップ：About/Service（文字の箱を写真に重ねる） ---------- */
body.v2 .home-center { margin-top: 10rem; }
@media (min-width: 768px) {
  body.v2 .home-center__container { position: relative; }
  body.v2 .home-center__text {
    background: rgba(255,255,255,.94);
    padding: 5rem 5rem 5.4rem;
    position: relative;
    z-index: 2;
    box-shadow: 0 1.2rem 4rem rgba(143,181,221,.14);
  }
  body.v2 .home-center__container { align-items: center; }
  body.v2 .home-center__container.-service .home-center__text { margin-right: -8rem; margin-left: 4vw; }
  body.v2 .home-center__container.-price .home-center__text { margin-left: -8rem; margin-right: 4vw; background: var(--sky-ll); }
}

/* About本文（改行位置を守る：句ごとに折り返し） */
body.v2 .v2-poem { line-height: 2.2; letter-spacing: .08em; }
body.v2 .v2-poem span { display: inline-block; }
body.v2 .v2-poem-block .home-section__desc { text-align: center; font-size: 1.7rem; }
body.v2 .v2-poem-block .home-section__desc + .home-section__desc { margin-top: 3.4rem; }
@media (max-width: 767px) {
  body.v2 .v2-poem-block .home-section__desc { font-size: 3.9vw; }
  body.v2 .home-center .v2-poem { font-size: 3.4vw; letter-spacing: .03em; }
  body.v2 .home-center__text { padding: 10vw 6vw !important; }
  body.v2 .home-center { margin-top: 8vw; }
  body.v2 .home-section-title.-layered .section-title__ja,
  body.v2 .home-shop .home-section-title.-layered .section-title__ja,
  body.v2 .p-profile-sec01 .home-section-title.-layered .section-title__ja {
    font-size: 5.2vw !important;
    letter-spacing: .06em;
  }
  body.v2 .v2-mv { padding-top: 16vw; }
  body.v2 .v2-mv__visual { margin-top: 2vw; }
}

/* ---------- 作品紹介：3件横並び ---------- */
body.v2 .works-category-list li { background: transparent !important; margin: 0 .6rem; }
body.v2 .works-category-list li a {
  display: inline-block;
  background: #fff !important;
  border: 1px solid var(--sky) !important;
  border-radius: 999px;
  color: var(--sky-d) !important;
  padding: .7rem 2.2rem;
  font-size: 1.3rem;
  letter-spacing: .1em;
}
body.v2 .works-category-list li a:hover { background: var(--sky) !important; color: #fff !important; }
body.v2 .v2-works__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
  max-width: 120rem;
  margin: 4rem auto 0;
  padding: 0 4rem;
}
body.v2 .v2-works__item { display: block; }
body.v2 .v2-works__item .p-panel__img-wrap { padding-top: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; position: relative; }
body.v2 .v2-works__item .p-panel__img-wrap img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
body.v2 .v2-works__item:hover img { transform: scale(1.04); }
body.v2 .v2-works__cat { margin-top: 1.4rem; font-size: 1.15rem; color: var(--sky-d); letter-spacing: .14em; }
body.v2 .v2-works__ttl { margin-top: .4rem; font-size: 1.6rem; color: var(--text); letter-spacing: .1em; font-weight: 500; }
body.v2 .p-home-sec01__btn-wrap { text-align: center; margin-top: 5rem; }
@media (max-width: 767px) {
  body.v2 .v2-works__grid { grid-template-columns: 1fr; gap: 7vw; padding: 0 6vw; }
}

/* ---------- 会社概要（トップ）・ギャラリー ---------- */
body.v2 .home-shop { background: var(--sky-ll) !important; }
body.v2 .home-shop::after { display: none !important; }
body.v2 .home-shop .home-section-title,
body.v2 .home-shop .home-section-title span { color: var(--text) !important; }

/* ---------- 下層の淡色セクション ---------- */
body.v2 .p-profile-sec01 { background: var(--sky-ll) !important; }
body.v2 .p-profile-sec01 .en_txt { color: var(--text) !important; }
body.v2 .sub-shop__table tr { border-bottom: 1px solid var(--line) !important; }
body.v2 .sub-shop__table th { color: var(--sky-d) !important; font-weight: 500; }
body.v2 .about-business-card,
body.v2 .service-card { background: #fff; box-shadow: 0 .8rem 3rem rgba(143,181,221,.16) !important; border-radius: .6rem; }
body.v2 .about-business-card__num,
body.v2 .service-card__num { color: var(--sky) !important; font-weight: 400; }
body.v2 .about-business-card__icon { color: var(--sky-d) !important; }
body.v2 .flow .icon { background: var(--sky) !important; color: #fff !important; border-radius: 999px; letter-spacing: .12em; }
body.v2 .service-notes { background: var(--gray-l) !important; box-shadow: none !important; }

/* 申請代行：写真を外した2ブロックは中央1カラム */
body.v2 .v2-noimg { display: block !important; max-width: 82rem; margin-left: auto !important; margin-right: auto !important; }
body.v2 .v2-noimg .c-flexbox01__body,
body.v2 .v2-noimg .c-flexbox02__body { width: 100% !important; max-width: none !important; padding: 0 !important; }

/* 申請代行：アウトソーシング図（淡色で作り直し） */
body.v2 .v2-diagram {
  display: grid;
  grid-template-columns: 30rem 52rem;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  margin: 5rem auto 8rem;
}
body.v2 .v2-diagram__left { display: flex; align-items: center; gap: 1.2rem; }
body.v2 .v2-diagram__c {
  width: 16rem;
  height: 16rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 1.2rem;
  line-height: 1.55;
  letter-spacing: .04em;
  color: var(--text);
  background: var(--sky-ll);
  border: 1px solid var(--line);
}
body.v2 .v2-diagram__c.-out { background: var(--sky); border-color: var(--sky); color: #fff; flex-shrink: 0; }
body.v2 .v2-diagram__arrow { font-size: 1.2rem; color: var(--sky-d); text-align: center; position: relative; padding-bottom: 1.2rem; white-space: nowrap; }
body.v2 .v2-diagram__arrow::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: var(--sky-d);
}
body.v2 .v2-diagram__arrow::before {
  content: "";
  position: absolute;
  left: -2px; bottom: -4px;
  border: 4px solid transparent;
  border-right: 7px solid var(--sky-d);
  border-left: 0;
}
body.v2 .v2-diagram__ring { position: relative; width: 52rem; height: 52rem; }
body.v2 .v2-diagram__ring .v2-diagram__c { position: absolute; }
body.v2 .v2-diagram__core {
  position: absolute;
  left: 50%; top: 50%;
  transform: translate(-50%, -50%);
  width: 13rem; height: 13rem;
  border-radius: 50%;
  background: #fff;
  border: 1px solid var(--sky);
  color: var(--sky-d);
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
}
/* 中心から半径18remの円周上に5つを等間隔で配置 */
body.v2 .v2-diagram__ring::before {
  content: "";
  position: absolute;
  left: 8rem; top: 8rem;
  width: 36rem; height: 36rem;
  border-radius: 50%;
  border: 1px dashed var(--line);
}
body.v2 .v2-diagram__c.-p1 { left: 18rem;   top: 0; }
body.v2 .v2-diagram__c.-p2 { left: 35.1rem; top: 12.4rem; background: #e8f1f8; }
body.v2 .v2-diagram__c.-p3 { left: 28.6rem; top: 32.6rem; }
body.v2 .v2-diagram__c.-p4 { left: 7.4rem;  top: 32.6rem; background: #e8f1f8; }
body.v2 .v2-diagram__c.-p5 { left: .9rem;   top: 12.4rem; background: #eef3f7; }

/* ---------- 申請代行：セクションの区切り ---------- */
body.v2 .-service .sub-concept.sub-bg { padding-bottom: 0; }
body.v2 .-service .outsourcing-merit .home-section__desc { font-size: 1.7rem; line-height: 2; }
body.v2 .-service .service-section { margin-top: 0 !important; }
/* 画面幅いっぱいの帯 */
body.v2 .-service .v2-noimg,
body.v2 .-service .service-cards-wrap {
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: calc(50vw - 50%) !important;
  padding-right: calc(50vw - 50%) !important;
}
/* 「早く安心」「リスク回避」は淡い水色の帯に2カラム */
body.v2 .-service .c-flexbox01.v2-noimg {
  background: var(--sky-ll);
  padding-top: 10rem;
  padding-bottom: 5rem;
}
body.v2 .-service .c-flexbox02.v2-noimg {
  background: var(--sky-ll);
  padding-top: 5rem;
  padding-bottom: 10rem;
}
body.v2 .-service .v2-noimg .c-flexbox01__body,
body.v2 .-service .v2-noimg .c-flexbox02__body {
  max-width: 82rem !important;
  margin: 0 auto;
  background: #fff;
  padding: 5rem 6rem !important;
  border-radius: .6rem;
  box-shadow: 0 .8rem 3rem rgba(143,181,221,.12);
}
/* 業務の流れ */
body.v2 .-service .service-flow-wrap { padding: 12rem 0 4rem; }
body.v2 .-service .service-flow-lead { margin-bottom: 5rem; }
body.v2 .flow::before, body.v2 .flow li::before { background: var(--sky-l) !important; }
body.v2 .-service .service-notes { margin: 2rem auto 12rem !important; max-width: 96rem; padding: 3rem 4rem !important; border-radius: .6rem; }
body.v2 .-service .service-notes .home-section__desc { font-size: 1.35rem; color: var(--text-l); }
/* 対応可能業務：淡いグレーの帯＋白カード */
body.v2 .-service .service-cards-wrap {
  background: var(--gray-l) !important;
  padding-top: 10rem !important;
  padding-bottom: 10rem !important;
  box-shadow: none !important;
}
body.v2 .-service .service-cards { max-width: 112rem; margin: 4rem auto 0; gap: 2rem; }
body.v2 .-service .home-section-title { margin-bottom: 4rem; }
@media (max-width: 767px) {
  body.v2 .-service .c-flexbox01.v2-noimg { padding-top: 16vw; padding-bottom: 6vw; }
  body.v2 .-service .c-flexbox02.v2-noimg { padding-top: 6vw; padding-bottom: 16vw; }
  body.v2 .-service .v2-noimg .c-flexbox01__body,
  body.v2 .-service .v2-noimg .c-flexbox02__body { padding: 8vw 6vw !important; margin: 0 5vw; width: auto !important; box-sizing: border-box; }
  body.v2 .-service .service-flow-wrap { padding: 16vw 0 4vw; }
  body.v2 .-service .service-notes { margin-bottom: 16vw !important; padding: 5vw !important; }
  body.v2 .-service .service-cards-wrap { padding-top: 16vw !important; padding-bottom: 16vw !important; }
}

/* ---------- 他ページも白一色にならないよう帯を交互に ---------- */
body.v2 .-aboutus .about-business-sec { background: var(--sky-ll); }
body.v2 .v2-works { background: var(--sky-ll); padding-top: 10rem; padding-bottom: 10rem; }
body.v2 .home-shop { background: #fff !important; }
@media (max-width: 1000px) {
  body.v2 .v2-diagram { grid-template-columns: 1fr; justify-items: center; }
  body.v2 .v2-diagram__left { order: 2; flex-direction: column-reverse; }
  body.v2 .v2-diagram__arrow { white-space: normal; }
  body.v2 .v2-diagram__arrow::after, body.v2 .v2-diagram__arrow::before { display: none; }
}
@media (max-width: 767px) {
  body.v2 .v2-diagram__ring { width: auto; height: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 3vw; }
  body.v2 .v2-diagram__ring .v2-diagram__c,
  body.v2 .v2-diagram__core { position: static; transform: none; width: 40vw; height: 40vw; font-size: 3vw; }
  body.v2 .v2-diagram__core { grid-column: 1 / -1; justify-self: center; }
  body.v2 .v2-diagram__c.-out { width: 46vw; height: 46vw; font-size: 3.2vw; }
}

/* ---------- Make Happiness（全ページ下部） ---------- */
body.v2 .v2-happiness { padding: 10rem 2rem; text-align: center; background: #fff; }
body.v2 .v2-happiness__lead { color: var(--sky-d); font-size: clamp(3rem, 4vw, 5rem); font-weight: 300; letter-spacing: .12em; }
body.v2 .v2-happiness__desc { margin-top: 2.4rem; color: var(--text); font-size: 1.6rem; line-height: 2.1; letter-spacing: .06em; }
body.v2 .v2-happiness__en { margin-top: 1.6rem; color: var(--text-l); font-size: 1.3rem; letter-spacing: .14em; }
@media (max-width: 767px) {
  body.v2 .v2-happiness { padding: 16vw 6vw; }
  body.v2 .v2-happiness__lead { font-size: 9vw; }
  body.v2 .v2-happiness__desc { font-size: 3.6vw; }
  body.v2 .v2-happiness__en { font-size: 3vw; }
}

/* ---------- お問い合わせ帯・フッター（グレー/紺/黒 → 淡色） ---------- */
body.v2 .footer_cta { color: var(--text) !important; background: var(--sky-ll) !important; }
body.v2 .footer_cta::before { display: none !important; }
body.v2 .footer_cta__overlay { display: none !important; }
body.v2 .footer_cta .section-title__ja,
body.v2 .footer_cta_col__label,
body.v2 .footer_cta_col__tel,
body.v2 .footer_cta_col__tel a,
body.v2 .footer_cta_col__note { color: var(--text) !important; }
body.v2 .footer_cta_col__icon { color: var(--sky-d) !important; border-color: var(--sky) !important; }
body.v2 .footer_cta_col--sep { border-color: var(--line) !important; }
body.v2 .footer_cta_col__btn img { filter: none; }
body.v2 .footer { background: var(--gray-l) !important; color: var(--text) !important; }
body.v2 .footer__link, body.v2 .footer .left__txt { color: var(--text) !important; }
body.v2 .footer__link:hover { color: var(--sky-d) !important; }
body.v2 .footer-contact__logo-text { opacity: .78; }
body.v2 .footer__copyright { background: var(--sky) !important; color: #fff !important; letter-spacing: .08em; }
body.v2 .footer .page-top span { color: #fff !important; }
body.v2 .footer .page-top img { filter: brightness(10); }

/* =========================================================
   検品後の修正（2026-11-14 全ページ確認）
========================================================= */
/* A. 見出し：英字を背景に重ねず、小さいラベルとして上に置く */
body.v2 .home-section-title.-layered { padding: 0 !important; height: auto !important; min-height: 0 !important; text-align: center; flex-direction: column !important; margin-bottom: 3rem; }
body.v2 .home-section-title.-layered .section-title__bg {
  position: static !important;
  transform: none !important;
  display: block !important;
  font-size: 1.3rem !important;
  line-height: 1.6 !important;
  letter-spacing: .35em !important;
  color: var(--sky) !important;
  margin: 0 0 1rem !important;
  white-space: normal;
  text-transform: uppercase;
}
body.v2 .home-section-title.-layered .section-title__bg br { display: none; }
body.v2 .home-section-title.-layered .section-title__ja { font-size: 2.6rem !important; line-height: 1.5; }
@media (max-width: 767px) {
  body.v2 .home-section-title.-layered .section-title__bg { font-size: 3vw !important; letter-spacing: .25em !important; }
  body.v2 .home-section-title.-layered .section-title__ja { font-size: 5.6vw !important; }
}

/* Q. MVの Make Happiness は写真にかぶせない */
body.v2 .v2-mv__lead { font-size: clamp(2.6rem, 2.5vw, 4rem); margin-right: 0; }

/* L. トップの文字箱：透けて灰色が出るので不透明に */
@media (min-width: 768px) {
  body.v2 .home-center__container.-service .home-center__text { background: #fff !important; }
  body.v2 .home-center__container.-price .home-center__text { background: var(--sky-ll) !important; }
}
/* M. 会社概要とギャラリーの間の空きを詰める */
body.v2 .home-shop { padding-bottom: 6rem; }
body.v2 .home-shop::before { display: none !important; }
body.v2 .home-gallery { margin-top: 2rem !important; }

/* E. 黒いインスタアイコンを水色に */
body.v2 img[src*="instagram"] {
  filter: brightness(0) saturate(100%) invert(62%) sepia(28%) saturate(560%) hue-rotate(172deg) brightness(92%) contrast(88%) !important;
}
/* F. フッターのロゴ（仮）は控えめに */
body.v2 .footer-contact__logo-icon { width: 4rem !important; }
body.v2 .footer-contact__logo-text { width: 18rem !important; opacity: .7; }
/* O,P. 数字の書体を統一 */
body.v2 .footer_cta_col__tel-num, body.v2 .sp_cta a span, body.v2 .footer .page-top span, body.v2 .nav-drawer__tel a {
  font-family: var(--en) !important; font-weight: 500 !important; letter-spacing: .06em;
}
/* G. 下層の表紙：文字を読みやすく */
body.v2 .l-page-cover::after { background: rgba(255,255,255,.68) !important; }

@media (max-width: 767px) {
  /* B,N. MVの上の空白を詰める */
  body.v2 .v2-mv { padding-top: 14vw !important; }
  body.v2 .v2-mv__visual { margin-top: 0 !important; }
  /* C. Make Happiness の折り返し */
  body.v2 .v2-happiness__lead { font-size: 8.4vw; white-space: nowrap; letter-spacing: .06em; }
  body.v2 .v2-happiness__desc { font-size: 3.4vw; letter-spacing: .02em; }
  body.v2 .v2-happiness__en { font-size: 2.6vw; letter-spacing: .06em; }
  /* D. トップ会社概要の文 */
  body.v2 .home-shop .home-section__desc { font-size: 3.4vw; letter-spacing: .02em; }
  /* H. 表の見出しを横幅いっぱいに */
  body.v2 .sub-shop__table th { width: auto !important; display: block; }
  body.v2 .sub-shop__table th small { display: inline; margin-left: .6em; }
  /* I. 取り扱い業務カードは1列 */
  body.v2 .about-business-cards { display: block !important; }
  body.v2 .about-business-card { width: auto !important; margin: 0 0 4vw !important; transform: none !important; }
  /* J. 業務の流れ：STEPは小さなラベル、つなぎの四角は消す */
  body.v2 .flow li .icon { display: inline-block !important; width: auto !important; padding: .4em 1.4em !important; }
  body.v2 .flow li::before, body.v2 .flow li::after, body.v2 .flow::before { display: none !important; }
}
@media (max-width: 767px) {
  body.v2 .home-center__text { box-sizing: border-box; width: 100% !important; max-width: 100% !important; margin: 0 !important; }
  body.v2 .home-center__container { display: flex; flex-direction: column; }
  body.v2 .home-center__container.-price .home-center__text { order: -1; }
  body.v2 .v2-mv__side { padding-top: 10vw; }
}
@media (max-width: 767px) {
  body.v2 .home-center__text .home-section__desc { width: auto !important; max-width: 100% !important; }
}

/* Make Happiness（旧「あとりえそら」の由来の位置） */
body.v2 .v2-mh__ttl {
  text-align: center;
  color: var(--sky-d);
  font-family: var(--en) !important;
  font-size: clamp(3.2rem, 3.6vw, 4.8rem);
  font-weight: 300;
  letter-spacing: .12em;
  margin-bottom: 4rem;
}
body.v2 .v2-mh .sub-shop__container { align-items: center; }
body.v2 .v2-mh__desc { font-size: 1.7rem !important; line-height: 2.1; letter-spacing: .06em; color: var(--text); }
body.v2 .v2-mh__en { margin-top: 1.6rem; font-family: var(--en) !important; font-size: 1.35rem; letter-spacing: .12em; color: var(--text-l); }
@media (max-width: 767px) {
  body.v2 .v2-mh__ttl { font-size: 8.4vw; letter-spacing: .06em; white-space: nowrap; margin-bottom: 6vw; }
  body.v2 .v2-mh__desc { font-size: 3.6vw !important; text-align: center; }
  body.v2 .v2-mh__en { font-size: 2.8vw; text-align: center; letter-spacing: .04em; }
}

/* 申請代行の図：文字を大きく（円も合わせて拡大） */
body.v2 .v2-diagram { grid-template-columns: 34rem 62rem; }
body.v2 .v2-diagram__c { width: 19rem; height: 19rem; font-size: 1.5rem; line-height: 1.6; }
body.v2 .v2-diagram__core { width: 15rem; height: 15rem; font-size: 1.8rem; }
body.v2 .v2-diagram__arrow { font-size: 1.45rem; }
body.v2 .v2-diagram__ring { width: 62rem; height: 62rem; }
body.v2 .v2-diagram__ring::before { left: 9.5rem; top: 9.5rem; width: 43rem; height: 43rem; }
/* 中心(31,31)から半径21.5remの円周上に5つ（円の半径9.5rem） */
body.v2 .v2-diagram__c.-p1 { left: 21.5rem; top: 0; }
body.v2 .v2-diagram__c.-p2 { left: 41.9rem; top: 14.9rem; }
body.v2 .v2-diagram__c.-p3 { left: 34.1rem; top: 38.9rem; }
body.v2 .v2-diagram__c.-p4 { left: 8.9rem;  top: 38.9rem; }
body.v2 .v2-diagram__c.-p5 { left: 1.1rem;  top: 14.9rem; }
@media (max-width: 1100px) {
  body.v2 .v2-diagram { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body.v2 .v2-diagram__ring { width: auto; height: auto; }
  body.v2 .v2-diagram__ring .v2-diagram__c,
  body.v2 .v2-diagram__core { width: 42vw; height: 42vw; font-size: 3.4vw; }
  body.v2 .v2-diagram__c.-out { width: 50vw; height: 50vw; font-size: 3.6vw; }
  body.v2 .v2-diagram__arrow { font-size: 3.4vw; }
}

/* =========================================================
   実績紹介（一覧・カテゴリ・詳細）とお問い合わせ（2026-11-14）
========================================================= */
/* --- 一覧・カテゴリ --- */
body.v2 .sub-archive { padding-top: 8rem; }
body.v2 .sub-archive__box_wide { max-width: 120rem; margin: 0 auto; padding: 0 4rem; box-sizing: border-box; }
body.v2 .sub-archive .column { display: flex !important; flex-direction: column; }
body.v2 .sub-archive .column__main { width: 100% !important; max-width: none !important; }
body.v2 .sub-archive .column__side { order: -1; width: auto !important; max-width: none !important; margin: 0 0 5rem !important; padding: 0 !important; position: static !important; }
body.v2 .sub-archive .cat-flex { display: flex !important; justify-content: center; align-items: center; gap: 2rem; }
body.v2 .sub-archive .side__ttl { font-family: var(--en) !important; font-size: 1.2rem; letter-spacing: .3em; color: var(--sky); margin: 0 !important; }
body.v2 .sub-archive .side__cat { display: flex !important; gap: 1.2rem; margin: 0 !important; }
body.v2 .sub-archive .side__cat li { margin: 0 !important; border: 0 !important; background: none !important; }
body.v2 .sub-archive .side__cat li a {
  display: inline-block; padding: .7rem 2.2rem; border: 1px solid var(--sky) !important; border-radius: 999px;
  color: var(--sky-d) !important; font-size: 1.3rem; letter-spacing: .1em; background: #fff;
}
body.v2 .sub-archive .side__cat li a:hover { background: var(--sky) !important; color: #fff !important; }
body.v2 .sub-archive .p-panel {
  display: grid !important; grid-template-columns: repeat(3, 1fr); gap: 4.4rem 3.2rem; margin: 0 !important;
}
body.v2 .sub-archive .p-panel__item { width: auto !important; margin: 0 !important; padding: 0 !important; display: block; }
body.v2 .sub-archive .p-panel__img-wrap { padding-top: 0 !important; aspect-ratio: 4 / 3; overflow: hidden; position: relative; }
body.v2 .sub-archive .p-panel__img-wrap img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
body.v2 .sub-archive .p-panel__inner-works { padding: 1.4rem 0 0 !important; background: none !important; }
body.v2 .sub-archive .p-panel__ttl h3 { padding: 0 !important; font-size: 1.6rem; font-weight: 500; letter-spacing: .1em; color: var(--text) !important; text-align: left; }
body.v2 .sub-archive .p-panel__category { margin-top: .4rem; }
body.v2 .sub-archive .p-panel__category-name { color: var(--sky-d) !important; font-size: 1.15rem; letter-spacing: .14em; background: none !important; padding: 0 !important; }
body.v2 .pagination-wrapper { margin-top: 6rem; text-align: center; }
body.v2 .page-numbers { color: var(--sky-d) !important; border: 1px solid var(--line) !important; border-radius: 999px; background: #fff !important; }
body.v2 .page-numbers.current { background: var(--sky) !important; color: #fff !important; border-color: var(--sky) !important; }
/* スマホ：カテゴリはプルダウン */
body.v2 .sub-archive .select { padding: 0 !important; margin-bottom: 8vw !important; }
body.v2 .sub-archive .select__ttl { font-family: var(--en) !important; font-size: 3vw; letter-spacing: .3em; color: var(--sky); text-align: center; margin-bottom: 3vw; }
body.v2 .sub-archive .select__wrap, body.v2 .sub-archive .select__wrap select {
  border: 1px solid var(--sky) !important; border-radius: 999px; color: var(--sky-d) !important; background: #fff !important;
}
@media (max-width: 767px) {
  body.v2 .sub-archive { padding-top: 12vw; }
  body.v2 .sub-archive__box_wide { padding: 0 6vw; }
  body.v2 .sub-archive .p-panel { grid-template-columns: 1fr 1fr; gap: 7vw 4vw; }
  body.v2 .sub-archive .p-panel__ttl h3 { font-size: 3.6vw; }
  body.v2 .sub-archive .p-panel__category-name { font-size: 2.8vw; }
}

/* --- 詳細 --- */
body.v2 .sub-single__category li { border: 1px solid var(--sky) !important; color: var(--sky-d) !important; border-radius: 999px; padding: .2rem 1.4rem !important; background: #fff !important; }
body.v2 .sub-single__title { color: var(--text) !important; font-weight: 500; letter-spacing: .1em; }
body.v2 .sub-single__title-area { border-color: var(--line) !important; }
body.v2 .project-slider__dots img { border-radius: .3rem; }
body.v2 .project-slider__arw { filter: none; opacity: .6; }
body.v2 .sub-single .sub-shop__table th { font-family: var(--en) !important; letter-spacing: .14em; }

/* --- お問い合わせ --- */
body.v2 .sub-contact .c-heading01 {
  font-family: var(--en) !important; color: var(--sky-d) !important; font-size: 2.4rem; font-weight: 400; letter-spacing: .2em; text-align: center;
}
body.v2 .sub-contact .c-heading01 span { font-family: var(--ja) !important; color: var(--text) !important; font-size: 1.3rem; letter-spacing: .1em; }
body.v2 .sub-contact__tel, body.v2 .sub-contact__fax { font-family: var(--en) !important; color: var(--text) !important; letter-spacing: .06em; }
body.v2 .sub-contact__tel::before { filter: invert(62%) sepia(28%) saturate(560%) hue-rotate(172deg) brightness(92%); }
body.v2 .wpcf7 .required {
  background: #fff !important; color: var(--sky-d) !important; border: 1px solid var(--sky); border-radius: 999px;
  padding: .1rem .9rem !important; font-size: 1.1rem; font-weight: 500;
}
body.v2 .wpcf7 input[type="text"], body.v2 .wpcf7 input[type="email"], body.v2 .wpcf7 input[type="tel"], body.v2 .wpcf7 textarea {
  background: var(--sky-ll) !important; border: 1px solid var(--line) !important; border-radius: .4rem; color: var(--text);
}
body.v2 .wpcf7 input:focus, body.v2 .wpcf7 textarea:focus { outline: none; border-color: var(--sky) !important; background: #fff !important; }
body.v2 .wpcf7 .wpcf7-submit {
  background: var(--sky) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
  font-family: var(--ja) !important; letter-spacing: .2em; padding: 1.8rem 6rem !important; cursor: pointer;
}
body.v2 .wpcf7 .wpcf7-submit:hover { background: var(--sky-d) !important; }
body.v2 .privacy-policy { background: var(--gray-l) !important; border: 0 !important; border-radius: .6rem; }
body.v2 .privacy-policy__head { color: var(--sky-d) !important; }
body.v2 .privacy-policy__detail { color: var(--text) !important; }
/* お問い合わせ・送信完了ページでは下の「お問い合わせはこちらから」帯を出さない */
body.v2.page-id-13 .footer_cta, body.v2.page-id-20 .footer_cta { display: none !important; }
/* 検品後の追加修正 */
body.v2 .sub-archive .column { flex-direction: column !important; }
body.v2 .sub-archive .column__side { order: -1 !important; }
body.v2 .pagination-wrapper div.page-numbers { border: 0 !important; background: none !important; }
body.v2 .pagination-wrapper__sp .page-numbers:empty { display: none !important; }
body.v2 .sub-single__category, body.v2 .sub-single__category ul { border: 0 !important; background: none !important; padding: 0 !important; }
body.v2 .sub-single__category li { display: inline-block; }
body.v2 .sub-contact__item-top > span:not([class]) { display: none !important; }
body.v2 .sub-contact__fax { display: block !important; margin-top: .6rem; font-size: 1.4rem; }
body.v2 .sub-contact__item-top { text-align: center; }
