@charset "utf-8";


/*//////////////////////////////////////////////////////////////////////////////////
	@common
///////////////////////////////////////////////////////////////////////////////////*/

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}

header,main,section,article,footer {
	margin: 0px;
	padding: 0px;
}

html {
	overflow-y: scroll;
	position: relative;
	width: 100%;
	height: 100%;
}

img ,
video {
	vertical-align: text-bottom;
	max-width: 100%;
	height: auto;
}

/*--------------------------------------------------------*/

h2,
h3,
h4,
h5,
h6,
p,
ul,
ol {
	margin-bottom: 1em;
}

ul,
ol {
	padding-left: 1.5em;
}

li {
	margin-bottom: 0.25em;
}

/* ------------------------- */

a {
	color: #3C89C0;
}

a:hover {
	color: #F00;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

body {
	width: 100%;
	height: 100%;
	background-color: #A60000;
	position: relative;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	color: rgba(227,216,188,1.00);
	text-align: left;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

nav ul ,
.wfix {
	position: relative;
	display: block;
	clear: both;
	margin-right: auto;
	margin-left: auto;
	max-width: 1200px;
	width: 90%;
}

.wfix:after {
	content: "";
	display: table;
	clear: both;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#loading {
	position: fixed;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/loading_animation.gif);
	z-index: 1000;
	display: block;
	background-color: #000000;
}

/* ------------------------- */

#container {
	width: 100%;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

header {
	position: relative;
	width: 100%;
}

/* ------------------------- */

header h1 {
	display: block;
	text-align: center;
	z-index: 2;
    height: 75%;
	padding-top: 2%;
/*
	max-height: 450px;
*/
}

header h1 img {
	max-width: auto;
	max-height: 100%;
}

/* ------------------------- */

header #info {
	position: absolute;
	z-index: -1;
	top: 50%;
	left: 0%;
	width: 100%;
/*
	background-image: url(../img/visual/visual_line_texture.png);
	background-repeat: no-repeat;
	background-position: center center;
*/
}

/* ------------------------- */

#vTxt  {
	float: left;
	display: block;
	width: 31%;
    max-width: 300px;
	margin: 0em;
	text-align: center;
}

#vTel  {
	float: right;
	display: block;
	width: 31%;
    max-width: 300px;
	margin: 0em;
	text-align: center;
}

/* ------------------------- */

#vPhoto {
	position: absolute;
	width: 100%;
	bottom: 5%;
	left: 0%;
	z-index: -1;
	text-align: center;
}

#vPhoto {
	height: 55%;
}

#vPhoto img {
	max-width: auto;
	max-height: 100%;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

nav {
	display: block;
	width: 100%;
	position: fixed;
	top: 0px;
	left: 0px;
	z-index: 2;
	background-color: rgba(0,0,0,0.20);
	-webkit-box-shadow: 0px 3px 2px rgba(0,0,0,0.50);
	box-shadow: 0px 3px 2px rgba(0,0,0,0.50);
	background-image: url(../img/stripe.png);
}

nav:after {
	content: "";
	display: table;
	clear: both;
}

/* ------------------------- */

nav ul {
	position: relative;
	list-style-type: none;
	margin: 0.25em auto;
	padding: 0em;
	width: 90%;
}

nav ul:after {
	content: "";
	display: table;
	clear: both;
}

nav li {
	display: block;
	margin: 0.5%;
	float: left;
	text-align: left;
	letter-spacing: 0px;
	width: 19%;
}

nav li a {
	display: block;
	width: 100%;
	height: 100%;
	color: #FFFFFF;
	text-align: center;
	text-decoration: none;
	border-radius: 5px;
	padding: 1em 0.5em;
	background-color: rgba(0,0,0,1.00);
	background-image: -webkit-linear-gradient(270deg,rgba(30,30,30,1.00) 0%,rgba(10,10,10,1.00) 100%);
	background-image: -moz-linear-gradient(270deg,rgba(30,30,30,1.00) 0%,rgba(10,10,10,1.00) 100%);
	background-image: linear-gradient(180deg,rgba(30,30,30,1.00) 0%,rgba(10,10,10,1.00) 100%);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: clip;
}

nav li a.loc {
	color: #F00;
	text-decoration: none;
}

nav li a:hover {
	color: #F00;
	text-decoration: none;
}

nav li#blank {
	display: none;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

main {
	width: 100%;
	position: relative;
	margin-top: 8em;
	border-top: 1px solid rgba(0,0,0,0.6);
}

main:after {
	content: "";
	display: table;
	clear: both;
}

/*---------------------*/

article {
	position: relative;
	border-top: 10px solid rgba(0,0,0,0.25);
	border-bottom: 1px solid rgba(255,255,255,0.15);
}

article:after {
	content: "";
	display: table;
	clear: both;
}

/*---------------------*/

.wrap {
	margin-top: 4em;
	margin-bottom: 4em;
}

.wrap:after {
	content: "";
	display: table;
	clear: both;
}

/*---------------------*/

.content {
	clear: both;
}

/*---------------------*/

.contentL {
	width: 60%;
}

.contentR {
	position: absolute;
	width: 35%;
	height: 100%;
	top: 0px;
	right: 0px;
	border-radius: 7px;
}


/*--------------------------------------------------------
#schedule 
--------------------------------------------------------*/

#schedule .contentL {
	float: left;
}

#schedule .contentR {
	position: relative;
	float: right;
	top: inherit;
	right: inherit;
	padding: 2em;
	background-image: url("../img/kami_middle.png");
	color: rgba(74,47,24,1.00);
}

#schedule .contentR h3 {
	color: rgba(74,47,24,1.00);
	text-shadow: 1px 1px rgba(0,0,0,0.20);
	border-bottom: 1px dotted rgba(96,64,36,0.50);
	padding-bottom: 0.5em;
}


/*--------------------------------------------------------
#access 
--------------------------------------------------------*/

#access .contentL:first-child{
	margin-bottom: 4em;
}

embed {
	width: 100%;
	height: 100%;
}

#map {
	width: 100%;
	height: 100%;
	border-radius: 7px;
}

#pmap {
	width: 100%;
	height: 500px;
	border-radius: 7px;
}

/*--------------------------------------------------------
#topics 
--------------------------------------------------------*/

article#topics .contentR {
	background-image: url(../img/img2.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

/*--------------------------------------------------------
#menus 
--------------------------------------------------------*/

article#menus .contentR {
	background-image: url(../img/img1.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

article#menus #menus_img {
	width: 100%;
	position: absolute;
	z-index: -1;
	left: 0%;
	top: 0%;
}

article#menus .contentL {
	padding-top: 200px;
}


/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

h2 {
	display: block;
	font-size: 1.8em;
	line-height: 1;
	letter-spacing: 0em;
	margin: 0px;
	padding: 2em 0em;
	color: rgba(255,255,255,1.00);
	background-color: rgba(0,0,0,0.9);
	font-weight: normal;
	-webkit-box-shadow: inset 0px -2px 2px rgba(0,0,0,0.4);
	box-shadow: inset 0px -2px 2px rgba(0,0,0,0.4);
	background-image: url(../img/stripe.png);
/*
*/
}

h3 {
	display: block;
	position: relative;
	font-size: 1.5em;
	font-weight: normal;
	color: rgba(255,255,255,1.00);
}

h4 {
	display: block;
	position: relative;
	font-size: 1.2em;
	font-weight: normal;
	color: rgba(255,206,0,1.00);
}



/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

footer {
	clear: both;
	width: 100%;
	position: relative;
	background-color: #000;
	color: #CCC;
	padding : 5em 0em;
	background-image: url(../img/stripe.png);
	-webkit-box-shadow: inset 0px 3px 3px rgba(0,0,0,0.60);
	box-shadow: inset 0px 3px 3px rgba(0,0,0,0.60);
	border-top: 20px solid rgba(0,0,0,0.25);
	border-bottom: 20px solid rgba(0,0,0,1.00);
}

/* ----------------- */

address {
	display: inline-block;
	background-image: url(../img/author.png);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: 8em auto;
	padding-left: 9em;
	min-height: 3em;
	text-decoration: none;
	font-style: normal;
}

address>*:last-child {
	margin-bottom: 0px;
}

/* ----------------- */

footer #name {
	display: block;
	font-size: 1.2em;
	font-weight: normal;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

/* ----------------- */

footer a {
	color: inherit;
}

/* ----------------- */

#address {
	display: block;
	float: left;
	margin-right: 1em;
	margin-bottom: 0px;
}

#tel {
	display: block;
	float: left;
	margin-bottom: 0px;
}

/* ----------------- */

#copyright {
	clear: both;
	margin-top: 1em;
	font: 0.9em "Times New Roman", Times, serif;
	letter-spacing: 0.2em;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

#next {
	display: block;
	position: absolute;
    bottom: 3%;
	left: 0px;
	width: 100%;
	height: 40px;
	margin: 0px;
	text-align: center;
}

#next a {
	opacity: 0.5;
}

#next a:hover {
	opacity: 1;
}

/* ----------------- */

#up {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0px;
	position: fixed;
	right: 2%;
	bottom: 4%;
	z-index: 10;
}

#up a {
	opacity: 0.5;
}

#up a:hover {
	opacity: 1;
}

/* ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */

.nowrap {
	white-space: nowrap;
	display: inline-block;
}

.large {
	font-size: 130%;
}

.small {
	font-size: 80%;
	letter-spacing: 0em;
}

.center {
	text-align: center;
}

.green {
	color: #9BFF9B;
}

.orange {
	color: #FFCC99;
}

.red {
	color: #F00;
}

.box {
	padding: 10px;
	border: 3px solid #666;
	width: 100%;
}



/****************************************************************************************************************************
@media screen
****************************************************************************************************************************/

@media (min-width:800px){

.h header h1 {
    height: 50%;
	padding-top: 5%;
}

.h #vPhoto {
	height: 50%;
	bottom: inherit;
	top: 30%;
}

.h header #info {
	background-color: #000000;
	padding: 3em 5%;
	width: 100%;
	top: inherit;
    bottom: 10%;
	left: 0%;
}

.h #vTxt,
.h #vTel {
    width: 48%;
}


}

@media (max-width:800px){

header h1 {
    height: 60%;
	padding-top: 5%;
}

.w header h1 {
    height: 82%;
	padding-top: 1%;
}

header h1 img {
	max-width: auto;
	max-height: 100%;
}

/* ----------------- */

#vPhoto {
	height: 50%;
	bottom: inherit;
	top: 25%;
}

.w #vPhoto {
	height: 60%;
}

#vPhoto img {
	max-width: auto;
	max-height: 100%;
}

/* ----------------- */

header #info {
    width: 80%;
    bottom: 12%;
	top: inherit;
	left: 10%;
}

.w header #info {
	width: 100%;
	bottom: 35%;
	left: 0%;
}

.h header #info {
	background-color: #000000;
	padding: 1em 5%;
	width: 100%;
    bottom: 10%;
	left: 0%;
}

/* ----------------- */

#vTxt,
#vTel {
    width: 48%;
}

.w #vTxt,
.w #vTel {
    width: 31%;
}

/* ----------------- */

.w nav li a {
    padding: 0.5em 0.5em;
}

/* ----------------- */

#next {
    bottom: 3%;
}

/* ----------------- */

h2 {
    padding: 1em 0em;
}

/* ----------------- */

.contentL ,
.contentR {
	clear: both;
	position: relative;
    width: 100%;
	float: none;
	margin-bottom: 4em;
}

/* ----------------- */

#map ,
#pmap {
	height: 400px;
}

.w #map ,
.w #pmap {
	height: 300px;
}

/* ----------------- */

article#topics .contentR ,
article#menus .contentR {
	height: 300px;
}

.w article#topics .contentR ,
.w article#menus .contentR {
	height: 200px;
}

/* ----------------- */

}

@media (max-width:500px){


header h1 {
    height: 60%;
	padding-top: 10px;
}

header h1 img {
	max-width: auto;
	max-height: 100%;
}

header #info {
	top: inherit;
	width: 100%;
    bottom: 10%;
	left: 0%;
    background-color: rgb(0,0,0);
    padding: 1em 0em;
}

#vTxt {
    float: none;
    width: auto;
    max-width: 80%;
    margin: 0em auto;
    text-align: center;
}

#vTel {
    float: none;
    width: auto;
    max-width: 80%;
    margin: 0em auto;
    text-align: center;
}

#vPhoto {
	height: 50%;
	bottom: inherit;
	top: 8%;
}

#vPhoto img {
	max-width: auto;
	max-height: 100%;
}

/* ----------------- */

nav ul,
.wfix {
    width: 85%;
}

/* ----------------- */

nav {
	position: relative;
	top: inherit;
	left: inherit;
	padding: 50% 0% 50% 0%;
	background-image: url(../img/contents.png);
	background-color: inherit;
	box-shadow: none;
	background-repeat: no-repeat;
	background-position: center 10%;
	background-size: 35% auto;
}

nav li {
	width: 32.3%;
}

nav li a {
    padding: 0em;
	border-radius: 7px;
	background-image: -webkit-linear-gradient(270deg,rgba(50,50,50,1.00) 0%,rgba(0,0,0,1.00) 100%);
	background-image: -moz-linear-gradient(270deg,rgba(50,50,50,1.00) 0%,rgba(0,0,0,1.00) 100%);
	background-image: linear-gradient(180deg,rgba(50,50,50,1.00) 0%,rgba(0,0,0,1.00) 100%);
	color: rgba(255,255,255,1.00);
}

nav li#blank {
	display: block;
	background-image: url(../img/visual_photo.png);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 7px;
}

/* ----------------- */

#next {
    bottom: 2%;
}

/* ----------------- */

main {
    margin-top: 0px;
}

/* ----------------- */

h2 {
	font-size: 1.5em;
}

/* ----------------- */

article#topics .contentR ,
article#menus .contentR {
	height: 200px;
}

/* ----------------- */

address {
	background-position: center top;
	background-size: auto 4em;
	padding-left: 0em;
	padding-top: 5em;
	text-align: center;
	width: 100%;
}

/* ----------------- */

#address {
	float: none;
	margin-right: 0em;
	margin-bottom: 0px;
	text-align: center;
}

#tel {
	float: none;
	margin-bottom: 0px;
	text-align: center;
}

/* ----------------- */

#copyright {
	margin-top: 3em;
	text-align: center;
}

/* ----------------- */

}


#admin header h1 {
    height: 40%;
	padding-top: 2%;
/*
	max-height: 450px;
*/
}

#admin header h1 img {
	max-width: auto;
	max-height: 100%;
}

.admin h3 ,
.admin p {
	text-align: center;
}

#admin form {
	display: inline;
}

.callback {
	display: block;
	text-align: center;
	margin-bottom: 2em;
	padding: 2em 1em;
	background-color: #000000;
}

.callback:after {
	content: "";
	display: table;
	clear: both;
}

input,
textarea {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	
	font-size: 1em;
}

input[type="text"],
input[type="password"]{
	padding: 0.25em;
}

input[type="button"],
input[type="reset"],
input[type="submit"]{
	padding: 0.25em 1em;
}

#input_pass {
	width:12em;
}

textarea {
	width: 100%;
	max-width: 100%;
	min-width: 100%;
	margin-bottom: 1em;
}

.preview_title {
	margin-top: 2em;
}

/*//////////////////////////////////////////////////////////////////////////////////
	END
///////////////////////////////////////////////////////////////////////////////////*/
