@import"https://fonts.googleapis.com/css2?family=Roboto&display=swap";
@import"https://cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp_s.css";

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

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

.pt-0 {
    padding-top: 0px !important
}

.pb-0 {
    padding-bottom: 0px !important
}

.mt-5 {
    margin-top: 5px !important
}

.mb-5 {
    margin-bottom: 5px !important
}

.pt-5 {
    padding-top: 5px !important
}

.pb-5 {
    padding-bottom: 5px !important
}

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

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

.pt-10 {
    padding-top: 10px !important
}

.pb-10 {
    padding-bottom: 10px !important
}

.mt-15 {
    margin-top: 15px !important
}

.mb-15 {
    margin-bottom: 15px !important
}

.pt-15 {
    padding-top: 15px !important
}

.pb-15 {
    padding-bottom: 15px !important
}

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

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

.pt-20 {
    padding-top: 20px !important
}

.pb-20 {
    padding-bottom: 20px !important
}

.mt-25 {
    margin-top: 25px !important
}

.mb-25 {
    margin-bottom: 25px !important
}

.pt-25 {
    padding-top: 25px !important
}

.pb-25 {
    padding-bottom: 25px !important
}

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

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

.pt-30 {
    padding-top: 30px !important
}

.pb-30 {
    padding-bottom: 30px !important
}

.mt-35 {
    margin-top: 35px !important
}

.mb-35 {
    margin-bottom: 35px !important
}

.pt-35 {
    padding-top: 35px !important
}

.pb-35 {
    padding-bottom: 35px !important
}

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

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

.pt-40 {
    padding-top: 40px !important
}

.pb-40 {
    padding-bottom: 40px !important
}

.mt-45 {
    margin-top: 45px !important
}

.mb-45 {
    margin-bottom: 45px !important
}

.pt-45 {
    padding-top: 45px !important
}

.pb-45 {
    padding-bottom: 45px !important
}

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

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

.pt-50 {
    padding-top: 50px !important
}

.pb-50 {
    padding-bottom: 50px !important
}

.mt-55 {
    margin-top: 55px !important
}

.mb-55 {
    margin-bottom: 55px !important
}

.pt-55 {
    padding-top: 55px !important
}

.pb-55 {
    padding-bottom: 55px !important
}

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

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

.pt-60 {
    padding-top: 60px !important
}

.pb-60 {
    padding-bottom: 60px !important
}

.mt-65 {
    margin-top: 65px !important
}

.mb-65 {
    margin-bottom: 65px !important
}

.pt-65 {
    padding-top: 65px !important
}

.pb-65 {
    padding-bottom: 65px !important
}

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

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

.pt-70 {
    padding-top: 70px !important
}

.pb-70 {
    padding-bottom: 70px !important
}

.mt-75 {
    margin-top: 75px !important
}

.mb-75 {
    margin-bottom: 75px !important
}

.pt-75 {
    padding-top: 75px !important
}

.pb-75 {
    padding-bottom: 75px !important
}

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

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

.pt-80 {
    padding-top: 80px !important
}

.pb-80 {
    padding-bottom: 80px !important
}

.mt-85 {
    margin-top: 85px !important
}

.mb-85 {
    margin-bottom: 85px !important
}

.pt-85 {
    padding-top: 85px !important
}

.pb-85 {
    padding-bottom: 85px !important
}

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

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

.pt-90 {
    padding-top: 90px !important
}

.pb-90 {
    padding-bottom: 90px !important
}

.mt-95 {
    margin-top: 95px !important
}

.mb-95 {
    margin-bottom: 95px !important
}

.pt-95 {
    padding-top: 95px !important
}

.pb-95 {
    padding-bottom: 95px !important
}

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

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

.pt-100 {
    padding-top: 100px !important
}

.pb-100 {
    padding-bottom: 100px !important
}

@media screen and (max-width: 767px) {
    .mt-0-sp {
        margin-top: 0 !important
    }

    .mb-0-sp {
        margin-bottom: 0 !important
    }

    .m-0-sp {
        margin: 0 !important
    }

    .pt-0-sp {
        padding-top: 0 !important
    }

    .pb-0-sp {
        padding-bottom: 0 !important
    }

    .p-0-sp {
        padding: 0 !important
    }
}

.is-move {
    opacity: 0
}

@keyframes fadeInAnime {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fadeUpAnime {
    from {
        opacity: 0;
        transform: translateY(60px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

@keyframes fadeLeftAnime {
    from {
        opacity: 0;
        transform: translateX(-100px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes fadeRightAnime {
    from {
        opacity: 0;
        transform: translateX(100px)
    }

    to {
        opacity: 1;
        transform: translateX(0)
    }
}

@keyframes scaleIn {
    0% {
        transform: scale(0);
        opacity: 1
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}

@keyframes purun {
    0% {
        transform: scale(1, 1) translate(0%, 0%)
    }

    40% {
        transform: scale(0.95, 1.2) translate(0%, -10%)
    }

    50% {
        transform: scale(1.1, 0.9) translate(0%, 5%)
    }

    60% {
        transform: scale(0.95, 1.05) translate(0%, -3%)
    }

    70% {
        transform: scale(1.05, 0.95) translate(0%, 3%)
    }

    80% {
        transform: scale(1, 1) translate(0%, 0%)
    }

    100% {
        transform: scale(1, 1) translate(0%, 0%)
    }
}

@keyframes dropIn {
    0% {
        transform: scale(0.8, 1.4) translate(0%, -100%)
    }

    10% {
        transform: scale(0.8, 1.4) translate(0%, -15%)
    }

    20% {
        transform: scale(1.4, 0.6) translate(0%, 30%)
    }

    30% {
        transform: scale(0.9, 1.1) translate(0%, -10%)
    }

    40% {
        transform: scale(0.95, 1.2) translate(0%, -30%)
    }

    50% {
        transform: scale(0.95, 1.2) translate(0%, -10%)
    }

    60% {
        transform: scale(1.1, 0.9) translate(0%, 5%)
    }

    70% {
        transform: scale(1, 1) translate(0%, 0%)
    }

    100% {
        transform: scale(1, 1) translate(0%, 0%)
    }
}

.cnt01.active::after,
.cnt03.active::after,
.cnt05.active::after {
    opacity: 1 !important
}

.fadeIn.active {
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeUp.active {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeUp-delayed.active {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeLeft.active {
    animation-name: fadeLeftAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeRight.active {
    animation-name: fadeRightAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.scaleIn.active {
    animation: scaleIn .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.scaleIn-delayed.active {
    animation: scaleIn .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .5s
}

.purun.active {
    animation: purun 1.5s linear 0s 1;
    opacity: 1;
    animation-iteration-count: infinite
}

.dropIn.active {
    animation: dropIn 1.1s linear 0s 1;
    opacity: 1
}

.bgextend {
    animation-name: bgextendAnimeBase;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    position: relative;
    overflow: hidden;
    opacity: 0
}

@keyframes bgextendAnimeBase {
    from {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

.bgappear {
    animation-name: bgextendAnimeSecond;
    animation-duration: 1.5s;
    animation-delay: .6s;
    animation-fill-mode: forwards;
    opacity: 0
}

@keyframes bgextendAnimeSecond {
    0% {
        opacity: 0
    }

    100% {
        opacity: 1
    }
}

.bgLRextend::before {
    animation-name: bgLRextendAnime;
    animation-duration: .9s;
    animation-fill-mode: forwards;
    transform-origin: left;
    transform: scaleX(0);
    content: "";
    position: absolute;
    width: 100%;
    height: 1.2em;
    background: linear-gradient(to right, #e23636, #9f0606)
}

@keyframes bgLRextendAnime {
    0% {
        transform-origin: left;
        transform: scaleX(0)
    }

    50% {
        transform-origin: left;
        transform: scaleX(1)
    }

    50.001% {
        transform-origin: right
    }

    100% {
        transform-origin: right;
        transform: scaleX(0)
    }
}

.bgappearTrigger,
.bgLRextendTrigger {
    opacity: 0
}

@keyframes poyopoyo {

    0%,
    40%,
    60%,
    80% {
        transform: scale(1)
    }

    50%,
    70% {
        transform: scale(0.95)
    }
}

.fadeIn.active {
    animation-name: fadeInAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeUp.active {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeUp-delayed.active {
    animation-name: fadeUpAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeLeft.active {
    animation-name: fadeLeftAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.fadeRight.active {
    animation-name: fadeRightAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    opacity: 0
}

.scaleIn.active {
    animation: scaleIn .5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both
}

.scaleIn-delayed.active {
    animation: scaleIn .8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation-delay: .5s
}

.purun.active {
    animation: purun 1.5s linear 0s 1;
    opacity: 1;
    animation-iteration-count: infinite
}

.dropIn.active {
    animation: dropIn 1.1s linear 0s 1;
    opacity: 1
}

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 {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

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

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

* {
    margin: 0;
    padding: 0
}

*,
::after,
::before {
    box-sizing: border-box
}

html:focus-within {
    scroll-behavior: smooth
}

html {
    font-size: 62.5%
}

body {
    min-height: 100vh;
    text-rendering: optimizeSpeed;
    font-size: 1.6rem;
    line-height: 1.65;
    font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
    color: #0a0a0a;
    font-weight: 400;
    background: #fff;
    display: flex;
    flex-flow: column
}

@media screen and (max-width: 767px) {
    body {
        font-size: 1.4rem
    }
}

a {
    text-decoration: none;
    color: inherit;
    font-weight: inherit;
    transition: .2s
}

a:hover {
    text-decoration: none;
    opacity: .8
}

*:focus {
    outline: none
}

label {
    display: inline-block
}

button:focus:not(:focus-visible) {
    outline: 0
}

input,
button,
select,
optgroup,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
    background: unset;
    border: unset
}

input[type=submit] {
    -webkit-appearance: none;
    border-radius: 0
}

input[type=button] {
    -webkit-appearance: none;
    border-radius: 0
}

button,
select {
    text-transform: none
}

[role=button] {
    cursor: pointer
}

select {
    word-wrap: normal
}

select:disabled {
    opacity: 1
}

[list]::-webkit-calendar-picker-indicator {
    display: none
}

button,
[type=button],
[type=reset],
[type=submit] {
    -webkit-appearance: none
}

button:not(:disabled),
[type=button]:not(:disabled),
[type=reset]:not(:disabled),
[type=submit]:not(:disabled) {
    cursor: pointer
}

::-moz-focus-inner {
    padding: 0;
    border-style: none
}

textarea {
    resize: vertical
}

sup {
    position: relative;
    font-size: 70%;
    top: -5px
}

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

table {
    width: 100%
}

caption,
th {
    text-align: left
}

@media(prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto
    }

    * {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }

    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important
    }
}

@media screen and (max-width: 767px) {
    .pc-only {
        display: none !important
    }
}

@media screen and (min-width: 768px) {
    .sp-only {
        display: none !important
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .tab-only {
        display: block !important
    }
}

@media screen and (min-width: 768px) {
    .tab-only {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .tab-only {
        display: none
    }
}

.hidden {
    overflow: hidden;
    border-radius: 1rem
}

@media screen and (max-width: 767px) {
    .sp-border-none {
        border-width: 0 !important
    }
}

.dib {
    display: inline-block
}

.oflex {
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0
}

.oflex__item {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    margin: 0
}

.oflex[data-dir=normal] {
    flex-direction: row
}

.oflex[data-dir=reverse] {
    flex-direction: row-reverse
}

@media screen and (max-width: 767px) {
    .oflex[data-dir=sp-reverse] {
        flex-direction: row-reverse
    }
}

@media screen and (max-width: 767px) {
    .oflex[data-dir=sp-column-reverse] {
        flex-direction: column-reverse;
        justify-content: center
    }
}

@media screen and (max-width: 767px) {
    .oflex[data-align~=sp-center] {
        justify-content: center !important
    }
}

.oflex[data-align~=start] {
    justify-content: flex-start
}

.oflex[data-align~=center] {
    justify-content: center
}

.oflex[data-align~=end] {
    justify-content: flex-end
}

.oflex[data-align~=justify] {
    justify-content: space-between
}

.oflex[data-align~=top] {
    align-items: flex-start
}

.oflex[data-align~=middle] {
    align-items: center
}

.oflex[data-align~=bottom] {
    align-items: flex-end
}

.oflex__item[data-align~=start] {
    align-items: flex-start
}

.oflex__item[data-align~=center] {
    align-items: center
}

.oflex__item[data-align~=end] {
    align-items: flex-end
}

.oflex__item[data-align~=top] {
    justify-content: flex-start;
    align-self: stretch
}

.oflex__item[data-align~=middle] {
    justify-content: center;
    align-self: stretch
}

.oflex__item[data-align~=bottom] {
    justify-content: flex-end;
    align-self: stretch
}

.oflex[data-gutter] {
    width: auto
}

.oflex[data-gutter]>.oflex__item {
    border: solid rgba(0, 0, 0, 0);
    background-clip: padding-box
}

.oflex[data-gutter=none] {
    margin: 0
}

.oflex[data-gutter=none]>.oflex__item {
    border-width: 0
}

.oflex[data-gutter=small] {
    margin: -0.5vw
}

.oflex[data-gutter=small]>.oflex__item {
    border-width: 1vw
}

.oflex[data-gutter=normal] {
    margin: -1vw
}

.oflex[data-gutter=normal]>.oflex__item {
    border-width: 2vw
}

.oflex[data-gutter=large] {
    margin: -1.5vw
}

.oflex[data-gutter=large]>.oflex__item {
    border-width: 3vw
}

.oflex__item[data-grid~=sp1] {
    width: 8.3333333333%
}

.oflex__item[data-grid~=sp2] {
    width: 16.6666666667%
}

.oflex__item[data-grid~=sp3] {
    width: 25%
}

.oflex__item[data-grid~=sp4] {
    width: 33.3333333333%
}

.oflex__item[data-grid~=sp5] {
    width: 41.6666666667%
}

.oflex__item[data-grid~=sp6] {
    width: 50%
}

.oflex__item[data-grid~=sp7] {
    width: 58.3333333333%
}

.oflex__item[data-grid~=sp8] {
    width: 66.6666666667%
}

.oflex__item[data-grid~=sp9] {
    width: 75%
}

.oflex__item[data-grid~=sp10] {
    width: 83.3333333333%
}

.oflex__item[data-grid~=sp11] {
    width: 91.6666666667%
}

.oflex__item[data-grid~=sp12] {
    width: 100%
}

@media screen and (min-width: 768px) {
    .oflex[data-gutter=none] {
        margin: 0
    }

    .oflex[data-gutter=none]>.oflex__item {
        border-width: 0
    }

    .oflex[data-gutter=small] {
        margin: -0.5vw
    }

    .oflex[data-gutter=small]>.oflex__item {
        border-width: .5vw
    }

    .oflex[data-gutter=normal] {
        margin: -1vw
    }

    .oflex[data-gutter=normal]>.oflex__item {
        border-width: 1vw
    }

    .oflex[data-gutter=large] {
        margin: -1.5vw
    }

    .oflex[data-gutter=large]>.oflex__item {
        border-width: 1.5vw
    }

    .oflex__item[data-grid~=tab1] {
        width: 8.3333333333%
    }

    .oflex__item[data-grid~=tab2] {
        width: 16.6666666667%
    }

    .oflex__item[data-grid~=tab3] {
        width: 25%
    }

    .oflex__item[data-grid~=tab4] {
        width: 33.3333333333%
    }

    .oflex__item[data-grid~=tab5] {
        width: 41.6666666667%
    }

    .oflex__item[data-grid~=tab6] {
        width: 50%
    }

    .oflex__item[data-grid~=tab7] {
        width: 58.3333333333%
    }

    .oflex__item[data-grid~=tab8] {
        width: 66.6666666667%
    }

    .oflex__item[data-grid~=tab9] {
        width: 75%
    }

    .oflex__item[data-grid~=tab10] {
        width: 83.3333333333%
    }

    .oflex__item[data-grid~=tab11] {
        width: 91.6666666667%
    }

    .oflex__item[data-grid~=tab12] {
        width: 100%
    }

    .oflex__item[data-grid~=tabFive] {
        width: 20%
    }

    .oflex__item[data-grid~=tabAuto] {
        width: auto
    }
}

@media screen and (min-width: 1024px) {
    .oflex__item[data-grid~=pc-min1] {
        width: 8.3333333333%
    }

    .oflex__item[data-grid~=pc-min2] {
        width: 16.6666666667%
    }

    .oflex__item[data-grid~=pc-min3] {
        width: 25%
    }

    .oflex__item[data-grid~=pc-min4] {
        width: 33.3333333333%
    }

    .oflex__item[data-grid~=pc-min5] {
        width: 41.6666666667%
    }

    .oflex__item[data-grid~=pc-min6] {
        width: 50%
    }

    .oflex__item[data-grid~=pc-min7] {
        width: 58.3333333333%
    }

    .oflex__item[data-grid~=pc-min8] {
        width: 66.6666666667%
    }

    .oflex__item[data-grid~=pc-min9] {
        width: 75%
    }

    .oflex__item[data-grid~=pc-min10] {
        width: 83.3333333333%
    }

    .oflex__item[data-grid~=pc-min11] {
        width: 91.6666666667%
    }

    .oflex__item[data-grid~=pc-min12] {
        width: 100%
    }

    .oflex__item[data-grid~=pc-minFive] {
        width: 20%
    }

    .oflex__item[data-grid~=pc-minAuto] {
        width: auto
    }
}

@media screen and (min-width: 1200px) {
    .oflex__item[data-grid~=pc1] {
        width: 8.3333333333%
    }

    .oflex__item[data-grid~=pc2] {
        width: 16.6666666667%
    }

    .oflex__item[data-grid~=pc3] {
        width: 25%
    }

    .oflex__item[data-grid~=pc4] {
        width: 33.3333333333%
    }

    .oflex__item[data-grid~=pc5] {
        width: 41.6666666667%
    }

    .oflex__item[data-grid~=pc6] {
        width: 50%
    }

    .oflex__item[data-grid~=pc7] {
        width: 58.3333333333%
    }

    .oflex__item[data-grid~=pc8] {
        width: 66.6666666667%
    }

    .oflex__item[data-grid~=pc9] {
        width: 75%
    }

    .oflex__item[data-grid~=pc10] {
        width: 83.3333333333%
    }

    .oflex__item[data-grid~=pc11] {
        width: 91.6666666667%
    }

    .oflex__item[data-grid~=pc12] {
        width: 100%
    }

    .oflex__item[data-grid~=pcFive] {
        width: 20%
    }

    .oflex__item[data-grid~=pcAuto] {
        width: auto
    }
}

@media screen and (min-width: 1200px) {
    .oflex__item[data-grid~=desk1] {
        width: 8.3333333333%
    }

    .oflex__item[data-grid~=desk2] {
        width: 16.6666666667%
    }

    .oflex__item[data-grid~=desk3] {
        width: 25%
    }

    .oflex__item[data-grid~=desk4] {
        width: 33.3333333333%
    }

    .oflex__item[data-grid~=desk5] {
        width: 41.6666666667%
    }

    .oflex__item[data-grid~=desk6] {
        width: 50%
    }

    .oflex__item[data-grid~=desk7] {
        width: 58.3333333333%
    }

    .oflex__item[data-grid~=desk8] {
        width: 66.6666666667%
    }

    .oflex__item[data-grid~=desk9] {
        width: 75%
    }

    .oflex__item[data-grid~=desk10] {
        width: 83.3333333333%
    }

    .oflex__item[data-grid~=desk11] {
        width: 91.6666666667%
    }

    .oflex__item[data-grid~=desk12] {
        width: 100%
    }

    .oflex__item[data-grid~=deskFive] {
        width: 20%
    }

    .oflex__item[data-grid~=deskAuto] {
        width: auto
    }
}

@media all and (-ms-high-contrast: none) {
    .oflex__item {
        display: block
    }
}

:root {
    --layout-header: 60px;
    --layout-gutter: 16px;
    --layout-gutter-vertical: 3%;
    --layout-gutter-section: 40px
}

@media screen and (min-width: 768px) {
    :root {
        --layout-gutter-vertical: 20px;
        --layout-gutter-section: 60px
    }
}

@media screen and (min-width: 1200px) {
    :root {
        --layout-gutter: 24px;
        --layout-gutter-vertical: 40px;
        --layout-header: 70px
    }
}

.c-lyt__main {
    width: 100%;
    position: relative;
    margin-left: auto;
    margin-right: auto
}

.c-lyt__contents {
    padding: var(--layout-gutter-section) 0
}

.c-txt__p+.c-txt__p {
    margin-top: 1.5em
}

.c-lyt__inner {
    max-width: 1200px;
    padding-left: var(--layout-gutter-vertical);
    padding-right: var(--layout-gutter-vertical)
}

@media screen and (min-width: 768px) {
    .c-lyt__inner {
        margin-left: auto;
        margin-right: auto
    }
}

.c-lyt__inner_s {
    padding-left: var(--layout-gutter-vertical);
    padding-right: var(--layout-gutter-vertical)
}

@media screen and (min-width: 768px) {
    .c-lyt__inner_s {
        max-width: calc(768px + var(--layout-gutter-vertical)*2);
        margin-left: auto;
        margin-right: auto
    }
}

.c-lyt__inner-l {
    padding-left: var(--layout-gutter-vertical);
    padding-right: var(--layout-gutter-vertical)
}

.c-lyt__recommend {
    margin-top: var(--layout-gutter-section);
    padding: 20px 20px 20px;
    background: #f5f5f5;
    border-radius: 8px
}

@media screen and (max-width: 767px) {
    .c-lyt__recommend .c-hdg__ttl03 {
        margin-bottom: 30px
    }
}

.c-hdg__ttl01 {
    font-size: 1.875em;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: .35em;
    padding-bottom: .35em;
    border-bottom: 2px solid #d0d0d0
}

@media screen and (max-width: 767px) {
    .c-hdg__ttl01 {
        font-size: 1.5em
    }
}

.c-hdg__ttl02 {
    font-size: 4.5rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: .8em;
    color: #d0d0d0
}

@media screen and (max-width: 767px) {
    .c-hdg__ttl02 {
        font-size: 2.5rem
    }
}

.c-hdg__ttl03 {
    font-size: 3rem;
    font-weight: bold;
    padding-bottom: .625em;
    margin-bottom: .625em;
    position: relative;
    border-bottom: 3px solid #d0d0d0;
    display: block;
    width: 100%
}

.c-hdg__ttl03:after {
    content: "";
    width: 20%;
    height: 3px;
    background: #d0d0d0;
    display: block;
    position: absolute;
    left: 0;
    bottom: -3px
}

@media screen and (max-width: 767px) {
    .c-hdg__ttl03 {
        font-size: 2.4rem
    }
}

.c-hdg__ttl04 {
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: .6818181818em;
    padding: 10px 10px 10px 15px;
    background: #f5f5f5;
    border-left: 6px solid #f33f3e
}

@media screen and (max-width: 767px) {
    .c-hdg__ttl04 {
        font-size: 1.8rem
    }
}

.c-hdg__ttl05 {
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: .5em;
    border-bottom: 2px solid #d0d0d0;
    padding-bottom: .5em;
    color: #d0d0d0
}

.c-hdg__ttl06 {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.4
}

@media screen and (max-width: 767px) {
    .c-hdg__ttl06 {
        font-size: 2.5rem
    }
}

.c-hdg__ttl07 {
    font-size: 2rem;
    background: #f9fafb;
    padding: .9375em;
    border-radius: 8px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 1.25em
}

.c-hdg__ttl07::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 34px;
    background: #d0d0d0;
    border-radius: 100px
}

.c-hdg__step {
    padding: 20px;
    background: hsl(0, 0%, 90.568627451%);
    margin: 30px 0
}

.c-hdg__step__icon {
    background: #d0d0d0;
    color: #fff;
    padding: 15px;
    font-weight: bold;
    font-size: 15px
}

.c-hdg__step__icon span {
    font-size: 1.4em;
    margin-left: 4px
}

.c-hdg__step__txt {
    background: #fff;
    padding: 15px;
    width: 100%;
    display: flex;
    align-items: center
}

.c-hdg__step__box {
    width: 100%;
    display: flex
}

.c-hdg__step__box+.c-hdg__step__box {
    margin-top: 10px
}

@media screen and (max-width: 767px) {
    .c-hdg__step {
        padding: 15px
    }
}

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

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

.c-list__dot li::before {
    content: "・";
    color: #f33f3e
}

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

.c-list__arw01 li:before {
    position: absolute;
    display: block;
    content: "";
    top: .4em;
    left: 0;
    width: .4em;
    border: .4em solid rgba(0, 0, 0, 0);
    border-left: .4em solid #000
}

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

.c-list__arw02 li:before {
    position: absolute;
    display: block;
    content: "";
    top: .6em;
    left: 0;
    width: .4em;
    height: .4em;
    border-top: 2px solid #000;
    border-right: 2px solid #000;
    transform: rotate(45deg)
}

.c-list__check li {
    padding-left: 1.8em;
    text-indent: -1.8em
}

.c-list__check li:before {
    content: "";
    background: url(../../common/img/icon_check_red.svg) no-repeat;
    display: inline-block;
    width: 1.3em;
    height: 1.25em;
    background-size: cover;
    vertical-align: middle;
    margin-right: 4px
}

.c-list__check li+li {
    margin-top: 10px
}

.c-list__count01 {
    counter-reset: count-01
}

.c-list__count01>li {
    padding-left: 2em;
    margin-bottom: .5em;
    position: relative
}

.c-list__count01>li:before {
    content: counter(count-01);
    counter-increment: count-01;
    background-color: #f33f3e;
    color: #fff;
    display: block;
    height: 1.5em;
    width: 1.5em;
    line-height: 1.5em;
    text-align: center;
    border-radius: 50%;
    position: absolute;
    left: 0;
    top: .2em
}

.c-list__count02 {
    counter-reset: count-02
}

.c-list__count02>li {
    padding-left: 1.5em;
    position: relative;
    text-indent: 0
}

.c-list__count02>li::before {
    content: counter(count-02);
    counter-increment: count-02;
    display: block;
    position: absolute;
    left: 0
}

.c-list__count03 {
    counter-reset: count-03
}

.c-list__count03>li {
    padding-left: 2em;
    position: relative;
    text-indent: 0
}

.c-list__count03>li::before {
    content: "(" counter(count-03) ")";
    counter-increment: count-03;
    display: block;
    position: absolute;
    left: 0
}

.c-list__count04 {
    counter-reset: count-04
}

.c-list__count04>li {
    margin-bottom: .2em;
    padding-left: 2em;
    position: relative
}

.c-list__count04>li::after {
    content: counter(count-04) " )";
    counter-increment: count-04;
    display: block;
    position: absolute;
    left: 0;
    top: 0
}

.c-list__tbl01 {
    display: flex;
    flex-flow: wrap;
    border-top: solid 1px #d0d0d0
}

@media screen and (max-width: 767px) {
    .c-list__tbl01 {
        flex-flow: column
    }
}

.c-list__tbl01>dt,
.c-list__tbl01>dd {
    border-bottom: solid 1px #d0d0d0;
    padding: .5em .7em
}

.c-list__tbl01>dt {
    width: 30%;
    font-weight: bold;
    background: #d0d0d0
}

.c-list__tbl01>dt:not(:last-of-type) {
    border-bottom: solid 1px #fff
}

@media screen and (max-width: 767px) {
    .c-list__tbl01>dt {
        width: 100%
    }
}

.c-list__tbl01>dd {
    width: 70%;
    word-break: break-all
}

.c-list__tbl01>dd a {
    word-break: break-all !important
}

@media screen and (max-width: 767px) {
    .c-list__tbl01>dd {
        width: 100%;
        padding-bottom: 20px
    }
}

.c-list__tbl02 tr th {
    background: #d0d0d0;
    padding: .5em .7em;
    border: solid 1px #d0d0d0
}

.c-list__tbl02 td {
    border: solid 1px #d0d0d0;
    padding: .5em .7em
}

.c-list__info {
    border-top: solid 1px #f5f5f5;
    width: 100%
}

.c-list__info .c-list__info_item {
    border-bottom: solid 1px #f5f5f5;
    padding-top: 10px;
    display: grid;
    grid-template-columns: 50% 50%;
    grid-template-rows: auto auto;
    gap: 5px;
    grid-template-areas: "day day" "txt txt";
    align-items: center
}

.c-list__info .c-list__info_item .c-list__info_day {
    grid-area: day;
    font-weight: bold
}

.c-list__info .c-list__info_item .c_list__info_txt {
    grid-area: txt;
    padding: 0 0 10px 0
}

.c-list__info .c-list__info_item .c_list__info_txt:has(>a) {
    padding: 0
}

.c-list__info .c-list__info_item .c_list__info_txt:has(>a) a {
    display: block;
    padding: 0 20px 10px 0;
    position: relative
}

.c-list__info .c-list__info_item .c_list__info_txt:has(>a) a::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px
}

.c-list__info .c-list__info_item .c_list__info_txt:has(>a) a:hover {
    color: #f33f3e
}

@media screen and (min-width: 1200px) {
    .c-list__info .c-list__info_item {
        grid-template-columns: 134px auto;
        grid-template-rows: auto;
        gap: 15px;
        padding-bottom: 10px;
        grid-template-areas: "day txt";
        align-items: start
    }

    .c-list__info .c-list__info_item .c_list__info_txt {
        padding: 0
    }

    .c-list__info .c-list__info_item .c_list__info_txt:has(>a) a {
        padding: 0 25px 0 0
    }
}

.form_mainform_check_lst {
    display: flex;
    flex-flow: wrap
}

.form_mainform_check_lst li:not(:last-child) {
    margin-right: 15px
}

.c-box__card01 {
    border: solid 1px #f9fafb;
    height: 100%
}

.c-box__card01 a {
    display: block;
    height: 100%;
    padding: var(--layout-gutter-vertical);
    position: relative
}

.c-box__card01 a::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1.5em 1.5em;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #f33f3e rgba(0, 0, 0, 0);
    position: absolute;
    right: var(--layout-gutter-vertical);
    bottom: var(--layout-gutter-vertical)
}

.c-box__card01 a:hover {
    background: rgba(243, 63, 62, .1)
}

.c-box__card01_img {
    width: 100%;
    aspect-ratio: 4/3
}

.c-box__card01_img img {
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%;
    height: 100%
}

.c-box__card01_txt {
    margin-top: 10px
}

.c-box__imgbox01 {
    height: 100%;
    display: flex;
    gap: 1em;
    align-items: center
}

.c-box__imgbox01:has(>a) {
    display: block
}

.c-box__imgbox01:has(>a) a {
    display: flex;
    gap: 1em;
    align-items: center;
    position: relative
}

.c-box__imgbox01:has(>a) a::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 1.5em 1.5em;
    border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #f33f3e rgba(0, 0, 0, 0);
    position: absolute;
    right: var(--layout-gutter-vertical);
    bottom: var(--layout-gutter-vertical);
    border-width: 0 0 1em 1em;
    right: .5em;
    bottom: .5em
}

.c-box__imgbox01:has(>a) a:hover {
    background: rgba(243, 63, 62, .1)
}

.c-box__imgbox01_img {
    height: 100%;
    aspect-ratio: 1/1
}

.c-box__imgbox02 {
    border: 1px solid #d0d0d0;
    border-radius: 8px;
    padding: 10px
}

.c-box__related-article a:after {
    content: "関連記事";
    position: absolute;
    right: 0;
    top: 0;
    background: #d0d0d0;
    padding: 5px 10px;
    font-size: 14px;
    font-weight: bold;
    color: #fff
}

.c-box__related-article a {
    display: flex;
    gap: 15px;
    align-items: center;
    text-decoration: none !important;
    color: #0a0a0a !important;
    border: 3px solid #d0d0d0;
    padding: 15px 90px 15px 15px;
    max-width: 750px;
    margin-top: 10px;
    margin-bottom: 40px;
    position: relative;
    background: rgb(238.6, 238.6, 238.6);
    box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, .2)
}

.c-box__related-article img {
    width: 15%
}

.c-box__related-article p {
    width: 85%;
    font-weight: bold
}

@media screen and (max-width: 767px) {
    .c-box__related-article a {
        padding: 45px 10px 10px
    }

    .c-box__related-article img {
        width: 30%
    }

    .c-box__related-article p {
        width: 70%;
        font-weight: bold
    }

    .c-box__related-article a:after {
        width: 100%;
        text-align: center
    }
}

.c-btn,
.c-btn__block {
    display: inline-block;
    padding: .625em 1.875em;
    border-radius: 100px;
    vertical-align: middle;
    text-align: center;
    transition: ease all .3s;
    color: #0a0a0a;
    background: #d0d0d0;
    border: 1px #0a0a0a solid
}

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

.c-btn>i,
.c-btn__block>i {
    margin-left: .8em
}

.c-btn.c-btn__icon,
.c-btn__block.c-btn__icon {
    position: relative
}

.c-btn.c-btn__icon i,
.c-btn__block.c-btn__icon i {
    position: absolute;
    height: 1em;
    margin: auto;
    top: 0;
    bottom: 0;
    right: .8em
}

.c-btn.arw,
.c-btn__block.arw {
    position: relative
}

.c-btn.arw::after,
.c-btn__block.arw::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px
}

.c-btn.back,
.c-btn__block.back {
    position: relative
}

.c-btn.back::after,
.c-btn__block.back::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px;
    left: 1em;
    right: auto;
    position: absolute;
    top: 50%;
    transform: rotate(-180deg) translateY(50%)
}

.c-btn.next,
.c-btn__block.next {
    position: relative
}

.c-btn.next::after,
.c-btn__block.next::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px;
    left: auto;
    right: 1em;
    position: absolute;
    top: 50%;
    transform: translateY(-50%)
}

.c-btn:hover,
.c-btn__block:hover {
    background: #d0d0d0;
    color: #fff
}

.c-btn:hover::after,
.c-btn__block:hover::after {
    border-color: #f33f3e
}

.c-btn.c-btn__main-line,
.c-btn__block.c-btn__main-line {
    background: #fff;
    border: 1px #f33f3e solid;
    color: #f33f3e
}

.c-btn.c-btn__main-line::after,
.c-btn__block.c-btn__main-line::after {
    border-color: #f33f3e
}

.c-btn.c-btn__main-line:hover,
.c-btn__block.c-btn__main-line:hover {
    background: #f33f3e;
    color: #fff
}

.c-btn.c-btn__main-line:hover::after,
.c-btn__block.c-btn__main-line:hover::after {
    border-color: #fff
}

.c-btn.c-btn__gray,
.c-btn[disabled],
.c-btn__block.c-btn__gray,
.c-btn__block[disabled] {
    background: #9c9c9c;
    border-color: #9c9c9c
}

.c-btn.c-btn__gray:hover,
.c-btn[disabled]:hover,
.c-btn__block.c-btn__gray:hover,
.c-btn__block[disabled]:hover {
    background: #fff;
    color: #9c9c9c
}

.c-btn.c-btn__gray:hover::after,
.c-btn[disabled]:hover::after,
.c-btn__block.c-btn__gray:hover::after,
.c-btn__block[disabled]:hover::after {
    border-color: #9c9c9c
}

.c-btn.c-btn__cv,
.c-btn__block.c-btn__cv {
    background: #f87024;
    border: #f87024;
    font-weight: bold;
    color: #fff;
    z-index: 1
}

.c-btn.c-btn__cv:before,
.c-btn__block.c-btn__cv:before {
    content: "";
    font-family: "icomoon";
    margin-right: 10px
}

.c-btn.c-btn__cv__2,
.c-btn__block.c-btn__cv__2 {
    background: #f87024;
    border: #f87024;
    font-weight: bold;
    color: #fff;
    z-index: 1
}

.c-btn.c-btn__baycross,
.c-btn__block.c-btn__baycross {
    background: rgba(28, 101, 180, .8509803922);
    color: #fff
}

.c-btn.c-btn__document,
.c-btn__block.c-btn__document {
    background: #9c9c9c;
    font-size: 18px
}

.c-btn.c-btn__document:before,
.c-btn__block.c-btn__document:before {
    content: "";
    font-family: "icomoon";
    margin-right: 10px
}

.c-btn.c-btn__diagnosis,
.c-btn__block.c-btn__diagnosis {
    background: #d0d0d0;
    font-size: 18px;
    display: flex
}

.c-btn.c-btn__diagnosis::before,
.c-btn__block.c-btn__diagnosis::before {
    content: "";
    display: inline-block;
    background: url(../img/img_ico_diagnosis.png) no-repeat center;
    background-size: contain;
    width: 26px;
    height: 26px
}

@media screen and (max-width: 767px) {

    .c-btn.c-btn__diagnosis::before,
    .c-btn__block.c-btn__diagnosis::before {
        width: 24px;
        height: 24px
    }
}

.c-btn__s {
    font-size: .8em
}

.c-btn__s.c-btn__icon {
    padding: .375em 1.5em !important
}

.c-btn__s.c-btn__icon i {
    height: .8em
}

.c-btn__l {
    padding: 1.2em 2.5em !important;
    font-size: 1.2em
}

.c-btn__square {
    border: 4px solid #bf0000;
    border-radius: 8px;
    color: #bf0000;
    background: #fff;
    display: block;
    font-size: 1.375em
}

.c-btn__square:hover {
    background: #bf0000;
    color: #fff;
    opacity: 1
}

@media screen and (max-width: 767px) {
    .c-btn__square {
        width: 100%;
        display: block;
        font-size: 1.6rem;
        border: 2px solid #bf0000
    }
}

@media screen and (min-width: 768px) {
    .c-btn__mv {
        position: absolute;
        left: 50%;
        bottom: 10px;
        transform: translate(-50%, -50%);
        -webkit-transform: translate(-50%, -50%);
        z-index: 1
    }
}

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

.c-btn__mv a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 470px;
    font-size: 24px;
    box-shadow: 3px 5px 0 rgba(0, 0, 0, .15);
    padding: .3em .8em
}

@media screen and (max-width: 767px) {
    .c-btn__mv a {
        width: 100%;
        font-size: 18px
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .c-btn__mv a {
        width: 420px;
        font-size: 20px
    }
}

.c-btn__mv a span {
    font-size: 70%;
    color: #fff884;
    display: inline-block;
    margin: 0 7px
}

@media screen and (max-width: 767px) {
    .c-btn__mv a span {
        margin: 0 4px
    }
}

.c-btn__mv a span .c-txt__l {
    font-size: 160% !important;
    margin: 0 !important
}

.c-btn__mv a::before {
    content: "";
    display: inline-block;
    background: url(../img/img_ico_diagnosis.png) no-repeat center;
    background-size: contain;
    width: 30px;
    height: 34px
}

@media screen and (max-width: 767px) {
    .c-btn__mv a::before {
        width: 24px;
        height: 28px
    }
}

.c-btn__blue {
    padding: .625em 3.5em !important;
    background: #d0d0d0;
    color: #fff;
    border: 2px solid #d0d0d0
}

.c-btn__blue:hover {
    background: #fff;
    color: #d0d0d0;
    opacity: 1
}

.c-btn__white {
    padding: .625em 3.5em !important;
    background: #fff;
    color: #d0d0d0;
    border: 2px solid #fff
}

.c-btn__white:hover {
    background: #d0d0d0;
    color: #fff;
    opacity: 1
}

.c-txt__bold {
    font-weight: bold
}

.c-txt__tc {
    text-align: center !important
}

.c-txt__tr {
    text-align: right !important
}

.c-txt__tl {
    text-align: left !important
}

@media screen and (min-width: 768px) {
    .c-txt__tab-tc {
        text-align: center !important
    }

    .c-txt__tab-tr {
        text-align: right !important
    }
}

@media screen and (min-width: 1200px) {
    .c-txt__pc-tc {
        text-align: center !important
    }

    .c-txt__pc-tr {
        text-align: right !important
    }
}

.c-txt__s {
    font-size: .8em
}

.c-txt__l {
    font-size: 1.2em
}

.c-txt__ll {
    font-size: 2.5em;
    line-height: 1.4
}

.c-txt__m {
    font-size: 1em
}

@media screen and (max-width: 767px) {
    .c-txt__ll {
        font-size: 1.8em
    }
}

.c-txt__color_main {
    color: #f33f3e
}

.c-txt__color_01 {
    color: #f87024
}

.c-txt__color_02 {
    color: #fff600
}

.c-txt__color_error {
    color: #d61c35
}

.c-txt__color_inverse {
    color: #fff
}

.c-txt__color_gray {
    color: #f9fafb
}

.c-txt__color_wh {
    color: #fff
}

.c-txt__color_line {
    color: #06c755
}

.c-txt__link {
    color: #f33f3e;
    text-decoration: underline
}

.c-txt__link:hover {
    opacity: .7;
    text-decoration: underline
}

.c-txt__arw {
    position: relative
}

.c-txt__arw:after {
    content: "";
    display: inline-block;
    width: .6em;
    height: .6em;
    border-top: 2px solid #f33f3e;
    border-right: 2px solid #f33f3e;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    transform: rotate(45deg) translateY(-50%)
}

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

.c-txt__wavy {
    display: inline-block;
    position: relative;
    padding-bottom: 2px
}

@media screen and (max-width: 767px) {
    .c-txt__wavy {
        margin-bottom: 5px
    }
}

.c-txt__wavy::before {
    content: "";
    background-image: url("../../common/img/wavy.svg");
    background-repeat: repeat-x;
    background-size: contain;
    position: absolute;
    left: 0;
    bottom: -6px;
    height: 8px;
    width: 100%
}

@media screen and (min-width: 768px) {
    .c-txt__wavy::before {
        bottom: -3px;
        height: 5px
    }
}

.c-txt__marker {
    background: linear-gradient(transparent 60%, #FFE200 60%);
    font-weight: bold;
    letter-spacing: .05em;
    background-size: 0% 100%;
    background-repeat: no-repeat
}

.c-txt__marker.is-move {
    opacity: 1
}

.c-txt__marker.active {
    animation: slideMarker 1s linear forwards
}

@keyframes slideMarker {
    from {
        background-size: 0% 100%
    }

    to {
        background-size: 100% 100%
    }
}

.c-tbl__01 {
    border: 1px solid #9c9c9c
}

.c-tbl__01 tr {
    display: flex
}

.c-tbl__01 th {
    width: 25%;
    background: #f9fafb;
    padding: 10px;
    vertical-align: middle;
    border-right: 1px solid #9c9c9c;
    font-weight: bold;
    display: flex;
    align-items: center
}

.c-tbl__01 td {
    width: 75%;
    padding: 10px
}

.c-tbl__01 tr:not(:last-child) th {
    border-bottom: 1px solid #9c9c9c
}

.c-tbl__01 tr:not(:last-child) td {
    border-bottom: 1px solid #9c9c9c
}

@media screen and (max-width: 767px) {
    .c-tbl__01 tr {
        flex-direction: column
    }

    .c-tbl__01 th {
        width: 100%;
        border-right: none
    }

    .c-tbl__01 td {
        width: 100%;
        padding-bottom: 20px
    }
}

.c-tbl__02 {
    border: 1px solid #9c9c9c;
    text-align: center
}

.c-tbl__02 td {
    padding: 5px;
    border: 1px solid #9c9c9c
}

.c-tbl__02 ._gray {
    background: #d0d0d0
}

input[type=text].error,
input[type=password].error,
input[type=tel].error,
input[type=email].error,
input[type=number].error,
textarea.error {
    border: solid 1px #d61c35
}

input[type=text]:not(.c-form__content__input-plaintext):focus,
input[type=password]:not(.c-form__content__input-plaintext):focus,
input[type=tel]:not(.c-form__content__input-plaintext):focus,
input[type=email]:not(.c-form__content__input-plaintext):focus,
input[type=number]:not(.c-form__content__input-plaintext):focus,
textarea:focus {
    border: solid 1px #f33f3e
}

.c-form__label {
    display: block
}

.c-form__label-group {
    margin-bottom: .3em
}

.c-form__label-group-required,
.c-form__label-group-any {
    position: relative
}

.c-form__label-group-required::after,
.c-form__label-group-any::after {
    position: absolute;
    top: 0;
    bottom: -4px;
    margin: auto;
    border-radius: 3px;
    padding: 0 .5em;
    font-size: .6em;
    display: inline-block;
    line-height: 1.5em;
    height: 1.7em;
    margin-left: 8px
}

.c-form__label-group-required::after {
    content: "必須";
    background: #f33f3e;
    color: #fff;
    font-weight: bold
}

.c-form__label-group-any::after {
    content: "任意";
    background: #9c9c9c;
    color: #fff
}

.c-form__input-group {
    padding: 1em 0
}

.c-form__input-group-border {
    border-bottom: 1px solid #f9fafb
}

.c-form__input-group-toggle .c-form__label {
    display: flex;
    justify-content: space-between
}

@media screen and (min-width: 1200px) {

    .c-form__input-group-table .c-form__label,
    .c-form__input-group-table-alignstart .c-form__label {
        display: flex;
        align-items: baseline
    }

    .c-form__input-group-table .c-form__label .c-form__label-group,
    .c-form__input-group-table-alignstart .c-form__label .c-form__label-group {
        width: 30%;
        margin-bottom: 0
    }

    .c-form__input-group-table .c-form__label .c-form__label-group-required::before,
    .c-form__input-group-table-alignstart .c-form__label .c-form__label-group-required::before,
    .c-form__input-group-table .c-form__label .c-form__label-group-any::before,
    .c-form__input-group-table-alignstart .c-form__label .c-form__label-group-any::before {
        top: .3em;
        bottom: auto
    }

    .c-form__input-group-table .c-form__label .c-form__content,
    .c-form__input-group-table-alignstart .c-form__label .c-form__content {
        width: 70%
    }
}

@media screen and (min-width: 1200px) {
    .c-form__input-group-table-alignstart .c-form__label {
        align-items: flex-start
    }
}

.c-form__input-group-table-sp .c-form__label {
    display: flex;
    align-items: baseline;
    width: 100%
}

.c-form__input-group-table-sp .c-form__label .c-form__label-group {
    width: 40%;
    margin-bottom: 0
}

.c-form__input-group-table-sp .c-form__label .c-form__label-group-required::before,
.c-form__input-group-table-sp .c-form__label .c-form__label-group-any::before {
    top: .3em;
    bottom: auto
}

@media screen and (min-width: 768px) {
    .c-form__input-group-table-sp .c-form__label .c-form__label-group {
        width: 30%
    }
}

.c-form__input-group-table-sp .c-form__label .c-form__content {
    width: 60%
}

@media screen and (min-width: 768px) {
    .c-form__input-group-table-sp .c-form__label .c-form__content {
        width: 70%
    }
}

.c-form__label__txt-label {
    font-weight: bold
}

.c-form__content {
    position: relative
}

.c-form__content__input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    display: block;
    padding: .2em .5em;
    width: 100%;
    border: 1px solid #9c9c9c;
    border-radius: 4px;
    outline: none;
    margin: .4em 0
}

@media screen and (min-width: 1200px) {
    .c-form__content__input {
        margin: .3em 0
    }
}

.c-form__content__input__flex {
    display: flex;
    gap: .5em;
    align-items: center
}

.c-form__content__input__flex p {
    flex-shrink: 0
}

@media screen and (min-width: 1200px) {
    .c-form__content__input__flex-pc {
        display: flex;
        gap: .5em;
        align-items: center
    }

    .c-form__content__input__flex-pc p {
        flex-shrink: 0
    }
}

.c-form__content__input-m {
    width: 70%
}

.c-form__content__input-s {
    width: 50%
}

.c-form__content__input-plaintext {
    border: 1px solid rgba(0, 0, 0, 0)
}

.c-form__content__input-disabled {
    background: #f5f5f5;
    color: #9c9c9c
}

.c-form__content__input-password {
    position: relative
}

.c-form__content__input-password .c-form__content__input {
    padding-right: 2em
}

.c-form__content__input-password i {
    position: absolute;
    right: .5em;
    top: 0;
    bottom: 0;
    line-height: 1;
    height: 1em;
    margin: auto;
    cursor: pointer;
    pointer-events: all
}

.c-form__content__input-password.view::after {
    content: ""
}

.c-form__content__select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    z-index: 2;
    display: block;
    padding: .5em calc(.5em + 16px) .5em .5em;
    border: 1px solid #9c9c9c;
    border-radius: 4px;
    outline: none;
    position: relative;
    width: 100%
}

.c-form__content__select-box {
    background: #fff;
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    border-radius: 4px;
    padding: .4em 0
}

@media screen and (min-width: 1200px) {
    .c-form__content__select-box {
        padding: .3em 0
    }
}

.c-form__content__select-box::before {
    content: "";
    position: absolute;
    z-index: -1;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 17px;
    width: 1px;
    height: 1.8em;
    background-color: #9c9c9c
}

.c-form__content__select-box:after {
    content: "";
    position: absolute;
    z-index: -1;
    margin: auto;
    top: 0;
    bottom: 0;
    right: 5px;
    display: block;
    width: 0;
    height: 0;
    border-top: 6px solid #f33f3e;
    border-right: 4px solid rgba(0, 0, 0, 0);
    border-left: 4px solid rgba(0, 0, 0, 0)
}

.c-form__content__select-box-inline {
    display: inline-block;
    width: -moz-fit-content;
    width: fit-content
}

.c-form__content__select-multiple {
    border: 1px solid #9c9c9c;
    width: 100%;
    padding: .5em
}

.c-form__content__check {
    opacity: 0;
    width: 0;
    margin: 0
}

.c-form__content__check-box {
    display: block;
    padding: .5em 0
}

@media screen and (min-width: 1200px) {
    .c-form__content__check-box {
        padding: .3em 0
    }
}

.c-form__content__check-box-inline {
    display: inline-block;
    margin-right: 1em
}

.c-form__content__check-label {
    display: flex;
    align-items: center;
    cursor: pointer
}

.c-form__content__check-txt {
    margin-left: .4em;
    display: block;
    width: calc(100% - 1.5em)
}

.c-form__content__check-dammy {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 1.5em;
    height: 1.5em;
    background: #fff;
    border: solid 2px #9c9c9c;
    flex-shrink: 0
}

.c-form__content__check[type=radio]+.c-form__content__check-dammy {
    border-radius: 50%
}

.c-form__content__check:focus+.c-form__content__check-dammy {
    background: rgba(243, 63, 62, .1)
}

.c-form__content__check:checked+.c-form__content__check-dammy {
    background: rgba(243, 63, 62, .1)
}

.c-form__content__check:checked+.c-form__content__check-dammy::before {
    content: "";
    display: block;
    position: absolute;
    top: -0.15em;
    left: .3em;
    width: .7em;
    height: 1.2em;
    transform: rotate(40deg);
    border-bottom: 3px solid #f33f3e;
    border-right: 3px solid #f33f3e
}

.c-form__content__check[type=radio]:checked+.c-form__content__check-dammy::before {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: .5em;
    height: .5em;
    border-radius: 50%;
    background: #f33f3e
}

.c-form__content__toggle {
    display: none
}

.c-form__content__toggle-label {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    flex-flow: row;
    justify-content: space-between;
    padding: .4em 0
}

@media screen and (min-width: 1200px) {
    .c-form__content__toggle-label {
        padding: .3em 0
    }
}

.c-form__content__toggle-txt {
    width: calc(100% - 4em)
}

.c-form__content__toggle-switch {
    position: relative;
    width: 3em
}

.c-form__content__toggle-box {
    display: block;
    box-sizing: border-box;
    height: calc(1.5em + 2px);
    border: 1px solid #9c9c9c;
    background: #eee;
    border-radius: 99px
}

.c-form__content__toggle-lever {
    position: absolute;
    width: 1.5em;
    height: 1.5em;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, .1);
    top: 1px;
    left: 1px;
    border-radius: 99px;
    transition: .2s
}

.c-form__content__toggle:checked+.c-form__content__toggle-box {
    border-color: #f33f3e;
    background: rgba(243, 63, 62, .3)
}

.c-form__content__toggle:checked~.c-form__content__toggle-box .c-form__content__toggle-lever {
    transform: translateX(calc(3em - (1.5em + 2px)));
    background: #f33f3e
}

.c-form__content__toggle:checked+.c-form__content__toggle-box-red {
    border-color: #d61c35;
    background: rgba(214, 28, 53, .3)
}

.c-form__content__toggle:checked~.c-form__content__toggle-box-red .c-form__content__toggle-lever {
    background: #d61c35
}

@media screen and (min-width: 1200px) {
    .c-form__content__upload {
        border: 1px dashed #9c9c9c;
        background: #fff;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        height: 120px;
        align-items: center;
        justify-content: center
    }

    .c-form__content__upload.dragover {
        background: rgba(243, 63, 62, .2)
    }

    .c-form__content__upload .c-btn__block {
        max-width: 40%
    }
}

.c-form__content__upload-input {
    display: none
}

.c-form__content__upload-txt {
    display: none
}

@media screen and (min-width: 1200px) {
    .c-form__content__upload-txt {
        display: block;
        margin-top: 5px;
        text-align: center;
        color: #9c9c9c;
        font-size: 1.2rem
    }
}

.c-form__content__upload-img {
    margin-bottom: 20px
}

.c-form__content__upload-img-content {
    position: relative;
    aspect-ratio: 1/1;
    border: 1px solid #efefef;
    background: #f9fafb;
    width: 100%
}

.c-form__content__upload-img-content img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain
}

.c-form__content__upload-img-content__close {
    position: absolute;
    background: #9c9c9c;
    color: #fff;
    display: block;
    width: 1.5em;
    height: 1.5em;
    border-radius: 50%;
    top: 2px;
    right: 2px
}

.c-form__content__upload-s {
    border: 1px dashed #9c9c9c;
    background: #fff;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

.c-form__content__upload-s.dragover {
    background: rgba(243, 63, 62, .2)
}

.c-form__content__bottom-split {
    display: flex
}

.c-form__content__message {
    font-size: .9em
}

.c-form__content__error-message {
    font-size: .9em;
    color: #d61c35
}

.c-form__content__input-count {
    flex-shrink: 0;
    font-size: 10px;
    font-weight: 400;
    line-height: 1.4em;
    margin: 0 0 0 auto;
    padding-left: 8px
}

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

.c-form__content__input__zip-s {
    width: 4.5em
}

.c-form__content__input__zip-m {
    width: 5.5em;
    margin-right: .5em
}

@media screen and (min-width: 768px) {
    .c-form__content__input__zip-s {
        width: 5em
    }

    .c-form__content__input__zip-m {
        width: 8em;
        margin-right: 1em
    }
}

.c-form__content__input__zip span {
    margin: 0 .2em;
    font-size: 1.4em
}

.c-form__content__input__zip .c-btn,
.c-form__content__input__zip .c-btn__block {
    font-size: 1.2rem;
    line-height: 1.9rem
}

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

.c-form__content__input__phone-s {
    width: calc((100% - 2.4em)/3)
}

@media screen and (min-width: 768px) {
    .c-form__content__input__phone-s {
        width: 7em
    }
}

.c-form__content__input__phone span {
    margin: 0 .2em;
    font-size: 1.4em
}

.c-form__content .url-wrapper {
    display: flex;
    align-items: center;
    gap: 10px
}

.c-form__content .add-url-btn {
    background-color: #007bff;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 14px;
    cursor: pointer
}

.c-form__content .add-url-btn:hover {
    background-color: #0056b3
}

.c-form__content .remove-url-btn {
    background-color: #ff4d4d;
    color: #fff;
    border: none;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    font-size: 14px;
    cursor: pointer
}

.c-form__content .remove-url-btn:hover {
    background-color: #c00
}

.c-form__select-input__wrap {
    position: relative
}

.c-form__select-input__wrap .c-form__content__input {
    position: absolute;
    z-index: 2;
    border-radius: 4px 0 0 4px;
    padding-right: .5em;
    width: calc(100% - 1em) !important
}

.c-form__select-input__wrap .c-form__content__select {
    width: 100%
}

.c-form__select-list {
    border: solid 1px #f5f5f5;
    padding: 8px 14px;
    width: 90vw;
    max-width: 300px;
    box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, .2);
    border-radius: 3px;
    background: #fff
}

.c-form__select-list__text {
    margin-bottom: .5em
}

.c-form__select-list__item li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: solid 1px #f9fafb;
    padding: 3px 0 3px .5em
}

.c-form__select-list__item li:hover {
    background: #f9fafb
}

.c-form__select-list__btn {
    padding: .2em .75em
}

.form_mainform_radio_label {
    display: block !important
}

.c-form__content__input::-moz-placeholder {
    color: #555;
    opacity: .4
}

.c-form__content__input::placeholder {
    color: #555;
    opacity: .4
}

.p-thanks__thanks {
    justify-content: center
}

.yasuda_photo>div {
    position: relative
}

.yasuda_photo .yasuda_meishi {
    position: absolute;
    right: 5%;
    bottom: 5%;
    width: 30%
}

@media screen and (min-width: 768px) {
    .multi_siteurl {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-end
    }

    .multi_siteurl .c-form__label-group {
        flex: 0 0 30%
    }

    .multi_siteurl .c-form__content {
        flex: 0 0 70%;
        display: flex;
        flex-direction: column
    }

    .multi_siteurl .c-form__content>div {
        margin-bottom: 5px
    }
}

#urlInputGroup .url-wrapper:first-child {
    position: relative
}

#urlInputGroup .url-wrapper:first-child::after {
    content: "https://example.com";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    pointer-events: none;
    font-weight: 400;
    font-size: 16px;
    transition: opacity 0;
    opacity: 1
}

@media screen and (max-width: 767px) {
    #urlInputGroup .url-wrapper:first-child::after {
        font-weight: 300;
        font-size: 16px
    }
}

#urlInputGroup .url-wrapper:first-child.has-value::after {
    opacity: 0
}

#siteurl1 {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    display: block;
    padding: .2em .5em;
    width: 100%;
    border: 1px solid #9c9c9c;
    border-radius: 4px;
    outline: none;
    margin: .4em 0
}

@media screen and (max-width: 767px) {
    #siteurl1 {
        font-size: 16px
    }
}

@media screen and (max-width: 767px) {
    .form_mainform_check_txt {
        font-size: 16px
    }

    input[type=checkbox] {
        transform: scale(1.2);
        margin: 5px
    }

    .store__status .c-form__content {
        font-size: 16px
    }

    .store__status .c-form__content input[type=radio] {
        transform: scale(1.2);
        margin: 3px
    }
}

.formError {
    z-index: 990
}

.formError .formErrorContent {
    z-index: 991
}

.formError .formErrorArrow {
    z-index: 996
}

.ui-dialog .formError {
    z-index: 5000
}

.ui-dialog .formError .formErrorContent {
    z-index: 5001
}

.ui-dialog .formError .formErrorArrow {
    z-index: 5006
}

.inputContainer {
    position: relative;
    float: left
}

.formError {
    position: absolute;
    top: 300px;
    left: 300px;
    display: block;
    cursor: pointer;
    text-align: left
}

.formError.inline {
    position: relative;
    top: 0;
    left: 0;
    display: inline-block
}

.formError .formErrorContent {
    width: 100%;
    background: #d61c35;
    position: relative;
    color: #fff;
    min-width: 100px;
    font-size: 12px;
    padding: 6px;
    border-radius: 6px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    -o-border-radius: 6px
}

.formError.inline .formErrorContent {
    border: none;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -o-border-radius: 0
}

.formErrorContent::after {
    content: "";
    display: block;
    position: absolute;
    border-right: 6px solid rgba(0, 0, 0, 0);
    border-bottom: 10px solid #d61c35;
    border-left: 6px solid rgba(0, 0, 0, 0);
    top: -10px;
    left: 40px
}

.formError .formErrorArrow {
    display: none
}

.contact_no01 {
    width: 600px;
    margin: 30px auto 10px
}

.contact_no01 img {
    width: 100%
}

.contact_no01__note {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
    margin-right: auto;
    margin-left: auto
}

.contact_no01__note p {
    font-weight: normal;
    font-size: 10px !important;
    text-align: left;
    color: #333;
    line-height: 1.5;
    padding-left: 1em;
    text-indent: -1em;
    margin: 0 .5em !important
}

@media screen and (max-width: 767px) {
    .contact_no01 {
        width: 100%;
        margin: 30px auto 10px
    }
}

#rakuten-unyo-daiko .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko.jpg) no-repeat center center/cover
}

#other .p-contents__header__image {
    background: url(/common/img/thumbnail/other.jpg) no-repeat center center/cover
}

#interview .p-contents__header__image {
    background: url(/common/img/thumbnail/interview.jpg) no-repeat center center/cover
}

#rakuten-unyo-8point .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-8point.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-point .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-point.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-can .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-can.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-consulting .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-consulting.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-merit .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-merit.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-failure .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-failure.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-cost.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost-price .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost-price.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost-market .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost-market.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost-plan .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost-plan.jpg) no-repeat center center/cover
}

#rakuten-unyo-strategy .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-strategy.jpg) no-repeat center center/cover
}

#rakuten-unyo-analysis .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-analysis.jpg) no-repeat center center/cover
}

#rakuten-unyo-direction .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-direction.jpg) no-repeat center center/cover
}

#rakuten-unyo-design .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-design.jpg) no-repeat center center/cover
}

#rakuten-unyo-rule .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-rule.jpg) no-repeat center center/cover
}

#rakuten-unyo-advertisement .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-advertisement.jpg) no-repeat center center/cover
}

#rakuten-unyo-data .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-data.jpg) no-repeat center center/cover
}

#rakuten-unyo-speed .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-speed.jpg) no-repeat center center/cover
}

#rakuten-tenpo-renewal .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-tenpo-renewal.jpg) no-repeat center center/cover
}

#opening-store-support .p-contents__header__image {
    background: url(/common/img/thumbnail/opening-store-support.jpg) no-repeat center center/cover
}

#opening-store-support_opening-store-merit .p-contents__header__image {
    background: url(/common/img/thumbnail/opening-store-support_opening-store-merit.jpg) no-repeat center center/cover
}

#opening-store-support_opening-store-plan .p-contents__header__image {
    background: url(/common/img/thumbnail/opening-store-support_opening-store-plan.jpg) no-repeat center center/cover
}

#unyo-daiko-case .p-contents__header__image {
    background: url(/common/img/thumbnail/unyo-daiko-case.jpg) no-repeat center center/cover
}

#baycross-marketing-about .p-contents__header__image {
    background: url(/common/img/thumbnail/baycross-marketing-about.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko .p-contents__header__image {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko.jpg) no-repeat center center/cover
}

#contact .p-contents__header__image {
    visibility: hidden;
    max-height: 150px
}

#contact_document .p-contents__header__image {
    visibility: hidden;
    max-height: 150px
}

#terms .p-contents__header__image {
    background: url(/common/img/thumbnail/terms.jpg) no-repeat center center/cover
}

#privacy .p-contents__header__image {
    background: url(/common/img/thumbnail/privacy.jpg) no-repeat center center/cover
}

#service .p-contents__header__image {
    background: url(/common/img/thumbnail/service.jpg) no-repeat center center/cover
}

#company .p-contents__header__image {
    background: url(/common/img/thumbnail/company.jpg) no-repeat center center/cover
}

@media screen and (max-width: 767px) {
    #contact .p-contents__header__image {
        display: none;
        padding: 20px 0
    }

    #contact_document .p-contents__header__image {
        display: none;
        padding: 20px 0
    }

    #terms .p-contents__header__image {
        display: none;
        padding: 20px 0
    }

    #privacy .p-contents__header__image {
        display: none;
        padding: 20px 0
    }

    #service .p-contents__header__image {
        display: none;
        padding: 20px 0
    }

    #company .p-contents__header__image {
        display: none;
        padding: 20px 0
    }
}

.p-contents__mv {
    max-width: 1000px;
    width: 100%;
    height: 250px
}

#rakuten-unyo-daiko .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-point .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-point.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-can .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-can.jpg) no-repeat top 30% center/cover
}

#rakuten-unyo-daiko_unyo-daiko-consulting .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-consulting.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-merit .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-merit.jpg) no-repeat center center/cover
}

#rakuten-unyo-daiko_unyo-daiko-failure .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-daiko_unyo-daiko-failure.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-cost.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost-price .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost-price.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost-market .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost-market.jpg) no-repeat center center/cover
}

#rakuten-unyo-cost_unyo-cost-plan .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-cost_unyo-cost-plan.jpg) no-repeat center center/cover
}

#rakuten-unyo-strategy .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-strategy.jpg) no-repeat center center/cover
}

#rakuten-unyo-analysis .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-analysis.jpg) no-repeat center center/cover
}

#rakuten-unyo-direction .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-direction.jpg) no-repeat center center/cover
}

#rakuten-unyo-design .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-design.jpg) no-repeat center center/cover
}

#rakuten-unyo-rule .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-rule.jpg) no-repeat center center/cover
}

#rakuten-unyo-advertisement .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-advertisement.jpg) no-repeat center center/cover
}

#rakuten-unyo-data .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-data.jpg) no-repeat center center/cover
}

#rakuten-unyo-speed .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-unyo-speed.jpg) no-repeat center center/cover
}

#rakuten-tenpo-renewal .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-tenpo-renewal.jpg) no-repeat center center/cover
}

#rakuten-tenpo-renewal_rakuten-tenpo-new .p-contents__mv {
    background: url(/common/img/thumbnail/rakuten-tenpo-renewal_rakuten-tenpo-new.jpg) no-repeat center center/cover
}

#opening-store-support .p-contents__mv {
    background: url(/common/img/thumbnail/opening-store-support.jpg) no-repeat center center/cover
}

#opening-store-support_opening-store-merit .p-contents__mv {
    background: url(/common/img/thumbnail/opening-store-support_opening-store-merit.jpg) no-repeat center center/cover
}

#opening-store-support_opening-store-plan .p-contents__mv {
    background: url(/common/img/thumbnail/opening-store-support_opening-store-plan.jpg) no-repeat center center/cover
}

#unyo-daiko-case .p-contents__mv {
    background: url(/common/img/thumbnail/unyo-daiko-case.jpg) no-repeat center center/cover
}

#baycross-marketing-about .p-contents__mv {
    background: url(/common/img/thumbnail/baycross-marketing-about.jpg) no-repeat center center/cover
}

#contact .p-contents__mv {
    background: url(/common/img/thumbnail/contact.jpg) no-repeat center center/cover
}

#terms .p-contents__mv {
    background: url(/common/img/thumbnail/terms.jpg) no-repeat center center/cover
}

#privacy .p-contents__mv {
    background: url(/common/img/thumbnail/privacy.jpg) no-repeat center center/cover
}

#service .p-contents__mv {
    background: url(/common/img/thumbnail/service.jpg) no-repeat center center/cover
}

#company .p-contents__mv {
    background: url(/common/img/thumbnail/company.jpg) no-repeat center center/cover
}

#waveCanvas_bottom {
    z-index: 10;
    position: relative
}

.c-comp__dib {
    display: inline-block
}

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

    50% {
        transform: translateY(-5px)
    }

    100% {
        transform: translateY(0)
    }
}

.c-current_page {
    display: inline-block;
    background: #d0d0d0;
    padding: .5em 1.5em;
    border-radius: 100px;
    color: #fff;
    position: absolute;
    top: -18px;
    left: 10px;
    font-size: .8em;
    font-weight: bold;
    animation: float 1s ease-in-out infinite
}

.c-current_page:after {
    content: "";
    display: inline-block;
    position: absolute;
    left: 30px;
    bottom: -7px;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 7px solid rgba(0, 0, 0, 0);
    border-left: 7px solid rgba(0, 0, 0, 0);
    border-top: 10px solid #d0d0d0;
    border-bottom: 0
}

.c-current_page._non-float {
    animation: none;
    position: static;
    margin-top: 5px;
    background: #d0d0d0
}

.c-current_page._non-float:after {
    content: none;
    position: static
}

.l-header {
    position: fixed;
    z-index: 9999;
    width: 100%
}

@media screen and (max-width: 767px) {
    .l-header {
        width: 100%
    }
}

.l-header__logo {
    padding-left: 15px;
    width: clamp(130px, 3.5vw, 180px)
}

.l-header .l-header__wrap {
    display: flex;
    align-items: center;
    margin-left: 0px;
    justify-content: space-between;
    box-shadow: 0px 0px 15px -5px #777;
    font-weight: bold;
    width: 100%;
    background: #fff
}

.l-header .l-header__wrap li a {
    display: flex;
    align-items: center;
    gap: 8px
}

.l-header .l-header__wrap li a[target]:after {
    content: "";
    font-family: "icomoon"
}

.l-header .l-header__wrap li a:before {
    display: inline-block;
    content: "";
    font-family: "icomoon";
    font-size: .7em;
    color: #d0d0d0
}

.l-header .l-header__wrap__main {
    padding: 6px 0 6px 30px
}

@media screen and (min-width: 1200px) {
    .l-header .l-header__wrap__main {
        width: 70
    }
}

.l-header__nav {
    display: flex
}

.l-header__nav_wrap {
    display: flex;
    margin-right: 20px
}

@media(max-width: 1229px) {
    .l-header__nav_wrap {
        display: none;
        margin-right: 0
    }
}

.l-header__tel {
    color: #f33f3e;
    font-weight: bold;
    font-size: 2rem;
    line-height: .7;
    display: inline-block;
    text-align: center;
    width: 240px;
    padding: 10px 0
}

@media(min-width: 1104px) {
    .l-header__tel {
        pointer-events: none;
        font-size: 3.2rem
    }
}

.l-header__tel span {
    font-size: .9em
}

.l-header__tel:before {
    content: "";
    font-family: "icomoon";
    font-size: .8em
}

@media(max-width: 1103px) {
    .l-header__tel {
        width: 170px;
        color: #bf0000
    }

    .l-header__tel:before {
        margin-right: 0
    }

    .l-header__second {
        display: none
    }

    .l-header__mail {
        width: 60px !important;
        height: 60px !important;
        display: flex;
        gap: 8px
    }

    .l-header__mail .icon {
        font-size: 20px
    }

    .l-header__mail__txt {
        font-size: 10px
    }

    .l-header__mail__txt__do {
        display: none
    }

    .l-header__shindan:before {
        width: 25px;
        height: 20px
    }
}

.l-header__time {
    text-align: center;
    line-height: 1;
    display: inline-block;
    font-size: 1.1rem !important;
    color: #0a0a0a;
    display: inline-block;
    margin-top: 8px;
    font-weight: normal
}

@media(min-width: 1104px) {
    .l-header__time {
        font-size: 1.3rem !important
    }
}

.l-header__mail {
    background: gold;
    color: #0a0a0a;
    padding: 0 10px;
    text-align: center;
    vertical-align: middle;
    height: 100%;
    line-height: .8;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center
}

@media(max-width: 1103px) {
    .l-header__mail {
        height: 60px !important
    }
}

.l-header__mail._consulting {
    background: #ffe200;
    color: #000;
    border: 1px solid #ffe200
}

.l-header__mail._document {
    background: #9c9c9c
}

.l-header__mail .icon {
    font-size: 20px
}

.l-header__contact {
    align-items: center
}

@media screen and (max-width: 767px) {
    .l-header__btnwrap {
        align-items: center
    }
}

@media(min-width: 1104px) {
    .l-header__btnwrap {
        box-sizing: border-box;
        gap: 10px;
        align-items: center
    }

    .l-header__btnwrap .l-header__mail {
        flex-direction: row;
        border-radius: 100px;
        padding: 15px 30px;
        vertical-align: middle
    }

    .l-header__btnwrap .l-header__mail .icon {
        font-size: 15px;
        margin: 3px 5px 0 0
    }

    .l-header__btnwrap .l-header__mail__txt {
        font-size: 15px
    }

    .l-header__btnwrap__ttl {
        padding-left: 30px;
        position: relative
    }

    .l-header__btnwrap__ttl span {
        font-size: 1.4em;
        font-family: "Roboto"
    }

    .l-header__btnwrap__ttl::before {
        content: "";
        display: inline-block;
        background: url(../img/img_watch.png) no-repeat;
        background-size: contain;
        width: 25px;
        height: 25px;
        position: absolute;
        left: 0;
        top: 5px;
        transform: rotate(350deg)
    }
}

@media(max-width: 1103px) {
    .l-header_navbtn {
        background: #f33f3e;
        height: 60px;
        width: 60px;
        right: 3%;
        top: 14px;
        border: 0;
        display: flex;
        flex-flow: column;
        justify-content: center;
        gap: 9px;
        align-items: center;
        transition: .35s ease-in-out;
        padding: 10px 0;
        z-index: 3000
    }

    .l-header_navbtn span:first-of-type {
        border-top: #fff solid 3px;
        width: 30px
    }

    .l-header_navbtn span:nth-of-type(2) {
        border-top: #fff solid 3px;
        width: 30px
    }

    .l-header_navbtn span:nth-of-type(3) {
        border-top: #fff solid 3px;
        width: 30px
    }

    .l-header_navbtn.active span:first-of-type {
        transform: rotate(45deg) translateX(2px) translateY(2px);
        margin-top: 14px;
        margin-left: -2px
    }

    .l-header_navbtn.active span:nth-of-type(2) {
        transform: rotate(-45deg);
        transform: rotate(-45deg) translateY(-7px) translateX(5px)
    }

    .l-header_navbtn.active span:nth-of-type(3) {
        opacity: 0
    }

    .l-header .l-header__wrap__main {
        padding: 6px 0 6px 3%
    }

    .l-header__logo img {
        width: 30vw;
        max-width: 140px
    }

    .l-header__contact {
        align-items: center
    }
}

@media(min-width: 1104px) {
    .l-header__menu {
        background: #d0d0d0;
        position: relative
    }

    .l-header__menu__list>li {
        padding: 15px 0
    }

    .l-header__menu__wrapper {
        top: 68px;
        position: sticky;
        z-index: 90
    }

    .l-header__menu__list__item>a {
        display: block
    }

    .l-header__menu__list {
        display: flex;
        align-items: center
    }

    .l-header__menu__list>li {
        width: 25%
    }

    .l-header__menu__list>li:not(:last-child) {
        border-right: 2px solid #010101
    }

    .l-header__menu__list>li>a {
        text-align: center;
        font-weight: bold;
        padding: 10px
    }

    .l-header__menu__list__sub__wrapper {
        visibility: hidden;
        opacity: 0;
        background: #fff;
        position: absolute;
        width: 1200px;
        padding: 30px;
        border: 3px solid #d0d0d0;
        border-radius: 1rem;
        left: 50%;
        top: 74%;
        transform: translate(-50%, 20px);
        z-index: 10;
        transition: .3s all
    }

    .l-header__menu__list__sub__wrapper a:hover {
        color: #d0d0d0
    }

    .l-header__menu__list__sub__title {
        font-size: 2rem;
        font-weight: bold;
        margin-bottom: 10px;
        display: block
    }

    .l-header__menu__list__sub__title._arw {
        display: flex;
        align-items: center;
        line-height: 1;
        margin-bottom: 15px
    }

    .l-header__menu__list__sub__title._arw:before {
        content: "";
        font-family: "icomoon";
        display: inline-block;
        font-size: 24px;
        color: #d0d0d0;
        margin-right: 5px
    }

    .l-header__menu__list__sub {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 20px
    }

    .l-header__menu__list__sub li {
        width: calc((100% - 60px)/4)
    }

    .l-header__menu__list__sub li a {
        min-height: 70px;
        font-size: 15px;
        font-weight: 600
    }

    .l-header__menu__list__sub a {
        width: 100%;
        text-align: left !important;
        position: relative;
        border-bottom: 1px solid #0a0a0a;
        display: flex;
        align-items: center;
        padding-right: 2em
    }

    .l-header__menu__list__sub a:after {
        content: "";
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        font-family: "icomoon";
        display: inline-block;
        font-size: .8em
    }

    .l-header__menu__list__item:hover .l-header__menu__list__item__ttl {
        color: #d0d0d0
    }

    .l-header__menu__list__sub__spnone {
        display: none
    }

    .l-header__menu__list>li:hover .l-header__menu__list__sub__wrapper {
        visibility: visible;
        opacity: 1;
        transition: .3s all
    }
}

@media(max-width: 1103px) {
    .l-header__menu {
        position: fixed;
        left: -100%;
        background: #d0d0d0;
        width: 96%;
        height: 90%;
        padding: 20px 20px 80px;
        font-size: 1.5rem
    }

    .l-header__menu__list>li>a {
        font-weight: bold;
        display: block;
        padding-bottom: 5px;
        margin-bottom: 5px;
        border-bottom: 2px solid #0a0a0a
    }

    .l-header__menu__list>li+li {
        margin-top: 20px
    }

    .l-header__menu__list__sub__wrapper {
        display: none
    }

    .l-header__menu__list__item ._min {
        display: block;
        font-size: .8em;
        line-height: 1.5
    }

    .l-header__menu__list__sub li+li {
        margin-top: 4px
    }

    .l-header__menu__list__sub li a {
        display: block;
        position: relative;
        padding-left: 1em
    }

    .l-header__menu__list__sub li a:before {
        content: "";
        font-family: "icomoon";
        left: 0;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        font-size: .7em;
        margin-left: 0
    }

    .l-header__menu.active {
        top: 60px;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1;
        width: 100%;
        height: 100vh;
        z-index: 9999;
        overflow-y: scroll
    }

    .l-header__menu__list__item .is-acd {
        position: relative
    }

    .l-header__menu__list__item .is-acd:before,
    .l-header__menu__list__item .is-acd:after {
        margin: auto;
        top: 0;
        bottom: 0;
        position: absolute;
        content: "";
        display: block;
        border-top: 2px solid #010101;
        width: 1em;
        height: 0;
        right: .2em;
        transition-duration: .5s
    }

    .l-header__menu__list__item .is-acd:before {
        transform: rotate(90deg)
    }

    .l-header__menu__list__item .is-acd.active:before {
        transform: rotate(0deg)
    }

    .l-header__menu__list__item__ttl {
        font-size: 1.8rem;
        position: relative
    }

    .l-header__menu__list__item__ttl.arw:after {
        content: "";
        font-family: "icomoon";
        margin-left: 8px;
        position: absolute;
        right: 5px;
        font-size: .8em
    }

    .l-header__bnr__list {
        width: 90%;
        margin: 15px auto 0
    }

    .l-header__bnr__list__item {
        margin-top: 10px
    }
}

.l-breadcrumb__wrap {
    padding: 5px 0;
    margin-top: 1.5em
}

.l-breadcrumb__wrap .l-breadcrumb__list {
    display: flex;
    gap: 2em
}

.l-breadcrumb__wrap .l-breadcrumb__list .l-breadcrumb__list_item {
    font-size: 1.2rem;
    position: relative
}

.l-breadcrumb__wrap .l-breadcrumb__list .l-breadcrumb__list_item:not(:last-of-type)::after {
    position: absolute;
    top: 50%;
    right: -16px;
    display: block;
    width: 4px;
    height: 4px;
    color: inherit;
    border-top: solid 1px currentcolor;
    border-right: solid 1px currentcolor;
    transform: translateY(-50%) rotate(45deg);
    content: ""
}

.l-breadcrumb__wrap .l-breadcrumb__list a {
    color: #d0d0d0;
    text-decoration: underline
}

@media(max-width: 1103px) {
    .l-breadcrumb__wrap {
        overflow-x: scroll;
        white-space: nowrap
    }
}

@keyframes vibrate-onoff {
    0% {
        transform: translate(0)
    }

    1% {
        transform: translate(-2px, 2px)
    }

    2% {
        transform: translate(-2px, -2px)
    }

    3% {
        transform: translate(2px, 2px)
    }

    4% {
        transform: translate(2px, -2px)
    }

    5% {
        transform: translate(0)
    }

    6% {
        transform: translate(-2px, 2px)
    }

    7% {
        transform: translate(-2px, -2px)
    }

    8% {
        transform: translate(2px, 2px)
    }

    9% {
        transform: translate(2px, -2px)
    }

    10% {
        transform: translate(0)
    }

    11% {
        transform: translate(-2px, 2px)
    }

    12% {
        transform: translate(-2px, -2px)
    }

    13% {
        transform: translate(2px, 2px)
    }

    14% {
        transform: translate(2px, -2px)
    }

    15% {
        transform: translate(0)
    }

    16% {
        transform: translate(-2px, 2px)
    }

    17% {
        transform: translate(-2px, -2px)
    }

    18% {
        transform: translate(2px, 2px)
    }

    19% {
        transform: translate(2px, -2px)
    }

    20% {
        transform: translate(0)
    }

    21% {
        transform: translate(-2px, 2px)
    }

    22% {
        transform: translate(-2px, -2px)
    }

    23% {
        transform: translate(2px, 2px)
    }

    24% {
        transform: translate(2px, -2px)
    }

    25% {
        transform: translate(0)
    }

    26% {
        transform: translate(-2px, 2px)
    }

    27% {
        transform: translate(-2px, -2px)
    }

    28% {
        transform: translate(2px, 2px)
    }

    29% {
        transform: translate(2px, -2px)
    }

    30% {
        transform: translate(0)
    }

    31% {
        transform: translate(-2px, 2px)
    }

    32% {
        transform: translate(-2px, -2px)
    }

    33% {
        transform: translate(2px, 2px)
    }

    34% {
        transform: translate(2px, -2px)
    }

    35% {
        transform: translate(0)
    }

    36% {
        transform: translate(-2px, 2px)
    }

    37% {
        transform: translate(-2px, -2px)
    }

    38% {
        transform: translate(2px, 2px)
    }

    39% {
        transform: translate(2px, -2px)
    }

    40% {
        transform: translate(0)
    }

    41% {
        transform: translate(-2px, 2px)
    }

    42% {
        transform: translate(-2px, -2px)
    }

    43% {
        transform: translate(2px, 2px)
    }

    44% {
        transform: translate(2px, -2px)
    }

    45% {
        transform: translate(0)
    }

    46% {
        transform: translate(-2px, 2px)
    }

    47% {
        transform: translate(-2px, -2px)
    }

    48% {
        transform: translate(2px, 2px)
    }

    49% {
        transform: translate(2px, -2px)
    }

    50% {
        transform: translate(0)
    }

    100% {
        transform: translate(0)
    }
}

@media screen and (min-width: 768px) {
    .l-header__logo__inner .l-header__logo {
        width: 180px
    }

    .l-header__logo__inner {
        font-size: 15px;
        display: flex;
        gap: 15px;
        font-weight: normal;
        align-items: flex-end
    }

    .l-header__logo__inner p {
        line-height: 1.5;
        font-size: 14px;
        margin-bottom: 10px
    }
}

@media(max-width: 1314px) {
    .l-header__logo__inner p {
        display: none
    }
}

@media(max-width: 1437px) {
    .l-header__mail__txt__spnone {
        display: none
    }
}

.l-footer {
    padding-top: 2em;
    border-top: 2px solid #d0d0d0
}

.l-footer__baycross {
    display: flex;
    gap: 20px;
    align-items: center;
    justify-content: center;
    margin-bottom: 2em
}

.l-footer__logo {
    text-align: center;
    margin-bottom: 20px
}

.l-footer__nav {
    gap: 10px
}

.l-footer__bg {
    background: url(../img/img_bg_footer.jpg) no-repeat;
    background-size: cover;
    padding: 4.6em 0;
    position: relative
}

.l-footer__bg:after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    background: rgba(11, 58, 70, .5);
    width: 100%;
    height: 100%
}

.l-footer__bg__text {
    position: relative;
    z-index: 10;
    font-weight: bold;
    color: #fff;
    font-size: 3rem;
    text-align: center;
    margin-bottom: .6em
}

.l-footer__float {
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 5000;
    background: rgba(0, 0, 0, .6)
}

.l-footer__float .oflex__item {
    padding: 8px
}

.l-footer__float .oflex__item:nth-child(1) {
    padding: 8px;
    padding-right: 0px
}

.l-footer__mail {
    background: #d0d0d0;
    color: #fff;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 14px;
    text-align: center;
    gap: 10px;
    justify-content: center;
    position: relative;
    border-radius: 4px
}

.l-footer__mail:after {
    content: "";
    font-family: icomoon;
    font-size: 11px;
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%)
}

.l-footer__mail._document {
    background: #9c9c9c
}

@media screen and (max-width: 767px) {
    .l-footer__baycross {
        flex-direction: column
    }

    .l-footer__mail {
        font-size: 14px;
        padding: 4px;
        height: 100%
    }

    .l-footer .icon-document:before {
        font-size: 20px
    }
}

.l-footer__contents {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto auto;
    grid-auto-columns: 1fr;
    grid-auto-rows: auto;
    gap: 1.25em 1.25em;
    grid-auto-flow: row;
    grid-template-areas: "text1 text1 text1" "text2 text3 text6" "text4 text5 text6"
}

.l-footer__contents__wrapper {
    background: #d0d0d0;
    padding: 1.875em;
    color: #fff
}

.l-footer__contents__main {
    font-weight: bold;
    margin-bottom: .625em;
    display: inline-block
}

.l-footer__contents__list {
    font-size: 1.4rem;
    padding-left: 1em
}

.l-footer__contents__list li {
    text-indent: -1em;
    padding-left: 1em
}

.l-footer__contents__list li:before {
    content: "";
    font-family: "icomoon";
    font-size: .7em;
    margin-right: 8px
}

.l-footer__contents li+li {
    margin-top: 5px
}

.text1 {
    grid-area: text1
}

.text2 {
    grid-area: text2
}

.text3 {
    grid-area: text3
}

.text4 {
    grid-area: text4
}

.text5 {
    grid-area: text5
}

.text6 {
    grid-area: text6
}

@media screen and (max-width: 767px) {
    .l-footer__bg__text {
        font-size: 2rem
    }

    .l-footer__copy {
        text-align: center;
        margin-bottom: 15px
    }

    .l-footer__contents {
        display: block
    }

    .l-footer__contents__wrapper {
        padding: 20px 0
    }

    .l-footer__contents__main {
        margin-bottom: 0
    }

    .l-footer__contents div+div {
        margin-top: 15px
    }

    .text5 {
        margin-top: .625em
    }
}

.l-side__contents+.l-side__contents {
    margin-top: 2.5em
}

@media screen and (max-width: 767px) {
    .l-side {
        margin-top: 30px
    }
}

#side {
    background: #f9fafb;
    z-index: 99999;
    overflow-y: scroll
}

@media screen and (max-width: 767px) {
    #side {
        display: none
    }
}

#side .flex {
    display: flex;
    justify-content: center
}

#side .side__inner {
    width: 90%;
    margin: 0 auto
}

#side .side__ttl {
    text-align: center;
    background: #f9fafb;
    color: #fff;
    font-size: 1.2em;
    font-weight: bold;
    line-height: 1.4em;
    letter-spacing: 1px;
    padding: .75em 0
}

#side .side__txt {
    width: 100%;
    text-align: center;
    font-size: .875em;
    line-height: 1.4em;
    padding-bottom: .5em
}

#side .side__txt ul {
    background: #fff;
    margin: 1em;
    padding: 1em
}

#side .side__txt ul li {
    text-align: left;
    padding-bottom: .25em
}

#side .side__num {
    color: #bf0000;
    font-size: 1.75em
}

#side .side__txt__ttl {
    padding-bottom: 1em;
    font-size: 1.2em;
    font-weight: bold
}

#side .side-txt__marker {
    display: inline;
    background-image: linear-gradient(to right, #d0d0d0, #d0d0d0);
    background-repeat: no-repeat;
    background-size: 100% .5em;
    background-position: 0 90%
}

#side .side__tel {
    display: flex;
    justify-content: center;
    flex-flow: wrap;
    margin-top: .5em
}

#side .side__tel p {
    width: 100%;
    font-size: 15px;
    text-align: center;
    margin: 0 auto
}

#side .side__tel .tel {
    font-weight: bold;
    font-size: 2.5rem;
    line-height: .2em;
    display: inline-block;
    text-align: center;
    width: 254px;
    padding: 10px 0 0
}

@media(min-width: 1104px) {
    #side .side__tel .tel {
        pointer-events: none
    }
}

#side .side__tel .tel:before {
    content: "";
    font-family: "icomoon";
    font-size: .8em;
    margin-right: 8px
}

#side .side__tel .time {
    text-align: center;
    line-height: 3em;
    display: inline-block;
    font-size: 1.2rem;
    color: #0a0a0a;
    font-weight: normal
}

#side #side_form {
    padding: 0 .5em
}

#side #side_form .c-form__label {
    display: block
}

#side #side_form .c-form__label__txt-label {
    font-size: 13px
}

#side #side_form .c-form__label__txt-label.sindan {
    background: #fff;
    color: #9c9c9c;
    border: 2px solid #9c9c9c;
    display: inline-block;
    margin: .3em auto .2em;
    padding: .2em 2em;
    position: relative;
    border-radius: 6px;
    font-weight: bold
}

#side #side_form .c-form__label__txt-label.sindan::before {
    content: "";
    position: absolute;
    bottom: -8px;
    right: 22px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 8px 0 7px;
    border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0);
    z-index: 1
}

#side #side_form .c-form__label__txt-label.sindan::after {
    content: "";
    position: absolute;
    bottom: -10px;
    right: 20px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #9c9c9c rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

#side #side_form .c-form__input-group-table .c-form__label .c-form__label-group,
#side #side_form .c-form__input-group-table-alignstart .c-form__label .c-form__label-group {
    width: 100%
}

#side #side_form .c-form__content__input {
    font-size: 13px
}

#side #side_form .c-form__content {
    width: 100%
}

#side #side_form .c-form__content p {
    font-size: .675em
}

#side #side_form .c-form__label-group.c-txt__tc span {
    font-size: 15px;
    font-weight: bold
}

#side #side_form .form_mainform_check_txt {
    font-size: 14px;
    width: auto
}

#side #side_form .c-form__content__check-txt {
    font-size: 14px;
    width: auto
}

#side #side_form .c-txt__link {
    display: inline-block;
    color: #9c9c9c;
    font-size: 15px;
    font-weight: bold
}

#side #side_form .form_mainform_check_lst {
    justify-content: center
}

#side #side_form .c-form__content__check-label {
    justify-content: center
}

#side #side_form .c-form__content__check-dammy {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 1em;
    height: 1em;
    background: #fff;
    border: solid 1px #9c9c9c;
    flex-shrink: 0
}

#side #side_form .c-form__content__check:checked+.c-form__content__check-dammy::before {
    width: .5em;
    height: 1em
}

#side #side_form .c-form__input-group {
    padding: .2em 0
}

#side #side_form .c-form__input-group-border {
    border: none
}

#side #side_form .c-form__content label {
    font-size: 14px
}

#side #side_form label+label {
    margin-left: 1em
}

#side #side_form .store__status {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-right: .5em
}

#side #side_form .store__status .c-form__label-group {
    width: 60% !important
}

#side #side_form .store__status .c-form__content {
    display: flex;
    line-height: 1.5em
}

#side .c-btn__block {
    width: 94%;
    margin: 0 auto;
    padding: .3em 1.875em
}

#side .arw::after {
    font-size: 12px
}

#urlInputGroup2 {
    display: none;
    margin-top: -0.5em
}

.p-index__strong__ttl span.c-txt__bg {
    padding: 0 .3em !important
}

@media screen and (min-width: 768px) {
    .p-top__mv_slider {
        height: 600px
    }
}

@media screen and (max-width: 767px) {
    .p-top__mv_slider .p-top__mv_slide_item {
        aspect-ratio: 1/1;
        width: 10vw;
        height: auto
    }
}

.p-content__box {
    border: 5px solid #d0d0d0;
    border-radius: 12px;
    padding: 40px;
    background: #fff;
    box-shadow: 2px 2px 16px -5px rgba(0, 0, 0, .2)
}

.p-content__box+.p-content__box {
    margin-top: 1.875em
}

.p-content__box__s {
    border: 5px solid #d0d0d0;
    box-shadow: 2px 2px 16px -5px rgba(0, 0, 0, .2);
    border-radius: 8px;
    padding: 20px;
    font-weight: bold;
    margin-top: 1.875em;
    background: #fff
}

.p-content__box__icon {
    font-size: 18px;
    color: #f33f3e;
    margin-bottom: 5px
}

@media screen and (max-width: 767px) {
    .p-content__box {
        border: 2px solid #d0d0d0
    }

    .p-content__box__s {
        border: 2px solid #d0d0d0;
        width: 100%;
        padding: 20px
    }

    .p-content__box__s:first-child {
        margin-top: 4%
    }

    .p-content__box__icon {
        font-size: 15px;
        margin-bottom: 0
    }
}

.p-contents__icon {
    position: absolute;
    top: -80px;
    left: 50%;
    transform: translateX(-50%)
}

.p-contents__icon img {
    position: relative;
    z-index: 1;
    margin-left: -10px
}

.p-contents__icon::after {
    content: "";
    background: #f33f3e;
    position: absolute;
    top: -30px;
    left: 50%;
    transform: translateX(-50%);
    width: 252px;
    height: 252px;
    border-radius: 100%
}

.p-contents__icon.operation::after {
    background: #f9fafb
}

.p-contents__tmb {
    border-radius: 16px;
    -o-object-fit: cover;
    object-fit: cover;
    width: 460px;
    height: 220px
}

@media screen and (max-width: 767px) {
    .p-contents__tmb {
        border-radius: 8px;
        width: 100%;
        height: 150px
    }
}

.p-contents__operation {
    background: #f9fafb;
    position: relative;
    padding-bottom: 10em
}

.p-contents__cost {
    background: #f33f3e;
    position: relative
}

.p-contents__baycross {
    box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, .2);
    border-radius: 16px;
    margin-top: 4em;
    border-radius: 20px
}

.p-contents__baycross p+p {
    margin-top: 10px
}

.p-contents__baycross__img {
    background: url(https://placehold.jp/750x750.png) no-repeat;
    width: 100%;
    height: 400px;
    background-size: cover;
    background-position: center center
}

@media screen and (max-width: 767px) {
    .p-content__box {
        padding: 20px
    }

    .p-contents__icon {
        position: absolute;
        top: -70px;
        left: 50%;
        transform: translateX(-50%)
    }

    .p-contents__icon img {
        position: relative;
        z-index: 1;
        margin-left: -10px;
        width: 100px
    }

    .p-contents__icon::after {
        content: "";
        background: #f33f3e;
        position: absolute;
        top: -10px;
        left: 50%;
        transform: translateX(-50%);
        width: 152px;
        height: 152px;
        border-radius: 100%
    }

    .p-contents__icon.operation::after {
        background: #f9fafb
    }

    .p-contents__baycross__img {
        height: 200px;
        background-size: cover;
        background-position: center center
    }
}

.p-top-follow {
    position: fixed !important;
    bottom: 1em;
    right: 1em;
    width: 360px;
    opacity: 0;
    transition: .6s;
    z-index: 999
}

.p-top-follow.active {
    opacity: 1;
    transition: .6s
}

@media screen and (max-width: 767px) {
    .p-top-follow {
        display: none
    }
}

.circle_box {
    position: relative
}

.circle_box a {
    display: inline-block
}

.circle_box .circle {
    position: absolute;
    top: -3px;
    left: -2px;
    width: 197px;
    height: 197px;
    z-index: -1;
    margin: auto;
    animation: rotate 25s linear infinite
}

.circle_box .circle .circleText {
    overflow: visible
}

.circle_box .circle .circleText__circle {
    fill: none
}

.circle_box .circle .circleText__text {
    fill: #d0d0d0;
    font-size: 13px;
    letter-spacing: .04em
}

@keyframes rotate {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

@media screen and (max-width: 767px) {
    .circle_box {
        display: none
    }
}

.p-top-lead {
    position: relative;
    padding-bottom: 0
}

.p-top-lead__ttl {
    font-size: 3.6rem;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 20px
}

.p-top-lead__ttl span {
    font-size: 1.2em
}

.p-top-lead__list {
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 15px;
    flex-flow: wrap;
    width: 960px;
    margin: 40px auto 0
}

.p-top-lead__list li {
    width: 310px;
    background: #fff;
    border: 2px solid #d0d0d0;
    padding: 10px 10px 10px 20px;
    border-radius: 15px;
    display: flex;
    flex-direction: column-reverse;
    justify-content: flex-end;
    align-items: stretch;
    text-align: center;
    gap: 10px;
    align-items: center
}

.p-top-lead__list li img {
    width: 65px
}

.p-top-lead__list li p {
    font-size: 20px;
    line-height: 1.4em
}

.p-top-lead .c-hdg__ttl01 {
    margin-top: 20px;
    margin-bottom: 0;
    padding-bottom: 0
}

@media screen and (min-width: 768px) {
    .p-top-lead .c-hdg__ttl01 {
        margin-top: 120px
    }
}

@media screen and (max-width: 767px) {
    .p-top-lead .c-hdg__ttl01 {
        margin-top: 60px
    }
}

@media screen and (max-width: 767px) {
    .p-top-lead__ttl {
        font-size: 2.2rem;
        margin-bottom: 20px
    }

    .p-top-lead__ttl span {
        font-size: 2.2rem
    }

    .p-top-lead__img {
        width: 90%;
        display: block;
        margin: 0 auto
    }

    .p-top-lead__list {
        gap: 10px;
        margin-top: 20px;
        width: 100%
    }

    .p-top-lead__list li {
        width: 48%;
        text-align: center;
        padding: 10px
    }

    .p-top-lead__list li img {
        width: 45%;
        order: 2;
        margin: 0 auto
    }

    .p-top-lead__list li p {
        width: 100%;
        font-size: 15px;
        order: 1;
        margin: 0 auto
    }
}

.p-top-value {
    padding-top: 20px;
    background: #f3f4f5;
    position: relative;
    z-index: 1;
    overflow: hidden;
    padding-bottom: 0
}

@media screen and (max-width: 767px) {
    .p-top-value {
        padding-top: 0
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value {
        padding-top: 0
    }
}

.p-top-value .c-lyt__inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    .p-top-value .c-lyt__inner {
        width: 100%
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value .c-lyt__inner {
        width: 100%
    }
}

.p-top-value__ttl {
    font-size: 4.6rem;
    text-align: center;
    line-height: 1.5em;
    margin: 60px auto 100px;
    font-weight: bold
}

@media screen and (max-width: 767px) {
    .p-top-value__ttl {
        font-size: 2.6rem;
        margin: 20px auto 60px
    }

    .p-top-value__ttl img {
        width: 55%
    }
}

.p-top-value__ttl .c-txt__l {
    font-size: 1.5em
}

@media screen and (max-width: 767px) {
    .p-top-value__ttl .c-txt__l {
        line-height: 1.2em;
        font-size: 1.8em
    }
}

.p-top-value__content {
    position: relative;
    margin-bottom: 60px;
    background: #fff;
    padding: 60px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .05)
}

.p-top-value__content::before {
    content: "1";
    display: inline-block;
    color: #bf0000;
    font-family: "Roboto";
    font-size: 80px;
    font-weight: 600;
    position: absolute;
    top: 6%;
    left: 60px;
    z-index: 1;
    letter-spacing: -0.03em
}

@media screen and (max-width: 767px) {
    .p-top-value__content::before {
        font-size: 50px;
        left: .4em;
        top: 0
    }
}

@media screen and (max-width: 767px) {
    .p-top-value__content {
        padding: 20% 20px 25px;
        margin-bottom: 25px
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value__content {
        gap: 2em
    }
}

.p-top-value__content .c-txt__l {
    font-weight: bold;
    color: #bf0000
}

.p-top-value__content__hdg {
    font-size: 36px;
    text-align: left;
    line-height: 1.4em;
    margin-bottom: 30px;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-top-value__content__hdg {
        margin-left: 1.8em
    }
}

@media screen and (max-width: 767px) {
    .p-top-value__content__hdg {
        font-size: 22px
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value__content__hdg {
        font-size: 24px
    }
}

.p-top-value__content__detail {
    position: relative;
    width: 100%;
    margin: 0 auto;
    gap: 40px
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail {
        width: 100%;
        flex-flow: wrap;
        gap: 10px
    }
}

.p-top-value__content__detail__img {
    position: absolute;
    width: 200px;
    text-align: center;
    bottom: -30%;
    right: -2%
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail__img {
        width: 27%;
        right: -6%;
        bottom: 103%
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value__content__detail__img {
        width: 40%
    }
}

.p-top-value__content__detail__txt {
    width: 500px;
    font-size: 20px;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-top-value__content__detail__txt {
        padding-left: 65px
    }
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail__txt {
        width: 100%;
        order: 1;
        font-size: 16px
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value__content__detail__txt {
        width: 60%;
        font-size: 17px
    }
}

.p-top-value__content__detail__txt ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    margin-top: 15px
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail__txt ul {
        margin-bottom: 25px
    }
}

.p-top-value__content__detail__txt ul li {
    background: #d0d0d0;
    color: #fff;
    padding: 3px 15px;
    text-align: center;
    border-radius: 50px;
    font-size: 14px
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail__txt ul li {
        padding: 5px 15px;
        border-radius: 10px;
        font-size: 12px;
        line-height: 1.3em;
        width: 33%
    }
}

.p-top-value__content__detail02 {
    width: 100%;
    margin: 0 auto;
    gap: 40px
}

@media screen and (min-width: 768px) {
    .p-top-value__content__detail02 {
        padding-left: 65px
    }
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail02 {
        width: 100%;
        flex-flow: wrap;
        gap: 10px
    }
}

.p-top-value__content__detail02__img {
    width: 200px;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail02__img {
        width: 100%;
        order: 2
    }

    .p-top-value__content__detail02__img img {
        width: 70%
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value__content__detail02__img {
        width: 40%
    }
}

.p-top-value__content__detail02__txt {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    font-size: 24px;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail02__txt {
        width: 100%;
        order: 1;
        font-size: 16px;
        margin-bottom: 0px
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value__content__detail02__txt {
        width: 60%;
        font-size: 17px
    }
}

.p-top-value__content__detail02__txt li {
    margin-bottom: 20px;
    width: calc((100% - 40px)/2);
    background: #fff3e8;
    border: solid 2px #f87024;
    padding: 3px 15px;
    text-align: center;
    border-radius: 5px;
    font-size: 24px
}

@media screen and (max-width: 767px) {

    .p-top-value__content__detail02__txt li:nth-child(3),
    .p-top-value__content__detail02__txt li:nth-child(4) {
        margin-bottom: 0
    }
}

@media screen and (max-width: 767px) {
    .p-top-value__content__detail02__txt li {
        padding: 5px 5px;
        border-radius: 10px;
        font-size: 14px;
        line-height: 1.3em;
        width: calc((100% - 10px)/2)
    }
}

.p-top-value__content .is-move02 {
    opacity: 0
}

.p-top-value .cnt02 .p-top-value__content__detail__img {
    width: 18%;
    right: 10%;
    top: 5%
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt02 .p-top-value__content__detail__img {
        width: 22%;
        right: -4%;
        top: -71%
    }
}

.p-top-value .cnt02::before {
    content: "2";
    display: inline-block
}

.p-top-value .cnt03::before {
    content: "3";
    display: inline-block
}

.p-top-value .cnt03::after {
    top: -70px;
    height: 520px;
    transform: skewY(3deg)
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt03::after {
        top: -40px;
        height: 460px
    }
}

.p-top-value .cnt03 .p-top-value__content__detail__img {
    width: 260px;
    bottom: -10%
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt03 .p-top-value__content__detail__img {
        width: 37%;
        right: -5%;
        bottom: 0;
        top: -140%
    }
}

.p-top-value .cnt04 {
    justify-content: flex-start
}

.p-top-value .cnt04::before {
    content: "4";
    display: inline-block
}

.p-top-value .cnt04 .p-top-value__content__detail__img {
    width: 210px;
    right: 1%;
    bottom: -15%
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt04 .p-top-value__content__detail__img {
        width: 29%;
        right: -6%;
        bottom: 0;
        top: -140%
    }
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt05::before {
        bottom: 25%
    }
}

@media screen and (min-width: 768px) {
    .p-top-value .cnt05::after {
        height: 400px;
        top: -30px
    }
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt05::after {
        height: 450px;
        top: -5rem
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value .cnt05::after {
        height: 40vw;
        top: -2em
    }
}

.p-top-value .cnt05::before {
    content: "5";
    display: inline-block
}

.p-top-value .cnt05 .p-top-value__content__detail__img {
    bottom: -5%;
    width: 180px
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt05 .p-top-value__content__detail__img {
        width: 27%;
        right: -8%;
        bottom: 0;
        top: -127%
    }
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt06::before {
        bottom: 25%
    }
}

@media screen and (min-width: 768px) {
    .p-top-value .cnt06::after {
        height: 400px;
        top: -30px
    }
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt06::after {
        height: 450px;
        top: -5rem
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value .cnt06::after {
        height: 40vw;
        top: -2em
    }
}

.p-top-value .cnt06::before {
    content: "6";
    display: inline-block
}

.p-top-value .cnt06 .p-top-value__content__detail__img {
    width: 220px
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt06 .p-top-value__content__detail__img {
        width: 31%;
        right: -2%;
        bottom: 157%
    }
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt07::before {
        bottom: 25%
    }
}

@media screen and (min-width: 768px) {
    .p-top-value .cnt07::after {
        height: 400px;
        top: -30px
    }
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt07::after {
        height: 450px;
        top: -5rem
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-value .cnt07::after {
        height: 40vw;
        top: -2em
    }
}

.p-top-value .cnt07::before {
    content: "7";
    display: inline-block
}

.p-top-value .cnt07 .p-top-value__content__detail__img {
    width: 290px
}

@media screen and (max-width: 767px) {
    .p-top-value .cnt07 .p-top-value__content__detail__img {
        width: 35%;
        right: -2%;
        bottom: 0;
        top: -138%
    }
}

.wave {
    position: relative;
    height: 100px;
    background: #fff
}

#waveCanvas {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-top-support {
    padding: 60px 0;
    background: #fff8e8
}

@media screen and (max-width: 767px) {
    .p-top-support {
        padding: 45px 0
    }
}

.p-top-support h2 {
    margin-bottom: .5em
}

.p-top-support h3 {
    margin-bottom: 1.5em;
    color: #000;
    font-size: 24px
}

.p-top-support h3 span {
    font-size: 32px
}

@media screen and (max-width: 767px) {
    .p-top-support h3 {
        font-size: 14px
    }

    .p-top-support h3 span {
        font-size: 22px
    }
}

.p-top-support__ttl {
    text-align: center;
    margin-bottom: 1em;
    position: relative;
    animation-delay: .5s
}

.p-top-support__ttl__box {
    position: relative;
    display: inline-block
}

.p-top-support__ttl__box::before,
.p-top-support__ttl__box::after {
    content: "";
    position: absolute;
    bottom: 1em;
    width: 75px;
    height: 1px;
    background-color: rgba(0, 0, 0, 0)
}

@media screen and (max-width: 767px) {

    .p-top-support__ttl__box::before,
    .p-top-support__ttl__box::after {
        width: 50px
    }
}

.p-top-support__ttl__box::before {
    left: -1.8em;
    transform: rotate(60deg);
    border-top: 5px solid #010101
}

@media screen and (max-width: 767px) {
    .p-top-support__ttl__box::before {
        left: -1em
    }
}

.p-top-support__ttl__box::after {
    right: -1.8em;
    transform: rotate(-60deg);
    border-top: 5px solid #010101
}

@media screen and (max-width: 767px) {
    .p-top-support__ttl__box::after {
        right: -1em
    }
}

.p-top-support__ttl__box .c-txt__l {
    font-size: 1.6em;
    line-height: 1.2em
}

.p-top-support .scroll {
    overflow: auto;
    white-space: nowrap;
    -ms-overflow-style: none;
    scrollbar-width: none
}

.p-top-support .scroll-hint-icon {
    padding: 20px 10px 10px 10px !important
}

.p-top-support__content {
    margin: 0 auto;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-top-support__content {
        width: 800px
    }
}

.p-top-support__txt {
    text-align: center;
    font-size: 1em;
    line-break: strict
}

.p-top-support__txt02 {
    text-align: center;
    font-weight: bold;
    margin: 10px auto 25px;
    padding-left: 10px;
    font-size: 1.2em;
    line-break: strict
}

.p-top-cost {
    background: #d0d0d0;
    padding: 60px 0 45px;
    position: relative;
    overflow: hidden;
    z-index: 0
}

@media screen and (max-width: 767px) {
    .p-top-cost {
        padding: 30px 0
    }
}

.p-top-cost__inner {
    z-index: 1;
    position: relative
}

.p-top-cost:after {
    background: url(../img/bg_cost.png) no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.p-top-cost__ttl {
    color: #fff;
    text-align: center;
    margin-bottom: 15px
}

.p-top-cost__txt {
    text-align: center;
    font-size: 2.5rem;
    margin: 2rem auto 1rem
}

@media screen and (max-width: 767px) {
    .p-top-cost__txt {
        font-size: 2rem;
        line-height: 1.4em;
        margin: 1.6rem auto 1rem
    }
}

.p-top-cost__txt span {
    color: #d0d0d0
}

.p-top-cost__txtS {
    text-align: center;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.4em;
    margin: 1.2rem auto 0
}

@media screen and (max-width: 767px) {
    .p-top-cost__txtS {
        font-size: 1em
    }
}

.p-top-cost__illust {
    position: absolute;
    width: 250px;
    bottom: -50px;
    right: -55px;
    animation-delay: 1s;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-top-cost__illust {
        width: 110px;
        bottom: -70px;
        right: -15px
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-cost__illust {
        width: 130px
    }
}

.p-top-cost__img {
    text-align: center;
    bottom: -70px;
    animation-delay: .5s
}

.p-top-online {
    margin: 60px 0 0
}

@media screen and (max-width: 767px) {
    .p-top-online {
        margin: 25px 0 0
    }
}

@media screen and (min-width: 768px) {
    .p-top-online .c-lyt__inner {
        width: 1000px
    }
}

.p-top-online__content {
    padding: 25px 60px 30px;
    background: #d0d0d0;
    border-radius: 15px;
    position: relative;
    z-index: 9999;
    font-size: 1.4em
}

@media screen and (max-width: 767px) {
    .p-top-online__content {
        font-size: 1em;
        padding: 25px
    }
}

.p-top-online__content__ttl {
    color: #fff;
    font-size: 1.6em;
    font-weight: bold;
    line-height: 1.4em
}

.p-top-online__content__ttl span.ttl_s {
    font-size: .7em;
    background: #fff;
    color: #d0d0d0;
    display: inline-block;
    padding: 0 20px;
    margin-bottom: .5em
}

@media screen and (max-width: 767px) {
    .p-top-online__content__ttl span.ttl_s {
        line-height: 1.4em;
        margin-bottom: 5px
    }
}

.p-top-online__content__ttl span.col_yl {
    color: #d0d0d0
}

.p-top-online__content__img {
    width: 240px;
    position: absolute;
    right: 0;
    bottom: -25%
}

@media screen and (max-width: 767px) {
    .p-top-online__content__img {
        width: 120px;
        top: 8%;
        right: -4%;
        bottom: auto
    }
}

.p-top-flow {
    width: 100%;
    padding: 60px 0 80px
}

@media screen and (max-width: 767px) {
    .p-top-flow {
        padding: 25px 0
    }
}

.p-top-flow__ttl {
    text-align: center;
    margin-bottom: 1em;
    position: relative;
    animation-delay: .5s
}

.p-top-flow__img {
    margin: 40px auto 25px
}

@media screen and (max-width: 767px) {
    .p-top-flow__img {
        margin: 25px auto;
        width: 800px
    }
}

.p-top-diagnosis {
    width: 100%;
    background: #fff2de;
    padding: 60px 0 80px;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis {
        padding: 40px 0
    }
}

.p-top-diagnosis::before {
    content: "";
    display: block;
    background: url(../img/bg_mv.png) no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1
}

.p-top-diagnosis .c-lyt__inner {
    position: relative
}

.p-top-diagnosis .c-lyt__inner .p-top-diagnosis__img {
    position: absolute;
    top: 20px;
    left: -120px;
    width: 350px
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis .c-lyt__inner .p-top-diagnosis__img {
        z-index: -1;
        width: 170px;
        top: -20px;
        right: -5px;
        left: auto
    }
}

.p-top-diagnosis__ttl {
    font-size: 3.4em;
    font-weight: bold;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__ttl {
        font-size: 2em
    }
}

.p-top-diagnosis__ttl span {
    display: inline-block;
    padding: 0px 20px;
    border: 2px solid #f39c12;
    border-radius: 5px;
    background-color: #fff;
    color: #f39c12;
    font-weight: bold;
    margin-right: 10px;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__ttl span {
        padding: 0px 15px;
        margin-right: 7px
    }
}

.p-top-diagnosis__ttl span::before {
    content: "無料";
    position: absolute;
    left: -2.2em;
    top: -1.2em;
    background-color: #f39c12;
    color: #fff;
    border-radius: 50%;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: bold
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__ttl span::before {
        font-size: 16px;
        width: 50px;
        height: 50px
    }
}

.p-top-diagnosis__txt {
    font-size: 1.6em;
    font-weight: bold;
    text-align: center;
    margin: 20px auto
}

.p-top-diagnosis__box {
    width: 850px;
    background: #fff;
    margin: 0 auto;
    padding: 20px;
    background: #fff;
    background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px), linear-gradient(0deg, rgba(0, 0, 0, 0.05) 1px, transparent 1px);
    background-size: 10px 10px;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__box {
        width: 100%
    }
}

.p-top-diagnosis__box::before {
    position: absolute;
    top: -5px;
    left: -5px;
    content: "";
    border-top: 10px solid #f39c12;
    border-left: 10px solid #f39c12;
    width: 35px;
    height: 35px
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__box::before {
        border-top: 5px solid #f39c12;
        border-left: 5px solid #f39c12;
        width: 15px;
        height: 15px
    }
}

.p-top-diagnosis__box::after {
    position: absolute;
    bottom: -5px;
    right: -5px;
    content: "";
    border-top: 10px solid #f39c12;
    border-left: 10px solid #f39c12;
    width: 35px;
    height: 35px;
    transform: rotate(180deg)
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__box::after {
        border-top: 5px solid #f39c12;
        border-left: 5px solid #f39c12;
        width: 15px;
        height: 15px
    }
}

.p-top-diagnosis__box__ttl {
    text-align: center;
    background: #f39c12;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 15px
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__box__ttl {
        font-size: 17px
    }
}

.p-top-diagnosis__box ul {
    width: 600px;
    margin: 0 auto
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__box ul {
        width: 100%
    }
}

.p-top-diagnosis__box ul li {
    position: relative;
    padding-left: 35px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.8em
}

@media screen and (max-width: 767px) {
    .p-top-diagnosis__box ul li {
        font-size: 18px;
        line-height: 1.5em
    }

    .p-top-diagnosis__box ul li:not(:last-child) {
        margin-bottom: 10px
    }
}

.p-top-diagnosis__box ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 25px;
    height: 25px;
    background-color: #fff;
    border: 2px solid #463e3e;
    box-sizing: border-box
}

.p-top-diagnosis__box ul li::after {
    content: "";
    position: absolute;
    left: 4px;
    top: 32%;
    transform: translateY(-50%);
    width: 16px;
    height: 10px;
    border-left: 4px solid #bf0000;
    border-bottom: 4px solid #bf0000;
    transform: rotate(-45deg) translateY(2px)
}

.p-top-diagnosis__btn {
    margin: 25px auto 0;
    text-align: center
}

.p-top-diagnosis__btn .c-btn,
.p-top-diagnosis__btn .c-btn__block {
    position: relative;
    padding: .625em 3em;
    z-index: 3
}

.p-top-diagnosis__btn .c-btn::after,
.p-top-diagnosis__btn .c-btn__block::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1.5em;
    transform: translateY(-50%) rotate(135deg);
    width: 10px;
    height: 10px;
    border-top: 2px solid #010101;
    border-right: 2px solid #010101
}

.p-top-contact {
    padding: 60px 0;
    background: linear-gradient(to right, #d0d0d0 0%, #ffc900 100%);
    position: relative
}

@media screen and (max-width: 767px) {
    .p-top-contact {
        padding: 45px 0
    }
}

.p-top-contact::before {
    content: "";
    display: block;
    background: url(../img/bg_cnt05.png) no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.p-top-contact__wrap {
    width: 760px;
    background: #fff;
    margin: 0 auto;
    text-align: center;
    padding: 15px 0 25px;
    border: 5px solid #d0d0d0;
    border-radius: 15px;
    box-shadow: 3px 3px 5px rgba(0, 0, 0, .2)
}

@media screen and (max-width: 767px) {
    .p-top-contact__wrap {
        width: 95%
    }
}

@media screen and (min-width: 768px)and (max-width: -1px) {
    .p-top-contact__wrap {
        width: 95%
    }
}

.p-top-contact__wrap__ttl {
    background: #d0d0d0;
    color: #fff;
    font-size: 2.6rem !important;
    padding: .3rem;
    font-weight: bold
}

@media screen and (max-width: 767px) {
    .p-top-contact__wrap__ttl {
        font-size: 2.2rem !important
    }
}

.p-top-contact__wrap p {
    margin-top: 1rem;
    font-size: 2rem;
    font-weight: 500
}

@media screen and (max-width: 767px) {
    .p-top-contact__wrap p {
        margin-top: 1rem;
        font-size: 1.7rem
    }
}

.p-top-contact__wrap__btn {
    display: flex;
    justify-content: center;
    gap: 20px;
    flex-flow: wrap
}

@media screen and (max-width: 767px) {
    .p-top-contact__wrap__btn {
        gap: 0px
    }
}

.p-top-achievements {
    background: linear-gradient(#fff8e8 0%, #fff 20%, #fff 70%, #fff8e8 100%);
    padding-bottom: 0;
    padding-top: 100px
}

.p-top-achievements._02 {
    padding: calc(var(--layout-gutter-section) + 30px) 0 100px
}

.p-top-achievements__ttl {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    margin-bottom: 30px
}

.p-top-achievements__ttl:before {
    content: "";
    background: url(../img/img_laurel.svg) no-repeat;
    background-size: cover;
    width: 57px;
    height: 113px;
    display: inline-block;
    margin-right: 1em
}

.p-top-achievements__ttl:after {
    content: "";
    background: url(../img/img_laurel.svg) no-repeat;
    background-size: cover;
    width: 57px;
    height: 113px;
    display: inline-block;
    transform: scale(-1, 1);
    margin-left: 1em
}

.p-top-achievements__ttl span {
    color: #d0d0d0
}

.p-top-achievements__ttl__num {
    font-size: 2.3em;
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif
}

.p-top-achievements__box {
    border-radius: 16px;
    background: #fff;
    border: 2px solid #d0d0d0
}

.p-top-achievements__box__name {
    background: #d0d0d0;
    text-align: center;
    font-size: 1.5em;
    padding: .5em;
    border-radius: 16px 16px 0 0
}

.p-top-achievements__box__ttl {
    font-size: 2.4rem;
    font-weight: bold
}

.p-top-achievements__box__ttl span {
    color: #d0d0d0;
    font-size: 1.2em
}

.p-top-achievements__box__inner {
    padding: 1.25em
}

@media screen and (max-width: 767px) {
    .p-top-achievements {
        padding-top: 10rem
    }

    .p-top-achievements._02 {
        padding-top: 8rem;
        padding-bottom: 8rem
    }

    .p-top-achievements__ttl {
        font-size: 2.5rem;
        line-height: 1.3;
        margin-bottom: 20px
    }

    .p-top-achievements__ttl:after,
    .p-top-achievements__ttl:before {
        width: 47px;
        height: 93px
    }

    .p-top-achievements__img {
        max-width: 200px;
        margin: 10px auto
    }

    .p-top-achievements__box__name {
        border-radius: 8px 8px 0 0
    }

    .p-top-achievements__box {
        border-radius: 8px
    }

    .p-top-achievements__box__ttl {
        font-size: 2rem
    }
}

.p-top-assignment {
    background: #f5f5f5;
    padding-top: 200px;
    padding-bottom: 100px
}

.p-top-assignment._02 {
    padding-top: 40px
}

.p-top-assignment__ttl {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px
}

.p-top-assignment__ttl span {
    font-size: 1.75em
}

.p-top-assignment__ttl__wrapper {
    position: relative
}

.p-top-assignment__txt {
    text-align: center;
    margin-bottom: 50px
}

.p-top-assignment__box {
    background: #fff;
    border: 4px solid #d0d0d0;
    border-radius: 1rem;
    max-width: 1000px;
    margin: 0 auto
}

.p-top-assignment__box__inner {
    padding: 30px
}

.p-top-assignment__box__ttl {
    font-weight: bold;
    font-size: 1.9em;
    color: #6c6c6c;
    background: #d0d0d0;
    padding: 10px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    position: relative
}

.p-top-assignment__box__ttl span {
    font-size: 1.8rem;
    background: #fff;
    padding: 10px 20px;
    border-radius: 100px
}

.p-top-assignment__box__s__ttl {
    text-align: center
}

.p-top-assignment__box__s__txt {
    text-align: center;
    margin-bottom: 20px
}

.p-top-assignment__box__s__img {
    max-width: 280px;
    display: block;
    margin: 0 auto
}

.p-top-assignment__box.success {
    border: 4px solid #d0d0d0
}

.p-top-assignment__box.success .p-top-assignment__box__ttl {
    color: #010101;
    background: #d0d0d0
}

.p-top-assignment__box__success__txt {
    font-size: 3rem;
    font-weight: bold;
    text-align: center
}

.p-top-assignment__box__success__txt__sub {
    font-size: 2rem;
    font-weight: bold;
    color: #9c9c9c;
    text-align: center
}

.p-top-assignment__box__closing {
    background: #d0d0d0;
    border-radius: 10px;
    margin-top: 80px
}

.p-top-assignment__box__closing__txt {
    font-size: 2.2rem;
    text-align: center;
    font-weight: bold;
    color: #fff
}

.p-top-assignment__box__closing__txt__strong {
    color: #d0d0d0;
    font-size: 1.4em
}

.p-top-assignment__box__closing__img {
    margin: -30px
}

.p-top-assignment__box__baloon {
    background: #6c6c6c;
    width: 150px;
    height: 150px;
    font-size: 1.8rem;
    color: #fff;
    border-radius: 100px;
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    bottom: 0;
    left: 0
}

.p-top-assignment__box__baloon>div {
    position: relative;
    z-index: 1
}

.p-top-assignment__box__baloon:before {
    content: "";
    position: absolute;
    bottom: 15px;
    right: -10px;
    border: 10px solid rgba(0, 0, 0, 0);
    border-left: 20px solid #6c6c6c;
    z-index: 0;
    transform: rotate(35deg)
}

.p-top-assignment__connection {
    text-align: center;
    font-size: 3rem;
    padding: 1.25em 0 1.75em;
    position: relative;
    background: url(../img/icon_assignment_arrow.svg) no-repeat;
    background-size: contain;
    background-position: center center
}

.p-top-assignment__connection span {
    background: #f5f5f5
}

.p-top-assignment__connection__l {
    font-size: 1.5em
}

.p-top-assignment__illust {
    position: absolute;
    top: 0;
    right: 0;
    width: 300px
}

@media screen and (max-width: 767px) {
    .p-top-assignment {
        padding-top: 36%
    }

    .p-top-assignment__ttl {
        font-size: 2.8rem;
        margin-bottom: 20px
    }

    .p-top-assignment__box__ttl span {
        padding: 5px 10px
    }

    .p-top-assignment__txt {
        text-align: left
    }

    .p-top-assignment__box__closing {
        margin-top: 40px;
        padding: 20px
    }

    .p-top-assignment__box__closing__txt {
        font-size: 1.6rem
    }

    .p-top-assignment__box__closing__txt__strong {
        font-size: 1.2em
    }

    .p-top-assignment__illust {
        width: 60%;
        position: static;
        margin: 0 auto;
        display: block
    }

    .p-top-assignment__box__inner {
        padding: 10px
    }

    .p-top-assignment__box__success__txt {
        font-size: 1.4em;
        line-height: 1.4;
        margin-bottom: 5px
    }

    .p-top-assignment__box__success__txt__sub {
        font-size: 1.5rem;
        margin-top: 5px
    }

    .p-top-assignment__connection {
        font-size: 2rem
    }

    .p-top-assignment__box__ttl span {
        font-size: 1.5rem;
        display: block;
        width: 100%;
        text-align: center
    }

    .p-top-assignment__box__closing {
        margin-top: 60px
    }

    .p-top-assignment__box__closing__img {
        margin: -50px auto 0
    }

    .p-top-assignment__box__baloon {
        background: #6c6c6c;
        width: 90px;
        height: 90px;
        font-size: 1.2rem;
        color: #fff;
        border-radius: 100px;
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        top: auto;
        left: auto;
        right: 0;
        bottom: 86%
    }

    .p-top-assignment__box__baloon:before {
        left: 8px;
        right: auto;
        bottom: 5px;
        transform: rotate(12deg)
    }
}

.p-top-logbook {
    background: #f5f5f5;
    padding: 60px 0 200px
}

.p-top-logbook._02 {
    padding: 60px 0 180px
}

.p-top-logbook__ttl {
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    position: relative
}

.p-top-logbook__ttl span {
    color: #f33f3e
}

.p-top-logbook__textarea {
    background: #fff;
    padding: 20px;
    border-radius: 12px;
    box-shadow: 2px 2px 16px -5px rgba(0, 0, 0, .2)
}

.p-top-logbook__list {
    margin-bottom: 15px
}

.p-top-logbook__list li {
    font-weight: bold;
    background: #d0d0d0;
    padding: 5px 10px;
    text-align: center;
    font-size: 1.8rem
}

.p-top-logbook__icon {
    position: absolute;
    left: 0;
    top: 50%;
    max-width: 177px;
    transform: translateY(-50%)
}

@media screen and (max-width: 767px) {
    .p-top-logbook .p-top-logbook__ttl {
        font-size: 1.7rem
    }

    .p-top-logbook .p-top-logbook__ttl p {
        margin-bottom: 5px
    }

    .p-top-logbook .p-top-logbook__icon {
        left: 5%;
        top: 130%;
        width: 100px
    }

    .p-top-logbook .p-top-logbook__img {
        width: 96%;
        display: block;
        margin: 20px auto
    }

    .p-top-logbook .p-top-logbook__list li {
        font-size: 1.5rem
    }
}

.p-top-captainec {
    background: url(../img/bg_oldmap.jpg) no-repeat;
    background-size: cover;
    padding: 50px 0;
    position: relative;
    margin-bottom: 5rem
}

.p-top-captainec:after {
    background: #bf0000;
    content: "";
    opacity: .8;
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.p-top-captainec__inner {
    background: hsla(0, 0%, 100%, .9);
    padding: 30px;
    border-radius: 12px;
    position: relative;
    z-index: 1
}

.p-top-captainec__ttl__sub {
    font-size: 1.5em
}

.p-top-captainec__ttl {
    font-size: 2em;
    color: #bf0000;
    margin-bottom: 10px;
    line-height: 1.4
}

.p-top-captainec__ttl__l {
    font-size: 1.5em
}

.p-top-captainec__txtarea {
    max-width: 850px;
    margin-right: 0;
    margin-left: auto;
    display: block
}

.p-top-captainec__cv {
    background: #fff
}

.p-top-captainec__cv.line {
    border: 3px solid #06c755;
    border-radius: 8px
}

.p-top-captainec__cv.registration {
    border: 3px solid #bf0000;
    border-radius: 8px;
    position: relative
}

.p-top-captainec__cv.registration:after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(50%);
    color: #fff
}

.p-top-captainec__cv__ttl {
    padding: 5px;
    font-size: 1.375em
}

.p-top-captainec__btn {
    font-size: 2rem
}

.p-top-captainec__btn.line {
    background: #06c755;
    color: #fff;
    text-align: center;
    display: block;
    padding: 5px;
    position: relative
}

.p-top-captainec__btn.line:after {
    background: url(../img/qr_captainec_line.svg) no-repeat;
    background-size: cover;
    position: absolute;
    display: inline-block;
    right: 10px;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    width: 35px;
    height: 35px
}

.p-top-captainec__btn.registration {
    background: #bf0000;
    color: #fff;
    text-align: center;
    display: block;
    padding: 5px
}

.p-top-captainec__img {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 250px
}

.p-top-captainec__icon {
    background: #d0d0d0;
    border-radius: 100px;
    width: 120px;
    height: 120px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 3.5rem;
    line-height: 1.1;
    position: absolute;
    right: 30px;
    top: 10px
}

.p-top-captainec ._strong {
    font-size: 1.5em;
    color: #bf0000;
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif
}

@media screen and (max-width: 767px) {
    .p-top-captainec__ttl {
        font-size: 2rem
    }

    .p-top-captainec__ttl__sub {
        font-size: 1.6rem
    }

    .p-top-captainec__inner {
        padding: 4%
    }

    .p-top-captainec__img {
        right: 0;
        left: auto;
        top: -30px;
        width: 140px;
        -webkit-mask-image: linear-gradient(to bottom, black 70%, transparent 100%);
        mask-image: linear-gradient(to bottom, black 70%, transparent 100%)
    }

    .p-top-captainec__cv__ttl {
        font-size: 1.5rem
    }

    .p-top-captainec__btn {
        font-size: 1.5rem
    }

    .p-top-captainec__btn.line:after {
        content: "";
        font-family: "icomoon";
        margin-left: 8px;
        background: none
    }

    .p-top-captainec__icon {
        right: 21%;
        top: 0;
        font-size: 1.6rem;
        width: 60px;
        height: 60px
    }
}

.p-top-baycross {
    background: #f5f5f5;
    padding: 50px;
    position: relative;
    padding: 20px
}

.p-top-baycross__inner {
    text-align: center;
    max-width: 950px;
    margin: 0 auto
}

.p-top-baycross__ttl {
    text-align: center;
    font-weight: bold;
    color: #9c9c9c;
    margin-bottom: 20px
}

.p-top-baycross__lead {
    text-align: center;
    font-weight: bold;
    color: #9c9c9c;
    margin-bottom: 30px
}

.p-top-baycross__lead__end {
    margin-top: 30px;
    display: block
}

.p-top-baycross__txt+.p-top-baycross__txt {
    margin-top: 15px
}

.p-top-baycross__logo {
    margin: 0 auto;
    display: block
}

.p-top-baycross__illust {
    position: absolute;
    right: -40px;
    bottom: -40px;
    max-width: 200px
}

@media(max-width: 1220px) {
    .p-top-baycross__illust {
        display: none
    }
}

@media screen and (max-width: 767px) {
    .p-top-baycross__ttl {
        line-height: 1.3
    }

    .p-top-baycross__logo {
        margin-bottom: 10px
    }

    .p-top-baycross__illust {
        display: none
    }
}

.p-top-strategy {
    padding: 50px 0 180px;
    background: #d0d0d0
}

.p-top-strategy__item__ttl {
    font-size: 24px;
    font-weight: bold;
    color: #d0d0d0;
    display: block
}

.p-top-strategy.contents {
    padding: 20px 0 30px;
    margin-top: var(--layout-gutter-vertical);
    border-radius: 1rem
}

.p-top-strategy__ttl {
    max-width: 670px;
    width: 100%;
    display: block;
    margin-bottom: 30px
}

.p-top-strategy.contents .p-top-strategy__ttl {
    max-width: 600px
}

.p-top-strategy ._current a {
    background: #fff;
    box-shadow: 0px 0px 20px -5px #777;
    pointer-events: none
}

.p-top-strategy ._current a .p-top-strategy__item__ttl {
    color: #f9fafb
}

.p-top-strategy ._current a:after {
    content: none
}

.p-top-strategy.contents span._num {
    font-size: 30px
}

.p-top-strategy.contents .p-top-strategy__list li a {
    padding: 15px 46px 15px 15px
}

.p-top-strategy__ttl__wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
    align-items: center
}

.p-top-strategy__ttl__img {
    width: 200px;
    margin-bottom: -30px
}

.p-top-strategy.contents .p-top-strategy__ttl__img {
    width: 150px
}

.p-top-strategy__list li a {
    background: #fff;
    border-radius: 8px;
    padding: 20px 40px 20px 20px;
    position: relative;
    display: flex;
    align-items: center
}

.p-top-strategy__list li a:after {
    content: "";
    content: "";
    font-family: "icomoon";
    margin-left: 8px;
    display: inline-block;
    border-radius: 100px;
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #fff;
    font-size: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    background: linear-gradient(#f87024 0%, #ff9255 100%)
}

.p-top-strategy__list ._num {
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 40px;
    font-style: italic;
    line-height: 1;
    font-weight: bold;
    color: #f33f3e;
    margin-right: 12px
}

@media screen and (max-width: 767px) {
    .p-top-strategy__ttl {
        max-width: 400px;
        width: 100%;
        display: block;
        margin-bottom: 20px
    }

    .p-top-strategy__ttl__img {
        display: none
    }

    .p-top-strategy__list li a {
        padding: 15px 40px 15px 15px
    }
}

.p-acievements {
    padding: 20px;
    border: 1px solid #d0d0d0
}

.p-acievements__logo {
    display: block;
    margin: 0 auto 24px;
    max-width: 300px;
    max-height: 50px
}

.slider_achievements_logo_wrapper {
    margin-bottom: 30px
}

.no1research {
    text-align: center;
    margin-bottom: 30px
}

.no1research__inner {
    max-width: 1000px;
    display: block;
    margin: 0 auto;
    padding: 4% 0 0
}

.no1research img {
    width: 100%
}

.no1research__note__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: 2.5em;
    margin-right: auto;
    margin-left: auto
}

.no1research__note__wrapper p {
    margin-top: -20px !important
}

.no1research__note {
    font-weight: normal;
    font-size: 12px !important;
    text-align: left;
    color: #333;
    line-height: 1.5;
    padding-left: 1em;
    text-indent: -1em;
    margin-top: -20px
}

@media screen and (max-width: 767px) {
    .no1research {
        margin-bottom: 0
    }

    .no1research__note__wrapper {
        gap: 15px
    }

    .no1research__inner {
        padding: 10% 0 0
    }

    .no1research__note {
        font-size: 10px !important
    }
}

.p-top__daiko__ttl {
    font-weight: bold;
    text-align: center;
    font-size: 3rem;
    margin-bottom: 2em;
    color: #d0d0d0
}

.p-top__daiko__box__ttl {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 10px;
    position: relative
}

.p-top__daiko__box__ttl:before {
    position: absolute;
    content: "";
    display: block;
    background: url(../img/blob.svg) no-repeat 0 0 rgba(0, 0, 0, 0);
    background-size: auto;
    height: 200px;
    left: -3em;
    top: -2em;
    width: 100%;
    z-index: -1
}

.p-top__daiko__box__icon {
    position: relative;
    display: inline-block;
    padding: 5px 30px 5px 40px;
    border-radius: 50px 0 0 50px;
    background: #d0d0d0;
    margin-bottom: 5px;
    margin-left: -10px;
    font-size: 16px
}

.p-top__daiko__box__icon:before {
    position: absolute;
    top: calc(50% - 7px);
    left: 10px;
    width: 14px;
    height: 14px;
    content: "";
    border-radius: 50%;
    background: #fff
}

.p-top__daiko__img__wrapper {
    width: 447px;
    height: 285px;
    content: "";
    background: url(../img/img_resolution01-1.png) no-repeat;
    position: relative
}

.p-top__daiko__img01 {
    position: absolute;
    top: 37px;
    left: 8%;
    width: 373px
}

.p-top__daiko__img02 {
    bottom: 8px;
    left: 36%;
    width: 132px;
    position: absolute
}

.p-top__daiko .oflex+.oflex {
    margin-top: 50px
}

@media screen and (max-width: 767px) {
    .p-top__daiko__ttl {
        font-size: 1.8rem
    }

    .p-top__daiko__box__ttl {
        font-size: 22px
    }

    .p-top__daiko__img__wrapper {
        width: 100%;
        height: 225px;
        background-size: cover
    }

    .p-top__daiko__img01 {
        width: 90%;
        left: 50%;
        transform: translateX(-50%)
    }

    .p-top__daiko__img02 {
        width: 30%;
        left: 36%;
        transform: translateX(-50%);
        bottom: -22%
    }

    .p-top__daiko .oflex+.oflex {
        margin-top: 90px
    }
}

.l-footer._lp .l-footer__nav li:first-of-type a:after {
    content: "｜";
    padding-left: 20px
}

.p-index__cont04 {
    padding: 20px 0;
    background: #fff
}

@media screen and (max-width: 767px) {
    .p-index__cont04 {
        padding: 25px 0 60px
    }
}

@media screen and (max-width: 767px) {
    .p-index__cont04 p {
        text-align: center
    }
}

.c-list__itemphoto {
    display: flex;
    justify-content: space-between;
    flex-flow: wrap;
    align-items: flex-start;
    margin: 45px 0 25px
}

@media screen and (max-width: 767px) {
    .c-list__itemphoto {
        align-items: flex-end;
        margin: 25px 0
    }
}

@media screen and (max-width: 767px) {
    .c-list__itemphoto li {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 20px
    }

    .c-list__itemphoto li img {
        order: 2;
        width: 50%
    }

    .c-list__itemphoto li .txt {
        order: 1;
        width: 43%
    }

    .c-list__itemphoto li .txt .txtS {
        font-size: .7em
    }
}

@media screen and (min-width: 768px) {
    .c-list__itemphoto li {
        width: 32%
    }
}

.c-list__itemphoto .txt {
    margin-top: 15px;
    line-height: 1.4em
}

.c-hdg__ttl01_02 {
    font-size: 28px;
    font-weight: bold;
    margin-bottom: 15px;
    line-height: 1.4em;
    color: #0c2e5d;
    margin-bottom: 30px
}

.p-contact__telbox {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    font-size: 20px;
    background: hsla(0, 0%, 100%, .5)
}

@media screen and (max-width: 767px) {
    .p-contact__telbox {
        margin-bottom: 10px
    }
}

.p-top-contact__flow {
    width: 75%;
    margin: 0 auto 20px;
    padding-bottom: 35px;
    border-bottom: 2px dashed #f5f5f5
}

@media screen and (max-width: 767px) {
    .p-top-contact__flow {
        width: 100%
    }
}

.p-top-contact__flow ul {
    display: flex;
    justify-content: center;
    gap: 50px
}

@media screen and (max-width: 767px) {
    .p-top-contact__flow ul {
        gap: 40px
    }
}

.p-top-contact__flow ul li {
    padding: 0px 25px;
    text-align: center;
    background: #fff;
    border: 1.5px solid #f33f3e;
    border-radius: 50px;
    color: #f33f3e;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-top-contact__flow ul li {
        padding: 0 10px
    }
}

.p-top-contact__flow ul li.active {
    background: #f33f3e;
    color: #fff
}

.p-top-contact__flow ul li::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -82px;
    width: 80px;
    height: 3px;
    border-top: 3px dotted #f33f3e;
    transform: translateY(-50%)
}

.p-top-contact__flow ul li:last-child::after {
    display: none
}

.p-top-contact__flow.line-none {
    padding-bottom: 0;
    border-bottom: none
}

.p-index__cont07 {
    padding: 0 0 40px;
    background: #f5f5f5;
    position: relative
}

@media screen and (min-width: 768px) {
    .p-index__cont07 {
        margin: 60px auto 0
    }
}

.p-index__cont07 .p-contact {
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
    margin-bottom: 30px
}

.p-index__cont07 .p-contact__ttl {
    background: hsla(0, 0%, 100%, .7);
    font-size: 3.6rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 20px;
    position: relative
}

.p-index__cont07 .p-contact__ttl::before {
    content: "";
    display: inline-block;
    background: url(../img/img_watch.png) no-repeat;
    background-size: contain;
    width: 75px;
    height: 75px;
    position: absolute;
    left: 10px;
    top: 20px;
    transform: rotate(350deg)
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-contact__ttl::before {
        left: 0;
        top: 5%;
        width: 50px;
        height: 50px
    }
}

.p-index__cont07 .p-contact__ttl .c-txt__ll {
    font-size: 2em;
    line-height: 1
}

.p-index__cont07 .p-contact__ttl__sub {
    font-size: 45px;
    font-weight: bold
}

.p-index__cont07 .p-contact__ttl-form {
    font-size: 30px
}

.p-index__cont07 .p-contact__txt {
    font-size: 24px;
    margin-bottom: 20px
}

.p-index__cont07 .p-contact__telbox {
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    font-size: 20px
}

.p-index__cont07 .p-contact__tel {
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    font-size: 30px;
    font-weight: bold
}

.p-index__cont07 .p-contact__tel::before {
    content: "";
    font-family: "icomoon";
    margin-right: 8px;
    display: inline-block
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-contact {
        margin-bottom: 0
    }

    .p-index__cont07 .p-contact__ttl {
        font-size: 1.8em;
        padding: 0 0 10px;
        margin-bottom: 0;
        display: block
    }

    .p-index__cont07 .p-contact__ttl__sub {
        font-size: 24px
    }

    .p-index__cont07 .p-contact__txt {
        font-size: 18px
    }

    .p-index__cont07 .p-contact__telbox {
        flex-direction: column;
        gap: 0;
        margin: 10px auto 0;
        font-size: 15px
    }

    .p-index__cont07 .p-contact__tel {
        font-size: 24px
    }

    .p-index__cont07 .p-contact__ttl-form {
        font-size: 20px
    }
}

.p-index__cont07 .c-lyt__inner {
    background: #fff;
    padding: clamp(20px, 3vw, 40px);
    width: 96%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1100px;
    border-radius: 20px
}

@media screen and (max-width: 767px) {
    .p-index__cont07 {
        margin-top: -40px
    }
}

@media screen and (max-width: 767px) {
    .p-index__cont07 {
        padding: 40px 0
    }
}

.p-index__cont07 .p-index__camp {
    position: relative;
    background: #f33f3e;
    width: 95%;
    margin: 25px auto;
    padding: 15px 0 10px;
    border-radius: 10px;
    box-shadow: 5px 5px 20px -5px rgba(0, 0, 0, .2);
    border-top: 15px solid #06c755
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp {
        width: 90%;
        margin: 35px auto;
        padding: 25px 0 20px 25px
    }
}

@media screen and (min-width: 1200px) {
    .p-index__cont07 .p-index__camp {
        width: 710px;
        padding: 25px 0 20px 25px
    }
}

.p-index__cont07 .p-index__camp-ttlS {
    display: flex;
    font-size: 18px;
    justify-content: center;
    align-items: center;
    position: relative
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp-ttlS {
        font-size: 24px
    }
}

.p-index__cont07 .p-index__camp-ttlS::before,
.p-index__cont07 .p-index__camp-ttlS::after {
    content: "";
    width: 20px;
    border-top: 2px solid #0c2e5d;
    margin: 2px 4px 0px
}

@media screen and (max-width: 767px) {

    .p-index__cont07 .p-index__camp-ttlS::before,
    .p-index__cont07 .p-index__camp-ttlS::after {
        width: 34px;
        margin: 0px 6px 2px
    }
}

.p-index__cont07 .p-index__camp-ttlS::before {
    transform: rotate(45deg)
}

.p-index__cont07 .p-index__camp-ttlS::after {
    transform: rotate(-45deg)
}

.p-index__cont07 .p-index__camp-ttl {
    font-size: 26px;
    line-height: 1.4em
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp-ttl {
        margin: 10px auto
    }
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp-ttl {
        font-size: 40px;
        margin-bottom: 5px
    }
}

.p-index__cont07 .p-index__camp img {
    width: 75%
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp img {
        width: 55%
    }
}

.p-index__cont07 .p-index__camp .balloon {
    position: absolute;
    animation: fluffy1 3s ease infinite;
    top: -25px;
    left: -20px
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp .balloon {
        top: -50px;
        left: -65px
    }
}

@media screen and (min-width: 1200px) {
    .p-index__cont07 .p-index__camp .balloon {
        top: -40px;
        left: -45px
    }
}

.p-index__cont07 .p-index__camp .balloon_free {
    position: relative;
    display: inline-block;
    padding: 0 5px;
    width: 90px;
    height: 90px;
    line-height: 90px;
    text-align: center;
    color: #fff;
    font-size: 26px;
    letter-spacing: 1.5px;
    font-weight: bold;
    background: #f33f3e;
    border-radius: 50%;
    box-sizing: border-box
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .p-index__camp .balloon_free {
        width: 110px;
        height: 110px;
        line-height: 110px;
        font-size: 30px
    }
}

.p-index__cont07 .p-index__camp .balloon_free::before {
    content: "";
    position: absolute;
    bottom: 5px;
    right: -10px;
    border: 10px solid rgba(0, 0, 0, 0);
    border-left: 20px solid #f33f3e;
    z-index: 0;
    transform: rotate(35deg)
}

.p-index__cont07 .contact_phone_box {
    text-align: center;
    width: 95%;
    border: solid 1pt;
    background: hsla(0, 0%, 100%, .6);
    border-color: #c4c4c4;
    margin: 20px auto 15px;
    padding: 15px 0 20px
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .contact_phone_box {
        width: 540px;
        padding: 20px 0;
        margin: 25px auto
    }
}

.p-index__cont07 .contact_phone_box h3 {
    font-size: 18px
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .contact_phone_box h3 {
        font-size: 24px
    }
}

.p-index__cont07 .contact_phone_box .phone_number {
    font-size: 32px;
    color: #3079d9;
    font-weight: bold;
    position: relative;
    padding-left: -1em
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .contact_phone_box .phone_number {
        font-size: 46px
    }
}

.p-index__cont07 .contact_phone_box .phone_number::before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 26px;
    background: url(/lp/rakuten_unyo/common/img/icon_tel.svg) no-repeat center
}

@media screen and (max-width: 767px) {
    .p-index__cont07 .contact_phone_box .phone_number::before {
        width: 38px;
        height: 38px
    }
}

.p-index__cont07 .c-index__form_wrap {
    background: #f33f3e;
    padding: 20px 20px 45px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 400;
    text-align: left
}

.company_box {
    width: 1000px;
    max-width: 100%
}

.company_box .company {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px
}

.company_box .company img {
    max-width: 250px
}

.company_box .company-txtarea {
    width: 500px;
    margin-top: 10px;
    max-width: 100%
}

.l-footer._lp {
    border-top: none;
    padding-top: 0;
    color: #fff;
    background: #d0d0d0
}

@media screen and (min-width: 1200px) {
    .l-footer._lp {
        padding-bottom: 20px
    }
}

@media screen and (max-width: 767px) {
    .company_box .company {
        margin-top: 30px;
        flex-direction: column;
        gap: 5px
    }
}

.c-btn__01 {
    color: #fff;
    font-family: YakuHanJPs, "Noto Sans JP", sans-serif;
    text-align: center;
    font-weight: bold;
    line-height: 2em;
    font-size: 1.2em;
    padding: 0 1.5em;
    border-radius: 1em;
    background: #d0d0d0;
    position: relative;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 90%;
    border: none
}

@media screen and (max-width: 767px) {
    .c-btn__01 {
        font-size: 34px;
        max-width: 420px
    }
}

.c-btn__01::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px
}

.c-btn__icon {
    width: 40px;
    margin-right: 10px;
    line-height: 0
}

.c-btn__02 {
    color: #fff;
    text-align: center;
    font-weight: bold;
    line-height: 3em;
    padding: 0 1em;
    border-radius: 1.5em;
    background: #0c559a;
    position: relative;
    margin: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none
}

.c-btn__02 .c-btn__block.arw::after {
    position: absolute;
    right: 20px
}

@media screen and (min-width: 768px) {
    .c-btn__02 {
        max-width: 420px
    }
}

.c-btn__02::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px
}

.c-btn__02+.c-btn__02 {
    margin-top: 15px
}

.c-btn__03 {
    color: #fff;
    padding: 0 3em;
    background: #d0d0d0;
    position: relative;
    border-radius: 100px;
    border: none;
    outline: none;
    height: 40px;
    display: flex;
    align-items: center;
    font-size: 16px;
    cursor: pointer;
    font-weight: 500
}

.c-btn__03+.c-btn__03 {
    margin-left: 20px
}

@media screen and (max-width: 767px) {
    .c-btn__03 {
        max-width: 420px
    }
}

.c-btn__03::after {
    content: "";
    font-family: "icomoon";
    margin-left: 8px
}

.c-btn__03:hover {
    opacity: .8
}

.c-btn__back::before {
    transform: rotate(180deg);
    left: -90px
}

.c-btn__gray {
    background-color: #909090
}

.c-btn__02.c-btn__back::after {
    transform: rotate(185deg);
    left: 20px;
    right: auto;
    position: absolute
}

.c-btn__contact {
    text-align: center;
    margin: 0 auto 40px
}

@media screen and (max-width: 767px) {
    .c-btn__contact {
        margin: 25px auto
    }
}

.c-btn__contact p {
    font-size: 15px;
    color: #fff600;
    margin-bottom: 5px
}

@media screen and (max-width: 767px) {
    .c-btn__contact p {
        font-size: 22px;
        margin-bottom: 15px
    }
}

.c-btn__contact-btn {
    display: inline-block;
    background: #fff600;
    color: #fff;
    padding: 5px 25px;
    border: 2px solid #fff600;
    border-radius: 50px;
    position: relative
}

@media screen and (max-width: -1px) {
    .c-btn__contact-btn {
        width: 80%;
        font-size: 22px;
        padding: 8px 0
    }
}

@media screen and (max-width: 767px) {
    .c-btn__contact-btn {
        padding: 8px 80px;
        font-size: 46px
    }
}

.c-btn__contact-btn::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: solid 3px #fff;
    border-right: solid 3px #fff;
    transform: rotate(135deg);
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    right: .8em
}

@media screen and (max-width: 767px) {
    .c-btn__contact-btn::after {
        width: 24px;
        height: 24px;
        border-top: solid 5px #fff;
        border-right: solid 5px #fff
    }
}

.c-btn__contact-btn:hover {
    background: #fff;
    color: #fff600
}

.c-btn__contact-btn:hover::after {
    border-top: solid 5px #fff600;
    border-right: solid 5px #fff600
}

.contact02 {
    margin: 40px auto 0
}

@media screen and (max-width: 767px) {
    .contact02 {
        margin: 70px auto 0
    }
}

.c-btn__03.c-btn__gray.c-btn__back:after {
    transform: rotate(225deg);
    left: -90px
}

.c-lyt__wrapper {
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    min-height: 100vh
}

.popup__inner {
    padding: 30px 20px
}

.popup-area-bg {
    height: clamp(100px, 10vw, 180px);
    background: url(../img/popup_bg.svg) no-repeat;
    padding: 50px;
    background-position: center;
    background-size: contain
}

.popup-area-bg-wrapper {
    padding: 15px;
    background: linear-gradient(#96d2ff 0%, #80c4f7 100%);
    border-radius: 8px 8px 0 0
}

.popup__txt {
    font-size: clamp(1em, 3vw, 1.2em);
    line-height: 1.4
}

.popup__txt__l {
    font-size: 1.5em;
    font-size: 1.5em;
    font-weight: bold
}

.popup__txt__fav {
    color: hsl(.3314917127, 88.2926829268%, 49.8039215686%);
    font-size: 1.5em
}

.popup__txtarea+.popup__txtarea {
    margin-top: 20px
}

.popup__btn {
    display: block;
    font-weight: bold;
    width: 80%;
    margin-right: auto;
    margin: auto;
    color: #fff;
    background-color: #ff8d1d;
    padding: 10px;
    border-radius: 100px;
    margin-top: 10px;
    font-size: 1.2em
}

.popup-area {
    display: none;
    width: 90vw;
    max-width: 550px;
    background: #fff;
    position: fixed;
    z-index: 99999;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 0 4px 4px rgba(0, 0, 0, .1);
    border: 4px solid #d0d0d0
}

.cover-eml {
    background: rgba(0, 0, 0, .3);
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: 999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.popup-vivoo {
    padding: 20px 5% !important;
    position: relative;
    overflow: hidden
}

.popup-vivoo::before {
    content: "";
    position: absolute;
    display: block;
    background: url(/lp/2409_vivoo_lp_vut/img/logo_img_blue.svg) center bottom/200% no-repeat;
    opacity: .3;
    width: 100%;
    height: 30vw;
    top: 0;
    margin: auto;
    left: 0;
    right: 0;
    z-index: -1
}

@media screen and (min-width: 768px) {
    .popup-vivoo::before {
        height: 160px;
        background: url(/lp/2409_vivoo_lp_vut/img/logo_img_blue.svg) center bottom/200% no-repeat
    }
}

.popup-vivoo .popup-vivoo_hdg {
    font-weight: bold;
    font-size: 20px;
    margin-bottom: 20px !important
}

@media screen and (min-width: 768px) {
    .popup-vivoo .popup-vivoo_hdg {
        font-size: 30px
    }
}

.popup-vivoo .popup-vivoo_hdg span {
    display: block;
    text-align: center;
    font-size: .8em
}

.popup-vivoo .popup-vivoo_dl {
    display: flex
}

@media screen and (min-width: 768px) {
    .popup-vivoo .popup-vivoo_dl {
        gap: 20px
    }
}

.popup-vivoo .popup-vivoo_dl .popup-vivoo_dl_box {
    text-align: center
}

.popup-vivoo .popup-vivoo_dl .popup-vivoo_dl_box a {
    display: block;
    text-align: center
}

.popup-vivoo .popup-vivoo_dl .popup-vivoo_dl_box a img {
    height: 42px
}

@media screen and (min-width: 768px) {
    .popup-vivoo .popup-vivoo_dl .popup-vivoo_dl_box a img {
        height: 55px
    }
}

.close-btn._02 {
    position: absolute;
    top: 10px;
    right: 10px;
    width: clamp(25px, 3vw, 30px)
}

@media screen and (min-width: 768px) {
    body#_top {
        width: 100%;
        display: flex;
        position: relative
    }

    body#_top .l-header .l-header__wrap {
        width: 76vw;
        padding: 0 1em
    }

    body#_top #main {
        width: 76vw;
        box-sizing: border-box
    }

    body#_top #side {
        width: 24vw;
        height: 100%;
        position: fixed;
        top: 0;
        right: 0
    }
}

#urlInputGroup .url-wrapper:first-child {
    position: relative
}

#urlInputGroup .url-wrapper:first-child::after {
    content: "https://example.com";
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #aaa;
    pointer-events: none;
    font-weight: 400;
    font-size: 16px;
    transition: opacity 0;
    opacity: 1
}

@media screen and (max-width: 767px) {
    #urlInputGroup .url-wrapper:first-child::after {
        font-weight: 300;
        font-size: 14px
    }
}

#urlInputGroup .url-wrapper:first-child.has-value::after {
    opacity: 0
}

#siteurl1 {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: #fff;
    display: block;
    padding: .2em .5em;
    width: 100%;
    border: 1px solid #9c9c9c;
    border-radius: 4px;
    outline: none;
    margin: .4em 0
}

.p-top-faq {
    counter-reset: faq-q;
    padding: 60px 0
}

.p-top-faq__content {
    margin: 0 0 15px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #f8f8f8;
    overflow: hidden
}

.p-top-faq__content dt,
.p-top-faq__content dd {
    margin: 0
}

.p-top-faq__content dt {
    position: relative;
    padding: 20px 44px 20px 70px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

@media screen and (max-width: 767px) {
    .p-top-faq__content dt {
        padding: 15px 44px 15px 70px
    }
}

.p-top-faq__content dt::before {
    counter-increment: faq-q;
    content: "Q" counter(faq-q);
    position: absolute;
    left: 16px;
    top: 12px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #bf0000;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center
}

@media screen and (max-width: 767px) {
    .p-top-faq__content dt::before {
        font-size: 16px;
        top: 10px
    }
}

.p-top-faq__content dt::after {
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #999;
    border-bottom: 2px solid #999;
    transform: translateY(-50%) rotate(45deg);
    transition: transform .25s ease
}

.p-top-faq__content dt:focus-visible {
    outline: 2px solid #1c65af;
    outline-offset: 2px;
    border-radius: 6px
}

.p-top-faq__content dd {
    display: block;
    max-height: 0;
    padding: 0 16px 0 70px;
    overflow: hidden;
    transition: min-height .3s ease, padding-top .4s ease, padding-bottom .4s ease
}

.p-top-faq__content dd::before {
    display: none
}

.p-top-faq__content.is-open dt::after {
    transform: translateY(-50%) rotate(-135deg)
}

.p-top-faq__content.is-open dd {
    position: relative;
    background: #fff;
    padding: 12px 16px 14px 70px;
    overflow: hidden;
    transition: max-height .3s ease, padding-top .4s ease, padding-bottom .4s ease;
    line-height: 1.8;
    color: #222;
    max-height: 500px
}

.p-top-faq__content.is-open dd::before {
    position: absolute;
    left: 16px;
    top: 8px;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    color: #bf0000;
    font-size: 25px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    content: "A"
}

.p-index__strong__txt__main {
    color: #bf0000
}

.p-index__strong__txt {
    line-height: 1
}

@media screen and (max-width: 767px) {
    .p-index__strong {
        margin: 25px 0 0
    }
}

.p-index__strong__ttl {
    position: relative;
    overflow-x: hidden
}

@media screen and (max-width: 767px) {
    .p-index__strong__ttl {
        padding-bottom: 0
    }
}

.p-index__strong__ttl span.c-txt__bg {
    background: #f33f3e;
    color: #fff;
    padding: .1em .3em;
    margin: 0 .2em;
    vertical-align: baseline
}

@media screen and (max-width: 767px) {
    .p-index__strong__ttl span.c-txt__bg {
        font-size: 1.1em;
        margin: .1em .2em;
        display: inline-block
    }
}

.p-index__strong__ttl span.c-txt__normal {
    font-size: 1.4em;
    font-weight: 300
}

.p-index__strong__ttl span.c-txt__yellow {
    color: #fff76c
}

.p-index__strong__ttl span.c-txt__yellow .c-txt__l {
    letter-spacing: -0.02em
}

.p-top-value .p-index__strong__ttl {
    padding-bottom: 1em
}

@media screen and (max-width: 767px) {
    .p-top-value .p-index__strong__ttl {
        padding-bottom: 10px
    }
}

.c-hdg__ttl01 {
    font-size: 46px;
    text-align: center;
    border-bottom: none
}

@media screen and (max-width: 767px) {
    .c-hdg__ttl01 {
        font-size: 26px
    }
}

.p-top-consultation {
    background: #9f0506;
    color: #fff
}

.p-top-consultation h2 {
    color: #fff
}

.p-top-consultation .btn_wrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding-left: var(--layout-gutter-vertical);
    padding-right: var(--layout-gutter-vertical)
}

.p-top-consultation .btn_wrap div {
    width: calc((100% - 40px)/2)
}

@media screen and (max-width: 767px) {
    .p-top-consultation .btn_wrap {
        display: block
    }

    .p-top-consultation .btn_wrap div {
        width: 100%
    }
}

.p-top-consultation .c-btn-con {
    margin-top: 10px;
    position: relative;
    display: inline-block;
    padding: .425em .8em;
    border-radius: 10px;
    vertical-align: middle;
    text-align: center;
    transition: ease all .3s;
    color: #9f0506;
    font-weight: bold;
    background: #ffe200;
    width: 100%;
    font-size: 32px
}

.p-top-consultation .c-btn-con::after {
    content: "";
    position: absolute;
    top: 50%;
    right: .8em;
    transform: translateY(-50%) rotate(45deg);
    width: 15px;
    height: 15px;
    border-top: 4px solid #9f0506;
    border-right: 4px solid #9f0506
}

@media screen and (max-width: 767px) {
    .p-top-consultation .c-btn-con {
        font-size: 2em
    }
}

.p-top-consultation .c-btn-con02 {
    background: #fff
}

.p-top-consultation .p-top-cost__txtS {
    font-size: 24px
}

@media screen and (max-width: 767px) {
    .p-top-consultation .p-top-cost__txtS {
        font-size: 16px
    }
}

.p-top-pro .p-top-cost__txtS {
    color: #010101
}

.p-top-pro .card_wrap {
    display: flex;
    justify-content: space-between;
    margin: 50px 0px 0px;
    flex-wrap: wrap;
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding-left: var(--layout-gutter-vertical);
    padding-right: var(--layout-gutter-vertical)
}

.p-top-pro .card_wrap .card {
    margin: 20px 0;
    padding: 20px 30px;
    width: calc((100% - 40px)/2);
    display: flex;
    flex-direction: column;
    background: #fff3e8;
    border: solid 2px #f87024;
    border-radius: 10px;
    text-align: center;
    font-size: 24px;
    font-weight: bold
}

.p-top-pro .card_wrap .card div {
    display: flex;
    justify-content: center;
    flex-direction: column;
    height: 100%
}

.p-top-pro .card_wrap .card div img {
    margin-top: 10px
}

.p-top-pro .card_wrap .card div span {
    border-bottom: solid 2px #f87024;
    color: #f87024
}

@media screen and (max-width: 767px) {
    .p-top-pro .card_wrap .card {
        padding: 15px;
        width: 100%;
        font-size: 18px;
        margin: 10px 0
    }
}

.p-top-pro .p-top-cost__txtS {
    margin: 1rem auto 1.6rem
}

.p-index__option {
    width: 100%;
    padding-left: var(--layout-gutter-vertical);
    padding-right: var(--layout-gutter-vertical)
}

.p-index__option h2 span {
    color: #f87024
}

.p-index__option h3 {
    padding: 20px;
    font-size: 32px;
    font-weight: bold;
    text-align: center;
    background: #f87024;
    color: #fff;
    border-radius: 10px 10px 0 0
}

.p-index__option h3 span {
    font-size: 46px;
    color: #f9ff00
}

.p-index__option h4 {
    font-size: 24px;
    margin-bottom: 30px
}

.p-index__option__content {
    border: solid 3px #f87024;
    width: 94%;
    max-width: 900px;
    margin: 0 auto;
    border-radius: 20px
}

.p-index__option__ditail {
    width: 100%;
    padding: 30px;
    text-align: center;
    align-items: center
}

.p-index__option__ditail .card_wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.p-index__option__ditail .card_wrap .card {
    margin: 8px 0;
    width: calc((100% - 30px)/3);
    background: #fff3e8;
    border: solid 2px #f87024;
    border-radius: 10px;
    font-size: 20px;
    font-weight: bold;
    padding: 15px 0;
    display: flex;
    justify-content: center;
    flex-direction: column
}

.p-index__option__ditail .card_wrap .card .c-txt__bold {
    color: #f87024
}

@media screen and (max-width: 767px) {
    .p-index__option h3 {
        font-size: 1.2em
    }

    .p-index__option h3 span {
        font-size: 1.2em
    }

    .p-index__option h4 {
        font-size: 15px
    }

    .p-index__option__ditail {
        padding: 5%
    }

    .p-index__option__ditail .card_wrap .card {
        width: 100%;
        font-size: 16px;
        padding: 5px;
        margin: 5px auto
    }

    .p-index__option__ditail .card_wrap .card:first-child {
        margin-top: 10px
    }
}

.p-index__option.trial .p-index__option__content {
    border: solid 3px #459b89
}

.p-index__option.trial h3 {
    background: #459b89;
    font-size: 36px;
    line-height: 1.6em
}

@media screen and (max-width: 767px) {
    .p-index__option.trial h3 {
        font-size: 1.4em
    }
}

@media screen and (max-width: 767px) {
    .p-index__option.trial h4 {
        margin-bottom: 10px
    }
}

.p-index__option.trial .card {
    width: calc((100% - 20px)/2);
    background: #fff;
    border: solid 2px #489887;
    padding: 0;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    flex-direction: row
}

@media screen and (max-width: 767px) {
    .p-index__option.trial .card {
        width: 100%;
        font-size: 20px
    }
}

.p-index__option.trial .card .card__ttl,
.p-index__option.trial .card .card__price {
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.p-index__option.trial .card .card__ttl {
    width: 55%;
    padding: 15px 0;
    background: #489887;
    font-size: 22px;
    line-height: 1.4em;
    border-radius: 7px 0 0 7px
}

@media screen and (max-width: 767px) {
    .p-index__option.trial .card .card__ttl {
        padding: 10px 0;
        font-size: 16px
    }
}

.p-index__option.trial .card .card__ttl .c-txt__bold {
    color: #fff !important
}

.p-index__option.trial .card .card__price {
    width: 45%;
    padding: 0 15px;
    font-size: 28px;
    line-height: 1.4em
}

@media screen and (max-width: 767px) {
    .p-index__option.trial .card .card__price {
        font-size: 20px
    }
}

.p-index__option.trial .card .card__price .c-txt__bold {
    color: #d0d0d0 !important
}

.p-index__case {
    width: 100%
}

.p-index__case h3 {
    position: relative;
    padding: 40px 20px 30px;
    font-size: 32px;
    font-weight: bold;
    background: #ab0000;
    color: #fff;
    border-radius: 10px 10px 0 0;
    text-align: center
}

.p-index__case h3 span {
    color: #fff76c
}

.p-index__case h3 span .c-txt__l {
    font-size: 55px;
    line-height: 1em
}

.p-index__case h3 p {
    padding: 0 40px;
    position: absolute;
    top: 0%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ab0000;
    background: #fff;
    border: solid 3px #ab0000;
    border-radius: 40px;
    font-size: 24px
}

@media screen and (max-width: 767px) {
    .p-index__case h3 {
        font-size: 20px;
        padding: 30px 10px 20px
    }

    .p-index__case h3 span .c-txt__l {
        font-size: 32px
    }

    .p-index__case h3 p {
        padding: 0 10px;
        font-size: 16px;
        width: 80%
    }
}

.p-index__case__content {
    border: solid 3px #ab0000;
    width: 95%;
    max-width: 1000px;
    margin: 60px auto 0;
    border-radius: 20px
}

.p-index__case__content:last-child {
    margin-top: 80px
}

@media screen and (max-width: 767px) {
    .p-index__case__content:last-child {
        margin-top: 40px
    }
}

.p-index__case__ditail {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 30px;
    align-items: center
}

@media screen and (max-width: 767px) {
    .p-index__case__ditail {
        padding: 20px
    }
}

.p-index__case__ditail .before_wrap {
    padding: 30px;
    background: #f8f8f8;
    border-radius: 20px
}

.p-index__case__ditail .before_wrap__txt {
    display: flex;
    align-items: start;
    font-size: 20px;
    margin-bottom: 10px
}

.p-index__case__ditail .before_wrap__txt .icon {
    text-align: center;
    width: 200px;
    font-weight: bold;
    border-radius: 5px;
    margin-right: 20px;
    padding: 0px 20px;
    background: #ab0000;
    color: #fff
}

.p-index__case__ditail .before_wrap__txt .txt {
    width: calc(100% - 200px)
}

@media screen and (max-width: 767px) {
    .p-index__case__ditail .before_wrap {
        padding: 20px
    }

    .p-index__case__ditail .before_wrap__txt {
        display: block;
        font-size: 16px
    }

    .p-index__case__ditail .before_wrap__txt .txt {
        margin-top: 10px;
        width: 100%
    }
}

.p-index__case__ditail .after_wrap__txt {
    font-size: 24px
}

@media screen and (max-width: 767px) {
    .p-index__case__ditail .after_wrap__txt {
        font-size: 16px
    }
}

.p-index__case__ditail .dli-chevron-down {
    margin: 5px auto 15px;
    display: block;
    vertical-align: middle;
    color: #ab0000;
    line-height: 1;
    position: relative;
    width: 30px;
    height: 30px;
    transform: translateX(65%) rotate(135deg)
}

.p-index__case__ditail .dli-chevron-down::before,
.p-index__case__ditail .dli-chevron-down::after {
    content: "";
    position: absolute;
    background: currentColor;
    border-radius: 10px
}

.p-index__case__ditail .dli-chevron-down::before {
    top: 0;
    left: 0;
    right: 0;
    height: 8px
}

.p-index__case__ditail .dli-chevron-down::after {
    top: 0;
    right: 0;
    bottom: 0;
    width: 8px
}

@media screen and (max-width: 767px) {
    .p-index__case__ditail .dli-chevron-down {
        width: 25px;
        height: 25px;
        right: 10px;
        margin: 10px auto 20px
    }

    .p-index__case__ditail .dli-chevron-down::before {
        height: 4px
    }

    .p-index__case__ditail .dli-chevron-down::after {
        width: 4px
    }
}

.p-index__flow {
    padding: 60px 0 0;
    background: #fff
}

@media screen and (max-width: 767px) {
    .p-index__flow {
        padding: 35px 0
    }

    .p-index__flow h2 {
        font-size: 1.8em
    }
}

.p-index__flow__ttl {
    margin-bottom: .5em
}

@media screen and (max-width: 767px) {
    .p-index__flow__content {
        width: 1200px
    }
}

.p-index__flow__content__list {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 40px;
    margin: 1em auto;
    padding: 1em 0 1em .5em;
    overflow: hidden
}

@media screen and (max-width: 767px) {
    .p-index__flow__content__list {
        flex-flow: wrap
    }
}

.p-index__flow__content__list li {
    width: calc((100% - 170px)/5);
    background: #fff;
    box-shadow: 0 0 3px 3px rgba(0, 0, 0, .1);
    position: relative;
    opacity: 0;
    transform: translateX(-20px);
    transition: opacity 1s ease, transform 1s ease
}

.p-index__flow__content__list li.is-show {
    opacity: 1;
    transform: translateX(0)
}

.p-index__flow__content__list li p {
    font-size: 16px;
    line-height: 1.5em;
    padding: .8em
}

.p-index__flow__content__list li:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -20px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 18px solid rgba(0, 0, 0, 0);
    border-bottom: 18px solid rgba(0, 0, 0, 0);
    border-left: 20px solid #f33f3e
}

.p-index__flow__content__list__ttl {
    margin: 1em auto;
    text-align: center;
    font-size: 20px;
    font-weight: 500
}

.p-index__flow__content__list__img {
    margin: 0 auto;
    text-align: center;
    height: 75px
}

.p-index__flow__content__list__img img {
    height: 90%
}

.container {
    position: relative;
    margin: 0 auto;
    width: 60px;
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center
}

.container .chevron {
    position: absolute;
    width: 60px;
    height: 14px;
    opacity: 0;
    transform: scale(0.3);
    animation: arrow-move07 3s ease-out infinite
}

.container .chevron:first-child {
    animation: arrow-move07 3s ease-out 1s infinite
}

.container .chevron:nth-child(2) {
    animation: arrow-move07 3s ease-out 2s infinite
}

.container .chevron:before,
.container .chevron:after {
    position: absolute;
    content: "";
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 50%;
    height: 100%;
    background: #f87024;
    border-radius: 2px
}

.container .chevron:before {
    left: 1px;
    transform: skewY(30deg)
}

.container .chevron:after {
    right: 1px;
    transform: skewY(-30deg)
}

@keyframes arrow-move07 {
    25% {
        opacity: .6
    }

    43% {
        transform: translateY(1em);
        opacity: .8
    }

    62% {
        transform: translateY(2.2em);
        opacity: 1
    }

    100% {
        transform: translateY(3.3em) scale(0.5);
        opacity: 0
    }
}

@media screen and (max-width: 767px) {
    .p-index__strong__ttl p {
        font-size: 23px
    }

    .p-index__strong__ttl p span {
        font-size: 1.1em
    }

    .p-index__strong__ttl p .c-txt__s {
        font-size: .8em
    }
}

.c-txt__e {
    font-size: 1.075em;
    vertical-align: -0.04em;
    font-weight: 600
}

.tc {
    text-align: center
}

.p-document__txt {
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-document__txt {
        text-align: left
    }
}

._caption {
    text-align: left;
    padding-left: 1em;
    text-indent: -1em;
    font-size: .7em;
    max-width: 520px;
    margin: 10px auto 0
}

@media screen and (max-width: 767px) {
    ._caption {
        font-size: .8em
    }
}

.achievements_wrap {
    background: #fff3e8;
    margin-top: 60px
}

@media screen and (max-width: 767px) {
    .achievements_wrap {
        margin-top: 40px
    }
}

.achievements_wrap .p-index__flow {
    background: none
}

.achievements_wrap h2 {
    color: #010101
}

.achievements_wrap .p-top-cost__txtS {
    margin-bottom: 60px
}

.achievements_wrap .ditail {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-bottom: 60px
}

@media screen and (max-width: 767px) {
    .achievements_wrap .ditail {
        padding-bottom: 0
    }
}

.achievements_wrap .card {
    background: #fff;
    border-radius: 10px;
    width: calc((100% - 60px)/4);
    margin-bottom: 20px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    display: flex;
    align-items: center;
    padding: 25px 0;
    position: relative
}

@media screen and (max-width: 767px) {
    .achievements_wrap .card {
        width: calc((100% - 20px)/2);
        font-size: 14px
    }
}

.achievements_wrap .card p {
    margin: 0 auto
}

.achievements_wrap .card .fz-l {
    font-size: 3.4em;
    line-height: 1em;
    color: #f87024
}

@media screen and (max-width: 767px) {
    .achievements_wrap .card .fz-l {
        font-size: 3em
    }
}

.achievements_wrap .card .fz-m {
    font-size: 1.5em;
    line-height: 1em
}

@media screen and (max-width: 767px) {
    .achievements_wrap .card .fz-m {
        font-size: 1.2em
    }
}

.achievements_wrap .card .fc-r {
    color: #ab0000
}

.achievements_wrap .card .att {
    font-size: 12px;
    line-height: 1.2;
    display: block;
    margin-top: 10px
}

@media screen and (max-width: 767px) {
    .achievements_wrap .card .att {
        font-size: 10px
    }
}

.slider_achievements_logo {
    display: flex;
    align-items: center;
    gap: 20px
}

.slider_achievements_logo .slick-track {
    display: flex;
    align-items: center;
    gap: 20px
}

.slider_achievements_logo .slick-track img {
    width: 90%
}

.slider_achievements_capture {
    display: flex
}

.slider_achievements_capture img {
    width: 96%
}

@media screen and (max-width: 767px) {
    .slider_achievements_capture img {
        max-width: 200px
    }
}

.p-top-lead__list li {
    border: 2px solid #f33f3e
}

.p-top-support__content {
    margin: 0 auto;
    text-align: center;
    width: 1000px
}

.p-top-cost {
    background: #f87024
}

.p-top-flow {
    background: #f8f8f8
}

.p-top-online__content {
    background: #f33f3e
}

.p-top-online__content__ttl span.ttl_s {
    color: #f33f3e
}

.p-index__cont07 {
    background: #f8f8f8
}

.l-footer._lp {
    background: #666
}

.l-header__mail._document {
    background: #f33f3e
}

#side .side__ttl {
    background: #f33f3e
}

#side #side_form .c-txt__link {
    color: #004ea2
}

.p-top-value__content__detail__txt {
    width: auto
}

.kome {
    text-align: center;
    font-size: .7em;
    margin-bottom: 1%;
    padding-left: 1em;
    text-indent: -1em
}

@media screen and (max-width: 767px) {
    .kome {
        letter-spacing: -0.01em;
        text-align: left
    }

    .p-top-cost {
        padding: 30px 0 70px
    }

    .p-top-cost__illust {
        bottom: -130px
    }
}

.slider_achievements_logo__img {
    box-sizing: border-box;
    margin: 0 10px 40px
}

.slider_achievements_logo_wrapper {
    margin-bottom: 0;
    margin-top: 30px
}

.slider_achievements_logo__img img {
    height: 60px;
    width: auto;
    -o-object-fit: contain;
    object-fit: contain;
    display: block
}

.slider_achievements_logo__img.slick-slide {
    width: auto !important
}

.slider_achievements_capture {
    display: flex
}

.slider_achievements_capture img {
    width: 96%
}

@media screen and (max-width: 767px) {
    .slider_achievements_capture img {
        max-width: 200px
    }

    .slider_achievements_logo__img {
        margin: 0
    }

    .slider_achievements_logo__img img {
        height: 40px
    }

    .slider_achievements_logo_wrapper {
        margin-bottom: 30px
    }
}

.p-top-consulting {
    background: #f33f3e;
    padding: 40px 0
}

.p-top-consulting .c-btn-con {
    width: 100%
}

.p-top-consulting .c-lyt__inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto
}

.p-top-consulting__inner {
    display: flex;
    align-items: center;
    gap: 30px
}

.p-top-consulting__ttl {
    color: #fff;
    font-weight: bold;
    font-size: 36px;
    margin-bottom: 20px
}

.p-top-consulting__ttl span {
    color: #ffe200;
    font-size: 1.5em
}

.p-top-consulting__txtarea {
    width: 63%
}

.p-top-consulting__txt {
    font-size: 36px;
    font-weight: bold;
    text-align: center;
    color: #fff
}

.p-top-consulting__txt span {
    font-size: 1.65em;
    color: #ffe200
}

.p-top-consulting__btn {
    position: relative;
    display: inline-block;
    padding: .5em .8em;
    border-radius: 10px;
    vertical-align: middle;
    text-align: center;
    transition: ease all .3s;
    color: #9f0506;
    font-weight: bold;
    background: #ffe200;
    width: 100%;
    font-size: 32px
}

.p-top-consulting__img {
    width: 27%
}

.p-top-consulting__img img {
    margin-bottom: -40px
}

@media screen and (max-width: 767px) {
    .p-top-consulting {
        position: relative;
        padding: 30px 0
    }

    .p-top-consulting__txtarea {
        width: 95%
    }

    .p-top-consulting__ttl {
        font-size: 20px
    }

    .p-top-consulting__inner {
        flex-direction: column;
        gap: 0
    }

    .p-top-consulting__txt {
        font-size: 18px;
        width: 66%
    }

    .p-top-consulting__btn {
        font-size: 18px;
        width: 66%;
        border-radius: 6px
    }

    .p-top-consulting__img img {
        margin-bottom: 0;
        position: absolute;
        right: 0;
        bottom: -30px;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: top;
        object-position: top;
        width: 110px;
        height: 130px
    }
}

.form_mainform_radio {
    display: flex;
    gap: 1em
}

@media screen and (max-width: 767px) {
    .form_mainform_radio {
        flex-direction: column;
        gap: 0
    }
}

#p-contents p+p {
    margin-top: 20px
}

#p-contents p+h2,
#p-contents p+h3,
#p-contents p+h4,
#p-contents h2+h3,
#p-contents h2+h2,
#p-contents ul+h2,
#p-contents ul+h3,
#p-contents ul+h4,
#p-contents table+h3,
#p-contents table+h2 {
    margin-top: 50px
}

#p-contents ul+p,
#p-contents table+p,
#p-contents p+table,
#p-contents p+dl,
#p-contents p+ul {
    margin-top: 20px
}

#p-contents {
    margin-bottom: 2em
}

#p-contents a {
    color: #d0d0d0;
    text-decoration: underline
}

#p-contents a[target=_blank]:after {
    content: "";
    font-family: "icomoon";
    font-weight: normal;
    padding-left: 5px
}

#p-contents strong {
    background: linear-gradient(transparent 80%, #FFE200 80%);
    font-weight: bold;
    letter-spacing: .05em;
    background-repeat: no-repeat
}

.p-contents__header {
    background: url(../img/img_bg_header.svg) no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 30px
}

.p-contents__header__title {
    font-size: 4rem;
    color: #fff;
    font-weight: bold;
    line-height: 1.4;
    position: relative;
    padding-left: 1em
}

.p-contents__header__title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 8px;
    background-color: #d0d0d0;
    border-radius: 100px
}

.p-contents__header__image {
    max-width: 450px;
    width: 100%;
    height: 260px;
    margin: 2% 0;
    background: #eee;
    border-radius: 16px;
    border-width: 0 !important
}

.p-contents__mv {
    margin-bottom: 1.875em;
    position: relative
}

.p-contents__mv__txt {
    position: absolute;
    bottom: 0;
    left: 0;
    background: #f87024;
    display: inline-block;
    font-weight: bold;
    color: #fff;
    padding: 6px 8px
}

.p-contents__index {
    background: #f5f5f5;
    border-top: double 3px #d0d0d0;
    border-bottom: double 3px #d0d0d0;
    padding: 1.8715em;
    margin-bottom: 2.5em;
    color: #d0d0d0;
    background: #f5f5f5;
    background-size: auto auto;
    background-image: repeating-linear-gradient(135deg, transparent, transparent 5px, rgba(222, 241, 247, 0.4) 5px, rgba(222, 241, 247, 0.4) 6px)
}

.p-contents__index__title {
    text-align: center;
    font-size: 2rem;
    margin-bottom: 1.875em
}

.p-contents__index__title:before {
    content: "";
    font-family: "icomoon";
    margin-right: 8px
}

.p-contents__index__list li+li {
    margin-top: 10px
}

.p-contents__maincatch {
    margin-bottom: 45px
}

.p-contents__img {
    margin: 45px 0
}

@media screen and (max-width: 767px) {
    .p-contents__index__title {
        margin-bottom: 1.5rem
    }
}

.p-contents__recommend {
    margin-bottom: 3.75em
}

.p-contents__recommend__ttl {
    margin-top: 1.5em
}

.p-contents__recommend li a {
    border-bottom: 1px solid #f5f5f5;
    padding-bottom: .75em;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between
}

.p-contents__recommend li a:after {
    content: "";
    font-family: "icomoon";
    font-size: .8em;
    color: #d0d0d0;
    margin-right: 10px
}

.p-contents__point {
    border: 3px solid #f33f3e;
    background: #f5f5f5;
    border-radius: 12px;
    padding: 1.25em;
    position: relative
}

.p-contents__point__wrapper {
    margin-top: var(--layout-gutter-section)
}

.p-contents__point__wrapper ._current .p-contents__point {
    background: #fff;
    border: 3px solid #fff;
    pointer-events: none
}

.p-contents__point__wrapper ._current .p-contents__point span {
    color: #f9fafb
}

.p-contents__point__wrapper ._current .p-contents__point .p-contents__point__title {
    border-bottom: 1px solid #f9fafb
}

.p-contents__point__wrapper ._current .p-contents__point .c-btn,
.p-contents__point__wrapper ._current .p-contents__point .c-btn__block {
    background: #f9fafb;
    color: #fff
}

.p-contents__point__title {
    font-size: 2rem;
    line-height: 1.4;
    font-weight: bold;
    padding-bottom: .416em;
    margin-bottom: .416em;
    border-bottom: 1px solid #d0d0d0;
    display: block;
    width: 100%
}

.p-contents__point__image {
    border-radius: 1rem;
    width: 750px;
    height: 200px;
    -o-object-fit: cover;
    object-fit: cover
}

.p-contents__point a:hover>.p-contents__point__image {
    transition: .5s all ease-in-out
}

.p-contents__point a:hover>.p-contents__point__image:hover {
    transform: scale(1.2)
}

.p-contents__point a:hover>.p-contents__point__image {
    border-radius: 1rem
}

.p-contents__point__title:hover .p-contents__point__image {
    display: none
}

@media screen and (max-width: 767px) {
    .p-contents__header {
        padding: 0
    }

    .p-contents__header__title {
        font-size: 2.5rem;
        margin: 4%;
        padding-left: 1em
    }

    .p-contents__header__image {
        border-width: 0 !important;
        margin: 0;
        border-radius: 0
    }

    #interview .p-contents__header__title {
        font-size: 1.9rem
    }
}

.p-rakuten-unyo-daiko__ttl {
    font-weight: bold;
    font-size: 2rem;
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #0a0a0a
}

.p-rakuten-unyo-daiko__list {
    margin-top: 20px;
    margin-bottom: 20px
}

.p-rakuten-unyo-daiko__list {
    margin-top: 20px
}

.p-rakuten-unyo-daiko__item {
    position: relative
}

.p-rakuten-unyo-daiko__item h3,
.p-rakuten-unyo-daiko__item p {
    position: relative;
    z-index: 1
}

.p-rakuten-unyo-daiko__item__bg {
    width: 100%;
    height: 150px
}

.p-rakuten-unyo-daiko__item__inner {
    padding: 20px;
    background: #f8f8f8
}

.p-rakuten-unyo-daiko__list li:nth-child(1) .p-rakuten-unyo-daiko__item__bg {
    background: url(/common/img/content/img_content_rakuten-unyo-daiko_01.jpg) no-repeat;
    background-size: cover;
    background-position: center
}

.p-rakuten-unyo-daiko__list li:nth-child(2) .p-rakuten-unyo-daiko__item__bg {
    background: url(/common/img/content/img_content_rakuten-unyo-daiko_02.jpg) no-repeat;
    background-size: cover
}

.p-rakuten-unyo-daiko__list li:nth-child(3) .p-rakuten-unyo-daiko__item__bg {
    background: url(/common/img/content/img_content_rakuten-unyo-daiko_03.jpg) no-repeat;
    background-size: cover
}

.p-rakuten-unyo-daiko__list li:nth-child(4) .p-rakuten-unyo-daiko__item__bg {
    background: url(/common/img/content/img_content_rakuten-unyo-daiko_04.jpg) no-repeat;
    background-size: cover;
    background-position: bottom
}

.p-unyo-daiko-can__list li {
    background: #d0d0d0;
    padding: 10px;
    border-radius: 8px;
    color: #fff;
    text-align: center;
    border-width: .3vw !important
}

@media screen and (max-width: 767px) {
    .p-unyo-daiko-can__list li {
        border-width: 1vw !important
    }
}

.p-contents__nayami__list {
    margin-top: -10px
}

.p-contents__nayami__list__ttl {
    font-weight: bold;
    font-size: 2.2rem;
    color: #d0d0d0
}

.p-contents__nayami__list__item._current .p-contents__nayami__list__ttl {
    color: #f9fafb
}

.p-contents__nayami__list a .p-contents__nayami__list__ttl {
    transition: .3s all
}

.p-contents__nayami__list a .p-contents__nayami__list__ttl:hover {
    color: #d0d0d0
}

.p-contents__nayami__list__item._current {
    pointer-events: none
}

.p-contents__nayami__list__item._current:after {
    content: none
}

.p-contents__nayami__list__box .c-txt__color_gray {
    font-size: 1.4rem
}

.p-contents__nayami__list__box {
    padding-right: 2em
}

.p-contents__nayami__list__item+.p-contents__nayami__list__item {
    padding-top: 15px;
    margin-top: 15px;
    border-top: 1px solid #f5f5f5
}

.p-contents__nayami__list__item {
    position: relative
}

.p-contents__nayami__list__item a:hover {
    opacity: .8
}

.p-contents__nayami__list__item:after {
    display: inline-block;
    content: "";
    font-family: "icomoon";
    font-size: .8em;
    color: #d0d0d0;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%)
}

@media screen and (max-width: 767px) {
    .p-contents__nayami__list__ttl {
        font-size: 2rem
    }
}

.js-scrollable {
    overflow: auto
}

.p-rakuten-unyo-cost__tbl {
    margin-bottom: 40px
}

.p-rakuten-unyo-cost__tbl td {
    padding: 15px;
    border-right: 1px solid #d0d0d0;
    border-bottom: 1px solid #d0d0d0
}

.p-rakuten-unyo-cost__tbl .gray {
    background: #d0d0d0;
    width: 20%;
    text-align: center
}

.p-rakuten-unyo-cost__tbl .gray:not(:last-child) {
    border-right: 1px solid #fff
}

.p-rakuten-unyo-cost__tbl .blue {
    width: 10%;
    vertical-align: middle;
    background: #d0d0d0;
    color: #fff;
    text-align: center;
    border-left: 1px solid #d0d0d0
}

.p-unyo-cost__ttl {
    font-weight: bold;
    text-align: center;
    margin-top: 10px;
    font-size: 1.5em;
    margin-bottom: .5em
}

.p-unyo-cost__ttl ._kotei {
    font-size: 1.4em;
    color: #d0d0d0
}

.p-unyo-cost__ttl ._hendo {
    font-size: 1.4em;
    color: #f87024
}

.p-unyo-cost__box {
    padding: 20px;
    border-radius: 8px;
    border: 1px solid #d0d0d0
}

.p-unyo-cost__box .c-tbl__02 tr:nth-child(3) td {
    font-weight: bold
}

.p-unyo-cost__getsugaku {
    font-size: 28px;
    text-align: center;
    margin-bottom: 80px;
    font-weight: bold
}

.p-unyo-cost__getsugaku .c-txt__color_blue {
    padding-bottom: 4px;
    border-bottom: 2px solid #3486dd
}

@media screen and (max-width: 767px) {
    .p-unyo-cost__getsugaku {
        margin-top: -20px;
        margin-bottom: 60px;
        font-size: 23px;
        line-height: 2
    }
}

.p-rakuten-unyo-cost__tbl__sp {
    border: 1px solid #d0d0d0;
    margin-top: 10px !important
}

.p-rakuten-unyo-cost__tbl__sp tr {
    display: flex;
    flex-wrap: wrap;
    font-size: 13px;
    vertical-align: middle
}

.p-rakuten-unyo-cost__tbl__sp th {
    width: 24%;
    background: #d0d0d0;
    padding: 5px;
    border-bottom: 1px solid #fff
}

.p-rakuten-unyo-cost__tbl__sp td {
    width: 76%;
    padding: 5px;
    border-bottom: 1px solid #d0d0d0
}

.p-rakuten-unyo-analysis__listttl {
    font-size: 1.2em;
    text-align: center;
    margin: 35px auto 0 !important
}

.p-rakuten-unyo-analysis__list {
    margin-bottom: 35px !important
}

.p-rakuten-unyo-analysis__list li {
    background: #43a9a4;
    color: #fff;
    border-radius: .6em;
    padding: 10px 10px 10px 40px;
    border-radius: 12px;
    position: relative
}

.p-rakuten-unyo-analysis__list li::before {
    content: "";
    position: absolute;
    width: 7px;
    height: 12px;
    top: 1em;
    left: 1.1em;
    transform: rotate(50deg);
    border-right: 2px solid #f87024;
    border-bottom: 2px solid #f87024;
    z-index: 2
}

.p-rakuten-unyo-analysis__list li::after {
    content: "";
    position: absolute;
    top: .8em;
    left: .7em;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 3px;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .p-rakuten-unyo-analysis__list .valign-center {
        line-height: 3.2em
    }

    .p-rakuten-unyo-analysis__list .valign-center::before {
        top: 1.8em
    }

    .p-rakuten-unyo-analysis__list .valign-center::after {
        top: 1.6em
    }
}

.p-opening-store-plan_flow {
    margin: 50px auto
}

.p-opening-store-plan_flow p {
    margin-left: 13%
}

@media screen and (max-width: 767px) {
    .p-opening-store-plan_flow {
        margin: 20px auto
    }

    .p-opening-store-plan_flow p {
        margin-left: 0
    }
}

.p-opening-store-plan_arrow {
    text-align: center
}

.p-opening-store-plan_arrow .dli-arrow-down {
    display: inline-block;
    vertical-align: middle;
    color: #3486dd;
    line-height: 1;
    position: relative;
    width: .1em;
    height: 1.5em;
    background: currentColor
}

.p-opening-store-plan_arrow .dli-arrow-down::before {
    content: "";
    width: .65em;
    height: .65em;
    border: .1em solid currentColor;
    border-top: 0;
    border-right: 0;
    transform: rotate(-45deg);
    transform-origin: bottom left;
    position: absolute;
    left: 50%;
    bottom: -0.05em;
    box-sizing: border-box
}

.p-opening-store-plan_wrap {
    position: relative;
    background: #eff8ff;
    padding: 20px;
    margin: 5px auto
}

@media screen and (max-width: 767px) {
    .p-opening-store-plan_wrap {
        padding: 10px
    }
}

.p-opening-store-plan_ttl {
    font-weight: bold;
    font-size: 1.8rem;
    margin-bottom: 0.6818181818em
}

.p-opening-store-plan_ttl img {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto 0;
    left: 20px;
    width: 10%
}

@media screen and (max-width: 767px) {
    .p-opening-store-plan_ttl {
        top: 10px;
        left: 10px;
        margin-left: 13%
    }

    .p-opening-store-plan_ttl img {
        margin: 0;
        top: 3%;
        left: 3%
    }
}

.p-unyo-daiko-merit {
    margin-bottom: 50px
}

.p-unyo-daiko-merit_img01 {
    max-width: 50%;
    height: auto;
    float: right;
    margin: 0 0px 0px 20px;
    vertical-align: bottom
}

.p-unyo-daiko-merit_img02 {
    display: none
}

@media screen and (max-width: 767px) {
    .p-unyo-daiko-merit_img01 {
        display: none
    }

    .p-unyo-daiko-merit_img02 {
        display: block
    }
}

.p-unyo-daiko-merit p {
    margin: 20px 0 0 0;
    line-height: 1.6
}

.p-unyo-daiko-merit p:first-of-type {
    margin-top: 0
}

.p-unyo-daiko-merit::after {
    content: "";
    display: block;
    clear: both
}

.p-rakuten-unyo-speed_wrap {
    display: flex;
    margin: 2em auto
}

.p-rakuten-unyo-speed_wrap img {
    width: 50%
}

@media screen and (max-width: 767px) {
    .p-rakuten-unyo-speed_wrap {
        flex-direction: column
    }

    .p-rakuten-unyo-speed_wrap img {
        width: 100%
    }
}

.p-contents__banner {
    margin-top: var(--layout-gutter-section)
}

.p-rakuten-unyo-8point {
    background: #f5f5f5;
    padding: 30px 30px 60px;
    text-align: center;
    border-radius: 1rem 1rem 0 0
}

.p-works__wrapper+.p-works__wrapper {
    margin-top: 100px
}

.p-works__title {
    font-size: 20px;
    font-weight: bold;
    margin-top: 2.8em;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    color: #f33f3e;
    border-left: 6px solid #f33f3e;
    line-height: .8;
    padding: 18px;
    background: #efefef
}

.p-works__box {
    width: calc(50% - 40px)
}

.p-works__box__name {
    display: flex;
    gap: 5px;
    margin-bottom: 10px;
    align-items: center
}

.p-works__box__capture {
    margin-bottom: 20px;
    box-shadow: 0 0 10px rgba(0, 0, 0, .1)
}

.p-works__box__logo {
    width: 22%;
    display: flex;
    justify-content: center;
    align-items: center
}

.p-works__box__logo img {
    height: 40px !important;
    -o-object-fit: contain;
    object-fit: contain
}

.p-works__box__shop {
    width: 80%;
    font-size: 15px
}

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

.p-works__box__tag {
    color: #9d9d9d;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap
}

.p-works__box__tag li {
    color: #6b6b6b;
    list-style: none;
    margin: 0;
    padding: 4px;
    border: 1px solid #535353;
    font-size: 12px;
    font-size: 13px
}

.p-works__box__tag li._tag:before {
    content: ""
}

.p-works__box__tag li._tag {
    border: none
}

.p-works__box {
    display: flex;
    flex-direction: column
}

.p-works__box__name {
    order: 2
}

.p-works__box__tag {
    order: 3
}

.p-works__box__shop {
    margin: 0
}

@media screen and (max-width: 767px) {
    .p-works__title {
        font-size: 14px;
        padding: 15px
    }

    .p-works__list {
        flex-wrap: wrap
    }

    .p-works__box {
        width: 100%
    }

    .p-works__box__logo {
        width: 18%
    }

    .p-works__box__shop {
        width: 85%;
        font-size: 16px
    }
}

.p-contact {
    position: relative
}

.p-contact__baloon {
    display: inline-block;
    width: 90px;
    height: 90px;
    font-size: 1.8rem;
    background: #d0d0d0;
    border-radius: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3;
    font-weight: bold;
    color: #fff;
    position: absolute;
    left: 2%;
    top: -10%
}

.p-contact__soudan {
    padding: 4px 8px;
    background: #fff;
    border-radius: 4px;
    color: #f33f3e
}

.p-contact__baloon:before {
    content: "";
    position: absolute;
    bottom: 5px;
    right: -10px;
    border: 10px solid rgba(0, 0, 0, 0);
    border-left: 20px solid #d0d0d0;
    z-index: 0;
    transform: rotate(35deg)
}

@media screen and (min-width: 1200px) {
    .p-contact__tel {
        pointer-events: none
    }
}

.p-contact__tel span:before {
    content: "";
    font-family: "icomoon";
    vertical-align: middle;
    font-size: .8em;
    margin-right: 4px
}

@media screen and (max-width: 767px) {
    .p-contact {
        padding: 0px 10px
    }

    .p-contact__baloon {
        display: inline-block;
        position: absolute;
        width: auto;
        height: auto;
        padding: 8px 20px;
        margin: 0 auto 5px;
        text-align: center;
        top: 10px;
        left: 50%;
        transform: translateX(-50%)
    }

    .p-contact__baloon:before {
        bottom: -35px;
        left: 50%;
        transform: translateX(-50%) rotate(90deg);
        border-left: 16px solid #d0d0d0
    }

    .p-contact__tel {
        display: block;
        padding: 6px
    }
}

.q_list01formError.parentFormcontact_form.formError {
    top: 20px !important
}

@media screen and (min-width: 1200px) {
    .p-interview .c-hdg__ttl03 {
        font-size: 2.7rem
    }
}

.p-interview img {
    max-width: 100%
}

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

.p-interview__answer__client {
    width: 10%
}

.p-interview__answer__client {
    color: #d0d0d0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    width: 10%
}

.p-interview__answer__client__img {
    border-radius: 100px;
    width: 200px;
    margin-bottom: 5px
}

.p-interview__answer__txtarea {
    width: 86%
}

.p-interview__logo {
    display: flex;
    gap: 30px;
    margin-bottom: 30px;
    align-items: center
}

.p-interview__logo img {
    max-width: 300px;
    height: auto
}

.p-interview__logo__company {
    font-weight: bold;
    font-size: 1.2em
}

.p-interview__logo__txtarea {
    border-left: 1px solid #ddd;
    padding-left: 30px
}

.p-interview__logo__ecmall>ul {
    display: flex;
    gap: 5px;
    margin: 0;
    padding: 0
}

.p-interview__logo__ecmall {
    margin-top: 4px;
    display: flex;
    gap: 5px;
    align-items: center
}

.p-interview__logo__ecmall>ul li {
    display: inline-block;
    font-size: 14px;
    font-weight: bold;
    padding: 4px 8px;
    background: #fff;
    color: #6b6b6b;
    border: 1px solid #6b6b6b
}

.p-interview__logo__ecmall>ul li+li {
    margin-top: 0
}

@media screen and (max-width: 767px) {
    .p-interview__logo {
        flex-wrap: wrap;
        gap: 0
    }

    .p-interview__logo img {
        max-width: 200px
    }

    .p-interview__logo__txtarea {
        padding-left: 0;
        border-left: none
    }

    .p-interview__logo__txtarea p {
        font-size: 13px
    }

    .p-interview__logo__ecmall>ul li {
        font-size: 12px
    }
}

.p-interview__section+.p-interview__section {
    margin-top: 70px
}

.p-interview__img {
    margin-top: 30px
}

.p-interview__mv {
    margin-bottom: 30px
}

@media screen and (max-width: 767px) {
    .p-interview__mv {
        margin-bottom: 15px
    }

    .p-interview__mv__wrapper {
        display: flex;
        flex-direction: column-reverse;
        margin-bottom: 10px
    }
}

.p-interview__answer+.p-interview__answer {
    margin-top: 15px
}

.p-interview__introduction {
    border: 1px solid #ddd;
    padding: 20px;
    margin: 30px 0
}

.p-interview__introduction__box+.p-interview__introduction__box {
    margin-top: 40px
}

.p-interview__introduction__ttl {
    border-bottom: 1px solid #ddd;
    margin: 0 0 5px 0;
    padding-bottom: 5px;
    font-size: 1.2em;
    font-weight: bold
}

.p-interview__introduction__ttl span {
    color: #d0d0d0;
    font-size: 1.3em
}

.p-interview__introduction__list {
    padding: 0;
    margin: 0 0 0;
    list-style: none;
    line-height: 1.5
}

.p-interview__introduction__list li {
    padding-left: 1em;
    text-indent: -1em
}

.p-interview__introduction__list li:before {
    content: "・"
}

.p-interview__introduction__list._arw:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid rgba(0, 0, 0, 0);
    border-left: 10px solid rgba(0, 0, 0, 0);
    border-top: 15px solid #d0d0d0;
    margin: 10px 0 5px 1em;
    border-bottom: 0
}

.p-interview__introduction__success {
    font-size: 1.1em;
    padding: 10px;
    margin-top: 15px;
    line-height: 1.5;
    border: 2px solid #bf0000;
    line-height: 1.4;
    margin-bottom: 8px
}

.p-interview__introduction__success__txt {
    font-weight: bold;
    color: #bf0000;
    display: inline-block;
    font-size: 1.3em
}

.p-interview__introduction__success__number {
    font-size: 1.3em;
    color: #fff
}

.p-interview__question {
    font-size: 1.2em;
    margin-bottom: 20px;
    font-weight: bold
}

.p-interview__question span {
    line-height: 1.4;
    font-size: clamp(14px, 3vw, 16px)
}

.p-interview__answer__client {
    font-weight: bold;
    display: inline-block;
    text-align: center
}

.p-interview__gallery ul {
    display: flex;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 20px;
    margin: 30px 0
}

.p-interview__gallery__txt {
    font-size: .75em;
    text-align: center;
    color: #747474
}

@media screen and (max-width: 767px) {
    .p-interview__section:after {
        content: "";
        display: block;
        clear: both
    }

    .p-interview__answer__wrapper {
        float: left;
        display: inline
    }

    .p-interview__answer__client {
        display: inline-block;
        float: left;
        margin-right: 1.5em;
        width: 70px;
        text-align: center
    }

    .p-interview__answer__txtarea {
        display: block;
        width: 100%
    }
}

.p-lp__ttl01 {
    font-size: 40px;
    font-weight: 800;
    line-height: 1.5;
    margin-bottom: 36px;
    color: #0a0a0a;
    position: relative;
    display: block
}

@media screen and (max-width: 767px) {
    .p-lp__ttl01 {
        font-size: 22px
    }
}

.p-lp__ttl01 .c-txt__l {
    font-size: 60px;
    font-family: "Roboto";
    font-weight: 600;
    letter-spacing: -3px;
    padding-right: 3px
}

@media screen and (max-width: 767px) {
    .p-lp__ttl01 .c-txt__l {
        font-size: 38px
    }
}

.p-lp__ttl01:has(.c-txt__l) {
    line-height: 1.2
}

.p-lp__ttl02 {
    font-size: 30px;
    font-weight: 700;
    color: #0a0a0a;
    line-height: 1.5;
    margin-bottom: 30px;
    position: relative;
    display: block
}

@media screen and (max-width: 767px) {
    .p-lp__ttl02 {
        font-size: 22px
    }
}

.p-lp__ttl03 {
    font-size: 30px;
    font-weight: bold;
    background: #fff600;
    color: #000;
    padding: 2px 10px 2px 12px;
    display: inline-block;
    transform: skewX(-10deg)
}

@media screen and (max-width: 767px) {
    .p-lp__ttl03 {
        font-size: 20px
    }
}

.c-txt__color-main {
    color: #f33f3e
}

.c-txt__color-fff {
    color: #fff
}

.c-txt__br {
    display: inline-block
}

.p-lp__mv {
    background-image: url(../img/mv_bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    margin-top: var(--layout-header)
}

.p-lp01 {
    background: #fff
}

.p-lp01 .p-lp__ttl01::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0;
    width: 2em;
    height: 2em;
    background-image: url(https://www.baycross.jp/lp/rakuten-product-registration_test/common/img/con01_01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle
}

.p-lp01 .p-lp__ttl01::after {
    content: "";
    position: absolute;
    right: 0px;
    top: 0;
    width: 2em;
    height: 2em;
    background-image: url(https://www.baycross.jp/lp/rakuten-product-registration_test/common/img/con01_02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle
}

.p-lp01__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px
}

.p-lp01__list-item {
    display: flex;
    align-items: center;
    gap: 16px;
    background: #f5f5f5;
    border-radius: 8px;
    padding: 20px 24px
}

@media screen and (max-width: 767px) {
    .p-lp01__list-item {
        padding: 14px 14px
    }
}

.p-lp01__list-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    background: #f33f3e;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 900;
    font-size: 18px
}

@media screen and (max-width: 767px) {
    .p-lp01__list-icon {
        width: 30px;
        height: 30px
    }
}

.p-lp01__list-txt {
    font-size: 20px;
    color: #0a0a0a;
    line-height: 1.6
}

@media screen and (max-width: 767px) {
    .p-lp01__list-txt {
        font-size: 14px
    }
}

.p-lp01__list-txt strong {
    color: #f33f3e;
    font-weight: bold;
    font-size: 22px
}

@media screen and (max-width: 767px) {
    .p-lp01__list-txt strong {
        font-size: 18px
    }
}

.p-lp02 {
    background: linear-gradient(135deg, #F33F3E 0%, #e30808 100%);
    position: relative;
    overflow: hidden;
    padding-bottom: 0px;
    clip-path: polygon(0 0%, 50% 20%, 100% 0%, 100% 100%, 50% 100%, 0 100%)
}

@media screen and (max-width: 767px) {
    .p-lp02 {
        clip-path: polygon(0 0%, 50% 15%, 100% 0%, 100% 100%, 50% 100%, 0 100%)
    }
}

.p-lp02>.c-lyt__inner {
    padding: 100px 0 0 0
}

@media screen and (max-width: 767px) {
    .p-lp02>.c-lyt__inner {
        padding-top: 60px
    }
}

.p-lp02::before,
.p-lp02::after {
    content: "»";
    position: absolute;
    font-size: 200px;
    color: hsla(0, 0%, 100%, .08);
    font-weight: 900;
    line-height: 1
}

@media screen and (max-width: 767px) {

    .p-lp02::before,
    .p-lp02::after {
        font-size: 100px
    }
}

.p-lp02::before {
    top: -20px;
    left: 0px
}

.p-lp02::after {
    bottom: -20px;
    right: 0px
}

.p-lp02__label {
    display: inline-block;
    font-size: 24px;
    font-weight: 700;
    color: #fff600;
    margin-bottom: 16px;
    border-bottom: 2px solid #fff600;
    padding-bottom: 4px
}

@media screen and (max-width: 767px) {
    .p-lp02__label {
        line-height: 1.25;
        padding-bottom: 10px
    }
}

.p-lp02__catch {
    font-size: 34px;
    font-weight: 800;
    color: #fff;
    line-height: 2;
    margin-bottom: 8px
}

@media screen and (max-width: 767px) {
    .p-lp02__catch {
        font-size: 20px;
        margin-bottom: 20px
    }
}

.p-lp02__catch em {
    font-size: 40px;
    font-style: normal;
    background: #fff600;
    color: #000;
    padding: 2px 10px 2px 12px;
    margin-right: 10px;
    display: inline-block;
    transform: skewX(-10deg)
}

@media screen and (max-width: 767px) {
    .p-lp02__catch em {
        font-size: 20px
    }
}

.p-lp03 {
    background-image: url(../img/con03_bg.svg);
    background-size: 100%;
    position: relative;
    padding-top: 100px
}

@media screen and (max-width: 767px) {
    .p-lp03 {
        padding-top: 60px
    }
}

.p-lp03::before {
    content: "";
    position: absolute;
    top: -1px;
    left: 0;
    width: 100%;
    border-style: solid;
    border-right: 38vw solid rgba(0, 0, 0, 0);
    border-left: 38vw solid rgba(0, 0, 0, 0);
    border-top: 60px solid #e91e1b;
    border-bottom: 0
}

@media screen and (max-width: 767px) {
    .p-lp03::before {
        border-right: 50vw solid rgba(0, 0, 0, 0);
        border-left: 50vw solid rgba(0, 0, 0, 0);
        border-top: 35px solid #e91e1b
    }
}

.p-lp03 .p-lp03__box {
    width: 100%;
    margin: 0 auto 40px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, .2);
    align-items: center
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__box {
        margin: 0 auto 20px
    }
}

.p-lp03 .p-lp03__points {
    margin-top: 80px
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points {
        margin-top: 0px
    }
}

.p-lp03 .p-lp03__points-card {
    position: relative;
    height: 100%;
    padding: 0px 0 24px 56px
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-card {
        padding: 10px
    }
}

.p-lp03 .p-lp03__points-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 10px;
    width: 4px;
    height: 100%;
    background: #f04a4a
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-card::before {
        display: none
    }
}

.p-lp03 .p-lp03__points-img {
    position: relative;
    aspect-ratio: 7/5;
    overflow: hidden;
    border-radius: 10px;
    background: #f3f3f3;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-img {
        aspect-ratio: 9/5
    }
}

.p-lp03 .p-lp03__points-img img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    display: block
}

.p-lp03 .p-lp03__points-num {
    margin: 0 0 32px;
    color: #cfcfcf;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .04em
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-num {
        font-size: 1.4rem;
        margin: 0 0 12px
    }
}

.p-lp03 .p-lp03__points-num span {
    font-size: 6rem;
    font-weight: 700;
    line-height: 1
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-num span {
        font-size: 2.5rem
    }
}

.p-lp03 .p-lp03__points-title {
    margin-bottom: 10px;
    color: #111;
    font-size: 38px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .02em
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-title {
        font-size: 20px;
        margin-bottom: 6px
    }
}

.p-lp03 .p-lp03__points-title .u-txt__red {
    color: #f04a4a
}

.p-lp03 .p-lp03__points-text {
    margin: 0;
    color: #111;
    font-size: 18px;
    font-weight: normal;
    letter-spacing: .02em
}

@media screen and (max-width: 767px) {
    .p-lp03 .p-lp03__points-text {
        font-size: 16px;
        line-height: 1.5;
        margin-bottom: 10px
    }
}

.p-lp03 .p-lp03__points-mark {
    display: inline;
    padding: .05em .2em;
    background: linear-gradient(transparent 20%, #ffe100 20%)
}

.p-lp04 {
    padding: 60px 0;
    background: #f9fafb
}

.p-lp04__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px
}

@media screen and (max-width: 767px) {
    .p-lp04__grid {
        gap: 10px;
        grid-template-columns: repeat(1, 1fr)
    }
}

.p-lp04__item {
    background: #fff;
    border-radius: 10px;
    padding: 15px 10px;
    text-align: center;
    box-shadow: 2px 2px 10px -5px rgba(0, 0, 0, .2);
    display: flex;
    align-items: center
}

@media screen and (max-width: 767px) {
    .p-lp04__item {
        padding: 10px 10px
    }
}

.p-lp04__item-icon {
    width: 3em;
    height: 3em;
    margin: 0 .75em 0 .25em;
    background: #fff0f0;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    display: flex;
    align-items: center
}

.p-lp04__item-icon svg {
    width: 1.5em;
    height: 1.5em;
    fill: #f33f3e
}

.p-lp04__item-txt {
    font-size: 18px;
    color: #0a0a0a;
    line-height: 1.5;
    text-align: left
}

@media screen and (max-width: 767px) {
    .p-lp04__item-txt {
        font-size: 16px
    }
}

.p-lp05 {
    background: #fff
}

.p-lp05__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 16px;
    margin-top: 40px
}

@media screen and (max-width: 767px) {
    .p-lp05__grid {
        gap: 10px;
        grid-template-columns: repeat(2, 1fr)
    }
}

.p-lp05__card {
    border: 1px solid #f5f5f5;
    background-color: #f9fafb;
    border-radius: 12px;
    padding: 20px 16px;
    text-align: center;
    display: flex;
    flex-flow: column;
    align-items: center
}

@media screen and (max-width: 767px) {
    .p-lp05__card {
        border-radius: 5px;
        padding: 20px 10px
    }
}

.p-lp05__card-label {
    font-size: 16px;
    line-height: 1.5
}

.p-lp05__card-num {
    font-size: 44px;
    font-weight: 900;
    color: #f33f3e;
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1;
    margin-top: 10px
}

@media screen and (max-width: 767px) {
    .p-lp05__card-num {
        font-size: 38px
    }
}

.p-lp05__card-num.patch {
    line-height: .6 !important
}

.p-lp05__card-num span {
    font-size: 18px
}

.p-lp05__card-note {
    font-size: 12px;
    color: #9c9c9c;
    font-weight: normal;
    margin-top: 4px;
    line-height: 1.5
}

.p-lp06 {
    background: #fc5c66;
    background-image: url(../img/con06_bg.svg);
    background-repeat: no-repeat;
    background-position: top;
    position: relative
}

.p-lp06::before,
.p-lp06::after {
    content: "»";
    position: absolute;
    font-size: 200px;
    color: hsla(0, 0%, 100%, .08);
    font-weight: 900;
    line-height: 1
}

.p-lp06::before {
    top: -20px;
    left: -10px
}

.p-lp06::after {
    bottom: -20px;
    right: -10px
}

@media screen and (max-width: 767px) {
    .p-lp06 .p-lp__ttl03 {
        margin-top: -100px
    }
}

.p-lp06 .p-lp__ttl01 {
    padding-top: 20px
}

@media screen and (max-width: 767px) {
    .p-lp06 .p-lp__ttl01 {
        padding-top: 0px;
        margin-bottom: 20px
    }
}

.p-lp06__card {
    background: #fff;
    border-radius: 16px;
    padding: 40px 32px;
    text-align: center
}

@media screen and (max-width: 767px) {
    .p-lp06__card {
        padding: 20px 12px 25px 12px
    }
}

.p-lp06__card-label {
    display: inline-block;
    background: #f33f3e;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 16px;
    border-radius: 20px;
    margin-bottom: 16px
}

.p-lp06__card-ttl {
    font-size: 18px;
    font-weight: 700;
    color: #0a0a0a;
    margin-bottom: 8px
}

.p-lp06__card-price {
    font-size: 38px;
    font-weight: 900;
    color: #f33f3e;
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    line-height: 1;
    margin-bottom: 8px
}

@media screen and (max-width: 767px) {
    .p-lp06__card-price {
        font-size: 28px;
        margin-bottom: 18px
    }
}

.p-lp06__card-price span.c-txt__l {
    font-size: 54px
}

@media screen and (max-width: 767px) {
    .p-lp06__card-price span.c-txt__l {
        font-size: 44px
    }
}

.p-lp06__card-price span.c-txt__s {
    font-size: 20px;
    color: #0a0a0a
}

@media screen and (max-width: 767px) {
    .p-lp06__card-price span.c-txt__s {
        font-size: 18px
    }
}

.p-lp06__card-note {
    font-size: 12px;
    color: #4a5565
}

.p-lp06__features {
    margin-top: 30px;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center
}

.p-lp06__features li {
    background: #fff0f0;
    border: 1px solid #f33f3e;
    color: #f33f3e;
    font-size: 16px;
    padding: 6px 14px;
    border-radius: 20px
}

@media screen and (max-width: 767px) {
    .p-lp06__features li {
        width: 80%
    }
}

.p-lp06__features2 {
    margin-top: 16px;
    list-style: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 26px;
    justify-content: center
}

@media screen and (max-width: 767px) {
    .p-lp06__features2 {
        flex-direction: column;
        gap: 5px
    }
}

.p-lp06__features2 li {
    position: relative;
    font-weight: bold;
    padding: 10px 5px 10px 2em;
    font-size: 18px;
    border-bottom: solid 2px #f33f3e
}

@media screen and (max-width: 767px) {
    .p-lp06__features2 li {
        display: inline-block
    }
}

.p-lp06 .p-lp06__features2 li::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 50%;
    width: 1.5em;
    height: 1.5em;
    transform: translateY(-50%);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg width='43' height='43' viewBox='0 0 43 43' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='21.5' cy='21.5' r='20.4445' stroke='%23F33F3E' stroke-width='2.11099'/%3E%3Cpath d='M30.8109 11.8008C24.2259 15.459 17.56 25.8653 17.56 25.8653L11.5448 19.0364L7.96753 22.4508L16.6655 33.2627L19.836 33.1409C23.901 20.946 32.8839 12.7764 32.8839 12.7764L30.8109 11.8008Z' fill='%23F33F3E'/%3E%3C/svg%3E")
}

.p-lp07 {
    background: #f5f5f5
}

.p-lp07__steps {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin-top: 40px
}

@media screen and (max-width: 1023px) {
    .p-lp07__steps {
        gap: 16px
    }
}

@media screen and (max-width: 767px) {
    .p-lp07__steps {
        flex-direction: column;
        gap: 12px
    }
}

@media screen and (max-width: 767px) {
    .p-lp07 .p-lp07__step-box {
        text-align: left
    }
}

.p-lp07__step {
    width: calc((100% - 120px)/5);
    background: #fff;
    border: solid 1px #e8e8e8;
    border-radius: 8px;
    padding: 20px 12px;
    text-align: center;
    position: relative
}

@media screen and (max-width: 1023px) {
    .p-lp07__step {
        width: calc((100% - 120px)/3)
    }
}

@media screen and (max-width: 767px) {
    .p-lp07__step {
        width: 100%;
        display: flex;
        padding: 10px 12px;
        gap: 10px;
        align-items: center
    }
}

.p-lp07__step+.p-lp07__step {
    margin-left: 30px
}

.p-lp07__step+.p-lp07__step::before {
    content: "▶";
    position: absolute;
    left: -20px;
    top: 50%;
    transform: translateY(-50%);
    color: #f33f3e;
    font-size: 12px
}

@media screen and (max-width: 767px) {
    .p-lp07__step+.p-lp07__step {
        margin-left: 0
    }

    .p-lp07__step+.p-lp07__step::before {
        content: "▼";
        left: 50%;
        top: -12px;
        transform: translateX(-50%)
    }
}

@media screen and (max-width: 767px)and (max-width: 1023px) {
    .p-lp07__step+.p-lp07__step::before {
        top: -19px
    }
}

.p-lp07__step-num {
    display: inline-block;
    background: #f33f3e;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 3px 10px;
    border-radius: 20px;
    margin-bottom: 12px;
    font-family: "Roboto", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif
}

@media screen and (max-width: 1023px) {
    .p-lp07__step-num {
        aspect-ratio: 1/1;
        border-radius: 50px;
        margin-bottom: 0px;
        display: flex;
        align-items: center;
        line-height: 1.25
    }
}

.p-lp07__step-icon {
    width: 52px;
    height: 52px;
    margin: 0 auto 12px
}

@media screen and (max-width: 1023px) {
    .p-lp07__step-icon {
        margin: 0 5px;
        height: auto
    }
}

.p-lp07__step-icon img {
    width: 100%
}

.p-lp07__step-ttl {
    font-size: 14px;
    font-weight: 700;
    color: #0a0a0a;
    margin-bottom: 6px
}

.p-lp07__step-txt {
    font-size: 12px;
    color: #4a5565;
    line-height: 1.6
}

.p-lp08__faq {
    margin-top: 40px
}

.p-lp08__item {
    border: 1px solid #ddd;
    border-radius: 10px;
    margin-bottom: 12px;
    overflow: hidden
}

.p-lp08__item.is-open .p-lp08__answer {
    max-height: 300px;
    padding: 16px
}

.p-lp08__item.is-open .p-lp08__ico {
    transform: rotate(225deg)
}

.p-lp08__question {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    background: #f5f5f5;
    border: none;
    cursor: pointer
}

.p-lp08__q,
.p-lp08__a {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ff6b6b;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    flex-shrink: 0
}

.p-lp08__a {
    background: #fff;
    color: #ff6b6b;
    border: 2px solid #ff6b6b
}

.p-lp08__txt {
    flex: 1;
    text-align: left
}

.p-lp08__ico {
    width: 10px;
    height: 10px;
    border-right: 2px solid #333;
    border-bottom: 2px solid #333;
    transform: rotate(45deg);
    transition: .3s
}

.p-lp08__answer {
    max-height: 0;
    overflow: hidden;
    transition: all .3s ease;
    padding: 0 16px
}

.p-lp08__answer-inner {
    display: flex;
    gap: 16px;
    align-items: flex-start
}

.p-contact-section {
    background: #f5f5f5;
    padding: 120px 0 60px
}

.p-contact-section .c-btn.arw::after,
.p-contact-section .c-btn__block.arw::after {
    position: absolute;
    right: 20px
}

.p-contact-section.p-contact-sectionnext {
    height: 94.5vh
}

@media screen and (max-width: 767px) {
    .p-contact-section {
        padding: 100px 0 40px
    }
}

@media screen and (max-width: 767px) {
    .p-contact-section .p-lp__ttl02 {
        margin-bottom: 20px
    }
}

.p-contact-section__head {
    text-align: center;
    margin-bottom: 36px
}

@media screen and (max-width: 767px) {
    .p-contact-section__head {
        margin-bottom: 30px
    }
}

.p-contact-section__ttl {
    font-size: 24px;
    font-weight: 800;
    color: #0a0a0a;
    line-height: 1.5;
    margin-bottom: 8px
}

.p-contact-section__ttl em {
    color: #f33f3e;
    font-style: normal
}

.p-contact-section__body {
    padding: 30px;
    border-radius: 10px;
    background-color: #fff
}

@media screen and (max-width: 767px) {
    .p-contact-section__body {
        padding: 10px 20px;
        border-radius: 0px
    }
}

.p-contact-section__sub {
    font-size: 16px;
    color: #4a5565
}

@media screen and (max-width: 767px) {
    .p-contact-section .p-top-contact__flow {
        padding-bottom: 15px
    }
}

.company_box {
    margin-top: 40px
}

.c-btn__block {
    margin: 20px 0
}

#kakunin-btn,
#kakunin-btn-side {
    background: #9c9c9c;
    border-color: #9c9c9c;
    color: #fff;
    pointer-events: none;
    cursor: default
}

#kakunin-btn::after,
#kakunin-btn-side::after {
    border-color: #fff
}

#kakunin-btn.is-active,
#kakunin-btn-side.is-active {
    background: gold;
    border-color: gold;
    color: #0a0a0a;
    pointer-events: auto;
    cursor: pointer;
    font-weight: bold
}

#kakunin-btn.is-active::after,
#kakunin-btn-side.is-active::after {
    border-color: #0a0a0a
}

#kakunin-btn.is-active:hover,
#kakunin-btn-side.is-active:hover {
    background: #e6c200;
    border-color: #e6c200;
    color: #0a0a0a
}

.c-btn__send {
    background: gold;
    border-color: gold;
    color: #0a0a0a;
    font-weight: bold
}

.c-btn__send::after {
    border-color: #0a0a0a
}

.c-btn__send:hover {
    background: #e6c200;
    border-color: #e6c200;
    color: #0a0a0a
}

#side .side__ttl {
    font-size: 16px
}

#side #side_form label+label {
    margin: 0px
}

#side .side__inner {
    margin-top: 10px
}

#side .side__store-checks {
    display: flex;
    flex-wrap: wrap;
    gap: .25em 1em
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.slick-list {
    position: relative;
    overflow: hidden;
    display: block;
    margin: 0;
    padding: 0
}

.slick-list:focus {
    outline: none
}

.slick-list.dragging {
    cursor: pointer;
    cursor: hand
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0)
}

.slick-track {
    position: relative;
    left: 0;
    top: 0;
    display: block;
    margin-left: auto;
    margin-right: auto
}

.slick-track:before,
.slick-track:after {
    content: "";
    display: table
}

.slick-track:after {
    clear: both
}

.slick-loading .slick-track {
    visibility: hidden
}

.slick-slide {
    float: left;
    height: 100%;
    min-height: 1px
}

[dir=rtl] .slick-slide {
    float: right
}

.slick-slide img {
    display: block
}

.slick-slide.slick-loading img {
    display: none
}

.slick-slide {
    display: none
}

.slick-slide.dragging img {
    pointer-events: none
}

.slick-initialized .slick-slide {
    display: block
}

.slick-loading .slick-slide {
    visibility: hidden
}

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid rgba(0, 0, 0, 0)
}

.slick-arrow.slick-hidden {
    display: none
}

.slick-prev,
.slick-next {
    position: absolute;
    display: block;
    height: 20px;
    width: 20px;
    line-height: 0px;
    cursor: pointer;
    background: rgba(0, 0, 0, 0);
    color: rgba(0, 0, 0, 0);
    top: 46%;
    outline: none
}

.slick-prev::after,
.slick-next::after {
    display: block;
    height: 20px;
    width: 20px;
    padding: 0;
    content: "";
    border-style: solid;
    border-color: #f87024;
    border-width: 4px 4px 0 0
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    outline: none;
    background: rgba(0, 0, 0, 0);
    color: rgba(0, 0, 0, 0)
}

.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
    opacity: 1
}

.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
    opacity: .25
}

.slick-prev {
    left: calc((100% - 910px)/2);
    z-index: 50
}

[dir=rtl] .slick-prev {
    left: auto;
    right: -25px
}

.slick-prev::after {
    transform: rotate(-135deg)
}

.slick-prev:before {
    content: ""
}

[dir=rtl] .slick-prev:before {
    content: ""
}

.slick-next {
    right: calc((100% - 910px)/2)
}

[dir=rtl] .slick-next {
    left: -25px;
    right: auto
}

.slick-next::after {
    transform: rotate(45deg)
}

.slick-next:before {
    content: ""
}

[dir=rtl] .slick-next:before {
    content: ""
}

.public_slider .slick-prev,
.public_slider .slick-next {
    top: auto;
    bottom: 5px;
    border-color: #fff600
}

.public_slider .slick-prev {
    left: calc(50% - 160px)
}

.public_slider .slick-next {
    right: calc(50% - 160px)
}

.slick-dotted.slick-slider {
    margin-bottom: 30px
}

.slick-dots {
    position: absolute;
    bottom: -35px;
    list-style: none;
    display: block;
    text-align: center;
    padding: 0;
    margin: 0;
    width: 100%
}

.slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer
}

.slick-dots li button {
    border: 0;
    background: rgba(0, 0, 0, 0);
    display: block;
    height: 20px;
    width: 20px;
    outline: none;
    line-height: 0px;
    font-size: 0px;
    color: rgba(0, 0, 0, 0);
    padding: 5px;
    cursor: pointer
}

.slick-dots li button:hover,
.slick-dots li button:focus {
    outline: none
}

.slick-dots li button:hover:before,
.slick-dots li button:focus:before {
    opacity: 1
}

.slick-dots li button:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "";
    width: 12px;
    height: 12px;
    content: "";
    display: block;
    background: #f87024;
    border-radius: 50%;
    display: block;
    opacity: .25;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.slick-dots li.slick-active button:before {
    color: #f87024;
    opacity: .75
}

.p-top__slide_wrap .slick-nav-arrows {
    display: flex;
    justify-content: space-between;
    width: 90px;
    margin-top: 20px
}

.p-top__slide_wrap .slick-prev,
.p-top__slide_wrap .slick-next {
    position: relative;
    height: 40px;
    width: 40px;
    z-index: 50;
    border: solid 2px #000;
    left: auto;
    right: auto
}

.p-top__slide_wrap .slick-prev::after,
.p-top__slide_wrap .slick-next::after {
    display: block;
    height: 12px;
    width: 12px;
    border-color: #000;
    margin: auto
}

.p-top__slide_wrap .slick-prev:hover:not(.slick-disabled),
.p-top__slide_wrap .slick-next:hover:not(.slick-disabled) {
    background: #f87024
}

.p-top__slide_wrap .slick-prev.slick-disabled,
.p-top__slide_wrap .slick-next.slick-disabled {
    opacity: .3;
    cursor: default
}

.p-top__slide_wrap .slick-dots {
    bottom: -50px;
    display: flex
}

.p-top__slide_wrap .slick-dots li {
    position: relative;
    display: inline-block;
    height: 5px;
    width: 100%;
    margin: 0;
    padding: 0;
    cursor: pointer;
    background: #fff600
}

.p-top__slide_wrap .slick-dots li:first-of-type {
    border-radius: 2px 0 0 2px
}

.p-top__slide_wrap .slick-dots li.slick-active {
    background: #f87024
}

.p-top__slide_wrap .slick-dots li button {
    display: none
}

.p-top__slide_wrap .slick-dots li.slick-active button:before {
    opacity: 1;
    background: #f87024
}

.p-top__column .p-top__slide_wrap .slick-dots li.slick-active {
    background: #fff600
}

.p-point__itemslide .slick-prev::after,
.p-point__itemslide .slick-next::after {
    border-color: #000
}

.p-point__itemslide .slick-dots li button:before {
    background: #000
}

.mfp-bg {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5042;
    overflow: hidden;
    position: fixed;
    background: #0b0b0b;
    opacity: .8
}

.mfp-wrap {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5043;
    position: fixed;
    outline: none !important;
    -webkit-backface-visibility: hidden
}

.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box
}

.mfp-container:before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle
}

.mfp-align-top .mfp-container:before {
    display: none
}

.mfp-content {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    margin: 0 auto;
    text-align: left;
    z-index: 5045
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
    width: 100%;
    cursor: auto
}

.mfp-ajax-cur {
    cursor: progress
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: zoom-out
}

.mfp-zoom {
    cursor: pointer;
    cursor: zoom-in
}

.mfp-auto-cursor .mfp-content {
    cursor: auto
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.mfp-loading.mfp-figure {
    display: none
}

.mfp-hide {
    display: none !important
}

.mfp-preloader {
    color: #ccc;
    position: absolute;
    top: 50%;
    width: auto;
    text-align: center;
    margin-top: -0.8em;
    left: 8px;
    right: 8px;
    z-index: 5044
}

.mfp-preloader a {
    color: #ccc
}

.mfp-preloader a:hover {
    color: #fff
}

.mfp-s-ready .mfp-preloader {
    display: none
}

.mfp-s-error .mfp-content {
    display: none
}

button.mfp-close,
button.mfp-arrow {
    overflow: visible;
    cursor: pointer;
    background: rgba(0, 0, 0, 0);
    border: 0;
    -webkit-appearance: none;
    display: block;
    outline: none;
    padding: 0;
    z-index: 5046;
    box-shadow: none;
    touch-action: manipulation
}

button::-moz-focus-inner {
    padding: 0;
    border: 0
}

.mfp-close {
    width: 44px;
    height: 44px;
    position: absolute;
    right: 0;
    top: 0;
    text-decoration: none;
    text-align: center;
    opacity: .65;
    padding: 0 0 18px 10px;
    color: #fff;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace
}

.mfp-close:hover,
.mfp-close:focus {
    opacity: 1
}

.mfp-close:active {
    top: 1px
}

.mfp-close-btn-in .mfp-close {
    color: #fff
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
    color: #fff;
    right: -6px;
    text-align: right;
    padding-right: 6px;
    width: 100%
}

.mfp-counter {
    position: absolute;
    top: 0;
    right: 0;
    color: #ccc;
    font-size: 12px;
    line-height: 18px;
    white-space: nowrap
}

.mfp-arrow {
    position: absolute;
    opacity: .65;
    margin: 0;
    top: 50%;
    margin-top: -55px;
    padding: 0;
    width: 90px;
    height: 110px;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
}

.mfp-arrow:active {
    margin-top: -54px
}

.mfp-arrow:hover,
.mfp-arrow:focus {
    opacity: 1
}

.mfp-arrow:before,
.mfp-arrow:after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset rgba(0, 0, 0, 0)
}

.mfp-arrow:after {
    border-top-width: 13px;
    border-bottom-width: 13px;
    top: 8px
}

.mfp-arrow:before {
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: .7
}

.mfp-arrow-left {
    left: 0
}

.mfp-arrow-left:after {
    border-right: 17px solid #fff;
    margin-left: 31px
}

.mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3f3f3f
}

.mfp-arrow-right {
    right: 0
}

.mfp-arrow-right:after {
    border-left: 17px solid #fff;
    margin-left: 39px
}

.mfp-arrow-right:before {
    border-left: 27px solid #3f3f3f
}

.mfp-iframe-holder {
    padding-top: 40px;
    padding-bottom: 40px
}

.mfp-iframe-holder .mfp-content {
    line-height: 0;
    width: 100%;
    max-width: 900px
}

.mfp-iframe-holder .mfp-close {
    top: -40px
}

.mfp-iframe-scaler {
    width: 100%;
    height: 0;
    overflow: hidden;
    padding-top: 56.25%
}

.mfp-iframe-scaler iframe {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    background: #000
}

img.mfp-img {
    width: auto;
    max-width: 100%;
    height: auto;
    display: block;
    line-height: 0;
    box-sizing: border-box;
    padding: 40px 0 40px;
    margin: 0 auto
}

.mfp-figure {
    line-height: 0
}

.mfp-figure:after {
    content: "";
    position: absolute;
    left: 0;
    top: 40px;
    bottom: 40px;
    display: block;
    right: 0;
    width: auto;
    height: auto;
    z-index: -1;
    box-shadow: 0 0 8px rgba(0, 0, 0, .6);
    background: #444
}

.mfp-figure small {
    color: #bdbdbd;
    display: block;
    font-size: 12px;
    line-height: 14px
}

.mfp-figure figure {
    margin: 0
}

.mfp-bottom-bar {
    margin-top: -36px;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    cursor: auto
}

.mfp-title {
    text-align: left;
    line-height: 18px;
    color: #f3f3f3;
    word-wrap: break-word;
    padding-right: 36px
}

.mfp-image-holder .mfp-content {
    max-width: 100%
}

.mfp-gallery .mfp-image-holder .mfp-figure {
    cursor: pointer
}

@media screen and (max-width: 800px)and (orientation: landscape),
screen and (max-height: 300px) {
    .mfp-img-mobile .mfp-image-holder {
        padding-left: 0;
        padding-right: 0
    }

    .mfp-img-mobile img.mfp-img {
        padding: 0
    }

    .mfp-img-mobile .mfp-figure:after {
        top: 0;
        bottom: 0
    }

    .mfp-img-mobile .mfp-figure small {
        display: inline;
        margin-left: 5px
    }

    .mfp-img-mobile .mfp-bottom-bar {
        background: rgba(0, 0, 0, .6);
        bottom: 0;
        margin: 0;
        top: auto;
        padding: 3px 5px;
        position: fixed;
        box-sizing: border-box
    }

    .mfp-img-mobile .mfp-bottom-bar:empty {
        padding: 0
    }

    .mfp-img-mobile .mfp-counter {
        right: 5px;
        top: 3px
    }

    .mfp-img-mobile .mfp-close {
        top: 0;
        right: 0;
        width: 35px;
        height: 35px;
        line-height: 35px;
        background: rgba(0, 0, 0, .6);
        position: fixed;
        text-align: center;
        padding: 0
    }
}

@media all and (max-width: 900px) {
    .mfp-arrow {
        transform: scale(0.75)
    }

    .mfp-arrow-left {
        transform-origin: 0
    }

    .mfp-arrow-right {
        transform-origin: 100%
    }

    .mfp-container {
        padding-left: 6px;
        padding-right: 6px
    }
}

@font-face {
    font-family: "icomoon";
    src: url("../fonts/icomoon.eot?owhy99");
    src: url("../fonts/icomoon.eot?owhy99#iefix") format("embedded-opentype"), url("../fonts/icomoon.ttf?owhy99") format("truetype"), url("../fonts/icomoon.woff?owhy99") format("woff"), url("../fonts/icomoon.svg?owhy99#icomoon") format("svg");
    font-weight: normal;
    font-style: normal;
    font-display: block
}

[class^=icon-],
[class*=" icon-"] {
    font-family: "icomoon" !important;
    speak: never;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

.icon-Icon-business:before {
    content: ""
}

.icon-Icon-feather-external-link:before {
    content: ""
}

.icon-Icon-awesome-phone:before {
    content: ""
}

.icon-Icon-ionic-md-mail:before {
    content: ""
}

.icon-Icon-feather-arrow-right:before {
    content: ""
}

.icon-Icon-awesome-caret-right:before {
    content: ""
}

.icon-list-ul:before {
    content: ""
}

.icon-document:before {
    content: ""
}

/*# sourceMappingURL=style.css.map */

.c-form__content__input {
    font-size: 16px;
}