@charset "UTF-8";
/*==========================================
製品特長　MIMIO SOUND ONE
==========================================*/
#features-section .section1 {
  padding: clamp(6rem, 8vw, 8rem) 0;
  width: 90%;
  max-width: 1500px;
  margin: 0 auto;
}
#features-section .section1 .inner {
  margin: 0 auto;
  width: 100%;
}
#features-section .section1 .inner .title {
  font-size: clamp(3.8rem, 6vw, 4.2rem);
  margin-bottom: clamp(4rem, 6vw, 4.4rem);
  line-height: 1.3;
  font-weight: 300;
  text-align: center;
}
#features-section .section1 .inner .text {
  width: 100%;
  text-align: center;
  line-height: 2;
}
#features-section .media-box1 {
  width: 100%;
  max-width: 1200px;
  margin: 70px auto 0;
}
#features-section .media-box1 iframe {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.points-section{
  background: #F7F7F7;
  padding: 130px 20px;
}
.points-section .inner{
  max-width: 800px;
  margin: auto;
}
.points-section .img img{
  max-width: 100%;
  height: auto;
}
.title-point{
  margin-top: 120px;
}
.title-point:first-child{
  margin-top: 0;
}
.title-point h2 {
  font-size: clamp(2rem, 4vw, 2.2rem);
  color: #38b281;
  font-family: 'ZenKakuGothicNew';
}
.points-section .title{
  font-size: clamp(3.8rem, 6vw, 4.2rem);
  margin-bottom: clamp(4rem, 6vw, 4.4rem);
  line-height: 1.3;
  font-weight: 300;
  letter-spacing: normal;
}
.points-section .title{
  margin: 50px 0 20px;
}
.points-section p{
  letter-spacing: normal;
}
#features-section .section2 .img-box {
  width: 100%;
  margin: 0 auto;
}
#features-section .section2 .img-box img {
  width: 100%;
  height: auto;
  display: block;
}
#features-section .section3 {
  margin-bottom: clamp(10rem, 15vw, 13rem);
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  overflow: hidden;
}
#features-section .section3 .inner .contents1,
#features-section .section3 .inner .contents3 {
  display: flex;
  align-items: center;
  margin-bottom: 10rem;
}
#features-section .section3 .inner .contents1 .text-box,
#features-section .section3 .inner .contents3 .text-box {
  width: 100%;
  max-width: 650px;
}
#features-section .section3 .inner .contents1 .text-box .title,
#features-section .section3 .inner .contents3 .text-box .title {
  font-size: clamp(3.8rem, 6vw, 4.2rem);
  font-weight: 300;
  margin-bottom: 3rem;
}
#features-section .section3 .inner .contents1 .text-box .text-box-wrap,
#features-section .section3 .inner .contents3 .text-box .text-box-wrap {
  width: 90%;
  max-width: 440px;
  margin: 0 auto;
}
#features-section .section3 .inner .contents1 .text-box .wrap,
#features-section .section3 .inner .contents3 .text-box .wrap {
  width: 100%;
  flex: 1 1 300px;
  margin-bottom: 2rem;
}
#features-section .section3 .inner .contents1 .text-box .subtitle,
#features-section .section3 .inner .contents3 .text-box .subtitle {
  font-size: clamp(2rem, 4vw, 2.2rem);
  font-weight: normal;
  margin-bottom: 2.4rem;
}
#features-section .section3 .inner .contents1 .text-box .text,
#features-section .section3 .inner .contents3 .text-box .text {
  font-size: 1.6rem;
  line-height: 1.8;
}
#features-section .section3 .inner .contents1 .img-box,
#features-section .section3 .inner .contents3 .img-box {
  width: 100%;
  max-width: 850px;
  -o-object-fit: cover;
     object-fit: cover;
}
#features-section .section3 .inner .contents1 .img-box img,
#features-section .section3 .inner .contents3 .img-box img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#features-section .section3 .inner .contents2 {
  width: 90%;
  max-width: 960px;
  justify-content: space-around;
  margin: 0 auto 12rem;
}
#features-section .section3 .inner .contents2 .text-box {
  width: 100%;
  max-width: 650px;
}
#features-section .section3 .inner .contents2 .text-box .title {
  font-size: clamp(3.8rem, 6vw, 4.2rem);
  font-weight: 300;
  margin-bottom: 3rem;
}
#features-section .section3 .inner .contents2 .text-box .text-box-wrap {
  width: 90%;
  max-width: 630px;
  margin: 0 auto;
}
#features-section .section3 .inner .contents2 .text-box .wrap {
  width: 100%;
  flex: 1 1 300px;
  margin-bottom: 2rem;
}
#features-section .section3 .inner .contents2 .text-box .subtitle {
  font-size: clamp(2rem, 4vw, 2.2rem);
  font-weight: normal;
  margin-bottom: 2.4rem;
}
#features-section .section3 .inner .contents2 .img-box {
  width: 100%;
  max-width: 380px;
  -o-object-fit: cover;
     object-fit: cover;
}
#features-section .section3 .inner .contents2 .img-box img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#features-section .section4 {
  background: #F7F7F7;
  margin-bottom: clamp(10rem, 15vw, 13rem);
}
#features-section .section4 .inner {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  padding: clamp(8rem, 10vw, 12rem) 0;
}
#features-section .section4 .wrap {
  margin-bottom: 5rem;
}
#features-section .section4 .subtitle {
  font-weight: 300;
  font-size: 2.7rem;
  margin-bottom: 1.5rem;
}
#features-section .section4 h3.title {
  margin-bottom: clamp(4rem, 6vw, 4.5rem);
  font-size: clamp(3.8rem, 6vw, 4.2rem);
  font-weight: 300;
}
.title-point {
  display: flex;
  align-items: center;
  margin-bottom: 40px;
}
#features-section .title-point .title-point-label {
  display: flex;
  align-items: center;
}
#features-section .title-point .title-point-label .point {
  font-size: 1.2rem;
  color: #38b281;
  border-top: 2px solid #38B281;
  border-bottom: 2px solid #38B281;
  padding: 0.5rem 0.3rem;
  margin-right: 1rem;
  font-family: "Jost";
}
#features-section .title-point .title-point-label .number {
  font-size: clamp(6rem, 12vw, 8rem);
  line-height: 6rem;
  font-weight: 300;
  color: #38b281;
  margin-right: clamp(1.8rem, 3vw, 2rem);
  font-family: "Jost";
}
#features-section .title-point .title {
  font-size: clamp(2rem, 4vw, 2.2rem);
  color: #38b281;
  font-family: "ZenKakuGothicNew";
}
#features-section .title-point .text {
  font-size: 1.6rem;
  line-height: 1.8;
  font-family: "ZenKakuGothicNew";
}
#features-section .section4 .img-box {
  margin-bottom: 2em;
}
#features-section .section4 .img-box img {
  width: 100%;
  max-width: 800px;
  height: auto;
}
#features-section .section4 .media-wrap {
  margin-top: 10rem;
}
#features-section .media-box2 {
  width: 100%;
  max-width: 800px;
  margin: 40px auto 0;
}
#features-section .media-box2 iframe {
  width: 100%;
  aspect-ratio: 16/9;
}
#features-section .section5 {
  width: 90%;
  margin: 0 auto;
  margin-bottom: clamp(10rem, 15vw, 13rem);
}
.title-center-green{
  text-align: center;
  font-size: clamp(2.8rem, 6vw, 3.2rem);
  margin-bottom: 20px;
  line-height: 1.3;
  font-weight: 700;
  letter-spacing: normal;
  text-align: center;
  color: #38B281;
}
.title-center-green + .sub-title{
  text-align: center;
}
.points-section .title-center-green{
  margin-top: 60px;
}
.sound-compare{
  display: flex;
  gap: 20px;
  margin-top: 50px;
}
.sound-compare .col{
  flex: 1 1 0;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid #39b282;
  padding-bottom: 30px;
}
.sound-compare .col h4{
  text-align: center;
  border-bottom: 1px solid #39b282;
  font-size: 2rem;
  font-weight: 700;
  padding: 20px 0;
  letter-spacing: normal;
}
.sound-compare .col h4.active{
  background: #e7f6f0;
}
.sound-compare .col .img{
  text-align: center;
  margin: 30px 0 20px;
}
.sound-compare .col .img img{
  max-width: 170px;
  height: auto;
}
.point-flex{
  display: flex;
  gap: 50px;
}
.point-flex p{
  width: 300px;
  flex-shrink: 0;  
}
.title-point + .title{
  margin-top: 0;
}
.situation-section{
  margin-top: 130px;
}
.situation-section .grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  line-height: 1;
}
.situation-section .grid img{
  max-width: 100%;
  height: auto;
}
.situation-section .grid p{
  padding: 30px 0 30px 40px;
  font-size: 2.2rem;
}
.situation-section .grid:nth-child(even) p{
  border-left: 1px solid #e2e2e2;
  margin-left: -0.5px;
}
.title-center{
  text-align: center;
  font-size: clamp(3.8rem, 6vw, 4.2rem);
  margin-bottom: clamp(4rem, 6vw, 4.4rem);
  line-height: 1.3;
  font-weight: 300;
  letter-spacing: normal;
  text-align: center;
}
.function-section{
  max-width: 1240px;
  margin: 130px auto;
}
.function-section .grid{
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 40px;
}
.function-section .col{
  border: 5px solid #cdece0;
  border-radius: 10px;
  padding: 40px 35px;
  display: flex;
}
.function-section .col .txt{
}
.function-section .col h3{
  font-size: 3.2rem;
  color: #38B281;
  font-weight: 400;
  margin-bottom: 20px;
}
.usage-content{
  display: flex;
  gap: 40px;
  max-width: 1240px;
  margin: 40px auto 0 auto;
}
.usage-content .col{
  flex: 1 1 0;
  background: #f7f7f7;
  border-radius: 10px;
  text-align: center;
  padding: 40px 20px;
}
.usage-content .col h4{
  font-size: 2.6rem;
  color: #38B281;
  font-weight: 500;
}
.usage-content .col .img{
  margin: 20px 0;
}
.faq-section{
  margin: 130px auto;
}
.faq-content{
  max-width: 1240px;
  margin: 40px auto 0 auto;
}
.faq-content dl{
  border-top: 1px solid #e2e2e2;
}
.faq-content dl dt{
	font-size: 1.8rem;
	line-height: 1.5;
	font-weight: 500;
	cursor: pointer;
	padding: 20px 50px 20px 20px;
}
.faq-content dl dt,
.faq-content dl dd{
	position: relative;
  display: flex;
  gap: 20px;
  padding: 17px;
}
.faq-content dl dt{
  align-items: center;
}
.faq-content dl dt::before,
.faq-content dl dd::before{
  content: "Q";
  font-family: "Jost";
  font-size: 2.9rem;
  font-weight: 300;
  color: #fff;
  display: block;
  width: 55px;
  height: 55px;
  text-align: center;
  line-height: 55px;
  background: #b2b2b2;
  border-radius: 100px;
  flex-shrink: 0;
}
.faq-content dl dd::before{
  content: "A";
  background: #38B281;
}
.faq-content dl dd{
	line-height: 1.8;
  background: #f7f7f7;
}
.faq-content dl dt .ico{
	display: inline-block;
	width: 25px;
	height: 25px;
	position: absolute;
	top: calc(50% - 12px);
	right: 18px;
}
.faq-content dl dt .ico:before,
.faq-content dl dt .ico:after{
	content: "";
	display: block;
	width: 25px;
	height: 1px;
	background: #39b282;
	position: absolute;
	top: 10px;
	left: 0;
}
.faq-content dl dt .ico:after{
	transform: rotate(90deg);
	transition: all 0.2s linear;
}
.faq-content dl dt.active .ico:after{
	transform: rotate(0deg);
}
br.sp{
  display: none;
}

/* =========================================
    音声ボタン
========================================= */
.btn-audio {
  position: relative;
  width: 320px;
  height: 65px;
  cursor: pointer;
  border: none;
  background: transparent;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}
.btn-audio svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.svg-play   { z-index: 1; }
.svg-spectrum {
  z-index: 2;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
}
.btn-audio.is-playing .svg-play     { opacity: 0; }
.btn-audio.is-playing .svg-spectrum { opacity: 1; }
.s-fill-white  { fill: #fff; }
.s-fill-green  { fill: #39b282; }
.s-stroke-white {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3px;
}
.p-fill-white { fill: #fff; }
.p-fill-green { fill: #39b282; }
.p-text {
  fill: #fff;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .1em;
}
.btn-audio.is-playing .wave-bar {
  animation: wavePulse var(--dur, 0.7s) ease-in-out infinite alternate;
  transform-origin: center;
  transform-box: fill-box;
}
@keyframes wavePulse {
  0%   { transform: scaleY(0.15); }
  100% { transform: scaleY(1);    }
}
.btn-audio.is-playing .wave-bar:nth-child(1)  { --dur: 0.65s; animation-delay: 0.00s; }
.btn-audio.is-playing .wave-bar:nth-child(2)  { --dur: 0.50s; animation-delay: 0.08s; }
.btn-audio.is-playing .wave-bar:nth-child(3)  { --dur: 0.70s; animation-delay: 0.16s; }
.btn-audio.is-playing .wave-bar:nth-child(4)  { --dur: 0.55s; animation-delay: 0.24s; }
.btn-audio.is-playing .wave-bar:nth-child(5)  { --dur: 0.80s; animation-delay: 0.04s; }
.btn-audio.is-playing .wave-bar:nth-child(6)  { --dur: 0.60s; animation-delay: 0.30s; }
.btn-audio.is-playing .wave-bar:nth-child(7)  { --dur: 0.45s; animation-delay: 0.12s; }
.btn-audio.is-playing .wave-bar:nth-child(8)  { --dur: 0.75s; animation-delay: 0.20s; }
.btn-audio.is-playing .wave-bar:nth-child(9)  { --dur: 0.55s; animation-delay: 0.36s; }
.btn-audio.is-playing .wave-bar:nth-child(10) { --dur: 0.85s; animation-delay: 0.00s; }
.btn-audio.is-playing .wave-bar:nth-child(11) { --dur: 0.50s; animation-delay: 0.28s; }
.btn-audio.is-playing .wave-bar:nth-child(12) { --dur: 0.65s; animation-delay: 0.40s; }
.btn-audio.is-playing .wave-bar:nth-child(13) { --dur: 0.70s; animation-delay: 0.14s; }
.btn-audio.is-playing .wave-bar:nth-child(14) { --dur: 0.55s; animation-delay: 0.22s; }
.btn-audio.is-playing .wave-bar:nth-child(15) { --dur: 0.60s; animation-delay: 0.32s; }
.btn-audio:hover { transform: scale(1.03); transition: transform 0.18s ease; opacity: 1; }
.btn-audio:active { transform: scale(0.97); }
.btn-audio { transition: transform 0.18s ease; }

@media screen and (max-width: 820px) {
  #features-section .section1 .inner .title,
#features-section .section3 .inner .contents1 .text-box .title,
#features-section .section3 .inner .contents3 .text-box .title,
#features-section .section4 h3.title {
    font-size: 3.2rem;
  }
  #features-section .section3 {
    margin-bottom: clamp(10rem, 15vw, 13rem);
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    overflow: hidden;
  }
  #features-section .section3 .inner .contents3 {
    flex-direction: column-reverse;
  }
  #features-section .section3 .inner .contents1 {
    flex-direction: column;
  }
  #features-section .section3 .inner .contents1,
#features-section .section3 .inner .contents3 {
    width: 90%;
    margin: 0 auto 8rem;
  }
  #features-section .section3 .inner .contents1 .img-box,
#features-section .section3 .inner .contents3 .img-box {
    max-width: 550px;
  }
  #features-section .section3 .inner .contents2 .text-box {
    margin-bottom: 5rem;
  }
  #features-section .section3 .inner .contents2 .text-box .title {
    font-size: clamp(3.8rem, 6vw, 4.2rem);
    font-weight: 300;
    margin-bottom: 3rem;
  }
  #features-section .section3 .inner .contents2 .text-box .text-box-wrap {
    width: 90%;
    max-width: 630px;
    margin: 0 auto;
  }
  #features-section .section3 .inner .contents2 .text-box .wrap {
    width: 100%;
    flex: 1 1 300px;
    margin-bottom: 2rem;
  }
  #features-section .section3 .inner .contents2 .text-box .subtitle {
    font-size: clamp(2rem, 4vw, 2.2rem);
    font-weight: normal;
    margin-bottom: 2.4rem;
  }
  #features-section .section3 .inner .contents2 .img-box {
    width: 100%;
    max-width: 380px;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #features-section .section3 .inner .contents2 .img-box img {
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  br.sp{
    display: inline;
  }
  .points-section{
    padding: 40px 20px;
  }
  .title-point{
    margin-top: 70px;
    margin-bottom: 20px;
  }
  .points-section .title{
    font-size: 3.2rem;
  }
  .sound-compare{
    flex-direction: column;
  }
  .sound-compare .col{
    flex: auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .sound-compare .col h4{
    font-size: 1.6rem;
    width: 100%;
    margin-bottom: 30px;
  }
  .sound-compare .col .img{
    width: 30%;
    padding-left: 20px;
    margin: 0;
  }
  .sound-compare .col .img img{
    width: 100%;
    height: auto;
  }
  .sound-compare .flex-c{
    padding: 0 20px;
    flex-grow: 1;
  }
  .point-flex{
    flex-direction: column;
  }
  .point-flex p{
    width: 100%;
  }
  .title-center{
    font-size: 3.2rem;
  }
  .situation-section{
    margin: 70px 0;
  }
  .situation-section .grid{
    display: block;
  }
  .situation-section .title-center{
    padding: 0 20px;
  }
  #features-section .situation-section p{
    padding: 7px 20px 10px 20px;
    font-size: 1.6rem;
  }
  .function-section{
    margin: 70px 0;
  }
  .function-section .grid{
    padding: 0 20px;
    gap: 15px;
    grid-template-columns: 1fr;
  }
  .function-section .col{
    padding: 20px;
  }
  .function-section .col h3{
    font-size: 2.8rem;
  }
  .usage-section{
    padding: 0 20px;
  }
  .title-center-green{
    font-size: 2.2rem;
  }
  .usage-content{
    flex-direction: column;
    gap: 20px;
  }
  .usage-content .col{
    padding: 30px 20px;
  }
  .faq-section{
    margin: 70px 0;
  }
  .faq-content dl dt, .faq-content dl dd{
    padding-right: 57px;
  }
  .faq-content dl dt::before,
  .faq-content dl dd::before{
    font-size: 2rem;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin-top: 5px;
  }
  .faq-content dl dt{
    align-items: normal;
  }


  /**/
  .p-text{
    font-size: 25px;
  }
  .btn-audio{
    width: 100%;
    max-width: 320px;
  }
}
/*# sourceMappingURL=page-P-product-detail-ONE.css.map */