html:not(.responsive) {
	min-width: 1000px; /* viewport */
}



/*=============================================
 * body
 *=============================================*/

body {
	color: #000;
	  font-family: "Shippori Mincho", serif;
	  font-weight: 400;
	  font-style: normal;
	font-size: 16px;
	line-height: 32px;
	letter-spacing: 0.05em;
	background: url("../img/shared/bd_bg.jpg");
	min-width: inherit;
	min-height: inherit;
	max-height: 100%;
}



/*=============================================
 * fonts - DON'T EDIT
 *=============================================*/

.fnt-mincho {
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.fnt-meiryo {
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴシックPro", "ＭＳ ゴシック", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.fnt-gothic {
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}



/*=============================================
 * .fnt - customs
 *=============================================*/

.fnt-mincho {
}
.fnt-meiryo {
}
.fnt-gothic {
}
.fnt-garamond {
}



/*=============================================
 * <main>
 *=============================================*/

main {
	clear: both;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.wrap {
	width: 1000px;
}



/*=============================================
 * <header>
 *=============================================*/

header {
}
header h1 {
}
header .logo {
}
header .tel {
}
header nav {
}



/*=============================================
 * key
 *=============================================*/

#key {
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: 893px;
	position: relative;
}
#key ul {
	min-height: inherit;
}
#key li {
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: inherit;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}



/*=============================================
 * <section>
 *=============================================*/

section {
}



/*=============================================
 * <footer>
 *=============================================*/

footer {
	text-align: center;
}
footer .logo {
}
footer .tel {
}
footer nav {
}



/*=============================================
 * .socialbuttons
 *=============================================*/

footer .socialbuttons {
}



/*=============================================
 * copyright
 *=============================================*/

address {
}


.bx-shw{
	-webkit-box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.1);
	box-shadow: 0px 0px 15px 5px rgba(0,0,0,0.1);
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .btn img:hover, .over-img img:hover, img.over:hover, a:hover img:not(.btn):not(.non-over), button:hover img {
    
    -moz-transform: none !important;
    -webkit-transform: none !important;
	  transform: none !important;
    transition: none !important;
	  
  }
  .btn-over img, .over-img img, img.over, img:not(.btn):not(.non-over), button img {
    opacity: 1;
    
    -moz-transform: none !important;
    -webkit-transform: none !important;
	  transform: none !important;
    transition: none !important;
    -moz-transition: none !important;
    -webkit-transition: none !important;
  }
}

.txt_title{
	text-align: center;
	font-size:26px;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "メイリオ", Meiryo, "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	font-weight: bold;
	margin: -0.5em auto 2em;
	text-shadow: 0 0 3px #f5deb3,0 0 3px #f5deb3;
}

.yoyaku_suwa{
	position: fixed;
	top:100px;
	right: 5px;
	z-index: 99999999;
}

.img-object {
    background-size: cover;
    background-position: center center;
    position: relative;
}
.img-object img {
    object-fit: cover;
    width: 100% !important;
    height: 100% !important;
        position: absolute;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
}

.yoyaku_suwa {
	display: none;
}
header {
	position: relative;
	z-index: 99;
}
header .wrap {
	width: 100%;
}
header .logo {
	position: absolute;
	top: 35px;
	left: 55px;
	z-index: 2;
}
header h1 {
	position: absolute;
	top: 139px;
	left: 55px;
	z-index: 2;
	color: #fff;
}
header .nav-top {
	max-width: 800px;
	margin: 0 auto;
	position: absolute;
	top: 41px;
	left: 150px;
	right: 0;
	z-index: 5;
}
header .nav-top::before {
	content: "";
	background: url(../img/shared/bd_bg.jpg);
	border-radius: 0 0 29px 29px;
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	height: 356px;
	opacity: 0;
	visibility: hidden;
	transition: all .4s ease;
}
header .nav-top ul.g_nav {
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 3;
}
header .nav-top ul.g_nav li a {
	color: #fff;
	font-size: 18px;
}
header .nav-top ul.g_nav li a.active,  header .nav-top ul.g_nav li a:hover {
	color: #a7a7a7;
	text-decoration: none;
}


header .g_nav li span {
	color: #fff;
}
header .g_nav li {
	padding: 20px 35px;
}
.home header .nav-top ul.g_nav li a,
.home header .g_nav li span {
	color: #fff;
}

.home header .nav-top ul.g_nav li a.active ,
.home header .nav-top ul.g_nav li a:hover {
	color: #dddddd;
}

header .g_nav li ul {
	opacity: 0;
	visibility: hidden;
	width: 800px;
	height: 236px;
	position: absolute;
	top: 70px;
	left: 0;
}
header .g_nav li ul li {
	padding: 0;
}
header .g_nav li ul li .nav-sub .list {
	transform: translateY(-20px);
	opacity: 1;
	transition: all .3s ease;
}
header .g_nav li ul li .nav-sub .list a {
	font-size: 0;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
header .g_nav li.hover2:hover ul {
	opacity: 1;
	visibility: visible;
}
header .g_nav li.hover2:hover ul li a {
	color: #000;
}
header .g_nav li.hover2:hover ul li .nav-sub .list {
	transform: translateY(0px);
	opacity: 1;
}
.active-mn header .nav-top::before {
	opacity: 1;
	visibility: visible;
}
.active-mn header .nav-top ul.g_nav li span {
	color: #000;
}
.active-mn header .nav-top ul.g_nav li a {
	color: #000;
	font-size: 18px;
}



.active-mn header .nav-top ul.g_nav li a.active, .active-mn header .nav-top ul.g_nav li a,.active-mn header .nav-top ul.g_nav li span {
	color: #a7a7a7;
}
.active-mn header .nav-top ul.g_nav li.active-i span {
	color: #000;
}
.active-mn header .g_nav li.hover2:hover ul li a {
	color: #000;
}




.nav-sub {
	position: absolute;
	top: 0px;
	left: 0;
	right: 0;
	width: 800px;
}
.nav-sub .inside {
	width: 540px;
	margin: 0 auto;
}
.nav-sub .inside .list {
	width: 167px;
	position: relative;
	padding: 25px 0;
	margin-right: 19px;
	border-top: 1px solid #000000;
	float: left;
}
.nav-sub .inside .list a {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 2;
	font-size: 0;
}
.nav-sub .inside .list .thumb {
	width: 76px;
	height: 77px;
}
.nav-sub .inside .list .tt {
	width: 80px;
	line-height: 24px;
	position: absolute;
	font-size: 15px;
	letter-spacing: 0;
	top: 50%;
	transform: translateY(-50%);
	left: 90px;
}
.nav-sub .inside .list:nth-child(3n) {
	margin-right: 0;
}
.nav-sub .inside .list.active-sub,
.nav-sub .inside .list:hover {
	border-top: 1px solid #c73a3a;
}

.active-sub,
.nav-sub .inside .list:hover .tt {
	color: #c73a3a;
}
.fix-g {
	position: fixed;
	bottom: 0;
	right: 0;
	width: 255px;
	background: url(../img/shared/bg02.jpg);
	color: #fff;
	z-index: 89;
	opacity: 1;
	visibility: visible;
}
.fix-g .tt {
	text-align: center;
	font-size: 14px;
	margin-bottom: 4px;
	padding-top: 9px;
}
.fix-g .tt span {
	border-bottom: 1px solid #a6a88a;
}
.fix-g .tel-group {
	padding: 0 20px 6px;
}
.fix-g .tel-group dl {
	display: flex;
	padding: 0px 0 0px;
	justify-content: space-between;
}
.fix-g .tel-group dl dt {
	width: 85px;
	font-size: 14px;
}
.fix-g .tel-group dl dd {
	width: 145px;
	position: relative;
	font-size: 19px;
	letter-spacing: 0;
}
.fix-g .tel-group dl dd::before {
	content: "";
	background: url(../img/shared/tel_w.png) no-repeat;
	width: 12px;
	height: 15px;
	position: absolute;
	top: 10px;
	left: -15px;
}
.fix-g .web {
	text-align: center;
}
.fix-g .web a {
	display: block;
	line-height: 1;
	background: #282a0f;
	padding: 11px 0;
}
.fix-g .web a span {
	padding-left: 28px;
	position: relative;
	font-size: 14px;
}
.fix-g .web a span::before {
	content: "";
	background: url(../img/shared/web_icon.png) no-repeat;
	width: 16px;
	height: 15px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 4px;
}
.fix-g .web a:hover {
	background: #3c2004;
	text-decoration: none;
}

#key {
	position: relative;
}
#key::after {
	content: "";
	background: url(../img/shared/line02.jpg) repeat-x;
	height: 16px;
	width: 100%;
	position: absolute;
	bottom: -1px;
	left: 0;
	right: 0;
	z-index: 2;
}

.btn-eng {
	width: 124px;
	position: absolute;
	top: 0;
	right: 0;
	line-height: 60px;
	text-align: center;
	z-index: 3;
}
.btn-eng a {
	display: block;
	font-size: 15px;
	background: #362c22;
	color: #fff;
	transition: all .4s ease;
}
.btn-eng a:hover {
	text-decoration: none;
	background: #fff;
	color: #000;
}
.btn-shared a {
	display: block;
	line-height: 1;
	position: relative;
	background: url(../img/shared/bg02.jpg);
	font-size: 24px;
	color: #fff;
	letter-spacing: 1px;
	padding: 38px 0;
	transition: all .4s ease;
	text-align: center;
}
.btn-shared a::before {
	content: "";
	background: url(../img/shared/arrow.jpg) no-repeat top center;
	width: 27px;
	height: 27px;
	position: absolute;
	top: 50%;
	margin-top: -14px;
	right: 23px;
}
.btn-shared a:hover {
	opacity: .7;
	text-decoration: none;
}
.nav-fixed {
	position: fixed;
	top: 0;
	right: 0;
	left: 0;
	z-index: 98;
	background-color: #ffffff;
	height: 80px;
	opacity: 0;
	visibility: hidden;
}
.nav-fixed .fix_logo {
	margin-left: 54px;
	padding-top: 15px;
	width: 225px;
}
.nav-fixed .fix_logo img {
	width: 100%;
	height: auto;
}
.nav-fixed .nav-top {
	top: 0;
}
header .nav-fixed .nav-top ul.g_nav li span, header .nav-fixed .nav-top ul.g_nav li a {
	color: #000;
}
header .g_nav li span.active-p {
	color: #a7a7a7;
}
header .nav-fixed .nav-top ul.g_nav li span.active-p {
	color: #8b8b8b;
}

.active-mn header .nav-fixed .nav-top ul.g_nav li span, .active-mn header .nav-fixed .nav-top ul.g_nav li a,.active-mn header .nav-fixed .nav-top ul.g_nav li a.active {
	color: #8b8b8b;
}
.active-mn header .nav-fixed .nav-top ul.g_nav li.active-i span {
	color: #000;
}

header .nav-fixed .nav-top ul.g_nav li a.active, 
header .nav-fixed .nav-top ul.g_nav li:hover span, header .nav-fixed .nav-top ul.g_nav li:hover a {
	color: #8b8b8b;
}
.has-nav .nav-fixed {
	opacity: 1;
	visibility: visible;
}
#footer {
	z-index: 4;
	position: relative;
	background: url(../img/shared/line.jpg), url(../img/shared/ft-bg.jpg);
	background-repeat: repeat-x, repeat;
	background-position: top center;
}
#footer .set1 {
	padding: 66px 0;
}
#footer .set1 .logo-footer {
	margin-bottom: 25px;
	text-align: center;
}
#footer .set1 .col {
	display: flex;
	max-width: 961px;
	margin: 0 auto;
	justify-content: space-between;
	text-align: center;
}
#footer .set1 .col .right,  #footer .set1 .col .left {
	width: 430px;
}
#footer .set1 .col .right {
	position: relative;
}
#footer .set1 .col .right::before {
	content: "";
	background: #99896b;
	width: 1px;
	height: 673px;
	position: absolute;
	left: -50px;
	bottom: -41px;
}
#footer .set1 .col .right dl.tel {
	padding-top: 20px;
	padding-bottom: 10px;
}
#footer .set1 .col .left dl.tel {
	padding-top: 20px;
	padding-bottom: 6px;
}
#footer .set1 .col .photo {
	margin-bottom: 28px;
	height: 250px;
	width: 100%;
}
#footer .set1 .col h3 {
	font-size: 25px;
	padding-bottom: 24px;
}

#footer .set1 .col .right h3 {
	
padding-bottom: 41px;
}
#footer .set1 .col h3 span {
	display: block;
	font-size: 16px;
}
#footer .set1 .col .btn-web {
	margin: 0 auto 16px;
}
#footer .set1 .col dl.tel {
	border-top: 1px solid #99896b;
}
#footer .set1 .col .right dl.tel {
    padding-bottom: 16px;
}
#footer .set1 .col dl.tel dt {
	line-height: 24px;
}
#footer .set1 .col dl.tel dd span {
	font-size: 26px;
	position: relative;
}
#footer .set1 .col dl.tel dd span::before {
	content: "";
	background: url(../img/shared/tel_icon.png) no-repeat;
	width: 16px;
	height: 21px;
	position: absolute;
	top: 50%;
	margin-top: -10px;
	left: -20px;
}
#footer .set1 .col dl.tel dd small {
	font-size: 18px;
	display: block;
}
#footer .set1 .col .vcard {
	border-top: 1px solid #99896b;
	padding: 24px 0 14px;
}


#footer .set1 .col .right .vcard {
    padding-top: 48px;
}

#footer .set1 .col .vcard dl {
	display: flex;
	justify-content: space-between;
	line-height: 25px;
	padding: 10px 0;
	text-align: left;
	flex-wrap: wrap;
	width: 105%;
}
#footer .set1 .col .vcard dl dt {
	width: 100px;
	padding-left: 23px;
}
#footer .set1 .col .vcard dl dd {
	width: 325px;
}
#footer .set1 .col .btn-group {
	display: flex;
	justify-content: space-around;
}
#footer .set1 .col .btn-group .btn-s {
	width: 210px;
}
#footer .set2 {
	background: url(../img/shared/ft-bg-2.jpg);
	padding: 71px 0 87px;
}
#footer .set2 .row {
	color: #fff;
	display: flex;
	justify-content: space-between;
	margin-bottom: 62px;
}
#footer .set2 .row .left {
	width: 500px;
	margin-left: -50px;
}
#footer .set2 .row .left h3 {
	font-size: 18px;
	text-align: left;
	margin-bottom: 22px;
}
#footer .set2 .row .right {
	width: 498px;
	margin-right: -45px;
	padding-top: 81px;
	position: relative;
}
#footer .set2 .row .right::before {
	content: "";
	background: #6c5f51;
	position: absolute;
	top: 72px;
	left: -47px;
	width: 1px;
	height: 388px;
}
#footer .set2 .row .right .nav-footer {
	position: relative;
	padding-bottom: 10px;
	margin-bottom: 34px;
}
#footer .set2 .row .right .nav-footer::before {
	content: "";
	background: #6c5f51;
	height: 1px;
	width: 667px;
	left: 0;
	bottom: 0;
	position: absolute;
}
#footer .set2 .row .right .nav-footer .inside {
	position: relative;
	margin-bottom: 33px;
}
#footer .set2 .row .right .nav-footer h3 {
	font-size: 20px;
	position: absolute;
	top: -0px;
	left: 0;
}
#footer .set2 .row .right .nav-footer .info {
	width: 347px;
	margin-left: auto;
}
#footer .set2 .row .right .nav-footer .info ul {
	text-align: left;
}
#footer .set2 .row .right .nav-footer .info ul li {
	width: 160px;
	float: left;
	margin-bottom: 5px;
}
#footer .set2 .row .right .link-s {
	text-align: left;
}
#footer .set2 .row .right .link-s a {
	margin-right: -3px;
	padding-right: 12px;
}
#footer .set2 .row .right .link-s a + a {
	margin-left: 20px;
}
#footer .set2 address {
	color: #898074;
	font-size: 14px;

	margin-bottom: 20px;
}
.btn-web {
	max-width: 250px;
}
.btn-web a {
	display: block;
	text-align: center;
	background: #282a0f;
	line-height: 1;
	padding: 10px 20px;
	color: #fff;
}
.btn-web a span {
	padding-left: 30px;
	position: relative;
	font-size: 14px;
}
.btn-web a span::before {
	content: "";
	background: url(../img/shared/web_icon.png) no-repeat;
	width: 16px;
	height: 15px;
	position: absolute;
	top: 50%;
	margin-top: -7px;
	left: 0;
}
.btn-web a:hover {
	background: #3c2004;
	text-decoration: none;
}
.btn-s {
	max-width: 210px;
}
.btn-s a {
	display: block;
	text-align: center;
	background: #282a0f;
	line-height: 1;
	padding: 16px 20px 17px;
	font-size: 14px;
	color: #fff;
}
.btn-s a:hover {
	background: #3c2004;
	text-decoration: none;
}



.bg-parallax {
	position: relative;
	z-index: 0;
}
.img-parallax {
	clip: rect(0, auto, auto, 0);
	margin-bottom: 0;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: -1;
}
.img-parallax img {
	width: 100% !important;
	height: 100vh !important;
	position: fixed;
	bottom: 0;
	left: 0;
	padding: 0;
	margin: 0;
	object-fit: cover;
	z-index: 0;
	transform: translateZ(0);
}