/* 共通 */
* {
	box-sizing: border-box;
}

:root {
	--color-white: #fff;
	--color-black: #4D4D4D;
	--color-gray: #c2c2c2;
	--color-gray-light: #eee;
	--color-blue: #4F99DB;
	--color-purple: #ae81ff;
	--color-green: #a6e22e;
	--font-size-smp-extra-small: 1.2rem;
	--font-size-smp-small: 1.8rem;
	--font-size-smp-medium: 2.0rem;
	--font-size-smp-large: 3.2rem;
	--font-size-pc-small: 2.0rem;
	--font-size-pc-medium: 2.4rem;
	--font-size-pc-large: 3.2rem;
}

html {
	/* 主要なブラウザのデフォルトの文字サイズが16pxのため、下記の設定をすることで0.1rem = 1pxの指定が可能になる */
	font-size: 62.5%;
}

body {
	font-size: var(--font-size-smp-medium);
	font-family: "Noto Serif JP", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	color: var(--color-black);
}

.container {
	position: relative;
	width: 100%;
	/* margin: 80px auto; */
	padding: 0 10px;
}

.external-link {
	color: #0d6efd
}

.background-text {
	font-weight: bold;
	opacity: 0;
	position: absolute;
	z-index: -1;
	font-size: 10rem;
	color: var(--color-white);
	transform: rotate(90deg);
	margin-bottom: 0px;
	text-stroke: 1px rgba(197, 197, 197, .4);
	-webkit-text-stroke: 1px rgba(197, 197, 197, .4);
}

.background-text.open {
	position: fixed;
	opacity: 1;
	transition: all 1s;
}

/* section h2:not(.background-text) {
	font-size: var(--font-size-smp-large);
	font-weight: bold;
	margin-bottom: 40px;
	text-align: center;
} */

.clear {
	content: "";
	display: block;
	clear: both;
}

.modal .modal-content {
	padding: 12px;
}

.modal .modal-body h5 {
	font-weight: bold;
	font-size: var(--font-size-smp-medium);
	margin-bottom: 8px;
}

.modal .modal-body p {
	font-size: var(--font-size-smp-small);
	line-height: 3.0rem;
	margin-bottom: 12px;
}

.modal .modal-body img {
	width: 100%;
	margin: 8px 0;
}

.modal .modal-body video {
	width: 100%;
}

/* PAGE TOPボタン */
#page-top-btn {
	display: none;
}

#page-top-btn.open {
	display: block;
	width: 90px;
	height: 72px;
	position: fixed;
	right: 0;
	bottom: 12px;
	opacity: .6;
}

#page-top-btn.open a {
	position: relative;
	display: block;
	width: 90px;
	height: 72px;
	text-decoration: none;
}

#page-top-btn.open a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 700;
	content: '\f102';
	font-size: 25px;
	color: var(--color-blue);
	position: absolute;
	width: 25px;
	height: 25px;
	top: 10px;
	left: 35px;
	margin: 0;
	text-align: center;
}

#page-top-btn.open a::after {
	content: 'PAGE TOP';
	font-size: 8px;
	color: #fff;
	position: absolute;
	top: 45px;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
	color: var(--color-blue);
}

/* View Detailボタン */
.view-detail {
	text-align: right;
}

.view-detail-btn {
	position: relative;
	text-decoration: underline;
	text-decoration-thickness: 0.1rem;
}

.view-detail-btn::before {
	content: '';
	position: absolute;
	bottom: 12px;
	left: -16px;
	transform: rotate(30deg);
	width: 8px;
	height: 1px;
	background-color: #333;
}

.view-detail-btn::after {
	content: '';
	position: absolute;
	bottom: 10px;
	left: -32px;
	transform: translateY(-50%);
	width: 24px;
	height: .5px;
	background-color: #333;
}

/* headerセクション */
header {
	position: fixed;
	width: 100%;
	height: 60px;
	right: 0;
	display: flex;
	z-index: 100;
	justify-content: space-between;
	padding: 0 12px;
	align-items: center;
	background-color: var(--color-white);
}

header h1 {
	z-index: 100;
	transition: all 1s;
}

header.open h1 {
	z-index: -1;
}

header img {
	width: 280px;
}

header .btn {
	display: none;
	border-radius: 0;
	font-size: var(--font-size-smp-medium);
	padding: 0;
}

header .nav-toggle-btn {
	width: 32px;
	height: 32px;
	position: relative;
	cursor: pointer;
}

header .nav-toggle-btn span {
	display: inline-block;
	transition: all .4s;
	position: absolute;
	height: 2px;
	background-color: var(--color-black);
}

header .nav-toggle-btn span:nth-of-type(1) {
	top: 10px;
	width: 32px;
}

header .nav-toggle-btn span:nth-of-type(2) {
	top: 20px;
	right: 0;
	width: 18px;
}

header.open .nav-toggle-btn span {
	background-color: var(--color-white);
}

header.open .nav-toggle-btn span:nth-of-type(1) {
	transform: translateX(4px) translateY(2px) rotate(-45deg);
	width: 28px;
}

header.open .nav-toggle-btn span:nth-of-type(2) {
	transform: translateY(-8px) rotate(45deg);
	width: 28px;
}

header nav {
	height: 100vh;
	width: 100%;
	background-color: rgba(0, 0, 0, .9);
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	left: -200vw;
	top: 0;
	z-index: 100;
	transition: all 1s;
}

header.open nav {
	left: 0;
	z-index: -1;
	transition: all 1s;
}

header ul {
	list-style: none;
}

header ul li {
	margin-bottom: 20px;
	list-style: none;
	text-align: center;
}

header ul li.apply-link {
	margin-top: 40px;
}

header nav ul li a {
	text-decoration: none;
	color: var(--color-white);
}

header ul li a:hover {
	color: var(--color-white);
	border-bottom: 1px solid #fff;
}

/* 404セクション */
#not-found {
	display: flex;
	justify-content: center;
	align-items: center;
}

#not-found h2 {
	font-size: var(--font-size-smp-middle);
}

/* mainセクション */
#main .slider li {
	height: 400px;
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	margin: 0;
}

#main .slider .infra-slider-item01 {
	background-image: url(../img/slideshow/i_1465.jpg);
}

#main .slider .infra-slider-item02 {
	background-image: url(../img/slideshow/image62.jpeg);
}

#main .slider .infra-slider-item03 {
	background-image: url(../img/slideshow/i_1660.jpg);
}

#main .slider .infra-slider-item04 {
	background-image: url(../img/slideshow/i_1720.jpg);
}

#main .slider .infra-slider-item05 {
	background-image: url(../img/slideshow/image66.jpeg);
}

#main .slider .support-slider-item01 {
	background-image: url(../img/slideshow/k_0639.jpg);
}

#main .slider .support-slider-item02 {
	background-image: url(../img/slideshow/image32.jpeg);
}

#main .slider .support-slider-item03 {
	background-image: url(../img/slideshow/image42.jpeg);
}

/* #main .slider .support-slider-item04 {
    background-image: url(../img/slideshow/i_1720.jpg);
}

#main .slider .support-slider-item05 {
    background-image: url(../img/slideshow/image66.jpeg);
} */

#main .slider .development-slider-item01 {
	background-image: url(../img/slideshow/i_1569.jpg);
}

#main .slider .development-slider-item02 {
	background-image: url(../img/slideshow/i_1560.jpg);
}

#main .slider .development-slider-item03 {
	background-image: url(../img/slideshow/i_1533.jpg);
}

#main .slider .development-slider-item04 {
	background-image: url(../img/slideshow/image7.jpeg);
}

/* #main .slider .development-slider-item04 {
    background-image: url(../img/slideshow/image7.jpeg);
} */

#main .inner {
	height: 60px;
	width: 100%;
	opacity: .8;
	display: flex;
	background-color: var(--color-white);
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 150px;
}

#main .inner h2 {
	color: var(--color-blue);
	font-size: var(--font-size-smp-medium);
	margin-bottom: 0;
}

/* messageセクション */
#message {
	/* height: 100vh; */
	position: relative;
	margin-top: 0;
}

#message .background-text.open {
	top: 40%;
	left: -15rem;
}

#message p {
	line-height: 4rem;
}

/* aboutセクション */
#about {
	position: relative;
}

#about .background-text.open {
	top: 40%;
	left: -10rem;
}

#about .inner-top {
	margin-bottom: 4px;
}

#about .inner-top img {
	width: 100%;
}

#about .inner-bottom {
	margin-bottom: 40px;
}

#about .inner-bottom h4 {
	color: var(--color-blue);
	margin-bottom: 4px;
}

#about .inner-bottom h3 {
	font-size: var(--font-size-smp-medium);
	font-weight: bold;
	margin-bottom: 8px;
}

#about .inner-bottom p {
	line-height: 3.5rem;
}

#about .modal .modal-title span {
	color: var(--color-blue);
}

#about .modal .modal-body img {
	margin: 0;
}

#about .modal .modal-body .d-none {
	display: block !important;
}

#about .modal .modal-body .carousel-caption {
	background-color: rgba(255, 255, 255, .7);
	width: 100%;
	right: 0;
	left: 0;
}

#about .modal .modal-body .carousel-caption h5 {
	color: var(--color-black);
	font-size: var(--font-size-smp-extra-small);
	margin-bottom: 0;
}

#about .modal .modal-body .carousel-control-next,
#about .modal .modal-body .carousel-control-prev {
	display: none;
}



/* interviewセクション */
#interview {
	position: relative;
}

#interview .background-text.open {
	top: 40%;
	right: -21rem;
}


#interview .interview-item p {
	line-height: 4rem;
}

#interview .interview-item {
	margin-bottom: 60px;
}

#interview .interview-item .item-image {
	position: relative;
	margin-bottom: 20px;
}

#interview .interview-item .item-image img {
	border-radius: 50%;
	width: 250px;
	height: 250px;
	object-fit: cover;
	box-shadow: 4px 4px 12px 2px var(--color-gray);
}

#interview .interview-item:nth-of-type(even) .item-image {
	float: right;
}

#interview .interview-item:nth-of-type(even) {
	text-align: right;
}

#interview .interview-item h4 {
	font-weight: bold;
	margin-bottom: 12px;
}

#interview .interview-item p {
	letter-spacing: 0.3rem;
}

/* FAQセクション */
#faq .accordion {
	border-top: 2px solid var(--color-gray);
	border-bottom: 2px solid var(--color-gray);
	padding: 24px 0;
}

#faq .accordion .question {
	margin-bottom: 12px;
}

#faq .ac-trigger {
	font-size: var(--font-size-smp-small);
	font-family: inherit;
	color: var(--color-black);
}

#faq .ac-panel .ac-text {
	font-size: var(--font-size-smp-small);
	font-family: inherit;
	line-height: 3.0rem;
}

#faq .ac-panel img {
	width: 60%;
	margin: 8px 0;
}

/* requirementsセクション */
#requirements {
	position: relative;
}

#requirements .background-text.open {
	top: 40%;
	right: -6rem;
}

#requirements .requirements-item {
	font-size: var(--font-size-smp-small);
	padding: 24px 0;
	border-top: 1px solid var(--color-gray);
}

#requirements .requirements-item p {
	margin-bottom: 0;
}

#requirements .requirements-item:last-child {
	border-bottom: 1px solid var(--color-gray);
}

#requirements h3 {
	font-weight: bold;
	margin-bottom: 8px;
}

#requirements p {
	line-height: 3.0rem;
	margin-bottom: 24px;
}

/* footer {
    width: 100%;
    text-align: center;
} */

/* footoerセクション */
/* careers.soei.comの移行 */
.l-inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1240px;
	padding-left: 20px;
	padding-right: 20px;
	position: relative;
}

.l-cta {
	background-image: url(../img/cta/bg_sp@2x.png);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 120px;
	padding-top: 115px;
	position: relative;
}

.l-cta__txt {
	color: #fff;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.1em;
	line-height: 1;
	text-align: center;
}

.l-cta__btn {
	margin-top: 45px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.c-btn-cta {
	background: linear-gradient(99deg, #4f99db 50%, #93cafc 100%);
	background-color: #4f99db;
	border-radius: 50px;
	box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.05);
	box-sizing: border-box;
	color: #fff;
	display: block;
	font-family: "Poppins Semi-bold";
	font-size: 18px;
	font-weight: bold;
	letter-spacing: 0.15em;
	padding-bottom: 24px;
	padding-top: 25px;
	position: relative;
	text-align: center;
	transition: 300ms;
	width: 100%;
	z-index: 0;
}

.c-btn-cta::before {
	background-image: url("../img/cta/icon-cta@2x.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	height: 21px;
	margin: -3px 25px 0 0;
	transition: 300ms;
	vertical-align: middle;
	width: 21px;
}

.c-btn-cta::after {
	background: linear-gradient(99deg, white 0%, white 100%);
	background-color: #fff;
	border-radius: 50px;
	box-shadow: 0 0 0 1px #4F99DB;
	content: "";
	display: block;
	height: 100%;
	left: 0;
	opacity: 0;
	position: absolute;
	top: 0;
	transition: 300ms;
	width: 100%;
	z-index: -1;
}

.c-btn-cta:hover {
	box-sizing: border-box;
	color: #4F99DB;
}

.c-btn-cta:hover::before {
	background-image: url("../img/cta/icon-cta-hover@2x.png");
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: contain;
	content: "";
	display: inline-block;
	margin: -3px 17px 0 -20px;
	height: 21px;
	vertical-align: middle;
	width: 21px;
}

.l-footer__inner {
	margin: 0 auto;
	max-width: 1200px;
	padding: 0;
	position: relative;
	width: 100%;
}

.l-footer__megamenu {
	display: flex;
	justify-content: space-between;
	padding: 32px 20px 46px;
}

.l-footer__megamenu-nav {
	display: none;
}

.l-footer__list01-ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	max-width: 100%;
}

.l-footer__list01-link {
	min-width: 160px;
}

.l-footer__list01-li .l-footer__list01-link {
	align-items: center;
	border: solid 1px #E2E2E2;
	box-sizing: border-box;
	display: flex;
	font-size: 12px;
	font-weight: 700;
	height: 50px;
	justify-content: center;
	letter-spacing: 0.14em;
	line-height: 1;
	padding: 16px;
	width: 100%;
}

.l-footer__list01-li .l-footer__list01-link[target="_blank"] {
	background-image: url("../img/icon-feather-external-link.svg");
	background-position: top 6px right 6px;
	background-repeat: no-repeat;
	background-size: 12px;
}

.l-footer__list01-li+.l-footer__list01-li {
	margin-top: 0;
	margin-bottom: 16px;
}

.l-footer__logo {
	margin-bottom: 46px;
	max-width: 260px;
	width: 69.33vw;
}

.l-footer__bottom {
	display: flex;
	font-size: 12px;
	letter-spacing: 0.12em;
	line-height: 1;
	flex-wrap: wrap;
	padding: 0 20px 20px;
	border: none;
}

.l-footer__bottom-list-ul {
	display: flex;
	margin-bottom: 15px;
}

.l-footer__bottom .l-footer__bottom-copyright {
	border-top: solid 1px #E2E2E2;
	box-sizing: border-box;
	font-size: 12px;
	order: 2;
	padding: 15px 0;
	text-align: center;
	white-space: nowrap;
	width: 100%;
}

/* IPLABOサイト用 */

/* 共通 */
.container {
	padding: 80px 10px;
}

.container h2 {
	text-align: left;
	margin-bottom: 40px;
	font-size: var(--font-size-smp-large);
}

.container table tbody td {
	margin-bottom: 4px;
	display: block;
	width: 100%;
	line-height: 3.5rem;
}

/* home.php */
.home-container img {
	width: 100%;
}

.home-container .home-container-top {
	margin-bottom: 80px;
}

/* overview.php */
.overview-container img {
	width: 100%;
}

.overview-container .overview-table {
	display: table;
	border-collapse: separate;
	box-sizing: border-box;
	text-indent: initial;
	border-spacing: 15px;
	border-color: grey;
}

.container .overview-table tbody {
	display: table-row-group;
	vertical-align: middle;
	border-color: inherit;
}

.overview-container .overview-table tr {
	margin-bottom: 12px;
}

.overview-container .overview-table td:nth-of-type(2n-1) {
	font-weight: bold;
}

/* introduction.php */
.introduction-container h3 {
	margin-bottom: 12px;
}

.introduction-container .introduction-table {
	margin-bottom: 20px;
}

.introduction-container .introduction-table tr {
	margin-bottom: 24px;
}

.introduction-container .introduction-table td:nth-of-type(2n-1) {
	font-weight: bold;
}

/* business.php */
.business-container h3 {
	font-size: var(--font-size-pc-medium);
	margin-bottom: 20px;
}

.business-container h4 {
	font-size: var(--font-size-pc-medium);
	margin-bottom: 12px;
}

.business-container .business-inner-image {
	width: 100%;
}

.business-container p:nth-of-type(2n-1) {
	margin: 20px 0;
}

.business-container p:nth-of-type(2n) {
	margin-bottom: 32px;
}

@media screen and (min-width: 1024px) {
	.container {
		width: 80%;
		margin: 120px auto;
	}

	.background-text {
		font-size: 15rem;
		color: var(--color-white);
		transform: rotate(0deg);
		margin-bottom: 0px;
	}

	section h2 {
		font-size: var(--font-size-pc-large);
		margin-bottom: 40px;
	}

	.modal .modal-body h5 {
		font-size: var(--font-size-pc-small);
		margin-bottom: 8px;
	}

	.modal .modal-body p {
		font-size: var(--font-size-pc-small);
		line-height: 3.5rem;
	}

	/* headerセクション */
	header h1 {
		font-size: var(--font-size-pc-medium);
	}

	header .inner-right {
		width: 200px;
		display: flex;
		justify-content: end;
	}

	header .btn {
		display: inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		color: var(--color-black);
		width: 120px;
		height: 40px;
		line-height: 36px;
	}

	header.open .btn {
		visibility: hidden;
	}

	header nav {
		justify-content: center;
		align-items: center;
	}

	header ul li {
		text-align: center;
	}

	/* not-foundセクション */
	#not-found h2 {
		font-size: var(--font-size-pc-large);
	}

	/* mainセクション */
	#main .slider li {
		height: 100vh;
		background-size: cover;
	}

	#main .inner {
		height: 80px;
		width: 100%;
		opacity: .8;
		top: 50vh;
	}

	#main .inner h2 {
		font-size: var(--font-size-pc-large);
	}

	/* messageセクション */
	#message {
		font-size: var(--font-size-pc-small);
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#message .background-text.open {
		top: 10%;
		left: 0;
	}

	/* aboutセクション */
	#about .background-text.open {
		top: 10%;
		left: 0;
	}

	#about .about-item {
		display: flex;
		position: relative;
		margin-bottom: 160px;
		justify-content: space-around;
		align-items: center;
	}

	#about .about-item:nth-of-type(even) {
		flex-flow: row-reverse;
	}

	#about .about-item .inner-top {
		width: 45%;
		margin-bottom: 0;
	}

	#about .inner-top p {
		font-size: var(--font-size-pc-small);
		margin-bottom: 12px;
	}

	#about .inner-top h3 {
		font-size: var(--font-size-pc-small);
		font-weight: bold;
		margin-bottom: 12px;
	}

	#about .inner-bottom {
		display: inline-block;
		width: 50%;
	}

	#about .inner-bottom img {
		width: 100%;
	}

	#about .modal .modal-body .carousel-caption h5 {
		font-size: var(--font-size-pc-medium);
	}

	#about .modal .modal-body .carousel-control-next,
	#about .modal .modal-body .carousel-control-prev {
		display: block;
		width: 4%;
		/* background-color: var(--color-black); */
		opacity: .4;
	}

	#about .modal .modal-body .carousel-control-next-icon,
	#about .modal .modal-body .carousel-control-prev-icon {
		width: 4rem;
		height: 4rem;
	}

	/* interviewセクション */
	#interview {
		height: 100vh;
	}

	#interview .background-text.open {
		top: 10%;
		right: 0;
	}

	#interview .interview-item:nth-of-type(even) {
		text-align: left;
	}

	#interview .interview-item:nth-of-type(1) .item-image {
		position: absolute;
		top: 80px;
		left: 0;
	}

	#interview .interview-item:nth-of-type(2) .item-image {
		position: absolute;
		top: 120px;
		right: 24px;
	}

	#interview .interview-item:nth-of-type(3) .item-image {
		position: absolute;
		bottom: -12px;
		left: 0;
	}

	#interview .interview-item:nth-of-type(4) .item-image {
		position: absolute;
		bottom: -24px;
		right: 0;
	}

	#interview .interview-item.active .item-image {
		border: 3px solid var(--color-gray);
		border-radius: 50%;
	}

	#interview .interview-item .item-image::before {
		content: "Click Here";
		color: var(--color-white);
		position: absolute;
		z-index: 50;
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		opacity: .6;
		transition: opacity 1s;
		animation-name: upDown;
		animation-duration: 1s;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
		animation-play-state: running;
		animation-direction: alternate;
	}

	@keyframes upDown {
		from {
			transform: translateY(-2%);
		}

		to {
			transform: translateY(2%);
		}
	}

	#interview .interview-item.active .item-image::after {
		z-index: -1;
		opacity: 0;
		transition: opacity 1s;
	}

	#interview .interview-item .item-image::after {
		position: absolute;
		left: 0;
		top: 0;
		z-index: 30;
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 50%;
		background-color: var(--color-black);
		opacity: .6;
		transition: opacity 1s;
	}

	#interview .interview-item.active .item-image::before {
		z-index: -1;
		opacity: 0;
		transition: opacity 1s;
	}

	#interview .interview-item .item-image img {
		width: 280px;
		height: 280px;
	}

	#interview .interview-item .item-description {
		font-size: var(--font-size-pc-small);
		position: absolute;
		width: 50%;
		top: 50%;
		transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		left: 50%;
		transform: translateX(-40%);
		-webkit-transform: translateX(-40%);
		opacity: 0;
	}

	#interview .interview-item.active .item-description {
		z-index: -1;
		opacity: 1;
		transition: opacity 1s;
	}

	#interview .interview-item.active .item-description::before {
		content: "";
		display: block;
		border: 1px solid var(--color-gray);
		position: absolute;
		top: 10px;
		left: -80px;
		width: 60px;

	}

	/* FAQセクション */
	#faq .ac {
		font-size: var(--font-size-pc-small);
	}

	/* requirementsセクション */
	#requirements .background-text.open {
		top: 10%;
		right: 0;
	}

	#requirements .requirements-item {
		font-size: var(--font-size-pc-small);
	}

	#requirements h3 {
		font-weight: bold;
		margin-bottom: 12px;
	}

	#requirements p {
		margin-bottom: 24px;
	}

	.l-cta {
		background-image: url("../img/cta/bg@2x.png");
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: cover;
		padding-bottom: 90px;
		padding-top: 100px;
		position: relative;
	}

	.l-cta__btn {
		margin-top: 50px;
		max-width: 490px;
	}

	.l-cta__txt {
		font-size: 20px;
	}

	.c-btn-cta {
		font-size: 20px;
		padding-bottom: 35px;
		padding-top: 35px;
		text-align: center;
		width: 490px;
	}

	.c-btn-cta:hover::before {
		margin: -3px 25px 0 0;
	}

	.c-btn-cta:hover::after {
		opacity: 1;
	}


	.l-footer__megamenu {
		padding: 54px 0 68px;
	}

	.l-footer__list01-ul {
		max-width: 200px;
	}

	.l-footer__list01-li+.l-footer__list01-li {
		margin-top: 16px;
		margin-left: 0;
		margin-bottom: 0;
	}


	.l-footer__list01-li .l-footer__list01-link {
		font-size: 14px;
	}


	.l-footer__megamenu-nav {
		display: flex;
		margin-left: 88px;
	}

	.l-footer__megamenu-list+.l-footer__megamenu-list {
		margin-left: 72px;
	}

	.l-footer__megamenu-dt {
		color: #1A1A1A;
		font-size: 15px;
		font-weight: 700;
		letter-spacing: 0.15em;
	}

	.l-footer__megamenu-dt+.l-footer__megamenu-dt {
		margin-top: 30px;
	}

	.l-footer__megamenu-dt+.l-footer__megamenu-dd {
		margin-top: 15px;
	}

	.l-footer__megamenu-dd {
		color: #6D6E72;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 0.14em;
		line-height: 2.4;
	}

	.l-footer__megamenu-sns {
		margin: 0 30px 0 90px;
	}

	.l-footer__bottom {
		flex-wrap: nowrap;
		border-top: solid 1px #E2E2E2;
		justify-content: space-between;
		padding: 20px 0 24px;
	}

	.l-footer__bottom-list-ul {
		display: flex;
		margin: 0;
	}

	.l-footer__bottom-list-li {
		padding: 0 20px;
	}

	.l-footer__bottom-list-li+.l-footer__bottom-list-li {
		border-left: solid 1px #E7E7E7;
		padding-right: 0;
	}

	.l-footer__bottom .l-footer__bottom-copyright {
		border: none;
		box-sizing: initial;
		order: initial;
		padding: 0;
		text-align: left;
		white-space: normal;
		width: auto;
	}

	/* IPLABOサイト用 */
	/* overview.php */
	.overview-container .overview-table tbody {
		display: table-row-group;
		vertical-align: middle;
		border-color: inherit;
	}

	.overview-container .overview-table tr {
		display: table-row;
		vertical-align: inherit;
		border-color: inherit;
	}

	.overview-container .overview-table td {
		display: table-cell;
		vertical-align: inherit;
	}

	.overview-container .overview-table tbody tr td:nth-of-type(2n-1) {
		width: 30%;
	}

	.overview-container .overview-table tbody tr td:nth-of-type(2n) {
		width: 70%;
	}

	/* introduction.php */
	.introduction-table {
		display: table;
		border-collapse: separate;
		box-sizing: border-box;
		text-indent: initial;
		border-spacing: 30px 15px;
		border-color: grey;
	}

	.introduction-table tbody {
		display: table-row-group;
		vertical-align: middle;
		border-color: inherit;
		line-height: 1.7;
	}

	.introduction-table tr {
		display: table-row;
		vertical-align: inherit;
		border-color: inherit;
	}

	/* business.php */
	.business-container p:nth-of-type(2n) {
		margin-bottom: 48px;
	}

	.business-container .business-inner-image img {
		margin-bottom: 20px;
	}

	.business-container .business-inner-image img {
		float: left;
	}
}