@charset "UTF-8";
/* products style */

/* index, common
========================================== */
.keyvisual {
	position: relative;
}
.keyvisual h1,
.keyvisual h1 + p {
	position: absolute;
	top: 50%;
	left: 8.75%;
	margin-top: -2em;
}
.keyvisual h1 + p {
	margin-top: 2.5em !important;
	/*width: 30em;*/
	line-height: 2;
}
.keyvisual figure {
	margin-top: 0 !important;
}
@media only screen and (max-width: 768px) {
	.keyvisual figure {
		margin-top: 30px !important;
	}
	.keyvisual .heading01 {
		font-size: 3.4rem;
		margin: 0;
		padding-left: 9%;
		padding-right: 9%;
		position: static;
	}
	.keyvisual h1 + p {
		display: none;
	}
	.keyvisual .heading01 span:not(.lang-ja) {
		font-size: 1.4rem;
		font-weight: 400;
		display: block;
		margin-top: .5em;
		padding: 0;
	}
	.keyvisual .heading01 span.lang-ja {
		font-size: 3.2rem;
		font-weight: 500;
	}
}


.title-area {
	background-image: url(/common/images/icon-p01.svg);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: 156px auto;
	padding-top: 1.5em;
}
.title-area.icon02 {
	background-image: url(/common/images/icon-p02.svg);
}
.title-area.icon03 {
	background-image: url(/common/images/icon-p03.svg);
}
.title-area .heading01 {
	font-size: 5.2rem;
	font-weight: 500;
	padding-left: 246px;
}
.title-area .heading01 span {
	font-size: 2.4rem;
	font-weight: 400;
}
.title-area .lead-text {
	font-size: 2.4rem;
	margin-top: 135px !important;
	padding-left: 5%;
}
.main-col .title-area {
	background-size: 40px auto;
	padding-top: .3em;
}
.main-col .title-area .heading01 {
	font-size: 2.4rem;
	padding-left: 65px;
}
.main-col .title-area .heading01 span {
	font-size: 4.4rem;
	font-weight: 500;
	display: block;
	margin-left: -65px;
	margin-top: .7em;
}
@media only screen and (max-width: 768px) {
	.title-area {
		background-size: 65px auto;
		padding-top: 1em;
	}
	.title-area .heading01 {
		font-size: 2.7rem;
		padding-left: 80px;
	}
	.title-area .heading01 span {
		font-size: 1.4rem;
		font-weight: 400;
	}
	.title-area .lead-text {
		font-size: 1.6rem;
		line-height: 2;
		margin-top: 45px !important;
		padding-left: 0;
	}
}

#main .search-area {
	margin-top: 200px !important;
	position: relative;
	padding-right: 4.5%;
	text-align: right;
}
#main .search-area + * {
	margin-top: 235px !important;
}
#main .search-area figure {
	width: 53.13vw;
	position: absolute;
	top: 183px;
	top: 0;
	left: 0;
	z-index: 3;
}
#main .search-area form {
	color: #fff;
	text-align: left;
	background-color: #5AAFE1;
	width: 68.75vw;
	min-height: 575px;
	padding: 110px 8vw 110px 33.88vw;
	margin-top: 348px;
	margin-top: 165px;
	display: inline-block;
	position: relative;
	z-index: 2;
}
#main .search-area form .heading01 {
	font-weight: 500;
	margin-bottom: 35px;
}
#main .search-area form .heading01 span {
	font-size: 1.6rem;
}
#main .search-area form label {
	display: block;
	position: relative;
	border-bottom: 1px #fff solid;
	padding-bottom: .8em;
}
#main .search-area form label img {
	position: absolute;
	top: 10px;
	left: 0;
}
#main .search-area form label input {
	color: #fff;
	font-size: 1.6rem;
	background-color: transparent;
	padding: .3em 1.5em;
	padding-right: 0;
	width: 100%;
	border: none;
}
#main .search-area form label input::placeholder {
	color: #fff;
}
#main .search-area form button {
	color: #000;
	font-size: 1.8rem;
	background-color: #fff;
	padding: 1.5em 3em;
	border-radius: 3em;
	margin-top: 3em;
	cursor: pointer;
	transition: 0.2s ease-in-out;
}
#main .search-area form button:hover {
	opacity: .8;
}
@media only screen and (max-width: 768px) {
	#main .search-area {
		margin-top: 130px !important;
		padding-right: 0;
	}
	#main .search-area + * {
		margin-top: 100px !important;
	}
	#main .search-area figure {
		width: 100vw;
		top: 0;
		left: -20.625vw;
	}
	#main .search-area form {
		width: 91vw;
		min-height: initial;
		padding: 22vw 6.875vw 35px;
		margin-top: 60vw;
	}
	#main .search-area form .heading01 {
		font-size: 2.8rem;
		margin-bottom: 25px;
	}
	#main .search-area form .heading01 span {
		font-size: 1.3rem;
	}
	#main .search-area form button {
		font-size: 1.5rem;
		font-size: 1.8rem;
		line-height: 1.7;
		margin-top: 35px;
		padding: 1em 2em;
		text-align: left;
		width: 100%;
	}
	#main .search-area form button span {
		display: block;
		position: relative;
	}
	#main .search-area form button span:after {
		content: '';
		display: block;
		height: 6px;
		width: 6px;
		border-top: solid #000 2px;
		border-right: solid #000 2px;
		position: absolute;
		right: 0;
		top: 50%;
		margin-top: -5px;
		transform: rotate(45deg);
	}
}

.bgtext-wrap {
	position: relative;
}
.bgtext-wrap .bg-text > span {
	font-size: 16.3rem;
	font-weight: 100;
	line-height: .75;
	white-space: nowrap;
	opacity: .05;
	position: absolute;
	top: auto;
	right: auto;
	bottom: -.4em;
	left: 22.5vw;
	z-index: 1;
	pointer-events: none;
}
.bgtext-wrap .bg-text > span.second-text {
	font-size: 27.2rem;
	top: -.3em;
	right: -.75em;
	bottom: auto;
	left: auto;
}
@media only screen and (max-width: 768px) {
	.bgtext-wrap .bg-text > span.first-text {
		display: none;
	}
	.bgtext-wrap .bg-text > span.second-text {
		font-size: 11rem;
		top: -.7em;
		right: -.55em;
	}
}

.outline-area * + * {
	margin-top: 3em !important;
}
.outline-area .lead-text {
	font-size: 2rem;
}
@media only screen and (max-width: 768px) {
	.outline-area .lead-text {
		font-size: 1.6rem;
	}
}

.index #main .news-list01 > li {
	display: block;
}
.index #main .news-list01 li > *:first-child {
	width: auto;
}
.index #main .news-list01 li > *:first-child + * {
	margin-top: 1.2em !important;
	margin-top: .5em !important;
}
.index #main .news-list01 li > .sub-ttl {
	color: #777777;
	margin-top: .5em !important;
}
.products.news #main .news-list02 li > *:first-child span:last-child {
	color: unset;
	font-weight: unset;
}

.index .service-area {
	position: relative;
	top: 86px;
}
.index .service-area h2 {
	color: #fff;
	background-color: #5AAFE1;
	/*margin-left: calc(((100vw - 78.2vw) / -2) + 2.25vw);*/
	width: 56vw;
	height: 440px;
	padding-left: 8.5vw;
	padding-top: 80px;
	/*margin-top: -160px;*/
	position: relative;
	position: absolute;
	left: 2.25vw;
	top: -160px;
	z-index: 1;
}
.index .service-area h2 + * {
	position: relative;
	z-index: 2;
}

@media only screen and (max-width: 768px) {
	.index .service-area {
		top: 120px;
	}
	.index .service-area h2 {
		width: 87vw;
		height: 220px;
		padding-left: 9vw;
		padding-top: 40px;
		position: absolute;
		left: 0;
		top: -100px;
	}
}

@media only screen and (max-width: 768px) {
	.index .case-area {
		margin-top: 12em !important;
	}
}

/* top
========================================== */

@media only screen and (max-width: 768px) {
}

/* category
========================================== */
.cat-visual {
	padding: 0 4.4vw 0 8.75vw;
	margin-top: 188px !important
}
.cat-visual:before {
	content: '';
	background-color: #5AAFE1;
	display: block;
	width: 38.5vw;
	padding-top: 24vw;
	position: absolute;
	top: 0;
	left: 10vw;
}
.cat-visual figure.first-blc {
	position: relative;
	padding-top: 10vw;
	margin-left: 11vw;
	width: 45vw;
}
.cat-visual figure.second-blc {
	width: 40vw;
	position: absolute;
	top: 6vw;
	right: 5vw;
}
.cat-visual + * {
	margin-top: 240px !important
}
.catname .bgtext-wrap .bg-text > span.first-text {
	font-size: 23.1rem;
	top: -210px;
	right: auto;
	bottom: auto;
	left: 60.6vw;
	z-index: 0;
}
.catname .bgtext-wrap .bg-text > span.second-text {
	font-size: 16.3rem;
	top: auto;
	right: 36vw;
	bottom: -.4em;
	left: auto;
}

@media only screen and (max-width: 768px) {
	.cat-visual {
		margin-top: 60px !important
	}
	.cat-visual:before {
		width: 38.5vw;
		padding-top: 24vw;
		left: 5vw;
	}
	.cat-visual figure.first-blc {
		position: relative;
		padding-top: 10vw;
		margin-left: 11vw;
		width: 45vw;
	}
	.cat-visual figure.second-blc {
		width: 40vw;
		position: absolute;
		top: 6vw;
		right: 5vw;
	}
	.cat-visual + * {
		margin-top: 95px !important
	}
	.catname .bgtext-wrap .bg-text > span.first-text {
		display: block;
		font-size: 9rem;
		top: -50px;
	}
	.catname .bgtext-wrap .bg-text > span.second-text {
		font-size: 8rem;
		top: auto;
		right: 36vw;
		bottom: -.4em;
		left: auto;
	}
}

/* service
========================================== */
.service .bgtext-wrap .bg-text > span.first-text {
	font-size: 23.1rem;
	top: -144px;
	right: auto;
	bottom: auto;
	left: 67.5vw;
}
.service .news-area.bgtext-wrap .bg-text > span.first-text {
	font-size: 23.1rem;
	top: 0;
	right: auto;
	bottom: auto;
	left: 50%;
}


@media only screen and (max-width: 768px) {
}




/* OSS
========================================== */
@media only screen and (min-width: 769px) {
	.oss .keyvisual {
		margin-top: -56px;
	}
	.oss .keyvisual h1 {
		font-size: 7.2rem;
		position: absolute;
		top: 50%;
		left: 3.5vw;
	}
	.oss .keyvisual h1 span {
		line-height: 1;
		background-color: #fff;
		font-size: 3.3rem;
		font-weight: 500;
		display: inline-block;
		padding: .2em .7em .3em;
	}
	.oss .keyvisual h1 span.lang-ja {
		font-size: 3.6rem;
		margin-left: 1.5em;
	}
}
@media only screen and (max-width: 768px) {
	.oss .keyvisual h1 span.lang-ja {
		font-size: 3.4rem;
		margin-top: 0.25em;
		display: block;
	}
}


.oss #main .news-area {
	margin-top: 100px !important;
	position: relative;
}
.oss .bgtext-wrap .bg-text > span {
	content: 'Product';
	font-size: 23.1rem;
	white-space: nowrap;
	position: absolute;
	right: auto;
	top: -70px;
	left: 50%;
	bottom: auto;
}

@media only screen and (max-width: 768px) {
	.oss #main .news-area {
		margin-top: 65px !important;
		position: relative;
	}
}



/* industry
========================================== */
.industry.index .tab-wrap {
	margin-top: 0 !important;
	position: absolute;
	right: 0;
	top: calc(144px + 80px);
}
.industry.index .tab-wrap .archive-link {
	margin-top: 0;
}

.industry.index .flex-menu.thumb {
	margin-top: 160px !important;
}
.industry .flex-menu.thumb.w-full[data-col="2"] {
	margin-top: 75px !important;
}
.industry .flex-menu.thumb.w-full[data-col="2"] .col > :not(figure) {
	padding-left: 50px;
	padding-right: 50px;
}
.industry .flex-menu.thumb.w-full[data-col="2"] .col p:not([class]) {
	margin-top: 1em;
}

@media only screen and (max-width: 768px) {
	.industry.index .tab-wrap {
		position: relative;
		top: 2em;
		margin-bottom: 2em;
	}
	.industry.index .tab-wrap .archive-link + .archive-link {
		margin-top: 24px;
		margin-left: 0;
	}
	.industry .flex-menu.thumb.w-full[data-col="2"] {
		margin-top: 0 !important;
	}
	.industry .flex-menu.thumb.w-full[data-col="2"] .col > :not(figure) {
		padding-left: 9%;
		padding-right: 9%;
	}
	.industry .flex-menu.thumb .menu-title {
		margin-top: 2em;
	}
	.industry .flex-menu.thumb .menu-title a {
		font-size: 1.8rem;
	}
	.flex-menu.thumb.w-full.margin-l,
	.flex-menu.thumb.w-full.margin-r {
		margin-top: 60px !important;
		padding-left: 9%;
		padding-right: 9%;
	}
	.flex-menu.thumb.w-full.margin-r .col > :not(figure) {
		padding-left: 0;
	}
	.industry .flex-menu.thumb.w-full[data-col="2"] .col > :not(figure) {
		padding-left: 9%;
		padding-right: 9%;
	}
}

.industry #main .search-area {
	padding-right: 0;
	padding-left: 8.75%;
}
.industry #main .search-area form {
	width: 100%;
	height: auto;
	padding: 100px 0 85px 9vw;
	margin-top: 0;
}
.industry #main .search-area form label {
	width: 430px;
}
.industry #main .search-area form button {
	position: absolute;
	left: 690px;
	bottom: 85px;
}
.industry #main .search-area form button:hover {
	opacity: .8;
}

.industry .bgtext-wrap .bg-text > span.second-text {
	font-size: 27.2rem;
	top: -.65em;
	right: -.2em;
	bottom: auto;
	left: auto;
}

@media only screen and (max-width: 768px) {
	.industry .bgtext-wrap .bg-text > span.second-text {
		font-size: 11rem;
	}
}



/* industry detail
========================================== */
.industry.detail .flex-menu.thumb {
	margin-top: 2em !important;
}

@media only screen and (min-width: 769px) {
	.industry.detail .keyvisual {
		margin-top: -56px;
	}
	.industry.detail .keyvisual h1 {
		text-align: right;
		position: absolute;
		top: 50%;
		left: auto;
		right: 8.75%;
		margin-top: 0;
	}
	.industry.detail .keyvisual h1 span {
		line-height: 1;
		background-color: #fff;
		font-size: 3.3rem;
		font-weight: 500;
		display: inline-block;
		padding: .2em .7em .3em;
	}
	.industry.detail .keyvisual h1 span.lang-ja {
		font-size: 3.6rem;
		margin-right: 1.5em;
	}
	.industry.detail .keyvisual.keyvisual {
		min-height: 340px;
		/*background-color: #ccc;*/
	}
	.industry.detail .keyvisual.keyvisual h1 {
		margin-top: -50px;
	}
	.industry.detail .lead-area {
		margin-top: 110px !important;
	}
	.industry.detail .lead-area .lead-text {
		font-size: 2rem;
	}
}


.industry.detail .interview-area02 .img-wrap {
	margin-top: 70px !important;
}

.industry.detail .corp-area {
	margin-top: 157px !important;
	padding-top: 70px;
	justify-content: space-between;
}
.industry.detail .corp-area .img-blc {
	background-color: #5AAFE1;
	width: 46.25%;
	height: 800px;
	top: -70px;
	left: -8vw;
}
.industry.detail .corp-area .img-blc figure {
	position: relative;
	top: 70px;
	left: 8vw;
}
.industry.detail .corp-area .img-blc .bg-text .first-text {
	color: #fff;
	font-size: 16.3rem;
	bottom: .5em;
	top: auto;
	left: 0;
	left: -.55em;
	right: auto;
	opacity: .2;
}
.industry.detail .corp-area .txt-blc {
	width: 46.25%;
	padding-right: 35px;
	margin-top: 0 !important;
}
.industry.detail .corp-area .txt-blc .bg-text .first-text {
	font-size: 16.3rem;
	bottom: auto;
	top: -1em;
	left: 155px;
	right: auto;
}
.industry.detail .corp-area .txt-blc dl {
	margin-top: 1em !important;
	border-top: 1px solid #888888;
	padding-top: 1em;
	font-weight: 500;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}
.industry.detail .corp-area .txt-blc dl dt {
	width: 9em;
}
.industry.detail .corp-area .txt-blc dl dd {
	width: calc(100% - 9em);
}
.industry.detail .corp-area .txt-blc dl > *:nth-child(n + 3) {
	margin-top: 10px;
}
.industry.detail .corp-area .txt-blc .outline-list {
	font-size: 2rem;
}
.industry.detail .corp-area .txt-blc .dtl-list dd {
	font-weight: 400;
}
.industry.detail .corp-area .txt-blc .link-btn01 {
	margin-top: 4em;
}

.industry.detail .inq-area .col figure + p {
	margin-top: 1em !important;
}

@media only screen and (max-width: 768px) {
	.industry.detail .corp-area {
		margin-top: 100px !important;
		padding-top: 0;
	}
	.industry.detail .corp-area .img-blc {
		width: 80.3vw;
		height: 420px;
		top: 0;
		left: -9vw;
	}
	.industry.detail .corp-area .img-blc figure {
		top: 130px;
		left: 8vw;
		width: 92vw;
	}
	.industry.detail .corp-area .img-blc .bg-text .first-text {
		display: block;
		font-size: 7rem;
		bottom: inherit;
		top: .4em;
		left: 0;
		left: -.25em;
	}
	.industry.detail .corp-area .txt-blc {
		width: 100%;
		padding-right: 0;
		margin-top: 80px !important;
	}
	.industry.detail .corp-area .txt-blc .bg-text .first-text {
		display: block;
		font-size: 7rem;
	}
	.industry.detail .corp-area .txt-blc dl {
		margin-top: 20px !important;
		padding-top: 20px;
	}
	.industry.detail .corp-area .txt-blc dl dt {
		width: 9em;
	}
	.industry.detail .corp-area .txt-blc dl dd {
		word-break : break-all;
		word-wrap : break-word;
		overflow-wrap : break-word;
		width: calc(100% - 9em);
	}
	.industry.detail .corp-area .txt-blc dl > *:nth-child(n + 3) {
		margin-top: 5px;
	}
	.industry.detail .corp-area .txt-blc .outline-list {
		font-size: 1.6rem;
	}
}


/* FAQ
========================================== */
.products .news-list02.flex > li p:first-child{
	width: 12em;
}
.products .news-list02.flex > li p:last-child{
	width: calc(100% - 12em);
}