html {
		scroll-behavior: smooth;
}
/*-----------------------------------------------------
	body
----------------------------------------------------**/
body {
		font-size: 16px;
		line-height: 1.8;
		color: #222222;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}
img {
		vertical-align: bottom;
}
a {
		color: #222222;
		border-bottom: #222222 dashed 1px;
		text-decoration: none;
		position: relative;
}
a:hover {
		color: #000000;
		border: none;
}
/*toggle*/
.sp {
		display: none;
}
.pc {
		display: block;
}
img{
	max-width: 100%;
	height: auto;
}
/*-----------------------------------------------------
 section
----------------------------------------------------**/
.sectionBoxWrap.bg {
		background: #fbfbfb
}
.sectionBox {
		width: 1270px;
		margin: 0 auto;
		min-width: 1270px;
		padding: 100px 0;
		position: relative;
}
.sectionBox .contentTtl {
		font-family: "braisetto", script;
		font-weight: 400;
		font-style: normal;
		font-size: 60px;
		text-align: center;
		margin: 0 0 40px 0;
}
.sectionBox .contentTtl span {
		font-size: 14px;
		display: block;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		margin: -20px 0 0
}
/*-----------------------------------------------------
	parallax
----------------------------------------------------**/
.parallax {
		background: no-repeat center center / cover;
		background-attachment: fixed;
		width: 100%;
		height: 100%;
}
.parallax.aBlock {
		background-image: url("../images/bg_parallax.jpg");
		height: 350px;
}
/*-----------------------------------------------------
	header
----------------------------------------------------**/
header .parallax.visual {
		width: auto;
		height: 100vh;
		position: relative;
}
header .topLogo {
		position: absolute;
		left: 50%;
		top: 50%;
		z-index: 100;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
}
header .topLogo img {
		width: 400px;
		height: auto;
		filter: drop-shadow(5px 5px 5px #666);
}
#header .sectionBox {
		position: relative;
		padding: 0;
}
#header {
		width: 100%;
		padding: 10px 0;
}
#header #logo {
		display: none;
}
#header #gNav ul {
		display: flex;
		list-style: none;
		float: right;
		color: #ffffff;
		line-height: 80px;
}
#header #gNav ul li {
		padding: 0 10px;
}
#header a {
		color: #ffffff;
		border: none;
		text-shadow: 5px 5px 5px #666;
}
#header #gNav ul li img {
		width: 28px;
		filter: drop-shadow(5px 5px 5px #666);
		vertical-align: text-bottom;
}
#header #gNav ul li span.b {
		display: none;
}
#header #gNav ul li span.w {
		display: block;
}
/**/ /**/ /**/ /**/ /**/ /**/
header .parallax.subVisual {
		width: auto;
		height: 30vh;
	background-image: url("../images/bg_parallax02.jpg");
}
header .subVisual .topLogo {
		display: none;
}
header .subVisual #header #logo {
		display: block;
		width: 250px;
		float: left;
}
header .subVisual #header #logo .w {
		display: block;
}
header .subVisual #header #logo .b {
		display: none;
}
header .subVisual #header #logo .w img {
		filter: drop-shadow(5px 5px 5px #666);
}
/**/ /**/ /**/ /**/ /**/ /**/
#header.fixed {
		background: rgba(255, 255, 255, 0.95);
		position: fixed;
		z-index: 10000;
}
#header.fixed #logo {
		display: block;
		width: 250px;
		float: left;
}
#header.fixed #gNav a {
		color: #222222;
		text-shadow: 5px 5px 5px #cccccc;
}
#header.fixed #gNav ul li img {
		filter: drop-shadow(5px 5px 5px #cccccc);
}
#header.fixed #gNav ul li span.b, #header #gNav.panelactive ul li span.b, #header.fixed #logo span.b {
		display: block;
}
#header.fixed #gNav ul li span.w, #header #gNav.panelactive ul li span.w, #header.fixed #logo span.w {
		display: none;
}
#header.fixed #logo span.b img {
		filter: drop-shadow(5px 5px 5px #cccccc);
}
/*-----------------------------------------------------
 about
----------------------------------------------------**/
#about .contentTtl {
		text-align: left;
		margin: 0;
}
#about .aboutTxtArea {
		padding: 0 0 0 800px;
		min-height: 770px;
}
#about .aboutTxtArea .copy {
		font-family: "hiragino-mincho-pron", sans-serif;
		font-weight: 300;
		font-style: normal;
		font-size: 20px;
		margin: 0 0 70px 0;
		position: relative;
}
#about .aboutTxtArea .copy::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: -35px;
		width: 300px;
		height: 1px;
		background-color: #4d4d4d;
}
#about .aboutTxtArea .aboutTxt p {
		margin: 0 0 1em 0;
}
#about .ph01 {
		position: absolute;
		top: 100px;
		left: 0;
}
#about .ph02 {
		position: absolute;
		top: 545px;
		left: 185px;
}
#about .ph03 {
		position: absolute;
		top: 545px;
		left: 482px;
}
/*-----------------------------------------------------
 news
----------------------------------------------------**/
#news .contentTtl {
		border: #222222 solid 1px;
		border-radius: 50%;
		position: absolute;
		width: 195px;
		height: 195px;
		line-height: 195px;
}
#news .contentTtl span {
		line-height: 0;
		margin: -60px 0 0
}
#news .newsBox {
		margin: -1px 0 0 250px;
		padding: 20px 0;
		display: flex;
		border-bottom: #222222 solid 1px;
		border-top: #222222 solid 1px;
}
#news .newsBox dt.ctgry {
		width: 100px;
		text-align: center;
}
#news .newsBox dd.date {
		padding: 0 30px 0 0;
}
/*-----------------------------------------------------
 service
----------------------------------------------------**/
#service .serviceListWrap {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(4, 1fr);
}
#service .serviceListBox .ph {
		margin: 0 0 10px 0;
}
#service .serviceListBox .ph img {
		width: 100%;
		height: auto;
}
#service .serviceListBox .ttl {
		margin: 0 0 5px 0;
		font-family: "hiragino-mincho-pron", sans-serif;
		font-weight: 300;
		font-style: normal;
		font-size: 20px;
}
/*-----------------------------------------------------
 ourShop
----------------------------------------------------**/
#ourShop .shopListWrap {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(2, 1fr);
}
#ourShop .shopListBox .ph {
		margin: 0 0 10px 0;
}
#ourShop .shopListBox .ph img {
		max-width: 100%;
		height: auto;
}
#ourShop .shopListBox .shopData dt {
		margin: 0 0 5px 0;
		font-family: "hiragino-mincho-pron", sans-serif;
		font-weight: 300;
		font-style: normal;
		font-size: 20px;
}
/*-----------------------------------------------------
 shopInfo
----------------------------------------------------**/
#shopInfo .shopInfoBox {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(2, 1fr);
}
#shopInfo .contentTtl {
		text-align: left;
}
#shopInfo .shopData {}
#shopInfo .shopData dl {
		display: flex;
}
#shopInfo .shopData dl dt {
		width: 10em;
}
#shopInfo .shopData dl.access {
		display: block;
		margin: 30px 0 0 0;
}
#shopInfo .shopData dl.access dt {
		font-family: "braisetto", script;
		font-weight: 400;
		font-style: normal;
		font-size: 40px;
		line-height: 1.5;
}
#shopInfo .shopData dl.access dd p {
		font-size: 80%;
}
#shopInfo .shopMap .ggmap {
		position: relative;
		padding-bottom: 85%;
		/*  padding-bottom: 56.25%;*/
		height: 0;
		overflow: hidden;
		clear: both;
}
.ggmap iframe, .ggmap object, .ggmap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
/*-----------------------------------------------------
 footer
----------------------------------------------------**/
footer {
		border-top: #222222 solid 1px;
}
footer .sectionBox {
		padding: 50px 0;
		text-align: right;
}
footer .footerMenu {
		display: flex;
		float: right;
		list-style: none;
}
footer .footerMenu li {
		padding: 0 0 0 20px;
}
footer address {
		text-align: right;
		font-size: 90%;
		clear: both;
		padding: 10px 0 0 0;
		text-decoration: none;
}
/**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
/*-----------------------------------------------------
 servicePage
----------------------------------------------------**/
#serviceDetail .contentCopy {
		text-align: center;
		font-weight: normal;
		font-family: "hiragino-mincho-pron", sans-serif;
		font-size: 18px;
}
#serviceDetail .serviceBox {
		width: 1270px;
		margin: 0 auto;
		min-width: 1270px;
		padding: 100px 0;
		position: relative;
}
#serviceDetail .serviceBoxWrap.bg {
		background: #fbfbfb
}
#serviceDetail .serviceBox .ttl {
		margin: 0 0 40px 0;
		font-family: "hiragino-mincho-pron", sans-serif;
		font-weight: 300;
		font-style: normal;
		font-size: 20px;
		position: relative;
}
#serviceDetail .serviceBox .ttl span {
		font-size: 12px;
		font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		display: block;
		margin: -5px 0 0 0;
}
#serviceDetail .serviceBox .ttl::after {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		bottom: -20px;
		width: 200px;
		height: 1px;
		background-color: #4d4d4d;
}
#serviceDetail .serviceBox .desc {
		display: flex;
		justify-content: space-between;
}
#serviceDetail .serviceBoxWrap.bg .serviceBox .desc {
		flex-direction: row-reverse;
}
#serviceDetail .serviceBox .desc .txt {
		width: 500px;
}
#serviceDetail .serviceBox .desc .txt p {
		margin: 0 0 1em 0;
}
#serviceDetail .serviceBox .phList {
		display: grid;
		gap: 20px;
		grid-template-columns: repeat(3, 1fr);
		list-style: none;
		padding: 20px 0 0 0;
}
#serviceDetail .serviceBox .phList li img {
		width: 100%;
		height: auto;
}
/**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
/*-----------------------------------------------------
 newsDetail
----------------------------------------------------**/

#newsDetail .newsTtl h3 {
		font-family: "hiragino-mincho-pron", sans-serif;
		font-weight: 300;
		font-style: normal;
		font-size: 20px;
		position: relative;
	border-bottom: #222222 solid 1px;
	padding: 20px 0;
	margin: 0 0 10px 0;
}
#newsDetail .newsTtl .newsData {
	list-style: none;
	text-align: right;
}
#newsDetail .newsTtl .newsData li {
	padding: 0 5px;
	display: inline-block;
}
#newsDetail .newsTxtArea{
	padding: 20px 0;
}
#newsDetail .newsTxtArea p{
	margin: 0 0 1em 0;
}
#newsDetail .newsTxtArea img{
	max-width: 100%;
	height: auto;
}
#newsDetail .btnArea{
	text-align: center;
	padding: 10px;
}
/* ================================================
Mobile style's
================================================  */
@media only screen and (max-width: 1269px) {
		/*-----------------------------------------------------
	body
----------------------------------------------------**/
		body {
				font-size: 14px;
		}
		/*toggle*/
		.sp {
				display: block;
		}
		.pc {
				display: none;
		}
		/*-----------------------------------------------------
 section
----------------------------------------------------**/
		.sectionBox {
				width: 100%;
				min-width: 100%;
				padding: 70px 10px;
		}
		.sectionBox .contentTtl {
				font-size: 40px;
				margin: 0 0 40px 0;
		}
		.sectionBox .contentTtl span {
				font-size: 12px;
				margin: -20px 0 0
		}
		/*-----------------------------------------------------
	parallax
----------------------------------------------------**/
  .parallax {
    background: no-repeat center center / cover;
    /*position: fixed;*/
    width: 100%;
    height: 100%;
  }
		.parallax.aBlock {
				height: 150px;
		}
		/*-----------------------------------------------------
	header
----------------------------------------------------**/
		header .parallax {
				height: 100vh;
		}
		header .topLogo img {
				width: 400px;
		}
		#header #gNav ul {
				display: inherit;
				float: none;
				line-height: 30px;
		}
		#header #gNav a {
				text-shadow: 5px 5px 5px #cccccc;
		}
		#header #gNav ul li img {
				filter: drop-shadow(5px 5px 5px #cccccc);
		}
		/**/
		#header.fixed #logo {
				width: 180px;
				margin: 0 0 0 10px;
		}
		#header.fixed #gNav ul li img {
				filter: drop-shadow(5px 5px 5px #cccccc);
		}
		/*-----------------------------------------------------
 about
----------------------------------------------------**/
		#about .contentTtl {
				text-align: center;
				margin: 0;
		}
		#about .aboutTxtArea {
				padding: 0;
				min-height: 100%;
				text-align: center;
		}
		#about .aboutTxtArea .copy {
				font-size: 18px;
				margin: 0 0 20px 0;
		}
		#about .aboutTxtArea .copy::after {
				position: relative;
				left: auto;
				bottom: auto;
				margin: 20px auto;
				width: 300px;
		}
		#about .aboutTxtArea .aboutTxt p {
				margin: 0 0 0.5em 0;
				text-align: left;
		}
		#about .ph01 {
				position: relative;
				top: 0;
				left: 0;
				margin: 20px 0 0 0;
		}
		#about .ph02, #about .ph03 {
				display: none;
		}
		#about img {
				width: 100%;
				height: auto;
		}
		/*-----------------------------------------------------
 news
----------------------------------------------------**/
		#news .contentTtl {
				width: auto;
				height: auto;
				line-height: inherit;
				border: none;
				margin: 0 auto 40px;
				position: relative;
		}
		#news .contentTtl span {
				margin: -10px 0 0;
		}
		#news .newsBox {
				margin: -1px 0 0 0;
				padding: 20px 0;
				display: flex;
				border-bottom: #222222 solid 1px;
				border-top: #222222 solid 1px;
		}
		#news .newsBox dt.ctgry {
				width: 100px;
				text-align: center;
		}
		#news .newsBox dd.date {
				padding: 0 30px 0 0;
		}
		/*-----------------------------------------------------
 service
----------------------------------------------------**/
		#service .serviceListWrap {
				grid-template-columns: repeat(2, 1fr);
		}
		#service .serviceListBox .ttl {
				font-size: 18px;
		}
		/*-----------------------------------------------------
 ourShop
----------------------------------------------------**/
		#ourShop .shopListWrap {
				display: grid;
				gap: 20px;
				grid-template-columns: repeat(2, 1fr);
		}
		#ourShop .shopListBox .shopData dt {
				font-size: 18px;
		}
	#ourShop .shopListBox .ph img {
		max-height: auto;
}
		/*-----------------------------------------------------
 shopInfo
----------------------------------------------------**/
		#shopInfo .shopInfoBox {
				grid-template-columns: repeat(1, 1fr);
		}
		#shopInfo .contentTtl {
				text-align: center;
		}
		#shopInfo .shopData dl.access dt {
				font-size: 30px;
		}
		/*-----------------------------------------------------
 footer
----------------------------------------------------**/
		footer .sectionBox {
				padding: 20px 10px;
		}
		footer .footerMenu {
				display: none;
		}
		/**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/ /**/
		/*-----------------------------------------------------
 servicePage
----------------------------------------------------**/
		#serviceDetail .contentCopy {
				font-size: 14px;
		}
		#serviceDetail .serviceBox {
				width: auto;
				margin: 0;
				min-width: auto;
				padding: 70px 10px;
		}
		#serviceDetail .serviceBox .ttl {
				margin: 0 0 40px 0;
				font-size: 18px;
				text-align: center;
		}
		#serviceDetail .serviceBox .ttl span {
				font-size: 12px;
				margin: -5px 0 0 0;
		}
		#serviceDetail .serviceBox .ttl::after {
				position: relative;
				left: auto;
				bottom: -10px;
				width: 200px;
				margin: 0 auto;
		}
		#serviceDetail .serviceBox .desc {
				display: block;
		}
		#serviceDetail .serviceBox .desc .txt {
				width: auto;
				margin: 0 0 10px 0;
		}
		#serviceDetail .serviceBox .desc .txt p {
				margin: 0 0 0.5em 0;
		}
		#serviceDetail .serviceBox .ph img {
				width: 100%;
				height: auto;
		}
		#serviceDetail .serviceBox .phList {
				gap: 10px;
				grid-template-columns: repeat(3, 1fr);
				padding: 10px 0 0 0;
		}
}