.fv {
    background: url(../img/fv_bg.jpg) no-repeat;
    background-size: cover;
    background-position: center center;
    padding: 130rem 0 150rem;
}
.fv .inner {
    max-width: 1280rem;
    margin: 0 auto;
}
.fv_img {
    width: 592rem;
}
.fv-item .area {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    max-width: 640rem;
}
.fv-item .area_txt1 {
    color: #966c2a;
    font-size: 28rem;
    font-family: "Yu Mincho", sans-serif;
    font-weight: bold;
    letter-spacing: 0.1em;
}
.fv-item .area_txt2 {
    font-size: 45rem;
    font-weight: 400;
    margin: 25rem 0 15rem;
    color: #606060;
    line-height: 1;
}
.fv-item .area_ttl {
    font-size: 110rem;
    font-weight: 500;
    color: #606060;
    letter-spacing: 0.15em;
    line-height: 1;
    border-bottom: 1rem solid #606060;
    padding-bottom: 20rem;
}
.fv-item .area_txt3 {
    font-size: 33rem;
    color: #606060;
    font-family: "Yu Mincho", sans-serif;
    font-weight: bold;
    margin-top: 20rem;
    letter-spacing: -0.04em;
}
.fv-item .area_bottom {
    margin-top: 30rem;
}
.fv-item .area_bottom_category {
    background-color: white;
    border: 1rem solid #966c2a;
    color: #966c2a;
    font-size: 32rem;
    font-weight: bold;
    font-family: "Yu Mincho", sans-serif;
    line-height: calc(41 / 32);
    text-align: center;
    padding: 15rem 35rem;
    max-width: 290rem;
}
.fv-item .area_bottom_category:first-child {
    margin-right: 20rem;
}
.detail {
    padding: 90rem 0;
}
.detail .inner {
    max-width: 1120rem;
    margin: 0 auto;
}
.detail_ttl {
    font-size: 50rem;
    line-height: calc(85 / 50);
    letter-spacing: 0.1em;
    color: #0176e3;
    font-family: "Yu Mincho", sans-serif;
    font-weight: bold;
}
.detail_sm {
    font-size: 25rem;
    font-weight: 400;
    margin: 20rem 0 80rem;
    letter-spacing: 0.2em;
}
.detail_txt {
    text-align: center;
    font-size: 30rem;
    font-weight: bold;
    font-family: "Yu Mincho", sans-serif;
    line-height: calc(60.58 / 40);
	margin-top: 3em;
}
.feature {
    padding: 40rem 0 100rem;
}
.feature .inner {
    max-width: 1120rem;
    margin: 0 auto;
}
.feature_ttl_en {
    font-size: 60rem;
    font-weight: 500;
    color: #c50202;
    line-height: 1;
}
.feature_ttl_jp {
    font-size: 35rem;
    line-height: 1;
    margin-top: 30rem;
    font-weight: 500;
}
.feature_txt {
    font-size: 55rem;
    font-weight: bold;
    font-family: "Yu Mincho", sans-serif;
    color: #966c2a;
    text-align: center;
    line-height: calc(80 / 55);
    margin: 90rem 0 70rem;
}
.feature_flex_bg img {
    width: 260rem;
}
.feature_flex_box {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
}
.feature_flex_txt {
    position: absolute;
    text-align: center;
    font-size: 34rem;
    font-weight: 500;
    color: #966c2a;
    line-height: calc(42 / 34);
    top: 50rem;
    letter-spacing: 0;
}
.possible {
    padding: 40rem 0 150rem;
}
.possible .inner {
    max-width: 1280rem;
    margin: 0 auto;
}
.possible-item .img {
    max-width: 565rem;
}
.possible-item .img img {
    width: 564rem;
}
.possible-item .area {
    width: 70%;
    max-width: 670rem;
}
.possible-item .area_item:last-child {
    margin-top: 30rem;
}
.possible-item .area_lead {
    font-size: 38rem;
    font-weight: bold;
    padding: 20rem 30rem;
    line-height: 1;
    color: white;
    font-family: "Yu Mincho", sans-serif;
    background: #0176E3;
    background: linear-gradient(92deg, #0176e3 0%, #5a9fe0 100%);
    border-top-right-radius: 30rem;
}
.possible-item .area_txt1 {
    font-size: 32rem;
    color: #0176e3;
    font-weight: 500;
    margin: 20rem 0;
}
.possible-item .area_txt2 {
    font-size: 20rem;
    line-height: 2;
    letter-spacing: 0;
}
.product {
    padding-bottom: 150rem;
}
.product .inner {
    max-width: 1280rem;
    margin: 0 auto;
}
.product_ttl_en {
    font-size: 60rem;
    font-weight: 500;
    color: #c50202;
    line-height: 1;
}
.product_ttl_jp {
    font-size: 35rem;
    line-height: 1;
    margin-top: 30rem;
    font-weight: 500;
}
.product-item {
    margin-top: 100rem;
}
.product-item .img {
    max-width: 668rem;
}
.product-item .img img {
    width: 668rem;
}
.product-item .area {
    letter-spacing: 0;
}
.product-item .area_lead {
    font-size: 43rem;
    font-weight: 500;
    border-bottom: 1rem solid #232323;
    line-height: 1;
    padding-bottom: 15rem;
}
.product-item .area_txt1 {
    font-size: 33rem;
    font-weight: bold;
    color: #966c2a;
    font-family: "Yu Mincho", sans-serif;
    line-height: calc(46 / 33);
    margin: 15rem 0 20rem;
}
.product-item .area_row {
    border-bottom: 1rem solid #bbbbbb;
    padding: 10rem 0;
    font-size: 25rem;
}
.product-item .area_category {
    min-width: 190rem;
}
.case {
    background-color: #eef2f5;
    padding: 150rem 0 70rem;
}
.case .inner {
    max-width: 1280rem;
    margin: 0 auto;
}
.case_ttl_en {
    font-size: 60rem;
    font-weight: 500;
    color: #c50202;
    line-height: 1;
}
.case_ttl_jp {
    font-size: 35rem;
    line-height: 1;
    margin-top: 30rem;
    font-weight: 500;
}
.case .inner {
    max-width: 1280rem;
    margin: 0 auto;
}
.case-item {
    margin-top: 100rem;
}
.case-item .box {
    margin-bottom: 75rem;
}
.case-item .box_img img {
    width: 370rem;
}
.case-item .box_txt {
    margin-top: 20rem;
    text-align: center;
    font-size: 25rem;
    font-weight: 500;
}
.case-item .box_txt span {
    border-bottom: 1rem solid #232323;
}
.contact {
    padding: 100rem 0;
}
.contact .inner {
    width: 750rem;
    margin: 0 auto;
}
.contact_btn {
    height: 160rem;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0176e3;
    color: white;
    font-size: 35rem;
    font-weight: 500;
    line-height: 1;
    transition: all 0.5s;
}
.contact_btn span {
    position: relative;
}
.contact_btn span::after {
    content: "";
    border-top: 13.5rem solid transparent;
    border-bottom: 13.5rem solid transparent;
    border-right: unset;
    border-left: 15rem solid white;
    position: absolute;
    top: calc(50% - 10.5rem);
    right: -50rem;
}
.contact_btn:hover {
    opacity: 0.8;
}
@media (max-width: 902px) {
    .fv-item .area_bottom_category:first-child {
        font-size: 31rem;
    }
}
@media (max-width: 767px) {
    .fv {
        padding: 60px 0;
    }
    .fv .inner {
        width: 88%;
    }
    .fv_img {
        width: 100%;
        margin-top: 20rem;
    }
    .fv-item {
        flex-direction: column;
    }
    .fv-item .area_txt1 {
        font-size: 15rem;
    }
    .fv-item .area_txt2 {
        font-size: 28rem;
    }
    .fv-item .area_ttl {
        font-size: 50rem;
        display: flex;
        justify-content: center;
        width: 100%;
    }
    .fv-item .area_txt3 {
        font-size: 17rem;
    }
    .fv-item .area_bottom {
        width: 100%;
        justify-content: space-between;
    }
    .fv-item .area_bottom_category {
        padding: 10rem;
        font-size: 16rem;
        width: 48%;
        max-width: unset;
        min-width: unset;
    }
    .fv-item .area_bottom_category:first-child {
        margin-right: unset;
        font-size: 16rem;
    }

    .detail .inner {
        width: 88%;
    }
    .detail_ttl {
        font-size: 20rem;
    }
    .detail_sm {
        font-size: 14rem;
        margin: 20px 0;
    }
    .detail_txt {
        font-size: 16rem;
    }
    .feature {
        padding: 40px 0 0;
    }
    .feature .inner {
        width: 88%;
    }
    .feature_ttl_en {
        font-size: 30rem;
    }
    .feature_ttl_jp {
        font-size: 18rem;
        margin-top: 15rem;
    }
    .feature_txt {
        font-size: 26rem;
        margin: 40px 0;
    }
    .feature_flex_box {
        margin-bottom: 30rem;
    }
    .feature_flex_bg img {
        width: 150rem;
    }
    .feature_flex_txt {
        font-size: 18rem;
        top: 33rem;
    }
    .possible {
        padding: 60px 0;
    }
    .possible .inner {
        width: 100%;
    }
    .possible-item {
        flex-direction: column;
    }
    .possible-item .img {
        max-width: unset;
    }
    .possible-item .img img {
        width: 100%;
    }
    .possible-item .area {
        width: 100%;
    }
    .possible-item .area_lead {
        font-size: 20rem;
        border-top-right-radius: unset;
        text-align: center;
        padding: 20rem;
    }
    .possible-item .area_txt1 {
        font-size: 18rem;
        padding-left: 6%;
        margin-bottom: unset;
    }
    .possible-item .area_txt2 {
        font-size: 16rem;
        padding-left: 6%;
    }
    .product {
        padding-bottom: 60px;
    }
    .product .inner {
        width: 88%;
    }
    .product_ttl_en {
        font-size: 30rem;
    }
    .product_ttl_jp {
        font-size: 18rem;
        margin-top: 15rem;
    }
    .product-item {
        flex-direction: column;
        margin-top: 40px;
    }
    .product-item .img {
        max-width: unset;
    }
    .product-item .img img {
        width: 100%;
    }
    .product-item .area {
        margin-top: 30px;
    }
    .product-item .area_lead {
        font-size: 30rem;
    }
    .product-item .area_txt1 {
        font-size: 20rem;
    }
    .product-item .area_row {
        font-size: 16rem;
    }
    .product-item .area_category {
        min-width: 120rem;
    }
    .case {
        padding: 60px 0 30px;
    }
    .case .inner {
        width: 88%;
    }
    .case_ttl_en {
        font-size: 30rem;
    }
    .case_ttl_jp {
        font-size: 18rem;
        margin-top: 15rem;
    }
    .case-item {
        margin-top: 40px;
    }
    .case-item .box {
        margin-bottom: 30px;
        width: 48%;
    }
    .case-item .box_img img {
        width: 100%;
    }
    .case-item .box_txt {
        font-size: 12rem;
    }
    .case-item .box:nth-child(6) .box_txt {
        font-size: 9rem;
    }
    .contact {
        padding: 40px 0;
    }
    .contact .inner {
        width: 88%;
    }
    .contact_btn {
        font-size: 16rem;
        height: 60rem;
    }
    .contact_btn span {
        position: relative;
    }
    .contact_btn span::after {
        content: "";
        border-top: 8.5rem solid transparent;
        border-bottom: 8.5rem solid transparent;
        border-right: unset;
        border-left: 10rem solid white;
        position: absolute;
        top: calc(50% - 6.5rem);
        right: -30rem;
    }
}
