@charset "UTF-8";
@charset "UTF-8";


/* ====================================
	共通設定
 ==================================== */



/* ====================================
	共通スタイル
 ==================================== */

/* トップ共通セクション */
.top-section {
	padding-block: 15rem;
}

.overview,
.feature,
.example,
.product {
	background-color: #fff;
}

/* トップ共通セクション見出し */
.top-section__title {
	font-size: 2.4rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 3rem;
}

.top-section__title span {
	color: var(--color-theme);
	font-size: 1.8rem;
	font-weight: bold;
}

.top-section__title span:after {
	content: "";
	display: block;
	width: 35px;
	height: 3px;
	margin-inline: auto;
	margin-block: .5em 2em;
	background: var(--color-theme);
}

.top-section__title div {
	font-size: 4.2rem;
}

.top-section__title em {
	color: var(--color-theme);
}

/* セクション見出し下部コピー */
.top-section__description {
	text-align: center;
	margin-block: 2em 3em;
	line-height: 1.8;
}

.top-section__description em {
	color: var(--color-theme);
}

/* ====================================
	概要
 ==================================== */

 .overview {
  overflow-x: clip;
}

 .overview.top-section {
  padding-block: 8rem;
 }

.overview__container {
  display: grid;
  grid-template-columns: repeat(2, 47.5%);
  justify-content: space-between;
}

/* 製品概要・フォトギャラリー */
.overview__gallery .swiper__button-next,
.overview__gallery .swiper__button-prev {
  inline-size: 30px;
  block-size: 60px;
}

.overview__gallery .swiper-slide a:focus-visible {
  outline-offset: -2px;
}

/* 製品概要・フォトギャラリー：サムネイル */
.swiper-thumbnail__list {
  flex-wrap: wrap;
}

.swiper-thumbnail__list>li {
  inline-size: 15%;
}

/* 製品概要：フォトギャラリー */

.overview__gallery .swiper-slide .title {
  padding: .5em 0;
  font-size: 1.4rem;
  text-align: center;
}

/* 製品概要：フォトギャラリー:ナビゲーション */
.gallery-controls {
  position: relative;
}

.overview__gallery .swiper__button-next,
.overview__gallery .swiper__button-prev {
  display: block;
  inline-size: 20px;
  block-size: 40px;
  background: var(--white-gray) url(/assets/common/images/chevron-right-solid.svg) no-repeat center center / 20px auto;
  position: absolute;
  top: 50%;
  z-index: 2;
}

.overview__gallery .swiper__button-next {
  right: 0;
  transform: translate(0, -50%);
}

.overview__gallery .swiper__button-prev {
  left: 0;
  transform: translate(0, -50%) rotate(180deg);
}

.overview__gallery .swiper__button-next.hovering,
.overview__gallery .swiper__button-prev.hovering {
  opacity: .5;
}

/* 製品概要：フォトギャラリー：サムネイル */
.swiper-thumbnail__list {
  display: flex;
  column-gap: 2%;
  row-gap: 10px;
}

.swiper-thumbnail__list {
  margin-top: 1em;
}

.swiper-thumbnail__list>li {
  border: solid 1px var(--light-gray);
  cursor: pointer;
}

.swiper-thumbnail__list li:has(.active) {
  border: solid 2px var(--charcoal-gray);
}

.swiper-thumbnail__list>li>a {
  display: block;
  cursor: pointer;
}

/* 製品概要 */

.overview__product-header {
	border-bottom: solid 1px var(--light-gray);
	padding-block-end: 2em;
	margin-block-end: 4em;
}

.product__name {
	margin-block-end: 1em;
}

.product__name small {
	display: block;
	font-size: 1.4rem;
	font-weight: 400;
}

.product__name em {
	font-size: 3.4rem;
}

.overview__product-copy {
	margin-block-end: 1em;
  font-weight: 700;
}

.overview__product-description {
  display: grid;
  grid-template-columns: auto 90px;
  column-gap: 3%;
}

.overview__product-description p {
	line-height: 1.8;
}

/* about */

.about__box-wrap {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  column-gap: 3%;
  justify-content: space-between;
  margin-block-start: 10rem;
}

.box-ttl {
  margin-block-end: 1em;
  padding: .5em;
  background-color: #fff;
  border: solid 1px var(--color-theme);
  border-radius: 2em;
  text-align: center;
  font-weight: 700;
  color: var(--color-theme);
}

.about__box:nth-last-of-type(2n) .box-ttl{
  background: var(--color-theme);
  color: #fff;
}

.about__box img {
  border-radius: 1em;
}

/* feature */

.feature__box {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  column-gap: 3%;
  justify-content: space-between;
  margin-block-start: 10rem;
}

.feature__box > div {
  position: relative;
  padding: 3em 2em;
  background-color: #F5F5F5;
  border-radius: 1em;
  text-align: center;
}

.feature__box > div span {
  content: "";
  position: absolute;
  left: calc(50% - 3rem);
  top: -3rem;
  display: grid;
  place-content: center;
  width: 6rem;
  aspect-ratio: 1/1;
  background: var(--color-theme);
  color: #fff;
  font-weight: 700;
  border-radius: 50%;
  line-height: 1.2;
}

.feature__box > div span small {
  display: block;
  font-size: 1.2rem;
  font-weight: 400;
}

.feature__box > div img {
  display: block;
  width: 75%;
  max-width: 300px;
  margin-inline: auto;
}

.feature__box > div em {
  display: block;
  margin-block-start: 2em;
  font-size: 2rem;
  color: var(--color-theme);
}

.feature__howto {
  position: relative;
  margin-block-start: 10rem;
  padding-block: 4em 2em;
  border: 1px solid var(--color-theme);
  border-radius: 1em;
  text-align: center;
}

.feature__howto em {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  padding-block: .5em;
  padding-inline: 2em;
  border-radius: 2em;
  background: var(--color-theme);
  color: #fff;
  line-height: 1;
}

.feature__howto > p {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--color-theme);
}

.feature__howto-box {
  display: grid;
  max-width: 700px;
  margin-inline: auto;
  grid-template-columns: repeat(3,1fr);
  column-gap: 3%;
  justify-content: space-between;
  margin-block-start: 3em;
}

.feature__howto-box p {
  display: grid;
  place-content: center;
  place-items: center;
  grid-auto-flow: column;
  margin-block-end: 1em;
  font-weight: 700;
  color: var(--color-theme);
}

.feature__howto-box p span {
  display: inline-block;
  border-radius: 50%;
  width: 1.6em;
  margin-inline-end: .5em;
  aspect-ratio: 1/1;
  font-size: 1.4rem;
  font-weight: 700;
  background: var(--color-theme);
  color: #fff;
}

/* technology */
.technology {
  background: url(/business/reizo/assets/index/images/bg-ice.jpg) no-repeat center center / cover;
  text-shadow: 0 0 5px rgba(0, 0, 0, 1);
}

.technology .top-section__title,
.technology .top-section__title span,
.technology .top-section__title em {
  color: #fff;
}

.technology .top-section__title span:after {
  background: #fff;
}

.technology .top-section__title small {
  display: block;
  background: #FEF7A4;
  color: var(--color-theme);
  width: 8em;
  font-size: 2.4rem;
  margin-block-start: 1.5em;
  margin-inline: auto;
  padding-block: .4em;
  text-shadow: none;
}

.technology__box-wrap {
  display: grid;
  grid-template-columns: 40% auto;
  gap: 5%;
  color: #fff;
  line-height: 1.8;
  margin-block-start: 5em;
  font-weight: 500;
}

.technology__box small {
  display: block;
  margin-block-start: 1em;
  font-size: 1.2rem;
}

.technology__box img {
  filter: drop-shadow(0 0 3px #0000008a);
}

/* usage */

.usage__box {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2em 3%;
  justify-content: space-between;
  margin-block-start: 10rem;
}

.usage__box > div {
  contain: content;
}

.usage__box > div p {
  position: absolute;
  inset: 0;
  content: '';
  display: grid;
  place-content: center;
  color: #fff;
  text-align: center;
  font-weight: 700;
  font-size: 2.4rem;
}

/* example */
.example__box-list {
  margin-block-start: 10rem;
}

.example__box {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  column-gap: 3%;
  justify-content: space-between;
  margin-block-start: 5rem;
}

.example__box span {
  display: inline-block;
  padding-inline: 1em;
  padding-block: .2em;
  margin-block-end: 1em;
  border: 1px solid #000;
}

.example__box h3 {
  margin-block-end: .8em;
  font-size: 2.4rem;
}

.example__box h3 small {
  display: block;
  margin-block-start: .5em;
  font-size: 1.4rem;
  font-weight: 400;
}

.example__box p {
  line-height: 1.8;
}


/* faq */

.faq__ttl {
  font-size: 4.2rem;
	font-weight: 700;
	text-align: center;
	margin-block-end: 10rem;
  color: var(--color-theme);
}

.faq-item:nth-of-type(1) {
  border-top: solid 1px var(--light-gray);
}

.faq-item {
  border-bottom: solid 1px var(--light-gray);

}

.btn-faq-control {
	position: relative;
  width: 100%;
  padding-inline: 5rem 3.5rem;
  padding-block: 2em;
  text-align: left;
}

.btn-faq-control::before,
.btn-faq-control::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	right: 10px;
	inline-size: 22px;
	block-size: 3px;
	transform: translateY(-50%);
	background-color: #000;
	transition: transform .3s ease;
  border-radius: 2px;
}

.btn-faq-control::after {
	transform: translateY(-50%) rotate(90deg);
}

.btn-faq-control[aria-expanded="true"]::after {
	transform: translateY(-50%) rotate(0);
}

.question-wrap {
  font-size: 2rem;
}

.answer-wrap {
	display: none;
  padding-block-end: 2em;
}

.answer {
  position: relative;
  padding-inline: 5rem 0;
}

.faq-label {
  position: absolute;
  left: 0;
  top: 0;
	width: 5rem;
  font-size: 3rem;
  line-height: 1;
  font-family: "peridot-devanagari", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.faq-text a {
	text-decoration: underline;
}

.question-wrap .faq-label {
  top: calc(50% - .5em);
}

.question-wrap .faq-text {
  position: relative;
  width: 100%;
  
}

.answer .faq-label {
	color: var(--steel-gray);
  padding-inline-start: 2px;
}

.answer .faq-text {
  
  font-size: 1.6rem;
  line-height: 1.8;
}

/* product */

.product .product__box {
  display: grid;
  grid-template-columns: 40% auto;
  column-gap: 10%;
  justify-content: space-between;
  max-width: 990px;
  margin-inline: auto;
}

.product__heading {
  font-size: 3.4rem;
  margin-block-end: 1em;
  padding-block-end: 1em;
  border-bottom: solid 1px var(--light-gray);
  font-weight: 700;
}


/* 製品カラーアイコン */
.product__color {
  margin-top: 1em;
}

.product__color-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.product__color-list li {
  display: flex;
  align-items: center;
  padding: .2em .8em;
  font-size: 1.2rem;
  font-weight: 300;
  border: solid 1px var(--light-gray);
  background: #fff;
  text-decoration: none;
}

.icon-color {
  inline-size: 1em;
  block-size: 1em;
  margin-right: .5em;
}

.link-spec {
  margin-block-start: 4rem;
}


/* contact */

.contact.top-section {
  padding-block: 8rem;
  background: #59574B;
  color: #fff;
  text-align: center;
}

.contact__heading {
  font-size: 2.6rem;
  font-weight: 700;
  margin-block-end: 1em;
}

.contact__description {
  line-height: 1.8;
}

.contact__link-wrap {
  display: grid;
  grid-template-columns: repeat(2, 48.5%);
  gap: 3%;
  justify-content: space-between;
  max-width: 700px;
  margin-inline: auto;
  margin-block-start: 3em;
}

.contact .link-contact a {
  width: 100%;
  font-size: 1.6rem;
  font-weight: 700;
  border-radius: 2em;
  padding-block: 1em;
  border: none;
}

/* ====================================
	ホバーが有効な環境のみ
===================================== */
@media (hover:hover) and (pointer: fine) {

	/* 導入事例 */
	.case-swiper a:hover {
		text-decoration: none;
	}

	/* お役立ちコンテンツ・もっと見るボタン */
	.information__button:hover {
		color: #fff;
		background-color: #000;
	}

	/* リンクテキスト */
	:where(.list-news, .faq-text) a:hover {
		text-decoration: none;
	}

}



/* ====================================
	スマートフォン専用スタイル
===================================== */
@media screen and (width <768px) {


  /* トップ共通セクション */
  .top-section {
    padding-block: 8rem;
  }

  /* トップ共通セクション見出し */
  .top-section__title {
    margin-bottom: 2rem;
  }

  .top-section__title span {
    font-size: 1.2rem;
  }

  .top-section__title span:after {
    width: 30px;
    height: 3px;
    margin-block: .4em 2em;
  }

  .top-section__title div {
    font-size: 2.2rem;
  }

  /* セクション見出し下部コピー */
  .top-section__description {
    text-align: left;
  }
  
  /* ====================================
    概要
  ==================================== */

  .overview.top-section {
    padding-block: 8rem;
  }

  .overview__container {
    grid-template-columns: minmax(0, 1fr);
  }
  
  /* 製品概要：フォトギャラリー：サムネイル */
  .swiper-thumbnail {
    inline-size: 95vw;
    margin-right: calc(50% - 50vw);
    overflow-x: auto;
  }

  /* 製品概要 */

  .overview__product-header {
    padding-block-end: 2em;
    margin-block: 3em 2em;
  }

  .product__name {
    margin-block-end: 1em;
  }

  .product__name small {
    display: block;
    font-size: 1.4rem;
    font-weight: 400;
  }

  .product__name em {
    font-size: 2.6rem;
  }

  .overview__product-copy {
    margin-block-end: 1em;
    font-size: 2rem;
  }

  .overview__product-description {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 0;
    row-gap: 2em;
  }

  .overview__product-description img {
    width: 120px;
    margin-inline: auto;
  }

  .overview__product-description p {
    line-height: 1.8;
  }

  /* about */

  .about__box-wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 2em;
    margin-block-start: 5rem;
  }

  .box-ttl {
    margin-block-end: .5em;
    padding: .2em;
  }

  /* feature */

  .feature__box {
    grid-template-columns: minmax(0, 1fr);
    gap: 3em;
    margin-block-start: 5rem;
  }

  .feature__box > div {
    padding-block: 3em 2em;
  }

  .feature__box > div img {
    max-width: 250px;
  }

  .feature__box > div em {
    margin-block-start: 1.5em;
    font-size: 1.8rem;
  }

  .feature__howto {
    margin-block-start: 5rem;
    padding-block: 3em 1em;
    padding-inline: 1em;
  }

  .feature__howto em {
    padding-inline: 2em;
    padding-block: .5em;
    font-size: 1.4rem;
    width: 18em;
  }

  .feature__howto > p {
    font-size: 2rem;
  }

  .feature__howto-box {
    grid-template-columns: minmax(0, 1fr);
    gap: 1em;
    margin-block-start: 2em;
  }

  .feature__howto-box p {
    margin-block-end: 0;
  }

  .feature__howto-box > div {
    display: grid;
    grid-template-columns: repeat(2,1fr);
  }

  .feature__howto-box > div img {
    max-width: 150px;
  }

  /* technology */
  .technology {
    background: url(/business/reizo/assets/index/images/bg-ice_sp.jpg) no-repeat center center / cover;
  }

  .technology .top-section__title small {
    padding-block: .2em;
    font-size: 1.6rem;
  }

  .technology__box-wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 3em;
    margin-block-start: 4em;
  }

  /* usage */

  .usage__box {
    grid-template-columns: minmax(0, 1fr);
    gap: .5em;
    margin-block-start: 5rem;
  }

  .usage__box > div p {
    font-size: 1.8rem;
  }

  /* example */
  .example__box-list {
    margin-block-start: 5rem;
  }

  .example__box {
    grid-template-columns: minmax(0, 1fr);
    gap: 1em;
    margin-block-start: 3rem;
  }

  .example__box:nth-of-type(n+2) {
    border-top: solid 1px var(--light-gray);
    padding-block-start: 2em;
    margin-block-start: 2em;
  }

  .example__box span {
    font-size: 1.2rem;
    margin-block-end: .5em;
  }

  .example__box h3 {
    margin-block-end: .5em;
    font-size: 1.8rem;
  }

  /* faq */

  .faq__ttl {
    font-size: 2.2rem;
    margin-block-end: 5rem;
  }

  .btn-faq-control {
    padding-inline: 4rem 3.5rem;
    padding-block: 1.5em;
  }

  .question-wrap {
    font-size: 1.6rem;
  }

  .answer-wrap {
    display: none;
    padding-block-end: 2em;
  }

  .answer {
    position: relative;
    padding-inline: 4rem 0;
  }

  .faq-label {
    font-size: 2.4rem;
  }

  .answer .faq-text {
    line-height: 1.6;
  }
  .btn-faq-control::before,
  .btn-faq-control::after {
    inline-size: 16px;
    top:2.2em;
  }

  .question-wrap .faq-label {
    top: 1em;
  }

  /* product */

  .product .product__box {
    grid-template-columns: minmax(0, 1fr);
    column-gap: 10%;
  }

  .product .product__box img {
    display: block;
    max-width: 80%;
    margin-inline: auto;
  }

  .product__heading {
    font-size: 2rem;
    text-align: center;
  }

  .product .product__name {
    text-align: center;
  }

  .product .link-spec a {
    margin-inline: auto;
  }

  /* contact */

  .contact__heading {
    font-size: 2.2rem;
  }

  .contact__description {
    text-align: left;
  }

  .contact__link-wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 1em;
  }

  .contact .link-contact a {
    padding-block: 1em;
  }


}



/* ====================================
	PC&タブレット、印刷専用スタイル
===================================== */
@media print,
screen and (width >=768px) {

  /* サブセクション */
  .sub-section {
    padding-top: 13rem;
  }



}

/* ====================================
	タブレット専用スタイル（768px～1024px）
===================================== */
@media screen and (768px <=width < 1024px) {


}

/* ====================================
	PC専用スタイル
===================================== */
@media print,
screen and (width >=1080px) {

  .overview__gallery--pagination {
    right: 3rem;
  }

  .swiper {
    padding-inline: 2rem;
  }

  .swiper-wrapper {
    border: 1px solid var(--light-gray);
  }

  /* 拡大鏡 */
  .zoomContainer {
    z-index: 1;
  }

  .zoomWindow {
    box-shadow: 0px 0px 16px 0px rgba(0, 0, 0, .6);
  }
}


/* ====================================
	大画面スタイル（1200px～）
===================================== */
@media screen and (1300px <=width) {}