* {
}

@font-face {
  font-family: "myFont";
  src: url("../font/tanuki_web.eot?") format('eot'),
       url("../font/tanuki_web.woff2") format('woff2'),
       url("../font/tanuki_web.woff") format('woff');
}
.myFontClass {
  font-family: "myFont";
}


.b { font-weight: bold; }
.s { font-size: 75%; line-height: 110%;}
.l { font-size: 125%; font-weight:bold; }
.r { text-align: right; }
.c { text-align: center; }
.img_50 { width:50%; height:auto;}
.img_100 { width:100%; height:auto;}
.red { color: #b82931; }
strong {  }

* {
	box-sizing:border-box;
}

html {
	box-sizing: border-box;
	font-family: serif;
	font-size: 14px;
	line-height: 155%;
	color: #000;
	min-height: 100vh;
}

body {
}

.drawer-overlay {
	background: rgba(69,15,18, 0.3);
}

.drawer-toggle {
}

.drawer-nav {
	background: #eee;	
}

a { color: #b82931; }
a:link { color: #b82931; }
a:visited { color: #b82931; }

footer {
}

#copyright {
	border-top: 2px solid #b82931;
	border-left: none;
	border-right: none;
	text-align: center;
	background: #b82931;
	padding: 4px;
	position:relative;
	z-index: 58;
}


p#page_top_btn {
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 50;
}

	#page_top_btn a {
		font-size: 1rem;
		font-weight: bold;
		height: 3rem;
		line-height: 2.8rem;
		background: #fff;
		border: 1px solid #999;
		border-radius: 0rem;
		text-decoration: none;
		color: #666;
		width: 120px;
		text-align: center;
		display: block;
	}
		#page_top_btn a:hover {
			text-decoration: none;
			background: #999;
		}

.up{
  position: relative;
  width:0;
  height:0;
  border: 16px solid transparent;
  border-bottom-color: #999;
}

.page_contents {
	clear: both;
}

.page_contents#top {
	background: #fee;
	max-height: 100vh;
	min-height: 100vh;
	background: #fff url(../img/bg/top.png) no-repeat bottom left;
	background-size: cover;
}

.page_contents#agenda {
	background: #f1d5d6;
	background: linear-gradient(-225deg, #f1d5d6, #f1e9ea);
}

.page_contents#profile {
	padding: 0;
	background: rgba(255,255,255, 0.7);
	min-height: 100vh;
	background: transparent url(../img/video_pattern33.png) repeat;
}
	.video_trans {
		/*
		background: #fff;
		opacity: 0.5;
		z-index: -1;
		*/
	}

.page_contents#preaching {
	background: #fff url(../img/bg/preaching.png) no-repeat center center;
	background-size: cover;
	min-height: 100vh;
	position:relative;
}

.page_contents#meditation {
	background: #fff url(../img/bg/meditation.png) no-repeat center center;
	background-size: cover;
	position:relative;
	min-height: 100vh;
}

.page_contents#contact {
	background: #fff;
	min-height: 100vh;
}

.page_contents#access {
	background: #fff url(../img/bg/access.png) no-repeat bottom center;
	background-size: cover;
	min-height: 100vh;
}




h1 {
	text-indent: -9999em;
	background: transparent url(../img/logo_seppoukai.png) no-repeat center center;
	background-size: 300px 75px;

	position: absolute;
	bottom: calc( 50% - 75px );
	width: 100%;
	height: 75px;
}


ul.sns_logo {
	list-style: none;
	position: absolute;
	bottom: 10px;
	left: 24px;
	padding: 0;
}

	ul.sns_logo li {
		float: left;
		line-height: 0.9rem;
		margin-right: 1.6rem;
	}

		ul.sns_logo li img {
			width: 24px;
			height: 24px;
		}


h2.top {
	text-align: center;
	position: absolute;
	width: 100%;
	margin: auto;
	bottom: calc( 50% + 4.2rem);
	font-size: 1.2rem;
	font-weight: bold;
	text-shadow: 0px 0px 12px rgba(102,102,102,0.35);
}


.shadow_on {
	text-shadow: 0px 0px 12px rgba(102,102,102,0.35),
	0px 1px 0px rgba(255,255,255,0.2);
}

.shadow_on2 {
	text-shadow: 0px 0px 2px rgba(255,255,255,0.5);
}


h3 {
	margin-top: 24px;
}

h3.icon {
	height: 75px;
	margin-left: -24px;
	margin-bottom: 0;
	padding-top: 16px;
	padding-left: 80px;
	font-size: 250%;
	text-align: left;
	letter-spacing: 2px;
	background: transparent url(../img/icon_h3_200.png) no-repeat left center;
	background-size: 75px 75px;
}

h3.w {
	background: transparent url(../img/icon_h3_200w.png) no-repeat left center;
	background-size: 75px 75px;
}

h3#whats {
	text-indent: -9999em;
	background: transparent url(../img/logo_seppoukai.png) no-repeat left center;
	background-size: 300px 75px;
	height: 75px;
	margin: 24px;
	padding: 0;
}

h3.prof {
	background: transparent url(../img/icon_h3_200.png) no-repeat left center;
	background-size: 75px 75px;
	height: 75px;
	padding-left: 80px;
	padding-top: 32px;
	font-size: 1.5rem;
	margin-bottom: 3rem;
}


h3.agenda {
	padding: 0;
	font-size: 250%;
	text-align: center;
	letter-spacing: 0px;
	background: transparent;
}


.h3_title_sub {
	font-size: 50%;
	font-weight: normal;
	position: relative;
	top: -0.35em;
	letter-spacing: 2px;
}

div.padding_on {
	padding: 24px;
	padding-bottom: 48px;
}

h4 {
	margin: 0 12px;
	margin-bottom: 68x;
	font-size: 135%;
	font-weight: bold;
	text-align: center;
	padding-bottom: 6px;
	border-bottom: 4px solid #b82931;
}

p {
	padding: 0 12px;
	text-align: left;
}


div.preaching_p {
	position: relative;
	top: -18rem;
	margin-bottom: -18rem;
}
	div.preaching_p p {
		padding: 0;
	}

div.meditation_p {
	color: #fff;
}

.contents_list {
	list-style: none;
}

	.contents_list li {
		border: 1px solid red;
		background: #eee;
		width: 120px;
		height; 100px;
		float: left;
		margin-right: 32px;
	}


.drawer-nav {
	z-index: 60;
}

.drawer-menu li{
	width: 100%;
	border-bottom: 1px solid #ccc;
	height: 4rem;
	line-height: 4rem;
}
	.drawer-menu li a{
		display: inline-block;
		width: 100%;
		text-align: center;
		color: #222;
		text-decoration: none;
		font-weight: bold;
	}
	.drawer-menu li a:link{
		color: #222;
	}
	.drawer-menu li a:hover{
		color: #222;
	}

ul.about {
	list-style: none;
	margin: 0;
	padding: 0;
}

h5.about {
	color: #fff;
	font-weight: bold;
	position: relative;
	z-index: 20;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.75rem;
	margin-top: 5rem;
	margin-bottom: -5rem;
	text-shadow: 0px 0px 4px rgba(0,0,0, 1);
	letter-spacing: 1px;
}
img.about {
	position: relative;
	z-index: 10;
	width: 50%;
	height: auto;
}



.form_bg {
	background: #f0d4d5;
}


.errbox {
	border: 1px solid red;
	background: rgba(255,0,0,0.2);
	color: #c00;
	padding: 16px 32px;
	padding: 12px;
	margin-bottom: 12px;
}
.compbox {
	border: 1px solid green;
	background: rgba(0,255,0,0.2);
	color: #000;
	padding: 16px 32px;
	padding: 12px;
}


dt {
	margin: 0 1rem;
}
dd {
	padding: 0;
	margin: 0 1rem;
	margin-bottom: 1rem;
	font-weight: bold;
}

dd input[type=tel],
dd input[type=email],
dd input[type=text] {
	font-size: 16px;
	width: 100%;
	padding: 2px;
	border: 1px solid #999;
	border-radius: 0px;
	-webkit-appearance: none; 
}

dd textarea {
	font-size: 16px;
	width: 100%;
	height: 8rem;
	padding: 2px;
	background: #fff;
	border: 1px solid #999;
	border-radius: 0px;
	-webkit-appearance: none; 
}

input[type=submit] {
	font-size: 1rem;
	font-weight: bold;
	background: #fff;
	width: 100%;
	height: 3rem;
	padding: 4px 12px;
	border: 1px solid #222;
	border-radius: 4px;
	width: 10rem;
	cursor: pointer;
}
	input[type=submit]:hover {
		background: #eee;
		transition: 0.2s linear;
	}

div.backnumber {
	width: 100%;
}
	.backnumber_box {
	}
		.backnumber_box h4 {
			margin-bottom: 16px;
		}
		.backnumber_box span.backnumber_title {
			cursor: pointer;
			margin-left: 32px;
		}
		.backnumber_box p.backnumber_detail {
			background: rgba(255,255,255,0.6);
			margin: 0 32px;
			padding: 16px;
			margin-bottom: 16px;
			display: none;
			font-size: 85%;
			line-height: 120%;
		}

/*
	
*/

@media ( max-width : 599px ) {
/*
 * mobile size
 */
.no_mobile { display: none; }

h2.top_margin_on_mobile {
	margin-top: 48px;
}

h3.top_margin_on_mobile {
	margin-top: 48px;
}

h4.top_margin_on_mobile {
	margin-top: 32px;
}

div.top {
	float:left;
}
	div.top p {
		font-size: 1.1rem;
		text-shadow: 0px 0px 12px rgba(102,102,102,0.35);
	}

.backnumber_box {
}

	.backnumber_box span.backnumber_title {
		cursor: pointer;
		margin: 0 16px;
		display: inline-block
	}

	.backnumber_box p.backnumber_detail {
		background: rgba(255,255,255,0.6);
		margin: 0 32px;
		padding: 16px;
		margin-bottom: 16px;
		display: none;
		font-size: 85%;
		line-height: 120%;
	}





}

@media ( min-width: 600px ) and ( max-width: 959px)  {
/*
 * tablet size
 */
.no_tablet { display: none; }

h2.top_margin_on_tablet {
	margin-top: 48px;
}

h3.top_margin_on_tablet {
	margin-top: 48px;
}

h4.top_margin_on_tablet {
	margin-top: 32px;
}

p.margin_on {
	padding: 0 32px;
	text-align: left;
}

img.about {
	position: relative;
	z-index: 10;
	width: 75%;
	height: auto;
}

.ind-1 {
	margin-top: 2rem;
	margin-left: 4rem;
}

h1 {
	text-indent: -9999em;
	background: transparent url(../img/logo_seppoukai_l.png) no-repeat center center;
	background-size: 450px 112px;

	position: absolute;
	bottom: calc( 40% - 112px );
	width: 100%;
	height: 112px;
}


h2.top {
	text-align: center;
	position: absolute;
	width: 100%;
	margin: auto;
	bottom: calc( 40% + 6rem );
	font-size: 1.45rem;
	font-weight: bold;
	text-shadow: 0px 0px 12px rgba(102,102,102,0.35);
}

h4 {
	margin: 0 32px;
}


div.top {
	height: 4rem;
	position: absolute;
	bottom: calc( 40% + 6rem + 20% );
	right: 0;
	left: 0;
	text-align: center;
}

	div.top p {
		width: 100%;
		text-align: center;
		font-size: 1.2rem;
		margin: 0;
		text-shadow: 0px 0px 12px rgba(102,102,102,0.35),
			0px 1px 0px rgba(255,255,255,0.15);
	}


div.pos_bottom {
	position: absolute;
	bottom: 20%;
}

dl {
	padding: 16px;
}

dt {
	padding-left: 0px;
	margin-bottom: 12px;
	text-align: right;
	padding-right: 12px;
}





}

@media ( min-width : 960px ) {
/*
 * pc size
 */
.no_pc     { display: none; }

.ind-1 {
	margin-top: 4rem;
	margin-left: 6rem;
}


ul.sns_logo {
	list-style: none;
	position: absolute;
	bottom: 10px;
	left: 60px;
	padding: 0;
}

	ul.sns_logo li {
		float: left;
		line-height: 0.9rem;
		margin-right: 1.6rem;
	}

		ul.sns_logo li img {
				width: 32px;
				height: 32px;
		}


h1 {
	background: transparent url(../img/logo_seppoukai.svg) no-repeat right center;
	background-size: 600px auto;
	text-indent: -9999em;
	width: 600px;
	height: 149px;

	position: absolute;
	bottom: 10px;
	right: 24px;
	
}



h2.top {
	position: absolute;

	text-align: center;
	width: 600px;
	height: 2rem;

	bottom: calc( 10px + 149px + 2rem  + 12% );
	right: 40px;
	font-size: 1.5rem;
	font-weight: bold;

	text-shadow: 0px 0px 12px rgba(102,102,102,0.35),
		1px 1px 0px rgba(255,255,255,0.15);
}

div.top {
	width: 500px;
	height: 4rem;
	position: absolute;
	bottom: calc( 10px + 149px + 2rem  + 12% + 1.5rem + 8% );
	right: calc( 40px + 6rem );
}

	div.top p {
	text-align: right;
		font-size: 1.2rem;
		margin: 0;
		text-shadow: 0px 0px 12px rgba(102,102,102,0.35),
			1px 1px 0px rgba(255,255,255,0.15);
	}

p.margin_on {
	padding: 0 32px;
	text-align: left;
}


ul.menu {
	-webkit-writing-mode: vertical-lr;
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;

	position: absolute;
	top: 0px;
	left: 60px;
	margin: 0;
	
	font-size: 1.2rem;
	list-style: none;
}

	ul.menu li {
		margin-right: 1.2rem;
		line-height: 150%;
	}

	ul.menu li a {
		padding: 10px;
		text-decoration: none;
		color: #000;
		font-weight: bold;
		transition: 0.2s linear;
	}

		ul.menu li a:link {
			color: #000;
			text-shadow: 0px 0px 12px rgba(102,102,102,0.35),
				1px 1px 0px rgba(255,255,255,0.15);
			transition: 0.2s linear;
		}
		ul.menu li a:hover {
			color: #f00;
			text-shadow: 0px 0px 8px rgba(0,0,0,0.4),
				1px 1px 0px rgba(0,0,0,0.1);
			transition: 0.2s linear;
		}


h3 {
	min-height: 80px;
	margin-bottom: 0;
	padding-top: 8px;
	padding-left: 80px;
	font-size: 250%;
	text-align: left;
	letter-spacing: 2px;
	background: transparent url(../img/icon_h3_200.png) no-repeat left 8px;
	background-size: 75px 75px;
}

h4 {
	margin: 0 32px;
}

div.padding {
	padding: 0 5%;
}

p.p_top {
	padding-left: 80px; 
}

div.pos_bottom {
	position: absolute;
	top: 50%;
}

img.about {
	position: relative;
	z-index: 10;
	width: 60%;
	height: auto;
}


.form_bg {
	background: #f0d4d5;
}

dl {
	padding: 16px 32px;
}

dt {
	margin: 0.6rem 0;
	margin-top: 1.2rem;
	padding-right: 0rem;
	text-align: right;
}

dd {
	margin: 1rem 0;
}

.nega_margin_top {
	margin-top: -40px;
}



.page_contents#profile {
	padding: 0;
	background: rgba(255,255,255, 0.7);
	min-height: 100vh;
	max-height: 100vh;
}

div#top_video {
	width: 100%;
	min-height: 100vh;
	max-height: 100vh;
	position: absolute;
	box-sizing: border-box;
	overflow: hidden;
	z-index: -2;
}

div#top_pattern {
	width: 100%;
	min-height: 100vh;
	max-height: 100vh;
	background: rgba(255,255,255,0.6);
	background-image: url(../img/video_pattern33.png);
	position: relative;
	top: 0;
	margin-bottom: -100vh;
	z-index: 3;
}

div#top_pattern2 {
	position: relative;
	width: 100%;
	min-height: 100vh;
	max-height: 100vh;
	background: url(../img/video_pattern2_1.png) no-repeat;
	top: 0;
	margin-bottom: -100vh;
	z-index: 4;
}

video {
	top: 0;
	position: absolute;
	overflow: hidden;
	min-width: 100%;
	min-height: 100%;
	z-index: 2;
}
div.buff {
	position: absolute;
	height: 100%;
	border: 1px solid red;
	z-index: 2;
}

.front {
	position: relative;
	z-index: 40;
}


}
