/*--------------------
top.css
--------------------*/


.l-block01{
  
}
.l-block01-back{
  position: relative;
}
.l-block01-back:after{
  content: "";
  display: inline-block;
  left: 0;
  top: 0;
  width:100%;
  height: 80.0rem;
  position: absolute;
  z-index: -1;
  background:#eaf7f5;
  margin:0 auto;
}
.l-block01-animation{  
  background-image:
    url("../images/common/page-bg01_pc.png");
  background-position:
    top 46.7rem center;
  background-repeat:
    no-repeat;
  background-size:
    100% auto;
  background-color:
    transparent;
  padding-bottom:60.0rem;
}
.l-block01-animation-inner{
  max-width:120.0rem;
  width:100%;
  margin:0 auto;
  padding-top:6.5rem;
  position:relative;
}
.l-block01-animation01{
  animation: plane01 14.0s linear 0s forwards;
  position: absolute;
  left:0;
  top:0;
  z-index:10;
}
.l-block01-animation01-2{
  animation: plane01-2 14.0s linear 0s infinite;
  position: absolute;
  left:0;
  top:0;
  z-index:10;
  
  display:none !important;
}
.l-block01-animation01 img{
  width:17.2rem;
  position: sticky;
  top: 8.0rem;
}
.l-block01-animation01-2 img{
  width:17.2rem;
  position: sticky;
  top: 8.0rem;
}
@keyframes plane01 { /*animation-nameで設定した値を書く*/

  0% {
    opacity:1.0;
		transform: translate(-20.0rem, 0rem);
	}

	45% {
		opacity:1.0;
	}

	50% {
		transform: translate(90.0rem, 90.0rem);
    opacity:0;
	}

  100% {
    opacity:0;
    transform: translate(-20.0rem, 0rem);
  }

}
@keyframes plane01sp { /*animation-nameで設定した値を書く*/

  0% {
    opacity:1.0;
    transform: translate(0, 0rem);
  }

  45% {
    opacity:1.0;
  }

  50% {
    transform: translate(60vw, 75vw);
    opacity:0;
  }

  100% {
    opacity:0;
    transform: translate(0, 0rem);
  }

}
@keyframes plane01-2 { /*animation-nameで設定した値を書く*/

	0% {
		opacity:0;
    transform: translate(-20.0rem, 0rem);
	}
  49% {
    opacity:0;
		transform: translate(-20.0rem, 0rem);
	}
  50% {
    opacity:1.0;
		transform: translate(-20.0rem, 0rem);
	}

	95% {
		opacity:1.0;
	}

	100% {
		transform: translate(90.0rem, 90.0rem);
    opacity:0;
	}

}
@keyframes plane01sp-2 { /*animation-nameで設定した値を書く*/

  0% {
		opacity:0;
	}
  49% {
    opacity:0;
		transform: translate(0, 0rem);
	}
  50% {
    opacity:1.0;
    transform: translate(0, 0rem);
  }

  95% {
    opacity:1.0;
  }

  100% {
    transform: translate(60vw, 75vw);
    opacity:0;
  }

}
.l-block01-animation02{
  animation: plane02 20.0s linear 0s infinite;
  position: absolute;
  right:0;
  top:0;
  z-index:10;
}
.l-block01-animation02 img{
  width:17.2rem;
  position: sticky;
  top: 8.0rem;
}
.l-block01-animation02-2{
  animation: plane02-2 20.0s linear 0s infinite;
  position: absolute;
  right:0;
  top:0;
  z-index:10;
}
.l-block01-animation02-2 img{
  width:17.2rem;
  position: sticky;
  top: 8.0rem;
}
@keyframes plane02 { /*animation-nameで設定した値を書く*/

  0% {
    opacity:1.0;
		transform: translate(20.0rem, 0);
	}

	45% {
		opacity:1.0;
	}

	50% {
    transform: translate(-75.0rem, 75.0rem);
    opacity:0;
	}
  
  100% {
    opacity:0;
    transform: translate(20.0rem, 0);
  }

}
@keyframes plane02sp { /*animation-nameで設定した値を書く*/

  0% {
    opacity:1.0;
		transform: translate(0, 0);
	}

	45% {
		opacity:1.0;
	}

	50% {
		transform: translate(-60vw, 75vw);
    opacity:0;
	}
  
  100% {
    opacity:0;
    transform: translate(0, 0);
  }

}
@keyframes plane02-2 { /*animation-nameで設定した値を書く*/

	0% {
    opacity:0;
	}
  50% {
    opacity:0;
		transform: translate(20.0rem, 0);
	}
  51% {
    opacity:1.0;
		transform: translate(20.0rem, 0);
	}

  95% {
    opacity:1.0;
  }

	100% {
    transform: translate(-75.0rem, 75.0rem);
    opacity:0;
	}

}
@keyframes plane02sp-2 { /*animation-nameで設定した値を書く*/
  
  0% {
    opacity:0;
	}  
  50% {
    opacity:0;
		transform: translate(0, 0);
	}
  51% {
    opacity:1.0;
		transform: translate(0, 0);
	}
  95% {
    opacity:1.0;
  }
	100% {
		transform: translate(-60vw, 75vw);
    opacity:0;
	}

}
.l-block01-animation03{
  display:block;
  text-align: center;
}
.l-block01-animation03 img{
  width:70.5rem;
}
.l-block01-animation04{
  position: relative;
  margin-top:-60.0rem;
  height: 265.0rem;
  max-width: 120.0rem;
  width: 100%;
  margin-left:auto;
  margin-right:auto;
}
.l-block01-animation04-sticky{
  width:90.0rem;
  display:block;
  text-align: center;
  padding-top:1.0rem;
  position: sticky;
  left: 0;
  right: 0;
  top: 8.0rem;
  margin: -4.0rem auto 0;
}
.l-block01-animation04-sticky.plane01{
  z-index:7;
}
.l-block01-animation04-sticky.plane01-2{
  z-index:7;
}
.l-block01-animation04-sticky.plane02{
  z-index:7;
}
.l-block01-animation04-sticky.plane02-2{
  z-index:7;
}
.l-block01-animation04 .l-block01-animation04-sticky > img{
  width:100%;
  position: relative;
  z-index:1;
}


@media all and (max-width: 767.5px) {
  .l-block01{

  }
  .l-block01-back{
    position: relative;
  }
  .l-block01-back:after{
    content: "";
    display: inline-block;
    left: 0;
    top: 0;
    width:100%;
    height: 55.0rem;
    position: absolute;
    z-index: -1;
    background:#eaf7f5;
    margin:0 auto;
  }
  .l-block01-animation{  
    background-image:
      url("../images/common/page-bg01_pc.png");
    background-position:
      top 40.7rem center;
    background-repeat:
      no-repeat;
    background-size:
      100% auto;
    background-color:
      transparent;
    padding-bottom:60.0rem;
  }
  .l-block01-animation-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding-top:6.5rem;
    position:relative;
  }
  .l-block01-animation01{
    animation: plane01sp 14.0s linear 0s forwards;
    position: absolute;
    left:0;
    top:0;
    z-index:10;
  }
  .l-block01-animation01 img{
    width:17.2rem;
    position: sticky;
    top: 8.0rem;
  }
  .l-block01-animation01-2{
    animation: plane01sp-2 14.0s linear 0s infinite;
    position: absolute;
    left:0;
    top:0;
    z-index:10;
  
    display:none !important;
  }
  .l-block01-animation01-2 img{
    width:17.2rem;
    position: sticky;
    top: 8.0rem;
  }
  .l-block01-animation02{
    animation: plane02sp 20.0s linear 0s infinite;
    position: absolute;
    right:0;
    top:0;
    z-index:10;
  }
  .l-block01-animation02 img{
    width:17.2rem;
    position: sticky;
    top: 8.0rem;
  }
  .l-block01-animation02-2{
    animation: plane02sp-2 20.0s linear 0s infinite;
    position: absolute;
    right:0;
    top:0;
    z-index:10;
  }
  .l-block01-animation02-2 img{
    width:17.2rem;
    position: sticky;
    top: 8.0rem;
  }
  .l-block01-animation03{
    display:block;
    text-align: center;
  }
  .l-block01-animation03 img{
    width:80%;
  }
  .l-block01-animation04{
    position: relative;
    margin-top:-60.0rem;
    height: 298.0rem;
    max-width: 100%;
    width: 100%;
    margin-left:auto;
    margin-right:auto;
    z-index: 1;
  }
  .l-block01-animation04-sticky{
    width:100%;
    display:block;
    text-align: center;
    padding-top:2.0rem;
    position: sticky;
    left: 0;
    right: 0;
    top: 12.0rem;
    margin: -4.0rem auto 0;
  }
  .l-block01-animation04-sticky.plane01{
    z-index:7;
  }
  .l-block01-animation04-sticky.plane02{
    z-index:7;
  }
  .l-block01-animation04 .l-block01-animation04-sticky > img{
    width:80%;
    position: relative;
    z-index:1;
  }
}


.l-block02{
  margin-top:-193.0rem;
  position:relative;
}
.l-block02:after{
  content: "";
  display: inline-block;
  top: 0;
  width:100%;
  height: 37.0rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block02-bg02_pc.png") top center no-repeat transparent;
  background-size: 100% auto;
  min-height:37.0rem;
  margin:0 auto;
}
.l-block02-inner{
  max-width:calc(1400px + 10.0rem);
  width:100%;
  margin:0 auto;
  padding:0 5.0rem;
  position:relative;
  min-height:124.0rem;
}
.l-block02-inner:after{
  content: "";
  display: inline-block;
  top: 15.0rem;
  left:0;
  right:0;
  width:135.0rem;
  height: 119.7rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block02-bg03_pc.png") bottom center no-repeat transparent;
  background-size: 100% auto;
  min-height:119.7rem;
  margin:0 auto;
}
.l-block02-block{
  width:100%;
  position: relative;
  z-index: 5;
  padding-top:35.0rem;
}
.l-block02-block > span{
  display: block;
  font-family: 'satoshi-Black';
  text-align: center;
  color: #FFFFFF;
  
  font-size: clamp(31px, 4.2rem, 42px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0em;
}
.l-block02-block h2{
  padding-top:9.0rem;
  text-align: center;
}
.l-block02-block h2 img{
  width:28.2rem;
}
.l-block02-block p{
  padding-top:6.0rem;
  text-align: center;
}
.l-block02-block p span{
  display:block;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 2.4;
  letter-spacing: 0.05em;
  
  opacity:0;
}
.l-block02-block p span{
  opacity:0;
  transition: opacity .8s cubic-bezier(0.55, 0.055, 0.675, 0.19);  
}
.l-block02-block p.js-active01 span{
  opacity:1;
}
.l-block02-block p.js-active01 span:nth-of-type(1){
  transition-delay: 0.1s;
}
.l-block02-block p.js-active01 span:nth-of-type(2){
  transition-delay: 0.2s;
}
.l-block02-block p.js-active01 span:nth-of-type(3){
  transition-delay: 0.3s;
}
.l-block02-block p.js-active01 span:nth-of-type(4){
  transition-delay: 0.4s;
}
.l-block02-block p.js-active01 span:nth-of-type(5){
  transition-delay: 0.5s;
}
.l-block02-block p.js-active01 span:nth-of-type(6){
  transition-delay: 0.6s;
}


@media all and (max-width: 767.5px) {
  .l-block02{
    margin-top:-246.0rem;
    position:relative;
  }
  .l-block02:after{
    content: "";
    display: inline-block;
    top: 0;
    width:100%;
    height: 37.0rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block02-bg02_pc.png") top center no-repeat transparent;
    background-size: 100% auto;
    min-height:37.0rem;
    margin:0 auto;
  }
  .l-block02-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 0;
    position:relative;
    min-height:124.0rem;
  }
  .l-block02-inner:after{
    content: "";
    display: inline-block;
    top: 15.0rem;
    left:0;
    right:0;
    width:100%;
    height: 140.0rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block02-bg03_sp.png") bottom center no-repeat transparent;
    background-size: 145% 100%;
    min-height:140.0rem;
    margin:0 auto;
  }
  .l-block02-block{
    width:100%;
    position: relative;
    z-index: 5;
    padding-top:35.0rem;
  }
  .l-block02-block > span{
    display: block;
    font-family: 'satoshi-Black';
    text-align: center;
    color: #FFFFFF;

    font-size: clamp(31px, 4.2rem, 42px);
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0em;
  }
  .l-block02-block h2{
    padding-top:9.0rem;
    text-align: center;
  }
  .l-block02-block h2 img{
    width:28.2rem;
  }
  .l-block02-block p{
    padding-top:6.0rem;
    text-align: center;
  }
  .l-block02-block p span{
    display:block;
    text-align: center;
    color: #FFFFFF;

    font-size:3.0rem;
    font-weight: 700;
    line-height: 2.4;
    letter-spacing: 0.05em;
  }
}


.l-block03{
  padding:21.5rem 0 18.0rem;
  background-image:
    url("../images/top/block03-bg01_pc.png");
  background-position:
    top center;
  background-repeat:
    no-repeat;
  background-size:
    100% auto;
  background-color:
    transparent;
  position:relative;
  z-index:10;
}
.l-block03-inner{
  max-width:calc(1200px + 10.0rem);
  width:100%;
  margin:0 auto;
  padding:0 5.0rem;
}
.l-block03-block01{
  padding-bottom:6.0rem;
}
.l-block03-block01 > span{
  display:block;
  font-family: 'satoshi-Bold';
  text-align: left;
  color: #eaf7f5;
  
  font-size: clamp(100px, 14.0rem, 140px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-block03-block01 h2{
  margin-top: -3.0rem;
  padding-left: 0.7rem;
  text-align: left;
  color: #303838;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-block03-block01 h3{
  background:#FFFFFF;
  padding-top:5.0rem;
  text-align: center;
  color: #303838;
  
  font-size: clamp(38px, 6.0rem, 60px);
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.1em;
}
.l-block03-block01 h3 span{
  display:inline-block;
  vertical-align: top;
  text-align: center;
  color: #303838;
  
  font-size: clamp(38px, 6.0rem, 60px);
  font-weight: 700;
  line-height: 1.66;
  letter-spacing: 0.1em;
}

.l-block03-back{
  position: sticky;
  height: auto;
  background:#FFFFFF;
  padding-top:1.0rem;
}
.l-block03-back.type01{
  top:8.0rem;
}
.l-block03-back01{
  background: linear-gradient(90deg, #eaf7f5 0%, #eaf7f5 50%, transparent 50%, transparent 100%);
  padding-right:6.0rem;
  padding-left:5.0rem;
  margin-top:7.0rem;
}
.l-block03-back01-inner{
  max-width:1260px;
  width:100%;
  margin:0 auto;
  background:#eaf7f5;
  border-radius:0 32.0rem 32.0rem 0;
  padding:6.0rem 6.0rem 6.0rem 0;
}
.l-block03-back01-table{
  width:100%;
  display:table;
}
.l-block03-back01-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block03-back01-table-left{
  width:12.5rem;
  text-align: left;
}
.l-block03-back01-table-left picture{
  display:inline-block;
  padding-left:0.5rem;
}
.l-block03-back01-table-left picture img{
  width:6.7rem;
}
.l-block03-back01-table-left p{
  width:6.7rem;
  display: inline-block;
  padding-top:1.0rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
  color: #64beb4;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block03-back01-table-center{
  padding-top:0;
  padding-right:7.5rem;
  vertical-align: middle !important;
}
.l-block03-back01-table-center p{
  text-align: left;
  color: #303838;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.l-block03-back01-table-center p span{
  color: #64beb4;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.l-block03-back01-table-center ul{
  padding-top:6.0rem;
}
.l-block03-back01-table-center ul li{
  display:block;
  border-top:1px solid #FFFFFF;
}
.l-block03-back01-table-center ul li:last-of-type{
  border-bottom:1px solid #FFFFFF;
}
.l-block03-back01-table-center ul li a{
  display:block;
  padding:2.0rem 5.0rem 2.0rem 0;
  background: url("../images/common/common-icon02_pc.png") right 2.0rem center no-repeat transparent;
  background-size: 0.8rem auto;
  min-height:1.1rem;
  text-align: left;
  color: #303838;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.l-block03-back01-table-center ul li a:hover{
  background: url("../images/common/common-icon07_pc.png") right 2.0rem center no-repeat transparent;
  background-size: 0.8rem auto;
  min-height:1.1rem;
  color: #64beb4;
}
.l-block03-back01-table-right{
  width:55.1rem;
}
.l-block03-back01-table-right img{
  width:100%;
}

.l-block03-back.type02{  
  top:8.0rem;
}
.l-block03-back02{
  background: linear-gradient(90deg, transparent 0%, transparent 50%, #eaf7f5 50%, #eaf7f5 100%);
  padding-left:6.0rem;
  padding-right:5.0rem;
  margin-top:7.0rem;
}
.l-block03-back02-inner{
  max-width:1260px;
  width:100%;
  margin:0 auto;
  background:#eaf7f5;
  border-radius:32.0rem 0 0 32.0rem;
  padding:6.0rem 0 6.0rem 6.0rem;
}
.l-block03-back02-table{
  width:100%;
  display:table;
}
.l-block03-back02-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block03-back02-table-right{
  width:12.5rem;
  text-align: right;
}
.l-block03-back02-table-right picture{
  display:inline-block;
  padding-left:0.5rem;
}
.l-block03-back02-table-right picture img{
  width:6.7rem;
}
.l-block03-back02-table-right p{
  width:6.7rem;
  display: inline-block;
  padding-top:1.0rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: left;
  color: #64beb4;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block03-back02-table-center{
  padding-top:0;
  padding-left:7.5rem;
  vertical-align: middle !important;
}
.l-block03-back02-table-center p{
  text-align: left;
  color: #303838;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.l-block03-back02-table-center p span{
  color: #64beb4;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.l-block03-back02-table-center ul{
  padding-top:6.0rem;
}
.l-block03-back02-table-center ul li{
  display:block;
  border-top:1px solid #FFFFFF;
}
.l-block03-back02-table-center ul li:last-of-type{
  border-bottom:1px solid #FFFFFF;
}
.l-block03-back02-table-center ul li a{
  display:block;
  padding:2.0rem 5.0rem 2.0rem 0;
  background: url("../images/common/common-icon02_pc.png") right 2.0rem center no-repeat transparent;
  background-size: 0.8rem auto;
  min-height:1.1rem;
  text-align: left;
  color: #303838;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.l-block03-back02-table-center ul li a:hover{
  background: url("../images/common/common-icon07_pc.png") right 2.0rem center no-repeat transparent;
  background-size: 0.8rem auto;
  min-height:1.1rem;
  color: #64beb4;
}
.l-block03-back02-table-left{
  width:55.1rem;
}
.l-block03-back02-table-left img{
  width:100%;
}

.l-block03-back.type03{  
  top:0;
}


@media all and (max-width: 767.5px) {
  .l-block03{
    padding:21.5rem 0 18.0rem;
    background-image:
      url("../images/top/block03-bg01_pc.png");
    background-position:
      top center;
    background-repeat:
      no-repeat;
    background-size:
      100% auto;
    background-color:
      transparent;
    position:relative;
    z-index:10;
    margin-top:10.0rem;
  }
  .l-block03-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block03-block01{
    padding-bottom:6.0rem;
  }
  .l-block03-block01 > span{
    display:block;
    font-family: 'satoshi-Bold';
    text-align: left;
    color: #eaf7f5;

    font-size: 12.0rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .l-block03-block01 h2{
    margin-top: -3.0rem;
    padding-left: 0.7rem;
    text-align: left;
    color: #303838;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .l-block03-block01 h3{
    background:#FFFFFF;
    padding-top:5.0rem;
    text-align: center;
    color: #303838;

    font-size: 6.0rem;
    font-weight: 700;
    line-height: 1.66;
    letter-spacing: 0.1em;
  }
  .l-block03-block01 h3 span{
    display:block;
    vertical-align: top;
    text-align: center;
    color: #303838;
    
    font-size: 6.0rem;
    font-weight: 700;
    line-height: 1.66;
    letter-spacing: 0.1em;
  }
  
  .l-block03-back{
    position: sticky;
    height: auto;
    background:#FFFFFF;
    padding-top:1.0rem;
  }
  .l-block03-back.type01{
    top:11.0rem;
  }

  .l-block03-back01{
    background: linear-gradient(90deg, #eaf7f5 0%, #eaf7f5 50%, transparent 50%, transparent 100%);
    padding-right:3.0rem;
    padding-left:5.0rem;
    margin-top:7.0rem;
  }
  .l-block03-back01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    background:#eaf7f5;
    border-radius:0 10.0rem 10.0rem 0;
    padding:6.0rem 7.0rem 6.0rem 0;
  }
  .l-block03-back01-table{
    width:100%;
    display:block;
  }
  .l-block03-back01-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block03-back01-table-left{
    width:100%;
    display:block;
    text-align: left;
  }
  .l-block03-back01-table-left picture{
    display:inline-block;
    padding-left:0;
  }
  .l-block03-back01-table-left picture img{
    width:6.7rem;
  }
  .l-block03-back01-table-left p{
    width:auto;
    display: inline-block;
    padding-top:1.0rem;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: left;
    color: #64beb4;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block03-back01-table-center{
    padding-top:3.0rem;
    padding-right:0;
    vertical-align: middle !important;
  }
  .l-block03-back01-table-center p{
    text-align: left;
    color: #303838;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .l-block03-back01-table-center p span{
    color: #64beb4;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .l-block03-back01-table-center ul{
    padding-top:6.0rem;
  }
  .l-block03-back01-table-center ul li{
    display:block;
    border-top:1px solid #FFFFFF;
  }
  .l-block03-back01-table-center ul li:last-of-type{
    border-bottom:1px solid #FFFFFF;
  }
  .l-block03-back01-table-center ul li a{
    display:block;
    padding:2.0rem 5.0rem 2.0rem 0;
    background: url("../images/common/common-icon02_pc.png") right 2.0rem center no-repeat transparent;
    background-size: 1.2rem auto;
    min-height:1.7rem;
    text-align: left;
    color: #303838;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .l-block03-back01-table-center ul li a:hover{
    background: url("../images/common/common-icon07_pc.png") right 2.0rem center no-repeat transparent;
    background-size: 1.2rem auto;
    min-height:1.7rem;
    color: #64beb4;
  }
  .l-block03-back01-table-right{
    width:100%;
    text-align: center;
    padding-top:3.0rem;
  }
  .l-block03-back01-table-right img{
    width:80%;
  }

  .l-block03-back.type02{
    top:11.0rem;
  }
  .l-block03-back02{
    background: linear-gradient(90deg, transparent 0%, transparent 50%, #eaf7f5 50%, #eaf7f5 100%);
    padding-left:3.0rem;
    padding-right:5.0rem;
    margin-top:7.0rem;
  }
  .l-block03-back02-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    background:#eaf7f5;
    border-radius:10.0rem 0 0 10.0rem;
    padding:6.0rem 0 6.0rem 7.0rem;
  }
  .l-block03-back02-table{
    width:100%;
    display:block;
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  .l-block03-back02-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block03-back02-table-right{
    width:100%;
    display:block;
    text-align: left;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-block03-back02-table-right picture{
    display:inline-block;
    padding-left:0;
  }
  .l-block03-back02-table-right picture img{
    width:6.7rem;
  }
  .l-block03-back02-table-right p{
    width:auto;
    display: inline-block;
    padding-top:1.0rem;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: left;
    color: #64beb4;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block03-back02-table-center{
    padding-top:3.0rem;
    padding-left:0;
    vertical-align: middle !important;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
  .l-block03-back02-table-center p{
    text-align: left;
    color: #303838;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .l-block03-back02-table-center p span{
    color: #64beb4;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .l-block03-back02-table-center ul{
    padding-top:6.0rem;
  }
  .l-block03-back02-table-center ul li{
    display:block;
    border-top:1px solid #FFFFFF;
  }
  .l-block03-back02-table-center ul li:last-of-type{
    border-bottom:1px solid #FFFFFF;
  }
  .l-block03-back02-table-center ul li a{
    display:block;
    padding:2.0rem 5.0rem 2.0rem 0;
    background: url("../images/common/common-icon02_pc.png") right 2.0rem center no-repeat transparent;
    background-size: 1.2rem auto;
    min-height:1.7rem;
    text-align: left;
    color: #303838;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }
  .l-block03-back02-table-center ul li a:hover{
    background: url("../images/common/common-icon07_pc.png") right 2.0rem center no-repeat transparent;
    background-size: 1.2rem auto;
    min-height:1.7rem;
    color: #64beb4;
  }
  .l-block03-back02-table-left{
    width: 100%;
    text-align: center;
    padding-top: 3.0rem;
    -webkit-box-ordinal-group:3;
    -ms-flex-order:3;
    -webkit-order:3;
    order:3;
  }
  .l-block03-back02-table-left img{
    width:80%;
  }
  .l-block03-back.type03{
    top:0;
  }
}


.l-block04{
  max-width:192.0rem;
  width:100%;
  margin:0 auto;
  border-radius:41.5rem;
  background:#64beb4;
  padding:14.5rem 4.0rem 12.0rem;
}
.l-block04-inner{
  max-width:128.0rem;
  width:100%;
  margin:0 auto;
}
.l-block04-table{
  width:100%;
  display:table;
}
.l-block04-table > div{
  display:table-cell;
  vertical-align: top;
}
.l-block04-table-left{
  width:auto;
  padding-left:15.0rem;
}
.l-block04-table-left picture{
  
}
.l-block04-table-left picture img{
  width:90.0rem;
}
.l-block04-table-left p{
  padding-top:3.5rem;
  text-align: left;
  color: #FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 400;
  line-height: 2.0;
  letter-spacing: 0.025em;
}
.l-block04-table-left .l-common-btn02{
  text-align: left;
}
.l-block04-table-right{
  width:18.5rem;
  text-align: right;
  position:relative;
}
.l-block04-table-right span{
  display:inline-block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-family: 'satoshi-Black';
  text-align: right;
  color: #eaf7f5;
  
  font-size: clamp(100px, 14.0rem, 140px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-block04-table-right h2 {
  position:absolute;
  top:0;
  right:11.0rem;
  display:inline-block;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-align: right;
  color: #303838;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}


@media all and (max-width: 767.5px) {
  .l-block04{
    max-width:100%;
    width:100%;
    margin:0 auto;
    border-radius:0;
    background:none;
    padding:0 0;
  }
  .l-block04-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    border-radius:10.0rem;
    background:#64beb4;
    padding:9.5rem 4.0rem 9.5rem;
  }
  .l-block04-table{
    width:100%;
    display:block;
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }
  .l-block04-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block04-table-left{
    padding-top:6.0rem;
    width:100%;
    display:block;
    padding-left:0;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
  }
  .l-block04-table-left picture{

  }
  .l-block04-table-left picture img{
    width:90.0rem;
  }
  .l-block04-table-left p{
    padding-top:3.5rem;
    text-align: left;
    color: #FFFFFF;

    font-size:3.2rem;
    font-weight: 400;
    line-height: 2.0;
    letter-spacing: 0.025em;
  }
  .l-block04-table-left .l-common-btn02{
    text-align: center;
  }
  .l-block04-table-right{
    width:100%;
    display:block;
    text-align: left;
    position:relative;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-block04-table-right span{
    display:inline-block;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    font-family: 'satoshi-Black';
    text-align: right;
    color: #eaf7f5;

    font-size: 12.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .l-block04-table-right h2 {
    position:absolute;
    top:9.0rem;
    right:auto;
    left: 0;
    display:inline-block;
    -ms-writing-mode: lr-tb;
    writing-mode: horizontal-tb;
    text-align: right;
    color: #303838;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
  }
}


.l-block05{
  padding:17.5rem 5.0rem 14.0rem;
}
.l-block05-inner{
  max-width:780px;
  width:100%;
  margin:0 auto;
}
.l-block05-inner > span{
  display:block;
  font-family: 'satoshi-Black';
  text-align: center;
  color: #eaf7f5;
  
  font-size: clamp(100px, 14.0rem, 140px);
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-block05-inner > h2{
  margin-top:-4.0rem;
  display:block;
  text-align: center;
  color: #303838;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.05em;
}
.l-block05-block{
  padding-top:7.5rem;
}
.l-block05-block a{
  display: block;
  border-bottom: 1px solid #cccccc;
  padding: 2.0rem 5.0rem 2.0rem 0;
  background: url(../images/common/common-icon02_pc.png) right 2.0rem center no-repeat transparent;
  background-size: 0.8rem auto;
  min-height: 1.1rem;
}
.l-block05-block a:hover{
  background: url(../images/common/common-icon07_pc.png) right 2.0rem center no-repeat transparent;
  background-size: 0.8rem auto;
  min-height: 1.1rem;
}
.l-block05-block a:last-of-type{
  margin-bottom:2.0rem;
}
.l-block05-block-message{
  
}
.l-block05-block-date{
  display: inline-block;
  vertical-align: middle;
  padding-right: 2.0rem;
  text-align: left;
  color: #303838;
  font-size: clamp(14px, 1.8rem, 18px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block05-block-category{
  display: inline-block;
  vertical-align: middle;
  text-align: left;
}
.l-block05-block-category span{
  display: inline-block;
  vertical-align: middle;
  border: 1px solid #64beb4;
  border-radius: 1.5rem;
  padding: 0 1.2rem;
  text-align: center;
  color: #64beb4;
  font-size: clamp(14px, 1.7rem, 17px);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block05-block a .l-block05-block-title{
  padding-top: 1.0rem;
  display: block;
  text-align: left;
  color: #303838;
  
  font-size: clamp(14px, 1.8rem, 18px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  
  transition: 0.3s;
}
.l-block05-block a:hover .l-block05-block-title{
  color: #64beb4;
}


@media all and (max-width: 767.5px) {
  .l-block05{
    padding:9.5rem 3.0rem 9.5rem;
  }
  .l-block05-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block05-inner > span{
    display:block;
    font-family: 'satoshi-Black';
    text-align: center;
    color: #eaf7f5;

    font-size: 12.0rem;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .l-block05-inner > h2{
    margin-top:-4.0rem;
    display:block;
    text-align: center;
    color: #303838;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
  }
  .l-block05-block{
    padding-top:7.5rem;
  }
  .l-block05-block a{
    display: block;
    border-bottom: 1px solid #cccccc;
    padding: 2.0rem 5.0rem 2.0rem 0;
    background: url(../images/common/common-icon02_pc.png) right 2.0rem center no-repeat transparent;
    background-size: 1.2rem auto;
    min-height: 1.7rem;
  }
  .l-block05-block a:hover{
    background: url(../images/common/common-icon07_pc.png) right 2.0rem center no-repeat transparent;
    background-size: 1.2rem auto;
    min-height: 1.7rem;
  }
  .l-block05-block a:last-of-type{
    margin-bottom:2.0rem;
  }
  .l-block05-block-message{

  }
  .l-block05-block-date{
    display: inline-block;
    vertical-align: middle;
    padding-right: 2.0rem;
    text-align: left;
    color: #303838;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block05-block-category{
    display: inline-block;
    vertical-align: middle;
    text-align: left;
  }
  .l-block05-block-category span{
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #64beb4;
    border-radius: 1.5rem;
    padding: 0 1.2rem;
    text-align: center;
    color: #64beb4;
    font-size: 2.8rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block05-block a .l-block05-block-title{
    padding-top: 1.0rem;
    display: block;
    text-align: left;
    color: #303838;

    font-size: 2.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.05em;

    transition: 0.3s;
  }
  .l-block05-block a:hover .l-block05-block-title{
    color: #64beb4;
  }
}

.l-block00{
  background-image:
    url("../images/common/page-bg02_pc.png");
  background-position:
    bottom center;
  background-repeat:
    no-repeat;
  background-size:
    100% auto;
  background-color:
    transparent;
  padding-bottom:18.0rem;
}


@media all and (max-width: 767.5px) {
  
}


.animation-top-message01{
  opacity: 0;
}
.js-animation-top-message01{
  /*opacity: 0;*/
  animation-duration: 1.2s;
  /*アニメーション時間*/
  animation-delay: 0.8s;
  /*変化開始の時間*/
  animation-name: fadeInUpMin;
  /*アニメーション名*/
  /*animation-name: fadeIn;*/
  /*アニメーション名*/
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  /*これで値を保持*/
}
.animation-top-message02{
  opacity: 0;
}
.js-animation-top-message02{
  /*opacity: 0;*/
  animation-duration: 1.2s;
  /*アニメーション時間*/
  animation-delay: 1.5s;
  /*変化開始の時間*/
  animation-name: fadeInUpMin;
  /*アニメーション名*/
  /*animation-name: fadeIn;*/
  /*アニメーション名*/
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  /*これで値を保持*/
}


.l-block03-block01 h3 .span01{
  opacity: 0;
}
.l-block03-block01 h3 .span02{
  opacity: 0;
}
.l-block03-block01 h3 .span03{
  opacity: 0;
}
.js-animation-top-span01{
  /*opacity: 0;*/
  animation-duration: 1.2s;
  /*アニメーション時間*/
  animation-delay: 0.2s;
  /*変化開始の時間*/
  animation-name: fadeInUpMin;
  /*アニメーション名*/
  /*animation-name: fadeIn;*/
  /*アニメーション名*/
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  /*これで値を保持*/
}
.js-animation-top-span02{
  /*opacity: 0;*/
  animation-duration: 1.2s;
  /*アニメーション時間*/
  animation-delay: 0.7s;
  /*変化開始の時間*/
  animation-name: fadeInUpMin;
  /*アニメーション名*/
  /*animation-name: fadeIn;*/
  /*アニメーション名*/
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  /*これで値を保持*/
}
.js-animation-top-span03{
  /*opacity: 0;*/
  animation-duration: 1.2s;
  /*アニメーション時間*/
  animation-delay: 1.2s;
  /*変化開始の時間*/
  animation-name: fadeInUpMin;
  /*アニメーション名*/
  /*animation-name: fadeIn;*/
  /*アニメーション名*/
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
  /*これで値を保持*/
}



@media all and (max-width: 767.5px) {
  
}


@media all and (max-width: 767.5px) {
  
}



@media all and (max-width: 767.5px) {
  
}


@media all and (max-width: 767.5px) {
  
}



@media all and (max-width: 767.5px) {
  
}




