﻿@charset "UTF-8";

/* 初期設定 */
* {

	margin: 0;
	padding: 0;
	box-sizing: border-box;

}

.clearfix:after {

	content: "";
	display: block;
	clear: both;
	
}

img {
	
	width: 100%;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	border: none;
	
}

li {

	list-style: none;
	
}

a {

	color: #333;
	text-decoration: none;

}

/* HTML */
html {
	
	width: 100%;
	min-width: 320px;
	font-size: 62.5%;
	overflow-x: hidden;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	
}

/* ボディ */
body {
	
	position: relative;
	width: 100%;
	min-width: 320px;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 15.5px;
	line-height: 1.7;
	color: #333;
	letter-spacing: 0.08em;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;

}

/* メイン */
main {
	
	display: block;

}

/* 内枠 */
.inner {

	margin: 0 auto;

}

/* ヘッダー */
header {
	
	width: 100%;
	padding: 2.5rem 0 0 0;
	background: #F6F5F8;

}

/* 見出し１ */
header h1 {

	width: 26rem;
	margin: 0 auto;
	margin-bottom: 0.5rem;
	text-align: center;
	line-height: 1;

}

header h1 .logo {
	
	margin-bottom: 0.8rem;

}

header h1 .line1 {
	
	display: block;
	font-size: 2.5rem;
	font-weight: 600;
	color: #0C548A;
	white-space: nowrap;

}

header .addr {

	margin-bottom: 1.3rem;
	text-align: center;
	font-size: 1.4rem;
	font-weight: 400;
	letter-spacing: 0.12em;

}

/* ナビ */
header nav {
	
	position: relative;
	z-index: 10;
	text-align: center;
	padding: 1.4rem 0 1rem 0;
	background: -webkit-linear-gradient(top, #d2b98c, #b9975b, #876e41);
  background: linear-gradient(to bottom, #d2b98c, #b9975b, #876e41);
  box-shadow: 0 1rem 1rem rgba(0,0,0, 0.3);

}

header nav ul.main_navi li {
	
	display: inline-block;
	margin: 0 6.7rem;
	font-size: 1.55rem;
	line-height: 1.4;
	letter-spacing: 0.14em;
	vertical-align: middle;

}

header nav ul.main_navi li a {

	color: #fff;

}

header nav .office {

	position: absolute;
	top:    0;
	right:  2.5rem;
	z-index: 10;
	height: 100%;
	padding: 0.1rem 1.8rem 0.1rem 1.2rem;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.8rem;
	font-weight: 600;
	line-height: 1.7;
	color: #707183;
	letter-spacing: 0.08em;
	background: #fff;

}

header nav .office .tel {
	
	letter-spacing: 0.18em;

}

header nav .office .tel .icon {

	display: inline-block;
	width: 1.2rem;
	margin-right: 0.9rem;
	transform: translateY(-0.7rem);

}

header nav .office .line {

	display: inline-block;
	padding-bottom: 0.2rem;
	border-bottom: 0.2rem solid #707183;

}

header nav .office .down {
	
	padding-top: 0.4rem;
	text-align: right;
	font-size: 1.45rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	cursor: pointer;

}

header nav .office .down .tri {

	display: inline-block;
	margin-left: 0.5rem;

}

header nav .office .area_navi {
	
	display: none;
	position: absolute;
	top:  6rem;
	left: 0;
	z-index: 10;
	width: 30rem;
	padding-top:  3rem;
	padding-left: 2rem;
	text-align: left;
	background: rgba(255,255,255, 0.6);

}

header nav .office .area_navi li {
	
	margin-bottom: 1.2rem;
	font-size: 1.65rem;
	color: #155DB3;
	letter-spacing: 0.18em;

}

header nav .office .area_navi li .ar {
	
	display: inline-block;
	margin-right: 0.5rem;
	color: #707183;

}

header nav .office .area_navi a {

	color: #155DB3;

}

.left_line {

	position: absolute;
	top:  0;
	left: 0;
	z-index: 3;
	width:  1.8rem;
	height: 106.5rem;
	background: -webkit-linear-gradient(top, #d2b98c, #b9975b, #876e41);
  background: linear-gradient(to bottom, #d2b98c, #b9975b, #876e41);

}

/* メイン画像 */
.mainimg {
	
	position: relative;
	height: 86.2rem;

}

.mainimg .slide li {
	
	position: absolute;
	top:  0;
	left: 0;
	z-index: 0;
	width:  100%;
	height: 100%;
	list-style: none;
	background-size: cover;
	background-position: center center;

}

.mainimg .slide li:nth-child(1) { background-image: url('../img/main1.webp'); }
.mainimg .slide li:nth-child(2) { background-image: url('../img/main2.webp'); }

.mainimg .slide li.prev {

	z-index: 1;

}

.mainimg .slide li.active {

	z-index: 2;
	animation: fade 2.2s;

}

.mainimg .slide li.first {

	z-index: 2;

}

@keyframes fade {

	  0% { opacity: 0; }
	100% { opacity: 1; }

}

.mainimg .img {

	position: absolute;
	top:   0;
	right: 0;
	z-index: 3;
	width:  138.7rem;
	height: 60rem;
	background-image: url('../img/main3.webp');
	background-size: cover;
	background-position: center center;

}

.mainimg .catch1 {

	position: absolute;
	top:  14%;
	left: 17.6%;
	z-index: 3;
	width: 1.1em;
	padding: 0.05em 0;
	text-align: center;
	font-family: 'Shippori Mincho', serif;
	font-size: 4.4rem;
	font-weight: 600;
	line-height: 1.16;
	letter-spacing: 0;
	color: #fff;
	
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	
}

.mainimg .catch1:after {

	position: absolute;
	top:  0;
	left: 0;
	content: "";
	display: block;
	width:  100%;
	height: 0;
	z-index: 5;
	background: #BA985B;

}

.mainimg .catch1.active:after {

	height: 100%;
	transition: all 0.5s;

}

.mainimg .catch1 span {
	
	position: relative;
	opacity: 0;
	z-index: 6;
	transition: all 0.2s 0.5s;

}

.mainimg .catch1.active span {

	opacity: 1;

}

.mainimg .catch2 {

	position: absolute;
	left:   1.5%;
	bottom: 3.7%;
	z-index: 3;
	width: 100rem;
	height: 5rem;

}

.mainimg .catch2 .txt {
	
	position: relative;
	z-index: 3;
	display: inline-block;
	width: 66.7%;

}

.mainimg .catch2 .arrow {

	position: absolute;
	top:   7%;
	right: 0;
	z-index: 3;
	width: 29.5%;
	mix-blend-mode: multiply;

}

.mainimg .catch3 {

	position: absolute;
	right:  2%;
	bottom: 2.5%;
	z-index: 3;
	width: 29.2rem;

}

.mainimg .line {

	position: absolute;
	left:   19%;
	bottom: 14.5%;
	z-index: 3;
	width:  2px;
	height: 26.5rem;
	background: #555;

}

/* ご挨拶 */
#greeting {
	
	position: relative;
	padding-top:    18rem;
	padding-bottom: 17rem;
	overflow: hidden;

}

#greeting .inner {

	width: 145rem;

}

#greeting .inner .txt {

	float: right;
	width: 93.5rem;

}

#greeting .inner .txt p {

	font-family: 'Shippori Mincho', serif;
	font-size: 2rem;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.04em;
	color: #111;
	
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;

}

#greeting .inner .txt .line1 {

	letter-spacing: 0.05em;

}

#greeting .inner .txt .line2 {

	margin-top:    3.5rem;
	margin-bottom: 5.3rem;
	
}

#greeting .inner .txt .line3 {
	
	position: relative;
	z-index: 3;
	margin-bottom: 1.1rem;
	padding-bottom: 0.4rem;
	font-size: 3.8rem;
	line-height: 1;
	letter-spacing: 0.1em;
	color: #6B6565;
	white-space: nowrap;

}

/*

#greeting .inner .txt .line3:after {

	position: absolute;
	top:  0;
	left: 0;
	content: "";
	width:  200%;
	width: 0;
	height: 100%;
	background: #F2F2F2;

}

#greeting .inner .txt .line3.active:after {

	width: 130%;
	transition: all 0.6s;

}

*/

#greeting .inner .txt .line3 .line {
	
	position: relative;
	z-index: 3;
	display: inline-block;
	padding: 0.05em 0.1em 0.1em 0.1em;
	line-height: 1;
	margin-bottom: 0.4em;	

}

#greeting .inner .txt .line3 .line:after {

	position: absolute;
	top:  0;
	left: 0;
	z-index: -1;
	content: "";
	display: block;
	width: 0;
	height: 100%;
	background: #F2F2F2;

}

#greeting .inner .txt .line3 .line.active:after {

	width: 130%;
	width: 300%;
	transition: all 1s;

}

#greeting .inner .txt .line3 .line span  {

	opacity: 0;

}

#greeting .inner .txt .line3 .line.active span  {

	opacity: 1;
	transition: all 0.2s 0.6s;

}

#greeting .inner .txt .line4 {
	
	padding-left: 4em;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 1.5rem;

}

#greeting .inner .txt .line4 span {

	display: inline-block;
	margin-left: 2.2em;

}

#greeting .inner .txt p strong {
	
	font-weight: 600;
	color: #B9985C;

}

#greeting .track {
	
	opacity: 0;
	position: absolute;
	top: 15%;
	left: 6.3%;
	width: 94.3rem;
	transform: translateX(25rem);

}

#greeting .track.active {
	
	opacity: 1;
	transform: translateX(0);
	transition: all 0.65s 0.2s;
	transition: all 0.9s 0.2s;

}

/* 3s */ 
#threes {
	
	padding-top:    12rem;
	padding-bottom: 16rem;
	background: #CDD2D0;

}

#threes .inner {
	
	position: relative;
	width: 116.5rem;
	margin: 0 auto;

}

#threes .inner p {
	
	position: relative;
	z-index: 1;
	font-family: 'Shippori Mincho', serif;
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.16em;
	color: #222;
	
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;

}

#threes .inner p span {

	font-size: 1.85em;
	letter-spacing: 0.14em;

}

#threes .inner .line1 {

	margin-bottom: 1rem;
	
}

#threes .inner .line2 {

	margin-bottom: 3.5rem;

}

#threes .inner .line3 {
	
	margin-bottom: 2.7rem;
	line-height: 1.6;

}

#threes .inner .line4 {
	
	margin-bottom: 4.8rem;

}

#threes .inner .ara {

	width: 54.5rem;

}

#threes .inner .three_img {
	
	opacity: 0;
	position: absolute;
	right:  -5rem;
	bottom: -1rem;
	z-index: 1;
	width: 30rem;
	transform: translateY(16rem);

}

#threes .inner .three_img.active {

	opacity: 1;
	transform: translateY(0);
	transition: all 0.6s;

}

/* 盆踊り */
#bon {

	position: relative;
	padding-top:    16rem;
	padding-bottom: 17.5rem;

}

#bon:after {

	position: absolute;
	top:  0;
	left: 0;
	z-index: 0;
	content: "";
	display: block;
	width:  100%;
	height: 64.5%;
	background: #CAC9B7;

}

#bon .inner {
	
	position: relative;
	z-index: 1;
	float: right;
	width: 159rem;

}

#bon .inner h2 {
	
	position: relative;
	margin-bottom: 6.5rem;
	padding-left: 0.25em;
	font-family: 'Shippori Mincho', serif;
	font-size: 5.8rem;
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: 0.16em;
	color: #020202;
	overflow: hidden;
	/*background: #fff;*/
	
	font-family: 'Noto Sans JP', sans-serif;

}

#bon .inner h2:after {

	position: absolute;
	top:  0;
	left: 0;
	z-index: 1;
	content: "";
	width:  0;
	height: 100%;
	background: #fff;

}

#bon .inner h2.active:after {

	width: 100%;
	transition: all 0.6s;

}

#bon .inner h2 span {
	
	opacity: 0;
	position: relative;
	z-index: 2;
	display: inline-block;

}

#bon .inner h2.active span {

	opacity: 1;
	transition: all 0.3s 0.5s;

}

#bon .inner .img {

	height: 51.8rem;
	background-image: url('../img/bon.webp');
	background-size: cover;
	background-position: center center;

}

/* 位置付け */
#ichi {
	
	margin-bottom: 28.5rem;
	padding-top:    7.2rem;
	padding-bottom: 10rem;
	background: #F6F5F8;
	overflow: hidden;

}

#ichi .inner {

	width: 116rem;
	
}

#ichi .inner h2 {
	
	margin-bottom: 25rem;
	font-family: 'Shippori Mincho', serif;
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.18em;
	color: #020202;
	
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;

}

#ichi .inner h2:first-letter {
	
	font-size: 1.3em;
	color: #5980BA;

}

#ichi .inner h2 span {
	
	position: relative;
	display: block;
	font-family: futura-pt, sans-serif;
	font-style: normal;
	font-size: 4.1rem;
	font-weight: 500;
	color: #6c7486;
	letter-spacing: 0.24em;
	
	/*font-family: 'Noto Sans JP', sans-serif;*/

}

#ichi .inner h2 span:after {

	position: absolute;
	top:  4%;
	left: 0;
	content: "";
	width: 150%;
	height: 1px;
	background: #333;

}

#ichi .inner .txt {

	float: left;
	width: 52%;

}

#ichi .inner .txt p {

	font-size: 1.35rem;
	letter-spacing: 0.24em;

}

#ichi .inner .txt .line1 {

	margin-bottom: 2rem;

}

#ichi .inner .txt .line2 {

	margin-bottom: 2rem;

}

#ichi .inner .txt .line3 {

	margin-bottom: 10rem;

}

#ichi .inner .txt .line4 {

	font-family: futura-pt, sans-serif;
	font-style: normal;
	font-size: 5.8rem;
	font-weight: 500;
	color: #6c7486;
	letter-spacing: 0.26em;
	
	/*font-family: 'Noto Sans JP', sans-serif;*/
	
}

#ichi .inner .img {
	
	opacity: 0;
	float: right;
	width: 38.5%;
	transform: translateY(16rem);

}

#ichi .inner .img.active {

	opacity: 1;
	transform: translateY(0);
	transition: all 0.6s;

}

/* フッター */
footer {
	
	position: relative;
	padding-top: 6rem;
	padding-bottom: 1.5rem;
	color: #fff;
	background-image: url('../img/footer.webp');
	background-size: cover;
	background-position: center center

}

footer a {

	color: #fff;

}

footer .inner .txt {
	
	clear: both;
	float: right;
	width: 88.5rem;
	margin-top: 17.5rem;

}

footer .inner .txt .logo {

	width: 19rem;
	margin-bottom: 10.8rem;

}

footer .inner .txt .logo p {

	margin-top: 0.6rem;
	font-size: 2.3rem;
	letter-spacing: 0.13em;
	white-space: nowrap;

}

footer .inner .txt .logo p span {

	display: inline-block;
	margin-right: 0.5em;

}

footer .inner .txt nav {

	float: left;
	width: 23.8rem;

}

footer .inner .txt nav ul li {
	
	position: relative;
	margin-bottom: 1.05rem;
	font-size: 1.38rem;
	line-height: 1.6;
	letter-spacing: 0.18em;
	
	margin-left:  1.2em;
	text-indent: -1.2em;

}

footer .inner .txt nav ul li:before {
	
	content: "";
	display: inline-block;
	width:  0.8em;
	height: 0.8em;
	margin-right: 0.4em;
	background: #fff;

}

footer .inner .txt nav ul li a {
	
	color: #fff;
	
}

footer .inner .txt .area {
	
	float: left;

}

footer .inner .txt .area table {
	
	width: 100%;
	border-collapse: collapse;

}

footer .inner .txt .area table tr th, footer .inner .txt .area table tr td {
	
	padding-bottom: 0.9rem;
	text-align: left;
	font-family: 'Shippori Mincho', serif;
	font-size: 1.3rem;
	font-weight: 400;
	letter-spacing: 0.18em;
	vertical-align: top;
	
	font-family: 'Noto Sans JP', sans-serif;

}

footer .inner .txt .area table tr th {

	width: 9.5rem;

}

footer .inner .txt .area table tr td {

	line-height: 2.2;

}

footer small {
	
	display: inline-block;
	margin-top: 4.5rem;
	font-size: 1.35rem;
	letter-spacing: 0.23em;

}

footer .skew {
	
	position: absolute;
	top:  0;
	left: 0;
	z-index: 2;
	display: block;
	width:  100%;
	height: 31rem;
	background-image: url('../img/skew.webp');
	background-size: cover;
	background-position: center center;

}

footer .skew .track {

	position: absolute;
	top:  5%;
	left: 0.5%;
	width: 33rem;

}

footer .skew .toge {

	position: absolute;
	bottom: 12%;
	left:    1%;
	width: 51.5rem;

}

footer .skew p {

	position: absolute;
	top:   7%;
	right: 13.5%;
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 6.5rem;
	color: #75603b;
	letter-spacing: 0.26em;
	
	/*font-family: 'Noto Sans JP', sans-serif;*/

}

/* トグル */
.menu {

	display: none;

}

/* スマホ改行 */
.sp_break {

	display: none;

}

.sp_break2 {

	display: none;

}

.nav_layer {

	display: none;

}



@media only screen and (max-width: 1840px) {

	/* HTML */
	html {
		
		font-size: 59.875%;
		
	}

}


/* MacBook Pro16 */
@media only screen and (max-width: 1728px) {

	/* HTML */
	html {
		
		font-size: 56.25%;
		
	}

}


@media only screen and (max-width: 1600px) {

	/* HTML */
	html {
		
		font-size: 52.0625%;
		
	}

}


/* MacBook Pro14 */
@media only screen and (max-width: 1512px) {

	/* HTML */
	html {
		
		font-size: 49.25%;
		
	}

}



@media only screen and (max-width: 1420px) {

	/* HTML */
	html {
		
		font-size: 46.25%;
		
	}

}


/* 中サイズ */
@media only screen and (max-width: 1366px) {

	/* HTML */
	html {
		
		font-size: 44.4375%;
		
	}

}


/* MacBook Air */
@media only screen and (max-width: 1280px) {

	/* HTML */
	html {
		
		font-size: 41.6875%;
		
	}

}


@media only screen and (max-width: 1200px) {

	/* HTML */
	html {
		
		font-size: 37.75%;
		
	}
	
	/* ヘッダー */
	header {
		
		position: fixed;
		top:  0;
		left: 0;
		z-index: 4;
		width: 100%;
		padding: 1.2rem 0 0 0;

	}
	
	/* 見出し１ */
	header h1 {
		
		float: left;
		width: 26rem;
		margin: 0;
		margin-bottom: 2rem;
		margin-left: 2rem;
		text-align: center;

	}

	header h1 .logo {
		
		margin-bottom: 0.8rem;

	}

	header h1 .line1 {
		
		font-size: 2.5rem;

	}

	header .addr {
		
		float: left;
		margin-top: 5rem;
		margin-bottom: 0;
		margin-left: 3.5rem;
		text-align: left;
		font-size: 2rem;
		letter-spacing: 0.12em;

	}

	/* ナビ */
	header nav {
		
		opacity: 0;
  	visibility: hidden;
  	position: fixed;
  	top:  0;
  	left: 0;
  	z-index: 104;
  	display: flex; 
	  flex-direction: column;
	  justify-content: center;
	  align-items: center;
  	width:  100%;
  	height: 100vh;
		clear: both;
		text-align: left;
		padding: 0;
	  background: none;
	  box-shadow: none;
	  transition: all 0.2s;
	  pointer-events: none;
	  
	  transform: translateY(-2rem);

	}
	
	header nav.active {
	
		opacity: 1;
  	visibility: visible;
  	pointer-events: auto;
	
	}
	
	header .wrap {
		
		position: relative;
		display: inline-block;
	
	}
	
	header .wrap:before {
		
		display: inline-block;
		content: "";
		width:  0.8em;
		height: 0.8em;
		margin-right: 0.5em;
		background: #fff;
	
	}
	
	header .wrap:after {
	
		position: absolute;
		top:  0;
		left: 0;
		content: "";
		width:  100%;
		height: 100%;
		background: #F2F2F2;
		transition: all 0.3s 0.4s;
	
	}
	
	header nav.active .wrap:after {
	
		width: 0;
	
	}
	
	header nav ul.main_navi {
	
		width: 65%;
		margin: 0 auto;
		margin-bottom: 3.5rem;
		
		margin-bottom: 9rem;
		border-bottom: 0.4rem solid #fff;
	
	}

	header nav ul.main_navi li {
		
		display: block;
		margin: 0;
		margin-bottom: 4rem;
		font-family: 'Shippori Mincho', serif;
		font-size: 4rem;
		font-weight: 400;
		line-height: 1.4;
		letter-spacing: 0.06em;
		
		font-family: 'Noto Sans JP', sans-serif;

	}
	
	header nav ul.main_navi li:last-child {
	
		margin-bottom: 10rem;
	
	}
	
	header nav ul.main_navi li span br {
	
		display: none;
	
	}
	
	header nav ul.main_navi li .two {
	
		display: inline-block;
		margin-left: 3.5rem;
	
	}

	header nav .office {
		
		position: relative;
		top:    0;
		right:  0;
		width: 65%;
		height: auto;
		margin: 0 auto;
		padding: 0;
		font-size: 1.8rem;
		line-height: 1.7;
		letter-spacing: 0.08em;
		background: none;

	}
	
	header nav .office .eigyou {
	
		display: none;
	
	}

	header nav .office .tel {
		
		display: none;
		letter-spacing: 0.18em;

	}

	header nav .office .tel .icon {

		width: 1.2rem;
		margin-right: 0.9rem;
		transform: translateY(-0.7rem);

	}

	header nav .office .line {

		padding-bottom: 0.2rem;
		border-bottom: 0.2rem solid #707183;

	}

	header nav .office .down {
		
		margin-bottom: 1.4rem;
		padding-top: 0;
		text-align: left;
		font-size: 3.5rem;
		font-weight: 400;
		color: #fff;
		letter-spacing: 0.08em;

	}

	header nav .office .down .tri {
		
		display: none;
		margin-left: 0.5rem;

	}

	header nav .office .area_navi {
		
		display: block;
		position: relative;
		top:  0;
		left: 0;
		width: 100%;
		padding-top:  0;
		padding-left: 1em;
		text-align: left;
		color: #fff;
		background: none;

	}
	
	header nav .office .area_navi .wrap:before {
	
		        clip-path: polygon(0 0, 0 100%, 100% 50%);
		-webkit-clip-path: polygon(0 0, 0 100%, 100% 50%);
	
	}

	header nav .office .area_navi li {
		
		position: relative;
		margin-bottom: 2.2rem;
		margin-bottom: 4.6rem;
		font-size: 4rem;
		font-weight: 400;
		line-height: 1.2;
		color: #fff;
		letter-spacing: 0.14em;

	}
	
	header nav .office .area_navi li .ar {
		
		margin-right: 3rem;
		color: #fff;
		letter-spacing: 0.08em;

	}
	
	header nav .office .area_navi li .tel2 {
		
		font-weight: 500;
		color: #0C548A;
		letter-spacing: 0.18em;
	
	}

	.left_line {
		
		display: none;
		width:  1.8rem;
		height: 106.5rem;
		background: -webkit-linear-gradient(top, #d2b98c, #b9975b, #876e41);
	  background: linear-gradient(to bottom, #d2b98c, #b9975b, #876e41);

	}
	
	.nav_layer {
		
		display: block;
	  position: fixed;
	  top:   0;
	  right: 0;
	  width:  0;
	  z-index: 103;
	  height: 100vh;
	  background: -webkit-linear-gradient(top, #d2b98c, #b9975b, #876e41);
	  background: linear-gradient(to bottom, #d2b98c, #b9975b, #876e41);
	
	}
	
	.nav_layer.active {
	
		animation: animMenuReveal 0.4s cubic-bezier(0.13, 0.13, 0.02, 1.07) 0s forwards;
	
	}
	
	@keyframes animMenuReveal {

	    0% { width: 0vw;   }
	  100% { width: 100vw; }
	  
	}
	
	.nav_layer.close {
	
		left: 0;
		right: auto;
	  width: 100vw;
	  animation: animMenuClose 0.4s cubic-bezier(0.13, 0.13, 0.02, 1.07) 0.2s forwards;
	
	}
	
	@keyframes animMenuClose {
			
	    0% { width: 100vw; }
	  100% { width: 0;     }
	  
	}

	/* メイン画像 */
	.mainimg {
		
		height: 86.2rem;
		margin-top: 11.5rem;
		background-image: url('../img/main2.webp');

	}

	.mainimg .img {

		top:   0;
		right: 0;
		width:  138.7rem;
		height: 60rem;
		background-image: url('../img/main3.webp');

	}

	.mainimg .catch1 {

		top:  8%;
		left: 12%;
		width: 1.1em;
		padding: 0.05em 0;
		text-align: center;
		font-size: 5rem;
		line-height: 1.16;
		letter-spacing: 0;
		
	}

	.mainimg .catch2 {

		left:   1.5%;
		bottom: 3.7%;
		width: 110rem;
		height: 5rem;

	}

	.mainimg .catch2 .txt {
		
		width: 66.7%;

	}

	.mainimg .catch2 .arrow {

		top:   7%;
		right: 0;
		width: 29.5%;

	}

	.mainimg .catch3 {

		right:  2%;
		bottom: 2.5%;
		width: 34rem;

	}

	.mainimg .line {

		left:   13.5%;
		bottom: 16%;
		width:  1px;
		height: 26.5rem;

	}

	/* ご挨拶 */
	#greeting {
		
		padding-top:    18rem;
		padding-bottom: 17rem;

	}

	#greeting .inner {

		width: 145rem;

	}

	#greeting .inner .txt {

		float: right;
		width: 100rem;

	}

	#greeting .inner .txt p {

		font-size: 2.5rem;
		line-height: 1.9;
		letter-spacing: 0.04em;

	}

	#greeting .inner .txt .line1 {

		letter-spacing: 0.05em;

	}

	#greeting .inner .txt .line2 {

		margin-top:    3.5rem;
		margin-bottom: 5.3rem;
		
	}

	#greeting .inner .txt .line3 {
		
		margin-bottom: 1.1rem;
		padding-bottom: 0.4rem;
		font-size: 4.4rem;
		line-height: 1;
		letter-spacing: 0.1em;

	}
	
	/*

	#greeting .inner .txt .line3:after {

		width:  200%;
		height: 100%;

	}
	
	*/

	#greeting .inner .txt .line4 {
		
		padding-left: 2em;
		font-size: 2.2rem;

	}

	#greeting .inner .txt .line4 span {

		margin-left: 2em;

	}

	#greeting .track {

		top:  15%;
		left: 4%;
		width: 92rem;

	}

	/* 3s */ 
	#threes {
		
		padding-top:    12rem;
		padding-bottom: 16rem;

	}

	#threes .inner {
		
		width: 146rem;

	}

	#threes .inner p {

		font-size: 2.2rem;
		line-height: 1.7;
		letter-spacing: 0.1em;

	}

	#threes .inner p span {

		font-size: 1.7em;
		letter-spacing: 0.08em;

	}

	#threes .inner .line1 {

		margin-bottom: 1rem;
		
	}

	#threes .inner .line2 {

		margin-bottom: 3.5rem;

	}

	#threes .inner .line3 {
		
		margin-bottom: 2.7rem;
		line-height: 1.7;

	}

	#threes .inner .line4 {
		
		margin-bottom: 4.8rem;

	}

	#threes .inner .ara {

		width: 64rem;

	}

	#threes .inner .three_img {

		right:  -10rem;
		bottom: -1rem;
		width: 34rem;

	}

	/* 盆踊り */
	#bon {

		padding-top:    16rem;
		padding-bottom: 17.5rem;

	}

	#bon:after {

		height: 64.5%;

	}

	#bon .inner {
		
		float: right;
		width: 170rem;

	}

	#bon .inner h2 {
		
		margin-bottom: 6.5rem;
		padding-left: 0.25em;
		font-size: 6.2rem;
		line-height: 1.35;
		letter-spacing: 0.14em;

	}

	#bon .inner .img {

		height: 55rem;
		background-image: url('../img/bon.webp');

	}

	/* 位置付け */
	#ichi {
		
		margin-bottom: 28.5rem;
		padding-top:    7.2rem;
		padding-bottom: 10rem;

	}

	#ichi .inner {

		width: 142rem;
		
	}

	#ichi .inner h2 {
		
		margin-bottom: 25rem;
		font-size: 3.4rem;
		line-height: 1.4;
		letter-spacing: 0.12em;

	}

	#ichi .inner h2:first-letter {
		
		font-size: 1.3em;

	}

	#ichi .inner h2 span {
		
		font-size: 4.8rem;
		letter-spacing: 0.2em;

	}

	#ichi .inner h2 span:after {

		top:  4%;
		left: 0;
		width: 150%;
		height: 1px;

	}

	#ichi .inner .txt {

		float: left;
		width: 56%;

	}

	#ichi .inner .txt p {

		font-size: 2.2rem;
		letter-spacing: 0.08em;

	}

	#ichi .inner .txt .line1 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line2 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line3 {

		margin-bottom: 10rem;

	}

	#ichi .inner .txt .line4 {

		font-size: 7.2rem;
		letter-spacing: 0.26em;
		
	}

	#ichi .inner .img {

		float: right;
		width: 38.5%;

	}

	/* フッター */
	footer {
		
		padding-top: 6rem;
		padding-bottom: 2.5rem;
		background-image: url('../img/footer.webp');

	}

	footer .inner .txt {
		
		float: right;
		width: 96rem;
		margin-top: 17.5rem;

	}

	footer .inner .txt .logo {

		width: 24rem;
		margin-bottom: 7rem;

	}

	footer .inner .txt .logo p {

		margin-top: 0.6rem;
		font-size: 2.8rem;
		letter-spacing: 0.13em;

	}

	footer .inner .txt .logo p span {

		margin-right: 0.5em;

	}

	footer .inner .txt nav {

		float: left;
		width: 28rem;

	}

	footer .inner .txt nav ul li {
		
		margin-bottom: 1.05rem;
		font-size: 2.2rem;
		line-height: 1.6;
		letter-spacing: 0.1em;

	}

	footer .inner .txt .area {
		
		float: left;

	}

	footer .inner .txt .area table tr th, footer .inner .txt .area table tr td {
		
		padding-bottom: 1rem;
		text-align: left;
		font-size: 2.2rem;
		letter-spacing: 0.1em;

	}

	footer .inner .txt .area table tr th {

		width: 16rem;

	}

	footer .inner .txt .area table tr td {

		line-height: 1.7;

	}

	footer small {
		
		margin-top: 4.5rem;
		font-size: 2.2rem;
		letter-spacing: 0.16em;

	}

	footer .skew {
		
		top:  0;
		left: 0;
		height: 31rem;
		background-image: url('../img/skew.webp');

	}

	footer .skew .track {

		top:  5%;
		left: 0.5%;
		width: 33rem;

	}

	footer .skew .toge {

		bottom: 12%;
		left:    1%;
		width: 51.5rem;

	}

	footer .skew p {

		top:   7%;
		right: 13.5%;
		font-size: 6.5rem;
		letter-spacing: 0.26em;

	}
	
	/* トグル */
	.menu {
		
		display: block;
	  position: fixed;
	  top:    18px;
	  right:  14px;
	  z-index: 104;
	  width:  40px;
	  height: 40px;
	  transform: scale(1.2);
		
	}
	
	.menu.active {
		
		top: 4px;
	
	}
	
	.menu__line {
		
		position: absolute;
	  display: block;
	  width:  60%;
	  height: 2px;
	  background: #726763;
	  transition: all 0.3s;
	  
	}
	
	.menu__line--top {
		
		top: 10px;
		left: 8px;
	
	}
	
	.menu__line--center {
		
	  top:  18px;
	  right: 8px;
	  
	}
	
	.menu__line--bottom {
		
	  bottom: 11px;
	  left:   8px;
	  
	}
	
	.menu__line--top.active {
	
	  top: 18px;
	  transform: rotate(45deg);
	  
	}
	
	.menu__line--center.active {
		
	  transform: scaleX(0);
	  
	}
	
	.menu__line--bottom.active {
	
	  bottom: 20px;
	  transform: rotate(135deg);
	  
	}

}


/* iPadPro */
@media only screen and (max-width: 1024px) {

	/* HTML */
	html {
		
		font-size: 33.3125%;
		
	}
	
	/* トグル */
	.menu {
		
	  top:    16px;
	  right:  14px;
	  transform: scale(1.2);
		
	}

}


/* XRの横 */
@media only screen and (max-width: 896px) {

	/* HTML */
	html {
		
		font-size: 29.2%;
		
	}
	
	/* トグル */
	.menu {
		
	  top:    14px;
	  right:  14px;
	  transform: scale(1.2);
		
	}
	
}


/* AndroidのＬの横 */
@media only screen and (max-width: 854px) {



}


/* iPad Air */
@media only screen and (max-width: 820px) {

	/* HTML */
	html {
		
		font-size: 32%;
		
	}
	
	/* 改行 */
	.sp_break {
	
		display: block;
	
	}
	
	/* トグル */
	.menu {
		
	  top:    14px;
	  right:  14px;
	  transform: scale(1);
		
	}
	
	/* ヘッダー */
	header {
		
		padding: 1.2rem 0 0 0;

	}
	
	/* 見出し１ */
	header h1 {
		
		width: 26rem;
		margin-bottom: 2rem;
		margin-left: 2rem;

	}

	header h1 .logo {
		
		margin-bottom: 0.8rem;

	}

	header h1 .line1 {
		
		font-size: 2.5rem;

	}

	header .addr {
		
		float: left;
		margin-top: 5rem;
		margin-left: 3.5rem;
		font-size: 2.2rem;
		letter-spacing: 0.1em;

	}

	/* ナビ */
	header nav ul.main_navi {
	
		width: 65%;
	
	}

	header nav ul.main_navi li {
		
		margin-bottom: 3.6rem;
		font-size: 4rem;
		line-height: 1.4;
		letter-spacing: 0.06em;

	}
	
	
	header nav ul.main_navi li .two {
	
		margin-left: 3.5rem;
	
	}

	header nav .office {
		
		width: 65%;
		font-size: 1.8rem;
		line-height: 1.7;
		letter-spacing: 0.08em;

	}

	header nav .office .tel .icon {

		width: 1.2rem;
		margin-right: 0.9rem;
		transform: translateY(-0.7rem);

	}

	header nav .office .line {

		padding-bottom: 0.2rem;
		border-bottom: 0.2rem solid #707183;

	}

	header nav .office .down {
		
		margin-bottom: 1.4rem;
		text-align: left;
		font-size: 3.5rem;
		letter-spacing: 0.08em;

	}

	header nav .office .area_navi li {
		
		margin-bottom: 4.4rem;
		font-size: 4rem;
		line-height: 1.2;
		letter-spacing: 0.16em;

	}
	
	header nav .office .area_navi li:last-child {
	
		margin-bottom: 0;
		
	}

	header nav .office .area_navi li .ar {
		
		margin-right: 2rem;
		letter-spacing: 0.08em;

	}

	/* メイン画像 */
	.mainimg {
		
		height: 86.2rem;
		margin-top: 12rem;
		background-image: url('../img/main2.webp');

	}

	.mainimg .img {

		top:   0;
		right: 0;
		width: 85%;
		height: 60rem;
		background-image: url('../img/main3.webp');

	}

	.mainimg .catch1 {

		top:  8%;
		left: 5%;
		width: 1.2em;
		padding: 0.05em 0;
		font-size: 5.4rem;
		line-height: 1.16;
		
	}

	.mainimg .catch2 {

		left:   1.5%;
		bottom: 3.7%;
		width: 110rem;
		width: 70%;
		height: 5rem;

	}

	.mainimg .catch2 .txt {
		
		width: 66.7%;

	}

	.mainimg .catch2 .arrow {

		top:   7%;
		right: 0;
		width: 29.5%;

	}

	.mainimg .catch3 {

		right:  2%;
		bottom: 2.5%;
		width: 20%;

	}

	.mainimg .line {

		left:   7%;
		bottom: 14.5%;
		width:  1px;
		height: 25rem;

	}
	
	/* ご挨拶 */
	#greeting {
		
		padding-top:    25rem;
		padding-bottom: 10rem;

	}

	#greeting .inner {

		width: 96%;

	}

	#greeting .inner .txt {

		float: right;
		width: 78%;

	}

	#greeting .inner .txt p {

		font-size: 2.8rem;
		line-height: 1.9;
		letter-spacing: 0.04em;

	}

	#greeting .inner .txt .line1 {

		letter-spacing: 0.05em;

	}

	#greeting .inner .txt .line2 {

		margin-top:    3.5rem;
		margin-bottom: 5.3rem;
		
	}

	#greeting .inner .txt .line3 {
		
		margin-bottom: 1.5rem;
		padding-bottom: 0.4rem;
		font-size: 4.8rem;
		line-height: 1.2;
		letter-spacing: 0.08em;

	}

	#greeting .inner .txt .line4 {
		
		padding-left: 0;
		font-size: 2.4rem;

	}

	#greeting .inner .txt .line4 span {

		margin-left: 1em;

	}

	#greeting .track {

		top:  15%;
		left: 4%;
		width: 60%;

	}
	
	#greeting .track.active {
		
		transition: all 0.45s 2.8s;
		transition: all 0.75s 2.8s;

	}

	/* 3s */ 
	#threes {
		
		padding-top:    12rem;
		padding-bottom: 16rem;

	}

	#threes .inner {
		
		width: 88%;

	}

	#threes .inner p {

		font-size: 2.6rem;
		line-height: 2;
		letter-spacing: 0.08em;

	}

	#threes .inner p span {

		font-size: 1.5em;
		letter-spacing: 0.08em;

	}

	#threes .inner .line1 {

		margin-bottom: 1rem;
		
	}

	#threes .inner .line2 {

		margin-bottom: 3.5rem;

	}

	#threes .inner .line3 {
		
		margin-bottom: 2.7rem;
		line-height: 2;

	}

	#threes .inner .line4 {
		
		margin-bottom: 4.8rem;

	}

	#threes .inner .ara {

		width: 65%;

	}

	#threes .inner .three_img {

		right:  -2%;
		bottom: 35%;
		width: 36%;

	}

	/* 盆踊り */
	#bon {

		padding-top:    16rem;
		padding-bottom: 17.5rem;

	}

	#bon:after {

		height: 64.5%;

	}

	#bon .inner {
		
		float: right;
		width: 170rem;
		width: 94%;

	}

	#bon .inner h2 {
		
		margin-bottom: 6.5rem;
		padding-left: 0.25em;
		font-size: 6.2rem;
		line-height: 1.35;
		letter-spacing: 0.14em;

	}

	#bon .inner .img {

		height: 55rem;
		background-image: url('../img/bon.webp');

	}

	/* 位置付け */
	#ichi {
		
		margin-bottom: 28.5rem;
		padding-top:    7.2rem;
		padding-bottom: 10rem;

	}

	#ichi .inner {

		width: 88%;
		
	}

	#ichi .inner h2 {
		
		margin-bottom: 25rem;
		font-size: 4rem;
		line-height: 1.7;
		letter-spacing: 0.08em;

	}

	#ichi .inner h2:first-letter {
		
		font-size: 1.3em;

	}

	#ichi .inner h2 span {
		
		font-size: 5.2rem;
		letter-spacing: 0.1em;

	}

	#ichi .inner h2 span:after {

		top:  3%;

	}

	#ichi .inner .txt {

		float: left;
		width: 56%;

	}

	#ichi .inner .txt p {

		font-size: 2.8rem;
		line-height: 1.8;
		letter-spacing: 0.08em;

	}

	#ichi .inner .txt .line1 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line2 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line3 {

		margin-bottom: 10rem;

	}

	#ichi .inner .txt .line4 {

		font-size: 7.8rem;
		letter-spacing: 0.26em;
		
	}

	#ichi .inner .img {

		float: right;
		width: 38.5%;

	}

	/* フッター */
	footer {
		
		padding-top: 7rem;
		padding-bottom: 2.5rem;
		background-image: url('../img/footer.webp');

	}

	footer .inner .txt {
		
		float: right;
		width: 100rem;
		margin-top: 17.5rem;

	}

	footer .inner .txt .logo {

		width: 26rem;
		margin-bottom: 7rem;

	}

	footer .inner .txt .logo p {

		margin-top: 0.6rem;
		font-size: 3rem;
		letter-spacing: 0.1em;

	}

	footer .inner .txt .logo p span {

		margin-right: 0.5em;

	}

	footer .inner .txt nav {

		float: left;
		width: 28rem;

	}

	footer .inner .txt nav ul li {
		
		margin-bottom: 1.2rem;
		font-size: 2.4rem;
		line-height: 1.6;
		letter-spacing: 0.08em;

	}

	footer .inner .txt .area {
		
		float: left;

	}

	footer .inner .txt .area table tr th, footer .inner .txt .area table tr td {
		
		padding-bottom: 1rem;
		font-size: 2.4rem;
		letter-spacing: 0.08em;

	}

	footer .inner .txt .area table tr th {

		width: 18rem;

	}

	footer .inner .txt .area table tr td {

		line-height: 1.7;

	}

	footer small {
		
		margin-top: 4rem;
		font-size: 2.4rem;
		letter-spacing: 0.12em;

	}

	footer .skew {
		
		top:  0;
		left: 0;
		height: 31rem;
		background-image: url('../img/skew.webp');

	}

	footer .skew .track {

		top:  5%;
		left: 0.5%;
		width: 30rem;

	}

	footer .skew .toge {

		bottom: 16%;
		left:    1%;
		width: 51.5rem;

	}

	footer .skew p {

		top:   7%;
		right: 6%;
		font-size: 6rem;
		letter-spacing: 0.2em;

	}

}


/* iPad */
@media only screen and (max-width: 768px) {



}


/* iPhonePlusの横 */
@media only screen and (max-width: 736px) {



}


/* iPhone8の横 */
@media only screen and (max-width: 667px) {

	html {
		
		font-size: 28%;
	
	}

}


/* iPhone5の横 */
@media only screen and (max-width: 568px) {

	html {
		
		font-size: 27%;
	
	}

}


/* AndLoidL */
@media only screen and (max-width: 480px) {

	/* HTML */
	html {
		
		font-size: 28%;
		
	}
	
	/* 改行 */
	.sp_break2 {

		display: block;

	}
		
	/* トグル */
	.menu {
		
	  top:    8px;
	  right:  14px;
		
	}
	
	/* ヘッダー */
	header {
		
		padding: 0;

	}
	
	/* 見出し１ */
	header h1 {
		
		width: 26rem;
		margin-bottom: 1.5rem;
		margin-left: 2rem;

	}

	header h1 .logo {
		
		margin-bottom: 0.8rem;

	}

	header h1 .line1 {
		
		font-size: 2.5rem;

	}

	header .addr {
		
		float: left;
		margin-top: 5rem;
		margin-left: 3.5rem;
		font-size: 2.2rem;
		letter-spacing: 0.08em;

	}

	/* ナビ */
	header nav {
		
	  transform: translateY(-6rem);

	}
	
	header nav ul.main_navi {
	
		width: 75%;
	
	}

	header nav ul.main_navi li {
		
		margin-bottom: 4rem;
		font-size: 4.5rem;
		line-height: 1.4;
		letter-spacing: 0.06em;

	}
	
	
	header nav ul.main_navi li .two {
	
		margin-left: 3.5rem;
	
	}

	header nav .office {
		
		width: 75%;
		font-size: 1.8rem;
		line-height: 1.7;
		letter-spacing: 0.08em;

	}

	header nav .office .tel .icon {

		width: 1.2rem;
		margin-right: 0.9rem;
		transform: translateY(-0.7rem);

	}

	header nav .office .line {

		padding-bottom: 0.2rem;
		border-bottom: 0.2rem solid #707183;

	}

	header nav .office .down {
		
		margin-bottom: 1.4rem;
		text-align: left;
		font-size: 3.5rem;
		letter-spacing: 0.08em;

	}

	header nav .office .area_navi li {
		
		margin-bottom: 5rem;
		font-size: 4.5rem;
		line-height: 1.2;

	}

	header nav .office .area_navi li .ar {
		
		margin-right: 2rem;
		letter-spacing: 0.08em;

	}

	/* メイン画像 */
	.mainimg {
		
		height: 86.2rem;
		margin-top: 11.5rem;

	}
	
	.mainimg .slide li:nth-child(1) { background-image: url('../img/main1_sp.webp'); }
	.mainimg .slide li:nth-child(2) { background-image: url('../img/main2_sp.webp'); }

	.mainimg .img {

		top:   0;
		right: 0;
		width: 78%;
		height: 58rem;
		background-image: url('../img/main3_sp.webp');

	}

	.mainimg .catch1 {

		top:  8%;
		left: 6.5%;
		width: 1.3em;
		width: 1.4em;
		padding: 0.05em 0;
		padding-left: 0.05em;
		font-size: 5.4rem;
		line-height: 1.2;
		
	}

	.mainimg .catch2 {

		left:   1.5%;
		bottom: 3.7%;
		width: 94%;
		height: 5rem;

	}

	.mainimg .catch2 .txt {
		
		width: 66.7%;

	}

	.mainimg .catch2 .arrow {

		top:   7%;
		right: 0;
		width: 29.5%;

	}

	.mainimg .catch3 {

		right:  4%;
		bottom: 14%;
		width: 25%;

	}

	.mainimg .line {

		left:   10%;
		bottom: 13%;
		height: 24rem;

	}
	
	/* ご挨拶 */
	#greeting {
		
		padding-top:    15rem;
		padding-bottom: 10rem;

	}

	#greeting .inner {

		width: 88%;

	}

	#greeting .inner .txt {

		float: none;
		width: 100%;

	}

	#greeting .inner .txt p {

		font-size: 3.2rem;
		line-height: 1.9;
		letter-spacing: 0.08em;

	}

	#greeting .inner .txt .line1 {

		letter-spacing: 0.08em;

	}

	#greeting .inner .txt .line2 {

		margin-top:    3.5rem;
		margin-bottom: 5.3rem;
		
	}

	#greeting .inner .txt .line3 {
		
		margin-bottom: 1.5rem;
		padding: 0.2em;
		font-size: 4.2rem;
		line-height: 1.2;

	}
	
	/*
	
	#greeting .inner .txt .line3 span {
	
		opacity: 1;
	
	}
	
	*/

	#greeting .inner .txt .line4 {
		
		font-size: 2.4rem;
		letter-spacing: 0.02em;

	}

	#greeting .inner .txt .line4 span {

		margin-left: 1em;

	}

	#greeting .track {

		top:  18%;
		left: 45%;
		width: 50%;

	}
	
	#greeting .track.active {
		
		transition: all 0.45s 2.6s;
		transition: all 0.65s 2.6s;

	}

	/* 3s */ 
	#threes {
		
		padding-top:    12rem;
		padding-bottom: 12rem;

	}

	#threes .inner {
		
		width: 88%;

	}

	#threes .inner p {

		font-size: 2.8rem;
		line-height: 2;
		letter-spacing: 0.08em;

	}

	#threes .inner p span {

		font-size: 1.3em;
		letter-spacing: 0.02em;

	}

	#threes .inner .line1 {

		margin-bottom: 1rem;
		
	}

	#threes .inner .line2 {

		margin-bottom: 3.5rem;

	}

	#threes .inner .line3 {
		
		margin-bottom: 2.7rem;
		line-height: 2;

	}

	#threes .inner .line4 {
		
		margin-bottom: 38rem;

	}

	#threes .inner .ara {

		width: 52%;
		transform: translateY(-14rem);

	}

	#threes .inner .three_img {

		right:  -2%;
		bottom: 0%;
		width: 45%;

	}
	
	#threes .inner .three_img.active {

		transition: all 0.5s;

	}

	/* 盆踊り */
	#bon {

		padding-top:    15rem;
		padding-bottom: 15rem;

	}

	#bon:after {

		height: 64.5%;

	}

	#bon .inner {
		
		float: right;
		width: 94%;

	}

	#bon .inner h2 {
		
		margin-bottom: 6.5rem;
		padding-left: 0.25em;
		font-size: 5.8rem;
		line-height: 1.35;
		letter-spacing: 0.08em;

	}

	#bon .inner h2.active:after {

		transition: all 0.4s;

	}
	
	#bon .inner h2.active span {

		transition: all 0.2s 0.4s;

	}

	#bon .inner .img {

		height: 45rem;
		background-image: url('../img/bon_sp.webp');

	}

	/* 位置付け */
	#ichi {
		
		margin-bottom: 15rem;
		padding-top:    10rem;
		padding-bottom: 10rem;

	}

	#ichi .inner {

		width: 88%;
		
	}

	#ichi .inner h2 {
		
		margin-bottom: 12rem;
		font-size: 4rem;
		line-height: 1.7;
		letter-spacing: 0.06em;

	}

	#ichi .inner h2:first-letter {
		
		font-size: 1.3em;

	}

	#ichi .inner h2 span {
		
		padding-top: 0.2em;
		font-size: 5.2rem;
		line-height: 1.4;
		letter-spacing: 0.08em;

	}

	#ichi .inner h2 span:after {

		top: 3%;

	}

	#ichi .inner .txt {

		float: none;
		width: 100%;

	}

	#ichi .inner .txt p {

		font-size: 3rem;
		line-height: 1.8;
		letter-spacing: 0.08em;

	}

	#ichi .inner .txt .line1 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line2 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line3 {

		margin-bottom: 4rem;

	}

	#ichi .inner .txt .line4 {
		
		margin-bottom: 5rem;
		font-size: 8rem;
		letter-spacing: 0.2em;
		
	}

	#ichi .inner .img {

		float: none;
		width: 100%;
		transform: translateY(12rem);

	}
	
	#ichi .inner .img.active {

		transition: all 0.5s;

	}

	/* フッター */
	footer {
		
		padding-top: 6rem;
		padding-bottom: 2.5rem;
		background-position: bottom left 20%;
		background-image: url('../img/footer_sp.webp');

	}

	footer .inner .txt {
		
		float: none;
		width: 88%;
		margin: 0 auto;
		margin-top: 17.5rem;

	}

	footer .inner .txt .logo {

		width: 25rem;
		margin-bottom: 6rem;

	}

	footer .inner .txt .logo p {

		margin-top: 0.6rem;
		font-size: 2.6rem;
		letter-spacing: 0.1em;

	}

	footer .inner .txt .logo p span {

		margin-right: 0.5em;

	}

	footer .inner .txt nav {

		float: left;
		width: 29rem;

	}

	footer .inner .txt nav ul li {
		
		margin-bottom: 1.2rem;
		font-size: 2.4rem;
		line-height: 1.6;
		letter-spacing: 0.08em;

	}

	footer .inner .txt .area {
		
		float: left;

	}

	footer .inner .txt .area table tr th, footer .inner .txt .area table tr td {
		
		padding-bottom: 1rem;
		font-size: 2.4rem;
		letter-spacing: 0.08em;

	}

	footer .inner .txt .area table tr th {

		width: 17rem;

	}

	footer .inner .txt .area table tr td {

		line-height: 1.7;

	}

	footer small {
		
		display: block;
		margin-top: 4rem;
		text-align: center;
		font-size: 2.6rem;
		letter-spacing: 0.12em;

	}

	footer .skew {
		
		top:  0;
		left: 0;
		height: 31rem;
		height: 20rem;
		background-image: url('../img/skew.webp');

	}

	footer .skew .track {

		top:  5%;
		left: 2%;
		width: 20rem;

	}

	footer .skew .toge {

		bottom: 16%;
		left:    2%;
		width: 42rem;

	}

	footer .skew p {

		top:   4%;
		right: 2%;
		font-size: 4.4rem;
		letter-spacing: 0.12em;

	}

}


/* Iphone12 Pro Max */
@media only screen and (max-width: 428px) {

	/* HTML */
	html {
		
		font-size: 26%;
		
	}
	
	/* トグル */
	.menu {
		
	  top:    4px;
	  right:  12px;
		
	}
	
	/* 見出し１ */
	header h1 {
		
		width: 26rem;
		margin-bottom: 1.5rem;
		margin-left: 2rem;
		line-height: 0.8;

	}

	header h1 .logo {
		
		margin-bottom: 1.2rem;

	}

	header h1 .line1 {
		
		font-size: 2.5rem;

	}

	header .addr {
		
		float: left;
		margin-top: 5rem;
		margin-left: 3.5rem;
		font-size: 2.2rem;
		letter-spacing: 0.08em;

	}

	/* ナビ */
	header nav ul.main_navi {
	
		width: 75%;
	
	}

	header nav ul.main_navi li {
		
		margin-bottom: 4rem;
		font-size: 4.5rem;
		line-height: 1.4;
		letter-spacing: 0.06em;

	}
	
	header nav ul.main_navi li .two {
	
		margin-left: 3.5rem;
	
	}

	header nav .office {
		
		width: 75%;
		font-size: 1.8rem;
		line-height: 1.7;
		letter-spacing: 0.08em;

	}

	header nav .office .tel .icon {

		width: 1.2rem;
		margin-right: 0.9rem;
		transform: translateY(-0.7rem);

	}

	header nav .office .line {

		padding-bottom: 0.2rem;

	}

	header nav .office .down {
		
		margin-bottom: 1.4rem;
		text-align: left;
		font-size: 3.5rem;
		letter-spacing: 0.08em;

	}

	header nav .office .area_navi li {
		
		font-size: 4.5rem;
		line-height: 1.2;
		letter-spacing: 0.14em;

	}

	header nav .office .area_navi li .ar {
		
		margin-right: 2rem;
		letter-spacing: 0.08em;

	}

	/* メイン画像 */
	.mainimg {
		
		height: 80rem;
		margin-top: 10.2rem;

	}

	.mainimg .img {

		width: 78%;
		height: 54rem;

	}

	.mainimg .catch1 {

		top:  8%;
		left: 6.5%;
		width: 1.3em;
		width: 1.4em;
		padding: 0.08em 0;
		padding-left: 0.05em;
		font-size: 5.4rem;
		line-height: 1.2;
		
	}

	.mainimg .catch2 {

		left:   1.5%;
		bottom: 4.5%;
		width: 94%;
		height: 5rem;

	}

	.mainimg .catch2 .txt {
		
		width: 66.7%;

	}

	.mainimg .catch2 .arrow {

		top:   7%;
		right: 0;
		width: 29.5%;

	}

	.mainimg .catch3 {

		right:  4%;
		bottom: 14%;
		width: 25%;

	}

	.mainimg .line {

		left:   10%;
		bottom: 13%;
		height: 20rem;

	}
	
	/* ご挨拶 */
	#greeting {
		
		padding-top:    15rem;
		padding-bottom: 10rem;

	}

	#greeting .inner {

		width: 88%;

	}

	#greeting .inner .txt p {

		font-size: 2.8rem;
		line-height: 1.9;
		letter-spacing: 0.08em;

	}

	#greeting .inner .txt .line1 {

		letter-spacing: 0.08em;

	}

	#greeting .inner .txt .line2 {

		margin-top:    3.5rem;
		margin-bottom: 5.3rem;
		
	}

	#greeting .inner .txt .line3 {
		
		margin-bottom: 1.5rem;
		padding: 0.2em;
		font-size: 4.2rem;
		line-height: 1.2;
		letter-spacing: 0.06em;

	}

	#greeting .inner .txt .line4 {
		
		font-size: 2.4rem;
		letter-spacing: 0.06em;

	}

	#greeting .inner .txt .line4 span {

		margin-left: 1em;

	}

	#greeting .track {

		top:  18%;
		left: 45%;
		width: 50%;

	}

	/* 3s */ 
	#threes {
		
		padding-top:    12rem;
		padding-bottom: 12rem;

	}

	#threes .inner {
		
		width: 88%;

	}

	#threes .inner p {

		font-size: 2.6rem;
		line-height: 2;
		letter-spacing: 0.08em;

	}

	#threes .inner p span {

		font-size: 1.5em;
		letter-spacing: 0.08em;

	}

	#threes .inner .line1 {

		margin-bottom: 1rem;
		
	}

	#threes .inner .line2 {

		margin-bottom: 3.5rem;

	}

	#threes .inner .line3 {
		
		margin-bottom: 2.7rem;
		line-height: 2;

	}

	#threes .inner .line4 {
		
		margin-bottom: 38rem;

	}

	#threes .inner .ara {

		width: 52%;
		transform: translateY(-18rem);

	}

	#threes .inner .three_img {

		right:  -2%;
		bottom: 0%;
		width: 45%;

	}

	/* 盆踊り */
	#bon {

		padding-top:    15rem;
		padding-bottom: 15rem;

	}

	#bon:after {

		height: 64.5%;

	}

	#bon .inner {
		
		float: right;
		width: 94%;

	}

	#bon .inner h2 {
		
		margin-bottom: 6.5rem;
		padding-left: 0.25em;
		font-size: 5.8rem;
		line-height: 1.35;
		letter-spacing: 0.06em;

	}

	#bon .inner .img {

		height: 42rem;

	}

	/* 位置付け */
	#ichi {
		
		margin-bottom: 15rem;
		padding-top:    10rem;
		padding-bottom: 10rem;

	}

	#ichi .inner {

		width: 88%;
		
	}

	#ichi .inner h2 {
		
		margin-bottom: 12rem;
		font-size: 4rem;
		line-height: 1.7;
		letter-spacing: 0.04em;
		white-space: nowrap;

	}

	#ichi .inner h2:first-letter {
		
		font-size: 1.3em;

	}

	#ichi .inner h2 span {
		
		padding-top: 0.2em;
		font-size: 5.2rem;
		line-height: 1.4;
		letter-spacing: 0.06em;
		white-space: normal;

	}

	#ichi .inner h2 span:after {

		top: 3%;

	}

	#ichi .inner .txt {

		float: none;
		width: 100%;

	}

	#ichi .inner .txt p {

		font-size: 2.8rem;
		line-height: 1.8;
		letter-spacing: 0.08em;

	}

	#ichi .inner .txt .line1 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line2 {

		margin-bottom: 2rem;

	}

	#ichi .inner .txt .line3 {

		margin-bottom: 4rem;

	}

	#ichi .inner .txt .line4 {
		
		margin-bottom: 5rem;
		font-size: 8rem;
		letter-spacing: 0.2em;
		
	}

	/* フッター */
	footer {
		
		padding-top: 4rem;
		padding-bottom: 2.5rem;

	}

	footer .inner .txt {
		
		float: none;
		width: 88%;
		margin: 0 auto;
		margin-top: 17.5rem;

	}

	footer .inner .txt .logo {

		width: 25rem;
		margin-bottom: 5rem;

	}

	footer .inner .txt .logo p {

		margin-top: 0.6rem;
		font-size: 2.6rem;
		letter-spacing: 0.1em;

	}

	footer .inner .txt .logo p span {

		margin-right: 0.5em;

	}

	footer .inner .txt nav {

		float: none;
		width: 100%;
		margin-bottom: 6rem;

	}

	footer .inner .txt nav ul li {
		
		margin-bottom: 1.2rem;
		font-size: 2.8rem;
		line-height: 1.6;
		letter-spacing: 0.08em;

	}
	
	footer .inner .txt nav ul li br {
	
		display: none;
	
	}
	
	footer .inner .txt nav ul li .two {
	
		display: inline-block;
		margin-left: 3rem;
	
	}

	footer .inner .txt .area {
		
		float: left;

	}

	footer .inner .txt .area table tr th, footer .inner .txt .area table tr td {
		
		padding-bottom: 1rem;
		font-size: 2.8rem;
		letter-spacing: 0.08em;

	}

	footer .inner .txt .area table tr th {

		width: 20rem;

	}

	footer .inner .txt .area table tr td {

		line-height: 1.7;

	}

	footer small {
		
		margin-top: 3rem;
		font-size: 2.6rem;
		letter-spacing: 0.1em;

	}

	footer .skew {
		
		height: 18rem;

	}

	footer .skew .track {

		top:  5%;
		left: 2%;
		width: 18rem;

	}

	footer .skew .toge {

		bottom: 14%;
		left:    2%;
		width: 41rem;

	}

	footer .skew p {

		top:   3%;
		right: 2%;
		font-size: 3.8rem;
		letter-spacing: 0.1em;

	}

}


/* iPhonePlus */
@media only screen and (max-width: 414px) {

	/* HTML */
	html {
		
		font-size: 25%;
		
	}
	
	/* 改行 */
	.sp_break3 {
	
		display: none;
	
	}
	
	/* ナビ */
	header nav ul.main_navi {
	
		width: 82%;
	
	}
	
	header nav .office {
		
		width: 82%;

	}

}


/* iPhone12 Pro */
@media only screen and (max-width: 390px) {



}


/* iPhone8 */
@media only screen and (max-width: 375px) {

	#greeting .inner .txt .line3 {
		
		font-size: 3.9rem;

	}
	
	#threes .inner p span {

		font-size: 1.4em;
		letter-spacing: 0.06em;

	}
	
	#bon .inner h2 {
		
		font-size: 5.6rem;
		letter-spacing: 0.06em;

	}
	
	#ichi .inner h2 {
		
		font-size: 4rem;
		letter-spacing: 0.02em;

	}
	
	#ichi .inner h2 span {
		
		font-size: 5.2rem;
		letter-spacing: 0.2em;

	}

}


/* Galaxy */
@media only screen and (max-width: 360px) {



}


/* iPhone5 */
@media only screen and (max-width: 320px) {

	/* HTML */
	html {
		
		font-size: 22%;
		
	}
	
	/* トグル */
	.menu {
		
	  top:    4px;
	  right:  2px;
		
	}
	
	header .addr {
		
		margin-left: 2.6rem;
		font-size: 2.2rem;
		letter-spacing: 0.06em;

	}

}