@media (max-width: 767px) { 

html { font-size: 52.5%; }
.po { display: none !important; }
.mo { display: block !important; }

:root {
	--fs1: 1.2rem;
	--fs2: 1.3rem;
	--fs3: 1.55rem;
	--fs4: 1.65rem;
	--fs45: 1.8rem;
	--fs5: 2.1rem;
	--fs6: 2.4rem;
	--fs7: 2.8rem;
	--fs8: 3.2rem;
	--fs9: 3.6rem;
	--fs10: 4rem;
	--fsmax: 6rem;
	--fsvarlg: calc(2.5vw + 2.5vh + 1.5vmin);
	--fsvarmd: calc(1vw + 1.5vh + .5vmin);
}
.fx {
	gap: 12px;
}
body {
	min-width: 0;
}
.lmt {
    width: calc(100% - 32px) !important;
}
header {
	height: 48px;
	min-width: 0;
}
.fxm>* {
	width: 100% !important;
}
header .inner>* {
	flex: none;
}
#menu-gnb {
	gap: 8px;
}
#menu-gnb li a::before {
	bottom: 2px;
}
#hamberger {
	top: 16px;
	right: 16px;
}
#menu-wrap {
	display: flex;
	opacity: 0;
	visibility: hidden;
	width: 100%;
	height: 0;
	overflow: hidden;
	left: 0;
	top: 49px;
	align-items: flex-start;
	flex-direction: column;
	transition: .1s;
}
.open #menu-wrap {
	opacity: 1;
	transition: .3s;
	box-sizing: border-box;
	visibility: visible;
	left: 0;
	padding: 16px;
	height: calc(100% - 49px);
	width: 100%;
	background: var(--cw);
	padding-top: 38px;
}
#hamberger {
	position: fixed;
	top: 16px;
	right: 16px;
	width: 24px;
	height: 16px;
	cursor: pointer;
	z-index: 999;
	display: block;
}
#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);
}
.fxm>* {
	width: 100% !important;
}
.p-head {
	padding: 32px 0 20px;
}
.p-head .inner h1 {
	font-size: var(--fs6);
}
#logo {
	left: 20px;
	width: auto !important;
}
.menu {
	flex-direction: column;
	background-color: transparent;
	border-radius: 0;
	width: 100%;
	padding: 0;
	display: flex;
	gap: var(--g32);
}
.menu li a {
	font-size: var(--fs7);
}
.th6 .item {
	width: calc((100% - 20px) / 2);
}

/* contact */
#contact #menu-contact li a {
	font-size: var(--fs4);
}
#contact a img {
	width: 28px;
}

/* intro */
.page-template-intro #hamberger {
	display: none;
}
#page-intro section {
	width: 40%;
}
/* about */
#p-about .p-body .sec .sec-head, 
#p-about .p-body .sec .sec-body {
	flex: none;
	width: 100%;
}

#single-pjt .p-head .smy table tr th,
#single-pjt .p-head .smy table tr td p,
#records-list .p-body ul li h5,
.project-item h3,
.eyebrow,
.tit-sm,
.menu li a, body {
	font-size: var(--fs3);
	line-height: 1.4 !important;
}
#p-about .p-body .sec .sec-body article p {
	font-size: var(--fs4);
}
#p-about .p-body .sec .sec-body article p.en {
	margin-top: 4px;
}
#single-pjt .smy .tit-sm {
	line-height: 1.7 !important;
}
table tr th, p, .menu li a, body {
	line-height: 1.3;
}
.menu li a, body {
	font-size: var(--fs5);
}
p {
	line-height: 1.6 !important;
}
#single-pjt .p-head .smy table tr>* {
	padding: 10px 0;
}
#pjt-list .th-list  {
	row-gap: 40px;
}

.post .post-gall .wp-block-gallery {
	gap: 16px;
}
.post .post-gall .wp-block-gallery figure.wp-block-image {
	width: calc(50% - 8px) !important;
}
.prev-btn {
	top: auto;
	bottom: 0px;
	left: 8px;
}
.next-btn {
	top: auto;
	bottom: 0px;
	right: 8px;
}
.close-btn {
	top: 8px;
	left: 8px;
}
.btn {
	font-size: var(--fs3);
}

.sub-menu {
	display: block;
	position: relative;
	width: 100%;
	background: transparent;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	padding: 0;
	padding-left: 24px;
}
.sub-menu li a {
	font-size: var(--fs4) !important;
}
#single-pjt .p-head .thumb {
	margin-bottom: 20px;
}
.project-item>a {
	width: 100%;
	flex-direction: column;
}
.project-item h3 {
	font-size: var(--fs45) !important;
}
.project-item h3.en {
	font-size: var(--fs4) !important;
}
.project-item ul li:last-child {
	text-align: left;
}
.project-item ul {
	gap: 2px;
}
.project-item:last-child {
	border: none;
}

#p-about #about-service .sec-body h2 {
	margin-bottom: 8px;
}
#about-contact .inner .sec-head, 
#p-about .inner {
	row-gap: 48px;
}
#about-contact .inner {
	row-gap: 20px;
}
#p-about .tit-lg {
	font-size: var(--fs7);
}
#p-about .p-body .sec .sec-body article {
	padding-bottom: 16px;
}
#p-about .p-body .sec .sec-body {
	gap: 16px;
}
#about-history .sec-body>ul>li {
	padding-bottom: 10px;
	margin-bottom: 10px;
}
#about-team .sec-body>.wp-block-group>.wp-block-group__inner-container {
	padding-bottom: 10px;
	margin-bottom: 10px;
}
#about-history .sec-body ul li li,
#about-contact .sec-head table tr th, 
#about-contact .sec-head table tr td {
	font-size: var(--fs3);
}
#about-contact .sec-head table tr td {
	padding: 10px 0;
}
#p-about .p-body .sec .inner {
	border: none;
	margin-top: 150px;
	padding-top: 0;
}
#records-list .p-body ul li {
	padding-top: 12px;
}
#records-list .p-body ul li article .wp-block-image {
	width: calc((100% - (8px * 5)) / 3) !important;
}
#records-list .p-body ul {
	gap: 20px;
}
#about-history .sec-body ul li>*,
#about-history .sec-body ul li li,
#about-team .sec-body>.wp-block-group>.wp-block-group__inner-container h4 {
	font-size: var(--fs3);
}
#about-team .sec-body>.wp-block-group>.wp-block-group__inner-container p {
	font-size: var(--fs3);
}
#about-history .sec-body ul li>* {
	line-height: 1.6;
}
.modal-title {
	font-size: var(--fs45);
}
.modal-content li {
	padding: 10px 0;
	font-size: var(--fs3);
}
.project-item {
	padding: 10px 0;
}
footer section {
	padding: 16px 0;
}
footer p {
	font-size: var(--fs2);
}
#p-about .sec-body h2 {
	margin-bottom: 20px;
	font-size: var(--fs5);
}
.modal-close {
	width: 16px;
}
.slide-container {
	width: 100%;
	height: 100vh;
}
#p-about .p-head img {
	height: 50vh;
}
.tit-lg {
	font-size: var(--fs6);
}
#p-about .sec-body h2 {
	font-size: var(--fs45);
}
.tit-sm {
	font-size: var(--fs3);
}
#contact #menu-contact li a {
	font-size: var(--fs0);
	padding: 3px 7px;
}
#contact {
	gap: 10px;
}
#menu-gnb {
	gap: 16px;
}
}

