@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@600;700;800&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');
*,*::before,*::after{box-sizing:border-box;}
:root{--g-ink:#14181d;          
  --g-ink-2:#1c2530;        
  --g-base:#15794d;         
  --g-green:#1faa63;        
  --g-green-d:#0f5e3a;      
  --g-green-soft:#e9f5ee;   
  --g-energy:#f5821f;       
  --g-energy-d:#dd6f10;     
  --g-energy-soft:#fdf0e3;  
  --g-cream:#f7f4ee;        
  --g-paper:#ffffff;        
  --g-text:#27313b;         
  --g-muted:#5d6b76;        
  --g-line:#e6dfd2;         
  --g-line-2:#eee9df;
  --g-header-h:76px;
  --g-font:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --g-en:"Montserrat",sans-serif;
  --g-shadow:0 18px 50px rgba(20,24,29,.10);
  --g-shadow-sm:0 8px 24px rgba(20,24,29,.08);
  --g-radius:16px;
  --g-maxw:1160px;}
html {scroll-behavior:smooth;}
body {margin:0;}
.gf-reveal {opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1);}
.gf-reveal.is-in {opacity:1;transform:none;}
.gf-reveal.d1 {transition-delay:.08s;}
.gf-reveal.d2 {transition-delay:.16s;}
.gf-reveal.d3 {transition-delay:.24s;}
.gf-reveal.d4 {transition-delay:.32s;}
.gf-header {position:fixed;top:0;left:0;right:0;z-index:1000;height:var(--g-header-h);
  display:flex;align-items:center;
  background:rgba(255,255,255,.94);backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(20,24,29,.06);transition:box-shadow .3s,background .3s;}
.gf-header.is-scrolled {box-shadow:0 6px 22px rgba(20,24,29,.10);}
.gf-header__inner {max-width:var(--g-maxw);margin:0 auto;padding:0 24px;width:100%;
  display:flex;align-items:center;justify-content:space-between;gap:20px;}
.gf-logo {display:flex;flex-direction:column;line-height:1.15;text-decoration:none;}
.gf-logo__name {font-weight:900;font-size:21px;color:var(--g-ink);letter-spacing:.04em;}
.gf-logo__name b {color:var(--g-base);}
.gf-logo__en {font-family:var(--g-en);font-size:10.5px;font-weight:600;letter-spacing:.22em;
  color:var(--g-muted);text-transform:uppercase;margin-top:2px;}
.gf-nav {display:flex;align-items:center;gap:30px;}
.gf-nav__list {display:flex;align-items:center;gap:28px;}
.gf-nav__link {position:relative;font-size:14.5px;font-weight:500;color:var(--g-ink);
  text-decoration:none;padding:6px 0;transition:color .2s;}
.gf-nav__link::after {content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;
  background:var(--g-green);transition:right .28s cubic-bezier(.2,.7,.2,1);}
.gf-nav__link:hover {color:var(--g-base);}
.gf-nav__link:hover::after,.gf-nav__link.is-active::after {right:0;}
.gf-nav__link.is-active {color:var(--g-base);font-weight:700;}
.gf-nav__cta {display:inline-flex;align-items:center;gap:7px;background:var(--g-base);color:#fff;
  font-size:13.5px;font-weight:700;padding:10px 18px;border-radius:999px;text-decoration:none;
  transition:transform .2s,background .2s,box-shadow .2s;box-shadow:0 8px 18px rgba(21,121,77,.22);}
.gf-nav__cta:hover {background:var(--g-green-d);transform:translateY(-1px);color:#fff;}
.gf-burger {display:none;width:46px;height:46px;border:0;background:transparent;cursor:pointer;
  padding:0;position:relative;z-index:1201;}
.gf-burger__bar {display:block;width:24px;height:2px;margin:5px auto;background:var(--g-ink);
  border-radius:2px;transition:transform .3s,opacity .3s;}
.gf-menu {}
.p-mainVisual,#mainvisual,.c-mainVisual,.p-mainVisual__inner,.p-mainVisual__slide,
.l-sidebar,#sidebar,.p-sidebar,.c-widgetArea--sidebar,
.l-header,#header,.c-headerBar,.l-footer,#footer,.p-spMenu,.p-spMenu__menu,
.c-fixBtns,.p-fixCta,.c-fixCta,.c-gotop,#page_top,.p-breadcrumb,.c-pageTitle,.p-pageTitle,
.c-postThumb,.p-postList,.l-footer__widgets,.c-entryClap,.p-postAuthor {display:none !important;}
html,body {overflow-x:hidden !important;}
body {margin:0 !important;padding:0 !important;background:var(--g-cream) !important;}
.l-container,.l-content,.l-main,#main,.l-mainArea,
.l-mainContent,.l-mainContent__inner,.post_content,
.l-article,.c-content,.l-articleBody,.p-postContent,article.p-post,article {max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;
  float:none !important;border:0 !important;background:transparent !important;}
.l-container {display:block !important;}
.post_content>* {max-width:none !important;margin-top:0 !important;margin-bottom:0 !important;}
html.ss .gf-hero {min-height:760px !important;}
html.ss .gf-reveal {opacity:1 !important;transform:none !important;}
html.ss *,html.ss *::before,html.ss *::after {animation:none !important;transition:none !important;}
@keyframes gfScroll{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}
@media(max-width:980px){
.gf-burger {display:block;}
.gf-nav {position:fixed;inset:0 0 0 auto;width:min(82vw,360px);height:100vh;
    background:linear-gradient(180deg,var(--g-ink) 0%,#10331f 100%);
    flex-direction:column;justify-content:center;align-items:flex-start;gap:0;
    padding:90px 38px 40px;transform:translateX(102%);transition:transform .38s cubic-bezier(.2,.7,.2,1);
    box-shadow:-26px 0 60px rgba(0,0,0,.32);}
.gf-nav__list {flex-direction:column;align-items:flex-start;gap:4px;width:100%;}
.gf-nav__item {width:100%;border-bottom:1px solid rgba(255,255,255,.10);}
.gf-nav__link {display:block;width:100%;padding:16px 2px;color:#fff;font-size:16px;}
.gf-nav__link::after {display:none;}
.gf-nav__link:hover,.gf-nav__link.is-active {color:var(--g-energy);}
.gf-nav__cta {margin-top:26px;font-size:15px;padding:13px 22px;}
body.gf-menu-open .gf-nav {transform:translateX(0);}
body.gf-menu-open {overflow:hidden;}
body.gf-menu-open .gf-burger__bar:nth-child(1) {transform:translateY(7px) rotate(45deg);background:#fff;}
body.gf-menu-open .gf-burger__bar:nth-child(2) {opacity:0;}
body.gf-menu-open .gf-burger__bar:nth-child(3) {transform:translateY(-7px) rotate(-45deg);background:#fff;}
}
@media(max-width:560px){
.gf-container,.gf-hero__inner,.gf-cta__inner,.gf-pagehead__inner,.gf-footer__inner,.gf-header__inner {padding-left:18px;padding-right:18px;}
}
