@charset "utf-8";
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,del,dfn,img,ins,kbd,q,s,samp,small,strike,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;vertical-align:top}
html{overflow-y:scroll}
html,body{min-height:100%;line-height:1}
input,select,textarea{vertical-align:top;margin:0}
table{border-collapse:separate;border-spacing:0}
ul,ol,li{list-style:none}
img{vertical-align:top}
*{zoom:1}
.clearfix:after{content:"";display:block;height:0;visibility:hidden;clear:both}
a{color:#000;text-decoration:none}
a:hover{color:#4A4A4A;text-decoration:underline}
#lock_body{padding:8px 0;color:#AF2548;background:#FDD;line-height:1.5}
#lock_body strong{font-size:117%}
#lock_body p{line-height:1.8}
body{color:#000;font:75%/1.5 'Open Sans',"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",メイリオ,Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;word-break:normal;word-wrap:break-word}

/*===================================================
- header
====================================================*/
#header {
  min-width: 1100px;
  height: 800px;
  position: relative;
}
#header .bg {
  position: relative;
  z-index: 0;
  height: 800px;
  background: rgba(66, 59, 58, 1);
  color: #FFF;
  background: no-repeat center;
  background-size: cover;
  color: transparent;
  font-size: 0;
}
#logo {
  position: absolute;
  z-index: 50;
  left: 50%;
  top: 50%;
  display: block;
  width: 400px;
  height: 80px;
  margin-left: -200px;
  margin-top: -40px;
}
#logo h1 {
  width: 400px;
  height: 80px;
  background: url(/static/img/logo/latte_single_w.png) no-repeat center;
  background-size: contain;
  color: transparent;
  font-size: 0;
}
#header a { color: #FFF; }
#nav {
  position: absolute;
  z-index: 50;
  left: 50%;
  top: 48px;
  display: table;
  line-height: 1.33333333;
  margin-left: -550px;
  font-family: 'Open Sans', sans-serif;
  font-size: 150%;
  font-weight: normal;
  letter-spacing: 2px;
}
#nav li {
  display: table-cell;
  vertical-align: top;
}
#nav li + li { padding-left: 24px; }
#nav a {
  position: relative;
  display: block;
  text-decoration: none;
}
#nav hr {
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 97%;
  margin: 0;
  padding: 0;
  border: none;
  border-top: solid 2px #FFF;
  opacity: 0;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#nav a:hover hr {
  opacity: 1;
  bottom: -2px;
}
#user {
  position: absolute;
  top: 48px;
  right: 50%;
  display: table;
  height: 24px;
  margin-right: -550px;
}
#user > li {
  display: table-cell;
  position: relative;
  vertical-align: middle;
}
#user > li + li { padding-left: 24px;}
#user img {
  width: 24px;
  height: 24px;
  border-radius: 12px;
}
#sub_menu {
  width: 24px;
}
#user .hover {
  position: absolute;
  display: none;
  right: -12px;
  top: -12px;
  width: 48px;
  height: 48px;
  background: rgba(255, 255, 255, .2);
  color: transparent;
  font-size: 0;
}
#user .menu {
  position: absolute;
  right: 0;
  top: 0;
  width: 24px;
  height: 24px;
  cursor: pointer;
}
#user .menu span {
  position: absolute;
  right: 0;
  top: 11px;
  display: block;
  width: 24px;
  height: 2px;
  background: rgba(255, 255, 255, 1);
  color: transparent;
  font-size: 0;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#user .menu span:before,
#user .menu span:after {
  position: absolute;
  right: 0;
  bottom: 7px;
  content:"";
  display: block;
  width: 24px;
  height: 2px;
  background: #FFF;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#user .menu span:before { bottom: 7px; }
#user .menu span:after {
  position: absolute;
  right: 0;
  top: 7px;
  content:"";
  display: block;
  width: 24px;
  height: 2px;
  background: #FFF;
}
#sub_menu.selected .menu span { background: rgba(255, 255, 255, .0); }
#sub_menu.selected .menu span:before {
  top: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}
#sub_menu.selected .menu span:after {
  top: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#menu-box {
  display: none;
  position: absolute;
  top: 36px;
  right: -12px;
  white-space: nowrap;
}
#menu-box li + li { border-top: solid 1px rgba(255, 255, 255, .4); }
#menu-box a {
  line-height: 1;
  display: block;
  padding: 10px;
  background: rgba(255, 255, 255, .2);
  text-decoration: none;
  font-size: 91%;
}
#menu-box a:hover {
  background: rgba(255, 255, 255, .4);
}
#scroll {
  position: relative;
  z-index: 50;
  width: 100%;
  height: 80px;
  padding: 0 0 20px;
  margin-top: -40px;
  text-align: center;
}
#scroll a {
  position: relative;
  display: block;
  width: 80px;
  height: 80px;
  margin: 0 auto;
  border-radius: 40px;
  background: #423B3A;
  color: #FFF;
  font-size: 91%;
  font-weight: 600;
  text-decoration: none;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#scroll a span {
  display: block;
  margin: 0 auto;
}
#scroll .text {
  padding: 28px 0 0 2px;
  letter-spacing: 2px;
}
#scroll .arrow {
  position: absolute;
  top: 50px;
  left: 50%;
  width: 20px;
  height: 11px;
  margin-left: -10px;
  background: url(/static/img/top/arrow.png) no-repeat center;
  background-size: 20px 11px;
  color: transparent;
  font-size: 0;
}
#scroll a:hover { background-color: #544543; }
#scroll a:hover .arrow {
  animation-name: arrow1;
  animation-duration: 0.6s;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
}
@keyframes arrow1 {
  0% { top: 50px; opacity: 1; }
  100% { top: 58px; opacity: 0; }
}

/*===================================================
- header
====================================================*/
#main .nav {
  width: 1100px;
  margin: 0 auto 40px;
}
#main .nav > li {
  position: relative;
  float: left;
  width: 340px;
}
#main .nav > li .arrow {
  position: absolute;
  right: 152px;
  top: 360px;
  display: none;
  width: 36px;
  height: 20px;
}
#main .nav > li a.selected + .arrow {
  display: block;
}
#main .nav > li + li { margin-left: 40px; }
#main .bg {
  width: 340px;
  height: 340px;
  background: no-repeat center;
  background-size: 340px 340px;
  color: transparent;
  font-size: 0;
}
#main .nav > li > a {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 320px;
  height: 320px;
  padding: 10px;
  background: rgba(66, 59, 58, .3);
  text-decoration: none;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#main .nav > li:hover > a { background: rgba(66, 59, 58, .6); }
#main .nav .link {
  position: absolute;
  right: 0;
  top: 0;
  display: table;
  width: 340px;
  height: 340px;
}
#main .nav .link ol {
  opacity: 0;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#main .nav .more:hover ol { opacity: 1; }
#main .nav .link a {
  line-height: 1.5;
  font-size: 200%;
  color: #FFF;
  cursor: pointer;
}
#main .nav h2 {
  position: relative;
  line-height: 318px;
  width: 318px;
  height: 318px;
  border: solid 1px rgba(255, 255, 255, .2);
  color: rgba(255, 255, 255, 1);
  font-size: 400%;
  font-weight: 300;
  text-align: center;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#main .nav > li.more:hover h2 { color: rgba(255, 255, 255, .0); }
#main .nav hr {
  position: absolute;
  margin: 0;
  padding: 0;
  border: none;
  -webkit-transition: all .3s ease;
	-moz-transition: all .3s ease;
	-o-transition: all .3s ease;
	transition: all .3s ease;
}
#main .nav .border1,
#main .nav .border3 { width: 0; border-top: solid 1px rgba(255, 255, 255, .6); }
#main .nav .border2,
#main .nav .border4 { height: 0; border-left: solid 1px rgba(255, 255, 255, .6); }
#main .nav .border1 { top: 10px; left: 10px; }
#main .nav .border2 { top: 10px; right: 10px; }
#main .nav .border3 { bottom: 10px; right: 10px;  }
#main .nav .border4 { bottom: 10px; left: 10px; }
#main .nav > li:hover > a .border1,
#main .nav > li:hover > a .border3 { width: 320px; }
#main .nav > li:hover > a .border2,
#main .nav > li:hover > a .border4 { height: 320px;}
#main .slide-box {
  display: none;
  margin: 0 0 40px;
  background: #423B3A;
}
#main .slide-box > div {
  display: none;
  width: 1100px;
  margin: 0 auto;
}
#main .slide-box > div > div {
  position: relative;
  display: table-cell;
  padding: 40px 0 40px 40px;
  vertical-align: top;
  text-align: left;
}
#main .slide-box > div > div h3 {
  position: absolute;
  z-index: 50;
  left: 40px;
  top: 52px;
  line-height: 1;
  padding: 6px;
  background: #423B3A;
  color: #FFF;
  font-size: 100%;
  font-weight: bold;
  letter-spacing: 1.33px;
  white-space: nowrap;
}
#main .slide-box > div > div.menu {
  width: 340px;
  padding: 40px 0;
}
#main .slide-box .menu ol {
  line-height: 24px;
  padding: 19px 20px;
  border: solid 1px rgba(255, 255, 255, .2);
  color: #FFF;
  font-size: 133%;
  letter-spacing: 1.5px;
}
#main .slide-box .menu a { color: #FFF; }
#main .slide-box .column {
  position: relative;
  z-index: 0;
  display: table;
  width: 100%;
}
#main .slide-box .column > li { display: table-cell; }
#main .slide-box .column > li + li { padding-left: 12px; }
#main .slide-box .column a {
  position: relative;
  display: block;
  width: 228px;
  height: 160px;
  background: no-repeat center;
  background-size: cover;
  color: #FFF;
}
#main .slide-box .column a img {
  width: 228px;
  height: 160px;
}
#main .slide-box .column .text,
#main .slide-box .column .user {
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1;
  width: 100%;
  background: rgba(66, 59, 58, .3);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .1);
}
#main .slide-box .column h4 {
  padding: 12px 12px 4px;
  font-size: 133%;
  font-weight: normal;
}
#main .slide-box .column .user h4 {
  padding: 12px;
  font-size: 100%;
}
#main .slide-box .column p {
  padding: 0 12px 12px;
  font-size: 84%;
}
#main .slide-box .category {
  width: 340px;
  padding: 40px 0;
}
#main .slide-box .category .list {
  padding: 20px;
  border: solid 1px rgba(255, 255, 255, .2);
  color: #FFF;
  font-size: 100%;
}
#main .slide-box .category .list ol {
  float: left;
  width: 50%;
}
#main .slide-box .category a {
  margin-left: 4px;
  color: #FFF;
  letter-spacing: 1.5px;
}
#main .slide-box .list li {
  display: table;
  width: 100%;
}
#column-ranking h3 { display: none !important; }
#column-ranking li + li { padding-top: 12px; }
#column-ranking li > div {
  display: table-cell;
  line-height: 1.5;
  vertical-align: middle;
}
#column-ranking li .pict {
  width: 66px;
  padding-right: 12px;
}
#column-ranking li .pict img {
  width: 66px;
  height: 66px;
}
#column-ranking a { color: #FFF; }
#column-ranking h4 {
  font-size: 117%;
  font-weight: normal;
}
#column-ranking .author {
  font-size: 91%;
  font-weight: normal;
}
#main .blog {
  display: table;
  width: 100%;
}
#main .blog li {
  display: table-cell;
  width: 350px;
}
#main .blog li + li { padding-left: 20px; }
#main .blog a {
  position: relative;
  display: block;
  width: 100%;
  height: 160px;
  background: no-repeat center;
  background-size: cover;
  color: #FFF;
}
#main .blog a .text {
  position: absolute;
  left: 0;
  bottom: 0;
  line-height: 1;
  width: 100%;
  background: rgba(66, 59, 58, .3);
  text-shadow: 2px 2px 0 rgba(0, 0, 0, .1);
}
#main .blog a h4 {
  line-height: 1.5;
  padding: 12px 12px 4px;
  font-size: 133%;
  font-weight: normal;
}
#main .blog a .author {
  padding: 0 12px 12px;
  font-size: 84%;
}

#contents{
  display: table;
  width: 1100px;
  margin: 0 auto 80px;
  padding: 40px 0 0;
}
#contents a { color: #4A4A4A; }
#contents > li{
  display: table-cell;
  white-space: nowrap;
}
#contents > li + li { padding-left: 40px; }
#contents > li.space{ padding: 22px 0 0 12px; }
#contents h3{
  line-height: 1;
  margin: 0 0 8px;
  color: #4A4A4A;
  font-size: 117%;
  font-weight:700;
}
#contents ol + h3{ margin-top: 16px; }
#contents ol > li{}
#contents ol > li.none{
  padding: 0;
  background: none;
  }
#contents img{ width: 100%; }

#footer{ background: #EEE; }
#footer ul{display:table;line-height:1.6;width:1100px;margin:0 auto;font-size:91%}
#footer ul > li{display:table-cell;width:1%;white-space:nowrap;padding:32px 0;vertical-align:middle}
#footer ul > li + li{padding-left:12px}
#footer ul > li:first-child{width:auto}
#footer img{height:16px;margin-right:12px}

/*===================================================
- footer
====================================================*/
#footer{background:#EEE}
#footer ul{display:table;line-height:1.6;width:1100px;margin:0 auto;font-size:91%}
#footer ul > li{display:table-cell;width:1%;white-space:nowrap;padding:32px 0;vertical-align:middle}
#footer ul > li + li{padding-left:12px}
#footer ul > li:first-child{width:auto}
#footer img{height:16px;margin-right:12px}

/*===================================================
- flash
====================================================*/


.flashmessage {
	position: absolute;
	z-index: 999;
	width: 100%;
	top: 0;
}

.flashmessage li {
	background-color: #FFFFD1;
	border: solid 1px #F5E38F;
	opacity: 0.90;
	padding: 5px;
	margin-top: 0;
	margin-bottom: 5px;
	font-size: 1em;
	text-align: left;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.70);
}
.flashmessage li {
	text-align: center;
	padding: 15px;
	color: #FFF !important;
	border: none !important;
	background: rgba(0, 0, 0, .9) !important;
}
