*{box-sizing:border-box}
body{margin:0;color:#102136;font-family:"Noto Sans JP",sans-serif;line-height:2}
header{height:90px;background:#07182d;color:white;display:flex;align-items:center;justify-content:space-around;position:absolute;width:100%;z-index:5;border-bottom:1px solid #ffffff22}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:45px;height:45px;object-fit:cover}
.brand small{display:block;font-size:10px}
nav a{color:white;text-decoration:none;margin:15px;font-size:14px}

.hero{height:900px;background:#07182d;color:white;position:relative;overflow:hidden;padding:180px 10%}
.hero-text{position:relative;z-index:2}
.hero-text>p{letter-spacing:4px;color:#d4af37}
.hero h1{font-family:serif;font-size:70px;line-height:1.35;letter-spacing:.08em}
em{color:#d4af37;font-style:normal}
.lead{font-size:16px}

.math-bg:before{
content:"";
position:absolute;
right:12%;
top:22%;
width:520px;height:520px;
border:1px solid rgba(212,175,55,.4);
border-radius:50%;
}
.math-bg:after{
content:"";
position:absolute;
right:8%;
top:45%;
width:600px;
height:1px;
background:#d4af37;
transform:rotate(-20deg);
opacity:.35;
}
.math-bg span{
position:absolute;
color:#d4af37;
opacity:.3;
font-size:90px;
font-family:serif;
}
.math-bg span:first-child{right:28%;top:28%}
.math-bg span:last-child{right:15%;top:65%}

section{padding:100px 10%}
h2{font-family:serif;font-size:55px;line-height:1.5}
.label{color:#b28b22;letter-spacing:3px}

.strength{display:flex;background:#f6f5f0;gap:20px}
.strength>div,.card{padding:35px;border:1px solid #ddd;flex:1}

.dark{
background:#07182d;
color:white;
padding:110px 6%;
}

.dark h2{
color:white;
margin-bottom:60px;
}

.dark .card{
display:inline-block;
vertical-align:top;
width:31.5%;
min-height:260px;
margin-right:1.5%;
background:#ffffff;
color:#344054;
padding:45px 38px;
border:none;
position:relative;
font-size:14px;
line-height:2;
transition:.3s;
}

.dark .card:last-child{
margin-right:0;
}

.dark .card:hover{
transform:translateY(-8px);
}

.dark .card:before{
content:"";
position:absolute;
left:0;
top:0;
width:100%;
height:3px;
background:#d4af37;
}

.dark .card:first-letter{
color:#d4af37;
font-size:28px;
font-weight:bold;
}

.dark .card:nth-child(2){
background:#faf8ef;
}

.dark .card:nth-child(3){
background:#f5f7fa;
}

@media(max-width:900px){
.dark .card{
width:100%;
margin-right:0;
margin-bottom:25px;
}
}

footer{background:#050f1d;color:white;text-align:center;padding:40px}

@media(max-width:800px){
nav{display:none}
.hero h1{font-size:40px}
.strength{display:block}
h2{font-size:38px}
}

/* curriculum enhancement */
.course-tabs{
display:flex;
margin-top:60px;
border-bottom:1px solid #d8dce3;
}
.course-tabs div{
flex:1;
padding:25px;
color:#64748b;
font-size:14px;
}
.course-tabs .active{
background:#faf8ef;
color:#102136;
border-bottom:3px solid #d4af37;
}
.course-panel{
background:#f6f5f0;
padding:70px;
display:flex;
justify-content:space-between;
gap:80px;
margin-top:0;
}
.course-panel h3{
font-family:serif;
font-size:30px;
}
.course-panel ul{
list-style:none;
min-width:350px;
}
.course-panel li{
padding:15px 0;
border-bottom:1px solid #ddd;
color:#475569;
}

@media(max-width:900px){
.course-tabs{
display:block;
}
.course-panel{
display:block;
padding:35px;
}
.course-panel ul{
min-width:auto;
padding:0;
}
}


.course-tabs{
display:flex;
border-bottom:1px solid #ddd;
margin-top:50px;
}

.course-tab{
flex:1;
padding:25px;
cursor:pointer;
color:#64748b;
}

.course-tab.active{
background:#faf8ef;
border-bottom:3px solid #d4af37;
color:#102136;
}

.course-panel{
display:none;
background:#f7f6f1;
padding:55px;
margin-top:0;
justify-content:space-between;
}

.course-panel.active{
display:flex;
}

.course-panel ul{
list-style:none;
}

.form-area{
display:flex;
justify-content:center;
}

.form-box{
background:white;
color:#102136;
padding:45px;
width:520px;
}

.form-box input,
.form-box select{
width:100%;
padding:15px;
margin:10px 0 25px;
border:1px solid #ddd;
}

.form-box label{
display:block;
}

.form-box b{
background:#9b7b1f;
color:white;
font-size:12px;
padding:3px 6px;
}

.form-box button{
width:100%;
background:#07182d;
color:white;
padding:18px;
}

.two{
display:flex;
gap:15px;
}

.two>div{
width:50%;
}

.privacy{
font-size:12px;
color:#999;
text-align:center;
}

@media(max-width:800px){
.course-panel{
display:none;
flex-direction:column;
}
.course-tabs{
display:block;
}
.two{
display:block;
}
.two>div{
width:100%;
}
}


.contact-section{
display:flex;
align-items:center;
justify-content:space-between;
gap:80px;
padding:100px 10%;
}

.contact-left{
width:55%;
}

.contact-left hr{
border:0;
border-top:1px solid rgba(255,255,255,.2);
margin:35px 0;
}

.contact-left h4{
color:#d4af37;
}

.form-box{
background:#fff;
color:#102136;
width:430px;
padding:45px;
}

.form-box h2{
font-size:28px;
margin-top:0;
}

.form-box label{
display:block;
font-size:14px;
font-weight:bold;
margin-top:20px;
}

.form-box b{
background:#98751c;
color:white;
font-size:11px;
padding:3px 6px;
margin-left:5px;
}

.form-box input,
.form-box select{
width:100%;
height:44px;
border:1px solid #d5d9e0;
padding:10px;
margin-top:8px;
}

.form-row{
display:flex;
gap:15px;
}

.form-row>div{
width:50%;
}

.form-box button{
width:100%;
height:55px;
margin-top:30px;
background:#07182d;
color:white;
border:0;
font-size:16px;
}

.form-box small{
display:block;
text-align:center;
color:#999;
margin-top:15px;
font-size:11px;
}

@media(max-width:900px){
.contact-section{
display:block;
}

.contact-left,
.form-box{
width:100%;
}

.form-box{
margin-top:40px;
}
}
