/* Scss Document */
html:not(.responsive) {
  width: 100%;
  /* viewport */
}

/*=============================================
 * body
 *=============================================*/
body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
  background: #ffffff;
  color: #505050;
  font-size: 16px;
  line-height: 32px;
  text-align: left;
  letter-spacing: 0em;
  min-width: inherit;
  min-height: inherit;
  max-height: 100%;
}
@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
    line-height: 2;
  }
}

@media screen and (min-width: 1000px) {
  .ipad_sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  img {
    width: 100%;
    height: auto;
  }
}
.navOpen #pagetop {
  opacity: 0;
}

.txt-center {
  text-align: center;
}

a {
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/
.fnt-Moderustic {
  font-family: "Moderustic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
}

/* Syntax: font format */
.fr {
  float: right;
}

.fl {
  float: left;
}

.object-fit-cover,
.object-fit-cover-pc {
  position: relative;
}

.object-fit-cover img {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 100% !important;
  width: 100% !important;
}

@media screen and (min-width: 768px) {
  .object-fit-cover-pc img {
    -o-object-fit: cover;
       object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100% !important;
    width: 100% !important;
  }
}
a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

/*=============================================
 * <main>
 *=============================================*/
main {
  clear: both;
  width: 100%;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .pc_view {
    display: block;
  }
}
button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border: none;
  background: transparent;
}
@keyframes fadeInZoom {
  0% {
    transform: scale(1.1);
  }
  to {
    transform: scale(1);
  }
}
@media screen and (max-width: 767px) {
  @keyframes fadeInZoom {
    0% {
      transform: scale(1.2);
    }
    to {
      transform: scale(1);
    }
  }
}
.fadeInZoom {
  animation-name: fadeInZoom;
  animation-duration: 5.5s;
  animation-fill-mode: both;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  -webkit-animation-iteration-count: infinite;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .products-shared .item dl dt span {
    display: block;
  }
}
a[href^="tel:"] {
  text-decoration: none !important;
}

@media screen and (min-width: 768px) {
  .none_hover {
    pointer-events: none;
  }
  a[href^="tel:"] {
    pointer-events: none;
    cursor: text;
  }
  .sp {
    display: none !important;
  }
}
.fc-form [class^=error] {
  position: static;
}

.f_cl1 {
  color: #AF6D2A;
}

.f_cl2 {
  color: #EAE3DB !important;
}

.txt_r {
  text-align: right;
}

i {
  font-style: normal;
}

/*
::-webkit-scrollbar {
width:4px;


}
::-webkit-scrollbar-thumb {
background:#999	;
}
::-webkit-scrollbar * {
background:rgba(0,0,0,0);
}
*/
.d_flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}

.brk_in {
  display: inline-block;
}

.box_shadown {
  box-shadow: 1px 5px 11px 0px rgba(140, 140, 140, 0.63);
}

.img_shadown {
  box-shadow: 0px 5px 12px 3px rgba(140, 140, 140, 0.43);
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 10px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}

.animated {
  animation-duration: 1.2s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

@media (prefers-reduced-motion) {
  .animated {
    animation: unset !important;
    transition: none !important;
  }
}
.wrap {
  width: 100%;
  max-width: 994px;
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
.wrap > * {
  box-sizing: border-box;
}

.hamburger {
  color: #1A1A1A;
  position: fixed;
  box-sizing: border-box;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 0;
  right: 0;
  gap: 10px;
  width: 84px;
  height: 64px;
  z-index: 999999;
}
.hamburger span {
  height: 10px;
  width: 30px;
  position: relative;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}
.hamburger span:before, .hamburger span:after {
  content: "";
  border-top: 1px solid;
  width: 100%;
  position: absolute;
  top: 0px;
  margin: 0 auto;
  display: block;
  transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
}
.hamburger span:after {
  top: auto;
  bottom: 0;
}
.hamburger.is-active:before {
  opacity: 0;
}
.hamburger.is-active span:before {
  transform: translate3d(0px, 6px, 0) rotate(30deg);
}
.hamburger.is-active span:after {
  transform: translate3d(0, -3px, 0) rotate(-30deg);
}
@media screen and (min-width: 768px) {
  .hamburger {
    background-color: transparent !important;
    top: 36px;
  }
  .hamburger:hover {
    opacity: 0.8;
  }
  .hamburger span {
    width: 55px;
    height: 14px;
  }
  .hamburger.is-active span:before {
    transform: translate3d(0px, 9px, 0) rotate(12deg);
  }
  .hamburger.is-active span::after {
    transform: translate3d(0, -2px, 0) rotate(-12deg);
  }
  .hamburger.white span {
    color: #fff;
  }
  .hamburger.white.is-active span {
    color: #000;
  }
}

header {
  position: relative;
  padding-top: 114px;
}
header #belt {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 114px;
  background-color: #fff;
  padding: 0 22px;
  box-sizing: border-box;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1240px) {
  header #belt {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1150px) {
  header #belt {
    flex-direction: column;
    justify-content: center;
  }
}
@media screen and (max-width: 999px) {
  header #belt {
    height: 64px;
    align-items: flex-start;
  }
}
header .hd-logo {
  width: 223px;
  margin-left: 20px;
  position: relative;
  z-index: 9999999999;
}
header .hd-logo img {
  height: auto;
  width: 100%;
}
@media screen and (max-width: 1280px) {
  header .hd-logo {
    margin-left: 0;
  }
}
@media screen and (max-width: 999px) {
  header .hd-logo {
    width: 139px;
    margin: -3px 0 0px 4px;
  }
}
@media screen and (max-width: 999px) {
  header {
    padding: 64px 0 0;
  }
}
@media screen and (max-width: 767px) {
  header .wrap {
    padding: 0;
  }
}

#navigation ul {
  justify-content: flex-end;
  display: flex;
  align-items: center;
  gap: 30px;
}
#navigation ul li {
  line-height: 1;
}
#navigation ul li a {
  font-size: 16px;
  font-weight: 400;
  color: #1A1A1A;
}
#navigation ul li a:hover {
  opacity: 0.8;
}
#navigation ul li.contact {
  width: 156px;
  border-radius: 4px;
  overflow: hidden;
}
#navigation ul li.contact a {
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 80px;
  font-weight: 700;
  border-radius: 4px;
  background: url(../img/index/gd_bg.png) no-repeat center/cover;
}
@media screen and (max-width: 1230px) {
  #navigation ul {
    gap: 20px;
  }
}
@media screen and (max-width: 1150px) {
  #navigation ul {
    gap: 30px;
  }
  #navigation ul li.contact a {
    height: 60px;
  }
}
@media screen and (max-width: 999px) {
  #navigation {
    padding: 64px 20px 0px;
    background: #fff;
    width: 100%;
    box-sizing: border-box;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    overflow: auto;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease 0s;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #navigation ul {
    max-width: 265px;
    width: 90%;
    flex-direction: column;
    gap: 30px;
  }
  #navigation ul li a {
    font-size: 16px;
    text-align: center;
  }
  #navigation ul li a:hover {
    opacity: 0.8;
  }
  #navigation ul li.contact {
    width: 100%;
  }
  #navigation ul li.contact a {
    height: 64px;
    font-size: 16px;
    background: url(../img/index/fix_bg_sp.jpg) no-repeat center/100% 100%;
  }
}

@media screen and (max-width: 999px) {
  .navOpen #navigation {
    opacity: 1;
    visibility: visible;
    transition: all 0.75s ease;
  }
  .navOpen .btn-ft-fixed {
    opacity: 0;
    pointer-events: none;
  }
}
footer {
  font-size: 14px;
  color: #505050;
  padding: 40px 20px 150px;
}
@media screen and (max-width: 767px) {
  footer {
    font-size: 12px;
  }
}

section {
  position: relative;
}
section * {
  box-sizing: border-box;
}

header .fixed .fix_logo {
  opacity: 1;
  visibility: visible;
}

.btn-ft-fixed {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
}
.btn-ft-fixed a {
  display: flex;
  background: url(../img/index/fix_bg.jpg) no-repeat center/100% 100%;
  color: #fff;
  font-size: 12px;
  position: relative;
  justify-content: center;
  align-items: center;
  line-height: 60px;
  gap: 15px;
  position: relative;
  padding: 1px 26px 0px 0px;
  height: 80px;
  box-sizing: border-box;
  position: relative;
}
.btn-ft-fixed a::after {
  background: url(../img/index/arow2.svg) no-repeat center/100%;
  width: 30px;
  right: 20px;
  content: "";
  position: absolute;
  bottom: 0;
  top: 0;
  right: 20px;
}
.btn-ft-fixed a::before {
  background: url(../img/index/cta_p.png) no-repeat center 0/100%;
  width: 169px;
  height: 108px;
  content: "";
  display: inline-block;
  margin: -8px -7px 0px 0;
}
.btn-ft-fixed a span {
  font-size: 23px;
  font-weight: 700;
}
.btn-ft-fixed a:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .btn-ft-fixed a {
    background: url(../img/index/fix_bg_sp.jpg) no-repeat center/100% 100%;
    font-size: 10px;
    line-height: 21px;
    gap: 0;
    position: relative;
    padding: 3px 0px 0px 0px;
    flex-direction: column;
  }
  .btn-ft-fixed a::after {
    display: none;
  }
  .btn-ft-fixed a::before {
    width: 107px;
    height: 188px;
    margin: 0;
    position: absolute;
    top: -12px;
    left: 9px;
  }
  .btn-ft-fixed a span {
    font-size: 18px;
    display: block;
  }
}/*# sourceMappingURL=shared.css.map */