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

.l-mv{
  background: linear-gradient(90deg, #8bc4e8 0%, #a7d4f3 100%);
}
.l-mv-inner{
  max-width:192.0rem;
  width:100%;
  margin:0 auto;
  background: url("../images/top/mv-bg01_pc.png") center center no-repeat transparent;
  background-size: cover;
  min-height:65.0rem;
  position:relative;
  z-index:1;
}
.l-mv-title{
  padding:11.0rem 0 6.5rem 10.0rem;
}
.l-mv-title h2{
  text-align: left;
}
.l-mv-title h2 picture{
  
}
.l-mv-title h2 picture img{
  width:63.0rem;
}
.l-mv-title-wrapper{
  padding-top:2.5rem;
  padding-left:17.5rem;
}
.l-mv-title-message{
  text-align: left;
  color:#FFFFFF;

  font-size:clamp(16px, 2.4rem, 24px);
  font-weight:700;
  line-height: 1.73;
  letter-spacing: 0.05em;
}
.l-mv-image{
  display:inline-block;
  width:63.2rem;
  position:absolute;
  z-index:2;
  top:5.5rem;
  right:0;
  text-align: right;
  overflow: hidden;
}
.l-mv-image img{
  display:inline-block;
  width:50.2rem;
  position:relative;
  right:-63.2rem;
  animation: fadeInRightTopimage 12.0s linear 0s infinite;
  animation-direction:normal;
  animation-fill-mode:forwards;
  animation-play-state:running;
}
@media screen and (max-width: 767.5px) {
  .l-mv-image{
    display:inline-block;
    width:32.5rem;
    position:absolute;
    z-index:2;
    top:auto;
    right:auto;
    bottom:3.0rem;
    left:0;
    text-align: left;
    overflow: hidden;
  }
  .l-mv-image img{
    display:inline-block;
    width:32.5rem;
    position:relative;
    right:auto;
    left:-32.5rem;
    animation: fadeInRightTopimageSp 12.0s linear 0s infinite;
    animation-direction:normal;
    animation-fill-mode:forwards;
    animation-play-state:running;
  }
}
@-webkit-keyframes fadeInRightTopimage {
  0% {
    opacity: 0;
    right:-63.2rem;
    z-index:2;
  }
  10% {
    opacity: 1;
    right:13.0rem;
  }
  40% {
    opacity: 1;
    right:13.0rem;
  }
  50% {
    opacity: 0;
    right:-63.2rem;
    z-index:1;
  }
}
@keyframes fadeInRightTopimage {
  0% {
    opacity: 0;
    right:-63.2rem;
    z-index:2;
  }
  10% {
    opacity: 1;
    right:13.0rem;
  }
  40% {
    opacity: 1;
    right:13.0rem;
  }
  50% {
    opacity: 0;
    right:-63.2rem;
    z-index:1;
  }
}
.fadeInRightTopimage {
  -webkit-animation-name: fadeInRightTopimage;
  animation-name: fadeInRightTopimage;
}


@-webkit-keyframes fadeInRightTopimageSp {
  0% {
    opacity: 0;
    left:-32.5rem;
    z-index:2;
  }
  10% {
    opacity: 1;
    left:3.5rem;
  }
  40% {
    opacity: 1;
    left:3.5rem;
  }
  50% {
    opacity: 0;
    left:-32.5rem;
    z-index:1;
  }
}
@keyframes fadeInRightTopimageSp {
  0% {
    opacity: 0;
    left:-32.5rem;
    z-index:2;
  }
  10% {
    opacity: 1;
    left:3.5rem;
  }
  40% {
    opacity: 1;
    left:3.5rem;
  }
  50% {
    opacity: 0;
    left:-32.5rem;
    z-index:1;
  }
}
.fadeInRightTopimageSp {
  -webkit-animation-name: fadeInRightTopimageSp;
  animation-name: fadeInRightTopimageSp;
}

.l-mv-image02{
  display:inline-block;
  width:63.2rem;
  position:absolute;
  z-index:2;
  top:5.5rem;
  right:0;
  text-align: right;
  overflow: hidden;
}
.l-mv-image02 img{
  display:inline-block;
  width:50.2rem;
  position:relative;
  right:-63.2rem;
  animation: fadeInRightTopimage2 12.0s linear 0s infinite;
  animation-direction:normal;
  animation-fill-mode:forwards;
  animation-play-state:running;
}
@media screen and (max-width: 767.5px) {
  .l-mv-image02{
    display:inline-block;
    width:36.5rem;
    position:absolute;
    z-index:2;
    top:auto;
    right:auto;
    bottom:3.0rem;
    left:0;
    text-align: left;
    overflow: hidden;
  }
  .l-mv-image02 img{
    display:inline-block;
    width:32.5rem;
    position:relative;
    right:auto;
    left:-32.5rem;
    animation: fadeInRightTopimage2Sp 12.0s linear 0s infinite;
    animation-direction:normal;
    animation-fill-mode:forwards;
    animation-play-state:running;
  }
}
@-webkit-keyframes fadeInRightTopimage2 {
  0% {
    opacity: 0;
    right:-63.2rem;
    z-index:1;
  }
  50% {
    opacity: 0;
    right:-63.2rem;
  }
  60% {
    opacity: 1;
    right:13.0rem;
    z-index:2;
  }
  90% {
    opacity: 1;
    right:13.0rem;
  }
  100% {
    opacity: 0;
    right:-63.2rem;
  }
}
@keyframes fadeInRightTopimage2 {
  0% {
    opacity: 0;
    right:-63.2rem;
    z-index:1;
  }
  50% {
    opacity: 0;
    right:-63.2rem;
  }
  60% {
    opacity: 1;
    right:13.0rem;
    z-index:2;
  }
  90% {
    opacity: 1;
    right:13.0rem;
  }
  100% {
    opacity: 0;
    right:-63.2rem;
  }
}
.fadeInRightTopimage2 {
  -webkit-animation-name: fadeInRightTopimage2;
  animation-name: fadeInRightTopimage2;
}


@-webkit-keyframes fadeInRightTopimage2Sp {
  0% {
    opacity: 0;
    left:-32.5rem;
    z-index:1;
  }
  50% {
    opacity: 0;
    left:-32.5rem;
  }
  60% {
    opacity: 1;
    left:3.5rem;
    z-index:2;
  }
  90% {
    opacity: 1;
    left:3.5rem;
  }
  100% {
    opacity: 0;
    left:-32.5rem;
  }
}
@keyframes fadeInRightTopimage2Sp {
  0% {
    opacity: 0;
    left:-32.5rem;
    z-index:1;
  }
  50% {
    opacity: 0;
    left:-32.5rem;
  }
  60% {
    opacity: 1;
    left:3.5rem;
    z-index:2;
  }
  90% {
    opacity: 1;
    left:3.5rem;
  }
  100% {
    opacity: 0;
    left:-32.5rem;
  }
}
.fadeInRightTopimage2Sp {
  -webkit-animation-name: fadeInRightTopimage2Sp;
  animation-name: fadeInRightTopimage2Sp;
}

.l-mv-title-btn{
  padding-top:2.5rem;
  text-align: left;
}
.l-mv-title-btn a{
  display:inline-block;
  background: linear-gradient(90deg, #6996dd 0%, #a4348d 100%);
  border-radius:6.0rem;
  padding:2.5rem 5.0rem;
  text-align: left;
}
.l-mv-title-btn a span{
  background: url("../images/common/common-icon01_pc.png") right top 0.5rem no-repeat transparent;
  background-size: 1.8rem auto;
  min-height:1.8rem;
  padding-right:5.8rem;
  text-align: left;
  color:#FFFFFF;

  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-mv{
    background: linear-gradient(90deg, #8bc4e8 0%, #a7d4f3 100%);
  }
  .l-mv-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    background: url("../images/top/mv-bg01_sp.png") center center no-repeat transparent;
    background-size: cover;
    min-height:93.7rem;
    position:relative;
    z-index:1;
  }
  .l-mv-title{
    padding:5.0rem 0 6.5rem 0;
  }
  .l-mv-title h2{
    text-align: center;
  }
  .l-mv-title h2 picture{

  }
  .l-mv-title h2 picture img{
    width:72%;
  }
  .l-mv-title-wrapper{
    padding-top:4.5rem;
    padding-left:0;
  }
  .l-mv-title-message{
    padding-top: 2.0rem;
    padding-left: 4.0rem;
    text-align: left;
    color: #FFFFFF;
    
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.94;
    letter-spacing: 0.05em;
  }
  .l-mv-title-btn{
    display:none;
    padding-top:5.0rem;
    text-align: center;
  }
  .l-mv-title-btn a{
    display:inline-block;
    background: linear-gradient(90deg, #6996dd 0%, #a4348d 100%);
    border-radius:6.0rem;
    padding:2.5rem 5.0rem;
    text-align: left;
  }
  .l-mv-title-btn a span{
    background: url("../images/common/common-icon01_pc.png") right top 1.0rem no-repeat transparent;
    background-size: 2.7rem auto;
    min-height:2.7rem;
    padding-right:5.8rem;
    text-align: left;
    color:#FFFFFF;

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


.l-block01{
  padding:7.5rem 0 5.0rem;
}
.l-block01-inner{
  max-width:192.0rem;
  width:100%;
  margin:0 auto;
}
.l-block01-slider{
  display:block;
}
.l-block01-slider li{
  display:inline-block !important;
  vertical-align: middle;
  padding:0 4.0rem;
}
.l-block01-slider li a{
  
}
.l-block01-slider li a picture{
  
}
.l-block01-slider li a picture img{
  /*width:25.2rem;*/
  width:auto;
  height:6.6rem;
}


@media screen and (max-width: 767.5px) {
  .l-block01{
    padding:7.5rem 0 5.0rem;
  }
  .l-block01-inner{
    max-width:192.0rem;
    width:100%;
    margin:0 auto;
  }
  .l-block01-slider{
    display:block;
  }
  .l-block01-slider li{
    display:flex !important;
    vertical-align: middle;
    padding:0 4.0rem;
    align-items: center;
    height:10.0rem;
  }
  .l-block01-slider li a{

  }
  .l-block01-slider li a picture{

  }
  .l-block01-slider li a picture img{
    width:auto;
    height:7.6rem;
  }
}

.l-block23-wrapper{
  max-width:calc(1880px + 4.0rem);
  width:100%;
  margin:0 auto;
  padding:0 2.0rem;
}
.l-block23-box{
  padding:17.5rem 0 30.8rem;
  border-radius:3.5rem;
  background:#f4f9ff;
}
.l-block02{
  position: relative;
  z-index:1;
  padding-bottom:16.5rem;
}

.l-block02-table{
  max-width:160.0rem;
  width:100%;
  display:table;
  margin:0 auto;
}
.l-block02-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block02-table-left{
  width:70.0rem;
}
.l-block02-table-left h3{
  white-space: nowrap;
  text-align: left;
}
.l-block02-table-left h3 p{
  display:inline-block;
  background:#FFFFFF;
  padding:1.0rem 4.0rem;
  margin-bottom:0.4rem;
  text-align:left;
}
.l-block02-table-left h3 p span{
  display:inline-block;
  text-align:left;
  color:#437dd5;
  background: linear-gradient(90deg, #6996dd 0%, #a4348d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  font-size: clamp(22px, 3.0rem, 30px);
  font-weight:900;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.l-block02-block{
  padding-top:5.5rem;
}
.l-block02-block p{
  text-align:left;
  color:#333333;

  font-size:clamp(12px, 1.7rem, 17px);
  font-weight:700;
  line-height: 2.35;
  letter-spacing: 0.05em;
}
.l-block02-block p span{
  text-align:left;
  color:#437dd5;

  font-size:clamp(12px, 1.7rem, 17px);
  font-weight:700;
  line-height: 2.35;
  letter-spacing: 0.05em;
}
.l-block02-table-right{
  position: relative;
  padding-left:2.0rem;
}
.l-block02-table-right h2{
  padding-bottom:1.0rem;
  border-bottom:2px solid #437dd5;
  text-align: right;
  color:#437dd5;

  font-size: clamp(22px, 3.0rem, 30px);
  font-weight:700;
  line-height: 2.0;
  letter-spacing: 0.1em;
}
.l-block02-image{
  position: absolute;
  z-index:2;
  right:2.0rem;
  bottom:0;
}
.l-block02-image img{
  width:105.2rem;
}
@media screen and (max-width: 1100.5px) {
  .l-block02-image{
    position: absolute;
    z-index:2;
    right:2.0rem;
    top:0;
  }
  .l-block02-image img{
    width:85.2rem;
  }
}


@media screen and (max-width: 767.5px) {
  .l-block23-wrapper{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block23-box{
    padding:2.0rem 3.0rem 15.0rem;
    border-radius:3.5rem;
    background:#f4f9ff;
  }
  .l-block02{
    position: relative;
    z-index:1;
    padding-bottom:8.0rem;
    padding-top:56.0rem;
  }

  .l-block02-table{
    max-width:100%;
    width:100%;
    display:block;
    margin:0 auto;
    display:-webkit-box;
    display: -webkit-flex;
    display:-ms-flexbox;
    display: flex;
    -webkit-flex-wrap:wrap;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;

  }
  .l-block02-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align: left;
  }
  .l-block02-table-left{
    width:100%;
    display:block;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
    padding-top:3.0rem;
  }
  .l-block02-table-left h3{
    white-space: nowrap;
    text-align: left;
  }
  .l-block02-table-left h3 p{
    display:inline-block;
    background:#FFFFFF;
    padding:1.0rem 4.0rem;
    margin-bottom:0.4rem;
    text-align:left;
  }
  .l-block02-table-left h3 p span{
    display:inline-block;
    text-align:left;
    color:#437dd5;
    background: linear-gradient(90deg, #6996dd 0%, #a4348d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    font-size: 3.6rem;
    font-weight:900;
    line-height: 2.0;
    letter-spacing: 0.05em;
  }
  .l-block02-block{
    padding-top:2.5rem;
  }
  .l-block02-block p{
    text-align:justify;
    color:#333333;

    font-size:2.6rem;
    font-weight:700;
    line-height: 2.35;
    letter-spacing: 0.05em;
  }
  .l-block02-block p span{
    text-align:left;
    color:#437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 2.35;
    letter-spacing: 0.05em;
  }
  .l-block02-table-right{
    position: relative;
    padding-left:0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-block02-table-right h2{
    padding-bottom:1.0rem;
    border-bottom:2px solid #437dd5;
    text-align: left;
    color:#437dd5;

    font-size: 3.6rem;
    font-weight:700;
    line-height: 2.0;
    letter-spacing: 0.1em;
  }
  .l-block02-image{
    position: absolute;
    z-index:2;
    right:0;
    left:0;
    bottom:auto;
    top: 6.0rem;
    margin:0 auto;
    text-align: center;
  }
  .l-block02-image img{
    width:90%;
  }
}


.l-block03{
  padding:5.0rem 0 0;
  position: relative;
  z-index:1;
}
.l-block03-table{
  width:auto;
  display:table;
  margin-left:auto;
}
.l-block03-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block03-table-left{
  width:74.0rem;
}
.l-block03-table-left h2{
  padding-bottom:1.0rem;
  border-bottom:2px solid #437dd5;
  text-align: left;
  color:#437dd5;

  font-size: clamp(22px, 3.0rem, 30px);
  font-weight:700;
  line-height: 2.0;
  letter-spacing: 0.1em;
}
.l-block03-table-right{
  width:100.0rem;
  text-align: right;
}
.l-block03-table-right picture{
  
}
.l-block03-table-right picture img{
  width:100.0rem;
}
.l-block03-block{
  text-align: right;
  padding:7.0rem 16.0rem 0 0;
}
@media screen and (max-width: 1100.5px) {
  .l-block03-block{
    text-align: right;
    padding:7.0rem 4.0rem 0 0;
  }
}
.l-block03-block h3{
  display:inline-block;
  white-space: nowrap;
  text-align: left;
  padding-right:2.0rem;
}
.l-block03-block h3 > p{
  display:inline-block;
  background:#FFFFFF;
  padding:1.0rem 4.0rem;
  margin-bottom:0.4rem;
  text-align:left;
}
.l-block03-block h3 > p > span{
  display:inline-block;
  text-align:left;
  color:#437dd5;
  background: linear-gradient(90deg, #6996dd 0%, #a4348d 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;

  font-size: clamp(22px, 3.0rem, 30px);
  font-weight:900;
  line-height: 2.0;
  letter-spacing: 0.05em;
}
.l-block03-block > p{
  display:inline-block;
  padding-top:4.5rem;
  text-align:left;
  color:#333333;

  font-size:clamp(12px, 1.7rem, 17px);
  font-weight:700;
  line-height: 2.35;
  letter-spacing: 0.05em;
}
.l-block03-block > p > span{
  text-align:left;
  color:#437dd5;

  font-size:clamp(12px, 1.7rem, 17px);
  font-weight:700;
  line-height: 2.35;
  letter-spacing: 0.05em;
}
.l-block03-image{
  position: absolute;
  z-index:2;
  left:12.5rem;
  top:7.5rem;
}
.l-block03-image img{
  width:100.4rem;
}
@media screen and (max-width: 1100.5px) {
  .l-block03-image{
    position: absolute;
    z-index:2;
    left:12.5rem;
    top:10.5rem;
  }
  .l-block03-image img{
    width:84.0rem;
  }
}


@media screen and (max-width: 767.5px) {
  .l-block03{
    padding:60.0rem 0 0;
    position: relative;
    z-index:1;
  }
  .l-block03-table{
    width:100%;
    display:block;
    margin-left:0;
  }
  .l-block03-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align: left;
  }
  .l-block03-table-left{
    width:100%;
    display:block;
  }
  .l-block03-table-left h2{
    padding-bottom:1.0rem;
    border-bottom:2px solid #437dd5;
    text-align: left;
    color:#437dd5;

    font-size: 3.6rem;
    font-weight:700;
    line-height: 2.0;
    letter-spacing: 0.1em;
  }
  .l-block03-table-right{
    width:100%;
    display:block;
    text-align: left;
  }
  .l-block03-table-right picture{

  }
  .l-block03-table-right picture img{
    width:100%;
  }
  .l-block03-block{
    text-align: right;
    padding:3.0rem 0 0 0;
  }  
  .l-block03-block h3{
    display:block;
    white-space: nowrap;
    text-align: left;
    padding-right:0;
  }
  .l-block03-block h3 > p{
    display:inline-block;
    background:#FFFFFF;
    padding:1.0rem 4.0rem;
    margin-bottom:0.4rem;
    text-align:left;
  }
  .l-block03-block h3 > p > span{
    display:inline-block;
    text-align:left;
    color:#437dd5;
    background: linear-gradient(90deg, #6996dd 0%, #a4348d 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    font-size: 3.6rem;
    font-weight:900;
    line-height: 2.0;
    letter-spacing: 0.05em;
  }
  .l-block03-block > p{
    display:block;
    padding-top:2.5rem;
    text-align:justify;
    color:#333333;

    font-size:2.6rem;
    font-weight:700;
    line-height: 2.35;
    letter-spacing: 0.05em;
  }
  .l-block03-block > p > span{
    text-align:left;
    color:#437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 2.35;
    letter-spacing: 0.05em;
  }
  .l-block03-image{
    position: absolute;
    z-index:2;
    right:0;
    left:0;
    bottom:auto;
    top: 6.0rem;
    margin:0 auto;
    text-align: center;
  }
  .l-block03-image img{
    width:90%;
  }
}


.l-block04{
  padding:15.0rem 0 10.0rem;
  position:relative;
  z-index:2;
}
.l-block04:after{
  content: "";
  display: inline-block;
  left: 0;
  right: 0;
  bottom: -8.9rem;
  height: 9.0rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block04-bg01_pc.png") bottom center no-repeat transparent;
  background-size: 40.0rem auto;
  min-height:9.0rem;
  margin:0 auto;
}
.l-block04-inner{
  max-width:calc(1490px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block04-inner > span{
  display:block;
  text-align: center;
  color:#333333;

  font-size:2.5rem;
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block04-inner > h2{
  position: relative;
  margin-top: -6.0rem;
  left: -4.5rem;
  display:block;
  text-align: center;
  color:#437dd5;

  font-size: 4.8rem;
  font-weight:900;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block04-inner > h2 > span{
  padding-right:0.5rem;
  text-align: center;
  color:#437dd5;

  font-size: 12.0rem;
  font-weight:900;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block04-inner > p{
  padding-top:2.5rem;
  text-align: center;
  color:#333333;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block04-inner > p > span{
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block04-block{
  padding-top:5.0rem;
  display:block;
  text-align: center;
  font-size:0;
}
.l-block04-block-list{
  width:20%;
  display:inline-block;
  vertical-align: top;
  padding:0 1.5rem;
}
.l-block04-block-list p{
  background: url("../images/top/block04-img01_pc.png") top 4.6rem center no-repeat #f4f9ff;
  background-size: 8.4rem auto;
  min-height:7.4rem;
  border-radius:1.0rem;
  border:1px solid #437dd5;
  padding:14.6rem 0 2.5rem;
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block04-block-list.type01 p{  
  background: url("../images/top/block04-img01_pc.png") top 4.6rem center no-repeat #f4f9ff;
  background-size: 8.4rem auto;
  min-height:7.4rem;
}
.l-block04-block-list.type02 p{
  background: url("../images/top/block04-img02_pc.png") top 4.6rem center no-repeat #f4f9ff;
  background-size: 8.4rem auto;
  min-height:7.4rem;
}
.l-block04-block-list.type03 p{
  background: url("../images/top/block04-img03_pc.png") top 4.6rem center no-repeat #f4f9ff;
  background-size: 8.4rem auto;
  min-height:7.4rem;
}
.l-block04-block-list.type04 p{
  background: url("../images/top/block04-img04_pc.png") top 4.6rem center no-repeat #f4f9ff;
  background-size: 8.4rem auto;
  min-height:7.4rem;
  padding:15.6rem 0 2.5rem;
}
.l-block04-block-list.type05 p{
  background: url("../images/top/block04-img05_pc.png") top 4.6rem center no-repeat #f4f9ff;
  background-size: 8.4rem auto;
  min-height:7.4rem;
  padding:15.6rem 0 2.5rem;
}


@media screen and (max-width: 767.5px) {
  .l-block04{
    padding:15.0rem 0 10.0rem;
    position:relative;
    z-index:2;
  }
  .l-block04:after{
    content: "";
    display: inline-block;
    left: 0;
    right: 0;
    bottom: -8.9rem;
    height: 9.0rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block04-bg01_pc.png") bottom center no-repeat transparent;
    background-size: 40.0rem auto;
    min-height:9.0rem;
    margin:0 auto;
  }
  .l-block04-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block04-inner > span{
    padding-left:9.0rem;
    display:block;
    text-align: center;
    color:#333333;

    font-size:2.8rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block04-inner > h2{
    position: relative;
    margin-top: -7.0rem;
    left: -1.5rem;
    display:block;
    text-align: center;
    color:#437dd5;

    font-size: 5.0rem;
    font-weight:900;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block04-inner > h2 > span{
    padding-right:0.5rem;
    text-align: center;
    color:#437dd5;

    font-size: 12.4rem;
    font-weight:900;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block04-inner > p{
    padding-top:2.5rem;
    text-align: center;
    color:#333333;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block04-inner > p > span{
    text-align: center;
    color:#437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block04-block{
    padding-top:2.0rem;
    display:block;
    text-align: left;
    font-size:0;
  }
  .l-block04-block-list{
    width:50%;
    display:inline-block;
    vertical-align: top;
    padding:3.0rem 1.5rem 0;
  }
  .l-block04-block-list p{
    background: url("../images/top/block04-img01_pc.png") top 4.6rem center no-repeat #f4f9ff;
    background-size: 8.4rem auto;
    min-height:7.4rem;
    border-radius:1.0rem;
    border:1px solid #437dd5;
    padding:14.6rem 0 2.5rem;
    text-align: center;
    color:#437dd5;

    font-size:2.8rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block04-block-list.type01 p{  
    background: url("../images/top/block04-img01_pc.png") top 4.6rem center no-repeat #f4f9ff;
    background-size: 8.4rem auto;
    min-height:7.4rem;
  }
  .l-block04-block-list.type02 p{
    background: url("../images/top/block04-img02_pc.png") top 4.6rem center no-repeat #f4f9ff;
    background-size: 8.4rem auto;
    min-height:7.4rem;
  }
  .l-block04-block-list.type03 p{
    background: url("../images/top/block04-img03_pc.png") top 4.6rem center no-repeat #f4f9ff;
    background-size: 8.4rem auto;
    min-height:7.4rem;
  }
  .l-block04-block-list.type04 p{
    background: url("../images/top/block04-img04_pc.png") top 4.6rem center no-repeat #f4f9ff;
    background-size: 8.4rem auto;
    min-height:7.4rem;
    padding:15.6rem 0 2.5rem;
  }
  .l-block04-block-list.type05 p{
    background: url("../images/top/block04-img05_pc.png") top 4.6rem center no-repeat #f4f9ff;
    background-size: 8.4rem auto;
    min-height:7.4rem;
    padding:15.6rem 0 2.5rem;
  }
}


.l-block05{
  background:#f4f9ff;
  position: relative;
  z-index:1;
  padding:16.0rem 0 15.0rem;
}
.l-block05-inner{
  max-width:192.0rem;
  width:100%;
  margin:0 auto;
}
.l-block05-table{
  max-width:calc(1660px + 3.0rem);
  width:100%;
  display:table;
  margin-right:auto;
  padding:0 3.0rem 0 0;
}
.l-block05-table > div{
  display:table-cell;
  vertical-align: top;
  text-align: left;
}
.l-block05-table-left{
  width:96.0rem;
  padding-right:10.0rem;
}
.l-block05-table-left h2{
  padding-left:28.0rem;
  text-align: left;
  color:#333333;
  
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block05-table-left picture{
  display:block;
  padding-top:10.0rem;
  padding-bottom:9.0rem;
  text-align: left;
}
.l-block05-table-left picture img{
  width:86.0rem;
}
.l-block05-table-right{
  max-width:70.0rem;
}
.l-block05-table-right-block01{
  padding-bottom:6.0rem;
  border-bottom:2px dashed #e9ebe8;
  text-align: left;
}
.l-block05-table-right-strong{
  padding:0.6rem 2.2rem;
  font-family: "din-2014", sans-serif;
  display:inline-block;
  background:#437dd5;
  border-radius:1.5rem;
  text-align: center;
  color:#FFFFFF;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:600;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block05-table-right h3{
  padding-top:3.5rem;
  text-align: left;
  color:#437dd5;
  
  font-size: clamp(22px, 3.0rem, 30px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;  
}
.l-block05-table-right-message{
  padding-top:2.0rem;
  text-align: left;
  color:#333333;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.47;
  letter-spacing: 0.05em;
}
.l-block05-table-right-message span{
  text-align: left;
  color:#437dd5;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.47;
  letter-spacing: 0.05em;
}
.l-block05-table-right-block02{
  padding:5.0rem 0 6.0rem;
  border-bottom:2px dashed #e9ebe8;
  text-align: left;
}
.l-block05-table-right ul{
  padding-top:1.8rem;
  display:block;
}
.l-block05-table-right ul li{
  margin-top:1.0rem;
  display:block;
  background: url("../images/top/block05-icon01_pc.png") left 2.5rem center no-repeat #FFFFFF;
  border-radius:0.5rem;
  background-size: 3.2rem auto;
  min-height:2.4rem;
  padding:1.8rem 3.0rem 1.8rem 8.0rem;
  text-align: left;
  color:#333333;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block05-table-right-block03{
  padding:5.0rem 0 0;
}


@media screen and (max-width: 767.5px) {
  .l-block05{
    background:#f4f9ff;
    position: relative;
    z-index:1;
    padding:16.0rem 0 15.0rem;
  }
  .l-block05-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
  }
  .l-block05-table{
    max-width:100%;
    width:100%;
    display:block;
    margin-right:0;
    padding:0 0 0 0;
  }
  .l-block05-table > div{
    width:100%;
    display:block;
    vertical-align: top;
    text-align: left;
  }
  .l-block05-table-left{
    width:100%;
    display:block;
    padding-right:3.0rem;
  }
  .l-block05-table-left h2{
    padding-left:0;
    text-align: center;
    color:#333333;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block05-table-left picture{
    display:block;
    padding-top:10.0rem;
    padding-bottom:9.0rem;
    text-align: left;
  }
  .l-block05-table-left picture img{
    width:100%;
  }
  .l-block05-table-right{
    max-width:100%;
    padding:12.0rem 3.0rem 0;
  }
  .l-block05-table-right-block01{
    padding-bottom:6.0rem;
    border-bottom:2px dashed #e9ebe8;
    text-align: left;
  }
  .l-block05-table-right-strong{
    padding:1.2rem 4.0rem;
    font-family: "din-2014", sans-serif;
    display:inline-block;
    background:#437dd5;
    border-radius:2.5rem;
    text-align: center;
    color:#FFFFFF;

    font-size:2.6rem;
    font-weight:600;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block05-table-right h3{
    padding-top:3.5rem;
    text-align: left;
    color:#437dd5;

    font-size: 3.8rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;  
  }
  .l-block05-table-right-message{
    padding-top:2.0rem;
    text-align: left;
    color:#333333;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block05-table-right-message span{
    text-align: left;
    color:#437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block05-table-right-block02{
    padding:5.0rem 0 6.0rem;
    border-bottom:2px dashed #e9ebe8;
    text-align: left;
  }
  .l-block05-table-right ul{
    padding-top:1.8rem;
    display:block;
  }
  .l-block05-table-right ul li{
    margin-top:1.0rem;
    display:block;
    background: url("../images/top/block05-icon01_pc.png") left 2.5rem center no-repeat #FFFFFF;
    border-radius:0.5rem;
    background-size: 3.2rem auto;
    min-height:2.4rem;
    padding:1.8rem 3.0rem 1.8rem 8.0rem;
    text-align: left;
    color:#333333;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block05-table-right-block03{
    padding:5.0rem 0 0;
  }
}


.l-block06{
  padding:13.5rem 0 12.5rem;
}
.l-block06-inner{
  max-width:calc(1200px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block06 h2{
  padding-bottom:5.5rem;
  border-bottom:2px dashed #e9ebe8;
  text-align: center;
  color:#333333;
  
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block06-block{
  padding:6.5rem 0 0;
  display:flex;
  justify-content: space-around;
}
.l-block06-block-list{
  
}
.l-block06-block-list.type01{
  
}
.l-block06-block-list.type02{
  
}
.l-block06-block-list a{
  display:inline-block;
  padding-bottom:3.2rem;
  background: url("../images/common/common-icon05_pc.png") bottom center no-repeat transparent;
  background-size: 2.6rem auto;
  min-height:1.6rem;
}
.l-block06-block-list a > span{
  padding-bottom:1.5rem;
  display:block;
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.86;
  letter-spacing: 0.05em;
}
.l-block06-block-list a > p{
  display:block;
  text-align: center;
  color:#333333;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight:700;
  line-height: 2.75;
  letter-spacing: 0.05em;
  
  background: url("../images/top/block06-bg01_pc.png") left center no-repeat transparent;
  background-size: 6.4rem auto;
  min-height:5.6rem;
  
  padding-left:7.5rem;
}
.l-block06-block-list.type01 a > p{
  background: url("../images/top/block06-bg01_pc.png") left center no-repeat transparent;
  background-size: 6.4rem auto;
  min-height:5.6rem;
}
.l-block06-block-list.type02 a > p{
  background: url("../images/top/block06-bg02_pc.png") left center no-repeat transparent;
  background-size: 6.4rem auto;
  min-height:5.6rem;
}
.l-block06-block-list a > p > span{
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(22px, 2.9rem, 29px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block06{
    padding:13.5rem 0 12.5rem;
  }
  .l-block06-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block06 h2{
    padding-bottom:5.5rem;
    border-bottom:2px dashed #e9ebe8;
    text-align: center;
    color:#333333;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block06-block{
    padding:6.5rem 0 0;
    display:block;
  }
  .l-block06-block-list{
    text-align: center;
  }
  .l-block06-block-list.type01{

  }
  .l-block06-block-list.type02{
    padding-top:4.0rem;
  }
  .l-block06-block-list a{
    display:block;
    padding-bottom:3.2rem;
    background: url("../images/common/common-icon05_pc.png") bottom center no-repeat transparent;
    background-size: 3.9rem auto;
    min-height:2.4rem;
  }
  .l-block06-block-list a > span{
    padding-bottom:1.5rem;
    display:block;
    text-align: center;
    color:#437dd5;

    font-size:3.0rem;
    font-weight:700;
    line-height: 1.86;
    letter-spacing: 0.05em;
  }
  .l-block06-block-list a > p{
    width:100%;
    display:block;
    text-align: left;
    color:#333333;

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

    background: url("../images/top/block06-bg01_pc.png") left center no-repeat transparent;
    background-size: 6.4rem auto;
    min-height:5.6rem;

    padding-left:7.5rem;
  }
  .l-block06-block-list.type01 a > p{
    background: url("../images/top/block06-bg01_pc.png") left center no-repeat transparent;
    background-size: 6.4rem auto;
    min-height:5.6rem;
  }
  .l-block06-block-list.type02 a > p{
    background: url("../images/top/block06-bg02_pc.png") left center no-repeat transparent;
    background-size: 6.4rem auto;
    min-height:5.6rem;
  }
  .l-block06-block-list a > p > span{
    text-align: center;
    color:#437dd5;

    font-size:3.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
}


.l-block78-wrapper{
  padding-right:3.0rem;
}
.l-block07{
  background:#f4f9ff;
  border-radius:0 10.0rem 0 0;
  padding-bottom:7.0rem;
}
.l-block07-inner{
  max-width:calc(1600px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block07-merit{
  position: relative;
  padding-top:9.5rem;
  text-align: center;
}
.l-block07-merit:after{
  content: "";
  display: inline-block;
  left: 0;
  right: 0;
  top: -2.0rem;
  width:8.8rem;
  height: 7.6rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block07-icon01_pc.png") top center no-repeat transparent;
  background-size: 8.8rem auto;
  min-height:7.6rem;
  margin:0 auto;
}
.l-block07-merit span{
  display:inline-block;
  border-radius:2.0rem;
  background:#FFFFFF;
  border:1px solid #437dd5;
  padding:0.8rem 3.2rem;
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block07 h2{
  padding:2.0rem 2.0rem 3.0rem;
  border-bottom: 0.6rem dashed #e9ebe8;
  text-align: center;
  color:#333333;
  
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block07 h2 span{
  text-align: center;
  color:#437dd5;
  
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block07-message01{
  padding-top:5.0rem;
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block07-message02{
  padding-top:1.5rem;
  text-align: center;
  color:#333333;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block07-message02 b{
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block07-message02 span{
  padding-top:1.0rem;
  display:block;
  text-align: center;
  color:#666666;
  
  font-size:clamp(12px, 1.4rem, 14px);
  font-weight:400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block07-table02{
  width:100%;
  display:table;
  margin:5.0rem auto 0;
}
.l-block07-table02 > div{
  width:50%;
  display:table-cell;
  vertical-align: top;
}
.l-block07-table02-left{
  text-align: left;
  padding-right:1.0rem;
}
.l-block07-table02-box{
  background:#FFFFFF;
  padding:7.0rem 3.0rem 6.5rem;
}
.l-block07-table02-box h4{
  text-align: center;
  color:#333333;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block07-table02-box ul{
  display:block;
  text-align: center;
  font-size:0;
  padding-top:2.0rem;
}
.l-block07-table02-box ul li{
  display:inline-block;
  vertical-align: top;
  margin:1.0rem 0.5rem 0;
  min-width: 30.0rem;
  background:#f4f9ff;
  border-radius:0.5rem;
  padding:1.5rem 2.0rem;
  text-align: center;
  color:#333333;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block07-table02-right{
  text-align: right;
  padding-left:1.0rem;
}
.l-block07-table02-box picture{
  display:block;
  padding-top:4.0rem;
  padding-bottom:1.6rem;
  text-align: center;
}
.l-block07-table02-box picture img{
  width:53.6rem;
}
.l-block07-table02-box p{
  padding-top:2.8rem;
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 1.9rem, 19px);
  font-weight:700;
  line-height: 1.57;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block78-wrapper{
    padding-right:3.0rem;
  }
  .l-block07{
    background:#f4f9ff;
    border-radius:0 10.0rem 0 0;
    padding-bottom:7.0rem;
  }
  .l-block07-inner{
    max-width:calc(1600px + 6.0rem);
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block07-merit{
    position: relative;
    padding-top:9.5rem;
    text-align: center;
  }
  .l-block07-merit:after{
    content: "";
    display: inline-block;
    left: 0;
    right: 0;
    top: -2.0rem;
    width:8.8rem;
    height: 7.6rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block07-icon01_pc.png") top center no-repeat transparent;
    background-size: 8.8rem auto;
    min-height:7.6rem;
    margin:0 auto;
  }
  .l-block07-merit span{
    display:inline-block;
    border-radius:2.0rem;
    background:#FFFFFF;
    border:1px solid #437dd5;
    padding:0.8rem 4.2rem;
    text-align: center;
    color:#437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block07 h2{
    padding:2.0rem 2.0rem 3.0rem;
    border-bottom: 0.6rem dashed #e9ebe8;
    text-align: center;
    color:#333333;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block07 h2 span{
    text-align: center;
    color:#437dd5;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block07-message01{
    padding-top:5.0rem;
    text-align: center;
    color:#437dd5;

    font-size:3.0rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block07-message02{
    padding-top:1.5rem;
    text-align: center;
    color:#333333;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block07-message02 b{
    text-align: center;
    color:#437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block07-message02 span{
    padding-top:1.0rem;
    display:block;
    text-align: center;
    color:#666666;

    font-size:2.4rem;
    font-weight:400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block07-table02{
    width:100%;
    display:block;
    margin:5.0rem auto 0;
  }
  .l-block07-table02 > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block07-table02-left{
    width:100%;
    display:block;
    text-align: left;
    padding-right:0;
  }
  .l-block07-table02-box{
    background:#FFFFFF;
    padding:7.0rem 2.0rem 6.5rem;
  }
  .l-block07-table02-right .l-block07-table02-box{
    padding:0 2.0rem 6.5rem;
  }
  .l-block07-table02-box h4{
    text-align: center;
    color:#333333;

    font-size:3.0rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block07-table02-box ul{
    display:flex;
    text-align: center;
    font-size:0;
    padding-top:2.0rem;
    flex-wrap: wrap;
    align-items: center;
  }
  .l-block07-table02-box ul li{
    width:calc(50% - 1.0rem);
    height:100%;
    display:flex;
    align-items: center;
    vertical-align: top;
    justify-content: center;
    margin:1.0rem 0.5rem 0;
    min-width: auto;
    background:#f4f9ff;
    border-radius:0.5rem;
    padding:1.5rem 2.0rem;
    text-align: center;
    color:#333333;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block07-table02-right{
    text-align: right;
    padding-left:0;
  }
  .l-block07-table02-box picture{
    display:block;
    padding-top:4.0rem;
    padding-bottom:1.6rem;
    text-align: center;
  }
  .l-block07-table02-box picture img{
    width:100%;
  }
  .l-block07-table02-box p{
    padding-top:2.8rem;
    text-align: center;
    color:#437dd5;

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


.l-block08{
  background: #f4f9ff;
  border-radius: 0 0 10.0rem 0;
  padding-bottom: 9.0rem;
}
.l-block08-inner{
  
}
.l-block08-block{
  
}
.l-block08-block01{
  background: linear-gradient(90deg, #6997dd 0%, #53c3eb 100%);
  height:40.0rem;
  padding-top:9.0rem;
}
.l-block08-block01 h3{
  text-align: center;
  color:#FFFFFF;
  
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block08-block02{
  max-width:calc(1100px + 6.0rem);
  width:100%;
  margin:-19.0rem auto 0;
  background:#FFFFFF;
  border:2px solid #ec4678;
  padding:0 3.0rem 4.2rem;
  text-align: center;
  border-radius: 1.0rem;
}
.l-block08-block02 > p{
  display:inline-block;
  border-radius:0 0 2.0rem 2.0rem;
  background:#ec4678;
  padding:1.0rem 6.0rem;
  text-align: center;
  color:#FFFFFF;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block08-block02-dl01{
  padding:2.5rem 3.0rem 2.5rem;
  border-bottom: 0.6rem dashed #e9ebe8;
  max-width:calc(600px + 6.0rem);
  width:100%;
  margin:0 auto;
}
.l-block08-block02-dl01 dt{
  display:block;
  text-align: center;
  color:#ec4678;
  
  font-size:clamp(18px, 2.5rem, 25px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block08-block02-dl01 dd{
  padding-top:0.5rem;
  display:block;
  text-align: center;
  color:#333333;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block08-block02-dl01 dd span{
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(14px, 1.8rem, 18px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block08-block02-dl02{
  padding:3.0rem 3.0rem 0;
}
.l-block08-block02-dl02 dt{
  display:block;
  text-align: center;
  color:#437dd5;
  
  font-size:clamp(18px, 2.5rem, 25px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block08-block02-dl02 dd{
  padding-top:1.5rem;
  display:block;
  text-align: center;
  color:#4d4d4d;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block08-block02-dl02 dd span{
  display:block;
  text-align: center;
  color:#808080;
  
  font-size:clamp(13px, 1.5rem, 15px);
  font-weight:400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {  
  .l-block08{
    background: #f4f9ff;
    border-radius: 0 0 10.0rem 0;
    padding-bottom: 9.0rem;
  }
  .l-block08-inner{

  }
  .l-block08-block{

  }
  .l-block08-block01{
    background: linear-gradient(90deg, #6997dd 0%, #53c3eb 100%);
    height:40.0rem;
    padding-top:9.0rem;
  }
  .l-block08-block01 h3{
    text-align: center;
    color:#FFFFFF;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block08-block02{
    max-width:calc(100% - 6.0rem);
    width:100%;
    margin:-19.0rem auto 0;
    background:#FFFFFF;
    border:2px solid #ec4678;
    padding:0 3.0rem 4.2rem;
    text-align: center;
    border-radius: 1.0rem;
  }
  .l-block08-block02 > p{
    display:inline-block;
    border-radius:0 0 2.0rem 2.0rem;
    background:#ec4678;
    padding:1.0rem 6.0rem;
    text-align: center;
    color:#FFFFFF;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block08-block02-dl01{
    padding:2.5rem 3.0rem 2.5rem;
    border-bottom: 0.6rem dashed #e9ebe8;
    max-width:calc(100% - 3.0rem);
    width:100%;
    margin:0 auto;
  }
  .l-block08-block02-dl01 dt{
    display:block;
    text-align: center;
    color:#ec4678;

    font-size:3.2rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block08-block02-dl01 dd{
    padding-top:0.5rem;
    display:block;
    text-align: center;
    color:#333333;

    font-size:2.8rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block08-block02-dl01 dd span{
    text-align: center;
    color:#437dd5;

    font-size:2.8rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block08-block02-dl02{
    padding:3.0rem 3.0rem 0;
  }
  .l-block08-block02-dl02 dt{
    display:block;
    text-align: center;
    color:#437dd5;

    font-size:3.2rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block08-block02-dl02 dd{
    padding-top:1.5rem;
    display:block;
    text-align: center;
    color:#4d4d4d;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block08-block02-dl02 dd span{
    display:block;
    text-align: center;
    color:#808080;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
}


.l-block09{
  padding:5.5rem 0 5.0rem 3.0rem;
}
.l-block09-inner{
  background: #f4f9ff;
  border-radius:10.0rem 0 0 10.0rem;
  padding-top:10.0rem;
}
.l-block09-merit {
  position: relative;
  text-align: center;
  padding-top:10.0rem;
}
.l-block09-merit:after {
  content: "";
  display: inline-block;
  left: 0;
  right: 0;
  top: 0;
  width: 5.2rem;
  height: 5.2rem;
  position: absolute;
  z-index: 2;
  background: url(../images/top/block09-icon01_pc.png) top center no-repeat transparent;
  background-size: 5.2rem auto;
  min-height: 5.2rem;
  margin: 0 auto;
}
.l-block09-merit span{
  display: inline-block;
  border-radius: 2.0rem;
  background: #FFFFFF;
  border: 1px solid #437dd5;
  padding: 0.8rem 3.2rem;
  text-align: center;
  color: #437dd5;
  font-size: clamp(14px, 1.7rem, 17px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block09 h2{
  padding: 2.0rem 4.0rem 3.0rem;
  border-bottom: 0.6rem dashed #e9ebe8;
  text-align: center;
  color: #333333;
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
  
  max-width: calc(1600px + 6.0rem);
  width: 100%;
  margin: 0 auto;
}
.l-block09 h2 span{
  text-align: center;
  color: #437dd5;
  
  font-size: clamp(29px, 3.9rem, 39px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block09-block{
  padding:5.5rem 2.0rem 7.0rem;
}
.l-block09-block h3{
  text-align: center;
  color: #437dd5;
  
  font-size:clamp(14px, 2.0rem, 20px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block09-block p{
  padding-top:1.5rem;
  text-align: center;
  color: #333333;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block09-block p span{
  text-align: center;
  color: #437dd5;
  
  font-size:clamp(14px, 1.7rem, 17px);
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.05em;
}
.l-block09-table{
  width:100%;
  display:table;
}
.l-block09-table > div{
  width:50%;
  display:table-cell;
  vertical-align: top;
}
.l-block09-table-left{
  text-align: right;
  padding-right:7.0rem;
}
.l-block09-table-left picture{
  text-align: right;
}
.l-block09-table-left picture img{
  width:49.6rem;
}
.l-block09-table-right{
  text-align: left;
  padding-left:4.0rem;
}
.l-block09-table-right h4{
  text-align: left;
  color:#333333;

  font-size:clamp(14px, 2.0rem, 20px);
  font-weight:700;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-block09-table-right ul{
  margin-top:1.0rem;
  display:block;
}
.l-block09-table-right ul li{
  width:50.0em;
  margin-top:2.0rem;
  display:block;
  border-radius:1.0rem;
  background: url("../images/common/common-icon04_pc.png") left 2.0rem center no-repeat #FFFFFF;
  background-size: 3.4rem auto;
  min-height:2.6rem;
  padding:2.0rem 2.0rem 2.0rem 6.0rem;
}
.l-block09-table-right ul li p{
  padding:0.5rem 2.0rem;
  text-align: left;
  color:#333333;

  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block09{
    padding:5.5rem 0 5.0rem 3.0rem;
  }
  .l-block09-inner{
    background: #f4f9ff;
    border-radius:10.0rem 0 0 10.0rem;
    padding-top:10.0rem;
  }
  .l-block09-merit {
    position: relative;
    text-align: center;
    padding-top:10.0rem;
  }
  .l-block09-merit:after {
    content: "";
    display: inline-block;
    left: 0;
    right: 0;
    top: 0;
    width: 7.8rem;
    height: 7.8rem;
    position: absolute;
    z-index: 2;
    background: url(../images/top/block09-icon01_pc.png) top center no-repeat transparent;
    background-size: 7.8rem auto;
    min-height: 7.8rem;
    margin: 0 auto;
  }
  .l-block09-merit span{
    display: inline-block;
    border-radius: 2.0rem;
    background: #FFFFFF;
    border: 1px solid #437dd5;
    padding: 0.8rem 4.2rem;
    text-align: center;
    color: #437dd5;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block09 h2{
    padding: 2.0rem 2.0rem 3.0rem;
    border-bottom: 0.6rem dashed #e9ebe8;
    text-align: center;
    color: #333333;

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

    max-width:calc(100% - 6.0rem);
    width: 100%;
    margin: 0 auto;
  }
  .l-block09 h2 span{
    text-align: center;
    color: #437dd5;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
  .l-block09-block{
    padding:5.5rem 2.0rem 7.0rem;
  }
  .l-block09-block h3{
    text-align: center;
    color: #437dd5;

    font-size:2.8rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block09-block p{
    padding-top:1.5rem;
    text-align: center;
    color: #333333;

    font-size:2.6rem;
    font-weight: 400;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block09-block p span{
    text-align: center;
    color: #437dd5;

    font-size:2.6rem;
    font-weight: 700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block09-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;
    padding:0 3.0rem;
  }
  .l-block09-table > div{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block09-table-left{
    width:100%;
    display:block;
    padding-right:0;
    -webkit-box-ordinal-group:2;
    -ms-flex-order:2;
    -webkit-order:2;
    order:2;
    text-align: center;
  }
  .l-block09-table-left picture{
    text-align: center;
  }
  .l-block09-table-left picture img{
    width:80%;
  }
  .l-block09-table-right{
    padding-bottom:6.0rem;
    text-align: center;
    padding-left:0;
    -webkit-box-ordinal-group:1;
    -ms-flex-order:1;
    -webkit-order:1;
    order:1;
  }
  .l-block09-table-right h4{
    text-align: left;
    color:#333333;

    font-size:2.8rem;
    font-weight:700;
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
  .l-block09-table-right ul{
    margin-top:1.0rem;
    display:block;
  }
  .l-block09-table-right ul li{
    width:100%;
    margin-top:2.0rem;
    display:block;
    border-radius:1.0rem;
    background: url("../images/common/common-icon04_pc.png") left 2.0rem center no-repeat #FFFFFF;
    background-size: 3.4rem auto;
    min-height:2.6rem;
    padding:2.0rem 2.0rem 2.0rem 6.0rem;
  }
  .l-block09-table-right ul li p{
    padding:0.5rem 2.0rem;
    text-align: left;
    color:#333333;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.2;
    letter-spacing: 0.05em;
  }
}


.l-block10{
  padding:12.0rem 0 11.0rem;
  position:relative;
  z-index:2;
}
.l-block10:after{
  content: "";
  display: inline-block;
  left: 0;
  right: 0;
  bottom: -8.9rem;
  height: 9.0rem;
  position: absolute;
  z-index: 2;
  background: url("../images/top/block04-bg01_pc.png") bottom center no-repeat transparent;
  background-size: 40.0rem auto;
  min-height:9.0rem;
  margin:0 auto;
}
.l-block10-inner{
  max-width:calc(1260px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block10 h2{
  text-align: center;
  color:#437dd5;

  font-size:clamp(18px, 2.5rem, 25px);
  font-weight:700;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.l-block10-block{
  padding-top:5.0rem;
  display:block;
  text-align:center;
  font-size:0;
}
.l-block10-block-list{
  width:33.3%;
  display:inline-block;
  vertical-align: top;
  padding:0 1.0rem;
}
.l-block10-block-list-box{
  background:#f4f9ff;
  border:1px solid #437dd5;
  border-radius:1.0rem;
  padding:3.8rem 1.0rem 3.0rem;
}
.l-block10-block-list-box picture{
  display:block;
  text-align: center;
}
.l-block10-block-list-box picture img{
  width:23.4rem;
}
.l-block10-block-list-box p{
  padding-top:1.5rem;
  text-align: center;
  color:#333333;

  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.l-block10-inner > p{
  padding-top:4.5rem;
  text-align: center;
  color:#333333;

  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.58;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block10{
    padding:12.0rem 0 11.0rem;
    position:relative;
    z-index:2;
  }
  .l-block10:after{
    content: "";
    display: inline-block;
    left: 0;
    right: 0;
    bottom: -8.9rem;
    height: 9.0rem;
    position: absolute;
    z-index: 2;
    background: url("../images/top/block04-bg01_pc.png") bottom center no-repeat transparent;
    background-size: 40.0rem auto;
    min-height:9.0rem;
    margin:0 auto;
  }
  .l-block10-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block10 h2{
    text-align: center;
    color:#437dd5;

    font-size:3.2rem;
    font-weight:700;
    line-height: 1.75;
    letter-spacing: 0.05em;
  }
  .l-block10-block{
    padding-top:5.0rem;
    display:block;
    text-align:center;
    font-size:0;
  }
  .l-block10-block-list{
    width:100%;
    display:block;
    vertical-align: top;
    padding:0 0 3.0rem;
  }
  .l-block10-block-list-box{
    background:#f4f9ff;
    border:1px solid #437dd5;
    border-radius:1.0rem;
    padding:3.8rem 1.0rem 3.0rem;
  }
  .l-block10-block-list-box picture{
    display:block;
    text-align: center;
  }
  .l-block10-block-list-box picture img{
    width:35.1rem;
  }
  .l-block10-block-list-box p{
    padding-top:0;
    text-align: center;
    color:#333333;

    font-size:2.6rem;
    font-weight:700;
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
  .l-block10-inner > p{
    padding-top:4.5rem;
    text-align: center;
    color:#333333;

    font-size:clamp(14px, 1.7rem, 17px);
    font-weight:400;
    line-height: 1.58;
    letter-spacing: 0.05em;
  }
}


.l-block11{
  padding:14.5rem 0 18.0rem;
  background:#f4f9ff;
}
.l-block11-inner{
  max-width:calc(1040px + 6.0rem);
  width:100%;
  margin:0 auto;
  padding:0 3.0rem;
}
.l-block11-inner h2{
  text-align: center;
  color:#333333;

  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.53;
  letter-spacing: 0.05em;
}
.l-block11-inner h2 span{
  text-align: center;
  color:#437dd5;

  font-size: clamp(29px, 3.9rem, 39px);
  font-weight:700;
  line-height: 1.53;
  letter-spacing: 0.05em;
}
.l-block11-block{
  padding-top:4.0rem;
  display:block;
  text-align: center;
  font-size:0;
}
.l-block11-block-list{
  display:inline-block;
  vertical-align: top;
}
.l-block11-block-list:nth-of-type(1){
  padding-right:2.5rem;
  background: url("../images/top/block11-iicon01_pc.png") right center no-repeat transparent;
  background-size: 2.8rem auto;
  min-height:8.2rem;
  min-width:61.5rem;
}
.l-block11-block-list:nth-of-type(2){
  padding-left:2.5rem;
  min-width:42.5rem;
}
.l-block11-block-list-box{
  background: #FFFFFF;
  border: 1px solid #437dd5;
  border-radius: 1.0rem;
  padding: 5.0rem 1.0rem;
  text-align: center;
}
.l-block11-block-list-box picture{
  display:inline-block;
  vertical-align: middle;
}
.l-block11-block-list-box picture.l-block11-block-list-box-image01{
  padding:0 1.0rem;
}
.l-block11-block-list-box picture.l-block11-block-list-box-image02{
  
}
.l-block11-block-list-box picture img{
  width:23.4rem;
}
.l-block11-message01{
  padding-top:3.0rem;
  text-align: center;
  color:#437dd5;

  font-size:clamp(18px, 2.5rem, 25px);
  font-weight:700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.l-block11-message02{
  padding-top:2.0rem;
  text-align: center;
  color:#000000;

  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:400;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.l-block11-message02 span{
  padding-top:2.0rem;
  text-align: center;
  color:#437dd5;

  font-size:clamp(14px, 1.7rem, 17px);
  font-weight:700;
  line-height: 1.6;
  letter-spacing: 0.05em;
}


@media screen and (max-width: 767.5px) {
  .l-block11{
    padding:14.5rem 0 18.0rem;
    background:#f4f9ff;
  }
  .l-block11-inner{
    max-width:100%;
    width:100%;
    margin:0 auto;
    padding:0 3.0rem;
  }
  .l-block11-inner h2{
    text-align: center;
    color:#333333;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.53;
    letter-spacing: 0.05em;
  }
  .l-block11-inner h2 span{
    text-align: center;
    color:#437dd5;

    font-size: 4.6rem;
    font-weight:700;
    line-height: 1.53;
    letter-spacing: 0.05em;
  }
  .l-block11-block{
    padding-top:4.0rem;
    display:block;
    text-align: center;
    font-size:0;
  }
  .l-block11-block-list{
    width:100%;
    display:block;
    vertical-align: top;
  }
  .l-block11-block-list:nth-of-type(1){
    padding-right:0;
    padding-bottom:2.7rem;
    background: url("../images/top/block11-iicon01_sp.png") bottom center no-repeat transparent;
    background-size: 8.2rem auto;
    min-height:2.8rem;
    min-width:auto;
    margin-bottom:3.0rem;
  }
  .l-block11-block-list:nth-of-type(2){
    padding-left:0;
    min-width:auto;
  }
  .l-block11-block-list-box{
    background: #FFFFFF;
    border: 1px solid #437dd5;
    border-radius: 1.0rem;
    padding: 5.0rem 1.0rem;
    text-align: center;
  }
  .l-block11-block-list-box picture{
    display:inline-block;
    vertical-align: middle;
  }
  .l-block11-block-list-box picture.l-block11-block-list-box-image01{
    padding:0 1.0rem;
  }
  .l-block11-block-list-box picture.l-block11-block-list-box-image02{

  }
  .l-block11-block-list-box picture img{
    width:31.0rem;
  }
  .l-block11-message01{
    padding-top:3.0rem;
    text-align: center;
    color:#437dd5;

    font-size:3.2rem;
    font-weight:700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .l-block11-message02{
    padding-top:2.0rem;
    text-align: center;
    color:#000000;

    font-size:2.6rem;
    font-weight:400;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
  .l-block11-message02 span{
    padding-top:2.0rem;
    text-align: center;
    color:#437dd5;

    font-size:clamp(14px, 1.7rem, 17px);
    font-weight:700;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }
}




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



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








