/*===============================================
 reset
===============================================*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

section, article, aside, hgroup, header, footer, nav, dialog, figure, figcaption {
  display: block;
}

body {
  line-height: 1;
  -webkit-text-size-adjust: 100%;
}

article, aside, dialog, figure, footer, header,
hgroup, nav, section {
  display: block;
}

ul,
ol {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

sub,
sup {
  font-size: 65%;
}

sub {
  vertical-align: bottom;
}

sup {
  vertical-align: top;
}

input, select {
  vertical-align: middle;
}

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

a[href] {
  transition: opacity 0.2s;
}
a[href]:hover {
  opacity: 0.7;
}

@media screen and (min-width: 751px) {
  .sp-inline,
.sp-inline-block,
.sp-block,
.sp-flex {
    display: none;
  }
}
/*-----------------------------------------
 * html
 *-----------------------------------------*/
html {
  height: 100%;
  overflow-y: auto;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
}

/*-----------------------------------------
 * body
 *-----------------------------------------*/
body {
  position: relative;
  width: 100%;
  min-height: 100%;
  color: #333;
  font-family: YakuHanRPs, "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-optical-sizing: auto;
  font-feature-settings: "palt";
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

/*-----------------------------------------
 * wrap
 *-----------------------------------------*/
.l-wrap {
  width: 100%;
}
body.is-modal-visible .l-wrap {
  position: fixed;
  left: 0;
}

/*-----------------------------------------
 * header
 *-----------------------------------------*/
.l-header {
  padding-top: min( 25px, 3.3333333333vw );
  padding-bottom: min( 21px, 2.8vw );
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .l-header {
    padding-top: 21px;
    padding-bottom: 15px;
  }
}
.l-header__logo {
  width: min( 280px, 37.3333333333vw );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 751px) {
  .l-header__logo {
    width: 178px;
  }
}
.l-header__logo > img {
  display: block;
}

/*-----------------------------------------
 * footer
 *-----------------------------------------*/
.l-footer {
  padding-top: min( 24px, 3.2vw );
  padding-bottom: min( 32px, 4.2666666667vw );
  background-color: #4f4f4f;
}
@media screen and (min-width: 751px) {
  .l-footer {
    padding-top: 20px;
    padding-bottom: 30px;
  }
}
.l-footer__nav > ul {
  display: flex;
  justify-content: center;
  font-size: min( 21px, 2.8vw );
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .l-footer__nav > ul {
    font-size: 16px;
  }
}
.l-footer__nav > ul > li:not(:first-child) {
  padding-left: 0.6666666667em;
  margin-left: 0.6666666667em;
  border-left: 1px solid #fff;
}
.l-footer__nav > ul > li > a {
  color: #fff;
  text-decoration: none;
}
.l-footer__copyright {
  margin-top: min( 36px, 4.8vw );
  text-align: center;
  color: #fff;
  font-size: minvw(21);
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .l-footer__copyright {
    margin-top: 30px;
    font-size: 16px;
  }
}

/*-----------------------------------------
 * main
 *-----------------------------------------*/
.l-main {
  background: url(../images/body-bg.png) repeat-y center top;
  background-size: 100% auto;
}
@media screen and (min-width: 751px) {
  .l-main {
    background-image: url(../images/body-bg-pc.png);
    background-repeat: repeat;
    background-size: 1580px auto;
  }
}

.m-cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min( 135px, 18vw );
  border: 2px solid #373938;
  border-radius: min( 68px, 9.0666666667vw );
  background-color: #f8e87f;
  box-shadow: 0 min( 10px, 1.3333333333vw ) #f2f2f2;
  text-align: center;
  text-decoration: none;
  color: #333;
  font-size: min( 29px, 3.8666666667vw );
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 751px) {
  .m-cta {
    height: min( 109px, 8.515625vw );
    border-radius: min( 55px, 4.296875vw );
    box-shadow: 0 min( 8px, 0.625vw ) #f2f2f2;
    font-size: min( 22px, 1.71875vw );
  }
}
.m-cta:before {
  position: absolute;
  right: min( 36px, 4.8vw );
  top: calc(50% - min( 30px, 4vw ));
  width: min( 60px, 8vw );
  height: min( 60px, 8vw );
  border-radius: min( 30px, 4vw );
  background-color: #fff;
  content: "";
}
@media screen and (min-width: 751px) {
  .m-cta:before {
    right: min( 22px, 1.71875vw );
    top: calc(50% - min( 26px, 2.03125vw ));
    width: min( 52px, 4.0625vw );
    height: min( 52px, 4.0625vw );
    border-radius: min( 26px, 2.03125vw );
  }
}
.m-cta:after {
  position: absolute;
  right: min( 55px, 7.3333333333vw );
  top: calc(50% - min( 6px, 0.8vw ));
  width: min( 24px, 3.2vw );
  height: min( 12px, 1.6vw );
  background: url(../images/cta-arw.svg) no-repeat;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .m-cta:after {
    right: min( 38px, 2.96875vw );
    top: calc(50% - min( 5px, 0.390625vw ));
    width: min( 19px, 1.484375vw );
    height: min( 10px, 0.78125vw );
  }
}
.m-cta strong {
  font-size: min( 40px, 5.3333333333vw );
}
@media screen and (min-width: 751px) {
  .m-cta strong {
    font-size: min( 30px, 2.34375vw );
  }
}
.m-cta small {
  font-size: 70%;
}

.m-modal {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: auto;
  opacity: 0;
  z-index: 9999;
  pointer-events: none;
  transition: opacity 0.3s;
}
.m-modal.is-visible {
  opacity: 1;
  pointer-events: auto;
}
.m-modal__center {
  width: min( 660px, 88vw );
  padding: min( 100px, 13.3333333333vw ) 0;
  margin: 0 auto;
}
@media screen and (min-width: 751px) {
  .m-modal__center {
    width: min( 575px, 44.921875vw );
    padding: min( 100px, 7.8125vw ) 0;
  }
}

.m-ls-add-s {
  letter-spacing: 0.04em;
}
.m-ls-add-m {
  letter-spacing: 0.08em;
}
.m-ls-add-l {
  letter-spacing: 0.12em;
}
.m-ls-sub-s {
  letter-spacing: -0.04em;
}
.m-ls-sub-m {
  letter-spacing: -0.08em;
}
.m-ls-sub-l {
  letter-spacing: -0.12em;
}

/*-----------------------------------------
 * kv
 *-----------------------------------------*/
@media screen and (min-width: 751px) {
  .p-kv__in {
    max-width: min( 1200px, 93.75vw );
    margin-left: auto;
    margin-right: auto;
  }
}
.p-kv picture {
  display: block;
}
.p-kv picture > img {
  display: block;
}

/*-----------------------------------------
 * lead
 *-----------------------------------------*/
.p-lead {
  position: relative;
  padding-top: min( 24px, 3.2vw );
  overflow: clip;
}
@media screen and (min-width: 751px) {
  .p-lead {
    padding-top: min( 48px, 3.75vw );
    padding-bottom: min( 266px, 20.78125vw );
  }
}
.p-lead:before {
  position: absolute;
  left: 0;
  top: min( 471px, 62.8vw );
  width: 100%;
  height: min( 467px, 62.2666666667vw );
  background: url(../images/lead-bg.png) no-repeat;
  background-size: 100% auto;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-lead:before {
    left: calc( 50% - min( 715px, 55.859375vw ));
    top: auto;
    bottom: 0;
    width: min( 1430px, 111.71875vw );
    height: min( 428px, 33.4375vw );
    background-image: url(../images/lead-bg-pc.png);
  }
}
.p-lead__in {
  position: relative;
}
.p-lead__ttl > a {
  display: block;
  width: min( 656px, 87.4666666667vw );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 751px) {
  .p-lead__ttl > a {
    width: 504px;
  }
}
.p-lead__ttl > a > picture {
  display: block;
}
.p-lead__ttl > a > picture > img {
  display: block;
}
.p-lead__txt {
  margin-top: min( 35px, 4.6666666667vw );
}
@media screen and (min-width: 751px) {
  .p-lead__txt {
    margin-top: min( 52px, 4.0625vw );
  }
}
.p-lead__txt > p {
  text-align: center;
  font-size: min( 30px, 4vw );
  line-height: 1.6666666667;
}
@media screen and (min-width: 751px) {
  .p-lead__txt > p {
    font-size: min( 22px, 1.71875vw );
    line-height: 2.2727272727;
  }
}
.p-lead__txt > p:not(:first-child) {
  margin-top: 0.7333333333em;
}
@media screen and (min-width: 751px) {
  .p-lead__txt > p:not(:first-child) {
    margin-top: 0;
  }
}
.p-lead__bnr {
  margin-top: min( 30px, 4vw );
}
@media screen and (min-width: 751px) {
  .p-lead__bnr {
    margin-top: 48px;
  }
}
.p-lead__bnr > a {
  display: block;
  width: min( 720px, 96vw );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 751px) {
  .p-lead__bnr > a {
    width: 518px;
  }
}

/*-----------------------------------------
 * enquete
 *-----------------------------------------*/
.p-enquete {
  position: relative;
  padding-bottom: min( 64px, 8.5333333333vw );
  margin-top: min( 492px, 65.6vw );
  background-color: rgba(197, 231, 225, 0.7);
}
@media screen and (min-width: 751px) {
  .p-enquete {
    margin-top: max( -190px, -14.84375vw );
    background-color: transparent;
  }
}
.p-enquete__top-illust {
  position: absolute;
  left: 0;
  bottom: 100%;
  display: block;
}
@media screen and (min-width: 751px) {
  .p-enquete__top-illust {
    position: relative;
    bottom: unset;
    width: 529px;
    margin-left: auto;
    margin-right: auto;
  }
}
.p-enquete__top-illust > img {
  display: block;
}
.p-enquete__catch {
  text-align: center;
  font-size: min( 25px, 3.3333333333vw );
  font-weight: 700;
}
@media screen and (min-width: 751px) {
  .p-enquete__catch {
    margin-top: min( 64px, 5vw );
    font-size: min( 25px, 1.953125vw );
  }
}
.p-enquete__catch > span {
  position: relative;
  display: inline-block;
}
.p-enquete__catch > span:before, .p-enquete__catch > span:after {
  position: absolute;
  top: -0.32em;
  width: 2px;
  height: 1.68em;
  background-color: #333;
  content: "";
}
.p-enquete__catch > span:before {
  left: -0.8em;
  transform: rotate(-23deg);
}
.p-enquete__catch > span:after {
  right: -0.8em;
  transform: rotate(23deg);
}
.p-enquete__ttl {
  width: min( 633px, 84.4vw );
  margin: min( 42px, 5.6vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-enquete__ttl {
    width: min( 556px, 43.4375vw );
    margin-top: min( 38px, 2.96875vw );
  }
}
.p-enquete__lead {
  width: min( 520px, 69.3333333333vw );
  margin: min( 26px, 3.4666666667vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-enquete__lead {
    width: min( 902px, 70.46875vw );
    margin-top: min( 32px, 2.5vw );
  }
}
.p-enquete__notes {
  margin-top: min( 36px, 4.8vw );
  display: flex;
  justify-content: center;
}
@media screen and (min-width: 751px) {
  .p-enquete__notes {
    margin-top: min( 32px, 2.5vw );
  }
}
.p-enquete__notes > span {
  display: inline-block;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
  font-size: min( 26px, 3.4666666667vw );
  line-height: 1.6153846154;
}
@media screen and (min-width: 751px) {
  .p-enquete__notes > span {
    font-size: min( 18px, 1.40625vw );
    line-height: 1;
  }
}
.p-enquete__graph {
  width: min( 604px, 80.5333333333vw );
  margin: min( 48px, 6.4vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-enquete__graph {
    width: min( 955px, 74.609375vw );
    margin-top: min( 68px, 5.3125vw );
  }
}
.p-enquete__graph > img {
  display: block;
}
.p-enquete__container {
  width: min( 650px, 86.6666666667vw );
  margin: min( 80px, 10.6666666667vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-enquete__container {
    width: min( 1200px, 93.75vw );
    margin-top: 56px;
  }
}
.p-enquete__sect {
  padding-top: min( 56px, 7.4666666667vw );
  border-radius: min( 25px, 3.3333333333vw );
  overflow: hidden;
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .p-enquete__sect {
    padding-top: min( 64px, 5vw );
    border-radius: min( 25px, 1.953125vw );
  }
}
.p-enquete__sect:not(:first-child) {
  margin-top: min( 50px, 6.6666666667vw );
}
@media screen and (min-width: 751px) {
  .p-enquete__sect:not(:first-child) {
    margin-top: min( 108px, 8.4375vw );
  }
}
.p-enquete__sect__ttl {
  width: min( 486px, 64.8vw );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 751px) {
  .p-enquete__sect__ttl {
    width: min( 713px, 55.703125vw );
  }
}
.p-enquete__sect__ttl > img {
  display: block;
}
.p-enquete__sect__lead {
  margin: min( 24px, 3.2vw ) min( 34px, 4.5333333333vw ) 0;
  text-align: center;
  font-size: min( 30px, 4vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-enquete__sect__lead {
    margin: min( 28px, 2.1875vw ) 0 0;
    font-size: min( 24px, 1.875vw );
  }
}
.p-enquete__sect__lead > span {
  display: block;
  padding: min( 16px, 2.1333333333vw ) 0;
  background-color: #f9f6a2;
}
@media screen and (min-width: 751px) {
  .p-enquete__sect__lead > span {
    display: inline-block;
    padding: min( 18px, 1.40625vw ) min( 32px, 2.5vw );
  }
}
.p-enquete__sect__container {
  margin-top: min( 50px, 6.6666666667vw );
}
@media screen and (min-width: 751px) {
  .p-enquete__sect__container {
    margin-top: min( 62px, 4.84375vw );
  }
}
.p-enquete__sect__bottom {
  padding: min( 35px, 4.6666666667vw ) 0 min( 30px, 4vw );
  margin-top: min( 35px, 4.6666666667vw );
  background-color: #fefdec;
}
@media screen and (min-width: 751px) {
  .p-enquete__sect__bottom {
    padding: min( 40px, 3.125vw ) min( 96px, 7.5vw );
    margin-top: min( 54px, 4.21875vw );
  }
}
.p-enquete__sect__bottom > p {
  text-align: center;
  font-size: min( 28px, 3.7333333333vw );
  line-height: 1.6071428571;
}
@media screen and (min-width: 751px) {
  .p-enquete__sect__bottom > p {
    text-align: left;
    font-size: min( 21px, 1.640625vw );
    line-height: 2.0454545455;
  }
}
.p-enquete__sub {
  padding-left: min( 34px, 4.5333333333vw );
  padding-right: min( 34px, 4.5333333333vw );
}
@media screen and (min-width: 751px) {
  .p-enquete__sub {
    padding-left: min( 70px, 5.46875vw );
    padding-right: min( 70px, 5.46875vw );
  }
}
.p-enquete__sub:not(:first-child) {
  margin-top: min( 82px, 10.9333333333vw );
}
@media screen and (min-width: 751px) {
  .p-enquete__sub:not(:first-child) {
    margin-top: min( 124px, 9.6875vw );
  }
}
.p-enquete__sub__ttl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: min( 170px, 22.6666666667vw );
  padding-bottom: min( 26px, 3.4666666667vw );
  box-sizing: border-box;
  background: url(../images/enquete-pop.png) no-repeat;
  background-size: 100% 100%;
  text-align: center;
  font-size: min( 31px, 4.1333333333vw );
  font-weight: 700;
  line-height: 1.5625;
}
@media screen and (min-width: 751px) {
  .p-enquete__sub__ttl {
    height: min( 119px, 9.296875vw );
    padding-bottom: min( 28px, 2.1875vw );
    background-image: url(../images/enquete-pop-pc.png);
    font-size: min( 26px, 2.03125vw );
  }
}
@media screen and (min-width: 751px) {
  .p-enquete__sub__container {
    display: flex;
    justify-content: space-between;
  }
}
.p-enquete__sub__container:not(:first-child) {
  margin-top: min( 32px, 4.2666666667vw );
}
@media screen and (min-width: 751px) {
  .p-enquete__sub__graph {
    width: 47.5471698113%;
  }
}
.p-enquete__sub__graph:not(:first-child) {
  margin-top: min( 32px, 4.2666666667vw );
}
@media screen and (min-width: 751px) {
  .p-enquete__sub__graph:not(:first-child) {
    margin-top: 0;
  }
}
@media screen and (min-width: 751px) {
  .p-enquete__sub__graph.is-single {
    width: 100%;
  }
}
.p-enquete__sub__txt {
  margin: min( 24px, 3.2vw ) max( -34px, -4.5333333333vw ) 0;
  text-align: center;
  font-size: min( 27px, 3.6vw );
  line-height: 1.6071428571;
}
@media screen and (min-width: 751px) {
  .p-enquete__sub__txt {
    margin: min( 60px, 4.6875vw ) 0 0;
    font-size: min( 22px, 1.71875vw );
    line-height: 1;
  }
}
.p-enquete__sub__txt.is-boxed {
  padding: 0.4285714286em 0 0.5em;
  margin: min( 54px, 7.2vw ) min( 10px, 1.3333333333vw ) 0;
  background-color: #efeeee;
}
.p-enquete__bottom-illust {
  width: min( 616px, 82.1333333333vw );
  margin: min( 56px, 7.4666666667vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-enquete__bottom-illust {
    width: min( 686px, 53.59375vw );
    margin-top: min( 60px, 4.6875vw );
  }
}

/*-----------------------------------------
 * (connect)
 *-----------------------------------------*/
.p-connect {
  position: relative;
  padding-top: min( 50px, 6.6666666667vw );
  padding-bottom: min( 154px, 20.5333333333vw );
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .p-connect {
    padding-top: min( 8px, 0.625vw );
    padding-bottom: min( 156px, 12.1875vw );
    background-color: transparent;
  }
}
.p-connect > p {
  text-align: center;
  font-size: min( 30px, 4vw );
  line-height: 1.8333333333;
}
@media screen and (min-width: 751px) {
  .p-connect > p {
    font-size: min( 22px, 1.71875vw );
    line-height: 2.2727272727;
  }
}
.p-connect > p > strong {
  font-size: min( 34px, 4.5333333333vw );
  font-weight: 700;
}
@media screen and (min-width: 751px) {
  .p-connect > p > strong {
    font-size: min( 24px, 1.875vw );
  }
}
.p-connect:after {
  position: absolute;
  left: calc(50% - min( 69px, 9.2vw ));
  bottom: min( 42px, 5.6vw );
  width: min( 138px, 18.4vw );
  height: min( 70px, 9.3333333333vw );
  background-color: #373938;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}
@media screen and (min-width: 751px) {
  .p-connect:after {
    left: calc(50% - min( 69px, 5.390625vw ));
    bottom: min( 68px, 5.3125vw );
    width: min( 114px, 8.90625vw );
    height: min( 58px, 4.53125vw );
  }
}

/*-----------------------------------------
 * torisetsu
 *-----------------------------------------*/
.p-torisetsu {
  padding-bottom: min( 144px, 19.2vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu {
    padding-bottom: min( 158px, 12.34375vw );
  }
}
.p-torisetsu__heading {
  padding-top: min( 36px, 4.8vw );
  background-color: #fef97d;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__heading {
    padding-top: min( 36px, 2.8125vw );
  }
}
.p-torisetsu__catch01 {
  text-align: center;
  color: #2fa18b;
  font-size: min( 25px, 3.3333333333vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__catch01 {
    font-size: min( 24px, 1.875vw );
  }
}
.p-torisetsu__catch01 > span {
  position: relative;
  display: inline-block;
}
.p-torisetsu__catch01 > span:before, .p-torisetsu__catch01 > span:after {
  position: absolute;
  top: -0.25em;
  width: 0.125em;
  height: 1.5833333333em;
  background-color: #50bca7;
  content: "";
}
.p-torisetsu__catch01 > span:before {
  left: -1em;
  transform: rotate(-25deg);
}
.p-torisetsu__catch01 > span:after {
  right: -1em;
  transform: rotate(25deg);
}
.p-torisetsu__catch02 {
  margin-top: min( 26px, 3.4666666667vw );
  text-align: center;
  color: #2fa18b;
  font-size: min( 37px, 4.9333333333vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__catch02 {
    margin-top: min( 26px, 2.03125vw );
    font-size: min( 36px, 2.8125vw );
  }
}
.p-torisetsu__ttl {
  width: min( 616px, 82.1333333333vw );
  margin: min( 28px, 3.7333333333vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__ttl {
    width: min( 578px, 45.15625vw );
    margin-top: min( 32px, 2.5vw );
  }
}
.p-torisetsu__ttl > img {
  display: block;
}
.p-torisetsu__lead {
  width: min( 678px, 90.4vw );
  margin: min( 14px, 1.8666666667vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__lead {
    width: min( 610px, 47.65625vw );
    margin-top: min( 16px, 1.25vw );
  }
}
.p-torisetsu__lead > img {
  display: block;
}
.p-torisetsu__txt {
  margin-top: min( 36px, 4.8vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu__txt {
    margin-top: min( 48px, 3.75vw );
  }
}
.p-torisetsu__txt > p {
  text-align: center;
  font-size: min( 28px, 3.7333333333vw );
  line-height: 1.7857142857;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__txt > p {
    font-size: min( 22px, 1.71875vw );
    line-height: 2.2727272727;
  }
}
.p-torisetsu__txt > p:not(:first-child) {
  margin-top: 0.7142857143em;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__txt > p:not(:first-child) {
    margin-top: 0;
  }
}
.p-torisetsu__container {
  width: min( 660px, 88vw );
  margin: min( 40px, 5.3333333333vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__container {
    display: flex;
    flex-wrap: wrap;
    -moz-column-gap: 4.8092868988%;
         column-gap: 4.8092868988%;
    row-gap: min( 72px, 5.625vw );
    width: min( 1206px, 94.21875vw );
    margin-top: min( 48px, 3.75vw );
  }
}
.p-torisetsu__sect {
  display: flex;
  flex-direction: column;
}
@media not screen and (min-width: 751px) {
  .p-torisetsu__sect:not(:first-child) {
    margin-top: min( 40px, 5.3333333333vw );
  }
  .p-torisetsu__sect:nth-child(n+6) {
    display: none;
  }
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect {
    width: 47.5953565506%;
  }
  .p-torisetsu__sect:nth-child(n+5) {
    display: none;
  }
}
.p-torisetsu__sect:before {
  display: block;
  width: 100%;
  height: min( 30px, 4vw );
  background: url(../images/torisetsu-box-top.png) no-repeat center bottom;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect:before {
    height: min( 28px, 2.1875vw );
  }
}
.p-torisetsu__sect:after {
  display: block;
  width: 100%;
  height: min( 32px, 4.2666666667vw );
  margin-top: -1px;
  background: url(../images/torisetsu-box-bottom.png) no-repeat center top;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect:after {
    height: min( 30px, 2.34375vw );
  }
}
.p-torisetsu__sect__box {
  position: relative;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  padding: min( 30px, 4vw ) min( 54px, 7.2vw ) min( 26px, 3.4666666667vw );
  background: url(../images/torisetsu-box-center.png) repeat-y center top;
  background-size: 100% auto;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__box {
    padding: min( 34px, 2.65625vw ) min( 42px, 3.28125vw ) min( 36px, 2.8125vw );
  }
}
.p-torisetsu__sect__num {
  position: absolute;
  left: min( 630px, 84vw );
  top: min( 20px, 2.6666666667vw );
  color: #1fa79f;
  font-size: min( 26px, 3.4666666667vw );
  line-height: 1;
  white-space: nowrap;
  opacity: 0.6;
  transform: rotate(90deg);
  transform-origin: left top;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__num {
    left: min( 540px, 42.1875vw );
    top: min( 12px, 0.9375vw );
    font-size: min( 20px, 1.5625vw );
  }
}
.p-torisetsu__sect__num > span {
  color: #000;
}
.p-torisetsu__sect__ttl {
  width: min( 553px, 73.7333333333vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__ttl {
    flex: 1 1 auto;
    width: min( 472px, 36.875vw );
  }
}
.p-torisetsu__sect__ttl > img {
  display: block;
}
.p-torisetsu__sect__txt {
  margin-top: min( 28px, 3.7333333333vw );
  border-bottom: 1px solid #ebe6e0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__txt {
    margin-top: min( 24px, 1.875vw );
  }
}
.p-torisetsu__sect__txt > p {
  background: linear-gradient(#ebe6e0 1px, transparent 1px);
  background-size: auto 2.0769230769em;
  font-size: min( 25px, 3.3333333333vw );
  line-height: 2.0769230769;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__txt > p {
    font-size: min( 22px, 1.71875vw );
  }
}
.p-torisetsu__sect__link {
  margin-top: min( 25px, 3.3333333333vw );
  padding: 0 min( 6px, 0.8vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__link {
    margin-top: min( 25px, 1.953125vw );
    padding: 0;
  }
}
.p-torisetsu__sect__link > a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: min( 90px, 12vw );
  padding-right: min( 12px, 1.6vw );
  box-sizing: border-box;
  border-radius: min( 45px, 6vw );
  background-color: #1fa79f;
  text-decoration: none;
  color: #fff;
  font-size: min( 28px, 3.7333333333vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__link > a {
    height: min( 78px, 6.09375vw );
    padding-right: 0;
    border-radius: min( 39px, 3.046875vw );
    font-size: min( 22px, 1.71875vw );
  }
}
.p-torisetsu__sect__link > a:after {
  position: absolute;
  right: min( 36px, 4.8vw );
  top: calc(50% - min( 6px, 0.8vw ));
  width: min( 20px, 2.6666666667vw );
  height: min( 11px, 1.4666666667vw );
  background: url(../images/torisetsu-arw.svg) no-repeat;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu__sect__link > a:after {
    right: min( 44px, 3.4375vw );
    top: calc(50% - min( 5px, 0.390625vw ));
    width: min( 18px, 1.40625vw );
    height: min( 10px, 0.78125vw );
  }
}
@-webkit-keyframes anim-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes anim-fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media not screen and (min-width: 751px) {
  .p-torisetsu.is-expanded .p-torisetsu__sect:nth-child(n+6) {
    display: flex;
    -webkit-animation: anim-fadein 0.5s forwards;
            animation: anim-fadein 0.5s forwards;
  }
}
@media screen and (min-width: 751px) {
  .p-torisetsu.is-expanded .p-torisetsu__sect:nth-child(n+5) {
    display: flex;
    -webkit-animation: anim-fadein 0.5s forwards;
            animation: anim-fadein 0.5s forwards;
  }
}
.p-torisetsu__more {
  display: flex;
  justify-content: center;
  margin-top: min( 60px, 8vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu__more {
    margin-top: min( 48px, 3.75vw );
  }
}
.p-torisetsu__more > button {
  position: relative;
  display: inline-block;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: min( 30px, 4vw ) min( 90px, 12vw ) min( 30px, 4vw ) min( 66px, 8.8vw );
  border: 1px solid #333;
  outline: 0;
  background: #fff;
  font-size: min( 24px, 3.2vw );
  line-height: 1;
  transition: opacity 0.2s;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .p-torisetsu__more > button {
    padding: min( 28px, 2.1875vw ) min( 83px, 6.484375vw ) min( 28px, 2.1875vw ) min( 65px, 5.078125vw );
    font-size: min( 20px, 1.5625vw );
  }
}
.p-torisetsu__more > button:after {
  position: absolute;
  right: min( 36px, 4.8vw );
  top: calc(50% - min( 17px, 2.2666666667vw ));
  width: min( 30px, 4vw );
  height: min( 34px, 4.5333333333vw );
  background: url(../images/torisetsu-more.png) no-repeat;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu__more > button:after {
    right: min( 54px, 4.21875vw );
    top: calc(50% - min( 9px, 0.703125vw ));
    width: min( 18px, 1.40625vw );
    height: min( 18px, 1.40625vw );
  }
}
.p-torisetsu__more > button:hover {
  opacity: 0.7;
}
.p-torisetsu.is-expanded .p-torisetsu__more {
  display: none;
}

/* modal */
.p-torisetsu-modal:before {
  display: block;
  width: 100%;
  height: min( 30px, 4vw );
  margin-bottom: -1px;
  background: url(../images/torisetsu-box-top.png) no-repeat center bottom;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal:before {
    height: min( 26px, 2.03125vw );
  }
}
.p-torisetsu-modal:after {
  display: block;
  width: 100%;
  height: min( 32px, 4.2666666667vw );
  margin-top: -1px;
  background: url(../images/torisetsu-box-bottom.png) no-repeat center top;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal:after {
    height: min( 28px, 2.1875vw );
  }
}
.p-torisetsu-modal__box {
  position: relative;
  padding: min( 30px, 4vw ) min( 50px, 6.6666666667vw ) min( 26px, 3.4666666667vw );
  background: url(../images/torisetsu-box-center.png) repeat-y center top;
  background-size: 100% auto;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__box {
    padding: min( 28px, 2.1875vw ) min( 45px, 3.515625vw ) min( 22px, 1.71875vw );
  }
}
.p-torisetsu-modal__num {
  position: absolute;
  left: min( 630px, 84vw );
  top: min( 20px, 2.6666666667vw );
  color: #1fa79f;
  font-size: min( 26px, 3.4666666667vw );
  line-height: 1;
  white-space: nowrap;
  opacity: 0.6;
  transform: rotate(90deg);
  transform-origin: left top;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__num {
    left: min( 540px, 42.1875vw );
    top: min( 20px, 1.5625vw );
    font-size: min( 20px, 1.5625vw );
  }
}
.p-torisetsu-modal__num > span {
  color: #000;
}
.p-torisetsu-modal__ttl {
  width: min( 553px, 73.7333333333vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__ttl {
    width: min( 448px, 35vw );
  }
}
.p-torisetsu-modal__ttl > img {
  display: block;
}
.p-torisetsu-modal__txt {
  margin-top: min( 28px, 3.7333333333vw );
  border-bottom: 1px solid #ebe6e0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__txt {
    margin-top: min( 32px, 2.5vw );
  }
}
.p-torisetsu-modal__txt > p {
  background: linear-gradient(#ebe6e0 1px, transparent 1px);
  background-size: auto 2.0769230769em;
  font-size: min( 25px, 3.3333333333vw );
  line-height: 2.0769230769;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__txt > p {
    padding-left: 0.3636363636em;
    padding-right: 0.3636363636em;
    font-size: min( 22px, 1.71875vw );
  }
}
.p-torisetsu-modal__detail {
  margin-top: min( 68px, 9.0666666667vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__detail {
    margin-top: min( 68px, 5.3125vw );
  }
}
.p-torisetsu-modal__sect:not(:first-child) {
  margin-top: min( 68px, 9.0666666667vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect:not(:first-child) {
    margin-top: min( 60px, 4.6875vw );
  }
}
.p-torisetsu-modal__sect__catch {
  text-align: center;
  color: #df8717;
  font-size: min( 34px, 4.5333333333vw );
  font-weight: 700;
  line-height: 1.5294117647;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__catch {
    font-size: min( 29px, 2.265625vw );
    line-height: 1.5172413793;
  }
}
.p-torisetsu-modal__sect__ttl {
  position: relative;
  padding: min( 24px, 3.2vw ) 0;
  border-radius: min( 44px, 5.8666666667vw );
  background-color: #fdf88f;
  text-align: center;
  font-size: min( 28px, 3.7333333333vw );
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl {
    padding: min( 18px, 1.40625vw ) 0 min( 22px, 1.71875vw );
    border-radius: min( 38px, 2.96875vw );
    font-size: min( 23px, 1.796875vw );
    line-height: 1.5217391304;
  }
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl:has(span) {
    padding-top: min( 32px, 2.5vw );
  }
}
.p-torisetsu-modal__sect__ttl.is-multi {
  border-radius: min( 64px, 8.5333333333vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl.is-multi {
    border-radius: min( 55px, 4.296875vw );
  }
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl.is-multi:has(span) {
    border-radius: min( 62px, 4.84375vw );
  }
}
.p-torisetsu-modal__sect__ttl.is-triple {
  border-radius: min( 82px, 10.9333333333vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl.is-triple {
    border-radius: min( 73px, 5.703125vw );
  }
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl.is-triple:has(span) {
    border-radius: min( 80px, 6.25vw );
  }
}
.p-torisetsu-modal__sect__ttl:not(:first-child) {
  margin-top: min( 56px, 7.4666666667vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl:not(:first-child) {
    margin-top: min( 68px, 5.3125vw );
  }
}
.p-torisetsu-modal__sect__ttl > span {
  position: absolute;
  left: 50%;
  top: max( -35px, -4.6666666667vw );
  display: inline-block;
  padding: 0.5925925926em 1.0740740741em;
  border-radius: 1.2962962963em;
  background-color: #fdf88f;
  font-size: min( 27px, 3.6vw );
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
  transform: translateX(-50%);
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__ttl > span {
    top: max( -22px, -1.71875vw );
    font-size: min( 22px, 1.71875vw );
  }
}
.p-torisetsu-modal__sect__graph {
  position: relative;
  margin-top: min( 32px, 4.2666666667vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__graph {
    margin-top: min( 36px, 2.8125vw );
  }
}
.p-torisetsu-modal__sect__graph > figcaption {
  position: absolute;
  right: 0;
  top: 100%;
  font-size: min( 22px, 2.9333333333vw );
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__graph > figcaption {
    font-size: min( 16px, 1.25vw );
  }
}
.p-torisetsu-modal__sect__graph.is-full {
  margin-left: max( -45px, -6vw );
  margin-right: max( -45px, -6vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__graph.is-full {
    margin-left: max( -42px, -3.28125vw );
    margin-right: max( -42px, -3.28125vw );
  }
}
.p-torisetsu-modal__sect__graph.is-full > figcaption {
  right: min( 45px, 6vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__graph.is-full > figcaption {
    right: min( 42px, 3.28125vw );
  }
}
.p-torisetsu-modal__sect__graph > img {
  display: block;
}
.p-torisetsu-modal__sect__txt {
  margin-top: min( 40px, 5.3333333333vw );
  border-bottom: 1px solid #ebe6e0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__txt {
    margin-top: min( 36px, 2.8125vw );
  }
}
.p-torisetsu-modal__sect__txt > p {
  background: linear-gradient(#ebe6e0 1px, transparent 1px);
  background-size: auto 2.0769230769em;
  font-size: min( 25px, 3.3333333333vw );
  line-height: 2.0769230769;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__txt > p {
    padding-left: 0.3636363636em;
    padding-right: 0.3636363636em;
    font-size: min( 22px, 1.71875vw );
  }
}
.p-torisetsu-modal__sect__txt > p em {
  color: #b00101;
  font-style: normal;
}
.p-torisetsu-modal__sect__graph:has(figcaption) + .p-torisetsu-modal__sect__txt {
  margin-top: min( 56px, 7.4666666667vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__sect__graph:has(figcaption) + .p-torisetsu-modal__sect__txt {
    margin-top: min( 72px, 5.625vw );
  }
}
.p-torisetsu-modal__advice {
  position: relative;
  margin-top: min( 116px, 15.4666666667vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice {
    margin-top: min( 110px, 8.59375vw );
  }
}
.p-torisetsu-modal__advice__ttl {
  position: absolute;
  left: 0;
  right: 0;
  top: max( -48px, -6.4vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__ttl {
    top: max( -41px, -3.203125vw );
  }
}
.p-torisetsu-modal__advice__ttl > span {
  display: block;
  width: min( 260px, 34.6666666667vw );
  padding-top: min( 23px, 3.0666666667vw );
  margin: 0 auto;
  border-radius: min( 53px, 7.0666666667vw ) min( 53px, 7.0666666667vw ) 0 0;
  background-color: #fdf88f;
  text-align: center;
  font-size: min( 26px, 3.4666666667vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__ttl > span {
    width: min( 230px, 17.96875vw );
    padding-top: min( 20px, 1.5625vw );
    border-radius: min( 47px, 3.671875vw ) min( 47px, 3.671875vw ) 0 0;
    font-size: min( 23px, 1.796875vw );
  }
}
.p-torisetsu-modal__advice__ttl > strong {
  display: block;
  margin-top: min( 32px, 4.2666666667vw );
  text-align: center;
  color: #df8717;
  font-size: min( 36px, 4.8vw );
  font-weight: 900;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__ttl > strong {
    margin-top: min( 30px, 2.34375vw );
    font-size: min( 32px, 2.5vw );
  }
}
.p-torisetsu-modal__advice__box {
  padding: min( 98px, 13.0666666667vw ) min( 40px, 5.3333333333vw ) 0;
  border-radius: min( 20px, 2.6666666667vw );
  background-color: #fdf88f;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__box {
    padding: min( 86px, 6.71875vw ) min( 36px, 2.8125vw ) 0;
    border-radius: min( 20px, 1.5625vw );
  }
}
.p-torisetsu-modal__advice__txt {
  position: relative;
  padding: min( 20px, 2.6666666667vw ) min( 32px, 4.2666666667vw );
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__txt {
    padding: min( 20px, 1.5625vw ) min( 38px, 2.96875vw );
  }
}
.p-torisetsu-modal__advice__txt > p {
  font-size: min( 25px, 3.3333333333vw );
  line-height: 1.7307692308;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__txt > p {
    font-size: min( 22px, 2.9333333333vw );
    line-height: 1.8181818182;
  }
}
.p-torisetsu-modal__advice__txt:after {
  position: absolute;
  left: calc(50% - min( 22.5px, 3vw ));
  top: 100%;
  width: min( 45px, 6vw );
  height: min( 23px, 3.0666666667vw );
  background-color: #fff;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  content: "";
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__txt:after {
    left: calc(50% - min( 21px, 1.640625vw ));
    width: min( 42px, 3.28125vw );
    height: min( 21px, 1.640625vw );
  }
}
.p-torisetsu-modal__advice__illust {
  width: min( 206px, 27.4666666667vw );
  margin: min( 36px, 4.8vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__advice__illust {
    width: min( 185px, 14.453125vw );
    margin-top: min( 34px, 2.65625vw );
  }
}
.p-torisetsu-modal__advice__illust > img {
  display: block;
}
.p-torisetsu-modal__close {
  display: flex;
  justify-content: center;
  margin-top: min( 52px, 6.9333333333vw );
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__close {
    margin-top: min( 52px, 4.0625vw );
  }
}
.p-torisetsu-modal__close > button {
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: min( 400px, 53.3333333333vw );
  height: min( 90px, 12vw );
  border: 2px solid #1fa79f;
  border-radius: min( 45px, 6vw );
  outline: 0;
  background: #fff;
  color: #222;
  font-size: min( 28px, 3.7333333333vw );
  font-weight: 700;
  line-height: 1;
  transition: opacity 0.2s;
  cursor: pointer;
}
@media screen and (min-width: 751px) {
  .p-torisetsu-modal__close > button {
    width: min( 356px, 27.8125vw );
    height: min( 78px, 6.09375vw );
    border-radius: min( 39px, 3.046875vw );
    font-size: min( 22px, 1.71875vw );
  }
}
.p-torisetsu-modal__close > button:hover {
  opacity: 0.7;
}
.p-torisetsu-modal__close > button:before {
  display: inline-block;
  width: 0.8928571429em;
  height: 0.8928571429em;
  margin: -0.0714285714em 0.5357142857em 0 0;
  background: url(../images/torisetsu-close.png) no-repeat;
  background-size: 100% 100%;
  content: "";
}

/*-----------------------------------------
 * campaign
 *-----------------------------------------*/
.p-campaign {
  position: relative;
  padding-top: min( 125px, 16.6666666667vw );
  padding-bottom: min( 88px, 11.7333333333vw );
  background-color: #fffee5;
}
@media screen and (min-width: 751px) {
  .p-campaign {
    padding-top: min( 118px, 9.21875vw );
    padding-bottom: min( 126px, 9.84375vw );
  }
}
.p-campaign:before {
  position: absolute;
  left: calc(50% - min( 90px, 12vw ));
  top: max( -90px, -12vw );
  width: min( 180px, 24vw );
  height: min( 180px, 24vw );
  background: url(../images/campaign-plus.png) no-repeat;
  background-size: 100% 100%;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-campaign:before {
    left: calc(50% - min( 90px, 7.03125vw ));
    top: max( -90px, -7.03125vw );
    width: min( 180px, 14.0625vw );
    height: min( 180px, 14.0625vw );
  }
}
.p-campaign__ttl {
  text-align: center;
  color: #2fa18b;
  font-size: min( 46px, 6.1333333333vw );
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (min-width: 751px) {
  .p-campaign__ttl {
    font-size: min( 42px, 3.28125vw );
  }
}
.p-campaign__ttl > span {
  display: inline-block;
  padding: 0.5em 1em;
  margin-bottom: 0.8em;
  border: 1px solid #1fa79f;
  background-color: #fff;
  color: #1fa79f;
  font-size: min( 36px, 4.8vw );
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-campaign__ttl > span {
    border-width: 2px;
    font-size: min( 32px, 4.2666666667vw );
  }
}
.p-campaign__ttl > strong {
  font-size: min( 74px, 9.8666666667vw );
}
@media screen and (min-width: 751px) {
  .p-campaign__ttl > strong {
    font-size: min( 70px, 5.46875vw );
  }
}
.p-campaign__product {
  width: min( 686px, 91.4666666667vw );
  margin: min( 36px, 4.8vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-campaign__product {
    width: min( 796px, 106.1333333333vw );
    margin-top: min( 28px, 3.7333333333vw );
  }
}
.p-campaign__product > img {
  display: block;
}
.p-campaign__txt {
  margin-top: min( 42px, 5.6vw );
}
@media screen and (min-width: 751px) {
  .p-campaign__txt {
    margin-top: min( 60px, 4.6875vw );
  }
}
.p-campaign__txt > p {
  text-align: center;
  font-size: min( 28px, 3.7333333333vw );
  line-height: 1.6071428571;
}
@media screen and (min-width: 751px) {
  .p-campaign__txt > p {
    font-size: min( 22px, 1.71875vw );
    line-height: 2.2727272727;
  }
}
.p-campaign__txt > p:not(:first-child) {
  margin-top: 1.6071428571em;
}
@media screen and (min-width: 751px) {
  .p-campaign__txt > p:not(:first-child) {
    margin-top: 0;
  }
}
.p-campaign__steps {
  width: min( 650px, 86.6666666667vw );
  margin: min( 44px, 5.8666666667vw ) auto 0;
}
@media screen and (min-width: 751px) {
  .p-campaign__steps {
    width: min( 840px, 65.625vw );
    margin-top: min( 32px, 2.5vw );
  }
}
.p-campaign__steps > dl {
  border: 2px solid #333;
}
@media screen and (min-width: 751px) {
  .p-campaign__steps > dl {
    border-width: 1px;
  }
}
.p-campaign__steps > dl > dt:not(:first-child), .p-campaign__steps > dl > dd:not(:first-child) {
  border-top: 1px solid #333;
}
.p-campaign__steps > dl > dt {
  padding: 0.7692307692em 0.9230769231em;
  background-color: #e8f5f4;
  font-size: min( 26px, 3.4666666667vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-campaign__steps > dl > dt {
    font-size: min( 20px, 1.5625vw );
  }
}
.p-campaign__steps > dl > dd {
  padding: 0.8461538462em 0.9230769231em;
  background-color: #fff;
  font-size: min( 26px, 3.4666666667vw );
  line-height: 1.7307692308;
}
@media screen and (min-width: 751px) {
  .p-campaign__steps > dl > dd {
    font-size: min( 17px, 1.328125vw );
  }
}
.p-campaign__cta {
  display: flex;
  justify-content: center;
  padding-left: min( 48px, 6.4vw );
  padding-right: min( 48px, 6.4vw );
  margin-top: min( 64px, 8.5333333333vw );
}
@media screen and (min-width: 751px) {
  .p-campaign__cta {
    width: min( 460px, 35.9375vw );
    padding-left: 0;
    padding-right: 0;
    margin: min( 76px, 5.9375vw ) auto 0;
  }
}

/*-----------------------------------------
 * reason
 *-----------------------------------------*/
.p-reason {
  padding-top: min( 70px, 9.3333333333vw );
  padding-bottom: min( 46px, 6.1333333333vw );
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .p-reason {
    padding-top: min( 70px, 5.46875vw );
    padding-bottom: min( 46px, 3.59375vw );
  }
}
.p-reason__ttl {
  text-align: center;
  color: #2fa18b;
  font-size: min( 48px, 6.4vw );
  font-weight: 700;
  line-height: 1.25;
}
@media screen and (min-width: 751px) {
  .p-reason__ttl {
    font-size: min( 46px, 3.59375vw );
  }
}
.p-reason__ttl > span {
  display: inline-block;
  padding-bottom: min( 32px, 4.2666666667vw );
  margin-bottom: min( 12px, 1.6vw );
  background: url(../images/reason-ttl-arw.png) no-repeat center bottom;
  background-size: min( 291px, 38.8vw ) auto;
  font-size: min( 32px, 4.2666666667vw );
}
@media screen and (min-width: 751px) {
  .p-reason__ttl > span {
    padding-bottom: min( 32px, 2.5vw );
    margin-bottom: min( 12px, 0.9375vw );
    background-size: min( 310px, 24.21875vw ) auto;
    font-size: min( 31px, 2.421875vw );
  }
}
.p-reason__ttl > strong {
  font-size: min( 62px, 8.2666666667vw );
}
@media screen and (min-width: 751px) {
  .p-reason__ttl > strong {
    font-size: min( 58px, 4.53125vw );
  }
}
.p-reason__container {
  margin-top: min( 48px, 6.4vw );
}
@media screen and (min-width: 751px) {
  .p-reason__container {
    width: min( 1200px, 93.75vw );
    margin: min( 48px, 3.75vw ) auto 0;
  }
}
.p-reason__sect {
  position: relative;
  padding: 0 min( 50px, 6.6666666667vw ) min( 60px, 8vw );
}
@media screen and (min-width: 751px) {
  .p-reason__sect {
    padding: min( 156px, 12.1875vw ) min( 42px, 3.28125vw ) min( 64px, 5vw );
  }
  .p-reason__sect:nth-child(2n+1) {
    padding-right: min( 615px, 48.046875vw );
  }
  .p-reason__sect:nth-child(2n) {
    padding-left: min( 615px, 48.046875vw );
  }
  .p-reason__sect:nth-child(3) {
    padding-bottom: min( 104px, 8.125vw );
  }
}
.p-reason__sect:before {
  position: absolute;
  left: 0;
  right: 0;
  top: min( 174px, 23.2vw );
  bottom: 0;
  background-color: #e2f2f0;
  content: "";
}
@media screen and (min-width: 751px) {
  .p-reason__sect:before {
    top: min( 78px, 6.09375vw );
  }
}
@media screen and (min-width: 751px) {
  .p-reason__sect:nth-child(2n+1):before {
    right: min( 446px, 34.84375vw );
  }
  .p-reason__sect:nth-child(2n):before {
    left: min( 442px, 34.53125vw );
  }
}
.p-reason__sect:not(:first-child) {
  margin-top: min( 92px, 12.2666666667vw );
}
@media screen and (min-width: 751px) {
  .p-reason__sect:not(:first-child) {
    margin-top: min( 120px, 9.375vw );
  }
}
.p-reason__sect__img {
  position: relative;
}
@media screen and (min-width: 751px) {
  .p-reason__sect__img {
    position: absolute;
    top: 0;
    width: min( 565px, 44.140625vw );
  }
}
.p-reason__sect__img > img {
  display: block;
}
@media screen and (min-width: 751px) {
  .p-reason__sect:nth-child(2n+1) .p-reason__sect__img {
    right: 0;
  }
  .p-reason__sect:nth-child(2n) .p-reason__sect__img {
    left: 0;
  }
}
.p-reason__sect__ttl {
  position: relative;
  padding-left: min( 122px, 16.2666666667vw );
  margin-top: min( 44px, 5.8666666667vw );
  font-size: min( 32px, 4.2666666667vw );
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  line-height: 1.5625;
}
@media screen and (min-width: 751px) {
  .p-reason__sect__ttl {
    margin-top: 0;
    padding-left: min( 134px, 10.46875vw );
    font-size: min( 28px, 2.1875vw );
    line-height: 1.6428571429;
  }
}
.p-reason__sect__ttl > span {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: min( 98px, 13.0666666667vw );
  height: min( 98px, 13.0666666667vw );
  border-radius: min( 49px, 6.5333333333vw );
  background-color: #fff;
  color: #2da89c;
  font-size: min( 30px, 4vw );
  font-weight: 700;
  line-height: 1;
}
@media screen and (min-width: 751px) {
  .p-reason__sect__ttl > span {
    top: calc(50% - min( 49px, 3.828125vw ));
    width: min( 98px, 7.65625vw );
    height: min( 98px, 7.65625vw );
    border-radius: min( 49px, 3.828125vw );
    font-size: min( 26px, 2.03125vw );
  }
}
.p-reason__sect__txt {
  position: relative;
  margin-top: min( 32px, 4.2666666667vw );
  font-size: min( 28px, 3.7333333333vw );
  line-height: 1.7142857143;
}
@media screen and (min-width: 751px) {
  .p-reason__sect__txt {
    margin-top: min( 22px, 1.71875vw );
    font-size: min( 20px, 1.5625vw );
    line-height: 2;
  }
}
.p-reason__message {
  padding-top: min( 64px, 8.5333333333vw );
}
@media screen and (min-width: 751px) {
  .p-reason__message {
    padding-top: min( 80px, 6.25vw );
  }
}
.p-reason__message__illust {
  width: min( 624px, 83.2vw );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 751px) {
  .p-reason__message__illust {
    width: min( 544px, 42.5vw );
  }
}
.p-reason__message__illust > img {
  display: block;
}
.p-reason__message__txt {
  margin-top: min( 52px, 6.9333333333vw );
}
@media screen and (min-width: 751px) {
  .p-reason__message__txt {
    margin-top: min( 40px, 3.125vw );
  }
}
.p-reason__message__txt > p {
  text-align: center;
  font-size: min( 32px, 4.2666666667vw );
  line-height: 1.71875;
}
@media screen and (min-width: 751px) {
  .p-reason__message__txt > p {
    font-size: min( 22px, 1.71875vw );
    line-height: 2.2727272727;
  }
}
.p-reason__message__txt > p:not(:first-child) {
  margin-top: 1em;
}
@media screen and (min-width: 751px) {
  .p-reason__message__txt > p:not(:first-child) {
    margin-top: 0;
  }
}
.p-reason__cta {
  display: flex;
  justify-content: center;
  padding-left: min( 48px, 6.4vw );
  padding-right: min( 48px, 6.4vw );
  margin-top: min( 78px, 10.4vw );
}
@media screen and (min-width: 751px) {
  .p-reason__cta {
    width: min( 460px, 35.9375vw );
    padding-left: 0;
    padding-right: 0;
    margin: min( 50px, 3.90625vw ) auto 0;
  }
}

/*-----------------------------------------
 * corpo
 *-----------------------------------------*/
.p-corpo {
  padding: min( 68px, 9.0666666667vw ) min( 50px, 6.6666666667vw );
  background-color: #fff;
}
@media screen and (min-width: 751px) {
  .p-corpo {
    padding: min( 48px, 3.75vw ) min( 50px, 3.90625vw ) min( 116px, 9.0625vw );
  }
}
.p-corpo__logo {
  width: min( 286px, 38.1333333333vw );
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 751px) {
  .p-corpo__logo {
    width: 233px;
  }
}
.p-corpo__data {
  width: 100%;
  margin-top: min( 40px, 5.3333333333vw );
  border-top: 1px solid #888;
  font-size: min( 26px, 3.4666666667vw );
  line-height: 1.5;
}
@media screen and (min-width: 751px) {
  .p-corpo__data {
    max-width: 800px;
    margin: 34px auto 0;
    font-size: 18px;
    line-height: 1;
  }
}
.p-corpo__data th,
.p-corpo__data td {
  padding-top: 1.2307692308em;
  padding-bottom: 1.2307692308em;
  border-bottom: 1px solid #888;
  text-align: left;
}
@media screen and (min-width: 751px) {
  .p-corpo__data th,
.p-corpo__data td {
    padding-top: 1.7777777778em;
    padding-bottom: 1.7777777778em;
  }
}
.p-corpo__data th {
  padding-left: 0.5384615385em;
  padding-right: 0.5384615385em;
  font-weight: 500;
}
@media screen and (min-width: 751px) {
  .p-corpo__data th {
    padding-left: min( 188px, 14.6875vw );
    padding-right: 0;
  }
}
.p-corpo__data td {
  padding-left: 1.0769230769em;
  padding-right: 0.5384615385em;
  font-weight: 400;
}
@media screen and (min-width: 751px) {
  .p-corpo__data td {
    padding-left: 3em;
    padding-right: 1em;
  }
}