@charset "utf-8";
/*
Theme Name: Theme Marujyu
Author:
Version: 1.0.0
*/
html,
body {
  color: #2d1f14;
  font-size: 15px;
  font-family: "FOT-筑紫明朝 Pr6 M", serif;
  font-weight: 500;
  letter-spacing: 0.1em;
}

input,
select,
textarea {
  color: #2d1f14;
  font-family: "FOT-筑紫明朝 Pr6 M", serif !important;
  font-size: 15px;
}

* {
  margin: 0;
  padding: 0;
  font-size: 100%;
  font-weight: 500;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

a {
  text-decoration: none;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

a:after {
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}

.flex {
  display: flex;
  justify-content: space-between;
}
.border-box {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

.cf:after {
  clear: both;
  display: block;
  content: "";
}

.lang_btn {
  position: fixed;
  left: 20px;
  top: 20px;
  color: #fff;
  z-index: 11111;
}

.lang_btn a {
  color: #fff;
}

.lang_btn.change {
  color: #1b2b35;
}

.lang_btn.change a {
  color: #1b2b35;
}

#nav-toggle {
  display: block;
  position: fixed;
  right: 20px;
  top: 20px;
  width: 30px;
  height: 26px;
  padding: 20px 18px;
  cursor: pointer;
  z-index: 11111;
  background: #fff;
  border-radius: 50%;
  -moz-border-radius: 50%;
  -webkit-border-radius: 50%;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

#nav-toggle.change {
  background: #1b2b35;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #1b2b35;
  left: 0;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}

#nav-toggle.change span {
  background: #fff;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

.open #nav-toggle {
  /* right: 150px; */
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.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 {
  background-color: #1b2b35;
  width: 100%;
  height: 120px;
  padding-top: 20px;
  margin: 0;
}

#logo a {
  display: block;
  width: 100px;
  height: 95px;
  background: url(img/logo_white.png) no-repeat;
  text-indent: -9999px;
  margin: 0 auto 20px;
  background-size: contain;
}

#top-head nav {
  position: fixed;
  top: 0;
  left: 100%;
  width: 300px;
  height: 100%;
  background-color: rgba(142, 14, 14, 0.9);
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.open #top-head nav {
  left: -webkit-calc(100% - 300px);
  left: calc(100% - 300px);
  -webkit-transition: 0.5s;
  transition: 0.5s;
  overflow-y: auto;
  z-index: 1001;
}

.open nav.fixed {
  right: 0;
}

nav ul {
  margin-top: 50px;
}

nav ul li {
  text-align: center;
  margin-bottom: 10px;
}

nav ul li a {
  color: #fff;
}

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

nav ul img {
  width: 100px;
  margin-bottom: 50px;
}

nav .flex {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

nav .flex a {
  width: 36px;
  height: 36px;
  transition: 0.3s;
  margin: 8px;
}

nav .flex a:hover {
  opacity: 0.8;
}

.main section {
  padding: 50px 0;
  background: url(img/back1.png);
}

.main section .inner {
  width: 70%;
  max-width: 850px;
  margin: 0 auto;
}

.main h1 {
  font-size: 29px;
  margin: 36px 0;
  text-align: center;
}

.main p {
  margin: 36px 0;
}

footer {
  background-color: #1b2b35;
  padding: 50px 0;
  color: #fff;
}

footer a {
  color: #fff;
}

footer .inner {
  width: 90%;
  margin: 0 auto;
}

footer .left {
  width: 40%;
  float: left;
}

footer .left img {
  float: right;
  width: 100px;
  margin-right: 60px;
}

footer .right {
  width: 60%;
  float: right;
}

footer p {
  margin-top: 10px;
  font-size: 13px;
}

footer p.copy {
  font-size: 10px;
}

/******************************************************************************************************
*******************************************************************************************************
    INDEX
*******************************************************************************************************
******************************************************************************************************/

section.top_img {
  padding: 0;
  background: none;
}

.top_img li {
  display: block;
  width: 100%;
  height: 480px;
  /* 600px */
  background-size: cover;
}

.sl_0 {
	background: url(img/180th.png) center center no-repeat;
}

.sl_0 a {
	width: 100%;
	height: 100%;
	display: block;
}

.sl_1 {
  background: url(img/slide1.jpg) center center no-repeat;
}

.sl_2 {
  background: url(img/slide2.jpg) center center no-repeat;
}

.sl_3 {
  background: url(img/slide3.jpg) center center no-repeat;
}

.sl_4 {
  background: url(img/slide4.jpg) center center no-repeat;
}

.sl_5 {
  background: url(img/slide5.jpg) center center no-repeat;
}

section.news {
  padding: 30px 0;
  background: none;
}

.news .inner .left {
  float: left;
  width: 120px;
}

.news .inner img {
  margin-top: 30px;
  width: 95px;
}

.news .inner .right {
  float: right;
  width: -webkit-calc(100% - 120px);
  width: calc(100% - 120px);
}

.news .inner ul {
  display: block;
}

.news .inner ul li {
  margin-bottom: 0.8em;
  font-size: 1em;
}

.news .inner ul li a {
  color: #9b001e;
  text-decoration: underline;
}

.roots .inner {
  width: 100%;
  margin: 0 auto;
}

.roots h1,
.roots p {
  text-align: center;
}

.roots img {
  display: block;
  width: 100%;
  max-width: 850px;
  margin: 0 auto;
}

.index section.syouyu {
  padding: 50px 0;
  background: url(img/back2.png);
  color: #fff;
  overflow: hidden;
}

.syouyu .left {
  float: left;
  width: 50%;
}

.syouyu .left .inner {
  float: right;
  width: 340px;
  margin-right: 40px;
}

.syouyu h1,
.miso h1 {
  margin-top: 1em;
}

.syouyu h1 {
  text-align: left;
}

.syouyu .right {
  float: right;
  width: 50%;
}

.syouyu .right img {
  max-height: 350px;
  margin-left: 40px;
}

.index section.miso {
  padding: 50px 0;
  background: url(img/back3.png);
  overflow: hidden;
}

.miso .left {
  float: left;
  width: 50%;
}

.miso .left img {
  float: right;
  max-height: 350px;
  margin-right: 40px;
}

.miso .right {
  float: right;
  width: 50%;
}

.miso .right .inner {
  float: left;
  width: 340px;
  margin-left: 40px;
  text-align: right;
}

.miso h1 {
  text-align: right;
}

section.map {
  height: 500px;
  padding: 0;
  background: none;
}

.map .left {
  float: left;
  width: 60%;
}

#monomap3 {
  height: 500px;
}

.map .right {
  float: right;
  width: 40%;
  text-align: center;
}

.map .right img {
  width: 114px;
  margin: 60px 0 24px;
}

section.contact {
  padding: 50px 0;
  background: url(img/back1.png);
}

.contact .inner {
  background-color: #fff;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 50px;
}

.contact h1 {
  text-align: center;
  padding: 50px 0;
}

.contact table {
  width: 100%;
  max-width: 680px;
  border-collapse: collapse;
  margin: 0 auto;
}

/*.contact table tr.48, .contact table tr.48 input {
  height: 48px;
}*/

.contact table th {
  width: 23%;
  text-align: right;
  vertical-align: middle;
  padding-right: 15px;
  white-space: nowrap;
}

.contact table td {
  display: block;
  border-top: 1px solid #000;
}

.contact table td.last {
  border-bottom: 1px solid #000;
}

.contact input,
.contact textarea {
  border: none;
  width: 100%;
  padding: 5px 0;
}

.contact textarea {
  height: 170px;
  font-size: 16px;
}

input {
  vertical-align: middle;
}

input:focus,
textarea:focus {
  outline: 0;
}

.send {
  margin-top: 40px;
  text-align: center;
}

.send input {
  width: 150px;
  height: 35px;
  background: #fff;
  cursor: pointer;
  border-bottom: 1px solid #fff;
}

.send input:hover {
  border-bottom: 1px solid #2d1f14;
}

#ec_banner a {
  position: fixed;
  right: 100%;
  bottom: 25px;
  display: block;
  width: 250px;
  height: 250px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

.appear #ec_banner a {
  right: -webkit-calc(100% - 275px);
  right: calc(100% - 275px);
}

#bounce_600ml {
  position: fixed;
  right: 25px;
  left: auto;
  top: 0;
  width: auto;
  max-width: 90vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  z-index: 1000;
  pointer-events: none;
  transform: translate(0, -120vh);
  will-change: transform;
}

#bounce_600ml img {
  display: block;
  height: 40vh;
  width: auto;
  max-width: 90vw;
}

#bounce_600ml .bounce-text {
  display: inline-block;
  margin: 0;
  padding: 10px 16px;
  border-radius: 8px;
  background: #b02020;
  color: #fff;
  font-size: 20px;
  line-height: 1.4;
  opacity: 0;
  transition: opacity 2.5s ease;
}

#bounce_600ml.show-text .bounce-text {
  opacity: 1;
}

/******************************************************************************************************
*******************************************************************************************************
    NEWS
*******************************************************************************************************
******************************************************************************************************/

div.news section,
div.single section {
  min-height: calc(100vh - 435px);
}

.news dl {
  width: 100%;
  margin-bottom: 50px;
  border-bottom: 1px solid #000;
}

.news dt,
.news dd {
  border-top: 1px solid #000;
  padding: 7px 0;
}

.news dt {
  float: left;
  width: 10em;
}

.news .last {
  border-bottom: 1px solid #000;
}

/******************************************************************************************************
*******************************************************************************************************
    SINGLE
*******************************************************************************************************
******************************************************************************************************/

.single h1 {
  padding-bottom: 36px;
  border-bottom: 1px solid #000;
}

.single article {
  width: 95%;
  margin: 0 auto 50px;
}

.single article h1 {
  font-size: 24px;
  text-align: left;
  border: none;
  padding: 0;
}

.single article .left {
  float: left;
  width: 47%;
}

.single article .right {
  float: right;
  width: 47%;
}

.single img {
  max-width: 100%;
  height: auto;
}

.paging {
  width: 95%;
  margin: 0 auto;
}

/******************************************************************************************************
*******************************************************************************************************
    ITEM
*******************************************************************************************************
******************************************************************************************************/

.item section {
  padding: 25px 0 50px;
}

.item section.first {
  padding-top: 90px;
}

.item section:last-child {
  padding-bottom: 90px;
}

.main.item section .inner {
  width: 85%;
  max-width: 1000px;
}

.item h2 {
  width: 100%;
  max-width: 500px;
  font-size: 36px;
  text-align: center;
  border-bottom: 1px solid #444;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  cursor: pointer;
}

.item h2::before {
	position:absolute;
	top: 45%;
	left: 10px;
	transition: 0.4s;
	content: "";
	width: 20px;
	height: 10px;
	background: url(img/products/caret.png);
	background-size: contain;
}

.item h2.active::before {
	transform: translateY(-50%) rotateZ(-540deg);
}

.item h3 {
  font-size: 20px;
  font-weight: bold;
}

.main.item p {
  font-size: 13px;
  margin: 18px 0 36px;
}

.item .hidden_show {
  display: none;
}

.item .hidden_show > .flex {
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px dashed #444;
}

.item .col_2 .hidden_show > .flex {
  border-bottom: none;
}

.item .hidden_show > .flex > div {
  width: 48%;
}

.item .hidden_show .flex .flex > div {
  width: 48%;
}

.item .col_2 .hidden_show .flex .flex {
  align-items: center;
  padding: 25px 0;
  border-bottom: 1px dashed #444;
}

.item .col_2 .hidden_show .flex .flex.bb_none {
  border-bottom: none;
}

.item .hidden_show .flex .flex.retort > div:nth-child(1) {
  width: 38%;
}

.item .hidden_show .flex .flex.retort > div:nth-child(2) {
  width: 58%;
}

.item .flex img {
  display: block;
  margin: 0 auto;
}

.item .amai_img {
  display: block;
  margin: 50px auto 25px;
}

.item .purchase img {
  display: block;
  margin: 45px auto 35px;
}

/******************************************************************************************************
*******************************************************************************************************
    COMPANY
*******************************************************************************************************
******************************************************************************************************/

.company table {
  width: 100%;
}

.company table tr {
  border-top: 1px solid #000;
}

.company table tr.last {
  border-bottom: 1px solid #000;
}

.company table th {
  text-align: left;
  white-space: nowrap;
  padding-right: 20px;
}

.company table td {
  padding: 5px 0;
}

/******************************************************************************************************
*******************************************************************************************************
    RECIPE
*******************************************************************************************************
******************************************************************************************************/

.recipe section .inner {
  max-width: 724px;
}

.imoni_movie {
  text-align: center;
  border: 12px solid #1b2b35;
  background-color: #fff;
  width: 100%;
  box-sizing: border-box;
  margin-bottom: 36px;
}

.imoni_movie h2 {
  color: #1b2b35;
  font-size: 24px;
  margin: 48px 0;
}

.imoni_movie .youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  text-align: center;
  margin-bottom: 36px;
  margin-left: auto;
  margin-right: auto;
  width: 90%;
}

.imoni_movie .youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.imoni_movie video {
  margin: 0 auto 36px;
  width: 90%;
}

.recipe p,
.recipe_single p {
  text-align: center;
}

.recipe ul li a img {
  float: left;
  box-sizing: border-box;
  margin: 0 36px 36px 0;
  width: 344px;
  border: 12px solid #1b2b35;
}

.recipe ul li:nth-child(1) a img {
  width: 100%;
  max-width: 724px;
  margin-bottom: 18px;
}

.recipe ul li:nth-child(1) {
  margin-bottom: 36px;
}

.recipe ul li:nth-child(1):after {
  content: "山形出身の食いしん坊イラストレーター杏耶が描く、丸十大屋の商品を使ったレシピ集。定番のものから杏耶オリジナルのものまで、カンタンで美味しいレシピをご紹介。";
}

.recipe ul li:nth-child(odd) a img {
  margin-right: 0;
}

.recipe_single section .inner {
  max-width: 700px;
}

.recipe_single_mainImg {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.recipe_single h2 {
  color: #8b0e0e;
  font-size: 24px;
  margin: 48px 0;
  text-align: center;
}

.recipe_single .item {
  color: #fff;
  background-color: #8b0e0e;
  padding: 60px;
}

.recipe_single .item .left {
  float: left;
  width: 30%;
  margin-right: 5%;
}

.recipe_single .item .right {
  float: left;
  width: 65%;
}

.recipe_single .item img {
  max-height: 300px;
  margin: 0 auto;
  display: block;
}

.recipe_single .item h3 {
  font-size: 24px;
}

.recipe_single .item p {
  text-align: left;
}

.recipe_single .item a {
  display: block;
  background-color: #fff;
  color: #8b0e0e;
  font-size: 24px;
  line-height: 24px;
  padding: 18px 0;
  text-align: center;
}

.recipe_single .paging a {
  display: block;
  font-size: 1.2em;
  text-align: center;
  margin: 36px auto;
}

/******************************************************************************************************
*******************************************************************************************************
    HALAL
*******************************************************************************************************
******************************************************************************************************/

.halal .lang_ja {
  border-bottom: 1px solid #2d1f14;
}

.halal a {
  display: block;
  width: 250px;
  color: #fff;
  text-align: center;
  background-color: #8e0e0e;
  padding: 10px 40px;
  margin: 0 auto;
}

/******************************************************************************************************
*******************************************************************************************************
    SHOP
*******************************************************************************************************
******************************************************************************************************/

.shop .menu {
  margin-top: 35px;
}

.main section.data {
  padding-top: 0;
}

.data p {
  text-align: center;
}

.data p.first {
  margin-top: 0;
  font-size: 1.4em;
}

.data p.bordered {
  padding: 16px;
  border: 1px solid #2d1f14;
  margin-top: 54px;
  margin-bottom: 54px;
}

/******************************************************************************************************
*******************************************************************************************************
    eBOOK
*******************************************************************************************************
******************************************************************************************************/

.ebook section {
  padding: 100px 0;
}

.ebook section .inner {
  width: 97%;
  max-width: 1200px;
}

.catalog {
  position: relative;
  padding-bottom: 70.71%;
  height: 0;
  overflow: hidden;
  text-align: center;
}

.catalog div#flipbook {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#flipbook {
  max-width: 100%;
}

.howto {
  max-width: 700px;
  margin: 50px auto 0;
}

/*====================================================================================================*/

/*====================================================================================================*/

/*====================================================================================================*/

/*   for tablet start
/*====================================================================================================*/

/*====================================================================================================*/

/*====================================================================================================*/

@media screen and (max-width: 1023px) {
  .top_img li {
    height: 350px;
  }
  .main section .inner {
    width: 90%;
    max-width: 850px;
    margin: 0 auto;
  }
  .syouyu .left {
    float: none;
    width: 100%;
  }
  .syouyu .left .inner {
    float: none;
    width: 90%;
    margin: 0 auto;
  }
  .syouyu h1,
  .miso h1 {
    text-align: center;
  }
  .syouyu .right {
    float: none;
    width: 70%;
    margin: 0 auto;
  }
  .syouyu .right img {
    display: block;
    margin: 0 auto;
  }
  .miso .left {
    float: none;
    width: 70%;
    margin: 0 auto;
  }
  .miso .left img {
    float: none;
    display: block;
    margin: 0 auto;
  }
  .miso .right {
    float: none;
    width: 100%;
  }
  .miso .right .inner {
    float: none;
    width: 90%;
    margin: 0 auto;
    text-align: left;
  }
  section.map {
    height: auto;
  }
  .map .left {
    float: none;
    width: 100%;
  }
  #monomap3 {
    height: 400px;
  }
  .map .right {
    float: none;
    width: 100%;
    text-align: center;
  }
  .map .right img {
    width: 114px;
    margin: 60px 0;
  }
  .map .right p {
    margin: 36px 0;
  }
  .contact table {
    max-width: 95%;
  }
  .contact table th {
    white-space: normal;
  }
  #ec_banner a {
    width: 180px;
    height: 180px;
  }
  .appear #ec_banner a {
    right: -webkit-calc(100% - 205px);
    right: calc(100% - 205px);
  }
  #bounce_600ml img {
    height: 20vh;
    max-width: 45vw;
  }
  #bounce_600ml .bounce-text {
    font-size: 14px;
  }
  footer .left {
    width: 100%;
    float: none;
  }
  footer .left img {
    float: none;
    display: block;
    margin: 0 auto 40px;
  }
  footer .right {
    width: 100%;
    float: none;
    text-align: center;
  }
  footer p {
    margin-top: 10px;
    font-size: 13px;
  }
  footer p.copy {
    font-size: 10px;
  }
  .news dt {
    float: none;
    width: 100%;
  }
  .news dd {
    border: none;
  }
  .news dt.last {
    border-bottom: none;
  }
  .company table th {
    padding-right: 1em;
  }
  .recipe ul li a img {
    margin: 0 0 36px;
    width: 100%;
  }
  .recipe ul li:nth-child(1) a img {
    width: 100%;
    max-width: 100%;
  }
  .recipe_single .item {
    padding: 10% 5%;
  }
  .recipe_single .item .left {
    float: none;
    width: 100%;
    margin-right: 0;
  }
  .recipe_single .item .right {
    float: none;
    width: 100%;
  }
  .recipe_single .item h3 {
    text-align: center;
    margin-top: 36px;
  }
  .halal a {
    padding: 10px 20px;
  }
}

/* 768 end */

/*====================================================================================================*/

/*====================================================================================================*/

/*   for SP start
/*====================================================================================================*/

/*====================================================================================================*/

/*====================================================================================================*/

@media screen and (max-width: 514px) {
  #logo {
    width: 100%;
    height: 80px;
    padding-top: 10px;
  }
  #logo a {
    display: block;
    width: 70px;
    height: 67px;
  }
  #nav-toggle {
    right: 10px;
    top: 10px;
    padding: 14px 12px;
  }
  .top_img li {
    height: 200px;
  }
  .news .inner .left {
    float: none;
    width: 100%;
  }
  .news .inner img {
    display: block;
    margin: 0 auto 30px;
    width: 95px;
  }
  .news .inner .right {
    float: none;
    width: 100%;
  }
  .roots h1,
  .roots p {
    text-align: left;
  }
  .contact table th {
    text-align: left;
    padding-right: 0;
  }
  #ec_banner a {
    width: 125px;
    height: 125px;
  }
  .appear #ec_banner a {
    right: -webkit-calc(100% - 150px);
    right: calc(100% - 150px);
  }
  #bounce_600ml img {
    height: 20vh;
    max-width: 45vw;
  }
  #bounce_600ml .bounce-text {
    font-size: 14px;
    padding: 4px 6px;
  }
	.flex {
		flex-direction: column;
	}
  .flex.sns {
    flex-direction: row;
  }
	.item .hidden_show > .flex > div,
	.item .hidden_show .flex .flex > div,
	.item .hidden_show .flex .flex.retort > div:nth-child(2) {
		width: 100%;
	}
  .item .hidden_show .flex .flex > div.amai {
    width: 70%;
  }
  .item .hidden_show .flex .flex > div.halal {
    width: 50%;
  }
	.item h2 {
		font-size: 28px;
	}
	.item h3 {
		text-align: center;
		margin-top: 25px;
	}
  .single article .left,
  .single article .right {
    float: none;
    width: 100%;
    margin-bottom: 36px;
  }
  footer {
    padding: 25px 0;
  }
  footer p {
    display: none;
  }
  footer p.copy {
    display: block;
  }
}

/* 514 end */
