@charset "utf-8";
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */	
.clearfix:after {content: "";display: block;clear: both;}
/* flex */	
.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
.flexA {justify-content: space-around;}
.flexB {justify-content: space-between;}
.flexC {justify-content: center;}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.content {
	margin: 0 auto;
	max-width: 1127px;
}
@media all and (max-width: 999px) {
	.content {
		padding: 0 30px;
		box-sizing: border-box;
	}
}
/* comBtn */
.comBtn a {
	padding: 17px 48px 15px;
	outline: none;
	transition: ease .2s;
	display: inline-block;
	color: #0D7EFA;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
	overflow: hidden;
	border: 1px solid #0D7EFA;
	border-radius: 30px;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-webkit-mask-image: -webkit-radial-gradient(white, black);
}
.comBtn a  span {
	position: relative;
	z-index: 3;
}
@media all and (min-width: 1000px) {
	.comBtn a:hover span{
		color:#fff;
	} 
	.comBtn a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background:#0D7EFA;
		width: 100%;
		height: 100%;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		border-radius: 30px;
	}
	.comBtn a:hover:before{
		transform-origin:left top;
		transform:scale(1, 1);
	}
}
@media all and (max-width: 999px) {
	.comBtn {
		margin: 0;
		text-align: center;
	}
	.comBtn a {
		padding: 13px 10px 10px;
		width: 298px;
		box-sizing: border-box;
	}
	.vtn .comBtn a {
		font-size: 1.2rem;
	}
}
@media all and (max-width: 399px) {
	.comBtn {
		margin: 0;
		text-align: center;
	}
	.comBtn a {
		padding: 13px 5px 10px;
		width: 260px;
		font-size: 1.3rem;
	}
}
/* comBtn02 */
.comBtn02 a {
	padding: 17px 49px 15px;
	outline: none;
	transition: ease .2s;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
	overflow: hidden;
	border: 1px solid #fff;
	border-radius: 30px;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-webkit-mask-image: -webkit-radial-gradient(white, black);
}
.comBtn02 a  span {
	position: relative;
	z-index: 3;
}
@media all and (min-width: 1000px) {
	.comBtn02 a:hover span{
		color:#0D7EFA;
	} 
	.comBtn02 a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background:#fff;
		width: 100%;
		height: 100%;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		border-radius: 30px;
	}
	.comBtn02 a:hover:before{
		transform-origin:left top;
		transform:scale(1, 1);
	}
}
@media all and (max-width: 999px) {
	.comBtn02 {
		text-align: center;
	}
	.comBtn02 a {
		padding: 12px 15px 12px;
		width: 298px;
		border: 1px solid #fff;
		border-radius: 30px;
		box-sizing: border-box;
	}
	.comBtn02 a  span {
		position: relative;
		z-index: 3;
	}
}
@media all and (max-width: 399px) {
	.comBtn02 a {
		padding: 12px 10px 12px;
		width: 244px;
	}
}
/* comBtn03 */
.comBtn03 a {
	padding: 17px 20px 15px;
	width: 318px;
	outline: none;
	transition: ease .2s;
	display: inline-block;
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	position: relative;
	overflow: hidden;
	border: 1px solid #0D7EFA;
	background-color: #0D7EFA;
	border-radius: 40px;
	box-sizing: border-box;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-webkit-mask-image: -webkit-radial-gradient(white, black);
}
.vtn .comBtn03 a {
    width: 412px;
}
.comBtn03 a  span {
	position: relative;
	z-index: 3;
}
@media all and (min-width: 1000px) {
	.comBtn03 a:hover span{
		color:#0D7EFA;
	} 
	.comBtn03 a::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background:#fff;
		width: 100%;
		height: 100%;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
		border-radius: 40px;
	}
	.comBtn03 a:hover:before{
		transform-origin:left top;
		transform:scale(1, 1);
	}
}
@media all and (max-width: 999px) {
	.comBtn03 a {
		padding: 13px 20px 9px;
		width: 298px;
		border-radius: 40px;
	}
	.vtn .comBtn03 a {
		width: 340px;
		font-size: 1.2rem;
	}
	.comBtn03 a  span {
		position: relative;
		z-index: 3;
	}
}
@media all and (max-width: 374px) {
	.comBtn03 a {
		width: 250px;
	}
	.vtn .comBtn03 a {
		width: 255px;
		font-size: 1rem;
	}
}
.business {
	margin-bottom: 15px;
	padding: 96px 0 39px;
	background: url("../../img/common/business_bg01.png") no-repeat center center / cover;
	overflow: hidden;
	border-bottom: 1px solid #002C6D;
}
.business01 {
	padding: 96px 0 29px;
}
.business .headLine01 {
	padding-left: 34px;
	color: #fff;
}
.business .headLine01::before {
	left: -3px;
	background-color: #fff;
}
.business .ttlBox {
	display: flex;
}
.business .rightBox {
	margin: 5px 0 54px 83px;
}
.business .ttlBox p {
	margin-bottom: 30px;
	color: #fff;
	letter-spacing: 0.05em;
}
.business .bannerList {
	padding: 2px;
	display: flex;
	background-color: #002C6D;
	box-sizing: border-box;
}
.business .bannerList li {
	width: calc((100% - 4px) / 3);
	position: relative;
}
.business .bannerList.list2 li {
	width: calc((100% - 4px) / 2);
	position: relative;
}
.bannerList li{
	height: 300px;
}
.bannerList li a{
	height: 300px;
	width: 100%;
}
.bannerList li a img{
	object-fit: cover;
	height: 300px;
	width: 100%;
}
.list2 li{
	height: 300px;
}
.list2 li a{
	height: 300px;
}
.list2 li a img {
	height: 300px;
	object-fit: cover;
	width: 100%;
}
.business .bannerList a {
	
	text-align: center;
}
.business .bannerList .btn {
	padding: 16px 10px 13px;
	width: 288px;
	display: block;
	font-size: 2.1rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	text-align: center;
	position: absolute;
	left: 50%;
	top: calc(50% - 3px);
	transform: translate(-50% , -50%);
	border-radius: 30px;
	background-color: rgba(255, 255, 255, 0.85);
	box-sizing: border-box;
	z-index: 10;
	outline: none;
	overflow: hidden;
	transition: ease .2s;
}
.business .bannerList a:hover .btn span {
	position: relative;
	z-index: 9;
}
@media all and (min-width: 1000px) {
	.business .headLine01 {
		font-size: 3rem;
	}
	.business .rightBox {
		margin-left: 130px;
		max-width: 500px;
	}
	.business .bannerList li:nth-child(2n) {
		margin: 0 2px;
	}
	.business01 .bannerList a {
		max-height: 232px;
		overflow: hidden;
	}
	.business .bannerList a::before {
		width: 100%;
		height: 100%;
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		background-color: #002C6D;
		opacity: 0;
		content: "";
		z-index: 8;
		transition: 0.6s;
		-webkit-transition: 0.6s;
	}
	.business .bannerList a:hover:before {
		opacity: 0.7;
	}
	.business .bannerList a .btn::before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		z-index: 2;
		background: #0D7EFA;
		width: 100%;
		height: 100%;
		transition: transform .6s cubic-bezier(0.8, 0, 0.2, 1) 0s;
		transform: scale(0, 1);
		transform-origin: right top;
	  }
	  .business .bannerList a:hover .btn::before{
		transform-origin:left top;
		transform:scale(1, 1);
	  }
}

@media all and (max-width: 999px) {
	.business {
		margin-bottom: 15px;
		padding: 45px 0 9px;
		background: url("../../img/common/sp_business_bg01.jpg") no-repeat top center / 100% 100%;
		overflow: hidden;
		border-bottom: 2px solid #002C6D;
	}
	.business .headLine01 {
		padding-left: 24px;
	}
	.headLine01 .en {
		margin: 4px 0 0 5px;
	}
	.business .ttlBox {
		display: block;
	}
	.business .rightBox {
		margin: 26px 0 32px 0;
	}
	.business .ttlBox p {
		margin-bottom: 25px;
		font-size: 1.4rem;
	}
	.business .bannerList {
		padding: 0px 0 4px;
		display: block;
	}
	.business .bannerList li {
		margin-bottom: 4px;
		width: auto;
		height: 261px;
		overflow: hidden;
	}
	.business .bannerList a {
		height: 261px;
		display: flex;
		justify-content: center;
	}
	.business .bannerList li:last-child {
		margin-bottom: 0;
	}
	.business .bannerList li img {
		width: auto;
		height: 100%;
		max-width: none;
	}
	.business .bannerList .btn {
		padding: 13px 10px 10px;
		width: 181px;
		top: calc(50% - 1px);
		font-size: 1.6rem;
	}
	.vtn .business .bannerList .btn {
		font-size: 1.2rem;
	}
	.business .bannerList.list2 li{
		width: auto;
		height: 261px;
		overflow: hidden;
	}
	.business .bannerList.list2 li a img {
		width: auto;
		height: 100%;
		max-width: none;
	}
}
@media all and (max-width: 999px) and (min-width: 781px) {
	.business .bannerList a {
		width: 100%;
		height: auto;
		display: flex;
		justify-content: center;
	}
}
@media all and (max-width: 399px) {
	.business .ttlBox p {
		font-size: 1.2rem;
	}
}
/* headLine01 */
.headLine01 {
	padding-left: 22px;
	position: relative;
	font-size: 3.6rem;
	letter-spacing: 0.05em;
}
.headLine01::before {
	width: 1000px;
	height: 2px;
	display: block;
	position: absolute;
	top: 17px;
	left: -13px;
	transform: translateX(-100%);
	background-color: #000;
	content: "";
}
.headLine01 .en {
	margin: 10px 0 0 5px;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	display: block;
}
@media all and (max-width: 999px) {
	.headLine01 {
		padding-left: 23px;
		position: relative;
		font-size: 2.4rem;
		letter-spacing: 0.05em;
	}
	.headLine01::before {
		top: 15px;
		left: -2px;
	}
	.headLine01 .en {
		margin: 5px 0 0 5px;
		font-size: 1.2rem;
	}
}
@media all and (max-width: 399px) {
	.headLine01 {
		font-size: 2.2rem;
	}
}
/* contact */
.contact {
	padding: 63px 25px 60px 0;
	background: url("../../img/common/contact_bg01.jpg") no-repeat center center / cover;
}
.contact h2 {
	margin-bottom: 34px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	text-align: center;
}
.contact h2 .en {
	margin-top: 1px;
	display: block;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
}
.contact .comBtn03 {
	text-align: center;
}
@media all and (max-width: 999px) {
	.contact {
		padding: 65px 0 83px;
	}
	.contact h2 {
		margin-bottom: 27px;
		font-size: 2.1rem;
		font-weight: bold;
		color: #fff;
		letter-spacing: 0.05em;
		text-align: center;
	}
	.contact h2 .en {
		margin-top: 7px;
		display: block;
		font-size: 1.2rem;
		font-weight: 400;
	}
	.contact .comBtn03 {
		text-align: center;
	}
}
/* pageTitle */
.pageTitle {
	margin-top: 110px;
    padding: 97px 7.5vw 79px;
	background: url("../../img/privacypolicy/main_img.jpg") no-repeat center center / cover;
	box-sizing: border-box;
}
.pageTitle h2 {
	color: #fff;
	font-size: 3.6rem;
	font-weight: bold;
	letter-spacing: 0.025em;
}
@media all and (max-width: 999px) {
	.pageTitle {
		margin-top: 60px;
		padding: 83px 7.5vw 61px;
		background-image: url("../../img/privacypolicy/sp_main_img.jpg");
	}
	.pageTitle h2 {
		font-size: 2.4rem;
	}
}
/* pagePath */
.pagePath {
	padding: 9px 7.5vw 4px;
	background-color: #D9D9D9;
}
.pagePath ul {
	display: flex;
}
.pagePath ul li,.pagePath ul a {
	color: #000;
	font-size: 1.4rem;
	letter-spacing: 0.05em;
}
.pagePath ul li,.pagePath ul a:hover {
	opacity: 0.7;
}
.pagePath ul li:nth-child(2n) {
	margin: 0 16px;
}
@media all and (max-width: 999px) {
	.pagePath {
		padding: 9px 2.7vw 4px;
	}
}
/* tableBox */
.tableBox {
	padding: 79px 137px 103px 115px;
	background-color: #fff;
}
.comTab {
	width: 100%;
	border-collapse: collapse;
	border-top: 1px solid #ACACAC;
}
.comTab th {
	padding: 20px 10px 16px;
	width: 198px;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.05em;
	text-align: center;
	vertical-align: middle;
	background-color: #F3F3F5;
	border-bottom: 1px solid #ACACAC;
	border-right: 1px solid #ACACAC;
	box-sizing: border-box;
}
.vtn .comTab th {
	padding: 20px 5px 16px;
	font-size: 1.5rem;
	letter-spacing: 0;
}
.comTab td {
	padding: 20px 0 16px 31px;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
	text-align: left;
	vertical-align: middle;
	border-bottom: 1px solid #ACACAC;
}
@media all and (max-width: 999px) {
	.tableBox {
		padding: 0;
	}
	.comTab {
		width: 100%;
		border-collapse: collapse;
		border-top: 1px solid #ACACAC;
	}
	.comTab th {
		padding: 21px 19px 5px;
		width: auto;
		color: #1662D3;
		font-size: 1.6rem;
		text-align: left;
		display: block;
		background-color: transparent;
		border-bottom: none;
		border-right: none;
		box-sizing: border-box;
	}
	.comTab td {
		padding: 0 19px 11px;
		font-size: 1.6rem;
		display: block;
		line-height: 1.9375;
		border-bottom: 1px solid #ACACAC;
	}
}