@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap";
*, *:before, *:after {
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, p, blockquote, th, td {
  margin: 0;
  padding: 0
}

article, aside, details, summary, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
  display: block
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 700
}

blockquote, q {
  quotes: none
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none
}

ins {
  background-color: #ff9;
  color: #333;
  text-decoration: none
}

mark {
  background-color: rgba(0, 0, 0, 0);
  font-style: normal;
  font-weight: inherit;
  color: inherit
}

del {
  text-decoration: line-through
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%
}

caption, th {
  text-align: left
}

ol, ul {
  list-style: none
}

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: inherit
}

img, abbr, acronym, fieldset {
  border: 0
}

a img {
  border: 0
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden
}

hr, legend {
  display: none
}

audio, canvas, progress, video {
  display: inline-block
}

audio:not([controls]) {
  display: none;
  height: 0
}

sup {
  font-size: 75%;
  vertical-align: top
}

sub {
  font-size: 75%;
  vertical-align: bottom
}

input, select {
  vertical-align: middle
}

input, textarea {
  margin: 0;
  font-size: 100%
}

input, select, textarea, button {
  outline: none;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit
}

input::-ms-clear {
  visibility: hidden
}

input[type=text], input[type=tel], input[type=url], input[type=email], input[type=number], input[type=password], textarea {
  font-size: 16px
}

input[type=button], input[type=submit], input[type=text], input[type=tel], input[type=url], input[type=email], input[type=number], input[type=password], textarea, button {
  -webkit-appearance: none;
  border-radius: 0
}

input[type=submit], input[type=button], button {
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  outline: none;
  background-color: rgba(0, 0, 0, 0);
  border: none
}

input[type=submit]::-webkit-search-decoration, input[type=button]::-webkit-search-decoration, input[type=search]::-webkit-search-decoration {
  display: none
}

input[type=submit]::focus, input[type=button]::focus {
  outline-offset: -2px
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0
}

input[type=number] {
  -moz-appearance: textfield
}

input[type=search] {
  -webkit-appearance: textfield;
  -webkit-box-sizing: content-box
}

input[type=search]:focus {
  outline-offset: -2px
}

label {
  cursor: pointer
}

summary {
  list-style: none;
  cursor: pointer
}

summary::-webkit-details-marker {
  display: none
}

html, body {
  width: 100%
}

html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-family: sans-serif;
  font-size: 15px;
  cursor: default
}

body {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.2;
  font-size: 15px;
  font-weight: 400;
  color: #333;
  background-color: #fff;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale
}

@media print {
  body {
    overflow-y: visible;
    overflow-x: visible
  }
}

strong, b {
  font-weight: 700
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: rgba(0, 0, 0, 0);
  text-decoration: none;
  outline: none;
  color: #333
}

@media screen and (min-width: 768px) {
  .sp {
    display: none !important
  }
  body {
    min-width: 1000px
  }
}

@media screen and (max-width: 767px) {
  .pc {
    display: none !important
  }
}

.l-foot {
  color: #fff;
  background: #0078c8
}

.l-foot__copyright {
  text-align: center;
  font-weight: 500
}

@media screen and (min-width: 768px) {
  .l-foot {
    padding: 25px 0
  }
  .l-foot__copyright {
    font-size: .9333333333rem
  }
}

@media screen and (max-width: 767px) {
  .l-foot {
    padding: 4.5vw 0
  }
  .l-foot__copyright {
    font-size: 3.5vw
  }
}

.l-main {
  position: relative
}

/* @media screen and (min-width: 768px) {
  .l-main {
    padding-bottom: 190px
  }
} */

/* @media screen and (max-width: 767px) {
  .l-main {
    padding-bottom: 37.5vw
  }
} */

.c-btn-cta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 900;
  line-height: 1;
  background: #ffcd00;
  border: solid 4px #ff9700;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out
}

.c-btn-cta::after {
  display: block;
  background: url("../img/icn_arw.svg") no-repeat center center/contain;
  content: ""
}

.c-btn-cta__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  background: #d84d00
}

.c-btn-cta__main {
  display: block;
  color: #d84d00
}

.c-btn-cta:focus {
  opacity: .75
}

@media(hover: hover)and (pointer: fine) {
  .c-btn-cta:hover {
    opacity: .75
  }
}

@media screen and (min-width: 768px) {
  .c-btn-cta {
    width: 900px;
    height: 80px;
    padding: 0 13px 0 16px;
    border-radius: 12px
  }
  .c-btn-cta::after {
    margin-left: auto;
    width: 46px;
    height: 46px
  }
  .c-btn-cta__sub {
    width: 334px;
    height: 50px;
    font-size: 1.8666666667rem;
    border-radius: 10px
  }
  .c-btn-cta__main {
    margin-left: 15px;
    font-size: 3.4rem
  }
}

@media screen and (max-width: 767px) {
  .c-btn-cta {
    width: 89.75vw;
    height: 11.5vw;
    padding: 0 1.5vw;
    border-width: 3px;
    border-radius: 9px
  }
  .c-btn-cta::after {
    margin-left: 1vw;
    width: 4vw;
    height: 4vw
  }
  .c-btn-cta__sub {
    width: 29vw;
    height: 7.5vw;
    font-size: 2.5vw;
    border-radius: 5px
  }
  .c-btn-cta__main {
    margin-left: 1.25vw;
    font-size: 5.5vw
  }
  .c-btn-cta__main5 {
    margin-left: 1.25vw;
    font-size: 5.4vw
  }
}

.c-clm__box {
  position: relative
}

.c-clm__icn, .c-clm__icn--blu, .c-clm__icn--org, .c-clm__icn--trq {
  position: absolute;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  font-weight: 700;
  line-height: 1.1578947368;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain
}

.c-clm__icn.is-small, .is-small.c-clm__icn--blu, .is-small.c-clm__icn--org, .is-small.c-clm__icn--trq {
  line-height: 1.3076923077
}

.c-clm__icn--blu {
  background-image: url("../img/badge_blu.svg")
}

.c-clm__icn--org {
  background-image: url("../img/badge_org.svg")
}

.c-clm__icn--trq {
  background-image: url("../img/badge_trq.svg")
}

.c-clm__fig img {
  display: block;
  width: 100%
}

.c-clm__h {
  text-align: center;
  font-weight: 700;
  line-height: 1.45;
  color: #0461b5;
  background: url("../img/line_dot-blu.svg") repeat-x left bottom
}

.c-clm__h em {
  line-height: 1.0740740741;
  color: #e97800;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffda00));
  background: -webkit-linear-gradient(transparent 70%, #ffda00 70%);
  background: linear-gradient(transparent 70%, #ffda00 70%)
}

.c-clm__txt {
  line-height: 1.6666666667;
  letter-spacing: -0.01em
}

.c-clm__txt em {
  color: #ff8200
}

@media screen and (min-width: 768px) {
  .c-clm, .c-clm--3, .c-clm--2 {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
  .c-clm--3 {
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .c-clm--2 {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0 35px
  }
  .c-clm__box {
    width: 312px
  }
  .c-clm__icn, .c-clm__icn--blu, .c-clm__icn--org, .c-clm__icn--trq {
    top: -23px;
    left: -15px;
    width: 70px;
    height: 70px;
    font-size: 1.2666666667rem
  }
  .c-clm__icn.is-small, .is-small.c-clm__icn--blu, .is-small.c-clm__icn--org, .is-small.c-clm__icn--trq {
    font-size: .8666666667rem
  }
  .c-clm__h {
    margin-top: 20px;
    padding-bottom: 18px;
    font-size: 1.3333333333rem
  }
  .c-clm__h em {
    font-size: 1.8rem
  }
  .c-clm__txt {
    margin-top: 20px;
    font-size: 1rem
  }
}

@media screen and (max-width: 767px) {
  .c-clm, .c-clm--3, .c-clm--2 {
    padding: 0 4.5vw
  }
  .c-clm__box:nth-of-type(n+2) {
    margin-top: 12.5vw
  }
  .c-clm__icn, .c-clm__icn--blu, .c-clm__icn--org, .c-clm__icn--trq {
    top: -5vw;
    left: 2vw;
    width: 17.5vw;
    height: 17.5vw;
    font-size: 4.75vw
  }
  .c-clm__icn.is-small, .is-small.c-clm__icn--blu, .is-small.c-clm__icn--org, .is-small.c-clm__icn--trq {
    font-size: 3.25vw
  }
  .c-clm__fig {
    margin: 0 auto;
    width: 78vw
  }
  .c-clm__h {
    margin-top: 5vw;
    padding-bottom: 4.5vw;
    font-size: 5vw
  }
  .c-clm__h em {
    font-size: 6.75vw
  }
  .c-clm__txt {
    margin-top: 4.5vw;
    font-size: 3.75vw
  }
}

.c-faq {
  background: url("../img/line_dot-gry.svg") repeat-x left bottom
}

.c-faq__qs, .c-faq__ans {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start
}

.c-faq__qs::before, .c-faq__ans::before {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding-bottom: .22em;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain
}

.c-faq__qs>p, .c-faq__ans>p {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 10%;
  -ms-flex: 1 1 10%;
  flex: 1 1 10%;
  min-width: 0;
  padding-top: .8em
}

.c-faq__qs {
  font-weight: 700;
  line-height: 1.4705882353;
  color: #0078c8
}

.c-faq__qs::before {
  background-image: url("../img/badge_blu.svg");
  content: "Q"
}

.c-faq__ans {
  line-height: 1.6666666667
}

.c-faq__ans::before {
  background-image: url("../img/badge_org.svg");
  content: "A"
}

@media screen and (min-width: 768px) {
  .c-faq {
    margin-top: 40px;
    padding-bottom: 25px
  }
  .c-faq+.c-faq {
    margin-top: 25px
  }
  .c-faq__qs, .c-faq__ans {
    gap: 0 20px
  }
  .c-faq__qs::before, .c-faq__ans::before {
    width: 50px;
    height: 50px;
    font-size: 1.4666666667rem
  }
  .c-faq__qs {
    font-size: 1.1333333333rem
  }
  .c-faq__ans {
    margin-top: 10px;
    font-size: 1rem
  }
}

@media screen and (max-width: 767px) {
  .c-faq {
    margin-top: 7.5vw;
    padding-bottom: 6.25vw
  }
  .c-faq+.c-faq {
    margin-top: 6.25vw
  }
  .c-faq__qs, .c-faq__ans {
    gap: 0 3.75vw
  }
  .c-faq__qs::before, .c-faq__ans::before {
    width: 12.5vw;
    height: 12.5vw;
    font-size: 5.5vw
  }
  .c-faq__qs {
    font-size: 4.25vw
  }
  .c-faq__ans {
    margin-top: 2vw;
    font-size: 3.75vw
  }
}

.c-headline, .c-headline--lt {
  position: relative;
  text-align: center;
  border-bottom: solid 1px #b1b1b1
}

.c-headline::before, .c-headline--lt::before {
  position: absolute;
  display: block;
  background: #0078c8;
  content: ""
}

.c-headline--lt::before {
  background: #25a3e8
}

.c-headline>span, .c-headline--lt>span {
  display: block
}

.c-headline__sub, .c-headline__sub--blu, .c-headline__sub--yel {
  font-weight: 700;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain
}

.c-headline__sub--blu {
  color: #fff
}

.c-headline__sub--yel {
  color: #333
}

.c-headline__main, .c-headline__main--wt {
  font-weight: 900
}

.c-headline__main--wt {
  color: #fff
}

.c-headline__main ruby[data-ruby], .c-headline__main--wt ruby[data-ruby] {
  position: relative
}

.c-headline__main ruby[data-ruby]::before, .c-headline__main--wt ruby[data-ruby]::before {
  position: absolute;
  left: -3em;
  right: -3em;
  display: block;
  text-align: center;
  font-size: 500;
  line-height: 1;
  content: attr(data-ruby)
}

.c-headline__main rt, .c-headline__main--wt rt {
  display: none
}

@media screen and (min-width: 768px) {
  .c-headline, .c-headline--lt {
    padding-bottom: 20px
  }
  .c-headline::before, .c-headline--lt::before {
    right: 50%;
    bottom: -3px;
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    width: 910px;
    height: 7px
  }
  .c-headline__sub, .c-headline__sub--blu, .c-headline__sub--yel {
    height: 62px;
    padding: 12px 0;
    font-size: 1.3333333333rem
  }
  .c-headline__sub--blu {
    background-image: url("../img/subttl_blu-pc.svg")
  }
  .c-headline__sub--yel {
    background-image: url("../img/subttl_yel-pc.svg")
  }
  .c-headline__main, .c-headline__main--wt {
    font-size: 3.4666666667rem;
    line-height: 1.1923076923
  }
  .c-headline__main ruby[data-ruby]::before, .c-headline__main--wt ruby[data-ruby]::before {
    top: .5em;
    font-size: .6666666667rem
  }
}

@media screen and (max-width: 767px) {
  .c-headline, .c-headline--lt {
    padding-bottom: 3.75vw
  }
  .c-headline::before, .c-headline--lt::before {
    right: 5vw;
    bottom: -4px;
    left: 5vw;
    height: 7px
  }
  .c-headline__sub, .c-headline__sub--blu, .c-headline__sub--yel {
    height: 11vw;
    padding: 2vw 0;
    font-size: 3.5vw
  }
  .c-headline__sub--blu {
    background-image: url("../img/subttl_blu-sp.svg")
  }
  .c-headline__sub--yel {
    background-image: url("../img/subttl_yel-sp.svg")
  }
  .c-headline__main, .c-headline__main--wt {
    padding: 0 5vw;
    font-size: 7.5vw;
    line-height: 1.2666666667
  }
  .c-headline__main ruby[data-ruby]::before, .c-headline__main--wt ruby[data-ruby]::before {
    top: 0;
    font-size: 2vw
  }
}

@media screen and (min-width: 768px) {
  .c-sec {
    margin-top: 70px
  }
}

@media screen and (max-width: 767px) {
  .c-sec {
    margin-top: 10vw
  }
}

.c-table table {
  margin: 0 auto;
  width: 893px;
  white-space: nowrap;
  font-weight: 500
}

.c-table td {
  padding: 10px;
  text-align: center;
  border: 1px solid #b3b3b3
}

.c-table .thead td {
  font-weight: 700;
  color: #fff;
  background: #0078c8
}

.c-table .td01 {
  width: 33%;
  font-weight: 700;
  color: #2d698e;
  background: #afeaef
}

.c-table .td02 {
  width: 33%;
  padding: 2px 10px;
  font-weight: 700;
  line-height: 1;
  color: #ff8200;
  background: #fffcdb
}

.c-table .td02 span {
  font-size: 70%;
  font-weight: 500;
  color: #4d4d4d
}

.c-table .ttl {
  width: 10%;
  font-weight: 700;
  color: #0078c8;
  background: #c7e8f9
}

.c-table .ttl p {
  margin: auto;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  line-height: 1.3em
}

.c-table .ttl span {
  display: block;
  font-size: 70%
}

.c-table .ttl2 {
  font-weight: 700;
  color: #0078c8;
  background: #c7e8f9
}

.c-table .subttl {
  width: 24%;
  font-weight: 700;
  color: #0078c8;
  background: #f2f2e2
}

.c-table .num span {
  font-size: 200%
}

@media screen and (min-width: 768px) {
  .c-table {
    margin-top: 23px
  }
}

@media screen and (max-width: 767px) {
  .c-table {
    margin-top: 5vw;
    padding: 0 5vw
  }
}

.p-after-support {
  position: relative;
  background: #ffffe2;
  border-radius: 18px
}

.p-after-support__icn {
  position: absolute;
  top: 0;
  z-index: 2;
  text-align: center;
  font-weight: 700;
  color: #ffff47;
  background: url("../img/icn_point.svg") no-repeat center center/contain;
  -webkit-transform: rotate(-20deg);
  transform: rotate(-20deg);
  -webkit-transform-origin: left top;
  transform-origin: left top
}

.p-after-support__fig img {
  display: block;
  width: 100%
}

.p-after-support__ttl {
  font-weight: 900;
  line-height: 1;
  color: #fff
}

.p-after-support__list__item, .p-after-support__list__item--100 {
  font-weight: 700;
  line-height: 1.5333333333;
  color: #148a93;
  background: url("../img/icn_list.svg") no-repeat
}

@media screen and (min-width: 768px) {
  .p-after-support {
    margin-top: 30px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 24px 12px 24px 30px
  }
  .p-after-support__icn {
    left: -10px;
    width: 74px;
    height: 64px;
    padding-top: 16px;
    font-size: 1.2rem
  }
  .p-after-support__fig {
    width: 315px
  }
  .p-after-support__bloc {
    margin-left: 30px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-width: 0;
    padding-top: 10px
  }
  .p-after-support__ttl {
    margin-left: -30px;
    padding: 8px 30px;
    font-size: 1.4666666667rem;
    background: -webkit-gradient(linear, left top, right top, from(rgb(255, 130, 0)), to(rgba(255, 130, 0, 0)));
    background: -webkit-linear-gradient(left, rgb(255, 130, 0) 0%, rgba(255, 130, 0, 0) 100%);
    background: linear-gradient(90deg, rgb(255, 130, 0) 0%, rgba(255, 130, 0, 0) 100%)
  }
  .p-after-support__txt {
    margin-top: 10px;
    font-size: 1rem
  }
  .p-after-support__list {
    margin-top: 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .p-after-support__list__item, .p-after-support__list__item--100 {
    min-width: 258px;
    padding-left: 15px;
    font-size: 1rem;
    background-position: left .34em
  }
  .p-after-support__list__item--100 {
    width: 100%
  }
}

@media screen and (max-width: 767px) {
  .p-after-support {
    margin: 8.75vw auto 0;
    width: 95vw;
    padding: 7.5vw 5vw 6.25vw
  }
  .p-after-support__icn {
    left: -1.25vw;
    width: 18.5vw;
    height: 16vw;
    padding-top: 3.75vw;
    font-size: 4.5vw
  }
  .p-after-support__fig {
    margin: 0 auto;
    width: 78.75vw
  }
  .p-after-support__bloc {
    margin-top: 6.75vw
  }
  .p-after-support__ttl {
    margin: 0 -5vw;
    padding: 10px;
    text-align: center;
    font-size: 5vw;
    background: #ff8200
  }
  .p-after-support__txt {
    margin-top: 5vw;
    font-size: 3.75vw
  }
  .p-after-support__list {
    margin-top: 5vw
  }
  .p-after-support__list__item, .p-after-support__list__item--100 {
    padding-left: 5vw;
    font-size: 3.75vw;
    background-position: left .4em;
    background-size: 3.25vw auto
  }
}

.p-catch {
  background-color: #b4ddf7
}

.p-catch__wrap {
  position: relative
}

.p-catch__head__ttl {
  font-weight: 900;
  line-height: 1;
  color: #17868e
}

.p-catch__head__ttl em, .p-catch__head__ttl span {
  display: block
}

.p-catch__head__copy {
  position: relative;
  z-index: 2;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgba(4, 97, 181, 0)), color-stop(23.3%, rgba(4, 97, 181, 0.9)), color-stop(77.06%, rgba(4, 97, 181, 0.9)), to(rgba(4, 97, 181, 0)));
  background: -webkit-linear-gradient(left, rgba(4, 97, 181, 0) 0%, rgba(4, 97, 181, 0.9) 23.3%, rgba(4, 97, 181, 0.9) 77.06%, rgba(4, 97, 181, 0) 100%);
  background: linear-gradient(90deg, rgba(4, 97, 181, 0) 0%, rgba(4, 97, 181, 0.9) 23.3%, rgba(4, 97, 181, 0.9) 77.06%, rgba(4, 97, 181, 0) 100%)
}

.p-catch__head__fig {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center
}

.p-catch__head__img {
  background: #fff;
  -webkit-box-shadow: 0 0 2px rgba(23, 70, 109, .3);
  box-shadow: 0 0 2px rgba(23, 70, 109, .3)
}

.p-catch__cont__txt {
  font-weight: 900;
  line-height: 1;
  color: #04317a
}

.p-catch__cont__txt mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ff0));
  background: -webkit-linear-gradient(transparent 70%, #ff0 70%);
  background: linear-gradient(transparent 70%, #ff0 70%)
}

.p-catch__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 900;
  line-height: 1;
  background: #ffcd00;
  border: solid 4px #ffe98a;
  border-radius: 12px;
  -webkit-transition: opacity .2s ease-out;
  transition: opacity .2s ease-out
}

.p-catch__btn:focus {
  opacity: .75
}

@media(hover: hover)and (pointer: fine) {
  .p-catch__btn:hover {
    opacity: .75
  }
}

.p-catch__btn::after {
  margin-left: auto;
  display: block;
  background: url("../img/icn_arw.svg") no-repeat center center/contain;
  content: ""
}

.p-catch__btn__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #fff;
  background: #d84d00;
  border-radius: 6px
}

.p-catch__btn__main {
  display: block;
  color: #d84d00
}

@media screen and (min-width: 768px) {
  .p-catch {
    background-image: url("../img/catch_bg-pc.png");
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 1600px auto
  }
  .p-catch__wrap {
    min-height: 295px;
    padding: 18px 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-catch__head {
    width: 390px
  }
  .p-catch__head__ttl em {
    font-size: 4.3333333333rem
  }
  .p-catch__head__ttl span {
    margin-top: 7px;
    font-size: 2.1333333333rem
  }
  .p-catch__head__copy {
    margin: 14px auto 0;
    width: 380px;
    padding: 5px;
    font-size: 1.2rem
  }
  .p-catch__head__fig {
    margin-top: -15px;
    gap: 0 10px
  }
  .p-catch__head__img {
    width: 119px;
    padding: 4px
  }
  .p-catch__cont {
    width: 560px
  }
  .p-catch__cont__txt {
    font-size: 2.2666666667rem
  }
  .p-catch__link {
    position: absolute;
    right: 0;
    bottom: 16px;
    width: 560px
  }
  .p-catch__btn {
    width: 100%;
    height: 64px;
    padding: 0 6px
  }
  .p-catch__btn::after {
    width: 22px;
    height: 22px
  }
  .p-catch__btn__sub {
    width: 183px;
    height: 40px;
    font-size: 1.0666666667rem
  }
  .p-catch__btn__main {
    margin: -5px 0 0 12px;
    font-size: 2.3333333333rem
  }
}

@media screen and (max-width: 767px) {
  .p-catch {
    padding: 5vw 0 0
  }
  .p-catch__head {
    position: relative;
    padding: 0 10px
  }
  .p-catch__head__ttl {
    width: 46vw;
    text-align: center
  }
  .p-catch__head__ttl em {
    font-size: 7.25vw
  }
  .p-catch__head__ttl span {
    margin-top: 1.25vw;
    font-size: 3.5vw
  }
  .p-catch__head__copy {
    margin-top: 1.5vw;
    width: 46vw;
    padding: 1.25vw 0;
    font-size: 2.75vw
  }
  .p-catch__head__fig {
    position: absolute;
    top: 0;
    right: 3.75vw;
    gap: 0 1.25vw
  }
  .p-catch__head__img {
    width: 22.5vw;
    padding: 1.25vw
  }
  .p-catch__cont {
    height: 30.75vw;
    padding: 8.75vw 3.75vw 0;
    background: url("../img/catch_bg-sp.png") no-repeat right bottom;
    background-size: 100% auto
  }
  .p-catch__cont__txt {
    font-size: 5.5vw;
    line-height: 1.4090909091
  }
  .p-catch__link {
    padding: 5.5vw 2.5vw;
    background: #fff
  }
  .p-catch__btn {
    width: 100%;
    height: 25vw;
    padding: 0 3vw;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
  .p-catch__btn::after {
    margin-top: -2.5vw;
    width: 7.5vw;
    height: 7.5vw
  }
  .p-catch__btn__sub {
    width: 100%;
    height: 8vw;
    font-size: 4.25vw
  }
  .p-catch__btn__main {
    margin-top: -2.5vw;
    font-size: 8.5vw
  }
}

.p-circs {
  position: relative;
  background: #cdeaf9
}

@media screen and (min-width: 768px) {
  .p-circs {
    padding: 75px 0 140px
  }
  .p-circs__cont {
    margin-top: 40px
  }
}

@media screen and (max-width: 767px) {
  .p-circs {
    padding: 11.25vw 0 30vw
  }
  .p-circs__cont {
    margin-top: 12.5vw
  }
}

.p-difference__lede {
  font-weight: 700;
  color: #0078c8
}

.p-difference__table .levellist {
  position: relative;
  width: 960px;
  height: 400px;
  font-weight: 500;
  background: url(../img/level.jpg) no-repeat
}

.p-difference__table .levellist sup {
  font-size: 50%;
  font-weight: 500;
  color: #4d4d4d
}

.p-difference__table .levellist>* {
  position: absolute
}

.p-difference__table .levellist .l01 {
  top: 147px;
  left: 18px
}

.p-difference__table .levellist .l02 {
  top: 213px;
  left: 18px
}

.p-difference__table .levellist .l03 {
  top: 279px;
  left: 18px
}

.p-difference__table .levellist .l04 {
  top: 345px;
  left: 18px
}

.p-difference__table .levellist .lt01 {
  top: 152px;
  left: 102px
}

.p-difference__table .levellist .lt02 {
  top: 218px;
  left: 102px
}

.p-difference__table .levellist .lt03 {
  top: 273px;
  left: 102px
}

.p-difference__table .levellist .lt04 {
  top: 339px;
  left: 102px
}

.p-difference__table .levellist .ttl01 {
  top: 12px;
  left: 376px
}

.p-difference__table .levellist .ttl02 {
  top: 12px;
  left: 702px
}

.p-difference__table .levellist .st01 {
  top: 58px;
  left: 600px
}

.p-difference__table .levellist .st02 {
  top: 58px;
  left: 816px
}

.p-difference__table .levellist .cel1-1 {
  top: 98px;
  left: 350px
}

.p-difference__table .levellist .cel1-2 {
  top: 152px;
  left: 350px
}

.p-difference__table .levellist .cel1-3 {
  top: 218px;
  left: 350px
}

.p-difference__table .levellist .cel1-4 {
  top: 280px;
  left: 350px
}

.p-difference__table .levellist .cel1-5 {
  top: 346px;
  left: 350px
}

.p-difference__table .levellist .cel2-1 {
  top: 98px;
  left: 426px
}

.p-difference__table .levellist .cel2-2 {
  top: 152px;
  left: 426px
}

.p-difference__table .levellist .cel2-3 {
  top: 218px;
  left: 426px
}

.p-difference__table .levellist .cel2-4 {
  top: 280px;
  left: 426px
}

.p-difference__table .levellist .cel2-5 {
  top: 346px;
  left: 426px
}

.p-difference__table .levellist .cel3-1 {
  top: 98px;
  left: 576px
}

.p-difference__table .levellist .cel3-2 {
  top: 152px;
  left: 576px
}

.p-difference__table .levellist .cel3-3 {
  top: 218px;
  left: 576px
}

.p-difference__table .levellist .cel3-4 {
  top: 280px;
  left: 576px
}

.p-difference__table .levellist .cel3-5 {
  top: 346px;
  left: 576px
}

.p-difference__table .levellist .cel4-1 {
  top: 98px;
  left: 645px
}

.p-difference__table .levellist .cel4-2 {
  top: 152px;
  left: 645px
}

.p-difference__table .levellist .cel4-3 {
  top: 218px;
  left: 645px
}

.p-difference__table .levellist .cel4-4 {
  top: 280px;
  left: 645px
}

.p-difference__table .levellist .cel4-5 {
  top: 346px;
  left: 645px
}

.p-difference__table .levellist .cel5-1 {
  top: 98px;
  left: 790px
}

.p-difference__table .levellist .cel5-2 {
  top: 152px;
  left: 790px
}

.p-difference__table .levellist .cel5-3 {
  top: 218px;
  left: 790px
}

.p-difference__table .levellist .cel5-4 {
  top: 280px;
  left: 790px
}

.p-difference__table .levellist .cel5-5 {
  top: 346px;
  left: 790px
}

.p-difference__table .levellist .cel6-1 {
  top: 98px;
  left: 865px
}

.p-difference__table .levellist .cel6-2 {
  top: 152px;
  left: 865px
}

.p-difference__table .levellist .cel6-3 {
  top: 218px;
  left: 865px
}

.p-difference__table .levellist .cel6-4 {
  top: 280px;
  left: 865px
}

.p-difference__table .levellist .cel6-5 {
  top: 346px;
  left: 865px
}

.p-difference__table .levellist .levelnum {
  padding: 4px 10px;
  font-weight: 500;
  color: #fff;
  background-color: #0078c8;
  border-radius: 18px
}

.p-difference__table .levellist .levelttl {
  font-size: 150%;
  font-weight: 900;
  color: #fff
}

.p-difference__table .levellist .levelsubttl {
  font-size: 140%;
  font-weight: 900;
  color: #ff8200
}

.p-difference__table .levellist .levelsubttl.st02 {
  color: #d84d00
}

.p-difference__table .levellist .levelcelttl {
  width: 3em;
  text-align: center;
  font-size: 120%;
  font-weight: 900;
  color: #2d698e
}

.p-difference__table .levellist .levelcel {
  width: 3em;
  text-align: center;
  font-size: 120%
}

.p-difference__notice__item {
  font-weight: 500;
  line-height: 1.5833333333
}

.p-difference__time__ttl {
  position: relative;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), color-stop(30.11%, rgb(37, 163, 232)), color-stop(69.53%, rgb(37, 163, 232)), to(rgb(255, 255, 255)));
  background: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(37, 163, 232) 30.11%, rgb(37, 163, 232) 69.53%, rgb(255, 255, 255) 100%);
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(37, 163, 232) 30.11%, rgb(37, 163, 232) 69.53%, rgb(255, 255, 255) 100%)
}

.p-difference__time__ttl::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 255, 255)), color-stop(31.18%, rgb(0, 120, 200)), color-stop(72.4%, rgb(0, 120, 200)), to(rgb(255, 255, 255)));
  background: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(0, 120, 200) 31.18%, rgb(0, 120, 200) 72.4%, rgb(255, 255, 255) 100%);
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(0, 120, 200) 31.18%, rgb(0, 120, 200) 72.4%, rgb(255, 255, 255) 100%);
  content: ""
}

@media screen and (min-width: 768px) {
  .p-difference {
    margin-top: 60px
  }
  .p-difference__lede {
    margin-top: 30px;
    text-align: center;
    font-size: 1.3333333333rem;
    line-height: 1.6
  }
  .p-difference__table {
    margin-top: 35px
  }
  .p-difference__notice {
    margin-top: 20px
  }
  .p-difference__notice__item {
    font-size: .8rem
  }
  .p-difference__time {
    margin-top: 65px
  }
  .p-difference__time__ttl {
    padding: 20px 0;
    font-size: 1.6666666667rem
  }
  .p-difference__time__ttl::before {
    height: 7px
  }
}

@media screen and (max-width: 767px) {
  .p-difference {
    margin-top: 11.25vw
  }
  .p-difference__lede {
    margin-top: 6.75vw;
    padding: 0 5vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-difference__table {
    margin-top: 3.75vw;
    padding: 0 5vw
  }
  .p-difference__notice {
    margin-top: 5vw
  }
  .p-difference__notice__item {
    font-size: 3vw
  }
  .p-difference__time {
    margin-top: 11.25vw
  }
  .p-difference__time__ttl {
    margin: 0 5vw;
    padding: 3vw 0;
    font-size: 5vw;
    line-height: 1.4
  }
  .p-difference__time__ttl::before {
    height: 1.75vw
  }
}

.p-feature {
  background: #cdeaf9
}

@media screen and (min-width: 768px) {
  .p-feature {
    padding: 35px 0 30px
  }
  .p-feature__cont {
    margin-top: 53px
  }
}

@media screen and (max-width: 767px) {
  .p-feature {
    padding: 5vw 0 7.5vw
  }
  .p-feature__cont {
    margin-top: 11vw
  }
}

.p-float-bnr {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  background: #f2f2e2
}

.p-float-bnr.is-stop {
  position: absolute
}

.p-float-bnr__btn {
  margin: 0 auto
}

@media screen and (min-width: 768px) {
  .p-float-bnr {
    padding: 10px 0
  }
}

@media screen and (max-width: 767px) {
  .p-float-bnr {
    padding: 2.5vw 0
  }
}

.p-hero {
  position: relative;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center top;
  background-color: #fff
}

.p-hero__ttl__sub {
  position: relative;
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 900;
  line-height: 1;
  color: #0461b5;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(26.16%, rgba(255, 255, 255, 0.9)), color-stop(75.27%, rgba(255, 255, 255, 0.9)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 26.16%, rgba(255, 255, 255, 0.9) 75.27%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.9) 26.16%, rgba(255, 255, 255, 0.9) 75.27%, rgba(255, 255, 255, 0) 100%)
}

.p-hero__ttl__sub::before, .p-hero__ttl__sub::after {
  position: absolute;
  z-index: 1;
  display: block;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(41.58%, rgb(255, 255, 255)), color-stop(51.97%, rgb(255, 255, 255)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 41.58%, rgb(255, 255, 255) 51.97%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 41.58%, rgb(255, 255, 255) 51.97%, rgba(255, 255, 255, 0) 100%);
  opacity: .4;
  content: ""
}

.p-hero__ttl__sub>span {
  position: relative;
  z-index: 2;
  display: block
}

.p-hero__ttl__main {
  display: block;
  font-weight: 900;
  color: #fff
}

.p-hero__cont {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex
}

.p-hero__cont__icn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  color: #158189;
  background: url("../img/mv_box.svg") no-repeat center center/contain
}

.p-hero__cont__obi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 700;
  color: #e97800;
  background: -webkit-gradient(linear, left top, right top, from(rgb(253, 208, 24)), color-stop(52.69%, rgb(255, 245, 122)), to(rgb(253, 208, 24)));
  background: -webkit-linear-gradient(left, rgb(253, 208, 24) 0%, rgb(255, 245, 122) 52.69%, rgb(253, 208, 24) 100%);
  background: linear-gradient(90deg, rgb(253, 208, 24) 0%, rgb(255, 245, 122) 52.69%, rgb(253, 208, 24) 100%)
}

.p-hero__badge {
  position: absolute;
  z-index: 5
}

@media screen and (min-width: 768px) {
  .p-hero {
    height: 500px;
    padding-top: 70px;
    background-image: url("../img/mv-pc-new.jpg")
  }
  .p-hero__ttl__sub {
    width: 728px;
    height: 68px;
    font-size: 2.6666666667rem
  }
  .p-hero__ttl__sub::before, .p-hero__ttl__sub::after {
    width: 347px;
    height: 21px
  }
  .p-hero__ttl__sub::before {
    top: -10px;
    left: -80px
  }
  .p-hero__ttl__sub::after {
    right: -40px;
    bottom: -10px
  }
  .p-hero__ttl__main {
    margin-top: 20px;
    font-size: 6rem;
    line-height: 1.1555555556
  }
  .p-hero__cont {
    margin-top: -65px;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: end;
    -webkit-align-items: flex-end;
    -ms-flex-align: end;
    align-items: flex-end
  }
  .p-hero__cont__icn {
    width: 161px;
    height: 140px;
    font-size: 1.4rem;
    line-height: 1.380952381
  }
  .p-hero__cont__obi {
    margin: 0 20px;
    width: 436px;
    height: 40px;
    font-size: 1.3333333333rem;
    border-radius: 22px
  }
  .p-hero__badge {
    top: -13px;
    left: 50%;
    margin-left: 198px
  }
}

@media screen and (max-width: 767px) {
  .p-hero {
    height: 106.25vw;
    padding-top: 10vw;
    background-image: url("../img/mv-sp.jpg");
    background-size: cover
  }
  .p-hero__ttl__sub {
    width: 90vw;
    height: 12.5vw;
    font-size: 6.5vw
  }
  .p-hero__ttl__sub::before, .p-hero__ttl__sub::after {
    width: 50.5vw;
    height: 2.75vw
  }
  .p-hero__ttl__sub::before {
    top: -1.25vw;
    left: -5vw
  }
  .p-hero__ttl__sub::after {
    right: -5vw;
    bottom: -1.25vw
  }
  .p-hero__ttl__main {
    margin-top: 3.75vw;
    font-size: 11.5vw;
    line-height: 1.1839130435
  }
  .p-hero__cont {
    position: relative;
    padding: 0 4.25vw;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-hero__cont__icn {
    position: relative;
    z-index: 2;
    width: 20.75vw;
    height: 18vw;
    font-size: 2.75vw;
    line-height: 1.380952381
  }
  .p-hero__cont__obi {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    height: 8.5vw;
    font-size: 3.25vw
  }
  .p-hero__badge {
    top: -2.5vw;
    right: 1vw;
    width: 27vw
  }
}

.p-indoor__ttl {
  text-align: center;
  font-weight: 700;
  color: #0461b5;
  background: url("../img/line_dot-blu.svg") repeat-x left bottom
}

.p-indoor__box__fig img {
  display: block;
  width: 100%
}

.p-indoor__box__h {
  font-weight: 700;
  color: #0461b5
}

@media screen and (min-width: 768px) {
  .p-indoor {
    margin-top: 45px
  }
  .p-indoor__ttl {
    padding-bottom: 10px;
    font-size: 1.3333333333rem
  }
  .p-indoor__boxs {
    margin-top: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-indoor__box {
    width: 235px
  }
  .p-indoor__box__h {
    margin-top: 15px;
    font-size: 1.0666666667rem
  }
  .p-indoor__box__txt {
    margin-top: 10px;
    font-size: .8666666667rem;
    line-height: 1.5384615385
  }
  .p-indoor__box__txt.is-kerning {
    letter-spacing: -0.03em
  }
}

@media screen and (max-width: 767px) {
  .p-indoor {
    margin-top: 10vw;
    padding: 0 5vw
  }
  .p-indoor__ttl {
    padding-bottom: 3.75vw;
    font-size: 5vw
  }
  .p-indoor__boxs {
    margin-top: 8.75vw
  }
  .p-indoor__box:nth-of-type(n+2) {
    margin-top: 10vw
  }
  .p-indoor__box__fig {
    margin: 0 auto;
    width: 78vw
  }
  .p-indoor__box__h {
    margin-top: 5vw;
    text-align: center;
    font-size: 5vw
  }
  .p-indoor__box__txt {
    margin-top: 2.5vw;
    font-size: 3.75vw;
    line-height: 1.6666666667
  }
  .p-indoor__box__txt.is-kerning {
    letter-spacing: -0.01em
  }
}

.p-license {
  background: #cdeaf9
}

.p-license__lede__fig {
  text-align: center
}

.p-license__lede__txt {
  font-weight: 700;
  color: #0078c8
}

.p-license__lede__txt em {
  color: #ff8200
}

@media screen and (min-width: 768px) {
  .p-license {
    padding: 30px 0
  }
  .p-license__lede {
    margin-top: 40px
  }
  .p-license__lede__txt {
    margin-top: 30px;
    text-align: center;
    font-size: 1.3333333333rem;
    line-height: 1.6
  }
  .p-license__cont {
    margin-top: 55px
  }
}

@media screen and (max-width: 767px) {
  .p-license {
    padding: 7.5vw 0
  }
  .p-license__lede {
    margin-top: 8.5vw;
    padding: 0 5vw
  }
  .p-license__lede__fig img {
    width: 73vw
  }
  .p-license__lede__txt {
    margin-top: 6.25vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-license__cont {
    margin-top: 15vw
  }
}

.p-media {
  background: #cdeaf9
}

.p-media__box {
  position: relative;
  margin: 0 auto;
  background: #fff;
  border-radius: 18px
}

.p-media__ttl {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain
}

.p-media__list__item {
  text-align: center
}

.p-media__list__ttl {
  font-weight: 700;
  color: #1a8d97
}

.p-media__list__ttl small, .p-media__list__ttl em {
  display: block
}

.p-media__list__ch {
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background: #1a8d97
}

.p-media__logos {
  text-align: center
}

@media screen and (min-width: 768px) {
  .p-media {
    padding: 60px 0 100px
  }
  .p-media__box {
    width: 910px;
    padding: 30px 20px 5px
  }
  .p-media__ttl {
    top: -50px;
    height: 88px;
    padding-top: 18px;
    font-size: 2.0666666667rem;
    background-image: url("../img/media_ttl-pc.svg")
  }
  .p-media__inner {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0 10px
  }
  .p-media__bloc {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-width: 0
  }
  .p-media__list {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-media__list__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .p-media__list__ttl {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-height: 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
  .p-media__list__ttl em {
    font-size: 1.3333333333rem
  }
  .p-media__list__ttl small {
    font-size: .8666666667rem
  }
  .p-media__list__ch {
    margin-top: 8px;
    width: 126px;
    height: 22px;
    font-size: .8rem;
    border-radius: 11px
  }
  .p-media__logos {
    margin-top: 20px
  }
}

@media screen and (max-width: 767px) {
  .p-media {
    padding: 10vw 0 12.5vw
  }
  .p-media__box {
    width: 90vw;
    padding: 17vw 5vw 7.5vw
  }
  .p-media__ttl {
    top: -10vw;
    height: 24vw;
    padding: 2vw 8.25vw;
    font-size: 5.5vw;
    line-height: 1.3636363636;
    background-image: url("../img/media_ttl-sp.svg")
  }
  .p-media__img {
    text-align: center
  }
  .p-media__img img {
    width: 75vw
  }
  .p-media__bloc {
    margin-top: 2.5vw
  }
  .p-media__list__item:nth-of-type(n+2) {
    margin-top: 5vw
  }
  .p-media__list__ttl em {
    font-size: 5vw
  }
  .p-media__list__ttl small {
    font-size: 3.25vw
  }
  .p-media__list__ttl :nth-child(n+2) {
    margin-top: 1.25vw
  }
  .p-media__list__ch {
    margin-top: 1.25vw;
    width: 31.5vw;
    height: 5.5vw;
    font-size: 3vw;
    border-radius: 2.75vw
  }
  .p-media__logos {
    margin-top: 7.5vw
  }
  .p-media__logos img {
    width: 100%
  }
}

.p-option {
  background: #cdeaf9
}

.p-option__lede {
  font-weight: 700;
  color: #0078c8
}

.p-option__box {
  background: #fff;
  border-radius: 10px
}

.p-option__box__h {
  position: relative;
  margin: 0 -6px;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: #41bdce
}

.p-option__box__h::before, .p-option__box__h::after {
  position: absolute;
  top: 100%;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  content: ""
}

.p-option__box__h::before {
  left: 0;
  border-width: 0 6px 5px 0;
  border-color: rgba(0, 0, 0, 0) #16868e rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.p-option__box__h::after {
  right: 0;
  border-width: 5px 6px 0 0;
  border-color: #16868e rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

.p-option__box__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start
}

.p-option__box__dt {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  font-weight: 500;
  line-height: 1;
  color: #fff;
  background: #0461b5
}

.p-option__box__dd {
  -webkit-box-flex: 1;
  -webkit-flex: 1 1 10%;
  -ms-flex: 1 1 10%;
  flex: 1 1 10%;
  min-width: 0;
  letter-spacing: -0.01em;
  line-height: 1.6666666667
}

.p-option__box__dd em {
  color: #ff8200
}

@media screen and (min-width: 768px) {
  .p-option {
    padding: 30px 0 60px
  }
  .p-option-present {
    padding: 30px 0 60px
  }
  .p-option__lede {
    margin-top: 30px;
    text-align: center;
    font-size: 1.3333333333rem;
    line-height: 1.6
  }
  .p-option__boxs {
    margin-top: 35px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-evenly;
  }
  .p-option__box {
    width: 300px;
    padding: 13px 0 25px;
  }
  .p-option__box__h {
    padding: 12px 0;
    font-size: 1.5333333333rem
  }
  .p-option__box__inner {
    margin-top: 18px;
    padding: 0 20px
  }
  .p-option__box__item:nth-of-type(n+2) {
    margin-top: 10px
  }
  .p-option__box__dt {
    width: 56px;
    height: 28px;
    font-size: 1rem;
    border-radius: 14px
  }
  .p-option__box__dd {
    margin-left: 9px;
    padding-top: 2px;
    font-size: 1rem
  }
}

@media screen and (max-width: 767px) {
  .p-option {
    padding: 7.5vw 0 10vw
  }
  .p-option-present {
    padding: 7.5vw 0 4vw
  }
  .p-option__lede {
    margin-top: 6.75vw;
    padding: 0 5vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-option__boxs {
    margin-top: 8.75vw;
    padding: 0 5vw
  }
  .p-option__box {
    padding: 3.25vw 0 5vw
  }
  .p-option__box:nth-of-type(n+2) {
    margin-top: 6.25vw
  }
  .p-option__box__h {
    padding: 3.5vw 0;
    font-size: 5vw
  }
  .p-option__box__inner {
    margin-top: 4.5vw;
    padding: 0 5vw
  }
  .p-option__box__item:nth-of-type(n+2) {
    margin-top: 3.75vw
  }
  .p-option__box__dt {
    width: 14vw;
    height: 7vw;
    font-size: 3.75vw;
    border-radius: 3.5vw
  }
  .p-option__box__dd {
    margin-left: 2.25vw;
    padding-top: .5vw;
    font-size: 3.75vw
  }
}

.p-pagetop {
  position: fixed;
  z-index: 100;
  will-change: transform
}

.p-pagetop.is-stop {
  position: absolute
}

.p-pagetop.is-active {
  -webkit-animation: landing 4s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation: landing 4s cubic-bezier(0.19, 1, 0.22, 1) forwards
}

.p-pagetop.is-hide {
  -webkit-animation: fadeout .6s ease-out forwards;
  animation: fadeout .6s ease-out forwards
}

.p-pagetop__btn {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: url("../img/pagetop.svg") no-repeat center center/contain;
  -webkit-transition: opacity .3s ease-out;
  transition: opacity .3s ease-out
}

.p-pagetop__btn:focus {
  opacity: .75
}

@media(hover: hover)and (pointer: fine) {
  .p-pagetop__btn:hover {
    opacity: .75
  }
}

@media screen and (min-width: 768px) {
  .p-pagetop {
    right: 20px;
    bottom: 110px
  }
  .p-pagetop__btn {
    width: 80px;
    height: 72px;
    font-size: .7333333333rem
  }
}

@media screen and (max-width: 767px) {
  .p-pagetop {
    right: 2vw;
    bottom: 18.75vw
  }
  .p-pagetop__btn {
    width: 14vw;
    height: 12.5vw;
    font-size: 2vw
  }
}

@-webkit-keyframes landing {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30vw);
    transform: translateY(-30vw)
  }
  10% {
    opacity: 1
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@keyframes landing {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-30vw);
    transform: translateY(-30vw)
  }
  10% {
    opacity: 1
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0)
  }
}

@-webkit-keyframes fadeout {
  100% {
    opacity: 0
  }
}

@keyframes fadeout {
  100% {
    opacity: 0
  }
}

.p-point__lede__fig img {
  display: block;
  width: 100%
}

.p-point__lede__txt {
  font-weight: 700;
  color: #0078c8
}

.p-point__lede__txt em {
  color: #ff8200
}

@media screen and (min-width: 768px) {
  .p-point {
    padding: 80px 0
  }
  .p-point__lede {
    margin-top: 34px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
  .p-point__lede__fig {
    width: 310px
  }
  .p-point__lede__txt {
    margin-left: 50px;
    width: 384px;
    font-size: 1.1333333333rem;
    line-height: 1.6470588235
  }
  .p-point__cont {
    margin-top: 80px
  }
}

@media screen and (max-width: 767px) {
  .p-point {
    padding: 13.5vw 0 12.5vw
  }
  .p-point__lede {
    margin-top: 8.75vw;
    padding: 0 5vw
  }
  .p-point__lede__fig {
    margin: 0 auto;
    width: 77.5vw
  }
  .p-point__lede__txt {
    margin-top: 5vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-point__cont {
    margin-top: 12.5vw
  }
}

.p-present {
  background: #52ace7
}

.p-present__box {
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  border-radius: 12px
}

.p-present__head__copy {
  display: block;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  color: #ff8200;
  border-top: solid 3px #ff8200;
  border-bottom: solid 3px #ff8200
}

.p-present__head__ttl {
  text-align: center;
  font-weight: 900;
  color: #0078c8
}

.p-present__offer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  counter-reset: offer
}

.p-present__offer__item {
  position: relative;
  background: #f2f2e2;
  border-radius: 18px;
  counter-increment: offer
}

.p-present__offer__icn {
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  line-height: 1;
  background: url("../img/present_badge.svg") no-repeat center center/contain
}

.p-present__offer__icn>span {
  display: block;
  font-weight: 700;
  color: #fff
}

.p-present__offer__icn::after {
  display: block;
  font-weight: 900;
  color: #fff33a;
  content: counter(offer)
}

.p-present__offer__h {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  font-weight: 900;
  color: #0461b5;
  background: url("../img/line_dot-blu.svg") repeat-x left bottom
}

.p-present__offer__fig img {
  width: 100%;
  -webkit-filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0 0 3px rgba(0, 0, 0, 0.3))
}

@media screen and (min-width: 768px) {
  .p-present {
    padding: 70px 0
  }
  .p-present__box {
    padding: 35px 30px 30px;
    background-image: url("../img/present_bg-pc.png")
  }
  .p-present__head {
    position: relative
  }
  .p-present__head::before, .p-present__head::after {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    display: block;
    width: 78px;
    height: 76px;
    background: url("../img/present_obj.svg") no-repeat center center/contain;
    content: ""
  }
  .p-present__head::before {
    left: 0
  }
  .p-present__head::after {
    right: 0
  }
  .p-present__head__copy {
    margin: 0 auto;
    width: 765px;
    padding: 10px;
    font-size: 1.8666666667rem
  }
  .p-present__head__ttl {
    margin-top: 15px;
    font-size: 3.6666666667rem;
    line-height: 1
  }
  .p-present__offer {
    margin-top: 50px;
    gap: 0 15px
  }
  .p-present__offer__item {
    width: 200px;
    padding: 30px 10px 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .p-present__offer__item:nth-of-type(3) {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-width: 0
  }
  .p-present__offer__icn {
    top: -40px;
    width: 79px;
    height: 77px
  }
  .p-present__offer__icn>span {
    font-size: .8rem
  }
  .p-present__offer__icn::after {
    font-size: 2rem
  }
  .p-present__offer__h {
    height: calc(2.3em + 20px);
    font-size: 1.3333333333rem;
    line-height: 1.15
  }
  .p-present__offer__fig {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-height: 0%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center
  }
  .p-present__offer__movie {
    margin-top: 15px;
    padding: 0 15px
  }
  .p-present__offer__movie::after {
    clear: both;
    display: block;
    content: ""
  }
  .p-present__offer__movie img {
    float: right;
    margin: 0 0 0 15px;
    width: 177px
  }
  .p-present__offer__movie p {
    font-size: .8rem;
    line-height: 1.6666666667
  }
}

@media screen and (max-width: 767px) {
  .p-present {
    padding: 8.75vw 2.5vw 17.5vw
  }
  .p-present__box {
    padding: 9.5vw 5vw 7.5vw;
    background-image: url("../img/present_bg-sp.png")
  }
  .p-present__head__copy {
    padding: 1vw 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    font-size: 4vw
  }
  .p-present__head__copy::before, .p-present__head__copy::after {
    display: block;
    width: 6.5vw;
    height: 6.25vw;
    background: url("../img/present_obj.svg") no-repeat center center/contain;
    content: ""
  }
  .p-present__head__ttl {
    margin-top: 2.5vw;
    font-size: 9vw;
    line-height: 1.25
  }
  .p-present__offer {
    margin-top: 13.75vw;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 12.5vw 0
  }
  .p-present__offer__item {
    width: 40.5vw;
    padding: 7.5vw 2.5vw 5vw
  }
  .p-present__offer__item:nth-of-type(3) {
    width: 100%
  }
  .p-present__offer__icn {
    top: -10.5vw;
    width: 19.75vw;
    height: 19.25vw
  }
  .p-present__offer__icn>span {
    font-size: 3vw
  }
  .p-present__offer__icn::after {
    font-size: 7.5vw
  }
  .p-present__offer__h {
    height: calc(2.3333333333em + 20px);
    font-size: 4.5vw;
    line-height: 1.1666666667
  }
  .p-present__offer__fig {
    padding: 4.5vw 0
  }
  .p-present__offer__movie {
    margin-top: 3.75vw;
    padding: 0 2vw;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5vw 0
  }
  .p-present__offer__movie img {
    width: 100%
  }
  .p-present__offer__movie p {
    -webkit-box-ordinal-group: 0;
    -webkit-order: -1;
    -ms-flex-order: -1;
    order: -1;
    font-size: 3.5vw;
    line-height: 1.5714285714
  }
}

.p-private__intro {
  text-align: center;
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(242, 242, 226)), to(rgb(255, 255, 255)));
  background: -webkit-linear-gradient(top, rgb(242, 242, 226) 0%, rgb(255, 255, 255) 100%);
  background: linear-gradient(180deg, rgb(242, 242, 226) 0%, rgb(255, 255, 255) 100%)
}

.p-private__intro :first-child {
  margin-top: 0
}

.p-private__intro__start {
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(25, 149, 164)), color-stop(49.82%, rgb(65, 189, 206)), to(rgb(25, 149, 164)));
  background: -webkit-linear-gradient(left, rgb(25, 149, 164) 0%, rgb(65, 189, 206) 49.82%, rgb(25, 149, 164) 100%);
  background: linear-gradient(90deg, rgb(25, 149, 164) 0%, rgb(65, 189, 206) 49.82%, rgb(25, 149, 164) 100%)
}

.p-private__intro__sub {
  font-weight: 900;
  color: #41bdce;
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: contain
}

.p-private__intro__main {
  font-weight: 900;
  color: #0461b5
}

.p-private__intro__main mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffe600));
  background: -webkit-linear-gradient(transparent 70%, #ffe600 70%);
  background: linear-gradient(transparent 70%, #ffe600 70%)
}

.p-private__merit {
  counter-reset: merit
}

.p-private__merit__box {
  counter-increment: merit
}

.p-private__merit__icn {
  margin: 0 auto;
  text-align: center;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: url("../img/icn_merit.svg") no-repeat center top/contain
}

.p-private__merit__icn::after {
  display: block;
  font-weight: 900;
  color: #ffdf00;
  content: counter(merit)
}

.p-private__merit__h {
  text-align: center;
  font-weight: 900;
  line-height: 1.4347826087;
  color: #0461b5;
  background: url("../img/line_dot-blu.svg") repeat-x left bottom
}

.p-private__merit__h em {
  color: #ff8200;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffe500));
  background: -webkit-linear-gradient(transparent 70%, #ffe500 70%);
  background: linear-gradient(transparent 70%, #ffe500 70%)
}

.p-private__merit__txt {
  line-height: 1.6666666667
}

.p-private__merit__txt em {
  color: #ff8200
}

.p-private__time {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  background: url("../img/merit_arw.svg") no-repeat center center
}

.p-private__time__item {
  position: relative;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  border-radius: 50%;
  white-space: nowrap
}

.p-private__time__item>span, .p-private__time__item>small {
  display: block
}

.p-private__time__item>small {
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  transform: translateX(50%)
}

.p-private__time__item:nth-of-type(1) {
  background: #ceeff2
}

.p-private__time__item:nth-of-type(1)>span {
  color: #41bdce
}

.p-private__time__item:nth-of-type(1)>small {
  color: #179099
}

.p-private__time__item:nth-of-type(2) {
  background: #ffe464
}

.p-private__time__item:nth-of-type(2)>span {
  color: #ff8200
}

.p-private__time__item:nth-of-type(2)>small {
  color: #d84d00
}

@media screen and (min-width: 768px) {
  .p-private__intro {
    padding: 65px 0 50px
  }
  .p-private__intro__start {
    width: 472px;
    height: 40px;
    font-size: 1.3333333333rem;
    border-radius: 20px
  }
  .p-private__intro__sub {
    margin-top: 10px;
    height: 86px;
    font-size: 2.3333333333rem;
    background-image: url("../img/private_subttl-pc.svg")
  }
  .p-private__intro__main {
    margin-top: 8px;
    font-size: 2.7333333333rem
  }
  .p-private__ttl {
    margin-top: 80px
  }
  .p-private__merit {
    margin-top: 34px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-private__merit__box {
    width: 312px
  }
  .p-private__merit__icn {
    width: 74px;
    height: 64px;
    padding-top: 5px;
    font-size: .9333333333rem
  }
  .p-private__merit__icn::after {
    font-size: 2.2666666667rem
  }
  .p-private__merit__h {
    margin-top: 5px;
    padding-bottom: 18px;
    font-size: 1.5333333333rem
  }
  .p-private__merit__h em {
    padding: 0 5px
  }
  .p-private__merit__txt {
    margin-top: 18px;
    font-size: 1rem
  }
  .p-private__time {
    margin-top: 30px;
    gap: 0 36px
  }
  .p-private__time__item {
    width: 103px;
    height: 103px;
    padding-top: 12px
  }
  .p-private__time__item>span {
    font-size: 4.5333333333rem
  }
  .p-private__time__item>small {
    bottom: -5px;
    font-size: 1.4666666667rem
  }
  .p-private__time+.p-private__merit__txt {
    margin-top: 30px
  }
}

@media screen and (max-width: 767px) {
  .p-private__intro {
    padding: 13.25vw 5vw 5.5vw
  }
  .p-private__intro__start {
    width: 100%;
    height: 10vw;
    font-size: 4vw;
    border-radius: 5vw
  }
  .p-private__intro__sub {
    margin-top: 2.5vw;
    height: 20.5vw;
    font-size: 7.25vw;
    background-image: url("../img/private_subttl-sp.svg")
  }
  .p-private__intro__main {
    margin-top: 3.75vw;
    font-size: 8vw;
    line-height: 1.4375
  }
  .p-private__ttl {
    margin-top: 8.75vw
  }
  .p-private__merit {
    margin-top: 10vw;
    padding: 0 5vw
  }
  .p-private__merit__box:nth-of-type(n+2) {
    margin-top: 10vw
  }
  .p-private__merit__icn {
    width: 18.5vw;
    height: 16vw;
    padding-top: 1.25vw;
    font-size: 3.5vw
  }
  .p-private__merit__icn::after {
    font-size: 8.5vw
  }
  .p-private__merit__h {
    margin-top: 1.25vw;
    padding-bottom: 4.5vw;
    font-size: 5.75vw
  }
  .p-private__merit__h em {
    padding: 0 1.25vw
  }
  .p-private__merit__txt {
    margin-top: 3.75vw;
    font-size: 3.75vw
  }
  .p-private__time {
    margin-top: 7.5vw;
    gap: 0 9.5vw;
    background-size: 6.75vw auto
  }
  .p-private__time__item {
    width: 25.75vw;
    height: 25.75vw;
    padding-top: 3vw
  }
  .p-private__time__item>span {
    font-size: 17vw
  }
  .p-private__time__item>small {
    bottom: -1.5vw;
    font-size: 5.5vw
  }
  .p-private__time+.p-private__merit__txt {
    margin-top: 7.5vw
  }
}

.p-recommend {
  background-color: #cdeaf9;
  background-repeat: no-repeat;
  background-position: right top
}

.p-recommend__ttl {
  text-align: center
}

.p-recommend__ttl__sub {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: 900;
  line-height: 1;
  color: #0461b5
}

.p-recommend__ttl__sub::before, .p-recommend__ttl__sub::after {
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  content: ""
}

.p-recommend__ttl__sub::after {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.p-recommend__ttl__main {
  display: block;
  font-weight: 900
}

.p-recommend__logo {
  text-align: center
}

.p-recommend__lede {
  font-weight: 700;
  color: #0078c8
}

@media screen and (min-width: 768px) {
  .p-recommend {
    padding: 75px 0 35px;
    background-image: url("../img/recommend_bg-pc.png");
    background-size: 93.75% auto
  }
  .p-recommend__ttl__sub {
    gap: 0 10px;
    font-size: 1.8666666667rem
  }
  .p-recommend__ttl__sub::before, .p-recommend__ttl__sub::after {
    width: 53px;
    height: 58px;
    background-image: url("../img/recommend_obj-pc.svg")
  }
  .p-recommend__ttl__main {
    margin-top: 10px;
    font-size: 4.1333333333rem;
    line-height: 1.1774193548
  }
  .p-recommend__logo {
    margin-top: 20px
  }
  .p-recommend__lede {
    margin-top: 20px;
    text-align: center;
    font-size: 1.3333333333rem
  }
  .p-recommend__cont {
    margin-top: 45px
  }
}

@media screen and (max-width: 767px) {
  .p-recommend {
    padding: 10vw 0 5vw;
    background-image: url("../img/recommend_bg-sp.png");
    background-size: 100% auto
  }
  .p-recommend__ttl {
    padding: 0 5vw
  }
  .p-recommend__ttl__sub {
    gap: 0 4px;
    font-size: 5.5vw
  }
  .p-recommend__ttl__sub::before, .p-recommend__ttl__sub::after {
    width: 10.25vw;
    height: 11vw;
    background-image: url("../img/recommend_obj-sp.svg")
  }
  .p-recommend__ttl__main {
    margin-top: 1.25vw;
    font-size: 8vw;
    line-height: 1.25
  }
  .p-recommend__logo {
    margin-top: 3.75vw
  }
  .p-recommend__logo img {
    width: 47.5vw
  }
  .p-recommend__lede {
    margin-top: 8.75vw;
    padding: 0 5vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-recommend__cont {
    margin-top: 10vw
  }
}

.p-risk {
  background: -webkit-gradient(linear, left top, left bottom, from(rgb(205, 234, 249)), color-stop(18%, rgb(0, 63, 140)));
  background: -webkit-linear-gradient(top, rgb(205, 234, 249) 0%, rgb(0, 63, 140) 18%);
  background: linear-gradient(180deg, rgb(205, 234, 249) 0%, rgb(0, 63, 140) 18%)
}

.p-risk__intro {
  position: relative;
  margin: 0 auto;
  background: #fff;
  border: solid 3px #0078c8;
  border-radius: 18px
}

.p-risk__intro::before {
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
  display: block;
  background: url("../img/icn_caution-blu.svg") no-repeat center center/contain;
  content: ""
}

.p-risk__intro__txt {
  font-weight: 700;
  color: #0461b5
}

.p-risk__box, .p-risk__box--3, .p-risk__box--4 {
  position: relative;
  background: #002460;
  border-radius: 18px
}

.p-risk__box::before, .p-risk__box--3::before, .p-risk__box--4::before {
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
  display: block;
  background: url("../img/icn_caution-yel.svg") no-repeat center center/contain;
  content: ""
}

.p-risk__box--4 {
  text-align: center
}

.p-risk__box__h {
  text-align: center;
  font-weight: 700;
  line-height: 1.4444444444;
  color: #b4ddf7;
  border-bottom: solid 1px #b4ddf7
}

.p-risk__box__txt {
  line-height: 1.6666666667;
  letter-spacing: -0.01em;
  color: #fff
}

@media screen and (min-width: 768px) {
  .p-risk {
    padding-bottom: 90px
  }
  .p-risk__intro {
    top: -40px;
    width: 838px;
    padding: 50px 0
  }
  .p-risk__intro::before {
    top: -74px;
    width: 115px;
    height: 115px
  }
  .p-risk__intro__txt {
    text-align: center;
    font-size: 1.3333333333rem;
    line-height: 1.5
  }
  .p-risk__ttl {
    margin-top: 28px
  }
  .p-risk__boxs {
    margin-top: 63px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-risk__boxs+.p-risk__boxs {
    margin-top: 50px
  }
  .p-risk__box, .p-risk__box--3, .p-risk__box--4 {
    padding: 45px 20px 20px
  }
  .p-risk__box::before, .p-risk__box--3::before, .p-risk__box--4::before {
    top: -35px;
    width: 70px;
    height: 70px
  }
  .p-risk__box--3 {
    width: 312px
  }
  .p-risk__box--4 {
    width: 226px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center
  }
  .p-risk__box__h {
    padding-bottom: 7px;
    font-size: 1.2rem
  }
  .p-risk__box__txt {
    font-size: 1rem
  }
  .p-risk__box__txt:not(:first-child) {
    margin-top: 15px
  }
}

@media screen and (max-width: 767px) {
  .p-risk {
    padding-bottom: 10vw
  }
  .p-risk__intro {
    top: -9.5vw;
    width: 90vw;
    padding: 11.25vw 6.25vw 6.25vw
  }
  .p-risk__intro::before {
    top: -15.5vw;
    width: 25vw;
    height: 25vw
  }
  .p-risk__intro__txt {
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-risk__ttl {
    margin-top: 2.5vw
  }
  .p-risk__boxs {
    margin-top: 14.5vw;
    padding: 0 5vw
  }
  .p-risk__boxs+.p-risk__boxs {
    margin-top: 12.5vw
  }
  .p-risk__box, .p-risk__box--3, .p-risk__box--4 {
    padding: 10vw 7.5vw 5vw
  }
  .p-risk__box:nth-of-type(n+2), .p-risk__box--3:nth-of-type(n+2), .p-risk__box--4:nth-of-type(n+2) {
    margin-top: 12.5vw
  }
  .p-risk__box::before, .p-risk__box--3::before, .p-risk__box--4::before {
    top: -8.75vw;
    width: 17.5vw;
    height: 17.5vw
  }
  .p-risk__box__h {
    padding-bottom: 1.75vw;
    font-size: 4.5vw
  }
  .p-risk__box__txt {
    font-size: 3.75vw
  }
  .p-risk__box__txt:not(:first-child) {
    margin-top: 3.75vw
  }
}

.p-trial__lede {
  font-weight: 700;
  color: #0078c8
}

.p-trial__lede em {
  color: #ff8200
}

.p-trial__cta {
  background: #f2f2e2;
  border-radius: 18px
}

.p-trial__cta__fig img {
  display: block;
  width: 100%
}

.p-trial__cta__ttl {
  position: relative;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(rgb(255, 110, 0)), color-stop(49.1%, rgb(255, 163, 0)), to(rgb(255, 110, 0)));
  background: -webkit-linear-gradient(left, rgb(255, 110, 0) 0%, rgb(255, 163, 0) 49.1%, rgb(255, 110, 0) 100%);
  background: linear-gradient(90deg, rgb(255, 110, 0) 0%, rgb(255, 163, 0) 49.1%, rgb(255, 110, 0) 100%)
}

.p-trial__cta__ttl::after {
  position: absolute;
  top: 100%;
  right: 0;
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 5px 6px 0 0;
  border-color: #a35005 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
  content: ""
}

.p-trial__cta__ttl>span {
  display: block;
  border-top: solid 2px rgba(255, 255, 255, .4);
  border-bottom: solid 2px rgba(255, 255, 255, .4)
}

.p-trial__cta__list>li {
  font-weight: 900;
  background: url("../img/icn_check.svg") no-repeat 0 .35em
}

.p-trial__cta__list>li mark {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #ffd200));
  background: -webkit-linear-gradient(transparent 70%, #ffd200 70%);
  background: linear-gradient(transparent 70%, #ffd200 70%)
}

.p-trial__cta__txt {
  line-height: 1.6666666667;
  letter-spacing: -0.02em
}

.p-trial__cta__txt em {
  color: #ff8200
}

.p-trial__cta__btn {
  width: 100%
}

@media screen and (min-width: 768px) {
  .p-trial {
    padding: 80px 0 115px
  }
  .p-trial .c-headline {
    position: relative
  }
  .p-trial .c-headline::after {
    position: absolute;
    left: 50%;
    bottom: 30px;
    margin-left: -520px;
    display: block;
    width: 324px;
    height: 215px;
    background: url("../img/trial_obj.jpg") no-repeat center center/contain;
    content: ""
  }
  .p-trial .c-headline__main, .p-trial .c-headline__sub {
    position: relative;
    z-index: 2
  }
  .p-trial__lede {
    margin-top: 30px;
    text-align: center;
    font-size: 1.3333333333rem;
    line-height: 1.6
  }
  .p-trial__cont {
    margin-top: 40px
  }
  .p-trial__cta {
    margin-top: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex
  }
  .p-trial__cta__fig {
    width: 497px
  }
  .p-trial__cta__fig img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: 18px 0 0 18px
  }
  .p-trial__cta__bloc {
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-width: 0;
    padding: 30px
  }
  .p-trial__cta__ttl {
    margin: 0 -36px 0 -30px;
    padding: 3px 0;
    font-size: 1.5333333333rem
  }
  .p-trial__cta__ttl>span {
    padding: 11px 30px
  }
  .p-trial__cta__list {
    margin-top: 15px
  }
  .p-trial__cta__list>li {
    padding-left: 34px;
    font-size: 1.8rem;
    line-height: 1.5185185185
  }
  .p-trial__cta__txt {
    margin-top: 25px;
    font-size: 1rem
  }
  .p-trial__cta__btn {
    margin-top: 64px;
    height: 56px;
    padding: 0 10px
  }
  .p-trial__cta__btn::after {
    width: 20px;
    height: 20px
  }
  .p-trial__cta__btn .c-btn-cta__sub {
    width: 152px;
    height: 36px;
    font-size: .8666666667rem;
    border-radius: 6px
  }
  .p-trial__cta__btn .c-btn-cta__main {
    margin-left: 8px;
    font-size: 1.6666666667rem
  }
}

@media screen and (max-width: 767px) {
  .p-trial {
    padding: 12.5vw 0 17vw
  }
  .p-trial__lede {
    margin-top: 6.25vw;
    padding: 0 5vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-trial__cont {
    margin-top: 10vw
  }
  .p-trial__cta {
    margin: 12.5vw auto 0;
    width: 90vw
  }
  .p-trial__cta__fig img {
    border-radius: 18px 18px 0 0
  }
  .p-trial__cta__bloc {
    padding: 0 3.75vw 6.25vw
  }
  .p-trial__cta__ttl {
    margin: 0 calc((3.75vw + 6px)*-1);
    padding: .75vw 0;
    text-align: center;
    font-size: 5.5vw
  }
  .p-trial__cta__ttl::before {
    position: absolute;
    top: 100%;
    left: 0;
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 6px 5px 0;
    border-color: rgba(0, 0, 0, 0) #a35005 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    content: ""
  }
  .p-trial__cta__ttl>span {
    padding: 2.5vw
  }
  .p-trial__cta__list {
    margin-top: 3.75vw
  }
  .p-trial__cta__list>li {
    padding-left: 6.25vw;
    font-size: 5vw;
    line-height: 1.5188305253;
    background-size: 4.75vw auto
  }
  .p-trial__cta__txt {
    margin-top: 6.25vw;
    font-size: 3.75vw
  }
  .p-trial__cta__btn {
    margin-top: 5vw;
    height: 10.5vw
  }
  .p-trial__cta__btn::after {
    margin-left: auto
  }
  .p-trial__cta__btn .c-btn-cta__sub {
    width: 28.75vw;
    height: 6.5vw
  }
  .p-trial__cta__btn .c-btn-cta__main {
    font-size: 4.75vw
  }
}

.p-voice {
  position: relative;
  background: #f2f2e2
}

.p-voice__ttl {
  text-align: center;
  font-weight: 900;
  line-height: 1
}

.p-voice__ttl__sub {
  position: absolute;
  left: 0;
  width: 100%;
  display: block;
  color: #fff;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain
}

.p-voice__ttl__main {
  display: block;
  color: #ff8200;
  background: url("../img/line_dot-org.svg") no-repeat center bottom
}

.p-voice__lede {
  font-weight: 700
}

.p-voice__lede em {
  color: #ffa000
}

.p-voice__box {
  position: relative;
  background: #fff;
  border-radius: 10px
}

.p-voice__box::before, .p-voice__box::after {
  position: absolute;
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  content: ""
}

.p-voice__box::after {
  -webkit-transform: scaleX(-1);
  transform: scaleX(-1)
}

.p-voice__box:nth-of-type(1)::before {
  background-image: url("../img/voice_pin-red.svg")
}

.p-voice__box:nth-of-type(1)::after {
  background-image: url("../img/voice_pin-blu.svg")
}

.p-voice__box:nth-of-type(2)::before {
  background-image: url("../img/voice_pin-grn.svg")
}

.p-voice__box:nth-of-type(2)::after {
  background-image: url("../img/voice_pin-red.svg")
}

.p-voice__box:nth-of-type(3)::before {
  background-image: url("../img/voice_pin-blu.svg")
}

.p-voice__box:nth-of-type(3)::after {
  background-image: url("../img/voice_pin-grn.svg")
}

.p-voice__box__fig img {
  display: block;
  width: 100%
}

.p-voice__box__txt {
  position: relative;
  line-height: 1.6153846154;
  background: #ffea8a;
  border-radius: 8px
}

.p-voice__box__txt::before {
  position: absolute;
  right: 50%;
  -webkit-transform: translateX(50%);
  transform: translateX(50%);
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #ffea8a rgba(0, 0, 0, 0);
  content: ""
}

.p-voice__box__txt p {
  position: relative;
  z-index: 2
}

.p-voice__box__txt em {
  color: #e97800
}

.p-voice__etc {
  position: relative;
  background: #fff url("../img/voice_bg.png") no-repeat right top;
  border-radius: 10px
}

.p-voice__etc__ttl {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  font-weight: 900;
  line-height: 1;
  color: #fff;
  background: url("../img/voice_etc_ttl.svg") no-repeat center top/contain
}

.p-voice__etc__name {
  font-weight: 700;
  color: #41bdce;
  border-bottom: solid 1px #41bdce
}

.p-voice__etc__txt {
  line-height: 1.6153846154
}

@media screen and (min-width: 768px) {
  .p-voice {
    padding: 55px 0 105px
  }
  .p-voice__ttl__sub {
    top: -30px;
    height: 84px;
    padding-top: 15px;
    font-size: 2.4rem;
    background-image: url("../img/voice_subttl-pc.svg")
  }
  .p-voice__ttl__main {
    padding-bottom: 20px;
    font-size: 3.7333333333rem
  }
  .p-voice__lede {
    margin-top: 24px;
    text-align: center;
    font-size: 1.3333333333rem
  }
  .p-voice__boxs {
    margin-top: 40px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between
  }
  .p-voice__box {
    width: 324px;
    padding: 20px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column
  }
  .p-voice__box::before, .p-voice__box::after {
    top: -11px;
    width: 19px;
    height: 22px
  }
  .p-voice__box::before {
    left: 5px
  }
  .p-voice__box::after {
    right: 5px
  }
  .p-voice__box__txt {
    margin-top: 15px;
    -webkit-box-flex: 1;
    -webkit-flex: 1 1 10%;
    -ms-flex: 1 1 10%;
    flex: 1 1 10%;
    min-height: 0;
    padding: 15px;
    font-size: .8666666667rem
  }
  .p-voice__box__txt::before {
    top: -10px;
    border-width: 0 11px 20px 11px
  }
  .p-voice__etc {
    margin-top: 70px;
    padding: 50px 30px 25px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 20px 0;
    background-size: 292px auto
  }
  .p-voice__etc__ttl {
    top: -30px;
    height: 62px;
    padding: 14px 0;
    font-size: 2rem
  }
  .p-voice__etc__item {
    width: 450px
  }
  .p-voice__etc__name {
    padding: 0 5px 8px;
    font-size: 1.1333333333rem
  }
  .p-voice__etc__txt {
    margin-top: 15px;
    font-size: .8666666667rem
  }
}

@media screen and (max-width: 767px) {
  .p-voice {
    padding: 7.5vw 5vw 10vw
  }
  .p-voice__ttl__sub {
    top: -5.5vw;
    height: 11.25vw;
    padding-top: 2.5vw;
    font-size: 4.5vw;
    background-image: url("../img/voice_subttl-sp.svg")
  }
  .p-voice__ttl__main {
    padding-bottom: 3.25vw;
    font-size: 10vw;
    background-size: 51.75vw auto
  }
  .p-voice__lede {
    margin-top: 5vw;
    font-size: 4.25vw;
    line-height: 1.5882352941
  }
  .p-voice__boxs {
    margin-top: 7.5vw
  }
  .p-voice__box {
    padding: 5vw
  }
  .p-voice__box::before, .p-voice__box::after {
    top: -2.75vw;
    width: 4.75vw;
    height: 5.5vw
  }
  .p-voice__box::before {
    left: 1.25vw
  }
  .p-voice__box::after {
    right: 1.25vw
  }
  .p-voice__box:nth-of-type(n+2) {
    margin-top: 5.75vw
  }
  .p-voice__box__txt {
    margin-top: 4.25vw;
    padding: 3.75vw;
    font-size: 3.25vw
  }
  .p-voice__box__txt::before {
    top: -2.5vw;
    border-width: 0 2.75vw 5vw 2.75vw
  }
  .p-voice__etc {
    margin-top: 13.75vw;
    padding: 10vw 5vw 5vw;
    background-size: 50.75vw auto
  }
  .p-voice__etc__ttl {
    top: -5.75vw;
    height: 11.5vw;
    padding: 3vw 0;
    font-size: 5vw
  }
  .p-voice__etc__item:nth-of-type(n+2) {
    margin-top: 5vw
  }
  .p-voice__etc__name {
    padding: 0 .75vw 2vw;
    font-size: 4.25vw
  }
  .p-voice__etc__txt {
    margin-top: 2.5vw;
    font-size: 3.25vw
  }
}

@media screen and (min-width: 768px) {
  .u-sp-scroll__guide {
    display: none !important
  }
}

@media screen and (max-width: 767px) {
  .u-sp-scroll {
    margin: 0 -5vw;
    padding: 0 5vw;
    overflow-x: auto
  }
  .u-sp-scroll :first-child {
    white-space: nowrap;
    margin: 10px 0
  }
  .u-sp-scroll::-webkit-scrollbar {
    height: 6px
  }
  .u-sp-scroll::-webkit-scrollbar-thumb {
    background: #999
  }
  .u-sp-scroll::-webkit-scrollbar-track {
    background: #ccc
  }
  .u-sp-scroll__guide {
    margin-top: 3vw;
    font-size: 3.5vw;
    font-weight: 500;
    color: #ff8200
  }
}

@media screen and (min-width: 768px) {
  .u-wrap, .u-wrap--min {
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 1000px
  }
  .u-wrap--min {
    max-width: 910px
  }
}

@media screen and (max-width: 767px) {
  .u-wrap--min {
    padding: 0 5vw
  }
}

@media screen and (max-width: 767px){
    .sp_none {
    display:none;
    }
 }

 @media screen and (min-width: 768px) {
    .u-warp {
        width:50%;
    }
 }


/* karteから追加 */
@media screen and (max-width: 767px) {
  .c-headline__main, .campaign {
    font-size:6.6vw
      }
.under-text {
  text-align: center;
  padding: 0 5% 0 5%;
  font-size: 0.0001em
  }
}

.present {
  text-align: center;
}

.under-text2 {
  text-align: center;
  padding: 0 5% 0 5%;
  font-size: 0.0001em
  }

@media screen and (max-width: 767px) {
  .spnone {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .p-option2 {
    padding: 30px 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .p-option2 {
    padding: 7.5vw 0 4vw;
  }
}

@media screen and (max-width: 767px) {
  .c-btn-cta__main2 {
    margin-left: 1.25vw;
    font-size: 5vw;
  }
}

.c-btn-cta__main4 {
  margin-left: 1.25vw;
  font-size: 4.3vw;
}


@media screen and (max-width: 767px) {
  .c-btn-cta__main3 {
    margin-left: 1.25vw;
    font-size: 3.8vw;
  }
}
@media screen and (min-width: 768px) {
  .c-btn-cta__main3 {
    margin-left: 1.25vw;
    font-size: 2.5rem;
  }

  .c-btn-cta__main4 {
    margin-left: 1.25vw;
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  .p-option__box__h.p-option__box__h2 {
    font-size:6.6vw
  }
}

section.p-experienced {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

@media screen and (min-width: 768px) {
  .under-text {
    text-align: center;
  }
}


.experience-contact {
  color: #ff8200;
}

/* karte追加 */
@media screen and (min-width: 768px) {
  .p-trial__cta {
    height: 300px;
  }
}

@media screen and (min-width: 768px) {
  .p-difference {
      margin-top: -6%;
  }
  
  
    .c-btn-cta__sub {
      width: 130px;
      height: 50px;
      font-size: 1.8666666667rem;
      border-radius: 10px
    }
  }

@media screen and (max-width: 767px){
  .p-trial-license {
    padding: 12.5vw 0 0;
  }
  .float-bnr2 {
    padding-top: 7%;
  }
}
@media screen and (min-width: 768px){
  .p-trial-license {
    padding: 10vw 0 7vw
  }
  .float-bnr2 {
    padding-top: 5%;
  }
}


.container {
  max-width: 800px;
  margin: 0 auto;
  background-color: #fff;
  padding: 20px;
  border-radius: 10px;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
}
.main-title {
  font-size: 28px;
  font-weight: bold;
  color: #ff6600;
  text-align: center;
  margin-bottom: 20px;
}
.simulation {
  background-color: #4a6b8a;
  color: white;
  padding: 20px;
  border-radius: 10px;
  margin-top: 20px;
}
.simulation-title {
  text-align: center;
  font-size: 20px;
  margin-bottom: 15px;
  font-weight: bold;
}
.simulation-content {
  background-color: white;
  color: #333;
  padding: 20px;
  border-radius: 8px;
}
.course-title {
  background-color: #6989aa;
  color: white;
  padding: 10px;
  border-radius: 5px;
  font-size: 18px;
  margin-bottom: 15px;
}
.course-description {
  margin-bottom: 15px;
}
.subsidy-details {
  margin-bottom: 20px;
}
.subsidy-item {
  background-color: #e6f3ff;
  padding: 10px;
  border-radius: 5px;
  margin-bottom: 10px;
}
.subsidy-item p {
  margin: 0;
}
.subsidy-type {
  font-weight: bold;
  margin-bottom: 5px;
}
.subsidy-amount {
  color: #4a6b8a;
}
.result {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 20px;
}
.result-item {
  width: 100%;
  padding: 15px;
  border-radius: 8px;
  margin-bottom: 10px;
  box-sizing: border-box;
  text-align: center;
}
.result-label {
  font-size: 16px;
  margin-bottom: 5px;
}
.result-value {
  font-size: 24px;
  font-weight: bold;
}
.subsidy-result {
  background-color: #4a6b8a;
  color: white;
  width: 50%;
}
.actual-cost {
  background-color: #ff9933;
  color: white;
  width: 75%;
}
.actual-cost .result-value {
  font-size: 36px;
}

.p-experienced {
  background: #f8f9fa;
  padding: 5rem 0;
  position: relative;
}

.p-experienced__heading {
  text-align: center;
  font-size: 2.8rem;
  line-height: 1.6;
  margin-bottom: 3rem;
}

.emphasis-text {
  background: linear-gradient(transparent 60%, #FFE566 60%);
  font-weight: bold;
  color: #FF6B00;
}

.benefit-list {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 3px 15px rgba(0,0,0,0.1);
}

.benefit-list li {
  font-size: 1.8rem;
  margin-bottom: 1.5rem;
  padding-left: 2rem;
  position: relative;
}

.highlight {
  color: #FF6B00;
  font-weight: bold;
}

.limited-text {
  text-align: center;
  font-size: 1.6rem;
  color: #E54545;
  margin: 2rem 0;
}

.emphasis-number {
  font-size: 3rem;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .p-experienced__heading {
    font-size: 2rem;
    padding-top: 2rem;
  }
  
  .p-experienced__benefits {
    padding-left: 5vw;
    padding-right: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .bnr-free {
    display: none;
  }
  
  #float-bnr2 {
    display: none;
  }
}

#float-bnr2-2 {
  background-color: #CDFAF9;
}

/* p-indoor セクションのスタイル調整 */
.p-indoor {
  padding: 40px 0;
  background-color: #f5f9fc;
}

.p-indoor__ttl {
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
  color: #003f8c;
}

.p-indoor__boxs {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
}

.p-indoor__box {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
  padding: 15px;
  width: calc(50% - 10px);
  transition: transform 0.3s ease;
}

.p-indoor__box:hover {
  transform: translateY(-5px);
}

.p-indoor__box__fig {
  margin-bottom: 15px;
  overflow: hidden;
  border-radius: 5px;
}

.p-indoor__box__fig img {
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

.p-indoor__box:hover .p-indoor__box__fig img {
  transform: scale(1.05);
}

.p-indoor__box__h {
  font-size: 20px;
  font-weight: bold;
  color: #003f8c;
  margin-bottom: 10px;
  text-align: center;
}

.p-indoor__box__txt {
  font-size: 14px;
  line-height: 1.6;
  color: #333;
}

/* スマートフォン向けスタイル */
@media screen and (max-width: 767px) {
  .p-indoor {
    padding: 30px 0;
  }
  
  .p-indoor__ttl {
    font-size: 20px;
    margin-bottom: 20px;
  }
  
  .p-indoor__boxs {
    flex-direction: column;
  }
  
  .p-indoor__box {
    width: 100%;
    margin-bottom: 15px;
  }
  
  .p-indoor__box__h {
    font-size: 18px;
  }
  
  .p-indoor__box__txt {
    font-size: 13px;
  }
  
  .p-indoor__box__fig {
    margin-bottom: 10px;
  }
}

/* タブレット向けスタイル */
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .p-indoor__box {
    width: calc(50% - 10px);
  }
  
  .p-indoor__box__h {
    font-size: 18px;
  }
}

/* 大きな画面向けの追加スタイル */
@media screen and (min-width: 1200px) {
  .p-indoor__box {
    max-width: 570px;
  }
  
  .p-indoor__box__fig img {
    height: 340px;
    object-fit: cover;
  }
}

/* アクセスセクションの施設画像：SP時は縮小・全体表示 */
@media (max-width: 768px) {
  .location-content img {
    height: auto !important;
    max-height: 40vw !important;
    width: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 5px;
    display: block;
  }
}

@media (max-width: 768px) {
  .cta-buttons {
    flex-direction: column !important;
    gap: 15px !important;
    align-items: center;
  }
  .cta-btn {
    width: 90% !important;
    max-width: 300px !important;
    padding: 14px 20px !important;
    font-size: 1.1rem !important;
    margin: 0 auto !important;
  }
}