@charset "utf-8";

/* ==================================================
  MV
================================================== */
.mv{
  color: #fff;
  background: var(--bk);
}

.mv__wrapper{
  display: grid;
  grid-template-columns: 1fr 1.16fr;
  align-items: center;
  gap: clamp(10px, calc(20 / var(--vw-1600) * 100vw), 20px) clamp(20px, calc(40 / var(--vw-1600) * 100vw), 40px);
  padding: clamp(32px, calc(48 / var(--vw-1600) * 100vw), 48px) 0;
}

.mv__heading{
  font-size: clamp(24px, calc(28 / var(--vw-1600) * 100vw), 28px);
  line-height: 1.2;
  margin-bottom: clamp(10px, calc(28 / var(--vw-1600) * 100vw), 28px);
}

.mv__text p + p{
  margin-top: 1em;
}

.mv__os{
  margin-top: clamp(16px, calc(46 / var(--vw-1920) * 100vw), 46px);
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.mv__os .icon{
  font-size: clamp(24px, calc(26 / var(--vw-1600) * 100vw), 26px);
  margin-right: clamp(6px, calc(8 / var(--vw-1600) * 100vw), 8px);
}

.mv .link-btn__wrapper{
  margin-top: clamp(12px, calc(20 / var(--vw-1600) * 100vw), 20px);
}

.mv__video{
  border-radius: var(--bd-radius);
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.mv__video video{
  object-fit: cover;
  aspect-ratio: 16 / 9;
  height: 100%;
}

@media screen and (min-width: 821px) and (max-width: 1023px){
  .mv__wrapper{
    grid-template-columns: 1.1fr 1fr;
  }

  .mv__video{
    aspect-ratio: 3 / 2;
  }

  .mv__video video{
    aspect-ratio: 3 / 2;
  }
}

@media screen and (max-width: 820px){
  .mv__wrapper{
    grid-template-columns: 1fr;
    row-gap: clamp(16px, calc(24 / var(--vw-820) * 100vw), 24px);
    padding: 0 0 clamp(24px, calc(32 / var(--vw-820) * 100vw), 32px);
  }

  .mv__video{
    order: 1;
    margin-inline: calc(clamp(15px, calc(24 / var(--vw-820) * 100vw), 24px) * -1);
    border-radius: unset;
    aspect-ratio: 16 / 9;
  }

  .mv__left{
    order: 2;
  }

  .mv__os{
    justify-content: center;
    text-align: center;
  }
}


/* ==================================================
  お知らせ
================================================== */
.news-list{
  display: table;
  width: 100%;
}
.news-list__item{
  display: table-row;
  background: var(--bg-color);
  transition: all .3s ease-in-out;
}

.news-list__item > * {
  display: table-cell;
  vertical-align: middle;
  padding: clamp(12px, calc(16 / 1390 * 100vw), 16px) 0;
  border-top: solid 1px var(--bd-color);
  transform-origin: left top;
  transition: transform .3s ease-in-out;
}

.news-list__item:first-of-type > *{
  border-top: none;
}

.news-list__item time{
  color: var(--gray);
  width: 5em;
  padding-left: clamp(16px, calc(34 / var(--vw-1600) * 100vw), 34px);
}

.news-list__item .cat{
  font-size: clamp(14px, calc(15 / var(--vw-1120) * 100vw), 15px);
  text-align: center;
  white-space: nowrap;
  width: 5em;
}

.news-list__item .cat .icon{
  display: block;
  width: 100%;
  padding: 0.05em clamp(8px, calc(10 / var(--vw-1600) * 100vw), 10px);
  border-radius: var(--bd-radius);
  color: #fff;
  background: #5a5a5a;
}

.news-list__item .cat .icon--red{
  background: var(--red);
}

.news-list__item .cat .icon--blue{
  background: var(--blue);
}

.news-list__item .news-list__text{
  position: relative;
  padding-left: clamp(16px, calc(34 / var(--vw-1600) * 100vw), 34px);
  font-weight: 700;
}

@media screen and (max-width: 550px){
  .news-list{
    display: block;
  }

  .news-list__item{
    display: grid;
    grid-template-columns: min-content min-content auto;
    padding: 0.75em 0;
    gap: 0.4em 1.25em;
  }

  .news-list__item > *{
    display: block;
    border-top: unset;
    padding: 0;
  }

  .news-list__item:first-of-type > *{
    border-top: unset;
  }

  .news-list__item + .news-list__item{
    border-top: solid 1px var(--bd-color);
  }

  .news-list__item time{
    width: auto;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    padding-right: 0;
  }

  .news-list__item .cat{
    width: auto;
    grid-column: 2 / 3;
    grid-row: 1 / 2;
  }

  .news-list__item .cat span{
    min-width: 6.5em;
  }

  .news-list__item .news-list__text{
    grid-column: 1 / 4;
    grid-row: 2 / 3;
    padding: 0;
  }
}

@media (hover: hover){
  .news-list__item[href]:hover {
    transform: translateX(5px);
  }
}

@media (hover: none){
  .news-list__item[href]:active {
    transform: translateX(5px);
  }
}

/* ==================================================
  だれでもカンタン3D施工動画！
================================================== */
.intro-movie__wrapper{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(20px, calc(40 / var(--vw-1600) * 100vw), 40px);
  align-items: center;
}

.intro-movie__movie .video{
  border: solid 1px var(--bd-color);
  border-radius: var(--bd-radius);
}

.intro-movie__movie-caption{
  margin-top: 8px;
}

.intro-movie__movie-caption::before{
  content: '▲';
  margin-right: 0.25em;
}

@media screen and (max-width: 820px){
  .intro-movie__movie-caption{
    margin-top: 10px;
    text-align: center;
  }
}

@media screen and (max-width: 550px){
  .intro-movie__wrapper{
    grid-template-columns: 1fr;
  }
}


/* ==================================================
  製品の特徴
================================================== */
.features__item{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: clamp(20px, calc(40 / var(--vw-1600) * 100vw), 40px);
}

.features__item + .features__item{
  margin-top: var(--size-56);
}

.features__item:nth-of-type(even) .video{
  order: 1;
}

.features__item:nth-of-type(even) .features__body{
  order: 2;
}

.features__desc + .features__desc{
  margin-top: 1em;
}

.features__desc a{
  display: inline;
  text-decoration: underline;
  color: var(--blue);
}

@media screen and (max-width: 820px){
  .features__item{
    grid-template-columns: 1fr;
  }

  .features__item .video{
    order: 1;
  }

  .features__item .features__body{
    order: 2;
  }
}

@media (hover: hover){
  .features__desc a:hover{
    opacity: var(--op70);
  }
}

@media (hover: none){
  .features__desc a:active{
    opacity: var(--op70);
  }
}


/* ==================================================
  主な機能
================================================== */
.func__list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: clamp(34px, calc(40 / var(--vw-1600) * 100vw), 40px) clamp(16px, calc(20 / var(--vw-1600) * 100vw), 20px);
}

.func__img{
  position: relative;
  border: solid 1px var(--bd-color);
  border-radius: var(--bd-radius);
  overflow: hidden;
}

.func__title{
  font-size: var(--size-24);
  margin: 20px 0 10px;
}

@media screen and (max-width: 550px){
  .func__list{
    grid-template-columns: 1fr;
  }
}


/* ==================================================
  サンプル動画
================================================== */
.sample-movie__list{
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: clamp(34px, calc(40 / var(--vw-1600) * 100vw), 40px) clamp(16px, calc(20 / var(--vw-1600) * 100vw), 20px);
}

.sample-movie__img{
  position: relative;
}

.sample-movie__cap{
  margin-top: 6px;
}

@media screen and (max-width: 550px){
  .sample-movie__list{
    grid-template-columns: 1fr;
  }
}


/* ==================================================
  価格
================================================== */
.price__wrapper{
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: clamp(16px, calc(20 / var(--vw-1600) * 100vw), 20px);
}

.price__card{
  border: solid 1px var(--bd-color);
  border-radius: var(--bd-radius);
}

.price__license-name{
  font-size: clamp(17px, calc(20 / var(--vw-1600) * 100vw), 20px);
  line-height: 1;
  text-align: center;
  color: #fff;
  padding: clamp(14px, calc(18 / var(--vw-1600) * 100vw), 18px) clamp(12px, calc(18 / var(--vw-1600) * 100vw), 18px);
  border-top-left-radius: var(--bd-radius);
  border-top-right-radius: var(--bd-radius);
}

.cloud .price__license-name{
  background: #6c96ca;
}

.legacy .price__license-name{
  background: #8dcf6c;
}

.price__body{
  position: relative;
  padding: 16px clamp(10px, calc(30 / var(--vw-1600) * 100vw), 30px) 20px;
}

.price-ribbon{
  position: absolute;
  top: 20px;
  left: calc(clamp(10px, calc(24 / var(--vw-1600) * 100vw), 24px) * -1);
}

.price-ribbon__inner{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: clamp(30px, calc(50 / var(--vw-1600) * 100vw), 50px);
  text-align: center;
  padding: 0 clamp(10px, calc(17 / var(--vw-1600) * 100vw), 17px);
  font-size: clamp(15px, calc(19 / var(--vw-1600) * 100vw), 19px);
  font-weight: 700;
  color: #fff;
}

.price-ribbon__inner::before,
.price-ribbon__inner::after{
  position: absolute;
  z-index: 1;
  content: '';
  display: block;
  top: 0;
  bottom: 0;
}

.price-ribbon__inner::before{
  width: 100%;
  height: clamp(30px, calc(48 / var(--vw-1600) * 100vw), 48px);
  left: 0;
  background: var(--blue);
  border-top-left-radius: var(--bd-radius);
  border-bottom-left-radius: var(--bd-radius);
}

.price-ribbon__inner:after{
  width: 0;
  height: 0;
  left: 100%;
  border: clamp(15px, calc(24 / var(--vw-1600) * 100vw), 24px) solid var(--blue);
  border-right-color: transparent;
  border-left-width: 0.25em;
}

.price-ribbon__inner span{
  position: relative;
  z-index: 2;
}

.price__top{
  text-align: center;
}

.price__plan-name{
  font-size: clamp(16px, calc(18 / var(--vw-1600) * 100vw), 18px);
  color: var(--gray2);
}

.price__price{
  line-height: 1;
  margin-top: 5px;
}

.price__price .en{
  font-size: 38px;
  font-weight: 800;
}

.price__price--yen{
  font-size: 20px;
  font-weight: 700;
}

.price__top .link-btn.shop{
  display: inline-block;
  margin-top: 12px;
}

.price__bottom{
  border-top: solid 1px var(--bd-color);
  padding-top: 15px;
  margin-top: 18px;
}

.price-plan__item + .price-plan__item{
  margin-top: 1.25em;
}

.price-plan__title::before{
  content: '●';
}

.price-plan__text .price-plan__text--gray{
  color: var(--gray2);
}

.price-plan__text a{
  display: inline;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  color: var(--blue);
}

.price__notes{
  font-size: clamp(12px, calc(14 / var(--vw-1120) * 100vw), 14px);
  color: var(--gray2);
  margin-top: clamp(8px, calc(10 / var(--vw-1120) * 100vw), 10px);
}

.price__notes a{
  display: inline;
  color: var(--blue);
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

@media screen and (min-width: 821px) and (max-width: 1023px){
  .price__wrapper{
    grid-template-columns: 1.5fr 1fr;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1390px){
  .price__wrapper{
    grid-template-columns: 1.7fr 1fr;
  }
}

@media screen and (max-width: 820px){
  .price__wrapper{
    grid-template-columns: 1fr;
  }

  .price-ribbon{
    top: -15px;
  }
}

@media (hover: hover){
  .price-plan__text a:hover,
  .price__notes a:hover{
    opacity: var(--op70);
  }
}

@media (hover: none){
  .price-plan__text a:active,
  .price__notes a:active{
    opacity: var(--op70);
  }
}


/* ==================================================
  土木工事4D ムービーメーカーを試してみる
================================================== */
.demo{
  padding-top: 0;
}

.demo .section__title{
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 0.25em;
}

.demo .section__title img{
  width: clamp(0px, calc(480 / var(--vw-1120) * 100vw), 556px);
  transform: translateY(-10px);
}

.demo__wrapper{
  position: relative;
}

.demo-frame{
  position: relative;
  aspect-ratio: 1116 / 628;
  overflow: hidden;
}

.demo-frame::before{
  position: absolute;
  content: '';
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 100%;
  height: 100%;
  background: rgb(0 0 0 / .45);
}

.demo.active .demo-frame::before{
  content: none;
}

.demo-frame iframe{
  aspect-ratio: 1116 / 628;
  width: 100%!important;
  height: 100%!important;
  transform: unset!important;
}

.demo__msg{
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  max-width: 417px;
  width: 80%;
  background: #fff;
  border-radius: 15px;
  padding: 66px 16px 30px;
  text-align: center;
}

.demo.active .demo__msg{
  display: none;
}

.demo__text{
  line-height: 1.5;
  text-align: center;
}

.demo-btn{
  display: inline-block;
  margin-top: clamp(24px, calc(35 / var(--vw-1120) * 100vw), 35px);
  text-align: center;
  background: var(--yellow);
  padding: clamp(8px, calc(10 / var(--vw-1120) * 100vw), 10px) clamp(18px, calc(20 / var(--vw-1120) * 100vw), 20px);
  border-radius: var(--bd-radius);
  border: none;
  cursor: pointer;
}


/* ==================================================
  よくあるご質問
================================================== */
.faq__item{
  background: #fff;
  outline: solid 1px var(--bd-color);
  border-radius: var(--bd-radius);
  transition: all .15s ease-in-out;
}

.faq__item + .faq__item{
  margin-top: clamp(16px, calc(20 / var(--vw-1600) * 100vw), 20px);
}

.faq__item-q,
.faq__item-a{
  position: relative;
}

.faq__item-q{
  font-size: clamp(15px, calc(18 / var(--vw-820) * 100vw), 18px);
  font-weight: 700;
  cursor: pointer;
  padding: clamp(14px, calc(18 / var(--vw-820) * 100vw), 18px) clamp(14px, calc(20 / var(--vw-820) * 100vw), 20px) clamp(14px, calc(18 / var(--vw-820) * 100vw), 18px) clamp(46px, calc(53 / var(--vw-820) * 100vw), 53px);
}

.faq__item-a{
  display: none;
  font-size: clamp(14px, calc(16 / var(--vw-820) * 100vw), 16px);
  line-height: calc(24 / 16);
  padding: 0 clamp(16px, calc(48 / var(--vw-820) * 100vw), 48px) clamp(10px, calc(14 / var(--vw-820) * 100vw), 14px) clamp(46px, calc(53 / var(--vw-820) * 100vw), 53px);
}

.faq__item-q::before,
.faq__item-a::before{
  position: absolute;
  font-size: clamp(16px, calc(18 / var(--vw-820) * 100vw), 21px);
  font-family: var(--font-family-en);
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  line-height: 1;
  left: clamp(12px, calc(17 / var(--vw-820) * 100vw), 17px);
  width: clamp(24px, calc(28 / var(--vw-820) * 100vw), 28px);
  height: clamp(24px, calc(28 / var(--vw-820) * 100vw), 28px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100vmax;
}

.faq__item-q::before{
  content: 'Q';
  background: var(--yellow);
  top: clamp(14px, calc(16 / var(--vw-820) * 100vw), 16px);
}

.faq__item-a::before{
  content: 'A';
  color: #fff;
  background: var(--orange);
  top: 0;
}

.faq__item-q span{
  position: relative;
  display: block;
  padding-right: clamp(26px, calc(72 / var(--vw-820) * 100vw), 72px);
}

.faq__item-q span::before,
.faq__item-q span::after{
  position: absolute;
  content: '';
  top: 50%;
  transform: translateY(-50%);
  background: var(--bk);
  transition: background .15s ease-in-out;
}

.faq__item-q span::before{
  right: 0;
  width: clamp(16px, calc(20 / var(--vw-820) * 100vw), 20px);
  height: 2px;
}

.faq__item-q span::after{
  right: clamp(7px, calc(9 / var(--vw-820) * 100vw), 9px);
  width: 2px;
  height: clamp(16px, calc(20 / var(--vw-820) * 100vw), 20px);
  transform-origin: center top;
  transition: .15s ease-in-out;
}

.faq__item-q.js-open span::after{
  width: 2px;
  height: clamp(16px, calc(20 / 768 * 100vw), 20px);
  rotate: 90deg;
}

.faq__item-a .faq__img{
  max-width: 650px;
  margin: 1rem auto;
  overflow: hidden;
}

.faq__item-a .faq__img img{
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.faq__item-a .faq__img.aspect16_9 img{
  aspect-ratio: 16 / 9;
}

.faq__item-a .faq__img figcaption{
  font-size: 0.9rem;
  text-align: center;
  margin-top: 0.25em;
}

.faq__item-a a{
  display: inline;
  color: var(--blue);
  text-decoration: underline;
}

@media (hover: hover){
  .faq__item:hover{
    outline: solid 3px var(--yellow);
  }

  .faq__item-q:hover span::before,
  .faq__item-q:hover span::after{
    background: var(--yellow);
  }

  .faq__item-a a:hover{
    opacity: var(--op70);
  }
}

@media (hover: none){
  .faq__item:active{
    outline: solid 3px var(--yellow);
  }

  .faq__item-q:active span::before,
  .faq__item-q:active span::after{
    background: var(--yellow);
  }

  .faq__item-a a:active{
    opacity: var(--op70);
  }
}


/* ==================================================
  使い方動画
================================================== */
.tutorial-movie{
  max-width: 540px;
  margin-inline: auto;
}

.tutorial-movie__cap{
  text-align: center;
  margin-top: clamp(15px, calc(18 / var(--vw-1600) * 100vw), 18px);
}

.tutorial-movie__cap::before{
  content: '▲';
  margin-right: 0.2em;
}


/* ==================================================
  動作環境 / 入力形式 / 出力形式
================================================== */
.operating-envi__wrapper{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--size-64) var(--size-40);
}

.operating-envi__box.operating{
  grid-column: 1 / 3;
  grid-row: 1 / 2;
}

.operating-envi__box.input{
  grid-column: 1 / 2;
  grid-row: 2 / 3;
}

.operating-envi__box.output{
  grid-column: 2 / 3;
  grid-row: 2 / 3;
}

.operating-envi__title{
  display: flex;
  align-items: center;
  justify-content: flex-start;
  font-size: var(--size-24);
  column-gap: 0.35em;
}

.operating-envi__title::before{
  display: block;
  content: '';
  background-position: center center;
  background-size: contain;
  background-repeat: no-repeat;
}

.operating .operating-envi__title::before{
  width: clamp(18px, calc(20 / var(--vw-1120) * 100vw), 20px);
  height: clamp(16px, calc(18 / var(--vw-1120) * 100vw), 18px);
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTgiIHZpZXdCb3g9IjAgMCAyMCAxOCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE1IDE2QzE1LjU1MjMgMTYgMTYgMTYuNDQ3NyAxNiAxN0MxNiAxNy41MTc3IDE1LjYwNjcgMTcuOTQzOCAxNS4xMDI1IDE3Ljk5NTFMMTUgMThINUw0Ljg5NzQ2IDE3Ljk5NTFDNC4zOTMzMyAxNy45NDM4IDQgMTcuNTE3NyA0IDE3QzQgMTYuNDQ3NyA0LjQ0NzcyIDE2IDUgMTZIOFYxNEgxQzAuNDQ3NzE1IDE0IDAgMTMuNTUyMyAwIDEzVjFDMCAwLjQ0NzcxNSAwLjQ0NzcxNSAwIDEgMEgxOUMxOS41NTIzIDAgMjAgMC40NDc3MTUgMjAgMVYxM0MyMCAxMy41NTIzIDE5LjU1MjMgMTQgMTkgMTRIMTJWMTZIMTVaTTIgMTJIMThWMkgyVjEyWiIgZmlsbD0iIzMzMzMzMyIvPgo8L3N2Zz4K');
}
.input .operating-envi__title::before,
.output .operating-envi__title::before{
  width: clamp(17px, calc(20 / var(--vw-1120) * 100vw), 20px);
  height: clamp(18px, calc(21 / var(--vw-1120) * 100vw), 21px);
}

.input .operating-envi__title::before{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5IDE1QzE5LjU1MjMgMTUgMjAgMTUuNDQ3NyAyMCAxNlYyMEMyMCAyMC41NTIzIDE5LjU1MjMgMjEgMTkgMjFIMUMwLjQ0NzcxNSAyMSAwIDIwLjU1MjMgMCAyMFYxNkMwIDE1LjQ0NzcgMC40NDc3MTUgMTUgMSAxNUMxLjU1MjI4IDE1IDIgMTUuNDQ3NyAyIDE2VjE5SDE4VjE2QzE4IDE1LjQ0NzcgMTguNDQ3NyAxNSAxOSAxNVpNMTAgMEMxMC41NTIzIDAgMTEgMC40NDc3MTUgMTEgMVYxMi41ODU5TDE1LjI5MyA4LjI5Mjk3QzE1LjY4MzUgNy45MDI0NCAxNi4zMTY1IDcuOTAyNDQgMTYuNzA3IDguMjkyOTdDMTcuMDk3NSA4LjY4MzUgMTcuMDk3NSA5LjMxNjUzIDE2LjcwNyA5LjcwNzAzTDEwLjcwNyAxNS43MDdDMTAuMzE2NSAxNi4wOTc1IDkuNjgzNSAxNi4wOTc1IDkuMjkyOTcgMTUuNzA3TDMuMjkyOTcgOS43MDcwM0MyLjkwMjQ0IDkuMzE2NTEgMi45MDI0NCA4LjY4MzQ5IDMuMjkyOTcgOC4yOTI5N0MzLjY4MzQ5IDcuOTAyNDQgNC4zMTY1MSA3LjkwMjQ0IDQuNzA3MDMgOC4yOTI5N0w5IDEyLjU4NTlWMUM5IDAuNDQ3NzE1IDkuNDQ3NzIgMCAxMCAwWiIgZmlsbD0iIzMzMzMzMyIvPgo8L3N2Zz4K');
}

.output .operating-envi__title::before{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE5IDE1QzE5LjU1MjMgMTUgMjAgMTUuNDQ3NyAyMCAxNlYyMEMxOS45OTk5IDIwLjU1MjIgMTkuNTUyMiAyMSAxOSAyMUgxQzAuNDQ3NzUzIDIxIDYuMTMyODFlLTA1IDIwLjU1MjIgMCAyMFYxNkMwIDE1LjQ0NzcgMC40NDc3MTUgMTUgMSAxNUMxLjU1MjI4IDE1IDIgMTUuNDQ3NyAyIDE2VjE5SDE4VjE2QzE4IDE1LjQ0NzcgMTguNDQ3NyAxNSAxOSAxNVpNOS4yOTI5NyAwLjI5Mjk2OUM5LjY4MzQ5IC0wLjA5NzUzNjcgMTAuMzE2NSAtMC4wOTc1NDkzIDEwLjcwNyAwLjI5Mjk2OUwxNi43MDcgNi4yOTI5N0MxNy4wOTc1IDYuNjgzNDkgMTcuMDk3NSA3LjMxNjUyIDE2LjcwNyA3LjcwNzAzQzE2LjMxNjUgOC4wOTc1NCAxNS42ODM1IDguMDk3NSAxNS4yOTMgNy43MDcwM0wxMSAzLjQxNDA2VjE1QzEwLjk5OTkgMTUuNTUyMiAxMC41NTIyIDE2IDEwIDE2QzkuNDQ3NzUgMTYgOS4wMDAwNiAxNS41NTIyIDkgMTVWMy40MTQwNkw0LjcwNzAzIDcuNzA3MDNDNC4zMTY1MyA4LjA5NzU0IDMuNjgzNSA4LjA5NzUgMy4yOTI5NyA3LjcwNzAzQzIuOTAyNDQgNy4zMTY1MSAyLjkwMjQ0IDYuNjgzNDkgMy4yOTI5NyA2LjI5Mjk3TDkuMjkyOTcgMC4yOTI5NjlaIiBmaWxsPSIjMzMzMzMzIi8+Cjwvc3ZnPgo=');
}

.operating-envi__table{
  margin-top: 20px;
}

.operating-envi__table th,
.operating-envi__table td{
  border-top: solid 1px var(--bd-color);
  border-bottom: solid 1px var(--bd-color);
  padding: 10px 0;
}

.operating-envi__table th{
  color: var(--gray2);
  width: clamp(136px, calc(176 / var(--vw-1600) * 100vw), 176px);
  padding-right: 0.5em;
}

.operating-envi__table td{
  width: calc(100% - clamp(136px, calc(176 / var(--vw-1600) * 100vw), 176px));
}

.operating .operating-envi__table th{
  width: clamp(156px, calc(210 / var(--vw-1600) * 100vw), 210px);
}

.operating .operating-envi__table td{
  width: calc(100% - clamp(136px, calc(176 / var(--vw-1600) * 100vw), 176px));
}

.operating-envi__table .sup{
  font-size: 0.75em;
}

.operating-envi__notes{
  margin-top: clamp(8px, calc(10 / var(--vw-1120) * 100vw), 10px);
}

.operating-envi__notes li{
  counter-increment: count;
  list-style: none;
  font-size: clamp(12px, calc(14 / var(--vw-1120) * 100vw), 14px);
  color: var(--gray2);
}

.operating-envi__notes li::before{
  display: inline-block;
  content: "※" counter(count) ;
  margin-right: 1em;
}


@media screen and (max-width: 820px){
  .operating-envi__wrapper{
    grid-template-columns: 1fr;
  }

  .operating-envi__box.operating,
  .operating-envi__box.input,
  .operating-envi__box.output{
    grid-column: unset;
    grid-row: unset;
  }

  .operating-envi__table,
  .operating-envi__table tbody,
  .operating-envi__table tr,
  .operating-envi__table th,
  .operating-envi__table td{
    display: block;
    width: 100%;
    padding: 0;
    border: none;
  }

  .operating-envi__table tr{
    padding: clamp(12px, calc(16 / var(--vw-820) * 100vw), 16px) 0;
    border-top: solid 1px var(--bd-color);
  }

  .operating-envi__table tr:last-of-type{
    border-bottom: solid 1px var(--bd-color);
  }

  .operating-envi__table td{
    margin-top: 0.25em;
  }
}


/* ==================================================
  CTA
================================================== */
.cta{
  padding: var(--size-64) 0 0;
}

.sns{
  margin-top: clamp(44px, calc(48 / var(--vw-1600) * 100vw), 48px);
  margin-bottom: 15px;
}

.sns__title{
  font-weight: 700;
  text-align: center;
}

.sns__title span::before{
  content: '＼';
  margin-right: 0.75em;
}

.sns__title span::after{
  content: '／';
  margin-left: 0.75em;
}

.sns__list{
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 30px;
  margin-top: clamp(16px, calc(20 / var(--vw-820) * 100vw), 20px);
}

.sns__item{
  width: 45px;
  height: 45px;
}

.sns__item a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: #fff;
  border-radius: 100vmax;
}

.sns__item a .sns-icon{
  display: block;
  width: 45px;
  height: 45px;
  background-size: 45px 45px;
  background-position: center center;
  background-repeat: no-repeat;
}

.sns__item.x a .sns-icon{
  background-image: url('data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJf44Os44Kk44Ok44O8XzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAyNDAwIDI0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDI0MDAgMjQwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiNGRkZGRkY7fQo8L3N0eWxlPgo8Zz4KCTxjaXJjbGUgY3g9IjEyMDAiIGN5PSIxMjAwIiByPSIxMjAwIi8+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTMxNC4yLDExMDYuMWw0NDYuNy01MTkuM0gxNjU1bC0zODcuOSw0NTAuOUw5NTcuMyw1ODYuOEg2MDBsNDY4LjUsNjgxLjhMNjAwLDE4MTMuMmgxMDUuOWw0MDkuNi00NzYuMgoJCWwzMjcuMiw0NzYuMkgxODAwTDEzMTQuMiwxMTA2LjFMMTMxNC4yLDExMDYuMUwxMzE0LjIsMTEwNi4xeiBNMTE2OS4yLDEyNzQuNmwtNDcuNS02Ny45TDc0NCw2NjYuNWgxNjIuNmwzMDQuOCw0MzZsNDcuNSw2Ny45CgkJbDM5Ni4yLDU2Ni43aC0xNjIuNkwxMTY5LjIsMTI3NC42TDExNjkuMiwxMjc0LjZMMTE2OS4yLDEyNzQuNnoiLz4KPC9nPgo8L3N2Zz4K');
}

.sns__item.fb a .sns-icon{
  background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA1MDAgNTAwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjMDg2NmZmOwogICAgICB9CgogICAgICAuY2xzLTEsIC5jbHMtMiB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwcHg7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxvZ28iPgogICAgPGcgaWQ9IkxvZ28tMiIgZGF0YS1uYW1lPSJMb2dvIj4KICAgICAgPHBhdGggaWQ9IkluaXRpYXRvciIgY2xhc3M9ImNscy0xIiBkPSJNNTAwLDI1MEM1MDAsMTExLjkzLDM4OC4wNywwLDI1MCwwUzAsMTExLjkzLDAsMjUwYzAsMTE3LjI0LDgwLjcyLDIxNS42MiwxODkuNjEsMjQyLjY0di0xNjYuMjRoLTUxLjU1di03Ni40aDUxLjU1di0zMi45MmMwLTg1LjA5LDM4LjUxLTEyNC41MywxMjIuMDUtMTI0LjUzLDE1Ljg0LDAsNDMuMTcsMy4xMSw1NC4zNSw2LjIxdjY5LjI1Yy01LjktLjYyLTE2LjE1LS45My0yOC44OC0uOTMtNDAuOTksMC01Ni44MywxNS41My01Ni44Myw1NS45djI3LjAyaDgxLjY2bC0xNC4wMyw3Ni40aC02Ny42M3YxNzEuNzdjMTIzLjc5LTE0Ljk1LDIxOS43MS0xMjAuMzUsMjE5LjcxLTI0OC4xN1oiLz4KICAgICAgPHBhdGggaWQ9IkYiIGNsYXNzPSJjbHMtMiIgZD0iTTM0Ny45MiwzMjYuNGwxNC4wMy03Ni40aC04MS42NnYtMjcuMDJjMC00MC4zNywxNS44NC01NS45LDU2LjgzLTU1LjksMTIuNzMsMCwyMi45OC4zMSwyOC44OC45M3YtNjkuMjVjLTExLjE4LTMuMTEtMzguNTEtNi4yMS01NC4zNS02LjIxLTgzLjU0LDAtMTIyLjA1LDM5LjQ0LTEyMi4wNSwxMjQuNTN2MzIuOTJoLTUxLjU1djc2LjRoNTEuNTV2MTY2LjI0YzE5LjM0LDQuOCwzOS41Nyw3LjM2LDYwLjM5LDcuMzYsMTAuMjUsMCwyMC4zNi0uNjMsMzAuMjktMS44M3YtMTcxLjc3aDY3LjYzWiIvPgogICAgPC9nPgogIDwvZz4KPC9zdmc+');
}

.sns__item.line a .sns-icon{
  background-image: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMjAgMzIwIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjNGNjNzY0OwogICAgICB9CgogICAgICAuY2xzLTEsIC5jbHMtMiB7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAwcHg7CiAgICAgIH0KCiAgICAgIC5jbHMtMiB7CiAgICAgICAgZmlsbDogI2ZmZjsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPGcgaWQ9IkxJTkVfTE9HTyIgZGF0YS1uYW1lPSJMSU5FIExPR08iPgogICAgPGc+CiAgICAgIDxjaXJjbGUgY2xhc3M9ImNscy0xIiBjeD0iMTYwIiBjeT0iMTYwIiByPSIxNjAiLz4KICAgICAgPGc+CiAgICAgICAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMjY2LjcsMTUwLjY4YzAtNDcuOC00Ny45Mi04Ni42OC0xMDYuODEtODYuNjhzLTEwNi44MSwzOC44OS0xMDYuODEsODYuNjhjMCw0Mi44NSwzOCw3OC43Myw4OS4zMyw4NS41MiwzLjQ4Ljc1LDguMjEsMi4yOSw5LjQxLDUuMjcsMS4wOCwyLjcuNyw2LjkzLjM1LDkuNjYsMCwwLTEuMjUsNy41NC0xLjUyLDkuMTQtLjQ3LDIuNy0yLjE1LDEwLjU2LDkuMjUsNS43NiwxMS40LTQuOCw2MS41MS0zNi4yMiw4My45Mi02Mi4wMWgwYzE1LjQ4LTE2Ljk4LDIyLjktMzQuMiwyMi45LTUzLjMzWiIvPgogICAgICAgIDxnPgogICAgICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjMxLjE3LDE3OC4yOGMxLjEzLDAsMi4wNC0uOTEsMi4wNC0yLjA0di03LjU4YzAtMS4xMi0uOTItMi4wNC0yLjA0LTIuMDRoLTIwLjM5di03Ljg3aDIwLjM5YzEuMTMsMCwyLjA0LS45MSwyLjA0LTIuMDR2LTcuNTdjMC0xLjEyLS45Mi0yLjA0LTIuMDQtMi4wNGgtMjAuMzl2LTcuODdoMjAuMzljMS4xMywwLDIuMDQtLjkxLDIuMDQtMi4wNHYtNy41N2MwLTEuMTItLjkyLTIuMDQtMi4wNC0yLjA0aC0zMC4wMWMtMS4xMywwLTIuMDQuOTEtMi4wNCwyLjA0di4wNGgwdjQ2LjU0aDB2LjA0YzAsMS4xMy45MSwyLjA0LDIuMDQsMi4wNGgzMC4wMVoiLz4KICAgICAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTEyMC4xNywxNzguMjhjMS4xMywwLDIuMDQtLjkxLDIuMDQtMi4wNHYtNy41OGMwLTEuMTItLjkyLTIuMDQtMi4wNC0yLjA0aC0yMC4zOXYtMzdjMC0xLjEyLS45Mi0yLjA0LTIuMDQtMi4wNGgtNy41OGMtMS4xMywwLTIuMDQuOTEtMi4wNCwyLjA0djQ2LjU4aDB2LjA0YzAsMS4xMy45MSwyLjA0LDIuMDQsMi4wNGgzMC4wMVoiLz4KICAgICAgICAgIDxyZWN0IGNsYXNzPSJjbHMtMSIgeD0iMTI4LjYyIiB5PSIxMjcuNTgiIHdpZHRoPSIxMS42NSIgaGVpZ2h0PSI1MC42OSIgcng9IjIuMDQiIHJ5PSIyLjA0Ii8+CiAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0xODkuOCwxMjcuNThoLTcuNThjLTEuMTMsMC0yLjA0LjkxLTIuMDQsMi4wNHYyNy42OWwtMjEuMzMtMjguOGMtLjA1LS4wNy0uMTEtLjE0LS4xNi0uMjEsMCwwLDAsMC0uMDEtLjAxLS4wNC0uMDQtLjA4LS4wOS0uMTItLjEzLS4wMS0uMDEtLjAzLS4wMi0uMDQtLjAzLS4wNC0uMDMtLjA3LS4wNi0uMTEtLjA5LS4wMi0uMDEtLjA0LS4wMy0uMDYtLjA0LS4wMy0uMDMtLjA3LS4wNS0uMTEtLjA3LS4wMi0uMDEtLjA0LS4wMy0uMDYtLjA0LS4wNC0uMDItLjA3LS4wNC0uMTEtLjA2LS4wMi0uMDEtLjA0LS4wMi0uMDYtLjAzLS4wNC0uMDItLjA4LS4wNC0uMTItLjA1LS4wMiwwLS4wNC0uMDItLjA3LS4wMi0uMDQtLjAxLS4wOC0uMDMtLjEyLS4wNC0uMDIsMC0uMDUtLjAxLS4wNy0uMDItLjA0LDAtLjA4LS4wMi0uMTItLjAzLS4wMywwLS4wNiwwLS4wOS0uMDEtLjA0LDAtLjA3LS4wMS0uMTEtLjAxLS4wNCwwLS4wNywwLS4xMSwwLS4wMiwwLS4wNSwwLS4wNywwaC03LjUzYy0xLjEzLDAtMi4wNC45MS0yLjA0LDIuMDR2NDYuNjJjMCwxLjEzLjkxLDIuMDQsMi4wNCwyLjA0aDcuNThjMS4xMywwLDIuMDQtLjkxLDIuMDQtMi4wNHYtMjcuNjhsMjEuMzUsMjguODRjLjE1LjIxLjMzLjM4LjUzLjUxLDAsMCwuMDIuMDEuMDIuMDIuMDQuMDMuMDguMDUuMTMuMDguMDIuMDEuMDQuMDIuMDYuMDMuMDMuMDIuMDcuMDMuMS4wNS4wMy4wMi4wNy4wMy4xLjA0LjAyLDAsLjA0LjAyLjA2LjAyLjA1LjAyLjA5LjAzLjE0LjA0LDAsMCwuMDIsMCwuMDMsMCwuMTcuMDQuMzUuMDcuNTMuMDdoNy41M2MxLjEzLDAsMi4wNC0uOTEsMi4wNC0yLjA0di00Ni42MmMwLTEuMTMtLjkxLTIuMDQtMi4wNC0yLjA0WiIvPgogICAgICAgIDwvZz4KICAgICAgPC9nPgogICAgPC9nPgogIDwvZz4KPC9zdmc+');
}

.cta .link-btn:not(.page-top) a{
  padding: clamp(18px, calc(28 / var(--vw-1600) * 100vw), 28px) clamp(8px, calc(16 / var(--vw-1600) * 100vw), 16px);
}

.cta .page-top{
  margin-left: auto;
}

@media screen and (max-width: 820px){
  .sns{
    margin-bottom: 34px;
  }

  .cta .link-btn.page-top{
    margin-inline: auto;
  }
}

@media (hover: hover){
  .sns__item a:hover{
    opacity: var(--op70);
  }
}

@media (hover: none){
  .sns__item a:active{
    opacity: var(--op70);
  }
}