@font-face {
 font-family: "mmc";
 font-style: normal;
 font-weight: 400;
 font-display: swap;
 src: url("../fonts/MMC-Regular.woff2") format("woff2"), url("../fonts/MMC-Regular.woff") format("woff"), url("../fonts/MMC-Regular.eot") format("eot");
}

@font-face {
 font-family: "mmc";
 font-style: normal;
 font-weight: 500;
 font-display: swap;
 src: url("../fonts/MMC-Medium.woff2") format("woff2"), url("../fonts/MMC-Medium.woff") format("woff"), url("../fonts/MMC-Medium.eot") format("eot");
}

@font-face {
 font-family: "mmc";
 font-style: normal;
 font-weight: 600;
 font-display: swap;
 src: url("../fonts/MMC-Bold.woff2") format("woff2"), url("../fonts/MMC-Bold.woff") format("woff"), url("../fonts/MMC-Bold.eot") format("eot");
}

.font-mmc-400 {
 font-family: "mmc", sans-serif !important;
 font-weight: 400 !important;
}

.font-mmc-500 {
 font-family: "mmc", sans-serif !important;
 font-weight: 500 !important;
}

.font-mmc-600 {
 font-family: "mmc", sans-serif !important;
 font-weight: 600 !important;
}



.pc {
 display: block;
}

.sp {
 display: none;
}

@media (max-width:768px) {
 .pc {
  display: none;
 }

 .sp {
  display: block;
 }

}

body.fixed {
 position: fixed;
 width: 100%;
 overflow-y: scroll;
}


#owners-voice {
 display: flex;
 justify-content: space-between;
 background: #fff;
 position: relative;
 box-sizing: border-box;
}





@media (max-width:768px) {

 #owners-voice {
  flex-direction: column;
  min-height: auto;
  min-width: 100%;
 }

}



#owners-voice img,
#owners-voice canvas {
 max-width: 100%;
 height: auto;
}

.motion {
 opacity: 0;
 transition: all ease 1s;
 transform: translateY(20px);
}

.motion.is-animate {
 opacity: 1;
 transform: translateY(0);
}

.motion.l2.is-animate {
 opacity: 1;
 transform: translateY(0);
 transition-delay: .1s;
 z-index: 2;
}

.motion.l3.is-animate {
 opacity: 1;
 transform: translateY(0);
 transition-delay: .2s;
}

#owners-voice aside {
 width: calc(100% - 850px);
 position: relative;
 z-index: 10;
}





.owners-voice-left-pos {
 box-sizing: border-box;
 padding-top: 20px;
 transition: all ease 1s;
 left: 0;
 top: 50px;
 position: -webkit-sticky;
 position: sticky;
 width: 100%;
 height: 100vh;
 min-height: 100vh;
 background: url('../img/back-01.jpg') no-repeat center center / cover;
 box-sizing: border-box;
 z-index: 10;
}

.bg-img {
 position: absolute;
 top: 0;
 left: 0;
 bottom: 0;
 right: 0;
 opacity: 0;
 animation: bgAnime 24s infinite;
 z-index: 1;
 height: 100vh;
 min-height: 100vh;
 width: 100%;
}






.bgsrc-01 {
 background: url('../img/back-01.jpg') no-repeat center center / cover;
}

.bgsrc-02 {
 background: url('../img/back-02.jpg') no-repeat center center / cover;
 animation-delay: 12s;
}

@keyframes bgAnime {
 0% {
  opacity: 0;
 }

 5% {
  opacity: 1;
 }

 25% {
  opacity: 1;
 }

 30% {
  opacity: 0;
 }

 100% {
  opacity: 0;
 }
}

.owners-voice-left-title {
 margin-bottom: 20px;
 position: relative;
 z-index: 2;
}

.owners-voice-left-read {
 font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.5859))), 16px);
 color: #fff;
 font-weight: bold;
 line-height: 1.5;
 margin-left: 2em;
 position: relative;
 z-index: 2;
}

@media all and (-ms-high-contrast:none) {
 .owners-voice-left-read {
  font-size: calc(0.8125rem + ((1vw - 7.68px) * 0.5859));
 }
}

@media (min-width: 1280px) {
 .owners-voice-left-read {
  font-size: 16px;
 }
}



.mov-banner {
 min-width: 530px;
 position: fixed;
 z-index: 100;
 bottom: 3%;
 left: 30px;
}



.mov-banner a {
 width: 100%;
 display: block;
 box-sizing: border-box;
 border: 2px solid #fff;
 background: rgba(255, 255, 255, 0.8);
 transition: all ease .5s;
 z-index: 100;
}

.mov-banner a:hover {
 background: rgba(255, 255, 255, 1);
 border: 2px solid #CB0210;
}

.mov-banner figure {
 display: flex;
 width: 100%;
}

.mov-banner .img {
 width: 240px;
 display: block;
 position: relative;
}

.mov-banner video {
 width: 240px;
 display: block;
}

.mov-banner a .img .ico-play {
 position: absolute;
 left: 0;
 right: 0;
 bottom: 0;
 top: 0;
 width: 55px;
 height: 55px;
 margin: auto;
 transition: all ease .3s;
}

.mov-banner a:hover .img .ico-play {
 transform: scale(1.1, 1.1);
 transition: all ease .3s;
}


.mov-banner figure figcaption {
 display: flex;
 align-items: center;
 font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.9766))), 18px);
 font-weight: bold;
 line-height: 1.5;
 padding: 3%;
 width: calc(100% - 240px);
}

@media all and (-ms-high-contrast:none) {
 .mov-banner figure figcaption {
  font-size: calc(0.8125rem + ((1vw - 7.68px) * 0.9766));
 }
}

@media (min-width: 1280px) {
 .mov-banner figure figcaption {
  font-size: 18px;
 }
}


@media all and (-ms-high-contrast:none) {
 .owners-voice-left-read {
  font-size: calc(0.8125rem + ((1vw - 7.68px) * 0.5859));
 }
}

@media (min-width: 1280px) {
 .owners-voice-left-read {
  font-size: 16px;
 }
}

@media (max-width:768px) {

 .bg-img {
  width: 100%;
  height: auto;
  min-height: auto;
 }


 #owners-voice aside {
  height: 100vw;
  width: calc(100%);
  padding-top: 0;
  min-width: 100%;
  box-sizing: border-box;
 }


 .owners-voice-left-pos {
  box-sizing: border-box;
  padding-top: 20px;
  background: url('../img/back-01.jpg') no-repeat center center / cover;
  transition: all ease 1s;
  left: 0;
  top: 0;
  height: auto;
  position: -webkit-relative;
  position: relative;
  height: 100%;
  min-height: 100%;
 }


 .owners-voice-left-title {
  margin-bottom: 5px;
  width: 70%;
 }

 .owners-voice-left-read {
  font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.5859))), 16px);
  color: #fff;
  font-weight: bold;
  line-height: 1.5;
  margin-left: 1em;
 }

 .mov-banner video {
  width: 100%;
  display: block;
 }

 .mov-banner {
  min-width: 90%;
  bottom: 5%;
  left: 5%;
  position: absolute !important;
 }

 .mov-banner .img {
  width: 120px;
 }

 .mov-banner a .img .ico-play {
  width: 25px;
  height: 25px;
 }


 .mov-banner figure figcaption {
  width: calc(100% - 120px);
 }


}




.owners-voice-right {
 width: 850px;
 min-width: 850px;
 box-sizing: border-box;
 padding: 0 10px;
}



@media (max-width:768px) {


 .owners-voice-right {
  width: 100%;
  min-width: 100%;
  box-sizing: border-box;
  z-index: 4;
  padding: 10px;
 }


}



.set-01 {
 background: url('../img/set-01-back.png') no-repeat center center / cover;
 height: 230px;
 margin-bottom: 10px;
 display: flex;
 align-items: center;
 justify-content: center;
}

.set-01-wrap {
 background: #CB0210;
 width: 550px;
 height: 119px;
 position: relative;
 display: flex;
 align-items: center;
 justify-content: center;
}

.set-01-img-01 {
 position: absolute;
 left: -90px;
 bottom: -50px;
 width: 130px;
}

.set-01-img-02 {
 position: absolute;
 right: -90px;
 bottom: -40px;
 width: 130px;
}


@media (max-width:768px) {

 .set-01 {
  background: url('../img/set-01-back_sp.jpg') no-repeat center center / cover;
  height: auto;
  min-height: auto;
  margin-bottom: 10px;
  padding: 7% 0;
 }


 .set-01-wrap {
  background: #CB0210;
  width: 90%;
  height: auto;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 6% 5%;
 }

 .set-01-img-01 {
  position: absolute;
  left: auto;
  right: 0;
  bottom: -10px;
  width: 80px;
 }

 .set-01-img-02 {
  display: none;
 }



}



.voice {
 background: url('../img/voice-back-01.svg') no-repeat left top / 30px, url('../img/voice-back-02.svg') no-repeat right bottom / 32px;
 background-color: #FDF2F2;
 display: flex;
 justify-content: center;
 align-items: center;
 line-height: 1.4;
 font-weight: bold;
 font-size: min(max(16px, calc(1.125rem + ((1vw - 7.68px) * 1.5625))), 26px);
 position: relative;
}

@media all and (-ms-high-contrast:none) {
 .voice {
  font-size: calc(1rem + ((1vw - 7.68px) * 1.9531));
 }
}

@media (min-width: 1280px) {
 .voice {
  font-size: 26px;
 }
}


.voice::after {
 content: "";
 background: url('../img/voice-back-fukidashi.svg') no-repeat center bottom / 30px;
 width: 25px;
 height: 25px;
 position: absolute;
 bottom: -25px;
}

.voice.lvl2::after {
 display: none;
}

@media (max-width:768px) {

 .voice::after {
  content: "";
  background: url('../img/voice-back-fukidashi.svg') no-repeat center bottom / cover;
  width: 15px;
  height: 15px;
  position: absolute;
  bottom: auto;
  right: -15px;
  transform: scaleY(-1);
  ;
 }

}




.set-02,
.set-03,
.set-04,
.set-05,
.set-07 {
 display: flex;
 justify-content: space-between;
 margin-bottom: 10px;
 flex-direction: row;
}


@media (max-width:768px) {

 .set-02,
 .set-03,
 .set-04,
 .set-05,
 .set-07 {
  flex-direction: column;
  margin-bottom: 5px;
 }

}


.set-06 {
 display: block;
 margin-bottom: 10px;
}

.set-03,
.set-04,
.set-05.lvl2,
.set-07.lvl2 {
 flex-direction: row-reverse;
}

.set-05.lvl2 {
 align-items: center;
}

.set-02 .set-02-01,
.set-04 .set-04-01 {
 width: 410px;
 height: 410px;
 box-sizing: border-box;
 border: 2px solid #CB0210;
 position: relative;
}

@media (max-width:768px) {

 .set-06 {
  display: block;
  margin-bottom: 5px;
 }

 .set-03,
 .set-04,
 .set-05.lvl2,
 .set-07.lvl2 {
  flex-direction: row-reverse;
  flex-direction: column;
  margin-bottom: 5px;
 }

 .set-02 .set-02-01,
 .set-04 .set-04-01 {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  border: 2px solid #CB0210;
  position: relative;
  margin-bottom: 5px;
 }


}



.set-02 .set-02-01 a,
.set-03 .set-03-01 a,
.set-04 .set-04-01 a,
.set-07 .set-07-01 a {
 display: block;
 width: 100%;
 height: 100%;
}

.set-02 .set-02-02,
.set-04 .set-04-02 {
 width: 410px;
 display: flex;
 justify-content: space-between;
 flex-direction: column;
}





.set-02 .set-02-voice {
 height: 128px;
}

.set-02 .set-02-img,
.set-04 .set-04-img {
 height: 273px;
}


@media (max-width:768px) {

 .set-02 .set-02-02,
 .set-04 .set-04-02 {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-direction: row;
 }

 .set-02 .set-02-voice,
 .set-04 .set-04-voice {
  width: 49%;
  min-height: auto;
  height: auto;

 }

 .set-02 .set-02-img,
 .set-04 .set-04-img {
  width: 49%;
  height: auto;
  min-height: auto;
 }

}



.q-head {
 padding: 22px 0 22px 18px;
 line-height: 1.2;
}

.q-head figure {
 display: flex;
 align-items: flex-end;
}

.q-head figure img {
 width: 56px;
}

.q-head figcaption {
 padding-left: 10px;
 font-size: min(max(19px, calc(1.1875rem + ((1vw - 7.68px) * 0.9766))), 24px);
 font-weight: bold;
}

@media all and (-ms-high-contrast:none) {
 .q-head figcaption {
  font-size: calc(1.1875rem + ((1vw - 7.68px) * 0.9766));
 }
}

@media (min-width: 1280px) {
 .q-head figcaption {
  font-size: 24px;
 }
}


.ico-plus {
 position: absolute;
 bottom: 0;
 right: 0;
}

.ico-human {
 position: absolute;
 bottom: 0;
 left: 0;
}

.set-03 .set-03-01,
.set-07 .set-07-01 {
 width: 620px;
 height: 410px;
 box-sizing: border-box;
 border: 2px solid #CB0210;
 position: relative;
}

@media (max-width:768px) {

 .ico-plus {
  width: 40px;
 }

 .ico-human img {
  width: 70%;
 }

 .q-head figure img {
  width: 46px;
 }

 .set-03 .set-03-01,
 .set-07 .set-07-01 {
  width: 100%;
  height: auto;
  box-sizing: border-box;
  border: 2px solid #CB0210;
  position: relative;
  margin-bottom: 5px;
 }

}



.set-03 .set-03-02 {
 margin-right: 10px;
 width: 200px;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}

.set-03 .set-03-voice-wrap {
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}

.set-03 .set-03-voice {
 height: 100px;
 margin-bottom: 10px;
}

.set-03 .set-03-voice-02 {
 height: 145px;
}

.set-03 .set-03-img {
 height: 145px;
}


@media (max-width:768px) {

 .set-03 .set-03-02 {
  margin-right: 10px;
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
 }

 .set-03 .set-03-voice-wrap {
  width: 49%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
 }

 .set-03 .set-03-voice {
  height: 40%;
  margin-bottom: 5px;
 }

 .set-03 .set-03-voice-02 {
  height: 60%;
 }

 .set-03 .set-03-img {
  display: flex;
  width: 49%;
  height: auto;
 }


}




.set-04 .set-04-voice {
 height: 127px;
}


.set-05,
.set-06.lvl2 {
 box-sizing: border-box;
 border: 2px solid #CB0210;
 position: relative;
 width: 100%;
 transition: all ease .3s;
}

.set-05 {
 position: relative;
 z-index: 2;
}

.set-05 a:hover {}


.set-05 .set-05-01 {
 width: 515px;
 position: relative;
 display: flex;
 align-items: center;
 z-index: 1;
}

.set-05 .set-05-01 video {
 width: 100%;
 height: auto;
 z-index: 1;
 position: relative;
 display: block;
}

.set-05 .set-05-01 a:hover video,
.set-05 .set-05-01 a:hover {
 z-index: -1;
 position: relative;
}

.set-05 .set-05-01 a .ico-play {
 position: absolute;
 left: 0;
 right: 0;
 top: 0;
 bottom: 0;
 margin: auto;
 width: 72px;
 height: 72px;
 z-index: 10;
 transition: all ease .3s;
}

.set-05 .set-05-01 a:hover .ico-play {
 transform: scale(1.1, 1.1);
 transition: all ease .3s;
}

.set-05 .set-05-02 {
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding-left: 38px;
}

.set-05 .set-05-02 .set-05-tit-01 {
 margin-bottom: 20px;
}

.set-05 .set-05-02 .set-05-tit-02 {
 margin-bottom: 10px;
 line-height: 1.3;
 font-weight: bold;
 font-size: min(max(18px, calc(1.125rem + ((1vw - 7.68px) * 1.5625))), 26px);
}

.set-05 .set-05-02 .set-05-tit-03 {
 font-size: min(max(13px, calc(0.8125rem + ((1vw - 7.68px) * 0.3906))), 15px);
 font-weight: bold;
 margin-bottom: 30px;
}

.set-05-link{
 font-size: min(max(12px, calc(0.8125rem + ((1vw - 7.68px) * 0.3906))), 14px);
 font-weight: bold;
 line-height: 1.3;
}
.set-05 .set-05-02 p{
 font-size: min(max(12px, calc(0.8125rem + ((1vw - 7.68px) * 0.3906))), 14px);
 font-weight: bold;
 line-height: 1.3;
 background: #ffe5e7;
 padding: .5em 1em;
}
.set-05-link a {
 display: block;
 background: #CB0210;
 color: #fff;
 padding: 3% 6%;
 transition: all ease .5s;
 display: flex;
 justify-content: space-between;
 align-items: center;
}

.set-05-link a:hover {
 background: #CB0210;
}

.set-05-link a span {
 width: 22px;
 height: 22px;
 transition: all ease .4s;
}

.set-05-link a:hover span {
 transform: scale(1.1);
}


@media all and (-ms-high-contrast:none) {
 .set-05 .set-05-02 .set-05-tit-02 {
  font-size: calc(1.125rem + ((1vw - 7.68px) * 1.5625));
 }

 .set-05 .set-05-02 .set-05-tit-03 {
  font-size: calc(0.8125rem + ((1vw - 7.68px) * 0.3906));
 }
 
 .set-05-link{
  font-size: calc(0.75rem + ((1vw - 7.68px) * 0.3906));
 }
 
 .set-05 .set-05-02 p{
  font-size: calc(1.0625rem + ((1vw - 7.68px) * 0.9766));
 }
 
}

@media (min-width: 1280px) {
 .set-05 .set-05-02 .set-05-tit-02 {
  font-size: 26px;
 }

 .set-05 .set-05-02 .set-05-tit-03 {
  font-size: 15px;
 }
 
 .set-05-link{
  font-size: 14px;
 }
 
 .set-05 .set-05-02 p{
  font-size: 14px;
 }
 

}





@media (max-width:768px) {


 .set-04 .set-04-voice {
  height: auto;
 }


 .set-05 .set-05-01 {
  width: 100%;
  display: block;
  position: relative;
  background: url('../img/set-05-img.jpg') no-repeat top center / cover;
 }
 .set-05 .set-05-01 a{
  display: block;
 }
 
 .set-05 .set-05-01 video {
  width: 100%;
  display: block;
  height: auto;
 }

 .set-05 .set-05-01 a:hover .ico-play {
  transform: scale(1);
  transition: all ease .3s;
 }

 .set-05 .set-05-02 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 5%;
  width: 100%;
  box-sizing: border-box;
 }

 .set-05 .set-05-02 .set-05-tit-01 {
  margin-bottom: 18px;
 }

 .set-05 .set-05-02 .set-05-tit-02 {
  margin-bottom: 10px;
  line-height: 1.3;
  font-weight: bold;
 }

 .set-05 .set-05-02 .set-05-tit-03 {
  font-weight: bold;
  margin-bottom: 5px;
 }

 .set-05-link {
  margin-top: 20px;
 }
.set-05 .set-05-02 p{
  margin-top: 20px;
}
 
}




.set-07 .set-07-02 {
 width: 200px;
 display: flex;
 flex-direction: column;
 justify-content: space-between;
}

.set-07 .set-07-02 .set-07-img {
 height: 200px;
}

@media (max-width:768px) {

 .set-07 .set-07-02 {
  width: 100%;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
 }

 .set-07 .set-07-02 .set-07-img {
  width: 49%;
  height: auto;
 }


}


.set-all-body {
 padding-bottom: 60px;
}

.set-all-01 {
 background: url('../img/set-all-02.svg') no-repeat center center / cover;
}

.set-all-02 {
 background: url('../img/set-all-01.svg') no-repeat center center / cover;
}

.apng-pos {
 text-align: center;
}

figure#anime8 {
 display: flex;
 justify-content: center;
 align-items: center;
}

figure#anime8 figcaption {
 text-align: left;
 font-weight: bold;
 line-height: 1.3;
 padding-bottom: 1em;
 font-size: min(max(20px, calc(1.25rem + ((1vw - 7.68px) * 1.1719))), 26px);
}

@media (max-width:768px) {

 figure#anime8 {
  flex-direction: column;
 }

 .set-all-01 {
  background: url('../img/set-all-02_sp.svg') no-repeat center center / 100%;
 }

 .set-all-02 {
  background: url('../img/set-all-01_sp.svg') no-repeat center center / 100%;
 }

}

@media all and (-ms-high-contrast:none) {
 figure#anime8 figcaption {
  font-size: calc(1.25rem + ((1vw - 7.68px) * 1.1719));
 }
}

@media (min-width: 1280px) {
 figure#anime8 figcaption {
  font-size: 26px;
 }

}




.apng-image {
 width: 280px;
 margin: 0 auto;
}

.apng-image2 {
 width: 470px;
 margin: 15px auto 0;
}

.apng-image3 {
 width: 350px;
 margin: 60px auto 0;
}

.apng-image4 {
 width: 265px;
 margin: 8px auto 0;
}

.apng-image5 {
 width: 477px;
 margin: 40px auto 0;
}

.apng-image6 {
 width: 523px;
 margin: 70px auto 0;
}

.apng-image8 {
 width: 350px;
 margin: -30px -30px 0;
}

.apng-image7,
.apng-image9 {
 width: 770px;
 margin: 0 auto 0;
}

.apng-image_sp,
.apng-image2_sp,
.apng-image3_sp,
.apng-image4_sp,
.apng-image5_sp,
.apng-image6_sp,
.apng-image7_sp,
.apng-image8_sp,
.apng-image9_sp {
 display: none;
}

@media (max-width:768px) {

 .apng-image,
 .apng-image2,
 .apng-image3,
 .apng-image4,
 .apng-image5,
 .apng-image6,
 .apng-image7,
 .apng-image8,
 .apng-image9 {
  display: none;
 }

 .apng-image_sp {
  display: block;
  padding: 4% 8% 8%;
  width: 86%;
  margin: 0 auto;
 }

 .apng-image2_sp {
  display: block;
  padding: 2% 0% 8%;
  width: 90%;
  margin: 0 auto;
 }

 .apng-image3_sp {
  display: block;
  padding: 4% 8% 20%;
  width: 90%;
  margin: 0 auto;
 }

 .apng-image4_sp {
  display: block;
  padding: 1% 8% 0;
  width: 70%;
  margin: 0 auto;
 }

 .apng-image5_sp {
  display: block;
  padding: 4% 0 17%;
  width: 90%;
  margin: 0 auto;
 }

 .apng-image6_sp {
  display: block;
  padding: 8% 0 20%;
  width: 94%;
  margin: 0 auto;
 }

 .apng-image7_sp {
  display: block;
  padding: 2% 0 2%;
  width: 94%;
  margin: 0 auto;
 }

 .apng-image8_sp {
  display: block;
  padding: 0 2% 0;
  width: 90%;
  margin: -12% 0 -8%;
 }

 .apng-image9_sp {
  display: block;
  padding: 2% 0 2%;
  width: 94%;
  margin: 0 auto;
 }
}



@media (max-width:768px) {

 .modal__content .ico-close {
  width: 40px;
  height: 40px;
 }

 .modal__content .ico-close img {
  width: 40px;
  height: 40px;
 }

 .modal__content .q-head {
  padding: 5%;
 }

 .iziModal-body {
  width: 100%;
  padding: 5%;
  text-align: center;
 }

 .iziModal-body.lvl1 {
  width: 100%;
  padding: 5%;
  text-align: center;
 }

 .iziModal-body figcaption {
  text-align: left;
 }

 .iziModal-body figcaption br {
  display: none;
 }


}

.modal {
 display: none;
 height: 100vh;
 position: fixed;
 top: 0;
 width: 100%;
 z-index: 99990;
}

.modal__bg {
 background: rgba(0, 0, 0, 0.8);
 height: 100%;
 position: absolute;
 width: 100%;
}

.modal__content {
 background: #fff;
 left: 50%;
 position: absolute;
 top: 50%;
 transform: translate(-50%, -50%);
 width: 74vw;
 box-sizing: border-box;
 max-height: 90%;
 z-index: 1;
 overflow: auto;
}


.ico-close {
 position: absolute;
 top: 0%;
 right: 0%;
 z-index: 2;
 cursor: pointer;
}

.js-modal-close {
 cursor: pointer;
}

.modal__content.back-07 {
 background: #fff url('../img/modal-img-07-back.png') no-repeat center center /cover;
}

.modal__content.back-09 {
 background: #fff url('../img/modal-img-07-back.png') no-repeat center center /cover;
}

.modal__content .q-head {
 margin-left: 3%;
 margin-top: 2%;
}

.modal__content .q-head figcaption {
 font-size: min(max(17px, calc(1.1875rem + ((1vw - 7.68px) * 0.9766))), 24px);
}


.iziModal-body img {
 max-width: 75%;
 height: auto;
 margin: 0 auto;
}

.iziModal-body.lvl2 img {
 max-width: 96%;
 height: auto;
 margin: 0 auto 4%;
}

.iziModal-body.lvl3 img {
 max-width: 65%;
 height: auto;
 margin: 0 auto;
}

.iziModal-body {
 width: 100%;
 margin: 0 auto;
 box-sizing: border-box;
 padding: 1% 3% 1%;
 text-align: center;
}

.iziModal-body.lvl1 {
 width: 80%;
 box-sizing: border-box;
 padding: 0 0 3% 8%;
}

.iziModal-body.lvl4 {
 width: 100%;
 box-sizing: border-box;
 padding: 0;
}

.iziModal-body figure {
 text-align: center;
}

.iziModal-body figcaption {
 font-size: min(max(16px, calc(1rem + ((1vw - 7.68px) * 0.7813))), 20px);
 font-weight: bold;
 line-height: 1.5;
 padding: 4% 3%;
 text-align: center;
}

@media all and (-ms-high-contrast:none) {
 .iziModal-body figcaption {
  font-size: calc(1rem + ((1vw - 7.68px) * 0.7813));
 }
}

@media (min-width: 1280px) {
 .iziModal-body figcaption {
  font-size: 20px;
 }

}



.youtube {
 position: relative;
 width: 100%;
 height: 0;
 padding-bottom: 56.25%;
 overflow: hidden;
}

.youtube iframe {
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0;
 left: 0;
}


@media (max-width:768px) {

 .modal__content {
  width: 82%;
  max-height: 82%;
 }

 .iziModal-body {
  width: 100%;
  padding: 2% 6% 5%;
 }

 .modal__content .q-head {
  margin-left: 0%;
  margin-top: 4%;
 }

 .iziModal-body img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
 }

 .iziModal-body img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
 }

 .iziModal-body.lvl2 img {
  max-width: 100%;
  height: auto;
  margin: 0 auto 4%;
 }

 .iziModal-body.lvl3 img {
  max-width: 100%;
  height: auto;
  margin: 0 auto;
 }

 .iziModal-body figcaption {
  padding: 6% 0 4%;
  text-align: left;
 }

 .modal__content.back-07 {
  background: #fff url('../img/modal-img-07-back_sp.png') no-repeat center center /cover;
 }

 .modal__content.back-09 {
  background: #fff url('../img/modal-img-07-back_sp.png') no-repeat center center /cover;
 }

}



.familycamp-content {
 min-width: 1080px;
 max-width: 1200px;
 margin: 0 auto;
 padding: 0 3%;
}
.recommend-wrap{
 background: #393939;
 padding-top: 3.5%;
 
}

.familycamp-head {
 text-align: center;
 color: #fff;
 font-family: "mmc", "Noto Sans JP", sans-serif !important;
}

.familycamp-head h3 {
 font-size: 42px;
 border-bottom: 3px solid #fff;
 padding-bottom: 5px;
 display: inline-block;
 font-weight: bolder
}

.familycamp-head h3 span {
 border-bottom: 1px solid #fff;
 display: inline-block;
}

.familycamp-head h4 {
 font-size: 16px;
 font-weight: bold;
 padding: 30px 0 50px;
}


@media (max-width:768px) {

 .familycamp-content {
  min-width: 100%;
  padding: 0 5%;
  box-sizing: border-box;
 }

 .familycamp-head h3 {
  font-size: 28px;
 }

 .familycamp-head h4 {
  font-size: 14px;
  font-weight: bold;
  padding: 20px 0 40px;
 }
 
 
}
.familycamp-topics-list {
 display: flex;
 padding-bottom: 100px;
 justify-content: space-between;
}

.familycamp-topics-list li {
 width: calc((100% / 4) - 2%);
}

.familycamp-topics-list li img{
 width: 100%;
 height: auto;
}


.familycamp-topics-list li a {
 transition: all ease .4;
 opacity: 1;
}

.familycamp-topics-list li a:hover {
 opacity: .8;
}


@media (max-width:768px) {
 .familycamp-topics-list {
  flex-wrap: wrap;
 }

 .familycamp-topics-list li {
  width: calc((100% / 2) - 1.5%);
  margin-bottom: 3%;
 }


}

.l_pageArea {
  overflow: initial !important;
}