@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

* {
	box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	color: #00002F;
	line-height: 1.5;
}

@media screen and (max-width: 480px) {	
	body {
		font-size: 14px;
	}
}

a {
	text-decoration: none;
	word-wrap:break-word;
	color: #00002F;
}

a {
	transition: 0.3s all;
}

a:hover {
	opacity: 0.7;
}

/* グーグルマップ・レスポンシブレイアウト */
.gmap-wrap {
	position: relative;
	height: 0;
	padding-bottom: 300px;
	overflow: hidden;
	margin-top: 45px;
}

.gmap-wrap iframe,
.gmap-wrap object,
.gmap-wrap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

img {
	max-width: 100%;
}



/* 汎用
--------------------------------------------- */
.anchor {
	padding-top: 180px;
	margin-top: -180px;
}
@media screen and (max-width: 1000px) {
	.anchor {
		padding-top: 180px;
		margin-top: -180px;
	}
}
.cmn-ttl {
	position: relative;
	padding-left: 20px;
	margin-bottom: 55px;
}
.cmn-ttl::before {
	content: '';
	position: absolute;
	background-color: #F2593F;
	width: 10px;
	height: 10px;
	left: 0;
	top: 15px;
	border-radius: 50%;
}
.cmn-ttl .sub {
	padding-top: 5px;
	font-size: 18px;
}

.cmn-ttl2 {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	text-align: center;
	width: 100%;
	max-width: 970px;
	height: 108px;
	padding-top: 10px;
	margin: 0 auto 90px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.inblock {
	display: inline-block;
}
.w960 {
	position: relative;
	max-width: 960px;
	margin-left: auto;
	margin-right: auto;
}
.w1200 {
	position: relative;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}
.w1300 {
	position: relative;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}
.w1400 {
	position: relative;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}
.w1500 {
	position: relative;
	max-width: 1500px;
	margin-left: auto;
	margin-right: auto;
}
.w1820 {
	position: relative;
	max-width: 1820px;
	margin-left: auto;
	margin-right: auto;
}
.w1920 {
	position: relative;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
}

.pad-1rem {
	padding-left: 1rem;
	padding-right: 1rem;
}

.top-space {
	display: block;
	width: 100%;
	height: 120px;
}

.bot-space {
	display: block;
	width: 100%;
	height: 150px;
}

.table1 {
	max-width: 1200px;
	width: 100%;
	border-top: solid 1px #4F80FF;
}
.table1 th {
	width: 27%;
	text-align: left;
	/* vertical-align: middle; */
	border-bottom: solid 1px #4F80FF;
	background-color: #F2F4FB;
	padding: 27px 10px 27px 40px;
}
.table1 td {
	width: 73%;
	text-align: left;
	vertical-align: middle;
	border-bottom: solid 1px #4F80FF;
	padding: 27px 10px 27px 40px;
}
.table1 td p {
	margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
	.table1 td br.pc {
		display: none;
	}
}
.table1.navy th {
	font-size: 17px;
	color: #214583;
	font-weight: 500;
}

.contact-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 280px;
	min-height: 60px;
	width: 95%;
	padding-left: 25px;
	padding-right: 25px;
	/* padding-right: 60px; */
	color: white;
	border-radius: 50px;
	border: 1px solid transparent;
	z-index: 1;
	overflow: hidden;
}
.contact-link:hover {
	opacity: 1;
}
.contact-link::before {
	position: absolute;
	content: '';
	width: 100%;
	background: linear-gradient(to right, #214583, #0573FF);
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
	transition: 0.3s all;
}
.contact-link:hover::before {
	right: -100%;
}
.contact-link::after {
	position: absolute;
	content: '';
	width: 100%;
	background: linear-gradient(to right, #F28E3F, #F25B3F);
	left: -100%;
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50px;
	z-index: -2;
	transition: 0.3s all;
}
.contact-link::after {
	left: 0;
}
.contact-link .maru-wrap {
	position: relative;
	display: block;
	width: 30px;
	height: 35px;
	overflow: hidden;
}
.contact-link .maru {
	content: '';
	/* position: absolute; */
	position: relative;
	-webkit-mask-image: url('../img/common/arrow.png');
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: 0 0;
  -webkit-mask-size: auto 100%;
  mask-image: url('../img/common/arrow.png');
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: auto;
  /* mask-position: 0 0; */
  /* mask-size: auto 100%; */
	background-color: white;
	width: 27px;
	height: 35px;
	/* height: 27px; */
	/* right: 20px; */
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: 0.3s all;
}
.contact-link .js-wrap {
	position: relative;
	height: 35px;
	line-height: 35px;
	overflow: hidden;
}
.contact-link.js-hover:hover .maru {
	animation: fadeOut1 0.4s forwards;
}
.contact-link.js-hover:hover .maru.js-after {
	animation: fadeIn1 0.25s forwards;
}

@media screen and (max-width: 768px) {
	.cmn-ttl {
		margin-bottom: 40px;
	}
	.cmn-ttl img {
		transform: scale(0.8);
    transform-origin: 0 50%;
	}
	.cmn-ttl .sub {
		font-size: 17px;
	}
	.cmn-ttl2 {
		margin-bottom: 50px;
	}
	.cmn-ttl2 img {
		transform: scale(0.8);
    transform-origin: 50% 50%;
	}
	.cmn-imgttl {
		transform: scale(0.8);
    transform-origin: 0 50%;
	}
	.cmn-imgttl.big {
		transform: scale(0.9);
	}
	.cmn-imgttl.biggest {
		transform: scale(0.95);
	}

	.table1 th {
		display: block;
		width: 100%;
		border-bottom: none;
		padding: 15px 10px 10px 15px;
	}
	.table1 td {
		display: block;
		width: 100%;
		padding: 10px 10px 10px 20px;
	}

	/* .top-message-head { width: 271px; }
	.company-outline-head { width: 363px; }
	.major-clients-head { width: 307px; }
	.history-head { width: 163px; }
	.access-head { width: 153px; }

	.appeal-head { width: 149px; }
	.ideal-head { width: 108px; }
	.jobdetail-head { width: 221px; }
	.flow-head { width: 106px; } */
}
@media screen and (max-width: 480px) {
	.cmn-ttl {
		margin-bottom: 30px;
	}
	.cmn-ttl img {
		transform: scale(0.64);
	}
	.cmn-ttl .sub {
		padding-top: 2px;
		font-size: 15px;
	}
	.cmn-ttl2 {
		margin-bottom: 35px;
	}
	.cmn-ttl2 img {
		transform: scale(0.64);
	}
	.cmn-imgttl {
		transform: scale(0.64);
	}
	.cmn-imgttl.big {
		transform: scale(0.85);
	}
	.cmn-imgttl.biggest {
		transform: scale(1);
	}
	.top-space {
		height: 80px;
	}
	.bot-space {
		height: 80px;
	}	
	/* .top-message-head { width: 217px; }
	.company-outline-head { width: 290px; }
	.major-clients-head { width: 246px; }
	.history-head { width: 130px; }
	.access-head { width: 122px; }

	.appeal-head { width: 119px; }
	.ideal-head { width: 86px; }
	.jobdetail-head { width: 177px; }
	.flow-head { width: 85px; } */
}

/* header
--------------------------------------------- */
.header {
	width: 100%;
	/* max-width: 1820px; */
	max-width: 1920px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 25px 1rem 30px;
}
#index header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 50;
}

#header--scroll {
	display: none;
}
#header--scroll.fixed {
	display: flex;
  position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 50;
	padding: 0 0 0 1rem !important;
	background-color: white;
	box-shadow: 3px 3px 5px #cfcfcf;
  animation: slideDown 0.3s ease-in-out;
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@media screen and (max-width: 1000px) {
	#header--scroll.fixed {
		display: none;
	}
}

.header .h-logo.rec-logo {
	display: none;
}
#recruit #header .h-logo { display: none; }
#recruit #header .h-logo.rec-logo { display: block; }

.header .sp-logo {
	display: none;
}
.h-list {
	display: flex;
	justify-content: space-between;
	align-items: center;
	/* height: 35px; */
	margin-left: 20px;
}
.h-list > li {
	position: relative;
	height: 35px;
	margin-right: 30px;
	font-size: 17px;
	overflow: hidden;
}
.h-list > li::before {
	position: absolute;
	content: '';
	bottom: 0px;
	left: 0;
	right: 0;
	margin: auto;
	background-color: #B5B5B6;
	height: 1px;
}
.h-list > li::after {
	position: absolute;
	content: '';
	bottom: 0px;
	left: 0;
	margin: auto;
	background-color: #00002F;
	width: 100%;
	height: 1px;
	transform: scale(0, 1);
	transform-origin: left;
	transition: 0.3s all;
}
.h-list > li:hover::after {
	transform: scale(1, 1);
}
#index .h-list > li::after,
#recruit .h-list > li::after {
	background-color: white;
}
#header--scroll .h-list > li::after {
	background-color: #00002F;
}

#header--scroll .h-list > li::before,
#header--scroll .h-list > li::after {
	display: none;
}


.h-list > li:last-child {
	margin-right: 0;
}
.h-list > li a {
	display: block;
	position: relative;
	width: 110px;
	height: 70px;
	line-height: 35px;
	padding-bottom: 35px;
	text-align: left;
	overflow: hidden;
	transition: 0.2s all;
}
.h-list > li a::after {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  display: block;
  content: attr(data-item);
  height: 35px;
	line-height: 35px;
  text-align: left;
}
.h-list > li a:hover {
	opacity: 1;
}
#index #header .h-list > li a {
	color: white;
	text-shadow: 1px 1px 3px #214583;
}
#index #header .h-list > li a::after {
	color: white;
}

.h-list > li.mail-item {
	width: 70px;
	height: 70px;
	border-left: solid 1px #D4DBF2;
	overflow: hidden;
}
.h-list > li.mail-item a {
	position: relative;
	width: 70px;
	height: 70px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
.h-list > li.mail-item a::before {
	position: absolute;
	content: '';
	width: 100%;
	background: linear-gradient(to right, #214583, #0573FF);
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
	transition: 0.3s all;
	opacity: 0;
}
.h-list > li.mail-item a:hover::before {
	opacity: 1;
}
.h-list > li.mail-item a .mail-icon {
	width: 35px;
	height: 27px;
	-webkit-mask-image: url(../img/common/mail.png);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: auto;
	mask-image: url(../img/common/mail.png);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: auto;
	background-color: black;
	transition: 0.3s all;
}
.h-list > li.mail-item a:hover .mail-icon {
	background-color: white;
}

@media screen and (max-width: 1200px) {
	.h-list > li {
		width: 90px;
		margin-right: 17px;
	}
	.h-list > li a {
		font-size: 15px;
	}
}

@media screen and (max-width: 1000px) {
	.h-list {
		display: none;
	}
	header {
		position: sticky !important;
		top: 0;
		background-color: white;
		z-index: 100;
	}
	.header {
		padding: 10px 1rem 16px;
		box-shadow: 3px 3px 5px #cfcfcf;
	}
	.header .h-logo {
		display: none !important;
	}
	.header .sp-logo {
		display: block;
	}
}

@media screen and (max-width: 768px) {
	.header a {
		max-width: 80%;
	}
}


/* top-sec
--------------------------------------------- */
.top-sec {
	max-width: 1780px;
	padding-left: 1rem;
	padding-right: 1rem;
	margin: auto;
}
.top-ttl {
	width: 100%;
	height: 470px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-image: url(../img/common/header-bg.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	padding-left: 5%;
	padding-right: 5%;
	margin: auto;
}

#company .top-ttl {
	background-image: url(../img/company/header-bg.jpg);
}
#business .top-ttl {
	background-image: url(../img/business/header-bg.jpg);
}
#contact .top-ttl {
	background-image: url(../img/contact/header-bg.jpg);
}
#privacy .top-ttl {
	background-image: url(../img/privacy/header-bg.jpg);
}

.top-ttl-inner {
	max-width: 1400px;
	width: 100%;
}
.top-ttl .en {
	width: 100%;
	padding: 0 10px 5px;
	margin-bottom: 10px;
	border-bottom: solid 1px white;
}
.top-ttl .jp {
	padding-left: 10px;
	color: white;
	font-size: 25px;
}
#recruit .top-ttl-inner {
	max-width: 1430px;
}
#recruit .top-ttl {
	height: auto;
	/* padding-top: 280px; */
	padding-top: 294px;
	position: absolute;
	/* background-image: none; */
}

.bread {
	width: 100%;
	text-align: right;
	padding: 7px 0;
	border-bottom: solid 1px #89ADDE;
}
.bread-inner {
	width: 100%;
	max-width: 1200px;
	margin: auto;
}

@media screen and (max-width: 768px) {
	.top-sec {
		padding-left: 0;
		padding-right: 0;
	}
	.top-ttl {
		height: 330px;
	}
	.top-ttl .jp {
		font-size: 21px;
	}
	.bread-inner {
		padding-left: 1rem;
		padding-right: 1rem;
	}
	/* #company .top-ttl .en img { width: 253px; }
	#business .top-ttl .en img { width: 257px; }
	#recruit .top-ttl .en img { width: 213px; } */

	.top-ttl .en img {
		transform: scale(0.8);
    transform-origin: 0 50%;
	}
}
@media screen and (max-width: 480px) {
	.top-ttl {
		height: 260px;
	}
	.top-ttl .jp {
		font-size: 18px;
	}
	/* #company .top-ttl .en img { width: 203px; }
	#business .top-ttl .en img { width: 206px; }
	#recruit .top-ttl .en img { width: 170px; } */

	.top-ttl .en img {
		transform: scale(0.64);
	}
}


/* footer
--------------------------------------------- */
#footer {
	position: relative;
	/* margin-top: 150px; */
	padding-bottom: 80px;
}
#footer::before {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 30px;
	background: linear-gradient(to right, #214583, #0573FF);	
}

.f-contact {
	max-width: 1600px;
	width: 100%;
	padding: 75px 4%;
	margin: 0 auto 150px;
	background: linear-gradient(to right, #214583, #0573FF);
	min-height: 490px;
	text-align: center;
	border-radius: 270px;
}
.f-contact .ttlarea {
	display: flex;
	justify-content: center;
	align-items: center;
	color: white;
	height: 108px;
	background-image: url(../img/common/con-ttl2.png);
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	padding-top: 10px;
	margin-bottom: 35px;
}
.f-contact .ttlarea .txt {
	padding-top: 5px;
}
.f-contact .linkarea {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 960px;
	width: 100%;
	margin: auto;
}
.f-contact .linkarea > div {
	max-width: 440px;
	width: 48%;
	background-color: white;
	border-radius: 10px;
	min-height: 170px;
	padding: 25px 10px 10px;
}
.f-contact .linkarea .tel a {
	pointer-events: none;
}
@media screen and (max-width: 768px) {
	.f-contact .linkarea .tel a {
		pointer-events: auto;
	}
}
.f-contact .linkarea .ttl {
	position: relative;
	font-size: 18px;
	padding-bottom: 12px;
	margin-bottom: 20px;
}
.f-contact .linkarea .ttl::before {
	position: absolute;
	content: '';
	background-color: #F9522E;
	height: 1px;
	width: 40px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
}
/* .f-contact .linkarea .tel a {
	color: #214583;
	font-size: 50px;
	font-weight: 500;
	line-height: 1;
}
.f-contact .linkarea .tel a span {
	font-size: 30px;
	margin-right: 7px;
} */
.f-contact .linkarea .tel p {
	margin-top: 5px;
	color: #D4DBF2;
	font-size: 18px;
}
.f-contact .linkarea .contact-link {
	margin: auto;
}

.f-top {
	max-width: 1300px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: auto;
	line-height: 1.8;
}
.f-logo {
	margin-right: 50px;
}

.f-list-wrap {
	position: relative;
	max-width: 1400px;
	margin: 25px auto 40px;
	padding: 60px 0;
}
.f-list-wrap::before {
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 1px;
	background: linear-gradient(to right, #214583, #0573FF);	
}
.f-list-wrap::after {
	position: absolute;
	content: '';
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	height: 1px;
	background: linear-gradient(to right, #214583, #0573FF);	
}
.f-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	max-width: 1200px;
	margin: auto;
}
.f-bot {
	max-width: 1300px;
	margin: auto;
}
.f-bot .copyright {
	margin-left: auto;
}

@media screen and (max-width: 1200px) {
	.f-contact {
		border-radius: 100px;
	}
}
@media screen and (max-width: 768px) {
	.f-contact {
		border-radius: 50px;
	}
	.f-contact .ttlarea {
		height: 70px;
	}
	.f-contact .ttlarea .ttl {
		width: 174px;
	}
	.f-contact .linkarea {
		justify-content: center;
	}
	.f-contact .linkarea > div {
		width: 100%;
	}
	.f-contact .linkarea .tel {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 480px) {
	.f-contact {
		border-radius: 20px;
		padding: 55px 4%;
		margin-bottom: 80px;
	}
	.f-contact .linkarea .tel p {
		font-size: 15px;
	}
	.f-logo {
		margin: auto;
		margin-bottom: 20px;
		width: 80%;
	}
	.f-top .prof {
		text-align: center;
	}
	.f-list-wrap {
		display: none;
	}
	.f-bot {
		margin-top: 55px;
	}
	.f-bot a {
		text-decoration: underline;
	}
	.f-bot .copyright {
		width: 100%;
		margin: 30px auto 0;
		text-align: center;
		font-size: 12px;
	}
}


/* top index トップページ
--------------------------------------------- */
.top-wrap {
	position: relative;
	max-width: 1920px;
	width: 100%;
	margin: auto;
	overflow: hidden;
}
.top-wrap .slider-area {
	position:relative;
	max-width: 1350px;
	width: 73%;
	margin-left: auto;
	overflow: hidden;
}

.scroll-txt {
	position: absolute;
	bottom: 0;
	right: 0;
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  overflow: hidden;
	width: 100vw;
	max-width: 1920px;
}
.scroll-txt.white {
	color: white;
	z-index: 1;
}
.scroll-txt li {
  font-size: 140px;
  font-weight: bold;
  white-space: nowrap;
  padding: 0 1.5rem 0 0;
  margin: 0;
  animation: marquee-left 16s linear infinite;
}

/* .scroll-txt-img {
	position: absolute;
	bottom: 0;
	right: 0;
  overflow: hidden;
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
	width: 100vw;
	max-width: 1920px;
}
.scroll-txt-img li {
  white-space: nowrap;
  padding: 0 1rem 0 0;
  margin: 0;
  animation: marquee-left 16s linear infinite;
} */

@keyframes marquee-left {
  100% {
    transform: translateX(-100%);
  }
}

.scroll-txt-flex {
	position: absolute;
	display: flex;
	overflow: hidden;
	z-index: 1;
	right: 0;
	bottom: 50px;
	transform: scale(1.5);
}
.scroll-txt-flex.sp {
	display: none;
}
@media screen and (max-width: 1920px) {
	.scroll-txt-flex {
		width: 140vw;
		/* right: -175vw; */
		bottom: 2.6041667vw;

		padding-right: 20px;
	}
}
.scroll-txt-flex.white {
	z-index: 2;
}
.scroll-txt-img {
	display: flex;
	width: 2660px;
	/* width: 100vw; */
	/* max-width: 1920px; */
	list-style: none;
	padding: 0;
	animation: infinity-scroll-left 35s infinite linear 0.5s both;
}
.scroll-txt-img li {
	width: 100%;
}
.scroll-txt-img li img {
	width: 100%;
}
@keyframes infinity-scroll-left {
	from {
		transform: translateX(0);
	}
		to {
		transform: translateX(-100%);
	}
}

@media screen and (max-width: 600px) {
	/* .scroll-txt-flex.pc {
		display: none;
	}
	.scroll-txt-flex.sp {
		display: flex;
	} */
	.scroll-txt-flex {
		width: 250vw;
	}
	.scroll-txt-img {
		animation: infinity-scroll-left 30s infinite linear 0.5s both;
	}
}
@media screen and (max-width: 480px) {
	.scroll-txt-flex {
		width: 300vw;
	}
}


.main-ttl {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 6%;
	margin: auto;
	display: flex;
	align-items: center;
	text-shadow: 1px 1px 7px white;
}
.main-ttl p {
	font-size: 19px;
	margin-bottom: 15px;
	color: #00002F;
	font-weight: 500;
}
.main-ttl h2 {
	font-size: 62px;
	color: #00002F;
	font-weight: 500;
}
.main-ttl h2.indent {
	text-indent: -30px;
}

.top-2 {
	padding-top: 140px;
	padding-bottom: 120px;
}
.top-2 .cmn-ttl {
	margin-bottom: 15px;
}
.top-2 .left {
	width: 48%;
}
.top-2 .right {
	width: 49%;
}
.top2-ttl {
	font-size: 38px;
	line-height: 1.7;
}
.top-2 .right p {
	line-height: 2;
}
.top-2 .contact-link {
	margin-top: 30px;
	margin-left: auto;
}

.top-3 {
	background-image: url(../img/index/bg-01.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	margin-top: 220px;
	color: white;
}
.top3-banner {
	margin-top: -220px;
	margin-left: auto;
	margin-right: auto;
	border-radius: 7px;
}
.top3-banner.sp {
	display: none;
}
.top-3 .flex {
	padding-top: 100px;
	padding-bottom: 100px;
	align-items: center;
}
.top-3 .flex .left {
	width: 49%;
}
.top-3 .flex .right {
	width: 49%;
}
.top-3 .cmn-ttl {
	margin-bottom: 30px;
}
.top3-ttl {
	font-size: 36px;
	padding-bottom: 15px;
}
.top3-ttl span {
	font-size: 40px;
	font-weight: 500;
}
.top-3 .left p {
	line-height: 2;
	max-width: 510px;
}

.top-4 {
	position: relative;
	width: 100%;
	max-width: 1920px;
	padding-top: 140px;
	margin-left: auto;
	margin-right: auto;
}
.top-4::before {
	position: absolute;
	content: '';
	background-color: #F2F4FB;
	left: 0;
	bottom: 0;
	width: 100%;
	max-width: 1760px;
	height: 290px;
	border-radius: 8px;
}
.top-4 .w1820 {
	padding-bottom: 60px;
}
.change-img {
	position: absolute;
	width: 70%;
	max-width: 1100px;
	left: 1rem;
	top: 0;
}
.change-img li img {
	position: absolute;
	opacity: 0;
	pointer-events: none;
	border-radius: 15px;
	transition: 0.3s all;
}
.change-img li.active img {
	opacity: 1;
	pointer-events: auto;
}
.service-menu {
	width: 220px;
	padding: 10px;
	background-color: white;
	border-radius: 8px;
	margin-left: auto;
	margin-bottom: 25px;
}
.service-menu li {
	position: relative;
	padding-left: 12px;
	margin-bottom: 12px;
}
.service-menu li::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	margin: auto;
	background-color: #D4DBF2;
}
.service-menu li .line {
	display: none;
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 1px;
	margin: auto;
	background-color: #214583;
	transform: translate3d(0px, 0px, 0px) scale(1, 0);
	transform-origin: top;
}
.service-menu li.active .line {
	display: block;
}
/* .service-menu li.active::before {
	background-color: #214583;
} */
.service-menu li:last-child {
	margin-bottom: 0;
}
.service-menu button {
	background: none;
	border: none;
	cursor: pointer;
	font-size: 18px;
	color: #D4DBF2;
}
.service-menu li button:hover,
.service-menu li.active button {
	color: black;
}
.service-menu button span {
	font-size: 20px;
	font-weight: 500;
	color: #D4DBF2;
	margin-right: 15px;
}
.service-menu li button:hover span,
.service-menu li.active button span {
	color: #214583;
}
.change-txt {
	position: relative;
	background-color: white;
	border-radius: 8px;
	width: 50%;
	min-height: 510px;
	max-width: 560px;
	padding: 35px 5%;
	margin-left: auto;
}
.change-txt li {
	position: absolute;
	/* top: 0; */
	opacity: 0;
	/* transition: 0.3s all; */
	pointer-events: none;
}
.change-txt li.active {
	position: relative;
	opacity: 1;
	pointer-events: auto;
}
.change-txt .num {
	position: relative;
	color: #F9522E;
	margin-bottom: 30px;
	padding-left: 60px;
	font-size: 20px;
}
.change-txt .num::before {
	position: absolute;
	content: '';
	width: 41px;
	height: 1px;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	background-color: #F9522E;
}
.change-txt .ttl {
	font-size: 25px;
	font-weight: 500;
	padding-top: 27px;
	padding-bottom: 27px;
}
.change-txt .txt {
	line-height: 1.8;
	margin-bottom: 70px;
}
.change-txt .read-more {
	position: relative;
	padding-right: 30px;
	padding-bottom: 7px;
	min-width: 120px;
	color: #154C98;
	font-size: 18px;
	font-weight: 500;
	overflow: hidden;
	border-bottom: solid 1px #154C98;

	display: block;
	width: 135px;
	height: 35px;
	line-height: 35px;
}
.change-txt .read-more:hover {
	opacity: 1;
}
.change-txt .read-more::before {
	content: url(../img/index/arrow-b.png);
	position: absolute;
	right: 10px;
	/* top: 0; */
	bottom: 0;
	margin: auto;
	transition: 0.3s all;
	z-index: 1;
}
.change-txt .read-more::after {
	content: url(../img/index/arrow-b.png);
	position: absolute;
	right: 10px;
	/* top: 0; */
	bottom: -35px;
	margin: auto;
	transition: 0.3s all;
	z-index: 2;
}
.change-txt .read-more:hover::before {
	animation: fadeOut1 0.4s forwards;
}
.change-txt .read-more:hover::after {
	animation: fadeIn1 0.25s forwards;
}
/* .change-txt .read-more::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(to right, #214583, #0573FF);
} */
/* .change-txt .read-more:hover::before {
	right: 5px;
} */

.top-5 {
	margin-top: 180px;
	margin-bottom: 180px;
}

.top-6 {
	margin-bottom: 250px;
}
.top-6 .wrap {
	position: relative;
	padding-top: 75px;
	padding-bottom: 75px;
	color: white;
}
.top-6 .bg-flex {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	display: flex;
	justify-content: space-between;
}
.top-6 .bg-flex .bg-left {
	width: calc(50% - 700px);
	height: 100%;
}
.top-6 .bg-flex .bg-right {
	width: calc(50% + 700px);
	height: 100%;
	background-image: url(../img/index/bg-02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-radius: 10px;
}
.top-6 .contact-link::before {
	background: linear-gradient(to right, #F28E3F, #F25B3F);
}
.top-6 .contact-link::after {
	background: linear-gradient(to right, #fff, #fff);
}
.top-6 .contact-link:hover {
	color: #F28E3F;
}
.top-6 .contact-link .maru.js-after {
	background-color: #F28E3F;
}
.top-6 .txtarea {
	max-width: 420px;
	line-height: 2;
}
.top-6 .txtarea .contact-link {
	margin-top: 35px;
}
.top-6 .imgarea {
	position: absolute;
	top: -205px;
	right: 0;
}
.top-6 .imgarea img {
	border-radius: 8px;
}
.top6-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 135px;
	border-top: solid 1px white;
}
.top6-list li {
	width: 25%;
	border-left: solid 1px white;
	border-right: solid 1px white;
	border-bottom: solid 1px white;
}
.top6-list li a {
	position: relative;
	color: white;
	display: flex;
	align-items: center;
	justify-content: space-between;
	/* padding: 15px 14% 15px 15px; */
	padding: 15px;
	min-height: 180px;
}
.top6-list li a:hover {
	opacity: 1;
}
.top6-list li .arrow-wrap {
	position: relative;
	width: 7px;
	height: 35px;
	overflow: hidden;
}
.top6-list li .arrow {
	/* content: url(../img/index/arrow.png); */
	/* position: absolute; */
	width: 7px;
	height: 35px;
	background-image: url(../img/index/arrow.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	transition: 0.3s all;
}
.top6-list li a:hover .arrow {
	animation: fadeOut1 0.4s forwards;
}
.top6-list li a:hover .arrow.js-after {
	animation: fadeIn1 0.25s forwards;
}
.top6-list li .ttl {
	position: relative;
	font-size: 33px;
	font-weight: 500;
	height: 35px;
	line-height: 35px;
	overflow: hidden;
}
.top6-list li .txt {
	position: relative;
	font-size: 18px;
	padding-left: 50px;
	height: 35px;
	line-height: 35px;
	overflow: hidden;
}
.top6-list li .txt::before {
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	bottom: 0;
	width: 41px;
	height: 1px;
	background-color: white;
	margin: auto;
}

.top-7 {
	position: relative;
}
.top-7::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: -300px;
	margin: auto;
	background-image: url(../img/index/bg-03.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	z-index: -1;
}

.top-7 .w1920 {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.top-7 .imgarea {
	/* width: 49%; */
	width: 50%;
	position: sticky;
	top: 0;
}
.top-7 .right {
	width: 50%;
}


.slider-rec {
	/* position: absolute; */
	left: 0;
	top: 0;
	/* width: 49%; */
}
.slider-rec .sbg {
	padding-top: 100px;
	text-align: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}
.slider-rec .bg1 { background-image: url(../img/index/slide2-04.png); }
.slider-rec .bg2 { background-image: url(../img/index/slide2-05.png); }
.slider-rec .bg3 { background-image: url(../img/index/slide2-06.png); }

.slider-rec .sbg img {
	display: block;
	margin: auto;
}

.top-7 .txtarea {
	padding-top: 180px;
	max-width: 480px;
	/* width: 50%; */
	/* margin-left: auto; */
}
.top7-ttl {
	/* font-size: 33px; */
	font-size: 40px;
	margin-bottom: 40px;
}
.top-7 .txtarea p {
	line-height: 2.7;
}
.top-7 .contact-link {
	margin-top: 70px;
}

@media screen and (max-width: 1920px) {
	.scroll-txt li {
		font-size: 7.29vw;
	}
}
@media screen and (max-width: 1500px) {
	.main-ttl p {
		font-size: 1.26vw;
	}
	.main-ttl h2 {
		font-size: 4.13vw;
	}
}
@media screen and (max-width: 1400px) {
	.top-6 .imgarea {
		width: 52%;
	}
	.top-6 .txtarea {
		width: 46%;
	}
	.slider-rec .sbg {
		padding-top: 7.14285714285vw;
	}
}
@media screen and (max-width: 1200px) {
	.top6-list li {
		width: 50%;
	}
}
@media screen and (max-width: 1100px) {
	.top2-ttl {
		font-size: 32px;
	}
	.top-2 .left {
		width: 45%;
	}
	.top-2 .right {
		width: 53%;
	}
	.top7-ttl {
		font-size: 33px;
	}
}
@media screen and (max-width: 1000px) {
	.top-2 {
		padding-top: 80px;
		padding-bottom: 80px;
	}
	.top-2 .left {
		margin-bottom: 20px;
	}
	.top-2 .left,
	.top-2 .right {
		width: 100%;
	}
	.top-2 .contact-link {
		margin-left: 0;
		margin-right: auto;
	}
	.top-2 {
		padding-right: 2rem;
		padding-left: 2rem;
	}
	.top3-ttl {
		font-size: 30px;
	}
	.top3-ttl span {
		font-size: 36px;
	}
	.change-img {
		position: relative;
		width: 90%;
		height: 45vw;
		margin-right: auto;
		width: calc(95% - 220px);
	}
	.change-txt {
		width: 100%;
		max-width: none;
		min-height: 360px;
	}
	.top-4 .w1200 {
		position: unset;
	}
	.service-menu {
		position: absolute;
		top: 0;
		right: 0;
	}
	.change-txt .txt {
		margin-bottom: 40px;
	}
	.change-txt .num {
		margin-bottom: 10px;
	}
	.change-txt .ttl {
		padding-top: 15px;
		padding-bottom: 15px;
	}
}
@media screen and (max-width: 900px) {
	.top-6 {
		margin-bottom: 120px;
	}
	.top-7 .w1920 {
		flex-wrap: wrap;
	}
	.top-7 .imgarea {
		width: 100%;
		position: relative;
	}
	.top-7 .right {
		width: 100%;
	}
	.slider-rec .sbg {
		padding-left: 2rem;
		padding-right: 2rem;
	}
	/* .slider-rec {
		width: 45%;
	} */
	.top-7 .txtarea {
		width: 100%;
		padding-top: 20vw;
		margin: auto;
	}
	/* .top-7 .sp-left {
		padding-left: 50%;
	} */
	.top7-ttl {
		font-size: 26px;
	}
}
@media screen and (max-width: 768px) {
	.slider-top .slick-slide {
		height: 360px !important;
	}
	.slider-top .slick-slide img {
		display: block;
		object-fit: cover;
		height: 100%;
		width: 100%;
	}
	.main-ttl p {
		font-size: 11px;
	}
	.main-ttl h2 {
		font-size: 32px;
	}
	.main-ttl h2.indent {
		text-indent: -20px;
	}
	.top-2 .right p {
		line-height: 1.8;
	}
	.scroll-txt li {
		font-size: 50px;
	}
	.top-3 .flex .left,
	.top-3 .flex .right {
		width: 100%;
	}
	.top-3 .flex .right {
		margin-top: 30px;
		text-align: center;
	}
	.top-3 .flex .right img {
		display: block;
		width: 85%;
		margin: auto;
	}
	.top3-ttl {
		font-size: 24px;
	}
	.top3-ttl span {
		font-size: 28px;
	}
	.top-4 {
		padding-top: 80px;
	}
	.change-txt li .label {
		transform: scale(0.8);
		transform-origin: 0 50%;
	}
	.change-txt .ttl {
		font-size: 21px;
	}
	.top-5 {
		margin-top: 100px;
		margin-bottom: 100px;
	}
	.top-6 {
		margin-bottom: 60px;
	}
	.top-6 .bg-flex .bg-right {
		border-radius: 0;
	}
	.top-6 .w1400 {
		display: flex;
		flex-wrap: wrap;
	}
	.top-6 .w1200 {
		order: 2;
	}
	.top-6 .imgarea {
		top: 0;
		order: 1;
		position: relative;
		margin: auto;
		width: 80%;
		max-width: 400px;
	}
	.top-6 .txtarea {
		width: 100%;
		max-width: none;
		padding-top: 10px;
	}
	.top6-list {
		margin-top: 60px;
	}
	.top6-list li .ttl {
		font-size: 26px;
	}
	.top6-list li a {
		min-height: 130px;
	}
	/* .slider-rec {
		width: 33%;
	} */
	/* .slider-rec .sbg {
		padding-top: 4vw;
	} */
	/* .top-7 .sp-left {
		padding-left: 35%;
	} */
	.top-7 .txtarea {
		padding-top: 12vw;
	}
	.top7-ttl {
		font-size: 24px;
	}
	.top-7 .txtarea p {
		line-height: 1.8;
	}
	.top-7 .contact-link {
		margin-top: 50px;
	}
}
@media screen and (max-width: 600px) {
	.slider-top .slick-slide {
		height: 480px !important;
	}
	.main-ttl {
		text-shadow: none;
		bottom: 30%;
	}
	.main-ttl p,
	.main-ttl h2 {
		color: white;
	}
	.scroll-txt {
		bottom: 15px;
	}
	.top-wrap .slider-area {
		width: 100%;
	}
	.top2-ttl {
		font-size: 26px;
	}
	.change-img {
		position: relative;
		width: 100%;
		height: 48.833333333333336vw;
		left: 0;
	}
	.change-img li img {
		width: 80%;
		margin: auto;
		left: 0;
		right: 0;
	 }
	.service-menu {
		top: -170px;
		width: 190px;
	}
	.service-menu li {
		margin-bottom: 2px;
	}
	.service-menu li::before {
		top: 2px;
		bottom: 2px;
	}
	.service-menu button {
		font-size: 14px;
	}
	.service-menu button span {
		font-size: 16px;
	}
	.top6-list li {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.cmn-ttl .sub {
		margin-top: -5px;
	}
	.main-ttl p {
		font-size: 10px;
	}
	.main-ttl h2 {
		font-size: 28px;
	}
	.main-ttl h2.indent {
		text-indent: -20px;
	}
	.top2-ttl {
		font-size: 21px;
	}
	.top2-ttl br.pc {
		display: none;
	}
	.top-3 {
		margin-top: 200px;
	}
	.top3-banner {
		display: none;
	}
	.top3-banner.sp {
		display: block;
		position: absolute;
		top: -45vw;
		margin-top: 0;
	}
	.service-menu {
		right: -1rem;
		top: -130px;
		width: 140px;
		padding: 0 5px 0 0;
	}
	.service-menu button {
		font-size: 13px;
	}
	.service-menu button span {
		font-size: 14px;
		margin-right: 7px;
	}
	.service-menu li {
		padding-left: 5px;
	}
	.change-txt {
		padding-top: 10px;
	}
	.change-txt li .label {
		transform: scale(0.72);
	}
	.change-txt .ttl {
		font-size: 19px;
	}
	.change-txt .txt {
		margin-bottom: 25px;
	}
	.top-5 {
		margin-top: 60px;
		margin-bottom: 60px;
	}
	.top-6 {
		margin-bottom: 0;
	}
	.top6-list li a {
		min-height: 80px;
	}
	.top6-list li .ttl {
		font-size: 19px;
	}
	.top6-list li .txt {
		font-size: 16px;
	}
	.top-7 .sp-left {
		padding-left: 0;
	}
	/* .top-7 .sp-left .cmn-ttl {
		margin-left: 35%;
	} */
	.top7-ttl {
		font-size: 22px;
	}
}


/* privacy
--------------------------------------------- */
.privacy-wrap {
	max-width: 1120px;
	margin: auto;
}
.pri-ttl {
	position: relative;
	color:#214583;
	font-size: 33px;
	margin-bottom: 15px;
}
.pri-ttl::before {
	position: absolute;
	content: '';
	top: 22px;
	left: -18px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background-color: #F2593F;
}
.pri-subttl {
	position: relative;
	color:#214583;
	font-size: 25px;
	margin-bottom: 15px;
}
.pri-subttl::before {
	position: absolute;
	content: url(../img/privacy/line.png);
	top: -5px;
	left: -18px;
}
.privacy-wrap {
	padding-left: 20px;
}
.privacy-wrap p {
	margin-bottom: 60px;
	line-height: 1.7;
}
.pri-company {
	line-height: 1.7;
	margin-bottom: 15px;
}
.pri-company .ttl {
	padding-top: 10px;
	font-size: 20px;
}

@media screen and (max-width: 768px) {
	.pri-ttl {
		font-size: 26px;
	}
	.pri-subttl {
		font-size: 21px;
	}
	.privacy-wrap p {
		margin-bottom: 45px;
	}
}

@media screen and (max-width: 480px) {
	.pri-ttl {
		font-size: 22px;
	}
	.pri-subttl {
		font-size: 18px;
	}
	.privacy-wrap p {
		margin-bottom: 30px;
		line-height: 1.6;
	}
}

/* company
--------------------------------------------- */
.com-sec {
	margin-bottom: 110px;
}
.com-access {
	margin-bottom: 0;
}

.message-wrap {
	display: flex;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	padding-top: 60px;
}

.message-wrap .left {
	width: calc(50% - 720px);
}
.message-wrap .right {
	width: calc(50% + 720px);
	background-image: url(../img/company/com-02.jpg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	padding: 60px 1rem;
}
.message-wrap .right .inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	max-width: 1300px;
	margin-left: 1%;
}
.message-wrap .right .pict {
	transform: translateY(-120px);
	width: 50%;
}
.message-wrap .right .txtarea {
	width: 45%;
	color: white;
}
.message-wrap .right .txtarea p {
	line-height: 1.8;
}
.message-wrap .right .txtarea .mes-ttl {
	font-size: 33px;
}
.president-wrap {
	text-align: right;
}
.president-name {
	display: inline-block;
	text-align: left;
	margin-top: 45px;
}
.president-name .role {
	font-size: 17px;
}
.president-name .name {
	font-size: 25px;
}
.president-name .name span {
	font-size: 20px;
}

.major-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 35px 4% 5px;
	border-top: solid 1px #1C4E9B;
	border-bottom: solid 1px #1C4E9B;
	background-color: #F2F4FB;
}
.major-list li {
	position: relative;
	width: 49%;
	margin-bottom: 30px;
	padding-left: 20px;
}
.major-list li::before {
	position: absolute;
	content: '';
	top: 11px;
	left: 5px;
	border-radius: 50%;
	background-color: #F2593F;
	width: 5px;
	height: 5px;
}
.major-list li:last-child::before {
	display: none;
}
.major-list li:last-child {
	display: flex;
	flex-wrap: wrap;
}
.major-list li:last-child span {
	margin-left: auto;
}

.address-flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
}

.address-flex .left {
	position: relative;
	font-size: 25px;
	padding-left: 80px;
	padding-right: 50px;
}
.address-flex .left::before {
	position: absolute;
	content: '';
	width: 40px;
	height: 1px;
	top: 20px;
	left: 20px;
	background-color: #F9522E;
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center;
}
.address-flex .right {
	line-height: 1.8;
}

@media screen and (max-width: 1100px) {
	.message-wrap {
		padding-top: 0;
	}
	.message-wrap .right .inner {
		display: block;
	}
	.message-wrap .right .pict {
		display: block;
		margin: auto;
		transform: none;
		width: 80%;
		max-width: 524px;
	}
	.message-wrap .right .txtarea {
		width: 98%;
		max-width: 600px;
		margin: 40px auto 0;
	}
}

@media screen and (max-width: 768px) {
	.message-wrap .right .txtarea .mes-ttl {
		font-size: 26px;
	}
	.president-name .name {
		font-size: 21px;
	}
	.president-name .name span {
		font-size: 18px;
	}
	.major-list {
		padding: 35px 3% 5px;
	}
	.major-list li {
		width: 100%;
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 600px) {
	.access-txtarea {
		width: 100%;
	}
	.address-flex .left {
		padding-left: 50px;
		padding-right: 0;
		width: 150px;
	}
	.address-flex .left::before {
		width: 20px;
	}
	.address-flex .right {
		width: calc(98% - 150px);
	}
}
@media screen and (max-width: 480px) {
	.com-sec {
		margin-bottom: 60px;
	}
	.message-wrap .right .txtarea .mes-ttl {
		font-size: 22px;
	}
	.president-name {
		margin-top: 25px;
	}
	.president-name .role {
		font-size: 15px;
	}
	.president-name .name {
		font-size: 19px;
	}
	.president-name .name span {
		font-size: 16px;
	}
	.address-flex .left {
		padding-left: 35px;
		font-size: 22px;
		width: 110px;
	}
	.address-flex .left::before {
		width: 15px;
		top: 18px;
    left: 15px;
	}
	.address-flex .right {
		width: calc(98% - 110px);
	}
}


/* business
--------------------------------------------- */
.bus-01 {
	padding-bottom: 150px;
}
.bus-01 .imgarea {
	position: relative;
	width: 49%;
	max-width: 648px;
}
.bus-01 .imgarea .img2 {
	display: block;
	margin-left: auto;
	margin-top: -170px;
}
.bus-01 .txtarea {
	width: 49%;
	max-width: 578px;
}
.bus-ttl {
	position: relative;
	font-size: 38px;
	margin-bottom: 40px;
}
.bus-ttl::before {
	position: absolute;
	content: '';
	width: 10px;
	height: 10px;
	background-color: #F2593F;
	border-radius: 50%;
	left: -20px;
	top: 30px;
}
.bus-01 .txtarea p {
	line-height: 2.2;
}

.bus-02 {
	background-image: url(../img/business/bg-02.png);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center;
	padding-top: 80px;
	padding-bottom: 80px;
}
.bus-02 .flex .left {
	width: 49.5%;
}
.bus-02 .flex .right {
	width: 49.5%;
}
.bus02-ttl {
	font-size: 36px;
	margin-bottom: 30px;
	line-height: 1;
}
.bus02-ttl span {
	font-size: 40px;
	color: #2066CB;
	font-weight: bold;
}
.bus-02 .flex .right p {
	line-height: 2;
}
.str-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-top: 40px;
}
.str-list li {
	width: 31%;
	margin-bottom: 20px;
}
.str-list .pict {
	display: block;
	margin-top: 10px;
	border-radius: 10px;
}
.str-list .ttl {
	font-size: 30px;
	color: #154C98;
	font-weight: 500;
	line-height: 1;
	margin-bottom: 20px;
}
.str-list .ttl span {
	display: inline-block;
	font-size: 17px;
	color: #899CBF;
	margin-left: 10px;
	font-weight: 500;
}
.str-list .txtbox {
	padding: 20px 12px 0;
}
.str-list .txtbox p {
	line-height: 1.8;
}

.bus-03 {
	padding-top: 150px;
}
.bluebg-wrap {
	position: relative;
	padding-top: 90px;
	padding-bottom: 60px;
}
.bluebg-wrap .bg {
	position: absolute;
	display: flex;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
}
.bluebg-wrap .bg .left {
	width: calc(50% + 700px);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center right;
	border-radius: 0 8px 8px 0;
}
.bluebg-wrap .bg .right {
	width: calc(50% - 700px);
}
.bluebg-wrap .label {
	display: block;
	position: relative;
	padding-left: 60px;
}
.bluebg-wrap .label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 12px;
	width: 42px;
	height: 1px;
	background-color: white;
}
.bluebg-wrap .img-ttl {
	display: block;
	margin-top: 35px;
	margin-bottom: 25px;
}
.bluebg-wrap .bus-subttl {
	position: relative;
	padding-left: 130px;
	color: white;
	font-size: 21px;
}
.bluebg-wrap .bus-subttl::before {
	content: '';
	position: absolute;
	width: 100px;
	top: 18px;
	left: 0;
	height: 1px;
	background-color: white;
}
.bluebg-wrap .txtbox {
	margin-top: 50px;
	line-height: 2;
	color: white;
}
.ser-list {
	max-width: 1200px;
	margin: 110px auto;
}
.ser-list li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 100px;
}
.ser-list li:last-child {
	margin-bottom: 0;
}
.ser-list li .txtarea {
	width: 49%;
	max-width: 500px;
}
.ser-list li .pict {
	display: block;
	width: 49%;
	max-width: 580px;
	border-radius: 10px;
}
.ser-list li .label {
	display: block;
	margin-top: 15px;
	margin-bottom: 40px;
}
.ser-list li .ttl {
	font-size: 24px;
	margin-bottom: 30px;
	font-weight: 500;
}
.ser-list li p {
	line-height: 2;
}
.bus-05 {
	background-color: #F2F4FB;
	padding-top: 90px;
	padding-bottom: 90px;
}
.case-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1400px;
	margin: auto;
}
.case-list li {
	width: 24%;
	text-align: center;
	margin-bottom: 20px;
}
.case-list li img {
	display: block;
	border-radius: 10px;
}
.case-list .ttl {
	position: relative;
	font-size: 25px;
	font-weight: 500;
	padding-top: 15px;
	padding-bottom: 10px;
	margin-bottom: 10px;
	color: #214583;
}
.case-list .ttl::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 40px;
	height: 1px;
	background-color: #F9522E;
}

@media screen and (max-width: 1100px) {
	.bus-ttl {
		font-size: 32px;
	}
	.bus-ttl::before {
		top: 22px;
	}
}

@media screen and (max-width: 950px) {
	.bus-01 .imgarea {
		width: 40%;
	}
	.bus-01 .imgarea .img1 {
		max-width: 70%;
	}
	.bus-01 .imgarea .img2 {
		max-width: 60%;
		margin-top: -75px;
	}
	.bus-01 .txtarea {
		width: 55%;
	}
	.bus-ttl {
		font-size: 26px;
		margin-bottom: 30px;
	}
	.bus-ttl::before {
		top: 18px;
	}
	.bus-01 .txtarea p {
		line-height: 2;
	}
}

@media screen and (max-width: 768px) {
	.bus-01 {
		padding-bottom: 80px;
	}
	.bus-01 .imgarea {
		width: 80%;
		order: 2;
		margin: 30px auto 0;
		max-width: 500px;
	}
	.bus-01 .txtarea {
		width: 100%;
		margin: auto;
	}
	.bus-ttl {
		margin-left: 20px;
	}
	.bus-02 .flex .left {
		width: 100%;
	}
	.bus-02 .flex .right {
		width: 100%;
	}
	.bus02-ttl {
		font-size: 26px;
		margin-bottom: 15px;
	}
	.bus02-ttl span {
		font-size: 32px;
	}
	.str-list .ttl {
		font-size: 22px;
		line-height: 1.5;
	}
	.str-list .ttl span {
		display: block;
		margin-left: 0;
		font-size: 16px;
	}
	.str-list li .label {
		max-width: 80%;
	}
	.bus-03 {
		padding-top: 100px;
	}
	.bluebg-wrap {
		padding-top: 70px;
	}
	.bluebg-wrap .label {
		transform: scale(0.9);
		transform-origin: 0 50%;
	}
	.bluebg-wrap .img-ttl {
		transform: scale(0.8);
		transform-origin: 0 50%;
	}
	.bluebg-wrap .bus-subttl {
		padding-left: 100px;
		font-size: 19px;
	}
	.bluebg-wrap .bus-subttl::before {
		width: 85px;
	}
	.bluebg-wrap .bg .left {
		border-radius: 0;
	}
	.ser-list {
		margin-top: 40px;
		margin-bottom: 70px;
	}
	.ser-list li {
		margin-bottom: 40px;
	}
	.ser-list li .txtarea {
		width: 100%;
		max-width: none;
	}
	.ser-list li .label {
		margin-bottom: 30px;
	}
	.ser-list li .ttl {
		margin-bottom: 15px;
	}
	.ser-list li p {
		line-height: 1.8;
		margin-bottom: 10px;
	}
	.ser-list li .pict {
		width: 85%;
		margin-left: auto;
		margin-right: auto;
	}

	.case-list .ttl {
		font-size: 22px;
		padding-top: 10px;
		padding-bottom: 5px;
	}
}

@media screen and (max-width: 600px) {
	.case-list li {
		width: 49%;
	}
	.bus-01 .txtarea p {
		line-height: 1.8;
	}
	.bus-02 .flex .right p {
		line-height: 1.8;
	}
}

@media screen and (max-width: 480px) {
	.bus-ttl {
		font-size: 20px;
	}
	/* .bus-ttl br {
		display: none;
	} */
	.bus-ttl::before {
		top: 12px;
		width: 8px;
		height: 8px;
	}
	.bus-02 {
		background-image: none;
		background-color: #F2F4FB;
	}
	.str-list li {
		width: 100%;
		margin-bottom: 40px;
	}
	.str-list li:last-child {
		margin-bottom: 0;
	}
	.str-list .txtbox {
		padding-top: 10px;
	}
	.str-list .ttl {
		margin-bottom: 10px;
	}
	.str-list .ttl span {
		display: inline-block;
		margin-left: 10px;
	}
	.str-list .pict {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.bus02-ttl {
		font-size: 20px;
	}
	.bus02-ttl span {
		font-size: 24px;
	}
	.bus-03 {
		padding-top: 80px;
	}
	.bluebg-wrap {
		padding-top: 60px;
	}
	.bluebg-wrap .label {
		transform: scale(0.8);
	}
	.bluebg-wrap .img-ttl {
		transform: scale(0.64);
		margin-top: 20px;
    margin-bottom: 15px;
	}
	.bluebg-wrap .bus-subttl {
		padding-left: 60px;
		font-size: 17px;
	}
	.bluebg-wrap .bus-subttl::before {
		width: 50px;
	}

	.bus-05 {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.case-list .ttl {
		font-size: 17px;
		padding-top: 5px;
		padding-bottom: 5px;
    margin-bottom: 7px;
	}
	.case-list li img {
		border-radius: 5px;
	}
}


/* recruit
--------------------------------------------- */
#recruit {
	background-image: url(../img/recruit/bg.png);
	background-repeat: no-repeat;
	background-position: top center;
	background-size: 1920px;
	overflow-x: hidden;
}

#recruit .bgimg-wrap {
	position: relative;
	width: 1920px;
	margin-left: auto;
	margin-right: auto;
}

#recruit .bg-img {
	position: absolute;
	top: 0;
	right: 0;
	z-index: -2;
}

#recruit #header .h-list > li a {
	color: white;
}

#recruit .top-ttl {
	background: none;
}

#recruit .top-ttl .en {
	position: relative;
	border-bottom: none;
}
#recruit .top-ttl .en::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-image: url(../img/recruit/line.png);
	background-repeat: no-repeat;
	background-position: left;
	background-size: auto;
	width: 100%;
	max-width: 705px;
	height: 2px;
	z-index: -3;
}

.rec-01 {
	position: relative;
	max-width: 1920px;
	margin: auto;
	/* padding-top: 70px; */
	/* padding-left: 2.5rem; */
	/* padding-right: 2.5rem; */
}
.rec-01 .txtarea {
	width: 50%;
}
.rec-01 .txtarea .w1200 {
	padding-left: 2.5rem;
	padding-right: 1rem;
}
.rec1-txt {
	max-width: 480px;
	padding-top: 70px;
	margin-left: auto;
	margin-right: 10%;
	color: white;
	/* padding-top: 440px; */
	padding-top: 470px;
}
.rec1-txt .ttl {
	font-size: 40px;
	/* margin-bottom: 50px; */
	margin-bottom: 70px;
	font-weight: 500;
}
.rec1-txt p {
	line-height: 2.7;
	max-width: 470px;
}
.rec-01 .imgarea {
	width: 50%;
	/* padding-top: 90px; */
}

#recruit .rec-slider2 {
	position: sticky;
	top: 0;
}
#recruit .rec-slider2 .sbg {
	padding-top: 190px;
	background-repeat: no-repeat;
	background-position: top center;
}
#recruit .rec-slider2 .sbg.bg1 { background-image: url(../img/recruit/slide-04.png); }
#recruit .rec-slider2 .sbg.bg2 { background-image: url(../img/recruit/slide-05.png); }
#recruit .rec-slider2 .sbg.bg3 { background-image: url(../img/recruit/slide-06.png); }

/* .go-ahead {
	position: relative;
	right: 6%;
	z-index: -1;
} */

.rec-slider {
	max-width: 1920px;
	margin: 150px auto 0;
	overflow: hidden;
}
.rec-slider .slick-slide {
	padding-left: 7px;
	padding-right: 7px;
}
.rec-slider .slick-slide img {
	border-radius: 10px;
}

.rec-02 {
	background-image: url(../img/recruit/bg2.jpg);
	background-repeat: no-repeat;
	background-size: auto;
	background-position: center bottom;
	padding-top: 180px;
	padding-bottom: 50px;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}
.rec-02 .shadow {
	position: absolute;
	left: 2%;
	z-index: 1;
	top: 140px;
}
.rec-02 .cmn-ttl {
	z-index: 5;
}
@media screen and (max-width: 1920px) {
	.rec-02 .shadow {
		width: 40.625vw;
	}
}

.appeal-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1080px;
	margin-top: 20px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 10;
}
.appeal-list li {
	width: 48%;
	max-width: 480px;
	margin-bottom: 50px;
}
.appeal-list li:nth-child(even) {
	padding-top: 55px;
}
.appeal-list li img {
	display: block;
	border-radius: 8px;
}
.appeal-list li .ttl {
	color: #214583;
	font-size: 25px;
	padding-top: 20px;
	padding-bottom: 20px;
	font-weight: 500;
}
.appeal-list li p {
	line-height: 1.8;
}

.rec-03 {
	position: relative;
	width: 100%;
	max-width: 1920px;
	padding-top: 140px;
	margin-left: auto;
	margin-right: auto;
}
.rec-03 .cmn-ttl::before {
	background-color: white;
}
.rec-03 .cmn-ttl .sub {
	color: white;
}
.rec3-bg {
	position: absolute;
	display: flex;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 1920px;
	height: 400px;
	margin: auto;
}
.rec3-bg .left {
	width: calc(50% - 700px);
}
.rec3-bg .right {
	width: calc(50% + 700px);
	background-image: url(../img/recruit/rec-11.jpg);
	z-index: -1;
}

.ideal-wrap {
	position: relative;
}
.ideal-wrap::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	max-width: 1400px;
	background-color: white;
	z-index: -1;
	border-radius: 0 15px 0 0;
}
.ideal-list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 1200px;
	padding-top: 100px;
	margin: auto;
}
.ideal-list li {
	width: 23%;
	padding-bottom: 20px;
	text-align: center;
}
.ideal-list li .label {
	position: relative;
	text-align: left;
	color: #F9522E;
	font-size: 20px;
	padding-left: 60px;
	margin-bottom: 25px;
}
.ideal-list li .label::before {
	content: '';
	position: absolute;
	width: 41px;
	height: 1px;
	left: 0;
	top: 15px;
	background-color: #F9522E;
	background-repeat: no-repeat;
	background-position: center;
}
.ideal-list li .imgbox {
	height: 130px;
	display: flex;
	justify-content: center;
	align-items: center;
}
.ideal-list li .ttl {
	color: #214583;
	font-size: 25px;
	padding: 15px 5px;
}
.ideal-list li p {
	padding: 0 5px;
	text-align: left;
}

.rec-04 {
	margin-top: 120px;
	margin-bottom: 150px;
}

.rec-05 {
	position: relative;
	background-color: #F2F4FB;
	padding-top: 65px;
	padding-bottom: 110px;
}

.rec-05 .shadow {
	position: absolute;
	top: -37px;
	left: 1%;
}

.flow-img.sp {
	display: none;
}

@media screen and (max-width: 1500px) {
	.rec-05 .shadow {
		width: 36.4666vw;
	}
}
@media screen and (max-width: 480px) {
	.flow-img.pc {
		display: none;
	}
	.flow-img.sp {
		display: block;
	}
}

.flow-list {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	z-index: 1;
	margin-top: 85px;
	margin-bottom: 60px;
}
.flow-list::before {
	position: absolute;
	content: '';
	top: 0;
	bottom: 0;
	left: 0;
	right: 1px;
	margin: auto;
	background-image: url(../img/recruit/dot.png);
	background-position: center right;
	background-repeat: no-repeat;
	background-size: auto;
	height: 7px;
	z-index: -1;
}
.flow-list li:not(:last-child) {
	width: 250px;
	height: 250px;
	background-color: white;
	text-align: center;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.flow-list li .label {
	color: #F2593F;
	font-size: 20px;
	margin-bottom: 30px;
}
.flow-list li .ttl {
	color: #214583;
	font-size: 25px;
	font-weight: 500;
}
.flow-list li:last-child {
	width: 21px;
}
.rec5-txt {
	color: #214583;
	text-align: center;
	line-height: 2;
	margin-top: 40px;
}
.rec-05 .contact-link {
	margin: 20px auto 0;
}

@media screen and (max-width: 1400px) {
	.rec1-txt p {
		max-width: none;
	}
}
@media screen and (max-width: 1200px) {
	.flow-list li:not(:last-child) {
		width: 200px;
		height: 200px;
	}
	.rec1-txt .ttl {
		font-size: 32px;
	}
}
@media screen and (max-width: 1000px) {
	.flow-list li:not(:last-child) {
		width: 160px;
		height: 160px;
	}
	.flow-list li .label {
		margin-bottom: 15px;
	}
	#recruit .top-ttl {
		padding-top: 180px;
	}
	.rec1-txt {
		padding-top: 350px;
		margin-right: auto	;
	}
}

@media screen and (max-width: 900px) {
	.rec-01 .txtarea {
		width: 100%;
		order: 2;
	}
	.rec-01 .imgarea {
		width: 100%;
	}
	#recruit .rec-slider2 .sbg {
		padding-top: 60px;
		padding-bottom: 30px;
	}
	#recruit .rec-slider2 .sbg img {
		display: block;
		margin: auto;
		max-width: 400px;
	}
	#recruit .top-ttl {
		position: relative;
		padding-top: 45px;
	}
	.rec1-txt {
		max-width: 640px;
		padding-top: 30px;
		margin-left: auto;
		margin-right: auto;
	}
	.rec-01 .txtarea .w1200 {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
}

@media screen and (max-width: 768px) {
	#recruit .top-ttl {
		padding-top: 110px;
	}
	#recruit .top-ttl .en img {
		max-width: 70%;
	}
	.rec1-txt .ttl {
		font-size: 30px;
		margin-bottom: 50px;
	}
	.rec1-txt p {
		line-height: 2;
	}	
	.rec-slider {
		margin-top: 8vw;
		transform: translateY(30px);
    position: relative;
    z-index: 100;
	}

	.rec-02 {
		padding-top: 110px;
	}
	.rec-02 .shadow {
		left: auto;
		/* right: 5%; */
		top: 80px;
		width: 300px;
	}
	.ideal-list li .ttl {
		font-size: 21px;
	}

	.rec-03 {
		padding-top: 75px;
	}
	.appeal-list li {
		margin-bottom: 30px;
	}
	.appeal-list li .ttl {
		font-size: 21px;
		padding-top: 15px;
		padding-bottom: 10px;
	}
	.appeal-list li:nth-child(even) {
		padding-top: 35px;
	}

	.ideal-wrap::before {
		border-radius: 0;
	}
	.ideal-list li {
		width: 49%;
		max-width: 350px;
		padding-bottom: 50px;
	}
	
	.rec-05 .shadow {
		left: auto;
		/* right: 2%; */
		top: -20px;
		width: 278px;
	}
}
@media screen and (max-width: 600px) {
	#recruit .top-ttl {
		padding-top: 60px;
	}
	#recruit .rec-slider2 .sbg {
		padding-top: 40px;
		background-size: cover;
	}
	#recruit .rec-slider2 .sbg img {
		max-width: 300px;
		width: 70%;
	}
}
@media screen and (max-width: 480px) {
	#recruit .top-ttl {
		padding-top: 30px;
	}
	.rec-01 {
		/* padding-top: 55px; */
		/* padding-left: 1.5rem; */
		/* padding-right: 1.5rem; */
	}
	.rec1-txt .ttl {
		font-size: 22px;
		margin-bottom: 30px;
	}
	.rec-slider {
		margin-top: 2vw;
		transform: translateY(50px);
	}
	/* .rec-02 .shadow {
		top: 120px;
	} */
	
	.appeal-list li {
		width: 100%;
	}
	.appeal-list li:nth-child(even) {
		padding-top: 0;
	}
	.appeal-list li .ttl {
		font-size: 18px;
	}
	.rec-03 {
		padding-top: 50px;
	}

	.ideal-list {
		padding-top: 60px;
	}	
	.ideal-list li .ttl {
		font-size: 18px;
		padding: 15px 0;
	}
	.ideal-list li .label::before {
		width: 24px;
	}
	.ideal-list li .label {
		padding-left: 35px;
		font-size: 17px;
	}

	.rec-04 {
		margin-top: 80px;
		margin-bottom: 90px;
	}
	.rec-05 {
		padding-bottom: 80px;
	}
	.rec5-txt {
		font-size: 11px;
	}
}


/* contact
--------------------------------------------- */
.contact-flex {
	max-width: 1200px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.contact-flex .side-area {
	width: 100px;
}
.contact-flex .main-area {
	width: calc(98% - 100px);
	max-width: 950px;
}
.contact-flex .main-area .lead {
	line-height: 2.2;
}
.side-flow li {
	position: relative;
	padding-bottom: 5px;
	text-align: center;
	margin-bottom: 90px;
	color: #214583;
	font-weight: 500;
}
.side-flow li.active {
	color: #F2593F;
}
.side-flow li.active::before {
	position: absolute;
	content: '';
	bottom: 0;
	left: 0;
	right: 0;
	width: 41px;
	height: 1px;
	margin: auto;
	background-color: #F2593F;
}
.side-flow li:not(:last-child):after {
	position: absolute;
	content: '';
	bottom: -70px;
	height: 60px;
	width: 1px;
	left: 0;
	right: 0;
	margin: auto;
	background-color: #214583;
}

span.hissu {
	color: #F2593F;
	font-weight: 500;
}
.table-wrap {
	margin-top: 45px;
	padding-top: 50px;
	padding-bottom: 50px;
	margin-bottom: 45px;
	border-top: solid 1px #89ACDE;
	border-bottom: solid 1px #89ACDE;
}
.form-table {
	width: 100%;
}
.form-table tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 30px;
}
.form-table tr:last-child {
	padding-bottom: 0;
}
.form-table tr.start {
	align-items: flex-start;
}
.form-table th {
	width: 240px;
	text-align: left;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.form-table td {
	width: calc(98% - 240px);
}
.form-table td input,
.form-table td textarea {
	font-family: 'Noto Sans JP', sans-serif;
	width: 100%;
	min-height: 50px;
	border: none;
	border-radius: 7px;
	background-color: #F2F4FB;
	font-size: 16px;
	padding: 10px;
}

.send-wrap {
	line-height: 1.8;
}
.privacy-link {
	color: #F2593F;
}
.check-contact {
	padding: 40px 0;
	text-align: center;
}
.send-box {
	position: relative;
	max-width: 280px;
	margin: auto;
	border-radius: 50px;
	z-index: 1;
	overflow: hidden;
}
.send-box::before {
	position: absolute;
	content: '';
	width: 100%;
	background: linear-gradient(to right, #214583, #0573FF);
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
	transition: 0.3s all;
}
.send-box:hover::before {
	right: -100%;
}
.send-box::after {
	position: absolute;
	content: '';
	width: 100%;
	background: linear-gradient(to right, #F28E3F, #F25B3F);
	left: -100%;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: -1;
	transition: 0.3s all;
}
.send-box:hover::after {
	left: 0;
}
.send-box .maru {
	content: '';
	/* position: absolute; */
	position: relative;
	-webkit-mask-image: url(../img/common/arrow.png);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: 0 0;
	-webkit-mask-size: auto 100%;
	mask-image: url(../img/common/arrow.png);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: auto;
	/* mask-position: 0 0; */
	/* mask-size: auto 100%; */
	background-color: white;
	width: 27px;
	height: 35px;
	/* height: 27px; */
	/* right: 20px; */
	right: 0;
	top: 0;
	bottom: 0;
	margin: auto;
	transition: 0.3s all;
}
.send-box .maru-wrap {
	position: relative;
	overflow: hidden;
	height: 35px;
}
.send-box:hover .maru {
	animation: fadeOut1 0.4s forwards;
}
.send-box:hover .maru.js-after {
	animation: fadeIn1 0.25s forwards;
}

.send-box button {
	cursor: pointer;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 280px;
	min-height: 60px;
	width: 100%;
	padding-left: 25px;
	padding-right: 25px;
	color: white;
	border-radius: 50px;
	border: 1px solid transparent;
	z-index: 1;
	background: none;
	font-size: 16px;
}
.send-box button .js-wrap {
	position: relative;
	height: 35px;
	line-height: 35px;
	overflow: hidden;
}

.flex-confirm {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	margin-top: 40px;
}
.flex-confirm .send-box {
	width: 100%;
	margin-left: 10px;
	margin-right: 10px;
	margin-bottom: 15px;
}

@media screen and (max-width: 768px) {
	.contact-flex .side-area,
	.contact-flex .main-area {
		width: 100%;
	}
	.side-flow {
		display: flex;
		width: 250px;
		margin: auto;
		justify-content: center;
	}
	.side-flow li {
		margin-bottom: 70px;
	}
	.side-flow li.active::before {
		left: -5px;
		right: -5px;
		width: auto;
	}
	.side-flow li:not(:last-child) {
		margin-right: 60px;
	}
	.side-flow li:not(:last-child):after {
		height: 1px;
		width: 30px;
		bottom: 0;
		top: 0;
		right: -90px;
		margin: auto;
	}

	.contact-flex .main-area .lead {
		line-height: 1.8;
	}
	.table-wrap {
		margin-top: 35px;
		padding-top: 40px;
		padding-bottom: 40px;
		margin-bottom: 35px;
	}
	.form-table th {
		width: 100%;
		justify-content: flex-start;
	}
	.form-table th span.hissu {
		margin-left: 25px;
	}
	.form-table td {
		width: 100%;
	}
}
@media screen and (max-width: 480px) {
	.send-box button {
		font-size: 14px;
	}
}

/* js-text
--------------------------------------------- */
.js-text span {
	display: inline-block;
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
	transition: 0.3s all;
	opacity: 1;
}
.js-text.js-after span {
	opacity: 0;
}

.js-hover:hover span {
	opacity: 0;
}
.js-hover:hover .js-after span {
	opacity: 1;
}

@keyframes fadeOut1 {
  0%   { opacity: 1; }
	50%  { transform: translateY(-10px); opacity: 0.2; }
  80%  { transform: translateY(-80px); opacity: 0; }
  100% { transform: translateY(-80px); opacity: 0; }
}
@keyframes fadeIn1 {
  0%   { opacity: 0; }
	50%  { transform: translateY(0); opacity: 0.8; }
  80%  { transform: translateY(-35px); opacity: 1; }
  100% { transform: translateY(-35px); opacity: 1; }
}
@keyframes fadeOut2 {
  0%   { opacity: 1; }
	56%  { transform: translateY(-10px); opacity: 0.2; }
  100% { transform: translateY(-80px); opacity: 0; }
}
@keyframes fadeIn2 {
  0%   { opacity: 0; }
	56%  { transform: translateY(0); opacity: 0.8; }
  100% { transform: translateY(-35px); opacity: 1; }
}
@keyframes fadeOut3 {
  0%   { opacity: 1; }
	33%  { transform: translateY(-10px); opacity: 0.2; }
  80%  { transform: translateY(-80px); opacity: 0; }
  100% { transform: translateY(-80px); opacity: 0; }
}
@keyframes fadeIn3 {
  0%   { opacity: 0; }
	33%  { transform: translateY(0); opacity: 0.8; }
  80%  { transform: translateY(-35px); opacity: 1; }
  100% { transform: translateY(-35px); opacity: 1; }
}
@keyframes fadeOut4 {
  0%   { opacity: 1; }
	70%  { transform: translateY(-10px); opacity: 0.2; }
  100% { transform: translateY(-80px); opacity: 0; }
}
@keyframes fadeIn4 {
  0%   { opacity: 0; }
	70%  { transform: translateY(0); opacity: 0.8; }
  100% { transform: translateY(-35px); opacity: 1; }
}
@keyframes fadeOut5 {
  0%   { opacity: 1; }
	20%  { transform: translateY(-10px); opacity: 0.2; }
  80%  { transform: translateY(-80px); opacity: 0; }
  100% { transform: translateY(-80px); opacity: 0; }
}
@keyframes fadeIn5 {
  0%   { opacity: 0; }
	20%  { transform: translateY(0); opacity: 0.8; }
  80%  { transform: translateY(-35px); opacity: 1; }
  100% { transform: translateY(-35px); opacity: 1; }
}

.js-hover:hover .js-text span:nth-child(10n + 1) { animation: fadeOut5 0.6s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 2) { animation: fadeOut1 0.4s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 3) { animation: fadeOut3 0.6s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 4) { animation: fadeOut4 0.4s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 5) { animation: fadeOut2 0.6s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 6) { animation: fadeOut5 0.4s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 7) { animation: fadeOut1 0.6s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 8) { animation: fadeOut3 0.4s forwards; }
.js-hover:hover .js-text span:nth-child(10n + 9) { animation: fadeOut4 0.6s forwards; }
.js-hover:hover .js-text span:nth-child(10n) { animation: fadeOut2 0.4s forwards; }

.js-hover:hover .js-text.js-after span:nth-child(10n + 1) { animation: fadeIn1 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 2) { animation: fadeIn2 0.225s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 3) { animation: fadeIn3 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 4) { animation: fadeIn4 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 5) { animation: fadeIn5 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 6) { animation: fadeIn4 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 7) { animation: fadeIn3 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 8) { animation: fadeIn1 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n + 9) { animation: fadeIn5 0.25s forwards; }
.js-hover:hover .js-text.js-after span:nth-child(10n) { animation: fadeIn2 0.25s forwards; }