@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	list-style-type: none;
	border: none;
	box-sizing: border-box;
}

.cf:before,
.cf:after {
    content:"";
    display:table;
}
 
.cf:after {
    clear:both;
}

::-moz-selection {
	background: #323232;
	color: #FFF;
}

::selection {
	background: #323232;
	color: #FFF;
}


@font-face {
  font-family: 'NotoDemiLight';
  src: url('../font/NotoDemiLight.eot');
  src: url('../font/NotoDemiLight.woff') format('woff'),
       url('../font/NotoDemiLight.ttf')  format('truetype');
}

@font-face {
  font-family: 'NotoRegular';
  src: url('../font/NotoRegular.eot');
  src: url('../font/NotoRegular.woff') format('woff'),
       url('../font/NotoRegular.ttf')  format('truetype');
}

@font-face {
  font-family: 'Lato-Regular';
  src: url('../font/Lato-Regular.eot');
  src: url('../font/Lato-Regular.woff') format('woff'),
       url('../font/Lato-Regular.ttf')  format('truetype');
}

@font-face {
  font-family: 'Lato-Light';
  src: url('../font/Lato-Light.eot');
  src: url('../font/Lato-Light.woff') format('woff'),
       url('../font/Lato-Light.ttf')  format('truetype');
}

body {
	height: 100vh;
	font-size: 16px;
	font-family: 'NotoDemiLight',"游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3",Hiragino Kaku Gothic ProN,"メイリオ",Meiryo,sans-serif;
	color: #323232;
	line-height: 1.5;
	text-align: justify;
	box-sizing: border-box;
	background-color: #000;
}

img {
	display: block;
}

a:link {
	color: #FF734D;
	text-decoration: none;
	transition: 0.2s ease;
}

a:hover {
	color: #FF734D;
	text-decoration: none;
	opacity: 0.5;
}

a:action {
	color: #FF734D;
	text-decoration: none;
}

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

#wrapper {
	width: 100%;
	min-height: 100%;
	padding: 20px;
	background-image: url(../images/bg.jpg);
	background-size: contain; 
	animation-name: wrapper;
	animation-duration: 1.5s;
	animation-timing-function: ease;
	animation-delay: 0s;
	animation-iteration-count: 1;
}

@keyframes wrapper {
0% {
	opacity: 0;
    
}

100% { 
    opacity: 1;
}
}

#container {
	max-width: 1000px;
	padding: 30px 0 0 0;
	margin: 0 auto;
	box-shadow: 0 0 3px 3px rgba(0,0,0,.3);
	background-color: #FFF;
	background-image: url(../images/icon.svg), url(../images/icon.svg);
	background-position: 2% 2%, 98% 2%;
	background-size: 50px, 50px;
	background-repeat: no-repeat, no-repeat;
	animation-name: container;
	animation-duration: 1.7s;
	animation-timing-function: ease;
	animation-delay: 0s;
	animation-iteration-count: 1;
}

@keyframes container {
0% {
	opacity: 0;
    
}

100% { 
    opacity: 1;
}
}

article {
	width: 100%;
	padding: 0 100px;
}

#logo {
	max-width: 290px;
	margin: 0 auto 30px auto;
}

#logo a:hover {
	opacity: 1;
}

nav {
	margin: 0 auto 30px auto;
	display: table;
	font-size: 120%;
	text-align: center;
}

nav ul {
	display: -webkit-flex;
    display: flex;
	-webkit-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

nav ul li {
	font-family: 'Lato-Regular';
	line-height: 1;
	margin: 0 30px 0 0;
}

nav ul li:last-child {
	margin: 0 0 0 0;
}

/*top*/
#slogan {
	width: 100%;
	padding: 0 75px;
	margin: 0 0 70px 0;
}

#tagline {
	max-width: 520px;
	margin: 0 auto 25px auto;
}

#summary {
	margin: 0 0 50px 0;
}

#genre {
	width: 100%;
	margin: 0 0 50px 0;
}

#news {
	width: 100%;
}

#news h3 {
    font-family: 'Lato-Light';
	font-size: 170%;
	color: #01B5B8;
	line-height: 1;
	padding: 0 0 5px 0;
	margin: 0 0 15px 0;
	border-bottom: 1px solid #01B5B8;
}

#news dl {
	width: 100%;
	display: table;
	padding: 0 0 15px 0;
	margin: 0 0 15px 0;
	border-bottom: 1px dotted #7D7D7D;
}

#news dl dt {
	width: 6em;
	font-size: 70%;
	display: table-cell;
}

#news dl dd {
	font-size: 80%;
	display: table-cell;
}

/*shop*/
#shop_info {
	width: 100%;
	margin: 0 0 50px 0;
}

#place {
	width: 100%;
}

#place h2 {
	width: 100%;
	font-size: 130%;
	color: #01B6B9;
	line-height: 1;
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
	border-bottom: 1px solid #01B6B9;
}

#place p {
	font-size: 80%;
	line-height: 2;
}

#place p a {
	color: #323232;
}

/*CONTACT*/
#contact {
	width: 100%;
}

#contact p {
	margin: 0 0 50px 0;
}

#contact table {
	width: 100%;
}

#contact table tr th {
	font-weight: normal;
	font-size: 80%;
	vertical-align: middle;
}

#contact table tr td {
	width: 80%;
}

#contact table td input {
	width: 100%;
	border: 1px solid #9B9B9B;
	padding: 10px;
	margin: 0 0 20px 0;
	font-size: 100%;
	color: #323232;
}

#contact table td textarea {
	width: 100%;
	height: 150px;
	font-size: 100%;
	font-weight: normal;
	color: #323232;
	border: 1px solid #9B9B9B;
	padding: 10px;
}

#submit {
	width: 100%;
	margin: 20px 0 0 0;
	text-align: center;
}

#button_1 {
	width: 200px;
	height: 40px;
	cursor: pointer;
	font-size: 100%;
	color: #FFF;
	background: #01B6B9;
	transition: 0.3s ease;
}

#button_1:hover {
	color: #01B6B9;
	border: 1px solid #01B6B9;
	background: #FFF;
	border-radius: 3px;
}


/*PRIVACY*/
#privacy {
	width: 100%;
}

#privacy h2 {
	font-size: 100%;
	font-weight: normal;
	line-height: 1;
	margin: 0 0 10px 0;
}

#privacy p {
	font-size: 90%;
}


/*TERMS*/
#terms {
	width: 100%;
}

#terms dl {
	padding: 20px 0 0 0;
	border-top: 1px solid #DCDCDC;
}

#terms dl dt {
	font-size: 100%;
	line-height: 1;
	margin: 0 0 5px 0;
}

#terms dl dd {
	width: 100%;
	font-size: 90%;
	padding: 0 10px 20px 0;
	margin: 0 0 20px 0;
	border-bottom: 1px solid #DCDCDC;
}

#terms dl dd a {
	color: #323232;
}

footer {
	width: 100%;
	padding: 100px 0 0 0;
	background-image: url(../images/icon.svg), url(../images/icon.svg);
	background-position: 2% 30px, 98% 30px;
	background-size: 50px, 50px;
	background-repeat: no-repeat, no-repeat;
}

footer p {
	background-color: #01B5B8;
	font-family: 'Lato-Regular';
	font-size: 70%;
	color: #FFF;
	text-align: center;
	line-height: 2.5;
}

@media screen and (max-width: 1000px) {
body {
	font-size: 14px;
}

#logo {
	margin: 0 auto 35px auto;
}

article {
	padding: 0 50px;
}

/*top*/
#slogan {
	padding: 0 35px;
	margin: 0 0 25px 0;
}

#summary {
	margin: 0 0 25px 0;
}

#genre {
	margin: 0 0 25px 0;
}

/*shop*/
#shop_info {
	margin: 0 0 35px 0;
}

/*contact*/
#contact p {
	margin: 0 0 25px 0;
}

footer {
	margin: 50px 0 0 0;
}
}

@media screen and (max-width: 700px) {
#container {
	background-image: none;
}

#logo {
	max-width: 190px;
	margin: 0 auto 15px auto;
}

article {
	padding: 0 20px;
}

/*top*/
#genre {
	display: none;
}

#news dl dt {
	display: table;
}

#news dl dd {
	display: table;
}

/*contact*/
#contact table tr th {
	width: 100%;
	display: block;
}

#contact table tr td {
	width: 100%;
	display: block;
}
}