.columnArea {
    padding: 103px 0 100px;
    position: relative;
    z-index: 11;
}
.triangleTopBG {
	background: url("../images/news/content-bg.png") no-repeat;
	background-size: 100%;
}
.columnArea .columnList {
    display: flex;
    flex-wrap: wrap;
    gap: 76.4px 40px;
    margin-bottom: 67px;
}

.columnArea .columnList li {
    display: flex;
    flex: 0 0 calc((100% - 80.1px) / 3);
}

.columnArea .columnList li a {
    display: flex;
    flex-direction: column;
    padding-bottom: 22.4px;
    border-bottom: 1px solid #999999;
    transition: 0.3s;
}

.columnArea .columnList li a .columnDate {
    font-size: 18.9px;
    color: #000;
    line-height: 1;
    margin-bottom: 11px;
}

.columnArea .columnList li a .columnTitle {
    font-size: 21.74px;
    color: #000;
    margin-bottom: 14px;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    transition: 0.3;
}

.columnArea .columnList li a .columnImg {
    display: block;
    width: 100%;
    margin-bottom: 14px;
    overflow: hidden;
    transition: 0.3s;
}

.columnArea .columnList li a .columnImg img {
    display: block;
    object-fit: cover;
    height: auto;
    width: 100%;
    aspect-ratio: 323/ 186;
    transition: 0.3s;
}

.columnArea .columnList li a .columnText {
    font-size: 18px;
    color: #000;
    line-height: 1.4;
    letter-spacing: 0.1px;
    text-align: justify;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-bottom: 15px;
    text-align: left;
}

.columnArea .columnList li a .columnBtn {
    width: fit-content;
    margin-left: auto;
    margin-top: auto;
    margin-right: 0;
    min-height: 34.3px;
    line-height: 1;
    background: #000;
    border: 2px solid #000;
    color: #fff;
    display: block;
    padding: 6px 3px 5px;
    max-width: 94px;
    width: 100%;
    font-size: 15px;
    text-align: center;
    transition: 0.3s;
}

.columnArea .inner {
    max-width: 1140px;
}

.columnArea .pageTitle {
    font-size: 80px;
    line-height: 1.2;
    margin-bottom: 93px;
    letter-spacing: 0.2px;
    padding-left: 109px;
    text-shadow: 7px 7px 8px rgba(0, 0, 0, 0.3);
}

.columnArea .btnLink {
    margin: 0 auto;
}

.columnWrap.bgRainBow:after {
    z-index: -1;
    top: 8.6%;
    right: -9.2%;
    /* width: 64.9%; */
}

.columnWrap.bgDiamond::before {
    top: 40.8%;
    left: -162px;
    height: 61%;
    pointer-events: none;
}

.columnArea.bgRainBow:after {
    bottom: -1.3%;
    right: -11%;
    top: unset;
    height: 24%;
    width: 69%;
    max-width: 880px;
    pointer-events: none;
}

.bgRainBow.doubleRainbow:after {
    background: url(../images/column/bg-double-rainbow.svg) no-repeat;
    background-size: 100%;
	height: 100%;
	background-position: center bottom;
    pointer-events: none;
}
.loadingSpinner {
    visibility: hidden;
    display: block;
    width: 30px;
    height: 30px;
    border: 3px solid #dcdcdc;
    border-top-color: #000;
    border-radius: 50%;
    animation: spinnerRotate 0.8s linear infinite;
    margin: 0px auto 14px;
}

/* Safari */
.Safari .columnArea .pageTitle {
    font-weight: normal;
}

@keyframes spinnerRotate {
    to {
        transform: rotate(360deg);
    }
}

@media (min-width: 769px) {
    .main .wrapMain .mainPhoto img {
        aspect-ratio: 1280 / 645;
        min-height: 645px;
    }
    .columnArea .columnList li a:hover .columnTitle {
        color: #fa0000;
    }
    .columnArea .columnList li a:hover .columnImg img {
        transform: scale(1.05);
    }

    .columnArea .columnList li a:hover .columnBtn {
        background: #bb452e;
        border: 2px solid #bb452e;
        /* color: #000; */
    }
    .columnArea .columnList li a:hover  {
        border-color: #bb452e;
    }
    .main .wrapMain .mainPhoto img {
        aspect-ratio: 1280 / 645;
        min-height: 645px;
    }
    body:not(:has(.mainSlash)) .main .wrapMain .mainPhoto img {
        clip-path: unset
    }
}

@media (max-width: 768px) {
    .main .wrapMain .mainPhoto img {
        aspect-ratio: 450/ 227;
    }
	.loadingSpinner {
		width: 20px;
		height: 20px;
		margin-bottom: 4px;
	}
    .columnArea {
        padding-top: 30px;
        padding: clamp(29px, 6.444vw, 49.49px) 0 clamp(38px, 8.444vw, 64.85px);
        padding-top: 31px;
    }

    .columnArea .inner {
        padding: 0px 10.4%;
    }
    .columnArea .pageTitle {
        font-size: clamp(32px, 7.111vw, 54.61px);
        letter-spacing: clamp(1px, 0.222vw, 1.71px);
        padding-left: 0;
        text-shadow: 2px 4px 4px rgba(0, 0, 0, 0.3);
        margin-bottom: clamp(36px, 8.022vw, 63.15px);
        text-indent: -4px;
        letter-spacing: 0;
    }

    .columnArea .columnList {
        gap: clamp(35px, 7.778vw, 59.73px) clamp(21px, 4.667vw, 35.84px);
        margin-bottom: clamp(37px, 8.222vw, 63.15px);
        margin-bottom: clamp(13px, 2.889vw, 22.19px);
    }

    .columnArea .columnList li {
      	flex: 0 0 calc((100% - clamp(21px, 4.667vw, 35.84px)) / 2);
    }

    .columnArea .columnList li a {
        padding-bottom: clamp(10px, 2.222vw, 17.07px);
    }

    .columnArea .columnList li a .columnDate {
        font-size: clamp(12px, 2.667vw, 20.48px);
        margin-bottom: clamp(4px, 0.889vw, 6.83px);
    }

    .columnArea .columnList li a .columnTitle {
        font-size: clamp(14px, 3.111vw, 23.89px);
        margin-bottom: clamp(5px, 1.111vw, 8.53px);
    }

    .columnArea .columnList li a .columnImg {
        margin-bottom: clamp(6px, 1.333vw, 10.24px);
    }

    .columnArea .columnList li a .columnImg img {
    }

    .columnArea .columnList li a .columnText {
        font-size: clamp(12px, 2.667vw, 20.48px);
        margin-bottom: clamp(6px, 1.333vw, 10.24px);
    }

    .columnArea .columnList li a .columnBtn {
        font-size: clamp(12px, 2.667vw, 20.48px);
        max-width: unset;
        width: fit-content;
        min-height: 16px;
        padding: clamp(4px, 0.889vw, 6.83px)
                 clamp(4px, 0.889vw, 6.83px)
                 clamp(6px, 1.333vw, 10.24px);
    }
    .columnWrap.bgDiamond::before {
        top: 35.1%;
        left: -29.9%;
        height: 62%;
        width: 65.5%;
    }
    .columnWrap.bgRainBow:after {
        top: 5.2%;
        right: -12.7%;
        width: 65.5%;
    }
    .bgRainBow.doubleRainbow:after {
        bottom: -2.4%;
        right: -45.7%;
        width: 115.8%;
    }
    .btnLink a {
        font-size: clamp(14px, 3.111vw, 23.89px);
    }
}
@media (max-width: 375px) {
	.columnArea .inner {
		padding: 0px 6%;
	}
}