@media screen and (max-width: 768px) {
    .l-header__menu__item::after,.l-header__menu__toggle__menu__item::after {
        content:"";
        display: block;
        width: 8px;
        height: 16px;
        background-image: url(../img/common/ico_arrow_orange.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        transform: rotate(90deg);
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%)
    }
}

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;
    width: initial;
    height: initial;
    font-size: 100%;
    font: inherit;
    color: inherit;
    line-height: inherit;
    vertical-align: baseline;
    background: initial;
    border: 0
}

hgroup,menu,aside,details,header,footer,article,main,section,nav,figcaption,figure,span,em {
    display: block
}

html {
    font-size: 62.5%
}

*:focus {
    outline: none
}

input,textarea {
    font-family: "Noto Sans JP",sans-serif
}

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

table th {
    background-clip: padding-box
}

table td {
    word-break: break-all;
    background-clip: padding-box
}

ol,ul {
    list-style: none
}

i,em {
    font-style: normal
}

blockquote,q {
    quotes: none
}

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

*:not(table):not(tbody):not(thead):not(tfoot):not(tr) {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

a {
    text-decoration: none
}

body {
    font-size: 16px;
    font-family: "Noto Sans JP",sans-serif;
    line-height: 1.75;
    color: #000;
    transition: opacity .8s ease .6s
}

@media screen and (min-width: 769px) {
    body {
        min-width:1280px
    }
}

@media screen and (max-width: 768px) {
    body {
        min-height:100vh;
        min-height: -webkit-fill-available
    }
}

p {
    font-size: 16px;
    line-height: 1.75
}

img,svg {
    width: 100%;
    vertical-align: bottom
}

svg {
    width: 100%;
    height: auto
}

b {
    font-weight: 700
}

input,select,textarea {
    font-size: 16px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

textarea {
    overflow: auto;
    resize: none
}

@media screen and (min-width: 769px) {
    input,textarea {
        font-size:16px
    }
}

@media screen and (max-width: 768px) {
    input,textarea {
        font-size:14px
    }
}

input::-ms-clear {
    visibility: hidden
}

select::-ms-expand {
    display: none
}

[data-hidden] {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    color: rgba(0,0,0,0);
    opacity: 0;
    transform: scale(0)
}

@media screen and (min-width: 769px) {
    [data-device=sp] {
        display:none !important
    }

    [data-device=tb] {
        display: none !important
    }

    a[href^=tel] {
        pointer-events: none
    }
}

@media screen and (max-width: 768px) {
    [data-device=pc] {
        display:none !important
    }
}

@media screen and (max-width: 768px) {
    body {
        -webkit-overflow-scrolling:touch
    }

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

    [data-device=pc] {
        display: none !important
    }
}

@media screen and (max-width: 768px) {
    .modaal-inner-wrapper {
        padding:0
    }
}

.modaal-container {
    max-width: 1100px
}

@media screen and (min-width: 769px) {
    .modaal-container {
        border-radius:30px
    }
}

@media screen and (max-width: 768px) {
    .modaal-container {
        min-height:100vh;
        overflow-y: scroll
    }
}

@media screen and (min-width: 769px) {
    .modaal-content-container {
        padding:60px
    }
}

@media screen and (max-width: 768px) {
    .modaal-content-container {
        padding:60px 5%
    }
}

.modaal-close {
    width: 28.28px;
    height: 28.28px;
    background: #000;
    position: absolute;
    top: 30px;
    right: 30px
}

.modaal-close::before,.modaal-close::after {
    width: 2px;
    height: 30px;
    background: #000;
    top: 0;
    left: 14.14px
}

@media screen and (max-width: 768px) {
    .modaal-close {
        top:20px;
        right: 20px
    }
}

.modaal-close:focus::after,.modaal-close:focus::before,.modaal-close:hover::after,.modaal-close:hover::before {
    background: #ff9046
}

.modaal-close:focus,.modaal-close:hover {
    background: none
}

.splide {
    position: relative
}

.splide__track {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.splide__slide {
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.splide__pagination {
    display: flex;
    gap: 10px;
    position: relative;
    bottom: auto;
    left: auto;
    right: auto;
    margin-top: 20px
}

.splide__pagination__page {
    width: 10px;
    height: 10px;
    background: #cecece;
    opacity: 1;
    margin: 0
}

.splide__pagination__page.is-active {
    background: #ff9046;
    transform: scale(1);
    opacity: 1
}

.splide__arrows {
    width: 100%;
    height: 40px;
    max-width: 1240px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10
}

.splide__arrow {
    width: 42px;
    height: 42px;
    background: url("../img/common/ico_slider_arrow.svg");
    background-size: 40px 40px;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1
}

.splide__arrow--next {
    transform: translateY(-50%) scale(-1)
}

.splide__arrow--prev {
    left: 0
}

.splide__arrow--next {
    right: 0
}

.splide__arrow svg {
    display: none
}

.splide__arrow:disabled {
    pointer-events: none
}

@media screen and (min-width: 769px) {
    .splide__arrow:hover {
        width:42px;
        height: 42px;
        background-image: url("../img/common/ico_slider_arrow_hover.svg");
        background-size: 42px 42px
    }
}

.c-accordion__list__item {
    border-bottom: 1px solid #000;
    padding-top: 20px;
    cursor: pointer
}

.c-accordion__list__item:first-child {
    border-top: 1px solid #000
}

@media screen and (min-width: 769px) {
    .c-accordion__list__item {
        transition:all ease-out .2s
    }

    .c-accordion__list__item:hover {
        background-color: #f5f5f5
    }
}

.c-accordion__title {
    font-weight: 700;
    padding-bottom: 20px;
    position: relative
}

.c-accordion__title::before {
    content: "";
    width: 20px;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 14px;
    right: 15px;
    transform: translateY(-50%)
}

.c-accordion__title::after {
    content: "";
    width: 20px;
    height: 2px;
    background-color: #000;
    position: absolute;
    top: 14px;
    right: 15px;
    transform: translateY(-50%) rotate(90deg);
    transition: all ease-out .2s
}

.c-accordion__title.is-active::after {
    transform: translateY(-50%) rotate(0)
}

@media screen and (max-width: 768px) {
    .c-accordion__title::before {
        right:0
    }

    .c-accordion__title::after {
        right: 0
    }
}

.c-accordion__contents {
    display: none;
    padding-bottom: 20px
}

@media screen and (max-width: 768px) {
    .c-accordion__sp__btn {
        position:relative
    }

    .c-accordion__sp__btn::after {
        content: "詳細を見る";
        font-size: 16px;
        font-weight: 700;
        color: #ff9046;
        text-decoration: underline;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%)
    }

    .c-accordion__sp__btn.is-active::after {
        content: "詳細を閉じる"
    }

    .c-accordion__sp__contents {
        display: none;
        height: 0;
        transition: all ease-out .2s
    }

    .c-accordion__sp__btn.is-active+.c-accordion__sp__contents {
        display: block;
        height: 100%
    }
}

.c-anchor {
    margin-top: -100px;
    padding-top: 100px
}

@media screen and (max-width: 768px) {
    .c-anchor {
        margin-top:-84px;
        padding-top: 84px
    }
}

.js-slide-up,.js-slide-up .js-child {
    opacity: 0;
    transform: translateY(30px);
    transition: ease-in-out .8s
}

.js-slide-up.is-start,.is-loaded .js-slide-up.is-firstview {
    opacity: 1;
    transform: translateY(0)
}

@media screen and (min-width: 769px) {
    .js-slide-up.is-start .js-child,.is-loaded .js-slide-up.is-firstview .js-child {
        opacity:1;
        transform: translateY(0)
    }
}

@media screen and (max-width: 768px) {
    .is-start.js-child,.is-loaded .is-firstview .js-child {
        opacity:1;
        transform: translateY(0)
    }
}

@media screen and (min-width: 769px) {
    .js-slide-left {
        transform:translateX(-20px);
        transition: ease-in-out .8s;
        opacity: 0
    }

    .js-mv-appear {
        transition: ease-in-out .8s;
        opacity: 0
    }

    .is-mv .js-delay00 {
        transition-delay: 1s !important
    }

    .is-mv .js-delay01 {
        transition-delay: 1.2s !important
    }

    .is-mv .js-delay02 {
        transition-delay: 1.4s !important
    }

    .is-mv .js-delay03 {
        transition-delay: 1.6s !important
    }

    .is-mv .js-delay04 {
        transition-delay: 1.8s !important
    }

    .is-mv .js-delay05 {
        transition-delay: 2s !important
    }

    .js-delay00 {
        transition-delay: 0s !important
    }

    .js-delay01 {
        transition-delay: 0.2s !important
    }

    .js-delay02 {
        transition-delay: 0.4s !important
    }

    .js-delay03 {
        transition-delay: 0.6s !important
    }

    .js-delay04 {
        transition-delay: 0.8s !important
    }

    .js-delay05 {
        transition-delay: 1s !important
    }

    .is-loaded .js-slide-left {
        transform: translate(0, 0);
        opacity: 1
    }

    .is-loaded .js-mv-appear {
        opacity: 1
    }
}

.c-article .c-inner {
    max-width: 780px
}

.c-article .c-title__bg {
    margin-top: 40px
}

.c-article__item+.c-article__item,.c-article__img+.c-article__img,.c-article__text+.c-article__img,.c-article__img+.c-article__text {
    margin-top: 40px
}

.c-article__text+.c-article__text {
    margin-top: 20px
}

.c-article__wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 60px;
    position: relative
}

.c-article__cont {
    width: 90%;
    max-width: 780px
}

.c-article__info .c-title {
    text-align: left;
    margin-bottom: 20px
}

.c-article__info__date {
    display: flex;
    gap: 10px
}

.c-article__info__cont {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 14px;
    line-height: 1.5
}

.c-article__mv {
    margin-top: 40px
}

.c-article__side {
    width: 260px;
    height: 100%;
    position: sticky;
    top: 0;
    margin-top: -90px;
    padding-top: 90px
}

.c-article__side__title {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.c-article__side__list {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.c-article__side__list__img {
    border-radius: 30px;
    margin-bottom: 10px;
    overflow: hidden
}

.c-article__side__list__title {
    font-weight: 700;
    font-size: 14px;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .c-article__side {
        width:90%
    }
}

.c-bg__beige {
    background-color: #fff5ef
}

.c-btn,.c-btn--disable {
    display: block;
    width: 220px;
    height: 40px;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    line-height: 40px;
    position: relative;
    z-index: 1
}

.c-btn::before,.c-btn--disable::before {
    content: "";
    width: 220px;
    height: 40px;
    background: linear-gradient(to bottom, #abe1fa, #1d8dce);
    border-radius: 20px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    transition: all ease-out .2s
}

.c-btn input,.c-btn--disable input {
    display: block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    line-height: 40px;
    cursor: pointer;
    background-color: rgba(0,0,0,0);
    border: none;
    position: absolute;
    top: 0;
    left: 0
}

@media screen and (min-width: 769px) {
    .c-btn:hover::before,.c-btn--disable:hover::before {
        width:230px;
        height: 42px;
        background: linear-gradient(to bottom, #1e86c3, #20a0eb)
    }
}

.c-btn button,.c-btn--disable button {
    display: block;
    width: 100%;
    cursor: pointer
}

.c-btn--disable {
    background-color: #adadad;
    border-radius: 20px;
    pointer-events: none
}

.c-btn--disable::before {
    display: none
}

.c-btn--disable::after {
    display: none
}

.c-btn--center {
    margin-left: auto;
    margin-right: auto
}

@media screen and (min-width: 769px) {
    .c-btn-hover:hover .c-btn::before,.c-btn-hover:hover .c-btn--disable::before {
        width:230px;
        height: 42px;
        background: linear-gradient(to bottom, #abe1fa, #1d8dce)
    }
}

.c-category {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 10px
}

.c-category--full {
    width: 100%
}

.c-category__link {
    display: inline-block;
    padding-left: 12px;
    font-size: 14px;
    line-height: 1.5
}

.c-category__link:before {
    content: "";
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #ff9046;
    margin-right: 6px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

@media screen and (min-width: 769px) {
    .c-category__link {
        transition:all ease-out .2s
    }

    .c-category__link:hover {
        color: #ff9046
    }
}

.c-color-main {
    color: #ff9046
}

.c-container {
    margin: 80px 0
}

@media screen and (max-width: 768px) {
    .c-container {
        margin:40px 0
    }
}

.c-container--sm {
    margin: 60px 0
}

@media screen and (max-width: 768px) {
    .c-container--sm {
        margin:40px 0
    }
}

.c-count {
    width: 100%;
    counter-reset: num 0;
    margin-left: 15px
}

.c-count__item {
    padding-left: 1.5em;
    position: relative
}

.c-count__item:nth-child(n+10) {
    padding-left: 2em
}

.c-count__item::before {
    counter-increment: num 1;
    content: counter(num) "．";
    display: inline-block;
    position: absolute;
    left: 0
}

.c-count-2nd {
    width: 100%;
    counter-reset: num-2nd 0;
    margin-left: -0.5em
}

.c-count-2nd__item {
    padding-left: 2.5em;
    position: relative
}

.c-count-2nd__item:nth-child(n+10) {
    padding-left: 3em
}

.c-count-2nd__item::before {
    counter-increment: num-2nd 1;
    content: "（" counter(num-2nd) "）";
    display: inline-block;
    position: absolute;
    left: 0
}

@media screen and (max-width: 768px) {
    .c-count-2nd {
        margin-left:-1.5em
    }
}

.c-count-3rd {
    width: 100%;
    counter-reset: num-2nd 0
}

.c-count-3rd__item {
    padding-left: 2em;
    position: relative
}

.c-count-3rd__item:nth-child(n+10) {
    padding-left: 3em
}

.c-count-3rd__item::before {
    counter-increment: num-2nd 1;
    content: counter(num-2nd, katakana) "　";
    display: inline-block;
    position: absolute;
    left: 0
}

.c-count__small {
    width: 100%;
    counter-reset: numSmall 0
}

.c-count__small__item {
    padding-left: 1.5em;
    position: relative
}

.c-count__small__item:nth-child(n+10) {
    padding-left: 2em
}

.c-count__small__item::before {
    counter-increment: numSmall 1;
    content: counter(numSmall);
    display: inline-block;
    font-weight: 700;
    font-family: "Lato","Noto Sans JP",sans-serif;
    position: absolute;
    left: 0
}

.c-count__small__item+.c-count__small__item {
    margin-top: 20px
}

.c-subfont {
    font-family: "Lato","Noto Sans JP",sans-serif
}

.c-form {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
    background-color: #f5f5f5;
    padding: 30px
}

@media screen and (max-width: 768px) {
    .c-form {
        padding:20px
    }
}

.c-form__cont {
    width: 90%;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto
}

.c-form__title {
    font-weight: 700;
    margin-bottom: 10px
}

.c-form__input__item,.c-form__select__item,.c-form__textarea__item {
    width: 100%;
    background-color: #fff;
    border: 1px solid #000;
    border-radius: 5px;
    padding: 10px;
    position: relative;
    font-size: 14px;
    line-height: 1.5
}

.c-form__textarea__item {
    min-height: 200px
}

.c-form__radio label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px
}

.c-form__radio__item {
    display: none
}

.c-form__radio__item+span {
    display: flex;
    align-items: center;
    gap: 10px
}

.c-form__radio__item+span::before {
    flex-shrink: 0;
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #fff
}

.c-form__radio__item+span::after {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: #ff9046;
    border-radius: 50%;
    position: absolute;
    top: 6px;
    left: 6px;
    opacity: 0
}

@media screen and (max-width: 768px) {
    .c-form__radio__item+span::after {
        top:50%;
        transform: translateY(-50%)
    }
}

.c-form__radio__item:checked+span::after {
    opacity: 1
}

.c-form__select::after {
    position: absolute;
    top: 40%;
    right: 15px;
    transform: translateY(-50%) rotate(90deg);
    content: "";
    display: block;
    width: 6px;
    height: 12px;
    background-image: url(../img/common/ico_arrow.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    transform: rotate(90deg)
}

.mw_wp_form_confirm .c-form__select::after {
    display: none
}

.c-form__2col {
    display: flex;
    flex-wrap: wrap;
    gap: 20px
}

.c-form__2col__item {
    width: calc(50% - 10px)
}

.mw_wp_form_confirm .c-form__agree__cont {
    display: none
}

.c-form__agree label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 10px
}

.c-form__agree__item {
    display: none
}

.c-form__agree__item+span {
    display: flex;
    align-items: center;
    gap: 10px
}

.c-form__agree__item+span::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    border: 1px solid #000;
    border-radius: 5px;
    background-color: #fff
}

.c-form__agree__item+span::after {
    content: "";
    display: block;
    width: 6px;
    height: 12px;
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    position: absolute;
    top: 45%;
    left: 16px;
    transform: translate(-50%, -50%) rotate(45deg);
    opacity: 0
}

.c-form__agree__item:checked+span::before {
    background-color: #ff9046;
    border: 1px solid #ff9046
}

.c-form__agree__item:checked+span::after {
    opacity: 1
}

.c-form .c-btn--back {
    display: none
}

.mw_wp_form_confirm .c-form .c-btn--back,.p-light-plan-comfirm .c-form .c-btn--back,.p-free-plan-comfirm .c-form .c-btn--back {
    display: block
}

.c-form .c-btn--center {
    display: flex;
    justify-content: center;
    gap: 20px;
    width: 100%
}

.mw_wp_form_confirm .c-form__confirm--hidden {
    display: none
}

.c-form__confirm--visible {
    display: none
}

.mw_wp_form_confirm .c-form__confirm--visible {
    display: block
}

.c-heading {
    font-weight: 700;
    margin-bottom: 10px
}

.c-heading--md {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.c-heading--lg {
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .c-heading--lg {
        font-size:20px
    }
}

.c-hover-item {
    display: inline-block
}

.c-hover-item__card {
    background-color: #fff
}

.c-hover-item__card__wrap {
    display: block;
    width: 100%;
    height: 100%;
    padding: 50px 20px
}

.c-hover-item__card__wrap::before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    border: 0 solid #ff9046;
    opacity: 0;
    position: absolute;
    bottom: 0;
    left: 0;
    box-sizing: border-box;
    z-index: 0;
    transition: linear .3s
}

.c-hover-item__card__wrap::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    box-shadow: 10px 10px 40px rgba(0,0,0,.0509803922);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    transition: linear .3s
}

@media screen and (min-width: 769px) {
    .c-hover-item:hover .c-hover-item__card__wrap::before {
        border-width:3px;
        opacity: 1
    }

    .c-hover-item:hover .c-hover-item__card__wrap::after {
        opacity: 1
    }
}

.c-hover-item__btn {
    transform: rotate(-90deg)
}

.c-hover-item__btn__cont {
    width: 63px;
    height: 63px;
    position: relative
}

.c-hover-item__btn__text {
    display: flex;
    align-items: center
}

.c-hover-item__btn__text__item {
    font-weight: 700;
    margin-left: 15px
}

.c-hover-item__btn__circle {
    fill: #ff9046;
    stroke: #ff9046;
    stroke-dasharray: 0 366;
    stroke-width: 3;
    animation: mouse-out ease-out .5s forwards
}

.c-hover-item__btn__arrow {
    width: 22px;
    height: 18px;
    stroke: #fff;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    animation: arrow-mouse-out ease-out .5s forwards
}

@media screen and (min-width: 769px) {
    .c-hover-item:hover .c-hover-item__btn__circle {
        animation:mouse-on ease-out .5s forwards
    }

    .c-hover-item:hover .c-hover-item__btn__arrow {
        animation: arrow-mouse-on ease-out .5s forwards
    }
}

@keyframes mouse-on {
    0% {
        fill: #ff9046;
        stroke-dasharray: 0 366
    }

    to {
        fill: #fff;
        stroke-dasharray: 366 366
    }
}

@keyframes mouse-out {
    0% {
        fill: #fff;
        stroke-dasharray: 366 366
    }

    to {
        fill: #ff9046;
        stroke-dasharray: 0 366
    }
}

@keyframes arrow-mouse-on {
    0% {
        stroke: #fff
    }

    to {
        stroke: #ff9046
    }
}

@keyframes arrow-mouse-out {
    0% {
        stroke: #ff9046
    }

    to {
        stroke: #fff
    }
}

.c-hover-item.is-disable {
    pointer-events: none
}

.c-indent {
    text-indent: -1em;
    padding-left: 1em
}

.c-inner {
    width: 90%;
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    position: relative
}

.c-inner--sm {
    width: 90%;
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
    position: relative
}

@media screen and (min-width: 769px) {
    .c-link {
        transition:all ease-out .2s
    }

    .c-link:hover {
        color: #ff9046
    }
}

.c-link--underline {
    text-decoration: underline
}

@media screen and (min-width: 769px) {
    .c-link--underline {
        transition:all ease-out .2s
    }

    .c-link--underline:hover {
        color: #ff9046
    }
}

.c-link--color {
    color: #ff9046
}

.c-list__item {
    padding-left: 1em;
    position: relative
}

.c-list__item::before {
    content: "・";
    position: absolute;
    left: 0
}

.c-loading {
    width: 100vw;
    height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999
}

.c-loading svg {
    width: 479px;
    height: 61px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media screen and (max-width: 768px) {
    .c-loading svg {
        width:287px;
        height: 37px
    }
}

.c-loading::before {
    content: "";
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0
}

.is-loaded .c-loading {
    animation: fadeOut 1s forwards .5s
}

.is-loaded .c-loading svg {
    animation: fadeOut 1s forwards
}

@keyframes fadeOut {
    from {
        opacity: 1
    }

    to {
        display: none;
        opacity: 0;
        z-index: -1
    }
}

svg .svg-elem-1 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) .8s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) .8s
}

svg.active .svg-elem-1 {
    fill: #d6c100
}

svg .svg-elem-2 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) .9s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) .9s
}

svg.active .svg-elem-2 {
    fill: #d6c100
}

svg .svg-elem-3 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1s
}

svg.active .svg-elem-3 {
    fill: #231815
}

svg .svg-elem-4 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.1s
}

svg.active .svg-elem-4 {
    fill: #231815
}

svg .svg-elem-5 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.2s
}

svg.active .svg-elem-5 {
    fill: #231815
}

svg .svg-elem-6 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.3s
}

svg.active .svg-elem-6 {
    fill: #231815
}

svg .svg-elem-7 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.4s
}

svg.active .svg-elem-7 {
    fill: #231815
}

svg .svg-elem-8 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.5s
}

svg.active .svg-elem-8 {
    fill: #231815
}

svg .svg-elem-9 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.6s
}

svg.active .svg-elem-9 {
    fill: #231815
}

svg .svg-elem-10 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.7s
}

svg.active .svg-elem-10 {
    fill: #231815
}

svg .svg-elem-11 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.8s
}

svg.active .svg-elem-11 {
    fill: #231815
}

svg .svg-elem-12 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 1.9s
}

svg.active .svg-elem-12 {
    fill: #231815
}

svg .svg-elem-13 {
    fill: rgba(0,0,0,0);
    -webkit-transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s;
    transition: fill .7s cubic-bezier(0.47, 0, 0.745, 0.715) 2s
}

svg.active .svg-elem-13 {
    fill: #231815
}

.c-modal__btn--play {
    text-decoration: underline;
    cursor: pointer
}

.c-modal__btn--play::after {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("../img/common/ico_play.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    margin-left: 10px
}

.c-modal__contents {
    display: none
}

.c-modal__contents__inner {
    display: flex;
    flex-direction: row-reverse;
    gap: 40px 60px
}

@media screen and (max-width: 768px) {
    .c-modal__contents__inner {
        flex-wrap:wrap
    }
}

.c-modal__contents__img {
    width: 400px
}

@media screen and (max-width: 768px) {
    .c-modal__contents__img {
        width:100%
    }
}

.c-modal__contents__text {
    width: 100%
}

.c-modal__contents__text__title {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.c-modal__contents__text p+p {
    margin-top: 20px
}

.c-modal__contents__text p+.c-btn {
    margin-top: 40px
}

@media screen and (min-width: 769px) {
    .c-modal__contents__img+.c-modal__contents__text {
        width:calc(100% - 460px)
    }
}

.c-modal__contents__table {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto
}

.c-note {
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5
}

.c-page {
    padding-top: 70px
}

@media screen and (max-width: 768px) {
    .c-page {
        padding-top:54px
    }
}

.c-page__section+.c-page__section {
    margin-top: 80px
}

.c-page__item+.c-page__item {
    margin-top: 40px
}

.c-page__text+.c-page__text {
    margin-top: 20px
}

.c-page__btn {
    margin-top: 80px
}

.c-pagination .nav-links {
    display: flex;
    justify-content: center;
    gap: 10px
}

.c-pagination span.page-numbers,.c-pagination a.page-numbers {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    border-radius: 5px;
    position: relative;
    overflow: hidden;
    z-index: 1;
    transition: all ease-out .2s
}

.c-pagination span.page-numbers::before,.c-pagination a.page-numbers::before {
    content: "";
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    position: absolute;
    top: 0;
    z-index: -1;
    transition: all ease-out .2s
}

.c-pagination span.page-numbers::after,.c-pagination a.page-numbers::after {
    content: "";
    width: 100%;
    height: 100%;
    background: linear-gradient(to bottom, #FF9046, #FFA700);
    opacity: 0;
    position: absolute;
    top: 0;
    z-index: -1;
    transition: all ease-out .2s
}

.c-pagination span.page-numbers.current,.c-pagination a.page-numbers.current {
    color: #fff;
    font-weight: 700
}

.c-pagination span.page-numbers.current::before,.c-pagination a.page-numbers.current::before {
    opacity: 0
}

.c-pagination span.page-numbers.current::after,.c-pagination a.page-numbers.current::after {
    opacity: 1
}

@media screen and (min-width: 769px) {
    .c-pagination span.page-numbers:hover,.c-pagination a.page-numbers:hover {
        color:#fff;
        font-weight: 700
    }

    .c-pagination span.page-numbers:hover::before,.c-pagination a.page-numbers:hover::before {
        opacity: 0
    }

    .c-pagination span.page-numbers:hover::after,.c-pagination a.page-numbers:hover::after {
        opacity: 1
    }
}

.c-price {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    font-weight: 700;
    margin: 40px auto
}

.c-price--s {
    font-size: 18px;
    margin-bottom: 5px;
    margin-left: 10px
}

.c-price--m {
    font-size: 24px
}

.c-price--l {
    font-size: 70px;
    line-height: 71px;
    margin-left: 10px;
    margin-right: 2px;
    color: #ff9046
}

@media screen and (max-width: 768px) {
    .c-price {
        margin:30px 0 20px
    }

    .c-price--s {
        font-size: 14px;
        margin-bottom: 15px
    }

    .c-price--m {
        font-size: 18px;
        margin-bottom: 10px
    }

    .c-price--l {
        font-size: 46px
    }
}

.c-required::before,.c-required--not::before {
    content: "必須";
    display: inline-block;
    font-size: 12px;
    font-weight: normal;
    line-height: 1;
    color: #fff;
    background-color: #ff9046;
    border-radius: 5px;
    padding: 3px 5px 4px 5px;
    margin-right: 10px
}

.c-required--not::before {
    content: "任意";
    background-color: #959595
}

.c-small {
    font-size: 14px;
    line-height: 1.5
}

.c-spacer {
    padding: 80px 0
}

@media screen and (max-width: 768px) {
    .c-spacer {
        padding:40px 0
    }
}

.c-spacer--sm {
    padding: 60px 0
}

@media screen and (max-width: 768px) {
    .c-spacer--sm {
        padding:40px 0
    }
}

@media screen and (min-width: 769px) {
    .c-tab {
        display:flex;
        justify-content: center;
        gap: 10px
    }

    .c-tab__item {
        display: block;
        width: 100%
    }

    .c-tab__link {
        display: block;
        text-align: center;
        font-weight: 700;
        border-radius: 30px;
        overflow: hidden;
        padding: 27px 0;
        position: relative;
        z-index: 1;
        transition: all ease-out .2s
    }

    .c-tab__link::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: #f5f5f5;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        z-index: -1;
        transition: all ease-out .2s
    }

    .c-tab__link::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, #FF9046, #FFA700);
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: -1;
        transition: all ease-out .2s
    }

    .c-tab__link.is-active {
        color: #fff
    }

    .c-tab__link.is-active::before {
        opacity: 0
    }

    .c-tab__link.is-active::after {
        opacity: 1
    }

    .c-tab__link:hover {
        color: #fff
    }

    .c-tab__link:hover::before {
        opacity: 0
    }

    .c-tab__link:hover::after {
        opacity: 1
    }
}

@media screen and (max-width: 768px) {
    .c-tab {
        display:block;
        width: 100%;
        border: 1px solid #000;
        border-radius: 5px;
        background-color: #fff;
        padding: 10px
    }

    .c-tab__cont {
        position: relative
    }

    .c-tab__cont::after {
        content: "";
        width: 10px;
        height: 10px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(45deg);
        position: absolute;
        top: 45%;
        right: 20px;
        transform: translateY(-50%) rotate(135deg);
        pointer-events: none
    }
}

.c-table__bg {
    background-color: #f5f5f5
}

.c-table,.c-table__short {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000
}

.c-table th,.c-table__short th {
    width: 60%;
    text-align: left;
    font-weight: 700;
    background-color: #f5f5f5;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 18px 20px;
    border-collapse: collapse
}

.c-table td,.c-table__short td {
    width: 40%;
    padding: 18px 20px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000
}

@media screen and (max-width: 768px) {
    .c-table th,.c-table__short th {
        display:block;
        width: 100%
    }

    .c-table td,.c-table__short td {
        display: block;
        width: 100%
    }
}

.c-table__short th {
    width: 22%
}

.c-table__short td {
    width: 78%
}

@media screen and (max-width: 768px) {
    .c-table__short th {
        width:100%
    }

    .c-table__short td {
        width: 100%
    }
}

.c-table__thin {
    font-size: 13px;
    line-height: 19.5px;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-collapse: collapse
}

.c-table__thin>thead th {
    text-align: left;
    background-color: #f5f5f5;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 5px 10px
}

.c-table__thin>thead th:first-child {
    width: 20%
}

.c-table__thin>thead th:last-child {
    width: 80%
}

.c-table__thin tr th {
    width: 20%;
    text-align: left;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 5px 10px
}

.c-table__thin tr td {
    width: 80%;
    text-align: left;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 5px 10px
}

@media screen and (max-width: 768px) {
    .c-table__sp__reset th {
        border-top:1px solid #fff !important;
        border-right: 1px solid #fff !important;
        border-left: 1px solid #fff !important;
        background-color: rgba(0,0,0,0);
        padding: 10px !important
    }
}

.c-table__3col {
    width: 100%;
    border-top: 1px solid #000;
    border-left: 1px solid #000;
    border-collapse: collapse
}

.c-table__3col__head th {
    font-weight: 700;
    padding: 18px 20px;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    border-collapse: collapse
}

.c-table__3col__head th:first-child {
    width: 20%;
    background-color: #fff5ef
}

.c-table__3col__head th:not(:first-child) {
    width: 40%;
    background-color: #fff5ef
}

@media screen and (max-width: 768px) {
    .c-table__3col__head th:first-child {
        width:28%
    }

    .c-table__3col__head th:not(:first-child) {
        width: 36%
    }
}

.c-table__3col tr th {
    width: 20%;
    font-weight: 700;
    background-color: #f5f5f5;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    border-collapse: collapse;
    padding: 18px 20px
}

.c-table__3col tr td {
    width: 40%;
    border-bottom: 1px solid #000;
    border-right: 1px solid #000;
    padding: 18px 20px
}

@media screen and (max-width: 768px) {
    .c-table__3col tr th {
        width:28%
    }

    .c-table__3col tr td {
        width: 36%
    }
}

.c-thumb {
    border-radius: 30px;
    padding-bottom: 56%;
    position: relative;
    overflow: hidden
}

.c-thumb>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    position: absolute;
    top: 0;
    left: 0
}

.c-title,.c-title--near {
    text-align: center;
    margin-bottom: 60px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .c-title,.c-title--near {
        font-size:22px
    }
}

@media screen and (max-width: 768px) {
    .c-title,.c-title--near {
        margin-bottom:40px
    }
}

.c-title--near {
    margin-bottom: 40px
}

.c-title--sub {
    text-align: center;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .c-title--sub {
        font-size:20px
    }
}

.c-title__count {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .c-title__count {
        font-size:20px
    }
}

.c-title__count::before {
    counter-increment: count 1;
    content: counter(count, decimal-leading-zero);
    display: block;
    font-size: 56px;
    font-family: "Lato","Noto Sans JP",sans-serif;
    font-weight: 400;
    color: #ff9046
}

@media screen and (max-width: 768px) {
    .c-title__count::before {
        font-size:36px
    }
}

.c-title__count__reset {
    counter-reset: count 0
}

.c-title__label {
    display: block;
    margin-bottom: 20px;
    padding-left: 26px;
    position: relative;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.c-title__label::before {
    content: "";
    display: block;
    width: 6px;
    height: calc(100% + 4px);
    background-color: #ff9046;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

.c-title__underline {
    color: #ff9046;
    border-bottom: 2px solid #ff9046;
    padding: 0 10px 10px 10px;
    margin-bottom: 30px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5;
    font-weight: 400
}

@media screen and (max-width: 768px) {
    .c-title__underline {
        font-size:22px
    }
}

.c-title__bg,.c-title__bg--orange {
    background-color: #f5f5f5;
    padding: 9px 20px 12px 20px;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.c-title__bg__small {
    font-weight: 700;
    font-size: 16px;
    line-height: 1.75
}

.c-title__bg--orange {
    background-color: #fff5ef
}

.c-title__logo {
    display: flex;
    align-items: center;
    gap: 20px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .c-title__logo {
        font-size:22px
    }
}

.c-title__logo::before {
    content: "";
    display: block;
    width: 250px;
    height: 61px;
    background-image: url(../img/common/logo.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (max-width: 768px) {
    .c-title__logo::before {
        width:125px;
        height: 30.5px
    }
}

@media screen and (min-width: 769px) {
    .l-footer {
        margin-top:160px
    }

    .p-recommend__footer+.l-footer {
        margin-top: 0
    }
}

@media screen and (max-width: 768px) {
    .l-footer {
        margin-top:80px
    }

    .p-recommend__footer+.l-footer {
        margin-top: 0
    }

    .l-footer .c-inner {
        width: 80%;
        min-width: 300px
    }
}

.l-footer__cont {
    display: flex;
    flex-wrap: wrap;
    gap: 60px 100px;
    position: relative
}

@media screen and (max-width: 768px) {
    .l-footer__cont {
        justify-content:center;
        gap: 40px
    }
}

.l-footer__info {
    width: 200px
}

.l-footer__info__link {
    display: flex;
    gap: 20px;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.5
}

.l-footer__info__link__item {
    display: flex;
    align-items: center;
    gap: 10px
}

.l-footer__info__link__item::before {
    content: "";
    display: block;
    width: 6px;
    height: 12px;
    background-image: url("../img/common/ico_arrow_orange.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (min-width: 769px) {
    .l-footer__info__link__item {
        transition:all ease-out .2s
    }

    .l-footer__info__link__item:hover {
        color: #ff9046
    }
}

.l-footer__menu {
    display: flex;
    flex-wrap: wrap;
    gap: 80px;
    width: calc(100% - 300px)
}

.l-footer__menu__link {
    display: inline-block;
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.5
}

.l-footer__menu__link--sub {
    display: block;
    margin-bottom: 10px;
    margin-left: 25px;
    position: relative;
    font-size: 14px;
    line-height: 1.5
}

.l-footer__menu__link--sub::before {
    content: "ー";
    display: inline-block;
    position: absolute;
    top: 0;
    left: -20px
}

@media screen and (min-width: 769px) {
    .l-footer__menu__link {
        position:relative
    }

    .l-footer__menu__link::after {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #000;
        transform-origin: left top;
        transition: transform .3s;
        position: absolute;
        bottom: -2px;
        left: 50%;
        transform: translateX(-50%) scale(0, 1)
    }

    .l-footer__menu__link:hover::after {
        transform: translateX(-50%) scale(1, 1)
    }

    .l-footer__menu__link--sub a::after {
        content: "";
        width: 100%;
        height: 1px;
        background-color: #000;
        transform-origin: left top;
        transition: transform .3s;
        position: absolute;
        bottom: -2px;
        left: 50%;
        transform: translateX(-50%) scale(0, 1)
    }

    .l-footer__menu__link--sub a:hover::after {
        transform: translateX(-50%) scale(1, 1)
    }
}

@media screen and (max-width: 768px) {
    .l-footer__menu {
        width:100%;
        gap: 0
    }

    .l-footer__menu__item {
        width: 100%
    }
}

.l-footer__ico {
    display: flex;
    gap: 20px
}

.l-footer__ico__item {
    max-height: 74px
}

.l-footer__copyright {
    font-size: 13px
}

@media screen and (min-width: 769px) {
    .l-footer__copyright {
        position:absolute;
        bottom: 0;
        right: 0
    }
}

.l-footer--simple .c-spacer--sm {
    padding: 20px 0
}

@media screen and (min-width: 769px) {
    .l-footer--simple .l-footer__copyright {
        position:relative
    }
}

.l-footer--simple .l-footer__cont {
    justify-content: center
}

.l-header {
    width: 100%;
    background-color: #fff;
    box-shadow: 0 3px 6px 0 rgba(0,0,0,.16);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999
}

@media screen and (min-width: 769px) {
    .l-header {
        min-width:1280px;
        height: 70px
    }
}

@media screen and (max-width: 768px) {
    .l-header {
        height:54px
    }
}

.l-header__wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;
    padding: 0 20px
}

@media screen and (min-width: 769px) {
    .l-header__wrapper {
        position:relative
    }
}

.l-header__wrapper--center {
    justify-content: center
}

.l-header__logo {
    display: block
}

@media screen and (min-width: 769px) {
    .l-header__logo {
        width:150px
    }
}

@media screen and (max-width: 768px) {
    .l-header__logo {
        width:100px
    }
}

@media screen and (min-width: 769px) {
    .l-header__cont {
        display:flex;
        align-items: center;
        gap: 0 80px
    }
}

@media screen and (max-width: 768px) {
    .l-header__cont {
        width:100%;
        height: calc(100vh - 54px);
        background-color: #fff;
        overflow: hidden;
        position: absolute;
        top: 54px;
        left: 0;
        overflow-y: scroll;
        transition: all .5s cubic-bezier(0.213, 0.62, 0.353, 1)
    }
}

@media screen and (max-width: 768px) {
    .l-header__cont.is-close {
        transform:translateX(100%);
        opacity: 0
    }
}

@media screen and (max-width: 768px) {
    .l-header__cont.is-open {
        transform:translateX(0);
        opacity: 1
    }
}

.l-header__menu {
    font-weight: 700
}

@media screen and (min-width: 769px) {
    .l-header__menu {
        display:flex;
        gap: 0 40px
    }
}

.l-header__menu__item {
    display: block
}

@media screen and (min-width: 769px) {
    .l-header__menu__item {
        font-size:15px;
        line-height: 70px;
        transition: all ease-out .2s
    }

    .l-header__menu__item:hover {
        color: #ff9046
    }

    .l-header__menu__item::before {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #ff9046;
        transform-origin: left top;
        transition: transform .3s;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%) scale(0, 1)
    }

    .l-header__menu__item:hover::before {
        transform: translateX(-50%) scale(1, 1)
    }
}

@media screen and (max-width: 768px) {
    .l-header__menu__item {
        font-size:16px;
        line-height: 1.5;
        border-top: 1px solid #f5f5f5
    }
}

.l-header__menu__item>a {
    display: block
}

@media screen and (max-width: 768px) {
    .l-header__menu__item>a {
        padding:15px 20px
    }
}

.l-header__menu__toggle__btn {
    display: flex;
    align-items: center;
    gap: 0 10px
}

@media screen and (min-width: 769px) {
    .l-header__menu__toggle__btn {
        font-size:15px;
        line-height: 70px
    }

    .l-header__menu__toggle__btn::before {
        content: "";
        width: 100%;
        height: 2px;
        background-color: #ff9046;
        transform-origin: left top;
        transition: transform .3s;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%) scale(0, 1)
    }

    .l-header__menu__toggle__btn:hover::before {
        transform: translateX(-50%) scale(1, 1)
    }

    .l-header__menu__toggle__btn::after {
        content: "";
        display: block;
        width: 6px;
        height: 12px;
        background-image: url(../img/common/ico_arrow.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        transform: rotate(90deg)
    }
}

@media screen and (max-width: 768px) {
    .l-header__menu__toggle__btn {
        font-size:16px;
        line-height: 1.5;
        border-top: 1px solid #f5f5f5;
        pointer-events: none;
        padding: 15px 20px
    }

    .l-header__menu__toggle__btn::before,.l-header__menu__toggle__btn::after {
        content: "";
        width: 12px;
        height: 2px;
        background-color: #000;
        position: absolute;
        top: 50%;
        right: 18px;
        transform: translateY(-50%)
    }

    .l-header__menu__toggle__btn.is-close::after {
        transform: translateY(-50%) rotate(90deg);
        transition: all ease-out .2s
    }

    .l-header__menu__toggle__btn.is-open::after {
        transform: translateY(-50%) rotate(180deg);
        transition: all ease-out .2s
    }
}

.l-header__menu__toggle__cont {
    transition: all .5s cubic-bezier(0.213, 0.62, 0.353, 1)
}

@media screen and (min-width: 769px) {
    .l-header__menu__toggle__cont {
        display:block;
        width: 100vw;
        height: 0;
        background-color: #f5f5f5;
        opacity: 0;
        overflow: hidden;
        position: fixed;
        top: 70px;
        left: 0
    }
}

@media screen and (max-width: 768px) {
    .l-header__menu__toggle__btn.is-close+.l-header__menu__toggle__cont {
        height:0;
        opacity: 0;
        overflow: hidden
    }

    .l-header__menu__toggle__btn.is-open+.l-header__menu__toggle__cont {
        height: auto;
        opacity: 1
    }
}

@media screen and (min-width: 769px) {
    .l-header__menu__toggle__menu {
        display:flex;
        align-items: center;
        justify-content: center;
        gap: 0 30px;
        height: 100%
    }
}

@media screen and (max-width: 768px) {
    .l-header__menu__toggle__menu {
        border-top:1px solid #f5f5f5;
        padding: 7.5px 0
    }
}

.l-header__menu__toggle__menu__item {
    display: block;
    position: relative
}

@media screen and (min-width: 769px) {
    .l-header__menu__toggle__menu__item {
        width:240px;
        height: 40px;
        text-align: center;
        line-height: 40px;
        font-size: 15px;
        background-color: #fff;
        border-radius: 20px;
        transition: all ease-out .2s
    }

    .l-header__menu__toggle__menu__item:hover {
        color: #ff9046
    }

    .l-header__menu__toggle__menu__item::before {
        content: "";
        width: 6px;
        height: 12px;
        background-image: url(../img/common/ico_arrow_orange.svg);
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        position: absolute;
        top: 50%;
        left: 25px;
        transform: translateY(-50%)
    }
}

.l-header__menu__toggle__menu__item>a {
    display: block
}

@media screen and (max-width: 768px) {
    .l-header__menu__toggle__menu__item>a {
        padding:7.5px 20px 7.5px 40px
    }
}

@media screen and (min-width: 769px) {
    .l-header__menu__toggle:hover .l-header__menu__toggle__cont {
        height:80px;
        background-color: #f5f5f5;
        opacity: 1
    }
}

.l-header__btn-area {
    display: flex;
    gap: 20px 10px
}

@media screen and (max-width: 768px) {
    .l-header__btn-area {
        flex-direction:column;
        align-items: center;
        margin: 30px 0
    }
}

.l-header__login {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 700;
    position: relative
}

.l-header__login::before {
    content: "";
    background-image: url(../img/common/ico_login.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (min-width: 769px) {
    .l-header__login {
        font-size:15px;
        margin-right: 10px
    }

    .l-header__login::before {
        width: 24px;
        height: 24px
    }

    .l-header__login:hover {
        color: #ff9046
    }

    .l-header__login:hover::before {
        background-image: url(../img/common/ico_login_orange.svg)
    }
}

@media screen and (max-width: 768px) {
    .l-header__login {
        font-size:16px;
        order: 2
    }

    .l-header__login::before {
        width: 26px;
        height: 26px
    }
}

@media screen and (min-width: 769px) {
    .l-header__btn {
        width:132px;
        height: 32px;
        font-size: 13px;
        line-height: 32px
    }

    .l-header__btn::before {
        width: 130px;
        height: 32px
    }

    .l-header__btn:hover::before {
        width: 130px;
        height: 32px
    }
}

@media screen and (min-width: 769px) {
    .l-header__drawer {
        display:none
    }
}

@media screen and (max-width: 768px) {
    .l-header__drawer {
        display:block;
        width: 24px;
        height: 20px;
        position: absolute;
        top: 26px;
        right: 20px;
        transform: translateY(-50%)
    }
}

@media screen and (max-width: 768px) {
    .l-header__drawer__btn {
        width:100%;
        height: 2px;
        background-color: #000;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        transition: all ease-out .2s
    }

    .l-header__drawer__btn::before,.l-header__drawer__btn::after {
        content: "";
        width: 24px;
        height: 2px;
        background-color: #000;
        position: absolute;
        transition: all ease-out .2s
    }

    .l-header__drawer__btn::before {
        content: "";
        top: -9px
    }

    .l-header__drawer__btn::after {
        bottom: -9px
    }

    .is-open .l-header__drawer__btn {
        background-color: rgba(0,0,0,0)
    }

    .is-open .l-header__drawer__btn::before {
        transform: rotate(45deg);
        top: 0
    }

    .is-open .l-header__drawer__btn::after {
        transform: rotate(-45deg);
        bottom: 0
    }
}

.l-pagetop {
    position: fixed;
    right: 2%;
    bottom: 5%;
    cursor: pointer;
    opacity: 0;
    z-index: 90
}

.is-scroll .l-pagetop {
    opacity: 1
}

.p-about__title {
    margin-bottom: 40px
}

.p-about-mv__title {
    margin-bottom: 50px
}

@media screen and (max-width: 768px) {
    .p-about-mv__title {
        margin-bottom:40px
    }
}

.p-about-mv__title--sub {
    margin-bottom: 50px
}

@media screen and (max-width: 768px) {
    .p-about-mv__title--sub {
        margin-bottom:20px
    }
}

.p-about-mv__btn {
    margin-top: 40px
}

@media screen and (max-width: 768px) {
    .p-about-mv__btn {
        margin-top:20px
    }
}

.p-about-mv__img {
    max-width: 860px;
    margin: 60px auto 0 auto
}

@media screen and (max-width: 768px) {
    .p-about-mv__img {
        margin:30px auto 0 auto
    }
}

.p-about-merit__list {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.p-about-merit__list__item {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 60px
}

.p-about-merit__list__item:nth-child(even) {
    flex-direction: row-reverse
}

.p-about-merit__list__text {
    width: calc(50% - 30px)
}

@media screen and (max-width: 768px) {
    .p-about-merit__list__text {
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .p-about-merit__list__text p {
        font-size:14px;
        line-height: 2
    }
}

.p-about-merit__list__img {
    width: calc(50% - 30px)
}

@media screen and (max-width: 768px) {
    .p-about-merit__list__img {
        width:100%
    }
}

.p-about-feature__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px
}

.p-about-feature__list__item {
    width: calc(33.3333333333% - 26.6666666667px)
}

@media screen and (max-width: 768px) {
    .p-about-feature__list__item {
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .p-about-feature__list__item p {
        font-size:14px;
        line-height: 2
    }
}

.p-about-feature__list__title {
    margin: 15px 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-about-feature__list__title {
        font-size:18px
    }
}

.p-case__category .c-category__item:last-child {
    display: block;
    width: 100%
}

.p-case__slide {
    margin-bottom: 40px
}

.p-case__list__img {
    border-radius: 30px;
    margin-bottom: 15px;
    padding-bottom: 56%;
    position: relative;
    overflow: hidden
}

.p-case__list__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

@media screen and (max-width: 768px) {
    .p-case__list__img {
        padding-bottom:66%
    }
}

.p-case__list__title {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-case__list__company {
    margin-bottom: 15px;
    font-size: 14px;
    line-height: 1.5
}

.p-case__list .c-category {
    gap: 0 10px
}

.p-case-arc__list {
    display: flex;
    flex-direction: column;
    gap: 40px
}

.p-case-arc__list__item {
    display: flex;
    gap: 15px 40px
}

@media screen and (max-width: 768px) {
    .p-case-arc__list__item {
        flex-wrap:wrap
    }
}

.p-case-arc__list__link {
    display: block
}

@media screen and (max-width: 768px) {
    .p-case-arc__list__link {
        width:100%
    }
}

.p-case-arc__company {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 15px
}

.p-case-arc__company__logo {
    width: 120px;
    height: 50px;
    flex-shrink: 0;
    max-height: 50px;
    overflow: hidden
}

.p-case-arc__company__logo__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

.p-case-arc__img {
    width: 440px;
    position: relative
}

@media screen and (max-width: 768px) {
    .p-case-arc__img {
        width:100%
    }
}

.p-case-arc__text {
    width: calc(100% - 460px)
}

@media screen and (max-width: 768px) {
    .p-case-arc__text {
        width:100%
    }
}

.p-case-single__section+.p-case-single__section {
    margin-top: 80px
}

.p-case-single__item+.p-case-single__item {
    margin-top: 40px
}

.p-case-single__mv {
    border-radius: 30px;
    overflow: hidden;
    margin-bottom: 40px
}

.p-case-single__info {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 40px
}

@media screen and (max-width: 768px) {
    .p-case-single__info {
        flex-direction:column-reverse
    }
}

.p-case-single__info__img {
    width: 100%
}

.p-case-single__info__text {
    width: calc(100% - 280px)
}

@media screen and (max-width: 768px) {
    .p-case-single__info__text {
        width:100%
    }
}

.p-case-single__info__logo {
    width: 240px;
    height: 100px;
    overflow: hidden
}

.p-case-single__info__logo__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

@media screen and (max-width: 768px) {
    .p-case-single__info__logo {
        width:120px;
        height: 50px
    }
}

.p-case-single__info__post {
    display: flex;
    margin-bottom: 20px
}

.p-case-single__info__post__item+.p-case-single__info__post__item {
    margin-left: 1em
}

.p-case-single__article .c-title {
    text-align: left
}

.p-case-single__article__question {
    margin-bottom: 20px;
    padding-left: 30px;
    position: relative;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-case-single__article__question::before {
    content: "";
    width: 25px;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

.p-case-single__article__answer__name {
    display: inline;
    font-weight: 700
}

.p-case-single__article__answer__name::after {
    content: "："
}

.p-case-single__article__answer+.p-case-single__article__answer {
    margin-top: 20px
}

.p-case-single__article__img {
    border-radius: 30px;
    margin-top: 40px;
    overflow: hidden
}

.p-column-arc__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px
}

.p-column-arc__list__item {
    width: calc(33.3333333333% - 26.6666666667px)
}

@media screen and (max-width: 768px) {
    .p-column-arc__list__item {
        width:100%
    }
}

.p-column-arc__list__link {
    display: block
}

@media screen and (min-width: 769px) {
    .p-column-arc__list__link {
        transition:opacity ease-out .3s
    }

    .p-column-arc__list__link:hover {
        opacity: .6
    }
}

.p-column-arc__list__img {
    margin-bottom: 15px
}

.p-column-arc__list__title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-column-arc__list__info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5
}

.p-column-single__mv {
    border-radius: 30px;
    overflow: hidden
}

.p-column-single__toc {
    background-color: #fff5ef;
    border-radius: 30px;
    padding: 30px
}

.p-column-single__toc__heading {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.p-column-single__toc__parent {
    font-weight: 700;
    padding-left: 20px;
    position: relative
}

.p-column-single__toc__parent::before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    background-color: #ff9046;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

.p-column-single__toc__child {
    margin-left: 20px
}

.p-column-single__toc__child__item::before {
    content: "-";
    display: inline-block;
    margin-right: 5px
}

.p-column-single__toc__parent+.p-column-single__toc__child {
    margin-top: 10px
}

.p-column-single__toc__child+.p-column-single__toc__parent {
    margin-top: 20px
}

.p-column-single__toc__parent+.p-column-single__toc__parent {
    margin-top: 20px
}

.p-contact__tel {
    display: flex;
    align-items: center;
    color: #ff9046
}

@media screen and (max-width: 768px) {
    .p-contact__tel {
        align-items:flex-start;
        flex-direction: column
    }
}

.p-contact__tel__l {
    font-size: 40px;
    font-weight: 700
}

.p-contact__tel__s {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-downloads__img {
    display: block;
    width: 100%;
    height: 340px;
    border-radius: 30px;
    background-color: #f5f5f5;
    padding: 40px 0;
    margin-bottom: 15px
}

.p-downloads__img>img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center
}

.p-downloads-single .p-downloads__img {
    height: 405px
}

.p-downloads-arc__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px
}

.p-downloads-arc__list__item {
    width: calc(33.3333333333% - 26.6666666667px)
}

@media screen and (max-width: 768px) {
    .p-downloads-arc__list__item {
        width:100%
    }
}

.p-downloads-arc__list__link {
    display: block
}

@media screen and (min-width: 769px) {
    .p-downloads-arc__list__link {
        transition:opacity ease-out .3s
    }

    .p-downloads-arc__list__link:hover {
        opacity: .6
    }
}

.p-downloads-arc__list__title {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-downloads-arc__btn {
    margin-top: 15px
}

.p-downloads-single .c-title {
    text-align: left
}

.p-downloads-single__heading {
    color: #ff9046;
    font-weight: 700;
    margin-bottom: 10px
}

.p-downloads-single__wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 60px
}

.p-downloads-single__detail {
    width: 50%
}

@media screen and (max-width: 768px) {
    .p-downloads-single__detail {
        width:100%
    }
}

.p-downloads-single__detail__text {
    margin: 40px 0
}

.p-downloads-single__detail__contents {
    background-color: #fff5ef;
    border-radius: 30px;
    padding: 30px
}

@media screen and (max-width: 768px) {
    .p-downloads-single__detail__contents {
        padding:20px
    }
}

.p-downloads-single__detail__contents__title {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.p-downloads-single__detail__contents__list__item {
    display: flex;
    align-items: center;
    gap: 15px;
    font-weight: 700
}

.p-downloads-single__detail__contents__list__item::before {
    content: "";
    width: 6px;
    height: 6px;
    background-color: #ff9046;
    border-radius: 50%;
    position: absolute;
    top: 14px;
    left: 0;
    transform: translateY(-50%)
}

.p-downloads-single__detail__contents__list__item+.p-downloads-single__detail__contents__list__item {
    margin-top: 10px
}

.p-downloads-single__detail__contents__list__item>div {
    width: calc(100% - 20px);
    margin-left: 20px
}

.p-downloads-single__detail__contents__note {
    margin-top: 20px
}

.p-downloads-single__detail__contents__note__item {
    display: flex
}

.p-downloads-single__detail__contents__note__item::before {
    content: "・";
    display: block
}

.p-downloads-single__form {
    width: calc(50% - 60px)
}

@media screen and (max-width: 768px) {
    .p-downloads-single__form {
        width:100%
    }
}

.p-event-arc__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px
}

.p-event-arc__list__item {
    width: calc(33.3333333333% - 26.6666666667px)
}

@media screen and (max-width: 768px) {
    .p-event-arc__list__item {
        width:100%
    }
}

.p-event-arc__list__link {
    display: block
}

@media screen and (min-width: 769px) {
    .p-event-arc__list__link {
        transition:opacity ease-out .3s
    }

    .p-event-arc__list__link:hover {
        opacity: .6
    }
}

.p-event-arc__list__img {
    margin-bottom: 15px
}

.p-event-arc__list__title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-event-arc__list__info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 20px;
    margin-top: 15px;
    font-size: 14px;
    line-height: 1.5
}

.p-event-arc__list__btn {
    margin-top: 15px
}

.p-event-single .c-title--near {
    text-align: left
}

.p-event-single__recommend {
    background-color: #fff5ef;
    border-radius: 30px;
    padding: 30px
}

.p-event-single__recommend__heading {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.p-event-single__recommend__item {
    font-weight: 700;
    padding-left: 20px;
    position: relative
}

.p-event-single__recommend__item::before {
    content: "";
    width: 6px;
    height: 6px;
    background-color: #ff9046;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%)
}

.p-event-single__recommend__item+.p-event-single__recommend__item {
    margin-top: 10px
}

.p-event-single__lecturer {
    display: flex;
    gap: 30px
}

@media screen and (max-width: 768px) {
    .p-event-single__lecturer {
        flex-wrap:wrap;
        justify-content: center
    }
}

.p-event-single__lecturer__img {
    flex-shrink: 0;
    width: 180px
}

.p-event-single__lecturer__cont {
    width: 100%
}

.p-event-single__lecturer__name {
    margin-top: 10px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-event-single__lecturer__name {
        font-size:20px
    }
}

.p-event-single__lecturer__text {
    margin-top: 10px
}

.p-event-single__attention {
    display: flex;
    flex-direction: column;
    gap: 20px
}

.p-event-single__attention__item {
    display: flex
}

.p-event-single__attention__item::before {
    content: "・"
}

@media screen and (max-width: 768px) {
    .p-event-single__side {
        display:none
    }
}

.p-event-single__side__cont {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-size: 14px;
    line-height: 1.5
}

.p-event-single__side__column {
    display: flex;
    flex-direction: column;
    gap: 5px
}

.p-event-single__side__row {
    display: flex;
    gap: 10px
}

.p-event-single__side__heading {
    width: 75px;
    height: 30px;
    background-color: #f5f5f5;
    text-align: center;
    line-height: 30px
}

.p-event-single__side__btn {
    margin-top: 20px
}

.p-faq__list {
    margin-bottom: 40px
}

.p-faq__title {
    padding-left: 70px;
    padding-right: 60px
}

.p-faq__title::before {
    content: "";
    width: 30px;
    height: 30px;
    background-image: url("../img/common/ico_faq_q.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 20px
}

@media screen and (max-width: 768px) {
    .p-faq__title {
        padding-left:40px;
        padding-right: 30px
    }

    .p-faq__title::before {
        left: 0
    }
}

.p-faq__contents {
    padding-left: 70px;
    padding-right: 60px
}

.p-faq__contents::before {
    content: "";
    width: 30px;
    height: 30px;
    background-image: url("../img/common/ico_faq_a.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 20px
}

@media screen and (max-width: 768px) {
    .p-faq__contents {
        padding-left:40px;
        padding-right: 30px
    }

    .p-faq__contents::before {
        left: 0
    }
}

.p-feature-intro .c-price {
    margin-top: 20px
}

.p-feature-info .c-inner {
    max-width: 780px
}

.p-feature-info__item+.p-feature-info__item {
    margin-top: 40px
}

.p-feature-electric__item {
    max-width: 1016px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 768px) {
    .p-feature-electric__item {
        width:100%;
        overflow-x: scroll
    }
}

@media screen and (max-width: 768px) {
    .p-feature-electric__item__img {
        display:block;
        width: 1016px;
        height: 473px
    }
}

.p-feature-electric__text {
    text-align: center;
    font-weight: 700;
    background-color: #f5f5f5;
    padding: 10px 0
}

@media screen and (max-width: 768px) {
    .p-feature-electric__text {
        text-align:left;
        padding: 20px 10px
    }

    .p-feature-electric__text br {
        display: none
    }
}

.p-feature-electric__visibility {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 40px 0
}

@media screen and (max-width: 768px) {
    .p-feature-electric__visibility {
        flex-direction:column;
        gap: 30px
    }
}

@media screen and (min-width: 769px) {
    .p-feature-electric__visibility__item:nth-child(2) {
        margin-left:40px;
        margin-right: 100px
    }
}

@media screen and (max-width: 768px) {
    .p-feature-electric__visibility__item:nth-child(2) .p-feature-electric__visibility__item__img {
        height:280px
    }
}

.p-feature-electric__visibility__item__img {
    height: 135px
}

.p-feature-electric__truth {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    margin: 40px 0
}

@media screen and (min-width: 769px) {
    .p-feature-electric__truth {
        gap:175px
    }
}

@media screen and (max-width: 768px) {
    .p-feature-electric__truth {
        flex-direction:column;
        align-items: center;
        gap: 50px
    }
}

.p-feature-electric__truth__item:nth-child(2) .p-feature-electric__truth__item__img {
    height: 180px
}

.p-feature-electric__truth__item__img {
    height: 160px
}

.p-flow-list {
    counter-reset: flow 0;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 40px
}

.p-flow-list__item {
    width: calc(33.3333333333% - 26.6666666667px)
}

@media screen and (max-width: 768px) {
    .p-flow-list__item {
        width:100%
    }
}

.p-flow-list__title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 15px 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.p-flow-list__title::before {
    counter-increment: flow 1;
    content: counter(flow);
    display: block;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    background-color: #ff9046;
    border-radius: 5px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

.p-flow-details__list {
    display: flex;
    flex-direction: column;
    gap: 80px
}

.p-flow-details__img {
    margin-top: 40px
}

.p-home-mv {
    width: 100vw;
    background-color: #f5f5f5;
    margin-top: 70px;
    position: relative;
    overflow: hidden
}

@media screen and (min-width: 769px) {
    .p-home-mv {
        height:600px
    }
}

@media screen and (max-width: 768px) {
    .p-home-mv {
        margin-top:54px
    }
}

.p-home-mv__cont {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: calc(550px - 50vw + 100vw);
    height: 100%;
    max-width: 1280px;
    padding: 40px 0
}

@media screen and (min-width: 769px) {
    .p-home-mv__cont {
        position:absolute;
        top: 0;
        left: calc(50vw - 550px)
    }
}

@media screen and (max-width: 768px) {
    .p-home-mv__cont {
        flex-wrap:wrap;
        flex-direction: column-reverse;
        width: 100%;
        height: auto;
        padding: 20px 0 0 0
    }
}

.p-home-mv__text {
    width: 420px
}

@media screen and (max-width: 768px) {
    .p-home-mv__text {
        width:100%
    }
}

.p-home-mv__title {
    font-size: 40px;
    line-height: 1.6;
    font-weight: 700
}

@media screen and (max-width: 768px) {
    .p-home-mv__title {
        width:100%;
        font-size: 16px;
        text-align: center;
        margin: 20px 0
    }

    .p-home-mv__title span {
        font-size: 22px
    }
}

.p-home-mv__bnr {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 21px 0
}

.p-home-mv__bnr__text {
    font-size: 18px;
    font-weight: 700;
    line-height: 34px
}

.p-home-mv__bnr__text .c-color-main {
    display: inline
}

.p-home-mv__bnr__btn {
    width: 100%
}

@media screen and (min-width: 769px) {
    .p-home-mv__bnr {
        background-color:#fff;
        border: 3px solid #ff9046;
        border-radius: 30px;
        padding: 30px 0;
        margin-top: 40px
    }
}

@media screen and (max-width: 768px) {
    .p-home-mv__bnr {
        gap:16px 0;
        background: linear-gradient(to bottom, #FF9046, #FFA700);
        margin-top: 0;
        padding: 15px 0
    }

    .p-home-mv__bnr__text {
        font-size: 15px;
        line-height: 22.5px;
        color: #fff
    }

    .p-home-mv__bnr__text .c-color-main {
        color: #fff
    }

    .p-home-mv__bnr .c-btn {
        color: #ff9046
    }

    .p-home-mv__bnr .c-btn::before {
        background: #fff
    }
}

.p-home-mv__img {
    width: calc(100% - 420px);
    padding: 0 50px
}

@media screen and (max-width: 768px) {
    .p-home-mv__img {
        width:90%;
        margin-left: auto;
        margin-right: auto;
        padding: 0
    }
}

.p-home-advantage {
    margin: 40px 0
}

.p-home-advantage__text {
    text-align: center;
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-advantage__text {
        font-size:16px
    }
}

.p-home-advantage__list {
    display: flex;
    justify-content: center;
    gap: 40px
}

.p-home-advantage__list__item {
    width: 190px
}

@media screen and (max-width: 768px) {
    .p-home-advantage__list {
        flex-wrap:wrap;
        gap: 26px 30px
    }

    .p-home-advantage__list__item {
        width: 130px
    }
}

.p-home-point__list {
    display: flex;
    flex-direction: column;
    gap: 80px
}

.p-home-point__list__item {
    display: flex;
    align-items: center
}

.p-home-point__list__item:nth-child(even) {
    flex-direction: row-reverse
}

@media screen and (max-width: 768px) {
    .p-home-point__list {
        gap:40px
    }

    .p-home-point__list__item {
        flex-wrap: wrap;
        gap: 20px
    }

    .p-home-point__list__item:nth-child(even) .p-home-point__img {
        margin-right: 0;
        margin-left: 5%
    }
}

.p-home-point__img {
    width: 50%
}

@media screen and (max-width: 768px) {
    .p-home-point__img {
        width:100%;
        margin-right: 5%
    }
}

.p-home-point__list__item .p-home-point__img {
    border-radius: 0 30px 30px 0;
    overflow: hidden
}

.p-home-point__list__item:nth-child(even) .p-home-point__img {
    border-radius: 30px 0 0 30px;
    overflow: hidden
}

.p-home-point__text {
    width: 50%;
    max-width: 800px;
    padding: 0 100px;
    margin-left: auto;
    margin-right: auto
}

@media screen and (max-width: 768px) {
    .p-home-point__text {
        width:90%;
        max-width: 100%;
        padding: 0
    }
}

.p-home-point__category {
    font-size: 22px;
    color: #ff9046;
    margin-bottom: 20px
}

@media screen and (max-width: 768px) {
    .p-home-point__category {
        margin-bottom:10px
    }
}

.p-home-point__title {
    margin-bottom: 40px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-point__title {
        font-size:20px
    }
}

@media screen and (max-width: 768px) {
    .p-home-point__title {
        font-size:22px;
        margin-bottom: 20px
    }
}

.p-home-point__desc {
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .p-home-point__desc {
        margin-bottom:20px
    }
}

.p-home-point__add {
    display: flex;
    justify-content: center;
    gap: 20px 40px
}

.p-home-point__add__item {
    width: 530px;
    background-color: #fff5ef;
    border-radius: 30px;
    padding: 40px
}

.p-home-point__add__title {
    margin-bottom: 20px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-point__add__title {
        font-size:20px
    }
}

@media screen and (max-width: 768px) {
    .p-home-point__add {
        flex-wrap:wrap
    }

    .p-home-point__add__item {
        width: 90%
    }
}

.p-home-point__logo {
    height: 160px;
    background-image: url("../img/home/img_point_logo.png");
    background-repeat: repeat-x;
    background-size: auto 160px;
    animation: loop 40s linear infinite
}

@media screen and (max-width: 768px) {
    .p-home-point__logo {
        height:80px;
        background-size: auto 80px;
        animation: loop-sp 40s linear infinite
    }
}

@keyframes loop {
    from {
        background-position: 0 0
    }

    to {
        background-position: -3040px 0
    }
}

@keyframes loop-sp {
    from {
        background-position: 0 0
    }

    to {
        background-position: -1520px 0
    }
}

.p-home-merit__heading {
    text-align: center;
    margin-bottom: 40px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-merit__heading {
        font-size:22px
    }
}

.p-home-merit__list {
    display: flex;
    justify-content: center;
    gap: 60px;
    margin-bottom: 40px
}

.p-home-merit__list__item {
    width: 230px
}

@media screen and (max-width: 768px) {
    .p-home-merit__list {
        flex-wrap:wrap;
        gap: 20px 25px
    }

    .p-home-merit__list__item {
        width: 155px
    }
}

.p-home-merit__title {
    text-align: center;
    margin-top: 20px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-merit__title {
        font-size:14px
    }
}

.p-home-feature__title {
    text-align: center;
    margin-bottom: 40px;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-feature__title {
        font-size:22px
    }
}

.p-home-feature__title__inner {
    display: inline-block
}

.p-home-feature__title__line {
    border-bottom: 4px solid #ff9046
}

@media screen and (max-width: 768px) {
    .p-home-feature__title {
        margin-bottom:30px
    }

    .p-home-feature__title__line {
        display: inline;
        border-bottom: 2px solid #ff9046
    }
}

.p-home-feature__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .p-home-feature__list {
        gap:25px
    }
}

.p-home-feature__list__item {
    display: flex;
    align-items: center;
    gap: 20px;
    width: calc(33.3333333333% - 26.6666666667px)
}

@media screen and (max-width: 768px) {
    .p-home-feature__list__item {
        width:calc(50% - 12.5px)
    }
}

.p-home-feature__list__img {
    width: 60px;
    height: 60px
}

@media screen and (max-width: 768px) {
    .p-home-feature__list__img {
        width:45px;
        height: 45px
    }
}

.p-home-feature__list__title {
    width: calc(100% - 80px);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (max-width: 768px) {
    .p-home-feature__list__title {
        width:calc(100% - 55px);
        font-size: 14px
    }
}

.p-home-floating {
    display: block;
    width: 350px;
    height: 200px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 10;
    transition: opacity ease-out .3s;
    opacity: 0;
    pointer-events: none
}

@media screen and (max-width: 768px) {
    .p-home-floating {
        width:335px;
        height: 131px;
        right: 50%;
        transform: translateX(50%)
    }
}

.p-home-floating__inner {
    width: 100%;
    height: 100%;
    position: relative
}

.p-home-floating__link {
    display: block;
    width: 100%;
    height: 100%
}

@media screen and (min-width: 769px) {
    .p-home-floating__link {
        background-image:url("../img/common/img_floating.svg");
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
        transition: opacity ease-out .3s
    }

    .p-home-floating__link:hover {
        opacity: .6
    }
}

@media screen and (max-width: 768px) {
    .p-home-floating__link {
        background-image:url("../img/common/img_floating_sp.svg")
    }
}

.p-home-floating__close {
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(../img/common/ico_close.svg);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%)
}

@media screen and (min-width: 769px) {
    .p-home-floating__close {
        transition:opacity ease-out .3s
    }

    .p-home-floating__close:hover {
        opacity: .6
    }
}

.p-home-floating.is-show {
    opacity: 1;
    pointer-events: auto
}

.p-login-box {
    width: 90%;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto
}

.p-login-box__form {
    padding: 50px 80px
}

@media screen and (max-width: 768px) {
    .p-login-box__form {
        padding:20px
    }
}

.p-login-box__memorize {
    display: flex;
    justify-content: center;
    margin-top: 20px
}

.p-login-box__forget {
    text-align: center;
    margin-top: 20px
}

@media screen and (min-width: 769px) {
    .p-news-arc__tag {
        display:flex;
        gap: 10px
    }

    .p-news-arc__tag__item {
        display: block;
        width: calc(20% - 8px)
    }

    .p-news-arc__tag__link {
        display: block;
        text-align: center;
        font-weight: 700;
        border-radius: 30px;
        overflow: hidden;
        padding: 27px 0;
        position: relative;
        z-index: 1;
        transition: all ease-out .2s
    }

    .p-news-arc__tag__link::before {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: #f5f5f5;
        position: absolute;
        top: 0;
        left: 0;
        opacity: 1;
        z-index: -1;
        transition: all ease-out .2s
    }

    .p-news-arc__tag__link::after {
        content: "";
        display: block;
        width: 100%;
        height: 100%;
        background: linear-gradient(to bottom, #FF9046, #FFA700);
        position: absolute;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: -1;
        transition: all ease-out .2s
    }

    .p-news-arc__tag__link.is-active {
        color: #fff
    }

    .p-news-arc__tag__link.is-active::before {
        opacity: 0
    }

    .p-news-arc__tag__link.is-active::after {
        opacity: 1
    }

    .p-news-arc__tag__link:hover {
        color: #fff
    }

    .p-news-arc__tag__link:hover::before {
        opacity: 0
    }

    .p-news-arc__tag__link:hover::after {
        opacity: 1
    }
}

@media screen and (max-width: 768px) {
    .p-news-arc__tag {
        display:block;
        width: 100%;
        border: 1px solid #000;
        border-radius: 5px;
        background-color: #fff;
        padding: 10px
    }

    .p-news-arc__tag__cont {
        position: relative
    }

    .p-news-arc__tag__cont::after {
        content: "";
        width: 10px;
        height: 10px;
        border-top: 2px solid #000;
        border-right: 2px solid #000;
        transform: rotate(45deg);
        position: absolute;
        top: 45%;
        right: 20px;
        transform: translateY(-50%) rotate(135deg);
        pointer-events: none
    }
}

.p-news-arc__list {
    border-top: 1px solid #000;
    margin-bottom: 40px
}

.p-news-arc__list__noitem {
    text-align: center;
    padding: 20px
}

.p-news-arc__list__item {
    border-bottom: 1px solid #000
}

.p-news-arc__list__item__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    padding: 20px
}

@media screen and (min-width: 769px) {
    .p-news-arc__list__item__inner {
        transition:all ease-out .2s
    }

    .p-news-arc__list__item__inner:hover {
        background-color: #f5f5f5
    }
}

@media screen and (max-width: 768px) {
    .p-news-arc__list__item__inner {
        padding:20px 0
    }
}

.p-news-arc__list__info {
    display: flex;
    gap: 20px;
    width: 200px
}

@media screen and (max-width: 768px) {
    .p-news-arc__list__info {
        width:100%
    }
}

.p-news-arc__list__category {
    font-weight: 700;
    color: #ff9046
}

.p-news-arc__list__title {
    width: calc(100% - 240px)
}

@media screen and (max-width: 768px) {
    .p-news-arc__list__title {
        width:100%
    }
}

.p-privacy .c-title__label {
    margin-bottom: 40px
}

.p-recommend {
    background: linear-gradient(180deg, rgba(255, 144, 70, 0.9) 0%, rgba(255, 167, 0, 0.9) 100%);
    padding: 40px 0;
    margin-top: 160px
}

@media screen and (max-width: 768px) {
    .p-recommend {
        margin-top:80px
    }
}

.p-recommend::before {
    content: "";
    width: 100%;
    height: 100%;
    background-image: url("../img/common/bg_recommend.jpg");
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1
}

@media screen and (max-width: 768px) {
    .p-recommend::before {
        background-image:url("../img/common/bg_recommend_sp.jpg")
    }
}

.p-recommend__title {
    text-align: center;
    font-size: 29px;
    line-height: 42px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 40px
}

@media screen and (max-width: 768px) {
    .p-recommend__title {
        font-size:20px;
        line-height: 30px
    }
}

.p-recommend__list {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    margin-top: 40px
}

.p-recommend__list__item {
    width: calc(33.3333333333% - 26.6666666667px);
    background-color: #fff5ef;
    border-radius: 30px;
    transition: all ease-out .2s
}

@media screen and (max-width: 768px) {
    .p-recommend__list__item {
        width:100%
    }
}

@media screen and (min-width: 769px) {
    .p-recommend__list__item:hover {
        box-shadow:0px 0px 30px rgba(0,0,0,.2)
    }
}

.p-recommend__list__item__inner {
    display: block;
    padding: 20px 40px 30px 40px
}

.p-recommend__footer .p-recommend__list__item {
    background-color: #fff
}

.p-recommend__list__img {
    width: 100px;
    height: 100px;
    margin-left: auto;
    margin-right: auto
}

.p-recommend__list__title {
    text-align: center;
    margin: 20px 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5
}

.p-recommend__list__text {
    text-align: center;
    font-size: 14px;
    line-height: 1.5
}

.p-recommend__list__btn {
    margin-top: 20px
}

.u-ta-c {
    text-align: center !important
}

.u-ta-l {
    text-align: left !important
}

.u-ta-r {
    text-align: right !important
}

.u-flex {
    display: flex !important
}

.u-jc-fe {
    justify-content: flex-end !important
}

.u-jc-c {
    justify-content: center !important
}

.u-ai-c {
    align-items: center !important
}

.u-fd-rr {
    flex-direction: row-reverse !important
}

@media screen and (max-width: 768px) {
    .u-fd-cr {
        flex-direction:column-reverse !important
    }
}

.u-fw-700 {
    font-weight: 700 !important
}

.u-mx-auto {
    margin-left: auto !important;
    margin-right: auto !important
}

.u-mt-0,.u-my-0 {
    margin-top: 0px !important
}

.u-mt-10,.u-my-10 {
    margin-top: 10px !important
}

.u-mt-20,.u-my-20 {
    margin-top: 20px !important
}

.u-mt-30,.u-my-30 {
    margin-top: 30px !important
}

.u-mt-40,.u-my-40 {
    margin-top: 40px !important
}

.u-mt-50,.u-my-50 {
    margin-top: 50px !important
}

.u-mt-60,.u-my-60 {
    margin-top: 60px !important
}

.u-mt-70,.u-my-70 {
    margin-top: 70px !important
}

.u-mt-80,.u-my-80 {
    margin-top: 80px !important
}

.u-mt-90,.u-my-90 {
    margin-top: 90px !important
}

.u-mt-100,.u-my-100 {
    margin-top: 100px !important
}

.u-mb-0,.u-my-0 {
    margin-bottom: 0px !important
}

.u-mb-10,.u-my-10 {
    margin-bottom: 10px !important
}

.u-mb-20,.u-my-20 {
    margin-bottom: 20px !important
}

.u-mb-30,.u-my-30 {
    margin-bottom: 30px !important
}

.u-mb-40,.u-my-40 {
    margin-bottom: 40px !important
}

.u-mb-50,.u-my-50 {
    margin-bottom: 50px !important
}

.u-mb-60,.u-my-60 {
    margin-bottom: 60px !important
}

.u-mb-70,.u-my-70 {
    margin-bottom: 70px !important
}

.u-mb-80,.u-my-80 {
    margin-bottom: 80px !important
}

.u-mb-90,.u-my-90 {
    margin-bottom: 90px !important
}

.u-mb-100,.u-my-100 {
    margin-bottom: 100px !important
}

.u-ml-0,.u-mx-0 {
    margin-left: 0px !important
}

.u-ml-10,.u-mx-10 {
    margin-left: 10px !important
}

.u-ml-20,.u-mx-20 {
    margin-left: 20px !important
}

.u-ml-30,.u-mx-30 {
    margin-left: 30px !important
}

.u-ml-40,.u-mx-40 {
    margin-left: 40px !important
}

.u-ml-50,.u-mx-50 {
    margin-left: 50px !important
}

.u-ml-60,.u-mx-60 {
    margin-left: 60px !important
}

.u-ml-70,.u-mx-70 {
    margin-left: 70px !important
}

.u-ml-80,.u-mx-80 {
    margin-left: 80px !important
}

.u-ml-90,.u-mx-90 {
    margin-left: 90px !important
}

.u-ml-100,.u-mx-100 {
    margin-left: 100px !important
}

.u-mr-0,.u-mx-0 {
    margin-right: 0px !important
}

.u-mr-10,.u-mx-10 {
    margin-right: 10px !important
}

.u-mr-20,.u-mx-20 {
    margin-right: 20px !important
}

.u-mr-30,.u-mx-30 {
    margin-right: 30px !important
}

.u-mr-40,.u-mx-40 {
    margin-right: 40px !important
}

.u-mr-50,.u-mx-50 {
    margin-right: 50px !important
}

.u-mr-60,.u-mx-60 {
    margin-right: 60px !important
}

.u-mr-70,.u-mx-70 {
    margin-right: 70px !important
}

.u-mr-80,.u-mx-80 {
    margin-right: 80px !important
}

.u-mr-90,.u-mx-90 {
    margin-right: 90px !important
}

.u-mr-100,.u-mx-100 {
    margin-right: 100px !important
}

@media screen and (max-width: 768px) {
    .u-mx-auto-sp {
        margin-left:auto !important;
        margin-right: auto !important
    }

    .u-mt-0-sp,.u-my-0-sp {
        margin-top: 0px !important
    }

    .u-mt-10-sp,.u-my-10-sp {
        margin-top: 10px !important
    }

    .u-mt-20-sp,.u-my-20-sp {
        margin-top: 20px !important
    }

    .u-mt-30-sp,.u-my-30-sp {
        margin-top: 30px !important
    }

    .u-mt-40-sp,.u-my-40-sp {
        margin-top: 40px !important
    }

    .u-mt-50-sp,.u-my-50-sp {
        margin-top: 50px !important
    }

    .u-mt-60-sp,.u-my-60-sp {
        margin-top: 60px !important
    }

    .u-mt-70-sp,.u-my-70-sp {
        margin-top: 70px !important
    }

    .u-mt-80-sp,.u-my-80-sp {
        margin-top: 80px !important
    }

    .u-mt-90-sp,.u-my-90-sp {
        margin-top: 90px !important
    }

    .u-mt-100-sp,.u-my-100-sp {
        margin-top: 100px !important
    }

    .u-mb-0-sp,.u-my-0-sp {
        margin-bottom: 0px !important
    }

    .u-mb-10-sp,.u-my-10-sp {
        margin-bottom: 10px !important
    }

    .u-mb-20-sp,.u-my-20-sp {
        margin-bottom: 20px !important
    }

    .u-mb-30-sp,.u-my-30-sp {
        margin-bottom: 30px !important
    }

    .u-mb-40-sp,.u-my-40-sp {
        margin-bottom: 40px !important
    }

    .u-mb-50-sp,.u-my-50-sp {
        margin-bottom: 50px !important
    }

    .u-mb-60-sp,.u-my-60-sp {
        margin-bottom: 60px !important
    }

    .u-mb-70-sp,.u-my-70-sp {
        margin-bottom: 70px !important
    }

    .u-mb-80-sp,.u-my-80-sp {
        margin-bottom: 80px !important
    }

    .u-mb-90-sp,.u-my-90-sp {
        margin-bottom: 90px !important
    }

    .u-mb-100-sp,.u-my-100-sp {
        margin-bottom: 100px !important
    }

    .u-ml-0-sp,.u-mx-0-sp {
        margin-left: 0px !important
    }

    .u-ml-10-sp,.u-mx-10-sp {
        margin-left: 10px !important
    }

    .u-ml-20-sp,.u-mx-20-sp {
        margin-left: 20px !important
    }

    .u-ml-30-sp,.u-mx-30-sp {
        margin-left: 30px !important
    }

    .u-ml-40-sp,.u-mx-40-sp {
        margin-left: 40px !important
    }

    .u-ml-50-sp,.u-mx-50-sp {
        margin-left: 50px !important
    }

    .u-ml-60-sp,.u-mx-60-sp {
        margin-left: 60px !important
    }

    .u-ml-70-sp,.u-mx-70-sp {
        margin-left: 70px !important
    }

    .u-ml-80-sp,.u-mx-80-sp {
        margin-left: 80px !important
    }

    .u-ml-90-sp,.u-mx-90-sp {
        margin-left: 90px !important
    }

    .u-ml-100-sp,.u-mx-100-sp {
        margin-left: 100px !important
    }

    .u-mr-0-sp,.u-mx-0-sp {
        margin-right: 0px !important
    }

    .u-mr-10-sp,.u-mx-10-sp {
        margin-right: 10px !important
    }

    .u-mr-20-sp,.u-mx-20-sp {
        margin-right: 20px !important
    }

    .u-mr-30-sp,.u-mx-30-sp {
        margin-right: 30px !important
    }

    .u-mr-40-sp,.u-mx-40-sp {
        margin-right: 40px !important
    }

    .u-mr-50-sp,.u-mx-50-sp {
        margin-right: 50px !important
    }

    .u-mr-60-sp,.u-mx-60-sp {
        margin-right: 60px !important
    }

    .u-mr-70-sp,.u-mx-70-sp {
        margin-right: 70px !important
    }

    .u-mr-80-sp,.u-mx-80-sp {
        margin-right: 80px !important
    }

    .u-mr-90-sp,.u-mx-90-sp {
        margin-right: 90px !important
    }

    .u-mr-100-sp,.u-mx-100-sp {
        margin-right: 100px !important
    }
}

.u-pt-0 {
    padding-top: 0 !important
}

@media screen and (max-width: 768px) {
    .u-px-0-sp {
        padding-left:0 !important;
        padding-right: 0 !important
    }
}

.is-disable {
    pointer-events: none
}

.is-lock {
    height: 100%;
    overflow: hidden
}

.plan-link {
    color: #0000FF !important; 
    text-decoration: underline !important;
}
