@charset "UTF-8";
/* CSS Document */
/*
  ------------------------------------
   MediaScreen指定
  ------------------------------------
*/
/*
  ------------------------------------
   ベースプロパティ
  ------------------------------------
*/
/*
  ------------------------------------
   CSSからのIMGロード
  ------------------------------------
*/
/*
  ------------------------------------
   FONT指定
  ------------------------------------
*/
/*
  ------------------------------------
   FORM設定
  ------------------------------------
*/
/*
  ------------------------------------
   Responsive指定
  ------------------------------------
*/
#mainvis .p-subtitle {
  text-align: center;
  font-size: 200%;
  margin-top: 15px; }

/*
  ------------------------------------
  ####################################
   #TOP
  ####################################
  ------------------------------------
*/
button {
  margin-top: 20px; }

/* MAIN VISUAL*/
#mainvis {
  position: relative;
  width: 100%;
  height: 400px;
  background: url("../../img/top/mainvis.jpg") no-repeat center 50px;
  background-size: cover; }
  #mainvis .title-wrap {
    width: 50%;
    min-width: 350px;
    background: rgba(0, 0, 0, 0.7);
    position: absolute;
    text-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    top: 50%;
    left: 50%;
    -webkit-transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1);
    transform: translate3d(-50%, -50%, 0) rotate(0deg) scale(1);
    top: 55%;
    padding: 60px 0 30px; }
    #mainvis .title-wrap img {
      margin: 0 auto;
      display: block; }
  #mainvis .p-title {
    color: #eee;
    letter-spacing: 3px;
    font-size: 140%;
    margin-top: 20px;
    font-family: 'Roboto Condensed', sans-serif; }

.section-title {
  font-size: 400%;
  font-weight: bold;
  font-family: futura-pt, sans-serif;
  color: #111;
  position: relative;
  margin-bottom: 40px; }
  .section-title:after {
    content: "";
    position: absolute;
    background: #cc2b23;
    width: 60px;
    height: 3px;
    left: 0;
    bottom: -10px; }
  @media screen and (max-width: 768px) {
    .section-title {
      font-size: 300%; } }

#contents01 {
  padding: 100px 0; }
  #contents01 .box {
    margin-top: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border: 10px solid #eee;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 30px; }
    #contents01 .box dt {
      width: 250px;
      height: 250px;
      border-radius: 50%;
      overflow: hidden; }
      #contents01 .box dt img {
        width: 100%;
        display: block; }
    #contents01 .box dd {
      width: calc(100% - 300px);
      line-height: 1.8; }
    #contents01 .box .name {
      font-weight: bold;
      font-size: 140%; }
    #contents01 .box .cate {
      font-family: futura-pt, sans-serif;
      font-size: 120%;
      color: #999;
      margin: 10px 0; }
    #contents01 .box .txt {
      color: #444;
      font-size: 100%; }
    @media screen and (max-width: 768px) {
      #contents01 .box {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start; }
        #contents01 .box dt {
          margin: 0 auto 30px;
          width: 200px;
          height: 200px; }
        #contents01 .box dd {
          width: 100%; } }

#contents02 {
  background: #eee;
  padding: 100px 0; }
  #contents02 .h4-title {
    font-size: 200%;
    font-weight: bold;
    font-family: futura-pt, sans-serif;
    border-bottom: 1px solid #ccc;
    padding: 10px 0 10px 20px;
    margin-bottom: 20px;
    position: relative; }
    #contents02 .h4-title:after {
      content: "";
      position: absolute;
      background: #4692b9;
      width: 5px;
      height: 20px;
      left: 0;
      top: 50%;
      -webkit-transform: translate3d(0, -50%, 0) rotate(0deg) scale(1);
      transform: translate3d(0, -50%, 0) rotate(0deg) scale(1); }
  #contents02 dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #contents02 dl dt, #contents02 dl dd {
      margin-bottom: 15px; }
    #contents02 dl dt {
      width: 110px;
      font-weight: bold; }
    #contents02 dl dd {
      width: calc(100% - 120px); }
    @media screen and (max-width: 768px) {
      #contents02 dl dt, #contents02 dl dd {
        width: 100%; }
      #contents02 dl dt {
        position: relative;
        padding-left: 10px; }
        #contents02 dl dt:before {
          content: "";
          position: absolute;
          background: #999;
          width: 5px;
          height: 5px;
          left: 0;
          top: 50%;
          -webkit-transform: translate3d(0, -50%, 0) rotate(0deg) scale(1);
          transform: translate3d(0, -50%, 0) rotate(0deg) scale(1); } }
  #contents02 .boxwrap {
    margin-top: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #contents02 .boxwrap .photo img {
      border-radius: 15px; }
    @media screen and (max-width: 768px) {
      #contents02 .boxwrap .photo {
        margin-top: 20px; } }
    #contents02 .boxwrap > * {
      width: 47%;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
      @media screen and (max-width: 768px) {
        #contents02 .boxwrap > * {
          width: 100%; } }
    #contents02 .boxwrap img {
      width: 100%;
      display: block; }

#contents03 {
  padding: 100px 0; }
  #contents03 .box {
    margin-top: 60px; }
  #contents03 dl {
    padding: 30px 20px; }
    #contents03 dl:nth-child(odd) {
      background: #eee; }
  #contents03 dt {
    margin-bottom: 20px;
    font-size: 140%;
    font-family: futura-pt, sans-serif;
    font-weight: 500;
    color: #666;
    padding-left: 20px;
    position: relative; }
    #contents03 dt:before {
      content: "";
      position: absolute;
      background: #4692b9;
      width: 5px;
      height: 5px;
      left: 0;
      top: 50%;
      -webkit-transform: translate3d(0, -50%, 0) rotate(0deg) scale(1);
      transform: translate3d(0, -50%, 0) rotate(0deg) scale(1); }
  #contents03 dd {
    position: relative; }

@media screen and (max-width: 768px) {
  #contents01, #contents02, #contents03 {
    padding: 60px 0; } }

.btn {
  margin-top: 40px;
  background: #eee;
  padding: 10px;
  width: 100px;
  text-align: center;
  cursor: pointer; }

/*
  ==============================
  CartCSS
  ==============================
*/
#cart_icon {
  width: 45px;
  height: 35px;
  position: relative; }
  #cart_icon #cart_arrow {
    position: absolute;
    border-top: 4px solid #ccc;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    left: 12px;
    top: 0;
    opacity: 0; }
  #cart_icon svg {
    fill: #ccc;
    width: 45px;
    height: 35px; }
  #cart_icon #goods_count {
    position: absolute;
    border: #fff 2px solid;
    background: #ccc;
    left: -12px;
    bottom: -6px;
    border-radius: 25px;
    width: 23px;
    height: 23px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 14px;
    color: #fff;
    font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    line-height: 1;
    -webkit-transform: scale(0.7);
    -ms-transform: scale(0.7);
    transform: scale(0.7); }
  #cart_icon #cell span {
    display: block;
    position: absolute;
    border-top: 4px solid #ccc;
    border-left: 1px solid transparent;
    border-right: 1.4px solid transparent;
    -webkit-animation: cellIn 2.3s linear;
    animation: cellIn 2.3s linear; }
    #cart_icon #cell span:nth-child(1) {
      width: 21px;
      left: 10px;
      top: 19px; }
    #cart_icon #cell span:nth-child(2) {
      width: 24px;
      left: 8px;
      top: 14px; }
    #cart_icon #cell span:nth-child(3) {
      width: 28px;
      left: 6px;
      top: 9px; }
  #cart_icon.max svg {
    fill: #fa08af; }
  #cart_icon.max #goods_count {
    background: #fa08af; }
  #cart_icon.max #cell span, #cart_icon.max #cart_arrow {
    border-top-color: #fa08af; }
  #cart_icon.active #cart_arrow {
    -webkit-animation: arrow 2.3s linear;
    animation: arrow 2.3s linear; }
  #cart_icon.active #goods_count {
    -webkit-animation: bound 0.9s 1.5s ease-in-out;
    animation: bound 0.9s 1.5s ease-in-out; }

@-webkit-keyframes cellIn {
  0% {
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  10% {
    opacity: 1; }
  11% {
    opacity: 0; }
  29% {
    opacity: 1; }
  30% {
    opacity: 1; }
  31% {
    opacity: 0; }
  49% {
    opacity: 1; }
  50% {
    opacity: 1; }
  51% {
    opacity: 0; }
  79% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  80% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@keyframes cellIn {
  0% {
    -webkit-transform: translate3d(0, 0px, 0);
    transform: translate3d(0, 0px, 0); }
  10% {
    opacity: 1; }
  11% {
    opacity: 0; }
  29% {
    opacity: 1; }
  30% {
    opacity: 1; }
  31% {
    opacity: 0; }
  49% {
    opacity: 1; }
  50% {
    opacity: 1; }
  51% {
    opacity: 0; }
  79% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  80% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }

@-webkit-keyframes bound {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(0.7);
    transform: translate3d(0, 0, 0) scale(0.7); }
  15% {
    -webkit-transform: translate3d(0, 2px, 0) scaleX(0.7) scaleY(0.5);
    transform: translate3d(0, 2px, 0) scaleX(0.7) scaleY(0.5); }
  30% {
    -webkit-transform: translate3d(0, -5px, 0) scale(0.7);
    transform: translate3d(0, -5px, 0) scale(0.7); }
  50% {
    -webkit-transform: translate3d(0, -5px, 0) scale(0.7);
    transform: translate3d(0, -5px, 0) scale(0.7); }
  75% {
    -webkit-transform: translate3d(0, 1px, 0) scale(0.7);
    transform: translate3d(0, 1px, 0) scale(0.7); }
  90% {
    -webkit-transform: translate3d(0, 1px, 0) scaleX(0.7) scaleY(0.6);
    transform: translate3d(0, 1px, 0) scaleX(0.7) scaleY(0.6); }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(0.7);
    transform: translate3d(0, 0, 0) scale(0.7); } }

@keyframes bound {
  0% {
    -webkit-transform: translate3d(0, 0, 0) scale(0.7);
    transform: translate3d(0, 0, 0) scale(0.7); }
  15% {
    -webkit-transform: translate3d(0, 2px, 0) scaleX(0.7) scaleY(0.5);
    transform: translate3d(0, 2px, 0) scaleX(0.7) scaleY(0.5); }
  30% {
    -webkit-transform: translate3d(0, -5px, 0) scale(0.7);
    transform: translate3d(0, -5px, 0) scale(0.7); }
  50% {
    -webkit-transform: translate3d(0, -5px, 0) scale(0.7);
    transform: translate3d(0, -5px, 0) scale(0.7); }
  75% {
    -webkit-transform: translate3d(0, 1px, 0) scale(0.7);
    transform: translate3d(0, 1px, 0) scale(0.7); }
  90% {
    -webkit-transform: translate3d(0, 1px, 0) scaleX(0.7) scaleY(0.6);
    transform: translate3d(0, 1px, 0) scaleX(0.7) scaleY(0.6); }
  100% {
    -webkit-transform: translate3d(0, 0, 0) scale(0.7);
    transform: translate3d(0, 0, 0) scale(0.7); } }

@-webkit-keyframes arrow {
  0% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  5% {
    opacity: 1; }
  15% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  17% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  30% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  32% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  45% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  47% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  70% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  71% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; } }

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  5% {
    opacity: 1; }
  15% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  17% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  30% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  32% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  45% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  47% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  70% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  71% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; } }

@-webkit-keyframes cell {
  0% {
    opacity: 0; }
  5% {
    opacity: 1; }
  15% {
    opacity: 0; }
  17% {
    opacity: 1; }
  32% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  45% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  47% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  70% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  71% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  75% {
    opacity: 1; }
  80% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes cell {
  0% {
    opacity: 0; }
  5% {
    opacity: 1; }
  15% {
    opacity: 0; }
  17% {
    opacity: 1; }
  32% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  45% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  47% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  70% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 0; }
  71% {
    -webkit-transform: translate3d(0, -3px, 0);
    transform: translate3d(0, -3px, 0);
    opacity: 0; }
  75% {
    opacity: 1; }
  80% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1; }
  100% {
    opacity: 0; } }
