.f-xs {
    font-size: 120%;
}

.f-xl {
    font-size: 150%;
}

.f-sm {
    font-size: 170%;
}

.f-md {
    font-size: 200%;
}

.f-lg {
    font-size: 250%;
}

.col-white {
    color: #fff !important;
}

.col-yel {
    color: #fbf946 !important;
}

.col-pink {
    color: #f49898;
}

.bg-pink {
    background: #fae1e1 !important;
}

.bg-red {
    background: #fabcbc !important;
}

.bg-yel {
    background: #f8eb96 !important;
}

.border-green {
    background: linear-gradient(to top, #cafbc2 10px, transparent 10px);
}

.border-yel {
    background: linear-gradient(to top, #f6f9c4 10px, transparent 10px);
}

.border-sky {
    background: linear-gradient(to top, transparent calc(50% - 5px), #c2f2fb calc(50% - 5px), #c2f2fb calc(50% + 5px), transparent calc(50% + 5px));
}

.text-shadow {
    text-shadow: rgb(0, 0, 0) 3px 0px 0px, rgb(0, 0, 0) 2.83487px 0.981584px 0px, rgb(0, 0, 0) 2.35766px 1.85511px 0px, rgb(0, 0, 0) 1.62091px 2.52441px 0px, rgb(0, 0, 0) 0.705713px 2.91581px 0px, rgb(0, 0, 0) -0.287171px 2.98622px 0px, rgb(0, 0, 0) -1.24844px 2.72789px 0px, rgb(0, 0, 0) -2.07227px 2.16926px 0px, rgb(0, 0, 0) -2.66798px 1.37182px 0px, rgb(0, 0, 0) -2.96998px 0.42336px 0px, rgb(0, 0, 0) -2.94502px -0.571704px 0px, rgb(0, 0, 0) -2.59586px -1.50383px 0px, rgb(0, 0, 0) -1.96093px -2.27041px 0px, rgb(0, 0, 0) -1.11013px -2.78704px 0px, rgb(0, 0, 0) -0.137119px -2.99686px 0px, rgb(0, 0, 0) 0.850987px -2.87677px 0px, rgb(0, 0, 0) 1.74541px -2.43999px 0px, rgb(0, 0, 0) 2.44769px -1.73459px 0px, rgb(0, 0, 0) 2.88051px -0.838247px 0px;
}

.f-20 {
    font-size: 1.25rem;
}

.f-24 {
    font-size: 1.5rem;
}

.f-30 {
    font-size: 1.875rem;
}

.f-36 {
    font-size: 2.25rem;
}

.f-40 {
    font-size: 2.5rem;
}

.f-48 {
    font-size: 3rem;
}

@media screen and (max-width: 768px) {
    .f-48 {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 480px) {
    .f-20 {
        font-size: 1rem;
    }
    .f-24 {
        font-size: 1.125rem;
    }
    .f-30 {
        font-size: 1.25rem;
    }
    .f-36 {
        font-size: 1.375rem;
    }
    .f-40 {
        font-size: 1.5rem;
    }
    .f-48 {
        font-size: 1.75rem;
    }
    .sp-hide {
        display: none;
    }
}

.contact-fix {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
}

.contact-fix-item {
    width: 50%;
    text-align: center;
}

.contact-fix-item a {
    display: block;
    max-width: none;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    padding: 10px 0;
    line-height: 2;
}

.contact-fix-item a i {
    margin-right: 10px;
}

.contact-fix-tel {
    background: #3d89e9;
}

.contact-fix-mail {
    background: #e38431;
}

#sekko header .tel {
    margin-right: 0;
}

.main_cont {
    width: 70%;
    line-height: 1.3;
}

.mv_cont {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    padding: 3em 0;
    background: rgba(254, 251, 251, .5);
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
}

.sekko_exchange {
    padding: 50px 20px 50px;
}

.sekko_box {
    margin-top: 20px;
    padding: 30px 4%;
}

.sekko_exchange .sekko_box .col-pink {
    margin-bottom: 15px;
}

.sekko_exchange .sekko_box .col-red {
    margin: 50px 0 20px;
}

.sec_item {
    margin-top: 50px;
}

.sec_item h3 {
    margin-bottom: 30px;
}

.sec_item a {
    display: block;
    margin-top: 30px;
    padding: 20px;
    border-radius: 20px;
}

.sekko_board figure {
    position: relative;
    width: 33%;
}

.sekko_board .sekko_box {
    width: 85%;
    margin-top: 0;
    padding-top: 50px;
    padding-bottom: 50px;
}

.sekko_board.left_box .sekko_box {
    margin-left: -18%;
    padding-left: 20%;
}

.sekko_board.right_box .sekko_box {
    margin-right: -18%;
    padding-right: 20%;
}

aside {
    width: 30%;
    margin-top: 85px;
    padding: 0;
}

aside nav {
    padding: 10px 10px 50px;
    background: #e5e5e5;
    border: 1px solid #d2d2d2;
    border-top: 20px solid #f19ec2;
}

aside nav .aside_manu {
    margin-bottom: 20px;
}

aside nav .aside_menu_ttl {
    padding: 10px 0;
    border-bottom: 5px solid #aaa;
}

aside nav .aside_menu_ttl h2 {
    color: #ff99cc;
    font-size: 1.75rem;
}

aside ul {
    padding: 0 20px;
}

aside ul li {
    width: 100%;
    margin: 0;
}

aside ul li a {
    display: block;
    padding: 15px 0;
    color: #666;
    font-size: 1.25rem;
    border-bottom: 3px solid #aaa;
}

aside .nav_link img {
    margin-top: 10px;
}

.sekko_yel {
    padding: 50px 0;
}

.sekko_yel h2 {
    margin-bottom: 30px;
}

.flex-1 {
    flex: 1;
}

.sekko_last figure {
    position: relative;
    width: 35%;
    margin-right: -3%;
}

.sekko_last.last_right figure {
    margin-right: 0;
    padding-left: 2%;
}

.sekko_bg {
    margin-top: 5em;
    padding: 70px 0;
    background: url(./images/bg.jpg) no-repeat center / cover;
}

.sekko_bg h2 {
    margin-bottom: 50px;
}

.off_cont {
    margin-top: 50px;
    padding: 30px 0;
    font-size: 5rem;
    border-radius: 30px;
    background: rgba(250, 188, 188, .7);
}

@media screen and (max-width: 768px) {
    .main_cont {
        width: 100%;
    }
    aside {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: flex-start;
    }
    aside nav,
    aside .nav_link {
        width: 48%;
    }
    .mv_cont {
        padding: 1.5em 0;
    }
    .sekko_exchange {
        padding: 0;
    }
    .sekko_last figure {
        width: 100%;
        margin: 0 !important;
        padding: 0 !important;
        text-align: center;
    }
    .sekko_last .flex-1 {
        flex: none;
        width: 100%;
    }
}

@media screen and (max-width: 480px) {
    aside nav,
    aside .nav_link {
        width: 100%;
    }
    aside nav .aside_menu_ttl h2 {
        font-size: 1.5rem;
    }
    .sekko_board .sekko_box {
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .sekko_board.left_box .sekko_box {
        padding-left: 15%;
    }
    .sekko_board.right_box .sekko_box {
        padding-right: 15%;
    }
    .off_cont {
        font-size: 12vw;
    }
}