/*-------------------------------------------
.p-case-contents
-------------------------------------------*/
.p-case-contents > *:not(p) {
  margin-bottom: 1em;
}

.p-case-contents > p,
.p-case-contents > ol,
.p-case-contents > ul,
.p-case-contents > dl{
  padding-left: 1rem;
}

.p-case-contents p + p {
  margin-top: 1em;
}

.p-case-contents > h2 ~ h2{
  margin-top: 3em;
}

/*-------------------------------------------
.p-case-contents
-------------------------------------------*/
.p-case-list {
  background: #f2f4f9; }

.p-case-head {
  background: #f2f4f9;
  margin-top: -1px; }
  @media only screen and (min-width: 769px) {
    .p-case-head {
      display: flex; } }

@media only screen and (min-width: 769px) {
  .p-case-head-img {
    width: 50%; } }
.p-case-head-img img {
  width: 100%;
  height: 100%;
}

@media only screen and (min-width: 1200px) {
  .p-case-head-img {
    width: 550px;
    margin-left: auto;
  }
}


@media only screen and (max-width: 768px) {
  .p-case-head-txt {
    padding: 30px 25px; } }
@media only screen and (min-width: 769px) {
  .p-case-head-txt {
    width: 50%;
    padding: 4%;
    margin-top:40px;
  }
}

@media print, screen and (min-width: 910px) {
  .p-case-head-txt {
    margin-top:50px;
  }
}
@media only screen and (min-width: 1080px) {
  .p-case-head-txt {
    margin-top:60px;
  }
}
.p-case-head-ttl {
  text-align: left;
  border-bottom: 1px solid #d9dcea;
  padding-bottom: 0.75em;
  margin-bottom: 1em; }

.p-case-head-ttl-sub{
margin-bottom: 0;
font-weight: normal;
}

@media only screen and (max-width: 768px) {
  .p-case-contents-img {
    margin-top: 1.5em; } }
@media only screen and (min-width: 769px) {
  .p-case-contents-img {
    margin-left: 4%;
    flex: 0 0 48%; } }

@media print, screen and (min-width: 910px) {
  .p-case-contents-img-thum a {
    transition: .5s; }
    .p-case-contents-img-thum a:hover {
      opacity: .8; } }

.p-case-contents-btns {
  margin-top: 1.5em; }

.p-case-btns {
  margin-top: 0;
}

.p-case-btns li:first-child {
  margin-top: 0;
}

.p-case-head-txt{
  background: #f2f4f9;
  text-align: left;
}

.p-case-head{
  background: #FFFFFF;
  justify-content: center;
  align-items: center;
  text-align: center; }

.p-case-head-img img {
  height: auto;
  max-width: fit-content;
}

/*-------------------------------------------
.p-case-contents > h2
-------------------------------------------*/
.p-case-contents > h2{
  position: relative;
  padding: 0.6em;
  background: #314494;
  color:#fff;
  text-align: left;
  margin-bottom: 1.5em;
  font-size: 17px!important;
  font-size: 1.7rem!important;
}

@media only screen and (min-width: 769px) {
  .p-case-contents > h2 {
    font-size: 22px!important;
    font-size: 2.2rem !important;
  }
}
@media print, screen and (min-width: 910px) {
  .p-case-contents > h2{
    font-size: 24px!important;
    font-size: 2.4rem!important;
  }
}

.p-case-contents > h2:after {
    position: absolute;
    content: '';
    top: 100%;
    left: 30px;
    border: 15px solid transparent;
    border-top: 15px solid #314494;
    width: 0;
    height: 0;
  }

.p-case-contents p + h2{
  margin-top: 3em;
}
/*-------------------------------------------
.p-case-contents > h3
-------------------------------------------*/
.p-case-contents > h3 {
  line-height: 1.6em;
  color: #333;
  border-bottom: 1px solid #5a67c4;
  font-weight: bold;
  font-size: 2.3rem;
  margin-top: 5rem;
}

@media only screen and (max-width:500px) {
  .p-case-contents > h3 {
    font-size: 1.9rem;
    line-height: 1.5;
    padding-bottom: 0.3em;
  }
}

/*-------------------------------------------
.p-case-contents .qa_list
-------------------------------------------*/
.p-case-contents .qa_list dt,
.p-case-contents .qa_list dd{
  display: -webkit-flex;
  display: flex;
  font-weight: normal;
  margin: 0;
}

.p-case-contents .qa_list dt::before,
.p-case-contents .qa_list dd::before {
  font-family: ヒラギノ角ゴシック,Hiragino Kaku Gothic ProN,ヒラギノ角ゴ ProN W3,メイリオ,Meiryo,Meiryo;
  font-weight: bold;
  font-size: 1.5em;
  width: 1.25em;
  line-height: 1;
  flex-shrink: 0;
}

.p-case-contents .qa_list dt::before {
  color: #8aa2ff;
  content: "Q";
}

.p-case-contents .qa_list dd::before {
  color: #ff8d8d;
  content: "A";
}

.p-case-contents .qa_list dt{
  margin-bottom: 0.5em;
}

.p-case-contents .qa_list {
  margin: 1.5em 0;
}

.p-case-contents .qa_list + .qa_list{
  margin-top: 2.5em;
}

/*-------------------------------------------
.p-case-contents ol.wp-block-list
-------------------------------------------*/
ol.wp-block-list {
  counter-reset: num;
  list-style: none;
  font-size: 115%;
}

ol.wp-block-list li {
  font-weight: bold;
  counter-increment: num;
  position: relative;
  line-height: 1.35;
  padding-left: 2em;
  padding-top: 0.2em;
}

ol.wp-block-list li + li{
  margin-top: 1em;
}

ol.wp-block-list li::before {
  content: counter(num);
  position: absolute;
  left: 0;
  top: 0em;
  width: 1.8em;
  height: 1.8em;
  line-height: 1.8em;
  text-align: center;
  border-radius: 50%;
  border: #5a67c4 solid 2px;
  color: #5a67c4;
  font-weight: bold;
  font-size: 0.9em;
}

/*-------------------------------------------
.list_check
-------------------------------------------*/
.list_check {
  margin-bottom: 3em;
}

@media only screen and (min-width: 769px) {
  .list_check {
    font-size: 115%;
  }
}

.list_check > li small{
padding-top: 0.5em;
  display: block;}

.list_check.icon_top > li::before,
.list_check.icon_top > li::after {
  top:0.75em
}

.list_check > li::before {
  top:0.15em;
}

.list_check > li::after {
  left: 0.35em;
  top: -0.05em;
}

.list_check.icon_gray > li::after{  border-bottom:3px solid #57585b; border-right:3px solid #57585b;}
.list_check.icon_gray > li::before {  border-color:#898fa3;}

.list_check strong {
    font-weight: bold;
    line-height: 1.5;
    background: linear-gradient(transparent 60%, #ff0 60%);
}

.list_check.icon_gray strong{
  background: transparent;
  color: #5a67c4;
  border-bottom: 2px #5a67c4 dashed;
}

/*-------------------------------------------
.p-case-contents .CustomerVoice
-------------------------------------------*/
.CustomerVoice {
    line-height: 1.7;
}

.CustomerVoice li {
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.CustomerVoice li + li {
    margin-top: 1.5em
}

.CustomerVoice li p img {
    width: auto!important;
    height: 4em!important;
}

.CustomerVoice li .img {
    width: 4em;
    text-align: center;
    margin-right: 1em;
}

.CustomerVoice li .img + div {
    flex: 1;
}

@media only screen and (min-width: 769px) {
    .CustomerVoice li {
        border: 1px solid #ccc;
        border-radius: 0.5em;
        padding: 2em 1.5em;
    }

    .CustomerVoice li p img {
        height: 8em!important;
    }

    .CustomerVoice li .img {
        width: 8em;
    }
}

.CustomerVoice li strong {
    color: #5a67c4;
    border-bottom: 2px #5a67c4 dashed;
    line-height: 1.5;
}

@media only screen and (max-width: 768px) {
    .CustomerVoice li + li {
        margin-top: 2em;
    }
}


/*----------------------------------
contact
----------------------------------*/

@media only screen and (min-width: 769px) {
  .contact h2 {
    width: 100%;
  }

  .contact > .c-box-1200-25{
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
  }

  .contact img{
     -webkit-order: 3;
    order: 3;
  }
}

.contact h2 .fukidashi {
    position: relative;
    padding: 0.5em;
    border: 3px solid #333;
    font-weight: bold;
    font-size: 60%;
    background-color:#ffffff;
    color: #333;
    display: block;
    width: fit-content;
    margin: 0.5em auto 1em;
}

.contact h2 .fukidashi:before,
.contact h2 .fukidashi:after {
    position: absolute;
    left: 3em;
    height: 0;
    width: 0;
    border: solid transparent;
    content: "";
}

.contact h2 .fukidashi:before {
    top: 100%;
    margin-left:calc(-7px/2);
    border-color: transparent;
    border-top-color: #333;
    border-right-color: #333;
    border-width: 10px;
}

.contact h2 .fukidashi:after {
    top: 99%;
    border-color: transparent;
    border-top-color: white;
    border-right-color: white;
    border-width: 7px;
}

.contact h2 {
    text-align: center;
    font-weight: bold;
    line-height: 1.25;
    font-size: min(7vw, 40px);
    margin-bottom: 1em;
}

.contact{
  text-align: center;
}

.contact .btn small{
  font-size: 60%;
  display: block;
  letter-spacing: 0;
  line-height: 1.25;
  margin-top: -0.25em;
  margin-bottom: 0.5em;
}

.contact .tel-btn svg {
  margin-right: 0.1em
}

.contact .tel-btn a {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-align-items: center;
  align-items: center;
}

.contact img{
  width: 65%;
}

@media only screen and (min-width: 769px) {
  .contact h2{
    margin-bottom: 0;
  }
  .contact img{
    max-width: 250px;
  }

  .contact a.btn[href$="/contact/inquiry"]{
    margin-top: 0!important;
  }
}

.contact .tel-btn a {
  letter-spacing: -0.05em;
}

.contact .tel-btn a span {
  letter-spacing: 0;
}

@media only screen and (max-width: 768px) {
  .contact .tel-btn {
    text-align: center;
  }
  .contact .tel-btn a {
    font-weight: 700;
    line-height: 1.5;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-align: center;
    vertical-align: middle;
    text-decoration: none;
    border-radius: 0.5rem;
    font-size: 2em;
    margin: 2em auto 0;
    padding: 0.5em 1em 0.25em 1em;
    color: #00c0a3;
    border: 3px solid #00c0a3;
    white-space: nowrap;
    max-width: 12em;
    }
  .contact .tel-btn a span {
    font-size: 60%;
    position: absolute;
    top: -1.5em;
    left: 0;
    right: 0;
    margin: auto;
    display: inline-table;
    padding: 0.15em 1em;
    letter-spacing: 0;
    color: #000000;
    border: 2px solid #a3a3a3;
    border-radius: 1em;
    background: #fff;
  }
  .contact .tel-btn a:hover {
    -webkit-transform: translate(0, 3px);
    transform: translate(0, 3px);
    color: #fff;
    background: #00c0a3;
    -webkit-box-shadow: 0 2px 0 #007d6a;
    box-shadow: 0 2px 0 #007d6a;
    opacity: 1;
  }
  .contact .tel-btn a:hover:before {
    left: 2rem;
  }
  .contact .tel-btn a span:before,
  .contact .tel-btn a span:after {
    position: absolute;
    left: calc(50% - 10px);
    content: "";
  }
  .contact .tel-btn a span:before {
    bottom: -10px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #a3a3a3 transparent transparent transparent;
  }
  .contact .tel-btn a span:after {
    bottom: -7px;
    border-width: 10px 10px 0 10px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
  }
  .contact .tel-btn p {
    text-align: center;
    margin-top: 0.5em;
  }
  .contact .tel-btn svg,
  .contact .tel-btn svg * {
    fill: #00c0a3;
  }
}
@media only screen and (max-width: 450px) {
  .contact .tel-btn a {
    font-size: 5vw;
    padding-top: 0.5em;
    width: 100%;
  }
}
@media only screen and (min-width: 769px) {
  .contact .tel-btn {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    position: relative;
    border-bottom: #000000 solid 1px;
    border-left: none;
    border-right: none;
    width: fit-content;
    margin: 1em auto 0;
    padding: 2em 1.25em 0;
    font-size: 75%;
  }
  .contact .tel-btn a {
    pointer-events: none;
    font-size: 3em;
    font-weight: bold;
    text-align: center;
    width: fit-content;
    line-height: 1.5;
    padding: 0 0.25em 0 0;
    color: #5a67c4;
  }
  .contact .tel-btn a span {
    position: absolute;
    top: 0;
    font-size: 40%;
    left: 0;
    right: 0;
    margin: auto 0;
    color: #000000;
    border-bottom: 1px solid #000;
    line-height: 1.75;
  }
  .contact .tel-btn p {
    line-height: 1.25;
    font-weight: bold;
  }
  .contact .tel-btn svg,
  .contact .tel-btn svg * {
    fill: #5a67c4;
  }
}

.contact a.btn[href$="/contact/inquiry"] {
    display: block;
    text-align: center;
    width: fit-content;
    margin: 1em auto 0;
    font-size: 1.35em;
    font-weight: 700;
    letter-spacing: .2rem;
    padding: 0.5em 1em;
    border-radius: 0.5em;
    color: #fff;
    width: 100%;
    max-width: 20em;
    background: #314494;
}

.contact a.btn[href$="/contact/inquiry"]:before{
    content: "";
    display: inline-block;
    margin-right: 0.25em;
    height: 1.5em;
    width: 1.25em;
    background-position: top;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle;
    background-image: url('data:image/svg+xml;charset=utf-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 512 512" style="width: 256px; height: 256px; opacity: 1;" xml:space="preserve"><g><path d="M510.678,112.275c-2.308-11.626-7.463-22.265-14.662-31.054c-1.518-1.915-3.104-3.63-4.823-5.345c-12.755-12.818-30.657-20.814-50.214-20.814H71.021c-19.557,0-37.395,7.996-50.21,20.814c-1.715,1.715-3.301,3.43-4.823,5.345C8.785,90.009,3.63,100.649,1.386,112.275C0.464,116.762,0,121.399,0,126.087V385.92c0,9.968,2.114,19.55,5.884,28.203c3.497,8.26,8.653,15.734,14.926,22.001c1.59,1.586,3.169,3.044,4.892,4.494c12.286,10.175,28.145,16.32,45.319,16.32h369.958c17.18,0,33.108-6.145,45.323-16.384c1.718-1.386,3.305-2.844,4.891-4.43c6.27-6.267,11.425-13.741,14.994-22.001v-0.064c3.769-8.653,5.812-18.171,5.812-28.138V126.087C512,121.399,511.543,116.762,510.678,112.275z M46.509,101.571c6.345-6.338,14.866-10.175,24.512-10.175h369.958c9.646,0,18.242,3.837,24.512,10.175c1.122,1.129,2.179,2.387,3.112,3.637L274.696,274.203c-5.348,4.687-11.954,7.002-18.696,7.002c-6.674,0-13.276-2.315-18.695-7.002L43.472,105.136C44.33,103.886,45.387,102.7,46.509,101.571z M36.334,385.92V142.735L176.658,265.15L36.405,387.435C36.334,386.971,36.334,386.449,36.334,385.92z M440.979,420.597H71.021c-6.281,0-12.158-1.651-17.174-4.552l147.978-128.959l13.815,12.018c11.561,10.046,26.028,15.134,40.36,15.134c14.406,0,28.872-5.088,40.432-15.134l13.808-12.018l147.92,128.959C453.137,418.946,447.26,420.597,440.979,420.597z M475.666,385.92c0,0.529,0,1.051-0.068,1.515L335.346,265.221L475.666,142.8		V385.92z" style="fill: rgb(255, 255, 255);"></path></g></svg>');
}

#gyoshu li{display:none;}

.c-ttl01-shoulder a.c-label-blue{
cursor: pointer;
  border-color: #314494;
  color: #314494;
  background-color: #fff;
transition: .5s;
}

.c-ttl01-shoulder a.c-label-blue:hover{
  background-color: #314494;
  color: #fff;
}