html {
  -webkit-text-size-adjust: none;
  -webkit-font-smoothing: aliased;
}
body {
	margin: 0;
	padding: 0;
	background-color:#f4f4f4;
	font: 16px/1.5 "Helvetica Neue", Arial, Helvetica, Geneva, sans-serif;
}
img {
max-width :100%; /* フルードイメージへの対応 */
vertical-align: middle; /* 追加箇所 */
border: 0
}
.margin10 {
	margin-top:10px;
}
.margin20 {
	margin-top:20px;
}
.margin50 {
	margin-top:50px ;
}
.padding10 {
	padding:10px;
}
.padding60 {
	padding-top:60px;
}
.center {
    text-align: center;
}
header {
	position:relative;
}
header nav {
	text-align: center;
	background: #efefef;
}
header nav ul {
	margin: 0;
	padding: 1em;
	list-style-type: none;
}
header nav ul li {
	display: inline;
	margin-left: 1em;
}
header nav ul li:first-child {
	margin-left: 0;
}
header nav ul li ul {
	display: none;
}
.navlogo{
	position:absolute;
	top:6px;
	left:3px;
	padding:0px;
}
header p span {
}
a {
	color: #f77564;
	text-decoration:none;
}
a:hover {
	color: #f77564;
}
a, a:hover {
	-o-transition: color 0.25s ease-in;
	-webkit-transition: color 0.25s ease-in;
	-moz-transition: color 0.25s ease-in;
	transition: color 0.25s ease-in;
}
section, article, header {
	display: block;
	float: left;
	width: 100%;
}
article {
	width: 92%;
	padding: 0em 4%;
}
#index_wrapper {
	margin-top:0px;
	background-color:#3483ae;
}
#wrapper {
	background-color:#f4f4f4;
}
.wrapper {
	margin:0px;
	padding:2em 0;
}
#second {
	padding:0;
	margin-top:0;
	background-color:#ffffff;
}
.undershadow{
	box-shadow:0px 2px 3px 0px rgba(0,0,0,0.3);
}
#opening {
	height:640px;
	overflow:hidden;
	margin:0px;
	padding:0px;
    position: relative;
}
.maincontents {
	width:100%;
	position:relative;
	text-align: center;
	z-index:2;
	margin-top:-820px !important;
	padding:0px;
}
#opening .safe {
    position: absolute;
    bottom: 20px;
    left: 20px;
    z-index: 9999;
    max-width: 40%;
}
#opening .safe img {
    width: 100%;
}

/************* ネガティブマージン ************/


h1 {
	font-size:6em;
	font-size: 6rem;	
	font-weight: 800;
	color:#ffffff;
	text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.56);
}
h2{
	font-weight:normal;
	line-height:1em;
}
h3 {
	font-size:1.2em;
	font-size:1.2rem;
	line-height:1.8em;
	font-weight:normal;
	text-align:center;
}
h4 {
	font-weight:normal;
	line-height:1em;
}
.t_large {
	font-size:1.6em;
	font-size:1.6rem;
}
.t_right {
	text-align:right;
}
.white_tex,
.white_tex a{
	color:#ffffff;
}
.blue_tex {
	color:#3483ae;
	padding:0 0 0 0.5em;
}
.yellow_tex {
	color:#F90;
	padding:0 0 0 0.5em;
}
.red_tex {
	color:#F70105;
	padding:0 0 0 0.5em;
}
.caption {
	font-size:0.8em;
	font-size:0.8rem;
}
.box {
	text-align:center;
	border:1px #FFFFFF solid;
	padding:0.5em 0.5em;
	border-radius: 20px;
	-moz-border-radius: 20px;
	-webkit-border-radius: 20px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.box_enso {
	text-align:center;
	/*background:#3483ae;*/
    background:#ae3433;
	padding:0.5em 0.5em;
	border-radius: 14px;
	-moz-border-radius: 14px;
	-webkit-border-radius: 14px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color:#ffffff;
}
.box_mog {
	text-align:center;
	background:#fdb301;
	padding:0.5em 0.5em;
	border-radius: 14px;
	-moz-border-radius: 14px;
	-webkit-border-radius: 14px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color:#ffffff;
}
.col {
	border-radius: 10px;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	
}
.hr {
	padding-bottom:1em;
	margin-bottom:1em;
	border-bottom:1px #ededed dotted;
}
.hr2 {
	clear:both;
	padding-bottom:1em;
	margin-bottom:1em;
	border-bottom:1px #000000 dotted;
}
.subtex {

	position:relative;
	top:-30px;
	font-size:0.8em;
	font-size: 0.8rem;	
	font-weight: 100;
	color:#ffffff;
	text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.56);
}
/*.mainbtn1 {
	width: 100px;
	height: 76px;
	display:block;
	position:absolute;
	top:180px;
	left:10%;
	background: #3483ae;
	border-radius: 140px;
	-moz-border-radius: 140px;
	-webkit-border-radius: 140px;
	color: #ffffff;
	padding: 42px 20px 20px;
}
.mainbtn2 {
	width: 100px;
	height: 76px;
	display:block;
	position:absolute;
	top:180px;
	right:10%;
	background: #f8c700;
	border-radius: 140px;
	-moz-border-radius: 140px;
	-webkit-border-radius: 140px;
	color: #ffffff;
	padding: 42px 20px 20px;
}*/
.mainbtn1 {
	width: 70%;
	display:block;
	position:absolute;
	top:200px;
	right:0;
	background:rgba(174,52,51,0.8);
	color: #ffffff;
	text-align:left;
	text-indent:1em;
	padding: 10px 0px 10px;
	border-radius: 8px 0px 0px 8px;
-moz-border-radius: 8px 0px 0px 8px;
-webkit-border-radius: 8px 0px 0px 8px;
}
.mainbtn2 {
	width: 70%;
	display:block;
	position:absolute;
	top:255px;
	right:0;
	background:rgba(253,179,1,0.8);
	color: #ffffff;
	text-align:left;
	text-indent:1em;
	padding: 10px 0px 10px;
	border-radius: 8px 0px 0px 8px;
-moz-border-radius: 8px 0px 0px 8px;
-webkit-border-radius: 8px 0px 0px 8px;
}

#enso{
	width:100%;
	background-color:#ae3433;
	padding:0px 0px 20px 0px;
}
#mogu{
	width:100%;
	background-color:#fdb301;
	padding:10px 0px 20px;
}

/*********** table style ***********/

.style01 {
	width:100%;
	text-align:center;
	padding:4px 0px;
	border-width:2px 2px;
	border-color:#cdcdcd;
	border-style:solid;
	background:#ffffff;
}
.style01 th {
	background:#efefef;
	font-size:0.84em;
	font-size:0.84rem;
}
.style01 td {
	font-size:0.9em;
	font-size:0.9rem;
}
.style01 th,
.style01 td {
	padding:4px 0px;
	border-width:1px 1px;
	border-color:#cdcdcd;
	border-style:solid;
	
}

.style02 {
	width:100%;
	text-align:center;
	padding:4px 0px;
	border-width:2px 2px;
	border-color:#cdcdcd;
	border-style:solid;
	background:#ffffff;
}
.style02 th {
	background:#efefef;
	font-size:0.84em;
	font-size:0.84rem;
}
.style02 td {
	padding:2px 1px 2px 8px !important;
	font-size:0.9em;
	font-size:0.9rem;
	text-align:left;
}
.style02 th,
.style02 td {
	padding:4px 0px;
	border-width:1px 1px;
	border-color:#cdcdcd;
	border-style:solid;
	
}

/************ list_style ************/
.news{
	margin:0px;
	padding:0px;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	-o-border-radius: 5px;
	-ms-border-radius: 5px;
	background: #fff;
	width:100%;
}
.news ul {
	width:100%;
	margin:0px;
	padding:0px;
	list-style:none;
}
.news ul li{
	display:table;
	width:100%;

}
.news ul li p.date{
	font-size:0.8em;
	font-size:0.8rem;
	margin:0px;
	padding:0px;

}
.news ul li:not(:last-child){
	border-bottom:1px solid #f6efe2;
}

.news ul li a{
	display:block;
	padding:4px 20px 4px 4px;
	position:relative;
	text-decoration:none;
	color:#574b35;
}

.news ul li a:after{
	content: "";
	display: block;
	height: 0px;
	width: 0px;
	border: 4px solid transparent;
	border-left-color: #e2a6a6;
	position:absolute;
	top:50%;
	right:10px;
}

.news ul li figure{
	display:table-cell;
	vertical-align:middle;
	width:50px;
	height:50px;
	padding-right:5px;
	line-height:0.1em;
}

.news ul li figure img{
	width:100px;
	height:auto;
	overflow:hidden;
}


.news ul li div{
	display:table-cell;
	vertical-align:middle;
}



/************ footer *****************/

footer {
	width:100%;
	background:#276181;
	padding:1em 0em 0em;
	font-size:0.7em;
	font-size:0.7rem;
	color:#ffffff;
}
footer ul{
	width:96%;
	display:table;
	margin:0 auto 0;
	padding:0;
	text-align:left;
	table-layout:fixed;
}
footer ul li{
	display:table-cell;
	list-style:none;
	padding:2px 0px;
	
}
footer ul li.t_left {
	text-align:left;
}
footer ul li a{
	color:#ffffff;
}

/********** gallery ************/

#thumbnail {
	background-color:#000000;
}
#thumbnail .display{
	max-width:480px;
	background-color:#000000;
   /*display: -webkit-box; 
   -webkit-box-pack: justify; 
   display: flex;
   display: -webkit-flex; 
   justify-content: space-between;
   -webkit-justify-content: space-between; 
   flex-flow: row wrap;
   -webkit-flex-flow: row wrap;
   flex-direction:flex-start;
   -webkit-flex-direction:flex-start;*/
}

#thumbnail .display p {
	width:33%;
	margin:1px 0 1px 1px;
	padding:0px;
	float:left;
}
#thumbnail .display p.youtube {
	width:100%;
	margin:0px;
	padding:0px;
}


#pageTop{
	background:rgba(16,83,160,0.8);
	border-radius:5px;
	color:#FFF;
	padding:10px;
	position:fixed;
	bottom:20px;
	right:20px;
	}
