@font-face {
    src: url("../fonts/cr-regular.woff2") format("woff2"), url("../fonts/cr-regular.woff") format("woff");
    font-display: swap;
    font-family: "en"
}
/*! http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video, button {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {
    display: block
}
body {
    line-height: 1
}
ol, ul {
    list-style: none
}
blockquote, q {
    quotes: none
}
blockquote:before, blockquote:after, q:before, q:after {
    content: "";
    content: none
}
table {
    border-collapse: collapse;
    border-spacing: 0
}
input, button, textarea, select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none
}
html {
    height: 100%;
    font-size: 62.5%
}
body {
    word-wrap: break-word;
    visibility: visible;
    height: 100%;
    color: #333;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.4rem;
    font-weight: 400;
    letter-spacing: 0.05em;
    line-height: 1.75;
    text-align: left
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}
a {
    color: inherit;
    text-decoration: none;
    cursor: pointer
}
table, td, th {
    border-collapse: collapse
}
b, strong {
    font-weight: 500
}
img {
    display: block;
    height: auto
}
input::-webkit-input-placeholder {
    color: #adadad
}
input::-moz-placeholder {
    color: #adadad
}
input:-ms-input-placeholder {
    color: #adadad
}
input::-ms-input-placeholder {
    color: #adadad
}
input::placeholder {
    color: #adadad
}
input:-ms-input-placeholder {
    color: #adadad
}
input::-ms-input-placeholder {
    color: #adadad
}
sup {
    -webkit-transform: scale(0.75);
    -webkit-transform-origin: top left;
    display: inline-block;
    transform: scale(0.75);
    transform-origin: top left
}
.c-ff-en {
    font-family: "en"
}
.c-red {
    color: #e60012
}
.c-bg-red {
    background-color: #e60012
}
.c-bg-red2 {
    background-color: #fff3f3
}
.c-bg-black {
    background-color: #333
}
.c-ta-c {
    text-align: center
}
.c-huti {
    -webkit-text-stroke: 0.03em #333;
    text-stroke: 0.03em #333;
    color: transparent
}
.c-huti--red {
    -webkit-text-stroke: 0.03em #e60012;
    text-stroke: 0.03em #e60012
}
.c-scroll {
    margin-right: -5.33333vw;
    overflow: auto
}
.c-over-h {
    overflow: hidden
}
.c-indent {
    padding-left: 1.05em;
    text-indent: -1.05em
}
.c-preload {
    display: none;
    width: 0px;
    height: 0px
}
.u-bg-white {
    background-color: #fff
}
.u-bg-blue {
    background-color: #edf1f4
}
.u-bg-red {
    background-color: #fff3f3
}
.u-c-white {
    color: #fff
}
.u-fw-4 {
    font-weight: 400
}
.u-fw-6 {
    font-weight: 600
}
.u-fw-7 {
    font-weight: 700
}
.u-fw-9 {
    font-weight: 900
}
.o-ttl-lv1 {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.o-ttl-lv1 small {
    font-size: 16px;
    font-size: 4.26667vw
}
.o-ttl-lv1 strong {
    font-size: 35px;
    font-size: 9.33333vw;
    font-weight: 900;
    line-height: 1
}
.o-ttl-lv1 .c-red {
    font-weight: 900
}
.o-ttl-lv2 {
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700
}
.o-ttl-lv2 strong {
    margin-left: 2.66667vw;
    font-size: 30px;
    font-size: 8vw;
    font-weight: 700
}
.o-ttl-lv3 {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.o-ttl--alc {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center
}
.o-ttl--jcc {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center
}
.o-page-ttl {
    margin-top: 10.66667vw;
    font-size: 28px;
    font-size: 7.46667vw;
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}
.o-page-ttl-sub {
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}
.o-page-ttl--course {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3
}
.o-page-ttl--course small {
    margin-right: 0.5em;
    font-size: 16px;
    font-size: 4.26667vw
}
.p-page-text {
    font-size: 18px;
    font-size: 4.8vw;
    text-align: center
}
.o-list li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 16px;
    font-size: 4.26667vw;
    letter-spacing: 0.05em;
    line-height: 1.25
}
.o-list li img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 5.86667vw;
    margin-right: 2.66667vw
}
.o-list li:nth-child(n+2) {
    margin-top: 5.33333vw
}
.o-list--imgwide li {
    font-size: 14px;
    font-size: 3.73333vw
}
.o-list--imgwide li img {
    width: 29.33333vw;
    margin-right: 4.26667vw
}
.o-list--imgwide2 li {
    font-size: 14px;
    font-size: 3.73333vw
}
.o-list--imgwide2 li p {
    width: 100%
}
.o-list--imgwide2 li dl dt {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.o-list--imgwide2 li dl dt span {
    display: block;
    margin: 0 0 2.66667vw 0
}
.o-list--imgwide2 li .icon {
    width: 29.33333vw;
    margin-right: 5.33333vw
}
.o-list--imgwide2 li:nth-child(n+2) {
    margin-top: 8vw
}
.o-list--imgwide2--course li dl dt {
    font-size: 20px;
    font-size: 5.33333vw
}
.o-list--imgwide2--course li .icon {
    width: 26.66667vw;
    margin-right: 2.66667vw
}
.o-carlist {
    -ms-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    font-weight: 700
}
.o-carlist li {
    width: 42.66667vw
}
.o-carlist li a {
    display: block
}
.o-carlist li img {
    display: block;
    width: 100%
}
.o-carlist li .ttl {
    position: relative;
    font-size: 16px;
    font-size: 4.26667vw
}
.o-carlist li .course {
    height: 10.66667vw;
    color: #fff;
    font-size: 12px;
    font-size: 3.2vw;
    font-weight: 900;
    line-height: 10.66667vw;
    text-align: center
}
.o-carlist li .box {
    font-weight: 900
}
.o-carlist li .box .monthly {
    font-size: 20px;
    font-size: 5.33333vw
}
.o-carlist li .box strong {
    display: block;
    font-size: 40px;
    font-size: 10.66667vw;
    line-height: 1
}
.o-carlist li .box small {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 400
}
.o-carlist li .box small .kara {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1
}
.o-carlist li:nth-child(n+3) {
    margin-top: 5.33333vw
}
.o-carlist--service li .text {
    font-size: 12px;
    font-size: 3.2vw;
    font-weight: 700
}
.o-carlist--service li .text span {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 12px;
    font-size: 3.2vw
}
.o-carlist--service li .text span strong {
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 900
}
.o-carlist--service li .option {
    padding: 2.66667vw;
    background-color: #edf1f4;
    font-size: 12px;
    font-size: 3.2vw;
    font-weight: 700;
    line-height: 1.5
}
.o-carlist--service li .option strong {
    display: block;
    font-size: 28px;
    font-size: 7.46667vw;
    line-height: 1;
    text-align: right
}
.o-carlist--service li .box {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: space-between
}
.o-carlist--service li .box .monthly {
    font-size: 14px;
    font-size: 3.73333vw
}
.o-carlist--service li .box strong {
    font-size: 36px;
    font-size: 9.6vw;
    letter-spacing: 0
}
.o-btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-transition: background-color 0.5s, color 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 59.46667vw;
    height: 14.93333vw;
    border: solid .8vw;
    border-radius: 7.46667vw;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700;
    cursor: pointer;
    transition: background-color 0.5s, color 0.5s
}
.o-btn:before {
    -webkit-transform: scale(0.5) rotate(-90deg);
    margin-right: 2.66667vw;
    transform: scale(0.5) rotate(-90deg);
    content: "▼"
}
.o-btn:hover {
    background-color: #e60012;
    color: #fff
}
.o-btn--s {
    width: 38.93333vw
}
.o-btn--s:before {
    -webkit-transform: scale(1);
    display: block;
    width: 1.5em;
    height: 1.5em;
    transform: scale(1);
    background-image: url("../images/common/icon_search.png");
    background-repeat: no-repeat;
    background-size: contain;
    content: ""
}
.o-btn-type02 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 14.93333vw;
    border-radius: 2.66667vw;
    background-color: #fff;
    background-color: #e60012;
    color: #fff;
    font-size: 18px;
    font-size: 4.8vw;
    font-weight: 700;
    cursor: pointer
}
.o-btn-type02 span {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-transition: -webkit-transform 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8vw;
    height: 8vw;
    margin-right: 2.66667vw;
    border-radius: 4vw;
    background-color: #fff;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s
}
.o-btn-type02 span img {
    display: block;
    width: 3.73333vw
}
.o-btn-type02:hover span {
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}
.o-btn-type03 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 14.93333vw;
    border-radius: 2.66667vw;
    background-color: #fff;
    background-color: #e60012;
    color: #fff;
    font-size: 18px;
    font-size: 4.8vw;
    font-weight: 700;
    text-align: center;
    cursor: pointer
}
.o-btn-type03 span {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-transition: -webkit-transform 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 5.33333vw;
    align-items: center;
    justify-content: center;
    width: 8vw;
    height: 8vw;
    margin: auto 0;
    border-radius: 4vw;
    background-color: #fff;
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s
}
.o-btn-type03 span img {
    display: block;
    width: 3.73333vw
}
.o-btn-type03--gray {
    -webkit-filter: saturate(0);
    filter: saturate(0);
    opacity: 0.7
}
.o-btn-type03:hover span {
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}
.o-link {
    text-decoration: underline
}
.o-link:hover {
    text-decoration: none
}
.o-contact {
    padding: 8vw 5.33333vw;
    background-color: #edf1f4
}
.o-contact__box {
    font-weight: 700
}
.o-contact__box dl {
    padding: 5.33333vw;
    border-radius: 2.66667vw;
    background-color: #fff
}
.o-contact__box dl dd {
    font-size: 16px;
    font-size: 4.26667vw
}
.o-contact__box dl dd small {
    display: block;
    font-size: 12px;
    font-size: 3.2vw;
    font-weight: 400
}
.o-contact__box dl dd strong {
    font-size: 36px;
    font-size: 9.6vw;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1
}
.o-banner {
    display: block;
    width: 100%
}
.o-pdf {
    background-image: url("../images/common/icon_pdf.svg");
    background-position: right 4vw center;
    background-repeat: no-repeat;
    background-size: 1em
}
.o-fixd {
    -webkit-transform: translateY(-50%);
    -webkit-transition: opacity 0.4s, visibility 0.4s, z-index 0.4s;
    -webkit-box-shadow: 0 3px 3px 0 rgb(55 30 0 / 10%);
    visibility: hidden;
    z-index: 10;
    position: fixed;
    top: 50%;
    right: 0;
    left: auto;
    padding: 20px;
    transform: translateY(-50%);
    border-radius: 5px 0 0 5px;
    background-color: #fff;
    box-shadow: 0 3px 3px 0 rgb(55 30 0 / 10%);
    opacity: 0;
    transition: opacity 0.4s, visibility 0.4s, z-index 0.4s
}
.o-fixd__btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background-color: #d64518;
    cursor: pointer
}
.o-fixd__btn img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 30px
}
.o-fixd__btn--top {
    margin-top: 10px;
    background-color: #fc9845
}
.o-fixd__btn--top:before {
    -webkit-transform: rotate(-45deg);
    display: block;
    width: 20px;
    height: 20px;
    margin: 10px auto 0 auto;
    transform: rotate(-45deg);
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    content: ""
}
.o-fixd.is-active {
    visibility: visible;
    z-index: 11;
    opacity: 0.8
}
.o-fixd.is-active+.o-fixd.is-active {
    visibility: hidden;
    z-index: 10;
    opacity: 0
}
.o-fixd--contact {
    padding: 40px
}
.o-fixd__ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 2.4rem
}
.o-fixd__ttl .o-fixd__btn {
    margin-right: 20px;
    cursor: auto
}
.o-fixd__tel {
    color: #d64518;
    font-size: 3.6rem;
    font-weight: 700
}
.o-fixd__text {
    font-size: 1.5rem
}
.o-fixd__link {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 265px;
    height: 50px;
    margin-top: 15px;
    background-color: #d64518;
    color: #fff
}
.o-fixd__link+.o-fixd__link {
    margin-top: 10px
}
.o-fixd__close {
    position: absolute;
    top: 40px;
    right: 40px;
    width: 30px;
    height: 20px;
    cursor: pointer
}
.o-fixd__close:before, .o-fixd__close:after {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 4px;
    border-radius: 4px;
    background-color: #dadcd7;
    content: ""
}
.o-fixd__close:before {
    -webkit-transform: translateY(8px) rotate(-45deg);
    top: 0;
    transform: translateY(8px) rotate(-45deg)
}
.o-fixd__close:after {
    -webkit-transform: translateY(-8px) rotate(45deg);
    bottom: 0;
    transform: translateY(-8px) rotate(45deg)
}
.o-pagenavi {
    font-size: 14px;
    font-size: 3.73333vw
}
.o-pagenavi .wp-pagenavi {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center
}
.o-pagenavi .current, .o-pagenavi .page, .o-pagenavi .nextpostslink, .o-pagenavi .previouspostslink {
    -webkit-transition: border-color 0.5s, color 0.5s;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2em;
    height: 2em;
    margin: 0 0.25em;
    padding: 0;
    border: solid 1px rgba(0, 0, 0, 0);
    border-radius: 1em;
    transition: border-color 0.5s, color 0.5s
}
.o-pagenavi .current:hover, .o-pagenavi .page:hover, .o-pagenavi .nextpostslink:hover, .o-pagenavi .previouspostslink:hover {
    border-color: #e60012;
    color: #e60012
}
.o-pagenavi .current {
    border-color: #e60012;
    color: #e60012
}
.o-postnavi {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: space-between
}
.o-postnavi li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-transition: color 0.5s, background-color 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    height: 3.6em;
    padding: 0 1.2em;
    border: solid 0.2em #e60012;
    border-radius: 1.8em;
    color: #e60012;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700;
    transition: color 0.5s, background-color 0.5s
}
.o-postnavi li a:before {
    -webkit-transform: scale(0.5);
    margin: 0 0.1em 0 0;
    transform: scale(0.5);
    content: "?"
}
.o-postnavi li a:hover {
    background-color: #e60012;
    color: #fff
}
.o-postnavi li:nth-child(2) a:before {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
    margin: 0 0 0 0.1em;
    content: "?"
}
@-webkit-keyframes mvTextdt {
    0% {
        width: 0%
    }
    100% {
        width: 100%
    }
}
@keyframes mvTextdt {
    0% {
        width: 0%
    }
    100% {
        width: 100%
    }
}
@-webkit-keyframes mvTextbefore {
    0% {
        left: 0%
    }
    100% {
        left: 100%
    }
}
@keyframes mvTextbefore {
    0% {
        left: 0%
    }
    100% {
        left: 100%
    }
}
/*! purgecss start ignore */
.slick-slider {
    -webkit-box-sizing: border-box;
    -ms-touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    box-sizing: border-box;
    display: block;
    position: relative;
    touch-action: pan-y;
    user-select: none
}
.slick-list {
    display: block;
    position: relative;
    margin: 0;
    padding: 0
}
.slick-list:focus {
    outline: none
}
.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}
.slick-slider .slick-track, .slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}
.slick-track {
    display: block;
    position: relative;
    top: 0;
    left: 0;
    margin-right: auto;
    margin-left: auto
}
.slick-track:before, .slick-track:after {
    display: table;
    content: ""
}
.slick-track:after {
    clear: both
}
.slick-loading .slick-track {
    visibility: hidden
}
.slick-slide {
    display: none;
    min-height: 1px;
    float: left
}
[dir="rtl"] .slick-slide {
    float: right
}
.slick-slide img {
    display: block
}
.slick-slide.slick-loading img {
    display: none
}
.slick-slide.dragging img {
    pointer-events: none
}
.slick-initialized .slick-slide {
    display: block
}
.slick-loading .slick-slide {
    visibility: hidden
}
.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent
}
.slick-arrow.slick-hidden {
    display: none
}
/*! purgecss end ignore */
.slick-arrow {
    z-index: 2;
    position: absolute;
    bottom: 48%;
    left: -10px;
    width: get_vw(40);
    height: get_vw(40);
    background-image: url("../images/common/arrows.png");
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 0;
    cursor: pointer
}
.slick-next {
    -webkit-transform: rotate(180deg);
    right: -10px;
    left: auto;
    transform: rotate(180deg)
}
.l-main {
    padding-top: 21.33333vw;
    padding-bottom: 16vw
}
@media (max-width: 768px) {
	.l-main {
		padding-top:14.33333vw;
	}
}
.l-header {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-transition: background-color 0.5s, color 0.5s, -webkit-filter 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 10;
    position: fixed;
    top: 0;
    left: 0;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 21.33333vw;
    padding: 0 5.33333vw;
    transition: background-color 0.5s, color 0.5s, -webkit-filter 0.5s;
    transition: background-color 0.5s, color 0.5s, filter 0.5s;
    transition: background-color 0.5s, color 0.5s, filter 0.5s, -webkit-filter 0.5s
}
.l-header.white {
    background-color: #fff
}
.l-header.white .l-nav ul li a {
    color: #333
}
.l-header.white .l-header__icon {
    -webkit-filter: invert(100%);
    filter: invert(100%)
}
.l-header.hide {
    -webkit-transform: translateY(-21.33333vw);
    transform: translateY(-21.33333vw)
}
.l-header__logo a {
    -webkit-transition: opacity 0.5s;
    display: block;
    transition: opacity 0.5s
}
.l-header__logo a img {
    width: 53.33333vw
}
.l-header__logo a:hover {
    opacity: 0.5
}
.l-header__icon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center
}
.l-header__icon li a {
    display: block;
    width: 1.5625vw;
    height: 1.5625vw
}
.l-header__icon li a img {
    -o-object-fit: contain;
    width: 100%;
    height: 100%;
    object-fit: contain
}
.l-header__icon li:nth-child(n+2) {
    margin-left: 1.5625vw
}
.l-header__fixd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 10;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 13.33333vw;
    background-color: #fff
}
.l-header__fixd li a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44vw;
    height: 100%;
    border: solid .53333vw #e60012;
    color: #e60012;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700
}
.l-header__fixd li a img {
    width: 5.33333vw;
    margin-right: 2.66667vw
}
.l-header__fixd li:nth-child(n+2) a {
    width: 56vw;
    background-color: #e60012;
    color: #fff
}
.l-nav {
    margin: 0 0 0 auto
}
.l-nav ul {
    -webkit-transition: right 0.5s;
    position: fixed;
    top: 21.33333vw;
    right: -100vw;
    width: 100%;
    padding: 0 5.33333vw;
    background-color: #fff;
    transition: right 0.5s
}
.l-nav ul.is-active {
    right: 0
}
.l-nav ul li a {
    -webkit-transition: color 0.5s;
    font-size: 16px;
    font-size: 4.26667vw;
    white-space: nowrap;
    transition: color 0.5s
}
.l-nav ul li a:hover {
    color: #e60012 !important
}
.l-nav__btn:before, .l-nav__btn:after, .l-nav__btn span {
    -webkit-transition: background-color 0.5s, width 0.5s, margin 0.5s;
    display: block;
    width: 10.66667vw;
    height: 1.06667vw;
    border-radius: .53333vw;
    background-color: #e60012;
    content: "";
    transition: background-color 0.5s, width 0.5s, margin 0.5s
}
.l-nav__btn span {
    margin: 2.66667vw auto
}
.l-nav__btn.is-active:before, .l-nav__btn.is-active:after, .l-nav__btn.is-active span {
    background-color: #3a3a3a
}
.l-nav__btn.is-active span {
    width: 0;
    margin: -1.06667vw auto
}
.l-nav__btn.is-active:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}
.l-nav__btn.is-active:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}
.l-footer {
    padding: 10.66667vw 5.33333vw 24vw 5.33333vw;
    border-top: solid 1px #ccc;
    text-align: center
}
.l-footer__logo {
    -webkit-transition: opacity 0.5s;
    display: block;
    width: 42.66667vw;
    margin: 0 auto;
    transition: opacity 0.5s
}
.l-footer__logo:hover {
    opacity: 0.5
}
.l-footer__logo img {
    width: 100%
}
.l-footer__text {
    margin-top: 1.5625vw;
    font-size: 24px;
    font-size: 6.4vw;
    letter-spacing: 0.05em
}
.l-footer__text p {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center
}
.l-footer__text strong {
    font-weight: 900
}
.l-footer__text small {
    margin-left: .52083vw;
    font-size: 14px;
    font-size: 3.73333vw
}
.l-footer__copy {
    display: block;
    margin-top: 5.33333vw;
    font-size: 11px;
    font-size: 2.93333vw;
    letter-spacing: 0.05em
}
.l-content__in {
    padding-right: 5.33333vw;
    padding-left: 5.33333vw
}
.p-index__mv {
    width: 100%;
    border-bottom: solid 1px #ccc
}
.p-index__mv__slider {
    width: 100%;
    height: 156.26vw;
    overflow: hidden;
    opacity: 0
}
.p-index__mv__slider.slick-initialized {
    height: auto;
    opacity: 1
}
.p-index__mv__slider__item {
    position: relative;
    width: 100%
}
.p-index__mv__slider__item a {
    display: block;
    width: 100%
}
.p-index__mv picture, .p-index__mv img {
    width: 100%
}
.p-index__mv__in {
    -webkit-box-align: end;
    -ms-flex-align: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 0;
    bottom: 0;
    align-items: flex-end;
    margin: auto 0;
    padding: 10.66667vw;
    color: #fff
}
.p-index__mv__in dl dt {
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.3
}
.p-index__mv__in dl dd {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 2.66667vw;
    overflow: hidden;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700;
    letter-spacing: 0.05em;
    line-height: 1.5
}
.p-index__mv__in dl dd span {
    font-size: 30px;
    font-size: 8vw
}
.p-index__mv__in dl dd small {
    margin-right: 2.66667vw;
    font-size: 24px;
    font-size: 6.4vw;
    line-height: 1.25
}
.p-index__mv__in dl dd strong {
    font-size: 60px;
    font-size: 16vw;
    letter-spacing: 0;
    line-height: 1
}
.p-index__mv .slick-list {
    line-height: 0
}
.p-index__mv .slick-dots {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    align-items: center;
    height: 21.33333vw;
    margin: 0 0 0 5.33333vw
}
.p-index__mv .slick-dots li {
    color: #aaaaaa;
    font-size: 0
}
.p-index__mv .slick-dots li button {
    color: inherit
}
.p-index__mv .slick-dots li:nth-child(n+2) {
    margin-left: 3.73333vw
}
.p-index__mv .slick-dots li.slick-active {
    color: #e60012
}
.p-index__mv__course {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -webkit-transition: opacity 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 1;
    position: relative;
    align-items: center;
    justify-content: space-between;
    width: 56vw;
    height: 21.33333vw;
    margin: -21.33333vw 0 0 auto;
    padding: 0 5.33333vw 0 2.66667vw;
    border-left: solid 1px #ccc;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 900;
    letter-spacing: 0.05em;
    line-height: 1.4;
    transition: opacity 0.5s
}
.p-index__mv__course:hover {
    opacity: 0.5
}
.p-index__mv__course .car {
    width: 16vw
}
.p-index__mv__course .arrow {
    width: 2.66667vw
}
.p-index__nav ul {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    line-height: 1
}
.p-index__nav ul li a {
    -webkit-transition: color 0.3s;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700;
    letter-spacing: 0.1em;
    transition: color 0.3s
}
.p-index__nav ul li a:hover {
    color: #e60012
}
.p-index__nav ul li:nth-child(n+2) {
    margin-left: 2.08333vw;
    padding-left: 2.08333vw;
    border-left: 1px solid #ccc
}
.p-index__sec01__img {
    width: 100%
}
.p-index__sec01__box {
    padding: 8vw 5.33333vw
}
.p-index__sec02 {
    padding: 8vw 5.33333vw
}
.p-index__sec02__text p {
    font-size: 18px;
    font-size: 4.8vw;
    font-weight: 700;
    text-align: center
}
.p-index__sec02__text .o-btn {
    margin: 5.33333vw auto 0 auto
}
.p-index__sec03__bg {
    width: 100%
}
.p-index__sec03__bg img {
    width: 100%
}
.p-index__sec03__box {
    position: relative;
    width: 89.33333vw;
    margin: -64vw auto 0 auto;
    padding: 8vw 5.33333vw;
    background-color: #fff
}
.p-index__sec03__box .o-btn {
    margin-right: auto;
    margin-left: auto
}

/*20221203*/
.p-index__sec03__box2 {
    position: relative;
    width: 89.33333vw;
    margin: 10vw auto 0 auto;
    padding: 8vw 5.33333vw;
    background-color: #fff
}
.o-page-ttl-point {
    font-size: 20px;

    font-weight: 700;
    line-height: 1.5;
    background:linear-gradient(transparent 70%, red 0%);
}


.p-index__sec03__box2 .o-btn {
    margin-right: auto;
    margin-left: auto
}

.p-index__sec04 {
    padding: 8vw 5.33333vw
}
.p-index__sec04__box {
    padding: 5.33333vw;
    background-color: #fff
}
.p-index__sec04__item img {
    width: 100%
}
.p-index__sec04__item dt {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700;
    line-height: 1
}
.p-index__sec04__item dd {
    font-size: 16px;
    font-size: 4.26667vw
}
.p-index__sec05 {
    padding: 8vw 0 2.66667vw 0
}
@-webkit-keyframes typing {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    100% {
        -webkit-clip-path: inset(0);
        clip-path: inset(0)
    }
}
@keyframes typing {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    100% {
        -webkit-clip-path: inset(0);
        clip-path: inset(0)
    }
}
@-webkit-keyframes typing2 {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    100% {
        -webkit-clip-path: inset(0);
        clip-path: inset(0)
    }
}
@keyframes typing2 {
    0% {
        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0)
    }
    100% {
        -webkit-clip-path: inset(0);
        clip-path: inset(0)
    }
}
.p-news__ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700
}
.p-news__ttl strong {
    margin-right: 2.66667vw;
    font-size: 30px;
    font-size: 8vw
}
.p-news__ttl a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    margin-left: auto;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 400
}
.p-news__ttl a img {
    -webkit-transition: 0.5s;
    display: block;
    width: 3.46667vw;
    margin-left: 5.33333vw;
    transition: 0.5s
}
.p-news__ttl a:hover img {
    -webkit-transform: translateX(50%);
    transform: translateX(50%)
}
.p-news__list li, .p-news__list__in {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-flex-line-pack: start;
    -ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: center
}
.p-news__list li:nth-child(n+2), .p-news__list__in:nth-child(n+2) {
    margin-top: 5.33333vw
}
.p-news__list .data {
    color: #aaaaaa;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700
}
.p-news__list .cate {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 37.33333vw;
    height: 7.46667vw;
    margin: 0 0 0 5.33333vw;
    border: solid 1px;
    border-radius: 0.25em;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1
}
.p-news__list a {
    -webkit-transition: 0.5s;
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 1.5;
    transition: 0.5s
}
.p-news__list a:hover {
    opacity: 0.5
}
.p-news__list .new {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center
}
.p-news__list .new:after {
    display: block;
    margin-left: 5.33333vw;
    padding: .8vw 3.2vw;
    border-radius: 0.25em;
    background-color: #e60012;
    color: #fff;
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1;
    content: "NEW!"
}
.p-news__list.p-news__list--news .data {
    font-size: 14px;
    font-size: 3.73333vw
}
.p-news__list.p-news__list--news .cate {
    width: 37.33333vw;
    height: 7.46667vw;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-news__list.p-news__list--news a {
    font-size: 16px;
    font-size: 4.26667vw
}
.p-news__list.p-news__list--news .new:after {
    margin-left: 5.33333vw;
    font-size: 12px;
    font-size: 3.2vw
}
.p-news__ttl {
    font-size: 24px;
    font-size: 4.5vw;
    font-weight: 700
}
.p-news__con {
    font-size: 14px;
    font-size: 3.73333vw
}
.p-column li {
    padding: 5.33333vw 0;
    border-top: solid 1px #dddddd
}
.p-column li a {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -webkit-transition: opacity 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    transition: opacity 0.5s
}
.p-column li a:hover {
    opacity: 0.5
}
.p-column li .img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 21.33333vw;
    height: 21.33333vw;
    margin-right: 5.33333vw
}
.p-column li .img img {
    -o-object-fit: cover;
    width: 100%;
    height: 100%;
    object-fit: cover
}
.p-column li .text {
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 1.5
}
.p-column li .data {
    display: block;
    margin-bottom: 1.33333vw;
    color: #aaaaaa;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-about picture, .p-about img {
    max-width: 100%
}
.p-about__box {
    padding: 0 0 0 13.33333vw;
    background-image: url("../images/about/border.png");
    background-position: left 6.66667vw top;
    background-repeat: repeat-y
}
.p-about__box__in {
    margin-top: 8vw
}
.p-about__box__in dt {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    border-bottom: solid 0.15em;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-about__box__in dt strong {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 13.33333vw;
    height: 13.33333vw;
    margin: 0;
    margin: 0 2.66667vw 0 -13.33333vw;
    border: solid 0.01em #333333;
    border-radius: 50%;
    background-color: #fff;
    font-size: 30px;
    font-size: 8vw;
    letter-spacing: 0;
    line-height: 1
}
.p-about__box__in dt img {
    width: 6.4vw;
    margin-left: auto
}
.p-about__box__in dd {
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    margin-top: 4vw;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-about__box__in dd img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 17.06667vw;
    margin-right: 2.66667vw
}
.p-about__box__in dd img.arrow {
    width: 8vw;
    margin-left: 26.66667vw
}
.p-about__box__in dd .p-course__btn {
    height: 13.86667vw
}
.p-about__box__in dd .small {
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1.5
}
.p-about__box__in dd .icon {
    -webkit-filter: invert(100%);
    display: inline-block;
    width: 1.2em;
    margin: 0 0.3em;
    filter: invert(100%)
}
.p-about__box__in--red dt {
    color: #e60012
}
.p-about__box__in--red dt strong {
    border-color: #e60012
}
.p-about__number04 .p-about__box__in dt strong {
    -webkit-text-stroke: 0.03em #971f1f;
    text-stroke: 0.03em #971f1f;
    border-color: #971f1f
}
.p-about__arrow {
    margin-right: -4vw;
    padding-right: 8vw;
    background-image: url("../images/about/arrow_red.png");
    background-position: right top;
    background-repeat: no-repeat;
    background-size: auto 100%
}
.p-about__arrow__item {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: inline-block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    width: 23.46667vw;
    height: 20vw;
    margin: 8vw 0 0 auto;
    border: solid 0.2em;
    border-radius: 10px;
    color: #e60012;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}
.p-about__ttl {
    width: 84vw;
    margin-left: -13.33333vw;
    padding: 0.4em 0;
    background-color: #ffd9dc;
    color: #e60012;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700;
    text-align: center
}
.p-about__number07 .p-about__box__in {
    -ms-flex-negative: 0;
    flex-shrink: 0
}
.p-about__number07__item dt {
    color: #e60012;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-about__number07__item dd {
    font-size: 12px;
    font-size: 3.2vw
}
.p-contact dl:nth-child(n+2) {
    margin-top: 2.66667vw
}
.p-contact dl dt {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700
}
.p-contact dl dd {
    margin-top: 1.33333vw;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-contact__text {
    width: 100%;
    padding: 0.5em;
    border: solid 1px #ccc;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-contact__text--s {
    width: 64vw
}
.p-contact__select {
    width: 64vw
}
.p-contact__select select {
    width: 100%;
    padding: 0.5em;
    border: solid 1px #ccc;
    background-color: #fff;
    background-image: url("../images/contact/select.png");
    background-position: right 2% center;
    background-repeat: no-repeat;
    background-size: auto 70%;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-contact__text2 {
    font-size: 14px;
    font-size: 3.73333vw
}
.p-contact__check {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-size: 3.73333vw;
    text-align: center
}
.p-contact__check__in {
    position: relative
}
.p-contact__check input:before {
    display: block;
    position: absolute;
    top: 50%;
    left: -2em;
    width: 2em;
    height: 2em;
    margin-top: -1em;
    border: 1px solid #ccc;
    background: #fff;
    content: ""
}
.p-contact__check input:after {
    -webkit-transform: rotate(45deg);
    display: block;
    position: absolute;
    top: 50%;
    left: -1.3em;
    width: 1em;
    height: 1.8em;
    margin-top: -1.3em;
    transform: rotate(45deg);
    border-right: 0.4em solid #e60012;
    border-bottom: 0.4em solid #e60012;
    content: "";
    opacity: 0
}
.p-contact__check label {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    width: auto;
    padding: 0;
    cursor: pointer
}
.p-contact__check input[type="checkbox"]:checked::after {
    opacity: 1
}
.p-contact__check .mwform-checkbox-field input, .p-contact__check .mwform-radio-field input {
    margin-right: -0.5em
}
.mw_wp_form_confirm .u-hidden-confirm {
    display: none !important
}
.p-voice__search {
    margin: 0 5.33333vw;
    padding: 5.33333vw 12vw;
    background-color: #edf1f4
}
.p-voice__search .o-btn {
    margin: 0 auto
}
.p-voice__text {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 12px;
    font-size: 3.2vw
}
.p-voice__text strong {
    margin: 0 0.25em;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-voice__item {
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: stretch;
    margin-top: 8vw
}
.p-voice__item .img {
    -ms-flex-negative: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 21.33333vw;
    margin-right: 2.66667vw
}
.p-voice__item .img picture {
    width: 100%
}
.p-voice__item .img picture img {
    width: 100%
}
.p-voice__item .img img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 60%
}
.p-voice__item dl dt {
    border-bottom: dotted 2px #e60012;
    font-size: 16px;
    font-size: 4.26667vw
}
.p-voice__item dl .cata {
    padding: 1.33333vw 2.66667vw;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700;
    line-height: 1
}
.p-voice__item dl .text {
    font-size: 14px;
    font-size: 3.73333vw
}
.p-store__sec01 {
    padding: 16vw 0
}
.p-store__item {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.5
}
.p-store__item:not(:last-child) dt {
    border-bottom: none
}
.p-store__item--faq .p-store__item__ttl .text {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center
}
.p-store__item--faq .p-store__item__box {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -ms-flex-wrap: nowrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding: 5.33333vw
}
.p-store__item__ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    padding: 4vw 5.33333vw;
    border: solid 1px #ccc;
    background-color: #fff;
    cursor: pointer
}
.p-store__item__ttl .text {
    width: 100%;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-store__item__ttl .text strong {
    display: block;
    margin: 0 0 2.66667vw 0;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-store__item__ttl .icon {
    -ms-flex-negative: 0;
    -webkit-transition: 0.3s;
    position: relative;
    flex-shrink: 0;
    width: 6.4vw;
    height: 6.4vw;
    margin-left: 5.33333vw;
    border: solid .53333vw #e60012;
    border-radius: 3.2vw;
    transition: 0.3s
}
.p-store__item__ttl .icon:before, .p-store__item__ttl .icon:after {
    -webkit-transition: 0.3s;
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    height: .53333vw;
    margin: auto;
    background-color: #e60012;
    content: "";
    transition: 0.3s
}
.p-store__item__ttl .icon:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg)
}
.p-store__item__ttl.open {
    border: solid 1px #ccc !important
}
.p-store__item__ttl.open .icon {
    background-color: #e60012
}
.p-store__item__ttl.open .icon:before, .p-store__item__ttl.open .icon:after {
    background-color: #fff
}
.p-store__item__ttl.open .icon:after {
    width: 0
}
.p-store__item__box {
    -ms-flex-wrap: wrap;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    padding: 8vw 5.33333vw
}
.p-store__item__box .text {
    width: 100%
}
.p-store__item__box .map iframe {
    width: 100%;
    height: 66.66667vw
}
.p-store__item__box .calendar p {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    font-size: 12px;
    font-size: 3.2vw
}
.p-store__item__box .calendar .wpsbc-legend {
    background-color: transparent;
    text-align: right
}
.p-store__item__box .calendar .wpsbc-legend .wpsbc-legend-item-name {
    font-size: 12px;
    font-size: 3.2vw
}
.p-store__item__box .calendar .wpsbc-legend .wpsbc-legend-item-icon {
    width: 5.33333vw;
    height: 4vw;
    margin-right: 2.66667vw
}
.p-store__item__box .img {
    width: 100%
}
.p-store__item__box .img img {
    width: 100%
}
.p-store__item__box .img img+img {
    margin-top: 5.33333vw
}
.p-store__item__box .img picture {
    width: 100%
}
.p-store__item__box .img picture+picture {
    margin-top: 5.33333vw
}
.p-store__list {
    -webkit-box-align: start;
    -ms-flex-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: flex-start;
    font-size: 14px;
    font-size: 3.73333vw
}
.p-store__list dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 16vw;
    margin-right: 5.33333vw;
    font-weight: 700
}
.p-store__list+.p-store__list {
    margin-top: 2.66667vw
}
.p-company {
    border: solid 1px #ccc;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.5
}
.p-company dl:nth-child(n+2) {
    border-top: solid 1px #ccc
}
.p-company dt, .p-company dd {
    padding: 2.66667vw 4vw
}
.p-company dt {
    border-bottom: solid 1px #ccc;
    background-color: #edf1f4
}
.p-faq {
    margin-right: 4vw;
    font-size: 40px;
    font-size: 10.66667vw;
    line-height: 0.8
}
.p-faq__list {
    -ms-flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}
.p-faq__list li {
    width: 43.2vw
}
.p-faq__list li a {
    display: block;
    padding: 2.66667vw 0;
    border-top: solid .8vw #e60012;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700;
    text-align: center
}
.p-faq__list li a:after {
    -webkit-transform: rotate(45deg);
    -webkit-transition: 0.5s;
    display: block;
    width: 1.6vw;
    height: 1.6vw;
    margin: 1.86667vw auto 0 auto;
    transform: rotate(45deg);
    border-right: solid 0.15em #e60012;
    border-bottom: solid 0.15em #e60012;
    content: "";
    transition: 0.5s
}
.p-faq__list li a:hover:after {
    -webkit-transform: rotate(45deg) translate(0.5vw, 0.4vw);
    transform: rotate(45deg) translate(0.5vw, 0.4vw)
}
.p-course__mv {
    width: 100%;
    padding: 0 0 10.66667vw 0;
    background-color: #e60012
}
.p-course__mv__in {
    position: relative;
    width: 89.33333vw;
    margin: -16vw auto 0 auto;
    padding: 10.66667vw 5.33333vw;
    background-color: #fff
}
.p-course__mv__in img {
    width: 100%
}
.p-course__mv__in--feature h3 {
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 700
}
.p-course__mv__in--feature .c-red {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-course__mv__in--feature .c-red span {
    border-bottom: dotted 2px
}
.p-course__mv__in--feature .o-list li {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}
.p-course__mv__in--feature p {
    font-size: 16px;
    font-size: 4.26667vw
}
.p-course__sec02 {
    padding: 16vw 0
}
.p-course__ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 61.33333vw;
    height: 13.33333vw;
    margin-right: auto;
    margin-left: auto;
    border: solid 2px #fff;
    color: #e60012;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-course__ttl:before, .p-course__ttl:after {
    display: block;
    position: absolute;
    width: 2.66667vw;
    height: 2.66667vw;
    content: ""
}
.p-course__ttl:before {
    top: -2px;
    left: -2px;
    border-top: solid 2px #e60012;
    border-left: solid 2px #e60012
}
.p-course__ttl:after {
    right: -2px;
    bottom: -2px;
    border-right: solid 2px #e60012;
    border-bottom: solid 2px #e60012
}
.p-course__box {
    padding: 8vw 5.33333vw;
    background-color: #fff
}
.p-course__text {
    font-size: 14px;
    font-size: 3.73333vw;
    text-align: center
}
.p-course__text--small {
    font-size: 12px;
    font-size: 3.2vw
}
.p-course__plan {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center
}
.p-course__plan__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-direction: column;
    width: 43.2vw
}
.p-course__plan__item:nth-child(even) {
    margin-left: auto
}
.p-course__plan__item .ttl {
    background-color: #ffd9dc;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 900;
    line-height: 11.73333vw;
    text-align: center
}
.p-course__plan__item .box {
    -webkit-box-flex: 2;
    -ms-flex-positive: 2;
    flex-grow: 2;
    padding: 5.33333vw 2.66667vw;
    border: solid 2px #ffd9dc;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.5
}
.p-course__plan__item .box strong {
    display: block;
    font-size: 34px;
    font-size: 9.06667vw;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap
}
.p-course__plan__item .ttl2 {
    position: relative;
    width: 26.13333vw;
    margin: 0 auto -2.66667vw auto;
    border-right: solid 2px #edf1f4;
    border-left: solid 2px #edf1f4;
    background-color: #fff;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 900;
    line-height: 5.33333vw;
    text-align: center
}
.p-course__plan__item--gray .ttl {
    background-color: #edf1f4
}
.p-course__plan__item--gray .box {
    -ms-flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-flex-line-pack: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-content: flex-end;
    align-items: center;
    border-color: #edf1f4;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700
}
.p-course__plan__ttl {
    width: 100%;
    background-color: #edf1f4;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 900;
    line-height: 11.73333vw;
    text-align: center
}
.p-course__ttl2 {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-course__ttl2:before, .p-course__ttl2:after {
    display: block;
    width: 1.2em;
    height: 1px;
    background-color: #333;
    content: ""
}
.p-course__ttl2:before {
    margin-right: 0.5em
}
.p-course__ttl2:after {
    margin-left: 0.5em
}
.p-course__text2 {
    font-size: 18px;
    font-size: 4.8vw;
    text-align: center
}
.p-course__btn {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-transition: background-color 0.5s, color 0.5s, border-color 0.5s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 15.2vw;
    border: solid .8vw;
    border-radius: 2.66667vw;
    color: #e60012;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 700;
    transition: background-color 0.5s, color 0.5s, border-color 0.5s
}
.p-course__btn:hover {
    border-color: #e60012;
    background-color: #e60012;
    color: #fff
}
.p-feature__sec01 {
    padding: 16vw 0
}
.p-feature__table {
    padding-top: 2.66667vw;
    white-space: nowrap
}
.p-feature__table table {
    font-size: 14px;
    font-size: 3.73333vw
}
.p-feature__table table tr:nth-child(n+2) {
    border-top: solid 1px #edf1f4
}
.p-feature__table table tr th, .p-feature__table table tr td {
    padding: 4vw;
    text-align: center;
    white-space: nowrap
}
.p-feature__table table tr th:nth-child(n+2), .p-feature__table table tr td:nth-child(n+2) {
    border-left: solid 1px #edf1f4
}
.p-feature__table table tr .clear {
    background-color: transparent
}
.p-feature__table table tr .red {
    position: relative;
    padding: 0 4vw
}
.p-feature__table table tr .red span {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 5.33333vw 0;
    background-color: #ffd9dc !important
}
.p-feature__table table tr th {
    background-color: #dddddd
}
.p-feature__table table tr td {
    background-color: #fff
}
.p-feature__stext {
    font-size: 12px;
    font-size: 3.2vw;
    text-align: right
}
.p-feature__point li {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.25
}
.p-feature__point li img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 26.66667vw;
    margin: 0 auto 2.66667vw auto
}
.p-feature__point li dl {
    -ms-flex-wrap: wrap;
    -ms-flex-item-align: start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    align-self: flex-start
}
.p-feature__point li dl dt {
    margin: 0 auto;
    border-bottom: dashed 2px;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-feature__point li dl dt strong {
    margin-left: 0.1em;
    font-size: 40px;
    font-size: 10.66667vw;
    line-height: 1
}
.p-feature__point li dl dd {
    width: 100%;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.75
}
.p-feature__point li:nth-child(n+2) {
    margin-top: 8vw
}
.p-feature__box img {
    width: 100%
}
.p-feature__box dl {
    position: relative;
    margin: -10.66667vw 10.66667vw 0 0;
    padding: 10.66667vw 5.33333vw 5.33333vw 5.33333vw;
    background-color: #fff
}
.p-feature__box dl dt {
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 700
}
.p-feature__box dl dd {
    font-size: 16px;
    font-size: 4.26667vw
}
.p-service__mv {
    position: relative
}
.p-service__mv__img {
    width: 100%
}
.p-service__mv__btn {
    -webkit-transition: 0.5s;
    position: absolute;
    right: 0;
    bottom: 10.66667vw;
    left: 0;
    width: 61.86667vw;
    margin: 0 auto;
    transition: 0.5s
}
.p-service__mv__btn img {
    width: 100%
}
.p-service__mv__btn:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}
.p-service__ttl {
    padding: 13.33333vw 5.33333vw;
    background-color: #e60012
}
.p-service__ttl__in {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 14.93333vw;
    margin-right: auto;
    margin-left: auto;
    border: solid 1px rgba(255, 255, 255, 0.5);
    color: #fff;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-service__ttl__in:before, .p-service__ttl__in:after {
    display: block;
    position: absolute;
    width: 2.66667vw;
    height: 2.66667vw;
    content: ""
}
.p-service__ttl__in:before {
    top: -1px;
    left: -1px;
    border-top: solid 2px #fff;
    border-left: solid 2px #fff
}
.p-service__ttl__in:after {
    right: -1px;
    bottom: -1px;
    border-right: solid 2px #fff;
    border-bottom: solid 2px #fff
}
.p-service__ttl__in strong {
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 900;
    line-height: 1
}
.p-service__text {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    font-size: 7.46667vw;
    font-weight: 700
}
.p-service__text strong {
    margin-left: 0.1em;
    font-size: 64px;
    font-size: 17.06667vw;
    font-weight: 400;
    line-height: 1.25
}
.p-service__sec01 {
    padding: 0 5.33333vw
}
.p-service__hiyou__ttl {
    padding: 2.13333vw 0;
    background-color: #e60012;
    color: #fff;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 900;
    text-align: center
}
.p-service__hiyou__box {
    padding: 8vw 5.33333vw
}
.p-service__hiyou__white {
    padding: 5.33333vw;
    border: solid 1px #ccc;
    background-color: #fff
}
.p-service__hiyou__white li {
    text-align: center
}
.p-service__hiyou__white .ttl {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    font-size: 16px;
    font-size: 4.26667vw
}
.p-service__hiyou__white .ttl span {
    -ms-flex-negative: 0;
    flex-shrink: 0
}
.p-service__hiyou__white .ttl:before, .p-service__hiyou__white .ttl:after {
    display: block;
    width: 50%;
    height: 1px;
    background-color: #ccc;
    content: ""
}
.p-service__hiyou__white .ttl:before {
    margin-right: 1em
}
.p-service__hiyou__white .ttl:after {
    margin-left: 1em
}
.p-service__hiyou__white .bg {
    display: block;
    background-color: #3a3a3a;
    color: #fff;
    font-size: 14px;
    font-size: 3.73333vw;
    font-weight: 700
}
.p-service__hiyou__white .bg.red {
    background-color: #e60012
}
.p-service__hiyou__white .c-huti {
    font-size: 40px;
    font-size: 10.66667vw;
    line-height: 1.4
}
.p-service__hiyou__text {
    padding: 1.6vw 0;
    border: solid 1px #ccc;
    background-color: #fff;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700;
    text-align: center
}
.p-service__plus {
    position: relative;
    width: 5.33333vw;
    height: 5.33333vw;
    margin-right: auto;
    margin-left: auto
}
.p-service__plus:before, .p-service__plus:after {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 16%;
    margin: auto;
    background-color: #e60012;
    content: ""
}
.p-service__plus:after {
    width: 16%;
    height: 100%
}
.p-service__table {
    width: 767px;
    border: solid 1px #ccc
}
.p-service__table table {
    width: 100%
}
.p-service__table iframe {
    width: 100%;
    height: 60vh
}
.p-service__table tr {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.5;
    text-align: center
}
.p-service__table tr th, .p-service__table tr td {
    padding: 2.66667vw 0
}
.p-service__table tr th:nth-child(n+2), .p-service__table tr td:nth-child(n+2) {
    border-left: solid 1px #ccc
}
.p-service__table tr th {
    border-color: #fff !important;
    background-color: #dddddd
}
.p-service__table tr td {
    border-top: solid 1px #ccc
}
.p-service__table tr td:nth-child(1) {
    background-color: #edf1f4
}
.p-cplp2022 {
    padding-bottom: 0;
    overflow: hidden
}
.p-cplp2022 * {
    letter-spacing: 0
}
.p-cplp2022-mv {
    width: 100%
}
.p-cplp2022-sec01 {
    padding: 17.06667vw 5.33333vw;
    background-image: url("../images/cplp2022/bg01_sp.png");
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover
}
.p-cplp2022-sec01 h2 {
    font-size: 28px;
    font-size: 7.46667vw;
    font-weight: 900;
    line-height: 13.33333vw;
    text-align: center
}
.p-cplp2022-sec01 h2 strong {
    color: #CE0B09;
    font-size: 32px;
    font-size: 8.53333vw;
    font-weight: 900
}
.p-cplp2022-sec01 h2 strong.line {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #CE0B09));
    background: linear-gradient(transparent 75%, #CE0B09 75%);
    color: #1A1A1A
}
.p-cplp2022-navi {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    gap: 0 2.4vw;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center;
    margin-top: 10.93333vw
}
.p-cplp2022-navi__item {
    -webkit-transition: .5s;
    position: relative;
    padding: 4vw 2.13333vw;
    border: solid 1.06667vw #CE0B09;
    border-bottom-width: 10.66667vw;
    border-radius: 2.66667vw;
    background-color: #fff;
    font-size: 12px;
    font-size: 3.2vw;
    font-weight: 700;
    text-align: center;
    transition: .5s
}
.p-cplp2022-navi__item .img {
    width: 16vw;
    height: 16vw;
    margin: 0 auto
}
.p-cplp2022-navi__item .img img {
    -o-object-fit: contain;
    width: 100%;
    height: 100%;
    object-fit: contain
}
.p-cplp2022-navi__item strong {
    -webkit-transition: .5s;
    display: block;
    margin: 1.6vw 0;
    color: #CE0B09;
    font-size: 16px;
    font-size: 4.26667vw;
    font-weight: 900;
    transition: .5s
}
.p-cplp2022-navi__item:after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -7.46667vw;
    left: 0;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-width: 3.73333vw 2.66667vw 0 2.66667vw;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
    content: ''
}
.p-cplp2022-navi__item:hover {
    background-color: #CE0B09;
    color: #fff
}
.p-cplp2022-navi__item:hover strong {
    color: #fff
}
.p-cplp2022-sec02 {
    padding: 17.06667vw 5.33333vw;
    background-image: url("../images/cplp2022/bg_pattern.png");
    background-repeat: repeat;
    background-size: auto
}
.p-cplp2022-sec02 h2 {
    color: #fff;
    font-size: 30px;
    font-size: 8vw;
    font-weight: 900;
    text-align: center
}
.p-cplp2022-sec02 h2 span {
    display: inline-block;
    margin-top: 4vw;
    padding: 0 6.4vw;
    border-radius: 100vh;
    background-color: #fff;
    color: #1A1A1A;
    font-size: 20px;
    font-size: 5.33333vw;
    line-height: 11.2vw
}
.p-cplp2022-sec02 h2 img {
    width: 100%;
    margin: 0 auto;
    margin-top: 6.4vw
}
.p-cplp2022-sec02 h2+p {
    margin-top: 5.33333vw;
    color: #fff;
    font-size: 18px;
    font-size: 4.8vw;
    line-height: 1.77;
    text-align: center
}
.p-cplp2022-sec02__accent {
    z-index: 2;
    position: relative;
    width: 980px;
    height: 0;
    margin: 0 auto
}
.p-cplp2022-sec02__accent img {
    position: absolute;
    bottom: -110px;
    left: -173px;
    width: 240px
}
.p-cplp2022-sec02__accent img:nth-child(2) {
    right: -163px;
    left: auto
}
.p-cplp2022-sec02 .p-cplp2022-box {
    margin-top: 10.66667vw
}
.p-cplp2022-sec02__ribon {
    z-index: 2;
    position: absolute;
    top: -8vw;
    left: -2.66667vw;
    width: 24vw
}
.p-cplp2022-sec02__box>img {
    width: 100%
}
.p-cplp2022-sec02__box>dl dt {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-cplp2022-sec02__box>dl dt strong {
    font-size: 30px;
    font-size: 8vw;
    font-weight: 700
}
.p-cplp2022-sec02__box>dl .price {
    color: #CE0B09;
    font-size: 15px;
    font-size: 4vw;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap
}
.p-cplp2022-sec02__box>dl .price span {
    display: inline-block;
    margin-right: 12px;
    font-weight: 900;
    line-height: 2.4rem
}
.p-cplp2022-sec02__box>dl .price strong {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #F5E93F));
    background: linear-gradient(transparent 75%, #F5E93F 75%);
    font-size: 40px;
    font-size: 10.66667vw;
    font-weight: 700
}
.p-cplp2022-sec02__box>dl .price strong small {
    font-size: 25px;
    font-size: 6.66667vw;
    font-weight: 700
}
.p-cplp2022-sec02__box>dl .data {
    margin-top: 8vw
}
.p-cplp2022-sec02__box>dl .data ul li {
    -webkit-box-align: center;
    -ms-flex-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    border-bottom: solid 2px #1A1A1A;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1
}
.p-cplp2022-sec02__box>dl .data ul li span {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 17.06667vw;
    height: 6.93333vw;
    margin-right: 3.2vw;
    background-color: #1A1A1A;
    color: #fff;
    font-size: 12px;
    font-size: 3.2vw;
    line-height: 1
}
.p-cplp2022-sec02__box>dl .data ul li:nth-child(n+2) {
    margin-top: 2.66667vw
}
.p-cplp2022-sec02__box>dl .p-cplp2022-text {
    margin-top: 3.2vw
}
.p-cplp2022-box {
    position: relative
}
.p-cplp2022-box__in {
    z-index: 1;
    position: relative;
    padding: 5.33333vw;
    border: solid 1.33333vw #1A1A1A;
    border-radius: 2.66667vw;
    background-color: #fff
}
.p-cplp2022-box:after {
    display: block;
    position: absolute;
    top: 2.13333vw;
    left: 2.13333vw;
    width: 100%;
    height: 100%;
    border-radius: 2.66667vw;
    background-color: #1A1A1A;
    content: ''
}
.p-cplp2022-box__attention {
    margin-top: 4.26667vw
}
.p-cplp2022-box__attention dt {
    margin-bottom: 4.26667vw;
    border-radius: 100vh;
    background-color: #CE0B09;
    color: #fff;
    font-size: 16px;
    font-size: 4.26667vw;
    line-height: 10.66667vw;
    text-align: center
}
.p-cplp2022-box__attention dd {
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.71
}
.p-cplp2022-text {
    font-size: 14px;
    font-size: 3.73333vw
}
.p-cplp2022-sec03 {
    padding: 17.06667vw 0;
    background-image: url("../images/cplp2022/bg_accent_sp.png"), url("../images/cplp2022/bg_pattern02.png");
    background-position: top 6.4vw left -11.73333vw, top center;
    background-repeat: no-repeat, repeat;
    background-size: 119.46667vw auto, auto
}
.p-cplp2022-sec03 h2 {
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 900;
    text-align: center
}
.p-cplp2022-sec03 h2 img {
    width: 63.2vw;
    margin: 0 auto;
    margin-top: 5.33333vw
}
.p-cplp2022-sec03 h2+p {
    margin-top: 5.33333vw;
    font-size: 18px;
    font-size: 4.8vw;
    line-height: 8.53333vw;
    text-align: center
}
.p-cplp2022-sec03 h2+p strong {
    color: #CE0B09;
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 700
}
.p-cplp2022-sec03>.p-cplp2022-text {
    margin-top: 2.4vw;
    text-align: center
}
.p-cplp2022-sec03 .p-cplp2022-box {
    margin-top: 6.4vw
}
.p-cplp2022-sec03__box dl:nth-child(n+2) {
    -webkit-box-sizing: content-box;
    box-sizing: content-box
}
.p-cplp2022-sec03__box dl .img {
    width: 26.66667vw;
    height: 26.66667vw;
    margin: 0 auto
}
.p-cplp2022-sec03__box dl .img img {
    -o-object-fit: contain;
    width: 100%;
    height: 100%;
    object-fit: contain
}
.p-cplp2022-sec03__box dl dt {
    margin-top: 5.33333vw;
    font-size: 18px;
    font-size: 4.8vw;
    font-weight: 700;
    text-align: center
}
.p-cplp2022-sec03__box dl dt strong {
    display: block;
    color: #CE0B09;
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 900
}
.p-cplp2022-sec03__box dl .p-cplp2022-text {
    margin-top: 4vw
}
.p-cplp2022-sec03__accent {
    z-index: 2;
    position: absolute;
    right: -173px;
    bottom: -249px;
    width: 392px
}
.p-cplp2022-sec04 {
    padding: 17.06667vw 5.33333vw
}
.p-cplp2022-sec04 h2 {
    width: 74.66667vw;
    margin-right: auto;
    margin-left: auto;
    border-radius: 100vh;
    background-color: #CE0B09;
    color: #fff;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 900;
    line-height: 13.33333vw;
    text-align: center
}
.p-cplp2022-sec04 h2+p {
    margin-top: 4vw;
    font-size: 26px;
    font-size: 6.93333vw;
    font-weight: 700;
    line-height: 1.61;
    text-align: center
}
.p-cplp2022-sec04__box {
    margin-top: 10.66667vw
}
.p-cplp2022-sec04__box li {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    border: solid 5px #1A1A1A;
    border-radius: 2.66667vw
}
.p-cplp2022-sec04__box li .img {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -ms-flex-negative: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 42.66667vw;
    background-color: #CE0B09
}
.p-cplp2022-sec04__box li .img img {
    width: 21.33333vw
}
.p-cplp2022-sec04__box li .text {
    padding: 6.66667vw 5.33333vw;
    font-size: 14px;
    font-size: 3.73333vw;
    line-height: 1.71
}
.p-cplp2022-sec04__box li .text strong {
    display: block;
    margin-bottom: 2.4vw;
    font-size: 24px;
    font-size: 6.4vw;
    font-weight: 700;
    line-height: 1
}
.p-cplp2022-sec04__box li:nth-child(2) .img img {
    width: 18.66667vw
}
.p-cplp2022-contact {
    padding: 0 0 12.8vw 0;
    text-align: center
}
.p-cplp2022-contact--fixd {
    display: none;
    z-index: 2;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 10.66667vw 5.33333vw;
    background-color: rgba(26, 26, 26, 0.8)
}
.p-cplp2022-contact--fixd .p-cplp2022-contact__btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 0
}
.p-cplp2022-contact p {
    font-size: 18px;
    font-size: 4.8vw
}
.p-cplp2022-contact h3 {
    color: #CE0B09;
    font-size: 40px;
    font-size: 10.66667vw;
    font-weight: 700;
    line-height: 1.4
}
.p-cplp2022-contact__btn {
    margin-top: 6.66667vw
}
.p-cplp2022-contact__btn a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 85.33333vw;
    margin: 0 auto;
    padding: 4vw 0;
    border-radius: 2.66667vw;
    background-color: #CE0B09;
    color: #fff;
    font-size: 20px;
    font-size: 5.33333vw;
    font-weight: 700
}
.p-cplp2022-contact__btn a img {
    width: 5.86667vw;
    margin-right: 2.66667vw
}
.p-cplp2022-contact__btn a:nth-child(2) {
    border: solid 1px #CE0D12;
    background-color: #fff;
    color: #CE0B09
}
.p-cplp2022-contact+.o-fixd, .p-cplp2022-contact+.o-fixd+.o-fixd {
    display: none !important
}
.p-cplp2022-contact+.o-fixd+.o-fixd+.l-footer {
    padding-bottom: calc(39.2vw + 24vw)
}
.p-cplp2022__banner {
    width: 100%;
    margin: 0 auto
}
.p-cplp2022__banner picture, .p-cplp2022__banner img {
    width: 100%
}

/*20221203*/
.left {
position: absolute; top: 20px; left: 10;
}
.right {
position: absolute; top: 20px; right: 10;
}
.gazobox {
width:78vw;
height:20vh;
background-color: #fff3f3;
position: relative
}
.gazou {
width:35vw;
height:15vh;
}
.tweet {
width:90vw;
height:80vh;
}


@media print, screen and (min-width: 768px) {
    body {
        font-size: 1.8rem;
        line-height: 1.75
    }
    .c-ta-c-pc {
        text-align: center
    }
    .c-scroll {
        margin-right: 0
    }
    .u-mt-pc-0 {
        margin-top: 0vw !important
    }
    .u-mt-pc-5 {
        margin-top: .26042vw !important
    }
    .u-mt-pc-10 {
        margin-top: .52083vw !important
    }
    .u-mt-pc-15 {
        margin-top: .78125vw !important
    }
    .u-mt-pc-20 {
        margin-top: 1.04167vw !important
    }
    .u-mt-pc-25 {
        margin-top: 1.30208vw !important
    }
    .u-mt-pc-30 {
        margin-top: 1.5625vw !important
    }
    .u-mt-pc-35 {
        margin-top: 1.82292vw !important
    }
    .u-mt-pc-40 {
        margin-top: 2.08333vw !important
    }
    .u-mt-pc-45 {
        margin-top: 2.34375vw !important
    }
    .u-mt-pc-50 {
        margin-top: 2.60417vw !important
    }
    .u-mt-pc-55 {
        margin-top: 2.86458vw !important
    }
    .u-mt-pc-60 {
        margin-top: 3.125vw !important
    }
    .u-mt-pc-65 {
        margin-top: 3.38542vw !important
    }
    .u-mt-pc-70 {
        margin-top: 3.64583vw !important
    }
    .u-mt-pc-75 {
        margin-top: 3.90625vw !important
    }
    .u-mt-pc-80 {
        margin-top: 4.16667vw !important
    }
    .u-mt-pc-85 {
        margin-top: 4.42708vw !important
    }
    .u-mt-pc-90 {
        margin-top: 4.6875vw !important
    }
    .u-mt-pc-95 {
        margin-top: 4.94792vw !important
    }
    .u-mt-pc-100 {
        margin-top: 5.20833vw !important
    }
    .u-mt-pc-105 {
        margin-top: 5.46875vw !important
    }
    .u-mt-pc-110 {
        margin-top: 5.72917vw !important
    }
    .u-mt-pc-115 {
        margin-top: 5.98958vw !important
    }
    .u-mt-pc-120 {
        margin-top: 6.25vw !important
    }
    .u-mt-pc-125 {
        margin-top: 6.51042vw !important
    }
    .u-mt-pc-130 {
        margin-top: 6.77083vw !important
    }
    .u-mt-pc-135 {
        margin-top: 7.03125vw !important
    }
    .u-mt-pc-140 {
        margin-top: 7.29167vw !important
    }
    .u-mt-pc-145 {
        margin-top: 7.55208vw !important
    }
    .u-mt-pc-150 {
        margin-top: 7.8125vw !important
    }
    .u-mt-pc-155 {
        margin-top: 8.07292vw !important
    }
    .u-mt-pc-160 {
        margin-top: 8.33333vw !important
    }
    .u-mt-pc-165 {
        margin-top: 8.59375vw !important
    }
    .u-mt-pc-170 {
        margin-top: 8.85417vw !important
    }
    .u-mt-pc-175 {
        margin-top: 9.11458vw !important
    }
    .u-mt-pc-180 {
        margin-top: 9.375vw !important
    }
    .u-mt-pc-185 {
        margin-top: 9.63542vw !important
    }
    .u-mt-pc-190 {
        margin-top: 9.89583vw !important
    }
    .u-mt-pc-195 {
        margin-top: 10.15625vw !important
    }
    .u-mt-pc-200 {
        margin-top: 10.41667vw !important
    }
    .u-hidden-pc {
        display: none !important
    }
    .o-ttl-lv1 {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .o-ttl-lv1 small {
        font-size: 26px;
        font-size: 1.35417vw
    }
    .o-ttl-lv1 strong {
        font-size: 60px;
        font-size: 3.125vw
    }
    .o-ttl-lv2 {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .o-ttl-lv2 strong {
        font-size: 60px;
        font-size: 3.125vw
    }
    .o-ttl-lv2 strong {
        margin-left: 1.04167vw
    }
    .o-ttl-lv3 {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-page-ttl {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .o-page-ttl {
        margin-top: 4.16667vw
    }
    .o-page-ttl-sub {
        font-size: 34px;
        font-size: 1.77083vw
    }
    .o-page-ttl--course small {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .p-page-text {
        font-size: 24px;
        font-size: 1.25vw
    }
    .o-list li {
        font-size: 24px;
        font-size: 1.25vw
    }
    .o-list li img {
        width: 1.5625vw;
        margin-right: .52083vw
    }
    .o-list li:nth-child(n+2) {
        margin-top: .72917vw
    }
    .o-list--imgwide li {
        font-size: 22px;
        font-size: 1.14583vw
    }
    .o-list--imgwide li img {
        width: 9.375vw;
        margin-right: 1.5625vw
    }
    .o-list--imgwide2 li {
        font-size: 22px;
        font-size: 1.14583vw
    }
    .o-list--imgwide2 li dl dt {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-list--imgwide2 li dl dt span {
        display: inline-block;
        margin: 0 2.08333vw 0 0
    }
    .o-list--imgwide2 li .icon {
        width: 10.41667vw;
        margin-right: 2.08333vw
    }
    .o-list--imgwide2 li:nth-child(n+2) {
        margin-top: 3.125vw
    }
    .o-list--imgwide2--course li dl dt {
        font-size: 34px;
        font-size: 1.77083vw
    }
    .o-list--imgwide2--course li .icon {
        width: 10.41667vw;
        margin-right: 2.08333vw
    }
    .o-carlist li {
        width: 29.16667vw
    }
    .o-carlist li .ttl {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-carlist li .course {
        font-size: 18px;
        font-size: .9375vw
    }
    .o-carlist li .course {
        height: 2.08333vw;
        line-height: 2.08333vw
    }
    .o-carlist li .box {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: center
    }
    .o-carlist li .box .monthly {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-carlist li .box strong {
        font-size: 80px;
        font-size: 4.16667vw
    }
    .o-carlist li .box small {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .o-carlist li .box small {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
    .o-carlist li .box small .kara {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .o-carlist li .box small .kara {
        font-weight: 700
    }
    .o-carlist li:nth-child(n+3) {
        margin-top: 0
    }
    .o-carlist li:nth-child(n+4) {
        margin-top: 3.64583vw
    }
    .o-carlist--service li .text {
        font-size: 18px;
        font-size: .9375vw
    }
    .o-carlist--service li .text span {
        font-size: 24px;
        font-size: 1.25vw
    }
    .o-carlist--service li .text span strong {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-carlist--service li .option {
        font-size: 18px;
        font-size: .9375vw
    }
    .o-carlist--service li .option {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        padding: .78125vw 1.04167vw
    }
    .o-carlist--service li .option strong {
        font-size: 56px;
        font-size: 2.91667vw
    }
    .o-carlist--service li .option strong {
        margin-left: auto
    }
    .o-carlist--service li .box {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end
    }
    .o-carlist--service li .box .monthly {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-carlist--service li .box .monthly {
        margin-right: 0.5em
    }
    .o-carlist--service li .box strong {
        font-size: 80px;
        font-size: 4.16667vw
    }
    .o-btn {
        font-size: 16px;
        font-size: .83333vw
    }
    .o-btn {
        width: 11.61458vw;
        height: 2.91667vw;
        border: solid .15625vw;
        border-radius: 1.45833vw
    }
    .o-btn:before {
        margin-right: .52083vw
    }
    .o-btn--s {
        width: 7.8125vw
    }
    .o-btn-type02 {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-btn-type02 {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        height: 5.41667vw;
        border-radius: .52083vw
    }
    .o-btn-type02 span {
        width: 2.08333vw;
        height: 2.08333vw;
        margin: 0 2.08333vw;
        border-radius: 1.04167vw
    }
    .o-btn-type02 span img {
        width: .72917vw
    }
    .o-btn-type03 {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .o-btn-type03 {
        height: 5.41667vw;
        border-radius: .52083vw
    }
    .o-btn-type03 span {
        left: 2.08333vw;
        width: 2.08333vw;
        height: 2.08333vw;
        border-radius: 1.04167vw
    }
    .o-btn-type03 span img {
        width: .72917vw
    }
    .o-btn-type03--580 {
        width: 30.20833vw;
        margin-right: auto;
        margin-left: auto
    }
    .o-contact {
        width: 83.33333vw;
        margin-right: auto;
        margin-left: auto;
        padding: 3.125vw
    }
    .o-contact__box {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between
    }
    .o-contact__box dl {
        width: 37.5vw;
        padding: 1.5625vw 4.16667vw;
        border-radius: .52083vw
    }
    .o-contact__box dl dd {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .o-contact__box dl dd small {
        font-size: 14px;
        font-size: .72917vw
    }
    .o-contact__box dl dd strong {
        font-size: 48px;
        font-size: 2.5vw
    }
    .o-contact__box dl .box {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: center
    }
    .o-contact__box dl .box strong {
        margin-left: auto
    }
    .o-pdf {
        background-position: right 1.5625vw center
    }
    .o-pagenavi {
        font-size: 24px;
        font-size: 1.25vw
    }
    .o-postnavi li a {
        font-size: 16px;
        font-size: .83333vw
    }
    .o-postnavi li a {
        padding: 0 2.35em
    }
    .o-postnavi li a:before {
        margin: 0 0.5em 0 0
    }
    .o-postnavi li:nth-child(2) a:before {
        margin: 0 0 0 0.5em
    }
    .slick-arrow {
        left: -30px;
        width: 60px;
        height: 60px
    }
    .slick-next {
        right: -30px;
        left: auto
    }
    .l-main {
        padding-top: 7.29167vw;
        padding-bottom: 7.29167vw
    }
    .l-header {
        height: 7.29167vw;
        padding: 0 5.20833vw
    }
    .l-header.hide {
        -webkit-transform: translateY(-7.29167vw);
        transform: translateY(-7.29167vw)
    }
    .l-header__logo a img {
        width: 15.625vw
    }
    .l-header__fixd li a {
        font-size: 16px;
        font-size: .83333vw
    }
    .l-nav {
        margin: 0 auto
    }
    .l-nav ul {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: static;
        align-items: center;
        justify-content: space-between;
        width: auto;
        padding: 0;
        background-color: transparent
    }
    .l-nav ul li a {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .l-nav ul li a {
        color: #fff;
        letter-spacing: 0.1em
    }
    .l-nav ul li:nth-child(n+2) {
        margin: 0 0 0 1.04167vw
    }
    .l-footer {
        padding: 3.125vw 0 4.16667vw 0
    }
    .l-footer__logo {
        width: 8.33333vw
    }
    .l-footer__text {
        font-size: 24px;
        font-size: 1.25vw
    }
    .l-footer__text small {
        font-size: 14px;
        font-size: .72917vw
    }
    .l-footer__copy {
        font-size: 11px;
        font-size: .57292vw
    }
    .l-footer__copy {
        margin-top: 1.5625vw
    }

    /*20221209*/
    .l-content__in {
        width: 56.08333vw;
        margin-right: auto;
        margin-left: auto;
        padding-right: 0;
        padding-left: 0
    }
    .p-index__mv {
        padding-bottom: .625vw
    }
    .p-index__mv__slider {
        height: 41.66vw
    }
    .p-index__mv__slider .slick-active .p-index__mv__in dl dd {
        -webkit-clip-path: inset(0 100% 0 0);
        -webkit-animation: typing2 3s forwards;
        animation: typing2 3s forwards;
        clip-path: inset(0 100% 0 0)
    }
    .p-index__mv__in {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 0 0 0 5.20833vw
    }
    .p-index__mv__in dl {
        white-space: nowrap
    }
    .p-index__mv__in dl dt {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .p-index__mv__in dl dd {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .p-index__mv__in dl dd {
        -ms-flex-wrap: nowrap;
        -webkit-clip-path: inset(0 100% 0 0);
        -webkit-animation: typing 3s forwards;
        flex-wrap: nowrap;
        margin-top: 1.71875vw;
        animation: typing 3s forwards;
        clip-path: inset(0 100% 0 0)
    }
    .p-index__mv__in dl dd span {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .p-index__mv__in dl dd small {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-index__mv__in dl dd small {
        margin-right: .52083vw
    }
    .p-index__mv__in dl dd strong {
        font-size: 60px;
        font-size: 3.125vw
    }
    .p-index__mv .slick-slide img {
        height: 41.66667vw
    }
    .p-index__mv .slick-dots {
        height: auto;
        margin: 0 0 0 5.20833vw
    }
    .p-index__mv .slick-dots li button {
        position: relative;
        padding: 2.08333vw 0;
        cursor: pointer
    }
    .p-index__mv .slick-dots li button:after {
        -webkit-transition: width 0.3s;
        display: block;
        position: absolute;
        top: -.26042vw;
        left: 0;
        width: 0;
        height: .26042vw;
        border-radius: .13021vw;
        background-color: #e60012;
        content: "";
        transition: width 0.3s
    }
    .p-index__mv .slick-dots li button:before {
        display: block;
        color: inherit;
        font-size: 16px;
        font-size: 4.26667vw;
        content: "01.クルマをもっと身近に"
    }
    .p-index__mv .slick-dots li:nth-child(n+2) {
        margin-left: 1.04167vw
    }
    .p-index__mv .slick-dots li:nth-child(2) button:before {
        content: "02.クルマをもっと便利に"
    }
    .p-index__mv .slick-dots li:nth-child(3) button:before {
        content: "03.クルマをもっとエコに"
    }
    .p-index__mv .slick-dots li:nth-child(4) button:before {
        content: "04.クルマをもっと安全に"
    }
    .p-index__mv .slick-dots li:nth-child(5) button:before {
        content: "05.クルマをもっとお手軽に"
    }
    .p-index__mv .slick-dots li.slick-active button:after {
        width: 5.20833vw
    }
    .p-index__mv__course {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-index__mv__course {
        width: 18.64583vw;
        height: 4.16667vw;
        margin: -4.79167vw 2.08333vw 0 auto;
        padding: 0 0 0 2.08333vw
    }
    .p-index__mv__course .car {
        width: 5.20833vw
    }
    .p-index__mv__course .arrow {
        width: .67708vw
    }
    .p-index__nav ul li a {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-index__sec01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .p-index__sec01__img {
        width: 39.58333vw
    }
    .p-index__sec01__box {
        padding: 0 0 0 5.20833vw
    }
    .p-index__sec02 {
        padding: 7.29167vw 3.125vw
    }
    .p-index__sec02__text {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: center
    }
    .p-index__sec02__text p {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-index__sec02__text .o-btn {
        margin: 0 0 0 2.08333vw
    }
    .p-index__sec03__box {
        width: 83.33333vw;
        margin: -28.125vw auto 0 auto;
        padding: 4.16667vw 11.19792vw
    }

/*20221203*/
    .p-index__sec03__box2 {
        width: 83.33333vw;
        margin: 2.125vw auto 0 auto;
        padding: 4.16667vw 11.19792vw
    }
    .o-page-ttl-point {
        font-size: 26px;
	background:linear-gradient(transparent 70%, red 0%);
    }

    .left {
        position: absolute; top: 40px; left: 10;
    }
    .right {
        position: absolute; top: 40px; right: 10;
    }
    .gazobox {
        width:950px;
        height:440px;
        background-color: #fff3f3;
        position: relative
    }
    .gazou {
        width:450px;
        height:355px;
    }
    .tweet {
        width:800px;
        height:600px;
    }




    .p-index__sec04 {
        padding: 5.20833vw 0
    }
    .p-index__sec04__box {
        width: 67.70833vw;
        margin: 0 auto;
        padding: 5.20833vw 7.8125vw
    }
    .p-index__sec04__item {
        -webkit-box-align: start;
        -ms-flex-align: start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: flex-start;
        justify-content: space-between
    }
    .p-index__sec04__item--re {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
    .p-index__sec04__item img {
        width: 23.95833vw
    }
    .p-index__sec04__item dl {
        width: 25vw
    }
    .p-index__sec04__item dt {
        font-size: 36px;
        font-size: 1.875vw
    }
    .p-index__sec04__item dd {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-index__sec05 {
        padding: 5.20833vw 0 6.77083vw
    }
    .p-news__ttl {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-news__ttl strong {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .p-news__ttl strong {
        margin-right: 1.04167vw
    }
    .p-news__ttl a {
        font-size: 16px;
        font-size: .83333vw
    }
    .p-news__ttl a img {
        width: .67708vw;
        margin-left: 1.04167vw
    }
    .p-news__list li:nth-child(n+2), .p-news__list__in:nth-child(n+2) {
        margin-top: 1.04167vw
    }
    .p-news__list .data {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-news__list .cate {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-news__list .cate {
        width: 7.29167vw;
        height: 1.45833vw;
        margin: 0 2.08333vw
    }
    .p-news__list a {
        font-size: 16px;
        font-size: .83333vw
    }
    .p-news__list .new:after {
        font-size: 12px;
        font-size: .625vw
    }
    .p-news__list .new:after {
        margin-left: 1.5625vw;
        padding: .26042vw .625vw
    }
    .p-news__list.p-news__list--news .data {
        font-size: 16px;
        font-size: .83333vw
    }
    .p-news__list.p-news__list--news .cate {
        font-size: 16px;
        font-size: .83333vw
    }
    .p-news__list.p-news__list--news .cate {
        width: 8.22917vw;
        height: 1.66667vw
    }
    .p-news__list.p-news__list--news a {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-news__list.p-news__list--news .new:after {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-news__list.p-news__list--news .new:after {
        margin-left: 1.5625vw
    }
    .p-news__ttl {
        font-size: 36px;
        font-size: 1.875vw
    }
    .p-news__con {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-column {
        -ms-flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between
    }
    .p-column li {
        width: 24.47917vw;
        padding: 1.04167vw 0
    }
    .p-column li .img {
        width: 4.16667vw;
        height: 4.16667vw;
        margin-right: 1.04167vw
    }
    .p-column li .text {
        font-size: 16px;
        font-size: .83333vw
    }
    .p-column li .data {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-column li .data {
        margin-bottom: .26042vw
    }
    .p-about__box {
        padding: 0;
        background-position: center top
    }
    .p-about__box__in {
        width: 23.95833vw;
        margin-top: 1.5625vw
    }
    .p-about__box__in dt {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-about__box__in dt strong {
        font-size: 48px;
        font-size: 2.5vw
    }
    .p-about__box__in dt strong {
        -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
        order: 5;
        width: 4.16667vw;
        height: 4.16667vw;
        margin: 0 -4.16667vw 0 auto
    }
    .p-about__box__in dd {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-about__box__in dd {
        margin-top: 1.04167vw
    }
    .p-about__box__in dd img {
        width: 5.20833vw;
        margin-right: 1.04167vw
    }
    .p-about__box__in dd img.arrow {
        width: 2.08333vw;
        margin-left: 6.25vw
    }
    .p-about__box__in dd .p-course__btn {
        width: 100%;
        height: 3.75vw
    }
    .p-about__box__in dd .small {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-about__box__in--red {
        margin-right: 0;
        margin-left: auto
    }
    .p-about__box__in--red dt strong {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
        margin: 0 1.5625vw 0 -4.16667vw
    }
    .p-about__number04 {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: row-reverse
    }
    .p-about__arrow {
        position: relative;
        margin-right: -.78125vw;
        padding-right: 1.5625vw
    }
    .p-about__arrow .p-about__box__in--red {
        width: 23.17708vw
    }
    .p-about__arrow__item {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-about__arrow__item {
        position: absolute;
        right: 1.5625vw;
        bottom: 15.625vw;
        width: 5.20833vw;
        height: 5.20833vw;
        margin: 0
    }
    .p-about__ttl {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-about__ttl {
        width: 100%;
        margin-left: 0
    }
    .p-about__number07 {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center
    }
    .p-about__number07__item {
        width: 20.3125vw;
        margin: 0 0 0 auto
    }
    .p-about__number07__item dt {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-about__number07__item dd {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-contact dl {
        -webkit-box-align: start;
        -ms-flex-align: start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: flex-start;
        justify-content: space-between
    }
    .p-contact dl:nth-child(n+2) {
        margin-top: 1.30208vw
    }
    .p-contact dl dt {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-contact dl dt {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 34.5%
    }
    .p-contact dl dd {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-contact dl dd {
        width: 64%;
        margin-top: 0
    }
    .p-contact__text {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-contact__text--s {
        width: 16.66667vw
    }
    .p-contact__select {
        width: 16.66667vw
    }
    .p-contact__select select {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-contact__text2 {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-contact__check {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-contact .o-btn-type03 {
        width: 30.20833vw;
        margin-right: auto;
        margin-left: auto
    }
    .p-voice__search {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: space-between;
        width: 83.33333vw;
        margin: 0 auto;
        padding: 1.82292vw 4.16667vw
    }
    .p-voice__search .p-contact__select {
        width: 15.625vw
    }
    .p-voice__search .o-btn {
        margin: 0
    }
    .p-voice__text {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-voice__text strong {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-voice__item {
        margin-top: 1.5625vw
    }
    .p-voice__item .img {
        width: 12.5vw;
        margin-right: 2.08333vw
    }
    .p-voice__item dl {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -ms-flex-wrap: wrap;
        -ms-flex-line-pack: start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap;
        align-content: flex-start;
        align-items: center
    }
    .p-voice__item dl dt {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-voice__item dl dt {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 8.33333vw;
        margin-right: 1.04167vw
    }
    .p-voice__item dl .cata {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-voice__item dl .cata {
        width: 28.125vw;
        padding: .52083vw 1.04167vw
    }
    .p-voice__item dl .text {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-voice__item dl .text {
        width: 100%
    }
    .p-store__sec01 {
        padding: 5.20833vw 0
    }
    .p-store__item {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-store__item--faq .p-store__item__ttl .text {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }
    .p-store__item--faq .p-store__item__box {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        padding: 1.04167vw 1.5625vw
    }
    .p-store__item__ttl {
        min-height: 4.16667vw;
        padding: 1.04167vw 1.5625vw
    }
    .p-store__item__ttl .text {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-store__item__ttl .text {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: space-between
    }
    .p-store__item__ttl .text strong {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-store__item__ttl .text strong {
        margin: 0 auto 0 0
    }
    .p-store__item__ttl .icon {
        width: 2.08333vw;
        height: 2.08333vw;
        margin-left: 1.04167vw;
        border-width: .15625vw;
        border-radius: 1.04167vw
    }
    .p-store__item__ttl .icon:before, .p-store__item__ttl .icon:after {
        height: .15625vw
    }
    .p-store__item__box {
        -ms-flex-wrap: nowrap;
        -webkit-box-align: start;
        -ms-flex-align: start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        flex-wrap: nowrap;
        align-items: flex-start;
        justify-content: space-between;
        padding: 1.5625vw 0
    }
    .p-store__item__box .text {
        width: 33.33333vw
    }
    .p-store__item__box .map iframe {
        height: 16.66667vw
    }
    .p-store__item__box .calendar p {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-store__item__box .calendar .wpsbc-legend .wpsbc-legend-item-name {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-store__item__box .calendar .wpsbc-legend .wpsbc-legend-item-icon {
        width: 1.04167vw;
        height: .78125vw;
        margin-right: .52083vw
    }
    .p-store__item__box .img {
        width: 14.58333vw
    }
    .p-store__item__box .img img+img {
        margin-top: 1.04167vw
    }
    .p-store__item__box .img picture+picture {
        margin-top: 1.04167vw
    }
    .p-store__list {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-store__list dt {
        width: 4.16667vw;
        margin-right: 1.04167vw
    }
    .p-store__list+.p-store__list {
        margin-top: .78125vw
    }
    .p-company {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-company dl {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .p-company dt, .p-company dd {
        padding: .52083vw .78125vw
    }
    .p-company dt {
        -ms-flex-negative: 0;
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-shrink: 0;
        align-items: center;
        width: 15.625vw;
        border-right: solid 1px #ccc;
        border-bottom: none
    }
    .p-company dd {
        width: 100%
    }
    .p-faq {
        font-size: 56px;
        font-size: 2.91667vw
    }
    .p-faq {
        margin-right: 1.04167vw
    }
    .p-faq__list li {
        width: 12.23958vw
    }
    .p-faq__list li a {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-faq__list li a {
        padding: 1.04167vw 0;
        border-width: .15625vw
    }
    .p-faq__list li a:after {
        width: .3125vw;
        height: .3125vw;
        margin: .36458vw auto 0 auto
    }
    .p-course__mv {
        -webkit-box-align: center;
        -ms-flex-align: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        padding: 0
    }
    .p-course__mv__bg {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 50%
    }
    .p-course__mv__in {
        width: 49.47917vw;
        margin: auto auto auto -6.77083vw;
        padding: 5.20833vw
    }
    .p-course__mv__in--feature {
        width: auto;
        margin: 0 auto 0 -1.04167vw
    }
    .p-course__mv__in--feature h3 {
        font-size: 36px;
        font-size: 1.875vw
    }
    .p-course__mv__in--feature .c-red {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .p-course__mv__in--feature p {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-course__sec02 {
        padding: 5.20833vw 0
    }
    .p-course__ttl {
        font-size: 34px;
        font-size: 1.77083vw
    }
    .p-course__ttl {
        width: 20.83333vw;
        height: 3.64583vw
    }
    .p-course__ttl:before, .p-course__ttl:after {
        width: .52083vw;
        height: .52083vw
    }
    .p-course__box {
        padding: 3.125vw
    }
    .p-course__text {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-course__text--small {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-course__plan__item {
        width: 21.875vw
    }
    .p-course__plan__item .ttl {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-course__plan__item .ttl {
        line-height: 2.91667vw
    }
    .p-course__plan__item .box {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-course__plan__item .box {
        height: 8.33333vw;
        padding: 1.04167vw 0;
        text-align: center
    }
    .p-course__plan__item .box strong {
        font-size: 80px;
        font-size: 4.16667vw
    }
    .p-course__plan__item .ttl2 {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-course__plan__item .ttl2 {
        width: 8.33333vw;
        margin: 0 auto -.52083vw auto;
        line-height: 1.04167vw
    }
    .p-course__plan__item--gray .box {
        font-size: 30px;
        font-size: 1.5625vw
    }
    .p-course__plan__item--gray .box {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        -ms-flex-line-pack: center;
        align-content: center;
        align-items: center;
        justify-content: center
    }
    .p-course__plan__ttl {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-course__plan__ttl {
        line-height: 2.91667vw
    }
    .p-course__ttl2 {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-course__text2 {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-course__btn {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-course__btn {
        width: 30.20833vw;
        height: 3.95833vw;
        margin-right: auto;
        margin-left: auto;
        border-width: .20833vw;
        border-radius: .52083vw
    }
    .p-feature__sec01 {
        padding: 5.20833vw 0
    }
    .p-feature__table {
        padding-top: 1.04167vw
    }
    .p-feature__table table {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-feature__table table {
        width: 100%
    }
    .p-feature__table table tr th, .p-feature__table table tr td {
        width: 25%;
        padding: 1.04167vw 0
    }
    .p-feature__table table tr .red {
        padding: 0
    }
    .p-feature__table table tr .red span {
        padding: 1.5625vw 0
    }
    .p-feature__stext {
        font-size: 14px;
        font-size: .72917vw
    }
    .p-feature__point li {
        font-size: 22px;
        font-size: 1.14583vw
    }
    .p-feature__point li {
        -webkit-box-align: start;
        -ms-flex-align: start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: flex-start
    }
    .p-feature__point li img {
        width: 10.41667vw;
        margin: 0 3.125vw 0 0
    }
    .p-feature__point li dl dt {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-feature__point li dl dt {
        margin: 0
    }
    .p-feature__point li dl dt strong {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .p-feature__point li dl dd {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-feature__point li dl dd .p-course__btn {
        width: 16.66667vw;
        margin-right: 0;
        margin-left: auto
    }
    .p-feature__point li:nth-child(n+2) {
        margin-top: 2.08333vw
    }
    .p-feature__box {
        -webkit-box-align: end;
        -ms-flex-align: end;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-direction: row-reverse;
        align-items: flex-end
    }
    .p-feature__box img {
        width: 50vw
    }
    .p-feature__box dl {
        margin: auto -5.20833vw 0 0;
        padding: 5.20833vw 5.20833vw 7.96875vw 8.33333vw
    }
    .p-feature__box dl dt {
        font-size: 36px;
        font-size: 1.875vw
    }
    .p-feature__box dl dd {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-service__mv {
        width: 75.52083vw;
        margin: 0 0 0 12.65625vw
    }
    .p-service__mv__btn {
        top: 13.54167vw;
        right: auto;
        bottom: auto;
        left: 44.58333vw;
        width: 8.33333vw;
        margin: 0
    }
    .p-service__ttl {
        padding: 5.20833vw 0
    }
    .p-service__ttl__in {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .p-service__ttl__in {
        width: 41.66667vw;
        height: 8.33333vw
    }
    .p-service__ttl__in:before, .p-service__ttl__in:after {
        width: 1.5625vw;
        height: 1.5625vw
    }
    .p-service__ttl__in strong {
        font-size: 48px;
        font-size: 2.5vw
    }
    .p-service__text {
        font-size: 50px;
        font-size: 2.60417vw
    }
    .p-service__text strong {
        font-size: 160px;
        font-size: 8.33333vw
    }
    .p-service__sec01 {
        padding: 0 3.125vw
    }
    .p-service__hiyou__ttl {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-service__hiyou__ttl {
        padding: .41667vw 0
    }
    .p-service__hiyou__box {
        padding: 2.08333vw 2.60417vw
    }
    .p-service__hiyou__white {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between;
        padding: 1.5625vw 1.04167vw
    }
    .p-service__hiyou__white li {
        width: 21.875vw
    }
    .p-service__hiyou__white .ttl {
        font-size: 20px;
        font-size: 1.04167vw
    }
    .p-service__hiyou__white .bg {
        font-size: 16px;
        font-size: .83333vw
    }
    .p-service__hiyou__white .bg {
        width: 15.625vw;
        margin-right: auto;
        margin-left: auto
    }
    .p-service__hiyou__white .c-huti {
        font-size: 40px;
        font-size: 2.08333vw
    }
    .p-service__hiyou__text {
        font-size: 24px;
        font-size: 1.25vw
    }
    .p-service__hiyou__text {
        width: 23.95833vw;
        margin-right: auto;
        margin-left: auto;
        padding: .26042vw 0
    }
    .p-service__plus {
        width: 1.04167vw;
        height: 1.04167vw
    }
    .p-service__table {
        width: 100%
    }
    .p-service__table tr {
        font-size: 18px;
        font-size: .9375vw
    }
    .p-service__table tr th, .p-service__table tr td {
        padding: .78125vw
    }
    .p-service__table tr th {
        padding: 1.04167vw
    }
    .p-service__btnbox {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .p-service__btnbox .p-course__btn {
        width: 19.79167vw;
        height: auto
    }
    .p-service__btnbox .o-btn-type03 {
        margin: 0 0 0 auto
    }
    .p-cplp2022 {
        min-width: 1200px;
        padding-bottom: 0
    }
    .p-cplp2022-sec01 {
        padding: 104px 0 122px 0;
        background-image: url("../images/cplp2022/bg01.png")
    }
    .p-cplp2022-sec01 h2 {
        font-size: 4rem;
        line-height: 80px
    }
    .p-cplp2022-sec01 h2 strong {
        font-size: 5rem
    }
    .p-cplp2022-navi {
        gap: 0 40px;
        margin-top: 58px
    }
    .p-cplp2022-navi__item {
        width: 240px;
        padding: 40px 0;
        border: solid 4px #CE0B09;
        border-bottom-width: 40px;
        border-radius: 10px;
        font-size: 1.8rem
    }
    .p-cplp2022-navi__item .img {
        width: 100px;
        height: 100px
    }
    .p-cplp2022-navi__item strong {
        margin: 20px 0 7px 0;
        font-size: 2.4rem
    }
    .p-cplp2022-navi__item:after {
        bottom: -28px;
        border-width: 14px 10px 0 10px
    }
    .p-cplp2022-sec02 {
        padding: 80px 0 110px 0
    }
    .p-cplp2022-sec02 h2 {
        font-size: 4rem
    }
    .p-cplp2022-sec02 h2 span {
        margin-top: 15px;
        padding: 0 24px;
        font-size: 2.4rem;
        line-height: 50px
    }
    .p-cplp2022-sec02 h2 img {
        width: 450px;
        margin-top: 20px
    }
    .p-cplp2022-sec02 h2+p {
        margin-top: 20px;
        font-size: 2rem
    }
    .p-cplp2022-sec02 .p-cplp2022-box {
        margin-top: 56px
    }
    .p-cplp2022-sec02__ribon {
        top: -98px;
        left: -87px;
        width: 180px
    }
    .p-cplp2022-sec02__box {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-box-align: start;
        -ms-flex-align: start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: flex-start;
        justify-content: space-between
    }
    .p-cplp2022-sec02__box>img {
        -ms-flex-negative: 0;
        flex-shrink: 0;
        width: 400px;
        margin-right: 48px
    }
    .p-cplp2022-sec02__box>dl dt {
        font-size: 2.6rem
    }
    .p-cplp2022-sec02__box>dl dt strong {
        font-size: 4.6rem
    }
    .p-cplp2022-sec02__box>dl .price {
        font-size: 2rem
    }
    .p-cplp2022-sec02__box>dl .price strong {
        font-size: 6rem
    }
    .p-cplp2022-sec02__box>dl .price strong small {
        font-size: 3rem
    }
    .p-cplp2022-sec02__box>dl .data {
        margin-top: 30px
    }
    .p-cplp2022-sec02__box>dl .data ul {
        -ms-flex-wrap: wrap;
        gap: 12px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-wrap: wrap
    }
    .p-cplp2022-sec02__box>dl .data ul li {
        width: 204px;
        font-size: 1.4rem
    }
    .p-cplp2022-sec02__box>dl .data ul li span {
        width: 64px;
        height: 26px;
        margin-right: 12px;
        font-size: 1.2rem
    }
    .p-cplp2022-sec02__box>dl .data ul li:nth-child(n+2) {
        margin-top: 0
    }
    .p-cplp2022-sec02__box>dl .p-cplp2022-text {
        margin-top: 12px
    }
    .p-cplp2022-box {
        width: 980px;
        margin-right: auto;
        margin-left: auto
    }
    .p-cplp2022-box__in {
        padding: 50px;
        border-width: 5px;
        border-radius: 10px
    }
    .p-cplp2022-box:after {
        top: 10px;
        left: 10px;
        border-radius: 10px
    }
    .p-cplp2022-box__attention {
        margin-top: 40px
    }
    .p-cplp2022-box__attention dt {
        margin-bottom: 16px;
        font-size: 1.6rem;
        line-height: 40px
    }
    .p-cplp2022-box__attention dd {
        font-size: 1.4rem
    }
    .p-cplp2022-text {
        font-size: 1.4rem
    }
    .p-cplp2022-sec03 {
        padding: 120px 0;
        background-image: url("../images/cplp2022/bg_accent.png"), url("../images/cplp2022/bg_pattern02.png");
        background-position: top 53px center, top center;
        background-size: auto, auto
    }
    .p-cplp2022-sec03 h2 {
        font-size: 2.4rem
    }
    .p-cplp2022-sec03 h2 img {
        width: 297px;
        margin-top: 15px
    }
    .p-cplp2022-sec03 h2+p {
        margin-top: 15px;
        font-size: 2rem;
        line-height: 36px
    }
    .p-cplp2022-sec03 h2+p strong {
        font-size: 3rem
    }
    .p-cplp2022-sec03>.p-cplp2022-text {
        margin-top: 9px
    }
    .p-cplp2022-sec03 .p-cplp2022-box {
        margin-top: 24px
    }
    .p-cplp2022-sec03__box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }
    .p-cplp2022-sec03__box dl {
        width: 240px
    }
    .p-cplp2022-sec03__box dl:nth-child(n+2) {
        margin-left: 30px;
        padding-left: 30px;
        border-left: solid 1px #707070
    }
    .p-cplp2022-sec03__box dl .img {
        width: 100px;
        height: 100px
    }
    .p-cplp2022-sec03__box dl dt {
        margin-top: 20px;
        font-size: 1.8rem
    }
    .p-cplp2022-sec03__box dl dt strong {
        font-size: 2.4rem
    }
    .p-cplp2022-sec03__box dl .p-cplp2022-text {
        margin-top: 25px
    }
    .p-cplp2022-sec04 {
        padding: 120px 0
    }
    .p-cplp2022-sec04 h2 {
        width: 320px;
        font-size: 2.4rem;
        line-height: 50px
    }
    .p-cplp2022-sec04 h2+p {
        margin-top: 20px;
        font-size: 3rem
    }
    .p-cplp2022-sec04__box {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        gap: 0 40px;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
        margin-top: 57px
    }
    .p-cplp2022-sec04__box li {
        -webkit-box-align: start;
        -ms-flex-align: start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: flex-start;
        width: 470px;
        border-radius: 10px
    }
    .p-cplp2022-sec04__box li .img {
        width: 160px;
        height: 160px
    }
    .p-cplp2022-sec04__box li .img img {
        width: 80px
    }
    .p-cplp2022-sec04__box li .text {
        padding: 20px;
        font-size: 1.4rem
    }
    .p-cplp2022-sec04__box li .text strong {
        margin-bottom: 9px;
        font-size: 2.4rem
    }
    .p-cplp2022-sec04__box li:nth-child(2) .img img {
        width: 70px
    }
    .p-cplp2022-contact {
        padding: 0 0 120px 0
    }
    .p-cplp2022-contact--fixd {
        padding: 40px 0
    }
    .p-cplp2022-contact p {
        font-size: 1.8rem
    }
    .p-cplp2022-contact h3 {
        font-size: 4rem
    }
    .p-cplp2022-contact__btn {
        gap: 0 40px;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: center;
        margin-top: 30px
    }
    .p-cplp2022-contact__btn a {
        width: 320px;
        margin: 0;
        padding: 15px 0;
        border-radius: 10px;
        font-size: 2rem
    }
    .p-cplp2022-contact__btn a img {
        width: 22px;
        margin-right: 10px
    }
    .p-cplp2022-contact+.o-fixd+.o-fixd+.l-footer {
        padding-bottom: calc(147px + 4.16667vw)
    }
    .p-cplp2022__banner {
        width: 78.125vw
    }
}

@media print, screen and (max-width: 767px) {
    img {
        max-width: 100%
    }
    .p-index__mv__in {
        width: 100%
    }
}
@media screen and (max-width: 767px) {
    .c-ta-c-sp {
        text-align: center
    }
    .u-mt-sp-00 {
	height:50px !important
    }
    .u-mt-sp-0 {
        margin-top: 0vw !important
    }
    .u-mt-sp-5 {
        margin-top: 1.33333vw !important
    }
    .u-mt-sp-10 {
        margin-top: 2.66667vw !important
    }
    .u-mt-sp-15 {
        margin-top: 4vw !important
    }
    .u-mt-sp-20 {
        margin-top: 5.33333vw !important
    }
    .u-mt-sp-25 {
        margin-top: 6.66667vw !important
    }
    .u-mt-sp-30 {
        margin-top: 8vw !important
    }
    .u-mt-sp-35 {
        margin-top: 9.33333vw !important
    }
    .u-mt-sp-40 {
        margin-top: 10.66667vw !important
    }
    .u-mt-sp-45 {
        margin-top: 12vw !important
    }
    .u-mt-sp-50 {
        margin-top: 13.33333vw !important
    }
    .u-mt-sp-55 {
        margin-top: 14.66667vw !important
    }
    .u-mt-sp-60 {
        margin-top: 16vw !important
    }
    .u-mt-sp-65 {
        margin-top: 17.33333vw !important
    }
    .u-mt-sp-70 {
        margin-top: 18.66667vw !important
    }
    .u-mt-sp-75 {
        margin-top: 20vw !important
    }
    .u-mt-sp-80 {
        margin-top: 21.33333vw !important
    }
    .u-mt-sp-85 {
        margin-top: 22.66667vw !important
    }
    .u-mt-sp-90 {
        margin-top: 24vw !important
    }
    .u-mt-sp-95 {
        margin-top: 25.33333vw !important
    }
    .u-mt-sp-100 {
        margin-top: 26.66667vw !important
    }
    .u-mt-sp-105 {
        margin-top: 28vw !important
    }
    .u-mt-sp-110 {
        margin-top: 29.33333vw !important
    }
    .u-mt-sp-115 {
        margin-top: 30.66667vw !important
    }
    .u-mt-sp-120 {
        margin-top: 32vw !important
    }
    .u-mt-sp-125 {
        margin-top: 33.33333vw !important
    }
    .u-mt-sp-130 {
        margin-top: 34.66667vw !important
    }
    .u-mt-sp-135 {
        margin-top: 36vw !important
    }
    .u-mt-sp-140 {
        margin-top: 37.33333vw !important
    }
    .u-mt-sp-145 {
        margin-top: 38.66667vw !important
    }
    .u-mt-sp-150 {
        margin-top: 40vw !important
    }
    .u-mt-sp-155 {
        margin-top: 41.33333vw !important
    }
    .u-mt-sp-160 {
        margin-top: 42.66667vw !important
    }
    .u-mt-sp-165 {
        margin-top: 44vw !important
    }
    .u-mt-sp-170 {
        margin-top: 45.33333vw !important
    }
    .u-mt-sp-175 {
        margin-top: 46.66667vw !important
    }
    .u-mt-sp-180 {
        margin-top: 48vw !important
    }
    .u-mt-sp-185 {
        margin-top: 49.33333vw !important
    }
    .u-mt-sp-190 {
        margin-top: 50.66667vw !important
    }
    .u-mt-sp-195 {
        margin-top: 52vw !important
    }
    .u-mt-sp-200 {
        margin-top: 53.33333vw !important
    }
    .u-hidden-sp {
        display: none !important
    }
    .o-list--imgwide2 li {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .o-list--imgwide2--course li {
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap
    }
    .l-nav ul li a {
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 5.33333vw 0;
        border-bottom: solid 1px #ccc;
        line-height: 1
    }
    .l-nav ul li a:after {
        display: block;
        width: 3.46667vw;
        height: 2.66667vw;
        background-image: url("../../img/nichigo/icon_arrow.svg");
        background-repeat: no-repeat;
        background-size: contain;
        content: ""
    }
    .l-content__in--pc {
        padding-right: 0;
        padding-left: 0
    }
    .p-index__mv__in dl dd span {
        display: block;
        width: 100%;
        margin-top: 2.66667vw
    }
    .p-index__mv .slick-dots li button {
        width: 2.13333vw;
        height: 2.13333vw;
        border-radius: 1.06667vw;
        background-color: #dddddd
    }
    .p-index__mv .slick-dots li.slick-active button {
        background-color: #e60012
    }
    .p-news__list a {
        display: block;
        width: 100%;
        margin-top: 2.66667vw
    }
    .p-news__list.p-news__list--news a {
        margin-top: 2.66667vw
    }
    .p-faq__list li:nth-child(n+3) {
        margin-top: 2.66667vw
    }
    .p-cplp2022-sec03 .p-cplp2022-box {
        margin-right: 5.33333vw;
        margin-left: 5.33333vw
    }
    .p-cplp2022-sec03__box dl:nth-child(n+2) {
        margin-top: 8vw;
        padding-top: 8vw;
        border-top: solid 1px #707070
    }
    .p-cplp2022-sec04__box li:nth-child(2) {
        margin-top: 6.4vw
    }
    .p-cplp2022-contact--fixd .p-cplp2022-contact__btn {
        gap: 0 4vw
    }
    .p-cplp2022-contact--fixd .p-cplp2022-contact__btn a {
        width: 42.66667vw
    }
    .p-cplp2022-contact--fixd .p-cplp2022-contact__btn a:nth-child(2) {
        margin-top: 0
    }
    .p-cplp2022-contact__btn a:nth-child(2) {
        margin-top: 6.4vw
    }
}
@media print, screen and (min-width: 768px) and (min-width: 768px) {
    .p-index__mv .slick-dots li button:before {
        font-size: 16px;
        font-size: .83333vw
    }
}
@media print {
    body {
        font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3",
            "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", sans-serif !important
    }
    .o-fixd {
        display: none
    }
    img {
        max-width: 100% !important
    }
}
.box p {
    position: absolute;
    top: -90px;
    left: -60;
    padding: 10px;
    font-size: 60px;
    color: red;
    z-index: 80;
}



/* XO Event Calendar ------------------------- */

.xo-event-calendar {
    margin: 0 auto;
}
.xo-months {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.xo-month-wrap {
    width: 47%; //カレンダーの横幅の最大を47%とする
}
.holiday-titles {
visibility:hidden;
}

@media screen and (max-width: 599px) {
    .xo-event-calendar {
        width: 70%; //カレンダー全体の表示幅の最大を70%とする
    }
    .xo-months {
        display: block; //カレンダーを縦に並べる
    }
    .xo-month-wrap {
        width: 100%; //カレンダーの横幅の最大を100%とする
    }
}
