html {
  background-color: #fff;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
  margin: 0px;
  padding: 0px;
  font-size: 18px;
  font-family: 'Noto Sans JP',"游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
  color: #000000;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

.cartjs_box {
  display: none;
}

.ofimg {
  width: 100%;
  overflow: hidden;
}
.ofimg img,.ofimg video {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center center;
  object-position: center center;
  font-family: 'object-fit: cover; object-position: center center;';
}
@media only screen and (max-width: 1050px){
  .ofimg img,.ofimg video{
    height: 100%;
    width:100%;
  }
}

img {
  vertical-align: top;
  border: none;
  max-width: 100% !important;
  height: auto !important;
}

img:not([src*="."]) {
  display: none;
}

a {
  text-decoration: none;
  /*-webkit-transition: 0.3s linear;
  transition: 0.3s linear;*/
}

a[href*="tel"] {
  pointer-events: none;
}
ul,
li {
  list-style: none;
  text-align: left;
  padding: 0;
  margin: 0;
}
@media (min-width: 768px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}

dl,
dt,
dd {
  text-align: left;
  padding: 0;
  margin: 0;
}

p {
  text-align: left;
}

.pc_only{
  display:block;
}
.sp_only{
  display:none;
}
@media (max-width: 767px){
  .pc_only{
    display:none !important;
  }
  .sp_only{
    display:block !important;
  }
}
@media only screen and (-webkit-min-device-pixel-ratio: 2),
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 2dppx) {
  body,
  div,
  dl,
  dt,
  dd,
  ul,
  ol,
  li,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  form,
  input,
  button,
  p {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

figure,
figcaption {
  margin: 0;
  padding: 0;
}

input,
textarea,
select {
  font-size: 16px !important;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}
@media only screen and (max-width: 768px){
  a[href*="tel"] {
    pointer-events: initial !important;
  }
}
/*--------------------- レイアウト系CSS-----------------------*/

.wrapper {
  overflow: hidden;
  min-width: 320px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
}

.inner01 {
  max-width:1000px;
  width:100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.inner02 {
  max-width:700px;
  width:100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.inner03 {
  max-width:832px;
  width:100%;
  margin: 0 auto;
  box-sizing: border-box;
}
@media only screen and (max-width: 1000px){
  .inner{
    padding:0 20px;
  }
}
@media only screen and (max-width: 768px){
  .wrapper {
    padding-top: 0 !important;
  }
  .inner01{
    padding:0 20px;
    max-width: none;
  }
  .inner02{
    padding:0 40px;
    max-width: none;
  }
}
/*--------------------- ボタン系CSS-----------------------*/

/*--------------------- flex系CSS-----------------------*/
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.flexc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: justify;
  justify-content: center;
}

.flexs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around;
}

.flexb {
  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;
}

figure img{
  width:100%;
}

@media only screen and (max-width: 768px) {
  .flex {
    margin: 0 auto;
  }
  .flexc {
    margin: 0 auto;
  }
  .flexs {
    margin: 0 auto;
  }
  .flexb {
    margin: 0 auto;
  }
}

/* hamburger overlay */
.hamburger {
  display: none;
}

@media only screen and (max-width: 768px) {

  .hamburger {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1000;
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 75px;
    height: 75px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    transition: ease 0.3s;
    /*margin: 15px 10px 15px 10px;*/
  }
  .hc2 .hamburger{
    background-color: #262626;
  }
  .hamburger > span{
    font-size:10px;
    transform: scale(0.8);
    letter-spacing: 0;
  }
  .hamburger a,
  .hamburger a:hover,
  .hamburger a:focus {
    opacity: 1;
  }

  .menu-trigger,
  .menu-trigger span {
    display: inline-block;
    -webkit-transition: all .4s;
    transition: all .4s;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .menu-trigger {
    position: relative;
    width: 45px;
    height: 30px;
    float: right;
  }
  .menu-trigger span {
    position: absolute;
    left: 0;
    width: 80%;
    height: 2px;
    background-color:#fff;
  }
  .menu-trigger span:nth-of-type(1) {
    top: 0;
    left:0;
  }
  .menu-trigger span:nth-of-type(2) {
    top: 14px;
    right:0;
    left: auto;
  }
  .menu-trigger span:nth-of-type(3) {
    left:0;
    bottom: 0;
  }
  .active .menu-trigger {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
  .active .menu-trigger span:nth-of-type(1) {
    -webkit-transform: translateY(14px) rotate(-45deg);
    transform: translateY(14px) rotate(-45deg);
    width:100%;
  }
  .active .menu-trigger span:nth-of-type(2) {
    -webkit-transform: translateY(0) rotate(45deg);
    transform: translateY(0) rotate(45deg);
    width:100%;
  }
  .active .menu-trigger span:nth-of-type(3) {
    opacity: 0;
  }

  .overlay {
    position: fixed;
    z-index: 3;
    top: 0;
    left: 0;
    display: none;
    width: 100%;
    height: 100%;
    background-color: rgba(77, 66, 62, 0.3);
  }

  .active .overlay {
    display: block;
  }
}

.is-pc {
  display: block;
}
.is-sp {
  display: none;
}
@media only screen and (max-width: 768px) {
  .is-pc {
    display: none;
  }
  .is-sp {
    display: block;
  }
}
