@charset "Shift_JIS";

/*
// common.css

// common style
// .mv(main-visual)
// .anchor-links
// .problem
// .about
// .background
// .features
// .functions
// .case-study
// .service-functions
// .price
// .news
// .related-info
// .contact
// .sidemenu

// sp style
// .scrollable-image--sp
// .slide-list--sp
// .accordion--sp
*/


/*
// common style
*/

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap');

:root {
--color-red: #e50027;
--color-gray: #3e3a39;
}

.sp{
  display: none;
}

.tablet{
  display: none;
}

.main{
  background: #fff;
  color: var(--color-gray);
  font-feature-settings: 'palt';
  font-family: "Helvetica Neue", "Helvetica", 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
  letter-spacing: 0.065em;
  padding: 0 0 65px;
}

.main *{
  box-sizing: border-box;
}

.main a{
  text-decoration: none;
}

.main a img:hover{
  filter:brightness(1.05);
}

.main h3{
  color: var(--color-gray);
}

.contents-sidemenu--wrap{
  align-items: flex-start;
  display: flex;
  margin: auto;
  min-width: 320px;
  position: relative;
  width: 1340px;
}

.contents{
  border-right: 1px solid #b1b1b1;
  width: 77%;
}

.section{
  margin: auto;
  padding: 50px 0 65px;
  width: 88%;
}

.section--wide{
  padding: 50px 0 60px;
  width: 100%;
}

.section--margin-bottom-0{
  padding: 50px 0 0;
}

.section__description{
  font-size: 20px;
  margin: 0 auto 85px;
  text-align: center;
}

.section__image--wrap{
  margin: auto;
  width: 100%;
}

.section__heading{
  background: none;
  font-size: 24px;
  line-height: 1.5;
  margin: 0 auto 30px;
  min-width: 238px;
  padding: 0 0.2em 0.2em;
  position: relative;
  text-align: center;
  width:fit-content;
}

.section__heading:after{
  background: linear-gradient(90deg, var(--color-red) 62px, var(--color-gray) 62px);
  bottom: 0;
  content: '';
  height: 2px;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 238px;
}

.section__list--wrap{
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.section__list{
  width: 100%;
}

.section__list--2col--pc{
  margin: 0 0 55px !important;
  width: calc(50% - 15px) !important;
}

.section__list img{
  margin: 0 0 15px;
  width: 100%;
}

.section__list__heading{
  border-left: 2px solid var(--color-red);
  font-size:18px;
  font-weight: bold;
  line-height: 1.35;
  margin: 0 0 0.5em;
  padding: 0 0 0 0.5em;
}

.section__list__heading a{
  background-image:none !important;
}

.section__list__description{
  font-size: 15px;
  margin: 0.5em 0 1em;
}

.section__list__footnote{
  font-size:13px;
}

.section__list__link--wrap{
  margin: 25px 0 0;
}

.section__list__link--wrap a{
  color: var(--color-gray);
  display: block;
  font-size: 15px;
  line-height: 1.5;
  margin: 0 0 0.3em;
  width: fit-content;
}

.section__list__link--wrap a:hover{
  color: #b1000e;
	text-decoration: underline;
}

.section__list__link--wrap a:after{
  background: url(../images/common/arrow--section__list__link.svg) no-repeat center center/100% auto;
  content: '';
  display: inline-block;
  height: 9px;
  margin: 0 0.8em 0 0.1em;
  width: 7px;
}


  
/*
// .slide-list--sp{}
*/

.slide-list--sp .swiper-pagination{
  display: none;
}

.slide-list--sp .swiper-button-prev,
.slide-list--sp .swiper-button-next{
  display: none;
}



/*
// .mv(main-visual)
*/

.mv{
  height: 520px;
  position: relative;
  overflow: hidden;
  width: 100%;
}

.mv__image{
  height: 520px;
  left:50%;
  position: absolute;
  top:50%;
  transform: translate(-50%,-50%);
  width: 1920px;
}

.mv__contents{
  margin: auto;
  padding: 120px 190px 0 0;
  position: relative;
  width: 1030px;
  z-index: 2;
}

.mv__contents__heading{
  background: none;
  color:#000;
  font-size: 50px;
  font-weight: bold;
  margin: 0 0 0.2em;
  line-height: 1.35;
  padding: 0;
  position: relative;
  width: fit-content;
}

.mv__contents__heading:after{
  background: #000;
  bottom: 0;
  content: '';
  height: 1px;
  left:0;
  position: absolute;
  width: 100%;
}

.mv__contents__copy{
  color:#000;
  font-size:21px;
  font-weight: 500;
  line-height: 1.65;
}



/*
// .anchor-links
*/

.anchor-links{
  background: #f0f0f0;
  width: 100%;
}

.anchor-links--inner{
  margin: auto;
  max-width: 1280px;
  padding: 1.4em 1em;
}

.anchor-links a{
  align-items: center;
  color: #000;
  display: inline-flex;
  font-size: 16px;
  line-height: 1.2;
  margin: 0.5em 1.5em 0.5em 0;
}

.anchor-links a:last-child{
  margin: 0.5em 0;
}

.anchor-links a:hover{
  text-decoration: underline;
}

.anchor-links a:after{
  background: url("../images/common/arrow--anchor-links.svg") no-repeat center center/100% auto;
  content:'';
  display: inline-block;
  height: 5px;
  margin: 0 0 0 0.2em;
  width: 13px;
}



/*
// .problem
*/

.problem__heading{
  margin: 0 auto 40px;
}

.problem__list{
  display: flex;
  justify-content: space-between;
  margin: 0 0 40px;
  max-width: 878px;
}

.problem__list:last-child{
  margin: 0;
}

.problem__list__title{
  align-items: center;
  background: #f0f0f0;
  display: flex;
  flex-shrink: 0;
  height: max-content;
  margin: 0 60px 0 0;
  padding: 10px;
  position: relative;
  width: 266px;
}

.problem__list__title:after{
  border-bottom:24px solid transparent;
  border-left:18px solid var(--color-red);
  border-right:18px solid transparent;
  border-top:24px solid transparent;
  content:'';
  position: absolute;
  right: -60px;
  top:50%;
  transform: translateY(-50%);
}

.problem__list__title__image{
  margin: 0 10px 0 0;
  width: 50px;
}

.problem__list__title__desctiption{
  font-size:15px;
  line-height: 1.5;
}

.problem__list__suggestion{
  box-sizing: content-box;
  padding: 0 0 0 80px;
  max-width: 465px;
  position: relative;
}

.problem__list__suggestion__image{
  left: 0px;
  position: absolute;
  top: 0;
  width: 68px;
}

.problem__list__suggestion__icon{
  align-items: center;
  background: var(--color-red);
  color:#fff;
  display: flex;
  font-size: 13px;
  font-weight: 500;
  height: 18px;
  justify-content: center;
  margin: 0 0 0.65em;
  text-align: center;
  width: 86px;
}

.problem__list__suggestion__heading{
  border-left: 2px solid var(--color-red);
  font-size: 18px;
  font-weight: bold;
  padding: 0 0 0 0.5em;
  margin: 0 0 0.4em;
}

.problem__list__suggestion__description{
  font-size: 15px;
  flex-shrink: 1;
  text-align: justify;
}

@media screen and (min-width:768px) and (max-width:1023px){
  .problem__list{
    display: block;
  }
  
  .problem__list__title{
    margin: 0 auto 60px;
  }
  
  .problem__list__title:after{
    bottom: -60px;
    border-bottom:18px solid transparent;
    border-left:18px solid transparent;
    border-right:18px solid transparent;
    border-top:18px solid var(--color-red);
    content:'';
    position: absolute;
    right: 50%;
    top:auto;
    transform: translateX(50%);
  }
  
  .problem__list__suggestion{
    margin: auto;
  }
}



/*
// .about
*/

.about__heading{
  margin: 0 auto 20px;
}

.about__contents__heading{
  font-size: 18px;
  font-weight: 500;
  margin: 0 auto 0.5em;
  max-width: 750px;
}

.about__contents__description{
  font-size: 18px;
  margin: 0 auto 40px;
  text-align: justify;
  max-width: 750px;
}

.about__image--wrap{
  margin: 0 0 25px;
}

.about__image{
  width: 100%;
}

.about__link--wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content:space-between;
  width: 100%;
}

.about__link{
  align-items: center;
  background: url("../images/common/arrow--btn-link.svg") #f0f0f0 no-repeat center right 20px/7px auto;
  color: var(--color-gray) !important;
  display: flex;
  margin: 0 0 15px;
  padding: 15px 35px 15px 15px;
  width: 275px;
}

@media screen and (min-width:768px) and (max-width:1279px){
  .about__link--wrap{
    display: block;
    margin: auto;
    max-width:320px;
  }
  .about__link{
    width: 100%;
  }
}

.about__link__icon{
  height: 70px;
  margin: 0 10px 0 0;
  width: 70px;
}

.about__link__text__title{
  font-size:18px;
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 0.2em;
}

.about__link__text__description{
  font-size:12px;
  line-height: 1.2;
}

.about__contents__sub-heading{
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.1em;
  margin: 0 0 20px;
  text-align: center;
}

.about__contents__movie--wrap{
  align-items: flex-start;
  display: flex;
  justify-content: space-between;
  margin: auto;
  width: 750px;
}

.about__contents__movie{
  width: 358px;
}

.about__contents__movie > a,
.about__contents__movie > a img{
  width: 100%;
}

.about__contents__movie-description{
  font-size: 17px;
  line-height: 1.65;
  text-align: justify;
  width: 358px;
}



/*
// .background
*/

.background__heading{
  margin: 0 auto 20px;
}

.background__contents__image{
  display: block;
  margin: 0 auto 20px;
  width: 440px;
}

.background__description{
  font-size: 18px;
  margin: 0 auto 20px;
  max-width: 750px;
  text-align: justify;
}

.background__image--wrap{
  margin: 40px auto 20px;
}

.background__image{
  width: 100%;
}



/*
// .features
*/

.features__heading{
  margin: 0 auto 40px;
}

.features__description{
  font-size: 18px;
  margin: 0 auto 20px;
  max-width: 750px;
  text-align: justify;
}

.features__item--wrap{
  margin: auto;
  max-width: 778px;
}

.features__item-icon--pc{
  margin:0 0 15px;
  width: 298px;
}

.features__item{
  margin: 0 0 40px 140px;
}

.features__item__title{
  position: relative;
}

.features__item__title__icon{
  background: #efefef;
  border-radius: 50%;
  height: 100px;
  left:-132px;
  position: absolute;
  top:0;
  width: 100px;
}

.features__item__title__heading{
  border-left: 2px solid var(--color-red);
  font-size: 18px;
  font-weight: bold;
  padding: 0.65em 0 0.65em 0.4em;
}

.features__item__detail{
  font-size:15px;
}

.features__item__detail__link{
  align-items: center;
  background: url("../images/common/arrow--btn-link.svg") #f0f0f0 no-repeat center right 18px/ 7px auto;
  color:var(--color-gray) !important;
  display: flex;
  overflow: hidden;
  height: 60px;
  line-height: 1.35;
  margin: 10px 0;
  padding: 0 2.5em 0 20px;
  position: relative;
  max-width: 448px;
}

.features__item__detail__link--tokumei:before{
  background: var(--color-red);
  content:'';
  height: 20px;
  left: -10px;
  position: absolute;
  top: -10px;
  transform: rotate(45deg);
  width: 20px;
}

.features__item__detail__link__icon{
  margin: 0 8px 0 0;
  width: 35px;
}

.features__image--wrap{
  margin: 40px auto 50px;
}

.features__image{
  width: 100%;
}

.features__image-footnote{
  font-size:12px;
}



/*
// .functions
*/

.functions__heading{
  margin: 0 auto 20px;
}

.functions__list--wrap{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
}

.functions__list{
  margin: 0 0 1em;
  width: 200px;
}

/*追加 akiba*/
.functions__list_2cl{
  margin: 0  0 10px 0;
  width: 48%;
}

.functions__list_2cl dt{
  margin: 0  0 10px 0;
}

.functions__list_2cl_gray{
  background: #e3e3e3;
  border-radius: 18px;
  font-size:21px;
 margin: 0  0 10px 0;
}
/*追加ここまで*/



.functions__list dt{
  align-items: center;
  background: #e3e3e3;
  border-radius: 18px;
  display: flex;
  font-size:21px;
  height: 36px;
  justify-content: center;
  margin: 0 0 0.5em;
  width: 200px;
}

.functions__list dd{
  font-size:16px;
  line-height: 1.85;
}

/*追加 akiba*/
.functions__list_2cl dd{
    line-height: 1.85;
}
/*追加ここまで akiba*/
/*
// .case-study
*/

.case-study__heading{
  margin: 0 auto 40px;
}

.case-study__item--wrap{
  margin: 0 auto 40px;
  max-width: 778px;
}

.case-study__item{
  margin: 0 0 40px 140px;
}

.case-study__item__title{
  position: relative;
}

.case-study__item__title__icon{
  background: #efefef;
  border-radius: 50%;
  height: 100px;
  left:-132px;
  position: absolute;
  top:0;
  width: 100px;
}

.case-study__item__title__heading{
  border-left: 2px solid var(--color-red);
  font-size: 18px;
  font-weight: bold;
  padding: 0.65em 0 0.65em 0.4em;
}

.case-study__item__description{
  font-size:15px;
}

.case-study__image--wrap{
  margin: 0 0 40px;
}

.case-study__image{
  width: 100%;
}

.case-study__description{
  font-size:16px;
  margin: 0 auto 20px;
  max-width: 750px;
}

.case-study__link{
  align-items: center;
  background: url("../images/common/arrow--btn-link.svg") #f0f0f0 no-repeat center right 18px/ 7px auto;
  display: flex;
  overflow: hidden;
  height: 60px;
  line-height: 1.35;
  margin: auto;
  padding: 0 2.5em 0 20px;
  position: relative;
  width: 510px;
}

.case-study__link:before{
  background: var(--color-red);
  content:'';
  height: 20px;
  left: -10px;
  position: absolute;
  top: -10px;
  transform: rotate(45deg);
  width: 20px;
}

.case-study__link__icon{
  margin: 0 8px 0 0;
  width: 35px;
}

.case-study__link__text{
  color:var(--color-gray) !important;
}


/*
// .service-functions
*/

.service-functions__heading{
  margin: 0 auto 20px;
}

.service-functions__accordion--sp{
  margin: 0 auto 20px;
}

.service-functions__accordion__title--sp{
  display: none;
}

.service-functions__list__description{
  font-size:18px;
  margin: 0 auto 40px;
  max-width: 750px;
  text-align: center;
}

.service-functions__list__title--pc{
  background: #e4e4e4;
  display: flex;
  font-size:21px;
  height: 48px;
  overflow: hidden;
  width: 100%;
}

.service-functions__list__title--pc dt{
  align-items: center;
  background: var(--color-red);
  border-right: 5px solid #fff;
  color:#fff;
  display: flex;
  height: 48px;
  justify-content: center;
  transform: skewX(-25deg) translateX(-20px);
  width: 270px;
}

.service-functions__list__title--pc dt span{
  transform: skewX(25deg);
}

.service-functions__list__title--pc dd{
  align-items: center;
  display: flex;
  height: 48px;
  justify-content: center;
  width: calc(100% - 270px);
}

.service-functions__list{
  display: flex;
  border-bottom: 1px solid #808080;
  padding: 1em 0;
}

.service-functions__list dt{
  font-size:18px;
  font-weight: 500;
  width: 270px;
}

.service-functions__list dd{
  font-size:16px;
  width: calc(100% - 270px);
}

.service-functions__list dd ul li{
  margin:0 0 0 1em;
  text-indent: -1em;
}

.service-functions__image--wrap{
  margin: 40px 0 20px;
}

.service-functions__image{
  width: 100%;
}


/*
// .price
*/

.price__heading{
  margin: 0 auto 20px;
}

.price__item{
  margin: auto;
  width: fit-content;
}

.pirce__item__detail{
  font-size:16px;
}

.price__item__footnote{
  font-size:12px;
}



/*
// .news
*/

.news__heading{
  margin: 0 auto 25px;
}

.news__list--wrap{
  max-height: 200px;
  overflow-y: auto;
  padding: 0 20px 0 0;
  width: 100%;
}

.news__list{
  align-items: flex-start;
  border-top: 1px solid #666;
  display: flex;
  font-size: 14px;
  padding: 1em 1em 1em 0;
}

.news__list:last-child{
  border-bottom: 1px solid #666;
}

.news__list__info{
  display: flex;
  margin: 0 3% 0 0;
  width: 33%;
}

.news__list__info__date{
  display: block;
  margin: 0;
  width: 140px;
}

.news__list__info__icon{
  align-items: center;
  border: 1px solid #666;
  display: flex;
  height: 24px;
  justify-content: center;
  text-align: center; 
  width: 140px;
}

.news__list__title{
  line-height: 1.5em;
  margin: 0.15em 0;
  width: 64%;
}

.news__list__title a{
  color: var(--color-gray);
  text-decoration: underline;
}

.news__list__title a:hover{
  color: #b1000e;
}

.news__list__title a:after{
  background: url(../images/common/arrow--link--red.svg) no-repeat center center/100% auto;
  content:'';
  display: inline-block;
  height: 0.65em;
  margin: 0 0 0 0.4em;
  width: 0.5em;
}

.scrollable-item--wrap--vertical{
  overflow-y: auto;
  scrollbar-width: thin; /* scrollbar for firefox */
  scrollbar-color: var(--color-red) #e4e4e4; /* scrollbar for firefox */
}

.scrollable-item--wrap--vertical::-webkit-scrollbar{
  width: 6px;
}

.scrollable-item--wrap--vertical::-webkit-scrollbar-track{
  background: #e4e4e4;
  border-radius: 3px;
  width: 6px;
}

.scrollable-item--wrap--vertical::-webkit-scrollbar-thumb{
  background: var(--color-red);
  border-radius: 3px;
}



/*
// .related-info
*/

.related-info__heading{
  margin: 0 auto 20px;
}

.related-info__link--wrap{
  width: 100%;
}

.related-info__link{
  align-items: center;
  background: url("../images/common/arrow--related-info__link.svg") no-repeat center right 18px / 7px auto;
  border:1px solid #666666;
  color:var(--color-gray) !important;
  display: flex;
  height: 60px;
  line-height: 1.2;
  margin: 0 0 15px;
  padding: 0 45px 0 1.5em;
  width: 100%;
}

.related-info__link--pdf{
  background: url("../images/common/icon--related-info__link--pdf.svg") no-repeat center right 18px/ 18px auto;
}



/*
// .contact
*/

.contact{
  padding: 50px 0 0 !important;
}

.contact__description{
  font-size: 20px;
  line-height: 1.5;
  margin: 0 0 0.5em;
  text-align: center;
}

.contact__link{
  align-items: center;
  background: url(../images/common/arrow--contact__link.svg) var(--color-red) no-repeat center right 30px/13px auto;
  border-radius: 45px;
  color: #fff !important;
  display: flex;
  font-size: 36px;
  font-weight: bold;
  height: 90px;
  justify-content: center;
  margin: auto;
  max-width: 496px;
}

.contact__link:hover{
  filter:brightness(1.05);
}



/*
// .sidemenu
*/

.sidemenu{
  padding-left: 2.2%;
  padding-right: 2.2%;
  width: 23%;
}

.sidemenu--inner{
  padding-top: 40px;
  position: sticky;
  top: 0;
}

.sidemenu__contact{
  margin: 0 0 15px;
}

.sidemenu--contact__link{
  align-items: center;
  background: url(../images/common/arrow--contact__link.svg) var(--color-red) no-repeat center right 16px/ 7px auto;
  border-radius: 25px;
  color: #fff !important;
  display: flex;
  font-size: 20px;
  font-weight: 500;
  height: 50px;
  justify-content: center;
  width: 100%;
}

.sidemenu--contact__link:hover{
  filter:brightness(1.05);
}

.sidemenu__search-form--wrap{
  margin: 0 0 40px;
}

.sidemenu__search-form__input{
  border: 1px solid #666;
  border-radius: 25px;
  background: url(../images/common/icon--sidemenu__search-form__input.svg) #fff no-repeat center right 18px/22px auto;
  display: block;
  font-size:16px;
  font-weight: 500;
  height: 50px;
  margin: 0 0 20px;
  padding: 0 50px 0 30px;
  width: 100%;
}

.sidemenu__search-form__submit{
  display: none;
}

.sidemenu__more-search-link{
  color: var(--color-gray) !important;
  display: block;
  font-size: 14px;
  font-weight: 500;
  text-align: center;
  line-height: 1.35;
}

.sidemenu__more-search-link:hover{
  text-decoration: underline;
}

.sidemenu__more-search-link:after{
  background: url(../images/common/arrow--sidemenu__more-search-link.svg) no-repeat center center/100% auto;
  content: '';
  display: inline-block;
  height: 12px;
  margin: 0 0 0 0.3em;
  width: 8px;
}

.sidemenu__related-links{
  color: #4d4d4d;
  font-size: 14px;
  font-weight: 500;
}

.sidemenu__related-links__title{
  color: #4d4d4d;
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 0.3em;
  text-align: center;
}

.sidemenu__related-links__list{
  width: 100%;
}

.sidemenu__related-links__list a{
  align-items: center;
  background: url(../images/common/arrow__sidemenu__related-links__list.svg) #fff no-repeat center right 16px/6px auto;
  border:1px solid #666;
  border-top: none;
  color: #666;
  display: flex;
  font-size: 16px;
  font-weight: bold;
  min-height: 50px;
  line-height: 1.35;
  padding: 0.5em 35px 0.5em 1em;
  width: 100%;
}

.sidemenu__related-links__list a:hover{
  background-color:#fbfbfb; 
}

.sidemenu__related-links__list a:first-child{
  border-top:1px solid #666;
}

/*******************************

// 追加 style

*******************************/
.section__qa dd{
  font-size:16px;
  margin: 0 auto 20px;
  max-width: 770px;
}

.section__qa dt{
  align-items: center;
/*background: url("../images/common/arrow--related-info__link.svg") no-repeat center right 18px / 7px auto;
*/border:1px solid #666666;
  color:var(--color-gray) !important;
  display: flex;
  height: 60px;
  line-height: 1.2;
  margin: 0 0 15px;
  padding: 0 45px 0 1.5em;
  width: 100%;
}

/*******************************

// sp style

*******************************/

@media screen and (max-width:767px){
  
  /*
  // common style
  */
  
  .sp{
    display: block !important;
  }
  
  .tablet{
    display: none;
  }
  
  .pc{
    display: none;
  }

  .contents-sidemenu--wrap{
    display: block;
    padding: 0 0 30px;
    width: 100%;
  }

  .contents{
    border-right: none;
    width: 100%;
  }

  .section{
    margin-left: auto;
    margin-right: auto;
    padding: 50px 0;
    width: 92%;
  }

  .section--wide{
    padding: 50px 0 60px;
    width: 100%;
  }
  
  .section--wide--sp{
    padding: 50px 0 60px;
    width:100%;
  }

  .section--margin-bottom-0{
    padding: 50px 0 0;
  }

  .section__description{
    font-size: 14px;
    margin: 0 auto 40px;
    text-align: center;
  }

  .section__image--wrap{
    margin: auto;
    width: 100%;
  }
  
  
  
  /*
  // .scrollable-image--sp
  */
  
  .scrollable-image--sp{
    border: 1px solid #666666;
    border-radius: 20px;
    padding: 25px 0 25px 20px;
  }
  
  .scrollable-image--inner--sp{
    overflow-x: auto;
    scrollbar-width: thin; /* scrollbar for firefox */
    scrollbar-color: var(--color-red) #e4e4e4; /* scrollbar for firefox */
  }

  .scrollable-image--inner--sp::-webkit-scrollbar{
    background: #e4e4e4;
    height: 6px;
    width: 100%;
  }

  .scrollable-image--inner--sp::-webkit-scrollbar-track{
    background: #e4e4e4;
    border-radius: 3px;
    height: 6px;
    width: 100%;
  }

  .scrollable-image--inner--sp::-webkit-scrollbar-thumb{
    background: var(--color-red);
    border-radius: 3px;
  }
  
  .scrollable-image--inner--sp img{
    box-sizing: content-box;
    display: block;
    padding: 0 20px 0 0;
    margin: 0 auto 20px;
  }

  .section__heading{
    font-size: 20px;
    line-height: 1.5;
    margin: 0 auto 25px !important;
    min-width: 198px;
    padding: 0 0.2em 0.2em;
  }

  .section__heading:after{
    background: linear-gradient(90deg, var(--color-red) 62px, var(--color-gray) 52px);
    height: 2px;
  }
  
  .section__list--wrap{
    flex-wrap: nowrap;
  }

  .section__list{
    width: 78%;
  }

  .section__list--2col--pc{
    margin: auto;
    width: 100% !important;
  }

  .section__list img{
    background: #f0f0f0;
    margin: 0 0 15px;
    padding: 25px 5% 45px;
    width: 100%;
  }

  .section__list__heading{
    border-left: 2px solid var(--color-red);
    font-size: 21px;
    font-weight: bold;
    line-height: 1.35;
    margin: 0 5% 0.5em;
    padding: 0 0 0 0.5em;
  }

  .section__list__description{
    font-size: 14px;
    margin: 0.5em 5% 1em;
  }
  
  .section__list__footnote{
    font-size:10px;
  }

  .section__list__link--wrap{
    margin: 25px 5% 0;
  }

  .section__list__link--wrap a{
    color: var(--color-gray);
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 0.3em;
  }

  .section__list__link--wrap a:after{
    background: url(../images/common/arrow--section__list__link.svg) no-repeat center center/100% auto;
    content: '';
    display: inline-block;
    height: 9px;
    margin: 0 0.8em 0 0.1em;
    width: 7px;
  }
  
  
  
  /*
  // .slide-list--sp{}
  */
  
  .slide-list--sp .swiper-pagination{
    display: block;
    height: 30px;
  }
  
  .slide-list--sp .swiper-pagination-bullet-active{
    background: var(--color-red) !important;
  }

  .slide-list--sp .swiper-button-prev,
  .slide-list--sp .swiper-button-next{
    display: block;
    height: fit-content;
    width: 5.6%;
  }
  
  .slide-list--sp .swiper-button-prev img,
  .slide-list--sp .swiper-button-next img{
    width: 100%;
  }

  .slide-list--sp .swiper-button-prev{
    left: 3%;
  }

  .slide-list--sp .swiper-button-next{
    right: 3%;
  }

  .slide-list--sp .swiper-button-prev:after,
  .slide-list--sp .swiper-button-next:after{
    content:none;
  }

  
  
  /*
  // .mv
  */
  
  .mv{
    height: 326px;
    width: 100%;
  }

  .mv__image{
    height: max-content;
    width: max-content;
  }

  .mv__contents{
    padding: 45px 0 0 0;
    width: 100%;
  }

  .mv__contents__heading{
    font-size: 30px;
    margin: 0 auto 0.2em !important;
    padding: 0 0 0.2em;
    text-align: center;
  }

  .mv__contents__copy{
    font-size:14px;
    text-align: center;
  }
  
  
  
  /*
  // .anchor-links
  */
  
  .anchor-links{
    background: none;
  }

  .anchor-links--inner{
    display: flex;
    flex-wrap: wrap;
    max-width: auto;
    padding: 0;
    width: 100%;
  }

  .anchor-links a{
    background: #eeeeee;
    border-bottom: 1px solid #fff;
    height: 45px;
    margin: 0;
    font-size: 13.5px;
    padding: 0 2.5em 0 1em;
    position: relative;
    width: 50%;
  }
  
  .anchor-links a:last-child{
    margin: 0;
  }
  
  .anchor-links a:nth-child(even):before{
    background: #fff;
    content:'';
    height: 30px;
    left:0;
    position: absolute;
    top:50%;
    transform: translateY(-50%);
    width: 1px;
  }

  .anchor-links a:after{
    height: 4px;
    margin: 0;
    position: absolute;
    right: 14px;
    top:50%;
    transform: translateY(-50%);
    width: 11px;
  }



  /*
  // .accordion--sp
  */
  .accordion--sp > dd{
    display: none;
  }
  
  .accordion--sp > dt:before,
  .accordion--sp > dt:after{
    border:none;
    background: #666666;
    height: 1px;
    content:'';
    position: absolute;
    right: 13px;
    top:50%;
    transform: translateY(0);
    transition: .2s;
    width: 15px;
  }
  
  .accordion--sp > dt:before{
    transform: translateY(0) rotate(90deg);
  }
  
  .accordion--sp > dt.active:before{
    transform: translateY(0) rotate(0deg);
  }
  
  
  
  /*
  // .problem
  */

  .problem__heading{
    margin: 0 auto 25px;
  }
  .problem__list--wrap{}
  .problem__list{
    display: block;
    margin: 0 auto 30px;
    max-width: auto;
    width: 95.35%;
  }
  
  .problem__list:last-child{
    margin: 0 auto;
  }

  .problem__list__title{
    background: #efefef;
    border:1px solid #c9c9c9;
    line-height: 1.5;
    margin: 0;
    max-width: 100%;
    min-height: 75px;
    min-width: auto;
    padding: 0.5em 2.2em 0.5em 1em;
    position: relative;
    width: 100%;
  }
  
  .problem__list__title__image{
    margin: -16px 1em 0 0;
    width: 42px;
  }

  .problem__list__title__desctiption{
    font-size:14px;
    line-height: 1.35;
  }

  .problem__list__suggestion{
    border:1px solid #c9c9c9;
    border-top: none;
    box-sizing: border-box;
    padding: 18px 1em;
    max-width: 100%;
  }
  
  .problem__list__suggestion--inner{
    align-items: flex-start;
    display: flex;
    margin: 0 0 10px;
  }

  .problem__list__suggestion__image{
    margin: 0 8px 0 0;
    position: static;
    width: 58px;
  }

  .problem__list__suggestion__icon{
    font-size: 14px;
    height: 19px;
    margin: 0 0 0.65em;
    width: 92px;
  }

  .problem__list__suggestion__heading{
    border-left: 2px solid var(--color-red);
    font-size: 15px;
    padding: 0.1em 0 0.1em 0.35em;
    margin: 0 0 0.4em;
  }

  .problem__list__suggestion__description{
    font-size: 14px;
  }
  
  
  
  /*
  // .about
  */
  
  .about__heading{
    margin: 0 auto 25px;
  }

  .about__contents__heading{
    font-size: 18px;
    margin: 0 auto 0.5em;
    width: 95.35%;
  }

  .about__contents__description{
    font-size: 14px;
    margin: 0 auto 30px;
    width: 95.35%;
  }

  .about__image--wrap{
    margin: 0 0 30px;
  }

  .about__image{
    width: 613px;
  }

  .about__link--wrap{
    display: block;
    margin: auto;
    width: 95.35%;
  }

  .about__link{
    align-items: center;
    background: url("../images/common/arrow--btn-link.svg") #f0f0f0 no-repeat center right 16px/5px auto;
    height: 80px;
    margin: 0 0 6px;
    padding: 5px 35px 5px 5px;
    width: 100%;
  }

  .about__link__icon{
    height: 45px;
    margin: 0 10px 0 0;
    width: 45px;
  }

  .about__link__text__title{
    font-size:15px;
  }

  .about__link__text__description{
    font-size:13px;
  }
  
  .about__contents__sub-heading{
    font-size: 15px;
    margin: 0 0 15px;
  }

  .about__contents__movie--wrap{
    display: block;
    width: 95.35%;
  }

  .about__contents__movie{
    margin: 0 0 15px;
    width: 100%;
  }

  .about__contents__movie-description{
    font-size: 14px;
    width: 100%;
  }
  
  
  
  /*
  // .background
  */

  .background__heading{
    margin: 0 auto 20px;
  }
  
  .background__contents__image{
    margin: 0 auto 25px;
    width: 95.35%;
  }

  .background__description{
    margin: 0 auto 25px;
    font-size: 14px;
    width: 95.35%;
  }
  
  .background__image--wrap{
    margin: 25px auto;
  }

  .background__image{
    width: 915px;
  }


  
  /*
  // .features
  */

  .features__heading{
    margin: 0 auto 25px;
  }
  
  .features__description{
    margin: 0 auto 25px;
    font-size: 14px;
    width: 95.35%;
  }

  .features__item--wrap{
    margin: auto;
    max-width: 95.35%;
  }

  .features__item-icon--pc{
    display: none;
  }

  .features__item{
    margin: 0 auto 25px;
  }
  
  .features__item__title{
    align-items: center;
    background: #efefef;
    border:1px solid #c9c9c9;
    display: flex;
    height: 75px;
    line-height: 1.5;
    margin: 0;
    padding: 0.5em 3em 0.5em 1em;
    position: relative;
    max-width: 100%;
    min-width: auto;
    width: 100%;
  }

  .features__item__title__icon{
    background: #fff;
    height: 36px;
    left:0;
    margin: 0 8px 0 0;
    position: static;
    top:0;
    width: 36px;
  }

  .features__item__title__heading{
    align-items: center;
    border-left: 2px solid var(--color-red);
    display: flex;
    font-size: 14px;
    height: 48px;
    margin: 0;
    padding: 0 0 0 0.65em;
  }

  .features__item__detail{
    border:1px solid #c9c9c9;
    border-top: none;
    font-size: 14px;
    padding: 1em;
    max-width: 100%;
  }

  .features__item__detail__link{
    align-items: center;
    background: url("../images/common/arrow--btn-link.svg") #f0f0f0 no-repeat center right 13px/ 5px auto;
    font-size: 13px;
    height: 45px;
    justify-content: center;
    padding: 0 2em 0 15px;
    width: 100%;
  }

  .features__item__detail__link--tokumei:before{
    background: var(--color-red);
    content:'';
    height: 20px;
    justify-content: flex-start;
    left: -10px;
    position: absolute;
    top: -10px;
    transform: rotate(45deg);
    width: 20px;
  }

  .features__item__detail__link__icon{
    margin: 0 8px 0 0;
    width: 25px;
  }
  
  .features__image--wrap{
    margin: 25px auto;
  }
  
  .features__image-footnote{
    font-size:10px;
  }

  
  
  /*
  // .functions
  */

  .functions__heading{
    margin: 0 auto 25px;
  }

  .functions__list--wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: auto;
    width: 93.25%;
  }

  .functions__list{
    margin: 0 0 1em;
    width: 150px;
  }
  
  
    /*追加 akiba*/
.functions__list_2cl{
  margin: 0  0 10px 0;
  width: 98%;
}


 .functions__list_2cl>.section__list__heading{
    margin: 0.5em 0 5% 0;
/*    padding: 0 0 0 0.5em;*/
  }

  .functions__list dt{
    border-radius: 13px;
    font-size: 15px;
    height: 26px;
    margin: 0 0 0.5em;
    width: 150px;
  }
  
  

  .functions__list dd{
    font-size:13px;
    line-height: 1.85;
  }

  

  /*
  // .case-study
  */

  .case-study__heading{
    margin: 0 auto 25px;
  }

  .case-study__item--wrap{
    margin: 0 auto 40px;
    max-width: 95.35%;
  }

  .case-study__item{
    margin: 0 0 40px;
  }
  
  .case-study__item__title{
    align-items: center;
    background: #efefef;
    border:1px solid #c9c9c9;
    display: flex;
    height: 75px;
    line-height: 1.5;
    margin: 0;
    padding: 0.5em 3em 0.5em 1em;
    position: relative;
    max-width: 100%;
    min-width: auto;
    width: 100%;
  }

  .case-study__item__title__icon{
    background: #fff;
    border-radius: 50%;
    height: 36px;
    left:0;
    margin: 0 8px 0 0;
    position: static;
    top:0;
    width: 36px;
  }

  .case-study__item__title__heading{
    align-items: center;
    border-left: 2px solid var(--color-red);
    display: flex;
    font-size: 14px;
    font-weight: bold;
    height: 48px;
    margin: 0;
    padding: 0 0 0 0.65em;
  }
    
  .case-study__item__description{
    border:1px solid #c9c9c9;
    border-top: none;
    font-size: 14px;
    padding: 1em;
    max-width: 100%;
  }

  .case-study__image--wrap{
    margin: 0 0 25px;
  }

  .case-study__description{
    font-size: 14px;
    margin: 0 auto 20px;
    max-width: 750px;
  }

  .case-study__link{
    background: url("../images/common/arrow--btn-link.svg") #f0f0f0 no-repeat center right 13px/ 5px auto;
    font-size: 13px;
    height: 60px;
    margin: auto;
    padding: 0 2em 0 15px;
    width: 88.25%;
  }

  .case-study__link:before{
    background: var(--color-red);
    content:'';
    height: 20px;
    left: -10px;
    position: absolute;
    top: -10px;
    transform: rotate(45deg);
    width: 20px;
  }

  .case-study__link__icon{
    margin: 0 8px 0 0;
    width: 35px;
  }

  .case-study__link__text{
    color:var(--color-gray) !important;
  }
  
  
    
  /*
  // .service-functions
  */

  .service-functions__heading{
    margin: 0 auto 25px;
  }

  .service-functions__accordion--sp{
    margin: 0 auto 20px;
    max-width: 95.35%;
  }
  
  .service-functions__accordion__title--sp{
    align-items: center;
    background: #efefef;
    border:1px solid #c9c9c9;
    display: flex;
    font-size: 13px;
    height: 45px;
    padding: 0 3em 0 1em;
    position: relative;
    width: 100%;
  }

  .service-functions__list--wrap{
    border:1px solid #c9c9c9;
    border-top: none;
    font-size: 14px;
    padding: 20px 8px;
    max-width: 100%;
  }

  .service-functions__list__description{
    font-size: 14px;
    margin: 0 0 10px;
    width: 100%;
  }

  .service-functions__list__title--pc{
    display: none;
  }

  .service-functions__list{
    display: block;
    border-bottom: 1px solid #808080;
    padding: 1em 0;
  }

  .service-functions__list dt{
    color:#fff;
    font-size: 14px;
    margin: 0 0 10px;
    overflow: hidden;
    width: 160px;
  }
  
  .service-functions__list dt > span{
    align-items: center;
    background: var(--color-red);
    display: flex;
    height: 24px;
    padding: 0 0 0 18px;
    transform: skewX(-25deg) translateX(-6px);
    width: 100%;
  }
  
  .service-functions__list dt > span > span{
    transform: skewX(25deg);
  }

  .service-functions__list dd{
    font-size:14px;
    width: 100%;
  }
  
  .service-functions__image--wrap{
    margin: 25px 0;
  }
  
  .service-functions__image{
    width:1144px;
  }

  

  /*
  // .price
  */

  .price__heading{
    margin: 0 auto 25px;
  }

  .price__item{
    width: 95.35%;
  }

  .pirce__item__detail{
    font-size:14px;
  }

  .price__item__footnote{
    font-size:10px;
  }


  
  /*
  // .news
  */

  .news__heading{
    margin: 0 auto 25px;
  }

  .news__list--wrap{
    max-height: 260px;
    overflow-y: auto;
    padding: 0 20px 0 0;
    width: 100%;
  }

  .news__list{
    border-top: 1px solid #666;
    display: block;
    font-size: 12px;
    padding: 1em 1em 1em 0;
  }

  .news__list:last-child{
    border-bottom: 1px solid #666;
  }

  .news__list__info{
    margin: 0 0 0.5em;
    width: 100%;
  }

  .news__list__info__date{
    display: inline-block;
    width: 125px;
  }

  .news__list__info__icon{
    border: 1px solid #666;
    display: inline-flex;
    height: 18px;
    text-align: center; 
    width: 125px;
  }

  .news__list__title{
    line-height: 1.5em;
    width: 100%;
  }

  .news__list__title a{
    color: var(--color-gray);
  }

  .scrollable-item--wrap--vertical{
    scrollbar-width: thin; /* scrollbar for firefox */
    scrollbar-color: var(--color-red) #e4e4e4; /* scrollbar for firefox */
  }

  .scrollable-item--wrap--vertical::-webkit-scrollbar{
    background: #e4e4e4;
    width: 4px;
  }

  .scrollable-item--wrap--vertical::-webkit-scrollbar-track{
    background: #e4e4e4;
    border-radius: 2px;
    width: 4px;
  }

  .scrollable-item--wrap--vertical::-webkit-scrollbar-thumb{
    background: var(--color-red);
    border-radius: 2px;
  }
  
  
  
  /*
  // .related-info
  */
  
  .related-info__heading{
    margin: 0 auto 25px;
  }
  
  .related-info__link--wrap{
    margin: auto;
    width: 94.63%;
  }

  .related-info__link{
    background: url("../images/common/arrow--related-info__link.svg") no-repeat center right 13px / 5px auto;
    font-size: 13px;
    height: auto;
    margin: 0 0 5px;
    min-height: 68px;
    padding: 0.5em 2.5em 0.5em 1.5em;
    width: 100%;
  }

  .related-info__link--pdf{
    background: url("../images/common/icon--related-info__link--pdf.svg") no-repeat center right 13px/ 15px auto;
  }

  

  /*
  // .contact
  */

  .contact{
    padding: 0;
  }
  .contact__description{
    font-size: 14px;
    line-height: 1.5;
    margin: 0 0 0.5em;
  }

  .contact__link{
    background:
      url(../images/common/arrow--contact__link.svg) var(--color-red) no-repeat center right 21px/8px auto;
    border-radius: 34px;
    font-size: 24px;
    height: 68px;
    width: 327px;
  }


  
  /*
  // .sidemenu
  */

  .sidemenu{
    margin: 32px 0 25px;
    padding-left:0;
    padding-right:0;
    width:100%;
  }
  
  .sidemenu--inner{
    padding-top: 0;
    position: static;
  }

  .sidemenu__contact{
    display: none;
  }

  .sidemenu--contact__link{
    align-items: center;
    background: url(../images/common/arrow--contact__link.svg) var(--color-red) no-repeat center right 16px/ 7px auto;
    border-radius: 25px;
    color: #fff !important;
    display: flex;
    font-size: 20px;
    font-weight: 500;
    height: 50px;
    justify-content: center;
    width: 100%;
  }

  .sidemenu__search-form--wrap{
    background: #f0f0f0;
    margin: 0 0 2em;
    padding: 1.5em 0 1em;
  }

  .sidemenu__search-form__input{
    border-radius: 22px;
    background: url(../images/common/icon--sidemenu__search-form__input.svg) #fff no-repeat center right 14px/17px auto;
    font-size:16px;
    height: 44px;
    margin: 0 auto 8px;
    padding: 0 41px 0 37px;
    width: 327px;
  }

  .sidemenu__more-search-link{
    font-size: 14px;
  }

  .sidemenu__more-search-link:after{
    height: 10px;
    margin: 0 0 0 0.3em;
    width: 6px;
  }

  .sidemenu__related-links{
    background: #f0f0f0;
    font-size: 14px;
    padding: 1em 0 2em;
  }

  .sidemenu__related-links__title{
    font-size: 12px;
    margin: 0 0 0.3em;
  }

  .sidemenu__related-links__list{
    margin: auto;
    width: 327px;
  }

  .sidemenu__related-links__list a{
    background: url(../images/common/arrow__sidemenu__related-links__list.svg) #fff no-repeat center right 20px/6px auto;
    font-size: 12px;
    height: 38px;
    padding: 0 30px 0 18px;
    width: 100%;
  }

  .sidemenu__related-links__list a:first-child{
    border-top:1px solid #666;
  }
}



@media screen and (min-width:768px) and (max-width:1399px){
  .contents-sidemenu--wrap{
    width: 100%;
  }

  .section{
    margin: auto;
    padding: 50px 0 65px;
  }
  
  .section__image--wrap img{
    width: 100%;
  }
  
  
  
  /*
  // .mv
  */
  
  .mv{
    padding: 0 4.4%;
  }
  
  .news__list{
    display: block;
  }
  
  .news__list__info{
    margin: 0 0 0.5em;
    width: 100%;
  }
  
  .news__list__title{
    width: 100%;
  }
  
  
  
  /*
  // sidemenu
  */

  .sidemenu--contact__link{
    background: url(../images/common/arrow--contact__link.svg) var(--color-red) no-repeat center right 10% / 0.45em auto;
    font-size: 14px;
  }

  .sidemenu__search-form--wrap{
    margin: 0 0 40px;
  }

  .sidemenu__search-form__input{
    background: url(../images/common/icon--sidemenu__search-form__input.svg) #fff no-repeat center right 6%/1em auto;
    font-size: 13px;
    padding: 0 15% 0 6%;
  }
  
  .sidemenu__more-search-link{
    font-size:13px;
  }

  .sidemenu__more-search-link:after{
    background: url(../images/common/arrow--sidemenu__more-search-link.svg) no-repeat center center/100% auto;
    content: '';
    display: inline-block;
    height: 0.8em;
    margin: 0 0 0 0.3em;
    width: 4%;
  }

  .sidemenu__related-links__title{
    font-size: 13px;
  }

  .sidemenu__related-links__list a{
    background: url(../images/common/arrow__sidemenu__related-links__list.svg) #fff no-repeat center right 6%/0.4em auto;
    font-size: 12px;
    padding: 0 2em 0 1em;
  }
}

@media screen and (min-width:768px) and (max-width:1024px){
  .tablet{
    display: block;
  }
}