@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap");
/* common
==========================================================*/
body {
	font-size: 14px;
	line-height: 2;
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Noto Sans JP", "Helvetica Neue", "Hiragino Sans GB", "Source Han Sans", sans-serif, "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体",
		"メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif !important;
	margin: 0;
	padding: 0;
	letter-spacing: 0.4px;
	color: #000;
	-webkit-text-size-adjust: 100%;
	font-weight: 400;
}

@media screen and (max-width: 1100px) {
	body {
		font-size: 13px;
	}
}

@media screen and (max-width: 800px) {
	body {
		font-size: 12px;
	}
}

::-webkit-scrollbar {
	width: 6px;
	/* 滚动条宽度 */
}

::-webkit-scrollbar-track {
	background-color: #f1f1f1;
	/* 轨道背景色 */
}

::-webkit-scrollbar-thumb {
	background-color: #8888887e;
	border-radius: 10px;
	/* 滑块颜色 */
}

::-webkit-scrollbar-thumb:hover {
	background-color: #888888;
	/* 滑块悬停时的颜色 */
}

a {
	text-decoration: none;
	color: #000;
	outline: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

header a,
footer a,
.worksdatawrap a,
.worksclose a {
	cursor: pointer;
}

a *,
a:after,
.trans03,
.trans03:after {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

a:hover {
	text-decoration: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

img {
	-ms-interpolation-mode: bicubic;
	max-width: 100%;
	height: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}

video {
	vertical-align: bottom;
}

:focus {
	outline: 0;
}

* {
	box-sizing: border-box;
}

.tellink {
	pointer-events: none;
}

.sp-show,
.show-1000 {
	display: none;
}

@media screen and (max-width: 800px) {
	.tellink {
		pointer-events: auto;
	}

	.sp-show {
		display: block;
	}

	.sp-hide {
		display: none;
	}
}

.flex {
	display: flex;
	flex-wrap: wrap;
}

.flex-nowrap {
	display: flex;
}

.flex-jcs {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flex-jca {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}

.flex-center {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
}

.flex-aic {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.flex-jcc {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

.flex-columncenter {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	flex-direction: column;
}

.overhidden {
	overflow: hidden;
}

.centerposi {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	/* Safari用 */
	transform: translate(-50%, -50%);
}

.centertate {
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	/* Safari用 */
	transform: translateY(-50%);
}

.centeryoko,
.centeryoko-pc {
	position: absolute;
	left: 50%;
	-webkit-transform: translateX(-50%);
	/* Safari用 */
	transform: translateX(-50%);
}

@media screen and (max-width: 800px) {
	.centeryoko-pc {
		position: inherit;
		left: 0;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

.inner1300max {
	max-width: 1300px;
	width: 100%;
	margin: 0 auto;
}

.inner1200max {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

.inner1200 {
	max-width: 1200px;
	width: calc(100% - 80px);
	margin: 0 auto;
}

.inner1080 {
	position: relative;
	max-width: 1080px;
	width: calc(100% - 80px);
	margin: 0 auto;
}

.inner1060 {
	max-width: 1060px;
	width: calc(100% - 80px);
	margin: 0 auto;
}

.inner800 {
	max-width: 800px;
	width: calc(100% - 80px);
	margin: 0 auto;
}

@media screen and (max-width: 800px) {
	.inner1200,
	.inner1080,
	.inner1060,
	.inner800 {
		width: calc(100% - 40px);
	}
}

.poppins {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	letter-spacing: 0.1em;
}

.noto {
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 400;
}

.center {
	text-align: center;
}

.wg300 {
	font-weight: 400;
}

.fs11 {
	font-size: 11px;
}

.fs12 {
	font-size: 12px;
}

.fs13 {
	font-size: calc(13em / 14);
}

.fs14 {
	font-size: calc(14em / 14);
}

.fs15 {
	font-size: calc(15em / 14);
}

.fs16 {
	font-size: calc(16em / 14);
}

.fs17 {
	font-size: calc(17em / 14);
}

.fs18 {
	font-size: calc(18em / 14);
}

.fs19 {
	font-size: calc(19em / 14);
}

.fs20 {
	font-size: calc(20em / 14);
}

.fs24 {
	font-size: calc(24em / 14);
}

.fs25 {
	font-size: calc(25em / 14);
}

.fs26 {
	font-size: calc(26em / 14);
}

.fs30 {
	font-size: calc(30em / 14);
}

.fs34 {
	font-size: calc(34em / 14);
}

.fs35 {
	font-size: calc(35em / 14);
}

.fs36 {
	font-size: calc(36em / 14);
}

.fs40 {
	font-size: calc(40em / 14);
}

.fs45 {
	font-size: calc(45em / 14);
}

.fs50 {
	font-size: calc(50em / 14);
}

.fs55 {
	font-size: calc(55em / 14);
}

.fs70 {
	font-size: calc(70em / 14);
}

.fs75 {
	font-size: calc(75em / 14);
}

.fs83 {
	font-size: calc(83em / 14);
}

@media screen and (max-width: 800px) {
	.fs24 {
		font-size: calc(24em / 16);
	}

	.fs25 {
		font-size: calc(25em / 16);
	}

	.fs26 {
		font-size: calc(26em / 16);
	}

	.fs30 {
		font-size: calc(30em / 16);
	}

	.fs35 {
		font-size: calc(35em / 16);
	}

	.fs36 {
		font-size: calc(36em / 16);
	}

	.fs40 {
		font-size: calc(40em / 16);
	}

	.fs45 {
		font-size: calc(45em / 16);
	}

	.fs50 {
		font-size: calc(50em / 16);
	}

	.fs55 {
		font-size: calc(55em / 16);
	}

	.fs70 {
		font-size: calc(70em / 16);
	}

	.fs75 {
		font-size: calc(75em / 16);
	}
}

.bg-w {
	background: #fff;
}

.bg-gr {
	background: #eee;
}

.bg-bl {
	background: #1e50ff;
}

.bg-lb {
	background: #f5f8fb;
}

.bg-re {
	background: #ff1d25;
}

@keyframes bggrad-bl {
	0% {
		background: #4472c4;
	}

	50% {
		background: #bbcbfe;
	}

	100% {
		background: #4472c4;
	}
}

@keyframes bggrad-re {
	0% {
		background: #f0814d;
	}

	50% {
		background: #f0814d;
	}

	100% {
		background: #f0814d;
	}
}

.fc-w,
.fc-w a {
	color: #fff;
}

.fc-bl,
.fc-bl a {
	color: #1e50ff;
}

.fc-lb,
.fc-lb a {
	color: #6997ff;
}

.fc-re,
.fc-re a {
	color: #ff1d25;
}

#wrapper {
	width: 100%;
	position: relative;
	overflow: hidden;
}

.after,
.before {
	position: relative;
}

.after:after,
.before:before {
	content: "";
	position: absolute;
}

.sticky {
	position: sticky;
}

.delighter {
	top: 50px;
	position: relative;
	animation: delighter2 1s forwards;
}

.delighter.started {
	animation: delighter 1s forwards;
}

@keyframes delighter {
	0% {
		top: 50px;
		opacity: 0;
	}

	100% {
		top: 0;
		opacity: 1;
	}
}

@keyframes delighter2 {
	0% {
		top: 0;
		opacity: 1;
	}

	100% {
		top: 50px;
		opacity: 0;
	}
}

@media screen and (max-width: 1000px) {
	.br-none-1000 br {
		display: none;
	}
}

@media screen and (max-width: 800px) {
	.br-none-800 br {
		display: none;
	}
}

/* header
==========================================================*/

.load {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 99999;
	background: #fff;
	animation: load 2s forwards;
}

.load .centerposi {
	max-width: 300px;
	width: 25%;
}

@keyframes load {
	0% {
		z-index: 99999;
		opacity: 1;
	}

	60% {
		opacity: 1;
	}

	99% {
		z-index: 99999;
	}

	100% {
		z-index: -10;
		opacity: 0;
	}
}

header {
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11;
	background: transparent;
	transition: all 0.6s;
}

.headlogo {
	width: 200px;
	margin-left: 0;
	margin-right: 80px;
}

.head-r a {
	height: 90px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.gnavul li {
	margin-right: 50px;
}

.gnavul li:last-child {
	margin-right: 0 !important;
}

.gnavul li span {
	font-size: 16px;
	margin-bottom: 2px;
	color: #0d0d0d;
	letter-spacing: 0.2px;
	font-weight: bold;
}

.gnavul li:hover span,
.gnavul li:hover p {
	color: #4472c4;
}

.robotoB {
	font-weight: bold;
}

.gnavul li p {
	color: #555;
	font-size: 12px;
	line-height: 1;
	font-weight: normal;
	letter-spacing: 0.02em;
}

.headsearch {
	width: 80px;
	height: 90px;
	margin-left: 20px;
	cursor: pointer;
}

.headsearch div {
	width: 20px;
}

.headsearch img {
	vertical-align: middle;
}

.headsearchwrap {
	width: 240px;
	padding: 20px;
	box-sizing: content-box;
	top: 100%;
	right: 0;
	display: none;
	position: absolute;
}

.headsearchwrap input#s {
	width: 180px;
	height: 40px;
	padding: 0 10px;
}

.headsearchwrap input#sbtn {
	width: 60px;
	height: 40px;
	background: #4472c4;
	color: #fff;
	border: none;
	position: relative;
	top: -1px;
	left: -1px;
}

.headrecruit {
	margin-left: 30px;
}

.headrecruit a {
	width: 220px;
	/*background: linear-gradient(30deg, #1e50ff, #379aff);*/
	background-color: #4472c4;
}

.headrecruit p {
	font-size: 12px;
	line-height: 16px;
}

@media screen and (max-width: 1200px) {
	.headlogo {
		width: 200px;
		margin-left: 0;
	}

	.head-r a {
		height: 70px;
	}

	.gnavul li {
		margin-right: 15px;
	}

	.headsearch {
		width: 60px;
		height: 70px;
	}

	.headsearch div {
		width: 15px;
	}

	.headrecruit a {
		width: 110px;
	}
}

.show-800 {
	display: none;
}

@media screen and (max-width: 1000px) {
	.show-800 {
		display: unset;
	}

	header {
		background: white;
		height: 70px;
		display: block;
	}

	.headlogo {
		left: 10px;
		top: 22px;
		width: 180px;
		position: fixed;
		margin: 0;
		z-index: 99999;
	}

	.head-r {
		padding-top: 70px;
		display: block;
	}

	.head-r a {
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		padding-left: 30px;
	}

	.headrecruit {
		width: 180px;
		margin: 20px auto 0;
		margin-left: 30px;
	}

	.headrecruit a {
		width: 100%;
	}

	.headsearch {
		position: fixed;
		top: 0;
		right: 60px;
		background: #f5f5f5;
	}

	.headsearchwrap {
		width: calc(100vw - 40px);
		padding: 20px;
		top: 60px;
		right: 0;
		position: fixed;
	}

	.headsearchwrap input#s {
		width: calc(100% - 60px);
	}

	.gnavul {
		width: 100%;
		text-align: center;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		font-size: calc(20em / 14);
	}

	.gnavul li {
		width: 100%;
		margin: 0;
	}

	.gnavul li a {
		width: 100%;
	}

	.gnavul li span {
		margin-bottom: 0;
	}

	.gnavul li div {
		margin-left: auto;
		width: 40%;
		display: flex;
		justify-content: flex-end;
		align-items: center;
		height: 100%;
	}

	.gnavul li a .icon-add {
		display: inline-block;
		background-image: url(../images/common/add.svg);
		height: 10px;
		width: 10px;
		background-repeat: no-repeat;
		background-position: center;
		margin-right: 30px;
		transition: none;
	}

	.gnavul li a .icon-add.divide {
		height: 2px;
		width: 10px;
		background-image: none;
		background-color: #4472c4;
	}

	.gnavul li a span:last-of-type {
		font-weight: 500;
	}

	.m-ul li {
		font-size: 14px;
		margin: 0 30px;
		width: calc(100% - 60px);
		color: #4b4b4b;
		padding: 14px 10px;
		border-bottom: 1px solid #f0f0f2;
		line-height: 20px;
		text-align: left;
	}

	.m-ul a {
		height: unset;
		display: inline-block;
		padding-left: unset;
		color: #4b4b4b;
	}

	.m-ul {
		display: block;
		height: 0;
		overflow: hidden;
		transition: all 0.3s ease;
	}

	.m-ul.ul-extend {
		height: 200px;
	}
}

@media screen and (min-width: 1001px) {
	#menu {
		display: block;
	}

	.navInner {
		display: none;
	}
}

@media screen and (max-width: 1000px) {
	#menu {
		width: 100%;
		height: 100%;
		right: 0;
		top: 0;
		display: none;
		position: fixed;
		background: #fff;
		-webkit-overflow-scrolling: touch;
		z-index: 9901 !important;
		overflow: auto;
	}

	.navInner {
		width: 40px;
		height: 40px;
		top: 10px;
		right: 10px;
		z-index: 9999;
		cursor: pointer;
		position: fixed;
	}

	.navInner > span {
		font-size: 15px;
		font-family: "Roboto", sans-serif;
		font-weight: 700;
		position: absolute;
		height: 26px;
		top: 50%;
		transform: translate(0, -35%);
		left: -50px;
		transition: all 0.2s ease;
		opacity: 1;
		z-index: 1;
	}

	.menu-trigger {
		width: 100%;
		height: 100%;
		line-height: inherit;
		cursor: pointer;
		position: relative;
		display: inline-block;
		transition: all 0.3s;
	}

	.menu-trigger span {
		width: 12px;
		height: 1px;
		left: 10px;
		display: inline-block;
		transition: all 0.3s;
		position: absolute;
		background: #000;
		z-index: 20;
	}

	.menu-trigger span:nth-of-type(1) {
		top: 20px;
	}

	.menu-trigger span:nth-of-type(2) {
		top: 25px;
	}

	.menu-trigger span:nth-of-type(3) {
		top: 30px;
	}

	.menu-trigger:not(.active):hover span:nth-of-type(1) {
		top: 20px;
	}

	.menu-trigger.active + span {
		opacity: 0;
		left: -20px;
	}

	.menu-trigger:not(.active):hover span:nth-of-type(3) {
		top: 30px;
	}

	.menu-trigger.active span:nth-of-type(1) {
		transform: translateY(5px) rotate(-45deg);
	}

	.menu-trigger.active span:nth-of-type(2) {
		display: none;
	}

	.menu-trigger.active span:nth-of-type(3) {
		transform: translateY(-5px) rotate(45deg);
	}
}

/* footer
==========================================================*/

.contactwrap {
	padding: 120px 0 100px;
	line-height: 1;
	background: url(../images/common/contact.jpg) no-repeat top center;
	background-size: cover;
}

.contactmid {
	font-size: 80px;
	margin-bottom: -0.5em;
	position: relative;
	z-index: 2;
}

.contactbtnwrap a {
	width: 50%;
	height: 330px;
	padding-top: 100px;
}

.contactbtnwrap a:nth-child(1) {
	background: rgba(30, 80, 255, 0.7);
}

.contactbtnwrap a > .fs18 {
	margin-bottom: 50px;
}

.contactbtnwrap a > .fs40 {
	margin-bottom: 25px;
}

.contactbtnwrap a:nth-child(2) {
	background: rgba(255, 47, 88, 0.7);
}

.contactbtnwrap .yajiwrap {
	padding-right: 60px;
	display: inline-block;
	position: relative;
}

.yaji {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #fff;
	position: relative;
}

.yaji.color-bl,
.yaji.color-bl:after {
	border-color: #1e50ff;
}

.yaji.color-black,
.yaji.color-black:after {
	border-color: #000;
}

.yaji:after {
	width: 8px;
	height: 8px;
	left: calc(50% - 8px);
	top: calc(50% - 4px);
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	position: absolute;
}

.contactbtnwrap .yajiwrap .yaji {
	position: absolute;
	right: 0;
	top: calc(50% - 20px);
}

a:hover .yaji {
	background: #fff;
}

a:hover .yaji:after {
	border-color: #000;
}

a:hover .yaji.color-bl {
	background: #1e50ff;
}

a:hover .yaji.color-bl:after {
	border-color: #fff;
}

a:hover .yaji.color-black {
	background: #000;
}

a:hover .yaji.color-black:after {
	border-color: #fff;
}

.contactbtnwrap a:nth-child(2):hover .yaji:after {
	border-color: #ff2f58;
}

@media screen and (max-width: 800px) {
	.contactwrap {
		padding: 20px 0 40px;
	}

	.contactmid {
		font-size: 60px;
	}

	.contactbtnwrap {
		margin-bottom: -10px;
	}

	.contactbtnwrap a {
		width: 100%;
		height: 180px;
		padding-top: 0;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	.contactbtnwrap a > .fs18 {
		margin-bottom: 25px;
	}

	.contactbtnwrap a > .fs40 {
		margin-bottom: 15px;
	}

	.yaji {
		width: 30px;
		height: 30px;
	}

	.contactbtnwrap .yajiwrap {
		padding-right: 50px;
	}

	.contactbtnwrap .yajiwrap .yaji {
		top: calc(50% - 15px);
	}
}

@media screen and (max-width: 450px) {
	.contactmid {
		font-size: 45px;
	}

	.contactbtnwrap a {
		height: 160px;
	}

	.contactbtnwrap a > .fs18 {
		margin-bottom: 15px;
	}

	.contactbtnwrap a > .fs40 {
		font-size: 28px;
		letter-spacing: 0.02em;
	}

	.contactbtnwrap .yajiwrap {
		padding-right: 0;
		display: block;
	}

	.contactbtnwrap .yajiwrap .yaji {
		margin: 15px auto 0;
		position: inherit;
		right: 0;
		top: 0;
	}
}

footer {
	padding: 80px 80px 16px;
	position: relative;
}

.pagetop {
	top: 110px;
	right: 40px;
	position: absolute;
	flex-direction: column;
}

.pagetopyaji {
	width: 26px;
	height: 26px;
	margin-bottom: 15px;
	border-radius: 50%;
	border: 1px solid #000;
	position: relative;
}

.pagetopyaji:after {
	width: 6px;
	height: 6px;
	left: calc(50% - 4px);
	top: calc(50% - 2px);
	content: "";
	border-top: 1px solid #000;
	border-left: 1px solid #000;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	position: absolute;
}

.pagetop:hover .pagetopyaji {
	background: #000;
}

.pagetop:hover .pagetopyaji:after {
	border-color: #fff;
}

.pagetopimg {
	width: 8px;
}

.foot-t {
	margin-bottom: 0;
}

.footlogo {
	width: 440px;
}

.footlogo-img {
	height: 60px;
	margin-bottom: 40px;
	width: 260px;
}

.footmenuwrap {
	margin-top: 0;
	flex: 1 1 auto;
}

.footmenuul {
	margin-bottom: -35px;
	justify-content: space-between;
}

.footmenuul li {
	margin-bottom: 35px;
}

.footmenuul li a {
	display: block;
}

.footmenuul li .headA {
	line-height: 20px;
	margin-bottom: 10px;
	font-weight: bold;
}

.footmenuul li .headB {
	font-weight: 400;
	color: #000000;
	line-height: 30px;
}

.footmenuul li .headB:hover,
.footmenuul li .headA:hover {
	color: #4472c4;
	text-decoration: underline;
}

.footmenuwrap .head-r {
	padding-top: 0 !important;
}

.footmenuwrap .head-r a {
	padding-left: 0;
}

.footmenuwrap .gnavul li a .icon-add {
	margin-right: 0;
}

.footmenuwrap .m-ul li {
	margin: 0;
	width: 100%;
}

.foot-m {
	margin-bottom: 100px;
	font-weight: 500;
}

.foot-m .fs13 {
	margin-bottom: 5px;
}

.foot-b {
	line-height: 1;
	border-top: 1px solid #f0f0f2;
	padding-top: 16px;
	margin-top: 30px;
	justify-content: center;
}

.foot-b-l {
	margin-right: 25px;
	flex-direction: column;
}

.footcopy {
	font-weight: 500;
}

.foot-bul li {
	border-left: 1px solid #000;
}

.foot-bul li:first-of-type,
.foot-bul li:first-of-type a {
	border-left: none;
	padding-left: 0;
}

.foot-bul li a {
	padding: 0 16px;
	display: block;
	font-weight: 500;
	color: #000000;
}

.foot-b-rul {
	margin-left: -25px;
}

.foot-b-rul li {
	margin-left: 25px;
}

.foot-b-rul li img {
	height: 40px;
	width: 40px;
	/* width: auto; */
}

.hidden {
	display: none !important;
}

@media screen and (max-width: 1300px) {
	.footlogo {
		width: 300px;
	}

	.foot-b-l {
		flex-direction: column-reverse;
	}

	.foot-bul {
		margin-bottom: 25px;
	}

	.foot-bul li:last-child {
		border-right: 1px solid #000;
	}
}

@media screen and (max-width: 1000px) {
	footer {
		padding: 40px 0;
		text-align: center;
	}

	.pagetop {
		top: inherit;
		top: 20px;
		right: 10px;
	}

	.pagetopyaji {
		width: 22px;
		height: 22px;
		margin-bottom: 10px;
	}

	.foot-t {
		display: block;
		margin-bottom: 40px;
	}

	.footlogo-img {
		height: 48px;
		width: 220px;
		margin-bottom: 30px;
		align-self: center;
	}

	.footlogo {
		margin: 0 auto;
	}

	.footmenuwrap {
		margin: 40px auto;
	}

	.footmenuul {
		justify-content: center;
		width: auto;
		margin-bottom: -20px;
	}

	.footmenuul li {
		width: 100%;
		margin-bottom: 20px;
	}

	.footmenuul li:nth-of-type(3) {
		margin-right: unset !important;
	}

	.footmenuul li a {
		font-size: 18px;
		padding: 4px 0;
	}

	.foot-m {
		font-size: 15px;
		margin-bottom: 20px;
	}

	.foot-m .fs13 {
		font-size: 15px;
	}

	.foot-m .fs12 {
		font-size: 15px;
	}

	.foot-b {
		flex-direction: column;
	}

	.foot-b-l {
		margin-right: 0;
	}

	.footcopy {
		margin-right: 0;
		line-height: 1.5;
	}

	.foot-bul {
		margin-bottom: 10px;
		justify-content: center;
	}

	.foot-bul li {
		margin-bottom: 15px;
	}

	.foot-bul li a {
		padding: 5px 20px;
	}

	.foot-b-rul {
		margin-top: 40px;
	}

	.foot-b-rul li img {
		height: 40px;
	}
}

@media screen and (max-width: 650px) {
	footer {
		padding: 0;
	}

	footer .inner1200 {
		width: 100%;
	}

	.show-650 {
		display: flex !important;
	}

	.hidden-650 {
		display: none !important;
	}

	.pagetop-650 {
		align-self: center;
		font-size: 15px;
		margin-bottom: 40px;
		position: relative;
		font-weight: 400;
		font-family: "Roboto", sans-serif;
	}

	.pagetop-650::after {
		content: "";
		position: absolute;
		width: 100vw;
		height: 1px;
		bottom: -40px;
		background-color: #f0f0f2;
	}

	.pagetop-650 span {
		line-height: 22px;
		height: 20px;
	}

	.pagetop-650 img {
		transform: rotate(90deg);
		height: 20px;
		width: 20px;
		margin-left: 10px;
	}

	.footmenuwrap {
		margin: 40px 0;
		padding: 0 40px;
	}

	.footmenuul li {
		margin-bottom: 0;
	}

	.footmenuul li a {
		font-size: 15px;
		text-align: left;
		padding: 15px 0;
	}

	.footmenuul li .headB {
		line-height: 15px;
	}

	.footmenuul li .headA {
		margin-bottom: 0;
		line-height: 15px;
		font-weight: normal;
		color: #4472c4;
		position: relative;
	}

	.footmenuul li .headA::after {
		content: "";
		position: absolute;
		right: 0;
		top: 50%;
		height: 20px;
		width: 20px;
		transform: translate(0, -50%) rotate(180deg);
		transition: transform 0.2s ease;
		background-image: url(../images/common/circle-arrow-up-blue.svg);
	}

	.footmenuul li:nth-of-type(5) .headA::after {
		content: none;
	}

	.footmenuul li:nth-of-type(6) .headA::after {
		content: none;
	}

	.footmenuul li:nth-of-type(7) .headA::after {
		content: none;
	}

	.footmenuul li.close {
		position: relative;
		height: 45px;
		overflow: hidden;
	}

	.footmenuul li.close .headA::after {
		transform: translate(0, -50%) rotate(0);
	}

	.footlogo {
		width: unset;
		padding: 40px 32px 0;
	}

	.foot-t {
		margin-bottom: 30px;
	}

	.foot-m {
		font-size: 15px;
		margin-bottom: 20px;
	}

	.foot-m .fs13 {
		font-size: 15px;
	}

	.foot-m .fs12 {
		font-size: 15px;
	}

	.foot-bul {
		padding: 10px 0;
		margin-bottom: 20px;
		display: block;
	}

	.foot-bul li {
		width: 100%;
		border: none !important;
	}

	.foot-bul li a {
		padding: 0 !important;
		color: #4b4b4b;
		font-size: 14px;
	}

	.foot-bul li:last-child {
		margin-bottom: 0;
	}

	.foot-b-rul {
		margin-top: 20px;
	}

	.foot-b {
		padding-top: 20px;
		border: none;
		border-top: 1px solid #f5f8fb !important;
		padding-bottom: 20px;
	}
}

/* index
==========================================================*/

.indmainwrap {
	padding-left: 90px;
}

.indmainwrap:after {
	bottom: 0;
	left: 0;
	width: 80px;
	height: 55%;
	animation: bggrad-bl 15s infinite;
}

.slide-item {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.swiper-slide-active .slide-img,
.swiper-slide-duplicate-active .slide-img,
.swiper-slide-prev .slide-img {
	animation: zoomUp 10s linear 0s 1 normal both;
}

.swiper-slide02 {
	transform: scale(1.1);
}

.swiper-slide02.swiper-slide-active .slide-img,
.swiper-slide02.swiper-slide-duplicate-active .slide-img,
.swiper-slide02.swiper-slide-prev .slide-img {
	animation: zoomOut 10s linear 0s 1 normal both;
}

.slide-img {
	width: 100%;
	height: 100%;
	background-size: cover !important;
}

.slide-img01 {
	background: url(../images/index/main04.jpeg) no-repeat 40% center;
}

.slide-img02 {
	background: url(../images/index/main05.jpeg) no-repeat center;
}

.slide-img03 {
	background: url(../images/index/main07.jpeg) no-repeat center;
}

.indmaintxtwrap {
	position: absolute;
	z-index: 9;
	text-align: center;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height: 1.3;
}

.indmaintxtjp {
	margin-top: 20px;
	margin-bottom: 30px;
}

.indmainscroll {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 10;
}

.indmainscroll a {
	width: 80px;
	padding-bottom: 55px;
}

.indmainscroll a:after {
	width: 1px;
	height: 0;
	bottom: 50px;
	left: 50%;
	background: #fff;
	animation: indmainscroll 1.5s infinite;
	z-index: 11;
}

@keyframes indmainscroll {
	0% {
		height: 0;
		bottom: 50px;
	}

	100% {
		height: 50px;
		bottom: 0;
	}
}

.indmainscroll a div {
	width: 10px;
}

.indmainnews {
	max-width: 660px;
	width: 70%;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 9;
}

.indmainnews a.flex-aic {
	height: 60px;
	line-height: 60px;
	padding-left: 40px;
}

.indmainnews a div:nth-child(1) {
	width: 70px;
}

.indmainnews a div:nth-child(2) {
	width: 90px;
}

.indmainnews a div:nth-child(3) {
	width: calc(100% - 70px - 90px - 60px);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.indmainnews .yaji {
	width: 26px;
	height: 26px;
	right: 20px;
	top: calc(50% - 13px);
	position: absolute;
}

.indmainnews .yaji:after {
	width: 4px;
	height: 4px;
	left: calc(50% - 4px);
	top: calc(50% - 2px);
}

@media screen and (max-width: 1100px) {
	/* .indmaintxtwrap {
		left: 120px;
	} */
}

#indmainslide {
	height: 100vh;
}

@media screen and (max-width: 800px) {
	.indmainwrap {
		padding-left: 40px;
		margin-top: 70px;
	}

	#indmainslide {
		max-height: 100vw;
		height: calc(100vh - 60px);
	}

	.indmainwrap:after {
		width: 40px;
	}

	.indmaintxtwrap {
		/* bottom: 100px;
		left: 70px; */
		transform: translate(-50%, -50%) rotate(0deg) scale(0.8);
	}

	.indmaintxtjp {
		margin-bottom: 30px;
	}

	.indmainscroll a {
		width: 40px;
	}

	.indmainnews {
		max-width: inherit;
		width: calc(100% - 40px);
		background: #f5f5f5;
	}

	.indmainnews a.flex-aic {
		padding-left: 15px;
		height: 50px;
		line-height: 50px;
	}

	.indmainnews a div:nth-child(1) {
		width: 55px;
	}

	.indmainnews a div:nth-child(2) {
		width: 75px;
	}

	.indmainnews a div:nth-child(3) {
		width: calc(100% - 55px - 75px - 35px);
	}

	.indmainnews .yaji {
		width: 20px;
		height: 20px;
		top: calc(50% - 10px);
		right: 10px;
	}
}

@media screen and (max-width: 550px) {
	.indmaintxtjp {
		font-size: 10.5vw;
	}

	.indmaintxtjpen {
		font-size: 3.2vw;
	}
}

@media screen and (max-width: 400px) {
	.indmaintxtwrap {
		/* left: 17vw; */
		transform: translate(-50%, -50%) rotate(0deg) scale(0.8);
	}

	.indmaintxtjp {
		margin-bottom: 5vw;
	}
}

@keyframes zoomUp {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.1);
	}
}

@keyframes zoomOut {
	0% {
		transform: scale(1.1);
	}

	100% {
		transform: scale(1);
	}
}

.commonbtn {
	margin-top: 60px;
	padding: 0 30px;
	display: inline-block;
	/* width: 160px; */
	height: 50px;
	font-weight: 400;
	font-size: 14px;
	color: #ffffff !important;
	line-height: 50px;
	text-align: center;
	transition: color 0.4s ease-in;
	overflow: hidden;
	background-color: #000000;
	z-index: 5;
}

.commonbtn::before {
	/* content: "";
	z-index: -20;
	position: absolute;
	right: -10px;
	top: 50%;
	transform: translateY(-50%);
	width: 4px;
	height: 50px;
	transition: transform 0.3s ease-in;
	background-color: #4472c4; */
}

.commonbtn::after {
	/* content: "";
	position: absolute;
	background: url(../images/index/button-arrow1.svg) no-repeat center;
	z-index: 20;
	height: 20px;
	width: 20px;
	right: 29px;
	top: 50%;
	transform: translateY(-50%); */
}

.commonbtn:hover {
	color: white;
}

.commonbtn:hover::before {
	transform: translateY(-50%) scaleX(200);
}

.border-w {
	border: 1px solid #fff;
}

.commonbtn.bg-bl:hover {
	background: #4472c4;
}

a.commonbtn:hover:after,
a:hover div.commonbtn:after {
	right: 20px;
}

.commonbtn p {
	margin-right: 15px;
}

.indabout {
	margin-top: 80px;
}

.indabout .inner1300max {
	padding: 300px 0 180px;
}

.indabouttxtwrap {
	z-index: 2;
}

.indaboutmiden {
	margin-bottom: 100px;
	line-height: 1;
}

.indaboutmidjp {
	margin-bottom: 50px;
	line-height: 1.6;
}

.indabouttxt {
	margin-bottom: 60px;
}

.indabouttxt p {
	margin-bottom: 40px;
}

.indaboutimg {
	top: 170px;
	right: 0;
	width: calc(650 / 1300 * 100%);
}

@media screen and (max-width: 800px) {
	.indabout {
		background: url(../images/common/bg.png) no-repeat center 60%;
		background-size: calc(100% - 20px) auto;
		margin-top: 40px;
	}

	.indabout .inner1300max {
		padding: 60px 0;
	}

	.indaboutmiden {
		margin-bottom: 30px;
	}

	.indaboutmidjp {
		margin-bottom: 25px;
	}

	.indabouttxt {
		margin-bottom: 30px;
	}

	.indabouttxt p {
		margin-bottom: 20px;
	}

	.indaboutimg {
		top: 0;
		width: 40%;
	}

	.indaboutimg01 {
		width: 100%;
		margin-bottom: 30px;
	}

	.indaboutimg02 {
		width: 100%;
		margin-top: 30px;
	}
}

@media screen and (max-width: 650px) {
	.indaboutmidjp br {
		display: none;
	}
}

@media screen and (max-width: 550px) {
	.indabouttxt p br {
		display: none;
	}
}

.indservice {
	padding: 100px 0 180px;
	animation: bggrad-bl 15s infinite;
}

.indserviceul li {
	margin-bottom: 110px;
	padding-top: 250px;
}

.indserviceul li:last-child {
	margin-bottom: 0 !important;
}

.indserviceul li:nth-child(2n) {
	flex-direction: row-reverse;
}

.indservicetxtwrap {
	padding: 80px 70px;
	width: calc(680 / 1200 * 100%);
	position: relative;
	z-index: 2;
	background: #fff;
}

.indservicemiden {
	margin-bottom: 40px;
	line-height: 1;
}

.indservicemidjp {
	margin-bottom: 40px;
	line-height: 1.6;
}

.indservicetxt {
	margin-bottom: 40px;
}

.indserviceimg {
	width: 50%;
	top: 0;
	right: 0;
}

.indserviceul li:nth-child(2n) .indserviceimg {
	left: 0;
}

@media screen and (max-width: 1100px) {
	.indservicetxtwrap {
		padding: 60px 40px;
	}

	.indservicemidjp br {
		display: none;
	}
}

@media screen and (max-width: 800px) {
	.indservice {
		padding: 0 0 90px;
	}

	.indserviceul li {
		margin-bottom: 55px;
		padding-top: 30vw;
	}

	.indservicetxtwrap {
		padding: 40px 20px;
		width: calc(900 / 1200 * 100%);
	}

	.indservicemiden {
		margin-bottom: 20px;
	}

	.indservicemidjp {
		margin-bottom: 20px;
	}

	.indservicetxt {
		margin-bottom: 20px;
	}

	.indserviceimg {
		width: 40%;
	}
}

@media screen and (max-width: 550px) {
	.indservicetxtwrap {
		width: 90%;
	}

	.indservicetxt br {
		display: none;
	}
}

.indnews {
	padding: 150px 0;
}

.indnewsmid {
	line-height: 1;
}

.indnewsulwrap {
	width: calc(100% - 280px);
}

.indnewsul {
	margin-top: -60px;
	line-height: 1;
}

.indnewsul li {
	border-bottom: 1px solid #f0f0f2;
}

.indnewsul li > a {
	padding: 60px 0;
}

.indnewsul li > a:after {
	width: 10px;
	height: 10px;
	right: 20px;
	top: calc(50% - 5px);
	border-radius: 50%;
	background: #1e50ff;
}

.indnewsul li > a:hover:after {
	width: 24px;
	height: 24px;
	right: calc(20px - 6px);
	top: calc(50% - 12px);
	background: #ff7b6a;
}

.indnewsdate {
	width: 130px;
}

.idnnewsbtnwrap {
	margin-top: 20px;
	/*margin-top: -100px;*/
}

.idnnewsbtnwrap .commonbtn {
	padding: 0 40px;
}

@media screen and (max-width: 1100px) {
	.indnewsulwrap {
		width: calc(100% - 240px);
	}
}

@media screen and (max-width: 800px) {
	.indnews {
		padding: 75px 0 60px;
	}

	.indnewsmid {
		margin-bottom: 60px;
	}

	.indnewsulwrap {
		width: 100%;
	}

	.indnewsul {
		margin-top: -30px;
	}

	.indnewsul li a {
		padding: 30px 0;
	}

	.indnewsul li a:after {
		width: 6px;
		height: 6px;
		right: 20px;
		top: calc(50% - 5px);
	}

	.indnewsul li a:hover:after {
		width: 12px;
		height: 12px;
		right: calc(20px - 3px);
		top: calc(50% - 8px);
	}

	.indnewsdate {
		width: 100px;
	}

	.indnewstxt {
		width: calc(100% - 100px - 50px);
	}

	.idnnewsbtnwrap {
		margin-top: 40px;
	}
}

.indrecruit {
	padding: 20px;
}

.indrecruit a {
	display: block;
}

.indrecruitimg {
	background: url(../images/index/indrecruit_sab.jpg) no-repeat center;
	background-size: 100%;
	-webkit-transition: all 0.6s;
	transition: all 0.6s;
}

.indrecruit a:hover .indrecruitimg {
	background-size: 105%;
}

.indrecruit a .centerposi {
	margin-top: 20px;
	width: 100%;
}

.indrecruittxt {
	max-width: 690px;
	width: 60%;
	margin: 0 auto 20px;
}

@media screen and (max-width: 800px) {
	.indrecruit {
		padding: 5px;
	}

	.indrecruit a .centerposi {
		margin-top: 0;
	}

	.indrecruitimg {
		background-image: url(../images/index/indrecruit_sab.jpg);
		background-size: cover;
	}

	.indrecruit a:hover .indrecruitimg {
		background-size: cover;
	}

	.indrecruit .commonbtn {
		height: 40px;
		line-height: 40px;
		border-radius: 20px;
	}
}

/* news
==========================================================*/

.mainwrap {
	margin-top: 90px;
	height: 450px;
	background-size: cover;
	line-height: 1;
}

.mainwrap.news {
	background-image: url(../images/news/newsmain.jpg);
	background-position-x: 30%;
	background-position-y: 20%;
}

.mainwrap.about {
	background-image: url(../images/about/aboutmain.jpg);
}

.mainwrap.service {
	background-image: url(../images/service/servicemain.jpg);
	background-position-x: 30%;
	background-position-y: 20%;
}

.mainwrap.partner {
	background-image: url(../images/partner/partnermain.jpg);
}

.mainwrap.contact {
	background-image: url(../images/contact/contactmain.jpg);
	text-align: center;

	h1 {
		font-weight: 500;
		font-size: 54px;
		line-height: 74px;
		margin-bottom: 6px;
	}

	h2 {
		font-weight: 400;
		font-size: 16px;
		line-height: 20px;
	}
}

.mainnowrap {
	height: 320px;
	background: linear-gradient(135deg, #bbd8ff, #45a4f6);
}

.ttlen {
	margin-bottom: 30px;
}

.ttlen.noto {
	line-height: 1.2;
}

@media screen and (max-width: 1200px) {
	.mainwrap {
		margin-top: 70px;
		height: 350px;
	}

	.mainnowrap {
		height: 280px;
	}
}

@media screen and (max-width: 800px) {
	.mainwrap {
		height: 225px;
	}

	.mainnowrap {
		height: 180px;
	}

	.ttlen {
		margin-bottom: 8px;
	}

	.ttljp.fs13 {
		text-align: center;
	}
}

@media screen and (max-width: 500px) {
	.mainwrap {
		height: 180px;
	}

	.mainnowrap {
		height: 32vw;
	}

	.ttlen.poppins {
		font-size: 28px;
		text-align: center;
		font-family: "Roboto";
	}

	.ttlen.noto {
		font-size: 6.5vw;
		letter-spacing: 2px;
		font-size: 28px;
	}

	.ttljp.poppins {
		font-size: 3vw;
	}

	.ttljp.fs13 {
		font-size: 14px;
		text-align: center;
		font-family: "Roboto";
		letter-spacing: 0;
	}
}

.newspickwrap .inner1080 > a {
	padding-top: 200px;
	position: relative;
	z-index: 2;
	display: block;
}

.newspickmid {
	margin-bottom: 90px;
	line-height: 1;
}

.newspickimgwrap {
	top: 110px;
	max-width: 630px;
	width: 70%;
	right: 0;
	position: absolute;
	z-index: -1;
}

.newspickimgwrap:after {
	content: "";
	display: block;
	padding-top: 60.3%;
}

.newspickimg {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}

.newspickimg > div {
	width: 100%;
}

a:hover .newspickimg > div {
	width: 105%;
}

.newsdatewrap {
	padding-bottom: 30px;
	line-height: 1;
}

.newsdatewrap:after {
	width: 20px;
	height: 3px;
	background: #1e50ff;
	left: 0;
	bottom: 0;
}

.newsdatewrap .fs20 {
	margin-right: 20px;
	margin-bottom: 5px;
}

.catout ul {
	margin-left: -10px;
	margin-bottom: -5px;
	display: flex;
	flex-wrap: wrap;
}

.catout ul li {
	margin-bottom: 5px;
	margin-left: 10px;
}

.catout ul li a {
	padding-left: 1em;
	position: relative;
}

.catout ul li a:after {
	content: "#";
	position: absolute;
	top: calc(50% - 0.5em);
	left: 0;
}

.indnewstxt {
	width: calc(100% - 130px - 60px);
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.newspicktxtwrap {
	width: calc(880 / 1080 * 100%);
	padding: 20px;
	padding-left: 0;
	background: #fff;
}

.newspicktxt {
	height: calc(30em / 14 * 2);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media screen and (max-width: 800px) {
	.newspickwrap .inner1080 a {
		padding-top: 50px;
	}

	.newspickmid {
		margin-bottom: 30px;
	}

	.newspickimgwrap {
		margin-bottom: 30px;
		top: 0;
		max-width: inherit;
		width: 100%;
		position: inherit;
	}

	.newsdatewrap {
		margin-bottom: 20px;
	}

	.newspicktxtwrap {
		width: 100%;
		padding: 0;
	}
}

.newslistwrap {
	padding-top: 120px;
}

.newslistmid {
	margin-bottom: 20px;
}

.newslistcatul {
	margin-top: 60px;
	margin-bottom: 70px;
	line-height: 1;
}

.newslistcatul li {
	background-color: white;
	line-height: 42px;
	text-align: center;
	border-top: 1px solid #e9ecf1;
	border-bottom: 1px solid #e9ecf1;
	border-right: 0.5px solid #e9ecf1;
	border-left: 0.5px solid #e9ecf1;
	margin-right: -1px;
	margin-top: -1px;
}

.newslistcatul li a {
	display: inline-block;
	height: 42px;
	padding: 0 30px;
	position: relative;
	font-weight: 500;
	font-size: 14px;
	color: #000000;
}

.newslistcatul li.current-cat {
	background-color: #0064ff;
}

.newslistcatul li.current-cat a {
	color: white;
	pointer-events: none;
}

.newslistcatul li.active {
	background-color: #1e50ff;
}

.newslistcatul li.active a {
	pointer-events: none;
	color: white;
}

.newslistul {
	margin-bottom: 0;
	justify-content: flex-start;
}

.newslistulbottom {
	margin: -50px 0 50px;
}

.newslistul > li {
	width: calc(100% / 3 - 40px);
	margin-bottom: 30px;
	position: relative;
	margin-right: 60px;
}

.newslistul > li:nth-of-type(3n) {
	margin-right: unset;
}

.newslistul > li > a {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	color: transparent;
	border-bottom: 1px solid #f0f0f2;
	transition: border 0.3s ease-in-out;
	z-index: 6;
}

.newslistul > li > a:hover {
	border-bottom: 1px solid #4472c4;
}

/* .newslistimgwrap {
	position: relative;
	width: 100%;
}
.newslistimgwrap:after {
	content: "";
	display: block;
	padding-top: 87.5%;
}
.newslistimg {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
}
.newslistimg > div {
	width: 100%;
}
.newslistul > li a:hover .newslistimg > div {
	width: 105%;
} */
.newslisttxtwrap {
	position: relative;
	background: #fff;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
	height: 130px;
}

.newslistdatewrap {
	align-self: flex-end;
	margin-bottom: 30px;
	font-size: 13px;
}

.newslistdatewrap a {
	pointer-events: none;
	color: #999999;
}

.divideline-small-10 {
	display: inline-block;
	height: 11px;
	width: 1px;
	margin: 0 10px;
	background-color: #f0f0f2;
}

.newslistdatewrap-single {
	display: flex;
	align-self: flex-end;
	margin: 20px 0 40px;
	align-items: center;
	color: #999999;
}

.newslistdatewrap-single a {
	pointer-events: none;
	color: #999999;
}

.divideline-small-20 {
	display: inline-block;
	height: 11px;
	width: 1px;
	margin: 0 20px;
	background-color: #f0f0f2;
}

.divide-line {
	height: 1px;
	background-color: #f0f0f2;
	margin-bottom: 40px;
}

.newslisttxt {
	max-height: calc(3em * 1.6);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-weight: bold;
	color: #000000;
	line-height: 30px;
	letter-spacing: 0;
	font-size: 14px;
}

/* .newslisttxtwrap .yaji {
	width: 30px;
	height: 30px;
	bottom: 25px;
	right: 30px;
	position: absolute;
}
.newslisttxtwrap .yaji:after {
	width: 6px;
	height: 6px;
	left: calc(50% - 6px);
	top: calc(50% - 3px);
}
.newslistul > li a:hover .yaji {
	background: #ff1d25;
	border-color: #ff1d25;
} */
@media screen and (max-width: 1100px) {
	.newslistul {
		margin-bottom: 50px;
	}

	.newslistul > li {
		width: calc(100% / 3 - 30px);
		margin-bottom: 30px;
		margin-right: 45px;
	}
}

@media screen and (max-width: 800px) {
	.newslistwrap {
		padding-top: 80px;
	}

	.newslistcatul {
		margin-bottom: 30px;
	}

	.newslistul {
		margin-bottom: 30px;
	}

	.newslistulbottom {
		margin: -30px 0 30px;
	}

	.newslistul > li {
		width: calc(100% / 2 - 20px);
		margin-bottom: 20px;
		margin-right: 40px;
	}

	.newslistul > li:nth-of-type(3n) {
		margin-right: 40px;
	}

	.newslistul > li:nth-of-type(2n) {
		margin-right: unset;
	}

	.newslisttxtwrap {
		height: 100px;
	}

	.newslistdatewrap {
		margin-bottom: 15px;
	}
}

@media screen and (max-width: 450px) {
	.newslistul {
		padding: 0 30px;
		margin-bottom: 0;
	}

	.newslistul > li {
		width: 100%;
		margin-right: unset !important;
	}

	.new-for-mobile {
		width: 100%;
	}

	.newslistcatul > li {
		height: 60px;
		line-height: 60px;
		width: 50%;
		border-left: none;
		border-right: none;
		margin-right: unset;
	}

	.newslistcatul > li:nth-of-type(2n) {
		border-left: 1px solid #e9ecf1;
		border-right: none !important;
	}

	.newslistcatul > li:last-of-type {
		border-left: 1px solid #e9ecf1;
		border-right: 1px solid #e9ecf1;
	}
}

.paginationwrap {
	padding-bottom: 100px;
}

.paginationwrap .prev {
	margin-right: 60px;
}

.paginationwrap .next {
	margin-left: 60px;
}

.pnyaji a {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #1e50ff;
	display: block;
	position: relative;
}

.pnyaji a:after {
	width: 8px;
	height: 8px;
	left: calc(50% - 8px);
	top: calc(50% - 4px);
	border-top: 1px solid #1e50ff;
	border-right: 1px solid #1e50ff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	position: absolute;
}

.pnyaji.prev a:after {
	left: calc(50% - 4px);
	border: none;
	border-bottom: 1px solid #1e50ff;
	border-left: 1px solid #1e50ff;
}

.pnyaji a:hover {
	background: #1e50ff;
}

.pnyaji a:hover:after {
	border-color: #fff;
}

.paginationwrap .pagination {
	margin-left: -30px;
}

.pagination * {
	display: inline-block;
	margin-left: 30px;
}

.pagination .current {
	color: #1e50ff;
}

@media screen and (max-width: 800px) {
	.paginationwrap {
		padding-bottom: 60px;
	}

	.paginationwrap .prev {
		margin-right: 0;
	}

	.paginationwrap .next {
		margin-left: 0;
	}

	.paginationwrap .pagination {
		margin-left: -20px;
	}

	.pagination * {
		display: inline-block;
		margin-left: 20px;
	}
}

.bread {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
	font-weight: bold;
	color: #000000;
	line-height: 40px;
	align-items: center;
	text-align: left;
}

.arrow-right {
	height: 16px;
	width: 16px;
	background-image: url(../images/news/arrow-right.svg);
}

.newstop {
	margin-top: 90px;
}

.newspostwrap {
	padding: 0 0 100px;
	text-align: center;
}

.newsttl {
	text-align: left;
	margin-top: 70px;
	font-weight: 500;
	color: #000000;
	line-height: 40px;
}

.newstxtwrap {
	text-align: center;
}

.newstxtwrap a.normal {
	margin: 0;
	padding: 0;
	height: 0;
	line-height: 0;
	border-radius: 0;
	display: inline-block;
	position: unset;
}

.newstxtwrap a.normallink {
	margin: 0;
	padding: 0;
	height: unset;
	line-height: unset;
	border-radius: 0;
	display: inline-block;
	background: none;
	color: #1e50ff;
	text-decoration: underline;
	position: unset;
}

.newstxtwrap a.normallink:hover {
	background: unset;
}

.newstxtwrap * {
	text-align: left;
}

.newstxtwrap h2,
.newstxtwrap h3,
.newstxtwrap h4,
.newstxtwrap h5 {
	margin-bottom: 30px;
	line-height: 1.5;
}

.newstxtwrap h2 {
	font-size: calc(30em / 14);
	font-weight: 500;
}

.newstxtwrap h3 {
	font-size: calc(24em / 14);
	font-weight: 500;
}

.newstxtwrap h4 {
	font-size: calc(20em / 14);
	font-weight: 500;
}

.newstxtwrap h5 {
	font-size: calc(13em / 14);
	color: #666;
	text-align: justify;
}

.newstxtwrap p {
	margin-bottom: 30px;
	text-align: justify;
	line-height: 30px;
	font-weight: 500;
	font-size: 14px;
}

.newstxtwrap p.txc {
	text-align: center;
}

.newstxtwrap img {
	margin-bottom: 20px;
}

.newstxtwrap a {
	margin: 0 20px 60px 20px;
	padding: 0 40px;
	height: 50px;
	line-height: 50px;
	border-radius: 25px;
	color: #fff;
	background: #1e50ff;
	display: inline-block;
	position: relative;
}

.newstxtwrap a:after {
	width: 8px;
	height: 8px;
	right: 20px;
	top: calc(50% - 4px);
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	content: "";
	position: absolute;
}

.newstxtwrap a:hover:after {
	right: 15px;
}

.newstxtwrap a:hover {
	background: #ff7b6a;
}

.newstxtwrap table {
	margin: 20px 0;
}

.newstxtwrap th,
.newstxtwrap td {
	border: 1px #000 solid;
}

.newsfield {
	display: flex;
	justify-content: space-between;
}

.newsfield:nth-child(2n) {
	flex-direction: row-reverse;
}

.newsfield-img,
.newsfield-itxt {
	width: calc(50% - 30px);
}

.newsrelate {
	padding: 80px 0 100px;
	background: #e9ecf1;
}

.newsrelatemid {
	margin-bottom: 50px;
}

@media screen and (max-width: 800px) {
	.bread {
		font-size: 20px;
	}

	.fit-display {
		display: none;
	}

	.newspostwrap {
		padding: 50px 0;
	}

	.newsttl {
		margin: 10px 0 20px;
	}

	.newstxtwrap h2,
	.newstxtwrap h3,
	.newstxtwrap h4,
	.newstxtwrap h5 {
		margin-bottom: 20px;
	}

	.newstxtwrap h2 {
		font-size: calc(30em / 16);
	}

	.newstxtwrap p {
		margin-bottom: 20px;
	}

	.newstxtwrap img {
		margin-bottom: 10px;
	}

	.newstxtwrap a {
		margin-bottom: 40px;
		padding: 0 30px;
		height: 40px;
		line-height: 40px;
		border-radius: 20px;
	}

	.newstxtwrap a:after {
		width: 6px;
		height: 6px;
		right: 15px;
		top: calc(50% - 3px);
	}

	.newstxtwrap a:hover:after {
		right: 10px;
	}

	.newsfield-img,
	.newsfield-itxt {
		width: calc(50% - 15px);
	}

	.newsrelate {
		padding: 40px 0 50px;
	}

	.newsrelatemid {
		margin-bottom: 30px;
	}
}

@media screen and (max-width: 450px) {
	.newsfield {
		display: block;
	}

	.newsfield-img,
	.newsfield-itxt {
		width: 100%;
	}
}

.bottomLink a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 90px;
	font-weight: bold;
	color: #000000;
	line-height: 26px;
	border-top: 1px solid #f0f0f2;
	border-bottom: 1px solid #f0f0f2;
}

.bottomLink span {
	margin-left: 53px;
	transition: transform 0.2s ease !important;
}

.entry-new {
	height: 20px;
	width: 20px;
	background-image: url("../images/news/entry-new.svg");
	margin: 0 20px;
}

.other-news {
	height: 210px;
	display: flex;
	justify-content: space-between;
}

.other-news > a {
	flex: 1 1 50%;
	border-top: 1px solid #f0f0f2;
	border-right: 1px solid #f0f0f2;
}

.other-news > a:last-of-type {
	flex: 1 1 50%;
	border-right: 0;
}

.other-news-left {
	height: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

.other-news-right {
	height: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.other-news-left div,
.other-news-right div {
	display: flex;
	flex-direction: column;
	margin-top: 40px;
	height: 70px;
	justify-content: space-between;
}

.other-news-left p,
.other-news-right p {
	font-weight: bold;
	color: #000000;
	line-height: 30px;
}

.other-news-left span,
.other-news-right span {
	font-weight: 500;
	color: #999999;
	line-height: 26px;
}

.other-news-left div {
	margin-left: 10px;
}

.other-news-right div {
	margin-left: 60px;
}

.other-news-left i,
.other-news-right i {
	flex: 0 0 100px;
}

.other-news-left p {
	padding-right: 20px;
}

.circle-arrow-left {
	height: 26px;
	width: 26px;
	background-image: url(../images/news/circle-arrow-left.svg);
	background-repeat: no-repeat;
	background-position: center;
}

.circle-arrow-right {
	height: 26px;
	width: 26px;
	background-image: url(../images/news/circle-arrow-right.svg);
	background-repeat: no-repeat;
	background-position: center;
}

.deadLink {
	pointer-events: none;
	cursor: default;
}

/* .stratch-ani-1 */
.stratch-ani-1 {
	position: relative;
	z-index: 5;
	overflow: hidden;
}

.stratch-ani-1:hover i {
	transform: scale(0);
}

.stratch-ani-1:hover .divideline-small-20 {
	background-color: white;
	transform: scale(1);
}

.stratch-ani-1:hover p,
.stratch-ani-1:hover span {
	color: white;
}

.stratch-ani-1.stratch-ani-1-left:hover p {
	color: white;
}

.stratch-ani-1::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: calc(100% - 0px);
	top: 0;
	width: 75vw;
	min-width: 1000px;
	height: 72vw;
	min-height: 1000px;
	border-width: 1px;
	border-style: solid;
	border-color: #e7e7e7;
	-webkit-transform-origin: left top;
	transform-origin: left top;
	background-color: #2050ff00;
	-webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
	transform: translate3d(0, 0, 0) rotate(-45deg);
	-webkit-transition: background-color 0.4s 0.1s, -webkit-transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
	transition: background-color 0.4s 0.1s, -webkit-transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
	transition: transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96), background-color 0.4s 0.1s;
	transition: transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96), background-color 0.4s 0.1s, -webkit-transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.stratch-ani-1::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: calc(100% - 0px);
	bottom: 0;
	width: 75vw;
	min-width: 1000px;
	height: 72vw;
	min-height: 1000px;
	border-width: 1px;
	border-style: solid;
	border-color: #e7e7e7;
	-webkit-transform-origin: right bottom;
	transform-origin: right bottom;
	background-color: #2050ff00;
	-webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
	transform: translate3d(0, 0, 0) rotate(-45deg);
	-webkit-transition: background-color 0.4s 0.1s, -webkit-transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
	transition: background-color 0.4s 0.1s, -webkit-transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
	transition: transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96), background-color 0.4s 0.1s;
	transition: transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96), background-color 0.4s 0.1s, -webkit-transform 0.5s cubic-bezier(0.79, 0.17, 0.15, 0.96);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.stratch-ani-1:hover::before {
	background-color: #4472c4;
	-webkit-transform: translate3d(-100%, 0, 0) rotate(-45deg);
	transform: translate3d(-100%, 0, 0) rotate(-45deg);
	-webkit-transition: background-color 0.4s, -webkit-transform 0.35s ease-out;
	transition: background-color 0.4s, -webkit-transform 0.35s ease-out;
	transition: transform 0.35s ease-out, background-color 0.4s;
	transition: transform 0.35s ease-out, background-color 0.4s, -webkit-transform 0.35s ease-out;
}

.stratch-ani-1:hover::after {
	background-color: #4472c4;
	-webkit-transform: translate3d(100%, 0, 0) rotate(-45deg);
	transform: translate3d(100%, 0, 0) rotate(-45deg);
	-webkit-transition: background-color 0.4s, -webkit-transform 0.35s ease-out;
	transition: background-color 0.4s, -webkit-transform 0.35s ease-out;
	transition: transform 0.35s ease-out, background-color 0.4s;
	transition: transform 0.35s ease-out, background-color 0.4s, -webkit-transform 0.35s ease-out;
}

/* .stratch-ani-1 */

/* .stratch-ani */
.stratch-ani {
	position: relative;
	z-index: 5;
	overflow: hidden;
}

.stratch-ani:hover {
	color: white;
}

.stratch-ani:hover i {
	transform: scale(0);
}

.stratch-ani:hover::before {
	top: 0;
	bottom: 0;
}

.stratch-ani::before {
	content: "";
	z-index: -1;
	position: absolute;
	width: 100%;
	background-color: #4472c4;
	top: 50%;
	bottom: 50%;
	transition: all 0.15s ease;
}

/* .stratch-ani */

@media screen and (max-width: 700px) {
	.other-news-left p {
		padding-right: 60px;
	}

	.other-news {
		min-height: 300px;
		height: unset;
		flex-direction: column;
	}

	.other-news > a {
		display: flex;
		flex-direction: column;
		justify-content: center;
	}

	.other-news-left div,
	.other-news-right div {
		/* display: none; */
		margin-top: 0;
		height: unset;
	}

	.other-news-right div {
		margin-left: 80px;
	}

	.other-news-left div {
		margin-left: 0;
	}

	.other-news-left i,
	.other-news-right i {
		flex: 0 0 80px;
	}

	.other-news .deadLink {
		flex: 0 1 0 !important;
	}

	.only-one {
		height: 150px;
		min-height: unset;
	}
}

/* about
==========================================================*/

.aboutbgwrap {
	background: url(../images/common/bg.png) no-repeat top -75px right -55px;
	background-size: 744px auto;
}

.aboutnavwrap {
	padding-top: 120px;
}

.aboutnavul {
	margin-left: -30px;
}

.aboutnavul li {
	border-top: 1px solid #1e50ff;
	border-bottom: 1px solid #1e50ff;
	width: calc(100% / 3 - 30px);
	margin-left: 30px;
}

.aboutnavul p:first-of-type {
	line-height: 26px;
	margin-bottom: 10px;
}

.aboutnavul p:last-of-type {
	line-height: 20px;
}

.aboutnavul li:nth-child(n + 4) {
	border-top: none;
}

.aboutnavul li a.flex-jcs.flex-aic {
	height: 90px;
}

.aboutnavul li a .yaji {
	width: 38px;
	height: 38px;
}

.aboutnavul li a .yaji:after {
	top: calc(50% - 6px);
	left: calc(50% - 4px);
	border-bottom: 1px solid #1e50ff;
	border-top: none;
}

@media screen and (max-width: 1100px) {
	.aboutbgwrap {
		background: url(../images/common/bg.png) no-repeat top -7vw right -5vw;
		background-size: 70% auto;
	}

	.aboutnavul li {
		width: calc(100% / 2 - 30px);
	}

	.aboutnavul li:nth-child(n + 3) {
		border-top: none;
	}
}

@media screen and (max-width: 800px) {
	.center-800 {
		text-align: center;
	}

	.aboutnavwrap {
		padding-top: 40px;
		border-bottom: 1px solid #1e50ff;
	}

	.aboutnavul li {
		width: 100%;
		border-bottom: none;
		border-top: 1px solid #1e50ff !important;
	}

	.aboutnavul li a.flex-jcs.flex-aic {
		height: 90px;
	}

	.aboutnavul li a .yaji {
		width: 20px;
		height: 20px;
	}

	.aboutnavul li a .yaji:after {
		width: 4px;
		height: 4px;
		top: calc(50% - 3px);
		left: calc(50% - 3px);
	}
}

.about01wrap {
	padding: 120px 0 120px;
	background: url(../images/common/bg.png) no-repeat center;
	background-size: 1250px 1015px;
	letter-spacing: 0;
}

.about01mid {
	margin-bottom: 10px;
	line-height: 55px;
	color: #135bfd;
}

.about01midTwo {
	line-height: 28px;
	margin-bottom: 60px;
}

.about01lrwrap {
	margin-bottom: 100px;
	flex-wrap: nowrap;
}

.about01lrwrap:nth-child(2n-1) {
	flex-direction: row-reverse;
}

.about01img {
	width: 440px;
}

.about01txtwrap {
	width: calc(100% - 440px - 60px);
	line-height: 3;
	font-weight: bold;
}

.about01txtwrap p {
	margin-bottom: 80px;
}

.about01txtwrap p:last-child {
	margin-bottom: 0 !important;
}

p.about01bottomtxt {
	line-height: 3;
	font-weight: bold;
}

.show-1200 {
	display: none;
}

@media screen and (max-width: 1200px) {
	.show-1200 {
		display: block;
	}

	.about01wrap {
		background-size: 105% auto;
	}

	.about01img {
		width: 350px;
	}

	.about01txtwrap {
		width: calc(100% - 350px - 60px);
		line-height: 2.5;
	}
}

@media screen and (max-width: 1000px) {
	.hidden-800 {
		display: none;
	}
	.about01txtwrap p {
		margin-bottom: 40px;
	}

	.about01txtwrap p br {
		display: none;
	}
}

@media screen and (max-width: 800px) {
	.about01wrap {
		padding: 40px 0;
	}

	.about01mid {
		margin-bottom: 10px;
		line-height: 38px;
		font-size: 28px;
	}

	.about01midTwo {
		line-height: 20px;
		margin-bottom: 30px;
	}

	.about01lrwrap {
		margin-bottom: 30px;
		display: block;
	}

	.about01img {
		width: 100%;
		height: 300px;
		overflow: hidden;
		position: relative;
		margin-bottom: 30px;
	}

	.about01img img {
		left: 0;
		bottom: -12px;
		position: absolute;
		display: block;
	}

	.about01txtwrap {
		width: 100%;
		line-height: 2;
	}

	.about01txtwrap p {
		margin-bottom: 30px;
		text-indent: 0;
		text-align: justify;
		font-weight: 400;
	}

	p.about01bottomtxt {
		line-height: 2.5;
		font-weight: 400;
	}
}

@media screen and (max-width: 500px) {
	.about01txtwrap,
	p.about01bottomtxt {
		font-size: 15px;
	}
}

.about02wrap > div {
	padding: 120px 0;
	animation: bggrad-re 10s infinite;
}

.about02midtop {
	margin-bottom: 10px;
	line-height: 55px;
}

.about02midtopOne {
	line-height: 28px;
	margin-bottom: 60px;
}

.about02midjp {
	margin-bottom: 10px;
	line-height: 55px;
}

.about02miden {
	margin-bottom: 100px;
	font-weight: 300;
	line-height: 55px;
}

.about02img {
	margin-bottom: 100px;
}

.about02txtwrap {
	display: flex;
	flex-direction: column;
}

p.about02mid {
	text-align: center;
	line-height: 40px;
	margin-bottom: 30px;
}

.about02txt p:last-of-type {
	margin-top: 40px;
}

@media screen and (max-width: 1100px) {
	p.about02mid {
		margin-bottom: 20px;
		width: 100%;
		text-align: center;
		line-height: 28px;
	}

	.about02txt {
		width: 100%;
	}
}

.show-900 {
	display: none;
}

@media screen and (max-width: 900px) {
	.show-900 {
		display: block;
	}

	.about02midjp {
		margin-left: 0.5em;
	}
}

@media screen and (max-width: 800px) {
	.about02wrap > div {
		padding: 40px 0;
	}

	.about02midtop {
		margin-bottom: 10px;
		line-height: 38px;
		font-size: 28px;
	}

	.about02midtopOne {
		line-height: 20px;
		margin-bottom: 30px;
	}

	.about02midjp {
		margin-bottom: 10px;
		font-size: 20px;
		letter-spacing: -2px;
		line-height: 26px;
	}

	.about02miden {
		font-size: 20px;
		margin-bottom: 30px;
		line-height: 26px;
	}

	.about02img {
		margin-bottom: 30px;
	}

	.about02txt p {
		font-size: 15px;
		text-align: justify;
	}

	.about02txt p:last-of-type {
		margin-top: 30px;
	}
}

@media screen and (max-width: 500px) {
	.about02midjp {
		white-space: nowrap;
	}
}

.about03wrap {
	position: relative;
	padding: 80px 0;
}

.companylrwrap {
	margin-bottom: 130px;
}

.companylrwrap:last-child {
	margin-bottom: 0 !important;
}

.company-l {
	padding: 30px 0;
	width: calc(250 / 1080 * 100%);
	font-weight: 500;
}

.company-r {
	width: calc((1080 - 250) / 1080 * 100%);
}

.about-company-container .company-r {
	width: 100%;
	margin-top: 30px;
}

.companydl {
	color: #000;
}

.companydl dt,
.companydl dd {
	padding: 30px 0;
	border-bottom: 1px solid #f0f0f2;
}

.companydl dt {
	width: 180px;
}

.companydl dd {
	width: calc(100% - 180px);
	margin-bottom: 0;
}

.companydl dd.flex {
	margin-left: -20px;
}

.companydl dd.flex p {
	margin-left: 20px;
}

a.commaplink {
	margin-top: 10px;
	line-height: 1;
	align-items: flex-end;
}

a.commaplink p {
	text-decoration: underline;
}

a.commaplink:hover p {
	text-decoration: none;
}

a.commaplink div {
	margin-left: 10px;
	width: 11px;
}

.compartnerul {
	margin-bottom: -30px;
}

.compartnerul li {
	margin-bottom: 30px;
}

.compartnerul li .compartnerimg {
	width: 70px;
	margin-right: 20px;
}

.compartnerul li p {
	width: calc(100% - 90px);
}

@media screen and (max-width: 800px) {
	.about03wrap {
		padding: 30px 0 50px;
	}

	.companylrwrap {
		margin-bottom: 65px;
	}

	.companylrwrap:last-child {
		margin-bottom: 0 !important;
	}

	.company-l {
		margin-bottom: 40px;
		padding: 0;
		width: 100%;
		line-height: 0;
	}

	.company-r {
		margin-top: 30px !important;
		width: 100%;
	}

	.companydl dt {
		padding: 20px 0 5px;
		font-weight: 500;
		border: none;
	}

	.companydl dd {
		padding: 0 0 20px;
		font-weight: 400;
	}

	.companydl dt {
		width: 100%;
	}

	.companydl dd {
		width: 100%;
	}

	.compartnerul {
		margin-bottom: -15px;
	}

	.compartnerul li {
		margin-bottom: 15px;
	}

	.compartnerul li .compartnerimg {
		width: 60px;
		margin-right: 15px;
	}

	.compartnerul li p {
		width: calc(100% - 75px);
		line-height: 1.5;
	}
}

.about04wrap {
	padding: 0px 0 80px;
}

.organizationimg {
	margin-top: 60px;
	padding: 0 40px;
}

@media screen and (max-width: 1000px) {
	.organizationimg {
		padding: 0;
	}
}

@media screen and (max-width: 800px) {
	.about04wrap {
		padding: 40px 0;
	}

	.about04wrap .aboutsubmidjp {
		font-size: 16px;
	}

	.organizationimg {
		max-width: 400px;
		margin: 25px auto 0;
	}
}

.about05wrap {
	padding: 120px 0;
}

.historydl {
	margin-top: 60px;
}

.historydl:after {
	content: none;
	width: 1px;
	height: calc(100% - (2em - 5px) * 2 - 50px);
	background: #999;
	top: calc(2em - 5px);
	left: 0;
}

.historydl dt,
.historydl dd {
	padding-bottom: 20px;
	margin-bottom: 30px;
}

.historydl dt {
	font-size: 15px;
	padding-right: 125.3px;
	padding-left: 12px;
	color: #000000;
	font-weight: 500;
	border-bottom: 1px solid #f0f0f2;
	line-height: 40px;
}

.historydl dt:after {
	left: 2px;
	top: calc(1em + 4px);
	width: 4px;
	height: 2px;
	background: #1e50ff;
	border-radius: 0;
	z-index: 2;
}

.historydl dd {
	width: calc(100% - 200px);
	border-bottom: 1px solid #f0f0f2;
	font-weight: 400;
}

.historydl dd img {
	margin-right: 10px;
	margin-top: 10px;
}

@media screen and (max-width: 1100px) {
	.historydl dd {
		width: calc(100% - 180px);
	}

	.historydl dt {
		padding-right: 105.2px;
	}
}

@media screen and (max-width: 800px) {
	.about05wrap {
		padding: 40px 0 10px;
	}

	.about05wrap .aboutsubmidjp {
		font-size: 16px;
	}

	.historydl {
		margin-top: 50px;
	}

	.historydl:after {
		content: none;
		width: 1px;
		height: calc(100% - (2em - 5px) * 2 - 50px);
		background: #999;
		top: calc(2em - 5px);
		left: 0;
	}

	.historydl dt:after {
		left: 2px;
		top: calc(1em - 6px);
		width: 4px;
		height: 2px;
		background: #1e50ff;
		border-radius: 0;
		z-index: 2;
	}

	.historydl dt {
		font-size: 13px;
		width: 100%;
		padding-bottom: 0;
		margin-bottom: 8px;
		padding-left: 10px;
		color: #000000;
		font-weight: 500;
		line-height: 18px;
		border: none;
	}

	.historydl dd {
		width: 100%;
		font-size: 13px;
		line-height: 18px;
		margin-bottom: 20px;
	}

	.historydl dd img {
		height: 70px;
	}

	.historydl:after {
		height: calc(100% - 12em);
	}
}

.about06wrap {
	padding-bottom: 120px;
}

.accessdl {
	margin-top: 60px;
}

.accessdl > dd {
	max-width: 850px;
	width: calc(100% - 220px);
	margin-bottom: 120px;
}

.accessdl > dd:last-child {
	margin-bottom: 0 !important;
}

.accessindl dt,
.accessindl dd {
	padding-bottom: 30px;
	margin-bottom: 30px;
	border-bottom: 1px solid #f0f0f2;
}

.accessindl dt:nth-last-child(2),
.accessindl dd:last-child {
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0;
}

.accessindl dt {
	width: 160px;
}

.accessindl dd {
	width: calc(100% - 160px);
}

.mapwrap {
	margin-top: 20px;
}

.mapwrap iframe {
	width: 100%;
	height: 320px;
}

@media screen and (max-width: 1100px) {
	.accessindl dt {
		width: 100px;
	}

	.accessindl dd {
		width: calc(100% - 100px);
	}
}

@media screen and (max-width: 800px) {
	.about06wrap {
		padding-bottom: 40px;
	}

	.about06wrap .aboutsubmidjp {
		font-size: 16px;
	}

	.accessdl {
		margin-top: 30px;
	}

	.accessdl .center {
		margin: auto;
		margin-bottom: 40px;
	}

	.accessdl > dt {
		margin-bottom: 50px;
	}

	.accessdl > dd {
		width: 100%;
		margin-bottom: 60px;
	}

	.accessindl dt,
	.accessindl dd {
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.accessindl dt {
		width: 100%;
		padding-bottom: 0;
		margin-bottom: 10px !important;
		border: none;
		font-weight: 500;
	}

	.accessindl dd {
		width: 100%;
		font-weight: 400;
	}

	.mapwrap {
		padding: 4px;
		padding-bottom: 0;
		border: 1px solid #f0f0f2;
	}

	.mapwrap iframe {
		height: 50vw;
	}
}

/* partner
==========================================================*/

.partnerwrap {
	padding: 100px 0 150px;
}

.partnertxt {
	margin-bottom: 100px;
}

@media screen and (max-width: 800px) {
	.partnerwrap {
		padding: 50px 0 75px;
	}

	.partnerwrap .company-l {
		line-height: unset;
		margin-bottom: 0;
	}

	.partnertxt {
		margin-bottom: 50px;
	}
}

/* contact
==========================================================*/

select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
}

.formwrap {
	padding: 120px 0;
}

.formmid h3 {
	font-weight: 500;
	font-size: 28px;
	color: #000000;
	line-height: 40px;
	margin-bottom: 36px;
}

.formmid p:first-of-type {
	font-weight: 400;
	font-size: 16px;
	color: #fd346f;
	line-height: 22px;
	margin-bottom: 14px;
}

.formmid p:last-of-type {
	font-weight: 400;
	font-size: 16px;
	color: #000000;
	line-height: 30px;
	margin-bottom: 50px;
}

.formwrap .divide-line {
	width: 100%;
	height: 1px;
	background-color: #f0f0f2;
	margin-bottom: 50px;
}

.red {
	color: #fd346f;
}

.contactdl dt,
.contactdl dd {
	margin-bottom: 50px;
}

.contactdl dt {
	display: flex;
	justify-content: space-between;
	width: 30%;
	font-weight: bold;
	font-size: 16px;
	line-height: 1;
	align-items: center;
}

.contactdl dt span {
	margin-right: 60px;
}

.contactdl dd {
	width: 70%;
}

.contactdl input[type="text"] {
	width: 100%;
	height: 50px;
	padding: 0 10px;
	background: #ffffff;
	border: 1px solid #f0f0f2;
	border-radius: 0;
	outline: none;
}

.contactdl ::placeholder {
	font-weight: 400;
	font-size: 14px;
	color: #999999;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.contactdl .selectwrap {
	height: 50px;
	position: relative;
	background: #ffffff;
	border: 1px solid #f0f0f2;
}

.contactdl .selectwrap:after {
	content: "";
	background-image: url(../images/contact/circle-arrow-down.svg);
	height: 20px;
	width: 20px;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
}

.contactdl select {
	width: 100%;
	height: 50px;
	color: #888;
	padding: 0 10px;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	font-weight: 400;
	font-size: 14px;
	color: #999999;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
}

.yubinwrap {
	margin-bottom: 50px;
}

.yobintxt {
	font-weight: 400;
	font-size: 16px;
	color: #000000;
	line-height: 20px;
}

.contactdl .yubinwrap .yubinarea {
	width: 200px;
	margin-left: 16px;
}

#yubinbtn {
	width: 150px;
	height: 50px;
	border: 1px solid #4472c4;
	background: #fff;
	color: #4472c4;
	margin-left: 16px;
	cursor: pointer;
}

.contactdl dd p {
	margin-bottom: 50px;
}

.contactdl textarea {
	padding: 10px;
	height: 160px;
	width: 100%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	resize: none;
	border: 0;
	outline: none;
	background: transparent;
	background: #ffffff;
	border: 1px solid #f0f0f2;
}

.formpritxt {
	font-weight: 400;
	font-size: 16px;
	color: #000000;
	line-height: 30px;
	text-align: left;
}

.formpritxt a {
	text-decoration: underline;
	color: #4472c4;
}

.error_box {
	padding: 20px;
	border: 1px solid #000;
	display: none;
	margin-bottom: 30px;
}

.submitbtn {
	text-align: right;
}

.submitbtn a {
	cursor: not-allowed;
	display: inline-block;
}

.submitbtn button {
	width: 380px;
	padding: 0 50px;
	outline: none;
	pointer-events: none;
}

.submitbtn button.active {
	opacity: 1;
	cursor: pointer;
	pointer-events: auto;
}

.submitbtn button.active:hover {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}

.error_box {
	color: #f00;
	border-color: #f00;
}

.show-800-up {
	display: inline-flex;
	width: 100%;
}

.show-800-down {
	display: none;
}

@media screen and (max-width: 800px) {
	.show-800-up {
		display: none;
	}

	.show-800-down {
		display: block;
		width: 100%;
	}

	.mainwrap.contact {
		h1 {
			font-size: 28px;
			line-height: 40px;
			margin-bottom: 6px;
		}

		h2 {
			font-size: 14px;
		}
	}

	.formwrap {
		padding: 40px 0;
	}

	.formmid h3 {
		font-size: 22px;
		line-height: 30px;
		margin-bottom: 30px;
	}

	.formmid p:first-of-type {
		font-size: 15px;
		margin-bottom: 0;
		line-height: 30px;
	}

	.formmid p:last-of-type {
		font-size: 15px;
		margin-bottom: 30px;
		line-height: 30px;
	}

	.formwrap .divide-line {
		margin-bottom: 30px;
	}

	.contactdl dt {
		width: 100%;
		margin-bottom: 20px;
		justify-content: flex-start;
		font-size: 16px;
		line-height: 20px;
	}

	.contactdl dt span {
		padding-left: 20px;
	}

	.contactdl dd {
		width: 100%;
		margin-bottom: 30px;
	}

	.contactdl dd p {
		margin-bottom: 30px;
	}

	.yubinwrap {
		margin-bottom: 0;
		display: flex;
	}

	.contactdl .yubinwrap .yubinarea {
		width: 200px;
		flex-shrink: 1;
		margin-left: 0;
	}

	#yubinbtn {
		width: 130px;
		height: 50px;
		margin-left: 10px;
	}

	.formpritxt {
		margin-bottom: 20px;
		font-size: 15px;
	}

	.contactdl textarea {
		height: 140px;
	}

	.submitbtn {
		text-align: center;
	}

	.submitbtn button {
		width: unset;
		letter-spacing: -1.2px;
	}
}

/* ラジオボタン03 */
input[type="checkbox"] {
	display: none;
}

.radio03 {
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	padding: 0 30px;
	position: relative;
	width: auto;
	font-weight: 400;
	font-size: 16px;
	color: #000000;
}

.radio03::before {
	background: #ffffff;
	border: 1px solid #999999;
	content: "";
	display: block;
	height: 20px;
	left: 5px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	box-sizing: border-box;
}

.radio03::after {
	background: #000000;
	content: "";
	display: block;
	height: 10px;
	left: 10px;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 10px;
}

input[type="checkbox"]:checked + .radio03::after {
	opacity: 1;
}

.thanksmid {
	margin-bottom: 30px;
}

.thankstxt p {
	margin-bottom: 20px;
}

@media screen and (max-width: 800px) {
	.thankstxt p br {
		display: none;
	}
}

/* service
==========================================================*/

.servicenavmid {
	margin-bottom: 60px;
	line-height: 1.5;
}

.servicewrap section {
	padding: 240px 0 120px;
}

.servicewrap section:nth-child(2n) .inner1080 {
	flex-direction: row-reverse;
}

@media screen and (max-width: 800px) {
	.servicenavmid {
		margin-bottom: 30px;
	}

	.servicewrap section {
		padding: 50px 0;
	}
}

@media screen and (max-width: 500px) {
	.servicenavmid {
		font-size: 8vw;
	}
}

.service01txtwrap {
	width: calc(420 / 1080 * 100%);
	position: relative;
}

.servicemidsubwrap {
	top: -120px;
	left: -10px;
	position: absolute;
	line-height: 1;
	font-style: italic;
	align-items: baseline;
}

.servicemidsubwrap p:nth-child(1) {
	font-size: 100px;
	margin-right: 20px;
	color: #fff;
	text-shadow: #6997ff 1px 0px, #6997ff -1px 0px, #6997ff 0px -1px, #6997ff 0px 1px, #6997ff 1px 1px, #6997ff -1px 1px, #6997ff 1px -1px, #6997ff -1px -1px, #6997ff 1px 1px, #6997ff -1px 1px,
		#6997ff 1px -1px, #6997ff -1px -1px, #6997ff 1px 1px, #6997ff -1px 1px, #6997ff 1px -1px, #6997ff -1px -1px;
}

.bg-lb .servicemidsubwrap p:nth-child(1) {
	color: #f5f8fb;
}

.servicemid {
	line-height: 1.4;
	margin-bottom: 30px;
}

.servicetxt {
	text-align: justify;
}

.servicetxt p {
	margin-bottom: 20px;
}

.servicetxt p:last-child {
	margin-bottom: 0;
}

.servicetxt a {
	color: #1e50ff;
	text-decoration: underline;
}

.service01img {
	width: calc(600 / 1080 * 100%);
}

@media screen and (max-width: 1100px) {
	.servicemidsubwrap {
		top: -100px;
	}

	.servicemidsubwrap p:nth-child(1) {
		font-size: 80px;
	}

	.servicemidsubwrap p:nth-child(2) {
		font-size: 15px;
	}

	.servicemid {
		font-size: 28px;
	}

	.servicemid br {
		display: none;
	}
}

@media screen and (max-width: 800px) {
	.service01txtwrap {
		width: 100%;
		margin-bottom: 40px;
	}

	.servicemidsubwrap {
		margin: 20px 0 15px;
		top: 0;
		position: inherit;
	}

	.servicemidsubwrap p:nth-child(1) {
		font-size: 50px;
		margin-right: 10px;
	}

	.servicemidsubwrap p:nth-child(2) {
		font-size: 13px;
	}

	.servicemid {
		margin-bottom: 20px;
	}

	.service01img {
		max-width: 500px;
		width: 100%;
		margin: 0 auto;
	}
}

.servicetxtwrap {
	width: calc(480 / 1080 * 100%);
	position: relative;
}

.serviceimg {
	width: calc(535 / 1080 * 100%);
}

.servicetab {
	margin-top: 40px;
	width: 100%;
	border-top: 1px solid #ccc;
	color: #666;
}

.servicetab th,
.servicetab td {
	padding: 15px 0;
	border-bottom: 1px solid #ccc;
}

.servicetab th {
	width: 115px;
}

.servicebtnwrap.flex {
	margin-top: 40px;
}

.serviceimg02,
.serviceimg03 {
	width: calc(535 / 1080 * 100% + 200px);
	margin-left: -200px;
}

.serviceimg02 {
	margin-left: -200px;
}

.serviceimg03 {
	margin-right: -200px;
}

@media screen and (max-width: 1200px) {
	.serviceimg02,
	.serviceimg03 {
		width: calc(435 / 1080 * 100% + 100px);
		margin-left: -100px;
	}

	.serviceimg02 {
		margin-left: -100px;
	}

	.serviceimg03 {
		margin-right: -20px;
	}
}

@media screen and (max-width: 800px) {
	.servicetxtwrap {
		width: 100%;
		margin-bottom: 40px;
	}

	.serviceimg {
		width: 100%;
	}

	.servicetab {
		margin-top: 20px;
	}

	.servicetab th {
		width: 100px;
	}

	.servicebtnwrap.flex {
		margin-top: 30px;
	}

	.serviceimg02,
	.serviceimg03 {
		width: 100%;
		margin: 0;
	}
}

.serviceflowrap {
	padding: 100px 0;
	max-width: 1400px;
	width: 100vw;
	max-height: 1000px;
	height: 100vh;
	position: relative;
	overflow: scroll;
}

.lity-close,
.lity-close:hover,
.lity-close:focus,
.lity-close:active,
.lity-close:visited {
	width: 46px;
	height: 62px;
	position: absolute;
	right: 60px;
	top: 60px;
	z-index: 9999999;
	background: url(../images/common/close.png) no-repeat center;
	background-size: cover;
	font-size: 0;
}

.serviceflowmidwrap {
	margin-bottom: 60px;
	line-height: 1.5;
}

.serviceflowmid {
	margin-right: 60px;
}

@media screen and (max-width: 1400px) {
	.lity-close,
	.lity-close:hover,
	.lity-close:focus,
	.lity-close:active,
	.lity-close:visited {
		right: 20px;
		top: 25px;
	}
}

@media screen and (max-width: 1000px) {
	.serviceflowmidwrap {
		display: block;
	}

	.serviceflowmidtxt {
		margin-top: 20px;
	}
}

@media screen and (max-width: 800px) {
	.serviceflowrap {
		padding: 60px 0 40px;
	}

	.serviceflowmid {
		margin-right: 30px;
	}

	.serviceflowmidtxt br {
		display: none;
	}

	.lity-close,
	.lity-close:hover,
	.lity-close:focus,
	.lity-close:active,
	.lity-close:visited {
		width: calc(46px * 0.7);
		height: calc(62px * 0.7);
		right: 10px;
		top: 15px;
	}

	.serviceflowmidwrap {
		margin-bottom: 30px;
		line-height: 1.5;
	}

	.serviceflowmid {
		margin-right: 0;
	}

	.flowimgul {
		margin-left: -20px;
	}

	.flowimgul li {
		width: calc(100% / 3 - 20px);
		margin-left: 20px;
		margin-bottom: 20px;
	}
}

@media screen and (max-width: 600px) {
	.flowimgul li {
		width: calc(100% / 2 - 20px);
	}
}

/* privacy
==========================================================*/

.privacywrap {
	padding: 100px 0 120px;
}

.privacycatch {
	padding-bottom: 50px;
	margin-bottom: 50px;
	position: relative;
}

.privacycatch:after {
	width: 30px;
	height: 3px;
	background: #1e50ff;
	bottom: 0;
	left: 0;
}

.privacydl dt {
	margin-bottom: 15px;
	line-height: 1.5;
}

.privacydl dd {
	margin-bottom: 40px;
}

.privacybottom .flex p {
	padding-left: 2em;
	margin-left: 1em;
	position: relative;
}

.privacybottom .flex p:after {
	content: "／";
	position: absolute;
	top: 0;
	left: 0;
}

.privacybottom .flex p:first-child {
	padding: 0;
	margin: 0;
}

.privacybottom .flex p:first-child:after {
	display: none;
}

.privacy02wrap {
	padding: 120px 0 150px;
}

.privacy02mid {
	padding-top: 30px;
	margin-bottom: 40px;
	line-height: 1.5;
}

.privacy02mid:after {
	width: 30px;
	height: 3px;
	background: #1e50ff;
	top: 0;
	left: 0;
}

.privacy02mid p {
	font-size: 11px;
}

.privacy02dl {
	margin-bottom: 80px;
	border-top: 1px solid #ccc;
}

.privacy02dl:last-child {
	margin-bottom: 0 !important;
}

.privacy02dl dt,
.privacy02dl dd {
	padding: 20px 0;
	border-bottom: 1px solid #ccc;
}

.privacy02dl dt {
	width: 200px;
}

.privacy02dl dd {
	width: calc(100% - 200px);
}

@media screen and (max-width: 1100px) {
	.privacy02mid {
		display: block;
	}

	.privacy02mid p {
		margin-top: 10px;
	}

	.privacydl br {
		display: none;
	}
}

@media screen and (max-width: 800px) {
	.privacywrap {
		padding: 50px 0 60px;
	}

	.privacycatch {
		padding-bottom: 25px;
		margin-bottom: 25px;
	}

	.privacycatch:after {
		width: 20px;
		height: 2px;
	}

	.privacydl dt {
		margin-bottom: 10px;
	}

	.privacydl dd {
		margin-bottom: 30px;
	}

	.privacybottom .flex {
		display: block;
	}

	.privacybottom .flex p {
		padding-left: 0;
		margin-left: 0;
	}

	.privacybottom .flex p:after {
		display: none;
	}

	.privacy02wrap {
		padding: 60px 0 75px;
	}

	.privacy02mid {
		padding-top: 20px;
		margin-bottom: 30px;
	}

	.privacy02mid:after {
		width: 20px;
		height: 2px;
	}

	.privacy02dl {
		margin-bottom: 40px;
	}

	.privacy02dl dt {
		width: 100%;
		padding-bottom: 0;
		border: none;
		font-weight: bold;
	}

	.privacy02dl dt br {
		display: none;
	}

	.privacy02dl dd {
		width: 100%;
		padding-top: 0;
	}
}

.privacytab {
	margin-top: 30px;
	border-top: 1px solid #ccc;
	border-right: 1px solid #ccc;
}

.privacytab th,
.privacytab td {
	padding: 10px 20px;
	border-left: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	vertical-align: middle;
}

.pl1em {
	padding-left: 1em;
}

.privacytab02 {
	margin-left: -1em;
}

.privacytab02 > tbody > tr > td {
	padding-bottom: 20px;
}

@media screen and (max-width: 800px) {
	.privacytab {
		margin-top: 20px;
		border-right: none;
	}

	.privacytab th,
	.privacytab td {
		padding: 10px 0;
		border-left: none;
	}

	.privacytab th:first-child,
	.privacytab td:first-child {
		border-right: 1px solid #ccc;
		padding-right: 10px;
	}

	.privacytab th:nth-child(2),
	.privacytab td:nth-child(2) {
		padding-left: 10px;
	}

	.pl1em {
		padding-left: 0;
	}
}

/* liao  */
li.kaisya-joho-flex-container {
	display: flex;
	justify-content: space-evenly;
	align-items: flex-end;
	margin-bottom: 0px;
	padding-bottom: 30px;
}

.kaisya-joho-flex-container .kaisya-joho-item {
	margin-bottom: 0px;
	text-align: left;
	/* border-right: 1px solid #f0f0f2 */
}

li.kaisya-joho-flex-line {
	width: 1px;
	background-color: #f0f0f2;
}

.kaisya-joho-item:first-child {
	width: 60px;
	height: 60px;
	margin-right: 20px;
}

.kaisya-joho-item strong {
	font-size: 18px;
	line-height: 20px;
}

.kaisya-joho-item span {
	font-size: 14px;
	line-height: 20px;
}

.kaisya-icon {
	display: block;
	width: 60px;
	height: 60px;
	border-radius: 30px;
	border: 1px dashed #4472c466;
	background-repeat: no-repeat;
	background-position: center;
}

.footer-logo-container {
	clear: both;
	margin-top: 80px;
	margin-bottom: 40px;
	text-align: center;
}
.footer-logo-container img {
	height: 50px;
}

.kaisya-icon-first {
	background-image: url(../images/common/construction-icon.png);
}

.kaisya-icon-second {
	background-image: url(../images/common/position-icon.png);
}

.kaisya-icon-third {
	background-image: url(../images/common/trafic-icon.png);
}

@media screen and (max-width: 1000px) {
	li.kaisya-joho-flex-container {
		justify-content: center;
	}

	li.kaisya-joho-flex-line {
		display: none;
	}

	.footer-logo-container {
		clear: both;
		margin-top: 80px;
		margin-bottom: 40px;
		text-align: center;
	}

	.kaisya-joho-item strong {
		font-size: 14px;
	}

	.kaisya-joho-item span {
		font-size: 12px;
	}
}

/* wp-index.php */
.wp-index-slider-icon {
	position: relative;
	left: 65px;
	letter-spacing: 3px;
	font-weight: 300;
}

.wp-index-slider-icon::before {
	content: "";
	width: 45px;
	height: 18px;
	position: absolute;
	left: -65px;
	top: 5px;
	background-image: url(../images/index/icon.png);
	background-repeat: no-repeat;
}

.wp-index-slider-font1 {
	letter-spacing: 4px;
	margin-bottom: 20px;
}

.wp-index-slider-font2 {
	max-width: 726px;
	margin: 0 auto;
	font-weight: 200;
	letter-spacing: 1.68px;
	line-height: 26px;
}

/* index-about */
a.about-link {
	font-size: 20px;
	color: #4472c4;
	text-align: center;
	letter-spacing: 1.6px;
	text-decoration-line: underline;
}

h2.about-title {
	margin-top: 15px;
	font-size: 28px;
	letter-spacing: 0px;
	color: #0f110f;
	opacity: 1;
}

p.p-aisatu {
	margin-top: 40px;
	font-size: 20px;
	letter-spacing: 2.4px;
	color: #0f110f;
}

p.p-text {
	margin-top: 20px;
	font-size: 14px;
	letter-spacing: 1.68px;
	font-weight: 600;
	color: #2a2a2a;
}

p.p-text:first-child {
	margin-top: 30px;
}

.about-img1 {
	position: absolute;
	max-width: 460px;
	top: 0px;
	right: 100px;
}

.about-img2 {
	position: absolute;
	z-index: 5;
	top: 250px;
	/* left: -146px; */
	max-width: 360px;
}

.question-module {
	position: relative;
	margin-top: 60px;
	width: 100%;
	background-color: #080a29;
}

.question-img1 {
	position: absolute;
	left: 0;
	top: 0;
	width: 355px;
	height: 253px;
	background: url(../images/index/index-bg6.png) no-repeat center;
	z-index: 0;
}

.question-img2 {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 612px;
	height: 344px;
	opacity: 0.15;
	background: url(../images/index/index-bg8.png) no-repeat center;
	z-index: 0;
	/* transform: translate(-50%,-50%) rotate(180deg) scale(2,2); */
}

.question-bg-container {
	position: relative;
	height: 352px;
	width: 426px;
	background-image: url(../images/index/question-bg.png);
	background-repeat: no-repeat;
	background-position: center;
	float: right;
}

.question-img3 {
	position: absolute;
	left: -21px;
	top: 74px;
	width: 132px;
	height: 120px;
	background: url(../images/index/index-bg7.png) no-repeat center;
	z-index: 0;
}

.swiper-mask:before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 10;
}

.about-bg {
	position: relative;
}

.index-abou-img1 {
	position: absolute;
	left: -63px;
	bottom: 163px;
	/* width: 60px;
	height: 60px; */
	z-index: 10;
}

.index-abou-img2 {
	position: absolute;
	right: 30px;
	bottom: 5px;
	width: 103px;
	height: 154px;
	z-index: 10;
}

.about-gaiyao {
	position: relative;
	background-image: url(../images/about/gaiyao-bg.png);
	background-repeat: no-repeat;
	background-size: cover;
	margin-top: 0;
	padding-top: 80px;
	padding-bottom: 80px;
}

.abou-ani-img1 {
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
}

.abou-ani-img3 {
	width: 160px;
	position: absolute;
	right: 20px;
	bottom: 190px;
	z-index: 10;
}

.abou-ani-img2 {
	position: absolute;
	right: 170px;
	top: 5px;
	z-index: 10;
}

.abou-ani-img5 {
	position: absolute;
	top: 0px;
	left: -132px;
	z-index: 10;
}

.abou-ani-img6 {
	position: absolute;
	bottom: 100px;
	left: -116px;
	z-index: 0;
}

.abou-ani-img7 {
	width: 75px;
	position: absolute;
	bottom: 57px;
	right: 148px;
	z-index: 0;
}

.johou-ani-img1 {
	position: absolute;
	left: -135px;
	top: 55%;
	z-index: 0;
}

.johou-ani-img2 {
	position: absolute;
	right: 160px;
	top: 120px;
	z-index: 0;
}

.johou-ani-img3 {
	position: absolute;
	width: 500px;
	right: 0;
	bottom: 0px;
	z-index: 0;
}

.johou-ani-img4 {
	position: absolute;
	right: 120px;
	top: 120px;
	z-index: 0;
}

/* index-question */
.question-bg1 {
	position: absolute;
	z-index: 1;
	height: 180px;
	width: 180px;
	bottom: 30px;
	left: -6px;
	background-image: url(../images/index/question-bg1.png);
	background-repeat: no-repeat;
}

.question-title {
	font-size: 28px;
	line-height: 36px;
	letter-spacing: 2.88px;
	color: #ffffff;
}

.question-desc {
	margin-top: 15px;
	margin-bottom: 30px;
	font-size: 16px;
	line-height: 18px;
	letter-spacing: 2.16px;
	color: #ffffff;
	opacity: 0.8;
}

.question-btn {
	width: 220px;
	height: 50px;
	border-radius: 20px;
	font-size: 14px;
	letter-spacing: 1.12px;
	background-color: #4472c4;
}

.question-row {
	align-items: center;
}

/* index-business */

.business-module,
.business-module1 {
	position: relative;
	margin-top: 80px;
	overflow: hidden;
}

.index-service-img1 {
	position: absolute;
	left: 0;
	top: 45%;
	width: 184px;
	height: 352px;
	background: url(../images/index/index-bg4.png) no-repeat center;
	z-index: 0;
}

.index-service-img2 {
	position: absolute;
	right: 0;
	top: 0;
	width: 168px;
	height: 640px;
	background: url(../images/index/index-bg5.png) no-repeat center;
	z-index: 10;
}

.business-p-link {
	font-size: 20px;
	line-height: 20px;

	letter-spacing: 1.6px;
}

.business-p-link a {
	color: #4472c4;
}

.business-title {
	font-size: 28px;
	line-height: 58px;
	color: #0f110f;
	margin: 10px 0 10px 0;
}

.business-desc {
	max-width: 800px;
	font-size: 14px;
	line-height: 2;
	letter-spacing: 0px;
	font-weight: 400;
	color: #696969;
	margin: 0 auto;
}

.business-row {
	margin-top: 60px !important;
}

.business-detail-title {
	font-size: 24px;
	line-height: 32px;
	font-weight: bold;
	letter-spacing: 0px;
	margin-top: 20px;
}

.business-detail-title1 {
	font-size: 18px;
	line-height: 18px;
	font-weight: bold;
	margin-top: 15px;
	margin-bottom: 40px;
	letter-spacing: -1px;
	line-height: 24px;
}

.business-p-text {
	font-size: 14px;
	line-height: 30px;
	text-align: left;
	letter-spacing: 1px;
	color: #2a2a2a;
	opacity: 1;
}

.business-desc-wrapper {
	padding: 30px 50px 0 10px;
}

.business-desc-wrapper1 {
	padding: 50px 10px 0 50px;
}

.business-line-wrapper {
	position: relative;
}

.business-line-wrapper span:first-child {
	position: absolute;
	width: 170px;
	height: 1px;
	background-color: #dfe3e8;
}

.business-line-wrapper span:last-child {
	position: absolute;
	width: 40px;
	height: 2px;
	top: -1px;
	background-color: #4472c4;
}

/* index-news */
.news-module {
	position: relative;
	margin-top: 60px;
}

.index-news-img1 {
	position: absolute;
	left: 0;
	top: 0;
	width: 280px;
	height: 580px;
	background-image: url(../images/index/index-bg1.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}

.index-news-img2 {
	position: absolute;
	right: 0;
	bottom: -100px;
	width: 264px;
	height: 600px;
	background-image: url(../images/index/index-bg2.png);
	background-repeat: no-repeat;
	background-size: contain;
	z-index: -1;
}

.news-wrapper {
	border-top: solid 2px #f7f7f7;
}

.news-time {
	margin-top: 32px;
	margin-bottom: 10px;
}

.news-time span:first-child {
	background-color: black;
	padding: 5px 21px;
	color: #fff;
	font-size: 13px;
	line-height: 20px;
	letter-spacing: 1.56px;
}

/* .news-time span:last-child {
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 1.68px;
} */

.news-title {
	font-weight: bold;
	color: #0f110f;
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 1.92px;
	margin-top: 16px;
	margin-bottom: 30px;
}

.news-link {
	display: block;
	border-bottom: solid 2px #f7f7f7;
}

/* index-employ */

.employ-module {
	margin-top: 60px;
	padding-top: 60px;
	padding-bottom: 60px;
	background-color: #f7f7f7;
}

.employ-tab {
	width: 100%;
	padding: 25px 30px;
	margin-top: 15px;
	background-color: #fff;
	cursor: pointer;
}

.employ-tab-active {
	background-color: #eef3fe;
	color: #4472c4;
}

.employ-tab p {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.employ-tab span {
	width: 20px;
	height: 20px;
	background-repeat: no-repeat;
	background-position: center;
}

.employ-tab span.close-icon {
	background-image: url(../images/recruit/right-arrow.svg);
}

.employ-tab span.down-icon {
	background-image: url(../images/recruit/down-arrow.svg);
}

.employ-content {
	margin-top: 20px;
}

.employ-content-show {
	display: block;
}

.employ-content-hidden {
	display: none;
}

.employ-img1 {
	position: absolute;
	right: 50px;
	top: 60px;
	border: solid 5px #fff;
}

.employ-img2 {
	position: absolute;
	right: 220px;
	top: 317px;
	border: solid 5px #fff;
}

/* about-access */
.bluelink {
	display: inline-block;
	color: #0092ff;
}

.bluelink:not(:first-child) {
	margin-top: 30px;
}

.bluelink:hover {
	text-decoration: none;
	color: #0092ff;
}

.enkaku-time {
	display: inline-block;
	background-color: black;
	padding: 2px 10px;
	color: #fff;
	font-size: 13px;
	line-height: 20px;
	letter-spacing: 1.56px;
	margin: 0;
}

.access-r {
	width: 100%;
	height: 500px;
	background-color: #f3f3f3;
	position: relative;
}

.access-desc-wrapper {
	background-color: white;
	width: 700px;
	position: absolute;
	bottom: -80px;
	left: 50%;
	margin-left: -350px;
	box-shadow: 2px 2px 5px #88888829;
  border-radius: 20px;
}

.access-flex-wrapper {
	display: flex;
	justify-content: space-around;
	padding: 30px 20px;
}

.access-icon {
	display: block;
	width: 60px;
	height: 60px;
	margin: 0 auto;
	background-image: url(../images/common/car.png);
	/* background-repeat: no-repeat;
	background-position: center; */
}

.access-left {
	flex: 1;
	letter-spacing: -0.46px;
	border-right: solid 1px #ededed;
	font-weight: 600;
}

.access-right {
	flex: 3;
	text-align: left;
	margin-left: 62px;
}

.access-right span {
	float: right;
	font-weight: normal;
}

.access-right span:nth-child(2) {
	position: relative;
	bottom: 11px;
}

.access-right p {
	line-height: 17px;
	margin-bottom: 10px;
	font-weight: 600;
}

/* お問い合わせのページ */

.contact-padding-clear {
	padding-left: 0;
}

.contact-radio-margin {
	margin-right: 40px;
}

.contact-radio-margin label {
	font-size: 13px;
}

.form-control {
	font-size: 13px;
	height: 50px;
	line-height: 50px;
}

.content-form {
	max-width: 800px;
	margin: 0 auto;
	margin-top: 60px;
}

/*  */

.flow-wrapper {
	background-color: #f7f9fa;
	margin-top: 80px;
	padding: 80px 0;
	text-align: center;
}

.bosyu-wrapper {
	margin-top: 80px;
	padding-bottom: 60px;
	position: relative;
}

.flow-container span {
	display: block;
}

.flow-num {
	width: 70px;
	height: 70px;
	margin: 0 auto;
	margin-bottom: 40px;
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
}

.flow-process {
	width: 190px;
	height: 190px;
	margin: 0 auto;
	background-repeat: no-repeat;
	background-position: center;
}

.flow-num1 {
	background-image: url(../images/partner/num1.png);
}

.flow-num2 {
	background-image: url(../images/partner/num2.png);
}

.flow-num3 {
	background-image: url(../images/partner/num3.png);
}

.flow-num4 {
	background-image: url(../images/partner/num4.png);
}

.flow-num1::after,
.flow-num2::after,
.flow-num3::after {
	content: "";
	position: absolute;
	width: 237px;
	height: 66px;
	left: 60px;
	top: 4px;
	background-image: url(../images/partner/process-shape.png);
	background-repeat: no-repeat;
	background-position: center;
}

.flow-process1 {
	background-image: url(../images/partner/process1.png);
}

.flow-process2 {
	background-image: url(../images/partner/process2.png);
}

.flow-process3 {
	background-image: url(../images/partner/process3.png);
}

.flow-process4 {
	background-image: url(../images/partner/process4.png);
}

/* service */
.service-num1 {
	width: 80px;
	height: 80px;
	position: absolute;
	bottom: 0;
	left: 0;
}

.service-num2 {
	width: 80px;
	height: 80px;
	position: absolute;
	bottom: 0;
	right: 0;
}

.service-img1 {
	position: absolute;
	left: 0;
	top: 0;
}

.service-img2 {
	position: absolute;
	right: 0;
	bottom: 20%;
}

.service-img3 {
	position: absolute;
	right: -30px;
	top: -46px;
	z-index: -1;
}

/* page.php */
.page-container {
	margin-top: 90px;
}

.page-thumbnails {
	width: 100%;
	max-height: 400px;
	overflow: hidden;
	position: relative;
}

.page-thumbnails::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background-color: rgba(0, 0, 0, .5); */
}

.page-thumbnails img {
	width: 100%;
}

.page-thumb-container {
	position: absolute;
	z-index: 5;
	width: 300px;
	text-align: center;
	color: #fff;
	left: 50%;
	top: 50%;
	transform: translate(-150px, -44px);
}

.page-thumb-container h2 {
	font-size: 28px;
	letter-spacing: 2px;
	font-weight: 400;
}

.page-thumb-container p {
	font-size: 20px;
	letter-spacing: 2px;
	font-weight: 300;
}

/* category.php */
.menu-flex-container {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.menu-categorymenu-container {
	float: right;
}

.menu-categorymenu-container ul {
	float: left;
	margin: 0;
	padding: 0;
}

.menu-categorymenu-container ul li {
	float: left;
	margin: 0;
	padding: 0;
	list-style: square;
	margin-right: 40px;
}

.news-container {
	margin-top: 60px;
	/* background-color: grey; */
}

.news-thumbnail-wrapper {
	width: 100%;
	max-height: 280px;
	overflow: hidden;
}

.news-thumbnail-normal-container {
	max-height: 160px;
	overflow: hidden;
}

.news-thumbnail-wrapper img {
	width: 100% !important;
}

.news-hot-title {
	font-size: 18px;
	line-height: 30px;
	letter-spacing: 0.86px;
	color: #0f110f;
	margin-bottom: 40px;
	font-weight: bold;
}

.news-normal-title {
	font-size: 14px;
	line-height: 26px;
	letter-spacing: x;
	color: #0f110f;
	margin-bottom: 20px;
	font-weight: bold;
}

.news-hot-else span:first-child {
	font-size: 13px;
	line-height: 20px;
	letter-spacing: 1.56px;
	color: #696969;
}

.news-hot-else span.news-arrow {
	float: right;
	width: 20px;
	height: 20px;
	background-image: url(../images/news/arrow.svg);
	background-repeat: no-repeat;
	background-position: center;
}

.news-hot-else a {
	display: inline !important;
}

.news-bottom-line {
	margin-top: 20px;
	width: 100%;
	height: 2px;
	background-color: #000;
	margin-bottom: 20px;
}

.news-link-a {
	/* display:block; */
	margin-bottom: 40px;
}

.news-link1-a {
	margin-bottom: 40px;
}

.page-seq {
	display: flex;
	justify-content: center;
	text-align: center;
}

.page-seq a {
	display: inline-block;
	width: 28px;
	height: 28px;
	border-radius: 14px;
	border: solid 1px #000;
	margin: 8px;
}

.pre-icon {
	background-image: url(../images/news/pre.png);
	background-repeat: no-repeat;
	background-position: center;
}

.next-icon {
	background-image: url(../images/news/next.png);
	background-repeat: no-repeat;
	background-position: center;
}

/* page-detail.php */
.brand-nav {
	padding-top: 25px;
	margin-bottom: 85px;
}

.single-title h1 {
	font-size: 24px;
	line-height: 40px;
	letter-spacing: 1.92px;
	font-weight: bold;
}

.single-tags {
	font-size: 14px;
	line-height: 40px;
	letter-spacing: 1.69px;
	color: #696969;
	pointer-events: none;
}

.single-tags span {
	display: inline-block;
	margin-right: 40px;
}

.single-detail-content {
	margin-top: 60px;
}

.single-detail-content img {
	width: 100%;
}

.single-detail-content img:first-child {
	margin-bottom: 20px;
}

.single-time {
	float: right;
	font-size: 13px;
	color: #696969;
}

.partner-img-container {
	width: 540px;
	height: 491px;
	position: relative;
}
.partner-img-container .partner-img {
	width: 100%;
}

.partner-img-container .partner-service2 {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}

.partner-img-container .partner-johou1 {
	position: absolute;
	left: 16px;
	bottom: 43px;
	z-index: 5;
}
.custom-fileList {
	position: absolute;
	top: 0;
	right: 15px;
	left: 15px;
	z-index: 1;
	/* height: 40px; */
	padding: 0.375rem 0.75rem;
	overflow: hidden;
	font-weight: 500;
	text-align: center;
	color: #2051ff;
	background-color: #fff;
	border: 1px dashed #ced4da;
	border-radius: 0.25rem;
}

.label-font {
	font-weight: 500;
	font-size: 16px;
	color: #000000;
	display: flex;
	align-items: center;
	position: relative;
}

.label-font:after {
	content: "※";
	font-weight: 400;
	font-size: 16px;
	color: #fd346f;
}

.entry-mark {
	position: relative;
}

.form-row-mar {
	margin-bottom: 60px;
}

.response-img {
  border-radius: 20px;
}

@media screen and (max-width: 992px) {
	.about-img1,
	.about-img2 {
		display: none;
	}

	.about-img3,
	.about-img4 {
		display: none;
	}

	.show-hidden-992 {
		display: none;
	}

	.question-row {
		padding: 40px 0;
		text-align: center;
	}

	.business-desc-wrapper,
	.business-desc-wrapper1 {
		padding: 10px;
	}

	.employ-tab {
		width: 100%;
		padding: 25px 30px;
		margin-top: 15px;
		background-color: #fff;
	}

	.flow-num {
		margin-top: 40px;
	}

	.menu-flex-container {
		padding: 40px;
		padding-top: 0;
	}

	.flow-num1::after,
	.flow-num2::after,
	.flow-num3::after {
		content: "";
		position: absolute;
		width: 237px;
		height: 66px;
		left: 60px;
		top: 4px;
		background-image: url("");
		background-repeat: no-repeat;
		background-position: center;
	}

	.response-img {
		width: 100%;
		display: none;
	}

	.page-thumbnails {
		width: 100%;
		height: 180px;
		overflow: hidden;
		position: relative;
	}
	.page-thumbnails img {
		height: 100%;
	}
	.abou-ani-img7,
	.abou-ani-img6,
	.abou-ani-img3,
	.question-img2,
	.johou-ani-img2 {
		display: none;
	}
	.partner-img-container {
		width: 100%;
		margin-top: 40px;
		overflow: hidden;
	}
	.about-company-container {
		padding: 0 20px;
	}

	.johou-ani-img3 {
		width: 100%;
	}
	.access-desc-wrapper {
		width: 100%;
		left: 0;
		right: 0;
		margin: 0;
		box-shadow: none;
	}
	.access-left {
		display: none;
	}

	.service-img1 {
		left: 70%;
		top: 20px;
	}
	.service-img3 {
		right: 0;
	}

	.label-font:after {
		content: "※";
		font-weight: 400;
		font-size: 16px;
		color: #fd346f;
	}

	.service-num1 {
		bottom: -60px;
	}

	.service-num2 {
		bottom: -60px;
	}

	.service-num3 {
		bottom: -60px;
	}

	.access-r {
		margin-bottom: 75px;
	}
}

.about07wrap {
	position: relative;
	padding: 80px 0 80px;
}

@media screen and (min-width: 992px) {
	.about-img1,
	.about-img2 {
		display: block;
	}

	.about-img3,
	.about-img4 {
		display: none;
	}

	.show-hidden-992 {
		display: block;
	}
}

@media screen and (max-width: 1200px) {
	.page-container {
		margin-top: 70px;
	}
}

@media screen and (max-width: 992px) {
	.access-flex-wrapper {
		padding: 40px;
	}
	.access-right {
		margin-left: 0;
	}
	.about07wrap {
		position: relative;
		padding: 60px 0 0;
	}
}

.text-container {
	padding: 80px 40px;
}

.text-container h2 {
	font-size: 24px;
	margin: 20px 0;
}

.text-container p {
	line-height: 30px;
}

.el-radio-button__inner,
.el-radio-group {
	text-align: left;
  display: block;
}

.el-radio-group .el-radio{

  display: block;
  margin-bottom: 4px;
}
