@charset "utf-8";
html {
	scroll-behavior: smooth;
}
body {
	margin: 0;
	font-family: 'YuseiMagic'sans-serif;
	background-color: #ffffff;
	color: #000000;
	line-height: 1.6;
}
.header, .main, .footer {
	margin: 0 auto;
	padding: 40px 20px;
	max-width: 1440px;
	text-align: center;
}
.header {
	background-color: #cccccc;
	padding: 60px 20px;
	text-align: center;
}
.header h1 {
	font-family: 'KaiseiDecol',serif;
	font-size: 48px;
	margin-bottom: 10px;
}
.header p {
	font-size: 20px;
	font-style: italic;
	margin-bottom: 30px;
}
.header nav ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	justify-content: center;
}
.header nav li {
	margin: 0 15px;
}
.header nav a {
	text-decoration: none;
	color: #0000000;
	font-weight: bold;
	transition: color 0.3;
}
.header nav a:hover, 
.header nav :focus {
	color: #cc0000;
}
.pr, .works, .conact {
	margin-top: 60px;
}
.pr h2, .works h2, .contact h2 {
	font-family: 'KaiseiDecol',serif;
	font-size: 32px;
	margin-bottom: 20px;
}
.works a, .contact a {
	display: inline-block;
	padding: 12px 24px;
	margin-top: 20px;
	background-color: #000000;
	color: #ffffff;
	border-radius: 8px;
	text-decoration: none;
}
.footer {
	text-align: center;
	padding: 40px 0;
	font-size: 14px;
	background-color: #cccccc;
}
section.contact {
	margin: 60px auto;
	max-width: 600px;
	padding: 40px;
	border-radius: 8px;
	background-color: #fff;
	boxshadow: 0px 0px 10px rgba(0,0,0,0,0.05);
	
}
section.contact h2 {
	font-size: 28px;
	margin-bottom: 10px;
	text-align: center;
}
section.contact h3 {
	font-size: 20px;
	margin-top: 30px;
	margin-bottom: 10px;
}
form label {
	display: block;
	margin-bottom: 5px;
	font-weight: bold;
}
form input, form textarea {
	padding: 10px;
	width: 100%;
	border: 2px solid #ccc;
	border-radius: 8px;
	margin-bottom: 20px;
	font-size: 16px;
	box-sizing: border-box;
}
form button {
	background-color: #333;
	padding: 12px 20px;
	border: none;
	border-radius: 8px;
	color: #fff;
	font-size: 16px;
	cursor: pointer;
	transition: background-color 0.5;
	/* [disabled]margin: 0 auto; */
	/* [disabled]display: block; */
}
.back-to-top {
	position: fixed;
	width: 80px;
	border-radius: 50%;
	height: 80px;
	border: 3px solid #000;
	background-color: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	bottom: 24px;
	right: 24px;
}
arrow {
	font-size: 28px;
	color: #ffd700;
	margin-bottom: 6px;
}

label {
	font-size: 12px;
	font-weight: bold;
	color: #000;
}
h2   {
	text-align: center;

}

section a {
	border: 1px solid #ccc;
	/* [disabled]display: block; */
	overflow: hidden;
	margin: 12px;
	text-decoration: none;
	color: inherit;
}
section a  img  {
	width: 100%;
	margin-bottom: 8px;
	height: auto;
	display: block;
	max-width: 300px;
	max-height: 400px;
	object-fit: cover;
}
.gallery {
	display: grid;
	grid-template-columns: repeat(3,300px);
	grid-auto-rows: 400px;
	gap: 20px;
	justify-content: center;
}
.gallery section {
	border: 3px solid #ccc;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	transition: transform 0.3, box-shadow 0.4s;
	background-color: #fff;
	overflow: hidden;
	display: flex;
	border-radius: 8px;
	flex-direction: column;
	margin-top: 10px;
	margin-bottom: 10px;
}
.gallery section:hover {
	transform: translateY(-5px);
	box-shadow:  0 8px 16px rgba(0,0,0,0.4)
}

.card-image {
    height: 190px;
    overflow: hidden;
}
.card-image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	display: block;
}
.card-text {
    padding: 8px;
    height: 160px;
    background-color: #fff;
}
.card-text h3 {
	margin: 0 0 8px;
	font-size: 16px;
	text-align: center;
}
.card-text p {
    margin: 0;
    font-size: 12px;
    line-height: 1.6;
    text-align: left;
}
.card-text.scrollable {
    padding: 8px;
    height: 200px;
    overflow-y: auto;
}
