@charset "UTF-8";

/* CSS Document */
html {
    font-size: 18px;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-feature-settings: "palt";
    text-align: justify;
    text-justify: inter-ideograph;
    line-height: 1.5;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    overflow-wrap: break-word;
    color: #222;
    background-color: #F8F7F5;
    margin: 0;
}

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

::selection {
    background: #F5A100;
    color: #fff;
}

::-moz-selection {
    background: #F5A100;
    color: #fff;
}

::-webkit-scrollbar {
    width: 6px;
}

::-webkit-scrollbar-track {
    background-color: rgba(#F5A100, 0);
    opacity: 0;
}

::-webkit-scrollbar-thumb {
    background-color: #F5A100;
    border-radius: 100vh;
    box-shadow: 2px 2px 5px rgba(#000, 0.5);
}

h1,
h2,
h3,
h4,
h5,
h6,
dt {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    overflow-wrap: break-word;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

br {
    display: inline-block;
}

a {
    transition: color 250ms;
    color: #E27100;
}

a:visited {}

a:hover {}

ol,
ul,
li {
    list-style-type: none;
    padding: 0;
}

strong {
    color: #E27100;
    font-weight: bold;
}

address {
    display: block;
    font-style: normal;
}

table {
    width: 100%;
    border-collapse: collapse;
}

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

/*class*/
.flex {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.flex--center {
    justify-content: center;
    gap: 3%;
    align-items: center;
}

.level1-heading {
    font-size: .8888rem;
    color: #E27100;
    margin-bottom: 2.777rem;
}

.jumbotron .level1-heading {
    color: #fff;
    margin-bottom: 1rem;
    font-size: 1.2222rem;
}

.level1-heading__inner {
    font-size: .7777rem;
    color: #505050;
}

.jumbotron .level1-heading__inner {
    color: #E27100;
}

.content-top-attention {
    padding: 2rem 0;
}

.banner-area {
    text-align: center;
}

.banner-area a {
    transition-duration: 500ms;
    transition-property: opacity;
}

.banner-area a:hover {
    opacity: 0.7;
}

.banner-area img {
    margin: 0 auto;
}

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

.background-color-base .level2-heading {
    color: #fff;
}

.background-color-base .level2-heading__inner {
    color: #F8B500;
}

.background-color-main {
    background-color: #F4F1EC;
}

.background-color-blue {
    background-color: #EDF1FC;
}


.level2-heading {
    font-size: 1.8888rem;
    margin-bottom: 2.777rem;
}

.level2-heading__inner {
    font-size: .7222rem;
}

.home .level2-heading {
    font-size: 1.6666rem;

}

.home .level2-heading__inner {
    color: #E27100;
}

.level3-heading {
    font-size: 1.5555rem;
    margin-bottom: 2.111rem;
    position: relative;
}

.level3-heading::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 3em;
    background-color: #222;
    left: 0;
    bottom: -.5em;
}

.level4-heading,
.side-title {
    font-size: 1.2222rem;
    margin-bottom: 1.333rem;
    position: relative;
}

#sidebar .level4-heading {
    font-size: 1rem;
}

.side-title::after,
.level4-heading::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 1.5em;
    background-color: #222;
    left: 0;
    bottom: -.5em;
}

.pagetext {
    font-size: 1rem;
    line-height: 2.3;
}

.small {
    font-size: .8em;
}

.note {
    font-size: 0.7777rem;
    margin-top: 1rem;
}

.notelists {
    font-size: 0.7777rem;
    margin-top: 1rem;
    list-style-type: none;
}

.notelists--only {
    margin-top: 0;
}

.notelists > li::before {
    content: '※';
    margin-right: 0.5rem;
}

.fz-1 {
    font-size: 3.2222rem;
    /*58px想定*/
}

.fz-2 {
    font-size: 2.2222rem;
    /*40px想定*/
}

.fz-3 {
    font-size: 1.6666rem;
    /*30px想定*/
}

.fz-4 {
    font-size: 1.3333rem;
    /*24px想定*/
}

.fz-5 {
    font-size: .8888rem;
    /*16px想定*/
}

.fz-6 {
    font-size: .7777rem;
    /*14px想定*/
}

.mb4r {
    margin-bottom: 4rem;
}

.mb2r {
    margin-bottom: 2rem;
}

.background-color-base {
    background-color: #072169;
}

.aligncenter {
    text-align: center;
}

.alignright {
    text-align: right;
}

.btn {
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: 1rem;
    margin: 1em 0;
    display: inline-block;
    position: relative;
    line-height: 1;
    padding: 1em 4em;
    text-decoration: none;
    background-color: #fff;
    border: 1px solid #707070;
    color: #707070;
    box-shadow: 0 0 1px #000;
    transition-duration: 500ms;
    transition-property: background-color, color, box-shadow;
}

.btn-small {
    font-size: .777rem;
}

.btn:hover {
    background-color: #707070;
    color: #fff;
    box-shadow: 0 0 3px #fff;
}

.btn::after,
.btn::before {
    content: '';
    display: inline-block;
    position: absolute;
    width: 2.5em;
    height: 1px;
    right: -2.5em;
    z-index: 10;
    top: 50%;
    background-color: #707070;
    transition: right 500ms;
}

.btn::before {
    right: 0;
}

.btn::after {
    right: -2.5em;
}

.btn:hover::before {
    background-color: #fff;
    width: 1.5em;
    right: -1em;
}

.btn:hover::after {
    width: 3.5em;
    right: -3.5em;
}

.btn2 {
    display: block;
    position: relative;
    border: 2px solid #707070;
    background-color: #F5A100;
    font-size: 1.1111rem;
    padding: 1rem;
    color: #fff;
    text-decoration: none;
    transition-duration: 500ms;
    transition-property: color, border, -webkit-box-shadow, box-shadow;
    box-shadow: 0 0 1px #000;
}

.btn2:hover {
    color: #fff;
    border: 2px solid #fff;
    -webkit-box-shadow: 0 0 3px #000;
    box-shadow: 0 0 3px #000;
}

.btn2::after {
    content: '';
    position: absolute;
    display: block;
    height: .5555rem;
    width: .5555rem;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg) translateY(-.2777rem);
    top: 50%;
    right: 5rem;
    opacity: 0;
    transition-duration: 500ms;
    transition-property: right, opacity;
}

.btn2:hover::after {
    right: 2rem;
    opacity: 1;
}

.search-form {
    width: 100%;
    font-size: 1rem;
}

.after-icon::after {
    display: inline-block;
    margin-left: .3em;
    color: #E27100;
    transition-duration: 500ms;
    transition-property: margin-left;
}

.after-icon:hover::after {
    margin-left: .6em;
}

.after-icon--chevron-right::after {
    content: '';
    width: .375em;
    height: .375em;
    border-top: 1px solid #E27100;
    border-right: 1px solid #E27100;
    transform: rotate(45deg) translateY(-3px);
}

.js-fadeIn {
    opacity: 0;
    transition-duration: 500ms;
    transition-property: opacity, transform;
}

.fade-in-up {
    transform: translate(0, 50px);
}

.fade-in-down {
    transform: translate(0, -50px);
}

.fade-in-left {
    transform: translate(-50px, 0);
}

.fade-in-right {
    transform: translate(50px, 0);
}

.is-scrollIn {
    opacity: 1;
    transform: translate(0, 0);
}

/*layout*/
.content {
    max-width: 1230px;
    padding: 0 15px;
    margin-right: auto;
    margin-left: auto;
}

.archive main,
.page main,
.single main {
    margin-top: -2rem;
}

.archive__body,
.article__body {
    display: grid;
    grid-template-columns: 1fr 300px;
    grid-template-rows: auto auto;
    gap: 2rem 2rem;
    max-width: 1230px;
    padding: 1.3333rem;
    background-color: #F8F7F5;
    margin-right: auto;
    margin-left: auto;
}

.archive__body > .archive__breadcrumb,
.article__body > .article__breadcrumb {
    grid-column: 1/3;
    grid-row: 1/2;
    width: 100%;
}

.archive__body .archive__inner,
.article__body .article__inner {
    grid-column: 1/2;
    grid-row: 2/3;
}

.article__header {
    margin: 2rem 0;
}

.article__content > * {
    margin-bottom: 1rem;
}

.article__body > #sidebar {
    grid-column: 2/3;
    grid-row: 2/3;
}

.article__information {
    margin-top: 2rem;
}

.author__img-wrapper {
    width: 90%;
    margin: 0 auto 1rem;
}

.author__img {
    border-radius: 100%;
}

.content-top {
    padding-top: 4.7222rem;
    padding-bottom: 4.7222rem;
}

.content-wrapper {
    padding-top: 100px;
}

.d-none {
    display: none;
}

.d-sm-break {
    display: none;
}

@media screen and (max-width:768px) {
    .flex {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
    }

    .archive__body,
    .article__body {
        display: block;
    }

    .archive__body > .archive__breadcrumb {
        display: none;
    }

    .content-wrapper {
        padding-top: 4rem;
    }

    .d-none.d-sm-block {
        display: block;
    }

    .d-none.d-sm-inline {
        display: inline;
    }

    .author__img-wrapper {
        width: 50%;
    }

}

/*modules*/
.col {
    display: grid;
}

.col1 {
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem 0;
}

.col2 {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 3.33333%;
}

.col3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 2.43902%;
}

.col4 {
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem 1%;
}

.col__body {
    margin-bottom: 1.6666rem;
}

.col-row-flow .col__no::after {
    content: '';
    display: inline-block;
    width: 30px;
    height: 12px;
    background-image: url(assets/images/arrow.svg);
    background-size: cover;
    margin-left: 1rem;
}

.col__no {
    color: #E27100;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: .7777rem;
}

.col__title {
    font-size: 1.8888rem;
    margin-bottom: 1em;
}

.content-top-philosophy .col__title {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
}

.col__text {
    font-size: 1.2222rem;
}

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

    .col2,
    .col3,
    .col4 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/*common*/
/*HEADER*/
.jumbotron {
    background-size: cover;
    background-image: url("assets/images/kv001.webp");
    height: 45vh;
}

.home .jumbotron {
    background-position: center center;
    height: 100vh;
    position: relative;
}

.logo_anniversary {
    position: absolute;
    width: 160px;
    right: 5%;
    top: 5vh;
}

.page .jumbotron {
    background-size: 50% 50%;
    height: calc(140px + 30vh + 30px);
    background-image: url("assets/images/bg-leather.webp");
    background-repeat: repeat;
    position: relative;
}

.page .jumbotron::after {
    content: '';
    height: 85%;
    width: 50%;
    position: absolute;
    right: 0;
    top: 0;
    background-position: right center;
    background-size: cover;
    z-index: 1;
}

.page.ma .jumbotron::after {
    background-image: url("assets/images/bg-page-ma.webp");
}

.page.privacypolicy .jumbotron::after,
.page.inquiry .jumbotron::after,
.page.company .jumbotron::after {
    background-image: url("assets/images/bg-page-company.webp");
}

.page.advisoryfee .jumbotron::after {
    background-image: url("assets/images/bg-page-advisory.webp");
}

.page.tax-advisor .jumbotron::after {
    background-image: url("assets/images/bg-page-tax-advisor.webp");
}

.page.recruit .jumbotron::after {
    background-image: url("assets/images/bg-page-recruit.webp");
}

.page.consulting .jumbotron::after {
    background-image: url("assets/images/bg-page-consulting.webp");
}

.page.voice .jumbotron::after {
    background-image: url("assets/images/bg-page-voice.webp");
}

.kv--right {
    position: relative;
    margin: 2rem 0 2rem auto;
    width: 70vw;
}

@media screen and (max-width:768px) {
    .home .jumbotron {
        height: 80vh;
    }

    .page .jumbotron::after {
        width: 80%;
    }

    .kv--right {
        margin: 0;
        width: 100vw;
    }
}

.globalheader {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    position: relative;
    z-index: 1000;
    -ms-align-items: flex-start;
    align-items: flex-start;
    justify-content: space-between;
}

.header__logo {
    background-color: #fff;
    padding: .5em .3em;
    line-height: .3;
}

.logo_moon {
    width: 84%;
}

#gnav {
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    margin: 0;
    -ms-align-items: center;
    align-items: center;
}

#gnav li a {
    display: inline-block;
    padding: .5em;
    font-size: .888rem;
    color: #fff;
    text-decoration: none;
    text-shadow: 0 0 1px #fff, 0 0 3px #000, 0 0 3px #000;
    background-image: linear-gradient(90deg, #F5A100, #F5A100);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 0 1px;
    transition: background-size 300ms;
}

#gnav li a:hover {
    background-size: 100% 1px;
}

#gnav li:last-child a {
    text-shadow: 0 0 0 #fff;
    background-color: #F5A100;
    color: #fff;
    padding: 2em 1em;
    margin-left: .5em;
    mix-blend-mode: normal;
}

.jumbotron__inner {
    display: grid;
    align-items: center;
    height: 80%;
    position: relative;
    z-index: 10;
}

.archive .jumbotron__inner,
.page .jumbotron__inner,
.single .jumbotron__inner {
    align-items: center;
    height: auto;
    color: #fff;
    grid-template-columns: 48%;
    margin-top: 3%;
}

.jumbotron__title {
    font-size: 2.611rem;
    color: #fff;
    text-shadow: 0 0 3px #000;
    line-height: 1.5;
    font-weight: 600;
}

.jumbotron__title-img {
    display: inline-block;
    margin-bottom: 1.5rem;
}

.jumbotron__title-line {
    display: inline-block;
    margin-bottom: 1.5rem;
}

.jumbotron__text {
    font-size: .888rem;
}

@media screen and (max-width:1200px) {
    .header__logo {
        width: 17vw;
    }

    .archive .jumbotron__inner,
    .page .jumbotron__inner,
    .single .jumbotron__inner {
        grid-template-columns: 100%;
    }

}

@media screen and (max-width:1060px) {
    #gnav li a {
        font-size: 1.6vw;
        padding: .3em;
    }

    #gnav li:last-child a {
        text-shadow: 0 0 0 #fff;
        background-color: #F5A100;
        color: #fff;
        padding: 2em .3em;
    }
}

@media screen and (max-width:768px) {
    .globalheader {
        position: fixed;
        width: 100vw;
    }

    .home .jumbotron {
        height: 90vh;
    }

    .jumbotron__title {
        top: 0;
        font-size: 2rem;
    }

    .jumbotron__title-img {
        width: 60vw;
    }

    .page .jumbotron {
        height: auto;
    }

    .jumbotron__inner {
        height: 100%;
    }

    .archive .jumbotron__inner,
    .page .jumbotron__inner,
    .single .jumbotron__inner {
        grid-template-columns: auto;
        padding-top: 18vw;
        padding-bottom: 3rem;
        margin-top: 0;
    }

    .jumbotron__title-line {
        margin-bottom: 2.2rem;
    }

    .header__logo {
        width: 40vw;
    }

    .logo_anniversary {
        width: 22vw;
        right: 5%;
        top: 17vh;
    }

    .menu-btn {
        background-color: transparent;
        z-index: 100;
        position: absolute;
        top: 1.25rem;
        right: 1.25rem;
    }

    .menu-btn__inner {
        height: 1.5rem;
        width: 3rem;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .menu-btn__inner::before,
    .menu-btn__line,
    .menu-btn__inner::after {
        width: 100%;
        content: "";
        display: block;
        height: 1px;
        background-color: #222;
        background-blend-mode: difference;
        mix-blend-mode: difference;
    }

    .active .menu-btn__inner {
        justify-content: center;
    }

    .active .menu-btn__line {
        opacity: 0;
    }

    .active .menu-btn__inner::before {
        transform: rotate(1035deg);
        width: 100%;
        background-color: #fff;
    }

    .active .menu-btn__inner::after {
        transform: rotate(-1035deg);
        width: 100%;
        background-color: #fff;
    }

    .header-nav {
        position: fixed;
        display: block;
        top: 0;
        right: -100vw;
        height: 100vh;
        overflow-y: auto;
        width: 95vw;
        background-color: #333;
        color: #fff;
        z-index: 10;
    }

    @keyframes fadeInAnime {
        0% {
            right: -100vw;
            opacity: 0;
        }

        10% {
            opacity: 1;
        }

        100% {
            opacity: 1;
            right: 0;
        }
    }

    @keyframes fadeOutAnime {
        0% {
            opacity: 1;
            right: 0;
        }

        90% {
            opacity: 1;
        }

        100% {
            right: -100vw;
            opacity: 0;
        }
    }

    .panelactive.header-nav {
        animation-name: fadeInAnime;
        animation-duration: 1000ms;
        animation-fill-mode: forwards;
        right: 0;
    }

    .header-nav__item {
        -webkit-transform: translate(4em, 0);
        -ms-transform: translate(4em, 0);
        -o-transform: translate(4em, 0);
        transform: translate(4em, 0);
        opacity: 0;
        transition-duration: 500ms;
    }

    #gnav {
        -webkit-flex-direction: column;
        -moz-flex-direction: column;
        -ms-flex-direction: column;
        -o-flex-direction: column;
        flex-direction: column;
        position: relative;
        z-index: 11;
        margin-top: 2rem;
    }

    #gnav li a {
        color: #fff;
        font-size: 1rem;
        display: block;
        margin-bottom: 1em;
    }

    #gnav li:last-child a {
        padding: 2em 3em;
    }

}

/*content*/
main {
    display: block;
}

#breadcrumb {
    display: flex;
    font-size: 0.6666rem;
    padding: 1.3333rem;
    position: relative;
    z-index: 1;
}

.archive #breadcrumb,
.single #breadcrumb {
    padding: 0;
}

#breadcrumb::after {
    content: '';
    background-color: #F8F7F5;
    width: 100%;
    height: 3rem;
    left: 0;
    top: 0;
    position: absolute;
    z-index: 2;
}

#breadcrumb > li {
    position: relative;
    z-index: 3;
}

#breadcrumb > li:not(:nth-last-child(1))::after {
    display: inline-block;
    vertical-align: middle;
    content: '';
    height: 0.2em;
    width: 0.2em;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
    transform: rotate(-45deg);
    margin: 0 .5em;
}

@media screen and (max-width:768px) {
    .active #breadcrumb {
        display: none;
    }
}

.pagelists {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1rem 1rem;
    align-items: end;
    margin: 2rem 0;
}

.pagelists a {
    display: block;
    position: relative;
    text-decoration: none;
    padding: .8888rem 2rem .8888rem 0;
    border-bottom: 1px solid #707070;
    color: #222;
    line-height: 1.1;
    transition-duration: 500ms;
    transition-property: padding, background-color, color;
}

.pagelists a:hover {
    padding: .8888rem 2rem .8888rem .5rem;
    background-color: #222;
    color: #fff;
}

.pagelists a::after {
    transition-duration: 500ms;
    transition-property: right, opacity, border-right, border-bottom;
    content: "";
    display: block;
    height: .3333rem;
    width: .3333rem;
    position: absolute;
    border-right: 1px solid #707070;
    border-bottom: 1px solid #707070;
    transform: rotate(-45deg) translateY(-.2777rem);
    top: 50%;
    right: 1rem;
    opacity: 1;
}

.pagelists a:hover::after {
    right: .5rem;
    opacity: 1;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

@media screen and (max-width:768px) {
    .pagelists {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* information */
.content-top-info {
    display: grid;
    grid-template-columns: 27% 1fr;
    gap: 3rem 2rem;
}

.content-top-info__title,
.content-top-info__text {
    margin-bottom: 1rem;
}

.content-top-info__img-wrapper {
    text-align: center;
}

@media screen and (max-width:768px) {
    .content-top-info {
        grid-template-columns: 1fr;
        gap: 1rem 1rem;
    }

    .content-top-info__img-wrapper {
        margin-top: 1.6rem;
    }

    .content-top-info__img {
        width: 50vw;
    }

}

.content-top-philosophy {
    background-color: #F4F1EC;
}

.content-top-service__body a {
    display: block;
    position: relative;
    height: 290px;
    font-size: 1.6666rem;
    text-decoration: none;
    color: #222;
    -webkit-background-size: cover;
    background-size: cover;
    background-position: center center;
    opacity: .75;
    transition: opacity 500ms;
}

.content-top-service__body li:first-child a {
    background-image: url("assets/images/topservice001.webp");
}

.content-top-service__body li:nth-child(2) a {
    background-image: url("assets/images/topservice002.webp");
}

.content-top-service__body li:nth-child(3) a {
    background-image: url("assets/images/topservice003.webp");
}

.content-top-service__body a:hover {
    opacity: 1;
}

.content-top-service__body span {
    display: inline-block;
    position: absolute;
    background-color: #fff;
    width: 43%;
    padding: .3em 1em;
    text-align: right;
    right: 0;
    bottom: 30px;
}

.content-top-support {
    margin-top: 3rem;
    margin-bottom: 3rem;
}

.content-top-tool .title,
.content-top-support .title {
    text-align: center;
}

.content-top-tool p,
.content-top-support p {
    font-size: 0.888rem;
    text-align: center;
    margin-top: 1rem;
}

@media screen and (max-width:768px) {
    .content-top-service__body a {
        font-size: 1.3333rem;
        height: 35.0877vw;
        opacity: 1;
    }

    .content-top-service__body span {
        width: auto;
        bottom: 0;
    }

    .content-top-service__body span::after {
        content: '';
        display: inline-block;
        height: .25em;
        width: .25em;
        border-right: 1px solid #707070;
        border-bottom: 1px solid #707070;
        transform: rotate(-45deg) translate(.25em, 0);
    }
}

.content-top-advantage {
    position: relative;
}

.content-top-advantage::after {
    content: '';
    display: block;
    position: absolute;
    top: 18%;
    left: 0;
    background-color: #EDF1FC;
    width: 50vw;
    height: 68%;
    z-index: -1;
}

.content-top-advantage__wrapper {
    display: grid;
    grid-template-columns: repeat(1, 100%);
    gap: 6.6666rem 0;
    padding-top: 4.7222rem;
}

.content-top-advantage__body {
    display: grid;
    grid-template-columns: 42.5% 54%;
    grid-column-gap: 3.333%;
}

.content-top-advantage__left {
    padding-bottom: calc(300 / 502 * 100%);
    -webkit-background-size: contain;
    background-size: contain;
    background-position: center bottom;
}

.content-top-advantage__body:first-child .content-top-advantage__left {
    background-image: url("assets/images/topadvantage_001.webp");
}

.content-top-advantage__body:nth-child(2) .content-top-advantage__left {
    background-image: url("assets/images/topadvantage_002.webp");
}

.content-top-advantage__left h3 {
    font-size: 1rem;
}

.content-top-advantage__left h4 {
    font-size: 1.6666rem;
}

.content-top-advantage__right {
    font-size: 1rem;
}

@media screen and (max-width:768px) {
    .content-top-advantage::after {
        width: 100vw;
    }

    .content-top-advantage__wrapper {
        gap: 2rem 0;
        padding-top: 0;
    }

    .content-top-advantage__body {
        padding-top: 0;
        grid-template-columns: 1fr;
    }

    .content-top-advantage__left {
        padding-top: calc(290 / 502 * 100%);
        padding-bottom: 0;
        -webkit-background-size: contain;
        background-size: contain;
        background-position: center top;
        margin-bottom: 2rem;
    }
}

.content-top-greeting {
    position: relative;
}

.content-top-greeting::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #EDF1FC;
    height: 100%;
    width: 73vw;
}

.content-top-greeting::before {
    content: '';
    position: absolute;
    top: 15%;
    right: 0;
    z-index: 0;
    height: 24.8780vw;
    width: 60vw;
    background-image: url("assets/images/topmotto.webp");
    background-position: right center;
    -webkit-background-size: cover;
    background-size: cover;
}

.content-top-greeting__body {
    position: relative;
    text-align: center;
    z-index: 10;
    margin-right: 600px;
}

.content-top-greeting__title {
    font-size: 1rem;
    margin-bottom: 1rem;
}

.content-top-greeting__text {
    font-size: 1.6666rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    margin-bottom: 6.3333rem;
}

@media screen and (max-width: 1200px) {
    .content-top-greeting__body {
        margin-right: calc(100% - 600px);
    }
}

@media screen and (max-width:768px) {
    .content-top-greeting {
        padding-top: 25vh;
    }

    .content-top-greeting::before {
        top: 0;
        opacity: .4;
        height: 45vw;
        width: 100vw;
    }

    .content-top-greeting::after {
        width: 100%;
    }

    .content-top-greeting__body {
        margin-right: 0;
    }

    .content-top-greeting__text {
        font-size: 1.15rem;
        margin-bottom: 2rem;
    }
}

.content-top-tool {
    padding: 3rem 0;
    text-align: center;
}

.content-top-blog {
    padding: 3rem 0;
}

.vertical-posts__item {
    margin-top: 1rem;
}

.vertical-posts__header {
    font-size: 0.888rem;
}

#pageplugin {
    margin: 0 auto;
    max-width: 500px;
}

.fb_iframe_widget,
.fb_iframe_widget span,
.fb_iframe_widget iframe[style] {
    width: 100% !important;
}

.top-contact {
    color: #fff;
    text-align: center;
    padding: 3rem 0;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
}

.top-contact__title {
    font-size: 2.2222rem;
    margin-bottom: 2.5rem;
}

.top-contact__title span {
    font-size: 1rem;
}

.top-contact__tel {
    font-size: 3.2222rem;
}

.top-contact__body .col2 {
    align-items: center;
}

.top-contact__body .col2 > *:first-child {
    border-right: 1px solid #fff;
}

.top-contact__body .col2 > * {
    padding: 1.6666rem 0;
}

@media screen and (max-width:768px) {
    .top-contact__body .col2 > *:first-child {
        border-width: 0;
    }
}

.vertical-lists {
    margin: 3rem 5%;
}

.vertical-list {
    position: relative;
    vertical-align: middle;
    padding: 1rem;
}

.vertical-list::before {
    content: '';
    position: absolute;
    display: inline-block;
    left: 0.14rem;
    top: 50%;
    width: 0.3rem;
    height: 0.3rem;
    border-radius: 100%;
    background-color: #444;
}

.vertical-list::after {
    content: '';
    position: absolute;
    height: 100%;
    width: 1px;
    background: #444;
    left: 0;
    top: 0;
    margin-left: 0.25rem;
    margin-top: 8px;
}

.vertical-list:last-child::after {
    height: 80%;
}

.horizontal-table {
    display: grid;
    grid-template-columns: 1fr 3fr;
    margin-left: 18%;
}

.horizontal-table__header,
.horizontal-table__text {
    border-bottom: 1px solid #c5c7c9;
    padding: 1.3333rem 1.3333rem 1.3333rem 0;
}

.horizontal-table__header {
    padding-left: 1em;
    letter-spacing: .1em;
}

.horizontal-table__text ul,
.horizontal-table__text li {
    list-style-type: disc;
}

.horizontal-table__text ul {
    padding-left: 1rem;
}

.horizontal-table__header {}

.horizontal-table__text {}

@media screen and (max-width:768px) {
    .horizontal-table {
        margin-left: 0;
        grid-template-columns: repeat(1, 1fr);
        margin-left: 0;
    }

    .horizontal-table__header {
        border-bottom: none;
    }

    .horizontal-table__header {
        padding: 1rem 0;

    }

    .horizontal-table__text {
        padding: 0 0 1rem;
    }


}

/*	.media	*/
.media {
    display: grid;
    grid-template-columns: 27.58333% 1fr;
    align-items: self-end;
    gap: 3.3333% 2rem;
    grid-template-areas: "media__img media__body";
}

.media--reverse {
    grid-template-areas: "media__body media__img";
    grid-template-columns: 1fr 27.58333%;
}

.media__img-wrapper {
    grid-area: media__img;
}

.media__img {
    width: 100%;
}

.media__body {
    grid-area: media__body;
}

.media__body > *:last-child {
    margin-bottom: 0;
}

.media__title {
    font-size: 1.3333rem;
    margin-bottom: 2.111rem;
    position: relative;
}

.media__title::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 3em;
    background-color: #222;
    left: 0;
    bottom: -0.5em;
}

.media__text {
    font-size: 1rem;
    line-height: 2;
}

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

    .media__img-wrapper {
        margin-right: 0;
        margin-bottom: 20px;
    }
}


.half-media {
    display: grid;
    grid-template-columns: 38% 50%;
    align-items: center;
    gap: 3% 12%;
    grid-template-areas: "media__img media__body";
}

.half-media--reverse {
    grid-template-columns: 50% 38%;
    grid-template-areas: "media__body media__img";
}

.half-media__img-wrapper {
    position: relative;
    grid-area: media__img;
}

.message .half-media__img-wrapper::after {
    content: '';
    position: absolute;
    background-color: #072169;
    height: 95%;
    width: 18vw;
    left: 0;
    top: 0;
    z-index: -1;
}

.message .half-media__img {
    padding: 2vw 0 0 3vw;
}


.half-media__img-caption {
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    color: #f5f6f8;
    text-shadow: 1px 1px 3px #696a73;
    font-size: .6666rem;
    line-height: 1;
    text-align: right;
}

.half-media__img-caption--name {
    font-size: 1.2222rem;
    font-weight: bold;
}

.half-media__img {
    width: 100%;
}

.half-media__body {
    grid-area: media__body;
}

.half-media__body > *:last-child {
    margin-bottom: 0;
}

.half-media__title,
.lead-heading {
    font-size: 1.6666rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    margin-bottom: 1.6666rem;
}

.half-media__text p {
    margin-top: .7777rem;
    font-size: 1rem;
}

.half-media__text--name {
    font-size: 1.2222rem;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    margin-bottom: 1.6666rem;
}

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

    .half-media,
    .half-media--reverse {
        margin: 0;
        grid-template-columns: repeat(1, 1fr);
        margin-bottom: 4rem;
    }

    .half-media {
        grid-template-areas: "media__img"
            "media__body";
    }

    .half-media--reverse {
        grid-template-areas: "media__body"
            "media__img";
    }

    .message .half-media--reverse {
        grid-template-areas: "media__img"
            "media__body";
    }

    .message .half-media__img-wrapper {
        width: 70%;
        margin: 0 auto;
    }

    .message .half-media__img-wrapper::after {
        width: 60vw;
        left: -5%;
        top: -2.5%;
    }

    .message .half-media__img {
        transform: translate(5%, 2.5%);
    }
}

.img-media {
    display: flex;
    margin-bottom: 4rem;
    overflow: hidden;
}

.img-media--reverse {
    flex-direction: row-reverse;
}

.img-media__body {
    padding: 0 15px;
    width: 60%;
}

.img-media__img-wrapper {
    width: 40%;
}

@media screen and (min-width: 1200px) {
    .img-media__body {
        margin-left: calc((100vw - 1230px) / 2);
    }
}

@media screen and (max-width: 768px) {
    .img-media {
        flex-direction: column-reverse;
    }

    .img-media__body,
    .img-media__img-wrapper {
        width: inherit;
    }

    .img-media__img-wrapper {
        position: relative;
        padding-top: 40vh;
        overflow: hidden;
    }

    .img-media__img-wrapper img {
        position: absolute;
        top: 50%;
        width: 100%;
        transform: translateY(-50%);
    }
}

.st-media {
    display: grid;
    position: relative;
    grid-template-columns: 60% 40%;
    gap: 2rem;
    margin-bottom: 2rem;
}

.st-media__img-area {
    width: calc(100% - 2rem);
    /* gap分引く */
}

.st-media__inner,
.st-media__img-wrapper {
    margin-bottom: 2rem;
}

.st-media__inner .st-media__img-wrapper {
    display: none;
}

.st-media__img-wrapper {
    /* position: sticky;
	position: -webkit-sticky; */
    top: 0;
}

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

    .st-media__inner,
    .st-media__img-wrapper {
        min-height: 320px;
    }
}

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

    .st-media__inner,
    .st-media__img-wrapper {
        height: calc(calc(calc(100vw - 30px) * .4 - 2rem) / 4 * 3);
    }
}

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

    .st-media__inner,
    .st-media__img-wrapper {
        height: 340px;
    }
}

@media screen and (max-width:768px) {
    .st-media {
        grid-template-columns: 1fr;
    }

    .js-st-media {
        opacity: 1;
        transform: translate(0, 0);
    }

    .st-media__img-area {
        display: none;
    }

    .st-media__inner .st-media__img-wrapper {
        display: block;
    }

    .st-media__img-wrapper {
        position: relative;
        top: auto;
        margin-bottom: 1rem;
        height: 20vh;
    }

    .st-media__img-wrapper img {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }
}

.singletext__body {
    margin-left: 18%;
    margin-right: 9%;
}

.singletext__text {
    margin-top: 0.7777rem;
    font-size: 1rem;
}

@media screen and (max-width:768px) {
    .singletext__body {
        margin-left: 0;
        margin-right: 0;
    }
}

.point-area {
    background-color: #f2eee6;
    padding: 2em;
    border-radius: 2px;
    margin-top: 2rem;
}

.point-area__title {
    font-size: 1.2222rem;
    position: relative;
    z-index: 1;
    margin-bottom: 2rem;
    padding-left: 1rem;
}

.faq .point-area__title {
    font-size: 1rem;
}

.point-area__title::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: .2rem;
    width: .2rem;
    border-top: .2rem solid #656565;
    border-right: .2rem solid transparent;
    border-bottom: .2rem solid transparent;
    border-left: .2rem solid #656565;
    z-index: 0;
}

.point-area__title__inner {
    font-size: .7222rem;
    display: inline-block;
    padding-left: 3em;
    margin-left: 1em;
    position: relative;
}

.point-area__title__inner::after {
    position: absolute;
    content: '';
    top: 50%;
    left: 0;
    height: 1px;
    width: 2em;
    background-image: linear-gradient(to right, #111, #111 1px, transparent 1px, transparent 3px);
    background-repeat: repeat-x;
    background-size: 3px 1px;
}

.point-area-list__item {
    padding-left: 1rem;
    position: relative;
    margin-top: 1rem;
    font-size: 0.9444rem;
}

.point-area-list--row .point-area-list__item {
    display: inline-block;
}

.point-area-list__item:first-child,
.point-area-list--col2 .point-area-list__item:nth-child(2) {
    margin-top: 0;
}

.point-area-list--row .point-area-list__item::after {
    left: .4rem;
}

.point-area-list__item::after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 0.1rem;
    height: 0.1rem;
    border-radius: 50%;
    background-color: #656565;
    left: 0;
    top: .65em;
}

.point-area-list--col2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2% 5%;
    align-items: center;
}

/*contents-area-list*/
.contents-area-list {
    gap: 2rem 2%;
}

.contents-area-list__item {
    padding: 1.2222rem;
    border: 1px solid #f2eee6;
    position: relative;
}

.contents-area-list__item::after {
    content: '';
    width: 2.5rem;
    height: 1rem;
    background-color: #F8F7F5;
    position: absolute;
    border-bottom: 1px solid #cba143;
    z-index: 10;
}

.contents-area-list__item::after {
    top: -.3333rem;
    left: -1rem;
    transform: rotate(-45deg);
}

/*price-boxes*/
.price-boxes {
    display: grid;
}

.price-boxes__item {
    flex: 1;
}

@media screen and (max-width: 768px) {
    .price-boxes {
        display: block;
    }

    .price-boxes__item {
        margin-right: 0;
        margin-bottom: 30px;
    }

    .price-boxes__item:last-child {
        margin-bottom: 0;
    }
}

.price-box {
    border: 1px solid #ddd;
}

.price-box__header {
    padding: 10px;
    background-color: #f2eee6;
    text-align: center;
}

.price-box__title {
    font-size: 1rem;
}

.price-box__price,
.price-option__price {
    font-size: 1.3333rem;
}

.price-box__body {
    padding: 15px;
}


.price-box__body > *:last-child {
    margin-bottom: 0;
}

.price-box__lead {
    margin-bottom: 20px;
}

.price-box__inner {
    padding: 15px;
    margin-bottom: 15px;
    border: 1px solid #ddd;
}

.price-box__inner-header {
    padding: 5px;
    margin-bottom: 10px;
    background-color: #ebe0cc;
    text-align: center;
}

.price-box__features {
    text-align: center;
}

.price-box__features > *:last-child {
    margin-bottom: 0;
}

.price-box__features-header {
    padding: 5px;
    margin-bottom: 10px;
    background-color: #f2eee6;
}

.price-box__features-text {
    margin-bottom: 20px;
}

.price-option__text {
    margin-top: .8888rem;
    line-height: 1.5;
    text-align: left;
}

/*faq*/
.faq {
    padding: 0 5%;
}

.faq > *:last-child {
    margin-bottom: 0;
}

.faq__row {
    display: grid;
    grid-template-columns: 3rem 1fr;
    align-items: self-start;
    gap: 1rem;
}

.faq__row--question {
    margin-bottom: 15px;
    font-size: 1rem;
    font-weight: bold;
}

.faq__row--question {
    padding-top: 2rem;
    margin-top: 2rem;
    border-top: 1px solid #f2eee6;
}

.faq__row--answer {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

.faq__question-text {}

.faq__icon {
    border-radius: 100vh;
    font-weight: normal;
    line-height: 0;
    text-align: center;
    display: grid;
    place-items: center;
    justify-items: center;
    align-items: center;
    height: 1.5rem;
}

.faq__icon--question {
    background-color: #F5A100;
    color: #fff;
}

.faq__icon--answer {
    background: #f2eee6;
    color: #F5A100;
}

.faq__icon--number {
    border: 1px solid #f2eee6;
    width: 1.5rem;
    font-size: 0.6666rem;
}

.faq__icon--blanc {}

.faq__answer-body {}

.faq__answer-body > *:last-child {
    margin-bottom: 0;
}

.faq__answer-text {
    margin-bottom: 1rem;
}

.flow-item {
    background-color: #f2eee6;
    margin-bottom: 1.5rem;
    padding: 1rem;
    border-radius: 3px;
}

.flow--number .flow-item {
    display: grid;
    grid-template-columns: 2.5rem 1fr;
}

.flow__icon--number {
    display: grid;
    place-items: center;
    font-size: 0.6666rem;
    height: 1.5rem;
    width: 1.5rem;
    vertical-align: middle;
    border-radius: 50%;
    border: 1px solid #cba143;
    color: #cba143;
}

.incorporate-table th,
.incorporate-table td {
    border-bottom: 1px solid #656565;
}

.incorporate-table th.incorporate-table__header-main {
    border-top: none;
    border-bottom: none;
}

.incorporate-table__header-main {
    background-color: #ddd;
}

.incorporate-table__header-main:not(:first-child) {
    width: 36%;
}

.incorporate-table__header-main,
.incorporate-table__header {
    text-align: center;
    padding: 15px;
    vertical-align: middle;
}

.incorporate-table .note {
    font-size: .6em;
}

.incorporate-table__header-vertical {
    text-align: center;
    vertical-align: middle;
    width: 1em;
    padding: 1em;
}

.incorporate-table__text {
    padding: 15px 15px 15px 2rem;
    position: relative;
    vertical-align: middle;
}

.incorporate-table__text.good::after,
.incorporate-table__text.bad::after {
    content: '';
    width: 1rem;
    position: absolute;
    left: .5rem;
    top: 50%;
    transform: translateY(-50%);
}

.incorporate-table__text.good::after {
    height: 1rem;
    border: 5px solid #E27100;
    border-radius: 100vh;
}

.incorporate-table__text.bad::after {
    height: .87rem;
    /* border: 5px solid #00f; */
    background-color: #0c35a8;
    border-radius: 1px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

@media screen and (max-width: 768px) {
    .incorporate-table__header {
        font-size: 0.888rem;
        text-align: center;
        font-feature-settings: normal;
        width: 1em;
        padding: 1em;
    }

    .incorporate-table__header-vertical {
        font-size: 0.888rem;
    }

}

.inquiry-table {
    margin: 2rem 0;
    width: 80%;
    margin: 0 auto;
}

.inquiry-table th,
.inquiry-table td {
    padding: 1em;
    vertical-align: top;
}

.inquiry-table th {
    font-weight: bold;
    width: 30%;
    padding-top: 1.5em;
}

.inquiry-table .required {
    display: inline-block;
    margin-left: 1rem;
    color: #f00;
    border: 1px solid #f00;
    border-radius: 3px;
    font-size: 0.6666em;
    padding: 0 0.3em;
}

.inquiry-table th p {}

.inquiry-table__inner {
    margin-bottom: 1rem;
}

.inquiry-table input:not(.inquiry-table input[type="checkbox"]):not(.inquiry-table input[type="submit"]),
.inquiry-table textarea {
    font-size: 1.2rem;
    padding: 0.3em;
    border: 1px solid #707070;
    border-radius: 5px;
}

.inquiry-table input::placeholder {
    font-size: .888rem;
}

.inquiry-table input[type="checkbox"] + span,
.inquiry-table input[type="submit"] {
    border: 2px solid #FAE5AF;
    background-color: inherit;
    display: inline-block;
    margin-right: .5em;
    margin-bottom: .5em;
    padding: .3em .5em;
    border-radius: 5px;
}

.inquiry-table input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    appearance: none;
}

.inquiry-table input[type="submit"] {
    font-size: 1.2rem;
    padding: .3em 2em;
    background-color: #F5A100;
}

.inquiry-table input[type="checkbox"] + span {
    opacity: .7;
}

.inquiry-table input[type="checkbox"] + span::before {
    content: '';
    display: inline-block;
    vertical-align: baseline;
    width: .8rem;
    height: .8rem;
    border: 1px solid #f0b310;
    border-radius: 100px;
    margin-right: .5rem;
}

.inquiry-table .wpcf7-list-item {
    margin: 0;
}

.inquiry-table input[type="checkbox"]:checked + span {
    opacity: 1;
    border: 2px solid #F5A100;
    background-color: #FAE5AF;
}

.inquiry-table input[type="checkbox"]:checked + span::before {
    background-color: #F5A100;
}

.inquiry-table textarea {
    font-size: 1rem;
    height: 10rem;
    width: 100%;
}

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

    .inquiry-table tr {
        display: block;
        margin-bottom: 1rem;
    }

    .inquiry-table th,
    .inquiry-table td {
        display: block;
        padding: .3em 0;
    }

    .inquiry-table th {
        width: 100%;
    }

    .inquiry-table th p {
        font-size: 0.777rem;
    }

    .inquiry-table input:not(.inquiry-table input[type="checkbox"]):not(.inquiry-table input[type="submit"]),
    .inquiry-table textarea {
        width: 95%;
    }


}

/* SINGLE */
.postmeta__tags,
.postmeta__datetime {
    display: flex;
    gap: 0 1em;
}

.article__header .postmeta__tags,
.article__header .postmeta__datetime {
    justify-content: flex-end;
}


#jp-relatedposts h3 {
    position: relative;
}

#jp-relatedposts h3.jp-relatedposts-headline {
    float: none;
    font-size: inherit;
}

div.sharedaddy h3.sd-title,
#jp-relatedposts h3.jp-relatedposts-headline em {
    font-family: -apple-system, BlinkMacSystemFont, "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic Medium", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
    font-weight: normal;
    font-size: .8888rem;
}

div.sharedaddy h3.sd-title::before,
#jp-relatedposts h3.jp-relatedposts-headline em::before {
    border-top: 0;
}

#jp-relatedposts h3.jp-relatedposts-headline em::after {
    content: '';
    position: absolute;
    height: 1px;
    width: 1.5em;
    background-color: #222;
    left: 0;
    bottom: -.5em;
}

#jp-relatedposts .jp-relatedposts-items {
    font: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem 2.43902%;
}

#jp-relatedposts .jp-relatedposts-items .jp-relatedposts-post {
    float: none;
    margin: 0;
    width: auto;
}

#jp-relatedposts .jp-relatedposts-items p,
#jp-relatedposts .jp-relatedposts-items time,
#jp-relatedposts .jp-relatedposts-items-visual h4.jp-relatedposts-post-title {
    font-size: .8888rem;
}

@media screen and (max-width:768px) {
    #jp-relatedposts .jp-relatedposts-items {
        grid-template-columns: repeat(1, 1fr);
        gap: 1rem;
    }
}

/* Archive */
.archive__title {
    font-size: 1rem;
}

.archive__list {
    margin-bottom: 2rem;
}

.archive__pager {
    display: flex;
    justify-content: center;
    gap: 2rem;
}

.archive__pager li span,
.archive__pager li a {
    background-color: #fff;
    padding: .5em 1em;
    display: block;
    text-decoration: none;
    transition-duration: 500ms;
}

.archive__pager li a {
    color: #E27100;
    border: 1px solid #707070;
}

.archive__pager a:hover {
    background-color: #707070;
    color: #fff;
}

.archive__pager-nolink {
    color: #aaa;
    border: 1px solid #aaaaaa;
}

.sd-sharing {
    max-width: 1230px;
    padding: 0 15px;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 4rem;
}

/* Sidebar */
#sidebar > section,
#sidebar .article__archive > div {
    margin-bottom: 2rem;
}

@media screen and (max-width: 768px) {
    #sidebar {
        margin-top: 4rem;
    }
}

/* FOOTER */
.totop {
    position: fixed;
    z-index: 100;
    border: 1px solid #fff;
    border-radius: 100vh;
    right: 0;
    bottom: 100px;
    background-blend-mode: difference;
    mix-blend-mode: difference;
}

.totop a {
    display: block;
    height: 3.5rem;
    width: 3.5rem;
    text-indent: -9999px;
}

.totop a::after {
    content: '';
    display: block;
    margin: 0 auto;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    text-indent: -9999px;
    width: 1rem;
    height: 1rem;
    transform: rotate(-45deg) translate(-.15rem, .1rem);
}

footer {
    background-color: #071029;
    color: #fff;
    font-family: 'Noto Serif JP', serif;
    font-weight: 400;
    font-size: .8888rem;
    padding: 3.444rem 0;
}

.footer__body {
    padding-bottom: 5.7rem;
}

.footer-left {
    flex-basis: 35%;
}

.footer-left__title {
    font-size: 1rem;
}

.footer-left a {
    color: #fff;
}

.footer-right {
    flex-basis: 58%;
}

.footer-right li:not(:last-child) {
    margin-bottom: 1em;
}

.footer-right a {
    color: #fff;
    text-decoration: none;
}

.footer-right a:hover {
    text-decoration: underline;
}

.copyright {
    text-align: center;
    padding-top: 1.3333rem;
    border-top: 1px solid #fff;
}