:root {
  --white: #fff;
  --black: #031A43;
  --lightblue: #E6F2FF;
  --blue: #17A5FF;
  --pink: #F34A68;
  --gray: #7A8CA1;
  --text-color: #354869;
  --boder-color: #E8EDF5;
  --bg-color: #F0F9FF;
}

body
{
	margin: 0;
}

/* -------------------------------------
一覧
------------------------------------- */
.industries-archive
{
	margin-top: 130px;
	box-sizing: border-box;
	color: var(--black);
}

.industries-archive *
{
	box-sizing: inherit;
}

.industries-archive img,
.industries-single img
{
	max-width: 100%;
}

.industries-archive .industries-archive__page-title
{
	margin: 0 0 100px;
	padding: 54px 40px;
	background-image: url(../img/industries/title_bg.png);
	background-repeat: no-repeat;
	background-size: cover;
}

.industries-archive .industries-archive__page-title hgroup
{
	text-align: center;
	color: var(--white);
}

.industries-archive .industries-archive__page-title h1
{
	margin: 0 auto 1em;
	font-size: 40px;
	font-weight: 700;
}

.industries-archive .industries-archive__page-title p
{
	font-size: 18px;
	font-weight: 500;
	line-height: 1.9em;
}

.industries-archive .industries-archive__section
{
	width: 1200px;
	max-width: calc(100% - 80px);
	margin: 0 auto 80px;
}

.industries-archive .industries-archive__items,
.industries-single .industries-archive__items
{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(calc(33% - 24px), 1fr));
	gap: 40px 24px;
}

.industries-single .industries-archive__items
{
	width: 1200px;
	max-width: 100%;
	margin: 50px auto 0;
	grid-template-columns: repeat(auto-fill, minmax(calc(33% - 24px), 1fr));
}

.industries-archive .industries-archive__item,
.industries-single .industries-archive__item
{
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 5;
	gap: 0;
	padding-bottom: 24px;
	background-color: var(--white);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(51,51,51, .06);
}

.industries-archive .industries-archive__item .img img,
.industries-single .industries-archive__item .img img
{
	width: 100%;
	aspect-ratio: 29 / 17;
	object-fit: cover;
}

.industries-archive .industries-archive__item .text,
.industries-single .industries-archive__item .text
{
	display: contents;
}

.industries-archive .industries-archive__item .text .item__title,
.industries-single .industries-archive__item .text .item__title
{
	display: flex;
	align-items: center;
	gap: 16px;
	width: calc(100% - 48px);
	margin: 24px auto 0;
	font-size: 22px;
	font-weight: 700;
}

.industries-single .industries-archive__item .text .item__title
{
	font-size: 15px;
}

.industries-archive .industries-archive__item .text .item__title span,
.industries-single .industries-archive__item .text .item__title span
{
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	border-radius: 12px;
	box-shadow: 0 2px 7px rgba(51,51,51, .1);
}

.industries-single .industries-archive__item .text .item__title span
{
	width: 37px;
	height: 37px;
	border-radius: 8px;
}

.industries-archive .industries-archive__item .text .item__title span img,
.industries-single .industries-archive__item .text .item__title span img
{
	width: 25px;
	height: 25px;
	object-fit: contain;
}

.industries-single .industries-archive__item .text .item__title span img
{
	width: 17px;
	height: 17px;
}

.industries-archive .industries-archive__item .text > p,
.industries-single .industries-archive__item .text > p
{
	width: calc(100% - 48px);
	margin: 16px auto;
	font-size: 14px;
	font-weight: 700;
	line-height: 2em;
}

.industries-single .industries-archive__item .text > p
{
	font-size: 11px;
	color: #354869;
}

.industries-archive .industries-archive__item .tag,
.industries-single .industries-archive__item .tag
{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	width: calc(100% - 48px);
	margin: 0 auto 16px;
	padding: 16px 0 0;
	border-top: 1px solid var(--boder-color);
}

.industries-archive .industries-archive__item .tag li,
.industries-single .industries-archive__item .tag li
{
	padding: 7px 10px;
	font-size: 14px;
	font-weight: 700;
	line-height: 1em;
	color: var(--blue);
	background-color: var(--lightblue);
	border-radius: 4px;
}

.industries-single .industries-archive__item .tag li
{
	font-size: 11px;
}

.industries-archive .industries-archive__item .btn-detail,
.industries-single .industries-archive__item .btn-detail
{
	display: block;
	width: calc(100% - 48px);
	margin: 0 auto;
	padding: 12px;
	font-size: 16px;
	font-weight: 700;
	color: var(--blue);
	text-align: center;
	text-decoration: none;
	line-height: 1em;
	border: 2px solid var(--blue);
	border-radius: 4em;
	transition: .3s all;
}

.industries-archive .industries-archive__item .btn-detail:hover,
.industries-single .industries-archive__item .btn-detail:hover
{
	color: var(--white);
	background-color: var(--blue);
}

/* -------------------------------------
詳細
------------------------------------- */
.industries-single
{
	margin-top: 130px;
	box-sizing: border-box;
	color: var(--black);
}

.industries-single *
{
	box-sizing: inherit;
}

.industries-single .section-ttl
{
	font-size: 28px;
	font-weight: 700;
	line-height: 1.5em;
	text-align: center;
}

.industries-single .section-dsc
{
	font-size: 16px;
	line-height: 1.5em;
	text-align: center;
}

.industries-single .industries-single__intro
{
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: row-reverse;
	justify-content: center;
	align-items: center;
	gap: 20px 50px;
	width: 100%;
	margin: 0;
	padding: 30px 40px;
	background-color: var(--bg-color);
	overflow: hidden;
}

.industries-single .industries-single__intro::before,
.industries-single .industries-single__intro::after
{
	content: "";
	position: absolute;
	z-index: -1;
	width: 100px;
	height: 100px;
	background-color: var(--blue);
	border-radius: 50%;
	filter: blur(50px);
	opacity: .6;
}
.industries-single .industries-single__intro::before
{
	right: calc(50% + 100px);
	top: 40px;
}
.industries-single .industries-single__intro::after
{
	right: calc(50% + 500px);
	bottom: 50px;
}

.industries-single .industries-single__intro .img
{
	width: 570px;
}

.industries-single .industries-single__intro .img img
{
	border-radius: 16px;
}

.industries-single .industries-single__intro .text
{
	flex: 1;
	max-width: 580px;
}

.industries-single .industries-single__page-title
{
	margin: 0 0 0.5em;
	font-size: 40px;
	font-weight: 700;
	line-height: 1.5em;
}

.industries-single .industries-single__page-title b
{
	color: var(--blue);
}

.industries-single .industries-single__page-desc
{
	margin-bottom: 1em;
	font-size: 15px;
	line-height: 1.9em;
}

.industries-single .industries-single__intro .point
{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 0 0 25px;
	padding: 0;
	font-size: 13px;
	font-weight: 700;
	white-space: nowrap;
}

.industries-single .industries-single__intro .point li::before
{
	content: "";
	display: inline-block;
	width: 20px;
	height: 17px;
	background-image: url(../img/industries/ico-check.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	margin-right: 8px;
}

.industries-single .industries-single__intro .point li
{
	display: flex;
	align-items: center;
}

.industries-single .industries-single__intro .btn-area
{
	display: flex;
	gap: 12px;
	font-size: 14px;
	font-weight: 700;
}

.industries-single .industries-single__intro .btn-area a
{
	display: grid;
	place-items: center;
	padding: 1em 2em;
	text-decoration: none;
	border-radius: 4em;
}

.industries-single .industries-single__intro .btn-download
{
	flex: 1;
	color: var(--white);
	background-color: var(--pink);
	border: 2px solid var(--pink);
}

.industries-single .industries-single__intro .btn-download:hover
{
	color: var(--pink);
	background-color: var(--white);
}

.industries-single .industries-single__intro .btn-demo
{
	width: 210px;
	max-width: 40%;
	color: var(--blue);
	background-color: var(--white);
	border: 2px solid var(--blue);
}

.industries-single .industries-single__intro .btn-demo:hover
{
	color: var(--white);
	background-color: var(--blue);
}

.industries-single .industries-single__company
{
	padding: 60px 40px;
	text-align: center;
}

.industries-single .industries-single__company .com__banner
{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 5px 3px;
	width: 1200px;
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

.industries-single .industries-single__company .industries-single__project
{
	width: fit-content;
	margin: 40px auto 0;
	padding: 15px 40px 10px;
	font-size: 28px;
	line-height: 48px;
	text-align: center;
	background-image: url(../img/industries/ico-crown-l.svg), url(../img/industries/ico-crown-r.svg);
	background-repeat: no-repeat;
	background-position: center left, center right;
}

.industries-single .industries-single__company .project__num
{
	margin: 0 auto 10px;
	font-size: 28px;
	font-weight: 700;
}

.industries-single .industries-single__company .project__num strong
{
	font-size: 48px;
	color: var(--blue);
}

.industries-single .industries-single__company .project__num small
{
	font-size: 28px;
}

.industries-single .industries-single__company .project__memo
{
	margin: 0;
	font-size: 14px;
	color: var(--text-color);
	line-height: 1em;
}

.industries-single .industries-single__solution
{
	padding: 96px 40px;
	background-color: var(--bg-color);
}

.industries-single .solution-wrapper
{
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 1200px;
	max-width: 100%;
	margin: 60px auto 0;
}

.industries-single .solution
{
	display: flex;
	gap: 66px;
}

.industries-single .solution__before,
.industries-single .solution__after
{
	width: calc(50% - 33px);
	padding: 28px 36px;
	border-radius: 16px;
}

.industries-single .solution__before
{
	position: relative;
	background-color: var(--white);
}

.industries-single .solution__before::before
{
	content: "";
	position: absolute;
	top: 50%;
	right: -50px;
	width: 26px;
	height: 30px;
	background-image: url(../img/industries/ico-arrow.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

.industries-single .solution__before h3,
.industries-single .solution__after h3
{
	margin: 0 0 1em;
	font-size: 13px;
	font-weight: 600;
}

.industries-single .solution__before p,
.industries-single .solution__after p
{
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.6em;
}

.industries-single .solution__before h3
{
	color: var(--gray);
}

.industries-single .solution__after
{
	color: var(--white);
	background-color: var(--blue);
}

.industries-single .solution__after h3
{
	display: inline-block;
	width: fit-content;
	margin-right: 1em;
}

.industries-single .solution__tag
{
	list-style: none;
	display: inline-block;
	margin: 0;
	padding: 0;
}

.industries-single .solution__tag li
{
	display: inline-block;
	padding: .5em 1em;
	font-size: 10px;
	font-weight: 600;
	color: var(--blue);
	line-height: 1em;
	background-color: var(--white);
	border-radius: 2em;
}

.industries-single .industries-single__case
{
	padding: 100px 40px;
	background: #F0F7FF;
	background: linear-gradient(0deg,rgba(240, 247, 255, 1) 0%, rgba(240, 247, 255, 1) 70%, rgba(240, 247, 255, 0) 100%);
}

.industries-single .case-wrapper
{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(calc(33% - 40px), 1fr));
	gap: 40px;
	width: 1200px;
	max-width: 100%;
	margin: 50px auto 0;
}

.industries-single .case__item
{
	background-color: var(--white);
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(203, 100%, 55%, .5);
}

.industries-single .case__item > a
{
	color: var(--text-color);
	text-decoration: none;
}

.industries-single .case__item .img img
{
	width: 100%;
	aspect-ratio: 37 / 26;
	object-fit: cover;
}

.industries-single .case__item .text
{
	padding: 20px 24px;
}

.industries-single .case__ttl
{
	margin: 0 0 16px;
	font-size: 18px;
	line-height: 1.9em;
	color: var(--black);
}

.industries-single .case__com
{
	font-size: 16px;
	font-weight: 500;
}

.industries-single .case__profile
{
	font-size: 14px;
}

.industries-single .case__profile > div
{
	display: flex;
}

.industries-single .case__profile dt,
.industries-single .case__profile dd
{
	margin: 0;
	line-height: 2em;
}

.industries-single .case__profile dt::after
{
	content: "：";
}

.industries-single .case__profile dd
{
	flex: 1;
}

.industries-single .case__tag
{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	margin: 1em 0 0;
	padding: 0;
	font-size: 13px;
	font-weight: 500;
	gap: 10px;
}

.industries-single .case__tag li
{
	padding: 4px 8x;
	background-color: #F5F6F7;
	border: 4px;
}

.industries-single .industries-single__case .btn-area
{
	display: block;
	margin: 40px auto 0;
	text-align: center;
}

.industries-single .industries-single__case .btn-area a
{
	display: inline-block;
	padding: 1em 3em;
	font-size: 15px;
	font-weight: 700;
	color: var(--blue);
	text-decoration: none;
	letter-spacing: .12em;
	background-color: var(--white);
	border: 2px solid var(--blue);
	border-radius: 4em;
	transition: .3s all;
}

.industries-single .industries-single__case .btn-area a:hover
{
	color: var(--white);
	background-color: var(--blue);
}

.industries-single .industries-single__documents
{
	padding: 100px 40px;
}

.industries-single .documents-wrapper
{
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(calc(33% - 40px), 1fr));
	gap: 40px;
	width: 1200px;
	max-width: 100%;
	margin: 50px auto 0;
}

.industries-single .documents__item
{
	display: grid;
	grid-template-rows: subgrid;
	grid-row: span 5;
	gap: 0;
	padding-bottom: 20px;
	background-color: var(--white);
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(51,51,51, .08);
}

.industries-single .documents__item .img img
{
	width: 100%;
	object-fit: cover;
}

.industries-single .documents__item .text
{
	display: contents;
}

.industries-single .documents__cat
{
	list-style: none;
	margin: 0;
	padding: 20px 22px 0;
}

.industries-single .documents__cat li
{
	width: fit-content;
	padding: .25em 1em;
	font-size: 12px;
	font-weight: 700;
	color: var(--blue);
	background-color: var(--lightblue);
	border-radius: 4px;
}

.industries-single .documents__ttl
{
	width: 100%;
	margin: .5em auto 1em;
	padding: 0 22px;
	font-size: 16px;
	font-weight: 700;
}

.industries-single .documents__text
{
	width: calc(100% - 44px);
	margin: 0 auto 1em;
	font-size: 14px;
	line-height: 1.75em;
	color: #596B85;
}

.industries-single .documents__item .btn-download
{
	display: block;
	width: calc(100% - 44px);
	margin: 0 auto;
	padding: 1em;
	font-size: 13px;
	font-weight: 700;
	color: var(--white);
	text-align: center;
	text-decoration: none;
	background-color: var(--pink);
	border: 2px solid var(--pink);
	border-radius: 4em;
	transition: .3s all;
}

.industries-single .documents__item .btn-download:hover
{
	color: var(--pink);
	background-color: var(--white);
}

.industries-single .industries-archive__section
{
	margin: 0 auto;
	padding: 0 40px 100px;
	background: #F0F7FF;
	background: linear-gradient(0deg,rgba(240, 247, 255, 1) 0%, rgba(240, 247, 255, 1) 70%, rgba(240, 247, 255, 0) 100%);
}

.industries-single .industries-archive__section .section-dsc
{
	font-size: 14px;
	color: #596B85;
}

@media screen and (max-width: 1110px) {
	.industries-archive
	{
		margin-top: 70px;
	}
	.industries-archive .industries-archive__page-title
	{
		margin-bottom: 60px;
		padding: 40px 4vw;
	}
	.industries-archive .industries-archive__page-title h1
	{
		font-size: 28px;
	}
	.industries-archive .industries-archive__page-title p
	{
		margin: 0;
		font-size: 16px;
	}
	.industries-archive .industries-archive__section
	{
		max-width: 92vw;
	}
	.industries-archive .industries-archive__items,
	.industries-single .industries-archive__items
	{
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	}
	.industries-archive .industries-archive__item .text h3,
	.industries-single .industries-archive__item .text h3
	{
		font-size: 20px;
	}
	.industries-archive .industries-archive__item .text > p,
	.industries-single .industries-archive__item .text > p
	{
		font-size: 14px;
	}
	.industries-archive .industries-archive__item .text > p br,
	.industries-single .industries-archive__item .text > p br
	{
		display: none;
	}
	.industries-archive .industries-archive__item .bottom,
	.industries-single .industries-archive__item .bottom
	{
		display: block;
	}
	.industries-archive .industries-archive__item .tag li,
	.industries-single .industries-archive__item .tag li
	{
		font-size: 13px;
	}

	.industries-single
	{
		margin-top: 70px;
	}

	.industries-single .industries-single__intro
	{
		display: block;
		padding: 30px 4vw;
	}

	.industries-single .industries-single__intro .img
	{
		max-width: 92vw;
		margin: 0 auto 30px;
	}

	.industries-single .industries-single__intro .text
	{
		width: 570px;
		max-width: 92vw;
		margin: 0 auto;
	}
	.industries-single .industries-single__page-title
	{
		font-size: 24px;
	}
	.industries-single .industries-single__intro .point
	{
		flex-direction: column;
		gap: 1em;
	}
	.industries-single .industries-single__intro .btn-area
	{
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 0;
	}
	.industries-single .industries-single__intro .btn-area a
	{
		min-width: 280px;
		max-width: 100%;
	}
	.industries-single .section-ttl
	{
		font-size: 24px;
	}
	.industries-single .industries-single__company
	{
		padding: 60px 4vw;
	}
	.industries-single .industries-single__company .industries-single__project
	{
		line-height: 36px;
	}
	.industries-single .industries-single__company .project__num
	{
		font-size: 20px;
	}
	.industries-single .industries-single__company .project__num span
	{
		display: block;
	}
	.industries-single .industries-single__company .project__num strong
	{
		font-size: 36px;
	}
	.industries-single .industries-single__company .project__memo
	{
		font-size: 12px;
	}
	.industries-single .industries-single__solution
	{
		padding: 80px 4vw;
	}
	.industries-single .solution
	{
		display: block;
		margin-bottom: 40px;
	}
	.industries-single .solution__before,
	.industries-single .solution__after
	{
		width: 570px;
		max-width: 92vw;
		margin: 0 auto;
	}
	.industries-single .solution__before
	{
		margin-bottom: 40px;
	}
	.industries-single .solution__before::before
	{
		top: auto;
		bottom: -35px;
		right: auto;
		left: calc(50% - 13px);
		transform: rotate(90deg);
	}
	.industries-single .solution__before p,
	.industries-single .solution__after p
	{
		font-size: 15px;
	}
	.industries-single .industries-single__case
	{
		padding: 60px 4vw;
	}
	.industries-single .case-wrapper
	{
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 20px;
	}
	.industries-single .documents-wrapper
	{
		grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
		gap: 20px;
	}
	.industries-single .industries-archive__section
	{
		padding: 60px 4vw;
	}
	.industries-single .industries-single__documents
	{
		padding: 60px 4vw;
	}
}