@charset "utf-8";
/* CSS Document */


body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox {
    gap: 20px 20px;
    width: min( 100%, 800px );
    margin-left: auto;
    margin-right: auto;
    font-size: 1.25em;
    align-items: center;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child {
    width: calc( ( 100% / 2 ) - 10px );
    text-align: center;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child a {
    display: block;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    padding: 20px 15px;
    text-decoration: none;
    box-shadow: 5px 5px 0 rgba(0,0,0,0.5);
    -moz-box-shadow: 5px 5px 0 rgba(0,0,0,0.5);
    -webkit-box-shadow: 5px 5px 0 rgba(0,0,0,0.5);
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child:nth-child(1) a {
    background-image: url('../images/home_pagebnr_bg2.jpg');
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child:nth-child(2) a {
    background-image: url('../images/home_pagebnr_bg1.jpg');
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child a * {
    color: #ffffff;
    text-shadow: #3f3f3f 2px 0px 2px,
                 #3f3f3f -2px 0px 2px,
                 #3f3f3f 0px -2px 2px,
                 #3f3f3f 0px 2px 2px,
                 #3f3f3f 2px 2px  2px,
                 #3f3f3f -2px 2px 2px,
                 #3f3f3f 2px -2px 2px,
                 #3f3f3f -2px -2px 2px,
                 #3f3f3f 1px 2px 2px,
                 #3f3f3f -1px 2px 2px,
                 #3f3f3f 1px -2px 2px,
                 #3f3f3f -1px -2px 2px,
                 #3f3f3f 2px 1px 2px,
                 #3f3f3f -2px 1px 2px,
                 #3f3f3f 2px -1px 2px,
                 #3f3f3f -2px -1px 2px;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child .row_main {
    font-weight: bold;
    line-height: 1;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child .row_sub {
    font-style: italic;
    line-height: 1;
    margin-top: 10px;
    padding-top: 10px;
    position: relative;
}
body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child .row_sub::before {
    position: absolute;
    top: -2px;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 4px;
    background-image: url('../images/common/parts_dots_white.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    content: '';
}
@media (max-width: 500px) {
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox {
        flex-direction: column;
    }
    body.home div#wrapcont #mainArea section.mainsec.s1 .mainclm1 .itemlist.flexbox > .child {
        width: 100%;
    }
}


body.home div#wrapcont #mainArea section.mainsec.s2 {
    margin-top: 100px;
}
body.home div#wrapcont #mainArea section.mainsec.s2 > .inner {
    padding-top: 50px;
    padding-bottom: 100px;
    width: 100%;
    position: relative;
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm1 {
    width: min( calc( 100% - 30px ), 1000px );
    margin-left: auto;
    margin-right: auto;
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm2 {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    transform: translate(0, calc( 100% - 20px ));
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm2 .row_type1 {
    background-color: #ffffff;
    border: 2px solid #CA120E;
    padding: 15px 20px;
    text-align: center;
    box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
    -moz-box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
    -webkit-box-shadow: 5px 5px 5px rgba(0,0,0,0.5);
    font-size: 1.25em;
    width: min( calc( 100% - 30px ), 550px );
    margin-left: auto;
    margin-right: auto;
}
body.home div#wrapcont #mainArea section.mainsec.s2 .mainclm2 .row_type1 * {
    color: #CA120E;
}


body.home div#wrapcont #mainArea section.mainsec.s3 > .inner {
    padding-top: calc( 100px + 50px );
    padding-bottom: 50px;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .itemlist.flexbox {
    gap: 30px 50px;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .itemlist.flexbox > .child.lt {
    width: 300px;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .itemlist.flexbox > .child.rt {
    width: calc( 100% - 300px - 50px );
}
@media (max-width: 850px) {
    body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .itemlist.flexbox {
        align-items: center;
        flex-direction: column;
    }
    body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .itemlist.flexbox > .child.lt {
        width: 100%;
        max-width: 300px;
    }
    body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 .itemlist.flexbox > .child.rt {
        width: fit-content;
    }
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub > li {
    position: relative;
    padding-left: 1em;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub > li::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '\30fb';
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub.useheadtxt > li {
    padding-left: calc( 1em + 10em );
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub.useheadtxt > li .headtxt {
    position: absolute;
    top: 0;
    left: 1em;
    z-index: 1;
}
@media (max-width: 500px) {
    body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub.useheadtxt > li {
        padding-left: 1em;
    }
    body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub.useheadtxt > li:nth-child(n+2) {
        margin-top: 10px;
    }
    body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm1 ul.itemlist-sub.useheadtxt > li .headtxt {
        position: static;
    }
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm2 {
    margin-top: 80px;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm2 .row_type1 {
    text-align: center;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm2 .row_type1 .headtxt {
    position: relative;
    padding-left: calc( 1em + 0.25em );
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: 1.25em;
    margin-bottom: 10px;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm2 .row_type1 .headtxt::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    content: '\25a0';
    color: #CA120E;
}
body.home div#wrapcont #mainArea section.mainsec.s3 .mainclm2 .row_type1 .maintxt {
}