@charset "UTF-8";

/*! minireset.css v0.0.2 | MIT License | github.com/jgthms/minireset.css */html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal}ul{list-style:none}button,input,select,textarea{margin:0}html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}img,embed,object,audio,video{height:auto;max-width:100%}iframe{border:0}table{border-collapse:collapse;border-spacing:0}td,th{padding:0;text-align:left}
.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

/*@font-face {
  font-family: 'ReemKufi';
  src: url(../fonts/ReemKufi.ttf); 
}*/
html {
  font-size: 62.5%;
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: aliased;
}

body {
	font-family :
	YuGothic,    /* Mac用 */
	'Yu Gothic', /* Windows用 */
	sans-serif;
	font-size: 14px;
	font-size: 1.4rem;
}
.ReemKufi {
	font-family: 'Reem Kufi',"monospace", sans-serif;
	/*font-family: 'Poppins', sans-serif;*/
	/*font-family: 'Josefin Sans', sans-serif;*/
	/*font-family: 'Quicksand', sans-serif;*/
}

/*  ローディング  */
/*#wrapper {
	display:none;
}
#loading{
  position:absolute;
  left:50%;
  top:50%;
}*/

.ylw {
	color: #F3DB22;
}
.grn {
	color: #007284;
}
.red {
	color: #A53063;
}
#loader-bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #fff;
  z-index: 1;
}
#loader {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #ccc;
  z-index: 2;
}
#loader p {
	margin-top: -50px;
}


#wrapper {
	width: 100%;
	position: relative;
}
header {
	margin:0 0 70px;
}
header h1 {
	font-weight: bold;
}
header h1 .text_01 {
	font-size: 1.8rem;
	letter-spacing: 0.2rem;
}
header h1 .text_02 {
	font-size: 2.8rem;
	letter-spacing: 0.2rem;
}
header h1 .text_03 {
	font-size: 1.6rem;
	letter-spacing: 0.1rem;
}
.datetime {
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
    letter-spacing: 0.3rem;
}
.datetime dl {
	width:251px;
	margin: 0 auto;
}
.datetime dt {
	float:left;
	clear:left;
	width:100px;
	text-align: left;
}
.datetime dd {
	float:left;
	text-align: left;
}
section {
	margin-bottom: 120px;
}
section h2 {
	font-size: 48px;
	font-size: 4.8rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
	letter-spacing: 3px;
	transition: .8s;
}
section .subhead {
	font-size: 14px;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
	margin-bottom: 30px;
	transition: .8s;
}
section .text {
	max-width: 800px;
	margin: 0 auto 1.4rem;
	text-align: center;
	padding: 0 20px;
	transition: .8s;
}
#title {
	width: 100%;
	text-align: center;
}
#title .text_01 {
    margin-bottom: 30px;
    font-size: 1.8rem;
}
#logo {
padding: 0 30%;
}
.logo {
	display: inline-block;
	text-align: center;
	width:60%;
	margin-bottom: 2%;
    margin-left: 14.5%;
}
.logo_01 {
}
.logo_02 {
}
/*.logo::after {
	content: url(../images/logo_02.png);
}*/

.logo_animation {
  background: url(../images/logo_animation.svg) no-repeat;
  width: 1030px;
  height: 134px;
  margin: 0 auto 20px;
  background-size: cover;
}

/* Using steps */
.logo_animation {
  animation: smile 3s steps(23) infinite;
}
.logo_animation:hover {
  animation-play-state: paused;
}


#title p {
	margin: 0;
	color: #231815;
	font-weight: bold;
}
#title .subtitle {
	font-size:3.6rem;
}
#illust_01,
#illust_02,
#illust_03,
#illust_04,
#illust_05,
#illust_06,
#illust_07,
#illust_08,
#illust_09,
#illust_10,
#illust_11,
#illust_12,
#illust_13,
#illust_14,
#illust_15,
#illust_16,
#illust_17,
#illust_18,
#illust_19 {
	position: absolute;
	z-index: -1;
	overflow: hidden;
}
#illust_01 { width: 150px; animation: yureru 6.6s ease infinite; left: 4%; top: 0px; }
#illust_02 { width: 140px; animation: yureru 4.3s ease infinite; left: 20%; top: 160px; }
#illust_03 { width: 100px; animation: yureru 4.2s ease infinite; left: 3%; top: 320px; }
#illust_04 { width: 140px; animation: yureru 6.5s ease infinite; left: 24%; top: 440px; }
#illust_05 { width: 150px; animation: yureru 5.7s ease infinite; left: 8%; top: 510px; }
#illust_06 { width: 150px; animation: yureru 4.7s ease infinite; left: 26%; top: 640px; }
#illust_07 { width: 130px; animation: yureru 5.5s ease infinite; left: 1%; top: 790px; }
#illust_08 { width: 150px; animation: yureru 4.6s ease infinite; left: 13%; top: 900px; }
#illust_09 { width: 70px; animation: yureru 5.1s ease infinite; left: 30%; top: 1200px; }

#illust_10 { width: 100px; animation: yureru 5.4s ease infinite; right: 10%; top: 0px; }
#illust_11 { width: 150px; animation: yureru 4.1s ease infinite; right: 18%; top: 120px; }
#illust_12 { width: 130px; animation: yureru 5s ease infinite;   right: 5%; top: 250px; }
#illust_13 { width: 120px; animation: yureru 5.4s ease infinite; right: 23%; top: 360px; }
#illust_14 { width: 160px; animation: yureru 4.8s ease infinite; right: 25%; top: 550px; }
#illust_15 { width: 130px; animation: yureru 5.2s ease infinite; right: 5%; top: 600px; }
#illust_16 { width: 220px; animation: yureru 5.8s ease infinite; right: 20%; top: 750px; }
#illust_17 { width: 100px; animation: yureru 4.9s ease infinite; right: 10%; top: 890px; }
#illust_18 { width: 100px; animation: yureru 5.9s ease infinite; right: 30%; top: 1000px; }









.btn {
	width: 280px;
	display: block;
	padding: 10px 0;
	border: 2px solid #000;
	font-weight: bold;
	border-radius: 2px;
	text-align: center;
	margin: 0 auto;
	position: relative;
    transition: background-color 0.2s linear;
}
.btn::after {
    position: absolute;
    top: 50%;
    right: 13px;
    display: block;
    content: '';
    width: 10px;
    height: 10px;
    margin-top: -5px;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn:link {
	color: #000;
	text-decoration: none;
}
.btn:hover {
	color: #000;
	text-decoration: none;
	background: #000;
	color: #fff;
}
.btn:hover::after {
	border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}







#work {
	text-align: center;
	max-width: 939px;
	margin: 0 auto;
	letter-spacing: -.40em;
}
#work p {
    transition: .8s;
}
#work img {
	vertical-align: bottom;
}

#svg_accessmap {
	margin: 0 auto;
	display: block;
	padding: 0 20px;
}
#map {
	max-width: 800px;
    margin: 0 auto 1.4rem;
    padding: 0 20px;
    transition: .8s;

}
.gmap {
	max-width: 800px;
    margin: 0 auto 1.4rem;
    padding: 0 20px;
    transition: .8s;
}
.guide {
	max-width: 800px;
    margin: 0 auto 1.4rem;
    padding: 0 20px;
    transition: .8s;
}
#station dd {
	margin-bottom: 1.4rem;
}
#station dt,
#address dt {
	font-weight: bold;
}
footer {
	text-align: center;
	padding-bottom: 5px;
	background: #000;
	color: #fff;
    padding:5px 0 5px;
}
footer a {
    display: block;
    width: 130px;
    height: 33px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    background: url(../images/logo_kuwasawa.png) no-repeat 0 0;
    background-size: 100% auto;
    margin: 0 auto;
	margin-bottom: 10px;
	margin-top: 10px;
}

@-webkit-keyframes yureru{
0%,100%{
-webkit-transform:translateX(0) rotate(0deg);
-moz-transform:translateX(0) rotate(0deg);
-ms-transform:translateX(0) rotate(0deg);
-o-transform:translateX(0) rotate(0deg);
transform:translateX(0) rotate(0deg)
}15%{
-webkit-transform:translateX(-2%) rotate(-3deg);
-moz-transform:translateX(-2%) rotate(-3deg);
-ms-transform:translateX(-2%) rotate(-3deg);
-o-transform:translateX(-2%) rotate(-3deg);
transform:translateX(-2%) rotate(-3deg)
}30%{
-webkit-transform:translateX(1.5%) rotate(2deg);
-moz-transform:translateX(1.5%) rotate(2deg);
-ms-transform:translateX(1.5%) rotate(2deg);
-o-transform:translateX(1.5%) rotate(2deg);
transform:translateX(1.5%) rotate(2deg)
}45%{
-webkit-transform:translateX(-1%) rotate(-1deg);
-moz-transform:translateX(-1%) rotate(-1deg);
-ms-transform:translateX(-1%) rotate(-1deg);
-o-transform:translateX(-1%) rotate(-1deg);
transform:translateX(-1%) rotate(-1deg)
}60%{
-webkit-transform:translateX(.5%) rotate(.5deg);
-moz-transform:translateX(.5%) rotate(.5deg);
-ms-transform:translateX(.5%) rotate(.5deg);
-o-transform:translateX(.5%) rotate(.5deg);
transform:translateX(.5%) rotate(.5deg)
}75%{
-webkit-transform:translateX(.1%) rotate(-0.2deg);
-moz-transform:translateX(.1%) rotate(-0.2deg);
-ms-transform:translateX(.1%) rotate(-0.2deg);
-o-transform:translateX(.1%) rotate(-0.2deg);
transform:translateX(.1%) rotate(-0.2deg)}
}



 
/* header menu */
header nav {
	text-align: center;
	/*background: #efefef;*/
}
header nav ul {
	margin: 0;
	padding: 1em;
	list-style-type: none;
}
header nav ul li {
	display: inline;
	margin-left: 1em;
}
header nav ul li:first-child {
	margin-left: 0;
}
header nav ul li ul {
	display: none;
}
header a {
	color: #000;
	text-decoration: none;
	font-weight: bold;
}
header a:hover {
	padding-bottom: 5px;
	color: #cdcdcd;
}
header a, header a:hover {
	-o-transition: color 0.15s ease-in;
	-webkit-transition: color 0.15s ease-in;
	-moz-transition: color 0.15s ease-in;
	transition: color 0.15s ease-in;
}
br.mobileOn {
	display: none;
}



/*  汎用  */
.fs12 {
	font-size: 12px;
	font-size: 1.2rem;
}
.fs20 {
	font-size: 20px;
	font-size: 2.0rem;
}
.fs30 {
	font-size: 30px;
	font-size: 3.0rem;
}
.mb30 { margin-bottom: 30px !important; }

/* sns */
#boxArea {
	margin: 0 auto;
	margin-bottom: 20px;
}

/*  要素をふわっと  */
/*.list-mv07{
	opacity: 0;
	transform: translate(0,60px); 
	-webkit-transform: translate(0,60px); 
}
.mv07{
	opacity: 1.0;
	transform: translate(0,0); 
	-webkit-transform: translate(0,0);
}*/


/*  キャプションのマスク  */
.sample3 {
	overflow: hidden;
	/*margin: 10px 8px 10px 16px;*/
	position: relative;
	/*max-width: 293px;
	height: 293px;
	margin:10px;*/
	width: 31.2%;
	height: auto;
	margin:1%;
	display: inline-block;
	letter-spacing: normal;
	vertical-align: bottom;
	text-align: left;
}
.sample3 .caption {
	color: #fff;
	padding-top: 10%;
	padding-left: 0px;
	position: absolute;
	font-size: 1.6rem;
}
.sample3 .mask {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;	/* マスクを表示しない */
	background-color: rgba(0,0,0,0.4);
	-webkit-transition:	all 0.6s ease;
	transition: all 0.6s ease;
}
.sample3:hover .mask {
	opacity: 1;	/* マスクを表示する */
	padding-left: 5%;	/* 右にずらす */
}


@media screen and (max-width:900px) {
	.logo {

}
}


@media screen and (max-width:768px) { 
    section .text {
    	text-align: left;
    }
    #work {
    	padding: 0 1%;
    }
    .sample3 .caption {
    	font-size: 12px;
    	font-size: 1.2rem;
    }
    /*menu mobile start*/
    #top-head,
    .inner {
        width: 100%;
        padding: 0;
    }
    #top-head {
        top: 0;
        position: fixed;
        margin-top: 0;
    }
    /* Fixed reset */
    #top-head.fixed {
        padding-top: 0;
        background: transparent;
    }
    #mobile-head {
        background: #fff;
        width: 100%;
        height: 56px;
        z-index: 999;
        position: relative;
    }
    #top-head.fixed .logo,
    #top-head .logo {
        position: absolute;
        left: 13px;
        top: 13px;
        color: #333;
        font-size: 26px;
    }
    #global-nav {
        position: absolute;
        /* 開いてないときは画面外に配置 */
        top: -500px;
        background: #333;
        width: 100%;
        text-align: center;
        padding: 10px 0;
        -webkit-transition: .5s ease-in-out;
        -moz-transition: .5s ease-in-out;
        transition: .5s ease-in-out;
    }
    #global-nav ul {
        list-style: none;
        position: static;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    #global-nav ul li {
        float: none;
        position: static;
    }
    #top-head #global-nav ul li a,
    #top-head.fixed #global-nav ul li a {
        width: 100%;
        display: block;
        color: #fff;
        padding: 18px 0;
    }
    #nav-toggle {
        display: block;
    }
    /* #nav-toggle 切り替えアニメーション */
    .open #nav-toggle span:nth-child(1) {
        top: 11px;
        -webkit-transform: rotate(315deg);
        -moz-transform: rotate(315deg);
        transform: rotate(315deg);
    }
    .open #nav-toggle span:nth-child(2) {
        width: 0;
        left: 50%;
    }
    .open #nav-toggle span:nth-child(3) {
        top: 11px;
        -webkit-transform: rotate(-315deg);
        -moz-transform: rotate(-315deg);
        transform: rotate(-315deg);
    }
    .logo {
		width:75%;
	    margin-bottom: 2%;
        margin-left: 19%;
	}
}


@media screen and (max-width:600px) { 
    .logo {
		width: 80%;
	}
    #title .subtitle {
		font-size: 2.8rem;		
	}
    #illust img {
	width: 80%;
	}
    #logo {
    padding: 0 10%;
    }
    .logo_animation {
    width: 320px;
    height: 46px;
    }
	br.mobileOn {
	display: inline;
    }
	br.mobileNone {
	display: none;
    }
#illust_02 { left: 5%; top: 160px; }
#illust_06 { left: 2%; top: 640px; }
#illust_08 { left: 5%; top: 900px; }

#illust_10 { right: 5%; top: 0px; }
#illust_11 { right: 2%; top: 120px; }
#illust_12 { right: 2%; top: 250px; }
#illust_14 { right: 2%; top: 400px; }
#illust_17 { right: 5%; top: 800px; }
#illust_18 { right: 5%; top: 900px; }
    @keyframes smile {
      to {
        background-position: -7360px 0;
      }
    }
}

@media screen and (max-width:480px) {
	header {
	margin:0 0 30px;
	}
	#wrapper {
	margin-bottom: 50px;
	}
}

@media screen and (max-width:400px) {

}