@charset "UTF-8";
/*
Theme Name: fiveboxes2025
Description: fiveboxes2025テーマ
Version: 1.0
Tags: html5 css3(scss) javascript php mysql FontAwesome4.7.0
*/
@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 100;
}
@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 200;
}
@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 300;
}
@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}
@font-face {
  font-family: "Original Yu Gothic";
  src: local("Yu Gothic Bold");
  font-weight: bold;
}
*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}
html:focus {
  outline: none;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.6;
  color: #1A1311;
}
@media screen and (min-width: 1025px) {
  body {
    font-size: 16px;
  }
}

main {
  display: block;
  overflow: hidden;
}

.fontSerif {
  font-family: "游明朝体", "YuMincho", "游明朝", "Yu Mincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN W3", HiraMinProN-W3, "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "HGS明朝E", serif;
}

.fontsub {
  font-family: p22-underground, sans-serif;
  font-weight: 600;
}

.bold {
  font-weight: 700;
}

address {
  font-style: normal;
}

/* ----------------------------------- */
/* コンテナ
/* ----------------------------------- */
.container {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  transition: ease-in 0.1s;
}
@media screen and (min-width: 1211px) {
  .container {
    max-width: 1170px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1210px) {
  .container {
    max-width: 1000px;
    padding-left: 5%;
    padding-right: 5%;
  }
}
@media screen and (max-width: 767px) {
  .container {
    max-width: 750px;
  }
}

/* ----------------------------------- */
/* clearfix
/* ----------------------------------- */
.clearfix:before,
.clearfix:after,
.container:before,
.container:after {
  content: " ";
  display: table;
}

.clearfix:after,
.container:after {
  clear: both;
}

/* ----------------------------------- */
/* フォントサイズ・余白 */
/* ----------------------------------- */
.fs12 {
  font-size: 12px !important;
}

.fs14 {
  font-size: 14px !important;
}

.fs16 {
  font-size: 16px !important;
}

.fs18 {
  font-size: 18px !important;
}

.fs20 {
  font-size: 20px !important;
}

.fs22 {
  font-size: 22px !important;
}

.fs24 {
  font-size: 24px !important;
}

.mt0 {
  margin-top: 0 !important;
}

.mt5 {
  margin-top: 5px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb5 {
  margin-bottom: 5px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb15 {
  margin-bottom: 15px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb35 {
  margin-bottom: 35px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

.w10p {
  width: 10% !important;
}

.w20p {
  width: 20% !important;
}

.w30p {
  width: 30% !important;
}

.w40p {
  width: 40% !important;
}

.w50p {
  width: 50% !important;
}

.w60p {
  width: 60% !important;
}

.w70p {
  width: 70% !important;
}

.w80p {
  width: 80% !important;
}

.w90p {
  width: 90% !important;
}

.w100p {
  width: 100% !important;
}

/* ----------------------------------- */
/* リンク */
/* ----------------------------------- */
a {
  color: #1A1311;
  text-decoration: underline;
  transition: all ease 0.3s;
}
a:hover, a:focus {
  color: #999;
  text-decoration: none;
  transition: all ease 0.3s;
}
a:focus, a:active, a:hover {
  outline: 0;
  text-decoration: none;
}
a img:hover {
  opacity: 0.8;
}

.cart-icon::before {
  content: "";
  background: url("images/common/icon_cart.svg") no-repeat center/24px 22px;
  width: 24px;
  height: 22px;
  display: block;
}

/* ----------------------------------- */
/* 配置 */
/* ----------------------------------- */
.alignnone {
  max-width: 100%;
}

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

.alignright {
  display: inline;
  float: right;
}

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

blockquote.alignleft,
img.alignleft {
  margin: 0 20px 20px 0;
}
blockquote.alignright,
img.alignright {
  margin: 0 0 20px 20px;
}
blockquote.aligncenter,
img.aligncenter {
  clear: both;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
  margin-bottom: 20px;
}

/* ----------------------------------- */
/* イメージ */
/* ----------------------------------- */
img {
  vertical-align: bottom;
  max-width: 100%;
  height: auto;
  flex-shrink: 0;
}
img[class*=align], img[class*=wp-image-], img[class*=attachment-] {
  height: auto;
}
img.alignleft, img.alignright, img.aligncenter {
  margin-bottom: 30px;
}
img.alignleft {
  display: inline;
  float: left;
  margin-right: 20px;
}
img.alignright {
  display: inline;
  float: right;
  margin-left: 20px;
}
img.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px !important;
}

/* ----------------------------------- */
/* ギャラリー */
/* ----------------------------------- */
.gallery {
  margin: 30px 0;
}
.gallery .gallery-item {
  display: inline-block;
  padding: 0 1.79104477%;
  text-align: center;
  vertical-align: top;
  width: 100%;
  margin: 0 0 15px;
}
.gallery .gallery-item .gallery-icon img {
  margin: 0 auto;
  width: 100%;
  height: auto;
  border: none !important;
}
.gallery .gallery-item .gallery-caption {
  color: #707070;
  display: block;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  padding: 0.5em 0 0;
  margin: 0;
}
.gallery.gallery-columns-2 .gallery-item {
  max-width: 50%;
}
.gallery.gallery-columns-3 .gallery-item {
  max-width: 33.33%;
}
.gallery.gallery-columns-4 .gallery-item {
  max-width: 25%;
}
.gallery.gallery-columns-5 .gallery-item {
  max-width: 20%;
}
.gallery.gallery-columns-6 .gallery-item {
  max-width: 16.66%;
}
.gallery.gallery-columns-7 .gallery-item {
  max-width: 14.28%;
}
.gallery.gallery-columns-8 .gallery-item {
  max-width: 12.5%;
}
.gallery.gallery-columns-9 .gallery-item {
  max-width: 11.11%;
}
/* キャプション */
/* ----------------------------------- */
.wp-caption {
  max-width: 100%;
  margin: 0;
}
.wp-caption img {
  border-color: none;
}

/* ----------------------------------- */
/* ボタン */
/* ----------------------------------- */
.btnWrap {
  margin: 30px 0;
}
.btnWrap.colomn2 {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  grid-gap: 30px 60px;
}

.btn {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  color: #1A1311;
  text-decoration: none;
}

.btn.type1 {
  width: 240px;
  height: 60px;
  background-color: #fff;
  font-family: p22-underground, sans-serif;
  font-weight: 600;
}

.btn.type1 svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.btn.type1 svg rect {
  -webkit-transition: all 400ms ease;
  transition: all 400ms ease;
  stroke: #1A1311;
  stroke-width: 2;
  stroke-dasharray: 232px, 21px;
  stroke-dashoffset: 58px;
}

.btn.type1 span {
  color: #1A1311;
}

.btn.arrow:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #fff;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: 0.3s ease-in;
}
.btn.arrowReverse:after {
  position: absolute;
  align-items: center;
  border: none;
  content: "\f105";
  font-family: FontAwesome;
  transform: none;
  color: #1A1311;
  right: 15px;
  font-size: 20px;
  border-radius: 0;
  top: 50%;
  margin-top: -15px;
  transition: 0.3s ease-in;
}
.btn.reverse {
  text-decoration: none;
  color: #1A1311;
  background: #fff;
  border-color: #1A1311;
}
.btn.btnLeft {
  margin: 0 auto;
}
.btn.btnRight {
  margin: 0 auto;
}
.btn.btnCenter {
  margin-left: auto;
  margin-right: auto;
}
.btn.btnFull {
  max-width: none;
}
.btn.type2 {
  background: #ca1633;
  border-color: #ca1633;
  color: #fff;
}
.btn.type2:after {
  color: #fff;
}
.btn.type2:hover {
  background: #1A1311;
  border-color: #1A1311;
  color: #fff;
}
.btn.type2:hover:after {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .btnWrap {
    margin: 60px 0;
  }
  .btnWrap.colomn2 {
    grid-template-columns: repeat(2, 240px);
  }
  .btn.type1:hover svg rect {
    stroke-dashoffset: 284px;
  }
  .btn.arrow:hover:after, .btn.arrow:focus:after {
    color: #1A1311;
  }
  .btn.arrowReverse:hover:after, .btn.arrowReverse:focus:after {
    color: #fff;
  }
  .btn.reverse:hover, .btn.reverse:focus {
    background: #1A1311;
    color: #fff;
  }
  .btn.btnLeft {
    margin: 0 auto 0 0;
  }
  .btn.btnRight {
    margin: 0 0 0 auto;
  }
  .btn.btnCenter {
    margin-left: auto;
    margin-right: auto;
  }
  .btn.btnFull {
    max-width: none;
  }
}
/* ----------------------------------- */
/* カラム */
/* ----------------------------------- */
.column2Wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 20px;
  margin-bottom: 20px;
}
.column2Wrap .columnBox p:last-of-type {
  margin-bottom: 0;
}
.column2Wrap.pc7_3_type2 {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(3, auto);
  grid-gap: 15px 20px;
}
.column2Wrap.pc7_3_type2 ._txt1 {
  grid-column: 1/3;
  grid-row: 2/3;
}
.column2Wrap.pc7_3_type2 ._txt2 {
  grid-column: 1/3;
  grid-row: 3/4;
}
.column2Wrap.pc7_3_type2 ._img1 {
  grid-column: 1/2;
  grid-row: 1/2;
}
.column2Wrap.pc7_3_type2 ._img2 {
  grid-column: 2/3;
  grid-row: 1/2;
}

.column3Wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 8px;
  margin-bottom: 20px;
}
.column3Wrap .columnBox img {
  width: 100%;
  max-width: 100%;
}
.column3Wrap .columnBox p:last-child {
  margin-bottom: 0;
}

.column4Wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 8px;
  margin-bottom: 20px;
}
.column4Wrap .columnBox p:last-child {
  margin-bottom: 0;
}
.column4Wrap .columnBox img {
  max-width: 100%;
  width: 100%;
}

.column5Wrap {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 8px;
  margin-bottom: 20px;
}
.column5Wrap .columnBox p:last-child {
  margin-bottom: 0;
}
.column5Wrap .columnBox img {
  max-width: 100%;
  width: 100%;
}

.column6Wrap {
  display: flex;
  flex-wrap: wrap;
}
.column6Wrap .columnBox {
  flex-basis: calc((100% - 50px) / 6);
  max-width: calc((100% - 50px) / 6);
  margin-right: 10px;
}
.column6Wrap .columnBox img {
  max-width: 100%;
  width: 100%;
}
.column6Wrap .columnBox:last-of-type {
  margin-right: 0;
}
.column6Wrap .columnBox:nth-of-type(n + 7) {
  margin-top: 20px;
}

.bc-color .columnBox {
  background-color: #f5f5f5;
}

.columnBox {
  overflow: hidden;
}
.columnBox img {
  align-self: baseline;
  max-width: 100%;
}
.columnBox p:last-of-type {
  margin: 0;
}

.borderBox .columnBox {
  padding: 15px 20px;
  border: 1px solid #eee;
  overflow: visible;
}
.borderBox .columnBox + .borderNone {
  border: none;
}

@media screen and (min-width: 1025px) {
  .column2Wrap {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 60px 50px;
    margin-bottom: 30px;
  }
  .column2Wrap .column2Wrap {
    grid-gap: 20px !important;
  }
  .column2Wrap.pc3_7 {
    grid-template-columns: repeat(10, 1fr);
    grid-gap: 40px;
  }
  .column2Wrap.pc3_7 .columnBox:nth-of-type(odd) {
    grid-column: 1/4;
  }
  .column2Wrap.pc3_7 .columnBox:nth-of-type(even) {
    grid-column: 4/11;
  }
  .column2Wrap.pc7_3 {
    grid-template-columns: repeat(10, 1fr);
    grid-gap: 40px;
  }
  .column2Wrap.pc7_3 .columnBox:nth-of-type(odd) {
    grid-column: 1/8;
  }
  .column2Wrap.pc7_3 .columnBox:nth-of-type(even) {
    grid-column: 8/11;
  }
  .column2Wrap.pc2_8 {
    grid-template-columns: repeat(10, 1fr);
    grid-gap: 40px;
  }
  .column2Wrap.pc2_8 .columnBox:nth-of-type(odd) {
    grid-column: 1/3;
  }
  .column2Wrap.pc2_8 .columnBox:nth-of-type(even) {
    grid-column: 3/11;
  }
  .column2Wrap.pc8_2 {
    grid-template-columns: repeat(10, 1fr);
    grid-gap: 40px;
  }
  .column2Wrap.pc8_2 .columnBox:nth-of-type(odd) {
    grid-column: 1/9;
  }
  .column2Wrap.pc8_2 .columnBox:nth-of-type(even) {
    grid-column: 9/11;
  }
  .column2Wrap.pc_r240 {
    grid-template-columns: auto 240px;
    grid-gap: 40px 95px;
  }
  .column2Wrap.pc_r240 .columnBox:nth-of-type(odd) {
    grid-column: 1/2;
  }
  .column2Wrap.pc_r240 .columnBox:nth-of-type(even) {
    grid-column: 2/3;
  }
  .column2Wrap.pc7_3_type2 {
    grid-template-columns: auto 300px;
    grid-template-rows: repeat(2, auto);
    grid-gap: 30px 40px;
  }
  .column2Wrap.pc7_3_type2 .columnBox:nth-of-type(odd) {
    grid-column: 1/2;
  }
  .column2Wrap.pc7_3_type2 ._txt1 {
    grid-column: 1/2;
    grid-row: 1/2;
  }
  .column2Wrap.pc7_3_type2 ._txt2 {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  .column2Wrap.pc7_3_type2 ._img1 {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .column2Wrap.pc7_3_type2 ._img2 {
    grid-column: 2/3;
    grid-row: 2/3;
  }
  .column2Wrap.pc370_auto {
    grid-template-columns: 370px auto;
    grid-gap: 30px 70px;
  }
  .column2Wrap.pc370_auto .columnBox:nth-of-type(odd) {
    grid-column: 1/2;
  }
  .column2Wrap.pc370_auto .columnBox:nth-of-type(even) {
    grid-column: 2/3;
  }
  .column3Wrap {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
  }
  .column4Wrap {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
  }
  .column5Wrap {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 30px 55px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .column2Wrap {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 50px;
  }
  .column3Wrap {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 20px;
  }
  .column4Wrap {
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
  }
  .column5Wrap {
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 20px;
  }
}
/* ---------------------------- */
/* sns リンク */
/* ---------------------------- */
.sns_wrap {
  list-style: none;
  display: grid;
  grid-column-gap: 19px;
  margin: 0;
  padding-left: 0;
  grid-template-columns: repeat(2, 24px);
}
.sns_wrap li {
  width: 24px;
}

/* ---------------------------------------------------------------- */
/* ヘッダー */
/* ---------------------------------------------------------------- */
#header {
  height: 60px;
}
#header #headerCnt {
  width: 100%;
  padding: 0 15px;
}
#header #headerCnt #headerCnt_inr {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0 auto;
  height: 60px;
}
#header #headerCnt #headerCnt_inr #logoArea {
  flex-basis: 129px;
  width: 129px;
  align-self: center;
}
#header #headerCnt #headerCnt_inr #logoArea a {
  display: block;
  width: 100%;
}
#header #headerCnt #headerCnt_inr #logoArea a h1 {
  margin: 0;
  line-height: 1;
}
#header #headerCnt #headerCnt_inr #logoArea a h1 img {
  max-width: 129px;
  height: auto;
}
#header #headerCnt #headerCnt_inr #headerContact {
  flex-basis: auto;
  width: auto;
  margin-left: auto;
}
#header #headerCnt #headerCnt_inr #headerContact ul {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#header #headerCnt #headerCnt_inr #headerContact ul li {
  list-style: none;
  margin-left: 20px;
}
#header #headerCnt #headerCnt_inr #headerContact ul li a {
  color: #1A1311;
  text-decoration: none;
  font-size: 14px;
}
#header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact {
  background-color: #1A1311;
  border: 1px solid #1A1311;
  color: #fff;
  border-radius: 50px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 16px 11px;
  line-height: 1;
}
#header #headerCnt #headerCnt_inr #headerContact ul li a.children {
  padding-right: 13px;
  background: url("images/common/arrow_down.svg") no-repeat right top 3px/10px 6px;
}
#header #headerCnt #headerCnt_inr #drawerNaviWrap {
  display: none;
}
#header #headerCnt.fixed {
  width: 100%;
  position: fixed;
  margin: 0 auto;
  z-index: 5;
  height: 70px;
  top: 0;
  transition: ease-in 0.1s;
  box-shadow: 1px 1px 15px #eee;
  background: #fff;
  height: 60px;
}
#header #headerCnt.fixed + #main {
  margin-top: 70px !important;
}
@media screen and (min-width: 1025px) {
  #header {
    height: 80px;
  }
  #header #headerCnt #headerCnt_inr {
    max-width: 1170px;
    height: 80px;
  }
  #header #headerCnt #headerCnt_inr #logoArea {
    flex-basis: 215px;
    width: 215px;
  }
  #header #headerCnt #headerCnt_inr #logoArea a h1 {
    line-height: 2;
  }
  #header #headerCnt #headerCnt_inr #logoArea a h1 img {
    max-width: 215px;
    margin-bottom: 11px;
  }
  #header #headerCnt #headerCnt_inr #headerContact ul li a.header-contact:hover {
    background-color: #fff;
    color: #1A1311;
  }
  #header #headerCnt.fixed {
    height: 80px;
  }
  #header #headerCnt.fixed #headerCnt_inr #logoArea {
    flex-basis: 215px;
    width: 215px;
  }
  #header #headerCnt.fixed #headerCnt_inr #logoArea a h1 img {
    max-width: 215px;
  }
}
@media screen and (max-width: 767px) {
  #header #headerCnt {
    max-width: 750px;
    justify-content: space-between;
    height: auto;
    padding: 0;
  }
  #header #headerCnt #headerCnt_inr #logoArea #logo {
    margin: 0 0 0 15px;
  }
  #header #headerCnt #headerCnt_inr #headerContact {
    margin-right: 72px;
  }
  #header #headerCnt #headerCnt_inr #headerContact ul li {
    display: none;
  }
  #header #headerCnt #headerCnt_inr #headerContact ul li.sp_onlink {
    display: block;
  }
  #header #headerCnt #headerCnt_inr #drawerNaviWrap {
    display: block;
  }
}

.arow-ul > li > a {
  font-size: 16px;
  padding: 0 20px 17px 10px;
  border-bottom: 1px solid #1A1311;
  margin-bottom: 17px;
  display: flex;
  background-image: url(images/common/arrow_right_small_black.svg);
  background-size: 14px 12px;
  background-repeat: no-repeat;
  background-position: top 4px right 10px;
}

.megaMenu__link.is-active + .megaMenu__content {
  opacity: 1;
  visibility: visible;
}

.megaMenu__content {
  opacity: 0;
  visibility: hidden;
  position: absolute;
  top: 60px;
  left: 0;
  width: 100%;
  background-color: #fff;
  -webkit-transition: opacity 0.3s, visibility 0.3s;
  transition: opacity 0.3s, visibility 0.3s;
  z-index: 7;
  height: 100vh;
  overflow: auto;
}
.megaMenu__content .container {
  position: relative;
  margin: 60px auto 160px;
}
@media screen and (min-width: 1025px) {
  .megaMenu__content {
    top: 80px;
  }
}

/* ---------------------------------------------------------------- */
/* ヘッダーメニュー */
/* ---------------------------------------------------------------- */
/* SPメニュー */
/* ----------------------------------- */
.admin-bar #navi_contents.navi_contents-on {
  padding-top: 46px !important;
}

.openSpNavi {
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

#drawerNaviWrap {
  font-weight: 400;
  position: absolute;
  top: 0;
  right: 0;
}
#drawerNaviWrap .drawerNaviBtnWrap {
  width: 60px;
  height: 60px;
  position: relative;
  cursor: pointer;
}
#drawerNaviWrap .drawerNaviBtn {
  display: block;
  position: absolute;
  top: 14px;
  left: 50%;
  width: 30px;
  margin-left: -15px;
  height: 18px;
  transition: all 0.5s;
  z-index: 3;
}
#drawerNaviWrap .drawerNaviBtn:after {
  content: "MENU";
  position: absolute;
  bottom: -20px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 400;
  color: #1A1311;
  font-family: p22-underground, sans-serif;
  font-weight: 900;
}
#drawerNaviWrap .drawerNaviBtn span {
  display: block;
  position: absolute;
  left: 0;
  width: 30px;
  height: 1px;
  background-color: #1A1311;
  transition: all 0.5s;
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(1) {
  top: 0;
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(2) {
  top: 8px;
}
#drawerNaviWrap .drawerNaviBtn span:nth-child(3) {
  bottom: 0;
}
#drawerNaviWrap .drawer-nav {
  display: block;
  position: fixed;
  top: 60px;
  right: -100vw;
  bottom: 0;
  width: 100vw;
  background: #fff;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  transition: all 0.5s;
  z-index: 999;
  opacity: 0;
}
#drawerNaviWrap .drawer-nav .drawerInner {
  padding: 0;
}
#drawerNaviWrap .drawer-nav ul.arow-ul {
  margin: 0;
  padding: 35px 15px 100px;
  width: 100%;
  list-style: none;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li {
  margin: 0;
  list-style: none;
  position: relative;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li a {
  width: 100%;
  text-decoration: none;
  display: block;
  color: #1A1311;
  font-size: 16px;
  transition-duration: 0.2s;
  margin: 0 0 25px;
  line-height: 1;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children {
  overflow: hidden;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children > a {
  position: relative;
  background: none;
  margin: 0 0 20px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle {
  width: 40px;
  height: 40px;
  position: absolute;
  right: 0;
  top: 0px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:after, #drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:before {
  content: "";
  width: 16px;
  height: 1px;
  display: block;
  background: #1A1311;
  position: absolute;
  right: 8px;
  top: 10px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:after {
  transform: rotate(-90deg);
  transition: all 0.5s;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .childrenToggle:before {
  transform: rotate(-180deg);
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children.active .childrenToggle:after {
  transform: rotate(-180deg);
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu {
  display: none;
  margin-bottom: 30px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li {
  margin-left: 10px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li a {
  font-size: 14px;
  font-family: "Noto Sans JP", sans-serif;
  display: block;
  padding: 0 0 15px;
  margin: 0;
  display: flex;
  align-items: center;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li a::before {
  content: "";
  width: 10px;
  height: 1px;
  display: block;
  background-color: #1a1311;
  margin: 0 9px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li.arow {
  border-bottom: 1px solid #1A1311;
  margin-bottom: 17px;
  background-image: url(images/common/arrow_right_small_black.svg);
  background-size: 14px 12px;
  background-repeat: no-repeat;
  background-position: top 4px right 10px;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li.children .sub-menu li.arow a::before {
  content: none !important;
}
#drawerNaviWrap .drawer-nav ul.arow-ul li .fa-external-link {
  padding-left: 5px;
}
#drawerNaviWrap #overlay {
  display: none;
  transition: all 0.5s;
}
#drawerNaviWrap.open#drawerNaviWrap {
  position: relative;
  right: 125px;
}
#drawerNaviWrap.open .drawerNaviBtnWrap {
  border: none;
  z-index: 10;
  width: 50px;
  height: 50px;
  display: none;
}
#drawerNaviWrap.open .drawerNaviBtn {
  top: 10px;
  left: 10px;
  margin-left: 0;
}
#drawerNaviWrap.open .drawerNavClose {
  position: fixed;
  width: 30px;
  height: 30px;
  right: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 15px;
}
#drawerNaviWrap.open .drawerNavClose span {
  display: block;
  position: absolute;
  width: 37px;
  height: 1px;
  top: 4px;
  right: -3px;
  transition: all 0.5s;
  background: #1A1311;
}
#drawerNaviWrap.open .drawerNavClose span:nth-child(1) {
  transform: translateY(10px) rotate(137deg);
}
#drawerNaviWrap.open .drawerNavClose span:nth-child(2) {
  transform: translateY(10px) rotate(42deg);
}
#drawerNaviWrap.open .drawer-nav {
  right: 0;
  opacity: 1;
}
#drawerNaviWrap.open #overlay {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* ---------------------------------------------------------------- */
/* フッターエリア */
/* ---------------------------------------------------------------- */
#footer {
  clear: both;
}
#footer .container {
  position: relative;
}
#footer #footerCnt {
  margin-bottom: 75px;
}
#footer #footerCnt .company-name {
  font-size: 22px;
  font-weight: 700;
  margin: 0 0 14px;
}
#footer #footerCnt address {
  line-height: 2;
}
#footer #copyright {
  text-align: center;
  margin-top: 25px;
}
#footer #copyright p {
  margin: 0;
  font-weight: 400;
}
@media screen and (min-width: 1025px) {
  #footer {
    padding: 75px 0 144px;
  }
  #footer #footerCnt {
    margin-bottom: 60px;
  }
  #footer #copyright {
    text-align: right;
    margin-top: -25px;
  }
  #footer #footerNaviWrap {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-column-gap: 19.5px;
    margin-bottom: 30px;
  }
  #footer #footerNaviWrap .naviBox .footerNavi ul {
    margin: 0;
    padding: 0;
  }
  #footer #footerNaviWrap .naviBox .footerNavi ul li {
    display: block;
  }
  #footer #footerNaviWrap .naviBox .footerNavi ul li a {
    text-decoration: none;
    font-size: 14px;
    color: #543f33;
  }
  #footer #footerNaviWrap .naviBox .footerNavi ul li.children .sub-menu li {
    margin-bottom: 15px;
  }
  #footer #footerNaviWrap .naviBox .footerNavi ul li.children .sub-menu li a {
    font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    display: flex;
    align-items: center;
  }
  #footer #footerNaviWrap .naviBox .footerNavi ul li.children .sub-menu li a::before {
    content: "";
    width: 10px;
    height: 1px;
    display: block;
    background-color: #1A1311;
    margin: 0 9px;
  }
  #footer #footerNaviWrap .naviBox .footerNavi > ul.arow-ul > li {
    margin-bottom: 27px;
  }
  #footer #footerNaviWrap .naviBox .footerNavi > ul.arow-ul > li > a {
    background-position: top 4px right 10px;
  }
  #footer #footerNaviWrap .naviBox .footerNavi > ul.arow-ul > li > a:hover {
    background-position: top 4px right 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #footer {
    padding: 75px 0 85px;
  }
  #footer .sns_wrap {
    justify-content: center;
  }
  #footer #footerNaviWrap {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  #footer {
    padding: 90px 0 100px;
  }
  #footer .sns_wrap {
    justify-content: center;
  }
  #footer #footerNaviWrap {
    display: none;
  }
}

/* ---------------------------------------------------------------- */
/* CONTACT  */
/* ---------------------------------------------------------------- */
.contact_area {
  background: #1A1311;
  padding: 95px 0 90px;
}
.contact_area .contact_area_wrap .contact_title {
  color: #fff;
  margin-bottom: 40px;
}
.contact_area .contact_area_wrap .contact_title .titleh2 {
  margin: 0 0 7px;
}
.contact_area .contact_area_wrap .contact_title p {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}
@media screen and (min-width: 767px) {
  .contact_area {
    padding: 0;
  }
  .contact_area .contact_area_wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 240px;
  }
  .contact_area .contact_area_wrap .contact_title {
    margin-bottom: 0;
  }
}

/* ---------------------------------------------------------------- */
/* shoppingArea  */
/* ---------------------------------------------------------------- */
#shoppingArea {
  padding: 90px 0;
}
#shoppingArea .titleh2.cart-icon {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 20px;
}
#shoppingArea .titleh2.cart-icon::before {
  margin-bottom: 22px;
}
#shoppingArea .shoplink_wrap {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: 1fr;
}
#shoppingArea .shoplink_wrap li a {
  color: #fff;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 66px;
}
#shoppingArea .shoplink_wrap li a span {
  line-height: 1.2;
}
#shoppingArea .shoplink_wrap li a .fontsub {
  font-size: 18px;
}
#shoppingArea .shoplink_wrap li a.bk {
  background-color: #1A1311;
  border: 2px solid #1A1311;
}
#shoppingArea .shoplink_wrap li a.sil {
  background-color: #666666;
  border: 2px solid #666666;
}
#shoppingArea .shoplink_wrap li a.gr {
  background-color: #093819;
  border: 2px solid #093819;
}
#shoppingArea .shoplink_wrap li a.food {
  background-color: #3A170B;
  border: 2px solid #3A170B;
}

@media screen and (min-width: 1025px) {
  #shoppingArea .titleh2.cart-icon {
    margin-bottom: 30px;
  }
  #shoppingArea .shoplink_wrap {
    grid-template-columns: repeat(4, 1fr);
  }
  #shoppingArea .shoplink_wrap li a.bk:hover, #shoppingArea .shoplink_wrap li a.bk:focus {
    color: #1A1311;
    border: 2px solid #1A1311;
  }
  #shoppingArea .shoplink_wrap li a.sil:hover, #shoppingArea .shoplink_wrap li a.bk:focus {
    color: #666666;
    border: 2px solid #666666;
  }
  #shoppingArea .shoplink_wrap li a.gr:hover, #shoppingArea .shoplink_wrap li a.bk:focus {
    color: #093819;
    border: 2px solid #093819;
  }
  #shoppingArea .shoplink_wrap li a.food:hover, #shoppingArea .shoplink_wrap li a.bk:focus {
    color: #3A170B;
    border: 2px solid #3A170B;
  }
  #shoppingArea .shoplink_wrap li a:hover, #shoppingArea .shoplink_wrap li a:focus {
    background-color: #fff;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  #shoppingArea .shoplink_wrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ---------------------------------------------------------------- */
/* サイドバー  */
/* ---------------------------------------------------------------- */
#sidebar .widget-area {
  display: none;
}
#sidebar .widget img {
  max-width: 100%;
}

/* ---------------------------------------------------------------- */
/* ページナビ */
/* ---------------------------------------------------------------- */
.wp-pagenavi {
  position: relative;
  text-align: center;
  padding: 0 0;
  margin: 30px 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 40px;
}
.wp-pagenavi a,
.wp-pagenavi span {
  color: #1A1311;
  width: 32px;
  height: 32px;
  padding: 3px 0 0 0;
  text-decoration: none;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 100%;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px;
}
.wp-pagenavi a:hover,
.wp-pagenavi a:focus {
  color: #fff;
  background: #1A1311;
  border: 1px solid #1A1311;
}
.wp-pagenavi span.current {
  color: #fff;
  background: #1A1311;
  font-weight: 400;
  border: 1px solid #1A1311;
}
.wp-pagenavi .nextpostslink,
.wp-pagenavi .previouspostslink {
  font-size: 20px;
  color: #1A1311;
  background: none;
  border: none;
}
.wp-pagenavi .nextpostslink:hover, .wp-pagenavi .nextpostslink:focus,
.wp-pagenavi .previouspostslink:hover,
.wp-pagenavi .previouspostslink:focus {
  color: #c7c7c7;
  background: none;
  border: none;
}

/* ---------------------------------------------------------------- */
/* ページトップ ボタン */
/* ---------------------------------------------------------------- */
#pagetopArea {
  position: absolute;
  right: 15px;
  top: 46px;
}
@media screen and (min-width: 1025px) {
  #pagetopArea {
    top: 32px;
  }
}

/* ---------------------------------------------------------------- */
/* CTA固定ボタン */
/* ---------------------------------------------------------------- */
#fixedBtnSpArea {
  width: 100%;
  opacity: 0;
  z-index: 10;
  position: fixed;
  bottom: -60px;
  transition: 0.6s;
  background-color: #00758e;
}
#fixedBtnSpArea.fixedsp {
  opacity: 1;
  transition: 0.6s;
  bottom: 0;
}
#fixedBtnSpArea #fixedBtnSp {
  display: none !important;
}
#fixedBtnSpArea #fixedBtnSp ul {
  margin: 0 0 0 0;
  padding: 0;
  height: 60px;
  width: 100%;
  overflow: hidden;
  display: flex;
}
#fixedBtnSpArea #fixedBtnSp ul li {
  list-style: none;
  flex-basis: 100%;
}
#fixedBtnSpArea #fixedBtnSp ul li a {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  height: 100%;
  color: #fff;
  justify-content: center;
  align-items: stretch;
  margin: 0;
  padding: 35px 10px 0;
  font-size: 14px;
  text-decoration: none;
  background-repeat: no-repeat;
  background-size: auto 20px;
  background-position: center 10px;
}
#fixedBtnSpArea #fixedBtnSp ul li a:hover, #fixedBtnSpArea #fixedBtnSp ul li a:focus {
  background-color: #1A1311;
  color: #fff;
}
#fixedBtnSpArea #fixedBtnSp ul li + li {
  border-left: 1px solid #fff;
}
@media screen and (max-width: 767px) {
  #fixedBtnSpArea #fixedBtnSp {
    display: block !important;
  }
}

/* ---------------------------------------------------------------- */
/* メインスライダー  */
/* ---------------------------------------------------------------- */
#slider-Area {
  position: relative;
  overflow: hidden;
}
#slider-Area .toplogo {
  margin-top: 82px;
}
#slider-Area .swiper-container {
  width: 100%;
  max-width: 430px;
  border-radius: 24px 0 0 24px;
  margin: 0 0 0 auto;
}
#slider-Area .swiper-container .swiper-wrapper {
  transition-timing-function: linear;
}
#slider-Area .swiper-container .swiper-wrapper .swiper-slide .slide-img {
  position: relative;
  width: 100%;
  height: 180px;
  overflow: hidden;
}
#slider-Area .swiper-container .swiper-wrapper .swiper-slide .slide-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media print, screen and (max-width: 767px) {
  #slider-Area .toplogo {
    margin-top: 76px;
    margin-bottom: 18px;
  }
  #slider-Area .toplogo img {
    margin: 0 15px 0 auto;
  }
  #slider-Area .swiper-container {
    max-width: 330px;
  }
}

/* ---------------------------------------------------------------- */
/* HOME */
/* ---------------------------------------------------------------- */
.titleh2 {
  font-size: 32px;
  font-family: p22-underground, sans-serif;
  font-weight: 600;
  line-height: 1;
}

.title-icon {
  display: flex;
  align-items: center;
}
.title-icon::before {
  content: "";
  width: 32px;
  height: 32px;
  animation: movecolor 20s ease infinite forwards;
  border-radius: 50px;
  margin-right: 8px;
  display: block;
  margin-bottom: 10px;
  background: linear-gradient(-45deg, #8e2986, #00bac9, #310693, #adb407, #666666);
  background-size: 400% 400%;
}
.title-icon.color2::before {
  background: linear-gradient(-45deg, #b40735, #06938e, #b407a0, #068e93);
  background-size: 400% 400%;
}

@keyframes movecolor {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
/*topbc-coloron ABOUTの下まで（SERVICEの上まで）背景白を中心としたグラデーション変化*/
.topbc-coloron {
  animation: bg-color 20s ease 1s infinite forwards;
}

@keyframes bg-color {
  0% {
    background-color: #ffffff;
  }
  20% {
    background-color: #f5f5f5;
  }
  40% {
    background-color: #fdf8f8;
  }
  60% {
    background-color: #fdfdf8;
  }
  80% {
    background-color: #f8fdfd;
  }
  90% {
    background-color: #f9f8fd;
  }
  100% {
    background-color: #f9fdf8;
  }
}
/*banner-btn 周りの英字はくるくる回るやつ*/
a.banner-btn {
  display: block;
  width: 120px;
  height: 120px;
  position: relative;
  color: #fff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
}
a.banner-btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 120px;
  height: 120px;
  background: url("images/common/circle.svg") no-repeat top left/cover;
  animation: rotate-anime 20s linear infinite;
}
a.banner-btn .banner-txt_inr {
  border: 1px solid #1A1311;
  width: 92px;
  height: 92px;
  border-radius: 50px;
  position: absolute;
  top: 14px;
  left: 14px;
  text-align: center;
  display: block;
  background-color: #1A1311;
  background-image: url("images/common/whitecab_white.svg");
  background-position: top 11px center;
  background-repeat: no-repeat;
  background-size: 30px;
}
a.banner-btn .banner-txt_inr .banner-txt {
  margin-top: -3px;
}
a.banner-btn .banner-txt_inr .banner-txt .txt {
  display: inline-block;
  line-height: 1.4;
  /*background-image: url("images/common/arrow_white.svg");
  background-position:bottom 5px right 8px;
  background-repeat: no-repeat;
  background-size: 10px 6px;*/
  font-family: "Noto Sans JP", sans-serif;
}
a.banner-btn.bnr-following {
  position: fixed;
  bottom: -200px;
  right: 15px;
  z-index: 3;
}
a.banner-btn.bnr-following .banner-txt_inr .banner-txt {
  margin-top: 45px;
}
@media screen and (min-width: 1025px) {
  a.banner-btn:hover {
    color: #1A1311;
  }
  a.banner-btn:hover .banner-txt_inr {
    background-color: #fff;
    background-image: url("images/common/whiteccab_black.svg");
  }
  a.banner-btn.bnr-following {
    right: 19px;
  }
}

@keyframes rotate-anime {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* ------------------------------------------ /
/scrolldown/
/ ------------------------------------------ */
.scrolldown {
  transform: translateY(1px);
  animation: arrowmove 1s ease-in-out infinite;
  margin-top: -50px;
  margin-left: 15px;
  height: 100px;
}
.scrolldown img {
  transform: rotate(90deg);
}

@keyframes arrowmove {
  0% {
    transform: translateY(1px);
  }
  50% {
    transform: translateY(10px);
  }
  100% {
    transform: translateY(1px);
  }
}
/* ------------------------------------------ /
/ topメインコピーアニメーション /
/ ------------------------------------------ */
.active_text,
.active_text::after {
  animation-delay: 0.8s;
  animation-iteration-count: 1;
  animation-duration: 800ms;
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
}

.active_text {
  position: relative;
  animation-name: clip-text;
  white-space: nowrap;
  cursor: default;
}
.active_text::after {
  content: "";
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #1A1311;
  transform: scaleX(0);
  transform-origin: 0 50%;
  pointer-events: none;
  animation-name: text-revealer;
}

@keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}
@keyframes text-revealer {
  0%, 50% {
    transform-origin: 0 50%;
  }
  60%, 100% {
    transform-origin: 100% 50%;
  }
  60% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}
/* ------------------------------------------ /
/scroll_up 下から上へ/
/ ------------------------------------------ */
.home .scroll_up,
.home .scroll_left {
  -webkit-transition: 0.8s ease-in-out;
  -moz-transition: 0.8s ease-in-out;
  -o-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
}
.home .scroll_up {
  transform: translateY(30px);
  opacity: 0;
}
.home .scroll_up.on {
  transform: translateY(0);
  opacity: 1;
}
.home .scroll_left {
  transform: translateX(-30px);
  opacity: 0;
  filter: alpha(opacity=0);
  -moz-opacity: 0;
}
.home .scroll_left.on {
  opacity: 1;
  filter: alpha(opacity=100);
  -moz-opacity: 1;
  transform: translateX(0);
}
.home .timing02 {
  transition-delay: 0.2s;
}
.home .timing03 {
  transition-delay: 0.4s;
}
.home .timing04 {
  transition-delay: 0.6s;
}
.home .timing05 {
  transition-delay: 0.8s;
}
.home .reveal-textup.on {
  animation-name: clip-text;
  animation-delay: 0.2s;
  animation-iteration-count: 1;
  animation-duration: 0.8s;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out;
}
.home .text_up {
  animation: text-up 0.8s ease-in-out 0s 1 normal;
}
@keyframes text-up {
  0% {
    transform: translateY(30px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#indexPage p {
  text-align: justify;
  text-justify: inter-ideograph;
  margin-bottom: 35px;
}
#indexPage #mainccArea {
  max-width: 1250px;
  padding: 22px 15px 0;
  margin: 0 auto;
}
#indexPage #mainccArea .title {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 30px;
}
#indexPage #mainccArea .title.title-icon::before {
  margin-bottom: 0;
}
#indexPage #mainccArea .cctxt .cc {
  font-size: 54px;
  font-weight: 900;
  line-height: 60px;
  margin-bottom: 10px;
}
#indexPage #mainccArea .cctxt .cc .scrolldown,
#indexPage #mainccArea .cctxt .cc .banner-btn {
  display: none;
}
#indexPage #aboutArea {
  padding: 110px 0 0;
  background: linear-gradient(to bottom, transparent, #f5f5f5 80%);
}
#indexPage #aboutArea .titleh2 {
  margin: 0 0 20px;
}
#indexPage #aboutArea .titleh2 + .text {
  font-size: 24px;
  font-weight: 700;
  margin: 0 0 30px;
}
#indexPage #aboutArea .about_wrap {
  padding-bottom: 90px;
  background-image: url("images/common/whitecab_white.svg");
  background-repeat: no-repeat;
  background-size: 480px;
  background-position: left bottom -38px;
}
#indexPage #serviceArea {
  padding: 0 0 90px;
}
#indexPage #serviceArea .titleh2 {
  margin: 0 0 21px;
  color: #fff;
}
#indexPage #serviceArea .titleh2 + p {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  margin: 0;
}
#indexPage #serviceArea ._bc_color {
  position: relative;
  z-index: 0;
}
#indexPage #serviceArea ._bc_color::after {
  content: "";
  background-color: #1A1311;
  margin: 0 calc(50% - 50vw);
  padding: 4px calc(50vw - 50% + 8px);
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -5;
}
#indexPage #serviceArea .service_titlebox {
  padding: 95px 0 30px;
}
#indexPage #serviceArea .service_pagelink_wrap {
  counter-reset: number 0;
  margin-bottom: 40px;
}
#indexPage #serviceArea .service_pagelink_wrap .service_pagelink {
  border-bottom: 1px solid #707070;
}
#indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-en {
  font-size: 52px;
  line-height: 1;
}
#indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-jp {
  font-size: 18px;
  font-weight: bold;
}
#indexPage #serviceArea .service_pagelink_wrap .service_pagelink a {
  color: #1A1311;
  text-decoration: none;
  display: flex;
  flex-direction: column;
  padding: 30px 50px 30px 0;
}
#indexPage #serviceArea .service_pagelink_wrap .service_pagelink a::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero) " ";
  font-family: p22-underground, sans-serif;
  font-weight: 400;
  font-size: 22px;
}
#indexPage #serviceArea .service_pagelink_wrap .service_pagelink a.bc_color::after {
  content: none;
}
#indexPage #brandArea {
  padding: 95px 0 0;
  background-color: #f5f5f5;
}
#indexPage #brandArea .titleh2 {
  margin: 0 0 20px;
}
#indexPage #brandArea .titleh2 + p {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 30px;
}
#indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink {
  text-decoration: none;
  display: block;
}
#indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img {
  position: relative;
  width: 100%;
  padding-bottom: 60%;
  overflow: hidden;
}
#indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt {
  color: #fff;
}
#indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt p {
  font-size: 18px;
  font-weight: 700;
}
#indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt .fontsub {
  margin: 0;
  line-height: 1;
}
#indexPage #worksArea {
  padding: 95px 0 60px;
}
#indexPage #worksArea .postListWrap {
  margin-bottom: 40px;
}
#indexPage #faqArea {
  margin-bottom: -80px;
}
#indexPage #faqArea .faq-btn {
  width: 120px;
  height: 160px;
  border-radius: 70px;
  background: linear-gradient(to bottom, #00bac9, #8e2986);
  color: #fff;
  text-decoration: none;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  margin: 0 auto;
  transition: all ease 0.3s;
  font-family: p22-underground, sans-serif;
  font-weight: 600;
}
#indexPage #faqArea .faq-btn::before {
  content: "";
  background-image: url("images/common/arrow_right.svg");
  background-repeat: no-repeat;
  background-size: 30px;
  position: absolute;
  bottom: 10px;
  right: 0;
  display: block;
  width: 30px;
  height: 30px;
  transition: all ease 0.3s;
}
#indexPage #topicsArea {
  padding: 145px 0 90px;
  background-color: #f5f5f5;
}
#indexPage #topicsArea .titleh2 {
  margin: 0 0 15px;
}
#indexPage #topicsArea .topics_pc {
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  #indexPage #brandArea {
    padding: 185px 0 0;
  }
  #indexPage #brandArea .titleh2 {
    margin: 0 0 -103px;
  }
  #indexPage #brandArea .titleh2 + p {
    font-size: 28px;
    text-align: right;
    margin-bottom: 50px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink {
    text-decoration: none;
    position: relative;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 1;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img {
    padding-bottom: 0;
    height: 300px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_img img {
    transform: scale(1);
    transition: all ease 0.3s;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt {
    position: absolute;
    z-index: 2;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt p {
    font-size: 22px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink:hover::before {
    background-color: transparent !important;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink:hover .brand_img img {
    transform: scale(1.2);
    transition: all ease 0.3s;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk::before {
    background-color: rgba(26, 19, 17, 0.8);
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt {
    top: 90px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
    width: 382px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt p {
    margin: 1px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil::before {
    background-color: rgba(102, 102, 102, 0.8);
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt {
    top: 103px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
    width: 419px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt p {
    margin: 6px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr::before {
    background-color: rgba(5, 20, 13, 0.8);
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt {
    top: 100px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
    width: 355px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt p {
    margin: 2px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food::before {
    background-color: rgba(36, 12, 5, 0.8);
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt {
    top: 95px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt p {
    margin: 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt .fontsub {
    font-size: 64px;
  }
  #indexPage #topicsArea {
    padding: 200px 0 180px;
    background-color: #f5f5f5;
  }
  #indexPage #topicsArea .topics_pc {
    display: grid;
    grid-template-columns: 160px auto;
    grid-gap: 60px;
    margin-bottom: 50px;
  }
  #indexPage #topicsArea .topics_pc .topics_pc_l {
    grid-column: 1/2;
  }
  #indexPage #topicsArea .topics_pc .topics_pc_r {
    grid-column: 2/3;
  }
  #indexPage #topicsArea .topics_pc .tab-area {
    grid-template-columns: 1fr;
    justify-items: center;
  }
  #indexPage #topicsArea .topics_pc .tab-area .tab {
    width: 100px;
  }
}
@media screen and (min-width: 1025px) {
  #indexPage #mainccArea .title {
    font-size: 42px;
  }
  #indexPage #mainccArea .title.title-icon::before {
    width: 48px;
    height: 48px;
  }
  #indexPage #mainccArea .cctxt .cc {
    font-size: 76px;
    line-height: 150px;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
  }
  #indexPage #mainccArea .cctxt .cc .scrolldown,
  #indexPage #mainccArea .cctxt .cc .banner-btn {
    display: block;
  }
  #indexPage #mainccArea .cctxt .cc .banner-btn {
    margin-left: 15px;
  }
  #indexPage #aboutArea {
    padding: 185px 0 0;
  }
  #indexPage #aboutArea .titleh2 {
    margin: 0 0 23px;
  }
  #indexPage #aboutArea .titleh2 + p {
    font-size: 28px;
    margin: 0;
  }
  #indexPage #aboutArea .about_wrap {
    padding-bottom: 180px;
    display: grid;
    grid-template-columns: 400px auto;
    grid-template-rows: auto auto;
    grid-gap: 0 20px;
  }
  #indexPage #aboutArea .about_wrap .titleh2 {
    grid-column: 1/3;
    grid-row: 1/2;
  }
  #indexPage #aboutArea .about_wrap .titleh2 + .text {
    grid-column: 1/2;
    grid-row: 2/3;
  }
  #indexPage #aboutArea .about_wrap .about_txt {
    grid-column: 2/3;
    grid-row: 2/3;
    font-size: 16px;
  }
  #indexPage #aboutArea .about_wrap .about_txt + p {
    margin: 0 0 60px;
  }
  #indexPage #serviceArea {
    padding: 0;
    background-color: #1A1311;
  }
  #indexPage #serviceArea .titleh2 {
    margin: 0 0 21px;
  }
  #indexPage #serviceArea .titleh2 + p {
    font-size: 22px;
    font-weight: 700;
  }
  #indexPage #serviceArea .bc_color::after {
    content: none;
  }
  #indexPage #serviceArea .serviceArea_wrap {
    display: grid;
    grid-template-columns: auto 240px;
    grid-template-rows: auto auto;
  }
  #indexPage #serviceArea .serviceArea_wrap .service_titlebox {
    padding: 185px 0 50px;
    grid-column: 1/2;
    grid-row: 1/2;
  }
  #indexPage #serviceArea .serviceArea_wrap .service_pagelink_wrap {
    grid-column: 1/3;
    grid-row: 2/3;
  }
  #indexPage #serviceArea .serviceArea_wrap .service_btn {
    grid-column: 2/3;
    grid-row: 1/2;
    display: flex;
    align-items: flex-end;
    padding-bottom: 50px;
  }
  #indexPage #serviceArea .serviceArea_wrap .service_btn::after {
    content: "";
  }
  #indexPage #serviceArea .service_pagelink_wrap {
    margin-bottom: 0;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink {
    border-bottom: 0;
    position: relative;
    z-index: 0;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink::after {
    content: "";
    background-color: #fff;
    margin: 0 calc(50% - 50vw);
    padding: 4px calc(50vw - 50% + 8px);
    width: 100vw;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -5;
    transition: all ease 0.3s;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:hover::after {
    background-color: #1A1311;
    transition: all ease 0.3s;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:hover > a {
    color: #fff;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-en {
    font-size: 100px;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-jp {
    font-size: 28px;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a {
    padding: 60px 120px 60px 0;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink a::before {
    font-size: 32px;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:not(:last-child) a {
    position: relative;
  }
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink:not(:last-child) a::after {
    content: "";
    width: 110%;
    height: 1px;
    background: #707070;
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
  }
  #indexPage #worksArea {
    padding: 185px 0 105px;
  }
  #indexPage #worksArea .postListWrap {
    margin-bottom: 50px;
  }
  #indexPage #faqArea .faq-btn:hover, #indexPage #faqArea .faq-btn:focus {
    background: linear-gradient(to bottom, #8e2986, #00bac9);
    transition: all ease 0.3s;
  }
  #indexPage #faqArea .faq-btn:hover::before, #indexPage #faqArea .faq-btn:focus::before {
    right: -10px;
    transition: all ease 0.3s;
  }
}
@media screen and (max-width: 767px) {
  #indexPage #mainccArea .title {
    margin-bottom: 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt {
    height: 130px;
    padding: 0 15px 30px !important;
    display: flex;
    align-items: flex-end;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt .txt {
    color: #fff;
    background-image: url("images/common/arrow_right_small_white.svg");
    background-size: 14px 12px;
    background-repeat: no-repeat;
    background-position: center right;
    width: 100%;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink .brand_pagelink_txt.container {
    max-width: initial;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt {
    background-color: #1A1311;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
    width: 212.5px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._bk .brand_pagelink_txt p {
    margin: 3px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt {
    background-color: #666666;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
    width: 244.5px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._sil .brand_pagelink_txt p {
    margin: 6px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt {
    background-color: #093819;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
    width: 225px;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._gr .brand_pagelink_txt p {
    margin: 2px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt {
    background-color: #3A170B;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt p {
    margin: 4px 0 0;
  }
  #indexPage #brandArea .brand_pagelink_wrap a.brand_pagelink._food .brand_pagelink_txt .fontsub {
    font-size: 40px;
  }
  #indexPage #topicsArea .tab-area {
    margin-bottom: 20px;
  }
}

/* ---------------------------------------------------------------- */
/* 投稿　コンテンツ共通 */
/* ---------------------------------------------------------------- */
.top .postListWrap .postBox:nth-of-type(2),
.top .postListWrap-topics .postBox:nth-of-type(2) {
  transition-delay: 0.4s;
}
.top .postListWrap .postBox:nth-of-type(3),
.top .postListWrap-topics .postBox:nth-of-type(3) {
  transition-delay: 0.6s;
}

/* トッピクスリストベース */
/* ---------------------------- */
.postListWrap-topics .postBox {
  display: grid;
  grid-template-columns: 120px auto;
  grid-column-gap: 12px;
}
.postListWrap-topics .postBox .thumbnail {
  grid-template: 1/2;
}
.postListWrap-topics .postBox .postBox_txt {
  grid-column: 2/3;
  color: #1A1311;
  text-decoration: none;
  background-image: url(images/common/arrow_right_small_black.svg);
  background-size: 14px 12px;
  background-repeat: no-repeat;
  background-position: center right;
  padding-right: 27px;
}
@media screen and (min-width: 768px) {
  .postListWrap-topics .postBox {
    grid-column-gap: 30px;
    margin-bottom: 10px;
  }
  .postListWrap-topics .postBox .postBox_txt {
    background-position: center right 10px;
    display: flex;
    align-items: center;
    border-bottom: 1px solid #707070;
  }
  .postListWrap-topics .postBox .postBox_txt time {
    margin-right: 29px;
  }
  .postListWrap-topics .postBox .postBox_txt:hover, .postListWrap-topics .postBox .postBox_txt:focus {
    background-position: center right;
  }
}
@media screen and (max-width: 767px) {
  .postListWrap-topics .postBox {
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #707070;
  }
  .postListWrap-topics .postBox .postBox_txt {
    grid-column: 2/3;
  }
  .postListWrap-topics .postBox .postBox_txt time {
    margin-bottom: 7px;
  }
}

/* works リストベース */
/* ---------------------------- */
.postListWrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 20px 30px;
}
.postListWrap a {
  color: #1A1311;
  text-decoration: none;
}
.postListWrap .postBox .thumbnail {
  position: relative;
  width: 100%;
  padding-bottom: 60%;
  overflow: hidden;
  margin-bottom: 10px;
}
.postListWrap .postBox .thumbnail img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1025px) {
  .postListWrap {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .postListWrap {
    grid-template-columns: repeat(2, 1fr);
  }
}
/* ---------------------------- */
/* ページヘッダー */
/* ---------------------------- */
.page_title_wrap h2 {
  margin: 0;
}
.page_title_wrap .en_title {
  font-weight: 900;
  font-size: 50px;
  line-height: 1.2;
  margin: 0;
}
.page_title_wrap .pageTitle {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
}

#cnts {
  margin-top: 60px;
  margin-bottom: 50px;
}

@media screen and (min-width: 1025px) {
  .page_title_wrap .en_title {
    font-size: 100px;
  }
  .page_title_wrap .pageTitle {
    font-size: 22px;
  }
  #cnts {
    margin-top: 90px;
    margin-bottom: 50px;
  }
}
/* ---------------------------------------------------------------- */
/* パンくず */
/* ---------------------------------------------------------------- */
.tmc-breadcrumbs__list {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto;
  font-size: 12px;
  line-height: 1.4em;
  list-style: none;
  padding: 0;
}
.tmc-breadcrumbs__item:not(:last-child)::after {
  content: "ー";
  padding: 0 20px;
}
.tmc-breadcrumbs__link {
  text-decoration: none !important;
  color: #1A1311 !important;
}
.tmc-breadcrumbs__link:hover {
  color: #999 !important;
}
.tmc-breadcrumbs__item:first-of-type .tmc-breadcrumbs__link {
  color: #999 !important;
}

.breadcrumbs {
  margin: 30px 0 50px;
}

.home .breadcrumbs {
  margin: 0;
}

@media screen and (min-width: 1025px) {
  .breadcrumbs {
    margin: 67px 0 23px;
  }
}
/* ---------------------------------------------------------------- */
/* 詳細ページ */
/* ---------------------------------------------------------------- */
.postPage #postCnt {
  margin: 20px 0;
  min-height: 300px;
}
.postPage h1,
.postPage h2,
.postPage h3,
.postPage h4,
.postPage h5,
.postPage h6 {
  line-height: 1.6;
  font-weight: 700;
  margin-top: 0;
}
.postPage .ttlH2 {
  font-size: 24px;
  position: relative;
  padding-bottom: 18px;
  margin-bottom: 20px;
  color: #222;
}
.postPage .ttlH2::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 50px;
  height: 2px;
  background: #1A1311;
}
.postPage .ttlH2.center {
  text-align: center;
}
.postPage .ttlH2.center::before {
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}
.postPage .ttlH3 {
  font-size: 22px;
  padding-bottom: 12px;
  border-bottom: 1px solid #1A1311;
  margin-bottom: 30px;
  color: #222;
}
.postPage .ttlH4 {
  font-size: 20px;
  margin-bottom: 28px;
  color: #1A1311;
  display: flex;
  align-items: center;
}
.postPage .ttlH4::before {
  content: "";
  width: 9px;
  height: 9px;
  background-color: #1A1311;
  border-radius: 50px;
  margin-right: 5px;
}
.postPage .ttlH5 {
  font-size: 18px;
  margin-bottom: 26px;
  color: #fff;
  background: #1A1311;
  padding: 5px 20px;
}
.postPage .ttlH6 {
  font-size: 16px;
  margin-bottom: 30px;
  color: #1A1311;
  padding-bottom: 9px;
  border-bottom: 1px dashed #1A1311;
}
.postPage .box:nth-of-type(n + 2) {
  margin-top: 120px;
}
.postPage .bc-arrow-img {
  background: url("images/sub/self_branding_arrow.svg") no-repeat bottom center/320px 50px;
  padding-bottom: 12px;
}
.postPage p {
  margin: 0 0 20px;
  text-align: justify;
  text-align: inter-ideograph;
  line-height: 2;
}
.postPage p img {
  max-width: 100%;
  margin-bottom: 0;
}
.postPage p.tableAtt {
  margin: -20px 0 20px;
}
.postPage .max100_img,
.postPage .max720_img {
  margin-bottom: 20px;
}
.postPage .max100_img img,
.postPage .max720_img img {
  width: 100%;
}
.postPage .max720_img {
  max-width: 720px;
  margin: 0 auto 20px;
}
.postPage .bold {
  font-weight: bold;
}
.postPage .coming {
  text-align: center;
  margin: 50px 0;
  font-size: 16px;
}
.postPage .small {
  font-size: 12px;
}
.postPage .linkWrap {
  display: flex;
  flex-wrap: wrap;
  margin: 15px 0 0;
  align-items: flex-start;
}
.postPage .imgWrap + .imgWrap {
  margin-top: 20px;
}
.postPage .textLeft {
  text-align: left;
}
.postPage .textCenter,
.postPage .imgCenter {
  text-align: center;
}
.postPage .textRight {
  text-align: right;
}
.postPage .bold-textCenter {
  font-weight: bold;
  text-align: center;
  margin-top: 10px;
  line-height: 1.6;
}
.postPage code {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.postPage pre {
  overflow: auto;
  background: #efefef;
  padding: 15px;
  border-radius: 8px;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}
.postPage a {
  position: relative;
}
.postPage a:hover, .postPage a:focus {
  text-decoration: none;
  color: #999;
}
.postPage a.textBlank {
  position: relative;
  margin-right: 30px;
  display: inline-block;
}
.postPage a.textBlank:before {
  content: "\f08e";
  position: absolute;
  display: block;
  font: 14px/1 FontAwesome;
  right: -25px;
  top: 5px;
}
.postPage a.textArrow {
  text-decoration: none;
  color: #1A1311;
}
.postPage a.textArrow:hover {
  color: #1A1311;
  text-decoration: underline;
}
.postPage a.textArrow:after {
  display: inline-block;
  content: "\f0a9";
  font: 16px/1 FontAwesome;
  margin-left: 10px;
  text-decoration: none;
}
.postPage a.textArrowR {
  text-decoration: none;
  color: #1A1311;
}
.postPage a.textArrowR:hover, .postPage a.textArrowR:focus {
  color: #1A1311;
  text-decoration: underline;
}
.postPage a.textArrowR:after {
  display: inline-block;
  content: "\f0a9";
  font: 16px/1 FontAwesome;
  margin-left: 10px;
  text-decoration: none;
}
.postPage table {
  margin: 0 0 30px;
  width: 100%;
  border-collapse: collapse;
}
.postPage table caption {
  font-size: 18px;
  font-weight: bold;
  text-align: left;
  margin: 0;
}
.postPage table tr th,
.postPage table tr td {
  width: auto;
}
.postPage table tr th {
  font-weight: bold;
  vertical-align: top;
  width: auto;
}
.postPage table tr th.w200 {
  width: 200px;
}
.postPage table tr th.thLeft {
  text-align: left;
}
.postPage table tr td {
  border-left: none;
}
.postPage table tr .tw15p {
  width: 15%;
}
.postPage table tr .tw30p {
  width: 30%;
}
.postPage table tr .tw33p {
  width: 33.333%;
  min-width: inherit;
}
.postPage table tr .tw50p {
  width: 50%;
  min-width: inherit;
}
.postPage table tr .tw70p {
  width: 70%;
}
.postPage table tr .tw200 {
  width: 200px;
}
.postPage table tr .tw210 {
  width: 210px;
}
.postPage table.type1 tr {
  border-bottom: 1px solid #1A1311;
}
.postPage table.type1 tr th,
.postPage table.type1 tr td {
  padding: 20px 0;
}
.postPage table.type1 tr th {
  min-width: 200px;
  text-align: left;
}
.postPage table.type1 tr th.w200 {
  width: 200px;
}
.postPage table.type1 tr th.w280 {
  width: 280px;
}
.postPage table.type1 tr th.thLeft {
  text-align: left;
}
.postPage table.type2 {
  border: 1px solid #e3e3e3;
  table-layout: fixed;
}
.postPage table.type2 tr {
  border-bottom: 1px solid #e3e3e3;
}
.postPage table.type2 tr:nth-child(odd) {
  background-color: inherit;
}
.postPage table.type2 tr th,
.postPage table.type2 tr td {
  border-collapse: collapse;
}
.postPage table.type2 tr th {
  background: #1A1311;
  text-align: center;
  vertical-align: middle;
  color: #fff;
  height: 43px;
}
.postPage table.type2 tr th + th {
  border-left: 1px solid #e3e3e3;
}
.postPage table.type2 tr td {
  padding: 8px 29.5px 10px;
}
.postPage table.type2 tr td + td {
  border-left: 1px solid #e3e3e3;
}
.postPage table.type2 tr td:nth-of-type(1) {
  border-left: none;
}
.postPage .tableSc {
  overflow: inherit;
  white-space: normal;
  width: 100%;
}
.postPage .tableSc table {
  width: 100%;
}
.postPage .tableSc table tr {
  border-bottom: 1px solid #eee;
}
.postPage .tableSc table tr:nth-of-type(odd) {
  background: none;
}
.postPage .tableSc table tr th,
.postPage .tableSc table tr td {
  display: table-cell;
  border-collapse: collapse;
  width: inherit;
}
.postPage .tableSc table tr th {
  background: #eee;
  text-align: center;
  vertical-align: middle;
  min-width: inherit;
}
.postPage .tableSc table tr th + th {
  border-left: 1px solid #333;
}
.postPage .tableSc table tr td + td {
  border-left: 1px solid #333;
}
.postPage .tableSc table tr td:nth-of-type(1) {
  border-left: none;
}
.postPage blockquote {
  background: #ccc;
  width: 100%;
  border-radius: 8px;
  padding: 30px;
  margin: 0 0 60px;
  position: relative;
}
.postPage blockquote:before {
  content: "\f10d";
  position: absolute;
  display: block;
  font: 20px/1 FontAwesome;
  color: #1A1311;
  left: 10px;
  top: 10px;
}
.postPage blockquote:after {
  content: "\f10e";
  position: absolute;
  display: block;
  font: 20px/1 FontAwesome;
  color: #1A1311;
  right: 10px;
}
.postPage blockquote p {
  margin: 0 0 15px;
}
.postPage blockquote p:last-child {
  margin-bottom: 0;
}
.postPage dl {
  margin: 0 0 30px;
}
.postPage dl dt {
  font-weight: bold;
}
.postPage dl dd {
  margin: 0;
  margin-bottom: 15px;
}
.postPage ul {
  margin: 0;
  padding: 0;
}
.postPage ul li {
  list-style: none;
  position: relative;
  padding: 0;
}
.postPage ul li ul {
  padding: 0 0 10px;
  margin: 10px 0 0 1em;
}
.postPage ul.iconList li {
  padding: 0 0 0 0.8em;
  margin-bottom: 11px;
}
.postPage ul.iconList li:before {
  position: absolute;
  left: 0;
  top: 13px;
  transform: translateY(-50%);
  content: "";
  width: 5px;
  height: 5px;
  background: #1A1311;
  border-radius: 50%;
  margin-right: 0.5em;
}
.postPage ol {
  margin: 0;
  padding: 0 0 0 1.8em;
}
.postPage ol li {
  margin: 0;
  padding: 0;
  list-style: decimal-leading-zero;
  margin-bottom: 11px;
}
.postPage ol li::marker {
  color: #1A1311;
  font-weight: 500;
}
.postPage ol li:last-child {
  margin: 0 0 10px;
}
.postPage ol li ol {
  margin: 10px 0;
  padding: 0 0 0 1em;
}
.postPage hr.red {
  border-bottom: 1px solid #c65871 !important;
  margin-bottom: 50px;
}
.postPage .gmapWrap {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
}
.postPage .gmapWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.postPage .youtubeWrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  overflow: hidden;
}
.postPage .youtubeWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .postPage .ttlH2 {
    font-size: 22px;
    margin-bottom: 20px;
  }
  .postPage .ttlH3 {
    font-size: 20px;
    padding-bottom: 9px;
    margin-bottom: 20px;
  }
  .postPage .ttlH4 {
    font-size: 18px;
    margin-bottom: 20px;
  }
  .postPage .ttlH5 {
    font-size: 16px;
    margin-bottom: 20px;
  }
  .postPage .ttlH6 {
    font-size: 14px;
    margin-bottom: 20px;
  }
  .postPage .box:nth-of-type(n + 2) {
    margin-top: 60px;
  }
  .postPage .max100_img {
    margin-bottom: 10px;
  }
  .postPage .max720_img {
    margin-bottom: 10px;
  }
  .postPage table tr th,
  .postPage table tr td {
    display: block;
    width: 100%;
  }
  .postPage table tr th + td,
  .postPage table tr td + td {
    border-left: 0;
  }
  .postPage table tr th {
    min-width: 1px;
    text-align: left;
  }
  .postPage table tr th.w200 {
    width: 100%;
  }
  .postPage table tr .tw15p {
    width: 100%;
  }
  .postPage table tr .tw30p {
    width: 100%;
  }
  .postPage table tr .tw33p {
    width: 100%;
  }
  .postPage table tr .tw50p {
    width: 100%;
  }
  .postPage table tr .tw70p {
    width: 100%;
  }
  .postPage table tr .tw200 {
    width: 100%;
  }
  .postPage table tr .tw210 {
    width: 100%;
  }
  .postPage table.type1 tr {
    border-bottom: 1px solid #1A1311;
  }
  .postPage table.type1 tr th {
    width: 100%;
    padding: 16px 0 11px;
  }
  .postPage table.type1 tr td {
    padding: 0 0 5px;
  }
  .postPage table.type2 tr th,
  .postPage table.type2 tr td {
    display: table-cell;
    width: auto;
  }
  .postPage table.type2 tr th {
    min-width: 1px;
  }
  .postPage table.type2 tr td {
    padding: 15px 14px 5px;
  }
  .postPage .tableSc {
    overflow: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
  }
}

/* ---------------------------------------------------------------- */
/* フォーム設定 */
/* ---------------------------------------------------------------- */
/* フォームナビ */
/* ---------------------------- */
ul.formFlow {
  display: flex;
  height: 40px;
  align-items: center;
  justify-content: center;
  margin: 0 0 30px;
  padding: 0;
}
ul.formFlow li {
  display: inline-flex;
  justify-content: center;
  flex: 1 0 33.333%;
  background: #eee;
  color: #1A1311;
  list-style: none;
  padding: 0;
  margin: 0 !important;
  height: 100%;
  font-size: 16px;
  font-weight: bold;
  align-items: center;
  position: relative;
}
ul.formFlow li:before {
  display: none;
}
ul.formFlow li.visited {
  background: #eee;
  color: #fff;
}
ul.formFlow li.active {
  background: #1A1311;
  color: #fff;
  position: relative;
}
ul.formFlow li.active:after {
  position: absolute;
  content: "";
  right: -40px;
  top: 0;
  z-index: 1;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #1A1311;
}
ul.formFlow li.second.active:before {
  display: block;
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  z-index: 3;
  width: 0;
  height: 0;
  border: 20px solid transparent;
  border-left: 20px solid #eee;
}
ul.formFlow li.third.active {
  background: #1A1311 !important;
  color: #fff;
}
ul.formFlow li.third.active:after {
  display: none;
}
ul.formFlow li.third.active:before {
  background: none;
  display: inline;
  position: absolute;
  content: "";
  left: 0;
  top: 0;
  z-index: 2;
  width: 0;
  height: 0;
  border-radius: 0;
  border: 20px solid transparent;
  border-left: 20px solid #eee;
}

/* ---------------------------- */
/* フォームエレメント */
/* ---------------------------- */
#formArea dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#formArea dl dt {
  flex-basis: 250px;
  text-align: right;
}
#formArea dl dd {
  flex-basis: calc(100% - 280px);
}
#formArea dl dd.fb100 {
  flex-basis: 100%;
}
#formArea .att {
  color: crimson;
  font-size: 12px;
}
#formArea .error {
  margin: 0;
}
#formArea .radio_wrap {
  margin-top: 10px;
}
#formArea .vertical-item {
  display: block !important;
}
#formArea input[type=text],
#formArea input[type=email],
#formArea input[type=number],
#formArea textarea {
  padding: 8px 0.5em 8px 10px;
  margin: 0;
  background: #eeeeee;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  margin-bottom: 0;
  border: 1px solid #eeeeee;
}
#formArea input[type=text]:focus,
#formArea input[type=email]:focus,
#formArea input[type=number]:focus,
#formArea textarea:focus {
  background: #fff;
}
#formArea input[type=text]:hover,
#formArea input[type=email]:hover,
#formArea input[type=number]:hover,
#formArea textarea:hover {
  background: #fff;
}
#formArea input[type=text] + input,
#formArea input[type=email] + input,
#formArea input[type=number] + input,
#formArea textarea + input {
  margin-top: 10px;
}
#formArea input[type=number].short {
  width: 60px;
}
#formArea input[type=text],
#formArea input[type=email] {
  width: 100%;
}
#formArea input[type=text] .short,
#formArea input[type=email] .short {
  max-width: 150px;
}
#formArea select {
  padding: 0.4em 0 0.3em 0.5em;
  margin-bottom: 5px;
  display: block;
  border-color: #e7e7e7;
}
#formArea select option {
  word-wrap: normal;
}
#formArea input[type=text].short {
  width: 200px;
  text-align: left;
  margin-bottom: 0;
}
#formArea input[type=text].hasDatepicker {
  margin: 5px 0;
  background: #eeeeee;
}
#formArea input[type=text].hasDatepicker:hover, #formArea input[type=text].hasDatepicker:focus {
  background: #fff;
}
#formArea .mwform-checkbox-field {
  display: inline-block;
  width: auto;
  margin: 5px 5px;
  font-size: 14px;
}
#formArea input[type=checkbox] {
  border: 1px solid #aaaaaa;
  vertical-align: -8px;
  -webkit-appearance: none;
  position: relative;
  margin-right: 5px;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-sizing: border-box;
  width: 26px;
  height: 26px;
  /*Other Browser*/
  background: #e2e2e2;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #ffffff), color-stop(1, #e2e2e2));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #ffffff 0%, #e2e2e2 100%);
}
#formArea input[type=checkbox]:checked {
  /*Other Browser*/
  background: #1A1311;
  /*For Old WebKit*/
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #1A1311), color-stop(1, #1A1311));
  /*For Modern Browser*/
  background: linear-gradient(to bottom, #1A1311 0%, #1A1311 100%);
  border: 1px solid #1A1311;
}
#formArea input[type=checkbox]:checked:before {
  position: absolute;
  left: 1px;
  top: 16px;
  display: block;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  content: "";
  width: 10px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(45deg);
  -webkit-transform-origin: right center;
}
#formArea input[type=checkbox]:checked:after {
  display: block;
  position: absolute;
  left: 9px;
  top: 16px;
  content: "";
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.5);
  width: 16px;
  height: 4px;
  background: #ffffff;
  -webkit-transform: rotate(-53deg);
  -webkit-transform-origin: left center;
}
#formArea .mwform-zip-field input {
  width: inherit;
}
#formArea .mwform-tel-field input {
  margin: 0 !important;
  width: auto;
}
#formArea .mwform-radio-field {
  display: inline-block;
  margin: 0 15px 5px 0;
}
#formArea .mwform-radio-field input {
  margin: 0 15px 0 0;
}
#formArea .mwform-radio-field-text {
  margin-left: 10px;
}
#formArea input[type=file] {
  margin-bottom: 10px;
}
#formArea .inline_wrap select {
  display: inline-block;
}
#formArea .btnArea {
  display: grid;
  grid-gap: 15px;
  max-width: 600px;
  margin: 0 auto;
}
#formArea .btnArea .submitArea {
  flex-basis: 100%;
}
#formArea .btnArea .submitArea .submit {
  max-width: 200px;
  margin: 0 auto;
  width: 150px;
  height: 50px;
  border-radius: 50px;
  border: 2px solid #1A1311;
  background: #fff;
}
@media screen and (min-width: 767px) {
  #formArea .btnArea .submitArea .submit:hover, #formArea .btnArea .submitArea .submit:focus {
    color: #fff;
    background: #1A1311;
    transition: 0.3s;
    cursor: pointer;
  }
}
#formArea .btnArea .returnArea {
  flex-basis: 100%;
  display: none;
}
#formArea .btnArea .returnArea .return {
  width: 100%;
  margin: 0 auto;
  display: block;
  text-align: center;
  padding: 0.4em 0;
  transition: 0.3s;
  font-size: 14px;
  width: 150px;
  height: 50px;
  border-radius: 50px;
  border: 2px solid #1A1311;
  color: #fff;
  background: #1A1311;
}
@media screen and (min-width: 767px) {
  #formArea .btnArea .returnArea .return:hover, #formArea .btnArea .returnArea .return:focus {
    color: #1A1311;
    background: #fff;
    transition: 0.3s;
    cursor: pointer;
  }
}
#formArea .mw_wp_form_confirm .btnArea .returnArea {
  display: block;
}
@media screen and (max-width: 767px) {
  #formArea dl {
    display: flex;
    flex-wrap: wrap;
  }
  #formArea dl dt {
    flex-basis: 100%;
    padding: 5px 0 0 0;
    margin: 0 0 15px;
    text-align: left;
  }
  #formArea dl dd {
    flex-basis: 100%;
    margin-bottom: 15px;
    align-self: center;
  }
  #formArea select {
    margin-bottom: 5px;
  }
  #formArea .mwform-checkbox-field {
    display: block;
    width: 100%;
  }
  #formArea .mwform-radio-field {
    display: block;
    margin: 5px 0 10px;
  }
  #formArea .mwform-radio-field .mwform-radio-field-text {
    margin-right: 15px;
  }
  #formArea .mwform-radio-field input {
    margin: 0;
  }
  #formArea .btnArea .submitArea {
    flex-basis: 100%;
  }
  #formArea .mw_wp_form_confirm .btnArea .returnArea {
    display: block;
  }
}

/* ------------------------------------------ /
/ 表示非表示 /
/ ------------------------------------------ */
.pc_on {
  display: none;
}

@media (min-width: 768px) {
  .pc_on {
    display: block;
  }
}
.sp_on {
  display: block;
}

@media (min-width: 768px) {
  .sp_on {
    display: none;
  }
}
/* ------------------------------------------ /
/ タブ切り替え /
/ ------------------------------------------ */
.tab-area {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 8px;
}
.tab-area .tab {
  color: #1A1311;
  background: #fff;
  font-size: 14px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50px;
  font-family: p22-underground, sans-serif;
  font-weight: 600;
  line-height: 1;
}
.tab-area .tab.active {
  color: #fff;
  background: #1A1311;
}
@media screen and (min-width: 1025px) {
  .tab-area .tab:hover {
    color: #fff;
    background: #1A1311;
    transition: all ease 0.3s;
  }
}

.content-area .content {
  display: none;
}
.content-area .content.show {
  display: block;
}

/* ------------------------------------------ /
/ 自社ブランド紹介 4カラム　parts /
/ ------------------------------------------ */
.brand_link_wrap {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 10px;
}
.brand_link_wrap a.brand_pagelink {
  text-decoration: none;
}
.brand_link_wrap a.brand_pagelink .brand_img {
  position: relative;
  width: 100%;
  padding-bottom: 31%;
  overflow: hidden;
}
.brand_link_wrap a.brand_pagelink .brand_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.brand_link_wrap a.brand_pagelink .brand_img img:hover {
  opacity: 1;
}
.brand_link_wrap a.brand_pagelink .brand_pagelink_txt {
  height: 100px;
  padding: 0 20px 20.5px;
  display: flex;
  align-items: flex-end;
}
.brand_link_wrap a.brand_pagelink .brand_pagelink_txt .txt {
  color: #fff;
  background-image: url("images/common/arrow_right_small_white.svg");
  background-size: 30px 25px;
  background-repeat: no-repeat;
  background-position: center right 10px;
  width: 100%;
}
.brand_link_wrap a.brand_pagelink .brand_pagelink_txt .txt p {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}
.brand_link_wrap a.brand_pagelink .brand_pagelink_txt .txt .fontsub {
  margin: 0;
  line-height: 1;
}
.brand_link_wrap a.brand_pagelink._bk .brand_pagelink_txt {
  background-color: #1A1311;
}
.brand_link_wrap a.brand_pagelink._bk .brand_pagelink_txt img {
  width: 153px;
}
.brand_link_wrap a.brand_pagelink._bk .brand_pagelink_txt p {
  margin: 3px 0 0;
}
.brand_link_wrap a.brand_pagelink._sil .brand_pagelink_txt {
  background-color: #666666;
}
.brand_link_wrap a.brand_pagelink._sil .brand_pagelink_txt img {
  width: 163px;
}
.brand_link_wrap a.brand_pagelink._sil .brand_pagelink_txt p {
  margin: 3px 0 0;
}
.brand_link_wrap a.brand_pagelink._gr .brand_pagelink_txt {
  background-color: #093819;
}
.brand_link_wrap a.brand_pagelink._gr .brand_pagelink_txt img {
  width: 135px;
}
.brand_link_wrap a.brand_pagelink._gr .brand_pagelink_txt p {
  margin: 2px 0 0;
}
.brand_link_wrap a.brand_pagelink._food .brand_pagelink_txt {
  background-color: #3A170B;
}
.brand_link_wrap a.brand_pagelink._food .brand_pagelink_txt p {
  margin: 0;
}
.brand_link_wrap a.brand_pagelink._food .brand_pagelink_txt .fontsub {
  font-size: 32px;
}
@media screen and (min-width: 1025px) {
  .brand_link_wrap {
    grid-template-columns: 1fr 1fr;
    grid-gap: 30px;
  }
  .brand_link_wrap a.brand_pagelink .brand_pagelink_txt {
    height: 100px;
    padding: 0 50px 20.5px;
  }
  .brand_link_wrap a.brand_pagelink:hover .brand_pagelink_txt .txt {
    background-position: center right;
    transition: all ease 0.3s;
  }
}

/* ------------------------------------------ /
/ SERVICE ページ /
/ ------------------------------------------ */
.service-page .ttlH3 + .max720_img {
  margin: 60px auto 20px;
}
@media screen and (max-width: 767px) {
  .service-page .ttlH3 + .max720_img {
    margin: 45px auto 10px;
  }
}

/* ------------------------------------------ /
/ BRAND ページ /
/ ------------------------------------------ */
.gc_logo_wrap {
  text-align: center;
  margin-bottom: 60px;
}
.gc_logo_wrap > p {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .gc_logo_wrap {
    margin-bottom: 30px;
  }
}

/* ------------------------------------------ /
/ SILVER CABページ /
/ ------------------------------------------ */
.sc-page .wine-img {
  text-align: center;
}
.sc-page .wine-img img {
  width: 103px;
}

/* ------------------------------------------ /
/ お客様の支援事業 ページ /
/ ------------------------------------------ */
@media screen and (min-width: 1025px) {
  .produce-page .column4Wrap + .column2Wrap {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .produce-page .lp_1column {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 767px) {
  .produce-page .lp_1column {
    grid-gap: 30px;
  }
}

.column2Wrap_sp3_7 .column2Wrap {
  grid-template-columns: repeat(10, 1fr);
  margin-bottom: 17px;
  grid-gap: 20px;
}
.column2Wrap_sp3_7 .column2Wrap .columnBox:nth-of-type(odd) {
  grid-column: 1/4;
}
.column2Wrap_sp3_7 .column2Wrap .columnBox:nth-of-type(even) {
  grid-column: 4/11;
}
.column2Wrap_sp3_7 .column2Wrap .columnBox > .ttlH6 {
  margin-bottom: 0;
}

/* ------------------------------------------ /
/ scrollバー /
/ ------------------------------------------ */
@media screen and (min-width: 1025px) {
  .pc_scroll_wrap {
    height: 320px;
    overflow-y: scroll;
    padding: 10px;
  }
}

.pc_scroll_wrap::-webkit-scrollbar {
  width: 5px;
}

.pc_scroll_wrap::-webkit-scrollbar-track {
  background-color: #999;
}

.pc_scroll_wrap::-webkit-scrollbar-thumb {
  background-color: #1A1311;
}

/* ------------------------------------------ /
/ pc_3colum_iconwrap /
/ ------------------------------------------ */
.pc_3colum_iconwrap {
  display: grid;
  counter-reset: number 0;
}
.pc_3colum_iconwrap .pc_3colum__box {
  display: grid;
  padding: 35px 15px 20px;
}
.pc_3colum_iconwrap .pc_3colum__box .icon {
  width: 80px;
  line-height: 1.6;
}
.pc_3colum_iconwrap .pc_3colum__box .title {
  font-size: 16px;
  font-weight: 700;
}
.pc_3colum_iconwrap .pc_3colum__box .title::before {
  counter-increment: number 1;
  content: counter(number, decimal-leading-zero) " ";
  font-family: p22-underground, sans-serif;
  font-weight: 400;
}
.pc_3colum_iconwrap .pc_3colum__box p {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .pc_3colum_iconwrap {
    margin-top: 45px;
    grid-template-columns: repeat(3, 1fr);
    position: relative;
  }
  .pc_3colum_iconwrap::before {
    content: "";
    width: 100%;
    height: 100%;
    border: 2px solid #fff;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  .pc_3colum_iconwrap .pc_3colum__box {
    border: 1px solid #707070;
    grid-template-rows: 95px 50px auto;
    justify-items: center;
    padding: 45px 27px 30px;
  }
  .pc_3colum_iconwrap .pc_3colum__box .icon {
    grid-row: 1/2;
  }
  .pc_3colum_iconwrap .pc_3colum__box .title {
    grid-row: 2/3;
  }
  .pc_3colum_iconwrap .pc_3colum__box .title::before {
    display: block;
    text-align: center;
  }
  .pc_3colum_iconwrap .pc_3colum__box p {
    grid-row: 3/4;
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .pc_3colum_iconwrap {
    margin-top: 35px;
    grid-template-columns: 1fr;
    grid-gap: 10px;
  }
  .pc_3colum_iconwrap .pc_3colum__box {
    grid-template-columns: 80px auto;
    grid-template-rows: 24px auto;
    grid-gap: 0 14px;
    padding: 0;
  }
  .pc_3colum_iconwrap .pc_3colum__box .icon {
    grid-column: 1/2;
    grid-row: 1/3;
  }
  .pc_3colum_iconwrap .pc_3colum__box .title {
    font-weight: 700;
    grid-column: 2/3;
    grid-row: 1/3;
    margin-bottom: 6px;
  }
  .pc_3colum_iconwrap .pc_3colum__box p {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}

/* ------------------------------------------ /
/ 自社ブランドの立ち上げ・運営 ページ /
/ ------------------------------------------ */
.selfBranding-page .self-title {
  font-weight: 900;
  font-size: 32px;
  margin-bottom: 18px;
}
.selfBranding-page .column4Wrap.bc-color .gc_logo_wrap {
  margin: 30px 0 17.5px;
}
.selfBranding-page .column4Wrap.bc-color img {
  width: inherit;
}
@media screen and (min-width: 1025px) {
  .selfBranding-page .self-title {
    font-size: 48px;
  }
  .selfBranding-page .column4Wrap.bc-color {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .selfBranding-page .column4Wrap.bc-color .columnBox {
    padding: 9px;
  }
}

/* ------------------------------------------ /
/アコーディオンメニュー/
/ ------------------------------------------ */
.accordion {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  width: 100%;
}

.accordion-title {
  color: #fff;
  cursor: pointer;
  font-size: 16px;
  padding: 13px 40px 15px 15px;
  background-color: #1A1311;
  font-weight: 700;
  margin-bottom: 0;
}
@media screen and (min-width: 1025px) {
  .accordion-title {
    font-size: 18px;
    padding: 15px 40px 19px 20px;
  }
}

.accordion-content {
  display: none;
  padding: 13px 15px 15px;
  background-color: #f5f5f5;
}
@media screen and (min-width: 1025px) {
  .accordion-content {
    font-size: 18px;
    padding: 15px 20px 20px;
  }
}

.accordion-content p:last-child {
  margin-bottom: 0;
}

.accordion-item {
  margin-bottom: 20px;
}

/* 矢印 */
.accordion-title {
  position: relative;
}

.accordion-title::before,
.accordion-title::after {
  background: #fff;
  content: "";
  height: 2px;
  position: absolute;
  top: 50%;
  transition: opacity 0.3s ease-in-out;
  width: 15px;
}

.accordion-title::before {
  right: 25px;
  transform: rotate(90deg);
}

/* 横線 */
.accordion-title::after {
  right: 25px;
}

.accordion-title.open::before {
  transform: rotate(180deg);
}

.accordion-title.open::after {
  opacity: 0;
}

#singlePage img {
  margin: 0 auto;
  max-width: 500px;
}

/*画面下固定バナー*/
a.floating_bnr_right {
  position: fixed;
  bottom: 10px;
  right: 10px;
  width: 120px;
  z-index: 50;
}
a.floating_bnr_left {
  position: fixed;
  bottom: 0;
  z-index: 10;
  width: 226px;
  border-radius: 8px;
}
a.floating_bnr_left img {
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  border-top-right-radius: 15px;
}

/* ------------------------------------------ /
/* infroneer 一覧 */
/*------------------------------------------ */
._giftcard {
  background: #1a1311;
  height: 80px !important;
}
._giftcard .inner {
  height: 80px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
._giftcard .inner .tll a {
  font-size: 22px;
  font-weight: 700;
  margin: 0;
  color: #fff;
  text-decoration: none;
}
._giftcard .inner .tll a ._tll {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
}
._giftcard .inner .orderform {
  width: 122px;
  height: 42px;
  background: #fff;
  border-radius: 20px;
}
._giftcard .inner .orderform a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 14px;
  font-weight: 600;
  color: #1a1311;
  text-decoration: none;
}

@media screen and (max-width: 767px) {
  ._giftcard {
    height: 70px !important;
  }
  ._giftcard .inner {
    height: 70px;
  }
  ._giftcard .inner .tll {
    padding-right: 10px;
  }
  ._giftcard .inner .tll p {
    font-size: 16px;
  }
  ._giftcard .inner .orderform {
    height: 60px;
    width: 80px;
    border-radius: 50%;
  }
  ._giftcard .inner .orderform a {
    font-size: 10px;
    text-align: center;
    line-height: 1;
  }
}
#giftcardCatList #cnts {
  margin-bottom: 0px;
}
#giftcardCatList .main_img {
  margin-bottom: 40px;
}
#giftcardCatList .gift__wrap {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
#giftcardCatList .gift__wrap .box {
  max-width: calc(100% - 45px);
  flex-basis: calc(100% - 45px);
}
#giftcardCatList .gift__wrap .box .txt {
  font-size: 100px;
  font-weight: 900;
  margin: 0;
  line-height: 1.2;
}
#giftcardCatList .gift__wrap .box .txt02 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}
#giftcardCatList .gift__wrap .box02 {
  max-width: 45px;
  flex-basis: 45px;
}
#giftcardCatList .gift-items {
  margin-bottom: 60px;
}
#giftcardCatList .gift-items .gift-item {
  display: grid;
  flex-wrap: wrap;
  gap: 0 20px;
  background: #f5f5f5;
  border-radius: 8px;
  padding: 20px;
  margin-bottom: 20px;
}
#giftcardCatList .gift-items .gift-item .gift-text .gift-title {
  font-size: 22px;
  font-weight: 700;
  padding-bottom: 12px;
  margin: 0 0 20px;
  border-bottom: #1a1311 solid 1px;
}
#giftcardCatList .gift-items .gift-item .gift-text .gift-description {
  font-size: 14px;
  font-weight: 400;
  margin: 0;
}
#giftcardCatList .gift-items .gift-item .gift-text .gift-description span {
  font-weight: 700;
}
#giftcardCatList .gift-items .gift-item .gift-text .gift-button {
  margin-top: 20px;
  display: inline-block;
}
#giftcardCatList .gift-items .gift-item .gift-text .gift-button .btn {
  width: 100%;
  text-decoration: none;
  text-align: left;
  border-left: #1a1311 solid 10px;
  padding: 7px 20px;
  display: inline-block;
  font-size: 12px;
}
@media print, screen and (min-width: 768px) {
  #giftcardCatList .gift-items .gift-item .gift-text .gift-button:hover .btn, #giftcardCatList .gift-items .gift-item .gift-text .gift-button:focus .btn {
    background: #1a1311;
    color: #fff;
  }
}
#giftcardCatList .gift-items .gift-item:last-child {
  margin-bottom: 0;
}
#giftcardCatList .gift-postListWrap {
  display: grid;
  gap: 45px 20px;
  margin-bottom: 60px;
}
#giftcardCatList .gift-postListWrap .postBox a {
  text-decoration: none;
  width: 100%;
  height: 100%;
  font-size: 14px;
  font-weight: 700;
  color: #1a1311;
}
#giftcardCatList .gift-postListWrap .postBox a .thumbnail {
  width: 100%;
  padding-bottom: 100%;
  background: #eee;
  position: relative;
  overflow: hidden;
  transition: all ease 0.3s;
  display: block;
}
#giftcardCatList .gift-postListWrap .postBox a .thumbnail img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: cover;" !important;
  transition: all ease 0.3s;
  top: 0;
  left: 0;
  z-index: 3;
}
#giftcardCatList .gift-postListWrap .postBox a .thumbnail img.bk {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;" !important;
  transition: all ease 0.3s;
  top: 0;
  left: 0;
  z-index: 1;
  -ms-filter: blur(6px);
  filter: blur(6px);
}
@media screen and (min-width: 1025px) {
  #giftcardCatList .gift-items .gift-item {
    grid-template-columns: 300px 1fr;
  }
  #giftcardCatList .gift-items .gift-item .gift-image {
    order: 1;
  }
  #giftcardCatList .gift-items .gift-item .gift-text {
    order: 2;
  }
  #giftcardCatList .gift-items .gift-item:nth-child(even) {
    grid-template-columns: 1fr 300px;
  }
  #giftcardCatList .gift-items .gift-item:nth-child(even) .gift-image {
    order: 2;
  }
  #giftcardCatList .gift-items .gift-item:nth-child(even) .gift-text {
    order: 1;
  }
  #giftcardCatList .gift-postListWrap {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  #giftcardCatList #cnts {
    margin-top: 40px;
  }
  #giftcardCatList .main_img {
    margin-bottom: 30px;
  }
  #giftcardCatList .gift__wrap .box {
    max-width: 100%;
    flex-basis: 100%;
  }
  #giftcardCatList .gift__wrap .box .txt {
    font-size: 50px;
  }
  #giftcardCatList .gift__wrap .box .txt02 {
    font-size: 16px;
  }
  #giftcardCatList .gift__wrap .box02 {
    max-width: 100%;
    flex-basis: 100%;
    display: none;
  }
  #giftcardCatList .gift-items .gift-item .gift-image {
    margin-bottom: 20px;
  }
  #giftcardCatList .gift-items .gift-item .gift-text .gift-title {
    font-size: 20px;
  }
}

.order__form {
  background: #f5f5f5;
  padding: 80px 0;
}
.order__form .inner {
  display: grid;
  align-items: center;
  gap: 0 70px;
}
.order__form .inner .order__formtxt .txt01 {
  font-size: 32px;
  font-weight: 600;
  margin: 0 0 7px;
  line-height: 1;
}
.order__form .inner .order__formtxt .txt02 {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
}

@media screen and (min-width: 1025px) {
  .order__form .inner {
    grid-template-columns: 1fr 250px;
  }
}
@media screen and (max-width: 767px) {
  .order__form {
    background: #f5f5f5;
    padding: 50px 0;
  }
  .order__form .inner .order__formtxt {
    margin-bottom: 40px;
  }
}
/* ------------------------------------------ /
/* infroneer 詳細ページ */
/*------------------------------------------ */
#singlePage .singlepage_tllbox {
  margin-bottom: 65px;
}
#singlePage .singlepage_tllbox .giftcard__single_txt {
  font-size: 100px;
  font-weight: 900;
  margin: 0;
  line-height: 1.2;
}
#singlePage .singlepage_tllbox .giftcard__single_txt._02 {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0;
}
#singlePage .giftcard__inner {
  display: grid;
  gap: 0 40px;
  margin-bottom: 40px;
}
#singlePage .giftcard__inner .thumbnail {
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  overflow: hidden;
}
#singlePage .giftcard__inner .thumbnail img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: contain;" !important;
  transition: all ease 0.3s;
  left: 0;
  object-position: top;
}
#singlePage .giftcard__inner .permaLinkWrap object {
  display: inline-block;
  border-radius: 14px;
  border: #1a1311 solid 1px;
  margin-bottom: 20px;
}
#singlePage .giftcard__inner .permaLinkWrap object a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  color: #1a1311;
}
#singlePage .giftcard__inner .permaLinkWrap .txt {
  font-size: 14px;
  font-weight: 400;
  margin: 0;
}
#singlePage .goodswrap {
  display: grid;
  gap: 20px;
}
#singlePage .goodswrap .imgbox {
  width: 100%;
  padding-bottom: 100%;
  background: #eee;
  position: relative;
  overflow: hidden;
  transition: all ease 0.3s;
  display: block;
}
#singlePage .goodswrap .imgbox img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: contain;
  font-family: "object-fit: cover;" !important;
  transition: transform 0.6s ease;
  top: 0;
  left: 0;
  z-index: 3;
}
#singlePage .goodswrap .imgbox img.bk {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;" !important;
  transition: all ease 0.3s;
  top: 0;
  left: 0;
  z-index: 1;
  -ms-filter: blur(6px);
  filter: blur(6px);
}
@media print, screen and (min-width: 768px) {
  #singlePage .goodswrap .imgbox img:hover, #singlePage .goodswrap .imgbox img:focus {
    transform: scale(1.1);
  }
  #singlePage .goodswrap .imgbox img:hover.bk, #singlePage .goodswrap .imgbox img:focus.bk {
    transform: scale(1);
  }
}
@media screen and (min-width: 1025px) {
  #singlePage .giftcard__inner {
    grid-template-columns: 300px 1fr;
  }
  #singlePage .goodswrap {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 767px) {
  #singlePage #cnts {
    margin-top: 40px;
  }
  #singlePage .singlepage_tllbox {
    margin-bottom: 40px;
  }
  #singlePage .singlepage_tllbox .giftcard__single_txt {
    font-size: 50px;
  }
  #singlePage .singlepage_tllbox .giftcard__single_txt._02 {
    font-size: 18px;
  }
  #singlePage .giftcard__inner .thumbnail {
    padding-bottom: 140%;
    margin-bottom: 40px;
  }
  #singlePage .goodswrap {
    grid-template-columns: repeat(1, 1fr);
  }
}

/* for IE */
#indexPage #mainccArea .cctxt .cc {
  font-size: 66px !important;
  line-height: 150px !important;
  margin-bottom: -48px !important;
}

@media screen and (max-width: 1200px) {
  #indexPage #mainccArea .cctxt .cc {
    font-size: 60px !important;
    line-height: 140px !important;
    margin-bottom: -48px !important;
  }
}
@media screen and (max-width: 1097px) {
  #indexPage #mainccArea .cctxt .cc {
    font-size: 50px !important;
    line-height: 140px !important;
    margin-bottom: -48px !important;
  }
}
@media screen and (max-width: 842px) {
  #indexPage #mainccArea .cctxt .cc {
    font-size: 22px !important;
    line-height: 97px !important;
    margin-bottom: -55px !important;
  }
}
@media screen and (max-width: 842px) {
  #indexPage #serviceArea .service_pagelink_wrap .service_pagelink .name-en {
    font-size: 37px !important;
  }
}
@media screen and (max-width: 768px) {
  #indexPage #serviceArea .titleh2 {
    margin: 0 0 21px;
    color: #1a1311;
  }
  #indexPage #serviceArea .titleh2 + p {
    font-size: 22px;
    font-weight: 700;
    color: #1a1311;
    margin: 0;
  }
}/*# sourceMappingURL=style.css.map */