@charset "utf-8";
/* sp nav */
.c-global-nav-btn {
  display: none;
  width: 40px;
  height: 40px;
  background-color: #DF0515;
  border: none;
  position: absolute;
  right: 20px;
  bottom: 37px;
  margin: auto;
  cursor: pointer;
}
.c-global-nav-btn-bar__group {
  width: 62.5%;
  height: 50%;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
}
.c-global-nav-btn-bar__item {
  display: block;
  width: 100%;
  height: 3px;
  background-color: #FFF;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  -ms-transition: 0.5s;
  transition: 0.5s;
}
.c-global-nav-btn-bar__item-top {
  bottom: auto;
}
.c-global-nav-btn-bar__item-bottom {
  top: auto;
}
.c-global-nav-btn.is-active .c-global-nav-btn-bar__item-top, .c-global-nav-btn.is-active .c-global-nav-btn-bar__item-bottom {
  top: 0;
  bottom: 0;
}
.c-global-nav-btn.is-active .c-global-nav-btn-bar__item-top {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.c-global-nav-btn.is-active .c-global-nav-btn-bar__item-bottom {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.c-global-nav-btn.is-active .c-global-nav-btn-bar__item-middle {
  width: 0%;
  opacity: 0;
}
/*==========================================================
      Target Devices # Tablet MobilePC #
============================================================ */
@media screen and (max-width: 1023px) {
  /*------------------------------------------------------------
     common
------------------------------------------------------------ */
/* main
------------------------------------------------------------ */
  .c-main::before, .c-main::after {
    width: 43px;
  }
  .c-main__inner {
    padding: 20px 20px 160px;
  }
  /*------------------------------------------------------------
     index
------------------------------------------------------------ */
  .p-top-main__inner {
    padding-top: 0;
    padding-right: 20px;
    padding-left: 20px;
  }
  .p-top-contents__group {
    margin: -10px;
  }
  .p-top-contents__item {
    padding: 10px;
  }
  .p-top-contents__card {
    padding: 15px;
  }
  .p-top-contents__img {
    margin: -15px -15px 0;
  }
  /*------------------------------------------------------------
     kasou
------------------------------------------------------------ */
  /* pankuzu */
  .c-pankuzu {
    margin: 0 0 35px;
  }
  /* 受賞店紹介
------------------------------------------------------------ */
  .p-intro-nav__wrap {
    margin-left: 0;
    margin-right: 0;
  }
  .p-intro-nav__link {
    padding: 5px;
    font-size: 12px;
    font-size: 1.2rem;
  }
  .p-intro-list-pagenav {
    margin-left: 0;
    margin-right: 0;
  }
  .p-intro-list-pagenav__link {
    font-size: 12px;
    font-size: 1.2rem;
  }
/* single
------------------------------------------------------------ */
  .p-single-post__title {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .p-single-eyecatch {
    margin-left: -20px;
    margin-right: -20px;
  }
  .p-single-info__company {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .p-single-info__address-wrap {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .p-single-info__address {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .p-single-other {
    padding-right: 20px;
    padding-left: 20px;
    margin-right: -20px;
    margin-left: -20px;
  }
}
/*==========================================================
      Target Devices # Smart Phone and Tablet #
============================================================ */
@media screen and (max-width: 767px) {
  /*------------------------------------------------------------
     common
------------------------------------------------------------ */
  body {
    padding-top: 121px;
  }
  /* heading */
  .c-heading {
    font-size: 30px;
    font-size: 3.0rem;
  }
  .p-intro-list__heading-small {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .c-heading span {
    display: block;
    padding: 0 0 15px;
  }
  /* video */
  .c-video-pseudo__player-btn {
    width: 170px;
    height: 40px;
    padding-right: 45px;
    padding-left: 22px;
    bottom: 10%;
    font-size: 18px;
    font-size: 1.8rem;
  }
  .c-video-pseudo__player-btn-icon {
    width: 22px;
    height: 22px;
  }
  .c-video-pseudo__player-btn-icon::before, .c-video-pseudo__player-btn-icon::after {
    border-width: 3px;
  }
  .c-video-pseudo__player-btn-icon-triangle::before, .c-video-pseudo__player-btn-icon-triangle::after {
    width: 7px;
    height: 9px;
    border-left-width: 7px;
    border-top-width: 4px;
    border-bottom-width: 4px;
  }
  .c-video-pseudo__player-btn-icon-triangle::before {
    transform: translate(5%, -1px);
  }
  .c-video-pseudo__player-btn-icon-triangle::after {
    transform: translateX(5%);
  }
  /* pagetop */
  .c-pagetop {
    width: 40px;
    height: 40px;
    right: 20px;
    bottom: 20px;
  }
  /* header
------------------------------------------------------------ */
  .c-header {
    padding-top: 10px;
    padding-bottom: 15px;
  }
  .c-header__band {
    margin-bottom: 15px;
  }
  .c-header__band::before {
    width: calc(100% - 158px);
    height: 10px;
  }
  /* logo */
  .c-header__group-logo {
    padding: 0 10px;
  }
  .c-header__group-logo img {
    width: 138px;
  }
  .c-header__logo {
    width: 210px;
  }
  /* nav */
  .c-global-nav {
    position: static;
  }
  .c-global-nav-btn {
    display: block;
  }
  .c-global-nav__group {
    display: none;
    width: 100%;
    padding-bottom: 5px;
    background-color: #FFF;
    position: absolute;
    top: 100%;
    left: 0;
  }
  .c-global-nav__item {
    width: 100%;
    padding: 5px 20px;
  }
  .c-global-nav__item + .c-global-nav__item {
    border-left: none;
  }
  .c-global-nav__item a {
    padding: 10px 3%;
  }
/* footer
------------------------------------------------------------ */
  .c-footer-nav {
    padding: 10px 20px;
  }
  .c-footer-nav__item {
    width: 100%;
    padding: 5px 15px;
  }
  .c-footer-main {
    padding: 15px 20px 30px;
  }
  .c-footer-mainnav__item {
    width: 100%;
    padding: 5px 0;
    border: none;
  }
  .c-footer__copyright {
    text-align: left;
  }
/*------------------------------------------------------------
     index
------------------------------------------------------------ */
  .p-top-about {
    padding-bottom: 80px;
  }
  .p-top-about__text {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .p-top-contents__item {
    width: 100%;
  }
  .p-top-contents__heading {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .p-top-contents__banner-link {
    padding: 14px;
  }
  .p-top-contents__banner-text {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .p-top-contents__banner-arrow {
    top: auto;
    right: 14px;
    bottom: 25px;
  }
  .p-top-contents__banner-link:hover .p-top-contents__banner-arrow {
    width: 36px;
    right: 8px;
  }
  /*------------------------------------------------------------
     kasou
------------------------------------------------------------ */
  /* celebration
------------------------------------------------------------ */
  .p-celebration__section + .p-celebration__section {
    margin-top: 60px;
  }
  .p-celebration__movie-title {
    margin-top: 20px;
    font-size: 22px;
    font-size: 2.2rem;
  }
/* 受賞店紹介
------------------------------------------------------------ */
  .p-intro-nav__group {
    flex-wrap: nowrap;
    padding: 0 20px;
    margin: 0 -20px;
    overflow-x: scroll;
  }
  .p-intro-nav__item {
    flex-shrink: 0;
    width: 120px;
  }
  .p-intro-list-pagenav__group {
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 0 20px;
    margin: 0 -20px;
    overflow-x: scroll;
  }
  .p-intro-list-pagenav__group.is-scrollnone {
    justify-content: center;
  }
  .p-intro-list-pagenav__item {
    flex-shrink: 0;
    background-color: #000;
  }
  .p-intro-list-pagenav__text {
    display: block;
  }
  .p-intro-list__heading {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .p-intro-list__heading span::before, .p-intro-list__heading span::after {
    width: 30px;
  }
  .p-intro-list__heading span::before {
    left: -40px;
  }
  .p-intro-list__heading span::after {
    right: -40px;
  }
  .p-intro-list__heading2 {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .p-intro-list__heading2 span {
    font-size: 16px;
    font-size: 1.6rem;
  }
  .p-intro-list-photo {
    margin: -5px;
  }
  .p-intro-list-photo__group {
    margin: -5px;
  }
  .p-intro-list-photo__group + .p-intro-list-photo__group {
    margin-top: 15px;
  }
  .p-intro-list-photo__group {
    width: calc(100% + 10px);
    padding: 5px;
  }
  .p-intro-list-photo__group.js-col2 {
    width: calc(100% + 10px);
  }
  .p-intro-list-photo__item {
    width: 50%;
    padding: 5px;
  }
  .p-intro-list-photo__card {
    height: auto !important;
    border-width: 2px;
    padding: 10px 8px;
  }
  .p-intro-list-photo__img {
    margin: -10px -8px 0;
  }
  .p-intro-list-photo__label {
    margin: 5px -2px 0;
  }
  .p-intro-list-photo__label span {
    font-size: 10px;
    line-height: 18px;
  }
  .p-intro-list-photo__label span::before, .p-intro-list-photo__label span::after {
    border-top-width: 9px;
    border-bottom-width: 9px;
  }
  .p-intro-list-photo__title {
    margin-left: -.5em;
    margin-right: -.5em;
    font-size: 14px;
    font-size: 1.4rem;
  }
  .p-intro-list-chief__table th, .p-intro-list-chief__table td {
    width: 50%;
    padding: 10px 5px;
  }
  .p-intro-list-chief__table th {
    padding-left: 0;
  }
  /* modal */
  .p-intro-list-photo__modal-body {
    padding: 25px 14px 30px;
  }
  .p-intro-list-photo__modal-close {
    width: 30px;
    height: 30px;
  }
  .p-intro-list-photo__modal-close::before, .p-intro-list-photo__modal-close::after {
    width: 25px;
  }
  .p-intro-list-photo__modal-heading {
    font-size: 25px;
    font-size: 2.5rem;
  }
  .p-intro-list-photo__modal-title {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .p-intro-list-photo__modal-ss {
    font-size: 12px;
    font-size: 1.2rem;
  }
  .p-intro-list-photo__modal-img__item {
    width: 100%;
  }
  
/* case
------------------------------------------------------------ */
  .p-case__maintext {
    margin-top: 60px;
  }
  .p-case-list__group  {
    margin-top: -30px;
    margin-bottom: -30px;
  }
  .p-case-list__item {
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
  }
  .p-case-list__card {
    padding: 0 10px;
  }
  .p-case-list__img, .p-case-list__dept {
    margin: 0 -10px;
  }
  .p-case-list__company, .p-case-list__ss {
    margin-left: -10px;
    margin-right: -10px;
  }
  .p-case-list__title {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .p-case-list__text {
    margin-bottom: 30px;
  }
/* single
------------------------------------------------------------ */
  .p-single-post__title {
    text-align: left;
  }
  .p-single-eyecatch__dept {
    font-size: 22px;
    font-size: 2.2rem;
  }
  .p-single-info {
    margin-bottom: 100px;
  }
  .p-single-info__address-wrap {
    margin-left: 0;
    margin-right: 0;
  }
  .p-single-info__ss, .p-single-info__address {
    width: 100%;
    padding: 0;
  }
  .p-single-info__address {
    margin-top: 5px;
  }
  .p-single-post__video-pseudo-player-btn {
    bottom: 0;
  }
  .p-single-post__textarea, .p-single-post__imgarea {
    width: 100%;
  }
  .p-single-post__imgarea {
    margin-top: 20px;
  }
  .p-single-post__h2 {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .p-single-other__heading {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .p-single-other__item {
    width: 100%;
  }
}
/*==========================================================
      Target Devices # Smart Phone Only #
============================================================ */
@media screen and (max-width: 479px) {
  /*------------------------------------------------------------
     kasou
------------------------------------------------------------ */
  /* contact
------------------------------------------------------------ */
}