@charset "UTF-8";


.forpc { display: block!important; }
.forsp { display: none!important; }
.forpcinline { display: inline!important; }
.forspinline { display: none!important; }

a[href^="tel:"]:link, a[href^="tel:"]:visited, a[href^="tel:"]:hover, a[href^="tel:"]:active {
	color: #333;
	text-decoration: none;
}
@media screen and (min-width: 700px) {
	a[href^="tel:"]:link, a[href^="tel:"]:visited, a[href^="tel:"]:hover, a[href^="tel:"]:active {
		pointer-events: none;
	}
}

body {
	padding-top: 45px;
	padding-bottom: 45px;
}
#menuoverlay {
	width: 100vw;
	height: 100vh;
	background: rgba(0,0,0,.5);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 124;
	display: none;
}

header {
	width: 100%;
	background: #fff;
	height: 40px;
	padding: 10px 0;
	box-sizing: border-box;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 123;
	transition: .3s;
}
	body#toppage header {
		transform: translateY(-40px);
	}
	body#toppage header.is-show {
		transform: translateY(0);
	}
header .logo {
	width: 106px;
	line-height: 1;
	margin-left: 2vw;
}
header .logo img {
	width: 100%;
}
header #menuBtn {
	width: 30px;
	height: 30px;
	background: url(../images/menubtn.png) no-repeat;
	background-size: 30px auto;
	position: absolute;
	top: 5px;
	right: 2vw;
	z-index: 125;
	cursor: pointer;
}
#subHead {
	font-size: .75rem;
	text-align: center;
	margin: 0 0 20px;
	padding: 0 0 15px;
	position: relative;
}
#subHead::after {
	content: " ";
	width: 112px;
	height: 1px;
	border-top: solid 1px #000;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform:translateX(-50%);
}
#spPageTitle {
	display: none;
}
#pageCopy {
	border-bottom: solid 1px #464646;
	margin: 30px 0 0 0;
	padding: 0 0 10px;
}

#drawer {
	width: 310px;
	display: flex;
	position: fixed;
	top: 0;
	right: -310px;
	cursor: pointer;
	z-index: 124;
	transition: .5s;
}
#drawer.opened {
	right: 0;
}
#drawer #drawerClose {
	width: 30px;
	height: 30px;
	background: url(../images/menuBtn_close.png) no-repeat;
	background-size: 30px auto;
	margin-right: 10px;
	margin-top: 10px;
}
#drawer .dmenu {
	width: 270px;
	height: 100vh;
	text-align: left;
	background: #FFF;
	padding: 20px 30px;
	box-sizing: border-box;
	overflow-y: auto;
}
#drawer .dmenu div {
	width: 106px;
	margin: 0 0 35px;
}
#drawer .dmenu div img {
	width: 100%;
}
#drawer .dmenu ul li {
	position: relative;
}
#drawer .dmenu ul li span {
	color: #000;
	font-size: .6rem;
	position: absolute;
	top: 10px;
}
#drawer .dmenu ul li span.servicearrow { left: calc(30px + 13em); }
#drawer .dmenu ul li span.aboutusarrow { left: calc(30px + 10em); }

#drawer .dmenu ul li span + ul {
	display: none;
}
#drawer .dmenu ul li span + ul li a {
	font-size: .875rem;
	padding: 4px 0 4px 20px;
	position: relative;
}
#drawer .dmenu ul li span + ul li a::after {
	content: " ";
	width: 4px;
	height: 4px;
	border-top: solid 1px #000;
	border-right: solid 1px #000;
	margin-top: -.1em;
	position: absolute;
	top: 50%;
	left: 5px;
	transform: rotate(45deg);
}

#drawer .dmenu ul li a {
	padding: 6px 0;
	display: block;
}
#drawer .dmenu ul li a:link, #drawer .dmenu ul li a:visited {
	color: #000;
	text-decoration: none;
}
#drawer .dmenu ul li a:hover, #drawer .dmenu ul li a:active {
	color: #000;
	text-decoration: underline;
}

#totop {
	cursor: pointer;
	position: fixed;
	bottom: 15%;
	right: 20px;
	z-index: 125;
	display: none;
}

footer {
	width: 100%;
	box-sizing: border-box;
	background: #000;
	padding: 10px 30px;
	position: fixed;
	bottom: 0;
	left: 0;
	z-index: 124;
}
footer ul.icons {
	position: absolute;
	top: 15px;
	left: 30px;
	display: flex;
}
footer ul.icons li {
	width: 20px;
	line-height: 1;
	margin: 0 15px 0 0;
}
footer ul.icons li img {
	width: 100%;
}
footer ul.icons li:last-child {
	border-left: solid 1px #FFF;
	padding-left: 20px;
}
footer ul.links {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	position: absolute;
	top: 15px;
	right: 30px;
	display: flex;
	align-items: flex-end;
}
footer ul.links li {
	font-size: .875rem;
	line-height: 1;
	margin-left: 20px;
}
footer ul.links li a:link, footer ul.links li a:visited {
	color: #FFF;
	text-decoration: none;
}
footer ul.links li a:hover, footer ul.links li a:active {
	color: #FFF;
	text-decoration: underline;
}
footer small {
	color: #5A5A5A;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: .75rem;
}

/* ---------------- ブロック --------- */

section {
	padding: 60px 0;
}
.subContents {
	width: 1024px;
	text-align: left;
	margin: 0 auto;
}
.subContents2 {
	width: 944px;
	text-align: left;
	margin: 0 auto;
}
.subContents3 {
	width: 560px;
	text-align: left;
	margin: 0 auto;
}

/* ---------------- 見出し --------- */
/*ヘッダーにつかう見出し*/
.midashi0 {
	font-size: 1.375rem;
	text-align: center;
	line-height: 1;
	position: absolute;
	top: 13px;
	left: 50%;
	transform: translateX(-50%);
}
h1.midashi0 {
	cursor: pointer;
}
.midashi1 {
	font-size: 1.875rem;
	text-align: center;
	line-height: 1.3;
	margin: 0 0 40px;
	padding: 0 0 20px;
	position: relative;
}
.midashi1 span {
	font-size: 1.0625rem;
}
.midashi1::after {
	content: " ";
	width: 140px;
	height: 2px;
	background: #646464;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}


/* ---------------- パーツ --------- */

.linkarea_parent {
	position: relative;
}
.linkarea_parent:hover{
	opacity:.7;
}
.linkarea_parent a {
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	font-size: 0;
	text-indent: -9999px;
	overflow: visible;
	z-index: 10;
}

ul.disclist li {
	list-style: disc;
	margin: 0 0 0 20px;
}

/* FOR tablet
***************************************************************************/
@media screen and (max-width:1024px) {

	img { max-width: 100%; }

	.subContents {
		width: 90%;
	}
	.subContents2 {
		width: 90%;
	}
	.subContents3 {
		width: 70%;
		text-align: left;
		margin: 0 auto;
	}

	#drawer .dmenu ul li a {
		display: inline-block;
	}

}



/* FOR smartphone landscape
***************************************************************************/
@media screen and (max-width:700px) {

	.forpc { display: none!important; }
	.forsp { display: block!important; }
	.forpcinline { display: none!important; }
	.forspinline { display: inline!important; }
	img { width: 100%; }


	body {
		padding-top: 10vw;
		padding-bottom: 0;
	}

	header {
		height: auto;
		padding: 3vw 0;
		z-index: 123;
		transition: none;
	}
		body#toppage header {
			transform: translateY(0);
		}
		body#toppage header.is-show {
			transform: translateY(0);
		}
	header .logo {
		width: 22.7vw;
		margin-left: 3vw;
	}
	header #menuBtn {
		width: 7vw;
		height: 7vw;
		background-size: 7vw auto;
		position: absolute;
		top: 1.63vw;
		right: 3vw;
		cursor: pointer;
	}
	#subHead {
		display: none;
	}
	#spPageTitle {
		font-size: 1.375rem;
		text-align: center;
		border-bottom: solid 1px #646464;
		margin: 0 0 15px;
		padding: 0 0 10px;
		display: block;
	}
	#pageCopy {
		display: none;
	}

	#drawer {
		width: 69.5vw;
		right: -69.5vw;
	}
	#drawer.opened {
		right: 0;
	}
	#drawer #drawerClose {
		width: 8vw;
		height: 8vw;
		background-size: 8vw auto;
		margin-right: 1.5vw;
		margin-top: 1.5vw;
	}
	#drawer .dmenu {
		width: 60vw;
		padding: 15px 20px;
	}
	#drawer .dmenu div {
		width: 22.7vw;
		margin: 0 0 20px;
	}
	#drawer .dmenu ul li span {
		font-size: 1rem;
		padding: 0 10px;
		top: 7px;
		left: auto;
		right: -10px;
	}
	#drawer .dmenu ul li span.servicearrow { left: auto; }
	#drawer .dmenu ul li span.aboutusarrow { left: auto; }


	#totop {
		width: 20px;
		position: fixed;
		bottom: 15%;
		right: 10px;
		z-index: 125;
	}


	footer {
		width: auto;
		box-sizing: border-box;
		background: #000;
		padding: 0;
		display: block;
		position: relative;
		z-index: 121;
	}
	footer ul.icons {
		position: static;
		background: #000;
		padding: 10px 0;
		display: flex;
		justify-content: center;
	}
	footer ul.icons li {
		width: 32px;
		margin: 0 10px;
	}
	footer ul.icons li img {
	}
	footer ul.icons li:last-child {
		padding-left: 10px;
	}
	footer ul.links {
		display: none;
	}
	footer small {
	}

	/* ---------------- ブロック --------- */
	section {
		padding: 30px 0;
	}
	.subContents {
		width: 80vw;
	}
	.subContents2 {
		width: 80vw;
	}
	.subContents3 {
		width: 80vw;
	}

	/* ---------------- 見出し --------- */
	/*ヘッダーにつかう見出し*/
	.midashi0 {
		display: none;
	}
	.midashi0-2 {
		text-align: center;
	}
	.midashi1 {
		font-size: 1.4rem;
		line-height: 1.3;
		margin: 0 0 30px;
		padding: 0 0 15px;
	}
	.midashi1 span {
		font-size: .8rem;
	}
	.midashi1::after {
		content: " ";
		width: 30vw;
		height: 2px;
		background: #646464;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}


	/* ---------------- パーツ --------- */
	
	.linkarea_parent {
	}
	.linkarea_parent:hover{
		opacity: 1;
	}
	.linkarea_parent a {
	}


}


/* FOR smartphone portrait
***************************************************************************/
@media screen and (max-width:400px) {


}


