/* ==========================================================================
コースページ メインコンテンツ (partials/course/main-*.php)
========================================================================== */



.course-main{
width:87.20vw;
margin:0 auto;
padding:6.40vw 0 8.53vw;
}

.course-main-wrapper{
padding:9.07vw 0;
}


.course-main h2{
font-size:4.80vw;
font-style:italic;
font-weight:bold;
line-heihgt:1.65;
margin:0 0 6.40vw;
}

.course-main h3.art-md span{
display:inline-block;
background-color:#5a4fd6;
background-image:
radial-gradient(ellipse 45% 60% at 65% 35%, rgba(224, 179, 234, 0.85) 0%, rgba(224, 179, 234, 0) 70%),
linear-gradient(115deg, #6a3fd6 0%, #4f7bf0 55%, #5286f5 100%);
background-repeat:no-repeat;
background-size:cover;
color:#fff;
font-size:7.20vw;
font-weight:300;
line-height:1;
padding:2.13vw;
margin:0 0 2.13vw;
}

.course-main h3.staff-md span{
display:inline-block;
background-color:#f2704a;
background-image:
radial-gradient(ellipse 45% 60% at 50% 45%, rgba(255, 235, 180, 0.9) 0%, rgba(255, 235, 180, 0) 70%),
linear-gradient(90deg, #f5a623 0%, #f0629a 45%, #ef4d55 100%);
background-repeat:no-repeat;
background-size:cover;
color:#fff;
font-size:7.20vw;
font-weight:300;
line-height:1;
padding:2.13vw;
margin:0 0;
}

.cur-shape{
margin:0 auto 8.53vw;
}

.va-bnr{
margin:6.4vw auto;
}
.va-bnr.sp-bdr{
padding: 8px;
border: 1px solid #005cd4;
}


.cur-img{
width:100%;
margin:0 0 4.26vw;
}
.cur-img img{
aspect-ratio:340 / 184;
object-fit:cover;
}

.cur-md{
color: var(--dept-color);
font-size:4.80vw;
line-height:1.5;
margin:0 0 4.27vw;
font-weight:bold;
}

.course-main-col{
display:flex;
flex-wrap:wrap;
gap:10.67vw;
margin:0 0 8.53vw;
}
.course-sub-col{
display:flex;
flex-wrap:wrap;
gap:6.40vw;
margin:0 0 8.53vw;
}

.course-card{
width:100%;
}

.course-card p{
font-size:3.20vw;
line-height:1.75;
font-weight:normal;
}

.cur-label{
margin:6.4vw 0 0;
}

.cur-label span{
display:inline-block;
font-size:3.73vw;
line-height:1;
background:#EBEBEB;
padding:2.13vw;
border-radius:4.00vw;
margin:0 0 2.13vw;
font-weight:normal;
}

.cur-hash{
display:flex;
flex-wrap:wrap;
gap:2.67vw 1em;
margin-bottom:6.40vw;
}
.cur-hash li{
padding-left:1em;
position:relative;
font-size:3.20vw;
line-height:1;
font-weight:normal;
}
.cur-hash li::before{
content:'#';
position:absolute;
top:0;
left:0;
}
.cur-hash li:last-child::before{
content:'...';
position:absolute;
top:0;
left:0;
}

.cur-strx{
width: 100%;
box-sizing: border-box;
padding:0;
}


.cur-str{
width: 100%;
box-sizing: border-box;
padding:0;
background-color: #f5f5f5;
background-image: repeating-linear-gradient(-30deg, #fff 0, #fff 5px, transparent 5px, transparent 16px);
}

.ttl-pickup{
color:var(--dept-color);
font-size:5.33vw;
line-height:1;
padding:3.20vw 2.67vw 2.13vw;
border-bottom:0.27vw solid var(--dept-color);
margin:0 0 3.20vw;
}

.ttl-pickup span{
display:inline-block;
font-size:4vw;
line-height:5.33vw;
width:5.33vw;
height:5.33vw;
background:var(--dept-color);
text-align:center;
color:#fff;
border-radius:50%;
margin-left:.25em;
position:relative;
top:-.5vw;
}


.cur-str h4{
color:var(--dept-color);
font-size:4.80vw;
line-height:1;
font-weight:bold;
padding:4.27vw;
}
.cur-str p{
font-size:3.20vw;
line-height:1.75;
padding:0 4.27vw 4.27vw;
}



.annual-wrapper{
display:flex;
flex-wrap:wrap;
padding:6.4vw 0;
border-top:0.27vw solid #000;
border-bottom:0.27vw solid #000;
gap:8.53vw;
}

.annual-blk{
width:100%;
}

.annual-ttl{
font-size:19.73vw;
font-weight:300;
line-height:1;
display:flex;
gap:1.87vw;
align-items:end;
justify-content:center;
text-align:center;
margin:0 0 8.53vw;
color:var(--dept-color);
}
.annual-ttl span{
font-size:9.07vw;
line-height:1.25;
}

.annual-arrow{
padding-top:12.80vw;
position:relative;
}

.annual-arrow::before{
content:'';
width:8.00vw;
height:8.00vw;
border-right:0.27vw solid var(--dept-color);
border-bottom:0.27vw solid var(--dept-color);
transform:rotate(45deg);
position:absolute;
top:0;
left:50%;
margin-left:-4.00vw;
}

.annual-copy{
color:#5A5150;
font-size:5.33vw;
line-height:1.5;
font-weight:bold;
margin:0 0 6.4vw;
}

.annual-col{
padding:0 4.27vw;
display:flex;
flex-wrap:wrap;
gap:4.27vw 2.67vw;
}
.annual-card{
width:37.87vw;
display:flex;
flex-direction:column;
gap:1.33vw;
}
.ap-md{
font-size:2.93vw;
font-weight:bold;
color:var(--dept-color);
}


.learn{
display:flex;
gap:2.13vw;
margin:0 0 2.13vw;
}
.learn-ttl{
width:19.20vw;
height:8.00vw;
text-align:center;
background:#FFA675;
color:#fff;
font-size:3.73vw;
font-weight:bold;
display:flex;
justify-content:center;
text-align:center;
align-items:center;
}
.learn-cont{
font-size:3.20vw;
line-height:1.25;
font-weight:bold;
color:#5A5150;
}

.staff-pmd{
margin-bottom:6.4vw;
}


.hash-ttl{
font-size:3.20vw;
font-weight:bold;
line-height:1;
margin:0 0 2.93vw;
color:var(--dept-color);
}

.pi-qua{
border:0.27vw solid var(--dept-color);
padding:2.13vw 4.27vw;
font-size:2.93vw;
line-height:1.35;
}
.pi-qua-ttl{
font-size:2.93vw;
font-weight:bold;
line-height:1;
margin:0 0 1.33vw;
}


.sche-ttl{
font-weight:bold;
font-size:2.67vw;
line-height:1;
margin:0 0 2.13vw;
}





@media (min-width: 768px) {



.course-main{
width:1200px;
margin:0 auto;
padding:40px 0 64px
}

.course-main-wrapper{
padding:40px 0;
}


.course-main h2{
font-size:48px;
font-style:italic;
font-weight:bold;
line-heihgt:1.5;
margin:0 0 32px;
}



.course-main h3.art-md span{
display:inline-block;
background-color:#5a4fd6;
background-image:
radial-gradient(ellipse 45% 60% at 65% 35%, rgba(224, 179, 234, 0.85) 0%, rgba(224, 179, 234, 0) 70%),
linear-gradient(115deg, #6a3fd6 0%, #4f7bf0 55%, #5286f5 100%);
background-repeat:no-repeat;
background-size:cover;
color:#fff;
font-size:36px;
font-weight:300;
line-height:1;
padding:11px 16px;
margin:0 0 16px;
}

.course-main h3.staff-md span{
display:inline-block;
background-color:#f2704a;
background-image:
radial-gradient(ellipse 45% 60% at 50% 45%, rgba(255, 235, 180, 0.9) 0%, rgba(255, 235, 180, 0) 70%),
linear-gradient(90deg, #f5a623 0%, #f0629a 45%, #ef4d55 100%);
background-repeat:no-repeat;
background-size:cover;
color:#fff;
font-size:36px;
font-weight:300;
line-height:1;
padding:11px 16px;
}

.cur-shape{
width:580px;
margin:0 auto 40px;
}

.va-bnr{
width:800px;
margin:40px auto;
}
.va-bnr.sp-bdr{
padding: 0;
border: none;
}


.course-main-col{
display:flex;
flex-wrap:wrap;
gap:48px 40px;
margin:0 0 40px;
}
.course-sub-col{
display:flex;
flex-wrap:wrap;
gap:40px;
margin:0 0 40px;
}

.course-card,
.sub-card{
width:580px;
}


.cur-img{
width:100%;
margin:0 0 24px;

}

.cur-img img{
aspect-ratio:580 / 314;
object-fit:cover;
}


.cur-md{
color: var(--dept-color);
font-size:32px;
line-height:1.5;
margin:0 0 24px;
font-weight:bold;
}


.course-card p{
font-size:16px;
line-height:1.75;
font-weight:normal;
}

.cur-label{
margin:24px 0 0;
}

.cur-label span{
display:inline-block;
font-size:16px;
line-height:1;
background:#EBEBEB;
padding:10px 18px;
border-radius:18px;
margin:0 0 16px;
font-weight:normal;
}

.cur-hash{
display:flex;
flex-wrap:wrap;
gap:8px 1em;
margin-bottom:24px;
}
.cur-hash li{
padding-left:1em;
position:relative;
font-size:16px;
line-height:1;
font-weight:normal;
}


.ttl-pickup{
color:var(--dept-color);
font-size:32px;
line-height:1;
padding:24px 24px 8px;
border-bottom:1px solid var(--dept-color);
margin:0 0 24px;
}

.ttl-pickup span{
display:inline-block;
font-size:24px;
line-height:32px;
width:32px;
height:32px;
background:var(--dept-color);
text-align:center;
color:#fff;
border-radius:50%;
margin-left:.25em;
position:relative;
top:-3px;
}


.cur-str h4{
color:var(--dept-color);
font-size:24px;
line-height:1;
font-weight:bold;
padding:0 20px;
margin:0 0 16px;
}
.cur-str p{
font-size:16px;
line-height:1.75;
padding:0 20px 32px;
}






.annual-wrapper{
display:flex;
flex-wrap:wrap;
padding:56px 0;
border-top:1px solid #000;
border-bottom:1px solid #000;
gap:75px;
}

.annual-blk{
width:100%;
}

.annual-ttl{
font-size:120px;
font-weight:300;
line-height:1;
display:flex;
gap:8px;
align-items:end;
justify-content:flex-start;
text-align:center;
margin:0 0 24px;
color:var(--dept-color);
}
.annual-ttl span{
font-size:58px;
line-height:1.45;
}

.annual-arrow{
padding-top:51px;
position:relative;
}

.annual-arrow::before{
content:'';
width:30px;
height:30px;
border-right:1px solid var(--dept-color);
border-bottom:1px solid var(--dept-color);
transform:rotate(45deg);
position:absolute;
top:0;
left:50%;
margin-left:-30px;
}

.annual-copy{
color:#5A5150;
font-size:32px;
line-height:1.5;
font-weight:bold;
margin:0 0 16px;
}




.annual-col{
padding:24px 40px;
display:flex;
flex-wrap:wrap;
gap:48px 40px;
}
.annual-card{
width:340px;
display:flex;
flex-direction:column;
gap:16px;
}
.ap-md{
font-size:24px;
line-height:1.5;
font-weight:bold;
color:var(--dept-color);
}


.learn{
display:flex;
gap:18px;
margin:0 0 24px;
}
.learn-ttl{
width:108px;
height:36px;
text-align:center;
background:#FFA675;
color:#fff;
font-size:18px;
font-weight:bold;
display:flex;
justify-content:center;
text-align:center;
align-items:center;
}
.learn-cont{
font-size:16px;
line-height:1.125;
font-weight:bold;
color:#5A5150;
}

.staff-pmd{
margin-bottom:24px;
}


.hash-ttl{
font-size:16px;
font-weight:bold;
line-height:1.5;
margin:0 0 ;
color:var(--dept-color);
}

.pi-qua{
border:1px solid var(--dept-color);
padding:24px 16px;
font-size:16px;
line-height:1.75;
}
.pi-qua-ttl{
font-size:16px;
font-weight:bold;
line-height:1.5;
margin:0 0;
}
   

.sche-ttl{
font-weight:bold;
font-size:16px;
line-height:1;
margin:0 0 8px;
}




/* END PC CSS */
}
