/* フォント */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap");

:root {
    --maruhon-blue: #1b1464;
    --maruhon-gray: #e7e6ed;
    --maruhon-yellow: #e3c700;
    --maruhon-middle-gray: #8987a3;

    --maruhon-hover-yellow: #f2df59;
    --maruhon-hover-gray: #f9f9f9;
}

a {
    color: unset;
    text-decoration: none;
}

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

h4 {
    font-weight: 600;
}

li {
    list-style: none;
}

body {
    font-family: "Noto Sans JP", sans-serif;
    letter-spacing: .6;
    color: #212127;
}

.is--nunito {
    font-family: "Nunito", sans-serif;
}

.is-pc-none {
    display: none;
}

.is-br-sp {
    display: none;
}


@media (max-width: 768px) {
    .is-br-pc {
        display: none;
    }

    .is-br-sp {
        display: block;
    }

    .is-sp-none {
        display: none;
    }

    .is-pc-none {
        display: block;
    }

}

.is--flex-column {}


.maruhon-content {
    display: flex;
    align-items: center;
}

.maruhon-common-content-title {
    display: flex;
    align-items: baseline;

}

.maruhon-common-content-title-text {
    padding: 0 4vw;
}


.maruhon-common-content-title-text span {
    font-size: 1.15vw;
}


.maruhon-common-content-title__jp {
    font-size: 2vw;
    font-weight: 600;
}

.maruhon-common-content-title__en {
    font-family: "Nunito", sans-serif;
    color: var(--maruhon-blue);
    font-weight: bold;
    font-size: 1.6vw;
    margin-left: 1vw;
}

@media (max-width: 768px) {
    .maruhon-common-content-title {
        flex-direction: column;
    }

    .maruhon-common-content-title__jp {
        font-size: 5.25vw;
    }

    .maruhon-common-content-title__en {
        font-size: 3.6vw;
    }

    .maruhon-common-butoon {
        font-size: 3.5vw;
    }

    .maruhon-common-content-title-text span {
        font-size: 3.5vw;
    }
}


.maruhon-common-butoon {
    display: inline-flex;
    justify-content: space-between;
    background: white;
    color: var(--maruhon-blue);
    border-radius: 50vw;
    border: 1px solid white;
    font-weight: 500;
    align-items: baseline;
    padding: 0 0 0 1.5em;
    font-size: 1vw;
    transition: .5s;
}

.maruhon-common-butoon:hover {
    cursor: pointer;
    background: var(--maruhon-blue);
    color: white;
}

.maruhon-common-butoon span {
    transition: .5s;
}

.maruhon-common-butoon:hover span {
    transform: translateX(2.5px);
    color: var(--maruhon-blue);
}


.maruhon-common-butoon.is-white {
    transition: .5s;
    background: transparent;
    color: white;
}

.maruhon-common-butoon span {
    transition: .5s;
    background: var(--maruhon-yellow);
    padding: .75em;
    aspect-ratio: 1;
    padding: .75em;
    border-radius: 20vw;
    margin: .5em .5em .5em 1em;
}

@media (max-width: 768px) {
    .maruhon-common-butoon {
        font-size: 3.5vw;
    }

}

/* サイドメニュー、ハンバーガーメニュー */

.maruhon-sidemenu {
    display: flex;
    flex-direction: column;
    height: 100vh;
    width: 20vw;
    z-index: 9;
    background: white;
    top: 0;
    position: fixed;
}

.maruhon-sp-menu {
    display: none;
}


.parent_menu {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center;
}


.parent_menu i {
    color: var(--maruhon-yellow);
    font-size: min(1.6vw, 24px);
}

.parent_menu i:hover {
    opacity: .75;
    cursor: pointer;
}


.menu-link {
    font-weight: 600;
}

[class^="sub_menu"] {
    display: none;
    padding-bottom: 1.5vw;
}

[class^="sub_menu"]a {
    font-weight: 300;
}

[class^="sub_menu"]>li>a {
    font-weight: 400;
    font-size: min(1.5vw, 14px);
}

.active.fa-circle-plus:before,
.active.fa-plus-circle:before {
    content: "\f056";
}

.menu-link:hover,
.sub_menu-link:hover {
    text-decoration: underline;
}

@media (max-width: 768px) {
    .maruhon-sidemenu {
        display: none;
    }

    .maruhon-sp-menu {
        display: block;
        position: absolute;
        z-index: 999;
        top: 0;
    }

    .menu-btn {
        position: fixed;
        top: 0;
        right: 0;
        display: flex;
        height: 18vw;
        width: 18vw;
        justify-content: center;
        align-items: center;
        z-index: 90;
        background-color: var(--maruhon-blue);
        padding: 0 0 3px;
        border-radius: 0 0 0 30px;
    }

    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 2px;
        width: 8vw;
        border-radius: 3px;
        background-color: #ffffff;
        position: absolute;
        border-radius: 0 0 0 30px;
    }

    .menu-btn span:before {
        bottom: 12px;
    }

    .menu-btn span:after {
        top: 12px;
    }

    #menu-btn-check:checked~.menu-btn span {
        background-color: rgba(255, 255, 255, 0);
    }

    #menu-btn-check:checked~.menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
    }

    #menu-btn-check:checked~.menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
    }

    #menu-btn-check:checked~.menu-content {
        right: 0;
        /*メニューを画面内へ*/
    }

    #menu-btn-check {
        display: none;
    }

    .menu-content {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        z-index: 80;
        background-color: white;
        right: 100%;
        transition: all 0.5s;
        padding: 0 6vw 20vw;
        overflow-y: scroll;
    }

    .menu-content .maruhon-sp-menu__logo {
        margin-left: -20px;
    }

    .menu-content nav>ul>li {
        border-bottom: solid 1px var(--maruhon-gray);
        list-style: none;
        padding: 8vw;
    }

    .menu-link {
        font-size: 5vw;
    }


    .parent_menu+[class^="sub_menu"] {
        padding-top: 4vw;
    }

    .parent_menu i {
        font-size: 6vw
    }

    .sub_menu-link {
        display: block;
        width: 100%;
        font-size: 5vw;
        box-sizing: border-box;
        text-decoration: none;
        padding: 4vw 0px;
        position: relative;
        font-weight: 500;
    }

    [class^="sub_menu"]>li>a {
        font-size: min(4.5vw, 16px);
    }

    /* フロートボタン */
    .maruhon-sp-menu__float {
        position: fixed;
        bottom: 0;
        right: 0;
        left: 0;
        display: flex;
        padding: 2vw;
        z-index: 1000;
    }

    .maruhon-sp-menu__float a {
        width: 50%;
        padding: 2.5vw;
        border-radius: 20px;
        display: flex;
        color: var(--maruhon-blue);
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .maruhon-sp-menu__float a+a {
        margin-left: 1vw;
    }

    .maruhon-sp-menu__tel-link {
        background: var(--maruhon-yellow);
        font-size: 4.5vw;
        font-weight: 700;
    }

    .maruhon-sp-menu__line-link img {
        width: 5vw;
        ;
    }

    a.maruhon-sp-menu__line-link {
        font-size: 3.5vw;
        font-weight: 600;
        border: 1px solid var(--maruhon-gray);
        background: white;
    }

    .maruhon-sp-menu__line-link span,
    .maruhon-sp-menu__tel-link span {
        margin-left: 1vw;
    }

}

.maruhon-sidemenu__logo {
    padding: 1.25vw 2vw;
}

.maruhon-sidemenu__logo img {
    margin: auto;
    width: 80%;
}

.maruhon-sidemenu__menu-block {
    border-top: 1px solid var(--maruhon-gray);
    padding: 1.5vw 2.5vw;
}

.maruhon-sidemenu__menu-block li a {
    display: block;
    font-size: 1.25vw;
    padding: 1vw 2vw 1vw;
    position: relative;
}

.maruhon-sidemenu__menu-block li a.sub_menu-link {
    font-size: 1.1vw;
}

.sub_menu-link {
    font-size: min(1.6vw, 16px);
}

.maruhon-sidemenu__menu-block .sub_menu li {

    font-size: min(1.5vw, 14px);
}

.maruhon-sidemenu__menu-inner {
    padding: 20px 40px;
}

.maruhon-sidemenu__link-block {
    margin-top: auto;
    padding: 2vw;
    transition: .6s;
}

.maruhon-sidemenu__link-block a {
    align-items: center;
    border-radius: 20px;
    display: flex;
    font-size: 1.5vw;
    justify-content: center;
    padding: 0.75vw 1vw .5vw;
}

.maruhon-sidemenu__link-block a+a {
    margin-top: 16px;
}

.maruhon-sidemenu__link-block a>span {
    margin-left: .5vw;
    margin-bottom: 0.05vw;
}

a.maruhon-sidemenu__tel-link {
    background: var(--maruhon-yellow);
    color: #1b1464;
    font-weight: bold;
    transition: .6s;
}

a.maruhon-sidemenu__tel-link:hover {
    background: var(--maruhon-hover-yellow);
}

a.maruhon-sidemenu__line-link {
    border: 1px solid var(--maruhon-gray);
    color: #1b1464;
    font-size: 1.2vw;
    font-weight: 500;
    padding: 1vw;
    transition: .6s;
}

a.maruhon-sidemenu__line-link:hover {
    background: var(--maruhon-hover-gray);
}

a.maruhon-sidemenu__line-link img {
    height: 3vw;
    width: 3vw;
}

a.maruhon-sidemenu__line-link span {
    margin-left: 1vw;
}

@media (max-width: 768px) {
    .maruhon-sp-menu__logo {
        background: white;
        border-radius: 0 0 50px 0;
        padding: 7vw 8vw;
        z-index: 9;
        position: relative;
    }

    .maruhon-sp-menu__logo img {
        height: 25vw;
    }
}

/* メインコンテンツ */
.maruhon-main-content {
    position: relative;
    width: 100%;
    padding-left: 20vw;
}

@media (max-width: 768px) {
    .maruhon-main-content {
        background: white;
        padding-left: unset;
    }
}

.maruhon-top_keyvisual {
    background-position: bottom;
    background-size: cover;
    border-radius: 0 0 0 100px;
    height: 85vh;
    position: relative;
    overflow: hidden;
}


.maruhon-top_keyvisual .image {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    opacity: 1;
    background-size: cover;
    background-position: center center;
    /* animation: image-switch-animation 22.5s infinite; */
}

.maruhon-main-text {
    /* animation: text-switch-animation 22.5s infinite; */
}

.src1 {
    background-image: url("../img/top_keyvisual01.jpg");
}

@media (max-width: 768px) {
    .maruhon-top_keyvisual {
        width: 95%;
        margin-left: auto;
        height: 90vh;
    }
}

.maruhon-top_keyvisual__slide {
    position: absolute;
    display: none;
    bottom: 2vw;
    right: 0;
    left: 0;
    width: fit-content;
    font-size: 1vw;
    margin: auto;

}

.maruhon-top_keyvisual__slide li {
    padding: 0 .5vw;
    color: white;
}

.maruhon-top_keyvisual__slide li.active {
    color: var(--maruhon-yellow);
}

.maruhon-main-text {
    bottom: 6.5%;
    color: white;
    left: 6.5%;
    position: absolute;
}

.maruhon-main-text__lead {
    font-size: 5.5vw;
    font-weight: 500;
}

.maruhon-main-text__message {
    margin-left: 1vw;
    font-size: 1.1vw;
    line-height: 1.75;
}

@media (max-width: 768px) {
    .maruhon-main-text {
        text-align: right;
        right: 4.5%;
    }

    .maruhon-main-text__lead {
        font-size: 13.5vw;
        font-weight: 500;
    }

    .maruhon-main-text__message {
        font-size: 3.5vw;
    }
}

/*電話*/

.maruhon-top-tel {
    position: absolute;
    top: 63vh;
    right: 20px;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: var(--maruhon-blue);
    font-weight: 600;
}

@media (max-width: 768px) {
    .maruhon-top-tel {
        display: none;
    }
}

.maruhon-top-tel .is--nunito {
    font-size: 30px;
    font-weight: bold;
}

.maruhon-top-tel__block {
    padding: 16px 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 20px;
}

.maruhon-top-tel__block.fukidashi {
    background: white;
    margin-bottom: 20px;
}

.maruhon-top-tel__block.fukidashi::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: white transparent transparent;
    translate: -50% 100%;
}

.maruhon-top-tel__block.fukidashi span:last-child {
    font-size: 20px;

}

.maruhon-top-tel__block.yellow {
    background: var(--maruhon-yellow);
}

.maruhon-top-tel__block.yellow i {
    font-size: 30px;
}

.maruhon-top-tel__holiday {
    font-size: 14px;
}


/* 丸本について */
.maruhon-about-us {
    margin-top: 250px;
    position: relative;
    margin-top: 14vw;
}

.maruhon-common-content-title {
    padding: 2vw 4vw;
}

.maruhon-about-us__title-img {
    position: absolute;
    background: url(../img/about_us_bk.jpg);
    border-radius: 20px 0 0 20px;
    height: 200px;
    width: 60%;
    right: 0;
    top: -50px;
    z-index: 2;
    background-size: cover;
    background-position: center;
}

.maruhon-about-us__block {
    background: var(--maruhon-gray);
    border-radius: 10vw 0 0 0;
    position: relative;
    z-index: 0;
}

.maruhon-about-us__inner {
    padding: 7.5%;
}

.maruhon-about-us__catch-copy {
    color: var(--maruhon-blue);
    font-weight: 700;
    line-height: 1.74;
    font-size: 2vw;
}

.maruhon-about-us__text {
    font-size: 1.1vw;
    line-height: 2;
    padding: 2vw 0;
    position: relative;
}

.maruhon-about-us__recycle-img {
    position: absolute;
    width: 34vw;
    height: 34vw;
    right: 1vw;
    top: 3vw;
    z-index: -1;
}

.maruhon-about-us__hinmoku {
    background: var(--maruhon-blue);
    border-radius: 10vw 0 0 10vw;
    color: var(--maruhon-gray);
    position: relative;
    background: linear-gradient(0deg, rgba(27, 20, 100, 1) 0%, rgba(27, 20, 100, 1) 60%, rgba(9, 9, 121, 0) 100%);
}

.maruhon-about-us__hinmoku::before {
    background: url(../img/hinmoku.jpg);
    content: "";
    position: absolute;
    top: 0;
    width: 100%;
    height: 40%;
    z-index: -1;
    border-radius: 10vw 0 0 10vw;
    background-position: bottom;
}

.maruhon-about-us__title {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 10vw 0 2vw;
}

.maruhon-about-us__title.processing {
    text-align: left;
    align-items: baseline;
    padding: 0 15%;
}

.maruhon-about-us__title-head {
    font-size: 2.5vw;
    font-weight: 600;

}

.processing .maruhon-about-us__title-head {
    font-size: 1.25vw;
}

.maruhon-about-us__title.processing span {
    color: var(--maruhon-gray);
    font-size: 1vw;
    margin-top: 1vw;
}


.maruhon-about-us__hinmoku-btn-block {
    margin-bottom: 6vw;
    text-align: center;
}

.maruhon-about-us__hinmoku-inner {
    padding: 0 15%;
    flex-wrap: wrap;
    display: flex;
    margin-left: -4vw;
}

.maruhon-about-us__hinmoku-one {
    width: calc(50% - 4vw);
    margin-left: 4vw;
    margin-bottom: 4vw;
    text-align: center;
}

.maruhon-about-us__hinmoku-one {
    font-size: 2vw;
}

.maruhon-about-us__hinmoku-one img {
    border-radius: 75px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.maruhon-about-us__kizai {
    overflow-x: hidden;
    padding: 4vw 1vw 3vw;
}

.maruhon-about-us__kizai-title-area {
    display: flex;
    align-items: end;
    justify-content: space-between;
    margin-bottom: 2.5vw;
}

.maruhon-about-us__kizai-readmore {
    padding-right: 4vw;

}

.maruhon-about-us__img-slide-area {
    display: flex;
    overflow: hidden;
}

.maruhon-about-us__img-slide {
    display: flex;
    animation: loop-slide 40s infinite linear 1s both;
}

.maruhon-about-us__img-slide li {
    display: grid;
    place-content: center;
    flex-shrink: 0;
    width: 30vw;
    margin-right: .5vw;
}


.maruhon-about-us__img-slide img {
    display: block;
    width: 29.5vw;
    height: 20vw;
    object-fit: cover;
}

@keyframes loop-slide {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

@media (max-width: 768px) {
    .maruhon-about-us__block {
        border-radius: 10vw;
    }

    .maruhon-about-us__inner {
        padding: 16vw 8vw;
    }

    .maruhon-about-us__title-img {
        height: 20vw;
        top: 3.5vw;
        background-size: cover;
        width: 56vw;

    }

    .maruhon-about-us__catch-copy {
        font-size: 4.5vw;
        text-align: center;
    }

    .maruhon-about-us__text {
        font-size: 3.5vw;
        text-align: center;
        margin-bottom: 6vw;
    }

    .maruhon-about-us__btn-block {
        text-align: center;
    }

    .maruhon-about-us__title-head {
        font-size: 6vw;
    }

    .maruhon-about-us__title span:last-of-type {
        font-size: 3.5vw;
    }

    .maruhon-about-us__hinmoku {
        border-radius: 10vw;
    }

    .maruhon-about-us__hinmoku::before {
        border-radius: 10vw;
        background-size: cover;
    }

    .maruhon-about-us__title {
        padding: 28vw 0 8vw;
    }

    .maruhon-about-us__hinmoku-inner {
        padding: 0 5vw 12vw;
        margin-left: unset;
        margin-left: -5vw;
    }

    .maruhon-about-us__hinmoku-one {
        font-size: 5vw;
        width: calc(50% - 5vw);
        margin-left: 5vw;
        margin-bottom: 5vw;
    }

    .maruhon-about-us__hinmoku-one img {
        border-radius: 5vw;
    }

    .maruhon-about-us__recycle-img {
        width: 65vw;
        height: 65vw;
        right: 1vw;
        right: 0;
        left: 0;
        top: 12vw;
        z-index: -1;
        margin: 0 auto;
    }

    .maruhon-about-us__img-slide-area {
        padding-top: 4vw;
    }

    .maruhon-about-us__kizai-readmore {
        text-align: center;
        padding: 8vw 0;
    }

    .maruhon-about-us__img-slide img {
        width: 80vw;
        height: 80vw;
    }

    .maruhon-about-us__img-slide li {
        width: 80vw;
        margin-right: 2.5vw;
    }

    .maruhon-about-us__img-slide img {
        width: 80vw;
        height: 60vw;
    }

    .maruhon-about-us__title.processing {
        margin: 5vw 10vw;
        padding: 0;
    }

    .processing .maruhon-about-us__title-head {
        font-size: 4.25vw;
    }

    .maruhon-about-us__title.processing span {
        font-size: 3.5vw;
        margin-top: 2vw;
        padding: 0;
    }
}


/* 個別ページ　タイトル画像 */
.maruhon-page-title {
    background-image: url("../img/about_us.jpg");
    background-position: bottom;
    background-size: cover;
    border-radius: 0 0 0 100px;
    height: 80vh;
    position: relative;
}

.maruhon-page-title.company {
    background-position: bottom;
    background-image: url("../img/company_bkimage.jpg");

}

.maruhon-page-title.recruit {
    background-position: bottom;
    background-image: url("../img/recruit_bkimage.jpg");
    /* background-color: rgba(255, 255, 255, 0.4); */
    background-blend-mode: lighten;
}


.maruhon-page-title_text {
    color: white;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    text-align: center;
    height: fit-content;
}

.maruhon-page-title_text h1 {
    font-size: 2.5vw;
}

.maruhon-page-title_text span {
    font-size: 1.5vw;
    font-weight: 600;
}

@media (max-width: 768px) {
    .maruhon-page-title {
        width: 95%;
        margin-left: auto;
        height: 60vh;
    }

    .maruhon-page-title_text {
        height: unset;
        bottom: 5vw;
        top: auto;
        right: 5vw;
        text-align: end;
    }

    .maruhon-page-title_text h1 {
        font-size: 7.5vw;
    }

    .maruhon-page-title_text span {
        font-size: 4.5vw;
    }
}

/* 丸本について個別ページ */
.maruhon-page-about-us {
    background: var(--maruhon-gray);
    padding-top: 20vw;
    margin-top: -10vw;
}

.maruhon-page-about-us .maruhon-about-us__catch-copy {
    text-align: center;

}

.maruhon-page-about-us .maruhon-about-us__catch-copy.is-sp {
    display: none;
}

.maruhon-page-about-us .maruhon-about-us__inner {
    padding: 2vw;
}

.maruhon-page-about-us .maruhon-about-us__text {
    font-size: 1.25vw;
    text-align: center;
}

.maruhon-page-about-us .maruhon-about-us__recycle-img {
    right: 0;
    left: 0;
    top: 0;
    margin: auto;
}

.maruhon-about-us__image-container {
    position: relative;
    height: 65vw;
    margin-bottom: 5vw;
}

.maruhon-about-us__image-container img {
    position: absolute;
    object-fit: contain;
}

.maruhon-about-us__image-container .img-01 {
    height: 30vw;
    border-radius: 0 5vw 5vw 0;
    left: 0;
}

.maruhon-about-us__image-container .img-02 {
    height: 30vw;
    border-radius: 5vw 0 0 5vw;
    right: 0;
    top: 10vw;
}

.maruhon-about-us__image-container .img-03 {
    height: 25vw;
    border-radius: 5vw;
    bottom: 0;
    left: 12vw;
}

.maruhon-page-about-us .maruhon-about-us__title {
    margin-bottom: 2vw;
}

.maruhon-page-about-us .maruhon-about-us__hinmoku {
    padding-bottom: 4vw;
}

.maruhon-about-us__hinmoku-detail {
    font-size: 1vw;
}

.maruhon__contact-block {
    background: white;
    margin: auto;
    margin: 0 15% 5%;
    border-radius: 5vw;
    padding: 5%;
    text-align: center;
}

.maruhon__contact-message {
    font-size: 2vw;
    color: var(--maruhon-blue);
    font-weight: 600;
    margin-bottom: .5vw;
}

.maruhon__contact-text {
    font-size: 1vw;
    color: black;
}

.maruhon__contact-link {
    display: flex;
    background: var(--maruhon-yellow);
    padding: 5%;
    border-radius: 2.5vw;
    width: 75%;
    margin: auto;
    color: var(--maruhon-blue);
    align-items: center;
    justify-content: space-between;
    margin-top: 2vw;
    transition: .6s;
    cursor: pointer;
}

.maruhon__contact-link:hover {
    background: var(--maruhon-hover-yellow);
}

.maruhon__contact-link i {
    font-size: 3vw;
}

.maruhon__contact-link-right {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    font-weight: bold;
    margin-left: 2vw;
}

.maruhon__contact-tel {
    font-size: 3vw;
}

.maruhon__contact-holiday {
    font-size: 0.8vw;
}

.maruhon-about-us__kizai-img img {
    width: 20vw;
    margin-bottom: -5vw;
    margin-right: 2vw;
}

.maruhon-about-us__kizai-detail {
    padding: 0 4vw 4vw;
}

.maruhon-about-us__kizai-detail h3 {
    padding-left: 1vw;
    border-left: .75vw solid var(--maruhon-yellow);
    font-weight: 600;
    font-size: 1.5vw;
}

.maruhon-about-us__kizai-detail-block {
    margin-top: 1.25vw;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2vw;
}

.maruhon-about-us__kizai-detail-block img {
    width: 100%;
    aspect-ratio: 6 / 5;
    object-fit: cover;
}

.maruhon-about-us__analysis {
    background: #d2d1d8;
    padding: 4vw 1vw;
    border-radius: 5vw 0 0 5vw;
}

.maruhon-about-us__analysis-detail {
    display: flex;
    padding: 0 4vw 4vw;
}

.analysis-img {
    width: 50%;
    min-width: 50%;
    object-fit: cover;
}

.maruhon-about-us__analysis-explain {
    position: relative;
    margin-left: 3vw;
}

.maruhon-about-us__analysis-explain p {
    position: relative;
    z-index: 1;
    font-size: 1.1vw;
    margin-bottom: 1em;
}

.analysis-explain-img {
    position: absolute;
    top: -5vw;
    right: 1vw;
    width: 20vw;
}

.maruhon-about-us__flow {
    padding: 4vw 1vw 0;
}

.maruhon-about-us__flow-inner {
    padding: 2vw 4vw;
}

.maruhon-about-us__flow-image {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr;
    grid-column-gap: 4vw;
}

.maruhon-about-us__flow-image span {
    color: var(--maruhon-blue);
    border-radius: 2vw;
    font-size: 1.75vw;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    border: .3vw solid var(--maruhon-blue);
    padding: .5vw 0;
    position: relative;
}

.maruhon-about-us__flow-image span:before {
    content: "";
    width: 4.3vw;
    height: .3vw;
    border-radius: 3vw;
    position: absolute;
    background: var(--maruhon-blue);
    right: -4.3vw;
}

.maruhon-about-us__flow-image span:after {
    position: absolute;
    content: "";
    top: 2.5vw;
    right: -4.5vw;
    width: 1.5vw;
    height: .3vw;
    background: var(--maruhon-blue);
    transform: rotate(45deg);
    border-radius: 3vw;
}

.maruhon-about-us__flow-image i {
    display: none;
}


.maruhon-about-us__flow-image span:first-child {
    color: white;
    background: #1b1464;
}

.maruhon-about-us__flow-image span:last-child:before,
.maruhon-about-us__flow-image span:last-child:after {
    display: none;
}

.maruhon-about-us__flow-image span:nth-child(2),
.maruhon-about-us__flow-image span:nth-child(3) {
    background: white;

}

.maruhon-about-us__flow-image span:last-child {
    background: var(--maruhon-yellow);
    border-color: var(--maruhon-yellow);
}

.maruhon-about-us__flow-detail {
    padding-top: 8vw;
}

.maruhon-about-us__flow-step {
    width: 100%;
    position: relative;
    padding: 2.5vw 4vw 3vw 8vw;
    background: white;
    border-radius: 2vw;
}



.maruhon-about-us__flow-step-num {
    color: var(--maruhon-blue);
    display: flex;
    align-items: center;
    flex-direction: column;
    position: absolute;
    left: 2.5vw;
    top: -3vw;
    font-weight: bold;
    line-height: 1;
}

.maruhon-about-us__flow-step-num:before {
    position: absolute;
    content: "";
    height: 14vw;
    width: .2vw;
    top: 5vw;
    background: var(--maruhon-blue);
    border-radius: 1vw;
}

.maruhon-about-us__flow-step.step-03 .maruhon-about-us__flow-step-num:before {
    height: 25vw;
}

.maruhon-about-us__flow-step.step-04 .maruhon-about-us__flow-step-num:before {
    height: 11vw;
}

.maruhon-about-us__flow-step-num span:first-child {
    font-size: 1.5vw;
}

.maruhon-about-us__flow-step-num span:last-child {
    font-size: 3.5vw;
}

.maruhon-about-us__flow-step>img {
    position: absolute;
    width: 23%;
    top: -4vw;
    right: 3vw;
    border-radius: 2vw;
}

.maruhon-about-us__flow-step-name {
    font-size: 1.5vw;
}

.maruhon-about-us__flow-step-text {
    font-size: 1vw;
    padding-top: .5em;
    display: block;
}

.maruhon-about-us__flow-step-kakou-block {
    padding-top: 1.5vw;
}

.maruhon-about-us__flow-step-kakou {
    padding-top: .5vw;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2vw;
    text-align: center;
}

.maruhon-about-us__flow-step-kakou img {
    width: 100%;
    border-radius: 2vw;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.maruhon-about-us__flow-step-kakou span {
    font-size: 1.2vw;
}

.maruhon-about-us__flow-step.step-04 {
    padding: 4vw 4vw 6vw 8vw;
}

.maruhon-about-us__flow-step.step-04 img {
    width: 12vw;
    top: 2vw;
}

.maruhon-about-us__rental-and-sales {
    padding: 0 1vw 5vw;
}

.maruhon-about-us__rental-and-sales-detail {
    padding: 0vw 4vw;
    font-size: 1.15vw;
}

@media (max-width: 768px) {

    .maruhon-page-about-us {
        margin-top: 10vw;
        border-radius: 10vw 10vw 0 0;
        padding-top: 10vw;
    }

    .maruhon-page-about-us .maruhon-about-us__catch-copy {
        display: none;
    }

    .maruhon-page-about-us .maruhon-about-us__catch-copy.is-sp {
        display: block;
        position: absolute;
        text-align: left;
        margin-left: 38vw;
        font-size: 4vw;
        padding: 5vw 0;
    }

    .maruhon-page-about-us .maruhon-about-us__recycle-img {
        top: 145vw;
    }

    .maruhon-page-about-us .maruhon-about-us__inner {
        padding: 4vw;
    }

    .maruhon-about-us__sort {
        display: flex;
        flex-direction: column-reverse;
    }

    .maruhon-page-about-us .maruhon-about-us__text {
        font-size: 3.5vw;
        text-align: left;
    }

    .maruhon-about-us__flow-detail {
        padding-top: 18vw;
    }

    .maruhon-about-us__image-container {
        margin-top: 12vw;
        height: 115vw;
        overflow-x: hidden;
    }

    .maruhon-about-us__image-container .img-01 {
        height: 58vw;
        left: -11vw;
    }

    .maruhon-about-us__image-container .img-02 {
        height: 54vw;
        border-radius: 5vw 0 0 5vw;
        right: -22vw;
        top: 39vw;
    }

    .maruhon-about-us__image-container .img-03 {
        height: 40vw;
        left: 8vw;
    }

    .maruhon-about-us__hinmoku-detail {
        font-size: 3vw;
    }

    .maruhon__contact-block {
        margin: 0 4vw 1vw;
        border-radius: 10vw;
    }

    .maruhon__contact-message {
        font-size: 5.5vw;
        margin-bottom: 2.5vw;
    }

    .maruhon__contact-text {
        font-size: 3vw;
    }

    .maruhon__contact-link {
        padding: 5%;
        border-radius: 5.5vw;
        width: 100%;
        margin: auto;
        color: var(--maruhon-blue);
        align-items: center;
        justify-content: space-between;
        margin-top: 3vw;
    }

    .maruhon__contact-link i {
        font-size: 8vw;
    }

    .maruhon__contact-tel {
        font-size: 8vw;
    }

    .maruhon__contact-time {
        display: block;
        margin: -1vw auto;
    }


    .maruhon__contact-holiday {
        font-size: 3vw;
        display: block;
    }

    .maruhon-page-about-us .maruhon-about-us__kizai-title-area {
        text-align: center;
        flex-direction: column;
        position: relative;
        margin-bottom: 10vw;
    }

    .maruhon-page-about-us .maruhon-about-us__kizai-title-area>div {
        z-index: 1;
    }

    .maruhon-page-about-us .maruhon-common-content-title {
        align-items: center;
    }

    .maruhon-page-about-us div.maruhon-about-us__kizai-img {
        z-index: 0;
    }

    .maruhon-page-about-us .maruhon-about-us__kizai-img img {
        width: 50vw;
        right: -7vw;
        top: 7vw;
        position: absolute;
    }

    .maruhon-about-us__kizai-detail h3 {
        padding-left: 3vw;
        border-left: 2.75vw solid var(--maruhon-yellow);
        font-weight: bold;
        font-size: 4.5vw;
    }

    .maruhon-about-us__kizai-detail-block {
        margin-top: 3vw;
        grid-template-columns: repeat(2, 1fr);
        gap: 3vw;
    }

    .maruhon-about-us__kizai-detail-block h4 {
        font-size: 3vw;
    }

    .maruhon-about-us__kizai-detail-block h4+span {
        font-size: 3vw;
    }

    .maruhon-about-us__kizai-detail {
        padding: 0 4vw 8vw;
    }

    .maruhon-about-us__analysis-detail {
        flex-direction: column;
        padding: 0 4vw 4vw;
        align-items: center;
    }

    .maruhon-about-us__analysis-explain {
        margin-left: 0;
        margin-top: 4vw;
    }

    .maruhon-about-us__analysis-explain p,
    .maruhon-about-us__analysis-explain span {
        font-size: 3.5vw;
    }

    .analysis-img {
        z-index: 1;
        width: 100%;
        min-width: 100%;
    }

    .maruhon-about-us__analysis-detail {
        padding: 0 10vw 4vw;
    }

    .analysis-explain-img {
        position: absolute;
        top: -8vw;
        right: -1vw;
        width: 50vw;
        z-index: 0;
    }

    .maruhon-about-us__flow-image {
        grid-template-columns: repeat(1, 1fr);
        row-gap: 5vw;
    }

    .maruhon-about-us__flow-image i {
        display: block;
        position: absolute;
        color: var(--maruhon-blue);
        bottom: -5.5vw;
        font-size: 5vw;
    }

    .maruhon-about-us__flow-image span:before,
    .maruhon-about-us__flow-image span:after {
        display: none;
    }

    .maruhon-about-us__flow-image span {
        font-size: 4vw;
        padding: 3vw;
        border: .75vw solid var(--maruhon-blue);
        border-radius: 3vw;
        position: relative;
    }

    .maruhon-about-us__flow-step-kakou-block {
        padding-top: 3.5vw;
    }

    .maruhon-about-us__flow-step-kakou {
        gap: 4vw;
        grid-template-columns: repeat(2, 1fr);
    }

    .maruhon-about-us__flow-step-kakou>div {
        display: flex;
        flex-direction: column-reverse;
    }

    .maruhon-about-us__flow-step-kakou span {
        font-size: 3.2vw;
    }

    .maruhon-about-us__flow-step.step-03 .maruhon-about-us__flow-step-num:before {
        height: 160vw;
    }

    .maruhon-about-us__flow-step-kakou-block {
        padding-top: 5.5vw;
    }

    .maruhon-about-us__flow-step,
    .maruhon-about-us__flow-step.step-04 {
        padding: 7vw 6vw 6vw 13vw;
    }

    .maruhon-about-us__flow-step-name {
        font-size: 5vw;
    }

    .maruhon-about-us__flow-step-text {
        font-size: 3.5vw;
        padding-bottom: 4vw;
        z-index: 1;
        position: relative;
    }

    .maruhon-about-us__flow-step>img {
        position: relative;
        width: 100%;
        top: 0;
        right: 0;
    }

    .maruhon-about-us__flow-step-num {
        top: -8vw;
    }

    .maruhon-about-us__flow-step-num span:first-child {
        font-size: 4.5vw;

    }

    .maruhon-about-us__flow-step-num span:last-child {
        font-size: 8.5vw;
    }

    .maruhon-about-us__flow-step-num:before {
        position: absolute;
        content: "";
        height: 100vw;
        width: 0.5vw;
        top: 15vw;
        left: 2vw;
        background: var(--maruhon-blue);
        border-radius: 1vw;
    }

    .maruhon-about-us__flow-step.step-04 img {
        width: 38vw;
        top: 3vw;
        right: 5vw;
        position: absolute;
        z-index: 0;
    }

    .maruhon-about-us__flow-step.step-04 .maruhon-about-us__flow-step-num:before {
        height: 30vw;
    }

    .maruhon-about-us__rental-and-sales {
        padding: 4vw 4vw 10vw;
    }

    .maruhon-about-us__rental-and-sales-detail {
        font-size: 3.5vw;
    }
}

/* 会社情報 */
.maruhon-company__message-block {
    padding-top: 6vw;
    display: flex;
}

.maruhon-company__message {
    background-color: var(--maruhon-gray);
    border-radius: 7vw 0 0 0;
    max-width: 70%;
    margin-left: auto;
    padding: 6vw;
    line-height: 2;
    font-size: 1.1vw;
}

.maruhon-company__president-info {
    padding: 0 4vw;
}

.maruhon-company__president-info img {
    border-radius: 2vw;
    width: 60vw;
}

.maruhon-company__president-info span {
    font-size: 1.2vw;
    margin-top: 1vw;
    display: block;
}

.maruhon-company__president-info span:last-child {
    font-size: 1.5vw;
    font-weight: 600;
    color: var(--maruhon-blue);
    margin-top: 0;
}

.maruhon-company__title {
    text-align: center;
    padding: 4vw;
}

.maruhon-company__title .maruhon-common-content-title__en {
    color: var(--maruhon-middle-gray);
    margin-left: 0;
}

.maruhon-company__detail {
    background: var(--maruhon-blue);
    border-radius: 5vw;
    color: white;
    position: relative;
    z-index: 1;
}

.maruhon-company__detail-table {
    padding: 0 5vw 4vw;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3vw;
}

.maruhon-company__detail-table table {
    color: white;
    padding: 0px 6vw 6vw;
    font-size: 1.1vw;
    border-collapse: collapse;
}


.maruhon-company__detail-table td {
    line-height: 1.75;
    padding: 2vw 2vw 2vw 0;
    border-bottom: 1px solid var(--maruhon-middle-gray);
}

.maruhon-company__detail-table tr:last-child td {
    border-bottom: none
}

.maruhon-company__detail-table td strong {
    white-space: nowrap;
}

.maruhon-company__detail-img {
    border-radius: 0 0 5vw 5vw;
}

.maruhon-company__contact-block {
    background: var(--maruhon-gray);
    margin-top: -5vw;
    padding: 10vw 0 5vw;
    position: relative;
    z-index: 0;
}

@media (max-width: 768px) {
    .maruhon-company__message-block {
        flex-direction: column;
    }

    .maruhon-company__president-info img {
        width: 100%;
    }

    .maruhon-company__president-info {
        padding: 0 6vw;
        text-align: center;
        position: relative;
        z-index: 1;
    }

    .maruhon-company__message {
        border-radius: 7vw 7vw 0 0;
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-top: -35vw;
        position: relative;
        z-index: 0;
        font-size: 3.75vw;
        padding: 40vw 6vw 20vw;
        margin-bottom: -10vw;
    }

    .maruhon-company__contact-block {
        margin-top: -5vw;
        padding: 20vw 0 15vw;
    }

    .maruhon-company__president-info span {
        font-size: 3.2vw;
        margin-top: 2vw;
    }

    .maruhon-company__president-info span:last-child {
        font-size: 6.5vw;
        font-weight: 600;
    }

    .maruhon-company__detail {
        border-radius: 10vw;
    }

    .maruhon-company__detail-table {
        grid-template-columns: repeat(1, 1fr);
        gap: 0;
        padding: 0 8vw 4vw;
    }

    .maruhon-company__detail-table table {
        font-size: 3.5vw;
    }

    .maruhon-company__detail-table td+td {
        padding: 4vw 0;
    }

    .maruhon-company__detail-table td {
        padding: 2vw 8vw 2vw 0;
    }

    .maruhon-company__detail-table tr:last-child td {
        border-bottom: 1px solid var(--maruhon-middle-gray);
    }

    .maruhon-company__detail .maruhon-company__title {
        padding: 8vw 0 4vw;
    }

}

.maruhon-recruit {
    padding-top: 12vw;
}

.maruhon-recruit__head {
    display: flex;
    justify-content: space-between;
}

.maruhon-recruit__head-left {
    width: 80%;
    min-width: 80%;
}

.maruhon-recruit__head-right {
    background: white;
    padding: 4vw 2vw 4vw 4vw;
    margin-top: 15vw;
    margin-left: -25vw;
    border-radius: 5vw 0 0 0;
}

.maruhon-recruit__head-left img {
    border-radius: 0 5vw 0 0;
    aspect-ratio: 7 / 3.5;
    object-fit: cover;
    width: 100%;

}

.maruhon-recruit__head-right {

    line-height: 1.74;
}

.maruhon-recruit__head-text {
    color: var(--maruhon-blue);
    font-weight: 700;
    font-size: 2vw;
    display: block;
}

.maruhon-recruit__head-sub-text {
    font-size: 1.25vw;
    display: block;
    margin-top: 1vw;
}

.maruhon-recruit__requirements-detail {
    display: none;
}

.maruhon-recruit__requirements-detail td {
    padding: 2vw;
}


.maruhon-recruit__requirements {
    background: var(--maruhon-blue);
    padding: 4vw;
    position: relative;
    z-index: 2;
    border-radius: 5vw 0 0 5vw;
}

.maruhon-recruit__requirements-name {}

.maruhon-recruit__requirements-block {
    background: white;
    border-radius: 3vw;
}

.maruhon-recruit__requirements-block+.maruhon-recruit__requirements-block {
    margin-top: 3vw;
}

.maruhon-recruit__requirements-title {
    display: flex;
    justify-content: space-between;
    padding: 3vw 4vw;
    cursor: pointer;
    align-items: center;
}


.maruhon-recruit__requirements-name h3 {
    font-size: 1.5vw;
    color: var(--maruhon-blue);
    margin-bottom: 2vw;
}

.maruhon-recruit__requirements-title i {
    font-size: 2.5vw;
    color: var(--maruhon-yellow);
}

.maruhon-recruit__requirements-title.active i:before {
    content: "\f056";
}

.maruhon-recruit__requirements-name span {
    font-size: 1.1vw;
}

.maruhon-recruit__requirements-detail table {
    width: 100%;
    font-size: 1.1vw;
}

.maruhon-recruit__requirements-detail {
    padding: 0 4vw 3vw;
}

.maruhon-recruit__requirements-detail td {
    padding: 2vw 2vw 2vw 0;
    border-bottom: 1px solid var(--maruhon-gray);
}

.maruhon-recruit__requirements-detail td:first-child {
    width: 20%;
}

.maruhon-recruit__requirements-detail td strong {
    color: var(--maruhon-blue);
}

.maruhon-recruit__entry {
    background: var(--maruhon-gray);
}

.maruhon-recruit__entry .maruhon-common-content-title {
    padding: 0;
    flex-direction: column;
}

.maruhon-recruit__entry .maruhon-common-content-title p {
    text-align: left;
    font-size: 1.2vw;
    margin-top: 1vw;
}

.maruhon-recruit__entry .maruhon__contact-block {
    display: flex;
    justify-content: space-between;
}

.maruhon-recruit__entry .maruhon__contact-link-block {
    width: 50%;
}

.maruhon-recruit__entry .maruhon__contact-link.recruit {
    background: white;
    border: 1px solid var(--maruhon-gray);
    flex-direction: column;

}

.maruhon-recruit__entry .maruhon__contact-link.recruit p {
    font-size: 1vw;
    color: var(--maruhon-middle-gray);
    font-weight: 300;
}

.maruhon-recruit__entry .maruhon__contact-link-block a {
    font-size: 1.5vw;
    font-weight: 600;
    justify-content: center;
    width: 100%;
    margin-top: 0;
}

.maruhon-recruit__entry .maruhon__contact-link-block a+a {
    margin-top: 2vw;
}

@media (max-width: 768px) {
    .maruhon-recruit__head-right {
        margin-left: -65vw;
        margin-top: 28vw;
        padding: 6vw 2vw 4vw 6vw;
    }

    .maruhon-recruit__head-text {
        font-size: 5vw;
    }

    .maruhon-recruit__head-sub-text {
        font-size: 3vw;
    }

    .maruhon-recruit .maruhon-common-content-title {
        align-items: center;
        padding: 4vw 4vw;
    }

    .maruhon-recruit__requirements {
        padding: 5vw;
        border-radius: 5vw;
    }

    .maruhon-recruit__requirements-name h3 {
        font-size: 4.5vw;
    }

    .maruhon-recruit__requirements-name span {
        font-size: 3.5vw;
    }

    .maruhon-recruit__requirements-title {
        padding: 5vw;
    }

    .maruhon-recruit__requirements-title i {
        font-size: 7.5vw;
    }

    .maruhon-recruit__requirements-block {
        border-radius: 5vw;
    }

    .maruhon-recruit__requirements-detail table {
        font-size: 4vw;
    }

    .maruhon-recruit__requirements-detail td {
        padding: 4vw 2vw 4vw 0;
    }

    .maruhon-recruit__entry .maruhon__contact-block {
        flex-direction: column;
    }

    .maruhon-recruit__entry .maruhon__contact-link-block {
        width: 100%;
    }

    .maruhon-recruit__entry .maruhon__contact-link-block a {
        font-size: 4vw;
    }

    .maruhon-recruit__entry .maruhon-common-content-title p {
        font-size: 3.5vw;
        text-align: center;
    }

    .maruhon-recruit__entry .maruhon__contact-link.recruit p {
        font-size: 3vw;
    }
}

/* お問い合わせ */
.maruhon-contact .maruhon__contact-block {
    margin: unset;
}

.maruhon__contact-flex {
    display: flex;
    margin-top: 3vw;
    align-items: center;
}


.maruhon__contact-line-link {
    border: 1px solid var(--maruhon-gray);
    color: #1b1464;
    font-size: 1.2vw;
    font-weight: 500;
    padding: 1vw;
    display: flex;
    border-radius: 2.5vw;
    width: 100%;
    align-items: center;
    justify-content: center;
    transition: .6s;
    cursor: pointer;
}

.maruhon__contact-line-link.mail {
    background: white;
    font-size: 2vw;
    padding: 1.5vw;
}


.maruhon__contact-line-link.mail i {}

.maruhon__contact-line-link:hover {
    background: var(--maruhon-hover-gray);
}

a.maruhon__contact-line-link img {
    height: 3vw;
    width: 3vw;
}

.maruhon__contact-flex>div {
    width: calc(50% - 2vw);
}

.maruhon__contact-flex>div+div {
    margin-left: 2vw;
}

.maruhon__contact-flex .maruhon__contact-text {
    font-size: 1.25vw;
    color: var(--maruhon-blue);
}

.maruhon__contact-flex .maruhon__contact-time {
    font-size: 1.25vw;
    color: var(--maruhon-blue);
    font-weight: 500;
    margin-top: 1vw;
    display: block;
}

.maruhon__contact-flex .maruhon__contact-holiday {
    display: block;
}

.maruhon__contact-flex .maruhon__contact-link,
.maruhon__contact-flex .maruhon__contact-line-link {
    width: 100%;
    height: 10vw;
    justify-content: center;
    margin-top: unset;
}

.maruhon__contact-line-link .maruhon__contact-line {
    font-size: 2vw;
}

.maruhon__contact-line-link.mail .maruhon__contact-line {
    font-size: 1.5vw;
}

.maruhon__contact-mail-title {

    text-align: center;
    padding-bottom: 3vw;
}

.maruhon__contact-mail-form {
    background: var(--maruhon-gray);
    border-radius: 7vw 0 0 0;
    padding: 5vw 15vw;
}

.consent-box {
    background-color: #ffffff;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    padding: 1.3vw 2vw;
    cursor: pointer;
    user-select: none;
    font-weight: 600;
    color: var(--maruhon-blue);
    font-size: 1.25vw;
    margin: auto;
}

.consent-box input[type="checkbox"] {
    display: none;
}

.custom-checkbox {
    width: 1.5vw;
    height: 1.5vw;
    border: 2px solid #ccc;
    background-color: #fff;
    margin-right: 1vw;
    border-radius: 3px;
    position: relative;
}

.consent-box input[type="checkbox"]:checked+.custom-checkbox::after {
    content: '';
    position: absolute;
    top: .2vw;
    left: 0.4vw;
    width: .4vw;
    height: .7vw;
    border: solid #1a165a;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.maruhon__contact-mail-form .maruhon-common-butoon {
    background: var(--maruhon-yellow);
    font-weight: 600;
    padding: 1em 2em;
    border: none;
    font-size: 1.25vw;
    margin-top: 2vw;

}

@media (max-width: 768px) {
    .maruhon__contact-flex {
        flex-direction: column;
        margin-top: 8vw;
    }

    .maruhon__contact-flex>div {
        width: 100%;
    }

    .maruhon__contact-flex .maruhon__contact-link,
    .maruhon__contact-flex .maruhon__contact-line-link {
        height: 24vw;
        padding: 10%;
    }

    .maruhon__contact-flex .maruhon__contact-text {
        font-size: 3.5vw;
    }

    .maruhon__contact-flex>div+div {
        margin-left: 0;
        margin-top: 5vw;
    }

    a.maruhon__contact-line-link img {
        height: 10vw;
        width: 10vw;
    }

    .maruhon__contact-flex .maruhon__contact-time {
        font-size: 4vw;
    }

    .maruhon__contact-line-link .maruhon__contact-line {
        font-size: 5vw;
    }

    .maruhon-contact .maruhon__contact-block {
        padding: 20vw 6vw;
    }

    .maruhon__contact-mail-title .maruhon__contact-message {
        font-size: 5.5vw;
    }


    .consent-box {
        padding: 3.3vw 4vw;
        font-size: 3.25vw;
    }

    .custom-checkbox {
        width: 6.5vw;
        height: 6.5vw;
        margin: 4vw 0;
    }

    .consent-box input[type="checkbox"]:checked+.custom-checkbox::after {
        content: '';
        position: absolute;
        top: .6vw;
        left: 1.7vw;
        width: 2.4vw;
        height: 3.7vw;
        border: solid #1a165a;
        border-width: 0 .5vw .5vw 0;
        transform: rotate(45deg);
    }

    .maruhon__contact-mail-form .maruhon-common-butoon {
        font-weight: 600;
        font-size: 4.25vw;
        margin-top: 8vw;
    }

    .maruhon__contact-line-link.mail {
        font-size: 6vw;
        padding: 3.5vw;
    }

    .maruhon__contact-line-link.mail .maruhon__contact-line {
        font-size: 3.5vw;
    }
}

/* フッター */
.maruhon-footer {
    background: var(--maruhon-gray);
}

.maruhon-footer-inner {
    background: var(--maruhon-blue);
    margin-top: auto;
    width: 100%;
    border-radius: 10vw 0 0 0;
    padding: 7.5% 7.5% 0;
    font-size: 1vw;
    color: var(--maruhon-gray);
    position: relative;
    overflow-x: hidden;
}

.maruhon-footer-inner::before {
    content: "";
    position: absolute;
    background: url(../img/hon.svg);
    width: 42vw;
    height: 42vw;
    right: -10vw;
    top: 5vw;
}

.maruhon-footer__map-area {
    margin-top: 2.5vw;
}

.maruhon-footer iframe {
    width: 50vw;
    height: 24vw;
    margin-top: 1vw;
    z-index: 1;
    position: relative;

}

.maruhon-footer__logo-area img {
    width: 16%;
    margin-right: 5%;
}

.maruhon-footer__map-area a {
    margin-top: 1vw;
}

.maruhon-footer__map-area address {
    font-style: unset;
    margin-top: .5vw;
}

.maruhon-footer__map-area span {
    font-weight: 700;

}

a.maruhon-footer__banner-link {
    display: block;
    margin-top: 2vw;
}

.maruhon-footer__banner-link img {
    width: 30%;
}

.maruhon-footer-inner {
    position: relative;
}

.maruhon-footer-inner>div {
    position: relative;
}

.maruhon-footer__logo-area {
    display: flex;
}

.maruhon-footer__copyright {
    text-align: center;
    margin-top: 4vw;
}

@media (max-width: 768px) {
    .maruhon-footer-inner {
        padding: 15vw 8vw;
    }

    .maruhon-footer-inner::before {
        width: 80vw;
        height: 80vw;
        right: -20vw;
        top: 10vw;
    }

    .maruhon-footer iframe {
        display: none;
    }

    .maruhon-footer__logo-area {
        flex-direction: column;
    }

    .maruhon-footer__logo-area img {
        width: 50%;
    }

    .maruhon-footer__logo-area span {
        font-size: 3vw;
    }

    .maruhon-footer__map-area {
        margin-top: 4.5vw;
    }

    .maruhon-footer__map-area a {
        margin: 6vw 0;
    }

    .maruhon-footer__map-area>span {
        font-size: 4vw;
    }

    .maruhon-footer__map-area address {
        font-size: 3.5vw;
    }

    .maruhon-footer__banner-link img {
        width: unset;
    }

    .maruhon-footer__copyright {
        font-size: 3vw;
    }
}

.maruhon-breadcrumbs {
    font-size: 1.1vw;
    margin: 1vw 0 0 6vw;
    color: var(--maruhon-middle-gray);
}

.maruhon-breadcrumbs a {
    color: var(--maruhon-blue);
    font-weight: 500;
}

@media (max-width: 768px) {

    .maruhon-breadcrumbs {
        font-size: 3vw;
        margin: 2vw;
        text-align: end;
    }
}

/* スクロールエフェクト */
.fade-in {
    opacity: 0;
    visibility: hidden;
    transition: all 1s;
    transform: translateY(.5vw);
}

.fade-in.is-active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.fade-in.is-active.delay2 {
    transition-delay: .2s;
}

.fade-in.is-active.delay4 {
    transition-delay: .4s;
}