@charset "utf-8";
#navigation,#wrapper,input#nav-menu[type="radio"] + label {
transition: 0.3s;
}
body {
background-color: rgba(232,238,233,0.80);
background-image:url(../IMG/body-bg.png);
background-attachment: fixed;
background-position: center bottom;
background-repeat: repeat;
}
h1 {
font-size: 90%;
padding: 0 15px;
line-height: 25px;
color: #3ac1fe;
position: fixed;
z-index: 6;
mix-blend-mode: multiply;
}
/***************************************メニュー**/
input#nav-menu[type="radio"] {
	display: none;
}
input#nav-menu[type="radio"] + label {
	background-color: rgba(58,193,254,1.00);
	color: rgba(0,0,0,0.40);
	width: 70px;
	height: 70px;
	position: fixed;
	top: 0px;
	right: 0;
	z-index: 10000;
	background-image: url(../IMG/icon-menu-btn.png);
	background-repeat: no-repeat;
	background-position: center center;
background-size: 50% auto;
	box-shadow: rgba(0,0,0,0.20) -4px 0px 8px 0px;
}
input#nav-menu[type="radio"] + label:hover {
	cursor: pointer;
}
input#nav-menu[type="radio"]:checked + label {
	bottom: 25px;
	right: 300px;
	background-color: rgba(58,193,254,0.80);
	color: white;
	background-image: url(../IMG/icon-menu-x.png);
	background-repeat: no-repeat;
	background-position: center center;
}
input#nav-menu[type="radio"] + label + #navigation {
	width: 300px;
	height: 100%;
	padding: 0px;
	margin: 0px;
	position: fixed;
	right: -300px;
	bottom: 0;
	z-index: 10000;
	background-color: rgba(58,193,254,0.80);
}
input#nav-menu[type="radio"]:checked + label + #navigation {
	right: 0%;
	bottom: 0;
}
#navigation nav h3 {
	color: white;
	font-size: 85%;
	text-align: center;
	padding: 10px;
	background-color: rgba(1,160,234,1.00);
}
#navigation ul {
	width: 100%;
}
#navigation ul li a {
	background-color: rgba(58,193,254,1.00);
	display: block;
	width: auto;
	height: 50px;
	line-height: 50px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	font-size: 100%;
	padding: 0 10px;
	border-top: rgba(0,0,0,0.05) 1px solid;
	border-left: rgba(0,0,0,0.05) 1px solid;
	border-right: rgba(255,255,255,0.05) 1px solid;
	border-bottom: rgba(255,255,255,0.05) 1px solid;
	box-sizing: border-box;
}
#navigation ul li a:hover {
	background-color: rgba(177,14,36,1.00);
}
/***************************************Wrapper*/
input#nav-menu[type="radio"] + label + #navigation + #wrapper{
position: absolute;
top: 0;
left: 0;
z-index: 5;
padding: 25px 0 50px 0;
width: 100%;
}
input#nav-menu[type="radio"]:checked + label + #navigation + #wrapper{
left: -300px;
}
#wrapper div.info {
height:calc(100vw / 1.77);
font-size: 250%;
color: white;
box-sizing: border-box;
padding: 20% 0 0 0;
width: 100%;
position: absolute;
top: 0;
}
#wrapper div.info p,
#wrapper div.info h2 {
padding: 0 10px 0 ;
text-align: center;

}
/***********Wrapper Header*/
header {
width: 100%;
padding: 0px 15px;
box-sizing: border-box;
position: fixed;
z-index: 10;
}
header div#logo {
height: 30px;
position: absolute;
top:0px;
left: 15px;

	-webkit-animation-name: logoAnime;
	-webkit-animation-delay: 0s;
	-webkit-animation-duration: 2s;
	-webkit-animation-iteration-count: 1;
}
header div#logo a img {
width: auto;
height: 100%;
}
/***********Wrapper #Main*/
#main {
position: absolute;
top:calc(100vw / 2.5);
right: 0;
left: 0;
width: 70vw;
padding: 50px 60px;
box-sizing: border-box;
margin: auto;
z-index: 9;
}
#main section {
margin: 0px 30px 90px;
width: auto;
background-color: rgba(255,255,255,1.00);
color: #777;
background-size: auto 360px;
position: relative;
border-top: 4px solid rgba(254,245,33,1.00);
}
#main section a {
	color: rgba(58,193,254,1.00);
}
#main section:after {
width: 0;
height: 0;
border-style: solid;
border-width: 30px 30px 0 30px;
border-color: rgba(255,255,255,1.00) transparent transparent transparent;
content: "";
position: absolute;
bottom: -30px;
left: 0;
right: 0;
margin: auto;
}
#main section#media {
}
#main section#lc {}
#main section#cafe {
}
#main section#hp {
}
#main section#re {
}
#main section#topix {
}
#main section > div {
	padding: 30px 0;
	min-height: 340px;
}
#main section > div > h2 {
	text-align: center;
	font-size: 130%;
	margin: 0 30px 20px;
	background-color: rgba(0,0,0,0.17);
	border-radius: 4px;
	padding: 10px;
	color: #FFFFFF;
	border: white 1px solid;
}
#main section > div > p {
line-height: 1.7em;
font-size: 90%;
padding: 10px 20px;
text-align: center;
}
#main section > div div.circle {
width: 170px;
height: 170px;
border-radius: 100% ;
position: absolute;
bottom: 40px;
right: 0;
left: 0;
overflow:hidden; 
margin: auto;
}
#main section > div div.circle img {
height: 100%;
width: auto;
}
/***********Wrapper #Main SubPage*/
#main > .sub-section {
background-color: rgba(255,255,255,0.95);
margin: 0 auto 50px;
padding: 0 0 60px;
width: auto;
max-width: 640px;
box-sizing: border-box;
box-shadow: 100px 50px 50px 0px rgba(0,0,0,0.09);
}
#main > .sub-section > img {
	width: 100%;
	height: auto;
}
#main > .sub-section h3 {
	font-size: 260%;
	padding: 20px;
}
#main > .sub-section h4 {
	font-size: 160%;
	padding: 20px 20px 10px;
	color: rgba(58,193,254,1.00);
}
#main > .sub-section p {
	padding: 0 20px 20px;
	line-height: 1.7em;
}
#main > .sub-section dl {
	margin:30px 20px;
}
#main > .sub-section dl dt {
	font-size: 110%;
	padding: 5px 0;
	border-bottom: 1px dashed rgba(58,193,254,1.00);
}
#main > .sub-section dl dd {
	padding: 10px 1em;
	margin: 0 0 10px;
}
#main > .sub-section ol,
#main > .sub-section ul {
	padding: 20px 40px;
}
#main > .sub-section ol > li,
#main > .sub-section ul > li {
	list-style: circle;
	margin: 0 0 10px 0;
	font-size: 90%;
}
/***********Video **/
video {
position: absolute;
z-index: -1000;
top: 0px;
width: 100%;
height: auto;
background-color: rgba(248,248,248,1.00);
border-bottom: rgba(0,0,0,0.20) 1px solid;

	-webkit-animation-name: wrapAnime;
	-webkit-animation-delay: 0s;
	-webkit-animation-duration: 2s;
	-webkit-animation-iteration-count: 1;
}
div#video {
display: none;
}
/***********Wrapper Footer*/
footer {
font-size: 85%;
border-top:3px solid rgba(254,245,33,1.00);
padding: 10px;
position: fixed;
bottom: 0;
left: 0;
z-index: 9;
}
footer #cr {
font-size: 70%;
text-align: center;
}
/***************************************お問合せフォーム*/
.mail-box {
	padding:30px 20px !important;
	max-width: 786px;
}
#mail-Table {
	border-collapse: collapse;
	width: 90%;
	margin: auto;
}
#mail-Table tr {
}
#mail-Table tr th,
#mail-Table tr td {
	display: block;
}
#mail-Table tr th {
	font-size: 100%;
	padding: 5px 0;
	border-bottom: 1px dashed rgba(58,193,254,1.00);
}
#mail-Table tr td {
	padding: 10px 0 30px;
}
#mail-Table input, #mail-Table select, #mail-Table textarea {
	font-size: 16px;
	line-height: 40px;
	width: 100%;
}
#mail-Table input, #mail-Table select {
	height: 40px;
}
#mail-Table textarea {
	height: 120px;
	width: 100%;
}
input[type="submit"] {
border: rgba(0,0,0,0.15) 1px solid;
border-bottom: rgba(0,0,0,0.15) 3px solid;
border-radius: 3px;
background-color: rgba(203,6,33,1.00) ;
color: white;
width: 90%;
line-height: 60px;
}
/*anime*********************/
@-webkit-keyframes wrapAnime {
 0% {
 opacity:0.0;
}
 100% {
 opacity:1.0;
}
}
@-webkit-keyframes logoAnime {
 0% {
height: 40px;
top:50vh;
left: 40vw;
}
50%{
height: 10px;
top:50vh;
left: 50vw;
}
 100% {
height: 30px;
top:0px;
left: 15px;
	}
}