img { max-width: 100%; height: auto; }

:root{
  --bg:#ffffff; --ink:#4e5b61; --main:#42B6F0; --main-dark:#42B6F0; --pale:#D6F1FF;
  --accent:#FFE155; --yellow:#FFF1B5; --yellow-soft:#FFF6CC; --line:#ADE4FF; --shadow:0 12px 34px rgba(66,182,240,.18);
  --radius:14px; --content:1120px;
}
*{box-sizing:border-box} html,body{margin:0;padding:0;overflow-x:clip;scroll-behavior:smooth} body{font-family:"Zen Kaku Gothic New",sans-serif;color:var(--ink);background:var(--bg);line-height:1.8;font-size:16px} a{color:inherit;text-decoration:none} button,input,textarea,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:min(var(--content),calc(100% - 80px));margin-inline:auto}.bleed-left { margin-left: calc(50% - 50vw); }.bleed-right { margin-right: calc(50% - 50vw); }.bleed-full { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.97);box-shadow:0 1px 0 rgba(8,142,180,.07)}.header-inner{height:82px;width:calc(100% - 48px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand{display:inline-flex;flex-direction:column;line-height:1;color:var(--main-dark);letter-spacing:.08em}.brand strong{font-size:22px;font-weight:700}.brand span{font-size:9px;letter-spacing:.34em;margin-top:7px}.global-nav{display:flex;align-items:center;gap:42px;font-size:14px;font-weight:500}.global-nav a{padding:12px 0}.global-nav .nav-cta{border:1.5px solid var(--main);padding:11px 28px;border-radius:3px;color:var(--main-dark)}.menu-button{display:none;border:0;background:none;padding:10px}.menu-button span:not(.sr-only){display:block;width:24px;height:2px;background:var(--main-dark);margin:5px}

.hero{min-height:560px;position:relative;background:#fff;isolation:isolate;overflow:visible}.hero::before,.hero::after{content:"";position:absolute;border-radius:45% 55% 60% 40%;z-index:-2;opacity:.85}.hero::before{width:210px;height:300px;background:#e7f7fb;left:-80px;top:145px;transform:rotate(18deg)}.hero::after{width:130px;height:180px;background:var(--yellow);right:-48px;top:120px;transform:rotate(-18deg)}.hero-photo{position:absolute;right:0;top:0;width:62%;height:560px;z-index:-1;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 50%}.hero-copy{padding-top:95px}.hero-copy h1{margin:0;color:var(--main-dark);font-size:clamp(34px,4vw,58px);line-height:1.45;letter-spacing:.04em;font-weight:700}.hero-copy p{margin:28px 0 30px;line-height:1.9;color:#4c5e65;font-weight:500}.button{min-height:48px;min-width:200px;padding:12px 28px;display:inline-flex;align-items:center;justify-content:space-between;gap:26px;border-radius:5px;font-weight:700;font-size:14px;transition:.25s ease-out}.button-accent{background:var(--accent);color:#fff;box-shadow:0 7px 18px rgba(255,181,51,.25)}.button-outline{border:1.5px solid var(--main);color:var(--main-dark);background:#fff}.button-white{border:1.5px solid var(--main);color:var(--main-dark);background:#fff}.button:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.hero-copy__accent{color:var(--main-dark)}

.section{padding:92px 0;position:relative}.section h2,.heading-row h2{color:var(--main-dark);font-size:clamp(32px,3vw,46px);line-height:1.2;margin:0 0 28px;letter-spacing:.05em}.section-heading{margin-bottom:40px!important}.two-col{display:grid;grid-template-columns:1fr 1.08fr;gap:90px}.align-center{align-items:center}.copy p{max-width:480px;margin:0 0 30px}.photo-card img{display:block;width:100%;height:100%;object-fit:cover;border-radius:12px}.photo-card{height:340px}.about::after{content:"";position:absolute;right:-45px;bottom:10px;width:140px;height:190px;background:#eff9fc;border-radius:48% 52% 62% 38%;transform:rotate(28deg);z-index:-1}

.service{padding-top:45px}

.heading-row{display:flex;align-items:baseline;gap:34px;margin-bottom:38px}.heading-row h2{margin:0}.heading-row p{margin:0}.news-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}

.news{padding-top:74px}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.news-card{background:#fff;border:1px solid #e5edf0;border-radius:5px;overflow:hidden;box-shadow:0 7px 20px rgba(0,0,0,.035);transition:.25s ease-out}.news-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.news-body{padding:18px 18px 20px;position:relative;min-height:150px}.news-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:11px}.news-meta span{color:#fff;background:var(--main);border-radius:999px;padding:3px 10px}.news-meta time{color:#87959a}.news-card h3{font-size:15px;line-height:1.75;font-weight:500;margin:12px 22px 0 0}.news-arrow{position:absolute;right:16px;bottom:12px;color:var(--main);font-size:22px}

.contact{min-height:260px;position:relative;background:linear-gradient(90deg,#e9f8fb 0 68%,rgba(233,248,251,.5));margin-top:70px;overflow:hidden}.contact-photo{position:absolute;right:0;top:0;width:34%;height:100%}.contact-photo img{width:100%;height:100%;object-fit:cover}.contact-inner{min-height:260px;display:grid;grid-template-columns:1fr .9fr;align-items:center;gap:80px;position:relative;z-index:2;padding-top:38px;padding-bottom:38px}.contact h2{color:var(--main-dark);font-size:30px;margin:0 0 14px}.contact p{margin:0}.contact-actions{display:grid;gap:12px;max-width:360px}.contact-actions small{font-size:11px}.site-footer{background:linear-gradient(180deg,#dbf3f8,#d1eef4);padding:50px 0 30px}.footer-grid{display:grid;grid-template-columns:1.1fr 1.5fr .6fr;gap:40px;align-items:start}.footer-brand{margin-bottom:18px}.footer-grid p{font-size:12px}.footer-nav{display:flex;gap:28px;flex-wrap:wrap;font-size:12px}.external-links{font-size:12px;display:flex;gap:12px;justify-content:flex-end}.footer-bottom{display:flex;justify-content:space-between;gap:30px;margin-top:42px;font-size:11px}.footer-bottom div{display:flex;gap:12px}.to-top{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border:1px solid var(--main);background:#fff;color:var(--main-dark);border-radius:50%;z-index:90;opacity:0;pointer-events:none;transform:translateY(8px);transition:.2s}.to-top.is-visible{opacity:1;pointer-events:auto;transform:none}

.js .reveal{opacity:0;transform:translateY(16px);transition:opacity .38s ease-out,transform .38s ease-out}.js .reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid #ffca69;outline-offset:4px}

@media(max-width:900px){.container{width:min(100% - 40px,720px)}.header-inner{width:calc(100% - 30px);height:68px}.menu-button{display:block;z-index:102}.global-nav{position:fixed;inset:68px 0 auto 0;background:#fff;padding:22px 20px 26px;display:grid;gap:4px;box-shadow:0 12px 30px rgba(0,0,0,.08);transform:translateY(-130%);transition:.25s;z-index:101}.global-nav.is-open{transform:none}.global-nav a{padding:12px}.global-nav .nav-cta{text-align:center}.hero{min-height:auto;padding-bottom:54px;display:flex;flex-direction:column}.hero-photo{position:relative;order:2;width:100%;height:auto;margin-top:28px}.hero-photo img{aspect-ratio:3/2;object-fit:cover}.hero-copy{padding-top:58px;order:1}.hero-copy h1{font-size:clamp(34px,9vw,48px)}.hero-copy p br{display:none}.section{padding:60px 0}.two-col,.contact-inner{grid-template-columns:1fr}.two-col{gap:34px}.photo-card{height:auto}.photo-card img{aspect-ratio:3/2}.heading-row{display:block}.heading-row p{margin-top:-14px}.news-grid{grid-template-columns:1fr 1fr}.contact{margin-top:40px}.contact-photo{opacity:.18;width:100%}.contact-inner{gap:28px;min-height:360px}.contact-actions{max-width:100%}.contact-actions .button{max-width:360px;width:100%}.footer-grid{grid-template-columns:1fr;gap:26px}.footer-nav{gap:18px}.external-links{justify-content:flex-start}.footer-bottom{display:block}.footer-bottom small{display:block;margin-top:18px}}
@media(max-width:560px){body{font-size:16px}.container{width:calc(100% - 36px)}.section{padding:54px 0}.button{width:100%;max-width:360px}.hero-copy{padding-top:44px}.hero-copy h1{font-size:34px;line-height:1.5}.hero-copy p{line-height:1.8}.news-grid{grid-template-columns:1fr}.section h2,.heading-row h2{font-size:31px}.heading-row p{margin-top:12px;text-align:left}.footer-nav{display:grid;grid-template-columns:1fr 1fr}.footer-bottom div{display:grid;grid-template-columns:1fr 1fr;gap:8px}.footer-bottom div span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.button,.news-card,.to-top,.global-nav{transition:none!important;transform:none!important}.js .reveal{opacity:1!important}}

/* 添付デザインとの見た目合わせ */
@media (min-width:901px){
  .header-inner{height:88px}
  .brand{display:inline-flex;flex-direction:row;align-items:center;gap:9px}
  .brand span.brand-type{font-size:inherit;letter-spacing:normal;margin-top:0}
  .brand-mark{width:42px;height:34px;overflow:visible;fill:none;stroke:var(--main);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  .brand-type{display:flex;flex-direction:column}
  .brand small{font-size:9px;letter-spacing:.34em;margin-top:7px}
  .hero{min-height:548px;overflow:hidden}
  .hero::before{width:145px;height:190px;background:var(--yellow);left:-58px;top:145px;transform:rotate(16deg)}
  .hero::after{width:175px;height:145px;background:#e7f7fb;left:-65px;right:auto;top:auto;bottom:-58px;transform:rotate(-18deg)}
  .hero-photo{width:100%;height:548px}
  .hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 25%,rgba(255,255,255,.72) 39%,rgba(255,255,255,0) 58%)}
  .hero-photo img{object-position:center 35%}
  .hero-copy{padding-top:92px}
  .hero-copy h1{font-size:clamp(34px,4vw,54px)}
  .hero-copy p{margin:24px 0 28px}
  .button{min-width:250px}
  .section{padding:68px 0}
  .section h2,.heading-row h2{font-size:clamp(32px,3vw,42px);margin-bottom:24px}
  .section h2.section-heading{margin-bottom:34px}
  .photo-card{height:300px}
  .service{padding-top:38px}
  .service-photo{height:430px}
  .service-panel{padding:32px 40px}
  .heading-row{margin-bottom:32px}
  .news{padding-top:60px}
  .news-card img{aspect-ratio:2/1}
  .news-body{padding:16px 18px 18px;min-height:132px}
  .contact{min-height:250px;margin-top:48px}
  .contact-inner{min-height:250px;padding-top:34px;padding-bottom:34px}
}
.news{overflow:hidden}
.service{overflow:hidden}.service::before{content:"";position:absolute;left:-74px;bottom:0;width:170px;height:140px;background:#e7f7fb;border-radius:46% 54% 61% 39%;transform:rotate(18deg);z-index:-1}
.news::before{content:"";position:absolute;left:-60px;bottom:0;width:155px;height:135px;background:#e8f7fb;border-radius:45% 55% 65% 35%;transform:rotate(24deg);z-index:-1}

@media(max-width:900px){
  .brand{display:inline-flex;flex-direction:row;align-items:center;gap:7px}
  .brand span.brand-type{font-size:inherit;letter-spacing:normal;margin-top:0}
  .brand-mark{width:34px;height:28px;overflow:visible;fill:none;stroke:var(--main);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
  .brand-type{display:flex;flex-direction:column}
  .brand small{font-size:8px;letter-spacing:.28em;margin-top:5px}
}

/* 2026-10-22 指定カラーパレット */
.site-header{box-shadow:0 1px 0 rgba(66,182,240,.14)}
.hero::after,.service::before,.news::before{background:#D6F1FF}
.about::after{background:#D6F1FF}
.button-accent{color:var(--ink);box-shadow:0 7px 18px rgba(255,225,85,.3)}
.service-panel{background:linear-gradient(135deg,#D6F1FF,#ADE4FF);box-shadow:0 10px 26px rgba(66,182,240,.12)}
.news-card{border-color:#D6F1FF}
.news-meta span{color:var(--ink);background:#ADE4FF;font-weight:700}
.contact{background:linear-gradient(90deg,#D6F1FF 0 68%,rgba(214,241,255,.55))}
.site-footer{background:linear-gradient(180deg,#D6F1FF,#ADE4FF)}
:focus-visible{outline-color:#FFE155}
.brand-logo{display:block;width:150px;height:auto}
.footer-brand .brand-logo{width:160px}
@media(max-width:900px){.brand-logo{width:124px}.footer-brand .brand-logo{width:150px}}
.news-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:760px;margin-inline:auto}
@media(max-width:560px){.news-grid{grid-template-columns:1fr;max-width:none}}

/* 2026-10-22 ヒーローと透過固定ヘッダー */
.site-header{
  position:fixed;
  right:0;
  left:0;
  background:rgba(255,255,255,.34);
  box-shadow:0 1px 0 rgba(255,255,255,.5);
  -webkit-backdrop-filter:blur(8px) saturate(120%);
  backdrop-filter:blur(8px) saturate(120%);
}
.section,.contact{scroll-margin-top:88px}
@media(min-width:901px){
  .hero{min-height:780px}
  .hero-photo{height:780px}
  .hero-copy{width:calc(100% - clamp(48px,8vw,120px));padding-top:245px;padding-left:32px}
}
@media(max-width:900px){
  .site-header{background:rgba(255,255,255,.58)}
  .hero-copy{padding-top:112px}
  .section,.contact{scroll-margin-top:68px}
}

/* 2026-10-22 セクション間の余白調整 */
.section{padding-block:clamp(88px,8vw,120px)}
.contact{margin-top:clamp(72px,7vw,100px)}
@media(max-width:900px){.section{padding-block:80px}.contact{margin-top:64px}}
@media(max-width:560px){.section{padding-block:68px}.contact{margin-top:56px}}

/* 2026-10-22 6サービスのカード表示 */
.service-lead{max-width:none;margin:0 0 42px;line-height:1.9}
.service-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.service-card{display:flex;min-width:0;flex-direction:column;overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(66,182,240,.08);transition:transform .25s ease-out,box-shadow .25s ease-out}
.service-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.service-card img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.service-card__body{display:flex;min-height:180px;flex:1;flex-direction:column;padding:26px 24px 28px}
.service-card h3{margin:0 0 16px;color:var(--main-dark);font-size:clamp(19px,1.65vw,24px);line-height:1.45;letter-spacing:.03em}
.service-card p{margin:0;font-size:14px;line-height:1.8;text-align:left}
@media(max-width:900px){.service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.service-card__body{min-height:168px}}
@media(max-width:560px){.service-lead{margin-bottom:30px}.service-card-grid{grid-template-columns:1fr;gap:22px}.service-card__body{min-height:0;padding:22px 20px 24px}.service-card h3{font-size:21px}}

/* 2026-10-22 完全透過ヘッダー */
.site-header{
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
.brand-logo{filter:drop-shadow(0 1px 3px rgba(255,255,255,.95)) drop-shadow(0 0 8px rgba(255,255,255,.72))}
@media(min-width:901px){
  .global-nav>a:not(.nav-cta){color:#35515e;font-weight:700;text-shadow:0 1px 2px #fff,0 0 8px rgba(255,255,255,.98),0 0 14px rgba(255,255,255,.9)}
  .global-nav>a:not(.nav-cta):hover{color:var(--main-dark)}
  .global-nav .nav-cta{border-color:var(--accent);background:var(--accent);color:var(--ink);box-shadow:0 6px 18px rgba(78,91,97,.16)}
}
@media(max-width:900px){
  .site-header{background:transparent}
  .menu-button{border-radius:999px;background:rgba(255,255,255,.88);box-shadow:0 4px 14px rgba(78,91,97,.14)}
}

/* 2026-10-22 追従ヘッダーの視認性調整 */
.site-header{
  background:rgba(255,255,255,.78);
  -webkit-backdrop-filter:blur(10px) saturate(120%);
  backdrop-filter:blur(10px) saturate(120%);
}
.global-nav .nav-cta{border-color:#ADE4FF;background:#ADE4FF;color:var(--ink);box-shadow:0 6px 18px rgba(66,182,240,.18)}
@media(max-width:900px){.site-header{background:rgba(255,255,255,.88)}}

/* 2026-10-22 スクロール時のみ半透明にするヘッダー */
.site-header{
  background:transparent;
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:background-color .25s ease,box-shadow .25s ease,-webkit-backdrop-filter .25s ease,backdrop-filter .25s ease;
}
.site-header.is-scrolled{
  background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.68) 48%,rgba(255,255,255,0) 100%);
  box-shadow:none;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
}
@media(max-width:900px){
  .site-header{background:transparent}
}

/* 2026-10-22 ヒーロー画像の縦幅を拡張 */
@media(max-width:900px){
  .hero-photo img{aspect-ratio:4/3}
}

/* 2026-10-22 ヘッダーメニューの視認性とホバー効果 */
.global-nav{font-size:16px}
.global-nav .nav-cta{
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease;
}
.global-nav .nav-cta:hover{
  border-color:#F4CE3F;
  background:#F4CE3F;
  color:var(--ink);
  box-shadow:0 10px 24px rgba(255,225,85,.42);
  transform:translateY(-2px);
}
@media(prefers-reduced-motion:reduce){
  .global-nav .nav-cta{transition:none}
}

/* 2026-10-22 ホバー効果の速度を統一 */
.button,
.news-card,
.service-card,
.global-nav .nav-cta{
  transition-duration:.9s;
}
.global-nav>a:not(.nav-cta){
  transition:color .9s ease;
}
@media(prefers-reduced-motion:reduce){
  .global-nav>a:not(.nav-cta){transition:none}
}

/* 2026-10-22 ヒーローのプラットフォーム導線 */
.hero-platform-button{
  min-height:78px;
}
.hero-platform-button__label{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  line-height:1.25;
  text-align:left;
}
.hero-platform-button__label small{
  font-size:11px;
  font-weight:500;
  letter-spacing:.04em;
}
.hero-platform-button__label strong{
  align-self:flex-end;
  font-size:18px;
  letter-spacing:.03em;
}

/* 2026-10-22 ヘッダーとヒーローCTAの配色 */
.global-nav .nav-cta{
  border-color:var(--accent);
  background:var(--accent);
  color:var(--ink);
  box-shadow:0 6px 18px rgba(255,225,85,.28);
}
.hero-platform-button{
  background:var(--main);
  color:#fff;
  box-shadow:0 8px 22px rgba(66,182,240,.3);
  border-radius:999px;
}

/* 2026-10-23 ボタンを「頼る人、頼られる人、」の中央へ・文字は中央揃え */
.hero-copy{
  display:grid;
  grid-template-columns:minmax(0,max-content);
}
.hero-platform-button{
  justify-self:center;
}
.hero-platform-button__label{
  flex:1;
  align-items:center;
  text-align:center;
}
.hero-platform-button__label strong{
  align-self:center;
}

/* 2026-10-23 フッターのアイコンを背景から浮かせる（白いぼかしの縁） */
.external-icon-link svg,
.external-icon-link img{
  filter:drop-shadow(0 0 3px #fff) drop-shadow(0 0 6px rgba(255,255,255,.9)) drop-shadow(0 3px 8px rgba(66,182,240,.28));
}

/* 2026-10-23 「詳しくはこちら」ボタンの角を丸く */
.button-outline{
  border-radius:999px;
}

/* 2026-10-23 「詳しくはこちら」ボタンの横位置 */
@media(min-width:901px){
  .about .copy .button-outline{margin-left:clamp(24px,4vw,56px)}
  .service-lead{white-space:nowrap}
}

/* 2026-10-23 お問い合わせ画像の透過グラデーション */
.contact-photo{
  width:66.6667%;
  -webkit-mask-image:linear-gradient(to right,transparent 0%,#000 100%);
  mask-image:linear-gradient(to right,transparent 0%,#000 100%);
}
@media(max-width:900px){
  .contact-photo{width:100%}
}

/* 2026-10-23 淡い黄色の背景装飾 */
.about{isolation:isolate}
.about::before{
  content:"";
  position:absolute;
  top:18%;
  left:-82px;
  width:190px;
  height:150px;
  border-radius:42% 58% 62% 38%;
  background:var(--yellow-soft);
  opacity:.82;
  pointer-events:none;
  transform:rotate(18deg);
  z-index:-1;
}
@media(max-width:560px){
  .about::before{top:10%;left:-62px;width:130px;height:105px}
}

/* Footer legal links removed; keep the copyright aligned cleanly. */
.footer-bottom{justify-content:flex-end}
.footer-address{white-space:nowrap;font-size:clamp(9px,2.7vw,12px)}
.footer-brand{margin-bottom:0}
.footer-grid p{margin:0}
.footer-right{align-self:stretch;display:flex;flex-direction:column;align-items:flex-end;font-size:11px}
.footer-right small{margin-top:auto;white-space:nowrap}
.external-links{align-items:center;gap:12px}
.external-icon-link{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;transition:transform .9s ease,opacity .9s ease}
.external-icon-link:hover{opacity:.78;transform:translateY(-2px)}
.external-icon-link svg{display:block;width:30px;height:30px}
.external-icon-link img{display:block;width:36px;height:36px;object-fit:contain}
@media(prefers-reduced-motion:reduce){
  .external-icon-link{transition:none}
  .external-icon-link:hover{transform:none}
}
@media(min-width:901px){
  .footer-brand{margin-top:-13px}
  .footer-nav,
  .external-links{margin-top:14px}
}
@media(max-width:900px){
  .footer-bottom{text-align:right}
  .footer-bottom small{margin-top:0}
  .footer-right{align-items:flex-start;gap:18px}
  .footer-right small{margin-top:0}
}

/* 2026-10-23 淡い黄色の背景装飾を左右へ追加 */
.news,
.service,
.contact{isolation:isolate}
.news>.container,
.service>.container{position:relative;z-index:1}
.news::after,
.service::after{
  content:"";
  position:absolute;
  background:var(--yellow-soft);
  opacity:.82;
  pointer-events:none;
  z-index:0;
}
.news::after{
  top:20%;
  right:-96px;
  width:210px;
  height:165px;
  border-radius:58% 42% 38% 62%;
  transform:rotate(-14deg);
}
.service::before{
  background:var(--yellow-soft);
  top:145px;
  right:auto;
  bottom:70px;
  left:-32vw;
  width:min(66vw,950px);
  height:auto;
  border-radius:44% 56% 52% 48%;
  opacity:.74;
  transform:rotate(7deg);
}
.service::after{
  top:64%;
  right:-108px;
  width:230px;
  height:178px;
  border-radius:55% 45% 62% 38%;
  background:#D6F1FF;
  transform:rotate(16deg);
}
@media(max-width:560px){
  .news::after{right:-72px;width:145px;height:115px}
  .service::before{top:120px;right:auto;bottom:35px;left:-75vw;width:126vw;height:auto}
  .service::after{right:-78px;width:155px;height:120px}
}

/* 2026-10-23 「メミッドが目指すもの」の水色背景を拡大 */
.about::after{
  top:50%;
  right:-12vw;
  bottom:auto;
  width:min(72vw,1100px);
  height:clamp(390px,38vw,540px);
  border-radius:58% 42% 48% 52%;
  background:#D6F1FF;
  opacity:.78;
  transform:translateY(-50%) rotate(-7deg);
  pointer-events:none;
}
@media(max-width:900px){
  .about::after{top:34%;right:-42vw;width:96vw;height:500px}
}
@media(max-width:560px){
  .about::after{top:24%;right:-58vw;width:112vw;height:350px}
}

/* 2026-10-23 ページ上部へ戻るボタン */
.to-top{
  background:var(--accent);
  border-color:var(--accent);
  color:var(--ink);
  box-shadow:0 8px 22px rgba(255,225,85,.32);
}

/* 2026-10-23 サービスカードのホバーをお知らせカードへ統一 */
.service-card{border-color:var(--line);box-shadow:0 10px 30px rgba(66,182,240,.08);transition:transform .9s ease-out,box-shadow .9s ease-out}
.service-card h3{color:var(--main-dark)}
.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.service-card--yellow{border-color:#FFE155;box-shadow:0 10px 30px rgba(232,190,31,.1)}
.service-card--yellow h3{color:#B58500}
.service-card--yellow:hover{box-shadow:0 14px 36px rgba(232,190,31,.24)}
@media(prefers-reduced-motion:reduce){
  .service-card{transition:none;transform:none}
}

/* 2026-10-23 お問い合わせセクションの背景 */
.contact{
  background:#fff;
}
.contact-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(214,241,255,.52),rgba(214,241,255,0) 64%);
  pointer-events:none;
}
.contact h2{color:var(--main-dark)}
.contact p{color:#4c5e65}
.contact .button-accent{
  position:relative;
  overflow:hidden;
  min-height:72px;
  padding:15px 16px 15px 28px;
  border:1px solid rgba(214,166,0,.18);
  border-radius:999px;
  background:linear-gradient(135deg,#FFE155,#FFD75A);
  color:var(--ink);
  box-shadow:0 12px 30px rgba(232,190,31,.3),inset 0 1px 0 rgba(255,255,255,.58);
  font-size:16px;
  letter-spacing:.08em;
}
.contact .button-accent::before{
  content:"";
  position:absolute;
  top:-46px;
  left:-18px;
  width:150px;
  height:100px;
  border-radius:50%;
  background:rgba(255,255,255,.2);
  transform:rotate(-12deg);
  pointer-events:none;
}
.contact .button-accent span{
  position:relative;
  display:grid;
  flex:0 0 40px;
  width:40px;
  height:40px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#b88700;
  box-shadow:0 5px 14px rgba(177,128,0,.16);
  transition:transform .9s ease,background-color .9s ease;
}
.contact .button-accent:hover{
  background:linear-gradient(135deg,#FFE155,#FFD75A);
  box-shadow:0 16px 36px rgba(232,190,31,.36),inset 0 1px 0 rgba(255,255,255,.62);
}
.contact .button-accent:hover span{transform:translateX(3px)}
.contact-actions{width:100%;justify-self:end}
@media(prefers-reduced-motion:reduce){
  .contact .button-accent span{transition:none}
  .contact .button-accent:hover span{transform:none}
}

/* 2026-10-23 ヘッダーのお問い合わせボタンを刷新 */
.global-nav .nav-cta{
  display:inline-flex;
  min-height:48px;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:8px 10px 8px 22px;
  border:1px solid rgba(214,166,0,.18);
  border-radius:999px;
  background:
    radial-gradient(ellipse 110px 70px at 14% 0%,rgba(255,255,255,.34) 0 72%,transparent 74%),
    linear-gradient(135deg,#FFE155,#FFD75A);
  color:var(--ink);
  box-shadow:0 8px 22px rgba(232,190,31,.26),inset 0 1px 0 rgba(255,255,255,.58);
  letter-spacing:.06em;
}
.global-nav .nav-cta::after{
  content:"→";
  display:grid;
  width:30px;
  height:30px;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#b88700;
  box-shadow:0 4px 12px rgba(177,128,0,.14);
  transition:transform .9s ease;
}
.global-nav .nav-cta:hover{
  background:
    radial-gradient(ellipse 110px 70px at 14% 0%,rgba(255,255,255,.34) 0 72%,transparent 74%),
    linear-gradient(135deg,#FFE155,#FFD75A);
  color:var(--ink);
  box-shadow:0 12px 28px rgba(232,190,31,.32),inset 0 1px 0 rgba(255,255,255,.62);
}
.global-nav .nav-cta:hover::after{transform:translateX(2px)}
@media(max-width:900px){
  .global-nav .nav-cta{justify-content:space-between;padding:10px 12px 10px 20px}
  .contact-actions{justify-self:start}
}
@media(prefers-reduced-motion:reduce){
  .global-nav .nav-cta::after{transition:none}
  .global-nav .nav-cta:hover::after{transform:none}
}

/* 2026-10-23 「サービスに関するご相談」の縦幅を広げる */
.contact,
.contact-inner{
  min-height:400px;
}
.contact-inner{
  padding-top:clamp(64px,7vw,96px);
  padding-bottom:clamp(64px,7vw,96px);
}

/* 2026-10-23 スマホ版：ヒーロー画像を上、キャッチコピーを下に入れ替え */
@media(max-width:900px){
  .hero-photo{order:1;margin-top:0}
  .hero-copy{order:2;padding-top:40px}
}

/* 2026-10-23 スマホ版：「メミッドが目指すもの」の画像を上、文章を下に入れ替え */
@media(max-width:900px){
  .about .photo-card{order:-1}
}

/* 2026-10-23 お問い合わせボタン：文字を左右中央に・スマホではボタン自体も中央に */
.contact .button-accent{
  justify-content:center;
  padding-left:72px;
  padding-right:72px;
}
.contact .button-accent span{
  position:absolute;
  top:50%;
  right:16px;
  transform:translateY(-50%);
}
.contact .button-accent:hover span{transform:translate(3px,-50%)}
@media(prefers-reduced-motion:reduce){
  .contact .button-accent:hover span{transform:translateY(-50%)}
}
@media(max-width:900px){
  .contact-actions{justify-self:center;justify-items:center}
}

/* 2026-10-23 スマホ版：「memidへ」ボタンの横幅を小さく */
@media(max-width:900px){
  .hero-platform-button{width:min(100%,280px)}
}

/* 2026-10-23 スマホメニュー：お問い合わせボタンの横幅を小さく */
@media(max-width:900px){
  .global-nav .nav-cta{width:min(100%,240px);justify-self:center;margin-top:8px}
}

/* 2026-10-23 スマホ版：「詳しくはこちら」ボタンを細く・文字もボタンも中央に */
@media(max-width:900px){
  .about .copy .button-outline{
    position:relative;
    display:flex;
    width:min(100%,280px);
    margin-inline:auto;
    justify-content:center;
    padding-left:56px;
    padding-right:56px;
  }
  .about .copy .button-outline span{
    position:absolute;
    top:50%;
    right:24px;
    transform:translateY(-50%);
  }
}

/* 2026-10-23 スマホ版：ヒーロー画像を縦に広げ、下に向けて透明になるグラデーション */
@media(max-width:900px){
  .hero-photo img{
    aspect-ratio:1/1;
    -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);
    mask-image:linear-gradient(180deg,#000 0%,#000 45%,transparent 100%);
  }
}

/* 2026-10-23 スマホ版：お問い合わせボタンの横幅を小さく */
@media(max-width:900px){
  .contact-actions .button{width:min(100%,280px);max-width:280px}
}

/* 2026-10-23 スマホ版：お問い合わせ背景画像も右=不透明 → 左=100%透明のグラデーションに */
@media(max-width:900px){
  .contact-photo{opacity:1}
}

/* 2026-10-23 スマホメニュー：背景に薄い水色・薄い黄色の装飾 */
@media(max-width:900px){
  .global-nav{overflow:hidden}
  .global-nav::before,
  .global-nav::after{
    content:"";
    position:absolute;
    z-index:-1;
    pointer-events:none;
  }
  .global-nav::before{
    top:-46px;
    right:-58px;
    width:190px;
    height:160px;
    border-radius:58% 42% 48% 52%;
    background:#D6F1FF;
    opacity:.8;
    transform:rotate(-12deg);
  }
  .global-nav::after{
    bottom:-52px;
    left:-48px;
    width:170px;
    height:140px;
    border-radius:42% 58% 62% 38%;
    background:var(--yellow-soft);
    opacity:.9;
    transform:rotate(16deg);
  }
}

/* 2026-10-23 スマホ版：キャッチコピーを上へ移動し、ヒーロー画像の透明部分に重ねる */
@media(max-width:900px){
  .hero-copy{position:relative;z-index:1;margin-top:-28vw;padding-top:0}
  .hero-copy h1{text-shadow:0 0 6px #fff,0 0 14px rgba(255,255,255,.9)}
}

/* 2026-10-23 スマホ版：ヒーロー画像をさらに縦長にし、右側の人物が見えるよう表示位置を右寄せ */
@media(max-width:900px){
  .hero-photo img{aspect-ratio:4/5;object-position:72% 50%}
}

/* 2026-10-23 スマホ版：「メミッドが目指すもの」をタイトル → 画像 → 文章・ボタンの順に */
@media(max-width:900px){
  .about .two-col{row-gap:0}
  .about .copy{display:contents}
  .about .copy h2{order:-2;margin-bottom:24px}
  .about .photo-card{order:-1;margin-bottom:28px}
}

/* 2026-10-23 メニューボタン（三本線）を黄色に */
.menu-button span:not(.sr-only){background:#F2BE1A}

/* 2026-10-23 スマホ版：お問い合わせ欄の見出し・説明文の後ろに白いぼかし（葉の写真の上でも読めるように） */
@media(max-width:900px){
  .contact h2{text-shadow:0 0 6px #fff,0 0 14px rgba(255,255,255,.95),0 0 24px rgba(255,255,255,.85)}
  .contact p{text-shadow:0 0 4px #fff,0 0 10px rgba(255,255,255,.95),0 0 18px rgba(255,255,255,.85)}
}
