@charset "utf-8";

/*=======================================================*/
/* Utility - /cmn/ */
/*=======================================================*/

/*--------------------------------------------------*/
/* clearfix */
/*--------------------------------------------------*/

.clearfix:after {
	clear: both;
	content: "";
	display: block;
}

/*--------------------------------------------------*/
/* align */
/*--------------------------------------------------*/

.align-right {
	text-align: right !important;
}

.align-center {
	text-align: center !important;
}

.align-left {
	text-align: left !important;
}

/*--------------------------------------------------*/
/* font-size */
/*--------------------------------------------------*/

.fs11 {
	font-size: 85%;
	line-height: 18px;
}

.fs12 {
	font-size: 93%;
	line-height: 21px;
}

.fs13-a, .fs13-b {
	font-size: 100%;
	line-height: 22px;
}

.fs13-c {
	font-size: 100%;
	line-height: 20px;
}

.fs14 {
	font-size: 108%;
	line-height: 24px;
}

/*--------------------------------------------------*/
/* img-hover */
/*--------------------------------------------------*/

.img-hover {
	display: inline-block;
}

.img-hover.pie {
	border-radius: 5px;
}

.img-hover:hover {
	background-color: #000;
}

.img-hover:hover img {
	opacity: 0.85 !important;
}

/*--------------------------------------------------*/
/* margin */
/*--------------------------------------------------*/

.mt0   { margin-top: 0 !important; }
.mt5   { margin-top: 5px !important; }
.mt10  { margin-top: 10px !important; }
.mt15  { margin-top: 15px !important; }
.mt16  { margin-top: 16px !important; }
.mt20  { margin-top: 20px !important; }
.mt24  { margin-top: 24px !important; }
.mt25  { margin-top: 25px !important; }
.mt30  { margin-top: 30px !important; }
.mt35  { margin-top: 35px !important; }
.mt40  { margin-top: 40px !important; }
.mt45  { margin-top: 45px !important; }
.mt50  { margin-top: 50px !important; }
.mt55  { margin-top: 55px !important; }
.mt60  { margin-top: 60px !important; }
.mt65  { margin-top: 65px !important; }
.mt70  { margin-top: 70px !important; }
.mt75  { margin-top: 75px !important; }
.mt80  { margin-top: 80px !important; }
.mt85  { margin-top: 85px !important; }
.mt90  { margin-top: 90px !important; }
.mt95  { margin-top: 95px !important; }
.mt100 { margin-top: 100px !important; }

.mb0   { margin-bottom: 0 !important; }
.mb5   { margin-bottom: 5px !important; }
.mb10  { margin-bottom: 10px !important; }
.mb12  { margin-bottom: 12px !important; }
.mb15  { margin-bottom: 15px !important; }
.mb16  { margin-bottom: 16px !important; }
.mb20  { margin-bottom: 20px !important; }
.mb24  { margin-bottom: 24px !important; }
.mb25  { margin-bottom: 25px !important; }
.mb30  { margin-bottom: 30px !important; }
.mb35  { margin-bottom: 35px !important; }
.mb40  { margin-bottom: 40px !important; }
.mb45  { margin-bottom: 45px !important; }
.mb50  { margin-bottom: 50px !important; }
.mb55  { margin-bottom: 55px !important; }
.mb60  { margin-bottom: 60px !important; }
.mb70  { margin-bottom: 70px !important; }
.mb80  { margin-bottom: 80px !important; }
.mb90  { margin-bottom: 90px !important; }
.mb100 { margin-bottom: 100px !important; }

.mr0   { margin-right: 0 !important; }
.mr10  { margin-right: 10px !important; }
.mr12  { margin-right: 12px !important; }
.mr16  { margin-right: 16px !important; }
.mr24  { margin-right: 24px !important; }

.ml0   { margin-left: 0 !important; }
.ml10  { margin-left: 10px !important; }
.ml12  { margin-left: 12px !important; }
.ml14  { margin-left: 14px !important; }
.ml16  { margin-left: 16px !important; }
.ml20  { margin-left: 20px !important; }
.ml24  { margin-left: 24px !important; }
.ml30  { margin-left: 30px !important; }
.ml50  { margin-left: 50px !important; }
.ml80  { margin-left: 80px !important; }
.ml100 { margin-left: 100px !important; }

/*--------------------------------------------------*/
/* padding */
/*--------------------------------------------------*/

.pt0   { padding-top: 0 !important; }
.pt5   { padding-top: 5px !important; }
.pt10  { padding-top: 10px !important; }
.pt15  { padding-top: 15px !important; }
.pt16  { padding-top: 16px !important; }
.pt20  { padding-top: 20px !important; }
.pt24  { padding-top: 24px !important; }
.pt25  { padding-top: 25px !important; }
.pt30  { padding-top: 30px !important; }
.pt35  { padding-top: 35px !important; }
.pt40  { padding-top: 40px !important; }
.pt45  { padding-top: 45px !important; }
.pt50  { padding-top: 50px !important; }
.pt55  { padding-top: 55px !important; }
.pt60  { padding-top: 60px !important; }
.pt65  { padding-top: 65px !important; }
.pt70  { padding-top: 70px !important; }
.pt75  { padding-top: 75px !important; }
.pt80  { padding-top: 80px !important; }
.pt85  { padding-top: 85px !important; }
.pt90  { padding-top: 90px !important; }
.pt95  { padding-top: 95px !important; }
.pt100 { padding-top: 100px !important; }

.pb0   { padding-bottom: 0 !important; }
.pb5   { padding-bottom: 5px !important; }
.pb10  { padding-bottom: 10px !important; }
.pb12  { padding-bottom: 12px !important; }
.pb15  { padding-bottom: 15px !important; }
.pb16  { padding-bottom: 16px !important; }
.pb20  { padding-bottom: 20px !important; }
.pb24  { padding-bottom: 24px !important; }
.pb25  { padding-bottom: 25px !important; }
.pb30  { padding-bottom: 30px !important; }
.pb35  { padding-bottom: 35px !important; }
.pb40  { padding-bottom: 40px !important; }
.pb45  { padding-bottom: 45px !important; }
.pb50  { padding-bottom: 50px !important; }
.pb55  { padding-bottom: 55px !important; }
.pb60  { padding-bottom: 60px !important; }
.pb70  { padding-bottom: 70px !important; }
.pb80  { padding-bottom: 80px !important; }
.pb90  { padding-bottom: 90px !important; }
.pb100 { padding-bottom: 100px !important; }

.pr0   { padding-right: 0 !important; }
.pr10  { padding-right: 10px !important; }
.pr12  { padding-right: 12px !important; }
.pr16  { padding-right: 16px !important; }
.pr24  { padding-right: 24px !important; }

.pl0   { padding-left: 0 !important; }
.pl10  { padding-left: 10px !important; }
.pl12  { padding-left: 12px !important; }
.pl14  { padding-left: 14px !important; }
.pl16  { padding-left: 16px !important; }
.pl20  { padding-left: 20px !important; }
.pl24  { padding-left: 24px !important; }
.pl30  { padding-left: 30px !important; }
.pl50  { padding-left: 50px !important; }
.pl80  { padding-left: 80px !important; }
.pl100 { padding-left: 100px !important; }

/*--------------------------------------------------*/
/* etc */
/*--------------------------------------------------*/

.nowrap {
	white-space: nowrap;
}

.w304 {
	width: 304px !important;
}

.line1 {
	width: 14px !important;
}

/*=======================================================*/
/* Utility - /cmn2/ */
/*=======================================================*/

/*--------------------------------------------------*/
/* hover */
/*--------------------------------------------------*/

.hover {
	position: relative;
	display: block;
}

.hover:hover::after {
	position: absolute;
	left: 0;
	bottom: 0;
	content: "";
	display: block;
	width: 100%;
	height: 5px;
	border-radius: 0;
	background-color: #19509d;
}

/*--------------------------------------------------*/
/* display */
/*--------------------------------------------------*/

.cmn2 .rwd-only {
	display: none;
}

.cmn2 .pc-only {
	display: block;
}

@media (max-width: 968px) {
	.cmn2 .rwd-only {
		display: block;
	}

	.cmn2 .pc-only {
		display: none;
	}
}

/*--------------------------------------------------*/
/* font-size */
/*--------------------------------------------------*/

.cmn2 .fzs { font-size: 84%; }
.cmn2 .fzm { font-size: 92%; }

/*--------------------------------------------------*/
/* width */
/*--------------------------------------------------*/

.cmn2 .w05p { width: 5%; }
.cmn2 .w10p { width: 10%; }
.cmn2 .w15p { width: 15%; }
.cmn2 .w20p { width: 20%; }
.cmn2 .w25p { width: 25%; }
.cmn2 .w30p { width: 30%; }
.cmn2 .w35p { width: 35%; }
.cmn2 .w40p { width: 40%; }
.cmn2 .w45p { width: 45%; }
.cmn2 .w50p { width: 50%; }
.cmn2 .w55p { width: 55%; }
.cmn2 .w60p { width: 60%; }
.cmn2 .w65p { width: 65%; }
.cmn2 .w70p { width: 70%; }
.cmn2 .w75p { width: 75%; }
.cmn2 .w80p { width: 80%; }
.cmn2 .w85p { width: 85%; }
.cmn2 .w90p { width: 90%; }
.cmn2 .w95p { width: 95%; }
.cmn2 .w300 { width: 300px; }

/*=======================================================*/
/* Utility - /cmn3/ (WebCX) */
/*=======================================================*/

.u-noscroll {
	overflow: hidden;
}

/*--------------------------------------------------*/
/* color */
/*--------------------------------------------------*/

.u-bg-white { background-color: #FFF; }
.u-bg-skyblue { background-color: #E7F2FC; }
.u-bg-blue { background-color: #0072BC; }
.u-bg-orange { background-color: #DB3D23; }
.u-bg-yellow { background-color: #FAC452; }
.u-bg-red { background-color: #DE0239; }
.u-bg-gray { background-color: #AAA; }
.u-bg-lightblue { background-color: #F5F7FA; }
.u-bg-darkblue { background-color: #004877; }

.u-white { color: #FFF; }
.u-skyblue { color: #E7F2FC; }
.u-blue { color: #0072BC; }
.u-orange { color: #DB3D23; }
.u-yellow { color: #FAC452; }
.u-red { color: #DE0239; }
.u-gray { color: #AAA; }
.u-lightblue { color: #F5F7FA; }
.u-darkblue { color: #004877; }

/*--------------------------------------------------*/
/* font-size */
/*--------------------------------------------------*/

.u-fs { font-size: 100%; }

.u-fs10 { font-size: 62.5%; }
.u-fs11 { font-size: 68.75%; }
.u-fs12 { font-size: 75%; }
.u-fs13 { font-size: 81.25%; }
.u-fs14 { font-size: 87.5%; }
.u-fs15 { font-size: 93.75%; }

.u-fs17 { font-size: 106.25%; }
.u-fs18 { font-size: 112.5%; }
.u-fs19 { font-size: 118.75%; }
.u-fs20 { font-size: 125%; }

/*--------------------------------------------------*/
/* line-height */
/*--------------------------------------------------*/

.u-lh14 { line-height: 1.4; }
.u-lh18 { line-height: 1.8; }
.u-lh20 { line-height: 2; }

/*--------------------------------------------------*/
/* vertical-align */
/*--------------------------------------------------*/

.u-vat { vertical-align: top; }
.u-vam { vertical-align: middle; }
.u-vab { vertical-align: bottom; }

/*--------------------------------------------------*/
/* display */
/*--------------------------------------------------*/

.u-db  { display: block; }
.u-dib { display: inline-block; }
.u-di  { display: inline; }

@media not screen and (max-width: 1079px) {
	.u-dib--pc { display: inline-block; }
}

/*--------------------------------------------------*/
/* smooth-scroll */
/*--------------------------------------------------*/

html.u-smooth-scroll {
	scroll-behavior: smooth;
}

html.u-smooth-scroll :target {
	scroll-margin-top: 70px;
}

@media (max-width: 1079px) {
	html.u-smooth-scroll :target {
		scroll-margin-top: 60px;
	}
}

html.u-smooth-scroll [tabindex="-1"] {
	outline: none;
}
