@charset "utf-8";
body {
    counter-reset: num-kodawari 0;
}

h2 {
    /*align-items: center;*/
    position: relative;
    z-index: 1;

    letter-spacing: 0.04em;

    font-family: "游明朝 Demibold", "YuMincho Demibold", serif;
    font-size: 38px;
    line-height: 1.2;
}
h2 span.en {
    display: block;

    padding-bottom: 10px;

    color: #b7975a;
    background-color: inherit;

    font-size: 16px;
}

.title-wrap {
    position: relative;

    text-align: center;
}

@media print, screen and (max-width: 768px) {
    h2 {
        letter-spacing: 0.01em;

        font-size: 22px;
        line-height: 1.6;
    }
    h2 span.en {
        padding-bottom: 2px;

        font-size: 12px;
        line-height: 1;
    }

    .mv-wrap img {
        width: auto;
    }
}


/* Business-list-wrap
========================================================================== */
.business-list-wrap {
    padding: 56px 0 0;
}

.business-list-wrap .title-wrap {
    /* width: 650px; */
    padding-left: 16px;

    text-align: left;

    border-left: 2px solid #b7975a;
}

.business-list-wrap .title-wrap h2 {
    padding-bottom: 20px;
}
.business-list-wrap .title-wrap .sec-title + p {
    font-size: 15px;
    line-height: 1.6;
}

@media print, screen and (max-width: 768px) {
    .business-list-wrap {
        padding: 7.7vw 0 0;
    }

    .business-list-wrap .title-wrap {
        box-sizing: border-box;
        width: 90vw;
        padding-left: 4vw;
    }

    .business-list-wrap .title-wrap h2 {
        padding-bottom: 4.5vw;
    }
    .business-list-wrap .title-wrap .sec-title + p {
        font-size: 14px;
    }
}
/* Service ***TOPと同じ***
========================================================================== */
.service-con {
    margin-top: 100px;
}

.service-con .con-box .con-list {
    padding: 0 35px 0 37px;
}

.service-con .con-top h3 {
    padding: 0;

    text-align: left;
}

.service-con .con-box .con-list {
    margin-top: 96px;
}

.service-con .con-box .con-list h2,
.service-con .con-box .con-list h3 {
    display: block;

    padding-top: 0;
    padding-bottom: 33.5px;

    text-align: center;

    font-family: YuMincho, "Yu Mincho", serif;
    font-size: 20px;
    font-weight: 500;
}

.service-con .con-box .con-list .con-item + .con-item {
    margin-top: 56px;
}

.service-con .con-box .con-list dl dt h3 {
    padding: 0;

    font-size: 13px;
}
.service-con .con-box .con-list dl dt:before {
    margin-right: 10px;
}
.service-con .con-box .con-list dl dt:after {
    margin-left: 10px;
}

.service-con .con-box .con-list dl dd ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
}

#solution.service-con .con-box .con-list dl dd ul {
    justify-content: center;
}

.service-con .con-box .con-list dl dd ul li {
    /* width: 174px;
    margin-right: 64px; */
    width: calc(100% / 5);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
}
.service-con .con-box .con-list dl.two-list dd ul li {
    width: calc(100% / 2);
}
.service-con .con-box .con-list dl.three-list dd ul li {
    width: 174px;
}

#solution.service-con .con-box .con-list dl dd ul li {
    width: 223px;
    margin-right: 33px;
}

.service-con .con-box .con-list .over dl dd ul li:nth-child(5n),
.service-con .con-box .con-list dl dd ul li:last-child {
    margin-right: 0;
}

.service-con .con-box .con-list .over dl dd ul li:nth-child(n + 6) {
    margin-top: 22px;
}

.service-con .con-box .con-list dl dd ul li img {
    width: 174px;
    margin: auto 0;
}
.service-con .con-box .con-list dl dd ul li.thailand_5 img {
    width: 119px;
}
.service-con .con-box .con-list dl dd ul li.thailand_6 img {
    width: 103px;
}
.service-con .con-box .con-list dl dd ul li.taiwan_1 img {
    width: 113px;
}
.service-con .con-box .con-list dl dd ul li.america_1 img {
    width: 131px;
}

.service-con .con-box .con-list dl dd ul li p {
    margin-top: 16px;

    text-align: center;

    font-size: 15px;
    font-feature-settings: "palt";
}

.service-con .con-box .con-list dl dd ul + p {
    margin-top: 27px;

    text-align: center;

    font-size: 14px;
}
.service-con .con-box .con-list .column2_wrap {
    display: flex;
    justify-content: space-between;
}
.service-con .con-box .con-list dl.two-list {
    width: 442px;
    justify-content: flex-start;
}
.service-con .con-box .con-list dl.three-list {
    width: 654px;
}

@media print, screen and (max-width: 768px) {
    .service-con {
        margin-top: 30.9vw;
    }

    .service-con .con-title {
        position: relative;
    }

    .service-con .con-title .text {
        position: absolute;
        top: 16.5%;

        width: 100%;

        color: #ffffff;
    }

    .service-con .con-title .text .inner {
        display: block;

        box-sizing: border-box;
        padding: 0 5.95vw;
    }
    .service-con .con-title .text h2 {
        display: block;

        padding-left: 0;

        font-size: 2rem;
        line-height: 1;
    }

    .service-con .con-title .text h2 span {
        display: block;

        margin-top: 1vw;

        letter-spacing: 0.03em;

        font-size: 1.5rem;
    }
    .service-con .con-title .text p {
        width: 100%;
        padding-top: 9.8vw;
        padding-right: 0;

        letter-spacing: 0.01em;

        font-size: 1.3rem;
        line-height: 1.76;
    }
    #sales.service-con .con-title .text p {
        padding-top: 8vw;
    }
    .service-con .con-box .con-top,
    .service-con .con-box .con-list {
        padding: 0;
    }
    .service-con .con-box .con-top {
        display: block;

        padding-top: 10.8vw;
    }

    #ryotei.service-con .con-box .con-top {
        padding-top: 10.7vw;
    }

    .service-con .con-box .con-top .left {
        width: 100%;
    }

    #onlinestore.service-con .con-box .con-top .left,
    #ryotei.service-con .con-box .con-top .left {
        width: 100%;
    }
    .service-con .con-top h3 {
        padding: 0;

        text-align: left;

        line-height: 1.8;
    }
    .service-con .con-top .right img {
        width: 56.664vw;
    }
    #ryotei.service-con .con-top .right img {
        width: 56.64vw;
        margin-top: 0;
    }

    .service-con .con-top .right h3 + p {
        margin-top: 4vw;
    }

    .service-con .con-box .con-top .right {
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: space-between;

        margin-top: 4.64vw;
        margin-left: 0;
    }

    .service-con .con-box .con-top.flex-reverse .right {
        align-items: flex-end;

        margin-right: 0;
        margin-left: 0;
    }

    #ryotei.service-con .con-box .con-top.flex-reverse .right {
        align-items: normal;
    }

    .service-con .con-box .con-top .right dl {
        display: flex;
    }

    .service-con .con-box .con-top .right dl dt {
        margin-right: 3.5vw;

        letter-spacing: 0;

        font-size: 1.2rem;
        line-height: 1.8;
    }
    .service-con .con-box .con-top .right dl dt .ttl-line {
        padding-left: 1.8vw;
    }
    .service-con .con-box .con-top .right dl dt .ttl-line::before,
    .service-con .con-box .con-top .right dl dt .ttl-line::after {
        left: 1vw;
    }
    .service-con .con-box .con-top .right dl dd {
        padding-bottom: 4.2vw;
    }
    .service-con .con-box .con-top .right dl dd .name {
        font-size: 1.5rem;
    }

    .service-con .con-box .con-top .right dl dd .name span {
        font-size: 1.2rem;
        line-height: 1.8;
    }

    .service-con .con-box .con-top .right dl dd .text {
        margin-top: 19.5px;

        font-size: 1.3rem;
        line-height: 1.7;
    }

    .service-con .con-box .con-top .btn {
        margin: 8vw auto 0;
    }
    .service-con .con-box .con-top .btn + .btn {
        margin-top: 4vw;
    }

    .service-con .con-box .con-top .btn-wrap {
        display: block;

        margin-top: 7.2vw;
        margin-bottom: 26.6vw;
    }

    .service-con .con-box .con-list {
        margin-top: 25.8vw;
    }

    .service-con .con-box .con-list h2,
    .service-con .con-box .con-list h3 {
        padding-bottom: 4.2vw;

        font-size: 1.5rem;
    }

    .service-con .con-box .con-list .con-item + .con-item,
    .service-con .con-box .con-list .con-item dl + dl {
        margin-top: 10.6vw;
    }

    .service-con .con-box .con-list dl dt h3 {
        font-size: 1.1rem;
    }

    .service-con .con-box .con-list dl dd {
        position: relative;
    }
    .service-con .con-box .con-list dl dd ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;

        margin: 0 1.6vw;
    }

    #solution.service-con .con-box .con-list dl dd ul {
        align-items: flex-end;
        justify-content: space-between;
    }

    .service-con .con-box .con-list dl dd ul li,
    .service-con .con-box .con-list dl.two-list dd ul li,
    .service-con .con-box .con-list dl.three-list dd ul li {
        width: 27.6vw;
        margin-right: 2vw;
        margin-bottom: 4.3vw;
    }

    #solution.service-con .con-box .con-list dl dd ul li {
        width: 47%;
        margin-right: 0;
    }

    .service-con .con-box .con-list .over dl dd ul li:nth-child(5n),
    .service-con .con-box .con-list dl dd ul li:last-child {
        margin-right: 2vw;
    }
    .service-con .con-box .con-list dl dd ul li:nth-child(3n) {
        margin-right: 0;
    }

    .service-con .con-box .con-list .over dl dd ul li:nth-child(n + 6) {
        margin-top: 0;
    }

    .service-con .con-box .con-list dl dd ul li img,
    .service-con .con-box .con-list dl dd ul li.thailand_5 img,
    .service-con .con-box .con-list dl dd ul li.thailand_6 img,
    .service-con .con-box .con-list dl dd ul li.taiwan_1 img,
    .service-con .con-box .con-list dl dd ul li.america_1 img {
        width: 16.23vw;
    }

    .service-con .con-box .con-list dl dd ul li p {
        margin-top: 18px;

        text-align: center;

        font-size: 9px;
    }

    .service-con .con-box .con-list dl dd ul + p {
        position: absolute;
        right: 0;
        bottom: 0;

        width: 27.6vw;
        margin-top: 0;

        text-align: center;

        font-size: 0.9rem;
    }
    .service-con .con-box .con-list .column2_wrap {
        display: block;
    }
    .service-con .con-box .con-list dl.two-list,
    .service-con .con-box .con-list dl.three-list {
        width: 100%;
    }
}

/* 地図
========================================================================== */
.business-list-con .map {
    position: relative;
    display: flex;

    width: 700px;
    margin: 95px auto;
}
.business-list-con .map p.text {
    letter-spacing: 0.3em;

    font-family: "游明朝 Demibold", "YuMincho Demibold", serif;
    font-size: 20px;
    line-height: 3.5;
}
.business-list-con .map p.date {
    position: absolute;
    font-size: 14px;
    right: 0;
    bottom: 68px;
}
@media print, screen and (max-width: 768px) {
    .business-list-con .map {
        position: relative;

        display: block;

        width: 90vw;
        margin: 95px auto;
        padding-bottom: 46vw;
    }
    .business-list-con .map p.text {
        display: flex;
        margin-left: 8vw;

        letter-spacing: 0.25em;

        font-size: 13px;
    }
    .business-list-con .map p span {
        display: block;
        min-height: 75vw;
    }
    .business-list-con .map p.date {
        font-size: 12px;
        right: 5.3vw;
        bottom: 12.8vw;
    }
    .business-list-con .map-img {
        position: absolute;
        bottom: 0;
        left: 0;

        width: 86.6vw;
    }
}

/* Kodawari
========================================================================== */
.kodawari-wrap {
    margin-top: 100px;
}
.kodawari-con {
    margin-top: 46px;
}
.kodawari-item {
    display: flex;
    justify-content: flex-start;

    margin-bottom: 100px;
}
.kodawari-item:nth-of-type(even) {
    justify-content: space-between;

    margin-left: auto;
}
.kodawari-item .kodawari-thumbnail {
    width: 620px;
    margin-left: -82px;
}
.kodawari-item:nth-of-type(even) .kodawari-thumbnail {
    order: 2;

    margin-right: -82px;
    margin-left: 0;
}
.kodawari-item .kodawari-detail {
    width: 50%;
    margin: 0 0 0 60px;
}
.kodawari-item:nth-of-type(even) .kodawari-detail {
    box-sizing: border-box;
    width: 52%;
    margin: 0;
    padding: 0 0 0 37px;
}
.kodawari-item .kodawari-detail h3 {
    margin-bottom: 20px;
    padding-left: 86px;

    text-align: left;

    color: #b7975a;

    font-family: "游明朝 Demibold", "YuMincho Demibold", serif;
    font-size: 33px;
    line-height: 1.6;
}
.kodawari-item .kodawari-detail h3::before {
    display: block;
    float: left;

    width: 77px;
    height: 39px;
    margin-top: 5px;
    margin-left: -86px;

    content: counter(num-kodawari) " ";
    counter-increment: num-kodawari 1; /* number カウンタの増加数をセット */
    text-align: center;

    color: #ffffff;
    background-image: url(/images/oroshi/icn-kodawari.png);
    background-repeat: no-repeat;
    background-size: contain;

    font-family: "Times New Roman", Times, serif;
    font-size: 24px;
}
.kodawari-item .kodawari-detail p {
    font-size: 19px;
    line-height: 1.78;
    font-family: "游明朝 Demibold", "YuMincho Demibold", serif;
}
@media print, screen and (max-width: 768px) {
    .kodawari-wrap {
        margin-top: 25vw;
    }
    .kodawari-con {
        margin-top: 7.2vw;
    }

    .kodawari-wrap .title-wrap {
        margin-bottom: 7.2vw;
    }

    .kodawari-item {
        display: block;

        margin-bottom: 13.3vw;
    }
    .kodawari-item:nth-of-type(even) {
        margin-left: 0;
    }
    .kodawari-item .kodawari-thumbnail {
        width: 100vw;
        margin-left: -5vw;
    }
    .kodawari-item:nth-of-type(even) .kodawari-thumbnail {
        margin-right: 0;
        margin-left: -5vw;
    }
    .kodawari-item .kodawari-detail,
    .kodawari-item:nth-of-type(even) .kodawari-detail {
        width: 100%;
        margin: 0;
        padding: 0;
    }
    .kodawari-item .kodawari-detail h3 {
        margin: 5.2vw 0 6.4vw;
        padding-left: 15.2vw;

        font-size: 20px;
        line-height: 1.55;
    }
    .kodawari-item .kodawari-detail h3::before {
        width: 13.3vw;
        height: 6.9vw;
        margin-top: 5px;
        margin-left: -15.2vw;

        font-size: 12px;
        line-height: 2.2;
    }
    .kodawari-item .kodawari-detail p {
        font-size: 14px;
        line-height: 2.1;
    }
}



/* Case study
========================================================================== */
.case_study-wrap {
    margin-top: 69px;
    padding-bottom: 90px;

    background-color: #fff8ef;
}

.case_study-wrap .title-wrap {
    padding: 50px 0 49px;

    color: #ffffff;
    background-color: #b7975a;
}
.case_study-wrap .title-wrap h2 span.en {
    color: #ffffff;
}

.case_study-box {
    box-sizing: border-box;
    margin-top: 90px;
    padding: 73px 76px;

    background-color: #ffffff;
}
.case_study-box.column2_wrap {
    display: flex;
    justify-content: space-between;
}

.case_study-box h3 {
    display: flex;
    align-items: center;

    padding: 0;

    letter-spacing: 0.1em;

    font-family: "游明朝 ミディアム", "YuMincho Medium", YuMincho, "Yu Mincho", serif;
    font-size: 33px;
    font-weight: 500;
    line-height: 1;
}
.case_study-box h3::before {
    width: 40px;
    height: 40px;
    margin-right: 15px;

    content: "";

    background: url(/common/images/icn-kamon.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 40px auto;
}

.case_study-box.column2_wrap .case-study-txt {
    width: 47%;
}

.case_study-box h5 {
    margin: 54px 0 23px;

    color: #b7975a;

    font-size: 20px;
    font-weight: 600;
    line-height: 1.6;
    font-feature-settings: "palt";
    letter-spacing: 1px;
}
.case_study-box h5.brackets {
    position: relative;
    left: -8px;
}
.case_study-box h5.brackets::before {
    content: "「";
}
.case_study-box h5.brackets::after {
    content: "」";
}
.case_study-box .case-study-img + h5 {
    margin-top: 0;
}
.case_study-box p {
    font-size: 15px;
    line-height: 1.6;
}

.case_study-box .case-study-img {
    display: flex;
    justify-content: space-between;

    margin: 27px 0 30px;
}
.case_study-box .case-study-img img {
    width: 48%;
}
.case_study-box.column2_wrap .case-study-img {
    display: block;

    width: 510px;
    margin: 0;
}
.case_study-box.column2_wrap .case-study-img img {
    width: 100%;
}
@media print, screen and (max-width: 768px) {
    .case_study-wrap {
        margin-top: 26.6vw;
        padding-bottom: 5.3vw;
    }

    .case_study-wrap .title-wrap {
        padding: 9.3vw 0;
    }

    .case_study-box {
        margin-top: 5.6vw;
        padding: 7.7vw 5.3vw;
    }
    .case_study-box.column2_wrap {
        display: block;
    }

    .case_study-box h3 {
        letter-spacing: 0;

        font-size: 20px;
    }
    .case_study-box h3::before {
        width: 28px;
        height: 28px;
        margin-right: 10px;

        background-size: 28px auto;
    }

    .case_study-box.column2_wrap .case-study-txt {
        width: 100%;
    }

    .case_study-box h5 {
        margin: 3.2vw 0 3.4vw;

        font-size: 15px;
    }
    .case_study-box h5.brackets {
        position: relative;
        left: 0;

        padding-left: 0em;
    }
    .case_study-box h5.brackets::before {
        position: relative;

        display: block;
        float: left;

        width: 1.2em;
        margin-left: -0.8em;

        text-align: center;
    }
    .case_study-box h5.brackets::after {
    }
    .case_study-box .case-study-img + h5 {
        margin-top: 0;
    }
    .case_study-box p {
        font-size: 13px;
        line-height: 1.7;
    }

    .case_study-box .case-study-img {
        display: block;

        margin: 5.8vw 0 7.2vw;
    }
    .case_study-box .case-study-img img {
        width: 100%;
    }
    .case_study-box .case-study-img img + img {
        margin-top: 2.6vw;
    }
    .case_study-box.column2_wrap .case-study-img {
        width: 100%;
        margin: 5.8vw 0 0;
    }
    .case_study-box.column2_wrap .case-study-img img {
        width: 100%;
    }
}


/* Contact
========================================================================== */
.contact-wrap {
    position: relative;
    z-index: 10;

    padding: 56px 0 100px;

    background-color: #b7975a;
}

.contact-wrap h2,
.contact-wrap h2 span {
    color: #ffffff;
}

.contact-wrap p {
    margin: 25px 0 30px;

    text-align: center;

    color: #ffffff;

    font-size: 15px;
    line-height: 1.6;
}
.contact-wrap p.tel {
    margin: 0;

    letter-spacing: 0.03em;

    /* font-family: "游ゴシック Bold", "YuGothic Bold", sans-serif; */
    font-family: MyYuGothicM, YuGothic, sans-serif;
    font-size: 38px;
    font-weight: 600;
}

.contact-wrap ul {
    display: flex;
    justify-content: center;

    width: 1110px;
    margin: 40px auto 0;
}

.contact-wrap ul li {
    width: 535px;
}
.contact-wrap ul li .btn {
    box-sizing: border-box;

    border: 1px solid #ffffff;
    background-color: #ffffff;
}
.contact-wrap ul li .btn:hover {
    background-color: #b7975a;
}

@media print, screen and (max-width: 768px) {
    .contact-wrap {
        padding: 7vw 0 9.8vw;
    }

    .contact-wrap p {
        width: 80vw;
        margin: 10vw auto 6.6vw;

        text-align: left;

        font-size: 13px;
        line-height: 1.7;
    }
    .contact-wrap p.tel {
        margin: 0 auto;

        text-align: center;

        font-size: 22px;
    }
    .contact-wrap p.tel a {
        color: #ffffff;
    }

    .contact-wrap ul {
        display: block;

        width: 80vw;
        margin: 6.4vw auto 0;
    }

    .contact-wrap ul li {
        width: 100%;
    }
    .contact-wrap ul li + li {
        margin-top: 5.3vw;
    }
    .contact-wrap ul li .btn-l a {
        box-sizing: border-box;
        padding: 2.96vw 4vw;

        line-height: 1;
    }
    .contact-wrap ul li .btn-l a::before {
        width: 0;
    }
}

footer {
    position: relative;
    z-index: 10;

    margin-top: 0;
}
