main {
	padding-top: 60px;
	@media screen and (min-width:768px) { padding-top: 0; }
	& h1 {
		color: #ffffff;
		padding: 0 5%;
		font-size: 125%;
		padding-bottom: 60px;
		@media screen and (min-width:768px) { padding-bottom: 120px; }
	}
	& section {
		background-color: rgba(255, 255, 255, 0.6);
		backdrop-filter: blur(10px);
		&:nth-of-type(2) {background-color: rgba(255, 255, 255, 1);}
	}
}
main h1,
main section article h2 {
	&::before {
		display: block;
		font-family: "acumin-variable", sans-serif;
		font-weight: 800;
		line-height: 1;
	}
}
main h1 { text-align: center; }
main h1::before { font-size: 250%; }
main section article h2::before { font-size: 200%; }
.company-info main h1::before { content: "ABOUT US"; }
.archive, .single-post {
	main h1::before { content: "INFORMATION"; }
}
.contact main h1::before { content: "CONTACT"; }
.privacy-policy main h1::before { content: "PRIVACY POLICY"; }
.site-policy main h1::before { content: "SITE POLICY"; }
.error404 main h1::before { content: "ERROR404"; }
.company-info main {
	& section.message article h2::before { content: "MESSAGE"; }
	& section.outline article h2::before { content: "OUTLINE"; }
	& section.history article h2::before { content: "HISTORY"; }
	& section.message article {
		& p:has(img){
			border-radius: 20px;
			overflow: hidden;
			margin: 0 auto 10px;
		}
		 & div {
			display: grid;
			gap: 0 20px;
			grid-template-columns: 1fr 40%;
			& p:has(img) {
				grid-column: 2;
				grid-row: 1/3;
				& img { border-radius: 20px; }
			}
		}
	}
	& section.outline, & section.history {
		& article dl {
			border-top: 2px solid #000000;
			border-bottom: 2px solid #000000;
			line-height: 1.5;
			display: grid;
			grid-template-columns: auto 1fr;
			& dt, & dd {
				padding: 10px 15px;
				&:not(:last-of-type) { border-bottom: 1px solid #333333;}
			}
		}
	}
}
.privacy-policy, .site-policy {
	main section article {
		@media screen and (min-width:768px) { 
			grid-template-columns: 1fr !important;
		}
		& dl dt { margin-top: 40px;}
		& ul {
			margin-top: 20px;
			list-style: disc;
			margin-left: 1.5em;
			& li::marker {
				color: #f26a2b;
				transform:
			}
		}
	}
}
main section:not(.office) article {
	@media screen and (min-width:768px) { 
		display: grid;
		gap: 0 40px;
		grid-template-columns: 30% 1fr;
		grid-template-rows: min-content 1fr;
		align-items: start;
		min-height: fit-content;
		& h2 {
			grid-column: 1;
			grid-row: 1; 
			position: sticky; 
			top: 7em;
		}
	}
}
.error404 main section article {
	@media screen and (min-width:768px) {
		display: block;
		height: 50vh;
	}
}
/*お知らせ*/
.archive main section:not(.office) article {
	min-height: calc(100vh - 385px);
	@media screen and (min-width: 768px) {
		min-height: calc(100vh - 655px);
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
	}
	& ul {
		line-height: 1.3;
		display: grid;
		gap: 30px;
		margin-bottom: 40px;
		@media screen and (min-width: 768px) {
			width: 70%;
			margin: 0 auto;
		}
		li {
			align-items: center;
			@media screen and (min-width: 768px) {
				display: flex;
				gap: 30px 20px;
			}
			& time {
				font-family: "acumin-variable", sans-serif;
				font-size: 87.5%;
				& span { font-size: 171.4%; }
			}
		}
	}
	& nav {
		& h2 { display: none; }
		& .nav-links {
			display: flex;
			gap: 0 20px;
			justify-content: center;
		}
	}
}
.single main section:not(.office) article {
	min-height: calc(100vh - 385px);
	@media screen and (min-width: 768px) {
		display: block;
		min-height: calc(100vh - 655px);
	}
	& h2 {
		font-size: 200%;
		font-weight: bold;
		line-height: 1;
		@media screen and (min-width: 768px) { position: initial; }
	}
	& time {
		text-align: right;
		display: block;
		font-family: "acumin-variable", sans-serif;
		font-size: 87.5%;
		& span { font-size: 171.4%; }
	}
	& div {
		& .thumb { margin-bottom: 20px; }
		@media screen and (min-width: 768px) {
			&:has(.thumb) {
				display: grid;
				gap: 0 40px;
				grid-template-columns: 30% 1fr;
				grid-template-rows: min-content 1fr;
				align-items: start;
				min-height: fit-content;
			}
		}
	}
	& .link a { margin-left: auto; }
}
.single-post main section article div {
	& p:not(:last-child) { margin-bottom: 1em; }
	& .wp-block-list{ 
		margin: 0 0 1em 2em;
		list-style: auto;
	}
	& .has-text-align-right { text-align:right; }
}


/*お問い合わせ*/
.contact main section:not(.office) article {
	grid-template-columns: 1fr;
	max-width: 800px;
}
.contact .screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}
.contact .smf-form .smf-text-control input { width: 100%; }
.contact .smf-button-control button {
	background-color: #000000;
	color: #ffffff;
	background-image: none;
	border: none;
	border-radius: 10px;
}
.contact .smf-item:has([data-validations~="required"]) .smf-item__label::after {
    content: " ※";
    color: #f26a2b;
    font-weight: bold;
    margin-left: 4px;
}
.contact .smf-progress-tracker__item__number,
.contact .smf-progress-tracker__item:after,
.contact .smf-progress-tracker__item:before { background-color: #666666; }
.contact .smf-progress-tracker__item__text { color: #666666; }
.contact .smf-honeypot-field {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    opacity: 0;
    height: 0;
    width: 0;
    z-index: -1;
    overflow: hidden;
}
.contact .office .smf-checkboxes-control__control {
	column-count: 2;
	@media screen and (min-width: 768px) { column-count: 3; }
}
.contact .smf-form article {
	background-color: #d5d2d28f; 
	margin-top: 20px;
	padding: 20px;
	height: 250px;
	overflow-y: auto;
	font-size: 87.5%;
	 	@media screen and (min-width: 768px) { min-height: auto; }
	 & h2 {
	 	margin-bottom: 10px;
	 	font-weight: bold;
	 	@media screen and (min-width: 768px) { position: initial; }
	 }
}