@charset "utf-8";
/* ==================================
COMMON
===================================== */
html {
	/*scroll-behavior: smooth !important;
	scroll-padding-top: 100px;*/
	overflow-x: hidden;
}
body {
	overflow-x: hidden;
}
a img {
	transition: all 0.3s;
}
a:hover img {
	opacity: 0.6;
	transition: all 0.3s;
}
.br-pc {
	display: inline;
}
.br-sp {
	display: none;
}
.poppins-font {
	font-family: "Poppins", sans-serif;
}
.mincho-font {
	font-family: "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
._page-title {
	background-size: cover;
	background-position: center;
	/* background-position: 50% 30%; */
	background-image: linear-gradient(rgba(255,255,255,0.5),rgba(255,255,255,0.5)), url('/wp/wp-content/uploads/2025/01/header.jpg');
}
.news-page-title {
	background-size: cover;
	background-position: center;
	/* background-position: 50% 30%; */
	background-image: linear-gradient(rgba(255,255,255,0.5),rgba(255,255,255,0.5)), url('/wp/wp-content/uploads/2025/03/prBI.jpg');
}
.page-title h1 {
	font-family: "Noto Serif JP", serif;
	/* font-size: 2.5rem; */
	font-size: clamp(2rem, calc(1.8125rem + 0.78125vw), 2.5rem);
	font-weight: bold;
	position: relative;
	color: #333;
	margin-top: 3rem;
}
.page-sub-title {
	font-family: "Cormorant Unicase", sans-serif;
	text-transform: uppercase;
	position: absolute;
	bottom: 3rem;
	left: 0;
	z-index: -1;
	color: #103fc6;
	/* font-size: 1.5em; */
	font-size: clamp(2rem, calc(1.8125rem + 0.78125vw), 2.5rem);
	line-height: 1;
	content: attr(data-word);
	pointer-events: none;
	font-weight: bold;
}
.btn-style {
	position: relative;
	z-index: 10;
}
.btn-style a {
	border-radius: 100px;
	color: #333;
	padding: 15px 20px 15px 40px;
	border: 1px solid #bbbdc1;
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	transition: all 0.3s;
	min-width: 250px;
	background-color: #fff;
}
.btn-style a:hover {
	color: #fff;
	text-decoration: none;
	border: 1px solid var(--MAIN);
	background-color: var(--MAIN);
	transition: all 0.3s;
}
.simple-btn {
	display: inline-block;
}
.simple-btn a {
	color: #333;
	text-decoration: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-width: 220px;
	padding: 15px 20px;
	transition: all 0.3s;
}
.simple-btn a:hover {
	color: var(--MAIN);
	text-decoration: none;
	transition: all 0.3s;
}
.list-none li {
	list-style: none;
}
.list-check li {
	padding-left: 30px;
	background: url(../img/check-icon.png) 0 0 / 30px no-repeat;
}
.material-icons {
	display: inline-flex;
	vertical-align: middle;
}
.material-icons.fs-40 {
	font-size: 40px;
}
.btn-style a:hover .material-icons.text-accent-01 {
	color: #fff !important;
}
.border-none th,
.border-none td {
	border: none;
	padding-top: 0;
	padding-bottom: 0;
}
.border-none th {
	padding-left: 0;
}

@media only screen and (max-width: 767px) {
	html {
		/*scroll-behavior: smooth !important;
		scroll-padding-top: 60px;*/
	}
	.br-pc {
		display: none;
	}
	.br-sp {
		display: inline;
	}
	.list-check {
		padding: 0;
	}
	.triangle-arrow {
		border-right: 30px solid transparent;
		border-left: 30px solid transparent;
		border-top: 40px solid #d7f0fb;
	}
	.btn-style a {
		padding: 10px 20px 10px 40px;
	}
	.d-block.btn-style a {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	/* .page-sub-title {
	font-size: 1.2em;
} */
}

/* ==================================
背景画像を設定したい時
===================================== */
.bg_image {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

/* ==================================
黒透過
===================================== */
.bg-black-shadow {
	position: relative;
}
.bg-black-shadow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

/* ==================================
白透過
===================================== */
.bg-white-shadow {
	position: relative;
}
.bg-white-shadow::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.5);
}

/*========================================
header
========================================*/
header nav {
	box-shadow: none !important;
}
header nav .navbar-brand img {
	max-width: none;
	width: auto;
	/* height: 40px; */
	height: 64px;
}
.header-top-tel-wrapper {
	background-color: #f4f5f8;
	padding: 5px 0;
}
.header-top-time,
.header-top-tel a {
	color: #1a1f26 !important;
	text-decoration: none;
	transition: all 0.3s;
}
.header-top-tel a:hover {
	color: var(--MAIN) !important;
	transition: all 0.3s;
}
header .openbtn {
	display: none;
}
.navbar-expand-lg .navbar-nav li {
	margin-left: 0.5rem;
	text-align: center;
}
.navbar-expand-lg .navbar-nav .nav-link {
	color: #333;
	/* transition: all 0.3s; */
	transition: color 0.3s;
}
.navbar-light .navbar-nav .nav-link:hover,
.navbar-expand-lg .navbar-nav .current_page_item .nav-link {
	color: var(--MAIN);
	/* transition: all 0.3s; */
	transition: color 0.3s;
}
.navbar-expand-lg .navbar-nav li.h-contact-btn a {
	padding: 0 20px;
	color: #fff !important;
	height: auto;
	transition: all 0.3s;
}
.navbar-expand-lg .navbar-nav li.h-contact-btn:hover a {
	color: #333 !important;
	transition: all 0.3s;
}
/* .menu-item-has-children > .sub-menu { */
header .menu-item-has-children > .sub-menu {
	display: none;
	list-style: none;
	padding: 0;
}
@media only screen and (min-width: 992px) {
	header .menu-item-has-children > .sub-menu {
		/* background-color: #f4f5f8; */
		/* border-radius: 20px; */
		background-color: var(--WHT);
	}
}
.menu-item-has-children > .sub-menu li {
	margin-left: auto;
}
.navbar-expand-lg .navbar-nav .menu-item-has-children > .sub-menu li a.nav-link {
	/* padding: 20px; */
	padding: 12px 20px;
	text-align: left;
	color: #333 !important;
	white-space: pre;
}
.navbar-expand-lg .navbar-nav .menu-item-has-children > .sub-menu li a.nav-link:hover {
	color: #23adea !important;
	transition: all 0.3s;
}

@media only screen and (min-width: 991px) {
	header .container {
		max-width: none;
	}
	#menu-header .menu-item-has-children > .sub-menu li a,
	#menu-header li a {
		display: block;
		height: 100%;
	}
	/* .menu-item-has-children:hover > .sub-menu { */
	header .menu-item-has-children:hover > .sub-menu {
		display: block !important;
		position: absolute;
		-webkit-box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
		box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.1);
	}
}

@media only screen and (max-width: 1200px) {
	header nav .navbar-brand img {
		height: 50px;
	}
	.navbar-expand-lg .navbar-nav li.h-contact-btn a {
		padding: 0 10px;
	}
}
@media only screen and (max-width: 1080px) {
	/* header nav .navbar-brand img {
	height: 20px;
} */
	header .navbar-light .navbar-nav .nav-link {
		padding-block: 1em;
	}
}
@media only screen and (max-width: 991px) {
	.navbar-expand-lg .navbar-nav li {
		margin-left: 0;
		text-align: left;
		/* border-bottom: 1px solid #ccc; */
		border-top: 1px solid #ccc;
		padding-inline: .25rem;
	}
	.navbar-expand-lg .navbar-nav li.h-contact-btn {
		margin: 20px auto;
		text-align: center;
	}
	header nav.navbar-light .navbar-nav li.h-contact-btn a.nav-link::before {
		display: none;
	}
	header .openbtn {
		display: block;
		position: relative;
		cursor: pointer;
		width: 50px;
		height: 50px;
		background-color: var(--MAIN);
		border: none;
	}
	header .openbtn span {
		display: inline-block;
		transition: all 0.4s;
		position: absolute;
		left: 12px;
		height: 2px;
		background: #fff;
		width: 50%;
	}
	header .openbtn span:nth-of-type(1) {
		top: 10px;
	}
	header .openbtn span:nth-of-type(2) {
		top: 18px;
	}
	header .openbtn span:nth-of-type(3) {
		top: 26px;
	}
	header .openbtn::after {
		content: "MENU";
		font-family: "Noto Sans JP";
		font-weight: bold;
		color: var(--WHT);
		line-height: 1;
		font-size: .75rem;
		display: block;
		position: absolute;
		bottom: 6px;
		right: 0;
		left: 0;
		text-align: center;
	}
	header .openbtn.active::after {
		content: "CLOSE";
	}
	header .openbtn.active span:nth-of-type(1) {
		/* transform: translateY(7px) rotate(-45deg); */
		transform: translateY(7px) rotate(-22.5deg);
	}
	header .openbtn.active span:nth-of-type(2) {
		display: none;
	}
	header .openbtn.active span:nth-of-type(3) {
		/* transform: translateY(-9px) rotate(45deg); */
		transform: translateY(-9px) rotate(22.5deg);
	}
	header nav.navbar {
		padding: 0;
	}
	header nav.navbar-light .navbar-nav a.nav-link {
		position: relative;
		padding-left: 20px;
		padding-right: 20px;
	}
	/* 	header nav.navbar-light .navbar-nav a.nav-link::before {
	content: "";
	position: relative;
	top: 50%;
	margin-top: -4px;
	display: inline-block;
	width: 8px;
	height: 8px;
	min-width: 8px;
	margin-right: 0.5rem;
	border-top: 2px solid var(--MAIN);
	border-right: 2px solid var(--MAIN);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin-right: -0.5rem;
	position: absolute;
	right: 27px;
} */
	header nav.navbar-light .navbar-nav a.nav-link::before {
		content: "\f1df";
		font-family: "Material Symbols Rounded";
		display: inline-flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 1em;
		color: var(--WHT);
		background-color: var(--MAIN);
		width: 2em;
		height: 2em;
		border-radius: 50%;
		font-size: .875em;
		padding: .125em;
	}
	header nav.navbar-light .navbar-nav .u-header-cta a.nav-link::before {
		content: unset;
	}
	/* header nav.navbar-light .navbar-nav .dropdown a.nav-link::before {
		-webkit-transform: rotate(135deg);
	} */
	header nav.navbar-light .navbar-nav .dropdown .sub-menu a.nav-link::before,
	header nav.navbar-light .navbar-nav .menu-item-has-children a.nav-link::before,
	.sub-menu .mm_btn {
		display: none;
	}
	.menu-item-has-children:hover > .sub-menu {
		display: none;
		border-radius: 0;
		padding: 0;
		margin: 0;
	}
	.menu-header-container {
		padding: 10px;
	}
	.navbar-expand-lg .navbar-nav .menu-item-has-children > .sub-menu li a.nav-link {
		padding: 10px;
		padding-left: 20px;
		padding-right: 0;
	}
	.mm_btn {
		position: absolute;
		width: 40px;
		height: 100%;
		top: .5em;
		/* transform: translateY(-50%); */
		/* right: 0; */
		right: .5em;
		-webkit-transition: all 0.3s ease 0s;
		-o-transition: all 0.3s ease 0s;
		transition: all 0.3s ease 0s;
	}
	.mm_btn.active::after {
		-webkit-transform: translate(-50%, -50%) rotate(-45deg);
		transform: translate(-50%, -50%) rotate(-45deg);
		-webkit-transition: all 0.3s ease 0s;
		-o-transition: all 0.3s ease 0s;
		transition: all 0.3s ease 0s;
	}
	/* 	.mm_btn::after {
	content: "";
	position: relative;
	top: 50%;
	left: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--MAIN);
	border-right: 2px solid var(--MAIN);
	-webkit-transform: translate(-50%, -50%) rotate(135deg);
	transform: translate(-50%, -50%) rotate(135deg);
	position: absolute;
	-webkit-transition: all 0.3s ease 0s;
	-o-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
} */
	.mm_btn::before {
		content: "\f1e3";
		font-family: "Material Symbols Rounded";
		display: inline-flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: .7em;
		color: var(--WHT);
		background-color: var(--MAIN);
		width: 2em;
		height: 2em;
		border-radius: 50%;
		font-size: .875em;
		padding: .125em;
	}
	.mm_btn.active::before {
		content: "\f1e0";
	}
	.menu-item-has-children > .sub-menu {
		border-radius: unset;
	}
}
@media only screen and (max-width: 767px) {
	.mm_btn {
		height: 40px;
	}
}

@media only screen and (min-width: 992px) {
	.page-index header .navbar.bg-white {
		background-color: transparent !important;
		transition: var(--transition);
	}
	.page-index header.is-scrolled .navbar.bg-white {
		background-color: var(--WHT) !important;
	}
	.page-index header.shadow {
		box-shadow: unset !important;
		transition: var(--transition);
	}
	.page-index header.is-scrolled .navbar.bg-white {
		-webkit-box-shadow: 0 .25rem .5rem rgba(0,0,0,.15) !important;
		box-shadow: 0 .25rem .5rem rgba(0,0,0,.15) !important;
	}
	.page-index header .nav-item > .nav-link {
		color: var(--WHT);
		transition: var(--transition);
		text-shadow: 0 0 4px var(--DEF);
	}
	.page-index header.is-scrolled .nav-item > .nav-link {
		color: var(--DEF);
		text-shadow: unset;
	}
}

@media only screen and (min-width: 992px) and (max-width: 1200px) {
	#menu-header .menu-item-has-children > .sub-menu li a, #menu-header li a {
		font-size: 0.75rem;
	}
}

.page-index #header_logo img:last-of-type {
	display: none;
}
@media only screen and (min-width: 992px) {
	.page-index #header_logo img:first-of-type {
		display: none;
	}
	.page-index #header_logo img:last-of-type {
		display: block;
	}
	.page-index .is-scrolled #header_logo img:first-of-type {
		display: block;
	}
	.page-index .is-scrolled #header_logo img:last-of-type {
		display: none;
	}
}


/* SP時縦メニュー展開後スクロールさせる*/
@media only screen and (max-width: 991px) {
	.navbar-nav {
		overflow-y: scroll;
		height: 85svh;
	}
	.u-header-cta {
		min-height: 56px;
/*		border-top-color: var(--MAIN) !important;  2025.8.20 Ariyoshi */
		border-top-color: var(--MAIN) ;
	}
}


/*========================================
footer
========================================*/
#footer-menu li {
	list-style: none;
}
#footer-menu li a {
	color: #333;
	text-decoration: none;
	transition: all 0.3s;
}
#footer-menu li a:hover {
	color: #103fc6;
	transition: all 0.3s;
}
.footer-address,
.copyright {
	font-size: 12px;
}
.bs_footer-01 .bs_footer-logo img {
	height: auto;
}

/****************************************************************/
/* ふわっと */
/****************************************************************/
.scroll-up {
	opacity: 0;
	visibility: hidden;
	transform: translateY(50px);
	transition: all 1s;
}
.scroll-up.is-show {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

/****************************************************************/
/* ページトップ */
/****************************************************************/
/*リンクの形状*/
#page-top a {
	position: relative;
	display: block;
	background: #23adea;
	border: 1px solid #23adea;
	border-radius: 100px;
	width: 60px;
	height: 60px;
	text-transform: uppercase;
	text-decoration: none;
	font-size: 1rem;
	color: #fff;
	text-align: center;
	transition: all 0.3s;
	padding-top: 5px;
}
#page-top a::after {
	content: "";
	position: absolute;
	top: 70%;
	left: 50%;
	display: inline-block;
	width: 16px;
	height: 16px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	-webkit-transform: rotate(-45deg) translate(-10%, -50%);
	transform: rotate(-45deg) translate(-10%, -50%);
}
#page-top a:hover {
	background: #fff;
	border: 1px solid #23adea;
	color: #23adea;
}
#page-top a:hover:after {
	border-color: #23adea;
}
/*リンクを右下に固定*/
#page-top {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 2;
	/*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove {
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/*　下に下がる動き　*/

#page-top.DownMove {
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 1;
		transform: translateY(100px);
	}
}
@media only screen and (max-width: 767px) {
	#page-top {
		right: 10px;
	}
}

/* ==================================
TOP
===================================== */
.page-index {
	/* background-color: #faf5f6; */
}
#top-index,
#primary {
	/* 	margin-top: 56px; */
	margin-top: 80px;
}
@media only screen and (min-width: 992px) {
	.page-index #top-index {
		margin-top: 0px;
	}
}
#top-index {
	line-height: 2;
}
#page {
	overflow: hidden;
}
#top-index section {
	overflow: visible;
}
.top-common-title {
	line-height: 0.7;
	font-size: 3.6rem;
	position: relative;
	z-index: 1;
}
.top-common-title::before {
	position: absolute;
	bottom: -40%;
	left: -40px;
	z-index: -1;
	color: rgba(26, 31, 38, 0.06);
	font-size: 12.5rem;
	font-weight: normal;
	line-height: 1;
	content: attr(data-word);
	pointer-events: none;
	font-family: "Poppins", sans-serif;
}
.top-common-title.--pink::before {
	color: rgba(235, 108, 139, 0.1);
}
.top-common-title.--blue::before {
	color: rgba(35, 173, 234, 0.1);
}
.top-common-title.--white::before {
	color: rgba(255, 255, 255, 0.1);
}
.bg-01 {
	position: absolute;
	top: -340px;
	left: -270px;
	max-width: 560px;
	z-index: 10;
}
.bg-02 {
	position: absolute;
	bottom: -30%;
	right: -20%;
	max-width: 560px;
}
.bg-03 {
	position: absolute;
	top: 0%;
	left: 0;
	z-index: -2;
	width: 80%;
}
.bg-04 {
	position: absolute;
	top: -120%;
	left: 50%;
	transform: translatex(-50%);
	z-index: -2;
}
.bg-04 img {
	width: 190vw;
	height: auto;
}
.bg-05 {
	position: absolute;
	bottom: -20%;
	left: 50%;
	transform: translatex(-50%);
	z-index: -1;
}
.bg-06 {
	position: absolute;
	bottom: -10%;
	right: -10%;
	z-index: 0;
}
.bg-07 {
	position: absolute;
	top: -20%;
	left: 50%;
	transform: translatex(-50%);
	z-index: 0;
}
.bg-08 {
	position: absolute;
	bottom: -30%;
	right: -10%;
	z-index: 1;
}
.bg-09 {
	position: absolute;
	bottom: -20%;
	left: -5%;
	z-index: 1;
}
.top-mv .catchcopy {
	position: absolute;
	top: 40%;
	left: 10%;
	transform: translateY(-50%);
	text-shadow: 5px 5px 5px #fff;
}
.top-mv h1 {
	line-height: 1.5;
	font-size: 3.6rem;
	font-weight: bold;
}
.top-mv h2 {
	font-size: 1.9rem;
	font-weight: bold;
}
.top-mv .text-accent-01 {
	color: #eb1d4f !important;
}
.mv-img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.top-service .text-block {
	position: absolute;
	top: 50%;
	right: -10%;
	transform: translateY(-50%);
	z-index: -1;
	width: 80%;
	max-width: none;
}
.top-service .number-title {
	position: relative;
	margin-bottom: 40px;
}
.top-service .number-title::before {
	position: absolute;
	top: 50%;
	left: -3%;
	transform: translateY(-50%);
	z-index: -1;
	color: #f9d3dc;
	font-weight: bold;
	line-height: 1;
	content: attr(data-number);
	pointer-events: none;
	font-size: 6rem;
	font-family: "Poppins", sans-serif;
}
.top-service-01 {
	padding: 12rem 0px;
}
.top-service .col img {
	border-radius: 40px;
}
.top-service .img-block {
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
}
.top-service .img-block img {
	border-radius: 0 40px 40px 0;
}
.top-about {
	margin: 250px 0 350px;
}
.top-about h3,
.top-partner h3,
.top-company h3,
.common-cta h3 {
	line-height: 2;
}
.top-about .img-block {
	position: absolute;
	top: 10%;
	right: 0;
}
.top-about .img-block img {
	border-radius: 40px 0 0 40px;
}
.top-client .loop-slider .swiper-wrapper,
.top-client .loop-slider2 .swiper-wrapper {
	transition-timing-function: linear;
}
.top-client .swiper-container {
	overflow: visible;
}
.top-client .swiper-wrapper {
	-webkit-transition-timing-function: linear !important;
	-o-transition-timing-function: linear !important;
	transition-timing-function: linear !important;
}
/*.top-client .swiper-button-prev:after, .top-client .swiper-container-rtl .swiper-button-next:after, .top-client .swiper-button-next:after, .top-client .swiper-button-prev2:after, .top-client .swiper-container-rtl .swiper-button-next2:after  {
content: '' !important;
}
.top-client .swiper-button-prev, .top-client .swiper-button-prev2 {
position: absolute;
top: -50%;
right: 10%;
left: auto;
width: 50px;
height: 50px;
border: 1px solid #ccc;
border-radius: 100px;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.top-client .swiper-button-next, .top-client .swiper-button-next2 {
position: absolute;
top: -50%;
right: 5%;
left: auto;
width: 50px;
height: 50px;
border: 1px solid #ccc;
border-radius: 100px;
background-color: #fff;
display: flex;
align-items: center;
justify-content: center;
}
.top-client .swiper-button-prev:hover, .top-client .swiper-button-next:hover, .top-client .swiper-button-prev2:hover, .top-client .swiper-button-next2:hover {
background-color: var(--MAIN);
transition: all .3s;
}
.top-client .swiper-button-prev:hover .material-icons, .top-client .swiper-button-next:hover .material-icons, .top-client .swiper-button-prev2:hover .material-icons, .top-client .swiper-button-next2:hover .material-icons {
color: #fff !important;
transition: all .3s;
}
.top-client .swiper-button-next2 {
top: auto;
bottom: -50%;
}
.top-client .swiper-button-prev2 {
top: auto;
bottom: -50%;
}*/
.top-partner img {
	border-radius: 40px;
}
.top-company .top-common-title::before {
	left: 50%;
	transform: translateX(-50%);
	bottom: -20%;
}
.top-company-img-01 {
	width: 15%;
	position: absolute;
	top: -10%;
	right: 0;
}
.top-company-img-01 img {
	border-radius: 40px 0 0 40px;
}
.top-company-img-02 {
	width: 15%;
	position: absolute;
	top: 15%;
	left: 0;
}
.top-company-img-02 img {
	border-radius: 0 40px 40px 0;
}
.top-recruit .bg-white {
	border-radius: 40px;
}
.top-recruit .top-common-title.--blue::before {
	left: 50%;
	transform: translateX(-50%);
}
.top-topics .col-12.position-relative {
	z-index: 1;
}
.top-topics .d-block.d-lg-none {
	position: relative;
	z-index: 1;
}
.top-topics li a {
	text-decoration: none;
	transition: all 0.3s;
}
.top-topics li a:hover .circle-arrow {
	background-color: var(--MAIN);
	color: #fff !important;
	transition: all 0.3s;
}
.news-list {
	z-index: 1;
}
.circle-arrow {
	width: 40px;
	height: 40px;
	border: 1px solid #ccc;
	border-radius: 100px;
	background-color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s;
}
.simple-btn a:has(.circle-arrow):hover .circle-arrow {
	background-color: var(--MAIN);
	color: #fff !important;
	transition: all 0.3s;
}
@media only screen and (min-width: 1600px) {
	.bg-04 {
		top: -110%;
	}
	.bg-04 img {
		width: 150vw;
	}
}
@media only screen and (max-width: 1200px) {
	.bg-03 {
		top: 5%;
	}
	.top-mv h1 {
		font-size: 3rem;
	}
	.bg-04 {
		top: -60%;
	}
	.top-service-01 {
		padding: 5rem 0px;
	}
	.top-common-title::before {
		font-size: 10rem;
	}
	.top-about {
		margin: 150px 0 200px;
	}
	/*.top-client .swiper-button-prev, .top-client .swiper-button-prev2 {
	top: -40px;
	width: 40px;
	height: 40px;
}
	.top-client .swiper-button-next, .top-client .swiper-button-next2 {
	top: -40px;
	width: 40px;
	height: 40px;
}
	.top-client .swiper-button-prev2, .top-client .swiper-button-next2 {
	top: auto;
	bottom: -50px;
}*/
}

@media only screen and (max-width: 992px) {
	#top-index,
	#primary {
		margin-top: 50px;
	}
	.top-mv h1 {
		line-height: 2;
		font-size: 2.2rem;
	}
	.top-mv h2 {
		font-size: 1.3rem;
	}
	.bg-01 img {
		width: 80%;
	}
	.bg-02 {
		bottom: -50%;
		right: -20%;
		max-width: none;
		width: 50%;
	}
	.bg-03 {
		top: 0%;
		left: 50%;
		transform: translateX(-50%);
		width: 150vw;
		max-width: none;
	}
	.bg-04 {
		top: -50%;
	}
	.bg-04 img {
		width: 200vw;
	}
	.bg-06 {
		bottom: -15%;
	}
	.bg-06 img {
		width: 25%;
		height: auto;
	}
	.bg-08 {
		bottom: -30%;
		right: 5%;
		text-align: right;
	}
	.bg-08 img {
		width: 40%;
		height: auto;
	}
	.top-service-01 {
		padding: 3rem 0px;
	}
	.top-service .text-block {
		width: 100%;
		richness: -20%;
	}
	.circle-arrow {
		width: 30px;
		height: 30px;
		font-size: 16px;
	}
	.top-about {
		margin: 100px 0 150px;
	}
	.top-about h3,
	.top-partner h3 {
		font-size: 20px;
	}
	/*.top-client .dlb_slide-1 {
	margin: 60px 0 100px;
}
	.top-client .swiper-button-prev {
	right: auto;
	left: auto;
}
	.top-client .swiper-button-next {
	right: 0;
	left: auto;
}*/
	.top-company-img-01 {
		width: 20%;
		top: 0%;
	}
	.top-company-img-02 {
		width: 20%;
	}
}
@media only screen and (max-width: 767px) {
	.top-common-title {
		font-size: 3rem;
	}
	.top-common-title .h5 {
		font-size: 16px;
	}
	.top-common-title::before {
		bottom: 20%;
		left: -5%;
		font-size: 6rem;
	}
	.bg-01 {
		display: none;
	}
	.bg-02 {
		bottom: -10%;
		right: -10%;
	}
	.bg-03 {
		top: -2%;
		width: 320vw;
	}
	.bg-06 img {
		width: 50%;
	}
	.sp-bg-04 {
		position: absolute;
		top: -20%;
		left: 80%;
		transform: translateX(-50%);
	}
	.bg-06 {
		bottom: 12%;
		right: 10%;
		z-index: 0;
		text-align: right;
	}
	.bg-09 {
		bottom: -10%;
		left: -15%;
	}
	.bg-09 img {
		width: 40%;
		height: auto;
	}
	.top-mv .catchcopy {
		top: 5%;
		left: 50%;
		transform: translateX(-50%);
		width: 90%;
		text-shadow: 2px 2px 5px #fff;
	}
	.mv-img {
		height: 100vh;
	}
	.mv-img img {
		object-fit: cover;
		object-position: 90%;
	}
	.top-mv h1 {
		line-height: 2;
		font-size: 1.5rem;
	}
	.top-mv h2 {
		font-size: 1rem;
	}
	.top-service .number-title::before {
		font-size: 4rem;
	}
	.top-service-01 {
		padding: 0;
	}
	.top-service .img-block {
		position: relative;
		top: auto;
		transform: none;
	}
	.top-service .text-block {
		top: 40%;
		right: 50%;
		transform: translate(50%, -50%);
		width: 210vw;
		max-width: none;
	}
	.top-service .col img {
		aspect-ratio: 4 / 3;
		object-fit: cover;
	}
	.top-about {
		margin: 100px auto;
	}
	.top-about .img-block {
		position: relative;
		top: auto;
		margin-left: auto;
	}
	.top-partner img {
		border-radius: 20px;
	}
	.top-partner .order-2 img {
		width: 60%;
	}
	.top-company h3 {
		font-size: 16px;
	}
	.top-company-img-01 {
		position: relative;
		width: 50%;
		margin-left: auto;
	}
	.top-company-img-01 img {
		border-radius: 20px 0 0 20px;
	}
	.top-company-img-02 {
		width: 40%;
		top: 50%;
	}
	.top-company-img-02 img {
		border-radius: 0 20px 20px 0;
	}
	.top-recruit {
		background-image: url(../img/sp-top10.jpg) !important;
	}
	.top-recruit .bg-white {
		width: 100%;
	}
}

/* ==================================
* CTA
===================================== */
.common-cta {
	overflow: visible;
}
.common-cta .bg-accent-01 {
	border-radius: 40px;
}
.common-cta .btn-style a {
	padding: 14px 20px;
	display: block;
	text-align: center;
	color: var(--MAIN) !important;
	line-height: 1;
}
.common-cta .btn-style a:hover {
	border: 1px solid #fff;
	color: #fff !important;
}

@media only screen and (max-width: 767px) {
	.common-cta .bg-accent-01 {
		width: 94%;
	}
	.common-cta .top-common-title::before {
		top: 50%;
		left: 50%;
		bottom: auto;
		transform: translate(-50%, -50%);
	}
	.common-cta h3 {
		font-size: 16px;
	}
}

/* ==================================
お知らせ
===================================== */
#news a {
	color: #333;
	font-size: 0.9rem; /* 2025.5.9 Ariyoshi */
}
#news .list-unstyled {
	padding-left: 2em;
}
#news .list-unstyled li {
	margin-bottom: 1em;
	list-style: disc;
}
.news-block {
	margin-bottom: 40px;
}
.news-item {
	padding: 16px 0;
	border-top: 1px solid #f5f5f5;
}
.news-item:last-child {
	border-bottom: 1px solid #f5f5f5;
}
.news-cate {
	margin-left: 1rem;
	margin-right: 1rem;
}
.news-cate a {
	background-color: #1f3863;
	border: 1px solid #1f3863;
	color: #fff;
	padding: 5px 10px;
	font-size: 1.2rem;
}
.news-cate a:hover {
	color: #1f3863;
	background-color: #fff;
}

/* ==================================
お知らせ一覧
===================================== */
.news-main {
	width: calc(70% - 20px);
}
.sidebar {
	width: 25%;
}
.news-main .news-item__title {
	margin: 0;
}
.news-main .news-item__title a {
	font-size: 1.6rem;
	text-decoration: none;
}
.news-main .news-item__title a:hover {
	color: #1f3863;
}
@media only screen and (max-width: 767px) {
	.news-main,
	.sidebar {
		width: 100%;
	}
}

/* ==================================
お知らせ詳細
===================================== */
.thumbnails-img img {
	width: 100%;
	height: auto;
}
.single-news-title {
	margin-bottom: 20px;
}

/* ==================================
ページネーション
===================================== */
.pnavi {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	align-items: baseline;
}
.pnavi .page-numbers {
	min-width: 2em;
	min-height: 2em;
	text-align: center;
}
.pnavi .prev,
.pnavi .next {
	color: inherit;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
}
.pnavi .prev:hover {
	color: var(--MAIN);
}
.pnavi .next:hover {
	color: var(--MAIN);
}
/* .c-icon {
padding: 20px;
padding-right: 60px;
background: #fff url(../img/arrow-btn.png) 100% 50% / 30px no-repeat;
}
.c-icon:hover {
background: #fff url(../img/arrow-btn-on.png) 100% 50% / 30px no-repeat;
} */
/* .prev.page-numbers {
transform: scale(-1, 1);
}
.prev.page-numbers .c-icon-in {
transform: scale(-1, 1);
display: inline-block;
} */

/* ==================================
サイドバー
===================================== */
.widget {
	border: 1px solid #f5f5f5;
}
.widget_search #form {
	padding: 10px;
}
.widget_search #form #s-box,
.widget_search #form #s-btn-area {
	position: relative;
}
.widget-title {
	background-color: #1f3863;
	color: #fff;
	padding: 10px;
	text-align: center;
	font-size: 1.6rem;
	display: block;
}
.widget_recent_entries ul,
.widget_categories ul,
.widget_archive ul {
	padding: 10px;
}
.widget_recent_entries li,
.widget_categories li,
.widget_archive li {
	padding: 5px;
	list-style: none;
}
.wp-block-search__button {
	font-size: 1.2rem;
	padding: 5px;
	width: 20%;
	margin: 0;
	border-radius: 0;
	border: none;
}
.wp-block-search__input {
	border-radius: 0;
}
.wp-block-search__inside-wrapper {
	padding: 20px 10px;
	border: 1px solid #f5f5f5;
}

/* =============================================
お問い合わせ
============================================= */
.contact-fields {
	max-width: 100vw;
	padding: 20px 0 15px;
	border-bottom: #e2e2e2 1px solid;
}
#contact-form {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	width: 100%;
	margin: 0;
}
#contact-form dt {
	box-sizing: border-box;
	width: 260px;
	padding: 11px 16px 11px 4px;
}
#contact-form dd {
	box-sizing: border-box;
	width: calc(100% - 260px);
	margin-left: 0;
	padding-right: 5px;
	padding-left: 5px;
}
.required {
	margin-right: 10px;
	display: inline-block !important;
	padding: 2px 5px;
	background-color: #ce052c;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	line-height: normal;
	text-align: center;
	vertical-align: middle;
}
.optional {
	margin-right: 10px;
	display: inline-block !important;
	padding: 2px 5px;
	background-color: #777;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	line-height: normal;
	text-align: center;
	vertical-align: middle;
}
.mw_wp_form input[type="text"],
.mw_wp_form input[type="email"] {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 38px;
	padding: 8px 12px;
	border: 1px solid #bebebe;
	background: #f5f5f5;
	font-size: 16px;
	line-height: 32px;
	text-indent: 5px;
	transition: all 0.2s ease;
}
.mwform-tel-field input[type="text"] {
	width: auto !important;
	display: inline;
}
.mw_wp_form textarea {
	box-sizing: border-box;
	width: 100% !important;
	padding: 8px;
	border: 1px solid #bebebe;
	background: #f5f5f5;
}
.mw_wp_form a {
	color: #469be5;
}
.mw_wp_form input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	min-width: 240px;
	margin-right: 5px;
	padding: 16px 48px;
	border: solid 1px #484848;
	border-radius: 4px;
	background-color: #484848;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	transition: all 0.2s ease;
	margin-bottom: 20px;
}
.mw_wp_form input[type="submit"]:active,
.mw_wp_form input[type="submit"]:hover {
	outline: none;
	color: #484848;
	background-color: #fff;
}
.contact-btn #contact-form {
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
.contact-btn {
	text-align: center;
	margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
	#contact-form {
		display: block;
	}
	#contact-form dt {
		width: 100%;
		padding: 11px 0;
	}
	#contact-form dd {
		width: 100%;
		margin-left: 0;
	}
	.mwform-tel-field input[type="text"] {
		padding: revert;
	}
}

.confirm-d-none {
	display: inline-block;
}
.page-confirmation .confirm-d-none {
	display: none;
}

/* =============================================
サイトマップ
============================================= */
.sitemap ul.wsp-pages-list {
	display: flex;
	flex-wrap: wrap;
}
.sitemap .wsp-post {
	width: 100%;
}
.sitemap li {
	margin-right: 2rem;
	width: calc(30% - 20px);
	list-style: none;
	margin-bottom: 30px;
}
.children li {
	width: 100%;
	margin-bottom: 0;
	font-size: 90%;
}
.sitemap li a {
	display: block;
	width: 100%;
	color: #333;
	/* padding: 15px 20px;
	padding-right: 60px; */
	padding: 15px 60px 15px 15px;
	/* background: #fff url(../img/arrow-btn.png) 95% 50% / 30px no-repeat; */
	transition: all 0.3s;
	border-bottom: 1px solid #ccc;
	text-decoration: none;
	position: relative;
}
.sitemap li a::after {
	content: "\f1df";
	font-family: "Material Symbols Rounded";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 1em;
	color: var(--WHT);
	background-color: var(--MAIN);
	width: 2em;
	height: 2em;
	border-radius: 50%;
	font-size: .875em;
	padding: .125em;
}
.sitemap li a:hover {
	color: var(--MAIN);
}
.sitemap .children li a {
	border-bottom: none;
	/* padding: 10px 15px;
	padding-right: 40px; */
	padding: 10px 40px 10px 0px;
	/* background: #fff url(../img/arrow-btn.png) 95% 50% / 25px no-repeat; */
}
@media screen and (max-width: 767px) {
	.sitemap li {
		width: 100%;
	}
}

/* =============================================
下層
============================================= */
:root {
	--DEF: #333;
	--MAIN: #103fc6;
	--ACC: #dc1f0b;
	--OTH: #d14155;
	--GRY: #ddd;
	--LGRY: #f5f5f5;
	--DGRY: #707070;
	--WHT: #fff;
	--LINK: #a82f00;
	--RED: #d00;
	--LMAIN: #f0f7fd;
	--LACC: #fbeae3;
	--LOTH: #fcf2f3;
}

h2.title {
	position: relative;
	padding-bottom: 8px;
	border-bottom: var(--LGRY) 3px solid;
}
h2.title:before {
	content: "";
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100px;
	height: 3px;
	background-color: var(--MAIN);
	display: block;
	position: absolute;
	left: 0;
	bottom: -3px;
}
.dlb_title-h2.title {
	position: relative;
	padding-bottom: 8px;
	border-bottom: var(--LGRY) 3px solid;
}
.dlb_title-h2.title::before {
	content: "";
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100px;
	height: 3px;
	background-color: var(--MAIN);
	display: block;
	position: absolute;
	left: 0;
	bottom: -3px;
}
.sdgs-title {
	position: relative;
	padding-bottom: 8px;
	border-bottom: var(--LGRY) 3px solid;
}
.sdgs-title::before {
	content: "";
	-ms-flex-negative: 0;
	flex-shrink: 0;
	width: 100px;
	height: 3px;
	background-color: var(--MAIN);
	display: block;
	position: absolute;
	left: 0;
	bottom: -3px;
}

.img-w100 img {
	width: 100%;
	margin: atuo;
}
.img-w80 img {
	width: 80%;
	margin: atuo;
}
.table-blue th,
.table-blue td {
	/* border-bottom: 2px dotted #103fc6 !important; */
	border-bottom: 1px solid #103fc6 !important;
}
.table-blue th {
	width: 20%;
}
ol.suji li {
	margin-bottom: 1em;
}
ul.kuromaru {
	list-style: disc;
	padding-left: 2em;
	margin-top: 1em;
}
ul.kuromaru li {
	margin-bottom: 0.5em;
}
section.side-max {
	display: flex;
	justify-content: space-between;
	overflow: visible;
}
.side-max.reverse {
	flex-direction: row-reverse;
}
.side-max .column {
	width: 48%;
	display: flex;
	justify-content: center;
	flex-flow: column;
	gap: 10%;
}
.side-max img {
	width: 100%;
}
/*右側へ要素を広げる（2カラム）*/
.side-max .column-outside-right {
	flex: 1;
	margin-right: calc(50% - 50vw);
	margin-left: 4%;
}
/*左側へ要素を広げる（2カラム）*/
.side-max .column-outside-left {
	flex: 1;
	margin-left: calc(50% - 50vw);
	margin-right: 4%;
}
/*右側へ要素を広げる（1カラム）*/
.side-max .outside-right {
	margin-right: calc(50% - 50vw);
}
/*左側へ要素を広げる（1カラム）*/
.side-max .outside-left {
	margin-left: calc(50% - 50vw);
}
.just-end {
	justify-content: end !important;
}
.over-hidden {
	overflow: hidden !important;
}
.borde-r10 {
	border-radius: 10px !important;
}
.page-entry .c-icon-text {
	column-gap: 0em !important;
}
@media (max-width: 768px) {
	.side-max.reverse {
		flex-flow: column;
	}
	.side-max .column {
		width: 100%;
	}
}

/*---------- ブロークングリッドレイアウト ----------*/
.l-broken-grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-auto-columns: auto;
	grid-template-rows: repeat(12, 1fr);
	grid-auto-rows: auto;
	gap: 0px 0px;
	grid-auto-flow: row;
}
.l-img * {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.l-img iframe {
	min-height: 15rem;
}

/* 左画像・右文章 */
.l-broken-grid.--l-img-r-text {
	grid-template-rows: auto 1.5rem auto;
}
.l-broken-grid.--l-img-r-text .l-img {
	grid-area: 1 / 1 / 3 / 12;
	z-index: 2;
}
.l-broken-grid.--l-img-r-text .l-text {
	grid-area: 2 / 2 / 4 / 13;
	z-index: 1;
}
.bg-mizuiro {
	background-color: #f3f6ff !important;
}

@media (min-width: 768px) {
	.l-broken-grid.--l-img-r-text {
		grid-template-columns: 1fr 1rem 1fr;
		grid-template-rows: repeat(12, 1fr);
	}
	.l-broken-grid.--l-img-r-text .l-img {
		grid-area: 2 / 1 / 13 / 3;
	}
	.l-broken-grid.--l-img-r-text .l-text {
		grid-area: 1 / 2 / 12 / 4;
	}
}
/* 右画像・左文章 */
.l-broken-grid.--r-img-l-text {
	grid-template-rows: auto 1.5rem auto;
}
.l-broken-grid.--r-img-l-text .l-img {
	grid-area: 1 / 2 / 3 / 13;
	z-index: 2;
}
.l-broken-grid.--r-img-l-text .l-text {
	grid-area: 2 / 1 / 4 / 12;
	z-index: 1;
}
@media (min-width: 768px) {
	.l-broken-grid.--r-img-l-text {
		grid-template-columns: 1fr 1rem 1fr;
		grid-template-rows: repeat(12, 1fr);
	}
	.l-broken-grid.--r-img-l-text .l-img {
		grid-area: 2 / 2 / 13 / 4;
	}
	.l-broken-grid.--r-img-l-text .l-text {
		grid-area: 1 / 1 / 12 / 3;
	}
}

.page-other .page-sub-title,
.page-system .page-sub-title {
	display: none;
}
.page-other .page-title h1 {
	position: relative;
	padding-top: 0.75em;
}
.page-other .page-title h1::before,
.page-system .page-title h1::before {
	position: absolute;
	bottom: 0.3em;
	left: 0;
	color: #d9f4ff;
	content: "Service desk / Other";
	font-family: "Poppins", sans-serif;
	text-transform: uppercase;
	z-index: -1;
	font-size: 1.5em;
	line-height: 1;
	pointer-events: none;
	font-weight: bold;
}
.page-system .page-title h1::before {
	content: "System development";
}
.bg-opacity-main {
	background-color: #75c3e5 !important;
}
.triangle-arrow {
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 50px solid transparent;
	border-left: 50px solid transparent;
	border-top: 50px solid #d7f0fb;
	border-bottom: 0;
	margin: auto;
}
.timeline {
	list-style: none;
}
.timeline > li {
	overflow: hidden;
	margin: 0;
	position: relative;
	border-bottom: 1px solid #cecece;
	padding: 30px;
}
.timeline > li::before {
	content: "";
	position: absolute;
	left: 208px;
	top: 50%;
	transform: translatey(-50%);
	width: 8px;
	height: 100%;
	background-color: #e5e5e5;
}
.timeline-date {
	width: 130px;
	float: left;
	margin-right: 98px;
	background-color: #23adea;
	padding: 10px 20px;
	border-radius: 100px;
	color: #fff;
	text-align: center;
}
.timeline-content {
	width: 75%;
	float: left;
}
.timeline-content:before {
	content: "";
	width: 12px;
	height: 12px;
	background: #23adea;
	position: absolute;
	left: 205px;
	top: 50%;
	border-radius: 100%;
	transform: translatey(-50%);
}
.timeline-content p {
	margin-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.page-other .page-title h1::before,
	.page-system .page-title h1::before {
		bottom: 0;
	}
	.timeline {
		padding: 0;
	}
	.timeline > li {
		padding: 20px 20px 20px 30px;
	}
	.timeline > li::before {
		left: 2px;
	}
	.timeline-date {
		float: none;
		margin-right: 0;
		margin-bottom: 20px;
	}
	.timeline-content {
		width: 100%;
		float: none;
	}
	.timeline-content:before {
		left: 0;
	}
	.page-company .border-none th,
	.page-company .border-none td {
		display: inline-block;
		width: 100%;
		float: left;
		padding: 0;
		padding-bottom: 10px;
	}
	.company-privacy a {
		display: block;
	}
}
.tel-icon a {
	font-weight: bold;
	font-size: 1.5rem;
	padding: 10px;
	padding-left: 1.1rem;
	background: url(../img/tel.png) 0 50% / 1rem no-repeat;
}
.form-name {
	display: flex;
	align-items: center;
}

/* #name-sei, #name-mei, #kana-sei, #kana-mei {
width: 20% !important;
margin-left: 20px;
}
@media only screen and (max-width: 767px) {
#name-sei, #name-mei, #kana-sei, #kana-mei {
width: 30% !important;
margin-left: 20px;
}
.mwform-tel-field input {
width: 20% !important;
}
} */


/* =============================================
社史・沿革
============================================= */
.l-history:has(.l-img-2) {
	display: grid;
	grid-auto-columns: auto;
	grid-auto-rows: auto;
	row-gap: 1.5em;
}
.l-history:has(.l-img-2) .l-head {
	grid-area: 1/1/2/2;
}
.l-history:has(.l-img-2) .l-text {
	grid-area: 3/1/4/2;
}
.l-history:has(.l-img-2) .l-img-2 {
	grid-area: 2/1/3/2;
}
.l-history:has(.l-img-2) .l-bg {
	grid-area: 1/1/4/2;
	z-index: -1;
}
.l-history:has(.l-img-2) .l-bg [class*="bg-"] {
	margin-inline: var(--oversize);
}
@media only screen and (min-width: 768px) {
	.l-history:has(.l-img-2) {
		display: grid;
		grid-template-columns: repeat(12, 1fr);
		column-gap: 1.5em;
	}
	.l-history:has(.l-img-2) .l-head {
		grid-area: 1/1/2/13;
	}
	.l-history:has(.l-img-2) .l-text {
		grid-area: 2/1/3/8;
	}
	.l-history:has(.l-img-2) .l-img-2 {
		grid-area: 2/8/6/13;
	}
	.l-history:has(.l-img-2) .l-bg {
		grid-area: 1/1/3/13;
	}
	.l-history:has(.l-img-2) .l-bg [class*="bg-"] {
		margin-right: 0;
	}
}


/* =============================================
製品情報（下層）
============================================= */
.l-products {
	display: grid;
}
.l-products .l-text {
	grid-area: 3/1/4/2;
}
.l-products .l-l-thumb {
	grid-area: 1/1/2/2;
}
.l-products .l-s-thumb {
	grid-area: 2/1/3/2;
}
@media only screen and (min-width: 768px) {
	.l-products {
		grid-template-columns: 7fr 5fr;
		column-gap: 1.5rem;
	}
	.l-products .l-text {
		grid-area: 1/1/2/2;
	}
	.l-products .l-l-thumb {
		grid-area: 1/2/3/3;
	}
	.l-products .l-s-thumb {
		grid-area: 2/1/3/2;
	}
}
@media only screen and (min-width: 768px) {
	.l-products {
		grid-template-columns: 8fr 4fr;
	}
}


/* =============================================
各工場の特長
============================================= */
@media only screen and (min-width: 768px) {
	.dlb_table_row .u-cell-width-auto .dlb_table_row-title {
		width: auto;
	}
}
.dlb_table_row .u-cell-width-auto td {
    border-bottom: unset !important;
    width: 300px;
    /*  padding: 0.2rem; 2025.5.6 Ariyoshi */
	line-height: 1.0 ; /* 行間を調整する */
}


/* =============================================
下層MVタイトル
============================================= */
.c-under-mv-text-en {
	text-transform: uppercase;
	font-size: clamp(1.5rem, calc(1.125rem + 1.5625vw), 2.5rem);
	font-weight: bold;
	color: var(--MAIN);
}
.c-under-mv-text-jp {
	font-size: clamp(1.5rem, calc(1.125rem + 1.5625vw), 2.5rem);
	font-weight: bold;
	margin-bottom: 0;
}