html {
  font-size: 10px;
}
.wp-content img{
  width: auto;
  max-width: 100%;

}
.wp-content ul { 
   list-style-type: disc; 
   list-style-position: inside; 
   margin-bottom:1em;
}
.wp-content ol { 
   list-style-type: decimal; 
   list-style-position: inside; 
   margin-bottom:1em;
}
/* ul ul, ol ul { 
   list-style-type: circle; 
   list-style-position: inside; 
   margin-left: 15px; 
}
ol ol, ul ol { 
   list-style-type: lower-latin; 
   list-style-position: inside; 
   margin-left: 15px; 
} */


.editor-styles-wrapper,
.wp-content{
    font-size: 1.6rem;
}

.wp-content strong,
.editor-styles-wrapper strong {
  font-weight:bold;
}
.wp-content em,
.editor-styles-wrapper em
 {
  font-style:italic;
}

.wp-content a,
.editor-styles-wrapper a{
  text-decoration: underline;
}

/* PC */
@media print,only screen and (min-width: 768px){
  .editor-styles-wrapper,
  .wp-content{
    line-height: 1.75;
    font-size: 1.6rem;
  }
  .wp-content a:hover,
  .editor-styles-wrapper a:hover{
    color: #43914C;
  }
  
}

/* SP */
@media screen and (max-width: 767px){	

  .editor-styles-wrapper,
  .wp-content{
    font-size: 1.6rem;
    line-height: 1.75;
  }
  
}

.editor-styles-wrapper *{
  box-sizing:border-box;
}

.editor-styles-wrapper .wp-block{
  box-sizing: border-box;
}



[class^='wp-block-'],
[class*=' wp-block-'] {
  margin-bottom: 40px;
}

[class^='wp-block-']:last-child,
[class*=' wp-block-']:last-child {
  margin-bottom: 0;
}

.wp-block[data-align=left]>.wp-block-image,
.wp-block-image .alignleft{
  margin: .5em 1em 1em 0;
}

.wp-block[data-align=right]>.wp-block-image,
.wp-block-image .alignright{
  margin: .5em 0 1em 1em;
}

/* 見出し
--------------------------------------------------*/
h2.wp-block-heading,
h3.wp-block-heading,
h4.wp-block-heading,
h5.wp-block-heading,
h6.wp-block-heading{
  font-weight: 600;
  letter-spacing: .04em;
  clear:both;
}


h2.wp-block-heading{
  color: #fff;
  background-color: #002836;
  line-height: 1.7;
  font-weight: 600;
  border-radius: 0.8rem;
}

h3.wp-block-heading{
  line-height: 1.7;
  font-weight: 600;
  border-bottom: 1px #CFE1DC solid;
  position: relative;
}
h3.wp-block-heading:before{
  content: "";
  width: 0.5rem;
  position: absolute;
  top: 0.7rem;
  bottom: 1.1rem;
  left: 0;
  background: linear-gradient(219.25deg, #52A733 30.75%, #1D968A 56.3%);
  border-radius: 10rem;
}
h4.wp-block-heading{
  background: url("../images/shared/h3-icon.svg") left 0.3em no-repeat;
  background-size: 1.6rem auto;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.7;
  padding-left: 2.4rem;
}

h5.wp-block-heading,
h6.wp-block-heading{
  font-size: 1.6rem;
  font-weight: 600;
  margin-bottom: 0.4rem;
}

/* PC */
@media print,only screen and (min-width: 768px){ 

   h2.wp-block-heading{
    font-size: 2.4rem;
    padding: 1.2rem 3.2rem;
    margin-bottom: 2rem;
  }
  h3.wp-block-heading{
    font-size: 2rem;
    padding: 0 0 0.4rem 2.1rem;
    margin-bottom: 2rem;
  }
  h4.wp-block-heading{
    margin-bottom: 2rem;
  }

}

/* SP */
@media screen and (max-width: 767px){	

  h2.wp-block-heading{
    font-size: 2rem;
    padding: 1.4rem 2rem 1.5rem 2rem;
    margin-bottom: 2rem;
  }
  h3.wp-block-heading{
    font-size: 1.8rem;
    padding: 0 0 0.7rem 1.7rem;
    margin-bottom: 2rem;
  }
  h3.wp-block-heading:before{
    width: 0.55rem;
    top: 0.6rem;
    bottom: 1.2rem
  }
  h4.wp-block-heading{
    margin-bottom: 2rem;
  }

}

/* リスト
--------------------------------------------------*/
.wp-block-list{
  margin-left:0;
  padding-left:0;
  font-size: 1.6rem;
  line-height: 1.8;
  margin-bottom: 4.6rem;
  list-style-type: none;
  list-style: none;
}

.wp-block-list li{
  padding-left: 1.3em;
  position: relative;
  margin-bottom: 0.3rem;
  list-style: none;
}
ul.wp-block-list li:before{
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  font-weight: 600;
}
ol.wp-block-list{
  counter-reset: number 0; 
}
ol.wp-block-list li{
  padding-left: 3.8rem;
  position: relative;
}
ol.wp-block-list li:before{
  width: 2.6rem;
  height: 2.6rem;
  background-color: #F4F5F5;
  counter-increment: number 1;  
  content: counter(number); 
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  border-radius: 50%;
}
ul.is-style-check-list{
  list-style-type: none;
}
.wp-block-list.is-style-check-list li:before{
  content: "";
  width: 1.2rem;
  height: 0.8rem;
  background: url("../images/shared/check.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0.6em;
  left: 0;  
}

/* PC */
@media print,only screen and (min-width: 768px){ 
}

/* SP */
@media screen and (max-width: 767px){	
}

/* ボタン
--------------------------------------------------*/
.wp-block-buttons{
  justify-content: center;
}
.wp-block-button{
  text-align: center;
  position: relative;
}
.wp-block-button .wp-block-button__link{
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  background-color: #43914C;
  border: 1px #43914C solid;
  border-radius: 10rem;
  position: relative;
  transition: all .4s ease;
  display: inline-block;
  text-decoration: none;
}
.wp-block-button .wp-block-button__link:before{
  background-color: #43914C;
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  border-radius: 50%;
  position: absolute;
  right: 2rem;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transition: all .4s ease;
  display: block;
  opacity: 0;
}
.wp-block-button .wp-block-button__link:after{
  content: "";
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("../images/shared/arrow.svg"),url("../images/shared/arrow.svg");
  background-size: 0.8rem auto,0.8rem auto;
  background-position: right 0.8rem center,right 3rem center;
  background-repeat: no-repeat,no-repeat;
  display: block;
  position: absolute;
  top: 0;
  right: 2rem;
  bottom: 0;
  margin: auto 0;
  transition: background-position .4s ease;
}
.wp-block-button .wp-block-button__link[target="_blank"]:after{
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("../images/shared/target-white.svg");
  background-size: 1.2rem 1.2rem;
  background-position: center center;
  background-repeat: no-repeat;
  right: 2rem;
}

/* PC */
@media print,only screen and (min-width: 768px){ 	  
  .wp-block-button .wp-block-button__link:hover:before{
    opacity: 1;
  }	  
  .wp-block-button .wp-block-button__link:hover:after{
    background-position: right -2.5rem center,right 0.8rem center;
  }
  .wp-block-button .wp-block-button__link[target="_blank"]:hover:after{
  background-position: center center;
  }
  .wp-block-button{
    text-align: right;
  }  
  .wp-block-button .wp-block-button__link{
    padding: 1.2rem 5.2rem 1.3rem 3.1rem;
    transition: all .3s ease;
  }
  .wp-block-button .wp-block-button__link:hover{
    text-decoration: none;
    background: #fff;
    color: #43914C;
  }
}

/* SP */
@media screen and (max-width: 767px){
  .m-arrow:before{
    width: 1rem;
    height: 1rem;
  }
  .m-arrow:after{
    width: 3.3rem;
  }
  .wp-block-button{
    text-align: center;
  }  
  .wp-block-button .wp-block-button__link{
    padding: 1.2rem 5.2rem 1.2rem 4.2rem;
  }
}

/* テキスト-------------------------------------------------*/
.editor-styles-wrapper p,
.wp-content p{
  letter-spacing: .04em;
}

.article-container-frame p{
  margin-top:0;
}

/* PC */
@media print,only screen and (min-width: 768px){	
	.editor-styles-wrapper p,
  .wp-content p{
    line-height: 1.75;
    font-size: 1.6rem;
    margin-bottom: 2em;
	}
  .editor-styles-wrapper p:last-child,
  .wp-content p:last-child{
    margin-bottom: 0;
	}
}

/* SP */
@media screen and (max-width: 767px){
	.editor-styles-wrapper p,
  .wp-content p{
    font-size: 1.6rem;
    line-height: 1.75;
    margin-bottom: 2em;
	}
  .editor-styles-wrapper p:last-child,
  .wp-content p:last-child{
    margin-bottom: 0;
	}
}


/* リンク--------------------------------------------------*/

p a[target="_blank"]:not(:has(> img)):after{
  content: "";
  background: url("../images/shared/icon-target-black.svg") center center no-repeat;
  background-size: 100% auto;
  display: inline-block;
  margin:0 0.5em -0.2rem 0.5em;
  width: 0.9em;
  height: 0.9em;
}



/* 目次
--------------------------------------------------*/

#toc_container{
  width: 100%!important;
  background-color: #fff;
  border-radius: 1.6rem;
  padding: 0;
}
.toc_title{
  background-color: #557D92;
  color: #fff;
  font-weight: 600;
  border-radius: 0.8rem 0.8rem 0 0;
  position: relative;
  cursor: pointer;
}
.toc_title:after{
  content: "";
  width: 1px;
  background-color: #6995AC;
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  display: block;
}
.toc_toggle a{
  position: absolute;
  inset:0;
  text-indent: -9999px;
}
.toc_brackets{
  width: 3.2rem;
  height: 3.2rem;
  background-color: #6290A8;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 50%;
  display: block;
  text-indent: -9999px;
  pointer-events: none;
}
.toc_brackets:before,
.toc_brackets:after{
  content: "";
  background-color: #fff;
  width: 1.2rem;
  height: 2px;
  position: absolute;
  inset:0;
  margin: auto auto;
  display: block;
  transition: all .3s ease;
}
.contracted .toc_brackets:after{
  transform: rotate(-90deg);
}
.toc_brackets:after{
  transform: rotate(0deg);
}
.toc_list{
  counter-reset: item;
}
.toc_list li{
  counter-increment: item;
  position: relative;
  margin-bottom: 1.4rem;
  padding-left: 4rem;
}
.toc_list li:last-child{
  margin-bottom: 0;
}
.toc_list li:before{
  content: counter(item) "";
  width: 2.8rem;
  height: 2.8rem;
  background-color: #E7EFEE;
  border-radius: 50%;
  color: #557D92;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: "Inter";
  line-height: 1.5;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.1em;
  left: 0;
}
/* PC */
@media print,only screen and (min-width: 768px){ 
  #toc-place{
    margin-top: -4rem;
    position: relative;
    z-index: 20;
  }
  #toc_container{
    margin-bottom: 4rem;
  }
  .toc_title{
    padding: 1rem 12rem 1rem 3.2rem;
    font-size: 2rem;
  }
  .toc_title:after{
    right: 9.8rem;
  }
  .toc_brackets{
    right: 3.2rem;
  }
  .toc_list{
    padding: 4rem 6.4rem;
  }
  .toc_list a{
    transition: all .3s ease;
  }
  .toc_list a:hover{
    color: #43914C;
    text-decoration: none;
  }
}

/* SP */
@media screen and (max-width: 767px){
  #toc_container{
    margin-bottom: 2rem;
  }
  .toc_title{
    padding: 1.1rem 9rem 1.1rem 2rem;
    font-size: 1.8rem;
  }
  .toc_title:after{
    right: 7.2rem;
  }
  .toc_brackets{
    right: 2rem;
  }
  .toc_list{
    padding: 3.1rem 2rem 3.5rem 2rem;
  }	
}

/*
#toc_container{
  width: 100%!important;
  background-color: #F4F5F5;
  border-radius: 0.8rem;
  line-height: 1.75;
}
#toc_container p{
  margin-bottom: 0;
}
#toc_container a{
  text-decoration: none;
}
.toc_title{
  font-size: 1.6rem;
  font-weight: 600;
  position: relative;
}
.toc_toggle{
  content: "";
  width: 11rem;
  height: 11rem;
  display: block;
  position: absolute;
  right: -4rem;
  top: -3.5rem;
}
.toc_toggle a{
  height: 11rem;
  display: block;
  color: transparent;
}
.toc_toggle span{
  display: none;
}
.toc_toggle:before{
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  background-color: #2A2C2D;
  border-radius: 50%;
  display: block;
  position: absolute;
  right: 4rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.toc_toggle:after{
  content: "";
  width: 0.9rem;
  height: 0.4rem;
  background-image: url("../images/shared/arrow-down-white.svg");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  display: block;
  position: absolute;
  right: 4.9rem;
  margin: 0 auto;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  transition: all .3s ease;
  pointer-events: none;
}
#toc_container.contracted .toc_toggle:after{
  transform: translateY(-50%) rotate(0);
}
.toc_list{
  counter-reset: number 0;  
}
.toc_list>li{
  font-weight: 600;
  padding-left: 3.6rem;
  position: relative;
}
.toc_list>li:before{
  width: 2.4rem;
  height: 2.4rem;
  background-color: #fff;
  counter-increment: number 1;  
  content: counter(number); 
  border-radius: 50%;
  display: block;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  position: absolute;
  left: 0;
  top: 0;
}
.toc_list>li>ul>li{
  position: relative;
  font-size: 1.4rem;
  font-weight: normal;
}
.toc_list>li>ul>li:before{
  content: "-";
  margin-right: 0.5rem;
}
.toc_list li:last-child{
  margin-bottom: 0;
}
*/


/* PC */
@media print,only screen and (min-width: 768px){ 
/*
  #toc_container{
    padding: 3.5rem 4rem 3.5rem 4rem;
    margin-bottom: 6.4rem;
  }
  .toc_title{
    padding: 0.5rem 0;
  }
  .toc_toggle:hover:before{
    background-color: #fff;
  }
  .toc_toggle:hover:after{
    background-image: url("../images/shared/arrow-down.svg");
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.14);
  }
  .toc_list{
    margin-top: 1rem;
  }
  .toc_list>li{
    margin-bottom: 1.3rem;
  }
  .toc_list>li>ul{
    margin:1rem 0 3rem 0;
  }
  .toc_list>li>ul>li{;
    margin-bottom: 0.8rem;
  }
*/
}

/* SP */
@media screen and (max-width: 767px){	
/*
  #toc_container{
    padding: 2.5rem 2.5rem 2.5rem 2.5rem;
    margin-bottom: 4.8rem;
  }
  .toc_toggle{
    width: 7.5rem;
    height: 7.5rem;
    right: -2.5rem;
    top: -2.5rem;
  }
  .toc_toggle a{
    height: 7.5rem;
  }
  .toc_toggle:before{
    right: 2.5rem;
  }
  .toc_toggle:after{
    right: 3.4rem;
  }
  .toc_list{
    margin-top: 2rem;
  }
  .toc_list>li{
    margin-bottom: 1rem;
  }
  .toc_list>li>ul{
    margin:1.2rem 0 2.6rem 0;
  }
  .toc_list>li>ul>li{
    margin-bottom: 1.4rem;
  } 
*/
}

/* 引用
--------------------------------------------------*/
.wp-block-quote{
  font-size: 1.6rem;
  line-height: 1.8;
  border-left: 1px #D9E3E3 solid;
  padding-left: 2.6rem;
  text-indent: 2.4rem;
  position: relative;
}
.wp-block-quote:before{
  width: 1.5rem;
  height: 1.1rem;
  content: "";
  background: url("../images/archieve/quot.svg") left top no-repeat;
  display: inline-block;
  background-size: 100% auto;
  position: absolute;
  top: 0;
  left: 2.4rem;
}
.wp-block-quote span{
  display: block;
  text-align: right;
  color: #97999B;
  font-size: 1.2rem;
  margin-top: 1rem;
}

/* PC */
@media print,only screen and (min-width: 768px){
  .wp-block-quote{
    margin-bottom: 6.4rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	 
  .wp-block-quote{
    margin-bottom: 4.8rem;
  }
}


/* リンク
--------------------------------------------------*/
.service-link{
  background: linear-gradient(289.05deg, #49A651 16.58%, #08909C 83.47%);
  border-radius: 0.8rem;
}

.service-link a{
  text-decoration: none;
}

.service-link__text01{
  color: #fff;
  font-weight: 600;
  text-align: center;
}
.service-link__items{
  background-color: #fff;
  border-radius: 0.4rem;
}
.service-link__text02{
  text-align: center;
}
.service-link__button a{
  background-color: #DD5E14;
  color: #fff;
  border-radius: 10rem;
  font-size: 1.6rem;
  padding: 1.1rem 2rem;
  font-weight: 600;
  text-align: center;
  display: block;
  border: 1px #DD5E14 solid;
  cursor: pointer;
}
.service-link__button.-white a{
  background-color: #fff;
  color: #2D2D2D;
  border: 1px #2D2D2D solid;
}
.service-link.-one .service-link__item{
  background-color: #fff;
  border-radius: 0.4rem;
}

/* PC */
@media print,only screen and (min-width: 768px){   
  .service-link{
    padding: 3.2rem 1.6rem 1.6rem 1.6rem;
    margin-bottom: 4.8rem;
  }
  .service-link__text01{
    font-size: 2rem;
    margin-bottom: 2.4rem;
  }
  .service-link__items{
    display: flex;
    justify-content: center;
    position: relative;
  }
  .service-link.-three .service-link__items{
    gap:0 6.4rem;
    padding: 3.9rem 4.4rem;
  }
  .service-link.-two .service-link__items{
    gap:0 10.4rem;
    padding: 3.9rem 7.6rem;
  }
  .service-link.-three .service-link__items:before,
  .service-link.-three .service-link__items:after,
  .service-link.-two .service-link__items:before{
    content: "";
    background-color: #CFE1DC;
    width: 1px;
    position: absolute;
    top: 4.9rem;
    bottom: 4.9rem;
  }
  .service-link.-three .service-link__items:before{
    left: calc( ( 100% / 3 ) - 4.266666rem + 4.4rem );
  }
  .service-link.-three .service-link__items:after{
    right: calc( ( 100% / 3 ) - 4.266666rem + 4.4rem );
  }
  .service-link.-two .service-link__items:before{
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .service-link.-three .service-link__item{
    width: calc( ( 100% / 3 ) - 4.266666rem );
  }
  .service-link.-two .service-link__item{
    width: calc( 50% - 5.2rem );
  }
  .service-link__text02{
    font-size: 1.4rem;
    margin-top: 1.6rem;
  }
  .service-link.-one{
    padding: 1.6rem 1.6rem 1.6rem 6.7rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .service-link.-one .service-link__text01{
    width: 36.8%;
    text-align: left;
    font-size: 1.8rem;
    line-height: 1.65;
    margin-bottom: 0;
  }
  .service-link.-one .service-link__item{
    width: 54%;
    padding: 2.4rem 3rem;
    box-sizing: border-box;
  }
  .service-link.-one .service-link__button{
    max-width: 28rem;
    margin: 0 auto;
  }
  .service-link.-one .service-link__text02{
    max-width: 30rem;
    margin: 1.6rem auto;
  }
  .service-link__button li{
    min-width: 21.2rem;
  }
  .service-link__button a{
    transition: all .3s ease;
  }
  .service-link__button a:hover{
    background-color: #fff;
    color: #43914C;
    border: 1px #43914C solid;
    text-decoration: none;
  }
  .service-link__button.-white a:hover{
    color: #43914C;
    border: 1px #43914C solid;
  }
}

/* SP */
@media screen and (max-width: 767px){	  
  .service-link{
    padding: 2rem 0.8rem 0.8rem 0.8rem;
    margin-bottom: 2rem;
  }
  .service-link__text01{
    font-size: 1.6rem;
    line-height: 1.8;
    margin:0 2rem 1.5rem 2rem;
  }
  .service-link__items{
    padding: 2.4rem 2rem 0.1rem 2rem;
  }
  .service-link__text02{
    font-size: 1.2rem;
    line-height: 1.75;
    margin: 0.8rem 0 1.8rem 0;
  }
  .service-link.-one .service-link__item{
    padding: 2.4rem 2rem 0.1rem 2rem;
  }
}

/* ステップ
--------------------------------------------------*/
.service-step{
  counter-reset: item;
}
.service-step__item{
  counter-increment: item;
  gap:0 2rem;
  display: flex;
  align-items: flex-start;
  position: relative;
}
.service-step__item:last-child{
  padding-bottom: 0;
}
.service-step__number{
  background: #E7EFEE;
  border-radius: 0.4rem;
  color: #557D92;
  font-size: 1.2rem;
  font-weight: 500;
  font-family: "Inter";
  text-align: center;
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  z-index: 3;
}
.service-step__number:after{
  content: counter(item) "";
  font-size: 2.2rem;
  line-height: 1;
  font-weight: bold;
  position: relative;
}
.service-step__text01{
  font-weight: 600;
}
.service-step__text02{
  font-size: 1.4rem;
  line-height: 1.7;
}
.service-step__item:after{
  content: "";
  width: 1px;
  background-color: #CFE1DC;
  position: absolute;
  top: 0;
  display: block;
}
.service-step__item:before{
  content: "";
  background: url("../images/shared/arrow-down.svg") center center no-repeat;
  background-size: 100% auto;
  position: absolute;
  display: block;
  z-index: 2;
}
.service-step__item:last-child:after,
.service-step__item:last-child:before{
  content: none;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .service-step{
    margin-bottom: 6.4rem;
  }
  .service-step__item{
    padding-bottom: 2.5rem;
  }
  .service-step__number{
    width: 8.8rem;
    padding: 0.7rem;
    margin-bottom: 0.9rem;
  }
  .service-step__number:after{
    margin-left: 0.6rem;
    top: 0.3rem;
  }
  .service-step__texts{
    width: calc( 100% - 10.8rem );
    font-size: 1.8rem;
    line-height: 1.65;
  }
  .service-step__text02{
    margin-top: 0.7rem;
  }
  .service-step__item:after{
    left: 4.35rem;
    bottom: 1.5rem;
  }
  .service-step__item:before{
    width: 0.8rem;
    height: 0.8rem;
    left: 4.1rem;
    bottom: 1rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .service-step{
    margin-bottom: 4rem;
  }
  .service-step__item{
    position: relative;
    padding-bottom: 1.7rem;
  }
  .service-step__number{
    width: 7.6rem;
    align-items: flex-start;
    padding: 0.7rem 0.7rem 0.8rem 0.7rem;
  }
  .service-step__number:after{
    margin-left: 0.6rem;
    top: 0.3rem;
  }
  .service-step__texts{
    width: calc( 100% - 9.3rem );
  }
  .service-step__text01{
    font-size: 1.6rem;
    line-height: 1.8;
  }
  .service-step__text02{
    margin-top: 1rem;
  }
  .service-step__item:after{
    left: 3.7rem;
    bottom: 2rem;
  }
  .service-step__item:before{
    width: 0.8rem;
    height: 0.8rem;
    left: 3.41rem;
    bottom: 1.5rem;
  }
}


/* コメント
--------------------------------------------------*/
.service-comment__image{
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto;
}
.service-comment__image img{
  width: 100%;
  object-fit: cover;
  aspect-ratio: 1 / 1;
  vertical-align: bottom;
}
.service-comment__text{
  font-size: 1.2rem;
  line-height: 1.75;
}
.service-comment__comment{
  font-size: 1.6rem;
  border: 1px #CFE1DC solid;
  box-sizing: border-box;
}
.service-comment:has(+ .service-comment){
  margin-bottom: 0;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .service-comment{
    margin-bottom: 6.4rem;
  }
  .service-comment__item{
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 3.2rem;
  }
  .service-comment__name{
    width: 12.8rem;
    text-align: center;
  }
  .service-comment__image{
    width: 8.9rem;
  }
  .service-comment__text{
    margin-top: 1.1rem;
  }
  .service-comment__comment{
    width: calc( 100% - 17.6rem );
    border-radius: 4rem 8rem 8rem 0;
    padding: 3.2rem 4rem 3rem 4rem;
  }
  .service-comment__comment:first-child:last-child{
    width: 100%;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .service-comment{
    margin-bottom: 4rem;
  }
  .service-comment__item{
    display: flex;
    flex-direction: column;
    margin-bottom: 3.2rem;
  }
  .service-comment__name{
    display: flex;
    align-items: center;
    gap:0 1.8rem;
    margin-top: 1.1rem;
    order: 2;
  }
  .service-comment__image{
    width: 6rem;
  }
  .service-comment__text{
    width: calc( 100% - 7.8rem );
  }
  .service-comment__comment{
    margin-left: 2.4rem;
    border-radius: 2.4rem 3.2rem 3.2rem 0;
    padding: 2.6rem;
    order: 1;
  }
}


/* Q&A
--------------------------------------------------*/
.service-faq__item{
  position: relative;
}
.service-faq__item:after{
  content: "";
  background-color: #CFE1DC;
  width: 1px;
  position: absolute;
  top: 0;
  bottom: 0;
  display: block;
}
.service-faq__q{
  position: relative;
  cursor: pointer;
}
.service-faq__a{
  position: relative;
  display: none;
  margin-top: 1.6rem;
}

/* Gutenberg 管理画面では閉じない */
.editor-styles-wrapper .service-a{
  display: block;
}

.service-faq__q:before,
.service-faq__a:before{
  width: 2.6rem;
  height: 2.6rem;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0.1em;
  color: #557D92;
  font-family: "Inter";
  font-size: 1.2rem;
  font-weight: bold;
  padding-left: 0.1rem;
  box-sizing: border-box;
}
.service-faq__q:before{
  content: "Q";
  background-color: #E7EFEE;
  border: 1px #E7EFEE solid;
  left: 0;
}
.service-faq__a:before{
  content: "A";
  border: 1px #43914C solid;
  left: 4.4rem;
}
.service-faq__icon{
  position: absolute;
  right: 0;
  background-color: #CFE1DC;
  border-radius: 50%;
}
.service-faq__icon:before,
.service-faq__icon:after{
  content: "";
  width: 1.1rem;
  height: 1px;
  background-color: #43914C;
  position: absolute;
  inset:0;
  margin: auto auto;
  display: block;
  transition: all .3s ease;
}
.service-faq__icon:after{
  transform: rotate(-90deg);
}
.-open .service-faq__icon:after{
  transform: rotate(0);
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .service-faq{
    margin-bottom: 6.4rem;
  }
  .service-faq__item{
    margin-bottom: 4.8rem;
  }
  .service-faq__item:after{
    right: 4.3rem;
  }
  .service-faq__q{
    padding:0 7.5rem 0 4.4rem;
  }
  .service-faq__a{
    padding:0 7.5rem 0 8.8rem;
  }
  .service-faq__icon{
    top: 0;
    width: 3rem;
    height: 3rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .service-faq{
    margin-bottom: 4rem;
  }
  .service-faq__item{
    margin-bottom: 2.4rem;
  }
  .service-faq__item:after{
    right: 3.4rem;
  }
  .service-faq__item:last-child{
    margin-bottom: 0;
  }
  .service-faq__q{
    padding:0 5.1rem 0 4.4rem;
  }
  .service-faq__a{
    padding:0 5.1rem 0 8.8rem;
  }
  .service-faq__icon{
    width: 2.4rem;
    height: 2.4rem;
    top: 0.2rem;
  }
}

/* カード
--------------------------------------------------*/
.service-card__item{
  position: relative;
  border: 1px solid #CFE1DC;
  border-radius: 0.4rem;
  box-sizing: border-box;
}
.service-card__item:before,
.service-card__item:after{
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto 0;
  display: block;
  border-radius:50%;
}
.service-card__item:before{
  width: 1.6rem;
  height: 1px;
  background-color: #CFE1DC;
  left: 0;
}
.service-card__item:after{
  width: 0.5rem;
  height: 0.5rem;
  background: linear-gradient(289.05deg, #49A651 16.58%, #08909C 83.47%);
  left: 1.6rem;
}
.service-card__title{
  font-size: 1.8rem;
  line-height: 1.65;
  font-weight: 600;
  margin-bottom: 0.6rem;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .service-card{
    display: flex;
    flex-wrap: wrap;
    gap: 1.6rem 1.6rem;
    margin-bottom: 6.4rem;
  }
  .service-card__item{
    width: calc( ( 100% / 3 ) - 1.06666rem );
    padding: 2.4rem 3rem 2.4rem 4.1rem;
  }
  .service-card.-twoCol .service-card__item{
    width: calc( ( 100% / 2 ) - 0.8rem );
  }
}

@media (min-width: 768px) and (max-width: 1020px) {  
  .service-card__item{
    width: calc( ( 100% / 2 ) - 0.8rem );
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .service-card{
    margin-bottom: 4rem;
  }
  .service-card__item{
    padding: 2.4rem 1.8rem 2.4rem 3.1rem;
    margin-bottom: 1.6rem;
  }
}

/* データ
--------------------------------------------------*/

.service-data{
  overflow:hidden;
}

.service-data__in{
  gap:5.5rem 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  overflow:hidden;
  margin-right:-1px;
}

.service-data__item{
  display: flex;
  align-items: center;
  flex-direction: column;
  flex-grow: 1;
  box-sizing: border-box;
  border-right: 1px #CFE1DC solid;
  text-align: center;
}
.service-data__text01{
  color: #43914C;
  font-weight: 600;
}
.service-data__text02{
  color: #43914C;
  font-family: "Inter";
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
}
.service-data__text03{
  font-size: 1.2rem;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .service-data{
    margin-bottom: 6.4rem;
  }
  .service-data__in{
    gap:5.5rem 0;
    margin-bottom: 6.4rem;
  }
  .service-data__item{
    min-width: calc( 100% / 3 );
    padding: 0 2rem;
  }
  /* .service-data__item:last-child,
  .service-data__item:nth-child(3n){
    border-right: none;
  } */
  .service-data__text01{
    font-size: 1.8rem;
  }
  .service-data__text02{
    font-size: 5.4rem;
  }
  .service-data__text02 span{
    font-size: 8.8rem;
  }
  .service-data__text03{
    margin-top: 0.5rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .service-data{
    margin-bottom: 4rem;
  }
  .service-data__in{
    gap:3rem 0;
  }
  .service-data__item{
    /* width: 50%; */
    min-width: 50%;
    padding: 0 1rem;
    box-sizing: border-box;
  }
  /* .service-data__item:last-child,
  .service-data__item:nth-child(2n){
    border-right: none;
  } */
  .service-data__text01{
    font-size: 1.5rem;
  }
  .service-data__text02{
    font-size: 3rem;
  }
  .service-data__text02 span{
    font-size: 4.4rem;
  }
  .service-data__text03{
    font-size: 1.1rem;
    letter-spacing: .0125em;
    margin-top: 0.5rem;
  }
}


/* 課題と成果
--------------------------------------------------*/
.service-result__item{
  padding: 2.2rem 2.4rem;
  border-radius: 0.8rem;
  box-sizing: border-box;
  position: relative;
}
.service-result__item ul{
  list-style: none;
}
.service-result__item:first-child{
  border: 2px #999 solid;
}
.service-result__item:first-child:before{
  content: "";
  position: absolute;
  display: block;
}
.service-result__item:last-child{
  border: 2px #43914C solid;
}
.service-result__title{
  color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  border-radius: 0.4rem;
  display: inline-block;
  padding: 0.1rem 1rem;
  margin-bottom: 0.8rem;
}
.service-result__item:first-child .service-result__title{
  background-color: #2D2D2D;
}
.service-result__item:last-child .service-result__title{
  background-color: #43914C
}

.service-result__list{
  list-style: none;
  padding-left: 0;
}

.service-result__list li{
  padding-left: 2.8rem;
  margin-bottom: 0.8rem;
  position: relative;
}
.service-result__list li:last-child{
  margin-bottom: 0;
}
.service-result__item:first-child .service-result__list li:before{
  background: url("../images/shared/icon-check-gray.svg") center center no-repeat;
}
.service-result__item:last-child .service-result__list li:before{
  background: url("../images/shared/icon-check.svg") center center no-repeat;
}
.service-result__list li:before{
  width: 2rem;
  height: 2rem;
  background-size: 100% auto;
  content: "";
  display: block;
  position: absolute;
  top: 0.3em;
  left: 0;
}

/* PC */
@media print,only screen and (min-width: 768px){
  .service-result{
    display: flex;
    justify-content: space-between;
    margin-bottom: 6.4rem;
  }
  .service-result__item{
    width: calc( 50% - 1.5rem );
  }
  .service-result__item:first-child:before{
    width: 1.1rem;
    height: 1.1rem;
    background: url("../images/shared/arrow-right.svg") center center no-repeat;
    background-size: 100% auto;
    top: 0;
    bottom: 0;
    right: -2.3rem;
    margin: auto 0;
  }
}

/* SP */
@media screen and (max-width: 767px){
  .service-result{
    margin-bottom: 4rem;
  }
  .service-result__item{
    margin-bottom: 3rem;
  }	
  .service-result__item:first-child:before{
    width: 1.2rem;
    height: 1.2rem;
    background: url("../images/shared/arrow-down.svg") center center no-repeat;
    background-size: 100% auto;
    left: 0;
    right: 0;
    bottom: -2.3rem;
    margin: 0 auto;
  }
}


/* 理由
--------------------------------------------------*/
.service-reason{
  counter-reset: item; 
}
.service-reason__item{
  border-bottom: 1px #CFE1DC solid;
  position: relative;
  counter-increment: item;
}
.service-reason__item:first-child{
  padding-top: 0;
}
.service-reason__titleIn{
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.7;
  position: relative;
  box-sizing: border-box;
}
.service-reason__titleIn:before{
  width: fit-content;
  content: "REASON " counter(item);
  color: #43914C;
  font-size: 1.2rem;
  font-weight: bold;
  font-family: "Inter";
  letter-spacing: 0;
  padding: 0.6rem 0.8rem;
  background: #E7EFEE;
  border-radius: 0.4rem;
  display: block;
  line-height: 1;
  margin-bottom: 0.7rem;
}
.service-reason__image img{
  width: 100%;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .service-reason{
    margin-bottom: 6.4rem;
  }
  .service-reason__item{
    padding: 4.8rem 0;
    position: relative;
    display: grid;  
    grid-template-columns:58.6% 34%;
    grid-auto-rows: auto 1fr;
    gap:0 1.5rem;
  }
  .service-reason__item:last-child{
    border-bottom: none;
  }
  .service-reason__item:last-child{
    padding-bottom: 0;
  }
  .service-reason__title{
    height: 100%;
    grid-column: 1 / 2;
    grid-row: 1 / 2;
    display: flex;
    align-items: flex-end;
  }
  .service-reason__titleIn{
/*    padding-left: 9.6rem;*/
    margin-bottom: 1.2rem;
  }
  .service-reason__text{
    height: 100%;
    grid-column: 1 / 2;
    grid-row: 2 / 3;
  }
  .service-reason__item.-noimage .service-reason__text,  
  .service-reason__item.-noimage .service-reason__title{
    grid-column: 1 / 3;
    
  }
  .service-reason__image{
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    place-content:center;
  }
  .service-reason__image:empty + .service-reason__text {
    grid-column: 1 / 3;
    background-color: #0f0;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .service-reason{
    margin-bottom: 4rem;
  }
  .service-reason__item{
    padding: 4rem 0;
  }
  .service-reason__title{
    margin-bottom: 2rem;
  }
  .service-reason__titleIn{
    padding-top: 3rem;
  }
  .service-reason__titleIn:before{
    margin-bottom: 0.5rem;
  }
  .service-reason__image{
    margin-bottom: 2rem;
    text-align: center;
  }
  .service-reason__image img{
    width: 100%;
  }
}


/* 関連記事
--------------------------------------------------*/
.m-articlebox{
  margin-bottom: 2.4rem;
}
.m-articlebox a{
  border: 1px #CFE1DC solid;
  border-radius: 0.8rem;
  text-decoration: none;
  color: #2D2D2D
}
.m-articlebox__image{
  border-radius: 0.4rem;
  overflow: hidden;
}
.m-articlebox__image img{
  width: 100%;
  object-fit: cover;
  aspect-ratio: 25 / 14;
}
.m-articlebox__texts{
  line-height: 1.8;
}
.m-articlebox__text01{
  font-weight: 600;
  margin-bottom: 0.5rem;
}
.m-articlebox__text02{
  overflow: hidden;
	display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .m-articlebox a{
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2.4rem 2.4rem 2.4rem 4.8rem;
  }
  .m-articlebox a:hover{
    text-decoration: none;
  }
  .m-articlebox a:hover .m-articlebox__text02{
    text-decoration: underline;
  }
  .m-articlebox__image{
    width: 22.6%;
  }
  .m-articlebox__texts{
    width: 72%;
    font-size: 1.6rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .m-articlebox a{
    padding: 1.5rem;
    display: block;
  }
  .m-articlebox__image{
    width: 20rem;
    margin: 1rem auto 0 auto;
  }
  .m-articlebox__texts{
    font-size: 1.4rem;
  }
}

/* 資料
--------------------------------------------------*/
.m-material__category{
  background-color: #557D92;
  border-radius: 0.2rem;
  color: #fff;
  line-height: 1.5;
  font-weight: 600;
  display: inline-block;
}
.m-material__image{
  overflow: hidden;
  border-radius: 0.8rem;
}
.m-material__image img{
  width: 100%;
  object-fit: cover;
  aspect-ratio: 25 / 14;  
}
.m-material__text{
  line-height: 1.8;
  overflow: hidden;
	display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.m-material__button a{
  width: 92%;
  border: 1px #2D2D2D solid;
  border-radius: 10rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 auto;
  display: block;
  text-align: center;
  box-sizing: border-box;
  text-decoration: none;
  color: #2D2D2D;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .m-material{
    display: flex;
    flex-wrap: wrap;
    gap:3rem 3rem;
    margin-bottom: 11.4rem;
  }
  .m-material__item{
    width: calc( ( 100% / 3 ) - 2rem );
  }
  .m-material__category{
    font-size: 1.2rem;
    padding: 0.2rem 1rem 0.3rem 1rem;
    margin-bottom: 0.8rem;
  }
  .m-material__text{
    font-size: 1.6rem;
    margin: 1.8rem 0 1.6rem 0;
  }
  .m-material__button a{
    font-size: 1.6rem;
    padding: 1.3rem 3rem;
    transition: all .3s ease;
  }
  .m-material__button a:hover{
    border: 1px #43914C solid;
    color: #43914C;
    text-decoration: none;
  }
}

/* SP */
@media screen and (max-width: 767px){
  .m-material{
    margin-bottom: 6rem;
  }
  .m-material__item{
    margin-bottom: 3rem;
  }
  .m-material__category{
    font-size: 1rem;
    padding: 0.2rem 1rem 0.3rem 1rem;
    margin-bottom: 0.8rem;
  }
  .m-material__text{
    font-size: 1.4rem;
    margin: 1.1rem 0 1rem 0;
  }
  .m-material__button a{
    font-size: 1.4rem;
    padding: 1.1rem 3rem;
  }
}



/* link
--------------------------------------------------*/

.m-linkbox{
  list-style: none;
  padding-left: 0;
}

.m-linkbox li{
  border-radius: 0.4rem;
  border: 1px #CFE1DC solid;
  list-style: none;
  display: flex;
}
.m-linkbox a{
  width: 100%;
  display: block;
  position: relative;
  font-weight: 600;
  line-height: 1.65;
  color: #2D2D2D;
  text-decoration: none;
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .m-linkbox{
    display: flex;
    flex-wrap: wrap;
    gap:2rem 2rem;
    margin-bottom: 14.4rem;
  }
  .m-linkbox li{
    width: calc( 50% - 1rem - 2px );
  }
  .m-linkbox a{
    padding: 3.7rem 5.6rem 3.7rem 3.2rem;
    font-size: 1.6rem;
    transition: all .3s ease;
    display: flex;
    align-items: center;
  }
  .m-linkbox a:hover{
    color: #43914C;
    text-decoration: none;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .m-linkbox{
    margin-bottom: 6rem;
  }
  .m-linkbox li{
    margin-bottom: 1.5rem;
  }
  .m-linkbox li:last-child{
    margin-bottom: 0;
  }
  .m-linkbox a{
    padding: 2rem 5.1rem 2rem 2rem;
    font-size: 1.4rem;
  }
}

  .m-arrow{
    width: 2.4rem;
    height: 2.4rem;
    z-index: 10;
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    margin: auto 0;
    transition: all .4s ease;
  }
  .m-arrow:before{
    width: 2.4rem;
    height: 2.4rem;
    content: "";
    border-radius: 50%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    transition: all .4s ease;
  }
  .m-arrow:after{
    content: "";
    width: 3.5rem;
    height: 1rem;
    background-image: url("../images/shared/arrow-green.svg"),url("../images/shared/arrow-green.svg");
    background-size: 1rem auto,1rem auto;
    background-position: right center,0 center;
    background-repeat: no-repeat,no-repeat;
    display: block;
    position: absolute;
    top: 0;
    right: 0.7rem;
    bottom: 0;
    margin: auto 0;
    transition: transform .4s ease;
  }

  a:hover .m-arrow:after{
    transform: translateX(2.5rem);
  }

  /*- サービス -*/
  .m-linkbox .m-arrow:before{
    background: linear-gradient(289.05deg, #52A733 16.58%, #1D968A 83.47%);
    opacity: 0;
  }
  .m-linkbox a:hover .m-arrow:before{
    opacity: 1;
  }
  .m-linkbox .m-arrow{
    right: 3.1rem;
  }

  /*- サービス -*/
  .m-linkbox .m-arrow:after{
    background-image: url("../images/shared/arrow-green.svg"),url("../images/shared/arrow.svg");
    background-size: 0.9rem auto,0.9rem auto;
  }


/* 詳細ブロックタイトル
--------------------------------------------------*/
.wp-block-details  > *:first-child{
  color: #fff;
  background-color: #002836;
  line-height: 1.7;
  font-weight: 600;
  border-radius: 0.8rem;
  font-weight: 600;
  letter-spacing: .04em;
  position: relative;
}
.wp-block-details  > *:first-child:after{
  content: "";
  width: 1px;
  background-color: #10475C;
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  display: block;
}
.service-accordion__icon{
  width: 3.2rem;
  height: 3.2rem;
  background-color: #023D53;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
  border-radius: 50%;
  display: block;
}
.service-accordion__icon:before,
.service-accordion__icon:after{
  content: "";
  background-color: #fff;
  width: 1.2rem;
  height: 2px;
  position: absolute;
  inset:0;
  margin: auto auto;
  display: block;
  transition: all .3s ease;
}
.service-accordion__icon:after{
  transform: rotate(-90deg);
}
.wp-block-details[open] .service-accordion__icon:after{
  transform: rotate(0deg);
}

/* PC */
@media print,only screen and (min-width: 768px){ 
  .wp-block-details summary::-webkit-details-marker {
    display: none; /* Chrome, Safari 用 */
  }

    .wp-block-details summary::marker {
    content: none; /* Firefox 用 */
  }

  .wp-block-details  > *:first-child{
    font-size: 2.4rem;
    padding: 1.2rem 3.2rem;
    margin-bottom: 4.8rem;
  }
  .wp-block-details  > *:first-child:after{
    right: 9.8rem;
  }
  .service-accordion__icon{
    right: 3.2rem;
  }
}

/* SP */
@media screen and (max-width: 767px){	
  .wp-block-details  > *:first-child{
    font-size: 2rem;
    padding: 1.4rem 2rem 1.5rem 2rem;
    margin-bottom: 2rem;
  }
  .wp-block-details  > *:first-child:after{
    right: 7.2rem;
  }
  .service-accordion__icon{
    right: 2rem;
  }
}

/* table
--------------------------------------------------*/

.wp-block-table td,.wp-block-table th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr td
{
  border-color: #CFE1DC;
  /* font-size: 16px; */
  color: #2D2D2D;
}

.wp-block-table thead td,
.wp-block-table thead th,
.wp-block-table tfoot td,
.wp-block-table tfoot th,
.wp-block-flexible-table-block-table.wp-block-flexible-table-block-table>table tr th
{
    background-color: #557D92;
    color: #fff;
    font-weight: bold;
}

.wp-block-table thead{
  border-bottom: none;
}

.wp-block-table tfoot {
  border-top: none;
}


.wp-block-table .has-fixed-layout,
.wp-block-table table {
    width: calc(100% - 1px);
}