@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700&display=swap');
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	outline: 0;
	font-size: 1em;
}
html {
	font-size: 62.5%;
}
body, table, input, textarea, select, option {
	font-family: 'Noto Sans JP', sans-serif;
}
article, aside, canvas, details, figcaption, footer, header, hgroup, menu, nav, section, summary {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
:focus {
	outline: 0;
}
ins {
	text-decoration: none;
}
del {
	text-decoration: line-through;
}
img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}
a, a:link {
	color: #232323;
	text-decoration: none;
	transition: .3s;
}
a:visited {
	color: #232323;
}
a:hover {
	color: #232323;
}
a:active {
	color: #232323;
}
a, a img {
	-webkit-transition: .3s;
	transition: .3s;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #232323;
	font-size: 1.6rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background-color: #FFF;
}
p {
	line-height: 2;
}
#container {
	padding-top: 180px;
	position: relative;
	text-align: left;
	overflow: hidden;
}
#main {
	margin-bottom: 100px;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.4rem;
	}
	body.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
	a:hover, a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	#container {
		padding-top: 56px;
	}
	#main {
		margin-bottom: 50px;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	padding: 23px 80px 120px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	z-index: 100;
	transition: background .3s;
}
#gNavi > ul {
	display: flex;
	justify-content: flex-end;
}
#gNavi > ul > li {
	margin-left: 51px;
}
#gNavi > ul > li > a {
	padding: 5px 0;
	display: inline-block;
	position: relative;
	font-size: 1.8rem;
	letter-spacing: 0.1em;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}
#gNavi > ul > li > a:after {
	width: 0;
	position: absolute;
	height: 3px;
	left: 0;
	bottom: 0;
	transition: .3s;
	background-color: #232323;
	content: "";
}
#gNavi > ul > .on > a:after {
	width: 100%;
}
#gNavi > ul > li ul {
	display: none;
}
@media all and (min-width: 897px) {
	#gNavi > ul > li > a:hover:after {
		width: 100%;
	}
	#gHeader h1 a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		padding: 0 !important;
		display: inherit;
	}
	#gHeader .hBox {
		padding: 8px 19px;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: space-between;
		background-color: #fff;
		z-index: 100;
		box-sizing: border-box;
	}
	#gHeader h1 img {
		width: 114px;
	}
	#gHeader.open {
		transition: 0s !important;
		transform: none !important;
	}
	#gHeader.open .hBox {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
	}
	.menuBox {
		display: none;
		padding: 0 15%;
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow-y: auto;
		background-color: #000;
		z-index: 90;
		box-sizing: border-box;
	}
	#gNavi > ul {
		margin: 118px 0 45px;
		display: block;
	}
	#gNavi > ul > li {
		margin: 0 0 27px;
	}
	#gNavi > ul > li > a {
		padding: 12px 0;
		display: block;
		color: #fff;
		font-size: 2rem;
		letter-spacing: 0;
		font-weight: bold;
		font-family: 'Noto Sans JP', sans-serif;
	}
	#gNavi > ul > .liStyle > a:before {
		position: absolute;
		left: 104px;
		top: 19px;
		width: 20px;
		height: 20px;
		background: url("img/common/menu_btn01.png") no-repeat left top/20px auto;
		content: "";
	}
	#gNavi > ul > .liStyle > a.on:before {
		background-image: url("img/common/menu_btn02.png");
	}
	#gNavi > ul > li > a:after {
		width: 14px !important;
		height: 1px;
		bottom: auto;
		top: 0;
		left: 1px;
		background-color: #fff;
	}
	#gNavi > ul > li ul {
		margin: -5px 10px 0;
	}
	#gNavi > ul > li li a {
		color: #fff;
		font-size: 1.2rem;
		line-height: 3.5;
	}
	.menuBox .linkBox {
		margin-bottom: 40px;
		display: flex;
		justify-content: space-between;
	}
	.menuBox .contactBtn {
		margin-top: 15px;
		position: static;
		right: auto;
		bottom: auto;
	}
	.menuBox .contactBtn a {
		padding-bottom: 11px;
		width: 100px;
		height: 100px;
		color: #000;
		font-size: 1.7rem;
		background: #ddd url("img/common/icon06.png") no-repeat center bottom 30px/33px auto;
	}
	.menu {
		width: 40px;
		height: 40px;
		cursor: pointer;
		z-index: 101;
		transition: opacity .25s ease;
		-webkit-transition: all .3s ease;
		transition: all .3s ease;
		box-sizing: border-box;
	}
	.menu > div {
		margin: 6px auto 0;
		width: 40px;
		height: 13px;
		position: relative;
	}
	.menu span {
		background-color: #232323;
		border: none;
		height: 2px;
		width: 40px;
		position: absolute;
		top: 6px;
		left: 0;
		-webkit-transition: all .35s ease;
		transition: all .35s ease;
		cursor: pointer;
	}
	.menu span:nth-of-type(2) {
		opacity: 0;
	}
	.menu span:nth-of-type(3) {
		top: 18px;
	}
	.menu.active > div {
		width: 24px;
	}
	.menu.active span {
		width: 24px;
	}
	.menu.active .top {
		-webkit-transform: translateY(6px) translateX(0) rotate(45deg);
		-ms-transform: translateY(6px) translateX(0) rotate(45deg);
		transform: translateY(6px) translateX(0) rotate(45deg);
	}
	.menu.active .middle {
		opacity: 0;
	}
	.menu.active .bottom {
		-webkit-transform: translateY(-6px) translateX(0) rotate(-45deg);
		-ms-transform: translateY(-6px) translateX(0) rotate(-45deg);
		transform: translateY(-6px) translateX(0) rotate(-45deg);
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
.pageTop {
	position: fixed;
	right: 15px;
	bottom: 20px;
	z-index: 20;
}
.pageTop a {
	display: inline-block;
	width: 21px;
	height: 61px;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-weight: normal;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.contactBtn {
	position: fixed;
	right: 13px;
	bottom: 106px;
	width: 100px;
	height: 100px;
	z-index: 20;
}
.contactBtn a {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #ccc;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	border-radius: 50%;
	box-sizing: border-box;
}
.contactBtn a:after {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 92px;
	height: 92px;
	border-radius: 50%;
	background-color: #232323;
	transition: .3s;
	content: "";
}
.contactBtn a span {
	position: relative;
	z-index: 1;
	padding-bottom: 12px;
	display: inline-block;
	background: url("img/common/arrow01.png") no-repeat center bottom;
}
#gFooter {
	margin-top: 100px;
	padding: 80px 0 30px;
	background-color: #ddd;
}
#gFooter .fBox {
	display: flex;
	justify-content: space-between;
}
#gFooter .fLogo {
	margin-bottom: 50px;
}
#gFooter .fBox {
	margin-bottom: 14px;
	display: flex;
	justify-content: space-between;
}
#gFooter .lBox {
	width: 40%;
}
#gFooter .lBox p {
	margin-bottom: 40px;
	font-size: 1.3rem;
	line-height: 1.46;
}
#gFooter .lBox p a, #gFooter .link a {
	display: inline-block;
	position: relative;
}
#gFooter .lBox p a:after, #gFooter .link a:after, #gFooter .fNavi > li a:after {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: #232323;
	transition: .3s;
	content: "";
}
#gFooter .lBox p:last-child {
	margin-bottom: 0;
}
#gFooter .lBox p .link {
	display: inline-block;
	margin-top: 7px;
	font-weight: bold;
}
#gFooter .lBox p span {
	margin-bottom: 5px;
	display: block;
	font-weight: bold;
}
#gFooter .lBox .txt01 {
	margin-bottom: 30px;
}
#gFooter .fNavi {
	margin-top: -5px;
	width: 58.4%;
	display: flex;
}
#gFooter .fNavi > li {
	width: 53%;
}
#gFooter .fNavi > li:last-child {
	width: 45%;
}
#gFooter .fNavi > li a {
	position: relative;
	display: inline-block;
	font-size: 1.3rem;
	line-height: 2.46;
}
#gFooter .fNavi > li a:after {
	bottom: 4px;
}
#gFooter .fNavi > li .ttl {
	margin-bottom: 10px;
}
#gFooter .fNavi > li .ttl01 {
	margin-bottom: 38px;
}
#gFooter .fNavi > li .ttl a {
	font-weight: bold;
	font-size: 1.5rem;
}
#gFooter .fNavi > li ul {
	padding: 12px 0 44px;
	position: relative;
}
#gFooter .fNavi > li ul:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 16px;
	height: 1px;
	background-color: #999;
	content: "";
}
#gFooter .sns {
	margin-bottom: 60px;
}
#gFooter .btmBox {
	padding-top: 10px;
	font-size: 1.3rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	border-top: 1px solid #c3c3c3;
}
#gFooter .btmBox address {
	font-size: 1.2rem;
	font-style: normal;
}
@media all and (min-width: 897px) {
	.contactBtn a:hover:after {
		width: 100px;
		height: 100px;
	}
	.pageTop a:hover, #gFooter .sns a:hover {
		opacity: 0.7;
	}
	#gFooter .lBox p a:hover:after, #gFooter .link a:hover:after, #gFooter .fNavi > li a:hover:after {
		width: 100%;
	}
}
@media all and (max-width: 896px) {
	.pageTop {
		right: 6px;
		bottom: 50px;
	}
	.pageTop a {
		width: 16px;
		height: 53px;
		font-size: 1.2rem;
		letter-spacing: 0.1em;
	}
	.contactBtn {
		right: 20px;
		bottom: 120px;
		width: 75px;
		height: 75px;
	}
	.contactBtn a {
		width: 75px;
		height: 75px;
		font-size: 1.3rem;
	}
	.contactBtn a:after {
		width: 100%;
		height: 100%;
	}
	.contactBtn a span {
		background-size: 26px auto;
	}
	#gFooter {
		margin-top: 50px;
		padding: 50px 0 12px;
	}
	#gFooter .fBox {
		display: block;
	}
	#gFooter .fLogo {
		margin-bottom: 20px;
		max-width: 114px;
	}
	#gFooter .fBox {
		margin-bottom: 14px;
		display: block;
	}
	#gFooter .lBox {
		margin-bottom: 58px;
		width: auto;
	}
	#gFooter .lBox p {
		margin-bottom: 28px;
	}
	#gFooter .lBox p:first-child {
		margin-bottom: 35px;
	}
	#gFooter .lBox p .link {
		margin-top: 7px;
		font-size: 1.2rem;
	}
	#gFooter .lBox p span {
		margin-bottom: 7px;
	}
	#gFooter .lBox .txt01 {
		margin-bottom: 18px;
	}
	#gFooter .lBox p:last-child .link {
		font-size: 1.3rem;
	}
	#gFooter .fNavi {
		margin-top: 0;
		width: auto;
	}
	#gFooter .fNavi > li {
		width: 37.7%;
	}
	#gFooter .fNavi > li a {
		display: inline-block;
		font-size: 1.3rem;
		line-height: 2.46;
	}
	#gFooter .fNavi > li .ttl {
		margin-bottom: 27px;
		padding-top: 5px;
		position: relative;
	}
	#gFooter .fNavi > li .ttl:before {
		position: absolute;
		left: 0;
		top: 0;
		width: 18px;
		height: 2px;
		background-color: #999;
		content: "";
	}
	#gFooter .fNavi > li .ttl01 {
		margin-bottom: 27px;
	}
	#gFooter .fNavi > li .ttl a {
		font-size: 1.7rem;
		letter-spacing: 0.05em;
	}
	#gFooter .fNavi > li ul {
		display: none;
	}
	#gFooter .sns {
		margin-bottom: 15px;
	}
	#gFooter .btmBox {
		font-size: 1rem;
	}
	#gFooter .btmBox address {
		font-size: 1rem;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* clearfix */
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
/* flex */
.flex, .flexA, .flexB, .flexC {
	display: flex;
	flex-wrap: wrap;
}
.flexA {
	justify-content: space-around;
}
.flexB {
	justify-content: space-between;
}
.flexC {
	justify-content: center;
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
.en {
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}
@media all and (max-width: 896px) {}
/* #pagepath */
#pagepath {
	margin: -10px 0 47px;
}
#pagepath ul li {
	margin-right: 22px;
	font-size: 1.2rem;
	display: inline-block;
	letter-spacing: 0.01em;
	position: relative;
}
#pagepath ul li:last-child {
	margin-right: 0;
}
#pagepath ul li::after {
	position: absolute;
	top: 0;
	right: -16px;
	content: ">";
}
#pagepath ul li:last-child::after {
	display: none;
}
@media all and (min-width: 897px) {
	#pagepath a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	#pagepath {
		display: none;
	}
}
/* mainVisual */
.mainVisual .image {
	width: calc(50% + 440px);
	order: 3;
}
.mainVisual .image img {
	width: 100%;
}
.mainVisual .textBox {
	position: relative;
	margin-right: -180px;
	flex: 1;
	z-index: 10;
}
.mainVisual .textBox .inner {
	padding: 51px 10px 61px 1px;
	background-color: #fff;
}
.mainVisual .headline01 {
	margin-bottom: 0;
	font-size: 6rem;
}
.mainVisual .headline01 span {
	padding-bottom: 5px;
}
.mainVisual #pagepath {
	margin: 0 0 19px;
}
@media all and (min-width: 897px) {
	.mainVisual {
		margin: 0 0 115px 80px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	.mainVisual .headline01 span::after {
		height: 7px;
	}
}
@media all and (max-width: 896px) {
	.mainVisual {
		margin-bottom: 43px;
	}
	.mainVisual .image {
		width: 130%;
		max-width: inherit;
		margin: 0 -15%;
	}
	.mainVisual .textBox {
		width: auto;
		margin: -60px 56px 0;
		text-align: center;
	}
	.mainVisual .textBox .inner {
		padding: 25px 10px 0;
	}
	.mainVisual .headline01 {
		font-size: 3.6rem;
	}
}
/* headline01 */
.headline01 {
	margin-bottom: 45px;
	font-size: 2.4rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
.headline01 span {
	padding-bottom: 8px;
	display: inline-block;
	position: relative;
}
.headline01 span::after {
	width: calc(100% - 4px);
	height: 4px;
	position: absolute;
	bottom: 0;
	left: 1px;
	background-color: #232323;
	content: "";
}
/* headline02 */
.headline02 {
	margin-bottom: 28px;
	font-size: 2.4rem;
}
.headline02 .en {
	margin-bottom: 12px;
	display: block;
	font-size: 1.5rem;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.2em;
}
/* headline03 */
.headline03 {
	margin-bottom: 88px;
	font-size: 3.6rem;
}
/* headline04 */
.headline04 {
	margin-bottom: 50px;
	position: relative;
	font-size: 1.8rem;
}
.headline04::after {
	position: absolute;
	width: 100%;
	height: 1px;
	left: 0;
	top: 50%;
	content: '';
	background-color: #232323;
}
.headline04 span {
	padding-right: 35px;
	position: relative;
	display: inline-block;
	background-color: #FFF;
	z-index: 1;
}
.headline04.noneLine::after {
	display: none;
}
.center {
	text-align: center;
}
@media all and (max-width: 896px) {
	.headline01 {
		margin-bottom: 30px;
		text-align: center;
		font-size: 2.1rem;
		letter-spacing: 0.2em;
	}
	.headline01.center {
		font-size: 1.8rem;
		letter-spacing: 0;
	}
	.headline01.spLarge {
		font-size: 2.4rem;
		letter-spacing: 0.1em;
	}
	.headline01 span {
		padding-bottom: 5px;
	}
	.headline01 span::after {
		height: 4px;
	}
	.headline02 {
		font-size: 2rem;
	}
	.headline02 .en {
		margin-bottom: 5px;
		font-size: 1.2rem;
	}
	.headline03 {
		margin-bottom: 25px;
		text-align: center;
		font-size: 2.4rem;
		letter-spacing: 0.1em;
	}
	.headline04 {
		margin-bottom: 35px;
		font-size: 1.6rem;
	}
	.headline04 span {
		padding-right: 15px;
	}
}
/* mainBox */
.mainBox {
	padding: 0 80px;
	margin: 0 auto;
	max-width: 1040px;
}
.content {
	margin: 0 80px;
}
.content .mainBox {
	padding: 0 !important;
}
.smlContent {
	padding: 0 80px;
	margin: 0 auto;
	max-width: 800px;
}
@media all and (max-width: 896px) {
	.mainBox {
		padding: 0 19px;
	}
	.content {
		margin: 0 19px;
	}
	.smlContent {
		padding: 0 19px;
		max-width: inherit;
	}
}
/* comImgBox */
.comImgBox {
	margin-bottom: 80px;
}
.comImgBox .photoBox img {
	width: 100%;
}
@media all and (min-width: 897px) {
	.comImgBox {
		display: flex;
		justify-content: space-between;
	}
	.comImgBox > div {
		width: calc(50% - 40px);
	}
	.comImgBox .photoBox {
		margin-top: 13px;
	}
}
@media all and (max-width: 896px) {
	.comImgBox {
		margin-bottom: 48px;
	}
	.comImgBox .photoBox {
		margin: 0 0 22px;
	}
}
/* topTxtInner  */
.topTxtInner h2 {
	font-size: 3rem;
	line-height: 1.8;
	font-weight: 500;
}
.topTxtInner p:not(:last-child) {
	margin-bottom: 32px;
}
.topTxtInner h2.fadeTxt span {
	line-height: 1.4;
}
@media all and (min-width: 897px) {
	.topTxtInner {
		padding: 0 80px;
		margin: 0 auto 220px;
		max-width: 1040px;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	.topTxtInner .textBox {
		width: 61.5%;
	}
	.topTxtInner .lBox {
		margin-top: -7px;
		width: 34%;
	}
}
@media all and (max-width: 896px) {
	.topTxtInner {
		margin: 0 20px 185px;
	}
	.topTxtInner .lBox {
		text-align: center;
	}
	.topTxtInner .fadeTxt {
		margin-bottom: 37px;
	}
	.topTxtInner h2 {
		font-size: 2rem;
		line-height: 1.5;
	}
	.topTxtInner p:not(:last-child) {
		margin-bottom: 28px;
	}
}
.solveProblem {
	margin-bottom: 100px;
}
@media all and (max-width: 896px) {
	.solveProblem {
		margin-bottom: 60px;
	}
}
/* textMarkList */
.textMarkList {
	margin-bottom: 30px;
}
.textMarkList li {
	padding: 0 0 16px 36px;
	font-weight: 500;
	background: url(img/common/icon01.png) no-repeat left 2px / 22px;
}
.textMarkList .etc {
	background: none;
}
@media all and (min-width: 897px) {
	div.textMarkList {
		margin-bottom: 58px;
		display: flex;
		justify-content: space-between;
	}
	.textMarkList ul {
		width: calc(50% - 40px);
	}
	.textMarkList ul li {
		padding: 0 0 23px 40px;
		background-size: 24px;
	}
}
@media all and (max-width: 896px) {
	.textMarkList {
		margin-bottom: 15px;
	}
	div.textMarkList {
		margin-bottom: 38px;
	}
	.textMarkList li {
		padding-bottom: 14px;
		background-size: 20px;
	}
	.textMarkList ul li {
		padding-bottom: 24px;
	}
}
/* comBtn */
.comBtn a, .comBtn .bgLink {
	margin: 0 auto;
	padding: 14px 60px;
	max-width: 330px;
	position: relative;
	display: block;
	color: #FFF;
	font-size: 2rem;
	font-weight: 500;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.1em;
	text-align: center;
	box-sizing: border-box;
	border: 2px solid #232323;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	background-color: #232323;
}
.comBtn a::before, .comBtn .bgLink::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	opacity: 1;
	z-index: 1;
	background-color: #fff;
}
.comBtn a::after, .comBtn .bgLink::after {
	position: absolute;
	right: 30px;
	top: 0;
	width: 32px;
	height: 100%;
	content: '';
	background: url(img/common/icon02.png) no-repeat right center;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	z-index: 2;
}
.comBtn a span, .comBtn .bgLink span {
	position: relative;
	z-index: 2;
}
@keyframes btn_hover {
	0% {
		transform: translate(0, 0) rotate(0deg) scaleX(0);
		transform-origin: left center
	}
	35% {
		transform: translate(0, 0) rotate(0deg) scaleX(1);
		transform-origin: left center
	}
	36%, 60% {
		transform: translate(0, 0) rotate(0deg) scaleX(1);
		transform-origin: right center
	}
	to {
		transform: translate(0, 0) rotate(0deg) scaleX(0);
		transform-origin: right center
	}
}
@keyframes btn_white_hover {
	0% {
		color: #FFF;
	}
	35% {
		color: #232323;
	}
	36%, 60% {
		color: #232323;
	}
	to {
		color: #FFF;
	}
}
@keyframes btn_black_hover {
	0% {
		color: #232323;
	}
	35% {
		color: #FFF;
	}
	36%, 60% {
		color: #FFF;
	}
	to {
		color: #232323;
	}
}
@keyframes btn_white_image {
	0% {
		background-image: url(img/common/icon02.png);
	}
	35% {
		background-image: url(img/common/icon03.png);
	}
	36%, 60% {
		background-image: url(img/common/icon03.png);
	}
	to {
		background-image: url(img/common/icon02.png);
	}
}
@keyframes btn_black_image {
	0% {
		background-image: url(img/common/icon03.png);
	}
	35% {
		background-image: url(img/common/icon02.png);
	}
	36%, 60% {
		background-image: url(img/common/icon02.png);
	}
	to {
		background-image: url(img/common/icon03.png);
	}
}
@keyframes btn_white_image_02 {
	0% {
		background-image: url(img/common/icon05.png);
	}
	35% {
		background-image: url(img/common/icon05_over.png);
	}
	36%, 60% {
		background-image: url(img/common/icon05_over.png);
	}
	to {
		background-image: url(img/common/icon05.png);
	}
}
@keyframes btn_white_image_03 {
	0% {
		background-image: url(img/common/icon07.png);
	}
	35% {
		background-image: url(img/common/icon04.png);
	}
	36%, 60% {
		background-image: url(img/common/icon04.png);
	}
	to {
		background-image: url(img/common/icon07.png);
	}
}
.bgNone {
	text-align: right;
}
.bgNone a {
	padding: 2px 40px 2px 10px;
	display: inline-block;
	color: #232323 !important;
	font-size: 1.6rem;
	background-color: transparent;
	border: none;
	animation: none !important;
}
.bgNone a::before {
	display: none;
}
.bgNone a::after {
	right: 0;
	animation: none !important;
	background-image: url(img/common/icon03.png) !important;
}
@media all and (min-width: 897px) {
	.comBtn a:hover, a:hover .comBtn .bgLink {
		animation: btn_white_hover .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.comBtn a:hover:before, a:hover .comBtn .bgLink:before {
		animation: btn_hover .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.comBtn a:hover:after, a:hover .comBtn .bgLink:after {
		animation: btn_white_image .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.bgNone a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.comBtn a, .comBtn .bgLink {
		padding: 13px 40px;
		max-width: 226px;
		margin: 0 auto;
		font-size: 1.6rem;
	}
	.comBtn a::after, .comBtn .bgLink::after {
		right: 18px;
		background-size: 20px auto;
	}
	.bgNone {
		margin-top: 15px;
	}
	.bgNone a {
		padding: 2px 32px 6px 10px;
		font-size: 1.4rem;
	}
	.bgNone a::after {
		right: 0;
		background-size: 24px auto;
	}
}
/* comContact  */
.comContact {
	margin: 112px auto 0;
	width: 600px;
}
.comContact > a {
	padding: 2px;
	display: block;
	position: relative;
	text-align: center;
	overflow: hidden;
	border: 4px solid #232323;
}
.comContact > a .photo {
	overflow: hidden;
}
.comContact > a img {
	width: 100%;
	transition: .3s;
}
.comContact .txtBox {
	position: absolute;
	left: 0;
	width: 100%;
	top: 50%;
	padding: 0 20px;
	box-sizing: border-box;
	transform: translateY(-50%);
}
.comContact h2 {
	margin-bottom: 20px;
	color: #fff;
	font-size: 4.5rem;
	letter-spacing: 0.2em;
}
.comContact p {
	margin-bottom: 25px;
	color: #fff;
	line-height: 1.75;
}
.comContact .small {
	font-size: 1.4rem;
	margin-bottom: 0;
}
.comContact .comBtn {
	margin-bottom: 25px;
}
.comContact .comBtn .bgLink {
	padding: 17px 60px;
	color: #232323;
	font-weight: bold;
	font-size: 1.6rem;
	background-color: #ddd;
	border-color: #ddd;
}
.comContact .comBtn .bgLink:after {
	background-image: url("img/common/icon03.png");
}
.comContact .comBtn .bgLink:before {
	background-color: #232323;
}
@media all and (min-width: 897px) {
	.comContact > a:hover img {
		transform: scale(1.05);
	}
	.comContact > a:hover .bgLink {
		animation: btn_black_hover .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.comContact > a:hover .bgLink:after {
		animation: btn_black_image .6s cubic-bezier(.04, .435, .315, .9) both;
		background-image: url("img/common/icon02.png");
	}
}
@media all and (max-width: 896px) {
	.comContact {
		margin: 65px 38px 0;
		width: inherit;
	}
	.comContact > a {
		padding: 4px;
	}
	.comContact > a .photo {
		padding: 30px 10px 34px;
		height: 253px;
		background: url("img/common/sp_contact_bg.jpg") no-repeat center top/cover;
		box-sizing: border-box;
	}
	.comContact > a img {
		display: none;
	}
	.comContact h2 {
		margin-bottom: 15px;
		font-size: 3rem;
	}
	.comContact p {
		margin-bottom: 16px;
		line-height: 1.5;
	}
	.comContact .small {
		font-size: 1.2rem;
	}
	.comContact .comBtn {
		margin-bottom: 11px;
	}
	.comContact .comBtn .bgLink {
		max-width: 206px;
		padding: 10px 40px;
		font-size: 1.1rem;
	}
}
@media all and (max-width: 374px) {
	.comContact {
		margin: 55px 20px 0;
	}
}
/* comTextList */
.comTextList {
	margin-bottom: 60px;
}
.comTextList li {
	padding: 23px 0 82px;
	position: relative;
	min-height: 259px;
	border-bottom: 1px solid #ccc;
	box-sizing: border-box;
}
.comTextList li:first-child, .comTextList li:nth-child(2) {
	border-top: 1px solid #ccc;
}
.comTextList h4 {
	margin-bottom: 24px;
	font-size: 2rem;
}
.comTextList p {
	font-size: 1.4rem;
	line-height: 1.75;
	letter-spacing: -0.02em;
}
.comTextList.single {
	justify-content: center;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.comTextList.single li {
	max-width: 480px;
	border: none;
}
@media all and (min-width: 897px) {
	.comTextList {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.comTextList li {
		width: calc(50% - 40px);
	}
	.comTextList .bgNone {
		position: absolute;
		right: 0;
		bottom: 20px;
	}
}
@media all and (max-width: 896px) {
	.comTextList {
		margin-bottom: 40px;
	}
	.comTextList li {
		padding: 25px 0 20px;
		min-height: inherit;
	}
	.comTextList li:nth-child(2) {
		border-top: none;
	}
	.comTextList h4 {
		margin-bottom: 13px;
		font-size: 1.6rem;
	}
	.comTextList p {
		font-size: 1.4rem;
		line-height: 1.75;
		letter-spacing: -0.02em;
	}
}
/* btmLinkBox */
.btmLinkBox {
	margin-bottom: 120px;
	padding: 52px 0 55px;
	background-color: #f5f5f5;
}
.btmLinkBox h2 {
	margin-bottom: 54px;
	font-size: 2rem;
	text-align: center;
	letter-spacing: 0.12em;
}
.btmLinkBox .btmLink {
	margin: 0 auto 57px;
	max-width: 870px;
	display: flex;
	flex-wrap: wrap;
}
.btmLinkBox .btmLink li {
	margin: 0 35px -3px;
	width: 220px;
	border-top: 3px solid #232323;
	border-bottom: 3px solid #232323;
}
.btmLinkBox .btmLink a {
	padding: 22px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
}
.btmLinkBox .btmLink img {
	width: 45px;
}
.btmLinkBox .btmLink span {
	width: calc(100% - 55px);
}
.btmLinkBox .comBtn {
	margin-left: 25px;
	text-align: center;
}
@media all and (min-width: 897px) {
	.btmLinkBox .btmLink a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.btmLinkBox {
		margin-bottom: 60px;
		padding: 32px 20px 30px;
	}
	.btmLinkBox h2 {
		margin-bottom: 25px;
		font-size: 1.8rem;
	}
	.btmLinkBox .btmLink {
		margin-bottom: 35px;
		justify-content: space-between;
	}
	.btmLinkBox .btmLink li {
		margin: 0 0 -3px;
		width: calc(50% - 20px);
	}
	.btmLinkBox .btmLink a {
		padding: 14px 0;
		font-size: 1.3rem;
	}
	.btmLinkBox .btmLink img {
		width: 35px;
	}
	.btmLinkBox .btmLink span {
		width: calc(100% - 45px);
	}
}
@media all and (max-width: 374px) {
	.btmLinkBox .btmLink a {
		font-size: 1.2rem;
	}
	.btmLinkBox .btmLink li {
		margin: 0 0 -3px;
		width: calc(50% - 10px);
	}
}
/* comTable  */
.comTable {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-top: 1px solid #ddd;
}
.comTable th, .comTable td {
	padding: 20px 0;
	font-size: 1.4rem;
	line-height: 2;
	text-align: left;
	vertical-align: top;
	border-bottom: 1px solid #ddd;
}
.comTable th {
	padding-right: 5px;
	width: 168px;
}
@media all and (min-width: 897px) {
	.comTable td a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	.comTable {
		border-top: none;
	}
	.comTable th, .comTable td {
		padding: 0 0 15px;
		width: 100%;
		float: left;
		line-height: 1.8;
		box-sizing: border-box;
	}
	.comTable th {
		padding: 15px 0 3px;
		width: auto;
		border-bottom: none;
	}
	.comTable tr:first-child th {
		padding-top: 0;
	}
}
/* nameTtl */
.nameTtl {
	margin-bottom: 25px;
	font-size: 1.2rem;
	font-weight: normal;
}
.nameTtl small {
	margin-bottom: 10px;
	display: block;
	font-weight: bold;
}
.nameTtl .txt {
	display: inline-block;
	margin-right: 10px;
	font-size: 1.4rem;
	font-weight: bold;
}
@media all and (max-width: 896px) {
	.nameTtl {
		margin-bottom: 32px;
		font-size: 1.1rem;
		text-align: center;
	}
	.nameTtl small {
		font-size: 1.2rem;
	}
	.nameTtl .txt {
		display: block;
		margin: 0 0 12px;
	}
}
/* pagenavi */
.pagenavi {
	margin-bottom: 40px;
	display: flex;
	position: relative;
	justify-content: center;
}
.pagenavi::after {
	width: 100%;
	height: 1px;
	position: absolute;
	left: 0;
	top: 50%;
	background-color: #ccc;
	content: '';
}
.pagenavi a {
	display: block;
	text-align: center;
	width: 24px;
	height: 24px;
	padding: 0 15px;
	position: relative;
	z-index: 2;
	background-color: #F5F5F5;
}
.pagenavi a:first-child {
	padding-left: 30px;
}
.pagenavi a:last-child {
	padding-right: 30px;
}
.pagenavi .page {
	padding: 0 18px;
}
@media all and (min-width: 897px) {
	.pagenavi a:hover {
		color: rgba(35, 35, 35, 0.7);
	}
	.pagenavi a:hover img {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.pagenavi {
		margin-bottom: 40px;
		padding-top: 20px;
		border-top: 1px solid #ccc;
	}
	.pagenavi::after {
		display: none;
	}
	.pagenavi a {
		padding: 0 7px;
		width: 30px;
		height: 30px;
		font-size: 1.8rem;
	}
	.pagenavi a:first-child {
		padding-left: 0;
	}
	.pagenavi a:last-child {
		padding-right: 0;
	}
	.pagenavi .page {
		padding: 0 10px;
	}
	.pagenavi .small {
		padding-left: 25px;
	}
	.pagenavi .large {
		padding-right: 25px;
	}
}
@media all and (max-width: 359px) {
	.pagenavi a {
		width: 24px;
		height: 24px;
		font-size: 1.6rem;
	}
	.pagenavi .small {
		padding-left: 10px;
	}
	.pagenavi .large {
		padding-right: 10px;
	}
}
/* pageList */
.pageList {
	margin: 0 auto 150px;
	max-width: 400px;
	position: relative;
	display: flex;
	justify-content: center;
}
.pageList li {
	font-weight: 500;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.1em;
	text-align: center;
}
.pageList a {
	position: relative;
	display: inline-block;
}
.pageList .prev a::before, .pageList .next a::after {
	position: absolute;
	left: 0;
	bottom: 5px;
	content: '';
	width: 32px;
	height: 8px;
	background: url(img/common/icon04.png) no-repeat left center;
	background-size: 100% auto;
}
.pageList .next a::after {
	left: auto;
	right: 0;
	background-image: url(img/common/icon03.png);
	background-position: right center;
}
.pageList .prev {
	position: absolute;
	left: 0;
	top: 0;
}
.pageList .next {
	position: absolute;
	right: 0;
	top: 0;
}
.pageList .prev a {
	padding-left: 50px;
}
.pageList .next a {
	padding-right: 50px;
}
@media all and (min-width: 897px) {
	.pageList a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.pageList {
		margin-bottom: -10px;
		font-size: 1.6rem;
	}
	.pageList .prev a {
		padding-left: 40px;
	}
	.pageList .next a {
		padding-right: 35px;
	}
	.pageList .prev a::before, .pageList .next a::after {
		width: 25px;
	}
}
/* photoList */
.photoList {
	margin-top: -40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.photoList li {
	margin-top: 40px;
}
.photoList .half {
	max-width: calc(50% - 6.5px);
}
@media all and (max-width: 896px) {
	.photoList {
		margin-top: -30px;
	}
	.photoList li {
		margin-top: 30px;
	}
}
/* comBg */
.comBg {
	padding-bottom: 300px;
	background-color: #f5f5f5;
}
@media all and (max-width: 896px) {
	.comBg {
		padding-bottom: 200px;
	}
}
/* newsList */
.newsList {
	margin: -60px 0 113px;
	display: flex;
	flex-wrap: wrap;
}
.newsList li {
	margin: 6.2% 6.5% 0 0;
	width: calc(87%/3);
}
.newsList li:nth-child(3n) {
	margin-right: 0;
}
.newsList li a {
	display: block;
}
.newsList .pho {
	padding-bottom: 66.7%;
	margin-bottom: 27px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.newsList .pho img {
	width: 100%;
}
.newsList p {
	font-size: 1.4rem;
	line-height: 2;
}
.newsList .txt {
	margin-bottom: 20px;
	display: flex;
	flex-wrap: wrap;
	line-height: 1.2;
}
.newsList .txt .tag {
	margin-right: 20px;
	position: relative;
	padding-right: 20px;
	letter-spacing: 0.2em;
	font-family: 'Oswald', sans-serif;
	font-weight: 500;
}
.newsList .txt .tag:after {
	position: absolute;
	right: 0;
	top: 3px;
	width: 1px;
	height: calc(100% - 4px);
	background-color: #232323;
	content: "";
}
.news .pagenavi a {
	background-color: #fff;
}
@media all and (min-width: 897px) {
	.newsList li a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 920px) {
	.newsList .txt .tag {
		letter-spacing: 0.1em;
	}
}
@media all and (max-width: 897px) {}
@media all and (max-width: 896px) {
	.newsList {
		margin: 60px 0 55px;
		display: block;
	}
	.newsList li {
		margin: 44px 0 0;
		width: auto;
	}
	.newsList .pho {
		margin-bottom: 27px;
	}
	.newsList p {
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.newsList .txt {
		margin-bottom: 11px;
	}
	.newsList .txt .tag {
		margin-right: 18px;
		padding-right: 18px;
		letter-spacing: 0.15em;
	}
	.newsList .txt .tag:after {
		top: 5px;
		height: calc(100% - 7px);
	}
	.newsList .txt .date {
		margin-top: 3px;
		font-size: 1.2rem;
	}
}
/* fadeTxt */
.fadeTxt p, .fadeTxt span {
	position: relative;
	transform: translate3d(0, 0, 0);
	display: inline-block;
}
.fadeTxt p::before, .fadeTxt span::before {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	content: "";
	background-color: #000;
	z-index: 1;
}
.fadeTxt p, .fadeTxt span {
	color: transparent;
}
.fadeTxt.on p::before, .fadeTxt.on span::before {
	animation: passing-bar 1s ease 0s 1 normal forwards;
}
.fadeTxt.on p, .fadeTxt.on span {
	animation: passing-txt 0s ease .5s 1 normal forwards;
}
.fadeTtlH span {
	position: relative;
	transform: translate3d(0, 0, 0);
	display: inline-block;
}
.fadeTtlH span::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	content: "";
	background-color: #000;
	z-index: 1;
}
.fadeTtlH span {
	color: transparent;
	background-color: transparent;
}
.fadeTtlH.on span::before {
	animation: passing-bar_height 1s ease 0s 1 normal forwards;
}
.fadeTtlH.on span {
	animation: passing-txt 0s ease .5s 1 normal forwards;
}
.fadeTtlH.on span.bgTxt {
	animation: passing-txt_white 0s ease .5s 1 normal forwards;
}
.fadeTtl span {
	position: relative;
	transform: translate3d(0, 0, 0);
	display: inline-block;
}
.fadeTtl span::before {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	content: "";
	background-color: #000;
	z-index: 1;
}
.fadeTtl span {
	color: transparent;
	background-color: transparent;
}
.fadeTtl.on span::before {
	animation: passing-bar 1s ease 0s 1 normal forwards;
}
.fadeTtl.on span {
	animation: passing-txt 0s ease .5s 1 normal forwards;
}
.fadeTtl.on span.bgTxt {
	animation: passing-txt_white 0s ease .5s 1 normal forwards;
}
.fadeLeft {
	transform: translateX(-100%);
	transition: .5s;
}
.fadeLeft .headline01 span {
	position: relative;
	display: inline-block;
}
.fadeLeft .headline01 span {
	color: transparent;
}
.fadeLeft .headline01 span::before {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	content: "";
	background-color: #000;
	z-index: 1;
}
.fadeLeft.on .headline01 span {
	animation: passing-txt 0s ease 1s 1 normal forwards;
}
.fadeLeft.on .headline01 span::before {
	animation: passing-bar 1s ease .5s 1 normal forwards;
}
.fadeLeft.on {
	transform: translateX(0);
}
.fadeLeft .headline01 span:after {
	opacity: 0;
}
.fadeLeft.on .headline01 span:after {
	animation: passing-sec 0s ease 1s 1 normal forwards;
}
.fadeTxt.headline01 span:after {
	opacity: 0;
}
.fadeTxt.headline01.on span:after {
	animation: passing-sec 0s ease .5s 1 normal forwards;
}
@keyframes passing-bar {
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 105%;
		width: 0;
	}
}
@keyframes passing-bar_height {
	0% {
		top: 0;
		height: 0;
	}
	50% {
		top: 0;
		height: 100%;
	}
	51% {
		top: 0;
		height: 100%;
	}
	100% {
		top: 105%;
		height: 0;
	}
}
@keyframes passing-txt {
	0% {
		color: transparent;
	}
	50% {
		color: transparent;
	}
	100% {
		color: #232323;
	}
}
@keyframes passing-sec {
	0% {
		opacity: 0;
	}
	50% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@keyframes passing-txt_white {
	0% {
		color: transparent;
		background-color: transparent;
	}
	50% {
		color: transparent;
		background-color: transparent;
	}
	100% {
		color: #fff;
		background-color: #232323;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index #container {
	padding-top: 0;
}
#index #gHeader {
	padding: 40px 80px 0;
}
#index #gHeader.is_fixed {
	padding-bottom: 40px;
}
#index #gHeader h1 {
	margin-top: -10px;
}
#index #gHeader h1 img {
	width: 220px;
}
#index .topVisual {
	padding: 0 0 0 80px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#index .topVisual .lBox {
	margin: 88px 0 185px;
	display: flex;
	flex-wrap: wrap;
	align-content: space-between;
	padding-top: 20px;
	width: calc(44.2% - 25px);
	border-top: 6px solid #232323;
}
#index .topVisual .lBox .spView {
	width: 100%;
}
#index .topVisual .lBox .infoBox {
	margin-bottom: 128px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
#index .topVisual .lBox .infoBox h2 {
	padding: 5px 20px 5px 0;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	border-right: 1px solid #232323;
}
#index .topVisual .lBox .infoBox p {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0.08em;
}
#index .topVisual .lBox .fadeTxt {
	margin-bottom: 133px;
}
#index .topVisual .lBox .txt {
	font-weight: 500;
	line-height: 1.8;
	font-size: 3.75vw;
	letter-spacing: 0.08em;
}
#index .topVisual .lBox .txt p {
	line-height: 1.4;
}
#index .topVisual .lBox .linkBox {
	width: 100%;
}
#index .topVisual .lBox .linkBox a {
	position: relative;
	display: flex;
	align-items: center;
	padding: 20px 0;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	border-top: 1px solid #ccc;
}
#index .topVisual .lBox .linkBox a:after {
	position: absolute;
	right: 0;
	bottom: 12px;
	width: 51px;
	height: 8px;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	background: url("img/common/icon05.png") no-repeat left top;
	content: "";
}
#index .topVisual .lBox .linkBox a h2 {
	margin: 0 31px 0 4px;
	width: 65px;
	height: 65px;
	font-size: 1.2rem;
	line-height: 1.2;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px dotted #232323;
	border-radius: 50%;
	box-sizing: border-box;
}
#index .topVisual .lBox .linkBox a p {
	flex: 1;
	padding: 24px 0 25px 32px;
	font-size: 1.3rem;
	line-height: 2;
	box-sizing: border-box;
	border-left: 1px solid #ccc;
}
#index .topVisual .rBox {
	margin-bottom: 100px;
	width: calc(55.8% - 25px);
	position: relative;
}
#index .topVisual .movie {
	overflow: hidden;
	width: 100%;
	position: relative;
	height: 0;
	padding-bottom: 150%;
	background-color: #999;
}
#index .topVisual .movie iframe {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
}
#index .slideNews {
	padding: 17px 0;
	margin-right: 80px;
	max-width: 936px;
	position: relative;
	background-color: #fff;
}
#index .slideNews .content {
	display: flex;
}
#index .slideNews h2 {
	margin-left: -3px;
	width: 83px;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.1em;
}
#index .slideNews .txtBox {
	padding: 4px 15px 0 0;
	width: calc(100% - 83px);
	box-sizing: border-box;
}
#index .slideNews .txtBox li {
	display: flex !important;
	font-size: 1.4rem;
}
#index .slideNews .txtBox .date {
	width: 100px;
}
#index .slideNews .prev, #index .slideNews .next {
	position: absolute;
	width: 18px;
	height: 18px;
	right: 80px;
	top: 24px;
	cursor: pointer;
}
#index .slideNews .next {
	right: 48px;
}
#index .slideNews .prev:before, #index .slideNews .next:before {
	position: absolute;
	left: 50%;
	top: 0;
	width: 12px;
	height: 12px;
	border-left: 2px solid #232323;
	border-bottom: 2px solid #232323;
	transform: rotate(45deg);
	content: "";
}
#index .slideNews .next:before {
	transform: rotate(-135deg);
}
#index .h2Ttl {
	letter-spacing: 0.5em;
	font-weight: 500;
	position: relative;
	z-index: 1;
}
#index .h2Ttl .en {
	font-size: 4.5rem;
	line-height: 1;
}
#index .h2Ttl .bgTxt {
	margin-bottom: 27px;
	display: inline-block;
	padding: 8px 14px;
	color: #fff;
	font-size: 1.5rem;
	line-height: 1.2;
	letter-spacing: 0.1em;
}
#index .h2Ttl.verH2 {
	margin-bottom: -5px;
	width: 102px;
	display: flex;
	align-items: flex-start;
}
#index .h2Ttl.verH2 .bgTxt {
	margin: 10px 0 0;
	padding: 15px 8px 12px;
	-webkit-writing-mode: tb-rl;
	-webkit-writing-mode: vertical-rl;
	writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#index .h2Ttl.verH2 .en {
	margin-right: 37px;
	display: block;
	line-height: 1.2;
	text-align: center;
}
#index .serviceBox {
	margin: -150px 0 100px;
}
#index .serviceBox .ttlBox {
	margin-bottom: 126px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#index .serviceBox .ttlBox .photo {
	width: 66.4%;
}
#index .serviceBox .ttlBox .photo img {
	width: 100%;
}
#index .serviceBox .ttlBox .rBox {
	flex: 1;
	display: flex;
	justify-content: center;
}
#index .serviceBox .linkList {
	margin: 0 -40px 74px;
	display: flex;
	flex-wrap: wrap;
}
#index .serviceBox .linkList > li {
	width: 50%;
	position: relative;
	box-sizing: border-box;
	padding: 0 40px;
}
#index .serviceBox .linkList .ttl {
	padding: 57px 0 27px;
	display: flex;
	justify-content: space-between;
	border-top: 6px solid #232323;
	;
}
#index .serviceBox .linkList .ttl .headline02 {
	margin-bottom: 0;
	font-size: 2rem;
}
#index .serviceBox .linkList .ttl .headline02 .en {
	margin-bottom: 4px;
}
#index .serviceBox .linkList p {
	margin: 0 -3px 30px 0;
	line-height: 1.75;
}
#index .serviceBox .linkList .comBtn {
	margin-right: 8px;
}
#index .serviceBox .linkList .comBtn a {
	padding-right: 50px;
}
#index .serviceBox .linkList02 {
	margin: 0 -35px;
}
#index .serviceBox .linkList02 > li {
	width: calc(100%/3);
	padding: 0 35px;
}
#index .serviceBox .linkList02 > li li:not(:last-child) {
	margin-bottom: 55px;
}
#index .serviceBox .linkList02 > .liStyle .ttl {
	height: auto !important;
	padding-bottom: 30px;
}
#index .serviceBox .linkList02 > .liStyle > .comBtn {
	margin-bottom: 55px;
}
#index .worksBox {
	padding: 95px 0 104px;
}
#index .worksBox .fadeTxt {
	position: relative;
	z-index: 1;
}
#index .worksBox .perList01 {
	margin-bottom: -11%;
	align-items: flex-end;
	transform: translateY(-16.5%);
}
#index .worksBox .perList01 li {
	margin-right: 6.35%;
	width: 23%;
}
#index .worksBox .perList01 li:last-child {
	margin-right: 0;
	width: 41.3%;
}
#index .worksBox .perList .image {
	margin-bottom: 20px;
}
#index .worksBox .perList h3:before {
	display: none;
}
#index .worksBox .perList01 li:last-child .image {
	margin-bottom: 18px;
}
#index .worksBox .perList01 li:last-child h3 {
	font-size: 1.5rem;
}
#index .worksBox .foo {
	margin-bottom: 75px;
}
#index .worksBox .foo .slick-slide {
	margin: 0 33px;
	width: 20vw !important;
}
#index .worksBox .comBtn a::before {
	background-color: #f5f5f5;
}
#index .newsBox {
	padding: 200px 0 15px;
}
#index .newsBox > div {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
#index .newsBox .photo {
	width: 45.5%;
}
#index .newsBox .photo img {
	width: 100%;
}
#index .newsBox .rBox {
	width: 46%;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
}
#index .newsBox .ttl {
	margin: -110px 0 120px;
}
#index .newsBox h2.verH2 {
	width: 122px;
}
#index .newsBox h2.verH2 .en {
	margin-right: 45px;
}
#index .newsBox .newsList {
	width: 100%;
	margin: 0 0 110px;
	justify-content: space-between;
}
#index .newsBox .newsList li {
	margin: 0;
	width: 44%;
}
#index .newsBox .newsList .pho {
	margin-bottom: 20px;
}
#index .newsBox .newsList .txtBox > p:last-child {
	font-size: 1.3rem;
	line-height: 2.18;
}
#index .newsBox .newsList .tag:after {
	display: none;
}
#index .newsBox .newsList .date {
	margin-top: 15px;
	width: 100%;
	color:#666;
}
#index .newsBox .newsList .txt {
	margin-bottom: 13px;
}
#index .newsBox .comBtn a {
	padding-right: 50px;
}
@keyframes allow-clipout1 {
	0% {
		clip: rect(0 51px 8px 0);
	}
	100% {
		clip: rect(0 51px 8px 51px)
	}
}
@keyframes allow-clipin1 {
	0% {
		clip: rect(0 0 8px 0);
	}
	100% {
		clip: rect(0 51px 8px 0);
	}
}
@media all and (max-width: 1199px) {
	#index .slideNews {
		width: calc(100% - 80px);
	}
}
@media all and (max-width: 999px) {
	#index .topVisual .lBox .txt {
		font-size: 4.2rem;
	}
	#index .slideNews h2 {
		width: 60px;
	}
	#index .slideNews .txtBox .date {
		width: 85px;
	}
	#index .worksBox .h2Ttl {
		margin-bottom: -120px;
	}
}
@media all and (min-width: 897px) {
	#index .topVisual .lBox .linkBox a:hover {
		opacity: 0.7;
	}
	#index .topVisual .lBox .linkBox a:after {
		clip: rect(0 51px 40px 0);
		transition: none;
	}
	#index .topVisual .lBox .linkBox a:hover:after {
		animation: 0.3s cubic-bezier(0.3, 0.5, 0, 1) forwards allow-clipout1, 0.3s cubic-bezier(0.3, 0.5, 0, 1) 0.3s forwards allow-clipin1 !important;
	}
	#index .slideNews .txtBox li a:hover {
		text-decoration: underline;
	}
	#index .slideNews .prev:hover, #index .slideNews .next:hover {
		opacity: 0.7;
	}
}
@media all and (-ms-high-contrast:none) {
	#index .h2Ttl.verH2 .en {
		margin-right: 20px;
	}
	#index .newsBox h2.verH2 .en {
		margin-right: 20px;
	}
}
@media all and (max-width: 896px) {
	#index #gHeader {
		padding: 0;
	}
	#index #gHeader .hBox {
		background: none;
	}
	#index #gHeader.open .hBox {
		background-color: #fff;
	}
	#index #gHeader.is_fixed .hBox {
		background-color: #fff;
	}
	#index #gHeader h1 {
		margin-top: 0;
	}
	#index #gHeader h1 img {
		width: 142px;
	}
	#index .topVisual {
		padding: 0;
		display: block;
	}
	#index .topVisual .lBox {
		margin: 0;
		padding-top: 0;
		width: auto;
		border: none;
		display: block;
	}
	#index .topVisual .lBox .spView {
		position: relative;
	}
	#index .topVisual .lBox .infoBox {
		position: absolute;
		left: 19px;
		top: 55px;
		width: calc(100% - 38px);
		padding-top: 13px;
		justify-content: flex-start;
		border-top: 3px solid #232323;
	}
	#index .topVisual .lBox .infoBox h2 {
		margin-right: 9px;
		padding: 0 8px 0 0;
		font-size: 1rem;
		line-height: 1;
	}
	#index .topVisual .lBox .infoBox p {
		font-size: 0.9rem;
		letter-spacing: 0.1em;
	}
	#index .topVisual .lBox .fadeTxt {
		margin-bottom: 0;
		position: absolute;
		left: 40px;
		top: 56%;
		width: calc(100% - 80px);
		transform: translateY(-50%);
	}
	#index .topVisual .lBox .txt {
		font-size: 3.6rem;
		line-height: 2;
		letter-spacing: 0.1em;
	}
	#index .topVisual .lBox .linkBox a {
		padding: 43px 20px;
		border-top: none;
	}
	#index .topVisual .lBox .linkBox a:after {
		display: none;
	}
	#index .topVisual .lBox .linkBox a h2 {
		margin: 0 26px 0 0;
		width: 70px;
		height: 70px;
		font-size: 1.4rem;
		border-width: 1px;
	}
	#index .topVisual .lBox .linkBox a p {
		padding: 0;
		font-size: 1.4rem;
		border-left: none;
	}
	#index .topVisual .rBox {
		overflow: hidden;
	}
	#index .slideNews {
		padding: 15px 30px 20px 0;
		margin-right: 0;
		width: calc(100% - 38px);
		box-sizing: border-box;
	}
	#index .slideNews h2 {
		margin-left: 0;
		width: 50px;
		min-width: 50px;
		font-size: 1.2rem;
	}
	#index .slideNews .txtBox {
		padding: 2px 25px 0 0;
		width: calc(100% - 50px);
	}
	#index .slideNews .txtBox .slick-list {
		overflow: visible;
	}
	#index .slideNews .txtBox li {
		display: block !important;
		font-size: 1rem;
	}
	#index .slideNews .txtBox .date {
		width: auto;
	}
	#index .slideNews .txtBox .txt {
		display: block;
		margin: 8px 0 0 -50px;
	}
	#index .slideNews .txtBox .txt a {
		display: block;
		white-space: nowrap;
		text-overflow: ellipsis;
		overflow: hidden;
	}
	#index .slideNews .prev, #index .slideNews .next {
		width: 10px;
		height: 10px;
		right: 40px;
		top: auto;
		bottom: 20px;
	}
	#index .slideNews .next {
		right: 20px;
	}
	#index .slideNews .prev:before, #index .slideNews .next:before {
		width: 7px;
		height: 7px;
		border-width: 1px;
	}
	#index .h2Ttl .en {
		font-size: 3.6rem;
	}
	#index .h2Ttl .bgTxt {
		margin-bottom: 19px;
		padding: 4px 10px;
		font-size: 1.3rem;
	}
	#index .h2Ttl.verH2 {
		margin-bottom: 0;
		width: 70px;
	}
	#index .h2Ttl.verH2 .bgTxt {
		margin-top: 7px;
		padding: 12px 4px 10px;
	}
	#index .h2Ttl.verH2 .en {
		margin-right: 15px;
	}
	#index .serviceBox {
		margin: -100px 0 90px;
	}
	#index .serviceBox .ttlBox {
		margin-bottom: 35px;
		align-items: flex-start;
	}
	#index .serviceBox .ttlBox .photo {
		width: 69.8%;
	}
	#index .serviceBox .ttlBox .rBox .fadeTxt {
		margin-top: -7px;
	}
	#index .serviceBox .linkList {
		margin: -38px 0 60px;
		display: block;
	}
	#index .serviceBox .linkList > li {
		width: auto;
		padding: 38px 0 0;
	}
	#index .serviceBox .linkList .ttl {
		padding: 25px 0 15px;
		border-width: 3px;
	}
	#index .serviceBox .linkList .ttl .headline02 {
		font-size: 1.8rem;
	}
	#index .serviceBox .linkList .icon {
		margin-top: 7px;
		width: 41px;
	}
	#index .serviceBox .linkList p {
		margin-bottom: 0;
		line-height: 2;
		font-feature-settings: "palt";
		-moz-font-feature-settings: "palt";
	}
	#index .serviceBox .linkList .comBtn {
		margin: 13px 0 0;
	}
	#index .serviceBox .linkList .comBtn a {
		padding-right: 34px;
	}
	#index .serviceBox .linkList02 {
		width: 100%;
		margin: 0 -20px 0 0;
	}
	#index .serviceBox .linkList02 .slick-slide {
		width: 142px;
		padding: 0 30px 0 0;
	}
	#index .serviceBox .linkList02 .ttl .headline02 {
		font-size: 1.4rem;
	}
	#index .serviceBox .linkList02 .headline02 .en {
		margin-bottom: 7px;
		font-size: 1rem;
	}
	#index .serviceBox .linkList02 .ttl .icon {
		display: none;
	}
	#index .serviceBox .linkList02 .txt {
		display: none;
	}
	#index .serviceBox .linkList02 > li li:not(:last-child) {
		margin-bottom: 0;
	}
	#index .serviceBox .linkList02 .slick-slide .comBtn {
		margin-top: 7px;
	}
	#index .worksBox {
		padding: 50px 0 50px;
	}
	#index .worksBox .content {
		margin-bottom: 40px;
		display: flex;
		align-items: flex-start;
		justify-content: space-between;
	}
	#index .worksBox .fadeTtl {
		margin: 45px 0 0;
	}
	#index .worksBox .perList01 {
		margin-bottom: 0;
		width: 50%;
		align-items: flex-start;
		transform: none;
	}
	#index .worksBox .perList01 li {
		margin-right: 0;
		width: auto !important;
	}
	#index .worksBox .perList01 li:not(:last-child) {
		display: none;
	}
	#index .worksBox .perList .image {
		margin-bottom: 12px;
	}
	#index .worksBox .perList h3 {
		margin-bottom: 8px;
		font-size: 1.4rem;
	}
	#index .worksBox .perList01 li:last-child {
		margin-bottom: 0;
	}
	#index .worksBox .perList01 li:last-child .image {
		margin-bottom: 12px;
	}
	#index .worksBox .perList01 li:last-child h3 {
		margin-bottom: 8px;
		font-size: 1.4rem;
	}
	#index .worksBox .perList li .tag {
		line-height: 1.5;
	}
	#index .worksBox .perList li .tag a{
		display:inline;
	}
	#index .worksBox .foo {
		margin-bottom: 37px;
	}
	#index .worksBox .foo .slick-slide {
		margin: 0 15px;
		width: 170px !important;
	}
	#index .newsBox {
		padding: 100px 0 15px;
	}
	#index .newsBox > div {
		display: block;
	}
	#index .newsBox .photo {
		width: 70%;
	}
	#index .newsBox .rBox {
		width: auto;
		display: block;
	}
	#index .newsBox .rBox .ttlBox {
		margin: 0 -19px 40px;
		display: flex;
		justify-content: space-between;
	}
	#index .newsBox .rBox .ttlBox .ttl {
		flex: 1;
		display: flex;
		justify-content: center;
	}
	#index .newsBox .ttl {
		margin: -7px 0 0;
	}
	#index .newsBox h2.verH2 {
		width: 67px;
	}
	#index .newsBox h2.verH2 .en {
		margin-right: 10px;
	}
	#index .newsBox .newsList {
		margin: 0;
		display: block;
	}
	#index .newsBox .newsList li {
		margin: 30px 0 0;
		width: auto;
	}
	#index .newsBox .newsList li a {
		display: flex;
		align-items: center;
	}
	#index .newsBox .newsList .pho {
		margin: 0 32px 0 0;
		width: 100px;
		padding-bottom: 100px;
	}
	#index .newsBox .newsList .txtBox > p:last-child {
		font-size: 1.3rem;
		line-height: 1.7;
	}
	#index .newsBox .newsList .txtBox {
		flex: 1;
	}
	#index .newsBox .newsList .tag {
		display: none;
	}
	#index .newsBox .newsList .date {
		margin-top: 0;
	}
	#index .newsBox .newsList .txt {
		margin-bottom: 9px;
	}
	#index .newsBox .comBtn {
		display: none;
	}
}
@media all and (max-width: 896px) and (max-height: 400px) {
	#index .topVisual .lBox .fadeTxt {
		top: 60%;
	}
}
@media all and (max-width: 359px) {
	#index .topVisual .lBox .txt {
		font-size: 3rem;
	}
}
/*------------------------------------------------------------
	about
------------------------------------------------------------*/
.about .topTxtInner {
	margin-bottom: 112px;
}
.company {
	margin-bottom: 75px;
	padding: 80px 0;
	background-color: #f5f5f5;
}
.aboutInner .inner p {
	text-align: justify;
	font-size: 1.4rem;
	line-height: 2.5;
	letter-spacing: 0.06em;
	font-feature-settings: "palt";
	-moz-font-feature-settings: "palt";
}
.aboutInner .recruit {
	padding-top: 75px;
	border-top: 1px solid #ddd;
}
.aboutInner .recruit h4 {
	margin-bottom: 28px;
	font-size: 1.4rem;
}
.aboutInner .recruit p {
	margin-bottom: 15px;
	font-size: 1.4rem;
	line-height: 2.5;
}
.aboutInner .recruit .bgNone a {
	font-size: 1.4rem;
	font-weight: bold;
}
@media all and (min-width: 897px) {
	.aboutInner .inner {
		margin-bottom: 80px;
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	.aboutInner .inner .photoBox {
		margin-top: 15px;
		width: 220px;
	}
	.aboutInner .inner .textBox {
		width: calc(100% - 295px);
	}
	.aboutInner .inner p a:hover {
		text-decoration: underline;
	}
}
@media all and (max-width: 896px) {
	.about .topTxtInner {
		margin-bottom: 75px;
	}
	.company {
		margin-bottom: 60px;
		padding: 53px 0 60px;
	}
	.aboutInner .inner {
		margin-bottom: 35px;
	}
	.aboutInner .inner .photoBox {
		margin: 0 auto 15px;
		width: 131px;
	}
	.aboutInner .inner p {
		line-height: 2;
		letter-spacing: -0.05em;
	}
	.aboutInner .recruit {
		padding-top: 37px;
	}
	.aboutInner .recruit h4 {
		margin-bottom: 20px;
	}
	.aboutInner .recruit p {
		line-height: 2;
	}
	.aboutInner .recruit .bgNone a {
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	service
------------------------------------------------------------*/
.serviceSection {
	border-top: 1px solid #ddd;
}
.serviceSection > div {
	position: relative;
	box-sizing: border-box;
}
.serviceSection .textBox::before {
	position: absolute;
	content: '';
	width: 100%;
	height: 6px;
	top: -46px;
	left: 0;
	background-color: #232323;
}
.serviceSection .icon {
	position: absolute;
	left: 0;
	top: 20px;
}
.serviceSection p {
	margin-bottom: 30px;
}
.serviceSection .photoBox::after {
	position: absolute;
	left: 50%;
	top: -150px;
	width: calc(50% + 80px);
	height: calc(100% + 300px);
	background-color: #F5F5F5;
	content: '';
	z-index: -1;
}
.serviceSection .photoBox img {
	width: 100%;
}
.serviceSection:nth-of-type(2n) .photoBox::after {
	left: auto;
	right: 50%;
}
.serviceSection .comBtn a {
	margin: 0;
	margin-left: auto;
	max-width: 380px;
}
.serviceSection:last-child {
	padding-bottom: 0;
}
@media all and (min-width: 897px) {
	.serviceSection {
		padding: 40px 0 227px;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
	}
	.serviceSection > div {
		width: calc(50% - 40px);
	}
	.serviceSection:nth-of-type(2n) {
		flex-direction: row-reverse;
	}
	/*.serviceSection .photoBox {
		width: 44.7%;
	}*/
	.serviceSection .photoBox p {
		display: none;
	}
	.serviceSection .textBox {
		padding: 15px 0 0 100px;
	}
	.serviceSection .comBtn a:after {
		right: 20px;
	}
}
@media all and (max-width: 896px) {
	.serviceSection {
		margin: 0 -20px;
		padding: 30px 0 188px;
	}
	.serviceSection .textBox {
		padding: 0 20px 0;
	}
	.serviceSection .textBox::before {
		width: calc(100% - 112px);
		height: 5px;
		top: -35px;
	}
	.serviceSection .headline02 {
		position: absolute;
		top: -102px;
		left: 86px;
	}
	.serviceSection .photoBox {
		margin: 0 -20px 55px auto;
		width: calc(100% - 43px);
		position: relative;
	}
	.serviceSection .photoBox p {
		margin: 25px 10px 0 0;
		position: relative;
		z-index: 2;
		line-height: 1.75;
	}
	.serviceSection:nth-of-type(2n) .photoBox {
		margin-left: -20px;
	}
	.serviceSection:nth-of-type(2n) .photoBox p {
		margin: 25px 0 0 20px;
	}
	.serviceSection .photoBox::after {
		top: -160px;
		left: calc(50% - 40px);
		height: calc(100% + 190px);
	}
	.serviceSection:nth-of-type(2n) .photoBox::after {
		left: auto;
		right: calc(50% - 40px);
	}
	.serviceSection .icon {
		left: 18px;
		top: -100px;
		width: 50px;
	}
	.serviceSection .comBtn a {
		margin: 0 auto;
		max-width: 225px;
	}
}
@media all and (max-width: 374px) {
	.serviceSection .icon {
		left: 10px;
		width: 40px;
	}
	.serviceSection .headline02 {
		left: 60px;
		font-size: 1.8rem;
	}
}
/*------------------------------------------------------------
	works
------------------------------------------------------------*/
.categoryBox {
	margin: 0 auto 40px;
	max-width: 1040px;
	display: flex;
}
.categoryBox h2 {
	margin-right: 40px;
	font-size: 2rem;
	letter-spacing: 0.14em;
}
.categoryBox li {
	margin-right: 12px;
	display: inline-block;
	font-size: 1.4rem;
}
.categoryBox li a {
	margin-right: 12px;
	position: relative;
}
.categoryBox li a::after {
	width: 0;
	height: 2px;
	position: absolute;
	bottom: -5px;
	left: 0;
	transition: 0.5s cubic-bezier(0.67, 0.08, 0.44, 0.99);
	background-color: #232323;
	content: "";
}
.categoryBox .on a::after {
	width: 100%;
}
.perArea {
	padding: 80px 0 55px;
	background-color: #f5f5f5;
}
@media all and (min-width: 897px) {
	.categoryBox li a:hover::after {
		width: 100%;
	}
}
@media all and (max-width: 896px) {
	.categoryBox {
		margin: 55px auto 16px;
		display: block;
		text-align: center;
	}
	.categoryBox h2 {
		margin: 0 0 18px;
		font-size: 1.8rem;
	}
	.categoryBox li {
		margin: 0 5px 12px;
		font-size: 1.2rem;
	}
	gHeader .perArea {
		padding: 60px 0 55px;
	}
	.cat .headline01 {
		margin: 20px 0 0;
	}
	.cat .categoryBox {
		margin-top: 20px;
	}
}
.perList a {
	display: block;
}

.perList .image {
	margin-bottom: 44px;
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 9;
	background-color: #FFF;
	transition: 0.4s cubic-bezier(0.67, 0.08, 0.44, 0.99) 0.1s;
}
.perList a .cap {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	z-index: 2;
	padding: 3vw;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	opacity: 0;
	transition: 0.5s cubic-bezier(0.67, 0.08, 0.44, 0.99);
}
.perList a .cap::before {
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 0;
	opacity: 0.75;
	background: #000;
}
.perList a .link {
	text-align: center;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.11em;
}
.perList a .link span {
	display: block;
	padding-top: 20px;
	color: #fff;
	position: relative;
	transition: all 0.4s cubic-bezier(0.67, 0.08, 0.44, 0.99) 0.1s;
}
.perList a .link span::after {
	margin: 10px auto 0;
	content: "";
	display: block;
	z-index: 2;
	width: 1px;
	height: 8px;
	background: url(img/common/icon02.png) no-repeat right center;
	transition: 0.3s cubic-bezier(0.67, 0.08, 0.44, 0.99) 0.4s;
}
.perList .image img {
	width: 100%;
	transition: all 0.5s cubic-bezier(0.67, 0.08, 0.44, 0.99);
}
.perList h3 {
	margin-bottom: 10px;
	position: relative;
	font-size: 1.4rem;
	transition: .3s;
}
.perList h3::before {
	width: 30px;
	height: 3px;
	position: absolute;
	top: -20px;
	left: 0;
	background-color: #232323;
	content: "";
}
.perList .tag {
	font-size: 1.3rem;
	transition: .3s;
}
.perList .tag span {
	margin-right: 13px;
}
.perList .tag a{
	display: inline;
	margin-right: 13px;
	color:#666;
}
@media all and (min-width: 897px) {
	.perList {
		margin: -77px 0 120px;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.perList li {
		margin: 77px 6.5% 0 0;
		width: calc(87%/3);
	}
	.perList li:nth-child(3n) {
		margin-right: 0;
	}
	.perList::after {
		width: calc((100% - 140px)/3);
		content: '';
	}
	.perList a:hover img {
		opacity: 0.5;
	}
	.perList a:hover .cap {
		visibility: visible;
		opacity: 1;
	}
	.perList a:hover .cap::after {
		opacity: 0.75;
	}
	.perList a:hover .link span {
		padding-top: 0;
	}
	.perList a:hover .link span::after {
		width: 32px;
	}
	.perList a:hover h3 {
		opacity: 0.7;
	}
	.perList a:hover .tag {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.perList {
		margin-bottom: 50px;
	}
	.perList li:not(:last-child) {
		margin-bottom: 52px;
	}
	.perList .image {
		margin-bottom: 35px;
	}
	.perList h3 {
		font-size: 1.8rem;
	}
	.perList h3::before {
		top: -15px;
	}
	.perList .tag {
		font-size: 1.2rem;
	}
	.perList .tag span {
		margin-right: 13px;
	}
}
.noteTxt {
	margin-bottom: 50px;
	font-size: 1.4rem;
	text-align: center;
}
.noteTxt a {
	font-weight: bold;
}
@media all and (min-width: 897px) {
	.noteTxt a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.noteTxt {
		line-height: 1.75;
		text-align: left;
	}
}
.categoryBox + .tagList {
	margin-top: -8px;
}
.tagList li {
	margin-right: 10px;
	display: inline-block;
	line-height: 2.5;
	font-size: 1.2rem;
}
@media all and (min-width: 897px) {
	.categoryBox + .tagList {
		margin-top: -13px;
	}
	.tagList li {
		margin-right: 15px;
		line-height: 2.29;
		font-size: 1.4rem;
	}
	.tagList a:hover {
		opacity: 0.7;
	}
}
/* workCat */
.workCat {
	margin-top: 100px;
}
.workCat .comImgBox {
	margin-bottom: 100px;
	align-items: center;
}
.workCat .comImgBox .photoBox {
	margin-top: 0;
}
.workCat .comImgBox h3 {
	margin-bottom: 35px;
	padding-bottom: 37px;
	font-size: 1.8rem;
	border-bottom: 1px solid #ccc;
}
.workCat .comImgBox .tag {
	margin-bottom: 32px;
	padding: 6px 15px;
	display: inline-block;
	color: #FFF;
	font-size: 1.5rem;
	font-weight: normal;
	letter-spacing: 0.15em;
	background-color: #232323;
}
.workCat .comImgBox p {
	margin-bottom: 22px;
	font-size: 1.4rem;
	line-height: 2;
	letter-spacing: -0.05em;
}
@media all and (max-width: 896px) {
	.workCat {
		margin-top: 15px;
	}
	.workCat .comImgBox {
		display: none;
	}
}
/* worksDetail */
.detailBox {
	margin: 62px 0 35px;
	padding: 62px 0 100px;
}
.detailBox .topImg {
	margin-bottom: 100px;
}
@media all and (max-width: 896px) {
	.detailBox {
		margin: 0 0 56px;
		padding: 0;
	}
	.detailBox .topImg {
		margin: 0 -19px 50px;
	}
}
/* detailInner */
@media all and (min-width: 897px) {
	.detailInner {
		margin-bottom: 100px;
		display: flex;
		justify-content: space-between;
	}
	#conts {
		width: 660px;
	}
	#sideBar {
		width: 280px;
		border-top: 7px solid #232323;
	}
}
#conts .headline01 {
	margin: -5px 0 90px;
	font-weight: bold;
	letter-spacing: 0;
}
#conts .h3Ttl {
	margin-bottom: 55px;
	font-size: 3rem;
	line-height: 1;
}
#conts .headline04 {
	margin-bottom: 20px;
	line-height: 1.75;
}
#conts p {
	margin-bottom: 40px;
	line-height: 2.5;
}
#conts .date {
	margin-bottom: 5px;
	text-align: right;
	font-size: 1.4rem;
}
.snsList {
	text-align: right;
}
.snsList li {
	display: inline-block;
	width: 60px;
}
.snsList a:hover {
	opacity: 0.7;
}
#sideBar {
	padding: 55px 0 0 35px;
	font-size: 1.4rem;
	box-sizing: border-box;
}
#sideBar h3 {
	margin: 0 0 7px -35px;
	letter-spacing: 0.1em;
}
#sideBar .name {
	margin-bottom: 50px;
	font-weight: 500;
}
#sideBar .sideLink {
	margin: 14px 0 10px;
}
#sideBar .sideLink li {
	line-height: 1.75;
}
#sideBar .tagList {
	margin-bottom: 35px;
}
#sideBar .tagList li {
	font-size: 1.2rem;
	line-height: 1.5;
}
#sideBar .urlList a {
	display: block;
}
#sideBar a:hover {
	opacity: 0.7;
}
#sideBar p{
	word-break: break-all;
}
@media all and (max-width: 896px) {
	.detailInner {
		margin-bottom: 35px;
	}
	#conts .headline01 {
		margin: -5px 0 28px;
		font-size: 1.8rem;
		font-feature-settings: "palt";
		text-align: left;
	}
	#conts .headline04 {
		margin-bottom: 15px;
		font-size: 1.4rem;
	}
	#conts {
		margin-bottom: 30px;
	}
	#conts p {
		margin-bottom: 20px;
		line-height: 2;
	}
	#conts .date {
		margin-bottom: 10px;
		font-size: 1.2rem;
	}
	#sideBar {
		margin: 0 -19px;
		padding: 25px 0 25px 65px;
		background-color: #FFF;
	}
	#sideBar h3 {
		margin: 0 0 7px -30px;
		letter-spacing: 0;
	}
	#sideBar .name {
		margin-bottom: 18px;
	}
	#sideBar .sideLink {
		margin: 0 0 10px;
	}
	#sideBar .sideLink li {
		line-height: 1.75;
	}
	#sideBar .tagList {
		margin-bottom: 20px;
	}
	#sideBar .tagList li {
		font-size: 1.2rem;
		line-height: 2;
	}
}
/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
.privacy #pagepath {
	margin-bottom: 32px;
}
.privacy .smlContent {
	max-width: 720px;
}
.privacy .smlContent .headline01 {
	letter-spacing: 0;
}
.privacy .rightTxt {
	margin: 77px 0 95px;
	text-align: right;
	font-size: 1.4rem;
	line-height: 1.75;
	font-feature-settings: inherit;
}
.privacy p {
	margin-bottom: 29px;
	letter-spacing: 0.015em;
	line-height: 1.8;
	text-align: justify;
	font-feature-settings: "palt";
}
.privacy p a {
	text-decoration: none;
}
.privacy p .lineLink {
	text-decoration: underline;
}
.privacy .text {
	margin-bottom: 87px;
}
.privacy .headline04 {
	margin: 72px 0 29px;
}

.privacy ol>li {
 margin: 0 0 1em 1em;
	text-indent: -1em;
	line-height: 1.8;
}
.privacy .pointtxt{
 margin: 1em 0 0 1em;
}

.indentTxt li {
	margin: 0 0 0 0.8em;
	text-indent: -0.8em;
	line-height: 1.8;
	font-feature-settings: "palt";
}
@media all and (min-width: 897px) {
	.privacy p a:hover {
		text-decoration: underline;
	}
	.privacy p .lineLink:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.privacy .headline01 {
		margin: 20px 0 40px;
	}
	.privacy #pagepath {
		margin-bottom: 32px;
	}
	.privacy .mainBox {
		max-width: inherit;
	}
	.privacy .rightTxt {
		margin: -10px 0 30px;
		font-size: 1.2rem;
	}
	.privacy p {
		margin-bottom: 15px;
		letter-spacing: 0.015em;
		line-height: 2;
	}
	.privacy .text {
		margin-bottom: 40px;
	}
	.privacy .headline04 {
		margin: 50px 0 13px;
	}
	.indentTxt li {
		margin: 0 0 0 0.8em;
		text-indent: -0.8em;
		line-height: 2;
	}
}
/*------------------------------------------------------------
	recruit
------------------------------------------------------------*/
.recruit #pagepath {
	margin-bottom: 32px;
}
.recruit .no-recruitment {
	text-align: center;
	background:#f5f5f5;
	padding:60px 0;
}
/*.recruit .mainBox {
	max-width: 800px;
}
.recruit > .mainBox {
	margin-bottom: 50px;
}*/

.recruit .recruit-detail {
	margin-bottom: 75px;
	padding: 60px 0 80px 0;
	background-color: #f5f5f5;
}
.recruit .recruit-detail .category  {
	margin-bottom: 80px;
}

.recruit .recruit-detail .jobListName{
    font-weight: 500;
    margin: 0 0 10px 0;
    padding: 5px 0 5px 0;
    text-align: center;
    background-color: #000;
    color: #fff;
}

.recruit .recruit-detail .category .category-list li {
	padding: 0 0 14px 30px;
	background: url(img/common/recruit_icon.svg) no-repeat left 1px / 18px;
	font-size: 1.4rem;
}
.recruit .recruit-detail .category .category-list li a:hover{
	opacity: 0.7;
}
.recruit .recruit-detail .mb100{
	margin-bottom: 100px;
}
.recruit .recruit-detail .mb90{
	margin-bottom: 90px;
}
.recruit .recruit-detail .mb80{
	margin-bottom: 80px;
}
.recruit .recruit-detail .mb70{
	margin-bottom: 70px;
}
.recruit .recruit-detail .mb60{
	margin-bottom: 60px;
}
.recruit .recruit-detail .mb50{
	margin-bottom: 50px;
}
.recruit .recruit-detail .mb40{
	margin-bottom: 60px;
}
.recruit .recruit-detail .mb30{
	margin-bottom: 60px;
}
.recruit .recruit-detail .mb20{
	margin-bottom: 60px;
}

.recruit .recruit-detail .top-txt {
 margin-bottom: 30px;
 font-size: 1.4rem;
 line-height: 2;
 text-align: center;
}
.recruit .recruit-detail .bottom-txt {
 margin-top: 30px;
 font-size: 1.4rem;
 line-height: 2;
}

@media all and (min-width: 897px) {
	.recruit p a:hover {
		text-decoration: underline;
	}
	.recruit p .lineLink:hover {
		text-decoration: none;
	}
}
@media all and (max-width: 896px) {
	.recruit .headline01 {
		margin: 20px 0 40px;
	}
	.recruit #pagepath {
		margin-bottom: 32px;
	}
	.recruit .no-recruitment {
		text-align: left;
		background:#f5f5f5;
		padding:40px 1em;
	}
 .recruit .recruit-detail {
	margin-bottom: 40px;
	padding: 40px 0;
}
 .recruit .recruit-detail .top-txt {
 text-align: left;
}
}
/*------------------------------------------------------------
	news
------------------------------------------------------------*/
.newsDetail .headline01 {
	margin-bottom: 60px;
}
.newsDetail .comBg {
	margin-bottom: 35px;
	padding: 54px 0 50px;
}
.newsDetail .comBg .mainBox {
	max-width: 720px;
}
.newsDetail .txtInner {
	margin-bottom: 14px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.newsDetail .txtInner .txt {
	margin-top: 5px;
	width: calc(100% - 300px);
	display: flex;
	flex-wrap: wrap;
	font-size: 1.4rem;
	line-height: 1.2;
}
.newsDetail .txtInner .txt .tag {
	margin-right: 20px;
	position: relative;
	padding-right: 17px;
	letter-spacing: 0.2em;
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
}
.newsDetail .txtInner .txt .tag:after {
	position: absolute;
	right: 0;
	top: 3px;
	width: 1px;
	height: calc(100% - 4px);
	background-color: #232323;
	content: "";
}
.newsDetail .comBg h3 {
	margin-bottom: 34px;
	font-size: 2.4rem;
	font-weight: normal;
	line-height: 1.33;
}
.newsDetail .comBg .photo {
	margin-bottom: 67px;
}
.newsDetail .comBg .photo img {
	width: 100%;
}
.newsDetail .comBg .mainBox > p {
	margin-bottom: 40px;
	line-height: 2.5;
}
@media all and (max-width: 896px) {
	.newsDetail {
		padding-top: 20px;
	}
	.newsDetail .headline01 {
		margin-bottom: 30px;
	}
	.newsDetail .comBg {
		margin-bottom: 22px;
		padding: 35px 0 40px;
	}
	.newsDetail .txtInner {
		margin-bottom: 24px;
		display: block;
	}
	.newsDetail .txtInner .txt {
		margin: 0 0 10px;
		width: auto;
		justify-content: center;
		font-size: 1.2rem;
	}
	.newsDetail .txtInner .txt .tag {
		font-size: 1.4rem;
	}
	.newsDetail .txtInner .snsList {
		text-align: center;
	}
	.newsDetail .comBg h3 {
		margin-bottom: 17px;
		font-size: 1.8rem;
		font-weight: bold;
	}
	.newsDetail .comBg .photo {
		margin-bottom: 22px;
	}
	.newsDetail .comBg .mainBox > p {
		margin-bottom: 15px;
		line-height: 2;
	}
}
@media all and (min-width: 897px) {
	.topInner {
		align-items: flex-end;
	}
	.topInner .textBox {
		padding-bottom: 8vw;
	}
	.topInner .photoBox {
		margin-top: 0;
	}
}
@media all and (max-width: 896px) {
	.topInner {
		padding-top: 30px;
	}
}
.photoIn {
	position: relative;
	overflow: hidden;
}
.photoIn:after {
	position: absolute;
	transition: transform 1s cubic-bezier(0.3, 0.5, 0, 1);
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	content: "";
}
.photoIn.on::after {
	transform: translateX(100%);
}
.contactBtn {
	display: none;
}
@media all and (min-width: 897px) {
	.bgNone a::after {
		clip: rect(0 32px 28px 0);
		transition: none;
	}
	.bgNone a:hover::after {
		animation: 0.3s cubic-bezier(0.3, 0.5, 0, 1) forwards allow-clipout, 0.3s cubic-bezier(0.3, 0.5, 0, 1) 0.3s forwards allow-clipin !important;
	}
}
@keyframes allow-clipout {
	0% {
		clip: rect(0 32px 28px 0);
	}
	100% {
		clip: rect(0 32px 28px 32px)
	}
}
@keyframes allow-clipin {
	0% {
		clip: rect(0 0 28px 0);
	}
	100% {
		clip: rect(0 32px 28px 0);
	}
}
#gHeader.is_fixed {
	padding-bottom: 23px;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	z-index: 999;
	background-color: rgba(255, 255, 255, 0.8);
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
.contact .mainBox {
	max-width: 800px;
}
.contact > .mainBox {
	margin-bottom: 50px;
}
.contact .comBg {
	padding: 10px 0 20px;
}
.contact .mailForm table {
	margin-bottom: 15px;
	width: 100%;
	border-spacing: 0;
}
.hide {
	display: none !important;
}
.fix {
	display: table-row !important;
}
.contact .contact_hide {
	margin-bottom: 100px;
	display: none;
}
.contact .mailForm th, .contact .mailForm td {
	padding: 30px 0;
	text-align: left;
	vertical-align: top;
}
.contact .mailForm th {
	padding: 45px 30px 30px 0;
	width: 35%;
	font-size: 1.8rem;
	font-weight: normal;
}
.contact .mailForm .thStyle {
	padding-top: 30px;
}
.contact .mailForm th .required {
	margin-top: 3px;
	display: block;
	padding: 3px 2px;
	float: right;
	width: 50px;
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.2;
	font-weight: bold;
	text-align: center;
	background-color: #232323;
	box-sizing: border-box;
}
.contact .mailForm th .small {
	margin-top: 7px;
	font-size: 1.4rem;
	clear: both;
	width: 100%;
	display: block;
	text-align: right;
}
.contact .mailForm .list {
	padding: 0 30px;
}
.contact .mailForm .list li {
	padding-top: 20px;
}
.contact .mailForm .list .liStyle {
	margin-top: 20px;
	padding-top: 17px;
	border-top: 2px dotted #d6d6d6;
}
.contact .mailForm input[type="radio"], .contact .mailForm input[type="checkbox"] {
	display: none;
}
.contact .mailForm .list input[type="radio"] + span {
	display: inline-block;
	padding: 0 0 1px 40px;
	cursor: default;
	background: url("img/contact/radio_bg.png") no-repeat left top;
}
.contact .mailForm .list input[type="radio"]:checked + span {
	background-image: url("img/contact/radio_on_bg.png");
}
.contact .mailForm input[type="checkbox"] + span {
	display: inline-block;
	padding-left: 40px;
	cursor: default;
	background: url("img/contact/check_bg.png") no-repeat left top;
}
.contact .mailForm input[type="checkbox"]:checked + span {
	background-image: url("img/contact/check_on_bg.png");
}
.contact .mailForm .txt {
	margin-bottom: 30px;
	padding: 30px 0 35px;
	font-size: 1.8rem;
	line-height: 1.78;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
}
.contact .mailForm input[type="text"], .contact .mailForm input[type="email"], .contact .mailForm input[type="tel"], .contact .mailForm textarea {
	width: 520px;
	height: 60px;
	padding: 10px 28px;
	font-size: 1.8rem;
	background-color: #fff;
	border: none;
	appearance: none;
	border-radius: 0;
	-webkit-appearance: none;
	box-sizing: border-box;
}
.contact .mailForm .txtSpan01 {
	display: inline-block;
	margin-right: 15px;
	font-size: 1.8rem;
}
.contact .mailForm .btn {
	margin-left: 20px;
	padding: 7px 15px;
	display: inline-block;
	text-align: center;
	background-color: #ccc;
}
.contact .mailForm input[type="text"].wid01 {
	margin-bottom: 18px;
	width: 137px;
}
.contact .mailForm input[type="text"].wid02 {
	margin-bottom: 18px;
	width: 487px;
}
.contact .mailForm input[type="text"].wid02:last-child {
	margin-bottom: 0;
}
.contact .mailForm input[type="text"].wid03 {
	margin-right: 17px;
	width: 110px;
}
.contact .mailForm input[type="text"].wid04 {
	margin-right: 17px;
	width: 82px;
	text-align: right;
}
.contact .mailForm input[type="text"].wid03 + .txtSpan01, .contact .mailForm input[type="text"].wid04 + .txtSpan01 {
	margin-right: 32px;
}
.contact .mailForm input[type="text"].wid04 + .txtSpan01:last-child {
	margin-right: 0;
}
placeholder-shown {
	color: #aaa;
}
::-webkit-input-placeholder {
	color: #aaa;
}
:-moz-placeholder {
	color: #aaa;
	opacity: 1;
}
::-moz-placeholder {
	color: #aaa;
	opacity: 1;
}
:-ms-input-placeholder {
	color: #aaa;
}
.contact .mailForm textarea {
	padding-top: 25px;
	height: 250px;
	width: 100%;
}
.contact .mailForm .trStyle th {
	padding: 23px 0 0;
}
.contact .mailForm .trStyle td {
	padding: 18px 0 18px;
}
.contact .mailForm .tdStyle {
	padding-bottom: 9px;
}
.contact .mailForm .agree {
	margin: 5px auto 0;
	max-width: 370px;
	font-size: 1.8rem;
	line-height: 1.2;
	text-align: center;
}
.contact .mailForm .agree label {
	padding: 30px;
	display: block;
	text-align: center;
}
.contact .mailForm .agree input[type="checkbox"] + span {
	padding-bottom: 4px;
}
.contact .mailForm .submit {
	display: flex;
	justify-content: center;
}
.contact .mailForm .submit li {
	width: 330px;
	color: #fff;
	position: relative;
	display: block;
	text-align: center;
	box-sizing: border-box;
	border: 2px solid #232323;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	background-color: #232323;
	margin:0 10px;
}

.contact .mailForm .submit li::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: scaleX(0);
	-ms-transform: scaleX(0);
	transform: scaleX(0);
	opacity: 1;
	z-index: 1;
	background-color: #fff;
}
.contact .mailForm .submit li::after {
	position: absolute;
	right: 30px;
	top: 0;
	width: 32px;
	height: 100%;
	content: '';
	background: url(img/common/icon02.png) no-repeat right center;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	z-index: 2;
}
.contact .mailForm .submit input {
	padding: 15px 60px;
	cursor: pointer;
	color: #FFF;
	font-size: 1.6rem;
	font-weight: bold;
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.1em;
	transition: all .5s cubic-bezier(.04, .435, .315, .9);
	appearance: none;
	-webkit-appearance: none;
	background: none;
	border: none;
	position: relative;
	z-index: 2;
}
#contact .comContact {
	display: none;
}
#contact .contactBtn {
	display: none !important;
}
#contact .pageTop {
	bottom: 80px;
}
.contact .mailForm .errorTtl {
	margin: 60px 0 25px;
	padding: 20px;
	position: relative;
	color: #fff;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	background-color: #cf9d9c;
}
.contact .mailForm .errorTtl:before, .contact .mailForm .errorTtl:after {
	position: absolute;
	left: 100%;
	top: 0;
	width: 9999px;
	height: 100%;
	background-color: #cf9d9c;
	content: "";
}
.contact .mailForm .errorTtl:before {
	left: auto;
	right: 100%;
}
.contact .mailForm .errorMsg {
	display: block;
	color: #cf3b30;
	font-size: 1.4rem;
	font-weight: bold;
	margin: 8px 30px -25px;
}
.contact .mailForm input[type="text"].error, .contact .mailForm input[type="email"].error, .contact .mailForm input[type="tel"].error, .contact .mailForm textarea.error {
	border: 3px solid #cf9d9c;
}
.contact .mailForm .list.error_td {
	padding-bottom: 30px;
	background-color: #f3e6e6;
}
.contact .mailForm .agree .errorMsg {
	margin-bottom: 35px;
	text-align: left;
}
.contact .mailForm .agree.error label {
	background-color: #f3e6e6;
}
.contact .thanks p {
	margin-bottom: 87px;
	font-size: 1.8rem;
	text-align: center;
}
.contact .thanks .comBtn {
	text-align: center;
}
.confirm .mailForm th, .confirm .mailForm td {
	padding: 22px;
}
.confirm .mailForm th {
	padding: 20px 30px 20px 0;
}
.confirm .comBg {
	padding-bottom: 60px;
}
.confirm .mailForm .submit li:first-child:after {
	right: auto;
	left: 30px;
	background-image: url("img/common/icon07.png");
}
@media all and (min-width: 897px) {
	.contact .mailForm .submit li:hover:before {
		animation: btn_hover .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.contact .mailForm .submit li:hover:after {
		animation: btn_white_image .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.confirm .mailForm .submit li:first-child:hover:after {
		animation: btn_white_image_03 .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.contact .mailForm .submit li:hover input {
		animation: btn_white_hover .6s cubic-bezier(.04, .435, .315, .9) both;
	}
	.contact .mailForm .btn:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	.contact .mainVisual .headline01 {
		letter-spacing: 0.1em;
	}
	.contact > .mainBox {
		margin-bottom: 45px;
	}
	.contact .comBg {
		padding: 55px 0 5px;
	}
	.contact .mailForm th, .contact .mailForm td {
		padding: 20px 0 45px;
		float: left;
		width: 100% !important;
	}
	.contact .mailForm th {
		padding: 0;
		font-size: 1.6rem;
	}
	.contact .mailForm th .required {
		margin: 0 0 0 15px;
		display: inline-block;
		padding: 3px 2px;
		float: none;
		width: 43px;
		font-size: 1.2rem;
	}
	.contact .mailForm th .small {
		margin: 0 0 0 15px;
		font-size: 1.2rem;
		clear: both;
		width: auto;
		display: inline-block;
		text-align: left;
	}
	.contact .mailForm .list {
		margin: -15px 0 0;
		padding: 0;
	}
	.contact .mailForm .list input[type="radio"] + span {
		padding-left: 31px;
		background-size: 20px auto;
	}
	.contact .mailForm input[type="checkbox"] + span {
		padding-left: 31px;
		background-size: 20px auto;
	}
	.contact .mailForm .txt {
		margin-bottom: 60px;
		padding: 20px 0 25px;
		font-size: 1.6rem;
	}
	.contact .mailForm input[type="text"], .contact .mailForm input[type="email"], .contact .mailForm input[type="tel"], .contact .mailForm textarea, .contact select {
		width: 100%;
		height: 40px;
		padding: 10px 20px;
		font-size: 1.6rem;
	}
	.contact .mailForm .txtSpan01 {
		margin-right: 13px;
		font-size: 1.6rem;
	}
	.contact .mailForm .btn {
		margin-left: 15px;
		padding: 5px 14px;
		font-size: 1.5rem;
	}
	.contact .mailForm input[type="text"].wid01 {
		padding: 10px 15px;
		width: 29%;
	}
	.contact .mailForm input[type="text"].wid02 {
		padding: 10px 15px;
		width: 100%;
	}
	.contact .mailForm input[type="text"].wid03 {
		margin-right: 9px;
		padding: 10px 5px 10px 15px;
		width: 19%;
	}
	.contact .mailForm input[type="text"].wid04 {
		margin-right: 9px;
		padding: 10px 15px 10px 5px;
		width: 14%;
	}
	.contact .mailForm input[type="text"].wid03 + .txtSpan01, .contact .mailForm input[type="text"].wid04 + .txtSpan01 {
		margin-right: 15px;
	}
	.contact .mailForm .trPt th {
		padding-top: 15px;
	}
	.contact .mailForm textarea {
		padding-top: 7px;
		height: 160px;
	}
	.contact .mailForm .trStyle th {
		padding: 0;
	}
	.contact .mailForm .tdStyle {
		padding-bottom: 45px;
	}
	.contact .mailForm .agree {
		margin: -10px -19px 10px;
		font-size: 1.6rem;
		max-width: inherit;
	}
	.contact .mailForm .submit li {
		width: 95%;
	}
	.contact .mailForm .submit input {
		padding: 14px 60px;
		font-size: 1.2rem;
	}
	.contact .mailForm .submit li::after {
		right: 18px;
		background-size: 20px auto;
	}
	.contact .mailForm .errorTtl {
		margin: 55px 0 50px;
		padding: 22px;
		font-size: 1.6rem;
	}
	.contact .mailForm .errorMsg {
		font-size: 1.6rem;
		margin: 5px 20px -15px;
		font-weight: normal;
	}
	.contact .thanks p {
		margin-bottom: 50px;
		font-size: 1.6rem;
	}
	.contact .mailForm input[type="text"].error, .contact .mailForm input[type="email"].error, .contact .mailForm input[type="tel"].error, .contact .mailForm textarea.error {
		border-width: 2px;
	}
	.contact .mailForm .agree.error {
		margin-top: 30px;
	}
	.contact .mailForm .agree .errorMsg {
		margin-bottom: 50px;
		text-align: center;
	}
	.contact .mailForm tr.error_sp {
		position: relative;
	}
	.contact .mailForm tr.error_sp:before {
		position: absolute;
		left: -19px;
		top: -10px;
		width: calc(100% + 38px);
		height: calc(100% - 50px);
		box-sizing: border-box;
		background-color: #f3e6e6;
		content: "";
	}
	.contact .mailForm tr.error_sp th, .contact .mailForm tr.error_sp td {
		position: relative;
		z-index: 1;
	}
	.contact .mailForm .list.error_td {
		background: none;
		margin-bottom: 0;
	}
	.contact .contact_hide {
		margin-bottom: 60px;
	}
	.confirm .mailForm th, .confirm .mailForm td {
		padding: 20px 0 45px;
	}
	.confirm .mailForm th {
		padding: 0;
	}
	.confirm .comBg {
		padding-bottom: 40px;
	}
	.confirm .mailForm .submit {
		display: block;
	}
	.confirm .mailForm .submit li:first-child {
		margin-bottom: 20px;
	}
	.confirm .mailForm .submit li:first-child:after {
		left: 18px;
	}
}
@media all and (max-width: 374px) {
	.contact .mailForm input[type="checkbox"] + span {
		padding-left: 28px;
	}
}
@media all and (max-width: 359px) {
	.contact .thanks p {
		font-size: 1.4rem;
	}
	.contact .mailForm input[type="text"].wid01 {
		width: 35%;
	}
	.contact .mailForm input[type="text"].wid03 {
		width: 22%;
	}
}

.contact select {
      appearance: none;
      -webkit-appearance: none;
      -moz-appearance: none;
      background-color: #fff;
      border: none;
      position: relative;
			width: 100%;
			/* height: 40px; */
			padding: 20px 30px;
      padding-right: 30px !important;
			font-size: 1.6rem;    }

.contact select::-ms-expand {
      display: none;
    }

.contact .select-container {
      position: relative;
    }
.contact .select-container::after {
      content: '';
      position: absolute;
      top: 48%;
      right: 10px;
      width: 0;
      height: 0;
      border-left: 5px solid transparent;
      border-right: 5px solid transparent;
      border-top: 5px solid #000;
      pointer-events: none;
    }

.google_recaptcha_box {
	display: flex;
	margin-top: 60px;
	justify-content: center;
}
#google_recaptcha_box .grecaptcha-badge {
	position: relative !important;
	right: auto !important;
}
@media all and (max-width: 896px) {
	.google_recaptcha_box {
		margin-top: 40px;
	}
}