:root{
    --bg_color:#091165;
    --dk_color:#000039;
    --lt_color:#79A7D9;
}
html,body{
    background: var(--bg_color);
    color:#fff;
    font-size: 16px;
    line-height: 1.6;
    padding:0;
    margin:0;
    font-family: "minion-pro", serif;
    font-style: normal;
    font-weight: 500;/*400/500/600/700*/

}
ul{
    padding:0;
    margin:0;
    list-style: none;
}
img{
    max-width: 100%;
    height:auto;
}
a{
    display: inline-block;
    color:inherit;
    text-decoration: none;
    outline: none;
}
.minion{
    font-family: "minion-pro", serif;
    font-style: normal;
    font-weight: 400;/*400/500/600/700*/
}
.tx_light{
    color:var(--lt_color);
}
.wrap{
    width:980px;
    max-width: 100%;
    margin:0 auto;
}
.full_img{
    display:block;
    width:100%;
}
.header-navi-button{
    display:none;
}
.sp_none{
    display:initial;
}
.pc_none{
    display:none;
}
.al_right{
    text-align: right;
}

h2{
    text-align: center;
    color: var(--lt_color);
    margin:2rem 0;
    font-size: 6rem;
    font-weight: 400;
    letter-spacing: 1vw;
    line-height: 1.2;
}
h2 small{
    display:block;
    font-size:.9rem;
    color:#fff;
}
h3.title{
    position: relative;
    padding-left: 1em;
}
h3.title::before{
    content:'';
    display: block;
    position: absolute;
    top:0px;
    left:0;
    bottom:2px;
    width:.5em;
    background: var(--lt_color);
    line-height: 1.4;
}

/*header*/
header{
    height:80px;
    padding:10px;
    background: var(--bg_color);
    position: relative;
    position: sticky;
    top:0;
    left:0;
    z-index: 9;
    overflow: hidden;
}
.head_area{
    display:flex;
    justify-content: space-between;
    height:100%;
}

.head_area .head_logo{
    width:90px;
    height:100%;
    display:block;
}
.head_area .head_logo img{
    height:100%;
    width:auto;
}
.head_area .head_btn_area{
    width:0px;
}
.head_area .head_nav{
    width:calc(100% - 160px);
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}
.head_area .head_nav li{
    padding:.5rem;
}
.head_area .head_nav li a{
    line-height: 1.2;
    padding:.5rem;
    display:flex;
    flex-direction: column;
    align-items: center;
    font-size: .9rem;
    white-space: nowrap;
}
.head_area .head_nav li a small{
    font-size: .8em;
    color:var(--lt_color);
}

.head_area .head_rec_area{
    width:0;
    display:none;
}

/*footer*/
footer{
    width:100%;
    overflow: hidden;
    position: relative;
    background:#000a;
    backdrop-filter: blur(8px);
}
.foot_flex{
    display: flex;
    justify-content: center;
    padding:5vw 0;
}
.foot_flex .foot_mess{
    padding:0 2rem;
    align-items: center;
    flex-direction: column;
    display:flex;
    justify-content: center;
    width:420px;
}
.foot_flex .foot_mess span{
    font-size: 1.5rem;
}
.foot_flex .foot_mess img{
    margin-bottom: 1rem;
}
.foot_nav{
    display:flex;
    flex-wrap: wrap;
    width:420px;
    padding:0 2rem;
}
.foot_nav li{
    width:40%;
}
.foot_nav li span{
    display:none;
}
footer .copy{
    text-align: center;
    padding:2rem 0;
    background:var(--bg_color);
}
.foot_link{
    display: flex;
    justify-content: center;
    padding-bottom: 2rem;
}
.foot_link>div{
    padding:0 1rem;
}
.foot_link .btn{
    background: #a49d84;
    padding: 1rem 0;
    letter-spacing: 0.25rem;
    width: 360px;
    display: block;
    text-align: center;
    font-size: 16px;
    color: #fff;
    max-width: 100%;
}
.foot_link .btn.reverse {
    background: #fff;
    color: #a49d84;
}
.foot_link .btn:hover{
    opacity: .8;
}

/*mv*/
.mv{
    height:calc(100vh - 80px);
    background:#111;
    position: relative;
    position: sticky;
    top:80px;
    left:0;
}
/*slick*/
.slick-slider{
    height:100%;
}
.slick-list{
    height:100%;
}
.slick-track{
    height:100%;
}
.slick-slide img{
    object-fit: cover;
    width:100%;
    height:100%;
    object-position: 55%;
}
.slick-slide img.glass{
    object-position: 45%;
}

.mv .cover{
    position: absolute;
    top:3vw;
    left:3vw;
    right:3vw;
    bottom:3vw;
    z-index: +1;
    padding-left:4vw;
    padding-bottom: 6vw;
}
.mv .cover .tx{
    position: absolute;
    bottom:0;
    left:0;
    font-size: 11vw;
    color: var(--bg_color);
    line-height: .9;
    font-weight: 600;
    letter-spacing: 1.5vw;
}
.mv .cover .border_box{
    position: relative;
    width:100%;
    height:100%;
    border-top:.6vw solid var(--bg_color);
    border-right:.6vw solid var(--bg_color);
}
.mv .cover .border_box::before{
    content:'';
    display:block;
    left:0;
    top:0;
    height:calc(100% - 18vw);
    border-left:.6vw solid var(--bg_color);
    position: absolute;
}
.mv .cover .border_box::after{
    content:'';
    display:block;
    right:0;
    bottom:0;
    width:calc(100% - 40vw);
    border-bottom:.6vw solid var(--bg_color);
    position: absolute;
}
.mv_bottom{
    padding:3rem 0;
    background:#fff;
    color:var(--bg_color);
    text-align: center;
    font-size: 2.2rem;
    line-height: 1.3;
    display:flex;
    flex-direction: column;
}

/*main*/
main{
    position: relative;
    z-index: +1;
    background: var(--bg_color);
}
section{
    margin:6vw 0;
}
section.nomargin{
    margin:0;
    padding:6vw 0;
}


/*first*/
.first_area{
    text-align: center;
    font-size: 1.2rem;
}
.first_area b{
    font-size: 1.2em;
}

/*point*/
.point_area{
    overflow: hidden;
}
.point_box{
    position: relative;
    padding:4rem;
}
.point_box .img{
    padding:2rem;
    position: relative;
    z-index: 1;
}
.point_box .img img{
    display:block;
    width:100%;
    height:auto;
}
.point_box .img::before{
    content:'';
    position: absolute;
    left:0;
    top:0;
    width:25%;
    padding-top:25%;
    z-index: 1;
    background-image: linear-gradient(135deg,var(--dk_color) 0%,var(--dk_color) 50%,transparent 50%);
}
.point_box .img::after{
    content:'';
    position: absolute;
    right:1rem;
    top:1rem;
    width:calc(100% - 4rem);
    height:calc(100% - 4rem);
    background:#fff2;
    z-index: -1;
}
.point_box .heading{
    position: absolute;
    left:0;
    height:min(180px,13vw);
    z-index: 3;
}
.point_box .heading img{
    height:100%;
    width:auto;
    display:block;
    transform-origin: left bottom;
    transform: rotate(-15deg);
}
.point_box .tx{
    position: absolute;
    left:-5vw;
    bottom:20%;
    width:calc(80% - 8rem);
    background:#fff6;
    color:var(--bg_color);
    display: flex;
    justify-content: center;
    padding:1rem 0;
    z-index: 2;
}
.point_box .tx >div{
    width:400px;
}
.point_box .tx h3{
    text-align: center;
    font-size: 1.5em;
}
.point_box.rev .tx{
    left:auto;
    right:-5vw;
}


/*news_list*/
.news_flex{
    columns: 3;
    padding:0 10px;
    margin:0;
}
.news_flex li{
    margin-bottom: 10px;
}
.news_flex li a{
    position: relative;
}
.news_flex li>a .ct_icon {
    position: absolute;
    top: 1px;
    right: 1px;
    padding: 2px 5px;
    font-size: 12px;
    color: #fff;
    border-radius: 5px;
    background: #f50;
    z-index: 2;
    box-shadow: 1px 1px 2px #000;
    line-height: 1.3;
}
.news_flex li>a .ct_icon.cs-event{
    background: #4a0;
}
.news_flex li>a .tx {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 3px;
    line-height: 1.3;
    background: #fffa;
    color: #000;
    font-weight: bold;
    font-size: .9em;
    min-height: 4rem;
    overflow: hidden;
}
.news_flex li>a .tx span.date {
    display: block;
}
.news_flex li img{
    display:block;
}


/*access*/
.access_area{
    margin-bottom: 0;
    padding-bottom: 4vw;
}
.access_map{
    height:300px;
    width:100%;
}
.access_map iframe{
    width:100%;
    height:100%;
}
.access_area .info{
    font-size: 1.3em;
    display:flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

/*event*/
.single_news_area {
    display: flex;
    justify-content: center;
    margin-bottom: 6rem;
}
.single_news_area .date{
    font-size: 1rem;
}
