@charset "utf-8";


body {
    background: #FFF;

    font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体",
        "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic",
        "メイリオ", Meiryo,
        Helvetica,sans-serif;

    font-size: 15px;
    *font-size: small;
    *font: x-small;
    line-height: 1.4em;


    -webkit-tap-highlight-color:rgba(0,0,0,0);
    -webkit-text-size-adjust: 100%;
    -webkit-touch-callout: none;
    -webkit-user-select:none;


    color: #e59a36;

}

img{
    width: 100%;
}

.en{
    font-family: 'Lato', sans-serif;
}

.small{
    font-size: 80%;
}




#modal{
    position: fixed;
    left: 0;
    top: 0;
    z-index: 99999;
    background-color: rgba(0,0,0,0.75);
    visibility: hidden;
    opacity:0;
    transition-duration: 400ms;
    transition-property: opacity,visibility;
    transition-timing-function: ease;
    justify-content:center;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    -ms-align-items: center;
    align-items:center ;
}

body.openModal #modal{
    visibility: visible;
    opacity:1;
}

body.openModal{
    overflow: hidden;
}

#modal .outer{
    background-image: url(../img/back_w.png);
    background-color: #fff;
    position: relative;
    border:14px #e59a36 solid;
}

#modal .inner{
   overflow: auto;
}

#modal .inner .content{
    display: none;
}
#modal .inner .content.active{
    display: block;
}
#modal .inner .page{
    display: none;
}
#modal .inner .page.active{
    display: block;
}

#modal .close{
    display: block;
    position: absolute;
    right: -14px;
    top: -14px;
    width: 80px;
    height: 80px;
    z-index: 999;
    background-color: #e59a36;
}
#modal .close a{
    display: block;
    background-image: url(../img/modal_close.png);
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    width: 80px;
    height: 80px;
    text-indent: -9999px;
    overflow: hidden;
}
#modal .close a:hover{
/*    opacity:1;*/
}


#modal .controller{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: #e59a36;
    z-index: 1;
    visibility: hidden;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    height: 70px;
    justify-content:space-between;
    -ms-align-items: center;
    align-items: center;
}

#modal.hasController .controller{
    visibility: visible;
}

#modal .controller .prev a{
    display: block;
    background-image: url(../img/modal_prev.png);
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    width: 182px;
    height: 35px;
    text-indent: -9999px;
    overflow: hidden;
    margin-left: 20px;
}

#modal .controller .next a{
    display: block;
    background-image: url(../img/modal_next.png);
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    width: 182px;
    height: 35px;
    text-indent: -9999px;
    overflow: hidden;
    margin-right: 20px;
}

#modal .controller .index a{
    display: block;
    background-image: url(../img/modal_index.png);
    -webkit-background-size: 100% 100%;
    background-size: 100% 100%;
    width: 34px;
    height: 34px;
    text-indent: -9999px;
    overflow: hidden;
    margin-top: 20px;
}



@media print,screen and (min-width: 769px) {

    .sp{
        display: none !important;
    }

    a:hover{
       opacity:0.6;
    }

    #wrapper{
        min-width: 1190px;
        overflow: hidden;

        background-image: url(../img/back2.png);
/*        background-color: #5ad6fa;*/
    }

    header{
        position: fixed;
        left: 0;
        top: 0;
        background-color: #e59a36;
        width: 80px;
        height: 100%;
/*        min-height: 600px;*/
        z-index: 100;
    }

    header .logo a{
        display: block;
        position: absolute;
        left: 18px;
        top: 30px;
        background-image: url(../img/hd_logo.png);
        -webkit-background-size: 100% 100%;
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center top;
        width: 38.5px;
        height: auto;
        aspect-ratio: 79 / 651;
        text-indent: -9999px;
        overflow: hidden;
    }

    header .entry a{
        display: block;
        position: absolute;
        left: 15px;
        bottom: 30px;
        background-image: url(../img/hd_entry.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(100px / 2);
        height: calc( 300px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }

    header .entry a:hover{
        opacity:0.5;
    }


    header .menubtn a{
        display: block;
        position: absolute;
        left: 15px;
        top: calc(50% - 35px);
        background-image: url(../img/hd_menu_open.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(90px / 2);
        height: calc( 140px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }

    body.openMenu header .menubtn a{
        background-image: url(../img/hd_menu_close.png);
    }








    footer{
        position: relative;
/*        background-color: #e59a36;*/
    }



    footer .entry{
        position: relative;
        z-index: 1;
        padding-bottom: 300px;
    }

    footer .entry .outer{
        width:calc( 100% - 130px ) ;
        margin-left: auto;
    }

    footer .entry .inner{
        width: 960px;
        margin-left: calc( ( (100%  - 960px) - 20px ) / 2  );
    }

    footer .entry .inner a{
        display: block;
        padding-top: 40px;
        padding-bottom: 40px;
        border-top: 15px #e59a36 solid;
        border-bottom: 15px #e59a36 solid;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content:center;
        position: relative;
    }

    footer .entry .inner a:hover{
        opacity:1;
    }


    footer .entry .text{
        position: absolute;
        left: 0;
        top: 50%;
        margin-top: calc(-103px / 4);
        display: block;
        background-image: url(../img/entry_text.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(520px / 2) ;
        height:calc(103px / 2) ;
        text-indent: -9999px;
        overflow: hidden;
    }

    footer .entry .inner a:hover .text{
        background-image: url(../img/entry_text_on.png);
    }


    footer .entry .tit{
        display: block;
        background-image: url(../img/entry_title.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(539px / 2) ;
        height:calc(111px / 2) ;
        text-indent: -9999px;
        overflow: hidden;
    }

    footer .entry .inner a:hover .tit{
        background-image: url(../img/entry_title_on.png);
    }


    footer .entry .arrow{
        position: absolute;
        right: 0;
        top: 50%;
        margin-top:calc(-91px / 4) ;
        display: block;
        background-image: url(../img/entry_arrow.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(251px / 2) ;
        height:calc(91px / 2) ;
        text-indent: -9999px;
        overflow: hidden;
        transform:translateX(-100px);
        transition-duration: 400ms;
        transition-timing-function: ease;
        transition-property:transform;
    }


    footer .entry .inner a:hover .arrow{
        transform:translateX(0px);
    }


    footer .image{
/*
        background: -moz-linear-gradient(top, rgba(255,250,169,0) 0%, rgba(255,250,169,1) 100%);
        background: -webkit-linear-gradient(top, rgba(255,250,169,0) 0%,rgba(255,250,169,1) 100%);
        background: linear-gradient(to bottom, rgba(255,250,169,0) 0%,rgba(255,250,169,1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fffaa9', endColorstr='#fffaa9',GradientType=0 );
*/

    }

    footer .image .inn{
        background-image: url(../img/ft_image.png);
        -webkit-background-size: cover;
        background-size: cover;
        background-position: center top;
        background-repeat: no-repeat;
        width: 100%;
        height: 100%;
    }




    footer .menugrp{
        position: relative;
        background-color: #e59a36;
    }

    footer .menugrp > span{
        position: relative;
        display: block;
        visibility: hidden;
    }

    footer .menu{
        background-color: #e59a36;
        border:15px #e59a36 solid;

        width: calc( 100% - 160px );
        margin-left: auto;
        position: relative;
        margin-top: -200px;
    }


    footer .menu .inner{
        width: 960px;
        margin-left: calc( ( (100%  - 960px) - 20px ) / 2  );
        padding: 50px 0px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    footer .menu .title {
        display: block;
        background-image: url(../img/ft_title.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(800px / 2);
        height: calc( 60px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }

    footer .menu .subtitle {
        margin-top: 15px;
        color: #e59a36;
    }

    footer .menu .inner > ul {
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        margin-top: 40px;
        justify-content:space-between;
        font-size: 90%;
    }

    footer .menu ul li{
        margin-bottom: 6px;
    }
    footer .menu ul li a {
        text-decoration: none;
        color: #fff;
    }

    footer .menu ul li a.coming {
        opacity:0.4;
    }
    footer .menu ul li a.nolink{
        cursor:default;
    }
    footer .menu ul li a.nolink:hover {
        opacity:1;
    }


    footer .menu ul li ul {
        margin-top: 6px;
    }


    footer .corp{
        width:calc( 100% - 130px ) ;
        margin-left: auto;
        padding-top: 50px;
        padding-bottom: 50px;
        color: #fff;

    }
    footer .corp .inner{
        width: 960px;
        margin-left: calc( ( (100%  - 960px) - 20px ) / 2  );
    }

    footer .texts{
        margin-top: 30px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content:space-between;
    }

    footer .texts .add{
        line-height: 2em;
        font-size: 90%;
    }

    footer .texts .copyright{
    }



    footer .corp .logo a{
        display: block;
        background-image: url(../img/ft_logo.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(686px / 2);
        height: calc( 72px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }


    #menu{
        position: fixed;
        z-index: 50;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        background-color: rgba(10,31,75,0.5);
        opacity:0;
        visibility: hidden;
        transition-duration: 400ms;
        transition-property: visibility,opacity;
        transition-timing-function: ease;
    }

    body.openMenu{
        overflow: hidden;
    }

    body.openMenu #menu{
        opacity:1;
        visibility: visible;
    }

    #menu .outer{
        position: absolute;
        left:0;
        top: 0;
        width: 750px;
        height: 100%;
        background-color: #e59a36;
        transition-duration: 400ms;
        transition-timing-function: ease;
        transition-property: transform;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items:center ;
        transform:translateX(-750px);
    }



    body.openMenu #menu .outer{
        transform:translateX(80px);
    }

    #menu .outer .copyright{
        position: absolute;
        right: 20px;
        top: calc(50% - (967px / 4 ) );
        background-image: url(../img/menu_copyright.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(23px / 2);
        height: calc( 967px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }


    #menu .outer .logo{
        position: absolute;
        right: calc( (-1520px / 4 ) );
        top: calc(50% - (1520px / 4 ) );
        background-image: url(../img/menu_logo.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(1520px / 2);
        height: calc( 1520px / 2);
        text-indent: -9999px;
        overflow: hidden;
        pointer-events: none;
    }

    #menu .outer .inner{
/*        padding-right: 100px;*/
        position: relative;
        width: 100%;
        height: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        overflow: auto;
        overflow-x: hidden;
    }
    #menu .outer .inner > ul{
            margin-left: 100px;
    }
    #menu .inner .btn{
        display: block;
        margin-top: 40px;
    }

    #menu .inner .btn:not(.coming):hover{
       opacity:0.5;
    }

    #menu .inner .btn .t{
        display: block;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        text-indent: -9999px;
        overflow: hidden;
        height: calc(70px / 2);
    }

    #menu .inner .btn.coming .t{
        opacity: 0.2;
    }

    #menu .inner .btn .cm{
        margin-top: 10px;
        display: block;
        background-image: url(../img/menu_coming.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(233px / 2);
        height: calc(19px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }


    #menu .inner .sbtn{
        display: block;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        text-indent: -9999px;
        overflow: hidden;
        height: calc(42px / 2);
        margin-top: 20px;
        margin-left: 40px;
    }


    #menu .inner .btn.ours .t{
        background-image: url(../img/menu_list_ours.png);
        width: calc(504px / 2);
    }

    #menu .inner .btn.overview .t{
        background-image: url(../img/menu_list_overview.png);
        width: calc(628px / 2);
    }

    #menu .inner .btn.story .t{
        background-image: url(../img/menu_list_story.png);
        width: calc(566px / 2);
    }

    #menu .inner .btn.gallery .t{
        background-image: url(../img/menu_list_gallery.png);
        width: calc(252px / 2);
    }

    #menu .inner .btn.peoples .t{
        background-image: url(../img/menu_list_peoples.png);
        width: calc(361px / 2);
    }



    #menu .inner .sbtn.peoples1{
        background-image: url(../img/menu_list_peoples_1.png);
        width: calc(372px / 2);
    }
    #menu .inner .sbtn.peoples2{
        background-image: url(../img/menu_list_peoples_2.png);
        width: calc(506px / 2);
    }
    #menu .inner .sbtn.peoples3{
        background-image: url(../img/menu_list_peoples_3.png);
        width: calc(462px / 2);
    }



    #menu .inner .btn.outline .t{
        background-image: url(../img/menu_list_outline.png);
        width: calc(632px / 2);
    }




    #maincontent{
        position: relative;
    }





    #maincontent .kv{
        height: 600px;
        padding-bottom: 100px;
        background-image: url(../img/kv_back.png);
        -webkit-background-size: cover;
        background-size:cover ;
        background-position: center bottom;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items:center ;
    }


    #maincontent .kv h1{
        width: 190px;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items:center
        -webkit-background-size: 190px 190px;
        background-size: 190px 190px;
        background-repeat: no-repeat;
        background-position: center center ;
    }
    #maincontent .kv h1 img{
        width: auto;
    }


    #maincontent .sections{
        margin-top: -100px;
    }

    #maincontent .section{
        background-color: #fff;
/*        background-image: url(../img/back_w.png);*/
        width:calc( 100% - 130px ) ;

        margin-left: auto;
        margin-bottom: 80px;
        border-left:15px #e59a36 solid;
        border-top:15px #e59a36 solid;
        border-bottom:15px #e59a36 solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 5px;
        padding-right: 0;
    }

    #maincontent .section .outer{
        border-left:5px #e59a36 solid;
        border-top:5px #e59a36 solid;
        border-bottom:5px #e59a36 solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    #maincontent .section .inner{
        margin-left: calc( ( (100% - 130px - 960px) - 20px ) / 2  );
        width: 960px;
        padding-left: 50px;
        padding-top: 100px;
        padding-bottom: 100px;
        position: relative;
    }


    #maincontent .section h2{
        color: #e59a36;
        font-size: 240%;
        font-weight: bold;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        margin-bottom: 50px;
        line-height: 1.35em;

        background-image: url(../../common/img/page_bullet.png);
        -webkit-background-size: calc(80px / 2) calc(32px / 2);
        background-size: calc(80px / 2) calc(32px / 2);
        background-repeat: no-repeat;
        background-position: left center;
        padding-left: 60px;

    }
    
    #maincontent .section .lead{
        font-weight: bold;

    }

    #anchor{
        position: fixed;
        right: 15px;
        top: 0;
        opacity:1;
        visibility: visible;
        transition-duration: 200ms;
        transition-property: visibility,opacity;
        transition-timing-function: ease;
    }

    #anchor li a{
        line-height: 1.35em;
        font-size: 90%;
        display: block;
        text-decoration: none;
        color: #e59a36;
        text-align: right;
        padding-right: 30px;
        margin-bottom: 10px;
    }

    #anchor li a.active{
       background-image: url(../img/anchor_active.png);
        background-repeat: no-repeat;
        background-position: right center;
        font-weight: bold;
    }



    .line_top{
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 15px;
        background-color: #e59a36;
        z-index: 1;
    }
    .line_bottom{
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 15px;
        background-color: #e59a36;
        z-index: 1;
    }

    .line_right{
        position: fixed;
        right: 0;
        top: 0;
        width: 15px;
        height: 100%;
        background-color: #e59a36;
        z-index: 1;
    }

    
    
 


}

@media screen and (min-width: 769px) and (max-width: 1420px) {
    #anchor{
        opacity:0;
        visibility: hidden;
    }

}

@media screen and (min-width: 769px) and (max-height: 600px) {


    header .logo a{
        display: block;
        position: absolute;
        left: 18px;
        top: 30px;
        background-image: url(../img/hd_logo.png);
        -webkit-background-size: calc(77px / 2) calc(386px / 2);
        background-size: calc(77px / 2) calc(386px / 2);
        width: calc(77px / 2);
        height: calc( 77px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }

    header .menubtn a{
        top: calc(50% - 100px);
    }



    #menu .outer .inner{
        -ms-align-items:flex-start;
        align-items:flex-start;
    }

}


@media only screen and (max-width: 768px) {

    .pc{
        display: none!important;
    }

    #wrapper{
        overflow: hidden;
/*        background-color: #5ad6fa;*/
        background-image: url(../img/back2.png);
    }


    header{
        position: fixed;
        left: 0;
        top: 0;
        background-color: #e59a36;
        width: 100vw;
        height: 50px;
        /*        min-height: 600px;*/
        z-index: 100;
    }

    header .logo a{
        display: block;
        position: absolute;
        left: 15px;
        top: 15px;
        background-image: url(../img/hd_logo_sp.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(238px / 2);
        height: calc( 40px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }

    header .entry a{
        display: block;
        position: absolute;
        right: 12px;
        top: 12px;
        background-image: url(../img/hd_entry_sp.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(151px / 2);
        height: calc( 50px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }


    header .menubtn a{
        display: block;
        position: absolute;
        left: calc(50% - (70px / 4));
        top: 15px;
        background-image: url(../img/hd_menu_open_sp.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(70px / 2);
        height: calc( 40px / 2);
        text-indent: -9999px;
        overflow: hidden;
    }

    body.openMenu header .menubtn a{
        background-image: url(../img/hd_menu_close_sp.png);
    }












    footer{
        position: relative;
    }




    footer .entry{
        position: relative;
        z-index: 1;
    }



    footer .entry .outer{
        margin-left: 6vw;
        margin-right: 6vw;
    }



    footer .entry .text{
        display: block;
        background-image: url(../img/entry_text_sp.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(88vw) ;
        height:calc(88vw / 609 * 24 ) ;
        text-indent: -9999px;
        overflow: hidden;
        margin-left: auto;
        margin-right: auto;
    }

    footer .entry .inner a{
        margin-top: 3vw;
        display: block;
        padding-top: 20px;
        padding-bottom: 20px;
        border-top: 8px #e59a36 solid;
        border-bottom: 8px #e59a36 solid;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content:center;
        position: relative;
    }






    footer .entry .tit{
        display: block;
        background-image: url(../img/entry_title.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(40vw) ;
        height:calc(40vw / 539 * 111) ;
        text-indent: -9999px;
        overflow: hidden;
    }

    footer .entry .arrow{
        position: absolute;
        right: 0;
        top: calc(50% - (20vw / 251 * 91) / 2);
        display: block;
        background-image: url(../img/entry_arrow.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width:calc(17vw) ;
        height:calc(17vw / 251 * 91) ;
        text-indent: -9999px;
        overflow: hidden;
    }





    footer .image{
/*        height: calc(100vw / 750 * 346);*/
/*
        background: -moz-linear-gradient(top, rgba(255,250,169,0) 0%, rgba(255,250,169,1) 100%);
        background: -webkit-linear-gradient(top, rgba(255,250,169,0) 0%,rgba(255,250,169,1) 100%);
        background: linear-gradient(to bottom, rgba(255,250,169,0) 0%,rgba(255,250,169,1) 100%);
        filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00fffaa9', endColorstr='#fffaa9',GradientType=0 );
*/

    }

    footer .image .inn{
        /*background-image: url(../img/ft_image.png);*/
        -webkit-background-size:cover;
        background-size:cover;
        background-position: center bottom;
        background-repeat: no-repeat;
        width: 100vw;
/*        height: calc(100vw / 750 * 346);*/
/*
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        flex-direction: column;
        justify-content:flex-end;
*/
    }


    footer .title {
        margin-top: 26vw;
        display: block;
        background-image: url(../img/ft_title.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(88vw);
        height: calc( 88vw / 800 * 60);
        text-indent: -9999px;
        overflow: hidden;
        margin-left: 6vw;
    }

    footer .subtitle {
        margin-top: 15px;
        color: #e59a36;
        margin-left: 6vw;
        padding-bottom: 3vw;
    }


    footer .menu{
        display: none;
    }



    footer .corp{
        background-color: #e59a36;
        margin-left: auto;
        color: #fff;
        padding: 6vw;

    }
    footer .corp .inner{
    }

    footer .texts{
        margin-top: 6vw;

    }

    footer .texts .add{
        line-height: 2em;
        font-size: 90%;
    }

    footer .texts .copyright{
        font-size: 70%;
        margin-top: 3vw;
    }



    footer .corp .logo a{
        display: block;
        background-image: url(../img/ft_logo.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(686px / 3);
        height: calc( 72px / 3);
        text-indent: -9999px;
        overflow: hidden;
    }




    #menu{
        position: fixed;
        z-index: 50;
        left: 0;
        top: 0;
        width: 100vw;
        height: 100vh;
        background-color: #e59a36c2;
        opacity:0;
        visibility: hidden;
        transition-duration: 400ms;
        transition-property: visibility,opacity;
        transition-timing-function: ease;
    }

    body.openMenu{
        overflow: hidden;
    }

    body.openMenu #menu{
        opacity:1;
        visibility: visible;
    }

    #menu .outer{
        position: absolute;
        left:0;
        top: 0;
        width: 100vw;
        background-color: #e59a36;
        transition-duration: 400ms;
        transition-timing-function: ease;
        transition-property: transform;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items:center ;
        transform:translateY(-100vh);
    }



    body.openMenu #menu .outer{
        transform:translateY(50px);
    }

    #menu .outer .copyright{
        position: absolute;
        bottom: 10px;
        left: 0;
        width: 100%;
        text-align: center;
        color: #fff;
        font-size: 70%;
    }


    #menu .outer .logo{
        position: absolute;
        left: 0;
        bottom:calc(-50vw);
        background-image: url(../img/menu_logo.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(100vw );
        height: calc( 100vw);
        text-indent: -9999px;
        overflow: hidden;
        pointer-events: none;
    }

    #menu .outer .inner{
        position: relative;
        width: 100vw;
        max-height:100vh;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        -ms-align-items: center;
        align-items: center;
        overflow: auto;
        overflow-x: hidden;
    }
    #menu .outer .inner > ul{
        margin-left: 40px;
        padding-bottom: 60px;
    }
    #menu .inner .btn{
        display: block;
        margin-top: 20px;
    }

    #menu .inner .btn .t{
        display: block;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        text-indent: -9999px;
        overflow: hidden;
        height: calc(70px / 3);
    }


    #menu .inner .btn.coming .t{
        opacity:0.2;
    }

    #menu .inner .btn .cm{
        margin-top: 10px;
        display: block;
        background-image: url(../img/menu_coming.png);
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        width: calc(233px / 3);
        height: calc(19px / 3);
        text-indent: -9999px;
        overflow: hidden;
    }



    #menu .inner .sbtn{
        display: block;
        -webkit-background-size: 100% 100%;
        background-size: 100% 100%;
        text-indent: -9999px;
        overflow: hidden;
        height: calc(42px / 3);
        margin-top: 10px;
        margin-left: 20px;
    }


    #menu .inner .btn.ours .t{
        background-image: url(../img/menu_list_ours.png);
        width: calc(504px / 3);
    }

    #menu .inner .btn.overview .t{
        background-image: url(../img/menu_list_overview.png);
        width: calc(628px / 3);
    }

    #menu .inner .btn.story .t{
        background-image: url(../img/menu_list_story.png);
        width: calc(566px / 3);
    }

    #menu .inner .btn.gallery .t{
        background-image: url(../img/menu_list_gallery.png);
        width: calc(252px / 3);
    }

    #menu .inner .btn.peoples .t{
        background-image: url(../img/menu_list_peoples.png);
        width: calc(361px / 3);
    }



    #menu .inner .sbtn.peoples1{
        background-image: url(../img/menu_list_peoples_1.png);
        width: calc(372px / 3);
    }
    #menu .inner .sbtn.peoples2{
        background-image: url(../img/menu_list_peoples_2.png);
        width: calc(506px / 3);
    }
    #menu .inner .sbtn.peoples3{
        background-image: url(../img/menu_list_peoples_3.png);
        width: calc(462px / 3);
    }



    #menu .inner .btn.outline .t{
        background-image: url(../img/menu_list_outline.png);
        width: calc(632px / 3);
    }




    #maincontent{
        position: relative;

    }





    #maincontent .kv{
        height: 100vw;
        background-image: url(../img/kv_back.png);
        -webkit-background-size: cover;
        background-size:cover ;
        background-position: 80% center;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items:center ;
    }


    #maincontent .kv h1{
        width: calc(190px / 2) ;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: center;
        -ms-align-items: center;
        align-items:center ;
        -webkit-background-size: calc(190px / 2) calc(190px / 2);
        background-size: calc(190px / 2) calc(190px / 2);
        background-repeat: no-repeat;
        background-position: center center ;
    }

    #maincontent .kv h1 img{
        width: 5vw;
    }





    #maincontent .section{
        margin-left: 6vw;
        margin-right: 6vw;
/*        background-image: url(../img/back_w.png);*/
        background-color: #fff;
        margin-bottom: 6vw;
        border:8px #e59a36 solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        padding: 3px;
    }

    #maincontent .section .outer{
        border:3px #e59a36 solid;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }


    #maincontent .section .inner{
        padding: 6vw;
        position: relative;
    }



    #maincontent .section h2{
        color: #e59a36;
        font-size:130%;
        font-weight: bold;
        font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
        line-height: 1.35em;
        margin-bottom: 20px;
        background-image: url(../../common/img/page_bullet.png);
        -webkit-background-size: calc(80px / 3) calc(32px / 3);
        background-size: calc(80px / 3) calc(32px / 3);
        background-repeat: no-repeat;
        background-position: left center;
        padding-left: 35px;
    }

    #maincontent .section .lead{
/*        font-weight: bold;*/
        font-size: 95%;
    }

    #anchor{
        margin-top: -12vw;
        text-align: center;
        margin-bottom: 6vw;
    }
    #anchor li{
        display: inline;
    }

    #anchor li a{
        margin-left: 3vw;
        margin-right: 3vw;
        display: inline-block;
        text-decoration: none;
        color: #e59a36;
        padding-right: 20px;
        margin-bottom: 3vw;
        font-weight: bold;
        background-image: url(../img/anchor_arrow.png);
        background-repeat: no-repeat;
        background-position: right center;
        -webkit-background-size:calc(28px / 2) calc(14px / 2);
        background-size:calc(28px / 2) calc(14px / 2);
    }



    .line_top{
        position: fixed;
        left: 0;
        top: 0;
        width: 8px;
        height: 100vh;
        background-color: #e59a36;
        z-index: 1;
    }
    .line_bottom{
        position: fixed;
        left: 0;
        bottom: 0;
        width: 100vw;
        height: 8px;
        background-color: #e59a36;
        z-index: 1;
    }

    .line_right{
        position: fixed;
        right: 0;
        top: 0;
        width: 8px;
        height: 100vh;
        background-color: #e59a36;
        z-index: 1;
    }
    
    
    
    #modal .outer{
        border:7px #e59a36 solid;
    }


    #modal .controller{
        height: 35px;
    }

    #modal.hasController .controller{
        visibility: visible;
    }

    #modal .controller .prev a{
        -webkit-background-size: 100% 100%;
        background-size: 100% 100% ;
        width: calc(182px / 2);
        height: calc(35px / 2);
        margin-left: 10px;
        margin-top: 10px;
    }

    #modal .controller .next a{
        -webkit-background-size: 100% 100%;
        background-size: 100% 100% ;
        width: calc(182px / 2);
        height: calc(35px / 2);
        margin-right: 10px;
        margin-top: 10px;
    }

    #modal .controller .index a{
        width: calc(34px / 2);
        height: calc(34px / 2);
        
        margin-top: 10px;
    }

    #modal .close{
        width: 40px;
        height: 40px;
    }
    #modal .close a{
        right: -7px;
        top: -7px;
        width: 40px;
        height: 40px;
    }

}

/* **********************************
 *  お知らせ（親要素のCSSは変更せず内部のみ調整）
 * ********************************** */
.pg_news{
  margin-bottom: 40px; /* 80pxから40pxに縮小 */
  width: 100%; /* 親要素内で最大幅を使用 */
}
.news_wrap{
  margin-top: 20px; /* 40pxから20pxに縮小 */
  padding: 0 10px; /* 左右に少し余白を追加 */
}
.news_items .item{
  border-bottom: 1px solid #dcdcdc;
  position: relative;
  margin-top: 0; /* マージンをなくして詰める */
  padding: 12px 0; /* パディングを調整 */
}
.news_items .meta{
  display: flex;
  flex-wrap: wrap;
  align-items: center; /* 中央揃え */
}
.news_side_wrap .dates,
.news_side_wrap .date.date{
  padding: 10px 5px; /* パディングを縮小 */
}
.news_side_wrap .date.date li a{
  padding-left: 20px; /* 30pxから20pxに縮小 */
}
.news_items .date{
  font-size: 13px; /* 14pxから13pxに縮小 */
  font-weight: normal;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.05em; /* 0.075emから0.05emに縮小 */
}
.news_items .category{
  font-size: 12px; /* 13pxから12pxに縮小 */
  width: 110px; /* 130pxから110pxに縮小 */
  font-weight: normal;
  letter-spacing: 0.05em; /* 0.075emから0.05emに縮小 */
  text-align: center;
  color:#ffffff;
  margin-left: 10px; /* 20pxから10pxに縮小 */
}
.news_items .title {
  font-size: 14px; /* 15pxから14pxに縮小 */
  letter-spacing: 0.05em; /* 0.075emから0.05emに縮小 */
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  padding: 0 15px 0 0; /* パディングを調整 */
}
.news_items .title a{
  text-decoration: none;
  font-weight: normal;
  padding-right: 20px; /* 40pxから20pxに縮小 */
      color: #000000;
    font-weight: bold;
  
}
.news_items .item .category span{
  display: block;
  padding: 1px 0; /* 2pxから1pxに縮小 */
}
.news_items .title:after{
  content: "\f105";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  font-size: 14px; /* 19pxから14pxに縮小 */
  position: absolute;
  top: 50%;
  right: 5px;
  -webkit-transform: translate(0, -50%);
  transform: translate(0, -50%);
}
.news_cat_item a,
.news_date_item li a{
  display: block;
  position: relative;
  padding-left: 20px; /* 32pxから20pxに縮小 */
  line-height: 1.4; /* 1.5から1.4に縮小 */
}
.news_side_wrap .dates li,
.news_date_item li{
  list-style: none;
}
.news_side_wrap:last-child{
  margin-top: 30px; /* 78pxから30pxに縮小 */
}
.news_side_wrap .dates li:nth-child(n+2){
  margin-top: 2px; /* 10pxから2pxに縮小 */
}
.news_side_wrap .dates li a,
.news_date_item li a{
  font-size: 13px; /* 14pxから13pxに縮小 */
  font-weight: normal;
  letter-spacing: 0;
  position: relative;
  padding-left: 15px; /* 19pxから15pxに縮小 */
  line-height: 1.6; /* 2から1.6に縮小 */
      color: #000000;
}
.news_side_wrap .dates li a:before,
.news_date_item li a:before{
  content: "■";
  position: absolute;
  left: 0;
  font-size: 8px; /* サイズを明示的に小さく */
  top: 5px; /* 位置調整 */
}
.news_box2{
  margin-top: 30px; /* 80pxから30pxに縮小 */
}

/* お知らせサイドバー */
.news_side_title{
  text-align: center;
  font-size: 14px; /* 16pxから14pxに縮小 */
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #ffffff;
  background: #e59a36;
  padding: 7px 5px; /* 10pxから7px 5pxに調整 */
}

/* リストのマージンとパディングを調整 */
.news_side_wrap ul {
  margin: 0;
  padding: 0;
}

/* モバイル向け特別調整 */
@media only screen and (max-width: 767px) {
  .news_items .meta {
    margin-bottom: 5px;
  }
  
  .pg_news {
    padding: 0 5px; /* モバイル時の余白を追加 */
  }
  
  .news_items .title {
    width: 100%;
  }
}

/* タブレット・PC向け調整 */
@media only screen and (min-width: 768px){
  .news_wrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 10px; /* 17pxから10pxに縮小 */
  }
  .news_items{
    min-width: 60%; /* 71.42%から70%に縮小 */
  }
  .news_box2{
    width: 27%; /* 22.76%から27%に変更 */
    margin-top: 10px; /* 30pxから10pxに縮小 */
  }
  .news_items .item{
    padding: 10px 0; /* 22pxから10pxに縮小 */
  }
  .news_items .meta{
    display: block;
    width: 130px; /* 150pxから130pxに縮小 */
  }
  .news_items .date{
    font-size: 14px; /* 16pxから14pxに縮小 */
  }
  .news_items .category{
    width: 120px; /* 145pxから120pxに縮小 */
    font-size: 13px; /* 14pxから13pxに縮小 */
    margin-top: 5px;
    margin-left: 0;
  }
  .news_items .title {
    font-size: 14px; /* 15pxから14pxに縮小 */
    width: calc(100% - 130px);
    display: flex;
    align-self: center;
    padding-left: 15px; /* 30pxから15pxに縮小 */
  }
  .news_items .item .inner__news{
    display: flex;
    align-items: center;
  }
}

/* より大きい画面向け調整 */
@media only screen and (min-width: 1024px){
  .news_items .title {
    font-size: 15px;
    padding: 0 0 0 15px; /* 30pxから15pxに縮小 */
  }
}

/* 日付とカテゴリの表示調整（ホームページを公開しました） */
.item-homepage .date {
  font-weight: bold;
}

.item-homepage .category span {
  background: #e59a36 !important; /* オレンジ色のカテゴリ背景 */
}



/* 記事リスト */
.pg_single_news{
  margin-bottom: -62px;
}
.post_items{
  padding: 0 0;
  width: 70%;
}
.post_items .item{
  /*background: #f0f0f0;*/
  display: flex;
  align-items: center;
  position: relative;
}
.post_items .item:last-child{
}
.post_items .item .img{
  
}
.post_items .item .date{
  width: 130px;
  font-size: 16px;
  font-weight: normal;
  color: #5a5a5a;
  letter-spacing: 0.075em;
}
.post_items .item .category{
  width: 150px;
  padding: 0 10px;
}
.post_items .item .category span{
  display: block;
  background: #e59a36;
  color: #ffffff;
  padding: 2px;
  margin: 2px;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.075em;
  font-weight: 500;
}
.post_items .item .title{
  font-weight: 500;
  width: calc(100% - 130px - 150px);
  /*width: -moz-available;
  width: -webkit-fill-available;
  width: available;*/
}
.post_items .item .title a{
  display: block;
  position: relative;
  padding-right: 1em;
}
.post_items .item:after{
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 5px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

/* 詳細ページのスタイル */
.post_items .item.single_item{
  display: flex;
  flex-wrap: wrap;
}
.post_items .item.single_item:after{
  display: none;
}
.post_items .item.single_item .meta{
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #d3d3d3;
  padding: 0 8px 6px;
      margin-top: 3%;
}
.post_items .item.single_item .title{
  width: 100%;
  font-size: 20px;
  letter-spacing: 0.065em;
  font-weight: 500;
  color:#666;
}
.post_items .item.single_item .content{
  width: 100%;
  margin-top: 20px;
  padding-bottom: 20px;
}
.post_items .item.single_item .content *{
  margin-bottom: 1em;
}
.post_items .item.single_item .content h1,
.post_items .item.single_item .content h2,
.post_items .item.single_item .content h3,
.post_items .item.single_item .content h4,
.post_items .item.single_item .content h5,
.post_items .item.single_item .content h6{
  margin-bottom: 0.5em;
}
.post_items .item.single_item .content a{
  color: #2196F3;
}

.post_items .post_content{
  font-weight: normal;
  letter-spacing: 0.065em;
  line-height: 1.875em;
  margin-top: 30px;
  color:#333;
}
.pg_single_news .news_box2{
  margin-top: 0;
}

/* ページ送り(一覧) */
.pagination{
  text-align: center;
  margin-top: 74px;
}
.pagination .nav-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.pagination .page-numbers{
  align-self: stretch;
  border: 1px solid #c0c0c0;
  padding: 5px 15px;
  margin: 4px 4px;
  color: #1e1e1e;
  text-decoration: none;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover{
  background: #e5e5e5;
}
.pagination .page-numbers.next:after{
  content: "\f101";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-left: 10px;
}
.pagination .page-numbers.prev:before{
  content: "\f100";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 10px;
}

/* ページ送り(詳細) */
.pagination .nav-posts{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.pagination .nav-posts .page-next,
.pagination .nav-posts .page-prev{
  min-width: 160px;
}
.pagination .nav-posts .page-next a,
.pagination .nav-posts .page-prev a{
  display: block;
  border: 1px solid #c0c0c0;
  padding: 13px 0;
  position: relative;
  width: 160px;
  max-width: 100%;
}
.pagination .nav-posts .page-next a:before,
.pagination .nav-posts .page-prev a:after{
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.pagination .nav-posts .page-next a:before{
  content: "\f053";
  left: 10px;
}
.pagination .nav-posts .page-prev a:after{
  content: "\f054";
  right: 16px;
}
.pagination .nav-posts .page-archive a{
  display: block;
  background: #181818;
  color: #ffffff;
  padding: 13px 0px;
  width: 200px;
  max-width: 100%;
}

/* Home内お知らせ */
.home_news_wrap .home_title{
  display: flex;
  justify-content: space-between;
  padding-right: 15px;
}
.home_news_wrap .home_title .more{
  background: #ffffff;
}
.home_news_wrap .home_title h2{
  font-size: 36px;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.075em;
  position: relative;
}
.home_news_wrap .home_title h2:after{
  display: block;
  content: "";
  width: 750px;
  border-top: 1px solid #dcdcdc;
  position: absolute;
  right: 0;
  left: 160px;
  top: 50%;
}

.home_news_items{
  margin-top: 50px;
}
.home_news_items .item{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #d3d3d3;
  padding: 13px 4px 13px 0px;
  line-height: 2.376;
}
.home_news_items .item .date{
  width: 110px;
  font-size: 16px;
  font-family: 'Noto Serif JP', serif;
  letter-spacing: 0.075em;
  color: #181818;
  font-weight: normal;
}
.home_news_items .item .category{
  width: 145px;
  text-align: center;
  color: #ffffff;
  margin-right: 30px;
}
.home_news_items .item .category span{
  display: block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  letter-spacing: 0.075em;
  padding: 5px 15px;
}
.home_news_items .item .category span.cat_news{
  width: 145px;
  background: #141b38;
}
.home_news_items .item .category span.cat_staff{
  background: #4f3c1e;
}
.home_news_items .item .title{
  width: calc(100% - 110px - 150px - 30px);
}
.home_news_items .item .title a{
  font-weight: normal;
  display: block;
  position: relative;
  padding-right: 1em;
  letter-spacing: 0.075em;
  color: #181818;
  text-decoration: none;
}
.home_news_items .item .title a:after{
  content: "\f054";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  position: absolute;
  right: 18px;
  top: 50%;
  font-size: 13px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 0.0065em;
}