/*--------------------
top.css
--------------------*/
.box{
  height: 100vh;
}
header{
  
}
main{
  
}
footer{
  position: relative;
  z-index:2;
  background:#FFFFFF;
}

.l-top-bg{
  padding-top: 5.0rem;
}
.l-top-bg:after{
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  background-image: url('../images/top/mv_bg001.png');
  background-size: 100% auto;
}

.l-mv{
  position:relative;
  height:2700px;
  text-align: center;
  z-index: 1;
  -webkit-overflow-scrolling: touch;
}

.l-mv-sticky{
  position: sticky;
  top:15.3rem;
  margin:0 auto;
  text-align: center;
}
.l-mv-wrapper{
  position: relative;
  text-align: center;
}
.l-mv-sticky .l-mv-wrapper > div{
  position: absolute;
  top:0;
  left:0;
  right:0;
  margin:0 auto;
  width:36.8rem;
  width:40.8235vh;
  display:inline-block;
  overflow: hidden;
  text-align: center;
  
  transform-origin: center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  
  will-change: filter;
  /*transform: scale(1) translateZ(0px);*/
}
.l-mv-picture01{
  transition: 0.2s ease;
}
.l-mv-picture01.slow{
  transition: 0.3s ease;
}
.l-mv-picture02{
  transition: 0.2s ease;
}
.l-mv-picture02.slow{
  transition: 0.3s ease;
}
.l-mv-picture03{
  transition: 0.1s ease;
}
.l-mv-picture03.slow{
  transition: 0.2s ease;
}

@keyframes scroll-anim {
  from {
    scale: 1 1;
  }
  to {
    scale: 12 12;
  }
}
@-webkit-keyframes scroll-anim {
  from {
    scale: 1 1;
  }
  to {
    scale: 12 12;
  }
}
@keyframes scroll-anim2 {
  from {
    scale: 1 1;
  }
  to {
    scale: 0.5 0.5;
  }
}
@-webkit-keyframes scroll-anim2 {
  from {
    scale: 1 1;
  }
  to {
    scale: 0.5 0.5;
  }
}
@media screen and (max-width: 767.5px) {
  .l-mv-sticky .l-mv-wrapper > div{
    position: absolute;
    top:0;
    left:0;
    right:0;
    margin:0 auto;
    width:36.8rem;
    width:40.8235vh;
    display:inline-block;
    overflow: hidden;
    text-align: center;

    transform-origin: center;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;

    will-change:transform;
    /*transform: scale(1) translateZ(0px);*/
  }
  .l-mv-picture01{
    transition: none;
    animation: scroll-anim linear;
    animation-timeline: scroll();
  }
  .l-mv-picture02{
    transition: none;
    animation: scroll-anim linear;
    animation-timeline: scroll();
  }
  .l-mv-picture03{
    transition: none;
    animation: scroll-anim2 linear;
    animation-timeline: scroll();
  }
  .l-mv-picture01{
    transition: transform 0.2s linear;
  }
  .l-mv-picture02{
    transition: transform 0.2s linear;
  }
  .l-mv-picture03{
    transition: transform 0.2s linear;
  }
  .l-mv-picture01.slow{
    transition: transform 0.5s linear;
  }
  .l-mv-picture02.slow{
    transition: transform 0.5s linear;
  }
  .l-mv-picture03.slow{
    transition: transform 0.5s linear;
  }
}
/*
@media screen and (min-width: 768px) {
  .l-mv-picture01{
    animation: my-frame ease-in;
    animation-timeline: scroll(root);
    overflow: hidden;
    opacity:0;
  }
  .l-mv-picture02{
    animation: my-frame ease-in;
    animation-timeline: scroll(root);
    animation-duration: 1.0s;
    overflow: hidden;
    opacity:0;
  }
  .l-mv-picture03{
    animation: my-frame2 ease-in;
    animation-timeline: scroll(root);
    animation-duration: 1.0s;
    overflow: hidden;
    opacity:0;
  }
}
*/
/*
@media screen and (min-width: 768px) and (max-width: 1400.5px) {
  .l-mv-picture01{
    animation: my-frame_1400 ease-in;
    animation-timeline: scroll(root);
    overflow: hidden;
  }
  .l-mv-picture02{
    animation: my-frame_1400 ease-in;
    animation-timeline: scroll(root);
    overflow: hidden;
  }
  .l-mv-picture03{
    animation: my-frame2_1400 ease-in;
    animation-timeline: scroll(root);
    overflow: hidden;
  }
}
*/
/*
@media screen and (max-width: 767.5px) {
  .l-mv-picture01{
    overflow: hidden;
    opacity:0;
    transition: 0.1s;
  }
  .l-mv-picture01.active{
    display:block;
  }
  .l-mv-picture02{
    overflow: hidden;
    opacity:0;
    transition: 0.1s;
  }
  .l-mv-picture02.active{
    display:block;
  }
  .l-mv-picture03{
    overflow: hidden;
    opacity:0;
    transition: 0.1s;
  }
  .l-mv-picture03.active{
    display:block;
  }
}
*/

.l-mv-sticky img{
  width:100%;
}

.l-mv-sticky .l-mv-wrapper > div.l-mv-picture04{
  top:-10.3rem;
  width:100%;
  height:174.8rem;
  overflow: hidden;
}
.l-mv-sticky .l-mv-picture04 img{
  position: relative;
  width:100%;
}

@keyframes my-frame {
  0%   { scale: 100% 100%; }
  2.5%   { opacity: 1;scale: 150% 150%; }
  4%   { scale: 150% 150%;opacity: 0; }
  /*16%   { opacity: 0; }
  100% { scale: 2000% 2000%; }*/
}

@keyframes my-frame2 {
  0%   { scale: 100% 100%; }
  2.5%   { opacity: 1; }
  3.5%   { scale: 50% 50%;opacity: 0; }
}

@keyframes my-frame_1400 {
  0%   { scale: 100% 100%; }
  2.5%   { opacity: 1;scale: 150% 150%; }
  4%   { scale: 150% 150%;opacity: 0; }
  /*16%   { opacity: 0; }
  100% { scale: 2000% 2000%; }*/
}

@keyframes my-frame2_1400 {
  0%   { scale: 100% 100%; }
  2.5%   { opacity: 1; }
  3.5%   { scale: 50% 50%;opacity: 0; }
}

/*
@keyframes my-frame_767 {
  0%   { scale: 100% 100%; }
  2.5%   { opacity: 1;scale: 150% 150%; }
  4%   { scale: 150% 150%;opacity: 0; }
}

@keyframes my-frame2_767 {
  0%   { scale: 100% 100%; }
  2.5%   { opacity: 1; }
  3.5%   { scale: 50% 50%;opacity: 0; }
}
*/

@media screen and (max-width: 767.5px) {
  .l-mv{
    position:relative;
    height:100vh;
    text-align: center;
    z-index: 1;
  }
  .l-mv picture{

  }
  .l-mv picture img{
    
  }
}

main section{
  position: relative;
  z-index:2;
  background:#FFFFFF;
}

.l-block00{
  padding:8.5rem 0 0;  
  background: url('../images/top/mv-bg01_pc.png') bottom center no-repeat #dfdbed;
  background-size: cover;
  height:82.6rem;
  overflow: hidden;
}
.loop-area{
  background: url('../images/top/mv-img01_pc.png') repeat-x;
  background-size: contain;
  width: 100%;
  height: 7.3rem;
  animation: loop-slide 15.0s infinite linear;
}
@keyframes loop-slide {
  from {
    background-position: 1.0rem 0;
  }
  to {
    background-position: -292.0rem 0;
  }
}
.l-block00-table{
  max-width:1920px;
  width:auto;
  margin:-6.0rem auto 0;
  display:table;
}
.l-block00-table > div{
  display:table-cell;
  vertical-align: middle;
}
.l-block00-picture01{
  width:45.4rem;
  padding-top:14.0rem;
  text-align: center;
}
.l-block00-picture01 img{
  width:26.4rem;
}
.l-block00-picture01.scrollDownactive img{
  animation-name: rotation1;
  animation-duration: 6000ms;
  animation-timing-function: steps(1, end);
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
.l-block00-picture02{
  width:56.7rem;
  padding-top:0;
  padding-left:6.0rem;
  padding-right:12.0rem;
  text-align: center;
}
.l-block00-picture02 img{
  width:27.7rem;
}
.l-block00-picture02.scrollUpactive img{
  animation-name: rotation2;
  animation-duration: 6000ms;
  animation-timing-function: steps(1, end);
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}
.l-block00-picture03{
  width:42.0rem;
  padding-top:10.0rem;
  text-align: center;
}
.l-block00-picture03 img{
  width:36.0rem;
}
.l-block00-picture03.scrollDownactive img{
  animation-name: rotation3;
  animation-duration: 6000ms;
  animation-timing-function: steps(1, end);
  animation-iteration-count: infinite;
  animation-fill-mode: forwards;
}

@media screen and (max-width: 1400.5px) {
  .l-block00{
    padding:61px 0 0;  
    background: url('../images/top/mv-bg01_pc.png') bottom center no-repeat #dfdbed;
    background-size: cover;
    height:601px;
    overflow: hidden;
  }
  .loop-area{
    background: url('../images/top/mv-img01_pc.png') repeat-x;
    background-size: contain;
    width: 100%;
    height: 53px;
    animation: loop-slide 15.0s infinite linear;
  }
  .l-block00-table{
    max-width:none;
    width:auto;
    margin:-101px auto 0;
    display:table;
  }
  .l-block00-table > div{
    display:table-cell;
    vertical-align: middle;
  }
  .l-block00-picture01{
    width:330px;
    padding-top:101px;
    text-align: center;
  }
  .l-block00-picture01 img{
    width:228px;
  }
  .l-block00-picture01.scrollDownactive img{
    animation-name: rotation1;
    animation-duration: 6000ms;
    animation-timing-function: steps(1, end);
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
  .l-block00-picture02{
    width:412px;
    padding-top:0;
    padding-left:43px;
    padding-right:87px;
    text-align: center;
  }
  .l-block00-picture02 img{
    width:281px;
  }
  .l-block00-picture02.scrollUpactive img{
    animation-name: rotation2;
    animation-duration: 6000ms;
    animation-timing-function: steps(1, end);
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
  .l-block00-picture03{
    width:305px;
    padding-top:72px;
    text-align: center;
  }
  .l-block00-picture03 img{
    width:305px;
  }
  .l-block00-picture03.scrollDownactive img{
    animation-name: rotation3;
    animation-duration: 6000ms;
    animation-timing-function: steps(1, end);
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
}

@media screen and (max-width: 767.5px) {
  main section{
    position: relative;
    z-index:2;
    background:#FFFFFF;
  }

  .l-block00{
    padding:8.5rem 0 0;  
    background: url('../images/top/mv-bg01_pc.png') bottom center no-repeat #dfdbed;
    background-size: cover;
    height:82.6rem;
    overflow: hidden;
  }
  .loop-area{
    background: url('../images/top/mv-img01_pc.png') repeat-x;
    background-size: contain;
    width: 100%;
    height: 7.3rem;
    animation: loop-slide 15.0s infinite linear;
  }
  .l-block00-table{
    max-width:1920px;
    width:auto;
    margin:-6.0rem auto 0;
    display:table;
  }
  .l-block00-table > div{
    display:table-cell;
    vertical-align: middle;
  }
  .l-block00-picture01{
    width:20%;
    padding-top:14.0rem;
    text-align: center;
  }
  .l-block00-picture01 img{
    width:100%;
  }
  .l-block00-picture01.scrollDownactive img{
    animation-name: rotation1;
    animation-duration: 6000ms;
    animation-timing-function: steps(1, end);
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
  .l-block00-picture02{
    width:40%;
    padding-top:0;
    padding-left:2.0rem;
    padding-right:2.0rem;
    text-align: center;
  }
  .l-block00-picture02 img{
    width:100%;
  }
  .l-block00-picture02.scrollUpactive img{
    animation-name: rotation2;
    animation-duration: 6000ms;
    animation-timing-function: steps(1, end);
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
  .l-block00-picture03{
    width:20%;
    padding-top:10.0rem;
    text-align: center;
  }
  .l-block00-picture03 img{
    width:100%;
  }
  .l-block00-picture03.scrollDownactive img{
    animation-name: rotation3;
    animation-duration: 6000ms;
    animation-timing-function: steps(1, end);
    animation-iteration-count: infinite;
    animation-fill-mode: forwards;
  }
}

@keyframes rotation1{
  0%{ transform:rotate(-10deg);}
  25%{ transform:rotate(0);}
  50%{ transform:rotate(10deg);}
  75%{ transform:rotate(0);}
  100%{ transform:rotate(-10deg);}
}
@keyframes rotation2{
  0%{ transform:rotate(0);}
  25%{ transform:rotate(5deg);}
  50%{ transform:rotate(0);}
  75%{ transform:rotate(-5deg);}
  100%{ transform:rotate(0);}
}
@keyframes rotation3{
  0%{ transform:rotate(10deg);}
  25%{ transform:rotate(0);}
  50%{ transform:rotate(-10deg);}
  75%{ transform:rotate(0);}
  100%{ transform:rotate(10deg);}
}


@keyframes frame-in01 {
  0%   { scale: 200% 200%; }
  100%   { scale: 100% 100%;opacity: 1; }
}

@keyframes frame-in02 {
  0%   { scale: 50% 50%; }
  100%   { scale: 100% 100%;opacity: 1; }
}




.l-block01{
  padding:10.0rem 0 15.0rem;
  background: #f4f6fa;
  background: url("../images/top/block01-bg01_pc.png") top center no-repeat transparent;
  background-size: cover;
  min-height:130.0rem;
}
.l-block01-inner{
  max-width:calc(1920px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block01-inner > ul{
  padding-bottom: 8.5rem;
  display: block;
  text-align: center;
  font-size: 0;
}
.l-block01-inner > ul li{
  display: inline-block;
  vertical-align: top;
  padding: 0 2.3rem;
}
.l-block01-inner > ul li a{
  display: block;
  min-width: 40.0rem;
  padding: 2.0rem;
  border-radius: 4.0rem;
  background: #8b9fcc;
  text-align: center;
  color: #FFFFFF;
  font-size: clamp(16px, 2.4rem, 24px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.l-block01-inner01{
  max-width:1830px;
  width:100%;
  margin:0 auto;
  padding-right:3.0rem;
  position:relative;
  z-index: 1;
}
.l-block01-box{
  width:102.4rem;
  border-radius:3.5rem;
  background:#FFFFFF;
  padding:12.0rem 3.0rem 5.0rem;
  position:relative;
  z-index: 1;
}
.l-block01-box-inner{
  max-width:693px;
  width:100%;
  margin:0 auto;
  padding-right:11.0rem;
}

.l-block01-box:before{
  content: "";
  display: inline-block;
  right: -8.0rem;
  top: -7.0rem;
  width:22.6rem;
  height:33.5rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block01-icon01_pc.png") right top no-repeat transparent;
  background-size: 22.6rem auto;
  min-height:33.5rem;
  margin:0 auto;
}

.l-block01-box:after{
  content: "";
  display: inline-block;
  left: 1.0rem;
  bottom: -16.0rem;
  width:26.1rem;
  height:24.9rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block01-icon02_pc.png") left bottom no-repeat transparent;
  background-size: 26.1rem auto;
  min-height:24.9rem;
  margin:0 auto;
}
.l-block01-box-title{
  text-align: center; 
  color: #8b9fcc;
  
  font-size: clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box-title span{
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box h2{
  padding-top:1.0rem;
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size:clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box h3{
  padding-top:5.0rem;
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size:clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box-message{
  padding-top:2.8rem;
  display:block;
  text-align: center; 
  color: #808080;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box-btn{
  padding-top:3.5rem;
  text-align: center;
}
.l-block01-box-btn a{
  
}
.l-block01-box-btn a img{
  width:10.3rem;
}
.l-block01-inner02{
  width:100.0rem;
  margin:-57.0rem -3.0rem 0 auto;
  position:relative;
  z-index: 3;
}
.l-block01-inner02 picture{
  
}
.l-block01-inner02 picture img{
  width:100%;
}
.l-block01 > picture{
  display:block;
  padding-top:4.5rem;
  text-align: center;
}
.l-block01 > picture img{
  width:100%;
}
.l-block01-box ul{
  padding-top:4.0rem;
  text-align: center;
  font-size:0;
}
.l-block01-box ul li{
  display:inline-block;
  vertical-align: top;
  padding:0 1.4rem;
}
.l-block01-box ul li img{
  width:auto;
  height:7.0rem;
}


.l-block01-inner03{
  max-width:1830px;
  width:100%;
  margin:0 auto;
  padding-top:12.0rem;
  padding-left:3.0rem;
  position:relative;
  z-index: 1;
}
.l-block01-box03{
  width:102.4rem;
  border-radius:3.5rem;
  background:#FFFFFF;
  padding:12.0rem 3.0rem 10.0rem;
  position:relative;
  z-index: 1;
  
  margin-left:auto;
}
.l-block01-box03-inner{
  max-width:693px;
  width:100%;
  margin:0 auto;
  padding-left:9.0rem;
}

.l-block01-box03:before{
  content: "";
  display: inline-block;
  right: calc(((1830px - 100vw) / 2) + 10px);
  top: -5.0rem;
  width:47.4rem;
  height:84.5rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block01-icon03_pc.png") right top no-repeat transparent;
  background-size: 47.4rem auto;
  min-height:84.5rem;
  margin:0 auto;
}
@media screen and (max-width: 1830.5px) {
  .l-block01-box03:before{
    right: -3.0rem;
  }
}

.l-block01-box03:after{
  content: "";
  display: inline-block;
  right: 8.0rem;
  bottom: -19.0rem;
  width:66.8rem;
  height:30.5rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block01-icon04_pc.png") right bottom no-repeat transparent;
  background-size: 66.8rem auto;
  min-height:30.5rem;
  margin:0 auto;
}
.l-block01-box03-title{
  text-align: center; 
  color: #8b9fcc;
  
  font-size: clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box03-title span{
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box03 h2{
  padding-top:1.0rem;
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size:clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box03 h3{
  padding-top:5.0rem;
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size:clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box03-message{
  padding-top:2.8rem;
  display:block;
  text-align: center; 
  color: #808080;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block01-box03-btn{
  padding-top:3.5rem;
  text-align: center;
}
.l-block01-box03-btn a{
  
}
.l-block01-box03-btn a img{
  width:10.3rem;
}

.l-block01-inner04{
  width:100.0rem;
  margin:-57.0rem auto 0 -3.0rem;
  position:relative;
  z-index: 3;
}
.l-block01-inner04 picture{
  
}
.l-block01-inner04 picture img{
  width:100%;
}


@media screen and (max-width: 767.5px) {
  .l-block01{
    padding:0 0 13.5rem;
    background: #f4f6fa;
  }
  .l-block01-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }  
  .l-block01-inner > ul{
    padding-top: 8.5rem;
    padding-bottom: 8.5rem;
    display: block;
    text-align: center;
    font-size: 0;
  }
  .l-block01-inner > ul li{
    width: 50%;
    display: inline-block;
    vertical-align: top;
    padding: 0 1.5rem;
  }
  .l-block01-inner > ul li a{
    display: block;
    min-width: auto;
    padding: 2.0rem;
    border-radius: 4.0rem;
    background: #8b9fcc;
    text-align: center;
    color: #FFFFFF;
    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.1em;
  }
  .l-block01-inner01{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding-right:0;
    position:relative;
    z-index: 1;
  }
  .l-block01-box{
    width:100%;
    border-radius:0 0;
    background:#FFFFFF;
    padding:7.0rem 3.0rem 10.0rem;
    position:relative;
    z-index: 1;
  }
  .l-block01-box-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding-right:0;
  }
  .l-block01-box:before{
    content: "";
    display: inline-block;
    right: 0;
    top: -7.0rem;
    width:22.6rem;
    height:33.5rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block01-icon01_pc.png") right top no-repeat transparent;
    background-size: 22.6rem auto;
    min-height:33.5rem;
    margin:0 auto;
  }
  /*
  .l-block01-box:after{
    content: "";
    display: inline-block;
    left: 1.0rem;
    bottom: -17.0rem;
    width:26.1rem;
    height:24.9rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block01-icon02_pc.png") left bottom no-repeat transparent;
    background-size: 26.1rem auto;
    min-height:24.9rem;
    margin:0 auto;
  }
  */
  .l-block01-box-title{
    text-align: left; 
    color: #8b9fcc;

    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box-title span{
    display:block;
    text-align: left; 
    color: #8b9fcc;

    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box h2{
    padding-top:1.0rem;
    display:block;
    text-align: left; 
    color: #8b9fcc;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box h3{
    padding-top:5.0rem;
    display:block;
    text-align: left; 
    color: #8b9fcc;

    font-size:3.4rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box-message{
    padding-top:2.8rem;
    display:block;
    text-align: justify; 
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box-btn{
    padding-top:3.5rem;
    text-align: left;
  }
  .l-block01-box-btn a{

  }
  .l-block01-box-btn a img{
    width:10.3rem;
  }
  .l-block01-inner02{
    width:100%;
    margin:15.0rem auto 0;
    position:relative;
    z-index: 3;
  }
  .l-block01-inner02 picture{

  }
  .l-block01-inner02 picture img{
    width:100%;
  }
  .l-block01 > picture{
    display:block;
    padding-top:4.5rem;
    text-align: center;
  }
  .l-block01 > picture img{
    width:100%;
  }
  
  .l-block01-inner03{
    max-width:100%;
    width:100%;
    margin:15.0rem auto 0;
    padding-top:0;
    padding-left:0;
    position:relative;
    z-index: 1;
  }
  .l-block01-box03{
    width:100%;
    border-radius:0 0;
    background:#FFFFFF;
    padding:7.0rem 3.0rem 10.0rem;
    position:relative;
    z-index: 1;
  
    margin-left:0;
  }
  .l-block01-box03-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding-left:0;
  }
  .l-block01-box03:before{
    content: "";
    display: inline-block;
    right: 0;
    top: -15.0rem;
    width:35.5rem;
    height:63.5rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block01-icon03_pc.png") right top no-repeat transparent;
    background-size: 35.5rem auto;
    min-height:63.5rem;
    margin:0 auto;
  }
  .l-block01-box03:after{
    content: "";
    display: inline-block;
    right: 8.0rem;
    bottom: -10.0rem;
    width:50.1rem;
    height:23.0rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block01-icon04_pc.png") right bottom no-repeat transparent;
    background-size: 50.1rem auto;
    min-height:23.0rem;
    margin:0 auto;
  }
  .l-block01-box03-title{
    text-align: left; 
    color: #8b9fcc;

    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box03-title span{
    display:block;
    text-align: left; 
    color: #8b9fcc;

    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box03 h2{
    padding-top:1.0rem;
    display:block;
    text-align: left; 
    color: #8b9fcc;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box03 h3{
    padding-top:5.0rem;
    display:block;
    text-align: left; 
    color: #8b9fcc;

    font-size:3.4rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box03-message{
    padding-top:2.8rem;
    display:block;
    text-align: justify; 
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block01-box03-btn{
    padding-top:3.5rem;
    text-align: left;
  }
  .l-block01-box03-btn a{

  }
  .l-block01-box03-btn a img{
    width:10.3rem;
  }
  
  .l-block01-inner04{
    width:100%;
    margin:15.0rem auto 0;
    position:relative;
    z-index: 3;
  }
  .l-block01-inner04 picture{

  }
  .l-block01-inner04 picture img{
    width:100%;
  }
}


.l-block02{
  padding:13.0rem 3.0rem 23.5rem;
  background: url("../images/top/block02-bg01_pc.png") bottom center no-repeat transparent;
  background-size: cover;
}
.l-block02-inner{
  max-width:1920px;
  width:100%;
  margin:0 auto;
}
.l-block02-inner > span{
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size: clamp(31px, 4.3rem, 43px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block02-inner > h2{
  display:block;
  text-align: center; 
  color: #8b9fcc;
  
  font-size: clamp(19px, 2.6rem, 26px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block02-block{
  max-width:882px;
  width:100%;
  margin:0 auto;
  padding-top:3.0rem;
  display:block;
  text-align: center;
  font-size:0;
}
.l-block02-block-list{
  width:294px;
  display:inline-block;
  vertical-align: top;
  padding:3.0rem 2.2rem 0;
}
.l-block02-block-list picture{
  
}
.l-block02-block-list picture img{
  width:100%;
}
.l-block02-image01{
  display:block;
  text-align: center;
  padding-top:0.5rem;
}
.l-block02-image01 img{
  width:182.7rem;
}
.l-block02-btn{
  margin:-2.0rem auto 0;
  text-align: center;
}
.l-block02-btn a{
  width:40.0rem;
  padding:2.0rem 5.0rem;
  display:inline-block;
  border-radius: 4.0rem;
  background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
  box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
  text-align: center;
  color:#FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block02-btn a:hover{
  opacity:1.0;
  background:#FFFFFF;
  color:#8b9fcc;
}

.l-block02 .loop-area02{
  background: url('../images/top/block02-bg02_pc.png') repeat-x;
  background-size: contain;
  width: 100%;
  height: 7.3rem;
  animation: loop-slide 40.0s infinite linear;
}


@media screen and (max-width: 767.5px) {
  .l-block02{
    padding:13.0rem 3.0rem 23.5rem;
    background: url("../images/top/block02-bg01_pc.png") top center no-repeat transparent;
    background-size: cover;
  }
  .l-block02-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block02-inner > span{
    display:block;
    text-align: center; 
    color: #8b9fcc;

    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block02-inner > h2{
    display:block;
    text-align: center; 
    color: #8b9fcc;

    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block02-block{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding-top:3.0rem;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block02-block-list{
    width:50%;
    display:inline-block;
    vertical-align: top;
    padding:3.0rem 2.2rem 0;
  }
  .l-block02-block-list picture{

  }
  .l-block02-block-list picture img{
    width:100%;
  }
  .l-block02-image01{
    display:block;
    text-align: center;
    padding-top:0.5rem;
  }
  .l-block02-image01 img{
    width:182.7rem;
  }
  .l-block02-btn{
    margin:-2.0rem auto 0;
    text-align: center;
  }
  .l-block02-btn a{
    width:40.0rem;
    padding:2.0rem 5.0rem;
    display:inline-block;
    border-radius: 5.0rem;
    background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
    text-align: center;
    color:#FFFFFF;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block02-btn a:hover{
    opacity:1.0;
    background:#FFFFFF;
    color:#8b9fcc;
  }

  .l-block02 .loop-area02{
    background: url('../images/top/block02-bg02_pc.png') repeat-x;
    background-size: contain;
    width: 100%;
    height: 7.3rem;
    animation: loop-slide 40.0s infinite linear;
  }
}


.l-block03{
  /*background:
    url("../images/top/block03-bg01_pc.png"),
    url("../images/top/block02-bg01_pc.png");
  background-position:
    top center,
    top center;
  background-repeat:
    no-repeat,
    no-repeat;
  background-size:
    cover,
    cover;
  min-height:auto;*/
  padding:0 0 13.5rem;
}
.l-block03-inner00{
  padding:10.0rem 3.0rem 25.0rem;
}
.l-block03-inner00 > span{
  display:block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-inner00 > h2{
  display:block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-inner00 > p{
  padding-top:3.0rem;
  text-align: center;
  color: #808080;
  
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-inner{
  max-width:1920px;
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block03-block{
  display:block;
  text-align: center;
  font-size:0;
  margin-top: -18.0rem;
}
.l-block03-block01{
  width:50%;
  display:inline-block;
  vertical-align: top;
  padding-right:1.0rem;
}
.l-block03-block01-table{
  width:100%;
  display:table;
  background: url("../images/top/block03-bg02_pc.png") top 5.0rem center no-repeat transparent;
  background-size: 100% auto;
  min-height:74.4rem;
}
.l-block03-block01-table > div{
  display:table-cell;
  vertical-align: top;
  padding-bottom:9.0rem;
}
.l-block03-block01-table-left{
  width:49.0rem;
  padding-right:2.0rem;
  text-align: right;
}
.l-block03-block01-table-left picture{
  text-align: right;
}
.l-block03-block01-table-left picture img{
  width:40.0rem;
}
.l-block03-block01-table-right{
  width:auto;
  text-align: center;
  padding-top:8.0rem;
}
.l-block03-block01-table-right-message{
  padding:1.5rem 2.8rem;
  display:inline-block;
  background:#909ec4;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block01-table-right-message img{
  width:clamp(16px, 2.4rem, 24px);
  margin-left:0.5rem;
}
.l-block03-block01-table-right h3{
  padding-top:2.0rem;
  text-align: center;
  color: #909ec4;
  
  font-size:clamp(15px, 2.2rem, 22px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block01-table-right h3 span{
  display:block;
  text-align: center;
  color: #909ec4;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block01-table-right picture{
  display:block;
  padding-top:2.0rem;
  text-align: center;
}
.l-block03-block01-table-right picture img{
  width:35.0rem;
}
.l-block03-block01-table-right-btn{
  padding-top:4.0rem;
}
.l-block03-block01-table-right-btn a{
  width:35.0rem;
  padding:1.5rem 3.0rem;
  display:inline-block;
  border-radius: 4.0rem;
  background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
  box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
  text-align: center;
  color:#FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block01-table-right-btn a:hover{
  opacity:1.0;
  background:#FFFFFF;
  color:#8b9fcc;
}

.l-block03-block02{
  width:50%;
  display:inline-block;
  vertical-align: top;
  padding-left:1.0rem;
  position: relative;
}
.l-block03-block02:after{
  content: "";
  display: inline-block;
  right: 10.8rem;
  bottom: 0;
  width:16.0rem;
  height: 19.7rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block03-icon01_pc.png") right bottom no-repeat transparent;
  background-size: 16.0rem auto;
  min-height:19.7rem;
  margin:0 auto;
}
.l-block03-block02-table{
  width:100%;
  display:table;
  background: url("../images/top/block03-bg03_pc.png") top 5.0rem center no-repeat transparent;
  background-size: 100% auto;
  min-height:74.4rem;
}
.l-block03-block02-table > div{
  display:table-cell;
  vertical-align: top;
  padding-bottom:9.0rem;
}
.l-block03-block02-table-left{
  width:49.0rem;
  padding-right:2.0rem;
  text-align: right;
}
.l-block03-block02-table-left picture{
  text-align: right;
}
.l-block03-block02-table-left picture img{
  width:40.0rem;
}
.l-block03-block02-table-right{
  width:auto;
  text-align: center;
  padding-top:8.0rem;
}
.l-block03-block02-table-right-message{
  padding:1.5rem 2.8rem;
  display:inline-block;
  background:#b29dc2;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block02-table-right h3{
  padding-top:2.0rem;
  text-align: center;
  color: #b29dc2;
  
  font-size:clamp(15px, 2.2rem, 22px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block02-table-right h3 span{
  display:block;
  text-align: center;
  color: #b29dc2;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-block02-table-right picture{
  display:block;
  padding-top:2.0rem;
  text-align: center;
  position: relative;
  z-index:4;
}
.l-block03-block02-table-right picture img{
  width:35.0rem;
}

.l-block03-inner > h3{
  display:block;
  text-align: center;
  color: #8b9fcc;
  
  font-size:clamp(21px, 2.8rem, 28px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-box{
  padding-top:6.0rem;
  display:block;
  text-align: left;
  font-size:0;
  max-width:1710px;
  width:100%;
  margin:0 auto;
}
.l-block03-box-list{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
  padding:0 3.5rem;
  border-right:1px solid #e6e6e6;
}
.l-block03-box-list:nth-of-type(3n){
  border-right:none;
}
.l-block03-box-list dl{
  background: url("../images/top/block03-icon02_pc.png") top center no-repeat transparent;
  background-size: 4.0rem auto;
  min-height:4.0rem;
  padding-top:5.5rem;
}
.l-block03-box-list dl dt{  
  text-align: center;
  color: #909ec4;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-box-list dl dd{
  padding-top:1.5rem;
  text-align: center;
  color: #808080;
  
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-box-list-image{
  padding-top:3.0rem;
  display:block;
  text-align: center;
}
.l-block03-box-list-image img{
  width:100%;
}

.l-block03-slider-wrapper{
  background: url("../images/top/block07-bg00_pc.png") top 2.0rem center repeat-x transparent;
  background-size: 100% auto;
  margin-top:4.0rem;
}
.l-block03-slider{
  touch-action: pan-y;
}
.l-block03-slider-list{
  width: auto !important;
  display:inline-block;
  vertical-align: top;
}
.l-block03-slider-table{
  display:table;
}
.l-block03-slider-table > div{
  width:auto;
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block03-slider-table-left{
  padding:0 3.5rem;
}
.l-block03-slider-table-left picture{
  
}
.l-block03-slider-table-left picture.l-block03-slider-list-image01{
  
}
.l-block03-slider-table-left picture.l-block03-slider-list-image01 img{
  width:28.4rem;
}
.l-block03-slider-table-left picture.l-block03-slider-list-image02{
  
}
.l-block03-slider-table-left picture.l-block03-slider-list-image02 img{
  width:40.8rem;
}
.l-block03-slider-table-left picture.l-block03-slider-list-image03{
  
}
.l-block03-slider-table-left picture.l-block03-slider-list-image03 img{
  width:14.4rem;
}
.l-block03-slider-table-right{
  width:65.0rem !important;
  background: url("../images/top/block07-bg01_pc.png") top center no-repeat transparent;
  background-size: 12.0rem auto;
  padding-top:8.1rem;
  padding-bottom:2.0rem;
}
.l-block03-slider-list-box{
  background:#f2f2f2;
  padding:4.5rem 4.5rem;
  border-radius:2.0rem;
  box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
}
.l-block03-slider-list-box picture{
  display:block;
}
.l-block03-slider-list-box picture img{
  width:100%;
}
.l-block03-slider-list-box h4{
  padding-top:4.5rem;
  padding-bottom:2.5rem;
  text-align: center;
  color: #909ec4;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-slider-list-box h4 span{
  text-align: center;
  color: #909ec4;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block03-slider-list-box p{
  padding-top:2.5rem;
  border-top:1px solid #8b9fcc;
  text-align: center;
  color: #808080;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 767.5px) {
  .l-block03{
    /*background:
      url("../images/top/block03-bg01_pc.png"),
      url("../images/top/block02-bg01_pc.png");
    background-position:
      top center,
      top center;
    background-repeat:
      no-repeat,
      no-repeat;
    background-size:
      cover,
      cover;
    min-height:auto;*/
    padding:0 0 13.5rem;
  }
  .l-block03-inner00{
    padding:10.0rem 3.0rem 25.0rem;
  }
  .l-block03-inner00 > span{
    display:block;
    text-align: center;
    color: #8b9fcc;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-inner00 > h2{
    display:block;
    text-align: center;
    color: #8b9fcc;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-inner00 > p{
    padding-top:3.0rem;
    text-align: center;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block03-block{
    padding-bottom:7.0rem;
    display:block;
    text-align: center;
    font-size:0;
    margin-top: -18.0rem;
  }
  .l-block03-block01{
    width:100%;
    display:block;
    vertical-align: top;
    padding-right:0;
  }
  .l-block03-block01-table{
    width:100%;
    display:block;
    background: url("../images/top/block03-bg02_pc.png") top 5.0rem center no-repeat transparent;
    background-size: 100% auto;
    min-height:74.4rem;
  }
  .l-block03-block01-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    padding-bottom:6.0rem;
  }
  .l-block03-block01-table-left{
    width:100%;
    display:block;
    padding-right:0;
    text-align: left;
  }
  .l-block03-block01-table-left picture{
    text-align: left;
  }
  .l-block03-block01-table-left picture img{
    width:80%;
  }
  .l-block03-block01-table-right{
    width:100%;
    display:block;
    text-align: center;
    padding-top:0;
  }
  .l-block03-block01-table-right-message{
    padding:3.0rem 2.8rem;
    display:block;
    background:#909ec4;
    text-align: center;
    color: #FFFFFF;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block01-table-right-message img{
    width:3.6rem;
    margin-left:0.5rem;
  }
  .l-block03-block01-table-right h3{
    padding-top:2.0rem;
    text-align: center;
    color: #909ec4;

    font-size:3.4rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block01-table-right h3 span{
    display:block;
    text-align: center;
    color: #909ec4;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block01-table-right picture{
    display:block;
    padding-top:2.0rem;
    text-align: center;
  }
  .l-block03-block01-table-right picture img{
    width:100%;
  }
  .l-block03-block01-table-right-btn{
    padding-top:4.0rem;
  }
  .l-block03-block01-table-right-btn a{
    width:100%;
    padding:2.5rem 3.0rem;
    display:inline-block;
    border-radius: 5.0rem;
    background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
    text-align: center;
    color:#FFFFFF;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block01-table-right-btn a:hover{
    opacity:1.0;
    background:#FFFFFF;
    color:#8b9fcc;
  }

  .l-block03-block02{
    width:100%;
    display:block;
    vertical-align: top;
    padding-left:1.0rem;
    position: relative;
  }
  .l-block03-block02:after{
    content: "";
    display: inline-block;
    right: 0;
    bottom: -6.0rem;
    width:16.0rem;
    height: 19.7rem;
    position: absolute;
    z-index: 4;
    background: url("../images/top/block03-icon01_pc.png") right bottom no-repeat transparent;
    background-size: 16.0rem auto;
    min-height:19.7rem;
    margin:0 auto;
  }
  .l-block03-block02-table{
    width:100%;
    display:block;
    background: url("../images/top/block03-bg03_pc.png") top 5.0rem center no-repeat transparent;
    background-size: 100% auto;
    min-height:74.4rem;
  }
  .l-block03-block02-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    padding-bottom:6.0rem;
  }
  .l-block03-block02-table-left{
    width:100%;
    display:block;
    padding-right:0;
    text-align: left;
  }
  .l-block03-block02-table-left picture{
    text-align: left;
  }
  .l-block03-block02-table-left picture img{
    width:80%;
  }
  .l-block03-block02-table-right{
    width:auto;
    text-align: center;
    padding-top:0;
  }
  .l-block03-block02-table-right-message{
    padding:3.0rem 2.8rem;
    display:block;
    background:#b29dc2;
    text-align: center;
    color: #FFFFFF;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block02-table-right h3{
    padding-top:2.0rem;
    text-align: center;
    color: #b29dc2;

    font-size:3.4rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block02-table-right h3 span{
    display:block;
    text-align: center;
    color: #b29dc2;

    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-block02-table-right picture{
    display:block;
    padding-top:2.0rem;
    text-align: center;
    position: relative;
    z-index:4;
  }
  .l-block03-block02-table-right picture img{
    width:100%;
  }

  .l-block03-inner > h3{
    display:block;
    text-align: center;
    color: #8b9fcc;

    font-size:4.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-box{
    padding-top:0;
    display:block;
    text-align: left;
    font-size:0;
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block03-box-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding:6.0rem 0;
    border-right:none;
    border-bottom:1px solid #e6e6e6;
  }
  .l-block03-box-list:nth-of-type(3n){
    border-right:none;
  }
  .l-block03-box-list dl{
    background: url("../images/top/block03-icon02_pc.png") top center no-repeat transparent;
    background-size: 6.0rem auto;
    min-height:6.0rem;
    padding-top:8.5rem;
  }
  .l-block03-box-list dl dt{  
    text-align: center;
    color: #909ec4;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-box-list dl dd{
    padding-top:1.5rem;
    text-align: center;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-box-list-image{
    padding-top:3.0rem;
    display:block;
    text-align: center;
  }
  .l-block03-box-list-image img{
    width:100%;
  }
  
  .l-block03-slider-wrapper{
    background: url("../images/top/block07-bg00_pc.png") top 2.0rem center repeat-x transparent;
    background-size: 100% auto;
    margin-top:4.0rem;
  }
  .l-block03-slider{

  }
  .l-block03-slider-list{
    width: auto !important;
    display:inline-block;
    vertical-align: top;
  }
  .l-block03-slider-table{
    display:table;
  }
  .l-block03-slider-table > div{
    width:auto;
    display:table-cell;
    vertical-align: top;
    text-align: left;
  }
  .l-block03-slider-table-left{
    width:24.0rem !important;
    padding:0 2.5rem 0 2.5rem;
  }
  .l-block03-slider-table-left picture{

  }
  .l-block03-slider-table-left picture.l-block03-slider-list-image01{

  }
  .l-block03-slider-table-left picture.l-block03-slider-list-image01 img{
    width:20.0rem;
  }
  .l-block03-slider-table-left picture.l-block03-slider-list-image02{

  }
  .l-block03-slider-table-left picture.l-block03-slider-list-image02 img{
    width:28.6rem;
  }
  .l-block03-slider-table-left picture.l-block03-slider-list-image03{
    display:block;
    text-align: center;
  }
  .l-block03-slider-table-left picture.l-block03-slider-list-image03 img{
    width:10.0rem;
    margin:0 auto;
  }
  .l-block03-slider-table-right{
    width:50.0rem !important;
    background: url("../images/top/block07-bg01_pc.png") top center no-repeat transparent;
    background-size: 12.0rem auto;
    padding-top:8.1rem;
    padding-bottom:2.0rem;
  }
  .l-block03-slider-list-box{
    background:#f2f2f2;
    padding:4.5rem 4.5rem;
    border-radius:2.0rem;
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
  }
  .l-block03-slider-list-box picture{
    display:block;
  }
  .l-block03-slider-list-box picture img{
    width:100%;
  }
  .l-block03-slider-list-box h4{
    padding-top:4.5rem;
    padding-bottom:2.5rem;
    text-align: center;
    color: #909ec4;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-slider-list-box h4 span{
    text-align: center;
    color: #909ec4;

    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block03-slider-list-box p{
    padding-top:2.5rem;
    border-top:1px solid #8b9fcc;
    text-align: center;
    color: #808080;

    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }  
  .l-block03 .slick-dots{
    bottom:-5.34vw;
  }
  .l-block03 .slick-dots > li.slick-active button {
    background:#909ec4;
  }
  
}


.l-block04{
  background: url("../images/top/block04-bg00_pc.png") top center no-repeat transparent;
  background-size: cover;
  padding:10.0rem 3.0rem;
}
.l-block04-inner{
  max-width:1800px;
  width:100%;
  margin:0 auto;
}
.l-block04-inner > span{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(31px, 4.3rem, 43px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-inner > h2{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-box{
  margin-top:6.7rem;
  overflow: hidden;
  border-radius:4.5rem;
  box-shadow: 0px 4px 14px -2px rgba(0, 0, 0, 0.40);
}
.l-block04-box > a{
  width:100%;
  display:table;
  table-layout: fixed;
}
.l-block04-box > a > div{
  display: table-cell;
  text-align: left;
  vertical-align: top;
}
.l-block04-box-link-left{
  width:85.0rem;
}
.l-block04-box-link-left picture{
  display: block;
}
.l-block04-box-link-left picture img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.l-block04-box-link01{
  background:url("../images/top/block04-img01_pc.png");
  background-position:right 4.2rem bottom 7.5rem;
  background-repeat:no-repeat;
  background-size:9.5rem auto;
  background-color: #FFFFFF;
  min-height:9.5rem;
}
.l-block04-box-link02{
  background:url("../images/top/block04-img02_pc.png");
  background-position:right 4.2rem bottom 7.5rem;
  background-repeat:no-repeat;
  background-size:9.5rem auto;
  background-color: #FFFFFF;
  min-height:9.5rem;
}
.l-block04-box-block{
  width:95.0rem;
  position: relative;
  padding:8.8rem 22.0rem 8.8rem 10.0rem;
}

.l-block04-box-block-num{
  position: absolute;
  right:0;
  top:8.8rem;
  border-right:5px solid #f87a96;
  padding-right:5.0rem;
  text-align: center;
  color: #f87a96;
  
  font-size: clamp(35px, 5.2rem, 52px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.l-block04-box-block-num > span{
  display:block;
  text-align: center;
  color: #f87a96;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.l-block04-box-block-message{
  text-align: left;
  padding-top:4.2rem;
  padding-right:0;
}
.l-block04-box-block-message > h3{
  text-align: left;
  color: #f87a96;
  
  font-size: clamp(27px, 3.6rem, 36px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-box-block-message > span{
  display:inline-block;
  border-radius:2.5rem;
  background:#f87a96;
  padding:0.8rem 2.5rem;
  text-align: center;
  color:#FFFFFF;
  
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-box-block-message ul{
  padding-top:1.5rem;
  display:block;
  text-align: left;
  font-size:0;
}
.l-block04-box-block-message ul li{
  display:inline-block;
  vertical-align: top;
  padding-right:2.5rem;
  text-align: left;
  color:#f87a96;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-box-block-message ul li span{
  vertical-align: middle;
  text-align: left;
  color:#f87a96;
  
  font-size:10px;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-box-block-message ul li:last-of-type{
  padding-right:0;
}

.l-block04-box-link01 .l-block04-box-block-num{
  border-right:5px solid #f87a96;
  color: #f87a96;
}
.l-block04-box-link01 .l-block04-box-block-num > span{
  color: #f87a96;
}
.l-block04-box-link01 .l-block04-box-block-message > h3{
  color: #f87a96;
}
.l-block04-box-link01 .l-block04-box-block-message > span{
  background:#f87a96;
}
.l-block04-box-link01 .l-block04-box-block-message ul li{
  color:#f87a96;
}
.l-block04-box-link01 .l-block04-box-block-message ul li span{
  color:#f87a96;
}
.l-block04-box-link02 .l-block04-box-block-num{
  border-right:5px solid #8b9fcc;
  color:#8b9fcc;
}
.l-block04-box-link02 .l-block04-box-block-num > span{
  color: #8b9fcc;
}
.l-block04-box-link02 .l-block04-box-block-message > h3{
  color: #8b9fcc;
}
.l-block04-box-link02 .l-block04-box-block-message > span{
  background:#8b9fcc;
}
.l-block04-box-link02 .l-block04-box-block-message ul li{
  color:#8b9fcc;
}
.l-block04-box-link02 .l-block04-box-block-message ul li span{
  color:#8b9fcc;
}
.l-block04-box-block-message p{
  padding-top:1.5rem;
  text-align: justify;
  color:#808080;
  
  font-size:clamp(14px, 1.6rem, 16px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block04-box-block-message p span{
  text-align: justify;
  color:#808080;
  
  font-size:clamp(12px, 1.4rem, 14px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}


@media screen and (max-width: 767.5px) {
  .l-block04{
    background: url("../images/top/block04-bg00_pc.png") top center no-repeat transparent;
    background-size: cover;
    padding:10.0rem 3.0rem;
  }
  .l-block04-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block04-inner > span{
    display: block;
    text-align: center;
    color: #8b9fcc;

    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-inner > h2{
    display: block;
    text-align: center;
    color: #8b9fcc;

    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-box{
    margin-top:6.7rem;
    overflow: hidden;
    border-radius:4.5rem;
    box-shadow: 0px 4px 14px -2px rgba(0, 0, 0, 0.40);
  }
  .l-block04-box > a{
    width:100%;
    display:block;
    table-layout: auto;
  }
  .l-block04-box > a > div{
    width:100%;
    display:block;
    text-align: left;
    vertical-align: top;
    height:auto !important;
  }
  .l-block04-box-link-left{
    width:100%;
    display:block;
  }
  .l-block04-box-link-left picture{
    display: block;
    height: auto !important;
  }
  .l-block04-box-link-left picture img{
    width: 100%;
    height: auto;
    object-fit:unset;
  }
  .l-block04-box-link01{
    background:url("../images/top/block04-img01_pc.png");
    background-position:right 4.2rem bottom 7.5rem;
    background-repeat:no-repeat;
    background-size:9.5rem auto;
    background-color: #FFFFFF;
    min-height:9.5rem;
  }
  .l-block04-box-link02{
    background:url("../images/top/block04-img02_pc.png");
    background-position:right 4.2rem bottom 7.5rem;
    background-repeat:no-repeat;
    background-size:9.5rem auto;
    background-color: #FFFFFF;
    min-height:9.5rem;
  }
  .l-block04-box-block{
    width:95.0rem;
    position: relative;
    padding:3.0rem 0 19.8rem 3.0rem;
  }

  .l-block04-box-block-num{
    position: static;
    right:0;
    top:8.8rem;
    border-right:5px solid #f87a96;
    padding-right:5.0rem;
    text-align: right;
    color: #f87a96;

    font-size: 6.4rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-num > span{
    position: relative;
    left:1.5rem;
    display:block;
    text-align: right;
    color: #f87a96;

    font-size:2.7rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-message{
    text-align: left;
    padding-top:4.2rem;
    padding-right:0;
  }
  .l-block04-box-block-message > h3{
    text-align: left;
    color: #f87a96;

    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-message > span{
    display:inline-block;
    border-radius:3.5rem;
    background:#f87a96;
    padding:1.5rem 4.5rem;
    text-align: center;
    color:#FFFFFF;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-message ul{
    padding-top:1.5rem;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block04-box-block-message ul li{
    display:inline-block;
    vertical-align: top;
    padding-right:2.5rem;
    text-align: left;
    color:#f87a96;

    font-size:3.0rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-message ul li span{
    vertical-align: middle;
    text-align: left;
    color:#f87a96;

    font-size:1.5rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-message ul li:last-of-type{
    padding-right:0;
  }

  .l-block04-box-link01 .l-block04-box-block-num{
    border-right:5px solid #f87a96;
    color: #f87a96;
  }
  .l-block04-box-link01 .l-block04-box-block-num > span{
    color: #f87a96;
  }
  .l-block04-box-link01 .l-block04-box-block-message > h3{
    color: #f87a96;
  }
  .l-block04-box-link01 .l-block04-box-block-message > span{
    background:#f87a96;
  }
  .l-block04-box-link01 .l-block04-box-block-message ul li{
    color:#f87a96;
  }
  .l-block04-box-link01 .l-block04-box-block-message ul li span{
    color:#f87a96;
  }
  .l-block04-box-link02 .l-block04-box-block-num{
    border-right:5px solid #8b9fcc;
    color:#8b9fcc;
  }
  .l-block04-box-link02 .l-block04-box-block-num > span{
    color: #8b9fcc;
  }
  .l-block04-box-link02 .l-block04-box-block-message > h3{
    color: #8b9fcc;
  }
  .l-block04-box-link02 .l-block04-box-block-message > span{
    background:#8b9fcc;
  }
  .l-block04-box-link02 .l-block04-box-block-message ul li{
    color:#8b9fcc;
  }
  .l-block04-box-link02 .l-block04-box-block-message ul li span{
    color:#8b9fcc;
  }
  .l-block04-box-block-message p{
    padding-top:1.5rem;
    padding-right:3.0rem;
    text-align: justify;
    color:#808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block04-box-block-message p span{
    text-align: justify;
    color:#808080;

    font-size:2.2rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
}


.l-block05{
  padding:10.0rem 3.0rem;
}
.l-block05-inner{
  max-width:1372px;
  width:100%;
  margin:0 auto;
}
.l-block05-inner > span{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(31px, 4.3rem, 43px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block05-inner > h2{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block05-message{
  padding-top:2.5rem;
  text-align: center;
  color: #808080;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block05-block{
  padding-top:3.0rem;
  display:block;
  text-align: left;
  font-size:0;
}
.l-block05-block picture{
  width:25%;
  display:inline-block;
  vertical-align: top;
  padding:5.0rem 3.6rem 0;
}
.l-block05-block picture img{
  width:100%;
}
.l-block05-btn{
  padding-top:9.0rem;
  text-align: center;
}
.l-block05-btn a{
  width: 40.0rem;
  padding: 1.5rem 3.0rem;
  display: inline-block;
  border-radius: 4.0rem;
  border:1px solid #e8ecf5;
  background: #e8ecf5;
  text-align: center;
  
  color: #808080;
  font-size: clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block05-btn a:hover{
  opacity: 1.0;
  background: #FFFFFF;  
  color: #808080;
}


@media screen and (max-width: 767.5px) {
  .l-block05{
    padding:10.0rem 3.0rem;
  }
  .l-block05-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block05-inner > span{
    display: block;
    text-align: center;
    color: #8b9fcc;

    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block05-inner > h2{
    display: block;
    text-align: center;
    color: #8b9fcc;

    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block05-message{
    padding-top:2.5rem;
    text-align: center;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block05-block{
    padding-top:3.0rem;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block05-block picture{
    width:50%;
    display:inline-block;
    vertical-align: top;
    padding:5.0rem 3.6rem 0;
  }
  .l-block05-block picture img{
    width:100%;
  }
  .l-block05-btn{
    padding-top:9.0rem;
    text-align: center;
  }
  .l-block05-btn a{
    width: 60.0rem;
    padding: 2.5rem 3.0rem;
    display: inline-block;
    border-radius: 5.0rem;
    border:1px solid #e8ecf5;
    background: #e8ecf5;
    text-align: center;

    color: #808080;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block05-btn a:hover{
    opacity: 1.0;
    background: #FFFFFF;  
    color: #808080;
  }
}


.l-block06{
  padding:7.0rem 3.0rem 12.5rem;
}
.l-block06-inner{
  max-width:1600px;
  width:100%;
  margin:0 auto;
  background: url("../images/top/block06-bg01_pc.png") top center no-repeat transparent;
  background-size: 100% auto;
  padding-top:6.5rem;
  text-align: left;
}
.l-block06-inner > h2{
  text-align: center;
  
  color: #909ec4;
  font-size: clamp(28px, 3.8rem, 38px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block06-inner > h2 span{
  display:block;
  text-align: center;
  
  color: #909ec4;
  font-size:clamp(18px, 2.5rem, 25px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block06-block{
  max-width:95%;
  display: inline-block;
  margin-top:39.0rem;
  text-align: left;
  border-radius:0 3.5rem 0 0;
  background:#FFFFFF;
  padding:7.0rem 12.5rem 0;
}
.l-block06-block-table{
  width:auto;
  display:table;
  margin-right:auto;
}
.l-block06-block-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block06-block-table-left{
  width:37.5rem;
  padding-top:1.0rem;
}
.l-block06-block-table-left picture{
  
}
.l-block06-block-table-left picture img{
  width:22.0rem;
}
.l-block06-block-table-right{
  width:auto;
}
.l-block06-block-table-right h3{
  text-align: left;
  
  color: #909ec4;
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block06-block-table-right p{
  padding-top:3.0rem;
  text-align: left;
  
  color: #808080;
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block06-btn{
  margin:6.0rem auto 0;
  text-align: left;
}
.l-block06-btn a{
  width:40.0rem;
  padding:2.0rem 5.0rem;
  display:inline-block;
  border-radius: 4.0rem;
  background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
  box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
  text-align: center;
  color:#FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-block06-btn a:hover{
  opacity:1.0;
  background:#FFFFFF;
  color:#8b9fcc;
}


@media screen and (max-width: 767.5px) {
  .l-block06{
    padding:0 3.0rem 12.5rem;
  }
  .l-block06-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    background: url("../images/top/block06-bg01_pc.png") top center no-repeat transparent;
    background-size: 100% auto;
    padding-top:6.5rem;
    text-align: left;
  }
  .l-block06-inner > h2{
    padding-top:28.0rem;
    text-align: center;

    color: #909ec4;
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block06-inner > h2 span{
    display:block;
    text-align: center;

    color: #909ec4;
    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block06-block{
    max-width:100%;
    display: inline-block;
    margin-top:0;
    text-align: left;
    border-radius:0 0 0 0;
    background:#FFFFFF;
    padding:7.0rem 0 0;
  }
  .l-block06-block-table{
    width:100%;
    display:block;
    margin:0 auto;
  }
  .l-block06-block-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align: left;
  }
  .l-block06-block-table-left{
    width:100%;
    display:block;
    padding-top:1.0rem;
    text-align: center !important;
  }
  .l-block06-block-table-left picture{
    text-align: center;
  }
  .l-block06-block-table-left picture img{
    width:65%;
  }
  .l-block06-block-table-right{
    width:100%;
    display:block;
    padding-top:4.0rem;
  }
  .l-block06-block-table-right h3{
    text-align: left;

    color: #909ec4;
    font-size: 4.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block06-block-table-right p{
    padding-top:3.0rem;
    text-align: left;

    color: #808080;
    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block06-btn{
    margin:6.0rem auto 0;
    text-align: center;
  }
  .l-block06-btn a{
    width:40.0rem;
    padding:2.0rem 5.0rem;
    display:inline-block;
    border-radius: 5.0rem;
    background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
    text-align: center;
    color:#FFFFFF;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-block06-btn a:hover{
    opacity:1.0;
    background:#FFFFFF;
    color:#8b9fcc;
  }
}


.l-news{
  background:#f2f2f2;
  padding:10.0rem 3.0rem;
}
.l-news-inner{
  max-width:1350px;
  width:100%;
  margin:0 auto;
}
.l-news-inner > span{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(31px, 4.3rem, 43px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-news-inner > h2{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(19px, 2.6rem, 26px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-news-block{
  display:block;
  text-align: left;
  font-size:0;
}
.l-news-block-list{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
  padding:5.5rem 2.5rem 0;
}
.l-news-block-list-link{
  display:block;
  width:100%;
  border-radius:2.5rem;
  overflow: hidden;
}
.l-news-block-list-link > picture{
  display:block;
}
.l-news-block-list-link > picture img{
  width:100%;
}
.l-news-block-list-box{
  padding:3.0rem 3.0rem;
  background:#f4f6fa;
}
.l-news-block-list-box-table{
  width:100%;
  display:table;
}
.l-news-block-list-box-table > div{
  width:50%;
  display:table-cell;
  vertical-align:middle;
}
.l-news-block-list-box-table-left{
  text-align: left;
}
.l-news-block-list-box-table-left p{
  border-radius:2.0rem;
  display:inline-block;
  background:#8b9fcc;
  padding:0.5rem 3.5rem;
  text-align: center;
  color:#FFFFFF;
  
  font-size: clamp(13px, 1.5rem, 15px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-news-block-list-box-table-right{
  text-align: right;
}
.l-news-block-list-box-table-right p{
  text-align: right;
  color:#808080;
  
  font-size: clamp(13px, 1.5rem, 15px);
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-news-block-list-box dl{
  padding-top:2.5rem;
}
.l-news-block-list-box dl dt{
  padding-bottom:1.5rem;
  text-align: left;
  color:#8b9fcc;
  
  font-size: clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.1em;  
}
.l-news-block-list-box dl dd{
  padding-top:1.5rem;
  border-top:1px solid #e6e6f0;
  text-align: left;
  color:#808080;
  
  font-size: clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
  
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-line-clamp: 2;
}
.l-news-block-btn{
  margin: 6.0rem auto 0;
  text-align: center;
}
.l-news-block-btn a{
  width: 40.0rem;
  padding: 2.0rem 5.0rem;
  display: inline-block;
  border-radius: 4.0rem;
  background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
  box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
  text-align: center;
  color: #FFFFFF;
  
  font-size: clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-news-block-btn a:hover{
  opacity:1.0;
  background:#FFFFFF;
  color:#8b9fcc;
}


@media screen and (max-width: 767.5px) {
  .l-news{
    background:#f2f2f2;
    padding:10.0rem 3.0rem;
  }
  .l-news-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-news-inner > span{
    display: block;
    text-align: center;
    color: #8b9fcc;
    
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-news-inner > h2{
    display: block;
    text-align: center;
    color: #8b9fcc;
    
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-news-block{

  }
  .l-news-block-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding:5.5rem 0 0;
  }
  .l-news-block-list-link{
    display:block;
    width:100%;
    border-radius:2.5rem;
    overflow: hidden;
  }
  .l-news-block-list-link > picture{
    display:block;
  }
  .l-news-block-list-link > picture img{
    width:100%;
  }
  .l-news-block-list-box{
    padding:3.0rem 3.0rem;
    background:#f4f6fa;
  }
  .l-news-block-list-box-table{
    width:100%;
    display:table;
  }
  .l-news-block-list-box-table > div{
    width:50%;
    display:table-cell;
    vertical-align:middle;
  }
  .l-news-block-list-box-table-left{
    text-align: left;
  }
  .l-news-block-list-box-table-left p{
    border-radius:3.0rem;
    display:inline-block;
    background:#8b9fcc;
    padding:0.5rem 3.5rem;
    text-align: center;
    color:#FFFFFF;

    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-news-block-list-box-table-right{
    text-align: right;
  }
  .l-news-block-list-box-table-right p{
    text-align: right;
    color:#808080;

    font-size: 2.6rem;
    font-weight: 500;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-news-block-list-box dl{
    padding-top:2.5rem;
  }
  .l-news-block-list-box dl dt{
    padding-bottom:1.5rem;
    text-align: left;
    color:#8b9fcc;

    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.1em;  
  }
  .l-news-block-list-box dl dd{
    padding-top:1.5rem;
    border-top:1px solid #e6e6f0;
    text-align: left;
    color:#808080;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
  }
  .l-news-block-btn{
    margin: 6.0rem auto 0;
    text-align: center;
  }
  .l-news-block-btn a{
    width: 40.0rem;
    padding: 2.0rem 5.0rem;
    display: inline-block;
    border-radius: 5.0rem;
    background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
    text-align: center;
    color: #FFFFFF;
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-news-block-btn a:hover{
    opacity:1.0;
    background:#FFFFFF;
    color:#8b9fcc;
  }
}


.l-works{
  padding:9.0rem 3.0rem;
  background:#f4f6fa;
  
  display:none !important;
}
.l-works-inner{
  max-width:1660px;
  width:100%;
  margin:0 auto;
}
.l-works-inner > span{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(31px, 4.3rem, 43px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-works-inner > h2{
  display: block;
  text-align: center;
  color: #8b9fcc;
  
  font-size: clamp(19px, 2.6rem, 26px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-works-inner > p{
  padding-top:3.0rem;
  display: block;
  text-align: center;
  color: #808080;
  
  font-size: clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-works-block{
  display:block;
  text-align: left;
  font-size:0;
}
.l-works-block-list{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
  padding-top:4.8rem;
}
.l-works-block-list:nth-of-type(3n+1){
  padding-right:3.2rem;
}
.l-works-block-list:nth-of-type(3n+2){
  padding-left:1.6rem;
  padding-right:1.6rem;
}
.l-works-block-list:nth-of-type(3n){
  padding-left:3.2rem;
}
.l-works-block-list > a{
  display:block;
  background:#FFFFFF;
  border-radius:3.0rem;
  padding:5.0rem 5.0rem 4.0rem;
}
.l-works-block-list picture{
  display:block;
  text-align: center;
}
.l-works-block-list picture img{
  max-width:290px;
  width:100%;
}
.l-works-block-list dl{
  padding-top:2.5rem;
}
.l-works-block-list dl dt{
  text-align: left;
  color: #808080;
  
  font-size:clamp(18px, 2.5rem, 25px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-works-block-list dl dd{
  padding-top:3.0rem;
  text-align: left;
  color: #808080;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-works-block-list ul{
  padding-top:2.8rem;
  display:block;
  text-align: left;
  font-size:0;
}
.l-works-block-list ul li{
  width:50%;
  display:inline-block;
  vertical-align: top;
}
.l-works-block-list ul li:nth-of-type(odd){
  padding-right:1.0rem;
}
.l-works-block-list ul li:nth-of-type(even){
  padding-left:1.0rem;
}
.l-works-block-list ul li span{
  border-radius:2.5rem;
  display:block;
  background:#f87a96;
  padding:0.5rem 1.5rem;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0em;
}

.l-works-block-btn{
  padding-top:6.0rem;
  text-align: center;
}
.l-works-block-btn a{
  border-radius:4.0rem;
  display:inline-block;
  background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
  box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
  padding:2.0rem 9.0rem;
  text-align: center;
  color: #FFFFFF;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.l-works-block-btn a:hover{
  opacity:1.0;
  background:#FFFFFF;
  color:#8b9fcc;
}


@media screen and (max-width: 767.5px) {
  .l-works{
    padding:9.0rem 3.0rem;
    background:#f4f6fa;
    
    display:none !important;
  }
  .l-works-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-works-inner > span{
    display: block;
    text-align: center;
    color: #8b9fcc;
    
    font-size: 5.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-works-inner > h2{
    display: block;
    text-align: center;
    color: #8b9fcc;
    
    font-size: 3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-works-inner > p{
    padding-top:3.0rem;
    display: block;
    text-align: center;
    color: #808080;

    font-size: 2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-works-block{
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-works-block-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding-top:4.8rem;
  }
  .l-works-block-list:nth-of-type(3n+1){
    padding-right:0;
  }
  .l-works-block-list:nth-of-type(3n+2){
    padding-left:0;
    padding-right:0;
  }
  .l-works-block-list:nth-of-type(3n){
    padding-left:0;
  }
  .l-works-block-list > a{
    display:block;
    background:#FFFFFF;
    border-radius:3.0rem;
    padding:5.0rem 5.0rem 4.0rem;
  }
  .l-works-block-list picture{
    display:block;
    text-align: center;
  }
  .l-works-block-list picture img{
    max-width:100%;
    width:100%;
  }
  .l-works-block-list dl{
    padding-top:2.5rem;
  }
  .l-works-block-list dl dt{
    text-align: left;
    color: #808080;

    font-size:3.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-works-block-list dl dd{
    padding-top:3.0rem;
    text-align: left;
    color: #808080;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-works-block-list ul{
    padding-top:2.8rem;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-works-block-list ul li{
    width:50%;
    display:inline-block;
    vertical-align: top;
  }
  .l-works-block-list ul li:nth-of-type(odd){
    padding-right:1.0rem;
  }
  .l-works-block-list ul li:nth-of-type(even){
    padding-left:1.0rem;
  }
  .l-works-block-list ul li span{
    border-radius:2.5rem;
    display:block;
    background:#f87a96;
    padding:0.5rem 1.5rem;
    text-align: center;
    color: #FFFFFF;

    font-size:2.4rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0em;
  }

  .l-works-block-btn{
    padding-top:6.0rem;
    text-align: center;
  }
  .l-works-block-btn a{
    border-radius:4.0rem;
    display:inline-block;
    background-image: linear-gradient(90deg, #b683b7, #8c9fcc);
    box-shadow: 0px 3px 7px 1px rgba(0, 0, 0, 0.20);
    padding:2.0rem 9.0rem;
    text-align: center;
    color: #FFFFFF;

    font-size:3.2rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.1em;
  }
  .l-works-block-btn a:hover{
    opacity:1.0;
    background:#FFFFFF;
    color:#8b9fcc;
  }
}

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



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





