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

/*共通設定*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-size: 100%;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html{
	min-height: 100%;
}

body {
	position: relative;
	punctuation-trim: adjacent;
	font-family:"Yu Mincho Pr6N M","Times New Roman","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "MS PMincho","serif";
	color:#151515;
	font-size: 14px;
	height: 100%;
	letter-spacing: 0.1em;
/*	font-feature-settings: "palt"; */
}

ol, ul{
    list-style:none;
}

table{
    border-collapse: collapse; 
    border-spacing:0;
}

caption, th{
    text-align: left;
}

a:focus {
	outline:none;
}

b {
	font-weight: bold;
}

.both{
	clear:both;
}

.inline_block {  
	display: inline-block;  
	*display: inline;  
	*zoom: 1;  
}

table {
	width:100%;
}

a{
	text-decoration: none;
	color: inherit;
	transition: 0.3s;
}

a:hover {
	cursor: pointer;
	opacity:0.8;
}

.of {overflow: hidden;}
.fl { float:left;}
.fr { float:right;}
.mt10 { margin-top:10px;}
.mr10 { margin-right:10px;}
.mb10 { margin-bottom:10px;}
.ml10 { margin-left:10px;}
.mt20 { margin-top:20px;}
.mr20 { margin-right:20px;}
.mb20 { margin-bottom:20px;}
.ml20 { margin-left:20px;}
.mt30 { margin-top:30px;}
.mr30 { margin-right:30px;}
.mb30 { margin-bottom:30px;}
.ml30 { margin-left:30px;}

.pl10 {padding-left:10px;}
.pr10 {padding-right:10px;}
.pt10 {padding-top:10px;}
.pb10 {padding-bottom:10px;}
.plr10 {padding-left:10px;padding-right:10px;}


.t_center{text-align: center;}
.t_left{text-align: left;}
.t_right{text-align: right;}


.sp_only{display: inherit}
.sp_tab_only{display: inherit}
.tab_only{display: none}
.pc_only{display: none}
.pc_tab_only{display: none}


/*==============================
		  共有設定
==============================*/
img{
	width:100%;
	vertical-align:bottom;
}


.w880, .w900,.w1280{
	margin: 0 4%;
}

.box{
    margin-bottom: 80px;
}

.fa{
	margin: 0 5px;
}

.flex_wrap{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-webkit-flex-flow: row wrap;
	    -ms-flex-flow: row wrap;
	        flex-flow: row wrap;
	-webkit-box-align: center;
	-webkit-align-items: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-align-content: flex-start;
	    -ms-flex-line-pack: start;
	        align-content: flex-start;
	-webkit-box-pack:justify;
	-webkit-justify-content:space-between;
	    -ms-flex-pack:justify;
	        justify-content:space-between;
}

h1{
	position: absolute;
	bottom: 60px;
	left: 0;
	width: 100%;
	text-align: center;
	font-size:10px;
	color:#333;
	font-weight: normal;
}

.title{
	margin-bottom: 40px;
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	color: #260046;
}


.title:after{
	content: '';
	display: block;
	height: 2px;
	width: 40px;
	margin: 10px auto;
	background: #260046;
}

.attention{
	font-size:12px;
}


/*----------------------------
			SP
----------------------------*/

/*ヘッダー*/

header{
    position: fixed;
    width: 100%;
    background: #fff;
    top: 0;
	height: 80px;
    z-index: 1000;
}

header .logo{
    flex: 0 1 auto;
	width:auto;
	margin: 15px auto 15px 4%;
}

header .logo img{
	height: 50px;
    width: auto;
}


header .menu_btn{
	height: 28px;
    transition: 0.3s;
    position: relative;
    flex: 0 1 40px;
    width: 40px;
	margin-right: 4%;
	cursor: pointer;
}

header .menu_btn span {
	position: absolute;
	height: 2px;
	width: 100%;
	background: #333;
	transition: all .4s;
}

header .menu_btn span:nth-child(1) {
	top: 0;
}

header .menu_btn span:nth-child(2) {
	top: 13px;
}

header .menu_btn span:nth-child(3) {
	bottom: 0;
}


body.open header .menu_btn span:nth-child(1) {
	-webkit-transform: translateY(20px) rotate(-315deg);
	transform: translateY(20px) rotate(-315deg);
	top: -7px;
}

body.open header .menu_btn span:nth-child(2) {
	opacity: 0;
}

body.open header .menu_btn span:nth-child(3) {
	-webkit-transform: translateY(-20px) rotate(315deg);
	transform: translateY(-20px) rotate(315deg);
	bottom: -7px;
}


header .menu{
	display: none;
	flex: 0 1 100%;
    width: 100%;
	background: rgba(0,0,0,0.8);
	color:#fff;
	font-size: 20px;
	padding: 0 10%;
}

header .menu ul li{
	flex: 0 1 100%;
    width: 100%;
	border-bottom: 1px solid #707070;
	text-align: center;
}

header .menu ul li:last-child{
	border-bottom:none;
}

header .menu ul li a{
	display: block;
	padding: 15px 0;
}



/*コンテンツ共通*/

#contents{
	padding-top: 80px;
}

/*フッター*/

footer{
	background: #F7F7F7;
	padding: 40px 0 0;
	text-align: center;
}
footer .hotpepper {
	margin-bottom:10px;
}
	
footer .hotpepper a{
	display: block;
	border: 1px solid;
	font-size: 20px;
	padding: 20px;
	max-width: 800px;
	margin: auto;
}


footer .hotpepper span{
	font-size:10px;
}

footer .title{
	margin-bottom: 20px;
}

footer .tel{
	margin-bottom: 30px;
}

footer .tel .num{
	color: #260046;
	font-size: 30px;
}
footer .tel .num span{
	font-size: 18px;
}
footer .tel .time{
	font-size: 14px;
}

footer .footer__wp{
	padding: 20px 0;
	color:#fff;
	background:#260046;
}
footer .footer__wp .footer__logo{
	margin: 0 auto 2%;
	width: 30%;
	max-width: 160px;
}
footer .copyright{
	font-size: 10px;
}

/*----------------------------
			TAB
----------------------------*/
@media screen and (min-width: 768px) {
	
	h1{
		bottom: 40px;
	}
	
	.sp_only{display: none}
	.sp_tab_only{display: inherit}
	.tab_only{display: inherit}
	.pc_only{display: none}
	.pc_tab_only{display: inherit}
	
	/*コンテンツ共通*/
	#contents{
		padding-top: 0;
	}

	/*ヘッダー*/
	
	header{
		position: relative;
		height: 110px;
	}
	header .header_wrap{
		-webkit-box-align: flex-end;
		-webkit-align-items: flex-end;
		-ms-flex-align: flex-end;
		align-items: flex-end;
	}
	header .header_wrap{
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		transform: translate(0,-50%);
	}
	header .logo img{
		height: 65px;
	}
	header .menu{
		display: block!important;
		flex: 0 1 60%;
		width: 60%;
		max-width: 500px;
		background: none;
		color: #000;
		font-size: 16px;
		padding: 0;
		position: absolute;
		top: 50%;
		right: 4%;
		transform: translate(0, -50%);
	}
	
	header .menu .flex_wrap{
		-webkit-justify-content: flex-end;
		-ms-flex-pack: flex-end;
		justify-content: flex-end;
	}
	
	header .menu ul li{
		flex: 0 1 auto;
    	width: auto;
		border-bottom: none;
		margin-left: 10%;
	}
	header .menu ul li:first-child{
		margin-left: 0;
	}
	header .menu ul li a{
		display: inline-block;
		padding: 0;
		font-size: 15px;
	}
	footer{
		padding-top: 50px;
	}
	footer .title{
		margin-bottom: 50px;
		font-size: 25px;
	}
	
	footer .tel .num{
		font-size: 40px;
	}
	footer .tel .num span{
		font-size: 24px;
	}
	
	footer .footer__wp{
		padding: 40px 0 20px;
	}
	
	footer .copyright{
		font-size: 12px;
	}
	.title{
		font-size: 20px;
	}

	
}


/*----------------------------
			PC
----------------------------*/
@media screen and (min-width: 980px) {
	

	.w1280{
		box-sizing: border-box;
		width: 100%;
		max-width: 1280px;
		margin: auto;
	}
	
	.w880{
		box-sizing: border-box;
		width: 100%;
		max-width: 880px;
		margin: auto;
	}

	.box{
		margin-bottom: 140px;
	}

	
	.sp_only{display: none}
	.sp_tab_only{display: none}
	.tab_only{display: none}
	.pc_only{display: inherit}
	.pc_tab_only{display: inherit}
	
}













