@charset "UTF-8";

/* CSS Document */

@media only screen and (max-width:1024px) {
    .p_page_info_container .grid_area {
        position: relative;
        display: grid;
        grid-template-columns: 1fr;
        grid-row-gap: 45px;
    }

    .c_gray_info_section {
        padding: 15px;
    }
}

@media only screen and (max-width:1024px) {
    .sidebar_container {
        width: 100%;
    }

    .page_main_container {
        width: 100%;
    }

    #intro .intro_slider .intro_slider_item picture {
        height: 300px;
        min-height: 300px;
    }

    #intro .intro_mark_container .intro_mark .image_wrap {
        width: 178px;
    }
}


/***********************************************************************************
メインビジュアル
***********************************************************************************/


/* banner slider animation */


/*  Top Banner Image Slider */

.cb-slideshow,
.cb-slideshow:after {
    position: relative;
    width: 100%;
    height: 70vh;
    top: 0px;
    left: 0px;
    z-index: 0;
    overflow: hidden;
}

@media(max-width:767px) {

    .cb-slideshow,
    .cb-slideshow:after {
        height: 50vh;
    }
}

.cb-slideshow li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    -webkit-backface-visibility: hidden;
    -webkit-animation: imageAnimation 36s linear infinite 0s;
    -moz-animation: imageAnimation 36s linear infinite 0s;
    -o-animation: imageAnimation 36s linear infinite 0s;
    -ms-animation: imageAnimation 36s linear infinite 0s;
    animation: imageAnimation 36s linear infinite 0s;
}

.cb-slideshow li:nth-child(1) span {
    background-image: url(../../img/top/mv_pc.jpg)
}

.cb-slideshow li:nth-child(2) span {
    background-image: url(../../img/top/mv_pc2.jpg);
    -webkit-animation-delay: 6s;
    -moz-animation-delay: 6s;
    -o-animation-delay: 6s;
    -ms-animation-delay: 6s;
    animation-delay: 6s;
}

.cb-slideshow li:nth-child(3) span {
    background-image: url(../../img/top/mv_pc3.jpg);
    -webkit-animation-delay: 12s;
    -moz-animation-delay: 12s;
    -o-animation-delay: 12s;
    -ms-animation-delay: 12s;
    animation-delay: 12s;
}

.cb-slideshow li:nth-child(4) span {
    background-image: url(../../img/top/mv_pc4.jpg);
    -webkit-animation-delay: 18s;
    -moz-animation-delay: 18s;
    -o-animation-delay: 18s;
    -ms-animation-delay: 18s;
    animation-delay: 18s;
}

.cb-slideshow li:nth-child(5) span {
    background-image: url(../../img/top/mv_pc5.jpg);
    -webkit-animation-delay: 24s;
    -moz-animation-delay: 24s;
    -o-animation-delay: 24s;
    -ms-animation-delay: 24s;
    animation-delay: 24s;
}

@media(max-width:767px) {
    .cb-slideshow li:nth-child(1) span {
        background-image: url(../../img/top/mv_sp.jpg)
    }

    .cb-slideshow li:nth-child(2) span {
        background-image: url(../../img/top/mv_sp2.jpg);
    }

    .cb-slideshow li:nth-child(3) span {
        background-image: url(../../img/top/mv_sp3.jpg);
    }

    .cb-slideshow li:nth-child(4) span {
        background-image: url(../../img/top/mv_sp4.jpg);
    }

    .cb-slideshow li:nth-child(5) span {
        background-image: url(../../img/top/mv_sp5.jpg);
    }
}


/* Animation for the slideshow images */

@-webkit-keyframes imageAnimation {
    0% {
        opacity: 1;
        -ms-transform: scale(1.15);
        -webkit-animation-timing-function: ease-in;
    }

    8% {
        opacity: 1;
        -webkit-transform: scale(1.1);
        -webkit-animation-timing-function: ease-out;
    }

    17% {
        opacity: 1;
        -webkit-transform: scale(1.05);
    }

    25% {
        opacity: 0;
        -webkit-transform: scale(1);
    }

    100% {
        opacity: 0
    }
}

@-moz-keyframes imageAnimation {
    0% {
        opacity: 1;
        -ms-transform: scale(1.15);
        -moz-animation-timing-function: ease-in;
    }

    8% {
        opacity: 1;
        -moz-transform: scale(1.1);
        -moz-animation-timing-function: ease-out;
    }

    17% {
        opacity: 1;
        -moz-transform: scale(1.05);
    }

    25% {
        opacity: 0;
        -moz-transform: scale(1);
    }

    100% {
        opacity: 0
    }
}

@-o-keyframes imageAnimation {
    0% {
        opacity: 1;
        -ms-transform: scale(1.15);
        -o-animation-timing-function: ease-in;
    }

    8% {
        opacity: 1;
        -o-transform: scale(1.1);
        -o-animation-timing-function: ease-out;
    }

    17% {
        opacity: 1;
        -o-transform: scale(1.05);
    }

    25% {
        opacity: 0;
        -o-transform: scale(1);
    }

    100% {
        opacity: 0
    }
}

@-ms-keyframes imageAnimation {
    0% {
        opacity: 1;
        -ms-transform: scale(1.15);
        -ms-animation-timing-function: ease-in;
    }

    8% {
        opacity: 1;
        -ms-transform: scale(1.1);
        -ms-animation-timing-function: ease-out;
    }

    17% {
        opacity: 1;
        -ms-transform: scale(1.05);
    }

    25% {
        opacity: 0;
        -ms-transform: scale(1);
    }

    100% {
        opacity: 0
    }
}

@keyframes imageAnimation {
    0% {
        opacity: 0;
        transform: scale(1.15);
        animation-timing-function: ease-in;
    }

    8% {
        opacity: 1;
        transform: scale(1.1);
        animation-timing-function: ease-out;
    }

    17% {
        opacity: 1;
        transform: scale(1.05);
    }

    25% {
        opacity: 0;
        transform: scale(1);
    }

    100% {
        opacity: 0
    }
}


/* Show at least something when animations not supported */

.no-cssanimations .cb-slideshow li span {
    opacity: 1;
}


/* Top Banner Text animation */

:root {
    --delay: 0;
    --duration: 800ms;
    --iterations: 1;
}


/* •·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•·•· */


/* end banner slider animation */


/***********************************************************************************
ニュースピッカー
***********************************************************************************/

section.top_news_section {
    position: relative;
    padding: 0;
}

.top_news_section .full_container {
    position: relative;
}

.top_news_info_container {
    position: relative;
    display: flex;
    flex-wrap: wrap;
}

.top_news_info_container .news_info_title {
    position: relative;
    flex: 0 0 auto;
    width: 160px;
    background: #453C3C;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
}

.top_news_info_container .news_info_title h3 {
    position: relative;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    color: #fff;
}

.top_news_info_container .news_info_body {
    position: relative;
    flex: 0 0 auto;
    width: calc(100% - 160px - 240px);
    background: #FFFFFF;
    display: flex;
    border-top: 1px solid #E3E3E3;
    border-bottom: 1px solid #E3E3E3;
}

.top_news_info_container .news_info_content {
    position: relative;
    flex: 0 0 auto;
    width: calc(100% - 120px);
}

.top_news_info_container .news_info_content .news_list_slider {
    position: relative;
    margin: 0;
}

.top_news_info_container .news_pager {
    position: relative;
    flex: 0 0 auto;
    width: 120px;
    background: #fff;
    padding: 18px 15px 16px;
}

.top_news_info_container .news_pager .news_pager_item {
    position: relative;
}

.top_news_info_container .news_pager .news_pager_item li {
    position: absolute !important;
    top: 0;
    left: 0;
    opacity: 0;
    pointer-events: none;
    display: block;
    overflow: hidden;
    z-index: 1;
    margin: 0;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-align: center;
    color: #585858;
}

.top_news_info_container .news_pager .news_pager_item li.slick-active {
    opacity: 1;
    pointer-events: all;
    position: relative !important;
}

.top_news_info_container .news_pager .news_pager_item li button {
    cursor: default;
    position: absolute;
    top: 2px;
    left: 2px;
    color: #585858;
    z-index: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 14px;
    line-height: 1.2;
    text-align: center;
    border: none !important;
    outline: none !important;
}

@keyframes rotate-circle-left {
    0% {
        transform: rotate(0deg)
    }

    50% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(180deg)
    }
}

@keyframes rotate-circle-right {
    0% {
        transform: rotate(0deg);
        background: #585858
    }

    50% {
        transform: rotate(180deg);
        background: #585858
    }

    50.01% {
        transform: rotate(360deg);
        background: #fff
    }

    100% {
        transform: rotate(360deg);
        background: #fff
    }
}

.top_news_info_container .news_info_content {
    position: relative;
    padding: 18px 0 16px;
}

.top_news_info_container .news_list_slider .news_item {
    position: relative;
    display: flex;
    align-items: center;
}

.top_news_info_container .news_list_slider .news_item .news_datetime {
    position: relative;
    flex: 0 0 auto;
    width: auto;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.5;
    text-align: center;
    color: #585858;
    padding: 0 10px;
    width: 136px;
}

.top_news_info_container .news_list_slider .news_item .news_title {
    position: relative;
    flex: 0 0 auto;
    width: auto;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    color: #585858;
    max-width: calc(100% - 136px);
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

.top_news_info_container .news_list_slider a.news_item .news_title {
    transition: all 0.2s;
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    -ms-transition: all 0.2s;
    -o-transition: all 0.2s;
}

.top_news_info_container .news_list_slider a.news_item:hover .news_title {
    text-decoration: underline;
}

.top_news_info_container .news_info_link_wrap {
    position: relative;
    flex: 0 0 auto;
    width: 240px;
}

.top_news_info_container .news_info_link {
    position: relative;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px 10px;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    text-align: center;
    color: #585858;
    background: #F2F2F2;
    border: 1px solid #E3E3E3;
}

.top_news_info_container .news_pager_content {
    position: absolute;
    bottom: 18px;
    right: 0;
    flex: 0 0 auto;
    display: flex;
    width: 120px;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    z-index: 3;
}

.top_news_info_container .news_slick_prev,
.top_news_info_container .news_slick_next {
    padding: 0;
    border: none;
    outline: none;
    background: transparent;
    cursor: pointer;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}

.top_news_info_container .news_slick_prev {
    position: relative;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 12px solid #453C3C;
    border-left: 0px;
}

.top_news_info_container .news_slick_next {
    position: relative;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #453C3C;
    border-right: 0px;
}

@media only screen and (min-width:767px) {
    .top_news_info_container .news_slick_prev:hover {
        border-right-color: #B4B4B4;
    }

    .top_news_info_container .news_slick_next:hover {
        border-left-color: #B4B4B4;
    }
}

.top_news_info_container .news_info_link span {
    color: #585858;
}

.top_news_info_container .news_info_link:hover {
    border-color: #585858;
}

.top_news_info_container .news_info_link.btn:hover span {
    color: #fff;
}

.top_news_info_container .news_info_link.bgleft::before {
    background: #585858;
}


/***************************************************
【レスポンシブ】ニュースピッカー  
***************************************************/

@media only screen and (max-width:767px) {
    .top_news_info_container {
        position: relative;
        display: grid;
        flex-wrap: unset;
        grid-template-columns: 43.5% 1fr;
        grid-column-gap: 0;
        grid-row-gap: 0;
    }

    .top_news_info_container .news_info_title {
        grid-column-start: 1;
        grid-column-end: 2;
        grid-row-start: 1;
        grid-row-end: 2;
        flex: unset;
        width: 100%;
    }

    .top_news_info_container .news_info_link_wrap {
        grid-column-start: 2;
        grid-column-end: 3;
        grid-row-start: 1;
        grid-row-end: 2;
        flex: unset;
        width: 100%;
    }

    .top_news_info_container .news_info_body {
        position: relative;
        grid-column-start: 1;
        grid-column-end: 3;
        grid-row-start: 2;
        grid-row-end: 3;
        flex: unset;
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        border-top: none;
    }

    .top_news_info_container .news_info_content {
        width: 100%;
    }

    .top_news_info_container .news_pager {
        width: 100%;
    }

    .top_news_info_container .news_pager .news_pager_item li::before,
    .top_news_info_container .news_pager .news_pager_item li::after {
        display: none;
    }

    .top_news_info_container .news_pager .news_pager_item li button {
        position: relative;
        width: auto;
        height: auto;
        top: unset;
        left: unset;
        padding: 0;
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
    }

    .top_news_info_container .news_pager .news_pager_item li button::before {
        display: none;
    }

    .top_news_info_container .news_pager .news_pager_item li {
        width: auto;
        height: auto;
        border-radius: 0;
        -webkit-border-radius: 0;
        -moz-border-radius: 0;
        -ms-border-radius: 0;
        -o-border-radius: 0;
        font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
        font-weight: normal;
        font-size: 15px;
        line-height: 1.5;
        letter-spacing: 0.1em;
        text-align: center;
        color: #585858;
        transition: none;
        -webkit-transition: none;
        -moz-transition: none;
        -ms-transition: none;
        -o-transition: none;
    }

    .top_news_info_container .news_pager {
        padding: 10px 15px 15px;
    }

    .top_news_info_container .news_pager .news_pager_item {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        padding-right: 42px;
    }

    .top_news_info_container .news_pager_content {
        position: absolute;
        bottom: 18px;
        right: 0;
        flex: 0 0 auto;
        display: flex;
        width: 140px;
        align-items: center;
        justify-content: space-between;
        padding: 0 15px;
        z-index: 3;
    }

    .top_news_info_container .news_slick_prev,
    .top_news_info_container .news_slick_next {
        padding: 0;
        border: none;
        outline: none;
        background: transparent;
        cursor: pointer;
    }

    .top_news_info_container .news_slick_prev {
        position: relative;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-right: 12px solid #453C3C;
        border-left: 0px;
    }

    .top_news_info_container .news_slick_next {
        position: relative;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 12px solid #453C3C;
        border-right: 0px;
    }

    .top_news_info_container .news_info_content {
        padding: 15px 15px 0;
    }

    .top_news_info_container .news_list_slider .news_item {
        flex-wrap: wrap;
    }

    .top_news_info_container .news_list_slider .news_item .news_datetime {
        width: 100%;
        text-align: left;
        padding: 0;
        margin-bottom: 6px;
        font-size: 14px;
    }

    .top_news_info_container .news_list_slider a.news_item .news_title {
        width: 100%;
        max-width: 100%;
        white-space: normal;
        font-size: 14px;
        line-height: 1.5;
    }
}


/***********************************************************************************
TOP　おすすめ情報
***********************************************************************************/

.top_recommend_section {
    position: relative;
    padding: 65px 0 60px;
}

.recommend_slider {
    position: relative;
}

.recommend_slider .slick-list {
    position: relative;
}

.recommend_slider .recommend_slider_item {
    position: relative;
    padding: 0 7.5px;
}

.recommend_slider_arrows {
    position: absolute;
    top: -70px;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    list-style: none;
    width: 112px;
    z-index: 4;
}

.recommend_slider_arrows li {
    position: relative;
    padding: 0;
}

.recommend_slider_arrows li a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    padding: 6px;
    background: #695748;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    text-decoration: none !important;
    outline: none !important;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
}

.recommend_slider_arrows li a svg {
    position: relative;
    flex: 0 0 auto;
    width: initial;
}

.recommend_slider_arrows li a#recommend_prev {
    padding-right: 8px;
}

.recommend_slider_arrows li a#recommend_next {
    padding-left: 8px;
}

.recommend_slider_arrows li a:hover {
    background: #B4B4B4;
}

.recommend_slider .slick-dots {
    position: absolute;
    top: -50px;
    bottom: auto;
}

.recommend_slider .slick-dots {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding-right: 132px;
}

.recommend_slider .slick-dots li {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    padding: 0 10px;
    margin: 0;
}

.recommend_slider .slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    background: #B4B4B4;
}

.recommend_slider .slick-dots li button::before {
    display: none;
}

.recommend_slider .slick-dots li.slick-active button {
    background: #5A412B;
}

.recommend_slider.slick-dotted {
    margin-bottom: 0;
}


/***************************************************
【レスポンシブ】おすすめ情報  
***************************************************/

@media only screen and (max-width:767px) {
    .recommend_slider .slick-list {
        margin-left: -7.5px;
        margin-right: -7.5px;
    }

    .recommend_slider {
        overflow: hidden;
    }

    .recommend_slider_arrows li a {
        width: 42px;
        height: 42px;
    }

    .recommend_slider_arrows {
        width: 98px;
        top: -53px;
    }

    .top_recommend_section {
        padding: 32px 0 40px;
    }
}


/***********************************************************************************
TOP　職人の技
***********************************************************************************/

.specialty_store_section {
    position: relative;
}

.c_gray_info_section {
    position: relative;
    padding: 15px 50px 15px 15px;
    background: rgba(234, 234, 229, 0.4);
}

.p_page_info_container {
    position: relative;
}

.p_page_info_container .grid_area {
    position: relative;
    display: grid;
    grid-template-columns: 400px 1fr;
    grid-column-gap: 50px;
}

.p_page_info_container .grid_area .column_left {
    background: url(../../img/top/specialty_store.jpg);
    background-position: center top;
    background-size: cover
}

.p_page_info_container .grid_area .column_left,
.p_page_info_container .grid_area .column_right {
    position: relative;
    display: flex;
    align-items: center;
}

.p_page_info_container .grid_area .column_left .image_wrap {
    display: none
}

.p_page_info_container .info_wrap {
    position: relative;
}

.p_page_info_container .info_wrap .inline_text {
    position: relative;
    margin: 15px 0 8px;
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
}

.p_page_info_container .info_wrap .inline_text p {
    position: relative;
    flex: 0 0 auto;
    font-weight: normal;
    font-size: 26px;
    line-height: 1.5;
    text-align: left;
    color: #101010;
}

.p_page_info_container .info_wrap .inline_text p:not(:first-child) {
    padding-left: 22px;
    margin-left: 20px;
}

.p_page_info_container .info_wrap .inline_text p:not(:first-child)::before {
    content: "";
    position: absolute;
    top: 9px;
    left: 0;
    width: 2px;
    height: 26px;
    background: #930303;
}

.p_page_info_container .info_wrap .info_title h3 {
    position: relative;
    font-weight: 600;
    font-size: 30px;
    line-height: 1.2;
    text-align: left;
    color: #101010;
}

.p_page_info_container .info_wrap .info_title p {
    font-weight: normal;
    font-size: 20px;
    line-height: 1.5;
    text-align: left;
    color: #101010;
    margin-top: 8px;
}

.p_page_info_container .link_btn_wrap {
    position: relative;
}




/***************************************************
【レスポンシブ】職人の技  
***************************************************/

@media screen and (min-width:1024px) and (max-width:1200px) {
    .p_page_info_container .grid_area {
        display: block;
        grid-column-gap: 0;
    }

    .c_gray_info_section {
        padding: 15px;
    }

    .p_page_info_container .grid_area .column_left {
        background: none;
        margin-bottom: 15px
    }

    .p_page_info_container .grid_area .column_left .image_wrap {
        display: block;
        width: 100%
    }

    .p_page_info_container .grid_area .column_left .image_wrap img {
        width: 100%;
    }
}

@media only screen and (max-width:1024px) {
    .p_page_info_container .grid_area {
        grid-row-gap: 20px;
    }

    .p_page_info_container .info_wrap .inline_text {
        margin: 0px 0 7px;
    }

    .p_page_info_container .info_wrap .inline_text p {
        font-size: 16px;
    }

    .p_page_info_container .info_wrap .inline_text p:not(:first-child)::before {
        content: "";
        position: absolute;
        top: 4px;
        left: 0;
        width: 1px;
        height: 17px;
        background: #930303;
    }

    .p_page_info_container .info_wrap .inline_text p:not(:first-child) {
        padding-left: 13px;
        margin-left: 12px;
    }

    .p_page_info_container .info_wrap .info_title h3 {
        font-size: 20px;
    }

    .p_page_info_container .info_wrap .info_title p {
        font-size: 15px;
        margin-top: 5px;
    }

    .p_page_info_container .link_btn_wrap .black_btn {
        margin: 0 auto;
    }

    .p_page_info_container .link_btn_wrap {
        padding-bottom: 15px;
    }
}

@media only screen and (max-width:850px) {
    .p_page_info_container .grid_area {
        display: block;
        grid-column-gap: 0;
    }

    .c_gray_info_section {
        padding: 15px;
    }

    .p_page_info_container .grid_area .column_left {
        background: none;
        margin-bottom: 15px
    }

    .p_page_info_container .grid_area .column_left .image_wrap {
        display: block;
        width: 100%
    }

    .p_page_info_container .grid_area .column_left .image_wrap img {
        width: 100%;
    }

    .p_page_info_container .info_wrap .info_title.bar_left::before {
        top: 2px;
        bottom: 3px;
    }
}


/***********************************************************************************
TOP　籐製品オンライン直販
***********************************************************************************/

.product_list_section {
    position: relative;
    padding: 60px 0 85px;
    background-color:
}

.category_info_container {
    position: relative;
    background: #EFEFEF;
    padding: 0 30px;
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    -ms-border-radius: 10px;
    -o-border-radius: 10px;
    margin-bottom: 42px;
}

.category_info_container .category_nav {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    list-style: none;
    margin-left: -7px;
    margin-right: -7px;
}

.category_info_container .category_nav li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
}

.category_info_container .category_nav li a {
    position: relative;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 1.5;
    text-align: center;
    color: #101010;
    padding: 22px 0 24px;
}

.category_info_container .category_nav li a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 0%;
    height: 6px;
    background: #AF3634;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
}

.category_info_container .category_nav li a.active::before,
.category_info_container .category_nav li a:focus::before,
.category_info_container .category_nav li a:hover::before {
    width: 100%;
    left: 0;
}

.product_list_info_container {
    position: relative;
}

.product_list_info_container .product_list_info_wrap {
    position: relative;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    grid-column-gap: 30px;
    grid-row-gap: 60px;
}

.product_list_info_container .product_info_item {
    position: relative;
}

.product_list_info_container .product_info_item .product_info_item_link {
    position: relative;
    display: block;
    text-decoration: none !important;
    outline: none !important;
}

.product_list_info_container .product_info_item .image_wrap {
    width: 100%;
}

.product_list_info_container .product_info_item .info_wrap {
    position: relative;
    width: 100%;
    padding-top: 15px;
}

.product_list_info_container .product_info_item .image_wrap img {
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
}

.product_list_info_container .product_info_item .info_wrap .product_title {
    position: relative;
    font-weight: 600;
    font-size: 17px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    text-align: left;
    color: #101010;
}

.product_list_info_container .product_info_item .info_wrap .product_price {
    position: relative;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    color: #af3634;
    margin-top: 6px;
}

.product_list_info_container .product_info_item .info_wrap .product_text {
    position: relative;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    line-height: 1.5;
    text-align: left;
    color: #101010;
    margin-top: 15px;
}

/*.product_list_info_container .product_info_item .product_info_item_link:hover .image_wrap img {
    transform: scale(1.15);
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -ms-transform: scale(1.15);
    -o-transform: scale(1.15);
}*/

.product_list_info_container .product_list_info_wrap {
    position: relative;
}

.site_banner_info_section {
    position: relative;
    padding: 0 0 65px;
}

.site_banner_info_link {
    position: relative;
    display: block;
    text-decoration: none !important;
    outline: none !important;
}

.site_banner_info_link .image_wrap {
    width: 100%;
}

.site_banner_info_link .image_wrap img {
    width: 100%;
    transition: all 0.4s;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
}

a.site_banner_info_link:hover .image_wrap img {
    opacity: 0.7;
}

.accordion_info_container .accordion_item {
    display: none;
}

.accordion_info_container .accordion_item.active {
    display: block;
}

.accordion_info_container .accordion_title {
    display: none;
}

.page_main_info_section {
    position: relative;
    padding: 50px 0;
}

.product_list_section_bottom {
    position: relative;
    padding: 45px 0 85px;
    background-color:
}

.biz-bottom {
    margin-bottom: 100px !important
}

/***************************************************
【レスポンシブ】籐製品オンライン直販  
***************************************************/

@media only screen and (max-width:767px) {
    .product_list_section {
        padding: 40px 0;
    }

    .product_list_info_container .product_list_info_wrap {
        position: relative;
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(135px, 1fr));
        grid-column-gap: 15px;
        grid-row-gap: 30px;
    }

    .product_list_info_container .product_info_item .info_wrap .product_title {
        font-size: 14px;
    }

    .product_list_info_container .product_info_item .info_wrap .product_price {
        font-size: 12px;
    }

    .product_list_info_container .product_info_item .info_wrap .product_text {
        font-size: 14px;
        margin-top: 10px;
    }

    .product_list_section_bottom {
        position: relative;
        padding: 20px 0;
        background-color:
    }

    .accordion_info_container {
        position: relative;
    }

    .accordion_info_container .accordion_item {
        position: relative;
    }

    .accordion_info_container .accordion_item:not(:last-child) {
        margin-bottom: 4px;
    }

    .accordion_info_container .accordion_item .accordion_title {
        position: relative;
        padding: 9px 30px 9px 12px;
        background: #EFEFEF;
    }

    .accordion_info_container .accordion_item .accordion_title h3 {
        position: relative;
        font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
        font-weight: normal;
        font-size: 15px;
        line-height: 1.5;
        text-align: left;
        color: #101010;
    }

    .accordion_info_container .accordion_item .accordion_body {
        position: relative;
        display: none;
        padding: 15px 0 25px;
    }

    .accordion_info_container .accordion_item .accordion_title::before,
    .accordion_info_container .accordion_item .accordion_title::after {
        content: "";
        position: absolute;
        top: calc(50% - 1px);
        right: 10px;
        width: 15px;
        height: 1px;
        background-color: #727272;
        transition: all 0.3s;
        -webkit-transition: all 0.3s;
        -moz-transition: all 0.3s;
        -ms-transition: all 0.3s;
        -o-transition: all 0.3s;
    }

    .accordion_info_container .accordion_item .accordion_title.expanded::after {
        transform: rotate(90deg);
        -webkit-transform: rotate(90deg);
        -moz-transform: rotate(90deg);
        -ms-transform: rotate(90deg);
        -o-transform: rotate(90deg);
    }

    .product_list_info_container .product_list_info_wrap {
        margin-bottom: 30px;
    }

    .category_info_container {
        display: none;
    }

    .accordion_info_container .accordion_item {
        display: block;
    }

    .accordion_info_container .accordion_title {
        display: block;
    }

    .accordion_info_container .accordion_item .accordion_title.expanded {
        background: #AF3634;
    }

    .accordion_info_container .accordion_item .accordion_title.expanded h3 {
        color: #fff;
    }

    .accordion_info_container .accordion_item .accordion_title.expanded::before,
    .accordion_info_container .accordion_item .accordion_title.expanded::after {
        background: #fff;
    }

    .page_main_info_section {
        padding: 45px 0;
    }
    
    .biz-bottom {
    margin-bottom: 40px !important
}
}


/***********************************************************************************
　オンラインショップ　商品一覧
***********************************************************************************/

.c_gray_box {
    background: rgba(234, 234, 229, 0.4);
}

.hr_list_bottom {
    margin-top: 60px;
    display: block;
    width: 100%;
    height: 1px;
    background-color: #585858;
    border: 0;
}

.product_list_section_bottom .product_list_info_container .product_list_info_wrap {
    grid-template-columns: repeat(auto-fit, minmax(20%, 1fr));
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

.product_list_section_bottom .product_list_info_container .product_info_item .info_wrap {
    padding-top: 10px;
}

.product_list_section_bottom .product_list_info_container .product_info_item .info_wrap .product_title {
    font-size: 16px;
}

.product_list_section_bottom .product_list_info_container .product_info_item .info_wrap .product_price {
    font-size: 15px;
    margin-top: 2px;
}

@media only screen and (max-width:1300px) {
    .product_list_section_bottom .product_list_info_container .product_list_info_wrap {
        grid-template-columns: repeat(auto-fit, minmax(20%, 1fr));
        grid-column-gap: 15px;
        grid-row-gap: 15px;
    }
}

@media only screen and (max-width:767px) {
    .product_list_section_bottom .product_list_info_container .product_list_info_wrap {
        grid-template-columns: repeat(auto-fit, minmax(45%, 1fr));
        grid-column-gap: 15px;
        grid-row-gap: 15px;
    }

    .product_list_section_bottom .product_list_info_container .product_info_item .info_wrap {
        padding-top: 8px;
    }

    .product_list_section_bottom .product_list_info_container .product_info_item .info_wrap .product_title {
        font-size: 14px;
    }

    .product_list_section_bottom .product_list_info_container .product_info_item .info_wrap .product_price {
        font-size: 13px;
        margin-top: 0;
    }
}

/*******************************商品一覧TOP*******************************/
#shop_arc .shop_arc_kinds .wrap {
    display: flex;
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box {
    width: 50%;
    padding: 30px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box:first-of-type {
    margin-right: 45px
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box h3 {
    font-size: 22px;
    padding-left: 10px;
    margin: 17px 0;
    border-left: 5px solid #930303;
    font-weight: 600
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box img {
    transition: .7s all;
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box img:hover {
    opacity: 0.6
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box .link_btn_wrap {
    margin-top: 20px;
}

#shop_arc .shop_arc_kinds .wrap .c_gray_box .link_btn_wrap a {
    width: 100%;
    font-size: 18px
}

#shop_arc .shop_arc_kinds .biz {
    padding: 30px;
    margin-top: 45px
}

#shop_arc .shop_arc_kinds .biz .info_wrap {
    padding-top: 15px;
}

#shop_arc .shop_arc_kinds .biz .info_wrap .link_btn_wrap {
    margin-top: 30px;
}

#shop_arc .shop_arc_kinds .biz .info_wrap .link_btn_wrap a {
    width: 100%;
    font-size: 18px;
    padding-top: 13px;
    padding-bottom: 13px
}

#shop_arc .shop_arc_kinds .biz .grid_area .column_left {
    background: url(../../img/shop/arc_kind_biz@2x.jpg);
    background-position: center top;
    background-size: cover
}

#shop_arc .shop_arc_kinds .biz .grid_area .column_left img {
    display: none;
}

/***************************************************
【レスポンシブ】商品一覧TOP  
***************************************************/
@media screen and (min-width:1024px) and (max-width:1200px) {
    #shop_arc .shop_arc_kinds .biz .grid_area .column_left img {
        display: block;
    }
}

@media screen and (min-width:851px) and (max-width:1023px) {
    #shop_arc .shop_arc_kinds .biz .grid_area .column_left img {
        display: none;
    }
}

@media only screen and (max-width:850px) {
    #shop_arc .shop_arc_kinds .biz .grid_area .column_left img {
        display: block;
    }
}

@media only screen and (max-width:767px) {
    #shop_arc .shop_arc_kinds .wrap {
        display: block;
    }

    #shop_arc .shop_arc_kinds p {
        font-size: 15px
    }

    #shop_arc .shop_arc_kinds .wrap .c_gray_box {
        width: 100%;
        padding: 20px;
    }

    #shop_arc .shop_arc_kinds .wrap .c_gray_box:first-of-type {
        margin-right: 0;
        margin-bottom: 30px;
    }

    #shop_arc .shop_arc_kinds .wrap .c_gray_box h3 {
        font-size: 18px;
        padding-left: 10px;
        margin: 15px 0;
    }

    #shop_arc .shop_arc_kinds .wrap .c_gray_box .link_btn_wrap a {
        width: 100%;
        font-size: 16px
    }

    #shop_arc .c_gray_box .inner p,
    #shop_arc .c_gray_box .info_content p {
        font-size: 14px
    }

    #shop_arc .shop_arc_kinds .biz {
        padding: 20px;
        margin-top: 30px
    }

    #shop_arc .shop_arc_kinds .biz .info_wrap {
        padding-top: 5px;
    }

    #shop_arc .shop_arc_kinds .biz .info_wrap .link_btn_wrap {
        margin-top: 20px;
    }

    #shop_arc .shop_arc_kinds .biz .info_wrap .link_btn_wrap a {
        font-size: 16px;
        padding-top: 10px;
        padding-bottom: 10px
    }
}


/*******************************商品一覧大カテゴリTOP*******************************/
#shop_arc .sab_kinds .c_gray_box {
    padding: 20px;
    margin-bottom: 30px
}

#shop_arc .sab_kinds .c_gray_box:last-of-type {
    margin-bottom: 10px
}

#shop_arc .sab_kinds .c_gray_box .flex_inner {
    display: flex;
    align-items: center
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .image {
    line-height: 0;
    width: 45%;
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .com {
    width: 55%;
    padding-left: 40px
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .com h3 {
    font-size: 22px;
    padding-left: 10px;
    margin: 10px 0 5px;
    border-left: 5px solid #930303;
    font-weight: 600
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .com .sub_ttl {
    font-size: 18px;
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .com .sm_text {
    margin: 10px 0 15px;
    line-height: 2
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .com .link_btn_wrap {
    text-align: right;
}

#shop_arc .sab_kinds .c_gray_box .flex_inner .com .link_btn_wrap a {
    margin-bottom: 0;
    line-height: 1.7
}

/***************************************************
【レスポンシブ】商品一覧大カテゴリTOP  
***************************************************/
@media only screen and (max-width:767px) {

    #shop_arc .sab_kinds .c_gray_box {
        padding: 20px;
        margin-bottom: 25px
    }

    #shop_arc .sab_kinds .c_gray_box:last-of-type {
        margin-bottom: 10px
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner {
        display: block;
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .image {
        line-height: 0;
        width: 100%;
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .com {
        width: 100%;
        padding-left: 0
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .com h3 {
        font-size: 18px;
        margin: 15px 0 10px;
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .com .sub_ttl {
        font-size: 16px;
        font-weight: 600
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .com .sm_text {
        margin: 10px 0 15px;
        line-height: 1.9
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .com .link_btn_wrap {
        text-align: right;
    }

    #shop_arc .sab_kinds .c_gray_box .flex_inner .com .link_btn_wrap a {
        line-height: 1.5
    }

}


/*******************************商品詳細ページ*******************************/

#shop_sing .prodact_detail {
    display: flex
}

#shop_sing .prodact_detail .product_slide_wrap {
    width: 55%
}

#shop_sing .prodact_detail .product_cart_wrap {
    width: 45%;
    padding-left: 40px;
}

#shop_sing .product_info {
    margin-top: 45px
}

#shop_sing .product_info p {
   line-height: 2;
    margin-bottom: 15px
}

#shop_sing .product_info p:last-of-type {
    margin-bottom: 0
}

@media only screen and (max-width:991px) {
    #shop_sing .prodact_detail {
        display: block
    }

    #shop_sing .prodact_detail .product_slide_wrap {
        width: 100%;
        max-width: 680px;
        margin: 0 auto 30px
    }

    #shop_sing .prodact_detail .product_cart_wrap {
        width: 100%;
        padding-left: 0;
        max-width: 680px;
        margin: 0 auto
    }

    #shop_sing .product_info {
        margin-top: 45px
    }
}

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

    #shop_sing .product_info {
        margin-top: 20px
    }
}


/*スライダー*/

.product_slide_wrap .bl_thumbSlideThumb .swiper-wrapper {
    margin-top: 5px;
}

.product_slide_wrap img {
    width: 100%
}
.product_slide_wrap img {
    height: auto;
    width: 100%;
}

.product_slide_wrap .thumbnail .slick-track {
    transform: unset !important;
    margin: 0;
    margin-top: 30px
}

/*******************************関連商品*******************************/

.related ul {
    display: flex;
    flex-flow: wrap;
    width: calc(100% + 20px);
}

.related ul li {
    width: calc(100% / 4 - 20px);
    margin-right: 20px
}

.related ul li:last-child {
    margin-right: 0
}

.related ul li a {
    color: #101010
}

.related ul li .product_title {
    margin-top: 8px;
    font-size: 15px
}

.related ul li .product_price {
    font-size: 15px;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    color: #AF3634
}

@media only screen and (max-width:767px) {
    .related ul {
        width: calc(100% + 15px);
    }

    .related ul li {
        width: calc(100% / 2 - 15px);
        margin-right: 15px;
        margin-bottom: 15px
    }

    .related ul li:nth-child(2n) {
        margin-right: 0
    }

    .related ul li .product_title {
        font-size: 14px
    }

    .related ul li .product_price {
        font-size: 13px;
    }
}


/***********************************************************************************
　籐あじろ一覧
***********************************************************************************/

    .blk_ttl {
        background-color: #0F0F0F !important;
        font-size: 20px;
        color:#fff;
        padding: 5px 12px
    }

.ajiro-syurui .blk_ttl {
    margin: 55px 0 25px
}

.ajiro-syurui-wrap {
    display: flex;
    margin-top: 25px
}

.ajiro-syurui-wrap h3 {
    font-weight: 600;
    font-size:22px;
    border-left:5px solid #930303;
    line-height: 1.2;
    padding-left: 8px;
    margin: 20px 0 20px
}

.ajiro-syurui-wrap .left,
.ajiro-syurui-wrap .right {
    width:calc(100% / 2);
    background: #fff;
    border:1px solid #101010;
    padding: 25px
}

.ajiro-syurui-wrap .left {
    margin-right: 50px
}

@media only screen and (max-width:767px) {
    .blk_ttl {
        font-size: 18px;
        padding: 5px 10px
    }

.ajiro-syurui .blk_ttl {
    margin: 35px 0 20px
}

.ajiro-syurui-wrap {
    display: block;
    margin-top: 20px
}

.ajiro-syurui-wrap h3 {
    font-size:18px;
    border-left:5px solid #930303;
    line-height: 1.2;
    padding-left: 8px;
    margin: 15px 0
}

.ajiro-syurui-wrap .left,
.ajiro-syurui-wrap .right {
    width:100%;
    padding: 20px
}

.ajiro-syurui-wrap .left {
    margin-right: 0;
    margin-bottom: 20px
}
}

/***********************************************************************************
　お知らせ一覧
***********************************************************************************/

.bl_vertPosts_item {
    display: -ms-flexbox;
    display: flex;
    padding: 20px 0;
    border-bottom: 1px dotted #707070;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: 400;
    line-height: 1.6;
    align-items: center
}

.bl_vertPosts_item:first-child {
    border-top: 1px dotted #707070;
}

.bl_vertPosts_meta {
    margin-right: 8px;
    -ms-flex: 0 0 220px;
    flex: 0 0 220px;
}

.bl_vertPosts_date {
    display: inline-block;
    margin-right: 30px;
    font-size: 15px
}

.bl_vertPosts_label {
    font-size: 12px;
    background-color: #af3634;
    padding: 2px 0px;
    border-radius: 20px;
    display: inline-block;
    min-width: 85px;
    text-align: center
}

.bl_vertPosts_label a {
    color: #fff;
    text-decoration: none
}

.bl_vertPosts_ttl {
    text-decoration: none;
    color: #000;
}

@media (any-hover: hover) {

    .bl_vertPosts_ttl:focus,
    .bl_vertPosts_ttl:hover {
        text-decoration: underline;
    }
}

@media all and (-ms-high-contrast: none) {

    .bl_vertPosts_ttl:focus,
    .bl_vertPosts_ttl:hover {
        text-decoration: underline;
    }
}

@media screen and (max-width: 767px) {
    .bl_vertPosts_item {
        line-height: 1.4;
    }

    .bl_vertPosts_item {
        display: block;
        padding: 10px 0;
    }

    .bl_vertPosts_meta {
        margin-right: 0;
        margin-bottom: 8px;
    }

    .bl_vertPosts_date {
        margin-right: 10px;
    }

    .bl_vertPosts_ttl {
        font-size: 14px;
    }


    .bl_vertPosts_label {
        font-size: 12px;
        padding: 2px 0px;
        min-width: 65px;
    }
}

/*投稿ページ詳細
---------------------------------------------------------------------------*/
.page_cont {
    margin: 65px 0 !important
}
.single_cont {
    background: #fff;
    padding: 65px;
}

.single_cont .topics_date {
    font-size: 15px;
    line-height: 1;
    margin-bottom: 0
}

.single_cont .single_ttl {
    font-size: 26px;
    font-weight: 400;
    border-bottom: 1px dotted #453C3C;
    margin: 8px 0 30px 0;
    padding-bottom: 10px
}

.single_cont p {
    margin-bottom: 15px;
    line-height: 2
}

.single_cont p:last-of-type {
    margin-bottom: 0
}

.single_cont img {
    margin-bottom: 13px
}

.single_cont h1,
.single_cont h2,
.single_cont h3,
.single_cont h4,
.single_cont h5,
.single_cont h6 {
    font-weight: 600;
    margin-bottom: 15px
}

.single_cont h1 {
    font-size: 38px
}

.single_cont h2 {
    font-size: 33px
}

.single_cont h3 {
    font-size: 26px
}

.single_cont h4 {
    font-size: 23px
}

.single_cont h5 {
    font-size: 20px
}

.single_cont h6 {
    font-size: 18px
}

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

    .single_cont {
        margin-top: 30px;
        padding: 25px;
    }

    .single_cont .single_ttl {
        font-size: 18px;
        font-weight: 600;
        margin: 0 0 25px 0
    }

    .single_cont p {
        line-height: 1.8
    }

    .single_cont h1 {
        font-size: 26px
    }

    .single_cont h2 {
        font-size: 24px
    }

    .single_cont h3 {
        font-size: 22px
    }

    .single_cont h4 {
        font-size: 20px
    }

    .single_cont h5 {
        font-size: 18px
    }

    .single_cont h6 {
        font-size: 16px
    }
.page_cont {
    margin: 40px 0 !important
}
}




/***********************************************************************************
制作事例
***********************************************************************************/
.works-list {
    display: flex
}

.works-list .main-works {
    width: calc(100% - 200px);
    padding-right: 50px;
    padding-bottom: 80px
}

.works-list .side-works {
    width: 200px;
}

.works-list .works_wrap {
    display: flex;
    margin-bottom: 35px
}

.works-list .works_wrap .image {
    width: 300px
}

.works-list .works_wrap .cont {
    width: calc(100% - 300px);
    padding-left: 35px
}

.works-list .works_wrap .cont a {
    color: #101010
}

.works-list .works_wrap .cont h3 {
    font-size: 22px;
    margin-bottom: 10px
}

.works-list .works_wrap .cont .works_nav {
    font-size: 15px
}

.works-list .works_wrap .cont .works_nav .cat {
    background-color: #930303;
    color: #fff;
    padding: 3px 5px;
    font-size: 12px;
    margin-right: 8px
}

.works-list .works_wrap .cont .works_excerpt {
    font-size: 14px;
    margin-top: 15px
}


@media screen and (max-width: 1300px) {
    .works-list .works_wrap .image {
        width: 250px
    }

    .works-list .works_wrap .cont {
        width: calc(100% - 250px);
        padding-left: 20px
    }
}

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

    .works-list {
        display: flex;
        flex-flow: column;
        flex-direction: column-reverse
    }

    .works-list .main-works {
        width: 100%;
        padding-right: 0;
        padding-bottom: 0;
        padding-top: 25px
    }

    .works-list .side-works {
        width: 100%;
    }
}

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


    .works-list .main-works {
        padding-top: 20px
    }

    .works-list .works_wrap {
        display: flex;
        flex-flow: column;
        margin-bottom: 25px;
        background-color: rgba(255, 253, 245, 0.78);
        border: 1px solid #d1cdc5;
        padding: 15px
    }

    .works-list .works_wrap .image {
        width: 100%;
        margin-bottom: 10px
    }

    .works-list .works_wrap .cont {
        width: 100%;
        padding-left: 0
    }

    .works-list .works_wrap .cont h3 {
        font-size: 18px;
        margin-bottom: 6px
    }

    .works-list .works_wrap .cont .works_nav {
        font-size: 14px
    }

    .works-list .works_wrap .cont .works_nav .cat {
        padding: 3px 4px;
        font-size: 12px;
    }

    .works-list .works_wrap .cont .works_excerpt {
        font-size: 13px;
        margin-top: 12px
    }
}


/*ウィジェット
---------------------------------------------------------------------------*/
.cat_pc {
    display: block
}

.cat_sp {
    display: none
}

.bl_widget_ttl {
    font-size: 22px;
    padding: 0 0 10px;
    border-bottom: 1px solid #101010;
}

.bl_widget_body {
    padding: 25px 15px;
}

.bl_widget_links > li {
    position: relative;
    margin-bottom: 10px;
    padding-left: 18px;
}

.bl_widget_links > li::before {
    display: block;
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 8px;
    height: 14px;
    background-image: url(../../common/img/arrow_right.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.bl_widget_links a {
    color: #101010;
    text-decoration: none;
}

@media (any-hover: hover) {

    .bl_widget_links a:focus,
    .bl_widget_links a:hover {
        text-decoration: underline;
    }
}

@media all and (-ms-high-contrast: none) {

    .bl_widget_links a:focus,
    .bl_widget_links a:hover {
        text-decoration: underline;
    }
}

/*ウィジェット  レスポンシブ*/
@media screen and (max-width: 991px) {
    .cat_pc {
        display: none
    }

    .cat_sp {
        display: block
    }

    .bl_widget_ttl {
        position: relative;
        font-size: 1.5rem;
        cursor: pointer;
        margin-bottom: 12px
    }

    .bl_widget_ttl {
        border: 1px solid #101010;
        font-size: 15px;
        padding: 0.6em 0.4em;
        font-weight: bold;
        text-align: center;
    }

    .bl_widget_ttl::after {
        display: inline-block;
        margin-left: 0.4em;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0.81em 0.47em 0 0.47em;
        border-color: #101010 transparent transparent transparent;
        content: "";
        -webkit-transition: all 0.25s ease-out;
        transition: all 0.25s ease-out;
    }

    .bl_widget_ttl.is_active::after {
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
    }

    .bl_widget_body {
        display: none;
        padding: 15px;
    }
}

/***********************************************************************************
制作事例詳細ページ
***********************************************************************************/

.works_contents h3 {
    font-size: 30px;
}

.works_contents .works_nav {
    font-size: 15px;
    margin: 5px 0 30px
}

.works_contents .works_nav .cat {
    background-color: #930303;
    color: #fff;
    padding: 3px 5px;
    font-size: 12px;
    margin-right: 8px
}

.works_contents .single_cont {
    padding: 0;
}

@media screen and (max-width: 767px) {
    .works_contents h3 {
        font-size: 18px;
    }

    .works_contents .works_nav {
        font-size: 14px;
        margin: 5px 0 20px
    }

    .works_contents .single_cont {
        padding: 0 0 30px;
        margin-top: 0
    }
}


/***********************************************************************************
下階層　固定ページ共通
***********************************************************************************/

.blk_bar_ttl {
        background-color: #0F0F0F !important;
        font-size: 20px;
        color:#fff;
        padding: 5px 12px;
    margin-bottom: 30px
    }

.red_bar_ttl {
        background-color: #930303 !important;
        font-size: 20px;
        color:#fff;
        padding: 5px 12px;
    margin-bottom: 30px
    }

.bbk_btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 290px;
    background: #101010;
    padding: 10px 10px;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
    font-weight: normal;
    font-size: 15px;
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    border: 1px solid #101010;
    margin: 0 auto
}

.bbk_btn span {
    color: #fff;
}

.bbk_btn::before {
    background: #fff;
}

.bbk_btn:hover span {
    color: #101010;
}

.red {color:red}

.green {color:green}

.small_text {
    font-size: 90%;
}

.hr-dot {
    border-top: 1px dotted #101010;
    border-right: none;
    border-bottom: none;
    border-left: none;
    margin: 40px auto
}

@media only screen and (max-width:767px) {
.blk_bar_ttl {
        font-size: 17px;
        padding: 4px 10px 7px
    }

.red_bar_ttl {
        font-size: 17px;
        padding: 4px 10px 7px
    }

.hr-dot {
    margin: 25px auto
}

.bbk_btn {
    max-width: 250px;
    padding: 10px 0;
}

}
/***********************************************************************************
下階層　職人の技
***********************************************************************************/

#waza .waza-greeting p {
    line-height: 2
}

.waza-kodawari {
    margin: 55px 0
}

.waza-kodawari .kodawari_wrap {
    background-color: #efefeb;
    padding: 20px;
    display: flex;
    margin-bottom: 30px
}

.waza-kodawari .kodawari_wrap p {
    line-height: 1.9
}

.waza-kodawari .kodawari_wrap .left {
    width:45%
}

.waza-kodawari .kodawari_wrap .right {
    width:55%;
    padding-left: 55px
}

.kodawari_ttl_wrap {
    border-left:6px solid #AF3634;
    padding: 4px 0 2px 15px;
    margin: 35px 0 30px
}

.kodawari_ttl_wrap h3 {
    font-size:30px;
    font-weight: bold;
    line-height: 1.2
}

.kodawari_ttl_wrap p {
    font-size:20px;
    line-height: 1.2;
    margin-top: 2px
}

.waza-works {
    background-color: #efefeb;
    padding: 50px;
}

.waza-works .kodawari_ttl_wrap {
    margin-top: 0
}

.waza-works .kodawari_ttl_wrap p {
    margin-top: 8px
}

.waza-works ul {
    display: flex;
    flex-flow: wrap;
    width: calc(100% + 8px)
    
}

.waza-works ul li {
    width: calc(100% / 3 - 8px);
    /*margin-bottom: -8px*/
    margin-right: 8px
}

.waza-works ul li:nth-child(3n){
    margin-right: 0
}

.waza-works ul li img {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}

@media only screen and (max-width:767px) {
.waza-kodawari {
    margin: 30px 0
}

.waza-kodawari .kodawari_wrap {
    padding: 20px 20px 25px 20px;
    display: block;
    margin-bottom: 30px
}

.waza-kodawari .kodawari_wrap .left {
    width:100%
}

.waza-kodawari .kodawari_wrap .right {
    width:100%;
    padding-left: 0
}

.kodawari_ttl_wrap {
    border-left:6px solid #AF3634;
    padding: 4px 0 2px 15px;
    margin: 15px 0 15px
}

.kodawari_ttl_wrap h3 {
    font-size:20px;
}

.kodawari_ttl_wrap p {
    font-size:15px;
}

.waza-works {
    background-color: #efefeb;
    padding: 20px 20px 10px 20px;
}

.waza-works .kodawari_ttl_wrap {
    margin-top: 0
}

.waza-works .kodawari_ttl_wrap p {
    margin-top: 8px
}

.waza-works ul {
    display: flex;
    flex-flow: wrap;
    width: calc(100% + 8px)
    
}

.waza-works ul li {
    width: calc(100% / 3 - 8px);
    /*margin-bottom: -8px*/
    margin-right: 8px
}

.waza-works ul li:nth-child(3n){
    margin-right: 0
}

.waza-works ul li img {
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
}
}

/***********************************************************************************
下階層　オーダーメイド
***********************************************************************************/

.ordermade_btn a{
    font-size: 17px;
}

.ordermade_fee {
    margin-top: 50px
}

.ordermade_fee p {
    line-height: 1.9
}

.ordermade_fee img.max600 {
    max-width: 600px;
    margin: 30px 0 20px
}

.ordermade_mihon_wrap {
    display: flex;
    margin: 35px 0
}

.ordermade_mihon_wrap .left {
    width: 180px
}

.ordermade_mihon_wrap .right {
    width: calc(100% - 180px);
    padding-left: 45px
}

.ordermade_mihon_wrap .right h4 {
    font-size: 20px;
    font-weight: 600;
    border-bottom:3px solid #af0505;
    margin-bottom: 15px;
    padding: 0 5px 5px ;
    display: inline-block
    
}

.ordermade_mihon_wrap .txt_calc {
    font-size: 25px;
}

.ordermade_fee .ordermade_total {
    text-align: center;
    border-bottom:3px solid #930303;
    display: inline-block;
    font-size: 18px
}

.ordermade_fee .ordermade_total span {
    font-size: 26px
}

.ordermade_flow {
    margin-top: 45px
}

.ordermade_flow a {
    color:#101010
}

.ordermade_flow .tel {
    font-size: 30px;
    line-height: 1.6;
    margin: 15px 0 20px
}

.ordermade_flow .bbk_btn {
    margin: 0;
    font-size: 18px
}

.ordermade_flow .ordermade_btn a{
    font-size: 18px;
}


@media only screen and (max-width:767px) {
.ordermade_btn a{
    font-size: 15px !important;
}

.ordermade_fee {
    margin-top: 35px
}

.ordermade_fee p {
    line-height: 1.8
}

.ordermade_fee img.max600 {
    margin: 20px 0 10px
}

.ordermade_mihon_wrap {
    display: flex;
    flex-flow: column;
    flex-direction: column-reverse;
    margin: 30px 0
}

.ordermade_mihon_wrap .left {
    width: 100%;
    text-align: center
}
    
    .ordermade_mihon_wrap .left img {
        max-width: 200px
    }

.ordermade_mihon_wrap .right {
    width: 100%;
    padding-left: 0
}

.ordermade_mihon_wrap .right h4 {
    font-size: 16px;
    border:none;
    background: #af0505;
    color:#fff;
    margin: 0 0 20px;
    padding: 2px 10px ;
    display: block;
}

.ordermade_mihon_wrap .txt_calc {
    font-size: 20px;
}

.ordermade_fee .ordermade_total {
    text-align: left;
    border-bottom:none;
    display: block;
    font-size: 15px
}

.ordermade_fee .ordermade_total span {
    font-size: 17px;
}

.ordermade_flow {
    margin-top: 30px
}

.ordermade_flow .tel {
    font-size: 22px;
    line-height: 1.4;
    margin: 15px 0 20px
}

.ordermade_flow .bbk_btn {
    margin: 0;
    font-size: 18px
}

.ordermade_flow .ordermade_btn a{
    font-size: 15px !important;
}

    .ordermade_flow .ordermade_btn {
        max-width: 220px
    }
}


/***********************************************************************************
下階層　オーダーメイド家庭用
***********************************************************************************/

.fee_meyasu {
    border:1px solid #A7A7A7;
    padding: 20px;
    display: inline-block;
    margin-top: 20px
}

.fee_meyasu p {
    font-size: 23px;
    line-height: 1.5
}

#homemade .ordermade_mihon_wrap .left {
    width: 330px
}

#homemade .ordermade_mihon_wrap .right {
    width: calc(100% - 330px);
    padding-left: 50px
}

@media only screen and (max-width:767px) {
.fee_meyasu {
    padding: 15px;
    margin-top: 20px
}

.fee_meyasu p {
    font-size: 17px;
    line-height: 1.6
}

#homemade .ordermade_mihon_wrap .left {
    width: 100%
}

#homemade .ordermade_mihon_wrap .right {
    width: 100%;
    padding-left: 0
}

 #homemade .ordermade_mihon_wrap .left img {
        margin-top: 25px;
     max-width: 300px
    }
}


/***********************************************************************************
下階層　加工・修理
***********************************************************************************/

.repair-wrap {
    margin-top: 50px
}

.repair-photo {
    display: flex;
    margin: 25px 0
}

.repair-photo li {
    margin-right: 15px
}

.repair-photo li:last-child {
    margin-right: 0
}

.repair-wrap .repair_item_ttl {
    font-weight: 600;
    margin: 20px 0 10px
}

.repair_item_list {
    list-style: disc;
    padding-left: 2em;
}

.repair-kakou {
    display: flex;
    margin: 35px 0
}

.repair-kakou h4 {
    background: #005a07;
    text-align: center;
    color:#fff;
    padding: 5px 0;
    margin-bottom: 10px
}

.repair-kakou .left {
    width: 50%;
    margin-right: 20px
}

.repair-kakou .right {
    width: 50%
}

.repair-kakou .ba {
   display: flex;
    text-align: center;
    font-size: 14px
}

.repair-kakou .ba figure:first-of-type {
    margin-right: 10px
}

.kakou-wrap .graph {
    max-width: 600px
}

.kakou-wrap ul {
    display: flex
}

.kakou-wrap ul li {
    width:calc(100% / 3);
    margin-right: 25px
}

.kakou-wrap ul li h5 {
    background: #005a07;
    text-align: center;
    color:#fff;
    padding: 5px 0;
}

.kakou-wrap ul li p {
    font-size: 15px;
    line-height: 1.7
}

.kakou-wrap  h4 {
    font-size: 20px;
    font-weight: 600;
    border-bottom:3px solid #af0505;
    margin: 25px 0 35px;
    padding: 0 5px 5px ;
    display: inline-block
    
}

@media only screen and (max-width:767px) {
.repair-wrap {
    margin-top: 30px
}

.repair-photo {
    display: flex;
    margin: 15px 0
}

.repair-photo li {
    margin-right: 10px
}

.repair_item_list {
    padding-left: 1.5em;
}

.repair-kakou {
    display: block;
    margin-top: 30px
}

.repair-kakou .left {
    width: 100%;
    margin-right: 0
}

.repair-kakou .right {
    width: 100%;
    margin: 20px 0 30px
}


.kakou-wrap ul {
    display: block
}

.kakou-wrap ul li {
    width:100%;
    margin-right: 0;
    margin-bottom: 20px
}

.kakou-wrap  h4 {
    font-size: 17px;
    margin: 20px 0 25px;
    padding: 0 5px 5px ;
    display: inline-block
    
}
}

/***********************************************************************************
下階層　加工・修理
***********************************************************************************/

.maintenance-wrap p {
    line-height: 1.9
}

.maintenance-wrap ul {
    list-style:inside;
    padding-left: .5em;
    line-height: 2
}

.maintenance-img {
    max-width: 600px;
    margin-top: 30px
}

/***********************************************************************************
下階層　よくある質問
***********************************************************************************/

.question_contents {
    margin-top: 50px
}
/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    margin:45px auto 0;
    font-family: -apple-system, Segoe UI, Helvetica Neue, Hiragino Kaku Gothic ProN, "メイリオ", meiryo, sans-serif;
}

.accordion-area li{
    margin: 0 0 25px;
}

.accordion-area li p {
    line-height: 2
}

.accordion-area section {
	border: 1px solid #ccc;
}


/*アコーディオンタイトル*/
.title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:17px;
    font-weight: bold;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
    background-color: #fff;
}

/*アイコンの＋と×*/
.title::before,
.title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.title::before{
    top:48%;
    left: 18px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 18px;
    transform: rotate(90deg);

}
/*　closeというクラスがついたら形状変化　*/
.title.close::before{
	transform: rotate(45deg);
}

.title.close::after{
	transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
	margin:0 3% 3% 3%;
    padding: 3%;
}

@media only screen and (max-width:767px) {
.question_contents {
    margin-top: 30px
}

/*アコーディオンタイトル*/
.title {
    font-size:15px;
    padding: 3% 3% 3% 45px;
}

.title::before{
    top:48%;
    left: 15px;
    transform: rotate(0deg);
    
}
.title::after{    
    top:48%;
    left: 15px;
    transform: rotate(90deg);

}
}

/***********************************************************************************
下階層　会社概要
***********************************************************************************/

.company_mv{
    margin: 30px 0
}

.company_contents table {
    border-collapse:separate;
    border-spacing:3px;
    width: 100%;
    margin: 40px 0
}

.company_contents table th,.company_contents table td {
    border:1px solid #d3d3d3;
    padding: 10px 25px
}



.company_contents table th {
    background-color: #f2f2f2;
    vertical-align: middle
}

@media only screen and (max-width:767px) {
.company_mv{
    margin: 25px 0
}

.company_contents table {
    border-collapse:collapse;
    width: 100%;
    margin: 25px 0;
    border-top:1px solid #d3d3d3;
}

.company_contents table th,.company_contents table td {
    border:1px solid #d3d3d3;
    
    padding: 5px 10px;
    display: block;
}

.company_contents table th {
    background-color: #f2f2f2;
     border-bottom:none;
    border-top:none
}
}
/***********************************************************************************
下階層　会社概要
***********************************************************************************/


.tokusyo_contents {
    margin-top: 50px
}

.tokusyo_contents table {
    margin: 30px 0 45px
}

.tokusyo_contents table th,.tokusyo_contents table td {
    padding: 15px 0 ;
    border-bottom:1px solid #bababa
}


.tokusyo_contents table .bd_non {
    border-bottom:none;
    padding-bottom: 0;
}

.tokusyo_contents table th {
    width:13em;
}

.tokusyo_contents table h4 {
    font-weight: bold;
    font-size:17px;
    margin-bottom: 10px
}

.tokusyo_contents table ul {
    list-style: decimal;
    padding-left: 1.5em
}

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

.tokusyo_contents {
    margin-top: 35px
}

.tokusyo_contents table th.bd_non {
    border:1px solid #848484;
    padding: 3px 10px ;
}

.tokusyo_contents table {
    margin: 20px 0 40px;
    font-size:15px
}

.tokusyo_contents table th,.tokusyo_contents table td {
    padding: 15px 5px ;
    display:block;
    width:100%;
    border:none
}

.tokusyo_contents table th {
    border:1px solid #848484;
    background-color: #fff;
    padding: 3px 10px ;
}

.tokusyo_contents table h4 {
    font-size:15px;
    margin-bottom: 6px
}

.tokusyo_contents table ul {
    list-style: decimal;
    padding-left: 1.5em
}
}

/*下階層ページ :個人情報保護方針
---------------------------------------------------------------------------*/

.app_content_policy .law_headline_ttl {
    font-size: 22px;
    margin-bottom: 15px
}

.app_content_policy .law_ttl {
    font-size: 20px;
    margin: 25px 0 20px;
    border-bottom: 1px solid #573c0f;
    padding-bottom: 7px
}

.app_content_policy h3 {
    font-size: 18px;
    margin: 25px 0 10px
}

.app_content_policy ol {
    list-style: decimal;
    margin: 15px 0 15px 1.5em;
}

.app_content_policy ol li {
    margin-bottom: 3px
}

.app_content_policy ol p {
    margin-left: 0.5em;
    line-height: 1.8
}

.app_content_policy ul {
    list-style: disc;
    margin: 15px 0 15px 1.5em;
}

.app_content_policy ol li ul li {
    margin-bottom: 5px
}

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


/*下階層ページ :ご利用ガイド
---------------------------------------------------------------------------*/

.scroll-table {
  overflow: auto;
  white-space: nowrap;
}

.scroll-table table.conv_table th,.scroll-table table.conv_table td {
    white-space: nowrap !important;
    text-align: center !important;
    padding: 8px 5px
}

.guide a {
    color: #1641a0;
    text-decoration: underline
}

.guide .law_ttl {
    font-size: 20px;
    margin: 25px 0 20px;
    border: 1px solid #7e7e7e;
    padding: 10px ;
    background: #fff;
}

.guide .law_ttl:first-of-type {
    margin-top: 0
}

.guide h3 {
    font-size: 18px;
    margin: 25px 0 20px;
    background-color: #2c2c2c;
    color: #fff;
    padding: 4px 8px 3px
}

.guide h4 {
    background-color: #2c2c2c;
    color: #fff;
    padding: 4px 10px 3px;
    display: inline-block;
    margin: 20px 0 15px;
    font-size: 19px;
}

.guide p {
    margin-left: 0.5em;
    line-height: 1.8
}

.guide ul {
    list-style: disc;
    margin-left: 1.5em;
    font-size: 16px;
}

.guide ul li {
    margin-bottom: 5px;
}

.guide ol {
    list-style: decimal;
    margin: 20px 0 20px 15px
}

.guide ol li {
    margin-bottom: 5px
}

.guide .attention {
    margin: 10px 0;
    font-size: 13px
    color:#c30000
}


ul.point_att {
    margin-left: 0.5em;
    list-style: none;
    margin-bottom: 1rem
}

ul.point_att li {
    margin-bottom: 5px;
}

ul.point_att li::before {
    content: "※";
    margin-right: 2px
}

table.conv_table {
    width: auto;
    border-collapse: collapse;
    border-top: solid 1px #cccccc;
    font-size: 15px;
	margin: 15px 0;
    background: #fff;
}

table.conv_table th,
table.conv_table td {
    border: solid 1px #cccccc;
    padding: 10px;
    white-space: nowrap
}

table.conv_table th {
    width: 17em;
    background-color: #eaeaea;
    text-align: center
}

table.conv_table  .prc {text-align: center}

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



.guide .law_ttl {
    font-size: 16px;
    margin: 25px 0 20px;
    border: 1px solid #573c0f;
    padding: 6px ;
    background: #fff;
}

.guide h4 {
    background-color: #341E10;
    color: #fff;
    padding: 4px 10px 3px;
    display: inline-block;
    margin: 15px 0 10px;
    font-size: 16px;
}

    .guide p {
        font-size: 14px;
    }

    .guide p {
        margin-left: 0;
        line-height: 1.65
    }

    table.conv_table th,
    table.conv_table td {
        white-space:normal;
        font-size: 14px;
        text-align: center;
        border-top:none;
        text-align: left !important
    }
    
    .guide ul {
       font-size: 14px; 
    }

}


/*---------------------------------------------------------------
 下階層 お問合せ
---------------------------------------------------------------*/
.form {
    margin-right: auto;
    margin-left: auto;
    max-width: 880px;
    padding: 0;
    margin-top: 40px;
    font-size: 16px
}

.form__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: baseline;
    padding: 20px 0 20px;
    border-bottom: 1px dotted #707070;
    font-family: "Helvetica", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    -webkit-box-align: baseline;
    align-items: baseline;
}

.firefox .form__item {
    -ms-flex-align: start;
    -webkit-box-align: start;
    align-items: flex-start;
}

.form__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    width: 235px;
    -webkit-box-align: center;
    align-items: center;
}

.firefox .form__ttl {
    padding-top: 7px;
}

.form__ttl-item {
    margin-right: 12px;
    font-weight: 500;
    font-size: 17px;
}

.form__ttl-cat--red span {
    background-color: #CE0010;
}

.form__ttl-cat--blue span {
    background-color: #4676D3;
}

.form__ttl-cat span {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    -ms-flex-align: center;
    padding:5px 6px 4px;
    border-radius: 3px;
    color: #fff;
    font-weight: 300;
    font-size: 12px;
    line-height: 1;
    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: center;
    justify-content: center;
}

.form__data {
    width: calc(100% - 213px);
}

.form__txt {
    display: block;
    padding: 5px 12px;
    width: 100%;
    height: 42px;
    border: 1px solid #707070;
    background-color: #fff;
    color: #4A3535;
    font-size: 1.8rem;
}

.form__content {
    display: block;
    padding: 5px 12px;
    width: 100%;
    height: 195px;
    border: 1px solid #707070;
    background-color: #fff;
    color: #4A3535;
    font-size: 18px;
}

.form-link {
    display: block;
    margin-top: 20px;
    margin-right: auto;
    margin-left: auto;
    padding: 10px 45px;
    background-color: #0D2350;
    color: #fff;
    font-size: 16px;
    cursor: pointer;
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    will-change: transform;
    border: none;
    font-weight: 600
}

.form-link:first-of-type {
    margin-top: 40px;
}

.form-link:hover {
    opacity: 0.8;
}

.submit_fin {
    text-align: center;
}
.submit_fin .fin {
    font-weight: 600;
    font-size: 32px;
    color:#1d22a0; 
}

.form__ttl-cat {
    font-size: 12px;
    color:#fff;
    border-radius: 5px;
    padding:5px 7px;
    line-height: 1
}
.form__ttl-cat--red {
    background-color: #CE0010;
}

.form__ttl-cat--blue {
    background-color: #4676D3;
}


@media screen and (max-width: 767px) {
    .form__item {
        display: block;
        padding: 18px 10px;
    }

    .form__ttl {
        width: 100%;
    }

    .form__data {
        margin-top: 10px;
        width: 100%;
    }

.submit_fin {
    text-align: left;
}
.submit_fin .fin {
    text-align: center;
    font-size: 25px;
}
}