@charset "UTF-8";

/* sub - common */
.sub-wrap {
	padding: 21rem 0 12rem;
	background: url('../images/sub/sub-wrap-background.png') no-repeat center top;
	background-size: auto;
	overflow: hidden; 
}

.section-title-box {
	margin-bottom: 4rem;
}
.section-title-box .section-title {
	font-size: var(--fs-40);
	font-weight: 700;
}
.section-title-box .section-desc {
	margin-top: 3rem;
	font-size: var(--fs-20);
	word-break: keep-all;
}

.page-title-box {
	margin-bottom: 28rem;	
} 
.page-title-box .inner {
	position: relative;
}
.page-title-box .page-title { 
	font-size: var(--fs-116); 
	font-weight: 700;
	line-height: 1;
}
.page-title-box .page-sub-title {
	margin: 3rem 0 2rem;
	font-size: var(--fs-28);
	font-weight: 700;
	line-height: 1;
}
.page-title-box .page-desc {
	font-size: var(--fs-20);
}
.page-title-box .scroll-box {
	position: absolute;
	top: calc(100% - 4rem);
	right: 0;
}

.member-btn-box {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 4rem;
}
.member-btn-box .default-btn {
	width: 30rem;
	height: 6rem;
	font-size: var(--fs-20);
	font-weight: 700;
	color: var(--color-white);
	letter-spacing: -0.02em;
	background-color: var(--color-primary);
}
.member-btn-box .default-btn:hover {
	background-color: var(--color-primary-hover);
}

/* member - login */
.login-box .logo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 5.8rem;
}
.login-box .inner {
	max-width: 46rem;
}
.login-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}
.login-form .input-box {
	display: flex;
	gap: 1.4rem;
	background-color: var(--color-bg);
	border: 1px solid var(--color-line);
	padding: 2rem;
	transition: border-color 0.2s ease;
}
.login-form .input-box:focus-within {
	border-color: var(--color-primary);
}
.login-form .input-box .ico {
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
	background-repeat: no-repeat;
	background-position: center;
}
.login-form .input-box .ico-user {
	background-image: url('../images/common/ico-user-id.svg');
}
.login-form .input-box .ico-lock {
	background-image: url('../images/common/ico-user-pw.svg');
}
.login-form .input-box input {
	width: 100%;
	border: none;
	outline: none;
	box-shadow: none;
}
.login-form .input-box input:focus,
.login-form .input-box input:focus-visible {
	border: none;
	outline: none; 
	box-shadow: none;
}
.login-form .input-box input:placeholder {
	color: var(--color-text-muted);
}
.login-form .form-util {
	display: flex;
	justify-content: space-between;
	margin: 1.5rem 0 4rem;
}
.login-form .form-util .link-list {
	display: flex;
	align-items: center; 
	gap: 2.5rem;    
} 
.login-form .form-util .link-list li {
	position: relative;
}
.login-form .form-util .link-list li:not(:last-child):after {
	content: '';
	position: absolute;
	top: 50%;
	right: -1.2rem;
	transform: translateY(-50%);
	width: 1px;
	height: 1.2rem;
	background-color: var(--color-line);
}
.login-form .form-util .link-list a {
	font-size: var(--fs-14);
	color: var(--color-text-muted);
}
.login-form .login-btn {
	width: 100%;
	height: 6rem;
	color: var(--color-text-inverse);
	font-size: var(--fs-20);
	font-weight: 700;
	background-color: var(--color-primary);
	box-shadow: none;
	transition: background-color 0.2s ease;
}
.login-form .login-btn:hover {
	background-color: var(--color-primary-hover);
}
.login-box .sns-login-box {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	margin-top: 4rem;
}
.login-box .sns-login-title-box {
	position: relative;
	width: 100%;
	text-align: center;
}
.login-box .sns-login-title-box:before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 1px;
	background-color: var(--color-line-dark);
	z-index: -1;
}
.login-box .sns-login-title {
	position: relative;
	display: inline-block;
	padding: 0 1.8rem;
	font-size: var(--fs-20);
	font-weight: 500;
	color: var(--color-text-muted);
	background-color: var(--color-bg);
}
.login-box .sns-login-list {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2rem;
}

/* member - agree */
.member-box {
	background-color: var(--color-bg);
	border-radius: 2rem;
	border: 1px solid var(--color-line);
}
.member-box .member-title {
	padding: 3rem;
	border-bottom: 1px solid var(--color-line);
}
.member-box .member-title-text {
	font-size: var(--fs-22);
	font-weight: 600;
}
.agree-box .agree-form {
	padding: 4rem 3rem;
}
.agree-box .agree-all { 
	margin-bottom: 5rem;
}
.agree-box .agree-all .check-box {
	align-items: center;
}
.agree-box .agree-all .check-box .txt {
	font-size: var(--fs-20);
	line-height: 1;
}
.agree-box .agree-list .agree-item + .agree-item {
	margin-top: 4rem;
}
.agree-box .agree-list .agree-item:last-child {
	border-bottom: 1px solid var(--color-line);
}
.agree-box .agree-list .check-box {
	margin-bottom: 2rem;
}
.agree-box .agree-list .check-box .txt {
	padding-left: 2.5rem;
	font-size: var(--fs-18);
	font-weight: 500;
}
.agree-box .agree-list .check-box .txt:before {
	width: 1.5rem;
	height: 1.5rem;
	top: .5rem;
	border-radius: 2px;
}
.agree-box .agree-list .check-box input[type="checkbox"]:checked + .txt:before {
	background-size: 1.3rem;
}
.agree-box .agree-list .check-box .txt .required {
	font-style: normal;
	color: var(--color-primary);
}
.agree-box .agree-list .agree-cont {
	width: 100%;
	max-height: 28rem;
	overflow: hidden;
	overflow-y: auto;
	padding: 2rem;
	background: var(--color-bg-gray);
	border: 1px solid var(--color-line);
}
.agree-box .agree-list .agree-cont * {
	line-height: 1.5;
}
.agree-box .agree-list .agree-cont strong {
	font-size: var(--fs-20);
}
.agree-box .agree-list .agree-cont p {
	font-size: var(--fs-14);
}
.agree-box .agree-list .agree-cont li {
	font-size: var(--fs-14);
}

/* member - join-complete */
.complete-box {
	display: flex;
	align-items: center;
	flex-direction: column;
	gap: 4rem;
	padding: 12rem 4rem;
}
.complete-box.narrow {
	padding: 2rem;
}
.complete-box .txt-box {
	text-align: center;
}
.complete-box .box-title {
	margin-bottom: 3rem;
	font-size: var(--fs-40);
	font-weight: 500;
}
.complete-box .box-cont {
	font-size: var(--fs-20);
	line-height: 1.6;
}
.complete-box .complete-btn {
	width: 46rem;
	line-height: 6rem;
	font-size: var(--fs-20);
	font-weight: 700;
	color: var(--color-white);
	letter-spacing: -0.02em;
	text-align: center;
	background-color: var(--color-primary);
}
.complete-box .complete-btn:hover {
	background-color: var(--color-primary-hover);
}

/* member - join-doctors */
.complete-box .doctor-cont {
	color: var(--color-text-dark);
	word-break: keep-all;
}
.complete-box .doctor-cont strong {
	font-weight: 700;
	color: var(--color-text);
}
.complete-box .doctor-cont em {
	font-style: normal;
	font-weight: 600;
	color: var(--color-primary);
}
.approve-box {
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	width: 100%;
	max-width: 60rem;
}
.approve-info-list {
	padding: 3rem;
	background-color: var(--color-bg-gray);
	border-radius: 1rem;
}
.approve-info-list .info-item {
	display: flex;
	align-items: baseline;
	gap: 2rem;
}
.approve-info-list .info-item + .info-item {
	margin-top: 1.6rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--color-line);
}
.approve-info-list dt {
	flex: 0 0 12rem;
	font-size: var(--fs-16);
	font-weight: 500;
	color: var(--color-text-muted);
}
.approve-info-list dd {
	font-size: var(--fs-18);
	line-height: 1.5;
	color: var(--color-text-dark);
	word-break: keep-all;
}
.approve-info-list dd strong {
	font-weight: 700;
	color: var(--color-primary);
}
.approve-notice {
	font-size: var(--fs-15);
	color: var(--color-text-muted);
	text-align: center;
	word-break: keep-all;
}

/* member - join */
.join-form {
	width: calc(100% - 3rem);
	max-width: 68rem;
	padding: 4rem;
	margin: 0 auto;
}
.join-form .join-desc {
	margin-bottom: 4rem;
	font-size: var(--fs-20);
	font-weight: 600;
}
.join-form .form-item {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 4rem ;
}
.join-form .form-item[hidden] {
	display: none;
}
.join-form .form-item .label {
	font-size: var(--fs-18);
	font-weight: 500;
	line-height: 1;
}
.join-form .form-item .label .required {
	color: var(--color-primary);
}
.join-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.join-form .form-group select,
.join-form .form-group input[type="text"],
.join-form .form-group input[type="tel"],
.join-form .form-group input[type="password"],
.join-form .form-group input[type="email"] {
	width: 100%; 
	height: 6rem;
	padding: 0 3rem;
	border-radius: .5rem;
	border: 1px solid var(--color-line);
	background-color: var(--color-bg);
}
.join-form .form-group .phone-box {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.join-form .form-group .phone-box select {
	width: 25rem;
	padding: 0 1.5rem;
	background: var(--color-bg) url('../images/common/ico-select-down.svg') no-repeat right 1.5rem center / 1rem;
}
.join-form .form-group .input-btn-box {
	display: flex;
	gap: 1rem;
}
.join-form .form-group .check-btn {
	flex: 0 0 auto;
	width: 16rem;
	height: 6rem;
	font-weight: 500;
	color: var(--color-white);
	background-color: var(--color-text-muted);
	border: 1px solid var(--color-text-muted);
	border-radius: 0.5rem;
}
.join-form .form-group .check-btn.code-btn {
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}
.join-form .form-group .form-approve,
.join-form .form-group .form-guide,
.join-form .form-group .form-msg {
	font-size: var(--fs-14);
	line-height: 1;
}
.join-form .form-group .form-msg.error {
	color: var(--color-primary);
}
.join-form .form-group .form-msg.success {
	color: var(--color-success);
}
.join-form .type-list {
	display: flex;
	gap: 1rem;
}
.join-form .type-item {
	flex: 1;
	cursor: pointer;
}
.join-form .type-item input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.join-form .type-item .txt {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 6rem;
	font-size: var(--fs-16);
	font-weight: 500;
	color: var(--color-text-muted);
	background-color: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: .5rem;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.join-form .type-item input:checked + .txt {
	font-weight: 700;
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.join-form .type-item input:focus-visible + .txt {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}
.join-form .file-box,
.mypage-form .file-box {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.join-form .file-input-list,
.mypage-form .file-input-list {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.join-form .file-input-list li,
.mypage-form .file-input-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.join-form .file-input-list .file-name,
.mypage-form .file-input-list .file-name {
	flex: 1;
	min-width: 0;
}
.join-form .file-input-list .file-hidden,
.mypage-form .file-input-list .file-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.join-form .file-btn,
.mypage-form .file-btn {
	flex: 0 0 auto;
	height: 6rem;
	padding: 0 3.5rem;
	font-size: var(--fs-16);
	font-weight: 500;
	color: var(--color-white);
	background-color: var(--color-text-muted);
	border: 1px solid var(--color-text-muted);
	border-radius: 0.5rem;
}
.join-form .file-add-btn,
.join-form .file-remove-btn,
.mypage-form .file-add-btn,
.mypage-form .file-remove-btn {
	flex: 0 0 auto;
	width: 6rem;
	height: 6rem;
	font-size: var(--fs-24);
	font-weight: 400;
	color: var(--color-text-muted);
	background-color: var(--color-bg-gray);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
	line-height: 1;
}
.join-form .file-remove-btn:hover,
.mypage-form .file-remove-btn:hover {
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.join-form .file-del-btn,
.mypage-form .file-del-btn {
	flex: 0 0 auto;
	height: 6rem;
	padding: 0 2.5rem;
	font-size: var(--fs-16);
	font-weight: 500;
	color: var(--color-text-muted);
	background-color: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
}
.join-form .file-del-btn:hover,
.mypage-form .file-del-btn:hover {
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.file-input-list .file-del-btn[hidden] {
	display: none;
}

/* member - find id/pw */
.find-tab ul {
	display: flex;
	border-bottom: 1px solid var(--color-line);
}
.find-tab li {
	flex: 1;
}
.find-tab a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 8rem;
	font-size: var(--fs-22);
	font-weight: 500;
	color: var(--color-text-muted);
	transition: color 0.2s ease;
}
.find-tab a:hover {
	color: var(--color-text);
}
.find-tab a.is-active {
	font-weight: 700;
	color: var(--color-primary);
}
.find-tab a.is-active:after {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 100%;
	height: 3px;
	background-color: var(--color-primary);
}
.find-guide-box {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2rem;
	margin-top: 4rem;
	padding: 2.4rem 3rem;
	background-color: var(--color-bg-gray);
	border-radius: 1rem;
}
.find-guide-box .guide-txt {
	font-size: var(--fs-16);
	line-height: 1.6;
	color: var(--color-text-dark);
	word-break: keep-all;
}
.find-guide-box .guide-txt strong {
	font-weight: 600;
	color: var(--color-text);
}
.kakao-inquiry-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 4.4rem;
	padding: 0 2.4rem;
	font-size: var(--fs-15);
	font-weight: 600;
	color: #191919;
	background-color: #FEE500;
	border-radius: .5rem;
	transition: background-color 0.2s ease;
}
.kakao-inquiry-btn:hover {
	background-color: #FDD800;
}
.find-box .complete-box .box-cont {
	word-break: keep-all;
}
.find-box .complete-box .box-cont strong {
	font-weight: 600;
}
.find-result-box {
	width: 100%;
	max-width: 60rem;
	padding: 3rem;
	background-color: var(--color-bg-gray);
	border-radius: 1rem;
}
.find-result-list li {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
}
.find-result-list li + li {
	margin-top: 1.6rem;
	padding-top: 1.6rem;
	border-top: 1px solid var(--color-line);
}
.find-result-list .result-id {
	min-width: 0;
	font-size: var(--fs-22);
	font-weight: 700;
	color: var(--color-primary);
	word-break: break-all;
}
.find-result-list .result-date {
	flex: 0 0 auto;
	font-size: var(--fs-15);
	color: var(--color-text-muted);
}
.find-notice-list {
	width: 100%;
	max-width: 60rem;
}
.find-notice-list li {
	position: relative;
	padding-left: 1.2rem;
	font-size: var(--fs-15);
	line-height: 1.6;
	color: var(--color-text-muted);
	word-break: keep-all;
}
.find-notice-list li:before {
	content: '·';
	position: absolute;
	top: 0;
	left: 0;
}
.sns-info-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.6rem;
	width: 100%;
	max-width: 60rem;
	padding: 2.4rem 3rem;
	background-color: var(--color-bg-gray);
	border-radius: 1rem;
}
.sns-info-box .label {
	position: relative;
	padding-right: 1.6rem;
	font-size: var(--fs-18);
	color: var(--color-text-muted);
}
.sns-info-box .label:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 1px;
	height: 1.4rem;
	background-color: var(--color-line-light);
}
.sns-info-box .value {
	font-size: var(--fs-22);
	font-weight: 700;
}
.complete-box .sns-ico img {
	display: block;
	width: 8rem;
	height: 8rem;
}
.complete-box .complete-btn-box {
	display: flex;
	justify-content: center;
	gap: 1rem;
	width: 100%;
	max-width: 60rem;
}
.complete-box .complete-btn-box .complete-btn {
	flex: 1;
	width: auto;
	max-width: 46rem;
}
.complete-box .complete-btn.line {
	line-height: calc(6rem - 2px);
	color: var(--color-text);
	background-color: var(--color-white);
	border: 1px solid var(--color-line-light);
	transition: color 0.2s ease, border-color 0.2s ease;
}
.complete-box .complete-btn.line:hover {
	color: var(--color-primary);
	background-color: var(--color-white);
	border-color: var(--color-primary);
}
.complete-box .complete-btn.kakao {
	color: #191919;
	background-color: #FEE500;
}
.complete-box .complete-btn.kakao:hover {
	background-color: #FDD800;
}
/* authentication - scroll */
.scroll-box {
	display: flex;
	align-items: center;
	justify-content: center;
}
.scroll-box .scroll-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 20rem;
	height: 20rem;
}
.scroll-box .scroll-circle {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	fill: var(--color-text);
	animation: scroll-rotate 12s linear infinite;
}
.scroll-box .scroll-circle text {
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	dominant-baseline: middle;
}
.scroll-box .scroll-arrow {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.4rem;
	height: 2.4rem;
	color: var(--color-text);
}
.scroll-box .scroll-arrow svg {
	width: 100%;
	height: 100%;
}
@keyframes scroll-rotate {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.qr-page-box {
	margin-bottom: 12rem;
}
.qr-page-box .section-title-box {
	text-align: center;
}
.qr-page-box .qr-cont-box {
	display: flex;
	align-items: center;
	justify-content: center;
}
.qr-page-box .qr-link-btn {
	display: block;
	width: 30rem;
	padding: 1.7rem 0;
	margin: 4rem auto 0;
	border-radius: 5rem;
	background-color: var(--color-primary);
}
.qr-page-box .qr-link-btn .txt {
	padding-right: 3rem;
	font-size: var(--fs-26);
	font-weight: 700;
	color: var(--color-white);
	line-height: 1;
	background: url('../images/common/ico-link.svg') no-repeat right center / 2.5rem;
}

.auth-process {
	padding: 14rem 0;
	background-color: var(--color-bg-gray);
}
.auth-process .section-title-box {
	text-align: center;
}

.brand-contents {
	padding: 12rem 0;
	background: url('../images/sub/auth-brand-background.png') no-repeat center top;
}
.brand-contents .section-title-box {
	text-align: center;
}
.brand-contents .brand-contents-examples {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 10rem;
}

.locations-box .inner {
	display: flex;
	gap: 4rem;
}
.locations-box .map-box,
.locations-box .address-box {
	width: calc(50% - 2rem);
}
.map-box .wrap_controllers,
.map-box .map_border,
.map-box .cont {
	display: none !important;
}
.map-box .root_daum_roughmap {
	width: 100%;
	height: 100%;
}
.map-box .root_daum_roughmap .wrap_map {
	width: 100%;
	height: 100%;
}
.address-box .address-form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.address-box .address-form .select-box,
.address-box .address-form .search-box {
	display: flex;
	gap: 1rem;
}
.address-box .address-form .select-box select,
.address-box .address-form .search-box input[type="text"] {
	width: 100%;
	height: 6rem;
	padding: 0 2rem;
	border: 1px solid var(--color-line);
	background-color: var(--color-bg);
}
.address-box .address-form .select-box select {
	padding-right: 4rem;
	background: url('../images/common/ico-select-down.svg') no-repeat right 2.5rem center / 1rem;
	background-color: var(--color-white);
}
.address-box .address-form .search-box .search-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 6rem;
	height: 6rem;
	background-color: var(--color-primary);
	border: none;
	outline: none;
	box-shadow: none;
}
.address-box .address-form .search-box .search-btn:hover {
	background-color: var(--color-primary-hover);
}
.address-box .address-form .search-box .search-btn .ico {
	display: block;
	width: 2.8rem;
	height: 2.8rem;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url('../images/common/ico-search-white.svg');
}
.address-box .address-form .search-box .search-btn .blind {
	clip: rect(0 0 0 0);
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	border: 0;
	white-space: nowrap;
	padding: 0;
	clip-path: inset(50%);
}
.address-box .address-list {
	margin-top: 2rem;
	max-height: 43rem;
	overflow:hidden;
	overflow-y: auto;
}
.address-box .address-list li a {
	display: flex;
	flex-direction: column;
	gap: 1.8rem;
	padding: 1.8rem 0;
}
.address-box .address-list li {
	border-bottom: 1px solid var(--color-text-muted);
}
.address-box .address-list .name {
	font-size: var(--fs-20);
	font-weight: 700;
	line-height: 1.2;
}
.address-box .address-list .addr {
	font-size: var(--fs-14);
	line-height: 1.2;
}

/* board- - common */

.board-wrap .count-box {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.board-wrap .count-box .count {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.board-wrap .count-box .count .ico {
	width: 2rem;
	height: 2rem;
	background-position: center;
	background-repeat: no-repeat;
}
.board-wrap .count-box .count .ico-like {
	background-image: url('../images/common/ico-like-off.svg');
}
.board-wrap .count-box .like.on .ico-like {
	background-image: url('../images/common/ico-like-on.svg');
}
.board-wrap .count-box .count .ico-comment {
	background-image: url('../images/common/ico-comment.svg');
}
.board-wrap .count-box .count .ico-view {
	background-image: url('../images/common/ico-view.svg');
}
.board-wrap .count-box .count .num {
	font-style: normal;
	font-size: var(--fs-15);
	line-height: 2.4rem;
	color: var(--color-text-muted);
}
.board-wrap .count-box .like.on .num {
	color: var(--color-primary);
}

/* board - list */
.board-list-layout {
	border-top: 1px solid var(--color-text-muted);
}
.board-list-layout .board-list li {
	display: flex;
	align-items: center;
	gap: 3rem;
	padding: 3rem 0;
	border-bottom: 1px solid var(--color-line);
}
.board-list-layout .board-thumbnail {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 33.6rem;
	height: 19.3rem;
}
.board-list-layout .board-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.board-list-layout .board-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 2rem;
	min-width: 0;
}
.board-list-layout .board-info > a {
	display: block;
	min-width: 0;
	overflow: hidden;
}
.board-list-layout .name-title {
	font-size: var(--fs-20);
	font-weight: 500;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	margin-bottom: 2rem;
}
.board-list-layout .name-title .cate {
	display: inline-block;
	margin-right: 1.6rem;
	padding: 0.7rem 1.6rem;
	font-size: var(--fs-14);
	font-weight: 500;
	line-height: 1;
	color: var(--color-primary);
	border: 1px solid var(--color-primary);
	border-radius: 10rem;
	vertical-align: middle;
}
.board-list-layout .summary-desc {
	color: var(--color-text-muted);
	line-height: 1.6;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.board-list-layout .board-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.board-list-layout .board-option .date {
	font-size: var(--fs-15);
	color: var(--color-text-muted);
}

.board-gallery-layout .board-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6rem 3rem;
}
.board-gallery-layout .board-list li {
	min-width: 0;	
	flex-direction: column;
}
.board-gallery-layout .board-thumbnail {
	width: 100%;
	height: 22.7rem;
}
.board-gallery-layout .board-thumbnail a {
	display: block;
	width: 100%;
	height: 100%;
}

.board-btn-box {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-top: 3rem;
}
.board-list-layout .board-btn-box {
	justify-content: flex-end;
}
.board-btn-box .default-btn {
	width: 12rem;
	height: 4.2rem;
	font-size: var(--fs-14);
	font-weight: 500;
	line-height: 4.2rem;
	text-align: center;
	border: 1px solid transparent;
}
.board-btn-box .primary-style {
	color: var(--color-white);
	border-color: var(--color-primary);
	background-color: var(--color-primary);
}
.board-btn-box .primary-style:hover {
	border-color: var(--color-primary-hover);
	background-color: var(--color-primary-hover);
}
.board-btn-box .gray-line {
	color: var(--color-text-muted);
	border-color: var(--color-line);
}
.board-btn-box .gray-line:hover {
	background-color: var(--color-line);
	color: var(--color-text);
}
.board-btn-box .list-btn {
	display: inline-block;
	padding-left: 3rem;
	background: url('../images/common/ico-list.svg') no-repeat left center;
}

/* board-view-layout */
.board-view-layout .view-top {
	padding-bottom: 2.6rem;
	border-bottom: 2px solid var(--color-text-muted);
}
.board-view-layout .view-meta {
	display: flex;
	align-items: center;
	gap: 4rem;
	margin-bottom: 1rem;
}
.board-view-layout .meta-item {
	position: relative;
	font-size: var(--fs-18);
	color: var(--color-text-muted);
}
.board-view-layout .meta-item:not(:last-child):after {
	content: '';
	position: absolute;
	top: 50%;
	right: -2rem;
	transform: translateY(-50%);
	width: 1px;
	height: 1.5rem;
	background-color: var(--color-line);
}
.board-view-layout .view-title {
	font-size: var(--fs-40);
	font-weight: 700;
	line-height: 1.6;
}
.board-view-layout .view-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 5rem;
}
.board-view-layout .count-box {
	gap: 2rem;
}
.board-view-layout .count-box .count .num {
	font-size: var(--fs-20);
}
.board-view-layout .count-box .count .ico {
	width: 3.2rem;
	height: 3.2rem;
	background-size: 3rem;
}
.board-view-layout .util-box {
	display: flex;
	gap: 2rem;
}
.board-view-layout .util-box .util-btn {
	position: relative;
}
.board-view-layout .util-box .util-btn .ico {
	display: block;
	width: 3.2rem;
	height: 3.2rem;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.board-view-layout .util-box .util-btn .ico-share {
	background-image: url('../images/common/ico-share.svg');
}
.board-view-layout .util-box .util-btn .ico-print {
	background-image: url('../images/common/ico-print.svg');
}
.board-view-layout .util-box .blind {
	clip: rect(0 0 0 0);
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	border: 0;
	white-space: nowrap;
	padding: 0;
	clip-path: inset(50%);
}
.board-view-layout .video-area {
	margin-top: 3rem;
}
.board-view-layout .video-area .video-inner {
	position: relative;
	padding-top: 56.25%;
}
.board-view-layout .video-area .video-inner iframe {
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.board-view-layout .editor-area {
	margin-top: 6rem;
	font-size: var(--fs-18);
	line-height: 1.8;
	color: var(--color-text);
	word-break: keep-all;
	overflow-wrap: break-word;
}
.board-view-layout .editor-area > *:first-child {
	margin-top: 0;
}
.board-view-layout .editor-area > *:last-child {
	margin-bottom: 0;
}
.board-view-layout .editor-area p {
	margin: 0 0 1.6rem;
}
.board-view-layout .editor-area h1,
.board-view-layout .editor-area h2,
.board-view-layout .editor-area h3,
.board-view-layout .editor-area h4,
.board-view-layout .editor-area h5,
.board-view-layout .editor-area h6 {
	margin: 2.4rem 0 1.2rem;
	font-weight: 700;
	line-height: 1.4;
}
.board-view-layout .editor-area h1 { font-size: var(--fs-32); }
.board-view-layout .editor-area h2 { font-size: var(--fs-28); }
.board-view-layout .editor-area h3 { font-size: var(--fs-24); }
.board-view-layout .editor-area h4 { font-size: var(--fs-20); }
.board-view-layout .editor-area h5,
.board-view-layout .editor-area h6 { font-size: var(--fs-18); }
.board-view-layout .editor-area strong,
.board-view-layout .editor-area b {
	font-weight: 700;
}
.board-view-layout .editor-area em,
.board-view-layout .editor-area i {
	font-style: italic;
}
.board-view-layout .editor-area u {
	text-decoration: underline;
}
.board-view-layout .editor-area s,
.board-view-layout .editor-area del {
	text-decoration: line-through;
}
.board-view-layout .editor-area a {
	color: var(--color-primary);
	text-decoration: underline;
}
.board-view-layout .editor-area ul,
.board-view-layout .editor-area ol {
	margin: 0 0 1.6rem;
	padding-left: 2rem;
}
.board-view-layout .editor-area ul {
	list-style: disc;
}
.board-view-layout .editor-area ol {
	list-style: decimal;
}
.board-view-layout .editor-area li + li {
	margin-top: 0.6rem;
}
.board-view-layout .editor-area ul ul,
.board-view-layout .editor-area ol ol,
.board-view-layout .editor-area ul ol,
.board-view-layout .editor-area ol ul {
	margin: 0.6rem 0 0;
}
.board-view-layout .editor-area blockquote {
	margin: 0 0 1.6rem;
	padding: 1.2rem 1.6rem;
	border-left: 3px solid var(--color-line);
	background-color: var(--color-bg-gray);
	color: var(--color-text-dark);
}
.board-view-layout .editor-area img,
.board-view-layout .editor-area video {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 0 1.6rem;
}
.board-view-layout .editor-area figure {
	margin: 0 0 1.6rem;
}
.board-view-layout .editor-area figcaption {
	margin-top: 0.8rem;
	font-size: var(--fs-14);
	color: var(--color-text-muted);
	text-align: center;
}
.board-view-layout .editor-area table {
	width: 100%;
	margin: 0 0 1.6rem;
	border-collapse: collapse;
}
.board-view-layout .editor-area th,
.board-view-layout .editor-area td {
	padding: 1rem 1.2rem;
	border: 1px solid var(--color-line);
	vertical-align: top;
}
.board-view-layout .editor-area th {
	font-weight: 700;
	background-color: var(--color-bg-gray);
}
.board-view-layout .editor-area hr {
	margin: 2.4rem 0;
	border: 0;
	border-top: 1px solid var(--color-line);
}
.board-view-layout .editor-area pre,
.board-view-layout .editor-area code {
	font-family: monospace;
	font-size: 0.9em;
}
.board-view-layout .editor-area pre {
	margin: 0 0 1.6rem;
	padding: 1.6rem;
	overflow-x: auto;
	background-color: var(--color-bg-gray);
	border: 1px solid var(--color-line);
}
.board-view-layout .editor-area iframe {
	max-width: 100%;
}
.board-view-layout .board-btn-box {
	justify-content: center;
}
.board-view-layout .view-bottom {
	margin: 8rem 0;
}

/* share-layer */
.share-board-box {
	position: relative;
}
.share-layer {
	display: none;
	position: absolute;
	top: calc(100% + 1.2rem);
	right: 0;
	z-index: 10;
	width: 34.8rem;
	padding: 2rem;
	background-color: var(--color-white);
	box-shadow: 0 0.4rem 2rem var(--color-shadow);
}
.share-board-box.on .share-layer {
	display: block;
}
.share-layer .share-head {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-bottom: 2rem;
}
.share-layer .tit {
	font-weight: 700;
	line-height: 1;
}
.share-layer .close {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	width: 2.4rem;
	height: 2.4rem;
	background: url('../images/common/btn-x-grey.svg') no-repeat center / contain;
}
.share-layer .sns-list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-bottom: 2rem;
}
.share-layer .sns-list a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
}
.share-layer .sns-list .ico {
	display: block;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}
.share-layer .sns-list .line .ico {
	background-image: url('../images/common/ico-sns-line.svg');
}
.share-layer .sns-list .band .ico {
	background-image: url('../images/common/ico-sns-band.svg');
}
.share-layer .sns-list .blog .ico {
	background-image: url('../images/common/ico-sns-blog.svg');
}
.share-layer .sns-list .facebook .ico {
	background-image: url('../images/common/ico-sns-facebook.svg');
}
.share-layer .sns-list .x .ico {
	background-image: url('../images/common/ico-sns-x.svg');
}
.share-layer .sns-list .txt {
	font-size: var(--fs-14);
	color: var(--color-text-muted);
	line-height: 1;
}
.share-layer .url-box {
	display: flex;
	align-items: stretch;
	border: 1px solid var(--color-line);
	overflow: hidden;
}
.share-layer .url-box .url {
	flex: 1;
	min-width: 0;
	height: 4.4rem;
	padding: 0 1rem;
	border: none;
	outline: none;
	font-size: var(--fs-14);
	color: var(--color-text);
	background-color: var(--color-white);
}
.share-layer .url-box .copy {
	flex: 0 0 auto;
	padding: 0 1rem;
	font-size: var(--fs-13);
	color: var(--color-text-dark);
	background-color: var(--color-bg-gray);
	border-left: 1px solid var(--color-line);
}

/* attached-file-list */
.attached-file-list {
	padding: 2rem;
	margin-top: 4rem;
	background-color: var(--color-bg-gray);
	border: 1px solid var(--color-line);
}
.attached-file-list .file-item {
	display: flex;
}
.attached-file-list .file-list {
	display: flex;
	flex-direction: column;
	gap: 1.2rem;
}
.attached-file-list .file-link {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
}
.attached-file-list .file-link .ico {
	flex: 0 0 auto;
	width: 1.6rem;
	height: 1.6rem;
	background: url('../images/common/ico-file-primary.svg') no-repeat center / contain;
}
.attached-file-list .file-link .file-name {
	font-size: var(--fs-14);
	line-height: 1.6rem;
	word-break: break-all;
}
.attached-file-list .file-link:hover .file-name {
	text-decoration: underline;
}

/* prev-next */
.board-view-layout .prev-next-box {
	display: flex;
	align-items: stretch;
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
}
.board-view-layout .prev-next-box .prev,
.board-view-layout .prev-next-box .next {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	width: 50%;
	padding: 3rem 0;
	min-width: 0;
}
.board-view-layout .prev-next-box .prev {
	padding-right: 3rem;
}
.board-view-layout .prev-next-box .next {
	padding-left: 3rem;
	align-items: flex-end;
}
.board-view-layout .prev-next-box .label {
	font-size: var(--fs-16);
	color: var(--color-text-muted);
	line-height: 1;
}
.board-view-layout .prev-next-box .tit {
	display: block;
	width: 100%;
	font-size: var(--fs-20);
	font-weight: 500;
	line-height: 1;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}
.board-view-layout .prev-next-box .next .tit {
	text-align: left;
}
.board-view-layout .prev-next-box a:hover .tit {
	color: var(--color-primary);
}

/* board-comment-area */
.board-comment-area {
	margin-top: 8rem;
}
.board-comment-area .comment-head {
	padding-bottom: 2rem;
	border-bottom: 2px solid var(--color-text-muted);
}
.board-comment-area .comment-head .tit {
	font-size: var(--fs-24);
	font-weight: 700;
	line-height: 1;
}
.board-comment-area .comment-head .num {
	font-style: normal;
}
.board-comment-area .comment-list > .comment-item {
	border-bottom: 1px solid var(--color-line);
}
.board-comment-area .comment-box {
	padding: 4rem 0;
}
.board-comment-area .comment-body {
	min-width: 0;
}
.board-comment-area .comment-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.6rem;
	margin-bottom: 1.2rem;
}
.board-comment-area .user-info {
	display: flex;
	align-items: center;
	gap: 2rem;
}
.board-comment-area .user-info .name {
	font-size: var(--fs-20);
	font-weight: 500;
	line-height: 1;
}
.board-comment-area .user-info .date {
	font-size: var(--fs-18);
	color: var(--color-text-muted);
	line-height: 2rem;
}
.board-comment-area .comment-util {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.board-comment-area .comment-util button {
	color: var(--color-text-muted);
	line-height: 1;
}
.board-comment-area .comment-util button:hover {
	color: var(--color-text);
}
.board-comment-area .comment-cont .txt {
	font-size: var(--fs-18);
	line-height: 1.4;
	white-space: pre-wrap;
	word-break: keep-all;
}
.board-comment-area .comment-cont .edit-box {
	display: none;
}
.board-comment-area .comment-cont.is-edit .txt {
	display: none;
}
.board-comment-area .comment-cont.is-edit .edit-box {
	display: block;
}
.board-comment-area .edit-textarea,
.board-comment-area .comment-textarea {
	width: 100%;
	min-height: 12rem;
	padding: 1.6rem;
	border: 1px solid var(--color-line);
	background-color: var(--color-white);
	font-size: var(--fs-16);
	line-height: 1.6;
	resize: none;
}
.board-comment-area .edit-btn-box {
	display: flex;
	justify-content: flex-end;
	gap: 0.8rem;
	margin-top: 1.2rem;
}
.board-comment-area .edit-btn-box button {
	min-width: 7rem;
	height: 3.6rem;
	padding: 0 1.6rem;
	font-size: var(--fs-14);
	border: 1px solid var(--color-line);
}
.board-comment-area .edit-btn-box .save-btn {
	color: var(--color-white);
	background-color: var(--color-primary);
	border-color: var(--color-primary);
}
.board-comment-area .reply-list .comment-item {
	padding-left: 3rem;
	border-top: 1px solid var(--color-line);
}
.board-comment-area .reply-list .comment-box {
	padding-bottom: 3rem;
}
.board-comment-area .reply-write {
	padding: 0 0 3rem 3rem;
}
.board-comment-area .comment-write {
	margin-top: 5rem;
	padding: 3rem;
	background-color: var(--color-bg-gray);
}
.board-comment-area .write-user {
	margin-bottom: 2rem;
}
.board-comment-area .write-user .name {
	font-size: var(--fs-16);
	font-weight: 500;
	line-height: 1;
}
.board-comment-area .write-bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-top: 2rem;
}
.board-comment-area .write-bottom .count {
	color: var(--color-text-muted);
	line-height: 1;
}
.board-comment-area .write-bottom .count .current {
	color: var(--color-text);
	font-style: normal;
}
.board-comment-area .write-bottom .submit-btn {
	min-width: 6.5rem;
	height: 3.4rem;
	padding: 0 2rem;
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--color-white);
	background-color: var(--color-primary);
}
.board-comment-area .write-bottom .submit-btn:disabled {
	background-color: var(--color-bg-gray-dark);
	cursor: not-allowed;
}
.board-comment-area .comment-write-inner.is-guest .comment-textarea {
	color: var(--color-text-muted);
	background-color: var(--color-bg);
}

/* board-write-layout */
.board-write-layout {
	padding: 0;
	background-color: var(--color-bg);
	border-radius: 2rem;
	border: 1px solid var(--color-line);
}
.board-write-layout .write-top {
	display: flex;
	align-items: center;
	gap: 2rem;
	padding: 3rem;
	border-bottom: 1px solid var(--color-line);
}
.board-write-layout .title-box {
	display: flex;
	align-items: center;
	flex: 1;
	min-width: 0;
	gap: 0.4rem;
}
.board-write-layout .write-title {
	flex: 1;
	min-width: 0;
	height: auto;
	padding: 0;
	border: none;
	outline: none;
	font-size: var(--fs-20);
	font-weight: 500;
	line-height: 1.4;
	background: transparent;
}
.board-write-layout .write-title::placeholder {
	color: var(--color-text-muted);
}
.board-write-layout .required {
	font-style: normal;
	color: var(--color-primary);
}
.board-write-layout .delete-btn,
.board-list-layout .delete-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	flex: 0 0 auto;
	height: 3rem;
	padding: 0 1.1rem;
	line-height: 2rem;
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--color-text-muted);
	border-radius: 0.5rem;
	border: 1px solid var(--color-line);
	background-color: var(--color-white);
}
.board-write-layout .delete-btn .ico,
.board-list-layout .delete-btn .ico {
	display: block;
	width: 2rem;
	height: 2rem;
	background: url('../images/common/ico-delete.svg') no-repeat center / contain;
}
.board-write-layout .delete-btn:hover,
.board-list-layout .delete-btn:hover {
	color: var(--color-text);
	border-color: var(--color-text-muted);
}
.board-write-layout .write-body {
	padding: 4rem 3rem;
}
.board-write-layout .form-item {
	display: flex;
	align-items: flex-start;
	gap: 2rem;
	padding: 1rem 0;
}
.board-write-layout .form-item .label {
	flex: 0 0 12rem;
	padding-top: 1.6rem;
	font-size: var(--fs-16);
	font-weight: 700;
	line-height: 1.4;
}
.board-write-layout .form-item .form-group {
	flex: 1;
	min-width: 0;
}
.board-write-layout .form-group select,
.board-write-layout .form-group input[type="text"] {
	width: 100%;
	height: 4.4rem;
	padding: 0 2rem;
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
	font-size: var(--fs-14);
	background-color: var(--color-white);
}
.board-write-layout .form-group select {
	padding-right: 4rem;
	background: url('../images/common/ico-select-down.svg') no-repeat right 2rem center / 1.2rem;
}
.board-write-layout .file-box {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}
.board-write-layout .file-input-list {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.board-write-layout .file-input-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.board-write-layout .file-input-list .file-name {
	flex: 1;
	min-width: 0;
}
.board-write-layout .file-input-list .file-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.board-write-layout .file-btn {
	flex: 0 0 auto;
	height: 4.4rem;
	padding: 0 3.5rem;
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--color-white);
	background-color: var(--color-text-muted);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
}
.board-write-layout .file-add-btn {
	flex: 0 0 auto;
	width: 4.4rem;
	height: 4.4rem;
	font-size: var(--fs-24);
	font-weight: 400;
	color: var(--color-text-muted);
	background-color: var(--color-bg-gray);
	border: 1px solid var(--color-line);
	border-radius: 0.8rem;
	line-height: 1;
}
.board-write-layout .file-remove-btn {
	flex: 0 0 auto;
	width: 4.4rem;
	height: 4.4rem;
	font-size: var(--fs-24);
	font-weight: 400;
	color: var(--color-text-muted);
	background-color: var(--color-bg-gray);
	border: 1px solid var(--color-line);
	border-radius: 0.8rem;
	line-height: 1;
}
.board-write-layout .file-remove-btn:hover {
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.board-write-layout .file-del-btn {
	flex: 0 0 auto;
	height: 4.4rem;
	padding: 0 2rem;
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--color-text-muted);
	background-color: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
}
.board-write-layout .file-del-btn:hover {
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.board-write-layout .editor-box {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 32rem;
	border: 1px solid var(--color-line);
	border-radius: 0.8rem;
	background-color: var(--color-white);
}
.board-write-layout .editor-placeholder {
	font-size: var(--fs-18);
	color: var(--color-text-muted);
}
.board-write-layout .board-btn-box {
	justify-content: flex-end;
	padding: 0 3rem 4rem;
}

/* mypage */
.mypage-box {
	background-color: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: 2rem;
	overflow: hidden;
}
.mypage-header {
	padding: 3rem;
	border-bottom: 1px solid var(--color-line);
}
.mypage-header-title {
	font-size: var(--fs-22);
	font-weight: 600;
	line-height: 1;
}
.mypage-body {
	display: flex;
	align-items: stretch;
	gap: 2rem;
	min-height: 64rem;
}
.mypage-sidebar {
	flex: 0 0 28rem;
	display: flex;
	flex-direction: column;
	padding: 4rem;
}
.mypage-profile {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	margin-bottom: 4rem;
}
.mypage-profile .profile-thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 8rem;
	height: 8rem;
	border-radius: 50%;
	background-color: var(--color-bg-gray);
	overflow: hidden;
}
.mypage-profile .profile-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mypage-profile .profile-name {
	font-size: var(--fs-20);
	font-weight: 500;
	line-height: 1;
	text-align: center;
}
.mypage-nav {
	display: flex;
	flex-direction: column;
	flex: 1;
}
.mypage-menu {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.mypage-menu-link {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1rem;
	border-radius: 0.5rem;
	transition: background-color 0.2s ease, color 0.2s ease;
}
.mypage-menu-link .ico {
	flex-shrink: 0;
	display: block;
	width: 2.4rem;
	height: 2.4rem;
	background-color: var(--color-text-muted);
	-webkit-mask: var(--ico) no-repeat center / contain;
	mask: var(--ico) no-repeat center / contain;
}
.mypage-menu-link .ico-mypage-setting {
	--ico: url("../images/common/ico-mypage-setting.svg");
}
.mypage-menu-link .ico-mypage-comment {
	--ico: url("../images/common/ico-mypage-comment.svg");
}
.mypage-menu-link .ico-mypage-like {
	--ico: url("../images/common/ico-mypage-like.svg");
}
.mypage-menu-link .txt {
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-text);
}
.mypage-menu-link:hover,
.mypage-menu-link.is-active {
	background-color: color-mix(in srgb, var(--color-primary) 12%, transparent);
}
.mypage-menu-link:hover .txt,
.mypage-menu-link.is-active .txt {
	color: var(--color-primary);
}
.mypage-menu-link:hover .ico,
.mypage-menu-link.is-active .ico {
	background-color: var(--color-primary);
}
.mypage-util {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid var(--color-line);
}
.mypage-util a {
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-text-muted);
}
.mypage-util a:hover {
	color: var(--color-text);
}
.mypage-content {
	flex: 1;
	min-width: 0;
	padding: 4rem;
	padding-left: 2rem;
}
.mypage-content-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--color-line);
}
.mypage-content-filter {
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
	padding: 1rem 0;
	margin-bottom: 3rem;
	border-bottom: 1px solid var(--color-line);
}
.mypage-content-filter select {
	height: 4.4rem;
	padding: 0 4rem 0 2rem;
	font-size: var(--fs-14);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
	background: var(--color-white) url('../images/common/ico-select-down.svg') no-repeat right 2rem center / 1.2rem;
	appearance: none;
}
.mypage-content .board-list-layout {
	border-top: 0;
}
.mypage-content .board-list-layout > .board-option {
	padding-bottom: 2rem;
}
.mypage-content-title {
	font-size: var(--fs-20);
	font-weight: 600;
	line-height: 1;
}
.mypage-form {
	margin-top: 5rem;
}
.mypage-form .form-item {
	display: flex;
	flex-direction: column;
	gap: 2rem;
	margin-bottom: 4rem;
}
.mypage-form .form-item[hidden] {
	display: none;
}
.mypage-form .form-item .label {
	font-size: var(--fs-18);
	font-weight: 500;
	line-height: 1;
}
.mypage-form .form-item .label .required {
	color: var(--color-primary);
}
.mypage-form .form-group {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.mypage-form .form-group input[type="text"],
.mypage-form .form-group input[type="tel"],
.mypage-form .form-group input[type="password"],
.mypage-form .form-group input[type="email"] {
	width: 100%;
	height: 6rem;
	padding: 0 2.1rem;
	font-size: var(--fs-16);
	border-radius: 0.5rem;
	border: 1px solid var(--color-line);
	background-color: var(--color-white);
}
.mypage-form .form-group input.is-readonly {
	background-color: var(--color-bg-gray);
	border-color: transparent;
	color: var(--color-text);
}
.mypage-form .form-group input::placeholder {
	color: var(--color-text-muted);
}
.mypage-form .form-group input:focus,
.mypage-form .form-group input:focus-visible {
	outline: none;
	border-color: var(--color-primary);
}
.mypage-form .form-group input.is-readonly:focus,
.mypage-form .form-group input.is-readonly:focus-visible {
	border-color: transparent;
}
.mypage-form .form-guide {
	font-size: var(--fs-14);
	line-height: 1.4;
	color: var(--color-text-muted);
}
.mypage-form .form-msg {
	font-size: var(--fs-14);
	line-height: 1;
}
.mypage-form .form-msg.error {
	color: var(--color-primary);
}
.mypage-form .form-msg.success {
	color: var(--color-success);
}
.mypage-form .phone-box {
	display: flex;
	align-items: center;
	gap: 1rem;
}
.mypage-form .phone-box select {
	flex: 0 0 auto;
	width: 25rem;
	height: 6rem;
	padding: 0 1.5rem;
	font-size: var(--fs-16);
	border-radius: 0.5rem;
	border: 1px solid var(--color-line);
	background: var(--color-white) url('../images/common/ico-select-down.svg') no-repeat right 1.5rem center / 1rem;
}
.mypage-form .phone-box select:focus,
.mypage-form .phone-box select:focus-visible {
	outline: none;
	border-color: var(--color-primary);
}
.mypage-form .type-list {
	display: flex;
	gap: 1.2rem;
}
.mypage-form .type-item {
	flex: 1;
	cursor: pointer;
}
.mypage-form .type-item input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.mypage-form .type-item .txt {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 5.6rem;
	font-size: var(--fs-16);
	font-weight: 500;
	color: var(--color-text-muted);
	background-color: var(--color-bg-gray);
	border: 1px solid transparent;
	border-radius: 0.8rem;
	transition: color 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
}
.mypage-form .type-item input:checked + .txt {
	color: var(--color-primary);
	background-color: var(--color-white);
	border-color: var(--color-primary);
}
.mypage-form .type-item:has(input:disabled) {
	cursor: default;
}
.mypage-form .type-item input:disabled:not(:checked) + .txt {
	opacity: 0.6;
}
.mypage-btn-box {
	display: flex;
	justify-content: flex-end;
	padding-top: 3rem;
	border-top: 1px solid var(--color-line);
}
.mypage-btn-box .default-btn {
	min-width: 12rem;
	height: 4.4rem;
	padding: 0 4.5rem;
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--color-white);
	background-color: var(--color-primary);
}
.mypage-btn-box .default-btn:hover {
	background-color: var(--color-primary-hover);
}
.mypage-withdraw {
	display: flex;
	justify-content: flex-end;
	margin-top: 2rem;
}
.mypage-withdraw .withdraw-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.5rem 0;
	font-size: var(--fs-13);
	line-height: 1;
	color: var(--color-text-muted);
	transition: color 0.2s ease;
}
.mypage-withdraw .withdraw-btn:after {
	content: '';
	width: 0.6rem;
	height: 0.6rem;
	border-top: 1px solid currentColor;
	border-right: 1px solid currentColor;
	transform: rotate(45deg);
}
.mypage-withdraw .withdraw-btn:hover {
	color: var(--color-text);
}

/* mypage - withdraw */
.mypage-util a.is-active {
	font-weight: 600;
	color: var(--color-text);
}
.withdraw-notice {
	margin-bottom: 4rem;
	padding: 3rem;
	background-color: var(--color-bg-gray);
	border-radius: 1rem;
}
.withdraw-notice .notice-title {
	margin-bottom: 1.6rem;
	font-size: var(--fs-18);
	font-weight: 600;
}
.withdraw-notice .notice-list li {
	position: relative;
	padding-left: 1.2rem;
	font-size: var(--fs-15);
	line-height: 1.6;
	color: var(--color-text-dark);
	word-break: keep-all;
}
.withdraw-notice .notice-list li + li {
	margin-top: 0.8rem;
}
.withdraw-notice .notice-list li:before {
	content: '·';
	position: absolute;
	top: 0;
	left: 0;
}
.withdraw-notice .notice-list strong {
	font-weight: 600;
	color: var(--color-primary);
}
.withdraw-reason-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
}
.radio-item {
	position: relative;
	cursor: pointer;
}
.radio-item input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}
.radio-item .txt {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	height: 5.6rem;
	padding: 0 2rem;
	font-size: var(--fs-16);
	color: var(--color-text-dark);
	background-color: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
	transition: color 0.2s ease, border-color 0.2s ease;
}
.radio-item .txt:before {
	content: '';
	flex: 0 0 auto;
	width: 2rem;
	height: 2rem;
	background-color: var(--color-white);
	border: 1px solid var(--color-line-light);
	border-radius: 50%;
	transition: border 0.2s ease;
}
.radio-item input:checked + .txt {
	font-weight: 600;
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.radio-item input:checked + .txt:before {
	border: 0.6rem solid var(--color-primary);
}
.radio-item input:focus-visible + .txt {
	outline: 2px solid var(--color-primary);
	outline-offset: 2px;
}
.mypage-form .form-group textarea {
	width: 100%;
	min-height: 14rem;
	padding: 1.6rem 2.1rem;
	font-size: var(--fs-16);
	line-height: 1.6;
	background-color: var(--color-white);
	border: 1px solid var(--color-line);
	border-radius: 0.5rem;
	resize: none;
}
.mypage-form .form-group textarea::placeholder {
	color: var(--color-text-muted);
}
.mypage-form .form-group textarea:focus,
.mypage-form .form-group textarea:focus-visible {
	outline: none;
	border-color: var(--color-primary);
}
.mypage-form .form-group textarea:disabled {
	background-color: var(--color-bg-gray);
	border-color: transparent;
	cursor: not-allowed;
}
.withdraw-agree {
	margin-bottom: 4rem;
}
.withdraw-agree .check-box input[type="checkbox"] + .txt {
	font-size: var(--fs-16);
	word-break: keep-all;
}
.mypage-btn-box .line-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 12rem;
	height: 4.4rem;
	padding: 0 4.5rem;
	font-size: var(--fs-14);
	font-weight: 500;
	color: var(--color-text);
	background-color: var(--color-white);
	border: 1px solid var(--color-line-light);
	transition: color 0.2s ease, border-color 0.2s ease;
}
.mypage-btn-box .line-btn:hover {
	color: var(--color-primary);
	border-color: var(--color-primary);
}
.withdraw-form .mypage-btn-box {
	gap: 1rem;
}
.mypage-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 32rem;
}
.mypage-empty-text {
	font-size: var(--fs-18);
	color: var(--color-text-muted);
}
.mypage-content .board-list-layout .board-list li {
	gap: 1rem;
	padding: 2.5rem 0;
	border-bottom: none;
}
.mypage-content .board-list-layout .board-thumbnail {
	width: 23.6rem;
	height: 13.5rem;
}
.mypage-content .board-list-layout .board-info {
	margin-left: 2rem;
}
.mypage-content .board-list-layout .check-box .txt:before {
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 0.3rem;
	background-size: 1rem;
}
.mypage-content .board-list-layout .check-box input[type="checkbox"] + .txt {
	line-height: 1;
}

/* mypage - comment list */
.mypage-comment-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 2.5rem 0;
}
.mypage-comment-list .comment-thumbnail {
	flex: 0 0 auto;
	width: 21.4rem;
	height: 12.3rem;
}
.mypage-comment-list .comment-thumbnail a {
	display: block;
	width: 100%;
	height: 100%;
}
.mypage-comment-list .comment-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.mypage-comment-list .comment-info {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	margin-left: 1.7rem;
}
.mypage-comment-list .comment-text {
	font-size: var(--fs-15);
	line-height: 1.75;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mypage-comment-list .comment-date {
	margin-top: 0.4rem;
	font-size: var(--fs-15);
	line-height: 1.6;
	color: var(--color-text-muted);
}
.mypage-comment-list .comment-post {
	display: flex;
	align-items: center;
	min-width: 0;
	margin-top: 0.8rem;
	font-size: var(--fs-15);
	line-height: 1.6;
}
.mypage-comment-list .comment-post .cate {
	position: relative;
	flex: 0 0 auto;
	margin-right: 3.3rem;
	color: var(--color-primary);
}
.mypage-comment-list .comment-post .cate:after {
	content: '';
	position: absolute;
	top: 50%;
	right: -1.9rem;
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 50%;
	background-color: var(--color-primary);
	transform: translateY(-50%);
}
.mypage-comment-list .comment-post .post-title {
	min-width: 0;
	color: var(--color-text-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mypage-comment-list .comment-post .comment-count {
	flex: 0 0 auto;
	margin-left: 0.4rem;
	color: var(--color-primary);
}