@charset "utf-8";
@media screen and (max-width:768px){
html {
	-webkit-text-size-adjust: 100%;
}
html.close {
	overflow:hidden;
	height:100%;
}
body {
	font-size:14px;
}
img{
	max-width:100%;
}
.only_pc{
	display:none !important;
}
.main {
		padding-left: 15px;
		padding-right: 15px;
	}


#wrapper{
	min-width:auto;
	min-width:initial;
}


/* header */
header{
	width:100%;
	height:50px;
	background-color:#fff;
	position:fixed;
	top:0;
	left:0;
	z-index:100;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
header > div div{
	width:100%;
	height:50px;
	margin:auto;
	padding:0 0 0 10px;
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	-webkit-align-items: center;
	align-items: center;
	border-bottom: solid 2px #1A69B1;
}
header > div div p{
	padding-top:0;
}
header > div div p a{
	color: #fff;
	font-size:21px;
	white-space:nowrap;
}
header > div div p a span{
	display:none;
}
header > div div ul li:first-child a {
	pointer-events: auto!important;
}

header > div nav{
	width:55%;
	height:100vh;
	padding-top:50px;
	line-height:30px;
	border-top:none;
	background-color:#0e9dff;
	position:fixed;
	top:0;
	right:0;
	z-index:100;
	display:none;
}
header > div nav > ul{
	width:80%;
	max-width:360px;
	margin:auto;
}
header > div nav > ul li:first-of-type {
	line-height:30px;
	margin-top:15px;
	padding:0;
	display:block;
	border-right:none;
	border-bottom:1px dotted #fff;
	border-left:5px solid #fff;
}
header > div nav > ul li{
	line-height:30px;
	margin-top:15px;
	padding:0;
	display:block;
	border-right:none;
	border-bottom:1px dotted #fff;
	border-left:5px solid #fff;
}
header > div nav > ul li a{
	padding-left:20px;
	display:block;
	color:#fff;
	text-align:left;
}
.top_h1 {
	padding-top: 0;
	width: 100%;
}
.top_h1 a {
	font-size: 24px;
	color: #000;
	text-align: center;
}
.top_h1 a img {
	height: 31px;
	vertical-align: text-top;
}

/* #btnmenu */
#btnmenu{
	width:50px;
	height:50px;
	margin:0;
	padding:0;
	position:relative;
	z-index:105;
	cursor:pointer;
	border-bottom: none;
}
#btnmenu:after{
	content:'MENU';
	display:block;
	width:100%;
	font-size:10px;
	line-height:1.2;
	color:#1268B3;
	position:absolute;
	bottom:0;
	left: 7px;
}
#btnmenu.top{
	background-color:transparent;
}
#btnmenu span{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 24px;
	height: 2px;
	border-radius:2px;
	margin: -2px 0 0 -12px;
	background: #1268B3;
	-webkit-transition: .2s;
	-moz-transition: .2s;
	-ms-transition: .2s;
	-o-transition: .2s;
	transition: .2s;
}
#btnmenu span:before,
#btnmenu span:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	width: 24px;
	height: 2px;
	background: #1268B3;
	border-radius:2px;
	-webkit-transition: .3s;
	transition: .3s;
}

#btnmenu span:before{
	margin-top: -10px;
}

#btnmenu span:after{
	margin-top: 8px;
}
#btnmenu.close{
	width:50px;
	height:50px;
	box-shadow:none;
	border-radius:0;
	background-color:transparent;
}
#btnmenu.close:after{
	color:#1268B3;
}
#btnmenu.close span{
	background-color:transparent;
}

#btnmenu.close span:before,
#btnmenu.close span:after{
	margin-top: 0;
	background-color:#1268B3;
}

#btnmenu.close span:before{
	width: 24px;
	height: 2px;
	margin: -2px 0 0 0;
	border-radius:2px;
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
#btnmenu.close span:after{
	width: 24px;
	height: 2px;
	margin: -2px 0 0 0;
	border-radius:2px;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}



/* article */
article{
	padding-top:50px;
}
article > h1{
	background:url(../images/h1_bg.png)no-repeat center center;
	background-size:cover;
	border-top:2px solid #0e9dff;
	position:relative;
}
article > h1 span{
	display:block;
	width:100%;
	line-height:1.6;
	font-size:3.8vw;
	background:url(../images/h1_tit.png)no-repeat center center;
	background-size:auto 100%;
	position:absolute;
	top:60%;
	transform:translateY(-50%);
}
article > .fadein_0{
	background:url(../images/h1_bg.png)no-repeat center center;
	background-size:cover;
	border-top:2px solid #0e9dff;
	position:relative;
}
article > .fadein_0 span{
	display:block;
	width:100%;
	line-height:1.6;
	font-size:3.8vw;
	background:url(../images/h1_tit.png)no-repeat center center;
	background-size:auto 100%;
	position:absolute;
	top:60%;
	transform:translateY(-50%);
}


/* #bread */
#bread{
	width:94%;
	margin:0 auto -30px;
}
#bread li{
	line-height:30px;
	font-size:12px;
}


/* .cont */
.cont{
	padding:20px 0;
}
.cont h2{
	font-size:5.2vw;
}
	
	
/*CTA2*/
	#contact {
		margin-bottom: 0;
	}
	#contact .box {
		width: 100%;
		padding-bottom: 5px;
		margin: 15px auto 0;
	}
	#contact .box ul {
		display: block;
	}
	#contact .box ul li a {
		width: 100%;
	}
	#contact .box h2 {
		font-size: 17px;
		line-height: 57px;
		text-align: right;
		margin-bottom: 5px;
	}
	#contact .box h2 img {
		left: 0;
		top: 10px;
		width: 70px;
	}
	#contact .box p {
		font-size: 17px;
		margin: 0 auto 2px;
	}
	#contact .box ul li {
		margin: 5px auto;
		width: 300px;
	}
	#contact .box ul li:last-child:before {
		background: none;
	}
	#contact .box ul li a {
		line-height: 70px;
		padding: 0 20px;
		font-size: 30px;
	}
	#contact .box ul li:first-child a {
		font-size: 30px;
	}
	#contact .box ul li a span {
		font-size: 21px;
	}
	#contact .box ul li a img {
		width: 33px;
		margin-right: 7px;
	}
	
		/* #floating_kuchikomi */
	#floating_kuchikomi {
		width:100px;
		margin:0;
		border-radius:0;
		box-shadow:none;
		background-color:#f00;
		border:none;
		position:fixed;
		bottom:125px;
		right: 0;
		z-index:99;
		overflow: hidden;
		display: block;
		background: none;
	}
	
	/* #floating_banner */
#floating_banner{
	width:100%;
	margin:0;
	border-radius:0;
	box-shadow:none;
	background-color:#f00;
	border:none;
	position:fixed;
	bottom:10px;
	z-index:99;
	overflow: hidden;
	display: block;
}
#floating_banner p{
	line-height: 1.2;
}
#floating_banner .wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 0 6px;
	margin: 5px 0 ;
}
#floating_banner .wrap .bana01 {
	margin-top: 5px;
}
#floating_banner .wrap .bana02 {
	font-size: 20px;
	font-weight: bold;
	text-align: left;
	padding-left: 20px;
	box-sizing: border-box;
}
@media only screen and (max-width: 640px){
	#floating_banner .wrap .bana01, #floating_banner .wrap .bana02 {
		width: 50%;
	}
	#floating_banner .wrap .bana02 {
		font-size: 16px;
	}
}
#floating_banner .wrap .bana02 span {
	color: #F9E24D;
}
#floating_banner .wrap .bana03 {
	width: 85%;
}
#floating_banner .wrap .bana04 {
	width: 15%;
}
	
#floating_banner .new {
	font-size:20px;
	font-weight:bold;
	padding-top: 5px;
}
	#floating_banner .new .fm {
	font-size:120%;
}
#floating_banner .new span {
	color: #F9E24D;
}

/* #floating_banner */
	/*テキスト時↓↓
#floating_banner{
	width:100%;
	margin:0;
	padding-bottom:10px;
	border-radius:0;
	box-shadow:none;
	background-color:#f00;
	border:none;
	position:fixed;
	bottom:0;
	z-index:99;
	overflow: hidden;
	display: block;
}
#floating_banner p{
	line-height: 1.2;
}
#floating_banner p.txt{
	margin-top: 13px;
	position: relative;
	left: -1em;
}
#floating_banner .wrap {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: center;
	justify-content: center;
	padding: 0 10px;
	margin: 5px 0 10px;
}
#floating_banner span {
	display:inline-block;
	font-size:15px;
	font-weight:bold;
	color:#FFE400;
}
#floating_banner span.big {
	font-size: 25px;
}
	#floating_banner span.big2 {
	font-size: 19px;
}
#floating_banner span.white {
	color: #fff;
	font-size: 15px;
}
#floating_banner .up_txt {
	text-align: left;
	position: relative;
	right: -2em;
}
#floating_banner span .up_txt span {
	color: #FFE400;
	font-weight: bold;
	font-size: 13px;
}
#floating_banner ul{
	position:relative;
}
#floating_banner ul li{
	margin:0;
	display:inline-block;
}
#floating_banner ul li:first-child{
	width: 96%;
	padding-right:16%;
}
#floating_banner ul li:last-child{
	width:50px;
	position:absolute;
	right:3%;
	bottom:0;
}
#floating_banner ul li a{
	display:inline-block;
	width:100%;
	line-height:35px;
	padding:0;
	border-radius:5px;
}
#floating_banner ul li:first-child a{
	font-size: 2.1em;
	background: #fff;
	padding: 7px 5px 7px 5px;
	letter-spacing: 0.2vw;
	border-radius: 10px;
	box-shadow: 5px 5px 8px rgb(0 0 0 / 60%);
	margin: 0;
	display: inline-block;
	color: #ff0101;
	font-family: "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-weight: bold;
	font-style: italic;
	text-shadow: 2px 2px 0 rgba(0,0,0,0.3);
	line-height: 1;
	width: 100%;
}
#floating_banner ul li:last-child a{
	background:#0071BC;
	border: 3px solid #29ABE2;
	box-shadow: 5px 5px 8px rgb(0 0 0 / 60%);
}
#floating_banner ul li a img{
	width:30px;
	margin-right:5px;
	vertical-align: middle;
}
#floating_banner ul li:last-child a img{
	width:25px;
	margin-right:0;
	margin-bottom: -5px;
	vertical-align:0;
	padding: 0;
	border-radius: 0;
}
#floating_banner ul li:last-child:before{
	content:none;
}
	*/
#floating_banner:before {
	content: "";
	display: block;
	 height: 100%;
	width: 30px;
	position: absolute;
	top: -180px;
	left: 0;
	background-color: #fff;
	opacity: 0;
	transform: rotate(45deg);
	animation: reflection 2.5s ease-in-out infinite;
	-webkit-transform: rotate(45deg);
	-webkit-animation: reflection 2.5s ease-in-out infinite;
}
@keyframes reflection {
	0% {
		transform: scale(0) rotate(45deg);
		opacity: 0; }
	80% {
		transform: scale(0) rotate(45deg);
		opacity: 0.5; }
	81% {
		transform: scale(4) rotate(45deg);
		opacity: 1; }
	100% {
		transform: scale(50) rotate(45deg);
		opacity: 0; }
}
@-webkit-keyframes reflection {
	0% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0; }
	80% {
		-webkit-transform: scale(0) rotate(45deg);
		opacity: 0.5; }
	81% {
		-webkit-transform: scale(4) rotate(45deg);
		opacity: 1; }
	100% {
		-webkit-transform: scale(50) rotate(45deg);
		opacity: 0; }
}






/* footer */
footer p{
	margin-top:0;
	font-size:10px;
	color:#fff;
}
@media only screen and (max-width: 640px){ /* スマホ用 */
	footer{
		padding: 0 0 110px;
	}
	footer nav dt {
		position: relative;
		padding: 15px;
		border-bottom: 1px solid rgba(255,255,255,0.5);
		font-size: 15px;
		font-weight: bold;
	}
	footer nav dt::before {
		position:absolute;
		right: 15px;
		top: 50%;
		display:block;
		width:10px;
		height:10px;
		border-right:2px solid;
		border-bottom:2px solid;
		transform:translateY(-50%) rotate(45deg);
		content:'';
	}
	footer nav dd {
		padding: 0;
	}
	footer nav ul li{
		display:block;
		margin:0;
		padding:0;
		border-bottom: 1px solid rgba(255,255,255,0.3);
	}
	footer nav ul li a {
		position: relative;
		display: block;
		padding: 10px;
		background: rgba(255,255,255,0.1);
		font-size: 14px;
		text-align: left;
	}
	footer nav ul li a:before {
		position:absolute;
		right: 10px;
		top: 50%;
		display:block;
		width:10px;
		height:10px;
		border-top:2px solid;
		border-right:2px solid;
		transform:translateY(-50%) rotate(45deg);
		content:'';
	}
	footer nav ul li a {
		font-size: 13px;
	}
}


/* to_top */
#topbtn{
	width:40px;
	position:fixed;
	z-index:98;
	right:20px;
	bottom:-200px;
	-webkit-transition: bottom 0.8s;
	-moz-transition: bottom 0.8s;
	-ms-transition: bottom 0.8s;
	transition: bottom 0.8s;
}
