.wrapper {padding:0 40px;width:100%;}

/* detail */
.contents .detail h2{margin:6px 0 10px;font-size:24px;line-height:30px;color:#3c6478;}
.contents .detail div{position:relative;margin:0 0 20px;padding:0 0 0 380px;min-height:240px;}
.contents .detail i{position:relative;position:absolute;top:0;left:0;display:block;width:360px;height:240px;overflow:hidden;}
.contents .detail i img{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:auto;height:100%;}
.contents .detail dl{display:table;width:100%;}
.contents .detail dl + dl{margin:10px 0 0;}
.contents .detail dl dt{display:table-cell;width:20%;font-size:14px;font-weight:bold;}
.contents .detail dl dd{display:table-cell;}
.contents .detail dl dd ul{margin:-4px;width:calc(100% + 10px);letter-spacing:-0.5em;}
.contents .detail dl dd ul li{display:inline-block;padding:4px;max-width:100%;letter-spacing:0;}
.contents .detail dl dd ul li span{display:block;padding:0 9px;background:#f5f5f5;border:1px solid #ccc;border-radius:2px;overflow:hidden;font-size:14px;line-height:28px;color:#666;white-space:nowrap;text-overflow:ellipsis;}
.contents .detail dl dd ul li span:before{display:inline-block;content:"\f02b";margin:0 6px 0 0;font-size:12px;font-family:FontAwesome;}
.contents .detail table{border-collapse:collapse;border-spacing:0;width:100%;height:240px;}
.contents .detail dl + table{margin:20px 0 0;}
.contents .detail table th,
.contents .detail table td{padding:11px;border:1px solid #ccc;font-size:14px;line-height:1.3em;}
.contents .detail table th{background:#f6f5f4;width:30%;}

/* photos */
.contents .photos{margin:0 0 30px;padding:0 40px;letter-spacing:-0.5em;}
.contents .photos ul{margin:-10px -10px;letter-spacing:-0.5em;flex-wrap:wrap;display:flex;}
.contents .photos ul li{width:25%;letter-spacing:0;vertical-align:top;height:200px;padding:10px;box-sizing:border-box;}
.contents .photos ul li > *{position:relative;display:block;font-size:14px;line-height:1.5em;color:#444;text-decoration:none;}
.contents .photos ul li img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3;}
@media screen and (max-width:1024px){
  .contents .photos{padding:0 30px;}
}
@media screen and (max-width:767px){
  .contents .photos{padding:0 15px;}
  .contents .photos ul{margin:0 -10px;}
  .contents .photos ul li{width:50%;}
}

@media screen and (max-width:1024px){
}
@media screen and (max-width:767px){
  .contents .detail h2{margin:0 0 10px;font-size:20px;}
  .contents .detail div{padding:0;border:0;min-height:0;}
  .contents .detail i{position:relative;top:auto;left:auto;margin:0 0 15px;width:100%;}
  .contents .detail dl{display:block;}
  .contents .detail dl dt{display:block;margin:0 0 5px;width:auto;}
  .contents .detail dl dd{display:block;}
  .contents .detail table{height:auto;}
  .contents .detail table th,
  .contents .detail table td{padding:9px;}
}
/* map */
.contents .map{margin:20px 0 0;}
.contents .map h2{margin:0 0 10px;font-size:20px;line-height:1.3em;color:#3c6478;text-align:center;letter-spacing:0;}
.contents .map p{margin:0 0 20px;font-size:14px;line-height:1.5em;text-align:center;letter-spacing:0;}
.contents .map #map{width:100%;height:400px;}
@media screen and (max-width:1024px){
}
@media screen and (max-width:767px){
  .contents .map{margin:15px 0 0;}
  .contents .map h2{padding:0 15px;}
  .contents .map p{padding:0 15px;}
  .contents .map #map{height:200px;}
}