@charset "UTF-8";

:root {
  --font-color: #000;
}

html {
	scroll-behavior: smooth;
}

body {
	position: relative;
	font-family: "Roboto","Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-style: normal;
	-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}

/* WP用：管理バーの高さ調整 */
body.admin-bar header {
	top: 32px !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar header {
		top: 46px !important;
	}
}

/* reCAPTCHAバッジ用 */
.grecaptcha-badge {
    z-index: 98;
}
/**/

/* アンカーリンクのスクロール位置調整 */
h2[id],
li[id] {
	/* ヘッダー 70px + 余白 30px = 100px */
    scroll-margin-top: 100px;
}
/**/

body.navi-open {
	overflow: hidden;
}

@media screen and (min-width:1081px) {
	body.navi-open {
		overflow: auto;
	}
}

.mincho {
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 500;
	font-style: normal;
}

p {
	line-height: 1.9;
}

ul {
	margin: 0;
	padding: 0;
}

ul li {
	list-style: none;
}

img {
	transition: transform .5s ease;
}

h1 {
	font-size: 23px;
	margin-bottom: 30px;
	letter-spacing: 0.05em;
}

h1.size-l {
	font-size: min(4vw, 40px);
}

#top h1 {
	margin-bottom: 0;
}

.short h1 {
	margin-bottom: 0;
	font-size: 24px;
}

h2 {
	font-size: 28px;
	margin-bottom: 40px;
}


h3 {
	margin-bottom: 10px;
	font-size: min(2.2vw, 22px);
	line-height: 1.5;
}

h3 span {
	font-size: 20px;
}

a {
	text-decoration: none;
}

a:hover {
	opacity: 0.65;
}

@media screen and (max-width:1200px) {
	h1.size-l {
		font-size: 36px;
	}
}

@media screen and (max-width:980px) {
	h1.size-l {
		font-size: min(6.8vw, 34px);
	}
}

@media screen and (min-width:780px) {
	.sp {
		display: none;
	}
}

@media screen and (max-width:780px) {
	.pc {
		display: none;
	}

	h1 {
		font-size: 24px;
	}

	h1.siza-l {
		font-size: 28px;
	}

	.short h1 {
		margin-bottom: 40px;
	}

	h2 {
		text-align: center;
		font-size: 32px;
		line-height: 1.5;
	}

	h3 {
		margin-bottom: 20px;
		font-size: min(5.2vw, 26px);
		text-align: center;
	}
}

@media screen and (max-width:680px) {
	h2 {
		font-size: 28px;
	}
}

@media screen and (max-width:680px) {
	h2 span:after,
	span.break:after {
		content:' \A';
		white-space: pre;
	}
}


/*///////////////////////////////*/
/*// ヘッダー、グローバルナビ　//*/
header {
	width: 100%;
	height: 70px;
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba( 255, 255, 255, 0.9 );
	z-index: 100;
}

.header-container {
	width: 90%;
	max-width: 1500px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header img {
	height: 30px;
}

header nav ul {
	display: flex;
	gap: 30px;
}

header nav ul li {
	margin-top: 5px;
	font-size: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

header nav ul li a {
	display: block;
	height: 60px;
	display: flex;
	align-items: center;
}

header nav ul li a:hover {
	opacity: 1;
}

header nav ul li:last-child a:hover {
	opacity: 0.65;
}

header nav ul li ul.sub-menu li:last-child a:hover {
	opacity: 1;
}

header nav ul li::after {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	display: block;
	width: calc(100% + 20px);
	height: 4px;
	margin: 0 0 -4px -5px;
	background: #4165A5;
	border-radius: 10px 10px 0 0;
	transform: scale(0, 1);
	transform-origin: center top;
	transition:  0.3s;
}

header nav ul li:hover::after {
	transform: scale(1, 1);
}

header nav ul li:nth-child(5):before {
	content: '';
	display: block;
	width: 14px;
	height: 14px;
	margin-right: 6px;
	background: url(../img/link_b.svg) left top no-repeat;
	background-size: 14px;
}

header nav ul li:nth-child(5):after {
	background: #AC1334;
}

header nav ul li:last-child::after {
	display: none;
}

header nav ul li:last-child a {
	width: 150px;
	height: 40px;
	padding: 0.5em;
	color: #fff;
	justify-content: center;
	background: #4165A5;
	border-radius: 30px;
}

header nav ul li ul.sub-menu {
	display: none;
	gap: 0;
	width: 300px;
	margin-left: -5px;
	padding: 0 20px 5px;
	position: absolute;
	top: 63px;
	left: 0;
	background-color: rgba( 255, 255, 255, 0.975 );
	border-radius: 10px;
	box-shadow: 3px 5px 10px 0px rgba( 0, 0, 0, 0.15 );
}

header nav ul li:hover ul.sub-menu,
header nav ul li:focus ul.sub-menu {
	display: block;
}

header nav ul li ul.sub-menu li {
	padding-left: 5px;
	position: relative;
	font-size: 14px;
	justify-content: left;
	border-bottom: 1px dashed #4165A5;
}

header nav ul li ul.sub-menu li:first-child {
	padding-left: 0;
	color: #4165A5;
	font-weight: 500;
	border-bottom: 1px solid #4165A5;
}

header nav ul li ul.sub-menu li:last-child {
	border: none;
}

header nav ul li ul.sub-menu li:last-child a {
	width: auto;
	height: 60px;
	padding: 0 0 0.5em;
	color: #000;
	background: none;
	border: none;
	border-radius: 0;
}

header nav ul li ul.sub-menu li::after {
	display: none;
}

header nav ul li ul.sub-menu li::before {
	content: '→';
	position: absolute; 
	top: calc(50% - 10px);
	right: 5px;
	font-weight: 400;
	transition: all .3s;
}

header nav ul li ul.sub-menu li:hover::before {
  transform: translateX(8px);
}

@media screen and (max-width:1080px) {
	header {
		height: 50px;
		padding: 0;
	}

	.header-container {
		width: 100%;
		padding: 0 3%;
	}

	header h1 img,
	header div img {
		height: 22px;
	}

	header nav .navi {
		position: fixed;
		top: 10px;
		right: 20px;
		cursor: pointer;
		z-index: 99;
	}

	header nav .navi span {
		display: inline-block;
		width: 30px;
		height: 2px;
		background: #4165A5;
		border-radius: 2px;
	}

	header nav .navi span::before {
		content: '';
		display: block;
		width: 30px;
		height: 2px;
		margin-top: -6px;
		background: #4165A5;
		border-radius: 2px;
		cursor: pointer;
	}

	header nav .navi span::after {
		content: '';
		display: block;
		width: 30px;
		height: 2px;
		margin-top: 10px;
		background: #4165A5;
		border-radius: 2px;
		cursor: pointer;
	}

	header nav ul {
		display: none;
	}

	/*　ナビオープン時　*/
	header nav.open .navi {
		position: fixed;
		top: 17px;
		right: 22px;
		width: 25px;
		height: 25px;
		background: none;
		border-radius: 0;
		cursor: pointer;
	}

	header nav.open .navi span {
		opacity: 0;
	}
	
	header nav.open .navi::before {
		position: fixed;
		top: 25px;
		left: calc(100% - 33px);
		content: '';
		display: block;
		width: 30px;
		height: 2px;
		margin-top: 0;
		background: #4165A5;
		border-radius: 2px;
		transform: translate(-50%,-50%) rotate(45deg) scaleY(1) translateY(4px);
		cursor: pointer;
		z-index: 6;
	}
	
	header nav.open .navi::after {
		position: fixed;
		top: 25px;
		left: calc(100% - 38px);
		content: '';
		display: block;
		width: 30px;
		height: 2px;
		margin-top: 0;
		background: #4165A5;
		border-radius: 2px;
		transform: translate(-50%,-50%) rotate(-45deg) scaleY(1) translateY(4px);
		cursor: pointer;
		z-index: 7;
	}
	
	header nav.open ul {
		position: fixed;
		top: 0;
		left: 0;
		display: block;
		width: 100vw;
		height: 100vh;
		padding-top: 90px;
		overflow: auto;
		background: rgba(255, 255, 255, 0.95);
	}

	header nav.open ul li {
		display: block;
		width: 90%;
		height: auto;
		min-height: 60px;
		margin: 0 5%;
		padding: 20px 0;
		border-top: 1px solid #4165A5;
	}
	
	header nav.open ul li::after {
		display: none;
	}

	header nav.open ul li:nth-child(5) {
		padding-left: 20px;
	}

	header nav.open ul li:nth-child(5):before {
		position: absolute;
		top: calc(50% - 7px);
		left: 20px;
		content: '';
		display: block;
		width: 14px;
		height: 14px;
		margin-right: 0;
		background: url(../img/link_b.svg) left top no-repeat;
		background-size: 14px;
	}

	header nav.open ul li:last-child {
		margin-top: 0;
		margin-bottom: 0;
	}

	header nav.open ul li a {
		height: auto;
		margin-left: 20px;
	}
	
	header nav.open ul li a::before {
		content: '→';
		position: absolute; 
		top: 20px;
		right: 25px;
		color: #4165A5;
		transition: all .3s;
	}

	header nav.open ul li:last-child a {
		width: 100%;
		height: auto;
		margin: 0 0 0 20px;
		padding: 0;
		color: #000;
		justify-content: left;
		text-align: left;
		background: none;
	}

	header nav.open ul li:last-child a:hover {
		opacity: 1;
	}

	header nav.open ul li ul.sub-menu {
		position: relative;
		top: 0;
		left: 0;
		display: block;
		width: 100%;
		height: auto;
		margin: 20px 0 0;
		padding: 0;
		background: none;
		border: none;
		box-shadow: none;
	}

	header nav.open ul li ul.sub-menu li {
		display: block;
		width: calc(100% - 20px);
		margin: 0;
		padding-left: 0;
		border-top: 1px dashed #4165A5;
		border-bottom: none;
	}
	
	header nav.open ul li ul.sub-menu li.pc {
		display: none;
	}

	header nav.open ul li ul.sub-menu li::before {
		display: none;
	}

	header nav.open ul li:nth-child(2) ul.sub-menu li:first-child {
		position: relative;
		padding-top: 80px;
		border: none;
	}

	header nav.open ul li:nth-child(2) ul.sub-menu li:first-child::before {
		content: '関連事業';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 95%;
		margin: 0 0 0 5%;
		padding: 20px 20px 2px;
		color: #4165A5;
		border-top: 1px dashed #4165A5;
		border-bottom: 1px solid;
		transition: none;
	}

	header nav.open ul li ul.sub-menu li:last-child a {
		height: auto;
		padding: 0;
	}

	header nav ul li ul.sub-menu li:hover::before {
		transform: none;
	}

	header nav.open ul li ul.sub-menu li a {
		margin: 0 0 0 40px;
	}

	header nav.open ul li ul.sub-menu li a::before {
		top: calc(50% - 10px);
		right: 5px;
	}
}

@media screen and (min-width:1081px) {
	header nav ul,
	header nav.open ul {
		display: flex!important;
	}
	
	header nav ul li ul.sub-menu {
		display: none!important;
	}

	header nav ul li:hover ul.sub-menu {
		display: block!important;
	}
}


/*///////////////////////////////*/
/*// メインビジュアル　//*/
#mv {
	position: relative;
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	text-align: center;
	background: url(../img/top/canvas.jpg) left top repeat;
	background-size: 100%;
	z-index: 10;
}

#mv::before {
	content: '';
	display: block;
	width: 35.2%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 2%;
	background: url(../img/top/color-left.webp) left -50px bottom no-repeat;
	background-size: 100%;
	z-index: 11;
}

#mv::after {
	content: '';
	display: block;
	width: 36.9%;
	height: 100%;
	position: absolute;
	top: -6%;
	right: 0;
	background: url(../img/top/color-right.webp) right -50px top no-repeat;
	background-size: 100%;
	z-index: 12;
}

#mv p {
	text-shadow: 0 4px 4px rgba(0,0,0,0.25);
	text-align: center;
	font-weight: 500;
	font-size: min(6vw, 48px);
	position: absolute;
	top: 42%;
	left: 52%;
	transform: translateX(-52%);
	-webkit-transform: translateX(-52%);
	-ms-transform: translateX(-52%);
}

.tagline span {
	display: inline-block;
}

#mv p span:first-child,
#mv p span:nth-child(2) {
	color: #AC1334;
}

#mv .scroll_down {
	position: relative;
	top: 60%;
	width: auto;
	height: 40%;
}

#mv .scroll_down a {
	display: inline-block;
	width: auto;
	height: 100%;
	margin: 0 auto;
	padding: 0;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	color: #000;
	font-size: 12px;
	line-height: 1;
	transition: .2s;
	overflow: hidden;
	z-index: 2;
}

#mv .scroll_down a::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 2px;
	height: calc(100% - 36px);
	background: #9d9d9d;
}

#mv .scroll_down a::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	width: 2px;
	height: calc(100% - 36px);
	background: #275097;
}

#mv .scroll_down a:hover {
	opacity: .5;
}

#type01 a::after {
	animation: sdl01 3s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl01 {
	0% {
		transform: scale(1, 0);
		transform-origin: 0 0;
	}

	50% {
		transform: scale(1, 1);
		transform-origin: 0 0;
	}

	50.1% {
		transform: scale(1, 1);
		transform-origin: 0 100%;
	}

	100% {
		transform: scale(1, 0);
		transform-origin: 0 100%;
	}
}

@media screen and (max-width:1080px) {
	#mv p {
		font-size: 42px;
	}
}

@media screen and (max-width:780px) {
	#mv {
		height: 96vh;
	}

	#mv::before {
		width: 40%;
		height: 100%;
		left: 0;
		bottom: 0;
		background: url(../img/top/color-left.webp) left -13% bottom 0 no-repeat;
		background-size: 100%;
	}

	#mv::after {
		width: 48%;
		top: 0;
		right: 0;
		background: url(../img/top/color-right.webp) right -50px top 0 no-repeat;
		background-size: 100%;
	}

	#mv p {
		width: 100%;
		padding-left: 0.8em;
	}

	#mv .scroll_down {
		z-index: 13;
	}
}

@media screen and (max-width:520px) {
	#mv::before {
		width: 60%;
	}

	#mv::after {
		width: 64%;
	}

	#mv p {
		font-size: 34px;
	}
}


/*///////////////////////////////*/
/*// フローティングバナー　//*/

#btn-f {
	display: block;
	position: fixed;
	right: 0;
	bottom: 12px;
	z-index: 90;
	background: #fff;
	border-radius: 10px 0 0 10px;
}

#btn-f a img {
	width: 200px;
	height: auto;
	position: relative;
	border-radius: 10px 0 0 10px;
	box-shadow: 0 3px 4px rgba(0,0,0,0.15);
}

#btn-f div {
	display: block;
	width: 24px;
	height: 24px;
	color: #fff;
	text-align: center;
	position: absolute;
	top: 8px;
	right: 6px;
	background: rgba(0,0,0,0.5);
	border-radius: 20px;
}

#btn-f div:hover {
	cursor: pointer;
}

@media screen and (max-width:780px) {
	#btn-f a img {
		width: 150px;
	}
}

/*///////////////////////////////*/
/*// コンテンツ　//*/

.container,
.block01>div.wp-block-group__inner-container,
.block02>div.wp-block-group__inner-container {
	display: inline-block;
	width: 90%;
	max-width: 1200px;
	position: relative;
	z-index: 60;
}

.container_w {
	display: inline-block;
	width: 90%;
	max-width: 1500px;
	position: relative;
	z-index: 60;
}

.container,
.container_w {
	margin-top: -50px;
	padding-top: 50px;
}

.split2 {
	display: flex;
}

.split2 .guide {
	width: 50%;
}

.split2 .guide p {
	margin-bottom: 30px;
}

@media screen and (max-width:780px) {
	.container,
	.container_w {
		width: 85%;
	}

	.split2 {
		flex-wrap: wrap;
	}

	.split2 .guide {
		width: 100%;
		margin-bottom: 60px;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.split2 .guide h1 {
		width: 100%;
	}
}

/*// blockベース　//*/
.lead-block {
	padding: 180px 0;
	display: flex;
	justify-content: center;
	position: relative;
}

.lead-block.short {
	padding: 180px 0 140px;
}

.lead-block h1::before {
	content: '●';
	margin-right: 10px;
}

.lead-block h2 {
	margin-top: 60px;
}

.lead-block p {
	margin-top: 30px;
}

.block01 {
	width: 100%;
	margin-top: -3%;
	padding: 200px 0 180px;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 51;
}

.block01::before {
	content: '';
	display: block;
	width: 100%;
	height: 20%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 47;
}

.block01::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 70px;
	background-color: #000;
	clip-path: polygon(0 0, 100% 0, 100% 94%, 0% 100%);
	z-index: 48;
}

.block01.long::after {
	clip-path: polygon(0 0, 100% 0, 100% 96%, 0% 100%);
}

.block01.even-longer::after {
	clip-path: polygon(0 0, 100% 0, 100% 99%, 0% 100%);
}

.block02 {
	width: 100%;
	padding: 180px 0;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 20;
}

.block03 {
	width: 100%;
	padding: 180px 0;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 40;
}

.block03::before {
	content: '';
	display: block;
	width: 100%;
	height: 20%;
	position: absolute;
	left: 0;
	top: 0;
	background: #000;
	clip-path: polygon(0 0, 32% 35%, 32% 35%, 0 50%);
	z-index: 45;
}

.block03::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: #CCC;
	clip-path: polygon(0 8.5%, 100% 0, 100% 100%, 0% 100%);
	z-index: 46;
}

.block04 {
	padding: 180px 0;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 30;
}

@media screen and (max-width:1080px) {
	.lead-block {
		padding: 180px 0 200px;
	}

	.lead-block.short {
		padding: 180px 0 160px;
	}

	.block01 {
		margin-top: -4%;
		padding: 180px 0 160px;
	}

	.block01::after {
		clip-path: polygon(0 0, 100% 0, 100% 96%, 0% 100%);
	}

	.block01.long::after {
		clip-path: polygon(0 0, 100% 0, 100% 98.5%, 0% 100%);
	}

	.block01.even-longer::after {
		clip-path: polygon(0 0, 100% 0, 100% 99.5%, 0% 100%);
	}

	.block03::before {
		clip-path: polygon(0 0, 48% 60px, 48% 100%, 0 100%);
	}

	.block03::after {
		clip-path: polygon(0 50px, 100% 0, 100% 100%, 0% 100%);
	}
}

@media screen and (max-width:780px) {
	.lead-block {
		padding: 120px 0 90px;
	}

	.lead-block.short {
		padding: 120px 0 60px;
	}

	.lead-block h2 {
		width: 100%;
		margin-bottom: -10px;
		text-align: left;
	}

	.block01 {
		padding: 90px 0 60px;
	}

	.block01::after {
		top: 50px;
		clip-path: polygon(0 0, 100% 0, 100% 98%, 0% 100%);
	}

	.block01.long::after {
		top: 50px;
		clip-path: polygon(0 0, 100% 0, 100% 99%, 0% 100%);
	}

	.block01.even-longer::after {
		top: 50px;
		clip-path: polygon(0 0, 100% 0, 100% 99.8%, 0% 100%);
	}

	.block02 {
		padding: 160px 0 90px;
	}

	.block03 {
		padding: 130px 0 90px;
	}

	.block03::before {
		clip-path: polygon(0 0, 48% 40px, 48% 100%, 0 100%);
	}

	.block03::after {
		clip-path: polygon(0 30px, 100% 0, 100% 100%, 0% 100%);
	}
}

@media screen and (max-width:350px) {
	.block01::after {
		top: 20px;
	}
}

/*// btnベース　//*/
.btn a {
	display: block;
	width: 222px;
	height: 50px;
	padding-top: 14px;
	color: #272D37;
	font-size: 16px;
	text-align: center;
	background: #fff;
	border: 1px solid #272D37;
	border-radius: 30px;
	position: relative;
}

.btn a::after {
	content: '→';
	position: absolute; 
	top: 14px;
	right: 20px;
}

.btn.no-a a::after {
	display: none;
}

.btn.link a {
	color: #fff;
	background: #272D37;
	border: none;
}

@media screen and (max-width:780px) {
	.btn a {
		display: inline-block;
	}
}

/*// 誘導 btnベース　//*/
.guide-btn .btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 0 auto 90px;
}

.guide-btn .btn a {
	margin-bottom: 10px;
	color: #000;
	box-shadow: 0 3px 4px rgba(0,0,0,0.025);
}

.guide-btn .btn a::after {
	display: none;
}

@media screen and (max-width:630px) {
	.guide-btn .btn {
		margin: 0 auto 60px;
		gap: 10px;
	}

	.guide-btn .btn::after,
	.guide-btn .btn a {
		font-size: 14px;
		width: calc(50% - 10px);
	}
}

/*///////////////*/
/*// トップぺージ　//*/
.block01 h2,
.block02 h2 {
	font-size: 32px;
}

@media screen and (max-width:780px) {
	.block01 h2,
	.block02 h2 {
		font-size: 28px;
	}	
}

/* グループについて　*/
.block01 .top01 {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url(../img/top/main-office.svg) left bottom 100px no-repeat;
	background-size: 100%;
	z-index: 49;
}

.block01.top::before {
	background: url(../img/curve/top.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.top::after {
	background-color: #A6D9E2;
}

.block01.top .container_w {
	padding-bottom: 120px;
}

.block01.top .split2 .guide p {
	padding-right: 20px;
}

.block01.top .btn a {
	color: #6ABCCB;
	border: none;
}

.block01.top ul {
	width: 650px;
	margin-top: -60px;
	margin-bottom: 60px;
}

.block01.top ul li a {
	display: inline-flex;
	align-items: center;
	width: 100%;
	padding: 20px 10px;
	font-size: 18px;
	position: relative;
	border-bottom: 2px dotted #279FB4;
}

.block01.top ul li img {
	width: 150px;
	height: auto;
	aspect-ratio: 1.5 / 1;
	margin-right: 30px;
	border-radius: 10px;
	object-fit: cover;
}

.block01.top ul li a::after {
	content: '→';
	position: absolute; 
	top: calc(50% - 9px);
	right: 20px;
	color: #279FB4;
}

@media screen and (max-width:1080px) {
	.block01.top {
		padding: 220px 0 180px;
	}

	.block01.top ul li a:nth-child(1) {
		padding: 20px 120px 20px 10px;
	}
}

@media screen and (max-width:780px) {
	.block01.top {
		padding: 130px 0 90px;
	}

	.block01.top::before {
		background: url(../img/curve/top_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	.block01 .top01 {
		background-position: right -30px bottom 40px;
		background-size: 240%;
	}

	.block01.top .split2 .guide p {
		padding-right: 0;
	}

	.block01.top ul {
		margin-top: 0;
	}

	.block01.top ul li a {
		padding: 20px 60px 20px 10px;
	}

	.block01.top ul li:first-child a {
		padding: 20px 80px 20px 10px;
	}

	.block01.top ul li a:nth-child(3) {
		padding: 20px 100px 20px 10px;
	}

	.block01.top ul li img {
		width: 80px;
		margin-right: 20px;
	}

	.block01.top ul li a::after {
		color: #000;
	}
}

/* 事業案内　*/
.block02.top ul {
	width: 50%;
	position: relative;
}

.block02.top ul li {
	position: absolute;
}

.block02.top ul li:nth-child(1) {
	top: -240px;
	left: 130px;
}

.block02.top ul li:nth-child(2) {
	top: -290px;
	right: -20px;
}

.block02.top ul li:nth-child(3) {
	bottom: -310px;
	right: 10px;
}

.block02.top ul li:nth-child(4) {
	bottom: -360px;
	left: 80px;
}

.block02.top ul li img {
	box-shadow: 10px 10px 9px rgba(0,0,0,0.08);
	object-fit: cover;
	border-radius: 20px;
}

.block02.top ul li:nth-child(1) img,
.block02.top ul li:nth-child(3) img {
	width: 280px;
	aspect-ratio: 7 / 10;
}

.block02.top ul li:nth-child(2) img,
.block02.top ul li:nth-child(4) img {
	width: 254px;
	aspect-ratio: 7 / 10;
}

@media screen and (min-width:1501px) {
	.block02.top ul {
		max-width: 800px;
	}
}

@media screen and (max-width:1500px) {
	.block02.top ul li:nth-child(1) {
		top: -240px;
		left: 110px;
	}

	.block02.top ul li:nth-child(2) {
		top: -260px;
		right: -10px;
	}

	.block02.top ul li:nth-child(4) {
		bottom: -320px;
		left: 80px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 260px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 236px;
	}
}

@media screen and (max-width:1400px) {
	.block02.top ul li:nth-child(1) {
		left: 80px;
	}

	.block02.top ul li:nth-child(4) {
		left: 50px;
	}
}

@media screen and (max-width:1320px) {
	.block02.top ul li:nth-child(1) {
		left: 40px;
	}

	.block02.top ul li:nth-child(3) {
		bottom: -290px;
	}

	.block02.top ul li:nth-child(4) {
		bottom: -300px;
		left: 10px;
	}
}

@media screen and (max-width:1250px) {
	.block02.top ul li:nth-child(1) {
		left: 20px;
	}

	.block02.top ul li:nth-child(4) {
		left: 0;
	}
}

@media screen and (max-width:1200px) {
	.block02.top ul li:nth-child(1) {
		left: 45px;
	}

	.block02.top ul li:nth-child(4) {
		left: 20px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 240px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 220px;
	}
}

@media screen and (max-width:1150px) {
	.block02.top ul li:nth-child(1) {
		left: 10px;
	}

	.block02.top ul li:nth-child(4) {
		left: -10px;
	}
}

@media screen and (max-width:1080px) {
	.block02.top ul li:nth-child(1) {
		top: -185px;
		left: 30px;
	}

	.block02.top ul li:nth-child(2) {
		top: -245px;
	}

	.block02.top ul li:nth-child(3) {
		bottom: -220px;
	}

	.block02.top ul li:nth-child(4) {
		bottom: -280px;
		left: 10px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 220px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 200px;
	}
}

@media screen and (max-width:1020px) {
	.block02.top ul li:nth-child(1) {
		left: 10px;
	}

	.block02.top ul li:nth-child(3) {
		right: 5px;
	}

	.block02.top ul li:nth-child(4) {
		left: -10px;
	}
}

@media screen and (max-width:980px) {
	.block02.top ul li:nth-child(1) {
		top: -210px;
	}

	.block02.top ul li:nth-child(3) {
		bottom: -240px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 210px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 191px;
	}
}

@media screen and (max-width:930px) {
	.block02.top ul li:nth-child(1) {
		left: 30px;
	}

	.block02.top ul li:nth-child(4) {
		left: 10px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 190px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 170px;
	}
}

@media screen and (max-width:880px) {
	.block02.top ul li:nth-child(1) {
		left: 10px;
	}

	.block02.top ul li:nth-child(4) {
		left: 0;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 180px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 160px;
	}
}

@media screen and (max-width:780px) {
	.block02.top {
		padding: 160px 0 0;
	}
	
	.block02.top .container_w .guide {
		width: 100%;
		margin: 0 auto 60px;
	}

	.block02.top ul {
		width: 100%;
		min-height: 700px;
		overflow: visible;
	}

	.block02.top ul li:nth-child(1) {
		top: 45px;
		right: 10%;
		left: auto;
	}

	.block02.top ul li:nth-child(2) {
		top: 0;
		right: auto;
		left: 15%;
	}

	.block02.top ul li:nth-child(3) {
		bottom: -40px;
		right: 15%;
		left: auto;
	}

	.block02.top ul li:nth-child(4) {
		bottom: 90px;
		right: auto;
		left: 10%;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 210px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 191px;
	}
}

@media screen and (max-width:650px) {
	.block02.top ul li:nth-child(1) {
		right: 5%;
	}

	.block02.top ul li:nth-child(2) {
		left: 7%;
	}

	.block02.top ul li:nth-child(3) {
		right: 7%;
	}

	.block02.top ul li:nth-child(4) {
		left: 5%;
	}
}

@media screen and (max-width:560px) {
	.block02.top ul li:nth-child(1) {
		top: 60px;
		right: 0;
	}

	.block02.top ul li:nth-child(2) {
		left: 2%;
	}

	.block02.top ul li:nth-child(3) {
		right: 2%;
	}

	.block02.top ul li:nth-child(4) {
		left: 0%;
	}
}

@media screen and (max-width:500px) {
	.block02.top ul {
		min-height: 600px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 190px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 170px;
	}
}

@media screen and (max-width:450px) {
	.block02.top ul {
		min-height: 550px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 160px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 150px;
	}
}

@media screen and (max-width:400px) {
	.block02.top ul {
		min-height: 500px;
	}

	.block02.top ul li:nth-child(4) {
		bottom: 60px;
	}

	.block02.top ul li:nth-child(1) img,
	.block02.top ul li:nth-child(3) img {
		width: 150px;
	}

	.block02.top ul li:nth-child(2) img,
	.block02.top ul li:nth-child(4) img {
		width: 140px;
	}
}

@media screen and (max-width:369px) {
	.block02.top ul li:nth-child(n+1) img {
		width: 120px;
	}
}

/* お知らせ　*/
.block03.top::before {
	background: #D4DDF2;
}

.block03.top::after {
	background: #E7EFF7;
}

.block03.top .split2 .guide {
	width: 26%;
}

.block03.top h2 {
	margin-bottom: 60px;
	margin-left: 50px;
}

.block03.top .btn a {
	color: #9CACE0;
	border: none;
}

.block03.top ul {
	width: 70%;
}

ul.info li {
	margin-bottom: 30px;
	display: flex;
}

ul.info li a:hover {
	text-decoration: underline;
}

ul.info li div {
	min-width: 220px;
	margin-right: 10px;
}

ul.info li div::after {
	content: 'カテゴリ';
	display: inline-block;
	width: 110px;
	height: 24px;
	margin-left: 10px;
	padding-top: 3px;
	color: #fff;
	font-size: 12px;
	text-align: center;
	background: #000;
	border-radius: 20px;
}

ul.info li.category-group div::after {
	content: 'グループ';
	background: #4165A5;
}

ul.info li.category-electric div::after {
	content: '電　機';
	background: #AC1334;
}

ul.info li.category-medical div::after {
	content: 'メディカル';
	background: #009C8D;
}

ul.info li.category-digital-solutions div::after {
	content: 'デジタルソリューション';
	padding-top: 4px;
	font-size: 10px;
	letter-spacing: -0.1em;
	background: #1D82E9;
}

ul.info li.category-nursery div::after {
	content: '保育園';
	background: #F1B340;
}

ul.info li.category-tourism-culture div::after {
	content: '観光・文化';
	background: #6B8D1E;
}

ul.info li.category-recruit div::after {
	content: '採用情報';
	background: #b9a369;
}

ul.info li.category-others div::after {
	content: 'その他';
	background: #000;
}

@media screen and (max-width:1080px) {
	.block03.top .split2 .guide {
		width: 26%;
		margin-right: 8%;
	}

	.block03.top ul {
		width: 66%;
		margin-top: -32px;
	}

	ul.info li {
		margin: 16px 0 22px;
		padding: 16px 0 22px;
		border-bottom: 2px dotted #8596B4;
	}

	ul.info li:last-child {
		margin: 12px 0 0;
		padding: 12px 0 0;
		border-bottom: none;
	}

	ul.info li {
		flex-wrap: wrap;
	}

	ul.info li div {
		width: 100%;
		margin-bottom: 5px;
	}

	ul.info li div::after {
		margin-top: -5px;
	}
}

@media screen and (max-width:780px) {
	.block03 {
		padding: 130px 0 110px;
	}

	.block03.top .split2 .guide {
		width: 100%;
	}
	
	.block03.top h2 {
		margin-bottom: 0;
		margin-left: 0;
	}
	
	.block03.top .split2 .guide div {
		display: none;
	}

	.block03.top ul {
		width: 100%;
		margin: -30px 0 60px;
	}

	.block03.top .split2 .btn.sp {
		display: block;
	}

	.block03.top .split2 .btn {
		margin: 0 auto;
	}
}


/*///////////////*/
/*// グループについて　//*/

/* スライド＋概要　*/
.lead-block.about h1 {
	margin-bottom: 120px;
}

.lead-block.about h1::before {
	color: #F1B340;
}

.lead-block.about .swiper-box {
	width: calc(50% - 60px);
	margin-right: 60px;
	position: relative;
}

.lead-block.about .swiper {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.lead-block.about .swiper-wrapper .swiper-slide {
	width: 100%;
	aspect-ratio: 160 / 107;
}

.lead-block.about .swiper-wrapper .swiper-slide img {
	width: 100%;
	border-radius: 20px;
}

.operation {
	position: relative;
}

.operation #pause-toggle {
	display: block;
	width: 30px;
	position: absolute;
	top: 3px;
	left: 3px;
}

.operation #pause-toggle::before {
	content: url(../img/about/slide/stop.svg);
	position: absolute;
}

.operation #pause-toggle.stop::before {
	content: url(../img/about/slide/start.svg);
}

.swiper-pagination {
	width: 50%!important;
	text-align: left!important;
	bottom: -25px!important;
	left: 30px!important;
}

.swiper-pagination span {
	background: #F1B340;
}

.swiper-pagination-bullet {
	margin-right: 12px!important;
	opacity: 0.3!important;
}

.swiper-pagination-bullet-active {
	opacity: 1!important;
}

@media screen and (max-width:780px) {
	.lead-block.about {
		padding: 120px 0;
	}

	.lead-block.about .swiper-box {
		width: 100%;
		margin-right: 0;
		order: 2;
	}

	.lead-block.about .swiper {
		width: 100%;
	}

	.swiper-pagination {
		margin-left: 5px;
		top: auto!important;
		bottom: -25px!important;
		left: 25px!important;
	}

	.lead-block.about .guide {
		margin-bottom: 30px;
	}

	.lead-block.about h1 {
		margin-bottom: 0;
	}
}

/* コーナートップ：あなたのまわりの八光グループ　*/
.block01.about {
	padding: 200px 0 60px;
}

.block01.about ul {
	width: calc(50% - 60px);
	margin-right: 60px;
	min-height: 550px;
	position: relative;
	z-index: 44;
}

.block01.about ul li:nth-child(1) {
	width: 63%;
	position: absolute;
	top: 5%;
	left: 0;
	z-index: 5;
}

.block01.about ul li:nth-child(2) {
	width: 48%;
	position: absolute;
	left: 52%;
	top: 43%;
	z-index: 4;
}

.block01.about ul li img {
	width: 100%;
	height: auto;
	max-width: 550px;
	border-radius: 20px;
}

.block01.about ul li:nth-child(2) img {
	max-width: 400px;
}

.block01.about ul::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/about/waveline.svg) left top no-repeat;
	background-size: contain;
	z-index: 3;
}

.block01.about .btn a {
	color: #F1B340;
	border: none;
}

.block01.about::before {
	background: url(../img/curve/about.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.about::after {
	background-color: #FBC96C;
}

@media screen and (min-width:1501px) {
	.block01.about ul li:nth-child(2) {
		top: 52%;
	}
}

@media screen and (max-width:1300px) {
	.block01.about ul li:nth-child(2) {
		top: 38%;
	}	
}

@media screen and (max-width:1150px) {
	.block01.about ul li:nth-child(2) {
		top: 33%;
	}	
}

@media screen and (max-width:1080px) {
	.block01.about {
		padding: 180px 0 130px;
	}

	.block01.about ul li:nth-child(1) {
		width: 67%;
		top: 5%;
	}

	.block01.about ul li:nth-child(2) {
		width: 56%;
		left: 48%;
		top: 32%;
	}

	.block01.about ul::before {
		background: url(../img/about/waveline_sp.svg) center top no-repeat;
	}
}

@media screen and (max-width:930px) {
	.block01.about ul li:nth-child(2) {
		top: 28%;
	}	
}

@media screen and (max-width:780px) {
	.block01.about::before {
		background: url(../img/curve/about_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	.block01.about {
		padding: 120px 0;
	}

	.block01.about div {
		order: 1;
	}

	.block01.about ul {
		width: 100%;
		margin-top: 20px;
		margin-right: 0;
		min-height: 400px;
		order: 2;
	}

	.block01.about ul li:nth-child(1) {
		width: 57%;
		top: 5%;
		left: 2%;
	}

	.block01.about ul li:nth-child(2) {
		width: 42%;
		left: 48%;
		top: 57%;
	}
}

@media screen and (max-width:650px) {
	.block01.about ul {
		min-height: 350px;
	}
}

@media screen and (max-width:600px) {
	.block01.about ul {
		min-height: 300px;
	}
	
	.block01.about ul li:nth-child(1) {
		width: 64%;
		top: 6%;
		left: 0;
	}

	.block01.about ul li:nth-child(2) {
		width: 50%;
		left: 48%;
		top: 52%;
	}
}

@media screen and (max-width:500px) {
	.block01.about {
		padding: 120px 0 60px;
	}

	.block01.about ul {
		min-height: 300px;
	}
	
	.block01.about ul li:nth-child(1) {
		width: 64%;
		top: 6%;
		left: 0;
	}

	.block01.about ul li:nth-child(2) {
		width: 52%;
		left: 48%;
		top: 46%;
	}
}

/* コーナートップ：グループの歩み　*/
.block02.about {
	padding: 230px 0;
}

.block02.about ul {
	position: absolute;
	top: -220px;
	right: 60px;
	transform: rotate(11deg);
}

.block02.about ul li {
	margin-bottom: 20px;
	box-shadow: 8px 8px 8px rgba(0,0,0,0.15);
}

.block02.about ul li img {
	width: 350px;
	height: auto;
	border-radius: 3px;
}

.block02 .about02 {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	background: url(../img/about/bookline.svg) left bottom 30px no-repeat;
	background-size: 100%;
	z-index: 54;
}

@media screen and (max-width:1080px) {
	.block02.about ul {
		top: -180px;
	}

	.block02.about ul li img {
		width: 300px;
	}
}

@media screen and (max-width:820px) {
	.block02.about ul li img {
		width: 280px;
	}
}

@media screen and (max-width:780px) {
	.block02.about {
		width: 100%;
		padding: 160px 0 30px;
		overflow: hidden;
	}

	.block02.about div {
		z-index: 53;
	}

	.block02.about ul {
		position: relative;
		top: -60px;
		right: 0;
		left: 35%;
		z-index: 52;
	}

	.block02.about ul li img {
		width: 230px;
	}

	.block02 .about02 {
		max-height: 200px;
		background: url(../img/about/bookline.svg) left -120px bottom 80px no-repeat;
		background-size: 300%;
		z-index: 43;
	}
}

/* コーナートップ：社会・未来への取り組み　*/
.block03.about .img {
	width: calc(50% - 60px);
	max-width: 780px;
	aspect-ratio: 9 / 7.5;
	margin-right: 60px;
	overflow: hidden;
}

.block03.about .img img {
	width: 98%;
	height: auto;
}

.block03.about .btn a {
	color: #8ECB97;
	border: none;
}

.block03.about::before {
	background: #ADD596;
}

.block03.about::after {
	background: #D1E8C4;
}

.block03.about {
	padding: 180px 0 0;
}

@media screen and (max-width:780px) {
	.block03.about {
		padding: 130px 0 0;
	}

	.block03.about div.img {
		order: 2;
	}

	.block03.about div.guide {
		margin-bottom: 30px;
		order: 1;
	}

	.block03.about .img {
		width: 100%;
		margin-right: 0;
		aspect-ratio: 2 / 1;
	}
}


/*///////////////*/
/*// あなたのまわりの八光グループ　//*/

/* メインビジュアル　*/
.main-block {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 960px;
	z-index: 19;
}

.main-block .outline {
	position: relative;
	text-align: center;
	z-index: 2;
}

.main-block .outline h1 {
	text-align: center;
	line-height: 1.5;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
				-1px 1px 0 #fff, 1px -1px 0 #fff,
				1px 0 0 #fff, -1px 0 0 #fff,
				0 1px 0 #fff, 0 -1px 0 #fff;
}

.main-block .outline p {
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
				-1px 1px 0 #fff, 1px -1px 0 #fff,
				1px 0 0 #fff, -1px 0 0 #fff,
				0 1px 0 #fff, 0 -1px 0 #fff;
}

.main-block .img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
	z-index: 1;
}

.main-block .img div {
	width: 23.5%;
	height: auto;
	max-width: 350px;
	max-height: 234px;
	aspect-ratio: 1.5 / 1;
	object-fit: contain;
	position: absolute;
	z-index: 1;
}

.main-block .img div:nth-child(1) {
	top: 60%;
	left: -15px;
}

.main-block .img div:nth-child(2) {
	top: 15%;
	left: 11%;
}

.main-block .img div:nth-child(3) {
	top: 76%;
	left: 36%;
}

.main-block .img div:nth-child(4) {
	top: -24px;
	right: 34%;
}

.main-block .img div:nth-child(5) {
	top: 67%;
	right: 10%;
}

.main-block .img div:nth-child(6) {
	top: 19%;
	right: -20px;
}

.main-block .img div::before {
	border-radius: 6px;
	z-index: -1;
	content: '';
	display: block;
	width: 44%;
	height: 126%;
	max-width: 166px;
	max-height: 320px;
	position: absolute;
}

.main-block .img div::after {
	content: '';
	display: block;
	width: 44%;
	height: 126%;
	max-width: 166px;
	max-height: 320px;
	position: absolute;
	border-radius: 6px;
	z-index: -2;
}

.main-block .img div:nth-child(1)::before {
	bottom: 33%;
	left: -11.8%;
	background: #F2E9D0;
}

.main-block .img div:nth-child(1)::after {
	display: none;
}

.main-block .img div:nth-child(2)::before {
	display: none;
}

.main-block .img div:nth-child(2)::after {
	top: 71%;
	right: -17.8%;
	background: #4165A5;
}

.main-block .img div:nth-child(3)::before {
	top: 0;
	left: 0;
	background: #D4DDF2;
}

.main-block .img div:nth-child(3)::after {
	display: none;
}

.main-block .img div:nth-child(4)::before {
	top: 16%;
	left: -13%;
	background: #E7EFF7;
}

.main-block .img div:nth-child(4)::after {
	display: none;
}

.main-block .img div:nth-child(5)::before {
	top: -87.4%;
	left: -20%;
	background: #D1E8C4;
}

.main-block .img div:nth-child(5)::after {
	top: 30%;
	right: -19%;
	background: #A6AC56;
}

.main-block .img div:nth-child(6)::before {
	bottom: 54%;
	left: -13%;
	background: #6ABCCB;
}

.main-block .img div:nth-child(6)::after {
	display: none;
}

.main-block .img div img {
	width: 100%;
	height: 100%;
	border-radius: 20px;
}

.main-block .img div:nth-child(3) img {
	opacity: 0;
}

@media screen and (max-width:1600px) {
	.main-block {
		height: 880px;
	}

	.main-block .img div {
		width: 22%;
		height: auto;
		max-width: 350px;
		max-height: 234px;
	}
}

@media screen and (max-width:1500px) {
	.main-block .img div:nth-child(2) {
		top: 13%;
		left: 10%;
	}
}

@media screen and (max-width:1400px) {
	.main-block {
		height: 860px;
	}

	.main-block .img div:nth-child(2) {
		top: 11%;
		left: 8.5%;
	}
}

@media screen and (max-width:1300px) {
	.main-block .img div:nth-child(1) {
		top: 62%;
	}

	.main-block .img div:nth-child(5) {
		top: 70%;
		right: 8%;
	}
}

@media screen and (max-width:1200px) {
	.main-block {
		height: 740px;
	}

	.main-block .img div:nth-child(2) {
		top: 10%;
		left: 8%;
	}
}

@media screen and (max-width:1080px) {
	.main-block {
		height: 620px;
	}

	.main-block .img div:nth-child(1) {
		top: 60%;
		left: -30px;
	}

	.main-block .img div:nth-child(4) {
		top: -30px;
	}

	.main-block .img div:nth-child(5) {
		top: 67%;
		right: 8%;
	}

	.main-block .img div:nth-child(6) {
		top: 15%;
	}
}

@media screen and (max-width:950px) {
	.main-block .img div:nth-child(2) {
		top: 8%;
		left: 5%;
	}

	.main-block .img div:nth-child(2)::after {
		top: 60%;
	}
}

@media screen and (max-width:850px) {
	.main-block .img div:nth-child(5) {
		top: 72%;
	}
}

@media screen and (max-width:780px) {
	.main-block .img div {
		width: 24%;
	}

	.main-block .img div:nth-child(1) {
		top: 63%;
	}

	.main-block .img div:nth-child(2) {
		top: 12%;
		left: 3%;
	}

	.main-block .img div:nth-child(3) {
		top: 80%;
		left: 36%;
	}
}

@media screen and (max-width:630px) {
	.main-block {
		height: 96vh;
	}

	.main-block .outline {
		width: 80%;
		margin: 40px auto 0;
	}

	.main-block .outline p {
		text-align: left;
	}

	.main-block .outline p span {
		display: none;
	}

	.main-block .img div {
		width: 26%;
	}

	.main-block .img div:nth-child(1) {
		top: 74%;
		left: -15px;
	}
	.main-block .img div:nth-child(2) {
		top: 10%;
		left: -20px;
	}
	.main-block .img div:nth-child(3) {
		top: 84%;
		left: 36%;
	}
	.main-block .img div:nth-child(4) {
		top: -14px;
		right: 34%;
	}
	.main-block .img div:nth-child(5) {
		top: 78%;
		right: 8%;
	}
	.main-block .img div:nth-child(6) {
		top: 19%;
		right: -20px;
	}
}

@media screen and (max-width:540px) {
	.main-block .img div {
		width: 28%;
	}
}

@media screen and (max-width:480px) {
	.main-block .outline h1 {
		margin-bottom: 20px;
	}

	.main-block .img div {
		width: 30%;
	}

	.main-block .img div:nth-child(2) {
		top: 15%;
		left: -30px;
	}
}

@media screen and (max-width:420px) {
	.main-block .img div:nth-child(1) {
		top: 76%;
		left: -20px;
	}
	.main-block .img div:nth-child(3) {
		top: 90%;
		left: 36%;
	}
	.main-block .img div:nth-child(5) {
		top: 81%;
		right: 8%;
	}
}


/* 事例一覧　*/
.block01.around-you {
	padding-bottom: 90px;
}

.block01.around-you::before {
	background: url(../img/curve/about.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.around-you::after {
	background-color: #FBC96C;
}

.block01.around-you .guide-btn .btn a {
	color: #F1B340;
	border: none;
}

.block02.around-you {
	padding-bottom: 0;
}

/* 共通パーツ　*/
.around-you h2 {
	margin-bottom: 0;
	color: #fff;
	position: relative;
}

.around-you h2::after {
	content: '';
	display: block;
	width: calc(100% - 13em);
	height: 2px;
	position: absolute;
	top: 50%;
	right: 0;
	background: #fff;
	border-radius: 2px;
}

.block02.around-you h2 {
	color: #000;
}

.block02.around-you h2::after {
	background: #000;
	width: calc(100% - 13em);
}

.around-you h2.t3::after {
	width: calc(100% - 4em);
}

.around-you h2.t4::after {
	width: calc(100% - 5em);
}

.around-you h2.t5::after {
	width: calc(100% - 6em);
}

.around-you h2.t6::after {
	width: calc(100% - 7em);
}

.around-you h2.t7::after {
	width: calc(100% - 8em);
}

.around-you h2.t8::after {
	width: calc(100% - 9em);
}

.around-you h2.t9::after {
	width: calc(100% - 10em);
}

.around-you h2.t10::after {
	width: calc(100% - 11em);
}

.around-you ul {
	margin-bottom: 90px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.around-you ul::after {
	content: '';
	display: block;
	width: 31.5%;
}

.around-you ul li {
	width: 31.5%;
	margin-top: 40px;
	padding: 20px;
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 3px 4px rgba(0,0,0,0.025);
}

.block02.around-you ul li {
	border: 1px solid #bebab5;
}

.around-you ul li img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	aspect-ratio: 1.5 / 1;
	overflow: hidden;
	border-radius: 10px;
}

.around-you ul li h3 {
	font-size: min(2vw, 20px);
	margin-bottom: 20px;
}

.around-you ul li p {
	margin-bottom: 30px;
}

.around-you ul li .btn {
	margin-bottom: 5px;
	text-align: center;
}

.around-you ul li .btn a {
	display: inline-block;
	/*color: #F1B340;
	border-color: #F1B340;*/
}
/*初期*/
.around-you ul li .btn a {
	color:#fff;
	background: #272D37;
}

@media screen and (max-width:1080px) {
	.around-you ul::after,
	.around-you ul li {
		width: 48%;
	}

	.around-you ul li h3 {
	font-size: 20px;
	}
}

@media screen and (max-width:1060px) {
	.block01.around-you .guide-btn .btn::after {
		content: '';
		display: block;
		width: 220px;
	}
}

@media screen and (max-width:780px) {
	.block01.around-you::before {
		background: url(../img/curve/about_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	.block01.around-you {
		padding-bottom: 30px;
	}

	.block02.around-you {
		padding-bottom: 80px;
	}

	.block01.around-you .guide-btn .btn::after {
		display: none;
	}

	.around-you h2::before {
		content: '';
		display: block;
		width: calc(50% - 7em);
		height: 2px;
		position: absolute;
		top: 50%;
		left: 0;
		background: #fff;
		border-radius: 2px;
	}

	.around-you h2::after {
		width: calc(50% - 7em);
	}

	.block02.around-you h2::before {
		background: #000;
	}

	.block02.around-you h2::after {
		width: 2em;
	}

	.around-you h2.t3::before,
	.around-you h2.t3::after {
		width: calc(50% - 2.5em);
	}

	.around-you h2.t4::before,
	.around-you h2.t4::after {
		width: calc(50% - 3em);
	}

	.around-you h2.t5::before,
	.around-you h2.t5::after {
		width: calc(50% - 3.5em);
	}

	.around-you h2.t6::before,
	.around-you h2.t6::after {
		width: calc(50% - 4em);
	}

	.around-you ul::after,
	.around-you ul li {
		width: 100%;
	}

	.around-you ul li h3 {
		text-align: left;
	}
}

@media screen and (max-width:780px) and (min-width:631px) {
	.around-you ul li {
		display: flex;
	}

	.around-you ul li img {
		width: 220px;
		height: 100%;
		max-height: 280px;
		aspect-ratio: unset;
		object-fit: cover;
		margin-right: 20px;
	}

	.around-you ul li div {
		width: calc(100% - 220px);
		text-align: center;
	}

	.around-you ul li div div.btn {
		display: inline-block;
		width: 220px;
	}
}

@media screen and (max-width:680px) {
	.around-you h2::before,
	.around-you h2::after,
	.block02.around-you h2::before,
	.block02.around-you h2::after {
		display: none;
	}
}

@media screen and (max-width:630px) {
	.block01.around-you .container,
	.block02.around-you .container {
		width: 100vw;
	}

	.around-you ul {
		width: auto;
		min-width: 100vw;
		padding-right: 20px;
		flex-wrap: nowrap;
		justify-content: left;
		gap: 0;
		overflow-x: scroll;
	}

	.around-you ul::after {
		display: none;
	}

	.around-you ul li {
		width: 82vw;
		margin-left: 20px;
		flex-shrink: 0;
	}
}


/*///////////////*/
/*// グループの歩み　//*/

.lead-block.history {
	position: relative;
}

.lead-block.history::before {
	content: '';
	display: block;
	width: 349px;
	height: 567px;
	position: absolute;
	right: 2%;
	top: 50px;
	background: url("../img/about/history/lead-bk.webp") left top no-repeat;
	background-size: 349px;
}

.lead-block.history h1::before {
	color: #756948;
}

.lead-block.history h2 {
	margin-bottom: -20px;
}

.block01.history {
	padding-top: 180px;
}

.block01.history::before {
	background: url(../img/curve/history.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.history::after {
	background-color: #F6F3EB;
}

.block01.history .guide-btn .btn a {
	width: 180px;
	color: #756948;
	border: none;
}

.block01.history .mark {
	display: flex;
	flex-wrap: wrap;
	justify-content: end;
	margin: 30px 0;
	font-size: 14px;
}

.block01.history .mark p span.e {
	color: #AC1334;
}

.block01.history .mark p span.m {
	color: #009C8D;
}

.block01.history ul {
	margin: 0;
	padding: 0;
}

.block01.history ul li {
	display: flex;
}

.block01.history ul li p.year {
	width: 120px;
	color: #756948;
	font-size: 32px;
}

.block01.history ul li .event,
.block01.history ul li .event_w {
	width: calc(100% - 120px);
	padding: 0 0 90px 58px;
	position: relative;
}

.block01.history ul li.short .event,
.block01.history ul li.short .event_w {
	padding-bottom: 10px;
}

.block01.history ul li .event::before,
.block01.history ul li .event_w::before {
	content: '';
	display: block;
	width: 2px;
	height: 100%;
	background: #756948;
	position: absolute;
	top: 40px;
	left: 9px;
}

.block01.history ul li:last-child .event::before {
	height: 70%;
	background: linear-gradient(#756948, #F6F3EB);
}

.block01.history ul li .event::after {
	content: '●';
	display: block;
	width: 20px;
	height: 100%;
	color: #F6F3EB;
	font-size: 20px;
	-webkit-text-stroke: 2px #756948;
	position: absolute;
	top: 16px;
	left: 0;
}

.block01.history ul li .event h3 {
	margin: 16px 0 0 -44px;
	padding-left: 40px;
	color: #756948;
	font-size: 20px;
	font-weight: 600;
	position: relative;
}

.block01.history ul li .event h3::before {
	content: '';
	display: block;
	width: 20px;
	height: 2px;
	background: #756948;
	position: absolute;
	top: 16px;
	left: 0;
}

.block01.history ul li .event h3 span.e {
	margin-left: 10px;
	color: #AC1334;
	font-size: 10px;
}

.block01.history ul li .event h3 span.m {
	margin-left: 10px;
	color: #009C8D;
	font-size: 10px;
}

.block01.history ul li .event h3 span.m-e {
	margin-left: 4px;
	color: #009C8D;
	font-size: 10px;
}

.block01.history ul li .event .photo {
	margin: 15px 0;
	padding: 4px;
	width: 250px;
	aspect-ratio: 1.5 / 1;
	overflow: hidden;
	background: #fff;
	border-radius: 8px;
}

.block01.history ul li .event .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border-radius: 8px;
}

.block01.history ul li .event .story {
	width: 100%;
	margin-top: 20px;
	display: flex;
	padding: 10px 24px 20px;
	background: #fff;
	border-radius: 10px;
}

.block01.history ul li .event .story h4 {
	margin: 22px 0 20px;
	color: #333;
	font-size: 20px;
}

.block01.history ul li .event .story div {
	width: 68%;
}

.block01.history ul li .event .story ul {
	display: block;
	width: 32%;
	margin: 10px 30px 0 0;
}

.block01.history ul li .event .story ul li {
	margin: 0 0 15px;
	width: 100%;
	aspect-ratio: 1.5 / 1;
	overflow: hidden;
}

.block01.history ul li .event .story ul li:last-child {
	margin-bottom: 0;
}

.block01.history ul li .event .story ul li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	margin: 0;
	border-radius: 10px;
}

.block01.history ul li .event .story ul li::before,
.block01.history ul li .event .story ul li::after {
	display: none;
}

.block01.history ul li .event .story p {
	margin: 10px 0 0;
	color: #333;
	font-size: 15px;
	line-height: 1.6;
}

.block01.history ul li .event .story div {
	width: calc(66% - 30px);
}

.block01.history ul li .event .story.short div {
	width: 100%;
}

.block01.history ul li .event .story.short div.with-img {
	width: calc(68% - 20px);
}

.block01.history ul li .event .story.short ul {
	display: block;
	width: 32%;
	margin: 10px 0 0 20px;
}

.block01.history ul li .event_w::after {
	content: '●';
	display: block;
	width: 20px;
	height: 100%;
	color: #756948;
	font-size: 16px;
	position: absolute;
	top: 20px;
	left: 2px;
}

.block01.history ul li .event_w p {
	margin: 16px 0 0 -44px;
	padding-left: 40px;
	color: #756948;
	font-size: 18px;
	font-weight: 500;
	position: relative;
}

.block01.history ul li .event_w p::before {
	content: '';
	display: block;
	width: 20px;
	height: 1px;
	border-bottom: 2px dotted #756948;
	position: absolute;
	top: 16px;
	left: 0;
}

.block02.history {
	padding-bottom: 0;
}

.block02.history iframe {
	margin-top: 30px;
	border-radius: 10px;
}

@media screen and (max-width:1500px) {
	.lead-block.history p {
		max-width: calc(100% - 350px);
	}
}

@media screen and (max-width:1080px) {
	.lead-block.history::before {
		right: 20px;
		top: 0;
		background: url("../img/about/history/lead-bk.webp") left top -20px no-repeat;
		background-size: 349px;
	}

	.block01.history ul li .event,
	.block01.history ul li .event_w {
		width: 100%;
	}

	.block01.history ul li .event .story {
		flex-wrap: wrap;
	}

	.block01.history ul li .event .story div,
	.block01.history ul li .event .story.short div.with-img {
		width: 100%;
		order: 1;
	}

	.block01.history ul li .event .story h4 {
		font-size: 18px;
	}

	.block01.history ul li .event .story ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: 100%;
		margin: 30px 0 0;
		order: 2;
	}

	.block01.history ul li .event .story ul::after {
		content: '';
		display: block;
		width: 32%;
	}
	
	.block01.history ul li .event .story ul li {
		width: 32%;
		margin-bottom: 0;
	}

	.block01.history ul li .event .story.short ul {
		width: 100%;
		margin: 10px 0 0;
	}

	.block02.history .movie {
		margin: 0 auto;
		text-align: center;
	}
	
	.block02.history iframe {
		width: 80%;
		height: auto;
		aspect-ratio: 1.78 / 1;
	}
}

@media screen and (max-width:980px) {
	.lead-block.history p {
		max-width: calc(100% - 320px);
	}

	.lead-block.history::before {
		right: 0;
		top: 0;
		background: url("../img/about/history/lead-bk.webp") right -20px top 0 no-repeat;
		background-size: 349px;
	}
}

@media screen and (max-width:780px) {

	.lead-block.history h2 {
		margin-bottom: -10px;
	}
	
	.lead-block.history p {
		max-width: 100%;
	}

	.lead-block.history::before {
		display: none;
	}

	.block01.history::before {
		background: url(../img/curve/history_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	.block01.history ul li p.year {
		padding-right: 12px;
		font-size: 32px;
	}
	
	.block01.history ul li .event h3 {
		text-align: left;
		font-size: 18px;
	}

	.block01.history ul li .event .story ul::after,
	.block01.history ul li .event .story ul li {
		width: 48%;
	}

	.block02.history iframe {
		width: 90%;
	}
}

@media screen and (max-width:630px) {
	.block01.history ul li p.year {
		padding-right: 6px;
		font-size: 28px;
	}

	.block01.history ul li .event h3::before {
		top: 10px;
	}

	.block01.history ul li .event::before {
		top: 30px;
	}
	
	.block01.history ul li .event::after {
		top: 10px;
	}

	.block01.history ul li .event .story ul::after {
		display: none;
	}

	.block01.history ul li .event .story ul li {
		width: 100%;
		margin-bottom: 20px;
	}

	.block01.history ul li .event .story h4 {
		line-height: 1.5;
	}

	.block01.history ul li .event .story p {
		font-size: 16px;
		line-height: 1.7;
	}

	.block02.history iframe {
		width: 100%;
	}
}

@media screen and (max-width:540px) {
	.block01.history ul li {
		flex-wrap: wrap;
		position: relative;
	}

	.block01.history ul li::before {
		content: '';
		display: block;
		width: 3px;
		height: 100%;
		background: #756948;
		position: absolute;
		top: 40px;
		left: 8px;
	}

	.block01.history ul li::after {
		content: '●';
		display: block;
		width: 20px;
		height: 100%;
		color: #F6F3EB;
		font-size: 20px;
		-webkit-text-stroke: 2px #756948;
		position: absolute;
		top: 20px;
		left: 0;
	}

	.block01.history ul li:last-child::before {
		background: linear-gradient(#756948, #F6F3EB);
	}

	.block01.history ul li p.year {
		width: 100%;
		margin: 16px 0 0 18px;
		padding: 0 0 0 20px;
		color: #756948;
		font-size: 22px;
		font-weight: 600;
		position: relative;
	}

	.block01.history ul li p.year::before {
		content: '';
		display: block;
		width: 16px;
		height: 2px;
		background: #756948;
		position: absolute;
		top: 50%;
		left: 0;
	}

	.block01.history ul li .event,
	.block01.history ul li.short .event {
		padding: 0 0 30px 38px;
	}

	.block01.history ul li .event_w,
	.block01.history ul li.short .event_w {
		padding: 0 0 30px 0;
	}

	.block01.history ul li.same-year::after,
	.block01.history ul li.same-year p.year::before {
		display: none;
	}

	.block01.history ul li.same-year p.year {
		margin-top: -10px;
		padding-top: 10px;
		border-top: 1px dashed #756948;
	}
	.block01.history ul li .event_w::before,
	.block01.history ul li .event_w::after {
		display: none;
	}

	.block01.history ul li .event_w p {
		width: 100%;
		margin: 16px 0 0 12px;
		padding-left: calc(25px + 0.5em);
		text-indent: -0.5em;
		line-height: 1.5;
		font-size: 17px;
		position: relative;
	}

	.block01.history ul li .event_w p::before {
		/*display: none;*/
		content: '・';
		display: inline-block;
		width: 1em;
		height: auto;
		border-bottom: none;
		position: relative;
		top: 0;
	}

	.block01.history ul li .event::before,
	.block01.history ul li .event::after,
	.block01.history ul li .event h3::before {
		display: none;
	}
}


/*///////////////*/
/*// 社会・未来への取り組み　//*/
.lead-block.future-society h1::before {
	color: #ADD596;
}

/* 概要　*/
.block01.future-society {
	padding: 180px 0 120px;
}

.f-bgimg-01 {
	position: absolute;
	top: 20px;
	left: 0;
	width: 100%;
	height: auto;
	max-width: 850px;
	max-height: 850px;
	aspect-ratio: 4 / 4;
	background: url(../img/about/earth.svg) left -120px top -10px no-repeat;
	background-size: auto;
	background-size: contain;
	z-index: 59;
}

.block01.future-society::before {
	background: url(../img/curve/future-society.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.future-society::after {
	background-color: #D1E8C4;
}

.block01.future-society .container {
	display: flex;
}

.block01.future-society .container .img {
	width: 50%;
	height: auto;
	padding-right: 40px;
}

.block01.future-society .container .img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.block01.future-society .container .outline {
	width: 50%;
}

.block02.future-society {
	padding: 180px 0 0;
	z-index: 51;
}

.block02.future-society .guide-btn .btn {
	margin: 0 auto 50px;
}

.block02.future-society h2 {
	margin: 120px 0 60px;
	font-size: 30px;
	position: relative;
}

.block02.future-society h2::after {
	content: '';
	display: block;
	width: calc(100% - 6em);
	height: 2px;
	position: absolute;
	top: 50%;
	right: 0;
	background: #000;
	border-radius: 2px;
}

.block02.future-society h2.t4::after {
	width: calc(100% - 5em);
}

.block02.future-society .depertment {
	display: flex;
	flex-direction: row;
	margin: 10px 0 50px;
}

.block02.future-society .depertment .img {
	width: 30%;
	height: auto;
	padding-right: 40px;
}

.block02.future-society .depertment .img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
	aspect-ratio: 1.5 / 1;
	object-fit: cover;
}

.block02.future-society .depertment .outline {
	width: 68%;
}

.block02.future-society .depertment .outline p {
	margin-top: 20px;
}

.block02.future-society .depertment .outline .btn {
	display: flex;
	justify-content: end;
	margin-top: 30px;
}

@media screen and (max-width:1080px) {
	.block02.future-society h2 {
		margin: 120px 0 40px;
	}

	.block02.future-society .depertment {
		display: flex;
		flex-wrap: wrap;
		margin: 20px 0 60px;
		padding: 50px 50px 0;
	}

	.block02.future-society .depertment .img {
		width: 100%;
		margin-bottom: 30px;
		padding-right: 0;
	}

	.block02.future-society .depertment .outline {
		width: 100%;
		margin-bottom: 20px;
	}
}

@media screen and (max-width:780px) {
	.block01.future-society {
		padding: 90px 0 60px;
	}

	.f-bgimg-01 {
		position: absolute;
		top: 20px;
		left: 0;
		width: 100%;
		height: auto;
		max-width: 780px;
		max-height: 780px;
		background: url(../img/about/earth.svg) left -80px top -10px no-repeat;
		background-size: auto;
		background-size: contain;
	}

	.block02.future-society {
		padding: 90px 0 0;
	}

	.block02.future-society h2 {
		margin: 80px 0;
	}

	.block02.future-society h2::before {
		content: '';
		display: block;
		width: calc(50% - 4em);
		height: 2px;
		position: absolute;
		top: 50%;
		left: 0;
		background: #000;
		border-radius: 2px;
	}
	
	.block02.future-society h2::after {
		width: calc(50% - 4em);
	}

	.block02.future-society h2.t4::before,
	.block02.future-society h2.t4::after {
		width: calc(50% - 3em);
	}

	.block01.future-society .container {
		flex-wrap: wrap;
		width: 100%;
	}

	.block01.future-society .container .img {
		order: 2;
	}

	.block01.future-society .container .outline {
		order: 1;
	}

	.block02.future-society .depertment {
		padding: 0 0 30px;
		border-bottom: 1px dashed #000;
	}

	.block02.future-society .depertment.last {
		border-bottom: none;
	}

	.block01.future-society .container .img {
		width: 100%;
		height: auto;
		padding: 30px;
	}

	.block01.future-society .container .outline {
		width: 100%;
		padding: 30px;
	}

	.block02.future-society .depertment .outline .btn {
		justify-content: center;
	}	
}

@media screen and (max-width:630px) {
	.block02.future-society .guide-btn .btn {
		margin: 30px auto 20px;
		gap: 10px;
	}

	.block02.future-society .guide-btn .btn::after,
	.block02.future-society .guide-btn .btn a {
		width: 90%;
	}

	.block02.future-society h2::before,
	.block02.future-society h2::after {
		width: calc(50% - 3em);
	}

	.block02.future-society h2.t4::before,
	.block02.future-society h2.t4::after {
		width: calc(50% - 2.5em);
	}

	.block02.future-society .depertment.last {
		padding-bottom: 0;
	}

}

@media screen and (max-width:540px) {
	.block02.future-society h2 {
		font-size: 28px;
		margin-bottom: 60px;
	}
}


/*///////////////*/
/*// 事業案内　//*/
.lead-block.business {
	position: relative;
}

.lead-block.business::before {
	content: '';
	width: 50%;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(106, 188, 203, 0.2);
}

.lead-block.business .img {
	width: 50%;
}

.lead-block.business .img img {
	width: 80%;
	margin: 0 auto;
}

.lead-block.business .guide {
	padding-left: 60px;
}

.lead-block.business h1::before {
	color: #D8C591;
}

.block01.business {
	padding: 200px 0 30px;
}

.block01.business::before {
	background: url(../img/curve/business.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.business::after {
	background-color: #F2E9D0;
}

.block01.business .guide-btn .btn a {
	width: 220px;
	color: #b9a369;
	border: none;
}

.block01.business .guide-btn .btn a:nth-child(3) {
	width: 240px;
	padding-top: 16px;
	font-size: 13px;
}

.block02.business {
	padding-bottom: 140px;
}

.block01.business .department {
	display: flex;
	width: 100%;
	margin-bottom: 150px;
}

.block01.business .department .outline {
	width: 50%;
}

.business .department h3 {
	margin-bottom: 30px;
	font-size: 24px;
	line-height: 1.3;
}

.business .department h3 span.sub-title {
	display: block;
	margin-bottom: 8px;
	font-size: 18px;
	font-weight: 500;
}

.block01.business .department .img {
	width: 50%;
	padding-left: 40px;
}

.block01.business .department .img img {
	width: 100%;
	aspect-ratio: 1.5 / 1;
	object-fit: cover;
	border-radius: 20px;
}

.business .department .btn {
	margin-top: 30px;
}

.block01.business .department .btn a {
	background: #D8C591;
}

.block02.business {
	padding: 180px 0 0;
}

.block02.business h2 {
	font-size: 28px;
}

.block02.business h2.other {
	padding-top: 30px;
}

.block02.business .department {
	display: flex;
	width: 100%;
	margin-bottom: 90px;
}

.block02.business .department .img {
	width: 37.5%;
	padding-right: 40px;
}

.block02.business .department .img img {
	width: 100%;
	aspect-ratio: 1.5 / 1;
	object-fit: cover;
	border-radius: 20px;
}

.block02.business .department .outline {
	width: 62.5%;
}

.block02.business .department_other {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
	width: 100%;
}

.block02.business .department_other div {
	width: 35%;
}

.block02.business .department_other div img {
	width: 100%;
	margin-bottom: 20px;
	aspect-ratio: 2 / 1;
	object-fit: cover;
	border-radius: 10px;
}

.block02.business .department_other p {
	margin: 20px 0;
}

@media screen and (max-width:1200px) {
	.lead-block.business .img img {
		width: 90%;
	}
}

@media screen and (max-width:780px) {
	.lead-block.business {
		padding-bottom: 0;
		z-index: 40;
	}

	.lead-block.business::before {
		display: none;
	}

	.lead-block.business .container_w {
		width: 100vw;
	}

	.lead-block.business .img {
		width: 100%;
		padding: 60px 0 90px 5px;
		text-align: center;
		background: rgba(106, 188, 203, 0.2);
		order: 2;
	}

	.lead-block.business .img img {
		width: 96%;
		max-width: 500px;
		margin: 0 auto;
	}

	.lead-block.business .guide {
		width: 85%;
		margin: 0 auto 60px;
		padding: 0;
		order: 1;
	}

	.lead-block.business .guide h2 {
		margin-top: 30px;
	}

	.block01.business {
		padding: 120px 0 30px;
	}

	.block01.business .department {
		flex-wrap: wrap;
		margin-top: 30px;
		padding-top: 30px;
		margin-bottom: 60px;
		padding-bottom: 60px;
		border-top: 1px dashed #b9a369;
		border-bottom: 1px dashed #b9a369;
	}

	.block01.business .department:last-child {
		margin-top: 0;
		margin-bottom: 0;
		padding-top: 0;
		border: none;
	}

	.block01.business .department .outline,
	.block01.business .department .img {
		width: 100%;
	}

	.block01.business .department .outline h3 {
		text-align: left;
	}

	.block01.business .department .img {
		margin-top: 40px;
		padding-left: 0;
		text-align: center;
	}

	.block02.business .department {
		flex-wrap: wrap;
		margin-bottom: 45px;
		padding-bottom: 45px;
		border-bottom: 1px dashed #000;
	}

	.block02.business .department .outline,
	.block02.business .department .img {
		width: 100%;
		text-align: center;
	}

	.block02.business .department .img {
		margin-bottom: 30px;
		padding-right: 0;
	}

	.block02.business .department .outline h3,
	.block02.business .department .outline p {
		text-align: left;
	}

	.block02.business .department_other div {
		width: 100%;
	}

	.block02.business .department_other div div {
		text-align: center;
	}
}

@media screen and (max-width:630px) {
	.block02.business .guide-btn .btn {
		margin: 0 auto 120px;
	}

	.block02.business .guide-btn .btn::after,
	.block02.business .guide-btn .btn a {
		width: calc(49% - 10px);
	}
}

@media screen and (max-width:450px) {
	.business .department h3 {
		font-size: 22px;
	}

	.business .department h3 span:after {
		content: '\A';
		white-space: pre;
	}

	.business .department h3 span.sub-title {
		font-size: 16px;
	}

	.business .department h3 span.sub-title::after {
		display: none;
	}
}


/*///////////////*/
/*// ひかり保育園　//*/
.lead-block.nursery h1::before {
	color: #F8E6A0;
}

/* 概要　*/
.block01.nursery {
	padding: 180px 0 120px;
}

.block01.nursery::before {
	background: url(../img/curve/nursery.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.nursery::after {
	background-color: #F9F1C4;
}

.block01.nursery .overview {
	display: flex;
}

.block01.nursery .overview .img {
	width: 50%;
	height: auto;
	padding-right: 40px;
}

.block01.nursery .overview .img img {
	width: 100%;
	height: auto;
	border-radius: 20px;
}

.block01.nursery .overview .img img.logo {
	width: 90px;
	height: auto;
	margin: 20px 0 0 2px;
	border-radius: 0;
}

.block01.nursery .overview .outline {
	width: 50%;
}

.block01.nursery .overview .outline p {
	margin-top: 20px;
	margin-bottom: 30px;
}

.block01.nursery .overview .outline dl {
	width: 100%;
	padding: 30px 30px calc(30px - 1em);
	display: flex;
	flex-wrap: wrap;
	background: #fff;
	border-radius: 10px;
}

.block01.nursery .overview .outline dl dt {
	width: 20%;
	margin-bottom: 1em;
}

.block01.nursery .overview .outline dl dd {
	width: 80%;
	margin-bottom: 1em;
}

@media screen and (max-width:1080px) {
	.block01.nursery .overview .outline dl dt,
	.block01.nursery .overview .outline dl dd {
		width: 100%;
	}

	.block01.nursery .overview .outline dl dt {
		margin-bottom: 0;
		text-decoration: underline;
	}
}

@media screen and (max-width:780px) {
	.block01.nursery::before {
		background: url(../img/curve/nursery_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	.block01.nursery .overview {
		flex-wrap: wrap;
	}

	.block01.nursery .overview .img,
	.block01.nursery .overview .outline {
		width: 100%;
	}

	.block01.nursery .overview .img {
		padding-right: 0;
	}

	.block01.nursery .overview .img img.logo {
		width: 80px;
		margin: 20px auto;
	}
}

/* 理念・保育方針　*/
.block02.nursery {
	padding: 180px 0 120px;
}

.block02.nursery .container {
	display: flex;
}

.block02.nursery h2 {
	margin-bottom: 90px;
}

.block02.nursery .slogan {
	margin-bottom: 60px;
	font-size: 18px;
	font-weight: 500;
}

.block02.nursery .slogan h3 {
	font-size: 24px;
}

.block02.nursery div ul {
	margin-left: 10px;
}

.block02.nursery div ul li:nth-child(2) {
	margin-left: 40px;
}

.block02.nursery div ul li h4 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-size: 20px;
	background: url(../img/business/nursery/underline-p.png) left bottom no-repeat;
	background-size: 200px;
}

.block02.nursery div ul li h4.color span:nth-child(1),
.block02.nursery div ul li h4.color span:nth-child(3) {
	font-size: 24px;
}

.block02.nursery div ul li:nth-child(2) h4 {
	background: url(../img/business/nursery/underline-y.png) left bottom no-repeat;
	background-size: 200px;
}

.block02.nursery div ul li:nth-child(3) h4 {
	background: url(../img/business/nursery/underline-g.png) left bottom no-repeat;
	background-size: 200px;
}

.block02.nursery div ul li p {
	width: 50%;
	margin: 0 0 40px 10px;
}

.block02.nursery ul.photo {
	margin: 20px 0 0 90px;
	position: relative;
}

.block02.nursery ul.photo li {
	position: absolute;
	display: flex;
	align-items: center;
	width: 340px;
	aspect-ratio: 4.25 / 2.85;
	overflow: hidden;
	border: 2px solid #fff;
	border-radius: 10px;
}

.block02.nursery ul.photo li:nth-child(1) {
	top: 0;
	left: 200px;
	transform: rotate(2.55deg);
	z-index: 67;
}

.block02.nursery ul.photo li:nth-child(2) {
	top: 190px;
	left: 0;
	transform: rotate(-3.48deg);
	z-index: 68;
}

.block02.nursery ul.photo li:nth-child(3) {
	top: 390px;
	left: 250px;
	transform: rotate(4.93deg);
	z-index: 69;
}

.block02.nursery ul.photo li img {
	width: 100%;
	border: 1px solid #fff;
	border-radius: 10px;
}

@media screen and (max-width:1200px) {
	.block02.nursery ul.photo {
		margin: 20px 0 0;
	}

	.block02.nursery ul.photo li {
		width: 300px;
	}

	.block02.nursery ul.photo li:nth-child(1) {
		left: 150px;
	}

	.block02.nursery ul.photo li:nth-child(2) {
		top: 180px;
	}

	.block02.nursery ul.photo li:nth-child(3) {
		top: 360px;
		left: 190px;
	}
}

@media screen and (max-width:1080px) {
	.block02.nursery .container {
		display: block;
	}

	.block02.nursery h2 {
		margin-bottom: 60px;
	}

	.block02.nursery div ul {
		display: flex;
	}

	.block02.nursery div ul li {
		width: 30%;
	}	

	.block02.nursery div ul li:nth-child(2) {
		margin-left: 0;
	}

	.block02.nursery div ul li p {
		width: 80%;
	}

	.block02.nursery ul.photo {
		min-height: 220px;
		margin-top: 40px;
	}

	.block02.nursery ul.photo li {
		width: 280px;
	}

	.block02.nursery ul.photo li:nth-child(1) {
		top: 0;
		left: 3%;
		transform: rotate(2.55deg);
	}

	.block02.nursery ul.photo li:nth-child(2) {
		top: 30px;
		left: 33%;
		transform: rotate(-3.48deg);
	}

	.block02.nursery ul.photo li:nth-child(3) {
		top: 0;
		left: 62%;
		transform: rotate(2.93deg);
	}
}

@media screen and (max-width:850px) {
	.block02.nursery ul.photo {
		min-height: 200px;
	}

	.block02.nursery ul.photo li {
		width: 250px;
	}
}

@media screen and (max-width:780px) {
	.block02.nursery .slogan {
		text-align: center;
	}

	.block02.nursery div ul {
		flex-wrap: wrap;
		justify-content: center;
	}

	.block02.nursery div ul li {
		width: 40%;
		margin-bottom: 30px;
		text-align: center;
	}
	
	.block02.nursery div ul li h4 {
		text-align: center;
	}

	.block02.nursery div ul li h4,
	.block02.nursery div ul li:nth-child(2) h4,
	.block02.nursery div ul li:nth-child(3) h4 {
		background-position: center bottom;
	}

	.block02.nursery div ul li p {
		width: 74%;
		margin: 0 auto;
	}

	.block02.nursery ul.photo {
		min-height: 150px;
	}

	.block02.nursery ul.photo li {
		width: 220px;
	}

	.block02.nursery ul.photo li:nth-child(1) {
		left: 0;
	}

	.block02.nursery ul.photo li:nth-child(2) {
		left: 33%;
	}

	.block02.nursery ul.photo li:nth-child(3) {
		left: 65%;
	}
}

@media screen and (max-width:630px) {
	.block02.nursery .slogan,
	.block02.nursery .slogan h3 {
		text-align: left;
	}
	
	.block02.nursery div ul li {
		width: 100%;
	}

	.block02.nursery ul.photo {
		min-height: 300px;
		margin-top: 30px;
	}

	.block02.nursery ul.photo li:nth-child(1) {
		left: 30%;
		transform: rotate(-2.55deg);
	}

	.block02.nursery ul.photo li:nth-child(2) {
		top: 120px;
		left: 0;
		transform: rotate(3.48deg);
	}

	.block02.nursery ul.photo li:nth-child(3) {
		top: 240px;
		left: 20%;
		transform: rotate(-2.93deg);
	}
}

@media screen and (max-width:540px) {
	.block02.nursery .slogan h3 span:after {
		content: '\A　';
		white-space: pre;
	}
}

@media screen and (max-width:680px) and (min-width:560px) {
	.block02.nursery .slogan p span.break:after {
		display: none;
	}
}


/* 特長　*/
.block03.nursery {
	padding: 220px 0 250px;
}

.block03.nursery::before {
	background: #BDDEE2;
	clip-path: polygon(0 0, 65% 30%, 65% 30%, 0 50%);
}

.block03.nursery::after {
	background: #E3F1F1;
	clip-path: polygon(0 2.5%, 100% 0, 100% 100%, 0% 95%);
}

.block03.nursery .advantages {
	margin: 30px 0 60px;
	display: flex;
	gap: 30px;
}

.block03.nursery .advantages li {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 125px;
	height: 125px;
	font-size: 18px;
	text-align: center;
	position: relative;
}

.block03.nursery .advantages li:nth-child(odd) {
	margin-top: 30px;
}

.block03.nursery .advantages li::before {
	display: block;
	content: '';
	width: 125px;
	height: 125px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.block03.nursery .advantages li:nth-child(1)::before {
	background: url(../img/business/nursery/ring01.svg) left top no-repeat;
	background-size: 120px;
}
.block03.nursery .advantages li:nth-child(2) {
	background: url(../img/business/nursery/ring02.svg) left top no-repeat;
	background-size: 116px;
}
.block03.nursery .advantages li:nth-child(3) {
	background: url(../img/business/nursery/ring03.svg) left top no-repeat;
	background-size: 120px;
}
.block03.nursery .advantages li:nth-child(4) {
	background: url(../img/business/nursery/ring04.svg) left top no-repeat;
	background-size: 119px;
}
.block03.nursery .advantages li:nth-child(5) {
	background: url(../img/business/nursery/ring05.svg) left top no-repeat;
	background-size: 117px;
}

.block03.nursery .features {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 60px;
}

.block03.nursery .features div {
	width: 380px;
	margin-bottom: 60px;
	font-size: 18px;
	text-align: center;
}

.block03.nursery .features div img {
	width: 100%;
	height: auto;
	margin-bottom: 20px;
	aspect-ratio: 7.6 / 5.06;
	border-radius: 20px;
}

.block03.nursery .unique {
	display: flex;
	padding: 20px;
	background: #fff;
	border-radius: 10px;
}

.block03.nursery .unique img {
	width: 250px;
	height: 166px;
	margin-right: 30px;
	overflow: hidden;
	border-radius: 10px;
}

.block03.nursery .unique p {
	margin-top: 10px;
}

.block03.nursery .unique p span {
	display: block;
	font-size: 20px;
	font-weight: 500;
	margin-bottom: 20px;
}

@media screen and (max-width:1300px) {
	.block03.nursery::before {
		clip-path: polygon(0 0, 80% 30%, 80% 30%, 0 50%);
	}

	.block03.nursery .features div {
		width: 30%;
	}
}

@media screen and (max-width:1080px) {
	.block03.nursery .features div {
		max-width: 300px;
	}
	.block03.nursery .unique p {
		width: calc(100% - 280px);
	}
}

@media screen and (max-width:780px) {
	.block03.nursery::before {
		clip-path: polygon(0 0, 80% 15%, 80% 15%, 0 50%);
	}

	.block03.nursery::after {
		clip-path: polygon(0 2%, 100% 0, 100% 100%, 0% 96%);
	}

	.block03.nursery .advantages {
		margin: 30px 0;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0;
	}

	.block03.nursery .advantages li {
		margin: 0 15px 20px;
	}

	.block03.nursery .advantages li:nth-child(odd) {
		margin-top: 0;
	}

	.block03.nursery .features div {
		width: 48%;
		margin-bottom: 30px;
	}
	
	.block03.nursery .unique img {
		width: 200px;
		height: 133px;
	}
}

@media screen and (max-width:630px) {
	.block03.nursery::before {
		clip-path: polygon(0 0, 100% 10%, 100% 10%, 0 50%);
	}

	.block03.nursery::after {
		clip-path: polygon(0 1.2%, 100% 0, 100% 100%, 0% 97%);
	}

	.block03.nursery .features div {
		width: 100%;
	}
	
	.block03.nursery .features {
		justify-content: center;
	}

	.block03.nursery .unique {
		display: block;
		text-align: center;
	}

	.block03.nursery .unique img {
		width: 250px;
		height: 166px;
		margin: 0 auto;
	}

	.block03.nursery .unique p {
		width: 100%;
		text-align: left;
	}

	.block03.nursery .unique p span {
		margin-bottom: 10px;
		text-align: center;
	}
}

@media screen and (max-width:420px) {
	.block03.nursery::after {
		clip-path: polygon(0 1.2%, 100% 0, 100% 100%, 0% 98%);
	}
}

/* 保護者の声、園児募集中　*/
.block04.nursery {
	margin-bottom: -230px;
	padding: 120px 0 180px;
}

.block04.nursery p {
	margin: 30px 0;
}

.block04.nursery .user-opinions {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 90px;
	padding-top: 10px;
}

.block04.nursery .user-opinions::after {
	content: '';
	display: block;
	width: 31%;
}

.block04.nursery .user-opinions div {
	position: relative;
	width: 31%;
	margin-bottom: 60px;
	padding: 0 30px;
	background: #D1E8C4;
	border-radius: 20px;
}

.block04.nursery .user-opinions div p {
	font-size: 15px;
	line-height: 1.6;
}

.block04.nursery .user-opinions div:nth-child(even) {
	background: #E3F1E3;
}

.block04.nursery .user-opinions div::after {
	content: "";
	position: absolute;
	bottom: 1px;
	left: 50%;
	border-style: solid;
	border-width: 28px 10px 0 10px;
	border-color: #D1E8C4 transparent transparent;
	translate: -50% 100%;
}

.block04.nursery .user-opinions div:nth-child(even)::after {
	border-color: #E3F1E3 transparent transparent;
}

.block04.nursery .user-opinions div:nth-child(2)::after,
.block04.nursery .user-opinions div:nth-child(4)::after,
.block04.nursery .user-opinions div:nth-child(8)::after,
.block04.nursery .user-opinions div:nth-child(9)::after,
.block04.nursery .user-opinions div:nth-child(13)::after,
.block04.nursery .user-opinions div:nth-child(18)::after,
.block04.nursery .user-opinions div:nth-child(20)::after {
	left: 50%;
}

.block04.nursery .user-opinions div:nth-child(1)::after,
.block04.nursery .user-opinions div:nth-child(5)::after,
.block04.nursery .user-opinions div:nth-child(6)::after,
.block04.nursery .user-opinions div:nth-child(10)::after,
.block04.nursery .user-opinions div:nth-child(12)::after,
.block04.nursery .user-opinions div:nth-child(14)::after,
.block04.nursery .user-opinions div:nth-child(16)::after {
	left: 20%;
}

.block04.nursery .user-opinions div:nth-child(3)::after,
.block04.nursery .user-opinions div:nth-child(7)::after,
.block04.nursery .user-opinions div:nth-child(11)::after,
.block04.nursery .user-opinions div:nth-child(15)::after,
.block04.nursery .user-opinions div:nth-child(17)::after,
.block04.nursery .user-opinions div:nth-child(19)::after {
	left: 80%;
}

.block04.nursery .contact-info {
	margin-bottom: 30px;
}

.block04.nursery .contact-info span {
	margin: 0 10px 0 0;
	font-size: 22px;
}

.block04.nursery .contact-btn .btn {
	margin-bottom: 20px;
}

.block04.nursery .contact-btn .btn a {
	width: 300px;
	color: #FFB1B1;
	border: 1px solid #FFB1B1;
}

.block04.nursery .contact-btn .btn.link a {
	color: #fff;
	background: #FFB1B1;
	border: none;
}

.readmore_n input,
.readmore_n label {
	display: none;
}

@media screen and (max-width:780px) {
	.block04.nursery .user-opinions div {
		width: 48%;
	}

	.block04.nursery .user-opinions div:nth-child(1)::after,
	.block04.nursery .user-opinions div:nth-child(3)::after,
	.block04.nursery .user-opinions div:nth-child(5)::after,
	.block04.nursery .user-opinions div:nth-child(7)::after,
	.block04.nursery .user-opinions div:nth-child(9)::after,
	.block04.nursery .user-opinions div:nth-child(11)::after,
	.block04.nursery .user-opinions div:nth-child(13)::after,
	.block04.nursery .user-opinions div:nth-child(15)::after,
	.block04.nursery .user-opinions div:nth-child(17)::after,
	.block04.nursery .user-opinions div:nth-child(19)::after,
	.block04.nursery .user-opinions div:nth-child(2)::after,
	.block04.nursery .user-opinions div:nth-child(4)::after,
	.block04.nursery .user-opinions div:nth-child(6)::after,
	.block04.nursery .user-opinions div:nth-child(8)::after,
	.block04.nursery .user-opinions div:nth-child(10)::after,
	.block04.nursery .user-opinions div:nth-child(12)::after,
	.block04.nursery .user-opinions div:nth-child(14)::after,
	.block04.nursery .user-opinions div:nth-child(18)::after,
	.block04.nursery .user-opinions div:nth-child(20)::after {
		left: 20%;
	}

	.block04.nursery {
		margin-bottom: -120px;
	}

	.block04.nursery .contact-info {
		text-align: center;
	}

	.block04.nursery .contact-btn {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 30px;
	}
}

@media screen and (max-width:530px) {
	.block04.nursery .user-opinions {
		height: 510px;
		position: relative;
		overflow: hidden;
	}

	.block04.nursery .user-opinions div {
		width: 100%;
		margin-bottom: 40px;
		padding: 0 15px;
	}

	.block04.nursery .user-opinions div::after {
		content: "";
		position: absolute;
		bottom: 1px;
		left: 50%;
		border-style: solid;
		border-width: 21px 8px 0 8px;
		border-color: #D1E8C4 transparent transparent;
		translate: -50% 100%;
	}

	.block04.nursery .user-opinions div:nth-child(1)::after,
	.block04.nursery .user-opinions div:nth-child(3)::after,
	.block04.nursery .user-opinions div:nth-child(5)::after,
	.block04.nursery .user-opinions div:nth-child(7)::after,
	.block04.nursery .user-opinions div:nth-child(9)::after,
	.block04.nursery .user-opinions div:nth-child(11)::after,
	.block04.nursery .user-opinions div:nth-child(13)::after,
	.block04.nursery .user-opinions div:nth-child(15)::after,
	.block04.nursery .user-opinions div:nth-child(17)::after,
	.block04.nursery .user-opinions div:nth-child(19)::after {
		left: 15%;
	}

	.block04.nursery .user-opinions div:nth-child(2)::after,
	.block04.nursery .user-opinions div:nth-child(4)::after,
	.block04.nursery .user-opinions div:nth-child(6)::after,
	.block04.nursery .user-opinions div:nth-child(8)::after,
	.block04.nursery .user-opinions div:nth-child(10)::after,
	.block04.nursery .user-opinions div:nth-child(12)::after,
	.block04.nursery .user-opinions div:nth-child(14)::after,
	.block04.nursery .user-opinions div:nth-child(18)::after,
	.block04.nursery .user-opinions div:nth-child(20)::after {
		left: 85%;
	}
	
	.readmore_n input,
	.readmore_n label {
		display: block;
	}

	.readmore_n {
		position: relative;
		margin: 0 auto 90px;
		padding: 0 0 10px;
	}

	.readmore_n label {
		position: absolute;
		display: block;
		left: 50%;
		bottom: 15px;
		margin: 0 auto;
		width: 222px;
		height: 50px;
		padding-top: 14px;
		font-size: 16px;
		text-align: center;
		color: #000;
		border: 1px solid #272D37;
		border-radius: 30px;
		transform: translateX(-50%);
		cursor: pointer;
		z-index: 1;
	}

	.readmore_n label::before {
		content: 'もっとみる';
	}

	.readmore_n input[type="checkbox"]:checked ~ label::before {
		content: '閉じる';
	}

	.readmore_n input[type="checkbox"] {
		display: none;
	}

	.readmore_n input[type="checkbox"]:checked ~ .user-opinions {
		height: auto;
	}

	.block04.nursery .contact-info {
		margin-left: -1em;
	}

	.block04.nursery .contact-info span:before {
		content: '　';
	}

	.block04.nursery .contact-info span:after {
		content: '\A';
		white-space: pre;
	}
}

/* イラスト配置　*/
.n01 {
	position: absolute;
	top: 100px;
	left: 0;
	width: 14%;
	height: auto;
	max-width: 210px;
	max-height: 54px;
	aspect-ratio: 3.9 / 1;
	background: url(../img/business/nursery/cloud1.svg) left -15px top no-repeat;
	background-size: contain;
	z-index: 61;
}

.n02 {
	position: absolute;
	top: 150px;
	left: calc(50% - 560px);
	width: 12%;
	height: auto;
	max-width: 180px;
	max-height: 48px;
	aspect-ratio: 3.4 / 9;
	background: url(../img/business/nursery/cloud2.svg) left top no-repeat;
	background-size: contain;
	z-index: 50;
}

.n03 {
	position: absolute;
	top: 0;
	right: 0;
	width: 21%;
	height: auto;
	max-width: 310px;
	max-height: 206px;
	aspect-ratio: 17.3 / 11.5;
	background: url(../img/business/nursery/sun.svg) right top no-repeat;
	background-size: contain;
	z-index: 63;
}

.n04 {
	position: absolute;
	top: 0;
	right: 62px;
	width: 15%;
	height: auto;
	max-width: 220px;
	max-height: 495px;
	aspect-ratio: 5 / 9;
	background: url(../img/business/nursery/rain.svg) right top no-repeat;
	background-size: contain;
	z-index: 64;
}

.n05 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 20%;
	height: auto;
	max-width: 300px;
	max-height: 188px;
	aspect-ratio: 8 / 5;
	background: url(../img/business/nursery/underwater.svg) left -5px top 20px no-repeat;
	background-size: contain;
	z-index: 65;
}

.n06 {
	position: absolute;
	right: 32px;
	bottom: 0;
	width: 23.3%;
	height: auto;
	max-width: 350px;
	max-height: 172px;
	aspect-ratio: 2.035 / 1;
	background: url(../img/business/nursery/grass.svg) right bottom -30px no-repeat;
	background-size: contain;
	z-index: 64;
}

@media screen and (max-width:1300px) {
	.n02 {
		left: 10%;
	}

	.n05 {
		width: 15%;
		bottom: 40px;
	}
}

@media screen and (max-width:1080px) {
	.n01 {
		width: 21%;
	}

	.n02 {
		width: 18%;
	}

	.n03 {
		width: 26%;
	}

	.n05 {
		width: 20%;
		bottom: 30px;
	}

	.n06 {
		width: 28%;
	}
}

@media screen and (max-width:850px) {
	.n06 {
		width: 32%;
		background: url(../img/business/nursery/grass.svg) right bottom -10px no-repeat;
		background-size: contain;
	}
}

@media screen and (max-width:780px) {
	.n04 {
		width: 20%;
		right: 30px;
	}
	.n05 {
		width: 30%;
		bottom: 10px;
	}
}

@media screen and (max-width:630px) {
	.n05 {
		bottom: 30px;
	}
}

@media screen and (max-width:530px) {
	.n01 {
		width: 32%;
	}

	.n02 {
		width: 28%;
	}

	.n03 {
		width: 40%;
	}

	.n04 {
		width: 28%;
		right: 20px;
	}

	.n05 {
		width: 35%;
		background: url(../img/business/nursery/underwater.svg) left -5px top 20px no-repeat;
		background-size: contain;
	}

	.n06 {
		width: 47%;
		right: 20px;
	}
}

@media screen and (max-width:420px) {
	.n05 {
		width: 40%;
		bottom: 20px;
	}
}


/*///////////////*/
/*// ひかり保育園 お問い合わせ　//*/
.cn01 {
	position: absolute;
	top: 0;
	right: 24px;
	width: 24%;
	height: auto;
	max-width: 350px;
	max-height: 230px;
	aspect-ratio: 7 / 4.6;
	background: url(../img/business/nursery/sun_contact.svg) right top no-repeat;
	background-size: contain;
	z-index: 56;
}

.cn02 {
	position: absolute;
	right: 24px;
	bottom: 100px;
	width: 29%;
	height: auto;
	max-width: 435px;
	max-height: 113px;
	aspect-ratio: 29 / 7.6;
	background: url(../img/business/nursery/water-surface.svg) right top no-repeat;
	background-size: contain;
	z-index: 57;
}

@media screen and (max-width:1200px) {
	.cn01 {
		width: 32%;
	}
}

@media screen and (max-width:780px) {
	.cn01 {
		right: 12px;
		width: 30%;
	}

	.cn02 {
		right: 12px;
		bottom: 50px;
		width: 36%;
	}
}

@media screen and (max-width:630px) {
	.cn01 {
		width: 36%;
	}

	.cn02 {
		bottom: 24px;
		width: 45%;
	}
}


/*///////////////*/
/*// ひかり奨学会　//*/
.lead-block.scholarship h1::before {
	color: #D8C591;
}

.block01.scholarship::before {
	background: url(../img/curve/business.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.scholarship::after {
	background-color: #F2E9D0;
}

.block01.scholarship {
	padding: 180px 0 90px;
}

.block01.scholarship.short {
	padding: 160px 0 120px;
}

.block01.scholarship.short,
.block01.scholarship.long {
	padding-top: 140px;
}

.block01.scholarship ul {
	margin: 0 0 60px 1em;
}

.block01.scholarship ul li {
	width: 100%;
	margin-bottom: 1.5em;
	list-style: disc;
}

.block01.scholarship p {
	margin-top: 30px;
}

.block01.scholarship p a {
	color: #1D82E9;
}

.block01.scholarship dl.faq {
	margin: 0 0 120px;
	height: 500px;
	position: relative;
	overflow: hidden;
}

.block01.scholarship dl.faq dt {
	padding: 30px 0 25px 75px;
	font-weight: bold;
	font-size: 18px;
	position: relative;
}

.block01.scholarship dl.faq dt::before {
	content: 'Q';
	position: absolute;
	left: 40px;
	top: 26px;
	font-size: 22px;
}

.block01.scholarship dl.faq dd {
	padding: 4px 0 50px 75px;
	border-bottom: 1px dotted #000;
	position: relative;
}

.block01.scholarship dl.faq dd:last-child {
	padding: 4px 0 0 75px;
	border-bottom: none;
}

.block01.scholarship dl.faq dd::before {
	content: 'A';
	position: absolute;
	left: 41px;
	top: 0;
	font-weight: bold;
	font-size: 22px;
}

.block01.scholarship dl.faq dd span {
	margin-right: 3px;
	color: #AC1334;
}

.readmore {
	position: relative;
	margin: 0 auto 90px;
	padding: 0 0 10px;
}

.readmore label {
	position: absolute;
	display: block;
	left: 50%;
	bottom: 15px;
	margin: 0 auto;
	width: 222px;
	height: 50px;
	padding-top: 14px;
	font-size: 16px;
	text-align: center;
	color: #000;
	border: 1px solid #272D37;
	border-radius: 30px;
	transform: translateX(-50%);
	cursor: pointer;
	z-index: 1;
}

.readmore label::before {
	content: 'もっとみる';
}

.readmore input[type="checkbox"]:checked ~ label::before {
	content: '閉じる';
}

.readmore input[type="checkbox"] {
	display: none;
}

.readmore input[type="checkbox"]:checked ~ dl.faq {
	height: auto;
}

.block01.scholarship .dl-pdf .message {
	margin-bottom: 60px;
	display: flex;
	gap: 40px;
}

.block01.scholarship .dl-pdf .message img {
	width: 340px;
	height: auto;
	border-radius: 10px;
}

.block01.scholarship .dl-pdf .message p {
	margin-top: 5px;
}

.block01.scholarship .terms {
	margin: 10px 0 60px;
	display: flex;
	gap: 30px;
}

.block01.scholarship .terms-apply {
	margin: 30px 0;
	display: flex;
	gap: 30px;
}

.block01.scholarship .dl-pdf h3 {
	font-size: 22px;
}

.block01.scholarship .dl-pdf .pdf-list {
	margin-top: 30px;
	display: flex;
	flex-wrap: wrap;
}

.block01.scholarship .dl-pdf .pdf-list li {
	width: 33%;
	margin-bottom: 20px;
	display: flex;
	align-items: center;
}

.block01.scholarship .dl-pdf .pdf-list li a {
	display: block;
	color: #1D82E9;
	text-decoration: underline;
}

.block01.scholarship .dl-pdf .pdf-list li::before {
	content: url(../img/pdf.png);
	margin-top: 3px;
	margin-right: 8px;
}

.block01.scholarship .dl-pdf span {
	display: block;
	margin: -10px 0 0;
	padding-bottom: 20px;
	text-align: right;
	font-size: 14px;
}

.block01.scholarship .dl-pdf .flow {
	margin: 30px 0 90px;
}

.block01.scholarship .dl-pdf table span {
	display: block;
	margin: 0;
	padding-bottom: 0;
	text-align: center;
	font-size: 16px;
}

.block01.scholarship .dl-pdf table tr td p span {
	display: inline-block;
	margin-right: 5px;
	padding: 0px 8px;
	color: rgb(255, 255, 255);
	font-size: 12px;
	background: rgb(0, 0, 0);
	border-radius: 5px;
}

.block02.scholarship {
	padding-bottom: 0;
}

.block02.scholarship .terms {
	margin: 60px 0 120px;
	display: flex;
	gap: 30px;
}

.block02.scholarship .contact-info {
	margin-top: 30px;
	font-size: 20px;
}

.block02.scholarship .contact-info span {
	display: block;
	margin: 10px 0 0 20px;
}

.block02.scholarship .contact-info img {
	width: 250px;
	height: 20px;
	margin: 5px 0 0 20px;
}

@media screen and (max-width:780px) {
	.block01.scholarship::before {
		background: url(../img/curve/business_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	.block01.scholarship .dl-pdf h3 {
		margin-top: 60px;
	}

	.block01.scholarship .terms,
	.block01.scholarship .terms-apply {
		justify-content: center;
	}

	.block01.scholarship .dl-pdf .flow {
    	padding: 30px 30px 50px 30px;
	}

	.block01.scholarship .dl-pdf .pdf-list li {
		width: 48%;
	}

	.block01.scholarship dl.faq dt {
		padding: 30px 0 25px 35px;
	}

	.block01.scholarship dl.faq dt::before {
		left: 10px;
	}

	.block01.scholarship dl.faq dd {
		padding: 4px 0 50px 35px;
	}

	.block01.scholarship dl.faq dd:last-child {
		padding: 4px 0 0 35px;
	}
	
	.block01.scholarship dl.faq dd::before {
		left: 11px;
	}

	.block01.scholarship .dl-pdf .message {
		margin-bottom: 30px;
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.block01.scholarship .dl-pdf .message img {
		width: 100%;
		height: auto;
		border-radius: 10px;
		order: 2;
	}

	.block01.scholarship .dl-pdf .message div {
		order: 1;
	}
	
	.block01.scholarship .dl-pdf table tr td p span {
		background: #666;
	}

	.block02.scholarship .terms {
		flex-wrap: wrap;
		justify-content: center;
	}
}

@media screen and (max-width:630px) {
	.block01.scholarship .dl-pdf .pdf-list li {
		width: 98%;
	}

	.block01.scholarship dl.faq {
		height: 580px;
	}
}

@media screen and (max-width:530px) {

	.block01.scholarship {
		padding: 90px 0 0;
	}

	.block01.scholarship.short {
		padding: 90px 0 30px;
	}

	.block01.scholarship dl.faq {
		height: 700px;
	}
}

/* table　*/
.block01.scholarship .flow {
	margin: 30px 0 120px;
	padding: 60px;
	background: #fff;
	border-radius: 30px;
}

.block01.scholarship table {
	border-spacing: 10px;
	border-collapse: collapse;
}

.block01.scholarship table tr th {
	width: 150px;
	height: 100%;
	position: relative;
	font-weight: normal;
	z-index: auto;
}

.block01.scholarship table tr th span {
	width: 100%;
	text-align: center;
	position: absolute;
	top: calc(50% - 10px);
	left: -10px;
	z-index: 31;
}

.block01.scholarship table tr th::before {
	content: '';
	display: block;
	width: calc(100% - 20px);
	height: calc(100% - 10px);
	margin-top: 5px;
	position: absolute;
	top: 0;
	left: 0;
	border-radius: 10px;
	z-index: 30;
}

.block01.scholarship table tr th.m9 {
	display: block;
	min-height: 90px;
}

.block01.scholarship table tr.m12 th,
.block01.scholarship table tr.m1 th,
.block01.scholarship table tr.m2 th,
.block01.scholarship table tr.m3 th,
.block01.scholarship table tr.y1 th,
.block01.scholarship table tr.y4 th {
	display: block;
	height: 12px;
}
.block01.scholarship table tr th.y2-3 {
	color: #fff;
}
.block01.scholarship table tr th.m8::before {
	background: #FFE585;
}
.block01.scholarship table tr th.m9::before {
	background: #F8D9A0;
}
.block01.scholarship table tr th.m10::before {
	background: #F8C8A0;
}
.block01.scholarship table tr th.m11::before {
	background: #C5AD8B;
}
.block01.scholarship table tr.m12 th::before {
	height: 12px;
	background: #CBC2B6;
}
.block01.scholarship table tr.m1 th::before {
	height: 12px;
	background: #9ECDD8;
}
.block01.scholarship table tr.m2 th::before {
	height: 12px;
	background: #B6C2D8;
}
.block01.scholarship table tr.m3 th::before {
	height: 12px;
	background: #D1C7DD;
}
.block01.scholarship table tr th.m4::before {
	background: #FFE1E1;
}
.block01.scholarship table tr th.m5::before {
	background: #E0EDC2;
}
.block01.scholarship table tr.y1 th::before {
	width: 24px;
	height: 12px;
	left: calc(50% - 22px);
	background: #9BBDA9;
}
.block01.scholarship table tr th.y2-3::before {
	background: #435676;
}
.block01.scholarship table tr.y4 th::before {
	width: 24px;
	height: 12px;
	left: calc(50% - 22px);
	background: #435676;
}
.block01.scholarship table tr th.graduation::before {
	border: 3px solid #435676;
	background: #fff;
}

.block01.scholarship table tr td {
	padding: 10px;
	border-top: 1px solid #000;
}

.block01.scholarship table tr.m12 td,
.block01.scholarship table tr.m1 td,
.block01.scholarship table tr.m2 td,
.block01.scholarship table tr.m3 td,
.block01.scholarship table tr.y1 td,
.block01.scholarship table tr.y4 td {
	font-size: 6px;
	height: 12px;
}

.block01.scholarship table tr.m1 td,
.block01.scholarship table tr.m2 td,
.block01.scholarship table tr.m3 td,
.block01.scholarship table tr.y1 td,
.block01.scholarship table tr.y4 td,
.block01.scholarship table tr td.bt-none {
	border: none;
}

.block01.scholarship table tr td.text-t {
	display: flex;
	align-items: top;
}

.block01.scholarship table tr td p {
	margin-top: 20px;
	display: flex;
	align-items: center;
}

.block01.scholarship table tr td p span {
	display: inline-block;
	margin-right: 5px;
	padding: 0 8px;
	color: #fff;
	font-size: 12px;
	background: #000;
	border-radius: 5px;
}

.block01.scholarship table tr td dl {
	display: flex;
	align-items: start;
	gap: 60px;
	margin: 0 30px;
	font-size: 14px;
}

.block01.scholarship table tr td dl dd {
	margin-bottom: 5px;
}

@media screen and (max-width:1200px) {
	.block01.scholarship table tr th {
		width: 120px;
	}
	
	.block01.scholarship table tr td p {
		line-height: 1.2;
	}

	.block01.scholarship table tr td dl dt {
		width: 25%;
	}

	.block01.scholarship table tr td dl div {
		width: 75%;
	}
}


@media screen and (max-width:780px) {
	.block01.scholarship .flow {
		padding: 30px;
	}

	.block01.scholarship table {
		width: 100%;
	}

	.block01.scholarship table tr th,
	.block01.scholarship table tr td {
		display: block;
		width: 100%;
	}

	.block01.scholarship table tr th::before {
		width: 100%;
		height: 100%;
	}

	.block01.scholarship table tr th span {
		top: calc(50% - 5px);
		left: 0;
	}

	.block01.scholarship table tr th,
	.block01.scholarship table tr th.m9 {
		min-height: 40px;
	}

	.block01.scholarship table tr td {
		padding: 30px 0 0;
		text-align: center;
		border: none;
	}

	.block01.scholarship table tr td.text-t {
		display: block;
	}

	.block01.scholarship table tr td p {
		width: 100%;
		justify-content: left;
		margin-top: 15px;
	}

	.block01.scholarship table tr td p span {
		background: #666;
	}

	.block01.scholarship table tr td.m9 p {
		margin-top: 0;
	}

	.block01.scholarship table tr td dl {
		width: 94%;
		margin: 0 0 30px 1%;
		padding: 20px;
		text-align: left;
		flex-wrap: wrap;
		gap: 20px;
		border: 1px dotted #000;
	}
	
	.block01.scholarship table tr td dl dt {
		font-weight: 500;
		text-decoration: underline;
	}

	.block01.scholarship table tr td dl dt,
	.block01.scholarship table tr td dl div {
		width: 100%;
	}

	.block01.scholarship table tr th.m5::before {
	background: #b8cb8d;
	}

	.block01.scholarship table tr.m12,
	.block01.scholarship table tr.m1,
	.block01.scholarship table tr.m2,
	.block01.scholarship table tr.m3,
	.block01.scholarship table tr.y1,
	.block01.scholarship table tr.y4 {
		display: none;
	}
}


/*///////////////*/
/*// その他ページ 共通　//*/
.lead-block.other h1::before {
	color: #435676;
}

.block01.other {
	padding: 120px 0 180px;
}

.block01.other::before {
	background: url(../img/curve/other.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.other::after {
	background-color: #eff0f3;
}

.lead-block.other p {
	margin: 0 0 20px 0;
}

.lead-block.other ul li {
	list-style: disc;
	margin: 0 0 10px 30px;
	line-height: 1.8;
}

@media screen and (max-width:780px) {
	.block01.other::before {
		background: url(../img/curve/other_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}
}


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

.block01.company {
   	padding: 160px 0 180px;
}

.block01.company .c-name {
   	margin: 0 0 120px 0;
}

.block01.company .c-name div {
	display: flex;
	justify-content: space-between;
}

.block01.company .c-name h2 {
	width: 50%;
}

.block01.company .btn a {
	color: #fff;
	background: #435676;
	border: 1px solid #435676;
}

/* テーブルの基本スタイル */
.c-table table {
	width: 100%;
	display: table;
	border-collapse: collapse; 
	border: 1px solid #000;
}

.c-table th, 
.c-table td {
	padding: 16px;
	border: 1px solid #000;
	text-align: left;
}

.c-table th {
	background-color: #EFF0F0;
	width: 20%; 
	padding: 16px 16px 16px 30px;
}

.c-table td {
	background-color: #fff;
	padding: 16px 16px 16px 50px;
}

.c-table td:first-child {
	background-color: #EFF0F0;
	width: 20%; 
	padding: 16px 16px 16px 30px;
}

.c-table td:not(:first-child) {
	background-color: #fff;
	padding: 16px 16px 16px 50px;
}

.c-table td a {
	display: inline-block;
	margin-top: 5px;
	color: #1D82E9;
	text-decoration: underline;
}

.c-table-list li {
	padding: 4px 0 20px 0;
}

.c-table-list.sales {
	display: flex;
	flex-direction: row;
}

.c-table-list.sales li {
	padding: 10px 0 0 0;
}

.c-table-list.sales li.none-title {
	padding: 34px 0 0 50px;
}
/**/

.block02.company {
	padding: 180px 0 0;
}

.c-type02 .container div {
	display: flex;
	flex-direction: column;
	margin: 0 0 60px 0;
}

.c-type02 h2 {
	font-size: min(2.4vw, 24px);
	margin-bottom: 40px;
	letter-spacing: 0.05em;
	letter-spacing: .2rem;
	line-height: 1.1;
}

.c-type02 h2::before{
	color: #435676;
	content: '●';
	margin-right: 10px;
}

.c-type03 {
	margin: 0 0 60px 0;
}

/* 沿革テーブル */
.c-table-h table {
	width: 100%;
}

.c-table-h tr {
	padding: 8px 0;
	line-height: 1.5;
	display: flex;
	flex-direction: row;
}

.c-table-h th {
	display: inline-block;
	width: 20%;
	height: auto;
	padding: 10px; 
	margin-right: 15px;
}

.c-table-h td {
	margin-left: 0;
	padding: 10px 20px 10px 0;
	line-height: 1.6;
	border: none;
}

.c-table-h td:first-child {
	display: inline-block;
	width: 20%;
	height: auto;
	padding: 3px 10px; 
	margin-right: 15px;
}
/**/

@media screen and (max-width: 1080px) {
	.responsive-table, 
	.responsive-table tbody, 
	.responsive-table tr, 
	.responsive-table td {
		display: block;
		width: 100%;
	}

	.responsive-table th {
		display: block;
		width: 100%;
		padding: 16px 20px 5px 0;
		text-align: left;
	}

	.responsive-table tr {
		border-radius: 4px;
	}
	
	.responsive-table td {
		padding: 16px 20px 16px 20px;
	}

	.responsive-table td:first-child {
		width: 100%;
		padding: 16px 20px 5px 20px;
		text-align: left;
	}

	.responsive-table td:not(:first-child) {
		padding: 16px 20px 16px 20px;
	}

	.c-table td:first-child {
		width: 100%;
		border: none;
		padding-left: 20px;
	}

	.c-table td:not(:first-child) {
		border: none;
		border-bottom: 1px solid #000;
		padding-left: 20px;
	}

	.c-table tr:last-child td {
		border-bottom: none;
	}

	.block01.company {
		padding: 120px 0 90px;
	}

	.block01.company .container {
		margin-bottom: 30px;
	}

	.block01.company .c-name {
		margin: 0 0 60px 0;
	}

	.block01.company .c-name div {
		display: flex;
		flex-direction: column;
	}

	.block01.company .c-name h2 {
		width: 100%;
		text-align: left;
		margin-bottom: 20px;
	}

	.block01.company .btn a {
		color: #fff;
		background: #435676;
		border: 1px solid #435676;
		margin: 0 0 20px 0;
		width: 28%;
		height: 46px;
		padding-top: 10px;
	}

	.block01.company .btn a::after {
		display: none;
	}

	.c-table-h table {
		border-collapse: collapse;
		padding: 0;
		width: 100%;
	}

	.c-table-h tr {
		border-bottom: 1px dotted #000;
	}

	.c-table th {
		width: 100%;
		border: none;
		margin: 0;
		padding: 10px 20px 10px 20px;
		font-weight: bold;
	}

	.c-table-h td {
		margin-left: 0;
		padding: 10px 20px 10px 20px;
		border: none;
		line-height: 1.6;
	}

	.c-table-h td:first-child {
		margin: 0;
		background-color: #fff;
		font-size: 1.1em;
		padding: 10px 20px 10px 0;
	}

	.c-table-h td:not(:first-child) {
		margin-left: 0;
		padding: 10px 20px 10px 0;
		line-height: 1.6;
	}

	.c-table-h tr:last-child td {
		border-bottom: none;
	}

	.c-type01.banner {
		background-position: 660px 0;
		font-size: 16px;
	}

	.c-type01.banner p.text01 {
   		position: relative;
		display: block;
		width: 70%;
		top: 40px;
		left: 40px;
	}

	.c-type01.banner p.text01 span {
		font-size: 28px;
	}

	.c-type01.banner p.text02 {
		position: relative;
		display: block;
		width: 40%;
		top: 50px;
		left: 560px;
	}
}

@media screen and (max-width:930px) {
	.c-type01.banner {
		background-position: 600px 0 ;
	}

	.c-type01.banner p.text01 {
		top: 40px;
		left: 40px;
	}

	.c-type01.banner p.text01 span {
		font-size: 24px;
	}

	.c-type01.banner p.text02 {
		width: 40%;
		top: 50px;
		left: 450px;
	}
}

@media screen and (max-width:780px) {
	.block01.company {
		padding: 140px 0 60px;
	}

	.block01.company .c-name {
		margin: 0 0 60px 0;
	}

	.block01.company .btn a {
		width: 222px;
	}

	.c-table-list li {
		padding: 4px 0 20px 0;
	}

	.c-table-list.sales {
		display: flex;
		flex-direction: column;
	}

	.c-table-list.sales li {
		padding: 4px 0 20px 0;
	}

	.c-table-list.sales li.none-title {
		padding: 4px 0 20px 0;
	}

	.c-type02 h2 {
		font-size: 24px;
		text-align: left;
		margin-bottom: 40px;
		letter-spacing: 0.05em;
		letter-spacing: .2rem;
		line-height: 1.1;
	}

	.c-type01.banner {
		background-position: 96% 0 ;
	}

	.c-type01.banner p.text01 {
		top: 40px;
		left: 40px;
		width: 50%;
	}

	.c-type01.banner p.text01 span {
		font-size: 20px;
	}

	.c-type01.banner p.text02 {
		width: 40%;
		top: 50px;
		left: 140px;
	}
}

/*サイト内リンクバナー*/
.c-type-banner {
	width: 100%;
	height: 245px;
	padding: 50px 70px;
	color: #272D37;
	font-size: 18px;
	border: 2px solid #F0EDE4;
	border-radius: 30px;
	background: #FDFBF6;
	background-image: url("../img/company/b-history.png");
	background-size: 228px;
	background-repeat: no-repeat;
	background-position: right 30px bottom 0;
	box-shadow: 3px 3px 6px -3px gray;
}

.c-type-banner p.text01 {
	position: relative;
	display: block;
	width: 70%;
	top: 0;
	left: 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
}

.c-type-banner p.text01 span {
	display: block;
	margin-top: 8px;
	font-size: 32px;
}

.c-type-banner p.text02 {
	display: block;
	width: auto;
	margin-top: 30px;
	padding-left: 68%;
	top: 0;
	left: 0;
}

.c-type-banner p.text02::after {
	content: '→';
	position: relative;
	top: 0;
	right: 0;
	color: #272D37;
}

@media screen and (max-width: 1250px) {
	.c-type-banner p.text02 {
		padding-left: 62%;
	}
}

@media screen and (max-width: 1080px) {
	.c-type-banner {
		padding: 40px;
		font-size: 16px;
	}

	.c-type-banner p.text01 {
		position: relative;
		display: block;
		font-size: 15px;
	}

	.c-type-banner p.text01 span {
		font-size: 28px;
}

	.c-type-banner p.text02 {
		position: relative;
		display: block;
		margin-top: 50px;
		padding-left: 0;
	}
}

@media screen and (max-width:930px) {
	.c-type-banner p.text01 span {
		font-size: 26px;
	}

	.c-type-banner p.text01,
	.c-type-banner p.text02,
	.c-type-banner::before {
		text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,
					-1px 1px 0 #fff, 1px -1px 0 #fff,
					1px 0 0 #fff, -1px 0 0 #fff,
					0 1px 0 #fff, 0 -1px 0 #fff;
	}
}

@media screen and (max-width:850px) {
	.c-type-banner p.text01 {
		width: 70%;
	}
}

@media screen and (max-width:780px) {
	.c-type-banner {
		background-position: 96% 0 ;
	}
	
	.c-type-banner p.text01 {
		width: 63%;
		font-weight: 400;
	}

	.c-type-banner p.text01 span {
		font-size: 20px;
	}
}

@media screen and (max-width:670px) {
	.c-type-banner {
		padding: 50px 30px;
		background-size: 250px;
		background-position: right 0 bottom 0;
	}
	
	.c-type-banner {
		position: relative;
	}
	.c-type-banner::before {
		content: '八光グループの歩み';
		position: absolute;
		top: 30px;
		left: 25px;
		font-size: 26px;
		font-weight: 500;
	}
	
	.c-type-banner p.text01 {
		display: none;
	}
	
	.c-type-banner p.text02 {
		position: relative;
		margin-top: 30px;
		padding-top: 110px;
		width: 100%;
	}

	.c-type-banner p.text02::before {
		white-space: pre;
		content: '始まりは慶長元年、\A製造業を始めて80余年。';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		display: block;
	}
}

@media screen and (max-width:560px) {
	.c-type-banner {
		background-position: right -90px bottom 0;
	}
}


/*///////////////*/
/*// お知らせ　//*/

/* 一覧　*/
.lead-block.info h1::before {
	color: #91A5D3;
}

.block01.info::before {
	background: url(../img/curve/info.svg) left -3px top 0 no-repeat;
	background-size: calc(100% + 10px);
}

.block01.info::after {
	background-color: #E7EFF7;
}

.block01.info ul.info {
	margin-top: -30px;
}

.block01.info ul.info li {
	margin-bottom: 60px;
}

.pagination .nav-links {
	margin-right: 40px;
	padding-top: 30px;
	display: flex;
	justify-content: end;
	gap: 15px;
}

.pagination a:hover {
	text-decoration: underline;
}

@media screen and (max-width:1080px) {
	.block01.info ul.info li {
		margin: 16px 0 22px;
	}

	.pagination {
		margin-right: 30px;
	}
}

@media screen and (max-width:780px) {
	
	.block01.info ul.info {
		margin-top: 0;
	}

	.pagination {
		padding-top: 40px;
	}
}

/* 詳細　*/
div.date {
	margin-top: -30px;
	margin-bottom: 20px;
}

div.date::after {
	content: 'カテゴリ';
	display: inline-block;
	width: 120px;
	height: 24px;
	margin-left: 10px;
	padding-top: 3px;
	color: #fff;
	font-size: 12px;
	text-align: center;
	background: #000;
	border-radius: 20px;
}

div.date.category-group::after {
	content: 'グループ';
	background: #4165A5;
}
div.date.category-electric::after {
	content: '電　機';
	background: #AC1334;
}
div.date.category-medical::after {
	content: 'メディカル';
	background: #009C8D;
}
div.date.category-digital-solutions::after {
	content: 'デジタルソリューション';
	padding-top: 4px;
	font-size: 10px;
	letter-spacing: -0.1em;
	background: #1D82E9;
}
div.date.category-nursery::after {
	content: '保育園';
	background: #F1B340;
}
div.date.category-tourism-culture::after {
	content: '観光・文化';
	background: #6B8D1E;
}
div.date.category-recruit::after {
	content: '採用情報';
	background: #b9a369;
}
div.date.category-others::after {
	content: 'その他';
	background: #000;
}

.article {
	width: 100%;
	margin-top: 60px;
}

.article div p {
	margin-bottom: 30px;
}

.article div a {
	color: #1D82E9;
	text-decoration: underline;
}

.article div.wp-block-button a {
    color: #fff;
    background: #272D37;
    border: none;
    text-decoration: none;
    font-size: 16px;
}

.article div.wp-block-button.is-style-outline a {
    color: #000;
    background: none;
    border: 1px solid #666;
}

.article .eyecatch {
	margin: 0 0 60px;
}

.article .eyecatch img {
	max-width: 700px;
	height: auto;
	border-radius: 20px;
}

.article figure {
	max-width: 100%;
	margin: 30px 15px;
}

.article .wp-block-file {
	font-size: 1em!important;
}

.article ul.wp-block-list,
.article ol.wp-block-list {
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding-inline-start: 40px;
}

.article ul.wp-block-list li {
    list-style-type: disc;
}

.article :is(dir, menu, ol, ul) ul.wp-block-list,
.article :is(dir, menu, ol, ul) ol.wp-block-list,
.article :is(dir, menu, ol, ul) :is(dir, menu, ol, ul) ul.wp-block-list,
.article :is(dir, menu, ol, ul) :is(dir, menu, ol, ul) ol.wp-block-list {
    margin-block-start: 0px;
    margin-block-end: 0px;
}

.article :is(dir, menu, ol, ul) ul.wp-block-list li {
    list-style-type: circle;
}

.article :is(dir, menu, ol, ul) :is(dir, menu, ol, ul) ul.wp-block-list li {
    list-style-type: square;
}

.transition-btn {
	margin: 0 auto;
	padding-top: 160px;
	display: flex;
	gap: 20px;
	justify-content: end;
}

.wp-block-table.is-style-stripes td {
border-color:#000;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(even) {
    background-color: #f2f5f9;
}

/* ファイルアイコン */
.file-icon-type {
	padding-left: 25px; 
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 20px 20px;
	display: inline-block;
}

.file-icon-pdf {
	background-image: url('../img/pdf.png');
}

@media screen and (max-width:1080px) {
	.article {
		display: flex;
		flex-wrap: wrap;
	}

	.article div {
		width: 100%;
	}

	.article .eyecatch {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	
	.is-layout-flex {
		flex-wrap: wrap!important;
	}
}

@media screen and (max-width:780px) {
	.block01.info::before {
		background: url(../img/curve/info_sp.svg) left -3px top 0 no-repeat;
		background-size: calc(100% + 10px);
	}

	div.date {
		margin-top: 10px;
	}

	.info h2 {
		text-align: left;
	}
	
	.article .eyecatch img {
		width: 100%;
		max-width: 400px;
	}
}

@media screen and (max-width:540px) {
	.block01.info h2 {
		font-size: 24px;
	}

	.transition-btn {
		margin: 0 auto;
		padding-top: 120px;
		display: block;
		text-align: right;
	}
	
	.transition-btn div {
		margin-bottom: 30px;
	}
}


/*///////////////*/
/*// お問い合わせ　//*/
.block01.contact {
	margin-bottom: 300px;
	padding: 130px 0 180px;
}

.contact h2 {
	margin-top: 90px;
}

.contact label {
	display: block;
	width: 90%;
	font-size: 18px;
	line-height: 2.5;
}

.contact p {
	display: block;
	margin-bottom: 30px;
	margin-left: 30px;
}

.contact p span {
	font-size: 16px;
}

.contact label .required,
.contact p .required {
	color: #DE1200;
	font-size: 16px;
}

.contact label input,
.contact p input {
	width: 50%;
	min-width: 350px;
	margin-left: -5px;
	padding: 0.5em 1em;
	font-size: 16px;
	line-height: 1.8;
	border: 1px solid #272D37;
	border-radius: 10px;
}

.contact label input::placeholder {
	color: #989797;
}

.contact label .wpcf7-radio {
	display: flex;
	margin-left: -30px;
	font-size: 16px;
}

.contact p .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	font-size: 16px;
}

.contact label .wpcf7-radio input,
.contact p .wpcf7-radio input {
	width: 20px;
	min-width: 20px;
	padding: 0;
	font-size: 16px;
	line-height: 1.8;
	border: 1px solid #272D37;
	border-radius: 10px;
}

.contact .wpcf7-radio .wpcf7-list-item {
	margin-right: 30px;
}

.contact .wpcf7-radio label {
	width: 100%;
	margin-left: 0;
}

.contact label textarea,
.contact p textarea {
	width: 80%;
	min-width: 500px;
	margin-left: -5px;
	padding: 0.5em 1em;
	font-size: 16px;
	line-height: 1.8;
	border: 1px solid #272D37;
	border-radius: 10px;
}

.privacy-consent {
	margin: 90px 0 30px;
	text-align: center;
}

.privacy-consent p {
	margin-bottom: 0;
}

.privacy-consent p a {
	color: #1D82E9;
}

.contact .privacy-consent label {
	display: block;
	width: auto;
	margin-top: 30px;
	margin-bottom: 0;
	margin-left: 0;
	font-size: 16px;
	line-height: 1;
}

.contact .privacy-consent input {
	width: 20px;
	min-width: 20px;
	margin-right: 0;
	margin-left: 0;
	padding: 0.5em 1em;
	font-size: 1px;
	line-height: 1.8;
	border: none;
}

.contact input.wpcf7-submit {
	margin-top: 60px;
	display: block;
	width: 222px;
	height: 50px;
	min-width: 200px;
	padding-top: 12px;
	color: #fff;
	font-size: 16px;
	text-align: center;
	background: #272D37;
	border-radius: 30px;
	position: relative;
}

.contact input.wpcf7-submit:hover {
	opacity: 0.65;
}

.contact p:has(.wpcf7-submit)  {
	display: flex;
	justify-content: center;
}

@media screen and (max-width:780px) {
	.btn a {
		display: inline-block;
	}
}

@media screen and (max-width:1080px) {
	.contact label {
		width: 90%;
	}
	
	.contact label textarea {
		width: 100%;
		min-width: 100px;
	}
}

@media screen and (max-width:780px) {
	.block01.contact {
		margin-bottom: 230px;
		padding: 130px 0 90px;
	}

	.contact h2 {
		margin-top: 0;
	}

	.contact label {
		margin-left: 5%;
	}

	.contact label input {
		width: 100%;
		min-width: 50px;
	}
	
	.contact label .wpcf7-radio {
		flex-wrap: wrap;
		margin-top: 10px;
	}
	
	.contact label .wpcf7-radio span {
		width: 100%;
		margin-bottom: 10px;
	}
	
	.contact label .wpcf7-radio span span {
		width: calc(100% - 30px);
	}

	.contact .transition-btn {
		padding-top: 30px;
	}
}

/*///////////////*/
/*// プライバシーポリシー、サイトポリシー　//*/
.block01.policy h2 {
	width: 100%;
	margin-top: 80px;
}

.block01.policy h3 {
	margin-top: 30px;
}

.block01.policy p {
	width: 100%;
	margin-bottom: 30px;
	margin-top: 30px;
}

.block01.policy a {
    color: #1D82E9;
    text-decoration: underline;
}

.block01.policy .p-btn {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 60px;
}

.block01.policy .p-btn div {
	position: relative;
	width: 31%;
}

.block01.policy .p-btn a {
	width: 28%;
	margin: 0 0 20px 0;
	font-weight: 500;
	color: #000;
   	border: 1px solid #666;
	flex-basis: auto;
	text-decoration: none;
}

.block01.policy .p-btn::after {
	box-sizing: border-box;
	content: '';
	display: block;
	width: 31%;
}

.block01.policy .p-btn a::after {
	content: none;
}

.block01.policy .p-btn a.size_1 {
	padding-top: 4px;
	font-size: min(3.6vw, 14px);
}

.block01.policy .p-btn a.size_2 {
	padding-top: 15px;
	font-size: min(3.6vw, 14px);
}

.block01.policy ul li {
    list-style: disc;
    margin: 0 0 2px 40px;
    line-height: 1.8;
}

.block01.policy ol {
    margin: 0;
    padding: 0;
}

.block01.policy ol li {
    list-style: decimal;
    margin: 0 0 2px 40px;
    line-height: 1.8;
}

.block02.policy {
	padding: 180px 0 0;
}

.block02.policy a {
	color: #1D82E9;
	text-decoration: underline;
}

@media screen and (max-width:1080px) {
	.block01.policy .p-btn a.size_1 {
		padding-top: 0.4%;
		font-size: min(1.3vw, 14px);
	}

	.block01.policy .p-btn a.size_2 {
		padding-top: 1.6%;
		font-size: min(1.3vw, 14px);
	}
	.block01.policy {
		margin: 30px 0 0 0;
	}

	.block02.policy {
		margin: 30px 0 30px 0;
	}
}

@media screen and (max-width:920px) {
	.block01.policy .p-btn {
		margin: 0 0 6px 0;
		font-weight: 500;
	}

	.block01.policy .p-btn a {
		width: 30%;
		margin: 4px 2% 14px 0;
		font-size: min(2.2vw, 16px);
	}

	.block01.policy .p-btn a.size_1 {
		padding-top: 1%;
		font-size: min(1.6vw, 10px);
	}

	.block01.policy .p-btn a.size_2 {
		padding-top: 2%;
		font-size: min(1.6vw, 12px);
	}
}

@media screen and (max-width:780px) {
	.block01.policy .p-btn a {
		width: 48%;
	}

	.block01.policy .p-btn a.size_1 {
		padding-top: 1%;
		font-size: max(1.8vw, 10px);
	}

	.block01.policy .p-btn a.size_2 {
		padding-top: 1%;
		font-size: max(1.8vw, 10px);
	}

	.block02.policy {
		padding: 130px 0 0;
	}
}

@media screen and (max-width:730px) {
	.block01.policy .p-btn a {
		min-width: 30%;
		font-size: max(2.2vw, 10px);
	}

	.block01.policy .p-btn a.size_1 {
		padding-top: 1.2%;
		font-size: max(1.8vw, 12px);
	}

	.block01.policy .p-btn a.size_2 {
		padding-top: 1.1%;
		font-size: max(1.8vw, 12px);
	}
}

@media screen and (max-width:630px) {
	.block01.policy .p-btn {
		display: none;
	}
}


/*///////////////////////////////*/
/*// フッター　//*/

footer {
	margin-top: 230px;
	padding: 120px 0 60px;
	color: #fff;
	display: flex;
	justify-content: center;
	position: relative;
	background: #272D37;
}

#top footer,
#about footer {
	margin-top: 0;
}

.footer-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	width: 90%;
	max-width: 1500px;
	position: relative;
}

.footer-container div img {
	width: auto;
	height: 36px;
}

.footer-container ul {
	display: flex;
	gap: 40px;
	margin-right: 40px;
}

.footer-container ul li {
	font-size: 18px;
	display: block;
}

.footer-container ul li a {
	position: relative;
	display: inline-block;
	padding-right: 30px;
}

.footer-container ul li a::before {
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	position: absolute; 
	bottom: 0;
	left: 0;
	background: #fff;
}

.footer-container ul li a::after {
	content: '→';
	position: absolute; 
	top: 0;
	right: 0;
}

.footer-container ul li ul {
	display: block;
	margin-top: 30px;
	margin-right: 0;
}

.footer-container ul li ul li {
	margin-top: 20px;
	font-size: 14px;
}

.footer-container ul li ul li.list-title {
	display: block;
	color: rgba( 255, 255, 255, 0.5 );
	border-bottom: 1px solid rgba( 255, 255, 255, 0.5 );
}

.footer-container ul li ul li a::before,
.footer-container ul li ul li a::after {
	display: none;
}

.footer-container ul li:nth-child(2) ul:before {
	content: '関連事業';
	display: block;
	color: rgba( 255, 255, 255, 0.5 );
	font-size: 14px;
	border-bottom: 1px solid rgba( 255, 255, 255, 0.5 );
}

.footer_bottom {
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 90px;
	padding-top: 60px;
	font-size: 14px;
	border-top: 1px solid #fff;
}

.footer_bottom div {
	display: flex;
	gap: 30px;
}

.footer_bottom div a::after {
	content: url(../img/link.svg);
	margin-left: 10px;
}

.footer_bottom div a:last-child {
	margin-left: 10px;
}

.footer_bottom div a:last-child::after {
	display: none;
}

@media screen and (max-width:1200px) {
	.footer-container ul {
		width: 100%;
		margin-top: 60px;
	}

	.footer-container ul li ul {
		width: auto;
	}
}

@media screen and (max-width:1200px) {
	.footer_bottom {
		display: block;
	}
	
	.footer_bottom div a {
		margin-bottom: 30px;
	}
	
	.footer-container ul {
		flex-wrap: wrap;
	}
}

@media screen and (max-width:820px) {
	.footer_bottom div {
		display: block;
	}

	.footer_bottom div a {
		display: block;
		width: 100%;
		margin-bottom: 26px;
	}

	.footer_bottom div a:last-child {
		margin-left: 0;
	}

	.footer_bottom p {
		margin-top: 34px;
	}
}

@media screen and (max-width:780px) {
	footer {
		margin-top: 120px;
		padding: 60px 0;
	}

	.footer-container {
		width: 85%;
	}

	.footer-container div {
		margin: 0 auto;
	}

	.footer-container div img {
		margin-bottom: 50px;
	}
	
	.footer-container ul {
		display: block;
		padding-bottom: 60px;
	}

	.footer-container ul li {
		margin-bottom: 50px;
	}

	.footer-container ul li:nth-child(n+3):nth-child(-n+5) {
		margin-bottom: 35px;
	}

	.footer-container ul li ul {
		margin-top: 26px;
		padding-bottom: 0;
	}

	.footer-container ul li ul li {
		margin-top: 0;
		margin-bottom: 20px;
	}

	.footer-container ul li ul li.list-title {
		display: inline-block;
		padding-right: 3.5em;
	}

	.footer-container ul li:nth-child(2) ul {
		margin-top: 20px;
	}

	.footer-container ul li:nth-child(2) ul:before {
		display: inline-block;
		padding-right: 3.5em;
		margin-bottom: 1em;
	}
}
