@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@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%;
}
@media all and (min-width: 897px) and (max-width: 1450px) {
	html {
		font-size: 50%;
	}
} */

html {
	font-size: 10px;
}

body {
	font-size: 1.6rem;
}




@media screen and (max-width: 1750px) {
	html {
		font-size: calc(100vw / 1750 * 10);
	}
}


@media screen and (max-width: 1366px) {
	html {
		font-size: calc(100vw / 1366 * 10);
	}
}

/* @media screen and (max-width: 1024px) {
	html {
		font-size: calc(100vw / 1024 * 10);
	}
} */

@media screen and (max-width: 896px) {
	html {
		font-size: max(10px, calc(100vw / 896 * 10));
	}
}

@media screen and (max-width: 375px) {
	html {
		font-size: calc(100vw / 375 * 10);
	}
}

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,
a:link {
	color: #573001;
	text-decoration: none;
}



a:visited {
	color: #573001;
}

a:hover {
	color: #573001;
}

a:active {
	color: #573001;
}

a,
a img {
	-webkit-transition: .3s;
	transition: .3s;
}

/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
	color: #573001;
	font-size: 1.7rem;
	line-height: 1.5;
	text-size-adjust: none;
	-webkit-text-size-adjust: none;
	background: url(../../img/common/bg.jpg) repeat-y left top;
	background-size: 100% auto;
}

#container {
	text-align: left;
	overflow: hidden;
}

#main {
	margin-bottom: 27.2rem;
}

a[href^="tel:"] {
	cursor: default;
	pointer-events: none;
}

@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
}

@media all and (max-width: 896px) {
	body {
		min-width: inherit;
		font-size: 1.2rem;
	}

	a:hover,
	a:hover img {
		opacity: 1 !important;
	}

	.pc {
		display: none !important;
	}

	a[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
	}

	#main {
		margin-bottom: 10.7rem;
	}

	body.fixed {
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
	}
}

/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	margin-top: -.4rem;
	padding-right: 3.7rem;
	width: 31.4rem;
	text-align: center;
	box-sizing: border-box;
}

#gHeader .logo {
	margin-bottom: 4.1rem;
}

#gHeader .logo_add {
	font-weight: bold;
	font-size: small;
	color: #573001;
	margin-bottom: 3rem;
	display: block;
}

@media all and (min-width: 897px) and (max-width: 1450px) {
	#gHeader {
		padding-right: 2rem;
		width: 26rem;
		padding-left: 2rem;
	}

	/* 1400 */
	#gHeader {
		padding-right: 2rem;
		width: 32rem;
		padding-left: 2rem;
	}

	#gHeader .logo img {
		width: 17rem;
	}
}

@media all and (min-width: 897px) and (max-width: 1200px) {
	#gHeader .logo img {
		width: 14.8rem;
	}

	#gHeader {
		padding-right: 1rem;
		width: 22rem;
	}

	/* 1400 */
	#gHeader {
		width: 30rem;
	}

	#gHeader .logo {
		margin-bottom: 2.5rem;
	}
}

@media all and (max-width: 896px) {
	#gHeader {
		margin-bottom: 4rem;
		padding: 1.7rem 2.6rem;
		margin-top: 0;
		width: auto;
		text-align: left;
		position: relative;
	}

	#gHeader .logo {
		margin-bottom: 1rem;
		width: 10.4rem;
	}


	#gHeader .menu {
		width: 4.1rem;
		position: absolute;
		top: 2.1rem;
		right: 2.6rem;
		cursor: pointer;
	}

}

/*------------------------------------------------------------
	naviUl
------------------------------------------------------------*/
.naviUl li {
	margin-bottom: 4.6rem;
}

.naviUl li:nth-child(2) {
	margin-bottom: 4.3rem;
}

.naviUl li:nth-child(3) {
	margin-bottom: 3.9rem;
}

.naviUl li:nth-child(4) {
	margin-bottom: 3.9rem;
}

.naviUl li:nth-child(5) {
	margin-bottom: 4rem;
}

.naviUl li:last-child {
	margin-bottom: 0;
}

.naviUl a {
	font-weight: bold;
	display: inline-block;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.1em;
}

.naviUl .txt {
	margin-top: .4rem;
	display: block;
}

.naviUl .txt span {
	margin-top: .7rem;
	color: #EC9F16;
	display: block;
	font-size: 1.2rem;
	font-family: 'Roboto', sans-serif;
	letter-spacing: 0.08em;
}

@media all and (min-width: 897px) and (max-width: 1450px) {
	.naviUl a img {
		width: 4rem;
	}

	.naviUl .txt span {
		font-size: 1.1rem;
	}

	.naviUl li {
		margin-bottom: 2.8rem !important;
	}

	.naviUl li:last-child {
		margin-bottom: 0 !important;
	}
}

@media all and (min-width: 897px) and (max-width: 1200px) {
	.naviUl a {
		font-size: 1.6rem;
	}

	.naviUl li {
		margin-bottom: 2rem !important;
	}

	.naviUl li:last-child {
		margin-bottom: 0 !important;
	}
}

@media all and (min-width: 897px) {
	.naviUl a:hover {
		opacity: 0.7;
	}
}

@media all and (max-width: 896px) {
	.naviUl a img {
		width: 4rem;
	}

	.naviUl a {
		padding-bottom: 1.4rem;
		font-size: 1.5rem;
		display: block;
	}

	.naviUl .txt span {
		margin-top: .8rem;
		font-size: 1rem;
	}

	.naviUl li {
		margin-bottom: 2.4rem !important;
	}

	.naviUl li:last-child {
		margin-bottom: 0;
	}
}


/* menuBox */
@media all and (min-width: 897px) {
	.menuBox {
		display: none !important;
	}
}

.menuBox {
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	left: 0;
	overflow-y: auto;
	z-index: 10000;
	background: url(../../img/common/menu_bg.jpg) no-repeat center center;
	background-size: cover;
	text-align: center;
	display: none;
}

.menuBox .innerBox {
	padding: 9.9rem 4rem;
	position: relative;
}

.menuBox .close {
	position: absolute;
	top: 2.1rem;
	right: 2.6rem;
	cursor: pointer;
}

.menuBox .naviUl li {
	border-bottom: .1rem dashed #573001;
}

.menuBox .naviUl li:last-child {
	border-bottom: none;
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	padding: 5rem 0 5.2rem;
	text-align: center;
	position: relative;
}

#gFooter .bg {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../../img/common/footer_bg02.jpg) repeat left top;
}

#gFooter .bg::before {
	width: 100%;
	height: 28rem;
	position: absolute;
	bottom: calc(100% - 9.9rem);
	left: 0;
	background: url(../../img/common/footer_bg01.png) no-repeat center center;
	background-size: 100% 100%;
	content: "";
}

#gFooter .iconImg {
	margin-left: -2%;
	width: 63%;
	max-width: 120rem;
	bottom: calc(100% + 1.9rem);
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}

#gFooter .fBox {
	padding-left: 2.1rem;
	position: relative;
	z-index: 10;
}

#gFooter .copyright {
	font-size: 1rem;
	font-style: inherit;
	letter-spacing: 0.1em;
}

#gFooter .pageTop {
	position: fixed;
	bottom: 9.4rem;
	right: 2rem;
	display: none;
	z-index: 100;
}

#gFooter .pageTop.on {
	position: absolute;
	bottom: calc(100% + 6.4rem);
}

#gFooter .pageTop a {
	display: inline-block;
}

#gFooter .fLogo {
	margin: -6.5rem 0 6.4rem;
}

@media all and (min-width: 897px) and (max-width: 1200px) {
	#gFooter .fLogo img {
		width: 18rem;
	}
}

@media all and (min-width: 897px) {
	#gFooter .pageTop a:hover {
		opacity: 0.7;
	}
}

@media all and (max-width: 896px) {
	#gFooter .pageTop {
		width: 7rem;
		right: 1rem;
		bottom: 2rem;
	}

	#gFooter .bg::before {
		height: 14rem;
		bottom: calc(100% - 5.1rem);
	}

	#gFooter .iconImg {
		margin-left: 2%;
		width: 79.7%;
		max-width: 40rem;
		bottom: calc(100% + .6rem);
	}

	#gFooter .fLogo {
		margin: -5.5rem 0 3.4rem;
	}

	#gFooter .fLogo img {
		width: 13rem;
	}

	#gFooter {
		padding-bottom: 2.9rem;
	}

	#gFooter .fBox {
		padding-left: 0;
	}

	#gFooter .pageTop {
		bottom: 6rem;
	}

	#gFooter .pageTop.on {
		bottom: calc(100% + 6rem);
	}
}

@media all and (max-width: 374px) {
	#gFooter .copyright {
		letter-spacing: 0;
		font-size: 0.9rem;
	}
}