@charset "UTF-8";


/* ------------ common ------------ */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, /*ol, ul, li,*/
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}

/* Basic CSS */
html {
  -webkit-text-size-adjust: none; /* no-change fontsize for tablet w-h */	
  -webkit-font-smoothing: antialiased;
  font-family: "じゅん 501" , "メイリオ" , Meiryo , "ヒラギノ角ゴPro W6" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-s;
}

html { }

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, copyright {
    display: block;
}

/**, no -padding effect */
*, *:before, *:after {
	-webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}


a {
	-webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -ms-transition: 0.3s;
    transition: 0.3s;
}



article,aside,canvas,details,figcaption,figure,
footer,header,hgroup,menu,nav,section,summary {
	display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

ins {
    background-color:#ff9;
    text-decoration:none;
}

mark {
    background-color:#ff9;
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted #000;
    cursor:help;
}



hr {
    display:block;
	clear:both;
    height:1px;
    border:0;
    border-top:1px solid #ccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}


p {
	color: #555;
	
}

ul li,ol li {
	color: #555;
}

.clearfix {
	content: "";
	clear: both;
	display: block;
}


.mincho {
	/*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-family: "リュウミン B-KL";*/
}

.gothic {
	/*font-family: "じゅん 501" , "メイリオ" , Meiryo , "ヒラギノ角ゴPro W6" , "Hiragino Kaku Gothic Pro" , "ＭＳ Ｐゴシック" , sans-s;*/
}


a img:hover
 {
	opacity: 0.8;
	filter: alpha(opacity=80);
	transition: 0.3s ease-in-out;
}

/* --- body --- */

body {
	color: #333;
	font-size:100%;
	margin:0;
	padding:0;
	text-align: left;

    position: relative;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -o-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
}





#wrap {
	display: block;
	margin:0;
	width:100%;
	height:auto;
}
	/* inner */
	.inner {
		margin:0 auto;
		width:1100px;
		height:auto;
		position: relative;
        overflow: hidden;
	}
	
	

	@media screen and (max-width:768px) {
	
		/* inner */
		.inner {
			width:100%;
		}
		
	} /* /@media */
	

/* ---------- header ---------- */

header#header {
	width: 1100px;
	height:144px;
	margin : 0 auto;
	padding: 0;
	position:relative;
    /*background: #ccc;*/
	/*border:1px solid #f00;*/
}
header#header h1  {
    display:block;
    width:50%; 
	height:auto;
    position: absolute;
    top: 20px;
    left: 20px;
}
	header#header h1 a img  {
		width:302px; height:auto;
		display: block;
		margin-bottom: 12px;
	}
		header#header h1 a  {
			display:block;
			width:auto;
			height:auto;
			text-decoration: none;
			font-size: 32px;
			line-height: 1.2;
			color: #333;
		}

	header#header p  {
		display:block;
		width:auto;
		height:auto;
		text-decoration: none;
		position: absolute;
		font-size: 11px;
		line-height: 1.3;
		top: 110px;
		left: 20px;
	}
    header h1:hover
     {
        opacity: 0.8;
        filter: alpha(opacity=80);
        transition: 0.3s ease-in-out;
    }


	@media screen and (max-width:768px) {
	
		header#header {
			width:auto;
			height:auto;
			margin : 0;
			padding: 0;
			position:relative;
		}

			header#header h1  {
				display:block;
				width:100%;
				height:auto;
				position: static;
			}
				header#header h1 a img  {
					width:80%;
					height:auto;
					display: block;
					margin-bottom: 8px;
				}
					header#header h1 a  {
						display:block;
						width:100%;
						padding: 20px 20px 8px;
						height:auto;
						text-decoration: none;
						font-size: 5vw;
						line-height: 1.2;
						color: #333;
					}

				header#header p  {
					display:block;
					width:100%;
					height:auto;
					text-decoration: none;
					position: static;
					font-size: 2.2vw;
					line-height: 1.3;
					padding: 0 20px 8px;
				}
				header h1:hover
				 {
					opacity: 1;
					filter: alpha(opacity=100);
				}
			
	} /* /@media */




/* --- functions --- */

	div#functions{
		width:60%;
		height:80px;
		margin:  0;
        padding: 0;
        position: absolute;
		top: 30px;
        right: 20px;
	}
		#functions ul{
			display: flex;
			justify-content: space-between;
			margin:  0;
            padding: 0;
		}
		#functions ul li {
			list-style:none;
			flex: 1;
			margin-left: 1px;
		}		
		#functions ul li:first-child {
			margin-left: 0;
		}
	
		#functions ul li a {
			height: 80px;
			font-size: 14px;
			line-height: 1.4;
			text-decoration: none;
			text-align: center;
			color: #fff;
		}
                #functions li a:hover {
                    opacity: 0.8;
                    filter: alpha(opacity=80);
                    -moz-opacity: 0.8;
                }

					div#functions li a img {
						/*padding-right: 20px;*/
						width: 10%;
						height: auto;
						margin-right: 12px;
					}
			
            /* --- btn-overview --- */
            
            div#functions li.btn-overview a {
                background: #9A001B;
				display: flex;
				justify-content: center;
				align-items: center;
				
            }
            /* --- btn-guide 20210830n2added --- */
            
            div#functions li.btn-guide a {
                background: #3A2D84;
				display: flex;
				justify-content: center;
				align-items: center;
            }

            /* --- btn-contact --- */

            div#functions li.btn-contact a {
                background: #9A001B;
				display: flex;
				justify-content: center;
				align-items: center;
            }
			
            /* --- btn-tour --- */

            div#functions li.btn-tour a {
                background: #3A2D84;
				display: flex;
				justify-content: center;
				align-items: center;
            }


	@media screen and (max-width:768px) {
	
		div#functions{
			width:100%;
			height:40px;
			margin:  0;
			padding: 0;
			position: static;
		}
			#functions ul{
				display: flex;
				justify-content: space-between;
				margin:  0;
				padding: 0;
			}
			#functions ul li{
				list-style:none;
				flex: 1;
			}		


			#functions ul li a {
				height: 40px;
				font-size: 11px;
				line-height: 1;
				text-decoration: none;
				text-align: center;
				color: #fff;
			}
					#functions li a:hover {
						opacity: 0.8;
						filter: alpha(opacity=80);
						-moz-opacity: 0.8;
					}

	} /* /@media */




/* ---------- article are written at entry.css ---------- */






/* -------------------- footer  -------------------- */

footer#footer {
	clear: both;
	width:100%;
	height: auto;
	margin :0;
	padding: 0;
	
	border-top: 4px solid #d1ad32;
	box-shadow:0px 0px 6px -3px #000;
}

/* footer-nav on nav.css */


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



section#footer-logo {
	padding: 34px 0;
	text-align: center;
}
	section#footer-logo h1 {	
		display: block;
		color: #fff;
		font-size: 18px;
	}
	section#footer-logo img {	
		display: block;
		margin: 34px auto 0;
		padding: 0;
		width: auto;
		height: auto;
	}





	#footer-sub {
			display:block;
			width:100%;
			height:auto;
			margin :0 auto;
			padding:60px 0;
			text-align:center;
			background: #fff;
			letter-spacing: 2px;
		}
		#footer-sub a {	
			display: block;
			text-decoration:none!important;
			color: #333!important;
		}
			#footer-sub a img {	
				display: block;
				margin: 0 auto 16px;
				padding: 0;
				width: auto;
				height: auto;

			}
				#footer-sub a strong {
					display: block;
					font-size: 16px;
					line-height: 1.2;
					margin: 0 auto 40px;
					padding: 0;
				}
					#footer-sub address {
						display: flex;
            width: 900px;
						margin: 0 auto 30px;
						padding: 0;
            justify-content: space-around;
            
					}
					#footer-sub address p {
						margin-top: 0;
						font-size: 1rem;
						line-height: 3;
						font-style: normal!important;
					}	
						#footer-sub copyright {
							display: block;
							font-size: 10px;
							line-height: 1.4;
							margin: 0 auto 8px;
							padding: 0;
						}



	@media screen and (max-width:768px) {
	
		/* ---------- footer ---------- */

		footer#footer {
			clear: both;
			width:100%;
			height: auto;
			margin :0;
			padding:0;
		}
		
					#footer-sub address {
            display: block;
						width: 100%;
						margin: 0 auto 30px;
						padding: 0;
            text-align: center;
					}
					#footer-sub address p {
            margin-top: 1rem;
						font-size: 0.9rem;
            line-height: 1.3;
						font-style: normal!important;
					}	
	
	} /* /@media */


/* ---------------------------------------- */
/* ------------- flex layout -------------- */
/* ---------------------------------------- */

.flexLayout {
    display: flex;
    width:100%;
    height: auto;
}

  /* --justify-content-- */
    .jc-c { justify-content: center; }
    .jc-fs { justify-content: flex-start; }
    .jc-fe { justify-content: flex-end; }
    .jc-sa { justify-content: space-around; }
    .jc-sb { justify-content: space-between; }

  /* --align-items-- Align to the column*/
    .ai-b { align-items: baseline; }
    .ai-c { align-items: center; }
    .ai-fe { align-items: flex-end; }
    .ai-fs { align-items: flex-start; }
    .ai-s { align-items: stretch; }

  /* --align-content-- Align to the row*/
    .ac-c { align-content: center; }
    .ac-fe { align-content: flex-end; }
    .ac-fs { align-content: flex-start; }
    .ac-sa { align-content: space-around; }
    .ac-sb { align-content: space-between; }
    .ac-s { align-content: stretch; }

  /* --flex-direction-- */
    .fd-c { flex-direction: column; }
    .fd-cr { flex-direction: column-reverse; }
    .fd-r { flex-direction: row; }
    .fd-rr { flex-direction: row-reverse; }

 .flexLayout div img,
 .flexLayout figure img {
        display: block;
        width:100%;
        height: auto;
        margin :0;
        padding: 0;
    }


	  
    .item100 {
        width:100%;
    }
    .item64 {
        width:64%;
    }
    .item60 {
        width:60%;
    }
    .item50 {
        width:50%;
    }
    .item48 {
        width:48%;
    }
    .item44 {
         width:44%;
    }
    .item40 {
         width:40%;
    }
    .item34 {
         width:34%;
    }
    .item30 {
         width:30%;
    }


/* for MO */

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

.flexLayout {
    display: block;
    width:100%;
    height: auto;
}

  /* --justify-content-- */
    .jc-c { justify-content: center; }
    .jc-fs { justify-content: flex-start; }
    .jc-fe { justify-content: flex-end; }
    .jc-sa { justify-content: space-around; }
    .jc-sb { justify-content: space-between; }

  /* --align-items-- Align to the column*/
    .ai-b { align-items: baseline; }
    .ai-c { align-items: center; }
    .ai-fe { align-items: flex-end; }
    .ai-fs { align-items: flex-start; }
    .ai-s { align-items: stretch; }

  /* --align-content-- Align to the row*/
    .ac-c { align-content: center; }
    .ac-fe { align-content: flex-end; }
    .ac-fs { align-content: flex-start; }
    .ac-sa { align-content: space-around; }
    .ac-sb { align-content: space-between; }
    .ac-s { align-content: stretch; }

  /* --flex-direction-- */
    .fd-c { flex-direction: column; }
    .fd-cr { flex-direction: column-reverse; }
    .fd-r { flex-direction: row; }
    .fd-rr { flex-direction: row-reverse; }

 .flexLayout div img,
 .flexLayout figure img,small {
        display: block;
        width:100%;
        height: auto;
        margin :0;
        padding: 0;
    }

 .item100, .item64, .item60, .item50, .item48, .item34, .item30 {
   width:100%;
   margin :0 0 1rem;
  }

}



/* link color */

a:link        { color:rgba(37,3,136,1.00); text-decoration: underline; }
a:visited     { color: rgba(110,61,158,1.00); text-decoration: underline; }
a:hover       { text-decoration: none; }
a:active      { text-decoration: underline; }



/* brmo brpc */

.brmo { display: none; }
.brpc { display: inline; }

	@media screen and (max-width:768px) {
		.brmo { display: inline; }
		.brpc { display: none; }
	}