@charset "utf-8";

.l-contents {
	max-width: 960px;
	margin: 112px auto 0;
}
.l-contents.-fill {
	padding: 64px 52px;
	border-radius: 30px;
	background: white;
}
.l-contents > :first-child {
	margin-top: 0;
}
@media screen and (max-width: 767px) {
	.l-contents.-fill {
		padding-inline: 32px;
	}
}
@media screen and (max-width: 479px) {
	.l-contents {
		margin-top: 72px;
	}
	.l-contents.-fill {
		padding: 40px 20px;
		border-radius: 20px;
	}
}

/* l-contents 内で変わるスタイル */
.l-contents .c-postlist {
	gap: 40px;
}
.l-contents .c-post {
	padding: 0;
}
.l-contents .c-button,
.l-contents .wp-block-button__link {
	font-size: var(--px14);
	background: #efefef;
}
@media screen and (max-width: 767px) {
	.l-contents .c-postlist {
		gap: 24px;
	}
}


/**
 * 会社情報
 * ---------------------------------------- */

/* :::::: 私たちが目指すもの :::::: */
.p-philosophy .keyvisual {
	display: grid;
	place-content: center;
	height: 1000px;
	position: relative;
	margin-inline: var(--breakout);
}
.p-philosophy .catchcopy,
.p-philosophy .logo {
	z-index: 1;
	position: relative;
	text-align: center;
}
.p-philosophy .logo {
	margin-top: 40px;
}
.p-philosophy .logo img {
	width: 265px;
}
.p-philosophy .visual .object.-p1 {
	transform: translateY(-10%);
}
.p-philosophy .visual .object.-p2 {
	transform: translateY(24%);
}
.p-philosophy .visual .object.-p3 {
	transform: translateY(32%);
}
.p-philosophy .visual .object.-d1 {
	transform: translateY(320%);
}
.p-philosophy .visual .object.-d2 {
	transform: translateY(1460%);
}
.p-philosophy .visual .object.-d3 {
	transform: translateY(-240%);
}
.p-philosophy .visual .object.-d4 {
	transform: translateY(940%);
}
@media screen and (max-width: 1199px) {
	.p-philosophy .visual .object.-p1 {
		left: -60px;
	}
	.p-philosophy .visual .object.-p2 {
		right: -40px;
	}
	.p-philosophy .visual .object.-d1 {
		left: 250px;
	}
	.p-philosophy .visual .object.-d2 {
		left: 40px;
	}
	.p-philosophy .visual .object.-d4 {
		right: 70px;
	}
}
@media screen and (max-width: 899px) {
	.visual .object.paste {
		background-size: calc(1600vw / 9) calc(800vw / 9);
	}
	.p-philosophy .visual .object.-p1 {
		left: calc(-60vw / 9);
		width: calc(450vw / 9);
		height: calc(438vw / 9);
	}
	.p-philosophy .visual .object.-p2 {
		right: calc(-40vw / 9);
		width: calc(352vw / 9);
		height: calc(294vw / 9);
	}
	.p-philosophy .visual .object.-p3 {
		left: calc(50% - 320vw / 9);
		right: calc(-110vw / 9);
		width: calc(890vw / 9);
		height: calc(384vw / 9);
	}
	.p-philosophy .visual .object.-d1 {
		left:  calc(250vw / 9);
		width: calc(70vw / 9);
	}
	.p-philosophy .visual .object.-d2 {
		left:  calc(40vw / 9);
		width: calc(30vw / 9);
	}
	.p-philosophy .visual .object.-d3 {
		left: calc(50% - 420vw / 9);
		width: calc(50vw / 9);
	}
	.p-philosophy .visual .object.-d4 {
		right: calc(70vw / 9);
		width: calc(50vw / 9);
	}
}
@media screen and (max-width: 479px) {
	.p-philosophy .keyvisual {
		height: calc(900vw / 4.8);
	}
	.p-philosophy .catchcopy {
		margin-top: calc(96vw / 4.8);
	}
	.p-philosophy .catchcopy img {
		width: calc(417vw / 4.8);
	}
	.p-philosophy .logo img {
		width: calc(265vw / 4.8);
	}
}

/* :::::: 社長メッセージ :::::: */
.p-message {
	max-width: 1024px;
	margin-inline: auto;
}
.message_content .text p {
	margin-top: .5em;
	line-height: 1.8;
	font-weight: 500;
}
.message_content .text p:first-child {
	margin-top: 0;
}
.message_content .image img {
	border-radius: 300px;
}
.message_content .text .author {
	margin-top: 24px;
	text-align: right;
}
@media print, (min-width: 768px) {
	.message_content {
		display: flex;
		justify-content: space-between;
	}
	.message_content .text {
		flex-basis: calc(100% - 344px);
	}
	.message_content .image {
		order: -1;
		flex-basis: 300px;
	}
}
@media screen and (max-width: 767px) and (min-width: 480px) {
	.message_content {
		position: relative;
	}
	.message_content .image {
		position: absolute;
		top: 0;
		left: 0;
		width: min(50%, 300px);
	}
	.message_content .text::before {
		content: "";
		float: left;
		width: min(50vw, 324px);
		height: min(50vw, 308px);
		shape-margin: .5em;
		shape-outside: radial-gradient(ellipse at 45% 45%, white, transparent 70%);
	}
}
@media screen and (max-width: 479px) {
	.message_content {
		display: flex;
		flex-direction: column;
	}
	.message_content .text {
		max-width: calc(100% -  32px);
		margin: 24px auto 0;
	}
	.message_content .image {
		order: -1;
		max-width: 260px;
		margin-inline: auto;
	}
}

/* :::::: 会社概要 :::::: */
.p-profile {
	margin-top: 104px;
	padding: 104px 0 0;
	color: white;
	border-image: linear-gradient(var(--themecolor), var(--themecolor)) 0 fill / 0 / 0 50vw 240px 50vw;
}
.p-profile a {
	color: inherit;
}
.p-profile .content_title {
	margin-top: 0;
	border-image-source: url(../img/branket_w.svg);
	color: white;
}
.p-profile .c-datatable .row {
	max-width: 960px;
	margin-inline: auto;
}
.p-profile .c-datatable .row {
	border-bottom: 1px solid currentcolor;
}
.p-profile .c-datatable .row:first-child {
	border-top: 1px solid currentcolor;
}
.p-profile .c-datatable dt,
.p-profile .c-datatable dd {
	padding: 1em;
}
.p-profile .c-datatable dt {
	font-weight: 600;
}
@media print, (min-width: 480px) {
	.p-profile .c-datatable .row {
		display: grid;
		grid-template-columns: 7em 1fr;
		align-items: center;
	}
	.p-profile .c-datatable dt {
		text-align-last: justify;
	}
	.p-profile .c-datatable dd {
		padding-left: 2em;
	}
}
@media screen and (max-width: 479px) {
	.p-profile {
		margin-top: 80px;
		padding-top: 80px;
	}
	.p-profile .c-datatable dt {
		padding-bottom: 0;
		letter-spacing: .5em;
	}
	.p-profile .c-datatable dd {
		padding-top: .3em;
	}
}


/**
 * 事業紹介
 * ---------------------------------------- */
.p-service .c-post .thumb img {
	object-fit: contain;
}


/**
 * お知らせ
 * ---------------------------------------- */
.page-news .c-newslist {
	max-width: 960px;
	margin: 80px auto 0;
}
@media screen and (max-width: 479px) {
	.page-news .c-newslist {
		margin-top: 40px;
	}
}


/**
 * サイトマップ
 * ---------------------------------------- */
.sitemap_list {
	display: flex;
	flex-direction: column;
	gap: 1em;
	max-width: 960px;
	margin: 72px auto 0;
}
.sitemap_list .c-button {
	width: 100%;
}


/**
 * 個人情報の取り扱いについて
 * ---------------------------------------- */
.page-privacy_policy .p-article p,
.page-privacy_policy .p-article li {
	line-height: 2;
}
.page-privacy_policy .p-article .wp-block-table th,
.page-privacy_policy .p-article .wp-block-table td {
	vertical-align: middle;
}
@media screen and (min-width: 768px) {
	.page-privacy_policy .p-article .wp-block-table th {
		width: 20em;
	}
}


/**
 * サイトのご利用について
 * ---------------------------------------- */
.page-site_policy .p-article h2 + p,
.page-site_policy .p-article h2 + ul,
.page-site_policy .p-article h2 + ol {
	margin-top: 2em;
}
.page-site_policy .p-article li {
	line-height: 1.8;
}


/**
 * 記事ページ
 * ---------------------------------------- */
.page-single .p-article {
	margin-top: 80px;
}
@media screen and (max-width: 479px) {
	.page-single .p-article {
		margin-top: 40px;
	}
}
.single_title {
	display: flex;
	flex-direction: column;
	color: inherit;
	font-size: var(--px50);
	font-weight: 700;
}
.single_title .main {
	line-height: 1;
}
.single_title .sub {
	font-size: var(--px20);
	letter-spacing: .2em;
}
@media screen and (max-width: 767px) {
	.single_title {
		align-items: center;
	}
}
.single_header {
	display: flex;
	align-items: center;
	max-width: 960px;
	margin: 96px auto 0;
}
.single_header .single_title {
	color: var(--themecolor);
}
@media print, (min-width: 768px) {
	.single_header {
		justify-content: space-between;
	}
}
@media screen and (max-width: 767px) {
	.single_header {
		flex-direction: column;
		gap: 40px;
	}
}
@media screen and (max-width: 479px) {
	.single_header {
		margin-top: 48px;
	}
}
.page-single .p-article .c-category + h2 {
	margin-top: 24px;
}
