@charset "utf-8";
/* ---------------------------------------------------------

common

----------------------------------------------------------*/
* {
  -webkit-appearance:none;
}
body {
	overflow: hidden;
	}

/* ---------------------------------------------------------
title
----------------------------------------------------------*/

h1 {
	font-size: 20px;
	font-weight: 100;
	font-family:"FOT-UD角ゴ_スモール Pr6 B", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

h2 {
	font-size: 15px;
	font-weight: bold;
	line-height: 1.2;
	font-family:"FOT-UD角ゴ_スモール Pr6 B", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	
}

h3 {
	font-size: 15px;
	font-weight: bold;
	font-family:"FOT-UD角ゴ_スモール Pr6 B", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	
}


/* ---------------------------------------------------------
text style
----------------------------------------------------------*/

p {
	margin-bottom: 1.0em;
}

small{
	font-size:10px;
	line-height: 1 !important;	
}
strong {
	font-weight: bold;
}

.hidden {
	display: none;
}

.top0 {
	margin-top:0px !important;
}

.top15 {
	margin-top:15px !important;
}

.btm0 {
	margin-bottom:0px !important;
}

.text_caution {
	color:#D26;
}

address {
	margin-bottom: 1.0em;	
	
}

hr {
    display:block;
	clear:both;
    height:1px;
    border:0;
    border-top:1px solid #343434;
    margin:1em 0;
    padding:0;
}

@keyframes gradation_hr {
    0%{background-position:0% 50%}
    50%{background-position:100% 50%}
    100%{background-position:0% 50%}
}

@-webkit-keyframes gradation_hr{
    0%{background-position:0% 91%}
    50%{background-position:100% 10%}
    100%{background-position:0% 91%}
}
@-moz-keyframes gradation_hr {
    0%{background-position:0% 91%}
    50%{background-position:100% 10%}
    100%{background-position:0% 91%}
}
@keyframes gradation_hr { 
    0%{background-position:0% 91%}
    50%{background-position:100% 10%}
    100%{background-position:0% 91%}
}

.point-english {
	font-family: "FOT-セザンヌ Pro DB";
}

.point-english-m {
	font-family: "FOT-セザンヌ Pro M";
}

/* ---------------------------------------------------------
link
----------------------------------------------------------*/

a {
	color: #323232;
	text-decoration-line: none;
}

a:visited {
	color: #323232;
	text-decoration:none;
}

a:hover {
	color: #888;
	text-decoration:none;
}

a:active {
	color: #888;
}

/* ---------------------------------------------------------
Clearfix
----------------------------------------------------------*/

.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }
.clearfix .small{ font-size: 12px; }


pre {
	white-space: pre;           /* CSS 2.0 */
	white-space: pre-wrap;      /* CSS 2.1 */
	white-space: pre-line;      /* CSS 3.0 */
	white-space: -pre-wrap;     /* Opera 4-6 */
	white-space: -o-pre-wrap;   /* Opera 7 */
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -hp-pre-wrap;  /* HP Printers */
	word-wrap: break-word;      /* IE 5+ */
}



/* ---------------------------------------------------------
pagetop
----------------------------------------------------------*/
/* ---------------------------------------------------------
pagetop
----------------------------------------------------------*/

#pagetop {
	display: block;
	z-index: 10000;	
}

#pagetop.is-none {
	display: none;
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 15px;
	right: 15px;
	color: #fff !important;
	z-index:  500000;	
}
.pagetop a {
	display: block;
	background:  url(../img/common/page_top_btn.png) no-repeat;
	font-size: 20px;
	text-decoration: none;
	line-height: 1.9;
	width:78px;
	height: 78px;
	filter:alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
			box-sizing: border-box;

}
.pagetop a:hover {
	display: block;
	text-decoration: none;
	filter:alpha(opacity=100);
	-moz-opacity: 1;
	opacity: 1;
	-webkit-transition: all .4s;
	transition: all .4s;
}

/* ---------------------------------------------------------
loading-top
----------------------------------------------------------*/
#pageloading-wrap {
   background: #fff;
   width: 100%;
   height: 100%;
   position: fixed;
   top: 0;
   left: 0;
   text-align: center;
   display: table;
	display: none;
	z-index: 1;
}
#pageloading-icon {
   display: table-cell;
   vertical-align: middle;
}

/* ---------------------------------------------------------
loading-sub
----------------------------------------------------------*/
#pageloading-sub {
	position: fixed;
	z-index: 99999;
	top:0;
	left: 0;
	background: #FFFFFF;
}
#pageloading-sub .dot-ptn{
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #FFFFFF;
}
.LoaderBalls {
	width: 90px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.LoaderBalls__item {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	/*background: #ffb32e;*/
	background-image: url(../img/common/loading.png);
	background-size: contain;
	background-repeat: no-repeat;
}
.LoaderBalls__item:nth-child(1) {
	animation: bouncing 0.4s alternate infinite cubic-bezier(0.6, 0.05, 0.15, 0.95);
}
.LoaderBalls__item:nth-child(2) {
	animation: bouncing 0.4s 0.1s alternate infinite cubic-bezier(0.6, 0.05, 0.15, 0.95) backwards;
}
.LoaderBalls__item:nth-child(3) {
	animation: bouncing 0.4s 0.2s alternate infinite cubic-bezier(0.6, 0.05, 0.15, 0.95) backwards;
}

@keyframes bouncing {
  0% {
    transform: translate3d(0, 10px, 0) scale(1.2, 0.85);
  }
  100% {
    transform: translate3d(0, -20px, 0) scale(0.9, 1.1);
  }
}
