@charset "UTF-8";

html {
  background: #fff;
  overflow-x: hidden
}

body {
  font-size: 16px;
  color: #444;
  line-height: 200%;
  overflow-x: hidden;
  font-family: 'Roboto', 'Hiragino Sans', 'Meiryo', 'Hiragino Kaku Gothic ProN', sans-serif;
  background-image: linear-gradient(135deg, #fff 25%, transparent 25%), linear-gradient(225deg, #fff 25%, transparent 25%), linear-gradient(45deg, #fff 25%, transparent 25%), linear-gradient(315deg, #fff 25%, #f6f6f6 25%);
  background-position: 80px 0, 80px 0, 0 0, 0 0;
  background-size: 80px 80px;
  background-repeat: repeat;
  background-attachment: fixed
}

img {
  width: 100%
}

a {
  opacity: 1;
  transition: all .3s;
  color: #ccc
}

a:hover {
  opacity: .8;
  transition: all .3s
}

.pc_only {
  display: block
}

.sp_only {
  display: none
}

.mv {
  width: 100%;
  position: relative
}

#contents {
  width: 100%
}

#contents .contents_inner {
  width: 500px;
  margin: 0 auto;
  background: #fff;
  box-shadow: 0 0 10px #999
}

.section_inner {
  margin: 0 auto
}

.img01 {
  margin: 4vw 0
}

.btn {
  width: 90%;
  margin: 4vw auto
}

.slider_inner {
  width: 500px;
  height: 600px
}

.slider_card {
  margin: 0
}

.slider_card img {
  margin: 0 auto;
  width: 100%
}

.work p {
  font-size: .8em;
  text-align: center
}

.title {
  width: 95%;
  position: relative;
  cursor: pointer;
  font-size: 100%;
  font-weight: 700;
  padding: 8% 3%;
  transition: all .5s ease;
  text-align: center;
  background: #390;
  border-radius: 5px;
  margin: 20px auto 5px auto;
  color: #fff;
  border: 2px solid #fff;
  box-shadow: 3px 3px 0 #390
}

.title::before,
.title::after {
  position: absolute;
  content: '';
  width: 20px;
  height: 5px;
  background-color: #fff
}

.title::before {
  top: 46%;
  left: 15px;
  transform: rotate(0deg)
}

.title::after {
  top: 46%;
  left: 15px;
  transform: rotate(90deg)
}

.title.close::before {
  transform: rotate(45deg)
}

.title.close::after {
  transform: rotate(-45deg)
}

.qa {
  margin: 2em 0
}

.qa h2 {
  letter-spacing: .1em;
  padding: .5em 0;
  color: #fff;
  text-align: center;
  font-size: 130%;
  margin: 0 auto 40px auto;
  background: #390;
  text-shadow: 0 1px 0 #160
}

.qa-wrap {
  margin: 0 auto;
  width: 500px;
  display: block;
  padding: 0 1em
}

.qa-item {
  border-radius: 5px;
  border: 2px solid #ccc;
  min-height: 97px;
  padding: ;
  font-size: 80%
}

.qa-item+.qa-item {
  margin-top: 2em
}

.qa-item-inner {
  display: flex;
  position: relative
}

.ques {
  background: #eee;
  display: block;
  color: #333;
  font-weight: 700;
  padding: .5em
}

#contents .qa-item-icon img {
  width: 100%;
  margin: 0
}

#contents .qa-item-icon {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 30px;
  ;
  min-height: 20px;
  padding: .5em 0;
  flex-shrink: 0
}

.tab-container {
  display: flex;
  align-items: center;
  justify-content: space-between
}

.tab-container .tab {
  text-align: center;
  width: 50%;
  padding: .8em .8em .5em .8em;
  background: #eee;
  font-weight: 700;
  font-size: 90%;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  margin-top: .5rem
}

.tab-container .tab.active {
  background: #0d7498;
  color: #fff;
  cursor: auto;
  border: none
}

.qacontent-container {
  padding: .5em 0em;
  border: 4px solid #0d7498;
  border-radius: 0 0 5px 5px
}

.qacontent {
  display: none;
  border-radius: 0 0 5px 5px
}

.qacontent.show {
  display: block
}

.slick-prev {
  left: 1%;
  top: 106%
}

.slick-next {
  right: 1%;
  top: 106%
}

.slick-next:before {
  background: url(/assets_lp/cnt/ji-brand/06/images/next.webp) no-repeat center center;
  background-size: contain;
  animation: anime1 0.8s ease 0s infinite alternate;
  transform-origin: center
}

.slick-prev:before {
  background: url(/assets_lp/cnt/ji-brand/06/images/prev.webp) no-repeat center center;
  background-size: contain;
  animation: anime1 0.8s ease 0s infinite alternate;
  transform-origin: center
}

@keyframes anime1 {
  from {
    transform: scale(.7, .7)
  }

  to {
    transform: scale(1, 8, 1.8)
  }
}

.slick-prev,
.slick-next {
  width: 60px;
  height: 60px
}

.slick-prev:before,
.slick-next:before {
  font-size: 50px
}

.slick-arrow {
  z-index: 2
}

.slick-arrow:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1
}

#formWrap01 iframe {
  height: 1100px
}

.slider_inner_item .slick-prev {
  left: 2vw;
  top: 5vw
}

.slider_inner_item .slick-next {
  right: 2vw;
  top: 5vw
}

.slider_inner_item .slick-next:before {
  background-size: contain
}

.slider_inner_item .slick-prev:before {
  background-size: contain
}

.slider_inner_item .slick-prev,
.slider_inner_item .slick-next {
  width: 30px;
  height: 30px
}

ul.slick-dots {
  margin: 0 !important;
  margin-bottom: -20px !important;
}

.slick-dots li button:before {
  font-size: 20px !important;
  margin: 0.4vw 0
}

#formWrap01 {
  margin-top: 2rem
}

div#fix {
  display: none
}

div#fix.fixed {
  display: none;
  position: fixed;
  bottom: 0;
  width: 100%;
  box-sizing: border-box;
  background: rgba(0, 0, 0, .5);
  z-index: 100;
  max-width: none
}

div#fix img {
  width: 80%;
  float: none;
  max-width: 300px;
  margin: 4rem auto 1rem auto;
  display: block
}

div#fix.fixed img:hover {
  opacity: .9;
  transition: .5s
}

#consultation {
  margin-top: 15%
}

#consultation2 {
  margin-top: 12%
}

.fuwafuwa1 {
  animation: floating-y 1.2s ease-in-out infinite alternate-reverse
}

@keyframes floating-y {
  0% {
    transform: translateY(-10%)
  }

  100% {
    transform: translateY(10%)
  }
}

footer {
  background: #333;
  padding-bottom: 6vw;
  margin-top: 3vw
}

footer .footer_inner {
  font-size: 80%;
  color: #ccc;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3vw 0
}

footer .footer_inner img {
  width: 146px
}

footer .copy {
  margin: 0 auto;
  border-top: 1px dotted #666;
  font-size: 80%;
  text-align: center;
  color: #888;
  padding: 1vw 0
}

footer .footer_inner {
  width: 90%
}

footer .footer_inner p {
  font-size: 80%
}

footer .footer_inner img {
  width: 50px
}

footer .copy {
  width: 100%;
  font-size: 80%;
  padding: 3vw 0
}

.slick-num {
  position: absolute;
  top: .5rem;
  right: .5rem;
  background-color: rgba(0, 0, 0, .8);
  color: #fff;
  border-radius: 20px;
  padding: 0 1rem
}

@media (max-width:750px) {
  .pc_only {
    display: none
  }

  .sp_only {
    display: block
  }

  #formWrap01 iframe {
    height: 1050px
  }

  #contents .contents_inner {
    width: 350px;
    background: #fff;
  }

  .work {
    width: 100%
  }

  .slider_inner {
    width:350px;
    height: 430px;
    margin: 0 auto;
  }

  .slick-prev,
  .slick-next {
    width: 50px;
    height: 50px
  }

  .btn {
    margin: 10vw auto
  }

  .slider_inner_item { position: relative; }

  .slider_inner_item .slick-prev {
    left: 2vw;
    top: 55%
  }

  .slider_inner_item .slick-next {
    right: 2vw;
    top: 55%
  }

  .slider_inner_item .slick-prev,
  .slider_inner_item .slick-next {
    width: 30px;
    height: 30px
  }

  .slider_inner_item .slick-next:before {
    background-size: contain
  }

  .slider_inner_item .slick-prev:before {
    background-size: contain
  }

  ul.slick-dots {
    margin: 0 !important;
    margin-bottom: -10px !important;
  }

  .slick-dots li button:before {
    font-size: 20px !important;
    margin: .3vw 0;
  }

  #consultation {
    margin-top: 3.8rem
  }

  #consultation2 {
    margin-top: 2.8rem
  }
}