
:root{
	--main-color:#0096ff;
	--main-color-2:#baecff;
	--sub-color: #073190;
	--gray:#a8a8a8;
}

.font-Esa{
	font-family: 'EsaManru';
}

.dp-block {
	display:block;
}
.dp-none {
	display:none;
}

/* display flex */
.flex-wrap{flex-wrap: wrap;}
.flexBox{display: -webkit-box;display: -ms-flexbox;display: flex;width:100%;}
.flexBox.area02{-webkit-box-pack: justify; -ms-flex-pack: justify; justify-content: space-between;}
.flexBox.area02.ver_noList,
.flexBox.ver_noList{-webkit-box-lines: single;-ms-flex-wrap: nowrap;flex-wrap: nowrap;}
.flexBox.area02.ver_noList > *{width:auto;}
.flexBox.just-center{-webkit-box-pack: center;-ms-flex-pack: center;    justify-content: center;}
.flexBox.align-center{-webkit-box-align: center; -ms-flex-align: center; align-items: center;}
.flex-center{-webkit-box-align: center; -ms-flex-align: center; align-items: center;-webkit-box-pack: center;-ms-flex-pack: center;justify-content: center;}
.flex1{flex:1}
.inflex{display: inline-flex;}
.column{-webkit-box-orient: vertical;-ms-flex-direction: column;flex-direction: column;}

.ta-c{text-align: center;}
.ta-l{text-align: left;}
.ta-r{text-align: right;}

.position-r{position: relative;}

.pa-center {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
.of-hidden {
	overflow:hidden;
}
.fw-100 {
	font-weight:100;
}
.fw-200 {
	font-weight:200;
}
.fw-300 {
	font-weight:300;
}
.fw-400 {
	font-weight:400;
}
.fw-500 {
	font-weight:500;
}
.fw-600 {
	font-weight:600;
}
.fw-700 {
	font-weight:700;
}
.fw-800 {
	font-weight:800;
}
.tc {
	text-align:center;
}
.tl {
	text-align:left;
}
.tr {
	text-align:right;
}

.fs-i{font-style: italic;}

.fc-w {
	color:#fff
}

.fc-r{
	color: #e0360b;
}

.t-up{
	text-transform: uppercase;
}

.main-color{
	color: var(--main-color);
}


.sub-color{
	color: var(--sub-color);
}

.fc-gray{
	color: var(--gray);
}

.main-color-2{
	color: var(--main-color-2);
}

.bg-color-2{
	background-color: var(--main-color-2);
}

.bg-sub-color{
	background-color: var(--sub-color);
}

.dot-list li{
	position: relative;
	padding-left: 10px;
}

.dot-list li::before{
	display: block;
	content: "";
	width: 3px;
	height: 3px;
	border-radius: 3px;
	background-color: var(--sub-color);
	position: absolute;
	top:10px;
	left: 0;
}

.eng-lts{
    letter-spacing: 0.01em;
}

.fs-20{font-size: 20px;}
.fs-30{font-size: 30px;}
.fs-40{font-size: 40px;}
.fs-50{font-size: 50px;}

.fs-i{font-style: italic;}

.pd-0{padding: 0;}

.pt-10 {
	padding-top:10px;
}
.pt-20 {
	padding-top:20px;
}
.pt-30 {
	padding-top:30px;
}
.pt-40 {
	padding-top:40px;
}
.pt-50 {
	padding-top:50px;
}
.pt-100 {
	padding-top:100px;
}
.pl-10 {
	padding-left:10px;
}
.pl-20 {
	padding-left:20px;
}
.pl30 {
	padding-left:30px;
}
.pl-40 {
	padding-left:40px;
}
.pl-50 {
	padding-left:50px;
}
.pb-10 {
	padding-bottom:10px;
}
.pb-15 {
	padding-bottom:15px;
}
.pb-20 {
	padding-bottom:20px;
}
.pb-25 {
	padding-bottom:25px;
}
.pb-30 {
	padding-bottom:30px;
}
.pb-40 {
	padding-bottom:40px;
}
.pb-50 {
	padding-bottom:50px;
}

.pb-80 {
	padding-bottom:80px;
}

.pb-100 {
	padding-bottom:100px;
}
.pr-10 {
	padding-right:10px;
}
.pr-20 {
	padding-right:20px;
}
.pr-30 {
	padding-right:30px;
}
.pr-40 {
	padding-right:40px;
}
.pr-50 {
	padding-right:50px;
}

.mt-5 {
	margin-top:5px !important;
}

.mt-10 {
	margin-top:10px;
}
.mt-20 {
	margin-top:20px;
}
.mt-30 {
	margin-top:30px;
}
.mt-40 {
	margin-top:40px;
}
.mt-50 {
	margin-top:50px;
}
.mt-100 {
	margin-top:100px;
}
.mb-10 {
	margin-bottom:10px;
}
.mb-20 {
	margin-bottom:20px;
}
.mb-30 {
	margin-bottom:30px;
}
.mb-40 {
	margin-bottom:40px;
}
.mb-50 {
	margin-bottom:50px;
}
.mb-100 {
	margin-bottom:100px;
}
.ml-10 {
	margin-left:10px;
}
.ml-20 {
	margin-left:20px;
}
.ml-30 {
	margin-left:30px;
}
.ml-40 {
	margin-left:40px;
}
.ml-50 {
	margin-left:50px;
}
.mr-0 {
	margin-right:0px !important;
}
.mr-10 {
	margin-right:10px;
}
.mr-20 {
	margin-right:20px;
}
.mr-30 {
	margin-right:30px;
}
.mr-40 {
	margin-right:40px;
}
.mr-50 {
	margin-right:50px;
}

.m0auto{margin:0 auto;}

.br-n{
	border-right: 0 !important;
}

.wd-95{
	width: 95% !important;
}

.wd-100{
	width: 100% !important;
}

.bd-r-n{border-right: 0 !important;}
.bd-r{border-right:1px solid #f4f4f4;}

.btn {
    display: inline-flex;
	padding: 0 50px;
    height: 50px;
    overflow: hidden;
    text-align: center;
    justify-content: center;
    align-items: center;
	border-radius: 5px;
}

.clearfix::after{
	display: block;
	content: "";
	clear: both;
}

.bg-g{
	background: #fafafa;
}

.swiper-pagination-bullet{
	background-color: #fff;
}


.mtable-ntc{
    display: none;
    position: absolute;
    width: 100%;
    height: 100%;
}

.mtable-ntc img{
    margin: 0 auto;
}

.mtable-ntc > div{
    z-index: 9;
    position: absolute;
    width: 90%;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    padding: 30px 20px 20px 20px;
    background-color: #fff;
    box-shadow: 1px 1px 30px rgba(0 0 0 / 10%);
    border-radius: 20px;
}

.mtable-ntc > div::after{
    display: block;
    content: "";
    width: 15px;
    height: 15px;
    background: url("../images/common/close.png") center no-repeat;
    background-size: 15px;
    position: absolute;
    top: 20px;
    right: 20px;
}

.mtable-ntc img{
    animation:drg 3s ease-out infinite;
}

.mtable-ntc p{
    text-align: center;
    font-size: 14px;
    margin-top: 10px;
}

@keyframes drg {
    0%,100%{transform:translateX(0)}
    50%{transform:translateX(15px)}
}

.mtable-ntc.close{
    display: none;
}

.mtable-ntc .drg{
	width: 31px !important;
}

table{
    border-top: 1px solid #111;
    background: #fff;
}

table tr{
    border-bottom: 1px solid #eaeaea;
}

table th{
    font-weight: 600;
}

table th,
table td{
    text-align: center;
    padding: 15px;
}

table td{
	font-weight: 400;
}

.gap-line{
	position: relative;
}

.gap-line::after{
	display: block;
	content: "";
	width: 1px;
	height: 50%;
	background-color: rgba(255 255 255 / 30%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.pc-mode{
	display: block;
}

.m-mode{
	display: none;
}

@media screen and (max-width: 1140px){

	.m-scr-wrap{
		position: relative;
        width: 100%;
        overflow-x: scroll;
    }

	.mtable-ntc{
		display: block;
	}



}

@media screen and (max-width: 1024px){

	.pc-mode{
		display: none;
	}

	.m-mode{
		display: block;
	}

}

@media screen and (max-width: 640px){

	table th,
	table td {
		padding: 8px;
		font-size: 0.95rem;
	}
}

