@charset "UTF-8";
/* CSS Document */

/* smartphone */

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

.sp {
	display: inline-block;
	}

.spin{
	display: inline;	
	}	
	
.hp {
	display: none;
	}

html {
	line-height: 1.5;
	-webkit-text-size-adjust:100％;
	}
	
	
body{
	min-width: 400px;
}	
	
	
	
/* menuボタン */

#menu {
	position: relative;
	z-index: 10;
	min-width: auto;
	height:100px;
}

#menu a{
	color: #00003c;	
	}	
	
.menuimg02 {
	position: absolute;
	width:auto;
	height: 15vh;
	left: 50%;
    transform: translateX(-50%) translateY(0);
}
	
.menuimg img{
	height: 80px;
}	


.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 75px;
    width: 75px;
    justify-content: center;
    align-items: center;
    z-index: 1001;
    background-color: #FFFFFF;
	border:solid #00003C 3px;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #00003C;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

#menu-btn-check {
	position: fixed;
	z-index: 1001;
}

#menu-btn-check {
    display: none;
}

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

#menu-btn-check:checked ~ .menu-content {
	display: inline-block;
    top: 0;
	opacity: 1;
}


#menu-btn-check:checked ~ .menu-content ul {
    margin-top: 0px;
	transition: all 0.5s;
}	

#menu-btn-check:checked ~ .menu-content ul li a {
    z-index: 100;
}
	
	
.menu-content {
	display:none;
    width: 100%;
    height:100vh;
    position: fixed;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	overflow-scrolling: touch;
    top: 0;
    left: 0%;
    z-index: 80;
	opacity: 0;
}

.menu-contentback ul {
	position: absolute;
	top:0px;
	z-index:0;
	background-color: #FFFFFF;
	width: 100%;
	height:500px;
	min-height: 100vh;
	opacity: 0.9;
	}
	
.menu-content ul {
    padding: 100px 10px 0;
	transition: all 0.5s;
	margin-top: 10px;
}
.menu-content ul li {
	width: 100%;
    list-style: none;
	position: relative;
	top:-40px;
}

.menu-content ul li a {
    display: block;
	z-index: -50;
    width: 100%;
	font-size: 1.1em;
	line-height: 2em;
	text-align: center;
    box-sizing: border-box;
    color:#454545;
    text-decoration: none;
    padding: 12px 15px 15px 0;
    position: relative;
}
	
.menuhamimg {
	position: absolute;
	z-index: 100;
	width: auto;
	height: 80px;
	top:10px;
	left:10px;
	}
	
/* メニュー横の記号	
.menu-content ul li a::before {
    content: "";
    width: 14px;
    height: 14px;
    border-top: solid 2px #00003C;
    border-right: solid 2px #00003C;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 25px;
} */

.android .menu-content ul li a::before{
	top: 24px;
}

	
.menublock03 {
	position: absolute;
	right:100px;
	top:12px;
	height:50px;
	}

.menublock03 img{
	height:100%;
	widows: auto;
	}

	
.menublock04 {
	position: absolute;
	right:25px;
	top:100px;
	height:50px;
	width: 50px;
	}

.menublock04 img{
	height:100%;
	widows: auto;
	}	
	
	
#topback {
	position: relative;
	text-align: center;
	background-color: #00003c;
	width: 100%;
	height:calc(100vh);
	}
	
.topimage {
	background-position: 0;
	width: 100%;
	height:50%;
	top: calc(50%);
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
	}

	
.toptext {
	position: absolute;
	width: 100%;
	color: #FFF;
	font-weight:bold;
	font-size: 17px;
	top: calc(85vh);
    left: 50%;
    transform: translateX(-50%) translateY(0);
	}	
	
#top {
	min-width: auto;
	height:100vh;
	width: auto;
	margin: 0px;
	margin-top: 40px;
	background-color: #000;
}
	
#top > video{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    min-width: 100%;
    min-height: 100%;
	height:100%;
	width: auto;
}	
	
	
/*新しい動画きたら削除して〜ここから〜*/
	
#main {
	margin-top: 0;	
	}	

/*新しい動画きたら削除して〜ここまで〜*/
	
#about {
	height: 1500px;
	margin-top: 0px;
}

	
	
.line {
	position: relative;
	top:15px;
	width:40px;
	display: inline-block;
}
	
	
.title01 {
	top:10px;
	font-size: 25px;
}	
	
.title02 {
	top:-20px;
	font-size: 35px;
}

.aisatu {
	left:20px;
	right:20px;
	top:90px;
}	
	
p.abp01 {
	font-size: 1.2em;
}	
	
.abouttext {
	position: absolute;
	display: inline-block;
	left:20px;
	right:20px;
	top:810px;
}	

.abouttext dl{
	display:block;
	width: 80%;
}	
	
.abouttext dt{
	float:none;
	}

	
	
#history {
	height: 680px;
}

#history .cblock{
	width: 100%;
	top:40px;
}

.hsblock {
	left:20px;
	right:20px;
	top:80px;
}


.hsblock table tr{
	background-color: #FFF;
	margin-bottom: 100px;
}

.hsblock table th{
	display: block;
	padding: 10px 10px 0px 10px;
	width:100%;
}

.hsblock table td{
	display: block;
	padding:0px 10px 10px 10px;
}	
	
	

	
#content {
	height: 1120px;
	max-height: 1200px;
}

.contentblock{
	top:100px;
	left: 20px;
	right: 20px;
}

.ctbl02,.ctbl03,.ctbl04{
	height:auto;
}	
	

.ctbl02,.ctbl04 {
	width:100%;
	margin:0;
	margin-bottom: 15px;
}

.ctbl03 {
	float:none;
	width:100%;
	margin:0;
}

.cttl {
	font-size: 23px;
}


.cttl02{
	display: block;
	font-weight: bold;
	padding: 5px 10px 5px 10px;
	background-color: #FFFBA1;
	text-align: center;
	margin-bottom: 5px;
	margin-top: 5px;
}
	

.cttl03,.cttl04{
	width: 100%;
	margin: 0;
	margin-bottom: 15px;
}	

	
.cttltaiyo {
	margin-right: 70px;
	margin-left: 70px;
	margin-bottom: 10px;
	margin-top: 0px;
}	
	
	
	
.flow {
	left:20px;
	right:20px;
	top:840px;
}	

.flow img{
	max-width:470px;
	margin-left: auto;
	margin-right: auto;
	}	
	
	
#access {
	height: 1000px;
}

	
	
.acimg02 {
	width:95%;
	min-height:220px;
	max-height:400px;
	left:2.5%;
	top:100px;
	z-index: 0;
}	
	
	
.acimg02 > video {
    min-height:220px;
	height:auto;
	}
	
	
	
.acimg{
	left:2.5%;
	padding-left: 0;
	right:0;
	width:95%;
	height:410px;
	top:490px;
}	
	

#blog {
	height: 200px;
}	
	
.blogyou{
	left:20px;
	right:20px;
	top:20px;
}

#blog01 , #blog02 {
	width:100%;
	height:200px;
	margin: 0;
}	
	
#blog01{
	margin-bottom:20px; 	
	}	

.blogtext {
	width: 100%;
	text-align: center;
	font-size: 40px;
	top:20%;
	}
	
	
	
#inquiry{
	height: 400px;
	padding-top: 0px;
}	

#inquiry:before {
	height: 400px;
	padding-top: 0px;
}

	
#inquiry .bblock{
	top:20px;
	}	
	
.dblock{
	top:95px;
	left:15px;
	right:15px;
}	
	
.inquiryblock{
	width: 95%;
	height:300px;
	left:2.5%;
	top:160px;
}	

.inbl01,.inbl02 {
	width: 100%;
	display: inline-block;
}
	
.intx02 {
	position:absolute;
	left: 5%;
	width:80%;
	top:0px;
	font-size: 27px;
}	
	
#footer {
	height:240px;
	text-align: center;
	z-index: 0;
}
	
.ftbl01 {
	vertical-align: 10px;
	margin-left: 0px;
}
	
.ftbl02 {
	display: inline-block;
	position:static;
}

	
#privacy {
	width: 100%;
	height: 800px;
	margin-bottom: 80px;
	padding: 0;
	margin-top: 40px;
}	

#privacy .title01,#faqbl .title01 {
	width: 360px;
	letter-spacing: 0;
}

#privacy .title02,#faqbl .title02 {
	width: 360px;
	letter-spacing: 0;
}
	
.prbl {
	left: 20px;
	right:20px;
	top:100px;
}	

.prtl01 {
	font-size: 17px;
	margin-top: 24px;
}
	
#faqbl {
	width: 100%;
	height: 2000px;
	margin-bottom: 80px;
	padding: 0;
	margin-top: 40px;
}	


#contact {
	height:auto;
}
	
	
#tnx {
	margin-top: 50px;
	min-height:300px;
	height:calc(100vh - 390px); 
}	
	
	}