@import url(https://cdn.jsdelivr.net/npm/yakuhanjp@3.4.1/dist/css/yakuhanjp.min.css);
.kv {
    background-color: #fff;
}
.campaign__date {
    padding: 40px 0;
}
@media screen and (max-width: 767px) {
    .campaign__date {
        padding: 40px 20px!important;
    }
}
.campaign-section {
    padding: 0% 0 16%;
}
#cnt-request {
    background-image: url(/shogaku/campaign/local/images/2022winter/campaign-block-bk-reqest.jpg);
    background-size: 140%;
    background-repeat: repeat;
}
#cnt-join2,
#cnt-join {
    background-image: url(/shogaku/campaign/local/images/2022winter/campaign-block-bk-join.jpg);
    background-size: 140%;
    background-repeat: repeat;
}
#cnt-intro {
    background-image: url(/shogaku/campaign/local/images/2022winter/campaign-block-bk-intro.jpg);
    background-size: 140%;
    background-repeat: repeat;
}
.campaign-section h2 {
    padding: 30px 0;
    background-image: url(/youji/campaign/local/images/2022winter/section-ttl-bk-request.png);
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 0!important;
}
@media screen and (max-width: 767px) {
    .campaign-section h2{
        padding: 20px 0;
    }
}

#cnt-join2 h2,
#cnt-join h2 {
    background-image: url(/youji/campaign/local/images/2022winter/section-ttl-bk-join.png);
}
#cnt-intro h2 {
    background-image: url(/youji/campaign/local/images/2022winter/section-ttl-bk-henkin.png);
}
.campaign-section h2 {
    text-align: center;
    font: 500 30px/1.4 'YakuHanJP', "Noto Sans JP", sans-serif;
    color: #fff;
}
@media screen and (max-width: 767px) {
    .campaign-section h2 {
        font-size: 24px;
    }
}
.campaign-section span {
    font: 500 20px/1.4 'YakuHanJP', "Noto Sans JP", sans-serif;
    position: relative;
}
@media screen and (max-width: 767px) {
    .campaign-section span {
        font-size: 16px;
    }
}
.campaign-section span::before {
    content:'';
    background-image: url(/youji/campaign/local/images/2022winter/dot-l.png);
    background-repeat: no-repeat;
    background-size: 14px;
    width: 2em;
    height: 1.5em;
    top: 6px;
    right: 88px;
    position: absolute;
}
.campaign-section span::after {
    content:'';
    background-image: url(/youji/campaign/local/images/2022winter/dot-r.png);
    background-repeat: no-repeat;
    background-size: 14px;
    width: 2em;
    height: 1.5em;
    top: 6px;
    left: 106px;
    position: absolute;
}
@media screen and (max-width: 767px) {
    .campaign-section span::before {
        background-size: 10px;
        right: 68px;
    }
    .campaign-section span::after {
        background-size: 10px;
        left: 86px;
    }
}
.campaign-section #cnt-request span::before {
    right: 88px;

}
.campaign-section #cnt-request span::after {
    left: 106px;
}
.campaign-block {
    border-radius: 2px;
}
#cnt-request .campaign-block{
    box-shadow: 0px 8px 0px 0px #feb2c4;
}
#cnt-join2 .campaign-block,
#cnt-join .campaign-block {
    box-shadow: 0px 8px 0px 0px #a9deff;
}
#cnt-intro .campaign-block {
    box-shadow: 0px 8px 0px 0px #fcd4a6;
}
.campaign-block .inner:before {
opacity: 0;
}
.campaign-block h3 {
    position: relative;
    margin-bottom: 50px;
}
.campaign-block h3::after{
    content: '';
    background-image: url(/youji/campaign/local/images/2022winter/h3-under-dot.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 60%;
    width: 60%;
    height: 4px;
    left: 50%;
    transform: translate(-50%, -50%);
    bottom: -25px;
    position: absolute;
}
.campaign-block h3 > small {
    color: rgb(51,51,51);
}
.campaign-block h3 em {
    display: block;
    font-weight: 700;
    line-height: 1.3;
}
#cnt-request .campaign-block h3 em {
    color: #fb446f;
}
#cnt-join2 .campaign-block h3 em,
#cnt-join .campaign-block h3 em {
    color: #0f9cfe;
}

#cnt-intro .campaign-block h3 em {
    color: #f47e00;
}
.campaign-block p {
    font: 400 16px/1.4 'YakuHanJP', "Noto Sans JP", sans-serif!important;
}
@media screen and (max-width: 767px) {
    .campaign-block p {
        font-size: 14px!important;
    }
}
.btn-detail {
    border-radius: 2px;
    padding-right: 0;
}
#cnt-request .btn-detail {
    border-color: #fb446f;
    color: #fb446f;
}
#cnt-join2 .btn-detail,
#cnt-join .btn-detail {
    border-color: #0082f1;
    color: #0082f1;
}
#cnt-intro .btn-detail {
    border-color: #f47e00;
    color: #f47e00;
}
.btn-detail i{
    position: relative;
    margin-right: 10px;
    right: auto;
}
.campaign-btn {
    height: 66px;
    font-size: 2.8rem;
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .campaign-btn {
        font-size: 2.1rem;
        height: 50px;
    }
}
.campaign-btn i {
    position: absolute;
    right: 5%;
    width: 20px;
    height: 20px;
    line-height: 0;
}
.campaign-btn img {
    margin-top: 1px;
}

.modal-ttl i{
    background-color: #D7021B;
    padding-top: 0.4em;
}
.modal-ttl em {
    color: #ff9c00;
}
.modal__txt p {
    font-size: 16px;
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .modal__txt p {
        font-size: 14px;
    }
    .table-horizontal > tbody > tr > td {
        font-size: 14px;
        font-weight: 400;
    }
}
.table-horizontal > tbody > tr > td {
    font-size: 16px;
    font-weight: 400;
}
@media screen and (max-width: 767px) {
    .table-horizontal > tbody > tr > td {
        font-size: 14px;
        font-weight: 400;
    }
}

/* 「ごきょうだい」平仮名化による落ちないようにする対応 */
@media screen and (max-width: 767px) {
	.modal-ttl.small i {
			font-size: 6vw;
	}
}