@charset 'utf-8';

.section-wrapper {
    position: relative;
    padding-top: 6rem;
}
.section-wrapper::before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(((100vw - 100%) / 2) * -1);
    width: 100vw;
    height: calc(100% + 14em);
    box-shadow: var(--box-shadow);
    background-color: var(--color-bak);
    z-index: -1;
    padding: 0 calc((100vw - 100%) / 2);
    box-sizing: border-box;
}
.section {margin-bottom: 3em;}

.content {width: 100%; align-self: stretch; padding-top: 1.5em;}
.content-header {display: flex;justify-content: space-between;align-items: center;margin-bottom: 1em;}
.content-header .content-title {font-size: 34px;font-family: var(--point-font-family);}
.content.notice .content-header {margin: 0;}
.content-header .content-title:has(.tab) {
    display: flex;
    align-items: center;
}
.content-header .content-title .tab {position: relative; cursor: pointer; padding-right: 2rem;}
.content-header .content-title .tab.now::before {
    content: '';
    position: absolute;
    bottom: 0;
    width: calc(100% - 2rem);
    border-top: 5px solid var(--color-red);
    z-index: -1;
}

@media all and (max-width: 768px) {
    .content-header .content-title {font-size: 1.5rem;}
    .content-header #viewAll {font-size: var(--small-font-size);}
}

.main-bg {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: url('/img/main_bg.png') 0 0 no-repeat;
    z-index: -1;
    background-size: cover;
}

#main {
    position: relative;
    padding: 2.5em;
    background: rgba(255,255,255,.8);
    border: 1px solid;
    border-radius: 2em;
    backdrop-filter: blur(10px);
}

#yangsan {
    position: absolute;
    width: 100%;
    max-width: 600px;
    max-height: 544px;
    top: 50%;
    left: 5%;
    transform: translateY(-50%) scale(1.1);
    filter: drop-shadow(0 3px 10px rgba(0,0,0,.16));
    z-index: 2;
    order: 1;
}
.area-wrapper {
    position: absolute;
    width: 100%;
    height: 100%;
}
.area {
    position: absolute;
    width: 61px;
    height: 52px;
    padding: .3em;
    background: var(--color-bak);
    box-shadow: var(--box-shadow);
    overflow: hidden;
    border-radius: 1em;
    text-align: center;
    isolation: isolate;
    transition: .3s ease;
}
.area span:nth-of-type(1){
    display: block;
    width: 100%;
    position: absolute;
    width: 100%;
    height: 50%;
    left: 0;
    top: 0;
    line-height: 2.5;
    font-family: var(--point-font-family);
    transition: .3s ease;
    background: var(--color-main);
    color: #fff;
    font-size: var(--small-font-size);
}
.area span:nth-of-type(2){position: relative; top: 43%; font-size: var(--small-font-size); font-weight: 900; line-height: 2.3;}
.area.danger span:nth-of-type(2) {color: var(--color-red);}

.area:nth-of-type(1){top: 40%;left: 15%;}
.area:nth-of-type(2){top: 54%;left: 35%; z-index: 1;}
.area:nth-of-type(3){top: 78.5%;left: 26%; z-index: 2;}
.area:nth-of-type(4){top: 36%;left: 50%;}
.area:nth-of-type(5){top: 14%;left: 54%;}
.area:nth-of-type(6){top: 16%;left: 26%;}
.area:nth-of-type(7){top: 68%;left: 18%; z-index: 1;}
.area:nth-of-type(8){top: 70%;left: 63%;}
.area:nth-of-type(9){top: 68%;left: 29%; z-index: 1;}
.area:nth-of-type(10){top: 58%;left: 69%;}
.area:nth-of-type(11){top: 44%;left: 72%;}
.area:nth-of-type(12){top: 54%;left: 80%;}
.area:nth-of-type(13){top: 55%;left: 47%; z-index: 2;}
.area:nth-of-type(14){top: 61%;left: 9%;}
.area:nth-of-type(15){top: 65%;left: 40%; z-index: 2;}
.area:nth-of-type(16){top: 42%;left: 33%;}
.area:nth-of-type(17){top: 41%;left: 83%;}
.area:nth-of-type(18){top: 10%;left: 27%;}
.area:nth-of-type(19){top: 66%;left: 16%;}

#weatherContent {
    position: relative;
    left: 0;
    z-index: 1;
    padding-left: 54%;
}
#weatherContent::before {
    content: '';
    display: block;
    clear: both;
    width: 100%;
}
#weatherContent h1 {
    font-size: 3.5em;
    font-family: var(--point-font-family);
    font-weight: 900;
}
#weatherContent h1 + p {font-size: var(--small-font-size);}

.weather-desc {
    position: relative;
    width: 100%;
    background: var(--color-bak);
    padding: 1.5em;
    border-radius: 1.5em;
    box-shadow: var(--box-shadow);
    margin-top: 1.5em;
    height: 420px;
}
.weather-desc .weather-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px;
    padding-bottom: 7px;
    background: var(--color-default);
    color: var(--color-bak);
    border-radius: .7em;
}
.weather-desc .weather-content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: calc(100% - 3.5em);
    top: 1.3em;
    position: relative;
}
.weather-desc .weather-content span.border{
    display: block;
    width: 0;
    height: 100%;
    border-left: 0 !important;
}

.weather-desc .weather-content > div:nth-of-type(1) {width: 33%;display: flex;flex-direction: column;align-items: center;position: relative;left: .6em;gap: 1.5em;}
.weather-desc .weather-content > div:nth-of-type(2) {width: 53%;height: 100%;display: flex;flex-direction: column;justify-content: space-between;}

.weather-desc .weather-content > div:nth-of-type(1) > strong {font-size: 1.2em;}
.weather-desc .weather-content > div:nth-of-type(1) img {max-width: 100px; height: auto;}
.weather-desc .weather-content > div:nth-of-type(1) img + p {font-size: 2em;}
.weather-desc .weather-content > div:nth-of-type(1) img + p #airGradeTxt.danger {color: var(--color-red);}
.weather-desc .weather-content > div:nth-of-type(2) .sky-wrapper {
    justify-content: center;
    position: relative;
    left: -13%;
    gap: .6em;
    top: -1em;
}

.weather-desc .weather-content #temp {font-size: 3em;}

.weather-desc .weather-content strong#skyTxt {
    position: absolute;
    bottom: -.9em;
    font-size: 1.7em;
}

.weather-desc .weather-content .sub-desc {width: 100%;}
.weather-desc .weather-content .sub-desc p {display: flex;justify-content: space-between;margin: 0;font-size: 1.1em;}
.weather-desc .weather-content .sub-desc p .danger {color: var(--color-red);}

@media all and (max-width: 1280px) {
    .section-wrapper {padding-top: 4rem; margin-top: 2em;}
    .content {width: 100% !important;}

    #main {
        padding: 1.2rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2em;
    }
    #yangsan {
        max-width: 500px;
        transform: none;
        left: 0;
        position: relative;
    }
    #weatherContent {padding: 0;width: 100%;}
    #weatherContent h1 {font-size: 1.8em;}

    .area {transform: scale(.8);}
}

@media all and (max-width: 768px) {
    .weather-desc {height: unset;padding: 1em;}
    .weather-desc .weather-header {flex-direction: column; font-size: var(--small-font-size);}
    .weather-desc .weather-content {flex-direction: column;gap: 2em;}
    .weather-desc .weather-content span.border {width: 100%;height: 0;border-top: 0 !important;}
    .weather-desc .weather-content > div:nth-of-type(1) {left: 0;width: 100%;}
    .weather-desc .weather-content > div:nth-of-type(2) {width: 100%;gap: 3em;top: -1em;position: relative;}
    
    .weather-desc .weather-content > div:nth-of-type(1) img {max-width: 70px;}
    .weather-desc .weather-content > div:nth-of-type(1) img + p {font-size: 1.5em;}

    .weather-desc .weather-content > div:nth-of-type(2) .sky-wrapper {justify-content: center;left: 0;top: 0;}
    .weather-desc .weather-content img#sky {width: 80px;}
    .weather-desc .weather-content #temp {font-size: 2em;}
}

@media all and (max-width: 480px) {
    .area {transform: scale(.6);}
}

#banners {width: 100%; height: 280px;}
#banners .swiper-slide {padding: 1em; height: 250px;}
#banners .swiper-slide .banner {
    height: 100%;
    box-shadow: var(--box-shadow);
    border-radius: 1.5em;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    background-color: #fff;
}
#banners .swiper-pagination {bottom: 0;}
#banners .swiper-pagination .swiper-pagination-bullet {width: 10px; height: 10px;}
#banners .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {background: var(--color-default);}

.guide .guide-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3em;
    /* grid-template-rows: 1fr 1fr; */
}
.guide .guide-link {
    position: relative;
    width: 9em;
}
.guide .guide-link .thumb {
    height: 9em;
    border-radius: 1.5em;
    box-shadow: var(--box-shadow);;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
    border: 0;
}
.guide .guide-link .thumb + p {padding-top: 1em;}

@media all and (max-width: 1280px) {
    #top {
        display: flex;
        flex-direction: column;
    }
    #top > p {text-align: center;}
    .guide .guide-link {margin: 0;width: 100%;}
}

#middle {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 3em;
}
#middle > .content.guide {width: calc(9em * 2 + 4em + 3em);}

.notice .notice-list ul {border-top: 1px solid var(--color-grey);}
.notice .notice-list li {line-height: 2;border-bottom: 1px solid var(--color-grey);padding: 1.35em 0;}
.notice .notice-list li a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .3em 0;
}

.tel .sub {font-size: var(--small-font-size); padding-top: .5em;}
.tel strong {font-family: var(--point-font-family);}
.tel > div {font-size: var(--big-font-size);}
.tel > div p {display: flex; justify-content: space-between;}

#relatedLinks {width: 100%;height: 80px;display: flex;justify-content: space-between;align-items: center;}
#relatedLinks .related-links-container {width: 90%;margin: 0 auto;}
#relatedLinks .post {padding: .6em;}
#relatedLinks .post a.related-link {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 58px;
    padding: .5em;
    background: #fff;
    border-radius: 2em;
    box-shadow: var(--box-shadow);
    overflow: hidden;
}
#relatedLinks i {color: var(--color-default) !important; cursor: pointer; padding: 1em 0;}

@media all and (max-width: 1280px) {
    #middle {flex-direction: column;}
    #middle > div {width: 100%;}
    #middle::before {display: none;}

    .notice > p {position: relative; top: 0;}

    .tel > div {font-size: 1em;}
}