@charset "UTF-8";
:root{
  --sage:#9cc9b2;--sage-dark:#6ea78b;--mint:#f6fcf8;--mint-2:#fcfefd;
  --cream:#fffdf8;--peach:#fbeee4;--pink:#fdf5f2;--sky:#f7fbfe;
  --brown:#5c5048;--text:#3e4944;--muted:#78827d;--line:#e1e9e4;
  --white:#fff;--shadow:0 18px 55px rgba(78,107,91,.12);--radius:28px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:var(--text);background:#fff;line-height:1.8}
a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit}button{cursor:pointer}
#app-container{overflow:hidden}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(225,233,228,.8)}
.header-inner{max-width:1180px;margin:auto;min-height:76px;padding:10px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
/* ロゴ */
.brand {
    display: flex;
    align-items: center;
    height: 70px;
}

.brand img {
    display: block;
    height: 52px;      /* ←この値でサイズ調整 */
    width: auto;
    object-fit: contain;
}
.global-nav{display:flex;align-items:center;gap:24px;font-size:13px;font-weight:700}.global-nav a:hover{color:var(--sage-dark)}
.nav-setting{border:0;background:var(--mint);color:var(--sage-dark);padding:10px 14px;border-radius:999px;font-weight:700}.menu-button{display:none;border:0;background:none;font-size:27px}
.hero{position:relative;min-height:680px;display:flex;align-items:center;isolation:isolate}.hero-visual{position:absolute;inset:0;z-index:-2;background:
linear-gradient(120deg,#e7f2eb 0%,#f8eadf 55%,#fff8ef 100%);background-size:cover;background-position:center}
radial-gradient(circle at 48% 40%,#fff 0 8%,transparent 9%),linear-gradient(145deg,#bed5c6,#91b09e);opacity:.65}
.hero-visual:after{content:"";position:absolute;right:17%;top:25%;width:25%;height:36%;border-radius:50%;background:rgba(255,255,255,.52);box-shadow:70px 70px 0 rgba(246,223,207,.75),-45px 100px 0 rgba(255,255,255,.4)}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.93) 48%,rgba(255,255,255,.30) 78%,rgba(255,255,255,.10))}
.hero-inner{max-width:1180px;width:100%;margin:auto;padding:90px 24px;display:grid;grid-template-columns:1.25fr .75fr;gap:70px;align-items:center}
.hero-copy-panel{max-width:670px}.eyebrow{margin:0 0 12px;color:var(--sage-dark);font-weight:900;font-size:12px;letter-spacing:.15em}
.hero h1,.elearning-hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;font-size:clamp(48px,6vw,76px);line-height:1.25;letter-spacing:.02em;margin:0 0 24px;color:#435047}
.hero h1 span,.elearning-hero h1 span{color:var(--sage-dark)}.hero-lead{font-size:18px;color:#67716c}.hero-actions,.inline-actions,.setting-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 23px;border:1px solid transparent;font-weight:800}
.button.primary{background:var(--sage-dark);color:#fff;box-shadow:0 9px 25px rgba(82,117,100,.18)}.button.secondary{background:#fff;border-color:#adc4b6;color:var(--sage-dark)}
.hero-points{display:flex;gap:18px;flex-wrap:wrap;margin-top:26px;color:var(--sage-dark);font-size:13px;font-weight:700}
.today-card{background:rgba(255,255,255,.91);border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow);border-radius:32px;padding:24px;max-width:360px;margin-left:auto}
.today-head{display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.today-photo{height:190px;background:linear-gradient(145deg,#eff7ee,#faeade);border-radius:22px;margin:16px 0;display:grid;place-items:center;font-size:70px}
.today-card strong{font-size:20px}.today-card p{font-size:13px;color:var(--muted)}.text-button{border:0;background:none;color:var(--sage-dark);font-weight:800;padding:0}
.section{padding:92px 24px}.section-heading{max-width:760px;margin:0 auto 48px;text-align:center}.section-heading h2,.split-section h2,.ai-copy h2,.training-wrap h2,.support-banner h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,4vw,48px);font-weight:600;line-height:1.45;margin:0 0 16px;color:#46534c}
.section-heading p{color:var(--muted)}.soft-section{background:var(--mint-2)}.intro-section{background:linear-gradient(180deg,#fff,#fbfdfb)}
.burden-grid,.feature-grid,.support-grid,.language-feature-grid{max-width:1100px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.burden-grid article,.feature-card,.language-feature-grid article{background:#fff;border:1px solid var(--line);border-radius:24px;padding:27px}.burden-grid article{background:linear-gradient(180deg,#fff,#fbfdfb)}
.soft-icon{width:54px;height:54px;border-radius:18px;background:var(--mint);display:grid;place-items:center;font-size:27px;margin-bottom:18px}.burden-grid h3,.feature-card h3{margin:0 0 8px}.burden-grid p,.feature-card p{font-size:14px;color:var(--muted)}
.feature-card{position:relative;transition:.2s}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.feature-number{position:absolute;right:22px;top:18px;color:#c8d7cf;font-family:Georgia,serif;font-size:24px}
.card-action{border:0;background:#eaf4ee;color:var(--sage-dark);padding:9px 13px;border-radius:999px;font-weight:800}.tag{display:inline-block;background:var(--cream);color:#9a795b;padding:5px 10px;border-radius:999px;font-size:11px;font-weight:800}
.split-section,.training-wrap,.learning-demo{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.large-copy{color:var(--muted);font-size:16px}
.check-list{list-style:none;margin:24px 0;padding:0;display:grid;gap:9px}.check-list li:before{content:"✓";display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--mint);color:var(--sage-dark);font-weight:900;margin-right:9px}
.album-preview{background:#fff;box-shadow:var(--shadow);border-radius:32px;padding:24px;border:1px solid var(--line);transform:rotate(1deg)}.album-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.album-top span{font-weight:800}.album-top small{color:var(--muted)}
.album-photo-grid,.selectable-album{display:grid;grid-template-columns:1fr 1fr;gap:10px}.album-photo-grid div,.album-item{min-height:145px;border:0;border-radius:18px;background:linear-gradient(145deg,#eef6f1,#faeee5);display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:45px}.album-photo-grid span,.album-item span{font-size:12px;color:#6c7771;margin-top:6px}.album-footer{padding-top:14px;text-align:center;color:var(--sage-dark);font-size:12px;font-weight:800}
.ai-section{background:#f7f4ef}.ai-card{max-width:1100px;margin:auto;background:#fff;border-radius:34px;padding:50px;display:grid;grid-template-columns:1.15fr .85fr;gap:50px;box-shadow:var(--shadow)}
.future-badge{display:inline-block;background:#fff0d9;color:#9b6d2c;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;margin-bottom:18px}.notice-box{background:var(--cream);padding:16px;border-radius:16px;font-size:13px;margin-top:20px}
.face-photo{background:linear-gradient(145deg,#dfece4,#f7e8dd);border-radius:28px;padding:55px 20px;display:flex;justify-content:center;gap:18px}.person{font-size:45px;position:relative;border:3px solid #78a185;border-radius:18px;padding:8px}.person span{position:absolute;white-space:nowrap;left:50%;transform:translateX(-50%);bottom:-33px;font-size:10px;background:#78a185;color:#fff;border-radius:999px;padding:3px 8px}.person.blocked{border-color:#d4907d}.person.blocked span{background:#d4907d}.face-result{margin-top:42px;padding:16px;border-radius:15px;background:var(--mint)}.face-result span{display:block;font-size:11px;color:var(--muted)}.face-result strong{font-size:14px}
.camera-section{background:var(--sky)}.camera-dashboard{max-width:1000px;margin:auto;display:grid;grid-template-columns:1.1fr .9fr;background:#fff;border-radius:32px;overflow:hidden;box-shadow:var(--shadow)}.camera-screen{min-height:350px;background:linear-gradient(145deg,#dce8e2,#f7e9df);padding:25px;display:flex;flex-direction:column}.camera-live{font-size:12px;font-weight:800}.live-dot{display:inline-block;width:8px;height:8px;background:#d46f65;border-radius:50%;margin-right:7px}.camera-scene{font-size:55px;flex:1;display:grid;place-items:center}.camera-time{text-align:right;color:var(--muted);font-size:12px}
.camera-settings{padding:35px;display:grid;gap:0}.camera-settings>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:13px 0}.camera-settings span{color:var(--muted);font-size:13px}.camera-settings .button{margin-top:22px}.status-line{font-size:12px;color:var(--muted)}
.training-teaser{background:linear-gradient(180deg,#fff,#f6fbf8)}.language-card{background:#fff;border:1px solid var(--line);border-radius:30px;padding:28px;box-shadow:var(--shadow)}.language-label{font-size:10px;font-weight:900;color:var(--sage-dark);letter-spacing:.14em}.mock-player{margin:20px 0;background:#eaf3ed;border-radius:20px;padding:25px;display:flex;align-items:center;gap:15px}.player-icon{width:48px;height:48px;border-radius:50%;background:var(--sage-dark);color:#fff;display:grid;place-items:center}.mock-player small{display:block;color:var(--muted)}
.language-options{display:flex;gap:7px;flex-wrap:wrap}.language-options button{border:1px solid var(--line);background:#fff;padding:7px 10px;border-radius:999px;font-size:11px}.caption-demo{margin-top:18px;padding:14px;background:#222;color:#fff;border-radius:9px;text-align:center;font-size:13px}
.gift-section{background:var(--cream)}.gift-toolbar{max-width:1000px;margin:0 auto 24px;display:flex;justify-content:space-between;align-items:end;gap:20px}.gift-toolbar label{width:min(480px,100%)}select,input,textarea{width:100%;border:1px solid #dce6e0;background:#fff;border-radius:12px;padding:11px 12px;color:var(--text)}
.cart-button{border:0;background:var(--sage-dark);color:#fff;border-radius:999px;padding:12px 17px;font-weight:800}.cart-button span{display:inline-grid;place-items:center;background:#fff;color:var(--sage-dark);border-radius:50%;min-width:22px;height:22px;margin-left:5px}
.gift-products{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gift-product{background:#fff;border:1px solid #efe8dd;border-radius:24px;padding:20px}.gift-product-image{height:130px;background:#fbf1e5;border-radius:17px;display:grid;place-items:center;font-size:50px}.gift-product>span{display:block;margin-top:14px;font-size:11px;color:#a7876c;font-weight:800}.gift-product h3{font-size:18px;margin:5px 0}.gift-product p{font-size:13px;color:var(--muted)}.gift-product>div:last-child{display:flex;justify-content:space-between;align-items:center}.add-to-cart{border:0;background:#edf5ef;color:var(--sage-dark);border-radius:999px;padding:8px 14px;font-weight:800}
.support-section{background:#86a998;color:#fff}.section-heading.light h2{color:#fff}.section-heading.light p{color:#dfe8e3}.support-grid article{border:1px solid rgba(255,255,255,.17);border-radius:22px;padding:25px;background:rgba(255,255,255,.045)}.support-grid article>span{color:#bad0c2;font-family:Georgia,serif;font-size:22px}.support-grid p{color:#dae5df;font-size:13px}
.cta-section{max-width:1100px;margin:70px auto;padding:48px;border-radius:32px;background:linear-gradient(135deg,#f1f8f3,#fff1e7);display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-section h2{font-family:"Yu Mincho",serif;font-size:32px;margin:0}
.site-footer{background:#6f9180;color:#fff;text-align:center;padding:55px 24px}.site-footer .brand{justify-content:center;color:#fff}.site-footer p{color:#d5e0da;font-size:13px}
.modal{position:fixed;inset:0;background:rgba(45,57,51,.55);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-content{position:relative;background:#fff;border-radius:28px;padding:32px;width:min(620px,100%);max-height:90vh;overflow:auto;box-shadow:0 30px 80px rgba(34,50,42,.25)}.wide-modal{width:min(820px,100%)}.modal-close{position:absolute;top:14px;right:17px;border:0;background:#f3f6f4;width:36px;height:36px;border-radius:50%;font-size:21px}.modal-help{color:var(--muted);font-size:13px}.modal form{display:grid;gap:14px}.modal label{display:grid;gap:6px;font-weight:700;font-size:13px}
.upload-box{border:2px dashed #bfd1c5;border-radius:20px;padding:28px;text-align:center;background:var(--mint-2)}.upload-box input{margin-top:12px}.upload-box span{display:block;font-size:11px;color:var(--muted)}
.result-box{margin-top:18px;background:var(--mint);border-radius:15px;padding:16px;color:var(--sage-dark)}.news-modal-list{display:grid;gap:10px}.news-modal-list label{grid-template-columns:auto 1fr;align-items:start;border:1px solid var(--line);border-radius:16px;padding:14px}.news-modal-list input,.checkbox-row input{width:auto;margin-top:5px}.news-modal-list small{display:block;color:var(--muted);font-weight:400}.modal-video{min-height:280px;background:#dfece4;border-radius:22px;display:flex;flex-direction:column;justify-content:center;align-items:center;font-size:55px;color:var(--sage-dark)}.modal-video span{font-size:13px}
.album-item{position:relative;cursor:pointer}.album-item b{position:absolute;right:12px;top:9px;font-size:22px;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.25)}.album-item.selected{outline:4px solid #83a88f}.album-item.selected b{color:#d86f70}.gift-total{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:15px 0;margin-top:10px}.checkbox-row{grid-template-columns:auto 1fr!important}.empty-cart{padding:20px;background:var(--mint-2);border-radius:14px;color:var(--muted);text-align:center}
#giftCartItems{display:grid;gap:8px}.cart-row{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid var(--line)}.cart-row button{border:0;background:#f8ece8;color:#9c6658;border-radius:8px;padding:5px 9px}

/* E-learning */
.elearning-hero{background:linear-gradient(130deg,#edf7f1,#fff6eb);padding:95px 24px}.elearning-hero-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:70px}.elearning-hero h1{font-size:clamp(45px,5vw,68px)}.elearning-hero p{color:var(--muted);font-size:17px}.learning-summary{background:#fff;border-radius:30px;padding:22px;display:grid;grid-template-columns:1fr 1fr;gap:10px;box-shadow:var(--shadow)}.learning-summary div{background:var(--mint-2);border-radius:18px;padding:18px}.learning-summary span{display:block;color:var(--muted);font-size:11px}.learning-summary strong{font-size:27px;color:var(--sage-dark)}
.course-grid{max-width:1000px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.course-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:23px}.course-grid article>span{font-size:10px;background:var(--mint);color:var(--sage-dark);padding:5px 9px;border-radius:999px;font-weight:900}.course-grid h3{font-size:18px}.course-grid p,.course-grid small{color:var(--muted)}
.learning-demo-section{background:#f8fbf9}.learning-player{background:#fff;border-radius:28px;padding:24px;box-shadow:var(--shadow)}.player-screen{height:240px;background:linear-gradient(145deg,#dcebe1,#f6e9de);border-radius:20px;display:flex;flex-direction:column;align-items:center;justify-content:center}.player-screen button{width:62px;height:62px;border-radius:50%;border:0;background:var(--sage-dark);color:#fff;font-size:22px}.player-screen span{margin-top:12px;font-weight:800}.progress-track{height:9px;background:#e8eeea;border-radius:999px;overflow:hidden;margin:18px 0}.progress-track i{display:block;width:0;height:100%;background:var(--sage);transition:.3s}.player-meta{display:flex;justify-content:space-between;gap:14px;align-items:center}.player-meta select{width:auto}.caption-area{margin-top:14px;background:#28322d;color:#fff;padding:12px;border-radius:10px;text-align:center;font-size:13px}.quiz-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px}.quiz-label{font-size:10px;color:var(--sage-dark);font-weight:900}.quiz-box form{display:grid;gap:10px}.quiz-box label{grid-template-columns:auto 1fr;align-items:start;padding:11px;border:1px solid var(--line);border-radius:12px}.quiz-box input{width:auto;margin-top:5px}
.staff-table-wrap{max-width:1000px;margin:auto;overflow:auto;border:1px solid var(--line);border-radius:22px}.staff-table{width:100%;border-collapse:collapse;background:#fff}.staff-table th,.staff-table td{padding:15px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}.staff-table th{background:var(--mint-2);font-size:12px}.status{display:inline-block;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:900}.status.complete{background:#e7f4eb;color:#4c7a5d}.status.learning{background:#fff1d8;color:#987030}.status.pending{background:#fae9e6;color:#a35c54}.support-banner{max-width:1100px;margin:60px auto;border-radius:30px;background:#eef6f1;display:flex;justify-content:space-between;align-items:center;gap:30px}.support-banner>div{max-width:720px}

@media(max-width:980px){
.global-nav{display:none;position:absolute;top:70px;left:15px;right:15px;background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:20px;flex-direction:column;align-items:flex-start}.global-nav.open{display:flex}.menu-button{display:block}
.hero-inner,.split-section,.ai-card,.camera-dashboard,.training-wrap,.elearning-hero-inner,.learning-demo{grid-template-columns:1fr}.today-card{margin:0}.burden-grid,.feature-grid,.support-grid,.language-feature-grid,.course-grid{grid-template-columns:1fr 1fr}.gift-products{grid-template-columns:1fr 1fr}
}
@media(max-width:620px){
.header-inner{padding:10px 17px}.section{padding:68px 17px}.hero{min-height:auto}.hero-inner{padding:65px 18px}.hero h1{font-size:43px}.hero-overlay{background:rgba(255,255,255,.8)}.burden-grid,.feature-grid,.support-grid,.language-feature-grid,.course-grid,.gift-products{grid-template-columns:1fr}.ai-card{padding:28px}.face-photo{padding:45px 10px}.person{font-size:34px}.camera-settings{padding:25px}.gift-toolbar,.cta-section,.support-banner{flex-direction:column;align-items:stretch}.cta-section{margin:35px 17px;padding:30px 23px}.album-photo-grid,.selectable-album{grid-template-columns:1fr 1fr}.player-meta{align-items:stretch;flex-direction:column}.player-meta select{width:100%}
}
/* v3 media customization */
.feature-card .soft-icon,.burden-grid .soft-icon,.language-feature-grid .soft-icon{
  width:86px;height:86px;margin:0 auto 22px;font-size:42px;border-radius:28px
}
.feature-card{text-align:center}.feature-card .card-action,.feature-card .tag{margin-top:8px}
.photo-setting-button{background:#fffaf5;border-color:#e4cdbb;color:#8a6a53}
.media-slot{position:relative;overflow:hidden}
.media-slot>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1}
.media-slot .media-placeholder{position:relative;z-index:0}
.media-edit{position:absolute;z-index:3;right:10px;bottom:10px;border:0;border-radius:999px;background:rgba(255,255,255,.92);color:var(--sage-dark);padding:7px 11px;font-size:11px;font-weight:800;box-shadow:0 5px 16px rgba(0,0,0,.1)}
.today-photo.media-slot>img,.camera-media>img,.training-media>img,.modal-video>img,.player-screen>img{object-fit:cover}
.album-media{min-height:150px}
.album-media>img,.album-item>img{object-fit:cover}
.album-media>span:not(.media-placeholder){position:relative;z-index:2;background:rgba(255,255,255,.84);padding:2px 7px;border-radius:999px}
.album-upload-actions{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 22px}
.album-upload-actions .button{font-size:12px;padding:9px 13px}
.camera-media{min-height:220px}.camera-media .media-edit{bottom:14px}
.training-media{min-height:150px}.training-media>div:not(.player-icon){position:relative;z-index:2;background:rgba(255,255,255,.88);padding:7px 10px;border-radius:12px}
.modal-video.media-slot .media-placeholder{display:flex;flex-direction:column;align-items:center}.modal-video.media-slot small{font-size:13px}
.player-screen.media-slot .media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:2}
.player-screen.media-slot .media-placeholder span{font-weight:800}
.player-screen.media-slot .media-edit{bottom:12px}
#mediaUploadInput{margin:12px 0}


.section-heading h2,
.training-wrap h2,
.ai-copy h2,
.split-section h2{
  word-break: keep-all;
  line-height:1.6;
}

.hero h1 br,
.elearning-hero h1 br{
  display:block;
}

.section-heading h2 br{
  display:block;
}

.elearning-hero{
  background-size:cover!important;
  background-position:center!important;
}