@charset "UTF-8";

/* -----------------------------------------------
 *  	         base style setting
 * ----------------------------------------------- */

/* =========== base =========== */
html {
  margin: 0;
  padding: 0;
  font-size: 62.5%;
}

body {
  position: relative;
  margin: 0;
  padding: 0;
  color: #000000;
  word-wrap: break-word;
  font-size: 14px;
  font-size: 1.4rem;
  font-family: "Noto Sans Japanese","メイリオ", "Meiryo", "游ゴシック", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif;
  line-height: 1.6;
	opacity:0;

  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}
/* =暗転= */
body.black{
	background-color:#000;
	color: #ffffff;
	}
@media only screen and (max-width: 48em) {
  body {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

article,
aside,
figure,
figcaption,
details,
footer,
header,
hgroup,
nav,
section,
summary,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
dl,
dt,
dd {
  margin: 0;
}

ul,
input {
  padding: 0;
}

article,
aside,
figure,
figcaption,
details,
footer,
header,
hgroup,
nav,
section,
summary,
div,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
th,
td {
  box-sizing: border-box;
}

article,
aside,
figure,
figcaption,
details,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

img {
  width: 100%;
  width: 100%\9;
  border: none;
  vertical-align: middle;
}

svg{width:100%;}

a {
	color:#000;
	text-decoration: none;
	}
a:hover {
	text-decoration:none;
	}
/* =暗転= */
body.black a {
	color:#ffffff;
	}

/* =========== youtube setting =========== */
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.19%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}


/* =========== pageBase =========== */
div.base_area {
  position: relative;
  margin:0;
  padding:0;
  min-width: 320px;
  width: 100%;
}

/* =========== mainArea =========== */
div.main_area {
  margin:0;
  padding:0;
}


/* =========== headerArea =========== */
header.header_area{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	margin:0;
	padding:15px 0;
	z-index:999;
	font-family: 'Alegreya', serif;
	}
div.header_line{
	position: absolute;
	bottom:0;
	left:0;
	content:"";
	display:block;
	background-color:#000;
	width:0%;
	height:1px;
	z-index:100;
	}

h1.header_logo{
	float:left;
	width:120px;
	height:40px;
	}
h1.header_logo a{
	display:block;
	margin:0;
	padding:0;
	}
h1.header_logo a svg{
	width:120px;
	height:40px;
	fill:#000000; 
	}
/* =暗転= */
body.black h1.header_logo a svg{
	fill:#ffffff; 
	}
body.black div.header_line{
	background-color:#ffffff;
	}


/* gNav */
nav.gnav{
	float:right;
	padding:10px 0 0 0;
	}
/* 768px */
@media only screen and (max-width: 48em) {
nav.gnav{
	display: none;
	}
}

nav.gnav ul{
	list-style:none;	
	}
nav.gnav ul li{
	position:relative;
	display:inline-block;
	margin:0 20px 0 0;
	letter-spacing:2px;
	font-size:12px;
	font-weight:bold;
	font-family: 'Alegreya', serif;
	}
nav.gnav ul li a{
	text-decoration:none;
	}

/* hover */
nav.gnav ul li::after{
	display:block;
	content:"";
	position:absolute;
	bottom:0;
	left:0;
	width:0%;
	height:1px;
	background-color:#000;
	transition:all 0.3s;
	}
nav.gnav ul li:hover::after{
	width:100%;
	}
/* =暗転= */
body.black nav.gnav ul li::after{
	background-color:#ffffff;
	}


/* ==============MobileNavigation============== */
/*trigger start*/
div.header_trigger_mb{
	float: right;
	position: relative;
	margin: 10px 10px 10px 0;
	width: 26px;
	height: 18px;
	background-color: transparent;
	box-sizing: border-box;
	cursor: pointer;
	transition: all 0.3s;
}
div.header_trigger_mb::before{
	content: "";
	display: block;
	width: 26px;
	height: 1px;
	background-color: #000000;
	position: absolute;
	top: 0;
	margin: 0;
	padding: 0;
	z-index: 1;
	transition: all 0.3s;
}
div.header_trigger_mb::after{
	content: "";
	display: block;
	width: 26px;
	height: 1px;
	background-color: #000000;
	position: absolute;
	bottom: 0;
	margin: 0;
	padding: 0;
	z-index: 1;
	transform: rotate(0deg);
	transition: all 0.3s;
}
div.header_trigger_mb span.header_trigger_mb_parts{
	width: 26px;
	height: 1px;
	background-color: #000000;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto 0;
	padding: 0;
	z-index: 1;
	transition: all 0.3s;
}
/* =暗転= */
body.black div.header_trigger_mb::before{
	background-color: #ffffff;
}
body.black div.header_trigger_mb::after{
	background-color: #ffffff;
}
body.black div.header_trigger_mb span.header_trigger_mb_parts{
	background-color: #ffffff;
}


/*hover*/
/*trigger end*/

/* header_gnav_mb */
nav.header_gnav_mb{
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	z-index: 200;
}
div.header_gnav_mb_base{
	content: "";
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: #ffffff;
	opacity: 0.5;
	z-index: 201;	
}
/* ■暗転 */
body.black div.header_gnav_mb_base{
	background-color: #000000;
}

nav.header_gnav_mb div.header_gnav_mb_inner{
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding: 10px;
	width: 90%;
	height: 90%;
	background-color: #ffffff;
	box-sizing: border-box;
	border: solid 1px #000000;
	z-index: 202;
}
/*close*/
div.gnav_mb_close{
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 30px;
	background-color: #000000;
}
div.gnav_mb_close::before, div.gnav_mb_close::after{
	display: block;
	content: "";
	width: 90%;
	height: 1px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background-color: #ffffff;
}
div.gnav_mb_close::before{transform: rotate(45deg);}
div.gnav_mb_close::after{transform: rotate(-45deg);}

/* ul */
nav.header_gnav_mb div.header_gnav_mb_inner ul{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	padding: 0;
	width: 90%;
	height: 40%;
	list-style: none;
	text-align: center;
	z-index: 203;
}
nav.header_gnav_mb div.header_gnav_mb_inner ul li{
	margin: 0 0 10% 0;
	font-size: 24px;
	font-size: 2.4rem;
}
nav.header_gnav_mb div.header_gnav_mb_inner ul li a{
	text-decoration: none;
	color: #000000;
	font-family: 'Alegreya', serif;
}

/* 768px */
@media only screen and (min-width: 48em) {
div.header_trigger_mb{
	display: none;
}
}
/* =========== headerArea =========== */





/* =========== contentArea =========== */
div.content_area {
  position: relative;
	width:100%;
	margin:0 0 5% 0;
	padding:0;
	z-index:1;
}
/* 1024px */
@media only screen and (max-width: 64em) {
div.content_area {
}
}
/* 480px */
@media only screen and (max-width: 30em) {
div.content_area {
}
}


/* =========== asideArea =========== */
div.aside_area {
  position: relative;
	width:100%;
	margin:0;
	padding:0 0 5% 0;
	background:#FFF;
	z-index:1;
}


section.google_map_sect{
	position:relative;
	padding:25% 0 0 0;
	}

/* = map = */
section.google_map_sect div#map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	filter: brightness(108%) ;
}

/* 768px */
@media only screen and (max-width: 48em) {
section.google_map_sect{
	padding:40% 0 0 0;
	}
}
/* 480px */
@media only screen and (max-width: 30em) {
section.google_map_sect{
	padding:60% 0 0 0;
	}
}


/* =========== footerArea =========== */
footer.footer_area {
	position:relative;
	width:100%;
  margin:0;
  padding:50px 0;
	text-align:center;
	z-index:1;
}

/* footerLogo */
div.footer_logo{
	margin:0 auto 20px;
	}
	
div.footer_logo a{
	display: inline-block;
	}
div.footer_logo a svg{
	width:194px;
	height:20px;
	fill:#000000;
	}
div.footer_logo a:hover svg{
	fill:#333333;
	transition:0.6s;
	}


/* footer sns area */
div.footer_sns_area{
	margin:0 0 30px 0;
	padding:0;
	}

ul.sns_list{
	}
	
ul.sns_list li{
	display: inline-block;
	margin:0 10px 0 0;
	width:70px;
	height:30px;
	}
ul.sns_list li a{
	display:block;
	}
	
ul.sns_list li a svg{
	fill:#000000;
	width:30px;
	height:30px;
	}


.penguin{
	transform-origin: center bottom;
	animation: yurayura 2s linear infinite;
}
@keyframes yurayura {
  0% , 100%{
	  transform: rotate(10deg);
  }
  50%{
	  transform: rotate(0deg);
  }
}


/* footerOtherPageNavi */
nav.footer_nav{
	margin:0 0 20px 0;
	}	
nav.footer_nav ul{
	text-align:center;
	}
nav.footer_nav ul li{
	display:inline-block;
	margin:0 10px 0 0;
	font-size:1.1em;
	font-size:11px;
	font-family: 'Alegreya', serif;
  border-radius: 3px;        /* CSS3草案 */  
  -webkit-border-radius: 3px;    /* Safari,Google Chrome用 */  
  -moz-border-radius: 3px;   /* Firefox用 */  
	}
nav.footer_nav ul li a{
	text-decoration:none;
	letter-spacing:2px;
	}
/* has_back */
nav.footer_nav ul li.has_back{
	background-color:#000;
	color:#FFF;
	padding:0 5px;
	}
nav.footer_nav ul li.has_back a{
	color:#FFF;
	}


/* footer_copy */
small.footer_copy{
	text-align:center;
	font-size:1.2em;
	font-size:12px;
	letter-spacing:2px;
	font-family: 'Alegreya', serif;
	}

/* 480px */
@media only screen and (max-width: 30em) {

}


/* 1400px */
@media only screen and (max-width: 87.5em) {
}
/* 1024px */
@media only screen and (max-width: 64em) {
}
/* 960px */
@media only screen and (max-width: 60em) {
}
/* 768px */
@media only screen and (max-width: 48em) {
}
/* 720px */
@media only screen and (max-width: 45em) {
}
/* 600px */
@media only screen and (max-width: 37.5em) {
}
/* 480px */
@media only screen and (max-width: 30em) {
}
/* 320px */
@media only screen and (max-width: 20em) {
}