﻿@charset "utf-8";

/* base
------------------ */
/* reset */
html,body,div,h1,h2,h3,h4,h5,h6,p,blockquote,q,pre,table,caption,colgroup,col,tbody,thead,tfoot,tr,th,td,ul,ol,li,dl,dt,dd,form,fieldset,legend,label,span,a,img,em,ins,del,cite,abbr,sup,sub,dfn,code,var,samp,kbd,object,script,noscript,style,iframe,embed,param,map,area,menu,hr,address,small,strong,i,b,article,aside,figure,footer,header,hgroup,nav,section,figcaption,time,video,audio,mark,ruby,rt,rp,bdo,source,canvas,details,summary,command,datalist,keygen,output,progress,meter{margin:0;padding:0;outline:0;}
address,article,aside,figure,figcaption,footer,header,hgroup,hr,legend,menu,nav,section,summary{display:block;}
h1,h2,h3,h4,h5,h6{font-size:100%;}

/* body */
body{
	background:#f2ede0 url(../img/bg01.jpg);
	color:#333;
	line-height:1.7;
	font-size:100%;/*16px*/
	font-family:Meiryo, sans-serif;
	word-break:break-all;
}

@media screen and (orientation:landscape){
body{
	-webkit-text-size-adjust:100%;
}
}

input,textarea,button{
	font-family:Meiryo, sans-serif;
}

button{
	font-size: 100%;
}

/* リンク */
a:link{color:#687756;text-decoration:underline;}
a:visited{color:#865d86;text-decoration:underline;}
a:hover{color:#8aa669;text-decoration:none;}

/* タグ共通 */
img{border:none;max-width:100%;}
p{margin:0 0 1.5rem 0;}
hr{border:none;border-top:1px solid #ccc;margin:3rem auto;clear:both;}
table{empty-cells:show;border:none;border-collapse:collapse;max-width:100%;}
blockquote{padding: 1.5rem;background:#f6f6f6;margin-bottom: 1.5rem;}
blockquote .cite{font-size: 75%;text-align: right;}

/*テキスト関係*/
.smaller{font-size:75%;}/*12px*/
.larger{font-size:125%;}/*20px*/
.bold{font-weight:bold;}
.normal{font-weight:normal;}
.red{color:#f00;}
.gray{color:#666;}
.green{color:#687756;}


/*リスト*/
li{list-style:none;}
ul.list_mark{margin-bottom:1.5rem;}
ul.list_mark li{list-style:disc;margin-left:1.5em;}
ol.list_mark{margin-bottom:1.5rem;}
ol.list_mark li{list-style:decimal;margin-left:1.5rem;}
dl.dl_default{margin-bottom:1.5rem;}
dl.dl_default dt{font-weight:bold;}
dl.dl_default dd{margin-left:1em;}

/* テキスト揃え */
.ac{text-align:center;}
.al{text-align:left;}
.ar{text-align:right;}
.vam{vertical-align:middle;}
.vat{vertical-align:top;}
.ti{text-indent: 0.5em;
	display: inline-block;}

/* テキスト間隔 */
.tp{
	padding-left:0.5rem;
	padding-right: 0.5rem;
}


/* フロート */
.fl{float:left;}
.fr{float:right;}
.cl{clear:both;}

/* マージン */
.ma{margin-right:auto;margin-left:auto;}
.ml{margin-left:1.5rem;}
.mr{margin-right:1.5rem;}
.mb{margin-bottom:1.5rem;}
.mb0{margin-bottom:0;}

/* エフェクト */
.fade:hover{opacity:0.8;transition:0.2s;}
.trg{cursor: pointer;}

/* sp header
------------------ */
#sp_header{
	width:100%;
	position: fixed;
	top: 0;
	left: 0;
	display: table;
	background:#f2ede0 url(../img/bg01.jpg);
	z-index:99;
	box-shadow: 0 4px 3px -3px rgba(0,0,0,0.3);
}

/* spロゴ */
#sp_header h1{
	display: table-cell;
	vertical-align: top;
	width: 80%;
}

/* sp trigger */
#sp_nav_trg{
	display: table-cell;
	vertical-align: top;
	color:#ddd;
	background: #333;
	text-align: center;
	width: 20%;
	cursor: pointer;
	max-width: 10rem;
	font-size: 32px;
	line-height: 70px;
}

@media print, screen and (min-width: 940px){
#sp_header{
	display: none;
}
}

/* sp nav
------------------ */
#sp_nav{
	display: none;
	z-index:100;
	color: #ddd;
	width: 100%;
	padding-bottom: 4rem;
}

#sp_nav a{
	color: #ddd;
	text-decoration: none;
}

/* sp nav closeボタン上 */
#sp_nav_close_top{
	position: absolute;
	top: 0;
	right: 0;
	font-size: 32px;
	line-height: 70px;
	background: #000;
	cursor: pointer;
	width: 20%;
	max-width: 10rem;
	text-align: center;
}

/* sp nav closeボタン下 */
#sp_nav_close_bottom{
	text-align: center;
	width: 60%;
	background: #000;
	border-radius: 3px;
	padding: 1rem 0;
	margin: 0 auto;
	cursor: pointer;
}

/* spメニュー本体 */
#sp_menu{
	padding-top: 70px;
	margin-bottom: 4rem;
}

#sp_menu > li{
	border-top: 1px solid #555;
	border-bottom: 1px solid #000;
}

#sp_menu li a, #sp_menu li span{
	display: block;
	padding: 1.3rem 1rem;
	position: relative;
}

#sp_menu li a:before, #sp_menu li span:before{
	position: absolute;
	top: 40%;
	right: 0.5rem;
	color: #666;
}

.sp_menu_lower li{
	font-size: 87.5%;
	border-top: 1px dashed #555;
	background: #2f2f2f;
}

#sp_menu .sp_menu_lower li a{
	padding-left: 3rem;
}

/* pc_header
------------------ */
#pc_header{
	display: none;
}

@media print, screen and (min-width: 940px){
#pc_header{
	display: block;
	width: 940px;
	margin: 0 auto;
	padding-bottom: 5px;
	overflow: hidden;
	background-image: url(../img/bg02.jpg);
	background-repeat: no-repeat;
	background-position: 50% 100%;
}

/* pcロゴ */
#pc_header h1{
	float: left;
}

/* pc nav */
#pc_header_nav{
	float: right;
	padding: 27px 10px 0 0;
}

#pc_header_nav li{
	display: inline-block;
}
}

/* footer
------------------ */
#footer{
	padding: 5rem 1rem 1rem 1rem;
}

/* フッタリンク1 */
#flink01{
	margin-bottom: 2rem;
	border-top: 1px dashed #bfb6ae;
}

#flink01 li{
	border-bottom: 1px dashed #bfb6ae;
}

#flink01 a{
	display: block;
	padding: 1rem;
	position: relative;
	text-decoration: none;
}

#flink01 a:before{
	position: absolute;
	top: 37%;
	right: 0.5rem;
}

@media print, screen and (min-width: 940px){
#flink01{
	width: 940px;
	margin: 0 auto 2rem auto;
	border-top: 1px solid #ccc5be;
	border-bottom: 1px solid #ccc5be;
	text-align: center;
	box-shadow: 0 16px 16px -16px rgba(0,0,0,0.2), 0 -16px 16px -16px rgba(0,0,0,0.2);
}

#flink01 li{
	border-bottom: none;
	display: inline-block;
}

#flink01 a:before{
	display: none;
}
}

/* 名前 */
#credit{
	text-align: center;
	font-size: 112.5%;
	margin-bottom: 2rem;
}

/* フッタボタン */
#flink02{
	text-align: center;
	margin-bottom: 3rem;
}

#flink02 li{
	display: inline-block;
	margin-bottom: 0.5rem;
}

#flink02 .button{
	font-size: 75%;
	width: 8em;
	padding: 0.5rem 2rem;;
}

/* copyright */
#cp{
	font-size: 75%;
	text-align: center;
	color: #666;
}

/* main
------------------ */
/* レイアウト調整 */
#main{
	padding-top: 70px;
}

@media print, screen and (min-width: 940px){
#main{
	padding-top: 0;
}

.wide{
	width: 940px;
	margin-left: auto;
	margin-right: auto;
}
}

/* ボタン */
.button{
	display: inline-block;
	background: #fff;
	position: relative;
	padding: 0.5rem 4rem;
	text-align: center;
	transition: 0.2s;
	border: none;
	-webkit-appearance: none;
	cursor: pointer;
}

a.button{
	text-decoration: none;
}

.button:before{
	position: absolute;
	top: 32%;
	right: 0.5rem;
}

.button_normal, a.button_normal{
	border:2px solid #687756;
	color: #687756;
}

.button_normal:hover{
	background: #687756;
	color: #fff;
}

/* 見出し */
/*中ページ ページタイトル*/
.h01{
	text-align: center;
	padding: 3rem 0;
}

/*中ページ小見出し（作品タイトル等）*/
.h02{
	text-align: center;
	margin:0 1rem 2rem 1rem;
	font-size: 150%;
	line-height: 1.2;
}

.h02 span.smaller{
	display: block;
	font-weight: normal;
	margin-bottom: 0.5rem;
	font-size: 58.33%;
}

.h03{
	text-align: center;
	font-size: 115%;
	margin:1.5rem 1rem 1rem 1rem;
	font-weight: normal;
}

@media print, screen and (min-width: 940px){
.h02{
	margin:0 0 2rem 0;
	font-size: 175%;
}
	
.h03{
	font-size: 130%;
	margin:1.5rem 0 1rem 0;
}
}

/* 標準の写真ページレイアウト */
.page_catch{
	margin-bottom: 4rem;
}

.page_catch p{
	margin: 0 1rem 1.5rem 1rem;
}

.page_ph{
	margin-bottom: 4rem;
}

@media print, screen and (min-width: 940px){
.page_catch p{
	margin: 0 0 1.5rem 0;
}
}

/* photoswipeの標準ギャラリー表示 */
.ga_photoswipe{
	text-align: center;
}

.ga_photoswipe figure{
	display: inline-block;
	vertical-align: top;
	max-width: 44%;
	margin: 0 0.5rem 1.5rem 0.5rem;
}

.ga_photoswipe figcaption{
	line-height: 1.5;
	font-size: 87.5%;
}

.figcap_none figcaption{
	display: none;
}

.figcap_none figcaption.show{
	display: block;
}

/*.ga_photoswipe .solo{
	max-width: 88%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}*/

.ga_photoswipe .solo{
	max-width: 44%;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

@media print, screen and (min-width: 940px){
.ga_photoswipe figure{
	max-width: 22%;
}
	
.ga_photoswipe .yoko{
	max-width: 44%;
}
}

/* 前後のナビ */
.page_nav{
	margin: 0 1rem 3rem 1rem;
	overflow: hidden;
}

.page_nav a{
	text-decoration: none;
	display: inline-block;
	background: #d6decd;
	position: relative;
}

.page_nav a:before{
	color: #687756;
}

.page_nav .prev{
	float: left;
	width: 50%;
}

.page_nav .prev a{
	width: 50%;
	padding: 0.5rem 1rem 0.5rem 3rem;
}

.page_nav .prev a:before{
	position: absolute;
	top: 30%;
	left: 0.5rem;
}

.page_nav .next{
	float: right;
	width: 50%;
	text-align: right;
}

.page_nav .next a{
	width: 50%;
	padding: 0.5rem 3rem 0.5rem 1rem;
}

.page_nav .next a:before{
	position: absolute;
	top: 30%;
	right: 0.5rem;
}

@media print, screen and (min-width: 940px){
.page_nav{
	width: 940px;
	margin: 0 auto 3rem auto;
}

.page_nav .prev{
	width: 300px;
	margin: 0;
}

.page_nav .next{
	width: 300px;
	margin: 0;
}
}

/* 成田山トップに戻るボタン */
.naritasan_back_bt{
	margin: 0 1rem;
	text-align: center;
}

.naritasan_back_bt .button:before,
.naritasan_page_back_bt .button:before{
	right:auto;
	left: 0.5rem;
}

.naritasan_page_back_bt{
	border-top: 1px solid #ccc;
    margin: 3rem 1rem 0;
	padding-top: 3rem;
	text-align: center;
}

.naritasan_page_back_bt .button{
	margin-bottom: 2rem;
}

.prev_next_bt{
	margin: 0 1rem 0;
	text-align: center;
}

.prev_next_bt a:first-of-type{
	margin-bottom: 2rem;
}

@media print, screen and (min-width: 940px){
.naritasan_back_bt,.prev_next_bt{
	margin: 0 auto;
}
.naritasan_page_back_bt{
	margin: 3rem auto 0;
}
}

/* NEW表示 */
.new{
	color: #f00;
	font-size: 75%;
	display:inline-block;
	text-decoration: none;
}

/*eof*/