@charset "utf-8";

/*==================================================
common
blue color:#036eb8;
gold color:#4f6378;
==================================================*/

body {
    font-family: gill-sans-nova, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    text-align: center;
    line-height: 1.6;
    background-color: #fff;
    position: relative;
}

* {
    box-sizing: border-box;
    outline: none;
}

h1,
h2,
h3,
h4 {
    font-weight: 500;
}

ul.list {
    margin-left: 1.5em;
}

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

li {
    position: relative;
}

.acblue {
    color: #036eb8;
}

a {
    text-decoration: none;
    color: #000;
}

a:hover {
    color: #000;
}

.inner p a {
    text-decoration: underline;
    color: #036eb8;
}

.en {
    font-family: gill-sans-nova, serif;
}

.title:not(.entry .title) {
    letter-spacing: 0.05em;
}

.normal {
    font-weight: normal !important;
}

.bold {
    font-weight: 700 !important;
}

small {
    font-size: 0.8em;
}

.sml {
    font-size: 0.8em !important;
}

.sml9 {
    font-size: 0.9em !important;
}

.font1 {
    font-size: 1em !important;
}

.font105 {
    font-size: 1.05em !important;
}

.font11 {
    font-size: 1.1em !important;
}

.font12 {
    font-size: 1.2em !important;
}

.pbtm0 {
    padding-bottom: 0 !important;
}

.pbtm1 {
    padding-bottom: 1em !important;
}

.pbtm2 {
    padding-bottom: 2em !important;
}

.pbtm3 {
    padding-bottom: 3em !important;
}

.min {
    font-family: 游明朝, "Hiragino Mincho ProN", "Yu Mincho", YuMincho, メイリオ, Meiryo, sans-serif;
}

.sans-serif {
    font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", 'Noto Sans JP', "メイリオ", Meiryo, sans-serif;
}

.iblock {
    display: inline-block;
}

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

.flex>.wp-block-group__inner-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
}

.flexAround,
.flexAround>.wp-block-group__inner-container {
    justify-content: space-around !important;
}

.flexStart,
.flexStart>.wp-block-group__inner-container {
    justify-content: flex-start !important;
}

.flexEnd,
.flexEnd>.wp-block-group__inner-container {
    justify-content: flex-end !important;
}

.flexCenter,
.flexCenter>.wp-block-group__inner-container {
    justify-content: center !important;
}

/* list */
.w-2 {
    width: 48%;
}

.w-3 {
    width: 32%;
}

.columns-2 ,
.columns-2>.wp-block-group__inner-container{
    gap: 4%;
}

.columns-3 ,
.columns-3>.wp-block-group__inner-container{
    gap: 3.5%;
}

.columns-4 ,
.columns-4>.wp-block-group__inner-container{
    gap: 2%;
}

.columns-5 ,
.columns-5>.wp-block-group__inner-container{
    gap: 2.5%;
}

.columns-6 ,
.columns-6>.wp-block-group__inner-container{
    gap: .8%;
}

.columns-2 li,
.columns-2>.wp-block-group__inner-container>* {
    width: 48%;
}

.columns-3 li,
.columns-3>.wp-block-group__inner-container>* {
    display: block;
    width: 31%;
}

.columns-4 li,
.columns-4>.wp-block-group__inner-container>* {
    display: block;
    width: 23.5%;
}

.columns-5 li,
.columns-5>.wp-block-group__inner-container>* {
    display: block;
    width: 18%;
}

.columns-6 li,
.columns-6>.wp-block-group__inner-container>* {
    width: 16%;
}

.frame {
    border: 1px solid #ddd;
    background-color: #fff;
    padding: 2em;
}

.page-wrp .frame p {
    padding-bottom: 0;
}

.lang {
    margin-bottom: 1em
}

.lang::before {
    content: '';
    display: inline-block;
    width: 1.5em;
    height: 1em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    margin-right: .5em;
    border: 1px solid #ddd
}

.japanese::before {
    background-image: url(../img/jp.png)
}

.vietnamese::before {
    background-image: url(../img/vietnam.png)
}

.indonesia::before {
    background-image: url(../img/indonesia.png)
}

.forSP,
.forSPi {
    display: none;
}

.forPC {
    display: block;
}

.forPCi {
    display: inline-block;
}

.imgMin897,
.imgMax896,
.imgMin641,
.imgMax640,
.imgMin415,
.imgMax414{
    display: none;
}
@media screen and (min-width:897px) {
    .imgMin897{
        display: block;
    }
}
@media screen and (max-width:896px) {
    .imgMax896{
        display: block;
    }
}
@media screen and (min-width:641px) {
    .imgMin641{
        display: block;
    }
}
@media screen and (max-width:640px) {
    .imgMax640{
        display: block;
    }
}
@media screen and (min-width:415px) {
    .imgMin415{
        display: block;
    }
}
@media screen and (max-width:414px) {
    .imgMax414{
        display: block;
    }
}

.has-text-align-left {
    text-align: left;
}

.has-text-align-center {
    text-align: center;
}

.has-text-align-right {
    text-align: right;
}

.white {
    color: #fff;
}

/* note style */

ul.note {
    counter-reset: numlist;
}

ul.numnote {
    counter-reset: numnote;
}

ul.note li {
    padding-left: 1.2em;
    position: relative;
}

ul.note li:not(:last-child) {
    margin-bottom: .3em;
}

ul.numnote li {
    padding-left: 2.2em;
}

ul.note li::before {
    content: '※';
    position: absolute;
    left: 0;
}

ul.numnote li::before {
    content: '※'counter(numnote);
    counter-increment: numnote;
}

ul.numlist li::before {
    content: counter(numlist);
    counter-increment: numlist;
}

ul.discnote li::before {
    content: '●';
    position: absolute;
    left: 0.1em;
    font-size: 1em;
    transform: scale(.7);
    color: #036eb8;
}

/*==============================================================
contents
==============================================================*/
.navi-wrp {
    display: flex;
    justify-content: flex-end;
    padding: 0 15px;
    width: 100%;
}

.navi-wrp .menu-title {
    display: none;
    font-size: 1.2em;
    padding: 2em 0 1em;
}

/* navi with japanese */
.gnavi-menu {
    justify-content: flex-end;
}

.gnavi-menu .navi-list {
    display: inline-block;
    position: static;
}

.gnavi-menu .navi,
.sub-navi-wrp .navi {
    /* padding: 0 1em; */
    padding: 0 1vw;
    text-align: center;
    font-size: 1rem;
    cursor: pointer;
}

.gnavi-menu .navi {
    height: 90px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.gnavi-menu .navi .jp,
.navi-wrp .navi-banner .jp {
    font-size: 0.8rem;
    padding: 0;
    position: relative;
    color: #036eb8;
}


@media screen and (min-width:1025px) {
    /* .navi-wrp {
        display: flex;
        justify-content: flex-end;
        padding: 0 15px;
    } */

    /* @media screen and (max-width:1200px) {
        .gnavi-menu {
            width: 28em;
            padding-right: 1vw;
            align-content: center;
        }

        .gnavi-menu .navi-list{
            width: 25%;
        }

        .gnavi-menu .navi{
            height: 35px;
        }

        .gnavi-menu .navi .jp {
            font-size: 0.75rem;
        }
    } */
}

.gnavi-menu .navi .jp::after,
.sub-navi-wrp .sub-menu .navi-sublist::after {
    content: '';
    display: block;
    width: 0;
    height: 1px;
    background-color: #ed2939;
    position: absolute;
    bottom: -3px;
    left: 50%;
}

.sub-navi-wrp .sub-menu .navi-sublist::after {
    bottom: 0;
}

.gnavi-menu .navi.on>.jp::after,
.gnavi-menu .navi:not(.on):hover>.jp::after,
.sub-navi-wrp .sub-menu .navi-sublist:hover::after {
    width: 100%;
    left: 0;
    transition: all .3s 0s ease;
}

.sub-navi-wrp {
    display: block;
    width: 100%;
    overflow: hidden;
    position: absolute;
    /*     top: calc(100% + 1px); */
    top: 100%;
    left: 0;
    background-color: rgba(255, 255, 255, .96);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transform: scaleY(0);
    transform-origin: top center;
    transition: all .15s 0s ease;
    border-bottom: 1px solid #ddd;
}

.navi.has_menu:hover .sub-navi-wrp {
    opacity: 1;
    visibility: visible;
    transform: scaleY(1);
}

.sub-navi-wrp .sub-menu {
    display: flex;
    justify-content: space-between;
    width: 100%;
    max-width: 1200px;
    padding: 60px 40px;
    margin: 0 auto;
}

.sub-navi-wrp .sub-menu .navi-sublist {
    display: block;
    width: 30%;
    border: 1px solid #ddd;
    background-color: #f9f9f9;
    transition: all .3s 0s ease;
    position: relative;
}

.sub-navi-wrp .sub-menu .navi-sublist .thumb {
    display: block;
    width: 100%;
    padding-bottom: 40%;
    margin-bottom: 10px;
    position: relative;
}

.sub-navi-wrp .sub-menu .navi-sublist .thumb img {
    object-position: center 25%;
}

.sub-navi-wrp .sub-menu .navi-sublist .title-wrp {
    margin-bottom: 1em;
}

.sub-navi-wrp .sub-menu .navi-sublist .jp {
    display: block;
}

.navi-wrp .navi-banner {
    padding: 15px 0;
    margin: 0 5px;
}

.navi-wrp .navi-banner a {
    display: inline-block;
    width: 60px;
    height: 60px;
    /* padding: .5em .8em .6em 2.5em; */
    padding: 3px;
    border: solid 1px #ccc;
}

.navi-wrp .navi-banner.navi-hataraku a {
    padding: 8px;
}

.navi-wrp .navi-banner a img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.navi-wrp .navi-banner .jp {
    color: #222;
    position: relative;
}

.navi-wrp .facebook {
    display: flex;
    justify-content: center;
    align-items: center;
    vertical-align: bottom;
    padding: .5em;
    position: relative;
    z-index: 10;
}

.navi-wrp .facebook img {
    width: 100%;
    max-width: 26px;
    margin: .5em auto;
}

.navi-wrp .facebook .fb-icon {
    opacity: .7;
}

.navi-wrp .facebook .fb-icon::after {
    display: block;
    content: 'FB PAGE';
    text-align: center;
    font-size: .7em;
    color: #036eb8;
}

.navi-wrp .facebook:hover .fb-icon {
    opacity: 1;
}

.gbn-facebook-list {
    position: absolute;
    top: 90%;
    right: 0;
    display: none;
    width: 170px;
    background-color: #fff;
    border: 1px solid #ccc;
    padding: .5em 1em;
    z-index: 3;
}

.navi-wrp .facebook:hover .gbn-facebook-list {
    display: block;
}

.gbn-facebook-list a {
    display: block;
    width: 100%;
    padding: .4em;
    color: #036eb8;
    font-size: .9em;
    text-align: left;
}

.gbn-facebook-list a:hover {
    color: #222;
}

.gbn-facebook-list a:first-child {
    border-bottom: 1px solid #ccc;
}


/*--------------- header area ---------------*/
.header {
    display: flex;
    align-items: center;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, .98);
    z-index: 100;
    border-bottom: 1px solid #ddd;
}

.header .header-logo {
    display: block;
}

.header .header-logo .logo {
    display: block;
    height: 90px;
    padding: 18px 20px;
}

@media screen and (max-width:1024px) {
    .header .header-logo .logo {
        height: 70px;
        padding: 15px;
    }
}

.header .header-logo .logo img {
    height: 100%;
    width: auto;
}

.header .menu-btn {
    display: none;
    position: absolute;
    top: 17px;
    right: 20px;
}

.header .menu-btn::before {
    display: block;
    position: absolute;
    width: 4.5em;
    top: 5px;
    left: -5em;
    font-size: 0.8em;
    text-align: center;
}


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

    /*--------------- navi ---------------*/
    .header .menu-btn {
        display: block;
    }

    html.menuFixed {
        overflow: hidden;
        width: 100%;
        height: 100%;
    }

    .navi-wrp {
        display: none;
        width: 100%;
        height: calc(100vh - 70px);
        order: 1;
        position: fixed;
        top: 0;
        right: 0;
        background-color: rgba(255, 255, 255, 98);
        z-index: 99;
        transform: translateY(70px);
    }

    .navi-wrp .menu-title {
        display: block;
        width: 100%;
        font-size: 1.2em;
        padding: 5vh 0 8vh;
    }

    .gnavi-menu {
        justify-content: center;
        align-content: flex-start;
        margin-bottom: 2em;
    }

    .gnavi-menu .navi {
        height: auto;
        padding: .7em;
    }

    .gnavi-menu .navi.has_menu {
        flex-direction: column;
        padding: 1.8em .7em .7em;
    }

    @media (max-width:767px) {
        .navi-wrp .facebook {
            display: inline-block;
            width: 12rem;
            margin: 2vh 1.5em 0;
            order: 8;
        }

        .navi-wrp .facebook span {
            display: block;
            margin-bottom: .5em;
            /* font-size: .8em;
            font-size: min(1.8vw, .8em); */
        }
    }

    @media (min-width:461px) {
        .navi-list {
            width: 20%;
        }

        .navi-list.navi-services {
            width: 100%;
            order: 6;
        }

        .navi-list.navi-access,
        .navi-list.navi-contact {
            width: 12rem;
            margin: 3.5em 1.5em 0;
            order: 7;
        }

        .navi-list.navi-access .navi,
        .navi-list.navi-contact .navi {
            border: solid 1px #ddd;
        }

        .navi-list.navi-news .navi .jp::before,
        .navi-list.navi-about .navi .jp::before,
        .navi-list.navi-values .navi .jp::before,
        .navi-list.navi-recipe .navi .jp::before {
            content: '';
            display: block;
            width: 100%;
            height: 1px;
            background-color: #ddd;
            position: absolute;
            bottom: -3px;
            left: 0;
        }
    }

    .sub-menu.flex {
        display: block;
    }

    .sub-navi-wrp {
        padding: 0;
        position: static;
        opacity: 1;
        visibility: visible;
        transform: scaleY(1);
        background-color: transparent;
        border-bottom: 0;
    }

    .sub-navi-wrp .sub-menu {
        padding: 1em 2% 0;
        display: flex;
    }

    .sub-navi-wrp .sub-menu .navi-sublist {
        width: 32%;
        font-size: .85em;
    }

    .sub-navi-wrp .sub-navi .jp {
        font-size: .8rem;
    }

    .gnavi-menu .navi.has_menu .jp::after {
        content: none;
    }

    .navi-wrp .navi-banner {
        width: 12rem;
        display: inline-block !important;
        padding: 0 0 0.8em;
        margin: 0 1.5em;
        vertical-align: bottom;
    }

    .navi-wrp .navi-banner a {
        width: 100%;
    }
}

/*--------------- main ---------------*/

.main-contents {
    display: block;
    width: 100%;
}

.contents {
    padding-top: 80px;
}

.wp-block-group__inner-container {
    /* height: 100%; */
    /* height: auto; */
}

.inner_box>.wp-block-group__inner-container {
    width: 100%;
    height: auto;
    max-width: 1080px;
    padding: 50px 20px;
    margin: 0 auto;
}

.inner,
.inner_bg>.wp-block-group__inner-container {
    width: 100%;
    margin: 0 auto;
    max-width: 1280px;
    padding: 40px;
}

.inner.inner800w,
.inner_bg.inner800w>.wp-block-group__inner-container {
    max-width: 800px;
}

.inner.inner1024w,
.inner_bg.inner1024w>.wp-block-group__inner-container {
    max-width: 1024px;
}

.title-wrp {
    margin-bottom: 2em;
}

.title {
    display: block;
    width: 100%;
    text-align: center;
    margin: 0 auto 1em;
    padding: 1em 0;
    font-size: 1.5em;
    color: #222;
}

.title-jp {
    padding: 0;
    font-size: 1.1em;
    color: #4f6378;
}

.column-title {
    font-size: 1.2em;
    margin-bottom: 1em;
}

.abox {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.abox a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}


/*--------------- entry list ---------------*/

.entry-list {
    margin: 0 auto;
}

.entry-list .article {
    padding: 20px;
    margin-bottom: 3%;
    position: relative;
    background-color: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
}

.entry-list .article .thumb {
    width: 100%;
    padding-bottom: 100%;
    position: relative;
    background-color: #f9f9f9;
}

.entry-meta-wrp {
    padding: 1em .5em 0;
    text-align: left;
}

.entry-title {
    font-size: 0.9em;
    line-height: 1.6;
    font-weight: normal;
}

.cat {
    display: inline-block;
    padding: 0.25em 1.5em !important;
    margin-bottom: 1em;
    margin-right: 1em;
    font-size: 0.7em;
    color: #036eb8;
    border: 1px solid #036eb8;
}

.postdate {
    display: inline-block;
    font-size: 0.9em;
    padding-bottom: 0.5em;
}

.news .postdate,
.news-wrp .postdate {
    color: #036eb8
}

.custompost .thumb {
    display: block;
    width: 100%;
    padding: 0;
    padding-bottom: 56%;
    position: relative;
    overflow: hidden;
    margin-bottom: 1em;
}

.thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    font-family: 'object-fit: cover;';
    position: absolute;
    top: 0;
    left: 0;
}

/*--------------- new badge ---------------*/
.new-badge {
    display: inline-block;
    background-color: #e34b4b;
    color: #fff;
    font-size: .6em;
    line-height: 1.4;
    padding: .5em 1em .3em;
    margin-right: 1.2em;
    vertical-align: middle;
}

/*--------------- more ---------------*/
.more-btn {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #000;
    color: #fff;
    padding: 0.5em;
    width: 5em;
    height: 5em;
    margin: 30px auto 60px;
    font-size: 0.8em;
    border-radius: 100%;
    position: relative;
}

.more-btn::after {
    content: '';
    position: absolute;
    bottom: 12px;
    left: calc(50% - 5px);
    width: 10px;
    height: 10px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(135deg);
}

.more-wrp {
    padding: 30px 0 60px;
}

.more-wrp a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 6em;
    height: 6em;
    color: #222;
    border: 1px solid;
    border-radius: 100%;
    margin: 0 auto;
    font-size: 0.8em;
    position: relative;
}

.more-wrp a::after {
    content: '';
    width: 0.8em;
    height: 0.8em;
    border-top: 1px solid;
    border-right: 1px solid;
    position: absolute;
    bottom: 1em;
    left: calc(50% - 0.4em);
    transform: rotate(135deg);
}

.more-wrp a:hover {
    color: #e75400;
    border-color: #e75400;
}


/*--------------- btn ---------------*/

.btn {
    display: inline-block;
    position: relative;
    margin: 2em auto;
    padding: 0 !important;
}

.btn.btn-center {
    display: block;
    width: 100%;
    margin: auto;
}

.btn.has-text-align-center {
    text-align: center;
}

.btn a {
    display: inline-block;
    position: relative;
    padding: .75em 3em;
    text-decoration: none !important;
    font-size: .9em;
    border: 1px solid;
}

.btn.btn-center a {
    width: 100%;
    max-width: 320px;
}

.btn-wrp .wp-block-group__inner-container {
    display: block;
    width: 100%;
    text-align: center;
    margin: 2em auto 5em;
}

.btn.entry-btn a {
    padding: 1em 3em;
    min-width: 300px;
    font-size: 1em;
    background-color: #036eb8;
    color: #fff;
}

@media screen and (max-width:640px) {
    .btn a {
        font-size: 1em;
    }
}

/*--------------- sitemap ---------------*/
#sitemap {
    background: linear-gradient(#3d7fb0, #1b4a98);
}

#sitemap h2 {
    display: none;
}

#sitemap .flex {
    width: 100%;
    max-width: 880px;
    margin: 0 auto;
    justify-content: space-between;
}

#sitemap ul {
    border-left: solid 1px rgba(255, 255, 255, .5);
    padding-left: 4%;
}

#sitemap ul.col-service::before {
    display: block;
    content: '事業案内';
    color: rgba(255, 255, 255, .85);
    text-align: left;
}

#sitemap ul li {
    text-align: left;
}

#sitemap ul.col-service li {
    padding-left: .5em;
}

#sitemap ul li a {
    display: block;
    color: #fff;
    white-space: nowrap;
    transition: all .2s 0s ease;
}

#sitemap ul.col-service::before,
#sitemap ul li a {
    padding: .4em;
    font-size: min(.85em);
}

#sitemap ul li a:hover {
    color: #bbc;
}


/*--------------- footer ---------------*/
#footer {
    text-align: center;
    width: 100%;
    background-color: #222;
    position: relative;
    padding: 40px;
}

#footer.footer .footer_policy {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 980px;
    padding: 10px;
    margin: 0 auto;
}

#footer.footer .footer_policy a {
    color: #fff;
    display: inline-block;
    font-size: 0.8em;
    padding: .5em 1em;
}

#footer.footer .footer_policy a:hover {
    color: #ccc;
}

#footer .copyright {
    display: block;
    font-size: 0.7em;
    padding: 1em;
    color: #fff;
}

/*lbox bg */
.lbox-bg {
    display: none;
    width: 100vw;
    height: 100vh;
    position: fixed;
    z-index: 11;
    background-color: rgba(0, 0, 0, 0.8);
    top: 0;

    animation: fadeout 0.3s ease;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    left: 0;
}

.lbox-bg.on {
    display: block;

    animation: fadein 0.3s ease;
    animation-delay: 0s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}


/*--------------- 404 ---------------*/

#container .index-main.not-found {
    padding: 80px 0;
    text-align: center;
}

#container .index-main.not-found .page-title {
    display: block;
    width: 100%;
    text-align: center;
    font-size: 1.6em;
    padding-top: 40px;
    color: #222;

}

#container .not-found .message {
    text-align: center;
    padding: 20px 0 40px;
    color: #666;
    font-size: 0.8em;
    line-height: 1.8em;
    letter-spacing: 0.05em;
}

#container .backtohome {
    text-align: center;
    font-size: 0.9em;
    display: inline-block;
}


/*==============================================================
smartphone
==============================================================*/

@media print {

    .forSP,
    .forSPi {
        display: none;
    }
}

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

    /* @media screen and (max-width:767px) { */
    .forSP {
        display: block;
    }

    .forPC {
        display: none;
    }

    .spBlock {
        display: block;
    }

    body:not(.home) {
        padding-top: 70px;
    }

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

        @media screen and (max-width:320px) {
            body {
                font-size: 13px;
            }
        }
    }

    .flexCenter>.wp-block-group__inner-container {
        justify-content: space-between !important;
    }

    .columns-2 ,
    .columns-2>.wp-block-group__inner-container{
        gap: 0;
    }

    .columns-3 ,
    .columns-3>.wp-block-group__inner-container ,
    .columns-4 ,
    .columns-4>.wp-block-group__inner-container{
        gap: 4%;
    }

    .columns-5 ,
    .columns-5>.wp-block-group__inner-container ,
    .columns-6 ,
    .columns-6>.wp-block-group__inner-container{
        gap: 3.5%;
    }

    .columns-2 li,
    .columns-2>.wp-block-group__inner-container>* {
        width: 100%;
    }

    .columns-3 li,
    .columns-3>.wp-block-group__inner-container>* ,
    .columns-4 li,
    .columns-4>.wp-block-group__inner-container>* {
        width: 48%;
    }

    .columns-5 li,
    .columns-5>.wp-block-group__inner-container>* ,
    .columns-6 li,
    .columns-6>.wp-block-group__inner-container>* {
        width: 31%;
    }

    @media screen and (max-width:460px) {
        .columns-3 li,
        .columns-3>.wp-block-group__inner-container>* {
            width: 100%;
        }
    }

    @media screen and (max-width:767px) {
        .wp-block-spacer {
            height: 10vw !important;
            max-height: 60px;
        }
    }

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

        /*--------------- navi ---------------*/
        .navi-wrp {
            padding-bottom: 20vw;
            overflow: auto;
        }

        .navi-wrp .menu-title {
            padding: 0 0 1.5vh;
        }

        .gnavi-menu {
            width: 75%;
            min-width: 18em;
            margin: 0 auto;
            overflow: auto;
        }

        .gnavi-menu .navi {
            display: block;
            height: auto;
            margin-top: .5vh;
            padding: .4em 0 .2em;
            border-bottom: solid 1px #ddd;
            text-align: left;
            position: relative;
        }

        .gnavi-menu .navi:not(.has_menu)::before,
        .sub-navi-wrp .sub-menu .navi-sublist .sub-navi::before {
            content: '';
            width: .4em;
            height: .4em;
            border-top: 1px solid;
            border-right: 1px solid;
            border-color: #036eb8;
            position: absolute;
            top: calc(50% - 0.05em);
            right: .5em;
            transform: rotate(45deg);
        }

        .gnavi-menu .navi .jp::after,
        .sub-navi-wrp .sub-menu .navi-sublist::after {
            content: none;
        }

        .navi-list {
            width: 100%;
        }

        .gnavi-menu .navi.has_menu {
            padding: .5em 0 0;
            border-bottom: 0;
        }

        .sub-navi-wrp {
            padding: 0;
        }

        .sub-navi-wrp .sub-menu {
            padding: 0;
            padding-left: 1em;
        }

        .sub-navi-wrp .sub-menu .navi-sublist {
            width: 100%;
            margin: 0 auto 0;
            border: 0;
            background-color: transparent;
        }

        .sub-navi-wrp .sub-menu .navi-sublist .sub-navi {
            display: block;
            margin-top: .5em;
            padding: .5em 0 .2em;
            border-bottom: solid 1px #ddd;
        }

        .sub-navi-wrp .sub-menu .navi-sublist .thumb {
            display: none;
        }

        .sub-navi-wrp .sub-navi .jp {
            font-size: .8rem;
        }

        .sub-navi-wrp .sub-menu .navi-sublist .thumb {
            margin-bottom: 0;
        }

        .sub-navi-wrp .sub-menu .navi-sublist .title-wrp {
            margin-bottom: 0;
            align-self: center;
        }

        .navi-list.navi-services {
            order: initial;
        }

        .navi-wrp .navi-banner {
            margin: 5vh auto 0;
            width: 42%;
        }
    }

    .navi-wrp .navi-banner {
        margin-top: 2em;
    }

    .navi-wrp .navi-banner a {
        height: auto;
        height: 110px;
        font-size: .86em;
    }

    .navi-wrp .navi-banner a img {
        width: 60px;
        height: 60px;
        object-fit: contain;
    }

    /*--------------- main ---------------*/
    .contents {
        padding-top: 0;
    }

    .inner,
    .inner_bg>.wp-block-group__inner-container,
    .inner.inner800w,
    .inner.inner1024w {
        width: 100%;
    }

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

        .inner,
        .inner_bg>.wp-block-group__inner-container,
        .inner.inner800w,
        .inner.inner1024w {
            padding: min(10vw, 40px) min(7vw, 40px);
        }
    }

    .archive .inner {
        padding: 5vw;
    }

    .title {
        font-size: 1.25em;
    }

    @media screen and (max-width:480px) {
        .entry-list .article {
            width: 100%;
            padding: 5vw;
            margin-bottom: 5vw;
        }
    }

    /* common list box */
    .entry-list {
        width: 86vw;
    }

    .entry-list .article .thumb {
        padding-bottom: 65%;
    }

    .entry-title {
        font-size: 1em;
    }

    /*--------------- sitemap ---------------*/

    #sitemap ul {
        padding-left: 3%;
    }

    @media screen and (max-width:767px) {
        #sitemap .flex {
            flex-direction: column;
            flex-wrap: wrap;
            justify-content: flex-start;
        }

        #sitemap .flex {
            height: 12.5em;
        }

        #sitemap ul {
            width: 38%;
            padding-right: 0 !important;
        }

        #sitemap ul:nth-child(n+3) {
            width: 62%;
        }

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

            #sitemap ul.col-service::before,
            #sitemap ul li a {
                font-size: min(.8em, 3.2vw);
            }
        }
    }

}

.hide {
    display: none !important;
}