@charset "utf-8";

.heLeft a img.logo_sp,
.heRight>.hamber_sp {
    display: none;
}


.downmenu_sp {
    width: 100%;
    position: absolute;
    left: 0;
    top: 0px;
    display: none;
    z-index: -1;
    opacity: 0;
    pointer-events: none;
    color: #fff;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px);
    transition: ease all 0.35s;
    overflow-y: auto;
    background-color: rgba(0, 0, 0, .8);
}

.downmenu_sp .ul_child2,
.downmenu_sp .ul_child1 {
    display: none;
}

.ft_sitemap_sp {
    display: none;
}

.ft_info_sp{
    display: none;
}

.ft_downmenu_sp,
.ft_downmenu_sp .ul_child2,
.ft_downmenu_sp .ul_child1 {
    display: none;
}

@media screen and (max-width:1220px) {
    .wrapFt::before{
        background-size: contain;
        background-position: bottom center;
    }
}

@media screen and (max-width:1000px) {
    .heDropdown .grid-1200 {
        padding-left: 0px;
        padding-right: 0px;
    }

    .heLeft {
        width: 35.6vw;
        padding-top: 0.5vw;
    }

    .heRight>ul.navMenu>li:not(:last-child) {
        margin-right: 2vw;
    }

    .heRight>ul.navMenu>li>a {
        font-size: 1.35vw;
        letter-spacing: 0.05vw;
        padding-top: 2vw;
        padding-bottom: 1.7vw;
        text-shadow: 0.2vw 0.2vw 0.3vw #000;
    }

    .heRight>ul.navMenu>li {
        width: calc(16.667% - 2vw);
        width: -moz-calc(16.667% - 2vw);
        width: -webkit-calc(16.667% - 2vw);
    }

    .heRight {
        width: calc(100% - 35.6vw);
        width: -moz-calc(100% - 35.6vw);
        width: -webkit-calc(100% - 35.6vw);
    }

    .drItemBorder {
        border: 0.25vw solid #EB6519;
        padding-top: 2vw;
        padding-bottom: 2vw;
    }

    ul.nav03.nv03Ct>li {
        min-width: 13.5vw;
    }

    ul.nav03>li>a {
        font-size: 1.5vw;
        text-shadow: 0.2vw 0.2vw 0.3vw #000;
        padding-top: 0.3vw;
        padding-bottom: 0.2vw;
    }

    .heRight>ul.navMenu>li>a::before {
        height: 0.4vw;
    }

    .droLeft {
        padding-right: 1vw;
        padding-top: 2.5vw;
        padding-bottom: 2.5vw;
    }

    .grid-102 {
        max-width: 10.2vw;
    }

    .droLeft span.fz20 {
        font-size: 2vw;
    }

    .droLeft span.fz13 {
        font-size: 1.3vw;
        padding-top: 0.5vw;
    }

    .droRight {
        border-left: 0.25vw solid #EB6519;
        padding-top: 2vw;
        padding-bottom: 2vw;
        padding-left: 1vw;
        padding-right: 1vw;
    }

    ul.nav01>li>a>span.nv01Img {
        height: 7.6vw;
    }

    ul.nav01>li>a>span.nv01Txt {
        font-size: 1.5vw;
        padding-top: 0.3vw;
        padding-left: 0.8vw;
        text-shadow: 0.2vw 0.2vw 0.3vw #000;
    }

    ul.nav02>li>a>span.drRow>span.drRImg {
        width: 8vw;
    }

    ul.nav02>li>a>span.drRow>span.drRTxt {
        width: calc(100% - 8vw);
        width: -moz-calc(100% - 8vw);
        width: -webkit-calc(100% - 8vw);
        font-size: 1.3vw;
        text-shadow: 0.2vw 0.2vw 0.3vw #000;
    }
}

@media screen and (max-width:767px) {
    .hide_sp{
        display: none;
    }
    .title-page-banner{
        left: 3.259vw;
    }
    .breadcrumb {
        padding: 1.043vw 3.259vw 3.911vw;
    }
    .breadcrumb .breadcrumb-item{
        font-size: 2.6vw;
    }
    .heDropdown {
        display: none;
    }

    .heLeft a img {
        display: none;
    }

    .heLeft a img.logo_sp {
        display: block;
        width: 71.708vw;
        height: auto;
    }

    .heRight>ul.navMenu {
        display: none;
    }

    .heRight>.hamber_sp {
        display: block;
        max-width: 10.169vw;
        width: 100%;
        height: 11.082vw;
        background-image: url(../img/hd_hambertext_sp.svg), url(../img/hd_hamber_sp.svg);
        background-position: bottom right, bottom 4.563vw right;
        background-repeat: no-repeat;
        background-size: 9.126vw 3.781vw, 9.909vw 5.476vw;
        cursor: pointer;
        margin-left: auto;
    }

    .heRight>.hamber_sp.active {
        background-image: url(../img/hd_hambertext_sp.svg), url(../img/hd_hambercl_sp.svg);
        background-size: 9.126vw 3.781vw, 6.258vw 6.258vw;
        background-position: bottom right, bottom 4.563vw right 1.304vw;
    }

    .heRows {
        padding-left: 1.304vw;
        padding-right: 1.304vw;
        padding-top: 2.477vw;
        padding-bottom: 2.086vw;
    }

    .heLeft {
        width: 80.435%;
    }

    .heRight {
        width: 19.565%;
        padding-right: 1.304vw;
    }

    .downmenu_sp.active {
        pointer-events: all;
        display: block;
        z-index: 1;
        -webkit-animation: dropdown .6s cubic-bezier(.165, .84, .44, 1) 0s;
        animation: dropdown .6s cubic-bezier(.165, .84, .44, 1) 0s;
        -webkit-animation-fill-mode: both;
        animation-fill-mode: both;
    }

    .downmenu_sp ul li {
        position: relative;
    }

    .downmenu_sp>ul>li>a {
        position: relative;
        padding-bottom: 1.043vw;
        background-color: rgba(255, 255, 255, 0.2);
    }

    .downmenu_sp .menu_lang {
        position: relative;
        padding-bottom: 1.043vw;
        padding-left: 8.8%;
        padding-right: 8.8%;
        padding-bottom: 4.954vw;
        padding-top: 3.259vw;
    }

    .downmenu_sp .menu_lang:after,
    .downmenu_sp>ul>li>a:after {
        content: "";
        height: 1.043vw;
        width: 100%;
        background-image: url(../img/hd_menuborder.png);
        background-size: cover;
        background-position: bottom center;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .downmenu_sp .menu_lang .txt {
        font-size: 4.172vw;
        line-height: 130%;
        font-weight: bold;
        letter-spacing: 0.5px;
        padding-left: 7.171vw;
    }

    .downmenu_sp .menu_lang .all_lang {
        display: flex;
        align-items: stretch;
        justify-content: space-between;
        flex-wrap: wrap;
        color: #FFFFFF;
    }

    .downmenu_sp .menu_lang .all_lang a {
        font-size: 5.215vw;
        font-weight: bold;
        line-height: 175%;
        color: #FFFFFF;
        text-decoration: none;
        position: relative;
        padding-left: 7.171vw;
        width: 48%;
    }

    .downmenu_sp .menu_lang .all_lang a::before {
        content: '';
        height: 5.215vw;
        width: 5.215vw;
        background-image: url(../img/hd_square_sp.svg);
        background-size: contain;
        background-position: center;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
    }

    .downmenu_sp>ul>li a {
        font-size: 5.215vw;
        line-height: 175%;
        font-weight: bold;
        color: #fff;
        text-decoration: none;
        padding-left: 8.8%;
        padding-right: 8.8%;
        width: 100%;
        display: block;
        padding-top: 2.868vw;
        padding-bottom: 2.347vw;
        position: relative;
        letter-spacing: 0.5px;
    }

    .downmenu_sp>ul>li ul.ul_child2 li a {
        font-size: 4.172vw;
        padding-left: 19.557vw;
        background-image: url(../img/hd_arrow_sp.svg);
        background-size: 2.347vw 4.563vw;
        background-repeat: no-repeat;
        background-position: center left 16.297vw;
        padding-top: 0.747vw;
        padding-bottom: 0.747vw;
    }

    .downmenu_sp>ul>li ul.ul_child2 li a {
        font-size: 4.172vw;
        padding-left: 19.557vw;
        background-image: url(../img/hd_arrow_sp.svg);
        background-size: 2.347vw 4.563vw;
        background-repeat: no-repeat;
        background-position: center left 16.297vw;
        padding-top: 0.747vw;
        padding-bottom: 0.747vw;
    }

    .downmenu_sp>ul>li ul.ul_child2 li:first-child a {
        margin-top: 2vw;
    }

    .downmenu_sp>ul>li ul.ul_child2 li:last-child a {
        margin-bottom: 2vw;
    }

    .downmenu_sp>ul>li ul.ul_child1 {
        margin-top: 3vw;
    }

    .downmenu_sp>ul>li ul.ul_child1 a {
        padding-top: 0;
        padding-bottom: 0;
    }

    .downmenu_sp>ul>li.activepage>a {
        background-color: #CC0000;
    }

    .downmenu_sp>ul>li a span.icon_add {
        padding-left: 7.171vw;
        position: relative;
        width: 100%;
        display: block;
        z-index: 9;
    }

    .downmenu_sp>ul>li a span.icon_add::before {
        content: '';
        height: 4.954vw;
        width: 4.954vw;
        background-image: url(../img/hd_icon_sp.svg);
        background-size: contain;
        background-position: center;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
    }


    .downmenu_sp>ul>li .btn_menusp {
        position: absolute;
        top: 4.563vw;
        right: 8.8%;
        width: 4.824vw;
        height: 4.824vw;
        background-image: url(../img/hd_plus_sp.svg);
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 9;
        display: block;
        cursor: pointer;
    }

    .downmenu_sp>ul>li.active .btn_menusp {
        background-image: url(../img/hd_minus_sp.svg);
    }

    .downmenu_sp>ul>li:last-child ul {
        margin-bottom: 11vw;
    }

    .ftRight {
        display: none;
    }

    .ft_sitemap_sp {
        display: block;
        width: 100%;
        position: relative;
    }

    .ft_sitemap_sp:before {
        content: "";
        height: 0.652vw;
        width: 100%;
        background-image: url(../img/hd_menuborder.png);
        background-position: center center;
        background-repeat: repeat;
        background-size: cover;
        position: absolute;
        top: 0;
        left: 0;
    }

    .ft_sitemap_sp::after {
        content: "";
        height: 0.652vw;
        width: 100%;
        background-image: url(../img/hd_menuborder.png);
        background-position: center center;
        background-repeat: repeat;
        background-size: cover;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .ft_sitemap_sp>a {
        font-size: 3.651vw;
        font-weight: bold;
        line-height: 175%;
        color: #fff;
        text-decoration: none;
        background-color: rgba(0, 0, 0, 0.3);
        display: block;
        padding-left: 6.780vw;
        padding-right: 6.780vw;
        padding-top: 5.215vw;
        padding-bottom: 4.563vw;
        position: relative;
        text-shadow: 1px 1px 3px #000;
    }

    .ft_sitemap_sp.active>a {
        padding-top: 6.515vw;
    }

    .ft_sitemap_sp>a>.icon_add {
        display: block;
    }

    .ft_sitemap_sp>.btn_menusp {
        width: 5.867vw;
        height: 5.867vw;
        background-image: url(../img/ft_plus_sp.svg);
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        position: absolute;
        top: 5.215vw;
        right: 7.823vw;
        z-index: 9;
        cursor: pointer;
    }

    .ft_sitemap_sp.active>.btn_menusp {
        background-image: url(../img/ft_minus_sp.svg);
    }

    .ft_downmenu_sp ul li {
        position: relative;
    }

    .ft_downmenu_sp>ul>li>a {
        position: relative;
        padding-bottom: 1.043vw;
        background-color: rgba(255, 255, 255, 0.2);
    }

    .ft_downmenu_sp>ul>li>a:after {
        content: "";
        height: 1.043vw;
        width: 100%;
        background-image: url(../img/hd_menuborder.png);
        background-size: cover;
        background-position: bottom center;
        position: absolute;
        bottom: 0;
        left: 0;
    }

    .ft_downmenu_sp>ul>li a {
        font-size: 5.215vw;
        line-height: 175%;
        font-weight: bold;
        color: #fff;
        text-decoration: none;
        padding-left: 8.8%;
        padding-right: 8.8%;
        width: 100%;
        display: block;
        padding-top: 2.868vw;
        padding-bottom: 2.347vw;
        position: relative;
        letter-spacing: 0.5px;
    }

    .ft_downmenu_sp>ul>li ul.ul_child2 li a {
        font-size: 4.172vw;
        padding-left: 19.557vw;
        background-image: url(../img/hd_arrow_sp.svg);
        background-size: 2.347vw 4.563vw;
        background-repeat: no-repeat;
        background-position: center left 16.297vw;
        padding-top: 0.747vw;
        padding-bottom: 0.747vw;
    }

    .ft_downmenu_sp>ul>li ul.ul_child2 li a {
        font-size: 4.172vw;
        padding-left: 19.557vw;
        background-image: url(../img/hd_arrow_sp.svg);
        background-size: 2.347vw 4.563vw;
        background-repeat: no-repeat;
        background-position: center left 16.297vw;
        padding-top: 0.747vw;
        padding-bottom: 0.747vw;
    }

    .ft_downmenu_sp>ul>li ul.ul_child2 li:first-child a {
        margin-top: 2vw;
    }

    .ft_downmenu_sp>ul>li ul.ul_child2 li:last-child a {
        margin-bottom: 2vw;
    }

    .ft_downmenu_sp>ul>li ul.ul_child1 {
        margin-top: 3vw;
    }

    .ft_downmenu_sp>ul>li ul.ul_child1 a {
        padding-top: 0;
        padding-bottom: 0;
    }

    .ft_downmenu_sp>ul>li.activepage>a {
        background-color: #CC0000;
    }

    .ft_downmenu_sp>ul>li a span.icon_add {
        padding-left: 7.171vw;
        position: relative;
        width: 100%;
        display: block;
        z-index: 9;
    }

    .ft_downmenu_sp>ul>li a span.icon_add::before {
        content: '';
        height: 4.954vw;
        width: 4.954vw;
        background-image: url(../img/hd_icon_sp.svg);
        background-size: contain;
        background-position: center;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
    }


    .ft_downmenu_sp>ul>li .btn_menusp {
        position: absolute;
        top: 4.563vw;
        right: 8.8%;
        width: 4.824vw;
        height: 4.824vw;
        background-image: url(../img/hd_plus_sp.svg);
        background-position: center center;
        background-size: contain;
        background-repeat: no-repeat;
        z-index: 9;
        display: block;
        cursor: pointer;
    }

    .ft_downmenu_sp>ul>li.active .btn_menusp {
        background-image: url(../img/hd_minus_sp.svg);
    }

    .ft_downmenu_sp>ul>li:last-child {
        padding-bottom: 0.6vw;
    }

    .ft_sitemap_sp.active:before {
        height: 1.956vw;
    }

    .wrapFt {
        background-color: unset;
    }

    .wrapFt::before {
        content: none;
    }

    span.ftInfo {
        display: none;
    }

    .logoFt{
        margin-bottom: 5.9vw;
        max-width: 65.189vw;
        margin-left: auto;
        margin-right: auto;
    }

    .ftLeft {
        margin-top: 6.7vw;
    }

    .ft_info_sp{
        display: block;
    }

    .ft_info_sp .txt01{
        font-size: 4.172vw;
        line-height: 175%;
        font-family: "HGMinchoE",serif;
        letter-spacing: 1px;
        text-shadow: 1px 1px 3px #000;
        color: #FFFFFF;
        margin-bottom: 2.6vw;
    }

    .ft_info_sp a{
        display: block;
        margin-bottom: 3.911vw;
        width: 100%;
        max-width: 408px;
        margin-left: auto;
        margin-right: auto;
    }

    .ft_info_sp .txt02{
        font-size: 4.172vw;
        line-height: 140%;
        font-family: "HGMinchoE",serif;
        letter-spacing: 1px;
        text-shadow: 1px 1px 3px #000;
        color: #FFFFFF;
    }

    span.copyRight{
        font-size: 2.572vw;
        padding-top: 9.5vw;
        padding-bottom: 50px;
    }

    .wrapFt{
        margin-top: 0;
        padding-top: 0;
    }

    .ho8Full {
        padding-top: 33px;
        padding-bottom: 17.340vw;
    }

    .ho8Full ul li {
        height: 26.076vw;
        padding-left: 15.906vw;
        padding-right: 15.906vw;
        width: 100%;
        border-bottom: 0px solid rgba(255, 255, 255, 0.65);
    }

    .ho8Full ul li:last-child{
        border-bottom: 1px solid rgba(255, 255, 255, 0.65);
    }

    span.ho08Tt{
        font-size: 3.651vw;
        line-height: 120%;
        text-shadow: 1px 1px 3px #000;
    }

    .ho8Full ul li span.ho08Btn{
        font-size: 4.015vw;
        max-width: 52.803vw;
        margin-top: 3vw;
        height: 10.430vw;
    }

}


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

.ft_info_sp a{
    max-width: 300px;
}

}
