@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@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 Serif JP', 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,
a:link {
	color: #333;
	text-decoration: none;
    transition: .3s;
	-webkit-transition: .3s;
}
a:visited {
	color: #333;
}
a:hover {
	color: #333;
}
a:active {
	color: #333;
}
/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 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;}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
    min-width: 1000px;
    color: #333;
    font-size: 1.4rem;
	font-weight: 400;
    line-height: 1.5;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    background-color: #FFF;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: "palt";
}
body.fixed {
	position: fixed;
	width: 100%;
	height: 100%;
}
#cover {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	transition: all 0.8s;
	z-index: 10000;
}
body.hideCover.nodelay #cover {
	transition: none;
}
body.hideCover #cover {
	opacity: 0;
	visibility: hidden;
}
#container {
	text-align: left;
}
#main {
	padding-bottom: 144px;
	position: relative;
	display: block;
}
a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}
@media all and (max-width: 1000px) {
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
}
@media all and (min-width: 768px) {
	.sp {
		display: none !important;
	}
	body.pad.fixed {
		overflow-y: scroll;
	}
}
@media all and (max-width: 767px) {
	body {
		min-width: inherit;
	}
	a:hover,
	a:hover img {
		opacity: 1 !important;
	}
	.pc {
		display: none !important;
	}
	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}
	#main {
		padding-bottom: 80px;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 70px;
	z-index: 1001;
}
#gHeader.on {
	background-color: rgba(255, 255, 255, 0.5);
	backdrop-filter: blur(1px);
}
#gHeader.active {
	background-color: transparent;
}
#gHeader .linkBtn {
	position: absolute;
	right: 118px;
	top: 24px;
	font-weight: 500;
	font-family: 'Cormorant', serif;
	font-size: 1.45rem;
	letter-spacing: 0.06em;
	z-index: 10;
	transition: all 0.5s;
}
#gHeader .linkBtn a {
	color: #fff;
}
#gHeader .linkBtn.background--light a {
	color: #222;
}
#gHeader.on .linkBtn a {
	color: #222;
}
#gHeader h1 {
	position: absolute;
	left: 40px;
	top: 28px;
	z-index: 10;
	width: 155px;
	opacity: 1;
	visibility: visible;
	transition: all 0.5s;
}
#gHeader.on h1 {
	opacity: 1;
	visibility: visible;
}
#gHeader.on .lanList {
	opacity: 0;
	visibility: hidden;
}
.menuBox .lanList,
#gHeader .lanList {
	display: none;
	position: absolute;
	left: 40px;
	top: 23px;
	z-index: 10;
	transition: all 0.5s;
}
.menuBox .lanList {
	display: block;
	right: 80px;
	left: auto;
	top: 23px;
}
.menuBox .lanList li,
#gHeader .lanList li {
	margin-right: 36px;
	display: inline-block;
	vertical-align: top;
}
.menuBox .lanList li a,
#gHeader .lanList li a {
	font-size: 1.45rem;
	font-weight: 500;
	color: #fff;
	position: relative;
	letter-spacing: 0.05em;
	font-family: 'Cormorant', serif;
}
.menuBox .lanList li a {
	color: #333;
}
.menuBox .lanList.background--light li a,
#gHeader .lanList.background--light li a {
	color: #000;
}
.menuBox .lanList li:first-child a:before,
#gHeader .lanList li:first-child a:before {
	position: absolute;
	right: -20px;
	top: 2px;
	bottom: 2px;
	width: 1px;
	background: rgba(255, 255, 255, 0.7);
	content: "";
}
.menuBox .lanList li:first-child a:before {
	background: rgba(0, 0, 0, 0.5);
}
.menuBox .lanList.background--light li:first-child a:before,
#gHeader .lanList.background--light li:first-child a:before {
	background: rgba(0, 0, 0, 0.7);
}
.menuBox .lanList .on a,
#gHeader .lanList .on a {
	opacity: 0.5 !important;
}
#gHeader.active {
	pointer-events: none;
}
#gHeader.active .menu {
	pointer-events: auto;
}
#gHeader.show .lanList  {
	opacity: 0;
	visibility: hidden;
}
#gHeader.show h1 {
	opacity: 1;
	visibility: visible;
}
#gHeader.show h1 a {
	display: block;
}
#gHeader.show h1.background--dark a,
#gHeader h1.background--dark a {
	background: url(../img/common/logo_white.png) no-repeat left top;
	background-size: 100% auto;
}
#gHeader.show h1 a img {
	transition: all 0.3s;
}
#gHeader.show h1.background--dark a img,
#gHeader h1.background--dark a img {
	opacity: 0 !important;
}
#gHeader.active .lanList,
#gHeader.active h1,
#gHeader.active .linkBtn {
	opacity: 0;
	visibility: hidden;
}
#gHeader.hide {
	opacity: 0;
	visibility: hidden;
	z-index: -1;
}
.menu {
	display: block;
	position: absolute;
	right: 22px;
	top: 9.5px;
	width: 60px;
	height: 60px;
	cursor: pointer;
	z-index: 99;
	transition: .3s;
	-webkit-transition: .3s;
}
.menu.on {
	top: 5px;
}
.menu span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
	position: absolute;
	right: 18px;
	width: 40px;
	height: 1px;
	background-color: #fff;
}
.menu span:nth-of-type(1) {
	top: 24px;
}
.menu span:nth-of-type(2) {
	top: 29px;
}
.menu span:nth-of-type(3) {
	top: 39px;
}
.menu.on span,
.menu.background--light span {
	background-color: #222;
}
.menu.on span:nth-of-type(1) {
	-webkit-transform: translateY(10px) rotate(-32deg);
	transform: translateY(10px) rotate(-32deg);
}
.menu.on span:nth-of-type(2) {
	-webkit-transform: translateY(5px) rotate(32deg);
	transform: translateY(5px) rotate(32deg);
}
#gHeader.on .menu span {
	background: #222;
}
.menuBox {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	background-color: #fff;
	z-index: 1000;
	height: 100%;
	overflow-y: auto;
	box-sizing: border-box;
	opacity: 0;
	visibility: hidden;
	transition: all 1s ease;
}
.menuBox.on {
	opacity: 1;
	visibility: visible;
}
.menuBox .infoMenu {
	display: flex;
	overflow: hidden;
	height: 100vh;
}
.menuBox .infoMenu .imgList {
	width: 50%;
}
.menuBox .infoMenu .imgList li {
	height: 100vh;
}
.menuBox .infoMenu .imgList li img {
	height: 100%;
    width: 100%;
	object-fit: cover;
}
.menuBox .infoMenu .menuInner {
	width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
	background-color: #FBFBFA;
}
.menuBox .infoMenu .menuInner .ttlImg {
	margin: 0 auto 75px;
	width: 196px;
	text-align: center;
}
.menuBox .infoMenu .menuInner .ttlImg a {
	display: block;
}
.menuBox .infoMenu .menuInner .ttlImg span {
	margin-top: 8px;
	display: block;
	color: #000;
	font-size: 1.6rem;
	font-weight: 500;
	font-family: 'Cormorant', serif;
	font-style: italic;
	line-height: 1.25;
	letter-spacing: 0.03em;
}
.menuBox .infoMenu .menuInner li a {
	display: block;
}
.menuBox .infoMenu .menuInner .linkList {
	margin-bottom: 39px;
}
.menuBox .infoMenu .menuInner .linkList li {
	margin-bottom: 23px;
}
.menuBox .infoMenu .menuInner .linkList li:last-of-type {
	margin-bottom: 0;
}
.menuBox .infoMenu .menuInner .linkList li a {
	color: #000;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
	text-align: center;
}
.menuBox .infoMenu .menuInner .linkUl li a.active,
.menuBox .infoMenu .menuInner .linkList li .active {
	color: #A5A5A5;
}
.menuBox .infoMenu .menuInner .linkUl {
	margin-bottom: 58px;
}
.menuBox .infoMenu .menuInner .linkUl li {
	margin-bottom: 15px;
}
.menuBox .infoMenu .menuInner .linkUl li:last-of-type {
	margin-bottom: 0;
}
.menuBox .infoMenu .menuInner .linkUl li a {
	color: #000;
	font-size: 1.3rem;
	letter-spacing: 0.05em;
	text-align: center;
}
.menuBox .infoMenu .menuInner .link {
	margin-bottom: 70px;
	text-align: center;
}
.menuBox .infoMenu .menuInner .link a {
	display: inline-block;
	font-size: 1.3rem;
	color: #2F2F2F;
	letter-spacing: 0.03em;
}
.menuBox .infoMenu .menuInner .link a.active {
	color: #A5A5A5;
}
.menuBox .infoMenu .menuInner .linkUl li a.current,
.menuBox .infoMenu .menuInner .linkList li .current,
.menuBox .infoMenu .menuInner .link a.current {
	color: #A5A5A5;
}
.menuBox .infoMenu .menuInner .link a img {
	margin: 3px 13px 0 0;
	width: 13px;
}
.menuBox .infoMenu .menuInner .naviList {
	margin-bottom: 28px;
	display: flex;
	justify-content: center;
}
.menuBox .infoMenu .menuInner .naviList li {
	padding: 0 6px;
}
.menuBox .infoMenu .menuInner .naviList li a {
	font-size: 1.2rem;
	color: #000;
	letter-spacing: 0.08em;
	text-align: center;
}
.menuBox .infoMenu .menuInner .link a.avtive,
.menuBox .infoMenu .menuInner .naviList li a.active {
	color: #A5A5A5;
}
.menuBox .infoMenu .menuInner .snsList {
	margin-bottom: 26px;
	display: flex;
	justify-content: center;
}
.menuBox .infoMenu .menuInner .snsList li {
	margin: 0 9px;
}
.menuBox .infoMenu .menuInner .snsList li a img {
	width: 16px;
}
.menuBox .infoMenu .menuInner address {
	color: #000;
	font-family: 'Cormorant', serif;
	font-size: 0.95rem;
	font-style: normal;
	text-align: center;
	letter-spacing: 0.05em;
}
.menuBox .menuJsTxt {
	opacity: 0;
	filter: blur(10px);
	transition: .8s;
	transform: scale(1.2);
}
.menuBox.on .menuJsTxt {
	opacity: 1;
	filter: blur(0);
	transform: scale(1);
}
.menuBox.on .menuJsTxt:nth-child(1) {
	transition-delay: 0.2s;
}
.menuBox.on .menuJsTxt:nth-child(2) {
	transition-delay: 0.4s;
}
.menuBox.on .menuJsTxt:nth-child(3) {
	transition-delay: 0.6s;
}
.menuBox.on .menuJsTxt:nth-child(4) {
	transition-delay: 0.8s;
}
.menuBox.on .menuJsTxt:nth-child(5) {
	transition-delay: 1s;
}
.menuBox.on .menuJsTxt:nth-child(6) {
	transition-delay: 1.2s;
}
.menuBox.on .menuJsTxt:nth-child(7) {
	transition-delay: 1.4s;
}
.menuBox.on .menuJsTxt:nth-child(8) {
	transition-delay: 1.6s;
}
.menuBox.menuBox01 .infoMenu .menuInner .link a {
	margin: 0 10px;
}
.menuBox.menuBox01 .infoMenu .menuInner .link.link2 a {
	margin: 0;
	padding: 0 10px;
}
@media all and (min-width: 1001px) {
	.menuBox .infoMenu .menuInner .linkList li a:hover {
		color: #A5A5A5;
	}
	.menuBox .infoMenu .menuInner .linkUl li a:hover {
		opacity: 0.7;
	}
	.menuBox .infoMenu .menuInner .link a:hover {
		opacity: 0.7;
	}
	.menuBox.menuBox01 .infoMenu .menuInner .link a:hover {
		opacity: 1;
		color: #A5A5A5;
	}
	.menuBox .infoMenu .menuInner .naviList li a:hover {
		opacity: 0.7;
	}
	.menuBox .infoMenu .menuInner .snsList li a:hover {
		opacity: 0.7;
	}
	#gHeader .lanList li a:hover {
		opacity: 0.7;
	}
	#gHeader .lanList .on a:hover {
		opacity: 0.5;
	}
	#gHeader .linkBtn a:hover {
		opacity: 0.7;
	}
	.menu:hover {
		opacity: 0.7;
	}
	.menuBox .lanList li a:hover {
		opacity: 0.7;
	}
}
@media (min-width: 768px) and (max-height: 780px) {
	.menuBox .infoMenu .menuInner .ttlImg {
		margin: 0 auto 5vh;
		width: 160px;
	}
	.menuBox .infoMenu .menuInner .linkList li {
    margin-bottom: 19px;
	}
	.menuBox .infoMenu .menuInner .linkList li a {
		font-size: 1.75rem;
	}
	.menuBox .infoMenu .menuInner .linkList {
		margin-bottom: 4.7vh;
	}
	.menuBox .infoMenu .menuInner .linkUl {
		margin-bottom: 5vh;
	}
	.menuBox .infoMenu .menuInner .link {
		margin-bottom: 5.4vh;
	}
}
@media all and (max-width: 767px) {
	#gHeader {
		height: 70px;
	}
	#gHeader h1 {
		top: 30px;
		left: 24px;
		width: 120px;
	}
	#gHeader .linkBtn {
		top: 25px;
		right: 82px;
		font-size: 1.3rem;
		letter-spacing: 0.06em;
	}
	.menuBox .lanList,
	#gHeader .lanList {
		left: 25px;
		top: 22px;
	}
	.menuBox .lanList li,
	#gHeader .lanList li {
		margin-right: 25px;
	}
	.menuBox .lanList li:first-child a::before,
	#gHeader .lanList li:first-child a::before {
		right: -14px;
	}
	#gHeader .lanList li a {
		font-size: 1.3rem;
		letter-spacing: 0.1em;
	}
	#gHeader.show h1.background--dark a {
		background-image: url(../img/common/sp_logo_white.png);
	}
	.menu {
		top: 9px;
		right: 14px;
	}
	.menu.on {
		top: 4.5px;
	}
	.menu span {
		right: 11px;
		width: 38px;
	}
	.menuBox .lanList {
		right: auto;
		left: 25px;
		top: 22px;
	}
	.menuBox .infoMenu .imgList {
		display: none;
	}
	.menuBox .infoMenu .menuInner {
		padding: 34px 0 40px;
		width: 100%;
	}
	.menuBox .infoMenu .menuInner .ttlImg {
		margin-bottom: 40px;
		width: 150px;
	}
	.menuBox .infoMenu .menuInner .linkList {
		margin-bottom: 37px;
	}
	.menuBox .infoMenu .menuInner .linkList li {
		padding: 0 50px;
	}
	.menuBox .infoMenu .menuInner .linkUl {
		margin-bottom: 42px;
	}
	.menuBox .infoMenu .menuInner .linkUl li {
		padding: 0 50px;
	}
	.menuBox .infoMenu .menuInner .link {
		margin-bottom: 52px;
	}
	.menuBox .infoMenu .menuInner .link a {
		padding: 0 50px;
	}
	.menuBox .infoMenu .menuInner .naviList {
		margin-bottom: 22px;
	}
	.menuBox .infoMenu .menuInner .snsList {
		margin-bottom: 18px;
	}
	.menuBox .infoMenu .menuInner .snsList li {
		margin: 0 10px;
	}
	.menuBox .infoMenu .menuInner .snsList li a img {
		width: 18px;
	}
}
@media (max-width: 767px) and (max-height: 600px) {
	.menuBox .infoMenu .menuInner .ttlImg {
    margin-bottom: 24px;
    width: 124px;
	}
	.menuBox .infoMenu .menuInner .linkList {
		margin-bottom: 30px;
	}
	.menuBox .infoMenu .menuInner .linkList li {
		margin-bottom: 18px;
	}
	.menuBox .infoMenu .menuInner .linkUl {
		margin-bottom: 28px;
	}
	.menuBox .infoMenu .menuInner .link {
		margin-bottom: 30px;
	}
	.menuBox .infoMenu .menuInner .naviList li a {
		font-size: 1.15rem;
	}
	.menuBox .infoMenu .menuInner .linkList li {
		margin-bottom: 16px;
	}
	.menuBox .infoMenu .menuInner .linkList li a {
		font-size: 1.7rem;
	}
	.menuBox .infoMenu .menuInner .linkUl li a {
		font-size: 1.25rem;
	}
	.menuBox.menuBox01 .infoMenu .menuInner .link.link2 a {
		font-size: 1.2rem;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
    padding-bottom: 66px;
	position: relative;
	z-index: 2;
	background-color: #fff;
}
#gFooter .pageTop {
	display: none;
    position: fixed;
    bottom: 41px;
    right: 45px;
    width: 29px;
    z-index: 100;
}
#gFooter .fBox {
	max-width: 1000px;
	margin: 0 auto 100px;
}
#gFooter .fLogo {
	padding: 7px 0 0 40px;
	width: 206px;
	text-align: center;
}
#gFooter .fLogo .img02 {
	display: none !important;
}
#gFooter .fLogo .title {
	padding-top: 19px;
	color: #000;
	display: block;
	font-size: 1.8rem;
	font-weight: 400;
	font-style: italic;
	font-family: 'Cormorant', serif;
}
#gFooter .rBox {
    width: calc(100% - 332px);
}
#gFooter .rBox a.active {
	color: #A5A5A5 !important;
}
#gFooter .fNavi {
    margin-bottom: 63px;
}
#gFooter .fNavi li {
    margin-right: 34px;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
}
#gFooter .fNavi li:nth-child(3) {
    margin-right: 54px;
}
#gFooter .fNavi li:last-child {
    margin-right: 0;
}
#gFooter .fNavi li a {
    color: #2F2F2F;
}
#gFooter .fNavi li.on a {
	color: #A5A5A5;
}
#gFooter .fNavi .small {
    padding-top: 2px;
    font-size: 1.3rem;
		letter-spacing: 0.1em;
		margin-right: 26px;
}
#gFooter .infoBox {
    margin-right: 50px;
}
#gFooter .naviBox {
    display: flex;
    justify-content: flex-start;
}
#gFooter .link {
    margin-right: 36px;
    font-size: 1.3rem;
    letter-spacing: 0.03em;
}
#gFooter .link a {
    display: inline-block;
    color: #2F2F2F;
}
#gFooter .link a .img02 {
	display: none !important;
}
#gFooter .link img {
    display: inline-block;
    vertical-align: middle;
    margin: -3px 9px 0 0;
}
#gFooter .snsList li {
    padding-left: 24px;
}
#gFooter .snsList .img02 {
	display: none !important;
}
#gFooter address {
    padding-left: 39px;
    float: left;
    color: rgba(47,47,47,0.7);
    font-style: normal;
    font-family: 'Cormorant', serif;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
}
#gFooter .linkList li {
		padding-top: 2px;
    padding-left: 20px;
    display: inline-block;
    vertical-align: top;
    font-size: 1.1rem;
}
#gFooter .linkList li a {
    color: #2F2F2F;
    letter-spacing: 0.09em;
}
#gFooter.footer01 {
	background-color: #3B3B3B;
}
#gFooter.footer01 .fLogo .img01 {
	display: none !important;
}
#gFooter.footer01 .fLogo .img02 {
	display: inline-block !important;
}
#gFooter.footer01 address {
	color: #fff;
}
#gFooter.footer01 .fNavi li a {
	color: #fff;
}
#gFooter.footer01 .linkList li a {
	color: #fff;
}
#gFooter.footer01 .link a {
	color: #fff;
}
#gFooter.footer01 .link a .img01 {
	display: none !important;
}
#gFooter.footer01 .link a .img02 {
	display: inline-block !important;
}
#gFooter.footer01 .snsList .img01 {
	display: none !important;
}
#gFooter.footer01 .snsList .img02 {
	display: block !important;
}
#gFooter.footer02 .link a:not(:last-of-type) {
	margin-right: 20px;
}
#gFooter.footer02 .link {
	margin-right: 14px;
}
@media all and (min-width: 1001px) {
    #gFooter .fNavi li.linkTxt a:hover {
        color: #A5A5A5;
    }
    #gFooter .fNavi .small a:hover {
        opacity: 0.7;
    }
    #gFooter .link a:hover {
        opacity: 0.7;
    }
    #gFooter .snsList li a:hover {
        opacity: 0.7;
    }
    #gFooter .pageTop a:hover {
        opacity: 0.7;
    }
    #gFooter .linkList li a:hover {
        opacity: 0.7;
    }
}
@media all and (min-width: 768px) and (max-width: 1000px) {
	#gFooter .fNavi {
    margin-bottom: 52px;
	}
	#gFooter .fLogo {
		width: 161px;
	}
	#gFooter .rBox {
    width: calc(100% - 247px);
	}
	#gFooter .fNavi li {
		margin-right: 30px;
	}
	#gFooter .fNavi li:nth-child(3) {
    margin-right: 45px;
	}
	#gFooter .link {
		margin-right: 24px;
	}
	#gFooter .fNavi .small {
		font-size: 1.25rem;
    letter-spacing: 0.07em;
    margin-right: 24px;
	}
	#gFooter .infoBox {
    margin-right: 178px;
	}
}
@media all and (min-width: 768px) and (max-width: 860px) {
	#gFooter .fLogo {
		width: 141px;
	}
	#gFooter .rBox {
    width: calc(100% - 222px);
	}
	#gFooter .fNavi li {
    margin-right: 26px;
    font-size: 1.55rem;
    letter-spacing: 0.1em;
	}
	#gFooter .fNavi li:nth-child(3) {
    margin-right: 32px;
	}
	#gFooter .fNavi .small {
    font-size: 1.2rem;
    letter-spacing: 0.04em;
    margin-right: 23px;
	}
	#gFooter .infoBox {
    margin-right: 253px;
	}
	#gFooter.footer02 .link {
    margin-right: 9px;
		font-size: 1.2rem;
	}
}
@media all and (max-width: 767px) {
    #gFooter {
			padding-bottom: 48px;
    }
    #gFooter .pageTop {
			display: block;
			position: static;
			text-align: center;
			margin: 0 auto 23px;
    }
    #gFooter .fBox {
			max-width: none;
			display: block;
			margin: 0;
    }
    #gFooter .fLogo {
			padding: 7px 0 38px;
			width: auto;
			text-align: center;
    }
    #gFooter .fLogo img {
			width: 151px;
    }
	#gFooter .fLogo .img02 {
		display: none !important;
	}
    #gFooter .fLogo .title {
        padding-top: 3px;
        font-size: 1.5rem;
    }
    #gFooter .rBox {
        width: 100%;
    }
    #gFooter .fNavi {
        display: block;
        text-align: center;
        margin-bottom: 41px;
    }
    #gFooter .fNavi li {
        margin: 0 0 21px;
        font-size: 1.8rem;
        letter-spacing: 0.2em;
    }
    #gFooter .fNavi li:nth-child(3) {
        margin: 0 0 34px;
    }
    #gFooter .fNavi li:last-child {
        margin-right: 0;
    }
    #gFooter .fNavi .small {
        margin-bottom: 16px;
				margin-right: 0;
        padding-top: 0;
        font-size: 1.3rem;
        letter-spacing: 0.05em;
    }
    #gFooter .infoBox {
        margin-right: 0;
        display: block;
    }
    #gFooter .naviBox {
        display: block;
        justify-content: flex-start;
    }
    #gFooter .link {
        margin: 0 0 48px;
        font-size: 1.25rem;
        text-align: center;
        letter-spacing: 0.05em;
    }
    #gFooter .link a {
        display: inline-block;
        color: #2F2F2F;
    }
    #gFooter .link img {
        display: inline-block;
        vertical-align: middle;
        margin: -3px 9px 0 0;
    }
	#gFooter .link .img02 {
		display: none !important;
	}
    #gFooter .snsList {
        margin: 0 0 33px;
        justify-content: center;
    }
	#gFooter .snsList .img02 {
		display: none !important;
	}
    #gFooter .snsList li {
        padding: 0 10px;
    }
    #gFooter address {
        padding: 0;
        float: none;
        color: #000;
        text-align: center;
        font-size: 0.95rem;
        letter-spacing: 0.05em;
    }
    #gFooter .linkList {
        padding: 0 0 30px;
        float: none;
        text-align: center;
    }
    #gFooter .linkList li {
        padding: 0 10px;
        font-size: 1.2rem;
    }
	#gFooter.footer01 .fLogo .img01 {
		display: none !important;
	}
	#gFooter.footer01 .fLogo .img02 {
		display: inline-block !important;
	}
	#gFooter.footer01 .link a .img01 {
		display: none !important;
	}
	#gFooter.footer01 .link a .img02 {
		display: inline-block !important;
	}
	#gFooter.footer01 .snsList .img01 {
		display: none !important;
	}
	#gFooter.footer01 .snsList .img02 {
		display: block !important;
	}
	#gFooter.footer02 .link {
    margin-right: 0;
	}
}
@media all and (max-width: 374px) {
	#gFooter .link {
		margin: 0 0 46px;
	}
	#gFooter .linkList li {
		padding: 0 6px;
    font-size: 1.1rem;
	}
}
/*------------------------------------------------------------
	loading
------------------------------------------------------------*/
.loading,
.loadingBox {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(255,255,255,1);
	z-index: 1000;
}
.loading .infoLoading {
	position: absolute;
	left: 0;
	width: 100%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: center;
}
.loadingBox.hide {
	display: none !important;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
	padding: 0 30px;
	width: 1000px;
	margin: 0 auto;
	box-sizing: border-box;
}
@media all and (max-width: 767px) {
	.content {
		width: auto;
		padding: 0 23px;
	}
}
/*------------------------------------------------------------
	imglazy
------------------------------------------------------------*/
.bgLazy {
    opacity: 0;
    transition: all 1s;
}
.bgLazy.visible {
    opacity: 1;
}
/*------------------------------------------------------------
	fadeInUp
------------------------------------------------------------*/
.fadeInUp {
    opacity: 0;
    transform: translateY(50px);
    transition: all .8s ease-out;
}
.fadeInUp.visible {
    opacity: 1;
    transform: translateY(0px);
}
.fadeInLeft {
	opacity: 0;
	transform: translateX(90px);
	transition: all 2s ease-out;
}
.fadeInLeft.visible {
	opacity: 1;
	transform: translateX(0px);
}
.fadeIn {
    opacity: 0;
    transition: all 2s;
}
.fadeIn.visible {
    opacity: 1;
}
.delay01 {
	transition-delay: 0.1s;
}
.delay02 {
	transition-delay: 0.2s;
}
.delay03 {
	transition-delay: 0.3s;
}
.delay04 {
	transition-delay: 0.4s;
}
.delay05 {
	transition-delay: 0.5s;
}
.delay06 {
	transition-delay: 0.6s;
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
	margin-bottom: 66px;
    text-align: center;
    font-weight: normal;
}
.headLine01 .ttl {
	margin-bottom: 10px;
    display: block;
    font-size: 2.3rem;
    font-weight: 600;
    letter-spacing: 0.15em;
}
.headLine01 .en {
    display: block;
    font-size: 1.8rem;
    font-weight: 500;
    font-family: 'Cormorant', serif;
    letter-spacing: 0.03em;
}
@media all and (max-width: 767px) {
    .headLine01 {
        margin-bottom: 47px;
    }
    .headLine01 .ttl {
        margin-bottom: 10px;
        font-size: 1.7rem;
        letter-spacing: 0.14em;
    }
    .headLine01 .en {
        font-size: 1.4rem;
    }
}
/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
	margin-bottom: 55px;
	font-size: 4.5rem;
	font-family: 'Cormorant', serif;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.03em;
}
.headLine02.head01 {
	margin-bottom: 34px;
	font-size: 3rem;
	letter-spacing: 0.05em;
}
@media all and (max-width: 767px) {
    .headLine02 {
        margin-bottom: 30px;
        font-size: 3.5rem;
    }
	.headLine02.head01 {
		margin-bottom: 19px;
		font-size: 2.8rem;
	}
}
/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
	display: flex;
	align-items: flex-end;
}
.headLine03 img {
	width: 76px;
	margin: 0 33px 6px 0;
}
.headLine03 .en {
	color: #fff;
	font-weight: 500;
	font-family: 'Cormorant', serif;
	font-size: 2.1rem;
	letter-spacing: 0.05em;
}
/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
	margin-bottom: 55px;
	color: #404040;
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: 0.16em;
	font-family: 'Shippori Mincho', serif;
}
@media all and (max-width: 767px) {
	.headLine04 {
		margin-bottom: 22px;
		font-size: 2.1rem;
		letter-spacing: 0.15em;
	}
}
@media all and (max-width: 374px) {
	.headLine04 {
		font-size: 1.9rem;
	}
}
/*------------------------------------------------------------
	headLine05
------------------------------------------------------------*/
.headLine05 {
	margin-bottom: 56px;
}
.headLine05 .en {
	margin-bottom: -1px;
	color: #000;
	font-family: 'Cormorant', serif;
	font-weight: 300;
	display: block;
	font-size: 5rem;
}
.headLine05 .jp {
	color: #000;
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.2em;
}
@media all and (max-width: 767px) {
	.headLine05 {
		margin-bottom: 43px;
	}
	.headLine05 .en {
		font-size: 3.7rem;
		letter-spacing: 0.015em;
	}
	.headLine05 .jp {
		font-size: 1.3rem;
		letter-spacing: 0.18em;
	}
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink a,
.comLink .info {
	padding-bottom: 2px;
	display: inline-block;
	color: #fff;
	position: relative;
	font-family: 'Cormorant', serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.07em;
	text-align: center;
	width: 202px;
	box-sizing: border-box;
}
.comLink .info:before,
.comLink a:before {
	position: absolute;
	left: 0;
	bottom: 0;
	right: 0;
	height: 1px;
	background: rgba(255,255,255,1);
	content: "";
}
@media all and (min-width: 1001px) {
    .comLink a:hover {
        opacity: 0.7;
    }
}
@media all and (max-width: 767px) {
    .comLink a,
    .comLink .info {
		padding-bottom: 0;
        width: 162px;
        font-size: 1.65rem;
    }
    .comLink .info:before,
    .comLink a:before {
        bottom: -2px;
    }
}
/*------------------------------------------------------------
	comContact
------------------------------------------------------------*/
.comContact {
	padding: 186px 0 144px;
	width: calc(50% + 550px);
}
.comContact a {
	position: relative;
	width: 100%;
	display: flex;
	align-items: center;
	height: 330px;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.comContact .bg {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 1;
}
.comContact .infoBg {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
}
.comContact .infoContact {
	width: 750px;
	margin: 0 242px 0 auto;
	padding-left: 30px;
	position: relative;
	z-index: 2;
}
.comContact .title {
	padding-bottom: 18px;
}
.comContact .title .enTxt {
	margin-right: 98px;
	display: inline-block;
	vertical-align: middle;
	color: #575757;
	font-size: 5.1rem;
	font-family: 'Cormorant', serif;
	font-weight: 400;
	letter-spacing: 0.02em;
}
.comContact .title .jpTxt {
	padding-top: 10px;
	display: inline-block;
	vertical-align: middle;
	color: #646464;
	font-size: 500;
	letter-spacing: 0.13em;
}
.comContact .comLink {
	position: absolute;
	right: -40px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 2;
    transition: .3s;
	-webkit-transition: .3s;
}
.comContact .comLink .info {
	padding: 0 0 7px 10px;
	color: #434343;
	font-size: 1.8rem;
	text-align: left;
	width: 180px;
	letter-spacing: 0.03em;
}
.comContact .comLink .info:before {
	width: 0;
	background-color: rgba(51,51,51,0.5);
    transition: width .9s 0.5s;
}
.comContact.fadeInUp.visible .comLink .info:before,
.comContact.fadeIn.visible .comLink .info:before {
	width: 100%;
}
@media all and (min-width: 1001px) {
	.comContact .infoBg {
		-webkit-transition: all 0.9s ease-in-out;
		transition: all 0.9s ease-in-out;
	}
	.comContact:hover .infoBg {
		-webkit-transform: scale(1.1);
		transform: scale(1.);
	}
	.comContact:hover .comLink {
		opacity: 0.5;
	}
}
@media all and (min-width: 1101px) and (max-width: 1250px) {
    .comContact {
        width: calc(50% + 480px);
    }
}
@media all and (min-width: 768px) and (max-width: 1100px) {
    .comContact {
        width: calc(50% + 430px);
    }
}
@media all and (max-width: 767px) {
    .comContact {
		margin-right: 55px;
        padding: 100px 0 90px;
        width: auto;
    }
    .comContact a {
        height: 280px;
    }
    .comContact .infoContact {
        width: auto;
        margin: 0 27px;
				padding: 0;
    }
    .comContact .title {
        padding-bottom: 65px;
    }
    .comContact .title .enTxt {
        margin: 0 0 20px;
        font-size: 4.3rem;
        display: block;
    }
    .comContact .title .jpTxt {
        padding-top: 10px;
        display: block;
        line-height: 2;
        font-size: 1.2rem;
    }
    .comContact .comLink {
        right: -30px;
        top: auto;
        bottom: 54px;
        -webkit-transform: none;
        transform: none;
        z-index: 2;
        transition: .3s;
        -webkit-transition: .3s;
    }
    .comContact .comLink .info {
        padding: 0 0 5px 12px;
        font-size: 1.7rem;
        width: 160px;
    }
}
/*------------------------------------------------------------
	parallaxBox
------------------------------------------------------------*/
.parallaxBox {
    overflow: hidden;
    position: relative;
	padding-bottom: 120%;
	width: 100%;
}
.parallaxBox .parallaxCon {
    height: 115%;
    position: absolute;
    left: 0;
    top: -15%;
    width: 100%;
	will-change: transform;
}
.parallaxBox .parallaxCon img {
	margin-left: -7%;
    height: 100%;
    max-width: inherit;
}
.parallax {
	will-change: transform;
}
@media all and (max-width: 767px) {
	.parallaxBox {
        padding-bottom: 91.2%;
    }
	.parallaxBox .parallaxCon {
		height: 125%;
		top: -30%;
	}
}
.loading,
.loadingBox {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100000;
}
.loading .loadBox,
.loadingBox .loadBox {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.loading .loadLogo {
	width: 348px;
	opacity: 0;
}
.loadingBox .loadLogo {
	width: 24px;
}
.loading.on .loadLogo {
	opacity: 1;
}
@media all and (max-width: 767px) {
	.loading .loadLogo {
		margin: 0;
		width: 256px;
	}
	.loadingBox .loadLogo {
		width: 22px;
	}
}
@media all and (max-width: 374px) {
	.loading .loadLogo {
		width: 216px;
	}
}
.bgWhite {
	background: url("../img/common/bg_white.jpg") no-repeat center top/cover;
}
.bgBlack {
	background: url("../img/common/bg_black.jpg") no-repeat center top/cover;
}
/*------------------------------------------------------------
	comPop
------------------------------------------------------------*/
.comPop {
	margin: 0 auto;
	max-width: 970px;
	position: relative;
	box-sizing: border-box;
	background-color: #fff;
	box-sizing: border-box;
	overflow-y: auto;
}
.comPop .popBox {
	position: relative;
	padding: 85px 105px 60px;
}
.comPop .close {
	position: absolute;
	right: 27px;
	top: 26px;
	width: 25px;
	z-index: 1;
}
.comPop .headLine05 {
	text-align: center;
}
.comPop .headLine05 .en {
	margin-bottom: 6px;
	color: #333;
	font-size: 4.2rem;
	letter-spacing: 0.01em;
}
.comPop .headLine05 .jp {
	color: #333;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
}
.comPop .sliderSec {
	margin-bottom: 50px;
	position: relative;
}
.comPop .sliderSec .nextCover {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: calc(100% - 30px);
	z-index: 10;
	cursor: pointer;
}
.comPop .imgBox {
	margin-bottom: 86px;
	flex-direction: row-reverse;
}
.comPop .imgBox .textBox {
	width: 470px;
}
.comPop .noImgBox.imgBox .textBox {
	width: 100% !important;
}
.comPop .imgBox .textBox p {
	font-weight: 500;
	line-height: 2.1;
	letter-spacing: 0.08em;
	text-align: justify;
}
.comPop .imgBox .photoBox {
	width: 195px;
	padding-top: 7px;
}
.comPop .btmTxt {
	font-size: 1.3rem;
	font-family: 'Cormorant', serif;
	letter-spacing: 0.01em;
	text-align: center;
}
.comPop .prev {
	position: absolute;
	left: 53px;
	bottom: 57px;
	width: 12px;
}
.comPop .next {
	position: absolute;
	right: 53px;
	bottom: 57px;
	width: 12px;
}
.comPop .slick-dots {
	margin-top: 8px;
	text-align: center;
}
.comPop .slick-dots button {
	display: none;
}
.comPop .slick-dots li {
	margin: 0 9px;
	display: inline-block;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background-color: #000;
	opacity: 0.3;
}
.comPop .slick-dots li.slick-active {
	opacity: 1;
}
.comPop .imgList .slick-prev {
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 0;
	line-height: 0;
	width: 6px;
	height: 12px;
	appearance: none;
	border: none;
	border-radius: 0;
	background: url(../img/materials/prev.png) no-repeat center center / cover;
	cursor: pointer;
}
.comPop .imgList .slick-next button {
	display: none;
}
.comPop .imgList .slick-next {
	position: absolute;
	right: 0;
	bottom: 0;
	font-size: 0;
	line-height: 0;
	width: 6px;
	height: 12px;
	appearance: none;
	border: none;
	border-radius: 0;
	background: url(../img/materials/next.png) no-repeat center center / cover;
	cursor: pointer;
}
.mfp-fade.mfp-bg {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
	opacity: 0.1;
}
.mfp-fade.mfp-bg.mfp-removing {
	opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
	opacity: 0;
	-webkit-transition: all 0.5s ease-out;
	-moz-transition: all 0.5s ease-out;
	transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
	opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
	opacity: 0;
}
.mfp-auto-cursor .mfp-content {
	padding: 78px 0 85px;
}
@media all and (min-width: 768px) and (max-width: 1050px) {
	.comPop {
		margin: 0 32px;
	}
	.comPop .popBox {
		padding: 86px 8.6% 107px;
	}
	.comPop .imgBox .photoBox {
		width: 26%;
	}
	.comPop .imgBox .textBox {
		width: 62%;
	}
	.comPop .imgList .slick-next {
		right: 0 !important;
	}
	.comPop .imgList .slick-prev {
		left: 0 !important;
	}
}
@media all and (min-width: 1001px) {
	.comPop .close a:hover {
		opacity: 0.7;
	}
	.comPop .prev:hover,
	.comPop .next:hover {
		opacity: 0.7;
	}
}
body.pad .mfp-auto-cursor .mfp-content {
	padding: 0;
}
body.pad .comPop {
	overflow: hidden;
}
body.pad .comPop .popBox {
	max-height: 85vh;
	box-sizing: border-box;
	overflow-y: auto;
}
body.pad .comPop .popBox .popInner {
	position: relative;
}
body.pad .comPop .prev {
	left: -7px;
	bottom: 0;
}
body.pad .comPop .next {
	right: -7px;
	bottom: 0;
}
@media all and (max-width: 767px) {
	.comPop {
		margin: 0 5px;
		padding: 0;
		width: auto;
	}
	.comPop .popBox {
		padding: 0;
		max-height: 90vh;
		overflow-y: auto;
	}
	.comPop .popBox .popInner {
		padding: 72px 22px 31px;
		position: relative;
	}
	.comPop .close {
		position: absolute;
		right: 20px;
		top: 20px;
		width: 25px;
	}
	.comPop .prev {
		left: 13px;
		bottom: 28px;
	}
	.comPop .next {
		right: 13px;
		bottom: 28px;
	}
	.comPop .headLine05 {
		margin-bottom: 30px;
	}
	.comPop .headLine05 .en {
		margin-bottom: 3px;
		font-size: 2.6rem;
		line-height: 1.33;
	}
	.comPop .headLine05 .jp {
		font-size: 1.1rem;
		letter-spacing: 0.08em;
	}
	.comPop .sliderSec {
		margin-bottom: 29px;
	}
	.comPop .imgBox {
		margin-bottom: 58px;
		display: block;
	}
	.comPop .imgBox .textBox {
		margin-bottom: 27px;
		width: auto;
	}
	.comPop .imgBox .textBox p {
		font-weight: 500;
		line-height: 2;
		font-size: 1.3rem;
		letter-spacing: 0.05em;
	}
	.comPop .imgBox .photoBox {
		padding-top: 0;
		width: auto;
	}
	.comPop .imgBox .photoBox img {
		width: 52%;
		margin: 0 auto;
		display: block;
	}
	.comPop .btmTxt {
		font-size: 1.23rem;
	}
	.mfp-auto-cursor .mfp-content {
		padding: 10px 0;
	}
	.comPop .slick-dots {
		margin-top: 6px;
	}
	.comPop .slick-dots li {
		margin: 0 7px;
	}
}
/*------------------------------------------------------------
	comContent
------------------------------------------------------------*/
.comContent {
	padding-top: 103px;
}
@media all and (max-width: 767px) {
	.comContent {
		padding-top: 95px;
	}
}
/*------------------------------------------------------------
	headLine06
------------------------------------------------------------*/
.headLine06 {
	margin-bottom: 42px;
	text-align: center;
}
.headLine06 .en {
	margin-bottom: 10px;
	display: block;
	font-family: 'Cormorant', serif;
	font-size: 4.5rem;
	font-weight: 500;
	letter-spacing: 0.03em;
}
.headLine06 .jp {
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.15em;
}
@media all and (max-width: 767px) {
	.headLine06 {
		margin-bottom: 42px;
	}
	.headLine06 .en {
		margin-bottom: 12px;
		font-size: 3.5rem;
	}
	.headLine06 .jp {
		font-size: 1.5rem;
	}
}
/*------------------------------------------------------------
	headLine07
------------------------------------------------------------*/
.headLine07 {
	margin-bottom: 50px;
	font-size: 2.5rem;
	text-align: center;
	font-weight: 500;
	letter-spacing: 0.15em;
}
@media all and (max-width: 767px) {
	.headLine07 {
		font-size: 2rem;
	}
}
/*------------------------------------------------------------
	comForm
------------------------------------------------------------*/
.comForm {
	width: 732px;
	margin: 0 auto;
}
.comForm01 {
	padding-top: 22px;
}
.comForm .topTxt {
	margin-bottom: 73px;
	text-align: center;
	line-height: 2.2;
	letter-spacing: 0.1em;
}
.comForm .rightTxt {
	margin-bottom: 10px;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-align: right;
}
.comForm table {
	width: 100%;
	word-break: break-all;
	border-collapse: collapse;
}
.comForm th,
.comForm td {
	font-size: 1.5rem;
	font-weight: 600;
	padding: 10px 0;
	text-align: left;
	letter-spacing: 0.08em;
	vertical-align: top;
}
.comForm th {
	padding-top: 23px;
	width: 29%;
}
.comForm td {
	font-weight: 500;
}
.comForm td input[type="text"],
.comForm td input[type="email"],
.comForm td input[type="tel"],
.comForm td textarea,
.comForm td select {
	width: 100%;
	padding: 5px 25px;
	height: 41px;
	color: #333;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	box-shadow: none;
	border-radius: 0;
	box-sizing: border-box;
	background: #F5F5F5;
	border: none;
	appearance: none;
	-webkit-appearance: none;
}
.comForm td textarea {
	padding: 11px 18px 11px 25px;
	resize: vertical;
	height: 170px;
}
.comForm td select {
	background: #F5F5F5 url("../img/common/icon04.png") no-repeat right 19px center;
	background-size: 9px auto;
}
.comForm input::-webkit-input-placeholder,
.comForm textarea::-webkit-input-placeholder {
	color: #9A9A9A;
}
.comForm input:-moz-placeholder,
.comForm textarea:-moz-placeholder {
	color: #9A9A9A;
}
.comForm input::-moz-placeholder,
.comForm textarea::-moz-placeholder {
	color: #9A9A9A;
}
.comForm input:-ms-input-placeholder,
.comForm textarea:-ms-input-placeholder {
	color: #9A9A9A;
}
.comForm select::-ms-expand { display: none; }
.comForm .submit {
	padding-top: 86px;
	text-align: center;
}
.comForm .submit li {
	padding: 0 18px;
	display: inline-block;
	vertical-align: top;
}
.comForm .submit li input {
	width: 305px;
	height: 50px;
	cursor: pointer;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	text-align: center;
	-webkit-appearance: none;
	background: #333;
	border: none;
	box-shadow: none;
	border-radius: 0;
	letter-spacing: 0.1em;
    transition: .3s;
	-webkit-transition: .3s;
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}
.comForm01 table {
	margin: -22px 0 0;
}
.comForm01 table th,
.comForm01 table td {
	padding: 20px 0;
	border-bottom: 1px solid #D6D6D6;
}
.comForm01 .submit {
	padding-top: 122px;
}
.comForm01 .submit .back input {
	background: #767676;
}
.comThanks {
	padding-top: 34px;
}
.comThanks .topTxt {
	margin-bottom: 0;
	font-weight: 500;
}
@media all and (min-width: 1001px) {
	.comForm .submit li input:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 767px) {
	.comForm {
		width: auto;
	}
	.comForm01 {
		padding-top: 0
	}
	.comForm .topTxt {
		margin: 0 2px 52px;
		font-size: 1.3rem;
		text-align: left;
		line-height: 2;
	}
	.comForm .rightTxt {
		margin: 0 5px -17px;
		font-size: 1.2rem;
	}
	.comForm th,
	.comForm td {
		display: block;
		font-size: 1.3rem;
	}
	.comForm th {
		padding: 0 2px;
		width: auto;
	}
	.comForm td {
		padding: 10px 2px 28px;
	}
	.comForm td input[type="text"],
	.comForm td input[type="email"],
	.comForm td select {
		height: 42px;
		padding: 5px 20px;
	}
	.comForm td textarea {
		padding: 11px 14px 11px 20px;
	}
	.comForm .submit {
		padding-top: 52px;
	}
	.comForm .submit li {
		padding: 0 18px 20px;
		display: block;
	}
	.comForm .submit li:last-child {
		margin-bottom: 0;
	}
	.comForm .submit li input {
		width: 245px;
	}
	.comForm01 table {
		margin: -30px 0 0;
	}
	.comForm01 table th,
	.comForm01 table td {
		padding: 0;
	}
	.comForm01 table th {
		padding: 22px 0 0;
		border-bottom: none;
	}
	.comForm01 table td {
		padding: 9px 0 23px;
	}
	.comForm01 .submit {
		padding-top: 80px;
	}
	.comForm01 .submit .back input {
		background: #767676;
	}
	.comThanks {
		padding-top: 25px;
	}
	.comThanks .topTxt {
		margin: -8px 0 0 0;
		letter-spacing: 0.045em;
	}
}
/*------------------------------------------------------------
	comCookie
------------------------------------------------------------*/
.comCookie {
	position: fixed;
	right: 0;
	bottom: 0;
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	padding: 20px 26px 20px;
	width: 265px;
	box-sizing: border-box;
	background: rgba(52,52,52,0.8);
	z-index: 700;
	transition: all 0.2s;
	opacity: 0;
    pointer-events: none;
}
.comCookie.showC {
    opacity: 1;
    pointer-events: auto;
}
.comCookie .top {
	margin-bottom: 1px;
	font-size: 1.15rem;
	letter-spacing: 0.06em;
}
.comCookie .linkTxt {
	margin-bottom: 11px;
}
.comCookie .linkTxt a {
	color: #fff;
	font-size: 1.1rem;
	display: inline-block;
	border-bottom: 1px solid #fff;
	letter-spacing: 0.02em;
}
.comCookie .subBox {
	margin: 0 3px 0 0;
	align-items: center;
}
.comCookie .subBox .ttl {
	font-size: 1.05rem;
	letter-spacing: 0.04em;
}
.comCookie .subBox .ttl a {
	color: #fff;
}
.comCookie .subBox .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 87px;
	height: 34px;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0.05em;
	background: #fff;
}
@media all and (min-width: 1001px) {
	.comCookie .linkTxt a:hover {
		opacity: 0.5;
		border-color: transparent;
	}
	.comCookie .subBox .ttl a:hover {
		opacity: 0.5;
		text-decoration: underline;
	}
	.comCookie .subBox .btn a:hover {
		color: #fff;
		background-color: #A5A5A5;
		opacity: 1 !important;
	}
}
@media all and (max-width: 767px) {
	.comCookie {
		padding-right: 15px;
		width: 255px;
	}
	.comCookie .top {
		margin-bottom: 4px;
	}
}
/*------------------------------------------------------------
	comLinkList
------------------------------------------------------------*/
.comLinkList {
	margin-top: -59px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.comLinkList::after {
	width: calc((100% - 2px) / 3);
	content: '';
}
.comLinkList li {
	margin-top: 59px;
	width: calc((100% - 2px) / 3);
	display: flex;
}
.comLinkList a {
	width: 100%;
	color: #fff;
	box-sizing: border-box;
}
.comLinkList .pho {
	margin-bottom: 21px;
	overflow: hidden;
}
.comLinkList .pho span {
	height: 0;
	padding-bottom: 100%;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	display: block;
	transition: .3s;
}
.comLinkList .ttl {
	padding-right: 20px;
	margin-bottom: 17px;
	font-size: 1.7rem;
	font-weight: 500;
	line-height: 1.56;
	letter-spacing: 0.05em;
	font-family: 'Shippori Mincho', serif;
}
.comLinkList dl {
	padding-right: 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 1.1rem;
	font-weight: 300;
	line-height: 1.65;
	letter-spacing: 0.06em;
	font-family: 'Noto Sans JP', sans-serif;
}
.comLinkList dt {
	width: 75px;
}
.comLinkList dd {
	width: calc(100% - 75px);
}
@media screen and (min-width: 768px) and ( max-width: 1200px) {
	.comLinkList .ttl {
		font-size: 1.5rem;
		letter-spacing: 0.04em;
	}
}
@media all and (min-width: 1001px) {
	.comLinkList a:hover .pho span {
		transform: scale(1.05);
	}
}
@media all and (max-width: 767px) {
	.comLinkList {
		margin: -46px -25px 0;
	}
	.comLinkList::after {
		display: none;
	}
	.comLinkList li {
		margin-top: 46px;
		position: relative;
		width: calc((100% - 1px) / 2);
	}
	.comLinkList li::before {
		width: 1px;
		height: calc(100% - ((100vw - 1px) / 2) - 15px);
		position: absolute;
		right: -1px;
		bottom: 0;
		background-color: rgba(214,214,214,0.2);
		content: '';
	}
	.comLinkList li:last-of-type::before,
	.comLinkList li:nth-of-type(2n)::before {
		display: none;
	}
	.comLinkList .pho {
		margin-bottom: 15px;
		position: relative;
	}
	.comLinkList .pho::after {
		width: 1px;
		height: calc(100% + 17px);
		position: absolute;
		right: -1px;
		top: 0;
		background-color: #3B3B3B;
		content: '';
		z-index: 2;
	}
	.comLinkList li:nth-of-type(2n) .pho::after {
		display: none;
	}
	.comLinkList .txtBox {
		padding: 0 15px 0 19px;
	}
	.comLinkList .ttl {
		margin-bottom: 12px;
		font-size: 1.45rem;
		line-height: 1.57;
		letter-spacing: 0.03em;
		padding-right: 0;
	}
	.comLinkList dl {
		display: block;
		font-size: 1.1rem;
		line-height: 1.42;
		letter-spacing: 0.05em;
		padding-right: 0;
	}
	.comLinkList dt {
		width: auto;
	}
	.comLinkList dd {
		margin-bottom: 9px;
		width: auto;
	}
	.comLinkList dd:last-of-type {
		margin-bottom: 0;
	}
}
@media all and (max-width: 374px) {
	.comLinkList .ttl {
		font-size: 1.35rem;
	}
	.comLinkList dl {
		font-size: 1.05rem;
	}
}

.comCookie {
	position: fixed;
	right: 0;
	bottom: 40px;
	font-family: 'Noto Sans JP', sans-serif;
	color: #fff;
	padding: 20px 26px 20px 25px;
	width: 255px;
	box-sizing: border-box;
	background: rgba(52,52,52,0.8);
	z-index: 700;
}
.comCookie .top {
	margin-bottom: 1px;
	font-size: 1.15rem;
	letter-spacing: 0.06em;
}
.comCookie .linkTxt {
	margin-bottom: 11px;
}
.comCookie .linkTxt a {
	color: #fff;
	font-size: 1.1rem;
	display: inline-block;
	border-bottom: 1px solid rgba(255,255,255,0.6);
	letter-spacing: 0.02em;
}
.comCookie .subBox {
	margin: 0 3px 0 0;
	align-items: center;
}
.comCookie .subBox .ttl {
	font-size: 1.05rem;
	letter-spacing: 0.04em;
}
.comCookie .subBox .btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 87px;
	height: 32px;
	padding-bottom: 2px;
	text-align: center;
	font-size: 1.1rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	background: #fff;
}
@media all and (min-width: 1001px) {
	.comCookie .subBox .btn a:hover,
	.comCookie .linkTxt a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 767px) {
	.comCookie {
		padding: 18px 21px 19px 20px;
		width: 245px;
		bottom: 30px;
	}
	.comCookie .top {
		margin-bottom: 2px;
	}
}

.jsFadeTxt {
	opacity: 0;
}
.jsFadeTxt.visible {
	opacity: 1;
}
.zoomIn {
	display: block;
	transform: scale(1.1);
	transition: all 2s ease-out;
}
.zoomIn.visible {
	transform: scale(1);
}

.comForm .submit .wpcf7-spinner {
	position: absolute;
}
