body {
    margin: 0;
    width: 100vw;
    min-height: calc(100vh - 100px - 200px);

    box-sizing: border-box;
    overflow-x: hidden;
    background-color: #fff;
    font-family: 'Noto Sans JP', 'Noto Serif JP', serif;
    /* color: #000; */
    color: #3f3f3f;

    display: flex;
    flex-direction: column;
    align-items: center;
}
.normal		{ font-weight: 400 }
.bold		{ font-weight: 700 }
.bolder		{ font-weight: 800 }
.light		{ font-weight: 300 }


*, ::after, ::before {
    /* box-sizing: border-box; */
    box-sizing: content-box;
}
/* 버튼 클릭했을 때 테두리 제거 */
button:focus,
button:active {
    outline: none;
    box-shadow: none;
}



/* 페이지 스크롤바 커스텀 */
body::-webkit-scrollbar {
    width: 10px;
}
body::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: #bebebe;
}
body::-webkit-scrollbar-track {
    border-radius: 5px;
    background-color: #f1f1f1;
}
body::-webkit-scrollbar-corner {        /* Optionally, you can style the scrollbar corner */
    background-color: #888; /* Set the background color of the corner */
}


/* common */
hr {
    /* width: calc(100% - 20px - 20px); */
    width: 100%;
    height: 1px;

    display: block;
    border: none;
    border-top: 1px solid #ccc;

    box-sizing: border-box;
    margin: 0;
    /* padding: 0 20px; */
}
/* 사용자화 css 리셋 */
p {
    margin-block-start: 0;
    margin-block-end: 0;
    margin-inline-start: 0;
    margin-inline-end: 0;
    unicode-bidi: isolate;

    margin: 0;
}
/* div, span, input, li, ul, footer {
    font-family: 'Pretendard';
} */
a, a:hover, a:focus {
    /* all: unset; */
    cursor: pointer;
    text-decoration: none;
    color: inherit;
}
a.noDecoration {
    text-decoration: none;

    display: flex;
    justify-content: center;
    align-items: center;
}











/* 화면폭 1300px ~ */
.innerBody {
    width: 1200px;

    display: flex;
    flex-direction: column;
    align-items: center;
}
.topArea {
    width: 100%;
    margin-top: 10px;

    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    font-size: 14px;
}



    .rightTop { 
        /* width: 150px; */
        width: auto;
        display: flex;
        flex-direction: row;
        justify-content: flex-end;
        align-items: flex-end;
    }
        .topmenu {
            box-sizing: border-box;
            padding: 0 10px;

            /* display: flex;
            justify-content: center;
            align-items: center; */
            
            cursor: pointer;
        }
        .verticalBar {
            margin: 0 2px;
        }

        #loggedinMember {
            position: relative;

            /* 자식이 영역을 벗어나도 보이도록 허용 */
            overflow: visible;
        }

    /* 로그인 후, 닉네임 클릭하면 마이메뉴 표시 */
    #myMenuArea {
        position: relative;
    }
    .header.myMenuCover {
        position: absolute;
        top: 30px;
        left: -40px;

        /* width: 300px; */
        /* height: 120px; */

        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        gap: 18px;

        box-sizing: border-box;
        padding: 30px 28px;

        background-color: #f7f7f7;
        /* background-color: #ddd; */
        border: 1px solid #ccc;
        border-radius: 14px;

        font-size: 16px;
        font-weight: 700;

        box-shadow: 2px 2px 7px rgba(0, 0, 0, 0.2); 
    }
        .header.myMenuItem {
            cursor: pointer;
        }
        .header.myMenuItem:hover {
            color: #E66419;
        }





.secondTierArea {
    width: 100%;
    height: auto;

    display: flex;
    flex-direction: row;
    align-items: stretch; /* 기본값, 자식 모두 부모 높이만큼 늘림 */
    justify-content: space-between;
}
    /* 로고 영역 */
    .titleCover {
        /* width: 260px; */
        /* width: 100%; */
        width: auto;
        /* height: 200px; */
        height: auto;

        display: flex;
        align-items: center;
        justify-content: center;
    }
        h1.title {
            /* width: 100%; */
            width: 260px;
            margin: 0;
            /* margin-top: 20px;
            margin-bottom: 40px; */
        }
        .bizLogo {
            width: 100%;
            /* height: 118px; */
            /* height: 100%; */
        }

        .sloganCover {
            /* width: 300px; */
            width: auto;
            height: 100%;

            box-sizing: border-box;
            margin-left: 15px;
            /* margin-bottom: 20px; */

            display: flex;
            /* flex: 1; */
            flex-direction: column;
            /* align-items: flex-end; */
            justify-content: flex-end;
            row-gap: 12px;

            font-size: 16px;
            font-weight: 600;
            color: #E66419;
            line-height: 1.1;

            white-space: pre-line;      /* 줄바꿈 처리 */
        }

            .gradient {
                font-weight: bold;
                background: linear-gradient(
                    /* 45deg, #E66419, #FFCC3C, orange, #E66419, #FFCC3C, orange */
                    45deg, #E66419, #FFCC3C, orange, #E66419, orange
                );
                -webkit-background-clip: text; /* 텍스트 영역에만 배경 보이게 */
                -webkit-text-fill-color: transparent; /* 글자 색 투명 */
                
                /* 비웹킷 브라우저용 */
                background-clip: text;
                color: transparent;
            }

            .slogan2 {
                margin-bottom: 27px;
            }






    /* 상단 메뉴+검색 영역 커버 */
    .navSearchCover {
        /* width: 100%; */
        /* height: 50px; */
        /* height: 100%; */
        /* padding-bottom: 7px; */
        /* padding-bottom: 9px; */

        display: flex;
        flex-direction: row;
        align-items: flex-end;
        justify-content: space-between;

        /* border-bottom: 3px #777 solid; */
    }


        /* 검색 영역 */
        .searchCover {
            width: 300px;

            display: flex;
            flex-direction: row;
            justify-content: space-between;

            gap: 5px;
        }

            .searchOptions {
                width: 100px;
                /* height: 40px; */
                height: 30px;

                /* 디폴트 스타일 제거 */
                -moz-appearance: none;
                -webkit-appearance: none;
                appearance: none;
                /* border: 1px solid lightgray; */
                border: 1px solid #dfdfdf;
                /* border-radius: 5px; */
                border-radius: 9px;

                /* font-size: 1rem; */
                font-size: 14px;
                line-height: 1.2rem;

                box-sizing: border-box;     /* 박스 외부로 컨텐츠 넘치는 것 방지 */
                padding: 3px 10px 3px 10px;    /* Top Right Bottom Left */
            }

            .searchBox {
                box-sizing: border-box;     /* 박스 외부로 컨텐츠 넘치는 것 방지 */
                padding: 0 10px;

                /* border: 1px solid; */
                /* border-color: lightgray; */
                border: 1px solid #dfdfdf;
                /* border-radius: 5px; */
                border-radius: 9px;

                width: 110px;
                /* height: 40px; */
                height: 30px;

                /* font-size: 1rem; */
                font-size: 14px;
                line-height: 1.2rem;
            }

            button#searchButton {
                width: 80px;
                /* height: 40px; */
                height: 30px;

                border: 0 solid;
                /* border-radius: 5px; */
                border-radius: 9px;

                padding: 0;

                background-color: #E66419;
                color: #FFF;
                /* font-size: 1rem; */
                font-size: 14px;
                cursor: pointer;
                transition: background-color 0.3s ease;
            }
                /* button:hover {
                    border: 1px solid;
                    background-color: gray;
                } */
                button:focus {
                    border: 1px solid;
                    /* box-shadow: 0 0 5px rgba(0, 0, 0, 0.3); */
                    /* box-shadow: 0 0 5px rgba(230, 100, 25, 0.3); */
                }



.thirdTierArea {
    width: 100%;

    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}

    /* 상단 메뉴 영역 */
    .topMenuNav {
        /* width: 800px; */
        width: 100%;
        margin: 20px 0;
        padding: 0 20px;

        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;

        font-size: 18px;
        font-weight: 700;
    }
    .topMenuNav.pcMenu {
        height: 36px;
        display: flex;
        align-items: center;
    }
        .menuButton {
            height: 100%;

        }
        .menuButton:hover {
            height: 100%;
            color: #E66419;
            border-top: 3px solid transparent;
            border-bottom: 3px solid #E66419;

            cursor: pointer;
        }

        .menuButton.selected {
            color: #E66419;
            border-top: 3px solid transparent;
            border-bottom: 3px solid #E66419;
        }
























/* 모바일 정의 */
/* 표준 모바일 사이즈보다 1픽셀씩 작게 최대폭 지정 */
/* 커스텀. 기본 화면 1200 전까지 */
@media screen and (max-width: 1219px) {     /* 태블릿 이하 (예: iPad 세로 포함) */


    /* 태블릿 이하 (예: iPad 세로 포함) */
    /* @media screen and (max-width: 1023px) { */

    /* 공통 */
    ::-webkit-scrollbar { display: none; }      /* Chrome, Safari, Edge	스크롤바 숨기기 */
    
    .innerBody {
        width: calc(100vw - 20px);

        display: flex;
        flex-direction: column;
        align-items: center;
    }
}


/* 커스텀. 288 + 16 + 288 + 16 + 288 + 10 * 2 = 916 */
@media screen and (max-width: 915px) {      

    /* 공통 */
    ::-webkit-scrollbar { display: none; }      /* Chrome, Safari, Edge	스크롤바 숨기기 */

    .innerBody {
        width: calc(100vw - 20px);

        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .secondTierArea {
        width: 100%;
        /* flex-direction: row; */
        flex-wrap: wrap;
        align-items: flex-end;
        /* justify-content: space-between; */
        justify-content: center;
    }
        .titleCover {
            align-items: flex-end;
        }

    /* 검색 영역 좌우에 맞게 */
    .navSearchCover {
        width: 100%;
        justify-content: flex-end;
    }
}


/* 모바일 일반 (갤럭시, 아이폰 포함) */
@media screen and (max-width: 767px) {

    /* 공통 */
    ::-webkit-scrollbar { display: none; }      /* Chrome, Safari, Edge	스크롤바 숨기기 */

    .innerBody {
        width: calc(100vw - 20px);

        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .secondTierArea {
        width: 100%;
        flex-direction: column;
        align-items: flex-end;
        justify-content: space-between;
    }

        .titleCover {
            width: 100%;
            margin-left: auto;
            margin-right: auto;
        }
            h1.title {
                width: calc(100% - 20px);
                max-width: 260px;
            }

    .topMenuNav.pcMenu {
        /* height: auto;
        flex-wrap: wrap;
        row-gap: 20px; */
        gap: 30px;

        /* 좌우 스크롤 가능하도록 */
        overflow-x: auto;
        overflow-y: hidden;
        white-space: nowrap;    /* 줄바꿈 방지 >> 가로로 나열 */
        -webkit-overflow-scrolling: touch; /* iOS에서 부드러운 스크롤 */


        scrollbar-width: none;      /* Firefox	스크롤바 숨기기 */
        -ms-overflow-style: none;       /* IE, Edge 구버전	스크롤바 숨기기 */
    }
}


/* 슬로건 재배치 목적 */
@media screen and (max-width: 600px) {

    .titleCover {
        flex-direction: column;
        align-items: center;
    }
        .slogan {
            text-align: center;
        }

}


















