:root {
    --salmon: #FC7360;
    --geyser: #DDDDDD;
    --campaign-small-fs: 1.4rem;
    --campaign-base-fs: 1.8rem;
    --campaign-title-fs: 2.6rem;
    --campaign-title-secondary-fs: 2.4rem;
    --campaign-title-common-fs: 1.8rem;
    --campaign-bg-disabled: #F4F4F4;
    --campaign-color-disabled: #C7C7C7;
    --campaign-color-primary: #F1890E;
    --campaign-color-primary-shade: #C16E0B;
}

.t-align-left {
    text-align: left;
}

.t-align-right {
    text-align: right;
}

.t-align-center {
    text-align: center;
}

.t-bold {
    font-weight: bold;
}

.t-small {
    font-size: var(--campaign-small-fs);
}

.campaign-title-main{
	font-size: var(--campaign-title-fs);
	text-align: center;
}

.campaign-title-main.campaign-title-main--scholarship{
	color: #FC7360;
}


.separation.separation--scholar {
    background: #608DFF;
    padding: 14px;
    color: #FFF;
    font-weight: bold;
    font-size: var(--campaign-title-secondary-fs);
    text-align: center;
}

.campaign-t-color--salmon {
    color: var(--salmon);
}

.sec_main--campaign {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
    padding-left: 20px;
    padding-right: 20px;
}

.campaign-section {
    padding-top: 60px;
    padding-bottom: 60px;
    padding-left: 80px;
    padding-right: 80px;
}

.campaign-section__title {
    font-size: var(--campaign-title-common-fs);
}

.campaign-btn {
    padding: 12px 24px;
    background: #777777;
    display: inline-block;
    color: #FFFFFF;
    font-size: 1.6rem;
    font-weight: bold;
    border-radius: 10px;
}

.campaign-btn.campaign-btn--disabled {
    pointer-events: none;
    background: var(--campaign-bg-disabled);
    color: var(--campaign-color-disabled);
}

.campaign-btn.campaign-btn--scholar {
    background: var(--campaign-color-primary);
    box-shadow: 0 6px 0 var(--campaign-color-primary-shade);
}

.campaign-board {
    width: 100%;
    max-width: 630px;
    text-align: center;
    margin: auto;
}

.campaign-block-title {
    font-size: var(--campaign-title-secondary-fs);
    color: #FFFFFF;
    background: var(--salmon);
    border-radius: 8px 8px 0px 0px;
    padding: 8px 20px;
}

.campaign-board .campaign-board__body {
    border: 2px solid var(--salmon);
    border-top: 0;
    padding: 30px 20px;
    border-radius: 0px 0px 8px 8px;
    font-size: var(--campaign-base-fs);
}

.campaign-row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: start;
    justify-content: start;
    margin: -12px;
    width: auto;
}

.campaign-row.campaign-row--no-wrap {
    flex-wrap: nowrap;
}

.campaign-row .campaign-row__col {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
    padding: 6px;
}

.campaign-row .campaign-row__col.campaign-row__col--col-1 {
    flex-basis: calc(((1 / 6) * 100%) - 12px);
}

.campaign-row .campaign-row__col.campaign-row__col--col-2 {
    flex-basis: calc(((2 / 6) * 100%) - 12px);
}

.campaign-row .campaign-row__col.campaign-row__col--col-3 {
    flex-basis: calc(((3 / 6) * 100%) - 12px);
}

.campaign-row .campaign-row__col.campaign-row__col--col-4 {
    flex-basis: calc(((4 / 6) * 100%) - 12px);
}

.campaign-row .campaign-row__col.campaign-row__col--col-5 {
    flex-basis: calc(((5 / 6) * 100%) - 12px);
}

.campaign-row .campaign-row__col.campaign-row__col--col-6 {
    flex-basis: calc(((6 / 6) * 100%) - 12px);
}

/* custom */
.campaign-board .campaign-board__body .campaign-btn {
    min-width: 330px;
}

.campaign-boxes .campaign-box:not(:last-child) {
    margin-bottom: 80px;
}

.campaign-boxes .campaign-box:not(:last-child)::before {
    content: '';
    position: absolute;
    left: 50%;
    top: calc(100% + 30px);
    transform: translateX(-50%);
    border-style: solid;
    border-width: 25px 45px 45px 45px;
    border-color: #CECECE transparent transparent transparent;
}

.campaign-box {
    padding: 40px;
    background: #F5F8FF;
    border-radius: 8px;
    position: relative;
}

.campaign-box .campaign-box__floating-label {
    position: absolute;
    font-size: 40px;
    font-weight: bold;
    color: var(--salmon);
    right: calc(100% - 35px);
    bottom: calc(100% - 30px);
}

.scholar-image-wrap {
    position: relative;
    max-width: 300px;
    text-align: center;
    margin: auto;
}

.scholar-image-wrap>img {
    display: block;
    width: 100%;
}

.campaign-box__scholar-title {
    font-weight: bold;
    font-size: var(--campaign-title-common-fs);
}

.campaign-scholar-english-test-table {
    border-bottom: 0;
    border-right: 1px solid #DDDDDD;
}

.campaign-scholar-english-test-table .table-grid {
    display: grid;
    grid-template: repeat(1, 1fr) / repeat(5, 1fr);
    min-height: 68px;
    text-align: center;
}

.campaign-scholar-english-test-table .table-grid:last-child {
    border-bottom: 1px solid #DDDDDD;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item {
    font-size: var(--campaign-base-fs);
    font-weight: bold;
    padding: 10px 15px;
    box-sizing: content-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0px;
    word-break: break-word;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item:not(.table-grid__item--label):first-child {
    grid-column: 2;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item.rr {
    font-size: var(--campaign-title-secondary-fs);
    color: var(--salmon);
    font-weight: bold;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item.none {
    background: #DDDDDD;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item.c1 {
    background: #FFCCCC;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item.c2 {
    background: #FEEDBE;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item.c3 {
    background: #FFFEEF;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item.c4 {
    background: #E3F4FF;
}

.campaign-scholar-english-test-table .table-grid .table-grid__item:not(first-child) {
    border-top: 1px solid var(--geyser);
    border-left: 1px solid var(--geyser);
}

.campaign-scenarios .campaign-block-title {
    border-radius: 0;
    font-size: 2rem;
}

.campaign-scenario {
    padding: 24px 0;
    margin-left: 20px;
    margin-right: 20px;
}

.campaign-scenario {
    border-bottom: 2px dotted var(--salmon);
}

.campaign-scenario__title {
    font-size: var(--campaign-title-common-fs);
    font-weight: bold;
    margin-bottom: 10px;
}

.campaign-scenario__context {
    font-size: var(--campaign-title-common-fs);
    font-weight: normal;
    position: relative;
    padding-left: 32px;
}

.campaign-scenario__context::before {
    content: '';
    position: absolute;
    left: 0;
    border-width: 10px 10px 10px 14px;
    border-style: solid;
    border-color: transparent transparent transparent var(--salmon);
    top: 4px;
}

.campaign-q-and-a-list {
    padding: 30px 30px;
    background: #F5F5F5;
}


.campaign-q-and-a-list__item{
    margin-bottom: 30px;
    /* font-size: 1.8rem; */
}

.campaign-q-and-a-list__item:only-child,
.campaign-q-and-a-list__item:last-child {
    margin-bottom: 0;
}

.campaign-q-and-a-list__item p{
    position: relative;
    padding-left: 30px;
    font-size: var(--campaign-base-fs);
}

.campaign-q-and-a-list__item p[class*='role-']::before{
    content: '';
    position: absolute;
    left: 0;
    top: 0px;
    font-weight: bold;
    font-size: inherit;
}

.campaign-q-and-a-list__item p.role-question::before{
    content: 'Q.';
}

.campaign-q-and-a-list__item p.role-answer::before{
    content: 'A.';
}

.campaign-scholarship-header{
    text-align: center;
}

.campaign-scholarship-header h4{
    font-size: var(--campaign-title-secondary-fs);
    font-weight: bold;
}

.campaign-scholarship-header p{
    font-size: var(--campaign-base-fs);
}

/* from common */

.fw_b{
    font-weight: bold;
}

.m_t_10{
    margin-top: 1rem;
}

.m_t_20{
    margin-top: 2rem;
}

.m_t_30{
    margin-top: 3rem;
}

.m_t_40{
    margin-top: 4rem;
}

.m_t_50{
    margin-top: 5rem;
}

.m_t_60{
    margin-top: 6rem;
}

.m_b_10{
    margin-bottom: 1rem;
}

.m_b_20{
    margin-bottom: 2rem;
}

.m_b_30{
    margin-bottom: 3rem;
}

.m_b_40{
    margin-bottom: 4rem;
}

.m_b_50{
    margin-bottom: 5rem;
}

.m_b_60{
    margin-bottom: 6rem;
}

/* from common, overwrite */
.btn_style.btn_trial {
    min-width: unset !important;
    max-width: 500px;
    font-size: 2.4rem!important;
    padding: 18px 42px!important;
    height: unset!important;
    line-height: normal!important;
    border-radius: 5em!important;
}