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

body {
    line-height: 1
}

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

nav ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

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

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

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

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

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    border-bottom: 1px dotted;
    cursor: help
}

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

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

input,
select {
    vertical-align: middle
}

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

a,
area,
button,
[role="button"],
input:not([type="range"]),
label,
select,
summary,
textarea {
    -ms-touch-action: manipulation;
    touch-action: manipulation
}

html {
    font-size: 1.8vw
}

@media screen and (min-width: 1000px) {
    html {
        font-size: 18px
    }
}

@media screen and (max-width: 768px) {
    html {
        font-size: 3.86vw
    }
}

body {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 400;
    font-style: normal
}

body a {
    color: inherit;
    text-decoration: none
}

body img {
    width: 100%;
    height: auto;
    vertical-align: bottom
}

body em {
    font-style: normal
}

body li {
    list-style: none
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-weight: inherit
}

.wrap {
    background: #fff;
    width: 100%;
    color: #323232
}

body a {
    transition: all .2s ease-in-out;
    cursor: pointer
}

body a:hover {
    opacity: .7
}

@media screen and (max-width: 768px) {
    body a:hover {
        opacity: 1
    }
}

.wrap img {
    width: 100%;
    height: auto
}

.wrap .pc {
    display: none
}

.wrap .sp {
    display: none
}

.wrap .blue {
    color: #006bc6
}

.wrap .number,
.wrap .eng {
    font-family: "Oswald", sans-serif;
    font-weight: 700
}

@media screen and (max-width: 768px) {
    .wrap .sp {
        display: block
    }

    .wrap .pc {
        display: none
    }
}

.header {
    background: #fff;
    width: 100%;
    color: #323232;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000
}

.header__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: .25rem 0;
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: space-between
}

.header__heading {
    font-size: 1.66rem;
    display: flex;
    align-items: center
}

.header__heading .icon {
    width: 1em;
    margin: 0 .3em 0 0
}

.header__heading .main {
    font-weight: 900;
    transform: skewX(-10deg)
}

.header__heading .main01 {
    background: linear-gradient(#4fd3ff 20%, #2c6bcd 80%);
    color: #006bc6;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.header__heading .main02 {
    background: linear-gradient(#efa909 20%, #e11e1c 80%);
    color: #ff7252;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent
}

.header__button {
    text-align: end;
    font-size: .8rem;
    font-weight: 700;
    line-height: 2em
}

.header__button a {
    display: block
}

.header__button .number {
    font-size: 1.8rem;
    position: relative
}

.header__button .number::before {
    position: absolute;
    content: " ";
    background-image: url("../images/icon_call_bk.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 1.8rem;
    height: 1.8rem;
    left: -2rem;
    top: 50%;
    bottom: 50%;
    margin: auto
}

@media screen and (max-width: 768px) {
    .header__heading {
        font-size: 1.2rem
    }

    .header__button {
        font-size: 2.7vw
    }

    .header__button .number {
        font-size: 6vw
    }

    .header__button .number::before {
        width: 6vw;
        height: 6vw;
        left: -2rem
    }
}

.visual {
    background-color: #fff;
    background-image: url("../images/pc/visual.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative
}

.visual::before {
    position: absolute;
    content: " ";
    filter: drop-shadow(2px -1px 8px rgba(0, 0, 0, 0.5));
    background-image: url("../images/visual_right.svg");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 25rem;
    height: 10rem;
    bottom: 0;
    right: 0;
    z-index: 2
}

.visual__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    padding: 4.5rem 0 0;
    position: relative
}

.visual__inner::before {
    content: " ";
    position: absolute;
    background-image: url("../images/pc/visual_image.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 28rem;
    height: 31rem;
    bottom: 0;
    right: -25px
}

.visual__point {
    position: absolute;
    top: 1.5rem;
    right: 0;
    width: 50%
}

.visual__heading {
    width: 68%;
    position: relative;
    z-index: 1
}

.visual__appeal {
    width: 50%;
    padding: 1rem 0 3rem;
    position: relative;
    z-index: 1
}

@media screen and (max-width: 768px) {
    .visual {
        background-image: url("../images/visual.webp")
    }

    .visual::before {
        width: 86%;
        height: 22%
    }

    .visual__inner {
        width: 100%;
        padding: 4.5rem 1rem 0;
        overflow: hidden
    }

    .visual__inner::before {
        width: 84%;
        height: 76%;
        right: -6rem
    }

    .visual__point {
        top: 4rem;
        width: 100%
    }

    .visual__heading {
        width: 100%;
        padding: 5rem 0 0
    }

    .visual__appeal {
        width: 100%;
        padding: 1rem 0 3rem;
        z-index: 2
    }
}

.contents {
    background: transparent;
    color: #323232
}

.contents .video,
.contents .map {
    width: 100%;
    max-width: 1000px;
    height: 0;
    margin: 0 auto;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden
}

.contents .video iframe,
.contents .map iframe {
    width: 100% !important;
    height: 100% !important;
    position: absolute;
    top: 0;
    left: 0
}

.cv {
    background-color: #fff;
    background-image: url("../images/pc/cv.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 2rem 0
}

.cv__catch {
    width: 20rem;
    margin: 0 auto
}

.cv__text {
    text-align: center;
    color: white;
    font-weight: 600;
    font-size: 1.3rem
}

.cv__image {
    text-align: center
}

.cv__button {
    background-image: url("../images/btn_red.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    color: white;
    font-size: 3rem;
    display: table;
    width: 26rem;
    position: relative;
    margin: 0 auto
}

.cv__button::before {
    position: absolute;
    content: " ";
    background-image: url("../images/icon_call.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 2.3rem;
    height: 2.3rem;
    left: 2.5rem;
    top: 50%;
    bottom: 50%;
    margin: auto
}

.cv__button a {
    display: block;
    padding: 1.2rem 0 1.4rem 6rem
}

.cv__button .number {
    font-weight: 500
}

@media screen and (max-width: 768px) {
    .cv {
        background-image: url("../images/cv.webp")
    }

    .cv__catch {
        width: 70%
    }

    .cv__text {
        font-size: 4.2vw;
        padding: .5rem 0
    }

    .cv__button {
        font-size: 9vw;
        width: 90%
    }

    .cv__button::before {
        width: 8vw;
        height: 8vw;
        left: 14vw
    }

    .cv__button a {
        padding: 4vw 0 4.2vw 24vw
    }
}

.campaign,
.reason,
.price,
.comparison,
.step,
.voice,
.area {
    padding: 4rem 0
}

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

    .campaign,
    .reason,
    .price,
    .comparison,
    .step,
    .voice,
    .area {
        padding: 8vw 0
    }
}

.campaign__inner,
.reason__inner,
.price__inner,
.comparison__inner,
.step__inner,
.voice__inner,
.area__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto
}

.campaign__heading,
.reason__heading,
.price__heading,
.comparison__heading,
.step__heading,
.voice__heading,
.area__heading {
    font-weight: 700;
    text-align: center;
    font-size: 2.2rem;
    line-height: 1.3em
}

.campaign__heading .blue,
.reason__heading .blue,
.price__heading .blue,
.comparison__heading .blue,
.step__heading .blue,
.voice__heading .blue,
.area__heading .blue {
    font-weight: 900
}

.campaign__heading .eng,
.reason__heading .eng,
.price__heading .eng,
.comparison__heading .eng,
.step__heading .eng,
.voice__heading .eng,
.area__heading .eng {
    font-size: 2.6rem;
    color: #006bc6;
    position: relative;
    z-index: 2;
    padding: 0 0 1.5rem;
    font-weight: 500;
    letter-spacing: .03em
}

.campaign__heading .eng::before,
.reason__heading .eng::before,
.price__heading .eng::before,
.comparison__heading .eng::before,
.step__heading .eng::before,
.voice__heading .eng::before,
.area__heading .eng::before {
    position: absolute;
    content: " ";
    background-image: url("../images/icon_heading.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 2.5rem;
    height: 3.5rem;
    top: -0.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1
}

.campaign__heading .sub,
.reason__heading .sub,
.price__heading .sub,
.comparison__heading .sub,
.step__heading .sub,
.voice__heading .sub,
.area__heading .sub {
    font-size: 1.6rem
}

.campaign__heading .sub .number,
.reason__heading .sub .number,
.price__heading .sub .number,
.comparison__heading .sub .number,
.step__heading .sub .number,
.voice__heading .sub .number,
.area__heading .sub .number {
    font-size: 2.2rem
}

.campaign__heading .line,
.reason__heading .line,
.price__heading .line,
.comparison__heading .line,
.step__heading .line,
.voice__heading .line,
.area__heading .line {
    margin: 0 auto;
    width: 50%;
    top: -1.5rem;
    position: relative
}

.campaign__heading .main,
.reason__heading .main,
.price__heading .main,
.comparison__heading .main,
.step__heading .main,
.voice__heading .main,
.area__heading .main {
    letter-spacing: .05em;
    font-size: 2.6rem;
    padding: 0 0 2rem;
    font-weight: 900
}

.campaign__text,
.reason__text,
.price__text,
.comparison__text,
.step__text,
.voice__text,
.area__text {
    line-height: 1.8em;
    text-align: justify
}

.campaign__image,
.reason__image,
.price__image,
.comparison__image,
.step__image,
.voice__image,
.area__image {
    text-align: center
}

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

    .campaign__heading,
    .reason__heading,
    .price__heading,
    .comparison__heading,
    .step__heading,
    .voice__heading,
    .area__heading {
        font-size: 5.5vw
    }

    .campaign__heading .eng,
    .reason__heading .eng,
    .price__heading .eng,
    .comparison__heading .eng,
    .step__heading .eng,
    .voice__heading .eng,
    .area__heading .eng {
        font-size: 6.5vw
    }

    .campaign__heading .eng::before,
    .reason__heading .eng::before,
    .price__heading .eng::before,
    .comparison__heading .eng::before,
    .step__heading .eng::before,
    .voice__heading .eng::before,
    .area__heading .eng::before {
        width: 8vw;
        height: 11vw;
        top: -.5rem
    }

    .campaign__heading .sub,
    .reason__heading .sub,
    .price__heading .sub,
    .comparison__heading .sub,
    .step__heading .sub,
    .voice__heading .sub,
    .area__heading .sub {
        font-size: 5vw
    }

    .campaign__heading .sub .number,
    .reason__heading .sub .number,
    .price__heading .sub .number,
    .comparison__heading .sub .number,
    .step__heading .sub .number,
    .voice__heading .sub .number,
    .area__heading .sub .number {
        font-size: 6.5vw
    }

    .campaign__heading .line,
    .reason__heading .line,
    .price__heading .line,
    .comparison__heading .line,
    .step__heading .line,
    .voice__heading .line,
    .area__heading .line {
        width: 84%;
        top: -.5rem
    }

    .campaign__heading .main,
    .reason__heading .main,
    .price__heading .main,
    .comparison__heading .main,
    .step__heading .main,
    .voice__heading .main,
    .area__heading .main {
        font-size: 7.5vw;
        line-height: 1.5em
    }
}

.campaign {
    background-color: #fff;
    background-image: url("../images/pc/campaign.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.campaign__heading .blue {
    position: relative
}

.campaign__heading .blue::before {
    position: absolute;
    content: "・・・・・・・";
    color: #006bc6;
    font-size: 1rem;
    letter-spacing: 1.2em;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-46%)
}

.campaign__image {
    margin: 0 auto;
    width: 60%;
    padding: 2rem 0;
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.5))
}

@media screen and (max-width: 768px) {
    .campaign__image {
        filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.5))
    }
}

.campaign__text {
    font-weight: 700;
    text-align: center;
    font-size: 1.5rem;
    padding: 0 0 .25rem;
    border-bottom: 2px solid #323232;
    display: table;
    margin: 0 auto
}

@media screen and (max-width: 768px) {
    .campaign {
        background-image: url("../images/campaign.webp")
    }

    .campaign__heading .blue::before {
        font-size: 3vw;
        letter-spacing: .85em;
        top: -1rem
    }

    .campaign__image {
        width: 100%;
        padding: 1rem 0
    }

    .campaign__text {
        font-size: 4.5vw;
        border-bottom: none
    }

    .campaign__text .border {
        border-bottom: 2px solid #323232
    }
}

.reason {
    background-color: #fff;
    background-image: url("../images/pc/reason.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.reason__box {
    display: flex;
    align-items: stretch;
    justify-content: center;
    flex-flow: wrap
}

.reason__box-item {
    width: calc(100% /3);
    padding: 1.5rem
}

.reason__box-item .head {
    text-align: center
}

.reason__box-item .head .number {
    font-weight: 500;
    color: #006bc6;
    border-bottom: 2px solid #006bc6;
    display: table;
    margin: 0 auto 1rem;
    padding: 0 0 .25rem
}

.reason__box-item .head .large {
    font-size: 2rem;
    vertical-align: middle;
    margin: 0 0 0 .25rem
}

.reason__box-item .head .main {
    color: #006bc6;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.5em;
    display: inline;
    background: linear-gradient(transparent 70%, #ffff1b 70%)
}

.reason__box-item .image {
    margin: 1rem 0;
    filter: drop-shadow(0 0 0.25rem rgba(46, 105, 237, 0.8))
}

.reason__box-item .text {
    line-height: 1.5em;
    text-align: justify
}

@media screen and (max-width: 768px) {
    .reason {
        background-image: url("../images/reason.webp")
    }

    .reason__box {
        display: block
    }

    .reason__box-item {
        width: 100%;
        padding: 0
    }

    .reason__box-item .head {
        display: flex;
        justify-content: flex-start;
        text-align: start
    }

    .reason__box-item .head .number {
        margin: 0 1rem 0 0;
        font-size: 2.8vw
    }

    .reason__box-item .head .large {
        font-size: 9vw;
        margin: 0
    }

    .reason__box-item .head .main {
        font-size: 4.5vw;
        background: none
    }

    .reason__box-item .head .marker {
        background: linear-gradient(transparent 70%, #ffff1b 70%)
    }

    .reason__box-item .text {
        padding: 0 0 2rem;
        line-height: 1.8em
    }
}

.price {
    background-color: #fff;
    background-image: url("../images/pc/price.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.price__heading {
    color: white
}

.price__heading .eng {
    color: white
}

.price__heading .eng::before {
    opacity: 0.3
}

.price__box {
    display: flex;
    flex-flow: wrap;
    align-items: stretch;
    justify-content: space-between
}

.price__box-item {
    width: 32%;
    text-align: center;
    background: white;
    border-radius: 20px 20px 14px 14px;
    font-size: 1.1rem;
    margin: .5rem 0
}

.price__box-item .head {
    font-size: 1.6rem;
    font-weight: 700;
    background: #006bc6;
    border-radius: 14px 14px 0 0;
    color: white;
    padding: .5rem 0
}

.price__box-item .image {
    position: relative
}

.price__box-item .image::before {
    position: absolute;
    content: " ";
    background-image: url("../images/price_icon.svg");
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.5));
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 7rem;
    height: 7rem;
    top: 3rem;
    right: -.5rem
}

@media screen and (max-width: 768px) {
    .price__box-item .image::before {
        filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.5))
    }
}

.price__box-item .text {
    color: #006bc6;
    line-height: 1.5em;
    font-weight: 600;
    padding: 1rem 0
}

.price__box-item04 .text,
.price__box-item05 .text {
    padding: 1.25rem 0
}

.price__box-item .before {
    position: relative
}

.price__box-item .before::before {
    position: absolute;
    content: " ";
    width: 1rem;
    aspect-ratio: 1/cos(30deg);
    clip-path: polygon(50% 100%, 100% 0, 0 0);
    background: #323232;
    left: 50%;
    transform: translateX(-50%);
    top: 1.5rem
}

.price__box-item .before .number {
    font-size: 1.3rem;
    font-weight: 400
}

.price__box-item .after {
    color: #ff7252;
    padding: 1rem 0 2rem
}

.price__box-item .after .large {
    font-size: 4rem
}

.price__box-item .after .yen {
    font-size: 2.5rem;
    position: relative;
    font-weight: 700
}

.price__box-item .after .yen::before {
    position: absolute;
    content: "（税込）";
    font-size: .8rem;
    top: 0;
    left: -.25rem
}

.price__box-item .note {
    font-size: .8rem
}

@media screen and (max-width: 768px) {
    .price {
        background-image: url("../images/price.webp")
    }

    .price__heading .main {
        padding: 0 0 1rem
    }

    .price__box-item {
        width: 48%;
        font-size: 3.9vw
    }

    .price__box-item .head {
        font-size: 4.2vw
    }

    .price__box-item .image::before {
        width: 17vw;
        height: 17vw;
        top: 2rem
    }

    .price__box-item .before .number {
        font-size: 4vw
    }

    .price__box-item .after {
        padding: 1.5rem 0
    }

    .price__box-item .after .large {
        font-size: 12vw;
        font-weight: 600
    }

    .price__box-item .after .yen {
        font-size: 7vw
    }

    .price__box-item .after .yen::before {
        font-size: 2.5vw;
        top: -.25rem;
        left: -.25rem
    }

    .price__box-item .note {
        font-size: 3vw
    }
}

.comparison__image {
    width: 70%;
    margin: 0 auto
}

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

.step {
    background-color: #fff;
    background-image: url("../images/pc/step.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.step__box {
    display: flex;
    flex-flow: wrap;
    align-items: stretch;
    justify-content: space-between
}

.step__box-item {
    padding: 2rem;
    width: 32%;
    background: #006bc6;
    color: white;
    position: relative
}

.step__box-item01,
.step__box-item02,
.step__box-item03 {
    position: relative
}

.step__box-item01::before,
.step__box-item02::before,
.step__box-item03::before {
    content: " ";
    position: absolute;
    height: 1rem;
    aspect-ratio: cos(30deg);
    clip-path: polygon(0 0, 100% 50%, 0 100%);
    background: #006bc6;
    right: -.7rem;
    top: 50%;
    bottom: 50%;
    margin: auto
}

.step__box-item04 {
    width: 100%;
    background: #ff7252;
    margin: 1rem 0 0
}

.step__box-item .head {
    text-align: center;
    font-size: 1.3rem;
    font-weight: 700
}

.step__box-item .text {
    line-height: 1.5em;
    text-align: justify;
    margin: 1rem 0 0
}

.step__box-item::after {
    position: absolute;
    content: " ";
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    width: 5rem;
    height: 5rem;
    bottom: .5rem;
    right: .5rem
}

.step__box-item01::after {
    background-image: url("../images/step_icon01.svg")
}

.step__box-item02::after {
    background-image: url("../images/step_icon02.svg")
}

.step__box-item03::after {
    background-image: url("../images/step_icon03.svg")
}

.step__box-item04::after {
    background-image: url("../images/step_icon04.svg")
}

@media screen and (max-width: 768px) {
    .step {
        background-image: url("../images/step.webp")
    }

    .step__box {
        display: block
    }

    .step__box-item {
        width: 100%;
        margin: 0 0 1rem
    }

    .step__box-item01::before,
    .step__box-item02::before,
    .step__box-item03::before {
        content: " ";
        position: absolute;
        height: 1rem;
        aspect-ratio: 1/cos(30deg);
        clip-path: polygon(50% 100%, 100% 0, 0 0);
        background: #006bc6;
        left: 50%;
        transform: translateX(-50%);
        top: auto;
        bottom: -.75rem;
        margin: 0
    }

    .step__box-item .head {
        font-size: 4.5vw
    }

    .step__box-item .text {
        line-height: 1.8em
    }

    .step__box-item::after {
        width: 20vw;
        height: 20vw
    }
}

.voice {
    background-color: #fff;
    background-image: url("../images/pc/voice.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.voice__heading {
    color: white
}

.voice__heading .eng {
    color: white
}

.voice__heading .eng::before {
    opacity: 0.3
}

.voice__box-item {
    background: white;
    border-radius: 16px;
    filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.5));
    padding: 2rem 4rem 3rem;
    margin: 1rem 0
}

@media screen and (max-width: 768px) {
    .voice__box-item {
        filter: drop-shadow(0 4px 4px rgba(0, 0, 0, 0.5))
    }
}

.voice__box-item02 {
    background: #ebf0f0
}

.voice__box .prof {
    display: flex;
    align-items: center;
    justify-content: space-between;
    letter-spacing: .02em
}

.voice__box .prof .number {
    font-size: 1.8rem;
    margin: 0 0 1rem;
    color: #006bc6;
    font-weight: 600
}

.voice__box .prof .main {
    display: inline;
    background: linear-gradient(transparent 70%, #ffff1b 70%);
    font-size: 1.3rem;
    font-weight: 700
}

.voice__box .prof .image {
    width: 20%
}

.voice__box .text {
    text-align: justify;
    line-height: 1.5em;
    padding: 1rem 0 0;
    font-weight: 600
}

@media screen and (max-width: 768px) {
    .voice__heading .main {
        padding: 0
    }

    .voice__box-item {
        padding: 2rem 2.5rem
    }

    .voice__box .prof .number {
        font-size: 5vw;
        margin: 0 0 .5rem
    }

    .voice__box .prof .main {
        font-size: 4vw
    }

    .voice__box .prof .image {
        width: 30%
    }

    .voice__box .text {
        line-height: 1.8em
    }
}

.area {
    background-color: #fff;
    background-image: url("../images/pc/area.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.area__image {
    width: 46%;
    margin: 0 auto
}

@media screen and (max-width: 768px) {
    .area {
        background-image: url("../images/area.webp")
    }

    .area__image {
        width: 90%
    }
}

.privacy {
    padding: 4rem 0;
    background-color: #fff;
    background-image: url("../images/pc/privacypolicy.webp");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    padding: 3rem 0;
    text-align: center
}

@media screen and (max-width: 768px) {
    .privacy {
        padding: 8vw 0
    }
}

.privacy__heading {
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    margin: 0 0 3rem
}

.privacy__heading::before {
    position: absolute;
    content: " ";
    width: 4rem;
    height: 4px;
    display: inline-block;
    background-color: #006bc6;
    bottom: -1rem;
    left: 50%;
    transform: translateX(-50%)
}

.privacy-item {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    margin: 0 auto;
    padding: .5rem;
    border: 1px solid #bcbcbc;
    border-radius: .5rem;
    background: white
}

.privacy-item .inner {
    width: 100%;
    height: 15rem;
    padding: 0 1.5rem;
    overflow-y: scroll
}

.privacy-item .inner::-webkit-scrollbar {
    width: .5rem
}

.privacy-item .inner::-webkit-scrollbar-track {
    background-color: #e2e2e2;
    border-radius: 10rem
}

.privacy-item .inner::-webkit-scrollbar-thumb {
    background-color: #bcbcbc;
    border-radius: 10rem
}

.privacy-item .heading {
    padding: 0 0 1rem;
    line-height: 1.8em;
    font-size: 1.1rem;
    font-weight: 700;
    text-align: center
}

.privacy-item .text {
    padding: 0 0 1rem;
    line-height: 1.8em;
    font-size: .8rem;
    text-align: left
}

.privacy-item .text strong {
    font-weight: 700
}

.privacy-item .right {
    text-align: right
}

@media screen and (max-width: 768px) {
    .privacy {
        background-image: url("../images/privacypolicy.webp")
    }

    .privacy__heading {
        font-size: 5vw
    }

    .privacy-item .inner .heading {
        font-size: 4vw
    }

    .privacy-item .inner .text {
        font-size: 3.5vw
    }
}

.footer {
    background: #323232;
    color: white;
    text-align: center
}

.footer__inner {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto
}

.footer__company .head {
    font-size: 1.8rem;
    font-weight: 700;
    padding: 1rem 0 1.5rem;
    letter-spacing: .05em
}

.footer__company .note {
    padding: 2rem 0 0
}

@media screen and (max-width: 768px) {
    .footer__company .head {
        font-size: 6vw
    }

    .footer__company .text {
        line-height: 1.5em
    }
}

.copyright {
    background: transparent;
    padding: 2rem 0
}

.copyright__text {
    width: 90vw;
    max-width: 1000px;
    margin: 0 auto;
    line-height: 1.8em;
    text-align: center
}

@media screen and (max-width: 768px) {
    .copyright {
        padding: 2rem 0 13rem
    }
}

.floating {
    position: fixed;
    bottom: 1rem;
    margin: auto;
    left: 1rem;
    z-index: 1000;
    width: 20rem
}

.floating__inner {
    background: #ff7252;
    border-radius: 14px;
    position: relative;
    padding: 0 0 1rem
}

.floating__catch {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -1rem;
    width: 16rem
}

.floating__text {
    font-size: 1rem;
    padding: 2rem 0 0
}

.floating__button {
    background-image: url("../images/btn_blue.svg");
    width: 18rem;
    font-size: 2rem
}

.floating__button a {
    padding: 1.2rem 0 1.4rem 4rem
}

.floating__button::before {
    width: 1.3rem;
    height: 1.3rem
}

@media screen and (max-width: 768px) {
    .floating {
        bottom: 0;
        left: 0;
        width: 100%;
        background: #ff7252
    }

    .floating__inner {
        padding: 0 0 1rem
    }

    .floating__text {
        padding: 2rem 0 .5rem
    }

    .floating__catch {
        width: 70%
    }

    .floating__button {
        font-size: 9vw;
        width: 90%
    }

    .floating__button::before {
        width: 8vw;
        height: 8vw;
        left: 14vw
    }

    .floating__button a {
        padding: 4vw 0 4.2vw 24vw
    }
}

.cv .first {
    text-align: center;
    margin-top: 10px;
    color: #ffffff;
    font-weight: bold;
}

/* 高額パターンの注意書き */
.price__inner .note{
    color: #000000;
    margin-top: 10px;
    line-height: 22px;
}