@charset "UTF-8";
/* CSS Document */
/* ----------------------------------------------- */
/* fonts
-------------------------------------------------- */
@font-face {
	font-family: "Baloo Chettan Regular";
	font-style: normal;
	font-weight: normal;
	src: local("Baloo Chettan Regular"), url("../fonts/BalooChettan2-Regular.ttf") format("woff");
}
@font-face {
	font-family: "Baloo Chettan Mid";
	font-style: normal;
	font-weight: normal;
	src: local("Baloo Chettan Mid"), url("../fonts/BalooChettan2-Medium.ttf") format("woff");
}
@font-face {
	font-family: "Baloo Chettan Semi";
	font-style: normal;
	font-weight: normal;
	src: local("Baloo Chettan SemiBold"), url("../fonts/BalooChettan2-SemiBold.ttf") format("woff");
}
/* common
-------------------------------------------------- */
body {
	position: relative;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 400;
	font-style: normal;
	font-size: 10px;
	line-height: 1;
	color: #323232;
}
a {
	color: #1a1a1a;
	-webkit-transition: 0.4s all;
	transition: 0.4s all;
	text-decoration: none;
	word-wrap: break-word;
}
img {
	width: 100%;
	height: auto;
}
@media (min-width: 769px) {
	/* PC用 */
	.for--pc {
		display: block;
	}
	.for--sp {
		display: none;
	}
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
	.for--sp {
		display: block;
	}
	.for--pc {
		display: none;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* footer 
-------------------------------------------------- */
.fooeter { 
	background: #f0f0f0;}
.footer--inner {
	max-width: /*1682px*/ 1280px;
	width: 95%;
	margin: 0 auto;
}
.footer--nav ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.footer--add {
	font-family: Arial, Helvetica, "sans-serif";
}
.footer .company--name {
	font-weight: 700;
	line-height: 1.25;
}
.footer .company--name span { display: block; font-size:30px;}
.footer address {
	line-height: 1.9;
}
.copyright {
	padding: 0.8em 0 1.7em;
	text-align: center;
	color: #fff;
	background: #1b1464;
}
@media (min-width: 769px) {
	/* PC用 */
	.footer--inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
		padding-bottom: 15em;
	}
	.footer .logo {
		width: 153px;
	}
	.footer .company--name {
		margin: 1.8em 0 .9em;
		font-size: 20px;
	}
	.footer address {
		font-size: 1.3em;
	}
	.footer--inner .totop {
		-webkit-box-flex: 2;
		-ms-flex-positive: 2;
		flex-grow: 2;
		padding: 1.3em 5% 0 0;
		text-align: right;
	}
	.footer--inner .totop img {
		width: 90px;
	}
	.footer .footer--nav {
		width: 35.5529131986%;
	}
	.copyright {
		font-size: 1.3em;
	}
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
	.footer--inner {
		width: 100%;
		padding: 0 6%;
	}
	.footer--nav ul {
		margin-bottom: 4.3em;
	}
	.footer--nav ul li {
		width: 48.3%;
	}
	.footer .totop {
		display: none;
	}
	.footer--add {
		text-align: center;
	}
	.footer .logo {
		width: 80px;
		margin: 0 auto 1.8em;
	}
	.footer--add .company--name {
		font-size: 3.7vw;
	}
	.footer address {
		padding: 1.2em 0 2em;
		font-size: 2.9vw;
		line-height: 1.4;
	}
	.copyright {
		font-size: 1.2em;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* gNav
-------------------------------------------------- */
.gNav li a {
	display: block;
	font-weight: 700;
	line-height: 1.4;
	color: #1a1a1a;
}
.gNav li a small {
	display: block;
	color: #f7931e;
	font-size: 15px;
}
@media (min-width: 769px) {
	/* PC用 */
	.gNav li a {
		/*font-size: 2.2vw;*/
		font-size: 2em;
	}
	.footer .gNav li {
		max-width: 237px;
		width: 45%;
		margin-bottom: 1.9em;
		padding: 0 0 1.9em;
		border-bottom: 1px solid #1a1a1a;
	}
	.footer .gNav li a {
		font-size: 1.8vw;
	}
}
@media (min-width: 1380px) {
	/* PC用 */
	.gNav li a {
		/*font-size: 2.2em;*/
	}
	.footer .gNav li a {
		font-size: 2em;
	}
}
@media (max-width: 768px) {
	/* tablet用 */
	.footer .gNav li {
		width: 45%;
		margin-bottom: 1.9em;
		padding: 0 0 1.9em;
		border-bottom: 1px solid #cccccc;
	}
	.gNav li a {
		font-size: 4.7vw;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* header 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
	.header {
		position: fixed;
		padding-bottom: 2.3em;
		width: 100%;
		background: #fff;
		border-top: 10px solid #f7931e;
		z-index: 1000;
	}
	.header--inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		max-width: /*1558px*/ 1280px;
		width: 95%;
		margin: 0 auto;
	}
	.header--inner .logo {
		width: 111px;
		padding-top: 2.3em;
	}
	.header--inner .for--pc {
		width: 84%;
	}
	.header--inner .gNav {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
		width: auto;
	}
	.header--inner .gNav li {
		margin-left: 2.5%;
		padding: 38px 0 0;
	}
	.header--inner .gNav li a {
		position: relative;
		display: block;
		padding: 0 0 20px;
		white-space: nowrap;
	}
	.header--inner .gNav li a::before {
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		/*width:100%;*/
		width: 0;
		height: 1px;
		background: #1a1a1a;
		-webkit-transition: 0.4s all;
		transition: 0.4s all;
	}
	.header--inner .gNav li a:hover::before {
		width: 100%;
	}
}
@media (min-width: 1024px) {
/* PC用 */
	.header--inner .for--pc {
		width: 70%;
	}
}
@media (max-width: 768px) {
	/* tablet用 */
	.header {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		background: rgba(255, 255, 255, 0.9);
		z-index: 10000;
	}
	.header--inner {
		position: relative;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
	}
	.header .logo {
		position: relative;
		width: 11.43617021%;
		margin: 0 auto;
		padding: 10px 0 10px;
		z-index: 10001;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
@-webkit-keyframes starsAnime01 {
	0% {
		opacity: 0;
		visibility: hidden;
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	100% {
		opacity: 1;
		visibility: visible;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes starsAnime01 {
	0% {
		opacity: 0;
		visibility: hidden;
		-webkit-transform: scale(0.5);
		transform: scale(0.5);
	}
	100% {
		opacity: 1;
		visibility: visible;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
/* sp--menu
-------------------------------------------------- */
@media (max-width: 768px) {
	/* tablet用 */
	.header .sp--menu {
		position: fixed;
		top: 20px;
		right: 4%;
		width: 31px;
		height: 24px;
		z-index: 10001;
	}
	.sp--menu span {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 2px;
		border-radius: 2px;
		background: #808080;
	}
	.sp--menu span:nth-child(2) {
		top: 50%;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
	.sp--menu span:nth-child(3) {
		top: auto;
		bottom: 0;
	}
	.sp--menu.close span:first-child {
		top: 50%;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}
	.sp--menu.close span:nth-child(2) {
		display: none;
	}
	.sp--menu.close span:nth-child(3) {
		top: 50%;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.header .for--sp {
		position: fixed;
		width: 100%;
		height: 100vh;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		padding-top: 10em;
		background: rgba(255, 255, 255, 0.9);
		z-index: 10000;
		-webkit-overflow-scrolling: touch;
		visibility: hidden;
		opacity: 0;
		-webkit-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}
	.header .for--sp.active {
		visibility: visible;
		opacity: 1;
	}
	.header .for--sp ul li {
		margin-bottom: 2.3em;
		text-align: center;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
/* main
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
	main {
		padding-top: 150px;
	}
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
	main {
		padding-top: 100px;
	}
}
@media (max-width: 480px) {
	/* SP用 */
	main {
		padding-top: 68.5px;
	}
}
/* aside
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
	aside.for--pc {
		position: fixed;
		right: 0;
		top: 18vh;
		width:92px;
		z-index: 2001;
	}
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
	aside.for--sp {
		position: fixed;
		right: 2%;
		bottom: 25vh;
		width: 110px;
		z-index: 2001;
	}
}
@media (max-width: 480px) {
	/* SP用 */
}
@media (min-width: 769px) {
	/* PC用 */
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
}
@media (max-width: 480px) {
	/* SP用 */
}
/* 
-------------------------------------------------- */
@media (min-width: 769px) {
	/* PC用 */
}
@media (min-width: 1380px) {
	/* PC用 */
}
@media (max-width: 768px) {
	/* tablet用 */
}
@media (max-width: 480px) {
	/* SP用 */
}


/* animation
-------------------------------------------------- */
.slideup {
	opacity : 0;
	transform: translateY(40px);
	transition: all 1250ms ;
}
.fromleft {
	opacity : 0;
	transform: translateX(-100%);
	transition: all 1250ms ;
}
.fromright {
	opacity : 0;
	transform: translateX(100%);
	transition: all 1250ms ;
}

.fadeIn {
	opacity: 0;
	animation-delay: 0;
	animation-name: fadeIn01;
	animation-duration:1.5s;
	animation-fill-mode: forwards;
}
@keyframes fadeIn01 {
	0% { opacity : 0;}
	100% {
		opacity : 1;
		transform: translate(0);
	}
}


.frameIn {
	opacity: 0;
	animation-delay:1s;
	animation-name: frameIn01;
	animation-duration:3.5s;
	animation-fill-mode: forwards;
}
@keyframes frameIn01 {
	0% { opacity : 0;}
	100% {
		opacity : 1;
		transform: translate(0);
	}
}

.fuwa01 {
	animation: fuwa01 2.7s ease-in-out infinite;
}
@keyframes fuwa01 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px); /* 上に10px移動 */
  }
  100% {
    transform: translateY(0);
  }
}

.fuwa02 {
	animation: fuwa02 3.2s ease-in-out infinite;
}
@keyframes fuwa02 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px); /* 上に10px移動 */
  }
  100% {
    transform: translateY(0);
  }
}

.fuwa03 {
	animation: fuwa03 3.6s ease-in-out infinite;
}
@keyframes fuwa03 {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-5px); /* 上に10px移動 */
  }
  100% {
    transform: translateY(0);
  }
}

.dt01 { transition-delay:0.1s;}
.dt02 { transition-delay:0.2s;}
.dt03 { transition-delay:0.3s;}
.dt04 { transition-delay:0.4s;}
.dt05 { transition-delay:0.5s;}
.dt06 { transition-delay:0.6s;}
.dt08 { transition-delay:0.8s;}
.dt10 { transition-delay:1.0s;}
.dt12 { transition-delay:1.2s;}

.ad01 {	animation-delay:0.1s;}
.ad02 {	animation-delay:0.2s;}
.ad03 {	animation-delay:0.3s;}
.ad04 {	animation-delay:0.4s;}
.ad05 {	animation-delay:0.5s;}
.ad06 {	animation-delay:0.6s;}
.ad07 {	animation-delay:0.7s;}
.ad08 {	animation-delay:0.8s;}
.ad09 {	animation-delay:0.9s;}
.ad10 {	animation-delay:1.0s;}
.ad11 {	animation-delay:1.1s;}
.ad12 {	animation-delay:1.2s;}

.ad10 {	animation-delay:1.0s;}
.ad11 {	animation-delay:1.1s;}
.ad16 {	animation-delay:1.6s;}

.ad20 {	animation-delay:2.0s;}
.ad30 {	animation-delay:3.0s;}