@charset "utf-8";

.margin {
	margin: 0 0 20px;
}

figure {
	line-height: 1;
}

h5 {
	font-size: 1.5rem;
	font-weight: 400;
}

.inner-anchor-list.sub-page-list li a {
    margin: 0 10px 0px 0px;
}

.outside_line {
	border: solid 0.1px #e1e1e1;
}

/* middle-title -------------------- */

.child .middle-title {
	margin-bottom: 25px;
	font-weight: 300;
	text-align: center;
}




/* 観覧料 -------------------- */

.inner-table-wrap .admission-fees {
	table-layout: fixed;
	width: 100%;
	max-width: 700px;
}

.inner-table-wrap .admission-fees,
.inner-table-wrap .admission-fees td {
	border: 1px solid rgba(0,0,0,.1);
	border-collapse: collapse;
}

.inner-table-wrap .admission-fees td {
	padding: 5px;
	text-align: right;
}

.inner-table-wrap .admission-fees .heading {
	text-align: center;
	line-height: 1.2;
	padding: 10px 5px;
}

.inner-table-wrap p {
	padding: 15px 0;
	border-top: none;
}

.inner-table-wrap p:last-of-type,
.line_none dl {
    border-top: dashed 1px rgba(0,0,0,.1);
}

.inner-table-wrap span{
	font-weight: 400;
}


/* 概要 -------------------- */

/*
.info-wrap {
	display: block;
}

.info-wrap figure {
	width: 70%;
	margin: 0 auto;
}

.basic-info {
	margin-bottom: 10px;
}*/


/* 見どころ -------------------- */


.exhibition-point {
	background-color: #ffe5ea;
	border-radius: 4px;
	padding: 30px;
	margin-bottom: 30px;
}

.flex-wrap {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    -webkit-align-items: flex-start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
}

.flex-wrap {
    margin-bottom: 30px;
}

.flex-wrap:last-child {
	background-color: #fff;
	border-radius: 4px;
    margin: 30px 0 0;
    padding: 20px;
}

.flex-wrap figure {
	width: 100%;
}

.flex-wrap img{
   border-radius: 4px;
}

.flex-txt {
	margin-top: 30px;
}

.flex-txt h5 {
	text-align: center;
}

.flex-txt .text {
	margin-top: 10px
}



/* その他 -------------------- */

.omake {
	margin: 30px 0 45px;
}

.omake span {
	font-size: 1.2rem;
}

.more--small {
	font-size: .65em;
}

.character {
	font-size: 1.5rem;
	font-weight: 400;
	text-align: center;
	margin-top: 20px;
}

/* logo */

/* logo -------------------- */


.exhi-info-img {
    width: 18px;
    vertical-align: middle;
    display: inline-block;
    line-height: 0;
    overflow: hidden;
}


/* ============================================================================================== */
/* Media query                                                                                    */
/* ============================================================================================== */

@media screen and (min-width: 400px) {

	.copy{
	    margin-top: 0px
	}

	.cap {
		margin: 0;
		padding: 0 0 10px;
	}


}

/* ---------------------------------------------------------------------------------------------- */
/* Tablet                                                                                         */

@media screen and (min-width: 541px) {

	.inner-anchor-list {
		padding: 0px 0 0;
	}


}

/* iPad (768px) */

@media screen and (min-width: 768px) {

	.image-wrap {
		position: relative;
	}

	.exhi-img-list {
		column-count: 2;
	}


	/* 概要 -------------------- */

	/*.info-wrap {
		display: -webkit-flex;
	    display: flex;
	    -webkit-justify-content: flex-start;
	    justify-content: flex-start;
	    -webkit-align-items: flex-start;
	    align-items: flex-start;
	    -webkit-flex-wrap: wrap;
	    flex-wrap: wrap;
		align-items: center;
	}

	.basic-info {
		width: calc(85% - 10px);
	}

	.info-wrap figure {
		width: 15%;
		margin: 0 0 0 10px;
	}*/

	/* 見どころ -------------------- */

	.exhibition-point {
		padding: 45px;
		margin-bottom: 45px;
	}

	.flex-wrap {
	    margin-bottom: 45px;
	}

	.flex-wrap:last-child {
		margin: 45px 0 0;
	    padding: 30px;
	}

	.flex-wrap img{
	   width: 100%;
	}

	.flex-wrap .flex-txt {
	    width: calc(60% - 30px);
		margin: 0 0 0 30px;
	}

	.flex-wrap figure {
	    width: 40%;
	}

	.flex-wrap.more--big .flex-txt {
	    width: calc(40% - 30px);
	}

	.flex-wrap.more--big figure {
	    width: 60%;
	}

	.flex-txt h5 {
	    text-align: left;
	}

}

/* ---------------------------------------------------------------------------------------------- */
/* Desktop                                                                                        */

@media screen and (min-width: 960px) {

	h5 {
		font-size: 1.8rem;
	}

	.flex-wrap {
	    margin-bottom: 60px;
	}

	.flex-wrap:last-child {
		margin: 60px 0 0;
	    padding: 45px;
	}

	.character {
		font-size: 1.8rem;
	}

	.exhibition-point {
		padding: 60px;
		margin-bottom: 60px;
	}

}

@media screen and (min-width: 1100px) {

	/* section -------------------- */
	.contents-inner section {
		padding-bottom: 80px;
	}

	/* middle-title -------------------- */

	.child .middle-title {
		margin-bottom: 40px;
	}

	.txt-only {
	    padding: 0 0 60px;
	}

}
