/*  
  Theme Name: 楠本屋のテーマ
  Theme URI: 
  Description: 楠本屋のテーマ
  Version: 1.0.0
*/

/* Base Layout CSS */
body {
  font-size: 15px;
  font-family: 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
  line-height: 120%;
  letter-spacing: 0.5pt;
  /*font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;*/
  /*line-height: 180%;*/
  /*letter-spacing: 2.4pt;*/
  color: #fff;
  /*background-color: #000;*/
  background-color: #1A1A1A;
}

a:not(.btn) {
  transition: .4s;
}
a:not(.btn):hover {
  padding-left: 3px;
}
img {
  max-width: 100%;
  height: auto;
}
a:hover img {
  -moz-opacity:0.65;
  opacity:0.65;
  filter:alpha(opacity=65);
}
img, a:link img, a:visited img {
  border:0;
  vertical-align:bottom;
}
hr {
  margin: 30px 0;
  border: none;
  display: block;
  height: 1px;
  background-color: #CCC;
}
figcaption {
	text-align: center;
}



/* Bootstrap CSS Customize */
h1,h2,h3,h4,h5,h6 { font-weight: bold; }

@media (max-width:992px){
  .container {
    max-width: 100%;
  }
}



/* Header CSS Customize */
#header {
  position: fixed;
  width: 100%;
  background-color: #000;
  z-index: 9999;
}


/* Navi CSS Customize */
#globalNavi .navbar {
  height: 80px;
  padding: 0;
}
#globalNavi .logo {
  padding: 0 0 0 36px;
  margin-bottom: 0;
  line-height: 100%;
}
#globalNavi .logo a.navbar-brand {
  padding: 0;
}
@media (max-width:992px){
  #globalNavi .logo {
    padding-top: 0;
    padding-left: 10px;
  }
}

.navbar-collapse {
  background-color: #000;
  z-index: 999;
}
#navigation a {
  display: inline-block;
  line-height: 80px;
  padding: 0 16px;
  font-size: 110%;
  color: #fff;
  text-decoration: none;
}
#navigation a:hover {
  -moz-opacity:0.65;
  opacity:0.65;
  filter:alpha(opacity=65);
}
#navigation img {
  vertical-align: middle;
}
#navigation .facebook a,
#navigation .instagram a {
  padding: 0 6px;
}
#navigation .facebook a img,
#navigation .instagram a img {
  width: 32px;
  height: auto;
  vertical-align: middle;
}
#navigation .store {
  background-color: #C1272D;
  padding-left: 40px;
  padding-right: 30px;
  margin-left: 10px;
}
#navigation .store img:first-child {
  margin-right: 20px;
}
@media (max-width:992px){
  #navigation .store {
    text-align: center;
    margin-left: 0;
  }
}

.navbar-toggler {
  border-color: #000;
}
.navbar-toggler:focus, .navbar-toggler:active {
  border-color: #000;
  outline: none;
}
.navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255,255,255,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
  outline: none;
}

@media (max-width:1200px){
  #navigation a {
    padding: 0 15px;
    font-size: 100%;
  }
  #navigation .top {
    display: none;
  }
  #navigation .facebook a img,
  #navigation .instagram a img {
    /*width: 52px; */
    width: 32px;
  }
}



/* Visual Layout CSS */
#visual {
  position: relative;
  background: url(images/topimage.jpg) no-repeat center center;
  background-size: cover;
  height: 640px;
}
#visual .bg-slider {
  background: url(images/topimage.jpg) no-repeat center center;
  background-size: cover;
  height: 640px;
}
#visual img {
  display: none;
}
@media (max-width:767px){
  #visual, #visual .bg-slider {
    height: 240px;
  }
}



/* Main Layout CSS */
#main .container {
  padding-top: 80px;
}
body.home #main .container {
  padding-top: 0;
}

/* Sidebar Layout CSS */
#categorylist .sidebox {
  /*border: 1px solid #CCC;*/
  margin-bottom: 50px;
}
#categorylist .title {
  margin: 0;
  padding: 5px 0;
  color: #FFF;
  font-size: 130%;
  border-bottom: 1px solid #FFF;
}
#categorylist .title:before {
  content: "";
  padding-left: 15px;
}
#categorylist ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid #CCC;
}
#categorylist li {
  /*border-bottom: 1px solid #CCC;*/
  margin: 0;
  padding: 0;
}
#categorylist li a {
  display: block;
  /*padding: 10px 10px 10px 30px;*/
  padding: 10px;
  text-decoration: none;
  color: #fff;
  /*background: url(images/list_icon.png) no-repeat 10px center;*/
  /*background-color: #FFF;*/
  transition: .4s;
}
#categorylist li a:hover, #categorylist li a.active,
#categorylist li.current_page_item a, #categorylist li.current_page_parent a
{
  display: block;
  /*padding: 10px 10px 10px 30px;*/
  padding: 10px;
  /*background-color: #999;*/
}
#categorylist li a:hover {
  background-position: 15px center;
  /*padding-left: 35px;*/
  padding-left: 15px;
  padding-right: 10px;
}
#categorylist li:last-child {
  border-bottom: none;
}



/* Menu CSS Customize */
#menu-soba .col-md-6,
#menu-tonsoba .col-md-6,
#menu-negisoba .col-md-6 {
  padding-left: 0;
  padding-right: 0;
}
#menu-soba .col-md-6.order-md-1,
#menu-tonsoba .col-md-6.order-md-2,
#menu-negisoba .col-md-6.order-md-1 {
  max-width: 650px;
  padding-right: 20px;
}
#menu-soba .col-md-6.order-md-2,
#menu-tonsoba .col-md-6.order-md-1,
#menu-negisoba .col-md-6.order-md-2 {
  max-width: 500px;
}
#menu-tonsoba .col-md-6.order-md-2 {
  padding-right: 0;
}
@media (max-width:1199px){
  #menu-soba .col-md-6,
  #menu-tonsoba .col-md-6,
  #menu-negisoba .col-md-6 {
    padding-left: 15px;
    padding-right: 15px;
  }
/*
  #menu-soba .col-md-6.order-md-1,
  #menu-tonsoba .col-md-6.order-md-2,
  #menu-negisoba .col-md-6.order-md-1 {
    max-width: 58%;
  }
  #menu-soba .col-md-6.order-md-2,
  #menu-tonsoba .col-md-6.order-md-1,
  #menu-negisoba .col-md-6.order-md-2 {
    max-width: 42%;
  }
*/
}
/*
#menu-soba .col-md-6.order-md-1 {
  max-width: 58%;
}
#menu-soba .col-md-6.order-md-2 {
  max-width: 42%;
}
*/
@media (max-width:767px){
  #menu-soba .col-md-6.order-md-1,
  #menu-soba .col-md-6.order-md-2,
  #menu-tonsoba .col-md-6.order-md-1,
  #menu-tonsoba .col-md-6.order-md-2,
  #menu-negisoba .col-md-6.order-md-1,
  #menu-negisoba .col-md-6.order-md-2 {
    /*max-width: 100%;*/
    margin-left: auto;
    margin-right: auto;
  }
  #menu-soba, #menu-tonsoba {
    margin-bottom: 75px;
  }
}
#row-alacarte-menu {
  margin-top: 100px;
}
#row-alacarte-menu h2 {
  margin-bottom: 34px;
}

#row-alacarte-menu .row {
  margin-left: -10px;
  margin-right: -10px;
}
#row-alacarte-menu .col-6,
#row-alacarte-menu .col-md-6,
#row-alacarte-menu .col-md-4 {
  padding-left: 10px;
  padding-right: 10px;
  margin-bottom: 75px;
}
@media (max-width:767px){
  #row-alacarte-menu .col-6,
  #row-alacarte-menu .col-md-6,
  #row-alacarte-menu .col-md-4 {
    margin-bottom: 25px;
  }
}


/* AccessMap CSS Customize */
#accessmap {
  margin-top: 30px;
  padding-top: 10px;
  background-color: #C7B299;
  min-height: 400px;
  color: #000;
}
#accessmap.black {
  margin-top: 0;
  background-color: #000;
}
#accessmap .wrapper {
  margin-top: 30px;
  margin-left: 10%;
  background-color: #FFF;
}
#accessmap .map {
  float: left;
  width: 60%;
  /*width: 100%;*/
  width: -webkit-calc(100% - 407px) ;
  width: calc(100% - 407px) ;
  min-width: calc(100% - 407px);
}
#accessmap .map iframe {
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}
#accessmap .map iframe:hover {
  transition: filter 0.8s ease;
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}
#accessmap .info {
  background-color: #FFF;
  width: 40%;
  width: -webkit-calc(407px) ;
  width: calc(407px) ;
  min-width: calc(407px);
  height: 400px;
  float: right;
  font-size: 14px;
  line-height: 150%;
  overflow: hidden;
}
#accessmap .info h5 {
  margin-bottom: 10px;
}
#accessmap .info p {
  line-height: 150%;
  margin-bottom: 0;
}
#accessmap .access {
  padding: 30px 30px 0;
  height: 325px;
}
#accessmap .access table.table-footer {
}
#accessmap .access table.table-footer th, #accessmap .access table.table-footer td {
  padding: 0;
  border-top: none;
}
#accessmap .access table-footer {
}
#accessmap .photo {
  background-color: #FFF;
  height: 75px;
  display : flex;
  align-items: flex-end;
}
#accessmap .photo img {
  width: 100%;
  height: auto;
}
@media (max-width:767px){
  #accessmap .wrapper {
    margin-left: 0;
  }
  #accessmap .map, #accessmap .info {
    float: none;
    width: 100%;
    min-width: auto;
  }
  #accessmap .info, #accessmap .photo {
    height: auto;
  }
  #accessmap .access {
    padding: 15px 10px;
  }
}

/* Footer CSS Customize */
#footer {
  border-right: 10px solid #C1272D;
  color: #fff;
  padding: 20px;
  clear: both;
}
#globalFooter .copyright {
  font-size: 80%;
  margin-bottom: 0;
  letter-spacing: 1pt;
}

#pagetop {
  position: fixed;
  bottom: 120px;
  left: 20px;
  z-index: 1000;
}
@media (max-width:767px){
  #pagetop img {
    width: 30px;
  }
}


/* Page CSS Customize */
.content-block {
  padding: 30px 0;
}
.page-title {
  font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;
  text-align: center;
  margin-top: 70px;
  margin-bottom: 100px;
  letter-spacing: 8pt;
}
.page-title h1, .page-title h2 {
  font-size: 2rem;
  font-weight: bold;
}
#news-contents .entry-body h3 {
  border-bottom: 1px solid #FFF;
  font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;
  font-weight: normal;
}
.entry-body h3 span {
  display: inline-block;
  font-size: 50%;
}

.content-block-column {
  opacity : 0;
  transform: translateY(30px);
  transition: 1s;
}

body.page-about #main, body.page-id-8 #main {
  background: url(images/bg_about.jpg) no-repeat center top;
  background-size: cover;
}
body.page-takeout #main, body.page-id-53 #main {
  background: url(images/bg_takeout.jpg) no-repeat right bottom;
}
#page-about {
  line-height: 180%;
  letter-spacing: 2.4pt;
  min-height: 800px;
}
#contents-index {
  line-height: 180%;
  letter-spacing: 2.4pt;
}

@media (max-width: 767px) {
  #row-alacarte-menu .col-6 {
    font-size: 80%;
    line-height: 160%;
  }
  #row-alacarte-menu .col-6 h3 {
    font-size: 150%;
  }
  #row-alacarte-menu .col-6 h3 span {
    font-size: 50%;
  }
}



/* Page CSS Index */
#contents-index-news.content-block {
  padding: 38px 0 8px;
}
#contents-index-news .news-block {
  background-color: #fff;
  color: #000;
  padding: 10px; 0;
  min-height: 100px;
  position: relative;
}
#contents-index-news .news-block .more {
  position: absolute;
  bottom: 10px;
  right: 10px;
}
#contents-index-news .news-block ul {
  list-style: none;
  width: 100%;
  margin: 10px 0 10px -80px;
  padding: 0;
}
#contents-index-news .news-block ul li {
  margin: 0 0 0 80px;
  padding: 0;
}
#contents-index-news .news-block ul li a:link,
#contents-index-news .news-block ul li a:visited {
  color: #000;
}
#contents-index-news .news-block ul li .date {
  padding-right: 35px;
  color: #999999;
}



#contents-index-banner {
  width: 100%;
}
#contents-index-banner ul {
  overflow: hidden;
  list-style: none;
  margin: 0;
  padding: 0;
}
#contents-index-banner ul li {
  float: left;
  width: 50%;
  margin: 0;
  padding: 0;
}
#contents-index-banner ul li img {
  width: 100%;
  height: auto;
}
#contents-index-banner ul li.left {
  float: left;
}
#contents-index-banner ul li.right {
  float: right;
}
@media (max-width:767px){
  #contents-index-banner {
    padding: 15px;
  }

  #contents-index-banner ul li,
  #contents-index-banner ul li.left,
  #contents-index-banner ul li.right {
    float: none;
    width: 100%;
  }
}



/* Page CSS Takeout */
#page-takeout {
  font-family: '游明朝体', 'Yu Mincho', YuMincho, 'ヒラギノ明朝 Pro', 'Hiragino Mincho Pro', 'MS P明朝', 'MS PMincho', serif;
}
#page-takeout .howto-label {
  margin: 50px 0 ;
}
#page-takeout dl.howto-list {
  overflow: hidden;
  margin-bottom: 0;
}
#page-takeout dl.howto-list dt {
  width: 64px;
  float: left;
}
#page-takeout dl.howto-list dd {
  width: 100%;
  margin-left: -64px;
  float: left;
}
#page-takeout dl.howto-list dd ul {
  list-style: none;
  margin: 0 10px 0 40px;
}
#page-takeout dl.howto-list dd ul li {
  margin: 0 0 10px;
  padding: 0 0 0 50px;
}
#page-takeout dl.howto-list dd ul li.noodles {
  background: url(images/men.png) no-repeat center left;
  min-height: 30px;
}
#page-takeout dl.howto-list dd ul li.soup {
  background: url(images/supu.png) no-repeat center left;
  min-height: 30px;
}
#page-takeout .note {
  background-color: #982024;
  padding: 10px;
  width: 80%;
  text-align: center;
  margin: 0 auto 10px;
  border-radius: 20px;
}
#page-takeout .note p {
  margin-bottom: 0;
}
#page-takeout .line-bottom {
  border-bottom: 1px dotted #FFF;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
@media (max-width:767px){
}



/* Page CSS Shop */
#page-onlineshop,
#page-onlineshop h1,
#page-onlineshop h2,
#page-onlineshop h3,
#page-onlineshop h4,
#page-onlineshop h5,
#page-onlineshop h6 {
  color: #000 !important;
}
#page-onlineshop {
  font-size: 16px;
}
#page-onlineshop .inner {
  margin-top: -45px;
  padding-top: 45px;
  margin-bottom: 5em;
}
#page-onlineshop a {
  color: #007bff;
}
#page-onlineshop h2 {
  font-size: 25px;
  border-bottom: 1px solid #000;
  padding-bottom: 8px;
  position: relative;
  margin-bottom: .7em;
  font-weight: normal;
}
#page-onlineshop h2:before {
    content: '';
    width: 150px;
    height: 3px;
    background-color: #C1272D;
    display: block;
    position: absolute;
    left: 0;
    bottom: -2px;
}
#page-onlineshop .page-title h2:before {
    content: '';
    width: auto;
    height: auto;
    display: block;
    position: relative;
}

#page-onlineshop .page-title h2 {
  border-bottom: none;
}
#page-onlineshop h3 {
  font-size: 20px;
  margin-top: 2em;
  margin-bottom: .5em;
  font-weight: normal;
}
#page-onlineshop h4 {
  font-size: 16px;
}
#page-onlineshop .attention {
  margin-left: 20px;
  display: block;
  position: relative;
}
#page-onlineshop .attention:before {
  content: '※';
  display: inline-block;
  position: absolute;
  left: -20px;
}
#page-onlineshop .table-bordered th {
  background-color: #eee;
  vertical-align: middle;
}
#page-onlineshop .def_lst {
  border-top: none;
}
#page-onlineshop .photo img {
  width: 100%;
}
#page-onlineshop .cart-info .price {
  font-weight: bold;
  font-size: 120%;
}
#page-onlineshop .line-top-bottom {
  border-top: 1px dotted #000;
  padding-top: 25px;
  border-bottom: 1px dotted #000;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
#page-onlineshop .line-bottom {
  border-bottom: 1px dotted #000;
  padding-bottom: 25px;
  margin-bottom: 25px;
}
#page-onlineshop .line-top-bottom p:last-child,
#page-onlineshop .line-bottom p:last-child {
  margin-bottom: 0;
}
#page-onlineshop dl.note {
  overflow: hidden;
  margin-bottom: 0;
}
#page-onlineshop dl.note dt {
  float: left;
  width: 20%;
}
#page-onlineshop dl.note dd {
  float: left;
  width: 80%;
}
@media (max-width:767px){
  #page-onlineshop dl.note dt,
  #page-onlineshop dl.note dd {
    float: none;
    width: 100%;
  }
  .table-responsive th, .table-responsive td {
    display: block;
    width: 100%;
  }

}
#shopping-guide {
  margin-top: 30px;
  background-color: #EEEBE5;
  padding: 40px 0;
}



/* Page CSS Video */
.video-wrapper {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}
.video-wrapper .bg-video {
  position: absolute;
  right: 0;
  bottom: 0;
  min-width: 100%;
  min-height: 100vh;
  width: auto;
  height: auto;
  z-index: -100;
/*  background: url('images/bg_about.jpg') no-repeat;*/
/*  background-size: cover;*/
}
.video-wrapper .video-body {
  position: relative;
  z-index: 2;
}
.video-wrapper .video-logo {
  /*margin-top: 150px;*/
}
.video-wrapper .video-scroll {
  margin-top: 70px;
}
.video-wrapper .video-scroll a {
  color: #FFF;
}
.video-wrapper .video-scroll a:hover {
  text-decoration: none;
  padding-left: 0;
}
.video-wrapper .video-scroll a span {
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  box-sizing: border-box;
}
.video {
  width: 100%;
  padding-bottom: 56.25%;
  height: 0;
  position: relative;
}
.video iframe {
  position: absolute;
  top: 0;
  left: 10%;
  width: 80%;
  height: 80%;
}
@media (max-width:767px){
  .video-wrapper {
    height: 400px;
  }
  .video-wrapper .video-logo {
    margin-top: 100px;
  }
  .video iframe {
    width: 100%;
    height: 100%;
    left: 0;
  }
}



/* Form Layout CSS */
form label {
  width: 100%;
}
form input[type=text], form input[type=email], form textarea, form select {
  width: 100%;
}
form input[type=submit] {
  padding-left: 50px;
  padding-right: 50px;
  text-align: center;
}



/* Common CSS */
.btn-wide {
  width: 100%;
}
.btn-wide180 {
  width: 180px;
}

.panel-pink {
  border: 2px solid #E46379;
  padding: 20px;
  margin-bottom: 10px;
  border-radius: 10px;
  min-height: 190px;
}
@media (max-width:767px){
  .panel-pink {
    padding: 15px 10px;
  }
}

.text-pink {
  color: #E46379;
}

.btn-pink {
  color: #fff;
  background-color: #E46379;
  border-color: #E46379;
}
.btn-pink:hover {
  color: #fff;
  background-color: #DE415C;
  border-color: #DE415C;
}
.btn-pink:focus {
  box-shadow: 0 0 0 0.2rem rgba(228, 99, 121, 0.5);
}

.btn-orange {
  color: #FFFFFF;
  background-color: #FFA303;
  border-color: #FFA303;
  box-shadow: 0 1px 2px 2px rgba(128, 128, 128, 0.3);
}
.btn-orange:hover {
  color: #FFFFFF;
  background-color: #E68F00;
  border-color: #FFA303;
}
.btn-orange:focus, .btn-orange.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 163, 3, 0.5);
}

.underline {
  background: linear-gradient(transparent 70%, #a2f595 30%);
  margin-bottom: 10px;
}

.alignleft {
  display: inline;
  float: left;
  margin-right: 1.625em;
  margin-bottom: 0.5em;
}
.alignright {
  display: inline;
  float: right;
  margin-left: 1.625em;
  margin-bottom: 0.5em;
}
.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0.5em;
}
.wp-caption-text {
  text-align: center;
}


table:not(.table) {
  border: none;
  border-collapse: collapse;
  margin-bottom: 30px;
  width: 100%;
  /*border-top: 1px solid #DDDDDD;*/
}
table:not(.table) th {
  padding: 25px 15px 0px;
  vertical-align: middle;
  text-align: center;
  line-height: 180%;
  border-bottom: 3px solid #E46379;
  white-space: nowrap;
}
table:not(.table) td {
  margin: 0;
  padding: 25px 15px 0px;
  vertical-align: middle;
  line-height: 180%;
  border-bottom: 2px solid #CCC;
}

.table-middle, .table-middle th, .table-middle td {
  vertical-align: middle;
}
.table-noborder, .table-noborder th, .table-noborder td {
  border: none !important;
}

.mt0{margin-top:0 !important;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}

.mr0{margin-right:0 !important;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}

.ml0{margin-left:0 !important;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}

@media (min-width:768px){
  .sp-only {display: none !important;}
}
@media (max-width:767px){
  .pc-only {display: none !important;}
}
