@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');

/* flexbox */
.row_box {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
/*-----------------------------------

	campaign_block

-----------------------------------*/
#campaign_block {
    padding: 105px 0 175px;
}
#campaign_block .contents_inner {
    max-width: 1100px;
}
#campaign_block .ct_btn {
    display: block;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.42;   
    letter-spacing: 0;
    text-align: center;
    color: #ffffff;
    background: #003a7d;
    width: 400px;
    padding: 27px 0;
    border: 1px solid #003a7d;
    margin: 0 auto;
    position: relative;
    transition: 0.3s;
}
@media (hover: hover) {
    #campaign_block .ct_btn:hover {
        color: #003a7d;
        background: #ffffff;
        opacity: 1;
    }
    #campaign_block .ct_btn:hover::after {
        background: url(../img/common/btn_icon_clr.svg) no-repeat center / cover;
    }
}
#campaign_block .ct_btn::after {
    content: "";
    display: block;
    background: url(../img/common/btn_icon_wh.svg) no-repeat center / cover;
    width: 45px;
    height: 45px;
    margin: auto;
    position: absolute;
    top: 0;
    right: 21px;
    bottom: 0;
    transition: 0.3s;
}
/* intro_box */
#campaign_block .intro_box {
    margin-bottom: 50px;
}
#campaign_block .intro_box h2 {
    width: 219px;
    margin: 0 auto 57px;
}
#campaign_block .intro_box h2 img {
    display: block;
}
#campaign_block .intro_box h3 {
    font-size: 39px;
    font-weight: 400;
    line-height: 1.39;
    letter-spacing: -0.06em;
    text-align: center;
    padding-bottom: 35px;
    border-bottom: 1px solid #003a7d;
    margin-bottom: 40px;
    position: relative;
}
#campaign_block .intro_box h3::before,
#campaign_block .intro_box h3::after {
    content: "";
    display: block;
    background: #003a7d;
    width: 6px;
    height: 6px;
    border-radius: 50vw;
    margin: auto;
    position: absolute;
    bottom: -3.5px;
}
#campaign_block .intro_box h3::before {
    left: -3px;
}
#campaign_block .intro_box h3::after {
    right: -3px;
}
#campaign_block .intro_box .intro_txt {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.89;
    letter-spacing: 0;
    text-align: center;
    color: #003a7d;
    margin: 39px auto 43px;
}
#campaign_block .intro_box .att_txt {
    font-size: 13px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    text-align: center;
    margin-top: 24px;
}
/* campaign_box */
#campaign_block .campaign_box {
    padding: 38px 70px 58px;
}
#campaign_block .campaign_box.e-1 {
    background: #fbf6f1;
}
#campaign_block .campaign_box.n-2,
#campaign_block .campaign_box.n-3,
#campaign_block .campaign_box.s-15 {
    background: #fcf4f7;
}
#campaign_block .campaign_box.s-1 {
    background: #f0f8fb;
}
#campaign_block .campaign_box:not(:last-of-type) {
    margin-bottom: 44px;
}
#campaign_block .campaign_box h4 {
    font-size: 29px;
    font-weight: 400;
    line-height: 1.7;
    letter-spacing: 0;
    text-align: center;
    margin: 0 auto 50px;
    position: relative;
}
#campaign_block .campaign_box h4::before,
#campaign_block .campaign_box h4::after {
    content: "";
    display: block;
    margin: auto;
}
#campaign_block .campaign_box h4::before {
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.03em;
    margin-bottom: -2px;
}
#campaign_block .e-1 h4::before {
    content: "SARDEGNA ZONE";
}
#campaign_block .n-2 h4::before,
#campaign_block .n-3 h4::before,
#campaign_block .s-15 h4::before {
    content: "ANDALUCÍA ZONE";
}
#campaign_block .e-1 h4::before {
    color: #c26f19;
}
#campaign_block .n-2 h4::before,
#campaign_block .n-3 h4::before,
#campaign_block .s-15 h4::before {
    color: #d44a73;
}
#campaign_block .s-1 h4::before {
    content: "MYKONOS ZONE";
    color: #0090c1;
}
#campaign_block .campaign_box h4::after {
    width: 130px;
    height: 4px;
    margin-top: 1px;
}
#campaign_block .e-1 h4::after {
    background: #c26f19;
}
#campaign_block .n-2 h4::after,
#campaign_block .n-3 h4::after,
#campaign_block .s-15 h4::after {
    background: #d44a73;
}
#campaign_block .s-1 h4::after {
    background: #0090c1;
}
#campaign_block .campaign_box .img_wrap {
    gap: 30px 0;
    margin-bottom: 44px;
}
#campaign_block .campaign_box .img_wrap .img_box:first-of-type {
    width: 100%;
}
#campaign_block .campaign_box .img_wrap .img_box:nth-of-type(n+2) {
    width: calc((100% - 32px) / 2);
}
#campaign_block .n-2 .img_wrap .img_box:first-of-type,
#campaign_block .n-2 .img_wrap .img_box:nth-of-type(n+2) {
    width: calc((100% - 32px) / 2);
}
#campaign_block .n-3 .img_wrap .img_box:nth-of-type(2) {
    width: 41.5%;
}
#campaign_block .n-3 .img_wrap .img_box:nth-of-type(3),
#campaign_block .n-3 .img_wrap .img_box:nth-of-type(4) {
    width: 25.9%;
}
#campaign_block .campaign_box .text_wrap h5 {
    font-size: 27px;
    font-weight: 600;
    line-height: 1.23;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 27px;
}
#campaign_block .campaign_box .text_wrap h6 {
    font-size: 16px;
    font-weight: 400;
    margin-left: -10px;
    margin-bottom: 1px;
}
#campaign_block .campaign_box .text_wrap .detail {
    margin-bottom: 25px;
    gap: 30px 0;
}
#campaign_block .campaign_box .text_wrap .detail_box {
    width: calc((100% - 120px) / 4);
}
#campaign_block .campaign_box .text_wrap ul li {
    font-size: 15px;
    line-height: 2.14;
    letter-spacing: 0;
    padding-left: 14px;
    position: relative;
}
#campaign_block .campaign_box .text_wrap ul li::after {
    content: '';
    display: block;
    background: #9c9c9c;
    width: 8px;
    height: 8px;
    border-radius: 50vw;
    margin: auto;
    position: absolute;
    top: 12px;
    left: 0;
    z-index: 1;
}
#campaign_block .campaign_box .text_wrap .att_txt {
    font-size: 13px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    text-align: center;
    margin-bottom: 50px;
}
@media screen and (max-width: 840px) {
    #campaign_block .campaign_box .text_wrap .detail_box {
        width: calc((100% - 30px) / 2);
    }
}
@media screen and (max-width: 640px) {
    #campaign_block {
        padding: 56px 0 57px;
    }
    #campaign_block .ct_btn {
        font-size: 12px;
        width: 100%;
        max-width: 210px;
        padding: 11.5px 0;
    }
    #campaign_block .ct_btn::after {
        width: 24px;
        height: 24px;
        right: 12px;
    }
    #campaign_block .intro_box {
        margin-bottom: 38px;
    }
    #campaign_block .intro_box h2 {
        width: 155px;
        margin: 0 auto 35px;
    }    
    #campaign_block .intro_box h3 {
        font-size: 21px;
        line-height: 1.48;
        padding-bottom: 17px;
        margin: 0 auto 34px;
    }
    #campaign_block .intro_box .img_box img {
        width: 100%;
    }
    #campaign_block .intro_box h3::before,
    #campaign_block .intro_box h3::after {
        width: 4px;
        height: 4px;
        bottom: -2.5px;
    }
    #campaign_block .intro_box h3::before {
        left: 0;
    }
    #campaign_block .intro_box h3::after {
        right: 0;
    }
    #campaign_block .intro_box .intro_txt {
        font-size: 13px;
        line-height: 1.77;
        margin: 33px auto 18px;
    }
    #campaign_block .intro_box .att_txt {
        font-size: 10px;
        line-height: 1.7;
        margin-top: 20px;
    }
    #campaign_block .campaign_box {
        width: 100vw;
        padding: 31px 5% 33px;
        margin: 0 calc(50% - 50vw);
    }
    #campaign_block .campaign_box:not(:last-of-type) {
        margin-bottom: 34px;
    }
    #campaign_block .campaign_box h4 {
        font-size: 20px;
        margin: 0 auto 27px;
    }
    #campaign_block .campaign_box h4::before {
        font-size: 11px;
        margin-bottom: 0;
    }
    #campaign_block .campaign_box h4::after {
        width: 91px;
        height: 3px;
    }
    #campaign_block .campaign_box .img_wrap {
        gap: 20px 0;
        margin-bottom: 37px;
    }
    #campaign_block .campaign_box .img_wrap .img_box:first-of-type,
    #campaign_block .campaign_box .img_wrap .img_box:nth-of-type(n+2) {
        width: 100%;
    }
    #campaign_block .campaign_box .text_wrap .detail_box {
        width: calc((100% - 29px) / 2);
    }
    #campaign_block .campaign_box .text_wrap h5 {
        font-size: 19px;
        margin-bottom: 11px;
    }
    #campaign_block .campaign_box .text_wrap h6 {
        font-size: 11px;
        margin-left: -7px;
    }
    #campaign_block .campaign_box .text_wrap .detail {
        gap: 20px 0;
        margin-bottom: 26px;
    }
    #campaign_block .campaign_box .text_wrap ul li {
        font-size: 11px;
        line-height: 2.1;
        padding-left: 10px;
    }
    #campaign_block .campaign_box .text_wrap ul li::after {
        width: 5px;
        height: 5px;
        top: 10px;
    }
    #campaign_block .campaign_box .text_wrap .att_txt {
        font-size: 10px;
        line-height: 1.7;
        margin-bottom: 36px;
    }
}