@charset "UTF-8";
/*-----------------------------------------
共通設定項目
-----------------------------------------*/
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
border-collapse: collapse;
box-sizing: border-box;
}
.over {
	overflow: hidden;
	-o-text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.flex {
	display:-webkit-box;/*--- Androidブラウザ用 ---*/
	display:-ms-flexbox;/*--- IE10 ---*/
	display:-webkit-flex;/*--- safari（PC）用 ---*/
	display:flex;
}
.warp {flex-wrap: wrap;}
img {
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
 section {
  margin: auto
}
 .inner {
	 position: relative;
	 max-width: 1100px;
	 margin: 0 auto;
}
.inner_transform {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit- transform: translateY(-50%) translateX(-50%);
}
html{
	font-size: 62.5%;
	scroll-behavior: smooth;
	margin: 0;
	padding: 0;
}
body {
	-webkit-text-size-adjust: 100%;
	 min-height:100vh;
	padding: 0;
	margin: 0 auto;
	color: #333;
	font-size: 1.4rem;
	line-height: 180%;
	font-family: "M PLUS Rounded 1c";
	text-align: justify;
	text-justify: inter-ideograph;
	background-image: url("../contents/home/bg.png");
	background-repeat: repeat;
}
/*styling open close button*/
.button {
	position:fixed;
	right: 2px;
	top: 50px;
	width: 42px;
	z-index:112;
	font-size:40px;
    line-height: 30px;
	height: 58px;
    text-align: center;
}@media screen and ( min-width:560px){.button {display: none;}}
/*
@media screen and ( max-width:800px){.button {top:45px;}}
@media screen and ( max-width:500px){.button {top:50px; right: 4%;font-size: 44px;height: 56px;}}
*/
.button a {
	text-decoration:none;
}
.btn-open:after {
	color:#5F9FFF;
	content:"\f0c9";
	font-family:"FontAwesome";
	transition-property:all 1.5s linear 0s;
	-moz-transition:all 1.5s linear 0s;
	-webkit-transition:all 1.5s linear 0s;
	-o-transition:all 1.5s linear 0s;
}
.btn-open:hover:after {
	color:#5F9FFF;
}
.nav-toggle-btn_label {
	display: inline;
  position: absolute;
  left: 50%;
  transform: translate(-50%, 0);
  bottom: 3px;
  font-size: 1.1rem;
font-weight: bold;
  transition: all 500ms ease-in-out;
	color: #5F9FFF;
}
.btn-close:after {
	color:#5F9FFF;
	content:"\f00d";
	font-family:"FontAwesome";
	transition-property:all .2s linear 0s;
	-moz-transition:all .2s linear 0s;
	-webkit-transition:all .2s linear 0s;
	-o-transition:all .2s linear 0s;
}
.btn-close:hover:after {
	color: #5F9FFF;
}
/*overlay*/
#overlay {
	display:none;
	position:fixed;
	top:0;
	height:100%;
	width:100%;
	background:rgba(255,255,255,1);
	/*
	background-position: top center;
	background-image: url("img/overlay_bg.jpg");
	background-size:cover;
	*/
	overflow:auto;
	z-index:111;
	padding: 90px 1% 200px;
	font-size: 1.6rem;
	font-weight: bold;
	color: #F00;
}
#overlay > #overcont {
	position: relative;
	width: 100%;
	margin: 10px auto;
}
#overlay > #overcont > a {
	position: relative;
	display: block;
	width: 100%;
	margin: 20px auto 0;
	height: 40px;
	overflow: hidden;
	text-decoration: none;
	line-height: 40px;
	color: #5F9FFF;
	font-weight: bold;
}
#overlay > #overcont > a > img {
	position: relative;
	width: 25% !important;
	float: left;
}

#page_top{
  width: 90px;
  height: 90px;
  position: fixed;
  right: 0;
  bottom: 0;
  opacity: 0.6;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 90px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f102';
  font-size: 25px;
  color: #3f98ef;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
  content: 'PAGE TOP';
  font-size: 13px;
  position: absolute;
  top: 45px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
  color: #3f98ef;
}
/*ローディング*/
#loader-bg {
	display: none;
	position: fixed;
	width: 100vw;
	min-height: 100vh;
	background: #FFF;
	z-index: 100;
	margin: 0;padding: 0;
}
#loader-bg > #loader {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 500px;
	max-height: 500px;
	transform: translate(-50%, -50%);
	z-index: 2000;
	text-align: center;
	font-size: calc(1.2rem);
	
}@media screen and ( max-width:959px){#loader-bg > #loader {top:240px;max-width: 300px;}}
@media screen and ( max-width:559px){#loader-bg > #loader {top:440px;max-width: 300px;}}

#wrap {
	display: none;
	position: relative;
	margin: 0 auto;
	padding: 0 0 0px;
}
/*///////////////////////////////////////////////////////////////////////////////////
ふわっとエフェクト
//////////////////////////////////////////////////////////////////////////////////*/
/*左から右にフェードイン*/
.effect-fade {
  opacity: 0.1;
  transition: all 1500ms;
}
.effect-fade.scrollin {
  opacity: 1;
  transform: translate(0,0);
}
@media only screen and (min-width: 960px) {
	.sa--lr {
	  transform: translate(-50px, 0);
	}
	.sa--rl {
	  transform: translate(50px, 0);
	}
	.sa--up {
	  transform: translate(0, 100px);
	}
	.sa--down {
	  transform: translate(0, -100px);
	}
	.sa--scaleUp {
	  transform: scale(.7);
	}
	.sa--scaleDown {
	  transform: scale(1.2);
	}
	.sa--rotateL {
	  transform: rotate(40deg);
	}
	.sa--rotateR {
	  transform: rotate(-40deg);
	}
}
@media only screen and (max-width: 959px) {
	.sa--lr {
	  transform: translate(-10px, 0);
	}
	.sa--rl {
	  transform: translate(10px, 0);
	}
	.sa--up {
	  transform: translate(0, 10px);
	}
	.sa--down {
	  transform: translate(0, -10px);
	}
	.sa--scaleUp {
	  transform: scale(.9);
	}
	.sa--scaleDown {
	  transform: scale(1.1);
	}
	.sa--rotateL {
	  transform: rotate(40deg);
	}
	.sa--rotateR {
	  transform: rotate(-40deg);
	}
/*
	.sa--lr,.sa--rl,.sa--up,.sa--down,.sa--scaleUp,.sa--scaleDown,.sa--rotateL,.sa--rotateR {transform: translate(0, 30px);}
*/
}
/*///////////////////////////////////////////////////////////////////////////////////
ここから
//////////////////////////////////////////////////////////////////////////////////*/
@media only screen and (min-width: 960px) {
	h1 {
		position: fixed;
		top: 0;
		padding: 5px 3% 5px;
		width: 100%;
		margin: 0;
		background-color: #0066ff;
		border-bottom: 3px double #FFF;
		font-size: 1.6rem;
		color: #3D2207;
		z-index: 500;
	}
}
@media only screen and (max-width: 959px) {
	h1 {
		position: fixed;
		top: 0;
		padding: 3px 1% 5px;
		width: 100%;
		margin: 0;
		background-color: #0066ff;
		border-bottom: 3px double #FFF;
		font-size: 1.4rem;
		color: #3D2207;
		z-index: 500;
	}
	.px { font-size: 16px;}
	@function get_vw($size, $viewport: 375) {
	  $rate: 100 / $viewport;
	  @return $rate * $size * 1vw;
	}
	@mixin fz_vw($font_size: 10) {
	  font-size: $font_size * 1px;
	  font-size: get_vw($font_size);
	}
	.vw {
	  @include fz_vw(16);
	}
}
	
	
	
	
	