.sub_content .content-inner {
    margin: 0px auto;
    width: 60%;
    padding: 0px;
}

.content-inner {
    padding: 4.771vw 2.125vw 1.5vw;
    box-sizing: border-box;
    margin: 0px auto;
    max-width: 1700px;
}

.content-title {
    margin-bottom: 2vw;
    font-size: 2.2vw;
    font-family: gs;
    font-weight: bold;
    color: #003d86;
}

.content-title .plus {
    color: rgb(255, 255, 255);
}

.col-list {
    display: flex;
}

.col-list img {
    width: 100%;
}

.col-list .inner {
    flex: 1 1 0%;
}

.col-list .inner + .inner {
    margin-left: 3.229vw;
}

.col-list .list-item {
    display: block;
}

.col-list .list-item .image {
    overflow: hidden;
    transition: all 0.3s ease 0s;
}

.col-list .list-item img {
    transition: all 0.3s ease 0s;
}

.col-list .list-item:hover img {
    transform: scale(1.1);
}

.col-list .list-item:hover .image {
    border-radius: 1.25vw 1.25vw 0px;
    box-shadow: rgba(20, 153, 245, 0.27) 10px 10px 0px 0px;
}

.col-list .list-item + .list-item {
    margin-top: 5.208vw;
}

.col-list .text-box {
    display: flex;
    align-items: flex-start;
    margin-top: 1.2vw;
}

.col-list .text-box .text-1 {
    width: 5vw;
    height: 2.5vw;
    font-size: 0.7vw;
    line-height: 0.9vw;
    display: flex;
    align-items: flex-end;
    margin-right: 0.625vw;
    font-weight: 600;
}

.col-list .text-box .text-1::after {
    flex: 1 1 0%;
    content: "";
    height: 1px;
    position: relative;
    top: -0.313vw;
    margin-left: 0.521vw;
    background-color: rgb(0, 0, 0);
}

.col-list .text-box .text-inner {
    flex: 1 1 0%;
}

.col-list .text-box .text-2 {
    font-weight: bold;
    font-size: 1.1vw;
    line-height: 1.5vw;
    letter-spacing: -0.8px;
}

.col-list .text-box .text-3 {
    color: rgb(111, 111, 111);
    font-size: 0.6vw;
    line-height: 0.9vw;
    margin-top: 0.573vw;
}

.col-list .text-tags {
    margin-top: 0.8vw;
}

.col-list .text-tags span {
    display: inline-block;
    padding: 0px 0.633vw;
    border-radius: 1.875vw;
    height: 1.7vw;
    line-height: 1.7vw;
    font-family: gs;
    font-size: 0.5vw;
    font-weight: 300;
    color: rgb(111, 111, 111);
    border: 1px solid rgb(225, 225, 225);
    margin-right: 0.16vw;
    margin-bottom: 0.313vw;
}

.col-list .text-tags span::before {
    content: "#";
}

.col-list-2 {
    display: flex;
    flex-wrap: wrap;
}

.col-list-2 img {
    width: 100%;
}

.col-list-2 .inner {
    flex: 1 1 0%;
}

.col-list-2 .inner + .inner {
    margin-left: 2.125vw;
}

.col-list-2 .list-item {
    display: block;
}

.col-list-2 .list-item + .list-item {
    margin-top: 2.125vw;
}

.col-list-2 .list-item {
    position: relative;
}

.col-list-2 .list-item::after {
    content: "";
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0);
    opacity: 0.6;
    transition: all 0.3s ease 0s;
}

.col-list-2 .list-item:hover::after {
    opacity: 0.2;
}

.col-list-2 .text-box {
    position: absolute;
    left: 0px;
    bottom: 0px;
    color: rgb(255, 255, 255);
    z-index: 1;
    padding: 1vw;
    width: 100%;
    box-sizing: border-box;
}

.col-list-2 .text-box .text-1 {
    display: inline-block;
    padding-bottom: 0.417vw;
    font-size: 0.7vw;
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
    font-weight: 300;
}

.col-list-2 .text-box .text-2 {
    font-weight: bold;
    font-size: 0.9vw;
    line-height: 1.2vw;
    margin-top: 0.9vw;
}

.col-list-2 .text-box .text-3 {
    font-size: 0.885vw;
    line-height: 1.358vw;
    margin-top: 1.363vw;
    font-weight: 300;
}

.col-list-2 .text-tags {
    margin-top: 1.302vw;
}

.col-list-2 .text-tags span {
    display: inline-block;
    padding: 0px 0.533vw;
    border-radius: 1.875vw;
    height: 1.4vw;
    line-height: 1.6vw;
    font-family: gs;
    font-size: 0.6vw;
    font-weight: 300;
    color: rgb(255, 255, 255);
    border: 1px solid rgb(225, 225, 225);
    margin-right: 0.16vw;
    margin-bottom: 0.313vw;
}

.col-list-2 .text-tags span::before {
    content: "#";
}

.content-pride {
    background-color: rgb(248, 243, 240);
}

.content-pride .list-item:hover .image {
    box-shadow: rgba(239, 123, 0, 0.34) 0.521vw 0.521vw 0px 0px;
}

.content-event {

    border-bottom: 1px solid #999;
    margin-top: 10.417vw;
}
.content-event .content-inner {
    padding: 2.771vw 2.125vw 4.771vw
}

.content-event .list {
    display: flex;
    align-items: stretch;
}

.content-event .list .event-slider {
    width: calc(50% - 1.563vw);
    flex: 1;
    margin-right: 1.563vw;
}

.content-event .list .event-slider .slick-dots {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 0.781vw 0;
    padding: 0;
}
.content-event .list .event-slider .slick-dots button {
    width: 1.042vw;
    height: 1.042vw;
    border-radius: 1.042vw;
    background-color: #fff;
    margin: 0 0.365vw;
    text-indent: -999px;
    overflow: hidden;
    transition: .2s;
    cursor: pointer;
}
.content-event .list .event-slider .slick-active button {
    width: 3.125vw;
    background-color: #ffd800;
}

.content-event .list .event-slider img {
    width: 100%;
}

.content-event .content-title {
    /* color: rgb(255, 255, 255);*/
}

.content-event .list > a img {
    width: 100%;
    max-height: 273px;
}

.content-event .list > a + a {
    margin-left: 2.188vw;
}

.content-sns {
    background-color: rgb(0, 0, 0);
}

.content-sns .content-title {
    color: rgb(255, 255, 255);
}

.content-sns .inner {
    display: flex;
}

.content-sns .video {
    flex: 1 1 0%;
    width: 954px;
    height: 605px;
    flex: none;
    overflow: hidden;
    max-width: 954px;
}

.content-sns .video > div:first-child {
    background-color: rgb(46, 46, 46);
    position: relative;
    flex: 1 1 0%;
    height: 605px;
    box-sizing: border-box;
}

.content-sns .video iframe {
    position: absolute;
    left: 0px;
    top: 50%;
    width: 100%;
    height: 100%;
    /* max-height: 20.646vw; */
    transform: translateY(-50%);
}

.content-sns .links {
    margin-left: 40px;
    overflow-y: auto;
    height: 585px;
    /* align-items: baseline; */
}

.content-sns .links::-webkit-scrollbar {
    width: 6px;
}

.content-sns .links::-webkit-scrollbar-track {
    background-color: rgb(0, 0, 0);
}

.content-sns .links::-webkit-scrollbar-thumb {
    background-color: rgb(68, 68, 68);
}

.content-sns .links::-webkit-scrollbar-button {
    display: none;
}

.content-sns .links .image {
    flex: none;
    /* height: 7.292vw; */
    margin-right: 22px;
}

.content-sns .links .image img {
    width: 100%;
}
.content-sns .links a {
    display: flex;
    color: #fff;
}

.content-sns .links a + a {
    margin-top: 22px;
}

.content-sns .links a:hover {
    font-weight: bold;
}

.content-sns .links .text {
    font-size: 0.938vw;
    line-height: 1.354vw;
    align-self: flex-end;
}

.content-sns .sns {
    display: flex;
    justify-content: center;

    padding: 2.604vw;
    background-color: #FFF;
    border-bottom: 1px solid #ccc;
    border-top: 1px solid #ccc;
}

.content-sns .sns a {
}

.content-sns .sns a img {
    width: 2.438vw;
    height: 2.438vw;
}

.content-sns .sns a + a {
    margin-left: 2.083vw;
}

.content-sns .tag-list {
    display: flex;
    justify-content: center;
    margin-top: 1.042vw;
}

.content-sns .tag-list span {
    display: inline-block;
    padding: 0px 0.833vw;
    border-radius: 1.875vw;
    height: 1.775vw;
    line-height: 1.979vw;
    font-family: gs;
    font-size: 0.885vw;
    font-weight: 300;
    color: rgb(255, 255, 255);
    border: 1px solid rgb(255, 255, 255);
}

.content-sns .tag-list span::before {
    content: "#";
}

.content-sns .tag-list span + span {
    margin-left: 0.521vw;
}

.video-container {
    margin: 30px auto;
    text-align: center;
}

.video-container iframe {
    width: 100%;
    max-width: 1000px;
    height: 500px;
    margin: 0px auto;
}
.video-container video {
    width: 100%;
    max-width: 800px;
    height: auto;
    margin: 0px auto;
}

/* sub */
.sub-header-type1 {
    text-align: center;
    background-color: #0b4086;
    padding: 40px 0 26px;
}

.sub-header-type1 .title-1 {
    margin: 0 auto;
}

.sub-header-type1 .title-2 {
    font-size: 40px;
    font-weight: bold;
    line-height: 53px;
    color: #fff;
    padding-top: 45px;
    margin-top: 34px;
    border-top: 1px solid #00bfab;
    font-family: HakgyoansimGgooreogiR, sans-serif;
}

.sub-header-type1 .title-2 .size-1 {
    font-size: 40px;
    line-height: 53px;
}

.sub-header-type1 .title-2 .size-2 {
    font-size: 55px;
    line-height: 65px;
}

.sub-header-type1 .title-3 {
    display: flex;
    justify-content: center;
    font-size: 15px;
    line-height: 24px;
    font-family: gs, serif;
    font-weight: 300;
    color: #00ff74;
    margin-top: 64px;
}

.sub-header-type1 .title-3 .bl {
    margin: 0 24px;
}

.sub-header-type1.color-type-2 {
    background-color: #efa900;
}
.sub-header-type1.color-type-3 {
    background-color: #e4ff00;
}
.sub-header-type1.color-type-4 {
    background-color: #7d6442;
}
.sub-header-type1.color-type-7 {
    background-color: #6134b4;
}
.sub-header-type1.color-type-2 .title-3 {
    color: #fff;
    margin-top: 45px;
}
.sub-header-type1.color-type-2 .title-2 {
    border-top-color: #fff;
}
.sub-header-type1.color-type-3 .title-2 {
    color: #0e23a4;
    border-color: #fff;
}
.sub-header-type1.color-type-3 .title-3 {
    color: #448915;
}
.sub-header-type1.color-type-4 .title-2 {
    border-color: #fff;
}
.sub-header-type1.color-type-4 .title-3 {
    color: #bba88e;
}

.sub-header-type1.color-type-7 .title-2 {
    border-color: #fff;
    color: #d8ff00;
}

.sub-header-type1.color-type-7 .title-3 {
    color: #af9ad6;
}
.sub-header-type1.color-type-11 {
    background-image: url("../images/tech02.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub-header-type1.color-type-10 {
    background-image: url("../images/cs02.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub-header-type1.color-type-12 {
    background-image: url("../images/work01.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub-header-type1.color-type-13 {
    background-image: url("../images/donggul01.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub-header-type1.color-type-14 {
    background-image: url("../images/gmap01.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub-header-type1.color-type-14 {
    background-image: url("../images/gmap01.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}
.sub-header-type1.color-type-15 {
    background-image: url("../images/team01.jpg");
    height: 430px;
    background-repeat: no-repeat;
    background-size: cover;
}

.sub-inner {
    max-width: 1270px;
    margin: 0 auto;
}

.sub-inner-2 {
    max-width: 1500px;
    margin: 0 auto;
}

.sub-image-slider-1 {
    max-width: 1500px;
    margin: 0 auto 108px;
    padding: 0 116px;
}

.sub-image-slider-1 .slick-dots {
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 19px 0 0;
    padding: 0;
}
.sub-image-slider-1 .slick-dots button {
    width: 21px;
    height: 21px;
    border-radius: 21px;
    background-color: #9b9b9b;
    margin: 0 5px;
    text-indent: -999px;
    overflow: hidden;
    transition: .2s;
    cursor: pointer;
}
.sub-image-slider-1 .slick-active button {
    width: 65px;
    background-color: #0b4086;
}
.sub-image-slider-1 .slick-arrow {
    position: absolute;
    top: 50%;
    text-indent: -999em;
    width: 54px;
    height: 92px;
    background-image: url('../images/img-banner-slide-arrow-1.png');
    background-position: 0 0;
    background-repeat: no-repeat;
    margin-top: -46px;
    background-size: 54px 92px;
}

.sub-image-slider-1 .slick-prev {
    left: 32px;
}

.sub-image-slider-1 .slick-next {
    right: 32px;
    transform: rotate(180deg);
}

.text-type-1 {
    font-size: 24px;
    line-height: 38px;
}

.text-type-1 .text-1 + .text-1 {
    margin-top: 50px;
}

.common-tooltip-text {
    display: none;
    position: absolute;
    left: -2px;
    top: 28px;
    font-size: 18px;
    line-height: 26px;
    width: 308px;
    min-height: 130px;
    background-color: #fff;
    text-align: left;
    padding: 24px 50px 24px 15px;
    border: 1px solid #aeaeae;
    box-sizing: border-box;
    box-shadow: 2px 2px 2px 0px #f6ff00;
}

.common-tooltip-text-close {
    position: absolute;
    right: 10px;
    top: 10px;
}

.common-tooltip {
    position: relative;
    box-shadow: inset 0 -12px 0 #f6ff00;
}

.sub-tag-list a:before {
    content: "#";
}

.sub-tag-list {
    max-width: 1000px;
    text-align: center;
    margin: 150px auto;
}
.sub-tag-list a {
    min-width: 160px;
    display: inline-block;
    height: 66px;
    line-height: 70px;
    border-radius: 48px;
    background-color: #fff;
    font-size: 32px;
    border: 1px solid #e1e1e1;
    padding: 0 28px;
    margin: 22px 6px 0;
    transition: all 0.3s ease 0s;
    font-family: gs, sans-serif;
    font-weight: bold;
    box-sizing: border-box;
    text-align: center;
    color: #000;
}

.sub-tag-list a:hover {
    background-color: #000;
    color: #fff;
    border-color: #000;
}

.sub-container + .content-sns .sns {
    margin-top: 50px;
}

.title-image-1 img {
    width: auto;
    height: 47px;
}

.title-image-2 img {
    width: auto;
    height: 69px;
}

.title-image-3 img {
    width: auto;
    height: 51px;
}


.sub-text-wrap-1 {
    padding: 150px 0 175px;
    text-align: center;
}
.sub-text-wrap-1 .title-1 {
    font-size: 36px;
    line-height: 40px;
    font-family: RIDIBatang, sans-serif;
    padding-bottom: 20px;
    border-bottom: 3px solid #000;
    width: 600px;
    margin: 0 auto;
    font-weight: normal;
}
.sub-text-wrap-1 .title-2 {
    font-family: gs, serif;
    font-size: 60px;
    line-height: 78px;
    margin-top: 36px;
    font-weight: bold;
}
.sub-text-wrap-1 .text-1 {
    margin-top: 80px;
    font-size: 28px;
    line-height: 38px;
}
.sub-text-wrap-1 .text-2 {
    font-size: 32px;
    line-height: 42px;
    margin-top: 50px;
    font-weight: bold;
    color: #fff;
}

.sub-text-wrap-1 .text-2 span {
    display: inline-block;
    padding: 2px 36px;
    background-color: #efa900;
}

.sub-text-wrap-1 .text-2 span + span {
    margin-top: 8px;
}

.sub-text-wrap-2 {padding: 90px 0 90px}
.sub-text-wrap-2:first-child {
    padding-top: 0;
}
.sub-text-wrap-2.type-padding-left {padding-left: 220px}
.sub-text-wrap-2.type-padding-left-2 {padding-left: 330px}
.sub-text-wrap-2.type-padding-left-3 {padding-left: 108px; padding-right: 108px}
.sub-text-wrap-2.type-padding-right {padding-right: 220px}
.sub-text-wrap-2 .title-1 {
    color: #efa900;
    font-weight: bold;
    font-size: 30px;
    line-height: 50px;
    margin-bottom: 40px;
}
.sub-text-wrap-2.color-type-2 .title-1 {
    color: #029746;
}
.sub-text-wrap-2.color-type-3 .title-1 {
    color: #0e23a4;
}
.sub-text-wrap-2.color-type-5 .title-1 {
    color: #2BA0C2;
}
.sub-text-wrap-2.color-type-6 .title-1 {
    color: #0e23a4;
}
.sub-text-wrap-2.color-type-7 .title-1 {
    color: #6134b4;
}
.sub-text-wrap-2.color-type-8 .title-1 {
    color: #00bfab;
}
.sub-text-wrap-2 .text-1 {
    font-size: 24px;
    line-height: 38px;
}
.sub-text-wrap-2 .text-1 + .text-1 {margin-top: 45px;}
.sub-text-wrap-2 .text-1 + .title-1 {
    margin-top: 85px;
}
.sub-text-wrap-2 .text-1 .speech {
    background: #ecf3f4;
    border-radius: 15px;
    padding: 20px 40px;
    display: block;
}
.sub-text-wrap-2 .text-1 .speech .speaker {
    text-align: right;
    display: block;
    font-size: 18px;
    font-weight: bold;
}

.sub-text-wrap-2 .text-background {
    font-size: 30px;
    line-height: 45px;
    font-weight: 500;
    color: #0e23a4;
    padding: 60px;
    background-color: #d8ff00;
    margin: 12px 0 55px;
}
.sub-text-wrap-2 .text-background02{
    font-size: 25px;
    line-height: 45px;
    font-weight: 300;
    color: #0e23a4;
    padding: 60px;
    background-color: #eeeef0;
    margin: 12px 0 55px;
    font-family: CookieRun, sans-serif;
}
.sub-text-wrap-3 {
    font-family: gs, serif;
    font-size: 60px;
    line-height: 78px;
    margin-top: 36px;
    font-weight: bold;
}

.sub-text-wrap-3 .title {
    padding-left: 330px;
}
.sub-text-wrap-3 .title .text-1 {
    font-size: 36px;
    line-height: 40px;
    font-family: RIDIBatang, sans-serif;
    font-weight: normal;
    padding-bottom: 20px;
    border-bottom: 3px solid #000;
    width: 750px;
}

.sub-text-wrap-3.color-type-2 .title .text-1 {
    width: 612px;
}

.sub-text-wrap-3 .title .text-1.center {
    text-align: center;
}

.sub-text-wrap-3 .title .text-2 {
    margin-top: 30px;
}
.sub-text-wrap-3 .inner {
    position: relative;
    margin-top: 65px;
    padding-left: 330px;
}
.sub-text-wrap-3.align-right .inner {
    padding-right: 330px;
    padding-left: 0;
}

.sub-text-wrap-3 .image {
    text-align: right;
}
.sub-text-wrap-3.align-right .image {
    text-align: left;
}
.sub-text-wrap-3 .image-2 {
    position: absolute;
    right: 0;
    top: 0;
    font-size: 24px;
    line-height: 35px;
    font-weight: bold;
    font-family: 'noto', sans-serif;
}
.sub-text-wrap-3 .text-box {
    position: absolute;
    left: 0;
    bottom: 50px;
    background-color: #fff;
    padding: 45px 55px;
    border: 1px solid #000;
    width: 685px;
}

.sub-text-wrap-3.align-right .text-box {
    right: 0;
    left: auto;
}
.sub-text-wrap-3 .text-box .title-1 {
    font-weight: bold;
    color: #efa900;
    font-size: 30px;
    line-height: 48px;
}

.sub-text-wrap-3 .text-box .title-1 + .text-2 {
    margin-top: 10px;
}

.sub-text-wrap-3.color-type-2 .text-box .title-1 {
    color: #029746;
    font-family: 'noto', sans-serif;
}
.sub-text-wrap-3.color-type-5 .text-box .title-1 {
    color: #2BA0C2;
}

.sub-text-wrap-3 .text-box .text-1 {
    margin-top: 16px;
    font-family: RIDIBatang, sans-serif;
    font-weight: normal;
    font-size: 26px;
    line-height: 48px;
}
.sub-text-wrap-3 .text-box .text-2 {
    margin-top: 55px;
    font-family: noto, -apple-system, sans-serif;
    font-weight: normal;
    font-size: 24px;
    line-height: 38px;
}

.sub-text-wrap-3 .text-box .text-2 + .title-1 {
    margin-top: 50px;
}
.sub-text-wrap-3 .text-box .text-2:only-child {
    margin-top: 0;
}

.sns-banner-block {
    margin-top: 140px;
    padding: 65px 0;
    background-color: #ffe8b3;
}

.sns-banner-block.color-type-7 {
    background-color: #e5ddf3;
}

.sns-banner-block a {
    display: flex;
    align-items: center;
    justify-content: center;
}

.sns-banner-block .sns-image img {
    width: 105px;
    height: 73px;
}
.sns-banner-block .text {
    margin-left: 50px;
    font-size: 28px;
    line-height: 42px;
}

/***/
.image-block.align-right {
    text-align: right;
}

.image-block-2 {
    text-align: center;
}
.image-block-2 .text-1 {
    font-size: 24px;
    line-height: 34px;
    margin-top: 20px;
    font-weight: bold;
}

.image-block-2 .image-text-caption {
    color: #8b8b8b;
}

.image-block-3 {
    text-align: center;
}

.image-block-3 img {
    max-width: 90%;
    height: auto;
}

.image-block-4 {
    padding-right: 540px;
}
.image-block-4 + .sub-text-wrap-2.type-padding-left {
    padding-top: 0;
}

.image-block.type-2 {
    margin: 110px 0;
}

.sub-header-type2 {
    display: flex;
    max-width: 1920px;
    margin: 0 auto;
}

.sub-header-type2 .image {width: 50vw;}
.sub-header-type2 .image img {width: 100%; height: auto; vertical-align: top}
.sub-header-type2 .inner {
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex: 1;
    padding: 60px 84px 60px;
    max-width: 780px;
}
.sub-header-type2.type-image-full {
    position: relative;
}
.sub-header-type2.type-image-full .image {
    width:100%;
    height: auto;
}
.sub-header-type2.type-image-full .inner {
    position: absolute;
    right: 0;
    top: 0;
    max-width: 100%;
    width: 50%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.75);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.sub-header-type2.color-type-2 {background-color: #029746; color:#fff}
.sub-header-type2.color-type-5 {background-color: #2BA0C2; color:#fff}
.sub-header-type2.color-type-6 {background-color: #343633; color:#fff}
.sub-header-type2.color-type-5 .inner {
    padding: 90px 84px 100px;
    max-width: 780px;
}
.sub-header-type2 .title-1 {
    font-family: gs, serif;
    font-size: 22px;
    line-height: 35px;
    color: #e4ff00;
}

.sub-header-type2.color-type-8 .title-1 {
    color: #ff0000;
}

.sub-header-type2 .title-2 {
    margin-top: 13px;
    font-weight: bold;
    font-size: 35px;
    line-height:43px;
}
.sub-header-type2 .title-5 {
    margin-top: 13px;
    font-weight: bold;
    font-size: 20px;
    line-height: 23px;
}

.sub-header-type2 .title-2 .size-large {
    font-size: 55px;
    line-height: 65px;
}
.sub-header-type2 .title-3 {
    margin-top: 50px;
    padding-top: 50px;
    border-top: 1px solid #fff;
    font-size: 20px;
    line-height: 30px;
}
.sub-header-type2.color-type-5 .title-3 {
    border-color: #86ccda;
}
.sub-header-type2.color-type-6 .title-3 {
    border-color: #eefff5;
}

.sub-header-type2 .title-3 em {
    display: block;
    color: #00ff74;
    font-size: 15px;
    line-height: 38px;
    margin-top: 12px;
    font-style: normal;
}
.sub-header-type2.color-type-5 .title-3 em {
    color: #f6ff00;
}
.sub-header-type2.color-type-6 .title-3 em {
    color: #898989;
}

.sub-header-type2.color-type-8 .title-3 {
    color: #0b4086;
    font-family: gs, sans-serif;
    border-top: 0;
    justify-self: flex-end;
    line-height: 36px;
}

.sub-notice {
    background-color: #029746;
    color: #fff;
    margin-top: 95px;
    padding: 45px 100px 55px 517px;

}

.sub-notice.align-center {
    padding: 80px 300px 80px;
}

.sub-notice .title,
.sub-notice .title-1 {
    color: #fffd2e;
    font-size: 30px;
    line-height: 38px;
    font-family: gs, serif;
    font-weight: 500;
}

.sub-notice .title-1.size-large {
    text-align: center;
    font-size: 42px;
    line-height: 52px;
}

.sub-notice .title-1 + .title {
    margin-top: 60px;
}

.sub-notice .title {
    color: #fff;
}

.sub-notice .image {
    margin: 60px 0;
    text-align: center;
}

.sub-notice .text-1 {
    font-size: 24px;
    line-height: 30px;
    margin-top: 20px;
}

.sub-notice-2 {
    background-color: #2BA0C2;
    color: #fff;
}

.sub-text-wrap-4 {
    display: flex;
    margin: 30px 0 30px;
}

.sub-text-wrap-4.type-center {
    text-align: center;
    margin: 120px 0;
}
.sub-text-wrap-4.type-center .text-box {
    margin-left: 0;
    padding-top: 0;
    flex: 1;
    font-family: RIDIBatang, sans-serif;
    font-weight: normal;
}

.sub-text-wrap-4.type-center .text-box .text-1 {
    margin: 10px 0;
}

.sub-text-wrap-4.type-center .text-box .text-2 {
    margin-top: 0;
}

.sub-text-wrap-4.color-type-4 .text-box .text-1 span {
    background-color: #7d6442;
}

.sub-text-wrap-4 .image {
    flex: none;
}
.sub-text-wrap-4 .text-box {
    margin-left: 75px;
    /*padding-top: 110px;*/
}

.sub-text-wrap-4 .text-box .text-1 span {
    display: inline-block;
    padding: 2px 15px;
    background: #029746;
    color: #fff;
    /* font-family: RIDIBatang, sans-serif;*/
    font-size: 30px;
    line-height: 42px;
}

.sub-text-wrap-4 .text-box .image-2 {
    margin-top: 60px;
}

.sub-text-wrap-4 .text-box .text-1 + .text-1 {
    margin-top: 7px;
}

.sub-text-wrap-4 .text-box .text-2 {
    font-size: 24px;
    line-height: 38px;
    margin-top: 47px;
}

/******/
.sub-breadcrumb {
    background-color: #0b4086;
    color: #fff;
}

.sub-breadcrumb .inner {
    display: flex;
    align-items: center;
    max-width: 1270px;
    margin: 0 auto;
    padding: 40px 0 35px;
    line-height: 30px;
    font-size: 25px;
    font-family: gs, serif;
    font-weight: bold;
}

.sub-breadcrumb .inner .plus {
    vertical-align: top;
    position: relative;
    top: -20px;
    font-size: 20px;
}

.sub-breadcrumb-depth + .sub-breadcrumb-depth {
    margin-left: 28px;
    padding-left: 42px;
    background-image: url('../images/img-breadcrumb-arrow.png');
    background-repeat: no-repeat;
    background-position: 0 1px;
    background-size: 13px 22px;
}

.sub-list-wrap {padding: 90px 0 0}
.sub-list {
    display: flex;
    flex-wrap: wrap;
    max-width: 1286px;
    margin: 0 auto;
}

.sub-list .item {
    overflow: hidden;
    width: calc(33.33% - 16px);
    margin: 0 8px;
    box-shadow: 6px 0 16px rgba(0, 0, 0, 0.1);
}

.sub-list .item:nth-child(n+4) {
    margin-top: 50px;
}

.sub-list .item .image {
    max-height: 214px;
    overflow: hidden;
    box-shadow: 6px 0 16px rgba(0, 0, 0, 0.1);
}

.sub-list .item .image img {
    width: 100%;
    height: auto;
    transition: .3s;
}

.sub-list .text-wrap {
    padding: 22px 22px 30px;
    /*border:1px solid #e2e2e2;*/
    border-top: 0;
    box-sizing: border-box;
}

.sub-list .text-wrap .title {
    font-size: 25px;
    line-height: 34px;
    height: 140px;
    font-weight: bold;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}

.sub-list .tag-list {
    display: flex;
    margin-top: 16px;
    white-space: normal;
    flex-wrap: wrap; /* 추가: 태그가 넘칠 경우 줄바꿈을 하도록 함 */
}

.sub-list .tag-list span {
    padding: 7px 18px 4px;
    border-radius: 16px;
    border: 1px solid #e9e9e9;
    transition: .3s;
    font-size: 16px;
    font-family: gs, serif;
    font-weight: 300;
    margin-bottom: 10px;
    margin-right: 10px;
}

.sub-list .tag-list span + span {
    /* margin-left: 8px;*/
}

.sub-list .tag-list span:hover {
    background-color: #333;
    color: #fff;
    border-color: #333;
}

.sub-list .tag-list span:before {
    content: "#";
}

.sub-list-2 {
    max-width: 1308px;
    margin:0 auto;
}
.sub-list-2 .inner {
    display: flex;
    flex-wrap: wrap;
	margin-bottom: 100px;
}

.sub-list-2 .item {
    margin: 0 19px;
    width: calc(25% - 38px);
}

.sub-list-2 .item .image {
    height: 369px;
    overflow: hidden;
}

.sub-list-2 .item img {
    transition: .3s;
}

.sub-list-2 .item .title {
    text-align: center;
    border-width: 1px 1px 0;
    border-style: solid;
    border-color: #333;
    font-weight: 400;
    font-size: 18px;
    line-height: 34px;
    padding: 21px 10px;
}

.sub-list-2 .item:nth-child(n+5) {
    margin-top: 76px;
}

.sub-list-indicator span {
    font-size: 36px;
    line-height: 54px;
    font-weight: bold;
    color: #0b4086;
    width: 380px;
    border: 1px solid #9f9f9f;
    text-align: center;
    padding: 13px 10px;
    box-sizing: border-box;
    border-radius: 54px;
    margin: 0 18px;
}
.sub-list-indicator {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 36px;
}

.sub-list-indicator button {
    width: 58px;
    height: 58px;
    background-position: 24px 18px;
    background-repeat: no-repeat;
    background-image: url("../images/img-previous-webzine-arrow.png");
    background-size: auto 19px;
    border: 1px solid #9f9f9f;
    border-radius: 50%;
}

.sub-list-indicator .prev {
    transform: rotate(180deg);
}

.image-text-flex-1 {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.image-text-flex-1 .image {
    flex: 1;
    text-align: center;
}

.image-text-flex-1 .text-box {
    flex: 1;
    font-size: 24px;
    line-height: 37px;
    margin-left: 70px;
}

.image-text-flex-1 .text-image {
    text-align: center;
}

.image-text-flex-1 .text-image + .text-1 {
    margin-top: 120px;
}

.image-text-flex-1 .text-1 + .text-1 {
    margin-top: 30px;
}

.sns-text-banner-1 {
    background-color: #00bcd421;
    background-image: url('../images/img-carrying-love-12.png');
    background-position: right 66px top;
    background-repeat: no-repeat;
    background-size: 87px auto;
}

.sns-text-banner-1 .inner {
    max-width: 1270px;
    margin: 0 auto;
    padding: 80px 0 90px;
    display: flex;
    align-items: center;
}

.sns-text-banner-1 .text-image {
    flex: 1;
}
.sns-text-banner-1 .text-box {
    flex: 1;
    margin-left: 75px;
    font-size: 25px;
    line-height: 35px;
    font-weight: 500;
}

.sns-text-banner-1 .text-1 + .text-1 {
    margin-top: 40px;
}

.sub-text-wrap-5 {
    margin: 70px 0;
}
.sub-text-wrap-5 .title-image {
    text-align: center;
    margin-bottom: 65px;
}

.sub-text-wrap-5 .text-box {
    display: flex;
}

.sub-text-wrap-5 .text-box + .text-box {
    margin-top: 60px;
}

.sub-text-wrap-5 .title {
    display: flex;
    align-items: center;
    font-size: 30px;
    line-height: 38px;
    color: #0e23a4;
    font-family: gs, serif;
    font-weight: bold;
    margin-bottom: 25px;
    min-height: 75px;
}

.sub-text-wrap-5 .text-1 {
    font-size: 24px;
    line-height: 38px;
}

.sub-text-wrap-5 .text-1 + .text-1 {
    margin-top: 30px;
}

.sub-text-wrap-5 .image {
    margin-top: 50px;
}

.sub-text-wrap-5 .image.align-center {
    text-align: center;
}

.sub-text-wrap-5 .image.align-center + .text-box {
    margin-top: 60px;
}

.sub-text-wrap-5 .bl {
    flex: none;
    margin-right: 20px;
}

.sub-text-wrap-5 .inner {
    padding-top: 10px;
}

.sub-text-wrap-5 .dot-box {
    padding: 46px 60px 70px;
    border: 5px dotted #000;
    border-radius: 10px;
}

.sub-text-wrap-5 .dot-box + .dot-box {
    margin-top: 36px;
}

.sub-text-wrap-6 {
    column-count: 2;
    margin-top: -145px;
    margin-left: -22px;
    margin-right: -22px;
}

.sub-text-wrap-6 .text-box {
    width: calc(100% - 44px);
    margin: 0 22px;
    margin-top: 145px;
    display: inline-block;
}

.sub-text-wrap-6 .text-box.dummy {
    height: 500px;
}

.sub-text-wrap-6 .title {
    font-family: HakgyoansimGgooreogiR, sans-serif;
    font-size: 35px;
    line-height: 42px;
    border-top-right-radius: 30px;
    border-top-left-radius: 30px;
    text-align: center;
    padding: 36px 45px 34px;
    color: #fff;
    min-height: 154px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-content: space-around;
    justify-content: space-around;
}

.sub-text-wrap-6 .inner {
    padding: 34px 34px 60px;
    border: 1px solid #afafaf;
    border-top: 0;
    text-align: center;
}

.sub-text-wrap-6 .inner .image {
    display: block;
    text-align: center;
    margin-top: 34px;
}

.sub-text-wrap-6 .text-box.type-1 .title {background-color: #759b24;}
.sub-text-wrap-6 .text-box.type-2 .title {background-color: #918e82;}

.sub-text-wrap-6 .text-1 {
    font-size: 30px;
    line-height: 38px;
    font-weight: bold;
}

.sub-text-wrap-6 .text-2 {
    font-size: 28px;
    line-height: 38px;
    margin-top: 8px;
}

.sub-text-wrap-6 .text-box.type-1 .text-1 {color: #759b24;}
.sub-text-wrap-6 .text-box.type-2 .text-1 {color: #918e82;}

.sub-text-wrap-6 .text-3 {
    color: #918e82;
    font-size: 24px;
    line-height: 38px;
    margin-top: 28px;
    padding-top: 28px;
    border-top: 1px solid #bfbfbf;
    font-weight: 500;
}

.sub-text-wrap-6 .text-4 {
    font-size: 24px;
    line-height: 38px;
    padding: 50px 36px 46px;
    border: 1px solid #bfbfbf;
}

.text-caption {
    font-size: 16px;
    line-height: 22px;
    color: #888;
    margin-top: 10px;
}
.text-caption01 {
    font-size: 16px;
    line-height: 22px;
    color: #fff;
    margin-top: 10px;
}
.text-caption02 {
    font-size: 16px;
    line-height: 22px;
    color: #888;
    margin: 10px 0 20px;
    text-align: center;
}

/* modal */
.modal-popup {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.modal-popup:after {
    content: "";
    background-color: rgba(0, 0, 0, 0.6);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.modal-popup-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
}
.modal-popup-content {
    background-color: #fff;
    padding: 60px 40px;
    position: relative;
    z-index: 1;
    width: 800px;
    height: auto;
    margin-top: 60px;
}

.modal-title {
    text-align: center;
    font-size: 36px;
    line-height: 46px;
    font-weight: bold;
}

.modal-popup-texts {
    max-height: 48vh;
    overflow-y: auto;
    border: 1px solid #eee;
    font-size: 18px;
    line-height: 26px;
    margin-top: 60px;
    padding: 40px;
}

.modal-popup-texts > ul,
.modal-popup-texts > ol {
    margin: 40px 0;
    padding-left: 22px;
}

.modal-popup-texts li ol,
.modal-popup-texts li ul {
    margin: 20px 0;
    padding-left: 20px;
}

.modal-popup-texts .list-style-none {
    list-style: none;
    padding-left: 0;
}

.modal-popup-texts li .list-style-none {
    margin-left: 24px;
}

.modal-popup-texts h2 {
    font-size: 24px;
    line-height: 34px;
    font-weight: 500;
    margin-top: 40px;
    margin-bottom: 10px;
}

.modal-popup-texts h2:first-child {
    margin-top: 0;
}

.modal-popup-texts h3 {
    font-size: 22px;
    line-height: 32px;
    font-weight: 500;
    margin-top: 20px;
    margin-bottom: 10px;
}

.modal-popup-texts h3:first-child {
    margin-top: 0;
}
.modal-checkbox {
    display: flex;
    margin-top: 10px;
}

.modal-checkbox label {
    font-size: 16px;
}

.modal-checkbox label span {
    display: block;
    margin-top: 5px;
    color: #888
}

.modal-checkbox input {
    margin-right: 8px;
    width: 18px;
    height: 18px;
}

.modal-form {
    display: flex;
    margin: 60px 0 80px;
}

.modal-form-field {
    flex: 1;
    display: flex;
    align-items: center;
}

.modal-form-field + .modal-form-field {
    margin-left: 40px;
}

.modal-form-field label {
    flex: none;
    font-size: 22px;
    line-height: 28px;
    font-weight: bold;
    margin-right: 10px;
    width: 100px;
}
.modal-form-field input {
    flex: 1;
    height: 52px;
    border: 1px solid #9E9E9E;
    padding: 0 16px;
    width: 100%;
    box-sizing: border-box;
}

.modal-form-field textarea {
    flex: 1;
    height: 250px;
    border: 1px solid #9E9E9E;
    padding: 16px;
}

.modal-bottom {
    margin-top: 80px;
    text-align: center;
}

.modal-bottom button {
    width: 200px;
    height: 52px;
    line-height: 50px;
    background: #000;
    color: #fff;
    font-weight: 500;
}
.btn-modal-close {
    display: block;
    position: absolute;
    right: 40px;
    top: 30px;
    width: 48px;
    height: 48px;
    background-position: center center;
    background-image: url("../images/btn-modal-close.svg");
    cursor: pointer;
    background-size: 48px;
    background-repeat: no-repeat;
}
/* 팝업 디자인 개선 - 구독 / 구독취소 / 아이디어 제안 공통 */
#newsletter .modal-popup-content,
#newsletter02 .modal-popup-content,
#messageSend .modal-popup-content {
    width: 600px;
    max-width: calc(100% - 40px);
    max-height: 90vh;
    overflow-y: auto;
    padding: 42px 36px 36px;
    margin-top: 0;
    box-sizing: border-box;

    border-radius: 24px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.7);
}

/* 배경 어둡기 조금 부드럽게 */
#newsletter.modal-popup:after,
#newsletter02.modal-popup:after,
#messageSend.modal-popup:after {
    background-color: rgba(0, 0, 0, 0.45);
    backdrop-filter: blur(3px);
}

/* 제목 */
#newsletter .modal-title,
#newsletter02 .modal-title,
#messageSend .modal-title {
    font-size: 30px;
    line-height: 38px;
    font-weight: 700;
    text-align: center;
    letter-spacing: -0.04em;
    color: #111;
    margin-bottom: 0;
}

/* 제목 밑 포인트 라인 */
#newsletter .modal-title:after,
#newsletter02 .modal-title:after,
#messageSend .modal-title:after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: #111;
    border-radius: 999px;
    margin: 18px auto 0;
}

/* 입력폼 영역 */
#newsletter .modal-form,
#newsletter02 .modal-form,
#messageSend .modal-form {
    margin: 34px 0 34px;
    gap: 18px;
}

#newsletter .modal-form-field,
#newsletter02 .modal-form-field,
#messageSend .modal-form-field {
    align-items: center;
}

#newsletter .modal-form-field + .modal-form-field,
#newsletter02 .modal-form-field + .modal-form-field,
#messageSend .modal-form-field + .modal-form-field {
    margin-left: 24px;
}

#newsletter .modal-form-field label,
#newsletter02 .modal-form-field label,
#messageSend .modal-form-field label {
    width: 64px;
    font-size: 17px;
    line-height: 24px;
    font-weight: 700;
    color: #222;
}

#newsletter .modal-form-field input,
#newsletter02 .modal-form-field input,
#messageSend .modal-form-field input,
#messageSend .modal-form-field textarea {
    border: 1px solid #ddd;
    border-radius: 12px;
    background: #fafafa;
    font-size: 16px;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

#newsletter .modal-form-field input,
#newsletter02 .modal-form-field input,
#messageSend .modal-form-field input {
    height: 46px;
    padding: 0 14px;
}

#messageSend .modal-form-field textarea {
    height: 130px;
    padding: 14px;
    resize: none;
}

/* 입력창 클릭했을 때 */
#newsletter .modal-form-field input:focus,
#newsletter02 .modal-form-field input:focus,
#messageSend .modal-form-field input:focus,
#messageSend .modal-form-field textarea:focus {
    outline: none;
    border-color: #111;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.06);
}

/* 개인정보 박스 */
#newsletter .modal-popup-texts,
#newsletter02 .modal-popup-texts,
#messageSend .modal-popup-texts {
    max-height: 30vh;
    margin-top: 28px;
    padding: 24px;
    border: 1px solid #eee;
    border-radius: 18px;
    background: #fafafa;
    font-size: 15px;
    line-height: 23px;
    color: #444;
}

#newsletter .modal-popup-texts h2,
#newsletter02 .modal-popup-texts h2,
#messageSend .modal-popup-texts h2 {
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    margin-top: 22px;
    margin-bottom: 8px;
    color: #111;
}

/* 체크박스 영역 */
#newsletter .modal-checkbox,
#newsletter02 .modal-checkbox,
#messageSend .modal-checkbox {
    margin-top: 16px;
    align-items: flex-start;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    padding: 14px 16px;
}

#newsletter .modal-checkbox input,
#newsletter02 .modal-checkbox input,
#messageSend .modal-checkbox input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #111;
}

#newsletter .modal-checkbox label,
#newsletter02 .modal-checkbox label,
#messageSend .modal-checkbox label {
    font-size: 15px;
    line-height: 21px;
    font-weight: 600;
    color: #222;
}

#newsletter .modal-checkbox label span,
#newsletter02 .modal-checkbox label span,
#messageSend .modal-checkbox label span {
    font-size: 13px;
    line-height: 19px;
    font-weight: 400;
    color: #888;
}

/* 버튼 */
#newsletter .modal-bottom,
#newsletter02 .modal-bottom,
#messageSend .modal-bottom {
    margin-top: 34px;
}

#newsletter .modal-bottom button,
#newsletter02 .modal-bottom button,
#messageSend .modal-bottom button {
    width: 180px;
    height: 48px;
    line-height: 46px;
    border-radius: 999px;
    background: #111;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    transition: all 0.2s ease;
}

#newsletter .modal-bottom button:hover,
#newsletter02 .modal-bottom button:hover,
#messageSend .modal-bottom button:hover {
    background: #333;
    transform: translateY(-2px);
}

/* 닫기 버튼 */
#newsletter .btn-modal-close,
#newsletter02 .btn-modal-close,
#messageSend .btn-modal-close {
    right: 22px;
    top: 20px;
    width: 38px;
    height: 38px;
    background-size: 18px;
    background-color: #f5f5f5;
    border-radius: 50%;
    transition: all 0.2s ease;
}

#newsletter .btn-modal-close:hover,
#newsletter02 .btn-modal-close:hover,
#messageSend .btn-modal-close:hover {
    background-color: #e9e9e9;
    transform: rotate(90deg);
}

/* 아이디어 제안 팝업 설명문 */
#messageSend .modal-title-2 {
    font-size: 18px;
    line-height: 28px;
    font-weight: 500;
    text-align: center;
    color: #333;
    letter-spacing: -0.03em;
}

/* 아이디어 제안 팝업 - 세로가 짧은 화면 높이 보정 */
#messageSend.modal-popup {
    overflow: hidden;
}

#messageSend .modal-popup-flex {
    height: 100vh;
    height: 100dvh;
    padding: 12px 0;
    box-sizing: border-box;
}

#messageSend .modal-popup-content {
    max-height: calc(100vh - 24px);
    max-height: calc(100dvh - 24px);
    overscroll-behavior: contain;
}

/* 노트북 등 세로 900px 이하 화면 */
@media screen and (min-width: 781px) and (max-height: 900px) {
    #messageSend .modal-popup-content {
        padding: 26px 32px 22px;
    }

    #messageSend .modal-title {
        font-size: 25px;
        line-height: 32px;
    }

    #messageSend .modal-title:after {
        margin-top: 10px;
    }

    #messageSend .modal-title-2 {
        margin-top: 10px;
        font-size: 16px;
        line-height: 24px;
    }

    #messageSend .modal-guide > br:first-child {
        display: none;
    }

    #messageSend .modal-popup-texts {
        max-height: 120px;
        margin-top: 14px;
        padding: 15px 18px;
        font-size: 14px;
        line-height: 21px;
    }

    #messageSend .modal-popup-texts h2 {
        margin-top: 12px;
        margin-bottom: 4px;
        font-size: 16px;
        line-height: 23px;
    }

    #messageSend .modal-checkbox {
        margin-top: 10px;
        padding: 10px 12px;
    }

    #messageSend .modal-form {
        margin: 14px 0;
        gap: 14px;
    }

    #messageSend .modal-form-field input {
        height: 42px;
    }

    #messageSend .modal-form-field textarea {
        height: 80px;
        min-height: 80px;
    }

    #messageSend .modal-bottom {
        margin-top: 14px;
    }

    #messageSend .modal-bottom button {
        height: 44px;
        line-height: 42px;
    }
}

/* 세로 760px 이하 화면은 한 번 더 축소 */
@media screen and (min-width: 781px) and (max-height: 760px) {
    #messageSend .modal-popup-content {
        padding-top: 20px;
        padding-bottom: 18px;
    }

    #messageSend .modal-popup-texts {
        max-height: 90px;
    }

    #messageSend .modal-form {
        margin: 10px 0;
    }

    #messageSend .modal-form-field textarea {
        height: 65px;
        min-height: 65px;
    }

    #messageSend .modal-bottom {
        margin-top: 10px;
    }
}

/* 모바일 팝업 하단 여백 + 입력창 길이 수정 */
@media screen and (max-width: 780px) {
    #newsletter.modal-popup,
    #newsletter02.modal-popup,
    #messageSend.modal-popup {
        overflow-y: auto;
    }

    #newsletter .modal-popup-flex,
    #newsletter02 .modal-popup-flex,
    #messageSend .modal-popup-flex {
        height: auto;
        min-height: 100vh;
        min-height: 100dvh;
        align-items: flex-start;
        justify-content: center;
        padding: 16px;
        box-sizing: border-box;
    }

    #newsletter .modal-popup-content,
    #newsletter02 .modal-popup-content,
    #messageSend .modal-popup-content {
        width: 100%;
        max-width: 100%;
        height: auto !important;
        min-height: 0 !important;
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
        overflow-y: auto;
        margin: 0 auto;
        padding: 40px 20px 22px;
        box-sizing: border-box;
    }

    #newsletter .modal-title,
    #newsletter02 .modal-title,
    #messageSend .modal-title {
        font-size: 22px;
        line-height: 30px;
        padding: 0 34px;
        word-break: keep-all;
    }

    /* 입력폼 */
    #newsletter .modal-form,
    #newsletter02 .modal-form,
    #messageSend .modal-form {
        display: block !important;
        width: 100%;
        margin: 24px 0;
        text-align: left;
    }

    #newsletter .modal-form-field,
    #newsletter02 .modal-form-field,
    #messageSend .modal-form-field {
        display: flex !important;
        align-items: center;
        width: 100%;
        box-sizing: border-box;
        text-align: left;
    }

    #newsletter .modal-form-field + .modal-form-field,
    #newsletter02 .modal-form-field + .modal-form-field,
    #messageSend .modal-form-field + .modal-form-field {
        margin-left: 0 !important;
        margin-top: 14px;
    }

    /* 라벨 왼쪽 정렬 */
    #newsletter .modal-form-field label,
    #newsletter02 .modal-form-field label,
    #messageSend .modal-form-field label {
        flex: 0 0 70px;
        width: 70px !important;
        margin: 0 12px 0 0 !important;
        text-align: left;
        font-size: 15px;
        line-height: 22px;
        font-weight: 700;
        box-sizing: border-box;
    }

    /* 입력창 가로 길이 줄이기 */
    #newsletter .modal-form-field input,
    #newsletter02 .modal-form-field input,
    #messageSend .modal-form-field input {
        flex: 0 1 340px;
        width: calc(100% - 130px) !important;
        max-width: 340px;
        height: 42px;
        box-sizing: border-box;
    }

    #messageSend .modal-form-field textarea {
        flex: 0 1 340px;
        width: calc(100% - 130px) !important;
        max-width: 340px;
        height: 90px;
        box-sizing: border-box;
    }

    /* 개인정보 박스 */
    #newsletter .modal-popup-texts,
    #newsletter02 .modal-popup-texts,
    #messageSend .modal-popup-texts {
        max-height: 24vh;
        margin-top: 18px;
        padding: 16px;
        font-size: 13px;
        line-height: 21px;
        box-sizing: border-box;
    }

    #newsletter .modal-popup-texts h2,
    #newsletter02 .modal-popup-texts h2,
    #messageSend .modal-popup-texts h2 {
        font-size: 16px;
        line-height: 24px;
    }

    /* 체크박스 */
    #newsletter .modal-checkbox,
    #newsletter02 .modal-checkbox,
    #messageSend .modal-checkbox {
        margin-top: 14px;
        padding: 12px 14px;
        box-sizing: border-box;
    }

    #newsletter .modal-checkbox label,
    #newsletter02 .modal-checkbox label,
    #messageSend .modal-checkbox label {
        font-size: 13px;
        line-height: 19px;
    }

    #newsletter .modal-checkbox label span,
    #newsletter02 .modal-checkbox label span,
    #messageSend .modal-checkbox label span {
        font-size: 12px;
        line-height: 18px;
    }

    /* 하단 버튼 */
    #newsletter .modal-bottom,
    #newsletter02 .modal-bottom,
    #messageSend .modal-bottom {
        margin-top: 20px;
        margin-bottom: 0;
        padding-bottom: 0;
        position: relative;
    }

    #newsletter .modal-bottom button,
    #newsletter02 .modal-bottom button,
    #messageSend .modal-bottom button {
        display: block;
        width: 100%;
        max-width: 100%;
        height: 46px;
        line-height: 44px;
        box-sizing: border-box;
    }

    /* 닫기 버튼 */
    #newsletter .btn-modal-close,
    #newsletter02 .btn-modal-close,
    #messageSend .btn-modal-close {
        right: 14px;
        top: 14px;
        width: 34px;
        height: 34px;
        background-size: 15px;
    }

    /* 아이디어 제안 팝업 설명문 */
    #messageSend .modal-title-2 {
        font-size: 15px;
        line-height: 23px;
        text-align: left;
        word-break: keep-all;
    }

    #messageSend .modal-guide {
        margin-top: 18px;
    }
}
/* =========================================
   개인정보처리방침 팝업 전용 디자인
   대상: #popupPrivacy
========================================= */

#popupPrivacy.modal-popup {
    z-index: 9999;
}

#popupPrivacy.modal-popup:after {
    background-color: rgba(0, 0, 0, 0.48);
    backdrop-filter: blur(3px);
}

#popupPrivacy .modal-popup-flex {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100vh;
    padding: 40px 20px;
    box-sizing: border-box;
}

#popupPrivacy .modal-popup-content {
    width: 760px;
    max-width: 100%;
    max-height: calc(100vh - 80px);
    margin-top: 0;
    padding: 46px 42px 38px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 26px;
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.3);
    overflow: hidden;
	font-family: 'noto', sans-serif !important;
}

/* 제목 */
#popupPrivacy .modal-title {
    position: relative;
    margin: 0;
    padding: 0 60px;
    text-align: center;
    font-size: 32px;
    line-height: 42px;
    font-weight: 800;
    letter-spacing: -0.04em;
    color: #111;
}

#popupPrivacy .modal-title:after {
    content: "";
    display: block;
    width: 44px;
    height: 3px;
    margin: 18px auto 0;
    border-radius: 999px;
    background: #111;
}

/* 내용 박스 */
#popupPrivacy .modal-popup-texts {
    max-height: calc(100vh - 250px);
    overflow-y: auto;
    margin-top: 34px;
    padding: 30px;
    box-sizing: border-box;
    border: 1px solid #eee;
    border-radius: 20px;
    background: #fafafa;
    font-size: 16px;
    line-height: 1.8;
    color: #444;
    word-break: keep-all;
}

/* 스크롤바 */
#popupPrivacy .modal-popup-texts::-webkit-scrollbar {
    width: 8px;
}

#popupPrivacy .modal-popup-texts::-webkit-scrollbar-track {
    background: transparent;
}

#popupPrivacy .modal-popup-texts::-webkit-scrollbar-thumb {
    background: #cfcfcf;
    border-radius: 999px;
}

/* 소제목 */
#popupPrivacy .modal-popup-texts h2 {
    margin: 34px 0 12px;
    padding-left: 14px;
    border-left: 4px solid #111;
    font-size: 20px;
    line-height: 30px;
    font-weight: 800;
    color: #111;
    letter-spacing: -0.03em;
}

#popupPrivacy .modal-popup-texts h2:first-child {
    margin-top: 0;
}

/* 리스트 */
#popupPrivacy .modal-popup-texts ol,
#popupPrivacy .modal-popup-texts ul {
    margin: 14px 0 22px;
    padding-left: 0;
}

#popupPrivacy .modal-popup-texts li {
    margin-top: 6px;
    color: #444;
}

/* 기존 inline padding 보정 */
#popupPrivacy .modal-popup-texts li[style*="padding-left"] {
    padding-left: 16px !important;
}

/* 닫기 버튼 */
#popupPrivacy .btn-modal-close {
    position: absolute;
    right: 24px;
    top: 22px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background-color: #f5f5f5;
    background-size: 17px;
    background-position: center;
    background-repeat: no-repeat;
    transition: all 0.2s ease;
}

#popupPrivacy .btn-modal-close:hover {
    background-color: #e9e9e9;
    transform: rotate(90deg);
}

/* =========================================
   모바일
========================================= */
@media screen and (max-width: 780px) {
    #popupPrivacy.modal-popup {
        overflow-y: auto;
    }

    #popupPrivacy .modal-popup-flex {
        height: auto;
        min-height: 100vh;
        min-height: 100dvh;
        align-items: flex-start;
        padding: 16px;
        box-sizing: border-box;
    }

    #popupPrivacy .modal-popup-content {
        width: 100%;
        max-width: 100%;
        max-height: calc(100vh - 32px);
        max-height: calc(100dvh - 32px);
        margin: 0 auto;
        padding: 40px 18px 22px;
        border-radius: 22px;
        overflow: hidden;
        box-sizing: border-box;
    }

    #popupPrivacy .modal-title {
        padding: 0 42px;
        font-size: 24px;
        line-height: 32px;
        word-break: keep-all;
    }

    #popupPrivacy .modal-title:after {
        width: 38px;
        height: 3px;
        margin-top: 14px;
    }

    #popupPrivacy .modal-popup-texts {
        max-height: calc(100vh - 150px);
        max-height: calc(100dvh - 150px);
        margin-top: 24px;
        padding: 20px 18px;
        border-radius: 16px;
        font-size: 14px;
        line-height: 1.75;
    }

    #popupPrivacy .modal-popup-texts h2 {
        margin: 28px 0 10px;
        padding-left: 12px;
        border-left-width: 3px;
        font-size: 17px;
        line-height: 26px;
    }

    #popupPrivacy .modal-popup-texts li[style*="padding-left"] {
        padding-left: 12px !important;
    }

    #popupPrivacy .btn-modal-close {
        right: 14px;
        top: 14px;
        width: 34px;
        height: 34px;
        background-size: 15px;
    }
}
.sub-text-wrap-7 {
    margin: 100px 0;
}

.sub-text-wrap-7 .list {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    border: 10px solid #2ba0c2;
    border-radius: 50px;
    padding: 0 65px 80px;
    box-sizing: border-box;
}

.sub-text-wrap-7 .list-point-1 {
    display: block;
    position: absolute;
    background-color: #2ba0c2;
    width: 70px;
    height: 120px;
    top: 0px;
    right: 0px;
    border-bottom-left-radius: 30px;
    border-top-right-radius: 30px;
}

.sub-text-wrap-7 .list-point-2 {
    display: block;
    position: absolute;
    background-color: #2ba0c2;
    width: 190px;
    height: 46px;
    bottom: 0px;
    left: 0px;
    border-bottom-left-radius: 30px;
    border-top-right-radius: 30px;
}

.sub-text-wrap-7 .list-point-3 {
    display: block;
    position: absolute;
    background-color: #2ba0c2;
    width: 78px;
    height: 28px;
    top: 410px;
    right: -10px;
    border-radius: 14px;
}

.sub-text-wrap-7 .list-point-4 {
    display: block;
    position: absolute;
    background-color: #2ba0c2;
    width: 78px;
    height: 28px;
    bottom: 334px;
    right: -10px;
    border-radius: 14px;
}

.sub-text-wrap-7 .list-point-5 {
    display: block;
    position: absolute;
    background-color: #2ba0c2;
    width: 78px;
    height: 28px;
    top: 50%;
    left: -10px;
    transform: translateY(-50%);
    border-radius: 14px;
}

.sub-text-wrap-7 .item {
    position: relative;
    margin: 48px 35px 0;
    width: calc(50% - 70px);
    border: 10px solid #2ba0c2;
    border-radius: 50px;
    padding: 45px 34px 55px;
    box-sizing: border-box;
    font-family: UNPGothicKS, sans-serif;
}

.sub-text-wrap-7 .image {
    margin: 0 -14px;
}

.sub-text-wrap-7 .image img {
    vertical-align: top;
}
.sub-text-wrap-7 .line {
    display: block;
    height: 10px;
    background-color: #2ba0c2;
    border-radius: 10px;
    margin: 0 -14px;
}

.sub-text-wrap-7 .point {
    position: absolute;
    left: 50%;
    top: -58px;
    transform: translateX(-50%);
    height: 80px;
}

.sub-text-wrap-7 .point:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    display: block;
    width: 10px;
    height: 100%;
    background-color: #2ba0c2;
}

.sub-text-wrap-7 .point:before {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    display: block;
    width: 36px;
    height: 36px;
    border: 10px solid #2ba0c2;
    border-radius: 50%;
    background-color: #fff;
    z-index: 1;
}

.sub-text-wrap-7 .text-1 {
    margin-top: 18px;
    color: #2ba0c2;
    font-size: 30px;
    line-height: 38px;
    text-align: center;
}

.sub-text-wrap-7 .text-2 {
    margin-top: 24px;
    font-size: 24px;
    line-height: 38px;
}

.sub-notice-2 .inner {
    display: flex;
    align-items: center;
    max-width: 1270px;
    margin: 0 auto;
    padding: 60px 30px 80px;
    font-family: UNPGothicKS, sans-serif;
}

.sub-notice-2 .title-1 {
    color: #fffd2e;
    text-align: center;
}

.sub-notice-2 .title-1 p {
    font-size: 40px;
    line-height: 40px;
    font-family: gs, sans-serif;
    font-weight: 500;
}

.sub-notice-2 .title-1 b {
    font-size: 80px;
    display: block;
    margin-top: 5px;
    font-family: gs, sans-serif;
    font-weight: bold;
}

.sub-notice-2 .title-2 {
    color: #fffd2e;
    font-weight: 500;
    font-family: gs, sans-serif;
    font-size: 30px;
    line-height: 38px;
}
.sub-notice-2 .list-inner {
    margin-left: 187px;
    flex: 1;
}

.sub-notice-2 .list {
    margin-top: 30px;
}

.sub-notice-2 .item {
    display: flex;
}

.sub-notice-2 .item + .item {
    margin-top: 22px;
}

.sub-notice-2 .item p {
    display: flex;
    flex: 1;
}

.sub-notice-2 .item p + p {
    margin-left: 30px;
}

.sub-notice-2 .item p span {
    flex: none;
    width: 110px;
    padding: 10px;
    font-size: 24px;
    line-height: 30px;
    color: #2ba0c2;
    text-align: center;
    border-radius: 40px;
    background-color: #fff;
    align-self: start;
    font-weight: bold;
}

.sub-notice-2 .item p em {
    padding: 10px;
    font-size: 24px;
    line-height: 30px;
    font-style: normal;
}

.common-title-1 {
    font-size: 103px;
    line-height: 116px;
    margin: 90px 0;
    color: #343633;
    font-family: HakgyoansimMoheomgaR, sans-serif;
}

.image-text-flex-2 {
    display: flex;
}

.image-text-flex-2 .image {
    flex: 1;
}

.image-text-flex-2 .sub-text-wrap-2 {
    flex: 1;
    margin-left: 70px;
    padding: 0;
}

.image-text-flex-2 .sub-text-wrap-2 .image {
    margin-bottom: 70px;
    width: 64%;
}

.image-text-flex-3 {
    display: flex;
}

.image-text-flex-3 img {
    vertical-align: top;
    width: 100%;
    height: 100%;
}

.image-text-flex-3 .group {
    display: flex;
    width: 33.34%;
    flex-direction: column;
}

.image-text-flex-3 .group > div {
    flex: none;
    overflow: hidden;
    height: 423px;
    box-sizing: border-box;
}

.image-text-flex-3 .text-box-1 {
    background-color: #343633;
    font-family: gs, sans-serif;
    font-weight: 300;
    font-size: 90px;
    line-height: 100px;
    color: #d8ff00;
    padding: 36px;
}
.image-text-flex-3 .text-box-2 {
    display: flex;
    align-items: flex-end;
    padding: 42px;
    background-color: #d8ff00;
    font-family: gs, sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 35px;
}

.sub-text-wrap-8 {
    margin: 50px 0;
}

.sub-text-wrap-8 .title-1 {
    margin-bottom: 130px;
    text-align: center;
    font-size: 95px;
    line-height: 130px;
    color: #343633;
    font-family: UNPGothicKS, sans-serif;
}

.sub-text-wrap-8 .title-1 span {
    display: block;
}

.sub-text-wrap-8 .title-1 span img {
    width: 123px;
    height: auto;
}

.sub-text-wrap-8 .title-1 span:first-child {
    margin-bottom: 42px;
}

.sub-text-wrap-8 .title-1 span:last-child {
    margin-top: 42px;
}

.sub-text-wrap-8 .text-box .text-1 {
    font-size: 25px;
    line-height: 38px;

    color: #0e23a4;
    background-color: #fff;
    padding: 10px 75px 10px 10px;
    min-height: 76px;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    border-radius: 60px;
    font-family: CookieRun, sans-serif;
}

.sub-text-wrap-8 .text-box .text-1.next-line {
    padding-left: 82px;
}

.sub-text-wrap-8 .text-box .text-1 + .text-1 {
    margin-top: 5px;
}

.sub-text-wrap-8 .text-box .text-1 span {
    flex: none;
    line-height: 56px;
    width: 56px;
    height: 56px;
    color: #fff;
    margin-right: 16px;
    text-align: center;
    background-color: #0e23a4;
    border-radius: 50%;
}

.sub-text-wrap-8 .text-box .text-1 + .text-2 {
    margin-top: 26px;
}

.sub-text-wrap-8 .text-box .text-2 {
    font-size: 24px;
    line-height: 38px;
}

.sub-text-wrap-8 .text-box .text-2 + .text-2 {
    margin-top: 26px;
}

.sub-text-wrap-8 .list {
    display: flex;
    align-items: flex-start;
    margin: 150px 0;
}

.sub-text-wrap-8 .list .item {
    text-align: center;
    border: 1px solid #898989;
    box-shadow: 7px 7px 0px #898989;
}
.sub-text-wrap-8 .list .item + .item {
    margin-left: 20px;
}

.sub-text-wrap-8 .list .item:nth-child(even) {
    margin-top: 90px;
}

.sub-text-wrap-8 .item-text-box {
    padding: 8px 36px 36px;
}

.sub-text-wrap-8 .item-text-box .text-1 {
    font-weight: bold;
    color: #0e23a4;
    font-size: 30px;
    line-height: 38px;
}
.sub-text-wrap-8 .item-text-box .text-2 {
    font-weight: bold;
    color: #262825;
    font-size: 20px;
    line-height: 28px;
    margin-top: 6px;
}

.sub-text-wrap-8 .item-text-box .line {
    display: inline-block;
    margin: 10px 0;
    width: 60px;
    height: 9px;
    background-color: #d8ff00;
}

.sub-text-wrap-8 .item-text-box .text-3 {
    font-size: 18px;
    line-height: 25px;
    color: #262825;
}

.text-list-1 {
    margin: 130px 0;
    background-color: #262825;
    color: #fff;
}

.text-list-1 .inner {
    display: flex;
    flex-wrap: wrap;
    width: 1400px;
    margin: 0 auto;
    padding: 36px 0;
}

.text-list-1 .item {
    display: flex;
    margin: 8px 22px;
    width: calc(50% - 44px);
}

.text-list-1 .item p {
    font-size: 30px;
    line-height: 45px;
    font-weight: 500;
    min-height: 35px;
    padding-top: 12px
}
.text-list-1 .item .badge {
    flex: none;
    font-size: 35px;
    line-height: 35px;
    color: #d8ff00;
    border: 3px solid #d8ff00;
    border-radius: 40px;
    padding: 16px;
    width: 234px;
    text-align: center;
    margin-right: 27px;
    align-self: flex-start;
    box-sizing: border-box;
}

.image-text-flex-4 {
    margin: 100px 0;
}

.image-text-flex-4 .list {
    display: flex;
}

.image-text-flex-4 .list .item + .item {
    margin-left: 6px;
}

.image-text-flex-4 img {
    vertical-align: top;
}

.image-text-flex-4 .image-text-caption {
    width: 1270px;
    padding: 0 154px;
}

.image-text-caption {
    color: #343633;
    font-size: 18px;
    line-height: 24px;
    margin: 14px auto 0;
    box-sizing: border-box;
    text-align: center;
}

.image-text-flex-5 .image-text-caption {
    padding: 0 90px;
}

.image-text-flex-5 {
    margin: 20px 0;
}

.image-text-flex-5 .list {
    display: flex;
}
.image-text-flex-5 .list .item {
    width: 50%;
}

.image-text-flex-5 img {
    vertical-align: top;
}

.image-text-flex-5 .list .item + .item {
    text-align: right;
}

.text-bubble-box {
    text-align: right;
}

.text-bubble-box + .text-bubble-box {
    margin-top: 40px;
}

.text-bubble-box .bubble {
    position: relative;
    padding: 55px 70px;
    background-color: #eeeef0;
    font-size: 25px;
    line-height: 42px;

    color: #0e23a4;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: CookieRun, sans-serif;
}

.text-bubble-box .bubble:after {
    content: "";
    position: absolute;
    right:-3px;
    bottom: -20px;
    border-color: transparent transparent transparent #eeeef0;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(-42deg);
}

.text-bubble-box .badge {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 0 20px;
    border-radius: 50px;
    line-height: 55px;
    text-align: center;
    color: #fff;
    background-color: #343633;
    box-sizing: border-box;
    margin-top: 30px;
    font-size: 20px;

    font-family: CookieRun, sans-serif;
}
.text-bubble-box02 {
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.text-bubble-box02 + .text-bubble-box02 {
    margin-top: 40px;
}

.text-bubble-box02 .bubble02 {
    position: relative;
    padding: 55px 70px;
    background-color: #eeeef0;
    font-size: 30px;
    line-height: 42px;

    color: #006666;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: KyoboHandwriting2019, sans-serif;
}

.text-bubble-box02 .bubble02:after {
    content: "";
    position: absolute;
    right: -16px;
    bottom: 100px;
    border-color: transparent transparent transparent #eeeef0;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(130deg);
}

.text-bubble-box02 .badge02 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 0 20px;
    border-radius: 50px;
    line-height: 55px;
    text-align: center;
    color: #fff;
    background-color: #006666;
    box-sizing: border-box;
    margin-top: 10px;
    font-size: 20px;

    font-family: KyoboHandwriting2019, sans-serif;
}
.text-bubble-box03 {
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.text-bubble-box03 + .text-bubble-box03 {
    margin-top: 40px;
}

.text-bubble-box03 .bubble03 {
    position: relative;
    padding: 55px 70px;
    background-color: #eeeef0;
    font-size: 30px;
    line-height: 42px;

    color: #835acf;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: KyoboHandwriting2019, sans-serif;
}

.text-bubble-box03 .bubble03:after {
    content: "";
    position: absolute;
    right: -16px;
    bottom: 100px;
    border-color: transparent transparent transparent #eeeef0;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(130deg);
}

.text-bubble-box03 .badge03 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 0 20px;
    border-radius: 50px;
    line-height: 55px;
    text-align: center;
    color: #fff;
    background-color: #835acf;
    box-sizing: border-box;
    margin-top: 10px;
    font-size: 20px;

    font-family: KyoboHandwriting2019, sans-serif;
}
.text-bubble-box03 .badge004 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 20px 20px;
    border-radius: 20px;
    line-height: 20px;
    text-align: center;
    color: #fff;
    background-color: #835acf;
    box-sizing: border-box;
    margin-top: 10px;
    font-size: 20px;
    font-family: KyoboHandwriting2019, sans-serif;
}
.text-bubble-box03 .badge005 {
    display: inline-block;
    min-width: 140px;
    height: 50px;
    padding: 15px 40px;
    border-radius: 20px;
    line-height: 22px;
    text-align: center;
    color: #fff;
    background-color: #835acf;.ask
box-sizing: border-box;
    margin-top: 10px;
    font-size: 20px;
    font-family: KyoboHandwriting2019, sans-serif;
}
.text-bubble-box010 {
    text-align: right;
    display: flex;
    flex-direction: row;
    align-items: center;
}

.text-bubble-box010 + .text-bubble-box010 {
    margin-top: 40px;
}

.text-bubble-box010 .bubble010 {
    position: relative;
    padding: 55px 70px;
    background-color: #eeeef0;
    font-size: 30px;
    line-height: 42px;

    color: #2ba0c2;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: KyoboHandwriting2019, sans-serif;
}

.text-bubble-box010 .bubble010:after {
    content: "";
    position: absolute;
    right: -16px;
    bottom: 100px;
    border-color: transparent transparent transparent #eeeef0;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(130deg);
}

.text-bubble-box010 .badge010 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 0 20px;
    border-radius: 50px;
    line-height: 55px;
    text-align: center;
    color: #fff;
    background-color: #2ba0c2;
    box-sizing: border-box;
    margin-top: 10px;
    font-size: 20px;

    font-family: KyoboHandwriting2019, sans-serif;
}
.text-bubble-box010 .badge011 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 10px 20px;
    border-radius: 50px;
    line-height:20px;
    text-align: center;
    color: #fff;
    background-color: #2ba0c2;
    box-sizing: border-box;
    margin-top: 10px;
    font-size: 20px;

    font-family: KyoboHandwriting2019, sans-serif;
}
.text-bubble-box .bubble_blue {
    position: relative;
    padding: 55px 70px;
    background-color: #2ba0c2;
    font-size: 25px;
    line-height: 42px;

    color: #fff;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: CookieRun, sans-serif;
}

.text-bubble-box .bubble_blue:after {
    content: "";
    position: absolute;
    right:-2.5px;
    bottom: -20px;
    border-color: transparent transparent transparent #2ba0c2;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(-42deg);
}
.text-bubble-box .bubble_red {
    position: relative;
    padding: 55px 70px;
    background-color: #f26969;
    font-size: 25px;
    line-height: 42px;
    font-weight: bold;
    color: #fff;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: NanumSquare, sans-serif;
}

.text-bubble-box .bubble_red:after {
    content: "";
    position: absolute;
    right:-2.5px;
    bottom: -20px;
    border-color: transparent transparent transparent #f26969;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(-42deg);
}
.text-bubble-box .bubble_purple {
    position: relative;
    padding: 55px 70px;
    background-color: #835acf;
    font-size: 25px;
    line-height: 42px;
    font-weight: bold;
    color: #fff;
    border-radius: 20px;
    border-bottom-right-radius: 0 !important;
    margin-right: 52px;
    text-align: left;
    font-family: CookieRun, sans-serif;
}

.text-bubble-box .bubble_purple:after {
    content: "";
    position: absolute;
    right:-2.5px;
    bottom: -20px;
    border-color: transparent transparent transparent #835acf;
    border-style: solid;
    border-width: 20px 0 20px 20px;
    height: 0;
    width: 0;
    transform: rotate(-42deg);
}
.text-bubble-box .badge03 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 0 20px;
    border-radius: 50px;
    line-height: 55px;
    text-align: center;
    color: #f26969;

    border: 3px solid #f26969;
    box-sizing: border-box;
    margin-top: 30px;
    font-weight: bold;
    font-family: NanumSquare, sans-serif;
}
.text-bubble-box .badge02 {
    display: inline-block;
    min-width: 240px;
    height: 55px;
    padding: 0 20px;
    border-radius: 50px;
    line-height: 55px;
    text-align: center;
    color: #2ba0c2;

    border: 3px solid #2ba0c2;
    box-sizing: border-box;
    margin-top: 30px;
    font-size: 20px;

    font-family: CookieRun, sans-serif;
}
.map-area {
    position: relative;
    max-width: 1616px;
    margin: 0 auto;
    background-image: url('../images/img-gmap-map.png');
    background-repeat: no-repeat;
    background-size: 100% auto;
    height: 734px;
    box-sizing: border-box;
}

.map-area .title {
    padding: 50px;
    font-size: 58px;
    font-weight: bold;
    font-family: gs, sans-serif;
}

.map-list a {
    position: absolute;
    display: inline-block;
    width: 134px;
    height: 160px;
    transition: .3s;
}

.map-list a:hover {
    transform: scale(1.05);
}

.map-item-1 {top:140px; left:25px}
.map-item-2 {bottom:70px; left:350px}
.map-item-3 {top:65px;left: 774px;}
.map-item-4 {top: 290px;left: 1007px;}
.map-item-5 {top:285px; right:241px}
.map-item-6 {top: 195px;right: 65px}
.map-item-7 {top:353px; right:23px}

.map-search {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0 50px;
}
.map-search .text {
    color: #9f9f9f;
    font-size: 30px;
    margin-right: 20px;
    font-family: gs, sans-serif;
    font-weight: 500;
}
.map-search:after {
    content: "";
    display: block;
    clear: both;
}
.map-select {
    height: 70px;
    width: 340px;
    border-radius: 60px;
    line-height: 68px;
    padding: 0 60px;
    box-sizing: border-box;
    color: #013d86;
    font-weight: bold;
    font-size: 25px;
    box-shadow: 4px 2px 4px rgba(0, 0, 0, 0.2);
}

.map-select .current {
    text-overflow: ellipsis;
    overflow: hidden;
    display: block;
}

.map-select:after {
    display: none;
}
.map-select:before {
    content: "";
    position: absolute;
    right: 34px;
    top: 23px;
    width: 23px;
    height: 22px;
    background-image: url("../images/img-gmap-select-arrow.png");
    background-size: 23px auto;
    transition: transform .2s;
}

.map-select.open:before {
    transform: rotate(180deg);
}

.map-select .list {
    color: #000;
    width: 100%;
    margin-top: 20px;
}

.map-select .list .option {
    padding: 20px 60px 15px;
    min-height: auto;
    line-height: 1.5em;
    white-space: normal;
}

.map-link-list {
    display: none;
    text-align: center;
}

.map-link-list.is-active {
    display: block;
}

.map-link-list .item {
    height: 310px;
    position: relative;
    display: flex;
    padding: 20px;
    border-radius: 12px;
    border: 1px solid #e3e3e3;
    box-shadow: 6px 0 16px rgba(0, 0, 0, 0.1);
    box-sizing: border-box;
}

.map-link-list .item:hover:after {
    opacity: 1;
}

.map-link-list .item:after {
    content:"";
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 8px solid #00bfab;
    border-radius: 12px;
    transition: opacity .2s;
}
.map-link-list .item + .item {
    margin-top: 30px;
}

.map-link-list .item .image {
    flex: none;
    width: 414px;
    border-radius: 12px;
    overflow: hidden;
}

.map-link-list .item .image img {
    height: 100%;
    width: auto;
    vertical-align: top;
}

.map-link-list .item .text-box {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    text-align: left;
    padding: 25px 35px;
    flex: 1;
}

.map-link-list .item .text-box .title {
    font-size: 30px;
    line-height: 53px;
    font-weight: bold;
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.map-link-list .tag-list {
    display: flex;
}

.map-link-list .tag-list span {
    height: 46px;
    line-height: 48px;
    min-width: 160px;
    text-align: center;
    border: 1px solid #e1e1e1;
    /*padding: 0 36px;*/
    border-radius: 40px;
    font-weight: 300;
    font-size: 16px;
    font-family: gs, sans-serif;
    box-sizing: border-box;
}

.map-link-list .tag-list span:before {
    content:"#";
}

.map-link-list .tag-list span + span {
    margin-left: 14px;
}

.map-btn-more {
    display: inline-block;
    margin-top: 60px;
    font-size: 28px;
    text-align: center;
    height: 68px;
    line-height: 66px;
    padding: 0 60px;
    border: 1px solid #a5a5a5;
    border-radius: 60px;
    box-shadow: 6px 0 10px rgba(0, 0, 0, 0.2);
}

.sub-video-block {
    position: relative;
    padding-bottom: 614px;
}

.sub-video-block iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.sub-text-wrap-9 {
    margin-top: 110px;
}

.sub-text-wrap-9 .title-1 {
    position: relative;
    text-align: center;
    font-size: 60px;
    line-height: 70px;
    padding: 40px 20px;
    font-family: gs, sans-serif;
    font-weight: bold;
    border: 6px solid #343633;
    border-radius: 40px;
}

.sub-text-wrap-9 .title-1:after {
    content: "";
    display: block;
    position: absolute;
    left: 55px;
    bottom: -55px;
    width: 74px;
    height: 74px;
    background-image:url('../images/img-dongsang-imong-2.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
}

.sub-text-wrap-9 .title-1 strong {
    color: #6134b4;
}

.sub-text-wrap-9 .title-2 {
    margin-top: 50px;
    font-size: 40px;
    line-height: 60px;
    text-align: center;
    font-family: gs, sans-serif;
    font-weight: bold;
}

.sub-text-wrap-9 .title-2 b {
    color: #6134b4;
}
.sub-text-wrap-9 .title-2 u {
    padding: 0 12px;
    text-decoration: none;
    border-bottom: 3px solid #d8ff00;
}

.sub-text-wrap-9 .list {
    column-count: 2;
    padding: 180px 0 100px;
    margin: 70px -66px 0;
    border-top: 6px dashed #000;
}

.sub-text-wrap-9 .item {
    margin: 0 66px;
}

.sub-text-wrap-9 .item:not(:first-child) {
    padding-top: 140px;
}

.sub-text-wrap-9 .item .text-1 {
    display: flex;
}
.sub-text-wrap-9 .item .text-1 .icon {
    flex: none;
    width: 80px;
    height: 80px;
    margin-right: 12px;
}
.sub-text-wrap-9 .item .text-1 .text {
    font-size: 28px;
    line-height: 38px;
    padding: 22px 38px 20px;
    color: #d8ff00;
    background-color: #6134b4;
    border-radius: 40px;
    box-sizing: border-box;
}

.sub-text-wrap-9 .item .text-2 {
    text-align: center;
    margin-top: 20px;
    border-radius: 20px;
    background-color: #eeeef0;
    overflow: hidden;
}
.sub-text-wrap-9 .item .text-2-1 {
    background-color: #6134b4;
    color: #d8ff00;
    font-size: 35px;
    line-height: 40px;
    padding: 42px 20px 90px;
    font-weight: bold;
}

.sub-text-wrap-9 .item .image {
    display: block;
    margin: -70px auto 0;
    width: 250px;
    height: 250px;
    overflow: hidden;
    border-radius: 70px;
}

.sub-text-wrap-9 .item .image img {
    width: 100%;
    height: 100%;
}

.sub-text-wrap-9 .item .text-2-2 {
    display: inline-block;
    color: #fff;
    padding: 12px 36px 10px;
    background-color: #6134b4;
    margin-top: 20px;
    font-size: 28px;
    line-height: 38px;
    font-weight: bold;
}

.sub-text-wrap-9 .item .text-2-3 {
    font-size: 28px;
    line-height: 38px;
    font-weight: bold;
    color: #343633;
    margin-top: 12px;
    padding: 0 100px 53px;
}

.sub-text-wrap-10 {
    position:relative;
    background-color: #eeeef0;
    padding: 90px 0;
    margin: 100px 0 200px;
}

.sub-text-wrap-10 .title {
    display: flex;
    align-items: center;
    padding: 50px 55px 45px;
    background-color: #fff;
    border-radius: 200px;
    font-size: 30px;
    line-height: 45px;
    font-weight: bold;
    box-shadow: 12px 12px 0 rgba(0,0,0,0.17);
}

.sub-text-wrap-10 .title .image {
    margin-right: 60px;
    width: 99px;
}
.sub-text-wrap-10 .list {
    margin-top: 70px;
}

.sub-text-wrap-10 .item {
    display: flex;
    align-items: center;
    padding-right: 370px;
}

.sub-text-wrap-10 .item:nth-child(even) {
    flex-direction: row-reverse;
    padding-left: 370px;
    padding-right: 0;
}

.sub-text-wrap-10 .item .image {
    flex: none;
    width: 136px;
    height: 136px;
    border-radius: 50%;
    background-color: #af9ad6;
    overflow: hidden;
    margin-right: 40px;
}

.sub-text-wrap-10 .item:nth-child(even) .image {
    margin-left: 40px;
    margin-right: 0;
}

.sub-text-wrap-10 .item + .item {
    margin-top: 32px;
}

.sub-text-wrap-10 .item .image img {
    width: 100%;
    height: 100%;
}

.sub-text-wrap-10 .item .text-1 {
    color:#6134b4;
    font-weight: bold;
    font-size: 25px;
    line-height: 32px;
}

.sub-text-wrap-10 .item:nth-child(even) .text-1 {
    text-align: right;
}

.sub-text-wrap-10 .item .text-2 {
    position: relative;
    font-weight: bold;
    font-size: 25px;
    line-height: 32px;
    padding: 30px 46px;
    margin-top: 12px;
    background-color: #fff;
    box-shadow: 4px 4px 0 #af9ad6;
    border-radius: 24px;
    border: 4px solid #af9ad6;
}

.sub-text-wrap-10 .item .text-2:before {
    content: "";
    position: absolute;
    left: -31px;
    top: 17px;
    width: 31px;
    height: 25px;
    background-image: url('../images/img-dongsang-imong-arrow-1.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
}

.sub-text-wrap-10 .item:nth-child(even) .text-2:before {
    content: "";
    position: absolute;
    right: -33px;
    left: auto;
    top: 17px;
    width: 34px;
    height: 27px;
    background-image: url('../images/img-dongsang-imong-arrow-2.png');
}

.sub-text-wrap-10 .item .text-2:after {
    border-color: rgba(255, 255, 255, 0);
    border-left-color: #af9ad6;
    top: 50%;
    margin-top: -10px;
    border-width: 10px;
}

.sub-text-wrap-11 {
    padding: 100px 50px 100px;
    /*border-top: 6px dashed #000;*/
}

.sub-text-wrap-11 .title {
    position: relative;
    text-align: left;
    font-size: 25px;
    line-height: 30px;
    padding: 40px 40px;
    font-family: NanumSquare, sans-serif;
    font-weight: bold;
    background-image: url('../images/bg_spring.png');
    border: 1px solid #ccc;
    border-radius: 25px;
}
.sub-text-wrap-11 .title p {

    font-size: 20px;
    line-height: 30px;

    font-family: NanumSquare, sans-serif;


}

.sub-text-wrap-11 .title:after {
    content: "";
    display: block;
    position: absolute;
    right: 55px;
    top: -52px;
    width: 74px;
    height: 74px;
    background-image:url('../images/img-dongsang-imong-8.png');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 100%;
}

.sub-text-wrap-11 .list {
    margin-top: 26px;
}

.sub-text-wrap-11 .item {
    padding: 43px 60px 40px 200px;
    border-radius: 25px;
    border: 6px solid #343633;
    font-size: 40px;
    line-height: 60px;
    color: #343633;
    font-weight: bold;
    font-family: gs, sans-serif;
    background-image:url('../images/img-dongsang-imong-9-black.png');
    background-repeat: no-repeat;
    background-position: 65px center;
    background-size: 74px 74px;
}

.sub-text-wrap-11 .item + .item {
    margin-top: 12px;
}

.sub-text-wrap-11 .item.white {
    background-color: #343633;
    color: #fff;
    background-image:url('../images/img-dongsang-imong-9.png');
}

.sub-text-wrap-12 .text-box-1 {
    position: relative;
    padding-left: 380px;
    margin-bottom: -125px;
    z-index: 2;
}

.sub-text-wrap-12 .text-box-1 .text-1 {
    position: absolute;
    left: 0;
    top: 100px;
    text-align: left;
}
.sub-text-wrap-12 .text-box-1 .text-1 span {
    display: inline-block;
    font-size: 28px;
    line-height: 54px;
    color: #fff;
    font-weight: 500;
    background-color: #1273eb94;
    padding: 0 24px;
}

.sub-text-wrap-12 .text-box-1 .text-1 span {
    margin-top: 12px;
}

.sub-text-wrap-12 .text-box-1 .image img {
    vertical-align: top;
    width: 100%;
    height: auto;
}

.sub-text-wrap-12 .text-box-2 {
    position: relative;
    z-index: 1;
    display: flex;
}

.sub-text-wrap-12 .text-box-2 .text-1 {
    padding: 175px 28px 0 47px;
    font-size: 20px;
    line-height: 30px;
    color: #8b8b8b;
}

.sub-text-wrap-12 .text-box-2 .image-2 {
    display: block;
    text-align: right;
    margin-top: 70px;
}

.sub-text-wrap-12 .text-box-2 .image-2 img {
    width: 123px;
}

.image-text-flex-6 {
    margin-top: 420px;
    background-color: #e6f6f4;
    margin-bottom: 200px;
}

.image-text-flex-6 .list {
    display: flex;
}
.image-text-flex-6 .list .text {
    flex: none;
    width: 273px;
    padding: 36px 20px 0 0;
    font-size: 20px;
    line-height: 30px;
    color: #8b8b8b;
}

.image-text-flex-6 .list .image:nth-child(2) {
    margin-top: -265px;
}

.image-text-flex-6 .list .image:nth-child(3) {
    margin-top: -144px;
}

.image-text-flex-6 .list .image:nth-child(4) {
    margin-top: -400px;
}

.image-text-flex-6 .list .image + .image {
    margin-left: 15px;
}


.image-text-flex-6 .sub-text-wrap-2 {
    padding-left: 273px;
}

.sub-notice-3 {
    display: flex;
}

.sub-notice-3 .text-box-1 {
    flex: 1;
    padding: 90px;
    background-color: #00bfab;
    box-sizing: border-box;
}

.sub-notice-3 .text-box-1 .text {
    position: relative;
    text-align: center;
    padding: 60px 70px;
    border-radius: 36px;
    background-color: #00a594;
    color: #fff;
    margin-top: 74px;
}

.sub-notice-3 .text-box-1 .text strong {
    font-size: 31px;
    line-height: 37px;
    font-weight: bold;
}

.sub-notice-3 .text-box-1 .text p {
    font-size: 24px;
    line-height: 37px;
    margin-top: 16px;
    font-weight: 300;
}

.sub-notice-3 .text-box-1 .point {
    position: absolute;
    left: -11px;
    top: -34px;
}

.sub-notice-3 .text-box-2 {
    flex: 1;
    box-sizing: border-box;
    padding: 110px 90px 60px;
    background-color: #14c3c9;
}

.sub-notice-3 .text-box-2 .text-1 {
    display: inline-block;
    font-size: 28px;
    line-height: 30px;
    padding: 12px 30px 10px;
    border-radius: 30px;
    font-weight: bold;
    color: #07a7ad;
    background-color: #fff;
}

.sub-notice-3 .text-box-2 .text-2 {
    color: #fff;
    font-size: 25px;
    line-height: 35px;
    font-weight: 500;
    margin-top: 16px;
}

.sub-notice-3 .text-box-2 .text-2 + .text-1 {
    margin-top: 24px;
}

.sub-notice-3 .text-box-2 .text-2.has-background {
    display: flex;
}

.sub-notice-3 .text-box-2 .text-2 .point {
    flex: none;
    width: 285px;
    margin: 0 -50px
}

.modal-search {
    display: none;
    position: fixed;
    width: 100%;
    height: calc(100vh - 70px);
    left: 0;
    top: 70px;
    border-top: 5px solid #7bf32f;
    background: #fff;
    z-index: 9
}

.modal-search.is-active {
    display: block;
}

.search-bar-container .inner,
.search-keyword-wrap .inner {
    width: 1080px;
    margin: 0 auto;
}
.modal-search .dim {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
}

.search-bar-container {
    position: relative;
    background-color: #003984;
    z-index: 1;
}

.search-bar-container .inner {
    display: flex;
    padding: 48px 60px;
}

.search-bar {
    flex: 1;
    display: flex;
   
    background: #fff;
    overflow: hidden;
}

.search-bar input:focus {
    border: 0;
    outline: none;
}
.search-bar input::placeholder {
    color: #999;
}
.search-bar input {
   flex: 1;
    height: 48px;
    line-height: 48px;
    padding: 0 28px;
    box-sizing: border-box;
    font-size: 24px;
    font-weight: 500;
    font-family: gs, sans-serif;
    background: transparent;
    border: 0;
}
.search-bar-container button img{ width: 30px;}
.btn-keyword-delete {
  width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #7bf32f;
    margin-left: 12px;
}
.search-bar .btn-keyword-search {
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.search-keyword-wrap {
    position: relative;
    z-index: 1;
    background: #fff;
    padding: 60px 0 70px;
}
.search-keyword-wrap .inner {
    display: flex;
}

.search-keyword-wrap .title {
    font-size: 30px;
    line-height: 56px;
    font-weight: bold;
    font-family: gs, sans-serif;
}

.search-keyword-box-1 {
    flex: 1;
}
.search-keyword-box-1 .sub-tag-list {
    text-align: left;
    margin: 0 -6px;
    max-width: 100%;
}
.search-keyword-box-2 {
    border-left: 1px solid #c7c7c7;
    padding-left: 80px;
    margin-left: 80px;
    box-sizing: border-box;
    width: 440px;
}

.search-keyword-box-2 .title  {
    margin-bottom: 18px;
}

.search-keyword-box-2 a {
    display: flex;
}

.search-keyword-box-2 a:hover em {
    font-weight: normal;
}

.search-keyword-box-2 span {
    flex: none;
    width: 20px;
    font-size: 30px;
    line-height: 60px;
    font-weight: bold;
    font-family: gs, sans-serif;
    color: #ff8400;
    margin-right: 20px;
}

.search-keyword-box-2 em {
    font-size: 25px;
    line-height: 60px;
    font-family: gs, sans-serif;
    font-style: normal;
    font-weight: 300;
}

.search-result-title {
    border-top: 5px solid #7bf32f;
    padding: 86px 0 73px;
    text-align: center;
    font-size: 50px;
    line-height: 56px;
    font-family: gs, sans-serif;
    font-style: normal;
    font-weight: bold;
}

.search-result-text {
    max-width: 1270px;
    margin: 0 auto;
    padding: 80px 0 40px;
    text-align: center;
    font-size: 30px;
    line-height: 56px;
    font-family: gs, sans-serif;
    font-style: normal;
    font-weight: 500;
    border-bottom: 1px solid #c7c7c7;
}
.search-result-text + .sub-list-wrap {
    padding-top: 36px;
}
@media screen and (min-width: 781px) and (max-width: 1920px) {
    .content-inner {
        padding: 4.771vw 2.125vw 1.5vw;
    }

    .content-title {
        margin-bottom: 2vw;
        font-size: 2vw;
    }
    .col-list .inner + .inner {
        margin-left: 3.229vw;
    }

    .col-list .list-item:hover .image {
        border-radius: 1.25vw 1.25vw 0px;
    }

    .col-list .list-item + .list-item {
        margin-top: 5.208vw;
    }

    .col-list .text-box {
        margin-top: 1.2vw;
    }

    .col-list .text-box .text-1 {
        width: 5vw;
        height: 2.5vw;
        font-size: 0.7vw;
        line-height: 0.9vw;
        margin-right: 0.625vw;
    }

    .col-list .text-box .text-1::after {
        height: 1px;
        top: -0.313vw;
        margin-left: 0.521vw;
    }
    .col-list .text-box .text-2 {
        font-size: 1.1vw;
        line-height: 1.5vw;
        letter-spacing: -0.8px;
    }

    .col-list .text-box .text-3 {
        font-size: 0.6vw;
        line-height: 0.9vw;
        margin-top: 0.573vw;
    }

    .col-list .text-tags {
        margin-top: 0.8vw;
    }

    .col-list .text-tags span {
        padding: 0px 0.633vw;
        border-radius: 1.875vw;
        height: 1.7vw;
        line-height: 1.7vw;
        font-size: 0.5vw;
        margin-right: 0.16vw;
        margin-bottom: 0.313vw;
    }

    .col-list-2 .inner + .inner {
        margin-left: 2.125vw;
    }

    .col-list-2 .list-item + .list-item {
        margin-top: 2.125vw;
    }

    .col-list-2 .text-box {
        padding: 1vw;
    }

    .col-list-2 .text-box .text-1 {
        padding-bottom: 0.417vw;
        font-size: 0.7vw;
    }

    .col-list-2 .text-box .text-2 {
        font-size: 0.9vw;
        line-height: 1.2vw;
        margin-top: 0.9vw;
    }

    .col-list-2 .text-box .text-3 {
        font-size: 0.885vw;
        line-height: 1.358vw;
        margin-top: 1.363vw;
    }

    .col-list-2 .text-tags {
        margin-top: 1.302vw;
    }

    .col-list-2 .text-tags span {
        padding: 0px 0.533vw;
        border-radius: 1.875vw;
        height: 1.4vw;
        line-height: 1.6vw;
        font-size: 0.6vw;
        margin-right: 0.16vw;
        margin-bottom: 0.313vw;
    }

    .content-event {
        margin-top: 4.417vw;
    }
    .content-event .content-inner {
        padding: 2.771vw 2.125vw 4.771vw
    }

    .content-event .list .event-slider {
        width: calc(50% - 1.563vw);
        margin-right: 1.563vw;
    }

    .content-event .list .event-slider .slick-dots {
        margin: 0.781vw 0;
    }
    .content-event .list .event-slider .slick-dots button {
        width: 1.042vw;
        height: 1.042vw;
        border-radius: 1.042vw;
        margin: 0 0.365vw;
        text-indent: -999px;
    }
    .content-event .list .event-slider .slick-active button {
        width: 3.125vw;
    }

    .content-event .list > a {
        width: calc(50% - 1.563vw);
    }

    .content-event .list > a + a {
        margin-left: 2.188vw;
    }

    .content-event .list > a img {
        height: 100%;
        max-height: 100%;
    }

    .content-sns .inner {
        display: flex;
    }

    .content-sns .video {
        width: 55.531vw;
        height: 30.333vw;
        max-width: 954px;
    }

    .content-sns .video > div:first-child {
        flex: 1 1 0%;
        height: 30.475vw;
    }

    .content-sns .video iframe {
        top: 50%;
        width: 100%;
        height: 100%;
    }

    .content-sns .links {
        margin-left: 4.688vw;
        height:30.469vw;
    }
    .content-sns .links .image {
        margin-right: 1.042vw;
        width: 11vw;
    }

    .content-sns .links .text {
        font-size: 0.938vw;
        line-height: 1.354vw;
    }
    .thumbnail.selected .image img {
        border: 5px solid #00FF00; /* 형광색 테두리 */
        box-shadow: 0 0 10px #00FF00; /* 형광색 그림자 */
    }
    .content-sns .sns {

        padding: 2.604vw;
    }

    .content-sns .sns a img {
        width: 2.438vw;
        height: 2.438vw;
    }

    .content-sns .sns a + a {
        margin-left: 2.083vw;
    }

    .content-sns .links a + a {
        margin-top: 1.83vw;
    }

    .content-sns .tag-list {
        margin-top: 1.042vw;
    }

    .content-sns .tag-list span {
        padding: 0px 0.833vw;
        border-radius: 1.875vw;
        height: 1.775vw;
        line-height: 1.979vw;
        font-size: 0.885vw;
    }

    .content-sns .tag-list span + span {
        margin-left: 0.521vw;
    }

    .video-container {
        margin: 30px auto;
        text-align: center;
    }

    .video-container video {
        width: 100%;
        max-width: 800px;
        height: auto;
        margin: 0px auto;
    }
    .text-bubble-box010 .bubble010 {
        position: relative;
        padding: 35px 30px;
        background-color: #eeeef0;
        font-size: 24px;
        line-height: 32px;
        color: #2ba0c2;
        border-radius: 20px;
        border-bottom-right-radius: 0 !important;
        margin-right: 52px;

    }


    /* sub */
    .sub-header-type1 {
        padding: 2.083vw 0 1.354vw;
    }

    .sub-header-type1 .title-2 {
        font-size: 2.083vw;
        line-height: 2.76vw;
        padding-top: 2.344vw;
        margin-top: 1.771vw;
    }

    .sub-header-type1 .title-2 .size-1 {
        font-size: 2.083vw;
        line-height: 2.76vw;
    }

    .sub-header-type1 .title-2 .size-2 {
        font-size: 2.865vw;
        line-height: 3.385vw;
    }

    .sub-header-type1 .title-3 {
        font-size: 0.781vw;
        line-height: 1.25vw;
        margin-top: 3.333vw;
    }

    .sub-header-type1.color-type-2 .title-3 {
        margin-top: 2.344vw;
    }

    .sub-header-type1 .title-3 .bl {
        margin: 0 1.25vw;
    }

    .title-image-1 img {
        height: 2.448vw;
    }

    .sub-sns {
        margin: 2.083vw 0 0.708vw;
    }

    .sub-sns .emotion b {
        font-family: 'noto', sans-serif;
        font-size: 0.938vw;
        vertical-align: -0.104vw;
    }
    .sub-sns .emotion img {
        width: 2.083vw;
        height: 1.875vw;
    }

    .sub-sns .btn-share {
        width: 3.073vw;
        height: 3.073vw;
    }

    .sub-sns .btn-copy {
        width: 3.073vw;
        height: 3.073vw;
    }

    .sub-sns .emotion {
        padding: 0.469vw 4.688vw;
        border-radius: 2.604vw;
        margin-right: 0.521vw;
        font-size: 0.729vw;
    }

    .sub-sns .emotion button + button {
        margin-left: 1.042vw;
    }

    .sub-sns .btn-share {
        margin-right: 0.521vw;
    }

    .sub-sns img {
        vertical-align: -0.469vw;
    }

    .sub-inner {
        max-width: 66.146vw;
        margin: 0 auto;
    }

    .sub-inner-2 {
        max-width: 78.125vw;
        margin: 0 auto;
    }

    .sub-image-slider-1 {
        max-width: 78.125vw;
        margin: 0 auto 5.625vw;
        padding: 0 6.042vw;
    }

    .sub-image-slider-1 .slick-dots {
        margin: 0.99vw 0 0;
    }
    .sub-image-slider-1 .slick-dots button {
        width: 1.094vw;
        height: 1.094vw;
        border-radius: 1.094vw;
        margin: 0 0.26vw;
        overflow: hidden;
        transition: .2s;
        cursor: pointer;
    }
    .sub-image-slider-1 .slick-active button {
        width: 3.385vw;
    }
    .sub-image-slider-1 .slick-arrow {
        top: 50%;
        width: 2.813vw;
        height: 4.792vw;
        margin-top: -2.396vw;
        background-size: 2.813vw 4.792vw;
    }

    .sub-image-slider-1 .slick-prev {
        left: 1.667vw;
    }

    .sub-image-slider-1 .slick-next {
        right: 1.667vw;
    }

    .text-type-1 {
        font-size: 1.25vw;
        line-height: 1.979vw;
    }

    .text-type-1 .text-1 + .text-1 {
        margin-top: 2.604vw;
    }

    .common-tooltip-text {
        left: -0.104vw;
        top: 1.458vw;
        font-size: 0.938vw;
        line-height: 1.354vw;
        width: 16.042vw;
        min-height: 6.771vw;
        padding: 1.25vw 2.604vw 1.25vw 0.781vw;
    }

    .common-tooltip-text-close {
        right: 0.521vw;
        top: 0.521vw;
    }

    .common-tooltip-text-close {
        width: 0.833vw;
    }

    .sub-tag-list {

        margin: 5.021vw auto;
        padding-top:0px;
    }
    .sub-tag-list a {
        min-width: 8.333vw;
        height: 2.5vw;
        line-height: 2.708vw;
        border-radius: 2.5vw;
        font-size: 1.146vw;
        padding: 0 1.458vw;
        margin: 1.146vw 0.313vw 0;
    }

    .sub-container + .content-sns .sns {
        margin-top: 2.604vw;
    }

    .title-image-1 {

        height: 2.448vw;
    }

    .title-image-2 img {
        width: auto;
        height: 3.594vw;
    }

    .title-image-3 img {
        width: auto;
        height: 2.656vw;
    }

    .sub-text-wrap-1 {
        padding: 7.813vw 0 9.115vw;
    }
    .sub-text-wrap-1 .title-1 {
        font-size: 1.875vw;
        line-height: 2.083vw;
        padding-bottom: 1.042vw;
        border-bottom: 0.156vw solid #000;
        width: 32.688vw;
        margin: 0 auto;
    }
    .sub-text-wrap-1 .title-2 {
        font-size: 3.125vw;
        line-height: 4.063vw;
        margin-top: 1.875vw;
    }
    .sub-text-wrap-1 .text-1 {
        margin-top: 4.167vw;
        font-size: 1.458vw;
        line-height: 1.979vw;
    }
    .sub-text-wrap-1 .text-2 {
        font-size: 1.667vw;
        line-height: 2.188vw;
        margin-top: 2.604vw;
    }

    .sub-text-wrap-1 .text-2 span {
        padding: 0.104vw 1.875vw;
    }

    .sub-text-wrap-1 .text-2 span + span {
        margin-top: 0.417vw;
    }

    .sub-text-wrap-2 {padding: 5.833vw 0 6.667vw}
    .sub-text-wrap-2.type-padding-left {padding-left: 11.458vw}
    .sub-text-wrap-2.type-padding-left-2 {padding-left: 17.188vw}
    .sub-text-wrap-2.type-padding-left-3 {padding-left: 5.625vw; padding-right: 5.625vw}
    .sub-text-wrap-2.type-padding-right {padding-right: 11.458vw}
    .sub-text-wrap-2 .title-1 {
        font-size: 1.563vw;
        line-height: 2.604vw;
        margin-bottom: 2.083vw;
    }
    .sub-text-wrap-2 .text-1 {
        font-size: 1.25vw;
        line-height: 1.979vw;
    }
    .sub-text-wrap-2 .text-1 + .text-1 {margin-top: 2.344vw}
    .sub-text-wrap-2 .text-1 + .title-1 {
        margin-top: 4.427vw;
    }

    .sub-text-wrap-2 .text-background {
        font-size: 1.563vw;
        line-height: 2.344vw;
        padding: 3.125vw;
        margin: 0.625vw 0 2.865vw;
    }
    .sub-text-wrap-2 .text-background02 {
        font-size: 1.563vw;
        line-height: 2.344vw;
        padding: 3.125vw;
        margin: 0.625vw 0 2.865vw;

    }
    .sub-text-wrap-3 {
        font-size: 3.125vw;
        line-height: 4.063vw;
        margin-top: 1.875vw;
    }

    .sub-text-wrap-3 .image-2 {
        font-size: 1.25vw;
        line-height: 1.823vw;
    }

    .sub-text-wrap-3 .image-2 img {
        width: 7.396vw;
        height: 7.5vw;
    }

    .sub-text-wrap-3 .title {
        padding-left: 17.188vw;
    }
    .sub-text-wrap-3 .title .text-1 {
        font-size: 1.875vw;
        line-height: 2.083vw;
        padding-bottom: 1.042vw;
        border-bottom: 0.156vw solid #000;
        width: 39.063vw;
    }
    .sub-text-wrap-3.color-type-2 .title .text-1 {
        width: 31.875vw;
    }
    .sub-text-wrap-3 .title .text-2 {
        margin-top: 1.563vw;
    }
    .sub-text-wrap-3 .inner {
        margin-top: 3.385vw;
        padding-left: 17.188vw;
    }
    .sub-text-wrap-3.align-right .inner {
        padding-left: 0;
        padding-right: 17.188vw;
    }

    .sub-text-wrap-3 .text-box {
        bottom: 2.604vw;
        padding: 2.344vw 2.865vw;
        width: 35.677vw;
    }
    .sub-text-wrap-3 .text-box .title-1 {
        font-size: 1.563vw;
        line-height: 2.5vw;
    }

    .sub-text-wrap-3 .text-box .text-1 {
        margin-top: 0.833vw;
        font-size: 1.354vw;
        line-height: 2.5vw;
    }
    .sub-text-wrap-3 .text-box .text-2 {
        margin-top: 2.865vw;
        font-size: 1.354vw;
        line-height: 2.5vw;
    }

    .sub-text-wrap-3 .text-box .text-2 + .title-1 {
        margin-top: 2.604vw;
    }

    .sub-text-wrap-3 .text-box .title-1 + .text-2 {
        margin-top: 0.521vw;
    }

    .sns-banner-block {
        margin-top: 7.292vw;
        padding: 3.385vw 0;
    }

    .sns-banner-block .sns-image img {
        width: 5.469vw;
        height: 3.802vw;
    }
    .sns-banner-block .text {
        margin-left: 2.604vw;
        font-size: 1.458vw;
        line-height: 2.188vw;
    }

    .sub-header-type2 {
        max-width: 100vw;
    }

    .sub-header-type2 .image {width: 50vw;}
    .sub-header-type2 .inner {
        padding: 3vw 3vw 3vw;
        max-width: 40vw;
    }
    .sub-header-type2.color-type-5 .inner {
        max-width: 30vw;
    }
    .sub-header-type2 .title-1 {
        font-size: 1.146vw;
        line-height: 1.823vw;
    }
    .sub-header-type2 .title-2 {
        margin-top: 0.677vw;
        font-size: 1.8vw;
        line-height: 2.5vw;
    }
    .sub-header-type2 .title-5 {
        margin-top: 0.677vw;
        font-size: 1.4vw;
        line-height: 1.9vw;
    }

    .sub-header-type2 .title-2 .size-large {
        font-size: 2.865vw;
        line-height: 3.385vw;
    }

    .sub-header-type2 .title-3 {
        margin-top: 2.604vw;
        padding-top: 2.604vw;
        font-size: 1.146vw;
        line-height: 1.563vw;
    }

    .sub-header-type2.color-type-8 .title-3 {
        line-height: 1.8vw;
    }

    .sub-header-type2 .title-3 em {
        font-size: 0.781vw;
        line-height: 1.979vw;
        margin-top: 0.625vw;
        font-style: normal;
    }

    .sub-notice {
        margin-top: 4.948vw;
        padding: 2.344vw 5.208vw 2.865vw 26.927vw;
        margin-bottom: -11.979vw;
    }

    .sub-notice .image {
        margin: 3.125vw 0;
    }

    .size-m {
        max-width: 17.708vw;
    }
    .size-sm {
        max-width: 12.708vw;
        margin: 10px 0 0;
    }
    .text-caption {
        font-size: 0.833vw;
        line-height: 1.146vw;
        margin-top: 0.521vw;
    }
    .text-caption02 {
        font-size: 0.833vw;
        line-height: 1.146vw;
        margin-top: 0.521vw;
    }
    .sub-notice.align-center {
        padding: 4.167vw 15.625vw 4.167vw;
    }
    .sub-notice .title,
    .sub-notice .title-1 {
        font-size: 1.563vw;
        line-height: 1.979vw;
    }

    .sub-notice .title-1.size-large {
        text-align: center;
        font-size: 2.188vw;
        line-height: 2.708vw;
    }

    .sub-notice .title-1 + .title {
        margin-top: 3.125vw;
    }

    .sub-notice .text-1 {
        font-size: 1.25vw;
        line-height: 1.563vw;
        margin-top: 1.042vw;
    }

    .sub-text-wrap-4 {
        margin: 1.563vw 0 11.979vw;
    }

    .sub-text-wrap-4.type-center {
        margin: 6.25vw 0;
    }

    .sub-text-wrap-4.type-center .text-box .text-1 {
        margin: 0.521vw 0;
    }

    .sub-text-wrap-4 .image img {
        width: 30.156vw;
        height: auto;
    }
    .sub-text-wrap-4 .text-box {
        margin-left: 3.906vw;
        padding-top: 5.729vw;
    }

    .sub-text-wrap-4 .text-box .text-1 span {
        padding: 0.104vw 0.781vw;
        font-size: 1.146vw;
        line-height: 2.188vw;
    }

    .sub-text-wrap-4 .text-box .image-2 {
        margin-top: 3.729vw;
    }

    .sub-text-wrap-4 .text-box .text-1 + .text-1 {
        margin-top: 0.365vw;
    }

    .sub-text-wrap-4 .text-box .text-2 {
        font-size: 1.25vw;
        line-height: 1.979vw;
        margin-top: 2.448vw;
    }

    .sub-breadcrumb .inner {
        max-width: 66.146vw;
        padding: 2.083vw 0 1.823vw;
        line-height: 1.563vw;
        font-size: 1.302vw;
		margin-bottom: 0;
    }

    .sub-breadcrumb .inner .plus {
        top: -1.042vw;
        font-size: 1.042vw;
    }

    .sub-breadcrumb-depth + .sub-breadcrumb-depth {
        margin-left: 1.458vw;
        padding-left: 2.188vw;
        background-position: 0 0.052vw;
        background-size: 0.677vw 1.146vw;
    }

    .sub-list-wrap {padding: 4.688vw 0 0}
    .sub-list {
        max-width: 66.979vw;
    }

    .sub-list .item {
        width: calc(33.33% - 0.833vw);
        margin: 0 0.417vw;
        box-shadow: 0.313vw 0 0.833vw rgba(0, 0, 0, 0.1);
    }

    .sub-list .item:nth-child(n+4) {
        margin-top: 2.604vw;
    }

    .sub-list .item .image {
        max-height: 11.146vw;
        box-shadow: 0.313vw 0 0.833vw rgba(0, 0, 0, 0.1);
    }

    .sub-list .text-wrap {
        padding: 1.146vw 1.146vw 1.563vw;
    }

    .sub-list .text-wrap .title {
        font-size: 1.302vw;
        line-height: 1.771vw;
        height: 7.292vw;
    }

    .sub-list .tag-list {
        margin-top: 0.833vw;
    }

    .sub-list .tag-list span {
        padding: 0.365vw 0.938vw 0.208vw;
        border-radius: 0.833vw;
        font-size: 0.833vw;
    }

    .sub-list .tag-list span + span {
        margin-left: 0.46vw;
    }

    .sub-list-2 {
        max-width: 68.125vw;
    }
    .sub-list-2 .inner {
        display: flex;
        flex-wrap: wrap;
    }

    .sub-list-2 .item {
        margin: 0 0.99vw;
        /*width: calc(25% - 1.979vw);*/
    }

    .sub-list-2 .item .image {
        height: 15.052vw;
    }

    .sub-list-2 .item .title {
        font-size: 1vw;
        line-height: 1.771vw;
        padding: 1.094vw 0.521vw;
    }

    .sub-list-2 .item:nth-child(n+5) {
        margin-top: 3.958vw;
    }

    .sub-list-indicator span {
        font-size: 1.875vw;
        line-height: 2.813vw;
        padding: 0.677vw 0.521vw;
        border-radius: 2.813vw;
        margin: 0 0.938vw;
        width: 19.792vw;
    }
    .sub-list-indicator {
        margin-bottom: 1.875vw;
    }

    .sub-list-indicator button {
        width:3.021vw;
        height:3.021vw;
        background-position: 1.25vw 0.938vw;
        background-size: auto 0.99vw;
        border-radius: 50%;
    }

    .image-text-flex-1 .text-box {
        font-size: 1.25vw;
        line-height: 1.927vw;
        margin-left: 3.646vw;
    }

    .image-text-flex-1 .text-image + .text-1 {
        margin-top: 6.25vw;
    }

    .image-text-flex-1 .text-1 + .text-1 {
        margin-top: 1.563vw;
    }

    .sns-text-banner-1 {
        background-size: 4.531vw auto;
        background-position: right 3.438vw top;
    }
    .sns-text-banner-1 .inner {
        max-width: 66.146vw;
        padding: 4.167vw 0 4.688vw;
    }

    .sns-text-banner-1 .text-box {
        margin-left: 3.906vw;
        font-size: 1.302vw;
        line-height: 1.823vw;
    }

    .sns-text-banner-1 .text-1 + .text-1 {
        margin-top: 2.083vw;
    }

    .sub-text-wrap-5 {
        margin: 3.646vw 0;
    }
    .sub-text-wrap-5 .title-image {
        margin-bottom: 3.385vw;
    }

    .sub-text-wrap-5 .title {
        font-size: 1.563vw;
        line-height: 1.979vw;
        margin-bottom: 1.302vw;
        min-height: 3.906vw;
    }

    .sub-text-wrap-5 .text-box + .text-box {
        margin-top: 4vw;
    }

    .sub-text-wrap-5 .text-1 {
        font-size: 1.25vw;
        line-height: 1.979vw;
    }

    .sub-text-wrap-5 .text-1 + .text-1 {
        margin-top: 1.563vw;
    }

    .sub-text-wrap-5 .image {
        margin-top: 2.604vw;
    }

    .sub-text-wrap-5 .image + .text-box,
    .sub-text-wrap-5 .image.align-center + .text-box {
        margin-top: 4vw;
    }

    .sub-text-wrap-5 .bl {
        margin-right: 1.042vw;
    }

    .sub-text-wrap-5 .inner {
        padding-top: 0.521vw;
    }

    .sub-text-wrap-5 .dot-box {
        padding: 2.396vw 3.125vw 3.646vw;
        border: 0.26vw dotted #000;
        border-radius: 0.521vw;
    }

    .sub-text-wrap-5 .dot-box + .dot-box {
        margin-top: 1.875vw;
    }

    .sub-text-wrap-5 .bl img {
        width: 4.688vw;
        height: auto;
    }

    .sub-text-wrap-5 .title-image img {
        width: 26.563vw;
    }

    .image-text-flex-1 .image img {
        width: 99%;
    }
    .image-text-flex-1 .text-image img {
        width: 16.771vw;
    }

    .sub-text-wrap-6 {
        margin: 0 -1.146vw;
        margin-top: -7.552vw;
    }

    .sub-text-wrap-6 .text-box {
        width: calc(100% - 2.292vw);
        margin: 0 1.146vw;
        margin-top: 7.552vw;
    }

    .sub-text-wrap-6 .title {
        font-size: 1.823vw;
        line-height: 2.188vw;
        border-top-right-radius: 1.563vw;
        border-top-left-radius: 1.563vw;
        padding: 1.875vw 2.344vw 1.771vw;
        min-height: 8.021vw;
    }

    .sub-text-wrap-6 .inner {
        padding: 1.771vw 1.771vw 3.125vw;
    }

    .sub-text-wrap-6 .inner .image {
        margin-top: 1.771vw
    }

    .sub-text-wrap-6 .text-1 {
        font-size: 1.563vw;
        line-height: 1.979vw;
    }

    .sub-text-wrap-6 .text-2 {
        font-size: 1.458vw;
        line-height: 1.979vw;
        margin-top: 0.417vw;
    }

    .sub-text-wrap-6 .text-3 {
        font-size: 1.25vw;
        line-height: 1.979vw;
        margin-top: 1.458vw;
        padding-top: 1.458vw;
    }

    .sub-text-wrap-6 .text-4 {
        font-size: 1.25vw;
        line-height: 1.979vw;
        padding: 2.604vw 1.875vw 2.396vw;
    }

    .modal-popup-content {
        padding: 3.125vw 2.083vw;
        width: 61.979vw;
        margin-top: 3.125vw;
    }

    .modal-title {
        font-size: 1.875vw;
        line-height: 2.396vw;
    }

    .modal-popup-texts {
        font-size: 0.938vw;
        line-height: 1.354vw;
        margin-top: 3.125vw;
        padding: 2.083vw;
    }

    .modal-popup-texts > ul,
    .modal-popup-texts > ol {
        margin: 2.083vw 0;
        padding-left: 1.146vw;
    }

    .modal-popup-texts li ol,
    .modal-popup-texts li ul {
        margin: 1.042vw 0;
        padding-left: 1.042vw;
    }

    .modal-popup-texts .list-style-none {
        padding-left: 0;
    }

    .modal-popup-texts li .list-style-none {
        margin-left: 1.25vw;
    }

    .modal-popup-texts h2 {
        font-size: 1.25vw;
        line-height: 1.771vw;
        margin-top: 2.083vw;
        margin-bottom: 0.521vw;
    }

    .modal-popup-texts h2:first-child {
        margin-top: 0;
    }

    .modal-popup-texts h3 {
        font-size: 1.146vw;
        line-height: 1.667vw;
        margin-top: 1.042vw;
        margin-bottom: 0.521vw;
    }

    .modal-popup-texts h3:first-child {
        margin-top: 0;
    }

    .btn-modal-close {
        right: 2.083vw;
        top: 1.563vw;
        width: 2.5vw;
        height: 2.5vw;
        background-size: 2.5vw;
    }

    .sub-text-wrap-7 {
        margin: 5.208vw 0;
    }

    .sub-text-wrap-7 .list {
        border-width: 0.521vw;
        border-radius: 2.604vw;
        padding: 0 3.385vw 4.167vw;
    }

    .sub-text-wrap-7 .list-point-1 {
        width: 3.646vw;
        height: 6.25vw;
        border-bottom-left-radius: 1.563vw;
        border-top-right-radius: 1.563vw;
    }

    .sub-text-wrap-7 .list-point-2 {
        width: 9.896vw;
        height: 2.396vw;
        border-bottom-left-radius: 1.563vw;
        border-top-right-radius: 1.563vw;
    }

    .sub-text-wrap-7 .list-point-3 {
        width: 4.063vw;
        height: 1.458vw;
        top: 21.354vw;
        right: -0.521vw;
        border-radius: 0.729vw;
    }

    .sub-text-wrap-7 .list-point-4 {
        width: 4.063vw;
        height: 1.458vw;
        bottom: 17.396vw;
        right: -0.521vw;
        border-radius: 0.729vw;
    }

    .sub-text-wrap-7 .list-point-5 {
        width: 4.063vw;
        height: 1.458vw;
        left: -0.521vw;
        border-radius: 0.729vw;
    }

    .sub-text-wrap-7 .item {
        margin: 2.5vw 1.823vw 0;
        width: calc(50% - 3.646vw);
        border-width: 0.521vw;
        border-radius: 2.604vw;
        padding: 2.344vw 1.771vw 2.865vw;
    }

    .sub-text-wrap-7 .image {
        margin: 0 -0.729vw;
    }

    .sub-text-wrap-7 .line {
        height: 0.521vw;
        border-radius: 0.521vw;
        margin: 0 -0.729vw;
    }

    .sub-text-wrap-7 .point {
        top: -3.021vw;
        height: 4.167vw;
    }

    .sub-text-wrap-7 .point:after {
        width: 0.521vw;
    }

    .sub-text-wrap-7 .point:before {
        width: 1.875vw;
        height: 1.875vw;
        border-width: 0.521vw;
    }

    .sub-text-wrap-7 .text-1 {
        margin-top: 0.938vw;
        font-size: 1.563vw;
        line-height: 1.979vw;
    }

    .sub-text-wrap-7 .text-2 {
        margin-top: 1.25vw;
        font-size: 1.25vw;
        line-height: 1.979vw;
    }

    .sub-notice-2 .inner {
        max-width: 66.146vw;
        padding: 3.125vw 1.563vw 4.167vw;
    }

    .sub-notice-2 .title-1 p {
        font-size: 2.083vw;
        line-height: 2.083vw;
    }

    .sub-notice-2 .title-1 b {
        font-size: 4.167vw;
        margin-top: 0.26vw;
    }

    .sub-notice-2 .title-2 {
        font-size: 1.563vw;
        line-height: 1.979vw;
    }
    .sub-notice-2 .list-inner {
        margin-left: 9.74vw;
    }

    .sub-notice-2 .list {
        margin-top: 1.563vw;
    }

    .sub-notice-2 .item + .item {
        margin-top: 1.146vw;
    }

    .sub-notice-2 .item p + p {
        margin-left: 1.563vw;
    }

    .sub-notice-2 .item p span {
        width: 5.729vw;
        padding: 0.521vw;
        font-size: 1.25vw;
        line-height: 1.563vw;
        border-radius: 2.083vw;
    }

    .sub-notice-2 .item p em {
        padding: 0.521vw;
        font-size: 1.25vw;
        line-height: 1.563vw;
    }

    .common-title-1 {
        font-size: 5.365vw;
        line-height: 6.042vw;
        margin: 4.688vw 0;
    }

    .image-block-4 {
        padding-right: 28.125vw;
    }

    .image-text-flex-3 .group > div {
        height: 22.031vw;
    }

    .image-text-flex-2 .sub-text-wrap-2 {
        margin-left: 3.646vw;
    }

    .image-text-flex-2 .sub-text-wrap-2 .image {
        margin-bottom: 3.646vw;
    }

    .image-text-flex-3 .text-box-1 {
        font-size: 4.5vw;
        line-height: 5.208vw;
        padding: 1.875vw;
    }

    .image-text-flex-3 .text-box-2 {
        padding: 2.188vw;
        font-size: 1.146vw;
        line-height: 1.823vw;
    }

    .sub-text-wrap-8 {
        margin: 6.771vw 0;
    }

    .sub-text-wrap-8 .title-1 {
        margin-bottom: 6.771vw;
        font-size: 4.948vw;
        line-height: 6.771vw;
    }

    .sub-text-wrap-8 .title-1 span {
        display: block;
    }

    .sub-text-wrap-8 .title-1 span img {
        width: 6.406vw;
        height: auto;
    }

    .sub-text-wrap-8 .title-1 span:first-child {
        margin-bottom: 2.188vw;
    }

    .sub-text-wrap-8 .title-1 span:last-child {
        margin-top: 2.188vw;
    }

    .sub-text-wrap-8 .text-box .text-1 {
        font-size:1.563vw;
        line-height: 1.979vw;
        padding: 0.521vw 3.906vw 0.521vw 0.521vw;
        min-height: 3.958vw;
        border-radius: 3.125vw;
    }

    .sub-text-wrap-8 .text-box .text-1.next-line {
        padding-left: 4.271vw;
    }

    .sub-text-wrap-8 .text-box .text-1 + .text-1 {
        margin-top: 0.26vw;
    }

    .sub-text-wrap-8 .text-box .text-1 span {
        width: 2.917vw;
        height: 2.917vw;
        line-height: 2.917vw;
        margin-right: 0.833vw;
    }

    .sub-text-wrap-8 .text-box .text-1 + .text-2 {
        margin-top: 1.354vw;
    }

    .sub-text-wrap-8 .text-box .text-2 {
        font-size: 1.25vw;
        line-height: 1.979vw;
    }

    .sub-text-wrap-8 .text-box .text-2 + .text-2 {
        margin-top: 1.354vw;
    }

    .sub-text-wrap-8 .list {
        margin: 7.813vw 0;
    }

    .sub-text-wrap-8 .list .item {
        box-shadow: 0.365vw 0.365vw 0px #898989;
    }
    .sub-text-wrap-8 .list .item + .item {
        margin-left: 1.042vw;
    }

    .sub-text-wrap-8 .list .item:nth-child(even) {
        margin-top: 4.688vw;
    }

    .sub-text-wrap-8 .item-text-box {
        padding: 0.417vw 1.875vw 1.875vw;
    }

    .sub-text-wrap-8 .item-text-box .text-1 {
        font-size: 1.563vw;
        line-height: 1.979vw;
    }
    .sub-text-wrap-8 .item-text-box .text-2 {
        font-size: 1.042vw;
        line-height: 1.458vw;
        margin-top: 0.313vw;
    }

    .sub-text-wrap-8 .item-text-box .line {
        margin: 0.521vw 0;
        width: 3.125vw;
        height: 0.469vw;
    }

    .sub-text-wrap-8 .item-text-box .text-3 {
        font-size: 0.938vw;
        line-height: 1.302vw;
    }

    .text-list-1 {
        margin: 6.771vw 0;
    }

    .text-list-1 .inner {
        width: 72.917vw;
        padding: 1.875vw 0;
    }

    .text-list-1 .item {
        margin: 0.417vw 1.146vw;
        width: calc(50% - 2.292vw);
    }

    .text-list-1 .item p {
        font-size: 1.563vw;
        line-height: 2.344vw;
        min-height: 1.823vw;
        padding-top: 0.625vw;
    }
    .text-list-1 .item .badge {
        font-size: 1.823vw;
        line-height: 1.823vw;
        border-width: 0.156vw;
        border-radius: 2.083vw;
        padding: 0.733vw 0.833vw 0.833vw;
        width: 12.188vw;
        margin-right: 1.406vw;
    }

    .image-text-flex-4 {
        margin: 5.208vw 0;
    }

    .image-text-flex-4 .list .item + .item {
        margin-left: 0.313vw;
    }

    .image-text-flex-4 .image-text-caption {
        width: 66.146vw;
        padding: 0 8.021vw;
    }

    .image-text-caption {
        font-size: 0.938vw;
        line-height: 1.25vw;
        margin: 0.729vw auto 0;
    }

    .image-text-flex-5 .image-text-caption {
        padding: 0 4.688vw;
    }

    .image-text-flex-5 {
        margin: 1.208vw 0;
    }

    .image-text-flex-5 .list .item + .item {
        margin-left: 0.313vw;
    }

    .text-bubble-box + .text-bubble-box {
        margin-top: 2.083vw;
    }

    .text-bubble-box .bubble {
        padding: 2.865vw 3.646vw;
        font-size: 1.354vw;
        line-height: 2.188vw;
        border-radius: 1.042vw;
        margin-right: 2.708vw;
    }
    .text-bubble-box02 + .text-bubble-box02 {
        margin-top: 2.083vw;
    }

    .text-bubble-box02 .bubble02 {
        padding: 2.865vw 3.646vw;
        font-size: 1.354vw;
        line-height: 2.188vw;
        border-radius: 1.042vw;
        margin-right: 2.708vw;
    }
    .text-bubble-box03 + .text-bubble-box03 {
        margin-top: 2.083vw;
    }

    .text-bubble-box03 .bubble03 {
        padding: 2.865vw 3.646vw;
        font-size: 1.354vw;
        line-height: 2.188vw;
        border-radius: 1.042vw;
        margin-right: 2.708vw;
    }
    .text-bubble-box .bubble:after {
        right:-0.156vw;
        bottom: -1.042vw;
        border-width: 1.042vw 0 1.042vw 1.042vw;
    }

    .text-bubble-box .bubble_blue {
        padding: 2.865vw 3.646vw;
        font-size: 1.354vw;
        line-height: 2.188vw;
        border-radius: 1.042vw;
        margin-right: 2.708vw;
    }

    .text-bubble-box .bubble_blue:after {
        right:-0.156vw;
        bottom: -1.042vw;
        border-width: 1.042vw 0 1.042vw 1.042vw;
    }
    .text-bubble-box .bubble_red {
        padding: 2.865vw 3.646vw;
        font-size: 1.354vw;
        line-height: 2.188vw;
        border-radius: 1.042vw;
        margin-right: 2.708vw;
    }

    .text-bubble-box .bubble_red:after {
        right:-0.156vw;
        bottom: -1.042vw;
        border-width: 1.042vw 0 1.042vw 1.042vw;
    }
    .text-bubble-box .bubble_purple {
        padding: 2.865vw 3.646vw;
        font-size: 1.354vw;
        line-height: 2.188vw;
        border-radius: 1.042vw;
        margin-right: 2.708vw;
    }

    .text-bubble-box .bubble_purple:after {
        right:-0.156vw;
        bottom: -1.042vw;
        border-width: 1.042vw 0 1.042vw 1.042vw;
    }
    .text-bubble-box .badge {
        min-width: 12.5vw;
        height: 2.865vw;
        padding: 0 1.042vw;
        border-radius: 2.604vw;
        line-height: 2.865vw;
        margin-top: 1.563vw;
        font-size: 1.042vw;
    }
    .text-bubble-box02 .badge {
        min-width: 12.5vw;
        height: 2.865vw;
        padding: 0 1.042vw;
        border-radius: 2.604vw;
        line-height: 2.865vw;
        margin-top: 1.563vw;
        font-size: 1.042vw;
    }
    .text-bubble-box .badge02 {
        min-width: 12.5vw;
        height: 2.865vw;
        padding: 0 1.042vw;
        border-radius: 2.604vw;
        line-height: 2.865vw;
        margin-top: 1.563vw;
        font-size: 1.042vw;
    }
    .text-bubble-box .badge03 {
        min-width: 12.5vw;
        height: 2.865vw;
        padding: 0 1.042vw;
        border-radius: 2.604vw;
        line-height: 2.865vw;
        margin-top: 1.563vw;
        font-size: 1.042vw;
    }
    .map-area {
        max-width: 84.167vw;
        height: 38.229vw;
    }

    .map-area .title {
        padding: 2.604vw;
        font-size: 3.021vw;
    }

    .map-list a {
        width: 6.979vw;
        height: 8.333vw;
    }

    .map-item-1 {top:7.292vw; left:1.25vw}
    .map-item-2 {bottom:3.646vw; left:18.229vw}
    .map-item-3 {top:3.385vw;left: 40.313vw;}
    .map-item-4 {top: 15.104vw;left: 52.448vw;}
    .map-item-5 {top:14.844vw; right:12.552vw}
    .map-item-6 {top:10.156vw;right: 3.385vw}
    .map-item-7 {top:18.385vw; right:1.198vw}

    .map-search {
        padding: 1.563vw 0 2.604vw;
    }
    .map-search .text {
        font-size: 1.563vw;
        margin-right: 1.042vw;
    }
    .map-select {
        height: 3.646vw;
        width: 17.708vw;
        border-radius: 3.125vw;
        line-height: 3.542vw;
        padding: 0 3.125vw;
        font-size: 1.563vw;
        box-shadow: 0.208vw 0.104vw 0.208vw rgba(0, 0, 0, 0.2);
    }

    .map-select:before {
        right: 1.771vw;
        top: 1.198vw;
        width: 1.198vw;
        height: 1.146vw;
        background-size: 1.198vw auto;
    }

    .map-select .list {
        margin-top: 1.042vw;
    }

    .map-select .list .option {
        padding: 1.042vw 3.125vw 0.9vw;
    }

    .map-link-list .item {
        height: 16.146vw;
        padding: 1.042vw;
        border-radius: 0.625vw;
        box-shadow: 0.313vw 0 0.833vw rgba(0, 0, 0, 0.1);
    }

    .map-link-list .item:after {
        border-width: 0.417vw;
        border-radius: 0.625vw;
    }
    .map-link-list .item + .item {
        margin-top: 0.625vw;
    }

    .map-link-list .item .image {
        width: 21.563vw;
        border-radius: 0.625vw;
    }
    .map-link-list .item .text-box {
        padding: 1.302vw 1.823vw;
    }

    .map-link-list .item .text-box .title {
        font-size: 1.32vw;
        line-height: 2.76vw;
    }

    .map-link-list .tag-list span {
        height: 2.396vw;
        line-height: 2.5vw;
        min-width: 8.333vw;
        padding: 0 1.875vw;
        border-radius: 2.083vw;
        font-size: 1.146vw;
    }

    .map-link-list .tag-list span + span {
        margin-left: 0.729vw;
    }

    .map-btn-more {
        margin-top: 3.125vw;
        font-size: 1.458vw;
        height: 3.542vw;
        line-height: 3.438vw;
        padding: 0 3.125vw;
        border-radius: 3.125vw;
        box-shadow: 0.313vw 0 0.521vw rgba(0, 0, 0, 0.2);
    }

    .sub-video-block {
        padding-bottom: 37vw;
    }

    .image-block.type-2 {
        margin: 5.729vw 0;
    }

    .sub-text-wrap-9 {
        margin-top: 5.729vw;
    }

    .sub-text-wrap-9 .title-1 {
        font-size: 3.1250vw;
        line-height: 3.6458vw;
        padding: 2.0833vw 1.0417vw;
        border-width: 0.3125vw;
        border-radius: 2.0833vw;
    }

    .sub-text-wrap-9 .title-1:after {
        left: 2.8646vw;
        bottom: -2.8646vw;
        width: 3.8542vw;
        height: 3.8542vw;
    }

    .sub-text-wrap-9 .title-2 {
        margin-top: 2.6042vw;
        font-size: 2.0833vw;
        line-height: 3.1250vw;
    }

    .sub-text-wrap-9 .title-2 u {
        padding: 0 0.6250vw;
        border-width: 0.1563vw;
    }

    .sub-text-wrap-9 .list {
        padding: 9.3750vw 0 5.2083vw;
        margin: 3.6458vw -3.4375vw 0;
        border-width: 0.3125vw;
    }

    .sub-text-wrap-9 .item {
        margin: 0 3.4375vw;
    }

    .sub-text-wrap-9 .item:not(:first-child) {
        padding-top: 7.2917vw;
    }

    .sub-text-wrap-9 .item .text-1 .icon {
        width: 4.1667vw;
        height: 4.1667vw;
        margin-right: 0.6250vw;
    }
    .sub-text-wrap-9 .item .text-1 .text {
        font-size: 1.4583vw;
        line-height: 1.9792vw;
        padding: 1.1458vw 1.9792vw 1.0417vw;
        border-radius: 2.0833vw;
    }

    .sub-text-wrap-9 .item .text-2 {
        margin-top: 1.0417vw;
        border-radius: 1.0417vw;
    }
    .sub-text-wrap-9 .item .text-2-1 {
        font-size: 1.8229vw;
        line-height: 2.0833vw;
        padding: 2.1875vw 1.0417vw 4.6875vw;
    }

    .sub-text-wrap-9 .item .image {
        margin: -3.6458vw auto 0;
        width: 13.0208vw;
        height: 13.0208vw;
        border-radius: 3.6458vw;
    }

    .sub-text-wrap-9 .item .text-2-2 {
        padding: 0.6250vw 1.8750vw 0.5208vw;
        margin-top: 1.0417vw;
        font-size: 1.4583vw;
        line-height: 1.9792vw;
    }

    .sub-text-wrap-9 .item .text-2-3 {
        font-size: 1.4583vw;
        line-height: 1.9792vw;
        margin-top: 0.6250vw;
        padding: 0 5.2083vw 2.7604vw;
    }

    .sub-text-wrap-10 {
        padding: 4.6875vw 0;
        margin: 5.2083vw 0 10.4167vw;
    }

    .sub-text-wrap-10 .title {
        padding: 2.6042vw 2.8646vw 2.3438vw;
        border-radius: 10.4167vw;
        font-size: 1.5625vw;
        line-height: 2.3438vw;
        box-shadow: 0.6250vw 0.6250vw 0 rgba(0,0,0,0.17);
    }

    .sub-text-wrap-10 .title .image {
        margin-right: 3.1250vw;
        width: 5.156vw;
    }
    .sub-text-wrap-10 .list {
        margin-top: 3.6458vw;
    }

    .sub-text-wrap-10 .item {
        padding-right: 19.2708vw;
    }

    .sub-text-wrap-10 .item:nth-child(even) {
        padding-left: 19.2708vw;
        padding-right: 0;
    }

    .sub-text-wrap-10 .item .image {
        width: 7.0833vw;
        height: 7.0833vw;
        margin-right: 2.0833vw;
    }

    .sub-text-wrap-10 .item:nth-child(even) .image {
        margin-left: 2.0833vw;
        margin-right: 0;
    }

    .sub-text-wrap-10 .item + .item {
        margin-top: 1.6667vw;
    }

    .sub-text-wrap-10 .item .text-1 {

        font-size: 1.3021vw;
        line-height: 1.6667vw;
    }

    .sub-text-wrap-10 .item .text-2 {
        font-size: 1.3021vw;
        line-height: 1.6667vw;
        padding: 1.5625vw 2.3958vw;
        margin-top: 0.6250vw;
        box-shadow: 0.2083vw 0.2083vw 0 #af9ad6;
        border-radius: 1.2500vw;
        border-width: 0.2083vw;
    }

    .sub-text-wrap-10 .item .text-2:before {
        left: -1.6146vw;
        top: 0.8854vw;
        width: 1.6146vw;
        height: 1.3021vw;
    }

    .sub-text-wrap-10 .item:nth-child(even) .text-2:before {
        right: -1.7188vw;
        left: auto;
        top: 0.8854vw;
        width: 1.7708vw;
        height: 1.4063vw;
    }

    .sub-text-wrap-10 .item .text-2:after {
        top: 50%;
        margin-top: -0.5208vw;
        border-width: 0.5208vw;
    }

    .sub-text-wrap-11 {
        padding: 8.8542vw 2.6042vw 7.2917vw;
        border-width: 0.3125vw;
    }

    .sub-text-wrap-11 .title {
        font-size: 1.6vw;
        line-height: 2.6042vw;
        padding: 3.1250vw 2.0833vw 2.6042vw;
        border-width: 0.3125vw;
        border-radius: 1.3021vw;
    }

    .sub-text-wrap-11 .title:after {
        right: 2.8646vw;
        top: -2.7083vw;
        width: 3.8542vw;
        height: 3.8542vw;
    }

    .sub-text-wrap-11 .list {
        margin-top: 1.3542vw;
    }

    .sub-text-wrap-11 .item {
        padding: 2.2396vw 3.1250vw 2.0833vw 10.4167vw;
        border-radius: 1.3021vw;
        border-width: 0.3125vw;
        font-size: 2.0833vw;
        line-height: 3.1250vw;
        background-position: 3.3854vw center;
        background-size: 3.8542vw 3.8542vw;
    }

    .sub-text-wrap-11 .item + .item {
        margin-top: 0.6250vw;
    }

    .sub-text-wrap-12 .text-box-1 {
        padding-left: 19.7917vw;
        margin-bottom: -6.5104vw;
    }

    .sub-text-wrap-12 .text-box-1 .text-1 {
        top: 5.2083vw;
    }
    .sub-text-wrap-12 .text-box-1 .text-1 span {
        font-size: 1.4583vw;
        line-height: 2.8125vw;
        padding: 0 1.2500vw;
    }

    .sub-text-wrap-12 .text-box-1 .text-1 span {
        margin-top: 0.6250vw;
    }

    .sub-text-wrap-12 .text-box-2 .text-1 {
        padding: 9.1146vw 1.4583vw 0 2.4479vw;
        font-size: 1.0417vw;
        line-height: 1.5625vw;
    }

    .sub-text-wrap-12 .text-box-2 .image-2 {
        margin-top: 3.6458vw;
    }

    .sub-text-wrap-12 .text-box-2 .image-2 img {
        width: 6.4063vw;
    }

    .image-text-flex-6 {
        margin-top: 21.8750vw;
        margin-bottom: 10.4167vw;
    }

    .image-text-flex-6 .list .text {
        width: 14.2188vw;
        padding: 1.8750vw 1.0417vw 0 0;
        font-size: 1.0417vw;
        line-height: 1.5625vw;
    }

    .image-text-flex-6 .list .image:nth-child(2) {
        margin-top: -13.8021vw;
    }

    .image-text-flex-6 .list .image:nth-child(3) {
        margin-top: -7.5000vw;
    }

    .image-text-flex-6 .list .image:nth-child(4) {
        margin-top: -20.8333vw;
    }

    .image-text-flex-6 .list .image + .image {
        margin-left: 0.7813vw;
    }

    .image-text-flex-6 .sub-text-wrap-2 {
        padding-left: 14.2188vw;
    }

    .sub-notice-3 .text-box-1 {
        padding: 4.6875vw;
    }

    .sub-notice-3 .text-box-1 .text {
        padding: 3.1250vw 3.6458vw;
        border-radius: 1.8750vw;
        margin-top: 3.8542vw;
    }

    .sub-notice-3 .text-box-1 .text strong {
        font-size: 1.6146vw;
        line-height: 1.9271vw;
    }

    .sub-notice-3 .text-box-1 .text p {
        font-size: 1.2500vw;
        line-height: 1.9271vw;
        margin-top: 0.8333vw;
    }

    .sub-notice-3 .text-box-1 .point {
        left: -0.5729vw;
        top: -1.7708vw;
    }

    .sub-notice-3 .text-box-2 {
        padding: 5.7292vw 4.6875vw 3.1250vw;

    }

    .sub-notice-3 .text-box-2 .text-1 {
        font-size: 1.4583vw;
        line-height: 1.5625vw;
        padding: 0.6250vw 1.5625vw 0.5208vw;
        border-radius: 1.5625vw;
    }

    .sub-notice-3 .text-box-2 .text-2 {
        font-size: 1.3021vw;
        line-height: 1.8229vw;

        margin-top: 0.8333vw;
    }

    .sub-notice-3 .text-box-2 .text-2 + .text-1 {
        margin-top: 1.2500vw;
    }

    .sub-notice-3 .text-box-2 .text-2.has-background {

    }

    .sub-notice-3 .text-box-2 .text-2 .point {
        width: 14.8438vw;
        margin: 0 -2.6042vw
    }
    .modal-search {
        height: calc(100vh - 3.6458vw);
        top: 3.6458vw;
        border-width: 0.2604vw;
    }

    .search-bar-container .inner,
    .search-keyword-wrap .inner {
        width: 56.2500vw;
    }

    .search-bar-container .inner {

        padding: 2.5000vw 3.1250vw;
    }

    
    .search-bar input {
       height: 2.8vw;
        line-height: 3vw;
        padding: 0 3.5417vw;
        font-size: 1.6vw;
    }

    .btn-keyword-delete {
        width: 3.3vw;
        height:3.3vw;
        margin-left: 0.6250vw;
        border-radius: 0.6250vw;
    }
    .search-bar .btn-keyword-search {
        width: 7.2917vw;
    }

    .search-keyword-wrap {
        padding: 3.1250vw 0 3.6458vw;
    }

    .search-keyword-wrap .title {
        font-size: 1.5625vw;
        line-height: 2.9167vw;
    }

    .search-keyword-box-1 .sub-tag-list {
        margin: 0 -0.3125vw;
    }
    .search-keyword-box-2 {
        padding-left: 4.1667vw;
        margin-left: 4.1667vw;
        width: 22.9167vw;
    }

    .search-keyword-box-2 .title  {
        margin-bottom: 0.9375vw;
    }

    .search-keyword-box-2 span {
        width: 1.0417vw;
        font-size: 1.5625vw;
        line-height: 3.1250vw;
        margin-right: 1.0417vw;
    }

    .search-keyword-box-2 em {
        font-size: 1.3021vw;
        line-height: 3.1250vw;
    }

    .btn-keyword-search img {
        width: 2.5521vw;
    }

    .btn-keyword-delete img {
        width: 2.0313vw;
    }

    .search-result-title {
        border-width: 0.2604vw;
        padding: 4.4792vw 0 3.8021vw;
        font-size: 2.6042vw;
        line-height: 2.9167vw;
    }

    .search-result-text {
        max-width: 66.1458vw;
        padding: 4.1667vw 0 2.0833vw;
        font-size: 1.5625vw;
        line-height: 2.9167vw;
    }
    .search-result-text + .sub-list-wrap {
        padding-top: 1.8750vw;
    }

    .modal-form {
        margin: 3.1250vw 0 4.1667vw;
    }

    .modal-form-field input {
        height: 2.7083vw;
        font-size: 1.175vw;
        line-height: 2vw;
        padding: 0 0.8333vw
    }

    .modal-form-field textarea {
        font-size: 1.175vw;
        line-height: 2vw;
        padding: 0.8333vw
    }

    .modal-checkbox input {
        width: 0.9375vw;
        height: 0.9375vw;
    }
    .modal-checkbox label {
        font-size: 1vw;
    }

    .modal-bottom button {
        width: 10.4167vw;
        height: 3.1083vw;
        font-size: 1.1vw;
        line-height: 2.6042vw;
    }
}
@media screen and (max-width: 780px) {
    .sub_content .content-inner {
        margin: 0px auto;
        width: 100%;
    }

    .content-title {
        font-size: 28px;
        margin-bottom: 22px;
        padding-left: 22px;
        line-height: 36px;
    }

    .content-title .plus {
        width: 14px;
        height: 14px;
    }

    .content-inner {
        padding: 50px 0px;
    }

    .col-list {
        display: block;
    }

    .col-list .inner + .inner {
        margin-left: 0px;
        margin-top: 40px;
    }

    .col-list .list-item + .list-item {
        margin-top: 40px;
    }

    .col-list .text-box {
        margin-top: 20px;
        padding: 0px 22px;
    }

    .col-list .text-box .text-1 {
        font-size: 12px;
        width: 85px;
        height: 32px;
        margin-right: 10px;
        line-height: 16px;
    }

    .col-list .text-box .text-2 {
        font-size: 20px;
        line-height: 24px;
        letter-spacing: -1.6px;
    }

    .col-list .text-box .text-3 {
        margin-top: 10px;
        font-size: 14px;
        line-height: 18px;
    }

    .col-list .list-item:hover img {
        transform: scale(1);
    }

    .col-list .list-item:hover .image {
        border-radius: 0px;
        box-shadow: none;
    }

    .col-list .text-box .text-1::after {
        top: -4px;
        margin-left: 6px;
    }

    .col-list .text-tags span {
        display: inline-block;
        padding: 0px 12px;
        border-radius: 16px;
        height: 22px;
        line-height: 24px;
        font-size: 12px;
        margin-right: 2px;
        margin-bottom: 4px;
    }

    .col-list .text-tags {
        margin-top: 16px;
    }

    .col-list-2 {
        display: block;
        margin-top: 30px;
    }

    .col-list-2 .slick-list {
        width: 63.889vw;
        height: 105.556vw;
        margin: 0px auto;
    }

    .col-list-2 .inner + .inner {
        margin-left: 0px;
    }

    .col-list-2 .text-box {
        padding: 26px 17px;
    }

    .col-list-2 .text-box .text-1 {
        font-size: 12px;
        padding-bottom: 6px;
    }

    .col-list-2 .text-box .text-2 {
        font-size: 17px;
        line-height: 24px;
        margin-top: 10px;
    }

    .col-list-2 .text-box .text-3 {
        font-size: 12px;
        line-height: 18px;
        margin-top: 32px;
    }

    .col-list-2 .list-item {
        width: 63.889vw;
        height: 105.556vw;
        background-size: cover;
    }

    .col-list-2 .list-item + .list-item {
        margin-top: 0px;
    }

    .col-list-2 .text-tags span {
        display: inline-block;
        padding: 0px 12px;
        border-radius: 16px;
        height: 22px;
        line-height: 24px;
        font-size: 12px;
        margin-right: 2px;
        margin-bottom: 4px;
    }

    .col-list-2 .text-tags {
        margin-top: 16px;
    }

    .content-pride {
        background: none;
    }

    .content-life {
        background-color: rgb(248, 243, 240);
    }

    .content-life .slick-arrow {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        width: 26px;
        height: 49px;
        text-indent: -9999em;
        overflow: hidden;
        cursor: pointer;
    }

    .content-life .slick-prev {
        z-index: 1;
        left: 12px;
        background-image: url("../images/btn-slide-arrow-2.png");
    }

    .content-life .slick-next {
        right: 12px;
        background-image: url("../images/btn-slide-arrow.png");
    }

    .content-life .slick-dots {
        display: flex;
        justify-content: center;
        margin: 0px;
        padding: 20px 0px 0px;
        list-style-type: none;
    }

    .content-life .slick-dots li {
        margin: 0px 4px;
    }

    .content-life .slick-dots button {
        display: block;
        width: 6px;
        height: 6px;
        padding: 0px;
        border: none;
        border-radius: 5px;
        background-color: rgb(219, 219, 219);
        text-indent: -9999px;
        transition: all 0.3s ease 0s;
    }

    .content-life .slick-dots li.slick-active button {
        opacity: 1;
        width: 16px;
        background-color: rgb(4, 62, 135);
    }

    .content-event {
        margin-top: 0;
    }

    .content-event .content-title {
        padding-left: 0;
    }

    .content-event .list .event-slider .slick-dots {
        width: calc(100% - 10px);
        margin: 5px;
    }

    .content-event .list .event-slider .slick-dots button {
        width: 8px;
        height: 8px;
        border-radius: 8px;
        margin: 0 3px;
    }

    .content-event .list .event-slider .slick-active button {
        width: 24px;
    }

    .content-event .content-inner {
        padding: 50px 20px;
    }

    .content-event .list {
        display: block;
    }

    .content-event .list > a {
        display: block;
        width: 100%;
        margin-top: 20px;
    }

    .content-event .list {
        padding: 0;
    }

    .content-event .list > a + a {
        margin-left: 0px;
        margin-top: 10px;
    }

    .content-event .list .event-slider {
        margin-right: 0;
        width: 100%;
    }

    .content-sns .inner {
        display: block;
    }

    .content-sns .banner {
        display: block;
        margin-left: 0px;
    }

    .content-sns .content-inner {
        padding-bottom: 0;
    }

    .content-sns .sns {

        padding: 12px 0;
        border-top: 1px solid #fff;
    }

    .content-sns .sns a img {
        width: 32px;
        height: 32px;
    }

    .content-sns .sns a + a {
        margin-left: 20px;
    }

    .content-sns .links {
        margin-top: 18px;
        margin-left: 0;
        padding: 0 20px;
    }

    .content-sns .links a + a {
        margin-top: 16px;
    }

    .content-sns .links .text {
        font-size: 13px;
        line-height: 20px;
    }

    .content-sns .links .image{
        width: 146px;
        height: 80px;
        margin-right: 16px;
    }

    .content-sns .video > div:first-child {
        height: 49vw;
        /* padding-bottom: 100%; */
    }

    .content-sns .video {
        width: 100%;
        height: auto;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .content-sns .video iframe {
        max-height: 49vw;
    }

    .content-sns .banner a {
        height: auto;
    }

    .content-sns .banner img {
        height: auto;
    }

    .content-sns .tag-list span {
        display: inline-block;
        padding: 0px 12px;
        border-radius: 16px;
        height: 22px;
        line-height: 24px;
        font-size: 12px;
        margin-right: 2px;
        margin-bottom: 4px;
    }

    .content-sns .tag-list > div {
        position: absolute;
        width: 100%;
        height: 100%;
        text-align: center;
    }

    .sns-slider .slick-list, .sns-slider .slick-slide {
        width: 63.889vw;
        height: 105.556vw;
    }

    .sns-slider .slick-list {
        position: relative;
    }

    .sns-slider .slick-slide {
        background-size: cover;
    }

    /* sub */
    .sub-header-type1 {
        padding: 12px 0;
    }

    .sub-header-type1 .title-2 {
        padding: 20px 30px 0;
        font-size: 25px;
        margin-top: 12px;
        line-height: 32px;
    }
    .sub-header-type1 .title-3 {
        margin-top: 30px;
        font-size: 12px;
        line-height: 18px;
    }

    .title-image-1 img {
        width: auto;
        height: 28px;
    }

    .sub-header-type1 .title-3 .bl {
        margin: 0 12px;
    }

    .sub-sns .emotion {
        padding: 6px 30px;
    }

    .sub-sns .emotion button {
        display: none;
        font-size: 10px;
    }
    .sub-sns .emotion button b {
        font-size: 12px;
        vertical-align: -1px;
    }

    .sub-sns .emotion img {
        height: 20px;
        width: auto;
    }
    .sub-sns .emotion button.view-mobile {
        display: block;
    }

    .sub-sns {
        margin: 20px 0 60px;
    }
    .sub-sns img {
        vertical-align: -6px;
    }

    .sub-sns .btn-share,
    .sub-sns .btn-copy {
        width: 34px;
        height: 34px;
    }

    .sub-image-slider-1 {
        padding: 0 20px;
        margin-bottom: 50px;
    }

    .sub-image-slider-1 .slick-arrow {
        display: none !important;
    }

    .sub-image-slider-1 .slick-dots {
        margin-top: 8px;
    }

    .sub-image-slider-1 .slick-dots button {
        width: 14px;
        height: 14px;
        margin: 0 3px;
    }

    .sub-image-slider-1 .slick-active button {
        width: 44px;
    }

    .sub-inner {
        padding: 0 20px;
    }

    .sub-inner-2 {
        padding: 0 20px;
    }

    .text-type-1 {
        font-size: 14px;
        line-height: 23px;
    }

    .text-type-1 .text-1 + .text-1 {
        margin-top: 30px;
    }

    .sub-tag-list {
        padding: 0 20px;
        margin: 75px auto;
    }

    .sub-tag-list a {
        min-width: auto;
        font-size: 12px;
        height: 22px;
        line-height: 23px;
        padding: 0 14px;
        margin: 6px 2px 0;
    }

    .common-tooltip {
        position: relative;
        box-shadow: inset 0 -8px 0 #f6ff00;
    }

    .common-tooltip-text {
        width: 134px;
        font-size: 13px;
        line-height: 18px;
        top: 21px;
        padding: 40px 10px 40px 10px;
    }

    .common-tooltip-text-close {
        position: absolute;
        right: 8px;
        top: 8px;
        width: 13px;
        height: auto;
    }

    .sub-header-type1 .title-2 .size-1,
    .sub-header-type1 .title-2 .size-2 {
        font-size: 25px;
        line-height: 32px;
    }

    .sub-header-type1.color-type-2 .title-3 {
        margin-top: 30px;
    }

    .image-block.type-1 {
        margin: 0 -20px;
    }

    .sub-text-wrap-1 {
        padding: 84px 0;
    }
    .sub-text-wrap-1 .title-1 {
        max-width: 280px;
        font-size: 15px;
        line-height: 17px;
        padding-bottom: 7px;
        border-width: 0 0 1px 0;
    }

    .sub-text-wrap-1 .title-2 {
        font-size: 25px;
        line-height: 34px;
        margin-top: 16px;
    }

    .sub-text-wrap-1 .text-1 {
        font-size: 14px;
        line-height: 25px;
        margin-top: 32px;
    }

    .sub-text-wrap-1 .text-2 {
        font-size: 16px;
        line-height: 25px;
        margin-top: 32px;
    }

    .sub-text-wrap-1 .text-2 span {
        padding: 2px 12px;
    }

    .sub-text-wrap-2 {
        padding: 55px 0 65px;
    }
    .sub-text-wrap-2.type-padding-left {
        padding-left: 83px;
    }

    .sub-text-wrap-2.type-padding-right{
        padding-right: 0;
    }

    .sub-text-wrap-2 .title-1 {margin-bottom: 12px; font-size: 15px; line-height: 21px}
    .sub-text-wrap-2 .text-1 {font-size: 14px; line-height: 21px}
    .sub-text-wrap-2 .text-1 + .text-1 {
        margin-top: 22px;
    }

    .sub-text-wrap-2 .text-1 + .title-1 {
        margin-top: 50px;
    }
    .sub-text-wrap-2 .text-1 .speech {

        padding: 10px 20px;

    }
    .sub-text-wrap-2 .text-1 .speech .speaker {
        font-size: 14px;
    }
    .sub-text-wrap-2 .text-background {
        padding: 22px;
        font-size: 15px;
        line-height: 24px;
        margin: 0 -20px 30px 0;
    }
    .sub-text-wrap-2 .text-background02 {
        padding: 22px;
        font-size: 15px;
        line-height: 24px;
        margin: 0 -20px 30px 0;
    }
    .image-block-4 {
        padding-right: 42px;
        margin-left: -20px;
    }


    .image-block-4 img {
        vertical-align: top;
    }

    .image-block-4 + .sub-text-wrap-2.type-padding-left {
        padding-left: 40px;
    }
    .sns-banner-block {
        margin-top: 60px;
        padding: 27px 32px;
    }

    .sns-banner-block .sns-image {
        display: block;
        text-align: center;
    }

    .sns-banner-block .sns-image img {
        width: auto;
        height: 30px;
    }

    .sns-banner-block a {
        display: block;
    }

    .sns-banner-block .text {
        margin-top: 10px;
        font-size: 14px;
        line-height: 18px;
        text-align: center;
        margin-left: 0;
    }

    .sub-text-wrap-3 .text-box {
        position: relative;
        padding: 16px 26px;
        width: 260px;
        margin-left: -58px;
        margin-top: -40px;
        background: #fff;
        bottom: 0;
    }

    .sub-text-wrap-3 .text-box .title-1,
    .sub-text-wrap-3 .text-box .text-1,
    .sub-text-wrap-3 .text-box .text-2 {font-size: 14px; line-height: 21px}
    .sub-text-wrap-3 .text-box .text-1 {margin-top: 4px;}
    .sub-text-wrap-3 .text-box .text-2 {margin-top: 22px;}

    .sub-text-wrap-3 .inner {
        margin-top: 30px;
    }

    .sub-text-wrap-3 .title {
        padding-left: 0;
    }
    .sub-text-wrap-3 .title .text-1 {
        width: 100% !important;
    }

    .sub-text-wrap-3 .title .text-1 {
        font-size: 15px;
        line-height: 17px;
        padding-bottom: 7px;
        border-width: 0 0 1px 0;
        text-align: center;
    }
    .sub-text-wrap-3 .title .text-2 {
        font-size: 25px;
        line-height: 34px;
        margin-top: 16px;
        text-align: center;
    }

    .sub-text-wrap-3 .inner {
        padding-left: 58px;
    }

    .sub-header-type2 {
        display: block;
    }

    .sub-header-type2 .image {
        width: 100%;
    }

    .sub-header-type2 .inner {
        padding: 32px 20px 30px;
    }

    .sub-header-type2 .title-1 {
        font-size: 14px;
        line-height: 18px;
    }

    .sub-header-type2 .title-2 {
        font-size: 25px;
        line-height: 32px;
        margin-top: 10px;
    }
    .sub-header-type2 .title-5 {
        font-size: 18px;
        line-height: 20px;
        margin-top: 10px;
    }

    .sub-header-type2 .title-2 .size-large {
        font-size: 25px;
        line-height: 32px;
    }

    .sub-header-type2 .title-2 .size-large br {
        display: none;
    }

    .sub-header-type2 .title-3 {
        padding-top: 28px;
        margin-top: 28px;
        font-size: 14px;
        line-height: 18px;
    }

    .sub-header-type2 .title-3 em {
        margin-top: 12px;
        font-size: 13px;
        line-height: 18px;
    }

    .sub-text-wrap-2.type-padding-left-2 {
        padding: 60px 0 60px 60px;
    }

    .image-block.align-right {
        margin: 0;

    }
    .sub-text-wrap-4 {
        display: block;
        margin-left: -20px;
        margin-top: 18px;
        /*margin-bottom: 90px;*/
    }
    .sub-text-wrap-4 .image img {
        width: 244px;
        height: auto;
    }

    .sub-text-wrap-4 .text-box {
        margin-left: 28px;
        padding-top: 0;
        /* margin-top: -20px;*/
    }

    .sub-text-wrap-4 .text-box .text-1 span {
        padding: 0 12px;
        font-size: 16px;
        line-height: 31px;
    }

    .sub-text-wrap-4 .text-box .text-1 + .text-1 {
        margin-top: 5px;
    }

    .sub-text-wrap-4 .text-box .text-2 {
        margin-top: 22px;
        font-size: 14px;
        line-height: 21px;
    }

    .sub-text-wrap-4 .text-box .text-1 + .text-2 {
        margin-top: 48px;
    }

    .sub-text-wrap-3 .text-box .text-2 + .title-1 {
        margin-top: 18px;
    }

    .sub-text-wrap-3 .text-box .title-1 + .text-2 {
        margin-top: 5px;
    }

    .sub-text-wrap-2.type-padding-left-3 {
        padding-left: 0;
        padding-right: 0;
    }

    .sub-notice {
        margin: 32px -20px -40px;
        padding: 22px 20px 28px;
    }

    .sub-notice .text-1 {
        font-size: 15px;
        line-height: 21px;
    }

    .sub-notice .title,
    .sub-notice .title-1 {
        font-size: 18px;
        line-height: 30px;
        margin-bottom: -15px;
    }

    .sub-text-wrap-3 .image-2 {
        display: none;
    }

    .sub-text-wrap-3.align-right .inner {
        padding-right: 84px;
    }
    .sub-text-wrap-3.align-right .image img {
        width: 274px;
        height: auto;
    }
    .sub-text-wrap-3.align-right .text-box {
        margin-left: 28px;
        margin-top: -50px;
    }
    .sub-list {
        display: block;
    }

    .sub-list .item .image {
        max-height: 100%;
    }

    .sub-breadcrumb .inner {
        padding: 18px 20px 14px;
		margin-bottom: 0;
    }

    .sub-breadcrumb-depth {
        font-size: 15px;
    }

    .sub-breadcrumb .inner .plus {
        top: -10px;
    }
    .sub-breadcrumb-depth + .sub-breadcrumb-depth {
        margin-left: 10px;
        padding-left: 20px;
        background-size: auto 14px;
        background-position: 0 6px;
    }

    .sub-list-wrap {
        padding: 40px 0 0;
    }

    .sub-list .item:nth-child(n+4) {
        margin-top: 0;
    }

    .sub-list .item {
        display: block;
        width: 100%;
        margin: 0;
    }
    .sub-list .item + .item {
        margin: 30px 0 0;
    }

    .sub-list .item .text-wrap {
        padding: 16px 20px 24px;
    }

    .sub-list .item .title {
        font-size: 17px;
        line-height: 23px;
        height: 70px;
        -webkit-line-clamp: 3;
    }

    .sub-list .tag-list span {
        font-size: 14px;
        padding: 7px 14px 4px;
    }

    .sub-pagination {
        padding: 0 10px;
        flex-wrap: wrap;
        max-width: 306px;
        margin: 30px auto 0;
    }

    .sub-pagination a {
        font-size: 14px;
        width: 34px;
        height: 34px;
        flex: none;
        background-size: auto 12px;
        margin: 3px 2px;
    }

    .sub-pagination .prev {margin-right: 2px;}
    .sub-pagination .next {margin-left: 2px;}

    .sub-list-2 {
        padding: 0 20px;
		margin-top: 0;
    }
    .sub-list-2 .inner {
        margin: 0 -6px;
    }
    .sub-list-2 .item {
        width: calc(50% - 12px);
        margin: 0 6px;
    }

    .sub-list-2 .item .image {
        height: auto;
    }

    .sub-list-2 .item:nth-child(n+5) {
        margin-top: 0;
    }

    .sub-list-2 .item:nth-child(n+3) {
        margin-top: 25px;
    }

    .sub-list-2 .item .title {
        font-size: 15px;
        line-height: 17px;
        padding: 11px 10px;
    }

    .sub-list-indicator {
        margin-bottom: 30px;
    }

    .sub-list-indicator span {
        flex: 1;
        width: auto;
        margin: 0 12px;
        font-size: 21px;
        line-height: 32px;
        padding: 8px 10px;
    }

    .sub-list-indicator button {
        width: 36px;
        height: 36px;
        background-size: auto 12px;
        background-position: 14px;
    }

    .title-image-2 img {
        height: 30px;
    }

    .is-mobile.image-block img {
        width: 100%;
    }

    .image-text-flex-1 {
        display: block;
    }

    .image-text-flex-1 .text-box {
        margin-top: 90px;
        margin-left: 0;
    }

    .image-text-flex-1 .text-image img {
        height: 75px;
    }

    .image-text-flex-1 .text-image + .text-1 {
        margin-top: 40px;
    }

    .image-text-flex-1 .text-1 {
        font-size: 14px;
        line-height: 21px;
    }

    .image-text-flex-1 .text-1 + .text-1 {
        margin-top: 20px;
    }

    .sub-text-wrap-5 {
        margin: 60px 0 50px;
    }

    .sub-text-wrap-5 + .sub-text-wrap-2 {
        padding-top: 0;
    }

    .sub-text-wrap-5 .title-image {
        margin-bottom: 34px;
    }
    .sub-text-wrap-5 .title-image img {
        height: 85px;
    }

    .sub-text-wrap-5 .dot-box {
        padding: 22px 15px 30px;
        border-radius: 5px;
        border-width: 4px;
    }

    .sub-text-wrap-5 .bl {
        margin-right: 10px;
    }

    .sub-text-wrap-5 .bl img {
        height: 50px;
    }

    .sub-text-wrap-5 .title {
        font-size: 17px;
        line-height: 23px;
        min-height: 40px;
    }

    .sub-text-wrap-5 .inner {
        padding-top: 6px;
    }

    .sub-text-wrap-5 .title br {
        display: none;
    }

    .sub-text-wrap-5 .text-1 {
        font-size: 14px;
        line-height: 21px;
        margin-left: -60px;
    }

    .sub-text-wrap-5 .text-1 + .text-1 {
        margin-top: 22px;
    }

    .sub-text-wrap-5 .image {
        margin-top: 24px;
    }

    .sub-text-wrap-5 .dot-box + .dot-box {
        margin-top: 34px;
    }

    .sns-text-banner-1 {
        margin: 0 -20px;
        background-size: 50px auto;
        background-position: right 16px top;
    }

    .sns-text-banner-1 .inner {
        display: block;
        padding: 36px 22px 90px;
    }

    .sns-text-banner-1 .text-box {
        margin-left: 0;
        font-size: 15px;
        line-height: 21px;
        margin-top: 28px;
    }

    .sns-text-banner-1 .text-1 + .text-1 {
        margin-top: 22px;
    }

    .sns-text-banner-1 .text-image {
        text-align: center;
    }
    .sns-text-banner-1 .text-image img {
        height: 87px;
    }

    .sub-image-slider-1.type-2 {
        margin-left: -20px;
        margin-right: -20px;
    }

    .sub-text-wrap-6 {
        display: block;
    }

    .sub-text-wrap-4.type-center {
        margin: 60px 0;
    }
    .sub-text-wrap-4.type-center .text-1 span {
        font-size: 14px;
        line-height: 21px;
    }
    .sub-text-wrap-4.type-center .text-box .text-1 + .text-2 {
        margin-top: 0;
    }

    .sub-text-wrap-6 {
        margin: 0;
        column-count: 1;
    }

    .sub-text-wrap-6 .text-box {
        margin: 0;
        width: 100%;
    }

    .sub-text-wrap-6 .text-box:nth-child(n+3) {
        margin-top: 0;
    }

    .sub-text-wrap-6 .text-box + .text-box {
        margin-top: 26px;
    }

    .sub-text-wrap-6 .title {
        padding: 20px 26px 16px;
        font-size: 18px;
        line-height: 24px;
        min-height: 77px;
        border-top-left-radius: 16px;
        border-top-right-radius: 16px;
    }

    .sub-text-wrap-6 .inner {
        padding: 15px 18px 30px;
    }

    .sub-text-wrap-6 .text-1 {
        font-size: 20px;
        line-height: 28px;
    }

    .sub-text-wrap-6 .text-2 {
        font-size: 14px;
        line-height: 21px;
        margin-top: 0;
    }

    .sub-text-wrap-6 .inner .image {
        margin-top: 18px;
    }

    .sub-text-wrap-6 .text-3 {
        margin-top: 18px;
        padding-top: 18px;
        font-size: 14px;
        line-height: 21px;
    }

    .sub-text-wrap-6 .text-4 {
        padding: 25px 20px;
        font-size: 14px;
        line-height: 21px;
    }

    .sub-text-wrap-6 .text-box.dummy {
        display: none;
    }

    .sub-text-wrap-4 .text-box .image-2 {
        margin-top: 40px;
    }

    .title-image-3 img {
        height: 36px;
    }

    .text-caption {
        padding: 0 20px;
        font-size: 12px;
        line-height: 18px;
    }
    .text-caption02 {
        padding: 0 20px;
        font-size: 14px;
        line-height: 21px;
    }

    .size-m {
        max-width: 190px;
    }
    .size-sm {
        max-width: 120px;
        margin: 10px 10px 0;
    }
    .sub-notice.align-center {
        padding: 40px 20px 60px;
    }

    .sub-notice .title-1.size-large {
        font-size: 26px;
        line-height: 32px;
    }

    .sub-notice .image {
        margin: 40px 0;
    }

    .modal-popup-content {
        padding: 40px 20px;
        margin-top: 0;
        width: 100%;
        height: 100vh;
        box-sizing: border-box;
    }

    .modal-popup-texts {
        max-height: calc(100vh - 180px);
        padding: 20px;
        font-size: 14px;
        line-height: 22px;
        margin-top: 30px;
    }

    .modal-title {
        font-size: 22px;
        line-height: 32px;
    }

    .modal-popup-texts > ul, .modal-popup-texts > ol {
        margin: 20px 0;
        padding-left: 15px;
    }

    .modal-popup-texts > ul {
        padding-left: 20px;
    }

    .modal-popup-texts li ol, .modal-popup-texts li ul {
        padding-left: 24px;
    }

    .btn-modal-close {
        right: 10px;
        top: 10px;
        width: 28px;
        height: 28px;
        background-size: 28px;
    }

    .modal-popup-texts h2 {
        font-size: 18px;
        line-height: 28px;
        margin-top: 20px;
    }

    .modal-popup-texts h3 {
        font-size: 16px;
        line-height: 26px;
        margin-top: 10px;
    }

    .sub-text-wrap-7 {
        margin: 40px 0 55px;
    }
    .sub-text-wrap-7 [class*=list-point] {
        display: none;
    }

    .sub-text-wrap-7 + .sub-text-wrap-2 {
        margin-top: -55px;
    }

    .sub-text-wrap-7 .list {
        display: block;
        padding: 0 12px 16px;
        border-width: 6px;
        border-radius: 30px;
    }

    .sub-text-wrap-7 .item {
        width: 100%;
        margin: 18px 0 0;
        padding: 22px;
        border-width: 4px;
        border-radius: 30px;
    }

    .sub-text-wrap-7 .item .line {
        height: 3px;
        border-radius: 6px;
    }

    .sub-text-wrap-7 .point {
        height: 34px;
        top: -23px;
    }
    .sub-text-wrap-7 .point:after {
        width: 4px;
    }

    .sub-text-wrap-7 .point:before {
        border-width: 4px;
        width: 18px;
        height: 18px;
    }

    .sub-text-wrap-7 .text-1 {
        font-size: 17px;
        line-height: 22px;
        margin-top: 12px;
    }

    .sub-text-wrap-7 .text-1 b {
        display: block;
    }

    .sub-text-wrap-7 .text-2 {
        font-size: 14px;
        line-height: 21px;
        margin-top: 12px;
    }

    .sub-notice-2 {
        margin: 0 -20px;
    }

    .sub-notice-2 .inner {
        padding: 36px 38px;
        display: block;
    }

    .sub-notice-2 .list-inner {
        margin: 0;
    }

    .sub-notice-2 .title-1 br {
        display: none;
    }

    .sub-notice-2 .title-1 p {
        font-size: 21px;
        line-height: 21px;
    }

    .sub-notice-2 .title-1 b {
        font-size: 42px;
        line-height: 42px;
        margin-top: 10px;
    }

    .sub-notice-2 .title-2 {
        display: none;
    }

    .sub-notice-2 .item {
        display: block;
    }

    .sub-notice-2 .item p + p {
        margin-left: 0;
        margin-top: 18px;
    }

    .sub-notice-2 .item p span {
        font-size: 16px;
        line-height: 20px;
        width: 75px;
        padding: 6px 10px;
    }

    .sub-notice-2 .item p em {
        font-size: 16px;
        line-height: 20px;
        padding: 5px 10px;
    }

    .sub-notice-2 .item + .item {
        margin-top: 18px;
    }

    .common-title-1 {
        font-size: 40px;
        line-height: 50px;
        margin: 40px 0;
    }

    .image-text-flex-2 {
        display: block;
    }

    .image-text-flex-2 .image {
        margin-left: 0px;
        padding-right: 0px;
    }

    .image-text-flex-2 .sub-text-wrap-2 {
        margin-top: 50px;
        margin-left: 0px;
    }

    .image-text-flex-3 {
        display: block;
        margin: 0 -20px;
    }

    .image-text-flex-3 .group {
        width: 100%;
        flex-direction: row;
    }

    .image-text-flex-3 .group > div {
        width: 50%;
        height: 48vw;
        font-size: 10px;
    }

    .image-text-flex-3 .text-box-1 {
        padding: 14px 12px;
        font-size: 38px;
        line-height: 41px;
    }

    .image-text-flex-3 .text-box-2 {
        padding: 14px 12px;
        font-size: 15px;
        line-height: 18px;
    }

    .image-text-flex-3 .text-box-2 br {
        display: none;
    }

    .sub-text-wrap-8 {
        margin: 30px 0;
    }

    .sub-text-wrap-8 .title-1 {
        margin-bottom: 80px;
        font-size: 32px;
        line-height: 40px;
    }

    .sub-text-wrap-8 .title-1 span img {
        width: 42px;
    }

    .sub-text-wrap-8 .title-1 span:first-child {
        margin-bottom: 15px;
    }

    .sub-text-wrap-8 .title-1 span:last-child {
        margin-top: 15px;
    }

    .sub-text-wrap-8 .text-box .text-1 {
        font-size: 17px;
        line-height: 21px;
        min-height: 42px;
        padding: 8px 42px 8px 8px;
        margin-right: -42px;
        margin-left: -10px;
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        width: 100vw;
    }

    .sub-text-wrap-8 .text-box .text-1 + .text-1.next-line {
        margin-left: -42px;
        padding-right: 20px;
        width: calc(100vw + 42px);
    }

    .sub-text-wrap-8 .text-box .text-1 span {
        width: 32px;
        height: 32px;
        line-height: 30px;
        margin-right: 12px;
    }

    .sub-text-wrap-8 .text-box .text-2 {
        font-size: 14px;
        line-height: 21px;
    }

    .sub-text-wrap-8 .text-box .text-1 + .text-2 {
        margin-top: 20px;
    }

    .sub-text-wrap-8 .text-box .text-2 + .text-2 {
        margin-top: 20px;
    }

    .sub-text-wrap-8 .list {
        margin: 80px -10px;
        flex-wrap: wrap;
    }

    .sub-text-wrap-8 .list .item + .item {
        margin-left: 0;
    }

    .sub-text-wrap-8 .list .item {
        width: calc(50% - 14px);
        margin-left: 5px !important;
        margin-right: 5px !important;
        box-shadow: 5px 5px 0px #898989;
    }

    .sub-text-wrap-8 .list .item:nth-child(even) {
        margin-top: 45px !important;
    }

    .sub-text-wrap-8 .item-text-box {
        padding: 4px 12px 20px;
    }

    .sub-text-wrap-8 .item-text-box .text-1 {
        font-size: 18px;
        line-height: 20px;
    }
    .sub-text-wrap-8 .item-text-box .text-2 {
        font-size: 13px;
        line-height: 19px;
        letter-spacing: -0.2px;
    }
    .sub-text-wrap-8 .item-text-box .text-3 {
        font-size: 12px;
        line-height: 15px;
        letter-spacing: -0.2px;
    }

    .sub-text-wrap-8 .item-text-box .line {
        width: 30px;
        height: 5px;
        margin: 10px 0 12px;
    }

    .text-list-1 {
        padding: 45px 20px;
        margin: 80px -20px;
    }

    .text-list-1 .inner {
        display: block;
        padding: 0 22px;
        width: 100%;
        box-sizing: border-box;
    }

    .text-list-1 .item {
        width: 100%;
        margin: 0;
    }

    .text-list-1 .item + .item {
        margin-top: 12px;
    }

    .text-list-1 .item .badge {
        width: 100px;
        font-size: 17px;
        line-height: 22px;
        border-width: 2px;
        padding: 8px 8px 9px;
        margin-right: 12px;
    }

    .text-list-1 .item p {
        font-size: 15px;
        line-height: 22px;
        padding-top: 10px;
    }

    .image-text-flex-4,
    .image-text-flex-5 {
        margin:20px 0px;
    }

    .image-text-flex-4 .list,
    .image-text-flex-5 .list {
        display: block;
    }
    .image-text-flex-5 .list .item {
        width: 100%;
    }
    .image-text-flex-4 .list .item + .item,
    .image-text-flex-5 .list .item + .item {
        margin-left: 0;
    }

    .image-text-flex-4 .item:nth-child(odd) {
        padding-left: 78px;
    }

    .image-text-flex-4 .item:nth-child(even) {
        padding-right: 78px;
    }

    .image-text-flex-4 .item + .item {
        margin-top: 8px;
    }

    .image-text-flex-5 .list .item + .item {
        margin-top: 40px;
    }

    .image-text-caption {
        margin-top: 12px !important;
        font-size: 12px;
        line-height: 16px;
        padding: 0 22px !important;
        text-align: center;
        width: 100% !important;
    }

    .text-bubble-box + .text-bubble-box {
        margin-top: 25px;
    }


    .text-bubble-box .bubble {
        padding: 22px;
        font-size: 15px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box .bubble:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
    }
    .text-bubble-box02 {
        text-align: right;
        display: flex;
        flex-direction: column;

        align-items: flex-end;
    }
    .text-bubble-box02 .image{
        width: 150px;
    }

    .text-bubble-box02 + .text-bubble-box02 {
        margin-top: 25px;
    }


    .text-bubble-box02 .bubble02 {
        padding: 22px;
        font-size: 15px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box02 .bubble02:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
        transform: rotate(-42deg);
    }
    .text-bubble-box03 {
        text-align: right;
        display: flex;
        flex-direction: column;

        align-items: flex-end;
    }
    .text-bubble-box03 .image{
        width: 150px;
    }

    .text-bubble-box03 + .text-bubble-box03 {
        margin-top: 25px;
    }


    .text-bubble-box03 .bubble03 {
        padding: 22px;
        font-size: 18px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box03 .bubble03:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
        transform: rotate(-42deg);
    }
    .text-bubble-box010 {
        text-align: right;
        display: flex;
        flex-direction: column;

        align-items: flex-end;
    }
    .text-bubble-box010 .image{
        width: 150px;
    }

    .text-bubble-box010 + .text-bubble-box010 {
        margin-top: 25px;
    }


    .text-bubble-box010 .bubble010 {
        padding: 22px;
        font-size: 18px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box010 .bubble010:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
        transform: rotate(-42deg);
    }
    .text-bubble-box .bubble_blue {
        padding: 22px;
        font-size: 15px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box .bubble_blue:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
    }
    .text-bubble-box .bubble_red {
        padding: 22px;
        font-size: 15px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box .bubble_red:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
    }
    .text-bubble-box .bubble_purple {
        padding: 22px;
        font-size: 15px;
        line-height: 20px;
        margin-right: 0;
        border-radius: 20px;
    }

    .text-bubble-box .bubble_purple:after {
        right: -2px;
        bottom: -16px;
        border-width: 16px 0 16px 16px;
    }
    .text-bubble-box .badge {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box02 .badge {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box02 .badge02 {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box03 .badge {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box03 .badge03 {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box03 .badge004{
        min-width: 150px;
        height: 40px;
        line-height: 17px;
        font-size: 14px;
        margin-top: 16px;
        padding: 5px;
    }
    .text-bubble-box03 .badge005{
        min-width: 150px;
        height: 40px;
        line-height: 17px;
        font-size: 14px;
        margin-top: 16px;
        padding: 5px;
    }
    .text-bubble-box010 .badge {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box010 .badge010 {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .text-bubble-box010 .badge011 {
        min-width: 150px;
        height: 44px;
        line-height: 14px;
        font-size: 14px;
        margin-top: 16px;
    }

    .text-bubble-box .badge02 {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }

    .text-bubble-box .badge03 {
        min-width: 150px;
        height: 34px;
        line-height: 34px;
        font-size: 14px;
        margin-top: 16px;
    }
    .map-area {
        height: 238px;
        background-image: url('../images/img-gmap-map-m.png');
        background-size: cover;
    }

    .map-area .title {
        font-size: 29px;
        padding: 24px 20px;
    }

    .map-list a {
        display: none;
    }

    .map-search {
        padding: 24px 20px;
        position: sticky;
        top: 41px;
        left: 0;
        background-color: #fff;
        z-index: 1;
        margin: 0 -20px -1px;
        border-bottom: 1px solid #e3e3e3;
    }

    .map-search .text {
        font-size: 15px;
        line-height: 20px;
    }

    .map-select {
        min-width: 150px;
        width: auto;
        padding: 0 24px;
        font-size: 15px;
        height: 38px;
        line-height: 36px;
    }

    .map-select:before {
        width: 12px;
        height: 11px;
        background-size: 12px auto;
        right: 20px;
        top: 13px;
    }

    .map-select .list {
        margin-top: 8px;
    }

    .map-select .list .option {
        padding: 10px 24px 8px;
    }

    .map-link-list {
        margin: 0 -20px;
    }

    .map-link-list .item {
        display: block;
        border-radius: 0;
        padding: 20px 18px;
        height: auto;
    }

    .map-link-list .item + .item {
        margin-top: 15px;
    }

    .map-link-list .item:after {
        border-radius: 0;
        border-width: 5px;
    }

    .map-link-list .item .image {
        width: 100%;
        border-radius: 8px;
    }

    .map-link-list .item .image img {
        height: auto;
        width: 100%;
    }

    .map-link-list .item .text-box {
        display: block;
        padding: 0;
        margin-top: 20px;
    }

    .map-link-list .item .text-box .title {
        font-size: 17px;
        line-height: 23px;
        height: 46px;
    }

    .map-link-list .item .tag-list {
        margin-top: 12px;
    }

    .map-link-list .item span {
        font-size: 13px;
        padding: 0 12px;
        min-width: 88px;
        height: 26px;
        line-height: 26px;
    }

    .map-link-list .item span + span {
        margin-left: 6px;
    }

    .map-btn-more {
        margin-top: 30px;
        padding: 0 30px;
        height: 36px;
        line-height: 34px;
        font-size: 15px;
    }

    .image-block.type-2 {
        margin: 44px 0;
    }

    .image-text-flex-2.type-2 + .sub-text-wrap-2 {
        margin-top: 24px;
        padding-top: 0;
    }

    .sub-video-block {
        padding-bottom: 50vw;
    }

    .sub-text-wrap-9 {
        margin-top: 60px;
    }

    .sub-text-wrap-9 .title-1 {
        padding: 24px 26px 18px;
        border-width: 3px;
        font-size: 25px;
        line-height: 30px;
        border-radius: 12px;
    }

    .sub-text-wrap-9 .title-1:after {
        width: 32px;
        height: 32px;
        left: 24px;
        bottom: -22px;
    }

    .sub-text-wrap-9 .title-2 {
        font-size: 20px;
        line-height: 24px;
        margin-top: 32px;
    }

    .sub-text-wrap-9 .title-2 u {
        padding: 0;
        border: 0;
    }

    .sub-text-wrap-9 .list {
        margin: 55px 0 0;
        padding: 55px 0 25px;
        column-count: 1;
    }

    .sub-text-wrap-9 .item {
        margin: 0;
    }

    .sub-text-wrap-9 .item:not(:first-child) {
        padding-top: 0;
    }

    .sub-text-wrap-9 .item + .item {
        margin-top: 34px;
    }

    .sub-text-wrap-9 .item .text-1 .icon {
        width: 44px;
        height: 44px;
        margin-right: 6px;
    }

    .sub-text-wrap-9 .item .text-1 .text {
        font-size: 15px;
        line-height: 20px;
        padding: 13px 18px 10px;
    }

    .sub-text-wrap-9 .item .text-2 {
        margin-top: 10px;
    }
    .sub-text-wrap-9 .item .text-2-1 {
        padding: 25px 0 55px;
        font-size: 19px;
        line-height: 24px;
    }

    .sub-text-wrap-9 .item .image {
        margin: -42px auto 0;
        width: 138px;
        height: 138px;
        border-radius: 50%;
        border: 1px solid #6134b4;
    }

    .sub-text-wrap-9 .item .text-2-2 {
        margin-top: 10px;
        font-size: 15px;
        line-height: 20px;
        padding: 9px 25px;
    }

    .sub-text-wrap-9 .item .text-2-3 {
        margin-top: 10px;
        font-size: 15px;
        line-height: 20px;
        padding: 0 50px 30px;
    }

    .sub-text-wrap-10 {
        margin: 50px -20px 80px;
        padding: 32px 20px;
    }

    .sub-text-wrap-10 .title .image {
        width: 40px;
        margin-bottom: 10px;
        margin-right: 0;
        display: inline-block;
    }
    .sub-text-wrap-10 .title {
        padding: 20px 26px;
        display: block;
        border-radius: 0;
        font-size: 18px;
        line-height: 26px;
        text-align: center;
        box-shadow: 6px 6px 0 rgba(0, 0, 0, 0.17);
    }

    .sub-text-wrap-10 .list {
        margin-top: 40px;
    }

    .sub-text-wrap-10 .item {
        align-items: flex-start;
        padding-right: 0;
        padding-left: 0;
    }

    .sub-text-wrap-10 .item .image {
        width: 60px;
        height: 60px;
        margin-right: 16px;
    }

    .sub-text-wrap-10 .item .text-1 {
        font-size: 18px;
        line-height: 25px;
    }

    .sub-text-wrap-10 .item .text-2 {
        padding: 16px 20px;
        font-size: 16px;
        line-height: 22px;
        margin-top: 6px;
        border-radius: 20px;
        border-width: 2px;
        box-shadow: 2px 2px 0 #af9ad6;
    }

    .sub-text-wrap-10 .item .text-2:before {
        width: 20px;
        height: 20px;
        left: -20px;
    }

    .sub-text-wrap-10 .item:nth-child(even) {
        padding-left: 0;
    }

    .sub-text-wrap-10 .item:nth-child(even) .text-2:before {
        width: 21px;
        height: 21px;
        right: -20px;
    }

    .sub-text-wrap-10 .item:nth-child(even) .image {
        margin-left: 16px;
    }

    .image-text-flex-2.type-2 .image {
        padding-right: 0;
        margin: 0 -20px;
    }
    .image-text-flex-2.type-2 .image img {
        width: 100%;
    }
    .image-text-flex-2.type-2 .sub-text-wrap-2 {
        margin-left: 0;
    }

    .sub-text-wrap-11 {
        padding: 55px 10px;
        border-width: 4px;
    }

    .sub-text-wrap-11 .title {
        padding: 20px 35px;
        border-width: 3px;
        font-size: 18px;
        line-height: 20px;
        border-radius: 12px;
    }
    .sub-text-wrap-11 .title p {

        font-size: 13px;
        line-height: 20px;

    }
    .sub-text-wrap-11 .title:after {
        width: 32px;
        height: 32px;
        right: 25px;
        top: -20px;
    }

    .sub-text-wrap-11 .list {
        margin-top: 14px;
    }

    .sub-text-wrap-11 .item {
        border-radius: 12px;
        font-size: 16px;
        line-height: 24px;
        padding: 14px 20px 14px 63px;
        border-width: 3px;
        background-size: 32px 32px;
        background-position: 16px center;
    }

    .sub-text-wrap-11 .item + .item {
        margin-top: 7px;
    }

    .sub-header-type2.type-image-full .inner {
        width: 100%;
        height: auto;
        bottom: 0;
        top: auto;
    }

    .sub-header-type2.color-type-8 .title-3 {
        line-height: 20px;
    }

    .sub-text-wrap-12 .text-box-1 {
        display: flex;
        flex-direction: column-reverse;
        padding-left: 0;
        margin-bottom: 70px;
    }

    .sub-text-wrap-12 .text-box-1 .image {
        padding-left: 64px;
        margin-right: -20px;
    }

    .sub-text-wrap-12 .text-box-1 .text-1 {
        position: static;
        text-align: left;
        margin-top: -20px;
    }
    .sub-text-wrap-12 .text-box-1 .text-1 span {
        font-size: 16px;
        line-height: 31px;
        padding: 0 10px;
        margin-top: 7px;
    }
    .sub-text-wrap-12 .text-box-2 {
        display: block;
        margin: 0 -20px;
    }

    .sub-text-wrap-12 .text-box-2 .image img {
        width: 100%;
    }

    .sub-text-wrap-12 .text-box-2 .text-1 {
        padding: 12px 20px;
        font-size: 12px;
        line-height: 17px;
        text-align: center;
    }

    .sub-text-wrap-12 .text-box-2 .image-2 {
        display: none;
    }

    .sub-text-wrap-12 + .sub-text-wrap-2 {
        padding-left: 0;
    }

    .image-text-flex-6 {
        margin: 70px 0;
    }

    .image-text-flex-6 .list {
        flex-wrap: wrap;
        margin: 0 -4px -60px;
    }

    .image-text-flex-6 .list > div {
        width: calc(50% - 8px);
        margin: 0 4px 8px !important;
    }

    .image-text-flex-6 .list .text {
        padding: 14px 10px;
        order: 1;
        flex: 1
    }

    .image-text-flex-6 .list .image:nth-child(2),
    .image-text-flex-6 .list .image:nth-child(4) {
        order: -1;
    }

    .image-text-flex-6 .list .image:nth-child(2) {
        margin-top: -35px !important;
    }

    .image-text-flex-6 .list .image:nth-child(3) {
        position: relative;
        top: -90px
    }

    .image-text-flex-6 .list .image:nth-child(4) {
        padding-top: 56px;
    }

    .image-text-flex-6 .sub-text-wrap-2 {
        padding-left: 0;
        padding-top: 45px;
    }

    .image-text-flex-6 .list .text {
        font-size: 12px;
        line-height: 17px;
    }

    .sub-notice-3 {
        margin: 0 -20px;
        display: block;
    }

    .sub-notice-3 .text-box-1 {
        padding: 32px 20px;
    }

    .sub-notice-3 .text-box-1 .title {
        padding: 0 26px;
    }

    .sub-notice-3 .text-box-1 .text {
        margin-top: 30px;
        border-radius: 12px;
        padding: 20px 40px 22px;
    }

    .sub-notice-3 .text-box-1 .text strong {
        font-size: 18px;
        line-height: 28px;
    }

    .sub-notice-3 .text-box-1 .point {
        width: 26px;
        height: 26px;
        left: 6px;
        top: -13px;
    }

    .sub-notice-3 .text-box-1 .text p {
        font-size: 14px;
        line-height: 21px;
        margin-top: 5px;
    }

    .sub-notice-3 .text-box-2 {
        padding: 32px 20px;
    }

    .sub-notice-3 .text-box-2 .text-1 {
        font-size: 16px;
        line-height: 21px;
        padding: 5px 20px;
        min-width: 160px;
        text-align: center;
    }

    .sub-notice-3 .text-box-2 .text-2 {
        font-size: 14px;
        line-height: 20px;
        margin-top: 10px;
        padding: 0 6px;
    }

    .sub-notice-3 .text-box-2 .text-2 + .text-1 {
        margin-top: 16px;
    }
    .sub-notice-3 .text-box-2 .text-2 .point {
        flex: none;
        width: 130px;
        margin: -4px -17px 0;
        padding-left: 0;
        position: relative;
        left: -10px;
    }
    .modal-search {
        border-width: 3px;
        top: 43px;
        height: calc(100vh - 43px);
    }

    .search-bar-container .inner,
    .search-keyword-wrap .inner {
        width: 100%;
        box-sizing: border-box;
    }

    .search-bar-container .inner {
        padding: 28px 20px 38px;
    }

    .search-bar input {
        height: 52px;
        line-height: 54px;
        padding: 0 16px;
        font-size: 20px;
        width: 100%;
    }

    .search-bar {
        border-radius: 6px;
    }

    .search-bar .btn-keyword-search {
        flex: none;
        width: 60px;
    }

    .search-bar .btn-keyword-search img {
        width: 30px;
    }

    .btn-keyword-delete {
        flex: none;
        width: 48px;
        height: 48px;
        border-radius: 6px;
        margin-left: 4px;
    }

    .btn-keyword-delete img {
        width: 22px;
    }

    .search-keyword-wrap {
        padding: 24px 24px 40px;
    }

    .search-keyword-box-1 .sub-tag-list {
        padding: 0;
        margin: 0 -2px;
    }
    .search-keyword-wrap .inner {
        display: block;
    }

    .search-keyword-wrap .title {
        font-size: 17px;
        line-height: 32px;
    }

    .search-keyword-box-2 {
        padding-top: 24px;
        margin-top: 24px;
        border-top: 1px solid #ddd;
        padding-left: 0;
        margin-left: 0;
        border-left: 0;
    }

    .search-keyword-box-2 .title {
        margin-bottom: 6px;
    }

    .search-keyword-box-2 em {
        font-size: 18px;
        line-height: 42px;
    }

    .search-keyword-box-2 span {
        font-size: 21px;
        line-height: 42px;
        width: 14px;
        margin-right: 14px;
    }

    .search-result-title {
        padding: 46px 0 40px;
        font-size: 25px;
        line-height: 56px;
        border-width: 3px;
    }

    .search-result-text {
        padding: 22px 0;
        border-bottom: 0;
        font-size: 17px;
        line-height: 32px;
    }

    .search-result-text + .sub-list-wrap {
        padding-top: 0;
    }

    .modal-form {
        display: block;
        margin: 40px 0;
    }

    .modal-form-field input {
        height: 48px;
        font-size: 16px;
    }

    .modal-form-field textarea {
        font-size: 16px;
    }

    .modal-form-field label {
        font-size: 16px;
        width: 80px;
    }

    .modal-checkbox input {
        width: 20px;
        height: 20px;
    }

    .modal-title-2 {
        font-size: 16px;
    }
    .modal-form-field + .modal-form-field {
        margin-left: 0;
        margin-top: 16px;
    }

    .modal-bottom {
        position: fixed;
        bottom: 0;
        left: 0;
        width: 100%;
    }

    .modal-bottom button {
        width: 100%;
    }

    .modal-checkbox label span {
        font-size: 14px;
        line-height: 20px;
    }

    .modal-form + .modal-form {
        margin-top: -24px;
    }
}

@media screen and (min-width: 781px) {
    .sub-list .item:hover img,
    .sub-list-2 .item:hover img {
        transform: scale(1.1);
    }

}

@media (min-width: 2600px) and (max-width: 4000px) {
    .sub-header-type2 .image {
        width: 50%;
    }

    .content-sns .links {
        height: 601px;
    }

    .content-sns .links .image {
        width: 230px;
    }

    .content-sns .links a + a {
        margin-top: 29px;
    }

    .content-sns .links .text {
        font-size: 18px;
        line-height: 24px;
    }
}
@media (min-width: 3001px) and (max-width: 4000px) {
    .content-inner,
    .sub-header-type2 {
        max-width: 2100px;
    }

    .sub-header-type2 .image img {
        max-width: 100%;
    }

    .content-event .list .event-slider,
    .content-event .list > a {
        flex: 1;
    }

    .content-event .list > a img {
        height: 100%;
        max-height: 371px;
    }

    .content-sns .video {
        width: 1180px;
        max-width: 1180px;
        height: auto;
    }

    .content-sns .video > div:first-child {
        height: 622px;
    }

    .content-sns .links {
        height: 622px;
    }

    .content-sns .links .image {
        width: 248px;
        margin-right: 20px;
    }
    .content-sns .links .image img {
        width: 100%;
    }

    .content-sns .links .text {
        font-size: 0.738vw;
        line-height: 1.154vw;
    }
}
table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

th, td {
    border: 1px solid black;
    padding: 8px;
    text-align: center;
}

thead th {
    background-color: #D9E5FF;
}

@media screen and (max-width: 600px) {
    table, thead, tbody, th, td, tr {
        display: block;
    }
    thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }
    tr {
        border: 1px solid #ccc;
        margin-bottom: 5px;
    }
    td {
        border: none;
        border-bottom: 1px solid #eee;
        position: relative;
        padding-left: 50%;
        text-align: left;
    }
    td:before {
        position: absolute;
        top: 50%;
        left: 6px;
        width: 45%;
        padding-right: 10px;
        white-space: nowrap;
        transform: translateY(-50%);
        content: attr(data-label);
    }
    .sub-header-type1.color-type-11 {
        display: none;
    }
    .sub-header-type1.color-type-10 {
        display: none;
    }
    .sub-header-type1.color-type-12 {
        display: none;
    }
    .sub-header-type1.color-type-13 {
        display: none;
    }
    .sub-header-type1.color-type-14 {
        display: none;
    }
    .sub-header-type1.color-type-15 {
        display: none;
    }
    .video-container iframe {
        width: 100%;
        max-width: 500px;
        height: 200px;
        margin: 0px auto;
    }
    .font25 {font-size:15px;}
    .font22 {font-size:14px;}
}
.apply-button:hover {
    background-color: #3F51B5;
}
.apply-button {
    display: block;
    width: 200px;
    margin: 20px auto 0;
    padding: 15px 30px;
    text-align: center;
    background-color: #2196F3;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-size: 25px;
}
@media (max-width: 768px) {
    .content-inner {
        padding: 10px;
    }
    .video iframe {
        width: 100%;
        height: auto;
    }
    .links {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .links .thumbnail {
        width: 100%;
        margin-bottom: 10px;
    }
    .links .thumbnail .image img {
        width: 100%;
        height: auto;
        border: 5px solid transparent; /* 기본적으로 투명 테두리 */
        box-shadow: none; /* 기본적으로 그림자 없음 */
    }
    .thumbnail.selected .image img {
        border: 5px solid #00FF00; /* 형광색 테두리 */
        box-shadow: 0 0 10px #00FF00; /* 형광색 그림자 */
    }
}
.sub-sns {
    position: relative; /* 부모 컨테이너를 기준으로 자식 위치 지정 가능 */
}

.popup {
    position: absolute; /* 부모 요소 .sub-sns를 기준으로 절대 위치 */
    top: -60px;
    /*bottom: 70px; /* 공유 버튼 바로 위에 나타나도록 설정 */
    left: 70%; /* 수평 가운데 정렬 */
    transform: translateX(-50%); /* 수평 중앙 정렬 보정 */
    background-color: white;
    border: 1px solid #ddd;
    padding: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 1000;
    display: none; /* 기본적으로 숨겨진 상태로 시작 */
    gap: 10px;
    border-radius: 40px;
    width: auto; /* 필요에 따라 너비 조정 */
    text-align: center; /* 버튼들이 가운데 정렬되도록 설정 */
}

.popup button {
    padding-left: 0.5vw;
    padding-right: 0.5vw;
    background-color: transparent; /* 배경색 제거 */
    border: none; /* 테두리 제거 */
    cursor: pointer;

}
@media screen and (max-width: 780px) {
    .popup {
        /*display: block; 모바일에서는 팝업 버튼들을 세로로 나열
        position: absolute;

        bottom: 60%;
        margin: 0 auto;
        padding: 10px 0 0;
        text-align: center; */
        width: 180px;
    }

    .popup button {
        display: inline-block;
        width: auto;
        margin-bottom: 0; /* 각 버튼의 하단 여백 추가 */
    }
    .sub-sns .emotion button + button {
        margin-left: 0;
    }
}

.section3 {
    padding: 20px;
    background-color: #f9f9f9;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-width: 1200px;
    margin: 100px auto;
}

.vote {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.question {
    margin-bottom: 50px;
    margin-top: 100px;
}

.ask {
    font-size: 18px;
    font-weight: bold;
    color: #003d86;
    margin-bottom: 10px;
    font-family: 'gs';
}
.ask b {font-size: 30px;
    color: #003d86;
    font-family: 'gs';}

.answer input[type="text"] {
    width: 800px;

    height: 200px;
    padding: 10px;
    margin-left: 30px;
    font-size: 14px;
    border: 1px solid #00BCD4;
    border-radius: 5px;
    box-sizing: border-box;
}

.vote-buttons {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}
input[type="radio"],
input[type="checkbox"] {
    appearance: none; /* 기본 브라우저 스타일 제거 */
    width: 20px;
    height: 20px;
    margin: 0 10px 0 0;
    border: 2px solid #00BCD4; /* 테두리 색상 설정 */
    border-radius: 50%; /* 라디오 버튼은 원형으로 */
    outline: none;
    cursor: pointer;
    position: relative;
    background-color: white; /* 선택되지 않은 상태의 배경색 */
    top: 3px;
}

/* 라디오 버튼과 체크박스의 체크된 상태 스타일 */
input[type="radio"]:checked,
input[type="checkbox"]:checked {
    background-color: #00BCD4; /* 선택된 상태의 배경색 */
    border: 2px solid #00BCD4; /* 선택된 상태의 테두리 색상 */
}

/* 라디오 버튼의 체크 표시 스타일 */
input[type="radio"]:checked::after {
    content: '✔'; /* 체크 표시로 사용할 문자 */
    font-size: 14px;
    color: white; /* 체크 표시 색상 */
    position: absolute;
    top: 0px;
    left: 3px;
}

/* 체크박스의 체크 표시 스타일 */
input[type="checkbox"]:checked::after {
    content: '✔'; /* 체크 표시로 사용할 문자 */
    font-size: 14px;

    color: white; /* 체크 표시 색상 */
    position: absolute;
    top: 0px;
    left: 3px;
}

/* 라벨에 대한 스타일 */
label {
    margin-left: 5px;
    font-weight: bold; /* 라벨 텍스트를 볼드로 표시 */
    color: #333; /* 라벨 텍스트 색상 */
}
/* 섹션 배경
.section3 {
    background: linear-gradient(135deg, #f0f8ff, #dcdcdc);
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    max-width: 600px;
    margin: 0 auto;
    font-family: 'Arial', sans-serif;
}

.vote {
    list-style: none;
    padding: 0;
    margin: 0;
}

.vote .question {
    margin-bottom: 20px;
}

.vote .ask {
    font-size: 1.2em;
    font-weight: bold;
    color: #333;
    margin-bottom: 10px;
    position: relative;
}

.vote .ask span b {
    font-size: 1.5em; /* Q 크기 확대 */
color: #ff6347; /* 눈에 띄는 색 (토마토 색상) */
margin-right: 10px;
}


.btn {
    padding: 10px 20px;
    font-size: 14px;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    color: #fff;
}

.btn-gray {
    background-color: #555;
    transition: background-color 0.3s;
}

.btn-gray:hover {
    background-color: #373bcd;
}
.vote-buttons {
    display: flex;
    justify-content: center; /* 가로 중앙 정렬 */
    align-items: center; /* 세로 중앙 정렬 */
    margin-top: 20px; /* 위쪽 여백 추가 */
}

/* 참여하기 버튼 스타일 */
.poll-submit {
    background-color: #003d86; /* 버튼 배경색 */
    border: none; /* 테두리 제거 */
    color: white; /* 텍스트 색상 */
    padding: 12px 24px; /* 패딩으로 버튼 크기 조정 */
    border-radius: 8px; /* 모서리를 둥글게 */
    font-size: 18px; /* 글자 크기 */
    font-family: 'gs';
    cursor: pointer; /* 마우스 커서 변경 */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* 버튼에 그림자 추가 */
    transition: background 0.3s, transform 0.2s; /* 부드러운 색상 변화 및 크기 변화 */
}

/* 참여하기 버튼 비활성화 상태 */
.poll-submit[disabled] {
    background: #dddddd; /* 비활성화 상태 배경색 */
    color: #888888; /* 비활성화 상태 텍스트 색상 */
    cursor: not-allowed; /* 비활성화 상태 커서 */
    box-shadow: none; /* 비활성화 상태에서 그림자 제거 */
}

/* 참여하기 버튼 호버 효과 */
.poll-submit:hover:not([disabled]) {
    background-color: #0056b3; /* 호버 시 색상 변화 */
    transform: scale(1.05); /* 살짝 확대 효과 */
}
@media screen and (max-width: 768px) {

    .answer input[type="text"] {
        width: 340px;

        height: 200px;
        padding: 10px;
        margin-left: 10px;

    }
    .question {
        margin-bottom: 30px;
        margin-top: 50px;
    }
}
.underline-type-1 {
    text-decoration: none;
    display: inline;
    box-shadow: inset 0 -24px 0 #9c27b02b;
    font-size: inherit;
    color: #000;
}
@media screen and (max-width: 780px) {
    .underline-type-1 {
        box-shadow: inset 0 -22px 0 #9c27b02b;
    }
}

.flag {
    display:inline-block;
    width:24px; height:18px;
    background-size:cover;
    vertical-align:middle;
}
.flag.pt {
    background-image:url("https://flagcdn.com/w20/pt.png");
}
/* =========================================================
   아이디어 제안 팝업 최종 높이 보정
   반드시 CSS 파일의 가장 마지막에 위치해야 함
   ========================================================= */
#messageSend.modal-popup {
    overflow: hidden !important;
}

#messageSend .modal-popup-flex {
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 0 !important;
    padding: 8px 0 !important;
    overflow: hidden !important;
    box-sizing: border-box;
    align-items: center !important;
}

#messageSend .modal-popup-content {
    width: 600px !important;
    max-width: calc(100% - 24px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100vh - 16px) !important;
    max-height: calc(100dvh - 16px) !important;
    margin: 0 auto !important;
    padding: 28px 32px 22px !important;
    overflow: hidden !important;
    box-sizing: border-box;
}

#messageSend .modal-guide > br:first-child {
    display: none !important;
}

#messageSend .modal-title {
    font-size: 26px !important;
    line-height: 34px !important;
}

#messageSend .modal-title::after {
    margin-top: 10px !important;
}

#messageSend .modal-title-2 {
    margin: 12px 0 0 !important;
    font-size: 16px !important;
    line-height: 23px !important;
}

/* 전체 팝업이 아니라 개인정보 박스에만 스크롤 생성 */
#messageSend .modal-popup-texts {
    height: clamp(105px, 21vh, 165px) !important;
    height: clamp(105px, 21dvh, 165px) !important;
    max-height: none !important;
    margin-top: 14px !important;
    padding: 14px 16px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
    box-sizing: border-box;
    font-size: 14px !important;
    line-height: 21px !important;
}

#messageSend .modal-popup-texts h2 {
    margin-top: 12px !important;
    margin-bottom: 4px !important;
    font-size: 16px !important;
    line-height: 23px !important;
}

#messageSend .modal-checkbox {
    margin-top: 10px !important;
    padding: 10px 12px !important;
}

#messageSend .modal-form {
    margin: 12px 0 0 !important;
    gap: 14px !important;
}

#messageSend .modal-form-field input {
    height: 42px !important;
}

#messageSend .modal-form-field textarea {
    height: 72px !important;
    min-height: 72px !important;
    padding: 12px !important;
}

#messageSend .modal-bottom {
    margin-top: 12px !important;
}

#messageSend .modal-bottom button {
    height: 44px !important;
    line-height: 42px !important;
}

/* 세로가 특히 짧은 화면 */
@media screen and (max-height: 760px) {
    #messageSend .modal-popup-content {
        padding: 20px 28px 16px !important;
    }

    #messageSend .modal-title {
        font-size: 23px !important;
        line-height: 30px !important;
    }

    #messageSend .modal-title-2 {
        margin-top: 8px !important;
        font-size: 15px !important;
        line-height: 21px !important;
    }

    #messageSend .modal-popup-texts {
        height: 95px !important;
        margin-top: 10px !important;
    }

    #messageSend .modal-checkbox {
        margin-top: 8px !important;
        padding: 8px 10px !important;
    }

    #messageSend .modal-form {
        margin-top: 8px !important;
    }

    #messageSend .modal-form-field textarea {
        height: 58px !important;
        min-height: 58px !important;
    }

    #messageSend .modal-bottom {
        margin-top: 8px !important;
    }
}

/* 모바일에서는 폼을 조금 더 촘촘하게 */
@media screen and (max-width: 780px) {
    #messageSend .modal-popup-flex {
        padding: 8px !important;
    }

    #messageSend .modal-popup-content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 24px 18px 18px !important;
    }

    #messageSend .modal-title {
        padding: 0 34px !important;
        font-size: 22px !important;
        line-height: 29px !important;
    }

    #messageSend .modal-title-2 {
        font-size: 14px !important;
        line-height: 20px !important;
    }

    #messageSend .modal-popup-texts {
        height: clamp(90px, 20dvh, 135px) !important;
        padding: 12px 14px !important;
    }

    #messageSend .modal-form {
        margin-top: 10px !important;
    }

    #messageSend .modal-form-field textarea {
        height: 64px !important;
        min-height: 64px !important;
    }
}
