﻿*,
::before,
::after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0;
}

html {
    line-height: 1.15;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -webkit-tap-highlight-color: transparent;
}

body {
    margin: 0;
}

main {
    display: block;
}

p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
    margin: 0;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: inherit;
    font-weight: inherit;
    margin: 0;
}

ul,
ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

dt {
    font-weight: bold;
}

dd {
    margin-left: 0;
}

hr {
    box-sizing: content-box;
    /* 1 */
    height: 0;
    /* 1 */
    overflow: visible;
    /* 2 */
    border-top-width: 1px;
    margin: 0;
    clear: both;
    color: inherit;
}

pre {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

address {
    font-style: inherit;
}

/* Text-level semantics */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
    background-color: transparent;
    text-decoration: none;
    color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
    text-decoration: underline dotted;
    /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
    font-family: monospace, monospace;
    /* 1 */
    font-size: inherit;
    /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
    font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Replaced content */

/**
 * Prevent vertical alignment issues.
 */
svg,
img,
embed,
object,
iframe {
    vertical-align: bottom;
}

/* Forms */

/**
 * Reset form fields to make them styleable.
 * 1. Make form elements stylable across systems iOS especially.
 * 2. Inherit text-transform from parent.
 */
button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    /* 1 */
    appearance: none;
    vertical-align: middle;
    color: inherit;
    font: inherit;
    background: transparent;
    padding: 0;
    margin: 0;
    border-radius: 0;
    text-align: inherit;
    text-transform: inherit;
    /* 2 */
}

/**
 * Correct cursors for clickable elements.
 */
button,
[type=button],
[type=reset],
[type=submit] {
    cursor: pointer;
}

button:disabled,
[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled {
    cursor: default;
}

/**
 * Improve outlines for Firefox and unify style with input elements & buttons.
 */
:-moz-focusring {
    outline: auto;
}

select:disabled {
    opacity: inherit;
}

/**
 * Remove padding
 */
option {
    padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
    margin: 0;
    padding: 0;
    min-width: 0;
}

legend {
    padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
    vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
    overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto;
}

/**
 * Correct the outline style in Safari.
 */
[type=search] {
    outline-offset: -2px;
    /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Fix font inheritance.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button;
    /* 1 */
    font: inherit;
    /* 2 */
}

/**
 * Fix appearance for Firefox
 */
[type=number] {
    -moz-appearance: textfield;
}

/**
 * Clickable labels
 */
label[for] {
    cursor: pointer;
}

/* Interactive */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
    display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
    display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable]:focus {
    outline: auto;
}

/* Tables */

/**
1. Correct table border color inheritance in all Chrome and Safari.
*/
table {
    border-color: inherit;
    /* 1 */
    border-collapse: collapse;
}

caption {
    text-align: left;
}

td,
th {
    vertical-align: top;
    padding: 0;
}

th {
    text-align: left;
    font-weight: bold;
}

/* -----------------------------------------------------------------
Color
----------------------------------------------------------------- */
/* -----------------------------------------------------------------
Breakpoint
----------------------------------------------------------------- */
* {
    /*    font-family: "Plus Jakarta Sans", "游ゴシック体", YuGothic, "游ゴシック", "Noto Sans JP", "Yu Gothic", sans-serif;*/
    min-height: 0vw;
    font-family: "Noto Serif SC", serif !important;
}

html {
    max-width: 100vw;
    color: #0F0F10;
    font-size: 62.5%;
    line-height: 1.8;
    letter-spacing: 0.1em;
    overflow-x: hidden;
}

img {
    max-width: 100%;
    height: auto;
}

body {
    font-size: clamp(1.2rem, 0.83vw, 1.6rem);
    font-weight: 700;
}

main {
    margin: 60px 104px 170px;
}

main.front__main {
    margin: 60px 0 170px;
}

.aligncenter {
    text-align: center;
}

footer {
    padding: 68px 13.85vw 30px;
    background: #000;
    color: #fff;
}

.default-link {
    color: #111111;
}

.display__pc {
    display: block;
}

.display__sp {
    display: none;
}

/* header */
.header__container,
.header__inner,
.header__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

/*.header__list li.header__item:nth-child(1) {
  display: none;
}*/

.header__container {
    position: sticky;
    top: 32px;
    padding: 0 63px;
    z-index: 99;
}

.header__inner:first-of-type,
.header__button .header__link {
    position: relative;
    padding: 0.93vw 50px 0.78vw;
    border-radius: 36px;
    background: #fff;
    z-index: 1000;
}

.header__logo {
    width: min(15.33vw, 210px);
}

.header__item {
    margin-left: clamp(20px, 3.89vw, 38px);
    font-size: clamp(12px, 1.6vw, 16px);
    line-height: max(0.93vw, 14px);
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

@media screen and (max-width: 1440px) {
    .header__item {
        margin-left: clamp(20px, 3.89vw, 50px);
    }
}


.header__item:first-of-type {
    margin-left: 3.54vw;
}

.header__caption {
    color: #A3A3A3;
    font-size: clamp(8px, 1.067vw, 11px);
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    display: block;
}

.header__item:hover {
    color: #111111;
}

.header__button .header__link {
    display: block;
    width: clamp(180px, 12.13vw, 210px);
    margin-left: 14px;
    padding: clamp(8px, 0.5vw, 10px);
    border: 2px solid #111111;
    color: #111111;
    font-size: clamp(10px, 1.333vw, 16px);
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.header__button .header__link:hover {
    background: #111111;
    color: #fff;
}

.header__button:nth-of-type(2) .header__link {
    background: #111111;
    color: #fff;
    /* box-shadow: 0 2px 10px 5px rgba(187, 160, 111, 0.4352941176); */
    transition: all 0.3s;
}

.header__button:nth-of-type(2) .header__link:hover {
    background: #fff;
    color: #111111;
}

.header__button--menu,
#header__nav {
    display: none;
}

/* section */
.section>.section {
    position: relative;
    margin-top: 106px;
    padding-top: 26px;
}

.section>[class*=section--] {
    position: relative;
}

/* first view */
.section .section__main {
    padding: 100px 0 0;
    width: calc(100vw - 138px);
    margin: 0 0 0 calc(50% - (50vw - 138px));
    display: flex;
}

@media screen and (max-width: 1510px) {
    .section .section__main {
        padding: 80px 0 0;
        width: calc(1300px + calc(calc(100% - 1300px) / 2));
        margin: 0 106px calc(calc(100% - 1300px) / 2);
        display: flex;
        flex-wrap: wrap;
    }
}

@media screen and (max-width: 1350px) {
    .section .section__main {
        padding: 80px 0 0 63px;
        width: 100%;
        max-width: 100%;
        margin: 0;
        display: flex;
        flex-wrap: wrap;
    }
}

.section .section__main .heading--large {
    font-size: clamp(2.4rem, 1.769rem + 2.693vw, 5rem);
    line-height: 5.2vw;
    line-height: 1.5;
}

@media screen and (max-width: 1150px) {
    .section .section__main .heading--large {
        font-size: clamp(2.4rem, 1.626rem + 3.303vw, 4rem);
    }
}

@media screen and (max-width: 1000px) {
    .section .section__main .heading--large {
        font-size: clamp(3rem, -1.500rem + 8vw, 3.5rem);
    }
}

.section .section__main .heading--large .section__main__np {
    font-size: clamp(3rem, 1.786rem + 5.178vw, 8rem);
    color: #C30000;
    font-weight: 900;
}

.section .section__main .heading--large .heading--accent {
    letter-spacing: -0.2rem;
}

.section .section__main .section__main--left {
    width: 45%;
}

.section .section__main .section__main--right {
    width: 55%;
}

@media screen and (max-width: 1510px) {
    .section .section__main .section__main--left {
        width: 55%;
    }

    .section .section__main .section__main--right {
        width: 45%;
    }
}

@media screen and (max-width: 900px) {
    .section .section__main {
        padding: 80px 0;
    }

    .section .section__main .section__main--left {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
    }

    .section .section__main .section__main--right {
        width: 100%;
    }
}

.section__main__text {
    display: flex;
    align-items: center;
    margin-top: 50px;
}

@media screen and (max-width: 900px) {
    .section__title__sub {
        padding: 30px;
    }

    .section__main__text {
        margin-top: 50px;
    }
}

.section__main__text::before,
.section__main__text::after {
    content: "";
    width: 36px;
    height: 80px;
    display: block;
    background-size: contain;
    background-repeat: no-repeat;

}

.section__main__text::before {
    background-image: url(../image/section__main__obj__left.svg);
}

.section__main__text::after {
    background-image: url(../image/section__main__obj__right.svg);
}

.section__main__text--l {
    line-height: 1.2;
}

.section__main__text--l span {
    font-size: 150%;
}

.section__main__text--c {
    font-size: 350%;
    line-height: 1;
    color: #C30000;
    margin: 0 5px;
}

.section__main__text--r {
    font-size: 150%;
}

@media screen and (max-width: 900px) {
    .section__main__text--c {
        font-size: 220%;
    }

    .section__main__text::before,
    .section__main__text::after {
        content: "";
        width: 27px;
        height: 60px;
    }

    .section__main__text--l span,
    .section__main__text--r {
        font-size: 130%;
    }
}

.section .section__main .section__lead {
    width: 100%;
    max-width: 300px;
    justify-content: center;
    align-items: center;
    color: #111111;
    font-size: 1.8rem;
    display: flex;
    margin: 0;
    gap: 10px;
}

@media screen and (max-width: 1250px) {
    .section .section__main .section__lead {
        font-size: 1.6rem;
    }
}

@media screen and (max-width: 1130px) {
    .section .section__main .section__lead {
        max-width: 358px;
        font-size: 1.8rem;
    }
}


.section__lead--left,
.section__lead--right {
    display: flex;
    gap: 3px;
    align-items: flex-end;
}

.section__lead--left::before,
.section__lead--left::after,
.section__lead--right::before,
.section__lead--right::after {
    width: 3px;
    background-color: #111111;
    content: "";
    display: block;
}


.section__lead--left::after,
.section__lead--right::before {
    height: 25px;
}


.section__lead--left::before,
.section__lead--right::after {
    height: 12px;
}

.section__lead--left::after {
    transform: rotate(-25deg);
}

.section__lead--left::before {
    transform: rotate(-40deg);
}


.section__lead--right::after {
    transform: rotate(40deg);
}

.section__lead--right::before {
    transform: rotate(25deg);
}

#main .section .section__main .section__title {
    max-width: 100%;
}




.heading--large {
    font-size: clamp(48px, 6.4vw, 60px);
    line-height: 5.2vw;
}

.heading--large .heading--small {
    color: #111111;
    font-size: clamp(10px, 1.333vw, 16px);
    display: block;
    text-align: left;
    line-height: 0;
    margin-top: 20px;
}

.section__text {
    margin-top: 36px;
    font-size: clamp(12px, 1.6vw, 16px);
    line-height: 3rem;
}

.section__note {
    margin-top: 10px;
    color: #646363;
    font-size: clamp(8px, 1.067vw, 12px);
}

.section__container {
    position: relative;
    margin-top: 50px;
}

.section__main .section__container {
    margin-top: 30px;
}

.section__content {
    width: 21.35vw;
}

.section__lead {
    margin: 0 10px;
}

.section__lead img {
    max-width: 280px;
}

.scrollDown {
    position: absolute;
    right: 50%;
    bottom: 0;
    height: 8.95vw;
}

.scrollDown_text {
    position: absolute;
    color: #0f0f10;
    font-size: 0.72vw;
    letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.scrollDown:after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 1px;
    background: #0f0f10;
    animation: pathmove 2.4s ease infinite;
    opacity: 0;
}

@keyframes pathmove {
    0% {
        height: 0;
        top: 0;
        opacity: 0;
    }

    30% {
        height: 8.95vw;
        opacity: 1;
    }

    100% {
        height: 0;
        bottom: 0;
        opacity: 0;
    }
}

.topButton__link,
.mainButton--free .mainButton__link {
    display: block;
    position: relative;
    max-width: 300px;
    margin-top: 14px;
    padding: 20px;
    border: 2px solid #111111;
    border-radius: 12px;
    background: #111111;
    color: #fff;
    font-size: clamp(12px, 1.6vw, 18px);
    text-align: center;
    transition: all 0.3s;
}

.topButton__link:hover::after,
.mainButton--free .mainButton__link:hover::after {
    border-top: 3px solid #111111;
    border-right: 3px solid #111111;
}

.topButton__link:hover,
.mainButton--free .mainButton__link:hover {
    background: #fff;
    color: #111111;
}

.mainButton--free .mainButton__link {
    margin: 40px auto 0;
    border-radius: 8px;
}

.topButton__link::after,
.mainButton--free .mainButton__link::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 2.29vw;
    width: 14px;
    height: 14px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    -webkit-transform: translateY(-50%) rotate(45deg);
    -ms-transform: translateY(-50%) rotate(45deg);
    transform: translateY(-50%) rotate(45deg);
}

.section__share,
.footer__share.display__pc,
.navList .share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    justify-content: flex-start;
    margin-top: 30px;
    font-size: 1rem;
}

.share__text {
    margin-right: 1.56vw;
}

.share__icon {
    margin-right: 1.83vw;
}

.section__share .share__icon {
    display: block;
    width: 52px;
    -webkit-transition: all 0s;
    transition: all 0s;
}

.section__share .share__icon:hover {
    /* filter: brightness(0) saturate(100%) invert(63%) sepia(44%) saturate(316%) hue-rotate(0deg) brightness(95%) contrast(86%); */
    opacity: .5;
    transition: all .3s;
    cursor: pointer;
}

/* 下層section */
.section--service {
    width: calc(100vw - 138px);
    margin: 106px calc(50% - (50vw - 138px)) 0;
    padding: 56px 13.85vw 75px 6.66vw;
    border-top-left-radius: 25px;
    border-bottom-left-radius: 25px;
    background: #DBE1E1;
}

.section--blue {
    width: 100vw;
    margin: 106px calc(50% - 50vw) 0;
    padding: 56px 64px 176px;
    background: #F2EDE0;
}

.section--function,
.section--blog {
    margin: 106px auto 0;
}

.front__main .section--blog {
    padding-left: 24px;
    padding-right: 24px;
}

.section__circleBg {
    position: relative;
    width: 100%;
    padding-top: 400px;
    overflow: hidden;
    z-index: 1;
}

.section--voice {
    padding-bottom: 8%;
}

.section--flow {
    width: calc(100vw - 72px);
    margin: 56px auto 0;
    padding: 90px 11.97vw 120px;
    border-radius: 25px;
    background: #FFF;
}

.heading {
    font-size: clamp(30px, 4vw, 50px);
    font-weight: 800;
    text-align: center;
    position: relative;
}

.heading--small {
    color: #000000;
    font-size: clamp(11px, 1.467vw, 16px);
    display: block;
    text-align: center;
    line-height: 0;
}

.mainButton .mainButton__link {
    display: block;
    position: relative;
    max-width: 280px;
    margin: 56px auto 0;
    padding: 20px;
    border: 2px solid #222121;
    border-radius: 36px;
    background: #fff;
    font-size: clamp(12px, 1.6vw, 16px);
    text-align: center;
    transition: all 0.3s;
}

.mainButton .mainButton__link:hover {
    border: 2px solid #111111;
    color: #fff;
    background: #111111;
}

.mainButton .mainButton__link::after {
    content: "";
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 1.66vw;
    width: 14px;
    height: 10px;
    background: url(../image/img_common_arrow_01.png) center/100% no-repeat;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.mainButton .mainButton__link:hover::after {
    background: url(../image/img_common_arrow_03.png) center/100% no-repeat;
}

/* service */
.service,
.flow,
.guide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 48px;
}

.service__item,
.flow__item {
    width: calc((100% - 6.86vw) / 3);
}

.service__top,
.function__top {
    font-size: clamp(1.1rem, 0.73vw, 1.4rem);
}

.service__lead {
    position: relative;
    margin-top: 26px;
    z-index: 10;
    color: #111111;
    font-size: clamp(15px, 2.4vw, 18px);
    line-height: 1.5;
    padding-bottom: 18px;
    min-height: 100px;
}

.merit__title {
    position: relative;
    margin-top: 25px;
    z-index: 10;
    font-size: clamp(18px, 2.4vw, 22px);
    color: #111111;
}

.service__canvas {
    width: 100%;
    height: 223px;
    border-radius: 8px;
    text-align: center;
    overflow: hidden;
}

/* .service__image {
  margin: auto;
  height: 100%;
} */

.service__item .service__canvas img {
    object-fit: cover;
    width: 100%;
}

.service__text {
    margin-top: 24px;
    line-height: 2.6rem;
}

/* function */
.function {
    margin-top: 78px;
}

.function__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 0 32px;
    gap: 20px;
}

.function__item:nth-of-type(2n) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.function__item:nth-of-type(n+2) {
    margin-top: 5%;
}

.function__canvas {
    width: 52%;
    /* mix-blend-mode: multiply; */
    border-radius: 8px;
    overflow: hidden;
}

.function__canvas img {
    width: 100%;
}

.function__inner {
    position: relative;
    width: 50%;
}

.function__item:nth-of-type(2n) .function__inner {
    margin-left: 0;
}

.function__lead {
    margin-top: 34px;
    color: #111111;
    font-size: 30px;
    font-weight: 700;
}

.function__text {
    margin-top: 26px;
    font-size: 18px;
    font-weight: 500;
}

/* voice */
.scale {
    position: absolute;
    height: 136vw;
    top: 180px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: -10;
}

.scale__bg {
    background: #DBE1E1;
    background-size: 100%;
    border-radius: 50%;
    width: 180vw;
    height: 180vw;
}

.voice {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 60px auto 0;
    padding: 0 10.08vw;
}

.voice__item {
    position: relative;
    width: calc((100% - 70px) / 2);
    display: flex;
}

.voice__canvas {
    width: 90px;
    padding-right: 10px;
    align-self: center;
    text-align: center;
}

.voice__inner {
    width: calc(100% - 90px);
}

.voice__item:nth-of-type(n+3) {
    margin-top: 78px;
}

.voice__top {
    color: #646363;
    font-size: clamp(8px, 1.067vw, 12px);
}

.voice__lead {
    margin-top: 8px;
    font-size: clamp(16px, 2.133vw, 20px);
    line-height: 1.5;
}

.voice__detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 8px;
    font-size: clamp(1rem, 0.83vw, 1.6rem);
}

.voice__text {
    font-size: clamp(8px, 1.067vw, 12px);
}

/*.voice__text:first-of-type::after {
    content: "";
    display: inline-block;
    width: 10px;
    height: 10px;
    background: url(../image/img_index_voice_02.png) center/100% no-repeat;
}*/

.voice__text+.voice__text {
    margin-left: 2vw;
}

.voice__detail--id {
    color: #646363;
}

/* flow */
.flow {
    position: relative;
    padding-top: 8.95vw;
    counter-reset: number;
}

.flow__item {
    position: relative;
}

.flow__item::before {
    counter-increment: number;
    content: "STEP "counter(number);
    position: absolute;
    top: min(-5.83vw, -100px);
    left: 0;
    width: min(5.83vw, 100px);
    height: min(5.83vw, 100px);
    line-height: min(5.83vw, 100px);
    border-radius: 50%;
    background: #0F0F10;
    color: #fff;
    font-size: clamp(6px, 0.8vw, 18px);
    font-weight: 700;
    text-align: center;
}

.flow__canvas {
    margin-top: 24px;
    border-radius: 8px;
    overflow: hidden;
}

.flow__lead {
    margin-top: 54px;
    font-size: clamp(1.6rem, 1.35vw, 2.2rem);
    font-weight: 700;
}

.flow__text {
    margin-top: 32px;
}

/* guide */
.guide {
    max-width: 1053px;
    margin: 58px auto 0;
}

.guide__item {
    width: calc((100% - 82px) / 2);
    padding: 58px 50px 58px;
    border-radius: 16px;
    background: #fff;
    display: flex;
    flex-direction: column;
}

.guide__canvas {
    text-align: center;
}

.guide__lead {
    font-size: clamp(16px, 2.133vw, 24px);
    text-align: center;
}

.guide__text {
    margin-top: 8px;
    flex-grow: 1;
}

.guide__button .mainButton__link {
    margin-top: 36px;
}

/* start */
.start {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 96px 24px 108px;
    background: url(../image/bg_index_button_01.png) #222 center/auto 100%;
    background-color: rgba(0, 0, 0, 0.6);
    background-blend-mode: darken;
}

.start__lead,
.start__text {
    color: #fff;
    font-size: clamp(20px, 2.667vw, 40px);
    text-align: center;
}

.start__text {
    margin-top: 18px;
    font-size: clamp(12px, 1.6vw, 16px);
}

/* blog */
.section__blog {
    max-width: 1388px;
    margin: 38px auto;
    border-top: 1px solid #222121;
}

.blog__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    padding: 10px 16px;
    border-bottom: 1px solid #222121;
}

.blog__item:nth-child(4) {
    display: none;
}

.blog__canvas {
    max-width: 8.02vw;
}

.blog__date {
    margin-left: 20px;
    color: #a3a3a3;
    font-size: clamp(10px, 1.333vw, 14px);
    font-weight: 700;
}

.blog__cat {
    display: flex;
    flex-direction: column;
    margin-left: 20px;
}

.blog__cat .blog__cat--item a {
    line-height: 30px;
    border-radius: 15px;
    background: #f5f5f5;
    color: #060606;
    display: inline-block;
    padding: 0 10px;
    font-size: clamp(8px, 1.067vw, 12px);
    white-space: nowrap;
}

.blog__cat .blog__cat--item+li {
    margin-top: 5px;
}

.blog__title {
    margin-left: 20px;
    font-size: clamp(12px, 1.6vw, 16px);
}

/* footer */
.footerNav__link,
.footer__link,
.share__link {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.footerNav__link:hover,
.footer__link:hover,
.footer__share .share__link:hover {
    opacity: 0.7;
}

.footer__container {
    max-width: 100%;
    margin: auto;
}

.footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    margin-bottom: 3%;
}

.footerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    height: 1.25vw;
}

.footerNav__item {
    padding: 0 1.25vw;
    border-left: 1px solid #fff;
    font-size: clamp(8px, 1.067vw, 16px);
    line-height: 1.4;
}

.footerNav__item:first-of-type {
    padding: 0 1.25vw 0 0;
    border-left: none;
}

.footer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 36px;
}

.footer__item {
    margin-right: 1.87vw;
    font-size: clamp(9px, 1.2vw, 14px);
    font-weight: 400;
}

.footer__item:first-of-type::after,
.navList__text:first-of-type::after {
    content: "";
    display: inline-block;
    margin-left: 2px;
    width: 10px;
    height: 10px;
    background: url(../image/img_common_arrow_02.png) center/100% no-repeat;
}

.footer__canvas {
    max-width: min(15vw, 250px);
}

.footer__share {
    margin-top: 93px;
}

.footer__copyright {
    margin-top: 26px;
    padding: 22px;
    border-top: 1px solid #fff;
    font-size: 0.8rem;
    text-align: center;
}

.footer__submenu {
    display: flex;
    font-size: clamp(8px, 1.067vw, 14px);
}

.footer__submenu .footer__submenu__item+.footer__submenu__item {
    margin-left: 20px;
}

/*ブログ*/
.category__select--inner {
    position: relative;
    z-index: 0;
}

.category__select--inner .category__select--btn {
    position: relative;
    z-index: 5;
    border: 1px solid #111111;
    color: #111111;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    width: 250px;
    background-color: #fff;
    background-image: url(../image/img_common_arrow_04.png);
    background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 10px 5px;
}

.category__select--inner .category__select--btn:hover {
    cursor: pointer;
}

.category__select--inner .category__item:nth-child(even) {
    background: #f5f5f5;
}

.category__select--inner .category__item a {
    color: #0F0F10;
    display: block;
    width: 250px;
}

.category__select--inner .category__item a:hover {
    color: #111111;
}

.category__select--inner .category__list {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
    border: 1px solid #111111;
    color: #111111;
    text-align: center;
    line-height: 40px;
    border-radius: 20px;
    background-color: #fff;
    overflow: hidden;
}

.category__select--inner.is-open {
    border-bottom: 2px solid transparent;
    /*調整用*/
}

.category__select--inner.is-open .category__select--btn {
    border: none;
    top: 1px;
    left: 1px;
    width: 248px;
}

.category__select--inner.is-open .category__list {
    display: block;
}

.default__btn {
    text-align: center;
    margin-top: 50px;
}

.default__btn--item {
    font-weight: 400;
    display: inline-block;
    padding: 0 50px;
    background-color: #111111;
    color: #fff;
    line-height: 50px;
    border-radius: 5px;
}

/*タブレット*/
@media screen and (max-width: 1130px) {

    /*header sticky*/
    .header__container {
        padding: 0 32px 0 40px;
    }

    .header__logo {
        width: 154px;
    }

    .header__logo+.header__list {
        display: none;
    }

    .header__inner:first-of-type {
        padding: 0;
        background: none;
    }

    .header__button .header__link {
        width: 145px;
    }

    /*menu*/
    .active .header__button:nth-of-type(2) .header__link {
        background: #fff;
        color: #111111;
    }

    .header__button--menu {
        display: block;
        position: relative;
        width: 40px;
        height: 40px;
        margin-left: 22px;
        border: 2px solid #111111;
        border-radius: 50%;
        background: #fff;
        transition: all 0.3s;
        z-index: 1000;
    }

    .header__button--menu::before,
    .header__button--menu::after {
        position: absolute;
        content: "";
        width: 14px;
        height: 2px;
        top: 14px;
        right: 0;
        left: 0;
        margin: auto;
        background: #111111;
        transition: all 0.3s;
    }

    .header__button--menu::after {
        top: 20px;
    }

    .active .header__button--menu {
        border: 2px solid #fff;
        background: #111111;
    }

    .active .header__button--menu::before,
    .active .header__button--menu::after {
        top: 50%;
        background: #fff;
    }

    .active .header__button--menu::before {
        transform: rotate(45deg);
    }

    .active .header__button--menu::after {
        transform: rotate(-45deg);
    }

    #header__nav {
        /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
        display: block;
        position: fixed;
        z-index: 999;
        /*ナビのスタート位置と形状*/
        top: 0;
        right: -120%;
        width: 100%;
        height: 100vh;
        /*ナビの高さ*/
        background: #111111;
        /*動き*/
        transition: all 0.6s;
    }

    #header__nav.panelactive {
        right: 0;
    }

    .navList {
        /*ナビの数が増えた場合縦スクロール*/
        position: fixed;
        z-index: 999;
        width: 100%;
        height: 100vh;
        /*表示する高さ*/
        overflow: auto;
        -webkit-overflow-scrolling: touch;
    }

    /*ナビゲーション*/
    #header__nav .navList__list {
        /*ナビゲーション天地中央揃え*/
        position: absolute;
        z-index: 999;
        top: 76px;
        width: 100%;
        padding: 0 36px;
        color: #fff;
        text-align: center;
        /*リストのレイアウト設定*/
    }

    #header__nav .navList__list .navList__link {
        text-decoration: none;
        padding: 10px 8px;
        display: block;
        letter-spacing: 0.1em;
        font-weight: 700;
        font-size: 3rem;
        line-height: 1.6;
    }

    #header__nav .navList__list .header__caption {
        font-size: 1rem;
        line-height: 0.8;
        color: #FFF;
    }

    /*リストのレイアウト設定*/
    .navList__link {
        text-decoration: none;
        padding: 10px 8px;
        display: block;
        letter-spacing: 0.1em;
        font-weight: 700;
        font-size: 3rem;
        line-height: 1.6;
    }

    .navList__link--sap {
        font-size: 1rem;
        line-height: 0.8;
    }

    .navList__button {
        display: block;
        max-width: 304px;
        margin: 30px auto 0;
        padding: 11px;
        border: 1px solid #fff;
        border-radius: 36px;
        font-size: 2rem;
        text-align: center;
    }

    .navList__item--copy {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-top: 16px;
        padding: 16px 0;
        border-top: 1px solid #fff;
        font-size: 1rem;
        font-weight: 400;
    }

    .navList__text:last-of-type {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    /* first view */
    main {
        margin: 60px;
    }

    .heading--large {
        line-height: 7rem;
    }

    .section__content {
        width: 358px;
    }

    .topButton__link {
        max-width: 100%;
        padding: 20px;
        border-radius: 8px;
        font-size: 2.2rem;
    }

    .mainButton--free .mainButton__link {
        max-width: 260px;
        padding: 20px;
    }

    .mainButton--free .mainButton__link::after {
        right: 24px;
    }

    .section__share .share__text {
        margin-right: 14px;
    }

    .section__share .share__icon,
    .footer__share.display__pc .share__icon {
        width: 30px;
        height: auto;
        margin-right: 5px;
    }

    .section__container {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        margin-top: 8px;
    }

    .section__main .section__container {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
    }

    .scrollDown {
        bottom: -10vw;
    }

    /*section*/
    .section--service,
    .section--flow {
        width: 100%;
        margin: 95px -60px 0;
        padding: 36px 60px 80px;
        border-radius: 0;
    }

    /*section*/
    .front__main .section--service {
        margin: 95px 0 0;
        padding: 36px 20px 80px;
    }

    .section--flow {
        margin: 95px 0 0;
        padding: 36px 24px 64px;
    }

    .section--function,
    .section--blog {
        margin: 106px 0 0;
    }

    .section__circleBg {
        margin: 0 -60px;
    }

    .front__main .section__circleBg {
        margin: 0;
    }

    .section--voice {
        padding: 0 18px;
    }

    .section--blue {
        margin-top: 32px;
        padding: 56px 64px 124px;
    }

    .display__sp {
        display: none;
    }

    /* function */
    .function__inner {
        margin-left: 0;
    }

    .function__item:nth-of-type(2n) .function__inner {
        margin-right: 0;
    }

    /*voice*/
    .voice {
        padding: 0 24px;
    }

    .voice__detail {
        display: block;
    }

    .voice__text+.voice__text {
        margin-left: 0;
    }

    .guide__item {
        width: calc((100% - 42px) / 2);
    }

    /*footer*/
    footer {
        padding: 80px 50px 50px;
    }

    footer .footerNav__item {
        font-size: clamp(14px, 1.067vw, 16px);
    }

    footer .footer__submenu {
        font-size: clamp(12px, 1.067vw, 14px);
    }
}

/*sp*/
@media screen and (max-width: 750px) {
    .display__pc {
        display: none;
    }

    .display__sp {
        display: block;
    }

    .header__logo {
        width: 120px;
    }

    .header__button .header__link {
        padding: 9px 8px 7px;
    }

    .header__button:first-of-type .header__link {
        display: none;
    }

    .header__button:nth-of-type(2) .header__link {
        /*        box-shadow: 0 2px 10px 5px rgba(187, 160, 111, 0.4352941176);*/
    }

    .header__button--menu {
        margin-left: 14px;
    }

    .header__container {
        top: 18px;
        padding: 0 16px;
    }

    /*ナビゲーション*/
    #header__nav .navList__list {
        text-align: start;
    }

    .navList__button {
        margin: 30px auto 0 0;
    }

    /*section*/
    main {
        margin: 40px 18px 72px;
        width: 100%;
        overflow: hidden;
    }

    .section>* {
        padding-left: 20px;
        padding-right: 20px;
    }

    .section>.section {
        margin-top: 50px;
        padding-top: 26px;
    }

    .section__circleBg {
        margin: 0;
        padding-top: 200px;
    }

    .section--service {
        width: 100%;
        margin: 50px -24px 0;
        padding: 36px 24px 102px;
    }

    /* .front-main .section--service {
    margin: 50px 0 0;
  } */

    .section--flow {
        margin: 50px 0 0;
    }

    .section--blue {
        margin-top: 18px;
        padding: 60px 32px 86px;
    }

    .section--blog {
        margin-top: 56px;
    }

    .section__content {
        width: 260px;
        margin: 34px auto 0;
    }

    .section__main .section__container {
        width: 100%;
        max-width: 380px;
        padding: 0 30px;
    }

    .section__main .section__content {
        width: 100%;
    }

    .section__text {
        line-height: 3.2rem;
    }

    .topButton__link {
        font-size: 1.4rem;
    }

    .topButton__link::after {
        right: 24px;
    }

    .mainButton .mainButton__link {
        max-width: 186px;
        padding: 13px;
    }

    .mainButton .mainButton__link::after {
        right: 32px;
    }

    /*service*/
    .service {
        display: block;
    }

    .service__item {
        width: 100%;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .service__text {
        max-width: 400px;
    }

    .service__item:nth-of-type(n+2) {
        margin-top: 60px;
    }



    /*function*/
    .function {
        margin-top: 36px;
    }

    .function__item {
        display: block;
        padding: 0;
    }

    .function__item:nth-of-type(n+2) {
        margin-top: 40px;
    }

    .function__canvas {
        max-width: 100%;
        width: 100%;
    }

    .function__item:nth-of-type(2n) .function__inner {
        margin-right: 0;
    }

    .function__inner {
        margin-left: 0;
        width: 100%;
        margin-top: 10px;
    }

    .function__lead {
        margin-top: 8px;
        font-size: 2.2rem;
        line-height: 1.6;
    }

    .function__text {
        margin-top: 18px;
    }

    /*voice*/
    .scale {
        height: auto;
        top: 100px;
    }

    .voice {
        display: block;
        padding: 0;
    }

    .voice__item {
        width: 100%;
    }

    .voice__item:nth-of-type(n+2) {
        margin-top: 36px;
    }

    .voice__item::before {
        width: 40px;
        height: 40px;
    }

    .voice__text {
        margin-top: 8px;
    }

    /*flow*/
    .flow {
        width: 100vw;
        padding: 38px 72px 0 0;
        overflow-x: scroll;
        overflow-y: clip;
    }

    .flow__item {
        flex-shrink: 0;
        width: 276px;
        padding: 24px;
        border-radius: 12px;
        background: #F8F8F8;
    }

    .flow__item+.flow__item {
        margin-left: 24px;
    }

    .flow__item::before {
        top: -36px;
        width: 48px;
        height: 48px;
        line-height: 46px;
    }

    .flow__canvas {
        margin-top: 0;
    }

    .flow__lead {
        margin-top: 16px;
    }

    .flow__text {
        margin-top: 24px;
    }

    /*guide*/
    .guide {
        /* display: block; */
    }

    .guide__item {
        /* width: 100%; */
        /* padding: 48px 50px 48px; */
    }

    .guide__item:nth-of-type(n+2) {
        margin-top: 28px;
    }

    /*start*/
    .start {
        padding: 90px 12px 85px;
    }

    .start__text {
        margin-top: 32px;
    }

    /* blog */
    .section__blog {
        display: -webkit-box;
        display: flex;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        justify-content: space-between;
        border: none;
    }

    .blog__item {
        display: block;
        width: calc((100% - 16px) / 2);
        padding: 12px 0;
        border: none;
    }

    .blog__item:nth-child(4) {
        display: block;
    }

    .blog__canvas {
        max-width: 100%;
    }

    .blog__date,
    .blog__title {
        margin-left: 0;
    }

    .blog__date {
        margin-top: 4px;
        margin-left: 10px;
    }

    .blog__cat {
        margin-left: 0;
        flex-direction: row;
    }

    .blog__cat .blog__cat--item {
        margin-right: 5px;
    }

    .blog__cat .blog__cat--item+li {
        margin-top: 0;
    }

    .blog__title {
        line-height: 1.6;
        margin-top: 10px;
    }

    /*footer*/
    footer {
        padding: 40px 24px 45px;
    }

    .footerNav {
        display: block;
        height: auto;
    }

    .footerNav__item {
        padding: 8px 0;
        border-left: none;
        font-size: 2.4rem;
    }

    .footer__list {
        display: block;
        padding: 0;
    }

    .footer__item {
        margin: 16px 0 0;
    }

    .footer__inner {
        align-items: flex-start;
    }

    .footer__share.display__sp {
        display: -webkit-box;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
        -webkit-box-align: start;
        align-items: flex-start;
        margin-top: 0;
    }

    .footer__share.display__sp .share__text {
        margin: 20px 0 0 0;
        -webkit-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        transform: rotate(90deg);
        font-size: 1.1rem;
    }

    .footer__share.display__sp .share__icon {
        margin-right: 0;
    }

    .footer__share.display__sp .share__icon+.share__icon {
        margin-top: 16px;
    }

    .footer__share.display__pc {
        display: none;
    }

    .footer__canvas {
        max-width: 240px;
        margin: 0 auto 0;
    }

    .footer__copyright {
        border: none;
    }

    .footer__submenu {
        flex-direction: column;
        margin-top: 20px;
    }

    .footer__submenu .footer__submenu__item+.footer__submenu__item {
        margin-left: 0;
        margin-top: 10px;
    }
}

/*最小*/
@media screen and (max-width: 374px) {
    .header__button .header__link {
        display: none;
    }
}

/*横幅調整のため追記*/
@media screen and (min-width: 1350px) {
    .header__container {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }

    .footer__container,
    .footer__copyright {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
    }

    #main .section .header__container,
    #main .section .section__title,
    #main .section .section--function,
    #main .section .section__text,
    #main .section .section__list,
    #main .section .section--flow,
    #main .section .section--blue,
    #main .section .footer__container,
    #main .section .start__lead,
    #main .section .start__text,
    #main .section .section__container--sub,
    #main .section .section__container--plan,
    #main .section .category__select,
    #main .section .section__title.heading--blog,
    #main .section .section__list.blogList {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
    }

    #main .section .section__main .section__article.article,
    #main .section .header__container .section__article.article,
    #main .section .section__title .section__article.article,
    #main .section .section--function .section__article.article,
    #main .section .section__text .section__article.article,
    #main .section .section__list .section__article.article,
    #main .section .section--flow .section__article.article,
    #main .section .section--blue .section__article.article,
    #main .section .footer__container .section__article.article,
    #main .section .start__lead .section__article.article,
    #main .section .start__text .section__article.article,
    #main .section .section__container--sub .section__article.article,
    #main .section .section__container--plan .section__article.article,
    #main .section .category__select .section__article.article,
    #main .section .section__title.heading--blog .section__article.article,
    #main .section .section__list.blogList .section__article.article {
        margin: 0;
    }

    #main .section .section__container--sub {
        padding-bottom: 60px;
    }

    #main .section .section__main {}

    #main .section__form.form {
        max-width: 1000px;
        margin-left: auto;
        margin-right: auto;
    }

    #main .section__container--service--inner,
    #main .section__container--merit {
        max-width: 1300px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }

    #main .section--flow {
        padding: 70px 90px 120px;
    }

    #main .section__list.voice {
        max-width: 1200px;
        margin-left: auto;
        margin-right: auto;
        padding: 0;
    }
}

.page.home-page,
.page.contact-page,
.page.document-page,
.page.faq-page,
.page.function-page,
.page.plan-page,
.page.service-page,
.post-page {
    /* 背景アニメーション */
}

.page.home-page .section::before,
.page.home-page .section::after,
.page.home-page .section--service::before,
.page.home-page .section--service::after,
.page.home-page .section__container--service::before,
.page.home-page .section__container--plan::before,
.page.home-page .section--function::before,
.page.home-page .function__inner::before,
.page.home-page .function__inner::after,
.page.home-page .flow::after,
.page.contact-page .section::before,
.page.contact-page .section::after,
.page.contact-page .section--service::before,
.page.contact-page .section--service::after,
.page.contact-page .section__container--service::before,
.page.contact-page .section__container--plan::before,
.page.contact-page .section--function::before,
.page.contact-page .function__inner::before,
.page.contact-page .function__inner::after,
.page.contact-page .flow::before,
.page.contact-page .flow::after,
.page.document-page .section::before,
.page.document-page .section::after,
.page.document-page .section--service::before,
.page.document-page .section--service::after,
.page.document-page .section__container--service::before,
.page.document-page .section__container--plan::before,
.page.document-page .section--function::before,
.page.document-page .function__inner::before,
.page.document-page .function__inner::after,
.page.document-page .flow::before,
.page.document-page .flow::after,
.page.faq-page .section::before,
.page.faq-page .section::after,
.page.faq-page .section--service::before,
.page.faq-page .section--service::after,
.page.faq-page .section__container--service::before,
.page.faq-page .section__container--plan::before,
.page.faq-page .section--function::before,
.page.faq-page .function__inner::before,
.page.faq-page .function__inner::after,
.page.faq-page .flow::before,
.page.faq-page .flow::after,
.page.function-page .section::before,
.page.function-page .section::after,
.page.function-page .section--service::before,
.page.function-page .section--service::after,
.page.function-page .section__container--service::before,
.page.function-page .section__container--plan::before,
.page.function-page .section--function::before,
.page.function-page .function__inner::before,
.page.function-page .function__inner::after,
.page.function-page .flow::before,
.page.function-page .flow::after,
.page.plan-page .section::before,
.page.plan-page .section::after,
.page.plan-page .section--service::before,
.page.plan-page .section--service::after,
.page.plan-page .section__container--service::before,
.page.plan-page .section__container--plan::before,
.page.plan-page .section--function::before,
.page.plan-page .function__inner::before,
.page.plan-page .function__inner::after,
.page.plan-page .flow::before,
.page.plan-page .flow::after,
.page.service-page .section::before,
.page.service-page .section::after,
.page.service-page .section--service::before,
.page.service-page .section--service::after,
.page.service-page .section__container--service::before,
.page.service-page .section__container--plan::before,
.page.service-page .section--function::before,
.page.service-page .function__inner::before,
.page.service-page .function__inner::after,
.page.service-page .flow::before,
.page.service-page .flow::after,
.post-page .section::before,
.post-page .section::after,
.post-page .section--service::before,
.post-page .section--service::after,
.post-page .section__container--service::before,
.post-page .section__container--plan::before,
.post-page .section--function::before,
.post-page .function__inner::before,
.post-page .function__inner::after,
.post-page .flow::before,
.post-page .flow::after {
    display: block;
    position: absolute;
    top: -330px;
    left: -86px;
    content: "";
    width: 48vw;
    height: 48vw;
    border-radius: 50%;
    background: #F7F9FA;
    z-index: -999;
    -webkit-animation: float_x 1.2s ease-in-out infinite alternate, float_y 1.7s ease-in-out infinite alternate;
    animation: float_x 1.2s ease-in-out infinite alternate, float_y 1.7s ease-in-out infinite alternate;
}

.page.home-page .section:first-of-type::after,
.page.document-page .section:first-of-type::after,
.page.faq-page .section:first-of-type::after,
.page.function-page .section:first-of-type::after,
.page.plan-page .section:first-of-type::after,
.page.service-page .section:first-of-type::after,
.post-page .section:first-of-type::after {
    top: 702px;
    left: 524px;
    width: 8.33vw;
    height: 8.33vw;
}

.page.contact-page .section:first-of-type::after {
    top: 702px;
    left: 4vw;
    width: 8.33vw;
    height: 8.33vw;
}

.page.home-page .section--service::before,
.page.home-page .section__container--service::before,
.page.home-page .section__container--plan::before,
.page.contact-page .section--service::before,
.page.contact-page .section__container--service::before,
.page.document-page .section--service::before,
.page.document-page .section__container--service::before,
.page.document-page .section__container--plan::before,
.page.faq-page .section--service::before,
.page.faq-page .section__container--service::before,
.page.faq-page .section__container--plan::before,
.page.function-page .section--service::before,
.page.function-page .section__container--service::before,
.page.function-page .section__container--plan::before,
.page.plan-page .section--service::before,
.page.plan-page .section__container--service::before,
.page.plan-page .section__container--plan::before,
.page.service-page .section--service::before,
.page.service-page .section__container--service::before,
.page.service-page .section__container--plan::before,
.post-page .section--service::before,
.post-page .section__container--service::before,
.post-page .section__container--plan::before {
    top: -110px;
    right: 5.41vw;
    left: auto;
    width: 22.81vw;
    height: 22.81vw;
}

.page.home-page .section__container--service::before,
.page.home-page .section__container--plan::before,
.page.contact-page .section__container--service::before,
.page.document-page .section__container--service::before,
.page.document-page .section__container--plan::before,
.page.faq-page .section__container--service::before,
.page.faq-page .section__container--plan::before,
.page.function-page .section__container--service::before,
.page.function-page .section__container--plan::before,
.page.plan-page .section__container--service::before,
.page.plan-page .section__container--plan::before,
.page.service-page .section__container--service::before,
.page.service-page .section__container--plan::before,
.post-page .section__container--service::before,
.post-page .section__container--plan::before {
    top: 300px;
}

.page.contact-page .section__container--plan::before {
    top: 110px;
    right: 5.41vw;
    left: auto;
    width: 22.81vw;
    height: 22.81vw;
}

.page.home-page .section--service::after,
.page.contact-page .section--service::after,
.page.document-page .section--service::after,
.page.faq-page .section--service::after,
.page.function-page .section--service::after,
.page.plan-page .section--service::after,
.page.service-page .section--service::after,
.post-page .section--service::after {
    top: auto;
    left: 9.37vw;
    bottom: -32px;
    width: 2.96vw;
    height: 2.96vw;
    background: #111111;
    z-index: 1;
}

.page.home-page .section--function::before,
.page.contact-page .section--function::before,
.page.document-page .section--function::before,
.page.faq-page .section--function::before,
.page.function-page .section--function::before,
.page.plan-page .section--function::before,
.page.service-page .section--function::before,
.post-page .section--function::before {
    top: -56px;
    left: 4.06vw;
    width: 11.71vw;
    height: 11.71vw;
}

.page.home-page .function__item:first-of-type .function__inner::before {
    top: -250px;
    left: 11.45vw;
    width: 22.76vw;
    height: 22.76vw;
    background: #F7F9FA;
}

.page.contact-page .function__item:first-of-type .function__inner::before,
.page.document-page .function__item:first-of-type .function__inner::before,
.page.faq-page .function__item:first-of-type .function__inner::before,
.page.plan-page .function__item:first-of-type .function__inner::before,
.post-page .function__item:first-of-type .function__inner::before {
    top: -250px;
    left: -11.45vw;
    width: 22.76vw;
    height: 22.76vw;
}

.page.function-page .function__item:first-of-type .function__inner::before,
.page.service-page .function__item:first-of-type .function__inner::before {
    top: -250px;
    left: 14.45vw;
    width: 22.76vw;
    height: 22.76vw;
    background: #F7F9FA;
}

.page.home-page .function__item:first-of-type .function__inner::after,
.page.contact-page .function__item:first-of-type .function__inner::after,
.page.document-page .function__item:first-of-type .function__inner::after,
.page.faq-page .function__item:first-of-type .function__inner::after,
.page.function-page .function__item:first-of-type .function__inner::after,
.page.plan-page .function__item:first-of-type .function__inner::after,
.page.service-page .function__item:first-of-type .function__inner::after,
.post-page .function__item:first-of-type .function__inner::after {
    top: auto;
    right: 0;
    bottom: -150px;
    left: auto;
    width: 6.14vw;
    height: 6.14vw;
    background: #F7F9FA;
}

.page.home-page .function__item:nth-of-type(2) .function__inner:before {
    top: -98px;
    left: -24vw;
    width: 22.81vw;
    height: 22.81vw;
    background: #F7F9FA;
}

.page.contact-page .function__item:nth-of-type(2) .function__inner:before,
.page.document-page .function__item:nth-of-type(2) .function__inner:before,
.page.faq-page .function__item:nth-of-type(2) .function__inner:before,
.page.plan-page .function__item:nth-of-type(2) .function__inner:before,
.post-page .function__item:nth-of-type(2) .function__inner:before {
    top: -98px;
    left: -11.45vw;
    width: 22.81vw;
    height: 22.81vw;
}

.page.function-page .function__item:nth-of-type(2) .function__inner:before,
.page.service-page .function__item:nth-of-type(2) .function__inner:before {
    top: -98px;
    left: -24.45vw;
    width: 22.81vw;
    height: 22.81vw;
    background: #F7F9FA;
}

.page.home-page .function__item:nth-of-type(2) .function__inner::after,
.page.contact-page .function__item:nth-of-type(2) .function__inner::after,
.page.document-page .function__item:nth-of-type(2) .function__inner::after,
.page.faq-page .function__item:nth-of-type(2) .function__inner::after,
.page.function-page .function__item:nth-of-type(2) .function__inner::after,
.page.plan-page .function__item:nth-of-type(2) .function__inner::after,
.page.service-page .function__item:nth-of-type(2) .function__inner::after,
.post-page .function__item:nth-of-type(2) .function__inner::after {
    top: auto;
    right: 0;
    bottom: -264px;
    left: auto;
    width: 6.14vw;
    height: 6.14vw;
    background: #F7F9FA;
}

.page.home-page .function__item:nth-of-type(3) .function__inner:before,
.page.contact-page .function__item:nth-of-type(3) .function__inner:before,
.page.document-page .function__item:nth-of-type(3) .function__inner:before,
.page.faq-page .function__item:nth-of-type(3) .function__inner:before,
.page.function-page .function__item:nth-of-type(3) .function__inner:before,
.page.plan-page .function__item:nth-of-type(3) .function__inner:before,
.page.service-page .function__item:nth-of-type(3) .function__inner:before,
.post-page .function__item:nth-of-type(3) .function__inner:before {
    top: -24px;
    right: 0;
    left: auto;
    width: 2.08vw;
    height: 2.08vw;
    background: #F7F9FA;
}

.page.home-page .function__item:nth-of-type(3) .function__inner::after {
    top: 246px;
    left: 9.68vw;
    width: 12.81vw;
    height: 12.81vw;
    background: #F7F9FA;
}

.page.contact-page .function__item:nth-of-type(3) .function__inner::after,
.page.document-page .function__item:nth-of-type(3) .function__inner::after,
.page.faq-page .function__item:nth-of-type(3) .function__inner::after,
.page.plan-page .function__item:nth-of-type(3) .function__inner::after,
.post-page .function__item:nth-of-type(3) .function__inner::after {
    top: 76px;
    left: -9.68vw;
    width: 22.81vw;
    height: 22.81vw;
}

.page.function-page .function__item:nth-of-type(3) .function__inner::after,
.page.service-page .function__item:nth-of-type(3) .function__inner::after {
    top: 226px;
    left: 19.68vw;
    width: 22.81vw;
    height: 22.81vw;
    background: #F7F9FA;
}

.page.contact-page .flow::before,
.page.document-page .flow::before,
.page.faq-page .flow::before,
.page.function-page .flow::before,
.page.plan-page .flow::before,
.page.service-page .flow::before,
.post-page .flow::before {
    top: -44px;
    right: -7.18vw;
    left: auto;
    width: 17.86vw;
    height: 17.86vw;
    z-index: 0;
}

.page.home-page .flow::after,
.page.contact-page .flow::after,
.page.document-page .flow::after,
.page.faq-page .flow::after,
.page.function-page .flow::after,
.page.plan-page .flow::after,
.page.service-page .flow::after,
.post-page .flow::after {
    top: auto;
    bottom: -11.45vw;
    left: 2.34vw;
    width: 12.39vw;
    height: 12.39vw;
    z-index: 0;
}

@keyframes float_x {
    0% {
        margin-left: 1.04vw;
        margin-right: 1.04vw;
    }

    100% {
        margin-left: 0px;
        margin-right: 0px;
    }
}

@keyframes float_y {
    0% {
        margin-top: 0px;
        margin-bottom: 0px;
    }

    100% {
        margin-top: 1.04vw;
        margin-bottom: 1.04vw;
    }
}

@media screen and (max-width: 750px) {

    .page.home-page .section::before,
    .page.contact-page .section::before,
    .page.document-page .section::before,
    .page.faq-page .section::before,
    .page.function-page .section::before,
    .page.plan-page .section::before,
    .page.service-page .section::before,
    .post-page .section::before {
        top: -6.4vw;
        right: 0;
        left: auto;
        background: #F8F8F8;
    }

    .page.home-page .section:first-of-type::after,
    .page.contact-page .section:first-of-type::after,
    .page.document-page .section:first-of-type::after,
    .page.faq-page .section:first-of-type::after,
    .page.function-page .section:first-of-type::after,
    .page.plan-page .section:first-of-type::after,
    .page.service-page .section:first-of-type::after,
    .post-page .section:first-of-type::after {
        top: 104vw;
        right: auto;
        left: -10.13vw;
        width: 77.86vw;
        height: 77.86vw;
    }

    .page.home-page .section--service::before,
    .page.contact-page .section--service::before,
    .page.document-page .section--service::before,
    .page.faq-page .section--service::before,
    .page.function-page .section--service::before,
    .page.plan-page .section--service::before,
    .page.service-page .section--service::before,
    .post-page .section--service::before {
        top: -26.13vw;
        right: 0;
        left: auto;
        width: 50.13vw;
        height: 50.13vw;
    }

    .page.home-page .section--service::after,
    .page.contact-page .section--service::after,
    .page.document-page .section--service::after,
    .page.faq-page .section--service::after,
    .page.function-page .section--service::after,
    .page.plan-page .section--service::after,
    .page.service-page .section--service::after,
    .post-page .section--service::after {
        bottom: -12.8vw;
        width: 23.73vw;
        height: 23.73vw;
        background: #F7F9FA;
    }

    .page.home-page .section--function::before,
    .page.contact-page .section--function::before,
    .page.document-page .section--function::before,
    .page.faq-page .section--function::before,
    .page.function-page .section--function::before,
    .page.plan-page .section--function::before,
    .page.service-page .section--function::before,
    .post-page .section--function::before {
        top: -6.4vw;
        right: -18px;
        left: auto;
        width: 71.2vw;
        height: 71.2vw;
        background: #F7F9FA;
    }

    .page.home-page .section__container--service::before,
    .page.home-page .section__container--plan::before,
    .page.contact-page .section__container--service::before,
    .page.contact-page .section__container--plan::before,
    .page.document-page .section__container--service::before,
    .page.document-page .section__container--plan::before,
    .page.faq-page .section__container--service::before,
    .page.faq-page .section__container--plan::before,
    .page.function-page .section__container--service::before,
    .page.function-page .section__container--plan::before,
    .page.plan-page .section__container--service::before,
    .page.plan-page .section__container--plan::before,
    .page.service-page .section__container--service::before,
    .page.service-page .section__container--plan::before,
    .post-page .section__container--service::before,
    .post-page .section__container--plan::before {
        content: none;
    }

    .page.home-page .function__item:first-of-type .function__inner::before,
    .page.contact-page .function__item:first-of-type .function__inner::before,
    .page.document-page .function__item:first-of-type .function__inner::before,
    .page.faq-page .function__item:first-of-type .function__inner::before,
    .page.function-page .function__item:first-of-type .function__inner::before,
    .page.plan-page .function__item:first-of-type .function__inner::before,
    .page.service-page .function__item:first-of-type .function__inner::before,
    .post-page .function__item:first-of-type .function__inner::before {
        top: 14.93vw;
        right: 10.66vw;
        left: auto;
    }

    .page.home-page .function__item:first-of-type .function__inner::after,
    .page.contact-page .function__item:first-of-type .function__inner::after,
    .page.document-page .function__item:first-of-type .function__inner::after,
    .page.faq-page .function__item:first-of-type .function__inner::after,
    .page.function-page .function__item:first-of-type .function__inner::after,
    .page.plan-page .function__item:first-of-type .function__inner::after,
    .page.service-page .function__item:first-of-type .function__inner::after,
    .post-page .function__item:first-of-type .function__inner::after {
        top: 53.33vw;
        right: 5.33vw;
        width: 4.26vw;
        height: 4.26vw;
        background: #111111;
    }

    .page.home-page .function__item:nth-of-type(2) .function__inner:before,
    .page.contact-page .function__item:nth-of-type(2) .function__inner:before,
    .page.document-page .function__item:nth-of-type(2) .function__inner:before,
    .page.faq-page .function__item:nth-of-type(2) .function__inner:before,
    .page.function-page .function__item:nth-of-type(2) .function__inner:before,
    .page.plan-page .function__item:nth-of-type(2) .function__inner:before,
    .page.service-page .function__item:nth-of-type(2) .function__inner:before,
    .post-page .function__item:nth-of-type(2) .function__inner:before {
        width: 49.6vw;
        height: 49.6vw;
    }
}

.page.contact-page,
.page.document-page,
.page.faq-page,
.page.function-page,
.page.plan-page,
.page.service-page,
.archive.post-page,
.blog.post-page {
    /* function */
    /* plan */
    /* blog */
    /* document */
    /* faq */
    /*sp*/
    /*blogカラム*/
}

.page.contact-page .section:first-of-type,
.page.document-page .section:first-of-type,
.page.faq-page .section:first-of-type,
.page.function-page .section:first-of-type,
.page.plan-page .section:first-of-type,
.page.service-page .section:first-of-type,
.archive.post-page .section:first-of-type,
.blog.post-page .section:first-of-type {
    background: none;
    padding: 80px 0 0;
}

.page.contact-page .heading--large,
.page.document-page .heading--large,
.page.faq-page .heading--large,
.page.function-page .heading--large,
.page.plan-page .heading--large,
.page.service-page .heading--large,
.archive.post-page .heading--large,
.blog.post-page .heading--large {
    font-size: clamp(40px, 5.333vw, 70px);
    line-height: 1;
}

.page.contact-page h2 .heading--small,
.page.document-page h2 .heading--small,
.page.faq-page h2 .heading--small,
.page.function-page h2 .heading--small,
.page.plan-page h2 .heading--small,
.page.service-page h2 .heading--small,
.archive.post-page h2 .heading--small,
.blog.post-page h2 .heading--small {
    font-size: clamp(14px, 1.867vw, 18px);
}

.page.contact-page .section__text,
.page.document-page .section__text,
.page.faq-page .section__text,
.page.function-page .section__text,
.page.plan-page .section__text,
.page.service-page .section__text,
.archive.post-page .section__text,
.blog.post-page .section__text {
    max-width: 856px;
}

.page.contact-page .section__container--service,
.page.document-page .section__container--service,
.page.faq-page .section__container--service,
.page.function-page .section__container--service,
.page.plan-page .section__container--service,
.page.service-page .section__container--service,
.archive.post-page .section__container--service,
.blog.post-page .section__container--service {
    width: 100vw;
    margin: 50px 0 0;
    padding: 20px 266px 75px;
    border-radius: 0;
    background: #F2EDE0;
}

.page.contact-page .section__container--service.section__container--option,
.page.document-page .section__container--service.section__container--option,
.page.faq-page .section__container--service.section__container--option,
.page.function-page .section__container--service.section__container--option,
.page.plan-page .section__container--service.section__container--option,
.page.service-page .section__container--service.section__container--option,
.archive.post-page .section__container--service.section__container--option,
.blog.post-page .section__container--service.section__container--option {
    margin: 50px 0 0 -104px;
    padding: 80px 266px 75px;
}

.page.contact-page .section__container--service.section__container--option .section__container--option--inner,
.page.document-page .section__container--service.section__container--option .section__container--option--inner,
.page.faq-page .section__container--service.section__container--option .section__container--option--inner,
.page.function-page .section__container--service.section__container--option .section__container--option--inner,
.page.plan-page .section__container--service.section__container--option .section__container--option--inner,
.page.service-page .section__container--service.section__container--option .section__container--option--inner,
.archive.post-page .section__container--service.section__container--option .section__container--option--inner,
.blog.post-page .section__container--service.section__container--option .section__container--option--inner {
    width: 100%;
    max-width: 1300px;
    margin: 0;
}

.page.contact-page .section__container--function,
.page.document-page .section__container--function,
.page.faq-page .section__container--function,
.page.function-page .section__container--function,
.page.plan-page .section__container--function,
.page.service-page .section__container--function,
.archive.post-page .section__container--function,
.blog.post-page .section__container--function {
    margin: 106px -98px 266px;
}

.page.contact-page .section__container--sub,
.page.document-page .section__container--sub,
.page.faq-page .section__container--sub,
.page.function-page .section__container--sub,
.page.plan-page .section__container--sub,
.page.service-page .section__container--sub,
.archive.post-page .section__container--sub,
.blog.post-page .section__container--sub {
    margin: 0 -6.87vw 170px;
    padding: 90px 14px 120px;
    border-radius: 25px;
    background: #f8f8f8;
}

.page.contact-page .section__container--sub .section__canvas,
.page.document-page .section__container--sub .section__canvas,
.page.faq-page .section__container--sub .section__canvas,
.page.function-page .section__container--sub .section__canvas,
.page.plan-page .section__container--sub .section__canvas,
.page.service-page .section__container--sub .section__canvas,
.archive.post-page .section__container--sub .section__canvas,
.blog.post-page .section__container--sub .section__canvas {
    max-width: 1215px;
    margin: auto;
    /* mix-blend-mode: multiply; */
    text-align: center;
}

.page.function-page .section__container--sub .section__canvas {
    margin-top: 30px;
    border-radius: 8px;
    overflow: hidden;
}

.page.function-page .section__container--sub .section__canvas img {
    border-radius: 8px;
    overflow: hidden;
}


.page.contact-page .section__container--sub .section__canvas img,
.page.document-page .section__container--sub .section__canvas img,
.page.faq-page .section__container--sub .section__canvas img,
.page.function-page .section__container--sub .section__canvas img,
.page.plan-page .section__container--sub .section__canvas img,
.page.service-page .section__container--sub .section__canvas img,
.archive.post-page .section__container--sub .section__canvas img,
.blog.post-page .section__container--sub .section__canvas img {
    max-width: 1000px;
}

@media screen and (max-width: 1130px) {

    .page.contact-page .section__container--sub .section__canvas img,
    .page.document-page .section__container--sub .section__canvas img,
    .page.faq-page .section__container--sub .section__canvas img,
    .page.function-page .section__container--sub .section__canvas img,
    .page.plan-page .section__container--sub .section__canvas img,
    .page.service-page .section__container--sub .section__canvas img,
    .archive.post-page .section__container--sub .section__canvas img,
    .blog.post-page .section__container--sub .section__canvas img {
        max-width: 100%;
    }
}

.page.contact-page .subTitle,
.page.document-page .subTitle,
.page.faq-page .subTitle,
.page.function-page .subTitle,
.page.plan-page .subTitle,
.page.service-page .subTitle,
.archive.post-page .subTitle,
.blog.post-page .subTitle {
    font-size: clamp(20px, 2.667vw, 36px);
    text-align: center;
}

.page.contact-page .section__container--plan,
.page.document-page .section__container--plan,
.page.faq-page .section__container--plan,
.page.function-page .section__container--plan,
.page.plan-page .section__container--plan,
.page.service-page .section__container--plan,
.archive.post-page .section__container--plan,
.blog.post-page .section__container--plan {
    margin: 107px 0 0;
}

.page.contact-page .plan,
.page.document-page .plan,
.page.faq-page .plan,
.page.function-page .plan,
.page.plan-page .plan,
.page.service-page .plan,
.archive.post-page .plan,
.blog.post-page .plan {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.page.contact-page .plan__item,
.page.document-page .plan__item,
.page.faq-page .plan__item,
.page.function-page .plan__item,
.page.plan-page .plan__item,
.page.service-page .plan__item,
.archive.post-page .plan__item,
.blog.post-page .plan__item {
    position: relative;
    width: calc((100% - 6.86vw) / 3);
    padding: 60px clamp(24px, 3vw, 60px) 52px;
    box-shadow: 0 2px 10px 5px rgba(0, 0, 0, 0.1019607843);
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
}

.page.contact-page .plan__item:first-of-type,
.page.document-page .plan__item:first-of-type,
.page.faq-page .plan__item:first-of-type,
.page.function-page .plan__item:first-of-type,
.page.plan-page .plan__item:first-of-type,
.page.service-page .plan__item:first-of-type,
.archive.post-page .plan__item:first-of-type,
.blog.post-page .plan__item:first-of-type {
    border: 3px solid #111111;
}

.page.contact-page .plan__item:first-of-type::before,
.page.document-page .plan__item:first-of-type::before,
.page.faq-page .plan__item:first-of-type::before,
.page.function-page .plan__item:first-of-type::before,
.page.plan-page .plan__item:first-of-type::before,
.page.service-page .plan__item:first-of-type::before,
.archive.post-page .plan__item:first-of-type::before,
.blog.post-page .plan__item:first-of-type::before {
    position: absolute;
    content: "おすすめ";
    top: clamp(-48px, -1.875vw, -36px);
    left: clamp(-154px, -6.97vw, -134px);
    width: 320px;
    height: clamp(104px, 6.25vw, 120px);
    padding: 72px 24px 0;
    color: #fff;
    background: #111111;
    font-size: clamp(12px, 1.6vw, 16px);
    text-align: center;
    transform: rotate(-45deg);
}

@media screen and (min-width: 1350px) {

    .page.contact-page .plan__item:first-of-type::before,
    .page.document-page .plan__item:first-of-type::before,
    .page.faq-page .plan__item:first-of-type::before,
    .page.function-page .plan__item:first-of-type::before,
    .page.plan-page .plan__item:first-of-type::before,
    .page.service-page .plan__item:first-of-type::before,
    .archive.post-page .plan__item:first-of-type::before,
    .blog.post-page .plan__item:first-of-type::before {
        left: -145px;
    }
}

.page.contact-page .plan__title,
.page.document-page .plan__title,
.page.faq-page .plan__title,
.page.function-page .plan__title,
.page.plan-page .plan__title,
.page.service-page .plan__title,
.archive.post-page .plan__title,
.blog.post-page .plan__title {
    font-size: clamp(20px, 2.667vw, 30px);
    text-align: center;
}

.page.contact-page .plan__money,
.page.document-page .plan__money,
.page.faq-page .plan__money,
.page.function-page .plan__money,
.page.plan-page .plan__money,
.page.service-page .plan__money,
.archive.post-page .plan__money,
.blog.post-page .plan__money {
    color: #646363;
    font-size: clamp(9px, 1.2vw, 14px);
    text-align: center;
    line-height: 1.6;
}

.page.contact-page .plan__money--emphasis,
.page.document-page .plan__money--emphasis,
.page.faq-page .plan__money--emphasis,
.page.function-page .plan__money--emphasis,
.page.plan-page .plan__money--emphasis,
.page.service-page .plan__money--emphasis,
.archive.post-page .plan__money--emphasis,
.blog.post-page .plan__money--emphasis {
    color: #111111;
    font-size: 8rem;
    font-size: clamp(42px, 5.6vw, 54px);
}

.page.contact-page .datail__item:first-of-type,
.page.document-page .datail__item:first-of-type,
.page.faq-page .datail__item:first-of-type,
.page.function-page .datail__item:first-of-type,
.page.plan-page .datail__item:first-of-type,
.page.service-page .datail__item:first-of-type,
.archive.post-page .datail__item:first-of-type,
.blog.post-page .datail__item:first-of-type {
    margin-top: 0;
}

.page.contact-page .datail__item,
.page.document-page .datail__item,
.page.faq-page .datail__item,
.page.function-page .datail__item,
.page.plan-page .datail__item,
.page.service-page .datail__item,
.archive.post-page .datail__item,
.blog.post-page .datail__item {
    margin-top: 8px;
    font-size: clamp(10px, 1.333vw, 16px);
}

.page.contact-page .datail__gray,
.page.document-page .datail__gray,
.page.faq-page .datail__gray,
.page.function-page .datail__gray,
.page.plan-page .datail__gray,
.page.service-page .datail__gray,
.archive.post-page .datail__gray,
.blog.post-page .datail__gray {
    color: #AEB1B4;
}

.page.contact-page .plan__button .mainButton__link,
.page.document-page .plan__button .mainButton__link,
.page.faq-page .plan__button .mainButton__link,
.page.function-page .plan__button .mainButton__link,
.page.plan-page .plan__button .mainButton__link,
.page.service-page .plan__button .mainButton__link,
.archive.post-page .plan__button .mainButton__link,
.blog.post-page .plan__button .mainButton__link {
    margin-top: 40px;
    border: 2px solid #111111;
    background: #111111;
    color: #fff;
    font-size: clamp(12px, 1.6vw, 16px);
}

.page.contact-page .plan__item:not(:first-of-type) .mainButton__link,
.page.document-page .plan__item:not(:first-of-type) .mainButton__link,
.page.faq-page .plan__item:not(:first-of-type) .mainButton__link,
.page.function-page .plan__item:not(:first-of-type) .mainButton__link,
.page.plan-page .plan__item:not(:first-of-type) .mainButton__link,
.page.service-page .plan__item:not(:first-of-type) .mainButton__link,
.archive.post-page .plan__item:not(:first-of-type) .mainButton__link,
.blog.post-page .plan__item:not(:first-of-type) .mainButton__link {
    background: #fff;
    color: #111111;
}

.page.contact-page .plan__button .mainButton__link:hover,
.page.document-page .plan__button .mainButton__link:hover,
.page.faq-page .plan__button .mainButton__link:hover,
.page.function-page .plan__button .mainButton__link:hover,
.page.plan-page .plan__button .mainButton__link:hover,
.page.service-page .plan__button .mainButton__link:hover,
.archive.post-page .plan__button .mainButton__link:hover,
.blog.post-page .plan__button .mainButton__link:hover {
    background: #fff;
    color: #111111;
}

.page.contact-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.page.document-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.page.faq-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.page.function-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.page.plan-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.page.service-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.archive.post-page .plan__item:not(:first-of-type) .mainButton__link:hover,
.blog.post-page .plan__item:not(:first-of-type) .mainButton__link:hover {
    background: #111111;
    color: #fff;
}

.page.contact-page .plan__button .mainButton__link::after,
.page.contact-page .option__button .mainButton__link::after,
.page.document-page .plan__button .mainButton__link::after,
.page.document-page .option__button .mainButton__link::after,
.page.faq-page .plan__button .mainButton__link::after,
.page.faq-page .option__button .mainButton__link::after,
.page.function-page .plan__button .mainButton__link::after,
.page.function-page .option__button .mainButton__link::after,
.page.plan-page .plan__button .mainButton__link::after,
.page.plan-page .option__button .mainButton__link::after,
.page.service-page .plan__button .mainButton__link::after,
.page.service-page .option__button .mainButton__link::after,
.archive.post-page .plan__button .mainButton__link::after,
.archive.post-page .option__button .mainButton__link::after,
.blog.post-page .plan__button .mainButton__link::after,
.blog.post-page .option__button .mainButton__link::after {
    content: none;
}

.page.contact-page .section--flow,
.page.document-page .section--flow,
.page.faq-page .section--flow,
.page.function-page .section--flow,
.page.plan-page .section--flow,
.page.service-page .section--flow,
.archive.post-page .section--flow,
.blog.post-page .section--flow {
    width: auto;
    margin-top: 96px;
    padding: 32px 4.27vw;
    border-radius: 16px;
}

.page.contact-page .section--flow.mt-s,
.page.document-page .section--flow.mt-s,
.page.faq-page .section--flow.mt-s,
.page.function-page .section--flow.mt-s,
.page.plan-page .section--flow.mt-s,
.page.service-page .section--flow.mt-s,
.archive.post-page .section--flow.mt-s,
.blog.post-page .section--flow.mt-s {
    margin-top: 48px;
}

.page.contact-page .option,
.page.document-page .option,
.page.faq-page .option,
.page.function-page .option,
.page.plan-page .option,
.page.service-page .option,
.archive.post-page .option,
.blog.post-page .option {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.page.plan-page .option {
    gap: 30px;
}

.page.plan-page .option .option__canvas {
    max-width: 50%;
    border-radius: 8px;
    overflow: hidden;
}

.page.contact-page .option__title,
.page.document-page .option__title,
.page.faq-page .option__title,
.page.function-page .option__title,
.page.plan-page .option__title,
.page.service-page .option__title,
.archive.post-page .option__title,
.blog.post-page .option__title {
    color: #111111;
    font-size: clamp(23px, 3.067vw, 34px);
}

.page.contact-page .option__inner,
.page.document-page .option__inner,
.page.faq-page .option__inner,
.page.function-page .option__inner,
.page.plan-page .option__inner,
.page.service-page .option__inner,
.archive.post-page .option__inner,
.blog.post-page .option__inner {
    max-width: 50%;
}

.page.contact-page .option__inner .option__canvas,
.page.document-page .option__inner .option__canvas,
.page.faq-page .option__inner .option__canvas,
.page.function-page .option__inner .option__canvas,
.page.plan-page .option__inner .option__canvas,
.page.service-page .option__inner .option__canvas,
.archive.post-page .option__inner .option__canvas,
.blog.post-page .option__inner .option__canvas {
    display: none;
}

.page.contact-page .option__text,
.page.document-page .option__text,
.page.faq-page .option__text,
.page.function-page .option__text,
.page.plan-page .option__text,
.page.service-page .option__text,
.archive.post-page .option__text,
.blog.post-page .option__text {
    margin-top: 20px;
}

.page.contact-page .option__button .mainButton__link,
.page.document-page .option__button .mainButton__link,
.page.faq-page .option__button .mainButton__link,
.page.function-page .option__button .mainButton__link,
.page.plan-page .option__button .mainButton__link,
.page.service-page .option__button .mainButton__link,
.archive.post-page .option__button .mainButton__link,
.blog.post-page .option__button .mainButton__link {
    margin-top: 40px;
    font-size: clamp(12px, 1.6vw, 16px);
}

.page.contact-page .section__container--merit,
.page.document-page .section__container--merit,
.page.faq-page .section__container--merit,
.page.function-page .section__container--merit,
.page.plan-page .section__container--merit,
.page.service-page .section__container--merit,
.archive.post-page .section__container--merit,
.blog.post-page .section__container--merit {
    margin: 80px 0 170px;
}

.page.contact-page .section__container--merit .service,
.page.document-page .section__container--merit .service,
.page.faq-page .section__container--merit .service,
.page.function-page .section__container--merit .service,
.page.plan-page .section__container--merit .service,
.page.service-page .section__container--merit .service,
.archive.post-page .section__container--merit .service,
.blog.post-page .section__container--merit .service {
    margin-top: 90px;
}

.page.contact-page .section__container--merit .service.mt-s,
.page.document-page .section__container--merit .service.mt-s,
.page.faq-page .section__container--merit .service.mt-s,
.page.function-page .section__container--merit .service.mt-s,
.page.plan-page .section__container--merit .service.mt-s,
.page.service-page .section__container--merit .service.mt-s,
.archive.post-page .section__container--merit .service.mt-s,
.blog.post-page .section__container--merit .service.mt-s {
    margin-top: 48px;
}

.page.contact-page .section__container--blog,
.page.document-page .section__container--blog,
.page.faq-page .section__container--blog,
.page.function-page .section__container--blog,
.page.plan-page .section__container--blog,
.page.service-page .section__container--blog,
.archive.post-page .section__container--blog,
.blog.post-page .section__container--blog {
    width: 100vw;
    margin: 220px -100px -170px;
    background: #F2EDE0;
    padding-bottom: 100px;
}

.page.contact-page .blogList,
.page.document-page .blogList,
.page.faq-page .blogList,
.page.function-page .blogList,
.page.plan-page .blogList,
.page.service-page .blogList,
.archive.post-page .blogList,
.blog.post-page .blogList {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    top: -80px;
    margin: 0 min(13.85vw, 266px) 0;
}

.page.contact-page .blogList__item,
.page.document-page .blogList__item,
.page.faq-page .blogList__item,
.page.function-page .blogList__item,
.page.plan-page .blogList__item,
.page.service-page .blogList__item,
.archive.post-page .blogList__item,
.blog.post-page .blogList__item {
    max-width: calc((100% - 5.2vw) / 3);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    position: relative;
    padding-bottom: 32px;
    display: flex;
    flex-direction: column;
    border: 1px solid #f1f1f1;
}

.page.contact-page .blogList__item a.blogList__link,
.page.document-page .blogList__item a.blogList__link,
.page.faq-page .blogList__item a.blogList__link,
.page.function-page .blogList__item a.blogList__link,
.page.plan-page .blogList__item a.blogList__link,
.page.service-page .blogList__item a.blogList__link,
.archive.post-page .blogList__item a.blogList__link,
.blog.post-page .blogList__item a.blogList__link {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: calc(100% - 60px);
}

.page.contact-page .blogList__item:nth-of-type(n+2),
.page.document-page .blogList__item:nth-of-type(n+2),
.page.faq-page .blogList__item:nth-of-type(n+2),
.page.function-page .blogList__item:nth-of-type(n+2),
.page.plan-page .blogList__item:nth-of-type(n+2),
.page.service-page .blogList__item:nth-of-type(n+2),
.archive.post-page .blogList__item:nth-of-type(n+2),
.blog.post-page .blogList__item:nth-of-type(n+2) {
    margin-left: 2.6vw;
}

.page.contact-page .blogList__item:nth-of-type(n+4),
.page.document-page .blogList__item:nth-of-type(n+4),
.page.faq-page .blogList__item:nth-of-type(n+4),
.page.function-page .blogList__item:nth-of-type(n+4),
.page.plan-page .blogList__item:nth-of-type(n+4),
.page.service-page .blogList__item:nth-of-type(n+4),
.archive.post-page .blogList__item:nth-of-type(n+4),
.blog.post-page .blogList__item:nth-of-type(n+4) {
    margin-top: 48px;
}

.page.contact-page .blogList__item:nth-of-type(3n+4),
.page.document-page .blogList__item:nth-of-type(3n+4),
.page.faq-page .blogList__item:nth-of-type(3n+4),
.page.function-page .blogList__item:nth-of-type(3n+4),
.page.plan-page .blogList__item:nth-of-type(3n+4),
.page.service-page .blogList__item:nth-of-type(3n+4),
.archive.post-page .blogList__item:nth-of-type(3n+4),
.blog.post-page .blogList__item:nth-of-type(3n+4) {
    margin-left: 0;
}

.page.contact-page .blogList__canvas,
.page.document-page .blogList__canvas,
.page.faq-page .blogList__canvas,
.page.function-page .blogList__canvas,
.page.plan-page .blogList__canvas,
.page.service-page .blogList__canvas,
.archive.post-page .blogList__canvas,
.blog.post-page .blogList__canvas {
    width: 100%;
    text-align: center;
}

.page.contact-page .blogList__content,
.page.document-page .blogList__content,
.page.faq-page .blogList__content,
.page.function-page .blogList__content,
.page.plan-page .blogList__content,
.page.service-page .blogList__content,
.archive.post-page .blogList__content,
.blog.post-page .blogList__content {
    padding: 32px 24px;
}

.page.contact-page .blogList__title,
.page.document-page .blogList__title,
.page.faq-page .blogList__title,
.page.function-page .blogList__title,
.page.plan-page .blogList__title,
.page.service-page .blogList__title,
.archive.post-page .blogList__title,
.blog.post-page .blogList__title {
    font-size: clamp(16px, 2.133vw, 24px);
    margin: 32px 24px 0;
    flex-grow: 1;
}

.page.contact-page .blogList__text,
.page.document-page .blogList__text,
.page.faq-page .blogList__text,
.page.function-page .blogList__text,
.page.plan-page .blogList__text,
.page.service-page .blogList__text,
.archive.post-page .blogList__text,
.blog.post-page .blogList__text {
    margin: 16px 24px 0;
    color: #646363;
    font-size: clamp(12px, 1.6vw, 16px);
}

.page.contact-page .blogList__inner,
.page.document-page .blogList__inner,
.page.faq-page .blogList__inner,
.page.function-page .blogList__inner,
.page.plan-page .blogList__inner,
.page.service-page .blogList__inner,
.archive.post-page .blogList__inner,
.blog.post-page .blogList__inner {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    margin: 28px 24px 0;
}

.page.contact-page .blogList__category,
.page.document-page .blogList__category,
.page.faq-page .blogList__category,
.page.function-page .blogList__category,
.page.plan-page .blogList__category,
.page.service-page .blogList__category,
.archive.post-page .blogList__category,
.blog.post-page .blogList__category {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-box-align: center;
    align-items: center;
}

.page.contact-page .blogList__category .category__item,
.page.document-page .blogList__category .category__item,
.page.faq-page .blogList__category .category__item,
.page.function-page .blogList__category .category__item,
.page.plan-page .blogList__category .category__item,
.page.service-page .blogList__category .category__item,
.archive.post-page .blogList__category .category__item,
.blog.post-page .blogList__category .category__item {
    padding-right: 10px;
    display: inline-block;
}

.page.contact-page .blogList__category .category__item a,
.page.document-page .blogList__category .category__item a,
.page.faq-page .blogList__category .category__item a,
.page.function-page .blogList__category .category__item a,
.page.plan-page .blogList__category .category__item a,
.page.service-page .blogList__category .category__item a,
.archive.post-page .blogList__category .category__item a,
.blog.post-page .blogList__category .category__item a {
    line-height: 30px;
    border-radius: 15px;
    background: #f5f5f5;
    color: #060606;
    display: inline-block;
    padding: 0 10px;
    font-size: clamp(8px, 1.067vw, 12px);
}

.page.contact-page .blogList__name,
.page.document-page .blogList__name,
.page.faq-page .blogList__name,
.page.function-page .blogList__name,
.page.plan-page .blogList__name,
.page.service-page .blogList__name,
.archive.post-page .blogList__name,
.blog.post-page .blogList__name {
    position: relative;
    padding-left: 48px;
    color: #646363;
    font-size: clamp(10px, 1.333vw, 16px);
}

.page.contact-page .blogList__name::before,
.page.document-page .blogList__name::before,
.page.faq-page .blogList__name::before,
.page.function-page .blogList__name::before,
.page.plan-page .blogList__name::before,
.page.service-page .blogList__name::before,
.archive.post-page .blogList__name::before,
.blog.post-page .blogList__name::before {
    display: inline-block;
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 35px;
    height: 35px;
    border: 1px solid #646363;
    border-radius: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.page.contact-page .blogList__date,
.page.document-page .blogList__date,
.page.faq-page .blogList__date,
.page.function-page .blogList__date,
.page.plan-page .blogList__date,
.page.service-page .blogList__date,
.archive.post-page .blogList__date,
.blog.post-page .blogList__date {
    color: #111111;
}

.page.contact-page .section__slide,
.page.document-page .section__slide,
.page.faq-page .section__slide,
.page.function-page .section__slide,
.page.plan-page .section__slide,
.page.service-page .section__slide,
.archive.post-page .section__slide,
.blog.post-page .section__slide {
    position: relative;
    overflow: hidden;
    padding-bottom: 50%;
    padding-top: 65px;
}

.page.contact-page .section__slide iframe,
.page.document-page .section__slide iframe,
.page.faq-page .section__slide iframe,
.page.function-page .section__slide iframe,
.page.plan-page .section__slide iframe,
.page.service-page .section__slide iframe,
.archive.post-page .section__slide iframe,
.blog.post-page .section__slide iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.page.contact-page .section__container--plan+.start,
.page.document-page .section__container--plan+.start,
.page.faq-page .section__container--plan+.start,
.page.function-page .section__container--plan+.start,
.page.plan-page .section__container--plan+.start,
.page.service-page .section__container--plan+.start,
.archive.post-page .section__container--plan+.start,
.blog.post-page .section__container--plan+.start {
    margin-top: 168px;
}

.page.contact-page .faq__item :first-of-type,
.page.document-page .faq__item :first-of-type,
.page.faq-page .faq__item :first-of-type,
.page.function-page .faq__item :first-of-type,
.page.plan-page .faq__item :first-of-type,
.page.service-page .faq__item :first-of-type,
.archive.post-page .faq__item :first-of-type,
.blog.post-page .faq__item :first-of-type {
    margin-top: 0;
}

.page.contact-page .faq__item,
.page.document-page .faq__item,
.page.faq-page .faq__item,
.page.function-page .faq__item,
.page.plan-page .faq__item,
.page.service-page .faq__item,
.archive.post-page .faq__item,
.blog.post-page .faq__item {
    margin-top: 16px;
    padding: 0 54px;
    border-radius: 15px;
    background: #F8F8F8;
    font-size: clamp(14px, 1.867vw, 18px);
}

.page.contact-page .faq__question,
.page.contact-page .faq__answer,
.page.document-page .faq__question,
.page.document-page .faq__answer,
.page.faq-page .faq__question,
.page.faq-page .faq__answer,
.page.function-page .faq__question,
.page.function-page .faq__answer,
.page.plan-page .faq__question,
.page.plan-page .faq__answer,
.page.service-page .faq__question,
.page.service-page .faq__answer,
.archive.post-page .faq__question,
.archive.post-page .faq__answer,
.blog.post-page .faq__question,
.blog.post-page .faq__answer {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    padding: 24px 0;
    border-top: 1px solid #999999;
}

.page.contact-page .faq__question,
.page.document-page .faq__question,
.page.faq-page .faq__question,
.page.function-page .faq__question,
.page.plan-page .faq__question,
.page.service-page .faq__question,
.archive.post-page .faq__question,
.blog.post-page .faq__question {
    -webkit-box-pack: justify;
    justify-content: space-between;
    position: relative;
    width: 100%;
    padding-bottom: 24px;
    border: none;
}

.page.contact-page .is-show .faq__question .faq__inner::before,
.page.contact-page .faq__question::after,
.page.document-page .is-show .faq__question .faq__inner::before,
.page.document-page .faq__question::after,
.page.faq-page .is-show .faq__question .faq__inner::before,
.page.faq-page .faq__question::after,
.page.function-page .is-show .faq__question .faq__inner::before,
.page.function-page .faq__question::after,
.page.plan-page .is-show .faq__question .faq__inner::before,
.page.plan-page .faq__question::after,
.page.service-page .is-show .faq__question .faq__inner::before,
.page.service-page .faq__question::after,
.archive.post-page .is-show .faq__question .faq__inner::before,
.archive.post-page .faq__question::after,
.blog.post-page .is-show .faq__question .faq__inner::before,
.blog.post-page .faq__question::after {
    display: inline-block;
    content: "";
    width: 30px;
    height: 1px;
    background: #222121;
}

.page.contact-page .is-show .faq__question .faq__inner::before,
.page.document-page .is-show .faq__question .faq__inner::before,
.page.faq-page .is-show .faq__question .faq__inner::before,
.page.function-page .is-show .faq__question .faq__inner::before,
.page.plan-page .is-show .faq__question .faq__inner::before,
.page.service-page .is-show .faq__question .faq__inner::before,
.archive.post-page .is-show .faq__question .faq__inner::before,
.blog.post-page .is-show .faq__question .faq__inner::before {
    display: inline-block;
    content: "";
    position: absolute;
    right: 14px;
    top: 50%;
    width: 1px;
    height: 30px;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.page.contact-page .faq__question::before,
.page.contact-page .faq__answer::before,
.page.document-page .faq__question::before,
.page.document-page .faq__answer::before,
.page.faq-page .faq__question::before,
.page.faq-page .faq__answer::before,
.page.function-page .faq__question::before,
.page.function-page .faq__answer::before,
.page.plan-page .faq__question::before,
.page.plan-page .faq__answer::before,
.page.service-page .faq__question::before,
.page.service-page .faq__answer::before,
.archive.post-page .faq__question::before,
.archive.post-page .faq__answer::before,
.blog.post-page .faq__question::before,
.blog.post-page .faq__answer::before {
    display: inline-block;
    content: "Q";
    width: 67px;
    height: 67px;
    margin-right: 16px;
    border: 1px solid #111111;
    border-radius: 50%;
    background: #fff;
    color: #111111;
    font-size: 2.4rem;
    font-weight: 400;
    text-align: center;
    line-height: 65px;
}

.page.contact-page .faq__answer::before,
.page.document-page .faq__answer::before,
.page.faq-page .faq__answer::before,
.page.function-page .faq__answer::before,
.page.plan-page .faq__answer::before,
.page.service-page .faq__answer::before,
.archive.post-page .faq__answer::before,
.blog.post-page .faq__answer::before {
    content: "A";
    background: #111111;
    color: #fff;
}

.page.contact-page .faq__inner,
.page.document-page .faq__inner,
.page.faq-page .faq__inner,
.page.function-page .faq__inner,
.page.plan-page .faq__inner,
.page.service-page .faq__inner,
.archive.post-page .faq__inner,
.blog.post-page .faq__inner {
    width: calc(100% - 130px);
}

@media screen and (max-width: 1130px) {

    .page.contact-page,
    .page.document-page,
    .page.faq-page,
    .page.function-page,
    .page.plan-page,
    .page.service-page,
    .archive.post-page,
    .blog.post-page {
        /* plan */
        /* blog */
        /* faq */
    }

    .page.contact-page main,
    .page.document-page main,
    .page.faq-page main,
    .page.function-page main,
    .page.plan-page main,
    .page.service-page main,
    .archive.post-page main,
    .blog.post-page main {
        margin: 60px 104px 170px;
    }

    .page.contact-page .section:first-of-type,
    .page.document-page .section:first-of-type,
    .page.faq-page .section:first-of-type,
    .page.function-page .section:first-of-type,
    .page.plan-page .section:first-of-type,
    .page.service-page .section:first-of-type,
    .archive.post-page .section:first-of-type,
    .blog.post-page .section:first-of-type {
        padding: 24px 0 0;
    }

    .page.contact-page .section__container--service,
    .page.contact-page .section__container--blog,
    .page.document-page .section__container--service,
    .page.document-page .section__container--blog,
    .page.faq-page .section__container--service,
    .page.faq-page .section__container--blog,
    .page.function-page .section__container--service,
    .page.function-page .section__container--blog,
    .page.plan-page .section__container--service,
    .page.plan-page .section__container--blog,
    .page.service-page .section__container--service,
    .page.service-page .section__container--blog,
    .archive.post-page .section__container--service,
    .archive.post-page .section__container--blog,
    .blog.post-page .section__container--service,
    .blog.post-page .section__container--blog {
        margin: 50px -104px 0;
        padding: 36px 104px 102px;
    }

    .page.contact-page .section__container--blog,
    .page.document-page .section__container--blog,
    .page.faq-page .section__container--blog,
    .page.function-page .section__container--blog,
    .page.plan-page .section__container--blog,
    .page.service-page .section__container--blog,
    .archive.post-page .section__container--blog,
    .blog.post-page .section__container--blog {
        margin: 100px -104px -170px;
        padding-bottom: 0;
    }

    .page.contact-page .section__container--function,
    .page.document-page .section__container--function,
    .page.faq-page .section__container--function,
    .page.function-page .section__container--function,
    .page.plan-page .section__container--function,
    .page.service-page .section__container--function,
    .archive.post-page .section__container--function,
    .blog.post-page .section__container--function {
        margin: 106px 0 120px;
    }

    .page.contact-page .section__container--sub,
    .page.document-page .section__container--sub,
    .page.faq-page .section__container--sub,
    .page.function-page .section__container--sub,
    .page.plan-page .section__container--sub,
    .page.service-page .section__container--sub,
    .archive.post-page .section__container--sub,
    .blog.post-page .section__container--sub {
        margin: 0 -64px 170px;
        background: #f8f8f8;
    }

    .page.contact-page .plan,
    .page.document-page .plan,
    .page.faq-page .plan,
    .page.function-page .plan,
    .page.plan-page .plan,
    .page.service-page .plan,
    .archive.post-page .plan,
    .blog.post-page .plan {
        margin-right: -104px;
        padding: 16px 12px;
        overflow-x: scroll;
        overflow-y: clip;
    }

    .page.contact-page .plan__item,
    .page.document-page .plan__item,
    .page.faq-page .plan__item,
    .page.function-page .plan__item,
    .page.plan-page .plan__item,
    .page.service-page .plan__item,
    .archive.post-page .plan__item,
    .blog.post-page .plan__item {
        flex-shrink: 0;
        width: 276px;
        padding: 24px;
    }

    .page.contact-page .plan__item+.plan__item,
    .page.document-page .plan__item+.plan__item,
    .page.faq-page .plan__item+.plan__item,
    .page.function-page .plan__item+.plan__item,
    .page.plan-page .plan__item+.plan__item,
    .page.service-page .plan__item+.plan__item,
    .archive.post-page .plan__item+.plan__item,
    .blog.post-page .plan__item+.plan__item {
        margin-left: 24px;
    }

    .page.contact-page .plan__item:first-of-type::before,
    .page.document-page .plan__item:first-of-type::before,
    .page.faq-page .plan__item:first-of-type::before,
    .page.function-page .plan__item:first-of-type::before,
    .page.plan-page .plan__item:first-of-type::before,
    .page.service-page .plan__item:first-of-type::before,
    .archive.post-page .plan__item:first-of-type::before,
    .blog.post-page .plan__item:first-of-type::before {
        top: -48px;
        left: -154px;
        height: 104px;
    }

    .page.contact-page .datail__item,
    .page.document-page .datail__item,
    .page.faq-page .datail__item,
    .page.function-page .datail__item,
    .page.plan-page .datail__item,
    .page.service-page .datail__item,
    .archive.post-page .datail__item,
    .blog.post-page .datail__item {
        margin-top: 4px;
    }

    .page.contact-page .section--flow,
    .page.document-page .section--flow,
    .page.faq-page .section--flow,
    .page.function-page .section--flow,
    .page.plan-page .section--flow,
    .page.service-page .section--flow,
    .archive.post-page .section--flow,
    .blog.post-page .section--flow {
        margin-top: 48px;
    }

    .page.contact-page .option__title,
    .page.document-page .option__title,
    .page.faq-page .option__title,
    .page.function-page .option__title,
    .page.plan-page .option__title,
    .page.service-page .option__title,
    .archive.post-page .option__title,
    .blog.post-page .option__title {
        margin-top: 10px;
    }

    .page.contact-page .option__text,
    .page.document-page .option__text,
    .page.faq-page .option__text,
    .page.function-page .option__text,
    .page.plan-page .option__text,
    .page.service-page .option__text,
    .archive.post-page .option__text,
    .blog.post-page .option__text {
        margin-top: 12px;
    }

    .page.contact-page .option__inner,
    .page.document-page .option__inner,
    .page.faq-page .option__inner,
    .page.function-page .option__inner,
    .page.plan-page .option__inner,
    .page.service-page .option__inner,
    .archive.post-page .option__inner,
    .blog.post-page .option__inner {
        max-width: 100%;
    }

    .page.contact-page .option__inner .option__canvas,
    .page.document-page .option__inner .option__canvas,
    .page.faq-page .option__inner .option__canvas,
    .page.function-page .option__inner .option__canvas,
    .page.plan-page .option__inner .option__canvas,
    .page.service-page .option__inner .option__canvas,
    .archive.post-page .option__inner .option__canvas,
    .blog.post-page .option__inner .option__canvas {
        display: block;
        max-width: 100%;
    }

    .page.contact-page .option__inner+.option__canvas,
    .page.document-page .option__inner+.option__canvas,
    .page.faq-page .option__inner+.option__canvas,
    .page.function-page .option__inner+.option__canvas,
    .page.plan-page .option__inner+.option__canvas,
    .page.service-page .option__inner+.option__canvas,
    .archive.post-page .option__inner+.option__canvas,
    .blog.post-page .option__inner+.option__canvas {
        display: none;
    }

    .page.contact-page .blogList,
    .page.document-page .blogList,
    .page.faq-page .blogList,
    .page.function-page .blogList,
    .page.plan-page .blogList,
    .page.service-page .blogList,
    .archive.post-page .blogList,
    .blog.post-page .blogList {
        margin: 0;
    }

    .page.contact-page .blogList__item,
    .page.document-page .blogList__item,
    .page.faq-page .blogList__item,
    .page.function-page .blogList__item,
    .page.plan-page .blogList__item,
    .page.service-page .blogList__item,
    .archive.post-page .blogList__item,
    .blog.post-page .blogList__item {
        max-width: calc((100% - 5.2vw) / 2);
    }

    .page.contact-page .blogList__item:nth-of-type(n+2),
    .page.document-page .blogList__item:nth-of-type(n+2),
    .page.faq-page .blogList__item:nth-of-type(n+2),
    .page.function-page .blogList__item:nth-of-type(n+2),
    .page.plan-page .blogList__item:nth-of-type(n+2),
    .page.service-page .blogList__item:nth-of-type(n+2),
    .archive.post-page .blogList__item:nth-of-type(n+2),
    .blog.post-page .blogList__item:nth-of-type(n+2) {
        margin-left: 2.6vw;
    }

    .page.contact-page .blogList__item:nth-of-type(n+3),
    .page.document-page .blogList__item:nth-of-type(n+3),
    .page.faq-page .blogList__item:nth-of-type(n+3),
    .page.function-page .blogList__item:nth-of-type(n+3),
    .page.plan-page .blogList__item:nth-of-type(n+3),
    .page.service-page .blogList__item:nth-of-type(n+3),
    .archive.post-page .blogList__item:nth-of-type(n+3),
    .blog.post-page .blogList__item:nth-of-type(n+3) {
        margin-top: 48px;
    }

    .page.contact-page .blogList__item:nth-of-type(2n+1),
    .page.document-page .blogList__item:nth-of-type(2n+1),
    .page.faq-page .blogList__item:nth-of-type(2n+1),
    .page.function-page .blogList__item:nth-of-type(2n+1),
    .page.plan-page .blogList__item:nth-of-type(2n+1),
    .page.service-page .blogList__item:nth-of-type(2n+1),
    .archive.post-page .blogList__item:nth-of-type(2n+1),
    .blog.post-page .blogList__item:nth-of-type(2n+1) {
        margin-left: 0;
    }

    .page.contact-page .faq__item,
    .page.document-page .faq__item,
    .page.faq-page .faq__item,
    .page.function-page .faq__item,
    .page.plan-page .faq__item,
    .page.service-page .faq__item,
    .archive.post-page .faq__item,
    .blog.post-page .faq__item {
        padding: 0 32px;
    }
}

@media screen and (max-width: 750px) {

    .page.contact-page,
    .page.document-page,
    .page.faq-page,
    .page.function-page,
    .page.plan-page,
    .page.service-page,
    .archive.post-page,
    .blog.post-page {
        /* plan */
        /* document */
        /* faq */
    }

    .page.contact-page main,
    .page.document-page main,
    .page.faq-page main,
    .page.function-page main,
    .page.plan-page main,
    .page.service-page main,
    .archive.post-page main,
    .blog.post-page main {
        margin: 40px 0 72px;
    }

    .page.contact-page .heading--large,
    .page.document-page .heading--large,
    .page.faq-page .heading--large,
    .page.function-page .heading--large,
    .page.plan-page .heading--large,
    .page.service-page .heading--large,
    .archive.post-page .heading--large,
    .blog.post-page .heading--large {
        font-size: 4.8rem;
    }

    .page.contact-page .section__container::before,
    .page.document-page .section__container::before,
    .page.faq-page .section__container::before,
    .page.function-page .section__container::before,
    .page.plan-page .section__container::before,
    .page.service-page .section__container::before,
    .archive.post-page .section__container::before,
    .blog.post-page .section__container::before {
        content: none;
    }

    .page.contact-page .section__container--service,
    .page.document-page .section__container--service,
    .page.faq-page .section__container--service,
    .page.function-page .section__container--service,
    .page.plan-page .section__container--service,
    .page.service-page .section__container--service,
    .archive.post-page .section__container--service,
    .blog.post-page .section__container--service {
        margin: 50px -18px 0;
        padding: 36px 24px 102px;
    }

    .page.contact-page .section__container--blog,
    .page.document-page .section__container--blog,
    .page.faq-page .section__container--blog,
    .page.function-page .section__container--blog,
    .page.plan-page .section__container--blog,
    .page.service-page .section__container--blog,
    .archive.post-page .section__container--blog,
    .blog.post-page .section__container--blog {
        margin: 80px -18px -70px;
        padding: 36px 24px 36px;
    }

    .page.contact-page .section__container--sub,
    .page.document-page .section__container--sub,
    .page.faq-page .section__container--sub,
    .page.function-page .section__container--sub,
    .page.plan-page .section__container--sub,
    .page.service-page .section__container--sub,
    .archive.post-page .section__container--sub,
    .blog.post-page .section__container--sub {
        margin: 80px -18px 170px;
        border-radius: 0;
        background: #f8f8f8;
    }

    .page.contact-page .subTitle,
    .page.document-page .subTitle,
    .page.faq-page .subTitle,
    .page.function-page .subTitle,
    .page.plan-page .subTitle,
    .page.service-page .subTitle,
    .archive.post-page .subTitle,
    .blog.post-page .subTitle {
        font-size: 2.4rem;
    }

    .page.contact-page .plan,
    .page.document-page .plan,
    .page.faq-page .plan,
    .page.function-page .plan,
    .page.plan-page .plan,
    .page.service-page .plan,
    .archive.post-page .plan,
    .blog.post-page .plan {
        margin-right: -18px;
    }

    .page.contact-page .section__container--merit .service,
    .page.document-page .section__container--merit .service,
    .page.faq-page .section__container--merit .service,
    .page.function-page .section__container--merit .service,
    .page.plan-page .section__container--merit .service,
    .page.service-page .section__container--merit .service,
    .archive.post-page .section__container--merit .service,
    .blog.post-page .section__container--merit .service {
        margin-top: 56px;
    }

    .page.contact-page .blogList__content,
    .page.document-page .blogList__content,
    .page.faq-page .blogList__content,
    .page.function-page .blogList__content,
    .page.plan-page .blogList__content,
    .page.service-page .blogList__content,
    .archive.post-page .blogList__content,
    .blog.post-page .blogList__content {
        padding: 24px 12px;
    }

    .page.contact-page .section__container--plan+.start,
    .page.document-page .section__container--plan+.start,
    .page.faq-page .section__container--plan+.start,
    .page.function-page .section__container--plan+.start,
    .page.plan-page .section__container--plan+.start,
    .page.service-page .section__container--plan+.start,
    .archive.post-page .section__container--plan+.start,
    .blog.post-page .section__container--plan+.start {
        margin-top: 107px;
    }

    .page.contact-page .faq__item,
    .page.document-page .faq__item,
    .page.faq-page .faq__item,
    .page.function-page .faq__item,
    .page.plan-page .faq__item,
    .page.service-page .faq__item,
    .archive.post-page .faq__item,
    .blog.post-page .faq__item {
        padding: 0 16px;
    }

    .page.contact-page .is-show .faq__question .faq__inner::before,
    .page.contact-page .faq__question::after,
    .page.document-page .is-show .faq__question .faq__inner::before,
    .page.document-page .faq__question::after,
    .page.faq-page .is-show .faq__question .faq__inner::before,
    .page.faq-page .faq__question::after,
    .page.function-page .is-show .faq__question .faq__inner::before,
    .page.function-page .faq__question::after,
    .page.plan-page .is-show .faq__question .faq__inner::before,
    .page.plan-page .faq__question::after,
    .page.service-page .is-show .faq__question .faq__inner::before,
    .page.service-page .faq__question::after,
    .archive.post-page .is-show .faq__question .faq__inner::before,
    .archive.post-page .faq__question::after,
    .blog.post-page .is-show .faq__question .faq__inner::before,
    .blog.post-page .faq__question::after {
        width: 15px;
    }

    .page.contact-page .is-show .faq__question .faq__inner::before,
    .page.document-page .is-show .faq__question .faq__inner::before,
    .page.faq-page .is-show .faq__question .faq__inner::before,
    .page.function-page .is-show .faq__question .faq__inner::before,
    .page.plan-page .is-show .faq__question .faq__inner::before,
    .page.service-page .is-show .faq__question .faq__inner::before,
    .archive.post-page .is-show .faq__question .faq__inner::before,
    .blog.post-page .is-show .faq__question .faq__inner::before {
        right: 7px;
        width: 1px;
        height: 15px;
    }

    .page.contact-page .faq__question::before,
    .page.contact-page .faq__answer::before,
    .page.document-page .faq__question::before,
    .page.document-page .faq__answer::before,
    .page.faq-page .faq__question::before,
    .page.faq-page .faq__answer::before,
    .page.function-page .faq__question::before,
    .page.function-page .faq__answer::before,
    .page.plan-page .faq__question::before,
    .page.plan-page .faq__answer::before,
    .page.service-page .faq__question::before,
    .page.service-page .faq__answer::before,
    .archive.post-page .faq__question::before,
    .archive.post-page .faq__answer::before,
    .blog.post-page .faq__question::before,
    .blog.post-page .faq__answer::before {
        width: 40px;
        height: 40px;
        margin-right: 16px;
        font-size: 2rem;
        line-height: 37px;
    }

    .page.contact-page .faq__inner,
    .page.document-page .faq__inner,
    .page.faq-page .faq__inner,
    .page.function-page .faq__inner,
    .page.plan-page .faq__inner,
    .page.service-page .faq__inner,
    .archive.post-page .faq__inner,
    .blog.post-page .faq__inner {
        width: calc(100% - 71px);
    }
}

@media screen and (max-width: 520px) {

    .page.contact-page .blogList,
    .page.document-page .blogList,
    .page.faq-page .blogList,
    .page.function-page .blogList,
    .page.plan-page .blogList,
    .page.service-page .blogList,
    .archive.post-page .blogList,
    .blog.post-page .blogList {
        display: block;
    }

    .page.contact-page .blogList__item,
    .page.document-page .blogList__item,
    .page.faq-page .blogList__item,
    .page.function-page .blogList__item,
    .page.plan-page .blogList__item,
    .page.service-page .blogList__item,
    .archive.post-page .blogList__item,
    .blog.post-page .blogList__item {
        max-width: 100%;
        margin-top: 24px;
    }

    .page.contact-page .blogList__item:nth-of-type(n+2),
    .page.document-page .blogList__item:nth-of-type(n+2),
    .page.faq-page .blogList__item:nth-of-type(n+2),
    .page.function-page .blogList__item:nth-of-type(n+2),
    .page.plan-page .blogList__item:nth-of-type(n+2),
    .page.service-page .blogList__item:nth-of-type(n+2),
    .archive.post-page .blogList__item:nth-of-type(n+2),
    .blog.post-page .blogList__item:nth-of-type(n+2) {
        margin-left: 0;
    }

    .page.contact-page .blogList__item:nth-of-type(n+3),
    .page.document-page .blogList__item:nth-of-type(n+3),
    .page.faq-page .blogList__item:nth-of-type(n+3),
    .page.function-page .blogList__item:nth-of-type(n+3),
    .page.plan-page .blogList__item:nth-of-type(n+3),
    .page.service-page .blogList__item:nth-of-type(n+3),
    .archive.post-page .blogList__item:nth-of-type(n+3),
    .blog.post-page .blogList__item:nth-of-type(n+3) {
        margin-top: 24px;
    }
}

.blog.post-page {
    max-width: 100%;
    margin: auto;
    border-top: none;
}

.page.plan-page #main main,
.blog.post-page #main main,
.archive.post-page #main main {
    margin: 60px 0 170px;
}

.page.plan-page #main main .section__container--option,
.blog.post-page #main main .section__container--option,
.archive.post-page #main main .section__container--option {
    margin: 50px 0 0;
    padding: 100px 0;
}

@media screen and (max-width: 750px) {

    .page.plan-page #main main .section__container--option,
    .blog.post-page #main main .section__container--option,
    .archive.post-page #main main .section__container--option {
        padding: 50px 0;
    }
}

.page.plan-page #main main .section__container--option .section__container--option--inner,
.blog.post-page #main main .section__container--option .section__container--option--inner,
.archive.post-page #main main .section__container--option .section__container--option--inner {
    width: auto;
    max-width: 1300px;
    margin: 0 104px 0;
}

@media screen and (min-width: 1350px) {

    .page.plan-page #main main .section__container--option .section__container--option--inner,
    .blog.post-page #main main .section__container--option .section__container--option--inner,
    .archive.post-page #main main .section__container--option .section__container--option--inner {
        margin: 60px auto 100px;
    }
}

@media screen and (max-width: 750px) {

    .page.plan-page #main main .section__container--option .section__container--option--inner,
    .blog.post-page #main main .section__container--option .section__container--option--inner,
    .archive.post-page #main main .section__container--option .section__container--option--inner {
        margin: 0 16px 50px;
        width: calc(100% - 48px);
    }
}

.page.plan-page #main main .section,
.page.plan-page #main main .section__container--merit,
.page.plan-page #main main .section--blog,
.blog.post-page #main main .section,
.blog.post-page #main main .section__container--merit,
.blog.post-page #main main .section--blog,
.archive.post-page #main main .section,
.archive.post-page #main main .section__container--merit,
.archive.post-page #main main .section--blog {
    margin: 100px 104px 100px;
}

@media screen and (min-width: 1350px) {

    .page.plan-page #main main .section,
    .page.plan-page #main main .section__container--merit,
    .page.plan-page #main main .section--blog,
    .blog.post-page #main main .section,
    .blog.post-page #main main .section__container--merit,
    .blog.post-page #main main .section--blog,
    .archive.post-page #main main .section,
    .archive.post-page #main main .section__container--merit,
    .archive.post-page #main main .section--blog {
        margin: 60px auto 100px;
    }
}

@media screen and (max-width: 750px) {

    .page.plan-page #main main .section,
    .page.plan-page #main main .section__container--merit,
    .page.plan-page #main main .section--blog,
    .blog.post-page #main main .section,
    .blog.post-page #main main .section__container--merit,
    .blog.post-page #main main .section--blog,
    .archive.post-page #main main .section,
    .archive.post-page #main main .section__container--merit,
    .archive.post-page #main main .section--blog {
        margin: 50px 16px;
    }
}

@media screen and (min-width: 1350px) {

    .page.plan-page #main main .section__container--blog,
    .blog.post-page #main main .section__container--blog,
    .archive.post-page #main main .section__container--blog {
        margin: 220px auto 100px;
    }
}

.page.service-page .section__container--service {
    margin: 50px -104px 0;
}

@media screen and (max-width: 1550px) {
    .page.service-page .section__container--service {
        padding-left: 5%;
        padding-right: 5%;
    }

}

@media screen and (max-width: 750px) {
    .page.service-page .section__container--service {
        margin: 50px -18px 0;
    }
}

body.privacy-page,
body.terms-page,
body.tokutei-page,
body.information-security-page {
    background: #F8F8F8;
}

body.privacy-page .section__common,
body.privacy-page .section,
body.terms-page .section__common,
body.terms-page .section,
body.tokutei-page .section__common,
body.tokutei-page .section,
body.information-security-page .section__common,
body.information-security-page .section {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

body.privacy-page .section:first-of-type,
body.terms-page .section:first-of-type,
body.tokutei-page .section:first-of-type,
body.information-security-page .section:first-of-type {
    background: none;
    padding: 80px 0 0;
}

body.privacy-page .section+.section,
body.terms-page .section+.section,
body.tokutei-page .section+.section,
body.information-security-page .section+.section {
    margin-top: 120px;
}

body.privacy-page .section__link,
body.privacy-page .section__link:visited,
body.terms-page .section__link,
body.terms-page .section__link:visited,
body.tokutei-page .section__link,
body.tokutei-page .section__link:visited,
body.information-security-page .section__link,
body.information-security-page .section__link:visited {
    color: #111111;
}

body.privacy-page .section__item,
body.terms-page .section__item,
body.tokutei-page .section__item,
body.information-security-page .section__item {
    font-size: clamp(14px, 1.867vw, 18px);
    line-height: 3rem;
}

body.privacy-page .privacy,
body.terms-page .privacy,
body.tokutei-page .privacy,
body.information-security-page .privacy {
    margin-top: 36px;
    font-size: clamp(14px, 1.867vw, 18px);
    line-height: 3rem;
}

body.privacy-page .privacy__list--number,
body.terms-page .privacy__list--number,
body.tokutei-page .privacy__list--number,
body.information-security-page .privacy__list--number {
    counter-reset: number;
}

body.privacy-page .privacy__list--number+.privacy__text,
body.terms-page .privacy__list--number+.privacy__text,
body.tokutei-page .privacy__list--number+.privacy__text,
body.information-security-page .privacy__list--number+.privacy__text {
    margin-top: 0;
}

body.privacy-page .privacy__item,
body.terms-page .privacy__item,
body.tokutei-page .privacy__item,
body.information-security-page .privacy__item {
    position: relative;
    padding-left: 2.6em;
}

body.privacy-page .privacy__item::before,
body.terms-page .privacy__item::before,
body.tokutei-page .privacy__item::before,
body.information-security-page .privacy__item::before {
    counter-increment: number;
    content: "（"counter(number) "）";
    position: absolute;
    left: 0;
}

.single.single-post {
    /* service.css共通 */
    /* blog */
    /* /service.css共通 */
    /*sp*/
    /*blogカラム*/
}

.single.single-post main {
    margin: 60px min(13.85vw, 266px) 170px;
}

.single.single-post .section:first-of-type {
    background: none;
    padding: 80px 0 0;
}

.single.single-post .section__container--blog {
    width: 100vw;
    margin: 300px max(-13.85vw, -266px) -170px;
    padding-bottom: 170px;
    background: #F8F8F8;
}

.single.single-post .blogList {
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
    margin: 0 min(13.85vw, 266px) 170px;
}

.single.single-post .blogList__item {
    max-width: calc((100% - 5.2vw) / 3);
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
    position: relative;
    padding-bottom: 32px;
    display: flex;
    flex-direction: column;
}

.single.single-post .blogList__item a.blogList__link {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: calc(100% - 60px);
}

.single.single-post .blogList__category {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-box-align: center;
    align-items: center;
}

.single.single-post .blogList__category .category__item {
    padding-right: 10px;
    display: inline-block;
}

.single.single-post .blogList__category .category__item a {
    line-height: 30px;
    border-radius: 15px;
    background: #f5f5f5;
    color: #060606;
    display: inline-block;
    padding: 0 10px;
    font-size: clamp(8px, 1.067vw, 12px);
}

.single.single-post .blogList__item:nth-of-type(n+2) {
    margin-left: 2.6vw;
}

.single.single-post .blogList__item:nth-of-type(n+4) {
    margin-top: 48px;
}

.single.single-post .blogList__item:nth-of-type(4n) {
    margin-left: 0;
}

.single.single-post .blogList__canvas {
    width: 100%;
    text-align: center;
}

.single.single-post .blogList__title {
    padding: 32px 24px 0;
    font-size: clamp(16px, 2.133vw, 24px);
    flex-grow: 1;
}

.single.single-post .blogList__text {
    padding: 0 24px;
    margin-top: 24px;
    color: #646363;
    font-size: clamp(12px, 1.6vw, 16px);
}

.single.single-post .blogList__inner {
    padding: 0 24px;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    margin-top: 16px;
}

.single.single-post .blogList__name {
    position: relative;
    padding-left: 48px;
    color: #646363;
    font-size: clamp(10px, 1.333vw, 12px);
}

.single.single-post .blogList__name::before {
    display: inline-block;
    position: absolute;
    content: "";
    top: 50%;
    left: 0;
    width: 35px;
    height: 35px;
    border: 1px solid #646363;
    border-radius: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}

.single.single-post .blogList__date {
    color: #111111;
}

.single.single-post .heading--blog {
    font-size: clamp(30px, 3.5vw, 35px);
    line-height: 1.4;
}

.single.single-post h2 .heading--small {
    font-size: clamp(12px, 1.6vw, 20px);
    line-height: 2.4;
    text-align: left;
}

.single.single-post .section__lead--blog {
    margin: -80px min(13.85vw, 266px) 36px;
    color: #111111;
    font-size: clamp(18px, 2.4vw, 34px);
}

@media screen and (min-width: 1350px) {
    .single.single-post .section__lead--blog {
        max-width: 1300px;
        margin: -80px auto 36px;
    }
}

.single.single-post .article {
    position: relative;
    top: -240px;
    margin: 0 min(13.85vw, 266px) 0;
    background: #fff;
    border-radius: 8px;
}

.single.single-post .article__canvas {
    border-radius: 8px;
    overflow: hidden;
}

.single.single-post .article__canvas img {
    width: 100%;
}

.single.single-post .article__container {
    padding: 120px;
    line-height: 2.4;
}

.single.single-post .article__container .article__section {
    font-weight: 400;
}

.single.single-post .article__container .article__section a {
    color: #111111;
}

.single.single-post .article__container .article__section:first-of-type> :first-child {
    margin-top: 0;
}

.single.single-post .article__container .article__section h3 {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    position: relative;
    margin-top: 120px;
    margin-bottom: 20px;
    padding-left: 1em;
    font-size: clamp(20px, 2.667vw, 32px);
    line-height: 1.5;
    font-weight: bolder;
}

.single.single-post .article__container .article__section h3::before {
    display: inline-block;
    position: absolute;
    content: "";
    width: 7px;
    height: 100%;
    left: 0;
    border-radius: 4px;
    background: #111111;
}

.single.single-post .article__container h4 {
    margin-top: 3em;
    font-size: clamp(18px, 2.4vw, 28px);
}

.single.single-post .article__text,
.single.single-post .article__text--quote,
.single.single-post .article__text--code,
.single.single-post .article__list,
.single.single-post .article__list--number {
    margin-top: 2em;
    font-size: clamp(12px, 1.6vw, 18px);
    font-weight: 400;
    line-height: 2.2;
}

.single.single-post .article__list--number {
    counter-reset: number;
}

.single.single-post .article__item {
    position: relative;
    padding-left: 2.2em;
}

.single.single-post .article__list .article__item::before,
.single.single-post .article__list--number .article__item::before {
    content: "・";
    position: absolute;
    left: 1em;
}

.single.single-post .article__list--number .article__item::before {
    counter-increment: number;
    content: counter(number) ".";
}

.single.single-post .article__text--quote {
    position: relative;
    padding: 64px 56px 48px;
    border-radius: 6px;
    background: #F8F8F8;
}

.single.single-post .article__text--quote::before {
    content: "";
    position: absolute;
    background: url(../image/ico_blog--00_dot_01.png) no-repeat;
    background-size: contain;
    top: min(-0.625vw, -8px);
    left: 56px;
    width: max(3.125vw, 42px);
    height: max(3.125vw, 42px);
}

.single.single-post .article__text--code {
    margin: 0 0.4em;
    padding: 0 0.2em;
    border: 1px solid #646363;
    border-radius: 4px;
    background: #F8F8F8;
    color: #646363;
}

.single.single-post .article__content,
.single.single-post .article__content--bottom {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    margin-top: 160px;
}

.single.single-post .article__content {
    padding: 32px 56px;
    border-radius: 10px;
    background: #F8F8F8;
}

.single.single-post .article__content .article__writer {
    width: 100px;
    border-radius: 50px;
    overflow: hidden;
}

.single.single-post .article__content .article__writer img {
    width: 100px;
    height: 100px;
}

.single.single-post .article__content--bottom {
    -webkit-box-pack: justify;
    justify-content: space-between;
    margin-top: 80px;
}

.single.single-post .article__user__inner {
    margin-left: 56px;
    width: calc(100% - 156px);
}

.single.single-post .article__inner {
    margin-left: 56px;
}

.single.single-post .article__name {
    font-size: clamp(18px, 2.4vw, 24px);
}

.single.single-post .article__bio {
    font-size: clamp(12px, 1.6vw, 16px);
    color: #646363;
}

.single.single-post .article__share {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    justify-content: flex-start;
    font-size: 1rem;
}

.single.single-post .share+.article__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.single.single-post .article__icon,
.single.single-post .share__icon {
    width: 52px;
    height: 52px;
}

.single.single-post .article__icon a,
.single.single-post .share__icon a {
    display: block;
}

.single.single-post .article__from {
    margin-left: 24px;
    font-size: clamp(14px, 1.867vw, 20px);
    color: #646363;
}

.single.single-post .mainButton {
    padding: 16px;
    font-size: 1.8rem;
}

.single.single-post .mainButton .mainButton__link::after {
    content: none;
}

@media screen and (max-width: 1130px) {
    .single.single-post {
        /* service.css共通 */
        /* blog */
        /* /service.css共通 */
    }

    .single.single-post main {
        margin: 60px 104px 170px;
    }

    .single.single-post .section:first-of-type {
        padding: 24px 0 0;
    }

    .single.single-post .section__container--blog {
        margin: 300px -104px -170px;
        padding: 36px 104px 170px;
    }

    .single.single-post .blogList {
        margin: 0;
    }

    .single.single-post .blogList__item {
        max-width: calc((100% - 5.2vw) / 2);
    }

    .single.single-post .blogList__item:nth-of-type(n+2) {
        margin-left: 2.6vw;
    }

    .single.single-post .blogList__item:nth-of-type(n+3) {
        margin-top: 48px;
    }

    .single.single-post .blogList__item:nth-of-type(2n+1) {
        margin-left: 0;
    }

    .single.single-post .section__lead--blog {
        margin: max(-14.93vw, -56px) 0 24px;
    }

    .single.single-post .article {
        margin: 0;
    }

    .single.single-post .article__container {
        padding: 80px;
    }

    .single.single-post .article__content {
        padding: 24px 48px;
    }

    .single.single-post .article__title {
        margin-top: 56px;
    }

    .single.single-post .article__inner {
        margin-left: 2.83vw;
    }

    .single.single-post .article__share .share__icon,
    .single.single-post .article__icon {
        width: 36px;
        height: 36px;
    }

    .single.single-post .article__from {
        margin-left: 12px;
    }
}

@media screen and (max-width: 750px) {
    .single.single-post {
        /* service.css共通 */
        /* /service.css共通 */
    }

    .single.single-post main {
        margin: 40px 18px 72px;
    }

    .single.single-post .heading--large {
        font-size: 4.8rem;
    }

    .single.single-post .section__container::before {
        content: none;
    }

    .single.single-post .section__container--blog {
        margin: 160px -18px -70px;
        padding: 36px 24px 102px;
    }

    .single.single-post .article {
        top: -120px;
        background: none;
    }

    .single.single-post .article__container {
        margin-top: 24px;
        padding: 24px;
        border-radius: 8px;
        background: #fff;
    }

    .single.single-post .article__canvas {
        margin: 0 -24px;
        border-radius: 0;
    }

    .single.single-post .article__content,
    .single.single-post .article__content--bottom {
        margin-top: 48px;
    }

    .single.single-post .article__content {
        padding: 20px;
    }

    .single.single-post .share+.article__inner {
        margin-left: 16px;
    }

    .single.single-post .article__text--quote::before {
        left: 24px;
    }

    .single.single-post .article__text--quote {
        padding: 40px 24px 36px;
    }
}

@media screen and (max-width: 520px) {
    .single.single-post .blogList {
        display: block;
    }

    .single.single-post .blogList__item {
        max-width: 100%;
        margin-top: 24px;
    }

    .single.single-post .blogList__item:nth-of-type(n+2) {
        margin-left: 0;
    }

    .single.single-post .blogList__item:nth-of-type(n+3) {
        margin-top: 24px;
    }
}

.sp-block {
    display: none;
}

@media screen and (max-width: 520px) {
    .sp-block {
        display: block;
    }
}

.single.single-post .post__link {
    padding: 0 30px 30px;
    display: flex;
    justify-content: space-between;
    margin: 0 min(13.85vw, 266px) 0;
    /* 調整（元データ）start */
    top: -210px;
    position: relative;
    /* 調整（元データ）end */
}

.single.single-post .post__link a {
    display: block;
}

.single.single-post .section__list.blogList li.blogList__item:nth-child(4) {
    display: none;
}

.single.single-post .article__section.blogList__category {
    margin: 28px 0 0;
}

.single.single-post .article__section.blogList__category a {
    color: #0F0F10;
    font-weight: 700;
}

.single.single-post .post__link {
    justify-content: center;
}

.single.single-post .post__link a {
    line-height: 50px;
    border: 2px solid #0F0F10;
    border-radius: 30px;
    display: inline-block;
    padding: 0 50px;
}

.single.single-post .post__link a+a {
    margin-left: 30px;
}

@media screen and (max-width: 1130px) {
    .single.single-post .post__link {
        margin: 0;
    }

    .single.single-post .section__list.blogList li.blogList__item:nth-child(4) {
        display: block;
    }
}

@media screen and (max-width: 750px) {
    .single.single-post .post__link {
        top: -80px;
        flex-direction: column;
    }

    .single.single-post .post__link a {
        text-align: center;
    }

    .single.single-post .post__link a+a {
        margin-left: 0;
        margin-top: 20px;
    }

    .single.single-post .article__content.user {
        flex-direction: column;
    }

    .single.single-post .article__content.user .article__user__inner {
        margin: 30px 0 0;
        width: 100%;
    }
}

@media screen and (max-width: 520px) {
    .single.single-post .section__list.blogList li.blogList__item:nth-child(3) {
        display: block;
    }

    .single.single-post .article__content--bottom {
        flex-direction: column;
    }

    .single.single-post .article__content--bottom .article__inner {
        margin: 20px 0 0;
    }
}

.archive.post-page #main main,
.category #main main,
.blog #main main,
.blog.post-page #main main {
    margin-bottom: 0;
}

.archive.post-page #main main .section,
.category #main main .section,
.blog #main main .section,
.blog.post-page #main main .section {
    margin-bottom: 0;
}

.archive.post-page #main main .section .section__container--blog,
.category #main main .section .section__container--blog,
.blog #main main .section .section__container--blog,
.blog.post-page #main main .section .section__container--blog {
    margin-bottom: 0;
}

.nav-links {
    text-align: center;
}

.nav-links span,
.nav-links a {
    display: inline-block;
    border: 1px solid #111111;
    width: 50px;
    line-height: 50px;
    text-align: center;
    border-radius: 25px;
    background: #fff;
    color: #111111;
    margin: 0 5px;
}

@media screen and (max-width: 520px) {

    .nav-links span,
    .nav-links a {
        width: 40px;
        line-height: 40px;
        margin: 0 2px;
    }
}

.nav-links span,
.nav-links a.page-num-current {
    background: #111111;
    border-color: #111111;
    color: #fff;
}

.nav-links span.dots {
    background: #fff;
    color: #111111;
}

.nav-links a:hover {
    color: #fff;
    background: #111111;
    border-color: #111111;
}

.category .section__container--blog {
    margin-top: 200px;
}

.category .section__container--blog .blogList {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    top: -80px;
}

.page-template-page-default,
.page-template.page-template-page-default,
.page-template-page-default.contact-page,
.page-template-page-default.thanks-page,
.error404.post-page {
    background-color: #F2EDE0;
}

.page-template-page-default .section:first-of-type,
.page-template.page-template-page-default .section:first-of-type,
.page-template-page-default.contact-page .section:first-of-type,
.page-template-page-default.thanks-page .section:first-of-type,
.error404.post-page .section:first-of-type {
    padding: 0;
    background: none;
}

.page-template-page-default .section .section__inner,
.page-template.page-template-page-default .section .section__inner,
.page-template-page-default.contact-page .section .section__inner,
.page-template-page-default.thanks-page .section .section__inner,
.error404.post-page .section .section__inner {
    background-color: #fff;
    margin-left: clamp(20px, 10vw, 200px);
    margin-right: clamp(20px, 10vw, 200px);
    padding: 5vw;
}

.page-template-page-default .section .section__inner .default__canvas,
.page-template.page-template-page-default .section .section__inner .default__canvas,
.page-template-page-default.contact-page .section .section__inner .default__canvas,
.page-template-page-default.thanks-page .section .section__inner .default__canvas,
.error404.post-page .section .section__inner .default__canvas {
    text-align: center;
}

.page-template-page-default .section .section__inner .default__canvas img,
.page-template.page-template-page-default .section .section__inner .default__canvas img,
.page-template-page-default.contact-page .section .section__inner .default__canvas img,
.page-template-page-default.thanks-page .section .section__inner .default__canvas img,
.error404.post-page .section .section__inner .default__canvas img {
    width: 100%;
    max-width: 600px;
}

.page-template-page-default .section .section__inner h2.section__title.default__title,
.page-template.page-template-page-default .section .section__inner h2.section__title.default__title,
.page-template-page-default.contact-page .section .section__inner h2.section__title.default__title,
.page-template-page-default.thanks-page .section .section__inner h2.section__title.default__title,
.error404.post-page .section .section__inner h2.section__title.default__title {
    font-size: max(2vw, 2rem);
    color: #111111;
    text-align: center;
}

.page-template-page-default .section .section__inner .section__container--default .section__default,
.page-template.page-template-page-default .section .section__inner .section__container--default .section__default,
.page-template-page-default.contact-page .section .section__inner .section__container--default .section__default,
.page-template-page-default.thanks-page .section .section__inner .section__container--default .section__default,
.error404.post-page .section .section__inner .section__container--default .section__default {
    margin-top: 1.2vw;
}

.page-template-page-default .section .section__inner .section__container--default .section__default p,
.page-template.page-template-page-default .section .section__inner .section__container--default .section__default p,
.page-template-page-default.contact-page .section .section__inner .section__container--default .section__default p,
.page-template-page-default.thanks-page .section .section__inner .section__container--default .section__default p,
.error404.post-page .section .section__inner .section__container--default .section__default p {
    text-align: center;
}

@media screen and (max-width: 1130px) {

    .page-template-page-default .section .section__inner,
    .page-template.page-template-page-default .section .section__inner,
    .page-template-page-default.contact-page .section .section__inner,
    .page-template-page-default.thanks-page .section .section__inner,
    .error404.post-page .section .section__inner {
        margin: 0;
        padding: 10vw 5vw;
    }
}

.mw_wp_form {
    /* contact */
}

.contact__confirm--title,
.mw_wp_form .contact__confirm--title {
    display: none;
}

.section__form,
.mw_wp_form .section__form {
    font-size: clamp(10px, 1.333vw, 16px);
}

.section__form.form,
.mw_wp_form .section__form.form {
    margin-top: 50px;
}

.form__contact,
.mw_wp_form .form__contact {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-box-align: center;
    align-items: center;
}

.form__contact .form__text,
.mw_wp_form .form__contact .form__text {
    width: 300px;
}

.form__contact dd,
.mw_wp_form .form__contact dd {
    width: calc(100% - 300px);
}

.form__contact .form__contact--inner,
.mw_wp_form .form__contact .form__contact--inner {
    width: calc((100% - 320px) / 2);
}

.form__contact .form__contact--inner+.form__contact--inner,
.mw_wp_form .form__contact .form__contact--inner+.form__contact--inner {
    margin-left: 20px;
}

.form__contact+.form__contact,
.mw_wp_form .form__contact+.form__contact {
    margin-top: 18px;
}

.form__contact:last-of-type,
.mw_wp_form .form__contact:last-of-type {
    -webkit-box-pack: center;
    justify-content: center;
}

.mw_wp_form .form__submit,
.form__submit {
    display: flex;
}

.form__submit input+input,
.mw_wp_form .form__submit input+input {
    margin-left: 15px;
}

.form__text::after,
.mw_wp_form .form__text::after {
    content: "*（必须）";
    color: #C30000;
    font-weight: 400;
}

.form__input,
.form__textarea,
.form__select,
.mw_wp_form .form__input,
.mw_wp_form .form__textarea,
.mw_wp_form .form__select {
    position: relative;
    width: 100%;
    padding: 32px;
    border-radius: 10px;
    background: #F2EDE0;
}


.form__input:focus-visible,
.mw_wp_form .form__input:focus-visible,
.form__textarea:focus-visible,
.mw_wp_form .form__textarea:focus-visible,
.form__select:focus-visible,
.mw_wp_form .form__select:focus-visible {
    outline-color: #111111;
}

.mw_wp_form .form__input::placeholder,
.mw_wp_form .form__select {
    color: #A3A3A3;
}

.form__select,
.mw_wp_form .form__select {
    background-image: url(../image/img_common_arrow_04.png);
    background-size: 12px 6px;
    background-position: calc(100% - 30px) 50%, calc(100% - 30px) 50%;
    background-repeat: no-repeat;
    -webkit-appearance: none;
    appearance: none;
    /* デフォルトの矢印を非表示 */
}

.form__select::-ms-expand,
.mw_wp_form .form__select::-ms-expand {
    display: none;
    /* デフォルトの矢印を非表示(IE用) */
}

.form__send,
.mw_wp_form .form__send {
    width: 300px;
    margin-top: 2%;
    padding: 20px;
    border: 2px solid #111111;
    border-radius: 10px;
    background: #111111;
    color: #fff;
    font-size: clamp(16px, 2.133vw, 22px);
    text-align: center;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.form__send.form__back,
.mw_wp_form .form__send.form__back {
    background: #fff;
    color: #FC632A;
}

.form__send.form__back:hover,
.mw_wp_form .form__send.form__back:hover {
    background: #FC632A;
    color: #fff;
}

.form__send:hover,
.mw_wp_form .form__send:hover {
    background: #fff;
    color: #111111;
}

@media screen and (max-width: 1130px) {

    .form__contact .form__text,
    .mw_wp_form .form__contact .form__text {
        width: 100px;
    }

    .form__contact dd,
    .mw_wp_form .form__contact dd {
        width: calc(100% - 100px);
    }

    .form__contact .form__contact--inner,
    .mw_wp_form .form__contact .form__contact--inner {
        width: calc((100% - 120px) / 2);
    }

    .form__contact .form__contact--inner+.form__contact--inner,
    .mw_wp_form .form__contact .form__contact--inner+.form__contact--inner {
        margin-left: 20px;
    }
}

@media screen and (max-width: 750px) {
    .mw_wp_form {
        /* contact */
    }

    .form__input,
    .form__textarea,
    .form__select,
    .mw_wp_form .form__input,
    .mw_wp_form .form__input,
    .mw_wp_form .form__textarea,
    .mw_wp_form .form__select {
        padding: 12px;
    }

    .form__select,
    .mw_wp_form .form__select {
        background-image: linear-gradient(45deg, transparent 50%, #999999 50%), linear-gradient(135deg, #999999 50%, transparent 50%);
        background-size: 5px 5px, 5px 5px;
        background-position: calc(100% - 25px) 50%, calc(100% - 20px) 50%;
        background-repeat: no-repeat;
    }

    .form__send,
    .mw_wp_form .form__send {
        width: 280px;
        margin-top: 56px;
        padding: 24px;
    }
}

.mw_wp_form.mw_wp_form_confirm,
.mw_wp_form.mw_wp_form_preview {
    padding: 50px 100px;
    background-color: #fff;
}

.contact__confirm--title,
.mw_wp_form.mw_wp_form_confirm .contact__confirm--title,
.mw_wp_form.mw_wp_form_preview .contact__confirm--title {
    display: block;
    font-size: clamp(20px, 2.667vw, 30px);
    text-align: center;
    color: #111111;
}

.mw_wp_form.mw_wp_form_confirm .form__contact,
.mw_wp_form.mw_wp_form_preview .form__contact {
    padding: 30px 0 15px;
    border-top: 1px solid #BFBFBF;
}

.mw_wp_form.mw_wp_form_confirm .form__contact .form__contact--inner,
.mw_wp_form.mw_wp_form_preview .form__contact .form__contact--inner {
    width: auto;
}

.mw_wp_form.mw_wp_form_confirm .form__contact .form__contact--inner+.form__contact--inner,
.mw_wp_form.mw_wp_form_preview .form__contact .form__contact--inner+.form__contact--inner {
    margin-left: 10px;
}

@media screen and (max-width: 520px) {

    .mw_wp_form.mw_wp_form_confirm,
    .mw_wp_form.mw_wp_form_preview {
        padding: 50px 10px;
    }
}

.page.home-page .function__item:nth-of-type(3) .function__inner:before,
.page.home-page .function__item:nth-of-type(3) .function__inner::after,
.page.home-page .function__item:nth-of-type(2) .function__inner::after,
.page.home-page .function__item:nth-of-type(4) .function__inner:before {
    display: none;
}

.page.home-page .function__item:nth-of-type(4) .function__inner:after {
    width: 6.14vw;
    height: 6.14vw;
    background: #F7F9FA;
}

.function__item:nth-child(2n+1) .function__inner {
    padding-left: 5%;
}

.function__item:nth-child(2n+2) .function__inner {
    padding-right: 5%;
}

.section--function .mainButton {
    text-align: center;
}

.section--function .mainButton .mainButton__link {
    display: inline-block;
    width: 280px;
    margin: 56px 3% 0;
}

.section--service.section--price {
    background: none;
}

.page.home-page .section--service.section--price::before {
    display: none;
}


.section--price .service__top {
    margin-bottom: 2%;
}

.section--price .service__lead {
    min-height: auto;
    margin-top: 5px;
    padding-bottom: 0;
    font-size: 22px;
}

.section--price .service__canvas {
    margin-top: 6%;
}

.section--price .service__tb {
    margin-top: 5%;
}

.section--price .service__tb table {}

.section--price .service__tb table tr {}

.section--price .service__tb table tr td img {
    max-width: 85%;
}

.section--price .service__tb table tr:nth-child(2n+2) td {
    padding-bottom: 10px;
}

.section--price .service__tb table tr td {
    font-size: 11px;
}

.section--pics {
    background: #F8F8F8;
}

.section--pics .section__title {
    font-weight: 700;
    font-size: 34px;
    line-height: 64.8px;
    letter-spacing: 1px;
    text-align: center;
}

.section--pics .pics__img {
    width: 90%;
    margin: 0 auto;
}

.section--pics .pics__img img {
    margin-top: 5%;
    max-width: 100%;
}

#main .section--flow.section--faq {
    position: relative;
    padding: 0;
}

#main .section--flow.section--faq::before {
    display: block;
    content: '';
    width: 45vw;
    height: 45vw;
    border-radius: 999px;
    background: #F7F9FA;
    position: absolute;
    top: -77%;
    left: 0%;
}

#main .section--flow.section--faq::after {
    display: block;
    content: '';
    width: 20vw;
    height: 20vw;
    border-radius: 999px;
    background: #F7F9FA;
    position: absolute;
    top: 15%;
    right: -3%;
}


#main .section--flow.section--faq .section__list.faq {
    margin-top: 10%;
    position: relative;
    z-index: 1;
}

#main .section--flow.section--faq .faq__item {
    background: azure;
    margin-bottom: 2%;
}

#main .section--flow.section--faq .faq__item .faq__t {
    position: relative;
    background: #F8F8F8;
    padding: 10px 20px;
    cursor: pointer;
}

#main .section--flow.section--faq .faq__item .faq__t .ico,
#main .section--flow.section--faq .faq__item .faq__b .ico {
    display: inline-block;
    border: 1px solid #000000;
    width: 60px;
    height: 60px;
    border-radius: 999px;
    font-weight: 400;
    font-size: 24px;
    line-height: 53px;
    text-align: center;
    vertical-align: middle;
    background: #fff;
    color: #0F0F10;
}

#main .section--flow.section--faq .faq__item .faq__t .tit {
    font-weight: 500;
    font-size: 18px;
    line-height: 32.4px;
    letter-spacing: 0%;
    vertical-align: middle;
    color: #0F0F10;
    margin-left: 10px;
}

#main .section--flow.section--faq .faq__item .faq__t .pm {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    cursor: pointer;
}

#main .section--flow.section--faq .faq__item .faq__t .pm::before {
    display: block;
    content: '';
    width: 30px;
    height: 1px;
    background: #222121;
    cursor: pointer;
}

#main .section--flow.section--faq .faq__item .faq__t .pm::after {
    display: block;
    content: '';
    width: 30px;
    height: 1px;
    background: #222121;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    -moz-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
    opacity: 1;
    filter: opacity(100%);
    transition: all .2s;
    cursor: pointer;
}

#main .section--flow.section--faq .faq__item .faq__b {
    padding: 10px 20px;
    background-color: #fff;
    display: none;
}

#main .section--flow.section--faq .faq__item .faq__b p {
    font-size: 18px;
    line-height: 1.5;
    display: inline-block;
    width: calc(100% - 100px);
    margin-left: 10px;
}


#main .section--flow.section--faq .faq__item.active .faq__t .pm::after {
    opacity: 0;
    filter: opacity(0%);
}

#main .section--flow.section--faq .faq__item.active .faq__b {}

#main .section--flow.section--faq .faq__item .faq__b .ico {
    background-color: #0F0F10;
    color: #fff;
}

.section--contact {
    padding-top: 106px;
    padding-bottom: 106px;
}

.section--contact .section__title {
    font-weight: 700;
    font-size: 38.4px;
    line-height: 69.13px;
    letter-spacing: 1px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
}

.section--contact p.section__txt {
    font-weight: 500;
    font-size: 16px;
    line-height: 28.8px;
    letter-spacing: 1px;
    text-align: center;
    vertical-align: middle;
    color: #fff;
    max-width: 800px;
    margin: 2% auto;
}

.section--contact .guide .guide__item {
    background: transparent;
    padding: 0;
    max-width: 300px;
    margin: 0 2%;
}

.section--contact .guide {
    justify-content: center;
    -webkit-justify-content: center;
    -moz-justify-content: center;
    -ms-justify-content: center;
    -o-justify-content: center;
    margin-top: 30px;
}

.section--contact .guide a {
    border-radius: 8px;
    background: #fff;
    color: #222121;
    border: 2px solid #222121;
}

.section--contact .guide .mainButton .mainButton__link::after {
    background: url(../image/img_common_arrow_01.png) center/100% no-repeat;
    height: 14px;
}

.section--contact .guide .mainButton .mainButton__link:hover::after {
    background: url(../image/img_common_arrow_03.png) center/100% no-repeat;
    height: 14px;
}

.footer__canvas {
    width: 160px;
    text-align: center;
}

.footer__canvas img {
    margin: 0 auto;
}


.privacy-page {}

.privacy-page .section__common h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 3% 0 1% 0;
}

.privacy-page .section__common p {
    font-size: 18px;
    font-weight: 500;
}

.form_agree {
    display: block;
    margin-top: 5% !important;
}

.form_agree p {
    text-align: center;
}

.form_agree p a {
    text-decoration: underline;
    color: #C30000;
}

.form__contact:nth-child(1) .form__text::after,
.form__contact:nth-child(2) .form__text::after,
.form__contact:nth-child(3) .form__text::after {
    display: none;
}


.page.home-page .section::before {
    background: #DBE1E1;
}

#calloutElm {
    position: fixed;
    right: 8px;
    bottom: 8px;
    z-index: 99;
}

#calloutElm.scroll-in {
    display: block;
}

#calloutElm a {
    display: block;
    width: 40vw;
    max-width: 116px;
    transition: .2s;
}

#calloutElm a img {
    width: 100%;
    height: auto;
}

#calloutElm a:hover {
    opacity: .8;
}

.closebtn {
    position: absolute;
    top: -2px;
    right: 0px;
    color: #000000;
    line-height: 1;
    cursor: pointer;
    z-index: 1;
    width: 30px;
    line-height: 30px;
    padding: 0;
    text-align: center;
    border-radius: 15px;
    font-size: 20px;
    font-weight: bolder;
}

@media screen and (max-width: 750px) {
    .page.home-page .function__item:first-of-type .function__inner::after {
        display: none;
    }

    .section--pics .section__title,
    .section--contact .section__title {
        font-size: 22px;
        line-height: 45px;
    }

    .section--voice {
        padding-bottom: 10%;
    }

    #main .section--flow.section--faq {
        margin-bottom: 20%;
    }

    #main .section--flow.section--faq .faq__item .faq__t .ico,
    #main .section--flow.section--faq .faq__item .faq__b .ico {
        width: 40px;
        height: 40px;
        line-height: 35px;
        font-size: 18px;
    }

    #main .section--flow.section--faq .faq__item .faq__t .tit {
        font-size: 16px;
    }

    #main .section--flow.section--faq .faq__item .faq__t .pm::before,
    #main .section--flow.section--faq .faq__item .faq__t .pm::after {
        width: 20px;
    }

    .footer__canvas img {
        margin-bottom: 10px;
    }

    .service__canvas {
        height: auto;
    }
    .section--function .mainButton {
        display: flex;
    }
    .section--function .mainButton .mainButton__link::after {
        right: 12px;
    }
}
input[type="checkbox"]#myCheckbox {
    width: 20px;
    height: 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    margin-right: 10px;
    position: relative;
    overflow: hidden;
}

input[type="checkbox"]#myCheckbox:before {
    content: '√';
    position: absolute;
    top: -5px;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    opacity: 0;
    filter: opacity(0%);
}

input[type="checkbox"]#myCheckbox:checked:before {
    opacity: 1;
    filter: opacity(100%);
}

.thanksPage .section__inner{
    max-width: 800px;
    background: #fff;
    margin: 0 auto;
    padding: 6%;
    text-align: center;
    font-size: 15px;
    box-shadow: 1px 1px 8px rgba(0, 0, 0, .1);
}
.thanksPage .section__title{
    font-size: 20px;
    margin-bottom: 3%;
}