@charset "utf-8";

/* ------------------------------------------------------------------------------------------------------------------------/
   expansion
/------------------------------------------------------------------------------------------------------------------------ */

.subvisual .icon {
    float: left;
    width: 110px;
    margin-right: 1em;
}

.cb { clear:both; line-height:0; font-size:0; }
.fn { float:none !important; }
.fl { float:left !important; }
.fr { float:right !important; }

.line0 { line-height:0 !important; font-size:0 !important; }

.w50 { width:50%; }

.o-pc{ display:block; }
.o-sp{ display:none; }
@media screen and (max-width:1010px) {
    .o-pc{ display:none; }
    .o-sp{ display:block; }
}


/* ------------------------------------------------------------------------------------------------------------------------/
	詳細
/------------------------------------------------------------------------------------------------------------------------ */

body#page-detail {
    margin-bottom: 4em;
}

.est-detail {
    width:100%;
}

.est-detail .est-intro {
    box-sizing: border-box;
    margin: 0 auto 36px;
}

.est-detail .est-intro .prime {
    display: flex;
    justify-content: flex-start;
    align-items:center;
    flex-wrap: wrap;
}
.est-detail .est-intro .prime .primebox {
    color: #2b2d42;
    font-size: 150%;
    font-weight: 700;
    margin-right: 1.5em;
    overflow: hidden;
}

.est-detail .est-intro .prime .primebox .primetitle {
    display: inline-block;
    width: 4em;
    color: #fff;  
    font-size: 87.5%;
    text-align: center;
    margin-right: .75em;
    background-color: #36b37d;
}

.est-detail .est-intro .prime .primebox span { font-size:50%; }

.est-detail .sectitle {
    width:100%;
    margin-bottom: 1em;
    color:#2b2d42; 
    font-size:200%;
    text-align: center;
}
@media screen and (max-width:700px) {
    .est-detail .sectitle { font-size:175%; }  
}
.est-detail .sectitle span {
    display: block;
    font-size:50%;
    color: #ef233c;
}

.est-detail .photo_gallery {
    box-sizing: border-box;
}

.est-detail .main_image {
    width:100%;
    display: flex;
    justify-content: space-between;
}
.est-detail .main_image a {
    display: block;
    width: calc(50% - 18px);
    text-align: center;
}
.est-detail .main_image a img {
    width:100%;
    height: 100%;
    max-height: 450px;
    overflow:hidden;
    object-fit:contain;
}

.est-detail .thumb_image {
    width:100%;
    max-width:1100px;
    box-sizing:border-box;
    margin:30px auto 0;
}
.est-detail .thumb_image ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    list-style:none;
    margin-bottom:-15px;
}
.est-detail .thumb_image ul li {
    display: block;
    width:calc(20% - 12px);
    text-align:center;
    margin-right: 15px;
    margin-bottom:15px;
    height: 190px;
}
.est-detail .thumb_image ul li:nth-child(5n) { margin-right: 0; }
.est-detail .thumb_image ul li img {
    overflow:hidden;
    object-fit: cover;
    width:100%;
    height:100%; 
}

@media screen and (max-width:1180px) {
    .est-detail .thumb_image ul li { width:calc(25% - 12px); }
    .est-detail .thumb_image ul li:nth-child(5n) { margin-right: 16px; }
    .est-detail .thumb_image ul li:nth-child(4n) { margin-right: 0; }
}
@media screen and (max-width:900px) {
    .est-detail .thumb_image ul li { width:calc(33.33% - 12px); }
    .est-detail .thumb_image ul li:nth-child(4n) { margin-right: 18px; }
    .est-detail .thumb_image ul li:nth-child(3n) { margin-right: 0; }
}

.est-detail .type01 {
    margin-top: 60px;
    padding-top: 40px;
    background-color: #edf2f4;
}

.est-detail .detail-line {
    width:100%;
    overflow: hidden;
}
.est-detail .detail-line::after {
    content: "";
    display: block;
    width: 100%;
    max-width: 1100px;
    height: 1px;
    background: url(../../image/top/subject_dot.png);
}

.est-detail .detail-line .w50 { float:left; }
.est-detail .detail-line h4 {
    float:left;
    box-sizing:border-box;
    text-align:left;
    width: 13em;
    padding: 0.75em 2em;
    position:relative;
}

.est-detail .detail-line .w50 h4 {
    float:left;
    box-sizing:border-box;
    text-align:left;
    position:relative;
}
.est-detail .detail-line h4:after {
    content:'|';
    float:right;
    color:#a1a1a1;
    font-size: 0.85em;
    font-weight:lighter;
}

.est-detail .detail-line p {
    width:calc(100% - 13em); 
    float:left;
    box-sizing:border-box;
    margin:0;
    padding: 0.75em 2em 0 0;
}

.est-detail .youtube {
    position: relative;
    width: 100%;
    padding-top: 55.6363%;
    margin-top: 60px;
}
.est-detail .youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    border: none;
}

.est-detail #viewer {
    width:100%;
    height:auto;
    box-sizing:border-box;
    margin-top: 60px;
}

.est-detail #map {
    width:100%;
    height:500px;
    box-sizing:border-box;
    margin-top: 60px;
    margin-bottom: 60px;
}
.est-detail #map iframe{
    width:100%;
    height:100%;
    border:none; 
}

.list-back-btn,
.list-back-btn:visited {
    display: flex;
    justify-content: center;
    align-items: center;
	width:320px;
	padding:1em;
	margin:36px auto 60px;
    box-sizing: border-box;
    border-radius: .25em;
	background-color:#2b2d42;
	color:#fff;
	font-size:125%;
    text-align: center;
	text-decoration:none;
	transition:0.2s;
}

.list-back-btn:hover {
    text-align: center;
	background-color:#40425f;
}

.list-back-btn:disabled,
.list-back-btn:disabled:hover {
    text-align: center;
	background-color:#40425f;
}
.list-back-btn img {
    display: inline-block;
    width: 2em;
    margin-right: 0.25em;
	transition:0.2s;
}
.list-back-btn:hover img {
    margin-right: 0.5em;
}

.fix-btn {
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 2;
    display: flex;
    width: 100%;
    min-width: 700px;
}

.inquiry-btn,
.inquiry-btn:visited {
    display: block;
	width:50%;
	padding:1em;
    box-sizing: border-box;
	background-color:#ef233c;
	color:#fff;
	font-size:112.5%;
    text-align: center;
	text-decoration:none;
	transition:background-color ease-in-out 0.2s;    
}
.inquiry-btn:hover {
    text-align: center;
	color:#fff;
	background-color:#ED4A5E;
}
.inquiry-btn img {
    display: inline-block;
    width: 1.5em;
    margin-right: 0.75em;
}
@media screen and (max-width:700px) {
    .inquiry-btn { width:100%; }
}

.print-btn,
.print-btn:visited {
    display: block;
	width:50%;
	padding:1em;
    box-sizing: border-box;
	background-color:#36b37d;
	color:#fff;
	font-size:112.5%;
    text-align: center;
	text-decoration:none;
	transition:background-color ease-in-out 0.2s;    
}
.print-btn:hover {
    text-align: center;
	color:#fff;
	background-color:#58C395;
}
.print-btn img {
    display: inline-block;
    width: 1.5em;
    margin-right: 0.75em;
}
@media screen and (max-width:700px) {
    .print-btn { display: none; }
}



/* ------------------------------------------------------------------------------------------------------------------------/
	お問い合わせ
/------------------------------------------------------------------------------------------------------------------------ */

.contact {
    position:relative;
    width:100%;
    box-sizing:border-box;
    margin:0 auto 60px;
}

.contact .form-nav {
    display: flex;
    justify-content: center;
    margin-bottom: 36px;
}
.contact .form-nav__item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 220px;
    padding: 1em 0;
    margin: 0 16px;
    font-weight: bold;
    letter-spacing: .1em;
    border: 1px solid #2b2d42;
    background-color: #fff;    
}
.contact .form-nav__item.active {
    background-color: #2b2d42;
    color: #fff;
}

.contact .intro {
    text-align: center;
    margin-bottom: 36px;
}