@charset "utf-8";

/* style.css
 * **************************************************
 * Body
 * Header
 * Global Navigation
 * Common Elements
 * Content
 * Footer
 * Media Queries
 * **************************************************
 */

@import url('https://fonts.googleapis.com/css2?family=Karla:wght@300;400;700&display=swap');
/* font-family: 'Karla', sans-serif; */

/* Body
-------------------------------------------------- */

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* Font：基本サイズ（16 * 0.625 = 10px） */
html {
	font-size: 62.5%;
}

body {
	color: #515151;
	font-family: 'Karla', YuGothic, "Yu Gothic Medium", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	font-size: 13px;
	overflow-x: hidden;
	min-width: 320px;
}

.inner {
	margin: 0 auto;
	width: 1060px;
}

/* Header
-------------------------------------------------- */

#header {
	background-color: rgba(255, 255, 255, 1);
	padding: 50px 0 30px;
	position: fixed;
	top: 0;
	left: 0;
	text-align: center;
	width: 100%;
	z-index: 99;
}

#header.top {
	background-color: rgba(255, 255, 255, 0);
}

/* logo */
#header .logo {
	margin: 0 auto;
	position: relative;
	width: 218px;
	z-index: 100;
}

#header .logo svg {
	fill: #a38a77;
	width: 100%;
}

.home #header.top .logo svg {
	fill: #ffffff;
}

.home #header.open .logo svg {
	fill: #a38a77;
}

/* contact */
#header #contact {
	position: absolute;
	top: 45px;
	right: 60px;
	z-index: 99;
}

#header #contact a {
	color: #515151;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.home #header.top #contact a {
	color: #ffffff;
}

.home #header.open #contact a {
	color: inherit;
}

#header #contact a svg {
	display: none;
}

/* toggle */
#header #toggle {
	cursor: pointer;
	display: block;
	position: absolute;
	top: 34px;
	left: 40px;
	z-index: 99;
}

.trigger,
.trigger span {
	display: inline-block;
	transition: all .4s;
}

.trigger {
	height: 40px;
	position: relative;
	text-align: center;
	width: 40px;
}

.trigger span {
	background-color: #515151;
	height: 3px;
	position: absolute;
	left: 6px;
	width: 28px;
}

#header.top .trigger span {
	background-color: #ffffff;
}

.trigger span:nth-of-type(1) {
	top: 10px;
}

.trigger span:nth-of-type(2) {
	top: 19px;
}

.trigger span:nth-of-type(3) {
	top: 28px;
}

#header.top .trigger.active span {
	background-color: #515151;
}

.trigger.active span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}

.trigger.active span:nth-of-type(2) {
	opacity: 0;
}

.trigger.active span:nth-of-type(3) {
	transform: translateY(-8px) rotate(45deg);
}

/* toggle-wrap */
.toggle-wrap {
	background: rgba(255, 255, 255, 1);
	height: 100%;
	overflow: auto;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 99;
}

.hide {
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
}

.animation {
	-webkit-transition-property: opacity, visibility;
	transition-property: opacity, visibility;
	-webkit-transition-duration: .3s;
	transition-duration: .3s;
	-webkit-transition-timing-function: ease-in;
	transition-timing-function: ease-in;
}

.no-scroll {
	overflow: hidden;
}

/* Global Navigation
-------------------------------------------------- */

#global-nav {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
}

#global-nav ul {
	display: flex;
	justify-content: space-evenly;
}

#global-nav ul li {
	font-size: 15px;
	letter-spacing: 0.02em;
}

#global-nav ul li a:hover {
	opacity: 0.6;
}

/* Common Elements
-------------------------------------------------- */

::selection {
	background-color: rgba(163, 138, 119, 0.4);
}

/* img */
img {
	pointer-events: none;
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-moz-touch-callout: none;
	-moz-user-select: none;
	user-select: none;
	vertical-align: bottom;
	max-width: 100%;
}

/* link */
a {
	color: inherit;
	text-decoration: none;
	-webkit-transition: .3s;
	transition: .3s;
}

a.line {
	text-decoration: underline;
}

a:hover {
	color: inherit;
	text-decoration: none;
}

/* list */
ul {
	list-style: none;
}

/* Content
-------------------------------------------------- */

main {
	display: block;
	padding: 120px 0 0 0;
}

.home main {
	padding-top: 0;
}

/* article */
article {
	padding: 120px 0 0 0;
}

/* headline */
article h1 {
	border-bottom: 1px solid #c6c6c6;
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0.02em;
	padding: 0 0 56px;
	text-align: center;
}

article h2,
article h3 {
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.6;
	margin: 0 0 30px;
}

/* content */
.content {
	padding: 100px 130px;
}

.content p {
	line-height: 2;
	word-break: break-all;
}

.content p.translate {
	font-size: 14px;
	font-weight: 300;
	letter-spacing: 0.02em;
}

.content p+p {
	margin-top: 28px;
}

.content p br.sp {
	display: none;
}

.content hr {
	margin: 100px 0;
	width: 12px;
}

.content p+hr {
	margin: 48px 0;
}

.content section+section {
	margin-top: 100px;
}

.content ul li {
	line-height: 2;
}

.content ul.disc li {
	margin-left: 1em;
	text-indent: -1em;
}

.content ul.disc li::before {
	content: '・';
}

.content ul.list li+li {
	margin-top: 20px;
}

.content ul.list li dl {
	display: flex;
}

.content ul.list li dl dt {
	width: 50px;
}

.content ul.list li dl dd {
	width: calc(100% - 50px);
}

/* works */
ul.works li figcaption {
	color: #9B9B9B;
	letter-spacing: 0.02em;
	line-height: 1.5;
}

ul.works li figcaption cite {
	color: #515151;
	display: block;
	font-style: normal;
}

/* Footer
-------------------------------------------------- */

#footer {
	margin: 120px auto 0;
	position: relative;
	width: 1000px;
}

/* sns */
#footer .sns ul {
	align-items: center;
	display: flex;
	justify-content: center;
}

#footer .sns ul li {
	margin: 0 25px;
}

#footer .sns ul li a {
	display: block;
}

#footer .sns ul li a:hover {
	opacity: 0.6;
}

/* footer-nav */
#footer #footer-nav {
	color: #9B9B9B;
	font-weight: 300;
	letter-spacing: 0.02em;
	margin: 80px 0 0 0;
	padding: 40px 0 50px;
	position: relative;
}

#footer #footer-nav ul {
	justify-content: end;
	display: flex;
}

#footer #footer-nav ul li {
	font-size: 12px;
	margin: 0 0 0 56px;
}

#footer #footer-nav ul li a {
	display: block;
}

#footer #footer-nav ul li a:hover {
	color: #515151;
}

/* copyright */
#footer .copyright {
	font-size: 10px;
	position: absolute;
	top: 42px;
	left: 18px;
}

/* pagetop */
#pagetop {
	position: fixed;
	bottom: 50px;
	right: 80px;
	z-index: 98;
}

#pagetop a {
	display: block;
}

#pagetop a:hover {
	opacity: 0.6;
}

/* Media Queries
-------------------------------------------------- */

@media only screen and (max-width: 767px) {

	/* Body
-------------------------------------------------- */

	body {
		font-size: 14px;
	}

	.inner {
		width: 86.66%;
	}

	/* Header
-------------------------------------------------- */

	#header {
		padding: 26px 0 13px;
	}

	/* logo */
	#header .logo {
		width: 175px;
	}

	/* contact */
	#header #contact {
		top: 25px;
		right: 25px;
	}

	#header #contact a span {
		display: none;
	}

	#header #contact a svg {
		display: block;
		fill: #1a1a1a;
		width: 25px;
	}

	.home #header.top #contact a svg {
		fill: #ffffff;
	}

	.home #header.open #contact a svg {
		fill: #1a1a1a;
	}

	/* toggle */
	#header #toggle {
		top: 15px;
		left: 15px;
	}

	/* Global Navigation
-------------------------------------------------- */

	#global-nav {
		top: 55%;
	}

	#global-nav ul {
		display: block;
	}

	#global-nav ul li {
		margin: 26.66vw 0;
	}

	/* Content
-------------------------------------------------- */

	main {
		padding-top: 70px;
	}

	/* article */
	article {
		padding-top: 60px;
	}

	/* headline */
	article h1 {
		padding-bottom: 42px;
	}

	/* content */
	.content {
		padding: 70px 0;
	}

	.content p br.sp {
		display: block;
	}	

	.content p br.pc {
		display: none;
	}	

	.content hr {
		margin: 75px 0;
	}

	.content p+hr {
		margin: 48px 0;
	}

	.content section+section {
		margin-top: 75px;
	}

	/* Footer
-------------------------------------------------- */

	#footer {
		margin-top: 80px;
		width: 100%;
	}

	/* footer-nav */
	#footer #footer-nav {
		background-color: #515151;
		color: #ffffff;
		padding: 25px 0;
	}

	#footer #footer-nav ul {
		display: block;
	}

	#footer #footer-nav ul li {
		margin: 0;
		text-align: center;
	}

	#footer #footer-nav ul li a {
		padding: 15px 0;
	}

	#footer #footer-nav ul li a:hover {
		color: inherit;
	}

	/* copyright */
	#footer .copyright {
		margin: 25px 0 0 0;
		position: static;
		text-align: center;
	}

	/* pagetop */
	#pagetop {
		position: absolute;
		bottom: calc(100% - 20px);
		right: 30px;
	}

	#pagetop.fixed {
		position: fixed;
		bottom: 20px;
	}

}