@charset "UTF-8";
/* v13｜v11元デザインからChromeのページ倍率75%相当を再現。
 * v12の誤り：zoomだけだとCSSメディアクエリの判定基準が変わらず、
 * 900〜1199pxで縮小済みのタブレットUIがもう一度75%化されてしまう。
 * 通常画面に限定してv11のレスポンシブ閾値を0.75倍に補正し、
 * ポップアップは親zoomの外、元のstyle.css / modal CSSを維持する。
 */
.page-scale { width:100%; zoom:.75; }
/* Page base declarations reset old viewport-breakpoint styles; dialogs excluded. */
@media (min-width:900px) and (max-width:1199px){
:where(.page-scale) .site-header{height:revert;margin-top:revert;width:revert;}
:where(.page-scale) .header-inner{padding:revert;}
:where(.page-scale) .brand--header .brand-symbol{width:revert;height:revert;}
:where(.page-scale) .brand--header .brand-wordmark{width:revert;}
:where(.page-scale) .header-nav>button{font-size:revert;min-width:revert;}
:where(.page-scale) .header-nav img{width:revert;height:revert;}
:where(.page-scale) .hero{min-height:revert;padding:revert;}
:where(.page-scale) .hero-leaves{width:revert;}
:where(.page-scale) .hero-hands{width:revert;}
:where(.page-scale) .hero-kicker{font-size:revert;margin-bottom:revert;}
:where(.page-scale) .hero h1{font-size:revert;margin-bottom:revert;}
:where(.page-scale) .hero-description{font-size:revert;}
:where(.page-scale) .service-grid{gap:revert;}
:where(.page-scale) .services{padding:revert;}
:where(.page-scale) .service-card{min-height:revert;grid-template-rows:revert;padding:revert;border-radius:revert;}
:where(.page-scale) .service-logo{max-height:revert;}
:where(.page-scale) .logo-ren{height:revert;}
:where(.page-scale) .logo-connect{height:revert;width:revert;}
:where(.page-scale) .logo-cad{height:revert;}
:where(.page-scale) .service-photo{width:revert;height:revert;}
:where(.page-scale) .service-text{padding:revert;}
:where(.page-scale) .service-text h2{font-size:revert;margin-bottom:revert;}
:where(.page-scale) .service-text p{font-size:revert;}
:where(.page-scale) .service-btn{min-height:revert;font-size:revert;}
:where(.page-scale) .news{min-height:revert;margin:revert;padding:revert;}
:where(.page-scale) .news-heading{font-size:revert;min-width:revert;gap:revert;padding-right:revert;}
:where(.page-scale) .news-heading img{width:revert;height:revert;}
:where(.page-scale) .news time,:where(.page-scale) .news p{font-size:revert;}
:where(.page-scale) .footer-inner{grid-template-columns:revert;min-height:revert;gap:revert;}
:where(.page-scale) .brand--footer .brand-symbol{width:revert;height:revert;}
:where(.page-scale) .brand--footer .brand-wordmark{width:revert;}
:where(.page-scale) .footer-inner address{font-size:revert;padding:revert;}
:where(.page-scale) .footer-contacts{font-size:revert;gap:revert;}
:where(.page-scale) .footer-contacts img{width:revert;height:revert;}
:where(.page-scale) .copyright{font-size:revert;}
}
@media (min-width:675px) and (max-width:899px){
:where(.page-scale) .site-header{width:revert;margin-top:revert;height:revert;border-radius:revert;}
:where(.page-scale) .header-inner{padding:revert;gap:revert;}
:where(.page-scale) .brand--header{gap:revert;}
:where(.page-scale) .brand--header .brand-symbol{width:revert;height:revert;}
:where(.page-scale) .brand--header .brand-wordmark{width:revert;}
:where(.page-scale) .header-nav>button{min-width:revert;flex:revert;display:revert;flex-direction:revert;gap:revert;padding:revert;font-size:revert;}
:where(.page-scale) .header-nav img{width:revert;height:revert;}
:where(.page-scale) .header-nav{flex:revert;min-width:revert;}
:where(.page-scale) .hero{min-height:revert;padding:revert;}
:where(.page-scale) .hero-leaves{width:revert;top:revert;opacity:revert;}
:where(.page-scale) .hero-hands{width:revert;top:revert;opacity:revert;}
:where(.page-scale) .hero-kicker{font-size:revert;}
:where(.page-scale) .hero h1{font-size:revert;white-space:revert;letter-spacing:revert;max-width:revert;}
:where(.page-scale) .hero-description{font-size:revert;line-height:revert;max-width:revert;}
:where(.page-scale) .only-pc{display:revert;}
:where(.page-scale) .services{padding:revert;}
:where(.page-scale) .service-grid{grid-template-columns:revert;gap:revert;}
:where(.page-scale) .service-card{height:revert;min-height:revert;grid-template-rows:revert;padding:revert;border-radius:revert;}
:where(.page-scale) .service-logo{max-height:revert;}
:where(.page-scale) .logo-ren{height:revert;}
:where(.page-scale) .logo-connect{height:revert;width:revert;}
:where(.page-scale) .logo-cad{height:revert;}
:where(.page-scale) .service-photo{height:revert;width:revert;}
:where(.page-scale) .service-text{padding:revert;}
:where(.page-scale) .service-text h2{font-size:revert;margin-bottom:revert;white-space:revert;}
:where(.page-scale) .service-text p{font-size:revert;}
:where(.page-scale) .service-btn{min-height:revert;font-size:revert;width:revert;}
:where(.page-scale) .news{margin:revert;width:revert;border-radius:revert;gap:revert;padding:revert;flex-wrap:revert;}
:where(.page-scale) .news-heading{min-width:revert;font-size:revert;padding-right:revert;gap:revert;}
:where(.page-scale) .news-heading img{width:revert;height:revert;}
:where(.page-scale) .news time{font-size:revert;}
:where(.page-scale) .news p{flex:revert;font-size:revert;}
:where(.page-scale) .site-footer{padding:revert;}
:where(.page-scale) .footer-inner{grid-template-columns:revert;gap:revert;padding:revert;}
:where(.page-scale) .brand--footer{padding-left:revert;}
:where(.page-scale) .brand--footer .brand-symbol{width:revert;height:revert;}
:where(.page-scale) .brand--footer .brand-wordmark{width:revert;}
:where(.page-scale) .footer-inner address{border:revert;border-left:revert;padding:revert;font-size:revert;line-height:revert;}
:where(.page-scale) .footer-contacts{grid-column:revert;display:revert;flex-direction:revert;justify-content:revert;gap:revert;font-size:revert;}
:where(.page-scale) .footer-contacts img{width:revert;height:revert;}
:where(.page-scale) .copyright{font-size:revert;}
}
@media (min-width:450.75px) and (max-width:600px){
:where(.page-scale) .service-grid{grid-template-columns:revert;max-width:revert;margin:revert;}
:where(.page-scale) .service-card{min-height:revert;grid-template-rows:revert;padding:revert;}
:where(.page-scale) .service-logo{max-height:revert;}
:where(.page-scale) .logo-ren{height:revert;}
:where(.page-scale) .logo-connect{height:revert;width:revert;}
:where(.page-scale) .logo-cad{height:revert;}
:where(.page-scale) .service-photo{height:revert;width:revert;}
:where(.page-scale) .service-text h2{font-size:revert;}
:where(.page-scale) .service-text p{font-size:revert;}
:where(.page-scale) .service-btn{font-size:revert;min-height:revert;}
:where(.page-scale) .hero h1{font-size:revert;}
:where(.page-scale) .hero-kicker{font-size:revert;}
:where(.page-scale) .hero-description{font-size:revert;}
:where(.page-scale) .header-nav>button{font-size:revert;}
:where(.page-scale) .footer-contacts{flex-wrap:revert;}
}
/* Reapply base values after removing stale responsive values. */
.page-scale .site-header{position:relative;z-index:3;width:min(1336px,calc(100% - 76px));margin:10px auto 0;height:72px;border-radius:50px;background:rgba(255,255,255,.96);box-shadow:0 12px 20px #7c4f8a20,0 3px 0 #e8bef0;border:1px solid #f8eefa}
.page-scale .header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;padding:0 42px 0 70px;gap:16px}
.page-scale .brand{display:flex;align-items:center;min-width:0;gap:6px}
.page-scale .brand-symbol{object-fit:contain;flex:none;width:76px;height:70px}
.page-scale .brand-wordmark{object-fit:contain;flex:none;width:162px;height:auto}
.page-scale .header-nav{display:flex;align-items:center;gap:0;margin-left:auto}
.page-scale .header-nav>button{min-height:42px;min-width:153px;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:0;border-left:1px solid #e2b6e6;color:#86108b;font-size:17px;font-weight:800;letter-spacing:.025em;transition:background .2s}
.page-scale .header-nav>button:first-child{border-left:0}
.page-scale .header-nav>button:hover{background:#fef4ff;border-radius:20px}
.page-scale .header-nav img{width:25px;height:25px;object-fit:contain}
.page-scale .hero{position:relative;isolation:isolate;width:100%;min-height:242px;margin-top:-2px;padding:34px 12px 12px;overflow:hidden;background:radial-gradient(ellipse at 11% 30%,#f2ffe7 0%,transparent 41%),radial-gradient(ellipse at 91% 22%,#e1f5ff 0%,transparent 42%),linear-gradient(90deg,#fcfff8,#fff 45%,#fbffff)}
.page-scale .hero::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse at 40% 80%,#fff 25%,transparent 75%);pointer-events:none}
.page-scale .hero-leaves,.page-scale .hero-hands{position:absolute;z-index:-1;pointer-events:none}
.page-scale .hero-leaves{left:0;top:0;width:min(350px,27%)}
.page-scale .hero-hands{right:0;top:0;width:min(360px,29%)}
.page-scale .hero-content{position:relative;z-index:1;text-align:center;max-width:1090px;margin:auto}
.page-scale .hero-kicker{font-size:21px;font-weight:800;letter-spacing:.065em;color:#3d6547;margin:0 0 10px}
.page-scale .hero-kicker em{color:var(--purple);font-style:normal}
.page-scale .hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(26px,3.6vw,40px);line-height:1.35;letter-spacing:.07em;font-weight:700;color:#701171;margin:0 auto 13px;text-shadow:0 0 8px #fff,0 1px 0 #fff;white-space:nowrap}
.page-scale .hero h1::after{content:"";display:block;height:3px;background:#bbeb71;border-radius:100%;width:40%;margin:5px auto 0;transform:rotate(-1deg)}
.page-scale .hero-description{font-size:16px;font-weight:650;line-height:1.55;letter-spacing:.015em;margin:0 auto;max-width:1000px;text-shadow:0 1px 6px white}
.page-scale .services{width:100%;padding:0 22px}
.page-scale .service-grid{max-width:var(--width);margin:0 auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px;align-items:stretch}
.page-scale .service-card{--accent:#ad31b1;--pale:#fff7ff;--tint:#f8d5f8;grid-column:span 2;position:relative;display:grid;grid-template-rows:108px 166px 1fr 49px;min-width:0;min-height:516px;padding:17px 23px 24px;overflow:hidden;border-radius:38px;border:2px solid #f0d6f0;background:linear-gradient(137deg,#fff 0%,var(--pale) 57%,var(--tint) 148%);box-shadow:0 12px 24px #79578a24,0 2px 2px #fff inset;isolation:isolate}
.page-scale .service-card::after{content:"";position:absolute;bottom:-62px;left:-15%;right:-15%;height:138px;z-index:-1;opacity:.55;border-radius:60% 55% 0 0;background:var(--tint);transform:rotate(5deg)}
.page-scale .service-card::before{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid #ffffffbe;border-radius:34px}
.page-scale .theme-ren{--accent:#930a99;--pale:#fff7ff;--tint:#f2d1f7;border-color:#f5ccf5}
.page-scale .theme-connect{--accent:#079aaf;--pale:#f3ffff;--tint:#a5f4f6;border-color:#b4edf0}
.page-scale .theme-cad{--accent:#a77b00;--pale:#fffcf0;--tint:#ffe596;border-color:#ffecb5}
.page-scale .service-visual{display:contents}
.page-scale .service-logo{grid-row:1;align-self:center;justify-self:center;object-fit:contain;object-position:center;max-height:105px;max-width:88%;width:auto;filter:none}
.page-scale .logo-ren{height:103px}
.page-scale .logo-connect{height:72px;width:260px}
.page-scale .logo-cad{height:104px}
.page-scale .service-photo{grid-row:2;justify-self:center;align-self:center;object-fit:contain;object-position:center;width:min(330px,94%);height:160px;max-width:100%;filter:none}
.page-scale .service-text{grid-row:3;text-align:center;align-self:start;padding:13px 0 3px;min-width:0}
.page-scale .service-text h2{font-size:27px;line-height:1.25;letter-spacing:.015em;color:var(--accent);margin:0 0 11px;font-weight:850;white-space:nowrap}
.page-scale .service-text p{font-size:15.5px;font-weight:650;line-height:1.55;margin:0 auto;color:#25374c}
.page-scale .service-btn{grid-row:4;position:relative;display:flex;justify-content:center;align-items:center;align-self:end;justify-self:center;width:min(298px,91%);min-height:48px;padding:8px 30px;border-radius:999px;background:linear-gradient(180deg,#c65dbe,#8d098e 93%);box-shadow:0 6px 10px #81257a33,0 2px 2px #ffffffa5 inset;color:#fff;font-size:18px;font-weight:900;letter-spacing:.07em;transition:transform .2s,filter .2s}
.page-scale .service-btn:hover{transform:translateY(-2px);filter:brightness(1.06)}
.page-scale .theme-connect .service-btn{background:linear-gradient(180deg,#62d9e0,#0394aa 95%);box-shadow:0 6px 10px #049aa733,0 2px 2px #fffc inset}
.page-scale .theme-cad .service-btn{background:linear-gradient(180deg,#ffe45a,#e9b900 95%);box-shadow:0 6px 10px #b69b0933,0 2px 2px #fffc inset}
.page-scale .service-btn img{position:absolute;right:15px;top:50%;transform:translateY(-50%);filter:brightness(0) invert(1);height:21px;width:21px}
.page-scale .service-grid>.service-card:nth-child(4):last-child{grid-column:3/span 2}
.page-scale .service-grid>.service-card:nth-child(4):nth-last-child(2){grid-column:2/span 2}
.page-scale .service-grid>.service-card:nth-child(5):last-child{grid-column:4/span 2}
.page-scale .news{max-width:var(--width);width:calc(100% - 44px);min-height:50px;margin:26px auto 19px;padding:6px 27px;display:flex;align-items:center;gap:36px;border:1.4px solid #eccbf3;border-radius:999px;background:linear-gradient(90deg,#fffaff,#fff 55%,#fef9ff);box-shadow:0 2px 7px #ab80b40c}
.page-scale .news-heading{min-width:212px;display:flex;align-items:center;justify-content:center;gap:16px;color:var(--purple);font-size:21px;font-weight:800;padding-right:26px;border-right:1px solid #d7aad8;white-space:nowrap}
.page-scale .news-heading img{height:31px;width:31px}
.page-scale .news time{font-weight:650;font-size:15px;white-space:nowrap}
.page-scale .news p{font-weight:610;font-size:15px;margin:0;min-width:0}
.page-scale .site-footer{padding:0 24px 12px;background:#fff}
.page-scale .footer-inner{max-width:var(--width);margin:auto;min-height:105px;border-top:1px solid #e9ddeb;display:grid;grid-template-columns:315px minmax(0,1fr) 325px;align-items:center;gap:25px}
.page-scale .brand--footer{padding-left:16px}
.page-scale .brand--footer .brand-symbol{width:82px;height:80px}
.page-scale .brand--footer .brand-wordmark{width:172px}
.page-scale .footer-inner address{padding:0 27px 0 47px;border-left:1.5px solid #a4b3bd;border-right:1.5px solid #a4b3bd;font-style:normal;font-weight:620;font-size:15.5px;line-height:1.5}
.page-scale .footer-contacts{display:flex;flex-direction:column;gap:9px;font-size:21px;font-weight:680;white-space:nowrap}
.page-scale .footer-contacts a,.page-scale .footer-contacts span{display:flex;align-items:center;gap:10px}
.page-scale .footer-contacts img{filter:grayscale(1) brightness(.3)}
.page-scale .copyright{text-align:center;color:#72808c;font-size:10px;margin:0}
/* Override the original mobile !important at physical 675-899px, where Chrome 75% uses tablet layout. */
@media (min-width:675px) and (max-width:899.25px){.page-scale .service-card{grid-column:span 2!important}.page-scale .service-grid>.service-card:nth-child(4):last-child{grid-column:2/span 4!important}.page-scale .service-grid>.service-card:nth-child(4):nth-last-child(2),.page-scale .service-grid>.service-card:nth-child(5):last-child{grid-column:span 3!important}}
/* Recalibrated page-only viewport breakpoints. */
@media (min-width:675px) and (max-width:899.25px){
.page-scale .site-header{height:56px;margin-top:6px;width:calc(100% - 30px)}
.page-scale .header-inner{padding:0 24px}
.page-scale .brand--header .brand-symbol{width:59px;height:54px}
.page-scale .brand--header .brand-wordmark{width:122px}
.page-scale .header-nav>button{font-size:14px;min-width:113px}
.page-scale .header-nav img{width:22px;height:22px}
.page-scale .hero{min-height:174px;padding:22px 8px 7px}
.page-scale .hero-leaves{width:220px}
.page-scale .hero-hands{width:250px}
.page-scale .hero-kicker{font-size:15px;margin-bottom:6px}
.page-scale .hero h1{font-size:27px;margin-bottom:7px}
.page-scale .hero-description{font-size:11.8px}
.page-scale .service-grid{gap:14px}
.page-scale .services{padding:0 18px}
.page-scale .service-card{min-height:353px;grid-template-rows:72px 110px 1fr 40px;padding:11px 15px 15px;border-radius:27px}
.page-scale .service-logo{max-height:70px}
.page-scale .logo-ren{height:66px}
.page-scale .logo-connect{height:53px;width:180px}
.page-scale .logo-cad{height:70px}
.page-scale .service-photo{width:min(214px,92%);height:107px}
.page-scale .service-text{padding:8px 0 2px}
.page-scale .service-text h2{font-size:19px;margin-bottom:7px}
.page-scale .service-text p{font-size:11.5px}
.page-scale .service-btn{min-height:38px;font-size:13.5px}
.page-scale .news{min-height:39px;margin:16px auto 11px;padding:5px 16px}
.page-scale .news-heading{font-size:16px;min-width:150px;gap:8px;padding-right:12px}
.page-scale .news-heading img{width:24px;height:24px}
.page-scale .news time,.page-scale .news p{font-size:12.5px}
.page-scale .footer-inner{grid-template-columns:200px 1fr 230px;min-height:83px;gap:14px}
.page-scale .brand--footer .brand-symbol{width:59px;height:59px}
.page-scale .brand--footer .brand-wordmark{width:119px}
.page-scale .footer-inner address{font-size:11.7px;padding:0 14px}
.page-scale .footer-contacts{font-size:14.7px;gap:5px}
.page-scale .footer-contacts img{width:18px;height:18px}
.page-scale .copyright{font-size:9px}
}
@media (max-width:674.25px){
.page-scale .site-header{width:calc(100% - 16px);margin-top:5px;height:73px;border-radius:0 0 25px 25px}
.page-scale .header-inner{padding:0 10px;gap:6px}
.page-scale .brand--header{gap:0}
.page-scale .brand--header .brand-symbol{width:48px;height:49px}
.page-scale .brand--header .brand-wordmark{width:80px}
.page-scale .header-nav>button{min-width:0;flex:1;display:flex;flex-direction:column;gap:0;padding:3px 5px;font-size:9.5px}
.page-scale .header-nav img{width:21px;height:21px}
.page-scale .header-nav{flex:1;min-width:0}
.page-scale .hero{min-height:0;padding:23px 15px 25px}
.page-scale .hero-leaves{width:34%;top:0;opacity:.5}
.page-scale .hero-hands{width:34%;top:22px;opacity:.34}
.page-scale .hero-kicker{font-size:13px}
.page-scale .hero h1{font-size:clamp(21px,5.73333vw,32px);white-space:normal;letter-spacing:0;max-width:680px}
.page-scale .hero-description{font-size:12px;line-height:1.7;max-width:690px}
.page-scale .only-pc{display:none}
.page-scale .services{padding:0 13px}
.page-scale .service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.page-scale .service-card{grid-column:auto!important;height:auto;min-height:420px;grid-template-rows:84px 138px 1fr 44px;padding:13px 14px 18px;border-radius:25px}
.page-scale .service-logo{max-height:80px}
.page-scale .logo-ren{height:76px}
.page-scale .logo-connect{height:56px;width:180px}
.page-scale .logo-cad{height:80px}
.page-scale .service-photo{height:130px;width:min(260px,96%)}
.page-scale .service-text{padding:8px 0}
.page-scale .service-text h2{font-size:18px;margin-bottom:8px;white-space:normal}
.page-scale .service-text p{font-size:12px}
.page-scale .service-btn{min-height:41px;font-size:13px;width:96%}
.page-scale .news{margin:14px 13px 12px;width:calc(100% - 26px);border-radius:17px;gap:11px;padding:9px 14px;flex-wrap:wrap}
.page-scale .news-heading{min-width:0;font-size:13px;padding-right:10px;gap:6px}
.page-scale .news-heading img{width:20px;height:20px}
.page-scale .news time{font-size:11px}
.page-scale .news p{flex:1;font-size:11px}
.page-scale .site-footer{padding:4px 14px 13px}
.page-scale .footer-inner{grid-template-columns:1fr 1.3fr;gap:7px 15px;padding:12px 0 9px}
.page-scale .brand--footer{padding-left:0}
.page-scale .brand--footer .brand-symbol{width:55px;height:55px}
.page-scale .brand--footer .brand-wordmark{width:112px}
.page-scale .footer-inner address{border:0;border-left:1px solid #ccd6d9;padding:0 0 0 13px;font-size:11px;line-height:1.5}
.page-scale .footer-contacts{grid-column:1/-1;display:flex;flex-direction:row;justify-content:space-evenly;gap:8px;font-size:12px}
.page-scale .footer-contacts img{width:17px;height:17px}
.page-scale .copyright{font-size:9px}
}
@media (max-width:450px){
.page-scale .service-grid{grid-template-columns:1fr;max-width:420px;margin:auto}
.page-scale .service-card{min-height:475px;grid-template-rows:105px 167px 1fr 47px;padding:15px 22px 20px}
.page-scale .service-logo{max-height:104px}
.page-scale .logo-ren{height:97px}
.page-scale .logo-connect{height:70px;width:250px}
.page-scale .logo-cad{height:99px}
.page-scale .service-photo{height:157px;width:min(323px,96%)}
.page-scale .service-text h2{font-size:23px}
.page-scale .service-text p{font-size:14px}
.page-scale .service-btn{font-size:16px;min-height:45px}
.page-scale .hero h1{font-size:clamp(24px,8.66667vw,32px)}
.page-scale .hero-kicker{font-size:11px}
.page-scale .hero-description{font-size:11.5px}
.page-scale .header-nav>button{font-size:9px}
.page-scale .footer-contacts{flex-wrap:wrap}
}
