@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
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, figure, 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:visited {
	color: #000000;
	transition: all 0.3s;
}
a:hover {
	color: #000000;
	transition: all 0.3s;
}
a[href^="tel:"]:hover,
a[class="hLogo"]:hover {
	opacity: 1;
}
a:active {
	color: #000000;
	transition: all 0.3s;
}
@media all and (min-width: 1150px) {
	a:hover {
		opacity: 0.7;
	}
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	min-width: 1000px;
	color: #000000;
	font-size: 1.2rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	font-feature-settings: "palt";
	background-color: #FFF;
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	overflow-y: scroll;
}
#container {
	padding-top: 271px;
	text-align: left;
    overflow: hidden;
}
#main {
	padding-bottom: 128px;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
	#container {
		position: relative;
	}
}
@media all and (max-width: 1000px) {
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
}
@media all and (max-width: 767px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#container {
		padding-top: 189px;
	}
	#main {
		padding-bottom: 92px;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 77px 7.2%;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	box-sizing: border-box;
	z-index: 6;
}
#gHeader.color01 {
	background-color: #86989f;
}
#gHeader.header01 {
	height: 271px;
	box-sizing: border-box;
}
.meunRBox {
	padding: 25px 10px;
	position: fixed;
	right: 0;
	top: 0;
	width: 14.5rem;
	height: 100%;
	background-color: rgba(84, 91, 105, 0.9);
	box-sizing: border-box;
    cursor: pointer;
    transition: background .3s ease;
    z-index: 11;
}
.tab .meunRBox {
	right: -1px;
}

.menuBox {
	padding: 100px 104px 87px;
	position: fixed;
	right: 0;
	top: 0;
	width: 684px;
	width: 35%;
	height: 100vh;
	overflow-y: auto;
	z-index: 10;
	color: #fff;
	box-sizing: border-box;
	background-color: rgba(21,21,21,0.9);
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transition: transform .5s ease-in-out;
}
.menuBox.moveout {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}
.menuBox .inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
}
.menuBox .inner .subBox {
	width: 100%;
}
.menuBox a {
	display: block;
	color: #fff;
	font-family: 'Roboto', sans-serif;
}
.menuBox .naviLink01 {
	margin-bottom: 20px;
}
.menuBox .naviLink01 a {
	margin-bottom: 1px;
	font-size: 2.6rem;
	font-weight: 400;
	letter-spacing: 2.4px;
	line-height: 1.4;
}
.menuBox .naviLink02 {
	margin-bottom: 5px;
	width: 90%;
	display: flex;
	flex-wrap: wrap;
}
.menuBox .naviLink02 li {
	width: 145px;
	margin-bottom: 7px;
}
.menuBox .naviLink02 a {
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 1.4px;
	text-decoration: none;
}
.menuBox .naviLink03 {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 24px;
	font-size: 1.1rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 2px;
	line-height:2;
}
.menuBox .naviLink03 li:not(:last-child) {
	margin-right: 24px;
}
.menuBox .naviLink03 a::before {
	content: "";
	position: absolute;
	left: -3px;
	top: 6px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #a8a8a8;
	border-right: 1px solid #a8a8a8;
	transform: rotate(45deg);
}
.menuBox .naviLink04 {
	padding-left: 20px;
	width: calc(100% - 110px);
	position: absolute;
	right: 90px;
	bottom: 34px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
}
.menuBox .naviLink04 li {
	margin-right: 22px;
	color: #ACACAC;
	letter-spacing: 0.06em;
}
.menuBox .naviLink04 li:first-child {
	margin-right: 18px;
	margin-bottom: 2px;
}
.menuBox .naviLink04 li:last-child {
	margin-right: 0;
}
@media all and (min-width: 768px) and (max-height: 457px) {
	.menuBox .inner {
		margin: 140px 0;
	}
}
@media all and (min-width: 1100px) {
	.menuBox {
		padding: 100px 104px 87px;
		position: fixed;
		right: 0;
		top: 0;
		width: 684px;
		width: 20%;
		height: 100vh;
		overflow-y: auto;
		z-index: 10;
		color: #fff;
		box-sizing: border-box;
		background-color: rgba(21,21,21,0.9);
		-webkit-transform: translateX(100%);
		transform: translateX(100%);
		transition: transform .5s ease-in-out;
	}
	}
@media all and (min-width: 768px) and (max-height: 1100px) {
.menuBox {
	padding: 100px 104px 87px;
	position: fixed;
	right: 0;
	top: 0;
	width: 684px;
	width: 40%;
	height: 100vh;
	overflow-y: auto;
	z-index: 10;
	color: #fff;
	box-sizing: border-box;
	background-color: rgba(21,21,21,0.9);
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
    transition: transform .5s ease-in-out;
}
}
@media all and (min-width: 768px) and (max-width: 1000px) {
	.menuBox .naviLink01 a {
		margin-bottom: 7px;
	}
}
@media all and (min-width: 768px) {
	.menuBox .inner .subBox {
		max-width: 476px;
	}
	.menuBox a {
		position: relative;
		display: inline-block;
		text-decoration: none;
	  }
	  .menuBox a::after {
		position: absolute;
		bottom: 1px;
		left: 0;
		content: '';width: 100%;
		height: 1px;
		background: currentColor;
		transform: scale(0, 1);
		transform-origin: right top;
		transition: transform .3s;
	  }
	  #gHeader {
		  min-width: 1000px;
	  }
	  #gHeader h1 img {
		  max-width: inherit;
		  width: auto;
		  height: 27px;
	  }
}
@media all and (min-width: 1150px) {
	.meunRBox:hover {
        background-color: #000;
    }
	.menuBox a:hover {
		opacity: 1;
	}
	.menuBox a:hover::after {
	  transform-origin: left top;
	  transform: scale(1, 1);
	}
}
@media all and (min-width: 768px) and (max-width: 1200px) {
	.menuBox {
		padding: 100px 30px 87px 64px;
	}
	.naviLink02 {
		display: none;
	}
}
@media all and (max-width: 767px) {
	.meunRBox {
		padding: 17px 10px;
		width: 45px;
	}
	.zIndex {
		opacity: 0 !important;
	}
	#gHeader.header01  {
		padding: 38px 31px;
		height: 189px;
	}
	#gHeader.header02  {
		padding: 38px 25px;
	}
	#gHeader.header02.show01  {
		padding: 38px 25px 0;
		height: 70px;
		box-sizing: border-box;
	}
	.menu span {
		left: 2px;
	}
	#gHeader {
		padding: 52px 31px;
		z-index: 11;
	}
	#gHeader h1 a {
		display: block;
		position: relative;
	}
	#gHeader h1 img {
		max-width: inherit;
		width: auto;
		height: 19px;
	}
	#gHeader h1 .white {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		transition: all ease .5s;
		opacity: 0;
		visibility: hidden;
	}
	#gHeader h1 .black {
		transition: all ease .5s;
	}
	#gHeader.show01 h1 .white {
		opacity: 1;
		visibility: visible;
	}
	#gHeader.show01 h1 .black {
		opacity: 0;
		visibility: hidden;
	}
	/* ------------ */
.menu {
	margin: 0 auto;
	position: absolute;
	top: 60px;
	right: 6px;
	height: 30px;
	width: 30px;
	cursor: pointer;
	z-index: 100;
	transition: opacity .25s ease;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
	box-sizing: border-box;
}
.tab .menu {
	right: 20px;
}
.menu.active .top {
	-webkit-transform: translateY(3px) translateX(0) rotate(-45deg);
	-ms-transform: translateY(3px) translateX(0) rotate(-45deg);
	transform: translateY(3px) translateX(0) rotate(-45deg);
	background: #fff;
}
.menu.active .bottom {
	-webkit-transform: translateY(-3px) translateX(0) rotate(45deg);
	-ms-transform: translateY(-3px) translateX(0) rotate(45deg);
	transform: translateY(-3px) translateX(0) rotate(45deg);
	background: #fff;
}
.menu span {
	background: #D3D3D3;
	border: none;
	height: 2px;
	width: calc(100% - 10px);
	position: absolute;
	top: 0;
	left: 5px;
	-webkit-transition: all .35s ease;
	transition: all .35s ease;
	cursor: pointer;
}
.menu span:nth-of-type(2) {
	top: 6px;
}
.naviLink01 {
	display: none;
}
.menuBox {
	padding: 100px 104px 87px;
	position: fixed;
	right: 0;
	top: 0;
	width: 684px;
	width: 70%;
	height: 100vh;
	overflow-y: auto;
	z-index: 10;
	color: #fff;
	box-sizing: border-box;
	background-color: rgba(21,21,21,0.9);
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	transition: transform .5s ease-in-out;
}
.menuBox .inner {
	width: 200%;
	height: 100%;
	display: flex;
	align-items: center;
	margin-right: 100px;
}
.menuBox .inner .subBox {
	width: 500px;
	position: relative;
	right: 80px;
}
}
@media all and (max-width: 767px) and (max-height: 560px) {
	.menuBox .naviLink01 {
		margin-bottom: 18px;
	}
	.menuBox .naviLink02 {
		margin-bottom: 10px;
	}
	.menuBox .naviLink01 a {
		font-size: 1.9rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink02 a {
		font-size: 1.1rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink03 a {
		font-size: 1.2rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink04 li:first-child {
		margin-bottom: 5px;
		font-size: 1rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink04 li {
		margin-right: 10px;
		font-size: 1.1rem;
		color: #F0F0F0;
	}
}
@media all and (min-width: 768px) {
	a,
	a:link {
	color: #f3f6f7;
	text-decoration: none;
	transition: all 0.3s;
	font-size: 1.8rem;
	line-height:1.5;
	}
	.aLogo{
	width: 100px;
	padding-bottom: 20px;
	padding-left: 14px;
	}
}
@media all and (max-width: 767px) {
	.aLogo{
	width: 30px;
	padding-bottom: 5rem;
	}
}	

@media all and (max-width: 767px) and (max-height: 455px) {
	.menuBox .naviLink04 {
		bottom: 15px;
	}
}
@media all and (max-width: 767px) and (max-height: 410px) {
	.menuBox .naviLink01 {
		margin-bottom: 13px;
	}
	.menuBox .naviLink02 {
		margin-bottom: 8px;
	}
	.menuBox .naviLink01 a {
		font-size: 1.6rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink02 a {
		font-size: 0.9rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink03 a {
		font-size: 0.9rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink04 li:first-child {
		margin-bottom: 5px;
		font-size: 0.7rem;
		color: #F0F0F0;
	}
	.menuBox .naviLink04 li {
		margin-right: 10px;
		font-size: 0.8rem;
		color: #F0F0F0;
	}
}
@media all and (max-width: 767px) and (max-height: 366px) {
	.menuBox .inner {
		min-height: 326px;
		position: relative;
	}
	.menuBox .naviLink04 {
		padding: 0;
		bottom: 0;
	}
}
@media all and (max-width: 374px) {
	#gHeader {
		padding-right: 48px !important;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	background-color: #acafae;;
	color: #fff;
	font-size: 1.4rem;
	position: relative;
	font-family: 'Roboto', sans-serif;
	overflow: hidden;
}
#gFooter .fInner {
	/* max-width: 1366px;
	margin: 0 auto; */
	padding: 50px 10px 50px 7.2%;
	position: relative;
	box-sizing: border-box;
	overflow: hidden;
}
#gFooter a {
	color: #fff;
	font-weight: 400;
	letter-spacing: 0.08em;
}
#gFooter .inner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
}
#gFooter .naviLink01 {
	width: 14%;
}
#gFooter .naviLink01 li {
	margin-bottom: 2px;
}
#gFooter .naviLink01 a {
	font-size: 2.2rem;
}
#gFooter .fLogo {
	margin-bottom: 68px;
}
#gFooter .fLogo img {
	max-width: inherit;
	width: auto;
	height: 24px;
}
#gFooter .naviLink02 {
	margin-top: 4px;
	display: flex;
	flex-wrap: wrap;
	width: 30%;
}
#gFooter .naviLink02 li {
	margin-bottom: 12px;
	width: 41%;
}
#gFooter .naviLink03 {
	margin: 4px 0 0 -3px;
}
#gFooter .naviLink03 a {
	padding-left: 13px;
	font-size: 1.4rem;
	font-weight: 500;
	position: relative;
	letter-spacing: 1px;
}
#gFooter .naviLink03 li {
	margin-bottom: 12px;
}
#gFooter .naviLink03 a::before {
	content: "";
	position: absolute;
	left: -3px;
	top: 5px;
	width: 6px;
	height: 6px;
	border-top: 1px solid #a8a8a8;
	border-right: 1px solid #a8a8a8;
	transform: rotate(45deg);
}
#gFooter .naviLink04 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	box-sizing: border-box;
}
#gFooter .naviLink04 li {
	margin-right: 22px;
	color: #f7f4f4;
	font-size: 1.2rem;
	letter-spacing: 0.06em;
}
#gFooter .naviLink04 li:first-child {
	margin-right: 18px;
	margin-bottom: 2px;
}
#gFooter .naviLink04 li:last-child {
	margin-right: 0;
}
#gFooter .fBtm {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}
#gFooter address {
	letter-spacing: 0.05em;
	font-style: normal;
	font-size: 1rem;
	color: #faf6f6;
}
.pagetop {
	padding: 10px;
	position: fixed;
	right: 16px;
	bottom: 5px;
	z-index: 11;
}
.win .pagetop,
.mac .pagetop {
	bottom: 5px;
}
.pad .pagetop {
	bottom: 5px;
}
@media all and (min-width: 768px) {
	#gFooter .inner {
		min-width: 1168px;
	}
	.bLogo {
	margin-bottom: 5px;
	}
}
@media all and (max-width: 986px) {
	#gFooter .fBtm {
		margin-top: 67px;
		flex-wrap: wrap;
	}
	#gFooter .naviLink04 {
		margin-bottom: 30px;
		width: 100%;
		padding: 0;
		right: 0;
		bottom: 34px;
		justify-content: flex-start;
		order: 1;
	}
	#gFooter .naviLink04 li {
		margin: 3px 22px 0 0;
		font-size: 1.3rem;
	}
	#gFooter .naviLink04 li:first-child {
		margin: 0 0 7px;
		width: 100%;
		font-size: 1.2rem;
	}
	#gFooter .naviLink04 li:last-child {
		margin-right: 0;
	}
	#gFooter address {
		margin-top: 0;
		order: 2;
	}
}
@media all and (max-width: 767px) {
	#gFooter .fInner {
		padding: 55px 45px 29px 30px;
	}
	#gFooter .fLogo {
		margin-bottom: 55px;
	}
	#gFooter .fLogo img {
		height: 19px;
	}
	#gFooter a {
		font-size: 1.3rem;
	}
	#gFooter .naviLink01 a {
		font-size: 2rem;
	}
	#gFooter .inner {
		margin-bottom: 44px;
		display: block;
	}
	#gFooter .naviLink01 {
		margin-bottom: 29px;
		width: auto;
	}
	#gFooter .naviLink02 {
		margin-bottom: 28px;
		width: 80%;
	}
	#gFooter .naviLink02 li {
		margin-bottom: 7px;
		width: 42%;
	}
	#gFooter .naviLink03 {
		margin: 0;
		display: flex;
	}
	#gFooter .naviLink03 li {
		margin-top: 0;
	}
	#gFooter .naviLink03 li:not(:last-child) {
		margin-right: 30px;
	}
	#gFooter .fBtm {
		margin-top: 0;
	}
	#gFooter address { 
		margin-top: 0;
		letter-spacing: 0;
		font-size: 0.8rem;
	}
	.pagetop {
		right: 3px;
		bottom: 0 !important;
	}
}
@media all and (max-width: 374px) {
	#gFooter .fInner .fLogo {
		margin-right: 19px;
	}
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 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: 'Roboto', sans-serif;
}
/*------------------------------------------------------------
	comBtn
------------------------------------------------------------*/
.comBtn {
	max-width: 193px;
	margin: 0 auto;
}
.comBtn a {
	padding-bottom: 6px;
	display: block;
	text-align: center;
	letter-spacing: 0.06em;
	font-size: 1.4rem;
	color: #ADADAD;
	border-bottom: 1px solid #707070;
}
@media all and (max-width: 767px) {
	.comBtn a {
		font-size: 1.3rem;
	}
}
/*------------------------------------------------------------
	comBox
------------------------------------------------------------*/
.content {
	margin-right: 70px;
}
.comBox {
	/* max-width: 1100px; */
	margin: 0 auto;
	padding: 0 7.2%;
}
@media all and (max-width: 767px) {
	.content {
		margin-right: 45px;
	}
	.comBox {
		padding: 0 26px;
	}
	.jp {
		display: none;
	}
}
/*------------------------------------------------------------
	comSideTxt
------------------------------------------------------------*/
.comSideTxt {
	height: calc(100% - 100px);
	position: fixed;
	right: 0;
	top: 50%;
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
	color: #fff;
	font-size: 1.4rem;
	z-index: 11;
	width: 39px;
	font-family: 'Roboto', sans-serif;
	transform: translateY(-50%);
	letter-spacing: 0.08em;
}
.comSideTxt01 {
	background-color: transparent;
}
.comSideTxt a {
	color: #fff;
}
.comSideTxt .txt {
	width: 39px;
	height: 100%;
    display: flex;
	justify-content: center;
    line-height: 1;
}
.comSideTxt .txt01 {
    display: flex;
    align-items: flex-end;
}
.comSideTxt01 .txt01 {
	font-weight: 300;
}
.comSideTxt .txt02 {
    margin-top: 23px;
    padding-top: 23px;
	max-height: calc(100% - 120px);
    overflow: hidden;
	display: flex;
    align-items: flex-end;
	white-space: nowrap;
	border-top: 1px solid #fff;
	box-sizing: border-box;
}
@media all and (max-width: 767px) {
	.comSideTxt {
		width: 26px;
		font-size: 1.2rem;
	}
	.comSideTxt .txt {
		width: 26px;
	}
	.comSideTxt .txt02 {
		margin-top: 16px;
		padding-top: 16px;
	}
}
/*------------------------------------------------------------
	comTopLinkBox
------------------------------------------------------------*/
.comTopLinkBox {
    position: absolute;
    top: 72px;
	width: calc(50% - 35px);
    right: 68px;
    color: #fff;
    z-index: 6;
	font-size: 1.1rem;
	font-weight: 300;
    letter-spacing: 0.14em;
    font-family: 'Roboto', sans-serif;
}
.comTopLinkBox h2 {
	margin-bottom: 17px;
	font-size: 3rem;
	font-weight: 300;
}
.comTopLinkBox .txt {
	line-height: 1.7;
	letter-spacing: 0.06em;
}
.comTopLinkBox01 {
	/* display: flex; */
	/* width: 48.7%; */
	/* padding-right: 8%; */
	box-sizing: border-box;
	width: 100%;
	right: 0;
}
.comTopLinkBox01 h2 {
	font-size: 2.8rem;
	color: #000000;
	left: calc((100% - 68px) / 2);
}
.comTopLinkBox01 .rBox {
	/* margin: 5px 4% 0 0; */
	flex: 1;
	display: flex;
	justify-content: flex-end;
    position: absolute;
	right: calc(75px + (100% - 75px) * 0.072);
	top: 13%;
	font-weight: 400;;
}
.comTopLinkBox01 .linkUl a {
	padding-left: 13px;
	display: inline-block;
	font-size: 1.4rem;
	position: relative;
}
.comTopLinkBox01 .linkUl li {
	margin-bottom: 10px;
}
.comTopLinkBox01 .linkUl a::before {
	content: "";
	top: 10px;
	left: 0;
	width: 6px;
	height: 1px;
	position: absolute;
	background-color: #A8A8A8;
}
.comTopLinkBox01 .linkUl .on a span {
	opacity: 0.3;
}
@media all and (min-width: 768px) {
	.comTopLinkBox .spTxtList {
		display: none;
	}
	.comTopLinkBox01 h2 {
		position: absolute;
	}
}
@media all and (min-width: 768px) and (max-width: 1200px) {
	.comTopLinkBox01 .rBox {
		margin-right: 0 !important;
	}
}
@media all and (max-width: 767px) {
	.comTopLinkBox {
		padding: 0 45px 0 28px;
		width: 100%;
		min-height: 100px;
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		left: 0;
		right: auto;
		top: 75px;
		font-size: 0.9rem;
		color: #CECECE;
		z-index: 11;
		box-sizing: border-box;
		transition: opacity 0.5s;
	}
	.comTopLinkBox h2 {
		margin-bottom: 3px;
		font-size: 2rem;
		color: #CECECE;
		font-weight: 400;
	}
	.comTopLinkBox .txt {
		line-height: 1.6;
		letter-spacing: 0.05em;
	}
	.comTopLinkBox01 {
		min-height: inherit;
		top: 125px;
		padding: 0 26px;
        display: flex;
		flex-direction: row;
		justify-content: space-between;
	}
	.comTopLinkBox01 h2 {
		color: #000000;
		font-weight: 400;
	}
	.comTopLinkBox01 .spTxtList {
		margin-right: 44px;
		align-self: center;
	}
	.comTopLinkBox01 .spTxtList li {
		display: inline-block;
		font-size: 1.1rem;
		letter-spacing: 0.06em;
	}
	.comTopLinkBox01 .spTxtList .on a {
		text-decoration: underline;
	}
}
@media all and (max-width: 374px) {
	.comTopLinkBox h2 {
		font-size: 1.8rem;
	}
	.comTopLinkBox01 h2 {
		font-size: 1.6rem;
		width: 80px;
	}
	.comTopLinkBox01 .spTxtList {
		margin-right: 40px;
	}
}
/*------------------------------------------------------------
	comFlexTxtBox
------------------------------------------------------------*/
.comFlexTxtBox {
	display: flex;
}
.comFlexTxtBox h3 {
	margin-right: 2px;
	width: 33%;
	margin-left: 4px;
	font-weight: 400;
	font-size: 2.8rem;
	line-height: 1.44;
	letter-spacing: 0.06em;
}
.comFlexTxtBox h3 .en {
	display: block;
}
.comFlexTxtBox h3 .jp {
	font-size: 1.3rem;
}
.comFlexTxtBox .rBox {
	margin-top: 3px;
	flex: 1;
}
.comFlexTxtBox ul {
	counter-reset: section;
}
/* .comFlexTxtBox ul:not(:last-child) {
	margin-bottom: 43px;
} */
.comFlexTxtBox ul li {
	padding-left: 27px;
	counter-increment: section;
	position: relative;
	font-weight: 400;
	line-height: 2.3;
	letter-spacing: 0.04em;
}
.comFlexTxtBox ul li::before {
	content: counter(section) ".";
	position: absolute;
	left: 0;
	top: 0;
}
.comFlexTxtBox .rideoList,
.comFlexTxtBox .rideoBox {
	padding: 11px 0 3px;
	display: flex;
	flex-wrap: wrap;
}
.comFlexTxtBox .rideoBox .horizontal-item,
.comFlexTxtBox .rideoBox .mwform-radio-field label {
    	display: block;
    	width: 100%;
}
.comFlexTxtBox .rideoList li {
	padding-left: 0;
	margin-bottom: 10px;
	width: 24.4%;
}
.comFlexTxtBox .rideoBox .horizontal-item {
    	padding-left: 0;
	margin: 0 0 10px 0 !important;
	width: 24.4%;
}
.comFlexTxtBox .rideoList li label input {
	display: none;
}
.comFlexTxtBox .rideoList li label > span {
	padding: 0 0 2px 26px;
	display: inline-block;
	background: url('/img/common/radio_img01.png') no-repeat left center / 17px auto;
}
.comFlexTxtBox .rideoList li label input:checked + span {
	background-image: url('/img/common/radio_img02.png');
}
.comFlexTxtBox .rideoList li::before {
	display: none;
}
.comFlexTxtBox .rideoList .en {
	padding-right: 10px;
}
.comFlexTxtBox .rideoList span.jp {
	font-size: 1.1rem;
}
.comFlexTxtBox .rideoBox .horizontal-item label input {
	display: none;
}
.comFlexTxtBox .rideoBox .horizontal-item label > span {
	padding: 0 0 2px 26px;
	display: inline-block;
	background: url('/img/common/radio_img01.png') no-repeat left center / 17px auto;
}
.comFlexTxtBox .rideoBox .horizontal-item label input:checked ~ span {
	background-image: url('/img/common/radio_img02.png');
}
.comFlexTxtBox .rideoBox .horizontal-item::before {
	display: none;
}
.comFlexTxtBox .rideoBox .en {
	padding-right: 10px;
}
.comFlexTxtBox .rideoBox .error .en {
	padding-right: 0;
}
.comFlexTxtBox .rideoBox span.jp {
	font-size: 1.1rem;
}
@media all and (max-width: 767px) {
	.comFlexTxtBox {
		display: block;
	}
	.comFlexTxtBox h3 {
		margin-bottom: 36px;
		width: auto;
	}
	.comFlexTxtBox ul li {
		line-height: 1.9;
	}
    	.comFlexTxtBox .horizontal-item {
		line-height: 1.9;
	}
	.comFlexTxtBox .rBox {
		margin-right: -5px;
	}
	.comFlexTxtBox ul li::before {
		left: 3px;
		top: 1px;
	}
	.comFlexTxtBox .rideoList li {
		width: 100%;
	}
   	 .comFlexTxtBox .horizontal-item::before {
		left: 3px;
		top: 1px;
	}
	.comFlexTxtBox .rideoBox .horizontal-item {
		width: 100%;
	}
}
/*------------------------------------------------------------
	comContactDl
------------------------------------------------------------*/
.comRedColor {
	color: #CC0000;
}
.comContactDl {
	margin-bottom: 97px;
	font-size: 1.3rem;
	font-weight: 400;
	letter-spacing: 0.04em;
}
.comContactDl .comRedColor {
	font-size: 1.3rem;
	margin-left: 2px;
}
.comContactDl dt {
	margin-bottom: 5px;
}
.comContactDl dd {
	margin-bottom: 12px;
}
.comContactDl dt span.jp {
	margin-left: 10px;
	font-size: 1.1rem;
}
.comContactDl input[type="text"],
.comContactDl input[type="email"],
.comContactDl input[type="tel"],
.comContactDl textarea {
	padding: 4px;
    padding-left: 8px;
    padding-bottom: 5px;
	font-size: 1.3rem;
	width: 100%;
	height: 30px;
	-webkit-appearance:none;
    appearance:none;
    box-shadow: none;
	background-color: #F0F0F0;
	box-sizing: border-box;
	border: none;
	border-radius: 0;
}
.comContactDl .errorTxt {
	color: #CC0000;
}
.comContactDl .errorTxt .en {
	margin-right: 15px;
}
.comContactDl .errorTxt .jp {
	font-size: 1.1rem;
}
.comContactDl .error {
	color: #CC0000;
    width: 100%;
}
.comContactDl .error .en {
	margin-right: 15px;
}
.comContactDl .error .jp {
	font-size: 1.1rem;
}
.comContactDl input.wind01 {
	width: 293px;
}
.comContactDl input.wind02 {
	width: 150px;
}
.comContactDl input.wind03 {
	width: 592px;
}
.comContactDl input.wind04 {
	width: 425px;
}
.comContactDl input.wind05 {
	width: 183px;
}
.comContactDl input.wind05 {
	width: 183px;
}
.comContactDl .colorBox {
	padding: 8px 7px;
	width: 592px;
	display: flex;
	align-items: center;
	background-color: #F0F0F0;
	box-sizing: border-box;
	color: #909090;
}
.comContactDl .colorBox .jp {
	margin-left: 5px;
	font-size: 1.1rem;
}
.comContactDl .subFil {
	margin-right: 25px;
	padding: 3px 4px 4px;
	min-width: 215px;
	display: inline-block;
	font-size: 1.3rem;
	text-align: center;
	color: #fff;
	font-weight: 400;
	box-sizing: border-box;
	background-color: #363636;
	transition: all 0.3s;
}
.comContactDl .subFil:hover {
    opacity: 0.7;    
}
.comContactDl .subFil input {
	display: none;
}
.comContactDl .subFil input[type="file"] {
	display: none;
}
.comContactDl dd textarea {
	width: 108%;
	height: 260px;
	resize: vertical; 
	word-break:break-all;
	word-wrap: break-word; 
}
.comContactTxt {
	margin-left: 4px;
	font-weight: 400;
}
.comContactTxt .innTxtBox01 {
	margin-bottom: 75px;
	line-height: 2.3;
	letter-spacing: 0.026em;
	display: flex;
	justify-content: space-between;
}
.comContactTxt .innTxtBox01 .en {
	width: 46%;
}
.comContactTxt .innTxtBox01 .jp {
	width: 45%;
}
.comContactTxt .srollBox {
	margin-bottom: 54px;
	height: 252px;
	line-height: 1.82;
	letter-spacing: 0.04em;
	border: 1px solid #C1C1C1;
	background-color: #FCFCFC;
	box-sizing: border-box;
	overflow: hidden;
}
.comContactTxt .srollBox .sroInner {
	padding: 28px 0 28px 42px;
	display: flex;
	justify-content: space-between;
}
.comContactTxt .srollBox .lBox {
	width: 48%;
}
.comContactTxt .srollBox .rBox {
	width: 46.8%;
}
.comContactTxt .srollBox p {
	margin-bottom: 23px;
}
.comContactTxt .srollBox ol p {
	margin-left: 14px;
}
.comContactTxt .comAgree input {
	display: none;
}
.comContactTxt .comAgree {
	margin-bottom: 66px;
	text-align: center;
}
.comContactTxt .comAgree .error {
    letter-spacing: 0.04em;
}
.comContactTxt .comAgree .error .en {
	margin-right: 15px;
}
.comContactTxt .comAgree label > span {
	display: inline-block;
	padding: 1px 11px 1px 35px;
	letter-spacing: 0.08em;
	background: url('/img/common/check01.png') no-repeat left center / 20px auto;
}
.comContactTxt .comAgree input:checked ~ span {
	background-image: url('/img/common/check02.png');
}
.comContactTxt  .submit li {
	max-width: 361px;
	margin: 0 auto 10px;
}
.comContactTxt  .submit input {
	padding: 19px 10px 21px;
	display: block;
	width: 100%;
	color: #fff;
	background-color: #000;
	-webkit-appearance:none;
    appearance:none;
    box-shadow: none;
	border: none;
	font-size: 1.2rem;
	cursor: pointer;
	border-radius: 0;
	font-weight: 500;
    transition: all 0.3s;
}
.mCSB_scrollTools {
	width: 10px;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
	width: 10px;
	background-color: #C6C6C6;
	opacity: 1;
	border-radius: 0;
}
.mCS-light-3.mCSB_scrollTools .mCSB_draggerRail, .mCS-dark-3.mCSB_scrollTools .mCSB_draggerRail {
	background-color: #C6C6C6;
}
.mCSB_scrollTools .mCSB_dragger:active .mCSB_dragger_bar,
.mCSB_scrollTools .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar{
	background-color: #C6C6C6;
}
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
	background-color: #C6C6C6;
	border-radius: 0;
}
.mCSB_scrollTools .mCSB_draggerRail {
	background-color: transparent;
}
.mCSB_scrollTools {
	opacity: 1;
}
.comFormCheck .comFlexTxtBox .lBox {
	font-size: 1.4rem;
}
.comFormCheck .comFlexTxtBox .lBox .jp {
	font-size: 1.3rem !important;
}
.comFormCheck .comFlexTxtBox .lBox .txt {
	margin-bottom: 30px !important;
}
.comFormCheck .comFlexTxtBox .rBox {
	margin-top: 0 !important;
}
.comFormCheck .comContactDl .txt02 {
	font-size: 1.3rem !important;
}
.comFormCheck .comContactDl dt {
	float: left;
}
.comFormCheck .comContactDl dd {
	margin-bottom: 13px;
	padding: 0 4.8em 1.3em 25.5em;
    min-height: 37px;
	box-sizing: border-box;
	border-bottom: 1px solid #C9C9C9;
}
.comFormCheck .comContactDl dd:last-of-type {
	border-bottom: none;
}
.comFormCheck .comFlexTxtBox {
	margin-bottom: 45px !important;
}
.comFormCheck .comContactTxt .submit li {
	max-width: 218px;
}
.comThanks {
	padding: 42px 0 83px;
}
.comThanks h3 {
	margin-bottom: 52px;
	padding-bottom: 49px;
	text-align: center;
	font-size: 2.5rem;
	font-weight: 400;
	position: relative;
	line-height: 1.56;
	letter-spacing: 0.03em;
}
.comThanks h3 .jp {
	font-size: 2rem;
}
.comThanks h3::before {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 45px;
	height: 1px;
	background-color: #707070;
}
.comThanks .txt {
	margin-bottom: 12px;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.04em;
	line-height: 1.9;
	padding-bottom: 25px;
}
.comThanks .txt.jp {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
}
@media all and (min-width: 1150px) {
	.comContactTxt  .submit input:hover {
		opacity: 0.7;
	}
}
@media all and (min-width: 768px) and (max-width: 1300px) {
	.comContactDl dd textarea {
		width: 100%;
	}
}
@media all and (max-width: 767px) {
	.comContactDl dt span.jp {
		margin-left: 0 !important;
	}
	.comContactDl dt {
		margin-bottom: 8px;
	}
	.comContactDl input.wind01 {
		width: 100%;
	}
	.comContactDl dd {
		margin-bottom: 21px;
	}
	.comContactDl input.wind02 {
		width: 123px;
	}
	.comContactDl input.wind03 {
		width: 100%;
	}
	.comContactDl input.wind04 {
		width: 183px;
	}
	.comContactDl .colorBox {
		padding: 17px 12px 12px 7px;
		width: 100%;
		text-align: center;
		display: block;
	}
	.comContactDl .colorBox .block {
		display: block;
	}	
	.comContactDl .subFil {
		margin: 0 0 6px;
	}
    .comContactDl .subFil:hover {
        opacity: 1;    
    }
	.comContactDl dd textarea {
		width: 100%;
		height: 338px;
	}
	.comContactTxt .innTxtBox01 {
		margin-bottom: 29px;
		display: block;
		line-height: 1.66;
	}
	.comContactTxt .innTxtBox01 > p {
		width: auto !important;
	}
	.comContactDl {
		margin-bottom: 52px;
	}
	.comContactTxt {
		margin-left: 0;
	}
	.comContactTxt .srollBox {
		margin-bottom: 28px;
		line-height: 1.6;
		height: 267px;
	}
	.comContactTxt .srollBox .sroInner {
		padding: 12px 13px;
		display: block;
	}
	.comContactTxt .srollBox .sroInner >div {
		width: auto !important;
	}
	.comContactTxt .srollBox p {
		margin-bottom: 20px;
	}
	.comContactTxt .comAgree {
		margin-bottom: 53px;
		text-align: left;
	}
	.comContactTxt .comAgree label > span {
		padding: 1px 11px 6px 30px;
	}
	.comContactTxt .submit li {
		width: 100%;
	}
	.comContactTxt .submit input {
		padding: 17px 10px 20px;
	}
	.comFormCheck .comContactDl dt {
		margin-bottom: 1px;
		float: none;
		font-weight: 500;
	}
	.comFormCheck .comContactDl dd {
		padding: 0 0 0.9em 0;
		margin-bottom: 7px;
        min-height: inherit;
	}
	.comFormCheck .comFlexTxtBox .lBox {
		font-size: 1.2rem;
	}
	.comFormCheck .comFlexTxtBox .lBox .jp {
		font-size: 1.1rem !important;
	}
	.comFormCheck .comFlexTxtBox .lBox {
		margin-bottom: 35px !important;
	}
	.comThanks h3 {
		margin-bottom: 28px;
		padding-bottom: 26px;
		font-size: 1.9rem;
	}
	.comThanks h3 .jp {
		font-size: 1.5rem;
	}
	.comThanks {
		padding: 53px 0 49px;
	}
	.comThanks h3::before {
		width: 36px;
	}
	.comThanks .txt {
		line-height: 1.56;
	}
}

#cover {
    position: fixed;
    z-index: 12;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(30,30,30,1.00);
    transition: opacity .6s ease,visibility .6s ease;
}
.hideCover #cover {
  opacity: 0;
  visibility: hidden;
  transition: opacity .8s ease,visibility .8s ease;
}

.fadeInAnim {
    opacity: 0;
    -webkit-transform: translateY(40px);
    transform: translateY(40px);
    -webkit-transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1), transform .8s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform .8s cubic-bezier(0.23, 1, 0.32, 1);
    transition: opacity .8s cubic-bezier(0.23, 1, 0.32, 1), transform .8s cubic-bezier(0.23, 1, 0.32, 1), -webkit-transform .8s cubic-bezier(0.23, 1, 0.32, 1);
}
.fadeInAnim.visible {
    opacity: 1;
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
}
.cover {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 999;
    background-color: rgba(30,30,30,1.00);
    
}
.cover img {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.confirmcontent {
    display: none;
}