@charset "UTF-8";

#photosession header.inner-header{
	margin-bottom:40px;
	
	position: relative;
}

#photosession header.inner-header h3{
	font-size:1.5rem;
	line-height:1.5em;
	font-weight:bold;
	
	position: relative;
	
	box-sizing: border-box;
	padding-left:10px;
}

#photosession header.inner-header h3:before{
	content:"";
	
	display:block;
	
	width:5px;
	height:25px;
	
	background-color:#f69;
	
	position: absolute;
	top:5px;
	left:0;
}

#photosession div.content-inner{
	margin-bottom:40px;
}

.page-navi{
	margin-bottom:20px;
}

.page-navi ul.tab-area{
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	background-color:#888;
	background-image: url("../images/bg-slide-gray.gif");
	background-repeat: repeat;
	background-size: 120px;
	
	box-sizing: border-box;
	border-radius:2.5px;
}

.page-navi ul li{
	width:calc(100%/3);
	
	text-align: center;
	
	font-size:0.8rem;
	line-height:1.5em;
	font-weight:bold;
}

.page-navi ul li:first-child{
	box-sizing: border-box;
	border-top-left-radius:2.5px;
	border-bottom-left-radius:2.5px;
}

.page-navi ul li:last-child{
	box-sizing: border-box;
	border-top-right-radius:2.5px;
	border-bottom-right-radius:2.5px;
}

.page-navi ul li.active{
	background-image: url("../images/bg-slide-orange.gif");
	background-repeat: repeat;
	background-size: 120px;
}

.page-navi ul li a{
	display:block;
	
	box-sizing: border-box;
	margin:15px 0;
	border-right:solid 1px #fff;
	
	color:#fff;
}

.content-area div.content-block{
	display:none;
}

.content-area div.show{
	display:block;
}

.page-navi ul li:last-child a{
	border-right:none;
}

.page-navi ul li a:hover{
	opacity: 0.8;
	text-decoration: none;
}

.archiverow{
	margin-bottom:20px;
}

.archiverow div.inner{
	box-sizing: border-box;
	padding:10px;
	
	border:solid 5px #f8f8f8;
}

.archiverow div.summary{
	margin-bottom:20px;
	
	position: relative;
}

.archiverow div.summary p.update{
	display:inline-block;
	
	font-size:1.25rem;
	line-height:40px;
	font-weight:bold;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:0 20px;
	
	margin-bottom:10px;
	
	background-color:#f69;
	color:#fff;
}

.archiverow div.summary h4{
	font-size:1.25rem;
	line-height:1.5em;
	font-weight:bold;
	
	color:#000;
}

.archiverow div.summary p.btn{
	margin-top:10px;
	
	text-align: right;
}

.archiverow div.summary p.btn a{
	display:inline-block;
	
	box-sizing: border-box;
	padding:5px 40px;
	
	text-align: center;
	font-weight:bold;
	
	background-image: url("../images/bg-slide-orange.gif");
	background-repeat: repeat;
	background-size: 120px;
	
	color:#fff;
	
	position: relative;
}

.archiverow div.summary p.btn a:hover{
	text-decoration: none;
	
	opacity: 0.8;
}

.archiverow div.summary p.btn a:after{
	content:"";
	
	display:block;
	width:20px;
	height:20px;
	
	background-image: url("../images/icon-arrow-right-white.png");
	background-repeat: no-repeat;
	background-size: 10px;
	background-position: center;
	
	position: absolute;
	top:10px;
	left:10px;
}

.archiverow div.detail ul.castlist{
	font-size:0;
	line-height:1.0em;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
}

.archiverow div.detail ul.castlist li{
	width:50%;
	
	position: relative;
}

.archiverow div.detail ul.castlist li:before{
	content:"";
	
	display:block;
	padding-top:100%;
}

.archiverow div.detail ul.castlist li img{
	position: absolute;
	top:0;
	left:0;
	
	width:100%;
	height:100%;
	
	object-fit: cover;
	object-position: top center;
	
	box-sizing: border-box;
	padding:5px;
}

.archiverow div.detail ul.castlist li span.note{
	position: absolute;
	bottom:0;
	left:0;
	
	width:100%;
	text-align: center;
	
	font-size:0.8rem;
	line-height:30px;
	font-weight:bold;
	
	background-color: rgba(255,255,255,0.80);
	color:#000;
}

@media screen and (min-width: 720px){
	
	.archiverow div.detail ul.castlist li{
		width:25%;
	}
	
}

.guiderow{
	margin-bottom:20px;
	
	box-sizing: border-box;
	padding-bottom:30px;
	
	background-image: url("../images/icon-arrow-down-pink.png");
	background-repeat: no-repeat;
	background-size: 30px;
	background-position: center bottom;
}

.guiderow:last-child{
	background:none;
	
	padding-bottom:0;
}

.guiderow h5{
	font-size:1.25rem;
	line-height:1.5em;
	font-weight:bold;
	
	position: relative;
	
	box-sizing: border-box;
	padding-left:40px;
	
	margin-bottom:10px;
}

.guiderow h5 span.note{
	width:30px;
	line-height:30px;
	
	background-color:#f69;
	color:#fff;
	
	text-align: center;
	
	position: absolute;
	top:0;
	left:0;
}

.caution li{
	margin-bottom:10px;
	
	position: relative;
	
	box-sizing: border-box;
	padding-left:15px;
	
	color:#f00;
}

.caution li:before{
	content:"※";
	
	display:block;
	
	position: absolute;
	top:0;
	left:0;
}

.faqrow{
	margin-bottom:20px;
	
	box-sizing: border-box;
	padding-bottom:20px;
	border-bottom:solid 5px #f8f8f8;
}

.faqrow:last-child{
	margin-bottom:0;
}

.faqrow h5{
	font-size:1.25rem;
	line-height:1.5em;
	font-weight:bold;
	
	position: relative;
	
	box-sizing: border-box;
	padding-left:40px;
	
	margin-bottom:10px;
}

.faqrow h5 span.note{
	width:30px;
	line-height:30px;
	
	background-color:#f69;
	color:#fff;
	
	text-align: center;
	
	position: absolute;
	top:0;
	left:0;
}

.faqrow p{
	font-size:1.0rem;
	line-height:1.75em;
	
	position: relative;
	
	box-sizing: border-box;
	padding-left:40px;
	
	margin-bottom:10px;
}

.faqrow p span.note{
	width:30px;
	line-height:30px;
	
	background-color:#f80;
	color:#fff;
	
	text-align: center;
	
	position: absolute;
	top:0;
	left:0;
	
	font-size:1.25rem;
	font-weight:bold;
}

.single-content{
	box-sizing: border-box;
	padding:10px;
	
	width:100%;
	margin:0 auto;
	max-width: 960px;
}

.single-content div.summary{
	margin-bottom:20px;
	
	position: relative;
}

.single-content div.summary p.update{
	display:inline-block;
	
	font-size:1.25rem;
	line-height:40px;
	font-weight:bold;
	
	text-align: center;
	
	box-sizing: border-box;
	padding:0 20px;
	
	margin-bottom:10px;
	
	background-color:#f69;
	color:#fff;
}

.single-content div.summary h4{
	font-size:1.25rem;
	line-height:1.5em;
	font-weight:bold;
	
	color:#000;
}

.single-content div.summary p.btn{
	margin-top:10px;
	
	text-align: right;
}

.single-content div.summary p.btn a{
	display:inline-block;
	
	box-sizing: border-box;
	padding:5px 40px;
	
	text-align: center;
	font-weight:bold;
	
	background-image: url("../images/bg-slide-orange.gif");
	background-repeat: repeat;
	background-size: 120px;
	
	color:#fff;
	
	position: relative;
}

.single-content div.summary p.btn a:hover{
	text-decoration: none;
	
	opacity: 0.8;
}

.single-content div.summary p.btn a:after{
	content:"";
	
	display:block;
	width:20px;
	height:20px;
	
	background-image: url("../images/icon-arrow-right-white.png");
	background-repeat: no-repeat;
	background-size: 10px;
	background-position: center;
	
	position: absolute;
	top:10px;
	left:10px;
}

.single-content div.detail ul.castlist{
	font-size:0;
	line-height:1.0em;
	
	display:flex;
	flex-flow: row wrap;
	align-items: stretch;
	justify-content: flex-start;
	
	margin-bottom:40px;
}

.single-content div.detail ul.castlist li{
	width:50%;
	
	position: relative;
}

.single-content div.detail ul.castlist li:before{
	content:"";
	
	display:block;
	padding-top:100%;
}

.single-content div.detail ul.castlist li img{
	position: absolute;
	top:0;
	left:0;
	
	width:100%;
	height:100%;
	
	object-fit: cover;
	object-position: top center;
	
	box-sizing: border-box;
	padding:5px;
}

.single-content div.detail ul.castlist li span.note{
	position: absolute;
	bottom:0;
	left:0;
	
	width:100%;
	text-align: center;
	
	font-size:0.8rem;
	line-height:30px;
	font-weight:bold;
	
	background-color: rgba(255,255,255,0.80);
	color:#000;
}

@media screen and (min-width: 720px){
	
	.single-content div.detail ul.castlist li{
		width:25%;
	}
	
}

.single-content div.detail div.row{
	display:table;
	width:100%;
	
	margin-bottom:10px;
}

.single-content div.detail div.lastchild{
	margin-bottom:40px;
}

.single-content div.detail div.row p.que{
	display:table-cell;
	width:120px;
	vertical-align: top;
	
	box-sizing: border-box;
	padding:10px;
	border-right:solid 10px #fff;
	
	background-color:#f8f8f8;
	font-weight:bold;
}

.single-content div.detail div.row div.ans{
	display:table-cell;
	width:auto;
	vertical-align: top;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f8f8f8;
}

.single-content div.detail div.google-map{
	margin-bottom:20px;
}

.single-content div.detail div.google-map iframe{
	border:none;
	
	width:100%;
	height:360px;
}

.form-content{
	box-sizing: border-box;
	padding:10px;
	
	width:100%;
	margin:0 auto;
	max-width: 960px;
}

.form-content div.row{
	display:table;
	width:100%;
	
	margin-bottom:10px;
}

.form-content div.lastchild{
	margin-bottom:40px;
}

.form-content div.row p.que{
	display:table-cell;
	width:160px;
	vertical-align: top;
	
	box-sizing: border-box;
	padding:10px;
	border-right:solid 10px #fff;
	
	background-color:#f0f0f0;
	
	font-size:0.8rem;
	line-height:1.75em;
	font-weight:bold;
}

.form-content div.row div.ans{
	display:table-cell;
	width:auto;
	vertical-align: top;
	
	box-sizing: border-box;
	padding:10px;
	
	background-color:#f0f0f0;
}

.form-content div.row div.ans div.attention{
	height:240px;
	overflow-y: scroll;
	
	box-sizing: border-box;
	padding:5px;
	
	font-size:0.8rem;
	line-height:1.75em;
}

.form-content div.row div.ans div.attention p{
	margin-bottom:10px;
}

.form-content input[type="text"]{
	box-sizing: border-box;
	border:none;
	
	padding:10px;
	
	background-color:#fafafa;
	width:100%;
	max-width:480px;
	
	border-bottom:solid 1px #eee;
}

.form-content input[type="tel"]{
	box-sizing: border-box;
	border:none;
	
	padding:10px;
	
	background-color:#fafafa;
	width:100%;
	max-width:480px;
	
	border-bottom:solid 1px #eee;
}

.form-content input[type="email"]{
	box-sizing: border-box;
	border:none;
	
	padding:10px;
	
	background-color:#fafafa;
	width:100%;
	max-width:480px;
	
	border-bottom:solid 1px #eee;
}

.form-content textarea{
	box-sizing: border-box;
	border:none;
	
	padding:10px;
	
	background-color:#fafafa;
	width:100%;
	max-width:480px;
	min-height: 120px;
	
	border-bottom:solid 1px #eee;
}

.form-content div.btn{
	text-align: center;
	
	margin-top:20px;
}

.form-content div.btn input[type="submit"]{
	box-sizing: border-box;
	border-radius:0;
	border:solid 2px #f69;
	
	width:240px;
	
	font-size:0.8rem;
	line-height:40px;
	font-weight:bold;
	
	background-color:#f69;
	color:#fff;
}

.form-content div.btn input[type="submit"]:hover{
	text-decoration: none;
	
	background-color:#fff;
	color:#f69;
	cursor: pointer;
}