/* ==========================================================================
   学科特徴セクション (partials/feature-{slug}.php)
   モバイルファースト
   ========================================================================== */

/* 学科カラー変数 */
.l-department-feature--artist       { --dept-color: #005CD4; }
.l-department-feature--soundcreator { --dept-color: #00B6AB; }
.l-department-feature--staff        { --dept-color: #FF5A00; }
.l-department-feature--tuning       { --dept-color: #FF9100; }
.l-department-feature--repair       { --dept-color: #8D67CF; }
.l-department-feature--craft        { --dept-color: #00B700; }

/* ==========================================================================
   ベーススタイル（SP）
   ========================================================================== */

.mb0{ margin-bottom:0 !important; }

    .sponly {
        display: block;
    }
	.pconly{
		display:none;
	}

.l-department-feature {
    background-color: #F0FF82;
    padding: 6.67vw 6.40vw 8.53vw;
}

.department-feature-inner {
    width: 100%;
    margin: 0 auto;
}

/* POINTブロック */
.point-blk {
    width: 100%;
    margin: 0 auto 9.87vw;
    position: relative;
}
.point-blk-last {
    width: 100%;
    margin: 0 auto 6.4vw;
    position: relative;
}

.point-label {
    position: absolute;
    top: -3.73vw;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--dept-color);
    width: 20.27vw;
    height: 7.20vw;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.13vw;
    color: #fff;
    font-weight: 600;
    font-style: italic;
    line-height: 1;
    gap: 1.33vw;
}

.point-label span {
    font-size: 4.00vw;
    font-weight: 600;
    font-style: italic;
    line-height: 1;
}

/* 学科の特徴 見出し */
.l-department-feature h2 {
    width: 50.13vw;
    margin: 0 auto 8.53vw;
}

.l-department-feature h2 img {
    width: 100%;
}

/* 体験授業ボタン */
.tl-mb{
margin:0 auto 8.53vw;
}

.trial-link{
    position: relative;
    width: 100%;
    margin: 0 auto 8.53vw;
}

.blk-txt {
    background: #fff;
    padding: 8.53vw 4.27vw 6.40vw;
}
.blk-txt-top {
    background: #fff;
    padding: 8.53vw 4.27vw 6.40vw;
    border-top: 4px solid var(--dept-color);
}
.blk-txt-bw {
    background: #fff;
    padding: 8.53vw 4.27vw 8.53vw;
    border-top: 4px solid var(--dept-color);
}

h3.point-copy {
    font-size: 7.25vw;
    font-weight: 900;
    line-height: 1.35;
    letter-spacing: -.02em;
    text-align: left;
    margin: 0 0 4.8vw;
}
h3.point-copy span{
    font-size: 2.67vw;
    font-weight: normal;
    line-height: 1.35;
display:inline-block;
margin-left:4.27vw;
}
.point-lead {
    text-align: left;
    font-size: 3.73vw;
    line-height: 1.92;
    font-weight: normal;
    margin: 0 0 4.8vw;
}
.point-lead-mb0 {
    text-align: left;
    font-size: 3.73vw;
    line-height: 1.92;
    font-weight: normal;
    margin: 0;
}
.point-lead-mb2 {
    text-align: left;
    font-size: 3.73vw;
    line-height: 1.92;
    font-weight: normal;
    margin: 0 0 2vw;
}

/* ---------- artistスタイル（SP: CSS Multi-column 2列） ---------- */

.artist-style {
    columns: 2;
    column-gap: 6.67vw;
}

.artist-style-item {
    break-inside: avoid;
}

.artist-style-item[data-style="band"] {
    border-bottom: 1px solid #000;
    padding-bottom: 4vw;
}

.artist-style-item[data-style="dance"] {
    padding-top: 4vw;
    break-after: column;
}

.artist-style-item[data-style="dtm"] {
    border-bottom: 1px solid #000;
    padding-bottom: 4vw;
}

.artist-style-item[data-style="acting"] {
    border-bottom: 1px solid #000;
    padding-top: 4vw;
    padding-bottom: 4vw;
}

.artist-style-item[data-style="composition"] {
    padding-top: 4vw;
}

.artist-type-ttl01 { color: #004BFF; font-size: 3.73vw; line-height: 1.92; margin: 0 0 2.67vw; font-weight: bold; }
.artist-type-ttl02 { color: #FFC700; font-size: 3.73vw; line-height: 1.92; margin: 0 0 2.67vw; font-weight: bold; }
.artist-type-ttl03 { color: #00DF8C; font-size: 3.73vw; line-height: 1.92; margin: 0 0 2.67vw; font-weight: bold; }
.artist-type-ttl04 { color: #FF5500; font-size: 3.73vw; line-height: 1.92; margin: 0 0 2.67vw; font-weight: bold; }
.artist-type-ttl05 { color: #C9295A; font-size: 3.73vw; line-height: 1.92; margin: 0 0 2.67vw; font-weight: bold; }

.artist-style-list li,
.artist-style-list-b li {
    font-weight: bold;
    padding-left: 1em;
    position: relative;
    font-size: 2.93vw;
    line-height: 1.36;
    margin: 0 0 1.33vw;
}

.artist-style-list-b {
    border-bottom: 0.27vw solid #000;
    padding: 0 0 3.20vw;
    margin: 0 0 3.20vw;
}

.artist-style-list li::before,
.artist-style-list-b li::before {
    content: '#';
    position: absolute;
    top: 0;
    left: 0;
}

/* ---------- artistケース ---------- */

.artist-case-col {
    display: flex;
    flex-wrap: wrap;
    gap: 2.67vw;
}

.artist-case-card {
    width: 37.87vw;
}

.artist-case-thumb {
    margin: 0 0 1.33vw;
}

.artist-case-thumb img {
    display: block;
    width: 100%;
    height: auto;
}

.artist-case-txt h4 {
    font-size: 2.93vw;
    line-height: 1.36;
    margin: 0 0 1.33vw;
}

.artist-case-txt {
    font-size: 2.93vw;
    line-height: 1.36;
    font-weight: normal;
}

.artist-andmore {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    font-size: 4.27vw;
    font-weight: 900;
    height: 100%;
}

/* ---------- artistデビュー ---------- */

.artist-debut-col {
    display: flex;
    gap: 2.67vw;
    margin: 0 0 6.40vw;
}

.artist-debut {
    width: 37.87vw;
    display: flex;
    flex-direction: column;
    gap: 1.33vw;
}

.artist-debut-thumb {
    width: 100%;
}

.artist-debut-name {
    text-align: left;
    font-weight: bold;
    font-size: 2.93vw;
}

.artist-debut-list-wrap {
    width: 37.87vw;
}

.artist-debut-list li {
    padding-left: 1.1em;
    position: relative;
    font-size: 2.93vw;
    font-weight: normal;
    line-height: 1.75;
}

.artist-debut-list li::before {
    content: '●';
    position: absolute;
    top: -0.53vw;
    left: 0.80vw;
}

.artist-debut-col--pc {
    display: none;
}

.artist-p3-andmore {
    font-size: 4.27vw;
    font-weight: 900;
    text-align: center;
}

/* SP専用改行 */
br.sp-br { display: inline; }
br.pc-br { display: none; }


/* SOUND CREATOR */

.feature-col3{
display:flex;
flex-wrap:wrap;
gap:2.67vw;
}
.feature-col3-card{
width:37.87vw;
}
.feature-col3-thumb{
margin:0 0 1.33vw;
}

.sc-p1-ttl{
font-size:2.93vw;
line-height:1.35;
font-weight:bold;
}


.feature-col2{
display:flex;
flex-wrap:wrap;
gap:2.67vw;
margin:0 auto 6.4vw;
}
.feature-col2-card{
width:38.27vw;
}
.feature-col2-thumb{
margin:0 0 2vw;
}

.sc-p2-ttl{
font-size:2.93vw;
line-height:1.35;
font-weight:bold;
margin:0 0 1.33vw;
}

.sc-p2-desc{
font-size:2.93vw;
line-height:1.75;
font-weight:normal;
}


.feature-andmore{
text-align:center;
font-size:4.27vw;
font-weight:900;
}


.btm-overlap{
width:100%;
height:18vw;
margin:3vw 0;
}

.avid-logo{
width:100%;
margin:0 auto 2.4vw;
}
.avid-logo-att{
font-size:2.93vw;
line-height:1.35;
font-weight:normal;
}

/* STAFF */

.feature-bnr{
display:flex;
flex-direction:column;
gap:4.27vw;
margin:0 auto 6.67vw;
}

.feature-bnr a{
width:100%;
margin:0 auto;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
font-size:4.00vw;
font-weight:normal;
text-decoration:none;
}

.staff-logos{
margin:0 auto 6.40vw;
}

.blk-head-photo{
background:#fff;
}
.blk-head-photo-caption{
font-size:3vw;
line-height:2;
text-align:right;
padding:0 2.4vw;
}


h3.staff-art-md {
    position: relative;
    display: block;
    height: 7.47vw;
    line-height: 7.47vw;
    text-align: center;
    font-size: 3.73vw;
    font-weight: bold;
    color: #FFF11E;
    background: #FF5A00;
margin:0 auto 4.27vw;
}
h3.staff-art-md::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 3.73vw solid #fff;
    border-right: 3.73vw solid transparent;
}
h3.staff-art-md::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 3.73vw solid #fff;
    border-left: 3.73vw solid transparent;
}

.staff-p2-cont{
margin-bottom:6.40vw;
}
.staff-p2-cont-last{
margin-bottom:0;
}

/* POINT2: 3年制/2年制 カラム */
.staff-p2-col {
    display: flex;
    flex-direction: column;
    gap: 4.27vw;
    margin: 0 0 6.40vw;
}
.staff-p2-col-l,
.staff-p2-col-r {
    width: 100%;
    box-sizing: border-box;
    padding: 6.40vw 4.27vw;
    background-color: #f5f5f5;
    background-image: repeating-linear-gradient(-30deg, #fff 0, #fff 5px, transparent 5px, transparent 16px);
}
h3.staff-p2-group {
    color: var(--dept-color);
    text-align: center;
    font-size: 5.33vw;
    font-weight: bold;
    line-height: 1.4;
    margin: 0 0 4.27vw;
}
h3.staff-p2-group::first-letter {
    font-size: 120%;
}
.staff-p2-col .staff-desc {
    text-align: center;
}
.staff-p2-linkbtn a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2.13vw;
    background-color: var(--dept-color);
    color: #fff;
    text-decoration: none;
    font-size: 3.73vw;
    font-weight: normal;
    line-height: 1.4;
    padding: 3.20vw 4.27vw;
}
.staff-p2-linkbtn a .staff-p2-arrow {
    flex-shrink: 0;
    color: #fff;
}
.staff-p2-linkbtns {
    display: flex;
    flex-direction: column;
    gap: 2.13vw;
}
.rolling{
width:68.80vw;
margin:0 auto 6.40vw;
}

.staff-org-md{
font-size:4.80vw;
line-height:1.5;
color:#FF5A00;
font-weight:bold;
margin:0 auto 6.40vw;
}



.event-logos{
width:73.33vw;
margin:0 auto 6.40vw;
}



.feature-col2{
display:flex;
flex-wrap:wrap;
gap:2.13vw;
}

.f-col2-l{
width:100%;
}
.f-col2-r{
width:100%;
}

.features-col3{
display:flex;
flex-wrap:wrap;
gap:2.13vw;
margin:0 auto 8.53vw;
}
.staff-photo-card3:nth-child(1) {
width:100%;
}

.staff-photo-card3{
width:38.27vw;
}

.features-col4{
display:flex;
flex-wrap:wrap;
gap:2.13vw;
margin:0 auto 4.27vw;
}

.staff-photo-card4{
width:38.27vw;
}


.staff-md{
font-size:2.93vw;
line-height:1.5;
font-weight:bold;
margin:0 0 2.13vw;
}
.staff-desc{
font-size:2.93vw;
line-height:1.35;
margin:0 0 2.13vw;
font-weight:normal;
}
.staff-col2-photo{
display:flex;
gap:2.13vw;
}
.staff-col2-photo li{
width:38.27vw;
}


.mb40{ margin-bottom:4.27vw; }



.tu-p1-l,
.tu-p1-r{
width:100%;
}

.tu-p1-l{
display:flex;
gap:0 1.87vw;
align-items:center;
}
.tu-graph{
width:46.13vw;
}
.tu-p1-ttl{
text-align:center;
margin:0 0 2.13vw;
}

.tu-p1-ttl span{
background:#ebebeb;
font-size:3.60vw;
line-height:1.35;
padding:1.60vw 4.80vw;
border-radius:4.27vw;
text-align:center;
display:inline-block;
}

.tu-list1 li{
font-size:2.67vw;
line-height:1.35;
font-weight:normal;
}


.tu-p1-r{
margin-top:6.4vw;
}


.tu-list-col{
display:flex;
gap:2.13vw;
}
.tu-list2{
width:39.20vw;
}
.tu-list2 li{
font-size:2.93vw;
line-height:1.6;
font-weight:normal;
letter-spacing:-.05em;
}



.tu-p2-l,
.tu-p2-r{
width:37.87vw;
}
.tu-p2i{
width:37.87vw;
margin:0 auto 2.13vw;
}
.tu-p2i-caption{
font-size:2.93vw;
line-height:1.5;
text-align:center;
}

.tu-p3-card{
width:37.87vw;
display:flex;
flex-direction:column;
flex-wrap:wrap;
justify-content:center;
gap:2.67vw 0;
}
.tu-p3-card-caption{
font-size:2.93vw;
line-height:1.5;
text-align:left;
}

/* CRAFT */


.logo-zeropro{
width:39.47vw;
margin:6.40vw auto;
}

h3.cr-art-md {
    position: relative;
    display: block;
    height: 7.47vw;
    line-height: 7.47vw;
    text-align: center;
    font-size: 3.73vw;
    font-weight: bold;
    color: #FFF;
    background: #00B700;
margin:0 auto 4.27vw;
}
h3.cr-art-md::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 3.73vw solid #fff;
    border-right: 3.73vw solid transparent;
}
h3.cr-art-md::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 3.73vw solid #fff;
    border-left: 3.73vw solid transparent;
}


.cr-gr-md{
font-size:4.80vw;
line-height:1.5;
color:#00B700;
font-weight:bold;
margin:0 auto 6.40vw;
text-align:center;
}



.cr-photo-card{
width:37.87vw;
display:flex;
flex-direction:column;
gap:1.33vw;
}

.cr-photo-card-pconly{
display:none;
}
.cr-photo-caption{
font-size:2.93vw;
line-height:1.5;
}
.cr-photo-caption span{
display:block;
font-size:2.6vw;
}


.cr-content{
margin:0 0 6.40vw;
}

.cr-logos{
display:flex;
flex-wrap:wrap;
gap:1.33vw;
align-items:center;
justify-content:center;
margin:0 auto 6.40vw;
}

.cr-logos div{
width:37.87vw;
}


/* ==========================================================================
   PC（768px以上）
   ========================================================================== */

@media screen and (min-width: 768px) {

    .l-department-feature {
        padding: 24px 0 64px;
    }

    .department-feature-inner {
        width: 1260px;
        max-width: 100%;
    }

    .point-blk {
        width: 1260px;
        max-width: 100%;
        margin: 0 auto 100px;
position:relative;
    }

    .point-blk-last {
        width: 1260px;
        max-width: 100%;
margin:0 auto;
    }

    .point-label {
        top: -36px;
        width: 210px;
        height: 74px;
        font-size: 32px;
        gap: 5px;
    }

    .point-label span {
        font-size: 73px;
    }

    .l-department-feature h2 {
        width: 360px;
        margin: 0 auto 78px;
    }

.tl-mb{
margin:0 auto 70px;
}

    .trial-link {
        width:100%;
        margin: 0 auto 70px;
    }



.blk-head-photo{
background:#fff;
}
.blk-head-photo-caption{
font-size:16px;
line-height:2;
text-align:right;
padding:0 30px;
}

    .blk-txt {
        padding: 40px 30px 32px;
    }

    .blk-txt-top {
        padding: 72px 30px 32px;
        border-top: 1px solid var(--dept-color);
    }
    .blk-txt-bw {
        padding: 72px 30px 72px;
        border-top: 1px solid var(--dept-color);
    }
    h3.point-copy {
        font-size: 56px;
		line-height:1;
        text-align: center;
        margin: 0 0 40px;
    }
    h3.point-copy span{
        font-size: 16px;
		line-height:2;
        text-align: center;
        display:block;
font-weight:normal;
    }
    .point-lead {
        text-align: center;
        font-size: 28px;
        line-height: 1.7;
        margin: 0 0 52px;
    }
    .point-lead-mb0 {
        text-align: center;
        font-size: 28px;
        line-height: 1.7;
        margin: 0;
    }
    .point-lead-mb2 {
        text-align: center;
        font-size: 28px;
        line-height: 1.7;
        margin: 0 0 20px;
    }
    /* PC: artistスタイル（CSSマルチカラム 3列）
       columns: 3 で各列が独立フローになりgridのrow高さ共有問題を回避 */
    .artist-style {
        column-count: 3;
        column-gap: 40px;
    }

    .artist-style-item[data-style="band"] {
        break-after: column;
        border-bottom: none;
        padding-bottom: 0;
    }

    /* SP: dance の break-after:column をリセット → PCではband・dtmで折り返す */
    .artist-style-item[data-style="dance"] {
        break-after: auto;
        border-bottom: 1px solid #000;
        padding-top: 0;
        padding-bottom: 13px;
        margin-bottom: 13px;
    }

    .artist-style-item[data-style="dtm"] {
        break-after: column;
        border-bottom: none;
        padding-bottom: 0;
    }

    .artist-style-item[data-style="acting"] {
        border-bottom: 1px solid #000;
        padding-top: 0;
        padding-bottom: 13px;
        margin-bottom: 13px;
    }

    .artist-style-item[data-style="composition"] {
        padding-top: 0;
    }

    .artist-type-ttl01 { font-size: 24px; line-height: 30px; margin: 0 0 8px; }
    .artist-type-ttl02 { font-size: 24px; line-height: 30px; margin: 0 0 8px; }
    .artist-type-ttl03 { font-size: 24px; line-height: 30px; margin: 0 0 8px; }
    .artist-type-ttl04 { font-size: 24px; line-height: 30px; margin: 0 0 8px; }
    .artist-type-ttl05 { font-size: 24px; line-height: 30px; margin: 0 0 8px; }

    .artist-style-list li,
    .artist-style-list-b li {
        font-size: 16px;
        line-height: 2;
        margin: 0;
    }

    .artist-style-list-b {
        border-bottom: 1px solid #000;
        padding: 0 0 13px;
        margin: 0 0 13px;
    }

    .artist-case-col {
        gap: 40px;
    }

    .artist-case-card {
        /* 1200px幅で4列(270px×4+40px×3)になる比率。固定pxだと768pxに達する前に段落ちするため割合指定にする */
        width: calc((100% - 120px) / 4);
    }

    .artist-debut-col {
        gap: 40px;
    }

    .artist-debut {
        /* 1200px幅で2列(580px×2+40px×1)になる比率。固定pxだと768pxに達する前に段落ちするため割合指定にする */
        width: calc((100% - 40px) / 2);
        flex-direction: row;
        gap: 16px;
        align-items: center;
    }

    .artist-debut-thumb {
        width: 46.55%; /* 元の270px/580px比率を維持 */
        flex-shrink: 0;
    }

    .artist-debut-thumb img {
        display: block;
        width: 100%;
        height: auto;
    }

    .artist-debut-name {
        flex: 1;
        width: auto;
        font-size: 18px;
    }

    .artist-debut-list-wrap {
        /* 1200px幅で3列(373px×3+40px×2)になる比率 */
        width: calc((100% - 80px) / 3);
    }

    .artist-debut-col--pc {
        display: flex;
    }
.artist-case-thumb {
    margin: 0 0 16px;
}

.artist-case-txt h4 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0;
}

.artist-case-txt {
    font-size: 16px;
    line-height: 1.75;
    font-weight: normal;
}

.artist-andmore {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    font-size: 24px;
    font-weight: 900;
    height: 100%;
}


/* ---------- artistデビュー ---------- */

.artist-debut-col {
    display: flex;
    gap: 40px;
    margin: 0 0 32px;
}

.artist-debut {
    width: calc((100% - 40px) / 2);
    display: flex;
    gap: 16px;
}

.artist-debut-thumb {
    width: 46.55%;
    flex-shrink: 0;
}

.artist-debut-name {
    flex: 1;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
}

.artist-debut-list li {
    padding-left: 1.1em;
    position: relative;
    font-size: 18px;
    font-weight: normal;
    line-height: 1.75;
}

.artist-debut-list li::before {
    content: '●';
    position: absolute;
    top: -2px;
    left: 3px;
}


.artist-p3-andmore {
    font-size: 24px;
    font-weight: 900;
    text-align: center;
}

    .artist-debut-col--sp {
        display: none;
    }

    .sponly {
        display: none;
    }
	.pconly{
		display:block;
	}

    br.sp-br {
        display: none;
    }
br.pc-br {
        display: inline;
    }



/* SOUND CREATOR */

.feature-col3{
display:flex;
flex-wrap:wrap;
gap:40px;
}
.feature-col3-card{
/* 1200px幅で3列(373px×3+40px×2)になる比率。固定pxだと768pxに達する前に段落ちするため割合指定にする */
width:calc((100% - 80px) / 3);
}
.feature-col3-thumb{
margin:0 0 8px;
}

.sc-p1-ttl{
font-size:16px;
line-height:1.5;
font-weight:bold;
}


.feature-col2{
display:flex;
flex-wrap:wrap;
gap:40px;
margin:0 auto 24px;
}
.feature-col2-card{
/* 1200px幅で2列(580px×2+40px×1)になる比率。固定pxだと768pxに達する前に段落ちするため割合指定にする */
width:calc((100% - 40px) / 2);
}
.feature-col2-thumb{
margin:0 0 12px;
}

.sc-p2-ttl{
font-size:24px;
line-height:1.5;
font-weight:bold;
margin:0 0 4px;
}

.sc-p2-desc{
font-size:16px;
line-height:1.75;
}


.feature-andmore{
text-align:center;
font-size:24px;
font-weight:900;
}


.btm-overlap{
width:452px;
height:74px;
position:absolute;
bottom:-37px;
left:50%;
transform:translate(-50%, 0);
margin:0;
}

.avid-logo{
width:373px;
margin:0 auto 16px;
}
.avid-logo-att{
text-align:center;
font-size:16px;
line-height:1.75;
}



/* STAFF */

.feature-bnr{
display:flex;
flex-direction:column;
gap:16px;
margin:0 auto 64px;
}

.feature-bnr a{
width:100%;
max-width:800px;
margin:0 auto;
box-sizing:border-box;
display:flex;
align-items:center;
justify-content:center;
text-align:center;
font-size:24px;
font-weight:normal;
text-decoration:none;
}

.staff-logos{
margin:0 auto 24px;
}

h3.staff-art-md {
    position: relative;
    display: block;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #FFF11E;
    background: #FF5A00;
margin:0 auto 32px;
}
h3.staff-art-md::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 30px solid #fff;
    border-right: 30px solid transparent;
}
h3.staff-art-md::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #fff;
    border-left: 30px solid transparent;
}

.staff-p2-cont{
margin-bottom:56px;
}

/* POINT2: 3年制/2年制 カラム */
.staff-p2-col {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 40px;
    margin: 0 0 56px;
}
.staff-p2-col-l,
.staff-p2-col-r {
    /* 1200px幅で2列(580px×2+40px×1)になる比率 */
    width: calc((100% - 40px) / 2);
    padding: 40px 32px;
    box-sizing: border-box;
}
h3.staff-p2-group {
    font-size: 28px;
    margin: 0 0 24px;
}
.staff-p2-linkbtn a {
    font-size: 18px;
    padding: 16px 24px;
}
.staff-p2-linkbtns {
    gap: 10px;
}

.rolling{
width:480px;
margin:0 auto 40px;
}

.staff-org-md{
font-size:40px;
color:#FF5A00;
font-weight:bold;
text-align:center;
margin:0 auto 32px;
}

.event-logos{
width:100%;
max-width:1040px;
margin:0 auto 32px;
}
.event-logos img{
display:block;
width:100%;
height:auto;
}


.feature-col2{
display:flex;
gap:40px;
}

/* 1200px幅で2列(580px×2+40px×1)になる比率。固定pxだと768pxに達する前に段落ちするため割合指定にする */
.f-col2-l{
width:calc((100% - 40px) / 2);
}
.f-col2-r{
width:calc((100% - 40px) / 2);
}
.f-col2-l img{
display:block;
width:100%;
height:auto;
}

.features-col3{
display:flex;
flex-wrap:wrap;
gap:40px;
margin:0 auto 32px;
}
/* 1200px幅で3列(373px×3+40px×2)になる比率 */
.staff-photo-card3:nth-child(1) {
width:calc((100% - 80px) / 3);
}
.staff-photo-card3{
width:calc((100% - 80px) / 3);
}
.staff-photo-card3 img{
display:block;
width:100%;
height:auto;
}
.features-col4{
display:flex;
flex-wrap:wrap;
gap:40px;
margin:0 auto 32px;
}

/* 1200px幅で4列(270px×4+40px×3)になる比率 */
.staff-photo-card4{
width:calc((100% - 120px) / 4);
}
.staff-photo-card4 img{
display:block;
width:100%;
height:auto;
}


.staff-md{
font-size:32px;
line-height:1.5;
font-weight:bold;
margin:0 0 24px;
}
.staff-desc{
font-size:16px;
line-height:1.75;
margin:0 0 32px;
}
.staff-col2-photo{
display:flex;
gap:40px;
}
/* f-col2-r(580px相当)内で2列(270px×2+40px×1)になる比率 */
.staff-col2-photo li{
width: calc((100% - 40px) / 2);
}
.staff-col2-photo li img{
display:block;
width:100%;
height:auto;
}


.mb40{ margin-bottom:40px; }


/* TUNING */

/* 1200px幅で2列(580px×2+40px×1)になる比率 */
.tu-p1-l,
.tu-p1-r{
width:calc((100% - 40px) / 2);
}

.tu-p1-l{
display:flex;
gap:0 20px;
align-items:center;
}
.tu-graph{
width:338px;
}
.tu-graph img{
display:block;
width:100%;
height:auto;
}
.tu-p1-ttl{
text-align:center;
margin:0 0 24px;
}

.tu-p1-ttl span{
background:#ebebeb;
font-size:20px;
line-height:1.35;
padding:8px 32px;
border-radius:22px;
text-align:center;
display:inline-block;
}

.tu-list1 li{
font-size:22px;
line-height:1.35;
font-weight:normal;
}

.tu-p1-r{
margin:0;
}


.tu-list-col{
display:flex;
gap:40px;
}
/* tu-p1-r(580px相当)内で2列(270px×2+40px×1)になる比率 */
.tu-list2{
width:calc((100% - 40px) / 2);
}
.tu-list2 li{
font-size:16px;
line-height:1.5;
font-weight:normal;
}


/* 1200px幅で2列(580px×2+40px×1)になる比率 */
.tu-p2-l,
.tu-p2-r{
width:calc((100% - 40px) / 2);
}
.tu-p2i{
width:100%;
max-width:373px;
margin:0 auto 16px;
}
.tu-p2i img{
display:block;
width:100%;
height:auto;
}
.tu-p2i-caption{
font-size:16px;
line-height:1.5;
text-align:center;
}

.tu-p3-card{
/* 1200px幅で3列(373px×3+40px×2)になる比率 */
width:calc((100% - 80px) / 3);
display:flex;
flex-direction:column;
flex-wrap:wrap;
justify-content:center;
gap:10px 0;
}
.tu-p3-card img{
display:block;
width:100%;
height:auto;
}
.tu-p3-card-caption{
font-size:16px;
line-height:1.5;
text-align:left;
}



 
/* CRAFT */

.logo-zeropro{
width:240px;
margin:40px auto;
}

 

h3.cr-art-md {
    position: relative;
    display: block;
    height: 60px;
    line-height: 60px;
    text-align: center;
    font-size: 40px;
    font-weight: bold;
    color: #FFF;
    background: #00B700;
margin:0 auto 32px;
}
h3.cr-art-md::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    border-top: 30px solid #fff;
    border-right: 30px solid transparent;
}
h3.cr-art-md::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 0;
    height: 0;
    border-bottom: 30px solid #fff;
    border-left: 30px solid transparent;
}


.cr-gr-md{
font-size:40px;
color:#00B700;
font-weight:bold;
text-align:center;
margin:0 auto 56px;
}

/* 1200px幅で3列(373px×3+40px×2)になる比率 */
.cr-photo-card{
width:calc((100% - 80px) / 3);
display:flex;
flex-direction:column;
gap:10px;
}
.cr-photo-card img{
display:block;
width:100%;
height:auto;
}
.cr-photo-card-pconly{
width:calc((100% - 80px) / 3);
display:flex;
flex-direction:column;
gap:10px;
justify-content:center;
}
.cr-photo-caption{
font-size:16px;
line-height:1.5;
}
.cr-photo-caption span{
font-size:14px;
display:block;
}

.cr-content{
margin:0 0 56px;
}

.cr-logos{
display:flex;
flex-wrap:wrap;
gap:8px 40px;
align-items:center;
justify-content:center;
margin:0 auto 32px;
}

.cr-logos div{
width:270px;
}


} /*END PC LAYOUT */
