@charset "UTF-8";

/* ------------------------------
    area_ttl
------------------------------ */
.area_ttl{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    height: 240px;
    background: url(../img/about/bg_about.jpg) no-repeat;
    background-size: cover;
}
.area_ttl .ttl_page{
    text-align: center;
    font-weight: 200;
    font-size: 4.14rem;
    color: #fff;
}

@media screen and (max-width : 768px){
    .area_ttl{
        height: 120px;
        background-image: url(../img/about/bg_about_sp.jpg);
    }
    .area_ttl .ttl_page{
        font-size: 1.8rem;
    }
}

/* ------------------------------
    area_menu
------------------------------ */
.area_menu{
    padding: 75px 0 80px;
}
.area_menu .list_menu{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
}
.area_menu .list_menu li{
    width: 384px;
    height: 101px;
    margin: 0 0 25px 24px;
}
.area_menu .list_menu li:nth-child(3n+1){
    margin-left: 0;
}
.area_menu .list_menu a{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 384px;
    height: 101px;
    padding: 0 6px 6px 0;
    text-decoration: none;
    background-size: 100% 100%;
    transition: all 0.3s ease-out;
}
.area_menu .list_menu a:hover{
    width: 378px;
    height: 95px;
    margin-top: 6px;
    padding: 0;
    background-size: 384px 101px;
    transform: translate(6px,0);
}
.area_menu .list_menu .link01 a{
    background-image: url(../img/about/btn_menu01.png);
}
.area_menu .list_menu .link02 a{
    background-image: url(../img/about/btn_menu02.png);
}
.area_menu .list_menu .link03 a{
    background-image: url(../img/about/btn_menu03.png);
}
.area_menu .list_menu .link04 a{
    background-image: url(../img/about/btn_menu04.png);
}
.area_menu .list_menu .link05 a{
    background-image: url(../img/about/btn_menu05.png);
}
.area_menu .list_menu .link06 a{
    background-image: url(../img/about/btn_menu06.png);
}
.area_menu .list_menu .txt{
    font-size: 2.4rem;
    color: #fff;
}
.area_menu .list_menu .link03 .txt{
    line-height: 1.5;
    font-size: 2.0rem;
}
@media screen and (max-width : 768px){
    .area_menu{
        padding: 8% 0 10%;
    }
    .area_menu .list_menu{
        justify-content: space-between;
    }
    .area_menu .list_menu li{
        width: 44vw;
        height: 17.3vw;
        margin: 0 0 10px;
    }
    .area_menu .list_menu a,
    .area_menu .list_menu a:hover{
        width: 100%;
        height: 100%;
        margin-top: 0;
        padding: 0 3px 3px 13%;
        background-size: cover;
        transform: translate(0);
    }
    .area_menu .list_menu .link01 a{
        background-image: url(../img/about/btn_menu01_sp.png);
    }
    .area_menu .list_menu .link02 a{
        background-image: url(../img/about/btn_menu02_sp.png);
    }
    .area_menu .list_menu .link03 a{
        background-image: url(../img/about/btn_menu03_sp.png);
    }
    .area_menu .list_menu .link04 a{
        background-image: url(../img/about/btn_menu04_sp.png);
    }
    .area_menu .list_menu .link05 a{
        background-image: url(../img/about/btn_menu05_sp.png);
    }
    .area_menu .list_menu .link06 a{
        background-image: url(../img/about/btn_menu06_sp.png);
    }
    .area_menu .list_menu .txt,
    .area_menu .list_menu .link03 .txt{
        line-height: 1.5;
        text-align: center;
        font-size: 1.3rem;
    }
}

/* ------------------------------
    art_attraction
------------------------------ */
.art_attraction .box_ttl{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 250px;
    background: url(../img/about/bg_attraction.jpg) no-repeat;
    background-size: cover;
}
.art_attraction .box_ttl .ttl_sec{
    text-align: center;
    font-weight: 200;
    font-size: 3.6rem;
    color: #fff;
}
.art_attraction .box_ttl .ttl_sec .lg{
    font-size: 5.4rem;
}

.sec_attraction.attraction01{
    padding-top: 120px;
}
.sec_attraction{
    padding: 0 0 100px;
}
.attraction_inner{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
.sec_attraction.attraction02 .attraction_inner{
    flex-direction: row-reverse;
}
.sec_attraction .box_txt{
    width: 382px;
}
.sec_attraction .box_txt .ttl_img{
    width: 225px;
    margin: 0 0 72px 68px;
}
.sec_attraction .box_txt .ttl{
    margin-bottom: 1.25em;
    line-height: 1.75;
    letter-spacing: -0.02em;
    font-weight: 200;
    font-size: 2.8rem;
}
.sec_attraction .box_txt .txt{
    line-height: 2.58;
    font-size: 1.7rem;
}
.sec_attraction .box_img{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 688px;
}
.sec_attraction .box_img figure{
    width: 48.6%;
    margin: 0;
}
.sec_attraction .box_img .img_full{
    width: 100%;
}
.sec_attraction .txt_caption{
    margin: 1em 0 1.5em;
    line-height: 1.7;
    font-weight: 500;
    font-size: 1.4rem;
}
.sec_attraction .box_img02{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 50px;
}
.sec_attraction .box_img02 figure{
    width: 384px;
    margin: 0;
}

@media screen and (max-width : 768px){
    .art_attraction .box_ttl{
        height: 102px;
        background-image: url(../img/about/bg_attraction_sp.jpg);
    }
    .art_attraction .box_ttl .ttl_sec{
        font-size: 2.0rem;
    }
    .art_attraction .box_ttl .ttl_sec .lg{
        font-size: 3.0rem;
    }
    .sec_attraction.attraction01{
        padding-top: 6%;
    }
    .sec_attraction.attraction03{
        padding-bottom: 8%;
    }
    .sec_attraction{
        padding: 0 0 16%;
    }
    .attraction_inner,
    .sec_attraction.attraction02 .attraction_inner{
        flex-direction: column;
    }
    .sec_attraction .box_txt{
        width: auto;
        margin-bottom: 8%;
    }
    .sec_attraction .box_txt .ttl_img{
        width: 32.4%;
        margin: 0 auto 8%;
    }
    .sec_attraction .box_txt .ttl{
        text-align: center;
        font-size: 2.0rem;
    }
    .sec_attraction .box_txt .txt{
        font-size: 1.2rem;
    }
    .sec_attraction .box_img{
        width: auto;
    }
    .sec_attraction .txt_caption{
        font-size: 1.0rem;
    }
    .sec_attraction .box_img02{
        position: relative;
        display: block;
        width: auto;
        margin-top: 0;
        opacity: 0;
        transition: opacity .3s linear;
    }
    .sec_attraction .box_img02.slick-initialized{
        opacity: 1;
    }
    .sec_attraction .box_img02 figure{
        padding: 0 30px;
    }
	.sec_attraction .box_img02 figure img{
/*		width: 100%;*/
		display: block;
		margin: 0 auto;
	}
    .sec_attraction .box_img02 .slick-arrow{
        position: absolute;
        top: 74px;
        width: 40px;
        height: 40px;
        text-indent: 100%;
        overflow: hidden;
        white-space: nowrap;
        background: url(../img/about/btn_arrow.svg);
        z-index: 10;
    }
    .sec_attraction .box_img02 .slick-prev{
        left: 0;
        transform: scale(-1,1);
    }
    .sec_attraction .box_img02 .slick-next{
        right: 0;
    }
}

/* ------------------------------
    sec_voice
------------------------------ */
.sec_voice{
    padding: 90px 0 145px;
    background: url(../img/about/bg_voice01.jpg) no-repeat center bottom;
    background-size: cover;
}
.sec_voice .ttl_sec{
    margin-bottom: 35px;
    text-align: center;
}
.sec_voice .ttl_sec .inner_ttl{
    display: inline-block;
    font-size: 3.6rem;
    vertical-align: middle;
    color: #fff;
}
.sec_voice .ttl_sec .inner_ttl:before,
.sec_voice .ttl_sec .inner_ttl:after{
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    vertical-align: middle;
    background: url(../img/common/ico_star02.svg);
}
.sec_voice .ttl_sec .inner_ttl:before{
    margin-right: 35px;
    transform: scaleX(-1);
}
.sec_voice .ttl_sec .inner_ttl:after{
    margin-left: 35px;
}
.sec_voice .txt_lead{
    margin-bottom: 3em;
    text-align: center;
    font-weight: 200;
    font-size: 1.7rem;
    color: #fff;
}
.sec_voice .list_voice{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
.sec_voice .list_voice li{
    width: 32%;
    padding: 60px 35px 55px;
    background: url(../img/about/bg_voice02.png) no-repeat;
    background-size: 100% 100%;
}
.sec_voice .list_voice .ttl{
    margin-bottom: 1.1em;
    line-height: 1.75;
    font-size: 400px;
    font-size: 2.4rem;
}
.sec_voice .list_voice .txt{
    line-height: 2;
    font-weight: 500;
    font-size: 1.7rem;
}

@media screen and (max-width : 768px){
    .sec_voice{
        padding: 9% 0 11.7%;
        background-image: url(../img/about/bg_voice01_sp.jpg);
        background-position: 50% 0;
    }
    .sec_voice .ttl_sec{
        margin-bottom: 6%;
    }
    .sec_voice .ttl_sec .inner_ttl{
        font-size: 2.2rem;
    }
    .sec_voice .ttl_sec .inner_ttl:before,
    .sec_voice .ttl_sec .inner_ttl:after{
        width: 22px;
        height: 22px;
        background-size: contain;
    }
    .sec_voice .ttl_sec .inner_ttl:before{
        margin-right: 1.2em;
    }
    .sec_voice .ttl_sec .inner_ttl:after{
        margin-left: 1.2em;
    }
    .sec_voice .txt_lead{
        margin-bottom: 2em;
        line-height: 2;
        font-size: 1.5rem;
    }
    .sec_voice .list_voice{
        flex-direction: column;
    }
    .sec_voice .list_voice li{
        width: auto;
        padding: 7% 4%;
        background-image: url(../img/about/bg_voice02_sp.png);
        background-size: 100% 100%;
    }
    .sec_voice .list_voice li + li{
        margin-top: 6.5%;
    }
    .sec_voice .list_voice .ttl{
        margin-bottom: 0.5em;
        font-size: 1.5rem;
    }
    .sec_voice .list_voice .txt{
        font-size: 1.25rem;
    }
}

/* ------------------------------
    sec_media
------------------------------ */
.sec_media{
    padding: 77px 0 67px;
}
.sec_media .ttl_sec{
    margin-bottom: 40px;
    text-align: center;
}
.sec_media .ttl_sec .inner_ttl{
    display: inline-block;
    font-size: 3.6rem;
    vertical-align: middle;
}
.sec_media .ttl_sec .inner_ttl:before,
.sec_media .ttl_sec .inner_ttl:after{
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-top: -10px;
    vertical-align: middle;
    background: url(../img/common/ico_star01.svg);
}
.sec_media .ttl_sec .inner_ttl:before{
    margin-right: 35px;
    transform: scaleX(-1);
}
.sec_media .ttl_sec .inner_ttl:after{
    margin-left: 35px;
}
.sec_media .txt_lead{
    margin-bottom: 3.2em;
    text-align: center;
    font-weight: 200;
    font-size: 1.7rem;
}
.sec_media .list_media{
    width: 792px;
    margin: auto;
}
.sec_media .list_media li{
    padding: 27px 8px 30px;
    background: url(../img/about/line_dot.svg) 50% 100% repeat-x;
}
.sec_media .list_media li a{
    display: block;
    text-decoration: none;
}
.sec_media .list_media li .date{
    margin-right: 1.5em;
    font-size: 1.8rem;
}
.sec_media .list_media li .ttl{
    font-size: 1.7rem;
}

@media screen and (max-width : 768px){
    .sec_media{
        padding: 10% 0 5%;
    }
    .sec_media .ttl_sec{
        margin-bottom: 7%;
    }
    .sec_media .ttl_sec .inner_ttl{
        font-size: 2.2rem;
    }
    .sec_media .ttl_sec .inner_ttl:before,
    .sec_media .ttl_sec .inner_ttl:after{
        width: 22px;
        height: 22px;
        background-size: contain;
    }
    .sec_media .ttl_sec .inner_ttl:before{
        margin-right: 1.2em;
    }
    .sec_media .ttl_sec .inner_ttl:after{
        margin-left: 1.2em;
    }
    .sec_media .txt_lead{
        margin-bottom: 1.5em;
        line-height: 2;
        font-size: 1.5rem;
    }
    .sec_media .list_media{
        width: auto;
    }
    .sec_media .list_media li{
        padding: 5% 0 6%;
        background-image: url(../img/about/line_dot_sp.svg);
        background-size: 100% auto;
    }
    .sec_media .list_media li:last-child{
        padding-bottom: 0;
        background: none;
    }
    .sec_media .list_media li .date{
        display: block;
        margin: 0 0 0.8em;
        font-size: 1.05rem;
    }
    .sec_media .list_media li .ttl{
        font-size: 1.05rem;
    }
}

/* ------------------------------
    sec_feature
------------------------------ */
.sec_feature {
	padding: 50px 0 0;
}
.sec_feature .ttl_sec{
    margin-bottom: 45px;
    text-align: center;
}
.sec_feature .ttl_sec .inner_ttl{
    display: inline-block;
    font-size: 3.6rem;
    vertical-align: middle;
}
.sec_feature .ttl_sec .inner_ttl:before,
.sec_feature .ttl_sec .inner_ttl:after{
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-top: -10px;
    vertical-align: middle;
    background: url(../img/common/ico_star01.svg);
}
.sec_feature .ttl_sec .inner_ttl:before{
    margin-right: 35px;
    transform: scaleX(-1);
}
.sec_feature .ttl_sec .inner_ttl:after{
    margin-left: 35px;
}
.cover_feature{
    background: url(../img/common/bg_reserve.png) #091154 50% 50%;
}
.cover_feature .list_feature{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.cover_feature .list_feature .item_feature{
    position: relative;
    width: 398px;
}
.cover_feature .list_feature .item_feature:nth-child(1),
.cover_feature .list_feature .item_feature:nth-child(2),
.cover_feature .list_feature .item_feature:nth-child(3){
    margin-bottom: 3px;
}
.cover_feature .list_feature .box_txt{
    position: absolute;
    top: 0;
    left: 0;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100px;
    background: url(../img/about/bg_feature.png) 50% 50%;
    background-size: cover;
    z-index: 1;
}
.cover_feature .list_feature .box_txt .txt{
    line-height: 1.7;
    text-align: center;
    font-weight: 400;
    font-size: 1.8rem;
}
@media screen and (max-width : 768px){
		.sec_feature{
			padding: 10% 0 0;
		}
    .sec_feature .ttl_sec{
        margin-bottom: 7%;
    }
    .sec_feature .ttl_sec .inner_ttl{
        font-size: 2.2rem;
    }
    .sec_feature .ttl_sec .inner_ttl:before,
    .sec_feature .ttl_sec .inner_ttl:after{
        width: 22px;
        height: 22px;
        background-size: contain;
    }
    .sec_feature .ttl_sec .inner_ttl:before{
        margin-right: 1.2em;
    }
    .sec_feature .ttl_sec .inner_ttl:after{
        margin-left: 1.2em;
    }
    .cover_feature{
        background: none;
    }
    .cover_feature .list_feature{
        flex-direction: column;
    }
    .cover_feature .list_feature .item_feature{
			width: 100%;
        display: -webkit-flex;
        display: -moz-flex;
        display: -ms-flex;
        display: -o-flex;
        display: flex;
        justify-content: space-between;
        align-items: stretch;
        flex-direction: row-reverse;
    }
    .cover_feature .list_feature .item_feature,
    .cover_feature .list_feature .item_feature:nth-child(1),
    .cover_feature .list_feature .item_feature:nth-child(2),
    .cover_feature .list_feature .item_feature:nth-child(3){
        margin-bottom: 2%;
    }
    .cover_feature .list_feature .item_feature:last-child{
        margin-bottom: 0;
    }
    .cover_feature .list_feature .box_img{
        width: 21.7%;
    }
    .cover_feature .list_feature .box_txt{
        justify-content: flex-start;
        position: static;
        width: 73.6%;
        height: auto;
        background: none;
    }
    .cover_feature .list_feature .box_txt .txt{
        line-height: 2;
        text-align: left;
        font-size: 1.2rem;
    }
}

/* ------------------------------
    arc_access
------------------------------ */
.arc_access{
    padding: 95px 0 130px;
}
.arc_access .ttl_sec{
    margin-bottom: 45px;
    text-align: center;
}
.arc_access .ttl_sec .inner_ttl{
    display: inline-block;
    font-size: 3.6rem;
    vertical-align: middle;
}
.arc_access .ttl_sec .inner_ttl:before,
.arc_access .ttl_sec .inner_ttl:after{
    content: "";
    display: inline-block;
    width: 30px;
    height: 30px;
    margin-top: -10px;
    vertical-align: middle;
    background: url(../img/common/ico_star01.svg);
}
.arc_access .ttl_sec .inner_ttl:before{
    margin-right: 35px;
    transform: scaleX(-1);
}
.arc_access .ttl_sec .inner_ttl:after{
    margin-left: 35px;
}

.arc_access .map{
    position: relative;
    width: 100%;
    padding-top: 33.3%;
}
.arc_access .map iframe{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.ttl_access{
    margin-bottom: 35px;
    padding-bottom: 43px;
    text-align: center;
    font-size: 3.2rem;
    background: url(../img/common/line.png) 50% 100% repeat-x;
    background-size: auto 12px;
}

.sec_root{
    padding-top: 100px;
}
.sec_root .inner{
    width: 792px;
}
.box_root + .box_root{
    margin-top: 95px;
}
.box_root .txt{
    margin-bottom: 1.8em;
    line-height: 2;
    font-size: 1.7rem;
}
.box_traffic{
    margin-top: 67px;
    padding: 75px 78px;
    background: url(../img/common/bg_cross.png) #EAE6DE 50% 50%;
}
.item_traffic + .item_traffic{
    margin-top: 45px;
}
.box_traffic .ttl{
    line-height: 2;
    font-weight: 700;
    font-size: 2.0rem;
}
.box_traffic .ttl:before{
    content: "\0025a0";
}
.box_traffic .txt{
    line-height: 2;
    font-weight: 500;
    font-size: 1.7rem;
}

@media screen and (max-width : 768px){
    .arc_access{
        padding: 12.5% 0;
    }
    .arc_access .inner{
        width: auto;
    }
    .arc_access .ttl_sec{
        margin-bottom: 8.6%;
    }
    .arc_access .ttl_sec .inner_ttl{
        font-size: 2.2rem;
    }
    .arc_access .ttl_sec .inner_ttl:before,
    .arc_access .ttl_sec .inner_ttl:after{
        width: 22px;
        height: 22px;
        background-size: contain;
    }
    .arc_access .ttl_sec .inner_ttl:before{
        margin-right: 1.2em;
    }
    .arc_access .ttl_sec .inner_ttl:after{
        margin-left: 1.2em;
    }

    .arc_access .map{
        padding-top: 53.3%;
    }
    .ttl_access{
        margin-bottom: 6%;
        padding-bottom: 6%;
        line-height: 1.4;
        font-size: 2.0rem;
        background-size: auto 7px;
    }

    .sec_root{
        padding-top: 12.6%;
    }
    .sec_root .inner{
        width: auto;
    }
    .box_root + .box_root{
        margin-top: 16%;
    }
    .box_root .txt{
        width: 92%;
        margin: 0 auto 7%;
        font-size: 1.45rem;
    }
    .box_root .img{
        width: 92%;
        margin: 0 auto 4%;
    }
}