@charset "utf-8";

html {
	overflow-y: scroll;
	-webkit-text-size-adjust: none;
	font-size: 62.5%;
}

body {
	color: #333;
	background-color: #fff;
	font-family: 'M PLUS 1', sans-serif;
	margin: 0px;
	padding: 0px;
	font-size: 1.0rem;
	font-weight: normal;
	line-height: 1.5;
}

article, aside, dialog, figure, footer, header, hgroup, nav, section, main {
	display: block;
}

body, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0px;
	padding: 0px;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-weight: normal;
	font-style: normal;
}

ul, ol, li {
	list-style: none;
}

h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

input, textarea {
	vertical-align: middle;
}

input:focus,
textarea:focus,
select:focus {
	outline: none;
}

img {
	width: 100%;
	height: auto;
	border-style: none;
	vertical-align: top;
	font-size: 0;
	line-height: 0;
}

a {
	color: #333;
	text-decoration: none;
	outline: none;
}

a:focus {
	outline: none;
}

/*----- .clearfix -----*/

.clearfix::after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.cinzel {
	font-family: 'Cinzel', serif;
}

.roboto {
	font-family: 'Roboto', sans-serif;
}

.mincho {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;

}

@media screen and (min-width: 768px), print and (min-width: 0px) {
	/*--------------------------------------------------------------------------*/

	a {
		transition-property: opacity;
		transition-duration: 0.5s;
	}

	a:hover {
		opacity: 0.6;
	}

}

/*----- common -----*/

#wrap {
	overflow: hidden;
}

main {
	width: 100%;
	position: relative;
}

body:not(.top) main {
	padding-top: 140px;
}

.container {
	margin: 0 auto;
	text-align: left;
	box-sizing: content-box;
	z-index: 20;
	position: relative;
}

#ftNavi #ftArea,
.container {
	max-width: 1200px;
}

#ftNavi #ftBt,
#ftNavi #ftLink {
	max-width: 1350px;
}

header {
	width: 100%;
	z-index: 1000;
	position: fixed;
}

header #headerIn {
	padding: 0 0 0 5%;
	height: 140px;
	align-items: center;
	justify-content: space-between;
	display: flex;
	position: relative;
}

header #headerL {
	align-items: center;
	display: flex;
}

header #headerL h1 {
	width: 180px;
}

header #headerL h1 a {
	display: block;
}

header #headerL h1 a:hover {
	opacity: 1;
}

header #headerL p {
	margin-left: 40px;
	color: #7B7C89;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.05em;
}

header #headerL p span {
	font-size: 1.1rem;
	display: block;
}

header #hamburger,
header #gNavi h1,
header #gNavi #mNavi .top {
	display: none;
}

header #gNavi #mNavi {
	align-items: center;
	display: flex;
}

header #gNavi #mNavi li {
	margin-right: 30px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	letter-spacing: 0.05em;
}

header #gNavi #mNavi li a {
	color: #7B7C89;
}

header #gNavi #mNavi .etc {
	width: 40px;
	background: url("../img/icon_dot3.svg") no-repeat center center / 22px auto;
	font-size: 0;
	z-index: 10;
	position: relative;
}

header #gNavi #mNavi .etc a {
	background: #7B7C89 url("../img/icon_dot3_w.svg") no-repeat center center / 22px auto;
	border-radius: 50%;
	height: 40px;
	display: block;
	opacity: 0;
}

header #gNavi #mNavi .etc a.on,
header #gNavi #mNavi .etc a:hover {
	opacity: 1;
}

header #gNavi #mNavi .contact {
	margin-right: 0;
	width: 140px;
	line-height: 2rem;
	text-align: center;
}

header #gNavi #mNavi .contact a {
	padding: 60px 0;
	background: #7B7C89;
	color: #fff;
	display: block;
}

header #gNavi #sNavi {
	padding: 44px 0 10px 30px;
	width: 220px;
	background: #7B7C89 url("../img/icon_dot3_w.svg") no-repeat right 9px top 18px / 22px auto;
	box-sizing: border-box;
	right: 170px;
	top: 50px;
	z-index: 1;
	position: absolute;
	transform: translateX(9999px);
	opacity: 0;
	transition: transform 0s 0.2s, opacity 0.1s 0s;
}

header #gNavi #sNavi.open {
	transform: translateX(0);
	opacity: 1;
	transition: transform 0s, opacity 0.3s;
}

header #gNavi #sNavi li {
	margin-bottom: 20px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.5rem;
	text-align: left;
	letter-spacing: 0.05em;
}

header #gNavi #sNavi li a {
	color: #fff;
}

@media screen and (max-width: 1199px) {

	body:not(.top) main {
		padding-top: 70px;
	}

	header #headerIn {
		padding: 0 0 0 25px;
		background: #fff;
		height: auto;
	}

	header #headerL {
		display: block;
	}

	header #headerL h1 {
		width: 140px;
	}

	header #headerL p {
		display: none;
	}

	header #hamburger {
		width: 70px;
		height: 70px;
		background: #7B7C89;
		display: block;
		z-index: 11;
		position: relative;
		cursor: pointer;
	}

	header #hamburger span,
	header #hamburger::before,
	header #hamburger::after {
		content: "";
		width: 34px;
		height: 1px;
		background: #fff;
		font-size: 0;
		line-height: 0;
		text-indent: -9999px;
		display: block;
		right: 18px;
		position: absolute;
		transition: all 0.3s ease-out;

	} 

	header #hamburger::before {
		top: 28px;
	} 

	header #hamburger span {
		top: 34px;
		opacity: 1;
	} 

	header #hamburger::after {
		top: 40px;
	}

	header.open #hamburger::before {
		top: 34px;
		transform: rotate(45deg);
	}

	header.open #hamburger span {
		opacity: 0;
	}

	header.open #hamburger::after {
		top: 34px;
		transform: rotate(-45deg);
	}

	header #gNavi {
		width: 100%;
		height: 100vh;
		background: #7B7C89;
		box-sizing: border-box;
		overflow-y: auto;
		left: 100%;
		top: 0;
		position: absolute;
		transform: translateX(0);
		opacity: 0;
		transition: transform 0s 0.2s, opacity 0.1s 0s;
	}

	header.open #gNavi {
		transform: translateX(-100%);
		opacity: 1;
		transition: transform 0s, opacity 0s;
	}

	header #gNavi nav {
		padding: 26px 25px;
	}

	header #gNavi h1 {
		margin: 0 0 50px;
		width: 140px;
		display: block;
	}

	header #gNavi #mNavi .top {
		display: block;
	}

	header #gNavi #mNavi {
		margin: 0 15px;
		padding: 0 0 5px;
		display: block;
	}

	header #gNavi #mNavi li {
		margin-right: 0;
		margin-bottom: 20px;
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 2.5rem;
		text-align: left;
		letter-spacing: 0.05em;
	}

	header #gNavi #mNavi li a {
		color: #fff;
	}

	header #gNavi #mNavi .etc {
		display: none;
	}

	header #gNavi #mNavi .contact {
		width: auto;
		line-height: 2.5rem;
		text-align: left;
	}

	header #gNavi #mNavi .contact a {
		padding: 0;
		background: none;
		display: inline;
	}

	header #gNavi #sNavi {
		margin: 0 15px;
		padding: 24px 0 0;
		width: auto;
		background: none;
		border-top: 1px #8C8D99 solid;
		right: auto;
		top: auto;
		position: relative;
		transform: translateX(0);
		opacity: 1;
	}

}

#ftNavi {
	width: 100%;
	background: #F7F7F7;
	position: relative;
}

#ftNavi::before {
	content: "";
	width: 100%;
	height: 370px;
	background: url("../img/bg_btm.jpg") no-repeat center top / cover;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	left: 0;
	top: 0;
	z-index: 0;
	position: absolute;
}

#ftNavi #ftArea {
	margin: 0 auto;
	padding: 10px 10%;
	min-height: 300px;
	color: #fff;
	text-align: left;
	align-items: center;
	justify-content: space-between;
	display: flex;
	z-index: 1;
	position: relative;
}

#ftNavi #ftArea dl {
	width: 100%;
}

#ftNavi #ftArea dl dt {
	margin-bottom: 10px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.2rem;
	letter-spacing: 0.1em;
}

#ftNavi #ftArea dl dd {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.4rem;
	letter-spacing: 0.05em;
}

#ftNavi #ftArea figure {
	width: 100%;
}

#ftNavi #ftArea figure figcaption {
	margin-top: 6px;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.7rem;
	letter-spacing: 0.05em;
	text-align: center;
}

#ftNavi #ftBt {
	margin: 0 auto;
	padding: 0 5%;
	color: #fff;
	text-align: center;
	align-items: center;
	display: flex;
	z-index: 1;
	position: relative;
}

#ftNavi #ftBt > div {
	width: 50%;
	background: #F7F7F7;
}

#ftNavi #ftBt a {
	padding: 119px 0 122px;
	display: block;
}

#ftNavi #ftBt .faq a {
	background: #D9D9D9;
}

#ftNavi #ftBt .contact a {
	background: #E6E6E6;
}

#ftNavi #ftBt span {
	display: block;
	white-space: nowrap;
}

#ftNavi #ftBt .cinzel {
	margin-bottom: 21px;
	color: #7B7C89;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.2rem;
	letter-spacing: 0.05em;
}

#ftNavi #ftBt .mincho {
	color: #333;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 3.6rem;
	letter-spacing: 0.1em;
}

#ftNavi #ftBt a {
	transition-property: background;
	transition-duration: 0.5s;
}

#ftNavi #ftBt .faq a:hover {
	background: #696969;
	opacity: 1;
}

#ftNavi #ftBt .contact a:hover {
	background: #767676;
	opacity: 1;
}

#ftNavi #ftBt a .cinzel,
#ftNavi #ftBt a .mincho {
	transition-property: color;
	transition-duration: 0.5s;
}

#ftNavi #ftBt a:hover .cinzel,
#ftNavi #ftBt a:hover .mincho {
	color: #fff;
}

#ftNavi #ftBt a:hover .mincho {
	color: #ddd;
}

#ftNavi #ftLink {
	margin: 0 auto;
	padding: 0 5%;
}

#ftNavi #ftLink ul {
	padding: 30px 0 16px;
	border-bottom: 1px #EBEBEB solid;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	display: flex;
}

#ftNavi #ftLink ul li {
	margin: 0 1em 1em;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 2rem;
	text-align: center;
	letter-spacing: 0.05em;
}

#ftNavi #ftLink ul li a {
	color: #7B7C89;
}

#ftNavi #ftTel {
	margin: 0 auto;
	padding: 30px 5%;
	max-width: 920px;
	color: #7B7C89;
	text-align: center;
}

#ftNavi #ftTel h2 {
	margin-bottom: 30px;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 2.3rem;
	letter-spacing: 0.1em;
}

#ftNavi #ftTel p {
	margin-top: 20px;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.7rem;
	letter-spacing: 0.05em;
}

#ftNavi #ftTel p span {
	margin-left: 20px;
	display: inline-block;
}

#ftNavi #ftTel .num {
	align-items: center;
	justify-content: space-between;
	display: flex;
}

#ftNavi #ftTel .num dl {
	width: calc(50% - 20px);
	padding: 30px 0;
	border: 1px #DDDDDD solid;
	align-items: center;
	justify-content: center;
	display: flex;
	box-sizing: border-box;
}

#ftNavi #ftTel .num dl.free {
	padding: 30px 0 14px 0;
}

#ftNavi #ftTel .num dl dt {
	margin-top: 5px;
	margin-right: 20px;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.6rem;
	letter-spacing: 0.1em;
}

#ftNavi #ftTel .num dl.free dt {
	padding: 0px 0px 20px 0px;
}

#ftNavi #ftTel .num dl dd {
	font-size: 2.4rem;
	font-weight: 400;
	line-height: 2.8rem;
	letter-spacing: 0.1em;
}

#ftNavi #ftTel .num dl dd a {
	color: #333;
}

#ftNavi #ftTel .num dl dd a.landline {
	display: block;
	font-size: 1.2rem;
	color: #333;
	line-height: 1.4;
}

#ftNavi #ftTel .num dl dd a:hover {
	opacity: 1;
}

#ftNavi #ftInfo {
	padding: 70px 0 100px;
	color: #7B7C89;
	text-align: center;
}

#ftNavi #ftInfo h1 {
	margin: 0 auto;
	width: 180px;
}

#ftNavi #ftInfo h1 a {
	display: block;
}

#ftNavi #ftInfo h1 a:hover {
	opacity: 1;
}

#ftNavi #ftInfo p {
	margin-top: 9px;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.9rem;
	letter-spacing: 0.05em;
}

#ftCopy {
	padding: 0 5%;
	min-height: 80px;
	color: #7B7C89;
	align-items: center;
	justify-content: space-between;
	display: flex;
}

#ftCopy ul {
	align-items: center;
	display: flex;
}

#ftCopy ul li {
	margin-right: 2em;
	font-size: 1.3rem;
	font-weight: 400;
	line-height: 1.9rem;
	letter-spacing: 0.05em;
}

#ftCopy ul li a {
	color: #7B7C89;
}

#ftCopy p {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.4rem;
	letter-spacing: 0.1em;
}

#ftCopy p small {
	font-size: 1em;
}

@media screen and (max-width: 767px) {

	#ftNavi::before {
		height: 449px;
	}

	#ftNavi #ftArea {
		padding: 50px 25px 40px;
		min-height: 0;
		display: block;
	}

	#ftNavi #ftArea dl {
		margin-bottom: 40px;
		width: 100%;
	}

	#ftNavi #ftArea dl dt {
		margin-bottom: 10px;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 2rem;
		letter-spacing: 0.1em;
	}

	#ftNavi #ftArea dl dd {
		font-size: 1.3rem;
		font-weight: 400;
		line-height: 2.4rem;
		letter-spacing: 0.05em;
	}

	#ftNavi #ftArea figure {
		margin:0 auto;
		width: 170px;
	}

	#ftNavi #ftArea figure figcaption {
		margin-top: 6px;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 1.7rem;
		letter-spacing: 0.05em;
		text-align: center;
	}

	#ftNavi #ftBt {
		padding: 0 25px;
		display: block;
	}

	#ftNavi #ftBt > div {
		width: 100%;
	}

	#ftNavi #ftBt a {
		padding: 29px 0 56px;
	}

	#ftNavi #ftBt .faq a {
		background: #D9D9D9 url("../img/arr_gr_r.svg") no-repeat right 20px center / 25px auto;
	} 

	#ftNavi #ftBt .contact a {
		background: #E6E6E6 url("../img/arr_gr_r.svg") no-repeat right 20px center / 25px auto;
	}

	#ftNavi #ftBt .cinzel {
		margin-bottom: 10px;
		font-size: 1.3rem;
		line-height: 1.8rem;
		letter-spacing: 0.05em;
	}

	#ftNavi #ftBt .mincho {
		font-size: 1.8rem;
		line-height: 2.7rem;
		letter-spacing: 0.1em;
	}

	#ftNavi #ftLink {
		padding: 0 25px;
	}

	#ftNavi #ftLink ul {
		padding: 30px 0 10px;
		border-bottom: 1px #EBEBEB solid;
		display: block;
	}

	#ftNavi #ftLink ul li {
		margin: 0 0 20px;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 2.2rem;
		text-align: center;
		letter-spacing: 0.05em;
	}

	#ftNavi #ftTel {
		padding: 30px 25px;
	}

	#ftNavi #ftTel h2 {
		margin-bottom: 20px;
		font-size: 1.5rem;
		font-weight: 500;
		line-height: 2.2rem;
		letter-spacing: 0.1em;
	}

	#ftNavi #ftTel p {
		margin-top: 0;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 2rem;
		letter-spacing: 0.05em;
	}

	#ftNavi #ftTel p span {
		margin-left: 0;
		display: block;
	}

	#ftNavi #ftTel .num {
		display: block;
	}

	#ftNavi #ftTel .num dl {
		margin-bottom: 10px;
		width: 100%;
		padding: 26px 0;
		border: 1px #DDDDDD solid;
		align-items: center;
		justify-content: center;
		display: flex;
		box-sizing: border-box;
	}

	#ftNavi #ftTel .num dl.free {
		padding: 26px 0 9px 0;
	}

	#ftNavi #ftTel .num dl dt {
		margin-top: 5px;
		margin-right: 10px;
		font-size: 1.4rem;
		font-weight: 400;
		line-height: 1.6rem;
		letter-spacing: 0.1em;
	}

	#ftNavi #ftTel .num dl dd {
		font-size: 2.4rem;
		font-weight: 400;
		line-height: 2.8rem;
		letter-spacing: 0.1em;
	}

	#ftNavi #ftInfo {
		padding: 20px 0 50px;
		text-align: center;
	}

	#ftNavi #ftInfo h1 {
		margin: 0 auto;
		width: 140px;
	}

	#ftNavi #ftInfo p {
		margin-top: 10px;
		font-size: 1.3rem;
		font-weight: 400;
		line-height: 1.9rem;
		letter-spacing: 0.05em;
	}

	#ftCopy {
		padding: 30px 25px;
		min-height: 0;
		display: block;
	}

	#ftCopy ul {
		margin: 0 0 30px;
		align-items: center;
		justify-content: center;
		display: flex;
	}

	#ftCopy ul li {
		margin: 0 1em;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 1.7rem;
		letter-spacing: 0.05em;
	}

	#ftCopy p {
		font-size: 1.1rem;
		font-weight: 400;
		line-height: 1.3rem;
		letter-spacing: 0.1em;
		text-align: center;
	}

	#ftCopy p small {
		font-size: 1em;
	}

}

#topHead {
	padding: 140px 10% 62px;
	min-height: 50vh;
	box-sizing: border-box;
	align-items: flex-end;
	display: flex;
}

#topHead .container {
	width: 100%;
	max-width: 100%;
}

#topHead h1 {
	margin-bottom: 10px;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 3.4rem;
	letter-spacing: 0.15em;
}

#topHead p {
	color: #7B7C89;
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 2rem;
	letter-spacing: 0.03em;
}

#topMv {
	margin: 0 auto 160px;
	padding: 0 5%;
}

#topMv .container {
	width: 100%;
	max-width: 100%;
	height: 100vh;
}

#topMv .mvBox {
	width: 100%;
	height: 100vh;
	left: 0;
	top: 0;
	position: absolute;
}

#topMv .mvBox figure {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

#topMv .mvBox figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
}

#topMv .mvBox:nth-of-type(1) {
	z-index: 43;
}

#topMv .mvBox:nth-of-type(2) {
	z-index: 41;
}

#topMv .mvBox:nth-of-type(3) {
	z-index: 40;
}

#topMv .mvBox:nth-of-type(4) {
	z-index: 39;
}

#topMv .mvBox:nth-of-type(5) {
	z-index: 38;
}

#topMv .mvBox:last-of-type {
	z-index: 42;
}

#topMv .mvBox.set figure img {
	animation: mainAnimeA 5.0s cubic-bezier(0.215, 0.61, 0.355, 1) 0.0s infinite;
}

#topMv > p {
	display: none;
}

@keyframes mainAnimeA {
	0% {
		clip-path: inset(0 0 0 70%);
		transform: scale(1.3);
		filter: blur(6px);
	}
	16% {
		filter: blur(0);
	}
	38% {
		clip-path: inset(0);
		transform: scale(1);
		filter: blur(0);
	}
	100% {
		clip-path: inset(0);
		transform: scale(1);
	}
}


#topMessage {
	margin: 0 auto 160px;
	padding: 80px 0;
	background: #F7F7F7;
}

#topMessage .container {
	padding: 0 10%;
	align-items: flex-end;
	justify-content: space-between;
	display: flex;
}

#topMessage figure,
#topMessage .topMain {
	width: calc(50% - 30px);
}

#topMessage figure figcaption {
	color: #7B7C89;
	font-size: 4rem;
	font-weight: 500;
	line-height: 5.4rem;
	letter-spacing: 0.1em;
	left: calc(50% + 30px);
	top: 0;
	position: absolute;
}

#topMessage .topMain {
	padding-top: 60px;
}

#topMessage .topMain h1 {
	margin-bottom: 40px;
	font-size: 2rem;
	font-weight: 600;
	line-height: 3rem;
	letter-spacing: 0.1em;
}

#topMessage .topMain p {
	margin-top: 2em;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#topPainting {
	margin: 0 auto 50px;
	background: #92ADB7;
}

#topReform {
	margin: 0 auto 160px;
	background: #F8F8F8;
}

#topPainting .container,
#topReform .container {
	max-width: 100%;
	align-items: center;
	display: flex;
}

#topPainting .container {
	flex-direction: row-reverse;
}

#topPainting figure,
#topReform figure,
#topPainting .topMain,
#topReform .topMain {
	width: 50%;
}

#topPainting figure,
#topReform figure {
	position: relative;
}

#topPainting figure figcaption,
#topReform figure figcaption {
	width: 100%;
	color: #fff;
	font-size: 3.6rem;
	font-weight: 500;
	line-height: 4.9rem;
	letter-spacing: 0.05em;
	text-align: center;
	left: 50%;
	top: 50%;
	position: absolute;
	transform: translate(-50%, -50%);
}

#topPainting .topMain,
#topReform .topMain {
	padding: 0 5%;
	box-sizing: border-box;
}

#topPainting .topMain {
	color: #fff;
}

#topPainting .topMain h1,
#topReform .topMain h1 {
	margin-bottom: 40px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 3.6rem;
	letter-spacing: 0.1em;
}

#topPainting .topMain p,
#topReform .topMain p {
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#topPainting .topMain .bt,
#topReform .topMain .bt {
	margin-top: 40px;
	width: 100%;
	max-width: 345px;
	font-size: 1.5rem;
	font-weight: 500;
}

#topPainting .topMain .bt a,
#topReform .topMain .bt a {
	padding: 14px 30px;
	display: block;
	position: relative;
	transition-property: color,background;
	transition-duration: 0.5s;
}

#topPainting .topMain .bt a {
	border: 1px #fff solid;
	color: #fff;
}

#topReform .topMain .bt a {
	border: 1px #7B7C89 solid;
	color: #7B7C89;
}

#topPainting .topMain .bt a:hover {
	background: #fff;
	color: #92ADB7;
	opacity: 1;
}

#topReform .topMain .bt a:hover {
	background: #7B7C89;
	color: #F8F8F8;
	opacity: 1;
}

#topPainting .topMain .bt a::before,
#topReform .topMain .bt a::before,
#topPainting .topMain .bt a::after,
#topReform .topMain .bt a::after {
	content: "";
	width: 25px;
	height: 9px;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	right: 19px;
	top: 25px;
	position: absolute;
}

#topPainting .topMain .bt a::before {
	background: url("../img/arr_bl_r.svg") no-repeat center center / contain;
	z-index: 1;
}

#topReform .topMain .bt a::before {
	background: url("../img/arr_cr_r.svg") no-repeat center center / contain;
	z-index: 1;
}

#topPainting .topMain .bt a::after {
	background: url("../img/arr_w_r.svg") no-repeat center center / contain;
	z-index: 2;
}

#topReform .topMain .bt a::after {
	background: url("../img/arr_gr_r.svg") no-repeat center center / contain;
	z-index: 2;
}

#topPainting .topMain .bt a::after,
#topReform .topMain .bt a::after {
	transition-property: opacity;
	transition-duration: 0.5s;
}

#topPainting .topMain .bt a:hover::after,
#topReform .topMain .bt a:hover::after {
	opacity: 0;
}


#topBottom {
	margin: 0 auto 160px;
	padding: 110px 0 120px;
	background: url("../img/bg_top_btm.jpg") no-repeat center top / cover;
}

#topBottom .container {
	padding: 0 10%;
	align-items: flex-start;
	justify-content: space-between;
	display: flex;
}

#topWorks,
#topPrice {
	width: calc(50% - 30px);
}

#topBottom h1 {
	margin-bottom: 20px;
	font-size: 4rem;
	font-weight: 500;
	line-height: 5.4rem;
	letter-spacing: 0.1em;
}

#topBottom .topMain {
	padding: 70px 60px;
	background: rgba(255,255,255,0.95);
}

#topBottom .topMain h2 {
	margin-bottom: 50px;
	font-size: 2rem;
	font-weight: 600;
	line-height: 3rem;
	letter-spacing: 0.1em;
}

#topBottom .topMain p {
	min-height: 4em;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.05em;
}

#topBottom .topMain .bt {
	margin-top: 20px;
	width: 100%;
	min-height: 0;
	font-weight: 500;
}

#topBottom .topMain .bt a {
	padding: 20px 0;
	border-bottom: 1px #e4e4e4 solid;
	color: #7B7C89;
	display: block;
	position: relative;
}

#topBottom .topMain .bt a::after {
	content: "";
	width: 25px;
	height: 9px;
	background: url("../img/arr_gr_r.svg") no-repeat center center / contain;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	right: 0;
	top: 30px;
	position: absolute;
}


@media screen and (max-width: 999px) {

	#topHead h1 .flgP {
		display: none !important;
	}

	#topMessage .container,
	#topPainting .container,
	#topReform .container {
		padding: 0;
		display: block;
	}

	#topBottom .container {
		display: block;
	}

	#topMessage {
		padding-bottom: 0;
	}

	#topMessage figure{
	width: calc(100% - 200px);
}

	#topMessage figure figcaption {
		color: #000;
		left: auto;
		right: 10%;
		top: 80px;
	}

	#topPainting figure,
	#topReform figure {
		width: 100%;
	}

	#topMessage .topMain,
	#topPainting .topMain,
	#topReform .topMain {
		padding: 50px 10% 80px;
		width: auto;
	}

	#topWorks,
	#topPrice {
		width: 100%;
	}

	#topWorks {
		margin-bottom: 80px;
	}

}

@media screen and (max-width: 767px) {

	#topHead {
		padding: 70px 25px;
		height: calc(50svh + 70px);
		min-height: 250px;
		box-sizing: border-box;
		align-items: flex-end;
		display: flex;
	}

	#topHead .container {
		width: 100%;
	}

	#topHead h1 {
		margin-bottom: 10px;
		font-size: 1.7rem;
		font-weight: 700;
		line-height: 2.7rem;
		letter-spacing: 0.1em;
	}

	#topHead p {
		display: none;
	}

	#topMv {
		margin-bottom: 140px;
		padding: 0;
		width: 100%;
		position: relative;
	}

	#topMv,
	#topMv .mvBox,
	#topMv .mvBox figure {
		height: calc(100vh - 70px);
	}
	
	#topMv > p {
		display: block;
		padding: 0px 30px 0px 0px;
		position: absolute;
		top: 70px;
		left: 25px;
		z-index: 30;
		font-size: 1.2rem;
		font-weight: 400;
		line-height: 2.2em;
		letter-spacing: 0.03em;
		color: #fff;
	}

	#topMessage {
		margin: 0 auto 140px;
		padding: 50px 0 0;
	}

	#topMessage figure{
	width: calc(100% - 110px);
}

	#topMessage figure figcaption {
		color: #000;
		font-size: 2.9rem;
		line-height: 3.9rem;
		left: auto;
		right: 25px;
		top: 60px;
	}

	#topPainting figure,
	#topReform figure {
		width: 100%;
	}

	#topMessage .topMain,
	#topPainting .topMain,
	#topReform .topMain {
		padding: 50px 25px;
		width: auto;
	}

	#topMessage .topMain h1 {
		margin-bottom: 20px;
		font-size: 1.7rem;
		line-height: 2.6rem;
	}

	#topMessage .topMain p {
		margin-top: 2em;
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: 0.07em;
	}

	#topMessage .topMain p:first-of-type {
		margin-top: 20px;
	}

	#topReform {
		margin: 0 auto 140px;
	}

	#topPainting figure figcaption,
	#topReform figure figcaption {
		font-size: 2.3rem;
		line-height: 3.1rem;
		letter-spacing: 0.05em;
	}

	#topPainting .topMain h1,
	#topReform .topMain h1 {
		margin-bottom: 30px;
		font-size: 1.9rem;
		line-height: 2.8rem;
		letter-spacing: 0.1em;
	}

	#topPainting .topMain p,
	#topReform .topMain p {
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 0.07em;
	}

	#topPainting .topMain .bt,
	#topReform .topMain .bt {
		margin-top: 50px;
		width: 100%;
		max-width: 100%;
		font-size: 1.6rem;
		font-weight: 500;
	}

	#topPainting .topMain .bt a,
	#topReform .topMain .bt a {
		padding: 9px 20px;
	}

	#topPainting .topMain .bt a::after,
	#topReform .topMain .bt a::after {
		right: 20px;
		top: 21px;
	}

	#topBottom {
		margin: 0 auto 140px;
		padding: 50px 0 50px;
		background-position: left top;
	}

	#topBottom .container {
		padding: 0 25px;
	}

	#topWorks {
		margin-bottom: 50px;
	}

	#topBottom h1 {
		margin-bottom: 20px;
		font-size: 2.3rem;
		line-height: 3rem;
		letter-spacing: 0.1em;
	}

	#topBottom .topMain {
		padding: 50px 20px;
	}

	#topBottom .topMain h2 {
		margin-bottom: 28px;
		font-size: 1.7rem;
		line-height: 2.6rem;
		letter-spacing: 0.1em;
	}

	#topBottom .topMain p {
		min-height: 0;
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: 0.05em;
	}

	#topBottom .topMain .bt {
		margin-top: 18px;
		width: 100%;
		min-height: 0;
		font-weight: 500;
	}

	#topBottom .topMain .bt a {
		padding: 12px 0;
	}

	#topBottom .topMain .bt a::after {
		top: 23px;
	}


}

#subHead {
	width: 100%;
	text-align: center;
}

#subHead h1 {
	margin: 0 auto 50px;
	padding: 170px 0 120px;
	background: #f7f7f7;
	font-size: 3.4rem;
	font-weight: normal;
	line-height: 4.9rem;
	letter-spacing: 0.1em;
}

#subHead h1 span {
	margin: 0 auto;
	padding: 34px 0 37px;
	background: url("../img/bg_h1.svg") no-repeat center center / contain;
	width: 700px;
	display: block;
}

#subHead .container {
	margin: 0 auto;
	padding: 30px 0 50px;
	width: 90%;
	text-align: center;
}

#subHead h2 {
	margin: 0 auto 32px;
	font-size: 3rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

#subHead p {
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.07em;
}

body.painting #subHead h1,
body.reform #subHead h1 {
	margin-bottom: 0;
	padding-bottom: 170px;
}

body.painting #subHead h1 {
	background: url("../img/bg_hd_painting.jpg") no-repeat center top / cover;
}

body.reform #subHead h1 {
	background: url("../img/bg_hd_reform.jpg") no-repeat center top / cover;
}

body.painting #subHead .container,
body.reform #subHead .container {
	padding-bottom: 160px;
}

body.painting #subHead .container::before,
body.reform #subHead .container::before {
	content: " ";
	width: 100%;
	height: 60px;
	background: #fff;
	display: block;
	left: 0;
	top: -50px;
	z-index: 1;
	position: absolute;
}

body.company #subHead h1,
body.recruit #subHead h1,
body.policy #subHead h1,
body.contact #subHead h1 {
	background: #fff;
}

body.company #subHead h1 span,
body.recruit #subHead h1 span,
body.policy #subHead h1 span,
body.contact #subHead h1 span {
	background-image: url("../img/bg_h1_gr.svg");
}

@media screen and (max-width: 767px) {

#subHead h1 {
	margin: 0 auto 30px;
	padding: 94px 0 64px;
	font-size: 2.1rem;
	line-height: 3rem;
}

#subHead h1 span {
	padding: 11px 0 11px;
	width: 300px;
}

#subHead .container {
	margin: 0 25px;
	padding: 30px 0 60px;
	width: auto;
	text-align: center;
}

#subHead h2 {
	margin: 0 auto 20px;
	font-size: 1.8rem;
	line-height: 1.5;
}

#subHead p {
	font-size: 1.6rem;
}

body.painting #subHead h1,
body.reform #subHead h1 {
	margin-bottom: 0;
	padding-bottom: 94px;
}

body.painting #subHead .container,
body.reform #subHead .container {
	padding-bottom: 140px;
}

body.painting #subHead .container::before,
body.reform #subHead .container::before {
	height: 40px;
	top: -30px;
}

}

#paintReason {
	margin-bottom: 160px;
	position: relative;
}

#paintReason::before {
	content: " ";
	width: 50%;
	height: 100%;
	background: #f7f7f7;
	display: block;
	left: 0;
	top: 0;
	z-index: 1;
	position: absolute;
}

#paintReason .container {
	padding: 80px 5%;
}

#paintReason h2 {
	margin: 0 auto 50px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}

#paintReason ul {
	color: #fff;
	align-items: stretch;
	flex-wrap: wrap;
	display: flex;
}

#paintReason ul li {
	padding: 80px 0 70px;
	width: 50%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#paintReason ul li:nth-of-type(1) {
	background-image: url("../img/bg_painting_reason01.jpg");
}

#paintReason ul li:nth-of-type(2) {
	background-image: url("../img/bg_painting_reason02.jpg");
}

#paintReason ul li:nth-of-type(3) {
	background-image: url("../img/bg_painting_reason03.jpg");
}

#paintReason ul li:nth-of-type(4) {
	background-image: url("../img/bg_painting_reason04.jpg");
}

#paintReason ul li h3 {
	margin: 0 auto 50px;
	padding: 16px 0 0;
	width: 60px;
	height: 60px;
	border: 1px #fff solid;
	font-size: 2rem;
	font-weight: 500;
	line-height: 2.7rem;
	letter-spacing: 0.1em;
	text-align: center;
	box-sizing: border-box;
}

#paintReason ul li h4 {
	margin: 0 auto 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2.9rem;
	letter-spacing: 0.1em;
	text-align: center;
}

#paintReason ul li p {
	margin: 0 auto;
	width: 360px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.07em;
	text-align: left;
}

#paintParticular {
	margin-bottom: 160px;
	position: relative;
}

#paintParticular::before {
	content: " ";
	width: 100%;
	height: 384px;
	background: #92AFAB;
	display: block;
	left: 0;
	bottom: 0;
	z-index: 1;
	position: absolute;
}

#paintParticular .container {
	padding: 0 5% 80px;
}

#paintParticular h2 {
	margin: 0 auto 50px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}

#paintParticular ul {
	color: #fff;
	justify-content: space-between;
	display: flex;
}

#paintParticular ul li {
	width: calc((100% - 96px) / 3);
}

#paintParticular ul li figure {
	margin: 0 auto 40px;
	width: 100%;
}

#paintParticular ul li h3 {
	margin: 0 0 10px;
	color: #DBF5FE;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5rem;
	letter-spacing: 0.05em;
}

#paintParticular ul li h4 {
	margin: 0 0 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2.9rem;
	letter-spacing: 0.1em;
}

#paintParticular ul li p {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.07em;
}

#paintFlow {
	padding-bottom: 194px;
}

#paintFlow .navi {
	margin: 0 5% 50px;
	display: flex;
	position: relative;
}

#paintFlow .navi::before {
	content: " ";
	width: 100%;
	height: 2px;
	background: #f2f2f2;
	display: block;
	left: 0;
	top: 0;
	z-index: -1;
	position: absolute;
}

#paintFlow .navi li {
	padding: 0 3.9% 0 9.4%;
	width: 50%;
	font-size: 2rem;
	font-weight: 600;
	line-height: 3rem;
	text-align: center;
	letter-spacing: 0.1em;
	box-sizing: border-box;
}

#paintFlow .navi li a {
	padding: 30px 0 35px;
	background: url("../img/arr_bk_d.svg") no-repeat center bottom 10px / 9px auto;
	display: block;
	position: relative;
	opacity: 0.25;
}

#paintFlow .navi li a::before {
	content: " ";
	width: 100%;
	height: 2px;
	background: #333;
	display: block;
	left: 0;
	top: 0;
	z-index: 1;
	position: absolute;
	transition-property: opacity;
	transition-duration: 0.5s;
	opacity: 0;
}

#paintFlow .navi .on a,
#paintFlow .navi li a:hover {
	opacity: 1;
}

#paintFlow .navi .on a::before,
#paintFlow .navi li a:hover::before {
	opacity: 1;
}

#paintFlow .navi li br {
	display: none;
}

#paintFlow .list {
	margin: 0 10%;
	position: absolute;
	transform: translateX(9999px);
	opacity: 0;
	transition: transform 0s 0.2s, opacity 0.1s 0s;
}

#paintFlow .list.set {
	position: relative;
	transform: translateX(0);
	opacity: 1;
	transition: transform 0s, opacity 0.3s;
}

#paintFlow .list::before {
	content: " ";
	width: 5px;
	height: calc(100% - 170px);
	background: #f8f8f8;
	display: block;
	left: 15px;
	top: 85px;
	z-index: 0;
	position: absolute;
}

#paintFlow .list li {
	margin: 0 0 10px;
	padding: 10px 0;
	align-items: center;
	display: flex;
	z-index: 1;
	position: relative;
}

#paintFlow .list li::before {
	content: " ";
	width: calc(100% - 225px);
	height: 100%;
	background: #f8f8f8;
	display: block;
	right: 0;
	top: 0;
	z-index: -1;
	position: absolute;
}

#paintFlow .list li h2 {
	width: 150px;
	background: #fff;
	color: #7B7C89;
	font-size: 3.6rem;
	font-weight: normal;
	line-height: 4.9rem;
	letter-spacing: 0.1em;
	align-items: center;
	display: flex;
}

#paintFlow .list li h2 span {
	display: block;
}

#paintFlow .list li h2 .step {
	width: 50px;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.9rem;
	letter-spacing: 0.1em;
}

#paintFlow .list li figure {
	width: 150px;
}

#paintFlow .list li .plate {
	padding: 0 40px;
	flex: 1;
}

#paintFlow .list li .plate h3 {
	margin-bottom: 10px;
	font-size: 1.8rem;
	line-height: 2.7rem;
	letter-spacing: 0.1em;
}

#paintFlow .list li .plate p {
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

.paintConst {
	position: relative;
}

.paintConst::before {
	content: " ";
	width: 90%;
	height: calc(100% - 192px);
	background: #F2F3F9;
	display: block;
	right: 0;
	top: 0;
	z-index: -1;
	position: absolute;
}

.paintConst .container {
	padding: 50px 5% 52px;
}

.paintConst h2 {
	color: #F2F3F9;
	font-size: 6.4rem;
	font-weight: 500;
	line-height: 8.6rem;
	letter-spacing: 0.1em;
	right: 5%;
	top: -62px;
	position: absolute;
}

.paintConst h3 {
	margin-bottom: 25px;
	font-size: 2.4rem;
	line-height: 3.6rem;
	letter-spacing: 0.1em;
}

.paintConst .list {
	padding-left: 10px;
	align-items: flex-start;
	flex-wrap: wrap;
	display: flex;
}

.paintConst .list figure {
	margin: 0 0 6px 30px;
	width: 160px;
}

.paintConst .list figure figcaption {
	margin-top: 10px;
	min-height: 4.4rem;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2.2rem;
	letter-spacing: 0.07em;
}

#paintBn {
	padding: 82px 0 140px;
}

#paintBn .container {
	padding: 0 10%;
}

#paintBn ul {
	width: 100%;
	height: 220px;
	border: 1px #eee solid;
	box-sizing: border-box;
	position: relative;
	align-items: center;
	display: flex;
}

#paintBn ul::before {
	content: " ";
	width: 1px;
	height: 100%;
	background: #eee;
	display: block;
	left: 50%;
	top: 0;
	z-index: -1;
	position: absolute;
}

#paintBn ul li {
	width: 50%;
}

#paintBn ul li figure {
	margin: 0 auto;
}

#paintBn ul .madoguchi figure {
	width: 200px;
}

#paintBn ul .agc figure {
	width: 286px;
}

#paintBn ul li figure figcaption {
	margin-top: 9px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2.2rem;
	letter-spacing: 0.05em;
	text-align: center;
}

@media screen and (max-width: 999px) {

#paintReason ul {
	display: block;
}

#paintReason ul li {
	width: auto;
}

}

@media screen and (max-width: 767px) {

#paintReason {
	margin-bottom: 140px;
}

#paintReason::before {
	width: 100%;
}

#paintReason .container {
	padding: 50px 10px;
}

#paintReason h2 {
	font-size: 2rem;
}

#paintReason ul {
	display: block;
}

#paintReason ul li {
	padding: 50px 15px;
	width: auto;
}

#paintReason ul li h3 {
	margin: 0 auto 40px;
	padding: 13px 0 0;
	width: 50px;
	height: 50px;
	font-size: 1.6rem;
	line-height: 2.2rem;
}

#paintReason ul li h4 {
	font-size: 1.8rem;
	line-height: 2.6rem;
}

#paintReason ul li p {
	margin: 0 auto;
	width: auto;
	font-size: 1.6rem;
	line-height: 2;
}

#paintParticular {
	margin-bottom: 140px;
}

#paintParticular::before {
	width: 100%;
	height: calc(100% - 250px);
}

#paintParticular .container {
	padding: 0 25px;
}

#paintParticular h2 {
	margin: 0 auto 50px;
	font-size: 2rem;
	line-height: 1.5;
}

#paintParticular ul {
	display: block;
}

#paintParticular ul li {
	padding: 0 0 52px;
	width: 100%;
}

#paintParticular ul li figure {
	margin: 0 auto 20px;
}

#paintParticular ul li h4 {
	font-size: 1.8rem;
	line-height: 2.6rem;
}

#paintParticular ul li p {
	font-size: 1.6rem;
}

#paintFlow {
	padding-bottom: 140px;
}

#paintFlow .navi {
	margin: 0 0 20px;
}

#paintFlow .navi::before {
	height: 4px;
}

#paintFlow .navi li {
	padding: 0;
	width: 50%;
	font-size: 1.5rem;
	line-height: 2.3rem;
	letter-spacing: 0;
}

#paintFlow .navi li a {
	padding: 14px 0 25px;
}

#paintFlow .navi li a::before {
	height: 4px;
}

#paintFlow .navi li br {
	display: block;
}

#paintFlow .list {
	margin: 0;
}

#paintFlow .list::before {
	width: 5px;
	height: calc(100% - 290px);
	left: 25px;
	top: 65px;
}

#paintFlow .list li {
	margin: 0 0 20px;
	padding: 0 0 0 10px;
	flex-wrap: wrap;
}

#paintFlow .list li::before {
	width: calc(100% - 40px);
	height: calc(100% - 110px);
	right: 0;
	top: auto;
	bottom: 0;
}

#paintFlow .list li h2 {
	width: 105px;
	font-size: 2.4rem;
	line-height: 3.2rem;
}

#paintFlow .list li figure {
	width: 130px;
}

#paintFlow .list li .plate {
	padding: 20px 25px 20px 50px;
	width: 100%;
	flex: auto;
	box-sizing: border-box;
}

#paintFlow .list li .plate p {
	font-size: 1.6rem;
}

.paintConst {
	position: relative;
}

.paintConst::before {
	content: " ";
	width:  calc(100% - 50px);
	height: calc(100% - 70px);
	background: #F2F3F9;
	display: block;
	right: 0;
	top: 0;
	z-index: -1;
	position: absolute;
}

.paintConst .container {
	padding: 50px 25px 90px;
}

.paintConst h2 {
	font-size: 2.8rem;
	line-height: 3.8rem;
	right: 25px;
	top: -26px;
}

.paintConst h3 {
	margin-bottom: 50px;
	font-size: 2rem;
	line-height: 3rem;
}

.paintConst .list {
	padding-left: 0;
	justify-content: space-between;
}

.paintConst .list figure {
	margin: 0 0 30px;
	width: calc(50% - 10px);
}

.paintConst .list figure figcaption {
	min-height: 0;
	font-size: 1.6rem;
	line-height: 2.3rem;
}

#paintBn {
	padding: 70px 0 140px;
}

#paintBn .container {
	padding: 0 25px;
}

#paintBn ul {
	width: 100%;
	height: auto;
	border: 1px #eee solid;
	display: block;
}

#paintBn ul::before {
	display: none;
}

#paintBn ul li {
	padding: 50px 0;
	width: 100%;
}

#paintBn ul li:not(:last-of-type) {
	border-bottom: 1px #eee solid;
}

}

#reformFeature {
	margin-bottom: 160px;
	background: #AEAF92;
}

#reformFeature .container {
	padding: 80px 5% 80px;
	color: #fff;
}

#reformFeature h2 {
	margin: 0 auto 50px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}

#reformFeature ul {
	justify-content: space-between;
	display: flex;
}

#reformFeature ul li {
	width: calc((100% - 96px) / 3);
}

#reformFeature ul li h3 {
	margin: 0 0 10px;
	color: #EDEEC4;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1.5rem;
	letter-spacing: 0.05em;
}

#reformFeature ul li h4 {
	margin: 0 0 20px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2.9rem;
	letter-spacing: 0.1em;
}

#reformFeature ul li p {
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.07em;
}

#reformLineup {
	margin-bottom: 160px;
}

#reformLineup h2 {
	margin: 0 auto 50px;
	font-size: 2.4rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-align: center;
}

#reformLineup .lineupSec {
	padding: 80px 10% 30px;
	position: relative;
}

#reformLineup .lineupSec:first-of-type {
	padding-bottom: 106px;
}

#reformLineup .lineupSec::before {
	content: " ";
	width:  70%;
	height: 100%;
	background: #F7F7F7;
	display: block;
	top: 0;
	z-index: -1;
	position: absolute;
}

#reformLineup .lineupSec:nth-of-type(odd)::before {
	left: 0;
}

#reformLineup .lineupSec:nth-of-type(even)::before {
	right: 0;
}

#reformLineup h3 {
	margin: 0 0 22px;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	line-height: 1.6rem;
	letter-spacing: 0.1em;
}

#reformLineup h3 span {
	padding: 3px 16px;
	background: #7B7C89;
	display: inline-block;
}

#reformLineup h4 {
	margin: 0 0 50px;
	font-size: 2rem;
	font-weight: 700;
	line-height: 2.9rem;
	letter-spacing: 0.1em;
}

#reformLineup p {
	margin: 0 0 50px;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 2;
	letter-spacing: 0.07em;
}

#reformLineup ul {
	margin: 0 -18px;
	flex-wrap: wrap;
	display: flex;
}

#reformLineup ul li {
	margin: 0 18px 50px;
	width: calc((100% - 108px) / 3);
}

#reformLineup ul li figure {
	width: 100%;
}

#reformLineup ul li figure figcaption {
	margin-top: 10px;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2.2rem;
	letter-spacing: 0.07em;
}

#reformLineup ul li dl {
	margin-top: 20px;
}

#reformLineup ul li dl dt {
	margin-bottom: 10px;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 2.2rem;
	letter-spacing: 0.07em;
}

#reformLineup ul li dl dd {
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 2.4rem;
	letter-spacing: 0.07em;
}


@media screen and (max-width: 767px) {

#reformFeature {
	margin-bottom: 140px;
}

#reformFeature .container {
	padding: 50px 25px 1px;
}

#reformFeature h2 {
	margin: 0 auto 50px;
	font-size: 2rem;
	line-height: 1.5;
}

#reformFeature ul {
	display: block;
}

#reformFeature ul li {
	margin: 0 0 50px;
	width: 100%;
}

#reformFeature ul li p {
	font-size: 1.6rem;
}

#reformLineup {
	margin-bottom: 140px;
}

#reformLineup h2 {
	margin: 0 auto 50px;
	font-size: 2rem;
	line-height: 1.5;
}

#reformLineup .lineupSec {
	padding: 50px 25px 20px;
}

#reformLineup .lineupSec:first-of-type {
	padding-bottom: 20px;
}

#reformLineup .lineupSec::before {
	width: calc(100% - 98px);
}

#reformLineup h3 {
	margin: 0 0 20px;
}

#reformLineup p {
	font-size: 1.6rem;
}

#reformLineup ul {
	margin: 0;
	display: block;
}

#reformLineup ul li {
	margin: 0 0 30px;
	width: 100%;
}

#reformLineup ul li figure figcaption {
	font-size: 1.6rem;
	line-height: 2.3rem;
}

#reformLineup ul li dl {
	margin-top: 15px;
}

#reformLineup ul li dl dt {
	margin-bottom: 8px;
	font-size: 1.6rem;
	line-height: 2.3rem;
}

#reformLineup ul li dl dd {
	font-size: 1.5rem;
	line-height: 2.6rem;
}

}

#worksList .container {
	padding: 0 5% 160px;
}

#worksList .list {
	margin-bottom: 100px;
	border-bottom: 1px #e6e6e6 solid;
}

#worksList .list.second {
	margin-top: 25px;
}

#worksList .list li {
	padding: 40px 5.6%;
	border-top: 1px #e6e6e6 solid;
	align-items: flex-start;
	display: flex;
}

#worksList .list li:nth-of-type(even) {
	background: #FAFAFA;
}

#worksList .list li figure {
	margin-right: 4%;
	width: 42%;
}

#worksList .list li figure.figW {
	display: flex;
	position: relative;
}

#worksList .list li figure.figW img {
	width: 50%;
}

#worksList .list li figure.figW::before,
#worksList .list li figure.figW::after {
	padding: 4px 0;
	width: 100px;
	background: #7B7C89;
	color: #fff;
	font-family: 'Roboto', sans-serif;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 2.0rem;
	text-align: center;
	letter-spacing: 0.01em;
	display: block;
	bottom: -10px;
	z-index: 5;
	position: absolute;
}

#worksList .list li figure.figW::before {
	content: "BEFORE";
	left: -10px;
}

#worksList .list li figure.figW::after {
	content: "AFTER";
	right: -10px;
}

#worksList .list li .info {
	flex: 1;
}

#worksList .list li .info h3 {
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.6rem;
	letter-spacing: 0.1em;
}

#worksList .list li .info dl {
	margin-bottom: 30px;
}

#worksList .list li .info dl > div {
	padding-bottom: 6px;
	align-items: flex-start;
	display: flex;
}

#worksList .list li .info dl dt,
#worksList .list li .info dl dd {
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2.4rem;
	letter-spacing: 0.07em;
}

#worksList .list li .info dl dt {
	width: 6em;
	color: #999;
}

#worksList .list li .info dl dd {
	flex: 1;
}

#worksList .list li .info p {
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#worksList .paging {
	padding: 20px 0;
	color: #7B7C89;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	text-align: center;
	letter-spacing: 0.07em;
	position: relative;
}

#worksList .paging span {
	margin: 0 18px;
	display: inline-block;
}

#worksList .paging .prev,
#worksList .paging .next {
	background-repeat: no-repeat;
	background-position: -9999px 0;
	background-size: 0 auto;
	top: 0;
	position: absolute;
}

#worksList .paging .prev {
	left: 0;
}

#worksList .paging .next {
	right: 0;
}

#worksList .paging .prev a,
#worksList .paging .next a {
	width: 70px;
	height: 70px;
	background-color: #fff;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 25px auto;
	border: 1px #7B7C89 solid;
	font-size: 0;
	line-height: 0;
	text-indent: -9999px;
	display: block;
	box-sizing: border-box;
}

#worksList .paging .prev a {
	background-image: url("../img/arr_nav_l.svg");
}

#worksList .paging .next a {
	background-image: url("../img/arr_nav_r.svg");
}

#worksList .paging .prev a,
#worksList .paging .next a {
	transition-property: background;
	transition-duration: 0.5s;
}

#worksList .paging .prev a:hover,
#worksList .paging .next a:hover {
	background-color: #7B7C89;
}

#worksList .paging .prev,
#worksList .paging .prev a:hover {
	background-image: url("../img/arr_nav_l_w.svg");
	opacity: 1;
}

#worksList .paging .next,
#worksList .paging .next a:hover {
	background-image: url("../img/arr_nav_r_w.svg");
	opacity: 1;
}

@media screen and (max-width: 767px) {

#worksList .container {
	padding: 0 0 140px;
}

#worksList .list {
	margin-bottom: 100px;
	border-bottom: 1px #e6e6e6 solid;
}

#worksList .list li {
	padding: 30px 25px;
	display: block;
}

#worksList .list li figure {
	margin-right: 0;
	width: 100%;
}

#worksList .list li .info {
	padding-top: 40px;
	flex: auto;
}

#worksList .list li .info h3 {
	margin-bottom: 20px;
}

#worksList .list li .info dl {
	margin-bottom: 0;
}

#worksList .list li .info dl > div {
	padding-bottom: 9px;
	align-items: flex-start;
	display: block;
}

#worksList .list li .info dl dt {
	width: auto;
	font-size: 1.3rem;
}

#worksList .list li .info dl dd {
	flex: auto;
}

#worksList .paging {
	margin: 0 25px;
	padding: 15px 0;
}

#worksList .paging .prev a,
#worksList .paging .next a {
	width: 60px;
	height: 60px;
}

}

#faqMain .container {
	padding: 30px 5% 150px;
}

#faqMain dl {
	padding: 0 3.4% 110px 5.6%;
}

#faqMain dl dt,
#faqMain dl dd {
	position: relative;
}

#faqMain dl dt {
	padding: 17px 0 27px 110px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.6rem;
	letter-spacing: 0.07em;
}

#faqMain dl dd {
	padding: 15px 0 50px 110px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#faqMain dl dt::before,
#faqMain dl dd::before {
	padding-top: 10px;
	width: 60px;
	height: 60px;
	background-color: #fff;
	border: 1px #F3F3F3 solid;
	color: #7B7C89;
	font-family: 'Cinzel', serif;
	font-size: 2.6rem;
	font-weight: normal;
	line-height: 4rem;
	text-align: center;
	box-sizing: border-box;
	left: 0;
	top: 0;
	position: absolute;
}

#faqMain dl dt::before {
	content: "Q";
}

#faqMain dl dd::before {
	content: "A";
}

#faqMain .noteBox {
	margin: 0 auto;
	padding: 75px 0;
	max-width: 820px;
	background-color: #F7F7F7;
	box-sizing: border-box;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	text-align: center;
	letter-spacing: 0.07em;
}

#faqMain .noteBox p {
	font-size: 1em;
}

#faqMain .noteBox a {
	text-decoration: underline;
}

@media screen and (max-width: 767px) {

#faqMain .container {
	padding: 30px 25px 140px;
}

#faqMain dl {
	padding: 0 0 30px;
}

#faqMain dl dt {
	padding: 7px 0 27px 60px;
}

#faqMain dl dd {
	padding: 5px 0 50px 60px;
}

#faqMain dl dt::before,
#faqMain dl dd::before {
	padding-top: 5px;
	width: 40px;
	height: 40px;
	font-size: 2.4rem;
	line-height: 3rem;
}

#faqMain .noteBox {
	padding: 42px 5%;
	width: 100%;
	font-size: 1.6rem;
}

}

#companyMain {
	padding: 0 0 160px;
}

#companyProf {
	padding: 0 0 120px;
	flex-direction: row-reverse;
	display: flex;
}

#companyProf figure,
#companyProf .contents {
	width: 50%;
}

#companyProf .contents h2 {
	padding: 48px 51px;
	font-size: 4rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	letter-spacing: 0.1em;
}

#companyProf .contents .container {
	margin-left: -100px;
	padding: 70px 20% 1px 10%;
	height: calc(100% - 146px);
	background-color: #fff;
	box-sizing: border-box;
}

#companyProf dl dt {
	margin-bottom: 5px;
	color: #7B7C89;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.9rem;
	letter-spacing: 0.07em;
}

#companyProf dl dd {
	margin-bottom: 40px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#companyProf dl dd p {
	font-size: 1em;
}

#companyAccess {
	position: relative;
}

#companyAccess h2 {
	padding: 48px 5%;
	width: 50%;
	background-color: #fff;
	font-size: 4rem;
	font-weight: 500;
	line-height: 1.35;
	text-align: left;
	letter-spacing: 0.1em;
	box-sizing: border-box;
	right: 50%;
	top: 0;
	z-index: 30;
	position: absolute;
}

#companyAccess .container {
	padding: 0 0 0 10%;
	max-width: 90%;
}

#companyAccess iframe {
	width: 100%;
	height: 600px;
}

@media screen and (max-width: 767px) {

#companyMain {
	padding: 0 0 140px;
}

#companyProf {
	padding: 0 25px 140px;
	display: block;
}

#companyProf figure,
#companyProf .contents {
	width: 100%;
}

#companyProf .contents h2 {
	padding: 0 0 50px;
	font-size: 2.6rem;
}

#companyProf .contents .container {
	margin-left: 0;
	padding: 0 0 40px;
	height: auto;
	background: none;
}

#companyProf dl dt {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 2rem;
}

#companyProf dl dd {
	margin-bottom: 40px;
	font-size: 1.6rem;
	line-height: 2;
}

#companyAccess h2 {
	padding: 20px 25px;
	width: 50%;
	font-size: 2.6rem;
	line-height: 1.35;
}

#companyAccess .container {
	padding: 0 0 0 25px;
	max-width: calc(100% - 25px);
}

#companyAccess iframe {
	width: 100%;
	height: 450px;
}

}

#recruitMain {
	padding: 0 0 160px;
}

#recruitMain #recruitDsc {
	padding: 25px;
	width: 100%;
	height: 400px;
	background: url("../img/bg_recruit.jpg") no-repeat center top / cover;
	box-sizing: border-box;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 3.4rem;
	text-align: center;
	letter-spacing: 0.1em;
	align-items: center;
	justify-content: center;
	display: flex;
}

#recruitMain #recruitDsc p {
	font-size: 1em;
}

#recruitMain .container {
	padding: 0 10%;
}

#recruitMain #recruitDt {
	padding: 160px 0 120px;
	align-items: flex-start;
	flex-wrap: wrap;
	display: flex;
}

#recruitMain #recruitDt h2 {
	margin: 0 40px 50px 0;
	font-size: 2rem;
	font-weight: bold;
	line-height: 2.9rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
	flex: 1;
}

#recruitMain #recruitDt dl {
	width: 60%;
}

#recruitMain #recruitDt dl dt {
	margin-bottom: 5px;
	color: #7B7C89;
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1.9rem;
	letter-spacing: 0.07em;
}

#recruitMain #recruitDt dl dd {
	margin-bottom: 40px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#recruitMain .noteBox {
	margin: 0 auto;
	padding: 60px 10px 30px;
	max-width: 820px;
	background-color: #F7F7F7;
	box-sizing: border-box;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	text-align: center;
	letter-spacing: 0.07em;
}

#recruitMain .noteBox p {
	margin-bottom: 30px;
	font-size: 1em;
}

#recruitMain .noteBox a {
	text-decoration: underline;
}


@media screen and (max-width: 767px) {

#recruitMain {
	padding: 0 0 160px;
}

#recruitMain #recruitDsc {
	font-size: 1.8rem;
}

#recruitMain .container {
	padding: 0 25px;
}

#recruitMain #recruitDt {
	padding: 140px 0 40px;
	display: block;
}

#recruitMain #recruitDt h2 {
	margin: 0 0 50px;
	font-size: 1.8rem;
	line-height: 2.6rem;
	flex: auto;
}

#recruitMain #recruitDt dl {
	width: 100%;
}

#recruitMain #recruitDt dl dt {
	margin-bottom: 10px;
	font-size: 1.4rem;
	line-height: 2rem;
}

#recruitMain #recruitDt dl dd {
	margin-bottom: 40px;
	font-size: 1.6rem;
	line-height: 2;
}


#recruitMain .noteBox {
	padding: 50px 20px 20px;
	width: 100%;
}

}

#policyMain {
	padding: 0 0 100px;
}

#policyMain .container {
	padding: 0 10%;
}

#policyMain .dsc {
	margin-bottom: 160px;
}

#policyMain .policySec {
	padding: 0 0 60px;
}

#policyMain h2 {
	margin-bottom: 50px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

#policyMain h3 {
	margin-bottom: 20px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.6rem;
	letter-spacing: 0.1em;
}

#policyMain ol li,
#policyMain ul li,
#policyMain p {
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

#policyMain ol li {
	margin-left: 1.5em;
	list-style: decimal;
}

#policyMain ul li {
	margin-left: 1.5em;
	list-style: disc;
}

@media screen and (max-width: 767px) {

#policyMain {
	padding: 0 0 90px;
}

#policyMain .container {
	padding: 0 25px;
}

#policyMain .dsc {
	margin-bottom: 140px;
}

#policyMain .policySec {
	padding: 0 0 50px;
}

#policyMain h2 {
	margin-bottom: 20px;
	font-size: 1.8rem;
}

#policyMain ol li,
#policyMain ul li,
#policyMain p {
	font-size: 1.6rem;
}

}

#priceMain {
	padding: 0 0 20px;
}

#priceMain #priceImage {
	width: 100%;
	height: 400px;
	display: block;
}

#priceMain #priceImage img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 20% center;
}

#priceMain #pricePainting,
#priceMain #priceReform {
	padding: 80px 0;
}

#priceMain #pricePainting .container,
#priceMain #priceReform .container {
	padding: 0 10%;
}

#priceMain #pricePainting h2,
#priceMain #priceReform h2 {
	margin-bottom: 30px;
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.1em;
}

#priceMain #pricePainting .dsc,
#priceMain #priceReform .dsc {
	margin-bottom: 64px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	text-align: center;
	letter-spacing: 0.07em;
}

#priceMain #pricePainting h3 {
	margin: 52px 0 20px;
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 2.6rem;
	letter-spacing: 0.1em;
}

#priceMain #pricePainting .note {
	margin-top: 20px;
	padding-left: 1em;
	font-size: 1.4rem;
	font-weight: normal;
	line-height: 1.5;
	text-indent: -1em;
	letter-spacing: 0.07em;
}

#priceMain #pricePainting table {
	width: 100%;
	border-spacing: 0;
	table-layout: fixed;
}

#priceMain #pricePainting table,
#priceMain #pricePainting table th,
#priceMain #pricePainting table td {
	border-collapse: collapse;
	border:1px solid #E6E6E6;
}

#priceMain #pricePainting table th,
#priceMain #pricePainting table td {
	padding: 8px;
	height: 60px;
	font-size: 1.5rem;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.07em;
	box-sizing: border-box;
	vertical-align: middle;
}

#priceMain #pricePainting table th {
	background: #7B7C89;
	color: #fff;
	font-weight: bold;
}

#priceMain #pricePainting table td {
	background: #fff;
	font-weight: normal;
}

#priceMain #priceReform .contents {
	justify-content: space-between;
	flex-wrap: wrap;
	display: flex;
}

#priceMain #priceReform .sec {
	margin-bottom: 60px;
	width: 46.875%;
}

#priceMain #priceReform .sec h3 {
	padding: 15px 20px;
	background: #7B7C89;
	color: #fff;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.07em;
}

#priceMain #priceReform .sec dl > div {
	padding: 20px 0;
	border-bottom: 1px #E6E6E6 solid;
	align-items: center;
	display: flex;
}

#priceMain #priceReform .sec dt,
#priceMain #priceReform .sec dd {
	width: 50%;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.4;
	letter-spacing: 0.07em;
}

#priceMain #priceReform .sec dt {
	text-align: left;
}

#priceMain #priceReform .sec dd {
	text-align: right;
}

@media screen and (max-width: 767px) {

#priceMain {
	padding: 0 0 10px;
}

#priceMain #pricePainting {
	padding-top: 60px;
}

#priceMain #pricePainting .container,
#priceMain #priceReform .container {
	padding: 0 25px;
}

#priceMain #pricePainting h2,
#priceMain #priceReform h2 {
	margin-bottom: 20px;
	font-size: 1.8rem;
}

#priceMain #pricePainting .dsc,
#priceMain #priceReform .dsc {
	margin-bottom: 80px;
	font-size: 1.6rem;
}

#priceMain #pricePainting h3 {
	margin: 50px 0 20px;
}

#priceMain #pricePainting .contents {
	margin-right: -25px;
	overflow-x: auto;
}

#priceMain #pricePainting table {
	width: 1152px;
}

#priceMain #pricePainting table.tbl1 th:first-of-type {
	width: 140px;
}

#priceMain #priceReform .contents {
	display: block;
}

#priceMain #priceReform .sec {
	margin-bottom: 50px;
	width: 100%;
}

#priceMain #priceReform .sec h3 {
	padding: 14px 10px;
	font-size: 1.6rem;
}

#priceMain #priceReform .sec dt,
#priceMain #priceReform .sec dd {
	font-size: 1.6rem;
}

}


#contactMain {
	padding: 0 0 160px;
}

#contactMain .container {
	padding: 0 10%;
}

#contactMain #contactTel {
	padding: 0 0 80px;
	text-align: center;
}

#contactMain #contactTel p {
	margin-top: 30px;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 2.2rem;
	letter-spacing: 0.07em;
}

#contactMain #contactTel p span {
	margin-left: 40px;
	display: inline-block;
}

#contactMain #contactTel .num {
	align-items: center;
	justify-content: space-between;
	display: flex;
}

#contactMain #contactTel .num dl {
	width: calc((100% - 60px) / 4);
	padding: 38px 0;
	border: 1px #DDDDDD solid;
	align-items: center;
	justify-content: center;
	display: flex;
	box-sizing: border-box;
}

@media screen and (min-width: 768px) and (max-width: 1300px) {

#contactMain #contactTel .num {
	flex-wrap: wrap;
}

#contactMain #contactTel .num dl {
	width: calc((100% - 20px) / 2);
	padding: 38px 0;
}

#contactMain #contactTel .num dl:nth-of-type(n + 3) {
	margin-top: 10px;
}

}

#contactMain #contactTel .num dl dt {
	margin-top: 5px;
	margin-right: 18px;
	color: #7B7C89;
	font-size: 1.4rem;
	font-weight: 400;
	line-height: 1.6rem;
	letter-spacing: 0.1em;
}

#contactMain #contactTel .num dl dd {
	font-size: 2.0rem;
	font-weight: 400;
	line-height: 3.4rem;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 899px) {

#contactMain #contactTel .num dl dd {
	font-size: 2.4rem;
	line-height: 2.8rem;
}

}

#contactMain #contactTel .num dl dd a {
	color: #333;
}

#contactMain #contactTel .num dl dd a:hover {
	opacity: 1;
}

#contactMain #contactForm {
	padding: 82px 12.5% 78px;
	background: #F7F7F7;
}

#contactMain #contactForm h2 {
	margin-bottom: 40px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
}

#contactMain #contactForm .dsc {
	margin-bottom: 70px;
	color: #7B7C89;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.5;
	letter-spacing: 0.07em;
	text-align: center;
}

#contactMain #contactForm .att {
	margin-bottom: 50px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.07em;
}

#contactMain #contactForm .err {
	margin-bottom: 50px;
}

#contactMain #contactForm .err li {
	color: #EF2020;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.07em;
}

#contactMain #contactForm .nav {
	margin-top: 50px;
	margin-bottom: 50px;
	display: flex;
	position: relative;
}

#contactMain #contactForm .nav::before {
	content: " ";
	width: 100%;
	height: 1px;
	background: #E6E6E6;
	display: block;
	left: 0;
	bottom: 0;
	z-index: 1;
	position: absolute;
}

#contactMain #contactForm .nav li {
	padding: 10px 0 15px;
	color: #CCCCCC;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0.07em;
	text-align: center;
	flex: 1;
	word-wrap: break-word;
	min-width: 0;
	z-index: 2;
	position: relative;
}

#contactMain #contactForm .nav li::before {
	content: " ";
	width: 100%;
	height: 3px;
	background: #7B7C89;
	display: block;
	left: 0;
	bottom: 0;
	z-index: 3;
	position: absolute;
	opacity: 0;
}

#contactMain #contactForm .form .nav li:nth-of-type(1),
#contactMain #contactForm .conf .nav li:nth-of-type(2),
#contactMain #contactForm .end .nav li:nth-of-type(3) {
	color: #333;
}

#contactMain #contactForm .form .nav li:nth-of-type(1)::before,
#contactMain #contactForm .conf .nav li:nth-of-type(2)::before,
#contactMain #contactForm .end .nav li:nth-of-type(3)::before {
	opacity: 1;
}

#contactMain #contactForm .contents {
		padding-bottom: 20px;
	width: 100%;
}

#contactMain #contactForm .contents dt,
#contactMain #contactForm .contents dd {
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.6;
	letter-spacing: 0.07em;
}

#contactMain #contactForm .contents dt {
	margin-bottom: 10px;
	position: relative;
}

#contactMain #contactForm .contents dt.req::after {
	content: "\203B";
	color: #7B7C89;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.6;
	display: inline-block;
	left: -43px;
	top: 0;
	position: absolute;
}

#contactMain #contactForm .conf .contents dt {
	color: #7B7C89;
}

#contactMain #contactForm .form .contents dd {
	margin-bottom: 30px;
}

#contactMain #contactForm .conf .contents dd {
	margin-bottom: 25px;
	padding: 13px 0 15px;
	border-bottom: 1px #e6e6e6 solid;
}

#contactMain #contactForm input[type="text"],
#contactMain #contactForm input[type="email"],
#contactMain #contactForm input[type="tel"],
#contactMain #contactForm textarea {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 13px 20px;
	width: 100%;
	background: #fff;
	border: 1px #e6e6e6 solid;
	border-radius: 0;
	color: #333;
	font-family: 'M PLUS 1', sans-serif;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 1.6;
	letter-spacing: 0.07em;
	box-sizing: border-box;
}

#contactMain #contactForm textarea {
	font-family: sans-serif;
}

#contactMain #contactForm input[type="text"]::placeholder,
#contactMain #contactForm input[type="email"]::placeholder,
#contactMain #contactForm input[type="tel"]::placeholder,
#contactMain #contactForm textarea::placeholder {
	color: #ccc;
}

#contactMain #contactForm input[type="button"],
#contactMain #contactForm input[type="submit"] {
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
	padding: 15px 0;
	width: 100%;
	background: #7B7C89;
	border: 2px #7B7C89 solid;
	border-radius: 0;
	color: #fff;
	font-family: 'M PLUS 1', sans-serif;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 2;
	letter-spacing: 0.07em;
	box-sizing: border-box;
	cursor: pointer;
	transition-property: color,background;
	transition-duration: 0.5s;
}

#contactMain #contactForm input[type="button"]:hover,
#contactMain #contactForm input[type="submit"]:hover {
	background: #fff;
	color: #7B7C89;
}

#contactMain #contactForm .btn {
	align-items: center;
	justify-content: center;
	display: flex;
}

#contactMain #contactForm .btn li {
	width: 100%;
	max-width: 345px;
}

#contactMain #contactForm .conf .btn li:first-of-type {
	margin-right: 20px;
}

#contactMain #contactForm .conf .btn li:last-of-type {
	margin-left: 20px;
}

#contactMain #contactForm .end h3 {
	margin: 100px 0 60px;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.07em;
}

#contactMain #contactForm .end p {
	margin-bottom: 30px;
	font-size: 1.5rem;
	font-weight: normal;
	line-height: 2;
	letter-spacing: 0.07em;
}

@media screen and (max-width: 767px) {

	#contactMain {
		padding: 0 0 140px;
	}

	#contactMain .container {
		padding: 0 25px;
	}

	#contactMain #contactTel {
		padding: 0 0 80px;
	}

	#contactMain #contactTel p {
		margin-top: 15px;
		font-size: 1.5rem;
		line-height: 2.6rem;
	}

	#contactMain #contactTel p span {
		margin-left: 0;
		display: block;
	}

	#contactMain #contactTel .num {
		display: block;
	}

	#contactMain #contactTel .num dl {
		margin-bottom: 10px;
		width: 100%;
		padding: 26px 0;
	}

	#contactMain #contactTel .num dl dt {
		margin-top: 5px;
		margin-right: 20px;
	}

	#contactMain #contactTel .num dl dd {
		font-size: 2.4rem;
		line-height: 2.8rem;
	}

	#contactMain #contactForm {
		margin: 0 -15px;
		padding: 50px 15px  50px;
	}

	#contactMain #contactForm h2 {
		margin-bottom: 20px;
		font-size: 1.8rem;
		line-height: 2.4rem;
	}

	#contactMain #contactForm .dsc {
		margin-bottom: 40px;
	}

	#contactMain #contactForm .att {
		margin-top: 50px;
	}

	#contactMain #contactForm .nav {
		margin-top: 40px;
		margin-bottom: 30px;
	}

	#contactMain #contactForm .nav li {
		font-size: 1.6rem;
	}

	#contactMain #contactForm .contents dt,
	#contactMain #contactForm .contents dd {
		font-size: 1.6rem;
		line-height: 1.5;
	}

	#contactMain #contactForm .contents dt.req::after {
		margin-left: 18px;
		font-size: 1.6rem;
		line-height: 1.5;
		display: inline-block;
		left: auto;
		top: auto;
		position: relative;
	}

	#contactMain #contactForm input[type="text"],
	#contactMain #contactForm input[type="email"],
	#contactMain #contactForm input[type="tel"],
	#contactMain #contactForm textarea {
		font-size: 1.6rem;
		line-height: 1.5;
	}

	#contactMain #contactForm input[type="button"],
	#contactMain #contactForm input[type="submit"] {
		padding: 14px 0;
		font-size: 1.6rem;
		line-height: 2;
	}

	#contactMain #contactForm .btn {
		align-items: center;
		justify-content: center;
		display: flex;
	}

	#contactMain #contactForm .conf .btn li:first-of-type {
		margin-right: 5px;
	}

	#contactMain #contactForm .conf .btn li:last-of-type {
		margin-left: 5px;
	}

	#contactMain #contactForm .end h3 {
		margin: 50px 0 50px;
	}

	#contactMain #contactForm .end p {
		margin-bottom: 32px;
		font-size: 1.6rem;
	}

}

/*----- flg -----*/

.flgP {
	display: block;
}

.flgS {
	display: none;
}

@media screen and (max-width: 767px) {

	.flgP {
		display: none;
	}

	.flgS {
		display: block;
	}

}

.fade {
	opacity: 0;
	transform: translate(0,40px);
}

.fadeOn {
	opacity: 1;
	transform: translate(0,0);
	transition: all 0.6s cubic-bezier(0.215, 0.61, 0.355, 1);
}

