/*
Theme Name: misaki child
Version: 2.0.0
Template: misaki
*/

/************************************************************/
/*　リセット
/************************************************************/
:root {
	--main: #004f49;
	--text: #000;
	--line: #04ad4b;
	--ease: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
* {
	outline: none;
}
a {
	transition: var(--ease);
}
img {
	-webkit-user-drag: none;
	user-select: none;
	-webkit-user-select: none;
}

/*PC・タブレット・スマホ 表示*/
.pc { display:block !important; }
.tb { display:none !important; }
.sp { display:none !important; }
@media screen and (max-width: 768px){   
	.pc { display:none !important; }
	.tb { display:block !important; }
	.sp { display:none !important; }
}
@media screen and (max-width: 480px){   
	.pc { display:none !important; }
	.tb { display:none !important; }
	.sp { display:block !important; }
}

.pc_none { display:none !important; }
.tb_none { display:block!important; }
.sp_none { display:block !important; }
@media screen and (max-width: 768px){   
	.pc_none { display:block !important; }
	.tb_none { display:none !important; }
	.sp_none { display:block !important; }
}
@media screen and (max-width: 480px){   
	.pc_none { display:block !important; }
	.tb_none { display:block !important; }
	.sp_none { display:none !important; }
}

/************************************************************/
/*　構成
/************************************************************/
#contents {
	padding: 0;
	margin: 0;
	position: relative;
}
.articleBody {
	padding: 0 0 0 70px;
	margin: 0;
}
.pageContent.one-column .articleBody {
	padding: 100px 0 100px 70px;
	margin: 0;
}
.archiveContent {
	padding: 100px 0 100px 70px;
	margin: 0;
}
.articleContainer {
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 50px;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.articleBody {
		padding: 50px 15px;
		margin: 0;
	}
	.pageContent.one-column .articleBody {
		padding: 50px 15px;
		margin: 0;
	}
	.pageContent.full .articleBody {
		padding: 0;
		margin: 0;
	}
	.archiveContent {
		padding: 50px 15px;
		margin: 0;
	}
	.articleContainer {
		width: 100%;
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}
}

/************************************************************/
/*　ページビジュアル
/************************************************************/
#pv {
	width: 100%;
	height: 500px;
	padding: 170px 100px 100px 170px;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	overflow: hidden;
	position: relative;
	z-index: 0;
}
#pv.large {
	height: 100vh;
	justify-content: flex-start;
}
#pv.gallery {
	height: 700px;
	justify-content: flex-start;
}
#pv > header {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	grid-row-gap: 30px;
}
#pv > header > em {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 80px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	font-style: normal;
}
#pv > header > em::first-letter {
	text-transform: uppercase;
}
#pv > header > h1 {
	display: inline-block;
	padding: 10px;
	margin: 0;
	background: none;
	border-top: 1px solid rgba(255,255,255,0.7);
	border-bottom: 1px solid rgba(255,255,255,0.7);
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	color: #fff;
	font-style: normal;
	letter-spacing: 0.2em;
}
#pv > figure {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#pv > figure::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#pv > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
	z-index: -2;
}

/*パンくず*/
.breadcrumbs {
	width: 100%;
	max-width: 1080px;
	padding: 50px 0;
	margin: 0 auto;
	position: relative;
	z-index: 5;
	color: var(--text);
}
#pv .breadcrumbs > li a,
#pv .breadcrumbs > li::before {
	color: var(--text);
}
#pv .breadcrumbs > li a:hover {
	color: var(--main);
}

/*PV用パンクズ*/
#pv .breadcrumbs {
	width: 100%;
	max-width: 1080px;
	padding: 10px 0;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%,0);
	z-index: 5;
	color: #fff;
}
#pv .breadcrumbs > li a,
#pv .breadcrumbs > li::before {
	color: #fff;
}
#pv .breadcrumbs > li a:hover {
	color: var(--main);
}

/*動画*/
#pv.large.movie {
	height: 100vh;
	justify-content: flex-start;
	align-items: flex-start;
	padding: 150px 100px 100px 170px;
}
#pv.large.movie > header {
	/* フェードイン */
	opacity: 0;
	animation: moviefadeIn 3s ease forwards;
}
@keyframes moviefadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
#pv.large.movie > figure.pv-video {
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#pv.large.movie > figure.pv-video::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}
#pv.large.movie > figure.pv-video video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
	z-index: -2;
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#pv {
		width: 100%;
		height: 250px;
		padding: 70px 15px 15px 15px;
		margin: 0;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		overflow: hidden;
		position: relative;
		z-index: 0;
	}
	#pv.large {
		height: 300px;
		justify-content: flex-start;
	}
	#pv.gallery {
		height: 300px;
		justify-content: flex-start;
	}
	#pv > header {
		width: 100%;
		max-width: 100%;
		grid-row-gap: 15px;
	}
	#pv > header > em {
		font-size: 30px;
	}
	#pv > header > h1 {
		padding: 10px;
		font-size: 12px;
	}

	/*パンくず*/
	.breadcrumbs {
		width: 100%;
		max-width:100%;
		padding: 15px 0;
		margin: 0 auto;
		position: relative;
		z-index: 5;
		color: var(--text);
	}
	#pv .breadcrumbs > li a,
	#pv .breadcrumbs > li::before {
		color: var(--text);
	}
	#pv .breadcrumbs > li a:hover {
		color: var(--main);
	}

	/*PV用パンクズ*/
	#pv .breadcrumbs {
		width: 100%;
		max-width: 1080px;
		padding: 10px 0;
		margin: 0 auto;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translate(-50%,0);
		z-index: 5;
		color: #fff;
	}
	#pv .breadcrumbs > li a,
	#pv .breadcrumbs > li::before {
		color: #fff;
	}
	#pv .breadcrumbs > li a:hover {
		color: var(--main);
	}
	
	
	/*動画*/
	#pv.large.movie {
		width: 100%;
		height: 300px;
		padding: 70px 15px 15px 15px;
		margin: 0;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		overflow: hidden;
		position: relative;
		z-index: 0;
	}
	#pv.large.movie > header {
		/* フェードイン */
		opacity: 0;
		animation: moviefadeIn 3s ease forwards;
	}
	@keyframes moviefadeIn {
		from {
			opacity: 0;
		}
		to {
			opacity: 1;
		}
	}
	#pv.large.movie > figure.pv-video {
		width: 100%;
		height: 100%;
		overflow: hidden;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	#pv.large.movie > figure.pv-video::before {
		content: '';
		display: block;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.3);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 0;
	}
	#pv.large.movie > figure.pv-video video {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		object-fit: cover;
		z-index: -2;
	}
}

/************************************************************/
/*　アニメーション
/************************************************************/
.js-gsap-reveal-lr .js-stagger-1,
.js-gsap-reveal-lr .js-stagger-2,
.js-gsap-reveal-lr .js-stagger-3,
.js-gsap-reveal-lr .js-stagger-4 {
	clip-path: inset(0% 100% 0% 0%);
}

.js-gsap-reveal-tb .js-stagger-1,
.js-gsap-reveal-tb .js-stagger-2,
.js-gsap-reveal-tb .js-stagger-3,
.js-gsap-reveal-tb .js-stagger-4 {
	clip-path: inset(0% 0% 100% 0%);
}


/************************************************************/
/*　画像スライダー
/************************************************************/
.loop-slider {
	width: 100%;
	overflow: hidden;
	position: relative;
}
.slideGal {
	display: flex;
	padding: 0;
	margin: 0;
	list-style: none;
	width: max-content;
	animation: side-loop-left 30s linear infinite;
}
.slideGal li {
	flex: 0 0 calc(100vw / 3);
	width: calc(100vw / 3);
	aspect-ratio: 4 / 3;
	box-sizing: border-box;
}
.slideGal li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
@keyframes side-loop-left {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.loop-slider:hover .slideGal {
	animation-play-state: paused;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.loop-slider {
		width: 100vw;
		margin-left: calc(50% - 50vw);
		overflow: hidden;
		position: relative;
	}
	.slideGal li {
		flex: 0 0 calc(100vw / 2);
		width: calc(100vw / 2);
	}
}

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

.pagination {
	margin: 80px 0 0;
	text-align: center;
}
.pagination .page-numbers {
	display: inline-flex;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}
.pagination .page-numbers li a,
.pagination .page-numbers li span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: auto;
	height: 42px;
	padding: 0;
	margin: 0;
	aspect-ratio: 1/1;
	border-radius: 50%;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 14px;
	line-height: 1;
	color: var(--main);
	background: #fff;
	transition: var(--ease);
}
.pagination .page-numbers .current {
	background: var(--main);
	color: #fff;
}
.pagination .page-numbers li a:hover {
	background: var(--main);
	color: #fff;
	transition: var(--ease);
}
.pagination .page-numbers li a.prev,
.pagination .page-numbers li a.next {
	width: 42px;
	height: 42px;
	aspect-ratio: 1/1;
}
.pagination .page-numbers .dots {
	width: auto;
	padding: 0 12px;
	border: none;
	background: transparent;
	color: #c8c8c8;
	font-weight: 500;
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.pagination .page-numbers {
		gap: 6px;
	}
	.pagination .page-numbers li a,
	.pagination .page-numbers li span {
		width: 36px;
		height: 36px;
		font-size: 13px;
	}
	.pagination .page-numbers li a.prev,
	.pagination .page-numbers li a.next {
		width: 36px;
		height: 36px;
		aspect-ratio: 1/1;
	}
}

/************************************************************/
/*　事業紹介
/************************************************************/
.pageNav {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 30px;
}
.pageNav > li {
	width: calc((100% - 60px) / 3);
	height: auto;
	aspect-ratio: 320 / 200;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	border-radius: 40px 0 40px 0;
	transition: var(--ease);
}
.pageNav > li:hover {
	filter: brightness(1.1);
	transition: var(--ease);
}
.pageNav > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.pageNav > li > img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) scale(1);
	transform-origin: center;
	object-fit: cover;
	z-index: -1;
	transition: var(--ease);
}
.pageNav > li:hover > img {
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
.pageNav > li > .text-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	line-height: 1;
	flex-direction: column;
	gap: 15px;
}
.pageNav > li > .text-wrap span.ja {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 18px + 0vw, 18px);
	font-weight: 500;
}
.pageNav > li > .text-wrap span.en {
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(12px, 12px + 0vw, 12px);
	font-weight: 400;
}
.pageNav > li > .icon {
	margin-top: 10px;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.pageNav {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.pageNav > li {
		width: 100%;
		border-radius: 40px 0 40px 0;
	}
	.pageNav > li > .text-wrap {
		gap: 15px;
	}
}

/************************************************************/
/*　事業紹介PV
/************************************************************/
#large-pv {
	width: 100%;
	height: calc(100vh + 100px);
	padding: 70px 0 100px 0;
	margin: 0;
	position: relative;
	z-index: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
}
#large-pv > figure {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#large-pv > figure::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: rgba(0,0,0,0.2);
}
#large-pv figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	filter: blur(15px);
	opacity: 0;
	transform: translate(-50%,-50%) scale(1.1);
	animation: revealImage 10s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
@keyframes revealImage {
	0% {
		filter: blur(15px);
		opacity: 0;
		transform: translate(-50%,-50%) scale(1.1);
	}
	20% {
		filter: blur(0);
	}
	100% {
		filter: blur(0);
		opacity: 1;
		transform: translate(-50%,-50%) scale(1);
	}
}
.large-pv-wrap {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 50px;
}
.large-pv-wrap::after {
	content: '';
	display: block;
	width: 200px;
	min-width: 200px;
}
#contents .large-pv-wrap > h1 {
	width: 200px;
	min-width: 200px;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	position: relative;
}
#contents .large-pv-wrap > h1 img {
	width: 100%;
	height: auto;
}
#contents .large-pv-wrap > header {
	width: fit-content;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 10px;
	align-items: center;
	justify-content: center;
}
#contents .large-pv-wrap > header > h2 {
	width: 100%;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	position: relative;
	font-family: "Noto Serif JP", serif;
	color: #fff;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .5em;
	text-indent: 0.5em;
	font-size: clamp(24px, 18.704px + 1.358vw, 35px);
	transition: color .4s ease;
	text-align: center;
	white-space: nowrap;
}
#contents .large-pv-wrap > header > span {
	display: block;
	font-weight: 400;
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(14px, 14px + 0vw, 14px);
	color: #fff;
	text-align: center;
	line-height: 1;
	white-space: nowrap;
	letter-spacing: .5em;
	text-indent: 0.5em;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#large-pv {
		width: 100%;
		height: 100vh;
		padding: 50px 15px;
	}
	.large-pv-wrap {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 50px;
	}
	.large-pv-wrap::after {
		content: '';
		display: none;
	}
	#contents .large-pv-wrap > h1 {
		width: 150px;
		min-width: 150px;
		margin: 0 auto;
	}
	#contents .large-pv-wrap > header {
		width: 100%;
		padding: 0;
		margin: 0;
		position: relative;
		display: flex;
		flex-direction: column;
		grid-row-gap: 10px;
		align-items: center;
		justify-content: center;
	}
	#contents .large-pv-wrap > header > h2 {
		font-size: clamp(24px, 18.704px + 1.358vw, 35px);
		text-align: center;
	}
	#contents .large-pv-wrap > header > span {
		font-size: clamp(14px, 14px + 0vw, 14px);
		text-align: center;
		letter-spacing: 0.2em;
	}
}

/************************************************************/
/*　事業紹介 ページアバウト
/************************************************************/
#biz_about {
	width: 100%;
	padding: 50px 50px;
	margin: 0;
	background: none;
	position: relative;
	z-index: 0;
	transform: translateY(-100px);
}
#biz_about.active::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #efefef;
	border-radius: 100px 0 100px 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	animation: bgfade 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
@keyframes bgfade {
	0% {
		opacity: 0;
		transform: translateX(100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0px);
	}
}
.biz_about_wrap {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 150px;
}
.biz_about_info {
	width: calc(100% - 150px - 270px);
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	justify-content: flex-start;
	column-gap: 50px;
	align-items: flex-start;
}
.biz_about_info > header {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	flex-direction: column-reverse;
	line-height: 1.7;
	z-index: 1;
	width: 200px;
	gap: 5px;
	padding: 10px 0 0;
	margin: 0;
}
#contents .biz_about_info > header > h2 {
	color: #403d3c;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(20px, 20px + 0vw, 20px);
	letter-spacing: .4em;
	background: none;
	border: none;
	border-radius: 0;
	position: relative;
	padding: 0;
	margin: 0;
}
.biz_about_info > header > span {
	color: #25504b;
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(14px, 14px + 0vw, 14px);
}
.biz_about_txt {
	padding: 0;
	margin: 0;
}
.biz_about_txt > p {
	padding: 0;
	margin: 0;
	line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
}
.biz_about_wrap > figure {
	width: 270px;
	min-width: 270px;
	height: auto;
	aspect-ratio: 27 / 36;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	text-align: center;
	border-radius: 40px 0 80px 0;
}
.biz_about_wrap > figure::before {
	content: "";
	display: block;
	padding-top: 133.33%;
}
.biz_about_wrap > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%,-50%);
	transform-origin: center;
	transition: var(--ease);
}
.biz_about_wrap > figure img:hover {
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#biz_about {
		width: 100%;
		padding: 50px 15px;
		transform: translateY(-50px);
	}
	#biz_about.active::after {
		border-radius: 50px 0 0 0;
	}
	@keyframes bgfade {
		0% {
			opacity: 0;
			transform: translateX(50px);
		}
		100% {
			opacity: 1;
			transform: translateX(0px);
		}
	}
	.biz_about_wrap {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.biz_about_info {
		width: 100%;
		column-gap: 0;
		flex-wrap: wrap;
	}
	.biz_about_info > header {
		flex-direction: column;
		writing-mode: unset;
		width: 100%;
		gap: 5px;
		padding: 0;
		margin: 0 auto 20px;
	}
	#contents .biz_about_info > header > h2 {
		font-size: clamp(20px, 20px + 0vw, 20px);
	}
	.biz_about_info > header > span {
		font-size: clamp(14px, 14px + 0vw, 14px);
	}
	.biz_about_txt {
		padding: 0;
		margin: 0;
	}
	.biz_about_wrap > figure {
		width: 100%;
		min-width: 100%;
		aspect-ratio: 4 / 3;
		border-radius: 40px 0 80px 0;
	}
	.biz_about_wrap > figure::before {
		content: "";
		display: block;
		padding-top: 75%;
	}
}


/*想い*/
#biz_vision {
	width: 100%;
	padding: 0 50px 100px;
	margin: 0;
	background: none;
	position: relative;
	z-index: 0;
}
.biz_vision_wrap {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	column-gap: 100px;
}
.biz_vision_info {
	width: calc(100% - 100px - 270px);
	padding: 0;
	margin: 0;
	position: relative;
	order: 1;
}
.biz_vision_info > header {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	z-index: 1;
	gap: 10px;
	padding: 0;
	margin: 0 auto 30px;
}
#contents .biz_vision_info > header > h2 {
	color: #403d3c;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(20px, 20px + 0vw, 20px);
	letter-spacing: .4em;
	background: none;
	border: none;
	border-radius: 0;
	position: relative;
	padding: 0;
	margin: 0;
}
.biz_vision_info > header > span {
	color: #25504b;
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(14px, 14px + 0vw, 14px);
}
.biz_vision_info > p {
	padding: 0;
	margin: 0;
	line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-family: "Noto Serif JP", serif;
	font-weight: 400;
}
.biz_vision_wrap > figure {
	width: 400px;
	min-width: 400px;
	height: auto;
	aspect-ratio: 4 / 3;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	text-align: center;
	border-radius: 50px 0 50px 0;
}
.biz_vision_wrap > figure::before {
	content: "";
	display: block;
	padding-top: 75%;
}
.biz_vision_wrap > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%,-50%);
	transform-origin: center;
	transition: var(--ease);
}
.biz_vision_wrap > figure img:hover {
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*想い*/
	#biz_vision {
		width: 100%;
		padding: 0 15px 50px;
	}
	.biz_vision_wrap {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.biz_vision_info {
		width: 100%;
		order: 0;
	}
	.biz_vision_info > header {
		margin: 0 auto 20px;
	}
	#contents .biz_vision_info > header > h2 {
		font-size: clamp(20px, 20px + 0vw, 20px);
	}
	.biz_vision_info > header > span {
		font-size: clamp(14px, 14px + 0vw, 14px);
	}
	.biz_vision_wrap > figure {
		width: 100%;
		min-width: 100%;
		border-radius: 50px 0 50px 0;
	}
}

/*リンク*/
#biz_link {
	width: 100%;
	padding: 50px 50px;
	margin: 0;
	background: none;
	position: relative;
	z-index: 0;
}
#biz_link.active::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(180,180,180,0.3);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	animation: bgfade2 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
@keyframes bgfade2 {
	0% {
		opacity: 0;
		transform: translateX(-100px);
	}
	100% {
		opacity: 1;
		transform: translateX(0px);
	}
}
.bizLink_list {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	column-gap: 30px;
}
.bizLink_list > li {
	width: calc((100% - 60px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 20px;
	animation: bgfade2 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
#contents .bizLink_list > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.bizLink_list > li > figure {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	text-align: center;
	border-radius: 50px 0 50px 0;
}
.bizLink_list > li > figure::before {
	content: "";
	display: block;
	padding-top: 75%;
}
.bizLink_list > li > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%,-50%);
	transform-origin: center;
	transition: var(--ease);
}
.bizLink_list > li:hover > figure img {
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
#contents .bizLink_list > li > h3 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 20px;
	color: #403d3c;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(20px, 20px + 0vw, 20px);
	letter-spacing: normal;
	background: none;
	border: none;
	border-radius: 0;
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0;
	transition: var(--ease);
}
#contents .bizLink_list > li > h3::before,
#contents .bizLink_list > li > h3::after {
	display: none;
}
#contents .bizLink_list > li:hover > h3 {
	opacity: 0.8;
	transition: var(--ease);
}
#contents .bizLink_list > li.shopdata {
	width: calc((100% - 60px) / 3);
	padding: 0;
	margin: 0 0 0 50px;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 30px;
	animation: bgfade2 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}
#contents .bizLink_list > li.shopdata > h4 {
	border: none;
	border-radius: 0;
	position: relative;
	width: 250px;
	min-width: 250px;
	padding: 0;
	margin: 0;
	transition: var(--ease);
	text-align: left;
}
#contents .bizLink_list > li.shopdata > h4::before,
#contents .bizLink_list > li.shopdata > h4::after {
	display: none;
}
#contents .bizLink_list > li.shopdata > p {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	color: #231815;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 18px + 0vw, 18px);
	letter-spacing: 0.1em;
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0;
	transition: var(--ease);
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*リンク*/
	#biz_link {
		width: 100%;
		padding: 50px 15px;
	}
	@keyframes bgfade2 {
		0% {
			opacity: 0;
			transform: translateX(-50px);
		}
		100% {
			opacity: 1;
			transform: translateX(0px);
		}
	}
	.bizLink_list {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.bizLink_list > li {
		width: 100%;
		grid-row-gap: 15px;
	}
	#contents .bizLink_list > li > h3 {
		column-gap: 15px;
		font-size: clamp(20px, 20px + 0vw, 20px);
	}
	#contents .bizLink_list > li.shopdata {
		width: 100%;
		padding: 0;
		margin: 0;
		grid-row-gap: 15px;
	}
	#contents .bizLink_list > li.shopdata > h4 {
		border: none;
		border-radius: 0;
		position: relative;
		width: 200px;
		min-width: 200px;
		padding: 0;
		margin: 0 auto;
		text-align: center;
	}
	#contents .bizLink_list > li.shopdata > p {
		text-align: center;
	}
}


/************************************************************/
/*　会社理念
/************************************************************/
#cp_sec {
	width: 100%;
	padding: 170px 0 100px;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 100px;
}
.cp_box {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 70px;
}
.cp_box dt {
	width: 300px;
	min-width: 300px;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	grid-row-gap: 30px;
}
.cp_box dt > em {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	font-weight: 400;
	line-height: 1.2em;
	font-style: normal;
}
.cp_box dt > em.large {
	font-size: 50px;
}
#contents .cp_box dt > h1,
#contents .cp_box dt > h2.jp {
	display: inline-block;
	padding: 10px;
	margin: 0;
	background: none;
	border: none;
	border-top: 1px solid rgba(0,0,0, 0.7);
	border-bottom: 1px solid rgba(0,0,0, 0.7);
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #000;
}
#contents .cp_box dt > h2 {
	display: inline-block;
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #000;
}
.cp_box dd {
	width: calc(100% - 70px - 300px);
	padding: 20px 0 0;
	margin: 0;
	position: relative;
}
#contents .cp_box dd > h2 {
	display: block;
	padding: 0;
	margin: 0 auto 15px;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #000;
}
#contents .cp_box dd > h3 {
	display: block;
	padding: 0;
	margin: 0 auto 30px;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #000;
}
#contents .cp_box dd > h3::before,
#contents .cp_box dd > h3::after {
	display: none;
}
.cp_box dd > p {
	width: 100%;
	padding: 0;
	margin: 0 auto 10px;
	line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
.cp_box dd > p:last-of-type {
	margin-bottom: 0;
}
/*ul.disc*/
ul.disc {
	display: flex;
	flex-direction: column;
	grid-row-gap: 0.7em;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
/*ページナビ*/
.companyNav {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 50px;
}
.companyNav > li {
	width: calc((100% - 100px) / 3);
	padding: 35px;
	margin: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	flex-direction: column;
	position: relative;
	overflow: hidden;
	transition: var(--ease);
	background: #efefef;
}
.companyNav > li:hover {
	background: #004f49;
	transition: var(--ease);
}
.companyNav > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.companyNav > li > .text-wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #fff;
	line-height: 1;
	flex-direction: column;
	gap: 15px;
}
.companyNav > li > .text-wrap span.ja {
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 18px + 0vw, 18px);
	font-weight: 500;
	color: #004f49;
}
.companyNav > li > .text-wrap span.en {
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(12px, 12px + 0vw, 12px);
	font-weight: 400;
	color: #004f49;
}
.companyNav > li > .icon {
	margin-top: 20px;
	border-color: #004f49;
}
.companyNav > li > .icon::after {
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_green.svg');
}
/* - ホバー・アクティブ */
.companyNav > li:hover,
.companyNav > li.active {
	background: #004f49;
	transition: var(--ease);
}
.companyNav > li:hover > .text-wrap span.en,
.companyNav > li:hover > .text-wrap span.ja,
.companyNav > li.active > .text-wrap span.en,
.companyNav > li.active > .text-wrap span.ja {
	color: #fff;
}
.companyNav > li:hover > .icon,
.companyNav > li.active > .icon {
	border-color: #fff;
}
.companyNav > li:hover > .icon::after,
.companyNav > li.active > .icon::after {
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_white.svg');
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#cp_sec {
		width: 100%;
		padding: 110px 15px 50px;
		grid-row-gap: 50px;
	}
	.cp_box {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.cp_box dt {
		width: 100%;
		min-width: 100%;
		grid-row-gap: 15px;
	}
	.cp_box dt > em {
		font-size: 25px;
	}
	.cp_box dt > em.large {
		font-size: 30px;
	}
	#contents .cp_box dt > h1 {
		font-size: 12px;
	}
	#contents .cp_box dt > h2 {
		font-size: 12px;
	}
	.cp_box dd {
		width: 100%;
		padding: 0;
	}
	#contents .cp_box dd > h2 {
		margin: 0 auto 15px;
		font-size: 5vw;
		line-height: 1.4em;
	}
	#contents .cp_box dd > h3 {
		margin: 0 auto 15px;
		font-size: 4vw;
		line-height: 1.4em;
	}

	/*ページナビ*/
	.companyNav {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 15px;
	}
	.companyNav > li {
		width: 100%;
		padding: 30px;
	}
	.companyNav > li > .text-wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		line-height: 1;
		flex-direction: column;
		gap: 15px;
	}
}


/************************************************************/
/*　会社概要
/************************************************************/

/*会社情報*/
.cp_about {
	width: 100%;
	padding: 0;
	margin: 0 auto 70px;
	display: flex;
	justify-content: flex-start;
	align-items: flex-end;
	column-gap: 70px;
}
.cp_about_left {
	width: fit-content;
	padding: 0;
	margin: 0;
	position: relative;
}
.cp_about_right {
	width: fit-content;
	padding: 0;
	margin: 0;
	position: relative;
}
#contents .cp_about_left > h2 {
	padding: 0;
	margin: 0 auto 10px;
	background: none;
	border: none;
	font-size: 30px;
	line-height: 1.4em;
	font-weight: 500;
	color: #000;
	text-align: left;
}
#contents .cp_about_left > h2 small {
	display: inline-block;
	margin-right: 10px;
}
#contents .cp_about_right > h3 {
	padding: 0;
	margin: 0 auto 10px;
	background: none;
	border: none;
	font-size: 17px;
	line-height: 1.4em;
	font-weight: 700;
	color: #000;
	text-align: left;
}
#contents .cp_about_right > h3::before,
#contents .cp_about_right > h3::after {
	display: none;
}
.cp_about_left > p,
.cp_about_right > p {
	padding: 0;
	margin: 0;
	position: relative;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*会社情報*/
	.cp_about {
		width: 100%;
		margin: 0 auto 30px;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
	}
	.cp_about_left {
		width: 100%;
	}
	.cp_about_right {
		width: 100%;
	}
	#contents .cp_about_left > h2 {
		padding: 0;
		margin: 0 auto 10px;
		font-size: 25px;
	}
	#contents .cp_about_right > h3 {
		margin: 0 auto 10px;
		font-size: 16px;
	}
}

/*オフィス*/
.officeList {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 40px;
	grid-row-gap: 60px;
}
.officeList > li {
	width: calc((100% - 80px) / 3);
	padding: 0 0 30px;
	margin: 0;
	background: none;
	position: relative;
}
#contents .officeList > li > h3 {
	padding: 0;
	margin: 0 auto 5px;
	background: none;
	border: none;
	font-size: 16px;
	line-height: 1.4em;
	font-weight: 700;
	color: #000;
	text-align: left;
}
#contents .officeList > li > h3::before,
#contents .officeList > li > h3::after {
	display: none;
}
.officeList > li > p {
	padding: 0;
	margin: 0;
	position: relative;
	font-size: 12px;
	font-weight: 400;
}
.officeList > li > a {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 5px 10px;;
	margin: 0;
	background: #004f49;
	position: absolute;
	bottom: 0;
	left: 0;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 12px;
	line-height: 1;
	font-weight: 400;
	color: #fff;
	text-decoration: none;
	transition: var(--ease);
}
.officeList > li > a:hover {
	filter: brightness(1.1);
	text-decoration: none;
	transition: var(--ease);
}
.officeList > li > a.none {
	background: #a5a5a5;
}
.officeList > li::before {
	content: '';
	display: block;
	width: 1px;
	height: 0;
	background: #004f49;
	position: absolute;
	top: 0;
	left: -20px;
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.officeList > li:hover::before {
	width: 1px;
	height: 100%;
	transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
/* - サブ */
.officeList.full {
	display: flex;
	flex-direction: column;
	grid-row-gap: 40px;
}
.officeList.full > li {
	width: 100%;
	padding: 0;
	margin: 0;
	background: none;
	position: relative;
	z-index: 0;
}
.officeList.full > li > p {
	font-size: 14px;
	font-weight: 400;
}
.officeList.full > li > a {
	left: unset;
	right: 0;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*オフィス*/
	.officeList {
		width: 100%;
		column-gap: 15px;
		grid-row-gap: 15px;
	}
	.officeList > li {
		width: calc((100% - 20px) / 2);
		padding: 15px;
		display: flex;
		flex-direction: column;
		grid-row-gap: 7px;
		background: #fafafa;
	}
	#contents .officeList > li > h3 {
		width: 100%;
		margin: 0 auto;
		font-size: 15px;
	}
	.officeList > li > p {
		padding: 0;
		margin: 0 auto;
		font-size: 12px;
	}
	.officeList > li > a {
		display: inline-flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 5px 10px;
		margin: auto auto 0;
		background: #004f49;
		position: relative;
		bottom: unset;
		left: unset;
		font-family: "Roboto Condensed", sans-serif;
		font-size: 12px;
		line-height: 1;
		font-weight: 400;
		color: #fff;
		text-decoration: none;
		transition: var(--ease);
	}
	.officeList > li::before {
		display: none;
	}
	/* - サブ */
	.officeList.full {
		display: flex;
		flex-direction: column;
		grid-row-gap: 15px;
	}
	.officeList.full > li {
		width: 100%;
		padding: 15px;
		margin: 0;
		background: #fafafa;
		position: relative;
		z-index: 0;
		display: flex;
		flex-direction: column;
		grid-row-gap: 7px;
	}
	.officeList.full > li > p {
		width: 100%;
		font-size: 12px;
		font-weight: 400;
	}
	.officeList.full > li > a {
		left: unset;
		right: unset;
	}
}

/*リンク*/
ul.links {
	width: 100%;
	padding: 0;
	margin: 0;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 50px;
	grid-row-gap: 30px;
}
ul.links > li {
	width: calc((100% - 50px) / 2);
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 15px;
}
ul.links > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
ul.links > li::before {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	min-width: 30px;
	background: none;
	border: 1px solid #004f49;
	border-radius: 50%;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_green.svg');
	background-position: center;
	background-size: 12px;
	background-repeat: no-repeat;
	transition: all 0.3s ease;
}
#contents ul.links > li > h3 {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	font-size: 16px;
	line-height: 1;
	font-weight: 400;
	color: #000;
	transition: all 0.3s ease;
}
#contents ul.links > li > h3::before,
#contents ul.links > li > h3::after {
	display: none;
}
/* - グループ会社*/
#contents ul.links.full > li {
	width: 100%;
}
#contents ul.links.full > li p {
	padding: 0;
	margin: 0 0 0 auto;
	font-size: 14px;
	line-height: 1.2em;
}
/* - hover */
ul.links > li:hover::before {
	background: #004f49;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_white.svg');
	background-position: center;
	background-size: 12px;
	background-repeat: no-repeat;
	transition: all 0.3s ease;
}
#contents ul.links > li:hover > h3 {
	text-decoration: underline;
	color: #004f49;
	transition: all 0.3s ease;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*リンク*/
	ul.links {
		width: 100%;
		column-gap: 0;
		grid-row-gap: 0;
	}
	ul.links > li {
		width: 100%;
		min-height: 30px;
		padding: 15px 0 15px 45px;
		column-gap: 10px;
		border-bottom: 1px solid #eee;
	}
	ul.links > li::before {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translate(0,-50%);
	}
	#contents ul.links > li > h3 {
		font-size: 15px;
	}
	/* - グループ会社*/
	#contents ul.links.full > li {
		width: 100%;
		display: flex;
		flex-direction: column;
		grid-row-gap: 5px;
	}
	#contents ul.links.full > li h3 {
		width: 100%;
	}
	#contents ul.links.full > li p {
		width: 100%;
		padding: 0;
		margin: 0;
		font-size: 12px;
		line-height: 1.2em;
	}
}


/************************************************************/
/*　会社沿革
/************************************************************/
#history_sec {
	width: 100%;
	padding: 0 0 100px;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 100px;
}
#cp_history {
	position: relative;
	width: 100%;
}
.history_bg {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 0;
	width: 100%;
	height: 100vh;
}
.history_image {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.history_image img {
	object-fit: cover;
	width: 100%;
	height: 100%;
	display: block;
}
.history_wrap {
	width: 100%;
	max-width: 1030px;
	margin: -100vh auto 0;
	padding: 170px 0 100px;
	position: relative;
	z-index: 5;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}
.history_wrap > header {
	width: 300px;
	min-width: 300px;
	position: sticky;
	top: 170px;
	z-index: 6;
	display: flex;
	flex-direction: column;
	grid-row-gap: 30px;
}
.history_wrap > header > em {
	display: block;
	width: 100%;
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.2em;
	font-style: normal;
	color: #fff;
	padding: 0px;
	margin: 0px;
}
#contents .history_wrap > header > h1 {
	display: inline-block;
	width: fit-content;
	padding: 10px;
	margin: 0;
	background: none;
	border: none;
	border-top: 1px solid rgba(255,255,255, 0.7);
	border-bottom: 1px solid rgba(255,255,255, 0.7);
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #fff;
}
/* - タイムライン */
.history_timeline {
	width: 500px;
	min-width: 500px;
	padding: 0;
	margin: 0 0 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	align-content: stretch;
	flex-wrap: wrap;
	column-gap: 20px;
	grid-row-gap: 20px;
}
.history_timeline dt {
	width: 100px;
	min-width: 100px;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-content: stretch;
	align-items: stretch;
	color: #fff;
	white-space: nowrap;
}
.history_timeline dt span {
	display: block;
	width: 50px;
	padding: 0 15px 0 0;
	margin: 0 15px 0 0;
	position: relative;
	height: 100%;
	border-right: 1px solid rgba(255,255,255,0.5);
}
.history_timeline dd {
	width: calc(100% - 20px - 100px);
	padding: 0;
	margin: 0;
	position: relative;
	color: #fff;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#history_sec {
		width: 100%;
		padding: 0 0 50px;
		grid-row-gap: 50px;
	}
	#cp_history {
		position: relative;
		width: 100%;
	}
	.history_bg {
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
		width: 100%;
		height: 100vh;
	}
	.history_image {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.history_image img {
		object-fit: cover;
		width: 100%;
		height: 100%;
		display: block;
	}
	.history_wrap {
		width: 100%;
		max-width: 100%;
		height: 100vh;
		margin: 0 auto;
		padding: 110px 15px 50px;
		position: relative;
		z-index: 5;
		flex-wrap: wrap;
		grid-row-gap: 30px;
		overflow-y: scroll;
	}
	.history_wrap > header {
		width: 100%;
		min-width: 100%;
		position: relative;
		top: unset;
		grid-row-gap: 15px;
	}
	.history_wrap > header > em {
		font-size: 30px;
	}
	#contents .history_wrap > header > h1 {
		font-size: 15px;
	}
	/* - タイムライン */
	.history_timeline {
		width: 100%;
		min-width: 100%;
		flex-wrap: wrap;
		column-gap: 15px;
		grid-row-gap: 15px;
	}
	.history_timeline dt {
		width: 80px;
		min-width: 80px;
	}
	.history_timeline dt span {
		display: block;
		width: 50px;
		min-width: 50px;
		padding: 0 15px 0 0;
		margin: 0 15px 0 0;
	}
	.history_timeline dd {
		width: calc(100% - 20px - 80px);
	}
	#history_sec .companyNav {
		width: calc(100% - 30px);
		margin: 0 auto;
	}
}

/************************************************************/
/*　動画
/************************************************************/
.movie_sec {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto 100px;
	position: relative;
}
.movie_sec:last-of-type {
	margin-bottom: 0;
}
#contents .movie-cat-ttl {
	width: 100%;
	padding: 0;
	margin: 0 auto 20px;
	line-height: 1.3;
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(18px, 16.074px + 0.4938vw, 25px);
	border: none;
	background: none;
	position: relative;
	text-align: left;
	text-transform: uppercase;
}
/*リスト*/
.movieList {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	column-gap: 30px;
	grid-row-gap: 50px;
	flex-wrap: wrap;
}
.movieList > li {
	width: calc((100% - 60px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
}
.movieList > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
.movieList > li > figure {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	padding: 0;
	margin: 0 auto 15px;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.movieList > li > figure::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.movieList > li > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%,-50%);
	transform-origin: center;
	transition: var(--ease);
}
.movieList > li:hover > figure img {
	opacity: 1 !important;
	filter: brightness(1) !important;
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
#contents .movieList > li .movieList_info {
	padding: 0;
	margin: 0;
	position: relative;
}
#contents .movieList > li h3 {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 10px;
	padding: 0;
	margin: 0 auto 5px;
	background: none;
	border: none;
	font-family: "Noto Serif JP", serif;
	font-size: 16px;
	line-height: 1;
	font-weight: 400;
	color: #000;
	transition: all 0.3s ease;
}
#contents .movieList > li h3::before,
#contents .movieList > li h3::after {
	display: none;
}
#contents .movieList > li h3::before {
	content: '';
	display: block;
	width: 30px;
	height: 30px;
	min-width: 30px;
	background: none;
	border: 1px solid #004f49;
	border-radius: 50%;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_green.svg');
	background-position: center;
	background-size: 12px;
	background-repeat: no-repeat;
	transition: all 0.3s ease;
}
#contents .movieList > li:hover h3::before {
	background: #004f49;
	border: 1px solid #004f49;
	border-radius: 50%;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_white.svg');
	background-position: center;
	background-size: 12px;
	background-repeat: no-repeat;
	transition: all 0.3s ease;
}
#contents .movieList > li p {
	width: 100%;
	padding: 0 0 0 40px;
	margin: 0;
	text-align: left;
	font-family: "Noto Serif JP", serif;
	font-size: 12px;
	line-height: 1.4em;
	font-weight: 400;
	color: #000;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.movie_sec {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 50px;
	}
	#contents .movie-cat-ttl {
		margin: 0 auto 5px;
		font-size: clamp(18px, 16.074px + 0.4938vw, 25px);
	}
	/*リスト*/
	.movieList {
		width: 100%;
		max-width: 100%;
		column-gap: 15px;
		grid-row-gap: 0;
	}
	.movieList > li {
		width: 100%;
		display: flex;
		flex-direction: unset;
		justify-content: flex-start;
		align-items: center;
		column-gap: 15px;
		padding: 15px 0;
		border-bottom: 1px solid #eee;
	}
	.movieList > li > figure {
		width: 100px;
		min-width: 100px;
		margin: 0;
	}
	#contents .movieList > li .movieList_info {
		width: calc(100% - 15px - 100px);
	}
	#contents .movieList > li h3 {
		column-gap: 10px;
		margin: 0 auto;
		font-size: 15px;
		line-height: 1.4em;
	}
	#contents .movieList > li h3::before {
		width: 20px;
		height: 20px;
		min-width: 20px;
		background-size: 8px;
	}
	#contents .movieList > li:hover h3::before {
		background-size: 8px;
	}
	#contents .movieList > li p {
		width: 100%;
		padding: 0;
		margin: 5px auto 0;
		font-size: 12px;
	}
}

/*lightbox*/
.movieList li{
	transition:.4s;
}

.movieList li.playing figure img{
	filter:grayscale(100%);
}

/* 動画表示エリア */
.moviePlayer{
	width:100%;
	max-width:1030px;
	margin:0 auto 60px;
	/* スクロール位置の上余白 */
	scroll-margin-top:50px;
}
.moviePlayer_inner{
	aspect-ratio:16/9;
	background:#000;
}
.moviePlayer_video,
.moviePlayer_video iframe{
	width:100%;
	height:100%;
}

/* 再生中サムネイル */
.movieList li.playing img {
	filter:grayscale(100%);
}
.movieList img {
	transition:.4s;
}
/*メッセージ*/
.moviePlayer_video{
	width:100%;
	height:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#000;
}
.moviePlayer_message{
	color:#fff;
	font-size:18px;
	letter-spacing:.1em;
}
.moviePlayer_video iframe{
	width:100%;
	height:100%;
	display:block;
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.movieList li::before {
		content: '動画再生中';
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100vw;
		height: 100%;
		background: rgba(0,0,0,0.7);
		font-size: 15px;
		line-height: 1;
		font-weight: 500;
		color: #fff;
		text-align: center;
		position: absolute;
		top: 0;
		left: 50%;
		z-index: -1;
		opacity: 0;
		transform: translate(-50%,0);
		transition: var(--ease);
	}
	.movieList li.playing::before {
		z-index: 2;
		opacity: 1;
		transition: var(--ease);
	}
}

/************************************************************/
/*　写真
/************************************************************/
.photo_sec {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto 100px;
	position: relative;
}
.photo_sec:last-of-type {
	margin-bottom: 0;
}
#contents .photo-cat-ttl {
	width: 100%;
	padding: 0;
	margin: 0 auto 20px;
	line-height: 1.3;
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(18px, 16.074px + 0.4938vw, 25px);
	border: none;
	background: none;
	position: relative;
	text-align: left;
	text-transform: uppercase;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#contents .photo-cat-ttl > span {
	display: inline-block;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 15px;
	line-height: 1;
}
/*リスト*/
.photoList {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	column-gap: 10px;
	grid-row-gap: 10px;
	flex-wrap: wrap;
}
.photoList > li {
	width: calc((100% - 20px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
	height: auto;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	z-index: 0;
}
.photoList > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
.photoList > li > figure {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
	overflow: hidden;
	text-align: center;
	z-index: -1;
}
.photoList > li > figure::before {
	content: "";
	display: block;
	padding-top: 56.25%;
}
.photoList > li > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	object-fit: cover;
	transform: translate(-50%,-50%);
	transform-origin: center;
	transition: var(--ease);
}
.photoList > li:hover > figure img {
	opacity: 1 !important;
	filter: brightness(1) !important;
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
.photoList_info {
	width: 100%;
	padding: 15px;
	margin: 0;
	height: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	column-gap: 15px;
	background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}
#contents .photoList_info > h3 {
	width: calc(100% - 100px);
	padding: 0;
	margin: 0;
	position: relative;
	border: none;
	background: none;
	
	font-weight: 400;
	font-size: clamp(12px, 13.519px + 0.1235vw, 14px);
	color: #fff;
	line-height: 1.4em;
	text-align: left;
}
.photoList_info > span {
	display: block;
	width: 85px;
	min-width: 85px;
	font-size: 10px;
	line-height: 1;
	font-family: "Roboto Condensed", sans-serif;
	font-weight: 400;
	color: #fff;
	white-space: nowrap;
	margin-bottom: 3px;
	text-align: right;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.photo_sec {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 50px;
	}
	#contents .photo-cat-ttl {
		width: 100%;
		padding: 0;
		margin: 0 auto 15px;
		font-size: clamp(18px, 16.074px + 0.4938vw, 25px);
	}
	#contents .photo-cat-ttl > span {
		font-size: 12px;
	}
	/*リスト*/
	.photoList {
		width: 100%;
		max-width: 100%;
		column-gap: 0;
		grid-row-gap: 15px;
		flex-wrap: wrap;
	}
	.photoList > li {
		width: 100%;
	}
	.photoList_info {
		width: 100%;
		padding: 15px;
		margin: 0;
		height: auto;
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		column-gap: 15px;
		background-image: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.8) 100%);
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 2;
	}
	#contents .photoList_info > h3 {
		width: calc(100% - 100px);
		padding: 0;
		margin: 0;
		position: relative;
		border: none;
		background: none;

		font-weight: 400;
		font-size: clamp(12px, 13.519px + 0.1235vw, 14px);
		color: #fff;
		line-height: 1.4em;
		text-align: left;
	}
	.photoList_info > span {
		display: block;
		width: 85px;
		min-width: 85px;
		font-size: 10px;
		line-height: 1;
		font-family: "Roboto Condensed", sans-serif;
		font-weight: 400;
		color: #fff;
		white-space: nowrap;
		margin-bottom: 3px;
		text-align: right;
	}
}

.pv-swiper, 
.swiper-wrapper {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.slide-img {
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.swiper-slide h3 {
	width: 100%;
	max-width: 1030px;
	padding: 30px 0 30px 0;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1;
	font-weight: 400;
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 170px;
	z-index: 10;
}
/*矢印*/
.swiper-button-prev,
.swiper-button-next {
	color: #fff;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	border: none;
	border-top: 2px solid #fff;
	border-left: 2px solid #fff;
	background: none;
	top: 50%;
	left: 30px;
	transform: translate(0,-50%) rotate(-45deg);
}
.swiper-button-next {
	color: #fff;
	padding: 0;
	margin: 0;
	width: 40px;
	height: 40px;
	border: none;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	background: none;
	top: 50%;
	left: unset;
	right: 30px;
	transform: translate(0,-50%) rotate(45deg);
}
.swiper-button-prev:after,
.swiper-button-next:after {
	display: none;
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.swiper-slide h3 {
		width: 100%;
		max-width: 100%;
		padding: 15px;
		margin: 0 auto;
		font-size: 14px;
		line-height: 1;
		font-weight: 400;
		color: #fff;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 10;
	}
	/*矢印*/
	.swiper-button-prev,
	.swiper-button-next {
		color: #fff;
		padding: 0;
		margin: 0;
		width: 20px;
		height: 20px;
		border: none;
		border-top: 2px solid #fff;
		border-left: 2px solid #fff;
		background: none;
		top: 50%;
		left: 20px;
		transform: translate(0,-50%) rotate(-45deg);
	}
	.swiper-button-next {
		color: #fff;
		padding: 0;
		margin: 0;
		width: 20px;
		height: 20px;
		border: none;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		background: none;
		top: 50%;
		left: unset;
		right: 20px;
		transform: translate(0,-50%) rotate(45deg);
	}
}

/************************************************************/
/*　お知らせ
/************************************************************/
.news-list.sub {
	max-width: 1080px;
	margin: 0 auto;
	padding: 0 50px;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.news-list.sub {
		max-width: 100%;
		margin: 0 auto;
		padding: 0;
	}
}

/************************************************************/
/*　記事詳細
/************************************************************/
.articleBody h1.articleHeader__title {
	width: 100%;
	padding: 0;
	margin: 0 auto 1em;
	font-size: 2.2vw;
}

/*ヘッダー*/
.articleHeader {
	padding: 0 0 50px;
	margin: 0 auto 50px;
	position: relative;
	border-bottom: 1px solid #eee;
}

/*公開・更新日時*/
.articleHeader__info {
	margin: 0.8rem auto 1rem;
}

/*カスタムポスト・タクソノミー・カテゴリ・タグ*/
.post-taxonomy {
	width: 100%;
	padding: 0;
	margin: auto auto 0;
	position: relative;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 8px;
}
.post-taxonomy > span {
	display: inline-block;
	width: fit-content;
	padding: 0;
	margin: 0;
	position: relative;
}
.post-taxonomy > span a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 5px 10px;
	background: var(--main);
	font-size: 10px;
	line-height: 1;
	color: #fff;
	white-space: nowrap;
	text-decoration: none;
	overflow: hidden;
	position: relative;
	transition: color 0.3s ease;
	z-index: 0;
}
.post-taxonomy > span a::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--act);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
	z-index: -1;
}
.post-taxonomy > span a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}
.post-taxonomy > span a span,
.post-taxonomy > span a * {
	position: relative;
	z-index: 1;
	transition: color 0.3s ease;
}
.post-taxonomy > span a:hover {
	color: #fff;
}
.post-taxonomy > span a:not(:hover)::before {
	transform-origin: right;
	transform: scaleX(0);
}

/*サムネイル*/
.post-thumbnail img {
	border-radius: 0;
}

/*目次*/
.toc_block .toc > ol > li:not(.previous):has(> a) > a::before {
	content: "\f105";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	color: var(--point-color);
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
}
.toc_block .toc > ol > li > ol > li:has(> a) > a::before {
	content: "";
	display: block;
	position: absolute;
	top: calc(1em - 2px);
	left: 0;
	width: 6px;
	height: 6px;
	background-color: var(--point-color);
	border-radius: 50%;
}

/*監修者*/
.articleFooter__author .caption {
	border-radius: 0;
}
.articleFooter__author .uqAuthor {
	border-radius: 0;
}

/*関連記事*/
#contents .articleFooter {
	margin-top: 70px;
}
#contents .ttl {
	width: 100%;
	padding: 10px 15px;
	margin: 0 auto 30px;
	background: var(--main);
	border: none;
	border-radius: 0;
	font-size: 16px;
	line-height: 1;
	color: #fff;
	text-align: left;
}
/* - リスト*/
.relationList {
	width: 100%;
	max-width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	column-gap: 30px;
	grid-row-gap: 50px;
}
.relationList > li {
	width: calc((100% - 60px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 15px;
}
.relationList > li.none {
	width: 100%;
	text-align: center;
	justify-content: center;
	align-items: center;
}
.relationList > li > figure {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.relationList > li > figure::before {
	content: '';
	display: block;
	padding-top: 65%;
}
.relationList > li > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
	transform-origin: center;
	transition: var(--ease);
}
.relationList > li > figure:hover img {
	filter: brightness(1.05);
	transform: translate(-50%,-50%) scale(1.05);
	transform-origin: center;
	transition: var(--ease);
}
#contents .relationList > li > h3 {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	border: none;
	background: none;
	position: relative;
	font-size: 13px;
	line-height: 1.5em;
	color: var(--text);
	font-weight: 500;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}
#contents .relationList > li > h3::before,
#contents .relationList > li > h3::after {
	display: none;
}
#contents .relationList > li > h3 a {
	font-size: 13px;
	line-height: 1.5em;
	color: var(--text);
	font-weight: 500;
	text-decoration: none;
	transition: var(--ease);
}
#contents .relationList > li > h3 a:hover {
	color: var(--main);
	transition: var(--ease);
}

/*前後の記事*/
.articlePager a:hover {
	background: none;
	box-shadow: none;
	color: var(--main);
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*タイトル*/
	#contents .articleHeader__title {
		margin: 0 auto 1em;
		font-size: 5vw;
	}
	/*ヘッダー*/
	.articleHeader {
		padding: 0 0 30px;
		margin: 0 auto 30px;
	}
	#contents .toc_block {
		margin: 30px auto;
	}

	/*関連記事*/
	#contents .ttl {
		width: 100%;
		padding: 10px 15px;
		margin: 0 auto 1.5em;
		background: var(--main);
		border: none;
		border-radius: 0;
		font-size: 16px;
		line-height: 1;
		color: #fff;
		text-align: left;
	}
	/* - リスト*/
	.relationList {
		column-gap: 20px;
		grid-row-gap: 30px;
	}
	.relationList > li {
		width: calc((100% - 20px) / 2);
		grid-row-gap: 10px;
	}
	#contents .relationList > li > h3 {
		font-size: 12px;
		line-height: 1.5em;
	}
	#contents .relationList > li > h3 a {
		font-size: 12px;
		line-height: 1.5em;
	}
}



/************************************************************/
/*　写真　詳細
/************************************************************/

/*ギャラリー*/
.photo-gallery {
	width: 100%;
	padding-left: 70px;
}
.photo-main-slider {
	height: calc(100vh - 100px);
}
.photo-main-slider .swiper-slide {
	display: flex;
	justify-content: center;
	align-items: center;
	background: #000;
	overflow: hidden;
}
.photo-main-slider .swiper-slide img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}

/* 縦長画像 */
.photo-main-slider .swiper-slide img.is-portrait {
	width: auto;
	height: 100%;
	object-fit: contain;
}

/*サムネイル*/
.photo-thumb-slider {
	width: 100%;
	padding: 10px;
	margin: 0;
	background: #111;
	height: 100px;
}
.photo-thumb-slider .swiper-wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
}
.photo-thumb-slider .swiper-slide {
	width: 70px !important;
	height: auto;
	min-width: 70px;
	aspect-ratio: 15 / 10;
	cursor: pointer;
	opacity: 0.5;
	transition: var(--ease);
	overflow: hidden;
	text-align: center;
	position: relative;
}
.photo-thumb-slider .swiper-slide-thumb-active {
	opacity: 1;
}
.photo-thumb-slider .swiper-slide img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*ギャラリー*/
	.photo-gallery {
		width: 100%;
		padding-left: 0;
		margin-top: 60px;
	}
	.photo-main-slider {
		height: auto;
		aspect-ratio: 15 / 10;
	}
	.photo-main-slider .swiper-slide {
		display: flex;
		justify-content: center;
		align-items: center;
		background: #000;
		overflow: hidden;
	}

	/*サムネイル*/
	.photo-thumb-slider {
		width: 100%;
		padding: 15px;
		margin: 0;
		background: #111;
		height: auto;
	}
	.photo-thumb-slider .swiper-wrapper {
		width: 100%;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 5px;
	}
	.photo-thumb-slider .swiper-slide {
		width: calc((100% - 20px) / 5) !important;
		height: auto;
		min-width: calc((100% - 20px) / 5);
	}
}




/************************************************************/
/*　ブログ
/************************************************************/
#blog-archive {
	width: 100%;
	max-width: 1260px;
	padding: 0 70px;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: flex-start;
	column-gap: 50px;
	align-items: flex-start;
}
/*コンテンツ*/
.blog-archive-content {
	width: 100%;
	max-width: 820px;
	padding: 0;
	margin: 0;
	position: relative;
}
/*リスト*/
.blogList {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	list-style: none;
	display: flex;
	flex-direction: column;
	grid-row-gap: 100px;
}
.blogList > li {
	width: 100%;
	padding: 50px 0 0;
	margin: 0 auto;
	position: relative;
	border-top: 1px solid #ccc;
}
.blogList > li > figure {
	width: 100%;
	padding: 0;
	margin: 0 auto 50px;
	position: relative;
}
.blogList > li > figure img {
	width: 1100%;
	height: auto;
}
#contents .blogList > li > h3 {
	width: 100%;
	padding: 0;
	margin: 0 auto 20px;
	position: relative;
	border: none;
	background: none;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-size: 20px;
	line-height: 1.7em;
	font-weight: 700;
	color: var(--text);
}
.blogList_content > p {
	padding: 0;
	margin: 0 auto 1.5em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-weight: 400;
	line-height: 2;
}
.blogList > li .date {
	display: block;
	width: 100%;
	padding: 15px;
	margin: 50px auto 0;
	background: #fafafa;
	font-size: 11px;
	line-height: 1;
	text-align: right;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
}

/*サイドバー*/
.blog-side {
	width: 250px;
	min-width: 250px;
	padding: 0;
	margin: 0;
	position: relative;
}
.sidebarBlock > h3 {
	width: 100%;
	padding: 12px;
	margin: 0 auto;
	position: relative;
	background: #25504b;
	font-size: 12px;
	line-height: 1;
	color: #fff;
	text-align: left;
}
.sidebarBlock > ul {
	width: 100%;
	padding: 0;
	margin: 0 auto 30px;
	position: relative;
	list-style: none;
	display: flex;
	flex-direction: column;
}
.sidebarBlock > ul > li {
	padding: 0;
	margin: 0;
	position: relative;
	border-bottom: 1px dashed #eee;
}
.sidebarBlock > ul > li > a {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 10px;
	width: 100%;
	padding: 10px;
	margin: 0;
	position: relative;
	font-size: 11px;
	line-height: 1.4em;
	font-weight: 400;
	text-align: left;
	color: var(--text);
}

/*詳細*/
.single-blog .content > p {
	padding: 0;
	margin: 0 auto 1.5em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-weight: 400;
	line-height: 2;
}

/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#blog-archive {
		width: 100%;
		max-width: 100%;
		padding: 0 15px;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
		align-items: flex-start;
	}
	/*コンテンツ*/
	.blog-archive-content {
		width: 100%;
		max-width: 100%;
	}
	/*リスト*/
	.blogList {
		width: 100%;
		grid-row-gap: 50px;
	}
	.blogList > li {
		width: 100%;
		padding: 20px 0 0;
	}
	.blogList > li > figure {
		width: 100%;
		padding: 0;
		margin: 0 auto 20px;
		position: relative;
	}
	.blogList > li > figure img {
		width: 1100%;
		height: auto;
	}
	#contents .blogList > li > h3 {
		width: 100%;
		margin: 0 auto 10px;
		font-size: 16px;
		line-height: 1.7em;
	}
	.blogList_content > p {
		padding: 0;
		margin: 0 auto 1em;
	}
	.blogList > li .date {
		display: block;
		width: 100%;
		padding: 12px 15px;
		margin: 50px auto 0;
		background: #fafafa;
		font-size: 11px;
	}

	/*サイドバー*/
	.blog-side {
		width: 100%;
		min-width: 100%;
		order: 1;
	}
	.sidebarBlock > h3 {
		width: 100%;
		padding: 10px;
		font-size: 12px;
	}
	.sidebarBlock > ul {
		width: 100%;
		padding: 0;
		margin: 0 auto 20px;
	}
	.sidebarBlock > ul > li > a {
		column-gap: 10px;
		width: 100%;
		padding: 10px;
		position: relative;
		font-size: 11px;
	}

	/*詳細*/
	.single-blog .content > p {
		padding: 0;
		margin: 0 auto 1em;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
		font-weight: 400;
		line-height: 2;
	}
}



/************************************************************/
/*　採用情報
/************************************************************/
#recruit {
	width: 100%;
	padding: 70px 0 0;
	margin: 0 auto;
	position: relative;
}

/*ヘッダー*/
#rec_header {
	width: 100%;
	min-width: 1200px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
}
.rec_header_info {
	width: calc(100% - 500px);
	max-width: 700px;
	padding: 100px 50px;
	margin: 0 auto;
	position: relative;
}
.rec_header_info > header {
	width: 100%;
	padding: 0;
	margin: 0 0 30px;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	grid-row-gap: 30px;
	opacity: 0;
	animation: fadeIn 2s ease forwards;
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.rec_header_info > header > em {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.2em;
	font-style: normal;
}
#contents .rec_header_info > header > h1 {
	display: inline-block;
	padding: 10px;
	margin: 0;
	background: none;
	border: none;
	border-top: 1px solid rgba(0, 0, 0, 0.7);
	border-bottom: 1px solid rgba(0, 0, 0, 0.7);
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #000;
}
#rec_header > figure {
	width: 500px;
	min-width: 500px;
	height: 725px;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
}
#rec_header > figure .img-wrap {
	display: flex;
	flex-direction: column;
}
#rec_header > figure img {
	display: block;
	width: 100%;
}
#contents .rec_header_info > h2 {
	display: block;
	padding: 0;
	margin: 0 auto 30px;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #000;
}
.rec_header_info > p {
	width: 100%;
	padding: 0;
	margin: 0 auto 10px;
	line-height: 2em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-weight: 400;
	font-family: "Noto Serif JP", serif;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#recruit {
		width: 100%;
		padding: 60px 0 0;
	}

	/*ヘッダー*/
	#rec_header {
		width: 100%;
		min-width: 100%;
		flex-wrap: wrap;
	}
	.rec_header_info {
		width: 100%;
		max-width: 100%;
		padding: 50px 15px;
		order: 1;
	}
	.rec_header_info > header {
		width: 100%;
		margin: 0 0 25px;
		grid-row-gap: 15px;
		opacity: 0;
	}
	.rec_header_info > header > em {
		font-size: 30px;
	}
	#contents .rec_header_info > header > h1 {
		padding: 10px;
		font-size: 12px;
	}
	#rec_header > figure {
		width: 100%;
		min-width: 100%;
		height: auto;
		aspect-ratio: 100 / 65;
	}
	#rec_header > figure .img-wrap {
		display: flex;
		flex-direction: column;
	}
	#rec_header > figure img {
		display: block;
		width: 100%;
	}
	#contents .rec_header_info > h2 {
		margin: 0 auto 25px;
		font-size: 5vw;
	}
	.rec_header_info > p {
		margin: 0 auto 10px;
	}
}

/*価値*/
#rec_value {
	width: 100%;
	padding: 100px;
	margin: 0 auto;
	position: relative;
	background: #efefef;
	z-index: 0;
}
#rec_value::before {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background-image: url('https://misaki-jp.org/wp-content/uploads/rec_value_bg.webp');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	border-radius: 0 100px 0 100px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
	z-index: -2;
}
#rec_value::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	background: #004f49;
	border-radius: 0 100px 0 100px;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0.65;
	z-index: -1;
}
.rec_value_wrap {
	width: 100%;
	max-width: 1100px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: center;
	align-content: flex-start;
	align-items: flex-start;
	column-gap: 50px;
}
.rec_value_wrap > header {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	flex-direction: column-reverse;
	line-height: 1.7;
	z-index: 1;
	width: 200px;
	gap: 5px;
	padding: 10px 0 0;
	margin: 0;
}
#contents .rec_value_wrap > header > h2 {
	color: #403d3c;
	font-weight: 500;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(20px, 20px + 0vw, 20px);
	letter-spacing: .4em;
	background: none;
	border: none;
	border-radius: 0;
	position: relative;
	padding: 0;
	margin: 0;
	color: #fff;
}
.rec_value_wrap > header > span {
	color: #fff;
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	font-size: clamp(14px, 14px + 0vw, 14px);
}
.rec_value_box {
	width: 100%;
	padding: 0;
	margin: 0;
	display: flex;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	column-gap: 70px;
}
.rec_value_box > dl {
	width: calc((100% - 100px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
}
.rec_value_box > dl > dt {
	padding: 0;
	margin: 0 auto 30px;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 15px;
}
#contents .rec_value_box > dl > dt > h3 {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.4em;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #fff;
}
#contents .rec_value_box > dl > dt > h3::before,
#contents .rec_value_box > dl > dt > h3::after {
	display: none;
}
.rec_value_box > dl > dt > em {
	color: #c9caca;
	font-weight: 700;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(14px, 14px + 0vw, 14px);
	font-style: normal;
	line-height: 1.4em;
	height: 2.4em;
}
.rec_value_box > dl > dd {
	padding: 0;
	margin: 0;
	position: relative;
}
.rec_value_box > dl > dd > p {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	line-height: 1.7em;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	font-weight: 600;
	font-family: "Noto Serif JP", serif;
	color: #fff;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*価値*/
	#rec_value {
		width: 100%;
		padding: 50px 15px;
		margin: 0 auto;
		position: relative;
		background: none;
		background-image: linear-gradient(to bottom, #fff 0%, #fff 50%, #efefef 50%, #efefef 100%);
		z-index: 0;
	}
	#rec_value::before {
		background-image: url('https://misaki-jp.org/wp-content/uploads/rec_value_bg.webp');
		border-radius: 0 50px 0 50px;
	}
	#rec_value::after {
		border-radius: 0 50px 0 50px;
	}
	.rec_value_wrap {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 20px;
	}
	.rec_value_wrap > header {
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		writing-mode: horizontal-tb;
		text-orientation: mixed; 
		line-height: 1.7;
		z-index: 1;
		width: 100%;
		gap: 5px;
		padding: 0;
		margin: 0;
	}
	#contents .rec_value_wrap > header > h2 {
		color: #fff;
		font-weight: 500;
		font-family: "Noto Serif JP", serif;
		font-size: clamp(20px, 20px + 0vw, 20px);
		letter-spacing: .4em;
		background: none;
		border: none;
		border-radius: 0;
		position: relative;
		padding: 0;
		margin: 0;
	}
	.rec_value_wrap > header > span {
		color: #fff;
		font-weight: 500;
		font-family: "Roboto Condensed", sans-serif;
		font-size: clamp(14px, 14px + 0vw, 14px);
	}
	.rec_value_box {
		width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 30px;
		padding: 0 15px;
	}
	.rec_value_box > dl {
		width: 100%;
		padding: 0 0 30px;
		border-bottom: 1px solid rgba(255,255,255,0.5);
	}
	.rec_value_box > dl > dt {
		padding: 0;
		margin: 0 auto 15px;
		grid-row-gap: 10px;
	}
	#contents .rec_value_box > dl > dt > h3 {
		display: block;
		width: 100%;
		font-size: 20px;
	}
	#contents .rec_value_box > dl > dt > h3 br {
		display: none;
	}
	.rec_value_box > dl > dt > em {
		font-size: clamp(14px, 14px + 0vw, 14px);
		height: auto;
	}
	.rec_value_box > dl > dd > p {
		line-height: 1.7em;
		color: #fff;
	}
}

/*スライダー*/
#rec_slider {
	width: 100%;
	padding: 100px 0;
	margin: 0 auto;
	background: #efefef;
	position: relative;
}
.recttl {
	width: 100%;
	padding: 0 50px;
	margin: 0 auto 50px;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 10px;
	align-items: flex-start;
	transition: all 2s ease;
	opacity: 0;
}
.recttl.active {
	transition: all 2s ease;
	opacity: 1;
}
.recttl > span {
	color: var(--main);
	font-weight: 700;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(14px, 14px + 0vw, 14px);
	font-style: normal;
	line-height: 1;
	display: block;
	width: 100%;
	text-align: left;
}
#contents .recttl > h2 {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0 auto;
	background: none;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 25px;
	font-weight: 600;
	line-height: 1.4em;
	font-style: normal;
	letter-spacing: 0.2em;
	color: var(--text);
	text-align: left;
}

.banner-slider {
	width: 100%;
}
.banner-slider .swiper-wrapper {
	align-items: center;
	position: relative;
	top: unset;
	left: unset;
}
.banner-slider .swiper-slide {
	width: 600px;
	height: auto;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	aspect-ratio: 1150 / 580;
	transition: var(--ease);
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}
.banner-slider .swiper-slide:hover {
	opacity: 0.8;
	transition: var(--ease);
}
.banner-slider .swiper-slide::before {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 1px solid #727171;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_gray.svg');
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 2;
}
.banner-slider .swiper-slide > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
}
#contents .banner-slider .swiper-slide > h3 {
	width: fit-content;
	padding: 0;
	margin: 0;
	position: absolute;
	bottom: 15px;
	left: 15px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
	grid-row-gap: 5px;
	background: none;
	border: none;
}
#contents .banner-slider .swiper-slide > h3::before,
#contents .banner-slider .swiper-slide > h3::after {
	display: none;
}
#contents .banner-slider .swiper-slide > h3 span {
	display: inline-block;
	width: fit-content;
	padding: 5px 10px;
	margin: 0;
	background: #fff;
	border: none;
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	font-style: normal;
	color: var(--text);
	text-align: left;
}
.banner-slider .swiper-slide img {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}
/* ナビゲーション */
#rec_slider .slider-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 50px;
}
/* Swiper標準ボタンをそのまま使う */
#rec_slider .swiper-button-prev,
#rec_slider .swiper-button-next {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	margin: 0;
	aspect-ratio: 1/1;
	top: unset;
	left: unset;
	right: unset;
	bottom: unset;
	border-radius: 50%;
	border: 1px solid #727171;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_gray.svg');
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	z-index: 2;
	outline: none;
	transform: unset;
}
#rec_slider .swiper-button-prev {
	transform: scale(-1,1);
}
#rec_slider .swiper-pagination {
	position: static;
	width: fit-content;
}
#rec_slider .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	margin: 0 4px !important;
	background: #727171;
	outline: none;
}
#rec_slider .swiper-pagination-bullet-active {
	background: var(--main);
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*スライダー*/
	#rec_slider {
		width: 100%;
		padding: 50px 15px;
	}
	.recttl {
		padding: 0;
		margin: 0 auto 20px;
		grid-row-gap: 10px;
	}
	.recttl > span {
		font-size: clamp(14px, 14px + 0vw, 14px);
	}
	#contents .recttl > h2 {
		font-size: 20px;
	}

	.banner-slider {
		width: 100%;
	}
	.banner-slider .swiper-wrapper {
		align-items: center;
		position: relative;
		top: unset;
		left: unset;
	}
	.banner-slider .swiper-slide {
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0;
		position: relative;
		overflow: hidden;
		flex-shrink: 0;
		aspect-ratio: 16 / 9;
		transition: var(--ease);
	}
	.banner-slider .swiper-slide::before {
		width: 20px;
		height: 20px;
		top: 15px;
		right: 15px;
		z-index: 2;
	}
	#contents .banner-slider .swiper-slide > h3 {
		position: absolute;
		bottom: 15px;
		left: 15px;
		z-index: 3;
		grid-row-gap: 5px;
		background: none;
		border: none;
	}
	#contents .banner-slider .swiper-slide > h3 span {
		display: inline-block;
		width: fit-content;
		padding: 5px 10px;
		font-size: 18px;
	}
	/* ナビゲーション */
	#rec_slider .slider-nav {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 20px;
		margin-top: 20px;
	}
	
	/* Swiper標準ボタンをそのまま使う */
	#rec_slider .swiper-button-next {
		transform: unset;
	}
}

/*募集職種*/
#rec_job {
	width: 100%;
	padding: 100px 0;
	margin: 0 auto;
	position: relative;
}
.rec_job_wrap {
	width: 100%;
	max-width: 1100px;
	padding: 0;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 70px;
}
.rec_job_wrap > header {
	width: calc(100% - 70px - 700px);
	padding: 0;
	margin: 0;
	position: relative;
}
.jobEntry_list {
	width: 700px;
	max-width: 700px;
	padding: 0;
	margin: 0;
	position: relative;
	list-style: none;
	display: flex;
	flex-direction: column;
	grid-row-gap: 15px;
	border-top: 1px solid #dcdcdc;
}
.jobEntry_list > li {
	width: 100%;
	padding: 35px;
	margin: 0;
	position: relative;
	background: #efefef;
	border-bottom: 1px solid #dcdcdc;
	transition: var(--ease);
}
.jobEntry_list > li::before {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 1px solid #727171;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_gray.svg');
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	top: 50%;
	right: 35px;
	transform: translate(0,-50%);
	z-index: 2;
	transition: var(--ease);
}
.jobEntry_list > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
#contents .jobEntry_list > li > h3 {
	width: 100%;
	padding: 0;
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(24px, 24px + 0vw, 24px);
	font-weight: 500;
	color: #004f49;
	text-align: left;
	border: none;
	background: none;
	transition: var(--ease);
}
#contents .jobEntry_list > li > h3::before,
#contents .jobEntry_list > li > h3::after {
	display: none;
}
.jobEntry_list > li:hover {
	background: var(--main);
	transition: var(--ease);
}
.jobEntry_list > li:hover::before {
	border: 1px solid #fff;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_white.svg');
	z-index: 2;
}
#contents .jobEntry_list > li:hover > h3 {
	color: #fff;
	transition: var(--ease);
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*募集職種*/
	#rec_job {
		width: 100%;
		padding: 50px 15px;
	}
	.rec_job_wrap {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 20px;
	}
	.rec_job_wrap > header {
		width: 100%;
	}
	.jobEntry_list {
		width: 100%;
		max-width: 100%;
		grid-row-gap: 15px;
	}
	.jobEntry_list > li {
		width: 100%;
		padding: 20px;
	}
	.jobEntry_list > li::before {
		width: 20px;
		height: 20px;
		top: 50%;
		right: 20px;
	}
	#contents .jobEntry_list > li > h3 {
		font-size: 15px;
	}
}

/*リンク*/
#rec_cp_link {
	width: 100%;
	padding: 100px 0;
	margin: 0 auto;
}
#rec_cp_link .companyNav {
	max-width: 1100px;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*リンク*/
	#rec_cp_link {
		width: 100%;
		padding: 0 15px 50px;
		margin: 0 auto;
	}
	#rec_cp_link .companyNav {
		max-width: 100%;
	}
}

/*お問い合わせ*/
#rec_contact {
	width: 100%;
	padding: 100px 0;
	margin: 0 auto;
	position: relative;
	background: var(--main);
}
.rec_contact_wrap {
	width: 100%;
	max-width: 1100px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 70px;
}
.rec_contact_wrap > header {
	width: 250px;
	min-width: 250px;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	grid-row-gap: 30px;
}
.rec_contact_wrap > header > em {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-size: 50px;
	font-weight: 400;
	line-height: 1.2em;
	font-style: normal;
	color: #fff;
}
#contents .rec_contact_wrap > header > h2 {
	display: inline-block;
	padding: 10px;
	margin: 0;
	background: none;
	border: none;
	border-top: 1px solid rgba(255,255,255, 0.7);
	border-bottom: 1px solid rgba(255,255,255, 0.7);
	border-radius: 0;
	font-family: "Noto Serif JP", serif;
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
	font-style: normal;
	letter-spacing: 0.2em;
	color: #fff;
}
.rec_contact_list {
	width: calc(100% - 70px - 250px);
	padding: 0;
	margin: 0;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	column-gap: 50px;
}
.rec_contact_list > li {
	width: calc((100% - 100px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 10px;
	transition: var(--ease);
}
.rec_contact_list > li:hover {
	opacity: 0.8;
	transition: var(--ease);
}
#contents .rec_contact_list > li > h3 {
	width: 100%;
	padding: 10px 5px;
	margin: 0 auto;
	position: relative;
	border: none;
	background: none;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	column-gap: 5px;
	font-weight: 500;
	font-family: "Roboto Condensed", sans-serif;
	font-size: 15px;
	line-height: 1;
	color: #fff;
	border-top: 1px solid #fff;
}
#contents .rec_contact_list > li > h3::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	background: #fff;
	border-radius: 50%;
	position: relative;
	top: unset;
	bottom: unset;
	left: unset;
	right: unset;
}
.rec_contact_list > li > p {
	width: 100%;
	padding: 0 5px;
	margin: 0;
	font-family: "Noto Serif JP", serif;
	font-size: clamp(18px, 18px + 0vw, 18px);
	font-weight: 500;
	color: #fff;
}
.rec_contact_list > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
.rec_contact_list > li::after {
	content: '';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	border: 1px solid #fff;
	background-image: url('https://misaki-jp.org/wp-content/uploads/arrow_right_white.svg');
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	padding: 0;
	margin: auto 0 0 auto;
	z-index: 2;
	transition: var(--ease);
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*お問い合わせ*/
	#rec_contact {
		width: 100%;
		padding: 50px 15px;
	}
	.rec_contact_wrap {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		column-gap: 25px;
	}
	.rec_contact_wrap > header {
		width: 100%;
		min-width: 100%;
		grid-row-gap: 15px;
		margin: 0 auto 25px;
	}
	.rec_contact_wrap > header > em {
		font-size: 30px;
	}
	#contents .rec_contact_wrap > header > h2 {
		font-size: 12px;
	}
	.rec_contact_list {
		width: 100%;
		flex-wrap: wrap;
		column-gap: 0;
		grid-row-gap: 0;
	}
	.rec_contact_list > li {
		width: 100%;
		grid-row-gap: 5px;
		transition: var(--ease);
	}
	#contents .rec_contact_list > li > h3 {
		width: 100%;
		padding: 20px 10px 0;
		column-gap: 5px;
		font-size: 15px;
	}
	#contents .rec_contact_list > li > h3::before {
		content: '';
		display: block;
		width: 12px;
		height: 12px;
		background: #fff;
		border-radius: 50%;
		position: relative;
		top: unset;
		bottom: unset;
		left: unset;
		right: unset;
	}
	.rec_contact_list > li > p {
		width: 100%;
		padding: 0 10px 10px;
	}
	.rec_contact_list > li > p br {
		display: none;
	}
	.rec_contact_list > li::after {
		width: 20px;
		height: 20px;
		position: absolute;
		top: 50%;
		right: 5px;
		transform: translate(0,-50%);
	}
}




/************************************************************/
/*　ウェブマガジン
/************************************************************/
.magazineList {
	width: 100%;
	max-width: 1200px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	list-style: none;
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 100px;
}
.magazineList > li {
	width: calc((100%  - 100px) / 2);
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 30px;
}
.magazineList > li > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}
.magazineList > li > figure {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
	text-align: center;
}
.magazineList > li > figure::before {
	content: '';
	display: block;
	padding-top: 56.25%;
}
.magazineList > li > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}
.magazineList_info {
	width: 100%;
	max-height: 250px;
	padding: 0 20px;
	margin: 0 auto;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 25px;
	align-items: flex-start;
	writing-mode: vertical-rl;
	text-orientation: mixed;
}
.magazineList_info .cat {
	font-size: 14px;
	line-height: 1;
	color: #000;
	font-weight: 400;
	order: 1;
}
.magazineList_info .title {
	font-size: 32px;
	line-height: 1.2em;
	color: #000;
	font-weight: 400;
	order: 2;
}
.magazineList_info .name {
	font-size: 18px;
	line-height: 1.2em;
	color: #000;
	font-weight: 400;
	order: 3;
}
.magazineList_info .text {
	font-size: 14px;
	line-height: 2em;
	color: #000;
	font-weight: 400;
	order: 4;
	writing-mode: vertical-rl;
	text-align: justify;
	text-justify: inter-character;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.magazineList {
		width: 100%;
		max-width: 100%;
		gap: 50px;
	}
	.magazineList > li {
		width: 100%;
		grid-row-gap: 20px;
	}
	.magazineList > li > figure {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		position: relative;
		overflow: hidden;
		text-align: center;
	}
	.magazineList > li > figure::before {
		content: '';
		display: block;
		padding-top: 56.25%;
	}
	.magazineList > li > figure img {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		object-fit: cover;
	}
	.magazineList_info {
		width: 100%;
		max-height: unset;
		padding: 0 15px;
		display: flex;
		flex-direction: column;
		gap: 12px;
		align-items: flex-start;
		writing-mode: unset;
		text-orientation: unset;
	}
	.magazineList_info .cat {
		font-size: 12px;
		line-height: 1;
		color: #000;
		font-weight: 400;
		order: 1;
	}
	.magazineList_info .title {
		font-size: 25px;
		line-height: 1.2em;
		color: #000;
		font-weight: 400;
		order: 2;
	}
	.magazineList_info .name {
		font-size: 16px;
		line-height: 1.2em;
		color: #000;
		font-weight: 400;
		order: 3;
	}
	.magazineList_info .text {
		font-size: 12px;
		line-height: 1.7em;
		color: #000;
		font-weight: 400;
		order: 4;
		writing-mode: unset;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
}

/*記事詳細*/
.singel-meta {
	width: 100%;
	padding: 50px 0;
	margin: 0 auto 100px;
	position: relative;
	border-top: 1px solid rgb(220, 220, 220);
	border-bottom: 1px solid rgb(220, 220, 220);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 20px;
	grid-row-gap: 20px;
}
.singel-meta .cat {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	font-size: 14px;
	line-height: 1;
	color: #000;
	text-align: left;
}
#contents .singel-meta > h2 {
	width: calc(60% - 10px);
	padding: 0;
	margin: 0 auto;
	font-size: 32px;
	line-height: 1.2em;
	color: #000;
	font-weight: 400;
	text-align: left;
	border: none;
	background: none;
	position: relative;
}
#contents .singel-meta > h2 br {
	display: none;
}
#contents .singel-meta > h3 {
	width: calc(40% - 10px);
	padding: 0;
	margin: 0 auto;
	font-size: 18px;
	line-height: 1.2em;
	color: #000;
	font-weight: 400;
	text-align: right;
	border: none;
	background: none;
	position: relative;
}
#contents .singel-meta > h2::before,
#contents .singel-meta > h2::after,
#contents .singel-meta > h3::before,
#contents .singel-meta > h3::after {
	display: none;
}
#contents .singel-meta > p {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	line-height: 2;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*記事詳細*/
	.singel-meta {
		width: 100%;
		padding: 30px 15px;
		margin: 0 auto 50px;
		column-gap: 0;
		grid-row-gap: 12px;
	}
	.singel-meta .cat {
		font-size: 12px;
	}
	#contents .singel-meta > h2 {
		width: 100%;
		font-size: 25px;
		line-height: 1.2em;
	}
	#contents .singel-meta > h3 {
		width: 100%;
		font-size: 16px;
		text-align: left;
	}
	#contents .singel-meta > p {
		font-size: 12px;
		line-height: 1.7em;
	}
}

/* =====お問い合わせフォーム ===== */
.misaki-form {
  max-width: 900px;
  margin: 0 auto;
  padding: 30px 24px;
  font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;
  color: #333;
  line-height: 1.7;
}

/* 各行 */
.misaki-form .form-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  margin: 0 0 18px;
  padding-bottom: 18px;
  border-bottom: 1px solid #eee;
}

/* ラベル */
.misaki-form label {
  flex: 0 0 300px;
  font-weight: 600;
  font-size: 15px;
  padding-top: 10px;
}

/* 必須マーク */
.misaki-form label.req::after {
  content: "必須";
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  color: #fff;
  background: #2c504b;
  border-radius: 3px;
  vertical-align: middle;
}

/* 入力欄 */
.misaki-form input[type="text"],
.misaki-form input[type="email"],
.misaki-form input[type="tel"],
.misaki-form select,
.misaki-form textarea {
  flex: 1 1 260px;
  width: 100%;
  padding: 10px 12px;
  font-size: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #fafafa;
  box-sizing: border-box;
  transition: border-color .2s, background .2s;
}

.misaki-form input:focus,
.misaki-form select:focus,
.misaki-form textarea:focus {
  outline: none;
  border-color: #2c504b;
  background: #fff;
  box-shadow: 0 0 0 3px rgba(44, 80, 75, .15);
}

.misaki-form select {
	width: fit-content;
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 5px;
	background: #fafafa;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	cursor: pointer;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px;
	padding-right: 40px;
}
.misaki-form select:focus {
	outline: none;
	border-color: #999;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 12px;
}

.misaki-form textarea {
  min-height: 140px;
  resize: vertical;
}

/* 住所ブロック */
.misaki-form .address-block {
  flex: 1 1 260px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

/* 注意書き */
.misaki-form .form-note {
  margin: 6px 0;
  font-size: 13px;
  color: #666;
}
.misaki-form .form-note:first-of-type {
  margin-top: 24px;
}

/* ボタン */
.misaki-form .form-actions {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 30px;
}
.misaki-form input[type="submit"],
.misaki-form .misaki-reset {
  min-width: 160px;
  padding: 14px 32px;
  font-size: 16px;
  font-weight: 600;
  border: none;
  border-radius: 50px;
  cursor: pointer;
  transition: transform .1s, opacity .2s;
}
.misaki-form input[type="submit"] {
  color: #fff;
  background: #2c504b;
}
.misaki-form input[type="submit"]:hover {
  opacity: .88;
}
.misaki-form .misaki-reset {
  color: #666;
  background: #e8e8e8;
}
.misaki-form .misaki-reset:hover {
  background: #ddd;
}
.misaki-form input[type="submit"]:active,
.misaki-form .misaki-reset:active {
  transform: translateY(1px);
}

/* CF7エラー表示 */
.misaki-form .wpcf7-not-valid-tip {
  flex-basis: 100%;
  margin-top: 4px;
  font-size: 13px;
  color: #c0392b;
}
.misaki-form .wpcf7-response-output {
  margin: 20px 0 0;
  padding: 14px 18px;
  border-radius: 5px;
  font-size: 14px;
}

.wpcf7-spinner {
	display: none;
}

/* スマホ対応 */
@media (max-width: 600px) {
  .misaki-form { padding: 20px 16px; }
  .misaki-form .form-row { flex-direction: column; }
  .misaki-form label {
    flex: none;
    width: 100%;
    padding: 0 0 8px;
  }
  .misaki-form .form-actions { flex-direction: column-reverse; }
  .misaki-form input[type="submit"],
  .misaki-form .misaki-reset { width: 100%; }
  .misaki-form .address-block {
	flex: unset;
  }
}

/*thanks*/
.content_box {
	width: 100%;
	max-width: 1030px;
	padding: 0;
	margin: 0 auto;
	position: relative;
}
#contents .content_box > h2 {
	width: 100%;
	padding: 0;
	margin: 0 auto 30px;
	position: relative;
	border: none;
	background: none;
	font-size: 18px;
	line-height: 1.4em;
	font-weight: 600;
	text-align: left;
	color: var(--text);
}
.content_box > p {
	padding: 0;
	margin: 0 auto 10px;
}
.content_box > p a {
	color: var(--main);
	text-decoration: underline;
}
.content_box > p a:hover {
	color: var(--main);
	text-decoration: none;
	filter: brightness(1.1);
}



/************************************************************/
/*　マガジン　詳細
/************************************************************/

#mgzn_header {
	width: 100%;
	max-width: 1000px;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	column-gap: 50px;
	flex-direction: row-reverse;
}
#mgzn_header > figure {
	width: 55%;
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	text-align: center;
}
#mgzn_header > figure::before {
	content: '';
	display: block;
	padding-top: 65%;
}
#mgzn_header > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}
.mgzn_header_info {
	width: calc(45% - 50px);
	padding: 0;
	margin: 0;
	position: relative;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	display: flex;
	flex-direction: row;
	flex-direction: column;
	gap: 30px;
	justify-content: flex-start;
	align-items: flex-start;
}
#contents .mgzn_header_info > h2 {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	position: relative;
	font-size: 32px;
	line-height: 1.4em;
	color: #000;
	font-weight: 400;
	border-radius: 0;
}
#contents .mgzn_header_info > .name {
	font-size: 18px;
	line-height: 1.4em;
	color: #000;
	font-weight: 400;
	margin: 0 0 0 10px;
}
#contents .mgzn_header_info > .copy {
	font-size: 20px;
	line-height: 1.7em;
	color: #000;
	font-weight: 400;
}
#contents .mgzn_header_info > .editor {
	font-size: 15px;
	line-height: 1.4em;
	color: #000;
	font-weight: 400;
	margin: 0 auto 0 0;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	#mgzn_header {
		width: 100%;
		max-width: 100%;
		flex-wrap: wrap;
		gap: 20px;
		flex-direction: unset;
	}
	#mgzn_header > figure {
		width: 100%;
	}
	.mgzn_header_info {
		width: 100%;
		padding: 0;
		margin: 0;
		position: relative;
		writing-mode: unset;
		text-orientation: unset;
		display: flex;
		flex-direction: unset;
		gap: 15px;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		order: 1;
	}
	#contents .mgzn_header_info > h2 {
		width: 100%;
		font-size: 25px;
		line-height: 1.2em;
	}
	#contents .mgzn_header_info > .name {
		width: 100%;
		font-size: 16px;
		line-height: 1.2em;
		margin: 0;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
	#contents .mgzn_header_info > .copy {
		width: 100%;
		font-size: 14px;
		line-height: 1.7em;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
	#contents .mgzn_header_info > .editor {
		width: 100%;
		font-size: 12px;
		line-height: 1.2em;
		margin: 0;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
}

/*編集*/
.mgzn_note {
	width: 100%;
	max-width: 1000px;
	max-height: 400px;
	padding: 50px 50px 100px;
	margin: 0 auto 100px;
	position: relative;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	display: flex;
	flex-direction: row;
	flex-direction: column;
	gap: 30px;
	justify-content: flex-end;
	align-items: flex-start;
	border-bottom: 1px solid var(--text);
}
.mgzn_note.after {
	width: 100%;
	max-width: 1000px;
	max-height: 400px;
	padding: 50px 50px 0;
	margin: 0 auto 100px;
	position: relative;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	display: flex;
	flex-direction: row;
	flex-direction: column;
	gap: 30px;
	justify-content: flex-start;
	align-items: flex-start;
	border-bottom: none;
}
#contents .mgzn_note > h2 {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	position: relative;
	font-size: 20px;
	line-height: 1.4em;
	color: #000;
	font-weight: 400;
	border-radius: 0;
}
#contents .mgzn_note > p {
	font-size: 15px;
	line-height: 1.7em;
	color: #000;
	font-weight: 400;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*編集*/
	.mgzn_note {
		width: 100%;
		max-width: 100%;
		max-height: 100%;
		padding: 40px 0 40px;
		margin: 0 auto 40px;
		position: relative;
		writing-mode: unset;
		text-orientation: unset;
		display: flex;
		flex-direction: unset;
		flex-direction: unset;
		gap: 15px;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		border-bottom: 1px solid var(--text);
	}
	.mgzn_note.after {
		width: 100%;
		max-width: 100%;
		max-height: 100%;
		padding: 0;
		margin: 0 auto;
		position: relative;
		writing-mode: unset;
		text-orientation: unset;
		display: flex;
		flex-direction: unset;
		gap: 15px;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
		border-bottom: none;
	}
	#contents .mgzn_note > h2 {
		width: fit-content;
		padding: 0;
		margin: 0;
		border: none;
		background: #e5e5e5;
		border-radius: 0;
		font-size: 18px;
		line-height: 1;
		display: inline-block;
	}
	#contents .mgzn_note > p {
		width: 100%;
		font-size: 14px;
		line-height: 1.7em;
		text-align: justify;
		text-justify: inter-ideograph;
		word-break: break-all;
	}
}

/*セクション*/
.mgzn_sec {
	width: 100%;
	max-width: 1000px;
	padding: 0;
	margin: 0 auto 100px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	column-gap: 50px;
	flex-direction: row-reverse;
}
.mgzn_sec.rev {
	flex-direction: unset;
}
.mgzn_sec > figure {
	width: calc((100% - 50px) / 2);
	padding: 0;
	margin: 0;
	position: relative;
	overflow: hidden;
	text-align: center;
	aspect-ratio: 100 / 65;
}
.mgzn_sec > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}
.mgzn_sec_info {
	width: calc((100% - 50px) / 2);
	aspect-ratio: 100 / 65;
	padding: 0;
	margin: 0;
	position: relative;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	display: flex;
	flex-direction: row;
	flex-direction: column;
	gap: 30px;
	justify-content: flex-start;
	align-items: flex-start;
}
#contents .mgzn_sec_info > p.chapter {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	position: relative;
	font-size: 20px;
	line-height: 1.4em;
	color: #000;
	font-weight: 400;
}
#contents .mgzn_sec_info > h2 {
	padding: 0;
	margin: 0;
	background: none;
	border: none;
	position: relative;
	font-size: 20px;
	line-height: 1.4em;
	color: #000;
	font-weight: 400;
}
#contents .mgzn_sec_info > p.txt {
	font-size: 15px;
	line-height: 1.7em;
	color: #000;
	font-weight: 400;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*セクション*/
	.mgzn_sec {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 50px;
		gap: 15px;
		flex-direction: unset;
		flex-wrap: wrap;
	}
	.mgzn_sec.rev {
		flex-direction: unset;
	}
	.mgzn_sec > figure {
		width: 100%;
	}
	.mgzn_sec_info {
		width: 100%;
		aspect-ratio: unset;
		writing-mode: unset;
		text-orientation: unset;
		display: flex;
		flex-direction: unset;
		gap: 15px;
		justify-content: flex-start;
		align-items: flex-start;
		flex-wrap: wrap;
	}
	#contents .mgzn_sec_info > p.chapter {
		width: 100%;
		font-size: 18px;
	}
	#contents .mgzn_sec_info > h2 {
		width: 100%;
		font-size: 20px;
	}
	#contents .mgzn_sec_info > p.txt {
		width: 100%;
		font-size: 14px;
		line-height: 1.7em;
	}
}

/*ギャラリー*/
#mgzn_gallery {
	width: 100%;
	max-width: 1000px;
	padding: 0;
	margin: 0 auto 100px;
	position: relative;
}
.mgzn_gallery_wrap {
	width: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: center;
	gap: 1px;
}
.mgzn_gallery_wrap > figure {
	width: calc((100% - 2px) / 3);
	padding: 0;
	margin: 0;
	position: relative;
}
.mgzn_gallery_wrap > figure.main {
	aspect-ratio: 1/1;
}
.mgzn_gallery_wrap > figure.main::befofe {
	content: '';
	display: block;
	padding: 50%;
}
.mgzn_gallery_wrap > figure img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	object-fit: cover;
}
.mgzn_gallery_wrap > figure.sub {
	display: flex;
	flex-direction: column;
	grid-row-gap: 1px;
}
.mgzn_gallery_wrap > figure.sub > span {
	display: block;
	width: 100%;
	height: calc((100% - 1px) / 2);
	position: relative;
	overflow: hidden;
	text-align: center;
}
/* - 情報 */
.mgzn_gallery_info {
	width: 100%;
	padding: 30px;
	margin: 0 auto;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	column-gap: 30px;
}
.mgzn_gallery_info > header {
	width: 400px;
	min-width: 400px;
	padding: 0;
	margin: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	grid-row-gap: 10px;
}
#contents .mgzn_gallery_info > header > h2 {
	width: 100%;
	height: 60px;
	padding: 0;
	margin: 0;
	position: relative;
	border: none;
	background: none;
}
#contents .mgzn_gallery_info > header > h2 img {
	display: block;
	width: auto;
	height: 60px;
}
#contents .mgzn_gallery_info > header > p {
	padding: 0;
	margin: 0;
	text-align: left;
}
#contents .mgzn_gallery_info > header > p a {
	text-decoration: underline;
	color: var(--main);
}
#contents .mgzn_gallery_info > header > p a:hover {
	text-decoration: none;
}
.mgzn_gallery_name {
	width: calc(100% - 30px - 400px);
	padding: 0 0 0 120px;
	margin: 0;
	position: relative;
	list-style: decimal;
	display: flex;
	flex-direction: column;
	grid-row-gap: 5px;
}
.mgzn_gallery_name::before {
	content: '';
	display: block;
	width: 80px;
	height: auto;
	aspect-ratio: 116 / 49;
	background-image: url('https://misaki-jp.org/wp-content/uploads/mgzn_gallery_img.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.mgzn_gallery_name > li {
	padding: 0;
	margin: 0;
	position: relative;
	font-size: 12px;
	letter-spacing: normal;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	/*ギャラリー*/
	#mgzn_gallery {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 50px;
	}
	.mgzn_gallery_wrap {
		width: 100%;
		padding: 0;
		margin: 0 auto;
		position: relative;
		display: flex;
		justify-content: center;
		gap: 1px;
	}
	.mgzn_gallery_wrap > figure {
		width: calc((100% - 2px) / 3);
		padding: 0;
		margin: 0;
		position: relative;
	}
	.mgzn_gallery_wrap > figure.main {
		aspect-ratio: 1/1;
	}
	.mgzn_gallery_wrap > figure.main::befofe {
		content: '';
		display: block;
		padding: 50%;
	}
	.mgzn_gallery_wrap > figure img {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		object-fit: cover;
	}
	.mgzn_gallery_wrap > figure.sub {
		display: flex;
		flex-direction: column;
		grid-row-gap: 1px;
	}
	.mgzn_gallery_wrap > figure.sub > span {
		display: block;
		width: 100%;
		height: calc((100% - 1px) / 2);
		position: relative;
		overflow: hidden;
		text-align: center;
	}
	/* - 情報 */
	.mgzn_gallery_info {
		width: 100%;
		padding: 20px 0;
		flex-wrap: wrap;
		gap: 20px;
	}
	.mgzn_gallery_info > header {
		width: 100%;
		min-width: 100%;
	}
	.mgzn_gallery_name {
		width: 100%;
		padding: 0 0 0 120px;
	}
	.mgzn_gallery_name::before {
		content: '';
		display: block;
		width: 80px;
		height: auto;
		aspect-ratio: 116 / 49;
		background-image: url('https://misaki-jp.org/wp-content/uploads/mgzn_gallery_img.svg');
		background-position: center;
		background-repeat: no-repeat;
		background-size: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	.mgzn_gallery_name > li {
		padding: 0;
		margin: 0;
		position: relative;
		font-size: 12px;
	}
}



/************************************************************/
/*　お問い合わせ
/************************************************************/
.contact_info {
	width: 100%;
	max-width: 900px;
	padding: 0;
	margin: 0 auto 100px;
	position: relative;
}
#contents .contact_info > h2 {
	width: 100%;
	padding: 0;
	margin: 0 auto 30px;
	position: relative;
	border: none;
	background: none;
	font-family: "Noto Serif JP", serif;
	font-size: 30px;
	line-height: 1.7em;
	font-weight: 400;
	color: var(--text);
	text-align: left;
}
#contents .contact_info > p {
	width: 100%;
	font-family: "Noto Serif JP", serif;
	font-size: 18px;
	line-height: 2em;
	font-weight: 400;
	color: var(--text);
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
	padding: 0;
	margin: 0 auto 10px;
}
#contents .contact_info > p b {
	width: 100%;
	font-family: "Noto Serif JP", serif;
	font-size: 1.4em;
	line-height: 2em;
	font-weight: 400;
	color: var(--text);
	text-align: justify;
	text-justify: inter-ideograph;
	word-break: break-all;
}
/*== スマホ・タブレット対応 ==*/
@media only screen and (max-width: 768px){
	.contact_info {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 20px;
	}
	#contents .contact_info > h2 {
		margin: 0 auto 15px;
		font-size: 5vw;
	}
	#contents .contact_info > p {
		font-size: 14px;
	}
}

.alphalink {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
}

.alphalink a {
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	line-height: 0;
}

.alphalink img {
	display: block;
	width: 120px;
	height: 25px;
	margin: 0;
	padding: 0;
}