@charset "UTF-8";

/*=====================================
    mixin
=======================================*/

@media screen and (max-width: 576px) {
    .is-pc {
        display: none !important;
    }
}

@media screen and (max-width: 992px) {
    .is-pc2 {
        display: none;
    }
}

@media screen and (min-width: 577px) {
    .is-sp {
        display: none !important;
    }
}

@media screen and (min-width: 993px) {
    .is-sp2 {
        display: none;
    }
}


/*=====================================
共通
=======================================*/

.start {
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 9000;
}

.start p {
    position: fixed;
    left: 50%;
    top: 24%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    display: none;
    z-index: 9999;
    max-width: 330px;
    width: 100%;
}

@media screen and (max-width: 576px) {
    .start p {
        top: 44%;
    }
}

body {
    background-color: #fff;
    color: #000;
    font-family: 'Noto Serif JP', sans-serif;
}

.section_title {
    max-width: 300px;
    width: 100%;
    text-align: center;
    position: relative;
    margin: 0 auto;
}

.section_title::after {
    content: "";
    background: url(../img/farm/heading_line.png) no-repeat center center/cover;
    width: 100%;
    height: 48px;
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
}

@media screen and (max-width: 576px) {
    .section_title::after {
        width: 200px;
        height: 32px;
    }
}


/*=====================================
header
=======================================*/

.header {
    width: 100%;
    position: absolute;
    top: 3%;
    left: 0;
    right: 0;
    margin: auto;
    height: 30px;
    z-index: 1000;
}

.header_logo {
    width: 80px;
    display: block;
}

.header_wrapper {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .header_wrapper {
        display: none;
    }
}

.header_wrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.header_wrapper ul li {
    list-style-type: none;
    margin-right: 6px;
    padding-left: 20px;
    text-align: center;
    height: 20px;
    line-height: 20px;
}

.header_wrapper ul li a {
    color: #fff;
    font-size: 1.6rem;
}

.header_img {
    display: block;
    max-width: 200px;
    width: 100%;
}

@media screen and (max-width: 992px) {
    .header_img {
        margin: 0 auto;
    }
}

@media screen and (max-width: 576px) {
    .header_img {
        max-width: 150px;
    }
}

.header_facebook {
    max-width: 10px;
    width: 100%;
    margin: 0 auto;
}


/*=====================================
main
=======================================*/

.main {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media screen and (max-width: 576px) {
    .main {
        height: 450px !important;
    }
}

.swiper-container {
    position: relative;
    width: 100%;
    height: 100%;
}

.swiper-container::after {
    content: '';
    background-color: rgba(0, 0, 0, .3);
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
}

.swiper-slide img {
    display: block;
    height: 100%;
}

@media screen and (max-width: 576px) {
    .swiper-slide img {
        -o-object-fit: cover;
        object-fit: cover;
    }
}

.main_text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
    z-index: 100;
    text-align: center;
    width: min(70vw, 40rem);
}

.main_text p {
    font-size: 4rem;
    color: #fff;
    letter-spacing: 5px;
    font-weight: bold;
}

.main_text p span {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .main_text p {
        font-size: 3rem;
    }
}

.main_text_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 30px;
}

.main_text_wrap p {
    padding: 20px;
}

@media screen and (max-width: 576px) {
    .main_text_wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.main_img {
    display: block;
    max-width: 80px;
    width: 100%;
}

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


/* 前ページ、次ページボタン共通のスタイル */

.swiper-button-prev,
.swiper-button-next {
    background-size: 48px 48px;
    /* 背景画像としてのサイズ（＝表示したい画像サイズ） */
    margin-top: -24px;
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size) / 44 * 27);
    height: var(--swiper-navigation-size);
    width: 48px;
    height: 48px;
    margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
    z-index: 10;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color));
    margin-top: -24px;
}

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

    .swiper-button-prev,
    .swiper-button-next {
        width: 30px;
        height: 30px;
        background-size: cover;
    }
}

.swiper-button-prev:after,
.swiper-button-next:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    text-transform: none;
    font-variant: initial;
}

.swiper-button-prev:after,
.swiper-container-rtl .swiper-button-next:after {
    content: "";
}

.swiper-button-next:after,
.swiper-container-rtl .swiper-button-prev:after {
    content: "";
}

.swiper-button-next {
    background-image: url(../img/sales/arrow_next.png);
}

.swiper-button-prev {
    background-image: url(../img/sales/arrow_prev.png);
}


/*===========================
FVの下
=============================*/

.main_bottom {
    max-width: 700px;
    width: 100%;
    margin: 0 auto;
    padding: 100px 0;
}

.main_bottom_logo {
    max-width: 200px;
    width: 100%;
    margin: 50px auto 70px;
    display: block;
}


/*===========================
can
=============================*/

.can {
    background-color: #F9F8F8;
    padding: 100px 0;
}

@media screen and (max-width: 576px) {
    .can {
        padding: 50px 0;
    }
}

.can_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.can_wrapper img {
    max-width: 150px;
    width: 100%;
}

@media screen and (max-width: 768px) {
    .can_wrapper {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        text-align: center;
    }

    .can_wrapper img {
        margin-bottom: 20px;
        max-width: 100px;
    }
}

.can_text {
    padding-left: 50px;
    color: #22304F;
    letter-spacing: 3px;
}

@media screen and (max-width: 768px) {
    .can_text {
        padding-left: 0;
    }
}

@media screen and (max-width: 576px) {
    .can_text {
        width: 90%;
        margin: 0 auto;
    }
}

.can_title {
    font-size: 2.4rem;
}

@media screen and (max-width: 576px) {
    .can_title {
        font-size: 2.4rem;
    }
}

.can_subtitle {
    font-size: 4rem;
    font-weight: bold;
}

@media screen and (max-width: 768px) {
    .can_subtitle {
        font-size: 1.6rem;
        margin-top: 20px;
    }
}

.can_wrapper_bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    gap: 3%;
}

.can_btn {
    width: 31%;
}

.can_btn a {
    background-color: #d58218;
    color: #fff;
    border: 1px solid #d58218;
    margin-top: 50px;
    padding: 0 40px 0 20px;
    border-radius: 3px;
    position: relative;
    transition: 0.4s;
    line-height: 1.2;
    font-size: 1.6rem;
    height: calc(2.8rem + 30px);
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.can_btn a::before {
    content: "";
    position: absolute;
    right: 15px;
    top: 45%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.can_btn a:hover {
    background-color: #fff;
    color: #d58218;
}

.can_btn a:hover::before {
    border-top: 2px solid #d58218;
    border-right: 2px solid #d58218;
}

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

    .can_btn {
        padding: 0;
        text-align: center;
        width: 100%;
    }

    .can_btn a {
        background-color: #d58218;
        color: #fff;
        border: 1px solid #d58218;
        margin-top: 20px;
        padding: 10px 70px 10px 50px;
        border-radius: 3px;
        position: relative;
        transition: 0.4s;
        line-height: 1.4;
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: center;
        text-align: center;
    }
}


/*===========================
list
=============================*/

.sales-promise {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 100px 0;
}

.sales-promise__menu {
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
}

.sales-promise__list {
    margin-bottom: 50px;
}

.sales-promise__list a {
    display: block;
    font-size: 22px;
    font-weight: bold;
    color: #000;
    position: relative;
    padding-left: 60px;
}

.sales-promise__list a:hover {
    color: #D58218;
}

.sales-promise__list a::before {
    content: attr(data-number);
    position: absolute;
    top: 0;
    left: 0;
    transform: translateY(-50%);
    color: rgba(213, 130, 24, 0.6);
    font-size: 50px;
}

@media screen and (max-width: 576px) {
    .sales-promise__menu {
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }

    .sales-promise__list a {
        font-size: 20px;
        padding-left: 30px;
    }

    .sales-promise__list a::before {
        font-size: 30px;
    }
}

.sales-promise__list a::after {
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    width: 100px;
    height: 1px;
    background-color: rgba(213, 130, 24, 0.6);
}

.sales-promise__wrap {
    margin-top: 150px;
}

.sales-promise__content1 {
    display: flex;
}

.sales-promise__left {
    width: 50%;
}

.sales-promise__number {
    font-size: 45px;
    font-weight: bold;
    color: #D58218;
    position: relative;
    margin-bottom: 30px;
}

.sales-promise__number::before {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100px;
    content: "";
    border-bottom: 1px solid #D58218;
}

.sales-promise__title {
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 10px;
}

.sales-promise__title04 {
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 10px;
    text-align: center;
}

.sales-promise__title06 {
    font-weight: bold;
    font-size: 30px;
    margin-bottom: 20px;
    text-align: center;
}

.sales-promise__text {
    font-size: 22px;
}

.sales-promise__btn a {
    background-color: #d58218;
    color: #fff;
    border: 1px solid #d58218;
    margin-top: 50px;
    padding: 10px 40px 10px 20px;
    display: inline-block;
    border-radius: 3px;
    position: relative;
    transition: 0.4s;
}

.sales-promise__btn a::before {
    content: "";
    position: absolute;
    right: 15px;
    top: 45%;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sales-promise__btn a:hover {
    background-color: #fff;
    color: #d58218;
}

.sales-promise__btn a:hover::before {
    border-top: 2px solid #d58218;
    border-right: 2px solid #d58218;
}

.sales-promise__right {
    width: 50%;
}

.sales-promise__right img {
    width: 100%;
    display: block;
}

.sales-promise__content2 {
    width: 60%;
    padding: 100px 100px 100px 200px;
    margin-left: auto;
    background-image: url(../img/sales/support_2.png);
    /*background-image: url(../img/sales/support_1.png);*/
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 25%;
}

.sales-promise__content3,
{
margin-top: 100px;
}

.sales-promise__content4,
.sales-promise__content6 {
    margin-top: 100px;
}

.sales-promise__content4 h2,
.sales-promise__content6 h2 {
    text-align: center;
}

.sales-promise__content4 h2::before,
.sales-promise__content6 h2::before {
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
}


@media screen and (max-width: 985px) {
    .sales-promise__content1 {
        flex-direction: column;
    }

    .sales-promise__left {
        width: 80%;
        margin: 0 auto;
    }

    .sales-promise__right {
        width: 80%;
        margin: 50px auto 0;
    }

    .sales-promise__content2 {
        width: 100%;
    }

    .sales-promise__content3,
    .sales-promise__content4,
    .sales-promise__content6 {
        width: 80%;
        margin: 100px auto 0;
    }

}

@media screen and (max-width: 576px) {
    .sales-promise__content2 {
        padding-left: 50px;
        padding-bottom: 200px;
    }

    .sales-promise__title,
    .sales-promise__title04 {
        font-size: 20px;
    }

    .sales-promise__subtitle {
        font-size: 18px;
    }

    .sales-promise__content4 h2,
    .sales-promise__content6 h2 {
        text-align: left;
    }

    .sales-promise__content4 h2::before,
    .sales-promise__content6 h2::before {
        left: 15%;

    }

    .sales-promise__title04 {
        text-align: left;
    }
}

/*===========================
support
=============================*/

.support {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    max-width: 600px;
    width: 100%;
    margin: 0 auto;
    padding: 240px 0;
}

@media screen and (max-width: 576px) {
    .support {
        padding: 100px 0;
        max-width: 400px;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 90%;
    }
}

.support_title {
    font-size: 3rem;
    font-weight: bold;
    margin-bottom: 10px;
}

@media screen and (max-width: 576px) {
    .support_title {
        font-size: 2.4rem;
    }
}

.support_text {
    font-size: 2.2rem;
}

@media screen and (max-width: 576px) {
    .support_text {
        font-size: 1.8rem;
    }
}

.support_left {
    width: 80%;
}

@media screen and (max-width: 576px) {
    .support_left {
        width: 100%;
    }
}

.support_right {
    width: 20%;
}

.support_right img {
    max-width: 150px;
    width: 100%;
    margin: 0 auto;
    display: block;
}


/*===========================
present
=============================*/

.present {
    padding: 0 0 200px;
    padding-left: 10%;
}

@media screen and (max-width: 1200px) {
    .present {
        padding-left: 0;
    }
}

@media screen and (max-width: 768px) {
    .present {
        padding: 100px 0;
    }
}

@media screen and (max-width: 576px) {
    .present {
        padding: 50px 0;
    }
}

.present_logo {
    max-width: 250px;
    width: 100%;
    margin-left: auto;
    margin-top: 50px;
    display: block;
}

@media screen and (max-width: 576px) {
    .present_logo {
        max-width: 250px;
        margin: 20px auto;
    }
}

.present_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 30px;
}

.present_wrap img {
    max-width: 250px;
    width: 100%;
    display: block;
    margin: 0 5px;
}

@media screen and (max-width: 992px) {
    .present_wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        background-color: #F9F8F8;
        padding-top: 20px;
    }

    .present_wrap img {
        max-width: 40%;
        margin: 10px;
    }
}

@media screen and (max-width: 576px) {
    .present_wrap {
        max-width: 100%;
        width: 100%;
        margin: 0 auto;
    }

    .present_wrap img {
        margin: 5px;
    }
}

.present_text {
    font-size: 2.2rem;
    margin-left: auto;
    width: 60%;
    position: relative;
    padding-top: 30px;
}

.present_text::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 150px;
    /* background-color: #F9F8F8; */
    z-index: -1;
    top: -20%;
    left: -5%;
}

.present_text span {
    display: inline-block;
}

@media screen and (max-width: 992px) {
    .present_text {
        width: 100%;
        padding-bottom: 30px;
        text-align: center;
        background-color: #F9F8F8;
    }

    .present_text::before {
        display: none;
    }
}

@media screen and (max-width: 768px) {
    .present_text {
        text-align: center;
        padding-left: 0;
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 576px) {
    .present_text {
        font-size: 1.6rem;
    }
}


/*===========================
strong
=============================*/

.strong {
    position: relative;
    padding: 100px 0 200px;
}

.strong::before {
    content: "";
    background-color: #F9F8F8;
    width: 60%;
    height: 1000px;
    position: absolute;
    left: 0;
    z-index: -1;
}

@media screen and (max-width: 768px) {
    .strong::before {
        width: 100%;
        height: 750px;
    }
}

.strong_inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .strong_inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        max-width: 90%;
    }
}

.strong_left {
    width: 60%;
    padding: 100px;
}

@media screen and (max-width: 1200px) {
    .strong_left {
        padding: 50px;
    }
}

@media screen and (max-width: 768px) {
    .strong_left {
        padding: 30px;
        width: 90%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 576px) {
    .strong_left {
        padding: 30px 0;
    }
}

.strong_right {
    width: 40%;
    padding-left: 50px;
}

.strong_right img {
    max-width: 350px;
    width: 100%;
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 1200px) {
    .strong_right img {
        max-width: 300px;
    }
}

@media screen and (max-width: 768px) {
    .strong_right {
        margin-top: 50px;
        padding-left: 0;
    }

    .strong_right img {
        max-width: 400px;
    }
}

@media screen and (max-width: 576px) {
    .strong_right {
        width: 70%;
        margin: 50px auto 0;
    }
}

.strong_title {
    font-size: 3rem;
    font-weight: bold;
}

@media screen and (max-width: 576px) {
    .strong_title {
        font-size: 2.2rem;
    }
}

.strong_subtitle {
    font-size: 2.4rem;
    font-weight: bold;
}

@media screen and (max-width: 576px) {
    .strong_subtitle {
        font-size: 2rem;
    }
}

.strong_text {
    font-size: 1.8rem;
}

@media screen and (max-width: 576px) {
    .strong_text {
        font-size: 1.6rem;
    }
}

.strong_content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 40px 0;
}

.strong_number {
    font-size: 3rem;
    padding-right: 20px;
    font-weight: bold;
}

@media screen and (max-width: 576px) {
    .strong_number {
        font-size: 2rem;
    }
}

.strong_item {
    padding-left: 20px;
    border-left: 1px solid #000;
}

.strong_contact {
    background-color: #D58218;
    color: #fff;
    padding: 40px;
}

@media screen and (max-width: 992px) {
    .strong_contact {
        padding: 20px;
    }
}

@media screen and (max-width: 768px) {
    .strong_contact {
        padding: 30px;
    }
}

@media screen and (max-width: 576px) {
    .strong_contact {
        padding: 20px;
    }
}

.contact_title {
    font-size: 2.2rem;
    font-weight: bold;
}

@media screen and (max-width: 992px) {
    .contact_title {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 576px) {
    .contact_title {
        font-size: 1.6rem;
    }
}

.contact_tel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.contact_tel p {
    font-size: 5rem;
    padding-left: 20px;
    font-weight: bold;
}

@media screen and (max-width: 992px) {
    .contact_tel p {
        font-size: 4rem;
    }
}

@media screen and (max-width: 576px) {
    .contact_tel p {
        font-size: 2rem;
    }
}

.contact_mail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-top: 10px;
}

.contact_mail p {
    font-size: 2rem;
    padding-left: 20px;
    font-weight: bold;
}

.contact_mail p span {
    display: inline-block;
}

@media screen and (max-width: 992px) {
    .contact_mail p {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 576px) {
    .contact_mail p {
        font-size: 1.6rem;
    }
}

.fa-phone {
    font-size: 3.5rem;
    -webkit-transform: rotateY(180deg);
    transform: rotateY(180deg);
}

@media screen and (max-width: 992px) {
    .fa-phone {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 576px) {
    .fa-phone {
        font-size: 2rem;
    }
}

.fa-envelope {
    font-size: 3.5rem;
}

@media screen and (max-width: 992px) {
    .fa-envelope {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 576px) {
    .fa-envelope {
        font-size: 2rem;
    }
}

.fa-instagram {
    font-size: 3.6rem;
}

@media screen and (max-width: 992px) {
    .fa-instagram {
        font-size: 2.5rem;
    }
}

@media screen and (max-width: 576px) {
    .fa-instagram {
        font-size: 2rem;
    }
}



/*===========================
original
=============================*/

.original {
    padding: 100px 0 200px;
}

@media screen and (max-width: 576px) {
    .original {
        padding: 50px 0 100px;
    }
}

.original_text {
    text-align: center;
    font-size: 2.2rem;
}

.original_text span {
    display: inline-block;
}

@media screen and (max-width: 576px) {
    .original_text {
        width: 90%;
        font-size: 1.6rem;
        margin: 0 auto;
    }
}

.original_img {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto 40px;
    display: block;
}

@media screen and (max-width: 576px) {
    .original_img {
        max-width: 90%;
    }
}


/*===========================
catalog
=============================*/

.catalog {
    margin: 100px 0;
    position: relative;
}

.catalog a {
    display: block;
    -webkit-transition: 0.7s;
    transition: 0.7s;
}

.catalog a:hover {
    opacity: 0.9;
}

.catalog_wrap {
    position: relative;
}

.catalog_logo {
    position: absolute;
    max-width: 300px;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
    margin: auto;
    z-index: 100;
    display: block;
}

@media screen and (max-width: 1200px) {
    .catalog_logo {
        max-width: 200px;
    }
}

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


/*固定する背景*/

.parallax-bg {
    background: url(../img/sales/parallax_bg.jpg) no-repeat center center/cover;
    background-attachment: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: #FFF;
    font-size: 5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 20px;
    padding: 8%;
}

.parallax-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 1200px) {
    .parallax-bg {
        padding: 12%;
    }
}

@media screen and (max-width: 576px) {
    .parallax-bg {
        background: url(../img/sales/catalog_bg_sp.jpg) no-repeat center center/cover;
        padding: 30%;
    }
}

.catalog_bottom {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 50px;
    background-color: rgba(0, 53, 89, 0.9);
    z-index: 100;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    color: #fff;
    padding: 0 100px;
}

@media screen and (max-width: 768px) {
    .catalog_bottom {
        padding: 0;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
}

@media screen and (max-width: 576px) {
    .catalog_bottom {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 2% 0 3%;
        height: auto;
    }
}

.catalog_title {
    font-size: 2.2rem;
}

@media screen and (max-width: 768px) {
    .catalog_title {
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 576px) {
    .catalog_title {
        font-size: 1.6rem;
    }
}

.catalog_btn {
    text-decoration: none;
    border: 1px solid #fff;
    background: transparent;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.4rem;
    margin-left: 30px;
    padding: 0 1%;
}

.catalog_btn img {
    width: 10px;
    padding-left: 5px;
}

@media screen and (max-width: 576px) {
    .catalog_btn {
        margin-left: 0;
        margin-top: 10px;
    }
}


/*===========================
customer
=============================*/

.customer {
    padding: 100px 0;
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .customer {
        max-width: 90%;
    }
}

@media screen and (max-width: 576px) {
    .customer {
        padding: 0 0 100px;
    }
}

.customer_title {
    font-size: 3rem;
    text-align: center;
    font-weight: bold;
    margin-bottom: 70px;
}

.customer_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.group {
    width: 16%;
}

.group p {
    padding: 5px 0;
    font-size: 1.2rem;
}

@media screen and (max-width: 992px) {
    .group {
        width: 30%;
        margin: 10px 0;
    }
}

@media screen and (max-width: 768px) {
    .group {
        width: 48%;
    }
}

@media screen and (max-width: 576px) {
    .group {
        width: 100%;
    }
}


/*===========================
international
=============================*/
#inter {
    margin-top: 100px;
}

.inter-title {
    color: #22304F;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 20px;
}

.inter-subtitle {
    color: #22304F;
    font-size: 30px;
    text-align: center;
    margin-bottom: 50px;
}

.inter {
    background-color: #F9F8F8;
}

.inter_img {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: block;
}

@media screen and (max-width: 576px) {
    .inter-title {
        font-size: 20px;
    }

    .inter-subtitle {
        font-size: 18px;
    }
}


/*===========================
company
=============================*/

.company {
    background: #000;
    padding: 70px 0;
}

@media screen and (max-width: 992px) {
    .company {
        padding: 30px 0;
    }
}

.company_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .company_wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.company_left {
    width: 46%;
}

@media screen and (max-width: 992px) {
    .company_left {
        width: 90%;
    }
}

.company_right {
    width: 46%;
}

.company_right img {
    display: block;
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 992px) {
    .company_right {
        width: 90%;
        margin: 20px auto;
    }
}

.company_left_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 10px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.company_logo {
    max-width: 150px;
    width: 100%;
    height: 48px;
    padding-right: 20px;
}

@media screen and (max-width: 576px) {
    .company_logo {
        max-width: 70px;
        height: 20px;
    }
}

.company_item {
    color: #fff;
    border-left: 1px solid #fff;
    padding-left: 20px;
}

@media screen and (max-width: 576px) {
    .company_item p {
        font-size: 1.6rem;
    }
}

.g_map {
    height: 0;
    overflow: hidden;
    padding-bottom: 50%;
    position: relative;
}

.g_map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}


/*===========================
calendar
=============================*/

.calendar {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 200px 0;
}

@media screen and (max-width: 1200px) {
    .calendar {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

@media screen and (max-width: 992px) {
    .calendar {
        padding: 70px 0;
    }
}

.calendar_left {
    width: 48%;
}

.calendar_left p span {
    font-weight: bold;
}

@media screen and (max-width: 1200px) {
    .calendar_left {
        width: 60%;
        margin: 0 auto 50px;
    }
}

@media screen and (max-width: 576px) {
    .calendar_left {
        width: 80%;
    }
}

.calendar_right {
    width: 48%;
}

@media screen and (max-width: 1200px) {
    .calendar_right {
        width: auto;
        text-align: center;
    }
}

.c_map {
    height: 0;
    overflow: hidden;
    padding-bottom: 50%;
    position: relative;
    margin-bottom: 15px;
}

@media screen and (max-width: 576px) {
    .c_map {
        padding-bottom: 100%;
    }
}

.c_map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

.fb-page {
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 1200px) {
    .fb-page {
        text-align: center;
    }
}


/*===========================
contact
=============================*/

.contact {
    background: url(../img/sales/contact_bg.jpg) no-repeat center center/cover;
    position: relative;
    padding: 70px 0;
}

@media screen and (max-width: 768px) {
    .contact {
        background: url(../img/sales/contact_bg_sp.jpg) no-repeat center center/cover;
    }
}

.contact_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
}

@media screen and (max-width: 768px) {
    .contact_wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}

.contact_content {
    width: 50%;
    margin: 0 auto;
    background-color: #fff;
    z-index: 100;
    border-radius: 5px;
    padding: 20px;
    color: #22304F;
}

@media screen and (max-width: 768px) {
    .contact_content {
        width: 90%;
        margin: 10px auto;
    }
}

.contact_icon {
    width: 100px;
    margin: 0 auto;
    display: block;
}

.contact_content_title {
    text-align: center;
    font-weight: bold;
    font-size: 2.4rem;
    margin-bottom: 35px;
}

.contact_content_title span {
    display: inline-block;
}

.contact_item {
    background-color: #F4F7FB;
    padding: 40px;
}

.contact_item p {
    padding: 12px 0;
}

.contact_item a {
    color: #22304F;
}

@media screen and (max-width: 576px) {
    .contact_item {
        padding: 20px;
    }

    .contact_item p {
        padding: 8px 0;
    }

    .contact_item p span {
        display: inline-block;
    }
}


/*===========================
footer
=============================*/

footer {
    background-color: #22304F;
    padding: 20px 0;
}

@media screen and (max-width: 992px) {
    footer {
        padding: 20px 0 100px;
    }
}

@media screen and (max-width: 576px) {
    footer {
        padding: 20px 0 90px;
    }
}

.copyright {
    color: #000;
    font-size: 1rem;
    text-align: center;
    color: #fff;
}

.b_navigation {
    position: fixed;
    left: 0;
    bottom: 0;
    background: #000;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    z-index: 1000;
    padding: 15px 5px;
}

.b_navigation li {
    display: table;
    table-layout: fixed;
    width: 25%;
    list-style: none;
    text-align: center;
}

.b_navigation li a {
    line-height: 1.5;
    color: #fff;
}

.b_navigation li a i {
    font-size: 2.8rem;
}

.b_navigation li a span {
    display: block;
    font-size: 1.6rem;
}

@media screen and (max-width: 576px) {
    .b_navigation {
        padding: 10px 3px 10px;
    }

    .b_navigation li {
        width: 25%;
    }

    .b_navigation li a span {
        font-size: 1.2rem;
    }
}

.b_logo {
    width: 33px;
}


/*===========================
flow
=============================*/

#flow {
    padding: 0 0 100px;
    position: relative;
}

@media screen and (max-width: 768px) {
    #flow {
        margin-top: 100px;
        padding-bottom: 50px;
    }
}

.flow_inner {
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    display: flex;
}

.flow_left {
    width: 50%;
}

.flow_right {
    width: 50%;
}

.flow_right img {
    display: block;
    width: 80%;
    margin: 0 auto;
}

.flow__wrap {
    margin-top: 100px;
    width: 100%;
    margin: 50px auto 0;
    padding: 40px 50px 40px 50px;
}

@media screen and (max-width: 976px) {
    .flow_inner {
        flex-direction: column;
    }

    .flow_left {
        width: 85%;
        margin: 0 auto;
    }

    .flow_right {
        width: 60%;
        margin: 50px auto 50px;
    }
}

@media screen and (max-width: 768px) {
    .flow__wrap {
        padding: 40px 50px;
    }
}

@media screen and (max-width: 576px) {
    .flow__wrap {
        padding: 0;
    }
}

.flow__title {
    font-size: 3rem;
    font-weight: bold;
    margin: 20px auto 0;
    text-align: center;
}

@media screen and (max-width: 768px) {
    .flow__title {
        font-size: 2.4rem;
    }
}

.flow__subtitle {
    font-size: 3rem;
    color: #D58218;
}

@media screen and (max-width: 768px) {
    .flow__subtitle {
        font-size: 2.4rem;
        text-align: center;
    }
}

.flow__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 50px 0;
    position: relative;
    border-bottom: 1px solid #000;
    padding-bottom: 30px;
}

.flow__content::before {
    content: "";
    position: absolute;
    bottom: -14px;
    left: 1em;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid;
    border-color: #000 transparent transparent transparent;
}

.flow__content::after {
    position: absolute;
    bottom: -13px;
    left: 1em;
    width: 0;
    height: 0;
    content: '';
    border-width: 14px 12px 0 12px;
    border-style: solid;
    border-color: #F9F8F8 transparent transparent transparent;
}

.flow__content_title {
    font-size: 2.2rem;
    font-weight: bold;
}

.flow__content_text span {
    display: inline-block;
}

.flow__content_item {
    padding-left: 20px;
    width: 100%;
}

.flow__number {
    font-size: 4rem;
    line-height: 1;
}

.flow_contact {
    background-color: #D58218;
    color: #fff;
    padding: 40px;
    max-width: 523px;
    width: 100%;
}

@media screen and (max-width: 576px) {
    .flow_contact {
        padding: 20px;
    }
}

.flow-point__wrap {
    display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.flow-point__content {
    width: 48%;
}

.flow-point__title {
    font-size: 16px;
    text-align: center;
    color: #fff;
    padding: 1px 5px;
    background-color: #d58218;
}

.flow-point__text {
    padding: 10px;
    border: 1px solid #D58218;
    text-align: center;
}

@media screen and (max-width: 576px) {
    .flow-point__wrap {
        flex-direction: column;
    }

    .flow-point__content {
        width: 100%;
        margin-bottom: 20px;
    }
}

.instagram_content {
    display: flex;
}

.instagram_content a {
    color: #000;
    margin-left: 10px;

}

/*=====================================
Y-SDGsバナー
=======================================*/
.ysdgs {
    width: 94%;
    max-width: 880px;
    margin: 0 auto;
}

/*=====================================
賞状
=======================================*/
.certificate_wrap {
    /* max-width: 1000px; */
    width: 100%;
    margin: 0 auto 40px;

}

.certificate_wrap ul {
    display: flex;
    flex-wrap: wrap;
}

.certificate_wrap li {
    width: 9%;
}

.certificate_title {
    text-align: center;
    font-size: 2.2rem;
}

/*=====================================
やますチャンネル
=======================================*/
.yamsu-ch_content {
    margin-top: 5%;
}

/*===========================
注文フォーム
=============================*/
.order-form {
    width: 92%;
    max-width: 960px;
    margin: 0 auto;
    padding-bottom: 60px;
}

.order-form_title {
    display: flex;
    gap: 3%;
    justify-content: center;
    align-items: center;
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 2.6rem;
}

.order-form_title .logo {
    width: 18%;
}

.order-form_title02 {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
    font-family: 'Noto Serif JP', sans-serif;
    font-size: 2.6rem;
}

.order-form_title02 .logo {
    width: 64%;
    max-width: 280px;
    margin: 0 auto;
    padding-bottom: 20px;
}

.form {
    padding-top: 60px
}

/* 完了画面 */
.thanks {
    padding: 80px;
}

.thanks .form p {
    padding-bottom: 0.7rem;
}

.thanks .form p a {
    color: #000;
}

.btn {
    width: 80%;
    max-width: 320px;
    margin: 0 auto;
    padding-top: 40px;
}

.btn a {
    display: block;
    background: #22304F;
    font-size: 1.6rem;
    text-align: center;
    padding: 1rem;
    border: solid 1px #22304F;
    transition: .3s;
}

.btn a:hover {
    background: #fff;
    color: #22304F;
}


@media screen and (max-width: 576px) {
    .order-form h2 span {
        font-size: 1.8rem;
    }

    .order-form_title {
        display: block;
        font-size: 2rem;
    }

    .order-form_title .logo {
        width: 26%;
        margin: 0 auto;
    }

    .order-form_title h2 {
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-items: center;
        padding-top: 10px;
    }

    .form {
        padding-top: 20px
    }

    /* 完了画面 */
    .thanks {
        padding: 60px;
    }

    .thanks .form p {
        font-size: 1.4rem;
    }

}