@charset utf-8;

/* -------------------------------------------
 * initialize
 */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
}

ul li {
  list-style: none;
}

input, select {
  vertical-align: middle;
}

.hide {
  display: none;
}

.clear {
  clear: both;
}

.float-left {
  float: left;
  display: inline;
}

.float-right {
  float: right !important;
  display: inline;
}

.clearfix:before, .clearfix:after{content:""; display:table;}
.clearfix:after{clear:both;}
.clearfix{zoom:1;}


/* --------------------------------------------------
 * common styles
 */

body {
  font-family: Meiryo, 'Hiragino Kaku Gothic Pro', 'MS PGothic', sans-serif;
  background: url(../images/bg.png) repeat 0 0;
  overflow-x: hidden;
  overflow-y: scroll;
}

a {
}

a:hover {
}

img {
  vertical-align: top;
}

* {
  box-sizing: border-box;
}

.pc {display: block;}
img.pc {display: inline-block;}
.sp {display: none;}


/* --------------------------------------------------
 * layout
 */

.page-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 151px;
}

.page-header h1 {
  height: 107px;
  text-align: center;
}

.page-header h1 img {
  width: 136px;
  height: 90px;
}

.page-header nav ul {
/*  margin: 0 0 13px; */
}

.page-header nav ul li {
  padding: 0 0 1px;
}

.page-header nav ul li a {
  display: block;
  width: 151px;
  height: 35px;
  text-align: center;
  text-decoration: none;
  color: #FFF8E0;
  font-size: 12px;
  line-height: 35px;
}

.page-header nav ul li:nth-child(1) a {background: url(../images/side/nav1-bg.png) no-repeat 0 0;}
.page-header nav ul li:nth-child(1).active a,
.page-header nav ul li:nth-child(1) a:hover {
  background: url(../images/side/nav1-bg-on.png) no-repeat 0 0;
}
.page-header nav ul li:nth-child(2) a {background: url(../images/side/nav2-bg.png) no-repeat 0 0;}
.page-header nav ul li:nth-child(2).active a,
.page-header nav ul li:nth-child(2) a:hover {
  background: url(../images/side/nav2-bg-on.png) no-repeat 0 0;
}
.page-header nav ul li:nth-child(3) a {background: url(../images/side/nav3-bg.png) no-repeat 0 0;}
.page-header nav ul li:nth-child(3).active a,
.page-header nav ul li:nth-child(3) a:hover {
  background: url(../images/side/nav3-bg-on.png) no-repeat 0 0;
}
.page-header nav ul li:nth-child(4) a {background: url(../images/side/nav4-bg.png) no-repeat 0 0;}
.page-header nav ul li:nth-child(4).active a,
.page-header nav ul li:nth-child(4) a:hover {
  background: url(../images/side/nav4-bg-on.png) no-repeat 0 0;
}
.page-header nav ul li:nth-child(5) a {background: url(../images/side/nav5-bg.png) no-repeat 0 0;}
.page-header nav ul li:nth-child(5).active a,
.page-header nav ul li:nth-child(5) a:hover {
  background: url(../images/side/nav5-bg-on.png) no-repeat 0 0;
}

.page-header .social h2 {
  padding: 10px 0 4px 8px;
}

.page-header .social > div {
  width: 139px;
  height: 149px;
  margin: 0 0 0 5px;
  padding: 20px 15px 0;
  background: url(../images/side/social-bg.png) no-repeat 0 0;
}

.page-header .social > div > div {
  height: 32px;
  margin: 0;
}

.page-header .social > div .twitter {
  padding-left: 3px;
}

.page-header .social > div .google {
  padding-left: 20px;
}

.page-header .social > div .mixi {
  padding-right: 5px;
  text-align: center;
}

.contents {
  min-width: 1100px;
  padding-left: 151px;
  background: url(../images/side/bg.png) repeat-y 0 0 fixed;
}

.page-top {
  position: fixed;
  right: 50px;
  bottom: 100px;
  z-index: 10;
}

.page-top img {
  position: relative;
  display: none;
}

.page-footer {
  min-width: 1100px;
  height: 82px;
  padding: 20px 110px 0 25px;
  background-color: #2E1306;
}

.page-footer .logo {
  float: right;
}

.page-footer nav ul {
  margin: 7px 0 15px;
  font-size: 0;
}

.page-footer nav ul li {
  display: inline-block;
  margin: 0 18px 0 0;
  font-size: 11px;
  line-height: 11px;
}

.page-footer nav ul li a {
  text-decoration: none;
  color: #FFFFFF;
}

.page-footer nav ul li a:hover {
  text-decoration: underline;
}

.page-footer .copyright {
  color: #FFFFFF;
  font-size: 11px;
  line-height: 11px;
}

section.attention {
  width: 920px;
  margin: 0 auto 30px;
}


/* --------------------------------------------------
 * Top
 */

#top {
  padding-top: 45px;
}

#top .main-image {
  position: relative;
  width: 100%;
  margin: 0 auto 20px;
  padding: 0 0 0 7.5%;
}

#top .main-image .image {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 1;
}

#top .main-image .steam li {
  display: none;
  position: absolute;
  top: 17%;
  left: 12.3%;
  width: 65.5%;
  z-index: 2;
}

#top .main-image .steam li:first-child {
  display: block;
}

#top .main-image .steam li img {
  width: 100%;
  height: auto;
}

#top .main-image .lead {
  position: absolute;
  top: 12%;
  left: 10%;
  width: 73%;
  z-index: 3;
}

#top .main-image .text {
  display: none;
  position: absolute;
  width: 21%;
  z-index: 3;
}

#top .main-image .text1 {
  top: -6%;
  left: 10%;
}

#top .main-image .text2 {
  top: -6%;
  left: 68%;
}

#top .main-image .text3 {
  top: 74%;
  left: 6.5%;
}

#top .main-image .text4 {
  top: 79%;
  left: 66%;
}

#top .main-image p img {
  width: 100%;
  height: auto;
}

#top .banner {
  margin: 0 0 20px;
  text-align: center;
}

#top section.main {
}

#top section.main header {
  text-align: center;
}

#top section.main header .text1 {
  margin: -8px 0 5px;
}

#top section.main header .text2 {
  margin: 0 0 22px;
}

#top section.main .introduction {
  width: 475px;
  height: 433px;
  margin: 0 auto 20px;
}

#top section.main .introduction1 {
  width: 811px;
  height: 40px;
  margin: 0 auto 20px;
}

#top section.main .introduction h3 {
  margin: 0 0 8px;
}

#top section.main .introduction div {
  position: relative;
}

#top section.main .introduction div p {
  position: absolute;
  color: #682600;
  font-size: 12px;
  line-height: 18px;
}

#top section.main .introduction .introduction1 {
  float: left;
  width: 508px;
  height: 372px;
  background: url(../images/top/introduction1-bg.png) no-repeat 0 0;
}

#top section.main .introduction .introduction1 .caption1 {
  top: 220px;
  left: 3px;
  width: 240px;
  text-align: center;
}

#top section.main .introduction .introduction1 .caption2 {
  top: 220px;
  left: 130px;
  width: 240px;
  text-align: center;
}

#top section.main .introduction .introduction1 .text {
  top: 290px;
  left: 80px;
  width: 360px;
  line-height: 21px;
  letter-spacing: -0.03em;
}

#top section.main .introduction .introduction2 {
  float: right;
  width: 276px;
  height: 372px;
  background: url(../images/top/introduction2-bg.png) no-repeat 0 0;
}

#top section.main .introduction .introduction2 .caption {
  top: 284px;
  left: 0;
  width: 100%;
  text-align: center;
  line-height: 20px;
}

#top section.main .introduction .introduction2 .text {
  top: 47px;
  left: 42px;
}

#top section.main .howto {
  position: relative;
}

#top section.main .howto h3 {
  position: absolute;
  top: 10%;
  left: 3%;
  z-index: 2;
}

#top section.main .howto .image {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 1;
}

#top section.main .howto .text-block {
  position: absolute;
  left: 3%;
  bottom: 10%;
  width: 450px;
  height: 154px;
  padding: 19px 0 0 13px;
  background: url(../images/top/howto-text-bg.png) no-repeat 0 0;
  z-index: 2;
}

#top section.main .howto .text-block .text {
  margin: 0 0 24px;
}

#top section.main .cm {
  position: relative;
  width: 899px;
  height: 687px;
  margin: 18px auto 0;
}

#top section.main .cm h3 {
  position: absolute;
  top: 0;
  left: 0;
}

#top section.main .cm .movies {
  position: absolute;
  top: 152px;
  left: 100px;
  width: 708px;
  height: 510px;
  background: url(../images/top/cm-bg.png) no-repeat 0 bottom;
}

#top section.main .cm .movies .tabs {
  overflow: hidden;
}

#top section.main .cm .movies .tabs li {
  float: left;
  width: 234px;
  height: 75px;
  cursor: pointer;
}

#top section.main .cm .movies .tabs [data-movie='1'] {
  background: url(../images/top/cm-tab1.png) no-repeat 0 0;
}

#top section.main .cm .movies .tabs [data-movie='1'].on {
  background: url(../images/top/cm-tab1-on.png) no-repeat 0 0;
}

#top section.main .cm .movies .tabs [data-movie='2'] {
  background: url(../images/top/cm-tab2.png) no-repeat 0 0;
}

#top section.main .cm .movies .tabs [data-movie='2'].on {
  background: url(../images/top/cm-tab2-on.png) no-repeat 0 0;
}

#top section.main .cm .movies .tabs [data-movie='3'] {
  background: url(../images/top/cm-tab3.png) no-repeat 0 0;
}

#top section.main .cm .movies .tabs [data-movie='3'].on {
  background: url(../images/top/cm-tab3-on.png) no-repeat 0 0;
}

#top section.main .cm .movies .youtube {
  position: absolute;
  top: 75px;
  left: 18px;
  width: 664px;
  height: 405px;
  overflow: hidden;
}

#top section.main .cm .movies .youtube li {
  display: none;
}

#top section.main .cm .movies .youtube li.on {
  display: block;
}

#top section.main .cm .movies .youtube .movie-thumbnail,
#top section.main .cm .movies .youtube iframe.pc {
  position: absolute;
  top: 0;
  left: 0;
  width: 664px;
  height: 405px;
}

#top section.main .cm .movies .youtube .movie-thumbnail {
  cursor: pointer;
}

#top .page-top {
  margin-top: -30px;
}


/* --------------------------------------------------
 * howto/
 */

#howto .main header {
  position: relative;
  margin: 0 0 6%;
}

#howto .main header h2 {
  position: absolute;
  top: 10%;
  left: 3%;
  width: 63%;
  z-index: 2;
}

#howto .main header h2 img {
  width: 100%;
  height: auto;
}

#howto .main header .image {
  position: relative;
  width: 100%;
  height: auto;
  z-index: 1;
}

#howto .main header .text {
  position: absolute;
  left: 3%;
  bottom: -7%;
  width: 96%;
  z-index: 2;
}

#howto .main header .text img {
  width: 100%;
  height: auto;
}

#howto .movie {
  width: 949px;
  height: 430px;
  margin: 0 auto;
}

#howto .movie .text {
  margin: 0 0 10px;
  text-align: center;
}

#howto .movie .youtube {
  position: relative;
  width: 915px;
  height: 375px;
  margin: 0 auto;
  background: url(../howto/images/movie-bg.png) no-repeat 0 0;
}

#howto .movie .youtube .movie-thumbnail,
#howto .movie .youtube iframe {
  position: absolute;
  top: 14px;
  left: 209px;
  width: 512px;
  height: 313px;
  z-index: 2;
}

#howto .movie .youtube .movie-thumbnail {
  cursor: pointer;
  z-index: 1;
}

#howto .flow h3 {
  margin: 0 0 20px;
  text-align: center;
}

#howto .flow ol {
  width: 949px;
  margin: 0 auto;
  overflow: hidden;
}

#howto .flow ol li {
  float: left;
  width: 316px;
  padding: 0 0 0 16px;
  list-style: none;
}

#howto .flow ol li img {
  width: 292px;
  height: auto;
}

#howto .stop {
  width: 949px;
  margin: 0 auto 28px;
  overflow: hidden;
}

#howto .stop h3 {
  margin: 0 0 15px;
  text-align:center;
}

#howto .stop dl {
  float: left;
  width: 474px;
  margin: 0 0 14px;
  padding: 0 0 0 12px;
}


/* --------------------------------------------------
 * voice/
 */

#voice h2 {
  width: 100%;
  margin: 0 0 25px;
}

#voice h2 img {
  width: 100%;
  height: auto;
}

#voice .voice {
  position: relative;
  width: 949px;
  height: 443px;
  margin: 0 auto;
}

#voice .graph {
  position: absolute;
  top: 0;
  left: 315px;
  z-index: 1;
}

#voice .graph img {
  width: 335px;
  height: 375px;
}

#voice .text {
  position: absolute;
  top: 384px;
  left: 274px;
}

#voice .text img {
  width: 416px;
  height: auto;
}

#voice ul li {position: absolute; z-index: 2;}
#voice .voice1 {top: 163px; left: 617px;}
#voice .voice2 {top: 9px; left: 49px;}
#voice .voice3 {top: 192px; left: 30px;}
#voice .voice4 {top: 9px; left: 595px;}
#voice .voice5 {top: 85px; left: 623px;}
#voice .voice6 {top: 109px; left: 21px;}
#voice .voice7 {top: 283px; left: 604px;}
#voice .voice8 {top: 292px; left: 43px;}

#voice .advice {
  text-align: center;
}


/* --------------------------------------------------
 * recipe/
 */

body.recipe-bg {
  background: url(../recipe/images/bg.jpg) no-repeat;
  background-size: cover;
}

body.recipe-bg .contents {
  background-image: url(../recipe/images/nav-bg.png);
}

#recipe h2 {
  margin: 0 0 25px;
}

#recipe h2 img {
  width: 100%;
  height: auto;
}

#recipe .recipe {
  position: relative;
  width: 949px;
  margin: 0 auto;
}

#recipe .recipe h3 {
  text-align: center;
}

#recipe .recipe ol {
  height: 480px;
  padding: 20px 0 0 20px;
  list-style: none;
}

#recipe .recipe ol li {
  position: relative;
  float: left;
  width: 210px;
  height: 414px;
  margin: 0 16px 0 0;
  box-shadow: 0 0 8px 2px rgba(0, 0, 0, 0.3);
  line-height: 0;
  background-color: #FFFFFF;
}

#recipe .recipe ol li a {
  display: block;
  width: 210px;
  height: 414px;
  padding: 15px 0 0;
  text-decoration: none;
}

#recipe .recipe ol li a:hover {
  background-color: #FFCF9C;
}

#recipe .recipe ol li .n {
  position: absolute;
  top: -20px;
  left: -12px;
}

#recipe .recipe ol li .image,
#recipe .recipe ol li .name img {
  display: block;
  margin: 0 auto;
}

#recipe .recipe ol li dl dt {
  margin: 0 0 8px;
  text-align: center;
}

#recipe .recipe ol li dl dd p {
  padding: 0 12px;
  color: #60290D;
  font-size: 12px;
  line-height: 18px;
}

#recipe .recipe ol li .link {
  display: block;
  position: absolute;
  left: 50px;
  bottom: 10px;
  width: 110px;
  height: 20px;
  padding: 0 0 0 22px;
  border-radius: 10px;
  color: #FFFFFF;
  text-decoration: none;
  font-size: 11px;
  line-height: 20px;
  background: #5E1E00 url(../recipe/images/arrow-icon.png) no-repeat 12px center;
  background-size: 6px 9px;
}


/* 追加 20151210 */

#recipe .recipe.xmas{
  position: relative;
  width: 949px;
  margin: 0 auto;
}

#recipe .recipe.xmas ol {
  height: 520px;
}

#recipe .recipe.xmas ol li {
  width: 402px;
  height: 393px;
	margin: 0 0 0 72px;
}

#recipe .recipe.xmas ol li:first-child{
	margin: 0 0 0 0px;
}

#recipe .recipe.xmas ol li a {
  width: 402px;
  height: 393px;
}

#recipe .recipe.xmas ol li .link {
  left: 146px;
}

/* --------------------------------------------------
 * 追加 20151210
 * mikimama/
 */

#mikimama .main{
	padding-bottom:80px;
}

#mikimama .main header{
	margin: 0 0 25px;
	padding:0;
	display:block;
	width: 100%;
}

#mikimama .main header h2 {
  width: 100%;
  margin:0;
}

#mikimama .main header h2 img {
  width: 100%;
  height: auto;
}

#mikimama .main header p{
	width: 100%;
  margin:0;
}

#mikimama .main header p img {
  width: 100%;
  height: auto;
}

#mikimama .main .kitkatpizza {
  position: relative;
  width: 949px;
  margin: 0 auto;
	font-size:14px;
}

#mikimama .main .kitkatpizza h3{
	text-align:center;
}

#mikimama .main .kitkatpizza .process{
	display:table;
	width: 873px;
	margin:10px auto 20px auto;
}

#mikimama .main .kitkatpizza .process .box{
	display:table-cell;
	position:relative;
	width:245px;
	padding:8px;
	color:#FFFFFF;
	background:url(../mikimama/images/kitkatpizza-step_bg1.gif) center top;
}

#mikimama .main .kitkatpizza .process .box.step2{
	background:url(../mikimama/images/kitkatpizza-step_bg2.gif) center top;
}

#mikimama .main .kitkatpizza .process .box .photo{
	margin:0 0 0 0;
}

#mikimama .main .kitkatpizza .process .box .photo img{
	width:244px;
}

#mikimama .main .kitkatpizza .process .box .text{
	text-align:center;
}

#mikimama .main .kitkatpizza .process .box .text em{
	font-size:18px;
	font-weight:bold;
	font-style:normal;
}

#mikimama .main .kitkatpizza .process .box .text p.ls{
	letter-spacing: -0.5px;
}

#mikimama .main .kitkatpizza .process .box .text .note{
	font-size:10px;
}

#mikimama .main .kitkatpizza .process .box.step1 .text,
#mikimama .main .kitkatpizza .process .box.step3 .text{
	padding:2em 0;
}

#mikimama .main .kitkatpizza .process .box.step2 .text{
	padding:0.5em 0;
}

#mikimama .main .kitkatpizza .process .box.step2 .text .btn{
	margin:0.5em 0 0 0;
}

#mikimama .main .kitkatpizza .process .box.step2 .text .btn img{
	width:219px;
}

#mikimama .main .kitkatpizza .process .arrow{
	display:table-cell;
	vertical-align:middle;
	width:45px;
	text-align:center;
}

#mikimama .main .kitkatpizza .arrow2{
	text-align:center;
}

#mikimama .main .kitkatpizza .finish{
	margin:-10px 0 0 0;
}

#mikimama .main .profile{
	display:table;
	background:url(../mikimama/images/profile-bg.gif) center top;
	border-radius:8px;
	width:732px;
	padding:0;
	margin:60px auto 0 auto;
	color:#FFFFFF;
	font-size:11px;
	overflow:hidden;
}

#mikimama .main .profile .photo{
	display:table-cell;
	padding:0 25px;
	vertical-align:middle;
}

#mikimama .main .profile .photo img{
	width:121px;
}


#mikimama .main .profile .text{
	display:table-cell;
	text-align:left;
	width:100%;
	padding:0 20px;
	vertical-align:middle;
	line-height:180%;
}

#mikimama .main .profile .text h3{
	font-size:18px;
	margin:0 0 0.4em 0;
	padding:0;
	line-height:100%;
	display:block;
}

#mikimama .main .profile .text br.none-pc{
	display:none;
}

#mikimama .main .profile a{
	color:#FFFFFF;
}

/*language*/
.language{
  width: 749px;
  margin: 0 auto;
  position: absolute;
  z-index: 10000;
  right: 10%;
}

@media screen and (max-width: 640px){
  .language{
    width: 749px;
    margin: 0 auto;
    position: absolute;
    z-index: 10000;
    right: 10px;
  }
  .language ul{
    margin: 3px 0px 0px;
  }
}
.language li{
  float: right;
  text-align: center;
}
.language li a{
  padding: 5px 18px;
  background:#5e1a00;
  min-width: 62px;
  font-weight: 900;
  font-size: 14px;
  color: white;
  text-decoration: none;
}
.language li a:hover{
  padding: 5px 18px;
  background:#d60019;
  min-width: 62px;
  font-weight: 900;
  font-size: 14px;
  color: white;
  text-decoration: none; 
}
.language .active{
  padding: 5px 18px;
  background:#d60019;
  min-width: 62px;
  font-weight: 900;
  font-size: 14px;
  color: white;
  text-decoration: none; 
}