@charset "UTF-8";
/* 基本設定 */
/* --------------------------------------------------
section size
-------------------------------------------------- */
/* 初期設定 */
/* ----rem設定---- */
:root {
	--liquid-lgDesignRatio: calc(1440 / 10);
	--liquid-lmdDesignRatio: calc(1024 / 10);
	--liquid-mdDesignRatio: calc(840 / 10);
	--liquid-smDesignRatio: calc(390 / 10);
}

@media screen and (max-width: 1440px) {
	:root {
		--liquid-htmlroot: calc(100vw / var(--liquid-lgDesignRatio));
	}
	html {
		font-size: var(--liquid-htmlroot);
	}
}
@media screen and (max-width: 1024px) {
	:root {
		--liquid-htmlroot: calc(100vw / var(--liquid-lmdDesignRatio));
	}
}
@media screen and (max-width: 840px) {
	:root {
		--liquid-htmlroot: calc(100vw / var(--liquid-mdDesignRatio));
	}
}
@media screen and (max-width: 520px) {
	:root {
		--liquid-htmlroot: calc(100vw / var(--liquid-smDesignRatio));
	}
}
/* ----------------------------------------------------------------------
レイアウト
---------------------------------------------------------------------- */
/* =====================================================
blog layout
===================================================== */

@media screen and (max-width: 520px) {
	#blog-area {
		padding: 7rem 0;
	}
}

/* inner を確実に効かせる */
#blog-area .inner {
	max-width: 144rem;
	margin: 0 auto;
	width: 90%;
}

@media screen and (max-width: 520px) {
	/* ************** */
	#blog-area .inner {
	}
	/* *************** */
}

/* ------------------------------
カテゴリーバー
------------------------------ */
.category-bar {
	margin-bottom: 6rem;
	text-align: center;
}

.category-ttl {
	font-size: 1.6rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin-bottom: 2rem;
}

.category-list {
	display: flex;
	justify-content: center; /* ← 中央寄せ */
	flex-wrap: wrap;
	gap: 1em;
}

.category-item a {
	display: inline-block;
	padding: 0.6em 1.6em;
	border-radius: 999px;
	border: 1px solid #808080;
	font-size: 1.2rem;
	letter-spacing: 0.12em;
	transition: 0.3s;
}

/* hover */
.category-item a:hover {
	background: #000;
	color: #fff;
}

/* アクティブ */
.category-item.is-active a {
	background: #000;
	color: #fff;
}

/* --------------------------------------------------
投稿一覧（最大3カラム）
-------------------------------------------------- */

#blog-area .post-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 5rem 2.5rem;
}

@media screen and (max-width: 840px) {
	#blog-area .post-list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 520px) {
	#blog-area .post-list {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------
カード
-------------------------------------------------- */

#blog-area .post-item .thumbnail {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 0em;
	border: 2px solid #f2f2f2;
	background: #f2f2f2;
}

#blog-area .post-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;     /* ← 比率違いはトリミング */
	object-position: center;
	transition: 0.3s;
}

#blog-area .post-item:hover img {
	transform: scale(1.03);
}

#blog-area .post-item .ttl {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-top: 1em;
	font-weight: 600;
}

#blog-area .post-item .meta {
	margin-top: 0.4em;
	font-size: 1.2rem;
	color: #999;
}

/* --------------------------------------------------
ページネーション
-------------------------------------------------- */

#blog-area .news-nav {
	margin-top: 6rem;
	display: flex;
	justify-content: flex-end;
	font-size: 2rem;
}

#blog-area .wp-pagenavi {
	display: flex;
	gap: 1em;
}

.wp-pagenavi a, .wp-pagenavi span {
	border: none;
}

/* ************************************************************
sub-pagebox
************************************************************ */	
.sub-pagebox
{
	margin:10% auto 0;
	width: 100%;
	position: relative;
}

.sub-pagebox .side-titles
{
	position: absolute;
	left: 6%;
	top:-1%;
	font-size:22rem;
	transform: rotate(90deg);
	transform-origin: left top; 
	font-weight: 700;
	font-family: "Outfit", serif;
	color:#07499e;
	letter-spacing: -0.03em;
	z-index: -1;
}

.sub-pagebox .side-titles span
{
	color:#EB7C00;
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1980px) {
	/* ************** */

	.sub-pagebox
	{
		margin-top:8%;
	}

	.sub-pagebox .side-titles
	{
		left: 5%;
		top:-0.6%;
		font-size:17rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1780px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 5%;
		top:-0.6%;
		font-size:15.4rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1600px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 5%;
		top:-0.6%;
		font-size:12.5rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1368px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 4.4%;
		top:-0.6%;
		font-size:11rem;
		color:#C7C9CD;
		opacity: .3;
	}

	.sub-pagebox .side-titles span
	{
		color:#C7C9CD;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1280px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 4.4%;
		top:-0.6%;
		font-size:10rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 1024px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 4.8%;
		top:-0.6%;
		font-size:9rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 920px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 5%;
		top:0%;
		font-size:8.8rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 768px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 6%;
		top:-0.2%;
		font-size:8rem;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 640px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 6.4%;
		top:-0.2%;
		font-size:7.2rem;
		white-space: nowrap;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 480px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 7%;
		top:-0.2%;
		font-size:6.2rem;
		letter-spacing: 0;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 420px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 7%;
		top:-0.2%;
		font-size:5.4rem;
		letter-spacing: 0;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 420px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 7%;
		top:-0.2%;
		font-size:5rem;
		letter-spacing: 0;
	}
	/* *************** */
}

/* ▼▼▼▼▼▼▼▼MaxWidth1980(mobile)▼▼▼▼▼▼▼▼ */

@media screen and (max-width: 349px) {
	/* ************** */
	.sub-pagebox .side-titles
	{
		left: 7%;
		top:-0.2%;
		font-size:4.2rem;
		letter-spacing: 0;
	}
	/* *************** */
}



.np-link{
	margin-top: 3em;
	font-size: 1.8rem;
	line-height: 1.5;
}

.np-link a{
	border-bottom: 1px solid #333;
}

@media screen and (max-width: 1024px) {
	.np-link{font-size: 1.6rem;}

	@media screen and (max-width: 840px) {
		.np-link{font-size: 1.4rem;}

		@media screen and (max-width: 520px) {
			.np-link{font-size: 1.2rem;}
		}
	}
}

/* ----------------------------------------------------------------------
ブログ(詳細)
---------------------------------------------------------------------- */
.blog-block.single .post-ttl {
	font-size: 1.6rem;
	line-height: 1.5;
	letter-spacing: 0.12em;
	font-weight: 800;
	padding-bottom: 3em;
	margin-bottom: 5em;
	border-bottom: 2px solid #000;
	text-align: left;
}
@media screen and (max-width: 520px) {
	.blog-block.single .post-ttl {
		font-size: 1.2rem;
	}
}
.blog-block.single .post-ttl .date {
	letter-spacing: 0.01em;
	color: #808080;
	margin-bottom: 0.9em;
}
.blog-block.single .post-ttl .ttl {
	font-size: 200%;
}
.blog-block.single .post-ttl .cate-list {
	font-size: 75%;
	margin-top: 1.9em;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-content: stretch;
	-ms-flex-line-pack: stretch;
	align-content: stretch;
	gap: 1em;
}
.blog-block.single .post-ttl .cate-list .cate {
	padding: 0.7em 1.9em;
	border-radius: 999px;
	background-color: #F5F5F4;
}

/* テキストエリア */
.common-txt-area {
	font-size: 1.8rem;
	line-height: 2.3888888889;
	letter-spacing: 0.12em;
	font-weight: 400;
	text-align: left;
}
@media screen and (max-width: 840px) {
	.common-txt-area {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 840px) and (max-width: 520px) {
	.common-txt-area {
		font-size: 1.2rem;
	}
}
.common-txt-area > *{
	margin-top: 2em;
}
.common-txt-area > *:first-child {
	margin-top: 0;
}
.common-txt-area h2, .common-txt-area h3, .common-txt-area h4, .common-txt-area h5 {
	line-height: 1.25;
	font-weight: 600;
}
.common-txt-area > h2 {
	font-size: 155.5%;
	padding: 1em 1% 0;
	margin-top: 3em;
	border-top: 2px solid #CCC;
}
.common-txt-area > h3 {
	margin-top: 2em;
	font-size: 138.88%;
	background-color: #B3B3B3;
	color: #fff;
	padding: 0.1em 1%;
}
.common-txt-area > h4 {
	font-size: 138.88%;
	margin-top: 1.5em;
	color: #65CFC9;
}
.common-txt-area > h5 {
	font-size: 111.11%;
	margin-top: 1.5em;
	color: #F19B40;
}
.common-txt-area > p {
	margin-top: 2em;
}


/* ----------------------------------------------------------------------
works
---------------------------------------------------------------------- */
.common-txt-area .youtube-box{
	width: 100%;
	aspect-ratio: 1920 / 1080 ;
}

.common-txt-area .worksTtl {

}

.common-txt-area .worksInfo01{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	row-gap: 1em;
}

.common-txt-area .worksInfo01 .leftBox{
	font-size: 180%;
	line-height: 1;
	font-weight: 600;
	width: 10em;
}
.common-txt-area .worksInfo01 .rightBox{
	width: 55%;
	max-width: calc(100% - 39em);
}
.common-txt-area .worksInfo01 .rightBox dl{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}
.common-txt-area .worksInfo01 .rightBox dl dt{
	width: 10em;
}
.common-txt-area .worksInfo01 .rightBox dl dd{
	width:calc(100% - 12em);
}
.common-txt-area .worksInfo01 .rightBox .txt{
	margin-top: 1em;
}

.common-txt-area .worksImgArea{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 1em;
}
.common-txt-area .worksImgArea li{
	width: calc((100% - 1em) / 2);
	aspect-ratio: 1920 / 1080;
}
.common-txt-area .worksImgArea li img{
	max-width: initial;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.common-txt-area .worksTxtArea > h3{
	font-size: 150%;
	font-weight: 600;
}
.common-txt-area .worksTxtArea > p{
	margin-top: 1em;
}

.common-txt-area .worksInfo02{
	padding: 1em;
	border: 1px solid #333;
	line-height: 1.7;
}

@media screen and (max-width: 1024px) {
	.common-txt-area .worksInfo01 .leftBox{width: 100%;}
	.common-txt-area .worksInfo01 .rightBox{width: 100%;max-width: initial;}

	@media screen and (max-width: 840px) {
		.common-txt-area .worksImgArea li{width: 100%;}
	}
}
