html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:"";content:none}a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent}ins{background-color:#ff9;color:#000;text-decoration:none}mark{background-color:#ff9;color:#000;font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{display:block;height:1px;border:0;border-top:1px solid #cccccc;margin:1em 0;padding:0}input,select{vertical-align:middle}:root{--color-brand-light: #ffcccb;--color-brand: #fa8072;--color-brand-dark: #e95f50;--color-brand-bg: #fffdfd;--color-text-main: #333333;--color-text-sub: #666666;--color-text-light: #999999;--color-white: #ffffff;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-800: #1f2937;--color-gray-900: #111827;--font-sans: "Noto Sans JP", sans-serif;--font-serif: "Noto Serif JP", serif;--container-width: 1152px;--container-padding: 1.5rem;--header-height: 80px;--transition-speed: .3s}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text-main);background-color:var(--color-brand-bg);line-height:1.6;-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit;transition:color var(--transition-speed),background-color var(--transition-speed)}img{max-width:100%;height:auto;display:block}ul{list-style:none}button{background:none;border:none;cursor:pointer;font-family:inherit}.container{max-width:var(--container-width);margin:0 auto;padding:0 var(--container-padding)}.serif-font{font-family:var(--font-serif)}.section-title-wrapper{text-align:center;margin-bottom:4rem}.section-subtitle{color:var(--color-brand);font-weight:700;letter-spacing:.1em;font-size:.875rem;display:block;text-transform:uppercase}.section-title{font-family:var(--font-serif);font-size:2rem;font-weight:700;color:var(--color-text-main);margin-top:.5rem}@media(min-width:768px){.section-title{font-size:2.25rem}}.title-underline{width:4rem;height:4px;background-color:var(--color-brand);margin:1.5rem auto 0;border-radius:9999px}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border-radius:9999px;font-weight:700;font-size:.875rem;transition:all var(--transition-speed);gap:.5rem}.btn-primary{background-color:var(--color-brand);color:var(--color-white);box-shadow:0 4px 6px -1px #0000001a;border:2px solid var(--color-brand)}.btn-primary:hover{background-color:var(--color-white);color:var(--color-brand);border-color:var(--color-brand)}.btn-outline{background-color:transparent;border:2px solid var(--color-brand);color:var(--color-brand)}.btn-outline:hover{background-color:var(--color-brand);color:var(--color-white)}.btn-white{background-color:var(--color-white);color:var(--color-brand);box-shadow:0 10px 15px -3px #0000001a}.btn-white:hover{background-color:var(--color-brand);color:var(--color-white);transform:scale(1.05)}.hidden{display:none!important}.inline-block{display:inline-block}.section{padding:6rem 0}.bg-white{background-color:var(--color-white)}.text-center{text-align:center}.header{position:fixed;top:0;left:0;width:100%;z-index:50;background-color:#ffffffe6;backdrop-filter:blur(4px);transition:all var(--transition-speed);padding:1rem 0}.header.scrolled{padding:.5rem 0;box-shadow:0 1px 3px #0000001a}.header__inner{display:flex;justify-content:space-between;align-items:center}.logo{display:flex;align-items:center;gap:.5rem}.logo__icon{width:2.5rem;height:2.5rem;background-color:var(--color-brand);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-weight:700;font-size:1.25rem}.logo__text{font-family:var(--font-serif);font-weight:700;font-size:1.25rem;color:var(--color-gray-800);letter-spacing:.025em;transition:color var(--transition-speed)}.logo:hover .logo__text{color:var(--color-brand)}.logo__img{height:40px;width:auto;display:block}@media(min-width:768px){.logo__img{height:50px}}.nav-pc{display:none}@media(min-width:851px){.nav-pc{display:flex;align-items:center;gap:2rem}.logo__text{font-size:1.5rem}}.nav-link{font-size:.875rem;font-weight:500;color:var(--color-text-main);letter-spacing:.05em}.nav-link:hover{color:var(--color-brand)}.menu-btn{display:flex;flex-direction:column;justify-content:space-between;width:25px;height:20px;z-index:100;padding:0}.menu-btn span{display:block;width:100%;height:2px;background-color:var(--color-gray-800);transition:all .3s ease-in-out;transform-origin:center center}.menu-btn.active span:nth-child(1){transform:translateY(9px) rotate(45deg)}.menu-btn.active span:nth-child(2){opacity:0}.menu-btn.active span:nth-child(3){transform:translateY(-9px) rotate(-45deg)}@media(min-width:851px){.menu-btn{display:none}}.page-header{padding-top:6rem;padding-bottom:2rem;background-color:var(--color-white);text-align:center}@media(min-width:768px){.page-header{padding-top:8rem;padding-bottom:3rem}}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background-color:#fffffff2;padding-top:80px;display:flex;flex-direction:column;align-items:center;z-index:90;transform:translateY(-100%);opacity:0;visibility:hidden;transition:transform .4s ease,opacity .4s ease,visibility .4s}.mobile-menu.active{transform:translateY(0);opacity:1;visibility:visible}.mobile-link{display:block;padding:1.5rem 0;color:var(--color-brand-dark);font-weight:500;width:80%;text-align:center;border-bottom:1px solid var(--color-gray-300)}.mobile-link:hover{background-color:transparent;color:var(--color-brand)}.mobile-link:last-child{border-bottom:none}.mobile-link.cta{background-color:var(--color-brand);color:var(--color-white);text-align:center;font-weight:700}.activity-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-bottom:3rem}@media(min-width:640px){.activity-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.activity-grid{grid-template-columns:repeat(3,1fr)}}.activity-card-link{height:100%;display:block}.activity-card{background-color:var(--color-white);border-radius:.5rem;overflow:hidden;box-shadow:0 10px 15px -3px #0000001a;transition:all .3s;border:1px solid var(--color-gray-100);height:100%;display:flex;flex-direction:column}.activity-card:hover{box-shadow:0 20px 25px -5px #0000001a;transform:translateY(-2px)}.activity-img-wrap{height:12rem;overflow:hidden;position:relative}.activity-img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.activity-card:hover .activity-img{transform:scale(1.1)}.activity-body{padding:1.5rem;flex:1;display:flex;flex-direction:column}.activity-date{font-size:.75rem;color:#9ca3af;margin-bottom:.5rem}.activity-title{font-weight:700;font-size:1.125rem;margin-bottom:.75rem;color:var(--color-gray-800);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.activity-card:hover .activity-title{color:var(--color-brand)}.activity-text{color:var(--color-text-sub);font-size:.875rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:3.9375rem}.footer{background-color:var(--color-gray-900);color:var(--color-white);padding:2rem 0;border-top:1px solid var(--color-gray-800);text-align:center}.copyright{font-size:.75rem;color:#6b7280}@keyframes fadeInUp{0%{opacity:0;transform:translate3d(0,40px,0)}to{opacity:1;transform:translateZ(0)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(-25%);animation-timing-function:cubic-bezier(.8,0,1,1)}50%{transform:translate(-50%) translateY(0);animation-timing-function:cubic-bezier(0,0,.2,1)}}
