*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#65544d;background:linear-gradient(135deg,#fff9f6 0%,#fff4f7 50%,#f3faf8 100%);min-height:100vh;margin:0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,YuGothic,Meiryo,sans-serif}a{color:inherit;text-decoration:none}button{font-family:inherit}.home{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:50px 20px;display:flex;position:relative;overflow:hidden}.home:before{content:"♡";color:#f0bfd0;font-size:52px;position:absolute;top:12%;left:12%;transform:rotate(-15deg)}.home:after{content:"♡";color:#b9ddd5;font-size:62px;position:absolute;bottom:14%;right:12%;transform:rotate(15deg)}.home-deco{margin-bottom:10px;font-size:52px;animation:3s ease-in-out infinite floatCoffee}@keyframes floatCoffee{0%{transform:translateY(0)}50%{transform:translateY(-7px)}to{transform:translateY(0)}}.festival-label{color:#b08e83;letter-spacing:4px;margin:0;font-size:12px;font-weight:700}.home h1{color:#796159;letter-spacing:4px;text-shadow:2px 2px #fffc;margin:20px 0 10px;font-size:clamp(42px,10vw,64px);line-height:.95}.home h1 span{color:#d694ad}.coffee-line{color:#c7a59b;letter-spacing:2px;margin:15px 0 20px;font-size:14px}.home-message{color:#78665f;margin:0;font-size:17px;line-height:2}.start-button{color:#fff;letter-spacing:1px;background:linear-gradient(135deg,#e5a9bd,#d38ea7);border-radius:999px;justify-content:center;align-items:center;min-width:190px;margin-top:30px;padding:15px 30px;font-size:16px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 8px 18px #c4859d47}.start-button:hover{transform:translateY(-4px);box-shadow:0 12px 24px #c4859d59}.home-footer{color:#b59f97;letter-spacing:1px;margin-top:30px;font-size:12px}.teachers-list{text-align:center;width:100%;max-width:1000px;margin:0 auto;padding:55px 20px 80px}.page-label{color:#b19185;letter-spacing:3px;margin:0 0 5px;font-size:12px;font-weight:700}.teachers-page h1{color:#7a625a;letter-spacing:3px;margin:0;font-size:clamp(36px,8vw,48px)}.page-description{color:#806d65;margin:12px 0 40px;font-size:15px}.teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px;max-width:820px;margin:0 auto;display:grid}.teacher-card{text-align:left;background:#ffffffe0;border:2px solid #f1d8e0;border-radius:26px;transition:transform .25s,box-shadow .25s;display:block;overflow:hidden;box-shadow:0 8px 20px #aa87911f}.teacher-card:hover{transform:translateY(-7px);box-shadow:0 15px 30px #aa879133}.card-photo{color:#a37d89;object-fit:cover;box-sizing:border-box;background:linear-gradient(135deg,#fff0f5,#e7f5f1);border-bottom:2px solid #f3dce3;justify-content:center;align-items:center;width:100%;height:100%;padding:12px;font-size:19px;font-weight:700;display:block;overflow:hidden}.card-photo img{object-fit:contain;border-radius:12px;width:100%;height:100%;display:block}.card-content{padding:22px}.card-content h2{color:#715b53;margin:0 0 10px;font-size:23px}.card-subject{color:#5d8b81;background:#dff0ec;border-radius:999px;padding:6px 13px;font-size:13px;font-weight:700;display:inline-block}.card-content p{color:#7f6c64;margin:13px 0 0;font-size:14px}.profile-page{text-align:center;width:100%;max-width:720px;margin:0 auto;padding:35px 20px 80px}.back-button{color:#866e65;background:#f5e9e4;border-radius:999px;align-items:center;margin-bottom:25px;padding:8px 16px;font-size:14px;transition:transform .2s,background .2s;display:inline-flex}.back-button:hover{background:#efded7;transform:translate(-3px)}.photo-placeholder{color:#986e7d;background:linear-gradient(135deg,#fff0f5,#eaf7f4);border:5px solid #df9fb5;border-radius:28px;justify-content:center;align-items:center;width:300px;height:300px;margin:20px auto 28px;font-size:22px;font-weight:700;display:flex;box-shadow:0 8px 20px #be8ca024}.profile-name{color:#715950;margin:0;font-size:clamp(32px,8vw,42px);line-height:1.2}.subject-badge{color:#5c8c82;background:#dcefeb;border-radius:999px;margin:12px 0 25px;padding:7px 18px;font-size:14px;font-weight:700;display:inline-block}.profile-card,.interview-card{text-align:left;background:#ffffffe6;border:2px solid #f1dce2;border-radius:26px;margin-top:22px;padding:27px;box-shadow:0 8px 20px #aa87911a}.section-title{color:#bf7890;letter-spacing:2px;margin-bottom:18px;font-size:18px;font-weight:700}.section-subtitle{color:#806b63;margin:0 0 20px;font-size:15px}.profile-item{border-bottom:1px dashed #e6d2d9;justify-content:space-between;align-items:center;gap:20px;padding:15px 0;display:flex}.profile-item:last-child{border-bottom:none}.profile-item span{color:#8c746b;font-size:14px}.profile-item strong{color:#69554e;text-align:right;font-size:15px}.question-item{background:linear-gradient(135deg,#fff7fa,#f0faf7);border:1px solid #f0dfe4;border-radius:18px;margin-top:15px;padding:18px}.question{color:#b36f84;margin:0 0 8px;font-size:15px;font-weight:700;line-height:1.6}.answer{color:#6f5c55;margin:0;font-size:14px;line-height:1.8}.back-to-list{color:#fff;background:linear-gradient(135deg,#df9fb5,#d48da6);border-radius:999px;justify-content:center;align-items:center;margin-top:30px;padding:13px 26px;font-size:14px;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex;box-shadow:0 7px 16px #c3859d3b}.back-to-list:hover{transform:translateY(-3px);box-shadow:0 10px 22px #c3859d4d}.error-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:40px 20px;display:flex}@media (width<=700px){.home{padding:40px 18px}.home:before{top:10%;left:5%}.home:after{bottom:10%;right:5%}.teacher-grid{grid-template-columns:1fr;gap:20px;max-width:430px}.teachers-page{padding-top:40px}.card-photo{height:250px}.photo-placeholder{width:min(300px,82vw);height:min(300px,82vw);font-size:20px}.profile-card,.interview-card{padding:22px}.profile-item{flex-direction:column;align-items:flex-start;gap:6px}.profile-item strong{text-align:left}.site-header{position:sticky}.header-inner{flex-direction:column;gap:8px;min-height:auto;padding:12px 15px}.site-logo{font-size:18px}.site-nav{flex-wrap:wrap;justify-content:center;gap:4px;width:100%}.nav-link{padding:7px 10px;font-size:11px}}.site-header{z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf8eb;border-bottom:2px solid #f1dce2;width:100%;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:20px;max-width:1000px;min-height:70px;margin:0 auto;padding:0 20px;display:flex}.site-logo{color:#795f56;letter-spacing:1px;white-space:nowrap;font-size:20px;font-weight:700}.site-nav{align-items:center;gap:8px;display:flex}.nav-link{color:#8a7268;letter-spacing:1px;border-radius:999px;padding:9px 14px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.nav-link:hover{color:#b56f85;background:#f8e8ed}.nav-link.active{color:#ad6c81;background:#f1d6df}.menu-page{text-align:center;width:100%;max-width:800px;margin:0 auto;padding:55px 20px 80px}.menu-card{text-align:left;background:#ffffffeb;border:2px solid #f1dce2;border-radius:26px;margin-top:25px;padding:28px;box-shadow:0 8px 20px #aa87911a}.menu-card h2{color:#b67389;letter-spacing:2px;margin:0 0 20px;font-size:20px}.menu-item{color:#6e5a53;border-bottom:1px dashed #e7d4da;justify-content:space-between;align-items:center;padding:15px 0;display:flex}.menu-item:last-child{border-bottom:none}.menu-item span:last-child{color:#b06f83;font-weight:700}.cover-home{box-sizing:border-box;background-color:#fbdbe4;background-image:url(/images/cover.svg);background-position:50%;background-repeat:no-repeat;background-size:cover;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:calc(100vh - 100px);margin:0;padding:40px 20px;display:flex;position:relative}.cover-logo{object-fit:contain;width:min(75%,800px);height:auto;margin-bottom:24px;display:block}.cover-image{object-fit:contain;filter:drop-shadow(0 8px 16px #be6e9126);border-radius:18px;width:min(92vw,620px);max-height:68vh;display:block}.cover-message{color:#95677a;text-align:center;margin:8px 0;font-size:25px;font-weight:800;line-height:1.8}@media (width<=600px){.cover-home{box-sizing:border-box;background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100dvh;padding:30px 16px}.cover-image{width:96%;max-height:60vh}.cover-message{font-size:17px}.cover-logo{width:90%;margin-bottom:20px}}.info-page{text-align:center;width:100%;max-width:800px;margin:0 auto;padding:50px 20px 80px}.info-page>h1{color:#7a625a;letter-spacing:2px;margin:8px 0;font-size:clamp(32px,7vw,44px)}.info-card{text-align:left;background:#ffffffe6;border:2px solid #f1dce2;border-radius:24px;margin-top:24px;padding:26px;box-shadow:0 8px 20px #aa87911a}.info-card h2{color:#bf7890;margin:0 0 18px;font-size:20px}.info-card p{color:#78665f;line-height:1.9}.guide-step{border-bottom:1px dashed #e6d2d9;align-items:flex-start;gap:16px;padding:18px 0;display:flex}.guide-step:last-child{border-bottom:none;padding-bottom:0}.step-number{color:#b56f85;background:#f5e0e8;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-weight:700;display:flex}.guide-step h3{color:#715b53;margin:2px 0 8px;font-size:16px}.guide-step p{margin:0;font-size:14px;line-height:1.8}.info-note{color:#9a8178;margin-top:24px;font-size:12px;line-height:1.8}@media (width<=700px){.info-page{padding:35px 16px 60px}.info-card{padding:21px}.guide-step{gap:12px}.guide-step h3{font-size:15px}}.about-page{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0}.about-heading{text-align:center;margin-bottom:42px}.about-eyebrow{color:#b68191;letter-spacing:4px;margin:0 0 8px;font-size:12px;font-weight:700}.about-heading h1{color:#795b64;letter-spacing:4px;margin:0;font-size:clamp(38px,7vw,52px)}.about-decoration{color:#d49aaf;letter-spacing:2px;margin:16px 0;font-size:15px}.about-heading h2{color:#795b64;margin:0;font-size:clamp(20px,3.5vw,26px);line-height:1.7}.about-lead{color:#a1878a;margin:12px 0 0;font-size:14px;line-height:1.8}.about-paper{max-width:820px;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0 auto;padding:0}.about-paper p{color:#65544d;letter-spacing:.04em;overflow-wrap:anywhere;margin:0 0 2em;font-size:16px;line-height:2.2}.about-paper p:last-child{margin-bottom:0}.about-footer{color:#b18b98;letter-spacing:.04em;text-align:center;margin:40px 0 0;font-size:12px}@media (width<=600px){.about-page{padding:38px 22px 55px}.about-heading{margin-bottom:30px}.about-paper p{letter-spacing:.025em;margin-bottom:1.8em;font-size:15px;line-height:2.15}.about-footer{line-height:1.8}}@media (width>=601px){.mobile-only-break{display:none}}.about-rules{max-width:820px;margin:65px auto 45px}.about-rules .about-eyebrow{margin-bottom:8px}.about-rules h2{color:#795b64;margin:0 0 25px;font-size:23px;line-height:1.7}.about-rules ul{color:#65544d;margin:0;padding-left:1.5em}.about-rules li{letter-spacing:.025em;margin-bottom:16px;padding-left:.3em;font-size:15px;line-height:2}.about-rules li::marker{color:#d681a0}@media (width<=600px){.about-rules{margin-top:48px;margin-bottom:35px}.about-rules h2{margin-bottom:18px;font-size:20px}.about-rules li{margin-bottom:13px;font-size:14px;line-height:2}}.about-guide-button-area{text-align:center;flex-direction:column;align-items:center;gap:12px;margin:48px auto 20px;display:flex}.about-guide-button-area p{color:#a76c82;margin:0;font-size:14px;line-height:1.8}.heart-guide-button{box-sizing:border-box;color:#fff;text-align:center;clip-path:polygon(50% 94%,8% 56%,2% 43%,2% 29%,8% 17%,19% 10%,31% 11%,42% 19%,50% 29%,58% 19%,69% 11%,81% 10%,92% 17%,98% 29%,98% 43%,92% 56%);filter:drop-shadow(0 5px 8px #d98eaa55);background:linear-gradient(145deg,#ffb6d0,#ed83aa);flex-direction:column;justify-content:center;align-items:center;gap:4px;width:230px;height:205px;padding:20px 30px 28px;font-size:17px;font-weight:700;line-height:1.6;text-decoration:none;transition:transform .2s,filter .2s;display:flex}.heart-guide-button:hover{filter:drop-shadow(0 8px 12px #d98eaa88);transform:scale(1.05)}.heart-guide-button:active{transform:scale(.97)}@media (width<=600px){.about-guide-button-area{margin-top:38px}.heart-guide-button{width:210px;height:190px;font-size:16px}}.about-enter{justify-content:center;margin:40px auto;display:flex}.enter-cafe-button{color:#fff;background:#d991ad;border-radius:50px;justify-content:center;align-items:center;padding:16px 32px;font-size:16px;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 5px 12px #aa5a7833}.enter-cafe-button:hover{background:#c87597;transform:translateY(-2px)}.guide-page{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:0}.guide-heading{text-align:center;margin-bottom:45px}.guide-eyebrow,.coming-soon-eyebrow{color:#c87597;letter-spacing:3px;margin-bottom:8px;font-size:12px;font-weight:700}.guide-heading h1,.coming-soon-page h1{color:#b95f83;letter-spacing:3px;margin:0;font-size:clamp(32px,5vw,46px)}.guide-decoration{color:#d991ad;margin:12px 0 24px}.guide-heading h2{color:#59434c;margin:0 0 12px;font-size:24px}.guide-heading>p:last-child{color:#78656c;margin:0}.guide-choice{justify-content:center;align-items:stretch;gap:24px;max-width:720px;margin:0 auto;display:flex}.guide-choice-button{border-radius:22px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:150px;padding:24px 18px;font-size:17px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.cheki-button{color:#b95f83;background:#fff0f5;border:2px solid #e5a2bd}.instore-button{color:#80649f;background:#f0e9f8;border:2px solid #b8a0d5}.guide-choice-button:hover{transform:translateY(-4px);box-shadow:0 8px 18px #78466421}.guide-button-icon{font-size:30px}.guide-button-arrow{font-size:20px}.coming-soon-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:65vh;padding:40px 20px;display:flex}.coming-soon-page .guide-decoration{margin-bottom:30px}.coming-soon-message{color:#b95f83;background:#fff0f5;border:2px dashed #e5a2bd;border-radius:18px;padding:24px 48px;font-size:22px;font-weight:700}@media (width<=600px){.guide-page{padding-top:35px}.guide-heading h2{font-size:21px}.guide-choice{gap:12px}.guide-choice-button{text-align:center;min-height:140px;padding:18px 8px;font-size:14px}.coming-soon-message{padding:20px 32px}}.cheki-guide-page{padding-bottom:70px}.cheki-info{justify-content:center;gap:24px;width:min(720px,100%);margin:0 auto 40px;display:flex}.cheki-info-card{text-align:center;background:#fff7fa;border:2px solid #f0c6d6;border-radius:22px;flex:1;padding:28px 22px;box-shadow:0 5px 15px #b95f8314}.cheki-info-icon{margin-bottom:12px;font-size:36px;display:block}.cheki-info-card h2{color:#b95f83;margin:0 0 15px;font-size:22px}.cheki-info-card p{color:#806b74;margin:0;font-weight:500;line-height:1.8}.cheki-info-card .cheki-price{color:#806b74;margin-top:32px;margin-bottom:32px;font-size:16px;font-weight:700}.cheki-info-card .cheki-note{color:#806b74;font-size:13px}.guide-back-button{color:#fff;background:#d991ad;border:2px solid #d991ad;border-radius:50px;justify-content:center;align-items:center;padding:14px 30px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.guide-back-button:hover{background:#c87597;border-color:#c87597;transform:translateY(-2px)}@media (width<=600px){.cheki-info{flex-direction:column;gap:16px}.cheki-info-card{padding:24px 18px}}.instore-guide-page{padding-bottom:70px}.instore-info{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;width:min(1000px,100%);margin:0 auto 40px;display:grid}.instore-info-card{text-align:center;background:#fff7fa;border:2px solid #f0c6d6;border-radius:22px;flex-direction:column;justify-content:flex-start;align-items:center;padding:30px 20px;display:flex;box-shadow:0 5px 15px #b95f8314}.instore-info-icon{margin-bottom:18px;font-size:36px}.instore-info-card h2{color:#b95f83;margin:0 0 20px;font-size:20px;line-height:1.6}.instore-info-card p{color:#78656c;margin:0;font-size:15px;line-height:1.9}.instore-info-card .instore-highlight{color:#b95f83;margin:0 0 10px;font-size:30px;font-weight:700}@media (width<=700px){.instore-info{grid-template-columns:1fr;gap:16px}.instore-info-card{padding:24px 18px}.instore-info-card h2{margin-bottom:12px;font-size:18px}}.others-board-section{box-sizing:border-box;background:#fffafd;border:1px solid #f0d2df;border-radius:24px;width:min(1100px,100% - 5px);margin:80px auto 50px;padding:40px 25px 30px}.others-board-heading{text-align:center;margin-bottom:30px}.others-board-eyebrow{color:#bd7895;letter-spacing:.16em;margin:0 0 10px;font-size:11px}.others-board-heading h2{color:#59434c;letter-spacing:.12em;margin:0;font-size:36px}.others-board-lead{color:#806b75;margin:12px 0;font-size:16px}.others-board-divider{color:#d79ab3;margin-top:5px;display:inline-block}.others-board{background:#f8dce8;border:2px solid #e9b8cc;border-radius:18px;padding:22px}.others-board-title{color:#b95f83;justify-content:center;align-items:center;gap:12px;margin:0 0 22px;display:flex}.others-board-title h3{letter-spacing:.1em;text-align:center;margin:0;font-size:18px}.others-board-title span{font-size:20px}.others-notice-list{flex-direction:column;gap:14px;display:flex}.others-notice{background:#fffdfd;border:1px solid #efd2df;border-radius:12px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:20px;min-width:0;padding:20px 24px;transition:transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:0 3px 7px #b95f830f}.others-notice:hover{transform:translateY(-2px);box-shadow:0 6px 14px #b95f831f}.others-notice-image{aspect-ratio:1;background:#f9e6ee;border-radius:10px;width:130px;overflow:hidden}.others-notice-image img{object-fit:cover;width:100%;height:100%;display:block}.others-notice-content{white-space:pre-line;min-width:0}.others-notice-meta{flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:8px;display:flex}.others-notice-number{color:#fff;background:#c87999;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:11px;font-weight:700;display:inline-flex}.others-notice-category{color:#bd7895;letter-spacing:.12em;font-size:10px;font-weight:700}.others-notice-content h4{color:#a94f77;margin:0 0 6px;font-size:18px;line-height:1.6}.others-notice-content p{color:#78656c;margin:0 0 8px;font-size:13px;line-height:1.9}.others-notice-type{color:#a94f77;letter-spacing:.08em;background:#fcecf2;border-radius:20px;padding:3px 10px;font-size:10px;display:inline-block}.others-notice-heart{color:#d79ab3;align-self:start;font-size:18px}.others-board-footer{color:#bc829a;letter-spacing:.06em;text-align:center;margin:25px 0 0;font-size:11px}@media (width<=700px){.others-board-section{padding:32px 18px 25px}.others-board{padding:15px}.others-notice{grid-template-columns:95px minmax(0,1fr) 14px;gap:13px;padding:12px}.others-notice-image{width:95px}.others-notice-content h4{font-size:16px}}@media (width<=480px){.others-notice{grid-template-columns:1fr;gap:10px;padding:16px}.others-notice-heart{display:none}}.teacher-qa-list{box-sizing:border-box;flex-direction:column;gap:24px;width:100%;max-width:1100px;margin:40px auto;padding:0 28px;display:flex}.teacher-qa-card{background:linear-gradient(110deg,#fff7fa 0%,#f0f9f6 100%);border:2px solid #f2dce4;border-radius:36px;padding:28px 36px}.teacher-qa-question{color:#b96f89;text-align:left;margin:0 0 20px;font-size:20px;font-weight:800;line-height:1.6}.teacher-qa-answer{color:#735f58;text-align:left;margin:0;font-size:17px;line-height:1.7}@media (width<=600px){.teacher-qa-list{gap:16px;margin:28px auto;padding:0 18px}.teacher-qa-card{border-radius:26px;padding:22px 20px}.teacher-qa-question{margin-bottom:14px;font-size:17px}.teacher-qa-answer{font-size:14px}}.header-logo-image{object-fit:contain;width:220px;height:auto;display:block}@media (width<=768px){.header-logo-image{width:190px}}.menu-toggle{display:none}@media (width<=768px){.site-header{z-index:1000;position:relative}.header-inner{box-sizing:border-box;flex-flow:row;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex;position:relative}.header-logo{flex:1;min-width:0}.header-logo-image{object-fit:contain;width:160px;max-width:240px;height:auto;display:block}.menu-toggle{cursor:pointer;background:#fff7fa;border:2px solid #f1cbd8;border-radius:12px;flex-direction:column;flex:0 0 44px;justify-content:center;align-items:center;gap:6px;width:44px;height:44px;margin-left:auto;padding:9px;display:flex;transform:translateY(25px)}.menu-toggle span{background:#b64c78;border-radius:2px;width:22px;height:2px;transition:transform .2s,opacity .2s;display:block}.menu-toggle.is-open span:first-child{transform:translateY(8px)rotate(45deg)}.menu-toggle.is-open span:nth-child(2){opacity:0}.menu-toggle.is-open span:last-child{transform:translateY(-8px)rotate(-45deg)}.site-nav{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:6px;width:100%;padding:14px 0 4px;display:none}.site-nav.is-open{opacity:1;z-index:1000;box-sizing:border-box;background-color:#fff0f5;flex-direction:column;gap:18px;width:100%;padding:20px;display:flex;position:absolute;top:100%;left:0;box-shadow:0 6px 12px #b4507826}.site-nav .nav-link{box-sizing:border-box;text-align:center;border-radius:14px;width:100%;padding:13px 16px;display:block}}.teacher-department-一般{color:#8051a8;background-color:#eadcf8}.teacher-department-M{color:#c83e4b;background-color:#f9dddd}.teacher-department-E{color:#39824b;background-color:#dcefe0}.teacher-department-I{color:#356eb5;background-color:#dce9fb}.teacher-department-C{color:#896a12;background-color:#fff0bd}.teacher-department-校長{color:#d0890e;background-color:#fff0bd}.teacher-subject{box-sizing:border-box;border-radius:15px;padding:6px 14px;font-size:15px;font-weight:600;line-height:.8;display:inline-block}.photo-placeholder{box-sizing:border-box;padding:12px;overflow:hidden}.photo-placeholder img{object-fit:contain;border-radius:12px;width:100%;height:100%;display:block}.guide-description{text-align:center;color:#8b4965;margin-bottom:24px;font-weight:600;line-height:1.9}.photo-text{text-align:center;white-space:pre-line;box-sizing:border-box;justify-content:center;align-items:center;padding:24px;font-size:25px;line-height:1.8;display:flex}.card-photo-text{text-align:center;white-space:pre-line;box-sizing:border-box;justify-content:center;align-items:center;padding:16px;font-size:25px;line-height:1.8;display:flex}.page-hero{box-sizing:border-box;text-align:center;background:var(--menu-light-pink,#fff1f5);border-bottom:2px solid var(--menu-border,#f2cedb);width:100%;max-width:none;margin:0 0 50px;padding:20px 20px 10px;position:relative;overflow:hidden}.page-hero:before,.page-hero:after{color:#edb5cb;opacity:.55;pointer-events:none;font-size:70px;font-weight:700;position:absolute}.page-hero:before{content:"♡";z-index:-1;top:18px;left:8%;transform:rotate(-15deg)}.page-hero:after{content:"✦";bottom:12px;right:9%;transform:rotate(12deg)}.page-hero-kicker{color:var(--menu-dark-pink,#b34875);letter-spacing:.18em;margin-bottom:8px;font-size:10px;font-weight:800;display:inline-block}.page-hero h1{color:var(--menu-dark-pink,#b34875);letter-spacing:.12em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(46px,8vw,76px);line-height:1.1}.page-hero-japanese{letter-spacing:.06em;margin:8px 0;font-size:17px;font-weight:800}.page-hero-description{color:#866b76;margin:0;font-size:12px;line-height:1.9}.page-hero-decoration{color:var(--menu-pink,#e36b9a);letter-spacing:.12em;margin-top:10px;font-size:17px}.teachers-page{margin-top:0!important;padding-top:0!important}.teachers-page .page-hero{transform:translateY(0);margin-top:0!important}.about-page,.teachers-page,.guide-page{margin:0!important;padding:0!important}.about-page .page-hero,.teachers-page .page-hero,.guide-page .page-hero{box-sizing:border-box;width:100%;margin-top:0!important;margin-left:0!important;margin-right:0!important}.about-content,.teachers-content,.guide-content{box-sizing:border-box;padding-left:20px;padding-right:20px}@media (width<=600px){.about-content,.teachers-content,.guide-content{padding-left:20px;padding-right:20px}}.teacher-time-section{width:min(1100px,100% - 40px);margin:30px auto}.teacher-time-heading,.teacher-results-heading{text-align:center;margin-bottom:22px}.teacher-time-heading h2,.teacher-results-heading h2{color:#b65b7d;margin-bottom:8px}.teacher-time-heading p,.teacher-results-heading p{color:#8d747d;font-size:.95rem}.teacher-time-nav{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.teacher-time-button{color:#8d6877;font:inherit;cursor:pointer;background:#fffafb;border:1px solid #efcbd9;border-radius:999px;padding:11px 20px;font-size:.9rem;transition:background .2s,color .2s,transform .2s}.teacher-time-button:hover{background:#fbeaf1;transform:translateY(-1px)}.teacher-time-button.active{color:#a94d70;background:#f4d8e4;border-color:#f4d8e4;font-weight:700}.teacher-results-heading{margin-top:35px}.teacher-availability{text-align:center;color:#b65b7d;background:#fff0f5;border-radius:12px;margin-bottom:12px;padding:10px;font-size:.9rem;font-weight:600}.teacher-no-results{text-align:center;color:#8d747d;background:#fff5f8;border-radius:16px;padding:35px 15px}@media (width<=600px){.teacher-time-section{width:calc(100% - 28px)}.teacher-time-nav{gap:8px}.teacher-time-button{padding:10px 14px;font-size:.82rem}.teacher-time-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.teacher-time-button{box-sizing:border-box;text-align:center;white-space:nowrap;width:100%;padding:10px 4px}}.photo-text{text-align:center;white-space:pre-line;box-sizing:border-box;justify-content:center;align-items:center;padding:24px;line-height:1.8;display:flex}.principal-time-card{background:linear-gradient(135deg,#fffdf5,#fff5d6,#fffaf0);border:2px solid #d4af37;border-radius:20px;padding:12px;box-shadow:0 0 0 3px #d4af3726,0 6px 18px #b8860b26}.principal-time-card .teacher-availability{color:#99700c;background:#fff4cf;border:1px solid #ead28b}.principal-time-card:hover{transition:all .2s;transform:translateY(-3px);box-shadow:0 0 0 4px #d4af3733,0 8px 24px #b8860b40}.principal-card{background:#fffaf0;border:2px solid #d4af37;border-radius:26px;box-shadow:0 0 0 3px #d4af3726,0 8px 25px #b8860b2e}.principal-card .principal-photo{background-position:top;background-repeat:no-repeat;background-size:cover;border-bottom:1px solid #e6c66e;height:250px;padding:0}.principal-card .principal-photo img{object-fit:contain;border-radius:0;width:100%;height:100%}.principal-content{text-align:center;background:linear-gradient(#fffaf0,#fff4d8);padding:18px 14px}.principal-label{color:#b8860b;letter-spacing:.08em;margin:0 0 8px;font-size:.75rem;font-weight:800}.principal-content h2{color:#8b6417;margin:8px 0}.principal-english{color:#b8860b;margin:0 0 10px;font-family:Georgia,serif;font-style:italic}.principal-card:hover{border-color:#c79a22;box-shadow:0 0 0 4px #d4af3733,0 12px 28px #b8860b40}.menu-page{--menu-pink:#d96d98;--menu-dark-pink:#a94770;--menu-light-pink:#fff0f5;--menu-cream:#fffaf5;--menu-ink:#57434b;--menu-border:#efd0dd;width:100%;max-width:none;color:var(--menu-ink);background:var(--menu-cream);box-sizing:border-box;padding:0 0 50px;font-family:inherit}.menu-page *,.menu-page :before,.menu-page :after{box-sizing:border-box}.menu-page a{color:inherit;text-decoration:none}.menu-hero{text-align:center;background:var(--menu-light-pink);border-bottom:2px solid var(--menu-border);padding:65px 20px 55px;position:relative;overflow:hidden}.menu-hero:before,.menu-hero:after{color:#edb5cb;opacity:.55;pointer-events:none;font-size:70px;font-weight:700;position:absolute}.menu-hero:before{content:"♡";top:18px;left:8%;transform:rotate(-15deg)}.menu-hero:after{content:"✦";bottom:12px;right:9%;transform:rotate(12deg)}.menu-hero-kicker{color:var(--menu-dark-pink);letter-spacing:.18em;margin-bottom:12px;font-size:12px;font-weight:800;display:inline-block}.menu-hero h1{color:var(--menu-dark-pink);letter-spacing:.12em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,8vw,78px);line-height:1.1}.menu-hero-japanese{letter-spacing:.06em;margin:14px 0 12px;font-size:19px;font-weight:800}.menu-hero-description{color:#866b76;margin:0;font-size:14px;line-height:1.9}.menu-hero-decoration{color:var(--menu-pink);letter-spacing:.12em;margin-top:18px;font-size:19px}.menu-category-nav{flex-wrap:wrap;justify-content:center;gap:12px;width:min(1000px,100% - 32px);margin:28px auto 50px;display:flex}.menu-category-nav a{color:var(--menu-dark-pink);border:1px solid var(--menu-border);background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:11px 18px;font-size:14px;font-weight:700;transition:background .2s,transform .2s;display:inline-flex}.menu-category-nav a:hover{background:var(--menu-light-pink);transform:translateY(-2px)}.menu-heading{text-align:center;margin:0 auto 28px}.menu-heading>span{color:var(--menu-pink);letter-spacing:.16em;font-size:11px;font-weight:800}.menu-heading h2{color:var(--menu-dark-pink);margin:8px 0 10px;font-size:clamp(23px,4vw,32px);line-height:1.5}.menu-heading p{color:#866b76;margin:0;font-size:14px;line-height:1.8}.menu-featured-section,.menu-all-section,.menu-set-section{width:min(1200px,100% - 48px);margin:0 auto 75px}.menu-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px;display:grid}.menu-feature-card{border:2px solid var(--menu-border);background:#fff;border-radius:18px;flex-direction:column;min-width:0;height:100%;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden;box-shadow:0 5px #f4dce6}.menu-feature-card:hover{transform:translateY(-4px);box-shadow:0 9px #f4dce6}.menu-feature-image-wrap{background:var(--menu-light-pink);box-sizing:border-box;border-bottom:1px dashed #e8b9cc;justify-content:center;align-items:center;height:290px;min-height:220px;padding:22px;display:flex;position:relative}.menu-feature-image{object-fit:contain;width:100%;max-width:240px;height:220px;display:block}.menu-grade-stamp{z-index:1;color:var(--menu-dark-pink);letter-spacing:.05em;background:#fff;border:1px solid #e7a9c2;border-radius:5px;padding:6px 9px;font-size:9px;font-weight:800;position:absolute;top:12px;left:12px;transform:rotate(-3deg)}.menu-feature-content{flex-direction:column;flex:1;padding:22px;display:flex}.menu-category-label{color:var(--menu-dark-pink);background:var(--menu-light-pink);letter-spacing:.12em;border-radius:5px;align-self:flex-start;padding:4px 9px;font-size:10px;font-weight:800}.menu-feature-content h3{color:var(--menu-ink);overflow-wrap:anywhere;margin:13px 0 8px;font-size:18px;line-height:1.7}.menu-catchphrase{color:var(--menu-dark-pink);margin:0;font-size:13px;font-weight:800;line-height:1.7}.menu-description{color:#79666e;white-space:pre-line;margin:0 0 20px;font-size:13px;line-height:1.9}.menu-price-row{border-top:1px dashed var(--menu-border);justify-content:space-between;align-items:baseline;gap:8px;margin-top:auto;padding-top:14px;display:flex}.menu-price-row span{color:#927d85;font-size:11px}.menu-price-row strong{color:var(--menu-dark-pink);white-space:nowrap;font-size:24px}.menu-category-grid{grid-template-columns:1fr;align-items:start;gap:24px;display:grid}.menu-category-section{border:1px solid var(--menu-border);background:#fff;border-radius:18px;min-width:0;padding:25px}.menu-section-heading{border-bottom:2px solid var(--menu-light-pink);align-items:center;gap:13px;margin-bottom:20px;padding-bottom:16px;display:flex}.menu-section-icon{background:var(--menu-light-pink);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;display:flex}.menu-section-heading h3{color:var(--menu-dark-pink);letter-spacing:.07em;margin:0;font-size:21px}.menu-section-heading p{color:#907680;margin:3px 0 0;font-size:12px}.menu-list{flex-direction:column;display:flex}.menu-list-card{border-bottom:1px dashed #ecdce2;justify-content:space-between;align-items:flex-start;gap:14px;padding:17px 0;display:flex}.menu-list-card:first-child{padding-top:0}.menu-list-card:last-child{border-bottom:none;padding-bottom:0}.menu-list-main{text-align:left;min-width:0}.menu-list-main h4{color:var(--menu-ink);overflow-wrap:anywhere;text-align:left;white-space:pre-line;margin:0 0 7px;font-size:14px;line-height:1.8}.menu-list-main p{color:#897780;white-space:pre-line;text-align:left;margin:0;font-size:12px;line-height:1.8}.menu-list-price{color:var(--menu-dark-pink);white-space:nowrap;flex-shrink:0;padding-top:2px;font-size:15px}.menu-set-section{background:var(--menu-light-pink);border:2px solid var(--menu-border);border-radius:22px;padding:35px}.menu-set-label{color:var(--menu-pink);letter-spacing:.16em;text-align:center;font-size:11px;font-weight:800;display:block}.menu-set-section>h2{color:var(--menu-dark-pink);text-align:center;margin:8px 0 25px;font-size:clamp(22px,4vw,30px)}.menu-set-card{border:1px solid var(--menu-border);background:#fff;border-radius:13px;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;padding:22px 24px;display:flex}.menu-set-card h3{margin:0 0 6px;font-size:16px;line-height:1.7}.menu-set-card p{color:#897780;margin:0;font-size:13px;line-height:1.8}.menu-set-card>strong{color:var(--menu-dark-pink);white-space:nowrap;flex-shrink:0;font-size:20px}.menu-set-note{color:#806b75;text-align:right;margin:18px 0 0;font-size:13px}.menu-footer{color:#a47789;text-align:center;padding:30px 20px 0}.menu-footer p{letter-spacing:.16em;margin:0 0 8px;font-family:Georgia,Times New Roman,serif;font-size:12px;font-weight:700}.menu-footer span{font-size:12px;font-weight:700}@media (width<=800px){.menu-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-category-grid{grid-template-columns:1fr}.menu-feature-card:last-child{grid-column:1/-1}.menu-feature-card:last-child .menu-feature-image{height:250px}}@media (width<=520px){.menu-hero{padding:48px 18px 40px}.menu-hero:before{font-size:48px;left:4%}.menu-hero:after{font-size:48px;right:4%}.menu-hero-japanese{font-size:16px}.menu-hero-description{font-size:13px}.menu-category-nav{flex-wrap:nowrap;justify-content:flex-start;gap:6px;width:calc(100% - 16px);margin:22px auto 40px;padding:0 0 8px;display:flex;overflow-x:auto;transform:translate(-4px)}.menu-category-nav a{white-space:nowrap;flex:none;padding:9px 10px;font-size:11px}.menu-featured-section,.menu-all-section,.menu-set-section{width:calc(100% - 28px);margin-bottom:50px}.menu-heading{margin-bottom:22px}.menu-heading p{padding:0 8px;font-size:12px}.menu-feature-grid{grid-template-columns:1fr;gap:20px}.menu-feature-card:last-child{grid-column:auto}.menu-feature-image-wrap{min-height:210px}.menu-feature-image,.menu-feature-card:last-child .menu-feature-image{height:210px}.menu-feature-content{padding:19px}.menu-category-section{padding:20px 16px}.menu-list-card{gap:10px}.menu-list-main h4{font-size:13px}.menu-list-price{font-size:14px}.menu-set-section{padding:25px 16px}.menu-set-card{align-items:flex-start;gap:12px;padding:17px 14px}.menu-set-card h3{font-size:14px}.menu-set-card p{font-size:12px}.menu-set-card>strong{font-size:16px}}.menu-image-placeholder{color:#c36b91;width:100%;max-width:240px;height:100%;box-shadow:none;background:0 0;border:none;border-radius:14px;outline:none;flex-direction:column;justify-content:center;align-items:center;display:flex;overflow:hidden}.menu-image-placeholder img{object-fit:contain;width:100%;height:100%;display:block}.menu-image-placeholder span{font-size:48px}.menu-image-placeholder p{margin:8px 0 0;font-size:13px;font-weight:700}@media (width<=520px){.menu-image-placeholder{height:210px}}.menu-category-section{scroll-margin-top:180px!important}.waffle-special-card{background:0 0;padding:0;display:block}.waffle-flavors{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.waffle-flavor{box-sizing:border-box;text-align:center;background:#fff7fb;border:2px solid #efbfd4;border-radius:20px;padding:10px}.waffle-flavor-icon{font-size:1.8rem}.waffle-flavor h5{color:#994b6d;margin:8px 0;font-size:1rem}.waffle-flavor p{color:#785d6a;text-align:center;margin:0;font-size:.7rem;line-height:1.7}@media (width<=480px){.waffle-flavors{grid-template-columns:1fr;gap:12px;margin-bottom:20px}.waffle-flavor{padding:12px 6px}}.waffle-special-card{justify-content:space-between;align-items:flex-start;gap:16px;padding-top:16px;display:flex}.waffle-special-card .menu-list-main{flex:1;min-width:0}.waffle-special-card .menu-list-price{white-space:nowrap;flex-shrink:0;align-self:flex-start}.waffle-flavors{margin-bottom:20px}@media (width<=480px){.waffle-flavor{flex-direction:column;justify-content:center;min-height:30px;padding:5px 8px;display:flex}.waffle-flavor-icon{font-size:1.5rem}.waffle-flavor h5{margin:5px 0;font-size:.8rem}.waffle-flavor p{font-size:.65rem;line-height:1.5}}
