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


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

body {
	background: url('../img/shared/bg.jpg') repeat center top;
	font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-size: 15px;
	line-height: 36px;
	letter-spacing: 0;
	min-width: inherit;
	min-height: inherit;
	max-height: 100%;
	color: #fff;
}


/*=============================================
 * 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-noto {
	font-family: 'Noto Serif JP', serif;
}

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

main {
	clear: both;
	width: 100%;
	position: relative;
	overflow: hidden;
}
.wrap {
	width: 1000px;
}
.font30 {
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	letter-spacing: 0.24em;
}
.font28 {
	font-family: 'Noto Serif JP', serif;
	font-size: 28px;
	letter-spacing: 0.32em;
	line-height: 56px;
}
.tac {
	text-align: center;
}
.img-sd {
	box-shadow: 0px 10px 36.75px 12.25px rgba(18, 18, 40, 0.84);
}
.rss_img img {
	max-width: 100%;
	height: auto;
}
.rss_img span {
	width: 100% !important;
	height: 0 !important;
	padding-top: 67%;
	transition: all ease .3s;
}
.rss_img span:hover {
	opacity: .8;
}
.slick-slide > div > div {
	vertical-align: top;
}
.d-flex {
	display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    justify-content: space-between;
}
@media all and (-ms-high-contrast:none) {
    p.btn a img, header .nav-fl a img {
        transition: opacity 0s ease !important;
        -moz-transition: opacity 0s ease !important;
        -webkit-transition: opacity 0s ease !important;
    }
	.btn-over img,
	.over-img img,
	img.over,
	img:not(.btn):not(.non-over),
	button img {
		opacity: 1;
		transform: translateX(0) translateZ(0);
		-moz-transform: translateX(0) translateZ(0);
		-webkit-transform: translateX(0) translateZ(0);
		transition: none;
		-moz-transition: none;
		-webkit-transition: none;
	}
}
@media screen and (max-width: 1080px) {
	.bg-parallax {
		background-attachment: inherit;
	}
}


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

header {
	position: relative;
	box-sizing: border-box;
}
header h1 {
	font-size: 13px;
	line-height: 30px;
	position: absolute;
	top: 18px;
	left: 50px;
}
header .btn-fixed {
	box-shadow: 0px 5px 13.76px 2.24px rgba(0, 0, 0, 0.24);
	position: fixed;
	top: 236px;
	right: 0;
	z-index: 9;
}
header .logo-index {
    position: absolute;
    top: 457px;
    left: 50%;
    margin-left: -288px;
    z-index: 2;
}
header .logo {
	padding-top: 87px;
	text-align: center;
	width: 200px;
	margin: auto;
	z-index: 2;
}
header .boxtel {
	font-family: 'Noto Serif JP', serif;
	width: 400px;
	text-align: center;
	position: absolute;
	right: 80px;
	top: 84px;
}
header .boxtel .tel {
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 18px;
}
header .boxtel .tel span {
	font-size: 26px;
}
header .boxtel .telnote {
	margin-bottom: 11px;
	font-size: 13px;
	letter-spacing: 0;
	line-height: 2;
}
header nav.nav-head {
	display: flex;
	justify-content: center;
	margin-top: 33px;
}
header nav.nav-head a {
	font-family: 'Noto Serif JP', serif;
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.1em;
	padding: 10px 32px;
	text-align: center;
	position: relative;
	z-index: 1;
}
header nav.nav-head a:before {
	content: "";
	border-bottom: 1px solid #936c68;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 68px;
    transition: all ease .3s;
    transform: skewY(-45deg);
    margin-left: -34px;
    opacity: 0;
    z-index: -1;
}
header nav.nav-head a span {
	font-size: 13px;
}
header nav.nav-head a:hover {
	text-decoration: none;
}
header nav.nav-head a:hover:before,
header nav.nav-head a.active:before {
    opacity: 1;
}
header .nav-top {
	font-family: 'Noto Serif JP', serif;
	display: flex;
	align-items: center;
	letter-spacing: 0.1em;
	position: absolute;
	top: 11px;
	right: 53px;
}
header .nav-top li:before {
	content: "|";
}
header .nav-top li.icon a {
	margin-left: 10px;
}
header .nav-top li span {
	padding: 0 21px;
}

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

.nav-fixed {
	background: url('../img/shared/bg-nav.png') repeat center top;
	font-family: 'Noto Serif JP', serif;
	position: fixed;
	height: 80px;
	z-index: 999;
	left: 0;
	right: 0;
	top: -80px;
	opacity: 0;
	transition: all ease .3s;
}
.nav-fixed.fixed {
	top: 0;
	opacity: 1;
}
.nav-fixed .wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}
.nav-fixed nav {
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 520px;
	height: 80px;
}
.nav-fixed nav a {
	font-size: 16px;
	line-height: 20px;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
}
.nav-fixed nav a span {
	font-size: 13px;
	color: #ebd6d2;
}
.nav-fixed nav a:after {
	content: "";
	position: absolute;
	bottom: -12px;
	left: 0;
	right: 0;
	transition: all ease .3s;
	border-bottom: 1px solid #fff;
	opacity: 0;
}
.nav-fixed nav a:hover {
	text-decoration: none;
}
.nav-fixed nav a:hover:after,
.nav-fixed nav a.active:after {
	bottom: -7px;
	opacity: 1;
}
.nav-fixed ul {
	height: 50px;
	display: flex;
	align-items: center;
	border-left: 1px solid #e6ccc5;
	padding: 0 12px 0 10px;
	margin-left: 15px;
}
.nav-fixed ul li {
	display: inline-block;
}
.nav-fixed ul li:after {
	content: "|";
	padding: 7px;
	padding-right: 5px;
}
.nav-fixed ul li:last-child:after {
	display: none;
}
.nav-fixed .btnfix {
	font-size: 15px;
	line-height: 16px;
	text-align: center;
}
.nav-fixed .btnfix a {
	transition: all ease .3s;
	background-color: #376f71;
	text-decoration: none;
	display: block;
	padding: 9px 0;
	width: 120px;
}
.nav-fixed .btnfix a:hover {
	opacity: 0.8;
}
.nav-fixed .telfix {
	line-height: 18px;
	letter-spacing: 0.05em;
	margin-left: 10px;
	text-align: center;
	font-size: 14px;
}
.nav-fixed .telfix span {
	font-size: 18px;
}

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

#key {
	background-color: #000;
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	min-height: 700px;
	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;
}

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

footer {
	background-color: #9f756e;
	box-sizing: border-box;
	padding-top: 81px;
	letter-spacing: 0.1em;
}
footer .col-left {
	width: 350px;
}
footer .col-right {
	padding-top: 14px;
	width: 600px;
}
footer .col-right dl {
	padding: 9px 0;
	line-height: 18px;
}
footer .col-right dl:after {
	content: "." !important;
    clear: both !important;
    display: block !important;
    height: 0 !important;
    visibility: hidden !important;
}
footer .col-right dl dt {
	width: 136px;
	float: left;
}
footer .col-right dl dd {
	width: 454px;
	float: right;
}
footer .logo {
	margin-left: 13px;
}
footer .icon {
	margin: 1px 0 9px;
	text-align: center;
	max-width: 341px;
}
footer .icon a {
	padding: 0 4px;
}
footer .telf {
	padding: 0 4px;
}
footer .telf {
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 23px;
}
footer .telf span {
	font-size: 26px;
}
footer .telnote {
	margin-top: 6px;
	font-size: 13px;
	letter-spacing: 0;
	line-height: 2;
}
footer nav > a {
	padding-left: 0;
}
footer nav > a:before {
	padding-right: 0;
}
footer nav > a:hover {
	text-decoration: none;
}
footer nav > a span {
	padding: 0 19px;
}
footer nav > a:hover span,
footer nav > a.active span {
	text-decoration: underline;
}
footer .footerTop {
	display: flex;
	align-items: center;
	margin-top: 2px;
}
footer .footerTop .nav-top {
	margin-left: 33px;
	float: left;
	display: flex;
}
footer .footerTop .nav-top:after {
	content: "|";
	vertical-align: middle;
}
footer .footerTop .nav-top li:before {
	content: "|";
	vertical-align: middle;
}
footer .footerTop .nav-top li span {
	padding: 0 20px;
}
footer .footerMiddle {
	margin: 41px 0 53px;
	text-align: center;
}
footer .footerMiddle ul {
	margin-top: 23px;
	display: flex;
	justify-content: center;
}
footer .footerMiddle ul li {
	position: relative;
	margin: 0 46px;
}
footer .footerMiddle ul li + li:before {
	content: url('../img/shared/linef.png');
	position: absolute;
	top: 0;
	left: -68px;
}
footer .footerBottom {
	background-color: #8c5e56;
	padding: 22px 0 28px;
	text-align: center;
}
footer .footerBottom .cookies_link {
	margin-top: 7px;
}


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

footer .socialbuttons {
	float: right;
}
footer .cookies_link a {
	text-decoration: underline;
	color: #debcb6;
}
footer .cookies_link a:hover {
	text-decoration: none;
}
address {
	float: right;
	margin-right: 52px;
	margin-left: 12px;
}
.slider-nav .slick-track {
	transform: none !important;
}

@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
.fadeIn {
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}
@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100px, 0);
		transform: translate3d(0, 100px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 100px, 0);
		transform: translate3d(0, 100px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.fadeInUp {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
}
.animated {
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
.animated.infinite {
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
}
@media (prefers-reduced-motion) {
	.animated {
		-webkit-animation: unset !important;
		animation: unset !important;
		-webkit-transition: none !important;
		transition: none !important;
	}
}