@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.fixBtn {
	position: fixed;
	right: 0;
	bottom: 2rem;
	width: 39.5rem;
	z-index: 80;
}
.fixBtn .close {
	position: absolute;
	right: 1rem;
	top: -1.5rem;
	width: 2.5rem;
	cursor: pointer;
	transition: .3s;
}
.mainVisual {
	position: relative;
	height: 100svh;
}
.mainVisual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}
.mainVisual .title {
	position: absolute;
	left: 0;
	bottom: 9.6rem;
	width: 100%;
	padding-left: 3rem;
	color: #fff;
	text-align: center;
	font-size: 8rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 3.2rem;
	z-index: 10;
}
.mainVisual .title .en {
	margin: -0.3rem 0 0 -3rem;
	display: block;
	font-size: 3.6rem;
	font-weight: 400;
	letter-spacing: 0.72rem;
}
#main {
	background-color: #fff;
	overflow: hidden;
}
#main .topBox {
	padding: 6rem 0 12rem;
	margin-top: 10.7rem;
	text-align: center;
}
#main .topBox .topTxt {
	margin: 0 0 8rem 3.5rem;
}
#main .topBox .banner {
	margin-top: 14.5rem;
	margin-left: 2.6rem;
}
#main .mainPho {
	margin: -14.9rem 0 10rem auto;
	width: calc(50% + 57.6rem);
	height: 52.3rem;
}
#main .mainPho img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .headLine01.large {
	font-size: 2.1rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#main .headLine01.large .en {
	letter-spacing: 1rem;
}
.enTtl {
	position: absolute;
	right: 6.1rem;
	top: 0;
	color: #00A3F0;
	font-size: 3.6rem;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.72rem;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#main .news {
	padding: 11.5rem 0 12rem;
	background: #EFF3F7;
}
#main .news .content {
	max-width: 127rem;
}
#main .news .headLine01 {
	margin-bottom: 5.3rem;
}
#main .news .headLine01 .en {
	margin-right: 2.8rem;
	display: inline-block;
	vertical-align: 0.3rem;
}
#main .news .inner {
	margin: 0 3.9rem;
}
#main .newsList {
	margin-bottom: 10.5rem;
}
#main .newsList li {
	border-bottom: 1px solid #D3D3D3;
}

#main .newsList div.flex {
	padding: 4.5rem 0;
	display: flex;
	align-items: center;
}

/*
#main .newsList a {
	padding: 4.5rem 0;
	display: flex;
	align-items: center;
}
*/
#main .newsList .phoBox {
	width: 30rem;
	margin-right: 6.4rem;
	border-radius: 0.8rem;
	overflow: hidden;
}
#main .newsList .phoBox img {
	width: 100%;
}
#main .newsList .txtBox {
	flex: 1;
}
#main .newsList .txtBox .date {
	color: #00A0E9;
	font-weight: 500;
}
#main .newsList .txtBox .ttl {
	margin-bottom: 1.2rem;
	color: #000;
	font-size: 2rem;
	line-height: 1.8;
}
#main .newsList .txtBox .txt {
	color: #000;
	font-weight: 500;
	line-height: 1.6;
}
#main .news .subBox .ttlBox {
	position: relative;
	align-items: center;
}
#main .news .subBox .ttlBox:after {
	position: absolute;
	left: 25.2rem;
	top: 50%;
	width: calc(100% - 54rem);
	height: 1px;
	background-color: #D3D3D3;
	content: "";
}
#main .news .subBox .ttlBox .headLine01 {
	margin-bottom: 0;
	position: relative;
	font-size: 1.6rem;
}
#main .news .subBox .ttlBox .headLine01 .en {
	margin: 0 0 0.4rem;
	display: block;
	font-size: 3.6rem;
	letter-spacing: 0.36rem;
}
#main .news .subBox .ttlBox .coming_soon {
	margin-top: -1rem;
	color: #1D2088;
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: 0.15rem;
}
#main .about {
	margin-bottom: 15.6rem;
}
#main .about .bgBox {
	padding: 16.6rem 0 24.3rem;
	background-color: #0F1C80;
}
#main .about .bgBox .content {
	max-width: 138rem;
}
#main .about .headLine01 {
	margin-bottom: 7rem;
	color: #00A3F0;
}
#main .about .headLine01 .en {
	margin-right: 1.6rem;
	display: inline-block;
	vertical-align: 0.2rem;
}
#main .about .listBox {
	padding-right: 18.9rem;
	max-width: 138.4rem;
	position: relative;
}
#main .about .pointList li {
	display: flex;
	align-items: flex-start;
	padding: 0 3.2rem;
}
#main .about .pointList li:not(:last-child) {
	margin-bottom: 5.2rem;
	padding-bottom: 5.2rem;
	border-bottom: 1px solid #00002B;
}
#main .about .pointList .txtBox {
	margin-right: 9rem;
	flex: 1;
}
#main .about .pointList .txtBox .num {
	margin-bottom: 1.6rem;
	font-size: 14.4rem;
	line-height: 1;
}
#main .about .pointList .txtBox h3 {
	margin-bottom: 3rem;
	font-size: 3.4rem;
	line-height: 1.7;
	letter-spacing: 0.34rem;
}
#main .about .pointList .txtBox .txt {
	line-height: 2;
	font-weight: 500;
}
#main .about .pointList .phoBox {
	width: 53.4rem;
	border-radius: 0.8rem;
	overflow: hidden;
}
#main .about .pointList .phoBox img {
	width: 100%;
}
#main .bgSec {
	background-color: #00A3F0;
}
#main .bgSec .headLine01 {
	margin-bottom: 10.5rem;
	color: #fff;
	text-align: center;
}
#main .bgSec .headLine01 .en {
	margin-bottom: 0;
}
#main .service {
	padding: 13.8rem 0 17.5rem;
}
#main .service .comTxtBox {
	margin-bottom: 6.7rem;
	align-items: flex-start;
}
#main .service .comTxtBox .ttl {
	width: 55.6rem;
}
#main .service .comTxtBox .txtBox {
	margin: 2.2rem -0.5rem 0 5rem;
	width: 45rem;
}
#main .service .imgBox {
	justify-content: flex-end;
	align-items: center;
}
#main .service .imgBox .phoBox {
	width: calc(50% - 10.5rem);
}
#main .service .imgBox .phoBox img {
	width: 100%;
}
#main .service .imgList {
	margin: -1.4rem 4.7rem 0 0;
	width: 66.1rem;
}
#main .service .imgList li {
	display: flex;
	align-items: center;
}
#main .service .imgList li:not(:last-child) {
	margin-bottom: 3rem;
}
#main .service .imgList .pho {
	margin-right: 2.2rem;
	width: 14.4rem;
}
#main .service .imgList .pho img {
	width: 100%;
}
#main .service .imgList .txtBox {
	flex: 1;
	color: #fff;
}
#main .service .imgList .txtBox .ttl {
	margin-bottom: 0.6rem;
	font-size: 2.1rem;
	line-height: 1.8;
}
#main .service .imgList .txtBox .txt {
	font-weight: 500;
	line-height: 1.8;
}
#main .product {
	padding-bottom: 25rem;
	background: linear-gradient(360deg, #1D2088 89.5%, rgba(29, 32, 136, 0) 98.32%);
}
#main .product .mainPho {
	margin: 0 0 -6rem;
	position: relative;
	top: -6rem;
	width: calc(50% + 46rem);
	height: 45.2rem;
}
#main .product .content {
	max-width: 126rem;
	padding-top: 6.4rem;
}
#main .product .headLine01 {
	margin-bottom: 3.5rem;
	text-align: left;
}
#main .product .headLine01 .en {
	margin-bottom: -0.3rem;
}
#main .product .comTxtBox {
	margin-bottom: 11.2rem;
	justify-content: flex-end;
}
#main .product .comTxtBox .ttl {
	margin-right: -0.8rem;
	width: 60rem;
	font-size: 3.4rem;
	letter-spacing: 0.17rem;
}
#main .product .bgList {
	margin: -1rem -1.8rem 12.8rem 3.2rem;
}
#main .product .bgList > li {
	width: 55.3rem;
}
#main .product .bgList > li:first-child, #main .product .subList > li {
	margin-top: 1rem;
	padding: 2.5rem 4rem 4.2rem 6.8rem;
	position: relative;
	border-radius: 0.4rem;
	background: #E5F6FF;
}
#main .product .bgList .enTtl {
	right: auto;
	left: 1.2rem;
	top: 1.7rem;
	color: #0048AD;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.07rem;
}
#main .product .bgList .enTtl span {
	margin-left: 0.2rem;
	display: inline-block;
	font-weight: 700;
	font-family: "Zen Kaku Gothic New", sans-serif;
}
#main .product .bgList h3 {
	margin-bottom: 1rem;
	color: #352F2D;
	font-size: 3.6rem;
	line-height: 1.8;
	letter-spacing: 0.18rem;
}
#main .product .bgList li .txt {
	color: #352F2D;
	line-height: 1.8;
	font-weight: 500;
	letter-spacing: 0.08rem;
	font-family: "Noto Sans JP", sans-serif;
}
#main .product .bgList .txt:not(:last-child) {
	margin-bottom: 3rem;
}
#main .product .bgList > li:first-child {
	margin-right: 1.8rem;
	background: #fff;
	width: 58.4rem;
	padding: 4.5rem 6.5rem 5.6rem;
}
#main .product .bgList > li:first-child .enTtl {
	left: 0.8rem;
}
#main .product .bgList > li:first-child h3 {
	margin-bottom: 2rem;
}
#main .product .bgList .phoList {
	margin: 9.2rem -1.7rem 0 -0.4rem;
}
#main .product .bgList .phoList li {
	width: 21.5rem;
}
#main .product .bgList .phoList li:last-child {
	width: 22rem;
}
#main .product .bgList .phoList a {
	display: block;
	text-align: center;
}
#main .product .bgList .phoList .photo {
	display: flex;
	align-items: center;
	aspect-ratio: 120/78;
}
#main .product .bgList .phoList li:last-child .photo {
	margin-right: -0.3rem;
	aspect-ratio: 120/75;
}
#main .product .bgList .phoList li:last-child .photo img {
	margin-top: 1rem;
}
#main .product .bgList .phoList p {
	display: inline-block;
	padding-right: 1.2rem;
	color: #0048AD;
	line-height: 1.8;
	letter-spacing: 0.08rem;
	background: url(../img/common/icon04.png) no-repeat right 1.1rem/0.5rem auto;
}
#main .product .listBox {
	margin: 0 3.2rem 0 3.2rem;
	color: #fff;
}
#main .product .listBox h3 {
	margin-bottom: 3.8rem;
	font-size: 2.4rem;
}
#main .product .listBox .imgList {
	width: 48%;
}
#main .product .listBox .imgList > li {
	display: flex;
	align-items: flex-start;
}
#main .product .listBox .imgList > li:not(:last-child) {
	margin-bottom: 3rem;
}
#main .product .listBox .imgList .pho {
	margin-right: 2.2rem;
	width: 14.4rem;
}
#main .product .listBox .imgList .pho img {
	width: 100%;
}
#main .product .listBox .imgList .txtBox {
	flex: 1;
	border-bottom: 1px solid #fff;
}
#main .product .listBox .imgList .txtBox .ttl {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 6.3rem;
	font-size: 2.1rem;
	line-height: 1.8;
}
#main .product .listBox .imgList .txtBox .listSub {
	display: none;
}
#main .product .listBox .imgList .txtBox .txtList {
	margin: -1.4rem -2rem 1.5rem 0;
}
#main .product .listBox .imgList .txtBox .txtList li {
	margin: 1.4rem 2rem 0 0;
	font-family: "Noto Sans JP", sans-serif;
}
#main .product .listBox .imgList .txtBox .txtList .wid01 {
	width: 100% !important;
	margin-right: 0;
}
#main .product .listBox .imgList .txtBox .txtList .wid02 {
	width: 49%;
	margin-right: 0;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.8;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.mfp-container {
	padding: 0 0.8rem !important;
	position: fixed;
}
.mfp-container.mfp-iframe-holder {
	padding: 0 3rem !important;
}
.pupBox {
	margin: 0 auto;
	padding: 4rem 9.3rem 4rem 4.8rem;
	max-width: 100rem;
	max-height: calc(100svh - 4rem);
	overflow-y: auto;
	position: relative;
	border-radius: 0.8rem;
	background: #F7F9FB;
}
.pupBox .enTtl {
	right: 2.1rem;
	top: 4.5rem;
	font-size: 2.4rem;
	letter-spacing: 0.12rem;
}
.pupBox h2 {
	margin-bottom: 1.6rem;
	color: #352F2D;
	font-size: 3rem;
	line-height: 1.8;
	letter-spacing: 0.15rem;
}
.pupBox .txt {
	margin-bottom: 5rem;
	color: #352F2D;
	font-weight: 500;
	line-height: 1.8;
	letter-spacing: 0.08rem;
}
.pupBox .imgBox .phoBox {
	margin-right: 2.6rem;
	width: 21.5rem;
	text-align: center;
}
.pupBox .imgBox .phoBox img {
	width: 100%;
}
.pupBox .imgBox .phoBox p {
	margin: 0.4rem 0 1.8rem;
	color: #47565A;
	font-size: 1.2rem;
}
.pupBox .imgBox .txtBox {
	flex: 1;
}
.pupBox .imgBox .txtBox table {
	width: 100%;
	border-collapse: collapse;
}
.pupBox .imgBox .txtBox th,
.pupBox .imgBox .txtBox td {
	width: 25%;
	color: #47565A;
	font-size: 1.5rem;
	padding: 1.5rem 1rem;
	text-align: center;
	vertical-align: middle;
	border: 1.5px solid #BEBEBE;
	background: #FFF;
}
.pupBox .imgBox .txtBox th {
	background: linear-gradient(270deg, #B9E7FD 0%, #CBECFC 100%);
}
.pupBox .imgBox .txtBox th:nth-child(2) {
	background: linear-gradient(270deg, #A5E2FD 0%, #B8E7FD 100%);
}
.pupBox .imgBox .txtBox th:nth-child(3) {
	background: linear-gradient(270deg, #91DCFE 0%, #A4E1FD 100%);	
}
.pupBox .imgBox .txtBox th:nth-child(4) {
	background: linear-gradient(270deg, #7DD6FE 0%, #90DCFE 100%);	
}
.pupBox .imgBox .txtBox tr:nth-child(2n) td {
	background: #F8F8F8;
}
#pop02 .imgBox .txtBox th:nth-child(2) {
	background: linear-gradient(270deg, #92DCFE 0%, #B7E7FD 100%);
}
#pop02 .imgBox .txtBox th:nth-child(3) {
	background: linear-gradient(270deg, #7ED6FE 0%, #90DBFE 100%);
}
.btnMore {
	padding-top: 0.4rem;
}
.btnMore a {
	padding: 0.6rem;
	display: block;
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.32rem;
	text-align: center;
	font-family: "Young Serif", serif;
}
.btnMore a span {
	position: relative;
	display: inline-block;
	padding: 0 2.5rem;
}
.btnMore a .close {
	display: none;
}
.btnMore a.on .close {
	display: inline-block;
}
.btnMore a.on .more {
	display: none;
}
.btnMore a span:before, .btnMore a span:after {
	position: absolute;
	right: 0;
	top: 50%;
	width: 1.5rem;
	height: 1px;
	transition: .3s;
	background: #FFF;
	content: "";
}
.btnMore a span:after {
	transform: rotate(90deg);
}
.btnMore a.on span:after {
	transform: rotate(0);
}
#main .bgSec02 {
	background: #EFF3F7;
}
#main .company {
	padding-top: 10rem;
	position: relative;
	overflow: hidden;
}
#main .company .headLine01 {
	margin-bottom: 13.3rem;
	text-align: center;
	position: relative;
	z-index: 2;
}
#main .company .headLine01 .en {
	margin-bottom: 0;
}
#main .company .imgBox {
	margin: 0 -6.5rem 12.8rem 5.5rem;
	position: relative;
	z-index: 1;
}
#main .company .imgBox:after {
	position: absolute;
	right: -35.7rem;
	top: -35.7rem;
	width: 71.4rem;
	height: 71.4rem;
	border-radius: 50%;
	background: #FFF;
	mix-blend-mode: hard-light;
	filter: blur(20rem);
	content: "";
}
#main .company .imgBox .txtBox {
	margin-right: -2rem;
	flex: 1;
}
#main .company .imgBox .txtBox h3 {
	margin-bottom: 2.6rem;
	font-size: 3.4rem;
	line-height: 1.8;
	letter-spacing: 0.17rem;
}
#main .company .imgBox .txtBox p {
	margin-bottom: 2.3rem;
	line-height: 2;
	letter-spacing: 0.24rem;
}
#main .company .imgBox .txtBox .name {
	margin-bottom: 0;
	font-size: 1.8rem;
	letter-spacing: 0;
}
#main .company .imgBox .txtBox .name span {
	margin-left: 1.5rem;
	font-size: 2.4rem;
}
#main .company .imgBox .phoBox {
	margin-top: 1.7rem;
	width: 70rem;
	position: relative;
	z-index: 1;
}
#main .company .infoBox {
	padding: 0 6.3rem 8.5rem 5.6rem;
	position: relative;
	align-items: flex-start;
}
#main .company .infoBox .enTtl {
	right: auto;
	left: -4.8rem;
}
#main .company .infoBox .phoBox {
	width: 56rem;
	border-radius: 1rem;
	overflow: hidden;
}
#main .company .infoBox .phoBox img {
	width: 100%;
}
#main .company .infoBox .txtBox {
	margin-top: -2.7rem;
	width: 50rem;
}
#main .company .infoBox table {
	width: 100%;
	border-spacing: 0;
}
#main .company .infoBox th,
#main .company .infoBox td {
	padding: 3.1rem 0;
	text-align: left;
	vertical-align: top;
	color: #352F2D;
	border-bottom: 1px solid #727272;
}
#main .company .infoBox th {
	width: 24.8%;
}
#main .company .infoBox .trStyle th,
#main .company .infoBox .trStyle td {
	padding-bottom: 0;
	border-bottom: none;
}
#main .related .headLine01 {
	margin: 0 0 0 5.6rem;
	text-align: left;
	position: relative;
	z-index: 1;
}
#main .related .headLine01 .en {
	margin-bottom: 1.2rem;
	font-size: 8rem;
	letter-spacing: 0.8rem;
}
#main .related {
	margin-bottom: 17rem;
}
#main .related .infoBox {
	padding-bottom: 0 !important;
}
#main .related .infoBox .phoBox {
	margin-top: -24.3rem;
}
#main .related .infoBox .txtBox {
	margin-top: 8.4rem;
	width: 40rem;
}
#main .related .infoBox .txtBox h4 {
	margin-bottom: 2.5rem;
	color: #352F2D;
	font-size: 2.6rem;
	line-height: 1.5;
}
#main .related .infoBox .txtBox p {
	margin: 0 -2rem 6.5rem 0;
	color: #352F2D;
	font-weight: 500;
	line-height: 2;
}
#main .related .infoBox .txtBox th,
#main .related .infoBox .txtBox td {
	padding: 2.7rem 0 1.4rem;
}
#main .related .infoBox .txtBox th {
	width: 30.7%;
}
#main .company .mainPho {
	margin: 0 0 -20.5rem;
	width: calc(50% + 50.5rem);
	height: 50.4rem;
}
#main .company .bgWhite {
	padding: 28.7rem 8.5rem 6.2rem;
	background-color: #fff;
}
#main .company .bgWhite .comTxtBox {
	margin-bottom: 6rem;
	color: #352F2D;
	justify-content: flex-start;
	align-items: flex-start;
}
#main .company .bgWhite .comTxtBox .ttl {
	width: 56rem;
	text-indent: 0.8rem;
}
#main .company .bgWhite .comTxtBox .txtBox {
	margin: 4.2rem 0 0 6.9rem;
	width: 42.5rem;
}
#main .company .bgWhite .comTxtBox .txtBox p {
	line-height: 2;
	letter-spacing: 0.24rem;
}
#main .company .bgWhite .subBox h3 {
	margin: 0 0.3rem 6.3rem;
	color: #00A0E9;
	font-size: 2.4rem;
	font-family: "Noto Sans JP", sans-serif;
}
#main .company .bgWhite .itemList {
	margin-bottom: 4rem;
}
#main .company .bgWhite .itemList li {
	padding: 2rem;
	width: 49.1%;
	color: #000;
	font-size: 1.8rem;
	line-height: 1.5;
	border-radius: 1rem;
	background: #EDF5FC;
}
#main .company .bgWhite .banner {
	margin: -3rem -3rem 6rem -4.3rem;
}
#main .company .bgWhite .banner01 {
	margin-bottom: 2.9rem;
	padding-bottom: 7rem;
	position: relative;
}
#main .company .bgWhite .banner01:after {
	position: absolute;
	bottom: 0;
	left: 4.3rem;
	width: calc(100% - 7.6rem);
	height: 0;
	border-bottom: 1px solid #CFE3ED;
	content: "";
}
#main .company .bgWhite .banner li {
	margin: 3rem 1.65rem 0;
	width: 35rem;
	text-align: center;
	color: #000;
	font-size: 1.8rem;
}
#main .company .bgWhite .banner img {
	width: 23.1rem;
	margin: 0 auto;
}
#main .company .bgWhite .subBox:not(:last-child) {
	margin-bottom: 11rem;
}
#main .company .bgWhite .subBox02 h3 {
	margin-bottom: 0.7rem;
}
#main .company .bgWhite .infoList {
	height: 30.4rem;
	overflow: hidden;
}
#main .company .bgWhite .subBox02.open .infoList {
	height: auto;
	overflow: visible;
}
#main .company .bgWhite .infoList li {
	width: 50%;
	padding: 2.75rem 0;
	color: #352F2D;
	display: flex;
	align-items: center;
	border-bottom: 1px solid #CFE3ED;
}
#main .company .bgWhite .infoList li:nth-child(2n) {
	padding-left: 1.6rem;
}
#main .company .bgWhite .infoList .left {
	width: 32.5rem;
	margin-right: 2.8rem;
}
#main .company .bgWhite .infoList .right {
	flex: 1;
	white-space: nowrap;
}
#main .company .bgWhite .btnMore {
	position: absolute;
	padding-top: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 1;
}
#main .company .bgWhite .btnMore a {
	width: 38.7rem;
	margin: 0 auto;
	color: #00A0E9;
	border-bottom: 1px solid #00A0E9;
}
#main .company .bgWhite .btnMore a span:before,
#main .company .bgWhite .btnMore a span:after {
	background-color: #00A0E9;
}
#main .company .bgWhite .subBox02 {
	position: relative;
}
#main .company .bgWhite .subBox02:after {
	position: absolute;
	left: 0;
	bottom: -0.2rem;
	width: 100%;
	height: 24rem;
	background: linear-gradient(360deg, #FFF 38.11%, rgba(255, 255, 255, 0.00) 81.42%);
	content: "";
}
#main .company .bgWhite .subBox02.open:after {
	display: none;
}
#main .company .bgWhite .subBox02.open .btnMore {
	position: static;
	margin-top: 5.7rem;
}
#main .access {
	position: relative;
	overflow: hidden;
}
#main .access:after {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	margin-left: 47rem;
	bottom: -14rem;
	width: 73.1rem;
	height: 73.1rem;
	border-radius: 50%;
	background: #FFF;
	mix-blend-mode: hard-light;
	filter: blur(20rem);
	content: "";
}
#main .access .content {
	padding: 7.0rem 0 21rem;
	max-width: 122rem;
	position: relative;
	z-index: 1;
	background: url("../img/index/access_map.png") no-repeat right 1.6rem top 4.5rem / 77.9rem;
}
#main .access .mapList {
	max-width: 109.8rem;
	margin: -2.6rem auto 0;
}
#main .access .mapList li {
	margin-top: 2.6rem;
	padding-bottom: 2.9rem;
	width: 53.2rem;
	color: #222;
	border-bottom: 1px solid #CFE3ED;
}
#main .access .mapList li h3 {
	margin-bottom: 0.8rem;
	font-size: 1.8rem;
	font-weight: 700;
}
#main .access .mapList li .add {
	margin-bottom: 0.5rem;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.35;
	font-family: "Noto Sans JP", sans-serif;
}
#main .access .mapList li .add a {
	color: #222;
}
#main .access .mapList li .link a {
	padding-left: 1.5rem;
	display: inline-block;
	color: #1753AB;
	font-size: 1.2rem;
	font-weight: 500;
	background: url("../img/common/icon01.png") no-repeat left center / 1.1rem;
}
#main .access .mapList li .link a:hover {
	opacity: 0.7;
}
#main .recruit {
	padding: 10.4rem 0 13.2rem;
	background-color: #FFF;
}
#main .recruit .imgBox {
	margin: 0 6.3rem 0 2.4rem;
}
#main .recruit .imgBox .phoBox {
	width: 56rem;
	order: 1;
}
#main .recruit .imgBox .phoBox img {
	width: 100%;
	border-radius: 0.9rem;
}
#main .recruit .imgBox .txtBox {
	margin: 0.1rem 2rem 0 0;
	flex: 1;
}
#main .recruit .headLine01 {
	margin-bottom: 6.5rem;
}
#main .recruit .imgBox .subBox {
	margin-left: 4.7rem;
}
#main .recruit .imgBox .txtBox p {
	margin-bottom: 4rem;
	line-height: 2;
	letter-spacing: 0.24rem;
}
#main .recruit .imgBox .txtBox .mail {
	margin-bottom: 0.5rem;
}
#main .recruit .imgBox .txtBox .mail a {
	padding: 0.4rem 0 1rem 7.3rem;
	display: inline-block;
	line-height: 1;
	background: url("../img/common/icon02.png") no-repeat left top / 4rem;
}
#main .recruit .imgBox .txtBox .mail a:hover {
	opacity: 0.7;
}
#main .recruit .imgBox .txtBox .note {
	margin-bottom: 0;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0;
}
#main .contact {
	padding: 7.2rem 0 13.3rem;
	color: #FFF;
	background-color: #0F1C80;
}
#main .contact a {
	color: #FFF;
}
#main .contact .inner {
	margin: 0 0 0 2.3rem;
}
#main .contact .headLine01 {
	width: 62rem;
	color: #FFF;
	font-size: 2.4rem;
}
#main .contact .headLine01 .en {
	margin-bottom: 2rem;
}
#main .contact .txtBox {
	margin-top: 9.7rem;
	width: 50.3rem;
}
#main .contact .txtBox dt {
	padding-top: 0.5rem;
	float: left;
	clear: left;
}
#main .contact .txtBox dd {
	margin-bottom: 5.2rem;
	padding-left: 3.8em;
}
#main .contact .txtBox dd:last-child {
	margin-bottom: 0;
}
#main .contact .txtBox .textUl li {
	margin-bottom: 2.5rem;
	position: relative;
	padding-left: 2.4rem;
	min-height: 7.2rem;
	display: flex;
	align-items: center;
}
#main .contact .txtBox .textUl li:last-child {
	margin-bottom: 0;
}
#main .contact .txtBox .textUl li .sml {
	margin-bottom: 1rem;
	display: block;
	font-weight: 500;
}
#main .contact .txtBox .textUl li::before {
	position: absolute;
	left: 0;
	top: 0rem;
	bottom: 0;
	width: 1px;
	background-color: #00A0E9;
	content: "";
}
#main .contact .txtBox .textUl li img {
	width: auto;
	height: 2.1rem;
}
#main .contact .txtBox .textUl li a:hover {
	opacity: 0.7;
}
#main .contact .txtBox .textUl .tel a {
	margin-bottom: 0.7rem;
	display: block;
	font-size: 4rem;
	line-height: 1;
}
#main .contact .txtBox .textUl .tel .sml {
	margin: 0 0.3rem;
}
@media all and (max-width: 1400px) {
	.mainVisual .title {
		padding-left: 0;
		letter-spacing: 2.3rem;
	}
	.mainVisual .title .en {
		margin-left: 0;
	}
	#main .about .pointList .txtBox {
		margin-right: 6rem;
	}
	#main .company .imgBox {
		margin-right: -1.5rem;
	}
	#main .company .infoBox .enTtl {
		left: -2rem;
	}
	#main .company .bgWhite {
		padding-left: 7rem;
		padding-right: 7rem;
	}
}
@media all and (min-width: 897px) {
	.mainVisual {
		clip-path: inset(0);
	}
	.mainVisual .mainImg {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
	}
	.mainVisual .title {
		position: fixed;
	}
	.fixBtn .close:hover {
		opacity: 0.7;
	}
	#pop02 {
		padding: 5rem 9.3rem 5rem 4.8rem;
	}
	#pop02 .enTtl {
		right: 1.3rem;
   		top: 3.2rem;
	}
	#pop02 .imgBox .phoBox {
		margin: 0 3rem 0 -0.2rem;
	}
}
@media all and (max-width: 896px) {
	.fixBtn {
		right: 2.7rem;
		bottom: 1rem;
		width: 30.6rem;
	}
	.fixBtn .close {
		right: -0.2rem;
		top: -0.8rem;
		width: 2rem;
	}
	.mainVisual {
		height: auto;
	}
	.mainVisual .title {
		bottom: 5rem;
		padding-left: 1.5rem;
		font-size: 3.6rem;
		line-height: 1.25;
		letter-spacing: 1.44rem;
	}
	.mainVisual .title .en {
		margin: 1.7rem 0 0 -1.3rem;
		font-size: 1.6rem;
		letter-spacing: 0.32rem;
	}
	#main .topBox {
		margin-top: 0;
		padding: 8rem 2.4rem 15rem;
	}
	#main .topBox .topTxt {
		margin: 0 0 6rem;
	}
	#main .topBox .logo img {
		width: 26rem;
	}
	#main .topBox .banner {
		margin-left: 0;
		margin-top: 5.9rem;
	}
	#main .mainPho {
		margin: -10.3rem 0 3rem auto;
		width: calc(100% - 2.4rem) !important;
		height: auto !important;
		aspect-ratio: 702/336;
	}
	#main .headLine01.large {
		font-size: 1.6rem;
	}
	#main .headLine01.large .en {
		letter-spacing: 0.45rem;
	}
	.enTtl {
		right: -0.6rem;
		font-size: 2.4rem;
		line-height: 1.8;
		letter-spacing: 0.48rem;
	}
	#main .news {
		padding: 6rem 0;
	}
	#main .news .headLine01 {
		margin-bottom: 3rem;
	}
	#main .news .headLine01 .en {
		margin-right: 2rem;
	}
	#main .news .inner {
		margin: 0;
	}
	#main .newsList {
		margin-bottom: 5rem;
	}
	#main .newsList a {
		padding: 2rem 0;
		display: block;
	}
	#main .newsList .phoBox {
		width: auto;
		margin: 0 0 2rem;
	}
	#main .newsList .txtBox .ttl {
		font-size: 1.8rem;
	}
	#main .news .subBox .ttlBox {
		display: block;
	}
	#main .news .subBox .ttlBox:after {
		display: none;
	}
	#main .news .subBox .ttlBox .headLine01 {
		margin-bottom: 3rem;
		font-size: 1.4rem;
	}
	#main .news .subBox .ttlBox .headLine01 .en {
		font-size: 3rem;
	}
	#main .news .subBox .ttlBox .coming_soon {
		margin-top: 0;
		font-size: 2rem;
	}
	#main .about {
		margin-bottom: 15rem;
	}
	#main .about .bgBox {
		padding: 6.6rem 0 16.2rem;
	}
	#main .about .bgBox .content {
		padding: 0 2.4rem;
	}
	#main .about .headLine01 {
		margin-bottom: 4.3rem;
	}
	#main .about .headLine01 .en {
		display: block;
		margin: 0 0 1.3rem;
	}
	#main .about .listBox {
		padding: 7rem 2.4rem 0;
	}
	#main .about .pointList li {
		display: block;
		padding: 0;
	}
	#main .about .pointList li:not(:last-child) {
		margin-bottom: 6rem;
		padding-bottom: 6rem;
	}
	#main .about .pointList .txtBox {
		margin: 0 0 4.5rem;
	}
	#main .about .pointList .txtBox .num {
		margin-bottom: 2.3rem;
		font-size: 10rem;
	}
	#main .about .pointList .txtBox h3 {
		margin-bottom: 2.3rem;
		font-size: 2.8rem;
		letter-spacing: 0.28rem;
	}
	#main .about .pointList .phoBox {
		width: auto;
	}
	#main .bgSec .headLine01 {
		margin-bottom: 4.3rem;
	}
	#main .bgSec .headLine01 .en {
		margin-bottom: 1.4rem;
	}
	#main .service {
		padding: 8.8rem 0 11.5rem;
	}
	#main .service .comTxtBox {
		margin-bottom: 11.2rem;
	}
	#main .service .comTxtBox .txtBox {
		margin: 2.8rem 0 0;
	}
	#main .service .imgBox {
		display: block;
	}
	#main .service .imgBox .phoBox {
		width: auto;
	}
	#main .service .imgList {
		margin: 0 2.4rem 5.7rem;
		width: auto;
	}
	#main .service .imgList li {
		align-items: flex-start;
	}
	#main .service .imgList li:not(:last-child) {
		margin-bottom: 2.9rem;
	}
	#main .service .imgList .pho {
		margin-right: 2.2rem;
		width: 10rem;
	}
	#main .service .imgList .txtBox .ttl {
		margin-bottom: 1.2rem;
		font-size: 2rem;
		line-height: 1;
	}
	#main .product {
		padding-bottom: 13.2rem;
		background: linear-gradient(360deg, #1D2088 96%, rgba(29, 32, 136, 0) 100%);
	}
	#main .product .mainPho {
		margin: 0 0 -2rem;
		top: -3.7rem;
	}
	#main .product .content {
		padding-top: 4.3rem;
	}
	#main .product .headLine01 {
		margin-bottom: 4.2rem;
	}
	#main .product .headLine01 .en {
		margin-bottom: 1.3rem;
	}
	#main .product .comTxtBox {
		margin-bottom: 5.6rem;
	}
	#main .product .comTxtBox .ttl {
		margin-right: 0;
		font-size: 3.2rem;
		letter-spacing: 0.16rem;
	}
	#main .product .bgList {
		margin: -1rem 0 9rem;
		display: block;
	}
	#main .product .bgList > li {
		width: auto;
	}
	#main .product .bgList > li:first-child, #main .product .subList > li {
		padding: 1.5rem 3rem 1.8rem 4rem;
		border-radius: 0.24rem;
	}
	#main .product .bgList .enTtl {
		left: 0.3rem;
		top: 0.9rem;
		font-size: 1rem;
		letter-spacing: 0.05rem;
	}
	#main .product .bgList h3 {
		margin: 0 -1rem 0.3rem 0;
		font-size: 2.3rem;
		letter-spacing: 0.11rem;
	}
	#main .product .bgList li .txt {
		letter-spacing: 0.07rem;
	}
	#main .product .bgList .txt:not(:last-child) {
		margin-bottom: 2.3rem;
	}
	#main .product .bgList > li:first-child {
		margin: 0 0 1rem;
		width: auto;
		padding: 2.6rem 3.6rem 3.3rem;
	}
	#main .product .bgList > li:first-child .enTtl {
		left: 0;
	}
	#main .product .bgList > li:first-child h3 {
		margin: 0 0 0.6rem;
	}
	#main .product .bgList .phoList {
		margin: 3.6rem -1rem 0 -0.2rem;
	}
	#main .product .bgList .phoList li {
		width: 45%;
	}
	#main .product .bgList .phoList li:last-child {
		width: 46.3%;
	}
	#main .product .bgList .phoList li:last-child .photo {
		margin-right: -0.1rem;
	}
	#main .product .bgList .phoList li:last-child .photo img {
		margin-top: 0.5rem;
	}
	#main .product .bgList .phoList p {
		margin-top: 0.8rem;
		padding-right: 0;
		line-height: 1.45;
		letter-spacing: 0.07rem;
		text-align: left;
		background: none;
	}
	#main .product .bgList .phoList p:after {
		margin-left: 0.6rem;
		content: "";
		display: inline-block;
		width: 0.6rem;
		height: 1rem;
		background: url(../img/common/icon04.png) no-repeat left top/100% auto;
	}
	#main .product .listBox {
		margin: 0;
	}
	#main .product .listBox h3 {
		margin-bottom: 3.8rem;
		font-size: 1.6rem;
	}
	#main .product .listBox .subBox {
		display: block;
	}
	#main .product .listBox .imgList {
		width: auto;
	}
	#main .product .listBox .imgList:not(:last-child) {
		margin-bottom: 3.2rem;
	}
	#main .product .listBox .imgList > li:not(:last-child) {
		margin-bottom: 3.2rem;
	}
	#main .product .listBox .imgList .pho {
		width: 10rem;
	}
	#main .product .listBox .imgList .txtBox .ttl {
		margin-bottom: 0.8rem;
		height: auto;
		display: block;
		line-height: 1;
		text-align: center;
	}
	#main .product .listBox .imgList .txtBox .ttl01 {
		font-size: 1.8rem;
		line-height: 1.35;
	}
	#main .product .listBox .imgList .txtBox .txtList {
		margin: 0 0 1.6rem;
		padding-top: 0.6rem;
		display: block;
	}
	#main .product .listBox .imgList .txtBox .txtList li {
		margin: 0 0 1.2rem;
		width: auto !important;
	}
	.pupBox {
		padding: 4rem 7rem 4rem 2.6rem;
		width: auto;
	}
	.pupBox .enTtl {
		right: 0.9rem;
		top: 4.2rem;
		font-size: 2rem;
		letter-spacing: 0.1rem;
	}
	.pupBox h2 {
		margin: 0 -1rem 1.3rem 0;
		font-size: 2.3rem;
	}
	.pupBox .txt {
		margin-bottom: 2.8rem;
		font-size: 1.6rem;
	}
	.pupBox .imgBox {
		margin-right: -3.1rem;
		display: block;
	}
	.pupBox .imgBox .phoBox {
		margin: 0 0 3.1rem 2rem;
	}
	.pupBox .imgBox .phoBox p {
		margin: 0 0 2.1rem;
	}
	.pupBox .imgBox .txtBox th,
	.pupBox .imgBox .txtBox td {
		width: 25%;
		font-size: 0.85rem;
		padding: 0.6rem 0.2rem;
	}
	#pop02 .txt {
		margin-bottom: 3.8rem;
	}
	#pop02 .imgBox .phoBox {
		margin-bottom: 4.2rem;
	}
	.btnMore {
		padding-top: 0;
	}
	.btnMore a {
		padding: 0.9rem;
		letter-spacing: 0.28rem;
	}
	.btnMore a span {
		padding-left: 0;
	}
	#main .company {
		padding-top: 8rem;
	}
	#main .company .headLine01 {
		margin-bottom: 4.2rem;
	}
	#main .company .headLine01 .en {
		margin-bottom: 1.3rem;
	}
	#main .company .imgBox {
		margin: 0 0 12.5rem;
		display: block;
	}
	#main .company .imgBox:after {
		display: none;
	}
	#main .company .imgBox .txtBox {
		margin: 0;
		flex: 1;
	}
	#main .company .imgBox .txtBox h3 {
		margin-bottom: 3rem;
		font-size: 3.2rem;
		letter-spacing: 0.16rem;
	}
	#main .company .imgBox .txtBox p {
		margin-bottom: 2.2rem;
		font-size: 1.6rem;
	}
	#main .company .imgBox .phoBox {
		margin: 4.5rem -2.2rem 0 auto;
		text-align: right;
		width: auto;
	}
	#main .company .imgBox .phoBox img {
		width: 30.7rem;
	}
	#main .company .infoBox {
		padding: 0 0 12rem;
	}
	#main .company .infoBox .enTtl {
		left: -2.4rem;
		top: -26rem;
	}
	#main .company .infoBox .phoBox {
		width: 100%;
		order: 0;
	}
	#main .company .infoBox .txtBox {
		margin-top: 2.1rem;
		width: 100%;
		order: 1;
	}
	#main .company .infoBox th,
	#main .company .infoBox td {
		padding: 2.35rem 0;
		font-size: 1.6rem;
	}
	#main .company .infoBox th {
		width: 38%;
	}
	#main .related .headLine01 {
		margin: 0 0 7.5rem;
	}
	#main .related .headLine01 .en {
		margin-bottom: 1.4rem;
		font-size: 4.5rem;
		letter-spacing: 0.45rem;
	}
	#main .related {
		margin-bottom: 10.9rem;
	}
	#main .related .infoBox .phoBox {
		margin-top: 0;
	}
	#main .related .infoBox .txtBox {
		margin-top: 8rem;
		width: 100%;
	}
	#main .related .infoBox .txtBox p {
		margin: 0 0 2.4rem;
	}
	#main .related .infoBox .txtBox th,
	#main .related .infoBox .txtBox td {
		padding: 2.35rem 0;
	}
	#main .related .infoBox .txtBox th {
		width: 38%;
	}
	#main .company .mainPho {
		margin: 0 0 -10rem;
	}
	#main .company .bgWhite {
		margin: 0 -1.4rem;
		padding: 18rem 1.4rem 9rem;
	}
	#main .company .bgWhite .comTxtBox {
		margin-bottom: 7rem;
	}
	#main .company .bgWhite .comTxtBox .ttl {
		text-indent: 0.4rem;
	}
	#main .company .bgWhite .comTxtBox .txtBox {
		margin: 2.9rem 0 0;
	}
	#main .company .bgWhite .comTxtBox .txtBox p {
		font-size: 1.6rem;
	}
	#main .company .bgWhite .subBox h3 {
		margin: 0 0 4.2rem;
	}
	#main .company .bgWhite .itemList {
		margin-bottom: 4.8rem;
		display: block;
	}
	#main .company .bgWhite .itemList li {
		padding: 2rem 1rem 1.5rem;
		width: auto;
		font-size: 1.6rem;
	}
	#main .company .bgWhite .itemList li:not(:last-child) {
		margin-bottom: 2rem;
	}
	#main .company .bgWhite .banner {
		margin: -3rem -1.3rem 6.3rem;
		justify-content: space-between;
	}
	#main .company .bgWhite .banner01 {
		margin-bottom: 5.3rem;
		padding-bottom: 6rem;
	}
	#main .company .bgWhite .banner01:after {
		left: 1.2rem;
		width: calc(100% - 2.4rem);
	}
	#main .company .bgWhite .banner li {
		margin: 3rem 0 0;
		width: 50%;
		font-size: 1.4rem;
	}
	#main .company .bgWhite .banner img {
		width: auto;
	}
	#main .company .bgWhite .banner p {
		margin: 0 1.5rem;
	}
	#main .company .bgWhite .subBox:not(:last-child) {
		margin-bottom: 9.2rem;
	}
	#main .company .bgWhite .itemList02 li {
		font-size: 1.8rem;
		padding-bottom: 2rem;
	}
	#main .company .bgWhite .subBox02 h3 {
		margin-bottom: 1.4rem;
	}
	#main .company .bgWhite .infoList {
		height: 23.7rem;
		display: block;
	}
	#main .company .bgWhite .infoList li {
		width: auto;
		padding: 1.2rem 0;
		font-size: 1.6rem;
		justify-content: space-between;
		border-bottom: none;
	}
	#main .company .bgWhite .infoList li:nth-child(2n) {
		padding-left: 0;
	}
	#main .company .bgWhite .infoList .left {
		width: auto;
		margin-right: 2rem;
	}
	#main .company .bgWhite .infoList .right {
		text-align: right;
	}
	#main .company .bgWhite .btnMore a {
		width: 20.5rem;
	}
	#main .company .bgWhite .subBox02:after {
		height: 26.1rem;
		bottom: -5rem;
	}
	#main .access:after {
		display: none;
	}
	#main .access .content {
		padding: 6rem 0 20.3rem 2.4rem;
		background: url("../img/index/access_map.png") no-repeat left 4.1rem bottom 4.1rem / 93%;
	}
	#main .access .mapList {
		display: block;
		margin: 0;
	}
	#main .access .mapList li {
		margin: 0 0 2rem;
		padding: 0 2.5rem 2rem 0;
		width: auto;
	}
	#main .access .mapList li:last-child {
		margin-bottom: 0;
	}
	#main .access .mapList li h3 {
		margin-bottom: 0.7rem;
	}
	#main .access .mapList li .add {
		margin-bottom: 0.8rem;
	}
	#main .recruit {
		padding: 7.5rem 0 7.4rem;
	}
	#main .recruit .content {
		padding: 0 2rem;
	}
	#main .recruit .imgBox {
		margin: 0;
		display: block;
	}
	#main .recruit .imgBox .phoBox {
		margin: 0 0.4rem 2.9rem;
		width: auto;
	}
	#main .recruit .imgBox .txtBox {
		margin: 0;
		width: auto;
	}
	#main .recruit .headLine01 {
		margin: 0 1.8rem 7.6rem;
	}
	#main .recruit .imgBox .subBox {
		margin-left: 0.4rem;
	}
	#main .recruit .imgBox .txtBox p {
		margin-bottom: 3.8rem;
		font-size: 1.6rem;
	}
	#main .recruit .imgBox .txtBox .mail {
		margin-bottom: 0.6rem;
	}
	#main .recruit .imgBox .txtBox .mail a {
		padding: 0.4rem 0 1.2rem 4.9rem;
		background-size: 3.3rem;
	}
	#main .recruit .imgBox .txtBox .mail img {
		max-width: 26.2rem;
	}
	#main .contact {
		padding: 9.6rem 0 9.2rem;
	}
	#main .contact .inner {
		margin: 0;
		display: block;
	}
	#main .contact .headLine01 {
		margin: 0 0 4.4rem;
		width: auto;
		font-size: 1.6rem;
	}
	#main .contact .headLine01 .en {
		margin-bottom: 1.3rem;
	}
	#main .contact .txtBox {
		margin: 0;
		width: auto;
	}
	#main .contact .txtBox dt {
		padding-top: 0.2rem;
	}
	#main .contact .txtBox dt:nth-of-type(2) {
		padding-top: 1.5rem;
	}
	#main .contact .txtBox dt img {
		width: 3.0rem;
	}
	#main .contact .txtBox dd {
		margin-bottom: 2.4rem;
		padding-left: 3.8em;
	}
	#main .contact .txtBox .textUl li {
		margin-bottom: 1rem;
		padding-left: 2.3rem;
		min-height: 5rem;
	}
	#main .contact .txtBox .textUl .sub {
		margin-right: -2rem;
	}
	#main .contact .txtBox .textUl li .sml {
		margin-bottom: 0.6rem;
	}
	#main .contact .txtBox .textUl li img {
		height: 1.7rem;
	}
	#main .contact .txtBox .textUl .tel a {
		margin-bottom: 1.2rem;
		font-size: 3.6rem;
		font-weight: 500;
	}
	#main .contact .txtBox .textUl .tel .sml {
		margin-left: 0rem;
	}
	.mfp-iframe-holder .mfp-content {
		max-height: calc(100svh - 5rem);
	}
}