@charset "UTF-8";
/*
 * cmn_style.css
 *
 */


/* !Base Fonts -------------------------------------------------------------- */
a {
	color: #111;
	text-decoration: none;
}
a:visited {}
a:hover,
a:active,
a:focus { text-decoration: none;}

a.txtLink {
	color: #00B4FF;
	transition: all 0.5s ease;
}
a.txtLink:visited {}
a.txtLink:hover,
a.txtLink:active,
a.txtLink:focus {}
a.txtLink:hover { opacity:0.6;}
a.txtLink i {
	margin-right: 0.6em;
}

[data-ruby] {
	white-space: nowrap;
	position: relative;
	padding:0 0.3em;
}
[data-ruby]::before {
	content: attr(data-ruby);
	position: absolute;
	top: -1em;
	left: 0;
	right: 0;
	margin: auto;
	font-size: 0.5em;
	text-align: center;
}

p { word-wrap: break-word;}

.fwN { font-weight: normal;}
.fwB { font-weight: bold;}
.fzSS  { font-size:  76%;}/* base 16px -> 12px */
.fzS   { font-size:  86%;}/* base 16px -> 14px */
.fzM   { font-size: 100%;}
.fzL   { font-size: 113%;}/* base 16px -> 18px */
.fzLL  { font-size: 125%;}/* base 16px -> 20px */
.fzLLL { font-size: 138%;}/* base 16px -> 22px */
.fz24 { font-size: 24px;}
.hl150 { line-height:1.5;}
@media screen and (max-width:1039px){
a.txtLink:hover { opacity:1;}
}
@media screen and (max-width:767px){
.fz24 { font-size: 16px;}
}
sup   { font-size: 78%; vertical-align: top;}
sub   { font-size: 78%; vertical-align: baseline;}

/* !Inline Align ------------------------------------------------------------ */
.taL { text-align: left   !important;}
.taC { text-align: center !important;}
.taR { text-align: right  !important;}
.vaT { vertical-align: top    !important;}
.vaM { vertical-align: middle !important;}
.vaB { vertical-align: bottom !important;}
.blockC { margin-right: auto; margin-left: auto; text-align: left;}
* html .blockC { margin-right: 0; margin-left: 0;}
.blockR { margin-left: auto; text-align: left;}
* html .blockR { margin-left: 0;}

/* !Width ------------------------------------------------------------------- */
/* 960px Grid */
.w960   { width: 960px;}
.w800	{ width: 800px;}
.w640	{ width: 640px;}
.w480	{ width: 480px;}
.w320	{ width: 320px;}
.w160	{ width: 160px;}

.wHalf  { width: 48%;}
.wTri   { width: 33%;}
.wQuart { width: 24%;}
.wFull  { width: 99.9%;}
.wMax   { width: 100%;}

.w03per { width: 3%  !important;}
.w05per { width: 5%  !important;}
.w10per { width: 10% !important;}
.w13per { width: 13% !important;}
.w15per { width: 15% !important;}
.w20per { width: 20% !important;}
.w25per { width: 25% !important;}
.w30per { width: 30% !important;}
.w35per { width: 35% !important;}
.w40per { width: 40% !important;}
.w45per { width: 45% !important;}
.w50per { width: 50% !important;}

/* !Floats ------------------------------------------------------------------ */
.flL    { display: inline; float: left;}
.flR    { display: inline; float: right;}
.flImgL { display: inline; float: left; margin-right: 25px; max-width:280px;}
.flImgR { display: inline; float: right; margin-left: 25px; max-width:280px;}
.flImgR2 { display: inline; float: right; margin-left: 25px; max-width:200px;}
.ftBox  { overflow: hidden; *zoom: 1;}

@media screen and (max-width:767px){
.flImgL { display: block; float: none; margin:0 auto 20px auto; width:100%; max-width:280px;}
.flImgR { display: block; float: none; margin:0 auto 20px auto; width:100%; max-width:280px;}
.flImgR2 { display: block; float: none; margin:0 auto 20px auto; width:100%; max-width:280px;}
}

/* !Tools ------------------------------------------------------------------- */
.clear { clear: both;}
.block { display: block;}
.hide  { display: none;}
.bgN   { background: none !important;}
.tdU   { text-decoration: underline;}
.tdN   { text-decoration: none;}
.atode { border: 2px solid #96c; padding: 10px; text-align: center; background-color: #f9f; font-family: "ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace; font-size: 30px; color: #fff;}

/* !Format ------------------------------------------------------------------ */
a.btn_basic {
	display:inline-block;
	width:auto;
	font-size:22px;
	font-weight: 700;
	line-height: 1.4;
	color: #FFF;
	background: #0C0C0C;
	border-radius: 40px;
	padding:1em 4.4em 1em 2em;
	transition:.6s;
	position: relative;
}
		a.btn_basic:hover {
			background: #333;
		}
		a.btn_basic div.arrowCircle {
			position: absolute;
			display: block;
			overflow: hidden;
			width: 50px;
			height: 50px;
			background: #FFF;
			border-radius: 50%;
			transform: rotate(-45deg);
			top:50%;
			margin-top:-25px;
			right:15px;
			z-index:4;
		}
			a.btn_basic div.arrowCircle i.arrow1 {
				position: absolute;
				display: inline-block;
				width: 22px;
				height: 2px;
				margin: 9.9px 0;
				border-radius: 9999px;
				background-color: #000;
				transition: .3s;
				top:14px;
				left:14px;
			}
				a.btn_basic:hover div.arrowCircle i.arrow1 {
					left:50px;
				}
				a.btn_basic div.arrowCircle i.arrow1::before,
				a.btn_basic div.arrowCircle i.arrow1::after {
					content: "";
					position: absolute;
					top: calc(50% - 1px);
					right: 0;
					width: 16px;
					height: 2px;
					border-radius: 9999px;
					background-color: #000;
					transform-origin: calc(100% - 1px) 50%;
				}
				a.btn_basic div.arrowCircle i.arrow1::before {
					transform: rotate(45deg);
				}
				a.btn_basic div.arrowCircle i.arrow1::after {
					transform: rotate(-45deg);
				}
			a.btn_basic div.arrowCircle i.arrow2 {
				position: absolute;
				display: inline-block;
				width: 22px;
				height: 2px;
				margin: 9.9px 0;
				border-radius: 9999px;
				background-color: #000;
				transition: .3s;
				top:14px;
				left:-50px;
				opacity:0;
			}
				a.btn_basic:hover div.arrowCircle i.arrow2 {
					opacity:1;
					left:14px;
				}
				a.btn_basic div.arrowCircle i.arrow2::before,
				a.btn_basic div.arrowCircle i.arrow2::after {
					content: "";
					position: absolute;
					top: calc(50% - 1px);
					right: 0;
					width: 16px;
					height: 2px;
					border-radius: 9999px;
					background-color: #000;
					transform-origin: calc(100% - 1px) 50%;
				}
				a.btn_basic div.arrowCircle i.arrow2::before {
					transform: rotate(45deg);
				}
				a.btn_basic div.arrowCircle i.arrow2::after {
					transform: rotate(-45deg);
				}

a.link {
	display:inline-block;
	padding:1em 1.2em 1em 1.6em;
	background:#FFF;
	color:#81A8C5;
	line-height:1.6;
	border:1px solid #ABCED8;
	border-radius:8px;
	transition: all 0.5s ease;
	position:relative;
}
	a.link:hover {
		background:#ABCED8;
		color:#FFF;
		padding:1em 1.2em 1em 1.6em;
	}
	a.link i.fas {
		margin-left:1.6em;
	}

.bdrBtm { border-bottom:1px solid #EEE;}

.fcRed{ color:#F44138;}
.fcGreen{ color:#005946;}
.fcBeige{ color:#6C613C;}
.fcBlack{ color:#111;}

br.pc{ display:none;}
br.pcNon{ display:none;}
br.spin{ display:none;}

@media screen and (max-width:1039px){
a.btn_basic {
	font-size:20px;
}
		a.btn_basic:hover {
			background: #0C0C0C;
		}
		a.btn_basic div.arrowCircle {
			width: 46px;
			height: 46px;
			margin-top:-23px;
			right:13px;
		}
			a.btn_basic div.arrowCircle i.arrow1 {
				top:12px;
				left:12px;
			}
				a.btn_basic:hover div.arrowCircle i.arrow1 {
					left:12px;
				}
			a.btn_basic div.arrowCircle i.arrow2 {
				display: none;
			}
br.tb{ display:none;}
br.pcNon{ display:inherit;}

	a.link:hover {
		background:#FFF;
		color:#81A8C5;
	}
}
@media screen and (max-width:767px){
a.btn_basic {
	font-size:17px;
	padding:1em 4.2em 1em 2em;
}
		a.btn_basic div.arrowCircle {
			width: 40px;
			height: 40px;
			margin-top:-20px;
			right:10px;
		}
			a.btn_basic div.arrowCircle i.arrow1 {
				width: 16px;
				height: 2px;
				margin: 7.1px 0;
				top:12px;
				left:12px;
			}
				a.btn_basic:hover div.arrowCircle i.arrow1 {
					left:12px;
				}
				a.btn_basic div.arrowCircle i.arrow1::before,
				a.btn_basic div.arrowCircle i.arrow1::after {
					width: 12px;
					height: 2px;
				}
br.sp{ display:none;}
br.spin{ display:inherit;}
}

@media screen and (max-width:360px){
a.btn_basic {
	font-size:16px;
}
}

@media screen and (max-width:359px){
a.btn_basic {
	font-size:15px;
	padding:1em 3.6em 1em 1.6em;
}
		a.btn_basic div.arrowCircle {
			right:7px;
		}
}

/* !Margin ------------------------------------------------------------------ */
.mBtm00 { margin-bottom: 0   !important;}
.mBtm10 { margin-bottom: 10px   !important;}
.mBtm15 { margin-bottom: 15px   !important;}
.mBtm20 { margin-bottom: 20px   !important;}
.mBtm30 { margin-bottom: 30px   !important;}
.mBtm40 { margin-bottom: 40px   !important;}
.mBtm50 { margin-bottom: 50px   !important;}
.mBtm60 { margin-bottom: 60px   !important;}
.mBtm70 { margin-bottom: 70px   !important;}
.mBtm80 { margin-bottom: 80px   !important;}
.mBtm90 { margin-bottom: 90px   !important;}
.mBtm100 { margin-bottom: 100px   !important;}
.mBtm110 { margin-bottom: 110px   !important;}
.mBtm120 { margin-bottom: 120px   !important;}

.mTop00 { margin-top: 0   !important;}
.mTop05 { margin-top: 5px   !important;}
.mTop10 { margin-top: 10px   !important;}
.pTop00 { padding-top: 0   !important;}

@media screen and (max-width:1039px){
.mBtm00 { margin-bottom: 0   !important;}
.mBtm10 { margin-bottom: 10px   !important;}
.mBtm15 { margin-bottom: 15px   !important;}
.mBtm20 { margin-bottom: 20px   !important;}
.mBtm30 { margin-bottom: 30px   !important;}
.mBtm40 { margin-bottom: 40px   !important;}
.mBtm50 { margin-bottom: 50px   !important;}
.mBtm60 { margin-bottom: 50px   !important;}
.mBtm70 { margin-bottom: 60px   !important;}
.mBtm80 { margin-bottom: 70px   !important;}
.mBtm90 { margin-bottom: 70px   !important;}
.mBtm100 { margin-bottom: 80px   !important;}
.mBtm110 { margin-bottom: 90px   !important;}
.mBtm120 { margin-bottom: 100px   !important;}
}

@media screen and (max-width:767px){
.mBtm00 { margin-bottom: 0   !important;}
.mBtm10 { margin-bottom: 10px   !important;}
.mBtm15 { margin-bottom: 15px   !important;}
.mBtm20 { margin-bottom: 20px   !important;}
.mBtm30 { margin-bottom: 30px   !important;}
.mBtm40 { margin-bottom: 30px   !important;}
.mBtm50 { margin-bottom: 40px   !important;}
.mBtm60 { margin-bottom: 50px   !important;}
.mBtm70 { margin-bottom: 50px   !important;}
.mBtm80 { margin-bottom: 60px   !important;}
.mBtm90 { margin-bottom: 60px   !important;}
.mBtm100 { margin-bottom: 70px   !important;}
.mBtm110 { margin-bottom: 80px   !important;}
.mBtm120 { margin-bottom: 80px   !important;}
}
