@charset "utf-8";

/*-----------------------------------------------------

  ページ共通CSS

------------------------------------------------------*/
/*       FRAMEWORK
----------------------------*/
.topSec {
  padding: 100px 0;
}

.under .topSec {
  padding: 80px 0;
}

.gInner {
  width: 1200px;
  margin: 0 auto;
}
@media print,
screen and (min-width : 768px) {
.tel-link {
    pointer-events: none;
    color: #2b1b19
}
}
.tel-link{
  display: block;
}
.gmap_link{
  pointer-events: none;
  color: #000;
}
/*.gmap_link{
   position:relative;
   color:#2b1b19;
   cursor:pointer;
}*/
/*.gmap_link:after{
    font-weight: 900;
    font-family: "Font Awesome 5 Free";-moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    content: "\f360";
    color:#78965a;
    font-size: 0.9rem;
    margin-left:0.2em;
}*/
.gmap_link:hover{
  color:#78965a;
}
/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  .writing-v {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    text-align: left;
    display: inline-block;
    white-space: nowrap
  }
}

.under #mainimage {
  width: 100%;
  height: 500px;
  background: url(../Image/common/mv.jpg) no-repeat center top / cover;
  margin-bottom: 20px;
}
/*#voice #mainimage {
  background-image: url(../Image/voice/mv.jpg);
}
#shop #mainimage {
  background-image: url(../Image/shop/mv.jpg);
}
#corporate #mainimage {
  background-image: url(../Image/corporate/mv.jpg);
}
#about #mainimage {
  background-image: url(../Image/about/mv.jpg);
}
#item #mainimage {
  background-image: url(../Image/item/mv.jpg);
}
*/


.under #mainimage .gInner {
  position: relative;
}

.under .pageTtl {
  position: absolute;
  right: 0;
  top: 350px;
  background: #fff;
  padding: 50px 50px 50px 45px;
  box-sizing: border-box;
}

.under .pageTtl .writing-v {
  padding-left: 130px;
  background: url(../Image/common/logo_mark.png) no-repeat left top 25px;
  margin-left: auto;
}

.under .pageTtl .pageTtl_sub {
  color: #781414;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1;
  padding-top: 1.5em;
  margin-left: 1.5em;
}

.under .pageTtl .pageTtl_main {
  font-size: 2.15rem;
  line-height: 1.2;
  font-weight: 600;
}

#breadcrumb {
  line-height: 1;
  font-size: 0;
}

#breadcrumb li {
  display: inline-block;
  font-size: 0.85rem;
  vertical-align: middle;
}

#breadcrumb li:after {
  display: inline-block;
  vertical-align: middle;
  content: ">";
  margin-right: 0.3em
}

#breadcrumb li a {
  color: #2b1b19;
  vertical-align: middle;
  margin-right: 0.3em;
  position: relative;
}

#breadcrumb li a:after {
  position: absolute;
  content: "";
  width: 0;
  right: 0;
  left: initial;
  transition: .4s;
  background: #781414;
  height: 1px;
  bottom: -0.3em;
}

#breadcrumb li:last-child:after {
  display: none;
}

#breadcrumb li:last-child a {
  pointer-events: none;
  margin-right: 0;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  /*--- HOVER EFFECT ---*/
  #breadcrumb li a:hover {
    color: #781414;
  }

  #breadcrumb li a:hover:after {
    width: 100%;
    right: initial;
    left: 0;
  }
}

/*       TITILE
----------------------------*/
.ttl_01 {}

.ttl_01 .hTtl_sub {
  color: #781414;
  font-weight: 600;
  font-size: 0.9rem;
  line-height: 1;
  padding-top: 1.5em;
  margin-left: 1.1em;
}

.ttl_01 .hTtl {
  font-size: 2.15rem;
  line-height: 1.2;
  font-weight: 600;
}

.ttl_01.ttl_rl {
  text-align: right;
}

.ttl_01.ttl_rl .writing-v {
  padding-left: 135px;
  background: url(../Image/common/logo_mark.png) no-repeat left top 25px;
  margin-left: auto;
}

.ttl_01.ttl_lr {
  text-align: left;
}

.ttl_01.ttl_lr .writing-v {
  padding-right: 135px;
  background: url(../Image/common/logo_mark.png) no-repeat right top 25px;
  margin-right: auto;
}

.ttl_02 {
  line-height: 1;
  font-size: 2rem;
  letter-spacing: 0.05em;
}

.ttl_03 {
  text-align: left;
}

.ttl_03 .hTtl {
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.6;
}

.ttl_04 {
  font-size: 1.83rem;
  font-weight: 600;
  line-height: 1
}

.ttl_05 {
  position: relative;
  font-weight: 600;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.08em;
  padding-bottom: 0.7em;
  border-bottom: solid 1px #e5e5e5;
  margin-bottom: 1.2em
}

.ttl_05:after {
  position: absolute;
  content: "";
  background: #e5e5e5;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: 3px;
}

/*       BUTTON
----------------------------*/
.button {
  text-align: center;
}

.button.button01 .btn {
  text-align: center;
  padding: 0.7em 1.3em 0.8em;
  line-height: 1;
  background: #78965a;
  color: #fff;
  min-width: 210px;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  /*--- HOVER EFFECT ---*/
  .button.button01 .btn:hover {
    background: #781414;
  }
}

/*-----------------------------------------------------

  トップページ　top

------------------------------------------------------*/
/*       COMMON
================================*/
#top .topSec .ttlBox .tArea {
  position: relative;
  padding-top: 40px;
}

#top .topSec .ttlBox .tArea:before {
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  width: 90px;
  height: 1px;
  background: #2b1b19;
}

#top .topSec .ttlBox .headline {
  font-size: 1.38rem;
  line-height: 1.4;
  margin-bottom: 1em;
  letter-spacing: 0;
}

#top .topSec .ttlBox .lead {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 2.5em
}

#top .topSec .ttlBox .button {
  text-align: left;
}

/*       MAINIMAGE
================================*/
#top .mvSlide {
  margin-bottom: 0;
}

#top .mvSlide .mv-image {
  height: 800px;
  width: 100%;
  background: #fff;
}
#top .mvSlide .mv-image a{
  display: block;
  width: 100%;
  height: 100%;
}

#top .mvSlide .slick-dots {
  bottom: 0;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  /*--- HOVER EFFECT ---*/
  #top .mvSlide .mv-image a:hover {
    opacity: .5;
  }
}
/*   sec_shop　店舗のご案内
================================*/

#top .sec_shop .shopName {
  line-height: 1;
}

#top .sec_shop .shopName a {
  color: #2b1b19;
  font-size: 1.4rem;
  padding-right: 2em;
  background: url(../Image/common/arrow_01.png) no-repeat right 0.5em center;
}

#top .sec_shop .wrapBox.upper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 1.6rem;
}

#top .sec_shop .upper .ttl_01 {
  width: 220px;
  height: 240px;
}

#top .sec_shop .upper .ttl_01 .writing-b:after {
  position: absolute;
  content: "";
  width: 86px;
  height: 78px;
  left: -135px;
  top: 25px;
  background: url(../Image/common/logo_mark.png)
}

#top .sec_shop .shopBox {
  display: flex;
  padding-top: 65px;
  width: 1000px;
}

#top .sec_shop .shopBox .imgBox {
  margin-right: 5%;
  width: 60%;
}

#top .sec_shop .shopBox .imgBox a {
  width: 100%;
  display: block;
  height: 370px;
  position: relative;
}

#top .sec_shop .shopBox .imgBox a span {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  background: #781414;
  color: #fff;
  line-height: 1;
  font-size: 1rem;
  padding: 0.5em 1em 0.5em 1.5em;
}

#top .sec_shop .shopBox .imgBox a:not(.hovered) span {
  opacity: 0;
}

#top .sec_shop .shopBox .imgBox a span:after {
  position: absolute;
  content: "";
  left: 100%;
  top: 0;
  border-style: solid;
  border-width: 0 1.5em 2em 0;
  border-color: #781414 transparent;
}

#top .sec_shop .shopBox .txtBox {
  padding: 55px 0;
  width: 35%;
}

#top .sec_shop .shopBox .shopName {
  margin-bottom: 1.5em;
  font-weight: 600;
}

#top .sec_shop .shopBox table {
  margin-left: 5px;
}

#top .sec_shop .shopBox table tr {
  border-bottom: solid 1px #f1f1f1;
}

#top .sec_shop .shopBox table th,
#top .sec_shop .shopBox table td {
  line-height: 1.3;
  font-size: 1rem;
  text-align: left;
  padding: 0.65em 0 0.8em;
  vertical-align: text-bottom;
}

#top .sec_shop .shopBox table tr:first-child th,
#top .sec_shop .shopBox table tr:first-child td {
  padding-top: 0;
}

#top .sec_shop .shopBox table th {
  padding-right: 0.6em;
  font-weight: 500;
}

#top .sec_shop .shopBox table td {
  padding-left: 0.6em;
  letter-spacing: 0.05em;
}

#top .sec_shop .shopBox table .hour {
  font-size: 0;
  white-space: nowrap;
}

#top .sec_shop .shopBox table .hour span {
  display: inline-block;
  font-size: 1rem;
}

#top .sec_shop .shopBox table .hour span:first-child {
  width: 5.5em;
  margin-right: 0.5em;
}

#top .sec_shop .wrapBox {
  margin-bottom: 2.4rem;
}

#top .sec_shop .shopList {
  display: flex;
  justify-content: space-between;
}

#top .sec_shop .shopList li {
  width: 380px;
}

#top .sec_shop .shopList li .imgBox {
  margin-bottom: 1.2rem;
}

#top .sec_shop .shopList li .imgBox a {
  width: 100%;
  display: block;
  height: 234px;
  ;
}

#top .sec_shop .shopList li .txtBox {
  line-height: 1.4;
}

#top .sec_shop .shopList li .shopName {
  margin-bottom: 0.7em;
}

#top .sec_shop .shopList li .shopName a {
  display: block;
  background-position: right .7em center;
  font-weight: 600;
}

#top .sec_shop .shopList li .address {
  margin-bottom: 0.5em;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  /*--- HOVER EFFECT ---*/
  #top .sec_shop .shopName a:hover {
    color: #78965a;
  }

  #top .sec_shop .shopName a:hover {
    background-position: right center;
    background-image: url(../Image/common/arrow_02.png);
  }

  #top .sec_shop .shopList li .shopName a:hover {
    background-position: right .2em center;
  }
}

/*   sec_news　お知らせ
================================*/
#top .sec_news {
  background: url(../Image/common/bg01.png) repeat left top 30px;
  background-color: #fcf9f3;
}

#top .sec_news .ttl_02 {
  position: relative;
  margin-bottom: 2.2rem;
  font-weight: 600;
}

#top .sec_news .ttl_02 a {
  position: absolute;
  right: 0;
  bottom: 0;
  color: #2b1b19;
  font-size: 0.98rem;
  padding-right: 1.3em;
  background: url(../Image/common/arrow_02.png) no-repeat right center;
}

#top .sec_news .newsList {
  display: flex;
}

#top .sec_news .newsList li {
  width: 285px;
}

#top .sec_news .newsList li a {
  display: block;
  border-top: solid 4px #781414;
  background: #fff;
  position: relative;
}

#top .sec_news .newsList li a:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #78965a transparent;
  border-width: 0 0 8px 8px;
  transition: .4s;
}

#top .sec_news .newsList li a .imgBox {
  width: 100%;
  height: 176px;
  overflow: hidden;
}

#top .sec_news .newsList li a .imgBox img {
  transition: .4s;
  transform: scale(1);
  opacity: 1;
}

#top .sec_news .newsList li a .txtBox {
  padding: 1.1rem;
  color: #2b1b19;
}

#top .sec_news .newsList li a .txtBox .newsTtl {
  line-height: 1.2;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.7em;
  font-weight: 600;
}

#top .sec_news .newsList li a .txtBox .tArea {
  line-height: 1.5;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
}

#top .sec_news .newsList li a .txtBox .date {
  color: #585858;
  font-size: 0.75rem;
  line-height: 1;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #top .sec_news .newsList li:nth-child(n+2) {
    margin-left: 20px;
  }

  /*--- HOVER EFFECT ---*/
  #top .sec_news .ttl_02 a:hover {
    color: #781414;
    padding-right: 1.5em;
  }

  #top .sec_news .newsList li a:hover .imgBox img {
    opacity: 0.5;
    transform: scale(1.1);
  }

  #top .sec_news .newsList li a:hover:after {
    border-color: #78965a #ccc;
    border-width: 0 0 16px 16px;
  }
}

/*   sec_policy　富貴のこだわり
================================*/
#top .sec_policy {
  overflow: hidden;
}

#top .sec_policy .gInner {
  position: relative;
}

#top .sec_policy .ttlBox {
  width: 330px;
}

#top .sec_policy .ttlBox .ttl_01 {
  height: 240px;
  width: 265px;
}

#top .sec_policy .sldWrap {
  position: absolute;
  right: 0;
  top: 65px;
  width: 830px;
  height: 480px;
}

#top .sec_policy .sldWrap .sldBox {
  position: absolute;
  left: 0;
  width: 100vw;
  height: 100%;
}

/*   bg_area　コンテンツ間画像
================================*/
#top .bg_area {
  position: relative;
  height: 500px;
}

#top .bg_area .bg01,
#top .bg_area .bg02 {
  position: absolute;
}

#top .bg_area .bg01 {
  width: 77%;
  left: 0;
  top: 0;
  bottom: 50px;
  z-index: 1;
}

#top .bg_area .bg02 {
  width: 44%;
  right: 0;
  top: 50px;
  bottom: 0px;
  z-index: 2;
}

/*   sec_products　銘菓
================================*/
#top .sec_products .productList {
  display: flex;
  flex-wrap: wrap;
}

#top .sec_products .productList li a {
  display: block;
  color: #2b1b19
}

#top .sec_products .productList li .imgBox {
  margin-bottom: 1rem;
  width: 100%;
  overflow: hidden;
}

#top .sec_products .productList li .imgBox img {
  transition: .4s;
  opacity: 1;
  transform: scale(1);
}

#top .sec_products .productList li .itemName {
  font-size: 1.4rem;
  background: url(../Image/common/arrow_01.png) no-repeat right 20px center;
  line-height: 1;
  margin-bottom: .6rem;
  transition: .4s;
  font-weight: 600;
}

#top .sec_products .productList li .lead {
  font-size: 1rem;
  line-height: 1.7;
}

#top .sec_products .upper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-bottom: 60px;
}

#top .sec_products .ttlBox {
  width: 300px;
}

#top .sec_products .ttlBox .ttl_01 {
  height: 190px;
  width: 300px;
}

#top .sec_products .ttlBox .button01 a {
  width: 95%;
  box-sizing: border-box;
}

#top .sec_products .upper .pickup {
  width: 850px;
  padding-top: 70px;
}

#top .sec_products .pickup .productList li {
  width: 415px;
}

#top .sec_products .pickup .productList li .imgBox {
  height: 273px;
}

#top .sec_products .recommend .subTtl_01 {
  line-height: 1;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  margin-bottom: 1.2em;
  font-weight: 600;
}

#top .sec_products .recommend .productList {
  margin-bottom: 40px;
}

#top .sec_products .recommend .productList li {
  width: 280px;
}

#top .sec_products .recommend .productList li .imgBox {
  margin-bottom: 1.4rem;
  height: 282px;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #top .sec_products .pickup .productList li:nth-child(n+2) {
    margin-left: 20px;
  }

  #top .sec_products .recommend .productList li:nth-child(n+2) {
    margin-left: 25px;
  }

  #top .sec_products .recommend .productList li:nth-child(n+5) {
    margin-top: 40px;
  }

  #top .sec_products .recommend .productList li:nth-child(4n+1) {
    margin-left: 0;
  }

  /*--- HOVER EFFECT ---*/
  #top .sec_products .productList li a:hover .imgBox img {
    transform: scale(1.1);
    opacity: 0.5;
  }

  #top .sec_products .productList li a:hover .itemName {
    background-position: right 10px center;
  }
}

/*   sec_corp　法人お客様へ
================================*/
#top .sec_corp {
  position: relative;
  padding-top: 50px;
}

#top .sec_corp .secWrap {
  background: url(../Image/common/bg02.png) repeat left top;
}

#top .sec_corp .ttlBox {
  width: 500px;
  position: relative;
  z-index: 2;
}

#top .sec_corp .ttlBox .ttl_01 {
  height: 280px;
  width: 220px;
  margin-bottom: 40px;
}

#top .sec_corp .ttlBox .tArea {
  padding-top: 45px;
}

#top .sec_corp .imgBox {
  position: absolute;
  right: 0;
  top: 0;
  width: 1072px;
  height: 714px;
  z-index: 1;
  /* 	max-width:1072px;
	max-height:714px;
   	width: 70%; */
}

#top .sec_corp .imgBox img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

#top .sec_corp .imgBox img:first-child {
  z-index: 2;
  animation: crossfade 8s infinite ease;
}

@keyframes crossfade {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

/*   foot_banner　ページ下部バナー
================================*/
#top .foot_banner .gInner {
  display: flex;
  justify-content: space-between;
  padding: 0 80px;
  box-sizing: border-box;
}

#top .foot_banner .voiceBox {
  width: 500px;
}

#top .foot_banner .fbBox {
  width: 500px;
}

.fb-page {
  display: block !important;
  width: 100%;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
}

/*-----------------------------------------------------

  お客様の声　voice

------------------------------------------------------*/
/*       COMMON
================================*/
#voice .pageTtl {
  width: 315px;
  height: 310px;
}



#voice .topSec {
  padding: 80px 0 100px;
}

#voice .voiceList li {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

#voice .voiceList li .imgBox {
  width: 540px;
  height: 380px;
}

#voice .voiceList li .txtBox {
  width: 605px;
  align-self: center;
}

#voice .voiceList li .ttlBox {
  padding: 25px 0 22px;
  position: relative;
  border-bottom: solid 1px #d7d6d3;
  margin-bottom: 30px;
}

#voice .voiceList li .ttlBox:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  left: 0;
  bottom: 1px;
  background: #d7d6d3;
}

#voice .voiceList li .v-title {
  line-height: 1.5;
  font-weight: 600;
  font-size: 1.38rem;
  margin-bottom: 0.45em;
}

#voice .voiceList li .v-item,
#voice .voiceList li .v-name {
  line-height: 1;
  font-size: 0.86rem;
}

#voice .voiceList li .v-item span,
#voice .voiceList li .v-name span {
  display: inline-block;
}

#voice .voiceList li .v-item {
  margin-bottom: 0.8em;
}

#voice .voiceList li .v-item .ttl:after {
  content: "：";
}

#voice .voiceList li .v-name .area {
  margin-right: 1em;
}

#voice .voiceList li .tArea {
  font-size: 0.95rem;
  letter-spacing: 0.07em;
  line-height: 1.65;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #voice .voiceList li:nth-child(odd) {
    flex-direction: row;
  }

  #voice .voiceList li:nth-child(even) {
    flex-direction: row-reverse;
  }

  #voice .voiceList li:nth-child(n+2) {
    margin-top: 80px;
  }
}

/*-----------------------------------------------------

  お客様の声　voice

------------------------------------------------------*/
/*       COMMON
================================*/
#shop .pageTtl {
  width: 315px;
  height: 270px;
}

#shop .topSec {
  padding: 80px 0 100px;
}

#shop .shopList {
  width: 90%;
  margin: 0 auto 80px;
}

#shop .shopList li {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

#shop .shopList li:nth-child(odd) {
  flex-direction: row;
}

#shop .shopList li:nth-child(even) {
  flex-direction: row-reverse;
}

#shop .shopList li:nth-child(n+2) {
  margin-top: 80px;
}

#shop .shopList .imgBox {
  width: 540px;
  height: 380px;
}

#shop .shopList .txtBox {
  width: 485px;
  padding-top: 55px;
  border-bottom: solid 1px #d7d6d2;
}

#shop .shopList .name {
  position: relative;
  font-weight: 600;
  line-height: 1;
  font-size: 1.35rem;
  letter-spacing: 0.02em;
  border-bottom: solid 1px #d7d6d2;
  padding-bottom: 0.66em;
  margin-bottom: 1.1em
}

#shop .shopList .name .mapLink {
  position: absolute;
  font-size: 0.875rem;
  background: #fcf7ed;
  color: #781414;
  font-weight: 900;
  padding: 0.6em 2.3em 0.65em 0.6em;
  right: 0;
  bottom: 0.89rem;
}

#shop .shopList .name .mapLink:before {
  position: absolute;
  content: "";
  width: 9px;
  height: 9px;
  border: solid 1px #781414;
  box-sizing: border-box;
  right: 1.2em;
  top: 0.8em;
  transition: .4s;
}

#shop .shopList .name .mapLink:after {
  position: absolute;
  content: "";
  width: 8px;
  ;
  height: 8px;
  border-top: solid 1px #781414;
  border-right: solid 1px #781414;
  box-sizing: border-box;
  right: 0.9em;
  top: 0.6em;
  transition: .4s;
}

#shop .shopList .detail th,
#shop .shopList .detail td {
  font-weight: 500;
  line-height: 1.4;
  padding: .4em 0;
  vertical-align: top;
}

#shop .shopList .detail th {
  padding-right: 1.5em;
  min-width: 4.2em;
}

#shop .shopList .detail .home_address .zipcode {
  margin-right: 0.5em;
}

#shop .shopList .detail .home_address .address em {
  font-style: normal;
  font-size: .85rem;
}

#shop .shopList .detail .business_hour .day,
#shop .shopList .detail .business_hour .hour {
  display: inline-block;
}

#shop .shopList .detail .business_hour .day {
  margin-right: 0.5em;
  min-width: 5.2em;
}

#shop .productList {
  display: flex;
  justify-content: center;
  margin-bottom: 80px;
}

#shop .productList li {
  width: 415px;
  margin: 0 20px;
}

#shop .productList li a {
  display: block;
  color: #2b1b19;
}

#shop .productList li .imgBox {
  overflow: hidden;
}

#shop .productList li .imgBox img {
  transition: .4s;
  opacity: 1;
  transform: scale(1);
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #shop .shopList .detail .business_hour p:nth-child(n+2) {
    margin-top: .2em;
  }

  /*--- HOVER EFFECT ---*/
  #shop .shopList .name .mapLink:hover {
    background: #781414;
    color: #fff;
  }

  #shop .shopList .name .mapLink:hover:after,
  #shop .shopList .name .mapLink:hover:before {
    border-color: #fff;
  }

  #shop .shopList .name .mapLink:hover:after {
    top: 0.4em;
    right: 0.8em;
  }

  #shop .productList li a:hover .imgBox img {
    transform: scale(1.1);
    opacity: 0.5;
  }
}

/*-----------------------------------------------------

  法人のお客様へ　corporate

------------------------------------------------------*/
/*       COMMON
================================*/
#corporate .pageTtl {
  width: 315px;
  height: 385px;
}



/*       sec_01
================================*/
#corporate #sec_01 {
  padding: 100px 0 0;
  overflow: hidden;
}

#corporate #sec_01 .gInner {
  position: relative;
}

#corporate #sec_01 .ttl_03 {
  width: 220px;
  height: 400px;
}

#corporate #sec_01 .ttl_03 .hTtl {
  padding-top: 1.25em;
  font-size: 1.9rem;
  font-weight: 600;
  line-height: 1.6;
  margin-left: -0.3em;
}

#corporate #sec_01 .bg01 {
  position: absolute;
  top: 0;
  left: 295px;
  z-index: 2;
}

#corporate #sec_01 .bg02 {
  position: absolute;
  top: 355px;
  ;
  right: -175px;
  z-index: 1;
}

#corporate #sec_01 .tArea {
  background: url(../Image/corporate/logo_mark_gr.png) no-repeat top 2.1em left;
  padding-top: 185px;
  font-size: 1.15rem;
  line-height: 2;
}

/*       sec_02
================================*/
#corporate #sec_02 {
  padding: 100px 0;
}

#corporate #sec_02 .secBox {
  overflow: hidden;
  width: 100%;
}

#corporate #sec_02 .secBox .gInner {
  position: relative;
  padding: 60px 0;
}

#corporate #sec_02 #sec02-3 .gInner {
  padding: 70px 0;
}

#corporate #sec_02 .secBox .txtBox {
  position: relative;
  width: 725px;
  padding-top: 45px;
  padding-bottom: 50px;
  background: #fff;
  z-index: 2;
}

#corporate #sec_02 .secBox .imgWrap {
  position: absolute;
  top: 0;
  width: 550px;
  height: 100%;
  z-index: 1;
}

#corporate #sec_02 .secBox .imgWrap .imgBox {
  position: absolute;
  top: 0;
  width: 950px;
  height: 100%;
  overflow: hidden;
}

#corporate #sec_02 .secBox .subTtl_01 {
  font-weight: 600;
  line-height: 1;
  font-size: 1.9rem;
  margin-bottom: 0.45em;
}

#corporate #sec_02 .secBox .headline {
  position: relative;
  font-size: 1.38rem;
  padding-top: 1em;
  line-height: 1.4;
  margin-bottom: 0.78em;
  border-top: solid 2px #7b9657;
}

#corporate #sec_02 .secBox .headline:before {
  position: absolute;
  content: "";
  top: 1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #7b9657;
}

#corporate #sec_02 .secBox .tArea {
  line-height: 1.6;
  font-size: 0.99rem
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #corporate #sec_02 .secBox:nth-child(n+2) {
    margin-top: 100px;
  }

  #corporate #sec_02 .secBox:nth-child(odd) .imgWrap {
    left: 0;
  }

  #corporate #sec_02 .secBox:nth-child(odd) .imgWrap .imgBox {
    right: 0;
  }

  #corporate #sec_02 .secBox:nth-child(even) .imgWrap {
    right: 0;
  }

  #corporate #sec_02 .secBox:nth-child(even) .imgWrap .imgBox {
    left: 0;
  }

  #corporate #sec_02 .secBox:nth-child(odd) .txtBox {
    margin-left: auto;
    margin-right: 0;
  }

  #corporate #sec_02 .secBox:nth-child(even) .txtBox {
    margin-right: auto;
    margin-left: 0;
  }

  #corporate #sec_02 .secBox:nth-child(odd) .txtBox .subTtl_01,
  #corporate #sec_02 .secBox:nth-child(odd) .txtBox .headline,
  #corporate #sec_02 .secBox:nth-child(odd) .txtBox .tArea {
    padding-left: 100px;
  }

  #corporate #sec_02 .secBox:nth-child(odd) .txtBox .headline {
    display: inline-block;
  }
}

/*       sec_03
================================*/
#corporate #sec_03 {
  position: relative;
  padding: 90px 0 125px;
  background: url(../Image/corporate/sec03_bg.png) no-repeat center bottom;
}

#corporate #sec_03:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.025)
}

#corporate #sec_03 .ttl_01 {
  width: 220px;
  height: 220px;
  margin-bottom: 35px;
}

#corporate #sec_03 .ttl_01 .hTtl_sub {
  margin-left: 1.55em;
  padding-top: 1.4em;
}

#corporate #sec_03 .ttl_01 .hTtl {
  font-size: 1.87rem;
  letter-spacing: 0.04em;
}

#corporate #sec_03 .tArea {
  position: relative;
  padding-top: 2.3rem;
}

#corporate #sec_03 .tArea:before {
  position: absolute;
  content: "";
  width: 90px;
  height: 1px;
  top: 0;
  left: 0;
  background: #2b1b19
}

#corporate #sec_03 .tArea .lead {
  font-size: 1.25rem;
  line-height: 1.55;
  margin-bottom: 1.1em;
}

#corporate #sec_03 .tArea .tel {
  line-height: 1.2;
  margin-bottom: 1.35rem
}

#corporate #sec_03 .tArea .tel a {
  font-size: 2.2rem;
  font-weight: 900;
  color: #2b1b19;
  padding-left: 1.7rem;
  letter-spacing: 0.05em;
  background: url(../Image/corporate/icon_tel.png) no-repeat left top 0.15em/auto 1em
}

#corporate #sec_03 .tArea .tel a span {
  display: inline-block;
}

#corporate #sec_03 .tArea .tel a .fontS {
  font-size: 1.1rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.01em;
}

#corporate #sec_03 .tArea .button01 {
  text-align: left;
}

#corporate #sec_03 .tArea .button01 a {
  padding: 1.05em 1.5em;
  font-size: 1.03rem;
  letter-spacing: 0;

}
/*       sec_attempt
================================*/
#corporate #sec_attempt {
  background: url(../Image/common/bg01.png) repeat left top 30px;
  background-color: #fcf9f3;
}
#corporate #sec_attempt .secWrap{
  margin-top: 40px;
}
#corporate #sec_attempt .secBox{
  display:flex;
  justify-content: space-between;
  align-items:flex-start;
}
#corporate #sec_attempt .secBox:nth-child(even){
  flex-direction:row-reverse;
}
#corporate #sec_attempt .secBox:nth-child(n+2){
  margin-top:60px;
}
#corporate #sec_attempt .imgBox{
  width: 37.5%;
}
#corporate #sec_attempt .txtBox{
  width: 57.5%;
}
#corporate #sec_attempt .txtBox .subTtl{
  font-size: 1.5rem;
  padding-left: 0.4em;
  border-left: solid 0.15em #78965a;
  margin-bottom: 0.8em;
  line-height: 1;
}
#corporate #sec_attempt .txtBox .tArea{
  line-height:1.875
}
#corporate #sec_attempt .txtBox .tArea p:nth-child(n+2){
  margin-top: 1em
}

/*-----------------------------------------------------

  菓匠・富貴について　about

------------------------------------------------------*/
/*       COMMON
================================*/
#about .pageTtl {
  width: 360px;
  height: 280px;
}

/*       sec_01
================================*/
#about #sec_01 {
  padding-bottom: 0;
  overflow: hidden;
}

#about #sec_01 .ttl_03 {
  width: 165px;
}

#about #sec_01 .ttl_03.headline {
  text-align: center;
  height: 210px;
  margin: 0 auto 70px;
}

/*       sec_01 common
--------------------------------*/
#about #sec_01 .secBox {
  position: relative;
}

#about #sec_01 .secBox .sldWrap {
  position: relative;
  width: 1000px;
  height: 466px;
  z-index: 3;
  margin-bottom: 110px;
}

#about #sec_01 .secBox .sldWrap .sldBox {
  position: absolute;
  width: 100vw;
  top: 0;
}

#about #sec_01 .secBox .bgWrap {
  position: absolute;
  width: 695px;
  top: 150px;
  height: 917px;
  z-index: 1;
}

#about #sec_01 .secBox .bgWrap .bgBox {
  position: absolute;
  width: 1099px;
  top: 0;
  right: 0;
}

#about #sec_01 .secBox .txtBox {
  position: relative;
  z-index: 2;
  display: flex;
}

#about #sec_01 .secBox .txtBox .subTtl_01 {
  margin-right: 100px;
}

#about #sec_01 .secBox .txtBox .tArea {
  padding-top: 1rem;
  line-height: 2.35;
}

/*       sec01-1
--------------------------------*/
#about #sec_01 #sec01-1,
#about #sec_01 #sec01-2 {
  height: 1070px;
}

#about #sec_01 #sec01-1 {
  margin-bottom: 120px;
}

#about #sec_01 #sec01-1 .sldWrap {
  margin-left: auto;
}

#about #sec_01 #sec01-1 .sldBox {
  left: 0;
}

#about #sec_01 #sec01-1 .bgWrap {
  left: 0;
}

#about #sec_01 #sec01-1 .bgBox {
  right: 0;
}

#about #sec_01 #sec01-1 .txtBox {
  margin-left: 300px;
}

#about #sec_01 #sec01-1 .txtBox .subTtl_01 {
  height: 430px;
}

/*       sec01-2
--------------------------------*/
#about #sec_01 #sec01-2 .sldWrap {
  margin-right: auto;
}

#about #sec_01 #sec01-2 .sldBox {
  right: 0;
}

#about #sec_01 #sec01-2 .bgBox {
  left: 0;
}

#about #sec_01 #sec01-2 .bgWrap {
  right: 0;
}

#about #sec_01 #sec01-2 .txtBox {
  margin-left: 165px;
}

#about #sec_01 #sec01-2 .txtBox .subTtl_01 {
  height: 350px;
}

/*       sec01-3
--------------------------------*/
#about #sec_01 #sec01-3 .txtBox {
  margin-left: 185px;
}

#about #sec_01 #sec01-3 .txtBox .subTtl_01 {
  height: 490px;
  ;
}

/*       bg_area
--------------------------------*/
#about #sec_01 .bg_area {
  position: relative;
  margin-top: -35px;
  height: 910px;
  margin-bottom: 80px;
}

#about #sec_01 .bg_area .bg {
  position: absolute;
  opacity: 0;
  transition: .6s ease;
}

#about #sec_01 .bg_area #bg01 {
  top: 0;
  right: -30px;
  z-index: 4;
  transform: translate(100px, 0);
  transition-delay: 0s;
}

#about #sec_01 .bg_area #bg02 {
  top: 130px;
  left: 50px;
  z-index: 3;
  transform: translate(0, -100px);
  transition-delay: .2s;
}

#about #sec_01 .bg_area #bg03 {
  bottom: 45px;
  left: -100px;
  z-index: 2;
  transform: translate(-100px, 0);
  transition-delay: .4s;
}

#about #sec_01 .bg_area #bg04 {
  bottom: 0;
  right: 70px;
  z-index: 1;
  transform: translate(0, 100px);
  transition-delay: .6s;
}

#about #sec_01 .bg_area.visible #bg01,
#about #sec_01 .bg_area.visible #bg02,
#about #sec_01 .bg_area.visible #bg03,
#about #sec_01 .bg_area.visible #bg04 {
  opacity: 1;
  transform: translate(0, 0);
}

/*       sec_02
================================*/
#about #sec_02 {
  position: relative;
  padding: 60px 0;
}

#about #sec_02:after {
  position: absolute;
  content: "";
  width: 100%;
  height: 900px;
  bottom: 0;
  left: 0;
  z-index: 1;
  background: url(../Image/common/bg01.png) repeat left top 30px;
  background-color: #fcf9f3;
}

/*       sec_upper
--------------------------------*/
#about #sec_02 .sec_upper {
  margin-bottom: 100px;
}

#about #sec_02 .sec_upper,
#about #sec_02 .sec_bottom {
  position: relative;
  z-index: 2;
}

#about #sec_02 .sec_upper .gInner {
  display: flex;
}

#about #sec_02 .sec_upper .imgWrap,
#about #sec_02 .sec_upper .txtBox {
  position: relative;
  box-sizing: border-box;
  width: 50%;
}

#about #sec_02 .sec_upper .imgWrap {
  height: 595px;
}

#about #sec_02 .sec_upper .imgWrap .imgBox {
  position: absolute;
  right: 0;
  top: 0;
}

#about #sec_02 .sec_upper .txtBox {
  padding: 90px 0 75px 75px;
  margin-top: 55px;
}

#about #sec_02 .sec_upper .txtBox:before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 1;
  background: url(../Image/common/bg02.png) repeat left top;
  padding-right: 180px;
}

#about #sec_02 .sec_upper .txtBox .ttl_04 {
  position: relative;
  margin-bottom: 0.8em;
  z-index: 2;
}

#about #sec_02 .sec_upper .txtBox .tArea {
  position: relative;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin-left: 5px;
  line-height: 2.15;
  margin-bottom: 1.5em;
  z-index: 2;
}

#about #sec_02 .sec_upper .txtBox .sign {
  position: relative;
  text-align: right;
  z-index: 2;
}

/*       sec_bottom
--------------------------------*/
#about #sec_02 .sec_bottom ul {
  display: flex;
  justify-content: space-between;
}

#about #sec_02 .sec_bottom ul li {
  width: 587px;
}

#about #sec_02 .sec_bottom ul li a {
  display: block;
}

#about #sec_02 .sec_bottom ul li .imgBox {
  width: 100%;
  height: 335px;
  overflow: hidden;
  margin-bottom: 0.55rem;
}

#about #sec_02 .sec_bottom ul li .imgBox img {
  transition: .4s;
  opacity: 1;
  transform: scale(1);
}

#about #sec_02 .sec_bottom ul li p {
  color: #2b1b19;
  font-size: 1.36rem;
  transition: .4s;
  background: url(../Image/common/arrow_01.png) no-repeat right 0.9em center;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  /*--- HOVER EFFECT ---*/
  #about #sec_02 .sec_bottom ul li a:hover .imgBox img {
    opacity: 0.5;
    transform: scale(1.1);
  }

  #about #sec_02 .sec_bottom ul li a:hover p {
    background-position: right 0.4em center;
    background-image: url(../Image/common/arrow_02.png);
    color: #78965a;
  }
}

/*-----------------------------------------------------

  銘菓一覧　item(top_archive)

------------------------------------------------------*/
/*       COMMON
================================*/
#item .pageTtl {
  width: 315px;
  height: 270px;
}
/*   カテゴリ一覧(top_archive)
================================*/
#item #top_archive {
  padding: 110px 0 100px;
}

#item #top_archive .itemList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}

#item #top_archive .itemList li {
  width: 586px;
}

#item #top_archive .itemList li a {
  color: #2b1b19;
  display: block;
}

#item #top_archive .itemList li .imgBox {
  width: 586px;
  height: 386px;
  margin-bottom: 1.25rem;
  overflow: hidden;
}

#item #top_archive .itemList li .imgBox img {
  transition: .4s;
  opacity: 1;
  transform: scale(1);
}

#item #top_archive .itemList li .catName {
  font-weight: 600;
  font-size: 1.35rem;
  background: url(../Image/common/arrow_01.png) no-repeat right 0.8em center;
  transition: .4s;
  line-height: 1;
  margin-bottom: 0.6em;
}

#item #top_archive .itemList li p {
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #item #top_archive .itemList li:nth-child(even) {
    margin-left: 28px;
  }

  #item #top_archive .itemList li:nth-child(n+3) {
    margin-top: 48px;
  }

  /*--- HOVER EFFECT ---*/
  #item #top_archive .itemList li a:hover .imgBox img {
    transform: scale(1.1);
    opacity: 0.5;
  }

  #item #top_archive .itemList li a:hover .catName {
    background-image: url(../Image/common/arrow_02.png);
    background-position: right 0.4em center;
  }
}

/*   商品一覧(archive)
================================*/
#item #archive {
  padding: 80px 0 100px;
}

#item #archive .itemList {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  margin-bottom: 50px;
}

#item #archive .itemList li {
  width: 380px;
  margin-right: 30px;
}

#item #archive .itemList li a {
  color: #2b1b19;
  display: block;
}

#item #archive .itemList li .imgBox {
  width: 100%;
  height: 258px;
  margin-bottom: 1.25rem;
  overflow: hidden;
}

#item #archive .itemList li .imgBox img {
  transition: .4s;
  transform: scale(1);
  opacity: 1;
}

#item #archive .itemList li .itemName {
  font-weight: 600;
  font-size: 1.35rem;
  background: url(../Image/common/arrow_01.png) no-repeat right 0.8em center;
  transition: .4s;
  line-height: 1;
  margin-bottom: 0.8em;
}

#item #archive .itemList li p {
  font-size: 1rem;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
#item #archive .itemList li .badge{
  line-height:1;
  margin-top:0.5rem;
}
#item #archive .itemList li .badge span{
  background:#781414;
  color:#fff;
  line-height:1;
  font-size:0.75rem;
  padding:0.5em 1em 0.6em;
  display:inline-block;
}
#item #archive .itemBox .button01 .btn {
  min-width: 180px;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  #item #archive .itemList li:nth-child(3n),
  #item #archive .itemList li:last-child {
    margin-right: 0;
  }

  #item #archive .itemList li:nth-child(n+4) {
    margin-top: 44px;
  }

  /*--- HOVER EFFECT ---*/
  #item #archive .itemList li a:hover .imgBox img {
    transform: scale(1.1);
    opacity: 0.5;
  }

  #item #archive .itemList li a:hover .itemName {
    background-image: url(../Image/common/arrow_02.png);
    background-position: right 0.4em center;
  }
}

/*   商品詳細(single)
================================*/
#item #single {
  padding: 80px 0 100px;
}

/*       sec_detail
--------------------------------*/
#item #single .sec_detail {
  margin-bottom: 80px;
}
#item #single .sec_detail .itemName .badge{
  position:absolute;
  right:0.5em;
  bottom:0.7em;
  font-size:1em;
  vertical-align:bottom;
}
#item #single .sec_detail .itemName .badge span{
  display:inline-block;
  font-size:0.5em;
  padding:0.4em 1em 0.45em;
  background:#781414;
  line-height:1;
  color:#fff;
  vertical-align:bottom;
}
#item #single .sec_detail .wrapBox {
  display: flex;
  justify-content: space-between;
}

#item #single .sec_detail .galleryBox {
  width: 720px;
}

#item #single .sec_detail .galleryBox .mainBox {
  width: 100%;
  height: 625px;
  margin-bottom: 0.82em;
}

#item #single .sec_detail .galleryBox .thumbBox {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
}

#item #single .sec_detail .galleryBox .thumbBox li {
  width: 230px;
  height: 230px;
  margin-right: 15px;
  position: relative;
}

#item #single .sec_detail .galleryBox .thumbBox li img {
  opacity: 1;
  transition: .4s;
}

#item #single .sec_detail .galleryBox .thumbBox li.current {
  pointer-events: none;
}

#item #single .sec_detail .galleryBox .thumbBox li.current:before {
  opacity: 1;
}

#item #single .sec_detail .galleryBox .thumbBox li:before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  width: 100%;
  height: 100%;
  border: solid 2px #78965a;
  box-sizing: border-box;
  opacity: 0;
}

#item #single .sec_detail .dtlBox {
  width: 430px;
}

#item #single .sec_detail .dtlBox .headline {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 1.5;
  margin-bottom: 0.6em
}

#item #single .sec_detail .dtlBox .introduction {
  line-height: 1.7;
  letter-spacing: 0.02em;
  margin-bottom: 3em;
}

#item #single .sec_detail .dtlBox .tblBox {
  margin-bottom: 0.7rem;
}

#item #single .sec_detail .dtlBox .tblBox caption {
  display: block;
  line-height: 1;
  font-size: 0.9rem;
  text-align: left;
  margin-bottom: 1.2em;
}

#item #single .sec_detail .dtlBox .tblBox tr {
  border-top: solid 1px #e5e5e5;
}

#item #single .sec_detail .dtlBox .tblBox th,
#item #single .sec_detail .dtlBox .tblBox td {
  font-weight: 500;
  font-size: 0.9rem;
  text-align: left;
  vertical-align: top;
  line-height: 1.7;
  padding: 0.8em 0;
  letter-spacing: 0;
}

#item #single .sec_detail .dtlBox .tblBox th {
  padding-right: 1em;
  width: 5em;
}

#item #single .sec_detail .dtlBox .tblBox td {
  padding-left: 1em;
}
#item #single .sec_detail .dtlBox .tblBox .delivery_method .badge{
  display:inline-block;
  color:#fff;
  background:#78965a;
  padding:0.25em 1.1em 0.25em 1em;
}
#item #single .sec_detail .dtlBox .tblBox .delivery_method th,
#item #single .sec_detail .dtlBox .tblBox .delivery_method td{
  vertical-align: middle;
}
#item #single .sec_detail .dtlBox .tblBox .delivery_method .badge.delivery_01{
  background:#781414;
}
#item #single .sec_detail .dtlBox .tblBox .delivery_method .badge.delivery_02{
  background:#7386c5;
}
#item #single .sec_detail .dtlBox .tblBox .delivery_method .badge:nth-child(n+2){
  margin-left:0.5em;
}
#item #single .sec_detail .dtlBox .tblBox .skuList {
  display: inline-block;
}
#item #single .sec_detail .dtlBox .tblBox .annotation{
  position:relative;
  padding-left:1em;
  font-size:0.9rem;
  margin-top:0.5em;
}
#item #single .sec_detail .dtlBox .tblBox .annotation a{
  color:#781414;
  text-decoration:underline;
}
#item #single .sec_detail .dtlBox .tblBox .annotation:before{
  position:absolute;
  content:"※";
  left:0;
  top:0;
}
#item #single .sec_detail .dtlBox .tblBox .skuList li {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

#item #single .sec_detail .dtlBox .tblBox .skuList li .sku-name {
  margin-right: 1.8em;
}

#item #single .sec_detail .dtlBox .formBox {
  border: solid 3px #e5e5e5;
  padding: 1.5rem;
}

#item #single .sec_detail .dtlBox .formBox form {
  display: block;
}

#item #single .sec_detail .dtlBox .formBox .selectBox {
  display: flex;
  justify-content: space-between;
  margin-bottom: 1.2rem
}

#item #single .sec_detail .dtlBox .formBox .selectBox select {
  display: inline-block;
  vertical-align: middle;
  border: solid 2px #e5e5e5;
}

#item #single .sec_detail .dtlBox .formBox .sku-select select {
  width: 230px;
}

#item #single .sec_detail .dtlBox .formBox .sku-select .item-sku {
  padding: 0;
  border: none;
  display: block;
}

#item #single .sec_detail .dtlBox .formBox .sku-select .item-sku dt {
  display: none;
}

#item #single .sec_detail .dtlBox .formBox .sku-select .item-sku dd {
  padding: 0;
  display: block;
}

#item #single .sec_detail .dtlBox .formBox .sku-select .item-sku dt,
#item #single .sec_detail .dtlBox .formBox .sku-select .item-sku dd {
  border: none;
}

#item #single .sec_detail .dtlBox .formBox .quant_ttl {
  font-size: 0.9rem;
  letter-spacing: 0;
  margin-right: 0.1em;
  vertical-align: middle;
}

#item #single .sec_detail .dtlBox .formBox .submit input[type=submit] {
  display: block;
  width: 100%;
  border: none;
  box-shadow: none;
  font-family: 'Noto Serif JP', serif;
  font-weight: 600;
  font-size: 1rem;
  padding: 1em 0em 1em 1.6em;
  letter-spacing: 0.05em;
  color: #fff;
  background: url(../Image/item/icon_cart.png) no-repeat left 4.6em center /auto 1em;
  background-color: #78965a;
  transition: .4s;
}

#item #single .sec_detail .dtlBox .formBox .itemsoldout {
  color: #cc1100;
}
#item #single .sec_detail .dtlBox .formBox .counter_selling .note {
  font-size: 0.75rem;
  line-height: 1.5;
  margin-bottom: 1em;
}
#item #single .sec_detail .dtlBox .formBox .counter_selling .not_available {
  text-align:right;
  color:#cc1111;
  line-height: 1;
}
/*       sec_special
--------------------------------*/
#item #single .sec_special {
  padding: 80px 0;
  margin-bottom: 100px;
  background: url(../Image/common/bg01.png) repeat left top 30px;
  background-color: #fcf9f3;
}

#item #single .sec_special .secBox {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

#item #single .sec_special .secBox .imgBox {
  width: 575px;
}

#item #single .sec_special .secBox .txtBox {
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: column;
  width: 575px;
}

#item #single .sec_special .secBox .subTtl_01 {
  font-weight: 600;
  line-height: 1;
  font-size: 1.5rem;
  padding-left: 0.4em;
  border-left: solid 0.15em #78965a;
  margin-bottom: 0.8em;
}

#item #single .sec_special .secBox .lead01 {
  font-weight: 600;
  font-size: 1.06rem;
  line-height: 1.4;
  margin-bottom: 1em;
}

#item #single .sec_special .secBox .lead02 {
  line-height: 1.8;
  font-size: 0.9rem;
  letter-spacing: 0;
}
#item #single .sec_special .secBox .lead02 p:nth-child(n+2),
#item #single .sec_special .secBox .lead02 .list_num_kan:nth-child(n+2){
  margin-top: .75em;
}

#item #single .sec_special .secBox .lead02 .list_num_kan{
  padding-left: 2em;
}
#item #single .sec_special .secBox .lead02 .list_num_kan li{
  list-style: cjk-ideographic;
}


#item #single .sec_special .subBox{
  border: solid 1px #781414;
  background: #FBF7EC;
  font-size: .875em;
  padding: 1.25em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.25em;
}
#item #single .sec_special .subBox figure{
  width: 150px;
}
#item #single .sec_special .subBox p{
  width: calc(100% - 150px - 2em);
}
#item #single .sec_special .voiceBox{
  display: block;
}
#item #single .sec_special .voiceList{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#item #single .sec_special .voiceList li{
    width: 48%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    font-family: 'Zen Kurenaido', sans-serif;
}
#item #single .sec_special .voiceList figure{
  width: 160px;
}
#item #single .sec_special .voiceList aside{
  position: relative;
  width: calc(100% - 160px - 35px);
  font-size: .875em;
  background: #fff;
  border-radius: 1em;
  border: solid 1px #78965a;
  line-height: 1.4;
  padding: 1.25em;
  min-height: 160px;
  box-sizing: border-box;
}
#item #single .sec_special .voiceList aside:before,
#item #single .sec_special .voiceList aside:after{
    position: absolute;
    content:"";
    right: 100%;
    top: 50%;
    transform: translateY(-50%);
    border-style: solid;
    border-width: 15px 20px 15px 0;
    border-color: transparent #78965a;
}
#item #single .sec_special .voiceList aside:before{
    z-index: 1;
    right: calc(100% + 1px);
}
#item #single .sec_special .voiceList aside:after{
    z-index: 2;
    border-color: transparent #fff;
}

#item #single .sec_special .voiceList li:nth-child(n+3) {
    margin-top: 40px;
}

#item #single .sec_special .voiceList:before,
#item #single .sec_special .voiceList:after {
    content: "※コメント一部抜粋";
    font-size: .875em;
    width: 100%;
}

#item #single .sec_special .voiceList:before{
  display: none;
  margin-bottom: 1em;
}
#item #single .sec_special .voiceList:after{
  display: block;
  margin-top: 1em;
}
#item #single .sec_special .secBox.closingBox{
  display: block;
  width: 100%;
  background: none;
  padding: 0;
  font-size: 1.5rem;
  text-align: center;
  background: none;
  border: none;
}
#item #single .sec_youtube{
  margin: 80px 0;
}
#item #single .sec_youtube .videoBox{
  padding: 30px 100px;
  background: #232323;
}
/*       sec_relation
--------------------------------*/
#item #single .sec_relation {
  margin-bottom: 55px;
}

#item #single .sec_relation .itemList {
  display: flex;
}

#item #single .sec_relation .itemList li {
  width: 282px;
}

#item #single .sec_relation .itemList li a {
  color: #2b1b19;
  display: block;
}

#item #single .sec_relation .itemList li .imgBox {
  width: 100%;
  height: 192px;
  margin-bottom: 0.8rem;
  overflow: hidden;
}

#item #single .sec_relation .itemList li .imgBox img {
  transition: .4s;
  transform: scale(1);
  opacity: 1;
}

#item #single .sec_relation .itemList li .itemName {
  font-weight: 600;
  font-size: 1.1rem;
  transition: .4s;
  line-height: 1.4;
}

#item #single .sec_relation+.button01 .btn {
  min-width: 180px;
}

#item #single .shopping_btn_wrap {
  margin-bottom: 80px;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  #item #single .sec_detail .galleryBox .thumbBox li:nth-child(3n),
  #item #single .sec_detail .galleryBox .thumbBox li:last-child {
    margin-right: 0;
  }

  #item #single .sec_detail .galleryBox .thumbBox li:nth-child(n+4) {
    margin-top: 15px;
  }

  #item #single .sec_detail .dtlBox .tblBox .skuList li:nth-child(n+2) {
    margin-top: 0.1em;
  }

  #item #single .sec_special .secBox:nth-child(n+2) {
    margin-top: 40px;
  }

  #item #single .sec_special .secBox:nth-child(odd) {
    flex-direction: row;
  }

  #item #single .sec_special .secBox:nth-child(even) {
    flex-direction: row-reverse;
  }

  #item #single .sec_relation .itemList li:nth-child(n+2) {
    margin-left: 24px;
  }

  #item #single .sec_relation .itemList li a:hover .imgBox img {
    transform: scale(1.1);
    opacity: 0.5;
  }

  #item #single .sec_relation .itemList li a:hover .itemName {
    color: #781414;
  }

  /*--- HOVER EFFECT ---*/
  #item #single .sec_detail .galleryBox .thumbBox li:hover {
    cursor: pointer;
  }

  #item #single .sec_detail .galleryBox .thumbBox li:hover img {
    opacity: 0.5;
  }

  #item #single .sec_detail .dtlBox .formBox .selectBox select:hover {
    cursor: pointer;
  }

  #item #single .sec_detail .dtlBox .formBox .submit input[type=submit]:hover {
    background-color: #781414;
    cursor: pointer;
  }
  #item #single .sec_detail .dtlBox .tblBox .annotation a:hover{
    color:#78965a;
    text-decoration:none;
  }
}
/*-----------------------------------------------------

  ショッピング　shopping　※一覧CSSはitem参照

------------------------------------------------------*/
/*       COMMON
================================*/
#shopping .clBox{
  display:flex;
  justify-content:space-between;
  background:url(../Image/common/bg02.png) repeat left top;
  margin-bottom:60px;
  padding: 40px 50px;
}
#shopping .clBox .tArea{
  width:550px;
  margin-right:50px;
}
#shopping .clBox .tArea p{
  font-size:0.95rem;
  line-height: 1.4;
}
#shopping .clBox .tArea p:not(:last-child){
margin-bottom: 0.5em;
}
#shopping .clBox .tArea p.annotation{
  font-size: 0.85rem;
  position: relative;
  padding-left: 1em;
  color:#666;
}
#shopping .clBox .tArea p.annotation:before{
  content:"※";
  position: absolute;
  left: 0;
  top:0;
}
#shopping .clBox .calender{
  display:flex;
  justify-content:center;
  font-size:0;
  width:510px;
  text-align:center;
  letter-spacing: 0;
}
#shopping .clBox .calender table{
  width:245px;
  font-size: 0.75rem;
  background:#fff;
  border-collapse:collapse;
}
#shopping .clBox .calender table caption{
  background:#78965a;
  color:#fff;
}
#shopping .clBox .calender table th{
  background:#f2f2f0
}
#shopping .clBox .calender table th:first-child{
  color:#cc1111;
}
#shopping .clBox .calender table th:last-child{
  color:#1111cc;
}
#shopping .clBox .calender table td:first-child{
  color:#cc1111;
}
#shopping .clBox .calender table td:last-child{
  color:#1111cc;
}
#shopping .clBox .calender table th,
#shopping .clBox .calender table td{
  border: solid 1px #ccc;
  width:35px;
  box-sizing: border-box;
}
#shopping .clBox .calender table:nth-child(n+2){
  margin-left:20px;
}
#shopping .clBox .calender span{
  display:none;
}
#shopping .clBox .calender table td.businessday{
  background: #ffedf8;
  color:#cc1111;
}
#shopping .clBox  .tArea .closed{
  color:#ffe5f5;
}
/*-----------------------------------------------------

  お知らせ　news

------------------------------------------------------*/
/*       COMMON
================================*/
#news .pageTtl {
  width: 315px;
  height: 270px;
}

#news .topSec {
  padding: 100px 0;
}

/*       archive
================================*/
#news #archive .newsList {
  display: flex;
  flex-wrap: wrap;
}

#news #archive .newsList:not(:last-child) {
  margin-bottom: 2rem;
}

#news #archive .newsList li {
  width: 285px;
}

#news #archive .newsList li a {
  display: block;
  height: 100%;
  box-sizing: border-box;
  border: solid 1px #eee;
  border-top: solid 4px #781414;
  background: #fff;
  position: relative;
}

#news #archive .newsList li a:after {
  position: absolute;
  content: "";
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: #78965a transparent;
  border-width: 0 0 8px 8px;
  transition: .4s;
}

#news #archive .newsList li a .imgBox {
  width: 100%;
  height: 176px;
  overflow: hidden;
}

#news #archive .newsList li a .imgBox img {
  transition: .4s;
  transform: scale(1);
  opacity: 1;
}

#news #archive .newsList li a .txtBox {
  padding: 1.1rem;
  color: #2b1b19;
}

#news #archive .newsList li a .txtBox .newsTtl {
  line-height: 1.2;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.7em;
}

#news #archive .newsList li a .txtBox .tArea {
  line-height: 1.5;
  font-size: 0.9rem;
  letter-spacing: 0.05em;
  margin-bottom: 0.8em;
}

#news #archive .newsList li a .txtBox .date {
  color: #585858;
  font-size: 0.75rem;
  line-height: 1;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #news #archive .newsList li {
    margin-right: 20px;
  }

  #news #archive .newsList li:nth-child(4n) {
    margin-right: 0;
  }

  #news #archive .newsList li:nth-child(n+5) {
    margin-top: 30px;
  }

  /*--- HOVER EFFECT ---*/
  #news #archive .newsList li a:hover .imgBox img {
    opacity: 0.5;
    transform: scale(1.1);
  }

  #news #archive .newsList li a:hover:after {
    border-color: #78965a #ccc;
    border-width: 0 0 16px 16px;
  }
}

/*       SINGLE
================================*/
#news #single .newsBox {
  width: 90%;
  margin: 0 auto;
}

#news #single .time {
  color: #585858;
  font-size: 0.75rem;
  line-height: 1;
  margin-bottom: 0.5rem;
}

#news #single .newsTtl {
  font-size: 1.6rem;
  line-height: 1.2;
  padding-bottom: 1rem;
  border-bottom: solid 1px #78965a;
  margin-bottom: 1.5rem
}

#news #single .tArea {
  margin-bottom: 2.5rem;
}

/*-----------------------------------------------------

  プライバシーポリシー　privacy

------------------------------------------------------*/
/*       COMMON
================================*/
#privacy .topSec {
  padding: 120px 0 100px;
}

#privacy .pageTtl {
  width: 360px;
  height: 345px;
}

#privacy #sec_01 .ttl_05 {
  margin-bottom: 0.7em
}

#privacy #sec_01 .lead {
  margin-bottom: 2.5rem;
}

#privacy #sec_01 .ppBox dd:not(:last-child) {
  margin-bottom: 2.5rem;
}

#privacy #sec_01 .ppBox dd a {
  word-break: break-all;
}

#privacy #sec_01 .ppBox dd .list_01 {
  counter-reset: no 0;
}

#privacy #sec_01 .ppBox dd .list_01 li {
  position: relative;
  padding-left: 1em;
  counter-increment: no 1;
}

#privacy #sec_01 .ppBox dd .list_01 li:before {
  position: absolute;
  content: counter(no)')';
  left: 0;
  top: 0;
}

#privacy #sec_01 .ppBox dt {
  padding-bottom: 0.7em;
  line-height: 1.2;
  font-size: 1.4rem;
  font-weight: 600;
  position: relative;
  margin-bottom: 0.7em;
}

#privacy #sec_01 .ppBox dt:after {
  position: absolute;
  content: "";
  width: 90px;
  height: 1px;
  background: #2b1b19;
  left: 0;
  bottom: 0;
}

/*-----------------------------------------------------

  特定商取引法に基づく表記　law

------------------------------------------------------*/
/*       COMMON
================================*/
#law .pageTtl {
  width: 370px;
  height: 365px;
}

#law #sec_01 {
  padding: 150px 0 100px;
}

#law #sec_01 .gInner {
  width: 1080px;
}

#law #sec_01 .law_sheet tr {
  border-bottom: solid 1px #d7d6d2;
}

#law #sec_01 .law_sheet th,
#law #sec_01 .law_sheet td {
  padding: 1.5em 2em;
  vertical-align: top;
}

#law #sec_01 .law_sheet th {
  width: 150px;
  text-align: left;
  font-weight: 600
}

#law #sec_01 .law_sheet dt {
  position: relative;
  font-weight: 600;
  padding-left: 1.5em;
}

#law #sec_01 .law_sheet dd {
  color: #2b1b19;
  padding-left: 1.5em;
}

#law #sec_01 .law_sheet dt:before {
  position: absolute;
  content: "－";
  left: 0;
  top: 0;
  font-weight: 900;
}

#law #sec_01 .law_sheet dd:not(:last-child) {
  margin-bottom: 1em;
}

#law #sec_01 .law_sheet .inqBox {
  background: url(../Image/common/bg02.png) no-repeat left top / cover;
  border: solid 1px #d7d6d2;
  padding: 0.8em 1.2em;
  margin-top: 1em;
}

/*-----------------------------------------------------

  ご利用ガイド　guide

------------------------------------------------------*/
/*       COMMON
================================*/
#guide .pageTtl {
  width: 315px;
  height: 345px;
}

#guide #sec_01 {
  padding: 120px 0 100px;
}

#guide #sec_01 .gInner {
  width: 1080px;
}

#guide #sec_01 dt {
  margin-bottom: 1rem;
}

#guide #sec_01 dt .ttl_05 {
  font-weight: 600;
  font-size: 1.6rem;
  margin-bottom: 0;
  border-color: #d4d4d4;
}

#guide #sec_01 dt .ttl_05:after {
  background: #d4d4d4;
}

#guide #sec_01 dd:not(:last-child) {
  margin-bottom: 5rem;
}

#guide #sec_01 dd .sub_title {
  font-size: 1.3rem;
  position: relative;
  padding-bottom: 0.7em;
  line-height: 1;
  margin-bottom: 0.7em;
}

#guide #sec_01 dd .sub_title:after {
  position: absolute;
  content: "";
  width: 90px;
  height: 1px;
  background: #2b1b19;
  left: 0;
  bottom: 0;
}

#guide #sec_01 dd .lead:not(:last-child) {
  margin-bottom: 1.5rem;
}

#guide #sec_01 dd .listBox {
  display: inline-block;
  vertical-align: bottom;
}

#guide #sec_01 dd .listBox li {
  display: flex;
  justify-content: space-between;
}

#guide #sec_01 dd .listBox li .ttl {
  margin-right: 3em;
}

#guide #sec_01 dd .annotation {
  font-size: 0.9rem;
  color: #333;
  line-height: 1.4
}

/*-- お支払いについて --*/
#guide #sec_01 dd .payBox .lead {
  margin-bottom: 1rem;
}

#guide #sec_01 dd .payBox th,
#guide #sec_01 dd .payBox td {
  font-weight: 600;
  text-align: left;
  font-size: 0.9rem;
  vertical-align: top;
  padding: 1.5em 2em;
  border: solid 1px #d7d6d2;
}

#guide #sec_01 dd .payBox th {
  background: #f7f7f5;
  width: 180px;
}

#guide #sec_01 dd .payBox #bank+td .listBox li {
  justify-content: flex-start;
}

#guide #sec_01 dd .payBox #bank+td .listBox li .ttl {
  width: 5em;
}

#guide #sec_01 dd .payBox #cash+td .listBox .text {
  font-weight: 900;
  color: #781414;
}

/*-- 送料について --*/
#guide #sec_01 #shipping+dd .fontL {
  font-size: 2rem;
  font-weight: 800;
  color: #781414;
  display: inline-block;
  margin: 0 0.3rem;
}

#guide #sec_01 #shipping+dd .color-r {
  font-size: 1.5rem;
  margin: 0 0.3rem;
  font-weight: 600;
  color: #cc1111
}

#guide #sec_01 #shipping+dd .fontS {
  font-size: 0.85rem;
  font-weight: 600;
  margin-left: 1.5em;
}

#guide #sec_01 dd .shippingBox table {
  margin-bottom: 0.5rem;
}

#guide #sec_01 dd .shippingBox table th,
#guide #sec_01 dd .shippingBox table td {
  padding: 0.5em 1em;
  font-weight: 500;
  border: solid 1px #d7d6d2
}

#guide #sec_01 dd .shippingBox table .thead {
  background: #781414;
  text-align: center;
  color: #fff;
}

#guide #sec_01 dd .shippingBox table .th01 {
  background: #fcf9f3;
  color: #781414;
}

#guide #sec_01 dd .shippingBox table .td02 {
  text-align: right;
}

/*-- 発送について --*/
#guide #sec_01 #delivery+dd .sub_title {
  color: #781414;
}

#guide #sec_01 #delivery+dd .sub_title:after {
  background: #781414;
}

#guide #sec_01 #delivery+dd ol li {
  display: inline-block;
}

#guide #sec_01 #delivery+dd ol li:nth-child(n+2):before {
  display: inline-block;
  content: ",";
}

/*-----------------------------------------------------

サイトマップ　sitemap

------------------------------------------------------*/
/*       COMMON
================================*/
#sitemap .pageTtl {
  width: 315px;
  height: 345px;
}

#sitemap #sec_01 {
  padding: 160px 0 100px;
}

#sitemap #sec_01 .smBox {
  width: 90%;
  margin: 0 auto;
  box-sizing: border-box;
  padding: 50px 60px;
  background: url(../Image/common/bg02.png) repeat left top;
  display: flex;
  justify-content: space-between;
  position: relative;
  box-shadow: 0 0px 2px rgba(0, 0, 0, 0.1)
}

#sitemap #sec_01 .smBox .bgBox {
  position: absolute;
  right: 60px;
  bottom: 50px;
}

#sitemap #sec_01 .smBox #smList01,
#sitemap #sec_01 .smBox #smList02 {
  margin-right: 120px;
}

#sitemap #sec_01 .smBox .smList li {
  line-height: 1;
}

#sitemap #sec_01 .smBox .smList li:nth-child(n+2) {
  margin-top: 1em;
}

#sitemap #sec_01 .smBox .smList li a {
  position: relative;
  color: #2b1b19;
  padding-bottom: 0.25em;
}

#sitemap #sec_01 .smBox .smList li a:after {
  position: absolute;
  content: "";
  width: 0%;
  height: 1px;
  background: #781414;
  transition: .4s ease;
  bottom: 0;
  left: 0;
}

#sitemap #sec_01 .smBox .smList li.list_lv01 {
  font-size: 1.1rem;
}

#sitemap #sec_01 .smBox .smList li.list_lv02 {
  font-size: 0.9rem;
}

#sitemap #sec_01 .smBox .smList li.list_lv02:before {
  content: "－";
  display: inline-block;
  margin-right: 0.5rem;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #sitemap #sec_01 .smBox .smList li a:hover {
    color: #781414;
  }

  #sitemap #sec_01 .smBox .smList li a:hover:after {
    width: 100%;
  }
}

/*-----------------------------------------------------

お問い合わせ　contact

------------------------------------------------------*/
/*       sec_01
================================*/
#contact .pageTtl {
  width: 315px;
  height: 345px;
}

#contact #sec_01 {
  padding: 130px 0 100px;
}

#contact #sec_01 table {
  width: 80%;
  margin: 0 auto 40px;
}

#contact #sec_01 table tr {
  border-bottom: solid 1px #d4d4d4;
}

#contact #sec_01 table th {
  width: 250px;
  text-align: left;
  ;
  font-weight: 600;
}

#contact #sec_01 table th,
#contact #sec_01 table td {
  vertical-align: middle;
  padding: 1.5em 1em;
  vertical-align: top;
  font-size: 0.9rem;
}

#contact #sec_01 .form-parts {
  display: block;
  width: 100%;
}

#contact #sec_01 .notes {
  font-size: 0.85rem;
  margin-top: 0.2em;
}

#contact #sec_01 .form-parts.short input:not([type="radio"]):not([type="checkbox"]) {
  width: 30%;
}

#contact #sec_01 .form-parts.middle input:not([type="radio"]):not([type="checkbox"]) {
  width: 60%;
}

#contact #sec_01 .form-parts.long input:not([type="radio"]):not([type="checkbox"]) {
  width: 80%;
}

#contact #sec_01 .form-parts textarea {
  display: block;
  width: 100%;
  box-sizing: border-box;
}

#contact #sec_01 .form-parts textarea {
  width: 80%;
  height: 10rem;
}

#contact #sec_01 #submit {
  text-align: center;
  padding: 0;
}

#contact #sec_01 .mfp_buttons {
  font-size: 0;
  letter-spacing: 0;
  padding: 0;
}

#contact #sec_01 .mfp_buttons button {

  text-align: center;

  padding: 0.7em 1.3em 0.8em;

  line-height: 1;

  background: #78965a;

  color: #fff;

  min-width: 210px;

  border-radius: 0;

  font-family: 'Noto Serif JP', serif;

  font-weight: 500;

  font-size: 1rem;

  transition: .4s;

  letter-spacing: 0.02em;

  border: none;
}

#contact #sec_01 .mfp_buttons #mfp_button_cancel {
  background: #aaa;
  margin-left: 1.5rem;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {
  #contact #sec_01 .mfp_buttons button:hover {
    background-color: #781414;
  }

  #contact #sec_01 .mfp_buttons #mfp_button_cancel:hover {
    background: #666
  }
}
/*       thanks
================================*/
#thanks #sec_01 .txt_box{
	margin-bottom:1rem;
}
#thanks #sec_01 .button{
	text-align: left;
}
/*       reset_css
================================*/
/* フォーム全体 */
form#mailformpro {
  padding: 0;
}

/* フォーム部品のボックスシャドウ打消し */
.mfp_element_text,
.mfp_element_number,
.mfp_element_select-one,
.mfp_element_email,
.mfp_element_tel,
.mfp_element_textarea {
  margin: 0;
  box-shadow: none;
  padding: 0.5em;
  font-size: 0.9rem;
  font-weight: 500
}

/* 入力エラーのチカチカなし、文字色 */
div.mfp_err {
  color: #f93434;
  font-size: 0.85rem;
  font-weight: 600;
  background: none;
  padding: 0.2em 0;
  margin: 0;
}

/* エラー箇所のフォーム部品を色つきで強調 */
.problem {
  background-color: #fdd;
}

/* 入力OKのエフェクト */
div.mfp_ok {
  background-color: #ff7500;
  border-color: #ff7500;
  font-size: 12px;
}

/* チェックボックスのエフェクト打消し */
form#mailformpro label.mfp_not_checked {
  padding: 0;
  border: none;
  box-shadow: none;
}

form#mailformpro label.mfp_checked {
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
}

/* ボタンのエフェクト打消し */
.mfp_element_submit,
.mfp_element_reset,
.mfp_element_button {
  text-shadow: none;
}

@media screen and (min-width : 768px) {

  .mfp_element_submit:hover,
  .mfp_element_reset:hover,
  .mfp_element_button:hover,
  button.mfp_next:hover,
  button.mfp_prev:hover {
    box-shadow: none;
  }
}

/* 内容確認画面のテーブルを全幅 */
table#mfp_confirm_table {
  width: 100%;
}

table#mfp_confirm_table tr.mfp_achroma,
table#mfp_confirm_table tr.mfp_colored {
  background: none;
}

div#mfp_phase_confirm h4 {
  font-size: 18px;
  color: #f93434;
  padding: 0;
  margin-bottom: 20px;
}

/*-----------------------------------------------------

  その他システムパーツ

------------------------------------------------------*/
/*       WP PAGE NAVI
================================*/
.wp-pagenavi {
  text-align: center;
}

.wp-pagenavi>* {
  display: inline-block;
  line-height: 40px;
  vertical-align: middle;
}

.wp-pagenavi>*:not(.extend) {
  background: #78965a;
  width: 40px;
  height: 40px;
  line-height: 40px;
  display: inline-block;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  font-weight: 900;
}

.wp-pagenavi .extend {
  font-size: 18px;
  display: inline-block;
}

.wp-pagenavi .current {
  background: #781414;
}

.wp-pagenavi>*:not(:last-child) {
  margin-right: 10px;
}

/*======= PC LAYOUT ======*/
@media print,
screen and (min-width : 768px) {

  /*------ HOVER EFFECT ------*/
  .wp-pagenavi>a:hover {
    background: #781414;
  }
}

/*  404　not_found
================================*/
#not_found #sec_01 .message p {
  margin-bottom: 2em;
}
