body {
    overflow: initial;
}
/* sub_head */
.sub_head {
    position: relative;
}
.sub_head_title {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    text-align: center;
    color: #fff;
}
.sub_head_title h3 {
    font-size: 24px;
    font-weight: 700;
    color: #d3fff0;
}
.sub_head_title h2 {
    font-size: 72px;
    font-weight: 400;
    margin: 20px auto 30px;
}
.sub_head_title p {
    font-size: 20px;
    font-weight: 400;
}
#scroll {
    position: absolute;
    bottom: 57px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 160%;
    z-index: 1;
    letter-spacing: 0;
}
#scroll img {
    margin-top: 8px;
}

/* sub_menu */
.sub_menu {
    background-color: #fff;
}
.sub_menu ul {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}
.sub_menu a {
    line-height: 80px;
    display: inline-block;
    font-size: 18px;
    font-weight: 400;
    color: #9b9b9b;
    width: 220px;
    text-align: center;
    transition: all 0.2s;
    position: relative;
}
.sub_menu a:after {
    content: '';
    display: block;
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 1px;
    background-color: #c8c8c8;
    transition: all 0.2s;
}
.sub_menu a:hover {
    color: #333;
    font-weight: 700;
}
.sub_menu a:hover::after {
    height: 2px;
    background-color: #000;
}

/* intro01 */
.intro01 {
    background-image: url(../img/sub/intro01_bg.jpg);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 148px 0px 112px;
}
.intro01 h3 {
    font-size: 16px;
    font-weight: 700;
    color: #666;
    letter-spacing: 0.16rem;
}
.intro01 h2 {
    font-size: 50px;
    font-weight: 700;
    color: #111;
    margin: 18px 0px 33px;
}
.intro01 h2 span {
    color: #46675c;
}
.intro01 p {
    font-size: 20px;
    font-weight: 400;
    line-height: 180%;
    color: #333;
}
.intro01 p span {
    color: #46675c;
    font-weight: 700;
}
.intro01_con {
    display: flex;
    align-items: flex-start;
    margin-top: 44px;
    text-align: center;
}
.intro01_con h4 {
    font-size: 18px;
    font-weight: 400;
    line-height: 180%;
    color: #333;
    margin-bottom: 8px;
}
.intro01_con h4 span {
    font-weight: 700;
}
.intro01_con02 {
    margin: 0px 28px;
}

/* intro02 */
.intro02_title {
    padding: 187px 0px 247px;
    text-align: center;
}
.intro02_title h2 {
    font-size: 44px;
    font-weight: 700;
    line-height: 140%;
    color: #46675c;
    letter-spacing: 4.4px;
}
.intro02_title p {
    font-size: 20px;
    font-weight: 400;
    line-height: 180%;
    color: #333;
    margin-top: 41px;
}
.intro02_con > div {
    display: flex;
    align-items: stretch;
}
.intro02_con > div > * {
    width: 50%;
}
.intro02_img img {
    position: sticky;
    top: 0px;
}
.intro02_txt {
    padding-left: 320px;
    padding-top: 107px;
    padding-bottom: 120px;
    border-radius: 0px 50px 0px 0px;
    background-image: url(../img/sub/intro02_txt.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}
.intro02_con02 .intro02_txt {
    background: none;
}
.intro02_txt h3 {
    font-size: 20px;
    font-weight: 400;
    line-height: 160%;
    color: #000;
}
.intro02_txt h4 {
    font-size: 42px;
    font-weight: 700;
    color: #46675c;
    margin: 17px 0px 30px;
    letter-spacing: 4.2px;
}
.intro02_txt h4 span {
    font-weight: 400;
    letter-spacing: -1.05px;
    margin-right: 15px;
}
.intro02_line {
    width: 100%;
    height: 1px;
    background-color: #ccc;
    margin-bottom: 30px;
}
.intro02_txt h5 {
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 600;
    color: #000;
    gap: 10px;
    line-height: 180%;
}
.intro02_txt h5:first-of-type {
    margin-bottom: 5px;
}
.intro02_txt h6 {
    font-size: 24px;
    font-weight: 700;
    color: #46675c;
    margin-bottom: 20px;
    margin-top: 41px;
}
.intro02_txt h6:last-of-type {
    margin-top: 60px;
}
.intro02_txt p {
    font-size: 18px;
    font-weight: 400;
    color: #333;
    line-height: 180%;
}
.intro02_txt p span {
    font-size: 16px;
    font-weight: 700;
    color: #333;
    line-height: 160%;
    margin-bottom: 10px;
    display: inline-block;
}

/* intro03 */
.intro03 {
    background-color: rgba(207, 207, 207, 0.2);
    padding-top: 191px;
    padding-bottom: 245px;
    text-align: center;
}
.intro03 h2 {
    font-size: 46px;
    font-weight: 400;
    line-height: 140%;
    color: #111;
    margin: 30px auto 133px;
}
.intro03 h2 span {
    color: #46675c;
    font-weight: 700;
}
.intro03_con > div {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    text-align: left;
}
.intro03_con > div > * {
    width: 50%;
}
.intro03_con > *:nth-child(even) {
    flex-direction: row-reverse;
}
.intro03_con > *:nth-child(odd) .intro03_txt {
    padding-left: 88px;
}
.intro03_txt h4 {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
    color: #666;
    position: relative;
}
.intro03_txt h4::after {
    content: '';
    display: block;
    position: absolute;
    left: 114px;
    top: 0px;
    border-radius: 100%;
    width: 4px;
    height: 4px;
    background-color: #46675c;
}
.intro03_txt h3 {
    font-size: 32px;
    font-weight: 400;
    line-height: 140%;
    color: #111;
    margin: 10px 0px 40px;
}
.intro03_txt h3 span {
    font-weight: 700;
    color: #46675c;
}
.intro03_txt p {
    font-size: 20px;
    font-weight: 400;
    line-height: 180%;
    color: #666;
}

/* intro04 */
.intro04 {
    text-align: center;
    padding-top: 188px;
    overflow: hidden;
}
.intro04_title h3 {
    font-size: 24px;
    font-weight: 700;
    line-height: 140%;
    color: #46675c;
}
.intro04_title h2 {
    font-size: 46px;
    font-weight: 400;
    line-height: 140%;
    color: #222;
    margin: 10px auto 29px;
}
.intro04_title p {
    font-size: 20px;
    font-weight: 400;
    line-height: 140%;
    color: #333;
}
.intro04_page_wrap {
    background: linear-gradient(180deg, #f0f0f0 -27.37%, #f7f7f7 174.74%);
    margin-top: 73px;
}
.intro04 .intro04_page {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 50px;
}
.intro04 .intro04_page span {
    background-color: transparent;
    width: auto;
    height: auto;
    line-height: 80px;
    border-radius: 0px;
    opacity: 0.5;
    font-size: 20px;
    font-weight: 500;
    color: #173348;
    padding: 0px 50px;
    border-bottom: 2px solid #666666;
}
.intro04 .intro04_page span.swiper-pagination-bullet-active {
    opacity: 1;
    font-weight: 700;
    border-bottom: 2px solid #173348;
}

/* main_info */
.main_info {
    background-color: #fff;
    padding: 163px 0px 166px;
}
.main_info h3 {
    font-size: 24px;
    font-weight: 700;
    color: #666;
}
.main_info_title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 29px 0px 50px;
}
.main_info_title a {
    font-size: 52px;
    font-weight: 700;
    color: #46675c;
    transition: all 0.2s;
}
.main_info_title a:hover {
    opacity: 0.7;
}
.main_info_title a img {
    margin-left: 30px;
}
.main_info_title p {
    font-size: 24px;
    font-weight: 400;
    line-height: 160%;
    display: flex;
    align-items: center;
    color: #333;
}
.main_info_title p span {
    font-size: 16px;
    font-weight: 700;
    display: inline-block;
    border-radius: 99px;
    color: #fff;
    padding: 0px 17px;
    margin-right: 8px;
    background-color: #697215;
    line-height: 31px;
}
