@import url("https://use.typekit.net/hra6nru.css");

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin:0;
	padding:0;
	border:0;
	font-size:100%;
	font:inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display:block;
}
body {
	line-height:1;
}
ol,ul {
	list-style:none;
}
blockquote,q {
	quotes:none;
}
blockquote:before,blockquote:after,q:before,q:after {
	content:'';
	content:none;
}
table {
	border-collapse:collapse;
	border-spacing:0;
}
textarea,input {
	-webkit-appearance:none;
	-webkit-border-radius:0;
}
figure {
	margin:0;
}
button {
	background-color: transparent;
	outline: none;
	border: none;
	font-family: "indivisible", "pretendard", -apple-system, BlinkMacSystemFont,
		"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
}
html {
	font-size:62.5%;
}
a {
	text-decoration:none;
	color: var(--cb);
}
a.line {
	background: var(--cg8);
	border-radius: 3px;
	padding: 4px 10px;
	box-sizing: border-box;
}
/* common------------------------------------------------------------------------ */::selection {
	background-color:var(--cb);
	color: var(--cw);
}
:root {
	--cp1: #5f3a27;
	--cp2: #fdf5e6;
	--cp2: #dfebf5;
	--cp3: #ff5316;
	--cp4: #a1d5fe;
	--cp5: #d3d3d3;
	--cw:#fff;
	--cb:#000;
	--cwt: rgba(255, 255, 255, 0.8);
	--cgt: rgba(80, 80, 80, 0.9);
	--cbt: rgba(0, 0, 0, 0.8);
	--bf4: 4px;
	--bf8: 8px;
	--bf12: 12px;
	--tts: .3s;
	--ttm: .6s;
	--ttl: 1s;

	/* green */
	--cg1:#141414;
	--cg2:#383d38;
	--cg3:#4d524d;
	--cg4:#6e736e;
	--cg5:#919691;
	--cg6:#b8bdb8;
	--cg7:#d6d9d6;
	--cg8:#ecf0ec;
	/* pure */
	--cg1:#252525;
	--cg2:#3d3d3d;
	--cg3:#525252;
	--cg4:#737373;
	--cg5:#969696;
	--cg6:#bdbdbd;
	--cg7:#d9d9d9;
	--cg8:#f0f0f0;
	/* cool */
	--cg1:#202525;
	--cg2:#383d3d;
	--cg3:#4d5252;
	--cg4:#6e7373;
	--cg5:#919696;
	--cg6:#b8bdbd;
	--cg7:#d4d9d9;
	--cg8:#ebf0f0;
	/* warm */
	--cg1:#252520;
	--cg2:#3d3d38;
	--cg3:#52524d;
	--cg4:#73736e;
	--cg5:#969691;
	--cg6:#bdbdb8;
	--cg7:#d9d9d4;
	--cg8:#f0f0eb;

	--line: #ccc;
	--linebk: #141414;

	--fs0: 1.2rem;
	--fs1: 1.4rem;
	--fs2: 1.6rem;
	--fs3: 1.8rem;
	--fs4: 2rem;
	--fs5: 2.2rem;
	--fs6: 2.4rem;
	--fs7: 2.8rem;
	--fs8: 3.2rem;
	--fs9: 4rem;
	--fs10: 6rem;
	--fsmax: 8rem;

}
.en {
	letter-spacing: 0 !important;
	line-height: 1.4 !important;
}
.blur {
	backdrop-filter: blur(var(--bf12));
}
.tac { text-align:center; }
.tar { text-align:right; }
.tal { text-align:left; }
.ttu { text-transform: uppercase; }
.ttc { text-transform: capitalize; }
.title {
	font-size: var(--fs10);
	line-height: 1;
}
.sub-title {
	font-size: var(--fs7);
}
.maxw {
	max-width: 1600px;
	margin-left: auto;
	margin-right: auto;
}
@media (min-width:979.99px) and (max-width:1479.98px) {
	.maxw {
		max-width:1280px;
	}
}
.maxws {
	max-width: 800px;
	margin-left:auto;
	margin-right:auto;
}
@media (min-width:979.99px) and (max-width:1479.98px) {
	.maxws {
		max-width: 720px;
	}
}
.lmt { width:calc(100% - 48px) !important; margin-left:auto; margin-right:auto; }
.po { display:block !important; }
.mo { display:none !important; }
.nmt {
	margin-top:0 !important;
}
.nmb {
	margin-bottom:0 !important;
}
.npt {
	padding-top:0 !important;
}
.npb {
	padding-bottom:0 !important;
}
.mt1 {
	margin-top:8px;
}
.mt2 {
	margin-top:16px;
}
.mt3 {
	margin-top:24px;
}
.mt4 {
	margin-top:32px;
}
.mt5 {
	margin-top:40px;
}
.mt6 {
	margin-top:60px;
}
.mt7 {
	margin-top:100px;
}
.mb1 {
	margin-bottom:8px;
}
.mb2 {
	margin-bottom:16px;
}
.mb3 {
	margin-bottom:24px;
}
.mb4 {
	margin-bottom:32px;
}
.mb5 {
	margin-bottom:40px;
}
.mb6 {
	margin-bottom:60px;
}
.mb7 {
	margin-bottom:100px;
}
.pt1 {
	padding-top:8px;
}
.pt2 {
	padding-top:16px;
}
.pt3 {
	padding-top:24px;
}
.pt4 {
	padding-top:32px;
}
.pt5 {
	padding-top:40px;
}
.pt6 {
	padding-top:60px;
}
.pt7 {
	padding-top:100px;
}
.pb1 {
	padding-bottom:8px;
}
.pb2 {
	padding-bottom:16px;
}
.pb3 {
	padding-bottom:24px;
}
.pb4 {
	padding-bottom:32px;
}
.pb5 {
	padding-bottom:40px;
}
.pb6 {
	padding-bottom:60px;
}
.pb7 {
	padding-bottom:100px;
}
.off {
	opacity: 0;
	position: relative;
	top: 20px;
}
.on {
	opacity: 1;
	top: 0;
	transition: .3s;
}
.fx {
	display:flex;
	align-items:start;
	flex-wrap:wrap;
	gap: 24px;
}
.nogap { gap: 0; }
.gap { gap: 6px; }
.gap8 { gap: 8px; }
.gap12 { gap: 12px; }
.gap24 { gap: 24px; }
.gap32 { gap: 32px; }

.flx1 {
	flex: 1;
}
.flx3 {
	flex: 3;
}
.fx2>* {
	width:calc(50% - 12px);
}
.fx3>* {
	width:calc(33.33333333333% - 16px);
}
.fx4>* {
	width:calc(25% - 18px);
}
.fxjc { justify-content:center; }
.fxsb { justify-content:space-between; }
.fxac { align-items: center; }
.fxafs { align-items: flex-start; }
.fxafe { align-items: flex-end; }
.fxas { align-items:stretch; }
.fxdc { flex-direction:column; }
.fxdr { flex-direction:row; }
.fxnw { flex-wrap:nowrap; }

.ctw {
	position: absolute;
	left: 50%;
	transform: translate(-50%,0%);
}
.cth {
	position: absolute;
	top: 50%;
	transform: translate(0%,-50%);
}
.cent {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.rd1 { border-radius:4px; }
.rd2 { border-radius:8px; }
.rd3 { border-radius:12px; }
.rd4 { border-radius:16px; }
.ell {
	width:100%;
	text-overflow:ellipsis;
	-o-text-overflow:ellipsis;
	overflow:hidden;
	white-space:nowrap;
	word-wrap:normal !important;
	display:block;
}
.ellmx {
	display:-webkit-box;
	display:-ms-flexbox;
	display:box;
	margin-top:1px;
	max-height:80px;
	overflow:hidden;
	vertical-align:top;
	text-overflow:ellipsis;
	word-break:break-all;
	-webkit-box-orient:vertical;
	-webkit-line-clamp: 2;
}
.btn {
	font-size:var(--fs2);
	color: var(--cg4);
	padding: 0;
}
.xs.material-symbols-outlined {
	color: var(--cb);
	font-size: var(--fs3);
	vertical-align: text-bottom;
	font-variation-settings:
	'FILL' 0,
	'wght' 300,
	'GRAD' 0,
	'opsz' 20 
}
.xm.material-symbols-outlined {
	color: var(--cg3);
	font-size: var(--fs4);
	vertical-align: text-bottom;
	font-variation-settings:
	'FILL' 0,
	'wght' 300,
	'GRAD' 0,
	'opsz' 20 
}
.btn:hover {
	transition:.3s;
}
hr {
	width: 100%;
	background: var(--cb);
	height: 1px;
	border: none;
	margin: 0;
}
/* module ------------------------------------------------------------------------ */
.material-symbols-outlined {
	font-size: 32px;
	color: var(--cb);
}
.ico-arr {
	font-variation-settings:
	'FILL' 0,
	'wght' 400,
	'GRAD' 0,
	'opsz' 48 
}
.ico20 {
	font-size: 20px;
}
.ico24 {
	font-size: 24px;
}
.material-symbols-outlined {
	opacity: 0;
	transition: opacity 0.2s;
}
.fonts-loaded .material-symbols-outlined {
	opacity: 1;
}
.thinking{
	position:relative;
	overflow:hidden;
}
.thinking::after{
	content: attr(data-text);
	position:absolute;
	inset: 0;
	color: transparent;
	background: linear-gradient(
		100deg,
		transparent 0%,
		rgba(255,255,255,.8) 50%,
		transparent 100%
	);
	background-size: 200% 100%;
	background-position: -100% 0;
	-webkit-background-clip: text;
	background-clip: text;
	animation: shine 5s ease-in infinite;
	pointer-events: none;
}
.thinking-fast::after {
	animation: shine 3.5s ease-in infinite;
}
.thinking-hover {
  position: relative;
  overflow: hidden;
  display: inline-block;
}

.thinking-hover::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  color: transparent;
  background: linear-gradient(
    100deg,
    transparent 0%,
    rgba(255, 255, 255, 0.8) 50%,
    transparent 100%
  );
  background-size: 200% 100%;
  background-position: -100% 0;
  -webkit-background-clip: text;
  background-clip: text;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.thinking-hover:hover::after {
  animation: shine 2s ease-in-out;
  opacity: 1;
}

@keyframes shine{
	to{background-position:100% 0;}
}
.profile {
	flex-direction: row !important;
	font-size: var(--fs1);
	color: var(--cg3);
}
.profile img {
	width: 28px;
	height: 28px;
	border-radius: 1000px;
}
ul.dot {
	padding-left:16px;
}
ul.dot li {
	position:relative;
}
ul.dot li::before {
	content:"";
	width:5px;
	height:5px;
	border-radius:5px;
	margin-left:-13px;
	margin-right:8px;
	vertical-align:middle;
	background:var(--cg2);
	display:inline-block;
	position:absolute;
	top: 12px;
}
/* accordion */
a.accordion {
	cursor:pointer;
	width:100%;
	font-size:var(--fs2);
	transition:.3s;
	color:var(--cg2);
	display:block;
	line-height:1.5;
	position:relative;
}
.panel {
	padding:4px 0;
	box-sizing:border-box;
	display:none;
	padding-bottom:20px;
	width:50%;
	color:var(--cb);
	margin-left: 50%;
}
/* pagination */
.pagination {
	margin-top:60px;
	padding-top:20px;
	text-align:left;
	text-align:center;
	clear:both;
}
.pagination .current,.pagination a {
	font-size:var(--fs20);
	line-height:1;
	display:inline-block;
	margin:0 8px;
	color:var(--cg4);
	text-align:center;
}
.pagination a:hover {
	color:var(--cg1);
}
.pagination .current {
	background-color:var(--cg1);
	color:var(--cw);
	width:40px;
	height:40px;
	line-height:40px;
	text-align:center;
}
.pagination .arr {
	background-size:24px;
	background-repeat:no-repeat;
	text-indent:-9999em;
	width:20px;
}
.pagination .pg-n {
	background-image:url('images/ico-arr-r-g.svg');
	background-position:right 45% center;
}
.pagination .pg-p {
	background-image:url('images/ico-arr-l-g.svg');
	background-position:left 45% center;
}
.pagination .fir {
	background-image:url('images/ico-ll.svg');
	background-position:right 47% center;
}
.pagination .lst {
	background-image:url('images/ico-rr.svg');
	background-position: right 47% center;
}
/* tags */
.tags {
	gap:4px;
}
.tags .tag {
	background:var(--cg7);
	color:var(--cg2);
	text-transform:capitalize;
	text-align:center;
	line-height:1;
	font-size:var(--fs1);
	padding:2px 6px;
	display: inline-block;
}
ul.thumblist {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	box-sizing: border-box;
	row-gap: 48px;
}
ul.thumblist li {
	gap: 0;
}
ul.thumblist li div.item-content {
	width: 100%;
	display: flex;
	gap: 4px;
	align-items: flex-start;
	flex-direction: column;
	margin-top: 8px;
}
ul.thumblist.list-view li div.item-content {
	margin-top: 0;
}
ul.thumblist li div.thumb-wrapper {
	width: 100%;
	display: block;
}
ul.thumblist.list-view li div {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}
ul.thumblist li .thumb {
	aspect-ratio:4 / 3;
	width: 100%;
	height: auto;
	background-size:cover;
	background-position:center;
	background-color:var(--cg8);
}
.txt-list li a {
	display:flex;
	justify-content:space-between;
	border-bottom:1px solid var(--cg5);
	padding:16px 2px;
	width:100%;
	overflow:hidden;
	position:relative;
	color:var(--cg2);
	align-items:center;
	box-sizing:border-box;
}
.txt-list li a:hover {
	background:var(--cg7);
	padding-left:10px;
	padding-right:10px;
	transition:.3s;
}
.txt-list li a>* {
	flex:1;
}
.txt-list li a h3.title {
	flex:3;
}
.txt-list li a h3 {
	font-size:var(--fs3);
	color:var(--cg1);
	min-width:132px;
}
.txt-list li a span {
	text-align:right;
}
.txt-list li a h6 span:last-child {
	display:none;
}
/* layout
------------------------------------------------------------------------ */
body {
	position: relative;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	box-sizing: border-box;
	word-break: keep-all;
	/* font-family: "hanken-grotesk", "dm-sans"; "stevie-sans" */
	font-family: "indivisible", "pretendard", -apple-system, BlinkMacSystemFont,
		"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
	font-weight: 500;
	font-size: var(--fs3);
	line-height: 1.6;
	letter-spacing: 0;
	color: var(--cg1);
	background-color: var(--cw);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}
.md {
	font-weight: 500;
}
.bd {
	font-weight: 600;
}
/* --- header --- */
header {
	background-color: transparent;
	background-color: var(--cw);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 60px;
	z-index: 100;
	transition: var(--tts);
}
header.dark-invert {
	filter: invert(1);
}
.single header, 
.home header {
	background-color: transparent;
}
.home header.act {
	transition: var(--ttm);
	background: var(--cw);
}
header .inner {
	position:relative;
	height: 100%;
	display:flex;
	flex-direction:row;
	align-items:center;
	justify-content:space-between;
}
header .inner>* {
	flex:1;
}
header .inner ul.fx {
	font-size:var(--fs3);
	color:var(--cg3);
	display:flex;
	gap:20px;
	row-gap:0;
	justify-content: flex-end;
}
header #logo {
}
/* logo */
#logo img {
	display: block;
	height: 20px;
	width: auto;
}
/* nav */
#gnb {
}
.menu {
	width: 100%;
	padding: 0;
	display: flex;
	gap: 24px;
	justify-content: center;
}
.menu li {
	position: relative;
}
.menu li a {
	color: var(--cg4);
	position: relative;
	text-transform: capitalize;
	position: relative;
	line-height: 1;
	font-size: var(--fs3);
}
#lnb {
    display: flex;
    justify-content: flex-end;
}
.menu li a:hover {
	color:var(--cb);
}
.menu li.current-menu-item a,.menu li.current-category-ancestor a {
	color:var(--cb) !important;
}
/* hamberger */
#hamberger {
	position:absolute;
	top:17px;
	right:20px;
	width:24px;
	height:18px;
	cursor:pointer;
	z-index:999;
	display:none;
}
#hamberger span {
	width:100%;
	height:2px;
	background-color:var(--cb);
	display:block;
	position:absolute;
	top:0;
	transform:rotate(0deg);
	transition:.3s;
}
#hamberger span:nth-child(1) {
	top:0px;
}
#hamberger span:nth-child(2) {
	top:calc(50% - 1px);
}
#hamberger span:nth-child(3) {
	top:auto;
	bottom:0;
}
#hamberger span:last-child {
	position:absolute;
	left:auto;
	bottom:0;
	right:0;
}
.open #hamberger span:nth-child(1) {
	top:calc(50% - 1px);
	transform:rotate(45deg);
}
.open #hamberger span:nth-child(2) {
	opacity:0;
}
.open #hamberger span:last-child {
	top:calc(50% - 1px);
	transform: rotate(-45deg);
}
.main {
	min-height: 60vh;
	width: 100%;
	position: relative;
	margin: 0 auto;
}
.p-body {
	align-items:start;
	margin:0px auto;
	box-sizing:border-box;
	flex-wrap: wrap;
	width: 100%;
}
/* container ------------------------------------------------------------------------ */
.container {
	margin: 0 auto;
	padding: 60px 0 180px;
}
/* filter */
#filter-flag {
	cursor: pointer;
	left: 0;
	background: var(--cw);
	position: relative;
	text-align: center;
	font-size: var(--fs2);
	box-sizing: border-box;
	z-index: 99;
	transition: var(--tts);
}
#filter-flag span {
	color: var(--cg1);
}
#filter-flag:hover span {
	color: var(--cb) !important;
}
#filter-flag:hover .xs {
	transition: var(--tts);
	transform: rotate(90deg);
}
.blur-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--cbt);
	z-index: 80;
	display: none;
}
#filter {
	position: relative;
	background: var(--cw);
	top: 0;
	left: 0;
	box-sizing: border-box;
	width: 100%;
	gap: 4px;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid var(--cw);
	transition: var(--tts);
	margin-bottom: 24px;
}
#filter.act {
	max-height: 300px;
	opacity: 1;
	height: auto;
	transition: var(--tts);
	border: 1px solid var(--cg7);
}
.filter-section {
	width: 100%;
	padding: 16px 12px;
}
.filter-section h4 {
	font-size: var(--fs1);
	font-weight: 600;
	color: var(--cg1);
	text-transform: capitalize;
	line-height: 1;
	margin-bottom: 8px;
}
#active-filters {
	font-size: var(--fs1);
	color: var(--cb);
}
.filter-section ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
	row-gap: 2px;
}
.filter-section ul li a {
	font-size: var(--fs1);
	color: var(--cg4);
	padding: .25rem .5rem;
	box-sizing: border-box;
	border-radius: 3px;
	transition: var(--tts);
	background: var(--cg8);
}
.filter-section ul li a:hover {
	background: var(--cg7);
	transition: var(--tts);
}
.filter-section ul li a.active {
	background: var(--cg2);
	color: var(--cw);
}
#filter-info {
	margin-bottom: 12px;
}
#reset-filters {
	font-weight: 700;
	cursor: pointer;
	font-size: var(--fs1);
	color: var(--cg6);
    transition: var(--tts);
}
#filter .btn:hover, 
#filter .btn:hover .xs {
	color: var(--cb);
}
.list-view {
	display:flex;
	flex-direction:column;
	width:100%;
	gap: 0;
}
.list-view-header, .list-view li {
	display:flex;
	align-items:center;
	padding: 12px 0;
	border-bottom: 1px solid var(--line);
	width: 100% !important;
	max-width: 100%;
}
.list-view-header {
	border-bottom: 1px solid var(--cg5);
	display:none;
	padding-top: 0;
}
.list-view-header>div {
	width: 60%;
	display:flex;
}
.list-view-header>div span:first-child {
	flex: 6;
}
.list-view-header>div span:nth-child(2) {
	flex: 3;
}
.list-view+.list-view-header {
	 display:flex;
}
.list-view-header span,.list-view .list-view-content>* {
	flex:1;
	text-align:left;
	font-size: var(--fs1);
	color: var(--cg5);
	line-height: 1;
	padding-bottom: 2px;
}
.list-view-header span:first-child,.list-view a {
	 flex:2;
	color: var(--cg1);
}
.list-view-header span:last-child {
	text-align: right;
}
ul.thumblist li .post-categories>div:last-child {
	justify-content: flex-end;
}
.list-view-header span:nth-child(2), 
ul.thumblist li .post-categories .category-type {
	flex: 6;
}
ul.list-view li .post-categories .category-group {
	flex: 3;
}
ul.thumblist li .post-categories .category-year {
	flex: 1;
}
.thumblist .item-content a .post-title {
	color: var(--cg1);
	font-size: var(--fs4);
	text-transform: capitalize;
	line-height: 1.24;
}
.thumblist .item-content .tit-sm {
	color: var(--cg4);
	font-size: var(--fs2);
}
.list-view .item-content a .post-title {
	font-size: var(--fs2);
}
.list-view .thumb-wrapper a {
	 display:none;
}
.list-view .list-view-content {
	display:flex;
	width:100%;
	align-items:center;
}
.list-view .post-categories {
	display:flex;
	flex:3;
}

.list-view .post-categories {
	flex-direction: row;
}

.list-view .post-categories > div,
.list-view .post-categories > span {
	flex: 1;
}

@media (max-width: 768px) {
	.list-view .post-categories {
		flex-direction: column;
	}
}
@media (max-width:768px) {
	.list-view-header,
	.list-view .item,
	.list-view .list-view-content,
	.list-view .post-categories {
		flex-direction:column;
		align-items:flex-start;
	}
	.list-view-header span,
	.list-view .post-title,
	.list-view .post-categories span {
		flex:1 0 100%;
		padding:5px 0;
	}
}
ul.thumblist li .post-categories {
	color: var(--cg4);
	font-size: var(--fs1);
	gap: 5px;
	width: 100%;
}
ul.thumblist li .post-categories .category-items {
	font-size: var(--fs0);
	color: var(--cg4);
	padding: .25rem .5rem;
	font-weight: 700;
	box-sizing: border-box;
	border-radius: 3px;
	transition: var(--tts);
	background: var(--cg9);
	border: 1px solid var(--line);
}
ul.thumblist li .post-categories div.category-type {
	flex-direction: row;
}
.ho1 {
	background:var(--cg8);
	color:var(--cg2);
	border-radius: 3px;
	padding:3px 4px;
	text-transform:capitalize;
	text-align:center;
	line-height:1;
	font-size:var(--fs1);
	display:inline-block;
}
.ho2 {
	color: var(--cg4);
	text-transform: capitalize;
	text-align: left;
	line-height: 1;
	font-size: var(--fs2);
	display: inline-block;
	font-weight: 500;
}
.ho2:hover {
	color: var(--cg5);
	transition: .3s;
}
/* footer ------------------------------------------------------------------------ */
footer {
	background: var(--cb);
	color: var(--cg5);
	position: relative;
	padding: 24px 0;
	box-sizing: border-box;
}
footer section {
	position: relative;
}
footer a {
	color: var(--cw);
}
footer h5 {
	color: var(--cb);
	font-weight: 600;
	font-size: var(--fs4);
}
footer p {
	color: var(--cg5);
	font-size: var(--fs2);
}
footer section {
	margin: 120px 0;
}
footer .inner .card-wrapper .card-link {
	padding: 24px;
	box-sizing: border-box;
	border-radius: 4px;
	width: 400px;
	aspect-ratio: 85.6 / 53.98;
	color: var(--cb);
	background-color: var(--cp3);
	box-shadow:
	inset 0 0 0 1px rgba(0,0,0,0.05),
	0 8px 16px rgba(0,0,0,0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	cursor: pointer;
}
footer .inner .card-wrapper .card-link p {
	color: var(--cg2);
}
footer #footer-info {
	margin: 0;
	width: 100%;
}
.card-link:hover {
	transform: translateY(-4px);
	box-shadow:
	inset 0 0 0 1px rgba(0,0,0,0.08),
	0 12px 24px rgba(0,0,0,0.15);
}

#page-navigation {
	position: fixed;
	left: 50%;
	bottom: 12px;
	z-index: 100;
	display: none;
	transform: translate(-50%, 0);
	opacity: 0;
	transition: opacity 0.4s ease;
}
#page-navigation.show {
	display: flex;
	opacity: 1;
}
#page-navigation #totop a {
	background-color: var(--cp3);
}
#page-navigation a {
	width: 40px;
	height: 40px;
	border-radius: 48px;
	background-color: var(--cp5);
}

/* section ------------------------------------------------------------------------ */
.sec {
	padding:120px 0;
}
.sec .title {
	font-size:var(--fs8);
}
.sec .title h4 {
	font-size: var(--fs3);
}
/* faq ------------------------------------------------------------------------ */
#menu-faq {
	padding:0;
	margin:24px 0;
	gap:12px;
}
#menu-faq li a {
	display:block;
	padding:4px 10px;
	background:var(--cg7);
}
#menu-faq li.current-menu-item a {
	background:var(--cb);
}
#page-faq .page-body ul {
	width:100%;
}
#page-faq .page-body ul li {
	width:100%;
	overflow:hidden;
	padding:16px 0;
	border-top:1px solid var(--cb);
}
#page-faq .page-body ul li a.accordion {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
}
#page-faq .page-body ul li a span {
	transition:.3s;
}
#page-faq .page-body ul li a.act span {
	transform:rotate(45deg);
	transition:.3s;
}
#page-faq .page-body ul li a.accordion h3 {
	width:60px;
}
#page-faq .page-body ul li a.accordion h2 {
	width:calc(100% - 50px);
}
#page-faq .page-body ul li a.accordion:hover h2 {
	color:var(--cg4);
	transition:.3s;
}
#page-faq .acco-wrap li .panel {
	box-sizing:border-box;
}
#page-faq .acco-wrap li .panel a {
	color:var(--cw);
	border-bottom: 1px solid;
}
/* p-head ------------------------------------------------------------------------ */
#pjt-single {
	padding: 0;
}
#pjt-single .p-head {
	position: relative;
	margin-bottom: 80px;
	display: none;
}
#pjt-single .p-head .thumb {
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: clamp(70vh, 85vh, 100vh);
	min-height: 600px;
	max-height: 1000px;
}
#pjt-single .p-body {
	padding-top: 120px;
}
#pjt-single .p-body .title-wrap {
	pointer-events: none;
	margin: 0;
}
#pjt-single .p-body .title-wrap .tit-sm {
	font-weight: 600;
	color: var(--pjt-color);
	text-transform: capitalize;
	font-size: var(--fs8);
	letter-spacing: -0.02em;
	line-height: 1.3;
}
#pjt-single .p-body .title-wrap h3.en {
	font-weight: 500;
}
@media (min-width: 1579.99px) and (max-width: 9999.98px) {
#pjt-single .p-body .title-wrap .tit-sm {
	font-size: var(--fs9);
}
}
#pjt-single .post {
	margin-top: 32px;
}
/* notice ------------------------------------------------------------------------ */
#page-list-notice .p-body ul {
	width:100%;
}
#page-list-notice .p-body ul li {
	width:100%;
}
#page-list-notice .p-body ul li a {
	width:100%;
	overflow:hidden;
	padding:16px 0;
	border-top:1px solid var(--cb);
}
#page-list-notice .p-body ul li a h3 {
	color:var(--cb);
}
#page-list-notice .p-body ul li a h3:hover {
	color:var(--cg4);
	transition:.3s;
}
#page-list-notice .p-body ul li a h3.ell {
	width:calc(100% - 150px);
}
#page-single-notice .p-head,#page-single-notice .p-body {
	width:calc(50% - 16px);
	margin:0;
}
#page-single-notice .p-head h3 {
	font-size:var(--fs5);
}
#page-single-notice .p-head h6 {
	margin-top:8px;
	color:var(--cg4);
	font-size: var(--fs1);
}
/* articles ------------------------------------------------------------------------ */
#articles-list {
	align-items: flex-start;
}
#articles-list .p-head {
	margin-bottom: 36px;
}
#articles-list .p-body>ul {
	row-gap: 48px;
}
#articles-list .p-body>ul li>a {
	width: 100%;
}
#articles-list ul li .thumb img {
	width: 100%;
	display: block;
}
#articles-list ul li .profile {
	position: absolute;
	top: 0;
	right: 0;
}
#articles-list ul li .profile .user-info {
	display: none;
	width: 100%;
}
#articles-list ul li .item-content {
	position: relative;
	width: 100%;
}
#articles-list ul li .item-content>div {
	width: calc(100% - 32px);
	gap: 0;
}
#articles-list ul li .item-content .date {
	font-size: var(--fs1);
	color: var(--cg4);
}
#articles-list ul li .item-content .post-title {
	font-size: var(--fs4);
	font-weight: 600;
	line-height: 1.3;
	margin-top: 4px;
	margin-bottom: 4px;
}
#articles-list ul li .item-content .excerpt {
	font-size: var(--fs1);
	color: var(--cg2);
}
#articles-list ul li .item-content .post-categories {
	display: block;
}
.single.category-articles header .menu li.current-menu-item a,
.single.category-articles header .menu li.current-category-ancestor a {
	color: var(--cb) !important;
}
.single.category-articles .main {
	flex-direction: column;
}
.single.category-articles header.act {
	background-color: var(--cw);
}
.single.category-articles .p-head {
	align-items: flex-start;
	position: relative;
}
.single.category-articles .p-head .profile {
	position: absolute;
	bottom: 0;
}
.single.category-articles .p-head .profile h3 {
	font-size: var(--fs2);
}
.single.category-articles .p-head .profile h3:last-child {
	font-size: var(--fs0);
	color: var(--cg4);
}
.single.category-articles .p-head .thumb {
	overflow: hidden;
	width: 100%;
}
.single.category-articles .p-head .thumb img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
}
.single.category-articles .p-head .title {
	font-size: var(--fs5);
	line-height: 1.4;
}
.single.category-articles #atc-single {
	margin-top: 20px;
}
#tclose,
#table-of-contents-flag {
	display: none;
}
#table-of-contents {
	position: sticky;
	top: 20px;
	left: 20px;
	box-sizing: border-box;
	transition: .3s;
	z-index: 3;
	transform: translate(0, 0px);
	width: calc(25% - 20px);
	max-width: 300px;
	display: none;
} 
@media (min-width: 1279.99px) and (max-width: 9999.98px) {
#table-of-contents {
	position: fixed;
	box-sizing: border-box;
} 
}
#table-of-contents hr {
	background: var(--line);
	margin: 12px 0;
	border: none;
	width: 100%;
	height: 1px;
}
#table-of-contents.act {
}
#table-of-contents h3 {
	color: var(--cp9);
	line-height: 1;
}
#table-of-contents p {
	line-height: 1.4;
    width: 100%;
    text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    word-wrap: normal !important;
    display: block;
}
#table-of-contents #h2wrap p a {
	font-size: var(--fs1);
	color: var(--cg2);
}
#table-of-contents .tag-list {
	border-top: 1px solid var(--cg6);
}
#table-of-contents .tag-list ul {
	column-gap: 6px;
}
#table-of-contents .tag-list h5 {
	color: var(--cp9);
}
#table-of-contents a.act {
	padding-left: 0;
	color: var(--cg2);
	transition: .3s;
}
#table-of-contents #h2wrap {
	flex-direction: column-reverse;
	gap: 0;
}
#archive-search-form {
	gap: 8px;
}
.order-toggle .btn,
#archive-search-form .btn {
	font-weight: 700;
	font-size: var(--fs1);
	border: 1px solid var(--line);
	color: var(--cg4);
	padding: 8px 24px;
	box-sizing: border-box;
	border-radius: 3px;
	line-height: 1;
	cursor: pointer;
	transition: var(--tts);
}
#archive-search-form .btn {
	background: var(--cb);
	color: var(--cw);
	border-color: var(--cb);
}
.order-toggle .btn:hover,
#archive-search-form .btn:hover {
	background: var(--cg7);
	transition: var(--tts);
}
#archive-search-form .btn:hover {
	background: var(--cg2);
	color: var(--cw);
	border-color: var(--cg2);
}
#archive-search-form input[type="text"] {
	width:100%;
	outline: none;
	min-width: 240px;
	border: none;
	appearance:none;
	color: var(--cg2);
	font-size: var(--fs1);
	height: 34px;
	line-height: 34px;
	padding: 8px 2px;
	box-sizing:border-box;
	border-bottom: 1px solid var(--line);
}
/* cf7 ------------------------------------------------------------------------ */
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="text"] {
	width:100%;
	outline: none;
	min-width: 180px;
	border: none;
	appearance:none;
	color: var(--cg2);
	font-size: var(--fs1);
	height: 40px;
	line-height: 40px;
	padding: 8px 2px;
	box-sizing:border-box;
	border-bottom: 1px solid var(--line);
}
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="text"]:focus {
	border-color: var(--cg3);
}
.wpcf7-form textarea {
	padding: 0;
	font-size: var(--fs1);
	width:100%;
	outline: none;
	height: 400px;
	appearance:none;
	border:none;
	line-height:1.5;
	padding-top: 12px;
	border-radius: 0;
	box-sizing: border-box;
	font-family: "indivisible", "pretendard", -apple-system, BlinkMacSystemFont,
		"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
}
.iwantmore .wpcf7-form textarea {
	height: 200px;
}
.wpcf7-form textarea:focus {
	border-color: var(--cg3);
}
.wpcf7-form .wpcf7-form-control-wrap {
	display:block;
}
.wpcf7-form .wpcf7-spinner {
	height:0;
	display:none;
}
.wpcf7-form .act input {
	border-color:var(--cb);
	border-width:2px;
	outline:none;
}
.wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
#contact-inner .wpcf7-not-valid-tip {
	font-size: var(--fs0);
	color: var(--cp3);
	margin-top: 4px;
}

/* 기본 라디오 버튼 숨기기 */
.wpcf7-radio input[type="radio"] {
	  display: none;
}

/* 커스텀 라디오 버튼 스타일 */
.wpcf7-radio .wpcf7-list-item-label {
	border:1px solid var(--line);
	border-radius: 3px;
	padding: 4px 8px;
	text-transform:capitalize;
	text-align:center;
	line-height:1;
	color: var(--cg5);
	font-size:var(--fs1);
	display:inline-block;

	cursor: pointer;
	transition: all 0.3s ease;
}

/* 선택된 라디오 버튼 스타일 */
.wpcf7-radio input[type="radio"]:checked + .wpcf7-list-item-label {
	background-color: var(--cp4);
	border-color: var(--cp4);
	color: var(--cg3);
}
/* 체크박스 컨테이너 스타일 */
.wpcf7-checkbox {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

/* 기본 체크박스 숨기기 */
.wpcf7-checkbox input[type="checkbox"] {
	  display: none;
}

/* 커스텀 체크박스 스타일 */
.form-group {
	margin-bottom: 4px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}
.detail-form {
	border-bottom: 1px solid var(--line);
	padding-bottom: 14px;
	margin-top: 14px;
}
.form-group.nogap {
	gap: 0;
}
.nolabel>label {
	display: none !important;
}
.wpcf7-checkbox .wpcf7-list-item-label {
	border:1px solid var(--line);
	border-radius: 3px;
	padding: 4px 8px;
	text-transform:capitalize;
	text-align:center;
	line-height:1;
	display:inline-block;
	color: var(--cg5);
	font-size:var(--fs1);

	cursor: pointer;
	transition: all 0.3s ease;
}

/* 선택된 체크박스 스타일 */
.wpcf7-checkbox input[type="checkbox"]:checked + .wpcf7-list-item-label {
	background-color: var(--cp4);
	border-color: var(--cp4);
	color: var(--cg3);
}
#pop-contact .wpcf7-not-valid-tip {
	font-size:var(--fs1);
	margin-top:5px;
	color: var(--cg1);
}
#open-detail-btn,
.wpcf7-form .wpcf7-submit {
	appearance:none;
	opacity:1;
	position:relative;
	background-color:transparent;
	border:none;
	height:auto;
	width:auto;
	display:inline-block;
	vertical-align:top;
	text-align:center;
	height:40px;
	line-height:40px;
	box-sizing:border-box;
	display:inline-block;
	position:relative;
	width:100%;
	background-color: var(--cb);
	color:var(--cw);
	border-radius: 3px;
	font-size:var(--fs1);
	font-weight: 700;
	font-family: "indivisible", "pretendard", -apple-system, BlinkMacSystemFont,
		"Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans KR", sans-serif;
}
#open-detail-btn {
	cursor: pointer;
	background-color: var(--cp2);
	margin-bottom: 4px;
	color: var(--cb);
}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output,.wpcf7 form.payment-required .wpcf7-response-output {
	border:none !important;
	color:var(--cw) !important;
	background-color:var(--cp1) !important;
	font-size:var(--fs3) !important;
}
.wpcf7-form .material-symbols-outlined {
	font-size:var(--fs5) !important;
	color:var(--cp1) !important;
}
.wpcf7-form .wpcf7-submit:hover {
	background-color:var(--cg2);
	border-color:var(--cb);
	cursor:pointer;
}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form .wpcf7-response-output {
	padding:0 !important;
	margin:0 !important;
	border:none !important;
			margin-top:10px !important;
	font-size:var(--fs1) !important;
	background:transparent !important;
	color:var(--cw) !important;
}
.wpcf7-form .wpcf7-submit:focus {
	outline:none;
}
.wpcf7 p {
	line-height:1.5;
}
/* contact ------------------------------------------------------------------------ */
#pop-contact {
	position: fixed;
	top: 110%;
	left: 50%;
	z-index: 10;
	width: 700px;
	box-sizing: border-box;
	background-color: var(--cw);
	overflow: hidden;
	height: calc(100% - 40px);
	overflow: auto;
	transition: .2s;
	padding: 20px;
	padding-bottom: 64px;
	border-radius: 6px;
}
#pop-contact.act {
	top: 20px;
	transition: .25s;
}
#pop-contact .inner .title {
	font-size: var(--fs4);
}
#contact-inner>p{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	font-size: var(--fs2);
	margin: 12px auto 20px;
}
.detail-hidden {
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
}

.detail-visible {
  display: block;
  opacity: 1;
}

/* 열릴 때 애니메이션용 클래스 */
.detail-visible {
  /* 아래는 예시입니다. 원하는 스타일로 변경 가능 */
  animation: fadeInUp 0.4s ease-out forwards;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 모달 기본 스타일 */
#contact-modal {
	position: fixed;
	top: 0; left: 0;
	width: 100vw; height: 100vh;
	display: none;
	justify-content: center;
	align-items: center;
	backdrop-filter: grayscale(1);
	background-color: rgba(0,0,0,0.7);
	z-index: 9999;
}
#contact-modal.open {
	display: flex;
}
.contact-modal .modal-inner {
	background: #fff;
	padding: 36px 24px;
	border-radius: 12px;
	position: relative;
	width: 50%;
	max-width: 400px;
	max-height: 700px;
	overflow-y: scroll;
	box-shadow: 0 20px 60px rgba(0,0,0,0.3);
}
.contact-modal .modal-close {
	position: absolute;
	top: 12px;
	right: 16px;
	background: none;
	border: none;
	font-size: 28px;
	cursor: pointer;
}

.wpcf7 label {
	font-size:var(--fs1);
	color: var(--cg4);
	display: flex;
	flex-direction: column;
	width: 100%;
	gap: 0;
}
.wpcf7-list-item {
	margin: 0 !important;
}
.wpcf7 label span {
	font-size: var(--fs0);
	color: var(--cp3);
}
/* post ------------------------------------------------------------------------ */
.post {
}
.post h1,.post h2,.post h3,.post h4,.post h5,.post h6 {
	margin-top: 4vh;
}
.post li,
.post p {
	font-size:var(--fs2);
}
.post h1 {
	font-size:var(--fs7);
	text-align:center;
	line-height:1.4;
	padding:0 5%;
	margin:48px 0;
	box-sizing:border-box;
	border-left:10px double var(--cg4);
	border-right:10px double var(--cg4);
}
.post h2 {
	color: var(--cg1);
	font-size:var(--fs6);
	margin-bottom:4px;
	line-height: 1.5;
}
.post h3 {
	display: inline-block;
	font-size:var(--fs3);
	color: var(--cg3);
	margin-bottom:4px;
	line-height: 1.5;
}
.post h3 {
}
.post h6 {
	font-size:var(--fs3);
	padding:20px;
	line-height:1.64;
	border-radius:8px;
	margin:48px 0;
	box-sizing:border-box;
	color:var(--cg3);
	background:var(--cg7);
}
.post figure {
	margin-bottom: 0;
	border-radius: 4px;
	overflow: hidden;
}
.post .wp-block-image {
	margin-left: auto;
	margin-right: auto;
}
.post p {
	margin-bottom: 32px;
	color: var(--pjt-color);
}
.post a {
	color: var(--cb);
	border-bottom: 1px solid;
}
.post a:hover {
	border-bottom:none;
}
.post .wp-block-separator {
	border:none;
	height:1px;
	background-color:var(--cg5);
	margin:32px auto;
}
.post ul {
	list-style-type:disc;
	margin:5px auto 10px;
}
.post ol li,
.post ul li {
	list-style: circle;
	list-style-position:inside;
	color:var(--cg2);
}
.post ul li::marker {
	margin-right: 0 !important;
}
.post ol li {
	list-style:auto;
	list-style-position:inside;
}
.post .slick-list {
	padding:0 !important;
}
.post .slick-dots {
	background-color:var(--cw);
	width:100%;
}
.post .gall {
	margin-bottom:80px;
}
.post iframe {
	width: 100%;
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 4px;
	overflow: hidden;
}
.post>* {
	margin-bottom: 12px !important;
}
.post .wp-block-columns, 
.post .wp-block-gallery {
	gap: 24px !important;
}
.post .wp-block-columns>.wp-block-column, 
.post .wp-block-gallery>.wp-block-image {
	width: calc(50% - 12px) !important;
}
.post figcaption {
	text-align:center;
	color:var(--cg4);
	font-size:var(--fs1);
	margin-top:12px;
	margin-bottom:0;
	border-radius:8px;
}
.post .wp-block-image img {
	width:100%;
}
.post .wp-block-quote {
	box-sizing:border-box;
	padding:32px;
	background:var(--cg6);
	font-size:var(--fs2);
}
.post .wp-block-quote * {
	margin-bottom:0 !important;
	color: var(--cg3);
}
.post .wp-block-verse {
	color: var(--cb);
	font-size: var(--fs3);
	width: 80%;
	border-left: 2px solid;
	padding-left: 24px;
	box-sizing: border-box;
	margin: 20px 0;
	text-align: left;
}
.post .wp-block-verse::after, 
.post .wp-block-verse::before {
	content: '"';
	color: var(--cb);
}
.post .info h5 {
	margin-top: 0;
	font-size: var(--fs2);
	font-weight: 700;
	text-transform: capitalize;
}
.post .info p:last-child {
	margin-bottom: 0;
}
.post .info {
	margin-bottom: 64px !important;
}
@media (min-width: 1579.99px) and (max-width: 9999.98px) {
.post li,
.post .info h5,
.post p {
	font-size:var(--fs3);
}
}
.related-projects {
	padding: 100px 0 24px;
	box-sizing: border-box;
}
/* home ------------------------------------------------------------------------ */
.home .container {
	padding: 0;
}
#page-home figure {
	position: relative;
	width: 100%;
	height: 80vh;
	margin: 0;
	overflow: hidden;
	transform: translateZ(0);
}
#page-home figure img,
#page-home figure video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	pointer-events: none;
}
#page-home figure video::-webkit-media-controls {
	display: none !important;
	-webkit-appearance: none;
}
#page-home figcaption {
	position: absolute;
	bottom: 20px;
	left: 24px;
	color: var(--cb);
	font-size: var(--fs8);
	line-height: 1.3;
	pointer-events: none;
	z-index: 2;
	margin: 0;
}
#page-home figcaption em {
	color: var(--cw);
}
#page-home figcaption strong {
	display: block;
}
/* category ------------------------------------------------------------------------ */
.loading {
	text-align:center;
	padding:20px;
	font-size:18px;
	color: #333;
}
.video-container iframe,
.video-container object,
.video-container embed {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.video-container {
	position: relative;
	height: 0;
	overflow: hidden;
	max-width: 100%;
	padding-bottom: 56.25%;
}
.r21 { padding-bottom: 50%; }
.r625 { padding-bottom: 62.5%; }
.r755 { padding-bottom: 75.5%; }
.r729 { padding-bottom: 72.95%; }
.r1126 { padding-bottom: 112.6%; }

.video-container iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}

.thumb-wrapper {
	position: relative;
}
/* project ------------------------------------------------------------------------ */
#pjt-list .p-head .inner {
	gap: 12px;
}
#pjt-list ul.thumblist li {
	width:calc(33.33333333333% - 16px);
}
@media (min-width: 2479.99px) and (max-width: 9999.98px) {
#pjt-list ul.thumblist li {
	width:calc(25% - 18px);
}
}

/* about ------------------------------------------------------------------------ */
#p-about {
	padding: 0;
}
#p-about .hidd {
	display: none !important;
}
#p-about .p-head {
	width: 100%;
	height: 90vh;
	position: relative;
}
#p-about .p-head .logo {
}
#p-about .p-body .sec {
	position: relative;
	padding: 40vh 0;
}
#p-about .p-body .secbk {
	background: var(--cb);
}
#p-about .p-body .sec article {
	width: 100%;
}
#about-logo img {
	min-width: 200px;
	width: 25%;
	max-width: 320px;
	height: auto;
}
#about-tagline article {
	width: 100%;
}
#about-tagline article div {
	width: 100%;
}
#about-tagline article div h3 {
	font-size: var(--fs7);
	color: var(--cw);
	font-weight: 700;
}
#about-tagline img {
	filter: invert(1);
	min-width: 300px;
	width: 40%;
	max-width: 540px;
}
#p-about .sec .commentary {
	position: absolute;
	bottom: 24px;
	width: 80%;
}
#p-about .sec .commentary p {
	color: var(--cg2);
}
#p-about #about-tagline .commentary p {
	color: var(--cg4);
}
#about-philosophy {
	padding: 32px 0 !important;
	height: calc(100vh - 60px);
	box-sizing: border-box;
	background: var(--cp2);
}
#about-philosophy .inner {
	margin: 0 auto !important;
	height: 100%;
	flex-direction: column;
	justify-content: space-between;
}
#about-philosophy ul {
	row-gap: 0;
	column-gap: 12px;
	width: 100%;
}
#about-philosophy ul li {
	width: calc(50% - 12px);
}
#about-philosophy ul li a {
	display: block;
	width: 100%;
	filter: contrast(0.1);
	padding: 4px 0;
	border-bottom: 1px solid;
	transition: var(--tts);
}
#about-philosophy ul li a:hover {
	transition: var(--tts);
	filter: contrast(1);
	background-position: right center;
}
#about-us h3 {
	font-size: var(--fs8);
	line-height: 1.45;
	letter-spacing: -0.005em;
}
#about-us article {
	width: 100%;
}
#about-us article h2 {
	text-align: center;
	padding-top: 30vh;
	font-size: var(--fs8);
	font-weight: 600;
}

#p-about .p-body .sec .inner {
	margin: 5vh auto;
	box-sizing: border-box;
}
#p-about .noline {
	border: none !important;
}
#p-about .p-body .sec .inner {
	display: flex;
}
#p-about .p-body .sec .sec-head {
	flex: 1;
}
#p-about .p-body .sec .sec-body {
	flex: 3;
}
#p-about #p-a-why .sec-body p {
	font-size: var(--fs3);
}
#p-about .sec .sec-body {
}
#p-about article.wrap {
	padding: 8vh 4vh;
	box-sizing: border-box;
	border: 1px solid;
}
#p-about .sec-head {
	padding: 16px 0;
	border-bottom: 1px solid;
	margin-bottom: 16px;
}
#p-about .sec-head h2 {
	line-height: 1;
}
#p-a-why article p {
	margin-bottom: 24px;
}
#p-about .p-body h2 {
	text-indent: 100px;
	font-size: var(--fs6);
	font-weight: 600;
}
#p-about .p-body ul {
}
#p-a-surmmary ul {
	gap: 8px;
}
#p-a-surmmary ul li {
	width: 100%;
	border-bottom: 1px solid;
	font-size: var(--fs3);
	padding-bottom: 8px;
}
.update {
	font-size: var(--fs2);
	color: var(--cg5);
	margin-top: 20px;
}
/*
.image-roller-container img {
    display: none;
    width: 100%; /* 필요에 따라 조정 */
    height: auto;
}
.image-roller-container img.active {
    display: block;
}
*/

#p-a-break .inner {
}
#p-a-break .inner h1 {
	display: block;
	text-align: center;
	font-size: clamp(1.5rem, 20vw, 30rem);
	line-height: 1;
	color: var(--cp1);
}
#p-a-break .inner i {
	display: none;
	border-radius: 30px;
	width: 30px;
	height: 30px;
	background: var(--cb);
}
.image-marquee {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.image-marquee .inner {
	display: flex;
	position: relative;
	width: max-content;
}
.image-marquee figure {
	flex: 0 0 auto;
	margin: 0 4px;
	text-align: center;
}
.image-marquee figure img {
	width: auto;
	height: 20vmin;
	min-height: 300px;
	max-height: 360px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}
.image-marquee:after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	height: 100%;
	width: 150px;
	background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1));
	pointer-events: none;
	z-index: 1;
}
.image-marquee figcaption {
}
ul.sm-card {
	display: flex;
	flex-wrap: wrap;
}
ul.sm-card li a {
	background: var(--cb);
	padding: 24px;
	box-sizing: border-box;
	aspect-ratio: 2 / 1;
	justify-content: space-between;
}
ul.card {
	display: flex;
	flex-wrap: wrap;
}
#p-a-client ul li a {
	display: flex;
	border-radius: 4px;
	align-items: center;
	justify-content: center;
}
#p-a-client ul li a img {
	width: 72%;
}
a.card {
	background: var(--cg8);
	padding: 24px;
	box-sizing: border-box;
	aspect-ratio: 85.6 / 54;
	max-width: 400px;
	display: block;
	margin: 5vh auto;
	border-radius: 4px;
}
ul.card li a {
	background: var(--cg8);
	padding: 24px;
	box-sizing: border-box;
	aspect-ratio: 85.6 / 54;
	align-content: space-between;
}
ul.card li a h4 {
	font-size: var(--fs5);
}
ul.card li a p {
	font-size: var(--fs2);
	color: var(--cg3);
}
.archive-list {
	font-size: var(--fs2);
	display: flex;
	flex-wrap: wrap;
}
.archive-list>* {
	color: var(--cg4);
}
.archive-sublist {
	row-gap: 20px;
}
.archive-item {
	width: 100%;
}
.archive-year-label {
	text-indent: 124px;
	margin-top: 36px;
	margin-bottom: 12px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--cg6);
}
.has-link>* {
	color: var(--cb);
}
.archive-meta {
	gap: 0;
	width: 100px;
	font-size: var(--fs1);
}
.archive-subitem .flx3 p {
}

.grecaptcha-badge {
	visibility: hidden;
}

