@charset "utf-8";

/*==============================

		parts.css
		responsive

==============================*/

/*--------------------------------------------------
		partsReset
--------------------------------------------------*/
.partsReset * {
	margin: 0;
	padding: 0;
	border: 0;
	font-family: "Helvetica Neue","Helvetica Arial","ヒラギノ角ゴ Pro W3","游ゴシック",sans-serif !important;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
.partsReset caption,
.partsReset th,
.partsReset center {
	text-align: left;
}
.partsReset del,
.partsReset strike,
.partsReset u,
.partsReset ins,
.partsReset s {
	text-decoration:none;
}
.partsReset mark {
	background-color:transparent;
}

.partsReset article,
.partsReset aside,
.partsReset details,
.partsReset figcaption,
.partsReset figure,
.partsReset footer,
.partsReset header,
.partsReset hgroup,
.partsReset menu,
.partsReset nav,
.partsReset section {
	display: block;
}
.partsReset ol,
.partsReset ul {
	list-style: none;
}
.partsReset blockquote,
.partsReset q {
	quotes: none;
}
.partsReset blockquote:before,
.partsReset blockquote:after,
.partsReset q:before,
.partsReset q:after {
	content: '';
	content: none;
}
.partsReset table {
	border-collapse: collapse;
	border-spacing: 0;
}
.bdbn{
	border-bottom: none !important;
}
.clearfix:after {
	content: ".";
	display: block;
	font-size:0;
	height: 0;
	visibility:hidden;
	clear: both;
}

/*--------------------------------------------------
		header
--------------------------------------------------*/
.headerMenu{
	position: fixed;
	height: 100%;
	top: 0;
	left: 0;
}
.headerMenu ul{
	padding: 0;
	margin: 0
}
.headerMenu li {
	width: calc(100% - 24px);
	margin: 0 12px 30px 12px;
}
.headerMenu li:last-child{
	margin-bottom: 0;
}
.headerMenu a{
	width: 100%;
	box-sizing: border-box;
	display: block;
	font-weight: bold;
	text-decoration: none;
}
.headerMenu a img{
	vertical-align: middle;
}
.headerMenu a span{
	width: calc(100% - 33px);
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
}
.headerMenu .layer_1{
	width: 190px;
	height: 100%;
	float: left;
	padding-left: 5px;
	box-sizing: border-box;
	border-right: 1px solid #EEEEEE;
	box-sizing: border-box;
	background: url(/common/img/header/border.png) #FFFFFF no-repeat repeat;
	overflow-x: hidden;
}
.headerMenu .layer_1 ul{
	position: fixed;
	width: 210px;
	height: 100%;
	top: 0;
	overflow-x: hidden;
	background: #FFFFFF;
	transition: left 300ms ease-in-out;
	border-right: 1px solid #EEEEEE;
	box-sizing: border-box;
}
.headerMenu .layer_1 ul.opened{
	left: 190px;
	transition: left 300ms ease-in-out;
}
.headerMenu .layer_1 ul li{
	width: 100%;
	margin: 0;
}
.headerMenu .layer_1 ul a{
	padding: 15px;
	font-weight: normal;
}
.headerMenu .layer_1 ul a:hover{
	color: #FFFFFF;
}
.headerMenu .layer_1 ul .back_header_side{
	width: 14px;
	height: 14px;
	float: left;
	background: none;
	border-bottom: 2px solid;
	border-left: 2px solid;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	margin: 8px 0 0 5px;
	padding: 0;
}
.headerMenu .layer_1 ul .back_header_side:hover{
	background: none;
}
.headerMenu .layer_1 ul .cancel_header_side{
	display: block;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	float: right;
	padding: 3px 7px;
	box-sizing: border-box;
}
.headerMenu .category_1 a:hover,
.headerMenu .category_1 ul a{
	color: #009333;
	border-color: #009333;
}
.headerMenu .category_1 a:hover span{
	border-bottom: 1px solid #009333;
	margin-bottom: -1px;
}
.headerMenu .category_1 ul a:hover,
.headerMenu .category_1 .cancel_header_side{
	background: #009333;
}
.headerMenu .category_1 .back_header_side,
.headerMenu .category_1 .back_header_side:hover{
	border-color: #009333;
}
.headerMenu .category_2 a:hover,
.headerMenu .category_2 ul a{
	color: #E60012;
	border-color: #E60012;
}
.headerMenu .category_2 a:hover span{
	border-bottom: 1px solid #E60012;
	margin-bottom: -1px;
}
.headerMenu .category_2 ul a:hover,
.headerMenu .category_2 .cancel_header_side{
	background: #E60012;
}
.headerMenu .category_2 .back_header_side,
.headerMenu .category_2 .back_header_side:hover{
	border-color: #E60012;
}
.headerMenu .category_3 a:hover,
.headerMenu .category_3 ul a{
	color: #BD027E;
	border-color: #BD027E;
}
.headerMenu .category_3 a:hover span{
	border-bottom: 1px solid #BD027E;
	margin-bottom: -1px;
}
.headerMenu .category_3 ul a:hover,
.headerMenu .category_3 .cancel_header_side{
	background: #BD027E;
}
.headerMenu .category_3 .back_header_side,
.headerMenu .category_3 .back_header_side:hover{
	border-color: #BD027E;
}
.headerMenu .category_4 a:hover,
.headerMenu .category_4 ul a{
	color: #4ABA0F;
	border-color: #4ABA0F;
}
.headerMenu .category_4 a:hover span{
	border-bottom: 1px solid #4ABA0F;
	margin-bottom: -1px;
}
.headerMenu .category_4 ul a:hover,
.headerMenu .category_4 .cancel_header_side{
	background: #4ABA0F;
}
.headerMenu .category_4 .back_header_side,
.headerMenu .category_4 .back_header_side:hover{
	border-color: #4ABA0F;
}
.headerMenu .category_5 a:hover,
.headerMenu .category_5 ul a{
	color: #FF8617;
	border-color: #FF8617;
}
.headerMenu .category_5 a:hover span{
	border-bottom: 1px solid #FF8617;
	margin-bottom: -1px;
}
.headerMenu .category_5 ul a:hover,
.headerMenu .category_5 .cancel_header_side{
	background: #FF8617;
}
.headerMenu .category_5 .back_header_side,
.headerMenu .category_5 .back_header_side:hover{
	border-color: #FF8617;
}
.headerMenu ul.layer_2{
	z-index: -99;
	left: -20px;
}
.headerMenu ul.layer_2 li:first-child{
	margin-top: 50px;
}
.headerMenu .control{
	padding: 10px 15px;
	box-sizing: border-box;
}
.headerMenu .logo{
	margin-top: 30px;
	padding: 0;
	text-align: center;
	padding-right: 15px;
	box-sizing: border-box;
}
.headerMenu .logo a{
	padding: 0;
}
.headerMenu .search{
	width: 100%;
	background: rgb(237, 237, 237);
	border-radius: 25px;
	padding: 5px 12px;
	box-sizing: border-box;
}
.headerMenu .search input{
	font-size: 14px;
	border: none;
	vertical-align: middle;
	background: rgb(237, 237, 237);
	float: right;
}
.headerMenu .search #i_search_input2{
	width: 90px;
	float: left;
}
.headerMenu .links{
	padding-top: 30px;
	border-top: 1px solid #EEEEEE;
}
.headerMenu .links a{
	font-size: 12px;
	font-weight: normal;
	margin-bottom: 15px;
	background: url(/common/img/icn_link_arrow_right.png) no-repeat right center;
}
#side_mask.on{
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	background: rgba(256,256,256, 0.7);
	transition: background 300ms;
	z-index: 999;
}
body.lock{
	overflow: hidden;
}


.footer a:hover {
	color: #DD1F30!important;
}

/*==============================

		PC

==============================*/
@media screen and (min-width: 641px) {
	.sp {display: none !important;}

	body {
		font-size: 14px;
		line-height: 1.6;
	}



	/*	.txtLink
	------------------------------*/
	a {
		color: #333333;
		text-decoration: none;
	}
	a:hover {
		color: #DD1F30;
	}
	.noUnderLine a:hover {
		color: #333333;
		text-decoration: none;
	}

	/*--------------------------------------------------
			wrap
	--------------------------------------------------*/
	.wrap {
		width: 100%;
		min-width: 960px;
		margin: 0 auto;
	}


	/*--------------------------------------------------
			mainConts
	--------------------------------------------------*/
	.mainConts {
		width: 960px;
		margin: 0 auto;
		
		background: #FFFFFF;
	}
	
/*--------------------------------------------------
		partsReset
--------------------------------------------------*/
.partsReset .spOnly{
	display: none !important;
}

/*--------------------------------------------------
		header_basic
--------------------------------------------------*/
.headerBasic {
	width: 100%;
	padding-top: 3px;
	background: url(/common/img/header/img_header_line.png) repeat-x left top;
}
.headerBasic .headerInner {
	width: 1240px;
	padding: 15px 20px;
	margin: 0 auto;
}
.headerBasic .headerLogo {
	width: 90px;
}
.headerBasic .headerLogo img {
	width: 100%;
}


/*--------------------------------------------------
		footer
--------------------------------------------------*/
.footer {
	font-size: 85%;
	background: #FFFFFF;
	background: #FFFFFF url(/common/img/footer/border.png) repeat no-repeat;
}
.footer a {
	color: #6B4323;
	text-decoration: none;
}
.footerLine01 {
	width: 960px;
	padding: 35px 10px 20px 10px;
	margin: 0 auto;
	box-sizing: border-box;
}
.ftSec {
	width: 940px;
	margin: 0 auto 20px auto;
	position: relative;
}
.ftSec .ftBlock01 {
	font-size: 16px;
	display: flex;
	border-top: 1px solid #E0E0E0;
	border-bottom: 1px solid #E0E0E0;
	padding: 20px 0;
	margin-bottom: 20px;
}
.ftSec .ftBlock01 .ftBox {
	display: block;
	float: left;
	border-right: 1px solid #CCCCCC;
	min-width: 25%;
	padding: 0 10px 0 30px;
	box-sizing: border-box;
}
.ftSec .ftBlock01 .ftBox.pc {
	border-right: none;
}
.ftSec .ftBlock01 .ftBox a {
	color: #000000;
	font-size: 14px;
}
.ftSec .ftBlock01 .ftBox p {
	font-weight: bold;
}
.ftSec .ftBlock01 .ftBox ul {
	margin: 10px 0 20px 0;
}
.ftSec .ftBlock01 .ftBox ul li {
	font-size: 0.9em;
	line-height: 2.2;
}
.ftSec .ftBlock01 .ftBox p + p{
	margin-top: 20px;
}
.ftSec .mail{
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 20px 20px;
}
.ftSec .mail img{
	vertical-align: middle;
	margin-right: 10px;
}
.ftSec .ftBlock02 {
	font-size: 16px;
	display: flex;
}
.ftSec .ftBlock02 .ftBox {
	display: block;
	float: left;
	border-right: 1px solid #CCCCCC;
	padding: 0 10px 0 30px;
	box-sizing: border-box;
}
.ftSec .ftBlock02 .ftBox01 {
	min-width: 25%;
}
.ftSec .ftBlock02 .ftBox02 {
	min-width: 35%;
}
.ftSec .ftBlock02 .ftBox03 {
	min-width: 40%;
}
.ftSec .ftBlock02 .ftBox.ftBox03 ul{
	margin-top: 0;
}
.ftSec .ftBlock02 .ftBox:last-child {
	border-right: none;
}
.ftSec .ftBlock02 .ftBox a {
	color: #000000;
	font-size: 14px;
}
.ftSec .ftBlock02 .ftBox p {
	font-size: 14px;
	font-weight: bold;
}
.ftSec .ftBlock02 .ftBox p span{
	font-weight: normal;
	font-size: 0.9em;
}
.ftSec .ftBlock02 .ftBox ul {
	margin: 10px 0 20px 0;
}
.ftSec .ftBlock02 .ftBox ul li {
	font-size: 0.9em;
	line-height: 2.2;
}
.ftSec .ftBlock02 .ftBox p + p{
	margin-top: 20px;
}
.ftSec .ftBlock02 a{
	width: 198px;
	display: block;
	background: url(/common/img/footer/icn_link_arrow_right.png) no-repeat right center;
}
.ftSec .ftBlock02 .tel{
	pointer-events: none;
	background: none;
}
.footer .ftSec00{
	margin-bottom: 20px;
}
.footer .sns{
	display: inline-block;
}
.footer .sns span{
	font-weight: bold;
	vertical-align: middle;
	margin: 0 16px;
	font-size: 14px;
}
.footer .sns a{
	display: inline-block;
	vertical-align: middle;
	margin-left: 12px;
}
.footer .sns a:hover{
	opacity: 0.6;
}
.footer .page_top{
	display: inline-block;
	float: right;
}
.footer .copyright p{
	display: inline-block;
	font-size: 14px;
	color: #777777;
	margin-top: 30px;
}
.footer .copyright a{
	float: right;
}



}


/*==============================
		width>1150px
==============================*/
@media screen and (min-width: 1151px) {

	/*--------------------------------------------------
			conts
	--------------------------------------------------*/
	.conts {
		width: calc(100% - 190px);
		min-width: 960px;
		padding-top: 30px;
		margin-left: 190px;
	}

	/*--------------------------------------------------
			header
	--------------------------------------------------*/
	#headerArea {
		position: fixed;
		width: 190px;
		z-index: 0;
		height:100%;
		z-index: 9999;
	}
	#headerArea .header_sp {
		display: none;
	}
	.headerStandard {
		display: none;
	}
	.headerMenu .control{
		display: none;
	}
	.headerMenu .direct_link{
		display: none;
	}
	.headerMenu .layer_1 ul li:nth-child(3){
		margin-top: 52px;
	}
	
	/*--------------------------------------------------
			footer
	--------------------------------------------------*/
	#footerArea{
		width: calc(100% - 190px);
		min-width: 960px;
		margin-left: 190px;
		padding-top: 80px;
	}
}

/*==============================
		width<1150px
==============================*/
@media screen and (max-width: 1150px){
	/*--------------------------------------------------
			conts
	--------------------------------------------------*/
	.conts {
		width: 100%;
		min-width: 960px;
		padding-top: 30px;
		margin: 80px 0 0;
	}
	
	
	/*--------------------------------------------------
			mainConts
	--------------------------------------------------*/
	.mainConts {
		width: 960px;
		margin: 0 auto;
		background: #FFFFFF;
	}
	
	#headerArea .pc{display: none !important;}
	#headerArea .sp{display: block !important;}
	/*--------------------------------------------------
			header
	--------------------------------------------------*/
	#headerArea{
		position: fixed;
		width: 100%;
		height: 80px;
		top: 0;
		background: #FFFFFF;
		z-index: 9999;
		border-bottom: 1px solid #CCCCCC;
		box-sizing: border-box;
	}
	.headerStandard {
		width: 100%;
		padding-top: 5px;
		background: url(/common/img/header/sp/img_header_line.png) repeat-x left top;
		background-size: auto 5px;
	}
	.headerStandard .headerInner {
		padding: 10px 4%;
	}
	.headerStandard .headerLogo,
	.headerStandard .headerBtn {
		display: inline-block;
		vertical-align: middle;
	}
	.headerStandard .headerLogo{
		width: calc(100% - 40px);
	}
	.headerStandard .headerBtn img{
		width: 34px;
	}
	#headerArea .headerMenu {
		position: fixed;
		width: 190px;
		left: 100%;
		transition: left 300ms ease-in-out;
	}
	#headerArea .headerMenu.opened {
		display: block;
		left: calc(100% - 190px);
		transition: left 300ms ease-in-out;
	}
	.headerMenu .layer_1{
		background-position: right;
	}
	.headerMenu ul.layer_2{
		z-index: 9999;
		left: 100%;
		transition: left 300ms ease-in-out;
	}
	.headerMenu ul.layer_2.opened{
		z-index: 9999;
		left: calc(100% - 210px);
		transition: left 300ms ease-in-out;
	}
	.headerMenu ul.layer_2 li:first-child{
		margin-top: 0;
	}
	.headerMenu .control{
		display: block;
		margin-bottom: 0;
	}
	.headerMenu .cancel_header_side{
		display: block;
		width: 30px;
		height: 30px;
		border-radius: 30px;
		float: right;
		padding: 3px 7px;
		box-sizing: border-box;
		background: #DD1F30;
	}
	.headerMenu .logo{
		margin-top: 0;
	}
	
	/*--------------------------------------------------
			footer
	--------------------------------------------------*/
	#footerArea{
		width: 100%;
		min-width: 960px;
		margin-left: 0;
		padding-top: 80px;
	}
}




/*==============================

		SP

==============================*/
@media screen and (max-width: 640px) {
	

	.pc {display: none !important;}
	body {
		font-size: 12px;
		line-height: 1.6;
		font-family: "HraKakuProN-W6", "HelveticaNeue";
		-webkit-text-size-adjust: none;
		-moz-text-size-adjust: none;
	}
	a,
	a:hover,
	a:link,
	a:visited {
		color: #333333;
		text-decoration: none;
	}
	body * {box-sizing: border-box;}

	/*--------------------------------------------------
			wrap
	--------------------------------------------------*/
	.wrap > * {
		box-sizing: border-box;
	}
	.wrap {
		width: 100%;
	}
	.wrap img {
		width: 100%;
	}


	/*--------------------------------------------------
			conts
	--------------------------------------------------*/
	.conts {
		min-width: 100%;
		padding-top: 30px;
		margin: 0;
	}


	/*--------------------------------------------------
			mainConts
	--------------------------------------------------*/
	.mainConts {
		width: 100%;
		background: #FFFFFF;
	}
	

/*--------------------------------------------------
		partsReset
--------------------------------------------------*/
.partsReset .pc {
	display: none !important;
}
.partsReset img{
	width: 100%;
	height: auto;
}


/*--------------------------------------------------
		header
--------------------------------------------------*/
#headerArea{
	position: relative;
	min-width: 100%;
	height: 80px;
	z-index: 9999;
}
#headerArea .headerMenu.opened,
.headerMenu ul.layer_2.opened {
	left: 0;
}
.headerStandard .headerLogo img{
	width: auto;
}
.headerStandard {
	width: 100%;
	padding-top: 5px;
	background: url(/common/img/header/sp/img_header_line.png) repeat-x left top;
	background-size: auto 5px;
}
.headerStandard .headerInner {
	padding: 10px 4%;
}
#headerArea .headerMenu,
.headerMenu ul,
.headerMenu .layer_1,
.headerMenu .layer_1 ul{
	width: 100%;
}
.headerMenu li img{
	width: auto;
}
.headerMenu .search{
	width: 200px;
}
.headerMenu .cancel_header_side img{
	width: 16px;
}

/*--------------------------------------------------
		header_basic
--------------------------------------------------*/
.headerBasic {
	width: 100%;
	padding-top: 5px;
	background: url(/common/img/header/sp/img_header_line.png) repeat-x left top;
	background-size: auto 5px;
}
.headerBasic .headerInner {
	padding: 10px 4%;
}
.headerBasic .headerLogo {
	width: 25%;
}



/*--------------------------------------------------
		footer
--------------------------------------------------*/
#footerArea{
	min-width: 100%;
}
footer {
	font-size: 12px;
}
.footer {
	background: #FFFFFF;
	background: #FFFFFF url(/common/img/footer/sp/border.png) repeat no-repeat;
	background-size: auto 5px;
}
.footer a {
	color: #6B4323;
	text-decoration: none;
}
.footerLine01 {
	width: 100%;
	padding: 15px 20px 20px 20px;
	margin: 0 auto;
	box-sizing: border-box;
}
.ftSec {
	width: 100%;
	margin: 0 auto 20px auto;
	position: relative;
}
.ftSec .ftBlock01 {
	font-size: 16px;
	border-top: 1px solid #CCCCCC;
	margin-bottom: 40px;
}
.ftSec .ftBlock01 .ftBox {
	display: block;
	float: left;
	border-bottom: 1px solid #CCCCCC;
	width: 100%;
	padding: 12px 10px 12px 15px;
	box-sizing: border-box;
}
.ftSec .ftBlock01 .ftBox.pc {
	border-right: none;
}
.ftSec .ftBlock01 .ftBox a {
	width: 100%;
	display: block;
	color: #000000;
	font-size: 14px;
	background: url(/common/img/footer/icn_link_arrow_right.png) no-repeat right center;
}
.ftSec .ftBlock01 .ftBox p {
	font-weight: bold;
}
.ftSec .ftBlock01 .ftBox ul {
	margin: 10px 0 20px 0;
	display: none;
}
.ftSec .ftBlock01 .ftBox ul li {
	font-size: 0.9em;
	line-height: 2.2;
}
.ftSec .mail{
	font-size: 16px;
	font-weight: bold;
	margin: 0 0 20px 20px;
}
.ftSec .mail img{
	width: 22px;
	vertical-align: middle;
	margin-right: 10px;
}
.ftSec .ftBlock02 {
	font-size: 16px;
	border-top: 1px solid #CCCCCC;
	margin-bottom: 20px;
}
.ftSec .ftBlock02 .ftBox {
	display: block;
	width: 100%;
	float: left;
	box-sizing: border-box;
}
.ftSec .ftBlock02 .ftBox.ftBox03 ul{
	margin-top: 0;
}
.ftSec .ftBlock02 .ftBox:last-child {
	border-right: none;
}
.ftSec .ftBlock02 .ftBox a {
	color: #000000;
	font-size: 14px;
}
.ftSec .ftBlock02 .ftBox p {
	font-size: 14px;
	font-weight: bold;
	border-bottom: 1px solid #CCCCCC;
	padding: 12px 10px 12px 15px;
}
.ftSec .ftBlock02 .ftBox p span{
	font-weight: normal;
	font-size: 0.9em;
}
.ftSec .ftBlock02 .ftBox ul li {
	font-size: 0.9em;
	border-bottom: 1px solid #CCCCCC;
	padding: 12px 10px 12px 15px;
}
.ftSec .ftBlock02 a{
	width: 100%;
	display: block;
	background: url(/common/img/footer/icn_link_arrow_right.png) no-repeat right center;
}
.ftSec .ftBlock02 .tel{
	width: 150px;
	padding: 16px 10px;
	border: 1px solid #E0E0E0;
	border-radius: 10px;
	background: url(/common/img/footer/icn_link_arrow_right.png) no-repeat 90% center;
	margin: 15px 0;
}
.footer .ftSec00{
	margin-bottom: 18px;
}
.footer .sns{
	display: inline-block;
	margin-top: 5px;
}
.footer .sns img{
	width: 27px;
	height: 27px;
}
.footer .sns span{
	font-weight: bold;
	vertical-align: middle;
	margin-left: 10px;
	font-size: 14px;
}
.footer .sns a{
	display: inline-block;
	vertical-align: middle;
	margin-left: 8px;
	width: 27px;
}
.footer .sns a:hover{
	opacity: 0.6;
}
.footer .page_top{
	display: inline-block;
	float: right;
	width: 35px;
}
.footer .copyright p{
	display: block;
	max-width: 230px;
	width: 70%;
	float: left;
	margin-top: 30px;
}
.footer .copyright a{
	width: 30%;
	max-width: 103px;
	float: right;
}





}

