@charset "UTF-8";
/* Reset
------------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,form,fieldset,input,textarea,p,blockquote,th,td {
	margin: 0;
	padding: 0;
}
address,em,strong,th {
	font-style: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th {
	text-align: left;
}

hr,legend {
	display: none;
}

h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
}

img,fieldset {
	border: 0;
	-webkit-backface-visibility: hidden;
}

li {
	list-style-type: none;
}

img {
	vertical-align: top;
}

/*IE6*/
* html img{
	vertical-align: bottom;
}
/*IE7*/
*:first-child+html img{
	vertical-align: bottom;
}

a{
	outline:none;	
}

/* Fonts
------------------------------------------------------------*/
body {
	font-size: 75%; /* IE */
	font-family: "qMmpS Pro W3","Hiragino Kaku Gothic Pro","CI","Meiryo",verdana,Osaka,"lr oSVbN","MS PGothic",Sans-Serif;
	/*
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/

	-webkit-text-size-adjust: 100%;
}
html>/**/body {
	font-size: 12px; /* Except IE */
}

/* clearfix
------------------------------------------------------------*/
.cf:after {  
	visibility: hidden;  
	display: block;  
	font-size: 0;  
	content: " ";  
	clear: both;  
	height: 0;  
}  

* html .cf { zoom: 1; } /* IE6 */  
*:first-child+html .cf { zoom: 1; } /* IE7 */  


.ani_none,
.ani_none > *,
.ani_none:before,
.ani_none:after{
	transition:none !important;
	-webkit-transition:none !important;
	-moz-transition:none !important;	
}


/*------------ 初期設定 ------------*/
p {
	color: #000000;
	line-height: 1.7;	
}

/*------------ 全体 ------------*/
html {
}

body {
	background:#f1f3f5;
}

._hover{
	opacity:1;
	transition: all 0.4s;
}

._hover:hover{
	opacity:0.7;
}


/*------------ WRAPPER ------------*/
#wrapper {
	width:950px;
	margin:0 auto;
}

/*------------ HEADER ------------*/

.sp{
	display:none;
}

#header{
	width:1000px;
	margin:0 auto;
	height:77px;
	position:relative;
}

#header h1{
	position:absolute;
	left:0;
	top:50%;
	transform:translateY(-50%);	
}

#header ul{
	width:470px;
	float:right;	
}

#header ul li{
	width:150px;
	float:left;
	margin-right:10px;	
}

#header ul li:last-child{
	margin-right:0;
}

#navi{
	width:940px;
	height: 130px;
	margin:25px auto 0;
}

#navi li{
	width:220px;
	float:left;
	margin-right:20px;	
	transition: .4s;
}

#navi li:last-child{
	margin-right:0;
}


#navi .on,
#navi li:hover{
	margin-top: 10px
}

#navi .on:hover{
	margin-top: 10px;
}

.r_navi{
	position: fixed;
	z-index: 9999;
	top:50%;
	margin-top: -93px;
	right: 0;
}

.r_navi li {
	margin-bottom: 2px;
	transition: .4s;
	right: -134px;
	position: absolute;
	top:62px;
}

.r_navi li:first-child {
	top:0;
}

.r_navi li:last-child {
	top:124px;
}

.r_navi li a img{
	width: 190px;
	height: 60px;
}

.r_navi li:hover {
	right: -13px;
}



@media screen and (max-width: 768px) {
	
	.sp{
		display:block;
	}
	
	.pc{
		display:none;	
	}
	
	
	img{width: 100%;}
	
	body ,
	html{
		width:100%;
		min-width:100%;
		overflow-x:hidden;
	}	
	
	#header{
		width:90%;
		height:16vw;
	}

	#header h1{
		width: 55vw;
	}
    
    #header h1 img{
        width: 22vw
    }
    
    #header h1 .taiko_logo{
        width: 30vw
    }

	#navi {
		margin: 0 auto;
		width: 92%;
		height: 32vw;
	}

	#navi li{
		width: 23%;
		margin:0 1%;
		transition: .4s;
	}

	#navi .on,
	#navi li:hover{
		margin: 2vw 1% 0;
	}

	#navi .on:hover{
		margin: 2vw 1% 0;
	}
	
	.sp_fix{
		width: 100%;
		background-color: #FFFFFF;
		position: fixed;
		bottom:0;
		box-shadow: -2px 0 4px #cccccc;
		z-index: 9999;
	}
	
	.sp_fix ul{
		width: 96%;
		margin: 4% 0 0;
		padding: 1vw 0 0 4%;
	}
	
	.sp_fix ul li{
		width: 30%;
		margin:0 1%;
		float: left;
	}
	
}


/*------------ NAVI ------------*/


/*------------ TOP ------------*/

html {
  scroll-behavior: smooth;

  @media (prefers-reduced-motion: reduce) {
    scroll-behavior: auto;
  }
}

.page_top{
	position:fixed;
	right:30px;
	bottom:30px;
	width:72px;
	height:102px;
}

.page_top a img{
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 768px){
	.page_top{
        width: 15.5vw;
        height: 22.5vw;
		position:fixed;
		right:15px;
		bottom:22vw;
	}
}


/*------------ FOOTER ------------*/


#footer{
	padding:30px 0 0;
}

#footer .inner{
	width:1000px;
	margin:0 auto;	
}

#footer .inner > ul > li > a{
	border-top:solid 1px #ff0044;
	border-bottom:solid 1px #ff0044;
	display:block;
	text-align:center;
	font-size:14px;
	color:#000000;
	font-weight:bold;
	padding:8px 0 6px;
	text-decoration:none;
}

#footer .inner > ul > li > a > span{
	font-size:10px;
	color:#ff0044;
	position:relative;
	top:-2px;
}

#footer .inner > ul > li{
	width:70px;	
	float:left;
	margin-right:50px;
}

#footer .inner > ul > li:nth-child(2){
	width:286px;	
}

#footer .inner > ul > li:nth-child(3),
#footer .inner > ul > li:nth-child(4){
	width:144px;	
}
#footer .inner > ul > li:nth-child(5){
	width:156px;
	margin-right:0;
}

#footer .inner > ul > li > ul{
	margin-top:15px;	
}

#footer .inner > ul > li > ul > li{
	margin-bottom:12px;
	padding-left:18px;
	position:relative;
}

#footer .inner > ul > li > ul > li a{
	font-size:13px;
	color:#000000;
	font-weight:bold;
	text-decoration:none;
	
}

#footer .inner > ul > li > ul > li a span{
	color:#cccccc;
	position:absolute;
	left:0;
	top:3px;
	font-size:10px;
}

#footer .inner > ul > li > ul > li:last-child{
	margin-bottom:0;	
}

#footer .inner > p{
	margin-top:25px;
	border-top:solid 1px #cccccc;
	padding-top:17px;
	font-size:12px;
}

#footer .inner > p a{
	color:#000;
	font-weight:bold;
	text-decoration:none;
	display:inline-block;
}

#footer .inner > p a.ml{
	margin-left:57px;	
}

#footer .inner a:hover{
	text-decoration:underline;	
}

#footer .inner > p a span{
	font-size:10px;
	color:#cccccc;
	position:relative;
	top:-1px;
}

#footer .inner2{
	background:#FFF;
	margin-top:25px;
}

#footer .inner2 .block{
	width:1000px;
	height:100px;
	margin:0 auto;	
	position:relative;
}

#footer .inner2 .block .logo{
	position:absolute;
	left:0;
	top:25px;	
}

#footer .inner2 .block .txt{
	position:absolute;
	left:175px;
	top:25px;
	font-size: 10px;
	color: rgb(31, 32, 36);
	line-height: 1.5;
}

#footer small{
	display:inline-block;
	position:absolute;
	right:0;
	bottom:20px;
	font-size:10px;
	color:#1f2024;	
}

@media screen and (max-width: 768px) {
	

	#footer{
		padding:10vw 0 0;
	}

	#footer .inner{
		width:80%;
	}

	#footer .inner > ul > li > a{
		font-size:3.5vw;
		padding:8px 0 6px;
		text-align: left;
	}

	#footer .inner > ul > li > a > span{
		font-size:10px;
	}

	#footer .inner > ul > li{
		width:100%;	
		float:none;
		margin-right:0;
		text-align: left;
		margin-bottom: 5vw;
	}

	#footer .inner > ul > li:nth-child(2){
		width:100%;	
	}

	#footer .inner > ul > li:nth-child(3),
	#footer .inner > ul > li:nth-child(4){
		width:100%;		
	}
	
	#footer .inner > ul > li:nth-child(5){
		width:100%;	
		margin-right:0;
	}

	#footer .inner > ul > li > ul{
		margin-top:0;	
	}

	#footer .inner > ul > li > ul > li{
		padding-left:18px;
		margin: 5vw 0;
	}

	#footer .inner > ul > li > ul > li a{
		font-size:3.2vw;
	}

	#footer .inner > ul > li > ul > li a span{
		font-size:3.2vw;
	}

	#footer .inner > ul > li > ul > li:last-child{
		margin-bottom:0;	
	}

	#footer .inner > p{
		margin-top:0;
		padding-top:3vw;
		font-size:3.2vw;
	}

	#footer .inner > p a.ml{
		margin-left:0;	
	}
	
	#footer .inner > p a{
		display: block;
		margin: 3vw 0;
	}

	#footer .inner > p a span{
		font-size:3.2vw;
		top:-1px;
	}

	#footer .inner2{
		margin:5vw　40vw;
	}	

	#footer .inner2 .block{
		width:100%;
		height:50vw;
		margin:0 auto;	
	}

	#footer .inner2 .block .logo{
		position:absolute;
		left:5vw;
		top:5vw;
		width: 30vw;
	}

	#footer .inner2 .block .txt{
		left:40vw;
		top:5vw;
		font-size:2.5vw;
	}

	#footer small{
		left:5vw;
		bottom:22vw;
		font-size:2.5vw;
	}

}

/*-------- text_right --------*/
.t_right {
	text-align: right;
}

/*-------- text_left --------*/
.t_left {
	text-align: left;
}

/*-------- center --------*/
.t_center {
	text-align: center;
}

/*-------- left --------*/
.left {
	float: left;
}

/*-------- right --------*/
.right {
	float: right;
}

/*-------- ClearBoth --------*/
.cb {
	clear: both;
}

/*-------- COLOR --------*/

.red{
	color:#FF0000;
}

.orange{
	color:#FF6600;
}

.blue{
	color:#0097B2;
}

/*-------- FONT --------*/

.bold{
	font-weight:700;
}

.f10{
	font-size:10px;
}

.f14{
	font-size:14px;
}

/*-------- WIDTH --------*/

.w149{
	width:149px;	
}

.w180{
	width:180px;	
}

.w287{
	width:287px;
}

.w380{
	width:380px;
}

.w304{
	width:304px;
}

/*-------- HEIGHT --------*/

.h350{
	height:350px;	
}

.h375{
	height:375px;	
}

.h500{
	height:420px;	
}

.h600{
	height:470px;	
}

/*-------- MARGIN --------*/

.ml3{
	margin:0 0 0 3px;
}

.ml10{
	margin:0 0 0 10px;
}

.ml30{
	margin:0 0 0 30px;
}

.ml40{
	margin:0 0 0 40px;
}

.ml60{
	margin:0 0 0 60px;
}

.ml70{
	margin:0 0 0 70px;
}

.mb10{
	margin:0 0 10px 0;
}

.mb15{
	margin:0 0 15px 0;
}

.mt3{
	margin:3px 0 0 0;
}

.mt10{
	margin:10px 0 0 0;
}


.mt20{
	margin:20px 0 0 0;
}

.mt30{
	margin:30px 0 0 0;
}

/*-------- PADDING --------*/

.pt5{
	padding-top:5px;
}

.pt10{
	padding-top:10px;
}

.pt15{
	padding-top:15px;
}

.pt20{
	padding-top:20px;
}

.pt25{
	padding-top:25px;
}

.pt30{
	padding-top:30px;
}

.pt40{
	padding-top:40px;
}

.pt60{
	padding-top:60px;
}

.pl10{
	padding-left:10px;	
}

.pl12{
	padding-left:12px;	
}

.pl15{
	padding-left:15px;	
}

.pl20{
	padding-left:20px;	
}

.pl30{
	padding-left:30px;	
}

.pl40{
	padding-left:40px;	
}

.pl50{
	padding-left:50px;	
}

.pl60{
	padding-left:60px;	
}

.pl70{
	padding-left:70px;	
}

.pl80{
	padding-left:80px;	
}

.pl100{
	padding-left:100px;	
}

.pr100{
	padding-right:100px;	
}


.pb20{
	padding-bottom:20px;	
}

/*-------- COMMON --------*/

.pic{
	padding:2px;
	display:block;
	border:1px solid #CCCCCC;
}

.hidden{
	overflow:hidden;
}

.abs{
	position:absolute;
}

.ondes{
	color:#999999;
}

