@charset "UTF-8";

/* main-visual
======================================================================*/

.main-visual.mv-location{
	background-image: url(../../images/location/main_visual@2x.png);
	background-position: center center;
	background-size: cover;
    background-color: #000308;
}
@media screen and (max-width: 480px){
.main-visual.mv-location{
    background-image: url(../../images/location/main_visual_sp@2x.png);
}
}

/* introduction
======================================================================*/
.introduction{
	width: 100%;
    padding: 60px 0;
}
@media screen and (max-width: 768px){
.introduction{
    padding: 30px 0;
}
}

.intro{
	max-width: 1000px;
    margin: 40px auto;
	/*padding: 0 20px;*/
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.intro h3{
    text-align: center;
}

/* location
======================================================================*/
.location{
	width: 100%;
	max-width: 1280px;
	margin: 0 auto 80px;
	position: relative;
	z-index: 1;
	display: flow-root;
}
/*
.position::after {
  content: "";
  display: table;
  clear: both;
}*/
@media screen and (max-width: 768px) {
.location{
	padding: 0 20px;
	margin: 0 auto 40px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
} 
}

/* box-img */
.location .box-img{
	width: 75%;
	max-width: 952px;
	position: relative;
	float: right;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.location .box-img.rev{
    float: left;
}

@media screen and (max-width: 768px) {
.location .box-img{
    width: 100%;
}
}

.location .box-img p.data {
    font-size: 1.4rem;
    line-height: 1.4;
    margin-top: 10px;
}

.location .box-img.rev p.data {
    text-align: right;
}

.location .box-img p.data span{
    font-size: 2.0rem;
}
@media screen and (max-width: 768px) {
.location .box-img p.data {
    font-size: 1.2rem;
}
.location .box-img.rev p.data {
    text-align: left;
}
.location .box-img p.data span{
    font-size: 1.6rem;
}
}

.location .box-img p.cap {
    font-size: 1.1rem;
    color: #FFFFFF;
    position: absolute;
    right: 5px;
    bottom: 5px;
}

.location .box-img p.cap.blk {
    color: #000000;
}

/* box-txt */
.location .box-txt{
	width: 100%;
	max-width: 1000px;
	position: absolute;
	top: 0;
	left: 50%;
    transform: translateX(-50%);
	text-align: left;
    z-index: 3;
}

.location .box-txt.rev{
	text-align: right;
}
.location .box-txt.rev img{
	margin-left: auto;
}
/*
.ttl_bdr .box-txt{
    top: 90px;
}
*/
@media screen and (max-width: 768px) {
.location .box-txt{
	position: relative;
    margin-bottom: 30px;
}
.location .box-txt.rev{
	text-align: left;
}
.location .box-txt.rev img{
	margin-left: 0;
}
}

/* photo-set */

.photo-set{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between; 
}

.photo-set ul{
     margin-bottom: 20px;
}

/* set-one */
.photo-set ul.set-one{
     width: 32%;
    max-width: 298px;
    display: flex;
	flex-wrap: wrap;
}

.photo-set ul.set-one li:last-child{
     margin-top: auto;
}

@media screen and (max-width: 480px) {
.photo-set ul.set-one{
    width: 100%;
    max-width: 100%;
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    margin-bottom: 20px;
}
.photo-set ul.set-one li{
    width: 48%;
}
}

/* set-two */
.photo-set ul.set-two{
    width: 66%;
    max-width: 624px;
}
@media screen and (max-width: 480px) {
.photo-set ul.set-two{
    width: 100%;
    max-width: auto;
}
}

.photo-set ul.set-three{
	width: 100%;
	max-width: 952px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

@media screen and (max-width: 480px) {
.photo-set ul.set-three{
    /*margin-top: 20px;*/
}
}

/* set-three */
.photo-set ul.set-three li{
    width: 32%;
    max-width: 298px;
    margin-bottom: 20px;
}
@media screen and (max-width: 480px) {
.photo-set ul.set-three li{
    width: 48%;
    max-width: auto;
    margin-bottom: 20px;
}
}

.location h5.obi{
    width: 100%;
	font-size: 3.2rem;
    line-height: 1.0;
	color: #FFFFFF;
	text-align: right;
	padding: 4px 16px 8px;
	margin-bottom: 30px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
    background-color: #4f6077;
}
@media screen and (max-width: 768px) {
.location h5.obi{
    font-size: 2.0rem;
    padding: 2px 8px 4px;
    margin-bottom: 20px;
}
}

/* ttl_bdr
======================================================================*/
.ttl_bdr{
	max-width: 1000px;
    margin: 0 auto;
    padding: 90px 0 60px;
	border-top: 10px solid rgba(201,188,156,0.20);
}
@media screen and (max-width: 768px){
.ttl_bdr{
    padding: 60px 0 30px;
}
}

.top_bnr p.caption{
    text-align: justify;
    font-size: 1.2rem;
}
@media screen and (max-width: 768px){
.top_bnr p.caption{
    font-size: 1.1rem;
}
}


/* information
======================================================================*/
.information{
	width: 100%;
    padding: 90px 0;
	background-color: #4f6077;
}

@media screen and (max-width: 768px) {
.information{
    padding: 30px 0;
} 
}


.information p.caption{
    color: #FFFFFF;
    font-size: 1.2rem;
}

/* life-info */

.life-info{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
.life-info{
    display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
    margin-bottom: 30px;
}
}

.life-info .info-col{
	width: 50%;
    padding-right: 30px;
	border-right: 1px solid #FFFFFF;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.life-info .info-col:last-child{
    padding-left: 30px;
    padding-right: 0px;
	border-right: none;
}

@media screen and (max-width: 768px) {
.life-info .info-col{
	width: 100%;
    padding-right: 0px;
    border-right: none;
    margin-bottom: 6px;
}
.life-info .info-col:last-child{
    padding-left: 0px;
    margin-bottom: 0px;
}
}


/* table.info
====================================*/
table.info{
    width: 100%;
    font-size: 1.2rem;
    margin-bottom: 20px;
    color: #FFFFFF;
    
}
@media screen and (max-width: 480px) {
table.info{
    font-size: 1.1rem;
}
}

table.info th,
table.info td{
    padding: 2px 0;
}

table.info th{
    width: 230px;
    text-align: left;
    vertical-align: top;
}
table.info td{
    width: calc(100% -230px);
    text-align: right;
    vertical-align: top;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

table.info h4{
    font-weight: 700;
}

/* map
====================================*/

.map{
    width: 100%;
    margin-bottom: 30px;
}




