/**============
Scroll　setting
=============**/
#products .images div{
    width: 98%;
}

.images div.slick-slide {
    overflow: hidden;
}
.images p {
	margin: auto;
	display: block;
	visibility: hidden;
	/* 画像が透過pngの時は背景色が必要です */
	position: absolute;
	top: 0;
	bottom: 0;
	/* フェード速度 */
	transition: .8s;
	opacity: 0;
}
.images p:first-child,
.images p.active {
	visibility: visible;
	opacity: 1;
}

@media screen and (max-width:991px) {
    #products .images div{
        width: 100%;
    }
}

@media screen and (max-width:540px) {
    .padding_add {
        padding: 0 10px;
    }
}



/**===================
main_img_zone text
====================**/
.main_img_zone h2 {
    font-size: 2rem;
    margin-bottom: 0;
}




/**============
products
=============**/
#products.p-detail p span.big_font {
    color:#514939 ;
}
#products .page_title_zone {
    border-bottom: 1px solid #707070;
}
#products .page_title_zone .inner_title_zone {
    justify-content: space-between;
    margin-bottom: 10px;
    /*padding: 0 10px;  20260525 **/
}
#products .page_title_zone p.page_title {
    font-size: 1.7rem;
}
#products .page_title_zone p.page_title span {
    font-size: 0.8rem;
    margin-left: 2rem;
    letter-spacing: 2px;
}
#products .page_title_zone .page_logo {
    width: 10rem;
    height: auto;
    margin-top: 15px;
}

@media screen and (max-width:991px) {
    #products .page_title_zone .inner_title_zone {
        justify-content: center;
        margin-bottom: 10px;
        margin-top: 6rem;
        line-height: 1.2;
    }
    #products .page_title_zone p.page_title span {
        margin-left: 0rem;
    }
}
@media screen and (max-width:540px) {
    #products .page_title_zone .inner_title_zone {
        justify-content: space-between;
        margin-bottom: 10px;
        margin-top: 10rem;
    }
    #products .page_title_zone p.page_title {
        font-size: 2.5rem;
        line-height: 1.5;
    }
    #products .page_title_zone p.page_title span {
        font-size: 1.8rem;
        margin-left: 0rem;
    }
    #products .page_title_zone .page_logo {
        width: 20rem;
        height: auto;
        margin-top: 15px;
    }
}




#products .sticky-container {
    position: relative;
}
#products .sticky-container .slide_zone {
    position: sticky;
    top: 5rem;
    /*height: 100vh;*/
    height: fit-content;
}
#products .sticky-container .slide_zone .slick-initialized {
    width: 96%;
}
#products .slide_zone .slick-track{
    padding-bottom: 20px;
}
#products .slider_thumb .slick-list {
    margin: auto;
    margin-left: 0;
}
#products .slide_zone .thumb .slick-list {
    width: 80%;
    margin: auto;
}
#products .slide_zone .thumb .slick-slide {
    padding: 0 5px;
    padding-bottom: 20px;
}
#products .slide_zone .slick-list .slick-slide img {
    border-radius: 5px ;
    box-shadow: 3px 3px 6px #D6D6D6;
}

#products .slide_zone {
    margin-top: 3rem;
   /* margin-bottom: 2.2rem;*/

}
#products .slide_zone .sliderArea {
    padding-left: 0;
}



@media screen and (max-width:991px) {
    #products .sticky-container {
        position: relative;
        justify-content: center;
    }
    .images div{
        width: 100%;
        height: auto;
        overflow: hidden;
        padding: 0;
    }
    #products .slide_zone {
        margin-top: 3rem;
        margin-bottom: 0rem;
        position: initial;
        top: 5rem;
        /*height: 100vh;*/
        height: fit-content;
    }
    #products .sticky-container .slide_zone {
        position: initial;
        top: 5rem;
        /*height: 100vh;*/
        height: fit-content;
    }

}

@media screen and (max-width:540px) {
    #products .slide_zone .slick-track{
        padding-bottom: 20px;
    }
}

/*
#products .sub_title_zone p span.big_font {
    font-size: 1.8rem !important;
}
*/
#products .border_left {
    border-left: 1px solid #707070;
}
#products .border_right {
    border-right: 1px solid #707070;
}
#products .border_top {
    border-top: 1px solid #707070 !important;
}
#products .text_info {
    /*height: fit-content;*/
    height: auto;
}
#products .contents {
    margin-top: 3rem;
    /*margin-bottom: 0.5rem;*/
    margin-right: 0;
}
#products .contents .group {
    border-bottom: 1px solid #707070;
}
/*
#products .contents .download .sub_title_zone {
    position: relative;
}
#products .contents .download .sub_title_zone:after {
    content: url("../img/arrow_img_top.png");
    position: absolute;
    right: 0;
    top: 0;
    bottom: 27px;
    margin: auto;
    width: auto;
    height: 0.8rem;
    transform: rotate(45deg);
}

#products .contents .group .sub_title_zone.close:after {
    transform: rotate(0deg);
}
*/
#products .contents .info_comment {
    font-size: 1.2rem;
}
#products .contents .group .title span {
    margin-right: 1rem;
}
#products .big_font {
    font-size: 1.4rem !important;
}
#products .big_small {
    font-size: 0.6rem !important;
}
/*
#products .contents .first-info p:nth-child(2) {
    font-size: 0.9rem;
}
*/
#products .contents table th {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 0.8rem;
    font-weight: 500;
}
#products .contents table td {
    font-size: 0.8rem;
    padding-left: 3rem;
}
#products .contents table td.color_rd {
    vertical-align: top;
    line-height: 1.4;
}
#products .contents .group02 .color_img {
    width: 6rem;
    height: auto;
    border-radius: 5px;
}
#products .contents .group03 .option {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
}
img.pdf_icon {
    width: 0.9rem;
    height: auto;
    margin-left: 0.5rem;
    margin-bottom: 4px;
}
#products .contents .group03 .option p.zen {
    font-weight: 500;
}

@media screen and (max-width:1280px) {
    img.pdf_icon {
        /*width: 1.3rem;*/
        width: 0.8rem;
        height: auto;
        margin-left: 0.5rem;
        margin-bottom: 0;
    }
    #products .sub_title_zone p span.big_font {
        font-size: 1.5rem !important;
    }
    
    /*
    #products .contents .download .sub_title_zone:after {
        content:"";
        position: absolute;
        right: 5px;
        top: 0;
        bottom: 0px;
        margin: auto;
        width: 5px;
        background-image:  url("../img/arrow_img_top.png");
        background-size: contain;   
        background-repeat: no-repeat;
        height: 2.8rem;
        transform: rotate(45deg);
    }*/

}

@media screen and (max-width:991px) {
    #products .contents {
        margin-top: 0rem;
        margin-bottom: 0.5rem;
        margin-right: 0;
    }
    /*
    #products .contents .download .sub_title_zone:after {
        content: url("../img/arrow_img_top.png");
        background-image: none;
        position: absolute;
        right: 0;
        top: 0;
        bottom: 27px;
        margin: auto;
        width: auto;
        height: 0.8rem;
        transform: rotate(45deg);
    }
    */
    #products .big_font {
        font-size: 1.5rem !important;
    }
    #products .sub_title_zone p span.big_font {
        font-size: 1.5rem !important;
    }
    #products .border_left {
        border-left: none;
    }
    #products .contents .first-info p:nth-child(2) {
        font-size: 1rem;
    }
    #products .big_small {
        font-size: 0.8rem !important;
    }
    #products .contents .group03 .option {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-bottom: 10px;
    }
}

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

    img.pdf_icon {
        /*width: 1.3rem;*/
        width: 1.5rem;
        height: auto;
        margin-left: 0.5rem;
        margin-bottom: -1px;
        vertical-align: baseline;
    }
    #products .sub_title_zone p span.big_font {
        font-size: 2rem !important;
    }
    #products .contents .info_comment {
        font-size: 2rem;
    }
    #products .big_font {
        font-size:2.5rem !important;
    }
    #products .contents .first-info p:nth-child(2) {
        font-size: 1.8rem;
    }
    #products .contents table th {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: 1.8rem;
        font-weight: 500;
        display: block;
    }
    #products .contents table td {
        font-size: 1.8rem;
        display: block;
        padding-left: 0rem;
    }
    #products .big_small {
        font-size: 1.5rem !important;
    }
    #products .contents .group03 .option {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        padding-bottom: 10px;
    }
    #products img.pdf_icon {
        width: 1.5rem;
        height: auto;
        vertical-align: inherit;
        margin-left: 10px;
        margin-bottom: 3px;
    }
    /*
    #products .contents .download .sub_title_zone:after {
        content:"";
        position: absolute;
        right: 5px;
        top: 0;
        bottom: 0px;
        margin: auto;
        width: 7px;
        background-image:  url("../img/arrow_img_top.png");
        background-size: contain;   
        background-repeat: no-repeat;
        height: 2.8rem;
        transform: rotate(45deg);
    }
    */
}




/**btn**/
a.btn_square{
	border: 1px solid #A09A91;
	background-color: #fff;
	padding: 0.73rem 2.3rem;
	display: inline-block;
    transition: all .5s;
}
a.btn_square:hover {
    background-color: #D4D3CA;
    border: 1px solid #D4D3CA;
    transition: 0.5s;
}
/**and btn**/

@media screen and (max-width:991px) {
    a.btn_square{
        border: 1px solid #A09A91;
        background-color: #fff;
        padding: 0.73rem 2.3rem;
        display: block;
        transition: all .3s;
        text-align: center;
        margin-top: 1rem;
    }
}
@media screen and (max-width:540px) {
    a.btn_square{
        border: 1px solid #A09A91;
        background-color: #fff;
        padding: 0.73rem;
        display: block;
        transition: all .3s;
        text-align: center;
        margin-top: 1rem;
    }
}


#products .contents .download .sub_title_zone {
    padding-top: 1rem;
    padding-bottom: 1rem;
}
#products .contents .download a {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/*
#products .contents .download a img {
    margin-right: 2rem;
}
*/
#products .drawing,
#products .technical {
    padding-bottom: 5rem;
}
#products .page_flex {
    justify-content: space-between;
}
#products .page_flex .sub_title_zone p {
    line-height: 1.5;
}
#products .technical .link_zone {
    text-align: end;
}
#products .add_info .btn_zone {
    text-align: right;
}
#products .add_info .btn_zone .btn_bn {
    padding: 0.2rem 2.3rem;
    right: 0;
}


@media screen and (max-width:1280px) {
    /*#products .contents .download a img {
        margin-right: 3rem;
    }*/
    #products .technical .link_zone {
        text-align: end;
        display: flex;
        flex-direction: column;
    }
    #products .technical .link_zone .page_btn_add {
        width: fit-content;
        margin: auto;
        margin-right: 0;
    }
    #products .technical .link_zone a+a {
        margin-top: 0.5rem !important;
    }

}


@media screen and (max-width:991px) {
    #products .technical .sub_title_zone {
        padding-top: 1rem;
        padding-bottom: 1rem;
        margin: auto;
    }
    #products .technical .link_zone {
        text-align: end;
        display: flex;
        flex-direction: column;
        margin: auto;
    }
    #products .technical .link_zone .page_btn_add {
        width: fit-content;
        margin: auto;
        width: 100%;
    }
    #products .technical .link_zone a {
        display: flex;
        justify-content: space-between;
        text-align: left;
    }
    #products .page_flex {
        flex-direction: column;
        justify-content: center;
    }
    #products .drawing .sub_title_zone, 
    #products .drawing .img_zone {
        margin: auto;
    }
    #products .add_info .btn_zone .btn_bn {
        padding: 0.5rem 1.5rem;
        display: flex;
        justify-content: space-around;
    }
}

@media screen and (max-width:540px) {
    #products .contents .download a img {
        margin-right: 3rem;
    }
}




/**btn**/
a.btn_bn {
    background-color: #514939;
    color: #fff;
    padding: 10px 2rem;
    border-radius: 10px;
}
a.btn_bn:hover {
    /*box-shadow: 2px 5px 6px #A09A91;*/
    background-color: #A09A91;
    border-color: transparent;
    transition: 0.3s;
}
a.btn_bn img {
    width: 0.8rem;
    height: auto;
    margin-right: 1rem;
}
/**and btn**/


.bnr_zone {
    position: relative;
    overflow: hidden;
}
.bnr_zone p {
    color: #FFFFFF;
}
.bnr_zone a {
    color: #FFFFFF;
    margin: 5px 0;
}
/**
.bnr_zone img.bg_img {
    box-shadow: 2px 5px 6px #A09A91;
}**/
.bnr_zone .text_zone {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: fit-content;
}
.flex_group {
    display: flex;
}
@media screen and (max-width:991px) {
    .flex_group {
        display: block;
    }
}





.bnr_zone .list_flex {

    
    justify-content: space-between;
}
.bnr_zone .list_flex .sub_title_zone {
    position: relative;
}
.bnr_zone .list_flex .sub_title_zone::after {
    content: "";
    background-color: #fff;
    width: 1px;
    height: 60%;
    position: absolute;
    right: 0;
    top: 3.5rem;
}
.bnr_zone .sub_title_zone h3 {
    color: #A09A91;
    font-size: 3.5rem;
    margin-bottom: 0;
}


.bnr_zone a.btn_float {
    color: #FFFFFF;
    background-color:initial;
    border: 1px dashed #fff;
}
.bnr_zone a.btn_float:hover {
    color: #fff;
    background-color: #A09A91;
    border: 1px solid #A09A91;
}


@media screen and (max-width:1280px) {
    .bnr_zone .sub_title_zone h3 {
        color: #A09A91;
        font-size: 2.5rem;
        margin-bottom: 0;
    }
    .bnr_zone img.bg_img {
        /*height: 40rem;
        width: auto;*/
        width: 100%;
        height: auto;
    }
}


@media screen and (max-width:991px) {
    .bnr_zone {
        position: relative;
        height: 52rem;

        width: auto;
        overflow: hidden;
    }
    .bnr_zone img.bg_img {
        width: 52%;
        height: auto;
    }
    .bnr_zone .sub_title_zone {
        padding: 0;
        margin-bottom: 1.5rem;
    }
    .bnr_zone .sub_title_zone h3 {
        color: #A09A91;
        font-size:3.5rem;
        margin-bottom: 0;
    }
    .bnr_zone .list_flex .list_zone {
        padding: 0;
    }

    
}


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

    .bnr_zone {
        position: relative;
        width: 100%;
        height: auto;
        overflow: hidden;
    }
    .bnr_zone .padding_add {
        padding: 0 10px !important;
    }
    .bnr_zone .text_zone {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        height: fit-content;
        padding: 0;
    }
    .bnr_zone img.bg_img {
        width: 100%;
        height: auto;
    }
    .bnr_zone .list_zone,
    .bnr_zone .list_zone .list {
        margin-top: 2rem;
    }


}

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













}




#products .bnr_zone .sub_title_zone a {
    margin-top: 3.5rem;
}
#products .bnr_zone .sub_title_zone a img.arrow_img {
    margin-left: 0rem;
    margin-right: 1rem;
}
#products .bnr_zone .text_zone .list_zone p {
    border: 1px dotted #fff;
    display: inline-block;
    padding: 5px 30px;
}
#products .bnr_zone .list_zone .list {
    display: flex;
    flex-direction: column;
    margin-top: 1rem;
}


#products .btn_zone {
    position: relative;
    margin-right: 0;
}
/*
#products .btn_zone a {
    position: absolute;
    bottom: 1.5rem;
    right: 3rem;
}
#products .btn_zone a {
    padding: 10px 20px;
}
*/
#products .btn_zone .btn_bg_img {
    border-radius: 10px;
}

/*
#products .btn_zone a img {
    margin-left: 1rem;
}
*/

@media screen and (max-width:991px) {
    /**#products .add_info {
        padding: 0 10px;
    }**/
    #products .add_info .btn_zone {
        text-align: left;
        display:inline-block;
    }
    #products .add_info .btn_zone a {
        position: initial;
    }
    #products .bnr_zone {
        overflow: hidden;
    }
    #products .bnr_zone img.bg_img {
        box-shadow: 2px 5px 6px #A09A91;
        /*height: 52rem;*/
        height: 66rem;
        width: auto;
    }

}


@media screen and (max-width:540px) {
    #products .add_info {
        padding: 0;
    }
    #products .bnr_zone img.bg_img {
        box-shadow: 2px 5px 6px #A09A91;
        /*height: 84rem;*/
        height: 100%;
        width: stretch;
        object-fit: cover;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1;
    }
    #products .bnr_zone .text_zone {
        position: relative;
        margin-top: 3.5rem;
         margin-bottom: 3.5rem;
         padding: 0 7px;
    }
    #products .bnr_zone .list_flex {
        padding: 0 7px;
    }
    /*
    #products .bnr_zone a {
        color: #FFFFFF;
        font-size: 1.5rem;
        margin: 5px 0;
    }
    */
    #products .last_info p.ja {
        font-size: 2.2rem;
    }
    #products .last_info p.en {
        color: #A09A91;
        font-size: 1.8rem;
        text-align: left;
    }
}






/**===============
last_info　共通
================**/
p.ja {
    font-size: 1.3rem;
}
.last_info p.ja {
    font-size: 1.3rem;
}
.last_info p.en {
    color: #A09A91;
    font-size: 1rem;
}
/*
img.arrow_img {
    width: 0.8rem;
    height: auto;
}
*/
.last_info .btn_zone {
    position: relative;
    margin-right: 0;
}
.last_info .btn_zone a {
    position: absolute;
    bottom: 1.5rem;
    right: 3rem;
}
.last_info .btn_zone .btn_bg_img {
    border-radius: 10px;
}
/*
.last_info .btn_zone a {
    padding: 10px 20px;
}
*/
.last_info .btn_zone a img {
    margin-left: 1rem;
}

@media screen and (max-width:991px) {
    .last_info {
        justify-content: center;
        overflow: hidden;
    }
    .last_info p.en {
        color: #A09A91;
        line-height: 1.5;
    }
    .last_info .btn_zone {
        position: relative;
        margin-inline: auto;
    }
    .last_info .add_info .btn_zone {
        text-align: left;
        display: block;
    }
    .last_info .add_info .btn_zone a {
        position: initial;
    }
    .last_info .bnr_zone {
        overflow: hidden;
    }
    .last_info .bnr_zone img.bg_img {
        box-shadow: 2px 5px 6px #A09A91;
        height: 50rem;
        width: auto;
    }

}


@media screen and (max-width:540px) {
    p.ja {
        font-size: 2.2rem;
    }
    .last_info p.ja {
        font-size: 2.7rem;
    }
    .last_info p.en {
        color: #A09A91;
        font-size: 2rem;
        line-height: 1.5;
    }
    .last_info .bnr_zone img.bg_img {
        box-shadow: 2px 5px 6px #A09A91;
        height: 80rem;
        width: auto;
    }
    .last_info .bnr_zone a {
        color: #FFFFFF;
        font-size: 1.5rem;
        margin: 5px 0;
    }
    .last_info .last_info p.ja {
        font-size: 2.2rem;
    }
    .last_info .last_info p.en {
        color: #A09A91;
        font-size: 1.8rem;
        text-align: left;
    }
}








/**===================
About us
===================**/

#aboutus .main_img_zone {
    position: relative;
}
#aboutus .main_img_zone .main_text {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: fit-content;
}
#aboutus .main_img_zone .main_text .main_comment {
    margin-top: 5rem;
}
#aboutus .main_img_zone .main_text h2,
#aboutus .main_img_zone .main_text p {
    color: #fff;
    text-shadow: 0px 3px 6px #434343;
}
#aboutus .main_img_zone .main_text h2 span:nth-child(5) {
    margin-right: 1rem;
}
#aboutus .main_img_zone .main_text p {
    font-size: 0.95rem;
}

#aboutus .profile {
    justify-content: space-around;
}
#aboutus .history {
    justify-content: space-between;
}
#aboutus #history .history03 .history {
    justify-content: space-between;
}
#aboutus .profile .text_zone {
    margin-block: auto;
}
#aboutus .profile_info td span {
    letter-spacing: 1px;
}
#aboutus .profile .right {
    text-align: center;
}

#aboutus #profile .title_style {
    text-align: right;
    padding-right: 16rem;
    margin-bottom: 3.5rem;
}
#aboutus .title_style .title_zone {
    text-align: left;
    display: inline-block;
}
#aboutus #profile .title_style .title_zone::after {
    width: 8rem;
    top: 1rem;
    left: -9rem;
}
#aboutus #profile .title_style .title_zone::before {
    width: 8rem;
    top: 1rem;
    left: -9rem;
}

#aboutus .profile_info table {
    width: 100%;
}
#aboutus .profile_info table tr {
    border-bottom: 1px solid #A09A91;
}
#aboutus .profile_info table th{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-size: 0.85rem;
    vertical-align: top;
    padding: 40px 0 40px 0 ;
}
#aboutus .profile_info table td {
    font-size: 0.85rem;
    padding: 40px 40px 40px 0 ;
}
#aboutus .profile_info table ol {
    padding-left: 18px;
}
#aboutus #history .history01 .title_style {
    text-align: left;
    padding-left: 16rem;
    margin-bottom: 3.5rem;
}
#aboutus #history .history02 .title_style {
    text-align: right;
    padding-right: 5rem;
    margin-bottom: 4.5rem;
}
#aboutus #history .history03 .title_style {
    text-align: left;
    padding-left: 16rem;
    margin-bottom: 4.5rem;
}
#aboutus #history .history01 .title_style .title_zone::after {
    width: 8rem;
    top: 1rem;
    left: -9rem;
}
#aboutus #history .history01 .title_style .title_zone::before {
    width: 8rem;
    top: 1rem;
    left: -9rem;
}
#aboutus #history .history02 .title_style .title_zone::after,
#aboutus #history .history03 .title_style .title_zone::after {
    width: 7rem;
    top: 1rem;
    left: -9rem;
}
#aboutus #history .history02 .title_style .title_zone::before,
#aboutus #history .history03 .title_style .title_zone::before {
    width: 7rem;
    top: 1rem;
    left: -9rem;
}
/*
#aboutus .history .years {
    margin-bottom: 1rem;
}
*/
#aboutus .bnr_zone .list_flex .sub_title_zone {
    position: relative;
}
#aboutus .bnr_zone .list_flex .sub_title_zone::after {
    position: absolute;
    content: "";
    background: #707070;
    width: 1px;
    height: 100%;
    right: 0;
    top: 0;
    margin: auto;
}

#aboutus .sdgs_wrap {
    border-top: 1px solid #707070;
    padding-top: 8rem;
}
#aboutus .sdgs_wrap .sdgs_section {
    justify-content: space-between;
}
#aboutus .sdgs_wrap .img_zone  {
    text-align: center;
}
#aboutus .sdgs_wrap .img_zone img.sdgs_logo {
    width: 80%;

}
#aboutus .sdgs_wrap .img_zone a {
    margin-top: 1.5rem;
    text-align: left;
    line-height: 1.5;
    display: inline-block;
}


@media screen and (max-width:1280px) {
    #aboutus .main_img_zone .main_text {
        position: absolute;
        left: 3rem;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        height: fit-content;
    }
    /*
    #aboutus #profile {
        padding: 0 10px;
    }
    */
    #aboutus #profile .title_style {
        text-align: right;
        padding-right: 6rem;
        margin-bottom: 3.5rem;
    }
    /*
    #aboutus .profile_info {
        padding: 0 10px;
    }
    */
    #aboutus #history .history03 .history {
        /*justify-content: space-around;*/
        justify-content: space-between;
    }
    #aboutus #history .history02 .title_style .title_zone::after,
    #aboutus #history .history03 .title_style .title_zone::after {
        width: 7rem;
        top: 1.5rem;
        left: -8rem;
    }
    #aboutus #history .history02 .title_style .title_zone::before,
    #aboutus #history .history03 .title_style .title_zone::before {
        width: 7rem;
        top: 1.5rem;
        left: -8rem;
    }
}

@media screen and (max-width:991px) {
    #aboutus .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 52% !important;
    }
     #aboutus .main_img_zone .main_text {
        position: absolute;
        left: 3rem;
        right: 0;
        top: initial;
        bottom: 8rem;
        margin: auto;
        height: fit-content;
    }
    #aboutus .profile,
    #aboutus .history {
        justify-content: center;
    }
    #aboutus .main_img_zone .main_text .main_comment {
        margin-top: 2.5rem;
    }
    #aboutus .main_img_zone .main_text p {
        font-size: 0.8rem;
    }
    #aboutus #profile .title_style {
        text-align: right;
        padding-right: 0rem;
        margin-bottom: 3.5rem;
    }
    #aboutus .profile .img_zone {
        margin-top: 3.5rem;
    }
    #aboutus .profile_info {
        /*margin-top: 0;*/
        margin-top:1.5rem;
        padding: 0;
    }
    #aboutus .profile_info table th{
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
        font-size: 1rem;
        vertical-align: top;
        padding: 2rem 0 0px 0 ;
        width: 100%;
        display: block;
    }
    #aboutus .profile_info table td {
        font-size: 1rem;
        padding: 0px 2rem 2rem 0 ;
        width: 100%;
        display: block;
    }
    #aboutus .profile_info table ol {
        padding-left: 16px;
    }
    /*
    #aboutus #history {
        padding: 0 10px;
    }
    */
    #aboutus #history .history01 .history .text_zone,
    #aboutus #history .history02 .history .text_zone,
    #aboutus #history .history03 .history .text_zone {
        margin-top: 3.5rem;
    }
    #aboutus #history .history02 .history {
        margin-top: 3.5rem;
    }
    #aboutus #history .history03 .history {
        justify-content: center;
    }
    #aboutus #history .history02 .title_style {
        text-align: center;
        padding-right: 0rem;
        margin-bottom: 4.5rem;
    }
    #aboutus #history .history03 .title_style {
        text-align: left;
        padding-left: 9rem;
        margin-bottom: 4.5rem;
    }
    #aboutus .bnr_zone .list_flex .sub_title_zone::after {
        display: none;
    }
    #aboutus #history .history02 .title_style .title_zone::after,
    #aboutus #history .history03 .title_style .title_zone::after {
        width: 7rem;
        top: 2rem;
        left: -8rem;
    }
    #aboutus #history .history02 .title_style .title_zone::before,
    #aboutus #history .history03 .title_style .title_zone::before {
        width: 7rem;
        top: 2rem;
        left: -8rem;
    }
    #aboutus .bnr_zone {
        position: relative;
        height: 45rem;
        width: auto;
        overflow: hidden;
    }
    #aboutus .sdgs_wrap {
        border-top: 1px solid #707070;
        padding-top: 3.5rem;
    }
    #aboutus .sdgs_wrap .sdgs_section {
        justify-content:center;
    }
    #aboutus .sdgs_wrap .text_zone {
        margin-top: 3.5rem;
    }
    #aboutus .sdgs_wrap .img_zone a {
        margin-top: 3.5rem;
        text-align: left;
        line-height: 1.5;
        display: inline-block;
    }
}

@media screen and (max-width:540px) {
    #aboutus .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 100% !important;
    }
    #aboutus #history p {
        text-align: left;
    }
    .main_img_zone h2 {
        font-size: 4rem !important;
    }
    #aboutus .main_img_zone .main_text p {
        font-size: 1.8rem;
    }
    #aboutus #profile,
    #aboutus #history {
        padding: 0;
        margin-top: 7rem;
    }
    #aboutus .profile_info table th{
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-weight: 500;
        font-size: 1.8rem;
        vertical-align: top;
        padding: 30px 0 0px 0 ;
        width: 100%;
        display: block;
    }
    #aboutus .profile .text_zone .inner_margin {
        margin-top: 3.5rem;
    }
    #aboutus .profile_info table td {
        font-size: 1.8rem;
        padding: 0px 0px 30px 0 ;
        width: 100%;
        display: block;
    }
    #aboutus .profile_info table ol {
        padding-left: 22px;
    }
    #aboutus #profile .title_style .title_zone::after {
        width: 8rem;
        top: 4rem;
        left: -11rem;
    }
    #aboutus #profile .title_style .title_zone::before {
        width: 8rem;
        top: 4rem;
        left: -11rem;
    }
    #aboutus #history .history .text_zone .years .big_font {
        font-size: 1.8rem !important;
    }
    #aboutus .title_style .title_zone p {
        /*font-size: 2.2rem !important;*/
        font-size: 2.7rem !important;
    }

    #aboutus #history .history01 .title_style .title_zone::after {
        width: 8rem;
        top: 3rem;
        left: -11rem;
    }
    #aboutus #history .history01 .title_style .title_zone::before {
        width: 8rem;
        top: 3rem;
        left: -11rem;
    }
    #aboutus #history .history02 .title_style .title_zone::after,
    #aboutus #history .history03 .title_style .title_zone::after {
        width: 7rem;
        top: 4rem;
        left: -10rem;
    }
    #aboutus #history .history02 .title_style .title_zone::before,
    #aboutus #history .history03 .title_style .title_zone::before {
        width: 7rem;
        top: 4rem;
        left: -10rem;
    }
    #aboutus #history .history03 .title_style {
        text-align: left;
        padding-left: 13.5rem;
        margin-bottom: 4.5rem;
    }
    /*
    #aboutus .bnr_zone img.res_540 {
        height: 100%;
        width: stretch;
        object-fit: cover;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        z-index: -1;
    }
   
    #aboutus .bnr_zone .text_zone {

       margin-top: 5rem;
        margin-bottom: 5rem;
    }

    #aboutus .bnr_zone .list_flex {
        margin-top: 3rem;
    }
    #aboutus .bnr_zone .list_flex .sub_title_zone  {
        border-bottom: 1px solid #fff;
        margin-bottom: 0;
        padding-bottom: .5rem;
    }

     */
    #aboutus .bnr_zone {
        position: relative;
        width: 100%;
        min-height: auto;
        /*padding: 5rem 0;*/
        background-image: url("../img/res_page_bnr_bg.jpg");
        background-size: cover;
        background-position: center;
        overflow: hidden;
        height: auto;
        padding: 7rem 0;
    }

    #aboutus .bnr_zone img.bg_img {
        display: none !important;
    }

    #aboutus .bnr_zone .text_zone {
        position: relative;
        top: auto;
        bottom: auto;
        left: auto;
        right: auto;
        height: auto;
        margin: 0 auto;
        padding: 0;
        z-index: 1;
    }

    #aboutus .bnr_zone .text_zone > div {
        width: 100%;
    }

    #aboutus .bnr_zone .list_flex {
        margin-top: 3rem;
    }

    #aboutus .bnr_zone .list_flex .sub_title_zone {
        border-bottom: 0.5px solid #fff;
        margin-bottom: 0;
        padding-bottom: .5rem;
        width: 70%;
    }
    #aboutus .sdgs_wrap {
        border-top: 1px solid #707070;
        padding-top: 7rem;
    }
    #aboutus .sdgs_wrap .text_zone p.big_font {
        font-size: 2.7rem !important;
    }
}




/**===========
border_ani 共通
=============**/
.border_ani {
    position: relative;
}

/* 黒い線 */
.border_ani::after {
    content: "";
    position: absolute;
    height: 1px;
    background: #707070;
    transform: rotate(-45deg)scaleX(0);
    transform-origin: right bottom;
}

.border_ani.active::after {
    animation: drawLine 1s linear 1 forwards;
}

@keyframes drawLine {
    0% {
        transform: rotate(-45deg) scaleX(0);
        opacity: 1;
    }
    80% {
        transform: rotate(-45deg) scaleX(1);
        opacity: 1;
    }
    100% {
        transform: rotate(-45deg) scaleX(1);
        opacity: 1; /* 赤光は最後に消える */
    }
}

/** 光 **/
.border_ani::before {
    content: "";
    position: absolute;
    height: 1px;
    transform: rotate(-45deg);
    transform-origin: right bottom;
    overflow: hidden;
    z-index: 2;
    background: linear-gradient(
        to right,
        transparent 0%,
        rgba(240, 240, 240, 1) 50%,
        transparent 100%
    );

    background-size: 60px 100%;  /* 赤の長さ */
    background-repeat: no-repeat;
    background-position: 100% 0; /* 下側スタート */
    opacity: 0;
}

.border_ani.active::before {
    animation: flowUp 1s linear 2;
}

@keyframes flowUp {
    0% {
        background-position: 100% 0; /* 下 */
        opacity: 1;
    }
    100% {
        background-position: 0% 0;   /* 上 */
        opacity: 1;
    }
}

/**　ここまで動き　**/





/**===================
page main img
===================**/
.title_zone p.en {
    color: #A09A91;
    line-height: 1.5;
}
.page_class .main_img_zone {
    position: relative;
    margin-top: 5.5rem;
}
.page_class .main_img_zone .img_zone {
    padding: 3rem;
}
.page_class .main_img_zone .page_title {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8rem;
    margin: auto;
}
.page_class .main_img_zone .page_title h2,
.page_class .main_img_zone .page_title p {
    color: #fff;
}
.page_class .main_img_zone .page_title h2 {
    font-size: 2.5rem;
}
.page_class .main_img_zone .page_title h2 span{
    font-size: 1.5rem;
}


@media screen and (max-width:991px) {
    .page_class .main_img_zone {
        position: relative;
        margin-top: 0rem;
    }
    .page_class .main_img_zone .img_zone {
        /*padding: 2rem;*/
        padding: 0;
        padding-bottom: 0;
    }
    .page_class .main_img_zone .img_zone img.main_img {
        border-radius: 0;
    }
    /*
    .page_class .main_img_zone .page_title {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 3rem;
        margin: auto;
    }
    */
    .page_class .main_img_zone .page_title {
        /* top: 0;*/
         position: absolute;
         left: 3rem;
         right: 0;
         bottom: 8rem;
         margin: auto;
         height: fit-content;
     }
    .page_class .main_img_zone .page_title h2 {
        font-size: 2rem;
    }
}

@media screen and (max-width:540px) {
    .page_class .main_img_zone {
        position: relative;
        margin-top: 0rem;
    }
    .page_class .main_img_zone .page_title {
       /* position: absolute;
        left: 0;
        right: 0;
        bottom: 7rem;
        margin: auto;*/
        position: absolute;
        left: 3rem;
        right: 0;
        
        bottom: 8rem;
        margin: auto;
        height: fit-content;
    }
    .page_class .main_img_zone .page_title h2 {
        font-size: 4rem;
    }
    .page_class .main_img_zone .img_zone {
        padding: 0rem;
    }
    .page_class .main_img_zone .img_zone img.main_img {
        border-radius: 0;
    }
}




/**===================
Stores
===================**/

.sticky_title {
    position: sticky;
    top: 2rem;
    height: fit-content;
    /*margin-left: 0.3rem;*/
}
.border_font {
    position: relative;
    height: fit-content;
}
.border_font::after {
    content: "";
    position: absolute;
    width: 70%;
    height: 1px;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: #707070;
}

@media screen and (max-width:1280px) {
    .sticky_title {
        position: sticky;
        top: 5rem;
        height: fit-content;
        margin-left: 0;
    }
}

@media screen and (max-width:991px) {
    .sticky_title {
        position: initial;
        top: 2rem;
        height: fit-content;
    }
}


#stores .stores_intro {
    justify-content: right;
}

#stores .stores_intro p.border_font {
    margin-bottom: 10px;
}
#stores .page_info {
    justify-content: space-between;
}
#stores .page_info02 {
    justify-content: end;
}
#stores .page_info02 .btn_zone {
    text-align: end;
}
#stores .title_zone .sub_title {
    font-size: 2rem;
    line-height: 1.5;
}





#stores .accordion-area .section {
    margin-top: 1rem;
}
#stores .accordion-area .title {
    background-color: #A09A91;
    padding: 1rem 3rem;
}
#stores .accordion-area .title p {
    color: #fff;
}
#stores .accordion-area .title::before,
#stores .accordion-area .title::after {
    background: #fff;
    right: 2rem;
}
#stores .accordion-area .box {
    margin-bottom: 0;

}
#stores .accordion-area p {
    font-family: "Zen Kaku Gothic New", sans-serif;
}
#stores .accordion-area p.store_name {
    font-size: 1rem;
}
#stores .accordion-area .text_zone .tenpo {
    position: relative;
    padding: 2rem 0rem 2rem 3rem;
    border-bottom: 1px dashed #707070;
}
#stores .accordion-area .section .tenpo_last {
    border-bottom: none !important;
}

#stores .accordion-area .text_zone a {
    color: #fff;
    font-size: 0.7rem;
    background-color: #514939;
    border: 1px solid #514939;
    padding: 0.2rem 2rem;
    border-radius: 5px;
    position: absolute;
    bottom: 2rem;
    right: 0;
}
#stores .accordion-area .text_zone a span{
    vertical-align: text-bottom;
    line-height: 1.6;
}
#stores .accordion-area .text_zone a:hover {
    color: #fff;
    background-color: #A09A91;
    border: 1px solid #A09A91;
    position: absolute;
}
#stores .accordion-area .text_zone a img {
    margin-left: 10px;
}
#stores .page_info02 .border_font:after {
    width: 63%;
}
#stores .page_info02 .text_zone {
    display: block;
}
#stores .page_info02 .img_zone {
    margin-right: 0rem;
}


@media screen and (max-width:1280px) {
    #stores .page_info02 .border_font:after {
        width: 50%;
    }
}


@media screen and (max-width:991px) {
    #stores .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 52% !important;
    }
    #stores .store_main {
        justify-content: center;
    }
    
    #stores .border_font::after {
        content: "";
        position: absolute;
        width: 40%;
        height: 1px;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        background: #707070;
    }
    #stores .page_info {
        justify-content:center;
    }
    #stores .accordion-area .text_zone .tenpo {
        position: relative;
        padding: 2rem 1rem 2rem 1rem;
        border-bottom: 1px dashed #707070;
    }
    #stores .accordion-area .text_zone a {
        color: #fff;
        font-size: 0.7rem;
        background-color: #514939;
        border: 1px solid #514939;
        padding: 0.2rem 2rem;
        border-radius: 5px;
        position: initial;
        display: inline-block;
        margin-top: 5px;
    }
        #stores .accordion-area .text_zone a:hover {
        color: #fff;
        background-color: #A09A91;
        border: 1px solid #A09A91;
        position: initial;
        right: 0;
    }
    #stores .page_info02 .border_font:after {
        width: 35%;
    }
    #stores .page_info02 .img_zone {
        margin-inline: auto;
    }
}

@media screen and (max-width:540px) {
    #stores .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 100% !important;
    }
    #stores p.big_font {
        font-size: 2.4rem !important;
    }
    #stores .title_zone .sub_title {
        font-size: 2.7rem;
        line-height: 1.5;
    }
    #stores .accordion-area p.store_name {
        font-size: 1.8rem;
    }
    #stores .store_main {
        padding: 0;
        justify-content: center;
    }

    #stores .page_info02 .img_zone {
        margin-inline: auto;
    }
    #stores .accordion-area .text_zone .tenpo {
        position: relative;
        padding: 2rem 1rem 3rem 1rem;
        border-bottom: 1px dashed #707070;
    }
    #stores .accordion-area .text_zone a {
        color: #fff;
        font-size: 1.6rem;
        background-color: #514939;
        border: 1px solid #514939;
        padding: 0.2rem 2rem ;
        border-radius: 5px;
        position: initial;
        bottom: 2rem;
        right: 0;
        margin-top: 2.5rem;
    }
    #stores .accordion-area .text_zone a img {
        margin-left: 10px;
        margin-bottom: 3px;
    }
    #stores .page_info02 .btn_zone {
        text-align: end;
        margin-top: 3.5rem;
    }
}





/**===================
construction
===================**/
#construction .page_info {
    justify-content:space-between ;
}
#construction .page_info .title_zone .img_zone {
    margin-left: 0;
}
#construction .page_info .infomation .section:first-child {
    border-top: 1px solid #A09A91;
}
#construction .page_info .infomation .section:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
#construction .page_info .infomation .section {
    border-bottom: 1px solid #A09A91;
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}
/*
#construction .page_info .infomation .section .title_zone p.en {
    margin-top: 10px;
}
    */
#construction .page_info .infomation .text_zone p.comment {
    font-size: 1.1rem;
}
#construction .page_info .infomation .photo_zone .list {
    display: flex;
    justify-content: space-between;
}
#construction .page_info .infomation .photo_zone .img_zone {
    width: 45%;
    height: auto;
    height: fit-content;
}
#construction .page_info .infomation .photo_zone p {
    width: 45%;
    height: auto;
}
#construction .page_info .infomation .photo_zone p span {
    font-weight: 500;
    display: block;
    margin-bottom: 10px;
}
#construction .border_top {
    border-top: 1px solid #A09A91;
}
#construction .border_top .title_zone {
    margin-left: 0;
}
#construction .page_info02 .flow_info img.flow_img {
    width: 15rem;
    height: auto;
    height: fit-content;
}
#construction .page_info02 .flow_info .text_zone {
    width: 48%;
}
#construction .page_info02 .flow_info .text_zone p.minerva {
    color: #A09A91;
}
#construction .page_info02 .flow_info .text_zone p.minerva span{
    font-size: 2rem;
}
#construction .page_info02 .flow_info .text_zone p.comment {
    font-size: 1.25rem;
}
#construction .page_info02 .flow_info .flow {
    display: flex;
}
#construction .page_info02 .flow_info .flow01,
#construction .page_info02 .flow_info .flow03,
#construction .page_info02 .flow_info .flow05 {
        justify-content: right;
}
/*
#construction .page_info02 .flow_info .flow01 .text_zone,
#construction .page_info02 .flow_info .flow03 .text_zone,
#construction .page_info02 .flow_info .flow05 .text_zone {
    margin-left: 3rem;
}*/
#construction .page_info02 .flow_info .flow01 img,
#construction .page_info02 .flow_info .flow03 img,
#construction .page_info02 .flow_info .flow05 img {
    margin-inline: auto;
}
#construction .page_info02 .flow_info .flow02,
#construction .page_info02 .flow_info .flow04,
#construction .page_info02 .flow_info .flow06 {
        justify-content:space-between;
}




#construction .page_info02 .flow_info .flow02 .text_zone::after {
    width: 12rem;
    top: -8rem;
    left: -1rem;
}
#construction .page_info02 .flow_info .flow02 .text_zone::before{
    width: 12rem;
    top: -8rem;
    left: -1rem;
}

#construction .page_info02 .flow_info .flow03 .text_zone::after {
    width: 11rem;
    top: -8rem;
    left: 2rem;
}
#construction .page_info02 .flow_info .flow03 .text_zone::before {
    width: 11rem;
    top: -8rem;
    left: 2rem;
}
#construction .page_info02 .flow_info .flow04 .text_zone::after {
    width: 10rem;
    top: -7rem;
    left: 3rem;
}
#construction .page_info02 .flow_info .flow04 .text_zone::before {
    width: 10rem;
    top: -7rem;
    left: 3rem;
}
#construction .page_info02 .flow_info .flow05 .text_zone::after {
    width: 10rem;
    top: -7rem;
    left: 3.5rem;
}
#construction .page_info02 .flow_info .flow05 .text_zone::before {
    width: 10rem;
    top: -7rem;
    left: 3.5rem;
}
#construction .page_info02 .flow_info .flow06 .text_zone::after {
    width: 11rem;
    top: -7rem;
    left: 3.5rem;
}
#construction .page_info02 .flow_info .flow06 .text_zone::before {
    width: 11rem;
    top: -7rem;
    left: 3.5rem;
}

#construction .page_info02 .bnr_link {
    position: relative;
}
#construction .page_info02 .bnr_link .text_zone {
    width: 77%;
    height: auto;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#construction .page_info02 .bnr_link .text_zone p {
    color: #fff;
}
#construction .page_info02 .bnr_link .text_zone p.big_font {
    font-size: 1rem !important;
    margin-bottom: 10px;
}
#construction .page_info02 .bnr_link .text_zone div {
    text-align: right;
}
#construction .page_info02 .bnr_link .text_zone div a {
    margin-left: 2rem;
}
#construction .bg_wh{
    background-color: #fff;
    padding-top: 8rem;
    padding-bottom: 8rem;
}

#construction .since_zone .title_zone {
    text-align: center ;
}
#construction .since_zone .title_zone p {
    font-size: 1rem;
    text-align: center;
}
#construction .since_zone .bnr_link {
    position: relative;
}
#construction .since_zone .bnr_link .text_zone {
    width: 85%;
    height: fit-content;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}
#construction .since_zone .bnr_link .text_zone p {
    color: #fff;
}
#construction .since_zone .bnr_link .text_zone>p {
    margin-bottom: 3.5rem;
}
#construction .since_zone .bnr_link .text_zone .right{
    width: 60%;
    text-align: left;
    margin: auto;
    margin-right: 0;
}
#construction .since_zone .bnr_link .text_zone .right p{
    display: inline-block;
}

#construction .since_zone .bnr_link .text_zone .right a {
    background-color: initial;
    color: #fff;
}

#construction .since_zone .bnr_link .text_zone .right a:hover {
    background-color: #A09A91;
    border: 1px solid #A09A91;
}


@media screen and (max-width:1280px) {
   .add_padding {
        padding: 0 10px;
        text-align: center;
   }
   #construction .page_info .title_zone .img_zone {
        margin-left: 0;
        padding: 0;
    }
   #construction .page_info02 .flow_info .text_zone p.comment {
        font-size: 1.2rem;
    }
    #construction .page_info02 .bnr_link {
        position: relative;
        overflow: hidden;
        border-radius: 10px;
        box-shadow: 0px 3px 6px #eee;
    }
    #construction .page_info02 .bnr_link img.bg_img {
        height: 20rem;
        width: auto;
    }

    #construction .page_info02 .flow_info .flow02 .text_zone::after {
        width: 11rem;
        top: -8rem;
        left: -1rem;
    }
    #construction .page_info02 .flow_info .flow02 .text_zone::before{
        width: 11rem;
        top: -8rem;
        left: -1rem;
    }

    #construction .page_info02 .flow_info .flow03 .text_zone::after {
        width: 10rem;
        top: -8rem;
        left: 2rem;
    }
    #construction .page_info02 .flow_info .flow03 .text_zone::before {
        width: 10rem;
        top: -8rem;
        left: 2rem;
    }
    #construction .page_info02 .flow_info .flow04 .text_zone::after {
        width: 9rem;
        top: -7rem;
        left: 3rem;
    }
    #construction .page_info02 .flow_info .flow04 .text_zone::before {
        width: 9rem;
        top: -7rem;
        left: 3rem;
    }
    #construction .page_info02 .flow_info .flow05 .text_zone::after {
        width: 9rem;
        top: -7rem;
        left: 3.5rem;
    }
    #construction .page_info02 .flow_info .flow05 .text_zone::before {
        width: 9rem;
        top: -7rem;
        left: 3.5rem;
    }
    #construction .page_info02 .flow_info .flow06 .text_zone::after {
        width: 10rem;
        top: -7rem;
        left: 3.5rem;
    }
    #construction .page_info02 .flow_info .flow06 .text_zone::before {
        width: 10rem;
        top: -7rem;
        left: 3.5rem;
    }

}


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

    #construction .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 52% !important;
    }



    #construction .page_info .title_zone .img_zone {
        margin-left: 0;
        padding: 0 5px;
    }
    #construction .page_info {
        justify-content: center;
    }
    #construction .page_info .infomation {
        margin-top: 3.5rem;
    }
    #construction .page_info .infomation .photo_zone .list {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    #construction .page_info .infomation .photo_zone .img_zone {
        width: 100%;
        height: auto;
        height: fit-content;
    }
    #construction .page_info .infomation .photo_zone img {
        width: 100%;
        height: auto;
       /*margin-bottom:1rem;*/
    }
    #construction .border_top .title_zone {
        margin-left: 0;
        margin-inline: auto;
    }
    #construction .page_info .infomation .photo_zone p {
        width: 100%;
        height: auto;
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
    }
    #construction .page_info02 {
        margin-top: 5rem;
    }
    #construction .page_info02 .flow_info img.flow_img {
        width: 100%;
        height: auto;
        height: fit-content;
        margin-top: 3.5rem;
    }
    #construction .page_info02 .flow_info .text_zone {
        width: 100%;
    }
    #construction .page_info02 .flow_info .text_zone p.comment span {
        font-size: 1.3rem;
    }
    #construction .page_info02 .flow_info .flow01,
    #construction .page_info02 .flow_info .flow03,
    #construction .page_info02 .flow_info .flow05 {
        flex-direction: column;
        justify-content: center;
    }
    #construction .page_info02 .flow_info .flow01 .text_zone,
    #construction .page_info02 .flow_info .flow03 .text_zone,
    #construction .page_info02 .flow_info .flow05 .text_zone {
        margin-inline: auto;
    }
    #construction .page_info02 .flow_info .flow02,
    #construction .page_info02 .flow_info .flow04,
    #construction .page_info02 .flow_info .flow06 {
        flex-direction: column;
        justify-content:space-between;
    }
    #construction .page_info02 .flow_info .flow06 .add_info {
        margin-top: 3.5rem;
        margin-left: 0;
    }
    #construction .flow_info .text_zone img.flow_img {
        margin-top: 2rem;
    }
    #construction .page_info02 .bnr_link {
        position: relative;
        margin-top: 3.5rem;
        padding: 0px 8.64px;
        margin-top: 0;
    }
    #construction .page_info02 .bnr_link img.bg_img {
        width: 100%;
        height: auto;
    }
    #construction .bg_wh{
        background-color: #fff;
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    #construction .page_info02 .bnr_link .text_zone p {
        margin-bottom: 1.5rem !important;
    }
    #construction .page_info02 .bnr_link .text_zone a {
        margin-top: 0;
    }
    #construction .page_info02 .bnr_link .text_zone a:nth-child(2) {
        margin-top: 1.5rem;
    }
    #construction .since_zone {
        padding: 0 10px;
    }
    #construction .since_zone .bnr_link .text_zone>p {
        margin-bottom: 2.5rem;
    }
    #construction .since_zone .bnr_link .text_zone .right{
        width: 100%;
        text-align: left;
        margin: auto;
        margin-right: 0;
    }
    #construction .since_zone .bnr_link {
        position: relative;
        margin-top: 3.5rem;
    }
        #construction .add_padding {
        padding: 0;
    }
}

@media screen and (max-width:540px) {
    #construction {
        overflow: hidden;
    }
    #construction .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 100% !important;
    }
    #construction .page_info p.big_font {
        font-size: 2.7rem !important;
    }

    #construction .page_info .infomation .section .title_zone p.big_font {
        font-size: 2.7rem !important;
    }
    #construction .infomation .section .add_info a {
        margin-top: 3.5rem;
    }
    #construction .page_info02 .flow_info .flow .text_zone::before{
        display: none !important;
    }
    #construction .page_info02 .flow_info .flow .text_zone::after {
        display: none !important;
    }
    #construction .page_info .infomation .text_zone p.comment {
        font-size: 2rem;
    }
    #construction .page_info02 .flow_info .text_zone p.minerva {
        color: #A09A91;
        font-size: 2.7rem !important;
    }
    #construction .page_info02 .flow_info .text_zone p.comment {
        /*font-size: 1.8rem;*/
        font-size: 2.2rem;
    }
     #construction .page_info02 .flow_info .text_zone p.comment span {
        font-size: 2.5rem;
    }
    #construction .page_info02 .flow_info .text_zone {
        margin-inline: auto;
    }
    #construction .page_info02 .flow_info .flow06 .add_info {
        margin-top: 5rem;
    }
    #construction .page_info02 .flow_info img.flow_img {
        width: 100%;
        height: auto;
        height: fit-content;
        margin-top: 5rem;
    }

    #construction .page_info02 .bnr_link .text_zone p.big_font {
        font-size: 1.8rem !important;
    }

    #construction .bg_wh{
        background-color: #fff;
        padding-top: 0rem;
        padding-bottom: 0rem;
    }
    #construction .since_zone {
        padding: 0;
        border-radius: 0;
    }
    #construction .since_zone img {
        border-radius: 0;
    }
    #construction .since_zone .title_zone {
        text-align: center;
        margin-bottom: 1.5rem;
        /*margin-top: 5rem;*/
    }
    #construction .since_zone .title_zone h3 {
        color: #fff;
    }
    #construction .since_zone .title_zone p {
        font-size: 1.8rem;
        text-align: center;
    }
    /*
#construction .since_zone .bnr_link .text_zone {
    margin-bottom: 5rem;
}*/
    #construction .since_zone .bnr_link .text_zone .right a {
        background-color: initial;
        color: #fff;
        margin-top: 3.5rem;
    }
    #construction .page_info02 .bnr_link .text_zone p {
        margin-bottom: 3.5rem !important;
    }
    #construction .page_info02 .bnr_link .text_zone a {
        margin-top: 0;
    }
    #construction .page_info02 .bnr_link .text_zone a:nth-child(2) {
        margin-top: 1.5rem;
    }
    #construction .add_padding {
        padding: 0;
        margin-top: 7rem;
    }
}



/**=================
Maintenance
==================**/
.color_red {
    color: #BE1600;
}
#maintenance .repair01 .title_zone,
#maintenance .repair02 .title_zone {
    margin-top: 3.5rem;
}
#maintenance .page_center {
    justify-content: center !important;
}
#maintenance .page_info .page_intro {
    justify-content: space-between;
}
#maintenance .page_info .page_intro .title_zone,
#maintenance .page_info .page_intro .infomation {
    padding: 0;
}
#maintenance .page_info .page_intro .title_zone {
    margin-bottom: 2rem;
}
#maintenance .page_info .page_intro .title_zone p,
#maintenance .page_info .page_intro .title_zone ul a {
    color: #A09A91;
}
#maintenance .page_info .page_intro .title_zone ul {
    padding-left: 0;
    margin-bottom: 0;
}
#maintenance .page_info .page_intro .title_zone ul li {
    line-height: 1.5;
}
#maintenance .page_info {
    justify-content: space-between;
}
#maintenance .page_info .title_zone p.sub_title {
    font-size: 2rem;
    line-height: 1.5;
}
#maintenance .page_info .text_zone {
    /*width: 90%;*/
    margin: auto;
    margin-left: 0;
}
#maintenance .page_info .section {
    padding-top: 3.5rem;
    border-top: 1px solid #A09A91;
}
#maintenance .page_info .section p.zen {
    font-weight: 500;
}
#maintenance .page_info .section span.color_red {
    font-weight: bold;
}
#maintenance .page_info .section01{
    border-top: none;
}
#maintenance .page_info .ex_img_zone {
    display: flex;
    justify-content: space-between;
    margin-top: 1rem;
}
#maintenance .page_info .ex_img_zone img.ex_img {
    width: 12rem;
    height: auto;
}
#maintenance .page_info .ex_btn a {
    margin-right: 1rem;
}
.onlineshop {
    justify-content: space-around;
    border-top: 1px solid #A09A91;
    border-bottom: 1px solid #A09A91;
    padding-top: 5rem;
    padding-bottom: 5rem;
}


@media screen and (max-width:1600px) {
    #maintenance .page_info .ex_btn a {
        margin-right: 2rem;
    }
}


@media screen and (max-width:1400px) {
    #maintenance .page_info .ex_btn a {
        margin-right: 1rem;
    }
}

@media screen and (max-width:1280px){
    #maintenance .page_info .title_zone p.sub_title {
        font-size: 1.5rem;
        line-height: 1.5;
    }
    .onlineshop {
        /*justify-content: space-between;*/
        justify-content: space-around;
        border-top: 1px solid #A09A91;
        border-bottom: 1px solid #A09A91;
    }
}

@media screen and (max-width:991px) {
    #maintenance  .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 52% !important;
    }

    #maintenance .page_info .page_intro {
        justify-content: center;
    }
    #maintenance .page_info {
        justify-content: center;
    }
    #maintenance .page_info .title_zone p.sub_title {
        font-size: 1.5rem;
        line-height: 1.5;
    }
    #maintenance .infomation {
        /*margin-top: 3.5rem;*/
        margin-top: 0rem;
    }
    #maintenance .repair01 .title_zone,
    #maintenance .repair02 .title_zone {
        margin-top: 0rem;
    }
    #maintenance .page_info .section {
        padding-top: 3.5rem;
        margin-top: 3.5rem;
        border-top: 1px solid #A09A91;
    }
    #maintenance .page_info .ex_img_zone {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        margin-top: 0rem;
    }
    #maintenance .page_info .ex_img_zone img.ex_img {
        width: 100%;
        height: auto;
        margin-top: 2rem;
    }
    #maintenance .page_info .ex_btn a {
        margin-right: 0rem;
        margin-top: 1rem;
    }
    #maintenance .repair02 .title_zone {
		padding-top: 3.5rem;
		border-top: 1px solid #707070;
	}
    #maintenance .repair02 .infomation .text_zone .section {
        border: none;
        padding: 0;
    }
    #maintenance .sales_mainte .title_zone {
        padding-top: 3.5rem;
		border-top: 1px solid #707070;

    }
    #maintenance .last_info {
        justify-content: center;
    }
    .onlineshop {
        justify-content: space-around;
        border-top: 1px solid #A09A91;
        border-bottom: none;
        padding-top: 3.5rem;
        padding-bottom: 0rem;
    }
}

@media screen and (max-width:540px) {
    #maintenance {
        overflow: hidden;
    }
    #maintenance  .main_img_zone .img_zone {
        margin-left: 0 !important;
        width: 100% !important;
    }

    #maintenance p.big_font {
        font-size: 2.3rem !important;
    }
    #maintenance .page_info .title_zone p.sub_title {
        font-size: 2.7rem;
        line-height: 1.5;
    }
    .onlineshop {
        padding-top: 5rem;
    }
    .onlineshop p.ja {
        font-size: 2.7rem;
    }
    #maintenance .last_info {
        justify-content: center;
        padding: 0;
    }
    #maintenance .infomation .ex_btn  {
        margin-top: 0;
    }
    #maintenance .page_info .ex_btn a:first-child {
        margin-top: 5rem;
    }
    #maintenance .page_info .ex_btn a:last-child {
        margin-top: 1.5rem;
    }
    #maintenance .page_info .page_intro .title_zone ul a {
        font-size: 1.6rem;
    }
    #maintenance .page_info .page_intro .title_zone ul li {
        line-height: 1.5;
    }
    #maintenance .btn_margin {
        margin-top: 3.5rem;
    }

    #maintenance .infomation .res_margin {
        margin-top: 4.5rem;
    }


}










/**============
showroom
=============**/
#showroom .main_img_zone {
    position: relative;
    padding-top: 8rem;
}
#showroom .main_img_zone .main_text {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    height: fit-content;
    padding-top: 10rem;
}
#showroom .main_img_zone .main_text h2 {
    color: #A09A91;
    font-size: 2.3rem;
}
#showroom .main_img_zone .main_text ul {
    padding-left: 0;
}
#showroom .main_img_zone .main_text ul li {
    line-height: 1.5;
}
#showroom .main_img_zone .main_text ul a {
    color: #A09A91;
}
#showroom .main_img_zone .img_zone {
    margin: auto;
    margin-right: 0;
}
#showroom .intro_img_zone {
    margin-right: 0;
}

#showroom .page_info .title_zone h3 {
    font-size: 2rem;
}
#showroom .intro {
    margin-top: -3.5rem;
}
#showroom .bg_color {
    background-color: #F8F6F2;
    padding-bottom: 8rem;
}



/*** slide img 調整 **/

#showroom .slide_zone .slide01 {
    width: 22rem !important;
    height: auto;
}
#showroom .slide_zone .slide02 {
    width: 16rem !important;
    height: auto;
    margin: 4rem;
}
#showroom .slide_zone .slide03 {
    width: 13rem !important;
    height: auto;
    margin-top: 9rem;
}
#showroom .slide_zone .slide04 {
    width: 22rem !important;
    height: auto;
    margin-left: 4rem;
    margin-top: 2rem;
}
#showroom .slide_zone .slide05 {
    width: 22rem !important;
    height: auto;
    margin-left: 4rem;
    margin-right: 4rem;
}

#showroom .slide_zone img.slide_img01 {
    width: 22rem;
    height: auto;
}
#showroom .slide_zone img.slide_img02 {
    width: 16rem;
    height: auto;
}
#showroom .slide_zone img.slide_img03 {
    width: 13rem;
    height: auto;
}
#showroom .slide_zone img.slide_img04 {
    width: 22rem;
    height: auto;
}
#showroom .slide_zone img.slide_img05 {
    width: 22rem;
    height: auto;
}

/*** slide img 調整 ここまで **/

#showroom .page_info02 .maker_zone {
    display: flex;
    justify-content: space-between;
}
#showroom .page_info02 .title_zone {
    position: relative;
}
#showroom .page_info02 .title_zone a {
    position: absolute;
    bottom: 1rem;
    right: 0;
}
#showroom .page_info02 .title_zone h3 {
    margin-bottom: 1rem;
}

#showroom .page_info02 .maker_list {
    width: 30%;
    margin-top: 1.5rem;
}
#showroom .page_info02 .maker_list .img_zone {
    padding-bottom: 1.5rem;
}
#showroom .page_info02 img.maker_logo {
    /*height: 2rem;
    width: auto;*/
    width: 100%;
    height: auto;
    margin-bottom: 1.5rem;
}

#showroom .access .map_zone {
    width: 100%;
    height: 18rem !important;
    filter: grayscale(1);
}
#showroom .access .access_info {
    justify-content: space-between;
}
#showroom .access .access_info .title_zone {
    position: relative;
}
#showroom .access .access_info .title_zone::after{
    position: absolute;
    content: "";
    background: #707070;
    width: 1px;
    height: 100%;
    right: 0;
    top: 0;
}
#showroom .access table tr {
    display: block;
    padding: 0.5rem 0;
}
#showroom .access table tr th {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 0.9rem;
    width: 5rem;
}
#showroom .access table tr td {
    font-size: 0.9rem;
    padding-left: 2rem;
}
#showroom .access .text_zone p {
    margin-top: 1rem;
}


@media screen and (max-width:1280px) {
    #showroom .page_info .title_zone h3 {
        font-size: 1.5rem;
    }
    #showroom .intro {
        margin-top: -3.5rem;
    }
    #showroom .access .access_info {
        justify-content: space-between;
    }
    /*
    #showroom .page_info02 img.maker_logo {
        height: 1.8rem;
        width: auto;
        margin-bottom: 1.5rem;
    }
    */
}


@media screen and (max-width:991px) {
    #showroom .bg_color {
        background-color: #F8F6F2;
        padding-bottom: 3.5rem;
    }
    #showroom .main_img_zone .main_text {
        position: initial;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        height: fit-content;
        padding-top: 0rem;
        justify-content: center;
    }
    #showroom .main_img_zone .img_zone {
        margin: auto;
        margin-right: 0;
        margin-top: 5rem;
        padding-left: 8.64px;
        padding-right: 8.64px;

    }
    #showroom .intro {
        margin-top: 0rem;
    }

    /*** slide img 調整 **/

    #showroom .slide_zone .slide01 {
        width: 16rem !important;
        height: auto;
    }
    #showroom .slide_zone .slide02 {
        width: 14rem !important;
        height: auto;
        margin: 2rem;
    }
    #showroom .slide_zone .slide03 {
        width: 13rem !important;
        height: auto;
        margin-top: 5rem;
    }
    #showroom .slide_zone .slide04 {
        width: 18rem !important;
        height: auto;
        margin-left: 2rem;
        margin-top: 2rem;
    }
    #showroom .slide_zone .slide05 {
        width: 18rem !important;
        height: auto;
        margin-left: 2rem;
        margin-right: 4rem;
    }

    #showroom .slide_zone img.slide_img01 {
        width: 16rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img02 {
        width: 14rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img03 {
        width: 13rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img04 {
        width: 18rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img05 {
        width: 18rem;
        height: auto;
    }

    /*** slide img 調整 ここまで **/

    #showroom .page_info02 .title_zone a {
        position: initial;
        bottom: 1rem;
        right: 0;
    }
    #showroom .page_info02 .maker_zone {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    #showroom .page_info02 .maker_list {
        width: 100%;
        margin-top: 3.5rem;
    }
    #showroom .page_info02 img.maker_logo {
        width: 90%;
        height: auto;
        margin-bottom: 1.5rem;
    }
    #showroom .page_info02 .res_btn {
        margin-top: 3.5rem;
    }
    /*
    #showroom .access .access_info .title_zone::after {
        display: none;
    }
    */
    #showroom .access table {
        margin-top: 2rem;
    }
    #showroom .access table tr th {
        vertical-align: top;
        display: block;
        width: 100%;
        font-size: 1rem;
    }
    
    #showroom .access table tr td {
        display: block;
        padding-left: 0;
        font-size: 1rem;
    }
    #showroom .access .access_info {
        justify-content: space-between;
        margin-top: 0;
    }
    #showroom .access .access_info .title_zone,
    #showroom .access .access_info .text_zone {
        padding: 0;
        position: relative;
    }
    #showroom .access .access_info .title_zone::after {
        position: absolute;
        content: "";
        top: initial;
        bottom: -10px;
        left: 0;
        margin: auto;
        background-color: #707070;
        height: 1px;
        width: 100%;
    }
    #showroom .access .access_info .text_zone a {
       align-items: center;
    }
    #showroom .access .access_info .text_zone a img {
        margin-left: 1rem;
    }
    #showroom .parallax {
        width: 52% !important;
        margin-left: 0 !important;
    }
    #showroom .access .map_zone {
        width: 100%;
        height: 18rem !important;
        filter: grayscale(1);
        margin-bottom: 5rem;
    }
}

@media screen and (max-width:540px) {
    #showroom .main_img_zone {
        position: relative;
        padding-top: 11rem;
    }
    #showroom .main_img_zone .page_title p.big_font {
        /*font-size: 2.2rem !important;*/
        font-size: 2.7rem !important;
    }
    #showroom .page_info .title_zone h3 {
        font-size: 2.7rem;
    }

     #showroom .intro {
        margin-top: 0rem;
        padding: 0px;
    }
    #showroom .main_img_zone .img_zone {
        margin: auto;
        margin-top: 5rem;
    }
    #showroom .page_info02 .title_zone a {
        position: initial;
        bottom: 1rem;
        right: 0;
        margin-top: 3.5rem;
    }
    #showroom .page_info02 .maker .text_zone {
        margin-top: 3.5rem;
    }
    #showroom .page_info02 .maker_list .img_zone {
        padding-bottom: 3.5rem;
    }
    #showroom .page_info02 img.maker_logo {
        width: 100%;
        height: auto;
        margin-bottom: 1.5rem;
    }
    #showroom .page_info02 .maker_list {
        width: 100%;
        margin-top: 5rem;
    }
    #showroom .page_info02 .res_btn {
        margin-top: 5rem;
    }
    /*
    #showroom .page_info02 img.maker_logo {
        height: 4rem;
        width: auto;
        margin-bottom: 3.5rem;
    }
    */
    #showroom .access .map_zone {
        width: 100%;
        height: 18rem !important;
        filter: grayscale(1);
    }
    #showroom .access .access_info {
        justify-content: space-between;
    }
    #showroom .access table tr th {
        font-family: "Zen Kaku Gothic New", sans-serif;
        font-size: 1.8rem;

    }
    #showroom .access table tr td {
        font-size: 1.8rem;
    }
    #showroom .slide_zone .slide01 {
        width: 28rem !important;
        height: auto;
    }
    #showroom .slide_zone .slide02 {
        width: 25rem !important;
        height: auto;
        margin: 3rem;
    }
    #showroom .slide_zone .slide03 {
        width: 25rem !important;
        height: auto;
        margin-top: 5rem;
    }
    #showroom .slide_zone .slide04 {
        width: 25rem !important;
        height: auto;
        margin-left: 3rem;
        margin-top: 2rem;
    }
    #showroom .slide_zone .slide05 {
        width: 28rem !important;
        height: auto;
        margin-left: 3rem;
        margin-right: 4rem;
    }
    #showroom .slide_zone img.slide_img01 {
        width: 28rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img02 {
        width: 25rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img03 {
        width: 25rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img04 {
        width: 25rem;
        height: auto;
    }
    #showroom .slide_zone img.slide_img05 {
        width: 28rem;
        height: auto;
    }
    #showroom .access .access_info .text_zone a {
        align-items: center;
        display: flex;
        margin-top: 5rem;
    }
    #showroom .parallax {
        width: 100% !important;
        margin-left: 0 !important;
    }
    #showroom .access .map_zone {
        width: 100%;
        height: 18rem !important;
        filter: grayscale(1);
        margin-bottom: 7rem;
    }
}


/**=================
Privacy policy
=================**/
#privacypolicy .bg_color {
    padding-top: 10rem;
    padding-bottom: 10rem;
}
#privacypolicy .main_text h2 {
    color: #38342E;
}
#privacypolicy .main_text h2 span:nth-child(7) {
    margin-right: 1rem;
}

#privacypolicy .policy_main {
    border-top: 1px solid #D0D0D0;
}
#privacypolicy .policy_main p span{
    font-weight: 700;
}
#privacypolicy .policy_main ol {
    padding-left: 1.5rem;
}
#privacypolicy .policy_main ol li {
    font-size: 0.8rem;
}
#privacypolicy .policy_title h2 {
    font-size: 1.7rem;
}
@media screen and (max-width:991px) {
    #privacypolicy .bg_color {
        padding-top: 8rem;
        padding-bottom: 5rem;
    }
    #privacypolicy .policy_main ol li {
        font-size: 0.8rem;
    }
    #privacypolicy .policy_title h2 {
        font-size: 1.5rem;
    }
    #privacypolicy .policy_main ol li {
        font-size: 1rem;
    }
}

@media screen and (max-width:540px) {
    #privacypolicy .bg_color {
        padding-top: 13rem;
        padding-bottom: 5rem;
    }
    #privacypolicy .policy_title h2 {
        font-size: 2.2rem;
    }
    #privacypolicy .policy_main ol {
        padding-left: 3rem;
    }
    #privacypolicy .policy_main ol li {
        font-size: 1.8rem;
    }
}

/**=================
CONTACT
=================**/
#contact .bg_color {
    padding-top: 10rem;
    padding-bottom: 10rem;
}
#contact .form_flex {
    justify-content: space-between;
}
#contact .sticky_title {
    top: 65%;
}
#contact .sticky_title p.tel {
    font-size: 1.8rem !important;
}
#contact .sticky_title hr {
    width: 11rem;
    height: 1px;
    opacity: 1;
    background-color: #484848;
    margin: 10px 0;
}
#contact .contact_form .title_zone h2 {
    width: 22rem;
    height: auto;
}
#contact table tr th,
#contact table tr td {
    font-size: 0.8rem;
}
#contact table tr th {
    font-weight: 400;
    width: 30%;
    vertical-align: top;
    padding-top: 10px;
}
#contact table tr th.th {
    vertical-align: middle;
}
#contact table tr th.textarea {
    vertical-align: top;
    padding-top: 20px;
} 
#contact table tr td.input_text input,
#contact table tr td textarea {
    background-color: #fff;
    border:none;
    padding: 1rem 2rem;
    border-radius: 10px;
    width: 100%;
}
#contact table tr td.radio {
    display: block;
    padding: 0.3rem 0;
}


input[type="radio"] {
  appearance: none;
  width: 1rem;
  height: 1rem;
  border: 1px solid #707071;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
}

input[type="radio"]:checked {
  border-color: #707071;
  box-shadow: inset 0 0 0 6px #707071  /* 内側の黒い円 */
}


#contact table tr td.radio label {
    vertical-align: top;
    margin-left: 1rem;
}
#contact table tr td.radio input {
  accent-color: #707071;
  inline-size: 1.5rem;
  block-size: 1.5rem;
}
#contact table tr td.input_text {
    padding: 0.5rem 0 ;
}
::placeholder {
    color: #7C7C7C !important;
    font-size: 0.8rem !important;
}
#contact .text_area ,
#contact .submitArea {
    margin: auto;
    margin-right: 0;
    margin-top: 5rem;
    width: 70%;
}
#contact table tr.email td{
    padding-bottom: 1rem;
}
#contact table tr.text_area td{
    padding-top: 1rem;
}
#contact .text_area a {
    color: #FF0000;
    position: relative;
    transition: 0.5s;
}
#contact .text_area a:hover {
    color: #164499;
    position: relative;
    transition: 0.5s;
}
#contact .text_area a:after {
    position: absolute;
    content:"";
    height: 1px;
    width: 100%;
    bottom: -5px;
    right: 0;
    background: #707070;
}
#contact .submitArea input {
    background-color: #A09A91;
    border: none;
    color: #fff;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 0.8rem;
    width: 100%;
    height: 4rem;
    transition: 0.5s;
    margin-top: 10px;
    border-radius: 5px;
}
#contact .submitArea input:hover {
    background-color: #5b5751;
    transition: 0.5s;
}





/* 1. 本物のボタンを非表示にする */
#file {
    display: none;
}

/* 2. カスタムボタン（label）のデザイン */
.custom-file-upload {
    display: inline-block;
    padding: 1rem 2rem;
    cursor: pointer;
    background-color: #A09A91; /* ボタンの色 */
    color: #fff;            /* 文字の色 */
    border-radius: 10px 0 0 10px;     /* 角丸 */
    font-size: 0.8rem;
    transition: background-color 0.3s;
}

/* ホバー（マウスを乗せた時）の効果 */
.custom-file-upload:hover {
    background-color: #5b5751;
}

/* 3. ファイル名の表示用（お好みで） */
#file-name {
    /*margin-left: 10px;*/
    padding-left: 1rem;    
    font-size: 0.8rem;
    color: #7c7c7c;
}
#contact table tr.file td {
    margin: 1rem 0;
    padding: 0;
    background-color: #fff;
    border-radius: 10px;
}

@media screen and (max-width:1280px) {
    #contact .contact_form .title_zone h2 {
        width: 18rem;
        height: auto;
    }
}

@media screen and (max-width:991px) {
    #contact .bg_color {
        padding-top: 8rem;
        padding-bottom: 5rem;
    }
    #contact .form_flex {
        justify-content: center;
    }
    #contact .form {
        margin-top: 5rem;
        padding-top: 5rem;
        border-top: 1px solid #707070;
    }
    input[type="radio"]:checked {
        border-color: #707071;
        box-shadow: inset 0 0 0 4px #707071  /* 内側の黒い円 */
    }
    #contact table tr th,
    #contact table tr td {
        font-size: 1rem;
    }
    #contact table tr th {
        font-weight: 400;
        width: 100%;
        vertical-align: top;
        padding-top: 10px;
        display: block;
    }
    #contact table tr td.input_text {
        padding: 0.5rem 0 ;
        display: block;
    }
    #contact .text_area ,
    #contact .submitArea {
        margin: auto;
        margin-right: 0;
        margin-top: 1.5rem;
        width: 100%;
    }
    #contact table tr th.textarea {
        vertical-align: top;
        padding-top: 0px;
    } 
    .custom-file-upload {       
        border-radius:10px;    
        font-size: 1rem;
        transition: background-color 0.3s;
    }
    #contact table tr.file td {
        margin: 1rem 0;
        padding: 0;
        background-color: initial;
        border-radius: 10px;
    }
    #contact table tr.file td span {
        padding: 1.2rem 2rem;
        background-color: #fff;
        display: block;
        border-radius: 10px;
        margin-top: 15px;
    }
    #file-name {
        /*margin-left: 10px;*/
        font-size: 1rem;
        color: #7c7c7c;
    }
    #contact .submitArea input {
        font-size: 1;
    }
}

@media screen and  (max-width:540px) {
    #contact .bg_color {
        padding-top: 10rem;
        padding-bottom: 5rem;
    }
    input[type="radio"] {
    appearance: none;
    width: 2rem;
    height: 2rem;
    border: 1px solid #707071;
    background-color: #fff;
    border-radius: 50%;
    cursor: pointer;
    }

    input[type="radio"]:checked {
        border-color: #707071;
        box-shadow: inset 0 0 0 2px #707071  /* 内側の黒い円 */
    }
      #contact .form_zone {
        margin-top: 5rem;
      }
       #contact .form {
        margin-top: 5rem;
        padding-top: 5rem;
        border-top: 1px solid #707070;
       }
    .custom-file-upload {
        border-radius: 10px;
        font-size: 1.5rem;
        transition: background-color 0.3s;
    }
    #contact .contact_form .title_zone h2 {
        width: 25rem;
        height: auto;
    }
    #contact table tr th,
    #contact table tr td {
        font-size: 1.8rem;
    }
    #file-name {
        /*margin-left: 10px;*/
        font-size: 1.6rem;
        color: #7c7c7c;
    }
    ::placeholder {
        color: #7C7C7C !important;
        font-size: 1.6rem !important;
    }
    #contact .submitArea input {
        font-size: 1.8rem;
        height: 5rem;
    }
    #contact table tr th.textarea {
        vertical-align: top;
        padding-top: 10px; 
    }
}



/* 添付ファイル一覧 */
#file-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.file-list-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    /*margin-top: 0.5rem;*/
    padding: 0.3rem 1rem;
    background: #fff;
    border-radius: 8px;
}
.file-list-item:first-child {
    margin-top: 0.5rem
}
.file-list-item:last-child {
    margin-bottom: 0.5rem;
}

.file-list-name {
    min-width: 0;
    margin: 0;
    padding: 0;
    overflow-wrap: anywhere;
    background: transparent;
}

.file-remove-button {
    flex: none;
    border: 0;
    padding: 0.2rem 0.4rem;
    cursor: pointer;
    background: transparent;
    color: #7c7c7c;
    font-size: 0.8rem;
    line-height: 1;
}
