@charset "UTF-8";
/* CSS Document */
body:before {
  opacity: 0;
}
#pageWrap {
  padding: 0;
}
.notes-area {
	margin: 0 auto 0;
}
.boxWidth {
  container-type: inline-size;
}
#sec01 {
  position: relative;
}
#sec01 .imgWrap {
  position: relative;
  .imgBox {
    width: 23%;
  }
  .img02 {
    padding-top: 4%;
  }
  &::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #57BDB3;
    background: linear-gradient(315deg, rgba(87, 189, 179, 1) 0%, rgba(45, 57, 147, 1) 100%);
    mix-blend-mode: multiply;
  }
}
#sec01 .imgBox {
	opacity: 0;
}
.start #sec01 .imgBox {
	opacity: 1;
	transition: 1.5s 0.5s;
}
.start #sec01 .box02 {
	transition-delay: 0.8s;
}
.start #sec01 .box03 {
	transition-delay: 1.1s;
}
.start #sec01 .box04 {
	transition-delay: 1.4s;
}

#sec01 .titBox {
  position: absolute;
  z-index: 1;
  left: 0;
  width: 100%;
  top: 50%;
  transform: translateY(-50%);
  color: #fff;
}
#sec01 h1 {
	width: 33%;
  margin: 0 auto;
	opacity: 0;
}
#sec01 h2 {
  font-size: 2.3cqw;
	font-size: clamp(20px, 2.3cqw, 36px);
  padding: 2em 0 1em;
	opacity: 0;
}
#sec01 p.lead {
  font-size: 1.3cqw;
	font-size: clamp(15px, 1.3cqw, 24px);
	opacity: 0;
}
.start #sec01 h1 {
	opacity: 1;
	transition: 1.5s 2s;
}
.start #sec01 h2 {
  opacity: 1;
	transition: 1.5s 2.3s;
}
.start #sec01 p.lead {
  opacity: 1;
	transition: 1.5s 2.6s;
}

#sec01 .cap {
  color: #fff;
  position: absolute;
  right: 1em;
  bottom: 0.5em;
  font-size: 10px;
}
.h2Box {
  h2 {
    font-size: clamp(13px, 3.4cqw, 306px);
    color: #0075c1;
    letter-spacing: 0.1em;
    padding: 1em 0 0.5em;
    .sankaku {
      display: inline-block;
      width: 3.2cqw;
      margin-right: 0.3em;
    }
    .sanR {
      transform: scaleX(-1);
      margin-right: auto;
      margin-left: 0.3em;
    }
  }
}
.grd01 {
  background: linear-gradient(315deg, rgba(45, 57, 147, 1) 0%, rgba(87, 189, 179, 1) 100%);
}
.grd02 {
  background: linear-gradient(315deg, rgba(87, 189, 179, 1) 0%, rgba(45, 57, 147, 1) 100%);
}
#sec02 {
  padding: 3% 0;
  .grfBox {
    background-color: #fff;
    box-shadow: 7px 7px 15px rgba(0, 0, 0, 0.6);
    margin-bottom: 50px;
    h3 {
      color: #fff;
      font-size: 32px;
      padding: 0.1em;
      span {
        font-size: 60%;
      }
    }
    .figWrap {
      position: relative;
      height: 0;
      padding-top: 32.6%;
      margin: 5% 5% 3%;
    }
    .figBox {
      position: absolute;
      width: 100%;
      height: 100%;
      left: 0;
      top: 0;
      .grf {
        position: absolute;
        width: 30%;
        left: 39.7%;
        top: 7%;
      }
      .num {
        position: absolute;
        width: 50%;
        left: 0;
        top: 0;
        opacity: 0;
      }
    }
    .figBox.active .num {
      opacity: 1;
      transition-duration: 0.6s;
    }
    .grf01 {
      .num01 {
        width: 31.8%;
        left: 68.0%;
        top: 7.3%;
        transition-delay: 0.2s;
      }
      .num02 {
        width: 37.0%;
        left: 62.5%;
        top: 79%;
        transition-delay: 0.4s;
      }
      .num03 {
        width: 40.8%;
        left: 1.6%;
        top: 66%;
        transition-delay: 0.6s;
      }
      .num04 {
        width: 32.1%;
        left: 9.7%;
        top: 13%;
        transition-delay: 0.8s;
      }
      .num05 {
        width: 22.7%;
        left: 28.6%;
        top: -7%;
        transition-delay: 1s;
      }
    }
    ul {
      width: 90%;
      max-width: 700px;
      margin: 0 auto;
      container-type: inline-size;
			padding-top: 	0.5em;
      li {
        text-align: left;
        font-size: clamp(15px, 3.4cqw, 26px);
        padding: 0.5em 0;
        border-bottom: #000 dotted 1px;
				text-indent: -1.2em;
				line-height: 1.4;
				padding-left: 1.2em;
        &::before {
          content: "■";
          margin-right: 0.2em;
        }
      }
			li:nth-last-of-type(1) {
	border: none;
			}
    }
    p.cap {
      text-align: right;
      padding-right: 1em;
      padding-bottom: 0.5em;
      font-size: 11px;
    }
  }
}
#sec02 .h3-02 {
	color: #b50005;
	  font-size: clamp(13px, 4.0cqw, 36px);
	padding: 1em 0;
	span {
		display: inline-block;
		color: #fff;
		/*background-color: #b50005;*/
		padding: 0 1em;
		position: relative;
		overflow: hidden;
		/*transform: scale(1.5);
		opacity: 0;*/
		&::after {
			content: "";
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background-color: #b50005;
			z-index: -1;
			transform: translateX(-100%);
		}
	}
}
#sec02 .h3-02.active span::after {
	transform: translateX(0);
	transition: 1s 0.5s;
}

#sec03 {
  .imgBox {
    width: 25%;
  }
}
#sec04 .itemsWrap {
  background-color: #fff;
  box-shadow: 7px 7px 15px rgba(0, 0, 0, 0.6);
  margin-bottom: 50px;
  h3 {
    color: #fff;
    font-size: 32px;
    padding: 0.1em;
    span {
      font-size: 60%;
    }
  }
}
#sec04 {
  .items {
    gap: 50px 50px;
    padding: 50px 30px;
    a {
      display: block;
      width: calc((100% / 3) - 35px);
      background-image: url(../images/bg-voice.png);
      background-position: left top;
      background-size: 100%;
      background-repeat: no-repeat;
      transition: 0.3s;
      box-shadow: 7px 7px 15px rgba(0, 0, 0, 0.5);
    }
  }
  p.desc {
    padding-top: 30px;
  }
}
.dly02 {
  transition-delay: 0.2s !important;
}
.dly03 {
  transition-delay: 0.4s !important;
}
.dly04 {
  transition-delay: 0.6s !important;
}
.dly05 {
  transition-delay: 0.8s !important;
}
/* オーバーレイ 初期状態 */
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
/* オーバーレイ 表示アニメーション */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: .8;
}
/* オーバーレイ 非表示アニメーション */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
/* コンテンツ 初期状態 */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all .3s ease-out;
  -moz-transition: all .3s ease-out;
  transition: all .3s ease-out;
}
/* コンテンツ 表示アニメーション */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
/* コンテンツ 非表示アニメーション */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
.voiceBox {
  display: block;
  width: 80%;
  max-width: 600px;
  background-image: url(../images/bg-voice.png);
  background-size: 100%;
  margin: 0 auto;
  position: relative;
}
.voiceBox .close {
  position: absolute;
  font-size: 40px;
  color: #fff;
  left: 102%;
  bottom: 102%;
}
@media screen and (max-width: 959px) {
  #sec02 {
    .h2Box {
      h2 {
        font-size: clamp(13px, 4.4cqw, 30px);
      }
      p.lead {
        font-size: 2.5cqw;
      }
    }
    .grfBox {
      h3 {
        font-size: clamp(13px, 3.4cqw, 30px);
      }
    }
  }
  #sec04 {
    .items {
      gap: 30px 0px;
      a {
        width: calc((100% / 2) - 15px);
      }
    }
    .h2Box {
      h2 {
        font-size: clamp(13px, 4.4cqw, 30px);
      }
    }
  }
}
@media screen and (max-width: 599px) {
	#sec01 {
		
	}
	#sec01 .imgWrap {
		padding-top: 85vw;
		.imgBox {
			width: 25%;
		}
		.img02 {
			padding-top: 0%;
		}
	}
	
	#sec01 .titBox {
    position: absolute;
    z-index: 1;
    left: 0;
    width: 100%;
    top: 36%;
    transform: translateY(-50%);
	}
	#sec01 h1 {
		width: 33%;
		margin: 0 auto;
		opacity: 0;
	}
	#sec01 h2 {
		font-size: clamp(18px, 4.5cqw, 24px);
		padding: 1em 0 1em;
	}
	#sec01 p.lead {
		font-size: 1.3cqw;
		font-size: clamp(13px, 3.8cqw, 16px);
		opacity: 0;
	}
	
  #sec02 {
    padding: 3% 0;
    .h2Box {
      h2 {
        font-size: 5.2cqw;
        font-size: clamp(13px, 5.2cqw, 20px);
      }
      p.lead {
        font-size: 3.6cqw;
        font-size: clamp(13px, 3.6cqw, 15px);
      }
    }
    .grfBox {
      width: 90%;
      max-width: 400px;
      margin: 0 auto 25px;
      h3 {
        font-size: clamp(13px, 5.2cqw, 20px);
				line-height: 1.3;
				padding: 0.5em;
      }
      .figWrap {
        position: relative;
        height: auto;
        padding-top: 0;
        margin: 20px 20px 0;
      }
      .figBox {
        position: static;
        width: 100%;
        .grf {
          position: static;
          width: 80%;
          margin: 0 auto;
        }
        .num {
          position: static;
          width: 80%;
					max-width: 300px;
          margin: 5px auto 0;
        }
      }
    }
    p.cap {
      font-size: 10px;
      padding: 1em 0;
    }
  }
	#sec02 .grfBox ul li {
		font-size: clamp(15px, 5.6cqw, 26px);
	}
	#sec02 .h3-02 {
    font-size: clamp(15px, 5.3cqw, 24px);
	}
	
  #sec03 {
    .imgBox {
      width: 50%;
    }
  }
  #sec04 {
    padding: 6% 0 3%;

    .h3Box {
      padding: 50px 0 20px;
      h3 {
        font-size: 34px;
      }
    }
  }
	#sec04 .itemsWrap h3 {
    font-size: clamp(13px, 5.2cqw, 20px);
		line-height: 1.3;
		padding: 0.5em;
  }

  #sec04 {
    .items {
      gap: 20px 50px;
			padding: 20px 0;
      a {
        display: block;
        width: 90%;
        margin: 0 auto;
        pointer-events: none;
      }
    }
    p.desc {
      padding-top: 0px;
      display: none;
    }
  }