@charset "UTF-8";
/*-----------------------------------------------
 * color
 * --------------------------------------------*/
/*-----------------------------------------------
 * break point
 * --------------------------------------------*/
@media (max-width: 991px) {
  .pc_only {
    display: none !important; } }

@media (max-width: 991px) {
  .pc_and_tab {
    display: none !important; } }

@media (min-width: 992px) {
  .tab_only {
    display: none !important; } }
@media (max-width: 991px) {
  .tab_only {
    display: none !important; } }

@media (min-width: 992px) {
  .tab_and_sp {
    display: none !important; } }

@media (min-width: 992px) {
  .sp_only {
    display: none !important; } }

/*-----------------------------------------------
 * font-size(base:16px)
 * --------------------------------------------*/
/*-----------------------------------------------
 * font-family
 * --------------------------------------------*/
/*-----------------------------------------------
 * bootstrap3 class 
 * --------------------------------------------*/
.img-responsive {
  margin-left: auto;
  margin-right: auto;
  display: block;
  height: auto;
  max-width: 100%; }

.img-responsive-inline {
  display: inline-block;
  height: auto;
  max-width: 100%; }

ul.list-inline li {
  display: inline-block; }
  ul.list-inline li:not(:last-child) {
    margin-right: .5rem; }

/*****************************************************************************************
 * common
 ****************************************************************************************/
html,
body {
  height: 100%; }

body {
  color: #333333;
  line-height: 180%;
  font-size: 0.9375rem;
  font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 500; }

strong,
b,
h1,
h2,
h3,
h4 {
  font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .025em; }

a {
  color: #000; }
  a:hover {
    color: #333333; }
  a.btn, a.badge {
    text-decoration: none !important; }

small,
p.small {
  line-height: normal; }

.text-muted {
  color: #707070; }

iframe {
  width: 100%;
  max-width: 100%; }

figure {
  display: table;
  margin-left: auto;
  margin-right: auto; }
  figure figcaption {
    display: table-caption;
    caption-side: bottom; }

.table td,
.table th {
  border-top: 0;
  border-bottom: 1px solid #707070;
  padding-top: 30px;
  padding-bottom: 30px; }

/*------------------------------------------
 * wrap
 *----------------------------------------*/
article section {
  margin-top: 60px;
  margin-bottom: 60px; }
  @media (min-width: 992px) {
    article section {
      margin-top: 150px;
      margin-bottom: 150px; } }
  article section:first-child {
    margin-top: 0; }
  article section.accent_bg {
    padding-top: 85px;
    padding-bottom: 45px;
    background-color: #F2F2F2; }
article a {
  color: #333333;
  text-decoration: underline; }
  article a:hover {
    color: #000; }

/*------------------------------------------
 * head
 *----------------------------------------*/
article.home h2,
article:not(.home) h1,
article:not(.home) .page_title {
  font-size: 1.25rem;
  text-align: center;
  margin-top: 42px;
  margin-bottom: 50px; }
  article.home h2 small,
  article:not(.home) h1 small,
  article:not(.home) .page_title small {
    font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 500;
    font-size: 0.625rem;
    display: block;
    margin-top: 5px; }
  @media (min-width: 992px) {
    article.home h2,
    article:not(.home) h1,
    article:not(.home) .page_title {
      font-size: 2.19rem;
      margin-top: 80px;
      margin-bottom: 130px; }
      article.home h2 small,
      article:not(.home) h1 small,
      article:not(.home) .page_title small {
        margin-top: 10px;
        font-size: 0.9375rem; } }

h2 {
  font-size: 1.5rem;
  margin-botom: 30px; }
  @media (min-width: 992px) {
    h2 {
      font-size: 1.875rem; } }

h3 {
  font-size: 1.25rem;
  margin-botom: 30px; }

h4 {
  font-size: 0.9375rem;
  line-height: 180%; }

/*------------------------------------------
 * 検索
 *----------------------------------------*/
form.search-form {
  border: solid 1px #333333;
  border-radius: 20px;
  background: white; }
  form.search-form input[name="s"] {
    border: none;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    max-width: 100%;
    width: calc(100% - 30px - 12px - 1px);
    margin-left: auto;
    margin-bottom: 0; }
    form.search-form input[name="s"]::placeholder {
      color: #ccc; }
  form.search-form button {
    border: none;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    padding-right: 0;
    padding-top: 0;
    padding-bottom: 0; }

/*-----------------------------------------------
 * swiper
 * --------------------------------------------*/
.swiper-container {
  text-align: center; }
  .swiper-container .swiper-slide img {
    max-width: 100%;
    height: auto; }

.swiper-pagination-bullet-active {
  background: #fff !important; }

.swiper-button-prev,
.swiper-container-rtl .swiper-button-next {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M0%2C22L22%2C0l2.1%2C2.1L4.2%2C22l19.9%2C19.9L22%2C44L0%2C22L0%2C22L0%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-button-next,
.swiper-container-rtl .swiper-button-prev {
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2027%2044'%3E%3Cpath%20d%3D'M27%2C22L27%2C22L5%2C44l-2.1-2.1L22.8%2C22L2.9%2C2.1L5%2C0L27%2C22L27%2C22z'%20fill%3D'%23ffffff'%2F%3E%3C%2Fsvg%3E"); }

.swiper-slide-next,
.swiper-slide-prev {
  opacity: 0.5; }

/*****************************************************************************************
 * header
 ****************************************************************************************/
header {
  background-color: #fff; }
  @media (min-width: 992px) {
    header {
      border-bottom: 1px solid #F2F2F2; } }
  header nav {
    padding: 0 !important;
    background-color: white;
    padding-left: 0 !important;
    padding-right: 0 !important; }
    header nav .navbar-toggler {
      margin-left: 0.5rem;
      margin-bottom: 0.25rem;
      z-index: 1000; }
    header nav .navbar-brand {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      z-index: 998; }
    header nav .navbar-nav {
      font-size: 0.9375rem;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      header nav .navbar-nav a.nav-link:hover, header nav .navbar-nav a.nav-link:active, header nav .navbar-nav a.nav-link:focus, header nav .navbar-nav a.nav-link.active {
        background: #FFDA00 !important; }
    header nav #mainMenu {
      margin-left: auto; }
      header nav #mainMenu .nav-item a.nav-link {
        color: #333333 !important;
        text-decoration: none;
        @noto-sans-bold;
        text-align: center; }
        header nav #mainMenu .nav-item a.nav-link:hover, header nav #mainMenu .nav-item a.nav-link:active, header nav #mainMenu .nav-item a.nav-link:focus, header nav #mainMenu .nav-item a.nav-link.active {
          text-shadow: none;
          background: #FFDA00 !important;
          border-radius: 2rem; }
      @media (max-width: 991px) {
        header nav #mainMenu {
          margin-top: 1rem;
          margin-bottom: 1rem; } }
    @media (max-width: 991px) {
      header nav #shopMenu .nav-item {
        z-index: 1001;
        text-align: left;
        margin-left: -1rem;
        marginright: -1rem;
        border-bottom: 1px solid #707070; }
        header nav #shopMenu .nav-item a.nav-link {
          padding: 0.5rem 1.5rem; }
          header nav #shopMenu .nav-item a.nav-link small {
            margin-left: 1rem; } }
    @media (min-width: 992px) {
      header nav #shopMenu .nav-item {
        font-size: 1.125rem; }
        header nav #shopMenu .nav-item small {
          display: block;
          font-size: 0.8125rem;
          @noto-sans-normal; }
        header nav #shopMenu .nav-item a.nav-link {
          border-bottom: 2px solid white; }
          header nav #shopMenu .nav-item a.nav-link:hover, header nav #shopMenu .nav-item a.nav-link:active, header nav #shopMenu .nav-item a.nav-link:focus, header nav #shopMenu .nav-item a.nav-link.active {
            borer-radius: 0;
            color: #E3360D !important;
            border-bottom: 2px solid #E3360D;
            background: none !important; } }
    header nav #cartBtn {
      background: #FFDA00;
      padding: .25rem .5rem;
      z-index: 999; }
      @media (max-width: 991px) {
        header nav #cartBtn {
          border-radius: .25rem;
          position: absolute;
          right: 0.5rem;
          top: 0.25rem; } }
    header nav #logoPc {
      margin-bottom: 50px;
      margin-top: 44px; }
    @media (min-width: 992px) {
      header nav.index-menu #mainMenu {
        width: 100%;
        max-height: 100vh;
        min-height: 500px;
        height: calc(100vh - 64px);
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        margin-left: auto; }
        header nav.index-menu #mainMenu .nav-link {
          padding-top: 0.25rem;
          padding-bottom: 0.25rem;
          text-shadow: 1px 1px 8px #fff, -1px 1px 8px #fff, 1px -1px 8px #fff, -1px -1px 8px #fff; }
        header nav.index-menu #mainMenu #cartBtn {
          position: absolute;
          right: 0;
          top: 0; }
          header nav.index-menu #mainMenu #cartBtn .nav-link {
            text-shadow: none; }
      header nav.index-menu #shopMenu .nav-item a.nav-link:hover, header nav.index-menu #shopMenu .nav-item a.nav-link:active, header nav.index-menu #shopMenu .nav-item a.nav-link:focus, header nav.index-menu #shopMenu .nav-item a.nav-link.active {
        border-bottom: 2px solid white; } }
    @media (max-width: 991px) {
      header nav.index-menu::after {
        content: '';
        background-position: center center;
        background-size: cover;
        background-repeat: no-repeat;
        display: block;
        width: 100%;
        height: 300px; } }
    @media (min-width: 992px) {
      header nav.index-menu #mainMenu .nav-link {
        padding-left: 1.5rem;
        padding-right: 1.5rem;
        white-space: nowrap; } }

.breadcrumb {
  background: none;
  border: none;
  color: #000;
  padding-left: 0;
  padding-right: 0; }
  .breadcrumb .breadcrumb-item.active {
    color: #000; }
  .breadcrumb .breadcrumb-item + .breadcrumb-item::before {
    content: '>';
    color: #000; }
  @media (max-width: 991px) {
    .breadcrumb {
      display: none; } }

/*****************************************************************************************
 * footer
 ****************************************************************************************/
footer {
  margin-top: 100px; }
  @media (min-width: 992px) {
    footer {
      margin-top: 180px; } }
  footer #go_to_top {
    border-bottom: 20px solid #FFDA00;
    text-align: center; }
    footer #go_to_top a {
      font-size: 0.75rem;
      font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
      font-weight: 700;
      letter-spacing: .025em;
      letter-spacing: 1.2px;
      display: inline-block;
      background: #FFDA00;
      border-top-left-radius: 60px;
      border-top-right-radius: 60px;
      padding-bottom: 0px;
      padding-top: 20px;
      padding-right: 12px;
      padding-left: 12px; }
  footer #link_area {
    margin-top: 80p;
    background-color: #F2F2F2;
    padding-top: 74px;
    padding-bottom: 34px; }
    @media (min-width: 992px) {
      footer #link_area {
        padding-bottom: 74px; } }
    footer #link_area .search-form {
      margin-top: 40px;
      margin-bottom: 20px; }
    footer #link_area h4 {
      font-size: 1.25rem;
      margin-bottom: 30px; }
    footer #link_area ul li {
      font-size: 0.9375rem; }
      footer #link_area ul li small {
        margin-left: 2px;
        font-size: 0.9375rem; }
        footer #link_area ul li small:before {
          content: '（'; }
        footer #link_area ul li small:after {
          content: '）'; }
  footer #sns_area ul {
    margin-top: 0;
    margin-bottom: 0; }
  @media (max-width: 991px) {
    footer #sns_area {
      background-color: #F2F2F2;
      padding-bottom: 30px; }
      footer #sns_area li {
        display: inline-block; }
        footer #sns_area li:not(:last-child) {
          margin-right: 15px; } }
  @media (min-width: 992px) {
    footer #sns_area ul {
      z-index: 99;
      position: fixed;
      right: 1rem;
      top: 50%;
      transform: translateY(-50%);
      -webkit-transform: translateY(-50%); }
      footer #sns_area ul li {
        margin-bottom: 30px; } }
  footer #bnr_area {
    padding-top: 30px;
    padding-bottom: 30px; }
    @media (max-width: 991px) {
      footer #bnr_area ul li {
        margin-bottom: 15px; } }
    @media (min-width: 992px) {
      footer #bnr_area ul li {
        display: inline-block; }
        footer #bnr_area ul li:not(:last-child) {
          margin-right: 15px; } }
  footer #copyright {
    background-color: #F2F2F2;
    font-size: 0.8125rem;
    text-align: center;
    padding-top: 2.25rem;
    padding-bottom: 1.25rem; }

/*****************************************************************************************
 * parts
 ****************************************************************************************/
.item_list_thumb a {
  text-decoration: none; }
  .item_list_thumb a:hover h4 {
    text-decoration: underline; }
  .item_list_thumb a:hover .thumb {
    overflow: hidden; }
    .item_list_thumb a:hover .thumb img {
      transform: scale(1.1);
      transition-duration: 0.3s;
      opacity: 0.6; }
.item_list_thumb h4 {
  color: #000;
  font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 700;
  letter-spacing: .025em; }
.item_list_thumb .thumb {
  margin-bottom: 25px; }
.item_list_thumb .price {
  font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  letter-spacing: .025em;
  font-size: 0.8125rem; }

form input[name="submitBack"] {
  background: #ccc; }

.post_list_text .row {
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333333; }
  .post_list_text .row a {
    text-decoration: none; }
    .post_list_text .row a:hover {
      text-decoration: underline; }
  .post_list_text .row .li_date,
  .post_list_text .row .li_cat,
  .post_list_text .row .li_title {
    padding: 5px 0.5rem 2px 0.5rem;
    line-height: 100%; }
  .post_list_text .row .li_cat {
    text-align: center;
    background: #f0f0f0;
    padding: 5px 25px 5px 25px; }
    .post_list_text .row .li_cat a:hover {
      text-decoration: none; }

.gray_box {
  background: #F2F2F2;
  padding: 20px;
  margin-bottom: 50px; }
  @media (min-width: 992px) {
    .gray_box {
      padding-left: 45px;
      padding-right: 45px; } }

/*****************************************************************************************
 * home
 ****************************************************************************************/
body.home section:first-child {
  padding-top: 60px; }
@media (min-width: 992px) {
  body.home h2 {
    margin-bottom: 80px; } }
body.home .post_list_text .row {
  border-bottom: none;
  margin-bottom: 1rem; }
  body.home .post_list_text .row .li_cat {
    background: white; }
body.home #ranking .item_list_thumb .row div[class^="col-"] .thumb {
  position: relative;
  overflow: hidden; }
  body.home #ranking .item_list_thumb .row div[class^="col-"] .thumb span {
    width: 100%;
    transform: rotate(-45deg);
    transform-origin: top center;
    position: absolute;
    top: 1rem;
    left: calc(-100% / 2 + 1rem);
    padding: 0.5rem calc(-100% / 2 - 1rem * 1.414);
    box-sizing: border-box;
    text-align: center;
    background: #FFDA00;
    font-size: 1.125rem;
    font-family: YakuHanJP_Noto, "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-weight: 700;
    letter-spacing: .025em; }
body.home #ranking .item_list_thumb .row div[class^="col-"]:first-child .thumb span {
  color: white;
  background-color: #E3360D; }

/*****************************************************************************************
 * page / archive /single
 ****************************************************************************************/
article .content {
  margin-bottom: 100px;
  line-height: 190%; }
  article .content a {
    color: #000; }
    article .content a:hover {
      text-decoration: underline; }
  article .content div[class*="col-"] {
    margin-bottom: 30px; }
  article .content h2:not(:first-child) {
    margin-top: 3rem;
    margin-bottom: 1rem; }
  article .content h3,
  article .content h4 {
    margin-top: 1.5rem;
    margin-bottom: 0.5rem; }

/*------------------------------------------
 * archive / single
 *----------------------------------------*/
article.archive #side_column,
article.single #side_column {
  background-color: #F2F2F2;
  padding: 25px 30px; }
  article.archive #side_column a:not(.btn),
  article.single #side_column a:not(.btn) {
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
    font-weight: 700;
    text-decoration: none; }
    article.archive #side_column a:not(.btn):hover,
    article.single #side_column a:not(.btn):hover {
      text-decoration: underline; }

article.single h1 {
  text-align: left;
  margin-top: 0;
  margin-bottom: 80px; }
article.single .post_list_text {
  padding-left: 0;
  padding-right: 0;
  margin-top: 90px;
  margin-bottom: 50px; }
  article.single .post_list_text .row {
    border-bottom: none; }
    article.single .post_list_text .row .li_date {
      padding-left: 0; }

#post_page_link {
  margin-top: 80px; }
  #post_page_link .btn {
    border-radius: 30px;
    border-color: #707070;
    color: #333333; }

.pagination {
  margin-top: 100px;
  margin-left: auto;
  justify-content: flex-end; }
  .pagination a {
    text-decoration: none !important; }
  .pagination .page-item {
    margin-right: 4px; }
    .pagination .page-item .page-link {
      border-radius: 30px;
      color: #333333;
      background-color: white;
      border-color: #333333;
      margin-left: .25rem; }
    .pagination .page-item.active .page-link {
      color: white;
      background-color: #333333; }

/*------------------------------------------
 * page
 *----------------------------------------*/
article.page {
  max-width: 990px;
  margin-left: auto;
  margin-right: auto; }
  article.page.page-width .content > section:first-child {
    padding-top: 0; }
  article.page.page-fullwidth .content {
    margin-bottom: 0; }
    article.page.page-fullwidth .content > section:first-child {
      padding-top: 0; }
  article.page h2 {
    @yu-go-bold;
    font-size: 1.625rem; }
    article.page h2.text-center {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: 80px;
      margin-top: 100px; }
      article.page h2.text-center:before, article.page h2.text-center:after {
        border-top: 1px solid;
        content: "";
        flex-grow: 1;
        max-width: 2rem; }
      article.page h2.text-center:before {
        margin-right: 1rem; }
      article.page h2.text-center:after {
        margin-left: 1rem; }
  article.page h3 {
    margin-top: 1.5rem; }

/*****************************************************************************************
 ****************************************************************************************/
