@charset "utf-8";

@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:400;
    src:url(../../../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
        url(../../../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
        url(../../../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}
@font-face{
    font-family:'Noto Sans JP';
    font-style:normal;
    font-weight:700;
    src:url(../../../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
        url(../../../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
        url(../../../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*-----------------------------------------------
    Variables & Reset
-----------------------------------------------*/
/*==============================
    remの基準
==============================*/
html{
    font-size: 10px;
}
@media only screen and (max-width:1500px){
    html{
        font-size: calc((10 / 1500) * 100vw);
    }
}
@media only screen and (max-width:1215px){
    html{
        font-size: 10px;
    }
}

/*==============================
    変数設定
==============================*/
/* 幅の基準 */
:root {
    --widthBase : 192rem;
}
@media only screen and (max-width:1920px){
    :root {
        --widthBase : 100vw;
    }
}
@media only screen and (max-width:1400px){
    :root {
        --widthBase : 1400px;
    }
}
@media only screen and (max-width:1215px){
    :root {
        --widthBase : 375px;
    }
}
@media only screen and (max-width:374px){
    :root {
        --widthBase : 100vw;
    }
}

:root {
    /* Colors */
    --color-main: #ff6473;
    --color-red: #ff0000;
    --color-pink: #ff6473;
    --color-orange: #f9bb32;
    --color-orange02: #ffb000;
    --color-mint: #01b8bf;
    --color-purple: #806fc8;
    --color-purple-light: #8878cb;
    --color-new: #f6ff00;
    --color-text: #333333;
    --color-text-light: #666666;
    --color-bg: #f4f2f0;
    --color-border: #d7d7d7;
    
    --color-required: #ff0000;
    --color-white: #ffffff;
    --color-form-border: #e5e5e5;
    --color-form-email: #f7f7f7;
    --color-form-topBorder: #7f7f7f;
    --color-form-add: #194ff0;
    --color-form-work: #00888d;
    --color-form-complete: #f2f0f9;
    --color-form-movie: #efefef;
    --color-bg-favorite: #ffffe0;

    --color-table-border: #bbb;
    --color-table-bg: #fffdeb;
    --color-table-locked: #ffe8e8;
    --color-chat-date-bg: #f8f8f8;
    --color-chat-read: #a3a3a3;
    --color-chat-bg-company:#c3f69d;
    --color-chat-bg-member:#efefef;
    --color-chat-form-border:#e6e6e6;
    --color-btn-jobgate: #23bde4;

    /* 260630 */
    --color-recruitment: #4887f0;
    --color-recruitment01: #bac4e8;
    --color-recruitment02: #1a417f;

    /* フォントサイズ（PC: 1216px以上） */
    --pcFontSize10: 1rem;
    --pcFontSize11: 1.1rem;
    --pcFontSize12: 1.2rem;
    --pcFontSize13: 1.3rem;
    --pcFontSize14: 1.4rem;
    --pcFontSize15: 1.5rem;
    --pcFontSize16: 1.6rem;
    --pcFontSize17: 1.7rem;
    --pcFontSize18: 1.8rem;
    --pcFontSize20: 2rem;
    --pcFontSize22: 2.2rem;
    --pcFontSize23: 2.3rem;
    --pcFontSize24: 2.4rem;
    --pcFontSize26: 2.6rem;
    --pcFontSize28: 2.8rem;
    --pcFontSize30: 3rem;
    --pcFontSize34: 3.4rem;
    --pcFontSize40: 4rem;
    --pcFontSize80: 8rem;

    /* フォントサイズ（SP: 1215px以下） */
    --spFontSize10: calc((10 / 375) * var(--widthBase));
    --spFontSize11: calc((11 / 375) * var(--widthBase));
    --spFontSize12: 1.2rem;
    --spFontSize13: 1.3rem;
    --spFontSize14: 1.4rem;
    --spFontSize15: 1.5rem;
    --spFontSize16: 1.6rem;
    --spFontSize17: 1.7rem;
    --spFontSize18: 1.8rem;
    --spFontSize20: 2rem;
    --spFontSize22: 2.2rem;
    --spFontSize23: 2.3rem;
    --spFontSize24: 2.4rem;
    --spFontSize26: 2.6rem;
    --spFontSize28: 2.8rem;
    --spFontSize30: 3rem;
    --spFontSize40: 4rem;
    --spFontSize80: 8rem;

    /* レタースペーシング（PC: 1216px以上） */
    --pcLetterSpacing60: 0.06em;
    --pcLetterSpacing40: 0.04em;
    --pcLetterSpacing20: 0.02em;

    /* レタースペーシング（SP: 1215px以下） */
    --spLetterSpacing40: 0.04em;
    --spLetterSpacing20: 0.02em;
    --spLetterSpacing0: 0;
}

body{
    font-size: var(--pcFontSize12);
    font-family: 'YakuHanJP_Noto','Noto Sans JP', sans-serif;
    margin: 0;
    padding: 0;
    text-align: left;
    color: var(--color-text);
    background-color: var(--color-bg);
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color:rgba(0,0,0,0.25);
    position: relative;
    word-break: break-all;
    min-width: 1180px;
}
@media only screen and (max-width:1215px){
    body{
        min-width:0;
    }
}

body *, body *::before, body *::after{box-sizing:border-box;}
img{vertical-align:bottom;}
h1,h2,h3,h4,h5,h6{font-weight:normal;}
th{
    font-weight:normal;
    text-align:left;
}

/*font layout*/
.fBold{font-weight:bold;}
.fOswald{
    font-family:'Oswald', 'YakuHanJP_Noto','Noto Sans JP', sans-serif;
}

/*rollover*/
.ro a:hover,
a.ro:hover,
a .ro:hover,
.cursorPointer:hover{ opacity:0.8; }
.ro a,
a.ro,
a .ro,
.cursorPointer{
    transition:opacity 0.2s ease-out;
}
.cursorPointer{cursor:pointer;}
@media only screen and (max-width:1215px){
    .ro a:hover,
    a.ro:hover,
    a .ro:hover,
    .cursorPointer:hover{ opacity:1; }
}

/*rollover(brightnessによる変化)*/
.cursorPointer.brt:hover,.cursorPointer .brt:hover,
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.cursorPointer.brt,.cursorPointer .brt,
.brt a,
a.brt,
a .brt{
    transition:filter 0.2s ease-out;
}
@media only screen and (max-width:1215px){
    .cursorPointer.brt:hover,.cursorPointer .brt:hover,
    .brt a:hover,a.brt:hover,a .brt:hover{ filter:none; }
}

/*ro無効化*/
.ro .no_ro a:hover,
.ro a.no_ro:hover,
.ro .no_ro .cursorPointer:hover,
.ro .cursorPointer.no_ro:hover{ opacity:1; }

/* 電話リンクの無効化 */
a[href^="tel:"]{
    pointer-events:none;
    cursor:default;
}
@media only screen and (max-width:1215px){
    a[href^="tel:"]{
        pointer-events:auto;
        cursor:pointer;
    }
}

a{color: inherit;text-decoration: none;}

/*========================================
    レスポンシブ用(不要な場合は削除)
========================================*/
.img100{
    max-width:100%;
    height:auto;
}

@media only screen and (min-width:1216px){
    .spOnly,
    .brSp,
    .imgSp{
        display:none !important;
    }
}

@media only screen and (max-width:1215px){
    .spNone,
    .brPc,
    .imgPc{
        display:none !important;
    }
    .imgR{
        width:100%;
        height:auto;
    }
}

/*-----------------------------------------------
    imgCover
-----------------------------------------------*/
/* imgCover */
.imgCover,
.imgCont{
    position:relative;
}
.imgCover img {
    width:100%;
    height:100%;
    position:absolute;
    top:0;
    left:0;
    object-fit:cover;
}
.imgCont img{
    width:auto;
    height:auto;
    max-width:100%;
    max-height:100%;
    display:block;
    position:absolute;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
}

/*-----------------------------------------------
    animation
-----------------------------------------------*/
@media only screen and (min-width:1216px){
    .animHoverUp,
    a.animHoverUp {
        transition: all 0.3s;
    }
    .animHoverUp:hover,
    a.animHoverUp:hover {
        transform: translateY(-5px);
    }
}

/*-----------------------------------------------
    wrapper
-----------------------------------------------*/
.wrapper850{
    max-width:calc(100% - 10rem);
    width: 85rem;
    margin-inline: auto;
}
.wrapper940{
    max-width:calc(100% - 10rem);
    width: 94rem;
    margin-inline: auto;
}
.wrapper1000{
    max-width:calc(100% - 10rem);
    width: 100rem;
    margin-inline: auto;
}
.wrapper1080{
    max-width:calc(100% - 10rem);
    width: 108rem;
    margin-inline: auto;
}
.wrapper1200{
    max-width:calc(100% - 12rem);
    width: 120rem;
    margin-inline: auto;
}
.wrapper1310{
    max-width:calc(100% - 10rem);
    width: 131rem;
    margin-inline: auto;
}
.wrapper1400{
    max-width:calc(100% - 10rem);
    width: 140rem;
    margin-inline: auto;
}
.wrapper1500{
    max-width:calc(100% - 10rem);
    width: 150rem;
    margin-inline: auto;
}
.wrapperWide{
    max-width:calc(100% - 4rem);
    margin-inline: auto;
}
.wrapperWide60{
    width:calc(100% - 12rem);
    margin-inline: auto;
}
@media only screen and (max-width:1215px){
    .wrapper850,
    .wrapper940,
    .wrapper1000,
    .wrapper1080,
    .wrapper1200,
    .wrapper1310,
    .wrapper1400,
    .wrapper1500,
    .wrapperWide,
    .wrapperWide60{
        max-width:none;
        width: 100%;
    }
    .wrapperFit{
        max-width: 40rem;
        margin-inline: auto;
	}
    .wrapperSp{
        width: calc((355 / 375) * 100%);
        margin-inline: auto;
    }
}

/*-----------------------------------------------
    icon
-----------------------------------------------*/
.cmnIconNew {
    color: var(--color-text);
    background-color: var(--color-new);
    border-color: var(--color-new);
    font-size: var(--pcFontSize11);
    padding: 1.3rem 1rem;
    border-radius: 0.3rem;
    display: flex;
    align-items: center;
}

.cmnIconMentor {
    font-size: var(--pcFontSize10);
    font-weight: bold;
    background: linear-gradient(to bottom, var(--color-purple) 0%, var(--color-purple-light) 50%, var(--color-purple) 51%, var(--color-purple) 100%);
    color: #fff;
    padding: 0.5rem 0.6rem;
    border-radius: 0.3rem;
}

/* cmnBtnFav */
.cmnBtnFav,
.cmnBtnFavLink {
    /* button reset */
    padding: 0;
    border: none;
    outline: none;
    font: inherit;
    font-size: 0;
    color: inherit;
    background: none;

    display: block;
    border-radius: 2rem;
    border: solid 1px #e8ebec;
    background-color: #fff;
    cursor: pointer;
    position: relative;
}
.cmnBtnFav .icon,
.cmnBtnFavLink .icon {
    width: calc(5rem - 2px);
    height: calc(5rem - 2px);
    background: url("../../../img/front/common/iconFav.png") no-repeat center center / 2rem;
    transform-origin: center center;
    position: relative;
}
button.cmnBtnFav .icon {
    display: none;
}
button.cmnBtnFav::after {
    content: '';
    display: block;
    width: calc(5rem - 2px);
    height: calc(5rem - 2px);
    background: url("../../../img/front/common/iconFav.png") no-repeat center center / 2rem;
    transform-origin: center center;
    position: relative;
    z-index: 0;
}
.cmnBtnFav .icon::before,
.cmnBtnFavLink .icon::before,
button.cmnBtnFav::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: url("../../../img/front/common/iconFav_on.png") no-repeat center center / 2rem;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
}
.cmnBtnFav input {
    display: none;
}
.cmnBtnFav input:checked + .icon,
.cmnBtnFav.active::after {
    background: none;
}
.cmnBtnFav input:checked + .icon::before,
.cmnBtnFavLink.active .icon::before,
button.cmnBtnFav.active::before {
    opacity: 1;
    animation: cmnBtnFavPop 0.4s ease-out forwards;
}

@media only screen and (max-width:1215px){
    .cmnBtnFav input:checked + .icon::before {
        background-size: 1.6rem;
    }
}

@keyframes cmnBtnFavPop {
    0% {
        transform: scale(0);
    }
    50% {
        transform: scale(1.25);
    }
    70% {
        transform: scale(0.92);
    }
    100% {
        transform: scale(1);
    }
}

/*-----------------------------------------------
    common parts
-----------------------------------------------*/
.cmnNoItem {
    text-align: center;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: 1.5;
    color: var(--color-text);
    padding: 5rem 0;
    width: 100%;
}
@media only screen and (max-width:1215px){
    .cmnNoItem {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        line-height: calc(17 / 12);
        padding: 3rem 0;
    }
}

/*-----------------------------------------------
    Header
-----------------------------------------------*/
.cmnHeader {
    background-color: #fff;
    border-bottom: 0.4rem solid var(--color-main);
    position: relative;
    z-index: 100;
}

.cmnHeader .boxHeaderFlex {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 7.8rem;
}

.cmnHeader .boxHeaderLogo {
    display: flex;
    align-items: center;
    gap: 1.7em;
}

.cmnHeader .boxPcActions {
    display: flex;
    gap: 1.0em;
    align-items: flex-start;
    height: 3.8rem;
}

.cmnHeader .boxPcActions .siteLink {
    font-size: var(--pcFontSize14);
    font-weight: bold;
    padding: 1.1rem 1.0rem 1.2rem;
    border-radius: 0.5rem;
    width: 11rem;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

.cmnHeader .boxPcActions .siteLink.isActive {
    border-radius: 0.5rem 0.5rem 0 0;
    height: 5.8rem;
}
.cmnHeader .lnkLearn {
    background-color: var(--color-pink);
    color: #fff;
}

.cmnHeader .lnkWork {
    background-color: var(--color-mint);
    color: #fff;
}

.cmnHeader .lnkConnect {
    background-color: var(--color-orange);
    color: #fff;
}

.cmnHeader .btnMenuSp {
    display: none;
}

@media screen and (max-width: 1215px) {
    .cmnHeader {
        border-bottom: 1px solid #e0e0e0;
    }

    .cmnHeader .boxHeaderFlex {
        padding: 0 3.8rem 0 1.2rem;
        height: 4.8rem;
    }

    .cmnHeader .boxHeaderLogo .logo img {
        width: auto;
        height: 2rem;
    }

    .cmnHeader .boxMember {
        display: flex;
        gap: 0.8rem;
        align-items: center;
    }
    
    .cmnHeader .btnBeginner {
        display: flex;
        font-size: 0;
        margin-right: 0.7rem;
    }
    .cmnHeader .btnBeginner::before {
        content: '';
        display: block;
        width: 1.2rem;
        height: 1.5rem;
        background: url("../../../img/front/common/iconBeginner.png") no-repeat center top / 1.2rem;
    }
    .cmnHeader .btnLink {
        background-color: #fff;
        border: 1px solid var(--color-main);
        color: var(--color-main);
        padding: 0.6rem;
        width: 6.4rem;
        height: 3.2rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--pcLetterSpacing40);
        border-radius: 0.5rem;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .cmnHeader .boxMember.isLogin .btnLink {
        width: auto;
        gap: 0.5rem;
    }
    .cmnHeader .boxMember.isLogin .btnLink .imgMember img {
        width: 2.2rem;
        height: 2.2rem;
        border-radius: 50%;
        object-fit: cover;
    }
    .cmnHeader .btnRegister {
        background-color: var(--color-main);
        color: #fff;
    }

    .cmnHeader .btnMenuSp {
        display: block;
        width: 3.8rem;
        height: 4.8rem;
        position: absolute;
        top: 0;
        right: 0;
        cursor: pointer;
    }
    .cmnHeader .btnMenuSp span {
        display: block;
        width: 1.4rem;
        height: 0.2rem;
        background: var(--color-text);
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        transition: .3s;
    }
    .cmnHeader .btnMenuSp span:nth-of-type(1) { top: 1.8rem; }
    .cmnHeader .btnMenuSp span:nth-of-type(2) { top: 50%; transform: translateY(-50%); }
    .cmnHeader .btnMenuSp span:nth-of-type(3) { bottom: 1.8rem; }
}

/*-----------------------------------------------
    Header (auto hide / show on scroll)
-----------------------------------------------*/
.cmnHeaderSticky {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: #fff;
    transition: transform 0.2s ease;
}

/* 下スクロール中は一時的に非表示（上スクロールで再表示） */
.cmnHeaderSticky.is-hidden {
    transform: translateY(-100%);
}

/*-----------------------------------------------
    Sub Navigation
-----------------------------------------------*/
.secSubNav {
    background-color: #fff;
}
.secSubNav .boxFlex {
    display: flex;
    justify-content: space-between;
}

.secSubNav .listSubNav {
    display: flex;
    justify-content: center;
    margin-left: -2rem;
}

.secSubNav .listSubNav li {
    width: 18rem;
    max-width: 15.0em;
    text-align: center;
    position: relative;
    padding: 0 1px 0 0;
}
.secSubNav .listSubNav li::after {
    content: '';
    display: block;
    width: 1px;
    height: 3.2rem;
    background-color: #e0e0e0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto 0;
}

.secSubNav .listSubNav a {
    display: block;
    padding: 1.1em 0;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--color-text);
    position: relative;
}

.secSubNav .listSubNav a::before {
    content: '';
    display: block;
    width: 2.4em;
    height: 2.4em;
    margin: 0 auto 0.3em;
}

.secSubNav .icoWork::before { 
    background: url("../../../img/front/common/gnav01.png") no-repeat center center / 2.2rem;
}
.secSubNav .icoCourse::before { 
    background: url("../../../img/front/common/gnav02.png") no-repeat center center / 2.6rem;
}
.secSubNav .icoMember::before { 
    background: url("../../../img/front/common/gnav03.png") no-repeat center center / 2rem;
}
.secSubNav .icoNews::before { 
    background: url("../../../img/front/common/gnav04.png") no-repeat center center / 2.2rem;
}

.secSubNav .boxMember {
    display: flex;
    gap: 1.0em;
    align-items: center;
}

.secSubNav .boxCompanyMember {
    display: none;
}

.secSubNav .btnBeginner {
    display: flex;
    gap: 0 0.5rem;
    font-size: var(--pcFontSize11);
    letter-spacing: var(--pcLetterSpacing40);
    margin-right: 0.7rem;
}
.secSubNav .btnBeginner::before {
    content: '';
    display: block;
    width: 1.2rem;
    height: 1.5rem;
    background: url("../../../img/front/common/iconBeginner.png") no-repeat center top / 1.2rem;
}
.secSubNav .btnLink {
    background-color: #fff;
    border: 1px solid var(--color-main);
    color: var(--color-main);
    padding: 0.8rem 0.6rem 0.9rem;
    width: 8.4rem;
    font-size: var(--pcFontSize12);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing40);
    border-radius: 0.5rem;
    text-align: center;
}
.secSubNav .btnRegister {
    background-color: var(--color-main);
    color: #fff;
}

.secSubNav .cardMentor {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    border-left: 1px solid #e0e0e0;
    padding: 0 0.8rem 0 2rem;
}
.secSubNav .imgMentor {
    width: 3.6rem;
    height: 3.6rem;
    border-radius: 50%;
    object-fit: cover;
}
.secSubNav .txtName {
    font-size: var(--pcFontSize13);
    letter-spacing: var(--pcLetterSpacing40);
}

@media screen and (max-width: 1215px) {
    .secSubNav .listSubNav {
        margin-left: 0;
        width: 100%;
    }
    .secSubNav .listSubNav li {
        width: 100%;
        max-width: none;
    }
    .secSubNav .listSubNav li::after {
        height: 3rem;
    }
    .secSubNav .listSubNav li:last-child::after {
        display: none;
    }
    .secSubNav .listSubNav a {
        font-size: var(--spFontSize10);
        padding: 1.0em 0;
    }
    .secSubNav .listSubNav a::before {
        width: 2.0em;
        height: 2.0em;
    }

    .secSubNav .icoWork::before { 
        background-size: 1.7rem;
    }
    .secSubNav .icoCourse::before { 
        background-size: 2rem;
    }
    .secSubNav .icoMember::before { 
        background-size: 1.6rem;
    }
    .secSubNav .icoNews::before { 
        background-size: 1.8rem;
    }

    .secSubNav .cardMentor {
        gap: 0.8rem;
    }
    .secSubNav .txtName {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
    }
}

/*-----------------------------------------------
    Ticker 
-----------------------------------------------*/
.secTicker {
    background-color: var(--color-main);
    color: #0f0f0f;
    padding: 1.2rem 0 1.1rem;
    overflow: hidden;
    white-space: nowrap;
    font-size: var(--pcFontSize11);
    font-weight: 500;
    letter-spacing: var(--pcLetterSpacing60);
}

.secTicker .boxTickerInner {
    display: inline-flex;
    flex-wrap: nowrap;
    animation: tickerSlide 25s linear infinite;
}

.secTicker .boxTickerTrack {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    flex-shrink: 0;
}

.secTicker .boxTickerItem {
    flex-shrink: 0;
    white-space: nowrap;
    padding: 0 2em;
}

@keyframes tickerSlide {
    0% { transform: translate3d(0, 0, 0); }
    100% { transform: translate3d(-50%, 0, 0); }
}

@media screen and (max-width: 1215px) {
    .secTicker {
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing0);
    }
}

/*-----------------------------------------------
    cmnPnkz
-----------------------------------------------*/
.cmnPnkz {
    padding: 3.9rem 0 0;
    margin-bottom: 5.8rem;
    font-size: var(--pcFontSize11);
    letter-spacing: var(--pcLetterSpacing40);
}

.cmnPnkz .listBreadcrumb {
    gap: 0.4rem;
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 2;
}

.cmnPnkz .listBreadcrumb__item {
    display: inline;
}

.cmnPnkz .listBreadcrumb__item + .listBreadcrumb__item::before {
    content: "/";
    margin: 0 0.6rem;
}

.cmnPnkz a {
    text-decoration: underline;
    text-underline-offset: 0.5em;
    color: inherit;
}

@media screen and (max-width: 1215px) {
    .cmnPnkz {
        padding: 2.1rem 0 0;
        margin-bottom: 2.8rem;
        font-size: var(--spFontSize10);
        letter-spacing: var(--spLetterSpacing0);
    }

    .cmnPnkz .wrapperSp {
        width: calc((365 / 375) * 100%);
        margin-right: 0;
    }
    
    .cmnPnkz .listBreadcrumb {
        gap: 0.4rem;
        display: flex;
        flex-wrap: nowrap;
        white-space: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
        scroll-padding: 0;
    }
    
    .cmnPnkz .listBreadcrumb__item + .listBreadcrumb__item::before {
        content: "/";
        margin: 0 0.6rem;
    }
}

/*-----------------------------------------------
    container
-----------------------------------------------*/
#container {
    overflow: clip;
}

.cmnBgPage {
    background: url("../../../img/front/common/bgPage.png") var(--color-bg) no-repeat center top / 100%;
    padding-bottom: 20rem;
}
@media screen and (max-width: 1215px) {
    .cmnBgPage {
        padding-bottom: 10rem;
    }
}

.cmnContainer {
    background: var(--color-white);
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    padding: 9rem 12.5rem 11rem;
    border-radius: 1rem;
}

.cmnContainerTit {
    font-size: var(--pcFontSize20);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing40);
    line-height: 1.67;
    padding: 3.5rem 3rem 3.2rem;
    background-color: #f9f9f9;
    border-radius: 0.5rem;
    margin-bottom: 3rem;
    position: relative;
    overflow: hidden;
}

.cmnContainerTit::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 0.5rem;
    height: 100%;
    background-color: var(--color-main);
}

.cmnContainerDetail {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: calc(25 / 14);
    margin-bottom: 2rem;
}

.cmnContainerDetail + .cmnContainerTit {
    margin-top: 5rem;
}

.cmnContainerDetailTabs {
    margin-bottom: 5rem;
}

.cmnContainerDetailTabsInner {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0 4rem;
}

.cmnContainerDetailTabsInner .cmnContainerDetailTab {
    position: relative;
    padding: 0 0 1rem;
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing40);
    cursor: pointer;
    text-decoration: none;
    border: none;
    background: none;
    color: inherit;
    font-family: inherit;
}

.cmnContainerDetailTabsInner .cmnContainerDetailTab.isActive::after,
.cmnContainerDetailTabsInner .cmnContainerDetailTab.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0.2rem;
    background-color: var(--color-text);
}

.cmnContainerDetailTabsSwitch {
    display: none;
}

.cmnContainerDetailTabsSwitch.isActive {
    display: block;
}

.cmnContainerTable {
    width: 100%;
}

.cmnContainerTable th {
    border: 1px solid var(--color-table-border);
    background: var(--color-table-bg);
    vertical-align: middle;
    text-align: center;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: calc(25 / 14);
    padding: 1.6rem 3rem;
    width: 20rem;
}

.cmnContainerTable td {
    border: 1px solid var(--color-table-border);
    background: #FFF;
    vertical-align: middle;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: calc(25 / 14);
    padding: 1.6rem 3rem;
}

@media screen and (max-width: 1215px) {
    .cmnContainer {
        padding: 4rem 2rem 4rem;
        border-radius: 0.6rem;
    }

    .cmnContainerTit {
        font-size: var(--spFontSize14);
        letter-spacing: var(--spLetterSpacing0);
        padding: 1.5rem 2rem;
        margin-bottom: 1.5rem;
    }

    .cmnContainerTit::before {
        width: 0.3rem;
    }

    .cmnContainerDetail {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        line-height: calc(20 / 12);
        margin-bottom: 1rem;
    }

    .cmnContainerDetail + .cmnContainerTit {
        margin-top: 3rem;
    }

    .cmnContainerDetailTabs {
        display: flex;
        justify-content: center;
        margin-bottom: 3rem;
    }

    .cmnContainerDetailTabsInner {
        justify-content: space-between;
        padding: 0 3rem;
        background-color: #fff;
        border-radius: 999px;
        gap: 0 3rem;
    }

    .cmnContainerDetailTabsInner .cmnContainerDetailTab {
        flex: 1 1 auto;
        padding: 1.5rem 0;
        font-size: var(--spFontSize13);
        text-align: center;
    }

    .cmnContainerDetailTabsInner .cmnContainerDetailTab.isActive::after,
    .cmnContainerDetailTabsInner .cmnContainerDetailTab.active::after {
        bottom: 0.7rem;
    }

    .cmnContainerTable,
    .cmnContainerTable thead,
    .cmnContainerTable tbody,
    .cmnContainerTable tr,
    .cmnContainerTable th,
    .cmnContainerTable td {
        display: block;
    }

    .cmnContainerTable {
        border-top: 1px solid var(--color-table-border);
    }
    
    .cmnContainerTable th {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        line-height: calc(20 / 12);
        padding: 0.8rem 2rem;
        width: 100%;
        border-top: none;
    }
    
    .cmnContainerTable td {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        line-height: calc(20 / 12);
        padding: 1.2rem 2rem;
        border-top: none;
    }
}

/*-----------------------------------------------
    cmnMaintit
-----------------------------------------------*/
.cmnMaintit {
    display: flex;
    align-items: center;
    margin-bottom: 4rem;
}

.cmnMaintit .titPage {
    font-size: var(--pcFontSize40);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing40);
}

.cmnMaintit .btnBack {
    display: inline-flex;
    background-color: #fff;
    color: var(--color-text);
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing40);
    padding: 1.5rem 2rem;
    border-radius: 1rem;
    box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.06);
    transition: box-shadow 0.3s, transform 0.3s;
    position: relative;
    z-index: 2;
    margin-left: 3rem;
}

.cmnMaintit .txtMypage {
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: 1.4;
    margin: 0 0 0 2rem;
}

.cmnMaintit .txtMypage a {
    text-decoration: underline;
    text-underline-offset: 0.5em;
}

@media screen and (max-width: 1215px) {
    .cmnMaintit {
        display: flex;
        margin-bottom: 2rem;
        justify-content: space-between;
    }

    .cmnMaintit.isSpLeft {
        justify-content: flex-start;
    }

    .cmnMaintit .titPage {
        font-size: var(--spFontSize23);
        letter-spacing: var(--spLetterSpacing0);
    }

    .cmnMaintit .btnBack {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing0);
        padding: 1rem 1.1rem;
        border-radius: 0.5rem;
        margin-left: 1.5rem;
    }

    .cmnMaintit .txtMypage {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        margin: 0 0 0 0.7rem;
    }
}

/*-----------------------------------------------
    cmnListHeader
-----------------------------------------------*/
.cmnListHeader .boxWorkHeader {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 3rem;
}

.cmnListHeader .boxWorkHeaderLeft {
    flex: 1 1 auto;
}

.cmnListHeader .boxWorkHeaderRight {
    display: flex;
    gap: 0 1rem;
    flex-shrink: 0;
}

.cmnListHeader .boxWorkHeaderRight .cmnBtnFav,
.cmnListHeader .boxWorkHeaderRight .cmnBtnFavLink {
    border-radius: 1rem;
    border: none;
}

.cmnListHeader .boxWorkHeaderRight .cmnBtnFav .icon,
.cmnListHeader .boxWorkHeaderRight .cmnBtnFavLink .icon {
    width: 4.8rem;
    height: 4.8rem;
}

.cmnListHeader .boxWorkHeaderRight .btnFiler {
    width: 4.8rem;
    height: 4.8rem;
    cursor: pointer;
    border-radius: 1rem;
    background: url("../../../img/front/common/iconFilter.png") #fff no-repeat center center / 2.4rem;
}

.cmnListHeader .boxWorkTabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0 4rem;
}

.cmnListHeader .boxWorkTabs .btnWorkTab {
    position: relative;
    padding: 0 0 1rem;
    font-size: var(--pcFontSize18);
    letter-spacing: var(--pcLetterSpacing40);
    cursor: pointer;
    text-decoration: none;
}

.cmnListHeader .boxWorkTabs .btnWorkTab.isActive::after,
.cmnListHeader .boxWorkTabs .btnWorkTab.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 0.2rem;
    background-color: var(--color-text);
}

.cmnListHeader .boxWorkMeta {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-top: 1.5rem;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
}

.cmnListHeader .boxWorkMeta.isNoCount {
    justify-content: flex-end;
}

.cmnListHeader .btnSort {
    display: inline-flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1.6rem 2rem;
    border-radius: 1rem;
    background-color: #fff;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--color-text);
    cursor: pointer;
    user-select: none;
    position: relative;
}

.cmnListHeader .btnSort::before {
    content: "";
    display: inline-block;
    width: 1.1rem;
    height: 1.6rem;
    background: url("../../../img/front/common/iconSort.png") no-repeat center center / 100%;
}

.cmnListHeader .btnSort__label {
    display: inline-block;
}

.cmnListHeader .btnSort__radioGroup {
    display: none;
}

.cmnListHeader .btnSort__select {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    border: 0;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
}

.cmnListHeader .btnSort__menu {
    position: absolute;
    right: 0;
    top: 100%;
    margin-top: 0.4rem;
    min-width: 20rem;
    padding: 0.8rem 0;
    border-radius: 0.8rem;
    color: var(--color-text);
    background-color: #fff;
    box-shadow: 0 0.4rem 1.2rem rgba(0, 0, 0, 0.1);
    list-style: none;
    display: none;
    z-index: 10;
}

.cmnListHeader .btnSort__menuItem {
    padding: 1rem 1.6rem;
    font-size: var(--pcFontSize13);
    cursor: pointer;
    white-space: nowrap;
}

.cmnListHeader .btnSort__menuItem.isActive {
    font-weight: 700;
}

.cmnListHeader .btnSort__menuItem:hover {
    background-color: #f5f5f5;
}

.cmnListHeader .btnSort.isOpen .btnSort__menu {
    display: block;
}

@media screen and (max-width: 1215px) {
    .cmnListHeader .boxWorkHeader {
        flex-direction: column;
        align-items: flex-start;
        gap: 1.6rem;
    }

    .cmnListHeader .boxWorkHeaderLeft {
        width: 100%;
        display: flex;
        justify-content: center;
    }

    .cmnListHeader .boxWorkHeaderRight {
        gap: 0 0.5rem;
    }

    .cmnListHeader .boxWorkHeaderRight .cmnBtnFav,
    .cmnListHeader .boxWorkHeaderRight .cmnBtnFavLink {
        border-radius: 0.5rem;
        border: none;
        width: 3.6rem;
        height: 3.6rem;
    }
    
    .cmnListHeader .boxWorkHeaderRight .cmnBtnFav .icon,
    .cmnListHeader .boxWorkHeaderRight .cmnBtnFavLink .icon {
        width: 3.6rem;
        height: 3.6rem;
        background-size: 1.6rem;
    }

    .cmnListHeader .boxWorkHeaderRight button.cmnBtnFav::after {
        width: 3.6rem;
        height: 3.6rem;
    }

    .cmnListHeader .boxWorkHeaderRight button.cmnBtnFav::before,
    .cmnListHeader .boxWorkHeaderRight button.cmnBtnFav::after {
        background-size: 1.4rem;
    }
    
    .cmnListHeader .boxWorkHeaderRight .btnFiler {
        width: 3.6rem;
        height: 3.6rem;
        background-size: 1.8rem;
        border-radius: 0.5rem;
    }

    .cmnListHeader .boxWorkTabs {
        justify-content: space-between;
        padding: 0 3rem;
        background-color: #fff;
        border-radius: 999px;
        gap: 0 3rem;
    }

    .cmnListHeader .boxWorkTabs .btnWorkTab {
        flex: 1 1 auto;
        padding: 1.5rem 0;
        font-size: var(--spFontSize13);
        text-align: center;
    }

    .cmnListHeader .boxWorkTabs .btnWorkTab.isActive::after,
    .cmnListHeader .boxWorkTabs .btnWorkTab.active::after {
        bottom: 0.7rem;
    }

    .cmnListHeader .boxWorkMeta {
        align-items: center;
        gap: 0.8rem;
        margin-top: 2.1rem;
        font-size: var(--spFontSize12);
    }

    .cmnListHeader .btnSort {
        gap: 0.4rem;
        padding: 1rem 0.9rem;
        border-radius: 0.5rem;
        font-size: var(--spFontSize11);
    }
}

/* boxSmartTag */
.cmnListHeader .boxSmartTag {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 1.0rem;
    margin: 3rem 0 3.4rem;
    padding: 2.6rem 0;
    background-image: repeating-linear-gradient(90deg, #7f7f7f, #7f7f7f 1px, transparent 1px, transparent 5px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    position: relative;
}

.cmnListHeader .boxSmartTag::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background-image: repeating-linear-gradient(90deg, #7f7f7f, #7f7f7f 1px, transparent 1px, transparent 5px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 100% 1px;
    position: absolute;
    bottom: 0;
    left: 0;
}

.cmnListHeader .txtSmartTagLabel {
    font-weight: bold;
    font-size: var(--pcFontSize15);
    padding: 0.6rem 0 0;
}

.cmnListHeader .boxSmartTag__tags,
.cmnListHeader .smart-tags-initial,
#smart-tags-expanded {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.0rem;
    flex: 1;
}

.cmnListHeader .boxSmartTag__actions {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 0.8rem;
    position: relative;
}

.cmnListHeader .btnSmartTagAction {
    background-color: #fff;
    border: 1px solid var(--color-main);
    color: var(--color-main);
    padding: 1rem 1.2rem 0.9rem;
    font-size: var(--pcFontSize12);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing40);
    line-height: 1;
    border-radius: 0.5rem;
    gap: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.cmnListHeader .btnSmartTagAction.isBorderBtn {
    background-color: var(--color-main);
    color: #fff;
}

.cmnListHeader .btnSmartTagAction::before {
    content: "";
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    background: url("../../../img/front/common/iconTag.png") no-repeat center center / 100%;
}

.cmnListHeader .btnSmartTagAction:disabled {
    opacity: 0.3;
    cursor: default;
}

.cmnListHeader .btnSmartTagAction.is-animating::before {
    animation: cmnBtnFavPop 0.4s ease-out forwards;
}

.cmnListHeader #smart-tag-favorite-list-link {
    background-color: #fff;
    border: 1px solid var(--color-main);
    color: var(--color-main);
    padding: 0.8rem 1.2rem 0.9rem;
    font-size: var(--pcFontSize12);
    font-weight: bold;
    letter-spacing: var(--pcLetterSpacing40);
    border-radius: 0.5rem;
    gap: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

.cmnListHeader #smart-tag-favorite-list-link::before {
    content: "";
    display: inline-block;
    width: 1.4rem;
    height: 1.4rem;
    background: url("../../../img/front/common/iconList.png") no-repeat center center / 100%;
}

.cmnListHeader .btnSmartTagBtn {
    position: relative;
}

.cmnListHeader .boxSmartTag__tooltip {
    position: absolute;
    left: 50%;
    bottom: 110%;
    transform: translateX(-50%) translateY(-0.6rem);
    padding: 1rem;
    border-radius: 0.5rem;
    background-color: rgba(0, 0, 0, 0.8);
    color: #fff;
    font-size: var(--pcFontSize11);
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.6s ease;
}

.cmnListHeader .boxSmartTag__tooltip::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 0.6rem 0.5rem 0 0.5rem;
    border-color: rgba(0, 0, 0, 0.8) transparent transparent transparent;
}

.cmnListHeader .boxSmartTag__tooltip.is-visible {
    opacity: 1;
}

.cmnListHeader .tagItem {
    display: inline-flex;
    align-items: center;
}

.cmnListHeader .boxSmartTag .tagItem:nth-of-type(n + 11):not(.isShown) {
    display: none;
}

.cmnListHeader .tagCheckbox {
    display: none;
}

.cmnListHeader .btnTag {
    background-color: #fff;
    border-radius: 0.5rem;
    padding: 0.9rem 1.3rem;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--color-text-light);
    cursor: pointer;
}

.cmnListHeader .btnTag.isActive,
.cmnListHeader .btnTag:has(.tagCheckbox:checked) {
    background-color: var(--color-text-light);
    color: #fff;
}

.cmnListHeader .linkMoreTags {
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--color-main);
    text-decoration: underline;
    text-underline-offset: 0.5em;
    margin-left: 1rem;
}

@media screen and (max-width: 1215px) {
    .cmnListHeader .boxSmartTag {
        margin: 2rem 0 3rem;
        padding: 1.5rem 0;
        border-bottom: none;
        gap: 0.8rem;
    }

    .cmnListHeader .txtSmartTagLabel {
        font-size: var(--spFontSize11);
        font-weight: normal;
        padding: 0.9rem 0 0;
    }

    .cmnListHeader .boxSmartTag__tags,
    .cmnListHeader .smart-tags-initial,
    #smart-tags-expanded {
        gap: 0.5rem;
    }
    
    .cmnListHeader .boxSmartTag__actions {
        width: 100%;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 0.9rem;
    }
    
    .cmnListHeader .btnSmartTagAction,
    .cmnListHeader #smart-tag-favorite-list-link {
        font-size: var(--spFontSize10);
        padding: 0.6rem 1.0rem;
    }
    
    .cmnListHeader .btnTag {
        background-color: #fff;
        font-size: var(--spFontSize10);
        padding: 0.8rem;
    }

    .cmnListHeader .linkMoreTags {
        width: 100%;
        text-align: right;
        margin-top: 0.9rem;
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing0);
    }
}

/*-----------------------------------------------
    cmnTable
-----------------------------------------------*/
.cmnTable table{
    width: 100%;
    border: 1px solid;
    border-color:var(--color-table-border);
}
.cmnTable thead,
.cmnTable tbody{
    width: 100%;
}
.cmnTable tbody{
    border-top: 1px solid;
    border-color:var(--color-table-border);
}
.cmnTable thead tr,
.cmnTable tbody tr{
    width: 100%;
    background-color: var(--color-white);
}
.cmnTable tbody tr + tr{
    border-top: 1px solid;
    border-color:var(--color-table-border);
}
.cmnTable thead tr{
    background-color:var(--color-table-bg);
}
.cmnTable.isPurpleHead thead tr{
    background-color:#efecf8;
}
.cmnTable tbody tr.scout-row-locked{
    background-color: var(--color-table-locked);
}
.cmnTable thead th{
    text-align: center;
    vertical-align: middle;
    font-size: var(--pcFontSize14);
    line-height: calc(30 / 14);
    padding: 1.4rem;
}
.cmnTable th.w200,
.cmnTable td.w200{
    width: 20rem;
}
.cmnTable.isTableStripe tbody tr:nth-child(even){
    background-color: #f9f9f9;
}
.cmnTable tbody td{
    text-align: center;
    vertical-align: middle;
    font-size: var(--pcFontSize14);
    line-height: calc(22 / 14);
    padding: 2.3rem 2.7rem;
    letter-spacing: var(--pcLetterSpacing40);
}
.cmnTable tbody td.isTxtLeft{
    text-align: left;
}
.cmnTable tbody td.isNoPd{
    padding: 0;
}
.cmnTable tbody td.isNoPdSide{
    padding-left: 0;
    padding-right: 0;
}
.cmnTable thead th + th,
.cmnTable tbody td + td{
    border-left: 1px solid;
    border-color:var(--color-table-border);
}
.cmnTable tbody td a.txtLink{
    color: var(--color-form-add);
    text-decoration: underline;
    text-underline-offset: 0.5em;
}
.cmnTable .delete-smart-tag-favorite-btn{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 1rem;
    appearance: none;
}
.cmnTable .linkDetail{
    width: 9rem;
    max-width: 100%;
    margin: 0 auto;
    height: 3rem;
    display: flex;
    align-items: center;
    border-radius: 0.3rem;
    background-color: var(--color-main);
    color: var(--color-white);
    font-size: var(--pcFontSize11);
    line-height: calc(20 / 11);
}
.cmnTable .linkDetail.isPurple{
    background-color: var(--color-purple);
}
.cmnTable .linkDetail .linkIn{
    display: inline-block;
    width: 100%;
    text-align: center;
}
@media only screen and (min-width:1216px){
    .cmnTable tbody td .spContent{
        display: none;
    }
}
@media only screen and (max-width:1215px){
    .cmnTable thead th{
        font-size: var(--spFontSize11);
        padding: 0.7rem 0.5rem;
    }
    .cmnTable th.ws40,
    .cmnTable td.ws40{
        width: 4rem;
    }
    .cmnTable th.ws60,
    .cmnTable td.ws60{
        width: 6rem;
    }
    .cmnTable th.ws70,
    .cmnTable td.ws70{
        width: 7rem;
    }
    .cmnTable tbody td{
        font-size: var(--spFontSize12);
        padding: 0.7rem 1.8rem;
        letter-spacing: var(--spLetterSpacing0);
    }
    .cmnTable tbody td a.txtLink{
        text-underline-offset: 0;
        font-size: var(--spFontSize11);
        line-height: calc(15 / 11);
    }
    .cmnTable .delete-smart-tag-favorite-btn img{
        width: 1.3rem;
        height: auto;
    }
    .cmnTable .pcContent{
        display: none;
    }
    .cmnTable .spContent{
        width: 100%;
        text-align: left;
    }
    .cmnTable .boxInfo{
        padding: 1rem 0;
    }
    .cmnTable .spTit{
        font-size: var(--spFontSize12);
        line-height: 1.33;
        font-weight: bold;
        margin-bottom: 1rem;
    }
    .cmnTable .cardTags{
        display: flex;
        gap: 0.3rem;
        margin-bottom: 1rem;
    }
    .cmnTable .tagBasic{
        border: 1px solid #e8ebec;
        background: #fff;
        color: var(--color-text);
        display: flex;
        align-items: center;
        font-size: var(--spFontSize10);
        padding: 0.2rem 0.8rem;
        border-radius: 0.2rem;
    }
}

.cmnTable .boxConditions {
    display: flex;
    gap: 2.8rem;
    flex-wrap: wrap;
    background: repeating-linear-gradient(90deg, #7f7f7f, #7f7f7f 1px, transparent 1px, transparent 5px) left top / 100% 1px repeat-x;
    padding: calc(2rem + 1px) 0 2rem;
}

.cmnTable .boxConditionItem {
    display: flex;
    align-items: center;
    gap: 1.2rem;
}

.cmnTable .txtConditionLabel {
    color: var(--color-text-light);
    background-color: #e8ebec;
    padding: 0.9rem 0.9rem 1rem;
    border-radius: 0.5rem;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing40);
    min-width: 7rem;
    text-align: center;
}

.cmnTable .txtConditionValue {
    color: var(--color-text-light);
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    line-height: 1.5;
}

@media only screen and (max-width:1215px){
    .cmnTable .boxConditions {
        flex-direction: column;
        gap: 0.7rem;
        padding: calc(1rem + 1px) 0 0;
    }

    .cmnTable .boxConditionItem {
        gap: 0.9rem;
    }

    .cmnTable .txtConditionLabel {
        padding: 0.7rem;
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing0);
        min-width: 6rem;
    }
    
    .cmnTable .txtConditionValue {
        font-size: var(--spFontSize11);
        letter-spacing: var(--spLetterSpacing0);
    }
}

/*-----------------------------------------------
    cmnPager
-----------------------------------------------*/
.cmnPager {
    text-align: center;
}

.cmnPager .listPager {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cmnPager .listPager__item {
    display: inline-flex;
}

.cmnPager .listPager__link {
    min-width: 3.2rem;
    height: 3.2rem;
    padding: 0 0.8rem 0.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: none;
    background-color: transparent;
    font-size: var(--pcFontSize17);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--color-text);
    text-decoration: none;
    cursor: pointer;
}

.cmnPager .listPager__link.isCurrent {
    background-color: var(--color-main);
    color: #fff;
}

.cmnPager .listPager__ellipsis {
    display: inline-block;
    padding: 0 0.4rem;
    font-size: var(--pcFontSize17);
    color: var(--color-text-light);
}

.cmnPager .listPager__arrow {
    width: 6rem;
    height: 6rem;
    padding: 0;
    background-color: #fff;
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    background: url(../../../img/front/common/arrow.png) #fff no-repeat center center / 1.2rem;
    font-size: 0;
    margin: 0 0 0 1rem;
}

.cmnPager .listPager__arrow.isPrev {
    transform: scale(-1, 1);
    margin: 0 1rem 0 0;
}

@media screen and (max-width: 1215px) {
    .cmnPager {
        padding: 2rem 0 0;
    }

    .cmnPager .listPager {
        gap: 0.5rem;
    }
    
    .cmnPager .listPager__link {
        min-width: 2.4rem;
        height: 2.4rem;
        padding: 0 0.2rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing0);
    }
    
    .cmnPager .listPager__ellipsis {
        padding: 0;
        font-size: var(--spFontSize13);
    }
    
    .cmnPager .listPager__arrow {
        width: 3.6rem;
        height: 3.6rem;
        background-size: 0.6rem;
        font-size: 0;
        margin: 0;
    }
    
    .cmnPager .listPager__arrow.isPrev {
        margin: 0;
    }
}

/*-----------------------------------------------
    cmnPagerBtm
-----------------------------------------------*/
.cmnPagerBtm{
    width: 100%;
    margin-top: 10rem;
}
.cmnPagerBtm .pager-info{
    display: none;
}
.cmnPagerBtm .pager{
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}
.cmnPagerBtm .pager-prev,
.cmnPagerBtm .pager-next{
    width: 6rem;
}
.cmnPagerBtm .pager-next{
    margin-left: 3rem;
}
.cmnPagerBtm .pager-prev{
    transform: scale(-1, 1);
    margin-right: 3rem;
}
.cmnPagerBtm .pager-prev a,
.cmnPagerBtm .pager-next a{
    display: block;
    width: 6rem;
    height: 6rem;
    padding: 0;
    background-color: var(--color-white);
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    background: url(../../../img/front/common/arrow.png) #fff no-repeat center center / 1.2rem;
    font-size: 0;
    border-radius: 50%;
}
.cmnPagerBtm .pager-number{
    min-width: 3.2rem;
    height: 3.2rem;
    padding: 0 0.8rem 0.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius:50%;
    border: none;
    background-color: transparent;
    font-size: var(--pcFontSize17);
    letter-spacing: var(--pcLetterSpacing40);
}
.cmnPagerBtm .pager-number + .pager-number{
    margin-left: 1.4rem;
}
.cmnPagerBtm .pager-number.active{
    background-color: var(--color-main);
    color: #fff;
}
@media only screen and (max-width:1215px){
    .cmnPagerBtm{
        margin-top: 6.5rem;
        padding-bottom: 0.7rem;
    }
    .cmnPagerBtm .pager{
        position: relative;
        padding: 0 calc(1rem + 3.6rem + 1rem);
        max-width: 100%;
        width: fit-content;
        margin: 0 auto;
    }
    .cmnPagerBtm .pager-prev,
    .cmnPagerBtm .pager-next{
        width: 3.6rem;
        position: absolute;
        top: calc(0% - 0.4rem);
    }
    .cmnPagerBtm .pager-next{
        margin: 0;
        right: 1rem;
    }
    .cmnPagerBtm .pager-prev{
        margin: 0;
        left: 1rem;
    }
    .cmnPagerBtm .pager-prev a,
    .cmnPagerBtm .pager-next a{
        display: block;
        width: 3.6rem;
        height: 3.6rem;
        background-size: 0.6rem auto;
    }
    .cmnPagerBtm .pager-number{
        min-width: 2.4rem;
        height: 2.4rem;
        padding: 0 0.2rem;
        font-size: var(--spFontSize13);
        letter-spacing: var(--spLetterSpacing0);
    }
    .cmnPagerBtm .pager-number + .pager-number{
        margin-left: 0.5rem;
    }
}

/*-----------------------------------------------
    cmnPagerList
-----------------------------------------------*/
.cmnPagerList{
    display: block;
}
.cmnPagerList .pager-wrapper{
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.cmnPagerList .pager-info{
    display: inline-block;
    padding-right: 3rem;
}
.cmnPagerList .pager-text{
    font-size: var(--pcFontSize14);
    line-height: calc(30 / 14);
    letter-spacing: 0.06em;
}
.cmnPagerList .pager-text strong{
    font-weight: inherit;
}
.cmnPagerList .pager{
    display: flex;
    align-items: center;
}
.cmnPagerList .pager-prev,
.cmnPagerList .pager-next{
    width: 6rem;
}
.cmnPagerList .pager-next{
    margin-left: 2rem;
}
.cmnPagerList .pager-prev{
    transform: scale(-1, 1);
    margin-right: 3rem;
}
.cmnPagerList .pager-prev a,
.cmnPagerList .pager-next a{
    display: block;
    width: 6rem;
    height: 6rem;
    padding: 0;
    background-color: var(--color-white);
    box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, 0.06);
    background: url(../../../img/front/common/arrow.png) #fff no-repeat center center / 1.2rem;
    font-size: 0;
    border-radius: 50%;
}
.cmnPagerList .pager-number{
    min-width: 3.2rem;
    height: 3.2rem;
    padding: 0 0.8rem 0.2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    border: none;
    background-color: transparent;
    font-size: var(--pcFontSize17);
    letter-spacing: var(--pcLetterSpacing40);
    color: var(--color-text);
    text-decoration: none;
    cursor: pointer;
}
.cmnPagerList .pager-number + .pager-number{
    margin-left: 1.4rem;
}
.cmnPagerList .pager-number.active{
    background-color: var(--color-main);
    color: #fff;
}
@media only screen and (min-width:1216px){
    .secTitleBox .titlebox{
        white-space: nowrap;
    }
    @media only screen and (max-width:1720px){
        .cmnPagerList .pager-number + .pager-number{
            margin-left: 0.8rem;
        }
        .cmnPagerList .pager-prev{
            margin-right: 2rem;
        }
        .cmnPagerList .pager-next{
            margin-left: 2rem;
        }
        .secTitleBox .titlebox{
            padding-right: 2rem;
        }
        .secTitleBox .subtit{
            padding-left: 1rem;
        }
        .secTitleBox .title{
            font-size: var(--pcFontSize24);
        }
        .cmnPagerList .pager-info{
            padding-right: 2rem;
        }
    }
}

/*-----------------------------------------------
    cmnBtnCenter
-----------------------------------------------*/
.cmnBtnCenter {
    text-align: center;
    position: relative;
}

.secList + .cmnBtnCenter {
    margin-top: 10rem;
}

.cmnBtnCenter::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1;
    width: 100%;
    height: 1px;
    margin: auto;
    background-color: var(--color-border);
}

.cmnBtnCenter .btnWhite {
    display: inline-block;
    background-color: #fff;
    color: var(--color-text);
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    padding: 2.5rem 4.5rem;
    border-radius: 1rem;
    box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.06);
    transition: box-shadow 0.3s, transform 0.3s;
    position: relative;
    z-index: 2;
}

.cmnBtnCenter .btnWhite:hover {
    box-shadow: 0 5px 12px rgba(0,0,0,0.15);
    transform: translateY(-2px);
}

@media screen and (max-width: 1215px) {
    .secList + .cmnBtnCenter {
        margin-top: 5rem;
    }

    .cmnBtnCenter .btnWhite {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        padding: 1.9rem 3rem;
        border-radius: 0.5rem;
    }
}

/*-----------------------------------------------
    Footer
-----------------------------------------------*/
.cmnFooter {
    background-color: var(--color-text);
    color: #ffffff;
    padding: 10rem 0;
    font-size: var(--pcFontSize12);
}

.cmnFooter .boxFooterFlex {
    display: flex;
    justify-content: space-between;
    margin-bottom: 13rem;
    flex-wrap: wrap;
}

.cmnFooter .boxFooterInfo {
    width: 65%;
}

.cmnFooter .footerLogo img {
    margin-bottom: 2.0em;
}

.cmnFooter .txtFooterDesc {
    font-size: var(--pcFontSize12);
    line-height: 2.0;
    letter-spacing: var(--pcLetterSpacing20);
}

.cmnFooter .footerNav {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing20);
    padding-top: 4rem;
}

.cmnFooter .footerNav ul {
    display: flex;
    gap: 3rem;
}

.cmnFooter .footerNav .boxLink a {
    color: #fff;
    text-decoration: none;
}

.cmnFooter .footerNav .boxFooterAction {
    display: flex;
    gap: 0 2rem;
}

.cmnFooter .footerNav .btnCompany {
    display: block;
    border: 1px solid #fff;
    color: #fff;
    font-size: var(--pcFontSize14);
    letter-spacing: var(--pcLetterSpacing40);
    padding: 2.5rem 4.5rem;
    margin-top: 3rem;
    border-radius: 1rem;
}

.cmnFooter .footerNav .boxFooterAction {
    display: flex;
    align-items: center;
    gap: 3rem;
    margin-top: 3rem;
}

.cmnFooter .footerNav .boxFooterAction .linkCompanyRegister {
    color: #fff;
    text-decoration: none;
}

.cmnFooter .footerNav .boxFooterAction .btnCompany {
    margin-top: 0;
}

.cmnFooter .copyright {
    text-align: center;
    font-size: var(--pcFontSize12);
    letter-spacing: var(--pcLetterSpacing40);
}

@media screen and (max-width: 1215px) {
    .cmnFooter {
        padding: 5rem 0;
    }

    .cmnFooter .boxFooterFlex {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 5.0em;
    }

    .cmnFooter .boxFooterInfo {
        width: 100%;
        margin-bottom: 1.5rem;
    }

    .cmnFooter .footerLogo img {
        width: auto;
        height: 2rem;
        margin-bottom: 1.5em;
    }

    .cmnFooter .txtFooterDesc {
        font-size: var(--spFontSize10);
        line-height: 1.8;
        letter-spacing: var(--spLetterSpacing0);
    }

    .cmnFooter .footerNav {
        width: 100%;
        align-items: flex-start;
        letter-spacing: var(--spLetterSpacing0);
        padding-top: 0;
    }

    .cmnFooter .footerNav ul {
        flex-direction: column;
        gap: 1.3rem;
    }

    .cmnFooter .footerNav a {
        display: block;
        font-size: var(--spFontSize12);
    }

    .cmnFooter .footerNav .boxFooterAction {
        gap: 0 1rem;
    }
    
    .cmnFooter .footerNav .btnCompany {
        font-size: var(--spFontSize12);
        letter-spacing: var(--spLetterSpacing0);
        padding: 1.5rem;
    }
}

/*-----------------------------------------------
    cmnSpNav
-----------------------------------------------*/
#jsBtnMenuSp {
    display: none;
}

@media screen and (max-width: 1215px) {
    #jsBtnMenuSp {
        display: block;
        position: fixed;
        z-index: 1200;
        top: 0;
        right: 0;
        width: 3.8rem;
        height: 4.8rem;
        cursor: pointer;
    }

    #jsBtnMenuSp span {
        display: block;
        width: var(--spFontSize14);
        height: 0.2rem;
        background: var(--color-text);
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
        transition: 0.3s;
    }

    #jsBtnMenuSp span:nth-of-type(1) { top: var(--spFontSize18); }
    #jsBtnMenuSp span:nth-of-type(2) { top: 50%; transform: translateY(-50%); }
    #jsBtnMenuSp span:nth-of-type(3) { bottom: var(--spFontSize18); }

    #jsBtnMenuSp.isOpen span:nth-of-type(1) {
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
    #jsBtnMenuSp.isOpen span:nth-of-type(2) {
        opacity: 0;
    }
    #jsBtnMenuSp.isOpen span:nth-of-type(3) {
        top: 50%;
        bottom: auto;
        transform: translateY(-50%) rotate(-45deg);
    }
}

@media screen and (min-width: 1216px) {
    #jsBtnMenuSp { display: none !important; }
}

.cmnSpNav {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background-color: rgba(255, 255, 255, 0.98);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    font-family: inherit;
}

@media screen and (max-width: 1215px) {
    .cmnSpNav {
        display: block;
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 0.3s ease, visibility 0.3s ease;
        top: calc(4.8rem + 1px);
    }

    .cmnSpNav.isOpen {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        top: calc(4.8rem + 1px);
    }

    
}

@media screen and (min-width: 1216px) {
    .cmnSpNav { display: none !important; }
}

.cmnSpNav .stackFullBleed {
    position: relative;
    z-index: 1;
    min-height: 100%;
    display: flex;
    flex-direction: column;
}

.cmnSpNav .boxPcActions {
    display: flex;
    width: 100%;
    gap: 0.8rem;
    align-items: flex-start;
    height: auto;
    overflow: visible;
    border-bottom: 0.4rem solid var(--color-main);
}

.cmnSpNav .boxPcActions .siteLink {
    flex: 1;
    display: flex;
    min-width: 0;
    width: auto;
    margin: 0;
    padding: 1.1rem 0.5rem 1.2rem;
    border-radius: 0.5rem;
    font-size: var(--spFontSize12);
    font-weight: bold;
    text-align: center;
    line-height: 1.25;
    color: var(--color-white);
    justify-content: center;
    align-items: center;
}

.cmnSpNav .boxPcActions .siteLink:not(.isActive) {
    height: 3.8rem;
    margin-bottom: 1rem;
}

.cmnSpNav .boxPcActions .siteLink.isActive {
    border-radius: 0.5rem 0.5rem 0 0;
    height: 4.8rem;
    margin-bottom: 0;
}

.cmnSpNav .boxPcActions .lnkLearn {
    background-color: var(--color-pink);
}

.cmnSpNav .boxPcActions .lnkWork {
    background-color: var(--color-mint);
}

.cmnSpNav .boxPcActions .lnkConnect {
    background-color: var(--color-orange);
}

.cmnSpNav .drawerMainPad {
    flex: 0 0 auto;
    padding: 2rem 1.5rem;
}

.cmnSpNav .listGnavIcon {
    flex: 0 0 auto;
    background: transparent;
}

.cmnSpNav .listGnavIcon a {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.9rem 1rem;
    font-size: var(--spFontSize12);
    border-bottom: 1px solid var(--color-form-border);
    position: relative;
}

.cmnSpNav .listGnavIcon a::before {
    content: '';
    flex-shrink: 0;
    width: 2rem;
    height: 2rem;
    background-repeat: no-repeat;
    background-position: center center;
}

.cmnSpNav .listGnavIcon a.icoWork::before {
    background-image: url("../../../img/front/common/gnav01.png");
    background-size: 1.7rem;
}
.cmnSpNav .listGnavIcon a.icoCourse::before {
    background-image: url("../../../img/front/common/gnav02.png");
    background-size: 2rem;
}
.cmnSpNav .listGnavIcon a.icoMember::before {
    background-image: url("../../../img/front/common/gnav03.png");
    background-size: 1.6rem;
}
.cmnSpNav .listGnavIcon a.icoNews::before {
    background-image: url("../../../img/front/common/gnav04.png");
    background-size: 1.8rem;
}

.cmnSpNav .listGnavIcon a.icoBeginnerLeaf::before {
    background-image: url("../../../img/front/common/iconBeginner.png");
    background-size: 1.2rem;
}

.cmnSpNav .listLegalPlain {
    flex: 0 0 auto;
    margin-top: 0;
    padding: 2.4rem 1.5rem 0;
}

.cmnSpNav .listLegalPlain a {
    display: block;
    font-size: var(--spFontSize12);
    line-height: 1.7;
    opacity: 0.9;
}

.cmnSpNav .listLegalPlain a + a {
    margin-top: 1rem;
}

.cmnSpNav .btnCompany {
    background-color: #baedef;
    border: 1px solid var(--color-mint);
    color: var(--color-text);
    padding: 1.8rem;
    margin: 3rem auto 0;
    width: calc(100% - 3rem);
    font-size: var(--spFontSize12);
    border-radius: 0.5rem;
    text-align: center;
    display: block;
}