:root {
  --main-color: #FF910B;
  --sub-color: #09B9E6;
}

/*---------------------------------
common
--------------------------------*/
body {
  font-family: 'Zen Kaku Gothic New', "Hiragino Sans", Meiryo, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  font-style: normal;
  font-size: 16px;
  color: #1D1D1D;
  line-height: 1.8;
  font-weight: 700;
  background-color: #ffffff;
  width: 100%;
}

.fw900 {
  font-weight: 900;
}

.fw400 {
  font-weight: 400;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}


/*---------------------------------
link
--------------------------------*/
a {
  text-decoration: none;
}

a,
a::after,
a::before,
a img,
input {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

/*---------------------------------
css layout
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */

* html body {
  overflow: hidden;
}

body {
  margin: 0 auto;
}

.wrap {
  overflow: hidden;
}

.wrap:after {
  clear: both;
  display: block;
  content: "";
}


.innr {
  padding: 0 3.846vw;
}


.hidden-xs {
  display: none !important;
}

.visible-xs {
  display: inherit !important;
}

.c {
  text-align: center;
}

.l {
  text-align: left;
}

.r {
  text-align: right;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {

  html,
  body {
    min-width: 1200px;
  }

  .innr {
    width: 1200px;
    margin: 0 auto;
    padding: 0 50px;
  }

  .hidden-xs {
    display: inherit !important;
  }

  .visible-xs {
    display: none !important;
  }
}


/*---------------------------------
fb
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {

  .fb {
    display: flex;
    justify-content: space-between;
  }

  .fb.center {
    justify-content: center !important;
  }

  .fb.start {
    justify-content: flex-start !important;
    align-items: center;
  }

  .fb.end {
    justify-content: flex-end !important;
    align-items: center;
  }

  .fb.reverse {
    flex-direction: row-reverse;
  }

}


/*---------------------------------
marker
--------------------------------*/

.js-line {
  display: inline;
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 0.125rem;
  transition: all 1s ease-in-out;
  padding-bottom: .15rem;
  font-weight: 700;
  background-image: linear-gradient(90deg, #1D1D1D, #1D1D1D);
}

.js-line.is-inview {
  background-size: 100% 0.125rem;
}


.js-marker {
  display: inline;
  position: relative;
  background-repeat: no-repeat;
  background-position: bottom left;
  background-size: 0 100%;
  transition: all 1s ease-in-out;
  background-image: linear-gradient(90deg, #FFD5A2, #FFD5A2);
}

.js-marker.is-inview {
  background-size: 100% 100%;
}


/*---------------------------------
btn__area
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
.btn__area a {
  font-size: 4.102vw;
  letter-spacing: .06em;
  text-align: center;
  margin: 0 auto;
  padding: .8em 0;
  display: block;
  border-radius: 20rem;
  position: relative;
  background-color: var(--main-color);
  color: #fff;
}

.btn__area a::after {
  position: absolute;
  content: "";
  width: 2.564vw;
  height: 2.564vw;
  border: 0;
  border-top: solid 1px #fff;
  border-right: solid 1px #fff;
  position: absolute;
  top: 50%;
  right: 7%;
  margin-top: -1.282vw;
  transform: rotate(45deg);
}

/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {

  .btn__area a {
    font-size: 1.25rem;
  }

  .btn__area a::after {
    width: 10px;
    height: 10px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    right: 7%;
    margin-top: -5px;
  }

  .btn__area a:hover {
    background-color: #FFAD49;
  }
}


/*---------------------------------
cta
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
.cta {
  background-color: #FF910B;
  padding: 10.256vw 0;
}

.cta .cnt {
  background-color: #fff;
  border-radius: 5.128vw;
  padding: 6.666vw 0;
  position: relative;
}

.cta .title__area {
  display: block;
  margin: 0 auto;
}

.cta .title__area h2 {
  font-size: 26px;
  line-height: 1.4;
  padding: 0 40px 10px;
  text-align: center;
}

.cta .title__area h2::after {
  content: '';
  background: url(../img/cta-img.png) 0 0 no-repeat;
  background-size: contain;
  position: absolute;
  width: 27.948vw;
  height: 32.564vw;
  top: 4.615vw;
  left: 5.897vw;
}

.cta .title__area h2 span {
  font-size: 5.128vw;
  color: #EB8100;
  display: inline-block;
}

.cta .btn__area {
  padding: 0 5.128vw;
}

.cta .btn__area p {
  font-size: 3.846vw;
  padding: 0 .5em 1em .5em;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  .cta {
    padding: 50px 0;
  }

  .cta .cnt {
    border-radius: 30px;
    padding: 40px 50px 40px 50px;
  }

  .cta .title__area h2 {
    font-size: 2.625rem;
    padding: 0;
  }

  .cta .title__area h2::after {
    width: 140px;
    height: 163px;
    top: 30px;
    left: 50px;
  }

  .cta .title__area h2 span {
    font-size: 1.75rem;
  }

  .cta .btn__area {
    width: 500px;
    padding: 0;
  }

  .cta .btn__area p {
    font-size: 1rem;
    padding: 0 0 1em 1.5em;
  }
}



/*---------------------------------
header
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
header {
  margin-bottom: 4px;
  position: relative;
}

header .innr {
  padding: 0 0 0 10px;
}

header .fb {
  display: flex;
  justify-content: space-between;
}

header .logo {
  width: 260px;
  padding-top: 10px;
}

header .r-cnt.pc {
  display: none;
}

header .tel a {
  background-color: #09B9E6;
  box-shadow: 0px 4px 0px 0px rgba(11, 164, 203, 100);
  height: 14.358vw;
  width: 15.384vw;
  display: block;
  text-align: center;
  padding-top: 3.6vw;
}

header .header-btn__area a {
  background-color: var(--main-color);
  color: #fff;
  box-shadow: 0px 4px 0px 0px rgba(235, 129, 0, 100);
  height: 14.358vw;
  width: 35.897vw;
  display: block;
  font-size: 3.333vw;
  text-align: center;
  line-height: 14.358vw;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  header {
    padding: 15px 0 0 0;
    margin-bottom: 15px;
  }

  header .innr {
    padding: 0 50px;
  }

  header .logo img {
    width: inherit;
  }

  header .logo {
    width: 260px;
  }

  header .r-cnt.pc {
    display: flex;
  }

  header .r-cnt.sp {
    display: none;
  }

  header .tel {
    font-size: .9375rem;
    line-height: 1.2;
    text-align: right;
    margin-right: 20px;
  }

  header .tel .nm {
    font-size: 1.875rem;
    color: #EB8100;
    letter-spacing: .04em;
  }

  header .btn__area a {
    display: block;
    text-align: center;
    color: #fff;
    background-color: var(--main-color);
    font-size: 1.125rem;
    line-height: 1.4;
    padding: 0.5em 2em 0.7em;
  }

  header .btn__area a span {
    font-size: .9375rem;
  }


}


/*---------------------------------
footer
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
footer {
  background-color: #3D3D3D;
  padding: 16.923vw 0 25.641vw;
  color: #fff;
  text-align: center;
}

footer address {
  margin: 7.179vw 0;
  font-size: 3.333vw;
}

footer .r-cnt.pc {
  display: none;
}

footer .r-cnt.sp .tel a {
  display: block;
  border: 3px solid var(--main-color);
  padding: 0.5em 0 0.6em;
  margin: 0 auto 5.128vw;
  text-align: center;
  width: 94%;
  border-radius: 20rem;
  position: relative;
}

footer .r-cnt.sp .tel a::after {
  position: absolute;
  content: "";
  width: 2.564vw;
  height: 2.564vw;
  border: 0;
  border-top: solid 1px var(--main-color);
  border-right: solid 1px var(--main-color);
  position: absolute;
  top: 50%;
  right: 7%;
  margin-top: -1.282vw;
  transform: rotate(45deg);
}

footer .r-cnt.sp .tel {
  font-size: 3.333vw;
  line-height: 1.3;
}

footer .r-cnt.sp .tel .nm {
  font-size: 6.153vw;
  color: #EB8100;
  letter-spacing: .04em;
  padding-left: .5em;
}

footer .r-cnt.sp .btn__area a {
  display: block;
  text-align: center;
  color: #fff;
  background-color: var(--main-color);
  font-size: 4.615vw;
  line-height: 1.4;
  padding: 0.4em 0 0.8em;
  width: 94%;
}

footer .r-cnt.sp .btn__area a span {
  font-size: 3.846vw;
}

footer .link ul {
  padding-top: 9.23vw;
  font-size: 3.333vw;
  line-height: 2.4;
}

footer .copy {
  padding-top: 7.692vw;
  font-size: 3.076vw;
  font-weight: 300;
  letter-spacing: .1em;
}


footer .fixed_banner {
  background: rgba(231, 231, 231, 60);
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 1.299vw;
  padding-bottom: 2.564vw;
  width: 100%;
  z-index: 9997;
  display: none;
}

footer .fixed_banner ul {
  display: flex;
  justify-content: space-between;
}

footer .fixed_banner ul li {
  width: 50%;
}

footer .fixed_banner ul li a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
}


footer .fixed_banner ul li.tel a {
  background-color: #09B9E6;
  box-shadow: 0px 4px 0px 0px rgba(11, 164, 203, 100);
  height: 10.769vw;
  width: 100%;
  display: block;
  text-align: center;
  padding-top: 1vw;
  font-size: 4.615vw;
  letter-spacing: .1em;
}

footer .fixed_banner ul li.tel a img {
  height: 4.615vw;
  vertical-align: middle;
  margin-right: 0.2em;
}

footer .fixed_banner ul li.reserve a {
  background-color: var(--main-color);
  box-shadow: 0px 4px 0px 0px rgba(235, 129, 0, 100);
  height: 10.769vw;
  width: 100%;
  display: block;
  text-align: center;
  padding-top: 2.2vw;
  font-size: 3.589vw;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  footer {
    padding: 60px 0 70px;
    text-align: inherit;
  }

  footer .footer-top {
    padding-bottom: 32px;
  }

  footer .logo {
    margin: 10px 0 0 0;
  }

  footer .r-cnt.pc {
    display: flex;
  }

  footer .r-cnt.sp {
    display: none;
  }

  footer .tel {
    font-size: .9375rem;
    line-height: 1.3;
    text-align: right;
    margin-right: 20px;
  }

  footer .tel .nm {
    font-size: 1.875rem;
    color: #EB8100;
    letter-spacing: .04em;
    padding-left: .5em;
  }

  footer .btn__area a {
    display: block;
    text-align: center;
    color: #fff;
    background-color: var(--main-color);
    font-size: 1.125rem;
    line-height: 1.4;
    padding: 0.2em 3em 0.5em;
    width: inherit;
  }

  footer .btn__area a span {
    font-size: .9375rem;
  }

  footer address {
    margin: 0;
    font-size: .9375rem;
  }

  footer .link ul {
    padding-top: .8em;
    font-size: .9375rem;
    line-height: 1.8;
  }

  footer .link ul li:first-child::after {
    content: '｜';
    padding: 0 .5em;
  }

  footer .copy {
    padding-top: .5em;
    font-size: .8125rem;
    font-weight: 300;
    text-align: right;
    letter-spacing: .1em;
  }

  footer .fixed_banner {
    display: none !important;
  }
}


/*---------------------------------
pagetop
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
.pagetop {
  position: fixed;
  right: 1.5%;
  bottom: 14vw;
  z-index: 998;
  display: none;
}

.pagetop a {
  display: inline-block;
  width: 16.923vw;
  height: 17.435vw;
}

/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  .pagetop {
    right: 60px;
    bottom: 40px;
  }

  .pagetop a {
    width: 50px;
    height: 50px;
  }
}


/*---------------------------------
mv
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#mv {
  background: url(../img/mv-top-bg-sp.png) 0 bottom no-repeat;
  background-size: cover;
}

#mv .mv-top .innr {
  position: relative;
  text-align: center;
  height: 100vw;
}

#mv .mv-top .toyou {
  position: relative;
  top: 4.358vw;
  width: 65.641vw;
}

#mv .mv-top h1 {
  position: absolute;
  top: 8vw;
  left: 7.692vw;
  width: 86vw;
}

#mv .mv-top .ttl02 {
  position: absolute;
  top: 34vw;
  left: 7.692vw;
  width: 62vw;
}


#mv .mv-bottom {
  position: relative;
}

#mv .mv-bottom-wrap {
  background-color: #FF910B;
  mix-blend-mode: multiply;
  width: 100%;
  height: 46.153vw;
  position: absolute;
  top: 0;
  left: 0;
}

#mv .mv-bottom .innr {
  color: #fff;
  height: 40vw;
}

#mv .mv-bottom .txt__area .js-marker {
  padding: 0 .2em;
  color: #3D3D3D;
  background-image: linear-gradient(90deg, #FFD60A, #FFD60A);
}

#mv .mv-bottom .txt__area {
  font-size: 20px;
  padding-top: 1.1em;
}

#mv .mv-bottom .txt__area .js-line {
  background-image: linear-gradient(90deg, #fff, #fff);
}

#mv .mv-bottom .txt__area .emphasis {
  background-image: radial-gradient(circle at center, #fff 20%, transparent 20%);
  /* 点の色とサイズ調整 */
  background-position: top right;
  /* 点の位置 */
  background-repeat: repeat-x;
  /* 横方向に繰り返し */
  background-size: 1em 0.3em;
  /* 点の間隔とサイズ調整 */
  padding-top: .12em;
  /* 縦方向の位置調整 */
}

#mv .img__area .img {
  position: absolute;
  top: -62vw;
  left: 26vw;
  width: 70vw;
}

#mv .img__area .medal {
  position: absolute;
  top: -8vw;
  left: 69vw;
  width: 25.128vw;
}

#mv .mv-bottom .txt__area.middle::before {
  position: absolute;
  left: -1em;
  bottom: 0;
  content: '';
  width: 2px;
  height: 80%;
  background-color: #FFD60A;
  border-radius: 3px;
  transform: rotate(-30deg);
}

#mv .mv-bottom .txt__area.middle::after {
  position: absolute;
  right: -1em;
  bottom: 0;
  content: '';
  width: 2px;
  height: 80%;
  background-color: #FFD60A;
  border-radius: 3px;
  transform: rotate(30deg);
}

#mv .mv-bottom .img__area {
  position: absolute;
  left: 3.076vw;
  top: 2.051vw;
  width: 20vw;
}

/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #mv {
    background: url(../img/mv-top-bg.png) 0 bottom no-repeat;
    background-size: cover;
  }

  #mv .mv-top .innr {
    height: 460px;
  }

  #mv .mv-top .toyou {
    top: -5px;
    left: 45px;
    width: 416px;
  }

  #mv .mv-top h1 {
    top: 80px;
    left: 80px;
    width: 600px;
  }

  #mv .mv-top .ttl02 {
    top: 270px;
    left: 140px;
    width: 450px;
  }


  #mv .mv-bottom-wrap {
    height: 200px;
  }

  #mv .mv-bottom .innr {
    height: 200px;
  }

  #mv .mv-bottom .txt__area {
    text-align: center;
    font-size: 2.25rem;
    padding-top: 1em;
    padding-left: 0;
  }

  #mv .img__area .img {
    top: -530px;
    left: 490px;
    width: 600px;
  }

  #mv .img__area .medal {
    top: -168px;
    left: 880px;
    width: 158px;
  }
}


/*---------------------------------
case
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#case {
  background-color: #EFEFEF;
  padding-bottom: 0;
  position: relative;
}

#case::after {
  content: "";
  position: absolute;
  display: block;
  left: 0;
  border-style: solid;
  bottom: 0;
  border-color: transparent #fff transparent;
  border-width: 14vw 50vw 0;
}


#case .title__area h2 {
  text-align: center;
  color: #3D3D3D;
  font-size: 26px;
  line-height: 1.4;
  padding: 1em 0 1em;
}

#case .title__area h2 .big {
  font-size: 32px;
  position: relative;
}

#case .title__area h2 .wave::before {
  content: '';
  background: url(../img/case-ttl-img.png) no-repeat;
  background-size: contain;
  width: 4.615vw;
  height: 5.384vw;
  position: absolute;
  top: -1.898vw;
  right: 18vw;
}

#case .title__area h2 .wave {
  position: relative;
  color: #09B9E6;
  letter-spacing: .08em;
  background: url(../img/case-wave.png) center bottom no-repeat;
  background-size: contain;
  padding-bottom: .1em;
  padding-left: .08em;
  line-height: 1.9;
}


#case .cnt_wrap {
  width: 100%;
  height: 205vw;
  position: relative;
  margin-bottom: 3em;
}

#case .cnt.n01 {
  width: 82.051vw;
  position: absolute;
  top: 0;
  right: 0;
}

#case .cnt.n02 {
  width: 82.051vw;
  position: absolute;
  top: 28.974vw;
  left: 0;
}

#case .cnt.n03 {
  width: 82.051vw;
  position: absolute;
  top: 58vw;
  right: 0;
}

#case .cnt.n04 {
  width: 82.051vw;
  position: absolute;
  top: 87vw;
  left: 0;
}

#case .cnt.n05 {
  width: 82.051vw;
  position: absolute;
  top: 116vw;
  right: 0;
}

#case .img__area {
  width: 52vw;
  position: absolute;
  bottom: 0;
  left: 20vw;
}

/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {

  #case {
    padding-bottom: 0;
  }

  #case::after {
    border-width: 5vw 50vw 0;
  }

  #case .title__area h2 {
    font-size: 3.125rem;
    line-height: 1.6;
    padding: 1.2em 0 1em;
  }

  #case .title__area h2 .big {
    font-size: 3.75rem;
  }

  #case .title__area h2 .big::after {
    width: 62px;
    height: 26px;
    top: 0;
    right: 0;
  }

  #case .title__area h2 .wave {
    line-height: 1.6;
  }

  #case .title__area h2 .wave::before {
    width: 22px;
    height: 26px;
    top: -4px;
    left: -20px;
  }

  #case .cnt_wrap {
    height: 634px;
  }

  #case .cnt.n01 {
    width: 465px;
    top: 0;
    right: 50px;
  }

  #case .cnt.n02 {
    width: 480px;
    top: 75px;
    left: 50px;
  }

  #case .cnt.n03 {
    width: 465px;
    top: 190px;
    right: 0;
  }

  #case .cnt.n04 {
    width: 480px;
    top: 300px;
    left: 0;
  }

  #case .cnt.n05 {
    width: 465px;
    top: 380px;
    right: 30px;
  }

  #case .img__area {
    width: 286px;
    bottom: 0;
    left: 354px;
  }
}


/*---------------------------------
data
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#data {
  padding-bottom: 12.82vw;
}

#data .title__area {
  text-align: center;
  padding: 0 0 30px;
}

#data .title__area h2 {
  font-size: 24px;
  line-height: 1.6;
  position: relative;
  font-weight: 900;
}

#data .title__area h2 span {
  font-size: 36px;
}

#data .title__area h2.js-line {
  background-size: 0 0.3rem;
  background-image: linear-gradient(90deg, #00B06C, #00B06C);
}

#data .title__area h2.js-line.is-inview {
  background-size: 100% 0.3rem;
}

#data .cnt {
  letter-spacing: .08em;
}


#data .cnt.catch {
  text-align: center;
  font-size: 4.615vw;
  line-height: 1.5;
  padding-bottom: 2em;
}

#data .cnt.catch .nm {
  font-size: 7.179vw;
}

#data .cnt.catch p {
  padding-bottom: 1em;
}

#data .cnt.catch .img__area {
  width: 58.974vw;
  margin: 0 auto 1em;
}

#data .cnt.catch .txt__area {
  text-align: left;
  padding: 0 3.846vw;
}


#data .cnt.flow__area {
  border-radius: 20px;
  background-color: #E4F1EC;
  padding: 12vw 0 60vw;
  position: relative;
}

#data .cnt.flow__area .bubble {
  display: inline-block;
  background-color: #00B06C;
  color: #fff;
  border-radius: 12px;
  font-size: 20px;
  line-height: 1.6;
  padding: .5em 1.2em;
  white-space: nowrap;
  position: absolute;
  top: -1.2em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#data .cnt.flow__area .bubble::after {
  content: '';
  background: url(../img/data-triangle.png) 0 0 no-repeat;
  background-size: contain;
  width: 4.871vw;
  height: 4.615vw;
  position: absolute;
  left: 11.538vw;
  bottom: -4.615vw;
}


#data .cnt.flow__area .fb {
  justify-content: center;
}

#data .cnt.flow__area .flow {
  margin: 0 0 30px;
  position: relative;
}

#data .cnt.flow__area .flow .img__area img {
  border-radius: 12px;
  width: 180px;
}

#data .cnt.flow__area .flow .img__area {
  text-align: center;
}

#data .cnt.flow__area .flow .txt__area {
  font-size: 16px;
  line-height: 1.6;
  padding-top: 0;
  text-align: center;
}

#data .cnt.flow__area .flow.n04 {
  margin: 0 20px 30px;
}

#data .cnt.flow__area .flow.n04 .img__area {
  border-radius: 12px;
  background-color: #fff;
  padding: 9vw 0 0;
  text-align: center;
  width: 100%;
}

#data .cnt.flow__area .flow.n04 .img__area .fb {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

#data .cnt.flow__area .flow.n04 .img__area .fb li {
  width: 40%;
  margin: 0 2.564vw 1.8em;
}

#data .cnt.flow__area .flow.n04 .img__area img {
  border-radius: 0;
  margin: 0 0 1em;
}


#data .cnt.flow__area .point {
  width: 90%;
  border-radius: 20px;
  background-color: var(--main-color);
  color: #fff;
  padding: 20px;
  position: absolute;
  bottom: -32vw;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#data .cnt.flow__area .point p {
  font-size: 18px;
  width: 100%;
}

#data .cnt.flow__area .point .js-line {
  background-image: linear-gradient(90deg, #fff, #fff);
}

#data .cnt.flow__area .point .img__area {
  width: 64.102vw;
  height: 50.512vw;
  margin: 2em auto 0;
}


#data .closing {
  padding-top: 38vw;
  text-align: center;
}

#data .closing dl {
  margin-bottom: 30px;
}

#data .closing dl dt {
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 1.8em;
}

#data .closing dl dd {
  padding: 20px 0;
  margin: 0 3.846vw 5.128vw;
  border-radius: 12px;
  border: 4px solid #FFD5A2;
  font-size: 1.25rem;
  color: var(--main-color);
  line-height: 1.6;
  position: relative;
}

#data .closing dl dd::before {
  content: "";
  background: url(../img/data-point-icn.png) 0 0 no-repeat;
  background-size: contain;
  width: 11.282vw;
  height: 13.589vw;
  position: absolute;
  top: -3.846vw;
  left: 7.692vw;
}

#data .closing .txt__area {
  font-size: 18px;
  line-height: 1.8;
  font-weight: 900;
}

#data .closing .txt__area .big {
  font-size: 7.692vw;
}



/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #data {
    padding-bottom: 100px;
  }

  #data .title__area {
    padding: 40px 0 40px;
  }

  #data .title__area h2 {
    font-size: 3.125rem;
    display: inline-block;
  }

  #data .title__area h2 span {
    font-size: 4.375rem;
  }

  #data .title__area h2::before {
    width: 63px;
    height: 61px;
    top: -24px;
    left: 72px;
  }

  #data .title__area h2.js-line {
    background-size: 0 0.5rem;
  }

  #data .title__area h2.js-line.is-inview {
    background-size: 100% 0.5rem;
  }


  #data .cnt.catch.fb {
    justify-content: center;
  }

  #data .cnt.catch {
    text-align: left;
    font-size: 1.25rem;
    line-height: 1.6;
    padding-bottom: 4em;
  }

  #data .cnt.catch .nm {
    font-size: 1.875rem;
  }

  #data .cnt.catch p {
    padding-bottom: 1em;
  }

  #data .cnt.catch .txt__area {
    width: auto;
    margin-left: 36px;
    padding: 0;
  }


  #data .cnt.flow__area {
    border-radius: 30px;
    margin: 0 -50px;
    padding: 125px 0 150px;
  }

  #data .cnt.flow__area .bubble {
    border-radius: 20em;
    font-size: 1.875rem;
    white-space: nowrap;
    padding: .2em 1.4em;
    top: -1em;
  }

  #data .cnt.flow__area .bubble::after {
    width: 19px;
    height: 18px;
    left: 50px;
    bottom: -18px;
  }


  #data .cnt.flow__area .fb {
    justify-content: center;
  }

  #data .cnt.flow__area .flow {
    margin: 0 25px;
  }

  #data .cnt.flow__area .flow::after {
    top: 100px;
    bottom: inherit;
    right: -38px;
    left: inherit;
    transform: inherit;
    background: url(../img/data-arrw-r.png) 0 0 no-repeat;
    background-size: contain;
    width: 38px;
    height: 23px;
  }

  #data .cnt.flow__area .flow.n01::before {
    top: -30px;
    left: -30px;
    background: url(../img/data-start.png) 0 0 no-repeat;
    background-size: contain;
    width: 120px;
    height: 65px;
  }

  #data .cnt.flow__area .flow.n03::after {
    top: inherit;
    bottom: -95px;
    right: inherit;
    left: -80px;
    background: url(../img/data-arrw-ld.png) 0 0 no-repeat;
    background-size: contain;
    width: 80px;
    height: 95px;
  }

  #data .cnt.flow__area .flow.n04::after {
    top: inherit;
    bottom: -80px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: url(../img/data-arrw-d.png) 0 0 no-repeat;
    background-size: contain;
    width: 24px;
    height: 62px;
  }

  #data .cnt.flow__area .flow.n05::after {
    top: -25px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background: url(../img/data-goal.png) 0 0 no-repeat;
    background-size: contain;
    width: 118px;
    height: 50px;
  }

  #data .cnt.flow__area .flow .img__area img {
    border-radius: 20px;
    width: 300px;
  }

  #data .cnt.flow__area .flow .txt__area {
    font-size: 1.25rem;
    line-height: 1.6;
    padding-top: 1em;
    text-align: center;
  }

  #data .cnt.flow__area .flow.n04 {
    margin: 0 100px 30px 100px;
  }

  #data .cnt.flow__area .flow.n04 .img__area .fb li {
    width: auto;
    margin: 0;
  }

  #data .cnt.flow__area .flow.n04 .img__area {
    border-radius: 20px;
    padding: 40px 0 35px;
  }

  #data .cnt.flow__area .flow.n04 .img__area img {
    width: 190px;
    margin: 0 23px 1em;
  }

  #data .cnt.flow__area .flow.n05 {
    margin: 0 0 90px 0;
  }

  #data .cnt.flow__area .flow.n05 .img__area img {
    border-radius: 20px;
    width: 420px;
  }

  #data .cnt.flow__area .flow.n05 .txt__area {
    text-align: left;
    padding: 5em 0 0 2em;
    width: 410px;
  }


  #data .cnt.flow__area .point {
    border-radius: 30px;
    padding: 40px;
    width: 1000px;
    bottom: -150px;
  }

  #data .cnt.flow__area .point p {
    font-size: 1.5rem;
    width: auto;
  }

  #data .cnt.flow__area .point .img__area {
    width: 345px;
    height: 269px;
    margin: 0;
  }


  #data .closing {
    padding-top: 180px;
  }

  #data .closing dl {
    margin-bottom: 40px;
  }

  #data .closing dl dt {
    font-size: 1.5rem;
  }

  #data .closing dl dd {
    display: inline-block;
    width: 340px;
    padding: 20px 0;
    margin: 0 10px;
    border-radius: 20px;
    border: 6px solid #FFD5A2;
    font-size: 1.25rem;
  }

  #data .closing dl dd::before {
    width: 44px;
    height: 53px;
    top: -15px;
    left: 30px;
  }

  #data .closing .txt__area {
    font-size: 1.875rem;
  }

  #data .closing .txt__area .big {
    font-size: 2.625rem;
  }
}


/*---------------------------------
strategical
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#strategical {
  background-color: #FFFAF3;
  padding-bottom: 30px;
}

#strategical .title__area {
  background-color: var(--main-color);
  color: #fff;
  text-align: center;
  font-size: 9.23vw;
}

#strategical .title__area .emphasis {
  background-image: radial-gradient(circle at center, #fff 20%, transparent 20%);
  /* 点の色とサイズ調整 */
  background-position: top right;
  /* 点の位置 */
  background-repeat: repeat-x;
  /* 横方向に繰り返し */
  background-size: 1em 0.3em;
  /* 点の間隔とサイズ調整 */
  padding-top: .12em;
  /* 縦方向の位置調整 */
}

#strategical .title__area .pd {
  padding: 0 0 0 3em;
}

#strategical .title__area .innr {
  position: relative;
  padding: 0.5em 0;
}

#strategical .title__area .innr::before {
  content: "";
  background: url(../img/strategical-ttl-img.png) 0 0 no-repeat;
  background-size: contain;
  width: 30.769vw;
  height: 35.641vw;
  position: absolute;
  bottom: -9.717vw;
  left: 5.692vw;
}

#strategical .title__area .innr::after {
  content: "";
  position: absolute;
  border: 10.256vw solid transparent;
  border-top: 7.692vw solid var(--main-color);
  width: 0;
  height: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  top: 100%;
}

#strategical .check {
  margin: 40px 0 10px;
}

#strategical .check ul li {
  background-color: #fff;
  font-size: 18px;
  line-height: 1.4;
  border-radius: 12px;
  border: 4px solid #FACE98;
  position: relative;
  padding: 20px;
  margin-bottom: 20px;
  text-align: center;
}

#strategical .check ul li span {
  color: var(--main-color);
}

#strategical .check ul li::before {
  position: absolute;
  content: "";
  background: url(../img/strategical-check-icn.png) 0 0 no-repeat;
  background-size: contain;
  width: 7.692vw;
  height: 6.666vw;
  top: 50%;
  left: 7.179vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
}

#strategical .check ul li.n02::after {
  position: absolute;
  content: "";
  background: url(../img/strategical-img01.png) 0 0 no-repeat;
  background-size: contain;
  width: 31.794vw;
  height: 20vw;
  bottom: -3.846vw;
  right: -3.846vw;
}


#strategical .conclusion {
  text-align: center;
  margin-bottom: 12.82vw;
}

#strategical .conclusion .sub__title__area h3 {
  font-size: 7.6vw;
  margin-bottom: 7.692vw;
}

#strategical .conclusion .sub__title__area h3 .brackets {
  position: relative;
  padding: .5em .8em;
  font-size: 9.23vw;
}

#strategical .conclusion .sub__title__area h3 .brackets::before,
#strategical .conclusion .sub__title__area h3 .brackets::after {
  position: absolute;
  width: 10.256vw;
  height: 10.256vw;
  content: '';
}

#strategical .conclusion .sub__title__area h3 .brackets::before {
  border-left: solid 2px;
  border-top: solid 2px;
  top: 0;
  left: 0;
}

#strategical .conclusion .sub__title__area h3 .brackets::after {
  border-right: solid 2px;
  border-bottom: solid 2px;
  bottom: 0;
  right: 0;
}

#strategical .conclusion .txt__area {
  background-color: #fff;
  border-radius: 20px;
  padding: 1.5em 0;
  font-size: 4.615vw;
  text-align: center;
}

#strategical .conclusion .txt__area .pd {
  display: block;
  padding-bottom: 1em;
}

#strategical .conclusion .txt__area .brackets {
  position: relative;
  padding: .4em .6em;
  font-size: 7.179vw;
}

#strategical .conclusion .txt__area .brackets::before,
#strategical .conclusion .txt__area .brackets::after {
  position: absolute;
  width: 5.128vw;
  height: 5.128vw;
  content: '';
}

#strategical .conclusion .txt__area .brackets::before {
  border-left: solid 2px;
  border-top: solid 2px;
  top: 0;
  left: 0;
}

#strategical .conclusion .txt__area .brackets::after {
  border-right: solid 2px;
  border-bottom: solid 2px;
  bottom: 0;
  right: 0;
}

#strategical .conclusion .txt__area .big {
  font-size: 7.179vw;
}

#strategical .conclusion .sub__title__area .js-marker,
#strategical .conclusion .txt__area .js-marker {
  background-size: 0 50%;
}

#strategical .conclusion .sub__title__area .js-marker.is-inview,
#strategical .conclusion .txt__area .js-marker.is-inview {
  background-size: 100% 50%;
}

#strategical .conclusion .txt__area .square {
  border: 2px solid var(--main-color);
  color: var(--main-color);
  padding: 0 .2em;
}


#strategical .induction {
  margin-bottom: 12.82vw;
}

#strategical .induction .img__area {
  width: 35.897vw;
  margin: 0 auto 6.41vw;
}

#strategical .induction .txt__area {
  text-align: center;
  font-size: 5.128vw;
}


#strategical .question {
  background-color: #FFEFDB;
  border-radius: 20px;
  padding: 12.82vw 3.846vw 0;
}

#strategical .question .sub__title__area {
  background-color: #fff;
  border-radius: 20px;
  text-align: center;
  position: relative;
}

#strategical .question .sub__title__area h3 {
  font-size: 5.641vw;
  padding: 1.4em 0 .9em;
}

#strategical .question .sub__title__area h3 .js-line {
  background-image: linear-gradient(90deg, #FF910B, #FF910B);
}

#strategical .question .sub__title__area .bubble {
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: var(--main-color);
  display: inline-block;
  border-radius: 20em;
  color: #fff;
  font-size: 4.615vw;
  padding: .1em 1em;
}

#strategical .question .sub__title__area .bubble::after {
  content: "";
  position: absolute;
  border: 6px solid transparent;
  border-top: 10px solid var(--main-color);
  width: 0;
  height: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  top: 100%;
}

#strategical .question .target {
  margin: 2em auto;
  width: 100%;
  padding: 1em 0;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  font-size: 4.615vw;
  text-align: center;
}

#strategical .question .target dt {
  padding-bottom: .2em;
}

#strategical .question .target dt::after {
  content: "：";
}

#strategical .question .target dd {
  color: var(--main-color);
  line-height: 1.6;
}


#strategical .schematic {
  margin: 0 -1.282vw 0 0;
  text-align: center;
  background: url(../img/strategical-figure-sp.png) 0 top no-repeat;
  background-size: contain;
  width: 85.897vw;
  height: auto;
}

#strategical .schematic dl {
  padding: 0 1em 2.5em;
}

#strategical .schematic dl.n01 {
  padding-top: 115vw;
}

#strategical .schematic dl.n03 {
  padding-bottom: 0;
}

#strategical .schematic dl dt {
  font-size: 6.153vw;
  color: #fff;
  background-color: var(--main-color);
  display: inline;
  padding: 0 .2em;
}

#strategical .schematic dl .answer {
  font-size: 5.128vw;
  color: var(--main-color);
  margin: .2em 0 .4em;
}

#strategical .schematic dl .answer span {
  border-bottom: dotted 2px var(--main-color);
}

#strategical .schematic dl .description {
  text-align: left;
  font-size: 4.615vw;
}



#strategical .question .answer__area {
  background-color: var(--main-color);
  color: #fff;
  border-radius: 20px;
  text-align: center;
  position: relative;
  bottom: -17.948vw;
}

#strategical .question .answer__area h3 {
  font-size: 5.641vw;
  padding: 1.2em 1.8em .9em;
  line-height: 1.6;
}

#strategical .question .answer__area h3 span {
  color: #FFEF9D;
}

#strategical .question .answer__area .bubble {
  position: absolute;
  top: -1em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  background-color: var(--main-color);
  display: inline-block;
  border-radius: 20em;
  background-color: #FFEF9D;
  border: 2px solid var(--main-color);
  color: var(--main-color);
  font-size: 4.615vw;
  padding: .1em 1em;
}

#strategical .question .answer__area .bubble::after {
  content: "";
  position: absolute;
  border: 6px solid transparent;
  border-top: 10px solid #FFEF9D;
  width: 0;
  height: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  top: 100%;
}




/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #strategical {
    padding-bottom: 60px;
  }

  #strategical .title__area {
    font-size: 2.625rem;
  }

  #strategical .title__area .pd {
    padding: 0;
  }

  #strategical .title__area .innr::before {
    width: 120px;
    height: 139px;
    bottom: -10px;
    left: 50px;
  }

  #strategical .title__area .innr::after {
    border: 40px solid transparent;
    border-top: 30px solid var(--main-color);
  }

  #strategical .check {
    padding: 0 150px;
    margin: 80px 0 20px;
  }

  #strategical .check ul li {
    font-size: 1.75rem;
    border-radius: 20px;
    padding: 1em 2em;
    margin-bottom: 20px;
    text-align: center;
  }

  #strategical .check ul li::before {
    width: 40px;
    height: 34px;
    left: 40px;
  }

  #strategical .check ul li.n02::after {
    width: 250px;
    height: 157px;
    bottom: 15px;
    right: -100px;
  }


  #strategical .conclusion {
    margin-bottom: 80px;
  }

  #strategical .conclusion .sub__title__area h3 {
    font-size: 3rem;
    margin-bottom: 40px;
  }

  #strategical .conclusion .sub__title__area h3 .brackets {
    padding: .3em 1em;
    font-size: 3.75rem;
  }

  #strategical .conclusion .sub__title__area h3 .brackets::before,
  #strategical .conclusion .sub__title__area h3 .brackets::after {
    width: 50px;
    height: 50px;
  }

  #strategical .conclusion .txt__area {
    border-radius: 30px;
    padding: 1.5em 3em;
    margin: 0 50px;
    font-size: 1.25rem;
    line-height: 2.2;
    text-align: left;
  }

  #strategical .conclusion .txt__area .pd {
    padding-bottom: .8em;
  }

  #strategical .conclusion .txt__area .brackets {
    padding: .4em .8em;
    font-size: 2rem;
    margin-right: .3em;
  }

  #strategical .conclusion .txt__area .brackets::before,
  #strategical .conclusion .txt__area .brackets::after {
    width: 24px;
    height: 24px;
  }

  #strategical .conclusion .txt__area .big {
    font-size: 1.875rem;
  }

  #strategical .induction {
    margin-bottom: 80px;
  }

  #strategical .induction .img__area {
    width: 140px;
    margin: 0 auto 20px;
  }

  #strategical .induction .txt__area {
    font-size: 1.5rem;
  }


  #strategical .question {
    border-radius: 30px;
    margin: 0 -50px;
    padding: 50px 50px 0;
  }

  #strategical .question .sub__title__area {
    border-radius: 30px;
  }

  #strategical .question .sub__title__area h3 {
    font-size: 1.75rem;
    padding: 1em 0 .9em;
  }

  #strategical .question .sub__title__area .bubble {
    font-size: 1.25rem;
  }

  #strategical .question .target {
    margin: 2.5em auto;
    width: 860px;
    display: flex;
    justify-content: center;
    padding: .6em 0;
    font-size: 1.25rem;
  }

  #strategical .question .target dt {
    display: inline-block;
    padding-bottom: 0;
  }

  #strategical .question .target dd {
    display: inline-block;
    line-height: 1.8;
  }


  #strategical .schematic {
    margin: 0 auto;
    background: url(../img/strategical-figure.png) 0 0 no-repeat;
    background-size: contain;
    width: 1050px;
    height: 1008px;
    position: relative;
  }

  #strategical .schematic dl {
    position: absolute;
    padding: inherit;
  }

  #strategical .schematic dl.n01 {
    padding-top: inherit;
    width: 320px;
    top: 174px;
    left: 370px;
  }

  #strategical .schematic dl.n02 {
    width: 360px;
    top: 533px;
    left: 142px;
  }

  #strategical .schematic dl.n03 {
    width: 320px;
    top: 533px;
    left: 592px;
  }

  #strategical .schematic dl dt {
    font-size: 2.25rem;
  }

  #strategical .schematic dl .answer {
    font-size: 1.5rem;
  }

  #strategical .schematic dl .description {
    font-size: 1.25rem;
  }



  #strategical .question .answer__area {
    border-radius: 30px;
    bottom: -70px;
  }

  #strategical .question .answer__area h3 {
    font-size: 1.75rem;
    padding: 1.2em 0 .9em;
  }

  #strategical .question .answer__area .bubble {
    font-size: 1.25rem;
  }

}



/*---------------------------------
introduce
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#introduce {
  padding-bottom: 20.512vw;
}

#introduce .title__area {
  text-align: center;
  font-size: 10.256vw;
  line-height: 1.6;
  padding: 15.384vw 0 12.82vw;
}

#introduce .cnt {
  padding: 0 3.846vw;
}

#introduce .txt__area p {
  padding-bottom: 2em;
  letter-spacing: .08em;
}

#introduce .txt__area .js-marker {
  background-image: linear-gradient(90deg, #FACE98, #FACE98);
}

#introduce .img__area {
  width: 62.82vw;
  margin: 0 auto 14.871vw auto;
}

#introduce .img__area img {
  margin-bottom: 5.641vw;
}

#introduce .img__area p {
  font-size: 4.102vw;
}

#introduce .signature {
  text-align: right;
}

#introduce .signature img {
  width: 42.3vw;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #introduce {
    padding-bottom: 140px;
  }

  #introduce .title__area {
    font-size: 3.125rem;
    line-height: 1.4;
    padding: 110px 0 60px;
  }

  #introduce .cnt {
    padding: 0 50px;
  }

  #introduce .img__area {
    width: 372px;
    margin: inherit;
  }

  #introduce .img__area img {
    margin-bottom: 12px;
  }

  #introduce .img__area p {
    font-size: 1rem;
  }

  #introduce .txt__area p {
    font-size: 1.125rem;
  }

  #introduce .txt__area {
    width: 560px;
  }

  #introduce .signature {
    text-align: right;
  }

  #introduce .signature img {
    width: 204px;
  }
}



/*---------------------------------
course
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#course {
  background-color: #F3FCFF;
  border-top: var(--sub-color) 10px solid;
  padding-bottom: 30px;
  text-align: center;
}

#course .title__area {
  padding: 30px 0 20px;
}

#course .title__area h2 {
  font-size: 26px;
  display: inline-block;
  position: relative;
}

#course .title__area h2 .big {
  font-size: 34px;
  color: var(--sub-color);
}

#course .title__area h2::before {
  content: "";
  background: url(../img/course-ttl-img.png) 0 0 no-repeat;
  background-size: contain;
  width: 20vw;
  height: 15.897vw;
  position: absolute;
  top: -13vw;
  left: 34%;
}

#course .cnt .sub__title__area {
  margin: 0 0 5.128vw;
  background-color: var(--sub-color);
  color: #fff;
  font-size: 18px;
  border-radius: 20px;
  padding: 10px;
}

#course .cnt>div {
  margin: 0 15px 30px;
}

#course .cnt .img__area img {
  border-radius: 12px;
  box-shadow: 4px 4px 0px 0 #9EE1F9;
}

#course .cnt .txt__area {
  text-align: left;
  padding: 0 10px;
}

#course .cnt .txt__area ul li::before {
  content: "・";
  color: var(--sub-color);
  margin-left: -1.2em;
}

#course .point {
  border: 1px dashed var(--main-color);
  border-radius: 20px;
  background-color: #fff;
  text-align: left;
  margin-top: 20.512vw;
}

#course .point .sub__title__area {
  position: relative;
  font-size: 6.153vw;
  font-weight: 900;
  color: var(--main-color);
  position: relative;
  top: -1em;
  left: 3.8em;
}

#course .point .sub__title__area::before {
  content: "";
  background: url(../img/course-point-icn.png) 0 0 no-repeat;
  background-size: contain;
  width: 17.435vw;
  height: 16.41vw;
  position: absolute;
  top: -5.128vw;
  left: -16.923vw;
}

#course .point .txt__area {
  padding: 0 2em 2em 2.5em;
}

#course .point .txt__area span {
  font-size: 4.615vw;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #course {
    padding-bottom: 140px;
  }

  #course .title__area {
    padding: 80px 0 60px;
  }

  #course .title__area h2 {
    font-size: 3.125rem;
  }

  #course .title__area h2 .big {
    font-size: 3.75rem;
  }

  #course .title__area h2::before {
    width: 78px;
    height: 62px;
    top: 15px;
    left: -90px;
  }

  #course .cnt .sub__title__area {
    margin: 0 50px 30px;
    font-size: 1.75rem;
  }

  #course .cnt>div {
    margin-bottom: 50px;
  }

  #course .cnt .fb {
    justify-content: center;
    margin: 0 50px;
  }

  #course .cnt .img__area {
    margin-right: 50px;
  }

  #course .cnt .img__area img {
    border-radius: 20px;
    width: 360px;
  }

  #course .cnt .txt__area {
    width: 740px;
    text-align: left;
    padding-top: 15px;
  }

  #course .point {
    border-radius: 30px;
    margin-top: 120px;
  }

  #course .point .sub__title__area {
    font-size: 1.75rem;
    top: -1em;
    left: 3em;
  }

  #course .point .sub__title__area::before {
    width: 80px;
    height: 75px;
    top: -20px;
    left: -80px;
  }

  #course .point .txt__area {
    padding: 0 0 2em 3em;
  }

  #course .point .txt__area span {
    font-size: 1.25rem;
  }
}



/*---------------------------------
benefit
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#benefit {
  background-color: #FFEFDB;
  padding-bottom: 2vw;
}

#benefit .title__area {
  position: relative;
  text-align: center;
  font-size: 10.256vw;
  padding: 17.948vw 0 31.794vw;
  line-height: 1.2;
}

#benefit .title__area::before {
  content: "";
  background: url(../img/benefit-ttl-img01.png) 0 0 no-repeat;
  background-size: contain;
  width: 22.307vw;
  height: 26.923vw;
  position: absolute;
  top: 41.025vw;
  left: 3.846vw;
}

#benefit .title__area::after {
  content: "";
  background: url(../img/benefit-ttl-img02.png) 0 0 no-repeat;
  background-size: contain;
  width: 25.128vw;
  height: 26.153vw;
  position: absolute;
  top: 42.307vw;
  right: 2.564vw;
}

#benefit .title__area .pillow {
  font-size: 6.153vw;
  color: var(--main-color);
  position: relative;
}

#benefit .title__area .pillow::before {
  position: absolute;
  left: -1em;
  top: 0;
  content: '';
  width: 2px;
  height: 100%;
  background-color: var(--main-color);
  border-radius: 3px;
  transform: rotate(-30deg);
}

#benefit .title__area .pillow::after {
  position: absolute;
  right: -1em;
  top: 0;
  content: '';
  width: 2px;
  height: 100%;
  background-color: var(--main-color);
  border-radius: 3px;
  transform: rotate(30deg);
}

#benefit .title__area .num {
  font-size: 17.948vw;
}


#benefit .cnt>div {
  margin-bottom: 20.512vw;
  background-color: #fff;
  border-radius: 20px;
  border: 4px solid #FFD5A2;
  position: relative;
}

#benefit .cnt .txt__area {
  margin-left: 60px;
  margin: 0 12.82vw 10vw 12.82vw;
  z-index: 99;
}

#benefit .cnt>div:before {
  font-size: 6.25rem;
  color: rgba(255, 145, 11, 0.3);
  position: absolute;
  top: 0;
  left: 25px;
  letter-spacing: .05em;
  z-index: 1;
}

#benefit .cnt .n01::before {
  content: "01";
}

#benefit .cnt .n02::before {
  content: "02";
}

#benefit .cnt .n03::before {
  content: "03";
  top: 50px;
}

#benefit .cnt .img__area {
  text-align: center;
  margin: 7.692vw 0 7.692vw;
}

#benefit .cnt .n03 .img__area {
  margin: 7.692vw 0 0;
}

#benefit .cnt .n01 .img__area img {
  border-radius: 12px;
  width: 64.102vw;
}

#benefit .cnt .n02 .img__area img {
  width: 52.307vw;
}

#benefit .cnt .n03 .img__area img {
  width: 72.564vw;
}

#benefit .cnt .bubble {
  position: relative;
  top: -1.2em;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  font-size: 6.153vw;
  display: inline-block;
  background-color: var(--main-color);
  color: #fff;
  border-radius: 12px;
  line-height: 1.2;
  padding: .2em 1em .5em;
}

#benefit .cnt .n02 .bubble,
#benefit .cnt .n03 .bubble {
  padding: .5em 1em .5em;
}

#benefit .cnt .bubble .num {
  font-size: 8.717vw;
}

#benefit .cnt .bubble::after {
  content: '';
  background: url(../img/benefit-triangle.png) 0 0 no-repeat;
  background-size: contain;
  width: 4.871vw;
  height: 4.615vw;
  position: absolute;
  left: 7.692vw;
  top: 99%;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #benefit {
    padding-bottom: 60px;
  }

  #benefit .title__area {
    font-size: 3.125rem;
    padding: 80px 0;
    line-height: 1.2;
  }

  #benefit .title__area::before {
    width: 140px;
    height: 170px;
    top: 60px;
    left: 380px;
  }

  #benefit .title__area::after {
    width: 158px;
    height: 164px;
    top: 70px;
    right: 380px;
  }

  #benefit .title__area .pillow {
    font-size: 1.875rem;
  }

  #benefit .title__area .num {
    font-size: 4.375rem;
  }

  #benefit .cnt {
    padding: 0 50px;
  }

  #benefit .cnt>div {
    margin-bottom: 80px;
    border-radius: 30px;
  }

  #benefit .cnt .txt__area {
    width: 574px;
    margin: 0 0 0 60px;
  }

  #benefit .cnt>div:before {
    font-size: 6.25rem;
    top: -10px;
    left: 40px;
  }

  #benefit .cnt .n03::before {
    top: -10px;
  }

  #benefit .cnt .img__area {
    text-align: inherit;
    margin: 0;
  }

  #benefit .cnt .n03 .img__area {
    margin: 0;
  }

  #benefit .cnt .n01 .img__area img {
    border-radius: 20px;
    width: 250px;
    margin: 0 40px 40px 0;
  }

  #benefit .cnt .n02 .img__area img {
    width: 204px;
    margin: 0 65px 44px 0;
  }

  #benefit .cnt .n03 .img__area img {
    width: 283px;
    margin: 0 40px 12px 0;
  }

  #benefit .cnt .bubble {
    top: -1.2em;
    font-size: 1.875rem;
    border-radius: 20em;
    padding: .2em 1.6em .5em;
  }

  #benefit .cnt .n02 .bubble {
    padding: .5em 1.6em .5em;
  }

  #benefit .cnt .n03 .bubble {
    padding: .2em 1.6em .5em;
  }

  #benefit .cnt .bubble .num {
    font-size: 2.625rem;
  }

  #benefit .cnt .bubble::after {
    width: 19px;
    height: 18px;
    left: 70px;
    top: 99%;
  }

}





/*---------------------------------
price
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#price {
  background-color: #00B06C;
  padding-bottom: 30px;
  text-align: center;
}

#price .title__area {
  text-align: center;
  padding: 30px 0 20px;
}

#price .title__area h2 {
  font-size: 7.6vw;
  position: relative;
  display: inline-block;
  padding-left: 12.82vw;
  line-height: 1.6;
}

#price .title__area h2::before {
  content: '';
  background: url(../img/price-icn.png) 0 0 no-repeat;
  background-size: contain;
  width: 24.102vw;
  height: 30.512vw;
  position: absolute;
  left: -12.564vw;
  top: -0.692vw;
}

#price .title__area h2 span {
  font-size: 12.82vw;
  color: #fff;
  background-image: radial-gradient(circle at center, #fff 15%, transparent 15%);
  /* 点の色とサイズ調整 */
  background-position: top right;
  /* 点の位置 */
  background-repeat: repeat-x;
  /* 横方向に繰り返し */
  background-size: 1em 0.3em;
  /* 点の間隔とサイズ調整 */
  padding-top: .05em;
  /* 縦方向の位置調整 */
}

#price .price__area {
  border-radius: 20px;
  background-color: #fff;
  text-align: center;
  padding: 20px;
}

#price .price__area>p {
  font-size: 5.128vw;
  line-height: 2.2;
}

#price .price__area>p .num {
  font-size: 7.6vw;
}

#price .price__area>p .tax {
  font-size: 3.333vw;
}

#price .price__area>p .included {
  font-size: 3.333vw;
  display: block;
  margin-top: -1.2em;
}

#price .price__area>p .included .num {
  font-size: 4.102vw;
}

#price .price__area>p .box {
  background-color: #00B06C;
  color: #fff;
  border-radius: 6px;
  padding: .5em .8em;
  margin: 0 .4em;
}

#price .price__area .price {
  border-radius: 20px;
  border: 4px solid var(--main-color);
  position: relative;
  margin: 12.82vw auto 3.846vw;
  padding: 1em 1em 1.6em;
}

#price .price__area .price .img__area {
  position: absolute;
  width: 53.846vw;
  top: -7.692vw;
  left: 14.102vw;
}

#price .price__area .price p {
  text-align: center;
  font-size: 5.128vw;
}

#price .price__area .price p .yllw {
  color: var(--main-color);
  font-size: 5.128vw;
}

#price .price__area .price p .yllw .num {
  font-size: 12.82vw;
}

#price .price__area .price p .yllw .tax {
  font-size: 4.102vw;
}

#price .price__area .price p .include {
  font-size: 3.333vw;
  display: block;
  margin-top: -1em;
}

#price .price__area .price p .include .num {
  font-size: 5.128vw;
}


#price .price__area .why .img__area {
  width: 57.948vw;
  margin: 0 0 0 2.564vw;
}

#price .price__area .why .fb {
  display: flex;
  justify-content: center;
}

#price .price__area .why .fb .txt__area {
  font-size: 6.666vw;
  text-align: center;
  line-height: 1.6;
}

#price .price__area .why .fb .txt__area span {
  color: #00B06C;
}

#price .price__area .why .fb .txt__area .js-line {
  background-image: linear-gradient(90deg, #00B06C, #00B06C);
}

#price .price__area .why .fb .img__area {
  width: 35.897vw;
  margin: -8.974vw -2.564vw 0 -12.82vw;
}

#price .price__area .center {
  color: var(--main-color);
  font-size: 4.615vw;
  padding: 1.2em 0 3.5em;
}


#price .more {
  color: #fff;
  font-size: 9.23vw;
  display: inline-block;
  position: relative;
  margin: 12.82vw 0;
}

#price .more::before {
  position: absolute;
  left: -1em;
  top: 0;
  content: '';
  width: 2px;
  height: 100%;
  background-color: #fff;
  border-radius: 3px;
  transform: rotate(-30deg);
}

#price .more::after {
  position: absolute;
  right: -1em;
  top: 0;
  content: '';
  width: 2px;
  height: 100%;
  background-color: #fff;
  border-radius: 3px;
  transform: rotate(30deg);
}

#price .repayment {
  margin: 0;
  border-radius: 30px;
  border: 2px solid #3D3D3D;
  background: url(../img/price-bg-sp.png) center 0 no-repeat;
  background-size: cover;
  padding: 60px 0 45px;
}

#price .repayment p {
  font-size: 6.153vw;
  line-height: 1.4;
}

#price .repayment p span {
  font-size: 4.102vw;
}

#price .repayment .img__area {
  width: 85.384vw;
  margin: 6.153vw auto 0;
}

#price .repayment .img__area span {
  display: block;
  padding-bottom: 7.692vw;
}

#price .challenge {
  color: #fff;
  padding-top: 3em;
}

#price .challenge p {
  font-size: 7.179vw;
  font-weight: 900;
}

#price .challenge .contact {
  margin-top: 2em;
  font-size: 4.615vw;
}

#price .challenge .contact dt::after {
  content: "：";
}

#price .challenge .contact dd a {
  text-decoration: underline;
}

#price .challenge .contact dd a:hover,
#price .challenge .contact dd a:active {
  text-decoration: none;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #price {
    padding-bottom: 140px;
  }

  #price .title__area {
    text-align: center;
    padding: 100px 0 70px;
  }

  #price .title__area h2 {
    font-size: 3.125rem;
    padding-left: 0;
  }

  #price .title__area h2::before {
    width: 150px;
    height: 190px;
    left: -170px;
    top: -40px;
  }

  #price .title__area h2 span {
    font-size: 4.375rem;
  }

  #price .price__area {
    border-radius: 30px;
    padding: 40px 50px 40px 50px;
  }

  #price .price__area>p {
    font-size: 1.5rem;
    line-height: 2.2;
  }

  #price .price__area>p .num {
    font-size: 2.125rem;
  }

  #price .price__area>p .tax {
    font-size: .8125rem;
  }

  #price .price__area>p .included {
    font-size: .8125rem;
    margin-top: -1.2em;
  }

  #price .price__area>p .included .num {
    font-size: 1rem;
  }

  #price .price__area>p .box {
    border-radius: 6px;
    padding: .5em .8em;
    margin: 0 .4em;
  }

  #price .price__area .price {
    border-radius: 30px;
    width: 700px;
    margin: 50px auto;
    padding: 1em 3em 1.6em;
  }

  #price .price__area .price .img__area {
    width: 250px;
    top: -35px;
    left: 40px;
  }

  #price .price__area .price p {
    text-align: left;
    font-size: 1.5rem;
  }

  #price .price__area .price p .yllw {
    font-size: 1.875rem;
  }

  #price .price__area .price p .yllw .num {
    font-size: 3.75rem;
  }

  #price .price__area .price p .yllw .tax {
    font-size: 1rem;
  }

  #price .price__area .price p .include {
    font-size: 1rem;
    margin-top: -1em;
  }

  #price .price__area .price p .include .num {
    font-size: 1.5rem;
  }


  #price .price__area .why .img__area {
    width: 328px;
    margin: 0 auto;
  }

  #price .price__area .why .fb .txt__area {
    font-size: 2.125rem;
  }

  #price .price__area .why .fb .img__area {
    width: 172px;
    margin: -20px 0 0 20px;
  }

  #price .price__area .center {
    font-size: 1.375rem;
    padding: 1.2em 0 3.5em;
  }


  #price .more {
    font-size: 3.75rem;
    margin: 60px 0;
  }

  #price .repayment {
    margin: 0 50px;
    border-radius: 30px;
    background: url(../img/price-bg.png) center 0 no-repeat;
    background-size: cover;
    padding: 60px 0 45px;
  }

  #price .repayment p {
    font-size: 1.875rem;
    line-height: 1.2;
  }

  #price .repayment p span {
    font-size: 1.25rem;
  }

  #price .repayment .img__area {
    width: 460px;
    margin: 40px auto 0;
  }

  #price .repayment .img__area span {
    padding-bottom: 30px;
  }

  #price .challenge {
    padding-top: 3em;
  }

  #price .challenge p {
    font-size: 2.125rem;
  }

  #price .challenge .contact {
    margin-top: 2em;
    font-size: 1.125rem;
  }

  #price .challenge .contact dt {
    display: inline-block;
  }

  #price .challenge .contact dd {
    display: inline-block;
  }

}




/*---------------------------------
voice
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#voice {
  background-color: #E4F1EC;
  padding-bottom: 20px;
}

#voice .title__area {
  text-align: center;
  padding: 30px 0 20px;
}

#voice .title__area h2 {
  font-size: 10.256vw;
}

#voice .title__area h2 span {
  font-size: 26px;
}

#voice .title__area h2 img {
  width: 21.794vw;
}

#voice .cnt {
  background-color: #fff;
  border-radius: 5.128vw;
  padding: 20px;
  margin: 0 0 12.82vw 3.846vw;
  position: relative;
}

#voice .cnt.n02 {
  margin: 0 3.846vw 12.82vw 0;
}

#voice .cnt::after {
  content: '';
  background: url(../img/voice-triangle.png) 0 0 no-repeat;
  background-size: contain;
  width: 10.256vw;
  height: 6.923vw;
  position: absolute;
  right: 10%;
  bottom: -6.923vw;
  transform: scale(-1, 1);
}

#voice .cnt.n02::after {
  transform: scale(1, 1);
  right: inherit;
  left: 10%;
}

#voice .cnt .fb {
  display: flex;
  justify-content: start;
}

#voice .cnt .sub__title__area {
  margin: 0 0 0 1.2em;
}

#voice .cnt .sub__title__area h3 .area {
  font-size: 3.333vw;
  font-weight: 400;
}

#voice .cnt .sub__title__area h3 .company {
  font-size: 5.128vw;
  line-height: 1.6;
  font-weight: 900;
}

#voice .cnt.n02 .sub__title__area h3 .company {
  line-height: 1.2;
}

#voice .cnt .sub__title__area h3 .name {
  font-size: 4.102vw;
}

#voice .cnt .txt__area {
  border-top: 1px solid #9FE1C7;
  padding-top: 10px;
  margin-top: 10px;
}

#voice .cnt .txt__area p {
  font-size: 3.846vw;
  padding-top: 1.5em;
}

#voice .cnt .txt__area p .js-marker {
  background-image: linear-gradient(90deg, #D4F3E7, #D4F3E7);
}

#voice .cnt .img__area img {
  width: 25.641vw;
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #voice {
    padding-bottom: 60px;
  }

  #voice .title__area {
    padding: 100px 0 60px;
  }

  #voice .title__area h2 {
    font-size: 3.125rem;
    line-height: 1.8;
  }

  #voice .title__area h2 img {
    width: 98px;
  }

  #voice .title__area h2 span {
    font-size: 3.75rem;
  }

  #voice .cnt {
    border-radius: 30px;
    padding: 60px 60px 50px;
    margin: 0 0 80px 50px;
  }

  #voice .cnt.n02 {
    margin: 0 50px 80px 0;
  }

  #voice .cnt::after {
    width: 40px;
    height: 27px;
    right: 60px;
    bottom: -27px;
  }

  #voice .cnt.n02::after {
    left: 60px;
  }

  #voice .cnt .sub__title__area {
    margin: 0 0 0 2em;
  }

  #voice .cnt .sub__title__area h3 .area {
    font-size: 1.125rem;
  }

  #voice .cnt .sub__title__area h3 .company {
    font-size: 1.875rem;
  }

  #voice .cnt.n02 .sub__title__area h3 .company {
    line-height: 1.8;
  }

  #voice .cnt .sub__title__area h3 .name {
    font-size: 1.5rem;
  }

  #voice .cnt .txt__area {
    margin-top: 27px;
  }

  #voice .cnt .txt__area p {
    font-size: 1rem;
  }

  #voice .cnt .img__area img {
    width: 120px;
  }

}





/*---------------------------------
feature
--------------------------------*/
/* スマホ用 750px以下に適用されるCSS */
#feature {
  background-color: #FFFAF3;
  padding-bottom: 10.256vw;
}

#feature .title__area {
  padding: 10.256vw 0;
}

#feature .title__area h2 {
  text-align: center;
  font-size: 7.6vw;
}

#feature .title__area h2 img {
  width: 34.615vw;
}

#feature .cnt {
  margin-bottom: 15.384vw;
}

#feature .cnt .txt__area {
  margin: 7.692vw 7.692vw 0;
}

#feature .cnt.n01 .img__area {
  width: 84.615vw;
  margin-left: 2vw;
}

#feature .cnt.n02 .img__area {
  width: 80.769vw;
  margin-left: 3.846vw;
}

#feature .cnt.n03 .img__area {
  width: 84.615vw;
  margin-left: 3.846vw;
}

#feature .cnt .txt__area .nm {
  color: #EB8100;
  letter-spacing: .1em;
  display: inline-flex;
  align-items: center;
  position: absolute;
  font-size: 4.102vw;
}

#feature .cnt .txt__area .nm::before {
  content: '―';
  padding-right: .3em;
}

#feature .cnt .txt__area .nm span {
  font-size: 9.23vw;
  padding-left: .2em;
  line-height: 1;
  margin-top: -0.15em;
}

#feature .cnt .txt__area h3 {
  font-size: 6.153vw;
  line-height: 1.5;
  padding: 1.8em 0 1em;
}

#feature .cnt .txt__area h3 span {
  font-size: 4.102vw;
}

/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #feature {
    padding-bottom: 60px;
  }

  #feature .innr {
    padding: 0;
  }

  #feature .title__area {
    padding: 65px 0 80px;
  }

  #feature .title__area h2 {
    font-size: 3.5rem;
  }

  #feature .title__area h2 img {
    width: 238px;
  }

  #feature .cnt {
    margin-bottom: 100px;
  }

  #feature .cnt .txt__area {
    width: 620px;
    margin: 0 100px 0 0;
  }

  #feature .cnt .reverse .txt__area {
    margin: 0 0 0 100px;
  }

  #feature .cnt.n01 .img__area {
    width: 442px;
    margin-left: -20px;
  }

  #feature .cnt.n02 .img__area {
    width: 442px;
    margin-left: 0;
  }

  #feature .cnt.n03 .img__area {
    width: 469px;
    margin-left: -25px;
  }

  #feature .cnt .txt__area .nm {
    font-size: 1rem;
  }

  #feature .cnt .txt__area .nm span {
    font-size: 2.25rem;
  }

  #feature .cnt .txt__area h3 {
    font-size: 1.75rem;
  }

  #feature .cnt .txt__area h3 span {
    font-size: 1.375rem;
  }
}



/*---------------------------------
qa
--------------------------------*/

#qa {
  padding: 30px 0;
}

#qa .innr {
  padding: 0;
}

#qa .title__area {
  text-align: center;
  margin-bottom: 7.692vw;
}

#qa .title__area h2 {
  font-size: 9.23vw;
}

#qa .title__area h2 img {
  width: 26.666vw;
}

.acc-content {
  display: none;
}

#qa .qa__area dl {
  background-color: #F3FCFF;
  margin-bottom: 2.564vw;
  position: relative;
}

#qa .qa__area dl::before {
  content: 'Q.';
  color: #09B9E6;
  font-size: 7.6vw;
  position: absolute;
  top: 0;
  left: 3.846vw;
}

#qa .qa__area dl .question {
  width: 100%;
  margin: 0 auto;
  padding: 1.2em 3.846vw 1.2em 15.384vw;
  position: relative;
  font-size: 4.102vw;
  font-weight: 900;
}

#qa .qa__area dl .answer {
  width: 100%;
  margin: 0 auto;
  padding: .5em 7.692vw 2em 7.692vw;
  height: auto;
  position: relative;
  font-size: 3.846vw;
}

#qa .qa__area dl .answer .details {
  border-radius: 12px;
  border: 1px solid #EFEFEF;
  background: #fff;
  padding: 1.5em 2em 1em;
  margin-top: 1.5em;
}

#qa .qa__area dl .answer .details dl {
  background: none;
  border-radius: none;
  margin-bottom: 0.5em;
}

#qa .qa__area dl .answer .details dt,
#qa .qa__area dl .answer .details dd {
  display: inline;
}

#qa .qa__area dl .answer dl::before {
  content: none;
}

#qa .qa__area dl .answer dt::after {
  content: "：";
}


/* PC用 751px以上に適用されるCSS */
@media (min-width: 751px) {
  #qa {
    padding: 60px 0 110px;
  }

  #qa .innr {
    padding: 0 50px;
  }

  #qa .title__area {
    margin-bottom: 50px;
  }

  #qa .title__area h2 {
    font-size: 3.125rem;
  }

  #qa .title__area h2 img {
    width: 160px;
  }

  #qa .qa__area {
    padding: 0 50px;
  }

  #qa .qa__area dl {
    border-radius: 30px;
    margin-bottom: 30px;
  }

  #qa .qa__area dl::before {
    font-size: 3.125rem;
    left: 40px;
  }

  #qa .qa__area dl .question {
    padding: 1.8em 40px 1.5em 105px;
    font-size: 1.25rem;
  }

  #qa .qa__area dl .answer {
    padding: 0 105px 2em 105px;
    font-size: 1rem;
  }

  #qa .qa__area dl .answer .details {
    border-radius: 20px;
  }
}


#strategical h2 {
  font-size:26px;
}

#strategical h2 .big {
  font-size:34px;
}

@media (min-width: 751px) {

#strategical h2 {
  font-size:46px;
}

#strategical h2 .big {
  font-size:54px;
}

}


.fluffy {
  animation: fluffy 4s ease infinite;
}

@keyframes fluffy {
  0% {
    transform: translateY(0)
  }

  25% {
    transform: translateY(-10px)
  }

  50% {
    transform: translateY(0)
  }

  75% {
    transform: translateY(-10px)
  }

  100% {
    transform: translateY(0)
  }
}


#qa #accordion dl {
  background-color: #F3FCFF;
  margin-bottom: 2.564vw;
  position: relative;
}

#qa #accordion dl::before {
  content: 'Q.';
  color: #09B9E6;
  font-size: 7.6vw;
  position: absolute;
  top: 0;
  left: 3.846vw;
}

#qa #accordion dl .acc-btn {
  width: 100%;
  margin: 0 auto;
  padding: 1.2em 3.846vw 1.2em 15.384vw;
  cursor: pointer;
  position: relative;
  font-size: 4.102vw;
  font-weight: 900;
}

#qa #accordion dl .acc-btn span {
  position: relative;
  display: block;
  padding-right: 2.5rem;
}

#qa #accordion dl .acc-btn span::before,
#qa #accordion dl .acc-btn span::after {
  content: '';
  display: inline-block;
  width: 1.2rem;
  height: 2px;
  background-color: #09B9E6;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transition: 0.2s;
}

#qa #accordion dl .acc-btn span::after {
  transform: translateY(-50%) rotate(90deg);
  transition: 0.2s;
}

#qa #accordion dl .acc-content {
  width: 100%;
  display: none;
  margin: 0 auto;
  padding: .5em 7.692vw 2em 7.692vw;
  height: auto;
  position: relative;
  font-size: 3.846vw;
}

#qa #accordion dl .acc-btn.open span:before {
  opacity: 0;
}

#qa #accordion dl .acc-btn.open span:after {
  transform: translateY(-50%) rotate(180deg);
  transition: 0.2s;
}

/* PCç”¨ 751pxä»¥ä¸Šã«é©ç”¨ã•ã‚Œã‚‹CSS */
@media (min-width: 751px) {
  #qa {
    padding: 60px 0 110px;
  }

  #qa .innr {
    padding: 0 50px;
  }

  #qa .title__area {
    margin-bottom: 50px;
  }

  #qa .title__area h2 {
    font-size: 3.125rem;
  }

  #qa .title__area h2 img {
    width: 160px;
  }

  #qa #accordion {
    padding: 0 50px;
  }

  #qa #accordion dl {
    border-radius: 30px;
    margin-bottom: 30px;
  }

  #qa #accordion dl::before {
    font-size: 3.125rem;
    left: 40px;
  }

  #qa #accordion dl .acc-btn {
    padding: 1.8em 40px 1.5em 105px;
    font-size: 1.25rem;
  }

  #qa #accordion dl .acc-content {
    padding: 0 80px 2em 105px;
    font-size: 1rem;
  }

}


#data .cnt.flow__area .flow.n04 .txt__area {
  font-size:20px;
}

@media (min-width: 751px) {

#data .cnt.flow__area .flow.n04 .txt__area {
  font-size:26px;
}

}
