@charset "UTF-8";
/* ------------------------------------------------------------
   top.css
------------------------------------------------------------ */
/*
* mainimg
* estimate
* items
* schne
* design
* service
* ranking
* works
* newstopics
*
*/
/* header
------------------------------------------------------------ */
.title {
  font-size: 5.2rem;
  line-height: 5.2rem;
  text-align: center;
  color: #e90f32;
  margin-bottom: 30px;
}

.title .jp {
  font-size: 2.0rem;
  font-weight: bold;
  color: #4b4b4b;
  line-height: 2.0rem;
  margin-top: 10px;
}

.innar {
  max-width: 1040px;
  margin: auto;
  width: 95%;
}

.lick {
  position: relative;
  overflow: hidden;
  margin: 5% 0;
  padding: 80px 0;
}

.lick::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 120%;
  height: 60%;
  margin: 12% -10% 0;
  background: #f2f2f2;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(-3.7deg);
  -ms-transform: rotate(-3.7deg);
  transform: rotate(-3.7deg);
  z-index: -1;
}

.lick .lick_inner {
  box-sizing: boder-box;
  width: 100%;
  max-width: 640px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  color: #fff;
  text-align: center;
}

/* tab */
.tabs {
  overflow: hidden;
}

.tabs ul {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 20px;
  justify-content: center;
}

.tabs ul li {
  border: solid 1px #e90f32;
  cursor: pointer;
  font-size: 1.4rem;
  font-weight: bold;
  margin: 0.4% 0.3%;
  padding: 15px;
  text-align: center;
  transition: transform .2s;
  width: 23.2%;
  height: 75px;
  position: relative;
  line-height: 1.8;
}

.tabs ul li p {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-right: -50%;
  transform: translate(-50%, -50%);
  min-width: 100px;
  max-width: 220px;
  padding: 0 8px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.tabs ul li.select {
  background: #e90f32;
  color: #fff;
  position: relative;
  transform: scale(1.2);
  overflow: inherit;
  max-height: 72px;
}

.tabs ul li.select::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 10px 0 10px;
  border-color: #e90f33 transparent transparent transparent;
  right: 0;
  left: 0;
  bottom: -8px;
  margin: auto;
}

.contents .hide {
  display: none;
}

.more__btn {
  max-width: 350px;
  margin: 65px auto 0;
}

.more__btn a {
  color: #e90f32;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
  display: block;
  padding: 15px 40px;
  position: relative;
  border: solid 3px #e90f32;
  background: #fff;
}

.more__btn a::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 7px;
  border-color: transparent transparent transparent #e90f33;
  margin: auto;
  top: 0;
  bottom: 0;
  left: 15px;
}

.more__btn a:hover {
  background: #e90f32;
  color: #fff;
}

.more__btn a:hover::before {
  border-color: transparent transparent transparent #fff;
}

/* mainimg
------------------------------------------------------------ */
.mainimg .slider-nav {
  margin: 1% 0 4%;
}

.mainimg a {
  display: block;
  margin: 0 1%;
  transition: all 0.4s ease-in-out;
}

.mainimg a:hover {
  opacity: 0.7;
}

.mainimg img {
  width: 100%;
}

.top-slider {
  display: block;
  max-width: 1200px;
  margin: 0 auto;
}

.top-slider ul, .top-slider li {
  margin: 0;
  padding: 0;
}

.top-slider .slide {
  position: relative;
}

.top-slider .slide .slide-text {
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  text-align: center;
}

.top-slider .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.top-slider .slick-dots {
  bottom: 1rem;
}

.top-slider .slick-dots li {
  width: 5rem;
}

.top-slider .slick-dots li button {
  width: 4rem;
}

.top-slider .slick-dots li button::before {
  background-color: #fff;
  border-width: 0;
  border-radius: 0;
  transition-property: background-color;
  transition-duration: 0.5s;
  width: 4rem;
  height: 0.3rem;
}

.top-slider .slick-dots li.slick-active button::before {
  background-color: #000;;
}

/* estimate
------------------------------------------------------------ */
.estimate {
  margin-bottom: 90px;
}

.estimate .estimate__box {
  background: #f2f2f2;
  padding: 3%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.estimate .titimg {
  width: 48%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.estimate .tit {
  width: 47%;
  max-width: 480px;
  margin: auto;
  text-align: center;
}

.estimate .tit .soccer {
  font-size: calc(30vw / 15);
  line-height: calc(30vw / 15);
  color: #e90f32;
}

.estimate .tit img {
  width: 90%;
}

.estimate .tit .titimg_sp {
  display: none;
}

.estimate .tit .titimg_sp img {
  width: 100%;
}

.estimate .img {
  width: 48%;
  max-width: 500px;
  margin: auto;
}

.estimate .img #estimate_img {
  position: relative;
}

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

.estimate .img #estimate_img .estimate_product {
  position: static;
  z-index: 1;
  background-color: #fff;
}

.estimate .img #estimate_img .estimate_printcolor {
  position: absolute;
  top: 36%;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 2;
}

.estimate .calc {
  width: 48%;
}

.estimate .calc .calc__block {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 15px;
  font-size: 1.4rem;
}

.estimate .calc .calc__block .calc__tit {
  width: 27%;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.5rem;
}

.estimate .calc .calc__block .calc__form {
  width: 73%;
}

.estimate .calc .calc__block .calc__form select {
  width: 100%;
  height: 2em;
  line-height: 2em;
  font-size: 1.6rem;
  background: #fff;
  border: none !important;
}

.estimate .calc .calc__block .calc__form #esimate__calc__num {
  font-size: 1.7rem;
  text-align: right;
  box-shadow: none;
  border: solid 3px #e5e5e5;
/*  height: 3.3rem;*/
  line-height: 3em;
  max-width: 104px;
}

.estimate .calc .calc__block.calc__block__color select {
  width: 30%;
  margin-right: 3%;
}

.estimate .calc .calc__block.calc__block__color p {
  font-size: 1.3rem;
}

.estimate .calc .calc__block.calc__block__color p a {
  color: #e90f32;
}

.estimate .calc .calc__block__total {
  font-size: 1.8rem;
  font-weight: bold;
}

.estimate .calc .calc__block__total .calc__total__num {
  text-align: center;
}

.estimate .calc .calc__block__total .calc__total__num > div {
  font-weight: bold;
  font-size: 3rem;
  margin-left: 2%;
  display: inline-block;
}

.estimate .calc .calc__block__total #calc__one {
  width: 30%;
  margin-right: 3%;
}

.estimate .calc .calc__block__total #calc__total {
  width: 40%;
}

.estimate .calc .calc__block__total .point {
  max-width: 300px;
  margin: auto;
  margin-top: 20px;
}

.estimate .calc .calc__block__total .point img {
  width: 100%;
}

.estimate .more__btn {
  margin-top: 30px;
}

/* items
------------------------------------------------------------ */
.items {
  margin: 5% 0;
}

.items .list__items {
  display: flex;
}

.items li {
  width: 14%;
  margin: 0 0.5%;
}

.items a {
  display: block;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
  color: #4b4b4b;
}

.items a:hover {
  opacity: 0.6;
}

.items img {
  width: 100%;
}

.items .text {
  font-size: calc(20vw / 20);
  text-align: center;
}

/* schne
------------------------------------------------------------ */
.schne .list__photo {
  display: flex;
  align-items: center;
}

.schne li {
  width: 24%;
  margin: 1%;
}

.schne a {
  display: block;
  position: relative;
  font-size: 1.6rem;
  text-align: center;
  transition: all 0.4s ease-in-out;
  color: #fff;
}

.schne a:hover {
  opacity: 0.8;
}

.schne img {
  width: 100%;
}

.schne .text {
  position: absolute;
  background: rgba(233, 15, 50, 0.8);
  padding: 10px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: auto;
}

/* design
------------------------------------------------------------ */
.design {
  background: url(../../images/common/design__bg.jpg) no-repeat center bottom/cover;
}

.design .innar {
  padding: 90px 0;
}

.design .simulator__btn {
  max-width: 550px;
  margin: auto;
}

.design a {
  display: block;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
  padding: 30px 0;
  position: relative;
  z-index: 2;
}

.design a:hover {
  opacity: 0.8;
}

.design a::after {
  position: absolute;
  content: "";
  background: #e90f32;
  transform: skewX(-15deg);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  z-index: -1;
}

.design .simulator__btn__tit {
  font-size: 3.2rem;
  line-height: 3.2rem;
}

.design .simulator__btn__subtit {
  font-size: 1.8rem;
  line-height: 1.8rem;
  margin-top: 18px;
}

/* service
------------------------------------------------------------ */
.services {
  margin: 100px auto;
}

.services a {
  display: block;
  margin: 0 5%;
  transition: all 0.4s ease-in-out;
}

.services a:hover {
  opacity: 0.8;
}

.services img {
  width: 100%;
}

.services ul, .services li {
  margin: 0;
  padding: 0;
}

.services .slick-prev {
  left: 10vw;
}

.services .slick-prev::before {
  background-image: url(../../images/common/service__arrow_l.gif);
}

.services .slick-next {
  right: 10vw;
}

@media screen and (min-width: 1200px) {
  .services .slick-prev {
    left: 120px;
  }

  .services .slick-next {
    right: 120px;
  }
}

.services .slick-next::before {
  background-image: url(../../images/common/service__arrow_r.gif);
}

.services .slick-dots li button::before {
  background-color: #fff;
  border-color: #000;
  transition-property: background-color;
  transition-duration: 0.5s;
}

.services .slick-dots li.slick-active button::before {
  background-color: #000;;
}

/* ranking
------------------------------------------------------------ */
.ranking .contents .content__box .ranking__list {
  display: flex;
  align-items: top;
}

.ranking .contents .content__box li {
  width: 23%;
  margin: 2%;
  border: solid 2px #e5e5ef;
}

.ranking .contents .content__box li:first-child {
  margin-left: 0;
}

.ranking .contents .content__box li:last-child {
  margin-right: 0;
}

.ranking .contents .content__box .num {
  text-align: center;
  font-size: 1.4rem;
  font-weight: bold;
  position: relative;
  padding-left: 35px;
}

.ranking .contents .content__box .num::before {
  content: "";
  background: url(../../images/common/ico__ranking.png) no-repeat 0 0/24px auto;
  width: 24px;
  height: 24px;
  position: absolute;
  left: -35px;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
}

.ranking .contents .content__box .num .sp {
  display: none;
}

.ranking .contents .content__box p {
  font-size: 1.5rem;
}

.ranking .contents .content__box .box {
  padding: 5% 1%;
}

.ranking .contents .content__box .box .image {
  width: 90%;
  margin: auto;
  position: relative;
}

.ranking .contents .content__box .box .image .image__ranking {
  position: absolute;
  right: -15%;
  top: -18%;
  width: 35%;
  height: auto;
}

.ranking .contents .content__box .box img {
  width: 100%;
}

.ranking .contents .content__box .box .catch {
  color: #fff;
  background: #9e9e9e;
  font-size: 1.4rem;
  text-align: center;
  margin-top: 10px;
}

.ranking .contents .content__box .box p {
  margin: 20px 2% 15px;
}

.ranking .contents .content__box .box .number {
  font-size: 1.4rem;
  color: #6d6d6d;
  margin: 1% 2%;
}

.ranking .contents .content__box .box .variation {
  font-size: 1.4rem;
  color: #6d6d6d;
  margin: 1% 2%;
}

.ranking .contents .content__box .box .price {
  font-size: 1.9rem;
  font-weight: bold;
  text-align: right;
  color: #4b4b4b;
  margin-right: 10px;
  margin-top: 35px;
}

.ranking .contents .content__box .box span {
  color: #ff002a;
  font-size: 2.6rem;
}

/* works
------------------------------------------------------------ */
.works.lick::before {
  height: 70%;
}

.works .list__photo {
  display: flex;
  align-items: flex-start;
}

.works .list__photo li {
  width: 23%;
  margin: 2%;
}

.works .list__photo a {
  display: block;
  color: #4b4b4b;
  text-decoration: none;
  transition: all 0.4s ease-in-out;
}

.works .list__photo a:hover {
  color: #e90f32;
}

.works .list__photo a:hover img {
  -webkit-transform: scale(1.2);
  -moz-transform: scale(1.2);
  -o-transform: scale(1.2);
  -ms-transform: scale(1.2);
  transform: scale(1.2);
}

.works .list__photo .image {
  border-radius: 3000px;
  overflow: hidden;
}

.works .list__photo img {
  height: 130px;
  width: 100%;
  -moz-transition: -moz-transform 0.4s linear;
  -webkit-transition: -webkit-transform 0.4s linear;
  -o-transition: -o-transform 0.4s linear;
  -ms-transition: -ms-transform 0.4s linear;
  transition: transform 0.4s linear;
  object-fit: cover;
  object-position: top;
}

.works .list__photo .text {
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  margin-top: 20px;
}

/* newstopics
------------------------------------------------------------ */
.topics {
  margin-bottom: 80px;
}

.topics .tabs ul li {
  height: 60px;
  width: 31.1%;
}

.topics .content__box ul {
  height: 230px;
  overflow-y: scroll;
  margin: 20px 0;
}

.topics .content__box li {
  display: flex;
  justify-content: space-around;
  align-items: center;
  font-size: 1.4rem;
  margin-bottom: 30px;
}

.topics .content__box .date {
  width: 12%;
}

.topics .content__box .category {
  border: solid 1px #c8102e;
  text-align: center;
  color: #c8102e;
  width: 15%;
  padding: 3px 0;
  margin: 0 2%;
}

.topics .content__box a {
  width: 70%;
  font-size: 1.4rem;
  color: #000;
}

.topics .content__box a:hover {
  text-decoration: none;
}

.topics .more__btn {
  margin-top: 30px;
}

.sp {
  display: none;
}

@media screen and (min-width: 1090px) {
    /* ▼PC用================================================================== */
    /* topslide
------------------------------------------------------------ */
    .sp-topslide {
        display: none;
    }

    /* ▲PC用================================================================== */
}

@media screen and (min-width: 1090px) and (max-width: 1300px) {
  /* ▼PC用================================================================== */
  /* ▲PC用================================================================== */
}

@media screen and (min-width: 768px) and (max-width: 1089px) {
  /* ▼Tab用================================================================= */
  /* topslide
------------------------------------------------------------ */
  .sp-topslide {
      display: none;
  }
  /* estimate
------------------------------------------------------------ */
  .estimate .titimg {
    display: block;
  }
  .estimate .tit {
    width: auto;
  }
  .estimate .tit .titimg_pc {
    display: none;
  }
  .estimate .tit .titimg_sp {
    display: block;
    margin: 0 auto 20px;
  }
  .estimate .img {
    width: auto;
  }
  .estimate .calc .calc__block {
    display: block;
    margin-bottom: 20px;
  }
  .estimate .calc .calc__block .calc__tit {
    width: auto;
    font-size: calc(100vw / 60);
    margin-bottom: 10px;
  }
  .estimate .calc .calc__block .calc__tit br {
    display: none;
  }
  .estimate .calc .calc__block .calc__form {
    width: auto;
  }
  .estimate .calc .calc__block.calc__block__total .point span {
    font-size: calc(100vw / 50);
  }
  /* items
------------------------------------------------------------ */
  .items .list__items {
    flex-wrap: wrap;
  }
  .items li {
    width: 24%;
    margin: 0 0.5% 1%;
  }
  .items .text {
    font-size: 1.4rem;
  }
  /* design
------------------------------------------------------------ */
  .design .innar {
    padding: 60px 0;
  }
  .design .simulator__btn {
    max-width: 400px;
  }
  .design a {
    padding: 25px 0;
  }
  .design .simulator__btn__tit {
    font-size: 2.6rem;
    line-height: 2.6rem;
  }
  .design .simulator__btn__subtit {
    font-size: 1.5rem;
    line-height: 1.5rem;
    margin-top: 15px;
  }
  /* ▲Tab用================================================================= */
}

@media screen and (min-width: 0px) and (max-width: 767px) {
  /* ▼SP用================================================================ */
  .sp {
    display: block;
  }
  .title {
    font-size: calc(100vw / 14);
    line-height: calc(100vw / 14);
  }
  .title .jp {
    font-size: 1.6rem;
    line-height: 1.6rem;
  }
  /* topslide
------------------------------------------------------------ */
  .pc-topslide {
      display: none;
  }
  /* estimate
------------------------------------------------------------ */
  .estimate {
    margin-top: 50px;
  }
  .estimate .estimate__box {
    display: block;
    padding: 5%;
  }
  .estimate .titimg {
    display: block;
    width: 100%;
    margin-bottom: 30px;
  }
  .estimate .tit {
    margin: auto;
    margin-bottom: 20px;
    display: block;
    width: 80%;
  }
  .estimate .tit .titimg_pc {
    display: none;
  }
  .estimate .tit .titimg_sp {
    display: block;
    margin: 0 auto 20px;
    width: 100%;
  }
  .estimate .tit .titimg_sp img {
    width: 100%;
    height: auto;
  }
  .estimate .img {
    width: 80%;
    margin: auto;
  }
  .estimate .calc {
    width: auto;
  }
  .estimate .calc .calc__block {
    display: block;
    margin-bottom: 20px;
  }
  .estimate .calc .calc__block .calc__tit {
    width: auto;
    font-size: 1.3rem;
    margin-bottom: 10px;
  }
  .estimate .calc .calc__block .calc__tit br {
    display: none;
  }
  .estimate .calc .calc__block .calc__form {
    width: auto;
  }
  .estimate .calc .calc__block.calc__block__total .point span {
    font-size: calc(100vw / 31);
  }
  .estimate .more__btn {
    width: 65%;
    margin-top: 20px;
  }
  .estimate .more__btn a {
    padding: 15px 30px;
  }
  /* items
------------------------------------------------------------ */
  .items {
    margin-top: 10%;
  }
  .items .list__items {
    flex-wrap: wrap;
  }
  .items li {
    width: 24%;
    margin: 0 0.5% 1%;
  }
  .items .layer_contents {
    margin-top: 20px;
  }
  .items .text {
    font-size: 10px;
  }
  .items .layer_contents .button__important a {
    font-size: 1.4rem;
  }
  /* schne
------------------------------------------------------------ */
  .schne .list__photo {
    flex-wrap: wrap;
  }
  .schne li {
    width: 48%;
    margin: 1%;
  }
  .schne a {
    font-size: 1.4rem;
  }
  /* design
------------------------------------------------------------ */
  .design .innar {
    padding: 40px 0;
  }
  .design .simulator__btn {
    width: 80%;
    margin: auto;
  }
  .design a {
    padding: 20px 0;
  }
  .design .simulator__btn__tit {
    font-size: 2.0rem;
    line-height: 2.0rem;
  }
  .design .simulator__btn__subtit {
    font-size: 1.3rem;
    line-height: 1.3rem;
    margin-top: 10px;
  }
  /* service
------------------------------------------------------------ */
  .services {
    margin: 40px auto;
  }
  .services a {
    margin: 0 2%;
  }
  /* ranking
------------------------------------------------------------ */
  .tabs ul li {
    width: 49.2%
  }
  .tabs ul li.select {
    transform: none;
  }
  .ranking .contents .content__box .ranking__list {
    display: block;
  }
  .ranking .contents .content__box li {
    width: auto;
    margin: 10px 0;
  }
  .ranking .contents .content__box li:first-child {
    margin-left: 0;
  }
  .ranking .contents .content__box li:last-child {
    margin-right: 0;
  }
  .ranking .contents .content__box .num {
    text-align: left;
    font-size: 1.6rem;
    padding-left: -24px;
    margin: 0;
  }
  .ranking .contents .content__box .num::before {
    left: 0px;
    top: 4px;
    right: inherit;
  }
  .ranking .contents .content__box .num .pc {
    display: none;
  }
  .ranking .contents .content__box .num .sp {
    display: block;
  }
  .ranking .contents .content__box p {
    font-size: 1.4rem;
  }
  .ranking .contents .content__box .box {
    padding: 2%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .ranking .contents .content__box .box .image {
    width: 30%;
    margin: 0;
  }
  .ranking .contents .content__box .box .image .image__ranking {
    width: 50%;
  }
  .ranking .contents .content__box .box .sp_right {
    width: 65%;
  }
  .ranking .contents .content__box .box .catch {
    color: #fff;
    font-size: 1.3rem;
    line-height: 1.3rem;
    padding: 5px;
    text-align: left;
    margin-top: 0;
  }
  .ranking .contents .content__box .box p {
    margin: 2% 0;
    line-height: 1.3rem;
  }
  .ranking .contents .content__box .box .variation {
    font-size: 1.2rem;
    line-height: 1.2rem;
    color: #6d6d6d;
    margin: 2% 0 0;
  }
  .ranking .contents .content__box .box .price {
    font-size: 1.6rem;
    margin: 1% 0 0;
  }
  .ranking .contents .content__box .box span {
    color: #ff002a;
    font-size: 2.6rem;
  }
  /* works
------------------------------------------------------------ */
  .works .list__photo {
    flex-wrap: wrap;
  }
  .works .list__photo li {
    width: 46%;
    margin-bottom: 2%;
  }
  .works .list__photo .text {
    font-size: 1.4rem;
    margin-top: 10px;
  }
  .works .more__btn {
    width: 70%;
  }
  /* newstopics
------------------------------------------------------------ */
  .topics {
    margin-bottom: 80px;
  }
  .topics .tabs ul li {
    font-size: 1.2rem;
    height: 45px;
    padding: 10px;
  }
  .topics .content__box li {
    justify-content: start;
    flex-wrap: wrap;
    font-size: 1.4rem;
  }
  .topics .content__box .date {
    width: 30%;
  }
  .topics .content__box .category {
    width: 40%;
    margin: 0;
    margin-left: 5%;
  }
  .topics .content__box a {
    width: auto;
    font-size: 1.4rem;
    margin-top: 2%;
  }
  .topics .more__btn {
    width: 70%;
  }
  /* ▲SP用================================================================ */
}
