@charset "UTF-8";

/*!
Theme Name: トーサイ公式
Description: トーサイ公式のオリジナルテーマファイル
Theme URI: https://wp-cocoon.com/
Author: むらかみ
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
* {
  margin: 0;
  padding: 0;
}
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  font-style: normal;
  -webkit-box-shadow: none;
  box-shadow: none;
  outline: none;
  line-break: strict;
  word-break: break-word;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
*,
*:focus,
a:focus {
  outline: none;
}
body {
  font-family: 'Noto Sans JP', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  -webkit-text-size-adjust: 100%;
  color: #000;
  width: 100%;
  background-color:#ffffff;
  overflow-x: hidden; /* 横スクロール防止 */
}
p, a{
  font-size:15px;
}
a{
  text-decoration: none;
  color: #000;
}
h2, h3 {
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 800;
  margin-bottom: 1em;
}
h2{
  font-size: 32px;
}
h3, h4{
  font-size: 24px;
}
img{
  display: block;
}

/* common */
section{
  padding-bottom: 50px;
}
.content{
  margin-top: 0;
}
.wrap{
  width:auto;
}
.single-post{
  width: 100%;
  padding: 50px 0;
  margin-top: 165px;
}
.single-kasukabe{
  width: 100%;
}
.so-wrap, .inner{
  max-width: 1000px;
  width: 100%;
  margin: auto;
}
.pc{
  display: block;
}
.sp{
  display: none;
}

/* cta */
.fix-nav{
  position: fixed;
  top: 20%;
  right: 0;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
  z-index: 999;
}
.fix-nav.show {
  opacity: 1;
  visibility: visible;
}
.fix-nav .nav-item{
  display: block;
  text-align: center;
  font-weight: bold;
  color: #fff;
  line-height: 1;
  padding: 15px 10px;
}
.fix-nav .nav-item.stock{
  background-color: #2f2f2f;
  border-radius: 5px 0 0 0;
}
.fix-nav .nav-item.reserve{
  background-color: #535353;
}
.fix-nav .nav-item.shop{
  background-color: #797979;
  border-radius: 0 0 0 5px;
}
.fix-nav .nav-item i{
  font-size: 25px;
  margin-bottom: 10px;
}
.fix-nav .nav-item p{
  font-size: 14px;
}


/* 共通あしらい */
.bg-white{
  background-color: #fff;
}
.bg-gray{
  background-color: #f2f2f2;
}
.bg-darkgray{
  background-color: #141414;
}
.bg-black{
  background-color: #000;
}
.tx-center{
  text-align: center;
}
.tx-white{
  color:#ffffff;
}
.tx-red{
  color:#d82817;
}
.tx-orange{
  color:#f76a00;
}
.tx-blue{
  color: #1A6FE8;
}
.tx-red2{
  color: #CC0000;
}
.tx-green{
  color: #06C755;
}
.tx-gray{
  color: rgba(255, 255, 255, 0.7);
}
.tx-small{
  font-size:0.8em;
}
.tx-big{
  font-size: 1.5em;
}
.tx-bold{
  font-weight: bold;
}
h2.main-tit{
  position: relative;
  padding-left: 0.8em;
}
h2.main-tit::before{
  position: absolute;
  content: "";
  width: 5px;
  height: 100%;
  background-color: #DF0716;
  left: 0;
  top: 0;
}

/* footer */
.footer{
  padding: 0;
  margin: 0;
}

/*1000px以下*/
@media screen and (max-width: 1000px){
  h2{
    font-size: 30px;
  }
  h3{
    font-size: 20px;
  }
  .single-post{
    margin-top: 92px;
  }
  .single-kasukabe{
    margin-top: 89px;
  }
  .so-wrap, .inner{
    padding: 0 15px;
  }
}

/*750px以下*/
@media screen and (max-width: 750px){
  body, p, a{
    font-size: 14px;
  }
  h2{
    font-size: 25px;
  }
  h3, h4{
    font-size: 20px;
  }
  section{
    padding-bottom: 30px;
  }

  .pc{
    display: none;
  }
  .sp{
    display: block;
  }

  /* cta */
  .fix-nav{
    width: 100%;
    top: auto;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .nav-inner{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .fix-nav .nav-item.shop{
    border-radius: 0 5px 0 0;
  }
  .fix-nav .nav-item i{
    font-size: 20px;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .body{
    font-size: 14px;
  }
  h2{
    font-size: 22px;
  }
  h3, h4{
    font-size: 18px;
  }
  .single-post{
    padding: 30px 0;
  }
}
