@charset "utf-8";

/* 유틸리티 */
.sr-only{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}
/* 데스크톱에서는 GNB 항상 노출 + 모바일 메뉴 버튼 숨김 */
@media (min-width:1024px){
  #gnb{display:block !important;}
  .mobile-menu{display:none;}
}

/*
 *
 * CSS CONTENTS:
 *
 * 01. Web Font
 * 02. Type Selector Reset
 * 03. Accessibility Navigation
 * 04. Layout Selector
 * 05. Components
 * 06. Entry Content
 * 07. Comment
 * 08. Widget & Template Page
 * 09. ETC
 * 10. Column & Color Type
 * 11. Retina Display
 * 12. Media Screen - Tablet
 * 13. Media Screen - Mobie
 *
 */


/* Type Selector Reset */
body, input, textarea, button, select {
  font-family: 'Noto Sans KR', 'Source Sans 3', 'Pretendard Variable', 'Pretendard', 'NanumSquare', '맑은 고딕', 'Malgun Gothic', 'Apple SD Gothic Neo', '돋움', Dotum, sans-serif;
}
@media screen and (max-width:767px) {
  body {
    font-size: 16px !important;
    line-height: 1.8 !important;
  }
.entry-content, #article-view, #content .inner {
  max-width: 860px;    /* PC에서는 860px 이하로 제한 */
  margin: 0 auto;
  padding: 0 24px;
}

}

body {
  -webkit-text-size-adjust: 100%;
  font-weight: 400;
  font-size: 1em;
  line-height: 1.25;
}

html, body {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  font-size: 100%;
}

div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td, figure {
  margin: 0;
  padding: 0;
}

header, footer, section, article, aside, nav, hgroup, details, menu, figure, figcaption {
  display: block;
}

button, input[type=submit], input[type=reset], input[type=button] {
  overflow: visible;
  cursor: pointer;
}

input[type=text], input[type=email], input[type=password], input[type=submit], textarea {
  -webkit-appearance: none;
}

input, select, textarea, button {
  font-size: 100%;
  border-radius: 0;
}

button {
  overflow: visible;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

ul li {
  list-style: none;
}

img, fieldset {
  border: none;
  vertical-align: top;
}

hr {
  display: none;
}

/* Accessibility Navigation */
#acc-nav {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 0;
}

#acc-nav a {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin-left: -1px;
  margin-bottom: -1px;
  text-align: center;
  font-weight: bold;
  font-size: 0.875em;
  color: #000;
  white-space: nowrap;
}

#acc-nav a:focus, #acc-nav a:hover, #acc-nav a:active {
  width: 100%;
  height: auto;
  padding: 10px 0;
  background: #000;
  color: #fff;
  z-index: 1000;
}

/* Layout Selector */
#wrap {
  position: relative;
}

#header {
  position: relative;
  border-bottom: 1px solid #e6e6e6;
}

#header .inner {
  max-width: 1200px;
  margin: 0 auto;
}

#header .inner:after {
  content: "";
  clear: both;
  display: block;
  height: 0;
  visibility: hidden;
}

#header h1 {
  float: left;
  max-width: 500px;
  overflow: hidden;
  padding: 26px 0;
  font-size: 1.25em;
  line-height: 28px;
  letter-spacing: 0.5px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#header h1 a {
  display: inline-block;
  vertical-align: top;
  text-decoration: none;
  color: #7a583a;
}

#header h1 img {
  width: auto;
  height: 28px;
}

#header .mobile-menu {
  display: none;
}

#gnb {
  position: relative;
  float: right;
}

#gnb ul li {
  float: left;
  padding: 26px 16px;
  font-size: 0.875em;
}

#gnb ul li a {
  display: block;
  position: relative;
  padding: 0 4px;
  text-decoration: none;
  line-height: 28px;
  color: #000;
}

#gnb ul li a:hover {
  color: #7a583a;
}

#gnb ul li a:hover:after {
  content: "";
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  height: 4px;
  margin-top: 22px;
  background-color: #7a583a;
}

#content .inner {
  overflow: hidden;
  max-width: 860px;
  margin: 0 auto;
}

#aside {
  margin-top: 120px;
  padding: 57px 0 24px;
  border-top: 1px solid #e6e6e6;
}

#aside .inner {
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
}

#aside h2 {
  margin-bottom: 6px;
  font-size: 1em;
  color: #666;
}

#aside .sidebar-1 {
  float: left;
  width: 25%;
  min-height: 10px;
  padding-right: 36px;
  box-sizing: border-box;
}

#aside .sidebar-2 {
  float: left;
  width: 50%;
  min-height: 10px;
  margin: 0 0 40px;
  padding: 0 12px;
  box-sizing: border-box;
}

#aside .sidebar-3 {
  float: left;
  width: 25%;
  min-height: 10px;
  padding-left: 36px;
  box-sizing: border-box;
}

#aside .posts {
  margin-bottom: 56px;
}

#aside .posts li {
  border-bottom: 1px solid #e6e6e6;
}

#aside .posts li a {
  display: block;
  overflow: hidden;
  width: 100%;
  padding: 8px 0;
  text-overflow: ellipsis;
  text-decoration: none;
  white-space: nowrap;
  font-size: 0.875em;
  line-height: 1.5714;
  color: #b2b2b2;
}

#aside .posts li a:hover {
  color: #7a583a;
}

#aside .tags {
  margin: 0 0 40px;
}

#aside .tags h2 {
  margin-bottom: 10px;
}

#aside .tags .items {
  margin-bottom: 5px;
}

#aside .tags .more {
  text-decoration: none;
  font-size: 12px;
  line-height: 2;
  color: #d4bca7;
}

#aside .tags .more:after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 8px;
  background: url(./images/ico_package.png) no-repeat 0 -300px;
  vertical-align: baseline;
  margin-left: 6px;
}

#aside .tags .more:hover {
  color: #7a583a;
}

#aside .tags .more:hover:after {
  background-position-x: -50px;
}

#aside .search {
  margin-bottom: 57px;
}

#aside .search fieldset {
  position: relative;
  margin-top: 19px;
  padding-right: 38px;
  border: 1px solid #e6e6e6;
}

#aside .search input {
  width: 100%;
  height: 38px;
  padding: 0 10px;
  border: 0;
  font-size: 0.875em;
  line-height: 1.5714;
  color: #b2b2b2;
  box-sizing: border-box;
}

#aside .search input::-webkit-input-placeholder {
  color: #d6d6d6;
}

#aside .search button {
  position: absolute;
  top: 0;
  right: 0;
  width: 38px;
  height: 38px;
  background: url(./images/ico_package.png) no-repeat 13px -337px;
  text-align: left;
  text-indent: -999em;
}

#aside .search button:hover,
#aside .search button:focus,
#aside .search input:focus+button {
  background-position-x: -37px;
}

#aside .count {
  margin: 0 0 40px;
}

#aside .count .total {
  margin: 11px 0 2px;
  font-size: 1.875em;
  color: #7a583a;
}

#aside .count ul li {
  overflow: hidden;
  padding: 4px 0;
  border-bottom: 1px solid #e6e6e6;
  text-align: right;
  font-size: 0.875em;
  line-height: 2.1428;
  color: #b2b2b2;
}

#aside .count ul li strong {
  float: left;
  font-weight: normal;
}

#footer {
  padding: 18px 0;
  background-color: #f0f0f0;
}

#footer .copyright {
  text-align: center;
  font-size: 0.75em;
  color: #999;
}

#footer a {
  text-decoration: none;
  color: #7a583a;
}

#footer .admin:before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 11px;
  margin: 1px 9px 2px;
  background-color: #b2b2b2;
  vertical-align: middle;
}

/* Components */
.btn, a.btn {
  display: inline-block;
  position: relative;
  width: 158px;
  padding: 0 10px;
  border: 1px solid #7a583a;
  text-decoration: none;
  text-align: left;
  font-size: 12px;
  line-height: 38px;
  color: #7a583a;
  -webkit-transition: color .2s, background-color .2s;
  transition: color .2s, background-color .2s;
}

.btn:hover {
  background-color: #7a583a;
  border-color: #7a583a;
  color: #fff;
}

.btn:hover:after {
  background-position-x: 0;
}

.cover-slider {
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 40%;
  margin: -1px 0 80px;
  width: 100%;
}

.cover-slider .prev,
.cover-slider .next {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 20;
  width: 49px;
  height: 83px;
  margin-top: -42px;
  background-image: url(./images/ico_package.png);
  background-repeat: no-repeat;
  text-indent: -999em;
}

.cover-slider .prev {
  margin-left: -600px;
  background-position: 0 -200px;
}

.cover-slider .prev:hover {
  background-position-x: -100px
}

.cover-slider .next {
  margin-left: 551px;
  background-position: -50px -200px;
}

.cover-slider .next:hover {
  background-position-x: -150px
}

.cover-slider .paging {
  position: absolute;
  left: 0;
  bottom: 30px;
  z-index: 20;
  width: 100%;
  text-align: center;
}

.cover-slider .paging button {
  display: inline-block;
  overflow: hidden;
  width: 20px;
  height: 1px;
  margin: 0 5px;
  background-color: #b2b2b2;
  text-indent: -999em;
  vertical-align: bottom;
}

.cover-slider .paging .current {
  height: 5px;
  margin-top: 0;
  background-color: #333;
}

.cover-slider ul {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.cover-slider ul li {
  display: table;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
}

.cover-slider ul li .text-box {
  display: table-cell;
  background-color: rgba(0, 0, 0, 0.25);
  text-align: center;
  vertical-align: middle;
  font-weight: 100;
  text-decoration: none;
}

.cover-slider ul li .text-box strong {
  font-weight: 700;
}

.cover-slider ul li .text-box .title {
  display: block;
  margin-bottom: 40px;
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.4);
  font-size: 3.75em;
  line-height: 1;
  color: #fff;
}

.cover-slider ul li .text-box .title em {
  display: block;
  margin-bottom: 15px;
  text-shadow: 0 0 24px rgba(0, 0, 0, 0.4);
  font-style: normal;
  font-size: 0.5em;
  line-height: 1;
  color: #fff;
}

.cover-slider ul li .text-box .btn {
  z-index: 10;
  border-color: #fff;
  color: #fff;
  background-color: rgba(170, 170, 170, 0.1);
  box-shadow: 0 0 24px rgba(170, 170, 170, 0.3);
}

.cover-slider ul li .text-box .btn:after {
  background-position-x: 0;
}

.cover-slider ul li .text-box .btn:hover {
  background-color: #fff;
  color: #7a583a;
}

.cover-slider ul li .text-box .btn:hover:after {
  background-position-x: -100px;
}

.cover-slider.slide-on ul li {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}

.cover-thumbnail-list-1 {
  overflow: hidden;
  max-width: 1200px;
  margin: 80px auto 71px;
  box-sizing: border-box;
}

.cover-thumbnail-list-1 h2 {
  float: left;
  width: 24%;
  font-weight: 300;
  font-size: 1.875em;
  line-height: 1.3333;
  color: #7a583a;
}

.cover-thumbnail-list-1 h2:after {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  margin-top: 31px;
  background-color: #7a583a;
}

.cover-thumbnail-list-1 h2 em {
  display: block;
  margin-bottom: 10px;
  font-style: normal;
  font-weight: 700;
  font-size: 0.4666em;
  color: #000;
}

.cover-thumbnail-list-1 ul {
  float: left;
  width: 76%;
}

.cover-thumbnail-list-1 ul li {
  float: left;
  width: 33.3333%;
  padding-left: 16px;
  text-align: center;
  font-size: 0.875em;
  line-height: 2.25;
  color: #666;
  box-sizing: border-box;
}

.cover-thumbnail-list-1 ul li a {
  display: block;
  text-decoration: none;
  color: #666;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.cover-thumbnail-list-1 ul li .thum {
  display: block;
  margin-bottom: 7px;
  position: relative;
}

.cover-thumbnail-list-1 ul li .thum img {
  width: 100%;
  height: auto;
}

.cover-thumbnail-list-1 ul li .title {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.cover-thumbnail-list-1 ul li a:hover {
  color: #000;
}

.cover-thumbnail-list-1 ul li .thum:before {
  content: "";
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
}

.cover-thumbnail-list-1 ul li a:hover .thum:before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
}

.cover-special-contents {
  max-width: 1200px;
  margin: 71px auto 80px;
}

.cover-special-contents ul li {
  position: relative;
  overflow: hidden;
  text-align: center;
}

.cover-special-contents ul li .thum {
  display: block;
  float: left;
  width: 50%;
}

.cover-special-contents ul li .thum img {
  max-width: 100%;
  height: auto;
}

.cover-special-contents ul li .box {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 50%;
  margin-top: -230px;
}

.cover-special-contents ul li:nth-child(even) .thum {
  float: right;
}

.cover-special-contents ul li:nth-child(even) .box {
  left: 0;
}

.cover-special-contents ul li .category {
  display: block;
  margin: 0 0 17px;
  font-weight: 700;
  font-size: 0.875em;
  color: #7a583a;
}

.cover-special-contents ul li .title {
  display: block;
  margin: 0 0 32px;
  font-weight: 300;
  font-size: 1.875em;
  line-height: 1.3333;
  color: #7a583a;
}

.cover-special-contents ul li .title:after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: 33px auto 0;
  background-color: #7a583a;
}

.cover-special-contents ul li .excerpt {
  display: block;
  display: -webkit-box;
  -webkit-line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  height: 12.8568em;
  margin-bottom: 51px;
  padding: 0 21%;
  font-size: 0.875em;
  line-height: 2.1428;
  text-overflow: ellipsis;
  color: #666;
}

.cover-wide-panel {
  max-width: 1200px;
  margin: 80px auto 120px;
}

.cover-wide-panel .bg {
  height: 300px;
  background-position: 50% 50%;
  background-size: cover;
}

.cover-wide-panel .box {
  max-width: 1000px;
  margin: -100px auto 0;
  padding-top: 58px;
  text-align: center;
  background-color: #fff;
}

.cover-wide-panel .category {
  display: block;
  margin-bottom: 9px;
  font-weight: 700;
  font-size: 0.875em;
  color: #7a583a;
}

.cover-wide-panel h2 {
  display: block;
  margin-bottom: 32px;
  padding: 2px 0 3px;
  font-weight: 300;
  font-size: 1.875em;
  line-height: 1.3333;
  color: #7a583a;
}

.cover-wide-panel h2:after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin: 33px auto 0;
  background-color: #7a583a;
}

.cover-wide-panel p {
  display: block;
  margin-bottom: 48px;
  padding: 0 125px;
  font-size: 0.875em;
  line-height: 2.1428;
  color: #666;
}

.post-header {
  position: relative;
  z-index: 10;
  overflow: hidden;
  max-width: 860px;
  margin: 40px auto 0;
  border-bottom: 1px solid #7a583a;
  text-align: left;
  color: #7a583a;
}

.post-header:first-child {
  margin-top: 75px;
}

.post-header h2 {
  display: inline-block;
  font-size: 0.875em;
  line-height: 40px;
  vertical-align: top;
}

.post-header .list-type {
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -15px;
}

.post-header .list-type button {
  float: left;
  width: 30px;
  height: 30px;
  margin: 0 0 0 5px;
  border: 1px solid #D4BCA7;
  background-image: url(./images/ico_package.png);
  text-indent: -999em;
  box-sizing: border-box;
}

.post-header .list-type .thum {
  background-position: 0 -100px;
}

.post-header .list-type .thum:hover,
.post-header .list-type .thum.current {
  background-position: -100px -100px;
  outline: none;
}

.post-header .list-type .list {
  background-position: -50px -100px;
  outline: none;
}

.post-header .list-type .list:hover,
.post-header .list-type .list.current {
  background-position: -150px -100px;
  outline: none;
}

.post-item {
  float: left;
  width: 23.255813953488372%;
  padding: 20px 0 33px 2.325581395348837%;
  border-bottom: 1px solid #e6e6e6;
}

.post-item:nth-child(4n+1) {
  padding-left: 0;
}

.cover-thumbnail-list-2 {
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto 40px;
}

.cover-thumbnail-list-2 h2 {
  position: relative;
  z-index: 10;
  overflow: hidden;
  max-width: 1200px;
  margin: 0 auto;
  border-top: 1px solid #7a583a;
  border-bottom: 1px solid #7a583a;
  text-align: center;
  font-size: 0.875em;
  line-height: 40px;
  color: #7a583a;
}

.cover-thumbnail-list-2 ul {
  margin-left: -16px;
}

.cover-thumbnail-list-2 ul li {
  float: left;
  width: 25%;
  padding: 20px 0 33px 16px;
  box-sizing: border-box;
}

.post-item .thum,
.cover-thumbnail-list-2 ul li .thum {
  display: block;
  position: relative;
  overflow: hidden;
  height: 0;
  margin-bottom: 17px;
  padding-bottom: 98.4848%;
  background-color: #ebebeb;
}

.post-item .thum:before,
.cover-thumbnail-list-2 ul li .thum:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 22px;
  height: 18px;
  margin: -9px 0 0 -11px;
  background: url(./images/ico_package.png) no-repeat -150px -300px;
}

.post-item .thum img,
.cover-thumbnail-list-2 ul li .thum img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.post-item a,
.cover-thumbnail-list-2 ul li a {
  display: block;
  text-decoration: none;
}

.post-item .title,
.cover-thumbnail-list-2 ul li .title {
  display: block;
  overflow: hidden;
  width: 90%;
  margin-bottom: 2px;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 700;
  font-size: 1em;
  color: #000;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.post-item .excerpt,
.cover-thumbnail-list-2 ul li .excerpt {
  display: block;
  display: -webkit-box;
  overflow: hidden;
  width: 90%;
  height: 4.125rem;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  margin-bottom: 16px;
  text-overflow: ellipsis;
  font-size: 0.875em;
  line-height: 1.375rem;
  color: #666;
  -webkit-transition: color .2s;
  transition: color .2s;
}

.post-item .excerpt.protected:before,
.cover-thumbnail-list-2 ul li .excerpt.protected:before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 13px;
  margin-right: 10px;
  background: url(./images/ico_package.png) no-repeat -100px -350px;
  vertical-align: middle;
}

.post-item .more,
.cover-thumbnail-list-2 ul li .more {
  display: inline-block;
  font-size: 0.75em;
  color: #d4bca7;
  vertical-align: top;
}

.post-item .more:after,
.cover-thumbnail-list-2 ul li .more:after {
  content: "";
  display: inline-block;
  width: 4px;
  height: 8px;
  margin: 3px 0 4px 6px;
  background: url(./images/ico_package.png) no-repeat 0 -300px;
  vertical-align: top;
}

.post-item .thum:after,
.cover-thumbnail-list-2 ul li .thum:after {
  content: "";
  background-color: rgba(255, 255, 255, 0);
  -webkit-transition: background-color .5s;
  transition: background-color .5s;
}

.post-item a:hover .thum:after,
.cover-thumbnail-list-2 ul li a:hover .thum:after {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.5);
}

.post-item a:hover .title,
.cover-thumbnail-list-2 ul li a:hover .title {
  color: #7a583a;
}

.post-item a:hover .excerpt,
.cover-thumbnail-list-2 ul li a:hover .excerpt {
  color: #000;
}

.post-item a:hover .more,
.cover-thumbnail-list-2 ul li a:hover .more {
  color: #7A583A;
}

.post-item a:hover .more:after,
.cover-thumbnail-list-2 ul li a:hover .more:after {
  background-position-x: -50px;
}

.post-type-text .post-item {
  float: none;
  width: auto;
  margin-left: 0;
  padding: 28px 0;
}

.post-type-text .post-item a {
  overflow: hidden;
  width: 100%;
}

.post-type-text .post-item .thum {
  float: right;
  width: 210px;
  height: 148px;
  margin: 0 0 0 78px;
  padding-bottom: 0;
}

.post-type-text .post-item .thum:before {
  display: none;
}

.post-type-text .post-item .thum img {
  position: relative;
  width: 100%;
  height: auto;
  margin: -29px 0 0;
}

.post-type-text .post-item .title {
  width: auto;
  margin-bottom: 3px;
  padding: 10px 0 0;
  font-size: 1.125em;
}

.post-type-text .post-item .excerpt {
  width: auto;
}

.post-type-text .post-item .more {
  line-height: 1.25;
}

.hgroup {
  max-width: 1200px;
  margin: 0 auto 60px;
  padding: 78px 0 40px;
  border-bottom: 1px solid #7a583a;
}

.hgroup .category {
  margin-bottom: 8px;
  font-weight: 700;
  font-size: 0.875em;
  color: #000;
}

.hgroup h1 {
  font-size: 1.5em;
  font-weight: 400;
  line-height: 1.0666;
  color: #7a583a;
}

.hgroup .post-meta {
  margin: 18px 0 -2px;
  font-size: 0.75em;
  color: #b2b2b2;
}

.hgroup .post-meta a {
  text-decoration: none;
  color: #d4bca7;
}

.hgroup .post-meta a:hover {
  color: #7A583A;
}

.hgroup .post-meta span:before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 9px;
  margin: 0 9px;
  background-color: #b3b3b3;
  vertical-align: middle;
}

.hgroup .post-meta span:first-child:before {
  content: none;
}

.hgroup.guest h2 {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 40px;
  color: #7a583a;
}

.hgroup.guest {
  max-width: 860px;
  margin: 0 auto 60px;
  padding: 75px 0 0;
  border-bottom: 1px solid #7a583a;
}

.hgroup.tag {
  max-width: 860px;
  margin: 0 auto 60px;
  padding: 75px 0 0;
  border-bottom: 1px solid #7a583a;
}

.hgroup.tag h2 {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 40px;
  color: #7a583a;
}


.post-btn {
  max-width: 1200px;
  margin: 200px auto 20px;
}

.post-btn button {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 2px;
  text-align: left;
  text-indent: -999em;
  background-image: url(./images/ico_package.png);
  background-repeat: no-repeat;
  border: 1px solid #D4BCA7;
  box-sizing: border-box;
}

.post-btn .share {
  background-position: 0 -50px;
}

.post-btn .report {
  background-position: -50px -50px;
}

.post-btn .share:hover {
  background-position: -100px -50px;
}

.post-btn .report:hover {
  background-position: -150px -50px;
}

.another-category {
  max-width: 1200px;
  margin: 20px auto 36px;
  padding: 38px 0 0;
  border-top: 1px solid #7a583a;
}

.another-category h4 {
  margin-bottom: 10px;
  font-size: 1em;
  color: #666;
}

.another-category table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875em;
  color: #b2b2b2;
}

.another-category table th {
  padding: 8px 0 4px;
  border-bottom: 1px solid #e6e6e6;
  text-align: left;
  font-weight: 400;
}

.another-category table th a {
  text-decoration: none;
  color: #b2b2b2;
}

.another-category table th a:hover {
  color: #7A583A;
}

.another-category table th span {
  font-size: 0.75em;
}

.another-category td {
  width: 60px;
  padding: 8px 0 4px;
  border-bottom: 1px solid #e6e6e6;
  font-size: 0.75em;
  line-height: 1;
  color: #b2b2b2;
}

/* Style Important */
.another_category table {
  border: none !important;
}

.another_category td {
  border: none !important;
}

.tags {
  position: relative;
  overflow: hidden;
  max-width: 860px;
  margin: 35px auto 32px;
  color: #b2b2b2;
}

.tags h2 {
  margin-bottom: 10px;
  font-size: 1em;
  color: #666;
}

.tags .items {
  margin: 0 0 0 -18px;
}

.tags .items a {
  display: inline-block;
  margin-left: 18px;
  text-decoration: none;
  font-size: 0.875em;
  line-height: 2.1428;
  color: #b2b2b2;
}

.tags .items a:hover {
  color: #7a583a;
}

.tags .items a:before {
  content: "#";
}

#content .tags .items a {
  margin-left: 8px;
}

#content .tags .items {
  margin: 0 0 0 -18px;
  padding-left: 10px;
}


.related-articles {
  overflow: hidden;
  max-width: 1200px;
  margin: 40px auto 80px;
}

.related-articles h2 {
  margin-bottom: 28px;
  border-top: 1px solid #7a583a;
  border-bottom: 1px solid #7a583a;
  text-align: center;
  font-weight: 400;
  font-size: 0.875em;
  line-height: 40px;
  color: #666;
}

.related-articles h2 strong {
  font-weight: 700;
  color: #000;
}

.related-articles ul {
  margin-left: -20px;
  vertical-align: top;
}

.related-articles ul li {
  float: left;
  position: relative;
  width: 25%;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}

.related-articles ul li a {
  overflow: hidden;
  display: block;
  position: relative;
}

.related-articles ul li .thum {
  display: block;
  position: relative;
  overflow: hidden;
  height: 0;
  padding-bottom: 98.4848%;
  background-color: #ebebeb;
}

.related-articles ul li .thum:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 0;
  width: 22px;
  height: 18px;
  margin: -9px 0 0 -11px;
  background: url(./images/ico_package.png) no-repeat -150px -300px;
}

.related-articles ul li .thum img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
}

.related-articles ul li .title {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 10;
  overflow: hidden;
  width: 100%;
  padding: 0 10px;
  background-color: rgba(0, 0, 0, 0.3);
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 1em;
  line-height: 40px;
  color: #fff;
  box-sizing: border-box;
}

.comments {
  max-width: 860px;
  margin: 0 auto;
  border-bottom: 1px solid #e6e6e6;
}

.comments h2 {
  font-size: 1em;
  color: #666;
}

.comments h2 .count {
  color: #7a583a;
}

.comments .comment-list {
  font-size: 16px;
  margin-bottom: 6px;
  overflow: hidden;
}

.comments .comment-list ul li {
  padding: 30px 0 25px;
  border-top: 1px solid #e6e6e6;
  position: relative;
  min-height: 48px;
}

.comments .comment-list ul li:first-child {
  border: none;
}

.comments .comment-list ul li ul li {
  padding: 26px 0 0 60px;
  border-top: 0;
  border-bottom: 0;
}

.comments .comment-list ul li .author-meta {
  position: absolute;
  overflow: hidden;
  top: 30px;
  height: 48px;
  left: 0;
  right: 0;
  padding: 4px 0 0 60px;
}

.comments .comment-list ul li ul li .author-meta {
  top: 26px;
  left: 60px;
}

.comments .comment-list ul li .author-meta .avatar {
  position: absolute;
  left: 0;
  top: 0;
  width: 48px;
  height: 48px;
  border-radius: 50%;
}

.comments .comment-list ul li .author-meta span {
  display: inline-block;
}

.comments .comment-list ul li .author-meta a {
  text-decoration: none;
  color: #000;
}

.comments .comment-list ul li .author-meta .nickname {
  float: left;
  font-size: 0.875em;
  line-height: 20px;
}

.comments .comment-list ul li .author-meta .nickname .tistoryProfileLayerTrigger {
  margin-bottom: 3px;
  margin-right: 0;
  vertical-align: bottom;
}

.comments .comment-list ul li .author-meta .date {
  float: left;
  margin-left: 10px;
  font-size: 0.75em;
  color: #999;
  line-height: 20px;
}

.comments .comment-list ul li .author-meta .date:before,
.comments .comment-list ul li .author-meta .date a:before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 9px;
  margin-right: 10px;
  background-color: #b2b2b2;
}

.comments .comment-list ul li .author-meta .date a {
  margin-left: 10px;
}

.comments .comment-list ul li .control {
  position: absolute;
  top: 33px;
  right: 0;
}

.comments .comment-list ul li ul li .control {
  top: 29px;
}

.comments .comment-list ul li .control a {
  margin: 0 2px;
  text-decoration: none;
  font-size: 12px;
  color: #999;
}

.comments .comment-list ul li p {
  position: relative;
  margin: 29px 0 0 60px;
  font-size: 0.875em;
  line-height: 1.5714;
  color: #666;
}

.comments .comment-form .field {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin-bottom: 10px;
}

.comments .comment-form input[type=text],
.comments .comment-form input[type=password],
.comments .comment-form textarea {
  border: 1px solid #e6e6e6;
  font-size: 0.875em;
  line-height: 1.25;
  color: #666;
}

.comments .comment-form input[type=text],
.comments .comment-form input[type=password] {
  width: 120px;
  height: 40px;
  padding: 10px;
  box-sizing: border-box;
}

.comments .comment-form input::-webkit-input-placeholder,
.comments .comment-form textarea::-webkit-input-placeholder {
  color: #d6d6d6;
}

.comments .comment-form textarea {
  display: block;
  width: 100%;
  margin-bottom: 10px;
  padding: 10px;
  resize: none;
  box-sizing: border-box;
}

.comments .comment-form .field .secret {
  float: right;
}

.comments .comment-form .field .secret input {
  display: none;
}

.comments .comment-form .field .secret label {
  font-size: 0.875em;
  line-height: 40px;
  color: #666;
  outline: none;
  cursor: pointer;
}

.comments .comment-form .field .secret label:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 9px;
  border: 1px solid #e1e1e1;
  vertical-align: middle;
  background-color: #fff;
}

.comments .comment-form .field .secret input[type=checkbox]:checked+label:before {
  background-image: url(./images/ico_package.png);
  background-repeat: no-repeat;
  background-position: -97px -295px;
}

.comments .comment-form .submit {
  margin-bottom: 10px;
  text-align: right;
}

.pagination {
  max-width: 860px;
  margin: 60px auto 160px;
  text-align: center;
}

.pagination a {
  display: inline-block;
  margin: 0 10px;
  text-decoration: none;
  font-size: 0.875em;
  line-height: 30px;
  color: #d4bca7;
  vertical-align: middle;
}

.pagination a:hover {
  color: #7A583A;
}

.pagination .selected {
  color: #000;
}

.pagination .prev,
.pagination .next {
  width: 30px;
  height: 30px;
  background-image: url(./images/ico_package.png);
  background-repeat: no-repeat;
  border: 1px solid #D4BCA7;
  text-indent: -999em;
  vertical-align: middle;
  box-sizing: border-box;
}

.pagination .prev {
  background-position: 0 -150px;
}

.pagination .prev:hover {
  background-position: -100px -150px;
}

.pagination .next {
  background-position: -50px -150px;
}

.pagination .next:hover {
  background-position: -150px -150px;
}

.pagination .no-more-prev,
.pagination .no-more-next {
  display: none;
}

.pagination .view-more {
  display: block;
  width: 100%;
  margin: 0;
  padding: 14px 0 11px;
  border: 1px solid #d4bca7;
  text-decoration: none;
  font-size: 12px;
  line-height: 1;
  color: #d4bca7;
}

.pagination .view-more:before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 9px;
  background: url(./images/ico_package.png) no-repeat 0 -400px;
}

.pagination .view-more:hover {
  background-color: #d4bca7;
  color: #fff;
}

.pagination .view-more:hover:before {
  background-position-x: -50px;
}

/* Entry Content */
.entry-content, #article-view {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 24px;
  font-size: 1em;
  line-height: 1.6;
  color: #333;
}
/* 폰트는 body에서만 지정 */

.entry-content h1 {
  clear: both;
  margin: 29px 0 22px;
  font-size: 1.6875em;
  line-height: 1.5;
  color: #000;
}

.entry-content h2 {
  clear: both;
  margin: 29px 0 22px;
  font-size: 1.5em;
  line-height: 1.5;
  color: #000;
}

.entry-content h3 {
  clear: both;
  margin: 29px 0 22px;
  font-size: 1.3125em;
  line-height: 1.5;
  color: #000;
}

.entry-content h4 {
  clear: both;
  margin: 29px 0 22px;
  font-weight: 400;
  font-size: 1.125em;
  line-height: 1.5;
  color: #000;
}

.entry-content p {
  word-break: break-all;
}

.entry-content p img {
  max-width: 100%;
  height: auto;
}

.entry-content hr {
  display: block;
  height: 0;
  border: 0;
  border-bottom: 1px solid #000;
}

.entry-content pre {
  word-break: break-all;
  white-space: pre-wrap;
  word-wrap: break-word;
}

.entry-content pre code.hljs {
  padding: 20px;
}

.entry-content ul {
  list-style: disc inside;
  margin-bottom: 22px;
}

.entry-content ul li {
  position: relative;
}

.entry-content ol {
  list-style: decimal inside;
  margin-bottom: 22px;
}

.entry-content ol li {
  position: relative;
  list-style: decimal;
}

.entry-content a {
  color: #d4bca7;
}

.entry-content img.alignleft {
  float: left;
  margin: 0 22px 22px 0;
}

.entry-content img.aligncenter {
  display: block;
  margin: 0 auto 22px;
}

.entry-content img.alignright {
  float: right;
  margin: 0 0 22px 22px;
}

.entry-content blockquote {
  margin-top: 10px;
  padding: 16px 20px;
  border-left: 4px solid #e6e6e6;
}

.entry-content blockquote p {
  margin: 22px 0 0;
}

.entry-content blockquote p:first-child {
  margin-top: 0;
}

.entry-content table {
  width: 100%;
  border-collapse: collapse;
}

.entry-content table thead th {
  padding: 7px 0 11px;
  border-left: 1px solid #e6e6e6;
}

.entry-content input {
  height: 40px;
  padding: 0 10px;
  border: 1px solid #e6e6e6;
  font-size: 0.875em;
  line-height: 1.25;
  color: #666;
  box-sizing: border-box;
  vertical-align: middle;
}

.entry-content .protected_form {
  margin-bottom: 40px;
  padding: 120px 0 200px;
  border-bottom: 1px solid #7a583a;
  text-align: center;
}

.entry-content .protected_form input {
  width: 200px;
  margin-bottom: 10px;
  vertical-align: top;
}

.entry-content .cap1 {
  text-align: center;
  font-size: 0.875em;
  font-style: italic;
}

/* Comment */

/* Widget & Template Page */

/* ETC */
#dimmed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
}

#mediaLogNest {
  max-width: 1200px;
  margin: 0 auto;
}

/* Column & Color Type */
.layout-float #wrap {
  padding-left: 240px;
}

.layout-float #header {
  float: left;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 200;
  width: 240px;
  height: 100%;
  border-bottom-width: 0;
  border-right: 1px solid #e6e6e6;
  background-color: #fff;
}

.layout-float #header h1 {
  float: none;
  padding: 80px 0 60px;
  text-align: center;
}

.layout-float #gnb {
  float: none;
  padding: 0 40px;
}

.layout-float #gnb ul li {
  float: none;
  padding: 0;
  border-bottom: 1px solid #e6e6e6;
  text-align: center;
}

.layout-float #gnb ul li a {
  padding: 10px 0 1px;
}

.layout-float #gnb ul li a:hover:after {
  margin: 0;
}

.layout-float #content {
  max-width: 900px;
  padding: 80px 0 0 60px;
}

.layout-float #aside {
  padding-left: 60px;
}

.layout-float #aside .inner {
  max-width: 900px;
  margin: 0;
}

.layout-float #footer .copyright {
  max-width: 900px;
  padding-left: 60px;
}

.layout-float .cover-slider {
  padding-bottom: 53.3333%;
}

.layout-float .cover-slider .prev {
  margin-left: -430px;
}

.layout-float .cover-slider .next {
  margin-left: 381px;
}

.layout-float .cover-slider ul li .text-box .title {
  font-size: 3em;
}

.layout-float .cover-thumbnail-list-1 ul li {
  padding-left: 36px;
}

.layout-float .cover-special-contents ul li .category {
  margin-top: 57px;
}

.layout-float .cover-special-contents ul li .title {
  margin-bottom: 26px;
  font-size: 1.5em;
}

.layout-float .cover-special-contents ul li .title:after {
  margin-top: 22px;
}

.layout-float .cover-special-contents ul li .excerpt {
  height: 10em;
  margin-bottom: 35px;
  padding: 0 55px;
  line-height: 1.7142;
}

.layout-float .cover-wide-panel .box {
  width: 800px;
  margin-top: -80px;
}

.layout-float .cover-wide-panel h2 {
  font-size: 1.5em;
}

.layout-float .cover-wide-panel p {
  padding: 0 60px;
}

.layout-float .post-item {
  width: 30.6666%;
}

.layout-float .post-item:nth-child(4n+1) {
  padding-left: 4%;
}

.layout-float .post-item:nth-child(3n+1) {
  padding-left: 0;
}

.layout-float.post-type-text .post-item {
  width: auto;
  padding-left: 0;
}

.layout-float .related-articles ul li .thum {
  padding-bottom: 100%;
}

.layout-float .cover-thumbnail-list-2 ul {
  margin-left: -36px;
}

.layout-float .cover-thumbnail-list-2 ul li {
  width: 33.3333%;
  padding-left: 36px;
}

.layout-float #aside .sidebar-1,
.layout-float #aside .sidebar-2,
.layout-float #aside .sidebar-3 {
  width: 33.3333%;
}

.layout-float #aside .sidebar-1 {
  padding-right: 24px;
}

.layout-float #aside .sidebar-3 {
  padding-left: 24px;
}

.layout-float .related-articles ul {
  margin-left: -36px;
}

.layout-float .related-articles ul li {
  padding-left: 36px;
}

/* Black Type */
.color-dark,
.color-dark #header,
.color-dark .cover-wide-panel .box,
.color-dark #aside .search input,
.color-dark .comments .comment-form input[type=text],
.color-dark .comments .comment-form input[type=password],
.color-dark .comments .comment-form textarea {
  background-color: #141414;
}

.color-dark .entry-content ul li:before {
  background-color: #333;
}

.color-dark #footer {
  background-color: #000;
}

.color-dark #gnb ul li a:hover:after,
.color-dark .cover-thumbnail-list-1 h2:after,
.color-dark .cover-special-contents ul li .title:after {
  background-color: #d4bca7;
}

.color-dark .btn:hover,
.color-dark .pagination .view-more:hover {
  background-color: #7A583A;
}

.color-dark #header,
.color-dark #aside,
.color-dark .post-item,
.color-dark .cover-thumbnail-list-2 ul li,
.color-dark .comments .comment-list ul li,
.color-dark .comments {
  border-color: #000;
}

.color-dark .hgroup,
.color-dark .another-category,
.color-dark .related-articles h2 {
  border-color: #d4bca7;
}

.color-dark #gnb ul li,
.color-dark #aside .posts li,
.color-dark #aside .count ul li,
.color-dark #aside .search fieldset,
.color-dark .entry-content blockquote,
.color-dark .entry-content table,
.color-dark .entry-content table thead th,
.color-dark .entry-content table tbody td,
.color-dark .another-category table th,
.color-dark .another-category table td,
.color-dark .comments .comment-form input[type=text],
.color-dark .comments .comment-form input[type=password],
.color-dark .comments .comment-form textarea,
.color-dark .comments .comment-form .field .secret label:before {
  border-color: #333;
}

.color-dark .btn,
.color-dark .pagination .view-more,
.color-dark .post-header .list-type button,
.color-dark .pagination .prev,
.color-dark .pagination .next,
.color-dark .entry-content a,
.color-dark .cover-thumbnail-list-2 h2,
.color-dark .post-header {
  border-color: #7A583A;
}

.color-dark .post-item .more,
.color-dark .cover-thumbnail-list-2 ul li .more,
.color-dark .pagination a,
.color-dark .entry-content a {
  color: #7a583a;
}

.color-dark #header h1 a {
  color: #d4bda9;
}

.color-dark #gnb ul li a:hover,
.color-dark #aside .posts li a:hover,
.color-dark #aside .tags .more:hover,
.color-dark #aside .count .total,
.color-dark #footer a,
.color-dark .tags .items a:hover,
.color-dark .cover-thumbnail-list-1 h2,
.color-dark .cover-special-contents ul li .title,
.color-dark .cover-wide-panel h2,
.color-dark .post-item a:hover .title,
.color-dark .post-item a:hover .more,
.color-dark .cover-thumbnail-list-2 ul li a:hover .title,
.color-dark .cover-thumbnail-list-2 ul li a:hover .more,
.color-dark .pagination a:hover,
.color-dark .hgroup h1,
.color-dark .pagination .selected,
.color-dark .comments h2 .count,
.color-dark .cover-thumbnail-list-1 ul li a:hover {
  color: #d4bca7;
}

.color-dark #gnb ul li a,
.color-dark #aside h2,
.color-dark .hgroup .category,
.color-dark .cover-thumbnail-list-1 h2 em,
.color-dark .cover-special-contents ul li .category,
.color-dark .cover-wide-panel .category,
.color-dark .entry-content h2,
.color-dark .post-item a:hover .excerpt,
.color-dark .cover-thumbnail-list-2 h2,
.color-dark .cover-thumbnail-list-2 ul li a:hover .excerpt,
.color-dark .post-header h2,
.color-dark .another-category h4,
.color-dark .tags h2,
.color-dark .related-articles h2 strong,
.color-dark .comments h2,
.color-dark .comments .comment-list ul li .author-meta .nickname,
.color-dark .comments .comment-list ul li .author-meta a,
.color-dark .btn:hover,
.color-dark .pagination .selected,
.color-dark .pagination .view-more:hover {
  color: #fff;
}

.color-dark #aside .posts li a,
.color-dark #aside .count ul li,
.color-dark #aside .search input,
.color-dark .cover-thumbnail-list-1 ul li a,
.color-dark .cover-special-contents ul li .excerpt,
.color-dark .cover-wide-panel p,
.color-dark .post-item .excerpt,
.color-dark .cover-thumbnail-list-2 ul li .excerpt,
.color-dark .entry-content p,
.color-dark .entry-content ul li,
.color-dark .entry-content ol li,
.color-dark .entry-content table,
.color-dark .tags .items a,
.color-dark .another-category table th a {
  color: #808080;
}

.color-dark #aside .search input::-webkit-input-placeholder,
.color-dark .comments .comment-form input::-webkit-input-placeholder,
.color-dark .comments .comment-form textarea::-webkit-input-placeholder {
  color: #333;
}

.color-dark #aside .tags .more,
.color-dark .btn,
.color-dark .pagination .view-more,
.color-dark .comments .comment-list ul li .author-meta .control a {
  color: #7a583a;
}

.color-dark .post-item .title,
.color-dark .cover-thumbnail-list-2 ul li .title {
  color: #ccc;
}

.color-dark #aside .search button {
  background-position-x: -37px;
}

.color-dark #aside .search button:hover,
.color-dark #aside .search button:focus,
.color-dark #aside .search input:focus+button {
  background-position-x: 13px;
}

.color-dark #aside .tags .more:after {
  background-position-x: -50px;
}

.color-dark #aside .tags .more:hover:after {
  background-position-x: 0;
}

.color-dark .pagination .prev {
  background-position-x: -100px;
}

.color-dark .pagination .next {
  background-position-x: -150px;
}

.color-dark .pagination .prev:hover {
  background-position-x: 0;
}

.color-dark .pagination .next:hover {
  background-position-x: -50px;
}

.color-dark .post-header .list-type .thum {
  background-position-x: -100px;
}

.color-dark .post-header .list-type .thum:hover,
.color-dark .post-header .list-type .thum.current {
  background-position-x: 0;
}

.color-dark .post-header .list-type .list {
  background-position-x: -150px;
}

.color-dark .post-header .list-type .list:hover,
.color-dark .post-header .list-type .list.current {
  background-position-x: -50px;
}

.color-dark .pagination .view-more:before {
  background-position-x: -100px;
}

.color-dark .pagination .view-more:hover:before {
  background-position-x: -50px;
}

.color-dark .btn:after {
  background-position-x: -100px;
}

.color-dark .btn:hover:after,
.color-dark .pagination .view-more:hover {
  background-position-x: 0;
}

.color-dark .post-item .more:after,
.color-dark .cover-thumbnail-list-2 ul li .more:after {
  background-position-x: -50px;
}

.color-dark .post-item a:hover .more:after,
.color-dark .cover-thumbnail-list-2 ul li a:hover .more:after {
  background-position-x: 0;
}

.color-dark #header .mobile-menu span,
.color-dark #header .mobile-menu:before,
.color-dark #header .mobile-menu:after {
  background-color: #D4BCA7;
}

.color-dark #gnb {
  background-color: #141414;
}

.color-dark .container_postbtn .postbtn_like .txt_like {
  color: #808080;
}

/* Retina Display */
@media only screen and (-webkit-min-device-pixel-ratio:1.5) {

  #aside .tags .more:after,
  #aside .search button,
  .cover-slider .prev,
  .cover-slider .next,
  .post-header .list-type button,
  .post-item .thum:before,
  .cover-thumbnail-list-2 ul li .thum:before,
  .post-item .more:after,
  .cover-thumbnail-list-2 ul li .more:after,
  .post-btn button,
  .related-articles ul li .thum:before,
  .comments .comment-form .field .secret input[type=checkbox]:checked+label:before,
  .pagination .prev,
  .pagination .next,
  .pagination .view-more:before {
    background-image: url(./images/ico_package_2x.png);
    background-size: 200px auto;
  }
}

/* Media Screen - Tablet */
@media screen and (max-width:1199px) {

  #header,
  #aside,
  #content .inner,
  .cover-thumbnail-list-1,
  .cover-special-contents,
  .cover-thumbnail-list-2,
  .pagination {
    padding-left: 34px;
    padding-right: 34px;
  }

  .cover-slider .prev {
    left: 20px;
    margin-left: 0;
  }

  .cover-slider .next {
    left: auto;
    right: 20px;
    margin-left: 0;
  }

  .cover-special-contents ul li .box {
    margin-top: -177px;
  }

  .cover-special-contents ul li .excerpt {
    height: 6.4284em;
    -webkit-line-clamp: 3;
  }

  .cover-wide-panel .box {
    max-width: none;
    margin-left: 50px;
    margin-right: 50px
  }

  .entry-content img.alignleft,
  .entry-content img.alignright {
    max-width: 50%;
  }

  .layout-float #header,
  .layout-float .cover-thumbnail-list-1,
  .layout-float .cover-special-contents,
  .layout-float .cover-wide-panel,
  .layout-float .cover-thumbnail-list-2,
  .layout-float .pagination,
  .layout-float #content .inner {
    padding-left: 0;
    padding-right: 0;
  }

  .layout-float .cover-thumbnail-list-1 h2,
  .layout-float .cover-special-contents ul li .title,
  .layout-float .cover-wide-panel h2 {
    font-size: 1.25em;
  }

  .layout-float .cover-thumbnail-list-1 ul li {
    padding-left: 20px;
  }

  .layout-float .cover-special-contents ul li .category {
    margin-top: 30px;
  }

  .layout-float .cover-special-contents ul li .title {
    margin-bottom: 17px;
  }

  .layout-float .cover-special-contents ul li .title:after {
    margin-top: 16px;
  }

  .layout-float .cover-special-contents ul li .excerpt {
    height: 5.1426em;
    margin-bottom: 21px;
    padding: 0 10%;
    font-size: 0.75em;
  }

  .layout-float .cover-wide-panel {
    margin-bottom: 80px;
  }

  .layout-float .cover-wide-panel p {
    padding: 0 10%;
    font-size: 0.75em;
  }

  .layout-float .cover-thumbnail-list-2 ul {
    margin-left: -20px;
  }

  .layout-float .cover-thumbnail-list-2 ul li {
    padding-left: 20px;
  }

  .layout-float .cover-thumbnail-list-2 ul li .title,
  .layout-float .post-item .title {
    font-size: 1em;
  }

  .layout-float .cover-thumbnail-list-2 ul li .excerpt,
  .layout-float .post-item .excerpt {
    height: 5em;
    font-size: 0.75em;
    line-height: 1.6666;
  }

  .layout-float .post-header {
    margin: 0;
  }

  .layout-float #content {
    padding: 80px 34px 0;
  }

  .layout-float .cover-wide-panel .box {
    width: auto;
  }

  .layout-float #aside {
    padding-left: 34px;
    padding-right: 34px;
  }

  .layout-float #aside .sidebar-1 {
    width: 50%;
    padding: 0 10px 0 0;
  }

  .layout-float #aside .sidebar-2 {
    width: 50%;
    margin: 0;
    padding: 0 0 0 10px;
  }

  .layout-float #aside .sidebar-3 {
    clear: both;
    float: none;
    width: auto;
    padding: 0;
  }

  .layout-float #aside .search {
    float: left;
    width: 50%;
    padding-right: 10px;
    box-sizing: border-box;
  }

  .layout-float #aside .count {
    float: right;
    width: 50%;
    margin: 0;
    padding-left: 10px;
    box-sizing: border-box;
  }
}

@media screen and (max-width:1023px) {
  #header h1 {
    float: none;
    padding: 20px 50px 20px 0;
  }

  #header h1 img {
    width: auto;
    height: 28px;
  }

  #header .mobile-menu {
    display: block;
    position: absolute;
    top: 50%;
    right: 19px;
    width: 48px;
    height: 48px;
    margin-top: -24px;
    text-indent: -999em;
    outline: none;
  }

  #header .mobile-menu span,
  #header .mobile-menu:before,
  #header .mobile-menu:after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 18px;
    height: 2px;
    margin-left: -9px;
    background-color: #7a583a;
    -webkit-transition: -webkit-transform .3s;
    transition: transform .3s;
  }

  #header .mobile-menu span {
    top: 50%;
    margin-top: -1px;
  }

  #header .mobile-menu:before {
    content: "";
    margin-top: -8px;
  }

  #header .mobile-menu:after {
    content: "";
    margin-top: 6px;
  }

  #header .mobile-menu.on {
    position: fixed;
    top: 10px;
    margin-top: 0;
    z-index: 610;
    outline: none;
  }

  #header .mobile-menu.on span {
    display: none;
  }

  #header .mobile-menu.on:before {
    margin-top: -1px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }

  #header .mobile-menu.on:after {
    margin-top: -1px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }

  #gnb {
    position: fixed;
    top: 0;
    right: -300px;
    z-index: 600;
    width: 300px;
    height: 100%;
    padding-top: 68px;
    background-color: #fff;
    box-sizing: border-box;
    -webkit-transition: right .3s;
    transition: right .3s;
  }

  #gnb ul {
    overflow-y: auto;
    height: 100%;
  }

  #gnb ul li {
    float: none;
    padding: 0;
    border-top: 1px solid #ebebeb;
    font-size: 1.125em;
  }

  #gnb ul li a {
    padding: 19px 30px 12px;
  }

  #gnb ul li a:hover:after {
    display: none;
  }

  #gnb.active { right: 0; }

  #aside {
    margin-top: 80px;
  }

  #aside .sidebar-1 {
    width: 50%;
    padding: 0 10px;
  }

  #aside .sidebar-2 {
    width: 50%;
    margin: 0;
    padding: 0 10px;
  }

  #aside .sidebar-3 {
    clear: both;
    float: none;
    width: auto;
    padding: 0;
  }

  #aside .search {
    float: left;
    width: 50%;
    padding-right: 10px;
    box-sizing: border-box;
  }

  #aside .count {
    float: right;
    width: 50%;
    margin: 0;
    padding-left: 10px;
    box-sizing: border-box;
  }

  #header,
  .cover-thumbnail-list-1,
  .cover-special-contents {
    padding: 0 34px;
  }

  .cover-slider {
    margin-bottom: 50px;
    padding-bottom: 39.0625%;
  }

  .cover-slider ul li .text-box .title {
    margin-bottom: 21px;
    font-size: 2.25em;
  }

  .cover-slider ul li .text-box .title em {
    margin-bottom: 8px;
    font-size: 0.5555em;
  }

  .btn, a.btn {
    width: 138px;
  }

  .cover-thumbnail-list-1 {
    margin-bottom: 41px;
  }

  .cover-thumbnail-list-1 h2 {
    font-size: 1.5em;
  }

  .cover-thumbnail-list-1 h2 em {
    margin-bottom: 3px;
    font-size: 0.5833em;
  }

  .cover-thumbnail-list-1 h2:after {
    width: 40px;
    margin-top: 24px;
  }

  .cover-thumbnail-list-1 ul li {
    padding-left: 20px;
    font-size: 0.75em;
  }

  .cover-special-contents {
    margin-bottom: 50px;
  }

  .cover-special-contents ul li .category {
    margin: 48px 0 -46px;
  }

  .cover-special-contents ul li .title {
    margin: 48px 0 26px;
    font-size: 1.5em;
  }

  .cover-special-contents ul li .title:after {
    margin-top: 21px;
  }

  .cover-special-contents ul li .excerpt {
    height: 5.1426em;
    margin-bottom: 38px;
    padding: 0 10%;
    line-height: 1.7142;
  }

  .cover-wide-panel {
    margin-bottom: 100px;
  }

  .cover-wide-panel .bg {
    height: 180px;
  }

  .cover-wide-panel .box {
    margin-top: -65px;
    padding-top: 48px;
  }

  .cover-wide-panel .category {
    margin-bottom: 0;
  }

  .cover-wide-panel h2 {
    margin-bottom: 20px;
    font-size: 1.5em;
  }

  .cover-wide-panel h2:after {
    margin-top: 24px;
  }

  .post-header:first-child {
    margin-top: 50px;
  }

  .cover-thumbnail-list-2 ul {
    margin-left: -20px;
  }

  .cover-thumbnail-list-2 ul li {
    padding: 20px 0 0 20px;
  }

  .post-header {
    margin: 0 34px;
  }

  .post-item .title,
  .cover-thumbnail-list-2 ul li .title {
    font-size: 1.125em;
  }

  .post-item {
    width: 22.75%;
    padding-left: 3%;
  }

  .post-type-text .post-item {
    padding: 30px 0 22px;
  }

  .post-type-text .post-item .title {
    margin: 0 0 2px;
    padding: 0;
    font-size: 1em;
  }

  .post-type-text .post-item .excerpt {
    margin-bottom: 9px;
    -webkit-line-clamp: 2;
    font-size: 0.75em;
  }

  .hgroup {
    margin-bottom: 50px;
    padding-bottom: 30px;
  }

  .related-articles {
    margin-bottom: 80px;
  }

  .related-articles ul {
    margin-left: -20px;
  }

  .related-articles ul li {
    padding-left: 20px;
  }

  .related-articles ul li .title {
    font-size: 0.75em;
  }

  .comments {
    margin-bottom: 40px;
  }

  .layout-float #wrap {
    padding-left: 180px;
  }

  .layout-float #header {
    width: 180px;
  }

  .layout-float #gnb {
    position: relative;
    width: auto;
    top: auto;
    right: auto;
    padding: 0 30px;
  }

  .layout-float #gnb ul li {
    font-size: 0.875em;
    border-top: 0;
  }

  .layout-float .post-item {
    padding-left: 4%;
  }

  .layout-float #header .mobile-menu {
    display: none;
  }

  .layout-float .cover-slider {
    padding-bottom: 57.6923%;
  }

  .layout-float .cover-slider ul li .text-box .title {
    font-size: 1.875em;
  }

  .layout-float .related-articles ul {
    margin-left: -20px;
  }

  .layout-float .related-articles ul li {
    padding-left: 20px;
  }
}

/* Media Screen - Mobie */
@media screen and (max-width:767px) {

  #header,
  #content .inner,
  .cover-thumbnail-list-1,
  .cover-thumbnail-list-2 {
    padding: 0 20px;
  }

  .pagination {
    padding: 0 20px;
    margin: 20px auto 60px;
  }

  .cover-special-contents {
    padding: 0;
  }

  #header h1 {
    line-height: 20px;
  }

  #header h1 img {
    height: 20px;
  }

  #header .mobile-menu {
    right: 0;
  }

  #header .mobile-menu.on {
    top: 6px;
  }

  #gnb {
    padding-top: 60px;
  }

  #aside {
    padding: 40px 20px;
  }

  #aside .sidebar-1,
  #aside .sidebar-2,
  #aside .sidebar-3,
  #aside .search,
  #aside .count {
    float: none;
    width: auto;
    padding: 0;
  }

  #aside .posts li a {
    padding: 7px 0 4px;
  }

  .cover-slider {
    padding-bottom: 75%;
  }

  .cover-slider .prev,
  .cover-slider .next {
    width: 24px;
    height: 42px;
    margin-top: -21px;
    background-size: 100px auto;
  }

  .cover-slider .prev {
    left: 10px;
    background-position: 0 -100px;
  }

  .cover-slider .prev:hover {
    background-position-x: -50px;
  }

  .cover-slider .next {
    right: 10px;
    background-position: -25px -100px;
  }

  .cover-slider .next:hover {
    background-position-x: -75px;
  }

  .cover-slider .paging {
    bottom: 20px;
  }

  .cover-slider ul li .text-box .title {
    margin-bottom: 28px;
    padding: 0 30px;
    font-size: 1.5em;
  }

  .cover-slider ul li .text-box .title em {
    margin-bottom: 10px;
    font-size: 0.75em;
  }

  .cover-thumbnail-list-1 {
    margin-bottom: 30px;
  }

  .cover-thumbnail-list-1 h2 {
    float: none;
    width: auto;
    margin-bottom: 20px;
    text-align: center;
  }

  .cover-thumbnail-list-1 h2 br {
    display: none;
  }

  .cover-thumbnail-list-1 h2:after {
    margin: 24px auto 0;
  }

  .cover-thumbnail-list-1 ul {
    float: none;
    width: auto;
  }

  .cover-thumbnail-list-1 ul li {
    float: none;
    width: auto;
    margin-bottom: 10px;
    padding: 0;
    font-size: 0.875em;
    line-height: 2.2857;
  }

  .cover-thumbnail-list-1 ul li .thum img {
    width: 100%;
  }

  .cover-special-contents {
    margin: 0;
  }

  .cover-special-contents ul li,
  .cover-special-contents ul li:nth-child(even) {
    width: auto;
    margin-bottom: 100px;
    padding: 0;
  }

  .cover-special-contents ul li .thum,
  .cover-special-contents ul li:nth-child(even) .thum {
    float: none;
    width: auto;
    margin: 0;
  }

  .cover-special-contents ul li .box {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    margin: 0;
  }

  .cover-special-contents ul li .category {
    margin: 28px 0 -25px;
  }

  .cover-special-contents ul li .title {
    margin: 28px 0 16px;
  }

  .cover-special-contents ul li .title:after {
    margin-top: 13px;
  }

  .cover-special-contents ul li .excerpt {
    margin-bottom: 46px;
  }

  .cover-wide-panel {
    margin-bottom: 80px;
  }

  .cover-wide-panel .bg {
    height: 100px;
  }

  .cover-wide-panel .box {
    margin: -20px 10px 0;
  }

  .cover-wide-panel p {
    padding: 0 10px;
  }

  .cover-thumbnail-list-2 {
    margin-bottom: 20px;
  }

  .cover-thumbnail-list-2 ul {
    margin-left: -10px;
  }

  .cover-thumbnail-list-2 ul li {
    width: 50%;
    margin-bottom: 20px;
    padding-left: 10px;
  }

  .post-item .title,
  .cover-thumbnail-list-2 ul li .title {
    padding-right: 10%;
    font-size: 1em;
    box-sizing: border-box;
  }

  .post-item .excerpt,
  .cover-thumbnail-list-2 ul li .excerpt {
    height: 2.5rem;
    margin-bottom: 8px;
    padding-right: 10%;
    font-size: 0.75em;
    line-height: 1.25rem;
  }

  .post-header {
    margin: 0 20px;
  }

  .post-item {
    width: 50%;
    padding-left: 0;
    box-sizing: border-box;
  }

  .post-type-thumbnail .post-item {
    border-bottom: none;
  }

  .post-item:nth-child(odd) {
    padding-right: 5px;
  }

  .post-item:nth-child(even) {
    padding-left: 5px;
  }

  .post-type-text .post-item .thum {
    width: 100px;
    height: 100px;
    margin-left: 28px;
  }

  .post-type-text .post-item .thum img {
    width: 100px;
    margin: 0;
  }

  .hgroup {
    padding: 49px 0 30px;
  }

  .hgroup.guest {
    margin: 0 20px 25px;
  }

  .hgroup.tag {
    margin: 0 20px;
  }

  #content .tags.section {
    padding: 0 20px;
  }

  .entry-content h2 {
    font-size: 1.125em;
  }

  .entry-content .table-wrap {
    overflow: auto;
    width: 100%;
  }

  .entry-content table {
    width: 680px;
    table-layout: fixed;
    font-size: 0.75em;
  }

  .entry-content img.alignleft,
  .entry-content img.alignright {
    max-width: 100%;
  }

  .related-articles ul {
    margin-left: -10px;
  }

  .related-articles ul li {
    width: 50%;
    margin-bottom: 10px;
    padding-left: 10px;
  }

  .comments {
    margin-bottom: 20px;
  }

  .comments .comment-list {
    margin-bottom: 10px;
    border-top: 1px solid #e6e6e6;
  }

  .comments .comment-list ul li {
    padding-bottom: 0;
  }

  .comments .comment-list ul li ul {
    border-top: 1px solid #e6e6e6;
  }

  .comments .comment-list ul li ul li {
    padding: 20px 0 0 48px;
  }

  .comments .comment-list ul li .author-meta,
  .comments .comment-list ul li ul li .author-meta {
    position: relative;
    top: 0;
    left: 0;
  }

  .comments .comment-list ul li .author-meta img {
    position: absolute;
    top: 0;
    left: 0;
  }

  .comments .comment-list ul li .author-meta .nickname,
  .comments .comment-list ul li .author-meta .date {
    display: block;
    float: none;
    line-height: 1.5;
  }

  .comments .comment-list ul li .author-meta .nickname .tistoryProfileLayerTrigger {
    margin-bottom: 4px;
  }

  .comments .comment-list ul li .author-meta .date {
    margin-left: 0;
    margin-top: 2px;
  }

  .comments .comment-list ul li .author-meta .date::before {
    display: none;
  }

  .comments .comment-list ul li p {
    margin: 14px 0 0;
  }

  .comments .comment-list ul li .control {
    position: relative;
    top: auto;
    right: auto;
    display: block;
    margin: 9px 0 18px -2px;
  }

  .comments .comment-list ul li ul li .control {
    top: auto;
  }

  .comments .comment-form .field {
    width: auto;
    margin: 0;
    padding-right: 80px;
  }

  .comments .comment-form .field .secret {
    float: none;
    position: absolute;
    bottom: 10px;
    right: 0;
  }

  .comments .comment-form .field .secret label {
    line-height: 20px;
  }

  .comments .comment-form input[type=text],
  .comments .comment-form input[type=password] {
    display: block;
    width: 100%;
    margin-bottom: 10px;
  }

  .comments.guest {
    margin-bottom: 20px;
    padding: 0 20px;
  }

  .pagination a {
    margin: 0 5px;
  }

  .layout-float #wrap {
    padding: 0;
  }

  .layout-float #header {
    float: none;
    position: relative;
    z-index: auto;
    width: 100%;
    height: auto;
    padding: 0 10px;
    border-bottom-width: 1px;
    box-sizing: border-box;
  }

  .layout-float #header h1 {
    float: none;
    padding: 20px 0;
    text-align: left;
  }

  .layout-float #header .mobile-menu {
    display: block;
  }

  .layout-float #gnb {
    position: fixed;
    top: 0;
    right: -300px;
    z-index: 600;
    width: 300px;
    height: 100%;
    padding: 60px 0 0;
    background-color: #fff;
    box-sizing: border-box;
    -webkit-transition: right .3s;
    transition: right .3s;
    box-sizing: border-box;
  }

  .layout-float #gnb.active { right: 0; }

  .layout-float #gnb ul li {
    float: none;
    padding: 0;
    border-top: 1px solid #ebebeb;
    border-bottom: none;
    font-size: 1.125em;
    text-align: left;
  }

  .layout-float #gnb ul li a {
    padding: 19px 30px 12px;
  }

  .layout-float #content {
    padding: 0;
  }

  .layout-float .cover-thumbnail-list-1 ul li {
    padding: 0;
  }

  .layout-float #header,
  .layout-float .cover-thumbnail-list-1,
  .layout-float .cover-special-contents,
  .layout-float .cover-wide-panel,
  .layout-float .cover-thumbnail-list-2,
  .layout-float .pagination,
  .layout-float #content .inner {
    padding: 0 10px;
  }

  .layout-float .cover-slider {
    padding-bottom: 75%;
  }

  .layout-float .cover-slider .prev {
    left: 10px;
    margin-left: 0;
  }

  .layout-float .cover-slider ul li .text-box .title {
    margin-bottom: 28px;
    padding: 0 30px;
    font-size: 1.5em;
  }

  .layout-float .cover-slider ul li .text-box .title em {
    margin-bottom: 10px;
    font-size: 0.75em;
  }

  .layout-float .cover-thumbnail-list-1 h2,
  .layout-float .cover-special-contents ul li .title,
  .layout-float .cover-wide-panel h2 {
    font-size: 1.5em;
  }

  .layout-float .cover-special-contents ul li .excerpt {
    height: 5.1426em;
    margin-bottom: 46px;
    padding: 0 10%;
    line-height: 1.7142;
    font-size: 0.875em;
  }

  .layout-float .cover-wide-panel .box {
    margin: -20px 10px 0;
  }

  .layout-float .cover-wide-panel p {
    margin-bottom: 48px;
    padding: 0 10px;
    font-size: 0.875em;
    line-height: 2.1428;
  }

  .layout-float .cover-thumbnail-list-2 ul {
    margin-left: -10px;
  }

  .layout-float .cover-thumbnail-list-2 ul li {
    width: 50%;
    padding-left: 10px;
  }

  .layout-float .post-header {
    margin: 0 10px;
  }

  .layout-float .post-item {
    width: 50%;
    padding-left: 0;
  }

  .layout-float .post-item:nth-child(4n+1) {
    padding-left: 0;
  }

  .layout-float .post-item:nth-child(even) {
    padding-left: 5px;
  }

  .layout-float .related-articles ul {
    margin-left: -10px;
  }

  .layout-float .related-articles ul li {
    padding-left: 10px;
  }

  .layout-float #aside {
    padding: 40px 10px;
  }

  .layout-float #aside .sidebar-1,
  .layout-float #aside .sidebar-2,
  .layout-float #aside .sidebar-3,
  .layout-float #aside .search,
  .layout-float #aside .count {
    float: none;
    width: auto;
    padding: 0;
  }

  .layout-float.color-dark #gnb {
    background-color: #141414;
  }

  .layout-float.color-dark #gnb ul li {
    border-color: #333;
  }
}
/* ======= 모바일 가독성 & 폰트 최적화 패치 ======= */
html, body {
  -webkit-text-size-adjust: 100%;
}

body, .entry-content, #article-view, #content .inner {
  font-family: 'Pretendard Variable','Noto Sans KR','Source Sans 3','Apple SD Gothic Neo','Malgun Gothic','맑은 고딕','돋움',Dotum,sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* 본문 가독성(모바일 우선) */
@media screen and (max-width: 767px) {
  body {
    font-size: 16px !important;
    line-height: 1.9 !important;
    word-break: keep-all;
  }
  .entry-content, #article-view, #content .inner {
    font-size: 1.08em !important;
    line-height: 1.9 !important;
    padding: 0 12px !important;
  }
  /* 문단 하단 여백 확대 */
  #article-view p { margin-bottom: 1.25em !important; }
  #article-view h2 { font-size: 1.32em !important; margin: 1.2em 0 .8em !important; font-weight: 700 }
  #article-view h3 { font-size: 1.16em !important; margin: 1.1em 0 .7em !important; font-weight: 600 }
  /* 표/코드/이미지 안전 폭 */
  .table-wrap { overflow-x: auto !important; width: 100% !important; }
  #article-view table { min-width: 540px !important; font-size: 0.96em !important; }
  .entry-content img, #article-view img, #article-view figure, #article-view iframe, #article-view video {
    max-width: 100% !important; height: auto !important; display: block !important; margin-left: auto !important; margin-right: auto !important;
  }
}

/* 카드/리스트 썸네일 ALT 노출 없이 접근성만 */
.post-item .thum img,
.cover-thumbnail-list-2 .thum img,
.related-articles .thum img {
  object-fit: cover;
}

/* 반응형 광고 안정화 */
.adsbygoogle, ins.adsbygoogle, .ad-area, .revenue_unit_wrap.position_list {
  display: block !important; width: 100% !important; max-width: 100% !important; height: auto !important; margin: 0 auto !important; padding: 0 !important;
}
.ad-area:empty, .adsbygoogle:empty, ins.adsbygoogle:empty { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* H1 규칙 보조: 목록/페이지에서 h1 여하간 나오지 않게 안전장치 */
s_list h1, s_page_rep h1, s_notice_rep h1 { font-size: 1em; line-height: 1; height: 0; overflow: hidden; margin: 0; padding: 0; }

/* GNB 데스크톱 보장 */
@media (min-width: 1024px){ #gnb{ position: relative; right: auto; } }

/* 숫자 정렬 안정(옵션) */
.entry-content, #article-view { font-variant-numeric: tabular-nums; }

/* ============================================
   Harutori Typography & Font Optimization Patch
   (모바일 가독성 중심, WCAG AA 대비, SEO 안정)
   ============================================ */

/* 1) 전역 폰트 스택 + 스무딩 */
html, body {
  font-family: "Pretendard Variable", "Noto Sans KR", "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/* 2) 색상 토큰(필요시 조정 용이) */
:root {
  --c-text: #222;
  --c-heading: #111;
  --c-caption: #4A4A4A; /* 캡션은 살짝 진하게 */
  --c-footnote: #555;
  --c-link: #0a66c2;
  --c-border-soft: #e6e6e6;
  --max-body: 860px;
}

/* 3) 본문 컨테이너 폭(모바일 92vw, PC 860px) */
.entry-content, #article-view, #content .inner {
  max-width: min(var(--max-body), 92vw);
  margin: 0 auto;
  padding: 0 20px;
  color: var(--c-text);
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 4) 본문 기본 크기/줄간격 */
body {
  font-size: 16.5px; /* 16~17px 사이 감각 */
  line-height: 1.75;
  color: var(--c-text);
}

/* 5) 헤딩: 요청 스펙 + clamp 반응형 */
.entry-content h1, #article-view h1 { 
  font-size: clamp(1.7rem, 2.2vw + 1rem, 2.0rem);
  line-height: 1.3;
  color: var(--c-heading);
  margin: 0.2em 0 0.7em;
  font-weight: 700;
}
.entry-content h2, #article-view h2 {
  font-size: clamp(1.35rem, 1.4vw + 0.9rem, 1.5rem);
  line-height: 1.35;
  color: var(--c-heading);
  margin: 0.2em 0 0.75em;
  font-weight: 700;
}
.entry-content h3, #article-view h3 {
  font-size: clamp(1.15rem, 1.1vw + 0.85rem, 1.25rem);
  line-height: 1.4;
  color: var(--c-heading);
  margin: 0.2em 0 0.7em;
  font-weight: 600;
}
.entry-content h4, #article-view h4 {
  font-size: clamp(1.05rem, 0.8vw + 0.8rem, 1.1rem);
  line-height: 1.45;
  color: var(--c-heading);
  margin: 0.15em 0 0.65em;
  font-weight: 600;
}

/* 6) 문단 여백(모바일 피로도↓) */
.entry-content p, #article-view p {
  margin: 0 0 1.15em;
}

/* 7) 링크 접근성(밑줄은 기본 숨김, 호버/포커스 시 선명) */
.entry-content a, #article-view a {
  color: var(--c-link);
  text-decoration: none;
  text-underline-offset: 2px;
  text-decoration-thickness: 1.5px;
}
.entry-content a:hover, #article-view a:hover,
.entry-content a:focus-visible, #article-view a:focus-visible {
  text-decoration: underline;
}

/* 8) 캡션/각주 */
.entry-content .caption, #article-view .caption,
.entry-content figcaption, #article-view figcaption {
  font-size: 0.875rem; /* ≈14px */
  line-height: 1.65;
  color: var(--c-caption);
  text-align: center;
  margin-top: 6px;
  font-style: italic;
}
.entry-content .footnote, #article-view .footnote {
  font-size: 0.8125rem; /* ≈13px */
  line-height: 1.6;
  color: var(--c-footnote);
  border-top: 1px solid var(--c-border-soft);
  margin-top: 12px;
  padding-top: 6px;
}

/* 9) 리스트/표 기본 개선 */
#article-view ul, #article-view ol,
.entry-content ul, .entry-content ol {
  margin: 0.6em 0 1.1em 0;
  padding-left: 1.1em;
}
#article-view table, .entry-content table {
  width: 100%;
  border-collapse: collapse;
  border-color: var(--c-border-soft);
  font-size: 0.96em;
}

/* 10) 이미지/미디어: 모바일 반응형 */
@media screen and (max-width: 767px) {
  .entry-content img, .entry-content figure,
  #article-view img, #article-view figure,
  .entry-content video, .entry-content iframe,
  #article-view video, #article-view iframe {
    max-width: 100% !important;
    height: auto !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* 11) 모바일 본문 폭(요청 720px 감각을 안전히 반영) */
@media (max-width: 767px) {
  .entry-content, #article-view, #content .inner {
    max-width: min(720px, 94vw) !important;
    padding: 0 16px !important;
  }
  body { font-size: 16px; }
}

/* 12) 코드/인용 가독성 */
#article-view pre code.hljs, .entry-content pre code.hljs {
  font-size: 0.93rem;
  line-height: 1.7;
  border: 1px solid var(--c-border-soft);
  padding: 18px;
}
#article-view blockquote, .entry-content blockquote {
  border-left: 4px solid var(--c-border-soft);
  padding: 12px 16px;
  color: #444;
}

/* 13) 한글/영문 혼용 줄바꿈 안정화 */
.entry-content, #article-view {
  word-break: keep-all;
  overflow-wrap: break-word;
}

/* 14) 헤더/목록 외 H1 금지 가이드 보조(선택)
   - 필요 시 H1 과다 사용되는 영역에 아래처럼 다운그레이드 처리 가능
   .some-non-article h1 { font-size: 1.5rem; } 
*/

/* 15) 메모 박스 예시 */
.note, .memo, .callout {
  border: 1px solid var(--c-border-soft);
  background: #fafafa;
  padding: 14px 16px;
  border-radius: 8px;
}

/* === Harutori Mobile Readability Patch v3 (2025-09) === */
html, body{
  font-family: "Pretendard Variable","Noto Sans KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif !important;
  -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility;
  -webkit-text-size-adjust: 100%;
}
:root{
  --c-text:#222; --c-heading:#111; --c-link:#0a66c2; --c-muted:#666; --c-border:#e6e6e6;
  --c-caption:#4A4A4A; --c-footnote:#555;
  --max-body:860px;
}

/* 본문 컨테이너 */
.entry-content, #article-view, #content .inner{
  max-width:min(var(--max-body),94vw);
  margin:0 auto; padding:0 20px;
  color:var(--c-text);
  word-break: keep-all;           /* 어절단위 유지 */
  overflow-wrap: break-word;
  font-variant-numeric: tabular-nums;
}

/* 기본 본문 */
body{ font-size:16.5px; line-height:1.75; color:var(--c-text); }
.entry-content p, #article-view p{ margin:0 0 1.15em; }
.entry-content ul, .entry-content ol, #article-view ul, #article-view ol{ margin:.6em 0 1.1em; padding-left:1.1em; }
.entry-content li + li, #article-view li + li{ margin-top:.35em; }

/* 헤딩 스케일 */
.entry-content h1, #article-view h1{ font-size:clamp(1.7rem,2.2vw+1rem,2.0rem); line-height:1.3;  color:var(--c-heading); margin:.2em 0 .7em; font-weight:700; }
.entry-content h2, #article-view h2{ font-size:clamp(1.35rem,1.4vw+.9rem,1.5rem); line-height:1.35; color:var(--c-heading); margin:.2em 0 .75em; font-weight:700; }
.entry-content h3, #article-view h3{ font-size:clamp(1.15rem,1.1vw+.85rem,1.25rem); line-height:1.4;  color:var(--c-heading); margin:.2em 0 .7em;  font-weight:600; }
.entry-content h4, #article-view h4{ font-size:clamp(1.05rem,.8vw+.8rem,1.1rem);   line-height:1.45; color:var(--c-heading); margin:.15em 0 .65em; font-weight:600; }

/* 링크 접근성 */
.entry-content a, #article-view a{
  color:var(--c-link); text-decoration:none; text-underline-offset:2px; text-decoration-thickness:1.5px;
}
.entry-content a:hover, #article-view a:hover,
.entry-content a:focus-visible, #article-view a:focus-visible{ text-decoration:underline; }

/* 미디어 */
.entry-content img, #article-view img{ max-width:100%; height:auto; display:block; margin:0 auto; }
.entry-content figure, #article-view figure{ margin:1.1em auto; }
.entry-content figcaption, #article-view figcaption{ font-size:.875rem; line-height:1.65; color:var(--c-caption); text-align:center; margin-top:6px; }

/* 표 */
.entry-content table, #article-view table{ width:100%; border-collapse:collapse; margin:1.2em 0; font-size:.9375rem; }
.entry-content th, .entry-content td, #article-view th, #article-view td{ border:1px solid var(--c-border); padding:.6em .7em; }
.entry-content thead th, #article-view thead th{ background:#fafafa; }

/* 코드 블록 */
.entry-content pre, #article-view pre{
  font-size:.9375rem; line-height:1.7; overflow:auto; background:#f6f8fa;
  border:1px solid var(--c-border); border-radius:8px; padding:12px 14px;
}

/* 인용문 */
.entry-content blockquote, #article-view blockquote{
  border-left:3px solid var(--c-border); margin:1.1em 0; padding:.1em 0 .1em 1em; color:#333;
}

/* 각주 */
.entry-content .footnote, #article-view .footnote{
  font-size:.8125rem; line-height:1.6; color:var(--c-footnote);
  border-top:1px solid var(--c-border); margin-top:12px; padding-top:6px;
}

/* 터치 타깃(모바일 접근성) */
.entry-content button, #article-view button,
.entry-content .btn, #article-view .btn,
.entry-content .pagination a, #article-view .pagination a{
  min-height:44px; padding:.6em .9em; line-height:1.3;
}

/* 모바일 최적화 */
@media (max-width: 767px){
  .entry-content, #article-view, #content .inner{ max-width:min(720px,94vw)!important; padding:0 16px!important; }
  body{ font-size:16px; } /* 모바일 기본 16px 유지 */
  .entry-content h1, #article-view h1{ margin:.1em 0 .6em; }
  .entry-content h2, #article-view h2{ margin:.1em 0 .65em; }
  .entry-content li{ line-height:1.75; }
  .entry-content figure img, #article-view figure img{ border-radius:10px; }
  body{ padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); }
}

/* 필요 구역만 문자단위 줄바꿈 */
.char-break{ word-break: break-all; }

/* === YouTube Embed Hardening v4 (Tistory) === */
/* 컨테이너: 16:9 비율 + 모서리 라운드 + 오버플로 숨김 */
.yt,
.video-embed {
  position: relative;
  width: 100%;
  max-width: 100%;
  background: #000;
  border-radius: 12px;
  overflow: hidden;
  /* 최신 브라우저용 비율 지정 */
  aspect-ratio: 16 / 9;
  isolation: isolate; /* 상위 오버레이 간섭 차단 */
}

/* 구형 브라우저/일부 편집기 보정: 비율 스페이서 */
.yt::before,
.video-embed::before {
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 56.25%; /* 16:9 */
}

/* iframe을 프레임에 강제로 꽉 채움 (에디터가 width/height를 주입해도 무시) */
.yt > iframe,
.video-embed > iframe,
.yt iframe[src*="youtube.com"],
.video-embed iframe[src*="youtube.com"] {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  border: 0 !important;
  display: block !important;
  pointer-events: auto !important;
}

/* 편집기가 <p>로 감싸도 폭이 줄지 않도록 */
p > .yt, p > .video-embed { margin: 1.1em 0; }

/* 에디터/스킨이 iframe에 고정폭을 주는 경우에 대비한 추가 오버라이드 */
iframe[width], iframe[height] { width: auto; height: auto; }

/* H3 모바일 강제 노출/리셋 */
@media (max-width: 768px){
  .entry-content h3, #article-view h3 {
    display:block !important;
    font-size:clamp(1.06rem, 3.2vw, 1.18rem) !important;
    line-height:1.35 !important;
    color:#111 !important;
    font-weight:600 !important;
    margin:1em 0 .7em !important;
    opacity:1 !important;
    visibility:visible !important;
  }
}



/* === 모바일에서 H3 밑줄이 안보이는 보강패치 === */

/* === H3 밑줄: 모바일 보강 === */
@media (max-width: 767px){
  .entry-content h3, #article-view h3{
    position:relative !important;
    padding-bottom: .55em;            /* 밑줄과 텍스트 간격 */
  }
  .entry-content h3::before, #article-view h3::before{ content:none !important; }
  .entry-content h3::after,  #article-view h3::after{
    content:"" !important;
    position:absolute; left:0; right:0; bottom:0;
    height:1px;
    /* 1px 소실 방지: 그라데이션(=실선) + 합성 계층 */
    background: linear-gradient(#e6e6e6, #e6e6e6) no-repeat;
    background-size: 100% 1px;
    transform: translateZ(0);
    pointer-events:none;
  }
}


/* === 본문 hr 보이도록 재정의(PC/모바일 공통) === */
#article-view hr,
.entry-content hr,
#content .inner hr {
  display: block !important;
  height: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
  margin: .8em 0 1.1em !important;
  opacity: 1 !important;
  visibility: visible !important;
}


/* h3 모바일 밑줄 강화 (충돌 방지) */
@media (max-width: 767px){
  .entry-content h3,
  #article-view h3 { position: relative; }

  .entry-content h3::after,
  #article-view h3::after{
    content: "";
    position: absolute;
    left: 0; right: 0;
    bottom: -0.35em;         /* 글자와 겹치지 않게 살짝 아래 */
    height: 1px;
    background: linear-gradient(#e6e6e6, #e6e6e6) no-repeat;
    background-size: 100% 1px;
    transform: translateZ(0); /* 1px 소실 방지 */
    pointer-events: none;
  }

  /* 부모 래퍼가 overflow로 잘라버리는 문제 예방 */
  .entry-content *[class*="wrap"],
  .entry-content section,
  .entry-content article{ overflow: visible; }
}
