@charset "utf-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* COMMON
---------------------------------------------- */
html {
	font-size: 62.5%;
}
body {
	background: #fff;
	color: #000;
	font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 1.95;
	position: relative;
}
body, h1, h2, h3, ul, dl, p {
	margin: 0;
	padding: 0;
}
ul {
	list-style: none;
}
a, a:link, a:hover, a:visited {
	color: #000;
	text-decoration: none;
	transition: opacity .4s ease-out;
}
a.link_txt:hover {
	text-decoration: underline;
}
a:hover {
	opacity: .7;
}
img, iframe {
	vertical-align: bottom;
}


.pc__only,
.tab__only,
.tab2__only {
	display: none;
}
.sp__only {
	display: block;
}

.txt-center {
	text-align: center;
}

.txt-left {
	text-align: left;
}

.txt-right {
	text-align: right;
}

.hide {
	display: none;
}

.blck {
	display: block;
}

.in-blck {
	display: inline-block;
}

img {
	max-width: 100%;
	height: auto;
}

.img-responsive {
	width: 100%;
	height: auto;
}

.bg01 {
	background: #edebe4 url(../images/common/bg01.jpg) repeat 0 0;
}

.bg02 {
	background: #edebe4 url(../images/common/bg02.jpg) repeat 0 0;
}

.f_mincho {
	font-family: "游明朝", "Yu Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",  "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "serif";
	letter-spacing: .05em;
}

.font_xl {
	font-size: 18px;
}

.font_l {
	font-size: 16px;
}

.font_s {
	font-size: 12px;
}

.mt0 {
	margin-top: 0 !important;
}

.mt10 {
	margin-top: 10px !important;
}

.mt20 {
	margin-top: 20px !important;
}

.mt30 {
	margin-top: 30px !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10px !important;
}

.mb20 {
	margin-bottom: 20px !important;
}

.mb30 {
	margin-bottom: 30px !important;
}

.pt0 {
	padding-top: 0 !important;
}

.pb0 {
	padding-bottom: 0 !important;
}

.inner {
	position: relative;
	margin: 0 auto;
	padding: 0 15px;
	max-width: 1060px;
}

/* -------------------------------
  HEADER
----------------------------------*/
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #fff;
	z-index: 20;
}

header .inner {
	padding: 0 15px;
}

header .header_inner {
	background: url(../images/common/header_bg1.png) no-repeat 0 0,
		    url(../images/common/header_bg2.png) no-repeat right 0;
}

header .header_inner .inner {
	margin: 0 auto;
	padding: 0;
	height: 50px;
}

header .catch {
	display: none;
}

header .catch span {
	position: absolute;
	top: 7px;
	margin-left: 4px;
	letter-spacing: .5px;
	font-size: 12px;
	font-weight: normal;
}

header .logo,
header .frame {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	align-content: center;
	flex-direction: column;
	justify-content: center;
}

header .logo {
	padding: 0 0 0 10px;
	max-width: 184px;
	width: auto;
	height: 50px;
}

header .logo a {
	display: block;
}

header .inqBox {
	line-height: 1.4;
	display: none;
}

header .inqBox .telFrame {
	flex: 1 1 auto;
	padding: 0 10px 0 0;
	text-justify: auto;
	color: #000000;
	text-align: center;
	white-space: nowrap;
}

header .inqBox .telFrame p {
	color: #14a800;
	font-size: 1.08rem;
}

header .inqBox .telFrame .tel {
	padding: 0 0 0 38px;
	line-height: 1;
	font-family: "メイリオ", "Meiryo", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", sans-serif;
	font-size: 23px;
	font-size: 2.3rem;
	background: url(../images/common/ico_freedial.png) no-repeat 0 center;
	background-size: 100% auto;
	letter-spacing: 1px;
}

header .inqBox .btnFrame .btn_inquiry {
	position: relative;
	padding: 3.5% 10px;
	line-height: 1.48;
	border-radius: 4px;
	font-size: 12px;
	font-size: 1.2rem;
	font-weight: 500;
	box-shadow: inset 0 0 4px rgba(0,0,0, .35);
	background: #faf8f6;
	color: #000;
	transition: color .4s ease-out;
	white-space: nowrap;
}

header .inqBox .btnFrame .btn_inquiry span {
	display: inline-block;
	margin: 0 auto;
	text-align: left;
}

header .inqBox .btnFrame .btn_inquiry:hover {
	opacity: 1;
	color: #7b7b7b;
}

.sp__tel {
	width: auto;
	position: absolute;
	top: 0;
	right: 42px;
}

.sp__tel a {
	display: block;
	position: relative;
	margin: 10px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: #000;
}

.sp__tel .btn_tel .ico {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -10px 0 0 -10px;
	width: 20px;
	height: 20px;
	fill: #fff;
}

/* sp-header */
.sp__header {
	display: flex;
	position: fixed;
	right: 0;
	top: 0;
	width: auto;
	z-index: 20;
}
.sp__header p {
	margin: 0;
	padding: 12px;
	position: relative;
	z-index: 20;
}

.nav-button {
	border: none;
	background: none;
	overflow: visible;
	position: relative;
	width: 24px;
	height: 21px;
	vertical-align: bottom;
}

.nav-button, .nav-button span {
	display: block;
	transition: all 0.4s;
}
.nav-button span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #000;
	border-radius: 2px;
}
.nav-button span:nth-of-type(1) {
	top: 0;
}
.nav-button span:nth-of-type(2) {
	top: 9px;
}
.nav-button span:nth-of-type(3) {
	bottom: 0;
}
.nav-button.active span:nth-of-type(1) {
	-webkit-transform: translateX(0) translateY(9px) rotate(-45deg);
	transform: translateX(0) translateY(9px) rotate(-45deg);
}
.nav-button.active span:nth-of-type(2) {
	opacity: 0;
}
.nav-button.active span:nth-of-type(3) {
	-webkit-transform: translateX(0) translateY(-9px) rotate(45deg);
	transform: translateX(0) translateY(-9px) rotate(45deg);
}

/* -------------------------------
  GNAVI
----------------------------------*/
.gnav {
	overflow:hidden;
	position: fixed;
	top: 50px;
	left: 0;
	max-height: 0;
	width: 100%;
	height: auto;
	background: #ae9f6f;
	background: -moz-linear-gradient(top,  #ae9f6f 0%, #a6976a 50%, #ae9f6f 100%);
	background: -webkit-linear-gradient(top,  #ae9f6f 0%,#a6976a 50%,#ae9f6f 100%);
	background: linear-gradient(to bottom,  #ae9f6f 0%,#a6976a 50%,#ae9f6f 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ae9f6f', endColorstr='#ae9f6f',GradientType=0 );
	border-bottom: 1px solid rgba(255, 255, 255, .1);
	transition: all .3s ease-out;
	z-index: 10;
}

.gnav.open {
	max-height: 100vh;
}

.g__navi {
	padding: 0 15px;
	max-width: 1000px;
	height: 100%;
	position: relative;
	overflow-x: hidden;
	overflow-y: auto;
}

.g__navi li a {
	display: block;
	position: relative;
	padding: 15px 15px 15px 5px;
	font-size: 1.3rem;
	font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
	text-decoration: none;
	text-align: left;
	text-shadow: 0 1px 2px rgba(0,0,0,0.25);
}

.g__navi li:last-child a {
	border-bottom: 0;
}

.g__navi li a:after {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	top: 50%;
	margin: -6px 0 0;
	width: 6px;
	height: 6px;
	border-top: 2px solid rgba(255, 255, 255, .5);
	border-right: 2px solid rgba(255, 255, 255, .5);
	transform: rotate(45deg);
}


/* -------------------------------
  FOOTER
----------------------------------*/
footer {
	border-top: 4px solid #d36800;
}

footer .fnavFrame {
	padding: 20px 0 25px;
	font-size: 1.3rem;
}

footer .fnavFrame .fnav {
	margin: 0 auto;
	padding: 0 10px;
	width: auto;
	max-width: 360px;
	border: 0;
}

footer .fnavFrame .fnav_sub {
	display: none;
}

footer a, footer a:link {
	color: #000;
}

footer a:hover {
	opacity: 1;
	text-decoration: underline;
}

footer .head {
	margin: 0 0 1.8em;
}

footer li,
footer .head {
	display: block;
}

footer dt {
	font-weight: normal;
}

footer dd {
	margin: 1.8em 0;
	padding-left: 1em;
	font-size: 1.2rem;
	text-indent: -1em;
}

footer .fnavFrame .fnav li {
	margin: 0;
	padding: 0;
}

footer .fnavFrame .fnav li a {
	display: block;
	padding: 5px 0;
}

footer .copy {
	padding: 10px 0;
	font-size: 1.3rem;
	line-height: 1;
	background: #d36800;
	color: #fff;
	text-align: center;
}


/* -------------------------------
  BREAD CLUMB
----------------------------------*/
.breadClumb {
	padding-top: 15px;
	padding-bottom: 20px;
}

.breadClumb li {
	float: left;
	margin: 0 5px 0 0;
	font-size: 1.1rem;
}


/* -------------------------------
  MAIN
----------------------------------*/
main {
	display: block;
	margin-top: 50px;
}

/* -------------------------------
  SECTION
----------------------------------*/
.section {
	padding: 10% 0;
}

/* -------------------------------
  TITLE
----------------------------------*/
.ttl {
	position: relative;
	font-size: 2.2rem;
	font-weight: 600;
	line-height: 1;
	margin: 0 auto 30px;
	font-family: "游明朝", "Yu Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",  "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "serif";
	letter-spacing: .05em;
	text-align: center;
	z-index: 1;
}

.ttl.font_s {
	font-size: 2.2rem;
}

.section > .ttl {
	max-width: 1000px;
}

.section > .ttl:before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	margin: -5px 0 0;
	height: 10px;
	background: rgba(185, 186, 181, .15);
	z-index: -1;
}

.ttl_s {
	font-size: 1.8rem;
	font-weight: 600;
	margin: 20px 0 15px;
	padding: 5px 15px;
	font-weight: 600;
	line-height: 1;
	font-family: "游明朝", "Yu Mincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro",  "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "serif";
	letter-spacing: .05em;
	background: #333;
	color: #fff;
	text-align: center;
}

/* -------------------------------
  BUTTON
----------------------------------*/
.btn {
	display: block;
	padding: 16px 10px;
	line-height: 1.3;
	border-radius: 5px;
	text-align: center;
}



/* ============================================================================
  ***** SP (MORE THAN 641px) *****
============================================================================ */
@media screen and (min-width: 641px) {
	body {
		font-size: 1.6rem;
	}

	.sp__only {
		display: none;
	}

	.tab2__only {
		display: block;
	}

	.inner {
		padding: 0 30px;
		width: auto;
	}

	/* -------------------------------
	  HEADER 
	----------------------------------*/
	header,
	header .header_inner .inner {
		height: 72px;
	}

	header .header_inner .inner {
		padding: 0 15px;
		height: 72px;
	}

	header .catch {
		display: block;
	}

	header .catch span {
		top: 5px;
		margin-left: 4px;
		letter-spacing: .5px;
		font-size: 1.1rem;
	}

	header .logo {
		padding: 20px 0 0;
		width: 45%;
		height: auto;
		max-width: 288px;
		align-items: flex-start !important;
	}

	header .frame {
		margin: 0 0 0 10px;
		padding: 15px 0 0;
		max-width: 380px;
	}

	header .inqBox {
		display: block;
	}

	header .inqBox .telFrame p {
		font-size: 1.08rem;
	}

	header .inqBox .telFrame .tel {
		font-size: 2.3rem;
		letter-spacing: 0;
		padding: 0 0 0 38px;
		background-size: 30px auto;

	}

	header .inqBox .btnFrame .btn_inquiry {
		padding: 3.5% 10px;
		font-size: 1.2rem;
		line-height: 1.2;
	}


	/* -------------------------------
	  GNAVI 
	----------------------------------*/
	.gnav {
		position: relative;
		top: auto;
		overflow:hidden;
		max-height: 100%;
		background: #ae9f6f;
		background: -moz-linear-gradient(top,  #ae9f6f 0%, #a6976a 50%, #ae9f6f 100%);
		background: -webkit-linear-gradient(top,  #ae9f6f 0%,#a6976a 50%,#ae9f6f 100%);
		background: linear-gradient(to bottom,  #ae9f6f 0%,#a6976a 50%,#ae9f6f 100%);
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ae9f6f', endColorstr='#ae9f6f',GradientType=0 );
		border-bottom: 1px solid rgba(255, 255, 255, .1);
	}

	.g__navi {
		padding: 0 10px;
		max-width: 1000px;
	}
	.g__navi ul {
		overflow: hidden;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		  justify-content: space-between;
		height: 38px;
		transition: height .2s ease-out;
	}

	.g__navi li {
		flex: 1 1 auto;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		align-items: center;
		align-content: center;
		flex-direction: column;
		justify-content: center;
	}

	.g__navi li a {
		position: relative;
		display: block;
		padding: 0;
		font-size: 1.4rem;
		font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "メイリオ", "Meiryo", sans-serif;
		border: 0;
		color: #fff;
		text-align: center;
		text-shadow: 0 1px 2px rgba(0,0,0,0.25);
	}

	.g__navi li a:before {
		content: "";
		display: block;
		position: absolute;
		bottom: -2px;
		left: 50%;
		width: 0;
		height: 4px;
		background: #fff;
		opacity: .4;
		transform: translateX(-50%);
		transition: width .3s ease-out;
	}

	.g__navi li a:hover {
		opacity: 1;
	}

	.g__navi li a:hover:before,
	.g__navi li.current a:before {
		width: 100%;
	}

	.g__navi li.current a:before {
		opacity: 1;
	}

	.g__navi li a:after {
		display: none;
	}

	/* -------------------------------
	  FOOTER 
	----------------------------------*/
	footer {
		border-top: 4px solid #d36800;
	}

	footer .fnavFrame {
		padding: 7.5% 0 4.5%;
		font-size: 1.3rem;
	}

	footer .fnavFrame .fnav {
		padding: 0 15px;
		font-size: 1.2rem;
		border-right: 1px solid #d1d1d1;
		border-left: 1px solid #ddd;
	}

	footer .fnavFrame .fnav_main {
		border-left: 0;
		width: 33.33%;
	}

	footer .fnavFrame .fnav_sub {
		display: block;
		flex: 1 1 auto;
	}

	footer .fnavFrame .fnav_sub .fnav {
		width: 50%;
	}

	footer .fnavFrame .fnav_sub .fnav:last-child {
		border-right: 0;
	}

	footer .head {
		margin: 0 0 2.3em;
	}

	footer dd {
		margin: 2.3em 0;
	}

	footer .copy {
		font-size: 1.4rem;
	}

	/* -------------------------------
	  MAIN
	----------------------------------*/
	main {
		margin-top: 110px;
	}

	/* -------------------------------
	  BREAD CLUMB
	----------------------------------*/
	.breadClumb {
		padding-top: 25px;
		padding-bottom: 40px;
	}

	.breadClumb li {
		margin: 0 10px 0 0;
		font-size: 1.6rem;
	}

	.breadClumb a {
		padding: 0 5px 0 0;
	}

	/* -------------------------------
	  SECTION
	----------------------------------*/
	.section {
		padding: 5.83% 0;
	}

	/* -------------------------------
	  TITLE
	----------------------------------*/
	.ttl {
		font-size: 4.0rem;
		margin-bottom: 5.83vw;
	}

	.ttl.font_s {
		font-size: 3.0rem;
	}

	.section > .ttl:before {
		margin: -8px 0 0;
		height: 16px;
	}

	.ttl_s {
		font-size: 3.0rem;
		margin: 20px 0;
	}


	/* ***** FLEX BOX ***** */
	.colWrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
	}

	.colWrap.rtl {
		flex-direction: row-reverse;
	}

	.colWrap.wrap {
		flex-wrap: wrap;
	}

	.colWrap.mdl > *,
	.colWrap > .mdl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
	}

	.colWrap.btm > *,
	.colWrap > .btm {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: flex-end;
		align-content: flex-end;
	}

	.colWrap.col2 > * {
		width: 50%;
	}

	.colWrap.col3 > * {
		width: calc(33.3% - 12px);
	}

	.colWrap.boxAlign-left {
		justify-content: flex-start;
	}

	/* ***** LINK ***** */
	.link_tel {
		pointer-events: none;
	}
	.link_mail {
		pointer-events: none;
	}
	
}

/* ============================================================================
  ***** TABLET (MORE THAN 768px) *****
============================================================================ */
@media screen and (min-width: 768px) {
	.tab2__only {
		display: none;
	}

	.tab__only {
		display: block;
	}
}

/* ============================================================================
  ***** TABLET (MORE THAN 992px) *****
============================================================================ */
@media screen and (min-width: 992px) {
	.tab__only {
		display: none;
	}

	.pc__only {
		display: block;
	}

	/* -------------------------------
	  HEADER
	----------------------------------*/
	header .catch span {
		top: 7px;
		font-size: 12px;
	}

	header .frame {
		max-width: calc(400px + 4%);
		padding: 0 4% 0 0;
	}

	header .inqBox .telFrame p {
		margin: 0 0 3px;
		font-size: 12px;
		font-size: 1.2rem;
	}

	header .inqBox .telFrame .tel {
		font-size: 2.4rem;
		letter-spacing: 1px;
		padding: 0 0 0 44px;
	}

	header .inqBox .btnFrame .btn_inquiry {
		padding: 9px 11.5px 7px;
	}

	/* -------------------------------
	  FOOTER
	----------------------------------*/
	footer .fnavFrame .fnav_main {
		width: 40%;
	}

	footer .fnavFrame .fnav {
		padding: 0 20px;
		font-size: 1.3rem;
		line-height: inherit;
	}

	footer li,
	footer .head {
		margin: 0 0 2.3em;
	}

	footer dd {
		margin: 2.3em 0;
	}
}


/* ============================================================================
  ***** PC (MORE THAN 1201px) *****
============================================================================ */
@media screen and (min-width: 1201px) {
	.section {
		padding: 70px 0;
	}

	.ttl {
		margin-bottom: 70px;
	}

	footer .fnavFrame {
		padding: 90px 0 50px;
	}
}


/* ============================================================================
  ***** SP ONLY (LESS THAN 640px) *****
============================================================================ */
@media (max-width: 640px) {
	.sp-colWrap {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		justify-content: space-between;
	}

	.sp-colWrap.rtl,
	.sp-colWrap.sp-rtl {
		flex-direction: row-reverse;
	}

	.sp-colWrap.wrap,
	.sp-colWrap.sp-wrap {
		flex-wrap: wrap;
	}

	.sp-colWrap.mdl > * ,
	.sp-colWrap.sp-mdl > * ,
	.sp-colWrap > .mdl,
	.sp-colWrap.sp-mdl{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		align-content: center;
	}

	.sp-colWrap.col2 > *,
	.sp-colWrap.sp-col2 > * {
		width: 50%;
	}

	.sp-txt-center {
		text-align: center;
	}

	.sp-txt-left {
		text-align: left;
	}

	.sp-txt-right {
		text-align: right;
	}

	.sp-blck {
		display: block;
	}

	.sp-in-blck {
		display: inline-block;
	}
}

/* for IE10*/
@media all and (-ms-high-contrast:none){
	.ttl_s {
		padding: 8px 20px 2px;
		line-height: 1.15;
	}
}
 
/* for IE11*/
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .ttl_s {
		padding: 8px 20px 2px;
		line-height: 1.15;
	}
}
