/* CSS Document */
.wrapper { overflow-x: hidden; padding-top: 5.5rem; }
.box-section { padding: 60px 0 100px;}
.contents-wrap-l { width: 90%; max-width: 1700px; margin: 0 auto; }
.contents-wrap { width: 90%; max-width: 1200px; margin: 0 auto; }
.contents-wrap-s { width: 90%; max-width: 770px; margin: 0 auto; }


.bg-green { background: rgba(106, 177,159, .08); }
img { max-width: 100%; height: auto; }

.header { padding: 1em; position: fixed; top: 29px; left: 0; right: 0; background: #FFF; z-index: 9999; transition: transform .5s; }
.header .inner { display: flex; justify-content: space-between; align-items: center; }
.header.menu-up { transform: translateY(-100px); }

.head-logo span { font-size: .6rem; margin-left: 1em; }
.head-contact > * { display: inline-block; }
.head-contact .tel { font-size: 1.25rem; margin-right: .5em; }
.head-contact .tel::before { content: ''; width: 1.5em; height: 1em; display: inline-block; vertical-align: middle; margin-right: .5em; background: url("../img/free-dial-green.svg") no-repeat center center / contain; }
.head-contact .contact { color: #FFF; background: #19AA94; padding: 1em 3em; border-radius: 2rem; }

.global-navi > li { display: inline-block; }
.global-navi > li + li { margin-left: 1em;  }
.btn-humberger { display: none; }

@media screen and (max-width: 1300px) {
  .head-logo span { display: block; }
  .head-contact .contact { padding: 1em 2em; }
  .head-contact .contact { text-indent: 200%; white-space: nowrap; padding: 0;   overflow: hidden; width: 3rem; height: 3rem;  background: #FFF url("../img/mail.svg") no-repeat center center / 1.3rem auto; border-radius: 50%; border : 2px solid #19AA94; vertical-align: middle; }
}
@media screen and (max-width: 1000px) {
  .head-contact  { padding-right: 3rem; position: relative; z-index: 999; }
  .head-contact .tel { text-indent: 200%; overflow: hidden; white-space: nowrap;  width: 3rem; height: 3rem;  background: #FFF url("../img/free-dial-green.svg") no-repeat center center / 1.3rem auto; border-radius: 50%; border : 2px solid #19AA94; margin-right: .3em; vertical-align: middle; }

  .btn-humberger { display: block; width: 3rem; height: 3rem; display: block; position: fixed; top: 3rem; right: .5rem; margin: auto; text-indent: 100%; padding: 0; border: none; background: #FFF; white-space: nowrap; overflow: hidden; z-index: 999; border: 2px solid #19AA94;  border-radius: 50%;  }
  .btn-humberger::before,
  .btn-humberger::after { content: '';  width: 1.5rem; height: 2px; display: block; background: #19AA94; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; transition: transform .3s; }
  .btn-humberger::before { transform: translateY(-.5em); box-shadow: 0 .5em 0 #19AA94;}
  .btn-humberger::after { transform: translateY(.5em); }
  .btn-humberger.open::before { transform: rotate(-45deg); box-shadow: none;}
  .btn-humberger.open::after { transform: rotate(45deg); }

  .global-navi  { display: none; }
  .global-navi.open { width: 100%; height: 100vh;  display: block; background: #19AA94; color: #FFF;  position: fixed; top: 0; left: 0; right: 0; padding: 6rem 5%; text-align: center; }
  .global-navi > li { width: 100%; display: block; }

  .global-navi > li + li { margin: 1em 0 0; }
}

.footer-top { text-align: center;}
.footer-top .inner { padding: 2rem 0; }
.foot-logo { width: 300px; height: auto; margin-bottom: 10px; }
.footer-bottom { padding: 2rem 50px; }
.footer-bottom .inner { display: flex; justify-content: space-between; }
.footer-bottom .tel::before { content: ''; width: 1.5em; height: 1em; background: url(../img/free-dial-green.svg) no-repeat center center / contain; display: inline-block; vertical-align: middle; margin-right: .5em; }
.foot-navi > li { display: inline-block; font-size: .8375rem; }
.foot-navi > li + li { margin-left: 2em; }

.copyright { color: #999; font-family: 'Montserrat', sans-serf; }


@media screen and (max-width: 1350px) {
  .foot-navi > li + li { font-size: .8rem; margin-left:  1.5rem;}
  .copyright { font-size: .8rem; }
}


@media screen and (max-width: 1200px) {
  .footer-bottom .inner { flex-wrap: wrap; }
  .foot-navi { margin: 1em 0; }
  .footer-bottom .inner > * { width: 100%; text-align: center; }
}

.mainvisual { background: url("../img/bg-main.png") center center /cover; position: relative; }
.mainvisual .inner { display: flex; flex-wrap: wrap ;align-items: center; justify-content: space-between; }
.mainvisual .text { width: 40%; margin-right: -10%; position: relative; z-index: 2; }
.mainvisual .img { width: 70%; }

.mainvisual .main span{ font-size: 2rem; display: table; border-bottom: 3px solid #6AB19F; margin-bottom: 1em; padding-bottom: .5em; }
.mainvisual .main img { width: 100%; }

.mainvisual .round{ background: #FFF; text-align: center; font-size: 1.1rem; padding: 1em; border-radius: 2em; box-shadow: 20px 20px 20px rgb(109 176 159 / 28%); margin: 1.5em 0 2em; }
.list-check > li { padding-left: 1.5em; margin-bottom: 1em; font-weight: bold; }
.list-check > li::before { content: ''; width: 1.5em; height: 1em; background: url("../img/check.svg") no-repeat left center / contain; margin-left: -1.5em; display: inline-block;  }

a.main-contact { color: #FFF; text-align: center; width: 10rem; height: 10rem; padding-top: 2em; font-size: 1.4rem; display: block; position: absolute; right: 5%; bottom: -3rem; border-radius: 50%; z-index: 2;  }
.main-contact::after { content: ''; width: 1em; height: 1.2em; background: url("../img/down-arrow-white.svg") no-repeat center center / auto 100%; display: block; margin: .5em auto; }


a.main-contact::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  border-radius: 100%;
  -webkit-border-radius: 100%;
  -moz-border-radius: 100%;
  box-shadow: 0 0 10px rgba(118, 183, 168, 0.18);
  transform: scale(1);
  width: 100%;
  height: 100%;
  background: #19AA94;
  z-index: -1;
  transform: scale(1);
  animation: cvAnime 10s linear 1s infinite;
}
a.main-contact:hover::after{
          animation: none;
  transform: scale(1);
}
@keyframes cvAnime {
  from { transform: scale(1); }
  10%{ transform: scale(1); }
  12%{ transform: scale(1.15); }
  15%{ transform: scale(1); }
  17%{ transform: scale(1.15); }
  20%{transform: scale(1); }
  60%{ transform: scale(1); }
  62%{ transform: scale(1.15);  }
  65%{ transform: scale(1); }
  67%{ transform: scale(1.15); }
  70%{ transform: scale(1); }
  100%{ transform: scale(1); }
}



@media screen and (max-width: 900px) {
  .mainvisual .text { width: 100%; padding: 10vw 0 0; }
  .mainvisual .img { width: 100%;}
  .mainvisual .main span { font-size: 1.3rem; }
  .mainvisual .round { font-size: .8rem; }
  .mainvisual .main img { width: 80%; }

  .mainvisual .main-contact { width: 7rem; height: 7rem; font-size: 1rem;  }
}

.cv { background: #19AA94; text-align: center; color: #FFF; }
.cv .msg { font-size: 3rem; font-weight: bold; line-height: 120%; }
.cv .msg::after { content: ''; width: 8rem; height: 8rem; display: inline-block; background: url("../img/cv1.svg") no-repeat right bottom / contain; vertical-align: baseline; }
.cv .msg .yellow { color: #FFEC5A; }
.cv .msg .sub { font-size: .5em; display: table; background: url("../img/comment.svg") no-repeat center bottom / 100% auto; padding-bottom: 1.5em; margin: 0 auto -2.5em; line-height: 150%; }

.cv .btn { display: block; width: 100%; max-width: 1000px; margin: 1em auto; text-align: center; color: #19AA94; font-weight: bold; padding: 1em 2em; font-size: 2.2rem; border-radius: 3rem; background: #FFF url("../img/mail.svg") no-repeat right 1em center / auto 1em; }
.cv .tel { font-family: 'Montserrat', sans-serif; font-size: 1.3rem; }
.cv .tel::before { content: ''; width: 1.5em; height: 1em; background: url("../img/freedial.svg") no-repeat center center / contain; display: inline-block; vertical-align: middle; margin-left: 1em; margin-right: .3em; }


@media screen and (max-width: 1200px) {
  .cv .msg { font-size: 2.5rem; }
  .cv .msg::after { width: 6rem; height: 6rem; }
  .cv .btn { font-size: 1.5rem; }
}

@media screen and (max-width: 900px) {
  .cv .msg::after { margin-top: 1rem; }
  .cv .msg .sub { margin-bottom: .5em; }
  .cv .msg .main { display: block;  }
  .cv .msg .main .yellow { display: block; }
  .cv .btn { font-size: 1.3rem; }
  .cv .tel  { display: block; }
}
@media screen and (max-width: 600px) {
  .cv .msg { font-size: 2rem; }
  .cv .msg::after { width: 4rem; height: 4rem; }
  .cv .btn { font-size: 1rem; }
}

.title-section { text-align: center; font-size: 2rem; font-weight: bold; line-height: 170%; margin-bottom: 1em; }
.title-section span { display: block; font-size: .875rem; color: #6AB19F; font-family: 'Montserrat', sans-serif; font-weight: normal;}
.title-section::before { content: ''; width: 46px; height: 41px; display: block; margin: 0 auto .5em; background: url("../img/symbol.svg") no-repeat center center / contain; }

.t-green { color: #19AA94; }

@media screen and (max-width: 900px) {
  .title-section::before { width: 30px; height: 30px; }
  .title-section { font-size: 1.5rem; }
}


a.btn-covid { max-width: 984px; width: 90%; display: block; margin: 3rem auto 2rem auto; text-align: center; color: #FFF; background: #FF8153; border-radius: 2em; font-size: 2rem; padding: 1em; font-weight: bold; }
a.btn-covid span { display: inline-block; background: #FFF url(../img/right-arrow-r.svg) no-repeat right 1em center / 1em auto; ; padding: .5em 3em .5em 2em; border-radius: 1.5em; font-size: .6em; color: #000; display: inline-block; vertical-align: middle; margin-left: 1em; }

@media screen and (max-width: 1200px) {
  a.btn-covid { font-size: 1.5rem; }
}

@media screen and (max-width: 900px) {
	a.btn-covid {margin: 3rem auto 1rem auto;}
  a.btn-covid span { display: block; margin: .5em 0 0; }
}
@media screen and (max-width: 600px) {
  a.btn-covid { font-size: 1rem; }
}


.conts-whats { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; position: relative; }
.conts-whats .text { width: 45%; position: relative; }
.conts-whats .text::before { content: ''; width: 40vw; height: 25vw; background: #FAFAFA; position: absolute; right: 30%; top: 50%; transform: translateY(-50%); margin: auto; z-index: -1; border-radius: 0 50px 50px 0;  }
.conts-whats .img { width: 50%; }
.conts-whats .about { width: 100%; text-align: center; margin-top: 2rem;  }

.conts-whats .copy { font-size: 3.5vw; font-weight: bold; line-height: 120%; position: relative; margin-bottom: .5em; }
.conts-whats .copy::before,
.conts-whats .copy::after { color: #19AA94; position: absolute; font-size: 3em; font-weight: normal; }
.conts-whats .copy::before { content: '“'; left: -.2em; margin-top: -.1em;  }
.conts-whats .copy::after { content: '”'; right: -.01em; bottom: -.5em; }
.conts-whats .copy span { color: #19AA94; line-height: 150%; }

.conts-whats .about { font-size: 2.5rem; font-weight: bold; line-height: 150%; }
.conts-whats .about .sub { font-size: .5em; font-weight: normal; display: block; }

@media screen and (max-width: 900px) {
  .conts-whats .text {width: 100%; margin-bottom: 2rem;  }
  .conts-whats .img {width: 100%; }
  .conts-whats .copy { font-size: 6.5vw; display: table; }
  .conts-whats .copy::after { right: -.5em; }
  .conts-whats .text::before  { width: 80vw;}
  .conts-whats .about { font-size: 2rem; }
}
@media screen and (max-width: 900px) {
  .conts-whats .about { font-size: 1.5rem; }
}
.swiper-container { overflow: visible; }
.pattern-swiper { display: flex; flex-wrap: wrap; justify-content: space-between; }
.pattern-swiper > div { width: 48%; }
.pattern-swiper > div:nth-child(n + 3) { margin-top: 5rem; }

.panel-pattern { background: #FFF; border-radius: 1.5rem; box-shadow: 20px 20px 20px rgb(109 176 159 / 15%); text-align: center; padding: 5rem 3.5rem 4rem; position: relative; margin-top: 2.9rem; }
.panel-pattern .title { font-size: 2.2rem; }
.panel-pattern .num { position: absolute; color:  #26A994; width: 5.8rem; height: 5.8rem; border: 3px solid #26A994; text-align: center; padding: .7rem 0; font-size: .75rem; top: -2.9rem; left: 0; right: 0; margin: auto; border-radius: 50%; background: #FFF; }
.panel-pattern .num span { font-size: 3rem; display: block; margin-top: .2em;  }
.panel-pattern .img { width: 100%; height: 220px; display: flex; align-items: center; justify-content: center; margin: 2rem 0; }
.panel-pattern .img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }

.panel-pattern .res { color: #19AA94; font-size: 1.5rem; font-weight: bold; line-height: 150%;  }
.panel-pattern .res::before { content: ''; width: 1rem; height: 1.5rem; display: block; background: url("../img/down-arrow.png") no-repeat center center / contain; margin: .5em auto; }

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

  .pattern-swiper > div { width: 100%; }
  .pattern-swiper > div:nth-child(n + 2) { margin-top: 4rem; }

  .panel-pattern { padding: 4rem 1.5rem 2rem; }
  .panel-pattern .num { width: 4rem; height: 4rem; top: -2rem; padding: .6em 0 0; line-height: 120%; font-size: .6rem;  }
  .panel-pattern .num span { font-size: 2rem; line-height: 120%; margin-top: 0;  }
  .panel-pattern .title { font-size: 1.5rem; }
  .panel-pattern .img { height: 150px; }

  .panel-pattern .res { font-size: 1.2rem; }
}

.list-merit { display: flex; flex-wrap: wrap; justify-content: space-between; counter-reset: listnum; }
.list-merit > li { width: 30%; counter-increment: listnum;  }
.list-merit .title { font-size: 1.6rem; line-height: 150%; margin-bottom: .5em; font-weight: 500; }
.list-merit .title:before { content: 'メリット'counter(listnum); font-size: .7em; color: #19AA94; display: table; margin: 1.5em 0; border-bottom: 3px solid; }
.list-merit p { line-height: 150%; }

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

  .list-merit > li { width: 100%; }
  .list-merit > li + li { margin-top: 2rem; }
  .list-merit .title { font-size: 1.3rem; }
}


.list-feature { display: flex; flex-wrap: wrap; justify-content: space-between; counter-reset: listnum; }
.list-feature > li { width: 45%; counter-increment: listnum; }
.list-feature > li::before { content: counter(listnum); font-size: 1.5rem; color: #19AA94; border-bottom: 3px solid; display: table; float: left;line-height: 150%; }
.list-feature > li:nth-child(n + 3) { margin-top: 100px; }
.list-feature .img { width: 187px; height: 187px; display: flex; align-items: center; justify-content: center; margin: 0 auto; background: rgba(173, 204, 154, .16); border-radius: 50%; }

.list-feature .title { font-size: 2rem; color: #19AA94; text-align: center; font-weight: bold; margin: .5em 0; line-height: 150%; }


@media screen and (max-width: 900px) {
  .list-feature .title { font-size: 1.5rem; }
  .list-feature .img { width: 150px; height: 150px; }
}

@media screen and (max-width: 600px) {
  .list-feature > li { width: 100%; }
.list-feature > li:nth-child(n + 2) { margin-top: 50px; }
  .list-feature .title { font-size: 1.3rem; }
}


/*Function*/
.list-function { counter-reset: listnum; }
.list-function > li { display: flex; justify-content: space-between; flex-wrap: wrap; align-items: center; counter-increment: listnum;}
.list-function > li + li { border-top: 3px solid #B0E0D9; margin-top: 2em; padding-top: 2em;  }
.list-function .text { width: 43%; position: relative; }
.list-function .text::after { content: counter(listnum); font-family: 'Montserrat', sans-serif; font-size: 12.5rem; position: absolute; left: 100%; top: 0; bottom: 0; margin: auto; color: #D8EFEB; line-height: 1em; height: 1em; margin-left: -.2em; z-index: -1; }
.list-function .img { width: 48%; }
.list-function .title { font-size: 2rem; line-height: 150%; margin-bottom: .5em;  }

@media screen and (max-width: 900px) {
  .list-function .title { font-size: 1.5rem; }
  .list-function .text { width: 55%; }
  .list-function .img { width: 40%; }
}
@media screen and (max-width: 600px) {
  .list-function .text { width: 100%; }
  .list-function .text::after { margin-left: 0; left: auto; right: 0; }
  .list-function .img { width: 100%; margin-top: 2rem; }
}



/*flow*/
.title-flow { color: #19AA94; font-weight: bold; font-size: 2rem; margin-bottom: 1em; text-align: center; }

.list-flow { display: flex; justify-content: space-around; }

.list-flow > li { width: calc(20% - 5rem); position: relative; z-index: 2; text-align: center; }
.list-flow .img { position: relative; margin-bottom: 1em; }
.list-flow > li:not(:last-child) .img::before {content: ''; width: 15rem; height: 10px; background: #B0E0D9; display: block; position: absolute; left: 50%; top: 0; bottom: 0; margin: auto; }
.list-flow > li:not(:last-child) .img::after { content: ''; width: 2.2rem; height: 2.2rem; display: block; background: url("../img/flow-arrow.svg") no-repeat center center /100% auto; position: absolute; left: calc(100% + 1.4rem); top: 0; bottom: 0; margin: auto; }
.list-flow .img img { position: relative; z-index: 2; }
.list-flow  p span { font-size: .7rem;}

.flow2 .list-flow > li:nth-child(4) { width: 25%; }
.flow2 .list-flow > li:nth-child(4) .img { padding: 18% 0; }
.flow2 .list-flow > li:not(:last-child) .img::after { left: calc(100% + .5rem); }


.conts-flow { border-top: 3px solid #B0E0D9; padding-top: 5rem; margin-top: 5rem; }
.list-flow .ttl { font-weight: bold; font-size: 1.1rem; margin-bottom: 1em; min-height: 3em; }
.list-flow .ttl span{ display: block; font-size: .5em;font-weight: normal; }

@media screen and (max-width: 1200px) {
  .list-flow .ttl { font-size: 1rem; }
  .list-flow > li:not(:last-child) .img::before { width: 20vw; }
  .list-flow > li { width: calc(20% - 3rem); }
  .list-flow > li:not(:last-child) .img::after { left: calc(100% + .5rem);}
  .flow2 .list-flow > li:not(:last-child) .img::after { left: calc(100% - .1rem); }
}

@media screen and (max-width: 900px) {
  .conts-flow { padding-top: 3rem; margin-top: 3rem; }
  .list-flow { flex-wrap: wrap; }
  .list-flow > li { width: calc(33.33%); padding:  0 1.5rem;  margin-top: 2rem;  }
  .list-flow > li:not(:last-child) .img::before { width: 25vw; }
  .list-flow > li:nth-child(3) .img::before { display: none; }
  .list-flow > li:nth-child(3) .img::after { display: none; }
  .list-flow > li:nth-child(4) .img::before { width: 40vw;}
  .list-flow > li:nth-child(4) .img::after { left: calc(100% + 10vw);}
  .list-flow > li:not(:last-child) .img::after { left: calc(100% + .5rem);}

  .title-flow { font-size: 1.5rem; }

  .title-flow .ttl { font-size: .9rem; }
  .list-flow p { font-size: .9rem; line-height: 130%;  }
  .flow2 .list-flow > li:nth-child(4) { width: 50%; }
  .flow2 .list-flow > li:not(:last-child) .img::after { left: calc(100% + .5rem);}
}
@media screen and (max-width: 600px) {
  .list-flow  .ttl { font-size: .9rem; line-height: 120%; height: 4em; }
  .list-flow > li:nth-child(4) .img::after { left: 150%;}
  .flow2 .list-flow > li:nth-child(4) .img::after { left: 115%;}
}


/*option*/
.list-option { counter-reset: listnum; }
.list-option > li { counter-increment: listnum; }
.list-option > li + li { margin-top: 3em; padding-top: 3em; border-top: 3px solid #B0E0D9; text-align: center; }

.list-option .title-block { padding-left: 15rem; margin-bottom: 1em; min-height: 115px; position: relative; text-align: left; }
.list-option .title-block .title { font-size: 1.9rem; color: #19AA94; font-weight: bold; line-height: 150%;  }
.list-option .num { position: absolute; margin-left: -6rem; border-right: 1px solid #333; width: 5rem; line-height:  120%;}
.list-option .num::after { content: counter(listnum, decimal-leading-zero); color: #19AA94; font-size: 3rem; display: block; font-weight: 600; line-height: 100%; }
.list-option > li:first-child .title-block { background: url(../img/option-icon1.png) no-repeat left top / 7rem auto; }
.list-option > li:nth-child(2) .title-block { background: url(../img/option-icon2.png) no-repeat left top / 7rem auto; }
.list-option > li:nth-child(3) .title-block { background: url(../img/option-icon3.png) no-repeat left top / 7rem auto; }
.list-option > li:nth-child(4) .title-block { padding-left: 7rem; padding-top: .5em; }
.list-option > li:nth-child(4) .title-block .num { margin-top: -.5em; }

.option-img1 { display: flex; justify-content: space-around; flex-wrap: wrap;}
.option-img1 > li { width: 16%; }

.option-img2 { display: flex; flex-wrap: wrap; justify-content: space-between; }
.option-img2 > li { width: 48%; background: #FFF; border-radius: 1.5rem; padding: 3rem 2.5rem; }
.option-img2 .subtitle { color: #19AA94; font-size: 1.375rem; margin-bottom: .5em; }
.option-img2 img { display: table; margin: 2em auto 0; }

.option-img3 { background: #FFF; padding: 2rem 2.5rem; border-radius: 1.5rem;  }
.option-img3 p { margin-bottom: 1em; }
.option-img3 img { display: table; margin: 0 auto; }


.option-img4 { display: flex; flex-wrap: wrap; justify-content: space-between; text-align: center; }
.option-img4 > li { width: 32%; background: #FFF; border-radius: 1.5rem; padding: 3.5rem 1rem;  }
.option-img4 .img { width: 100%; height: 200px; display: flex; align-items: center; justify-content: center; }
.option-img4 .title { color: #19AA94; font-size: 1.375rem; margin: 1em 0;  }
.option-img4 .img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }

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

  .list-option > li:nth-child(n) .title-block { padding-left: 8rem; background-size: 3rem auto; min-height: 0;  }
  .list-option > li:nth-child(4) .title-block { padding-left: 5rem; }
  .list-option .title-block .title { font-size: 1.5rem; }
  .list-option .num { margin-left: -4rem; width: 3rem;  font-size: .5rem; }
  .list-option .num::after { font-size: 1.5rem; }

  .option-img2 > li { padding: 1.5rem; }
}
@media screen and (max-width: 600px) {
.option-img1 > li { width: 25%;  margin-bottom: .5em; }
  .option-img2 > li { width: 100%; margin-top: 1rem; padding: 1.5rem;  }

  .option-img3  { padding: 1.5rem;   }

  .option-img4 .img { width: 100%; height: 120px; }
  .option-img4 > li { width: 100%; margin-bottom:   1rem; padding: 1.5rem;  }
}


/*price*/
.price-head { text-align: center; }
.price-head .price { font-size: 2.5rem; font-weight: bold;margin-bottom: .5em;  }
.price-head .price span { color: #19AA94; font-size: 1.5em; font-family: 'Montserrat', sans-serif; line-height: 130%;  }
.price-head .price span span { font-size: .67em; }

.list-price { display: flex; justify-content: space-between; margin-bottom: 2.5rem; margin-top: 2rem; }
.list-price > li { width: 48%; border: 3px solid #19AA94; border-radius: 24px; box-shadow: 20px 20px 20px rgba(109, 176,159,.15); padding: 4rem; text-align: center; }
.list-price .title { font-size: 2rem; min-height: 3em;  color: #19AA94; font-weight: bold; margin: 1em 0; line-height: 150%;  }
.list-price .price { font-size: 2.5rem; line-height: 100%; display: table; text-align: left; margin: 1em auto .5em;font-weight: bold;  }
.list-price .price .num { font-size: 1.5em; color: #19AA94; font-family: 'Montserrat', sans-serif; }
.list-price .price .num span { font-size: .6em;}
.list-price .price .sub { font-size: 1rem; display: block;font-weight: normal;  }
.list-price .plus { display: table; margin: 0 auto; text-align: right; font-size: 1.25rem; line-height: 200%; }
.list-price .plus span { font-weight: bold; font-size: 1.2em;  }

.list-square > li { padding-left: 1em; color: #6E6E6E; font-size: .95rem; }
.list-square > li::before { content: '■'; display: inline-block; margin-left: -1em; width: 1em;  }

@media screen and (max-width: 1350px) {
  .list-price > li { padding: 2rem; }
  .list-price .title { font-size: 1.5rem;  }
  .list-price .plus { font-size: 1rem; }
}


@media screen and (max-width: 1200px) {
  .price-head .price { font-size: 2rem; }
  .list-price .price { font-size: 1.8rem; }
}
@media screen and (max-width: 900px) {
  .list-price { flex-wrap: wrap; }
  .list-price > li { width: 100%; }
  .list-price > li + li { margin-top: 2rem; }
  .list-price  img { max-width: 50%; }
}
@media screen and (max-width: 600px) {
  .list-price > li { padding: 1.5rem; }
  .list-price .title { font-size: 1.2rem;  }
  .list-price .plus { font-size: .8rem; }
}




.list-qa { counter-reset: listnum; }
.list-qa > dt { background: #FFF; padding: 2.5rem 3em 1.5rem 13rem; box-shadow: 20px 20px 20px rgba(109, 176,159, .15); border-radius: 1.5rem 1.5rem 0 0; position: relative; counter-increment: listnum;  }
.list-qa > dd { background: #FFF; padding: 1.5rem 3rem 2.5rem 13rem; box-shadow: 20px 20px 20px rgba(109, 176,159, .15);  border-radius: 0 0 1.5rem 1.5rem; color: #19AA94; font-weight: bold; position: relative;  }
.list-qa > dt:nth-of-type(n + 2) { margin-top: 1.5rem; }

.list-qa > dt::before,
.list-qa > dd::before { font-family: 'Montserrat', sans-serif; font-size: 1.8rem; color: #6AB19F; font-weight: 400;  position: absolute; margin-left: -1.5em;  }
.list-qa > dt::before { content: 'Q'; }
.list-qa > dd::before { content: 'A'; }

.list-qa > dt::after { content: counter(listnum); color: #19AA94;  width: 6rem; height: 6rem; display: block; border-radius: 50%; border: 3px solid #D6D6D6; position: absolute; top: 2.5rem; left: 2.5rem; font-size: 3rem; padding-top: 2.5rem; z-index: 2; text-align: center; background: url("../img/FAQ.png") no-repeat  center .7rem / auto 1rem;  }
.list-qa > dd::after { content: ''; width: calc(100% - 13rem); height: 1px; background: #B0E0D9; position: absolute; left: 10rem; top: 0; margin: auto; }

@media screen and (max-width: 900px) {
  .list-qa > dt { padding: 2rem 2em 1rem 9rem; }
  .list-qa > dd { padding: 1rem 2em 2rem 9rem; }


  .list-qa > dt::after { width: 4rem; height: 4rem; top: 1.5rem; left: 1.5rem; font-size: 2rem; padding-top: 1.5rem;  background-position: center .5rem; background-size: auto.8rem; }
  .list-qa > dd::after { width: calc(100% - 10rem); left: 8rem;  }

  .list-qa > dt::before, .list-qa > dd::before { margin-left: -1.2em; }

}

.wpcf7-form-control-wrap { width: 100%; }
.contactform { margin-top: 3rem; }
.contactform .wpcf7-radio { padding: 0; display: block; }
.contactform span.wpcf7-list-item { margin: 0 2rem 1em 0; }

@media screen and (max-width: 600px) {
	span.wpcf7-list-item { display: block; }
}
.contactform textarea {
   -webkit-appearance: none;
  width: 100%;
  background: #EFEFEF;
	padding: .5em;
	border: 1px solid #EFEFEF;
  font-size: 1rem;
	height: 10em;
}


.contactform input[type=text],
.contactform input[type=number],
.contactform input[type=date],
.contactform input[type=email],
.contactform input[type=tel],
.contactform select {

	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	font-size: .9rem;
  line-height: 150%;
  width: 100%;
	padding: .5em;
	line-height: 200%;
	margin: 3px 0;
	vertical-align: middle;
	display: inline-block;
  background: #EFEFEF;
	border: 1px solid #EFEFEF;
}

.contactform input[type="text"].wideM {
  width: 50%;
}
.contactform input[name="your-address"] { margin-top: 1em; }
.auto-address { display: inline-block; vertical-align: middle; padding: .3em 1em; line-height: 200%; color: #072374; letter-spacing: .1em; background: #fff; margin-left: .5em; cursor: pointer; border: 1px solid #072374; }

.contactform input[type="text"].wideS,
.contactform select.wideS {
  width: 10rem;
}

.contactform dt { margin-bottom: 1em; font-weight: bold; }
.contactform dd { margin-bottom: 3em; }


.contactform .notice { background: #FC7F7F; color: #FFF; display: inline-block; width: 4em; height: 2em; line-height: 200%; text-align: center; font-size: .8em; margin-left: 1em; font-weight: normal;  }
.contactform input[type="radio"] { display: none; }
.contactform input[type="radio"] + span:before { content: ''; width: 1.2em; height: 1.2em; display :inline-block; margin-right: .5em; vertical-align :middle; background: url(../img/radio-off.svg) no-repeat center center/ 100% auto; border-radius: 1rem;  }
.contactform input[type="radio"]:checked + span:before { background-image: url(../img/radio-on.svg); }

.contactform input[type="checkbox"] { display: none; }
.contactform input[type="checkbox"] + span:before { content: ''; width: 1em; height: 1em;  display :inline-block; margin-right: .5em; vertical-align :middle;   background: url(../img/check-off.svg) no-repeat center center/ 100% auto;}
.contactform input[type="checkbox"]:checked + span:before {  background-image: url(../img/check-on.svg); }


.form-button { text-align: center; margin-bottom: 5em;  }
.contactform input[type="submit"] { -webkit-appearance: none; color: #FFF; background: #FC7F7F;  width: 100%;  max-width: 350px;margin: 0 auto 0; display: inline-block;  text-align: center; padding: 1rem; font-size: 1rem; border: none; line-height: 150%; -ms-transition: all .3s; transition: all .3s; transition: all .3s;  -ms-transition: background .3s; t-webkit-ransition: background .3s; transition: background .3s; cursor: pointer; border-radius: 2em; margin: 0 auto; display: table; border: 5px solid #FFE8E8; }

.wpcf7-form-control.wpcf7c-btn-back { width: 400px; max-width: 100%; display: block; background: #CCC; margin: 1rem auto 0; fotn-size: 1rem; padding: 1em; border: none; }

.custom-wpcf7c-confirmed .contactform input[type=text].wpcf7c-conf,
.custom-wpcf7c-confirmed .contactform input[type=number].wpcf7c-conf,
.custom-wpcf7c-confirmed .contactform input[type=date].wpcf7c-conf,
.custom-wpcf7c-confirmed .contactform input[type=email].wpcf7c-conf,
.custom-wpcf7c-confirmed .contactform input[type=tel].wpcf7c-conf,
.custom-wpcf7c-confirmed .contactform select.wpcf7c-conf,
.custom-wpcf7c-confirmed .contactform textarea.wpcf7c-conf {
  background: none; border: none; outline: none;
  -webkit-box-shadow: 0 0 0px 1000px white inset;
   box-shadow: 0 0 0px 1000px white inset;
}

.custom-wpcf7c-confirmed input[type="checkbox"].wpcf7c-conf ~ .wpcf7-list-item-label { display: none; }
.custom-wpcf7c-confirmed input[type="hidden"].wpcf7c-conf-hidden~ .wpcf7-list-item-label { display: block; margin-right: 2em; }

.custom-wpcf7c-confirmed .auto-address { display: none; }
.custom-wpcf7c-confirmed .contactform .no-conf { display: none!important; }

div.wpcf7 .ajax-loader { display: none!important; }


@media screen and (max-width: 600px) {
	.table-form { margin-bottom: 1rem; }
  .table-form th,
  .table-form td { display: block; width: 100%; }
  .table-form th { padding-bottom: 0;}
  .table-form td { padding-left: 0 ;}

	.contactform input[type=text],
	.contactform input[type=number],
	.contactform input[type=date],
	.contactform input[type=email],
	.contactform input[type=tel],
	.contactform select { max-width: 100%; }
	.form-button { margin-top: 0; }

	.contactform .must { float: none; margin-left: 1em; display: inline-block; vertical-align:middle;  }
}


/*======================================
p-largeButton
======================================*/
.p-largeButton {
	margin-top: 5em;
  display: flex;
  justify-content: center;
}
.p-largeButton a { background: #FFEFF2; max-width: 984px;
    width: 90%; height: 110px; position: relative; border-radius: 100px; display: flex; align-items: center; justify-content: center; font-size: 33px; font-weight: 700; color: #E05878;}
.p-largeButton a::after {
  content: "";
  background: url(../img/icon_arr.svg) no-repeat center center/cover;
  width: 58px;
  height: 58px;
  display: block;
  position: absolute;
  top: 50%;
  right: 8.63%;
  transform: translate(0,-50%);
}

@media screen and (max-width: 1200px) {
  .p-largeButton {}
  .p-largeButton a { font-size: 28px; height: 110px; width: 100%;}
  .p-largeButton a::after { width: 45px; height: 45px;}
}
@media screen and (max-width: 768px) {
  .header { top: 0; }
  .btn-humberger { top: 1rem; }
  .p-largeButton {}
  .p-largeButton a { font-size: 17px; height: 70px;}
  .p-largeButton a::after { width: 25px; height: 25px; right: 10px;}
}


.contact-form_wrap .contact-form-header {
  background-color: #005eae;
}

.contact-form_wrap .contact-form-header .contact-form-header_inner {
  padding: 60px 0;
}

@media screen and (max-width: 980px) {
  .contact-form_wrap .contact-form-header .contact-form-header_inner {
    padding: 30px 16px;
  }
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form-header_text01 {
  text-align: center;
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 24px;
}

@media screen and (max-width: 980px) {
  .contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form-header_text01 {
    font-size: 26px;
    margin-bottom: 20px;
    line-height: 1.2;
  }
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form-header_text02 {
  text-align: center;
  color: #fff;
  font-size: 16px;
  margin-bottom: 24px;
}

@media screen and (max-width: 980px) {
  .contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form-header_text02 {
    font-size: 14px;
    margin-bottom: 16px;
  }
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox {
  width: 592px;
  height: 94px;
  background-color: #fff;
  border-radius: 15px;
  display: flex;
  align-items: center;
  gap: 0 72px;
  margin: 0 auto;
  position: relative;
}

@media screen and (max-width: 980px) {
  .contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox {
    display: block;
    text-align: center;
    width: 100%;
    height: auto;
    max-width: 480px;
    margin: 0 auto 16px;
    padding: 16px 0;
  }
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox:after {
  content: "";
  display: block;
  width: 1px;
  height: 62px;
  position: absolute;
  background-color: #d9d9d9;
  top: 16px;
  left: 248px;
}

@media screen and (max-width: 980px) {
  .contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox:after {
    display: none;
  }
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox > p {
  font-size: 16px;
  font-weight: bold;
  margin-left: 40px;
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox > div > a {
  font-family: "Roboto", "Noto Sans JP", Meiryo, sans-serif;
  font-size: 32px;
  font-weight: bold;
  background: url(/wp-content/themes/hayaregiwp/images/logo_freedial.svg) no-repeat;
  background-size: 48px auto;
  background-position: left center;
  padding-left: 52px;
  text-decoration: none;
  color: inherit;
}

.contact-form_wrap .contact-form-header .contact-form-header_inner .contact-form_telbox > div > p {
  font-size: 12px;
  color: #888;
  line-height: 1.2;
}

.contact-form_wrap .contact-kintone-wrap {
  padding: 60px 0 0;
  background-color: #fff;
}

@media screen and (max-width: 980px) {
  .contact-form_wrap .contact-kintone-wrap {
    padding: 40px 16px;
  }
}